From af2195916917cae3c9a54c4d7abf9ca700503bb4 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Wed, 17 Mar 2021 02:30:46 +0000 Subject: bmcweb: srcrev bump d8ef9915dd..7ea79e5e15 Johnathan Mantey (1): Force HostName property to be read-only per the schema Ravi Teja (1): Fix IPv6DefaultGateway validator warnings Xiaochao Ma (1): Redfish: Implement new event log propety Resolved Change-Id: I3133ced053bad67106461feffe6a42cc41942697 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb b/meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb index d13af80a4..320da2e14 100644 --- a/meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb +++ b/meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb @@ -13,7 +13,7 @@ LIC_FILES_CHKSUM = "file://LICENCE;md5=a6a4edad4aed50f39a66d098d74b265b" SRC_URI = "git://github.com/openbmc/bmcweb.git" PV = "1.0+git${SRCPV}" -SRCREV = "d8ef9915dda4d2e3b7aec885ebfa7debce61bff8" +SRCREV = "7ea79e5e15814eb8566f3e6799f2d7eee23527a6" S = "${WORKDIR}/git" -- cgit v1.2.3 From 320a2684ca92f35d1618ecbdab81268979da7514 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Tue, 16 Mar 2021 21:21:24 +0000 Subject: phosphor-host-ipmid: srcrev bump be0632321e..3b7a4078ee Johnathan Mantey (1): Correct the IPv6 Router Address Configuration command Change-Id: I5eaddaebaac052b6320441f4bd351661ba53055d Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host.inc b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host.inc index 9ea92101d..62b93f278 100644 --- a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host.inc +++ b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host.inc @@ -2,4 +2,4 @@ HOMEPAGE = "http://github.com/openbmc/phosphor-host-ipmid" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=fa818a259cbed7ce8bc2a22d35a464fc" SRC_URI += "git://github.com/openbmc/phosphor-host-ipmid" -SRCREV = "be0632321e2a0f4fbe7b0e9c1403121c4db37328" +SRCREV = "3b7a4078ee2ab814b9cfa2134134328e287eff2c" -- cgit v1.2.3 From 51cd701efab641fe4317e3e9662a98e52b056bba Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Wed, 17 Mar 2021 02:11:26 +0000 Subject: webui-vue: srcrev bump 7006806d21..0beb0f98cf MichalX Szopinski (1): Show Security settings tab on Intel environment Change-Id: I5c41e187f0327b50f402593ff697353cd85d90eb Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/webui/webui-vue_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/webui/webui-vue_git.bb b/meta-phosphor/recipes-phosphor/webui/webui-vue_git.bb index f03efc473..c75310a5f 100644 --- a/meta-phosphor/recipes-phosphor/webui/webui-vue_git.bb +++ b/meta-phosphor/recipes-phosphor/webui/webui-vue_git.bb @@ -6,7 +6,7 @@ LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" SRC_URI = "git://github.com/openbmc/webui-vue.git" -SRCREV = "7006806d21cf8d13666524a8124b8395f2f1e156" +SRCREV = "0beb0f98cf738ce0c9697c53d607719167546b2c" S = "${WORKDIR}/git" DEPENDS_prepend = "nodejs-native " -- cgit v1.2.3 From 2290c0969089cc0094e231b65a37aaf3060edaff Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Wed, 17 Mar 2021 03:40:29 +0000 Subject: phosphor-networkd: srcrev bump a5a0944ccb..c14b4b30c5 Ravi Teja (1): Fix [route] statement Change-Id: Idd62262e90f8651e857e59ed0318c3787b302f7f Signed-off-by: Andrew Geissler --- meta-phosphor/classes/phosphor-networkd-rev.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/classes/phosphor-networkd-rev.bbclass b/meta-phosphor/classes/phosphor-networkd-rev.bbclass index eb4e915a0..34a019c23 100644 --- a/meta-phosphor/classes/phosphor-networkd-rev.bbclass +++ b/meta-phosphor/classes/phosphor-networkd-rev.bbclass @@ -1,2 +1,2 @@ SRC_URI += "git://github.com/openbmc/phosphor-networkd" -SRCREV = "a5a0944ccb8d925d6d83897b1e2397e85564ea1e" +SRCREV = "c14b4b30c51c5c0cfabaf23490affd0947aa3d90" -- cgit v1.2.3 From 50a5d06c8a51b350008aa7007c20c71e3dbf04d6 Mon Sep 17 00:00:00 2001 From: George Hung Date: Wed, 17 Mar 2021 21:14:59 +0800 Subject: meta-quanta: gbs: fix the service restart config error Specify the Restart as on-failure to fix the config error Signed-off-by: George Hung Change-Id: I39e9e4d79e36f1222a3e54c12702b9b8b0ee56fa --- .../meta-gbs/recipes-gbs/boot-status-led/files/boot-status-led.service | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-quanta/meta-gbs/recipes-gbs/boot-status-led/files/boot-status-led.service b/meta-quanta/meta-gbs/recipes-gbs/boot-status-led/files/boot-status-led.service index ea44dda2d..ab4622efa 100644 --- a/meta-quanta/meta-gbs/recipes-gbs/boot-status-led/files/boot-status-led.service +++ b/meta-quanta/meta-gbs/recipes-gbs/boot-status-led/files/boot-status-led.service @@ -7,7 +7,7 @@ Wants=xyz.openbmc_project.LED.GroupManager.service ExecStart=/usr/bin/boot-status-led.sh StandardOutput=syslog Type=simple -Restart=yes +Restart=on-failure [Install] WantedBy=multi-user.target -- cgit v1.2.3 From 1019776111e455077be02bcfb381873c5749e55f Mon Sep 17 00:00:00 2001 From: Chanh Nguyen Date: Thu, 18 Mar 2021 00:06:08 +0700 Subject: meta-ampere:u-boot: Add GPIO configuration for DVT boards Mt.Jade DVT hardware requires some GPIO setting so that the board can work well. This commit updates platform init function in u-boot to set required GPIO pins. Tested: 1. Verify below GPIOs set as input in Linux: - S0_I2C9_ALERT_L (GPIOM4) - S1_I2C9_ALERT_L (GPIOM5) - GPIO_BMC_VGA_FRONT_PRES_L (GPIOQ7) - GPIO_BMC_EXT_HIGHTEMP_L - GPIO_S0_VRHOT_L - GPIO_S1_VRHOT_L - GPIO_BMC_PCA9554_INT_L 2. verify below GPIOs set as output high in Linux - GPIO_BMC_I2C6_RESET_L - GPIO_BMC_JTAG_SRST_L - GPIO_BMC_VR_PMBUS_SEL_L - BMC_GPIOR2_EXT_HIGHTEMP_L - BMC_VGA_SEL Signed-off-by: Thang Q. Nguyen Signed-off-by: Chanh Nguyen Change-Id: I8b76387ec05c546c34c89f6f5881da3b7955a805 --- ...0006-aspeed-support-Mt.Jade-platform-init.patch | 175 +++++++++++++++++++++ .../recipes-bsp/u-boot/u-boot-aspeed_%.bbappend | 1 + 2 files changed, 176 insertions(+) create mode 100644 meta-ampere/meta-jade/recipes-bsp/u-boot/u-boot-aspeed/0006-aspeed-support-Mt.Jade-platform-init.patch diff --git a/meta-ampere/meta-jade/recipes-bsp/u-boot/u-boot-aspeed/0006-aspeed-support-Mt.Jade-platform-init.patch b/meta-ampere/meta-jade/recipes-bsp/u-boot/u-boot-aspeed/0006-aspeed-support-Mt.Jade-platform-init.patch new file mode 100644 index 000000000..02a478362 --- /dev/null +++ b/meta-ampere/meta-jade/recipes-bsp/u-boot/u-boot-aspeed/0006-aspeed-support-Mt.Jade-platform-init.patch @@ -0,0 +1,175 @@ +From 2c9ab641f2a7ea146a468ec4301c416010badff7 Mon Sep 17 00:00:00 2001 +From: Chanh Nguyen +Date: Wed, 17 Mar 2021 14:11:18 +0700 +Subject: [PATCH] aspeed: support Mt.Jade platform init + +This commit adds platform init for Mt.Jade platform. + +Signed-off-by: Thang Q. Nguyen +Signed-off-by: Chanh Nguyen +--- + arch/arm/include/asm/arch-aspeed/ast_scu.h | 1 + + arch/arm/include/asm/arch-aspeed/regs-scu.h | 4 ++ + arch/arm/mach-aspeed/ast-scu.c | 18 +++++ + board/aspeed/ast-g5/ast-g5.c | 76 +++++++++++++++++++++ + include/configs/ast-g5-phy.h | 3 + + 5 files changed, 102 insertions(+) + +diff --git a/arch/arm/include/asm/arch-aspeed/ast_scu.h b/arch/arm/include/asm/arch-aspeed/ast_scu.h +index f5c9126ec0..e2d06ccc1f 100644 +--- a/arch/arm/include/asm/arch-aspeed/ast_scu.h ++++ b/arch/arm/include/asm/arch-aspeed/ast_scu.h +@@ -46,5 +46,6 @@ extern void ast_scu_init_eth(u8 num); + extern void ast_scu_multi_func_eth(u8 num); + extern void ast_scu_multi_func_romcs(u8 num); + extern void ast_scu_switch_pwm_to_gpio_mode(void); ++extern void ast_scu_switch_espi_to_gpio_mode(void); + + #endif +diff --git a/arch/arm/include/asm/arch-aspeed/regs-scu.h b/arch/arm/include/asm/arch-aspeed/regs-scu.h +index b714fa9234..704ad75b4e 100644 +--- a/arch/arm/include/asm/arch-aspeed/regs-scu.h ++++ b/arch/arm/include/asm/arch-aspeed/regs-scu.h +@@ -76,6 +76,7 @@ + #define AST_SCU_FUN_PIN_CTRL7 0xA0 /* Multi-function Pin Control#7*/ + #define AST_SCU_FUN_PIN_CTRL8 0xA4 /* Multi-function Pin Control#8*/ + #define AST_SCU_FUN_PIN_CTRL9 0xA8 /* Multi-function Pin Control#9*/ ++#define AST_SCU_FUN_PIN_CTRL10 0xAC /* Multi-function Pin Control#10*/ + #define AST_SCU_MAC_CLK_DELAY_100M 0xB8 /* MAC interface clock delay 100M setting*/ + #define AST_SCU_MAC_CLK_DELAY_10M 0xBC /* MAC interface clock delay 10M setting*/ + #define AST_SCU_PWR_SAVING_EN 0xC0 /* Power Saving Wakeup Enable*/ +@@ -921,6 +922,9 @@ + #define SCU_FUN_PIN_ROMA19 (0x1 << 1) + #define SCU_FUN_PIN_ROMA18 (0x1) + ++/* AST_SCU_FUN_PIN_CTRL10 0xAC - Multi-function Pin Control#10 */ ++#define SCU_FUN_PIN_ESPI(x) (0x1 << (x)) ++ + /* AST_SCU_PWR_SAVING_EN 0xC0 - Power Saving Wakeup Enable */ + /* AST_SCU_PWR_SAVING_CTRL 0xC4 - Power Saving Wakeup Control */ + /* AST_SCU_HW_STRAP2 0xD0 - Haardware strapping register set 2 */ +diff --git a/arch/arm/mach-aspeed/ast-scu.c b/arch/arm/mach-aspeed/ast-scu.c +index c7ab66415f..71c043d3e8 100644 +--- a/arch/arm/mach-aspeed/ast-scu.c ++++ b/arch/arm/mach-aspeed/ast-scu.c +@@ -554,3 +554,21 @@ void ast_scu_get_who_init_dram(void) + break; + } + } ++ ++void ast_scu_switch_espi_to_gpio_mode(void) ++{ ++ /* ++ * This Function to set the ESPI pin to GPIO mode ++ * This allow to setting AC5_READY ++ */ ++ ast_scu_write(ast_scu_read(AST_SCU_FUN_PIN_CTRL10) & ++ ~SCU_FUN_PIN_ESPI(0) & ++ ~SCU_FUN_PIN_ESPI(1) & ++ ~SCU_FUN_PIN_ESPI(2) & ++ ~SCU_FUN_PIN_ESPI(3) & ++ ~SCU_FUN_PIN_ESPI(4) & ++ ~SCU_FUN_PIN_ESPI(5) & ++ ~SCU_FUN_PIN_ESPI(6) & ++ ~SCU_FUN_PIN_ESPI(7), ++ AST_SCU_FUN_PIN_CTRL10); ++} +diff --git a/board/aspeed/ast-g5/ast-g5.c b/board/aspeed/ast-g5/ast-g5.c +index ed83d65136..edf7f050a8 100644 +--- a/board/aspeed/ast-g5/ast-g5.c ++++ b/board/aspeed/ast-g5/ast-g5.c +@@ -163,3 +163,79 @@ void hw_watchdog_reset(void) + writel(0x4755, AST_WDT2_BASE + 0x08); + } + #endif /* CONFIG_WATCHDOG */ ++ ++#ifdef CONFIG_BOARD_EARLY_INIT_F ++int board_gpio_init(void) ++{ ++ int pgood = 0; ++ ++ /* GPIO_BMC_PSU_PG */ ++ pgood = gpio_get_value(44); ++ /* GPIO_BMC_OCP_AUX_PWREN */ ++ gpio_direction_output(139, 1); ++ ++ if (pgood) ++ { ++ /* GPIO_BMC_SYS_ATX_PSON_L */ ++ gpio_direction_output(42, 0); ++ /* GPIO_BMC_OCP_MAIN_PWREN */ ++ gpio_direction_output(140, 1); ++ } ++ else ++ { ++ /* GPIO_BMC_SYS_ATX_PSON_L */ ++ gpio_direction_output(42, 1); ++ /* GPIO_BMC_OCP_MAIN_PWREN */ ++ gpio_direction_output(140, 0); ++ } ++ ++ /* GPIOH7 GPIO_BMC_I2C6_RESET_L */ ++ gpio_direction_output(63, 1); ++ ++ /* GPIOM4 S0_I2C9_ALERT_L */ ++ gpio_direction_input(100); ++ ++ /* GPIOM5 S1_I2C9_ALERT_L */ ++ gpio_direction_input(101); ++ ++ /* GPIOQ7 GPIO_BMC_VGA_FRONT_PRES_L */ ++ gpio_direction_input(135); ++ ++ /* GPIOR1 GPIO_BMC_JTAG_SRST_L */ ++ gpio_direction_output(137, 1); ++ ++ /* BMC_GPIOR2_EXT_HIGHTEMP_L */ ++ gpio_direction_output(138, 1); ++ ++ /* GPIOS0 GPIO_S0_VRHOT_L */ ++ gpio_direction_input(144); ++ ++ /* GPIOS1 GPIO_S1_VRHOT_L */ ++ gpio_direction_input(145); ++ ++ /* GPIOS5 GPIO_BMC_VR_PMBUS_SEL_L */ ++ gpio_direction_output(149, 1); ++ ++ /* GPIOY3 BMC_VGA_SEL */ ++ gpio_direction_output(195, 1); ++ ++ /* GPIOAC1 GPIO_BMC_PCA9554_INT_L */ ++ gpio_direction_input(225); ++ ++ /* GPIO_BMC_READY */ ++ gpio_direction_output(229, 1); ++ ++ /* Enable I2C4 device access */ ++ gpio_direction_output(194, 1); ++ ++ return 0; ++} ++ ++int board_early_init_f(void) ++{ ++ ast_scu_switch_espi_to_gpio_mode(); ++ board_gpio_init(); ++ ++ return 0; ++} ++#endif /* CONFIG_BOARD_EARLY_INIT_F */ +diff --git a/include/configs/ast-g5-phy.h b/include/configs/ast-g5-phy.h +index ea7c66716a..a5e389616b 100644 +--- a/include/configs/ast-g5-phy.h ++++ b/include/configs/ast-g5-phy.h +@@ -34,4 +34,7 @@ + #define CONFIG_BOARD_LATE_INIT 1 + #define CONFIG_CMD_GPIO 1 /* Enable gpio command in shell */ + ++/* Call board_early_init_f */ ++#define CONFIG_BOARD_EARLY_INIT_F 1 ++ + #endif /* __AST_G5_PHY_CONFIG_H */ +-- +2.17.1 + diff --git a/meta-ampere/meta-jade/recipes-bsp/u-boot/u-boot-aspeed_%.bbappend b/meta-ampere/meta-jade/recipes-bsp/u-boot/u-boot-aspeed_%.bbappend index 0febf924d..5fbc69f2d 100644 --- a/meta-ampere/meta-jade/recipes-bsp/u-boot/u-boot-aspeed_%.bbappend +++ b/meta-ampere/meta-jade/recipes-bsp/u-boot/u-boot-aspeed_%.bbappend @@ -6,4 +6,5 @@ SRC_URI += " \ file://0003-aspeed-support-passing-system-reset-status-to-kernel.patch \ file://0004-aspeed-add-gpio-support.patch \ file://0005-aspeed-Enable-SPI-master-mode.patch \ + file://0006-aspeed-support-Mt.Jade-platform-init.patch \ " -- cgit v1.2.3 From 8b0980e38dd7631f08d4aea9cc19bca650df3772 Mon Sep 17 00:00:00 2001 From: George Hung Date: Wed, 17 Mar 2021 19:32:39 +0800 Subject: meta-quanta: gbs: rename to gbs-inventory-cleanup Use a unique name for this recipe so it won't conflict Signed-off-by: George Hung Change-Id: Ie2d5d71a73288ad7b6d1d35812cb8bfc7a11e5ae --- .../recipes-phosphor/inventory/gbs-inventory-cleanup.bb | 17 +++++++++++++++++ .../gbs-inventory-cleanup/inventory-cleanup.yaml | 16 ++++++++++++++++ .../recipes-phosphor/inventory/inventory-cleanup.bb | 17 ----------------- .../inventory/inventory-cleanup/inventory-cleanup.yaml | 16 ---------------- 4 files changed, 33 insertions(+), 33 deletions(-) create mode 100644 meta-quanta/meta-gbs/recipes-phosphor/inventory/gbs-inventory-cleanup.bb create mode 100644 meta-quanta/meta-gbs/recipes-phosphor/inventory/gbs-inventory-cleanup/inventory-cleanup.yaml delete mode 100644 meta-quanta/meta-gbs/recipes-phosphor/inventory/inventory-cleanup.bb delete mode 100644 meta-quanta/meta-gbs/recipes-phosphor/inventory/inventory-cleanup/inventory-cleanup.yaml diff --git a/meta-quanta/meta-gbs/recipes-phosphor/inventory/gbs-inventory-cleanup.bb b/meta-quanta/meta-gbs/recipes-phosphor/inventory/gbs-inventory-cleanup.bb new file mode 100644 index 000000000..0c4b56f72 --- /dev/null +++ b/meta-quanta/meta-gbs/recipes-phosphor/inventory/gbs-inventory-cleanup.bb @@ -0,0 +1,17 @@ +SUMMARY = "Copy the inventory cleanup yaml for inventory manager" +PR = "r1" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10" + +inherit allarch +inherit phosphor-inventory-manager + +S = "${WORKDIR}" + +SRC_URI = "file://inventory-cleanup.yaml" + +do_install() { + install -D inventory-cleanup.yaml ${D}${base_datadir}/events.d/inventory-cleanup.yaml +} + +FILES_${PN} += "${base_datadir}/events.d/inventory-cleanup.yaml" diff --git a/meta-quanta/meta-gbs/recipes-phosphor/inventory/gbs-inventory-cleanup/inventory-cleanup.yaml b/meta-quanta/meta-gbs/recipes-phosphor/inventory/gbs-inventory-cleanup/inventory-cleanup.yaml new file mode 100644 index 000000000..78e03fee0 --- /dev/null +++ b/meta-quanta/meta-gbs/recipes-phosphor/inventory/gbs-inventory-cleanup/inventory-cleanup.yaml @@ -0,0 +1,16 @@ +description: > + GBS inventory fixups + +events: + - name: Add Chassis interface + description: > + Add the chassis interface on the chassis inventory path + type: startup + actions: + - name: createObjects + objs: + /system/chassis: + xyz.openbmc_project.Inventory.Item.Chassis: + Type: + value: "RackMount" + type: string diff --git a/meta-quanta/meta-gbs/recipes-phosphor/inventory/inventory-cleanup.bb b/meta-quanta/meta-gbs/recipes-phosphor/inventory/inventory-cleanup.bb deleted file mode 100644 index 0c4b56f72..000000000 --- a/meta-quanta/meta-gbs/recipes-phosphor/inventory/inventory-cleanup.bb +++ /dev/null @@ -1,17 +0,0 @@ -SUMMARY = "Copy the inventory cleanup yaml for inventory manager" -PR = "r1" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10" - -inherit allarch -inherit phosphor-inventory-manager - -S = "${WORKDIR}" - -SRC_URI = "file://inventory-cleanup.yaml" - -do_install() { - install -D inventory-cleanup.yaml ${D}${base_datadir}/events.d/inventory-cleanup.yaml -} - -FILES_${PN} += "${base_datadir}/events.d/inventory-cleanup.yaml" diff --git a/meta-quanta/meta-gbs/recipes-phosphor/inventory/inventory-cleanup/inventory-cleanup.yaml b/meta-quanta/meta-gbs/recipes-phosphor/inventory/inventory-cleanup/inventory-cleanup.yaml deleted file mode 100644 index 78e03fee0..000000000 --- a/meta-quanta/meta-gbs/recipes-phosphor/inventory/inventory-cleanup/inventory-cleanup.yaml +++ /dev/null @@ -1,16 +0,0 @@ -description: > - GBS inventory fixups - -events: - - name: Add Chassis interface - description: > - Add the chassis interface on the chassis inventory path - type: startup - actions: - - name: createObjects - objs: - /system/chassis: - xyz.openbmc_project.Inventory.Item.Chassis: - Type: - value: "RackMount" - type: string -- cgit v1.2.3 From 3236173d6205cb2178820f151fbd41ba592042bf Mon Sep 17 00:00:00 2001 From: George Hung Date: Wed, 17 Mar 2021 20:20:38 +0800 Subject: meta-quanta: gbs: add retry when LED manager service start failed Sometimes LED manager service will get sdbus "the name is not activatable" error for the first start, so add retry 10 times to make sure the service start successfully Signed-off-by: George Hung Change-Id: Ic9e429bca70cae3272547de6f8c8f96df0d02a9c --- .../recipes-phosphor/leds/phosphor-led-manager/service-override.conf | 2 ++ .../meta-gbs/recipes-phosphor/leds/phosphor-led-manager_%.bbappend | 5 +++++ 2 files changed, 7 insertions(+) create mode 100644 meta-quanta/meta-gbs/recipes-phosphor/leds/phosphor-led-manager/service-override.conf create mode 100644 meta-quanta/meta-gbs/recipes-phosphor/leds/phosphor-led-manager_%.bbappend diff --git a/meta-quanta/meta-gbs/recipes-phosphor/leds/phosphor-led-manager/service-override.conf b/meta-quanta/meta-gbs/recipes-phosphor/leds/phosphor-led-manager/service-override.conf new file mode 100644 index 000000000..0f4083416 --- /dev/null +++ b/meta-quanta/meta-gbs/recipes-phosphor/leds/phosphor-led-manager/service-override.conf @@ -0,0 +1,2 @@ +[Unit] +StartLimitBurst=10 diff --git a/meta-quanta/meta-gbs/recipes-phosphor/leds/phosphor-led-manager_%.bbappend b/meta-quanta/meta-gbs/recipes-phosphor/leds/phosphor-led-manager_%.bbappend new file mode 100644 index 000000000..a7ec24f41 --- /dev/null +++ b/meta-quanta/meta-gbs/recipes-phosphor/leds/phosphor-led-manager_%.bbappend @@ -0,0 +1,5 @@ +FILESEXTRAPATHS_prepend_gbs := "${THISDIR}/${PN}:" +SRC_URI_append_gbs = " file://service-override.conf" + +SYSTEMD_OVERRIDE_${PN}-ledmanager_append_gbs = " \ + service-override.conf:xyz.openbmc_project.LED.GroupManager.service.d/service-override.conf" -- cgit v1.2.3 From e942e12bb39706c62397b92a16b713cbe13e7189 Mon Sep 17 00:00:00 2001 From: Adriana Kobylak Date: Fri, 19 Mar 2021 01:45:06 +0000 Subject: software-manager-mmc: Use zstd-bin instead of zstd With openbmc commit 97771a3: "meta-openembedded: subtree update:7206f7f5bc..98175fd0cc", the zstd package was split into libraries and binary: Sean Nyekjaer (3): zstd: split bin into separate package This change added an "inherit lib_package" to the zstd recipe which creates a separate ${PN}-bin package. Therefore, need to use zstd-bin to include the binary. No need to keep zstd since the libraries are not needed for code update to extract the image files. Tested: Verified the zstd binary existed in the rootfs and code update was successful in Rainier. Change-Id: I379ec2b0d85090df5183e3581bc88384eaf4dbc6 Signed-off-by: Adriana Kobylak --- meta-phosphor/classes/phosphor-software-manager-mmc.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/classes/phosphor-software-manager-mmc.bbclass b/meta-phosphor/classes/phosphor-software-manager-mmc.bbclass index f30f0c04f..d4eb381fc 100644 --- a/meta-phosphor/classes/phosphor-software-manager-mmc.bbclass +++ b/meta-phosphor/classes/phosphor-software-manager-mmc.bbclass @@ -9,7 +9,7 @@ EXTRA_OEMESON += "-Doptional-images='image-hostfw'" RDEPENDS_phosphor-software-manager-updater-mmc += " \ gptfdisk \ parted \ - zstd \ + zstd-bin \ " SYSTEMD_SERVICE_phosphor-software-manager-updater-mmc += " \ -- cgit v1.2.3 From bc63f797465f381054fce0fc00dd788a55f71bc9 Mon Sep 17 00:00:00 2001 From: Sui Chen Date: Wed, 17 Mar 2021 17:10:55 -0700 Subject: recipes-google: Add metrics-ipmi-blobs metrics-ipmi-blobs provides a set of BMC health info through an IPMI blob. Tested: After adding the meta-google layer, the recipe "metrics-ipmi-blobs" shows up in `bitbake-layers show-recipes`. Change-Id: I0239644c16cecdf9a959b646bbab570737d4ee15 Signed-off-by: Sui Chen --- .../recipes-google/ipmi/metrics-ipmi-blobs_git.bb | 28 ++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 meta-google/recipes-google/ipmi/metrics-ipmi-blobs_git.bb diff --git a/meta-google/recipes-google/ipmi/metrics-ipmi-blobs_git.bb b/meta-google/recipes-google/ipmi/metrics-ipmi-blobs_git.bb new file mode 100644 index 000000000..86ab7cc73 --- /dev/null +++ b/meta-google/recipes-google/ipmi/metrics-ipmi-blobs_git.bb @@ -0,0 +1,28 @@ +HOMEPAGE = "http://github.com/openbmc/google-misc" +SUMMARY = "gBMC Health Metrics Blob" +DESCRIPTION = "BMC health metrics IPMI blob handler." +PR = "r1" +PV = "0.1+git${SRCPV}" +LICENSE = "Apache-2.0" + +inherit meson pkgconfig + +DEPENDS += "phosphor-ipmi-blobs" +DEPENDS += "phosphor-logging" +DEPENDS += "protobuf-native" +DEPENDS += "protobuf" + +SRC_URI = "git://github.com/openbmc/google-misc" +SRCREV = "3f43b7eebe17c96c13643018c927f38c0a071868" +S = "${WORKDIR}/git/metrics-ipmi-blobs" + +FILES_${PN} += "${libdir}/ipmid-providers/libmetricsblob.so*" +FILES_${PN} += "${libdir}/blob-ipmid/libmetricsblob.so*" +INSANE_SKIP_${PN} += "dev-so" + +BLOBIPMI_PROVIDER_LIBRARY += "libmetricsblob.so" + +do_install_append() { + install -d ${D}/${libdir}/blob-ipmid + ln -s ../ipmid-providers/libmetricsblob.so ${D}/${libdir}/blob-ipmid/libmetricsblob.so.0 +} -- cgit v1.2.3 From a299b63a67b89251591878697deabfce31cd6a91 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Thu, 18 Mar 2021 08:40:28 +0000 Subject: google-misc: srcrev bump 15fe169d1f..1285115c16 William A. Kennington III (1): meson: Fix build with 0.57.1 Change-Id: Ie3cdfdbc7a2e83bed6ab8063de2b12b05327c256 Signed-off-by: Andrew Geissler --- .../acpi-power-state-daemon/acpi-power-state-daemon_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-google/recipes-google/acpi-power-state-daemon/acpi-power-state-daemon_git.bb b/meta-google/recipes-google/acpi-power-state-daemon/acpi-power-state-daemon_git.bb index bf26a8c07..4e27309de 100644 --- a/meta-google/recipes-google/acpi-power-state-daemon/acpi-power-state-daemon_git.bb +++ b/meta-google/recipes-google/acpi-power-state-daemon/acpi-power-state-daemon_git.bb @@ -8,7 +8,7 @@ LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://../LICENSE;md5=34400b68072d710fecd0a2940a0d1658" SRC_URI += "git://github.com/openbmc/google-misc" -SRCREV = "15fe169d1fbdd510bb9cfc9bb725baf0613350ff" +SRCREV = "1285115c16180bd28a3cfe79d9db8d10c84fe2ed" S = "${WORKDIR}/git/acpi-power-state-daemon" inherit meson -- cgit v1.2.3 From e1631ac78ab56fee2c873ba7e763b0faaf3c6dbe Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Thu, 18 Mar 2021 08:40:38 +0000 Subject: google-misc: srcrev bump 15fe169d1f..1285115c16 William A. Kennington III (1): meson: Fix build with 0.57.1 Change-Id: I6b08157a77b2dbd2ce589a1f9fd4b8287890c92e Signed-off-by: Andrew Geissler --- meta-google/recipes-google/ncsi/ncsid_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-google/recipes-google/ncsi/ncsid_git.bb b/meta-google/recipes-google/ncsi/ncsid_git.bb index de5eb6e5b..4972ce854 100644 --- a/meta-google/recipes-google/ncsi/ncsid_git.bb +++ b/meta-google/recipes-google/ncsi/ncsid_git.bb @@ -8,7 +8,7 @@ LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://../LICENSE;md5=34400b68072d710fecd0a2940a0d1658" SRC_URI += "git://github.com/openbmc/google-misc" -SRCREV = "15fe169d1fbdd510bb9cfc9bb725baf0613350ff" +SRCREV = "1285115c16180bd28a3cfe79d9db8d10c84fe2ed" S = "${WORKDIR}/git/ncsid" inherit meson systemd -- cgit v1.2.3 From 4ab61a10f621e4f6c055dabbb55bb947ac0f59dc Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Wed, 17 Mar 2021 21:31:29 +0000 Subject: phosphor-state-manager: srcrev bump 35ca2e34cd..a59fca489e Andrew Geissler (1): reduce scheduled host transition logging Change-Id: Ib7473e024734bd1e834308bd5d50df6106700b3b Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/state/phosphor-state-manager_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/state/phosphor-state-manager_git.bb b/meta-phosphor/recipes-phosphor/state/phosphor-state-manager_git.bb index de7e5d894..f086a5645 100644 --- a/meta-phosphor/recipes-phosphor/state/phosphor-state-manager_git.bb +++ b/meta-phosphor/recipes-phosphor/state/phosphor-state-manager_git.bb @@ -180,6 +180,6 @@ SYSTEMD_LINK_${PN}-obmc-targets += "${@compose_list(d, 'FAN_LINK_FMT', 'OBMC_CHA SYSTEMD_LINK_${PN}-obmc-targets += "${@compose_list(d, 'QUIESCE_FMT', 'HOST_ERROR_TARGETS', 'OBMC_HOST_INSTANCES')}" SRC_URI += "git://github.com/openbmc/phosphor-state-manager" -SRCREV = "35ca2e34cd04b7288a5b659e4e7dcd4590056b7d" +SRCREV = "a59fca489e2239698a5653cf801ed9572f071212" S = "${WORKDIR}/git" -- cgit v1.2.3 From 6ac653044be028e221e56dff5f9b8ab7ac01a721 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Wed, 17 Mar 2021 21:51:02 +0000 Subject: phosphor-power: srcrev bump 81d6cde458..2f1b7ba6a1 Shawn McCarney (3): regulators: Add more info to PMBusError regulators: Add info to WriteVerificationError regulators: Enhance ErrorHistory Change-Id: I2f87804cdfb8b7db9b1a50dd71393d3f5bd6837a Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/power/phosphor-power.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/power/phosphor-power.inc b/meta-phosphor/recipes-phosphor/power/phosphor-power.inc index 47b5b467c..bbc6069d3 100644 --- a/meta-phosphor/recipes-phosphor/power/phosphor-power.inc +++ b/meta-phosphor/recipes-phosphor/power/phosphor-power.inc @@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/phosphor-power" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" SRC_URI += "git://github.com/openbmc/phosphor-power" -SRCREV = "81d6cde458c554c6cc71793eb0ed38edc58043a6" +SRCREV = "2f1b7ba6a1cc3bd5db4ca980ca6080f0023ffb71" -- cgit v1.2.3 From 3ab533f5ac41bc70f82388881bb700ad047c8826 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Thu, 18 Mar 2021 03:51:13 +0000 Subject: webui-vue: srcrev bump 0beb0f98cf..b0fadef1f9 Sukanya Pandey (1): Increase SOL console columns Change-Id: I52534d9132da2a2ce728b9c936ac8ca2fe4f8250 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/webui/webui-vue_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/webui/webui-vue_git.bb b/meta-phosphor/recipes-phosphor/webui/webui-vue_git.bb index c75310a5f..054dfa770 100644 --- a/meta-phosphor/recipes-phosphor/webui/webui-vue_git.bb +++ b/meta-phosphor/recipes-phosphor/webui/webui-vue_git.bb @@ -6,7 +6,7 @@ LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" SRC_URI = "git://github.com/openbmc/webui-vue.git" -SRCREV = "0beb0f98cf738ce0c9697c53d607719167546b2c" +SRCREV = "b0fadef1f96df99ff5eb0637527f04bc793c8d6e" S = "${WORKDIR}/git" DEPENDS_prepend = "nodejs-native " -- cgit v1.2.3 From 0a9d58bded8c05cc5fa9e1b490177accbfe63771 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Thu, 18 Mar 2021 04:50:29 +0000 Subject: phosphor-networkd: srcrev bump c14b4b30c5..39d058572e Johnathan Mantey (1): Removing inactive reviewer Change-Id: I887b351493cdb53256787f33a7742f41aacf9f21 Signed-off-by: Andrew Geissler --- meta-phosphor/classes/phosphor-networkd-rev.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/classes/phosphor-networkd-rev.bbclass b/meta-phosphor/classes/phosphor-networkd-rev.bbclass index 34a019c23..62501ce91 100644 --- a/meta-phosphor/classes/phosphor-networkd-rev.bbclass +++ b/meta-phosphor/classes/phosphor-networkd-rev.bbclass @@ -1,2 +1,2 @@ SRC_URI += "git://github.com/openbmc/phosphor-networkd" -SRCREV = "c14b4b30c51c5c0cfabaf23490affd0947aa3d90" +SRCREV = "39d058572e7c95807a9d210b72da2bdd38a6d555" -- cgit v1.2.3 From c0a1f823fe7d969e5451742b84881236678b976b Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Thu, 18 Mar 2021 05:50:42 +0000 Subject: phosphor-debug-collector: srcrev bump 4c63ce5e2e..01c6646064 PriyangaRamasamy (1): Fix build issues due to updated arm-sdk Change-Id: Ieaaf6c001b779a980eaa90af055ef5d7b7e91ca0 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/dump/phosphor-debug-collector.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/dump/phosphor-debug-collector.inc b/meta-phosphor/recipes-phosphor/dump/phosphor-debug-collector.inc index 98b4cf063..d16445261 100644 --- a/meta-phosphor/recipes-phosphor/dump/phosphor-debug-collector.inc +++ b/meta-phosphor/recipes-phosphor/dump/phosphor-debug-collector.inc @@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/phosphor-debug-collector" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" SRC_URI += "git://github.com/openbmc/phosphor-debug-collector" -SRCREV = "4c63ce5e2e507a0642e25d3e769ee8cb8638fbfe" +SRCREV = "01c664606479dfaf9fc3745412e20be4d09447f2" -- cgit v1.2.3 From 00783804bc3f906d6d353ae96a7b4f1c12236729 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Thu, 18 Mar 2021 17:40:31 +0000 Subject: openpower-hw-diags: srcrev bump 8af9e46f43..1d29e5c7da Zane Shelley (1): Enable OCMB SCOMs in analyzer Change-Id: I4d415e1f183bd6e385ddf01ab3eaa52c47ad1680 Signed-off-by: Andrew Geissler --- meta-openpower/recipes-phosphor/logging/openpower-hw-diags_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-openpower/recipes-phosphor/logging/openpower-hw-diags_git.bb b/meta-openpower/recipes-phosphor/logging/openpower-hw-diags_git.bb index dca85731b..3c788dfd8 100644 --- a/meta-openpower/recipes-phosphor/logging/openpower-hw-diags_git.bb +++ b/meta-openpower/recipes-phosphor/logging/openpower-hw-diags_git.bb @@ -9,7 +9,7 @@ SRC_URI = "git://github.com/openbmc/openpower-hw-diags" SYSTEMD_SERVICE_${PN} = "attn_handler.service" PV = "0.1+git${SRCPV}" -SRCREV = "8af9e46f43d2ffa030275d17716571d4fcc8ad18" +SRCREV = "1d29e5c7da9aad5c3a2ea63a9fa4b5da7c6bd75e" S = "${WORKDIR}/git" -- cgit v1.2.3 From e5ab07529066dbf9aae2b70d304e5790fec8f423 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Fri, 19 Mar 2021 15:40:56 +0000 Subject: bmcweb: srcrev bump 7ea79e5e15..6c9a279eee Gunnar Mills (3): Remove duplicate entry in array Add SameSite=Strict on Set-Cookie Fix Power Restore Policy not valid enum error Manojkiran Eda (1): Change PostCode property signature Change-Id: I48431eed0f68b159bf14dbccade304729271c1b5 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb b/meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb index 320da2e14..a2010661e 100644 --- a/meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb +++ b/meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb @@ -13,7 +13,7 @@ LIC_FILES_CHKSUM = "file://LICENCE;md5=a6a4edad4aed50f39a66d098d74b265b" SRC_URI = "git://github.com/openbmc/bmcweb.git" PV = "1.0+git${SRCPV}" -SRCREV = "7ea79e5e15814eb8566f3e6799f2d7eee23527a6" +SRCREV = "6c9a279eeec173dd64bf4866beec90839f1a1a42" S = "${WORKDIR}/git" -- cgit v1.2.3 From dc5a3d2ad0c3cf4b8ca8ce77f6662a0c23be783a Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Thu, 18 Mar 2021 22:51:03 +0000 Subject: entity-manager: srcrev bump e789bf12a4..1694ef625a Vijay Khemka (2): FruDevice: Move verifyOffset to util test: Add tests for verifyOffset Change-Id: Ie69217636ac00489e83fa940f09257ab689b35f3 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/configuration/entity-manager_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/configuration/entity-manager_git.bb b/meta-phosphor/recipes-phosphor/configuration/entity-manager_git.bb index 9ce85a914..11b0ff3ca 100644 --- a/meta-phosphor/recipes-phosphor/configuration/entity-manager_git.bb +++ b/meta-phosphor/recipes-phosphor/configuration/entity-manager_git.bb @@ -3,7 +3,7 @@ DESCRIPTION = "Entity Manager provides d-bus configuration data \ and configures system sensors" SRC_URI = "git://github.com/openbmc/entity-manager.git file://blocklist.json" -SRCREV = "e789bf12a49a8993c7d9b7a161494b58dab2dcf0" +SRCREV = "1694ef625a1075599e40faa695a40d61ccd91095" PV = "0.1+git${SRCPV}" LICENSE = "Apache-2.0" -- cgit v1.2.3 From ea65dea8cc7894dfc9d1fa061d04ddb1afc32bd8 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Wed, 17 Mar 2021 22:41:02 +0000 Subject: phosphor-net-ipmid: srcrev bump 07bb095158..de7dd5ce31 Kirill Pakhomov (1): Add RMCP Ping support Change-Id: I5c51e73327f277c49baba0b6b3e1e178ad66f9c0 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-net_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-net_git.bb b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-net_git.bb index b18ea0136..e932d1d56 100644 --- a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-net_git.bb +++ b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-net_git.bb @@ -18,7 +18,7 @@ DEPENDS += "phosphor-ipmi-host" RRECOMMENDS_${PN} = "pam-ipmi" SRC_URI += "git://github.com/openbmc/phosphor-net-ipmid" -SRCREV = "07bb095158b39cedb49dae0972e489a6a2776faf" +SRCREV = "de7dd5ce3133a0201e149b6fdf3d3458fb7f06a5" S = "${WORKDIR}/git" -- cgit v1.2.3 From e2b653697204bf3ed337a4e22e58acdff881c30c Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Thu, 18 Mar 2021 22:30:50 +0000 Subject: phosphor-gpio-monitor: srcrev bump 3ce88a7b5a..b08a0f6917 Brandon Wyman (2): Fix SDK build issue due to updated arm-sdk presence: Get DRIVER_BIND_DELAY_MS value from env Change-Id: I98d244757f47a715aa79173b748212d1b307a862 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/gpio/phosphor-gpio-monitor_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/gpio/phosphor-gpio-monitor_git.bb b/meta-phosphor/recipes-phosphor/gpio/phosphor-gpio-monitor_git.bb index 092f02a6d..5220431d5 100644 --- a/meta-phosphor/recipes-phosphor/gpio/phosphor-gpio-monitor_git.bb +++ b/meta-phosphor/recipes-phosphor/gpio/phosphor-gpio-monitor_git.bb @@ -44,5 +44,5 @@ FILES_${PN}-monitor += "${base_libdir}/udev/rules.d/99-gpio-keys.rules" FILES_${PN}-presence += "${bindir}/phosphor-gpio-presence" SRC_URI += "git://github.com/openbmc/phosphor-gpio-monitor" -SRCREV = "3ce88a7b5a1c17ca53b63859a5dad840a995f42e" +SRCREV = "b08a0f691740ef21e28547a57981b1043d46d8ce" S = "${WORKDIR}/git" -- cgit v1.2.3 From 5169abc8e11333f9f187521b191b171e703541fe Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Fri, 19 Mar 2021 17:41:01 +0000 Subject: phosphor-ipmi-flash: srcrev bump c7fa2c2803..c8b456e08b Jie Yang (1): version-handler: remove unused tests Change-Id: I155895186c343b6aa14e34335430408e5dcbe694 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-flash_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-flash_git.bb b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-flash_git.bb index b523697fc..e487233e3 100644 --- a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-flash_git.bb +++ b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-flash_git.bb @@ -46,7 +46,7 @@ EXTRA_OECONF_append = " MAPPED_ADDRESS=${IPMI_FLASH_BMC_ADDRESS}" S = "${WORKDIR}/git" SRC_URI = "git://github.com/openbmc/phosphor-ipmi-flash" -SRCREV = "c7fa2c2803065fcae3e9540e57d2a28a5bc83ecc" +SRCREV = "c8b456e08bf6fedebc15c399e4a3a79b744b1624" SYSTEMD_PACKAGES = "${PN}" SYSTEMD_SERVICE_${PN} += "phosphor-ipmi-flash-bmc-prepare.target \ -- cgit v1.2.3 From 7bc76818506e1d6fb9f39bb613e9719ba5a3cf0c Mon Sep 17 00:00:00 2001 From: Manojkiran Eda Date: Fri, 5 Mar 2021 16:19:46 +0530 Subject: Override the snoop device name to empty for IBM systems - We have already made the change to make the snooping port optional, which means that snoopd daemon can still run and host the interfaces & Postcode Raw Value property even on the systems with no snooping port. - The intent behind this commit is to over ride the snoop-device name to empty from the meta-ibm layer so that the snoopd daemon will run without the support for snooping port on ibm machines. Tested: - Build images for witherspoon-tacoma & rainier, and made sure the snoopd service runs without any issues. Signed-off-by: Manojkiran Eda Change-Id: I622a903f9084a9b94561c1202f8c637d30062112 --- meta-ibm/recipes-phosphor/host/phosphor-host-postd_%.bbappend | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 meta-ibm/recipes-phosphor/host/phosphor-host-postd_%.bbappend diff --git a/meta-ibm/recipes-phosphor/host/phosphor-host-postd_%.bbappend b/meta-ibm/recipes-phosphor/host/phosphor-host-postd_%.bbappend new file mode 100644 index 000000000..2770253dd --- /dev/null +++ b/meta-ibm/recipes-phosphor/host/phosphor-host-postd_%.bbappend @@ -0,0 +1,2 @@ +SNOOP_DEVICE_witherspoon-tacoma = "" +SNOOP_DEVICE_rainier = "" -- cgit v1.2.3 From cde0f094f52420ffa1cb0a235c22dba43297c255 Mon Sep 17 00:00:00 2001 From: "Anton D. Kachalov" Date: Wed, 17 Mar 2021 12:35:07 +0100 Subject: openbmc: add meta-security layer This layer provides libseccomp. Signed-off-by: Anton D. Kachalov Change-Id: I84513d56f2ed75fab49043196b98ef8b858e394f --- meta-alibaba/meta-thor/conf/bblayers.conf.sample | 2 ++ meta-amd/meta-ethanolx/conf/bblayers.conf.sample | 2 ++ meta-ampere/meta-jade/conf/bblayers.conf.sample | 2 ++ meta-bytedance/meta-g220a/conf/bblayers.conf.sample | 2 ++ meta-evb/meta-evb-aspeed/meta-evb-ast2500/conf/bblayers.conf.sample | 4 ++++ meta-evb/meta-evb-aspeed/meta-evb-ast2600/conf/bblayers.conf.sample | 4 ++++ .../meta-evb-enclustra/meta-evb-zx3-pm3/conf/bblayers.conf.sample | 2 ++ meta-evb/meta-evb-nuvoton/meta-evb-npcm750/conf/bblayers.conf.sample | 4 ++++ meta-evb/meta-evb-raspberrypi/conf/bblayers.conf.sample | 4 ++++ meta-facebook/meta-tiogapass/conf/bblayers.conf.sample | 2 ++ meta-facebook/meta-yosemitev2/conf/bblayers.conf.sample | 2 ++ meta-fii/meta-kudo/conf/bblayers.conf.sample | 4 ++++ meta-hpe/meta-dl360poc/conf/bblayers.conf.sample | 2 ++ meta-hxt/meta-stardragon4800-rep2/conf/bblayers.conf.sample | 2 ++ meta-ibm/conf/bblayers.conf.sample | 2 ++ meta-ibm/meta-palmetto/conf/bblayers.conf.sample | 2 ++ meta-ibm/meta-romulus/conf/bblayers.conf.sample | 2 ++ meta-ingrasys/meta-zaius/conf/bblayers.conf.sample | 2 ++ meta-inspur/meta-fp5280g2/conf/bblayers.conf.sample | 2 ++ meta-inspur/meta-on5263m5/conf/bblayers.conf.sample | 1 + meta-intel-openbmc/meta-s2600wf/conf/bblayers.conf.sample | 1 + meta-inventec/meta-lanyang/conf/bblayers.conf.sample | 2 ++ meta-lenovo/meta-hr630/conf/bblayers.conf.sample | 2 ++ meta-lenovo/meta-hr855xg2/conf/bblayers.conf.sample | 2 ++ meta-microsoft/meta-olympus/conf/bblayers.conf.sample | 2 ++ meta-phosphor/conf/bblayers.conf.sample | 5 +++++ meta-portwell/meta-neptune/conf/bblayers.conf.sample | 1 + meta-qualcomm/meta-centriq2400-rep/conf/bblayers.conf.sample | 2 ++ meta-quanta/meta-f0b/conf/bblayers.conf.sample | 4 ++++ meta-quanta/meta-gbs/conf/bblayers.conf.sample | 4 ++++ meta-quanta/meta-gsj/conf/bblayers.conf.sample | 4 ++++ meta-quanta/meta-olympus-nuvoton/conf/bblayers.conf.sample | 4 ++++ meta-quanta/meta-q71l/conf/bblayers.conf.sample | 2 ++ meta-supermicro/meta-x11spi/conf/bblayers.conf.sample | 1 + meta-yadro/meta-nicole/conf/bblayers.conf.sample | 2 ++ meta-yadro/meta-vesnin/conf/bblayers.conf.sample | 2 ++ 36 files changed, 89 insertions(+) diff --git a/meta-alibaba/meta-thor/conf/bblayers.conf.sample b/meta-alibaba/meta-thor/conf/bblayers.conf.sample index 50cc08f71..1884f55ef 100644 --- a/meta-alibaba/meta-thor/conf/bblayers.conf.sample +++ b/meta-alibaba/meta-thor/conf/bblayers.conf.sample @@ -9,6 +9,7 @@ BBLAYERS ?= " \ ##OEROOT##/meta-openembedded/meta-networking \ ##OEROOT##/meta-openembedded/meta-perl \ ##OEROOT##/meta-openembedded/meta-python \ + ##OEROOT##/meta-security \ ##OEROOT##/meta-phosphor \ ##OEROOT##/meta-aspeed \ ##OEROOT##/meta-alibaba \ @@ -20,6 +21,7 @@ BBLAYERS_NON_REMOVABLE ?= " \ ##OEROOT##/meta-openembedded/meta-networking \ ##OEROOT##/meta-openembedded/meta-perl \ ##OEROOT##/meta-openembedded/meta-python \ + ##OEROOT##/meta-security \ ##OEROOT##/meta-phosphor \ ##OEROOT##/meta-aspeed \ ##OEROOT##/meta-alibaba \ diff --git a/meta-amd/meta-ethanolx/conf/bblayers.conf.sample b/meta-amd/meta-ethanolx/conf/bblayers.conf.sample index d84dbc759..2b8d624bc 100644 --- a/meta-amd/meta-ethanolx/conf/bblayers.conf.sample +++ b/meta-amd/meta-ethanolx/conf/bblayers.conf.sample @@ -11,6 +11,7 @@ BBLAYERS ?= " \ ##OEROOT##/meta-openembedded/meta-networking \ ##OEROOT##/meta-openembedded/meta-perl \ ##OEROOT##/meta-openembedded/meta-python \ + ##OEROOT##/meta-security \ ##OEROOT##/meta-phosphor \ ##OEROOT##/meta-aspeed \ ##OEROOT##/meta-amd \ @@ -22,6 +23,7 @@ BBLAYERS_NON_REMOVABLE ?= " \ ##OEROOT##/meta-openembedded/meta-networking \ ##OEROOT##/meta-openembedded/meta-perl \ ##OEROOT##/meta-openembedded/meta-python \ + ##OEROOT##/meta-security \ ##OEROOT##/meta-phosphor \ ##OEROOT##/meta-aspeed \ ##OEROOT##/meta-amd \ diff --git a/meta-ampere/meta-jade/conf/bblayers.conf.sample b/meta-ampere/meta-jade/conf/bblayers.conf.sample index f4d7fc399..6e0893eb3 100644 --- a/meta-ampere/meta-jade/conf/bblayers.conf.sample +++ b/meta-ampere/meta-jade/conf/bblayers.conf.sample @@ -11,6 +11,7 @@ BBLAYERS ?= " \ ##OEROOT##/meta-openembedded/meta-networking \ ##OEROOT##/meta-openembedded/meta-perl \ ##OEROOT##/meta-openembedded/meta-python \ + ##OEROOT##/meta-security \ ##OEROOT##/meta-phosphor \ ##OEROOT##/meta-aspeed \ ##OEROOT##/meta-ampere \ @@ -22,6 +23,7 @@ BBLAYERS_NON_REMOVABLE ?= " \ ##OEROOT##/meta-openembedded/meta-networking \ ##OEROOT##/meta-openembedded/meta-perl \ ##OEROOT##/meta-openembedded/meta-python \ + ##OEROOT##/meta-security \ ##OEROOT##/meta-phosphor \ ##OEROOT##/meta-aspeed \ ##OEROOT##/meta-ampere \ diff --git a/meta-bytedance/meta-g220a/conf/bblayers.conf.sample b/meta-bytedance/meta-g220a/conf/bblayers.conf.sample index f00148158..370d6456f 100644 --- a/meta-bytedance/meta-g220a/conf/bblayers.conf.sample +++ b/meta-bytedance/meta-g220a/conf/bblayers.conf.sample @@ -11,6 +11,7 @@ BBLAYERS ?= " \ ##OEROOT##/meta-openembedded/meta-networking \ ##OEROOT##/meta-openembedded/meta-perl \ ##OEROOT##/meta-openembedded/meta-python \ + ##OEROOT##/meta-security \ ##OEROOT##/meta-phosphor \ ##OEROOT##/meta-aspeed \ ##OEROOT##/meta-bytedance \ @@ -22,6 +23,7 @@ BBLAYERS_NON_REMOVABLE ?= " \ ##OEROOT##/meta-openembedded/meta-networking \ ##OEROOT##/meta-openembedded/meta-perl \ ##OEROOT##/meta-openembedded/meta-python \ + ##OEROOT##/meta-security \ ##OEROOT##/meta-phosphor \ ##OEROOT##/meta-aspeed \ ##OEROOT##/meta-bytedance \ diff --git a/meta-evb/meta-evb-aspeed/meta-evb-ast2500/conf/bblayers.conf.sample b/meta-evb/meta-evb-aspeed/meta-evb-ast2500/conf/bblayers.conf.sample index a13721955..83c22c5b6 100644 --- a/meta-evb/meta-evb-aspeed/meta-evb-ast2500/conf/bblayers.conf.sample +++ b/meta-evb/meta-evb-aspeed/meta-evb-ast2500/conf/bblayers.conf.sample @@ -10,8 +10,10 @@ BBLAYERS ?= " \ ##OEROOT##/meta-poky \ ##OEROOT##/meta-openembedded/meta-oe \ ##OEROOT##/meta-openembedded/meta-networking \ + ##OEROOT##/meta-openembedded/meta-perl \ ##OEROOT##/meta-openembedded/meta-python \ ##OEROOT##/meta-openembedded/meta-webserver \ + ##OEROOT##/meta-security \ ##OEROOT##/meta-phosphor \ ##OEROOT##/meta-aspeed \ ##OEROOT##/meta-evb \ @@ -23,8 +25,10 @@ BBLAYERS_NON_REMOVABLE ?= " \ ##OEROOT##/meta-poky \ ##OEROOT##/meta-openembedded/meta-oe \ ##OEROOT##/meta-openembedded/meta-networking \ + ##OEROOT##/meta-openembedded/meta-perl \ ##OEROOT##/meta-openembedded/meta-python \ ##OEROOT##/meta-openembedded/meta-webserver \ + ##OEROOT##/meta-security \ ##OEROOT##/meta-phosphor \ ##OEROOT##/meta-aspeed \ ##OEROOT##/meta-evb \ diff --git a/meta-evb/meta-evb-aspeed/meta-evb-ast2600/conf/bblayers.conf.sample b/meta-evb/meta-evb-aspeed/meta-evb-ast2600/conf/bblayers.conf.sample index f9f079a26..de8ab1312 100644 --- a/meta-evb/meta-evb-aspeed/meta-evb-ast2600/conf/bblayers.conf.sample +++ b/meta-evb/meta-evb-aspeed/meta-evb-ast2600/conf/bblayers.conf.sample @@ -10,7 +10,9 @@ BBLAYERS ?= " \ ##OEROOT##/meta-poky \ ##OEROOT##/meta-openembedded/meta-oe \ ##OEROOT##/meta-openembedded/meta-networking \ + ##OEROOT##/meta-openembedded/meta-perl \ ##OEROOT##/meta-openembedded/meta-python \ + ##OEROOT##/meta-security \ ##OEROOT##/meta-phosphor \ ##OEROOT##/meta-aspeed \ ##OEROOT##/meta-evb/meta-evb-aspeed/meta-evb-ast2600 \ @@ -20,7 +22,9 @@ BBLAYERS_NON_REMOVABLE ?= " \ ##OEROOT##/meta-poky \ ##OEROOT##/meta-openembedded/meta-oe \ ##OEROOT##/meta-openembedded/meta-networking \ + ##OEROOT##/meta-openembedded/meta-perl \ ##OEROOT##/meta-openembedded/meta-python \ + ##OEROOT##/meta-security \ ##OEROOT##/meta-phosphor \ ##OEROOT##/meta-aspeed \ ##OEROOT##/meta-evb/meta-evb-aspeed/meta-evb-ast2600 \ diff --git a/meta-evb/meta-evb-enclustra/meta-evb-zx3-pm3/conf/bblayers.conf.sample b/meta-evb/meta-evb-enclustra/meta-evb-zx3-pm3/conf/bblayers.conf.sample index f1f9b4e9c..122192f9a 100644 --- a/meta-evb/meta-evb-enclustra/meta-evb-zx3-pm3/conf/bblayers.conf.sample +++ b/meta-evb/meta-evb-enclustra/meta-evb-zx3-pm3/conf/bblayers.conf.sample @@ -13,6 +13,7 @@ BBLAYERS ?= " \ ##OEROOT##/meta-openembedded/meta-perl \ ##OEROOT##/meta-openembedded/meta-python \ ##OEROOT##/meta-openembedded/meta-webserver \ + ##OEROOT##/meta-security \ ##OEROOT##/meta-phosphor \ ##OEROOT##/meta-xilinx/meta-xilinx-bsp/ \ ##OEROOT##/meta-evb \ @@ -27,6 +28,7 @@ BBLAYERS_NON_REMOVABLE ?= " \ ##OEROOT##/meta-openembedded/meta-perl \ ##OEROOT##/meta-openembedded/meta-python \ ##OEROOT##/meta-openembedded/meta-webserver \ +##OEROOT##/meta-security \ ##OEROOT##/meta-phosphor \ ##OEROOT##/meta-xilinx/meta-xilinx-bsp/ \ ##OEROOT##/meta-evb \ diff --git a/meta-evb/meta-evb-nuvoton/meta-evb-npcm750/conf/bblayers.conf.sample b/meta-evb/meta-evb-nuvoton/meta-evb-npcm750/conf/bblayers.conf.sample index 74cbfac01..ee62cea41 100644 --- a/meta-evb/meta-evb-nuvoton/meta-evb-npcm750/conf/bblayers.conf.sample +++ b/meta-evb/meta-evb-nuvoton/meta-evb-npcm750/conf/bblayers.conf.sample @@ -10,7 +10,9 @@ BBLAYERS ?= " \ ##OEROOT##/meta-poky \ ##OEROOT##/meta-openembedded/meta-oe \ ##OEROOT##/meta-openembedded/meta-networking \ + ##OEROOT##/meta-openembedded/meta-perl \ ##OEROOT##/meta-openembedded/meta-python \ + ##OEROOT##/meta-security \ ##OEROOT##/meta-phosphor \ ##OEROOT##/meta-nuvoton \ ##OEROOT##/meta-evb \ @@ -22,7 +24,9 @@ BBLAYERS_NON_REMOVABLE ?= " \ ##OEROOT##/meta-poky \ ##OEROOT##/meta-openembedded/meta-oe \ ##OEROOT##/meta-openembedded/meta-networking \ + ##OEROOT##/meta-openembedded/meta-perl \ ##OEROOT##/meta-openembedded/meta-python \ + ##OEROOT##/meta-security \ ##OEROOT##/meta-phosphor \ ##OEROOT##/meta-nuvoton \ ##OEROOT##/meta-evb \ diff --git a/meta-evb/meta-evb-raspberrypi/conf/bblayers.conf.sample b/meta-evb/meta-evb-raspberrypi/conf/bblayers.conf.sample index d34db13a0..6e838d799 100644 --- a/meta-evb/meta-evb-raspberrypi/conf/bblayers.conf.sample +++ b/meta-evb/meta-evb-raspberrypi/conf/bblayers.conf.sample @@ -10,8 +10,10 @@ BBLAYERS ?= " \ ##OEROOT##/meta-poky \ ##OEROOT##/meta-openembedded/meta-oe \ ##OEROOT##/meta-openembedded/meta-networking \ + ##OEROOT##/meta-openembedded/meta-perl \ ##OEROOT##/meta-openembedded/meta-python \ ##OEROOT##/meta-openembedded/meta-webserver \ + ##OEROOT##/meta-security \ ##OEROOT##/meta-phosphor \ ##OEROOT##/meta-raspberrypi \ " @@ -20,8 +22,10 @@ BBLAYERS_NON_REMOVABLE ?= " \ ##OEROOT##/meta-poky \ ##OEROOT##/meta-openembedded/meta-oe \ ##OEROOT##/meta-openembedded/meta-networking \ + ##OEROOT##/meta-openembedded/meta-perl \ ##OEROOT##/meta-openembedded/meta-python \ ##OEROOT##/meta-openembedded/meta-webserver \ + ##OEROOT##/meta-security \ ##OEROOT##/meta-phosphor \ ##OEROOT##/meta-raspberrypi \ " diff --git a/meta-facebook/meta-tiogapass/conf/bblayers.conf.sample b/meta-facebook/meta-tiogapass/conf/bblayers.conf.sample index a452dd666..d8d02ae93 100644 --- a/meta-facebook/meta-tiogapass/conf/bblayers.conf.sample +++ b/meta-facebook/meta-tiogapass/conf/bblayers.conf.sample @@ -13,6 +13,7 @@ BBLAYERS ?= " \ ##OEROOT##/meta-openembedded/meta-perl \ ##OEROOT##/meta-openembedded/meta-python \ ##OEROOT##/meta-openembedded/meta-webserver \ + ##OEROOT##/meta-security \ ##OEROOT##/meta-phosphor \ ##OEROOT##/meta-aspeed \ ##OEROOT##/meta-facebook \ @@ -26,6 +27,7 @@ BBLAYERS_NON_REMOVABLE ?= " \ ##OEROOT##/meta-openembedded/meta-perl \ ##OEROOT##/meta-openembedded/meta-python \ ##OEROOT##/meta-openembedded/meta-webserver \ + ##OEROOT##/meta-security \ ##OEROOT##/meta-phosphor \ ##OEROOT##/meta-aspeed \ ##OEROOT##/meta-facebook \ diff --git a/meta-facebook/meta-yosemitev2/conf/bblayers.conf.sample b/meta-facebook/meta-yosemitev2/conf/bblayers.conf.sample index 30d405903..18dc94472 100644 --- a/meta-facebook/meta-yosemitev2/conf/bblayers.conf.sample +++ b/meta-facebook/meta-yosemitev2/conf/bblayers.conf.sample @@ -13,6 +13,7 @@ BBLAYERS ?= " \ ##OEROOT##/meta-openembedded/meta-perl \ ##OEROOT##/meta-openembedded/meta-python \ ##OEROOT##/meta-openembedded/meta-webserver \ + ##OEROOT##/meta-security \ ##OEROOT##/meta-phosphor \ ##OEROOT##/meta-aspeed \ ##OEROOT##/meta-facebook \ @@ -26,6 +27,7 @@ BBLAYERS_NON_REMOVABLE ?= " \ ##OEROOT##/meta-openembedded/meta-perl \ ##OEROOT##/meta-openembedded/meta-python \ ##OEROOT##/meta-openembedded/meta-webserver \ + ##OEROOT##/meta-security \ ##OEROOT##/meta-phosphor \ ##OEROOT##/meta-aspeed \ ##OEROOT##/meta-facebook \ diff --git a/meta-fii/meta-kudo/conf/bblayers.conf.sample b/meta-fii/meta-kudo/conf/bblayers.conf.sample index 9fe42076b..f8958b950 100644 --- a/meta-fii/meta-kudo/conf/bblayers.conf.sample +++ b/meta-fii/meta-kudo/conf/bblayers.conf.sample @@ -9,7 +9,9 @@ BBLAYERS ?= " \ ##OEROOT##/meta \ ##OEROOT##/meta-openembedded/meta-oe \ ##OEROOT##/meta-openembedded/meta-networking \ + ##OEROOT##/meta-openembedded/meta-perl \ ##OEROOT##/meta-openembedded/meta-python \ + ##OEROOT##/meta-security \ ##OEROOT##/meta-phosphor \ ##OEROOT##/meta-nuvoton \ ##OEROOT##/meta-google \ @@ -19,7 +21,9 @@ BBLAYERS_NON_REMOVABLE ?= " \ ##OEROOT##/meta \ ##OEROOT##/meta-openembedded/meta-oe \ ##OEROOT##/meta-openembedded/meta-networking \ + ##OEROOT##/meta-openembedded/meta-perl \ ##OEROOT##/meta-openembedded/meta-python \ + ##OEROOT##/meta-security \ ##OEROOT##/meta-phosphor \ ##OEROOT##/meta-nuvoton \ ##OEROOT##/meta-google \ diff --git a/meta-hpe/meta-dl360poc/conf/bblayers.conf.sample b/meta-hpe/meta-dl360poc/conf/bblayers.conf.sample index 3416353bf..ef28dc220 100644 --- a/meta-hpe/meta-dl360poc/conf/bblayers.conf.sample +++ b/meta-hpe/meta-dl360poc/conf/bblayers.conf.sample @@ -12,6 +12,7 @@ BBLAYERS ?= " \ ##OEROOT##/meta-openembedded/meta-perl \ ##OEROOT##/meta-openembedded/meta-python \ ##OEROOT##/meta-openembedded/meta-webserver \ + ##OEROOT##/meta-security \ ##OEROOT##/meta-phosphor \ ##OEROOT##/meta-hpe/meta-gxp \ ##OEROOT##/meta-hpe \ @@ -24,6 +25,7 @@ BBLAYERS_NON_REMOVABLE ?= " \ ##OEROOT##/meta-openembedded/meta-perl \ ##OEROOT##/meta-openembedded/meta-python \ ##OEROOT##/meta-openembedded/meta-webserver \ + ##OEROOT##/meta-security \ ##OEROOT##/meta-phosphor \ ##OEROOT##/meta-hpe/meta-gxp \ ##OEROOT##/meta-hpe \ diff --git a/meta-hxt/meta-stardragon4800-rep2/conf/bblayers.conf.sample b/meta-hxt/meta-stardragon4800-rep2/conf/bblayers.conf.sample index ded435f2f..9a25461b3 100644 --- a/meta-hxt/meta-stardragon4800-rep2/conf/bblayers.conf.sample +++ b/meta-hxt/meta-stardragon4800-rep2/conf/bblayers.conf.sample @@ -13,6 +13,7 @@ BBLAYERS ?= " \ ##OEROOT##/meta-openembedded/meta-perl \ ##OEROOT##/meta-openembedded/meta-python \ ##OEROOT##/meta-openembedded/meta-webserver \ + ##OEROOT##/meta-security \ ##OEROOT##/meta-phosphor \ ##OEROOT##/meta-aspeed \ ##OEROOT##/meta-arm \ @@ -27,6 +28,7 @@ BBLAYERS_NON_REMOVABLE ?= " \ ##OEROOT##/meta-openembedded/meta-perl \ ##OEROOT##/meta-openembedded/meta-python \ ##OEROOT##/meta-openembedded/meta-webserver \ + ##OEROOT##/meta-security \ ##OEROOT##/meta-phosphor \ ##OEROOT##/meta-aspeed \ ##OEROOT##/meta-arm \ diff --git a/meta-ibm/conf/bblayers.conf.sample b/meta-ibm/conf/bblayers.conf.sample index 4c665d1bb..11b3f5980 100644 --- a/meta-ibm/conf/bblayers.conf.sample +++ b/meta-ibm/conf/bblayers.conf.sample @@ -12,6 +12,7 @@ BBLAYERS ?= " \ ##OEROOT##/meta-openembedded/meta-perl \ ##OEROOT##/meta-openembedded/meta-python \ ##OEROOT##/meta-security/meta-tpm \ + ##OEROOT##/meta-security \ ##OEROOT##/meta-phosphor \ ##OEROOT##/meta-aspeed \ ##OEROOT##/meta-openpower \ @@ -24,6 +25,7 @@ BBLAYERS_NON_REMOVABLE ?= " \ ##OEROOT##/meta-openembedded/meta-perl \ ##OEROOT##/meta-openembedded/meta-python \ ##OEROOT##/meta-security/meta-tpm \ + ##OEROOT##/meta-security \ ##OEROOT##/meta-phosphor \ ##OEROOT##/meta-aspeed \ ##OEROOT##/meta-openpower \ diff --git a/meta-ibm/meta-palmetto/conf/bblayers.conf.sample b/meta-ibm/meta-palmetto/conf/bblayers.conf.sample index 3470c2d64..b5c268c64 100644 --- a/meta-ibm/meta-palmetto/conf/bblayers.conf.sample +++ b/meta-ibm/meta-palmetto/conf/bblayers.conf.sample @@ -11,6 +11,7 @@ BBLAYERS ?= " \ ##OEROOT##/meta-openembedded/meta-networking \ ##OEROOT##/meta-openembedded/meta-perl \ ##OEROOT##/meta-openembedded/meta-python \ + ##OEROOT##/meta-security \ ##OEROOT##/meta-phosphor \ ##OEROOT##/meta-aspeed \ ##OEROOT##/meta-openpower \ @@ -22,6 +23,7 @@ BBLAYERS_NON_REMOVABLE ?= " \ ##OEROOT##/meta-openembedded/meta-networking \ ##OEROOT##/meta-openembedded/meta-perl \ ##OEROOT##/meta-openembedded/meta-python \ + ##OEROOT##/meta-security \ ##OEROOT##/meta-phosphor \ ##OEROOT##/meta-aspeed \ ##OEROOT##/meta-openpower \ diff --git a/meta-ibm/meta-romulus/conf/bblayers.conf.sample b/meta-ibm/meta-romulus/conf/bblayers.conf.sample index 52329db64..1bb30353e 100644 --- a/meta-ibm/meta-romulus/conf/bblayers.conf.sample +++ b/meta-ibm/meta-romulus/conf/bblayers.conf.sample @@ -11,6 +11,7 @@ BBLAYERS ?= " \ ##OEROOT##/meta-openembedded/meta-networking \ ##OEROOT##/meta-openembedded/meta-perl \ ##OEROOT##/meta-openembedded/meta-python \ + ##OEROOT##/meta-security \ ##OEROOT##/meta-phosphor \ ##OEROOT##/meta-aspeed \ ##OEROOT##/meta-openpower \ @@ -22,6 +23,7 @@ BBLAYERS_NON_REMOVABLE ?= " \ ##OEROOT##/meta-openembedded/meta-networking \ ##OEROOT##/meta-openembedded/meta-perl \ ##OEROOT##/meta-openembedded/meta-python \ + ##OEROOT##/meta-security \ ##OEROOT##/meta-phosphor \ ##OEROOT##/meta-aspeed \ ##OEROOT##/meta-openpower \ diff --git a/meta-ingrasys/meta-zaius/conf/bblayers.conf.sample b/meta-ingrasys/meta-zaius/conf/bblayers.conf.sample index f5e40dcfc..3ee615247 100644 --- a/meta-ingrasys/meta-zaius/conf/bblayers.conf.sample +++ b/meta-ingrasys/meta-zaius/conf/bblayers.conf.sample @@ -11,6 +11,7 @@ BBLAYERS ?= " \ ##OEROOT##/meta-openembedded/meta-networking \ ##OEROOT##/meta-openembedded/meta-perl \ ##OEROOT##/meta-openembedded/meta-python \ + ##OEROOT##/meta-security \ ##OEROOT##/meta-phosphor \ ##OEROOT##/meta-aspeed \ ##OEROOT##/meta-openpower \ @@ -23,6 +24,7 @@ BBLAYERS_NON_REMOVABLE ?= " \ ##OEROOT##/meta-openembedded/meta-networking \ ##OEROOT##/meta-openembedded/meta-perl \ ##OEROOT##/meta-openembedded/meta-python \ + ##OEROOT##/meta-security \ ##OEROOT##/meta-phosphor \ ##OEROOT##/meta-aspeed \ ##OEROOT##/meta-openpower \ diff --git a/meta-inspur/meta-fp5280g2/conf/bblayers.conf.sample b/meta-inspur/meta-fp5280g2/conf/bblayers.conf.sample index d8aa6bebc..9f5c27cd4 100644 --- a/meta-inspur/meta-fp5280g2/conf/bblayers.conf.sample +++ b/meta-inspur/meta-fp5280g2/conf/bblayers.conf.sample @@ -12,6 +12,7 @@ BBLAYERS ?= " \ ##OEROOT##/meta-openembedded/meta-perl \ ##OEROOT##/meta-openembedded/meta-python \ ##OEROOT##/meta-openembedded/meta-webserver \ + ##OEROOT##/meta-security \ ##OEROOT##/meta-phosphor \ ##OEROOT##/meta-aspeed \ ##OEROOT##/meta-openpower \ @@ -25,6 +26,7 @@ BBLAYERS_NON_REMOVABLE ?= " \ ##OEROOT##/meta-openembedded/meta-perl \ ##OEROOT##/meta-openembedded/meta-python \ ##OEROOT##/meta-openembedded/meta-webserver \ + ##OEROOT##/meta-security \ ##OEROOT##/meta-phosphor \ ##OEROOT##/meta-aspeed \ ##OEROOT##/meta-openpower \ diff --git a/meta-inspur/meta-on5263m5/conf/bblayers.conf.sample b/meta-inspur/meta-on5263m5/conf/bblayers.conf.sample index 3c806e9ab..6d1e794a0 100644 --- a/meta-inspur/meta-on5263m5/conf/bblayers.conf.sample +++ b/meta-inspur/meta-on5263m5/conf/bblayers.conf.sample @@ -11,6 +11,7 @@ BBLAYERS ?= " \ ##OEROOT##/meta-openembedded/meta-networking \ ##OEROOT##/meta-openembedded/meta-perl \ ##OEROOT##/meta-openembedded/meta-python \ + ##OEROOT##/meta-security \ ##OEROOT##/meta-phosphor \ ##OEROOT##/meta-aspeed \ ##OEROOT##/meta-x86 \ diff --git a/meta-intel-openbmc/meta-s2600wf/conf/bblayers.conf.sample b/meta-intel-openbmc/meta-s2600wf/conf/bblayers.conf.sample index c208e10fc..cbaf88b2e 100644 --- a/meta-intel-openbmc/meta-s2600wf/conf/bblayers.conf.sample +++ b/meta-intel-openbmc/meta-s2600wf/conf/bblayers.conf.sample @@ -13,6 +13,7 @@ BBLAYERS ?= " \ ##OEROOT##/meta-openembedded/meta-perl \ ##OEROOT##/meta-openembedded/meta-python \ ##OEROOT##/meta-openembedded/meta-webserver \ + ##OEROOT##/meta-security \ ##OEROOT##/meta-phosphor \ ##OEROOT##/meta-aspeed \ ##OEROOT##/meta-intel-openbmc \ diff --git a/meta-inventec/meta-lanyang/conf/bblayers.conf.sample b/meta-inventec/meta-lanyang/conf/bblayers.conf.sample index fd230c743..a0962fa0e 100644 --- a/meta-inventec/meta-lanyang/conf/bblayers.conf.sample +++ b/meta-inventec/meta-lanyang/conf/bblayers.conf.sample @@ -12,6 +12,7 @@ BBLAYERS ?= " \ ##OEROOT##/meta-openembedded/meta-networking \ ##OEROOT##/meta-openembedded/meta-perl \ ##OEROOT##/meta-openembedded/meta-python \ + ##OEROOT##/meta-security \ ##OEROOT##/meta-phosphor \ ##OEROOT##/meta-aspeed \ ##OEROOT##/meta-openpower \ @@ -25,6 +26,7 @@ BBLAYERS_NON_REMOVABLE ?= " \ ##OEROOT##/meta-openembedded/meta-networking \ ##OEROOT##/meta-openembedded/meta-perl \ ##OEROOT##/meta-openembedded/meta-python \ + ##OEROOT##/meta-security \ ##OEROOT##/meta-phosphor \ ##OEROOT##/meta-aspeed \ ##OEROOT##/meta-openpower \ diff --git a/meta-lenovo/meta-hr630/conf/bblayers.conf.sample b/meta-lenovo/meta-hr630/conf/bblayers.conf.sample index 5ecfeada5..0443211c5 100644 --- a/meta-lenovo/meta-hr630/conf/bblayers.conf.sample +++ b/meta-lenovo/meta-hr630/conf/bblayers.conf.sample @@ -12,7 +12,9 @@ BBLAYERS ?= " \ ##OEROOT##/meta \ ##OEROOT##/meta-openembedded/meta-oe \ ##OEROOT##/meta-openembedded/meta-networking \ + ##OEROOT##/meta-openembedded/meta-perl \ ##OEROOT##/meta-openembedded/meta-python \ + ##OEROOT##/meta-security \ ##OEROOT##/meta-phosphor \ ##OEROOT##/meta-aspeed \ ##OEROOT##/meta-x86 \ diff --git a/meta-lenovo/meta-hr855xg2/conf/bblayers.conf.sample b/meta-lenovo/meta-hr855xg2/conf/bblayers.conf.sample index a14ab61ea..744edb7e6 100644 --- a/meta-lenovo/meta-hr855xg2/conf/bblayers.conf.sample +++ b/meta-lenovo/meta-hr855xg2/conf/bblayers.conf.sample @@ -12,8 +12,10 @@ BBLAYERS ?= " \ ##OEROOT##/meta \ ##OEROOT##/meta-openembedded/meta-oe \ ##OEROOT##/meta-openembedded/meta-networking \ + ##OEROOT##/meta-openembedded/meta-perl \ ##OEROOT##/meta-openembedded/meta-python \ ##OEROOT##/meta-openembedded/meta-webserver \ + ##OEROOT##/meta-security \ ##OEROOT##/meta-phosphor \ ##OEROOT##/meta-aspeed \ ##OEROOT##/meta-x86 \ diff --git a/meta-microsoft/meta-olympus/conf/bblayers.conf.sample b/meta-microsoft/meta-olympus/conf/bblayers.conf.sample index 730455080..4d15ac629 100755 --- a/meta-microsoft/meta-olympus/conf/bblayers.conf.sample +++ b/meta-microsoft/meta-olympus/conf/bblayers.conf.sample @@ -11,6 +11,7 @@ BBLAYERS ?= " \ ##OEROOT##/meta-openembedded/meta-networking \ ##OEROOT##/meta-openembedded/meta-perl \ ##OEROOT##/meta-openembedded/meta-python \ + ##OEROOT##/meta-security \ ##OEROOT##/meta-phosphor \ ##OEROOT##/meta-aspeed \ ##OEROOT##/meta-microsoft \ @@ -22,6 +23,7 @@ BBLAYERS_NON_REMOVABLE ?= " \ ##OEROOT##/meta-openembedded/meta-networking \ ##OEROOT##/meta-openembedded/meta-perl \ ##OEROOT##/meta-openembedded/meta-python \ + ##OEROOT##/meta-security \ ##OEROOT##/meta-phosphor \ ##OEROOT##/meta-aspeed \ ##OEROOT##/meta-microsoft \ diff --git a/meta-phosphor/conf/bblayers.conf.sample b/meta-phosphor/conf/bblayers.conf.sample index aee74b650..4c0c52e8c 100644 --- a/meta-phosphor/conf/bblayers.conf.sample +++ b/meta-phosphor/conf/bblayers.conf.sample @@ -10,7 +10,9 @@ BBLAYERS ?= " \ ##OEROOT##/meta-poky \ ##OEROOT##/meta-openembedded/meta-oe \ ##OEROOT##/meta-openembedded/meta-networking \ + ##OEROOT##/meta-openembedded/meta-perl \ ##OEROOT##/meta-openembedded/meta-python \ + ##OEROOT##/meta-security \ ##OEROOT##/meta-phosphor \ " BBLAYERS_NON_REMOVABLE ?= " \ @@ -18,5 +20,8 @@ BBLAYERS_NON_REMOVABLE ?= " \ ##OEROOT##/meta-poky \ ##OEROOT##/meta-openembedded/meta-oe \ ##OEROOT##/meta-openembedded/meta-networking \ + ##OEROOT##/meta-openembedded/meta-perl \ ##OEROOT##/meta-openembedded/meta-python \ + ##OEROOT##/meta-security \ + ##OEROOT##/meta-phosphor \ " diff --git a/meta-portwell/meta-neptune/conf/bblayers.conf.sample b/meta-portwell/meta-neptune/conf/bblayers.conf.sample index e60ce8031..042e6dd0a 100644 --- a/meta-portwell/meta-neptune/conf/bblayers.conf.sample +++ b/meta-portwell/meta-neptune/conf/bblayers.conf.sample @@ -13,6 +13,7 @@ BBLAYERS ?= " \ ##OEROOT##/meta-openembedded/meta-perl \ ##OEROOT##/meta-openembedded/meta-python \ ##OEROOT##/meta-openembedded/meta-webserver \ + ##OEROOT##/meta-security \ ##OEROOT##/meta-phosphor \ ##OEROOT##/meta-aspeed \ ##OEROOT##/meta-portwell/meta-neptune \ diff --git a/meta-qualcomm/meta-centriq2400-rep/conf/bblayers.conf.sample b/meta-qualcomm/meta-centriq2400-rep/conf/bblayers.conf.sample index c0c67d7ef..6ae2e4d6c 100644 --- a/meta-qualcomm/meta-centriq2400-rep/conf/bblayers.conf.sample +++ b/meta-qualcomm/meta-centriq2400-rep/conf/bblayers.conf.sample @@ -13,6 +13,7 @@ BBLAYERS ?= " \ ##OEROOT##/meta-openembedded/meta-perl \ ##OEROOT##/meta-openembedded/meta-python \ ##OEROOT##/meta-openembedded/meta-webserver \ + ##OEROOT##/meta-security \ ##OEROOT##/meta-phosphor \ ##OEROOT##/meta-aspeed \ ##OEROOT##/meta-arm \ @@ -27,6 +28,7 @@ BBLAYERS_NON_REMOVABLE ?= " \ ##OEROOT##/meta-openembedded/meta-perl \ ##OEROOT##/meta-openembedded/meta-python \ ##OEROOT##/meta-openembedded/meta-webserver \ + ##OEROOT##/meta-security \ ##OEROOT##/meta-phosphor \ ##OEROOT##/meta-aspeed \ ##OEROOT##/meta-arm \ diff --git a/meta-quanta/meta-f0b/conf/bblayers.conf.sample b/meta-quanta/meta-f0b/conf/bblayers.conf.sample index 28b258258..db7f86a0d 100644 --- a/meta-quanta/meta-f0b/conf/bblayers.conf.sample +++ b/meta-quanta/meta-f0b/conf/bblayers.conf.sample @@ -9,7 +9,9 @@ BBLAYERS ?= " \ ##OEROOT##/meta \ ##OEROOT##/meta-openembedded/meta-oe \ ##OEROOT##/meta-openembedded/meta-networking \ + ##OEROOT##/meta-openembedded/meta-perl \ ##OEROOT##/meta-openembedded/meta-python \ + ##OEROOT##/meta-security \ ##OEROOT##/meta-phosphor \ ##OEROOT##/meta-aspeed \ ##OEROOT##/meta-quanta \ @@ -19,7 +21,9 @@ BBLAYERS_NON_REMOVABLE ?= " \ ##OEROOT##/meta \ ##OEROOT##/meta-openembedded/meta-oe \ ##OEROOT##/meta-openembedded/meta-networking \ + ##OEROOT##/meta-openembedded/meta-perl \ ##OEROOT##/meta-openembedded/meta-python \ + ##OEROOT##/meta-security \ ##OEROOT##/meta-phosphor \ ##OEROOT##/meta-aspeed \ ##OEROOT##/meta-quanta \ diff --git a/meta-quanta/meta-gbs/conf/bblayers.conf.sample b/meta-quanta/meta-gbs/conf/bblayers.conf.sample index 541036d81..903833258 100644 --- a/meta-quanta/meta-gbs/conf/bblayers.conf.sample +++ b/meta-quanta/meta-gbs/conf/bblayers.conf.sample @@ -9,7 +9,9 @@ BBLAYERS ?= " \ ##OEROOT##/meta \ ##OEROOT##/meta-openembedded/meta-oe \ ##OEROOT##/meta-openembedded/meta-networking \ + ##OEROOT##/meta-openembedded/meta-perl \ ##OEROOT##/meta-openembedded/meta-python \ + ##OEROOT##/meta-security \ ##OEROOT##/meta-phosphor \ ##OEROOT##/meta-nuvoton \ ##OEROOT##/meta-google \ @@ -20,7 +22,9 @@ BBLAYERS_NON_REMOVABLE ?= " \ ##OEROOT##/meta \ ##OEROOT##/meta-openembedded/meta-oe \ ##OEROOT##/meta-openembedded/meta-networking \ + ##OEROOT##/meta-openembedded/meta-perl \ ##OEROOT##/meta-openembedded/meta-python \ + ##OEROOT##/meta-security \ ##OEROOT##/meta-phosphor \ ##OEROOT##/meta-nuvoton \ ##OEROOT##/meta-google \ diff --git a/meta-quanta/meta-gsj/conf/bblayers.conf.sample b/meta-quanta/meta-gsj/conf/bblayers.conf.sample index be7a73873..1c895ea00 100644 --- a/meta-quanta/meta-gsj/conf/bblayers.conf.sample +++ b/meta-quanta/meta-gsj/conf/bblayers.conf.sample @@ -9,7 +9,9 @@ BBLAYERS ?= " \ ##OEROOT##/meta \ ##OEROOT##/meta-openembedded/meta-oe \ ##OEROOT##/meta-openembedded/meta-networking \ + ##OEROOT##/meta-openembedded/meta-perl \ ##OEROOT##/meta-openembedded/meta-python \ + ##OEROOT##/meta-security \ ##OEROOT##/meta-phosphor \ ##OEROOT##/meta-nuvoton \ ##OEROOT##/meta-google \ @@ -20,7 +22,9 @@ BBLAYERS_NON_REMOVABLE ?= " \ ##OEROOT##/meta \ ##OEROOT##/meta-openembedded/meta-oe \ ##OEROOT##/meta-openembedded/meta-networking \ + ##OEROOT##/meta-openembedded/meta-perl \ ##OEROOT##/meta-openembedded/meta-python \ + ##OEROOT##/meta-security \ ##OEROOT##/meta-phosphor \ ##OEROOT##/meta-nuvoton \ ##OEROOT##/meta-google \ diff --git a/meta-quanta/meta-olympus-nuvoton/conf/bblayers.conf.sample b/meta-quanta/meta-olympus-nuvoton/conf/bblayers.conf.sample index c79cda288..f7b4c2210 100644 --- a/meta-quanta/meta-olympus-nuvoton/conf/bblayers.conf.sample +++ b/meta-quanta/meta-olympus-nuvoton/conf/bblayers.conf.sample @@ -9,7 +9,9 @@ BBLAYERS ?= " \ ##OEROOT##/meta \ ##OEROOT##/meta-openembedded/meta-oe \ ##OEROOT##/meta-openembedded/meta-networking \ + ##OEROOT##/meta-openembedded/meta-perl \ ##OEROOT##/meta-openembedded/meta-python \ + ##OEROOT##/meta-security \ ##OEROOT##/meta-phosphor \ ##OEROOT##/meta-nuvoton \ ##OEROOT##/meta-google \ @@ -20,7 +22,9 @@ BBLAYERS_NON_REMOVABLE ?= " \ ##OEROOT##/meta \ ##OEROOT##/meta-openembedded/meta-oe \ ##OEROOT##/meta-openembedded/meta-networking \ + ##OEROOT##/meta-openembedded/meta-perl \ ##OEROOT##/meta-openembedded/meta-python \ + ##OEROOT##/meta-security \ ##OEROOT##/meta-phosphor \ ##OEROOT##/meta-nuvoton \ ##OEROOT##/meta-google \ diff --git a/meta-quanta/meta-q71l/conf/bblayers.conf.sample b/meta-quanta/meta-q71l/conf/bblayers.conf.sample index d59a6c4c6..880ce33b1 100644 --- a/meta-quanta/meta-q71l/conf/bblayers.conf.sample +++ b/meta-quanta/meta-q71l/conf/bblayers.conf.sample @@ -12,6 +12,7 @@ BBLAYERS ?= " \ ##OEROOT##/meta-openembedded/meta-perl \ ##OEROOT##/meta-openembedded/meta-python \ ##OEROOT##/meta-openembedded/meta-webserver \ + ##OEROOT##/meta-security \ ##OEROOT##/meta-phosphor \ ##OEROOT##/meta-aspeed \ ##OEROOT##/meta-x86 \ @@ -25,6 +26,7 @@ BBLAYERS_NON_REMOVABLE ?= " \ ##OEROOT##/meta-openembedded/meta-perl \ ##OEROOT##/meta-openembedded/meta-python \ ##OEROOT##/meta-openembedded/meta-webserver \ + ##OEROOT##/meta-security \ ##OEROOT##/meta-phosphor \ ##OEROOT##/meta-aspeed \ ##OEROOT##/meta-x86 \ diff --git a/meta-supermicro/meta-x11spi/conf/bblayers.conf.sample b/meta-supermicro/meta-x11spi/conf/bblayers.conf.sample index fc7b62316..49191a6d2 100644 --- a/meta-supermicro/meta-x11spi/conf/bblayers.conf.sample +++ b/meta-supermicro/meta-x11spi/conf/bblayers.conf.sample @@ -13,6 +13,7 @@ BBLAYERS ?= " \ ##OEROOT##/meta-openembedded/meta-perl \ ##OEROOT##/meta-openembedded/meta-python \ ##OEROOT##/meta-openembedded/meta-webserver \ + ##OEROOT##/meta-security \ ##OEROOT##/meta-phosphor \ ##OEROOT##/meta-aspeed \ ##OEROOT##/meta-supermicro \ diff --git a/meta-yadro/meta-nicole/conf/bblayers.conf.sample b/meta-yadro/meta-nicole/conf/bblayers.conf.sample index 62622c8cb..776b1a90b 100644 --- a/meta-yadro/meta-nicole/conf/bblayers.conf.sample +++ b/meta-yadro/meta-nicole/conf/bblayers.conf.sample @@ -11,6 +11,7 @@ BBLAYERS ?= " \ ##OEROOT##/meta-openembedded/meta-networking \ ##OEROOT##/meta-openembedded/meta-perl \ ##OEROOT##/meta-openembedded/meta-python \ + ##OEROOT##/meta-security \ ##OEROOT##/meta-phosphor \ ##OEROOT##/meta-aspeed \ ##OEROOT##/meta-openpower \ @@ -23,6 +24,7 @@ BBLAYERS_NON_REMOVABLE ?= " \ ##OEROOT##/meta-openembedded/meta-networking \ ##OEROOT##/meta-openembedded/meta-perl \ ##OEROOT##/meta-openembedded/meta-python \ + ##OEROOT##/meta-security \ ##OEROOT##/meta-phosphor \ ##OEROOT##/meta-aspeed \ ##OEROOT##/meta-openpower \ diff --git a/meta-yadro/meta-vesnin/conf/bblayers.conf.sample b/meta-yadro/meta-vesnin/conf/bblayers.conf.sample index 379cc954c..5571b9d76 100644 --- a/meta-yadro/meta-vesnin/conf/bblayers.conf.sample +++ b/meta-yadro/meta-vesnin/conf/bblayers.conf.sample @@ -11,6 +11,7 @@ BBLAYERS ?= " \ ##OEROOT##/meta-openembedded/meta-networking \ ##OEROOT##/meta-openembedded/meta-perl \ ##OEROOT##/meta-openembedded/meta-python \ + ##OEROOT##/meta-security \ ##OEROOT##/meta-phosphor \ ##OEROOT##/meta-aspeed \ ##OEROOT##/meta-openpower \ @@ -23,6 +24,7 @@ BBLAYERS_NON_REMOVABLE ?= " \ ##OEROOT##/meta-openembedded/meta-networking \ ##OEROOT##/meta-openembedded/meta-perl \ ##OEROOT##/meta-openembedded/meta-python \ + ##OEROOT##/meta-security \ ##OEROOT##/meta-phosphor \ ##OEROOT##/meta-aspeed \ ##OEROOT##/meta-openpower \ -- cgit v1.2.3 From ef60666fe3e3a305d672052d5da8595ec1db6857 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Mon, 22 Mar 2021 17:31:00 +0000 Subject: bmcweb: srcrev bump 6c9a279eee..8f7e9c194f Jayaprakash Mutyala (1): ethernet: Fix for MAC address patch response Jonathan Doman (1): Refactor Processor object lookup Ravi Teja (1): Fix hypervisor IPv4StaticAddresses property patch Change-Id: I9f0d08c56a678697dd34f952d26e445ba1702c49 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb b/meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb index a2010661e..2125a6f8f 100644 --- a/meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb +++ b/meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb @@ -13,7 +13,7 @@ LIC_FILES_CHKSUM = "file://LICENCE;md5=a6a4edad4aed50f39a66d098d74b265b" SRC_URI = "git://github.com/openbmc/bmcweb.git" PV = "1.0+git${SRCPV}" -SRCREV = "6c9a279eeec173dd64bf4866beec90839f1a1a42" +SRCREV = "8f7e9c194f36a84f4e49ad142110f4f3d0f312be" S = "${WORKDIR}/git" -- cgit v1.2.3 From cbebc512536f0b38895745f4c310733ad59093e3 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Mon, 22 Mar 2021 13:31:14 +0000 Subject: webui-vue: srcrev bump b0fadef1f9..492875622b Derick Montague (1): Update text wrapping in documentation Change-Id: Ieabef7f9d7ff544c8a5b9e0914a59151c5417e72 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/webui/webui-vue_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/webui/webui-vue_git.bb b/meta-phosphor/recipes-phosphor/webui/webui-vue_git.bb index 054dfa770..3d8ee3174 100644 --- a/meta-phosphor/recipes-phosphor/webui/webui-vue_git.bb +++ b/meta-phosphor/recipes-phosphor/webui/webui-vue_git.bb @@ -6,7 +6,7 @@ LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" SRC_URI = "git://github.com/openbmc/webui-vue.git" -SRCREV = "b0fadef1f96df99ff5eb0637527f04bc793c8d6e" +SRCREV = "492875622b39cb2cf04bbb9248b6ed0c52ced2df" S = "${WORKDIR}/git" DEPENDS_prepend = "nodejs-native " -- cgit v1.2.3 From 499ee2d5c35243a2cf34f42bc76f940749c5da60 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Mon, 22 Mar 2021 17:31:27 +0000 Subject: dbus-sensors: srcrev bump d05867c0d3..373225765e Jayashree-D (1): Added readingFormat for PXE1410 in IpmbSensor. Change-Id: Ib8aef749fab9eed0e1224770c09cdd79dd5f9e05 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/sensors/dbus-sensors_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/sensors/dbus-sensors_git.bb b/meta-phosphor/recipes-phosphor/sensors/dbus-sensors_git.bb index 8302675e8..34d80b8de 100644 --- a/meta-phosphor/recipes-phosphor/sensors/dbus-sensors_git.bb +++ b/meta-phosphor/recipes-phosphor/sensors/dbus-sensors_git.bb @@ -2,7 +2,7 @@ SUMMARY = "dbus-sensors" DESCRIPTION = "Dbus Sensor Services Configured from D-Bus" SRC_URI = "git://github.com/openbmc/dbus-sensors.git" -SRCREV = "d05867c0d32065d36b13bd452f7aff9dcb20ac2f" +SRCREV = "373225765ec76e358d11b2ee58488a72fc6c446e" PV = "0.1+git${SRCPV}" -- cgit v1.2.3 From 25ae68f803d469c1a344d4e48dbb4c88f919f743 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Mon, 22 Mar 2021 19:31:03 +0000 Subject: phosphor-logging: srcrev bump 25d986c1e7..54ff54e905 Jay Meyer (1): PEL: Add message registry entry for power loss. Change-Id: Ib25534c2fe6b44424a1b33c572476e6aabf9ad5d Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb b/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb index 2bc141bb5..038d63f5d 100644 --- a/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb +++ b/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb @@ -55,7 +55,7 @@ FILES_phosphor-rsyslog-config += " \ " SRC_URI += "git://github.com/openbmc/phosphor-logging" -SRCREV = "25d986c1e7d749d3f78da5a5e507d1f2bcbc7874" +SRCREV = "54ff54e9055dbd9da763b07d6a2bd14c176c4beb" S = "${WORKDIR}/git" -- cgit v1.2.3 From 1353b8dd1f96dabf8b33f8b0ba70e882c35d424c Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Mon, 22 Mar 2021 11:01:06 +0000 Subject: phosphor-led-manager: srcrev bump 616a071697..8215032f79 George Liu (6): Add lampTest class for LED Update physical LEDs as part of Lamp test Add the restoreLedsAssert method for LED manager LampTest: Notify PHYP to start the lamp test lamptest: Add virtual LEDs to group definition lamp test: Add vritual lamp test function Change-Id: I83e359c103da908217833c6ee1bc928c60e5cd53 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/leds/phosphor-led-manager.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager.inc b/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager.inc index 3e94ccc35..431fa0140 100644 --- a/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager.inc +++ b/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager.inc @@ -2,4 +2,4 @@ HOMEPAGE = "http://github.com/openbmc/phosphor-led-manager" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" SRC_URI += "git://github.com/openbmc/phosphor-led-manager" -SRCREV = "616a0716970203cb77dc92301f0763043c5b461c" +SRCREV = "8215032f795d468dd53ad8c42924bf5674b64c42" -- cgit v1.2.3 From 2f2806f5ec8c24918e08db168219094c99f49c97 Mon Sep 17 00:00:00 2001 From: George Hung Date: Wed, 17 Mar 2021 21:08:15 +0800 Subject: meta-quanta: gbs: set Max/Min value to i2cool sensors Set the Max/Min value to i2cool sensors to avoid the abnormal current/thershold values in the SEL logs Signed-off-by: George Hung Change-Id: Ie46e07a9a41f65b820258675f0e213e5434583cc --- .../phosphor-virtual-sensor.service.replace | 1 + .../sensors/phosphor-virtual-sensor/setMaxMinValue.sh | 15 +++++++++++++++ .../sensors/phosphor-virtual-sensor_%.bbappend | 6 ++++++ 3 files changed, 22 insertions(+) create mode 100644 meta-quanta/meta-gbs/recipes-phosphor/sensors/phosphor-virtual-sensor/setMaxMinValue.sh diff --git a/meta-quanta/meta-gbs/recipes-phosphor/sensors/phosphor-virtual-sensor/phosphor-virtual-sensor.service.replace b/meta-quanta/meta-gbs/recipes-phosphor/sensors/phosphor-virtual-sensor/phosphor-virtual-sensor.service.replace index 8068d3bd2..eae38b23d 100644 --- a/meta-quanta/meta-gbs/recipes-phosphor/sensors/phosphor-virtual-sensor/phosphor-virtual-sensor.service.replace +++ b/meta-quanta/meta-gbs/recipes-phosphor/sensors/phosphor-virtual-sensor/phosphor-virtual-sensor.service.replace @@ -8,6 +8,7 @@ ExecStartPre=mapper wait /xyz/openbmc_project/sensors/temperature/inlet ExecStartPre=mapper wait /xyz/openbmc_project/sensors/temperature/outlet_0 ExecStartPre=mapper wait /xyz/openbmc_project/sensors/temperature/outlet_1 ExecStart=/usr/bin/virtual-sensor +ExecStartPost=/usr/bin/setMaxMinValue.sh Type=dbus BusName=xyz.openbmc_project.VirtualSensor SyslogIdentifier=phosphor-virtual-sensor diff --git a/meta-quanta/meta-gbs/recipes-phosphor/sensors/phosphor-virtual-sensor/setMaxMinValue.sh b/meta-quanta/meta-gbs/recipes-phosphor/sensors/phosphor-virtual-sensor/setMaxMinValue.sh new file mode 100644 index 000000000..604eafccc --- /dev/null +++ b/meta-quanta/meta-gbs/recipes-phosphor/sensors/phosphor-virtual-sensor/setMaxMinValue.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +serviceName="xyz.openbmc_project.VirtualSensor" +interfaceName="xyz.openbmc_project.Sensor.Value" +objectPath="/xyz/openbmc_project/sensors/temperature/" + +# set MaxValue, MinValue to sensor dbus property +for i in {0..2}; do + sensorPath="${objectPath}i2cool_${i}" + mapper wait $sensorPath + busctl set-property $serviceName $sensorPath $interfaceName MaxValue d 127 + busctl set-property $serviceName $sensorPath $interfaceName MinValue d -- -128 +done + +exit 0 diff --git a/meta-quanta/meta-gbs/recipes-phosphor/sensors/phosphor-virtual-sensor_%.bbappend b/meta-quanta/meta-gbs/recipes-phosphor/sensors/phosphor-virtual-sensor_%.bbappend index aadafeb2d..77546694e 100644 --- a/meta-quanta/meta-gbs/recipes-phosphor/sensors/phosphor-virtual-sensor_%.bbappend +++ b/meta-quanta/meta-gbs/recipes-phosphor/sensors/phosphor-virtual-sensor_%.bbappend @@ -2,9 +2,15 @@ FILESEXTRAPATHS_prepend_gbs := "${THISDIR}/${PN}:" SRC_URI_append_gbs = " file://config-virtual-sensor.json \ file://phosphor-virtual-sensor.service.replace \ + file://setMaxMinValue.sh \ " +RDEPENDS_${PN}_append_gbs = "bash" + do_install_append_gbs() { + install -d ${D}${bindir} + install -m 0755 ${WORKDIR}/setMaxMinValue.sh ${D}${bindir}/ + install -d ${D}${datadir}/${PN} install -m 0644 -D ${WORKDIR}/config-virtual-sensor.json \ ${D}${datadir}/${PN}/virtual_sensor_config.json -- cgit v1.2.3 From 78aca2008d086ac4b0c5111a29b841243739e43f Mon Sep 17 00:00:00 2001 From: Brandon Kim Date: Mon, 22 Mar 2021 15:49:59 -0700 Subject: meta-quanta: gbs: fix phosphor-inventory-manager DEPENDS Recipe name as updated to gbs-inventory-cleanup. DEPENDS also need to be updated to ensure compilation. Signed-off-by: Brandon Kim Change-Id: Icc43de8501e3eea2da437074ece62d3a02746b88 --- .../recipes-phosphor/inventory/phosphor-inventory-manager_%.bbappend | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-quanta/meta-gbs/recipes-phosphor/inventory/phosphor-inventory-manager_%.bbappend b/meta-quanta/meta-gbs/recipes-phosphor/inventory/phosphor-inventory-manager_%.bbappend index 205822cb9..38825835d 100644 --- a/meta-quanta/meta-gbs/recipes-phosphor/inventory/phosphor-inventory-manager_%.bbappend +++ b/meta-quanta/meta-gbs/recipes-phosphor/inventory/phosphor-inventory-manager_%.bbappend @@ -1,7 +1,7 @@ FILESEXTRAPATHS_prepend_gbs := "${THISDIR}/${PN}:" PACKAGECONFIG_append_gbs = " associations" SRC_URI_append_gbs = " file://associations.json" -DEPENDS_append_gbs = " inventory-cleanup" +DEPENDS_append_gbs = " gbs-inventory-cleanup" do_install_append_gbs() { install -d ${D}${base_datadir} -- cgit v1.2.3 From ea147d1091015fc209a06febe656fc6dcda33701 Mon Sep 17 00:00:00 2001 From: Brandon Kim Date: Mon, 22 Mar 2021 15:46:57 -0700 Subject: meta-quanta: gbs: add fleeting2 to entity_association_map Signed-off-by: Brandon Kim Change-Id: Ia161322f75a9c967dab489cdb93776e8abbc828a --- .../gbs-ipmi-entity-association-map/files/entity_association_map.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/meta-quanta/meta-gbs/recipes-gbs/gbs-ipmi-entity-association-map/files/entity_association_map.json b/meta-quanta/meta-gbs/recipes-gbs/gbs-ipmi-entity-association-map/files/entity_association_map.json index f4e453a9a..f430dcf00 100644 --- a/meta-quanta/meta-gbs/recipes-gbs/gbs-ipmi-entity-association-map/files/entity_association_map.json +++ b/meta-quanta/meta-gbs/recipes-gbs/gbs-ipmi-entity-association-map/files/entity_association_map.json @@ -24,6 +24,7 @@ ], "cooling_unit": [ {"instance": 0, "name": "/ZONE0"}, - {"instance": 1, "name": "/ZONE1"} + {"instance": 1, "name": "/ZONE1"}, + {"instance": 2, "name": "/ZONE2"} ] } -- cgit v1.2.3 From c5a21ced0212c170a3c04684f9c296e275b3082b Mon Sep 17 00:00:00 2001 From: Alexander Filippov Date: Tue, 23 Mar 2021 11:17:51 +0300 Subject: Revert "meta-nicole: phosphor-hwmon: Fix VBAT gain" This reverts commit 12f7c29b5365fc3d40665b4326b2f2c8c559ce67. The GAIN was too small due the bug in the phosphor-hwmon. It is no longer required as the bug has already fixed. Signed-off-by: Alexander Filippov Change-Id: I54f565f777e4c0edb7368f70c999b08ce9c05b98 --- .../sensors/phosphor-hwmon/obmc/hwmon/iio-hwmon-battery.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-yadro/meta-nicole/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/iio-hwmon-battery.conf b/meta-yadro/meta-nicole/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/iio-hwmon-battery.conf index a6065805c..290a72252 100644 --- a/meta-yadro/meta-nicole/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/iio-hwmon-battery.conf +++ b/meta-yadro/meta-nicole/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/iio-hwmon-battery.conf @@ -1,5 +1,5 @@ LABEL_in1=vbat -GAIN_in1=0.00225 +GAIN_in1=2.25 # GPIOP2 needs to be pulled high for battery voltage reading GPIOCHIP_in1=0 -- cgit v1.2.3 From db0b884c5b20f663d076a4c7d2888f01441da1cc Mon Sep 17 00:00:00 2001 From: Alexander Filippov Date: Mon, 22 Mar 2021 16:25:27 +0300 Subject: nicole: phosphor-ipmi-host: add vbat sensor This brings the VBAT sensor to the sensor's list shown by the `ipmitool sensor` command. End-User-Impact: The `ipmitool sensor` command will now contain the VBAT sensor. Signed-off-by: Alexander Filippov Change-Id: I6465a2d6386bf6cd271763de678cae1ee086d6ee --- .../nicole-yaml-config/nicole-ipmi-sensors.yaml | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/meta-yadro/meta-nicole/recipes-phosphor/configuration/nicole-yaml-config/nicole-ipmi-sensors.yaml b/meta-yadro/meta-nicole/recipes-phosphor/configuration/nicole-yaml-config/nicole-ipmi-sensors.yaml index 20b3a4ea2..d12d3397b 100644 --- a/meta-yadro/meta-nicole/recipes-phosphor/configuration/nicole-yaml-config/nicole-ipmi-sensors.yaml +++ b/meta-yadro/meta-nicole/recipes-phosphor/configuration/nicole-yaml-config/nicole-ipmi-sensors.yaml @@ -739,3 +739,24 @@ sensorReadingType: 111 sensorType: 31 serviceInterface: org.freedesktop.DBus.Properties + +254: + sensorType: 2 + path: /xyz/openbmc_project/sensors/voltage/vbat + sensorReadingType: 1 + # This gives the measurement 1.800..3.585 volts with a step 0.007 + multiplierM: 7 + offsetB: 18 + bExp: 2 + rExp: -3 + scale: 0 + unit: xyz.openbmc_project.Sensor.Value.Unit.Volts + mutability: Mutability::Read + readingType: readingData + serviceInterface: org.freedesktop.DBus.Properties + interfaces: + xyz.openbmc_project.Sensor.Value: + Value: + Offsets: + 255: + type: double -- cgit v1.2.3 From 3a7d7cb243631c9cbfd3bd884f2a362c4dfda655 Mon Sep 17 00:00:00 2001 From: Alexander Filippov Date: Mon, 22 Mar 2021 16:29:37 +0300 Subject: nicole: phosphor-hwmon: Add VBAT thresholds This brings the thresholds for the VBAT sensor. End-User-Impact: The VBAT sensor will now have thresholds. Signed-off-by: Alexander Filippov Change-Id: I7a8fb0194900cb6f39ab09b6c3ad9f1ff65d23ee --- .../sensors/phosphor-hwmon/obmc/hwmon/iio-hwmon-battery.conf | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/meta-yadro/meta-nicole/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/iio-hwmon-battery.conf b/meta-yadro/meta-nicole/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/iio-hwmon-battery.conf index 290a72252..cca2f395a 100644 --- a/meta-yadro/meta-nicole/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/iio-hwmon-battery.conf +++ b/meta-yadro/meta-nicole/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/iio-hwmon-battery.conf @@ -1,4 +1,8 @@ LABEL_in1=vbat +CRITLO_in1 = "2000" +WARNLO_in1 = "2500" +WARNHI_in1 = "3400" +CRITHI_in1 = "3500" GAIN_in1=2.25 # GPIOP2 needs to be pulled high for battery voltage reading -- cgit v1.2.3 From 04f3ad5e02678b84dda7e2945b5ed1627375cdc6 Mon Sep 17 00:00:00 2001 From: Benjamin Fair Date: Tue, 16 Mar 2021 18:29:47 -0700 Subject: phosphor-ipmi-flash: add Nuvoton P2A PACKAGECONFIGs Add options to PACKAGECONFIG to enable the VGA or MBOX P2A bridge on Nuvoton as a hardware interface. Change-Id: I0a7a9e358988322d370f8ce55a7957b9398d17b2 Signed-off-by: Benjamin Fair --- meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-flash_git.bb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-flash_git.bb b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-flash_git.bb index e487233e3..c9f2fbae3 100644 --- a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-flash_git.bb +++ b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-flash_git.bb @@ -36,6 +36,8 @@ PACKAGECONFIG[host-bios] = "--enable-host-bios, --disable-host-bios" PACKAGECONFIG[aspeed-p2a] = "--enable-aspeed-p2a, --disable-aspeed-p2a" PACKAGECONFIG[aspeed-lpc] = "--enable-aspeed-lpc, --disable-aspeed-lpc" PACKAGECONFIG[nuvoton-lpc] = "--enable-nuvoton-lpc, --disable-nuvoton-lpc" +PACKAGECONFIG[nuvoton-p2a-vga] = "--enable-nuvoton-p2a-vga, --disable-nuvoton-p2a-vga" +PACKAGECONFIG[nuvoton-p2a-mbox] = "--enable-nuvoton-p2a-mbox, --disable-nuvoton-p2a-mbox" PACKAGECONFIG[net-bridge] = "--enable-net-bridge, --disable-net-bridge" EXTRA_OECONF = "--disable-tests --disable-build-host-tool" -- cgit v1.2.3 From 5959900fd96a4679b9dc6ac30be2fe3bf59bd48a Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Mon, 22 Mar 2021 17:10:19 +0000 Subject: host-error-monitor: srcrev bump c90570ab1a..4a6e45c4c2 Jason M. Bills (16): Add base monitor class for the new architecture Add base GPIO polling class for the new architecture Move common functions to host_error_monitor.hpp Add error_monitors with a sample signal Move SMI monitor to the new architecture Move CPU Mismatch monitor to the new architecture Move ERR0 and ERR1 monitor to the new architecture Move ERR2 monitor to the new architecture Move IERR monitor to the new architecture Add base GPIO class for the new architecture Move CPU Thermtip monitor to the new architecture Move Memory Thermtip monitor to the new architecture Move VR Hot monitor to the new architecture Move PCH Thermtrip monitor to the new architecture Clean up host_error_monitor.cpp Fix signal monitor init when power-control is not available Change-Id: Ie63bddc27e050754bff3b10451d4d43c6d1e5387 Signed-off-by: Andrew Geissler --- .../recipes-core/host-error-monitor/host-error-monitor_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-intel-openbmc/meta-common/recipes-core/host-error-monitor/host-error-monitor_git.bb b/meta-intel-openbmc/meta-common/recipes-core/host-error-monitor/host-error-monitor_git.bb index 6b24c522c..1236cbfc7 100644 --- a/meta-intel-openbmc/meta-common/recipes-core/host-error-monitor/host-error-monitor_git.bb +++ b/meta-intel-openbmc/meta-common/recipes-core/host-error-monitor/host-error-monitor_git.bb @@ -7,7 +7,7 @@ SRC_URI = "git://github.com/openbmc/host-error-monitor" DEPENDS = "boost sdbusplus libgpiod libpeci" PV = "0.1+git${SRCPV}" -SRCREV = "c90570ab1ad57ac824edf7b5d0f8a89afbcf0c09" +SRCREV = "4a6e45c4c2f38bc64afe5faac05ea82b3adb8d93" S = "${WORKDIR}/git" -- cgit v1.2.3 From 9adedd718237b56f79fe1a9a9bed5164792272ca Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Fri, 19 Mar 2021 20:20:54 +0000 Subject: phosphor-bmc-code-mgmt: srcrev bump 1fd6dddf7d..447d0daa6e Adriana Kobylak (1): image_manager: Create error on machine mismatch Change-Id: Ia99b7bd6a4b9f6470b75d83b4594781cdf5dfa56 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/flash/phosphor-software-manager.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/flash/phosphor-software-manager.inc b/meta-phosphor/recipes-phosphor/flash/phosphor-software-manager.inc index 7eb09472e..1b2e90810 100644 --- a/meta-phosphor/recipes-phosphor/flash/phosphor-software-manager.inc +++ b/meta-phosphor/recipes-phosphor/flash/phosphor-software-manager.inc @@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/phosphor-bmc-code-mgmt" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" SRC_URI += "git://github.com/openbmc/phosphor-bmc-code-mgmt" -SRCREV = "1fd6dddf7d8203b04a0ff9878f74bc07ffdc0a1e" +SRCREV = "447d0daa6ed1855a9fcd077f17665ff8d9683db3" -- cgit v1.2.3 From c11a61fa7be377114780ff46bd6246fd9e614351 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Tue, 23 Mar 2021 19:51:05 +0000 Subject: phosphor-power: srcrev bump 2f1b7ba6a1..4e8b335e2c Adriana Kobylak (1): utility: Add Get All Properties Brandon Wyman (1): psu-ng: Move entity-manager interaces added Shawn McCarney (2): regulators: Enhance exception utilities regulators: Create error_logging_utils Change-Id: Ic1f48e8cc976e60744382699bcdf201140527dd7 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/power/phosphor-power.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/power/phosphor-power.inc b/meta-phosphor/recipes-phosphor/power/phosphor-power.inc index bbc6069d3..9c6f3fc77 100644 --- a/meta-phosphor/recipes-phosphor/power/phosphor-power.inc +++ b/meta-phosphor/recipes-phosphor/power/phosphor-power.inc @@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/phosphor-power" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" SRC_URI += "git://github.com/openbmc/phosphor-power" -SRCREV = "2f1b7ba6a1cc3bd5db4ca980ca6080f0023ffb71" +SRCREV = "4e8b335e2c914fbc85247ad2e0298ec710b51b55" -- cgit v1.2.3 From d13a9d75fca79dfd008bd2dc21f2bbee2110f4e2 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Tue, 23 Mar 2021 00:11:14 +0000 Subject: webui-vue: srcrev bump 492875622b..56ada53a80 Sandeepa Singh (1): Add internationalization documentation Sukanya Pandey (1): Add event log details Change-Id: I08410a4aa6d4fcc49f47bc0586ea0aa8f8bf9f4c Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/webui/webui-vue_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/webui/webui-vue_git.bb b/meta-phosphor/recipes-phosphor/webui/webui-vue_git.bb index 3d8ee3174..b4760cfd7 100644 --- a/meta-phosphor/recipes-phosphor/webui/webui-vue_git.bb +++ b/meta-phosphor/recipes-phosphor/webui/webui-vue_git.bb @@ -6,7 +6,7 @@ LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" SRC_URI = "git://github.com/openbmc/webui-vue.git" -SRCREV = "492875622b39cb2cf04bbb9248b6ed0c52ced2df" +SRCREV = "56ada53a80c2183f3055661aa8e0f707e4c6669d" S = "${WORKDIR}/git" DEPENDS_prepend = "nodejs-native " -- cgit v1.2.3 From c36212fba1400bc3eae889949ef6cc5f670bf1c3 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Tue, 23 Mar 2021 09:11:24 +0000 Subject: pldm: srcrev bump bcabadac18..4d25f6a6f4 Adriana Kobylak (1): oem-ibm: Fix the hostfw image file name George Liu (1): Fix return value for the pldm_send method Manojkiran Eda (1): oem-ibm : Add new filetype & logic for handling Progress Codes Pavithra Barithaya (1): PLDM:Fix for file I/O by type (lids) writes returning error Sagar Srinivas (1): oem-ibm: Support system reboot after inband code update Change-Id: Icb11034404aef7dc6ef19450b45f53d03d6eef3f Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/pldm/pldm.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/pldm/pldm.inc b/meta-phosphor/recipes-phosphor/pldm/pldm.inc index f3c46b069..f746b538f 100644 --- a/meta-phosphor/recipes-phosphor/pldm/pldm.inc +++ b/meta-phosphor/recipes-phosphor/pldm/pldm.inc @@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/pldm" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" SRC_URI = "git://github.com/openbmc/pldm" -SRCREV = "bcabadac18a072cecce76b0e7038f2978f9025b1" +SRCREV = "4d25f6a6f4a027d51863393e55cb770ededf0358" -- cgit v1.2.3 From 74380d006e73ee65608b163618af832e17e5d68b Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Tue, 23 Mar 2021 01:11:25 +0000 Subject: libmctp: srcrev bump e889b19f4b..b1bf5493e8 Andrew Jeffery (2): docs: Rename astlpc binding to include vendor docs: vendor-ibm-astlpc: Remove intimidating header wording Change-Id: I0d03929210ad5f0481da74003f7179d111821d12 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/mctp/mctp_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/mctp/mctp_git.bb b/meta-phosphor/recipes-phosphor/mctp/mctp_git.bb index 685e2369f..65ada7a11 100644 --- a/meta-phosphor/recipes-phosphor/mctp/mctp_git.bb +++ b/meta-phosphor/recipes-phosphor/mctp/mctp_git.bb @@ -11,7 +11,7 @@ LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=0d30807bb7a4f16d36e96b78f9ed8fae" SRC_URI = "git://github.com/openbmc/libmctp \ file://default" -SRCREV = "e889b19f4b349cd5c4ff186ff3c3b604c8f9c7b6" +SRCREV = "b1bf5493e8031143d2050be19f13bd3d3904f429" CONFFILES_${PN} = "${sysconfdir}/default/mctp" DEPENDS += "autoconf-archive-native \ -- cgit v1.2.3 From 808f131b231e06452386fa0d37610d03325936ef Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Tue, 23 Mar 2021 18:31:23 +0000 Subject: phosphor-state-manager: srcrev bump a59fca489e..4a4c1a6943 Andrew Geissler (4): clear temp reset file on host running clear temp reset file on chassis on remove host@%d-on from config options update documentation on clearing of *-on files Change-Id: Ibed6a41d5bb6a542e2127d21b51d05a19c7e9f19 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/state/phosphor-state-manager_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/state/phosphor-state-manager_git.bb b/meta-phosphor/recipes-phosphor/state/phosphor-state-manager_git.bb index f086a5645..fce243822 100644 --- a/meta-phosphor/recipes-phosphor/state/phosphor-state-manager_git.bb +++ b/meta-phosphor/recipes-phosphor/state/phosphor-state-manager_git.bb @@ -180,6 +180,6 @@ SYSTEMD_LINK_${PN}-obmc-targets += "${@compose_list(d, 'FAN_LINK_FMT', 'OBMC_CHA SYSTEMD_LINK_${PN}-obmc-targets += "${@compose_list(d, 'QUIESCE_FMT', 'HOST_ERROR_TARGETS', 'OBMC_HOST_INSTANCES')}" SRC_URI += "git://github.com/openbmc/phosphor-state-manager" -SRCREV = "a59fca489e2239698a5653cf801ed9572f071212" +SRCREV = "4a4c1a69432dd88a4204e7a15a838aae75ae1d12" S = "${WORKDIR}/git" -- cgit v1.2.3 From f45b3abc6bf905784e4b9a9c7b3f482e8a591c1e Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Tue, 23 Mar 2021 22:00:24 +0000 Subject: openpower-hw-diags: srcrev bump 1d29e5c7da..0b8368cb0a Zane Shelley (1): Initial classes for callout resolutions Change-Id: I9a0e57e7191ff31aea3099b456ef6c064318fd84 Signed-off-by: Andrew Geissler --- meta-openpower/recipes-phosphor/logging/openpower-hw-diags_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-openpower/recipes-phosphor/logging/openpower-hw-diags_git.bb b/meta-openpower/recipes-phosphor/logging/openpower-hw-diags_git.bb index 3c788dfd8..fdcff05f1 100644 --- a/meta-openpower/recipes-phosphor/logging/openpower-hw-diags_git.bb +++ b/meta-openpower/recipes-phosphor/logging/openpower-hw-diags_git.bb @@ -9,7 +9,7 @@ SRC_URI = "git://github.com/openbmc/openpower-hw-diags" SYSTEMD_SERVICE_${PN} = "attn_handler.service" PV = "0.1+git${SRCPV}" -SRCREV = "1d29e5c7da9aad5c3a2ea63a9fa4b5da7c6bd75e" +SRCREV = "0b8368cb0aa251032eb18b5c938d009e27f0b152" S = "${WORKDIR}/git" -- cgit v1.2.3 From aa395cc617408d9ab50b5a0c278cb3165c96801f Mon Sep 17 00:00:00 2001 From: George Hung Date: Tue, 23 Mar 2021 17:55:01 +0800 Subject: meta-quanta: common: read-margin-temp srcrev bump ca2dc1bf7f..898f158b56 Josh Lehan (2): Massively refactored to fix bugs and use double Add single point of failure mode and error detect quadpixels (1): Reuse DBus connections and reduce redundant DBus messages Harvey Wu (8): use struct to save zones objects comment some print log in util.cpp comment some print log in dbus.hpp fix function input parameter fit the coding standard Add option and function according issue #11 Add "debug", "ignore" option Add NVMe Present Option Signed-off-by: George Hung Change-Id: I8cfa8d127c4ff2f9d8ba02bea73bcca6d2c62f9e --- meta-quanta/meta-common/recipes-quanta/fans/read-margin-temp_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-quanta/meta-common/recipes-quanta/fans/read-margin-temp_git.bb b/meta-quanta/meta-common/recipes-quanta/fans/read-margin-temp_git.bb index fd5819d42..f2354f1d4 100644 --- a/meta-quanta/meta-common/recipes-quanta/fans/read-margin-temp_git.bb +++ b/meta-quanta/meta-common/recipes-quanta/fans/read-margin-temp_git.bb @@ -4,7 +4,7 @@ LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10" SRC_URI = "git://github.com/quanta-bmc/read-margin-temp.git" -SRCREV = "ca2dc1bf7f34d517f0edc59dd3596c3a76c3d7a1" +SRCREV = "898f158b56f8cc16474dfc46e032a0d754b437c6" S = "${WORKDIR}/git" inherit autotools pkgconfig -- cgit v1.2.3 From 9f410ccf2825825c8a3dafed00eb11aef4ffe2da Mon Sep 17 00:00:00 2001 From: Vishwanatha Subbanna Date: Tue, 23 Mar 2021 13:52:11 +0000 Subject: leds: rainier: Enable PACKAGECONFIG to use json This enables phosphor-ledmanager to use JSON configuration file Change-Id: I3cbd0bf6b60e81f9f0a479ad51dab438c708c6c1 Signed-off-by: Vishwanatha Subbanna --- meta-ibm/recipes-phosphor/leds/phosphor-led-manager_%.bbappend | 3 +++ meta-phosphor/recipes-phosphor/leds/phosphor-led-manager_git.bb | 3 +++ 2 files changed, 6 insertions(+) diff --git a/meta-ibm/recipes-phosphor/leds/phosphor-led-manager_%.bbappend b/meta-ibm/recipes-phosphor/leds/phosphor-led-manager_%.bbappend index 612139550..325d8bf7f 100644 --- a/meta-ibm/recipes-phosphor/leds/phosphor-led-manager_%.bbappend +++ b/meta-ibm/recipes-phosphor/leds/phosphor-led-manager_%.bbappend @@ -5,6 +5,9 @@ SYSTEMD_SERVICE_${PN}-ledmanager_append_rainier += "obmc-led-set-all-groups-asse # Copies config file having arguments for led-set-all-groups-asserted.sh SYSTEMD_ENVIRONMENT_FILE_${PN}-ledmanager_append_rainier +="obmc/led/set-all/groups/config" +# Use the JSON configuration file at runtime than the static led.yaml +PACKAGECONFIG_append_rainier = " use-json" + pkg_postinst_${PN}-ledmanager_rainier () { # Needed this to run as part of BMC boot diff --git a/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager_git.bb b/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager_git.bb index 55171dbed..01932d22a 100644 --- a/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager_git.bb +++ b/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager_git.bb @@ -13,6 +13,9 @@ LED_MGR_PACKAGES = " \ ${PN}-faultmonitor \ " +PACKAGECONFIG ??= "" +PACKAGECONFIG[use-json] = "--enable-use-json, --disable-use-json" + PACKAGE_BEFORE_PN += "${LED_MGR_PACKAGES}" ALLOW_EMPTY_${PN} = "1" -- cgit v1.2.3 From e5362dbac8d91289eb83936e79b5ac0a6e649e9f Mon Sep 17 00:00:00 2001 From: Vishwanatha Subbanna Date: Wed, 24 Mar 2021 05:13:01 -0500 Subject: leds: rainier: lamptest: Enable lamp test feature for rainier system This commit enables phosphor-ledmanager to do lamp test Change-Id: I4933ec034911198f99ae1289f681f15057310c33 Signed-off-by: Vishwanatha Subbanna --- meta-ibm/recipes-phosphor/leds/phosphor-led-manager_%.bbappend | 3 ++- meta-phosphor/recipes-phosphor/leds/phosphor-led-manager_git.bb | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/meta-ibm/recipes-phosphor/leds/phosphor-led-manager_%.bbappend b/meta-ibm/recipes-phosphor/leds/phosphor-led-manager_%.bbappend index 325d8bf7f..ba146bcb6 100644 --- a/meta-ibm/recipes-phosphor/leds/phosphor-led-manager_%.bbappend +++ b/meta-ibm/recipes-phosphor/leds/phosphor-led-manager_%.bbappend @@ -6,7 +6,8 @@ SYSTEMD_SERVICE_${PN}-ledmanager_append_rainier += "obmc-led-set-all-groups-asse SYSTEMD_ENVIRONMENT_FILE_${PN}-ledmanager_append_rainier +="obmc/led/set-all/groups/config" # Use the JSON configuration file at runtime than the static led.yaml -PACKAGECONFIG_append_rainier = " use-json" +# Also, enable Lamp Test feature for rainier systems +PACKAGECONFIG_append_rainier = " use-json use-lamp-test" pkg_postinst_${PN}-ledmanager_rainier () { diff --git a/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager_git.bb b/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager_git.bb index 01932d22a..beaf93183 100644 --- a/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager_git.bb +++ b/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager_git.bb @@ -15,6 +15,7 @@ LED_MGR_PACKAGES = " \ PACKAGECONFIG ??= "" PACKAGECONFIG[use-json] = "--enable-use-json, --disable-use-json" +PACKAGECONFIG[use-lamp-test] = "--enable-use-lamp-test, --disable-use-lamp-test" PACKAGE_BEFORE_PN += "${LED_MGR_PACKAGES}" ALLOW_EMPTY_${PN} = "1" -- cgit v1.2.3 From d02eb789919ee9877eab93105f9872e48322b399 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Wed, 24 Mar 2021 17:50:24 +0000 Subject: google-misc: srcrev bump 3f43b7eebe..b056df698c Brandon Kim (1): acpi-power-state: Import from gBMC William A. Kennington III (2): meson: Fix build with 0.57.1 metrics-ipmi-blobs: Fix generated source dependency Change-Id: I3234d7d21787e3050b53abcdb62e0f89e0dce78e Signed-off-by: Andrew Geissler --- meta-google/recipes-google/ipmi/metrics-ipmi-blobs_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-google/recipes-google/ipmi/metrics-ipmi-blobs_git.bb b/meta-google/recipes-google/ipmi/metrics-ipmi-blobs_git.bb index 86ab7cc73..3eefb9d8c 100644 --- a/meta-google/recipes-google/ipmi/metrics-ipmi-blobs_git.bb +++ b/meta-google/recipes-google/ipmi/metrics-ipmi-blobs_git.bb @@ -13,7 +13,7 @@ DEPENDS += "protobuf-native" DEPENDS += "protobuf" SRC_URI = "git://github.com/openbmc/google-misc" -SRCREV = "3f43b7eebe17c96c13643018c927f38c0a071868" +SRCREV = "b056df698ca4405b7adfa5bbf931f4b8a9431e55" S = "${WORKDIR}/git/metrics-ipmi-blobs" FILES_${PN} += "${libdir}/ipmid-providers/libmetricsblob.so*" -- cgit v1.2.3 From 9c37f1ee3d2f39c62fa73b201bce91bf36f78af9 Mon Sep 17 00:00:00 2001 From: Bruce Mitchell Date: Tue, 9 Mar 2021 16:57:28 +0000 Subject: kexec: Added to Witherspoon-Tacoma & Rainier images For implementing kdump Witherspoon-Tacoma and Rainier kexec is needed. This was done by pulling kexec-tools package into the build. Tested: I successfully build each Witherspoon-Tacoma and Rainier booted each in QEMU and manually verified kexec with no parameters showed the version and help. Presently the kernel's SMP is missing HOTPLUG so further testing of kexec utility is not possible. Signed-off-by: Bruce Mitchell Change-Id: I253dd3e0c46987070b5c252dcd5ab6008b3b09d3 --- .../recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta-ibm/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend b/meta-ibm/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend index ce13dc115..6944e5933 100644 --- a/meta-ibm/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend +++ b/meta-ibm/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend @@ -28,9 +28,9 @@ RDEPENDS_${PN}-inventory_append_mihawk = " openpower-fru-vpd openpower-occ-contr RDEPENDS_${PN}-fan-control_append_ibm-ac-server = " fan-watchdog" RDEPENDS_${PN}-fan-control_append_rainier = " fan-watchdog sensor-monitor" RDEPENDS_${PN}-extras_append_ibm-ac-server = " ${POWER_SERVICE_PACKAGES_AC_SERVER} witherspoon-power-supply-sync phosphor-webui" -RDEPENDS_${PN}-extras_append_rainier = " ${POWER_SERVICE_PACKAGES_RAINIER} webui-vue dbus-sensors phosphor-virtual-sensor" +RDEPENDS_${PN}-extras_append_rainier = " ${POWER_SERVICE_PACKAGES_RAINIER} webui-vue dbus-sensors phosphor-virtual-sensor kexec-tools" RDEPENDS_${PN}-extras_append_mihawk = " phosphor-webui phosphor-image-signing wistron-ipmi-oem ${POWER_SERVICE_PACKAGES_AC_SERVER}" -RDEPENDS_${PN}-extras_append_witherspoon-tacoma = " pldm srvcfg-manager webui-vue biosconfig-manager phosphor-post-code-manager phosphor-host-postd" +RDEPENDS_${PN}-extras_append_witherspoon-tacoma = " pldm srvcfg-manager webui-vue biosconfig-manager phosphor-post-code-manager phosphor-host-postd kexec-tools" RDEPENDS_${PN}-extras_remove_rainier = "obmc-ikvm liberation-fonts uart-render-controller" RDEPENDS_${PN}-extras_remove_swift = "obmc-ikvm" -- cgit v1.2.3 From 6714373f115a916f5bd61bd96824f06d657f7bb1 Mon Sep 17 00:00:00 2001 From: Zane Shelley Date: Tue, 23 Mar 2021 17:08:45 -0500 Subject: Rearranged openpower-hw-diags recipe for clarity This file was a bit disorganized and was updated to follow the formula of other recipes. Change-Id: Iddccddd5c463f08540fc61051bf4a67a577a0d89 Signed-off-by: Zane Shelley --- .../logging/openpower-hw-diags_git.bb | 24 ++++++++++++++-------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/meta-openpower/recipes-phosphor/logging/openpower-hw-diags_git.bb b/meta-openpower/recipes-phosphor/logging/openpower-hw-diags_git.bb index fdcff05f1..94cae40ec 100644 --- a/meta-openpower/recipes-phosphor/logging/openpower-hw-diags_git.bb +++ b/meta-openpower/recipes-phosphor/logging/openpower-hw-diags_git.bb @@ -1,22 +1,28 @@ -inherit meson systemd +HOMEPAGE = "https://github.com/openbmc/openpower-hw-diags" +SUMMARY = "Hardware Diagnostics for POWER Systems" + +DESCRIPTION = \ + "In the event of a system fatal error reported by the internal system \ + hardware (processor chips, memory chips, I/O chips, system memory, etc.), \ + POWER Systems have the ability to diagnose the root cause of the failure \ + and perform any service action needed to avoid repeated system failures." -SUMMARY = "ATTN and HwDiags Support" -DESCRIPTION = "Attention Handler and Hardware Diagnostics" +PV = "0.1+git${SRCPV}" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" -SRC_URI = "git://github.com/openbmc/openpower-hw-diags" +inherit meson systemd -SYSTEMD_SERVICE_${PN} = "attn_handler.service" -PV = "0.1+git${SRCPV}" +S = "${WORKDIR}/git" + +SRC_URI = "git://github.com/openbmc/openpower-hw-diags" SRCREV = "0b8368cb0aa251032eb18b5c938d009e27f0b152" -S = "${WORKDIR}/git" +SYSTEMD_SERVICE_${PN} = "attn_handler.service" +FILES_${PN} += "${UNITDIR}/attn_handler.service" DEPENDS = "boost libgpiod pdbg phosphor-logging sdbusplus openpower-libhei \ nlohmann-json" -FILES_${PN} += "${UNITDIR}/attn_handler.service" - # This is required so that libhei is installed with the chip data files. RDEPENDS_${PN} += "openpower-libhei" -- cgit v1.2.3 From cbb15ab4921045abe0c36de112e719108eb9b294 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Fri, 12 Mar 2021 18:19:01 -0800 Subject: meta-google: nftables-systemd: Flush at start We don't want errors in loading previous rules to affect the state of the ruleset during restart. Change-Id: Ic122e971670d56022029f1155c1accdf129672d0 Signed-off-by: William A. Kennington III --- meta-google/recipes-google/nftables/files/nft-configure.sh | 1 + meta-google/recipes-google/nftables/files/nftables.service | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/meta-google/recipes-google/nftables/files/nft-configure.sh b/meta-google/recipes-google/nftables/files/nft-configure.sh index a82c2826f..05bb23d8b 100644 --- a/meta-google/recipes-google/nftables/files/nft-configure.sh +++ b/meta-google/recipes-google/nftables/files/nft-configure.sh @@ -9,6 +9,7 @@ for dir in /run/nftables /etc/nftables /usr/share/nftables; do let i+=1 done rc=0 +nft flush ruleset || rc=$? for key in $(printf "%s\n" "${!basemap[@]}" | sort -r); do echo "Executing ${basemap[$key]}" >&2 nft -f "${basemap[$key]}" || rc=$? diff --git a/meta-google/recipes-google/nftables/files/nftables.service b/meta-google/recipes-google/nftables/files/nftables.service index 79f0bb5b0..770a3d3ac 100644 --- a/meta-google/recipes-google/nftables/files/nftables.service +++ b/meta-google/recipes-google/nftables/files/nftables.service @@ -5,7 +5,7 @@ Before=network-pre.target Type=oneshot RemainAfterExit=yes ExecStart=/usr/libexec/nft-configure.sh -ExecStop=/bin/bash -c 'nft flush ruleset' +ExecStop=/usr/sbin/nft flush ruleset [Install] WantedBy=multi-user.target -- cgit v1.2.3 From 511bd615b05d08e441c036271b532bc9b699258f Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Wed, 24 Mar 2021 11:12:07 -0700 Subject: meta-google: google-misc: Split into include We don't want to generate bump commits for each project in the repo. Instead, provide an include that has common parameters used by all google-misc projects. Change-Id: Ice589c03aa0d38ca5043ee2081f3757568c4e4bb Signed-off-by: William A. Kennington III --- .../acpi-power-state-daemon_git.bb | 31 +++++++------------ .../recipes-google/google-misc/google-misc.inc | 12 ++++++++ .../recipes-google/ipmi/metrics-ipmi-blobs_git.bb | 35 +++++++++++----------- meta-google/recipes-google/ncsi/ncsid_git.bb | 19 ++++-------- 4 files changed, 46 insertions(+), 51 deletions(-) create mode 100644 meta-google/recipes-google/google-misc/google-misc.inc diff --git a/meta-google/recipes-google/acpi-power-state-daemon/acpi-power-state-daemon_git.bb b/meta-google/recipes-google/acpi-power-state-daemon/acpi-power-state-daemon_git.bb index 4e27309de..0755d4eab 100644 --- a/meta-google/recipes-google/acpi-power-state-daemon/acpi-power-state-daemon_git.bb +++ b/meta-google/recipes-google/acpi-power-state-daemon/acpi-power-state-daemon_git.bb @@ -1,28 +1,19 @@ SUMMARY = "ACPI Power/Sleep state daemon to allow host state events" DESCRIPTION = "ACPI Power/Sleep state daemon to allow host state events" -HOMEPAGE = "http://github.com/openbmc/google-misc" -PR = "r1" -PV = "1.0+git${SRCPV}" +GOOGLE_MISC_PROJ = "acpi-power-state-daemon" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://../LICENSE;md5=34400b68072d710fecd0a2940a0d1658" +require ../google-misc/google-misc.inc -SRC_URI += "git://github.com/openbmc/google-misc" -SRCREV = "1285115c16180bd28a3cfe79d9db8d10c84fe2ed" -S = "${WORKDIR}/git/acpi-power-state-daemon" - -inherit meson -inherit pkgconfig -inherit systemd +inherit pkgconfig systemd DEPENDS += " \ - phosphor-dbus-interfaces \ - sdbusplus \ - systemd \ - " + phosphor-dbus-interfaces \ + sdbusplus \ + systemd \ + " SYSTEMD_SERVICE_${PN} = " \ - acpi-power-state.service \ - host-s0-state.target \ - host-s5-state.target \ - " + acpi-power-state.service \ + host-s0-state.target \ + host-s5-state.target \ + " diff --git a/meta-google/recipes-google/google-misc/google-misc.inc b/meta-google/recipes-google/google-misc/google-misc.inc new file mode 100644 index 000000000..6146b2e62 --- /dev/null +++ b/meta-google/recipes-google/google-misc/google-misc.inc @@ -0,0 +1,12 @@ +HOMEPAGE = "http://github.com/openbmc/google-misc" +PR = "r1" +PV = "1.0+git${SRCPV}" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://../../LICENSE;md5=34400b68072d710fecd0a2940a0d1658" + +SRC_URI += "git://github.com/openbmc/google-misc" +SRCREV = "b056df698ca4405b7adfa5bbf931f4b8a9431e55" + +S = "${WORKDIR}/git/subprojects/${GOOGLE_MISC_PROJ}" +inherit meson diff --git a/meta-google/recipes-google/ipmi/metrics-ipmi-blobs_git.bb b/meta-google/recipes-google/ipmi/metrics-ipmi-blobs_git.bb index 3eefb9d8c..4518f49b5 100644 --- a/meta-google/recipes-google/ipmi/metrics-ipmi-blobs_git.bb +++ b/meta-google/recipes-google/ipmi/metrics-ipmi-blobs_git.bb @@ -1,28 +1,27 @@ -HOMEPAGE = "http://github.com/openbmc/google-misc" SUMMARY = "gBMC Health Metrics Blob" DESCRIPTION = "BMC health metrics IPMI blob handler." -PR = "r1" -PV = "0.1+git${SRCPV}" -LICENSE = "Apache-2.0" +GOOGLE_MISC_PROJ = "metrics-ipmi-blobs" -inherit meson pkgconfig +require ../google-misc/google-misc.inc -DEPENDS += "phosphor-ipmi-blobs" -DEPENDS += "phosphor-logging" -DEPENDS += "protobuf-native" -DEPENDS += "protobuf" +inherit pkgconfig -SRC_URI = "git://github.com/openbmc/google-misc" -SRCREV = "b056df698ca4405b7adfa5bbf931f4b8a9431e55" -S = "${WORKDIR}/git/metrics-ipmi-blobs" - -FILES_${PN} += "${libdir}/ipmid-providers/libmetricsblob.so*" -FILES_${PN} += "${libdir}/blob-ipmid/libmetricsblob.so*" -INSANE_SKIP_${PN} += "dev-so" +DEPENDS += " \ + phosphor-ipmi-blobs \ + phosphor-logging \ + protobuf-native \ + protobuf \ + " +FILES_${PN} += " \ + ${libdir}/ipmid-providers/libmetricsblob.so* \ + ${libdir}/blob-ipmid/libmetricsblob.so* \ + " BLOBIPMI_PROVIDER_LIBRARY += "libmetricsblob.so" +INSANE_SKIP_${PN} += "dev-so" + do_install_append() { - install -d ${D}/${libdir}/blob-ipmid - ln -s ../ipmid-providers/libmetricsblob.so ${D}/${libdir}/blob-ipmid/libmetricsblob.so.0 + install -d ${D}/${libdir}/blob-ipmid + ln -s ../ipmid-providers/libmetricsblob.so ${D}/${libdir}/blob-ipmid/libmetricsblob.so.0 } diff --git a/meta-google/recipes-google/ncsi/ncsid_git.bb b/meta-google/recipes-google/ncsi/ncsid_git.bb index 4972ce854..4d74c992a 100644 --- a/meta-google/recipes-google/ncsi/ncsid_git.bb +++ b/meta-google/recipes-google/ncsi/ncsid_git.bb @@ -1,17 +1,10 @@ SUMMARY = "Google NCSI daemon" DESCRIPTION = "Google NCSI daemon." -HOMEPAGE = "http://github.com/openbmc/google-misc" -PR = "r1" -PV = "1.0+git${SRCPV}" +GOOGLE_MISC_PROJ = "ncsid" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://../LICENSE;md5=34400b68072d710fecd0a2940a0d1658" +require ../google-misc/google-misc.inc -SRC_URI += "git://github.com/openbmc/google-misc" -SRCREV = "1285115c16180bd28a3cfe79d9db8d10c84fe2ed" -S = "${WORKDIR}/git/ncsid" - -inherit meson systemd +inherit systemd SYSTEMD_SERVICE_${PN} += " \ dhcp4@.service \ @@ -21,13 +14,13 @@ SYSTEMD_SERVICE_${PN} += " \ nic-hostless@.target \ update-static-neighbors@.service \ update-static-neighbors@.timer \ -" + " DEPENDS += " \ fmt \ sdbusplus \ stdplus \ -" + " RDEPENDS_${PN} += " \ bash \ @@ -37,4 +30,4 @@ RDEPENDS_${PN} += " \ ndisc6-ndisc6 \ ndisc6-rdisc6 \ systemd \ -" + " -- cgit v1.2.3 From 1bca457e6ba5a4ba75241a77c5bcfe2ed62fcca8 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Wed, 24 Mar 2021 22:12:29 +0000 Subject: google-misc: srcrev bump b056df698c..4c68ffb8b0 William A. Kennington III (1): kcsbridge: Add alternative daemon Change-Id: I9e022d7b6d447269362652487f0d963ea2df53b4 Signed-off-by: Andrew Geissler --- meta-google/recipes-google/google-misc/google-misc.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-google/recipes-google/google-misc/google-misc.inc b/meta-google/recipes-google/google-misc/google-misc.inc index 6146b2e62..95f52613a 100644 --- a/meta-google/recipes-google/google-misc/google-misc.inc +++ b/meta-google/recipes-google/google-misc/google-misc.inc @@ -6,7 +6,7 @@ LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://../../LICENSE;md5=34400b68072d710fecd0a2940a0d1658" SRC_URI += "git://github.com/openbmc/google-misc" -SRCREV = "b056df698ca4405b7adfa5bbf931f4b8a9431e55" +SRCREV = "4c68ffb8b08fa4484824586ef4a981bcfabd38bb" S = "${WORKDIR}/git/subprojects/${GOOGLE_MISC_PROJ}" inherit meson -- cgit v1.2.3 From f89db26b407e44a620eccfae7df3186d65bdfa0c Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Tue, 23 Mar 2021 22:59:10 -0700 Subject: meta-google: google-kcsbridge: Add package Change-Id: I4507510cdb63c4be710c5674da87d640c633d610 Signed-off-by: William A. Kennington III --- meta-google/recipes-google/kcs/google-kcsbridge_git.bb | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 meta-google/recipes-google/kcs/google-kcsbridge_git.bb diff --git a/meta-google/recipes-google/kcs/google-kcsbridge_git.bb b/meta-google/recipes-google/kcs/google-kcsbridge_git.bb new file mode 100644 index 000000000..4b3138eee --- /dev/null +++ b/meta-google/recipes-google/kcs/google-kcsbridge_git.bb @@ -0,0 +1,16 @@ +SUMMARY = "Google NCSI daemon" +DESCRIPTION = "Google NCSI daemon." +GOOGLE_MISC_PROJ = "kcsbridge" + +require ../google-misc/google-misc.inc + +inherit systemd + +DEPENDS += " \ + fmt \ + sdbusplus \ + sdeventplus \ + stdplus \ +" + +SYSTEMD_SERVICE_${PN} += "kcsbridge@.service" -- cgit v1.2.3 From f93003dd8cf24bd689a7cf24407273b54b9994d4 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Tue, 23 Mar 2021 22:59:39 -0700 Subject: meta-google: gbmc-kcs-config: Add package Change-Id: I0e68a7520191554680c94d8e3b8bc98f368ac71b Signed-off-by: William A. Kennington III --- meta-google/recipes-google/kcs/gbmc-kcs-config.bb | 46 ++++++++++++++++++++++ .../images/obmc-phosphor-image.bbappend | 2 + 2 files changed, 48 insertions(+) create mode 100644 meta-google/recipes-google/kcs/gbmc-kcs-config.bb diff --git a/meta-google/recipes-google/kcs/gbmc-kcs-config.bb b/meta-google/recipes-google/kcs/gbmc-kcs-config.bb new file mode 100644 index 000000000..ca7110660 --- /dev/null +++ b/meta-google/recipes-google/kcs/gbmc-kcs-config.bb @@ -0,0 +1,46 @@ +SUMMARY = "Configures KCS for a gBMC system" +PR = "r1" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10" + +inherit systemd + +S = "${WORKDIR}" + +PROVIDES += "virtual-obmc-host-ipmi-hw" +RPROVIDES_${PN} += "virtual-obmc-host-ipmi-hw" + +FILES_${PN} += "${systemd_system_unitdir}" +RDEPENDS_${PN} += "google-kcsbridge" + +GBMC_KCS_DEV ?= "" + +def systemd_escape_char(c): + return '\\x{:x}'.format(ord(c)) + +def systemd_escape(unit): + import string + ret = '' + if len(unit) > 0 and unit[0] == '.': + ret += systemd_escape_char(unit[0]) + unit = unit[1:] + for c in unit: + if c == '/': + ret += '-' + elif c not in {*string.ascii_letters, *string.digits, ':', '_', '.'}: + ret += systemd_escape_char(c) + else: + ret += c + return ret + +do_install_append() { + if [ -z '${GBMC_KCS_DEV}' ]; then + echo "Missing GBMC_KCS_DEV" >&2 + exit 1 + fi + + wantdir=${D}${systemd_system_unitdir}/multi-user.target.wants + install -d -m0755 $wantdir + inst="${@systemd_escape(GBMC_KCS_DEV)}" + ln -sv ../kcsbridge@.service $wantdir/kcsbridge@$inst.service +} diff --git a/meta-google/recipes-phosphor/images/obmc-phosphor-image.bbappend b/meta-google/recipes-phosphor/images/obmc-phosphor-image.bbappend index acccde532..0dc37fd4e 100644 --- a/meta-google/recipes-phosphor/images/obmc-phosphor-image.bbappend +++ b/meta-google/recipes-phosphor/images/obmc-phosphor-image.bbappend @@ -11,3 +11,5 @@ OBMC_IMAGE_EXTRA_INSTALL_append_gbmc = \ '${@"" if not d.getVar("GBMC_NCSI_IF_NAME") else " gbmc-ncsi-config"}' OBMC_IMAGE_EXTRA_INSTALL_append_gbmc = \ '${@"" if not d.getVar("GBMC_MAC_EEPROM_OF_NAME") else " gbmc-mac-config"}' +OBMC_IMAGE_EXTRA_INSTALL_append_gbmc = \ + '${@"" if not d.getVar("GBMC_KCS_DEV") else " gbmc-kcs-config"}' -- cgit v1.2.3 From 3f2570e74ef929c7449911df18c1a8b9a59f02f1 Mon Sep 17 00:00:00 2001 From: Brandon Kim Date: Wed, 24 Mar 2021 16:58:02 -0700 Subject: meta-quanta: gbs: Use gBMC KCS daemon Signed-off-by: Brandon Kim Change-Id: If3358964f776d0f9ae55f4eee5ea05d6d95b050a --- meta-quanta/meta-gbs/conf/machine/gbs.conf | 3 ++- .../recipes-phosphor/ipmi/phosphor-ipmi-kcs/99-ipmi-kcs.rules | 1 - .../meta-gbs/recipes-phosphor/ipmi/phosphor-ipmi-kcs_%.bbappend | 9 --------- 3 files changed, 2 insertions(+), 11 deletions(-) delete mode 100644 meta-quanta/meta-gbs/recipes-phosphor/ipmi/phosphor-ipmi-kcs/99-ipmi-kcs.rules delete mode 100644 meta-quanta/meta-gbs/recipes-phosphor/ipmi/phosphor-ipmi-kcs_%.bbappend diff --git a/meta-quanta/meta-gbs/conf/machine/gbs.conf b/meta-quanta/meta-gbs/conf/machine/gbs.conf index 241905262..e9456b5ec 100644 --- a/meta-quanta/meta-gbs/conf/machine/gbs.conf +++ b/meta-quanta/meta-gbs/conf/machine/gbs.conf @@ -11,6 +11,7 @@ require conf/machine/include/npcm7xx.inc require conf/machine/include/obmc-bsp-common.inc GBMC_NCSI_IF_NAME = "eth0" +GBMC_KCS_DEV = "ipmi-kcs1" # Overwrite flash offsets FLASH_ROFS_OFFSET = "7296" @@ -34,7 +35,7 @@ VIRTUAL-RUNTIME_obmc-discover-system-state = "x86-power-control" PREFERRED_PROVIDER_virtual/obmc-chassis-mgmt = "packagegroup-gbs-apps" PREFERRED_PROVIDER_virtual/obmc-fan-mgmt = "packagegroup-gbs-apps" PREFERRED_PROVIDER_virtual/obmc-flash-mgmt = "packagegroup-gbs-apps" -PREFERRED_PROVIDER_virtual/obmc-host-ipmi-hw = "phosphor-ipmi-kcs" +PREFERRED_PROVIDER_virtual/obmc-host-ipmi-hw = "gbmc-kcs-config" PREFERRED_PROVIDER_virtual/phosphor-led-manager-config-native = "gbs-led-manager-config-native" # Remove unneeded binaries from image diff --git a/meta-quanta/meta-gbs/recipes-phosphor/ipmi/phosphor-ipmi-kcs/99-ipmi-kcs.rules b/meta-quanta/meta-gbs/recipes-phosphor/ipmi/phosphor-ipmi-kcs/99-ipmi-kcs.rules deleted file mode 100644 index 1de5562c3..000000000 --- a/meta-quanta/meta-gbs/recipes-phosphor/ipmi/phosphor-ipmi-kcs/99-ipmi-kcs.rules +++ /dev/null @@ -1 +0,0 @@ -KERNEL=="ipmi-kcs1", SYMLINK+="ipmi_kcs1" diff --git a/meta-quanta/meta-gbs/recipes-phosphor/ipmi/phosphor-ipmi-kcs_%.bbappend b/meta-quanta/meta-gbs/recipes-phosphor/ipmi/phosphor-ipmi-kcs_%.bbappend deleted file mode 100644 index a7f60d4cc..000000000 --- a/meta-quanta/meta-gbs/recipes-phosphor/ipmi/phosphor-ipmi-kcs_%.bbappend +++ /dev/null @@ -1,9 +0,0 @@ -KCS_DEVICE_gbs = "ipmi_kcs1" - -FILESEXTRAPATHS_prepend_gbs := "${THISDIR}/${PN}:" -SRC_URI_append_gbs = " file://99-ipmi-kcs.rules" - -do_install_append_gbs() { - install -d ${D}/lib/udev/rules.d - install -m 0644 ${WORKDIR}/99-ipmi-kcs.rules ${D}/lib/udev/rules.d -} -- cgit v1.2.3 From 89f2ff261385c43bd181739b0e60031223940c55 Mon Sep 17 00:00:00 2001 From: George Hung Date: Thu, 25 Mar 2021 13:59:12 +0800 Subject: meta-quanta: gbs: overwrite the WCTEMP reading to json config Read WCTEMP reading and overwrite to config-margin.json and update the WCTEMP variables to be wrapped in @@ to avoid any mis-replacement Signed-off-by: George Hung Change-Id: I2f6eae64acc1db089c1a3ca48288ae360d555dac --- .../fans/read-margin-temp/config-margin.json | 423 --------------------- .../fans/read-margin-temp/config-margin.json.in | 423 +++++++++++++++++++++ .../fans/read-margin-temp/read-margin-temp-wait.sh | 26 +- .../fans/read-margin-temp_%.bbappend | 9 +- 4 files changed, 439 insertions(+), 442 deletions(-) delete mode 100644 meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp/config-margin.json create mode 100644 meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp/config-margin.json.in diff --git a/meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp/config-margin.json b/meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp/config-margin.json deleted file mode 100644 index e28c0be0f..000000000 --- a/meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp/config-margin.json +++ /dev/null @@ -1,423 +0,0 @@ -{ - "sensors" : [ - { - "name": "cputemp", - "unit": "millidegree", - "type": "dbus", - "path": "/xyz/openbmc_project/sensors/temperature/cputemp", - "parameters": { - "type": "", - "maxTemp": 95000, - "path": "", - "sysLabel": "", - "targetTemp": -1, - "targetTempOffset": -15000, - "scalar": 1.0 - } - }, - { - "name": "nvme0", - "unit": "millidegree", - "type": "dbus", - "path": "/xyz/openbmc_project/sensors/temperature/nvme0", - "parameters": { - "type": "", - "maxTemp": WCTemp00, - "path": "", - "sysLabel": "", - "targetTemp": -1, - "targetTempOffset": -7000, - "scalar": 1.0 - } - }, - { - "name": "nvme1", - "unit": "millidegree", - "type": "dbus", - "path": "/xyz/openbmc_project/sensors/temperature/nvme1", - "parameters": { - "type": "", - "maxTemp": WCTemp01, - "path": "", - "sysLabel": "", - "targetTemp": -1, - "targetTempOffset": -7000, - "scalar": 1.0 - } - }, - { - "name": "nvme2", - "unit": "millidegree", - "type": "dbus", - "path": "/xyz/openbmc_project/sensors/temperature/nvme2", - "parameters": { - "type": "", - "maxTemp": WCTemp02, - "path": "", - "sysLabel": "", - "targetTemp": -1, - "targetTempOffset": -7000, - "scalar": 1.0 - } - }, - { - "name": "nvme3", - "unit": "millidegree", - "type": "dbus", - "path": "/xyz/openbmc_project/sensors/temperature/nvme3", - "parameters": { - "type": "", - "maxTemp": WCTemp03, - "path": "", - "sysLabel": "", - "targetTemp": -1, - "targetTempOffset": -7000, - "scalar": 1.0 - } - }, - { - "name": "nvme4", - "unit": "millidegree", - "type": "dbus", - "path": "/xyz/openbmc_project/sensors/temperature/nvme4", - "parameters": { - "type": "", - "maxTemp": WCTemp04, - "path": "", - "sysLabel": "", - "targetTemp": -1, - "targetTempOffset": -7000, - "scalar": 1.0 - } - }, - { - "name": "nvme5", - "unit": "millidegree", - "type": "dbus", - "path": "/xyz/openbmc_project/sensors/temperature/nvme5", - "parameters": { - "type": "", - "maxTemp": WCTemp05, - "path": "", - "sysLabel": "", - "targetTemp": -1, - "targetTempOffset": -7000, - "scalar": 1.0 - } - }, - { - "name": "nvme6", - "unit": "millidegree", - "type": "dbus", - "path": "/xyz/openbmc_project/sensors/temperature/nvme6", - "parameters": { - "type": "", - "maxTemp": WCTemp06, - "path": "", - "sysLabel": "", - "targetTemp": -1, - "targetTempOffset": -7000, - "scalar": 1.0 - } - }, - { - "name": "nvme7", - "unit": "millidegree", - "type": "dbus", - "path": "/xyz/openbmc_project/sensors/temperature/nvme7", - "parameters": { - "type": "", - "maxTemp": WCTemp07, - "path": "", - "sysLabel": "", - "targetTemp": -1, - "targetTempOffset": -7000, - "scalar": 1.0 - } - }, - { - "name": "nvme8", - "unit": "millidegree", - "type": "dbus", - "path": "/xyz/openbmc_project/sensors/temperature/nvme8", - "parameters": { - "type": "", - "maxTemp": WCTemp08, - "path": "", - "sysLabel": "", - "targetTemp": -1, - "targetTempOffset": -7000, - "scalar": 1.0 - } - }, - { - "name": "nvme9", - "unit": "millidegree", - "type": "dbus", - "path": "/xyz/openbmc_project/sensors/temperature/nvme9", - "parameters": { - "type": "", - "maxTemp": WCTemp09, - "path": "", - "sysLabel": "", - "targetTemp": -1, - "targetTempOffset": -7000, - "scalar": 1.0 - } - }, - { - "name": "nvme10", - "unit": "millidegree", - "type": "dbus", - "path": "/xyz/openbmc_project/sensors/temperature/nvme10", - "parameters": { - "type": "", - "maxTemp": WCTemp10, - "path": "", - "sysLabel": "", - "targetTemp": -1, - "targetTempOffset": -7000, - "scalar": 1.0 - } - }, - { - "name": "nvme11", - "unit": "millidegree", - "type": "dbus", - "path": "/xyz/openbmc_project/sensors/temperature/nvme11", - "parameters": { - "type": "", - "maxTemp": WCTemp11, - "path": "", - "sysLabel": "", - "targetTemp": -1, - "targetTempOffset": -7000, - "scalar": 1.0 - } - }, - { - "name": "nvme12", - "unit": "millidegree", - "type": "dbus", - "path": "/xyz/openbmc_project/sensors/temperature/nvme12", - "parameters": { - "type": "", - "maxTemp": WCTemp12, - "path": "", - "sysLabel": "", - "targetTemp": -1, - "targetTempOffset": -7000, - "scalar": 1.0 - } - }, - { - "name": "nvme13", - "unit": "millidegree", - "type": "dbus", - "path": "/xyz/openbmc_project/sensors/temperature/nvme13", - "parameters": { - "type": "", - "maxTemp": WCTemp13, - "path": "", - "sysLabel": "", - "targetTemp": -1, - "targetTempOffset": -7000, - "scalar": 1.0 - } - }, - { - "name": "nvme14", - "unit": "millidegree", - "type": "dbus", - "path": "/xyz/openbmc_project/sensors/temperature/nvme14", - "parameters": { - "type": "", - "maxTemp": WCTemp14, - "path": "", - "sysLabel": "", - "targetTemp": -1, - "targetTempOffset": -7000, - "scalar": 1.0 - } - }, - { - "name": "nvme15", - "unit": "millidegree", - "type": "dbus", - "path": "/xyz/openbmc_project/sensors/temperature/nvme15", - "parameters": { - "type": "", - "maxTemp": WCTemp15, - "path": "", - "sysLabel": "", - "targetTemp": -1, - "targetTempOffset": -7000, - "scalar": 1.0 - } - }, - { - "name": "vddcr_cpu", - "unit": "millidegree", - "type": "dbus", - "path": "/xyz/openbmc_project/sensors/temperature/vddcr_cpu", - "parameters": { - "type": "", - "maxTemp": 100000, - "path": "", - "sysLabel": "", - "targetTemp": 90000, - "targetTempOffset": 0, - "scalar": 1.0 - } - }, - { - "name": "vddcr_soc", - "unit": "millidegree", - "type": "dbus", - "path": "/xyz/openbmc_project/sensors/temperature/vddcr_soc", - "parameters": { - "type": "", - "maxTemp": 100000, - "path": "", - "sysLabel": "", - "targetTemp": 90000, - "targetTempOffset": 0, - "scalar": 1.0 - } - }, - { - "name": "vddio_abcd", - "unit": "millidegree", - "type": "dbus", - "path": "/xyz/openbmc_project/sensors/temperature/vddio_abcd", - "parameters": { - "type": "", - "maxTemp": 100000, - "path": "", - "sysLabel": "", - "targetTemp": 90000, - "targetTempOffset": 0, - "scalar": 1.0 - } - }, - { - "name": "vddio_efgh", - "unit": "millidegree", - "type": "dbus", - "path": "/xyz/openbmc_project/sensors/temperature/vddio_efgh", - "parameters": { - "type": "", - "maxTemp": 100000, - "path": "", - "sysLabel": "", - "targetTemp": 90000, - "targetTempOffset": 0, - "scalar": 1.0 - } - }, - { - "name": "p12v_mobo", - "unit": "millidegree", - "type": "dbus", - "path": "/xyz/openbmc_project/sensors/temperature/p12v_mobo", - "parameters": { - "type": "", - "maxTemp": 114000, - "path": "", - "sysLabel": "", - "targetTemp": 90000, - "targetTempOffset": 0, - "scalar": 1.0 - } - }, - { - "name": "powerseq_temp", - "unit": "millidegree", - "type": "dbus", - "path": "/xyz/openbmc_project/sensors/temperature/powerseq_temp", - "parameters": { - "type": "", - "maxTemp": 99000, - "path": "", - "sysLabel": "", - "targetTemp": 90000, - "targetTempOffset": 0, - "scalar": 1.0 - } - }, - { - "name": "p12v_fan", - "unit": "millidegree", - "type": "dbus", - "path": "/xyz/openbmc_project/sensors/temperature/p12v_fan", - "parameters": { - "type": "", - "maxTemp": 114000, - "path": "", - "sysLabel": "", - "targetTemp": 90000, - "targetTempOffset": 0, - "scalar": 1.0 - } - } - ], - "skus" : [ - { - "num": 1, - "zones": [ - { - "id": 0, - "zoneSetpoint": 10000, - "target": "/xyz/openbmc_project/extsensors/margin/cputemp", - "components": [ - "cputemp" - ] - }, - { - "id": 1, - "zoneSetpoint": 10000, - "target": "/xyz/openbmc_project/extsensors/margin/zone0_vr", - "components": [ - "vddcr_cpu", - "vddcr_soc", - "vddio_abcd", - "vddio_efgh", - "p12v_mobo", - "powerseq_temp" - ] - }, - { - "id": 2, - "zoneSetpoint": 10000, - "target": "/xyz/openbmc_project/extsensors/margin/nvme", - "components": [ - "nvme0", - "nvme1", - "nvme2", - "nvme3", - "nvme4", - "nvme5", - "nvme6", - "nvme7", - "nvme8", - "nvme9", - "nvme10", - "nvme11", - "nvme12", - "nvme13", - "nvme14", - "nvme15" - ] - }, - { - "id": 3, - "zoneSetpoint": 10000, - "target": "/xyz/openbmc_project/extsensors/margin/p12v_fan", - "components": [ - "p12v_fan" - ] - } - ] - } - ] -} diff --git a/meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp/config-margin.json.in b/meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp/config-margin.json.in new file mode 100644 index 000000000..83db12de7 --- /dev/null +++ b/meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp/config-margin.json.in @@ -0,0 +1,423 @@ +{ + "sensors" : [ + { + "name": "cputemp", + "unit": "millidegree", + "type": "dbus", + "path": "/xyz/openbmc_project/sensors/temperature/cputemp", + "parameters": { + "type": "", + "maxTemp": 95000, + "path": "", + "sysLabel": "", + "targetTemp": -1, + "targetTempOffset": -15000, + "scalar": 1.0 + } + }, + { + "name": "nvme0", + "unit": "millidegree", + "type": "dbus", + "path": "/xyz/openbmc_project/sensors/temperature/nvme0", + "parameters": { + "type": "", + "maxTemp": @WCTemp00@, + "path": "", + "sysLabel": "", + "targetTemp": -1, + "targetTempOffset": -7000, + "scalar": 1.0 + } + }, + { + "name": "nvme1", + "unit": "millidegree", + "type": "dbus", + "path": "/xyz/openbmc_project/sensors/temperature/nvme1", + "parameters": { + "type": "", + "maxTemp": @WCTemp01@, + "path": "", + "sysLabel": "", + "targetTemp": -1, + "targetTempOffset": -7000, + "scalar": 1.0 + } + }, + { + "name": "nvme2", + "unit": "millidegree", + "type": "dbus", + "path": "/xyz/openbmc_project/sensors/temperature/nvme2", + "parameters": { + "type": "", + "maxTemp": @WCTemp02@, + "path": "", + "sysLabel": "", + "targetTemp": -1, + "targetTempOffset": -7000, + "scalar": 1.0 + } + }, + { + "name": "nvme3", + "unit": "millidegree", + "type": "dbus", + "path": "/xyz/openbmc_project/sensors/temperature/nvme3", + "parameters": { + "type": "", + "maxTemp": @WCTemp03@, + "path": "", + "sysLabel": "", + "targetTemp": -1, + "targetTempOffset": -7000, + "scalar": 1.0 + } + }, + { + "name": "nvme4", + "unit": "millidegree", + "type": "dbus", + "path": "/xyz/openbmc_project/sensors/temperature/nvme4", + "parameters": { + "type": "", + "maxTemp": @WCTemp04@, + "path": "", + "sysLabel": "", + "targetTemp": -1, + "targetTempOffset": -7000, + "scalar": 1.0 + } + }, + { + "name": "nvme5", + "unit": "millidegree", + "type": "dbus", + "path": "/xyz/openbmc_project/sensors/temperature/nvme5", + "parameters": { + "type": "", + "maxTemp": @WCTemp05@, + "path": "", + "sysLabel": "", + "targetTemp": -1, + "targetTempOffset": -7000, + "scalar": 1.0 + } + }, + { + "name": "nvme6", + "unit": "millidegree", + "type": "dbus", + "path": "/xyz/openbmc_project/sensors/temperature/nvme6", + "parameters": { + "type": "", + "maxTemp": @WCTemp06@, + "path": "", + "sysLabel": "", + "targetTemp": -1, + "targetTempOffset": -7000, + "scalar": 1.0 + } + }, + { + "name": "nvme7", + "unit": "millidegree", + "type": "dbus", + "path": "/xyz/openbmc_project/sensors/temperature/nvme7", + "parameters": { + "type": "", + "maxTemp": @WCTemp07@, + "path": "", + "sysLabel": "", + "targetTemp": -1, + "targetTempOffset": -7000, + "scalar": 1.0 + } + }, + { + "name": "nvme8", + "unit": "millidegree", + "type": "dbus", + "path": "/xyz/openbmc_project/sensors/temperature/nvme8", + "parameters": { + "type": "", + "maxTemp": @WCTemp08@, + "path": "", + "sysLabel": "", + "targetTemp": -1, + "targetTempOffset": -7000, + "scalar": 1.0 + } + }, + { + "name": "nvme9", + "unit": "millidegree", + "type": "dbus", + "path": "/xyz/openbmc_project/sensors/temperature/nvme9", + "parameters": { + "type": "", + "maxTemp": @WCTemp09@, + "path": "", + "sysLabel": "", + "targetTemp": -1, + "targetTempOffset": -7000, + "scalar": 1.0 + } + }, + { + "name": "nvme10", + "unit": "millidegree", + "type": "dbus", + "path": "/xyz/openbmc_project/sensors/temperature/nvme10", + "parameters": { + "type": "", + "maxTemp": @WCTemp10@, + "path": "", + "sysLabel": "", + "targetTemp": -1, + "targetTempOffset": -7000, + "scalar": 1.0 + } + }, + { + "name": "nvme11", + "unit": "millidegree", + "type": "dbus", + "path": "/xyz/openbmc_project/sensors/temperature/nvme11", + "parameters": { + "type": "", + "maxTemp": @WCTemp11@, + "path": "", + "sysLabel": "", + "targetTemp": -1, + "targetTempOffset": -7000, + "scalar": 1.0 + } + }, + { + "name": "nvme12", + "unit": "millidegree", + "type": "dbus", + "path": "/xyz/openbmc_project/sensors/temperature/nvme12", + "parameters": { + "type": "", + "maxTemp": @WCTemp12@, + "path": "", + "sysLabel": "", + "targetTemp": -1, + "targetTempOffset": -7000, + "scalar": 1.0 + } + }, + { + "name": "nvme13", + "unit": "millidegree", + "type": "dbus", + "path": "/xyz/openbmc_project/sensors/temperature/nvme13", + "parameters": { + "type": "", + "maxTemp": @WCTemp13@, + "path": "", + "sysLabel": "", + "targetTemp": -1, + "targetTempOffset": -7000, + "scalar": 1.0 + } + }, + { + "name": "nvme14", + "unit": "millidegree", + "type": "dbus", + "path": "/xyz/openbmc_project/sensors/temperature/nvme14", + "parameters": { + "type": "", + "maxTemp": @WCTemp14@, + "path": "", + "sysLabel": "", + "targetTemp": -1, + "targetTempOffset": -7000, + "scalar": 1.0 + } + }, + { + "name": "nvme15", + "unit": "millidegree", + "type": "dbus", + "path": "/xyz/openbmc_project/sensors/temperature/nvme15", + "parameters": { + "type": "", + "maxTemp": @WCTemp15@, + "path": "", + "sysLabel": "", + "targetTemp": -1, + "targetTempOffset": -7000, + "scalar": 1.0 + } + }, + { + "name": "vddcr_cpu", + "unit": "millidegree", + "type": "dbus", + "path": "/xyz/openbmc_project/sensors/temperature/vddcr_cpu", + "parameters": { + "type": "", + "maxTemp": 100000, + "path": "", + "sysLabel": "", + "targetTemp": 90000, + "targetTempOffset": 0, + "scalar": 1.0 + } + }, + { + "name": "vddcr_soc", + "unit": "millidegree", + "type": "dbus", + "path": "/xyz/openbmc_project/sensors/temperature/vddcr_soc", + "parameters": { + "type": "", + "maxTemp": 100000, + "path": "", + "sysLabel": "", + "targetTemp": 90000, + "targetTempOffset": 0, + "scalar": 1.0 + } + }, + { + "name": "vddio_abcd", + "unit": "millidegree", + "type": "dbus", + "path": "/xyz/openbmc_project/sensors/temperature/vddio_abcd", + "parameters": { + "type": "", + "maxTemp": 100000, + "path": "", + "sysLabel": "", + "targetTemp": 90000, + "targetTempOffset": 0, + "scalar": 1.0 + } + }, + { + "name": "vddio_efgh", + "unit": "millidegree", + "type": "dbus", + "path": "/xyz/openbmc_project/sensors/temperature/vddio_efgh", + "parameters": { + "type": "", + "maxTemp": 100000, + "path": "", + "sysLabel": "", + "targetTemp": 90000, + "targetTempOffset": 0, + "scalar": 1.0 + } + }, + { + "name": "p12v_mobo", + "unit": "millidegree", + "type": "dbus", + "path": "/xyz/openbmc_project/sensors/temperature/p12v_mobo", + "parameters": { + "type": "", + "maxTemp": 114000, + "path": "", + "sysLabel": "", + "targetTemp": 90000, + "targetTempOffset": 0, + "scalar": 1.0 + } + }, + { + "name": "powerseq_temp", + "unit": "millidegree", + "type": "dbus", + "path": "/xyz/openbmc_project/sensors/temperature/powerseq_temp", + "parameters": { + "type": "", + "maxTemp": 99000, + "path": "", + "sysLabel": "", + "targetTemp": 90000, + "targetTempOffset": 0, + "scalar": 1.0 + } + }, + { + "name": "p12v_fan", + "unit": "millidegree", + "type": "dbus", + "path": "/xyz/openbmc_project/sensors/temperature/p12v_fan", + "parameters": { + "type": "", + "maxTemp": 114000, + "path": "", + "sysLabel": "", + "targetTemp": 90000, + "targetTempOffset": 0, + "scalar": 1.0 + } + } + ], + "skus" : [ + { + "num": 1, + "zones": [ + { + "id": 0, + "zoneSetpoint": 10000, + "target": "/xyz/openbmc_project/extsensors/margin/cputemp", + "components": [ + "cputemp" + ] + }, + { + "id": 1, + "zoneSetpoint": 10000, + "target": "/xyz/openbmc_project/extsensors/margin/zone0_vr", + "components": [ + "vddcr_cpu", + "vddcr_soc", + "vddio_abcd", + "vddio_efgh", + "p12v_mobo", + "powerseq_temp" + ] + }, + { + "id": 2, + "zoneSetpoint": 10000, + "target": "/xyz/openbmc_project/extsensors/margin/nvme", + "components": [ + "nvme0", + "nvme1", + "nvme2", + "nvme3", + "nvme4", + "nvme5", + "nvme6", + "nvme7", + "nvme8", + "nvme9", + "nvme10", + "nvme11", + "nvme12", + "nvme13", + "nvme14", + "nvme15" + ] + }, + { + "id": 3, + "zoneSetpoint": 10000, + "target": "/xyz/openbmc_project/extsensors/margin/p12v_fan", + "components": [ + "p12v_fan" + ] + } + ] + } + ] +} diff --git a/meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp/read-margin-temp-wait.sh b/meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp/read-margin-temp-wait.sh index d0cb2f632..23742a687 100644 --- a/meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp/read-margin-temp-wait.sh +++ b/meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp/read-margin-temp-wait.sh @@ -1,22 +1,15 @@ #!/bin/bash -MARGIN_TABLE_FILE="/usr/share/read-margin-temp/config-margin.json" +MARGIN_TABLE_FILE_IN="/usr/share/read-margin-temp/config-margin.json.in" +TEMP_FILE="$(mktemp)" +cp "$MARGIN_TABLE_FILE_IN" "$TEMP_FILE" -target_num="$(cat $MARGIN_TABLE_FILE | grep '"target"' | wc -l)" - -cpu_hwmon="$(ls -la /sys/class/hwmon | grep f0082000 | head -n 1 | tail -n +1 | cut -d '/' -f 11)" - -# replace by the real cpu temperature hwmon path in runtime -if [[ "$cpu_hwmon" != "" ]] -then - sed -i "s/cpu_hwmon/$cpu_hwmon/g" $MARGIN_TABLE_FILE -fi +target_num="$(cat $TEMP_FILE | grep '"target"' | wc -l)" # wait target dbus -for ((i=0; i<$target_num; i++)) -do +for ((i = 0; i < ${target_num}; i++)); do line_num=$((i+1)) - path="$(cat $MARGIN_TABLE_FILE | grep '"target"' | head -n ${line_num} | tail -n +${line_num} | cut -d '"' -f 4)" + path="$(cat $TEMP_FILE | grep '"target"' | head -n ${line_num} | tail -n +${line_num} | cut -d '"' -f 4)" mapper wait $path done @@ -24,7 +17,7 @@ nvmePath="/xyz/openbmc_project/sensors/temperature/nvme" nvmeInventoryPath="/xyz/openbmc_project/inventory/system/chassis/motherboard/nvme" # Get and Set WCTEMP for ((i = 0; i < 16; i++)); do - name=WCTemp$(printf "%02d" $i) + name="@WCTemp$(printf "%02d" $i)@" wcTemp=72000 presentState=$(busctl get-property \ xyz.openbmc_project.Inventory.Manager \ @@ -42,9 +35,12 @@ for ((i = 0; i < 16; i++)); do wcTemp=$((wcTemp * 1000)) fi - sed -i "s/$name/${wcTemp}/g" $MARGIN_TABLE_FILE + sed -i "s/$name/${wcTemp}/g" $TEMP_FILE done +# Use shell parameter expansion to trim the ".in" suffix +mv "$TEMP_FILE" "${MARGIN_TABLE_FILE_IN%".in"}" + # start read margin temp /usr/bin/read-margin-temp & diff --git a/meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp_%.bbappend b/meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp_%.bbappend index b3fc4d221..981c0d2ca 100644 --- a/meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp_%.bbappend +++ b/meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp_%.bbappend @@ -1,16 +1,17 @@ FILESEXTRAPATHS_prepend_gbs := "${THISDIR}/${PN}:" -SRC_URI_append_gbs = " file://config-margin.json \ + +SRC_URI_append_gbs = " file://config-margin.json.in \ file://read-margin-temp-wait.sh \ " FILES_${PN}_append_gbs = " ${bindir}/read-margin-temp-wait.sh" -FILES_${PN}_append_gbs = " ${datadir}/read-margin-temp/config-margin.json" +FILES_${PN}_append_gbs = " ${datadir}/read-margin-temp/config-margin.json.in" do_install_append_gbs() { install -d ${D}${bindir} install -m 0755 ${WORKDIR}/read-margin-temp-wait.sh ${D}${bindir} install -d ${D}${datadir}/read-margin-temp - install -m 0644 -D ${WORKDIR}/config-margin.json \ - ${D}${datadir}/read-margin-temp/config-margin.json + install -m 0644 -D ${WORKDIR}/config-margin.json.in \ + ${D}${datadir}/${PN}/ } -- cgit v1.2.3 From 5d5a0ea7fefba98f2c3ac68a2a810f5cdac9b9c4 Mon Sep 17 00:00:00 2001 From: George Hung Date: Thu, 25 Mar 2021 14:18:15 +0800 Subject: meta-quanta: gbs: the unit change to degree from millidegree The D-bus type for the sensor value change to use double and the read-margin-temp already update for that, so replace millidegree by degree for the unit Signed-off-by: George Hung Change-Id: Ib2725e7834ea2bd0021807ee5395f45c07b08c49 --- .../fans/read-margin-temp/config-margin.json.in | 48 +++++++++++----------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp/config-margin.json.in b/meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp/config-margin.json.in index 83db12de7..f152db996 100644 --- a/meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp/config-margin.json.in +++ b/meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp/config-margin.json.in @@ -2,7 +2,7 @@ "sensors" : [ { "name": "cputemp", - "unit": "millidegree", + "unit": "degree", "type": "dbus", "path": "/xyz/openbmc_project/sensors/temperature/cputemp", "parameters": { @@ -17,7 +17,7 @@ }, { "name": "nvme0", - "unit": "millidegree", + "unit": "degree", "type": "dbus", "path": "/xyz/openbmc_project/sensors/temperature/nvme0", "parameters": { @@ -32,7 +32,7 @@ }, { "name": "nvme1", - "unit": "millidegree", + "unit": "degree", "type": "dbus", "path": "/xyz/openbmc_project/sensors/temperature/nvme1", "parameters": { @@ -47,7 +47,7 @@ }, { "name": "nvme2", - "unit": "millidegree", + "unit": "degree", "type": "dbus", "path": "/xyz/openbmc_project/sensors/temperature/nvme2", "parameters": { @@ -62,7 +62,7 @@ }, { "name": "nvme3", - "unit": "millidegree", + "unit": "degree", "type": "dbus", "path": "/xyz/openbmc_project/sensors/temperature/nvme3", "parameters": { @@ -77,7 +77,7 @@ }, { "name": "nvme4", - "unit": "millidegree", + "unit": "degree", "type": "dbus", "path": "/xyz/openbmc_project/sensors/temperature/nvme4", "parameters": { @@ -92,7 +92,7 @@ }, { "name": "nvme5", - "unit": "millidegree", + "unit": "degree", "type": "dbus", "path": "/xyz/openbmc_project/sensors/temperature/nvme5", "parameters": { @@ -107,7 +107,7 @@ }, { "name": "nvme6", - "unit": "millidegree", + "unit": "degree", "type": "dbus", "path": "/xyz/openbmc_project/sensors/temperature/nvme6", "parameters": { @@ -122,7 +122,7 @@ }, { "name": "nvme7", - "unit": "millidegree", + "unit": "degree", "type": "dbus", "path": "/xyz/openbmc_project/sensors/temperature/nvme7", "parameters": { @@ -137,7 +137,7 @@ }, { "name": "nvme8", - "unit": "millidegree", + "unit": "degree", "type": "dbus", "path": "/xyz/openbmc_project/sensors/temperature/nvme8", "parameters": { @@ -152,7 +152,7 @@ }, { "name": "nvme9", - "unit": "millidegree", + "unit": "degree", "type": "dbus", "path": "/xyz/openbmc_project/sensors/temperature/nvme9", "parameters": { @@ -167,7 +167,7 @@ }, { "name": "nvme10", - "unit": "millidegree", + "unit": "degree", "type": "dbus", "path": "/xyz/openbmc_project/sensors/temperature/nvme10", "parameters": { @@ -182,7 +182,7 @@ }, { "name": "nvme11", - "unit": "millidegree", + "unit": "degree", "type": "dbus", "path": "/xyz/openbmc_project/sensors/temperature/nvme11", "parameters": { @@ -197,7 +197,7 @@ }, { "name": "nvme12", - "unit": "millidegree", + "unit": "degree", "type": "dbus", "path": "/xyz/openbmc_project/sensors/temperature/nvme12", "parameters": { @@ -212,7 +212,7 @@ }, { "name": "nvme13", - "unit": "millidegree", + "unit": "degree", "type": "dbus", "path": "/xyz/openbmc_project/sensors/temperature/nvme13", "parameters": { @@ -227,7 +227,7 @@ }, { "name": "nvme14", - "unit": "millidegree", + "unit": "degree", "type": "dbus", "path": "/xyz/openbmc_project/sensors/temperature/nvme14", "parameters": { @@ -242,7 +242,7 @@ }, { "name": "nvme15", - "unit": "millidegree", + "unit": "degree", "type": "dbus", "path": "/xyz/openbmc_project/sensors/temperature/nvme15", "parameters": { @@ -257,7 +257,7 @@ }, { "name": "vddcr_cpu", - "unit": "millidegree", + "unit": "degree", "type": "dbus", "path": "/xyz/openbmc_project/sensors/temperature/vddcr_cpu", "parameters": { @@ -272,7 +272,7 @@ }, { "name": "vddcr_soc", - "unit": "millidegree", + "unit": "degree", "type": "dbus", "path": "/xyz/openbmc_project/sensors/temperature/vddcr_soc", "parameters": { @@ -287,7 +287,7 @@ }, { "name": "vddio_abcd", - "unit": "millidegree", + "unit": "degree", "type": "dbus", "path": "/xyz/openbmc_project/sensors/temperature/vddio_abcd", "parameters": { @@ -302,7 +302,7 @@ }, { "name": "vddio_efgh", - "unit": "millidegree", + "unit": "degree", "type": "dbus", "path": "/xyz/openbmc_project/sensors/temperature/vddio_efgh", "parameters": { @@ -317,7 +317,7 @@ }, { "name": "p12v_mobo", - "unit": "millidegree", + "unit": "degree", "type": "dbus", "path": "/xyz/openbmc_project/sensors/temperature/p12v_mobo", "parameters": { @@ -332,7 +332,7 @@ }, { "name": "powerseq_temp", - "unit": "millidegree", + "unit": "degree", "type": "dbus", "path": "/xyz/openbmc_project/sensors/temperature/powerseq_temp", "parameters": { @@ -347,7 +347,7 @@ }, { "name": "p12v_fan", - "unit": "millidegree", + "unit": "degree", "type": "dbus", "path": "/xyz/openbmc_project/sensors/temperature/p12v_fan", "parameters": { -- cgit v1.2.3 From 344f0949442f7c92a7bfd9e8842f0f66d8d65d12 Mon Sep 17 00:00:00 2001 From: Zane Shelley Date: Wed, 24 Mar 2021 16:56:34 -0500 Subject: Removed undefined variable from openpower-hw-diags recipe During inspection of another commit, we found that this recipe was using the variable ${UNITDIR}, which is not defined anywhere. Instead, it was recommended to use ${systemd_system_unitdir}. However, after investigating why we did not see any errors in CI or bitbake builds we found that when we inherit systemd there is some code that automatically adds /lib/systemd/system to FILES. So this line in the recipe with the undefined variable is actually moot and can be removed. Change-Id: I32713031922d95af3eccde6be0047afff1c57758 Signed-off-by: Zane Shelley --- meta-openpower/recipes-phosphor/logging/openpower-hw-diags_git.bb | 1 - 1 file changed, 1 deletion(-) diff --git a/meta-openpower/recipes-phosphor/logging/openpower-hw-diags_git.bb b/meta-openpower/recipes-phosphor/logging/openpower-hw-diags_git.bb index 94cae40ec..0948fc657 100644 --- a/meta-openpower/recipes-phosphor/logging/openpower-hw-diags_git.bb +++ b/meta-openpower/recipes-phosphor/logging/openpower-hw-diags_git.bb @@ -19,7 +19,6 @@ SRC_URI = "git://github.com/openbmc/openpower-hw-diags" SRCREV = "0b8368cb0aa251032eb18b5c938d009e27f0b152" SYSTEMD_SERVICE_${PN} = "attn_handler.service" -FILES_${PN} += "${UNITDIR}/attn_handler.service" DEPENDS = "boost libgpiod pdbg phosphor-logging sdbusplus openpower-libhei \ nlohmann-json" -- cgit v1.2.3 From 1053e1e17894b4a683198552bd38c5b939c0e75d Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Tue, 23 Mar 2021 15:49:28 -0500 Subject: 1s4u: fan-monitor support for new system The 1s4u is just like the 2s4u except it has two less fans. Thermal profiling may change some of the variable but for now just use the same as the 2s4u. Signed-off-by: Andrew Geissler Change-Id: Iab3fd9d1699de779c242bb42456d976697b4da14 --- .../fans/phosphor-fan-monitor-config.bbappend | 4 + .../rainier/rainier-1s4u/config.json | 90 ++++++++++++++++++++++ 2 files changed, 94 insertions(+) create mode 100644 meta-ibm/recipes-phosphor/fans/phosphor-fan-monitor-config/rainier/rainier-1s4u/config.json diff --git a/meta-ibm/recipes-phosphor/fans/phosphor-fan-monitor-config.bbappend b/meta-ibm/recipes-phosphor/fans/phosphor-fan-monitor-config.bbappend index dfe220935..8b63927ea 100644 --- a/meta-ibm/recipes-phosphor/fans/phosphor-fan-monitor-config.bbappend +++ b/meta-ibm/recipes-phosphor/fans/phosphor-fan-monitor-config.bbappend @@ -3,6 +3,7 @@ FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:" SRC_URI_witherspoon = "file://config.json" SRC_URI_rainier = "file://rainier-2u/config.json \ file://rainier-4u/config.json \ + file://rainier-1s4u/config.json \ file://everest/config.json \ " @@ -15,8 +16,10 @@ do_install_rainier() { # Install Rainier-2U/4U fan monitor config files install -d ${D}/${datadir}/phosphor-fan-presence/monitor/ibm,rainier-2u/ install -d ${D}/${datadir}/phosphor-fan-presence/monitor/ibm,rainier-4u/ + install -d ${D}/${datadir}/phosphor-fan-presence/monitor/ibm,rainier-1s4u/ install -m 0644 ${WORKDIR}/rainier-2u/config.json ${D}/${datadir}/phosphor-fan-presence/monitor/ibm,rainier-2u/ install -m 0644 ${WORKDIR}/rainier-4u/config.json ${D}/${datadir}/phosphor-fan-presence/monitor/ibm,rainier-4u/ + install -m 0644 ${WORKDIR}/rainier-1s4u/config.json ${D}/${datadir}/phosphor-fan-presence/monitor/ibm,rainier-1s4u/ # Install Everest fan monitor config file install -d ${D}/${datadir}/phosphor-fan-presence/monitor/ibm,everest/ @@ -29,4 +32,5 @@ FILES_${PN}_remove_witherspoon = "${monitor_datadir}/monitor.yaml" FILES_${PN}_remove_rainier = "${monitor_datadir}/monitor.yaml" FILES_${PN}_append_rainier = " ${datadir}/phosphor-fan-presence/monitor/ibm,rainier-2u/config.json" FILES_${PN}_append_rainier = " ${datadir}/phosphor-fan-presence/monitor/ibm,rainier-4u/config.json" +FILES_${PN}_append_rainier = " ${datadir}/phosphor-fan-presence/monitor/ibm,rainier-1s4u/config.json" FILES_${PN}_append_rainier = " ${datadir}/phosphor-fan-presence/monitor/ibm,everest/config.json" diff --git a/meta-ibm/recipes-phosphor/fans/phosphor-fan-monitor-config/rainier/rainier-1s4u/config.json b/meta-ibm/recipes-phosphor/fans/phosphor-fan-monitor-config/rainier/rainier-1s4u/config.json new file mode 100644 index 000000000..1a5e30572 --- /dev/null +++ b/meta-ibm/recipes-phosphor/fans/phosphor-fan-monitor-config/rainier/rainier-1s4u/config.json @@ -0,0 +1,90 @@ +{ + "fans": [ + { + "inventory": "/system/chassis/motherboard/fan0", + "functional_delay": 5, + "allowed_out_of_range_time": 30, + "deviation": 15, + "num_sensors_nonfunc_for_fan_nonfunc": 1, + "monitor_start_delay": 30, + "fan_missing_error_delay": 20, + "nonfunc_rotor_error_delay": 0, + "sensors": [ + { + "name": "fan0_0", + "has_target": true + } + ] + }, + { + "inventory": "/system/chassis/motherboard/fan1", + "functional_delay": 5, + "allowed_out_of_range_time": 30, + "deviation": 15, + "num_sensors_nonfunc_for_fan_nonfunc": 1, + "monitor_start_delay": 30, + "fan_missing_error_delay": 20, + "nonfunc_rotor_error_delay": 0, + "sensors": [ + { + "name": "fan1_0", + "has_target": true + } + ] + }, + { + "inventory": "/system/chassis/motherboard/fan2", + "functional_delay": 5, + "allowed_out_of_range_time": 30, + "deviation": 15, + "num_sensors_nonfunc_for_fan_nonfunc": 1, + "monitor_start_delay": 30, + "fan_missing_error_delay": 20, + "nonfunc_rotor_error_delay": 0, + "sensors": [ + { + "name": "fan2_0", + "has_target": true + } + ] + }, + { + "inventory": "/system/chassis/motherboard/fan3", + "functional_delay": 5, + "allowed_out_of_range_time": 30, + "deviation": 15, + "num_sensors_nonfunc_for_fan_nonfunc": 1, + "monitor_start_delay": 30, + "fan_missing_error_delay": 20, + "nonfunc_rotor_error_delay": 0, + "sensors": [ + { + "name": "fan3_0", + "has_target": true + } + ] + } + ], + "fault_handling": + { + "num_nonfunc_rotors_before_error": 1, + + "power_off_config": + [ + { + "type": "hard", + "cause": "missing_fan_frus", + "count": 1, + "delay": 25, + "state": "at_pgood" + }, + { + "type": "epow", + "cause": "nonfunc_fan_rotors", + "count": 2, + "service_mode_delay": 300, + "meltdown_delay": 300 + } + ] + } +} -- cgit v1.2.3 From a8887be7c73cd111d2daf23611981fccfc504300 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Tue, 23 Mar 2021 16:34:45 -0500 Subject: 1s4u: support fans.json for new system The 1s4u is just like the 2s4u except it has two less fans. Signed-off-by: Andrew Geissler Change-Id: I35333e49c883fb9ac8c84223545fe3b903a66d7d --- .../phosphor-fan/rainier/rainier-1s4u/fans.json | 26 ++++++++++++++++++++++ .../recipes-phosphor/fans/phosphor-fan_%.bbappend | 4 ++++ 2 files changed, 30 insertions(+) create mode 100644 meta-ibm/recipes-phosphor/fans/phosphor-fan/rainier/rainier-1s4u/fans.json diff --git a/meta-ibm/recipes-phosphor/fans/phosphor-fan/rainier/rainier-1s4u/fans.json b/meta-ibm/recipes-phosphor/fans/phosphor-fan/rainier/rainier-1s4u/fans.json new file mode 100644 index 000000000..0e4e4d05a --- /dev/null +++ b/meta-ibm/recipes-phosphor/fans/phosphor-fan/rainier/rainier-1s4u/fans.json @@ -0,0 +1,26 @@ +[ + { + "name": "fan0", + "zone": "0", + "sensors": ["fan0_0"], + "target_interface": "xyz.openbmc_project.Control.FanSpeed" + }, + { + "name": "fan1", + "zone": "0", + "sensors": ["fan1_0"], + "target_interface": "xyz.openbmc_project.Control.FanSpeed" + }, + { + "name": "fan2", + "zone": "0", + "sensors": ["fan2_0"], + "target_interface": "xyz.openbmc_project.Control.FanSpeed" + }, + { + "name": "fan3", + "zone": "0", + "sensors": ["fan3_0"], + "target_interface": "xyz.openbmc_project.Control.FanSpeed" + } +] diff --git a/meta-ibm/recipes-phosphor/fans/phosphor-fan_%.bbappend b/meta-ibm/recipes-phosphor/fans/phosphor-fan_%.bbappend index 3d6829a2d..d84b8b822 100644 --- a/meta-ibm/recipes-phosphor/fans/phosphor-fan_%.bbappend +++ b/meta-ibm/recipes-phosphor/fans/phosphor-fan_%.bbappend @@ -70,6 +70,7 @@ RDEPENDS_${PN}-monitor_append_rainier = " phosphor-fan-monitor-config" SRC_URI_append_rainier = " \ file://manager.json \ file://rainier/fans.json \ + file://rainier-1s4u/fans.json \ file://rainier-2u/zones.json \ file://rainier-4u/zones.json \ file://everest/fans.json \ @@ -81,7 +82,9 @@ do_install_append_rainier() { # Install Rainier-2U/4U fan config files install -d ${D}/${datadir}/phosphor-fan-presence/control/ibm,rainier + install -d ${D}/${datadir}/phosphor-fan-presence/control/ibm,rainier-1s4u install -m 0644 ${WORKDIR}/rainier/fans.json ${D}/${datadir}/phosphor-fan-presence/control/ibm,rainier/ + install -m 0644 ${WORKDIR}/rainier-1s4u/fans.json ${D}/${datadir}/phosphor-fan-presence/control/ibm,rainier-1s4u/ install -d ${D}/${datadir}/phosphor-fan-presence/control/ibm,rainier-2u/ install -d ${D}/${datadir}/phosphor-fan-presence/control/ibm,rainier-4u/ @@ -96,6 +99,7 @@ do_install_append_rainier() { FILES_${PN}-control_append_rainier = " \ ${datadir}/phosphor-fan-presence/control/manager.json \ ${datadir}/phosphor-fan-presence/control/ibm,rainier/fans.json \ + ${datadir}/phosphor-fan-presence/control/ibm,rainier-1s4u/fans.json \ ${datadir}/phosphor-fan-presence/control/ibm,rainier-2u/zones.json \ ${datadir}/phosphor-fan-presence/control/ibm,rainier-4u/zones.json \ ${datadir}/phosphor-fan-presence/control/ibm,everest/fans.json \ -- cgit v1.2.3 From c22ef042f8791c093e75e4fbf8deb77e1a691677 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Tue, 23 Mar 2021 18:25:27 -0500 Subject: 1s4u: support zones.json for new system The 1s4u is just like the 2s4u except it has two less fans. Signed-off-by: Andrew Geissler Change-Id: I56ed73ee573df250072bd014a0e4c8a4072e974e --- .../fans/phosphor-fan/rainier/rainier-1s4u/zones.json | 9 +++++++++ meta-ibm/recipes-phosphor/fans/phosphor-fan_%.bbappend | 4 ++++ 2 files changed, 13 insertions(+) create mode 100644 meta-ibm/recipes-phosphor/fans/phosphor-fan/rainier/rainier-1s4u/zones.json diff --git a/meta-ibm/recipes-phosphor/fans/phosphor-fan/rainier/rainier-1s4u/zones.json b/meta-ibm/recipes-phosphor/fans/phosphor-fan/rainier/rainier-1s4u/zones.json new file mode 100644 index 000000000..b2c96070b --- /dev/null +++ b/meta-ibm/recipes-phosphor/fans/phosphor-fan/rainier/rainier-1s4u/zones.json @@ -0,0 +1,9 @@ +[ + { + "name": "0", + "full_speed": 6000, + "default_floor": 6000, + "increase_delay": 5, + "decrease_interval": 30 + } +] diff --git a/meta-ibm/recipes-phosphor/fans/phosphor-fan_%.bbappend b/meta-ibm/recipes-phosphor/fans/phosphor-fan_%.bbappend index d84b8b822..bc04bda6b 100644 --- a/meta-ibm/recipes-phosphor/fans/phosphor-fan_%.bbappend +++ b/meta-ibm/recipes-phosphor/fans/phosphor-fan_%.bbappend @@ -73,6 +73,7 @@ SRC_URI_append_rainier = " \ file://rainier-1s4u/fans.json \ file://rainier-2u/zones.json \ file://rainier-4u/zones.json \ + file://rainier-1s4u/zones.json \ file://everest/fans.json \ file://everest/zones.json" do_install_append_rainier() { @@ -88,8 +89,10 @@ do_install_append_rainier() { install -d ${D}/${datadir}/phosphor-fan-presence/control/ibm,rainier-2u/ install -d ${D}/${datadir}/phosphor-fan-presence/control/ibm,rainier-4u/ + install -d ${D}/${datadir}/phosphor-fan-presence/control/ibm,rainier-1s4u/ install -m 0644 ${WORKDIR}/rainier-2u/zones.json ${D}/${datadir}/phosphor-fan-presence/control/ibm,rainier-2u/ install -m 0644 ${WORKDIR}/rainier-4u/zones.json ${D}/${datadir}/phosphor-fan-presence/control/ibm,rainier-4u/ + install -m 0644 ${WORKDIR}/rainier-1s4u/zones.json ${D}/${datadir}/phosphor-fan-presence/control/ibm,rainier-1s4u/ # Install Everest fan config files install -d ${D}/${datadir}/phosphor-fan-presence/control/ibm,everest @@ -102,6 +105,7 @@ FILES_${PN}-control_append_rainier = " \ ${datadir}/phosphor-fan-presence/control/ibm,rainier-1s4u/fans.json \ ${datadir}/phosphor-fan-presence/control/ibm,rainier-2u/zones.json \ ${datadir}/phosphor-fan-presence/control/ibm,rainier-4u/zones.json \ + ${datadir}/phosphor-fan-presence/control/ibm,rainier-1s4u/zones.json \ ${datadir}/phosphor-fan-presence/control/ibm,everest/fans.json \ ${datadir}/phosphor-fan-presence/control/ibm,everest/zones.json" -- cgit v1.2.3 From db94adfda170686fdca28bcbaf7d99b440ee3597 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Tue, 23 Mar 2021 18:54:59 -0500 Subject: 1s4u: support presence config.json for new system The 1s4u is just like the 2s4u except it has two less fans. Tested: - Booted up system with entity-manager loading rainier-1s4u config and verified fan applications found and loaded new 1s4u files and system was able to chassis power on. Signed-off-by: Andrew Geissler Change-Id: I575a63edb242c1b94e1a6f1eafd86a96e4518e37 --- .../fans/phosphor-fan-presence-config.bbappend | 4 + .../rainier/rainier-1s4u/config.json | 86 ++++++++++++++++++++++ 2 files changed, 90 insertions(+) create mode 100644 meta-ibm/recipes-phosphor/fans/phosphor-fan-presence-config/rainier/rainier-1s4u/config.json diff --git a/meta-ibm/recipes-phosphor/fans/phosphor-fan-presence-config.bbappend b/meta-ibm/recipes-phosphor/fans/phosphor-fan-presence-config.bbappend index efbdea1f3..8817592d4 100644 --- a/meta-ibm/recipes-phosphor/fans/phosphor-fan-presence-config.bbappend +++ b/meta-ibm/recipes-phosphor/fans/phosphor-fan-presence-config.bbappend @@ -3,6 +3,7 @@ FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:" SRC_URI_witherspoon = "file://config.json" SRC_URI_rainier = "file://rainier-2u/config.json \ file://rainier-4u/config.json \ + file://rainier-1s4u/config.json \ file://everest/config.json \ " @@ -14,8 +15,10 @@ do_install_rainier() { # Install Rainier-2U/4U fan presence config files install -d ${D}/${datadir}/phosphor-fan-presence/presence/ibm,rainier-2u/ install -d ${D}/${datadir}/phosphor-fan-presence/presence/ibm,rainier-4u/ + install -d ${D}/${datadir}/phosphor-fan-presence/presence/ibm,rainier-1s4u/ install -m 0644 ${WORKDIR}/rainier-2u/config.json ${D}/${datadir}/phosphor-fan-presence/presence/ibm,rainier-2u/ install -m 0644 ${WORKDIR}/rainier-4u/config.json ${D}/${datadir}/phosphor-fan-presence/presence/ibm,rainier-4u/ + install -m 0644 ${WORKDIR}/rainier-1s4u/config.json ${D}/${datadir}/phosphor-fan-presence/presence/ibm,rainier-1s4u/ # Install Everest fan presence config file install -d ${D}/${datadir}/phosphor-fan-presence/presence/ibm,everest/ @@ -28,4 +31,5 @@ FILES_${PN}_remove_witherspoon = "${presence_datadir}/config.yaml" FILES_${PN}_remove_rainier = "${presence_datadir}/config.yaml" FILES_${PN}_append_rainier = " ${datadir}/phosphor-fan-presence/presence/ibm,rainier-2u/config.json" FILES_${PN}_append_rainier = " ${datadir}/phosphor-fan-presence/presence/ibm,rainier-4u/config.json" +FILES_${PN}_append_rainier = " ${datadir}/phosphor-fan-presence/presence/ibm,rainier-1s4u/config.json" FILES_${PN}_append_rainier = " ${datadir}/phosphor-fan-presence/presence/ibm,everest/config.json" diff --git a/meta-ibm/recipes-phosphor/fans/phosphor-fan-presence-config/rainier/rainier-1s4u/config.json b/meta-ibm/recipes-phosphor/fans/phosphor-fan-presence-config/rainier/rainier-1s4u/config.json new file mode 100644 index 000000000..cb9eb70de --- /dev/null +++ b/meta-ibm/recipes-phosphor/fans/phosphor-fan-presence-config/rainier/rainier-1s4u/config.json @@ -0,0 +1,86 @@ +[ + { + "name": "fan0", + "path": "/system/chassis/motherboard/fan0", + "methods": [ + { + "type": "gpio", + "key": 6, + "physpath": "/sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a400.i2c-bus/i2c-7/7-0061", + "devpath": "/dev/input/by-path/platform-gpio-keys-polled-event" + }, + { + "type": "tach", + "sensors": [ + "fan0_0" + ] + } + ], + "rpolicy": { + "type": "anyof" + } + }, + { + "name": "fan1", + "path": "/system/chassis/motherboard/fan1", + "methods": [ + { + "type": "gpio", + "key": 7, + "physpath": "/sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a400.i2c-bus/i2c-7/7-0061", + "devpath": "/dev/input/by-path/platform-gpio-keys-polled-event" + }, + { + "type": "tach", + "sensors": [ + "fan1_0" + ] + } + ], + "rpolicy": { + "type": "anyof" + } + }, + { + "name": "fan2", + "path": "/system/chassis/motherboard/fan2", + "methods": [ + { + "type": "gpio", + "key": 8, + "physpath": "/sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a400.i2c-bus/i2c-7/7-0061", + "devpath": "/dev/input/by-path/platform-gpio-keys-polled-event" + }, + { + "type": "tach", + "sensors": [ + "fan2_0" + ] + } + ], + "rpolicy": { + "type": "anyof" + } + }, + { + "name": "fan3", + "path": "/system/chassis/motherboard/fan3", + "methods": [ + { + "type": "gpio", + "key": 9, + "physpath": "/sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a400.i2c-bus/i2c-7/7-0061", + "devpath": "/dev/input/by-path/platform-gpio-keys-polled-event" + }, + { + "type": "tach", + "sensors": [ + "fan3_0" + ] + } + ], + "rpolicy": { + "type": "anyof" + } + } +] -- cgit v1.2.3 From 138e8b74067f7a5d74c55d73118b35eaa4b6c896 Mon Sep 17 00:00:00 2001 From: Matt Spinler Date: Thu, 25 Feb 2021 12:24:47 -0600 Subject: ibm: Add TMP401 driver to Rainier This driver supports the TMP435 temperature sensor, which is used on 2 IBM manufactured PCIe cards, an NVME JBOF riser, and a PCIE gen 4 CXP cable card. The former only plugs into Rainier, and the latter into Rainier and Everest. The TMP435 devices on these cards are powered by slot power, controlled by the hypervisor, and so will not be accessible until the hypervisor has started and has turned on slot power. Note that the sensor instances for these cards will not be in the device tree because they are monitored by the hwmontempsensors application which gets its configuration information from the entity-manager application. Entity-manager uses the 'new_device' API to instantiate drivers, which does not need device tree entries. In fact, if these are in the device tree, then the new_device write will fail even though the device driver wasn't truly bound to that instance. As mentioned above, because they are on slot power they cannot be probed as usual on kernel startup. Signed-off-by: Matt Spinler Change-Id: I8aab28266f4e4b492c8d1c0c256714439ef1b5cd --- meta-ibm/recipes-kernel/linux/linux-aspeed/rainier.cfg | 1 + 1 file changed, 1 insertion(+) diff --git a/meta-ibm/recipes-kernel/linux/linux-aspeed/rainier.cfg b/meta-ibm/recipes-kernel/linux/linux-aspeed/rainier.cfg index f79ad4e11..f3c581eac 100644 --- a/meta-ibm/recipes-kernel/linux/linux-aspeed/rainier.cfg +++ b/meta-ibm/recipes-kernel/linux/linux-aspeed/rainier.cfg @@ -1,4 +1,5 @@ CONFIG_SENSORS_IIO_HWMON=y +CONFIG_SENSORS_TMP401=y CONFIG_SENSORS_TMP421=y CONFIG_SENSORS_MAX31785=y CONFIG_SENSORS_UCD9000=y -- cgit v1.2.3 From 18a75b9d578858f3aef7d225987365d45bc8e93c Mon Sep 17 00:00:00 2001 From: Vishwanatha Subbanna Date: Mon, 8 Mar 2021 05:29:30 -0600 Subject: Inventory: rainier: Add LED group associations to Inventory objects This commit adds below forward and reverse associations "rType": "fault_inventory_object", "fType": "fault_led_group" "rType": "identify_inventory_object", "fType": "identify_led_group" Change-Id: Icaad89e6e690c3c0a635362e8c604874bc3f37fe Signed-off-by: Vishwanatha Subbanna --- .../rainier/ibm,rainier-2u_associations.json | 2709 +++++++++++++++++++- .../rainier/ibm,rainier-4u_associations.json | 2704 ++++++++++++++++++- 2 files changed, 5408 insertions(+), 5 deletions(-) diff --git a/meta-ibm/recipes-phosphor/inventory/phosphor-inventory-manager/rainier/ibm,rainier-2u_associations.json b/meta-ibm/recipes-phosphor/inventory/phosphor-inventory-manager/rainier/ibm,rainier-2u_associations.json index e27de98a8..348cb9755 100644 --- a/meta-ibm/recipes-phosphor/inventory/phosphor-inventory-manager/rainier/ibm,rainier-2u_associations.json +++ b/meta-ibm/recipes-phosphor/inventory/phosphor-inventory-manager/rainier/ibm,rainier-2u_associations.json @@ -26,6 +26,28 @@ "/xyz/openbmc_project/sensors/fan_tach/fan0_0", "/xyz/openbmc_project/sensors/fan_tach/fan0_1" ] + }, + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/fan0_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/fan0_identify" + ] } ] }, @@ -44,6 +66,28 @@ "/xyz/openbmc_project/sensors/fan_tach/fan1_0", "/xyz/openbmc_project/sensors/fan_tach/fan1_1" ] + }, + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/fan1_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/fan1_identify" + ] } ] }, @@ -62,6 +106,28 @@ "/xyz/openbmc_project/sensors/fan_tach/fan2_0", "/xyz/openbmc_project/sensors/fan_tach/fan2_1" ] + }, + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/fan2_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/fan2_identify" + ] } ] }, @@ -80,6 +146,28 @@ "/xyz/openbmc_project/sensors/fan_tach/fan3_0", "/xyz/openbmc_project/sensors/fan_tach/fan3_1" ] + }, + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/fan3_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/fan3_identify" + ] } ] }, @@ -98,6 +186,28 @@ "/xyz/openbmc_project/sensors/fan_tach/fan4_0", "/xyz/openbmc_project/sensors/fan_tach/fan4_1" ] + }, + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/fan4_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/fan4_identify" + ] } ] }, @@ -116,6 +226,28 @@ "/xyz/openbmc_project/sensors/fan_tach/fan5_0", "/xyz/openbmc_project/sensors/fan_tach/fan5_1" ] + }, + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/fan5_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/fan5_identify" + ] } ] }, @@ -144,7 +276,2582 @@ ] } ] + }, + { + "path": "system/chassis/motherboard/powersupply0", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/powersupply0_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/powersupply0_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/powersupply1", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/powersupply1_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/powersupply1_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/planar_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/planar_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/base_op_panel_blyth", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/base_blyth_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/base_blyth_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/lcd_op_panel_hill", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/lcd_russel_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/lcd_russel_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/ebmc_card_bmc", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/bmc_ingraham_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/bmc_ingraham_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/cpu0", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/cpu0_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/cpu0_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/cpu1", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/cpu0_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/cpu0_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/cpu2", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/cpu1_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/cpu1_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/cpu3", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/cpu1_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/cpu1_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/dimm0", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm0_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm0_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/dimm1", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm1_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm1_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/dimm2", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm2_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm2_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/dimm3", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm3_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm3_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/dimm4", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm4_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm4_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/dimm5", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm5_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm5_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/dimm6", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm6_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm6_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/dimm7", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm7_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm7_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/dimm8", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm8_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm8_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/dimm9", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm9_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm9_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/dimm10", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm10_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm10_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/dimm11", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm11_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm11_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/dimm12", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm12_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm12_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/dimm13", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm13_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm13_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/dimm14", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm14_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm14_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/dimm15", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm15_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm15_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/dimm16", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm16_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm16_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/dimm17", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm17_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm17_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/dimm18", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm18_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm18_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/dimm19", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm19_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm19_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/dimm20", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm20_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm20_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/dimm21", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm21_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm21_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/dimm22", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm22_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm22_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/dimm23", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm23_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm23_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/dimm24", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm24_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm24_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/dimm25", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm25_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm25_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/dimm26", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm26_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm26_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/dimm27", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm27_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm27_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/dimm28", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm28_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm28_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/dimm29", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm29_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm29_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/dimm30", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm30_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm30_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/dimm31", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm31_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm31_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/vdd_vrm0", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/cpu0_vrm0_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/cpu0_vrm0_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/vdd_vrm1", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/cpu1_vrm0_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/cpu1_vrm0_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/tod_battery", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/rtc_battery_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/rtc_battery_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/tpm_wilson", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/tpm_wilson_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/tpm_wilson_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/pcieslot0", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/pcieslot0_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/pcieslot0_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/pcieslot1", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/pcieslot1_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/pcieslot1_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/pcieslot2", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/pcieslot2_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/pcieslot2_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/pcieslot3", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/pcieslot3_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/pcieslot3_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/pcieslot4", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/pcieslot4_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/pcieslot4_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/pcieslot6", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/pcieslot6_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/pcieslot6_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/pcieslot7", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/pcieslot7_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/pcieslot7_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/pcieslot8", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/pcieslot8_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/pcieslot8_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/pcieslot9", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/pcieslot9_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/pcieslot9_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/pcieslot10", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/pcieslot10_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/pcieslot10_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/pcieslot11", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/pcieslot11_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/pcieslot11_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/pcie_cable_card0/cxp_top", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/cablecard0_cxp_top_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/cablecard0_cxp_top_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/pcie_cable_card0/cxp_bot", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/cablecard0_cxp_bot_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/cablecard0_cxp_bot_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/pcie_cable_card3/cxp_top", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/cablecard3_cxp_top_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/cablecard3_cxp_top_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/pcie_cable_card3/cxp_bot", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/cablecard3_cxp_bot_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/cablecard3_cxp_bot_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/pcie_cable_card4/cxp_top", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/cablecard4_cxp_top_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/cablecard4_cxp_top_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/pcie_cable_card4/cxp_bot", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/cablecard4_cxp_bot_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/cablecard4_cxp_bot_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/pcie_cable_card10/cxp_top", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/cablecard10_cxp_top_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/cablecard10_cxp_top_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/pcie_cable_card10/cxp_bot", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/cablecard10_cxp_bot_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/cablecard10_cxp_bot_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/disk_backplane0", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/dasd_pyramid0_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/dasd_pyramid0_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/disk_backplane1", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/dasd_pyramid1_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/dasd_pyramid1_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/disk_backplane2", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/dasd_pyramid2_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/dasd_pyramid2_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/disk_backplane0/nvme0", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/nvme0_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/nvme0_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/disk_backplane0/nvme1", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/nvme1_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/nvme1_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/disk_backplane0/nvme2", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/nvme2_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/nvme2_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/disk_backplane0/nvme3", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/nvme3_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/nvme3_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/disk_backplane0/nvme4", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/nvme4_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/nvme4_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/disk_backplane0/nvme5", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/nvme5_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/nvme5_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/disk_backplane0/nvme6", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/nvme6_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/nvme6_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/disk_backplane0/nvme7", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/nvme7_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/nvme7_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/disk_backplane1/nvme0", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/nvme8_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/nvme8_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/disk_backplane1/nvme1", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/nvme9_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/nvme9_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/disk_backplane1/nvme2", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/nvme10_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/nvme10_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/disk_backplane1/nvme3", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/nvme11_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/nvme11_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/disk_backplane1/nvme4", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/nvme12_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/nvme12_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/disk_backplane1/nvme5", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/nvme13_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/nvme13_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/disk_backplane1/nvme6", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/nvme14_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/nvme14_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/disk_backplane1/nvme7", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/nvme15_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/nvme15_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/disk_backplane2/nvme0", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/nvme16_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/nvme16_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/disk_backplane2/nvme1", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/nvme17_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/nvme17_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/disk_backplane2/nvme2", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/nvme18_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/nvme18_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/disk_backplane2/nvme3", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/nvme19_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/nvme19_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/disk_backplane2/nvme4", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/nvme20_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/nvme20_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/disk_backplane2/nvme5", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/nvme21_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/nvme21_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/disk_backplane2/nvme6", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/nvme22_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/nvme22_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/disk_backplane2/nvme7", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/nvme23_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/nvme23_identify" + ] + } + ] } ] } - diff --git a/meta-ibm/recipes-phosphor/inventory/phosphor-inventory-manager/rainier/ibm,rainier-4u_associations.json b/meta-ibm/recipes-phosphor/inventory/phosphor-inventory-manager/rainier/ibm,rainier-4u_associations.json index 3ba8fea11..7841a966a 100644 --- a/meta-ibm/recipes-phosphor/inventory/phosphor-inventory-manager/rainier/ibm,rainier-4u_associations.json +++ b/meta-ibm/recipes-phosphor/inventory/phosphor-inventory-manager/rainier/ibm,rainier-4u_associations.json @@ -29,12 +29,23 @@ { "types": { - "rType": "inventory", - "fType": "leds" + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/fan0_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" }, "paths": [ - "/xyz/openbmc_project/led/physical/fan0" + "/xyz/openbmc_project/led/groups/fan0_identify" ] } ] @@ -53,6 +64,28 @@ [ "/xyz/openbmc_project/sensors/fan_tach/fan1_0" ] + }, + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/fan1_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/fan1_identify" + ] } ] }, @@ -70,6 +103,28 @@ [ "/xyz/openbmc_project/sensors/fan_tach/fan2_0" ] + }, + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/fan2_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/fan2_identify" + ] } ] }, @@ -87,6 +142,28 @@ [ "/xyz/openbmc_project/sensors/fan_tach/fan3_0" ] + }, + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/fan3_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/fan3_identify" + ] } ] }, @@ -104,6 +181,28 @@ [ "/xyz/openbmc_project/sensors/fan_tach/fan4_0" ] + }, + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/fan4_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/fan4_identify" + ] } ] }, @@ -121,6 +220,28 @@ [ "/xyz/openbmc_project/sensors/fan_tach/fan5_0" ] + }, + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/fan5_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/fan5_identify" + ] } ] }, @@ -144,7 +265,2582 @@ ] } ] + }, + { + "path": "system/chassis/motherboard/powersupply0", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/powersupply0_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/powersupply0_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/powersupply1", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/powersupply1_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/powersupply1_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/planar_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/planar_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/base_op_panel_blyth", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/base_blyth_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/base_blyth_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/lcd_op_panel_hill", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/lcd_russel_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/lcd_russel_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/ebmc_card_bmc", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/bmc_ingraham_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/bmc_ingraham_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/cpu0", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/cpu0_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/cpu0_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/cpu1", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/cpu0_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/cpu0_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/cpu2", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/cpu1_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/cpu1_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/cpu3", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/cpu1_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/cpu1_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/dimm0", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm0_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm0_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/dimm1", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm1_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm1_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/dimm2", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm2_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm2_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/dimm3", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm3_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm3_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/dimm4", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm4_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm4_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/dimm5", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm5_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm5_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/dimm6", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm6_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm6_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/dimm7", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm7_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm7_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/dimm8", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm8_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm8_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/dimm9", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm9_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm9_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/dimm10", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm10_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm10_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/dimm11", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm11_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm11_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/dimm12", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm12_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm12_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/dimm13", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm13_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm13_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/dimm14", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm14_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm14_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/dimm15", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm15_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm15_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/dimm16", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm16_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm16_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/dimm17", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm17_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm17_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/dimm18", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm18_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm18_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/dimm19", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm19_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm19_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/dimm20", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm20_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm20_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/dimm21", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm21_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm21_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/dimm22", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm22_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm22_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/dimm23", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm23_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm23_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/dimm24", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm24_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm24_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/dimm25", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm25_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm25_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/dimm26", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm26_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm26_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/dimm27", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm27_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm27_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/dimm28", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm28_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm28_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/dimm29", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm29_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm29_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/dimm30", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm30_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm30_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/dimm31", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm31_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/ddimm31_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/vdd_vrm0", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/cpu0_vrm0_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/cpu0_vrm0_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/vdd_vrm1", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/cpu1_vrm0_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/cpu1_vrm0_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/tod_battery", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/rtc_battery_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/rtc_battery_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/tpm_wilson", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/tpm_wilson_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/tpm_wilson_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/pcieslot0", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/pcieslot0_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/pcieslot0_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/pcieslot1", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/pcieslot1_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/pcieslot1_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/pcieslot2", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/pcieslot2_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/pcieslot2_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/pcieslot3", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/pcieslot3_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/pcieslot3_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/pcieslot4", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/pcieslot4_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/pcieslot4_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/pcieslot6", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/pcieslot6_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/pcieslot6_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/pcieslot7", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/pcieslot7_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/pcieslot7_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/pcieslot8", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/pcieslot8_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/pcieslot8_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/pcieslot9", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/pcieslot9_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/pcieslot9_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/pcieslot10", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/pcieslot10_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/pcieslot10_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/pcieslot11", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/pcieslot11_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/pcieslot11_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/pcie_cable_card0/cxp_top", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/cablecard0_cxp_top_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/cablecard0_cxp_top_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/pcie_cable_card0/cxp_bot", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/cablecard0_cxp_bot_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/cablecard0_cxp_bot_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/pcie_cable_card3/cxp_top", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/cablecard3_cxp_top_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/cablecard3_cxp_top_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/pcie_cable_card3/cxp_bot", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/cablecard3_cxp_bot_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/cablecard3_cxp_bot_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/pcie_cable_card4/cxp_top", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/cablecard4_cxp_top_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/cablecard4_cxp_top_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/pcie_cable_card4/cxp_bot", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/cablecard4_cxp_bot_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/cablecard4_cxp_bot_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/pcie_cable_card10/cxp_top", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/cablecard10_cxp_top_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/cablecard10_cxp_top_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/pcie_cable_card10/cxp_bot", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/cablecard10_cxp_bot_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/cablecard10_cxp_bot_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/disk_backplane0", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/dasd_pyramid0_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/dasd_pyramid0_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/disk_backplane1", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/dasd_pyramid1_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/dasd_pyramid1_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/disk_backplane2", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/dasd_pyramid2_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/dasd_pyramid2_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/disk_backplane0/nvme0", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/nvme0_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/nvme0_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/disk_backplane0/nvme1", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/nvme1_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/nvme1_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/disk_backplane0/nvme2", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/nvme2_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/nvme2_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/disk_backplane0/nvme3", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/nvme3_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/nvme3_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/disk_backplane0/nvme4", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/nvme4_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/nvme4_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/disk_backplane0/nvme5", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/nvme5_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/nvme5_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/disk_backplane0/nvme6", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/nvme6_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/nvme6_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/disk_backplane0/nvme7", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/nvme7_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/nvme7_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/disk_backplane1/nvme0", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/nvme8_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/nvme8_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/disk_backplane1/nvme1", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/nvme9_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/nvme9_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/disk_backplane1/nvme2", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/nvme10_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/nvme10_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/disk_backplane1/nvme3", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/nvme11_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/nvme11_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/disk_backplane1/nvme4", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/nvme12_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/nvme12_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/disk_backplane1/nvme5", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/nvme13_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/nvme13_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/disk_backplane1/nvme6", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/nvme14_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/nvme14_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/disk_backplane1/nvme7", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/nvme15_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/nvme15_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/disk_backplane2/nvme0", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/nvme16_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/nvme16_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/disk_backplane2/nvme1", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/nvme17_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/nvme17_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/disk_backplane2/nvme2", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/nvme18_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/nvme18_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/disk_backplane2/nvme3", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/nvme19_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/nvme19_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/disk_backplane2/nvme4", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/nvme20_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/nvme20_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/disk_backplane2/nvme5", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/nvme21_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/nvme21_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/disk_backplane2/nvme6", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/nvme22_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/nvme22_identify" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/disk_backplane2/nvme7", + "endpoints": + [ + { + "types": + { + "rType": "fault_inventory_object", + "fType": "fault_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/nvme23_fault" + ] + }, + { + "types": + { + "rType": "identify_inventory_object", + "fType": "identify_led_group" + }, + "paths": + [ + "/xyz/openbmc_project/led/groups/nvme23_identify" + ] + } + ] } ] } - -- cgit v1.2.3 From b9d45c9ea2858cb2c6b1aa6ff9f63470f89100f3 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Wed, 24 Mar 2021 00:11:03 +0000 Subject: libmctp: srcrev bump b1bf5493e8..d88c969c97 Andrew Jeffery (15): docs: vendor-ibm-astlpc: Improve readability with explicit line breaks docs: vendor-ibm-astlpc: References as a numbered list docs: vendor-ibm-astlpc: Reduce emphasis for definitions docs: vendor-ibm-astlpc: Reorder sections to improve flow docs: vendor-ibm-astlpc: Use numbered list for strictly ordered ops docs: vendor-ibm-astlpc: Add definitions for KCS registers docs: vendor-ibm-astlpc: Fix packet exchange order of operations docs: vendor-ibm-astlpc: Annotate {M,L}SB in Bit column docs: vendor-ibm-astlpc: Increase prominence of endianness docs: vendor-ibm-astlpc: Fix IDs in packet transmission sequences docs: vendor-ibm-astlpc: Style code snippets as C docs: vendor-ibm-astlpc: Tweak description of header magic docs: vendor-ibm-astlpc: Define v3 of the protocol astlpc: Fix whitespace in ops struct docs: bindings: Add a Makefile Change-Id: Ieb7b90b6a7a19567e28b80ea8b57c1d74fed4580 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/mctp/mctp_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/mctp/mctp_git.bb b/meta-phosphor/recipes-phosphor/mctp/mctp_git.bb index 65ada7a11..7143dafaf 100644 --- a/meta-phosphor/recipes-phosphor/mctp/mctp_git.bb +++ b/meta-phosphor/recipes-phosphor/mctp/mctp_git.bb @@ -11,7 +11,7 @@ LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=0d30807bb7a4f16d36e96b78f9ed8fae" SRC_URI = "git://github.com/openbmc/libmctp \ file://default" -SRCREV = "b1bf5493e8031143d2050be19f13bd3d3904f429" +SRCREV = "d88c969c9779432516304a3ee189a86e6a107b2c" CONFFILES_${PN} = "${sysconfdir}/default/mctp" DEPENDS += "autoconf-archive-native \ -- cgit v1.2.3 From 40702aceb5fe634d719d091a0dfddffec9411122 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Wed, 24 Mar 2021 01:51:41 +0000 Subject: x86-power-control: srcrev bump 22e0bec01e..92caa4c639 Lei YU (1): Use power_control namespace in main() Change-Id: I90397c1b42ad6513c7308fc759791d312153f4a8 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-x86/chassis/x86-power-control_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-x86/chassis/x86-power-control_git.bb b/meta-phosphor/recipes-x86/chassis/x86-power-control_git.bb index c5788d00e..8765dd573 100755 --- a/meta-phosphor/recipes-x86/chassis/x86-power-control_git.bb +++ b/meta-phosphor/recipes-x86/chassis/x86-power-control_git.bb @@ -2,7 +2,7 @@ SUMMARY = "Chassis Power Control service for Intel based platforms" DESCRIPTION = "Chassis Power Control service for Intel based platforms" SRC_URI = "git://github.com/openbmc/x86-power-control.git;protocol=ssh" -SRCREV = "22e0bec01e283819c13310640918c89f4a74fb56" +SRCREV = "92caa4c639903ef076e2f09e985291781edd927d" PV = "1.0+git${SRCPV}" -- cgit v1.2.3 From e1236db6e4f528c1b8e5d10c8f274b6b4a767e22 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Wed, 24 Mar 2021 03:00:54 +0000 Subject: phosphor-pid-control: srcrev bump 7a8d5a1700..17971efddc Harvey Wu (1): sensors: host: Implement getFailed function to HostSensor Change-Id: I49c5d558f9f99ac14b5e86ce0fd66cb0efec1407 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/fans/phosphor-pid-control_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/fans/phosphor-pid-control_git.bb b/meta-phosphor/recipes-phosphor/fans/phosphor-pid-control_git.bb index 7c977c513..2634d7742 100644 --- a/meta-phosphor/recipes-phosphor/fans/phosphor-pid-control_git.bb +++ b/meta-phosphor/recipes-phosphor/fans/phosphor-pid-control_git.bb @@ -13,7 +13,7 @@ inherit systemd S = "${WORKDIR}/git" SRC_URI = "git://github.com/openbmc/phosphor-pid-control" -SRCREV = "7a8d5a170004c9256e00ab4a605ebba5437921dd" +SRCREV = "17971efddc5e44b5a7926d9b3c71def03b739a75" # Each platform will need a service file that starts # at an appropriate time per system. For instance, if -- cgit v1.2.3 From 3c5cf6dd25542fc9bec7828706a0eeaabe444289 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Wed, 24 Mar 2021 12:31:07 +0000 Subject: pldm: srcrev bump 4d25f6a6f4..9f8d2b0a18 Sampa Misra (1): Revert "Fix return value for the pldm_send method" Change-Id: I16d7d882de79ae5b407739a81a1b343a02f09ce3 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/pldm/pldm.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/pldm/pldm.inc b/meta-phosphor/recipes-phosphor/pldm/pldm.inc index f746b538f..bf1bb8f09 100644 --- a/meta-phosphor/recipes-phosphor/pldm/pldm.inc +++ b/meta-phosphor/recipes-phosphor/pldm/pldm.inc @@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/pldm" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" SRC_URI = "git://github.com/openbmc/pldm" -SRCREV = "4d25f6a6f4a027d51863393e55cb770ededf0358" +SRCREV = "9f8d2b0a1816d183784b4a48623069652502bd33" -- cgit v1.2.3 From 9ae2940a2a43e98d8a81634d9aeda501f049a609 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Wed, 24 Mar 2021 15:22:06 +0000 Subject: phosphor-net-ipmid: srcrev bump de7dd5ce31..29086950c2 Cheng C Yang (1): Add dbus interface for sol commands Change-Id: I591053ccc30100feb73f25203c2daa374dcaf59c Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-net_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-net_git.bb b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-net_git.bb index e932d1d56..a02ec271f 100644 --- a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-net_git.bb +++ b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-net_git.bb @@ -18,7 +18,7 @@ DEPENDS += "phosphor-ipmi-host" RRECOMMENDS_${PN} = "pam-ipmi" SRC_URI += "git://github.com/openbmc/phosphor-net-ipmid" -SRCREV = "de7dd5ce3133a0201e149b6fdf3d3458fb7f06a5" +SRCREV = "29086950c2300fe8bd5791896b1209a31a1c93e6" S = "${WORKDIR}/git" -- cgit v1.2.3 From 4af3374585a516d4a8b0cd71860926edc24a0702 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Thu, 25 Mar 2021 16:51:26 +0000 Subject: phosphor-power: srcrev bump 4e8b335e2c..e1074d8e91 Adriana Kobylak (1): psu-ng: Process all Supported Configuration sets Brandon Wyman (1): psu-ng: Rename supportedConfIfaceAdded Change-Id: Iec37fe420d2c2a2199b6ce1bbce012bf3e718ea1 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/power/phosphor-power.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/power/phosphor-power.inc b/meta-phosphor/recipes-phosphor/power/phosphor-power.inc index 9c6f3fc77..68cad9187 100644 --- a/meta-phosphor/recipes-phosphor/power/phosphor-power.inc +++ b/meta-phosphor/recipes-phosphor/power/phosphor-power.inc @@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/phosphor-power" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" SRC_URI += "git://github.com/openbmc/phosphor-power" -SRCREV = "4e8b335e2c914fbc85247ad2e0298ec710b51b55" +SRCREV = "e1074d8e915066c1ea858321b5f6453014e86894" -- cgit v1.2.3 From 981c9c84b3c088e314c8ce80a1b865a0ee6c7a8b Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Wed, 24 Mar 2021 20:21:19 +0000 Subject: webui-vue: srcrev bump 56ada53a80..3bb5e8273f Yoshie Muranaka (1): Remove Yoshie from maintainers list Change-Id: I0baef0f2e98f4210f81d8ec4280f8b97df7d19fd Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/webui/webui-vue_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/webui/webui-vue_git.bb b/meta-phosphor/recipes-phosphor/webui/webui-vue_git.bb index b4760cfd7..86d659fc2 100644 --- a/meta-phosphor/recipes-phosphor/webui/webui-vue_git.bb +++ b/meta-phosphor/recipes-phosphor/webui/webui-vue_git.bb @@ -6,7 +6,7 @@ LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" SRC_URI = "git://github.com/openbmc/webui-vue.git" -SRCREV = "56ada53a80c2183f3055661aa8e0f707e4c6669d" +SRCREV = "3bb5e8273fbf7dcc56bd7dd14d8395715d15b1b0" S = "${WORKDIR}/git" DEPENDS_prepend = "nodejs-native " -- cgit v1.2.3 From cdc57cf323840e2585e6e0d8b7aaa09bda568c07 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Thu, 25 Mar 2021 05:10:29 +0000 Subject: phosphor-networkd: srcrev bump 39d058572e..983da5568c Alexander Filippov (1): Fix representation IPv6 DNS servers Change-Id: Id5bc44e0581e181f4e525c33d48dfe72b0d2f687 Signed-off-by: Andrew Geissler --- meta-phosphor/classes/phosphor-networkd-rev.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/classes/phosphor-networkd-rev.bbclass b/meta-phosphor/classes/phosphor-networkd-rev.bbclass index 62501ce91..f9e0e89d3 100644 --- a/meta-phosphor/classes/phosphor-networkd-rev.bbclass +++ b/meta-phosphor/classes/phosphor-networkd-rev.bbclass @@ -1,2 +1,2 @@ SRC_URI += "git://github.com/openbmc/phosphor-networkd" -SRCREV = "39d058572e7c95807a9d210b72da2bdd38a6d555" +SRCREV = "983da5568c70a75d0c0c2c2d05ee8e497d6cd4f6" -- cgit v1.2.3 From d5cea7fd1763fd130e43d526726a19c53eefb92b Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Thu, 25 Mar 2021 14:30:40 +0000 Subject: phosphor-debug-collector: srcrev bump 01c6646064..0c782d64f6 Dhruvaraj Subhashchandran (1): Error while invalidating the resource dump over PLDM. Change-Id: Icb588852cc1186f0f7e58e65bb9a47bb4ad85ebd Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/dump/phosphor-debug-collector.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/dump/phosphor-debug-collector.inc b/meta-phosphor/recipes-phosphor/dump/phosphor-debug-collector.inc index d16445261..0311a4129 100644 --- a/meta-phosphor/recipes-phosphor/dump/phosphor-debug-collector.inc +++ b/meta-phosphor/recipes-phosphor/dump/phosphor-debug-collector.inc @@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/phosphor-debug-collector" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" SRC_URI += "git://github.com/openbmc/phosphor-debug-collector" -SRCREV = "01c664606479dfaf9fc3745412e20be4d09447f2" +SRCREV = "0c782d64f6640fd0adf532380259003c314bb5d8" -- cgit v1.2.3 From 236e2438f18d122646d50fb50f9dab3fa767f071 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Thu, 25 Mar 2021 17:00:37 +0000 Subject: entity-manager: srcrev bump 1694ef625a..c8dc4af9cc Andrew Geissler (1): configs: add ibm rainier 1s4u Kumar Thangavel (1): Moved the common code and functions between fru deamons in entitymanager. Change-Id: I1581b6a24ce3f9cf3609a42df283d04eab0f8912 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/configuration/entity-manager_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/configuration/entity-manager_git.bb b/meta-phosphor/recipes-phosphor/configuration/entity-manager_git.bb index 11b0ff3ca..54674c20f 100644 --- a/meta-phosphor/recipes-phosphor/configuration/entity-manager_git.bb +++ b/meta-phosphor/recipes-phosphor/configuration/entity-manager_git.bb @@ -3,7 +3,7 @@ DESCRIPTION = "Entity Manager provides d-bus configuration data \ and configures system sensors" SRC_URI = "git://github.com/openbmc/entity-manager.git file://blocklist.json" -SRCREV = "1694ef625a1075599e40faa695a40d61ccd91095" +SRCREV = "c8dc4af9ccf6b80a70b30b0d5f7d464f4af417ab" PV = "0.1+git${SRCPV}" LICENSE = "Apache-2.0" -- cgit v1.2.3 From a443c54ffcd06ee703cca039b7c127228f8430e3 Mon Sep 17 00:00:00 2001 From: Ed Tanous Date: Fri, 26 Feb 2021 13:28:37 -0800 Subject: Implement bmcweb ptest Yocto implements ptest classes for recipes. In general OpenBMC doesn't implement ptest for any of its recipes. This is the first in an attempt to change that, specifically, this enables ptest for the bmcweb recipe. Examples for ptest + meson recipes are pulled from here: http://layers.openembedded.org/layerindex/branch/master/recipes/?q=inherits%3Aptest+inherits%3Ameson This commit implements the base ptest functionalityrequired to be able to install and run the unit tests already present in bmcweb. The specific changes are: 1. bmcweb recipe now inherits from ptest 2. When ptest is enabled, bmcweb now requires gtest and gmock dependencies. This is done by updating DEPENDS. We also now require bash at runtime, so that dependency is added, as that seems to be what the upstream recipes do. 3. The meta-layer now includes a "run-ptest" script. This seems to be the common convention in the upstream yocto recipes to include in the meta layer so we should do the same thing here for consistency, even if it is a little unconventional or odd. To enable this and try it out, insert the following into your local.conf DISTRO_FEATURES_append = " ptest" CORE_IMAGE_EXTRA_INSTALL += "bmcweb-ptest" This will add bmcweb ptests to your build. Keep in mind, this takes a lot of flash space, so qemu is likely the best target, unless you're on a system with eMMC, or a lot of SPI flash free. Once your system has booted, you can run the tests by executing ptest_runner. https://wiki.yoctoproject.org/wiki/Ptest Signed-off-by: Ed Tanous Change-Id: I8c45c98afb941953c1855de2f3db10deea465b2a --- .../recipes-phosphor/interfaces/bmcweb/run-ptest | 10 ++++++++++ .../recipes-phosphor/interfaces/bmcweb_git.bb | 20 ++++++++++++++++++-- 2 files changed, 28 insertions(+), 2 deletions(-) create mode 100644 meta-phosphor/recipes-phosphor/interfaces/bmcweb/run-ptest diff --git a/meta-phosphor/recipes-phosphor/interfaces/bmcweb/run-ptest b/meta-phosphor/recipes-phosphor/interfaces/bmcweb/run-ptest new file mode 100644 index 000000000..f2a522a14 --- /dev/null +++ b/meta-phosphor/recipes-phosphor/interfaces/bmcweb/run-ptest @@ -0,0 +1,10 @@ +#!/bin/sh + +for i in `ls test/*_test`; do + $i + if [ $? -eq 0 ]; then + echo "PASS: $i" + else + echo "FAIL: $i" + fi +done diff --git a/meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb b/meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb index 2125a6f8f..75791cfc0 100644 --- a/meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb +++ b/meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb @@ -17,6 +17,12 @@ SRCREV = "8f7e9c194f36a84f4e49ad142110f4f3d0f312be" S = "${WORKDIR}/git" +inherit meson ptest + +SRC_URI += " \ + file://run-ptest \ +" + DEPENDS = " \ openssl \ zlib \ @@ -27,6 +33,8 @@ DEPENDS = " \ gtest \ nlohmann-json \ libtinyxml2 \ + ${@bb.utils.contains('PTEST_ENABLED', '1', 'gtest', '', d)} \ + ${@bb.utils.contains('PTEST_ENABLED', '1', 'gmock', '', d)} \ " RDEPENDS_${PN} += " \ @@ -34,11 +42,19 @@ RDEPENDS_${PN} += " \ phosphor-mapper \ " +do_install_ptest() { + install -d ${D}${PTEST_PATH}/test + cp -rf ${B}*_test ${D}${PTEST_PATH}/test/ +} + FILES_${PN} += "${datadir}/** " -inherit meson -EXTRA_OEMESON = "--buildtype=minsize -Dtests=disabled -Dyocto-deps=enabled" +EXTRA_OEMESON = " \ + --buildtype=minsize \ + -Dtests=${@bb.utils.contains('PTEST_ENABLED', '1', 'enabled', 'disabled', d)} \ + -Dyocto-deps=enabled \ +" SYSTEMD_SERVICE_${PN} += "bmcweb.service bmcweb.socket" -- cgit v1.2.3 From c5fd20a105916a2b6888dc16d770a15d117fa8c2 Mon Sep 17 00:00:00 2001 From: Vishwanatha Subbanna Date: Fri, 26 Mar 2021 06:11:29 -0500 Subject: ledmanager: Remove phosphor-led-manager-ledmanager package phosphor-led-manager has 3 packages - phosphor-led-manager : Default - phosphor-led-manager-ledmanager : Packages phosphor-ledmanager - phosphor-ledmanager-faultmonitor : Packages phosphor-fru-fault-monitor Because of this, it was not possible to install files via Makefile and that always needed a corresponding update to FILES_{PN}-ledmanager. Removing phosphor-led-manager-ledmanager will eliminate this problem. Change-Id: I00ca4c34346a47f887872464b9050a46d8f5e8e9 Signed-off-by: Vishwanatha Subbanna --- .../leds/phosphor-led-manager_%.bbappend | 8 +++---- .../conf/distro/include/phosphor-defaults.inc | 2 +- .../leds/phosphor-led-manager_git.bb | 28 +++++++--------------- .../recipes-phosphor/cli/obmc-yadro-cli_%.bbappend | 2 +- 4 files changed, 15 insertions(+), 25 deletions(-) diff --git a/meta-ibm/recipes-phosphor/leds/phosphor-led-manager_%.bbappend b/meta-ibm/recipes-phosphor/leds/phosphor-led-manager_%.bbappend index ba146bcb6..174d9d0a4 100644 --- a/meta-ibm/recipes-phosphor/leds/phosphor-led-manager_%.bbappend +++ b/meta-ibm/recipes-phosphor/leds/phosphor-led-manager_%.bbappend @@ -1,15 +1,15 @@ FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" -SYSTEMD_SERVICE_${PN}-ledmanager_append_rainier += "obmc-led-set-all-groups-asserted@.service" +SYSTEMD_SERVICE_${PN}_append_rainier += "obmc-led-set-all-groups-asserted@.service" # Copies config file having arguments for led-set-all-groups-asserted.sh -SYSTEMD_ENVIRONMENT_FILE_${PN}-ledmanager_append_rainier +="obmc/led/set-all/groups/config" +SYSTEMD_ENVIRONMENT_FILE_${PN}_append_rainier +="obmc/led/set-all/groups/config" # Use the JSON configuration file at runtime than the static led.yaml # Also, enable Lamp Test feature for rainier systems PACKAGECONFIG_append_rainier = " use-json use-lamp-test" -pkg_postinst_${PN}-ledmanager_rainier () { +pkg_postinst_${PN}_rainier () { # Needed this to run as part of BMC boot mkdir -p $D$systemd_system_unitdir/multi-user.target.wants @@ -24,7 +24,7 @@ pkg_postinst_${PN}-ledmanager_rainier () { ln -s $TARGET $LINK } -pkg_prerm_${PN}-ledmanager_rainier () { +pkg_prerm_${PN}_rainier () { LINK="$D$systemd_system_unitdir/multi-user.target.wants/obmc-led-set-all-groups-asserted@false.service" rm $LINK diff --git a/meta-phosphor/conf/distro/include/phosphor-defaults.inc b/meta-phosphor/conf/distro/include/phosphor-defaults.inc index d5e07e34e..b8f4c52e3 100644 --- a/meta-phosphor/conf/distro/include/phosphor-defaults.inc +++ b/meta-phosphor/conf/distro/include/phosphor-defaults.inc @@ -52,7 +52,7 @@ VIRTUAL-RUNTIME_obmc-inventory-manager ?= "phosphor-inventory-manager" # obmc-led-manager # # Provides an implementation of the xyz.openbmc_project.ledmanager interface. -VIRTUAL-RUNTIME_obmc-leds-manager ?= "phosphor-led-manager-ledmanager" +VIRTUAL-RUNTIME_obmc-leds-manager ?= "phosphor-led-manager" # obmc-led-monitor # diff --git a/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager_git.bb b/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager_git.bb index beaf93183..3f70891b4 100644 --- a/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager_git.bb +++ b/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager_git.bb @@ -3,26 +3,17 @@ DESCRIPTION = "Daemon to cater to triggering actions on LED groups" PR = "r1" PV = "1.0+git${SRCPV}" -require ${BPN}.inc +require ${PN}.inc inherit autotools pkgconfig python3native inherit obmc-phosphor-dbus-service obmc-phosphor-systemd -LED_MGR_PACKAGES = " \ - ${PN}-ledmanager \ - ${PN}-faultmonitor \ -" - PACKAGECONFIG ??= "" PACKAGECONFIG[use-json] = "--enable-use-json, --disable-use-json" PACKAGECONFIG[use-lamp-test] = "--enable-use-lamp-test, --disable-use-lamp-test" -PACKAGE_BEFORE_PN += "${LED_MGR_PACKAGES}" -ALLOW_EMPTY_${PN} = "1" - -DBUS_PACKAGES = "${PN}-ledmanager" - -SYSTEMD_PACKAGES = "${LED_MGR_PACKAGES}" +SYSTEMD_PACKAGES = "${PN} ${PN}-faultmonitor" +PACKAGE_BEFORE_PN += "${PN}-faultmonitor" DEPENDS += "${PYTHON_PN}-native" DEPENDS += "${PYTHON_PN}-pyyaml-native" @@ -35,28 +26,27 @@ DEPENDS += "nlohmann-json" DEPENDS += "virtual/${PN}-config-native" -RDEPENDS_${PN}-ledmanager += "bash" +RDEPENDS_${PN} += "bash" S = "${WORKDIR}/git" -FILES_${PN}-ledmanager += "${bindir}/phosphor-ledmanager ${bindir}/led-set-all-groups-asserted.sh" FILES_${PN}-faultmonitor += "${bindir}/phosphor-fru-fault-monitor" -DBUS_SERVICE_${PN}-ledmanager += "xyz.openbmc_project.LED.GroupManager.service" +DBUS_SERVICE_${PN} += "xyz.openbmc_project.LED.GroupManager.service" -SYSTEMD_SERVICE_${PN}-ledmanager += "obmc-led-group-start@.service obmc-led-group-stop@.service" +SYSTEMD_SERVICE_${PN} += "obmc-led-group-start@.service obmc-led-group-stop@.service" SYSTEMD_SERVICE_${PN}-faultmonitor += "obmc-fru-fault-monitor.service" -SYSTEMD_LINK_${PN}-ledmanager += "../obmc-led-group-start@.service:multi-user.target.wants/obmc-led-group-start@bmc_booted.service" +SYSTEMD_LINK_${PN} += "../obmc-led-group-start@.service:multi-user.target.wants/obmc-led-group-start@bmc_booted.service" STATES = "start stop" TMPLFMT = "obmc-led-group-{0}@.service" TGTFMT = "obmc-power-{0}@0.target" INSTFMT = "obmc-led-group-{0}@power_on.service" FMT = "../${TMPLFMT}:${TGTFMT}.wants/${INSTFMT}" -SYSTEMD_LINK_${PN}-ledmanager += "${@compose_list(d, 'FMT', 'STATES')}" +SYSTEMD_LINK_${PN} += "${@compose_list(d, 'FMT', 'STATES')}" # Install the override to set up a Conflicts relation -SYSTEMD_OVERRIDE_${PN}-ledmanager += "bmc_booted.conf:obmc-led-group-start@bmc_booted.service.d/bmc_booted.conf" +SYSTEMD_OVERRIDE_${PN} += "bmc_booted.conf:obmc-led-group-start@bmc_booted.service.d/bmc_booted.conf" EXTRA_OECONF = "YAML_PATH=${STAGING_DATADIR_NATIVE}/${PN}" diff --git a/meta-yadro/meta-nicole/recipes-phosphor/cli/obmc-yadro-cli_%.bbappend b/meta-yadro/meta-nicole/recipes-phosphor/cli/obmc-yadro-cli_%.bbappend index 760a12aa9..6708a6a9f 100644 --- a/meta-yadro/meta-nicole/recipes-phosphor/cli/obmc-yadro-cli_%.bbappend +++ b/meta-yadro/meta-nicole/recipes-phosphor/cli/obmc-yadro-cli_%.bbappend @@ -4,7 +4,7 @@ RDEPENDS_${PN}_append = " \ op-proc-control \ openpower-esel-parser \ phosphor-debug-collector \ - phosphor-led-manager-ledmanager \ + phosphor-led-manager \ phosphor-mapper \ phosphor-state-manager \ " -- cgit v1.2.3 From 0a3c468d9b1f672f0364799387df9f449ddceea8 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Fri, 26 Mar 2021 16:30:25 +0000 Subject: openpower-hw-diags: srcrev bump 0b8368cb0a..982f172262 Ben Tyner (1): Attn: Submit event logs before transitioning host Zane Shelley (3): Config option to enable PHAL APIs Implemented HardwareCalloutResolution::resolve() Cleaned test case dependencies Change-Id: Idfcec07ce8f6255ad7ed92868e0975f4a5029e59 Signed-off-by: Andrew Geissler --- meta-openpower/recipes-phosphor/logging/openpower-hw-diags_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-openpower/recipes-phosphor/logging/openpower-hw-diags_git.bb b/meta-openpower/recipes-phosphor/logging/openpower-hw-diags_git.bb index 0948fc657..77eb8db04 100644 --- a/meta-openpower/recipes-phosphor/logging/openpower-hw-diags_git.bb +++ b/meta-openpower/recipes-phosphor/logging/openpower-hw-diags_git.bb @@ -16,7 +16,7 @@ inherit meson systemd S = "${WORKDIR}/git" SRC_URI = "git://github.com/openbmc/openpower-hw-diags" -SRCREV = "0b8368cb0aa251032eb18b5c938d009e27f0b152" +SRCREV = "982f172262693198f649d4d8918e5defb1ff6c9c" SYSTEMD_SERVICE_${PN} = "attn_handler.service" -- cgit v1.2.3 From cac33020580f97d4f570a5948d0620a5c32f0963 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Fri, 26 Mar 2021 04:30:40 +0000 Subject: phosphor-debug-collector: srcrev bump 0c782d64f6..537642dad8 PriyangaRamasamy (1): Collect Bad VPD as a part of BMC dump. Change-Id: I9b507ff20966e9dc52f057b3084b1f57f9364b35 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/dump/phosphor-debug-collector.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/dump/phosphor-debug-collector.inc b/meta-phosphor/recipes-phosphor/dump/phosphor-debug-collector.inc index 0311a4129..bdea9f342 100644 --- a/meta-phosphor/recipes-phosphor/dump/phosphor-debug-collector.inc +++ b/meta-phosphor/recipes-phosphor/dump/phosphor-debug-collector.inc @@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/phosphor-debug-collector" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" SRC_URI += "git://github.com/openbmc/phosphor-debug-collector" -SRCREV = "0c782d64f6640fd0adf532380259003c314bb5d8" +SRCREV = "537642dad8025560c7200ac159d2f66ff74f8642" -- cgit v1.2.3 From e99a433b88e8660b76c593f4e9b21e3e32b2ac45 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Fri, 26 Mar 2021 06:20:57 +0000 Subject: phosphor-led-sysfs: srcrev bump 61b9063671..a8a275f635 Vishwanatha Subbanna (4): Add support for --enable-oe-sdk Add test cases to validate state of physical LED Fix an error scenario where reading the file fails test: Add test cases to cover brightness and asserted values Change-Id: I49963d5da3051c4bbda19963b18ad50b21c1386a Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/leds/phosphor-led-sysfs_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/leds/phosphor-led-sysfs_git.bb b/meta-phosphor/recipes-phosphor/leds/phosphor-led-sysfs_git.bb index c3768c9d9..03cdb9636 100644 --- a/meta-phosphor/recipes-phosphor/leds/phosphor-led-sysfs_git.bb +++ b/meta-phosphor/recipes-phosphor/leds/phosphor-led-sysfs_git.bb @@ -19,7 +19,7 @@ DBUS_SERVICE_${PN} += "xyz.openbmc_project.led.controller@.service" SRC_URI += "git://github.com/openbmc/phosphor-led-sysfs" SRC_URI += "file://70-leds.rules" -SRCREV = "61b906367119b794a9788725fad86a3174bd83c0" +SRCREV = "a8a275f635ff876186ce5783308e93368f205898" S = "${WORKDIR}/git" do_install_append() { -- cgit v1.2.3 From d266cf61e347d9da48fd9eab0d08e6d85b7cc103 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Fri, 26 Mar 2021 08:50:40 +0000 Subject: openpower-vpd-parser: srcrev bump f272efc44f..7c9cddf726 Andrew Geissler (1): add support for rainier 1s4u Change-Id: Ie4908393fb6e679309e522c61b46e1bf66144e9b Signed-off-by: Andrew Geissler --- meta-openpower/recipes-phosphor/vpd/openpower-fru-vpd.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-openpower/recipes-phosphor/vpd/openpower-fru-vpd.inc b/meta-openpower/recipes-phosphor/vpd/openpower-fru-vpd.inc index 4f7eafa28..7bdd07f12 100644 --- a/meta-openpower/recipes-phosphor/vpd/openpower-fru-vpd.inc +++ b/meta-openpower/recipes-phosphor/vpd/openpower-fru-vpd.inc @@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/openpower-vpd-parser" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" SRC_URI += "git://github.com/openbmc/openpower-vpd-parser" -SRCREV = "f272efc44f2c35f23d63bab8a983fa18c7f5aee4" +SRCREV = "7c9cddf726e01f88f070d53ff4a6b5d9e43f7313" -- cgit v1.2.3 From f10396dd27b2f52200b74e8bb306220ffcd2966b Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Thu, 25 Mar 2021 21:00:39 +0000 Subject: openpower-pnor-code-mgmt: srcrev bump 0529d284b0..a30fc13e8a Andrew Geissler (1): config: add rainier 1s4u support Change-Id: I8e9bba4218b98d7ea07aeb2f28a6a51c44ab38db Signed-off-by: Andrew Geissler --- meta-openpower/recipes-phosphor/flash/openpower-software-manager_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-openpower/recipes-phosphor/flash/openpower-software-manager_git.bb b/meta-openpower/recipes-phosphor/flash/openpower-software-manager_git.bb index 7c51ad8e8..4d027071e 100644 --- a/meta-openpower/recipes-phosphor/flash/openpower-software-manager_git.bb +++ b/meta-openpower/recipes-phosphor/flash/openpower-software-manager_git.bb @@ -59,7 +59,7 @@ S = "${WORKDIR}/git" SRC_URI += "git://github.com/openbmc/openpower-pnor-code-mgmt" -SRCREV = "0529d284b008fa4b4ff9512da5f375decfd62740" +SRCREV = "a30fc13e8ac2137927909265882d97b0294e5348" DBUS_SERVICE_${PN} += "org.open_power.Software.Host.Updater.service" -- cgit v1.2.3 From a58e0790ffff73df72e772f0798868cc7ba6ccda Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Fri, 26 Mar 2021 07:51:04 +0000 Subject: phosphor-power: srcrev bump e1074d8e91..8b7786afc4 Brandon Wyman (3): psu-ng: Add method to get PSU conf from D-Bus. psu-ng: Change main to call non-JSON PSUManager psu-ng: Remove JSON parsing code Change-Id: Ib1aba0e7525b42537cd1c6433b6b52358d964197 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/power/phosphor-power.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/power/phosphor-power.inc b/meta-phosphor/recipes-phosphor/power/phosphor-power.inc index 68cad9187..dd7fe5d89 100644 --- a/meta-phosphor/recipes-phosphor/power/phosphor-power.inc +++ b/meta-phosphor/recipes-phosphor/power/phosphor-power.inc @@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/phosphor-power" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" SRC_URI += "git://github.com/openbmc/phosphor-power" -SRCREV = "e1074d8e915066c1ea858321b5f6453014e86894" +SRCREV = "8b7786afc411da4f06e130fc685631021bdd41ea" -- cgit v1.2.3 From 6b5f8b18db18fe969bd8414001c2f837561bd11a Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Fri, 26 Mar 2021 15:10:22 +0000 Subject: openpower-proc-control: srcrev bump 26c4d763d3..29b5d44674 Andrew Geissler (1): remove host-on file rm Change-Id: If68039868e04b37cc8bbccdcd40d36885e3003ba Signed-off-by: Andrew Geissler --- meta-openpower/recipes-phosphor/host/op-proc-control_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-openpower/recipes-phosphor/host/op-proc-control_git.bb b/meta-openpower/recipes-phosphor/host/op-proc-control_git.bb index 75619f70a..8fee1ae93 100644 --- a/meta-openpower/recipes-phosphor/host/op-proc-control_git.bb +++ b/meta-openpower/recipes-phosphor/host/op-proc-control_git.bb @@ -11,7 +11,7 @@ inherit autotools obmc-phosphor-utils pkgconfig inherit systemd SRC_URI += "git://github.com/openbmc/openpower-proc-control" -SRCREV = "26c4d763d3dcddc3638a960973cefef506b3735b" +SRCREV = "29b5d446743b5452ae3eb6ffad3785a9f0c7c96e" DEPENDS += " \ autoconf-archive-native \ -- cgit v1.2.3 From 25945a518a1565e5399356847a89aa753891fe3d Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Fri, 26 Mar 2021 17:01:05 +0000 Subject: phosphor-led-manager: srcrev bump 8215032f79..52ad07b2a2 Vishwanatha Subbanna (1): configs: rainier: Add virtual physical LEDs to Fault and Identify groups Change-Id: I1cafd851ea78fb1d8ca23517bb9e748277027cff Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/leds/phosphor-led-manager.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager.inc b/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager.inc index 431fa0140..e06def185 100644 --- a/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager.inc +++ b/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager.inc @@ -2,4 +2,4 @@ HOMEPAGE = "http://github.com/openbmc/phosphor-led-manager" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" SRC_URI += "git://github.com/openbmc/phosphor-led-manager" -SRCREV = "8215032f795d468dd53ad8c42924bf5674b64c42" +SRCREV = "52ad07b2a2d58c9c9cf7c9999fd8d5ced95b090b" -- cgit v1.2.3 From c2b7d755e35a25b76439ae42ae05d311dcd0efc6 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Sat, 27 Mar 2021 12:29:34 -0700 Subject: meta-google: linux: Prune some unused kernel features This saves us ~400KB compressed in our current linux kernel images. Change-Id: I9810ef4933abfdccc7f45459a1a5e5f230087f07 Signed-off-by: William A. Kennington III --- meta-google/recipes-kernel/linux/files/gbmc.cfg | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/meta-google/recipes-kernel/linux/files/gbmc.cfg b/meta-google/recipes-kernel/linux/files/gbmc.cfg index 4385cc9eb..91939ba2b 100644 --- a/meta-google/recipes-kernel/linux/files/gbmc.cfg +++ b/meta-google/recipes-kernel/linux/files/gbmc.cfg @@ -36,3 +36,15 @@ CONFIG_DUMMY=y CONFIG_BRIDGE_NETFILTER=y CONFIG_NF_TABLES_BRIDGE=y CONFIG_BRIDGE_NF_EBTABLES=y + +# Remove features we won't use +CONFIG_WLAN=n +CONFIG_SUSPEND=n +CONFIG_USB_CHIPIDEA=n +CONFIG_NETWORK_FILESYSTEMS=n +CONFIG_RD_GZIP=n +CONFIG_RD_BZIP2=n +CONFIG_RD_LZMA=n +CONFIG_RD_LZO=n +CONFIG_RD_LZ4=n +CONFIG_CRYPTO_LZO=n -- cgit v1.2.3 From bc0236c1dbd3766375b795d01905802929cf9392 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Mon, 29 Mar 2021 08:20:18 +0000 Subject: pfr-manager: srcrev bump 00acaffb38..2dfaf507da Chalapathi Venkataramashetty (2): pfr-manager: move cpld_active version to settings service pfr-manager: add rsyslog dependency to pfr service Change-Id: I612c77f5a82baae88d9e69fc696638e88eb8980a Signed-off-by: Andrew Geissler --- meta-intel-openbmc/meta-common/recipes-intel/pfr/pfr-manager_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-intel-openbmc/meta-common/recipes-intel/pfr/pfr-manager_git.bb b/meta-intel-openbmc/meta-common/recipes-intel/pfr/pfr-manager_git.bb index abfcbc539..264d661e9 100644 --- a/meta-intel-openbmc/meta-common/recipes-intel/pfr/pfr-manager_git.bb +++ b/meta-intel-openbmc/meta-common/recipes-intel/pfr/pfr-manager_git.bb @@ -8,7 +8,7 @@ inherit cmake systemd SRC_URI = "git://github.com/openbmc/pfr-manager" PV = "0.1+git${SRCPV}" -SRCREV = "00acaffb3840d019bf0853d1ee93fdde947f47d2" +SRCREV = "2dfaf507da581ed4c71d41c02976e4efafc1d634" S = "${WORKDIR}/git" -- cgit v1.2.3 From 08fd8660acf19ad6e274665051bc8377185e18cb Mon Sep 17 00:00:00 2001 From: Willy Tu Date: Tue, 9 Feb 2021 16:31:28 -0800 Subject: meta-google: recipes-core: dropbear: Import from gBMC Update recipes-core/dropbear code from gBMC. Google-Bug-Id: 179618554 Upstream: 8ac594bdf054082ca6dbe35c4345759fe4c31669 Signed-off-by: Willy Tu Change-Id: I56886cf316ebc5f77e0f5afdc0bcc970d7cf490e --- meta-google/recipes-core/dropbear/dropbear/dropbear.default | 1 + meta-google/recipes-core/dropbear/dropbear_%.bbappend | 7 +++++++ 2 files changed, 8 insertions(+) create mode 100644 meta-google/recipes-core/dropbear/dropbear/dropbear.default diff --git a/meta-google/recipes-core/dropbear/dropbear/dropbear.default b/meta-google/recipes-core/dropbear/dropbear/dropbear.default new file mode 100644 index 000000000..e5f778145 --- /dev/null +++ b/meta-google/recipes-core/dropbear/dropbear/dropbear.default @@ -0,0 +1 @@ +DROPBEAR_EXTRA_ARGS="" diff --git a/meta-google/recipes-core/dropbear/dropbear_%.bbappend b/meta-google/recipes-core/dropbear/dropbear_%.bbappend index 20c53fecb..e93eba8b6 100644 --- a/meta-google/recipes-core/dropbear/dropbear_%.bbappend +++ b/meta-google/recipes-core/dropbear/dropbear_%.bbappend @@ -1,3 +1,10 @@ +FILESEXTRAPATHS_prepend_gbmc := "${THISDIR}/${PN}:" +SRC_URI_append_gbmc = " file://dropbear.default" +SYSTEMD_AUTO_ENABLE_${PN}_prod = "disable" + +FILESEXTRAPATHS_remove_gbmc_bandaid := "${THISDIR}/${PN}:" +SYSTEMD_AUTO_ENABLE_${PN}_bandaid_prod = "enable" + # Allow SSH to the mgmt node on DEV builds do_install_append_gbmc_dev() { nftables_dir=${D}${sysconfdir}/nftables -- cgit v1.2.3 From ae9e0e69df8d6a3e7bfbb37bd5b3a5873947243e Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Mon, 29 Mar 2021 16:20:48 +0000 Subject: bmcweb: srcrev bump 8f7e9c194f..4df1bee0bd Ed Tanous (2): Make redfish namespace consistent Add OData-version header George Liu (1): log-services: Error return 500(internal error) Jason M. Bills (1): Update Crashdump to the latest LogService and LogEntry schemas Wludzik, Jozef (1): Sync ReadingUnit with Redfish Sensor Schema Change-Id: If37af58edf9f7a21161d7608b7fc7c0ee3310f69 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb b/meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb index 75791cfc0..102d6d3de 100644 --- a/meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb +++ b/meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb @@ -13,7 +13,7 @@ LIC_FILES_CHKSUM = "file://LICENCE;md5=a6a4edad4aed50f39a66d098d74b265b" SRC_URI = "git://github.com/openbmc/bmcweb.git" PV = "1.0+git${SRCPV}" -SRCREV = "8f7e9c194f36a84f4e49ad142110f4f3d0f312be" +SRCREV = "4df1bee0bdc9d71043b51872875d3d22b26ab68f" S = "${WORKDIR}/git" -- cgit v1.2.3 From d0bec79a3360bc5c9c2225bd44a9b3071709cdb9 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Tue, 30 Mar 2021 00:41:32 +0000 Subject: pldm: srcrev bump 9f8d2b0a18..a6daacb5e0 George Liu (1): pldmtool: Fix confusing attribute name Manojkiran Eda (1): Remove the print traces from the oem code Change-Id: I27f8f73f7b99eda785bc7836a6af2e0a7695ae36 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/pldm/pldm.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/pldm/pldm.inc b/meta-phosphor/recipes-phosphor/pldm/pldm.inc index bf1bb8f09..2c1e4a6fb 100644 --- a/meta-phosphor/recipes-phosphor/pldm/pldm.inc +++ b/meta-phosphor/recipes-phosphor/pldm/pldm.inc @@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/pldm" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" SRC_URI = "git://github.com/openbmc/pldm" -SRCREV = "9f8d2b0a1816d183784b4a48623069652502bd33" +SRCREV = "a6daacb5e0304d4acf17de19da4fd4843feee598" -- cgit v1.2.3 From da5117af41a23e05b912fed1008503b09a361feb Mon Sep 17 00:00:00 2001 From: Vishwanatha Subbanna Date: Fri, 26 Mar 2021 13:01:30 -0500 Subject: leds: rainier: Create virtual physical LEDs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit These virtual physical LEDs are a mirror of real enclosure fault and enclosure Identify physical LEDs. However, these virtual LEDs are needed to be able to communicate the effective state of the enclosure fault and enclosure identify LEDs during lamp test. During lamp test, real physical enclosure fault and enclosure id LEDs should not be updated and they must be updated only after the lamp test finishes. However, Hypervisors would need to know the effective state of enclosure level fault and identify LEDs and that problem is resolved by these virtual LEDs. Once the lamp test finishes, these virtual physical LEDs would again be in sync with real enclosure fault and Identify LEDs. Tests: root@bmc:/lib/systemd/system/multi-user.target.wants# busctl tree xyz.openbmc_project.LED.Controller.virtual_enc_fault └─/xyz └─/xyz/openbmc_project └─/xyz/openbmc_project/led └─/xyz/openbmc_project/led/physical └─/xyz/openbmc_project/led/physical/virtual_enc_fault root@bmc:/lib/systemd/system/multi-user.target.wants# busctl tree xyz.openbmc_project.LED.Controller.virtual_enc_id └─/xyz └─/xyz/openbmc_project └─/xyz/openbmc_project/led └─/xyz/openbmc_project/led/physical └─/xyz/openbmc_project/led/physical/virtual_enc_id root@bmc:/lib/systemd/system/multi-user.target.wants# busctl get-property xyz.openbmc_project.LED.Controller.virtual_enc_fault /xyz/openbmc_project/led/physical/virtual_enc_fault xyz.openbmc_project.Led.Physical State s "xyz.openbmc_project.Led.Physical.Action.Off" root@bmc:/lib/systemd/system/multi-user.target.wants# busctl set-property xyz.openbmc_project.LED.GroupManager /xyz/openbmc_project/led/groups/ddimm0_identify xyz.openbmc_project.Led.Group Asserted b true root@bmc:/lib/systemd/system/multi-user.target.wants# busctl get-property xyz.openbmc_project.LED.Controller.virtual_enc_id /xyz/openbmc_project/led/physical/virtual_enc_id xyz.openbmc_project.Led.Physical State s "xyz.openbmc_project.Led.Physical.Action.On" root@bmc:/lib/systemd/system/multi-user.target.wants# busctlset-property xyz.openbmc_project.LED.GroupManager /xyz/op_ebmc_project/led/groups/ddimm0_identify xyz.openbmc_project.Led.Group Asserted b false root@bmc:/lib/systemd/system/multi-user.target.wants# busctl get-property xyz.openbmc_project.LED.Controller.virtual_enc_id /xyz/openbmc_project/led/physical/virtual_enc_id xyz.openbmc_project.Led.Physical State s "xyz.openbmc_project.Led.Physical.Action.Off" Change-Id: Ic0ee5b0f376911650d5489d8bb84a4e83247190f Signed-off-by: Vishwanatha Subbanna --- .../lamp-test-led-overrides.json | 10 ++++++++ .../obmc-led-create-virtual-leds@.service | 7 ++++++ .../leds/phosphor-led-manager_%.bbappend | 29 +++++++++++++++++++++- 3 files changed, 45 insertions(+), 1 deletion(-) create mode 100644 meta-ibm/recipes-phosphor/leds/phosphor-led-manager/lamp-test-led-overrides.json create mode 100644 meta-ibm/recipes-phosphor/leds/phosphor-led-manager/obmc-led-create-virtual-leds@.service diff --git a/meta-ibm/recipes-phosphor/leds/phosphor-led-manager/lamp-test-led-overrides.json b/meta-ibm/recipes-phosphor/leds/phosphor-led-manager/lamp-test-led-overrides.json new file mode 100644 index 000000000..0cde229ba --- /dev/null +++ b/meta-ibm/recipes-phosphor/leds/phosphor-led-manager/lamp-test-led-overrides.json @@ -0,0 +1,10 @@ +{ + "forceLEDs":[ + "virtual_enc_fault", + "virtual_enc_id" + ], + "skipLEDs":[ + "virtual_enc_fault", + "virtual_enc_id" + ] +} diff --git a/meta-ibm/recipes-phosphor/leds/phosphor-led-manager/obmc-led-create-virtual-leds@.service b/meta-ibm/recipes-phosphor/leds/phosphor-led-manager/obmc-led-create-virtual-leds@.service new file mode 100644 index 000000000..41bd08131 --- /dev/null +++ b/meta-ibm/recipes-phosphor/leds/phosphor-led-manager/obmc-led-create-virtual-leds@.service @@ -0,0 +1,7 @@ +[Unit] +Description=Create the virtual physical LEDs + +[Service] +Restart=always +ExecStart=/usr/sbin/phosphor-ledcontroller -p %f +SyslogIdentifier=obmc-led-create-virtual-leds diff --git a/meta-ibm/recipes-phosphor/leds/phosphor-led-manager_%.bbappend b/meta-ibm/recipes-phosphor/leds/phosphor-led-manager_%.bbappend index 174d9d0a4..a41f12a34 100644 --- a/meta-ibm/recipes-phosphor/leds/phosphor-led-manager_%.bbappend +++ b/meta-ibm/recipes-phosphor/leds/phosphor-led-manager_%.bbappend @@ -1,6 +1,6 @@ FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" -SYSTEMD_SERVICE_${PN}_append_rainier += "obmc-led-set-all-groups-asserted@.service" +SYSTEMD_SERVICE_${PN}_append_rainier += "obmc-led-set-all-groups-asserted@.service obmc-led-create-virtual-leds@.service" # Copies config file having arguments for led-set-all-groups-asserted.sh SYSTEMD_ENVIRONMENT_FILE_${PN}_append_rainier +="obmc/led/set-all/groups/config" @@ -9,6 +9,9 @@ SYSTEMD_ENVIRONMENT_FILE_${PN}_append_rainier +="obmc/led/set-all/groups/config" # Also, enable Lamp Test feature for rainier systems PACKAGECONFIG_append_rainier = " use-json use-lamp-test" +# Install the lamp test override file for rainier +SRC_URI_append_rainier = " file://lamp-test-led-overrides.json" + pkg_postinst_${PN}_rainier () { # Needed this to run as part of BMC boot @@ -22,6 +25,18 @@ pkg_postinst_${PN}_rainier () { LINK="$D$systemd_system_unitdir/obmc-chassis-poweron@0.target.wants/obmc-led-set-all-groups-asserted@false.service" TARGET="../obmc-led-set-all-groups-asserted@.service" ln -s $TARGET $LINK + + # Needed this to run as part of BMC boot + mkdir -p $D$systemd_system_unitdir/multi-user.target.wants + LINK_FAULT="$D$systemd_system_unitdir/multi-user.target.wants/obmc-led-create-virtual-leds@sys-class-leds-virtual-enc-fault.service" + TARGET_FAULT="../obmc-led-create-virtual-leds@.service" + ln -s $TARGET_FAULT $LINK_FAULT + + # Needed this to run as part of BMC boot + mkdir -p $D$systemd_system_unitdir/multi-user.target.wants + LINK_ID="$D$systemd_system_unitdir/multi-user.target.wants/obmc-led-create-virtual-leds@sys-class-leds-virtual-enc-id.service" + TARGET_ID="../obmc-led-create-virtual-leds@.service" + ln -s $TARGET_ID $LINK_ID } pkg_prerm_${PN}_rainier () { @@ -31,4 +46,16 @@ pkg_prerm_${PN}_rainier () { LINK="$D$systemd_system_unitdir/obmc-chassis-poweron@0.target.wants/obmc-led-set-all-groups-asserted@false.service" rm $LINK + + LINK_FAULT="$D$systemd_system_unitdir/multi-user.target.wants/obmc-led-create-virtual-leds@sys-class-leds-virtual-enc-fault.service" + rm $LINK_FAULT + + LINK_ID="$D$systemd_system_unitdir/multi-user.target.wants/obmc-led-create-virtual-leds@sys-class-leds-virtual-enc-id.service" + rm $LINK_ID +} + +# Install lamp test override json +do_install_append_rainier() { + install -d ${D}${datadir}/${BPN}/ + install -m 0644 ${WORKDIR}/lamp-test-led-overrides.json ${D}${datadir}/${BPN}/ } -- cgit v1.2.3 From b9a8673456a72cabb858f8b8d2c202105cefee69 Mon Sep 17 00:00:00 2001 From: Brandon Kim Date: Mon, 29 Mar 2021 18:01:40 -0700 Subject: meta-quanta: gbs: detect-gpio-present: Mapper wait once mapper wait call should not be called every loop Signed-off-by: Brandon Kim Change-Id: I7763f8dfbd78fdacbdbf21076cbc56cde8b7bc17 --- .../gbs-detect-gpio-present/files/detect-gpio-present.sh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/meta-quanta/meta-gbs/recipes-gbs/gbs-detect-gpio-present/files/detect-gpio-present.sh b/meta-quanta/meta-gbs/recipes-gbs/gbs-detect-gpio-present/files/detect-gpio-present.sh index 2bbe46e84..eec0a0ba2 100644 --- a/meta-quanta/meta-gbs/recipes-gbs/gbs-detect-gpio-present/files/detect-gpio-present.sh +++ b/meta-quanta/meta-gbs/recipes-gbs/gbs-detect-gpio-present/files/detect-gpio-present.sh @@ -25,10 +25,14 @@ LOG_DEASSERT_FLAG="false" LOG_GENID_FLAG="0x0020" present_state=("true" "true" "true" "true" "true" "true" "true" "true" "true" "true") +for i in ${!PRESENT_OBJPATH[@]} +do + mapper wait ${PRESENT_OBJPATH[$i]} +done + while true; do for i in ${!PRESENT_OBJPATH[@]} do - mapper wait ${PRESENT_OBJPATH[$i]} boot_status="$(busctl get-property $SERVICE_NAME ${PRESENT_OBJPATH[$i]} $INTERFACE_NAME Present | awk '{print $2}')" if [ $boot_status == "false" ] && [ ${present_state[$i]} == "true" ];then -- cgit v1.2.3 From 020776d41bb8ceefbc239136d75d1ada8b79599f Mon Sep 17 00:00:00 2001 From: George Hung Date: Tue, 30 Mar 2021 15:18:39 +0800 Subject: meta-quanta: gbs: revert back the pwm/tach for fb_fan1 and fb_fan2 Change to work-round for the kernel dts, so revert back the following commit: https://gerrit.openbmc-project.xyz/c/openbmc/meta-quanta/+/38877 Signed-off-by: George Hung Change-Id: I21af8da577f2554b55886fc0133f94be77bc3520 --- .../phosphor-hwmon/obmc/hwmon/ahb/apb/pwm-fan-controller@103000.conf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta-quanta/meta-gbs/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/pwm-fan-controller@103000.conf b/meta-quanta/meta-gbs/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/pwm-fan-controller@103000.conf index bcca9a636..34caf4a43 100644 --- a/meta-quanta/meta-gbs/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/pwm-fan-controller@103000.conf +++ b/meta-quanta/meta-gbs/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/pwm-fan-controller@103000.conf @@ -25,7 +25,7 @@ MINVALUE_fan3 = "0" MAXVALUE_fan3 = "20775" PWM_TARGET_fan3 = 3 -LABEL_fan4= "fb_fan2" +LABEL_fan4= "fb_fan1" WARNHI_fan4= "19800" WARNLO_fan4= "3330" CRITHI_fan4= "19800" @@ -34,7 +34,7 @@ MINVALUE_fan4 = "0" MAXVALUE_fan4 = "20775" PWM_TARGET_fan4 = 4 -LABEL_fan5= "fb_fan1" +LABEL_fan5= "fb_fan2" WARNHI_fan5= "19800" WARNLO_fan5= "3330" CRITHI_fan5= "19800" -- cgit v1.2.3 From 22f97c814a11a5720cf67da3780c3657f4b8064d Mon Sep 17 00:00:00 2001 From: Harvey Wu Date: Mon, 29 Mar 2021 16:35:48 +0800 Subject: meta-quanta: common: read-margin-temp srcrev bump 898f158b56..cadbe4801d Josh Lehan (2): Update README Modified return value from min to NaN when NVMe present is false Signed-off-by: Harvey Wu Change-Id: Iecb067d10507c0a60ad585b47ee5d0184705325d --- meta-quanta/meta-common/recipes-quanta/fans/read-margin-temp_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-quanta/meta-common/recipes-quanta/fans/read-margin-temp_git.bb b/meta-quanta/meta-common/recipes-quanta/fans/read-margin-temp_git.bb index f2354f1d4..63551ef99 100644 --- a/meta-quanta/meta-common/recipes-quanta/fans/read-margin-temp_git.bb +++ b/meta-quanta/meta-common/recipes-quanta/fans/read-margin-temp_git.bb @@ -4,7 +4,7 @@ LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10" SRC_URI = "git://github.com/quanta-bmc/read-margin-temp.git" -SRCREV = "898f158b56f8cc16474dfc46e032a0d754b437c6" +SRCREV = "cadbe4801db76799e21b7bc9c405e5df9988dee0" S = "${WORKDIR}/git" inherit autotools pkgconfig -- cgit v1.2.3 From 07798fac92c580b2321daf11c8ef3fa7bc78365c Mon Sep 17 00:00:00 2001 From: Joel Stanley Date: Wed, 31 Mar 2021 12:09:38 +1030 Subject: linux-aspeed: jffs2, spi-fsi This fixes a bug in jffs2 and overlayfs that was introduced in v5.9 and is present in the dev-5.10 kernel. Eddie James (1): spi: fsi: Remove multiple sequenced ops for restricted chips Joel Stanley (1): jffs2: Hook up splice_write callback Change-Id: Icc3f325c8e6a7bc31bb5c09bf8674bc9b590379a Signed-off-by: Joel Stanley --- meta-aspeed/recipes-kernel/linux/linux-aspeed_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-aspeed/recipes-kernel/linux/linux-aspeed_git.bb b/meta-aspeed/recipes-kernel/linux/linux-aspeed_git.bb index 45f09d7a3..3b6acb0eb 100644 --- a/meta-aspeed/recipes-kernel/linux/linux-aspeed_git.bb +++ b/meta-aspeed/recipes-kernel/linux/linux-aspeed_git.bb @@ -1,6 +1,6 @@ KBRANCH ?= "dev-5.10" LINUX_VERSION ?= "5.10.23" -SRCREV="6687842ee68152c5cc7b7f8ac771b25eaece056a" +SRCREV="a186e43ee044122e29a1ebe26b9163113606300d" require linux-aspeed.inc -- cgit v1.2.3 From 662988e608ca01599b59547f9c9dcb7350f8ec86 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Wed, 24 Mar 2021 12:52:56 -0700 Subject: meta-google: phosphor-dbus-interfaces-mapper-config: Allow gbmc We want to allow the mapper to discover interfaces and services that are published in the gBMC domain. Change-Id: Id107532d6a1ab52892ad310e516807accd6552f9 Signed-off-by: William A. Kennington III --- .../dbus/phosphor-dbus-interfaces-mapper-config-native.bbappend | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 meta-google/recipes-phosphor/dbus/phosphor-dbus-interfaces-mapper-config-native.bbappend diff --git a/meta-google/recipes-phosphor/dbus/phosphor-dbus-interfaces-mapper-config-native.bbappend b/meta-google/recipes-phosphor/dbus/phosphor-dbus-interfaces-mapper-config-native.bbappend new file mode 100644 index 000000000..8ba6e7c33 --- /dev/null +++ b/meta-google/recipes-phosphor/dbus/phosphor-dbus-interfaces-mapper-config-native.bbappend @@ -0,0 +1,2 @@ +PHOSPHOR_MAPPER_SERVICE_append = " com.google.gbmc" +PHOSPHOR_MAPPER_INTERFACE_append = " com.google.gbmc" -- cgit v1.2.3 From 17f8f05869000eedf2ea53274dc64b9313391595 Mon Sep 17 00:00:00 2001 From: Joel Stanley Date: Wed, 31 Mar 2021 18:35:16 +1030 Subject: linux-aspeed: mihawk gpio line names, ASRock E3C246D4I Nichole Wang (1): ARM: dts: aspeed: mihawk: Add GPIO line names Zev Weiss (1): ARM: dts: aspeed: add ASRock E3C246D4I BMC Signed-off-by: Joel Stanley Change-Id: I3761b9664572605b4bbba894dd4cf949f635ead8 --- meta-aspeed/recipes-kernel/linux/linux-aspeed_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-aspeed/recipes-kernel/linux/linux-aspeed_git.bb b/meta-aspeed/recipes-kernel/linux/linux-aspeed_git.bb index 3b6acb0eb..17aad040e 100644 --- a/meta-aspeed/recipes-kernel/linux/linux-aspeed_git.bb +++ b/meta-aspeed/recipes-kernel/linux/linux-aspeed_git.bb @@ -1,6 +1,6 @@ KBRANCH ?= "dev-5.10" LINUX_VERSION ?= "5.10.23" -SRCREV="a186e43ee044122e29a1ebe26b9163113606300d" +SRCREV="a3e4860badca60a766b53d169c1c9822cd65b344" require linux-aspeed.inc -- cgit v1.2.3 From 94a73769a5fe2832e3ec188118afffe6e7b6e689 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Wed, 31 Mar 2021 17:30:37 +0000 Subject: entity-manager: srcrev bump c8dc4af9cc..7798712404 Scron-Chang (2): FruDevice: Define the day 1/1/96. FruUtils: Add back the else in formatFRU. Change-Id: Ib85058ecc5baf1b27d049a937cad4205c231c168 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/configuration/entity-manager_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/configuration/entity-manager_git.bb b/meta-phosphor/recipes-phosphor/configuration/entity-manager_git.bb index 54674c20f..b82d18e07 100644 --- a/meta-phosphor/recipes-phosphor/configuration/entity-manager_git.bb +++ b/meta-phosphor/recipes-phosphor/configuration/entity-manager_git.bb @@ -3,7 +3,7 @@ DESCRIPTION = "Entity Manager provides d-bus configuration data \ and configures system sensors" SRC_URI = "git://github.com/openbmc/entity-manager.git file://blocklist.json" -SRCREV = "c8dc4af9ccf6b80a70b30b0d5f7d464f4af417ab" +SRCREV = "779871240461808a9a52e48343d23551fc125ff9" PV = "0.1+git${SRCPV}" LICENSE = "Apache-2.0" -- cgit v1.2.3 From bacb5b91258604ba6a736e33230b751be631870f Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Mon, 29 Mar 2021 23:11:10 +0000 Subject: libmctp: srcrev bump d88c969c97..eba19a3b12 Andrew Jeffery (3): astlpc: Make packet properties depend on protocol version libmctp: Split padding in pktbuf into header and trailer astlpc: Introduce protocol v3 with integrity checks Change-Id: I0c8f1ab07a43ab34669d8f8e0fa46391972f014b Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/mctp/mctp_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/mctp/mctp_git.bb b/meta-phosphor/recipes-phosphor/mctp/mctp_git.bb index 7143dafaf..ff3c098a9 100644 --- a/meta-phosphor/recipes-phosphor/mctp/mctp_git.bb +++ b/meta-phosphor/recipes-phosphor/mctp/mctp_git.bb @@ -11,7 +11,7 @@ LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=0d30807bb7a4f16d36e96b78f9ed8fae" SRC_URI = "git://github.com/openbmc/libmctp \ file://default" -SRCREV = "d88c969c9779432516304a3ee189a86e6a107b2c" +SRCREV = "eba19a3b122a39ef2b5dbda49b418a202f78a48d" CONFFILES_${PN} = "${sysconfdir}/default/mctp" DEPENDS += "autoconf-archive-native \ -- cgit v1.2.3 From 93ec52c37c5189e65ae4f1c79bf838381d25a938 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Tue, 30 Mar 2021 05:20:24 +0000 Subject: openpower-vpd-parser: srcrev bump 7c9cddf726..887a42aded PriyangaRamasamy (1): Vpd Tool Defect. Change-Id: Ib1c73f9fbc1627f226cacc062729fb581b79af2b Signed-off-by: Andrew Geissler --- meta-openpower/recipes-phosphor/vpd/openpower-fru-vpd.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-openpower/recipes-phosphor/vpd/openpower-fru-vpd.inc b/meta-openpower/recipes-phosphor/vpd/openpower-fru-vpd.inc index 7bdd07f12..554e67c72 100644 --- a/meta-openpower/recipes-phosphor/vpd/openpower-fru-vpd.inc +++ b/meta-openpower/recipes-phosphor/vpd/openpower-fru-vpd.inc @@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/openpower-vpd-parser" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" SRC_URI += "git://github.com/openbmc/openpower-vpd-parser" -SRCREV = "7c9cddf726e01f88f070d53ff4a6b5d9e43f7313" +SRCREV = "887a42adeda24a05215923208b645ac6a59fdf6e" -- cgit v1.2.3 From eefc40371926da4dd01ec04f21a963b28053ce43 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Wed, 31 Mar 2021 17:41:04 +0000 Subject: dbus-sensors: srcrev bump 373225765e..ba6379336d Josh Lehan (1): VariantVisitors: Template replace redundant code Lei YU (2): intrusionsensor: Fix a crash issue intrusionsensor: Use const reference for std::shared_ptr Yong Zhao (1): Fan: Aggregate I2C bus and address related code Change-Id: If265be72ae6cb0c00eb38e3af2bb502fef2655e0 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/sensors/dbus-sensors_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/sensors/dbus-sensors_git.bb b/meta-phosphor/recipes-phosphor/sensors/dbus-sensors_git.bb index 34d80b8de..3beace84d 100644 --- a/meta-phosphor/recipes-phosphor/sensors/dbus-sensors_git.bb +++ b/meta-phosphor/recipes-phosphor/sensors/dbus-sensors_git.bb @@ -2,7 +2,7 @@ SUMMARY = "dbus-sensors" DESCRIPTION = "Dbus Sensor Services Configured from D-Bus" SRC_URI = "git://github.com/openbmc/dbus-sensors.git" -SRCREV = "373225765ec76e358d11b2ee58488a72fc6c446e" +SRCREV = "ba6379336dccd7cc3e4ab244e8159a71bdea7801" PV = "0.1+git${SRCPV}" -- cgit v1.2.3 From 034fb39df74c8060c91eeff60c920d52e3f81bb8 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Tue, 30 Mar 2021 06:11:22 +0000 Subject: peci-pcie: srcrev bump 0b79f3e485..d570dfd4f3 Andrei Kartashev (1): Handle PECI operation errors Change-Id: I36a1e2738837210fd9a8b54adb2f770073b1f49c Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-x86/peci-pcie/peci-pcie_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-x86/peci-pcie/peci-pcie_git.bb b/meta-phosphor/recipes-x86/peci-pcie/peci-pcie_git.bb index af643b743..937a9c6fe 100644 --- a/meta-phosphor/recipes-x86/peci-pcie/peci-pcie_git.bb +++ b/meta-phosphor/recipes-x86/peci-pcie/peci-pcie_git.bb @@ -11,7 +11,7 @@ SRC_URI = "git://github.com/openbmc/peci-pcie" DEPENDS = "boost sdbusplus libpeci" PV = "0.1+git${SRCPV}" -SRCREV = "0b79f3e485554957a4b24d5f0cefc5bc577ad301" +SRCREV = "d570dfd4f3a7c38b029f74a8194eeb3911b5f6a5" S = "${WORKDIR}/git" -- cgit v1.2.3 From cdcf7e4b810bb36492f6e6620106f1a734ed80ec Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Tue, 30 Mar 2021 18:10:48 +0000 Subject: phosphor-fan-presence: srcrev bump 1d7379ea22..c9ec25e603 Matthew Barth (1): Update clang-format to match latest in docs Change-Id: I3ce904b202ed93889087f06757548e64ecc3304b Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/fans/phosphor-fan.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/fans/phosphor-fan.inc b/meta-phosphor/recipes-phosphor/fans/phosphor-fan.inc index 9f672d15d..7a28d5fb2 100644 --- a/meta-phosphor/recipes-phosphor/fans/phosphor-fan.inc +++ b/meta-phosphor/recipes-phosphor/fans/phosphor-fan.inc @@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/phosphor-fan-presence" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" SRC_URI += "git://github.com/openbmc/phosphor-fan-presence" -SRCREV = "1d7379ea2264700ec4f9711ceac6ca113f9cb5d8" +SRCREV = "c9ec25e603d1ee03818c0f7cdec70c3aa79d74d5" -- cgit v1.2.3 From 0d730b63dbb4cbbbf54eec4aab463fdef98a5cb9 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Wed, 31 Mar 2021 01:51:30 +0000 Subject: webui-vue: srcrev bump 3bb5e8273f..1915d8c499 Dixsie (1): Update all minor and patch releases Change-Id: If253d8d72e7a0c87bc2a9012d13efdbd80c3c93d Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/webui/webui-vue_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/webui/webui-vue_git.bb b/meta-phosphor/recipes-phosphor/webui/webui-vue_git.bb index 86d659fc2..db04fb3f6 100644 --- a/meta-phosphor/recipes-phosphor/webui/webui-vue_git.bb +++ b/meta-phosphor/recipes-phosphor/webui/webui-vue_git.bb @@ -6,7 +6,7 @@ LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" SRC_URI = "git://github.com/openbmc/webui-vue.git" -SRCREV = "3bb5e8273fbf7dcc56bd7dd14d8395715d15b1b0" +SRCREV = "1915d8c4992c1a4165e8ae108e4d799b3b4ce86a" S = "${WORKDIR}/git" DEPENDS_prepend = "nodejs-native " -- cgit v1.2.3 From 38b6831afd7321dd9b95d67e1d4d9ef551933190 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Wed, 31 Mar 2021 19:20:44 +0000 Subject: phosphor-pid-control: srcrev bump 17971efddc..d11a732a80 Hao Jiang (1): Eliminate ControlLoop init delay. Change-Id: Ife667489491c758094504d8854de2497ea3845ae Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/fans/phosphor-pid-control_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/fans/phosphor-pid-control_git.bb b/meta-phosphor/recipes-phosphor/fans/phosphor-pid-control_git.bb index 2634d7742..ed392563d 100644 --- a/meta-phosphor/recipes-phosphor/fans/phosphor-pid-control_git.bb +++ b/meta-phosphor/recipes-phosphor/fans/phosphor-pid-control_git.bb @@ -13,7 +13,7 @@ inherit systemd S = "${WORKDIR}/git" SRC_URI = "git://github.com/openbmc/phosphor-pid-control" -SRCREV = "17971efddc5e44b5a7926d9b3c71def03b739a75" +SRCREV = "d11a732a802cc281f4c1583275871fbc5f5ecced" # Each platform will need a service file that starts # at an appropriate time per system. For instance, if -- cgit v1.2.3 From b5eef5151b9292593bfce7fb5ae3d63e1a5671a6 Mon Sep 17 00:00:00 2001 From: George Hung Date: Wed, 10 Mar 2021 16:04:46 +0800 Subject: meta-quanta: gbs: failsafe fan speed control dynamically 1. add acpi-power-state daemon to check the ACPI power states from BIOS 2. set failsafe fan speed at different states - S0_G0_D0: 90% - S5_G2: 40% Note: this item depends on the commit and will add as the patches first in another PR https://gerrit.openbmc-project.xyz/38112 3. add gbs-check-host-state.sh to monitor the power state D-Bus and then trigger to set fan failsafe speed 4. remove gbs-detect-fan-fail service and unused scripts from phosphor-pid-control 5. update read-margin-temp srcrev to avoid nvme temperature sensor failed due to nvme SSD not-present Signed-off-by: George Hung Change-Id: I496dd7bc59076a2b3690e367877d49533855c9fe --- .../files/gbs-detect-fan-fail.service | 11 ---- .../files/gbs-detect-fan-fail.sh | 70 ---------------------- .../gbs-detect-fan-fail/gbs-detect-fan-fail.bb | 25 -------- .../gbs-sysinit/files/gbs-sysinit.service | 2 + .../gbs-check-host-state.service | 10 ++++ .../gbs-check-host-state.sh | 13 ++++ .../acpi-power-state-daemon/gbs-host-ready.target | 8 +++ .../gbs-host-s0-set-failsafe.service | 15 +++++ .../gbs-host-s5-set-failsafe.service | 15 +++++ .../gbs-host-set-boot-failsafe@.service | 14 +++++ .../gbs-set-boot-failsafe.sh | 35 +++++++++++ .../acpi-power-state-daemon/gbs-set-failsafe.sh | 53 ++++++++++++++++ .../acpi-power-state-daemon_%.bbappend | 43 +++++++++++++ .../fans/phosphor-pid-control/fan-default-speed.sh | 6 -- .../fan-reboot-control.service | 12 ---- .../fans/phosphor-pid-control/fan-table-init.sh | 4 +- .../phosphor-pid-control.service | 1 - .../fans/phosphor-pid-control_%.bbappend | 14 ++--- .../images/obmc-phosphor-image.bbappend | 2 +- 19 files changed, 214 insertions(+), 139 deletions(-) delete mode 100644 meta-quanta/meta-gbs/recipes-gbs/gbs-detect-fan-fail/files/gbs-detect-fan-fail.service delete mode 100644 meta-quanta/meta-gbs/recipes-gbs/gbs-detect-fan-fail/files/gbs-detect-fan-fail.sh delete mode 100644 meta-quanta/meta-gbs/recipes-gbs/gbs-detect-fan-fail/gbs-detect-fan-fail.bb create mode 100644 meta-quanta/meta-gbs/recipes-google/acpi-power-state/acpi-power-state-daemon/gbs-check-host-state.service create mode 100644 meta-quanta/meta-gbs/recipes-google/acpi-power-state/acpi-power-state-daemon/gbs-check-host-state.sh create mode 100644 meta-quanta/meta-gbs/recipes-google/acpi-power-state/acpi-power-state-daemon/gbs-host-ready.target create mode 100644 meta-quanta/meta-gbs/recipes-google/acpi-power-state/acpi-power-state-daemon/gbs-host-s0-set-failsafe.service create mode 100644 meta-quanta/meta-gbs/recipes-google/acpi-power-state/acpi-power-state-daemon/gbs-host-s5-set-failsafe.service create mode 100644 meta-quanta/meta-gbs/recipes-google/acpi-power-state/acpi-power-state-daemon/gbs-host-set-boot-failsafe@.service create mode 100644 meta-quanta/meta-gbs/recipes-google/acpi-power-state/acpi-power-state-daemon/gbs-set-boot-failsafe.sh create mode 100644 meta-quanta/meta-gbs/recipes-google/acpi-power-state/acpi-power-state-daemon/gbs-set-failsafe.sh create mode 100644 meta-quanta/meta-gbs/recipes-google/acpi-power-state/acpi-power-state-daemon_%.bbappend delete mode 100644 meta-quanta/meta-gbs/recipes-phosphor/fans/phosphor-pid-control/fan-default-speed.sh delete mode 100644 meta-quanta/meta-gbs/recipes-phosphor/fans/phosphor-pid-control/fan-reboot-control.service diff --git a/meta-quanta/meta-gbs/recipes-gbs/gbs-detect-fan-fail/files/gbs-detect-fan-fail.service b/meta-quanta/meta-gbs/recipes-gbs/gbs-detect-fan-fail/files/gbs-detect-fan-fail.service deleted file mode 100644 index ecdc95399..000000000 --- a/meta-quanta/meta-gbs/recipes-gbs/gbs-detect-fan-fail/files/gbs-detect-fan-fail.service +++ /dev/null @@ -1,11 +0,0 @@ -[Unit] -Description=Detect Fan Fail Manager -After=phosphor-pid-control.service - -[Service] -ExecStart=/usr/bin/gbs-detect-fan-fail.sh -Restart=always -StandardOutput=syslog - -[Install] -WantedBy=multi-user.target diff --git a/meta-quanta/meta-gbs/recipes-gbs/gbs-detect-fan-fail/files/gbs-detect-fan-fail.sh b/meta-quanta/meta-gbs/recipes-gbs/gbs-detect-fan-fail/files/gbs-detect-fan-fail.sh deleted file mode 100644 index 56ae7bbc5..000000000 --- a/meta-quanta/meta-gbs/recipes-gbs/gbs-detect-fan-fail/files/gbs-detect-fan-fail.sh +++ /dev/null @@ -1,70 +0,0 @@ -#!/bin/bash - -## - # This script is to handle fan fail condition which is described below. - # Fan fail means one fan RPM is under its CriticalLow. If BMC encounters - # such situation, then sets other fans to full speed. - # - -# get fan state -function get_fan_state() { - get_property_path='xyz.openbmc_project.Sensor.Threshold.Critical CriticalAlarmLow' - fan_state="$(busctl get-property $1 $2 $get_property_path | awk '{print $2}')" - echo "$fan_state" -} - -# check fan fail -function is_fan_fail() { - fan_state=("$@") - - for i in "${fan_state[@]}" - do - if [ ! -z "$i" ] - then - if [ $i == "true" ] - then - echo 1 - return - fi - fi - done - echo 0 -} - -fan_tach_path=( '/xyz/openbmc_project/sensors/fan_tach/fan0' - '/xyz/openbmc_project/sensors/fan_tach/fan1' - '/xyz/openbmc_project/sensors/fan_tach/fb_fan0' - '/xyz/openbmc_project/sensors/fan_tach/fb_fan1' - '/xyz/openbmc_project/sensors/fan_tach/fb_fan2' - ) - -check_fail_flag=0 -is_fan_fail_flag=0 -current_fan_state=() - -while true -do - for i in ${!fan_tach_path[@]} - do - mapper wait ${fan_tach_path[$i]} - hwmon_path="$(mapper get-service ${fan_tach_path[0]})" - current_fan_state[$i]=$(get_fan_state $hwmon_path ${fan_tach_path[$i]}) - done - - is_fan_fail_flag=$(is_fan_fail "${current_fan_state[@]}") - - # if fan fails then set all fans to full speed - if [ $is_fan_fail_flag -eq 1 ] && [ $check_fail_flag -eq 0 ] - then - check_fail_flag=1 - systemctl stop phosphor-pid-control.service - - # fans recover to normal state - elif [ $is_fan_fail_flag -eq 0 ] && [ $check_fail_flag -eq 1 ] - then - check_fail_flag=0 - systemctl restart phosphor-pid-control.service - fi - - sleep 2 -done diff --git a/meta-quanta/meta-gbs/recipes-gbs/gbs-detect-fan-fail/gbs-detect-fan-fail.bb b/meta-quanta/meta-gbs/recipes-gbs/gbs-detect-fan-fail/gbs-detect-fan-fail.bb deleted file mode 100644 index 5befec8d6..000000000 --- a/meta-quanta/meta-gbs/recipes-gbs/gbs-detect-fan-fail/gbs-detect-fan-fail.bb +++ /dev/null @@ -1,25 +0,0 @@ -SUMMARY = "OpenBMC Quanta Detect Fan Fail Service" -DESCRIPTION = "OpenBMC Quanta Detect Fan Fail Daemon." -PR = "r1" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10" - -inherit systemd - -DEPENDS += "systemd" -RDEPENDS_${PN} += "bash" - -SRC_URI = " file://gbs-detect-fan-fail.sh \ - file://gbs-detect-fan-fail.service \ - " - -do_install() { - install -d ${D}${bindir} - install -m 0755 ${WORKDIR}/gbs-detect-fan-fail.sh ${D}${bindir}/ - - install -d ${D}${systemd_system_unitdir} - install -m 0644 ${WORKDIR}/gbs-detect-fan-fail.service ${D}${systemd_system_unitdir} -} - -SYSTEMD_PACKAGES = "${PN}" -SYSTEMD_SERVICE_${PN} = "gbs-detect-fan-fail.service" diff --git a/meta-quanta/meta-gbs/recipes-gbs/gbs-sysinit/files/gbs-sysinit.service b/meta-quanta/meta-gbs/recipes-gbs/gbs-sysinit/files/gbs-sysinit.service index 645136b85..7fd74377c 100644 --- a/meta-quanta/meta-gbs/recipes-gbs/gbs-sysinit/files/gbs-sysinit.service +++ b/meta-quanta/meta-gbs/recipes-gbs/gbs-sysinit/files/gbs-sysinit.service @@ -1,5 +1,7 @@ [Unit] Description = Initialization for GBS boot up +Requires=gbs-host-ready.target +After=gbs-host-ready.target Wants=mapper-wait@-xyz-openbmc_project-inventory.service After=mapper-wait@-xyz-openbmc_project-inventory.service Wants=mapper-wait@-xyz-openbmc_project-control-nvme.service diff --git a/meta-quanta/meta-gbs/recipes-google/acpi-power-state/acpi-power-state-daemon/gbs-check-host-state.service b/meta-quanta/meta-gbs/recipes-google/acpi-power-state/acpi-power-state-daemon/gbs-check-host-state.service new file mode 100644 index 000000000..032fabca5 --- /dev/null +++ b/meta-quanta/meta-gbs/recipes-google/acpi-power-state/acpi-power-state-daemon/gbs-check-host-state.service @@ -0,0 +1,10 @@ +[Unit] +Description = Check Host State to set fan failsafe speed + +[Service] +Type=simple +Restart=on-failure +ExecStart=/usr/bin/gbs-check-host-state.sh + +[Install] +WantedBy=multi-user.target \ No newline at end of file diff --git a/meta-quanta/meta-gbs/recipes-google/acpi-power-state/acpi-power-state-daemon/gbs-check-host-state.sh b/meta-quanta/meta-gbs/recipes-google/acpi-power-state/acpi-power-state-daemon/gbs-check-host-state.sh new file mode 100644 index 000000000..1bff18d08 --- /dev/null +++ b/meta-quanta/meta-gbs/recipes-google/acpi-power-state/acpi-power-state-daemon/gbs-check-host-state.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +state="xyz.openbmc_project.State.Chassis.PowerState.Off" + +dbus-monitor --system type='signal',interface='org.freedesktop.DBus.Properties',\ +member='PropertiesChanged',arg0namespace='xyz.openbmc_project.State.Chassis' | \ +while read -r line; do + grep -q member <<< $line && continue + if grep -q $state <<< $line; then + echo "Setting failsafe assuming host is off" >&2 + systemctl start --no-block gbs-host-s5-set-failsafe + fi +done diff --git a/meta-quanta/meta-gbs/recipes-google/acpi-power-state/acpi-power-state-daemon/gbs-host-ready.target b/meta-quanta/meta-gbs/recipes-google/acpi-power-state/acpi-power-state-daemon/gbs-host-ready.target new file mode 100644 index 000000000..7f806cdb8 --- /dev/null +++ b/meta-quanta/meta-gbs/recipes-google/acpi-power-state/acpi-power-state-daemon/gbs-host-ready.target @@ -0,0 +1,8 @@ +[Unit] +Description=Host is ready to be powered on +Wants=phosphor-ipmi-host.service +After=phosphor-ipmi-host.service +Wants=obmc-console@ttyS1.service +After=obmc-console@ttyS1.service +After=postcode-7seg@seven_seg_disp_val.service +RefuseManualStop=yes \ No newline at end of file diff --git a/meta-quanta/meta-gbs/recipes-google/acpi-power-state/acpi-power-state-daemon/gbs-host-s0-set-failsafe.service b/meta-quanta/meta-gbs/recipes-google/acpi-power-state/acpi-power-state-daemon/gbs-host-s0-set-failsafe.service new file mode 100644 index 000000000..263cafaa2 --- /dev/null +++ b/meta-quanta/meta-gbs/recipes-google/acpi-power-state/acpi-power-state-daemon/gbs-host-s0-set-failsafe.service @@ -0,0 +1,15 @@ +[Unit] +Description=Increase GBS fan failsafe speed on host kernel entrance +PartOf=host-s0-state.target +Requires=phosphor-pid-control.service +After=phosphor-pid-control.service +Wants=mapper-wait@-xyz-openbmc_project-settings-fanctrl.service +After=mapper-wait@-xyz-openbmc_project-settings-fanctrl.service + +[Service] +Type=oneshot +# 230: 90% duty cycle +ExecStart=/usr/bin/gbs-set-failsafe.sh 230 + +[Install] +WantedBy=host-s0-state.target diff --git a/meta-quanta/meta-gbs/recipes-google/acpi-power-state/acpi-power-state-daemon/gbs-host-s5-set-failsafe.service b/meta-quanta/meta-gbs/recipes-google/acpi-power-state/acpi-power-state-daemon/gbs-host-s5-set-failsafe.service new file mode 100644 index 000000000..2c0f3bccc --- /dev/null +++ b/meta-quanta/meta-gbs/recipes-google/acpi-power-state/acpi-power-state-daemon/gbs-host-s5-set-failsafe.service @@ -0,0 +1,15 @@ +[Unit] +Description=Decrease GBS fan failsafe speed on host shutdown +PartOf=host-s5-state.target +Requires=phosphor-pid-control.service +After=phosphor-pid-control.service +Wants=mapper-wait@-xyz-openbmc_project-settings-fanctrl.service +After=mapper-wait@-xyz-openbmc_project-settings-fanctrl.service + +[Service] +Type=oneshot +# 102: 40% duty cycle +ExecStart=/usr/bin/gbs-set-failsafe.sh 102 + +[Install] +WantedBy=host-s5-state.target diff --git a/meta-quanta/meta-gbs/recipes-google/acpi-power-state/acpi-power-state-daemon/gbs-host-set-boot-failsafe@.service b/meta-quanta/meta-gbs/recipes-google/acpi-power-state/acpi-power-state-daemon/gbs-host-set-boot-failsafe@.service new file mode 100644 index 000000000..c1e28383a --- /dev/null +++ b/meta-quanta/meta-gbs/recipes-google/acpi-power-state/acpi-power-state-daemon/gbs-host-set-boot-failsafe@.service @@ -0,0 +1,14 @@ +[Unit] +Description=Set gBMC boot time failsafe +Wants=mapper-wait@-xyz-openbmc_project-state-chassis%i.service +After=mapper-wait@-xyz-openbmc_project-state-chassis%i.service +After=acpi-power-state.service +Before=gbs-sysinit.service + +[Service] +Type=exec +ExecStart=/usr/bin/gbs-set-boot-failsafe.sh +RemainAfterExit=yes + +[Install] +WantedBy=gbs-host-ready.target diff --git a/meta-quanta/meta-gbs/recipes-google/acpi-power-state/acpi-power-state-daemon/gbs-set-boot-failsafe.sh b/meta-quanta/meta-gbs/recipes-google/acpi-power-state/acpi-power-state-daemon/gbs-set-boot-failsafe.sh new file mode 100644 index 000000000..6580fbe91 --- /dev/null +++ b/meta-quanta/meta-gbs/recipes-google/acpi-power-state/acpi-power-state-daemon/gbs-set-boot-failsafe.sh @@ -0,0 +1,35 @@ +#!/bin/bash +# Copyright 2021 Google LLC +# Copyright 2021 Quanta Computer Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +main() { + local pgd_val + pgd_val="$(busctl get-property -j xyz.openbmc_project.State.Chassis \ + /xyz/openbmc_project/state/chassis0 xyz.openbmc_project.State.Chassis \ + CurrentPowerState | jq -r '.["data"]')" + + if [[ $pgd_val != 'xyz.openbmc_project.State.Chassis.PowerState.On' ]]; then + echo "Setting failsafe assuming host is off" >&2 + systemctl start --no-block gbs-host-s5-set-failsafe + else + echo "Setting failsafe assuming host is running" >&2 + systemctl start --no-block gbs-host-s0-set-failsafe + fi +} + +# Exit without running main() if sourced +return 0 2>/dev/null + +main "$@" diff --git a/meta-quanta/meta-gbs/recipes-google/acpi-power-state/acpi-power-state-daemon/gbs-set-failsafe.sh b/meta-quanta/meta-gbs/recipes-google/acpi-power-state/acpi-power-state-daemon/gbs-set-failsafe.sh new file mode 100644 index 000000000..bcd1d2cc2 --- /dev/null +++ b/meta-quanta/meta-gbs/recipes-google/acpi-power-state/acpi-power-state-daemon/gbs-set-failsafe.sh @@ -0,0 +1,53 @@ +#!/bin/bash +# Copyright 2021 Google LLC +# Copyright 2021 Quanta Computer Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + +target_pwm="$1" + +if [ -z "$target_pwm" ]; then + echo "Target_pwm is not set" >&2 + exit 1 +fi + +zone_num="$(busctl tree xyz.openbmc_project.State.FanCtrl | grep zone | wc -l)" +result=0 + +for (( i = 0; i < ${zone_num}; i++ )); do + retries=4 + busctl_error=-1 + + while (( retries > 0 )) && (( busctl_error != 0 )); do + busctl set-property xyz.openbmc_project.State.FanCtrl /xyz/openbmc_project/settings/fanctrl/zone${i} xyz.openbmc_project.Control.FanSpeed Target t "${target_pwm}" + busctl_error=$? + + if (( busctl_error != 0 )); then + #Retry setting failsafe. Swampd may be running but zone aren't yet built + #so sleep a second to let them be built + sleep 1 + fi + + let retries-=1 + done + + if (( busctl_error != 0 )); then + echo "Failure setting zone${i} fan failsafe to ${target_pwm}" >&2 + result=$busctl_error + else + echo "Setting zone${i} fan failsafe to ${target_pwm}" + fi +done + +exit $result diff --git a/meta-quanta/meta-gbs/recipes-google/acpi-power-state/acpi-power-state-daemon_%.bbappend b/meta-quanta/meta-gbs/recipes-google/acpi-power-state/acpi-power-state-daemon_%.bbappend new file mode 100644 index 000000000..f833b5577 --- /dev/null +++ b/meta-quanta/meta-gbs/recipes-google/acpi-power-state/acpi-power-state-daemon_%.bbappend @@ -0,0 +1,43 @@ +FILESEXTRAPATHS_prepend_gbs := "${THISDIR}/${PN}:" + +SRC_URI_append_gbs = " \ + file://gbs-host-s0-set-failsafe.service \ + file://gbs-host-s5-set-failsafe.service \ + file://gbs-host-set-boot-failsafe@.service \ + file://gbs-check-host-state.service \ + file://gbs-set-boot-failsafe.sh \ + file://gbs-set-failsafe.sh \ + file://gbs-check-host-state.sh \ + file://gbs-host-ready.target \ + " + +RDEPENDS_${PN}_append_gbs = "bash" + +CHASSIS_INSTANCE="0" + +SYSTEMD_SERVICE_${PN}_append_gbs = " \ + gbs-host-s0-set-failsafe.service \ + gbs-host-s5-set-failsafe.service \ + gbs-host-set-boot-failsafe@${CHASSIS_INSTANCE}.service \ + gbs-check-host-state.service \ + gbs-host-ready.target \ + " + +FILES_${PN}_append_gbs = " \ + ${systemd_system_unitdir}/gbs-host-set-boot-failsafe@.service \ + " + +do_install_append_gbs() { + install -d ${D}${bindir} + + install -m 0755 ${WORKDIR}/gbs-set-failsafe.sh ${D}${bindir}/. + install -m 0755 ${WORKDIR}/gbs-set-boot-failsafe.sh ${D}${bindir}/. + install -m 0755 ${WORKDIR}/gbs-check-host-state.sh ${D}${bindir}/. + + install -d ${D}${systemd_system_unitdir} + install -m 0644 ${WORKDIR}/gbs-host-s0-set-failsafe.service ${D}${systemd_system_unitdir} + install -m 0644 ${WORKDIR}/gbs-host-s5-set-failsafe.service ${D}${systemd_system_unitdir} + install -m 0644 ${WORKDIR}/gbs-host-set-boot-failsafe@.service ${D}${systemd_system_unitdir} + install -m 0644 ${WORKDIR}/gbs-check-host-state.service ${D}${systemd_system_unitdir} + install -m 0644 ${WORKDIR}/gbs-host-ready.target ${D}${systemd_system_unitdir} +} diff --git a/meta-quanta/meta-gbs/recipes-phosphor/fans/phosphor-pid-control/fan-default-speed.sh b/meta-quanta/meta-gbs/recipes-phosphor/fans/phosphor-pid-control/fan-default-speed.sh deleted file mode 100644 index 22cfab582..000000000 --- a/meta-quanta/meta-gbs/recipes-phosphor/fans/phosphor-pid-control/fan-default-speed.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/bash - -for i in {1..5}; -do - echo 255 > /sys/class/hwmon/*/pwm${i} -done diff --git a/meta-quanta/meta-gbs/recipes-phosphor/fans/phosphor-pid-control/fan-reboot-control.service b/meta-quanta/meta-gbs/recipes-phosphor/fans/phosphor-pid-control/fan-reboot-control.service deleted file mode 100644 index 681bdbe00..000000000 --- a/meta-quanta/meta-gbs/recipes-phosphor/fans/phosphor-pid-control/fan-reboot-control.service +++ /dev/null @@ -1,12 +0,0 @@ -[Unit] -Description=Set Fan to Default Duty as Rebooting -DefaultDependencies=no -After=shutdown.target - -[Service] -Type=oneshot -RemainAfterExit=true -ExecStart=/usr/bin/fan-default-speed.sh - -[Install] -WantedBy=shutdown.target diff --git a/meta-quanta/meta-gbs/recipes-phosphor/fans/phosphor-pid-control/fan-table-init.sh b/meta-quanta/meta-gbs/recipes-phosphor/fans/phosphor-pid-control/fan-table-init.sh index 68b699e0f..624bb4e60 100644 --- a/meta-quanta/meta-gbs/recipes-phosphor/fans/phosphor-pid-control/fan-table-init.sh +++ b/meta-quanta/meta-gbs/recipes-phosphor/fans/phosphor-pid-control/fan-table-init.sh @@ -13,10 +13,8 @@ mapper wait /xyz/openbmc_project/sensors/fan_tach/fb_fan0 mapper wait /xyz/openbmc_project/sensors/fan_tach/fb_fan1 mapper wait /xyz/openbmc_project/sensors/fan_tach/fb_fan2 -/usr/bin/fan-default-speed.sh - # generate fan table writePath -Fan_0_To_4_Hwmon="$(ls -la /sys/class/hwmon |grep pwm | head -n 1| tail -n +1|cut -d '/' -f 9)" +Fan_0_To_4_Hwmon="$(ls /sys/devices/platform/ahb/ahb\:apb/f0103000.pwm-fan-controller/hwmon/)" if [[ "$Fan_0_To_4_Hwmon" != "" ]]; then sed -i "s/Fan_0_To_4_Hwmon/$Fan_0_To_4_Hwmon/g" $FAN_TABLE_FILE diff --git a/meta-quanta/meta-gbs/recipes-phosphor/fans/phosphor-pid-control/phosphor-pid-control.service b/meta-quanta/meta-gbs/recipes-phosphor/fans/phosphor-pid-control/phosphor-pid-control.service index 33a441928..9b8034326 100644 --- a/meta-quanta/meta-gbs/recipes-phosphor/fans/phosphor-pid-control/phosphor-pid-control.service +++ b/meta-quanta/meta-gbs/recipes-phosphor/fans/phosphor-pid-control/phosphor-pid-control.service @@ -9,7 +9,6 @@ ExecStart=/usr/bin/swampd Restart=always RestartSec=5 StartLimitInterval=0 -ExecStopPost=/usr/bin/fan-default-speed.sh [Install] WantedBy=basic.target diff --git a/meta-quanta/meta-gbs/recipes-phosphor/fans/phosphor-pid-control_%.bbappend b/meta-quanta/meta-gbs/recipes-phosphor/fans/phosphor-pid-control_%.bbappend index 4f21d3bcf..25e102c9d 100644 --- a/meta-quanta/meta-gbs/recipes-phosphor/fans/phosphor-pid-control_%.bbappend +++ b/meta-quanta/meta-gbs/recipes-phosphor/fans/phosphor-pid-control_%.bbappend @@ -1,22 +1,18 @@ FILESEXTRAPATHS_prepend_gbs := "${THISDIR}/${PN}:" -SRC_URI_append_gbs = " file://config-sku.json" -SRC_URI_append_gbs = " file://fan-table-init.sh" -SRC_URI_append_gbs = " file://fan-default-speed.sh" -SRC_URI_append_gbs = " file://phosphor-pid-control.service" -SRC_URI_append_gbs = " file://fan-reboot-control.service" +SRC_URI_append_gbs = " file://config-sku.json \ + file://fan-table-init.sh \ + file://phosphor-pid-control.service \ + " FILES_${PN}_append_gbs = " ${datadir}/swampd/config-sku.json" -FILES_${PN}_append_gbs = " ${bindir}/fan-default-speed.sh" FILES_${PN}_append_gbs = " ${bindir}/fan-table-init.sh" RDEPENDS_${PN} += "bash" SYSTEMD_SERVICE_${PN}_append_gbs = " phosphor-pid-control.service" -SYSTEMD_SERVICE_${PN}_append_gbs = " fan-reboot-control.service" do_install_append_gbs() { install -d ${D}/${bindir} - install -m 0755 ${WORKDIR}/fan-default-speed.sh ${D}/${bindir} install -m 0755 ${WORKDIR}/fan-table-init.sh ${D}/${bindir} install -d ${D}${datadir}/swampd @@ -26,6 +22,4 @@ do_install_append_gbs() { install -d ${D}${systemd_system_unitdir} install -m 0644 ${WORKDIR}/phosphor-pid-control.service \ ${D}${systemd_system_unitdir} - install -m 0644 ${WORKDIR}/fan-reboot-control.service \ - ${D}${systemd_system_unitdir} } diff --git a/meta-quanta/meta-gbs/recipes-phosphor/images/obmc-phosphor-image.bbappend b/meta-quanta/meta-gbs/recipes-phosphor/images/obmc-phosphor-image.bbappend index 27c3c9fdd..9cea5db15 100644 --- a/meta-quanta/meta-gbs/recipes-phosphor/images/obmc-phosphor-image.bbappend +++ b/meta-quanta/meta-gbs/recipes-phosphor/images/obmc-phosphor-image.bbappend @@ -13,7 +13,6 @@ OBMC_IMAGE_EXTRA_INSTALL_append_gbs = " gbs-detect-gpio-present" OBMC_IMAGE_EXTRA_INSTALL_append_gbs = " phosphor-ecc" OBMC_IMAGE_EXTRA_INSTALL_append_gbs = " gbs-sysinit" OBMC_IMAGE_EXTRA_INSTALL_append_gbs = " gbs-ipmi-entity-association-map" -OBMC_IMAGE_EXTRA_INSTALL_append_gbs = " gbs-detect-fan-fail" OBMC_IMAGE_EXTRA_INSTALL_append_gbs = " usb-network" OBMC_IMAGE_EXTRA_INSTALL_append_gbs = " mac-address" OBMC_IMAGE_EXTRA_INSTALL_append_gbs = " phosphor-image-signing" @@ -22,3 +21,4 @@ OBMC_IMAGE_EXTRA_INSTALL_append_gbs = " phosphor-ipmi-blobs-binarystore" OBMC_IMAGE_EXTRA_INSTALL_append_gbs = " gbs-nvme-pwr-ctrl" OBMC_IMAGE_EXTRA_INSTALL_append_gbs = " read-margin-temp" OBMC_IMAGE_EXTRA_INSTALL_append_gbs = " phosphor-virtual-sensor" +OBMC_IMAGE_EXTRA_INSTALL_append_gbs = " acpi-power-state-daemon" -- cgit v1.2.3 From d7541988672748f8029261d39adc95f74deeb67a Mon Sep 17 00:00:00 2001 From: George Hung Date: Wed, 31 Mar 2021 15:38:25 +0800 Subject: meta-quanta: gbs: improve overwrite fan hwmon to json config update the fan hwmon variables to be wrapped in @@ to avoid any mis-replacement Signed-off-by: George Hung Change-Id: I6ecfb868fe1b58b2918bdb2760462250f0c4ae3a --- .../fans/phosphor-pid-control/config-sku.json | 397 --------------------- .../fans/phosphor-pid-control/config.json.in | 397 +++++++++++++++++++++ .../fans/phosphor-pid-control/fan-table-init.sh | 15 +- .../fans/phosphor-pid-control_%.bbappend | 8 +- 4 files changed, 409 insertions(+), 408 deletions(-) delete mode 100644 meta-quanta/meta-gbs/recipes-phosphor/fans/phosphor-pid-control/config-sku.json create mode 100644 meta-quanta/meta-gbs/recipes-phosphor/fans/phosphor-pid-control/config.json.in diff --git a/meta-quanta/meta-gbs/recipes-phosphor/fans/phosphor-pid-control/config-sku.json b/meta-quanta/meta-gbs/recipes-phosphor/fans/phosphor-pid-control/config-sku.json deleted file mode 100644 index e5040ca1c..000000000 --- a/meta-quanta/meta-gbs/recipes-phosphor/fans/phosphor-pid-control/config-sku.json +++ /dev/null @@ -1,397 +0,0 @@ -{ - "version": "R04", - "sensors": [ - { - "name": "fan0", - "type": "fan", - "readPath": "/xyz/openbmc_project/sensors/fan_tach/fan0", - "writePath": "/sys/devices/platform/ahb/ahb:apb/f0103000.pwm-fan-controller/hwmon/Fan_0_To_4_Hwmon/pwm1", - "min": 0, - "max": 255 - }, - { - "name": "fan1", - "type": "fan", - "readPath": "/xyz/openbmc_project/sensors/fan_tach/fan1", - "writePath": "/sys/devices/platform/ahb/ahb:apb/f0103000.pwm-fan-controller/hwmon/Fan_0_To_4_Hwmon/pwm2", - "min": 0, - "max": 255 - }, - { - "name": "fb_fan0", - "type": "fan", - "readPath": "/xyz/openbmc_project/sensors/fan_tach/fb_fan0", - "writePath": "/sys/devices/platform/ahb/ahb:apb/f0103000.pwm-fan-controller/hwmon/Fan_0_To_4_Hwmon/pwm3", - "min": 0, - "max": 255 - }, - { - "name": "fb_fan1", - "type": "fan", - "readPath": "/xyz/openbmc_project/sensors/fan_tach/fb_fan1", - "writePath": "/sys/devices/platform/ahb/ahb:apb/f0103000.pwm-fan-controller/hwmon/Fan_0_To_4_Hwmon/pwm4", - "min": 0, - "max": 255 - }, - { - "name": "fb_fan2", - "type": "fan", - "readPath": "/xyz/openbmc_project/sensors/fan_tach/fb_fan2", - "writePath": "/sys/devices/platform/ahb/ahb:apb/f0103000.pwm-fan-controller/hwmon/Fan_0_To_4_Hwmon/pwm5", - "min": 0, - "max": 255 - }, - { - "name": "fleeting0", - "type": "margin", - "readPath": "/xyz/openbmc_project/extsensors/margin/fleeting0", - "writePath": "", - "min": 0, - "max": 0, - "ignoreDbusMinMax": true, - "timeout": 0 - }, - { - "name": "fleeting1", - "type": "margin", - "readPath": "/xyz/openbmc_project/extsensors/margin/fleeting1", - "writePath": "", - "min": 0, - "max": 0, - "ignoreDbusMinMax": true, - "timeout": 0 - }, - { - "name": "fleeting2", - "type": "margin", - "readPath": "/xyz/openbmc_project/extsensors/margin/fleeting2", - "writePath": "", - "min": 0, - "max": 0, - "ignoreDbusMinMax": true, - "timeout": 0 - }, - { - "name": "cputemp", - "type": "margin", - "readPath": "/xyz/openbmc_project/extsensors/margin/cputemp", - "writePath": "", - "min": 0, - "max": 0, - "ignoreDbusMinMax": true, - "timeout": 0 - }, - { - "name": "zone0_vr", - "type": "margin", - "readPath": "/xyz/openbmc_project/extsensors/margin/zone0_vr", - "writePath": "", - "min": 0, - "max": 0, - "ignoreDbusMinMax": true, - "timeout": 0 - }, - { - "name": "nvme", - "type": "margin", - "readPath": "/xyz/openbmc_project/extsensors/margin/nvme", - "writePath": "", - "min": 0, - "max": 0, - "ignoreDbusMinMax": true, - "timeout": 0 - }, - { - "name": "p12v_fan", - "type": "margin", - "readPath": "/xyz/openbmc_project/extsensors/margin/p12v_fan", - "writePath": "", - "min": 0, - "max": 0, - "ignoreDbusMinMax": true, - "timeout": 0 - } - ], - "zones": [ - { - "id": 0, - "minThermalOutput": 0.0, - "failsafePercent": 100.0, - "pids": [ - { - "name": "fan0", - "type": "fan", - "inputs": [ - "fan0" - ], - "setpoint": 0.0, - "pid": { - "samplePeriod": 0.1, - "proportionalCoeff": 0.0, - "integralCoeff": 0.0, - "feedFwdOffsetCoeff": 0.0, - "feedFwdGainCoeff": 0.0056, - "integralLimit_min": 0.0, - "integralLimit_max": 0.0, - "outLim_min": 15.0, - "outLim_max": 100.0, - "slewNeg": 0.0, - "slewPos": 0.0 - } - }, - { - "name": "fan1", - "type": "fan", - "inputs": [ - "fan1" - ], - "setpoint": 0.0, - "pid": { - "samplePeriod": 0.1, - "proportionalCoeff": 0.0, - "integralCoeff": 0.0, - "feedFwdOffsetCoeff": 0.0, - "feedFwdGainCoeff": 0.0056, - "integralLimit_min": 0.0, - "integralLimit_max": 0.0, - "outLim_min": 15.0, - "outLim_max": 100.0, - "slewNeg": 0.0, - "slewPos": 0.0 - } - }, - { - "name": "cputemp", - "type": "margin", - "inputs": [ - "cputemp" - ], - "setpoint": 10.0, - "pid": { - "samplePeriod": 1.0, - "proportionalCoeff": 714.0, - "integralCoeff": 9.0, - "feedFwdOffsetCoeff": 0.0, - "feedFwdGainCoeff": 0.0, - "integralLimit_min": 2679.0, - "integralLimit_max": 18000.0, - "outLim_min": 2679.0, - "outLim_max": 18000.0, - "slewNeg": 0.0, - "slewPos": 0.0, - "positiveHysteresis": 0.0, - "negativeHysteresis": 0.0 - } - }, - { - "name": "zone0_vr", - "type": "margin", - "inputs": [ - "zone0_vr" - ], - "setpoint": 10.0, - "pid": { - "samplePeriod": 1.0, - "proportionalCoeff": 536.0, - "integralCoeff": 9.0, - "feedFwdOffsetCoeff": 0.0, - "feedFwdGainCoeff": 0.0, - "integralLimit_min": 2679.0, - "integralLimit_max": 18000.0, - "outLim_min": 2679.0, - "outLim_max": 18000.0, - "slewNeg": 0.0, - "slewPos": 0.0, - "positiveHysteresis": 0.0, - "negativeHysteresis": 0.0 - } - }, - { - "name": "fleeting0", - "type": "margin", - "inputs": [ - "fleeting0" - ], - "setpoint": 10.0, - "pid": { - "samplePeriod": 1.0, - "proportionalCoeff": 536.0, - "integralCoeff": 9.0, - "feedFwdOffsetCoeff": 0.0, - "feedFwdGainCoeff": 0.0, - "integralLimit_min": 2679.0, - "integralLimit_max": 18000.0, - "outLim_min": 2679.0, - "outLim_max": 18000.0, - "slewNeg": 0.0, - "slewPos": 0.0, - "positiveHysteresis": 0.0, - "negativeHysteresis": 0.0 - } - }, - { - "name": "fleeting1", - "type": "margin", - "inputs": [ - "fleeting1" - ], - "setpoint": 10.0, - "pid": { - "samplePeriod": 1.0, - "proportionalCoeff": 536.0, - "integralCoeff": 18.0, - "feedFwdOffsetCoeff": 0.0, - "feedFwdGainCoeff": 0.0, - "integralLimit_min": 2679.0, - "integralLimit_max": 18000.0, - "outLim_min": 2679.0, - "outLim_max": 18000.0, - "slewNeg": 0.0, - "slewPos": 0.0, - "positiveHysteresis": 0.0, - "negativeHysteresis": 0.0 - } - }, - { - "name": "fleeting2", - "type": "margin", - "inputs": [ - "fleeting2" - ], - "setpoint": 10.0, - "pid": { - "samplePeriod": 1.0, - "proportionalCoeff": 536.0, - "integralCoeff": 18.0, - "feedFwdOffsetCoeff": 0.0, - "feedFwdGainCoeff": 0.0, - "integralLimit_min": 2679.0, - "integralLimit_max": 18000.0, - "outLim_min": 2679.0, - "outLim_max": 18000.0, - "slewNeg": 0.0, - "slewPos": 0.0, - "positiveHysteresis": 0.0, - "negativeHysteresis": 0.0 - } - } - ] - }, - { - "id": 1, - "minThermalOutput": 0.0, - "failsafePercent": 100.0, - "pids": [ - { - "name": "fb_fan0", - "type": "fan", - "inputs": [ - "fb_fan0" - ], - "setpoint": 0.0, - "pid": { - "samplePeriod": 0.1, - "proportionalCoeff": 0.0, - "integralCoeff": 0.0, - "feedFwdOffsetCoeff": 0.0, - "feedFwdGainCoeff": 0.0056, - "integralLimit_min": 0.0, - "integralLimit_max": 0.0, - "outLim_min": 15.0, - "outLim_max": 100.0, - "slewNeg": 0.0, - "slewPos": 0.0 - } - }, - { - "name": "fb_fan1", - "type": "fan", - "inputs": [ - "fb_fan1" - ], - "setpoint": 0.0, - "pid": { - "samplePeriod": 0.1, - "proportionalCoeff": 0.0, - "integralCoeff": 0.0, - "feedFwdOffsetCoeff": 0.0, - "feedFwdGainCoeff": 0.0056, - "integralLimit_min": 0.0, - "integralLimit_max": 0.0, - "outLim_min": 15.0, - "outLim_max": 100.0, - "slewNeg": 0.0, - "slewPos": 0.0 - } - }, - { - "name": "fb_fan2", - "type": "fan", - "inputs": [ - "fb_fan2" - ], - "setpoint": 0.0, - "pid": { - "samplePeriod": 0.1, - "proportionalCoeff": 0.0, - "integralCoeff": 0.0, - "feedFwdOffsetCoeff": 0.0, - "feedFwdGainCoeff": 0.0056, - "integralLimit_min": 0.0, - "integralLimit_max": 0.0, - "outLim_min": 15.0, - "outLim_max": 100.0, - "slewNeg": 0.0, - "slewPos": 0.0 - } - }, - { - "name": "nvme", - "type": "margin", - "inputs": [ - "nvme" - ], - "setpoint": 10.0, - "pid": { - "samplePeriod": 1.0, - "proportionalCoeff": 1250.0, - "integralCoeff": 12.0, - "feedFwdOffsetCoeff": 0.0, - "feedFwdGainCoeff": 0.0, - "integralLimit_min": 2679.0, - "integralLimit_max": 18000.0, - "outLim_min": 2679.0, - "outLim_max": 18000.0, - "slewNeg": 0.0, - "slewPos": 0.0, - "positiveHysteresis": 0.0, - "negativeHysteresis": 0.0 - } - }, - { - "name": "p12v_fan", - "type": "margin", - "inputs": [ - "p12v_fan" - ], - "setpoint": 10.0, - "pid": { - "samplePeriod": 1.0, - "proportionalCoeff": 268.0, - "integralCoeff": 4.0, - "feedFwdOffsetCoeff": 0.0, - "feedFwdGainCoeff": 0.0, - "integralLimit_min": 2679.0, - "integralLimit_max": 18000.0, - "outLim_min": 2679.0, - "outLim_max": 18000.0, - "slewNeg": 0.0, - "slewPos": 0.0, - "positiveHysteresis": 0.0, - "negativeHysteresis": 0.0 - } - } - ] - } - ] -} diff --git a/meta-quanta/meta-gbs/recipes-phosphor/fans/phosphor-pid-control/config.json.in b/meta-quanta/meta-gbs/recipes-phosphor/fans/phosphor-pid-control/config.json.in new file mode 100644 index 000000000..21ba368df --- /dev/null +++ b/meta-quanta/meta-gbs/recipes-phosphor/fans/phosphor-pid-control/config.json.in @@ -0,0 +1,397 @@ +{ + "version": "R05", + "sensors": [ + { + "name": "fan0", + "type": "fan", + "readPath": "/xyz/openbmc_project/sensors/fan_tach/fan0", + "writePath": "/sys/devices/platform/ahb/ahb:apb/f0103000.pwm-fan-controller/hwmon/@Fan_0_To_4_Hwmon@/pwm1", + "min": 0, + "max": 255 + }, + { + "name": "fan1", + "type": "fan", + "readPath": "/xyz/openbmc_project/sensors/fan_tach/fan1", + "writePath": "/sys/devices/platform/ahb/ahb:apb/f0103000.pwm-fan-controller/hwmon/@Fan_0_To_4_Hwmon@/pwm2", + "min": 0, + "max": 255 + }, + { + "name": "fb_fan0", + "type": "fan", + "readPath": "/xyz/openbmc_project/sensors/fan_tach/fb_fan0", + "writePath": "/sys/devices/platform/ahb/ahb:apb/f0103000.pwm-fan-controller/hwmon/@Fan_0_To_4_Hwmon@/pwm3", + "min": 0, + "max": 255 + }, + { + "name": "fb_fan1", + "type": "fan", + "readPath": "/xyz/openbmc_project/sensors/fan_tach/fb_fan1", + "writePath": "/sys/devices/platform/ahb/ahb:apb/f0103000.pwm-fan-controller/hwmon/@Fan_0_To_4_Hwmon@/pwm4", + "min": 0, + "max": 255 + }, + { + "name": "fb_fan2", + "type": "fan", + "readPath": "/xyz/openbmc_project/sensors/fan_tach/fb_fan2", + "writePath": "/sys/devices/platform/ahb/ahb:apb/f0103000.pwm-fan-controller/hwmon/@Fan_0_To_4_Hwmon@/pwm5", + "min": 0, + "max": 255 + }, + { + "name": "fleeting0", + "type": "margin", + "readPath": "/xyz/openbmc_project/extsensors/margin/fleeting0", + "writePath": "", + "min": 0, + "max": 0, + "ignoreDbusMinMax": true, + "timeout": 0 + }, + { + "name": "fleeting1", + "type": "margin", + "readPath": "/xyz/openbmc_project/extsensors/margin/fleeting1", + "writePath": "", + "min": 0, + "max": 0, + "ignoreDbusMinMax": true, + "timeout": 0 + }, + { + "name": "fleeting2", + "type": "margin", + "readPath": "/xyz/openbmc_project/extsensors/margin/fleeting2", + "writePath": "", + "min": 0, + "max": 0, + "ignoreDbusMinMax": true, + "timeout": 0 + }, + { + "name": "cputemp", + "type": "margin", + "readPath": "/xyz/openbmc_project/extsensors/margin/cputemp", + "writePath": "", + "min": 0, + "max": 0, + "ignoreDbusMinMax": true, + "timeout": 0 + }, + { + "name": "zone0_vr", + "type": "margin", + "readPath": "/xyz/openbmc_project/extsensors/margin/zone0_vr", + "writePath": "", + "min": 0, + "max": 0, + "ignoreDbusMinMax": true, + "timeout": 0 + }, + { + "name": "nvme", + "type": "margin", + "readPath": "/xyz/openbmc_project/extsensors/margin/nvme", + "writePath": "", + "min": 0, + "max": 0, + "ignoreDbusMinMax": true, + "timeout": 0 + }, + { + "name": "p12v_fan", + "type": "margin", + "readPath": "/xyz/openbmc_project/extsensors/margin/p12v_fan", + "writePath": "", + "min": 0, + "max": 0, + "ignoreDbusMinMax": true, + "timeout": 0 + } + ], + "zones": [ + { + "id": 0, + "minThermalOutput": 0.0, + "failsafePercent": 100.0, + "pids": [ + { + "name": "fan0", + "type": "fan", + "inputs": [ + "fan0" + ], + "setpoint": 0.0, + "pid": { + "samplePeriod": 0.1, + "proportionalCoeff": 0.0, + "integralCoeff": 0.0, + "feedFwdOffsetCoeff": 0.0, + "feedFwdGainCoeff": 0.0056, + "integralLimit_min": 0.0, + "integralLimit_max": 0.0, + "outLim_min": 15.0, + "outLim_max": 100.0, + "slewNeg": 0.0, + "slewPos": 0.0 + } + }, + { + "name": "fan1", + "type": "fan", + "inputs": [ + "fan1" + ], + "setpoint": 0.0, + "pid": { + "samplePeriod": 0.1, + "proportionalCoeff": 0.0, + "integralCoeff": 0.0, + "feedFwdOffsetCoeff": 0.0, + "feedFwdGainCoeff": 0.0056, + "integralLimit_min": 0.0, + "integralLimit_max": 0.0, + "outLim_min": 15.0, + "outLim_max": 100.0, + "slewNeg": 0.0, + "slewPos": 0.0 + } + }, + { + "name": "cputemp", + "type": "margin", + "inputs": [ + "cputemp" + ], + "setpoint": 10.0, + "pid": { + "samplePeriod": 1.0, + "proportionalCoeff": 714.0, + "integralCoeff": 9.0, + "feedFwdOffsetCoeff": 0.0, + "feedFwdGainCoeff": 0.0, + "integralLimit_min": 2679.0, + "integralLimit_max": 18000.0, + "outLim_min": 2679.0, + "outLim_max": 18000.0, + "slewNeg": 0.0, + "slewPos": 0.0, + "positiveHysteresis": 0.0, + "negativeHysteresis": 0.0 + } + }, + { + "name": "zone0_vr", + "type": "margin", + "inputs": [ + "zone0_vr" + ], + "setpoint": 10.0, + "pid": { + "samplePeriod": 1.0, + "proportionalCoeff": 536.0, + "integralCoeff": 9.0, + "feedFwdOffsetCoeff": 0.0, + "feedFwdGainCoeff": 0.0, + "integralLimit_min": 2679.0, + "integralLimit_max": 18000.0, + "outLim_min": 2679.0, + "outLim_max": 18000.0, + "slewNeg": 0.0, + "slewPos": 0.0, + "positiveHysteresis": 0.0, + "negativeHysteresis": 0.0 + } + }, + { + "name": "fleeting0", + "type": "margin", + "inputs": [ + "fleeting0" + ], + "setpoint": 10.0, + "pid": { + "samplePeriod": 1.0, + "proportionalCoeff": 536.0, + "integralCoeff": 9.0, + "feedFwdOffsetCoeff": 0.0, + "feedFwdGainCoeff": 0.0, + "integralLimit_min": 2679.0, + "integralLimit_max": 18000.0, + "outLim_min": 2679.0, + "outLim_max": 18000.0, + "slewNeg": 0.0, + "slewPos": 0.0, + "positiveHysteresis": 0.0, + "negativeHysteresis": 0.0 + } + }, + { + "name": "fleeting1", + "type": "margin", + "inputs": [ + "fleeting1" + ], + "setpoint": 10.0, + "pid": { + "samplePeriod": 1.0, + "proportionalCoeff": 536.0, + "integralCoeff": 18.0, + "feedFwdOffsetCoeff": 0.0, + "feedFwdGainCoeff": 0.0, + "integralLimit_min": 2679.0, + "integralLimit_max": 18000.0, + "outLim_min": 2679.0, + "outLim_max": 18000.0, + "slewNeg": 0.0, + "slewPos": 0.0, + "positiveHysteresis": 0.0, + "negativeHysteresis": 0.0 + } + }, + { + "name": "fleeting2", + "type": "margin", + "inputs": [ + "fleeting2" + ], + "setpoint": 10.0, + "pid": { + "samplePeriod": 1.0, + "proportionalCoeff": 536.0, + "integralCoeff": 18.0, + "feedFwdOffsetCoeff": 0.0, + "feedFwdGainCoeff": 0.0, + "integralLimit_min": 2679.0, + "integralLimit_max": 18000.0, + "outLim_min": 2679.0, + "outLim_max": 18000.0, + "slewNeg": 0.0, + "slewPos": 0.0, + "positiveHysteresis": 0.0, + "negativeHysteresis": 0.0 + } + } + ] + }, + { + "id": 1, + "minThermalOutput": 0.0, + "failsafePercent": 100.0, + "pids": [ + { + "name": "fb_fan0", + "type": "fan", + "inputs": [ + "fb_fan0" + ], + "setpoint": 0.0, + "pid": { + "samplePeriod": 0.1, + "proportionalCoeff": 0.0, + "integralCoeff": 0.0, + "feedFwdOffsetCoeff": 0.0, + "feedFwdGainCoeff": 0.0056, + "integralLimit_min": 0.0, + "integralLimit_max": 0.0, + "outLim_min": 15.0, + "outLim_max": 100.0, + "slewNeg": 0.0, + "slewPos": 0.0 + } + }, + { + "name": "fb_fan1", + "type": "fan", + "inputs": [ + "fb_fan1" + ], + "setpoint": 0.0, + "pid": { + "samplePeriod": 0.1, + "proportionalCoeff": 0.0, + "integralCoeff": 0.0, + "feedFwdOffsetCoeff": 0.0, + "feedFwdGainCoeff": 0.0056, + "integralLimit_min": 0.0, + "integralLimit_max": 0.0, + "outLim_min": 15.0, + "outLim_max": 100.0, + "slewNeg": 0.0, + "slewPos": 0.0 + } + }, + { + "name": "fb_fan2", + "type": "fan", + "inputs": [ + "fb_fan2" + ], + "setpoint": 0.0, + "pid": { + "samplePeriod": 0.1, + "proportionalCoeff": 0.0, + "integralCoeff": 0.0, + "feedFwdOffsetCoeff": 0.0, + "feedFwdGainCoeff": 0.0056, + "integralLimit_min": 0.0, + "integralLimit_max": 0.0, + "outLim_min": 15.0, + "outLim_max": 100.0, + "slewNeg": 0.0, + "slewPos": 0.0 + } + }, + { + "name": "nvme", + "type": "margin", + "inputs": [ + "nvme" + ], + "setpoint": 10.0, + "pid": { + "samplePeriod": 1.0, + "proportionalCoeff": 1250.0, + "integralCoeff": 12.0, + "feedFwdOffsetCoeff": 0.0, + "feedFwdGainCoeff": 0.0, + "integralLimit_min": 2679.0, + "integralLimit_max": 18000.0, + "outLim_min": 2679.0, + "outLim_max": 18000.0, + "slewNeg": 0.0, + "slewPos": 0.0, + "positiveHysteresis": 0.0, + "negativeHysteresis": 0.0 + } + }, + { + "name": "p12v_fan", + "type": "margin", + "inputs": [ + "p12v_fan" + ], + "setpoint": 10.0, + "pid": { + "samplePeriod": 1.0, + "proportionalCoeff": 268.0, + "integralCoeff": 4.0, + "feedFwdOffsetCoeff": 0.0, + "feedFwdGainCoeff": 0.0, + "integralLimit_min": 2679.0, + "integralLimit_max": 18000.0, + "outLim_min": 2679.0, + "outLim_max": 18000.0, + "slewNeg": 0.0, + "slewPos": 0.0, + "positiveHysteresis": 0.0, + "negativeHysteresis": 0.0 + } + } + ] + } + ] +} diff --git a/meta-quanta/meta-gbs/recipes-phosphor/fans/phosphor-pid-control/fan-table-init.sh b/meta-quanta/meta-gbs/recipes-phosphor/fans/phosphor-pid-control/fan-table-init.sh index 624bb4e60..9617d0da4 100644 --- a/meta-quanta/meta-gbs/recipes-phosphor/fans/phosphor-pid-control/fan-table-init.sh +++ b/meta-quanta/meta-gbs/recipes-phosphor/fans/phosphor-pid-control/fan-table-init.sh @@ -1,10 +1,8 @@ #!/bin/bash -FAN_TABLE_SKU_FILE="/usr/share/swampd/config-sku.json" -FAN_TABLE_FILE="/usr/share/swampd/config.json" - -# determine sku -cp $FAN_TABLE_SKU_FILE $FAN_TABLE_FILE +FAN_TABLE_FILE_IN="/usr/share/swampd/config.json.in" +TEMP_FILE="$(mktemp)" +cp "$FAN_TABLE_FILE_IN" "$TEMP_FILE" # wait for fan dbus mapper wait /xyz/openbmc_project/sensors/fan_tach/fan0 @@ -14,12 +12,15 @@ mapper wait /xyz/openbmc_project/sensors/fan_tach/fb_fan1 mapper wait /xyz/openbmc_project/sensors/fan_tach/fb_fan2 # generate fan table writePath -Fan_0_To_4_Hwmon="$(ls /sys/devices/platform/ahb/ahb\:apb/f0103000.pwm-fan-controller/hwmon/)" +Fan_0_To_4_Hwmon="$(ls /sys/devices/platform/ahb/ahb\:*/*pwm-fan-controller/hwmon/)" if [[ "$Fan_0_To_4_Hwmon" != "" ]]; then - sed -i "s/Fan_0_To_4_Hwmon/$Fan_0_To_4_Hwmon/g" $FAN_TABLE_FILE + sed -i "s/@Fan_0_To_4_Hwmon@/$Fan_0_To_4_Hwmon/g" $TEMP_FILE fi +# Use shell parameter expansion to trim the ".in" suffix +mv "$TEMP_FILE" "${FAN_TABLE_FILE_IN%".in"}" + # start read margin temp wait /usr/bin/read-margin-temp-wait.sh & diff --git a/meta-quanta/meta-gbs/recipes-phosphor/fans/phosphor-pid-control_%.bbappend b/meta-quanta/meta-gbs/recipes-phosphor/fans/phosphor-pid-control_%.bbappend index 25e102c9d..e617f8679 100644 --- a/meta-quanta/meta-gbs/recipes-phosphor/fans/phosphor-pid-control_%.bbappend +++ b/meta-quanta/meta-gbs/recipes-phosphor/fans/phosphor-pid-control_%.bbappend @@ -1,10 +1,10 @@ FILESEXTRAPATHS_prepend_gbs := "${THISDIR}/${PN}:" -SRC_URI_append_gbs = " file://config-sku.json \ +SRC_URI_append_gbs = " file://config.json.in \ file://fan-table-init.sh \ file://phosphor-pid-control.service \ " -FILES_${PN}_append_gbs = " ${datadir}/swampd/config-sku.json" +FILES_${PN}_append_gbs = " ${datadir}/swampd/config.json.in" FILES_${PN}_append_gbs = " ${bindir}/fan-table-init.sh" RDEPENDS_${PN} += "bash" @@ -16,8 +16,8 @@ do_install_append_gbs() { install -m 0755 ${WORKDIR}/fan-table-init.sh ${D}/${bindir} install -d ${D}${datadir}/swampd - install -m 0644 -D ${WORKDIR}/config-sku.json \ - ${D}${datadir}/swampd/config-sku.json + install -m 0644 -D ${WORKDIR}/config.json.in \ + ${D}${datadir}/swampd/ install -d ${D}${systemd_system_unitdir} install -m 0644 ${WORKDIR}/phosphor-pid-control.service \ -- cgit v1.2.3 From 9766963f3f85eaa6e8229033bbe220c7348fbee3 Mon Sep 17 00:00:00 2001 From: George Hung Date: Fri, 19 Mar 2021 21:09:27 +0800 Subject: meta-quanta: gbs: add failsafe patch for pid control - Add the ability to dynamically set the failSafe percent https://gerrit.openbmc-project.xyz/38112 Note: It's already submitted to Gerrit and under review Also, it will be removed until it's merged Signed-off-by: George Hung Change-Id: I0df3c413f46df880aa585af2c8cbc0fa8a5140a6 --- .../0001-Advertise-failSafePercent-on-dbus.patch | 117 +++++++++++++++++++++ .../fans/phosphor-pid-control_%.bbappend | 1 + 2 files changed, 118 insertions(+) create mode 100644 meta-quanta/meta-gbs/recipes-phosphor/fans/phosphor-pid-control/0001-Advertise-failSafePercent-on-dbus.patch diff --git a/meta-quanta/meta-gbs/recipes-phosphor/fans/phosphor-pid-control/0001-Advertise-failSafePercent-on-dbus.patch b/meta-quanta/meta-gbs/recipes-phosphor/fans/phosphor-pid-control/0001-Advertise-failSafePercent-on-dbus.patch new file mode 100644 index 000000000..050c8b43c --- /dev/null +++ b/meta-quanta/meta-gbs/recipes-phosphor/fans/phosphor-pid-control/0001-Advertise-failSafePercent-on-dbus.patch @@ -0,0 +1,117 @@ +From c9b6d4589620275a625121b0ea9f4cc4c93b608a Mon Sep 17 00:00:00 2001 +From: Ian Goegebuer +Date: Tue, 10 Nov 2020 14:20:47 -0800 +Subject: [PATCH] pid/zone: Add the ability to dynamically set the failSafe + percent + +This change advertises the failSafe percent as a FanSpeed interface +added to the the FanCtrl object generated by the config.json file. + +The target method added in this case sets the failSafePerecent +out of 255 with 255 being 100% and 0 being 0%. + +Example: +`busctl set-property xyz.openbmc_project.State.FanCtrl /xyz/openbmc_project/settings/fanctrl/zone1 xyz.openbmc_project.Control.FanSpeed Target t 178` +Sets the failSafePercent to 69.8% or ~70% +`busctl set-property xyz.openbmc_project.State.FanCtrl /xyz/openbmc_project/settings/fanctrl/zone1 xyz.openbmc_project.Control.FanSpeed Target t 250` +Sets the failSafePercent to 98% + +Signed-off-by: Ian Goegebuer +Change-Id: Ief538d865dc1c654427ed9792496ab368e8803e2 +--- + pid/zone.cpp | 11 +++++++++++ + pid/zone.hpp | 11 +++++++++-- + pid/zone_interface.hpp | 1 + + 3 files changed, 21 insertions(+), 2 deletions(-) + +diff --git a/pid/zone.cpp b/pid/zone.cpp +index 441031a..24f6e84 100644 +--- a/pid/zone.cpp ++++ b/pid/zone.cpp +@@ -120,6 +120,11 @@ double DbusPidZone::getFailSafePercent(void) const + return _failSafePercent; + } + ++void DbusPidZone::setFailSafePercent(double newFailSafe) ++{ ++ _failSafePercent = newFailSafe; ++} ++ + double DbusPidZone::getMinThermalSetpoint(void) const + { + return _minThermalOutputSetPt; +@@ -459,4 +464,10 @@ bool DbusPidZone::failSafe() const + return getFailSafeMode(); + } + ++uint64_t DbusPidZone::target(uint64_t value) ++{ ++ setFailSafePercent(((double)value / 255) * 100.0); ++ return ModeObject::target(value); ++} ++ + } // namespace pid_control +diff --git a/pid/zone.hpp b/pid/zone.hpp +index 3bea9c2..c0d1d22 100644 +--- a/pid/zone.hpp ++++ b/pid/zone.hpp +@@ -10,6 +10,7 @@ + + #include + #include ++#include + #include + + #include +@@ -22,7 +23,9 @@ + template + using ServerObject = typename sdbusplus::server::object::object; + using ModeInterface = sdbusplus::xyz::openbmc_project::Control::server::Mode; +-using ModeObject = ServerObject; ++using FanSpeedInterface = ++ sdbusplus::xyz::openbmc_project::Control::server::FanSpeed; ++using ModeObject = ServerObject; + + namespace pid_control + { +@@ -63,6 +66,7 @@ class DbusPidZone : public ZoneInterface, public ModeObject + void clearSetPoints(void) override; + void clearRPMCeilings(void) override; + double getFailSafePercent(void) const override; ++ void setFailSafePercent(double) override; + double getMinThermalSetpoint(void) const; + + Sensor* getSensor(const std::string& name) override; +@@ -88,6 +92,9 @@ class DbusPidZone : public ZoneInterface, public ModeObject + /* Method for reading whether in fail-safe mode over dbus */ + bool failSafe() const override; + ++ /* Method for setting the failSafePercent over dbus */ ++ uint64_t target(uint64_t value) override; ++ + private: + std::ofstream _log; + +@@ -95,7 +102,7 @@ class DbusPidZone : public ZoneInterface, public ModeObject + double _maximumSetPoint = 0; + bool _manualMode = false; + const double _minThermalOutputSetPt; +- const double _failSafePercent; ++ double _failSafePercent; + + std::set _failSafeSensors; + +diff --git a/pid/zone_interface.hpp b/pid/zone_interface.hpp +index a024c0e..9ea89c1 100644 +--- a/pid/zone_interface.hpp ++++ b/pid/zone_interface.hpp +@@ -70,6 +70,7 @@ class ZoneInterface + * fail safe. + */ + virtual double getFailSafePercent() const = 0; ++ virtual void setFailSafePercent(double newFailSafe) = 0; + + /** Return if the zone is set to manual mode. false equates to automatic + * mode (the default). +-- +2.29.2.222.g5d2a92d10f8-goog diff --git a/meta-quanta/meta-gbs/recipes-phosphor/fans/phosphor-pid-control_%.bbappend b/meta-quanta/meta-gbs/recipes-phosphor/fans/phosphor-pid-control_%.bbappend index e617f8679..7acd44c70 100644 --- a/meta-quanta/meta-gbs/recipes-phosphor/fans/phosphor-pid-control_%.bbappend +++ b/meta-quanta/meta-gbs/recipes-phosphor/fans/phosphor-pid-control_%.bbappend @@ -2,6 +2,7 @@ FILESEXTRAPATHS_prepend_gbs := "${THISDIR}/${PN}:" SRC_URI_append_gbs = " file://config.json.in \ file://fan-table-init.sh \ file://phosphor-pid-control.service \ + file://0001-Advertise-failSafePercent-on-dbus.patch \ " FILES_${PN}_append_gbs = " ${datadir}/swampd/config.json.in" -- cgit v1.2.3 From 3d646a306d4ef19ded3ea6297e99c4c7e3e8f54f Mon Sep 17 00:00:00 2001 From: George Hung Date: Thu, 1 Apr 2021 10:46:37 +0800 Subject: meta-quanta: gbs: add the nvme service dependency Since it needs to read WCTEMP from the nvme SSD to overwirte read-margin-temp json config, add the dependency to make sure the pid control service start after the nvme service Signed-off-by: George Hung Change-Id: Id11ee5eb9e4cb994c700849d58996d7c25c4618e --- .../fans/phosphor-pid-control/phosphor-pid-control.service | 1 + 1 file changed, 1 insertion(+) diff --git a/meta-quanta/meta-gbs/recipes-phosphor/fans/phosphor-pid-control/phosphor-pid-control.service b/meta-quanta/meta-gbs/recipes-phosphor/fans/phosphor-pid-control/phosphor-pid-control.service index 9b8034326..1c47761f1 100644 --- a/meta-quanta/meta-gbs/recipes-phosphor/fans/phosphor-pid-control/phosphor-pid-control.service +++ b/meta-quanta/meta-gbs/recipes-phosphor/fans/phosphor-pid-control/phosphor-pid-control.service @@ -1,6 +1,7 @@ [Unit] Description=Swampd Margin-based Fan Control Daemon After=xyz.openbmc_project.Hwmon@-ahb-apb-pwm\x2dfan\x2dcontroller\x40103000.service +After=xyz.openbmc_project.nvme.manager.service [Service] Type=simple -- cgit v1.2.3 From 0a1163f151a517623e1f68812ce77a05782f6fae Mon Sep 17 00:00:00 2001 From: Adriana Kobylak Date: Thu, 25 Mar 2021 16:30:27 +0000 Subject: ibm: rainier: Add p10bmc as MACHINEOVERRIDES The IBMC POWER10 systems will have a common BMC image, therefore there will be a transition to move from the 'rainier' system name to the generic 'p10bmc' name. This will be done in two stages. The first one is to create a p10bmc MACHINEOVERRIDES and replace the rainier conditionals with p10bmc. Once that's done, the rainier.conf will be replaced with p10bmc.conf. Change-Id: Ic499d36dd7f74a8b7f4a44723f76d1e344e15a32 Signed-off-by: Adriana Kobylak --- meta-ibm/conf/machine/rainier.conf | 1 + 1 file changed, 1 insertion(+) diff --git a/meta-ibm/conf/machine/rainier.conf b/meta-ibm/conf/machine/rainier.conf index f5152f7c5..19df5be83 100644 --- a/meta-ibm/conf/machine/rainier.conf +++ b/meta-ibm/conf/machine/rainier.conf @@ -5,6 +5,7 @@ SPL_BINARY = "spl/u-boot-spl.bin" OBMC_POWER_SUPPLY_INSTANCES = "0 1 2 3" +MACHINEOVERRIDES =. "p10bmc:" require conf/machine/include/ast2600.inc require conf/machine/include/obmc-bsp-common.inc require conf/machine/include/openpower.inc -- cgit v1.2.3 From b6ce29673b87cefbe4ed4aa719cad389b68e9190 Mon Sep 17 00:00:00 2001 From: Adriana Kobylak Date: Thu, 25 Mar 2021 16:42:17 +0000 Subject: ibm: gpio-monitor: Replace rainier with p10bmc The IBM rainier machine name is being replaced with the generic p10bmc. Tested: Built rainier and verified the files were installed as expected: rainier-openbmc-linux-gnueabi/obmc-phosphor-image/1.0-r0/rootfs/etc/default/obmc/gpio/phosphor-power-supply-0.conf Change-Id: I6539c71cfc37fa67027204b17c68a0c7f8fec5a6 Signed-off-by: Adriana Kobylak --- .../p10bmc/obmc/gpio/phosphor-power-supply-0.conf | 7 +++++++ .../p10bmc/obmc/gpio/phosphor-power-supply-1.conf | 7 +++++++ .../p10bmc/obmc/gpio/phosphor-power-supply-2.conf | 7 +++++++ .../p10bmc/obmc/gpio/phosphor-power-supply-3.conf | 7 +++++++ .../rainier/obmc/gpio/phosphor-power-supply-0.conf | 7 ------- .../rainier/obmc/gpio/phosphor-power-supply-1.conf | 7 ------- .../rainier/obmc/gpio/phosphor-power-supply-2.conf | 7 ------- .../rainier/obmc/gpio/phosphor-power-supply-3.conf | 7 ------- meta-ibm/recipes-phosphor/gpio/phosphor-gpio-monitor_%.bbappend | 4 ++-- 9 files changed, 30 insertions(+), 30 deletions(-) create mode 100644 meta-ibm/recipes-phosphor/gpio/phosphor-gpio-monitor/p10bmc/obmc/gpio/phosphor-power-supply-0.conf create mode 100644 meta-ibm/recipes-phosphor/gpio/phosphor-gpio-monitor/p10bmc/obmc/gpio/phosphor-power-supply-1.conf create mode 100644 meta-ibm/recipes-phosphor/gpio/phosphor-gpio-monitor/p10bmc/obmc/gpio/phosphor-power-supply-2.conf create mode 100644 meta-ibm/recipes-phosphor/gpio/phosphor-gpio-monitor/p10bmc/obmc/gpio/phosphor-power-supply-3.conf delete mode 100644 meta-ibm/recipes-phosphor/gpio/phosphor-gpio-monitor/rainier/obmc/gpio/phosphor-power-supply-0.conf delete mode 100644 meta-ibm/recipes-phosphor/gpio/phosphor-gpio-monitor/rainier/obmc/gpio/phosphor-power-supply-1.conf delete mode 100644 meta-ibm/recipes-phosphor/gpio/phosphor-gpio-monitor/rainier/obmc/gpio/phosphor-power-supply-2.conf delete mode 100644 meta-ibm/recipes-phosphor/gpio/phosphor-gpio-monitor/rainier/obmc/gpio/phosphor-power-supply-3.conf diff --git a/meta-ibm/recipes-phosphor/gpio/phosphor-gpio-monitor/p10bmc/obmc/gpio/phosphor-power-supply-0.conf b/meta-ibm/recipes-phosphor/gpio/phosphor-gpio-monitor/p10bmc/obmc/gpio/phosphor-power-supply-0.conf new file mode 100644 index 000000000..d2c96e643 --- /dev/null +++ b/meta-ibm/recipes-phosphor/gpio/phosphor-gpio-monitor/p10bmc/obmc/gpio/phosphor-power-supply-0.conf @@ -0,0 +1,7 @@ +INVENTORY=/system/chassis/motherboard/powersupply0 +DEVPATH=/dev/input/by-path/platform-gpio-keys-event +KEY=144 +DRIVER_BIND_DELAY_MS=1500 +NAME=powersupply0 +DRIVERS=/sys/bus/i2c/drivers/ibm-cffps,3-0068 +EXTRA_IFACES=xyz.openbmc_project.Inventory.Item.PowerSupply diff --git a/meta-ibm/recipes-phosphor/gpio/phosphor-gpio-monitor/p10bmc/obmc/gpio/phosphor-power-supply-1.conf b/meta-ibm/recipes-phosphor/gpio/phosphor-gpio-monitor/p10bmc/obmc/gpio/phosphor-power-supply-1.conf new file mode 100644 index 000000000..655ce07f5 --- /dev/null +++ b/meta-ibm/recipes-phosphor/gpio/phosphor-gpio-monitor/p10bmc/obmc/gpio/phosphor-power-supply-1.conf @@ -0,0 +1,7 @@ +INVENTORY=/system/chassis/motherboard/powersupply1 +DEVPATH=/dev/input/by-path/platform-gpio-keys-event +KEY=145 +DRIVER_BIND_DELAY_MS=1500 +NAME=powersupply1 +DRIVERS=/sys/bus/i2c/drivers/ibm-cffps,3-0069 +EXTRA_IFACES=xyz.openbmc_project.Inventory.Item.PowerSupply diff --git a/meta-ibm/recipes-phosphor/gpio/phosphor-gpio-monitor/p10bmc/obmc/gpio/phosphor-power-supply-2.conf b/meta-ibm/recipes-phosphor/gpio/phosphor-gpio-monitor/p10bmc/obmc/gpio/phosphor-power-supply-2.conf new file mode 100644 index 000000000..0723892d6 --- /dev/null +++ b/meta-ibm/recipes-phosphor/gpio/phosphor-gpio-monitor/p10bmc/obmc/gpio/phosphor-power-supply-2.conf @@ -0,0 +1,7 @@ +INVENTORY=/system/chassis/motherboard/powersupply2 +DEVPATH=/dev/input/by-path/platform-gpio-keys-event +KEY=146 +DRIVER_BIND_DELAY_MS=1500 +NAME=powersupply2 +DRIVERS=/sys/bus/i2c/drivers/ibm-cffps,3-006a +EXTRA_IFACES=xyz.openbmc_project.Inventory.Item.PowerSupply diff --git a/meta-ibm/recipes-phosphor/gpio/phosphor-gpio-monitor/p10bmc/obmc/gpio/phosphor-power-supply-3.conf b/meta-ibm/recipes-phosphor/gpio/phosphor-gpio-monitor/p10bmc/obmc/gpio/phosphor-power-supply-3.conf new file mode 100644 index 000000000..3dadeefbe --- /dev/null +++ b/meta-ibm/recipes-phosphor/gpio/phosphor-gpio-monitor/p10bmc/obmc/gpio/phosphor-power-supply-3.conf @@ -0,0 +1,7 @@ +INVENTORY=/system/chassis/motherboard/powersupply3 +DEVPATH=/dev/input/by-path/platform-gpio-keys-event +KEY=147 +DRIVER_BIND_DELAY_MS=1500 +NAME=powersupply3 +DRIVERS=/sys/bus/i2c/drivers/ibm-cffps,3-006b +EXTRA_IFACES=xyz.openbmc_project.Inventory.Item.PowerSupply diff --git a/meta-ibm/recipes-phosphor/gpio/phosphor-gpio-monitor/rainier/obmc/gpio/phosphor-power-supply-0.conf b/meta-ibm/recipes-phosphor/gpio/phosphor-gpio-monitor/rainier/obmc/gpio/phosphor-power-supply-0.conf deleted file mode 100644 index d2c96e643..000000000 --- a/meta-ibm/recipes-phosphor/gpio/phosphor-gpio-monitor/rainier/obmc/gpio/phosphor-power-supply-0.conf +++ /dev/null @@ -1,7 +0,0 @@ -INVENTORY=/system/chassis/motherboard/powersupply0 -DEVPATH=/dev/input/by-path/platform-gpio-keys-event -KEY=144 -DRIVER_BIND_DELAY_MS=1500 -NAME=powersupply0 -DRIVERS=/sys/bus/i2c/drivers/ibm-cffps,3-0068 -EXTRA_IFACES=xyz.openbmc_project.Inventory.Item.PowerSupply diff --git a/meta-ibm/recipes-phosphor/gpio/phosphor-gpio-monitor/rainier/obmc/gpio/phosphor-power-supply-1.conf b/meta-ibm/recipes-phosphor/gpio/phosphor-gpio-monitor/rainier/obmc/gpio/phosphor-power-supply-1.conf deleted file mode 100644 index 655ce07f5..000000000 --- a/meta-ibm/recipes-phosphor/gpio/phosphor-gpio-monitor/rainier/obmc/gpio/phosphor-power-supply-1.conf +++ /dev/null @@ -1,7 +0,0 @@ -INVENTORY=/system/chassis/motherboard/powersupply1 -DEVPATH=/dev/input/by-path/platform-gpio-keys-event -KEY=145 -DRIVER_BIND_DELAY_MS=1500 -NAME=powersupply1 -DRIVERS=/sys/bus/i2c/drivers/ibm-cffps,3-0069 -EXTRA_IFACES=xyz.openbmc_project.Inventory.Item.PowerSupply diff --git a/meta-ibm/recipes-phosphor/gpio/phosphor-gpio-monitor/rainier/obmc/gpio/phosphor-power-supply-2.conf b/meta-ibm/recipes-phosphor/gpio/phosphor-gpio-monitor/rainier/obmc/gpio/phosphor-power-supply-2.conf deleted file mode 100644 index 0723892d6..000000000 --- a/meta-ibm/recipes-phosphor/gpio/phosphor-gpio-monitor/rainier/obmc/gpio/phosphor-power-supply-2.conf +++ /dev/null @@ -1,7 +0,0 @@ -INVENTORY=/system/chassis/motherboard/powersupply2 -DEVPATH=/dev/input/by-path/platform-gpio-keys-event -KEY=146 -DRIVER_BIND_DELAY_MS=1500 -NAME=powersupply2 -DRIVERS=/sys/bus/i2c/drivers/ibm-cffps,3-006a -EXTRA_IFACES=xyz.openbmc_project.Inventory.Item.PowerSupply diff --git a/meta-ibm/recipes-phosphor/gpio/phosphor-gpio-monitor/rainier/obmc/gpio/phosphor-power-supply-3.conf b/meta-ibm/recipes-phosphor/gpio/phosphor-gpio-monitor/rainier/obmc/gpio/phosphor-power-supply-3.conf deleted file mode 100644 index 3dadeefbe..000000000 --- a/meta-ibm/recipes-phosphor/gpio/phosphor-gpio-monitor/rainier/obmc/gpio/phosphor-power-supply-3.conf +++ /dev/null @@ -1,7 +0,0 @@ -INVENTORY=/system/chassis/motherboard/powersupply3 -DEVPATH=/dev/input/by-path/platform-gpio-keys-event -KEY=147 -DRIVER_BIND_DELAY_MS=1500 -NAME=powersupply3 -DRIVERS=/sys/bus/i2c/drivers/ibm-cffps,3-006b -EXTRA_IFACES=xyz.openbmc_project.Inventory.Item.PowerSupply diff --git a/meta-ibm/recipes-phosphor/gpio/phosphor-gpio-monitor_%.bbappend b/meta-ibm/recipes-phosphor/gpio/phosphor-gpio-monitor_%.bbappend index e5af8850c..9884173d5 100644 --- a/meta-ibm/recipes-phosphor/gpio/phosphor-gpio-monitor_%.bbappend +++ b/meta-ibm/recipes-phosphor/gpio/phosphor-gpio-monitor_%.bbappend @@ -7,10 +7,10 @@ FMT_POWERSUPPLY = "../${TMPL_POWERSUPPLY}:${POWERSUPPLY_TGT}.wants/${INSTFMT_POW SYSTEMD_LINK_${PN}-presence_append_ibm-ac-server = " ${@compose_list(d, 'FMT_POWERSUPPLY', 'OBMC_POWER_SUPPLY_INSTANCES')}" SYSTEMD_LINK_${PN}-presence_append_mihawk = " ${@compose_list(d, 'FMT_POWERSUPPLY', 'OBMC_POWER_SUPPLY_INSTANCES')}" -SYSTEMD_LINK_${PN}-presence_append_rainier = " ${@compose_list(d, 'FMT_POWERSUPPLY', 'OBMC_POWER_SUPPLY_INSTANCES')}" +SYSTEMD_LINK_${PN}-presence_append_p10bmc = " ${@compose_list(d, 'FMT_POWERSUPPLY', 'OBMC_POWER_SUPPLY_INSTANCES')}" POWERSUPPLY_ENV_FMT = "obmc/gpio/phosphor-power-supply-{0}.conf" SYSTEMD_ENVIRONMENT_FILE_${PN}-presence_append_ibm-ac-server = " ${@compose_list(d, 'POWERSUPPLY_ENV_FMT', 'OBMC_POWER_SUPPLY_INSTANCES')}" SYSTEMD_ENVIRONMENT_FILE_${PN}-presence_append_mihawk = " ${@compose_list(d, 'POWERSUPPLY_ENV_FMT', 'OBMC_POWER_SUPPLY_INSTANCES')}" -SYSTEMD_ENVIRONMENT_FILE_${PN}-presence_append_rainier = " ${@compose_list(d, 'POWERSUPPLY_ENV_FMT', 'OBMC_POWER_SUPPLY_INSTANCES')}" +SYSTEMD_ENVIRONMENT_FILE_${PN}-presence_append_p10bmc = " ${@compose_list(d, 'POWERSUPPLY_ENV_FMT', 'OBMC_POWER_SUPPLY_INSTANCES')}" -- cgit v1.2.3 From ceb9805763057a512c227479dbfce4791fe63ccb Mon Sep 17 00:00:00 2001 From: Adriana Kobylak Date: Thu, 25 Mar 2021 16:42:47 +0000 Subject: ibm: host-postd: Replace rainier with p10bmc The IBM rainier machine name is being replaced with the generic p10bmc. Change-Id: I430e6ed6bf006a114e185d4adb507d1c5c6e2cd4 Signed-off-by: Adriana Kobylak --- meta-ibm/recipes-phosphor/host/phosphor-host-postd_%.bbappend | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-ibm/recipes-phosphor/host/phosphor-host-postd_%.bbappend b/meta-ibm/recipes-phosphor/host/phosphor-host-postd_%.bbappend index 2770253dd..5ac5e59ce 100644 --- a/meta-ibm/recipes-phosphor/host/phosphor-host-postd_%.bbappend +++ b/meta-ibm/recipes-phosphor/host/phosphor-host-postd_%.bbappend @@ -1,2 +1,2 @@ SNOOP_DEVICE_witherspoon-tacoma = "" -SNOOP_DEVICE_rainier = "" +SNOOP_DEVICE_p10bmc = "" -- cgit v1.2.3 From 0177eaad9029b8fb4c0e44b152560c8f242db039 Mon Sep 17 00:00:00 2001 From: Adriana Kobylak Date: Thu, 25 Mar 2021 16:41:43 +0000 Subject: ibm: software-manager: Replace rainier with p10bmc The IBM rainier machine name is being replaced with the generic p10bmc. Change-Id: Iba75dcfe5eee66bcb0afb5a01feddbf26b2c7988 Signed-off-by: Adriana Kobylak --- .../recipes-phosphor/flash/phosphor-software-manager_%.bbappend | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/meta-ibm/recipes-phosphor/flash/phosphor-software-manager_%.bbappend b/meta-ibm/recipes-phosphor/flash/phosphor-software-manager_%.bbappend index 61297c12c..a440b1173 100644 --- a/meta-ibm/recipes-phosphor/flash/phosphor-software-manager_%.bbappend +++ b/meta-ibm/recipes-phosphor/flash/phosphor-software-manager_%.bbappend @@ -1,16 +1,16 @@ BMC_RW_MTD_ibm-ac-server = "bmc" -BMC_RW_MTD_rainier = "bmc" +BMC_RW_MTD_p10bmc = "bmc" BMC_RW_MTD_mihawk = "bmc" BMC_RO_MTD_ibm-ac-server = "alt-bmc+bmc" -BMC_RO_MTD_rainier = "bmc" +BMC_RO_MTD_p10bmc = "bmc" BMC_RO_MTD_mihawk = "alt-bmc+bmc" BMC_KERNEL_MTD_ibm-ac-server = "bmc" -BMC_KERNEL_MTD_rainier = "bmc" +BMC_KERNEL_MTD_p10bmc = "bmc" BMC_KERNEL_MTD_mihawk = "bmc" # Enable signature verification PACKAGECONFIG_append_ibm-ac-server = " verify_signature" -PACKAGECONFIG_append_rainier = " verify_signature" +PACKAGECONFIG_append_p10bmc = " verify_signature" PACKAGECONFIG_append_mihawk = " verify_signature" # Enable sync of persistent files to the alternate BMC chip -- cgit v1.2.3 From dd62594a5ea46a411c236c67d47e8a9e39dd4895 Mon Sep 17 00:00:00 2001 From: Adriana Kobylak Date: Thu, 25 Mar 2021 16:44:49 +0000 Subject: ibm: logging: Replace rainier with p10bmc The IBM rainier machine name is being replaced with the generic p10bmc. Change-Id: I9fa2bb6f199144816bd9d90405afe4fba36fc575 Signed-off-by: Adriana Kobylak --- meta-ibm/recipes-phosphor/logging/phosphor-logging_%.bbappend | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-ibm/recipes-phosphor/logging/phosphor-logging_%.bbappend b/meta-ibm/recipes-phosphor/logging/phosphor-logging_%.bbappend index ac5e0b969..d1c8863c3 100644 --- a/meta-ibm/recipes-phosphor/logging/phosphor-logging_%.bbappend +++ b/meta-ibm/recipes-phosphor/logging/phosphor-logging_%.bbappend @@ -1,2 +1,2 @@ PACKAGECONFIG_append_witherspoon-tacoma = " openpower-pels" -PACKAGECONFIG_append_rainier = " openpower-pels" +PACKAGECONFIG_append_p10bmc = " openpower-pels" -- cgit v1.2.3 From fae7857a4b3ec3d9c45b0fccd207aca84f2489db Mon Sep 17 00:00:00 2001 From: Adriana Kobylak Date: Thu, 25 Mar 2021 17:38:58 +0000 Subject: ibm: skeleton: Replace rainier with p10bmc The IBM rainier machine name is being replaced with the generic p10bmc. Change-Id: Id9cbde5f3ccc505635c37c8ffd92efef191e9320 Signed-off-by: Adriana Kobylak --- .../obmc-libobmc-intf/p10bmc/gpio_defs.json | 30 ++++++++++++++++++++++ .../obmc-libobmc-intf/rainier/gpio_defs.json | 30 ---------------------- 2 files changed, 30 insertions(+), 30 deletions(-) create mode 100644 meta-ibm/recipes-phosphor/skeleton/obmc-libobmc-intf/p10bmc/gpio_defs.json delete mode 100644 meta-ibm/recipes-phosphor/skeleton/obmc-libobmc-intf/rainier/gpio_defs.json diff --git a/meta-ibm/recipes-phosphor/skeleton/obmc-libobmc-intf/p10bmc/gpio_defs.json b/meta-ibm/recipes-phosphor/skeleton/obmc-libobmc-intf/p10bmc/gpio_defs.json new file mode 100644 index 000000000..296039502 --- /dev/null +++ b/meta-ibm/recipes-phosphor/skeleton/obmc-libobmc-intf/p10bmc/gpio_defs.json @@ -0,0 +1,30 @@ +{ + "gpio_configs": { + + "power_config": { + "power_good_in": "SYS_PWROK_BUFF", + "power_up_outs": [ + {"name": "SOFTWARE_PGOOD", "polarity": true}, + {"name": "BMC_POWER_UP", "polarity": true} + ] + } + }, + + "gpio_definitions": [ + { + "name": "BMC_POWER_UP", + "pin": "R1", + "direction": "out" + }, + { + "name": "SOFTWARE_PGOOD", + "pin": "F1", + "direction": "out" + }, + { + "name": "SYS_PWROK_BUFF", + "pin": "R2", + "direction": "in" + } + ] +} diff --git a/meta-ibm/recipes-phosphor/skeleton/obmc-libobmc-intf/rainier/gpio_defs.json b/meta-ibm/recipes-phosphor/skeleton/obmc-libobmc-intf/rainier/gpio_defs.json deleted file mode 100644 index 296039502..000000000 --- a/meta-ibm/recipes-phosphor/skeleton/obmc-libobmc-intf/rainier/gpio_defs.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "gpio_configs": { - - "power_config": { - "power_good_in": "SYS_PWROK_BUFF", - "power_up_outs": [ - {"name": "SOFTWARE_PGOOD", "polarity": true}, - {"name": "BMC_POWER_UP", "polarity": true} - ] - } - }, - - "gpio_definitions": [ - { - "name": "BMC_POWER_UP", - "pin": "R1", - "direction": "out" - }, - { - "name": "SOFTWARE_PGOOD", - "pin": "F1", - "direction": "out" - }, - { - "name": "SYS_PWROK_BUFF", - "pin": "R2", - "direction": "in" - } - ] -} -- cgit v1.2.3 From d92b5ed20b9213691e7e18c7c7c37dfb9d705337 Mon Sep 17 00:00:00 2001 From: Adriana Kobylak Date: Thu, 25 Mar 2021 17:22:20 +0000 Subject: ibm: settings: Replace rainier with p10bmc The IBM rainier machine name is being replaced with the generic p10bmc. Change-Id: I3947988f73e601ca281b6222a6116bc7f50c8c32 Signed-off-by: Adriana Kobylak --- ...HypervisorInterface-default-p10bmc.override.yml | 74 ++++++++++++++++++++++ ...ypervisorInterface-default-rainier.override.yml | 74 ---------------------- .../settings/phosphor-settings-manager_%.bbappend | 2 +- 3 files changed, 75 insertions(+), 75 deletions(-) create mode 100644 meta-ibm/recipes-phosphor/settings/phosphor-settings-manager/HypervisorInterface-default-p10bmc.override.yml delete mode 100644 meta-ibm/recipes-phosphor/settings/phosphor-settings-manager/HypervisorInterface-default-rainier.override.yml diff --git a/meta-ibm/recipes-phosphor/settings/phosphor-settings-manager/HypervisorInterface-default-p10bmc.override.yml b/meta-ibm/recipes-phosphor/settings/phosphor-settings-manager/HypervisorInterface-default-p10bmc.override.yml new file mode 100644 index 000000000..ecc95317f --- /dev/null +++ b/meta-ibm/recipes-phosphor/settings/phosphor-settings-manager/HypervisorInterface-default-p10bmc.override.yml @@ -0,0 +1,74 @@ +/xyz/openbmc_project/network/hypervisor: + - Interface: xyz.openbmc_project.Network.SystemConfiguration + Properties: + HostName: + Default: '""' + DefaultGateway: + Default: '"0.0.0.0"' + +/xyz/openbmc_project/network/hypervisor/eth0: + - Interface: xyz.openbmc_project.Network.MACAddress + Properties: + MACAddress: + Default: '"00:00:00:00:00:00"' + Validation: + Type: "regex" + Validator: '^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$' + - Interface: xyz.openbmc_project.Network.EthernetInterface + Properties: + DHCPEnabled: + Default: EthernetInterface::DHCPConf::none + +/xyz/openbmc_project/network/hypervisor/eth0/ipv4/addr0: + - Interface: xyz.openbmc_project.Network.IP + Properties: + Address: + Default: '"0.0.0.0"' + PrefixLength: + Default: 0 + Validation: + Type: "range" + Validator: 0..32 + Unit: "bits" + Origin: + Default: IP::AddressOrigin::Static + Type: + Default: IP::Protocol::IPv4 + - Interface: xyz.openbmc_project.Object.Enable + Properties: + Enabled: + Default: 'false' + +/xyz/openbmc_project/network/hypervisor/eth1: + - Interface: xyz.openbmc_project.Network.MACAddress + Properties: + MACAddress: + Default: '"00:00:00:00:00:00"' + Validation: + Type: "regex" + Validator: '^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$' + - Interface: xyz.openbmc_project.Network.EthernetInterface + Properties: + DHCPEnabled: + Default: EthernetInterface::DHCPConf::none + +/xyz/openbmc_project/network/hypervisor/eth1/ipv4/addr0: + - Interface: xyz.openbmc_project.Network.IP + Properties: + Address: + Default: '"0.0.0.0"' + PrefixLength: + Default: 0 + Validation: + Type: "range" + Validator: 0..32 + Unit: "bits" + Origin: + Default: IP::AddressOrigin::Static + Type: + Default: IP::Protocol::IPv4 + - Interface: xyz.openbmc_project.Object.Enable + Properties: + Enabled: + Default: 'false' + diff --git a/meta-ibm/recipes-phosphor/settings/phosphor-settings-manager/HypervisorInterface-default-rainier.override.yml b/meta-ibm/recipes-phosphor/settings/phosphor-settings-manager/HypervisorInterface-default-rainier.override.yml deleted file mode 100644 index ecc95317f..000000000 --- a/meta-ibm/recipes-phosphor/settings/phosphor-settings-manager/HypervisorInterface-default-rainier.override.yml +++ /dev/null @@ -1,74 +0,0 @@ -/xyz/openbmc_project/network/hypervisor: - - Interface: xyz.openbmc_project.Network.SystemConfiguration - Properties: - HostName: - Default: '""' - DefaultGateway: - Default: '"0.0.0.0"' - -/xyz/openbmc_project/network/hypervisor/eth0: - - Interface: xyz.openbmc_project.Network.MACAddress - Properties: - MACAddress: - Default: '"00:00:00:00:00:00"' - Validation: - Type: "regex" - Validator: '^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$' - - Interface: xyz.openbmc_project.Network.EthernetInterface - Properties: - DHCPEnabled: - Default: EthernetInterface::DHCPConf::none - -/xyz/openbmc_project/network/hypervisor/eth0/ipv4/addr0: - - Interface: xyz.openbmc_project.Network.IP - Properties: - Address: - Default: '"0.0.0.0"' - PrefixLength: - Default: 0 - Validation: - Type: "range" - Validator: 0..32 - Unit: "bits" - Origin: - Default: IP::AddressOrigin::Static - Type: - Default: IP::Protocol::IPv4 - - Interface: xyz.openbmc_project.Object.Enable - Properties: - Enabled: - Default: 'false' - -/xyz/openbmc_project/network/hypervisor/eth1: - - Interface: xyz.openbmc_project.Network.MACAddress - Properties: - MACAddress: - Default: '"00:00:00:00:00:00"' - Validation: - Type: "regex" - Validator: '^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$' - - Interface: xyz.openbmc_project.Network.EthernetInterface - Properties: - DHCPEnabled: - Default: EthernetInterface::DHCPConf::none - -/xyz/openbmc_project/network/hypervisor/eth1/ipv4/addr0: - - Interface: xyz.openbmc_project.Network.IP - Properties: - Address: - Default: '"0.0.0.0"' - PrefixLength: - Default: 0 - Validation: - Type: "range" - Validator: 0..32 - Unit: "bits" - Origin: - Default: IP::AddressOrigin::Static - Type: - Default: IP::Protocol::IPv4 - - Interface: xyz.openbmc_project.Object.Enable - Properties: - Enabled: - Default: 'false' - diff --git a/meta-ibm/recipes-phosphor/settings/phosphor-settings-manager_%.bbappend b/meta-ibm/recipes-phosphor/settings/phosphor-settings-manager_%.bbappend index 3c658ae0c..92c1bccae 100644 --- a/meta-ibm/recipes-phosphor/settings/phosphor-settings-manager_%.bbappend +++ b/meta-ibm/recipes-phosphor/settings/phosphor-settings-manager_%.bbappend @@ -3,5 +3,5 @@ SRC_URI_append_ibm-ac-server = " file://TPMEnable-default-true.override.yml" SRC_URI_append_ibm-ac-server = " file://ClearHostSecurityKeys-default-zero.override.yml" SRC_URI_append_mihawk = " file://TPMEnable-default-true.override.yml" SRC_URI_append = " file://ibm_settings.override.yml" -SRC_URI_append_rainier = " file://HypervisorInterface-default-rainier.override.yml" +SRC_URI_append_p10bmc = " file://HypervisorInterface-default-p10bmc.override.yml" SRC_URI_append_witherspoon-tacoma = " file://HypervisorInterface-default-tacoma.override.yml" -- cgit v1.2.3 From c9235698b948e6dd1209b34013436a14bd2b4dab Mon Sep 17 00:00:00 2001 From: Adriana Kobylak Date: Thu, 25 Mar 2021 16:36:59 +0000 Subject: ibm: obmc-console: Replace rainier with p10bmc The IBM rainier machine name is being replaced with the generic p10bmc. Tested: Built rainier and verified the console files were installed: rainier-openbmc-linux-gnueabi/obmc-phosphor-image/1.0-r0/rootfs/etc/obmc-console/ Change-Id: Ida1010ae6c6c0e1eecf2b62521c06bfe055b0d88 Signed-off-by: Adriana Kobylak --- .../console/obmc-console/p10bmc/client.2201.conf | 1 + .../console/obmc-console/p10bmc/server.ttyVUART0.conf | 5 +++++ .../console/obmc-console/p10bmc/server.ttyVUART1.conf | 3 +++ .../console/obmc-console/rainier/client.2201.conf | 1 - .../console/obmc-console/rainier/server.ttyVUART0.conf | 5 ----- .../console/obmc-console/rainier/server.ttyVUART1.conf | 3 --- .../recipes-phosphor/console/obmc-console_%.bbappend | 16 ++++++++-------- 7 files changed, 17 insertions(+), 17 deletions(-) create mode 100644 meta-ibm/recipes-phosphor/console/obmc-console/p10bmc/client.2201.conf create mode 100644 meta-ibm/recipes-phosphor/console/obmc-console/p10bmc/server.ttyVUART0.conf create mode 100644 meta-ibm/recipes-phosphor/console/obmc-console/p10bmc/server.ttyVUART1.conf delete mode 100644 meta-ibm/recipes-phosphor/console/obmc-console/rainier/client.2201.conf delete mode 100644 meta-ibm/recipes-phosphor/console/obmc-console/rainier/server.ttyVUART0.conf delete mode 100644 meta-ibm/recipes-phosphor/console/obmc-console/rainier/server.ttyVUART1.conf diff --git a/meta-ibm/recipes-phosphor/console/obmc-console/p10bmc/client.2201.conf b/meta-ibm/recipes-phosphor/console/obmc-console/p10bmc/client.2201.conf new file mode 100644 index 000000000..7264e8278 --- /dev/null +++ b/meta-ibm/recipes-phosphor/console/obmc-console/p10bmc/client.2201.conf @@ -0,0 +1 @@ +socket-id = guests diff --git a/meta-ibm/recipes-phosphor/console/obmc-console/p10bmc/server.ttyVUART0.conf b/meta-ibm/recipes-phosphor/console/obmc-console/p10bmc/server.ttyVUART0.conf new file mode 100644 index 000000000..638ae7e5d --- /dev/null +++ b/meta-ibm/recipes-phosphor/console/obmc-console/p10bmc/server.ttyVUART0.conf @@ -0,0 +1,5 @@ +lpc-address = 0x3f8 +sirq = 4 +local-tty = ttyS0 +local-tty-baud = 115200 +logsize = 256k diff --git a/meta-ibm/recipes-phosphor/console/obmc-console/p10bmc/server.ttyVUART1.conf b/meta-ibm/recipes-phosphor/console/obmc-console/p10bmc/server.ttyVUART1.conf new file mode 100644 index 000000000..e98587f15 --- /dev/null +++ b/meta-ibm/recipes-phosphor/console/obmc-console/p10bmc/server.ttyVUART1.conf @@ -0,0 +1,3 @@ +lpc-address = 0x2f8 +sirq = 3 +socket-id = guests diff --git a/meta-ibm/recipes-phosphor/console/obmc-console/rainier/client.2201.conf b/meta-ibm/recipes-phosphor/console/obmc-console/rainier/client.2201.conf deleted file mode 100644 index 7264e8278..000000000 --- a/meta-ibm/recipes-phosphor/console/obmc-console/rainier/client.2201.conf +++ /dev/null @@ -1 +0,0 @@ -socket-id = guests diff --git a/meta-ibm/recipes-phosphor/console/obmc-console/rainier/server.ttyVUART0.conf b/meta-ibm/recipes-phosphor/console/obmc-console/rainier/server.ttyVUART0.conf deleted file mode 100644 index 638ae7e5d..000000000 --- a/meta-ibm/recipes-phosphor/console/obmc-console/rainier/server.ttyVUART0.conf +++ /dev/null @@ -1,5 +0,0 @@ -lpc-address = 0x3f8 -sirq = 4 -local-tty = ttyS0 -local-tty-baud = 115200 -logsize = 256k diff --git a/meta-ibm/recipes-phosphor/console/obmc-console/rainier/server.ttyVUART1.conf b/meta-ibm/recipes-phosphor/console/obmc-console/rainier/server.ttyVUART1.conf deleted file mode 100644 index e98587f15..000000000 --- a/meta-ibm/recipes-phosphor/console/obmc-console/rainier/server.ttyVUART1.conf +++ /dev/null @@ -1,3 +0,0 @@ -lpc-address = 0x2f8 -sirq = 3 -socket-id = guests diff --git a/meta-ibm/recipes-phosphor/console/obmc-console_%.bbappend b/meta-ibm/recipes-phosphor/console/obmc-console_%.bbappend index c10b7ce04..a35e6d4c7 100644 --- a/meta-ibm/recipes-phosphor/console/obmc-console_%.bbappend +++ b/meta-ibm/recipes-phosphor/console/obmc-console_%.bbappend @@ -27,21 +27,21 @@ install_concurrent_console_config() { install -m 0644 ${WORKDIR}/server.ttyVUART1.conf ${D}${sysconfdir}/${BPN}/ } -SRC_URI_append_rainier = " file://client.2201.conf" -SRC_URI_append_rainier = " file://server.ttyVUART1.conf" +SRC_URI_append_p10bmc = " file://client.2201.conf" +SRC_URI_append_p10bmc = " file://server.ttyVUART1.conf" -REGISTERED_SERVICES_${PN}_append_rainier = " obmc_console_guests:tcp:2201:" +REGISTERED_SERVICES_${PN}_append_p10bmc = " obmc_console_guests:tcp:2201:" -SYSTEMD_SERVICE_${PN}_append_rainier = " obmc-console-ssh@2200.service \ +SYSTEMD_SERVICE_${PN}_append_p10bmc = " obmc-console-ssh@2200.service \ obmc-console-ssh@2201.service \ " -SYSTEMD_SERVICE_${PN}_remove_rainier = "obmc-console-ssh.socket" +SYSTEMD_SERVICE_${PN}_remove_p10bmc = "obmc-console-ssh.socket" -FILES_${PN}_remove_rainier = "/lib/systemd/system/obmc-console-ssh@.service.d/use-socket.conf" +FILES_${PN}_remove_p10bmc = "/lib/systemd/system/obmc-console-ssh@.service.d/use-socket.conf" -EXTRA_OECONF_append_rainier = " --enable-concurrent-servers" +EXTRA_OECONF_append_p10bmc = " --enable-concurrent-servers" -do_install_append_rainier() { +do_install_append_p10bmc() { install_concurrent_console_config } -- cgit v1.2.3 From 7f9b6d8bcada8d9a618779c6f46c16f64186f92d Mon Sep 17 00:00:00 2001 From: Adriana Kobylak Date: Thu, 25 Mar 2021 17:23:23 +0000 Subject: ibm: dbus-interfaces: Replace rainier with p10bmc The IBM rainier machine name is being replaced with the generic p10bmc. Change-Id: I7bfbbf2310be78a2ae601047710204f5fb9f0da0 Signed-off-by: Adriana Kobylak --- meta-ibm/recipes-phosphor/dbus/phosphor-dbus-interfaces_%.bbappend | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-ibm/recipes-phosphor/dbus/phosphor-dbus-interfaces_%.bbappend b/meta-ibm/recipes-phosphor/dbus/phosphor-dbus-interfaces_%.bbappend index 0c632a151..d782a389d 100644 --- a/meta-ibm/recipes-phosphor/dbus/phosphor-dbus-interfaces_%.bbappend +++ b/meta-ibm/recipes-phosphor/dbus/phosphor-dbus-interfaces_%.bbappend @@ -1,2 +1,2 @@ OBMC_ORG_YAML_SUBDIRS_append_witherspoon = " com/ibm" -OBMC_ORG_YAML_SUBDIRS_append_rainier = " com/ibm" +OBMC_ORG_YAML_SUBDIRS_append_p10bmc = " com/ibm" -- cgit v1.2.3 From 8452cdb4984f068e050b6e12072ca346eb9c6211 Mon Sep 17 00:00:00 2001 From: Adriana Kobylak Date: Thu, 25 Mar 2021 17:13:05 +0000 Subject: ibm: packagegroups: Replace rainier with p10bmc The IBM rainier machine name is being replaced with the generic p10bmc. Change-Id: If32498a59ce621b1e456fdf0ec965c92d646ab86 Signed-off-by: Adriana Kobylak --- .../packagegroups/packagegroup-obmc-apps.bbappend | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/meta-ibm/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend b/meta-ibm/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend index 6944e5933..9c466b882 100644 --- a/meta-ibm/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend +++ b/meta-ibm/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend @@ -7,8 +7,8 @@ POWER_SERVICE_PACKAGES_AC_SERVER = " \ phosphor-power \ " -# Rainier does not need/want the old PSU monitor -POWER_SERVICE_PACKAGES_RAINIER = " \ +# P10 does not need/want the old PSU monitor +POWER_SERVICE_PACKAGES_P10 = " \ phosphor-power-sequencer \ phosphor-power-systemd-links-sequencer \ phosphor-power-utils \ @@ -23,21 +23,21 @@ EXTRA_IBM_LOGGING_PKGS_witherspoon-tacoma = "" EXTRA_IBM_LOGGING_PKGS_mihawk = "ibm-logging" RDEPENDS_${PN}-inventory_append_ibm-ac-server = " openpower-fru-vpd openpower-occ-control phosphor-cooling-type virtual/obmc-gpio-presence" -RDEPENDS_${PN}-inventory_append_rainier = " openpower-fru-vpd openpower-occ-control virtual/obmc-gpio-presence" +RDEPENDS_${PN}-inventory_append_p10bmc = " openpower-fru-vpd openpower-occ-control virtual/obmc-gpio-presence" RDEPENDS_${PN}-inventory_append_mihawk = " openpower-fru-vpd openpower-occ-control virtual/obmc-gpio-presence id-button phosphor-cooling-type" RDEPENDS_${PN}-fan-control_append_ibm-ac-server = " fan-watchdog" -RDEPENDS_${PN}-fan-control_append_rainier = " fan-watchdog sensor-monitor" +RDEPENDS_${PN}-fan-control_append_p10bmc = " fan-watchdog sensor-monitor" RDEPENDS_${PN}-extras_append_ibm-ac-server = " ${POWER_SERVICE_PACKAGES_AC_SERVER} witherspoon-power-supply-sync phosphor-webui" -RDEPENDS_${PN}-extras_append_rainier = " ${POWER_SERVICE_PACKAGES_RAINIER} webui-vue dbus-sensors phosphor-virtual-sensor kexec-tools" +RDEPENDS_${PN}-extras_append_p10bmc = " ${POWER_SERVICE_PACKAGES_P10} webui-vue dbus-sensors phosphor-virtual-sensor kexec-tools" RDEPENDS_${PN}-extras_append_mihawk = " phosphor-webui phosphor-image-signing wistron-ipmi-oem ${POWER_SERVICE_PACKAGES_AC_SERVER}" RDEPENDS_${PN}-extras_append_witherspoon-tacoma = " pldm srvcfg-manager webui-vue biosconfig-manager phosphor-post-code-manager phosphor-host-postd kexec-tools" -RDEPENDS_${PN}-extras_remove_rainier = "obmc-ikvm liberation-fonts uart-render-controller" +RDEPENDS_${PN}-extras_remove_p10bmc = "obmc-ikvm liberation-fonts uart-render-controller" RDEPENDS_${PN}-extras_remove_swift = "obmc-ikvm" RDEPENDS_${PN}-extras_remove_witherspoon-tacoma = "obmc-ikvm liberation-fonts uart-render-controller phosphor-webui" RDEPENDS_${PN}-logging_append = " ${EXTRA_IBM_LOGGING_PKGS}" -RDEPENDS_${PN}-extras_append_rainier = " pldm openpower-hw-diags srvcfg-manager biosconfig-manager phosphor-post-code-manager phosphor-host-postd" -RDEPENDS_${PN}-leds_remove_rainier = "phosphor-led-manager-faultmonitor" +RDEPENDS_${PN}-extras_append_p10bmc = " pldm openpower-hw-diags srvcfg-manager biosconfig-manager phosphor-post-code-manager phosphor-host-postd" +RDEPENDS_${PN}-leds_remove_p10bmc = "phosphor-led-manager-faultmonitor" RDEPENDS_${PN}-leds_remove_witherspoon-tacoma = "phosphor-led-manager-faultmonitor" ${PN}-software-extras_append_ibm-ac-server = " phosphor-software-manager-sync" -- cgit v1.2.3 From 63ed80d2521ee2c5f5b3b0091c3f4d379eebd067 Mon Sep 17 00:00:00 2001 From: Adriana Kobylak Date: Thu, 25 Mar 2021 17:20:24 +0000 Subject: ibm: sensors: Replace rainier with p10bmc The IBM rainier machine name is being replaced with the generic p10bmc. Change-Id: I43d08c3be45d8cc8b03914b9bc257df2668e9fe0 Signed-off-by: Adriana Kobylak --- .../sensors/dbus-sensors_%.bbappend | 2 +- .../apb/bus@1e78a000/i2c-bus@400/max31785@52.conf | 25 +++++++++++++++++ .../i2c-switch@70/i2c@3/max31785@52.conf | 17 ++++++++++++ .../apb/bus@1e78a000/i2c-bus@400/max31785@52.conf | 25 ----------------- .../i2c-switch@70/i2c@3/max31785@52.conf | 17 ------------ .../sensors/phosphor-hwmon_%.bbappend | 4 +-- .../p10bmc/virtual_sensor_config.json | 31 ++++++++++++++++++++++ .../rainier/virtual_sensor_config.json | 31 ---------------------- .../sensors/phosphor-virtual-sensor_%.bbappend | 2 +- 9 files changed, 77 insertions(+), 77 deletions(-) create mode 100644 meta-ibm/recipes-phosphor/sensors/phosphor-hwmon/p10bmc/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@400/max31785@52.conf create mode 100644 meta-ibm/recipes-phosphor/sensors/phosphor-hwmon/p10bmc/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@780/i2c-switch@70/i2c@3/max31785@52.conf delete mode 100644 meta-ibm/recipes-phosphor/sensors/phosphor-hwmon/rainier/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@400/max31785@52.conf delete mode 100644 meta-ibm/recipes-phosphor/sensors/phosphor-hwmon/rainier/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@780/i2c-switch@70/i2c@3/max31785@52.conf create mode 100644 meta-ibm/recipes-phosphor/sensors/phosphor-virtual-sensor/p10bmc/virtual_sensor_config.json delete mode 100644 meta-ibm/recipes-phosphor/sensors/phosphor-virtual-sensor/rainier/virtual_sensor_config.json diff --git a/meta-ibm/recipes-phosphor/sensors/dbus-sensors_%.bbappend b/meta-ibm/recipes-phosphor/sensors/dbus-sensors_%.bbappend index 3f2661301..6c283f455 100644 --- a/meta-ibm/recipes-phosphor/sensors/dbus-sensors_%.bbappend +++ b/meta-ibm/recipes-phosphor/sensors/dbus-sensors_%.bbappend @@ -1 +1 @@ -PACKAGECONFIG_rainier = "hwmontempsensor" +PACKAGECONFIG_p10bmc = "hwmontempsensor" diff --git a/meta-ibm/recipes-phosphor/sensors/phosphor-hwmon/p10bmc/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@400/max31785@52.conf b/meta-ibm/recipes-phosphor/sensors/phosphor-hwmon/p10bmc/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@400/max31785@52.conf new file mode 100644 index 000000000..c3b9db146 --- /dev/null +++ b/meta-ibm/recipes-phosphor/sensors/phosphor-hwmon/p10bmc/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@400/max31785@52.conf @@ -0,0 +1,25 @@ +LABEL_fan1 = "fan0_0" + +LABEL_fan2 = "fan1_0" + +LABEL_fan3 = "fan2_0" + +LABEL_fan4 = "fan3_0" + +LABEL_fan5 = "fan4_0" + +LABEL_fan6 = "fan5_0" + +LABEL_fan7 = "fan0_1" + +LABEL_fan8 = "fan1_1" + +LABEL_fan9 = "fan2_1" + +LABEL_fan10 = "fan3_1" + +LABEL_fan11 = "fan4_1" + +LABEL_fan12 = "fan5_1" + +TARGET_MODE = "RPM" diff --git a/meta-ibm/recipes-phosphor/sensors/phosphor-hwmon/p10bmc/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@780/i2c-switch@70/i2c@3/max31785@52.conf b/meta-ibm/recipes-phosphor/sensors/phosphor-hwmon/p10bmc/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@780/i2c-switch@70/i2c@3/max31785@52.conf new file mode 100644 index 000000000..d3df21599 --- /dev/null +++ b/meta-ibm/recipes-phosphor/sensors/phosphor-hwmon/p10bmc/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@780/i2c-switch@70/i2c@3/max31785@52.conf @@ -0,0 +1,17 @@ +LABEL_fan1 = "fan0_0" + +LABEL_fan2 = "fan1_0" + +LABEL_fan3 = "fan2_0" + +LABEL_fan4 = "fan3_0" + +LABEL_fan5 = "fan0_1" + +LABEL_fan6 = "fan1_1" + +LABEL_fan7 = "fan2_1" + +LABEL_fan8 = "fan3_1" + +TARGET_MODE = "RPM" diff --git a/meta-ibm/recipes-phosphor/sensors/phosphor-hwmon/rainier/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@400/max31785@52.conf b/meta-ibm/recipes-phosphor/sensors/phosphor-hwmon/rainier/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@400/max31785@52.conf deleted file mode 100644 index c3b9db146..000000000 --- a/meta-ibm/recipes-phosphor/sensors/phosphor-hwmon/rainier/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@400/max31785@52.conf +++ /dev/null @@ -1,25 +0,0 @@ -LABEL_fan1 = "fan0_0" - -LABEL_fan2 = "fan1_0" - -LABEL_fan3 = "fan2_0" - -LABEL_fan4 = "fan3_0" - -LABEL_fan5 = "fan4_0" - -LABEL_fan6 = "fan5_0" - -LABEL_fan7 = "fan0_1" - -LABEL_fan8 = "fan1_1" - -LABEL_fan9 = "fan2_1" - -LABEL_fan10 = "fan3_1" - -LABEL_fan11 = "fan4_1" - -LABEL_fan12 = "fan5_1" - -TARGET_MODE = "RPM" diff --git a/meta-ibm/recipes-phosphor/sensors/phosphor-hwmon/rainier/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@780/i2c-switch@70/i2c@3/max31785@52.conf b/meta-ibm/recipes-phosphor/sensors/phosphor-hwmon/rainier/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@780/i2c-switch@70/i2c@3/max31785@52.conf deleted file mode 100644 index d3df21599..000000000 --- a/meta-ibm/recipes-phosphor/sensors/phosphor-hwmon/rainier/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@780/i2c-switch@70/i2c@3/max31785@52.conf +++ /dev/null @@ -1,17 +0,0 @@ -LABEL_fan1 = "fan0_0" - -LABEL_fan2 = "fan1_0" - -LABEL_fan3 = "fan2_0" - -LABEL_fan4 = "fan3_0" - -LABEL_fan5 = "fan0_1" - -LABEL_fan6 = "fan1_1" - -LABEL_fan7 = "fan2_1" - -LABEL_fan8 = "fan3_1" - -TARGET_MODE = "RPM" diff --git a/meta-ibm/recipes-phosphor/sensors/phosphor-hwmon_%.bbappend b/meta-ibm/recipes-phosphor/sensors/phosphor-hwmon_%.bbappend index 8e4d5f621..8841019e5 100644 --- a/meta-ibm/recipes-phosphor/sensors/phosphor-hwmon_%.bbappend +++ b/meta-ibm/recipes-phosphor/sensors/phosphor-hwmon_%.bbappend @@ -74,7 +74,7 @@ CHIPS_witherspoon-tacoma = " \ bus@1e78a000/i2c-bus@500/tmp275@4a \ " -CHIPS_rainier = " \ +CHIPS_p10bmc = " \ bus@1e78a000/i2c-bus@400/max31785@52 \ bus@1e78a000/i2c-bus@780/i2c-switch@70/i2c@3/max31785@52 \ " @@ -110,7 +110,7 @@ SYSTEMD_ENVIRONMENT_FILE_${PN}_append_ibm-ac-server = " ${@compose_list(d, 'ENVS SYSTEMD_ENVIRONMENT_FILE_${PN}_append_ibm-ac-server = " ${@compose_list(d, 'ENVS', 'OCCITEMS')}" SYSTEMD_ENVIRONMENT_FILE_${PN}_append_mihawk = " ${@compose_list(d, 'ENVS', 'ITEMS')}" SYSTEMD_ENVIRONMENT_FILE_${PN}_append_mihawk = " ${@compose_list(d, 'ENVS', 'OCCITEMS')}" -SYSTEMD_ENVIRONMENT_FILE_${PN}_append_rainier = " ${@compose_list(d, 'ENVS', 'ITEMS')}" +SYSTEMD_ENVIRONMENT_FILE_${PN}_append_p10bmc = " ${@compose_list(d, 'ENVS', 'ITEMS')}" # Enable and install the max31785-msl package PACKAGECONFIG_append_ibm-ac-server = " max31785-msl" diff --git a/meta-ibm/recipes-phosphor/sensors/phosphor-virtual-sensor/p10bmc/virtual_sensor_config.json b/meta-ibm/recipes-phosphor/sensors/phosphor-virtual-sensor/p10bmc/virtual_sensor_config.json new file mode 100644 index 000000000..df51c66ab --- /dev/null +++ b/meta-ibm/recipes-phosphor/sensors/phosphor-virtual-sensor/p10bmc/virtual_sensor_config.json @@ -0,0 +1,31 @@ +[ + { + "Desc": + { + "Name": "Ambient_Virtual_Temp", + "SensorType": "temperature" + }, + "Threshold" : + { + "CriticalHigh": 100, + "CriticalLow": 0, + "WarningHigh": 100, + "WarningLow": 0 + }, + "Params": + { + "DbusParam": + [ + { + "ParamName": "T0", + "Desc": + { + "Name": "Ambient_0_Temp", + "SensorType": "temperature" + } + } + ] + }, + "Expression": "T0" + } +] diff --git a/meta-ibm/recipes-phosphor/sensors/phosphor-virtual-sensor/rainier/virtual_sensor_config.json b/meta-ibm/recipes-phosphor/sensors/phosphor-virtual-sensor/rainier/virtual_sensor_config.json deleted file mode 100644 index df51c66ab..000000000 --- a/meta-ibm/recipes-phosphor/sensors/phosphor-virtual-sensor/rainier/virtual_sensor_config.json +++ /dev/null @@ -1,31 +0,0 @@ -[ - { - "Desc": - { - "Name": "Ambient_Virtual_Temp", - "SensorType": "temperature" - }, - "Threshold" : - { - "CriticalHigh": 100, - "CriticalLow": 0, - "WarningHigh": 100, - "WarningLow": 0 - }, - "Params": - { - "DbusParam": - [ - { - "ParamName": "T0", - "Desc": - { - "Name": "Ambient_0_Temp", - "SensorType": "temperature" - } - } - ] - }, - "Expression": "T0" - } -] diff --git a/meta-ibm/recipes-phosphor/sensors/phosphor-virtual-sensor_%.bbappend b/meta-ibm/recipes-phosphor/sensors/phosphor-virtual-sensor_%.bbappend index 53f8905be..878a58a01 100644 --- a/meta-ibm/recipes-phosphor/sensors/phosphor-virtual-sensor_%.bbappend +++ b/meta-ibm/recipes-phosphor/sensors/phosphor-virtual-sensor_%.bbappend @@ -1,6 +1,6 @@ FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" SRC_URI += "file://virtual_sensor_config.json" -do_install_append_rainier() { +do_install_append_p10bmc() { install -m 0644 ${WORKDIR}/virtual_sensor_config.json ${D}${datadir}/phosphor-virtual-sensor/ } -- cgit v1.2.3 From 87394fe71c4dd753f6e49a2c9bffebe359773b1c Mon Sep 17 00:00:00 2001 From: Adriana Kobylak Date: Thu, 25 Mar 2021 17:12:01 +0000 Subject: ibm: openssl: Replace rainier with p10bmc The IBM rainier machine name is being replaced with the generic p10bmc. Change-Id: I5b7b173bd0255fcbe1956042cc365bf1fb6c7520 Signed-off-by: Adriana Kobylak --- meta-ibm/recipes-phosphor/openssl/openssl_%.bbappend | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta-ibm/recipes-phosphor/openssl/openssl_%.bbappend b/meta-ibm/recipes-phosphor/openssl/openssl_%.bbappend index ebe35e4b2..c0bf602d3 100644 --- a/meta-ibm/recipes-phosphor/openssl/openssl_%.bbappend +++ b/meta-ibm/recipes-phosphor/openssl/openssl_%.bbappend @@ -1,4 +1,4 @@ -# Rainier needs ibmtpm2tss which needs ibmswtpm2 which needs openssl +# P10 needs ibmtpm2tss which needs ibmswtpm2 which needs openssl # camellia support DEPRECATED_CRYPTO_FLAGS_remove_witherspoon-tacoma = " no-camellia" -DEPRECATED_CRYPTO_FLAGS_remove_rainier = " no-camellia" +DEPRECATED_CRYPTO_FLAGS_remove_p10bmc = " no-camellia" -- cgit v1.2.3 From 7d8d4c917ea8c899a9ece87908ab893448f27105 Mon Sep 17 00:00:00 2001 From: Adriana Kobylak Date: Thu, 25 Mar 2021 16:40:51 +0000 Subject: ibm: debug-collector: Replace rainier with p10bmc The IBM rainier machine name is being replaced with the generic p10bmc. Change-Id: I5e0b884b405f56da7aa746b059d2490a1de2caab Signed-off-by: Adriana Kobylak --- meta-ibm/recipes-phosphor/dump/phosphor-debug-collector_%.bbappend | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/meta-ibm/recipes-phosphor/dump/phosphor-debug-collector_%.bbappend b/meta-ibm/recipes-phosphor/dump/phosphor-debug-collector_%.bbappend index a134e350b..96b67b063 100644 --- a/meta-ibm/recipes-phosphor/dump/phosphor-debug-collector_%.bbappend +++ b/meta-ibm/recipes-phosphor/dump/phosphor-debug-collector_%.bbappend @@ -1,9 +1,9 @@ FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:" -PACKAGECONFIG_append_rainier = " host-dump-transport-pldm" +PACKAGECONFIG_append_p10bmc = " host-dump-transport-pldm" PACKAGECONFIG_append_witherspoon-tacoma = " host-dump-transport-pldm" -PACKAGECONFIG_append_rainier = " openpower-dumps-extension" +PACKAGECONFIG_append_p10bmc = " openpower-dumps-extension" PACKAGECONFIG_append_witherspoon-tacoma = " openpower-dumps-extension" SRC_URI += "file://plugins.d/ibm_elogall" @@ -34,6 +34,6 @@ install_dreport_header() { } IBM_INSTALL_POSTFUNCS = "install_ibm_plugins link_ibm_plugins" -IBM_INSTALL_POSTFUNCS_rainier += "install_dreport_header" +IBM_INSTALL_POSTFUNCS_p10bmc += "install_dreport_header" do_install[postfuncs] += "${IBM_INSTALL_POSTFUNCS}" -- cgit v1.2.3 From 36ec84829faefec9476c1cc5f9f56c721b5cfc12 Mon Sep 17 00:00:00 2001 From: Adriana Kobylak Date: Thu, 25 Mar 2021 16:45:39 +0000 Subject: ibm: network: Replace rainier with p10bmc The IBM rainier machine name is being replaced with the generic p10bmc. Change-Id: Ic76f6202f9ae43440e5e6a793ca835a45d6ab088 Signed-off-by: Adriana Kobylak --- .../network/network/p10bmc/inventory-object-map.json | 4 ++++ .../network/network/p10bmc/ncsi-netlink.service | 12 ++++++++++++ .../network/network/rainier/inventory-object-map.json | 4 ---- .../network/network/rainier/ncsi-netlink.service | 12 ------------ .../recipes-phosphor/network/phosphor-network_%.bbappend | 4 ++-- 5 files changed, 18 insertions(+), 18 deletions(-) create mode 100644 meta-ibm/recipes-phosphor/network/network/p10bmc/inventory-object-map.json create mode 100644 meta-ibm/recipes-phosphor/network/network/p10bmc/ncsi-netlink.service delete mode 100644 meta-ibm/recipes-phosphor/network/network/rainier/inventory-object-map.json delete mode 100644 meta-ibm/recipes-phosphor/network/network/rainier/ncsi-netlink.service diff --git a/meta-ibm/recipes-phosphor/network/network/p10bmc/inventory-object-map.json b/meta-ibm/recipes-phosphor/network/network/p10bmc/inventory-object-map.json new file mode 100644 index 000000000..08bb92aed --- /dev/null +++ b/meta-ibm/recipes-phosphor/network/network/p10bmc/inventory-object-map.json @@ -0,0 +1,4 @@ +{ + "eth0":"ethernet0", + "eth1":"ethernet1" +} diff --git a/meta-ibm/recipes-phosphor/network/network/p10bmc/ncsi-netlink.service b/meta-ibm/recipes-phosphor/network/network/p10bmc/ncsi-netlink.service new file mode 100644 index 000000000..890551e7a --- /dev/null +++ b/meta-ibm/recipes-phosphor/network/network/p10bmc/ncsi-netlink.service @@ -0,0 +1,12 @@ +[Unit] +Description=Stop the ethernet link failover +After=network.service + +[Service] +Restart=no +ExecStart=/usr/bin/env ncsi-netlink --set -x 2 -p 0 -c 0 +SyslogIdentifier=ncsi-netlink +Type=oneshot + +[Install] +WantedBy=multi-user.target diff --git a/meta-ibm/recipes-phosphor/network/network/rainier/inventory-object-map.json b/meta-ibm/recipes-phosphor/network/network/rainier/inventory-object-map.json deleted file mode 100644 index 08bb92aed..000000000 --- a/meta-ibm/recipes-phosphor/network/network/rainier/inventory-object-map.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "eth0":"ethernet0", - "eth1":"ethernet1" -} diff --git a/meta-ibm/recipes-phosphor/network/network/rainier/ncsi-netlink.service b/meta-ibm/recipes-phosphor/network/network/rainier/ncsi-netlink.service deleted file mode 100644 index 890551e7a..000000000 --- a/meta-ibm/recipes-phosphor/network/network/rainier/ncsi-netlink.service +++ /dev/null @@ -1,12 +0,0 @@ -[Unit] -Description=Stop the ethernet link failover -After=network.service - -[Service] -Restart=no -ExecStart=/usr/bin/env ncsi-netlink --set -x 2 -p 0 -c 0 -SyslogIdentifier=ncsi-netlink -Type=oneshot - -[Install] -WantedBy=multi-user.target diff --git a/meta-ibm/recipes-phosphor/network/phosphor-network_%.bbappend b/meta-ibm/recipes-phosphor/network/phosphor-network_%.bbappend index 150d373e6..cf88f2282 100644 --- a/meta-ibm/recipes-phosphor/network/phosphor-network_%.bbappend +++ b/meta-ibm/recipes-phosphor/network/phosphor-network_%.bbappend @@ -13,8 +13,8 @@ install_network_configuration(){ install -m 0644 ${WORKDIR}/inventory-object-map.json ${D}${datadir}/network/config.json } -SRC_URI_append_rainier = " file://inventory-object-map.json" -do_install_append_rainier(){ +SRC_URI_append_p10bmc = " file://inventory-object-map.json" +do_install_append_p10bmc(){ install_network_configuration } -- cgit v1.2.3 From 1e598d9d3be242a205b758ebbad3846e18e13ad2 Mon Sep 17 00:00:00 2001 From: Adriana Kobylak Date: Thu, 25 Mar 2021 16:45:12 +0000 Subject: ibm: mboxd: Replace rainier with p10bmc The IBM rainier machine name is being replaced with the generic p10bmc. Tested: Built rainier and verified that the mboxd service file had 64M: $ cat tmp/work/rainier-openbmc-linux-gnueabi/obmc-phosphor-image/1.0-r0/rootfs/lib/systemd/system/mboxd.service .. ExecStart=/usr/bin/env mboxd --flash 64M --window-size 1M Change-Id: I7c5bf66ac38ab0b97efa1eba7ceccba86565ed85 Signed-off-by: Adriana Kobylak --- meta-ibm/recipes-phosphor/mboxd/mboxd_%.bbappend | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-ibm/recipes-phosphor/mboxd/mboxd_%.bbappend b/meta-ibm/recipes-phosphor/mboxd/mboxd_%.bbappend index e23d8fa45..23d1718fd 100644 --- a/meta-ibm/recipes-phosphor/mboxd/mboxd_%.bbappend +++ b/meta-ibm/recipes-phosphor/mboxd/mboxd_%.bbappend @@ -1,6 +1,6 @@ MBOXD_FLASH_SIZE_ibm-ac-server = "64M" MBOXD_FLASH_SIZE_mihawk = "64M" -MBOXD_FLASH_SIZE_rainier = "64M" +MBOXD_FLASH_SIZE_p10bmc = "64M" FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" -- cgit v1.2.3 From f5d51d259d5ad05fdcd823ef5a54f7f888dd6597 Mon Sep 17 00:00:00 2001 From: Adriana Kobylak Date: Thu, 25 Mar 2021 16:34:23 +0000 Subject: ibm: systemd: Replace rainier with p10bmc The IBM rainier machine name is being replaced with the generic p10bmc. Tested: Built a rainier image and verified the journal config files were present under: rainier-openbmc-linux-gnueabi/obmc-phosphor-image/1.0-r0/rootfs/lib/systemd/ Change-Id: Ia5c1de23fdbf7b8aeed70bd450cb72254542eb41 Signed-off-by: Adriana Kobylak --- meta-ibm/recipes-core/systemd/systemd_%.bbappend | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/meta-ibm/recipes-core/systemd/systemd_%.bbappend b/meta-ibm/recipes-core/systemd/systemd_%.bbappend index 500c91df5..a6ef71d29 100644 --- a/meta-ibm/recipes-core/systemd/systemd_%.bbappend +++ b/meta-ibm/recipes-core/systemd/systemd_%.bbappend @@ -3,24 +3,24 @@ SRC_URI_append_ibm-ac-server = " file://journald-storage-policy.conf" SRC_URI_append_ibm-ac-server = " file://systemd-journald-override.conf" SRC_URI_append_ibm-ac-server = " file://journald-size-policy.conf" -SRC_URI_append_rainier = " file://journald-storage-policy.conf" -SRC_URI_append_rainier = " file://systemd-journald-override.conf" -SRC_URI_append_rainier = " file://journald-size-policy.conf" +SRC_URI_append_p10bmc = " file://journald-storage-policy.conf" +SRC_URI_append_p10bmc = " file://systemd-journald-override.conf" +SRC_URI_append_p10bmc = " file://journald-size-policy.conf" FILES_${PN}_append_ibm-ac-server = " ${systemd_unitdir}/journald.conf.d/journald-storage-policy.conf" FILES_${PN}_append_ibm-ac-server = " ${systemd_system_unitdir}/systemd-journald.service.d/systemd-journald-override.conf" FILES_${PN}_append_ibm-ac-server = " ${systemd_unitdir}/journald.conf.d/journald-size-policy.conf" -FILES_${PN}_append_rainier = " ${systemd_unitdir}/journald.conf.d/journald-storage-policy.conf" -FILES_${PN}_append_rainier = " ${systemd_system_unitdir}/systemd-journald.service.d/systemd-journald-override.conf" -FILES_${PN}_append_rainier = " ${systemd_unitdir}/journald.conf.d/journald-size-policy.conf" +FILES_${PN}_append_p10bmc = " ${systemd_unitdir}/journald.conf.d/journald-storage-policy.conf" +FILES_${PN}_append_p10bmc = " ${systemd_system_unitdir}/systemd-journald.service.d/systemd-journald-override.conf" +FILES_${PN}_append_p10bmc = " ${systemd_unitdir}/journald.conf.d/journald-size-policy.conf" do_install_append_ibm-ac-server() { install -m 644 -D ${WORKDIR}/journald-storage-policy.conf ${D}${systemd_unitdir}/journald.conf.d/journald-storage-policy.conf install -m 644 -D ${WORKDIR}/systemd-journald-override.conf ${D}${systemd_system_unitdir}/systemd-journald.service.d/systemd-journald-override.conf install -m 644 -D ${WORKDIR}/journald-size-policy.conf ${D}${systemd_unitdir}/journald.conf.d/journald-size-policy.conf } -do_install_append_rainier() { +do_install_append_p10bmc() { install -m 644 -D ${WORKDIR}/journald-storage-policy.conf ${D}${systemd_unitdir}/journald.conf.d/journald-storage-policy.conf install -m 644 -D ${WORKDIR}/systemd-journald-override.conf ${D}${systemd_system_unitdir}/systemd-journald.service.d/systemd-journald-override.conf install -m 644 -D ${WORKDIR}/journald-size-policy.conf ${D}${systemd_unitdir}/journald.conf.d/journald-size-policy.conf -- cgit v1.2.3 From 19d7f7ea42b8dffecd7656dcdf0322dd15855be6 Mon Sep 17 00:00:00 2001 From: Adriana Kobylak Date: Thu, 25 Mar 2021 16:36:15 +0000 Subject: ibm: certificate-manager: Replace rainier with p10bmc The IBM rainier machine name is being replaced with the generic p10bmc. Change-Id: I0ab8ca402117e6eae8508d3f27cac7ad8c8b8aca Signed-off-by: Adriana Kobylak --- .../certificate/phosphor-certificate-manager_%.bbappend | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-ibm/recipes-phosphor/certificate/phosphor-certificate-manager_%.bbappend b/meta-ibm/recipes-phosphor/certificate/phosphor-certificate-manager_%.bbappend index 48fc87a54..ee6b1893c 100644 --- a/meta-ibm/recipes-phosphor/certificate/phosphor-certificate-manager_%.bbappend +++ b/meta-ibm/recipes-phosphor/certificate/phosphor-certificate-manager_%.bbappend @@ -1,2 +1,2 @@ -PACKAGECONFIG_append_rainier = " ibm-hypervisor-cert" +PACKAGECONFIG_append_p10bmc = " ibm-hypervisor-cert" PACKAGECONFIG_append_witherspoon-tacoma = " ibm-hypervisor-cert" -- cgit v1.2.3 From 30c326524501c0eb633e23f3619ec33ab70a1259 Mon Sep 17 00:00:00 2001 From: Adriana Kobylak Date: Thu, 25 Mar 2021 16:43:21 +0000 Subject: ibm: obmc-phosphor-image: Replace rainier with p10bmc The IBM rainier machine name is being replaced with the generic p10bmc. Change-Id: I0a265a7eb9d763a8385a7139dae47bf2f475c672 Signed-off-by: Adriana Kobylak --- meta-ibm/recipes-phosphor/images/obmc-phosphor-image.bbappend | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-ibm/recipes-phosphor/images/obmc-phosphor-image.bbappend b/meta-ibm/recipes-phosphor/images/obmc-phosphor-image.bbappend index 433d58d68..403bfa0cc 100644 --- a/meta-ibm/recipes-phosphor/images/obmc-phosphor-image.bbappend +++ b/meta-ibm/recipes-phosphor/images/obmc-phosphor-image.bbappend @@ -1,5 +1,5 @@ OBMC_IMAGE_EXTRA_INSTALL_append_ibm-ac-server = " mboxd max31785-msl phosphor-msl-verify liberation-fonts uart-render-controller first-boot-set-hostname" -OBMC_IMAGE_EXTRA_INSTALL_append_rainier = " mboxd ibmtpm2tss" +OBMC_IMAGE_EXTRA_INSTALL_append_p10bmc = " mboxd ibmtpm2tss" OBMC_IMAGE_EXTRA_INSTALL_append_witherspoon-tacoma = " ibmtpm2tss" OBMC_IMAGE_EXTRA_INSTALL_append_mihawk = " mboxd liberation-fonts uart-render-controller " -- cgit v1.2.3 From 06911e3b0f92a81bcb2442d3857fe6bb7288132e Mon Sep 17 00:00:00 2001 From: Kumar Thangavel Date: Wed, 17 Feb 2021 12:30:20 +0530 Subject: Add hostlogger support Added hostlogger support to store console histories for all the host. TESTED : Built the openbmc image targetting Facebook Tiogapass and YosemiteV2 hardware. Verified all the host log were generated. Signed-off-by: Kumar Thangavel Change-Id: Iee494d8ce025a253f0e7f915ec893acc44fd84a1 --- .../hostlogger/phosphor-hostlogger/tiogapass/ttyS2.conf | 7 +++++++ .../phosphor-hostlogger/yosemitev2/ttyS0.conf | 7 +++++++ .../phosphor-hostlogger/yosemitev2/ttyS1.conf | 7 +++++++ .../phosphor-hostlogger/yosemitev2/ttyS2.conf | 7 +++++++ .../phosphor-hostlogger/yosemitev2/ttyS3.conf | 7 +++++++ .../hostlogger/phosphor-hostlogger_%.bbappend | 17 +++++++++++++++++ 6 files changed, 52 insertions(+) create mode 100644 meta-facebook/recipes-phosphor/hostlogger/phosphor-hostlogger/tiogapass/ttyS2.conf create mode 100644 meta-facebook/recipes-phosphor/hostlogger/phosphor-hostlogger/yosemitev2/ttyS0.conf create mode 100644 meta-facebook/recipes-phosphor/hostlogger/phosphor-hostlogger/yosemitev2/ttyS1.conf create mode 100644 meta-facebook/recipes-phosphor/hostlogger/phosphor-hostlogger/yosemitev2/ttyS2.conf create mode 100644 meta-facebook/recipes-phosphor/hostlogger/phosphor-hostlogger/yosemitev2/ttyS3.conf create mode 100644 meta-facebook/recipes-phosphor/hostlogger/phosphor-hostlogger_%.bbappend diff --git a/meta-facebook/recipes-phosphor/hostlogger/phosphor-hostlogger/tiogapass/ttyS2.conf b/meta-facebook/recipes-phosphor/hostlogger/phosphor-hostlogger/tiogapass/ttyS2.conf new file mode 100644 index 000000000..5716c4a60 --- /dev/null +++ b/meta-facebook/recipes-phosphor/hostlogger/phosphor-hostlogger/tiogapass/ttyS2.conf @@ -0,0 +1,7 @@ +SOCKET_ID= +BUF_MAXSIZE=3000 +BUF_MAXTIME=0 +FLUSH_FULL=false +HOST_STATE=/xyz/openbmc_project/state/host0 +OUT_DIR=/var/lib/obmc/hostlogs/host0 +MAX_FILES=10 diff --git a/meta-facebook/recipes-phosphor/hostlogger/phosphor-hostlogger/yosemitev2/ttyS0.conf b/meta-facebook/recipes-phosphor/hostlogger/phosphor-hostlogger/yosemitev2/ttyS0.conf new file mode 100644 index 000000000..a9e5e4429 --- /dev/null +++ b/meta-facebook/recipes-phosphor/hostlogger/phosphor-hostlogger/yosemitev2/ttyS0.conf @@ -0,0 +1,7 @@ +SOCKET_ID=host0 +BUF_MAXSIZE=3000 +BUF_MAXTIME=0 +FLUSH_FULL=false +HOST_STATE=/xyz/openbmc_project/state/host1 +OUT_DIR=/var/lib/obmc/hostlogs/host1 +MAX_FILES=10 diff --git a/meta-facebook/recipes-phosphor/hostlogger/phosphor-hostlogger/yosemitev2/ttyS1.conf b/meta-facebook/recipes-phosphor/hostlogger/phosphor-hostlogger/yosemitev2/ttyS1.conf new file mode 100644 index 000000000..78ea5bfa0 --- /dev/null +++ b/meta-facebook/recipes-phosphor/hostlogger/phosphor-hostlogger/yosemitev2/ttyS1.conf @@ -0,0 +1,7 @@ +SOCKET_ID=host1 +BUF_MAXSIZE=3000 +BUF_MAXTIME=0 +FLUSH_FULL=false +HOST_STATE=/xyz/openbmc_project/state/host2 +OUT_DIR=/var/lib/obmc/hostlogs/host2 +MAX_FILES=10 diff --git a/meta-facebook/recipes-phosphor/hostlogger/phosphor-hostlogger/yosemitev2/ttyS2.conf b/meta-facebook/recipes-phosphor/hostlogger/phosphor-hostlogger/yosemitev2/ttyS2.conf new file mode 100644 index 000000000..2bcc641a4 --- /dev/null +++ b/meta-facebook/recipes-phosphor/hostlogger/phosphor-hostlogger/yosemitev2/ttyS2.conf @@ -0,0 +1,7 @@ +SOCKET_ID=host2 +BUF_MAXSIZE=3000 +BUF_MAXTIME=0 +FLUSH_FULL=false +HOST_STATE=/xyz/openbmc_project/state/host3 +OUT_DIR=/var/lib/obmc/hostlogs/host3 +MAX_FILES=10 diff --git a/meta-facebook/recipes-phosphor/hostlogger/phosphor-hostlogger/yosemitev2/ttyS3.conf b/meta-facebook/recipes-phosphor/hostlogger/phosphor-hostlogger/yosemitev2/ttyS3.conf new file mode 100644 index 000000000..59bdb866e --- /dev/null +++ b/meta-facebook/recipes-phosphor/hostlogger/phosphor-hostlogger/yosemitev2/ttyS3.conf @@ -0,0 +1,7 @@ +SOCKET_ID=host3 +BUF_MAXSIZE=3000 +BUF_MAXTIME=0 +FLUSH_FULL=false +HOST_STATE=/xyz/openbmc_project/state/host4 +OUT_DIR=/var/lib/obmc/hostlogs/host4 +MAX_FILES=10 diff --git a/meta-facebook/recipes-phosphor/hostlogger/phosphor-hostlogger_%.bbappend b/meta-facebook/recipes-phosphor/hostlogger/phosphor-hostlogger_%.bbappend new file mode 100644 index 000000000..3c280ceba --- /dev/null +++ b/meta-facebook/recipes-phosphor/hostlogger/phosphor-hostlogger_%.bbappend @@ -0,0 +1,17 @@ +FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" + +SRC_URI += "file://ttyS2.conf" + +SRC_URI_append_yosemitev2 += "file://ttyS0.conf" +SRC_URI_append_yosemitev2 += "file://ttyS1.conf" +SRC_URI_append_yosemitev2 += "file://ttyS3.conf" + +do_install_append() { + + # Install the configurations + install -m 0755 -d ${D}${sysconfdir}/${BPN} + install -m 0644 ${WORKDIR}/*.conf ${D}${sysconfdir}/${BPN}/ + + # Remove upstream-provided default configuration + rm -f ${D}${sysconfdir}/${BPN}/ttyVUART0.conf +} -- cgit v1.2.3 From a5fae32d20d4d6555510bd473dce1193691d2ed2 Mon Sep 17 00:00:00 2001 From: Patrick Williams Date: Sat, 20 Feb 2021 10:32:31 -0600 Subject: inspur: fp5280g2: move mac2 to machine config We have a distro feature used within u-boot-aspeed to control the use of MAC2. This is effectively a function of the machine and not a function of the distro. Move the 'require' statement from the openbmc-fp5280g2 distro into the fp5280g2 machine config to reflect this. Signed-off-by: Patrick Williams Change-Id: I03ce75d4d8288433cded9b8b5c5eb61763eafdfe --- meta-inspur/meta-fp5280g2/conf/distro/openbmc-fp5280g2.conf | 1 - meta-inspur/meta-fp5280g2/conf/machine/fp5280g2.conf | 2 ++ 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/meta-inspur/meta-fp5280g2/conf/distro/openbmc-fp5280g2.conf b/meta-inspur/meta-fp5280g2/conf/distro/openbmc-fp5280g2.conf index de0682cf6..95edf37d9 100644 --- a/meta-inspur/meta-fp5280g2/conf/distro/openbmc-fp5280g2.conf +++ b/meta-inspur/meta-fp5280g2/conf/distro/openbmc-fp5280g2.conf @@ -1,3 +1,2 @@ require conf/distro/openbmc-openpower.conf -require conf/distro/include/phosphor-aspeednic-use-mac2.inc require conf/distro/include/inspur-distrovars.inc diff --git a/meta-inspur/meta-fp5280g2/conf/machine/fp5280g2.conf b/meta-inspur/meta-fp5280g2/conf/machine/fp5280g2.conf index 193336888..8c66a4976 100644 --- a/meta-inspur/meta-fp5280g2/conf/machine/fp5280g2.conf +++ b/meta-inspur/meta-fp5280g2/conf/machine/fp5280g2.conf @@ -13,3 +13,5 @@ require conf/machine/include/ast2500.inc require conf/machine/include/obmc-bsp-common.inc require conf/machine/include/openpower.inc require conf/machine/include/p9.inc + +require conf/distro/include/phosphor-aspeednic-use-mac2.inc -- cgit v1.2.3 From fbde0de62a53c75d8bdd7a6d644636694a075f5b Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Wed, 31 Mar 2021 20:30:34 +0000 Subject: phosphor-networkd: srcrev bump 983da5568c..359623e2af Johnathan Mantey (1): Improved IPv6 netmask parsing Change-Id: Ib1f8fc86e57be7a873ea438f2e7824b70fde0e72 Signed-off-by: Andrew Geissler --- meta-phosphor/classes/phosphor-networkd-rev.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/classes/phosphor-networkd-rev.bbclass b/meta-phosphor/classes/phosphor-networkd-rev.bbclass index f9e0e89d3..4be557848 100644 --- a/meta-phosphor/classes/phosphor-networkd-rev.bbclass +++ b/meta-phosphor/classes/phosphor-networkd-rev.bbclass @@ -1,2 +1,2 @@ SRC_URI += "git://github.com/openbmc/phosphor-networkd" -SRCREV = "983da5568c70a75d0c0c2c2d05ee8e497d6cd4f6" +SRCREV = "359623e2af84d63b4d37e15a14427f42781146ac" -- cgit v1.2.3 From 21967fa19f5a0feb13a79708ea8b9879feb2cbf8 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Thu, 1 Apr 2021 07:11:43 +0000 Subject: telemetry: srcrev bump 9f9ff90a39..d7cebdd37f Krzysztof Grobelny (1): updated MAINTAINERS Change-Id: Id4664f51fef547e8bc481b52b6d4d2f3032d0966 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/telemetry/telemetry_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/telemetry/telemetry_git.bb b/meta-phosphor/recipes-phosphor/telemetry/telemetry_git.bb index 5986cf052..3ee48cc4d 100644 --- a/meta-phosphor/recipes-phosphor/telemetry/telemetry_git.bb +++ b/meta-phosphor/recipes-phosphor/telemetry/telemetry_git.bb @@ -8,7 +8,7 @@ LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" SRC_URI = "git://github.com/openbmc/telemetry" PV = "1.0+git${SRCPV}" -SRCREV = "9f9ff90a39219ff3a2f1179f74fc9a6dc857e5ab" +SRCREV = "d7cebdd37fade28b0efd34bb9d641135bff758a0" S = "${WORKDIR}/git" -- cgit v1.2.3 From 56d0f4066a15af4a20e3afeb1c5676316d5b0071 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Thu, 1 Apr 2021 11:50:54 +0000 Subject: phosphor-bmc-code-mgmt: srcrev bump 447d0daa6e..6e9fb1d6ec Lei YU (2): version.hpp: Pass const reference Add BIOS DBus object Change-Id: Iaf03e09ff39eaa3fed20e23f6193ee72639cb77f Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/flash/phosphor-software-manager.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/flash/phosphor-software-manager.inc b/meta-phosphor/recipes-phosphor/flash/phosphor-software-manager.inc index 1b2e90810..2f57adae7 100644 --- a/meta-phosphor/recipes-phosphor/flash/phosphor-software-manager.inc +++ b/meta-phosphor/recipes-phosphor/flash/phosphor-software-manager.inc @@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/phosphor-bmc-code-mgmt" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" SRC_URI += "git://github.com/openbmc/phosphor-bmc-code-mgmt" -SRCREV = "447d0daa6ed1855a9fcd077f17665ff8d9683db3" +SRCREV = "6e9fb1d6ec428d1cc05c78b9b394b214b46c0364" -- cgit v1.2.3 From 34808b133c05fd0faac1f1ed09df4c83395f1d58 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Thu, 1 Apr 2021 12:11:47 +0000 Subject: phosphor-led-manager: srcrev bump 52ad07b2a2..4b06201049 George Liu (1): Add meson build Change-Id: Ib07b0c9dd4bf5e1a2ed5e2553eed9954c1dd1a45 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/leds/phosphor-led-manager.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager.inc b/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager.inc index e06def185..e3478de42 100644 --- a/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager.inc +++ b/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager.inc @@ -2,4 +2,4 @@ HOMEPAGE = "http://github.com/openbmc/phosphor-led-manager" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" SRC_URI += "git://github.com/openbmc/phosphor-led-manager" -SRCREV = "52ad07b2a2d58c9c9cf7c9999fd8d5ced95b090b" +SRCREV = "4b06201049f5f1199128c7a373df5f065cf11301" -- cgit v1.2.3 From 6a6f667791e8007f99da427b5189600ae38862be Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Thu, 1 Apr 2021 13:40:24 +0000 Subject: openpower-vpd-parser: srcrev bump 887a42aded..2fe709f110 Andrew Geissler (1): support new fitconfig u-boot syntax Change-Id: I3440a111df98eca1477a29b98aa83add0ade7b78 Signed-off-by: Andrew Geissler --- meta-openpower/recipes-phosphor/vpd/openpower-fru-vpd.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-openpower/recipes-phosphor/vpd/openpower-fru-vpd.inc b/meta-openpower/recipes-phosphor/vpd/openpower-fru-vpd.inc index 554e67c72..1d1208af6 100644 --- a/meta-openpower/recipes-phosphor/vpd/openpower-fru-vpd.inc +++ b/meta-openpower/recipes-phosphor/vpd/openpower-fru-vpd.inc @@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/openpower-vpd-parser" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" SRC_URI += "git://github.com/openbmc/openpower-vpd-parser" -SRCREV = "887a42adeda24a05215923208b645ac6a59fdf6e" +SRCREV = "2fe709f11031c9f447283aaa5316c4d08ba7c34e" -- cgit v1.2.3 From f1ca21e4a219634103492c51851706b4a355e4ca Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Thu, 1 Apr 2021 14:40:58 +0000 Subject: phosphor-fan-presence: srcrev bump c9ec25e603..623635c62f Matt Spinler (2): monitor: Removed unused exception class monitor: Create count timer Change-Id: I662aad4ac3f2656f7ba4e429c75411ff24504d28 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/fans/phosphor-fan.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/fans/phosphor-fan.inc b/meta-phosphor/recipes-phosphor/fans/phosphor-fan.inc index 7a28d5fb2..67a5dfe2f 100644 --- a/meta-phosphor/recipes-phosphor/fans/phosphor-fan.inc +++ b/meta-phosphor/recipes-phosphor/fans/phosphor-fan.inc @@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/phosphor-fan-presence" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" SRC_URI += "git://github.com/openbmc/phosphor-fan-presence" -SRCREV = "c9ec25e603d1ee03818c0f7cdec70c3aa79d74d5" +SRCREV = "623635c62f229008400e69d6cbfdb84c12610807" -- cgit v1.2.3 From 32c00ff5910965ea116ce90a10e78f1545d1149b Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Wed, 31 Mar 2021 23:11:34 +0000 Subject: phosphor-nvme: srcrev bump 93455337cb..fdffe5c37f Brandon Kim (1): nvme_manager: Reduce setFaultLEDs D-Bus calls Change-Id: I15c06d1728aea4d081dd1be685634e4941e1300f Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/sensors/phosphor-nvme_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/sensors/phosphor-nvme_git.bb b/meta-phosphor/recipes-phosphor/sensors/phosphor-nvme_git.bb index 26c674c0a..fb4035406 100644 --- a/meta-phosphor/recipes-phosphor/sensors/phosphor-nvme_git.bb +++ b/meta-phosphor/recipes-phosphor/sensors/phosphor-nvme_git.bb @@ -15,7 +15,7 @@ DEPENDS += "phosphor-logging" DEPENDS += "nlohmann-json" SRC_URI = "git://github.com/openbmc/phosphor-nvme.git;protocol=git" -SRCREV = "93455337cbf9b005e761c15bd90bdbe6b13484b8" +SRCREV = "fdffe5c37f0d1feaa90558433f688c3757d2e79a" S = "${WORKDIR}/git" SYSTEMD_SERVICE_${PN} = "xyz.openbmc_project.nvme.manager.service" -- cgit v1.2.3 From 9836f064a44a2ad09b4e0fa18b3fb3824456b32c Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Thu, 1 Apr 2021 16:11:15 +0000 Subject: phosphor-virtual-sensor: srcrev bump 2b56ddb38d..187582bd2c Harvey Wu (1): dbusUtils: add try catch to catch error when getDbusProperty failed Change-Id: Ia4f304d978864825fa00e35d3bad288d0516c4c1 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/sensors/phosphor-virtual-sensor_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/sensors/phosphor-virtual-sensor_git.bb b/meta-phosphor/recipes-phosphor/sensors/phosphor-virtual-sensor_git.bb index 68c9f74d5..58137500b 100644 --- a/meta-phosphor/recipes-phosphor/sensors/phosphor-virtual-sensor_git.bb +++ b/meta-phosphor/recipes-phosphor/sensors/phosphor-virtual-sensor_git.bb @@ -16,7 +16,7 @@ DEPENDS += "nlohmann-json" DEPENDS += "exprtk" SRC_URI = "git://github.com/openbmc/phosphor-virtual-sensor.git;protocol=git" -SRCREV = "2b56ddb38d7446281c18786b5e280ae30f5f7b35" +SRCREV = "187582bd2c1d55199d2f65f33b37b8d65b452ee6" S = "${WORKDIR}/git" SYSTEMD_SERVICE_${PN} = "phosphor-virtual-sensor.service" -- cgit v1.2.3 From 747b23634a35f057ae20e112f4b34d32a0059c58 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Thu, 1 Apr 2021 16:31:06 +0000 Subject: phosphor-power: srcrev bump 8b7786afc4..81a2f90b9c Shawn McCarney (1): regulators: Create error log entries Change-Id: Ied336e2f2f6f37a5f8e958d2296d94f142b773f6 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/power/phosphor-power.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/power/phosphor-power.inc b/meta-phosphor/recipes-phosphor/power/phosphor-power.inc index dd7fe5d89..68a9b9745 100644 --- a/meta-phosphor/recipes-phosphor/power/phosphor-power.inc +++ b/meta-phosphor/recipes-phosphor/power/phosphor-power.inc @@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/phosphor-power" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" SRC_URI += "git://github.com/openbmc/phosphor-power" -SRCREV = "8b7786afc411da4f06e130fc685631021bdd41ea" +SRCREV = "81a2f90b9c205068b0700a2bda35fb2b3d2ede00" -- cgit v1.2.3 From e3f440e8368c0f99e3d3cad7545fe7464aa64432 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Thu, 1 Apr 2021 19:41:20 +0000 Subject: dbus-sensors: srcrev bump ba6379336d..5a3b3f8a74 Konstantin Aladyshev (2): hwmontemp: Add LM75A device to sensor types hwmontemp: Add LM95234 device to sensor types Change-Id: I4359b1cbd2b34e35ade0c0e9cf05c631ef77df80 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/sensors/dbus-sensors_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/sensors/dbus-sensors_git.bb b/meta-phosphor/recipes-phosphor/sensors/dbus-sensors_git.bb index 3beace84d..39120eded 100644 --- a/meta-phosphor/recipes-phosphor/sensors/dbus-sensors_git.bb +++ b/meta-phosphor/recipes-phosphor/sensors/dbus-sensors_git.bb @@ -2,7 +2,7 @@ SUMMARY = "dbus-sensors" DESCRIPTION = "Dbus Sensor Services Configured from D-Bus" SRC_URI = "git://github.com/openbmc/dbus-sensors.git" -SRCREV = "ba6379336dccd7cc3e4ab244e8159a71bdea7801" +SRCREV = "5a3b3f8a743d4a8e2db9991a3808d82d528264a1" PV = "0.1+git${SRCPV}" -- cgit v1.2.3 From 35a7c497e370f5f286ca0f3a2c04d6166cf062ce Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Thu, 1 Apr 2021 19:50:51 +0000 Subject: entity-manager: srcrev bump 7798712404..97353ed262 Johnathan Mantey (1): Improve initialization of I2C sensors Konstantin Aladyshev (2): entity-manager: Add lm75a support entity-manager: Add lm95234 support Change-Id: Ia94521289b30c178853268a5de66dc9223494544 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/configuration/entity-manager_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/configuration/entity-manager_git.bb b/meta-phosphor/recipes-phosphor/configuration/entity-manager_git.bb index b82d18e07..0fb63f2ae 100644 --- a/meta-phosphor/recipes-phosphor/configuration/entity-manager_git.bb +++ b/meta-phosphor/recipes-phosphor/configuration/entity-manager_git.bb @@ -3,7 +3,7 @@ DESCRIPTION = "Entity Manager provides d-bus configuration data \ and configures system sensors" SRC_URI = "git://github.com/openbmc/entity-manager.git file://blocklist.json" -SRCREV = "779871240461808a9a52e48343d23551fc125ff9" +SRCREV = "97353ed26200a7d1c29d8e85983fb7d9bd7b94aa" PV = "0.1+git${SRCPV}" LICENSE = "Apache-2.0" -- cgit v1.2.3 From d665f18d5da4b519d42ef7259874c71139516ba6 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Thu, 1 Apr 2021 20:50:48 +0000 Subject: phosphor-host-postd: srcrev bump ba5258f715..e2abf44290 Nan Zhou (1): fix 7seg to use the postcode_t type Change-Id: I6bbbaa5f810b69d7fb7f0257b19c3e4e9b44c13a Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/host/phosphor-host-postd_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/host/phosphor-host-postd_git.bb b/meta-phosphor/recipes-phosphor/host/phosphor-host-postd_git.bb index 4ea8bdff4..74b7b7d1b 100644 --- a/meta-phosphor/recipes-phosphor/host/phosphor-host-postd_git.bb +++ b/meta-phosphor/recipes-phosphor/host/phosphor-host-postd_git.bb @@ -20,7 +20,7 @@ DEPENDS += "systemd" S = "${WORKDIR}/git" SRC_URI = "git://github.com/openbmc/phosphor-host-postd" -SRCREV = "ba5258f7158e8a0e61043290aff0873358509158" +SRCREV = "e2abf4429059b7ee3f90cc07f233a66b3022a176" SNOOP_DEVICE ?= "aspeed-lpc-snoop0" POST_CODE_BYTES ?= "1" -- cgit v1.2.3 From 93c15b8eefbebe5f182a04d7111a1b733a2253cc Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Thu, 1 Apr 2021 21:00:58 +0000 Subject: bmcweb: srcrev bump 4df1bee0bd..a8c4ce95bd AppaRao Puli (1): Move SystemBus init to early stage Ed Tanous (2): Add common error for imprecise matching Move requestRoutes to asyncResp Wludzik, Jozef (1): Add POST and DELETE in MetricReportDefinitions Change-Id: I4e6ab5913265850d6bf4c9c96f75df739c1814e1 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb b/meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb index 102d6d3de..b26cec038 100644 --- a/meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb +++ b/meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb @@ -13,7 +13,7 @@ LIC_FILES_CHKSUM = "file://LICENCE;md5=a6a4edad4aed50f39a66d098d74b265b" SRC_URI = "git://github.com/openbmc/bmcweb.git" PV = "1.0+git${SRCPV}" -SRCREV = "4df1bee0bdc9d71043b51872875d3d22b26ab68f" +SRCREV = "a8c4ce95bd2f4fee4544a57ed86ace3e257c9f24" S = "${WORKDIR}/git" -- cgit v1.2.3 From b19a57fc39f3da4d9380d00c4b9793567eb6ffcf Mon Sep 17 00:00:00 2001 From: "Jason M. Bills" Date: Mon, 29 Mar 2021 17:03:24 -0700 Subject: meta-intel-openbmc: Remove the raw PECI bmcweb option The raw PECI option is removed from bmcweb, so remove it from here. Change-Id: I8ab02cff96469a156e4ec6aa2ba6943b0fb9216f Signed-off-by: Jason M. Bills --- .../meta-common/recipes-phosphor/interfaces/bmcweb_%.bbappend | 1 - 1 file changed, 1 deletion(-) diff --git a/meta-intel-openbmc/meta-common/recipes-phosphor/interfaces/bmcweb_%.bbappend b/meta-intel-openbmc/meta-common/recipes-phosphor/interfaces/bmcweb_%.bbappend index 4e24bab9e..bd97c35f4 100644 --- a/meta-intel-openbmc/meta-common/recipes-phosphor/interfaces/bmcweb_%.bbappend +++ b/meta-intel-openbmc/meta-common/recipes-phosphor/interfaces/bmcweb_%.bbappend @@ -1,5 +1,4 @@ EXTRA_OEMESON += "-Dredfish-cpu-log=enabled \ - -Dredfish-raw-peci=enabled \ -Dredfish-bmc-journal=enabled \ -Drest=disabled" -- cgit v1.2.3 From 67edcddc403be179e4fa51bc90ca2708e9d8821b Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Fri, 2 Apr 2021 14:20:56 +0000 Subject: pldm: srcrev bump a6daacb5e0..61761d96ca Corey Swenson (1): pldmbios: Add BIOS attributes huge_page_count lmb_size mfg_flags Change-Id: I6e180b334dd2a8349b7cee754c7f28bbe20cb090 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/pldm/pldm.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/pldm/pldm.inc b/meta-phosphor/recipes-phosphor/pldm/pldm.inc index 2c1e4a6fb..d719553b3 100644 --- a/meta-phosphor/recipes-phosphor/pldm/pldm.inc +++ b/meta-phosphor/recipes-phosphor/pldm/pldm.inc @@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/pldm" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" SRC_URI = "git://github.com/openbmc/pldm" -SRCREV = "a6daacb5e0304d4acf17de19da4fd4843feee598" +SRCREV = "61761d96ca16fc5b178caf3dec660d312d597f74" -- cgit v1.2.3 From df4738e0e4ffd3f04c44fdf78c31fa7d9e14c183 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Mon, 5 Apr 2021 16:22:24 +0000 Subject: dbus-sensors: srcrev bump 5a3b3f8a74..7ea918f22b Josh Lehan (3): Add external write hook to Sensor Add timer expiration feature to ExternalSensor README: add ExternalSensor documentation link Zev Weiss (1): Add support for Nuvoton w83773g temp sensor Zhikui Ren (1): ExitAirTemp: use weak_ptr to fix memory leak Change-Id: I1249e8dcc828424ca91e6dc4e3ceff43e3ea3cde Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/sensors/dbus-sensors_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/sensors/dbus-sensors_git.bb b/meta-phosphor/recipes-phosphor/sensors/dbus-sensors_git.bb index 39120eded..581a6291c 100644 --- a/meta-phosphor/recipes-phosphor/sensors/dbus-sensors_git.bb +++ b/meta-phosphor/recipes-phosphor/sensors/dbus-sensors_git.bb @@ -2,7 +2,7 @@ SUMMARY = "dbus-sensors" DESCRIPTION = "Dbus Sensor Services Configured from D-Bus" SRC_URI = "git://github.com/openbmc/dbus-sensors.git" -SRCREV = "5a3b3f8a743d4a8e2db9991a3808d82d528264a1" +SRCREV = "7ea918f22b7df400dd11f909342ac4d256536000" PV = "0.1+git${SRCPV}" -- cgit v1.2.3 From 26f709974ecc7ac6fdc57f9ffc034dc0ddbb9aac Mon Sep 17 00:00:00 2001 From: Joel Stanley Date: Wed, 31 Mar 2021 13:11:01 +1030 Subject: linux-nuvoton: JFFS2 fix, Quanta GBS, NPCM Ethernet fix This moves to the latest commit in dev-5.10, which includes a fix for JFFS2 on overlayfs and adds the Quanta GBS machine. William A. Kennington III (2): net: npcm: Support for fixed PHYs net: npcm: Remove superfluous logging George Hung (1): ARM: dts: nuvoton: Add Quanta GBS BMC Device Tree Joel Stanley (1): jffs2: Hook up splice_write callback Change-Id: Ib3aa49a2e22c1bb3f7cef4d7bf70c2e6999d3f52 Signed-off-by: Joel Stanley --- meta-nuvoton/recipes-kernel/linux/linux-nuvoton_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-nuvoton/recipes-kernel/linux/linux-nuvoton_git.bb b/meta-nuvoton/recipes-kernel/linux/linux-nuvoton_git.bb index 49f2f38b1..3a06a3e4d 100644 --- a/meta-nuvoton/recipes-kernel/linux/linux-nuvoton_git.bb +++ b/meta-nuvoton/recipes-kernel/linux/linux-nuvoton_git.bb @@ -1,6 +1,6 @@ KBRANCH ?= "dev-5.10" LINUX_VERSION ?= "5.10.23" -SRCREV="6687842ee68152c5cc7b7f8ac771b25eaece056a" +SRCREV="395847787d8f955f03bcb350ed9f852346fcda4d" require linux-nuvoton.inc -- cgit v1.2.3 From 5cbb9c9fe72ec00f03a62ac162bb8ca5f5037b03 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Wed, 31 Mar 2021 15:08:43 -0500 Subject: hardknott: yocto release Latest upstream yocto has moved on to the 3.3 hardknott release Signed-off-by: Andrew Geissler Change-Id: Ieae36798d66d21c2c642931f06407d3bb2acf163 --- meta-alibaba/conf/layer.conf | 2 +- meta-alibaba/meta-thor/conf/layer.conf | 2 +- meta-amd/conf/layer.conf | 2 +- meta-amd/meta-ethanolx/conf/layer.conf | 2 +- meta-ampere/conf/layer.conf | 2 +- meta-ampere/meta-jade/conf/layer.conf | 2 +- meta-arm/conf/layer.conf | 2 +- meta-aspeed/conf/layer.conf | 2 +- meta-bytedance/conf/layer.conf | 2 +- meta-bytedance/meta-g220a/conf/layer.conf | 2 +- meta-evb/meta-evb-aspeed/meta-evb-ast2600/conf/layer.conf | 2 +- meta-evb/meta-evb-enclustra/conf/layer.conf | 2 +- meta-evb/meta-evb-enclustra/meta-evb-zx3-pm3/conf/layer.conf | 2 +- meta-evb/meta-evb-nuvoton/conf/layer.conf | 2 +- meta-evb/meta-evb-nuvoton/meta-evb-npcm750/conf/layer.conf | 2 +- meta-facebook/conf/layer.conf | 2 +- meta-facebook/meta-tiogapass/conf/layer.conf | 2 +- meta-facebook/meta-yosemitev2/conf/layer.conf | 2 +- meta-google/conf/layer.conf | 2 +- meta-hpe/conf/layer.conf | 2 +- meta-hpe/meta-dl360poc/conf/layer.conf | 2 +- meta-hpe/meta-gxp/conf/layer.conf | 2 +- meta-hxt/conf/layer.conf | 2 +- meta-ibm/conf/layer.conf | 2 +- meta-ibm/meta-palmetto/conf/layer.conf | 2 +- meta-ibm/meta-romulus/conf/layer.conf | 2 +- meta-ingrasys/conf/layer.conf | 2 +- meta-ingrasys/meta-zaius/conf/layer.conf | 2 +- meta-inspur/conf/layer.conf | 2 +- meta-inspur/meta-fp5280g2/conf/layer.conf | 2 +- meta-inspur/meta-on5263m5/conf/layer.conf | 2 +- meta-intel-openbmc/conf/layer.conf | 2 +- meta-intel-openbmc/meta-s2600wf/conf/layer.conf | 2 +- meta-inventec/conf/layer.conf | 2 +- meta-lenovo/conf/layer.conf | 2 +- meta-lenovo/meta-hr630/conf/layer.conf | 2 +- meta-lenovo/meta-hr855xg2/conf/layer.conf | 2 +- meta-microsoft/conf/layer.conf | 2 +- meta-microsoft/meta-olympus/conf/layer.conf | 2 +- meta-nuvoton/conf/layer.conf | 2 +- meta-openpower/conf/layer.conf | 2 +- meta-phosphor/conf/layer.conf | 2 +- meta-portwell/meta-neptune/conf/layer.conf | 2 +- meta-qualcomm/conf/layer.conf | 2 +- meta-quanta/conf/layer.conf | 2 +- meta-quanta/meta-f0b/conf/layer.conf | 2 +- meta-quanta/meta-gbs/conf/layer.conf | 2 +- meta-quanta/meta-gsj/conf/layer.conf | 2 +- meta-quanta/meta-olympus-nuvoton/conf/layer.conf | 2 +- meta-supermicro/conf/layer.conf | 2 +- meta-supermicro/meta-x11spi/conf/layer.conf | 2 +- meta-x86/conf/layer.conf | 2 +- meta-yadro/conf/layer.conf | 2 +- meta-yadro/meta-nicole/conf/layer.conf | 2 +- meta-yadro/meta-vesnin/conf/layer.conf | 2 +- 55 files changed, 55 insertions(+), 55 deletions(-) diff --git a/meta-alibaba/conf/layer.conf b/meta-alibaba/conf/layer.conf index 430ef5e37..435d1ddec 100644 --- a/meta-alibaba/conf/layer.conf +++ b/meta-alibaba/conf/layer.conf @@ -4,4 +4,4 @@ BBPATH .= ":${LAYERDIR}" BBFILE_COLLECTIONS += "alibaba-layer" BBFILE_PATTERN_alibaba-layer = "^${LAYERDIR}/" -LAYERSERIES_COMPAT_alibaba-layer = "dunfell gatesgarth" +LAYERSERIES_COMPAT_alibaba-layer = "gatesgarth hardknott" diff --git a/meta-alibaba/meta-thor/conf/layer.conf b/meta-alibaba/meta-thor/conf/layer.conf index 149bdf8fd..89eca706a 100644 --- a/meta-alibaba/meta-thor/conf/layer.conf +++ b/meta-alibaba/meta-thor/conf/layer.conf @@ -6,4 +6,4 @@ BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \ BBFILE_COLLECTIONS += "" BBFILE_PATTERN := "^${LAYERDIR}/" -LAYERSERIES_COMPAT = "dunfell gatesgarth" +LAYERSERIES_COMPAT = "gatesgarth hardknott" diff --git a/meta-amd/conf/layer.conf b/meta-amd/conf/layer.conf index da41da812..8caa32493 100644 --- a/meta-amd/conf/layer.conf +++ b/meta-amd/conf/layer.conf @@ -7,4 +7,4 @@ BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \ BBFILE_COLLECTIONS += "amd-layer" BBFILE_PATTERN_amd-layer = "^${LAYERDIR}/" -LAYERSERIES_COMPAT_amd-layer = "dunfell gatesgarth" +LAYERSERIES_COMPAT_amd-layer = "gatesgarth hardknott" diff --git a/meta-amd/meta-ethanolx/conf/layer.conf b/meta-amd/meta-ethanolx/conf/layer.conf index 22fc7bed0..818ab7df1 100644 --- a/meta-amd/meta-ethanolx/conf/layer.conf +++ b/meta-amd/meta-ethanolx/conf/layer.conf @@ -9,4 +9,4 @@ BBFILE_COLLECTIONS += "ethanolx-layer" BBFILE_PATTERN_ethanolx-layer = "^${LAYERDIR}/" BBFILE_PRIORITY_ethanolx-layer = "6" -LAYERSERIES_COMPAT_ethanolx-layer = "dunfell gatesgarth" +LAYERSERIES_COMPAT_ethanolx-layer = "gatesgarth hardknott" diff --git a/meta-ampere/conf/layer.conf b/meta-ampere/conf/layer.conf index 20fb0b2a5..800936b1b 100644 --- a/meta-ampere/conf/layer.conf +++ b/meta-ampere/conf/layer.conf @@ -7,4 +7,4 @@ BBFILES += "${LAYERDIR}/meta-common/recipes-*/*/*.bb \ BBFILE_COLLECTIONS += "ampere-layer" BBFILE_PATTERN_ampere-layer := "^${LAYERDIR}/" -LAYERSERIES_COMPAT_ampere-layer = "dunfell gatesgarth" +LAYERSERIES_COMPAT_ampere-layer = "gatesgarth hardknott" diff --git a/meta-ampere/meta-jade/conf/layer.conf b/meta-ampere/meta-jade/conf/layer.conf index 2cf1805c7..e8abd6921 100644 --- a/meta-ampere/meta-jade/conf/layer.conf +++ b/meta-ampere/meta-jade/conf/layer.conf @@ -7,4 +7,4 @@ BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \ BBFILE_COLLECTIONS += "jade-layer" BBFILE_PATTERN_jade-layer := "^${LAYERDIR}/" -LAYERSERIES_COMPAT_jade-layer = "dunfell gatesgarth" +LAYERSERIES_COMPAT_jade-layer = "gatesgarth hardknott" diff --git a/meta-arm/conf/layer.conf b/meta-arm/conf/layer.conf index d0311258f..d111b24b8 100644 --- a/meta-arm/conf/layer.conf +++ b/meta-arm/conf/layer.conf @@ -9,4 +9,4 @@ BBFILE_COLLECTIONS += "arm" BBFILE_PATTERN_arm = "^${LAYERDIR}/" LAYERVERSION_arm = "1" -LAYERSERIES_COMPAT_arm = "dunfell gatesgarth" +LAYERSERIES_COMPAT_arm = "gatesgarth hardknott" diff --git a/meta-aspeed/conf/layer.conf b/meta-aspeed/conf/layer.conf index 56a2dee1c..c0289753f 100644 --- a/meta-aspeed/conf/layer.conf +++ b/meta-aspeed/conf/layer.conf @@ -7,4 +7,4 @@ BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \ BBFILE_COLLECTIONS += "aspeed-layer" BBFILE_PATTERN_aspeed-layer := "^${LAYERDIR}/" LAYERVERSION_aspeed-layer = "1" -LAYERSERIES_COMPAT_aspeed-layer = "dunfell gatesgarth" +LAYERSERIES_COMPAT_aspeed-layer = "gatesgarth hardknott" diff --git a/meta-bytedance/conf/layer.conf b/meta-bytedance/conf/layer.conf index 1f36655ca..1428987a1 100644 --- a/meta-bytedance/conf/layer.conf +++ b/meta-bytedance/conf/layer.conf @@ -7,4 +7,4 @@ BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \ BBFILE_COLLECTIONS += "bytedance-layer" BBFILE_PATTERN_bytedance-layer = "^${LAYERDIR}/" -LAYERSERIES_COMPAT_bytedance-layer = "dunfell gatesgarth" +LAYERSERIES_COMPAT_bytedance-layer = "gatesgarth hardknott" diff --git a/meta-bytedance/meta-g220a/conf/layer.conf b/meta-bytedance/meta-g220a/conf/layer.conf index 8c075e539..0d28b4a09 100644 --- a/meta-bytedance/meta-g220a/conf/layer.conf +++ b/meta-bytedance/meta-g220a/conf/layer.conf @@ -7,4 +7,4 @@ BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \ BBFILE_COLLECTIONS += "g220a-layer" BBFILE_PATTERN_g220a-layer := "^${LAYERDIR}/" -LAYERSERIES_COMPAT_g220a-layer = "dunfell gatesgarth" +LAYERSERIES_COMPAT_g220a-layer = "gatesgarth hardknott" diff --git a/meta-evb/meta-evb-aspeed/meta-evb-ast2600/conf/layer.conf b/meta-evb/meta-evb-aspeed/meta-evb-ast2600/conf/layer.conf index 2a88b8aa2..75861bfe6 100644 --- a/meta-evb/meta-evb-aspeed/meta-evb-ast2600/conf/layer.conf +++ b/meta-evb/meta-evb-aspeed/meta-evb-ast2600/conf/layer.conf @@ -8,4 +8,4 @@ BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \ BBFILE_COLLECTIONS += "meta-evb-ast2600" BBFILE_PATTERN_meta-evb-ast2600 = "^${LAYERDIR}/" -LAYERSERIES_COMPAT_meta-evb-ast2600 = "dunfell gatesgarth" +LAYERSERIES_COMPAT_meta-evb-ast2600 = "gatesgarth hardknott" diff --git a/meta-evb/meta-evb-enclustra/conf/layer.conf b/meta-evb/meta-evb-enclustra/conf/layer.conf index 9dbc04525..35ca2eba3 100644 --- a/meta-evb/meta-evb-enclustra/conf/layer.conf +++ b/meta-evb/meta-evb-enclustra/conf/layer.conf @@ -3,4 +3,4 @@ BBPATH .= ":${LAYERDIR}" BBFILE_COLLECTIONS += "evb-enclustra" BBFILE_PATTERN_evb-enclustra = "" -LAYERSERIES_COMPAT_evb-enclustra = "dunfell gatesgarth" +LAYERSERIES_COMPAT_evb-enclustra = "gatesgarth hardknott" diff --git a/meta-evb/meta-evb-enclustra/meta-evb-zx3-pm3/conf/layer.conf b/meta-evb/meta-evb-enclustra/meta-evb-zx3-pm3/conf/layer.conf index 648a0bad7..6cc86c4af 100644 --- a/meta-evb/meta-evb-enclustra/meta-evb-zx3-pm3/conf/layer.conf +++ b/meta-evb/meta-evb-enclustra/meta-evb-zx3-pm3/conf/layer.conf @@ -7,4 +7,4 @@ BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \ BBFILE_COLLECTIONS += "evb-zx3-pm3" BBFILE_PATTERN_evb-zx3-pm3 = "" -LAYERSERIES_COMPAT_evb-zx3-pm3 = "dunfell gatesgarth" +LAYERSERIES_COMPAT_evb-zx3-pm3 = "gatesgarth hardknott" diff --git a/meta-evb/meta-evb-nuvoton/conf/layer.conf b/meta-evb/meta-evb-nuvoton/conf/layer.conf index 52eec4958..bdea5d674 100644 --- a/meta-evb/meta-evb-nuvoton/conf/layer.conf +++ b/meta-evb/meta-evb-nuvoton/conf/layer.conf @@ -3,4 +3,4 @@ BBPATH .= ":${LAYERDIR}" BBFILE_COLLECTIONS += "evb-nuvoton" BBFILE_PATTERN_evb-nuvoton = "" -LAYERSERIES_COMPAT_evb-nuvoton = "dunfell gatesgarth" +LAYERSERIES_COMPAT_evb-nuvoton = "gatesgarth hardknott" diff --git a/meta-evb/meta-evb-nuvoton/meta-evb-npcm750/conf/layer.conf b/meta-evb/meta-evb-nuvoton/meta-evb-npcm750/conf/layer.conf index 95fd769fb..65945156b 100644 --- a/meta-evb/meta-evb-nuvoton/meta-evb-npcm750/conf/layer.conf +++ b/meta-evb/meta-evb-nuvoton/meta-evb-npcm750/conf/layer.conf @@ -3,4 +3,4 @@ BBPATH .= ":${LAYERDIR}" BBFILE_COLLECTIONS += "evb-npcm750" BBFILE_PATTERN_evb-npcm750 = "" -LAYERSERIES_COMPAT_evb-npcm750 = "dunfell gatesgarth" +LAYERSERIES_COMPAT_evb-npcm750 = "gatesgarth hardknott" diff --git a/meta-facebook/conf/layer.conf b/meta-facebook/conf/layer.conf index aa0e82f55..c0ca08f37 100644 --- a/meta-facebook/conf/layer.conf +++ b/meta-facebook/conf/layer.conf @@ -7,4 +7,4 @@ BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \ BBFILE_COLLECTIONS += "facebook-layer" BBFILE_PATTERN_facebook-layer := "^${LAYERDIR}/" -LAYERSERIES_COMPAT_facebook-layer := "dunfell gatesgarth" +LAYERSERIES_COMPAT_facebook-layer := "gatesgarth hardknott" diff --git a/meta-facebook/meta-tiogapass/conf/layer.conf b/meta-facebook/meta-tiogapass/conf/layer.conf index 1ef53dbe9..94db7e114 100644 --- a/meta-facebook/meta-tiogapass/conf/layer.conf +++ b/meta-facebook/meta-tiogapass/conf/layer.conf @@ -8,4 +8,4 @@ BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \ BBFILE_COLLECTIONS += "tiogapass-layer" BBFILE_PATTERN_tiogapass-layer := "^${LAYERDIR}/" -LAYERSERIES_COMPAT_tiogapass-layer := "dunfell gatesgarth" +LAYERSERIES_COMPAT_tiogapass-layer := "gatesgarth hardknott" diff --git a/meta-facebook/meta-yosemitev2/conf/layer.conf b/meta-facebook/meta-yosemitev2/conf/layer.conf index 4db441577..977d5df67 100644 --- a/meta-facebook/meta-yosemitev2/conf/layer.conf +++ b/meta-facebook/meta-yosemitev2/conf/layer.conf @@ -8,4 +8,4 @@ BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \ BBFILE_COLLECTIONS += "yosemitev2-layer" BBFILE_PATTERN_yosemitev2-layer := "^${LAYERDIR}/" -LAYERSERIES_COMPAT_yosemitev2-layer := "dunfell gatesgarth" +LAYERSERIES_COMPAT_yosemitev2-layer := "gatesgarth hardknott" diff --git a/meta-google/conf/layer.conf b/meta-google/conf/layer.conf index 24a84800c..ed605d1e6 100644 --- a/meta-google/conf/layer.conf +++ b/meta-google/conf/layer.conf @@ -14,4 +14,4 @@ BBFILES_DYNAMIC += " \ BBFILE_COLLECTIONS += "google-layer" BBFILE_PATTERN_google-layer := "^${LAYERDIR}/" LAYERVERSION_google-layer = "1" -LAYERSERIES_COMPAT_google-layer = "dunfell gatesgarth" +LAYERSERIES_COMPAT_google-layer = "gatesgarth hardknott" diff --git a/meta-hpe/conf/layer.conf b/meta-hpe/conf/layer.conf index 977654c82..6ff79df8f 100644 --- a/meta-hpe/conf/layer.conf +++ b/meta-hpe/conf/layer.conf @@ -7,7 +7,7 @@ BBFILES += "${LAYERDIR}/meta-common/recipes-*/*/*.bb \ BBFILE_COLLECTIONS += "hpe-layer" BBFILE_PATTERN_hpe-layer := "^${LAYERDIR}/" -LAYERSERIES_COMPAT_hpe-layer = "dunfell gatesgarth" +LAYERSERIES_COMPAT_hpe-layer = "gatesgarth hardknott" # Provide a variable that points the base of the hpe layer. HPEBASE = '${@os.path.normpath("${LAYERDIR}/")}' diff --git a/meta-hpe/meta-dl360poc/conf/layer.conf b/meta-hpe/meta-dl360poc/conf/layer.conf index ef937d3b9..5f85f7c1c 100644 --- a/meta-hpe/meta-dl360poc/conf/layer.conf +++ b/meta-hpe/meta-dl360poc/conf/layer.conf @@ -7,4 +7,4 @@ BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \ BBFILE_COLLECTIONS += "dl360poc-layer" BBFILE_PATTERN_dl360poc-layer := "^${LAYERDIR}/" -LAYERSERIES_COMPAT_dl360poc-layer = "dunfell gatesgarth" +LAYERSERIES_COMPAT_dl360poc-layer = "gatesgarth hardknott" diff --git a/meta-hpe/meta-gxp/conf/layer.conf b/meta-hpe/meta-gxp/conf/layer.conf index af9f8af30..28f2ddc87 100644 --- a/meta-hpe/meta-gxp/conf/layer.conf +++ b/meta-hpe/meta-gxp/conf/layer.conf @@ -7,6 +7,6 @@ BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \ BBFILE_COLLECTIONS += "gxp-layer" BBFILE_PATTERN_gxp-layer = "^${LAYERDIR}/" LAYERVERSION_gxp-layer = "1" -LAYERSERIES_COMPAT_gxp-layer = "dunfell gatesgarth" +LAYERSERIES_COMPAT_gxp-layer = "gatesgarth hardknott" GXPBASE = '${@os.path.normpath("${LAYERDIR}/")}' diff --git a/meta-hxt/conf/layer.conf b/meta-hxt/conf/layer.conf index 5de44030d..bc8cd5bc0 100644 --- a/meta-hxt/conf/layer.conf +++ b/meta-hxt/conf/layer.conf @@ -4,4 +4,4 @@ BBPATH .= ":${LAYERDIR}" BBFILE_COLLECTIONS += "hxt" BBFILE_PATTERN_hxt = "" -LAYERSERIES_COMPAT_hxt = "dunfell gatesgarth" +LAYERSERIES_COMPAT_hxt = "gatesgarth hardknott" diff --git a/meta-ibm/conf/layer.conf b/meta-ibm/conf/layer.conf index 8662448e1..e8824c853 100644 --- a/meta-ibm/conf/layer.conf +++ b/meta-ibm/conf/layer.conf @@ -7,4 +7,4 @@ BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \ BBFILE_COLLECTIONS += "ibm-layer" BBFILE_PATTERN_ibm-layer := "^${LAYERDIR}/" -LAYERSERIES_COMPAT_ibm-layer = "dunfell gatesgarth" +LAYERSERIES_COMPAT_ibm-layer = "gatesgarth hardknott" diff --git a/meta-ibm/meta-palmetto/conf/layer.conf b/meta-ibm/meta-palmetto/conf/layer.conf index 724670dda..9f2df6365 100644 --- a/meta-ibm/meta-palmetto/conf/layer.conf +++ b/meta-ibm/meta-palmetto/conf/layer.conf @@ -7,4 +7,4 @@ BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \ BBFILE_COLLECTIONS += "palmetto-layer" BBFILE_PATTERN_palmetto-layer := "^${LAYERDIR}/" -LAYERSERIES_COMPAT_palmetto-layer = "dunfell gatesgarth" +LAYERSERIES_COMPAT_palmetto-layer = "gatesgarth hardknott" diff --git a/meta-ibm/meta-romulus/conf/layer.conf b/meta-ibm/meta-romulus/conf/layer.conf index 4ca0eadef..2c176f432 100644 --- a/meta-ibm/meta-romulus/conf/layer.conf +++ b/meta-ibm/meta-romulus/conf/layer.conf @@ -7,4 +7,4 @@ BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \ BBFILE_COLLECTIONS += "romulus-layer" BBFILE_PATTERN_romulus-layer := "^${LAYERDIR}/" -LAYERSERIES_COMPAT_romulus-layer = "dunfell gatesgarth" +LAYERSERIES_COMPAT_romulus-layer = "gatesgarth hardknott" diff --git a/meta-ingrasys/conf/layer.conf b/meta-ingrasys/conf/layer.conf index 1c9165c67..18a1bfaf8 100644 --- a/meta-ingrasys/conf/layer.conf +++ b/meta-ingrasys/conf/layer.conf @@ -3,4 +3,4 @@ BBPATH .= ":${LAYERDIR}" BBFILE_COLLECTIONS += "ingrasys" BBFILE_PATTERN_ingrasys := "^${LAYERDIR}/" -LAYERSERIES_COMPAT_ingrasys = "dunfell gatesgarth" +LAYERSERIES_COMPAT_ingrasys = "gatesgarth hardknott" diff --git a/meta-ingrasys/meta-zaius/conf/layer.conf b/meta-ingrasys/meta-zaius/conf/layer.conf index 92c5de5ba..d63eb76a1 100644 --- a/meta-ingrasys/meta-zaius/conf/layer.conf +++ b/meta-ingrasys/meta-zaius/conf/layer.conf @@ -7,4 +7,4 @@ BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \ BBFILE_COLLECTIONS += "zaius" BBFILE_PATTERN_zaius := "^${LAYERDIR}/" -LAYERSERIES_COMPAT_zaius = "dunfell gatesgarth" +LAYERSERIES_COMPAT_zaius = "gatesgarth hardknott" diff --git a/meta-inspur/conf/layer.conf b/meta-inspur/conf/layer.conf index ca10a79bc..14a32e923 100644 --- a/meta-inspur/conf/layer.conf +++ b/meta-inspur/conf/layer.conf @@ -7,4 +7,4 @@ BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \ BBFILE_COLLECTIONS += "inspur-layer" BBFILE_PATTERN_inspur-layer = "^${LAYERDIR}/" -LAYERSERIES_COMPAT_inspur-layer = "dunfell gatesgarth" +LAYERSERIES_COMPAT_inspur-layer = "gatesgarth hardknott" diff --git a/meta-inspur/meta-fp5280g2/conf/layer.conf b/meta-inspur/meta-fp5280g2/conf/layer.conf index 63ebcb857..18e651877 100644 --- a/meta-inspur/meta-fp5280g2/conf/layer.conf +++ b/meta-inspur/meta-fp5280g2/conf/layer.conf @@ -7,4 +7,4 @@ BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \ BBFILE_COLLECTIONS += "fp5280g2-layer" BBFILE_PATTERN_fp5280g2-layer := "^${LAYERDIR}/" -LAYERSERIES_COMPAT_fp5280g2-layer = "dunfell gatesgarth" +LAYERSERIES_COMPAT_fp5280g2-layer = "gatesgarth hardknott" diff --git a/meta-inspur/meta-on5263m5/conf/layer.conf b/meta-inspur/meta-on5263m5/conf/layer.conf index fe5d156eb..59a0a8a6a 100644 --- a/meta-inspur/meta-on5263m5/conf/layer.conf +++ b/meta-inspur/meta-on5263m5/conf/layer.conf @@ -7,4 +7,4 @@ BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \ BBFILE_COLLECTIONS += "on5263m5-layer" BBFILE_PATTERN_on5263m5-layer = "^${LAYERDIR}/" -LAYERSERIES_COMPAT_on5263m5-layer = "dunfell gatesgarth" +LAYERSERIES_COMPAT_on5263m5-layer = "gatesgarth hardknott" diff --git a/meta-intel-openbmc/conf/layer.conf b/meta-intel-openbmc/conf/layer.conf index e515b5f57..e2133be24 100644 --- a/meta-intel-openbmc/conf/layer.conf +++ b/meta-intel-openbmc/conf/layer.conf @@ -8,5 +8,5 @@ BBFILES += "${LAYERDIR}/meta-common/recipes-*/*/*.bb \ BBFILE_COLLECTIONS += "intel" BBFILE_PATTERN_intel = "^${LAYERDIR}/" LAYERVERSION_intel = "1" -LAYERSERIES_COMPAT_intel = "dunfell gatesgarth" +LAYERSERIES_COMPAT_intel = "gatesgarth hardknott" LAYERDEPENDS_intel = "phosphor-layer" diff --git a/meta-intel-openbmc/meta-s2600wf/conf/layer.conf b/meta-intel-openbmc/meta-s2600wf/conf/layer.conf index c5001beec..82a9da0ae 100644 --- a/meta-intel-openbmc/meta-s2600wf/conf/layer.conf +++ b/meta-intel-openbmc/meta-s2600wf/conf/layer.conf @@ -8,4 +8,4 @@ BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \ BBFILE_COLLECTIONS += "s2600wf" BBFILE_PATTERN_s2600wf = "" BBFILE_PRIORITY_s2600wf = "5" -LAYERSERIES_COMPAT_s2600wf = "dunfell gatesgarth" +LAYERSERIES_COMPAT_s2600wf = "gatesgarth hardknott" diff --git a/meta-inventec/conf/layer.conf b/meta-inventec/conf/layer.conf index f46b3e2af..08ca2651e 100644 --- a/meta-inventec/conf/layer.conf +++ b/meta-inventec/conf/layer.conf @@ -4,4 +4,4 @@ BBPATH .= ":${LAYERDIR}" BBFILE_COLLECTIONS += "inventec" BBFILE_PATTERN_inventec = "" -LAYERSERIES_COMPAT_inventec = "dunfell gatesgarth" +LAYERSERIES_COMPAT_inventec = "gatesgarth hardknott" diff --git a/meta-lenovo/conf/layer.conf b/meta-lenovo/conf/layer.conf index b18d1ea9b..180e9603e 100644 --- a/meta-lenovo/conf/layer.conf +++ b/meta-lenovo/conf/layer.conf @@ -12,7 +12,7 @@ BBFILES += "${LAYERDIR}/meta-common/recipes-*/*/*.bb \ BBFILE_COLLECTIONS += "lenovo-layer" BBFILE_PATTERN_lenovo-layer = "" LAYERVERSION_lenovo-layer = "1" -LAYERSERIES_COMPAT_lenovo-layer = "dunfell gatesgarth" +LAYERSERIES_COMPAT_lenovo-layer = "gatesgarth hardknott" # Provide a variable that points the base of the lenovo layer. LENOVOBASE = '${@os.path.normpath("${LAYERDIR}/")}' diff --git a/meta-lenovo/meta-hr630/conf/layer.conf b/meta-lenovo/meta-hr630/conf/layer.conf index 58bf5269c..9c1b4d652 100644 --- a/meta-lenovo/meta-hr630/conf/layer.conf +++ b/meta-lenovo/meta-hr630/conf/layer.conf @@ -11,4 +11,4 @@ BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \ BBFILE_COLLECTIONS += "hr630-layer" BBFILE_PATTERN_hr630-layer = "" BBFILE_PRIORITY_hr630-layer = "5" -LAYERSERIES_COMPAT_hr630-layer = "dunfell gatesgarth" +LAYERSERIES_COMPAT_hr630-layer = "gatesgarth hardknott" diff --git a/meta-lenovo/meta-hr855xg2/conf/layer.conf b/meta-lenovo/meta-hr855xg2/conf/layer.conf index 8402ee9f0..364143298 100644 --- a/meta-lenovo/meta-hr855xg2/conf/layer.conf +++ b/meta-lenovo/meta-hr855xg2/conf/layer.conf @@ -11,4 +11,4 @@ BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \ BBFILE_COLLECTIONS += "hr855xg2-layer" BBFILE_PATTERN_hr855xg2-layer := "^${LAYERDIR}/" BBFILE_PRIORITY_hr855xg2-layer = "5" -LAYERSERIES_COMPAT_hr855xg2-layer = "dunfell gatesgarth" +LAYERSERIES_COMPAT_hr855xg2-layer = "gatesgarth hardknott" diff --git a/meta-microsoft/conf/layer.conf b/meta-microsoft/conf/layer.conf index aa3cd789f..03c6d8fc7 100755 --- a/meta-microsoft/conf/layer.conf +++ b/meta-microsoft/conf/layer.conf @@ -3,4 +3,4 @@ BBPATH .= ":${LAYERDIR}" BBFILE_COLLECTIONS += "microsoft-layer" BBFILE_PATTERN_microsoft-layer = "" -LAYERSERIES_COMPAT_microsoft-layer = "dunfell gatesgarth" +LAYERSERIES_COMPAT_microsoft-layer = "gatesgarth hardknott" diff --git a/meta-microsoft/meta-olympus/conf/layer.conf b/meta-microsoft/meta-olympus/conf/layer.conf index 2a58334f6..1132bedd2 100755 --- a/meta-microsoft/meta-olympus/conf/layer.conf +++ b/meta-microsoft/meta-olympus/conf/layer.conf @@ -9,4 +9,4 @@ BBFILE_COLLECTIONS += "olympus-layer" BBFILE_PATTERN_olympus-layer = "^${LAYERDIR}/" BBFILE_PRIORITY_olympus-layer = "6" -LAYERSERIES_COMPAT_olympus-layer = "dunfell gatesgarth" +LAYERSERIES_COMPAT_olympus-layer = "gatesgarth hardknott" diff --git a/meta-nuvoton/conf/layer.conf b/meta-nuvoton/conf/layer.conf index eaf9a52bd..15d4b971b 100644 --- a/meta-nuvoton/conf/layer.conf +++ b/meta-nuvoton/conf/layer.conf @@ -7,4 +7,4 @@ BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \ BBFILE_COLLECTIONS += "nuvoton-layer" BBFILE_PATTERN_nuvoton-layer = "" LAYERVERSION_nuvoton-layer = "1" -LAYERSERIES_COMPAT_nuvoton-layer = "dunfell gatesgarth" +LAYERSERIES_COMPAT_nuvoton-layer = "gatesgarth hardknott" diff --git a/meta-openpower/conf/layer.conf b/meta-openpower/conf/layer.conf index 57e0925c1..6e7d5736d 100644 --- a/meta-openpower/conf/layer.conf +++ b/meta-openpower/conf/layer.conf @@ -9,4 +9,4 @@ BBFILE_COLLECTIONS += "openpower-layer" BBFILE_PATTERN_openpower-layer := "^${LAYERDIR}/" LAYERVERSION_openpower-layer = "1" LAYERDEPENDS_openpower-layer = "core phosphor-layer aspeed-layer" -LAYERSERIES_COMPAT_openpower-layer = "dunfell gatesgarth" +LAYERSERIES_COMPAT_openpower-layer = "gatesgarth hardknott" diff --git a/meta-phosphor/conf/layer.conf b/meta-phosphor/conf/layer.conf index 2292acce9..f651b2d1b 100644 --- a/meta-phosphor/conf/layer.conf +++ b/meta-phosphor/conf/layer.conf @@ -8,7 +8,7 @@ BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \ BBFILE_COLLECTIONS += "phosphor-layer" BBFILE_PATTERN_phosphor-layer := "^${LAYERDIR}/" LAYERVERSION_phosphor-layer = "1" -LAYERSERIES_COMPAT_phosphor-layer = "dunfell gatesgarth" +LAYERSERIES_COMPAT_phosphor-layer = "gatesgarth hardknott" IMAGE_FEATURES[validitems] += "tools-profile" diff --git a/meta-portwell/meta-neptune/conf/layer.conf b/meta-portwell/meta-neptune/conf/layer.conf index 4addb78a5..3ca3cac68 100644 --- a/meta-portwell/meta-neptune/conf/layer.conf +++ b/meta-portwell/meta-neptune/conf/layer.conf @@ -8,4 +8,4 @@ BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \ BBFILE_COLLECTIONS += "neptune" BBFILE_PATTERN_neptune = "" -LAYERSERIES_COMPAT_neptune = "dunfell gatesgarth" +LAYERSERIES_COMPAT_neptune = "gatesgarth hardknott" diff --git a/meta-qualcomm/conf/layer.conf b/meta-qualcomm/conf/layer.conf index 6b1ea7831..e4c872117 100644 --- a/meta-qualcomm/conf/layer.conf +++ b/meta-qualcomm/conf/layer.conf @@ -4,4 +4,4 @@ BBPATH .= ":${LAYERDIR}" BBFILE_COLLECTIONS += "qualcomm" BBFILE_PATTERN_qualcomm = "" -LAYERSERIES_COMPAT_qualcomm = "dunfell gatesgarth" +LAYERSERIES_COMPAT_qualcomm = "gatesgarth hardknott" diff --git a/meta-quanta/conf/layer.conf b/meta-quanta/conf/layer.conf index 8db4bd2e8..5ab3e2684 100644 --- a/meta-quanta/conf/layer.conf +++ b/meta-quanta/conf/layer.conf @@ -7,4 +7,4 @@ BBFILES += "${LAYERDIR}/meta-common/recipes-*/*/*.bb \ BBFILE_COLLECTIONS += "quanta-layer" BBFILE_PATTERN_quanta-layer := "^${LAYERDIR}/" -LAYERSERIES_COMPAT_quanta-layer = "dunfell gatesgarth" +LAYERSERIES_COMPAT_quanta-layer = "gatesgarth hardknott" diff --git a/meta-quanta/meta-f0b/conf/layer.conf b/meta-quanta/meta-f0b/conf/layer.conf index 05b405f93..fc0a1a720 100644 --- a/meta-quanta/meta-f0b/conf/layer.conf +++ b/meta-quanta/meta-f0b/conf/layer.conf @@ -7,4 +7,4 @@ BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \ BBFILE_COLLECTIONS += "f0b-layer" BBFILE_PATTERN_f0b-layer = "" -LAYERSERIES_COMPAT_f0b-layer = "dunfell gatesgarth" +LAYERSERIES_COMPAT_f0b-layer = "gatesgarth hardknott" diff --git a/meta-quanta/meta-gbs/conf/layer.conf b/meta-quanta/meta-gbs/conf/layer.conf index 139259636..ec03a3ad6 100644 --- a/meta-quanta/meta-gbs/conf/layer.conf +++ b/meta-quanta/meta-gbs/conf/layer.conf @@ -7,4 +7,4 @@ BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \ BBFILE_COLLECTIONS += "gbs-layer" BBFILE_PATTERN_gbs-layer := "^${LAYERDIR}/" -LAYERSERIES_COMPAT_gbs-layer = "dunfell gatesgarth" +LAYERSERIES_COMPAT_gbs-layer = "gatesgarth hardknott" diff --git a/meta-quanta/meta-gsj/conf/layer.conf b/meta-quanta/meta-gsj/conf/layer.conf index 7935f6b74..9bb671876 100644 --- a/meta-quanta/meta-gsj/conf/layer.conf +++ b/meta-quanta/meta-gsj/conf/layer.conf @@ -7,4 +7,4 @@ BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \ BBFILE_COLLECTIONS += "gsj-layer" BBFILE_PATTERN_gsj-layer := "^${LAYERDIR}/" -LAYERSERIES_COMPAT_gsj-layer = "dunfell gatesgarth" +LAYERSERIES_COMPAT_gsj-layer = "gatesgarth hardknott" diff --git a/meta-quanta/meta-olympus-nuvoton/conf/layer.conf b/meta-quanta/meta-olympus-nuvoton/conf/layer.conf index 6d8da09f8..0c2366e53 100644 --- a/meta-quanta/meta-olympus-nuvoton/conf/layer.conf +++ b/meta-quanta/meta-olympus-nuvoton/conf/layer.conf @@ -7,4 +7,4 @@ BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \ BBFILE_COLLECTIONS += "olympus-nuvoton-layer" BBFILE_PATTERN_olympus-nuvoton-layer := "^${LAYERDIR}/" -LAYERSERIES_COMPAT_olympus-nuvoton-layer = "dunfell gatesgarth" +LAYERSERIES_COMPAT_olympus-nuvoton-layer = "gatesgarth hardknott" diff --git a/meta-supermicro/conf/layer.conf b/meta-supermicro/conf/layer.conf index 23b7406ba..f46b3746d 100644 --- a/meta-supermicro/conf/layer.conf +++ b/meta-supermicro/conf/layer.conf @@ -7,5 +7,5 @@ BBFILES += "${LAYERDIR}/meta-common/recipes-*/*/*.bb \ BBFILE_COLLECTIONS += "supermicro-layer" BBFILE_PATTERN_supermicro-layer := "^${LAYERDIR}/" -LAYERSERIES_COMPAT_supermicro-layer := "dunfell gatesgarth" +LAYERSERIES_COMPAT_supermicro-layer := "gatesgarth hardknott" diff --git a/meta-supermicro/meta-x11spi/conf/layer.conf b/meta-supermicro/meta-x11spi/conf/layer.conf index 86e0a91d6..d77e82e90 100644 --- a/meta-supermicro/meta-x11spi/conf/layer.conf +++ b/meta-supermicro/meta-x11spi/conf/layer.conf @@ -8,4 +8,4 @@ BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \ BBFILE_COLLECTIONS += "x11spi" BBFILE_PATTERN_x11spi = "" -LAYERSERIES_COMPAT_x11spi = "dunfell gatesgarth" +LAYERSERIES_COMPAT_x11spi = "gatesgarth hardknott" diff --git a/meta-x86/conf/layer.conf b/meta-x86/conf/layer.conf index d10e21009..93bc49738 100644 --- a/meta-x86/conf/layer.conf +++ b/meta-x86/conf/layer.conf @@ -3,4 +3,4 @@ BBPATH .= ":${LAYERDIR}" BBFILE_COLLECTIONS += "obmc_machines_x86" BBFILE_PATTERN_obmc_machines_x86 = "" -LAYERSERIES_COMPAT_obmc_machines_x86 = "dunfell gatesgarth" +LAYERSERIES_COMPAT_obmc_machines_x86 = "gatesgarth hardknott" diff --git a/meta-yadro/conf/layer.conf b/meta-yadro/conf/layer.conf index 502a8fdc9..69a297db8 100644 --- a/meta-yadro/conf/layer.conf +++ b/meta-yadro/conf/layer.conf @@ -9,4 +9,4 @@ BBFILE_COLLECTIONS += "yadro-layer" BBFILE_PATTERN_yadro-layer = "^${LAYERDIR}/" BBFILE_PATTERN_IGNORE_EMPTY_yadro-layer = "1" -LAYERSERIES_COMPAT_yadro-layer = "dunfell gatesgarth" +LAYERSERIES_COMPAT_yadro-layer = "gatesgarth hardknott" diff --git a/meta-yadro/meta-nicole/conf/layer.conf b/meta-yadro/meta-nicole/conf/layer.conf index 6bb50b713..5159fc942 100644 --- a/meta-yadro/meta-nicole/conf/layer.conf +++ b/meta-yadro/meta-nicole/conf/layer.conf @@ -7,4 +7,4 @@ BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \ BBFILE_COLLECTIONS += "nicole-layer" BBFILE_PATTERN_nicole-layer := "^${LAYERDIR}/" -LAYERSERIES_COMPAT_nicole-layer = "dunfell gatesgarth" +LAYERSERIES_COMPAT_nicole-layer = "gatesgarth hardknott" diff --git a/meta-yadro/meta-vesnin/conf/layer.conf b/meta-yadro/meta-vesnin/conf/layer.conf index ed65950fc..47ce75ec6 100644 --- a/meta-yadro/meta-vesnin/conf/layer.conf +++ b/meta-yadro/meta-vesnin/conf/layer.conf @@ -7,4 +7,4 @@ BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \ BBFILE_COLLECTIONS += "vesnin-layer" BBFILE_PATTERN_vesnin-layer = "^${LAYERDIR}/" -LAYERSERIES_COMPAT_vesnin-layer = "dunfell gatesgarth" +LAYERSERIES_COMPAT_vesnin-layer = "gatesgarth hardknott" -- cgit v1.2.3 From bd39bf61761e73b494e69f07ae975547e8ac771e Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Wed, 31 Mar 2021 13:35:44 -0500 Subject: meta-raspberrypi: subtree update:853ccd7440..d1f191ed30 Khem Raj (3): layer.conf: Drop gatesgarth and add honister to LAYERSERIES_COMPAT gitignore: Ignore .pyc files tune-arm1176jzf-s.inc: Rework to match oe-core Mike Looijmans (3): raspberrypi-firmware: Update to 2021-02-25 linux-raspberrypi: Upgrade to 5.10.17 rpi-base: Add missing overlay_map.dtb and vc4-kms-v3d-pi4.dtbo Signed-off-by: Andrew Geissler Change-Id: Ic9ac546a343a39b164b8322a310265e118d79ea6 --- meta-raspberrypi/.gitignore | 1 + meta-raspberrypi/conf/layer.conf | 2 +- meta-raspberrypi/conf/machine/include/rpi-base.inc | 14 ++++++++------ .../conf/machine/include/tune-arm1176jzf-s.inc | 18 ++++++++++-------- .../recipes-bsp/common/raspberrypi-firmware.inc | 6 +++--- .../recipes-kernel/linux/linux-raspberrypi_5.10.bb | 4 ++-- 6 files changed, 25 insertions(+), 20 deletions(-) diff --git a/meta-raspberrypi/.gitignore b/meta-raspberrypi/.gitignore index 073cf0615..d8d50e0e7 100644 --- a/meta-raspberrypi/.gitignore +++ b/meta-raspberrypi/.gitignore @@ -6,3 +6,4 @@ build* *.log docs/_build /layers +*.pyc diff --git a/meta-raspberrypi/conf/layer.conf b/meta-raspberrypi/conf/layer.conf index aa3174a38..0f081960b 100644 --- a/meta-raspberrypi/conf/layer.conf +++ b/meta-raspberrypi/conf/layer.conf @@ -9,7 +9,7 @@ BBFILE_COLLECTIONS += "raspberrypi" BBFILE_PATTERN_raspberrypi := "^${LAYERDIR}/" BBFILE_PRIORITY_raspberrypi = "9" -LAYERSERIES_COMPAT_raspberrypi = "gatesgarth hardknott" +LAYERSERIES_COMPAT_raspberrypi = "hardknott honister" # Additional license directories. LICENSE_PATH += "${LAYERDIR}/files/custom-licenses" diff --git a/meta-raspberrypi/conf/machine/include/rpi-base.inc b/meta-raspberrypi/conf/machine/include/rpi-base.inc index 8b33a0fb7..572fe2241 100644 --- a/meta-raspberrypi/conf/machine/include/rpi-base.inc +++ b/meta-raspberrypi/conf/machine/include/rpi-base.inc @@ -15,6 +15,7 @@ XSERVER = " \ " RPI_KERNEL_DEVICETREE_OVERLAYS ?= " \ + overlays/overlay_map.dtb \ overlays/at86rf233.dtbo \ overlays/disable-bt.dtbo \ overlays/dwc2.dtbo \ @@ -44,6 +45,7 @@ RPI_KERNEL_DEVICETREE_OVERLAYS ?= " \ overlays/rpi-poe.dtbo \ overlays/vc4-fkms-v3d.dtbo \ overlays/vc4-kms-v3d.dtbo \ + overlays/vc4-kms-v3d-pi4.dtbo \ overlays/vc4-kms-dsi-7inch.dtbo \ overlays/w1-gpio.dtbo \ overlays/w1-gpio-pullup.dtbo \ @@ -110,17 +112,17 @@ def make_dtb_boot_files(d): def transform(dtb): base = os.path.basename(dtb) - if dtb.endswith('dtb'): - # eg: whatever/bcm2708-rpi-b.dtb has: - # DEPLOYDIR file: bcm2708-rpi-b.dtb - # destination: bcm2708-rpi-b.dtb - return base - elif dtb.endswith('dtbo'): + if dtb.endswith('dtbo') or base == 'overlay_map.dtb': # overlay dtb: # eg: overlays/hifiberry-amp.dtbo has: # DEPLOYDIR file: hifiberry-amp.dtbo # destination: overlays/hifiberry-amp.dtbo return '{};{}'.format(base, dtb) + elif dtb.endswith('dtb'): + # eg: whatever/bcm2708-rpi-b.dtb has: + # DEPLOYDIR file: bcm2708-rpi-b.dtb + # destination: bcm2708-rpi-b.dtb + return base return ' '.join([transform(dtb) for dtb in alldtbs.split(' ') if dtb]) diff --git a/meta-raspberrypi/conf/machine/include/tune-arm1176jzf-s.inc b/meta-raspberrypi/conf/machine/include/tune-arm1176jzf-s.inc index b6fcc59cc..b9e0377fd 100644 --- a/meta-raspberrypi/conf/machine/include/tune-arm1176jzf-s.inc +++ b/meta-raspberrypi/conf/machine/include/tune-arm1176jzf-s.inc @@ -1,15 +1,17 @@ -DEFAULTTUNE ?= "armv6" +DEFAULTTUNE ?= "arm1176jzfshf" require conf/machine/include/arm/arch-armv6.inc TUNEVALID[arm1176jzfs] = "Enable arm1176jzfs specific processor optimizations" -TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "arm1176jzfs", "-mtune=arm1176jzf-s", "", d)}" -TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "vfp", "-mfpu=vfp", "", d)}" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'arm1176jzfs', ' -mcpu=arm1176jzf-s', '', d)}" +MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'arm1176jzfs', 'armv6:', '', d)}" -AVAILTUNES += "arm1176jzfs arm1176jzfshf" +AVAILTUNES += "arm1176jzfs" ARMPKGARCH_tune-arm1176jzfs = "arm1176jzfs" -ARMPKGARCH_tune-arm1176jzfshf = "arm1176jzfs" -TUNE_FEATURES_tune-arm1176jzfs = "${TUNE_FEATURES_tune-armv6} arm1176jzfs" +TUNE_FEATURES_tune-arm1176jzfs = "arm thumb vfp arm1176jzfs" +PACKAGE_EXTRA_ARCHS_tune-arm1176jzfs = "${PACKAGE_EXTRA_ARCHS_tune-armv6} arm1176jzfs" + +AVAILTUNES += "arm1176jzfshf" +ARMPKGARCH_tune-arm1176jzfshf = "${ARMPKGARCH_tune-arm1176jzfs}" TUNE_FEATURES_tune-arm1176jzfshf = "${TUNE_FEATURES_tune-arm1176jzfs} callconvention-hard" -PACKAGE_EXTRA_ARCHS_tune-arm1176jzfs = "${PACKAGE_EXTRA_ARCHS_tune-armv6}" -PACKAGE_EXTRA_ARCHS_tune-arm1176jzfshf = "${PACKAGE_EXTRA_ARCHS_tune-armv6hf} arm1176jzfshf-vfp" +PACKAGE_EXTRA_ARCHS_tune-arm1176jzfshf = "${PACKAGE_EXTRA_ARCHS_tune-armv6thf} arm1176jzfshf-vfp" diff --git a/meta-raspberrypi/recipes-bsp/common/raspberrypi-firmware.inc b/meta-raspberrypi/recipes-bsp/common/raspberrypi-firmware.inc index 591c6157f..5cebd7c3a 100644 --- a/meta-raspberrypi/recipes-bsp/common/raspberrypi-firmware.inc +++ b/meta-raspberrypi/recipes-bsp/common/raspberrypi-firmware.inc @@ -1,9 +1,9 @@ -RPIFW_DATE ?= "20210205" -SRCREV ?= "7d91570f20378afc9414107dccdad70705a8a342" +RPIFW_DATE ?= "20210225" +SRCREV ?= "5985247fb75681985547641d66196c77499f26b9" RPIFW_SRC_URI ?= "https://github.com/raspberrypi/firmware/archive/${SRCREV}.tar.gz;downloadfilename=raspberrypi-firmware-${SRCREV}.tar.gz" RPIFW_S ?= "${WORKDIR}/firmware-${SRCREV}" SRC_URI = "${RPIFW_SRC_URI}" -SRC_URI[sha256sum] = "2cc9bf2cbcab8283db2eb53ed2a49372b70fe76538994c32f6d261e2da3e9ff4" +SRC_URI[sha256sum] = "3e2c00e1473bd70e808134925e1b25cd765789d9f0e0683749135b124d835000" PV = "${RPIFW_DATE}" diff --git a/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_5.10.bb b/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_5.10.bb index 6af434e07..56c7621d4 100644 --- a/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_5.10.bb +++ b/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_5.10.bb @@ -1,7 +1,7 @@ -LINUX_VERSION ?= "5.10.13" +LINUX_VERSION ?= "5.10.17" LINUX_RPI_BRANCH ?= "rpi-5.10.y" -SRCREV_machine = "34263dc81a12862c66e2593bb26c09d5fd20f46d" +SRCREV_machine = "ec967eb45f8d4ed59bebafb5748da38118383be7" SRCREV_meta = "5833ca701711d487c9094bd1efc671e8ef7d001e" KMETA = "kernel-meta" -- cgit v1.2.3 From 9d3cc05f311fde3211b6bc0a9be221d6e889a70e Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Wed, 31 Mar 2021 13:36:22 -0500 Subject: meta-security: subtree update:9504d02694..775870980b Armin Kuster (13): libtpm: update to 0.8.2 ibmtpm2tss: update to 1.6.0 tpm2-abrmd: update to 2.4.0 tpm2-tools: update to 5.0 tpm2-tss: update to 3.0.3 tpm2-pkcs11: update to 1.5.0 tpm2-topt: update 0.3.0 trousers: update to 0.3.15 tpm-tools: update to 1.3.9.1 python3-fail2ban: fix building with ptest enabled layer.conf: Add hardknott to LAYERSERIES_COMPAT tpm2-tss-engine: update 1.1.0 swtpm: update to 0.5.2 Kai Kang (1): samhain: fix compile error on powerpc Ming Liu (1): ima-evm-keys: add file-checksums to IMA_EVM_X509 lukasz plachno (1): fscryptctl: Fix installation path Signed-off-by: Andrew Geissler Change-Id: Id7215a394e0c10c60e0e2e4a43d4ce4fb622fa97 --- meta-security/conf/layer.conf | 2 +- meta-security/meta-hardening/conf/layer.conf | 2 +- meta-security/meta-integrity/conf/layer.conf | 2 +- .../ima-evm-keys/ima-evm-keys_1.0.bb | 1 + .../meta-security-compliance/conf/layer.conf | 2 +- meta-security/meta-security-isafw/conf/layer.conf | 2 +- meta-security/meta-tpm/conf/layer.conf | 2 +- .../meta-tpm/recipes-tpm/libtpm/libtpm_0.7.2.bb | 16 --- .../meta-tpm/recipes-tpm/libtpm/libtpm_0.8.2.bb | 16 +++ .../meta-tpm/recipes-tpm/swtpm/swtpm_0.2.0.bb | 52 ---------- .../meta-tpm/recipes-tpm/swtpm/swtpm_0.5.2.bb | 53 ++++++++++ .../files/05-openssl1.1_fix_data_mgmt.patch | 110 --------------------- .../recipes-tpm/tpm-tools/tpm-tools_1.3.9.1.bb | 36 ------- .../recipes-tpm/tpm-tools/tpm-tools_1.3.9.2.bb | 35 +++++++ .../meta-tpm/recipes-tpm/trousers/trousers_git.bb | 4 +- ...2-Makefile.am-expand-wildcards-in-prereqs.patch | 30 +++--- .../recipes-tpm2/ibmtpm2tss/ibmtpm2tss_1.5.0.bb | 27 ----- .../recipes-tpm2/ibmtpm2tss/ibmtpm2tss_1.6.0.bb | 27 +++++ .../recipes-tpm2/tpm2-abrmd/tpm2-abrmd_2.3.3.bb | 54 ---------- .../recipes-tpm2/tpm2-abrmd/tpm2-abrmd_2.4.0.bb | 54 ++++++++++ .../recipes-tpm2/tpm2-pkcs11/tpm2-pkcs11_1.4.0.bb | 44 --------- .../recipes-tpm2/tpm2-pkcs11/tpm2-pkcs11_1.5.0.bb | 44 +++++++++ .../recipes-tpm2/tpm2-tools/tpm2-tools_4.3.0.bb | 13 --- .../recipes-tpm2/tpm2-tools/tpm2-tools_5.0.bb | 13 +++ .../recipes-tpm2/tpm2-totp/tpm2-totp_0.2.1.bb | 17 ---- .../recipes-tpm2/tpm2-totp/tpm2-totp_0.3.0.bb | 17 ++++ .../tpm2-tss-engine/tpm2-tss-engine_1.0.1.bb | 23 ----- .../tpm2-tss-engine/tpm2-tss-engine_1.1.0.bb | 23 +++++ ...e.ac-fix-compatibility-with-autoconf-2.70.patch | 48 +++++++++ .../recipes-tpm2/tpm2-tss/tpm2-tss_2.4.3.bb | 76 -------------- .../recipes-tpm2/tpm2-tss/tpm2-tss_3.0.3.bb | 78 +++++++++++++++ ...n-fix-initializer-element-is-not-constant.patch | 28 ++++++ meta-security/recipes-ids/samhain/samhain.inc | 1 + .../recipes-security/fail2ban/files/run-ptest | 2 +- .../fail2ban/python3-fail2ban_0.11.2.bb | 3 +- .../fscryptctl/fscryptctl_1.0.0.bb | 2 +- 36 files changed, 463 insertions(+), 496 deletions(-) delete mode 100644 meta-security/meta-tpm/recipes-tpm/libtpm/libtpm_0.7.2.bb create mode 100644 meta-security/meta-tpm/recipes-tpm/libtpm/libtpm_0.8.2.bb delete mode 100644 meta-security/meta-tpm/recipes-tpm/swtpm/swtpm_0.2.0.bb create mode 100644 meta-security/meta-tpm/recipes-tpm/swtpm/swtpm_0.5.2.bb delete mode 100644 meta-security/meta-tpm/recipes-tpm/tpm-tools/files/05-openssl1.1_fix_data_mgmt.patch delete mode 100644 meta-security/meta-tpm/recipes-tpm/tpm-tools/tpm-tools_1.3.9.1.bb create mode 100644 meta-security/meta-tpm/recipes-tpm/tpm-tools/tpm-tools_1.3.9.2.bb delete mode 100644 meta-security/meta-tpm/recipes-tpm2/ibmtpm2tss/ibmtpm2tss_1.5.0.bb create mode 100644 meta-security/meta-tpm/recipes-tpm2/ibmtpm2tss/ibmtpm2tss_1.6.0.bb delete mode 100644 meta-security/meta-tpm/recipes-tpm2/tpm2-abrmd/tpm2-abrmd_2.3.3.bb create mode 100644 meta-security/meta-tpm/recipes-tpm2/tpm2-abrmd/tpm2-abrmd_2.4.0.bb delete mode 100644 meta-security/meta-tpm/recipes-tpm2/tpm2-pkcs11/tpm2-pkcs11_1.4.0.bb create mode 100644 meta-security/meta-tpm/recipes-tpm2/tpm2-pkcs11/tpm2-pkcs11_1.5.0.bb delete mode 100644 meta-security/meta-tpm/recipes-tpm2/tpm2-tools/tpm2-tools_4.3.0.bb create mode 100644 meta-security/meta-tpm/recipes-tpm2/tpm2-tools/tpm2-tools_5.0.bb delete mode 100644 meta-security/meta-tpm/recipes-tpm2/tpm2-totp/tpm2-totp_0.2.1.bb create mode 100644 meta-security/meta-tpm/recipes-tpm2/tpm2-totp/tpm2-totp_0.3.0.bb delete mode 100644 meta-security/meta-tpm/recipes-tpm2/tpm2-tss-engine/tpm2-tss-engine_1.0.1.bb create mode 100644 meta-security/meta-tpm/recipes-tpm2/tpm2-tss-engine/tpm2-tss-engine_1.1.0.bb create mode 100644 meta-security/meta-tpm/recipes-tpm2/tpm2-tss/tpm2-tss/0001-configure.ac-fix-compatibility-with-autoconf-2.70.patch delete mode 100644 meta-security/meta-tpm/recipes-tpm2/tpm2-tss/tpm2-tss_2.4.3.bb create mode 100644 meta-security/meta-tpm/recipes-tpm2/tpm2-tss/tpm2-tss_3.0.3.bb create mode 100644 meta-security/recipes-ids/samhain/files/samhain-fix-initializer-element-is-not-constant.patch diff --git a/meta-security/conf/layer.conf b/meta-security/conf/layer.conf index 8c0254b82..fd21da1eb 100644 --- a/meta-security/conf/layer.conf +++ b/meta-security/conf/layer.conf @@ -9,6 +9,6 @@ BBFILE_COLLECTIONS += "security" BBFILE_PATTERN_security = "^${LAYERDIR}/" BBFILE_PRIORITY_security = "8" -LAYERSERIES_COMPAT_security = "gatesgarth" +LAYERSERIES_COMPAT_security = "hardknott" LAYERDEPENDS_security = "core openembedded-layer perl-layer networking-layer meta-python" diff --git a/meta-security/meta-hardening/conf/layer.conf b/meta-security/meta-hardening/conf/layer.conf index 22d88749d..085ea45c5 100644 --- a/meta-security/meta-hardening/conf/layer.conf +++ b/meta-security/meta-hardening/conf/layer.conf @@ -8,6 +8,6 @@ BBFILE_COLLECTIONS += "harden-layer" BBFILE_PATTERN_harden-layer = "^${LAYERDIR}/" BBFILE_PRIORITY_harden-layer = "10" -LAYERSERIES_COMPAT_harden-layer = "gatesgarth" +LAYERSERIES_COMPAT_harden-layer = "hardknott" LAYERDEPENDS_harden-layer = "core openembedded-layer" diff --git a/meta-security/meta-integrity/conf/layer.conf b/meta-security/meta-integrity/conf/layer.conf index 76374eb9b..ba028da7e 100644 --- a/meta-security/meta-integrity/conf/layer.conf +++ b/meta-security/meta-integrity/conf/layer.conf @@ -20,7 +20,7 @@ INTEGRITY_BASE := '${LAYERDIR}' # interactive shell is enough. OE_TERMINAL_EXPORTS += "INTEGRITY_BASE" -LAYERSERIES_COMPAT_integrity = "gatesgarth" +LAYERSERIES_COMPAT_integrity = "hardknott" # ima-evm-utils depends on keyutils from meta-oe LAYERDEPENDS_integrity = "core openembedded-layer" diff --git a/meta-security/meta-integrity/recipes-security/ima-evm-keys/ima-evm-keys_1.0.bb b/meta-security/meta-integrity/recipes-security/ima-evm-keys/ima-evm-keys_1.0.bb index 62685bbb0..7708aef2c 100644 --- a/meta-security/meta-integrity/recipes-security/ima-evm-keys/ima-evm-keys_1.0.bb +++ b/meta-security/meta-integrity/recipes-security/ima-evm-keys/ima-evm-keys_1.0.bb @@ -14,3 +14,4 @@ do_install () { lnr ${D}${sysconfdir}/keys/x509_evm.der ${D}${sysconfdir}/keys/x509_ima.der fi } +do_install[file-checksums] += "${@'${IMA_EVM_X509}:%s' % os.path.exists('${IMA_EVM_X509}')}" diff --git a/meta-security/meta-security-compliance/conf/layer.conf b/meta-security/meta-security-compliance/conf/layer.conf index db243f710..2024d4a5f 100644 --- a/meta-security/meta-security-compliance/conf/layer.conf +++ b/meta-security/meta-security-compliance/conf/layer.conf @@ -8,7 +8,7 @@ BBFILE_COLLECTIONS += "scanners-layer" BBFILE_PATTERN_scanners-layer = "^${LAYERDIR}/" BBFILE_PRIORITY_scanners-layer = "10" -LAYERSERIES_COMPAT_scanners-layer = "gatesgarth" +LAYERSERIES_COMPAT_scanners-layer = "hardknott" LAYERDEPENDS_scanners-layer = "core openembedded-layer meta-python" diff --git a/meta-security/meta-security-isafw/conf/layer.conf b/meta-security/meta-security-isafw/conf/layer.conf index b8ee1c013..1f1095f07 100644 --- a/meta-security/meta-security-isafw/conf/layer.conf +++ b/meta-security/meta-security-isafw/conf/layer.conf @@ -14,4 +14,4 @@ LAYERVERSION_security-isafw = "1" LAYERDEPENDS_security-isafw = "core" -LAYERSERIES_COMPAT_security-isafw = "gatesgarth" +LAYERSERIES_COMPAT_security-isafw = "hardknott" diff --git a/meta-security/meta-tpm/conf/layer.conf b/meta-security/meta-tpm/conf/layer.conf index cd62fbac2..65788eb0e 100644 --- a/meta-security/meta-tpm/conf/layer.conf +++ b/meta-security/meta-tpm/conf/layer.conf @@ -8,7 +8,7 @@ BBFILE_COLLECTIONS += "tpm-layer" BBFILE_PATTERN_tpm-layer = "^${LAYERDIR}/" BBFILE_PRIORITY_tpm-layer = "10" -LAYERSERIES_COMPAT_tpm-layer = "gatesgarth" +LAYERSERIES_COMPAT_tpm-layer = "hardknott" LAYERDEPENDS_tpm-layer = " \ core \ diff --git a/meta-security/meta-tpm/recipes-tpm/libtpm/libtpm_0.7.2.bb b/meta-security/meta-tpm/recipes-tpm/libtpm/libtpm_0.7.2.bb deleted file mode 100644 index 0ade01dd5..000000000 --- a/meta-security/meta-tpm/recipes-tpm/libtpm/libtpm_0.7.2.bb +++ /dev/null @@ -1,16 +0,0 @@ -SUMMARY = "LIBPM - Software TPM Library" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=e73f0786a936da3814896df06ad225a9" - -SRCREV = "7325acb4777f70419fe10a1d9621c2666e977e73" -SRC_URI = "git://github.com/stefanberger/libtpms.git;branch=stable-0.7.0" - -PE = "1" - -S = "${WORKDIR}/git" -inherit autotools-brokensep pkgconfig perlnative - -PACKAGECONFIG ?= "openssl" -PACKAGECONFIG[openssl] = "--with-openssl, --without-openssl, openssl" - -BBCLASSEXTEND = "native" diff --git a/meta-security/meta-tpm/recipes-tpm/libtpm/libtpm_0.8.2.bb b/meta-security/meta-tpm/recipes-tpm/libtpm/libtpm_0.8.2.bb new file mode 100644 index 000000000..9784aa115 --- /dev/null +++ b/meta-security/meta-tpm/recipes-tpm/libtpm/libtpm_0.8.2.bb @@ -0,0 +1,16 @@ +SUMMARY = "LIBPM - Software TPM Library" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=e73f0786a936da3814896df06ad225a9" + +SRCREV = "f66a719eda0b492ea3ec7852421a9d98db0a0621" +SRC_URI = "git://github.com/stefanberger/libtpms.git;branch=stable-0.8" + +PE = "1" + +S = "${WORKDIR}/git" +inherit autotools-brokensep pkgconfig perlnative + +PACKAGECONFIG ?= "openssl" +PACKAGECONFIG[openssl] = "--with-openssl, --without-openssl, openssl" + +BBCLASSEXTEND = "native" diff --git a/meta-security/meta-tpm/recipes-tpm/swtpm/swtpm_0.2.0.bb b/meta-security/meta-tpm/recipes-tpm/swtpm/swtpm_0.2.0.bb deleted file mode 100644 index 35c77c806..000000000 --- a/meta-security/meta-tpm/recipes-tpm/swtpm/swtpm_0.2.0.bb +++ /dev/null @@ -1,52 +0,0 @@ -SUMMARY = "SWTPM - Software TPM Emulator" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=fe8092c832b71ef20dfe4c6d3decb3a8" -SECTION = "apps" - -DEPENDS = "libtasn1 expect socat glib-2.0 net-tools-native libtpm libtpm-native" - -# configure checks for the tools already during compilation and -# then swtpm_setup needs them at runtime -DEPENDS += "tpm-tools-native expect-native socat-native" - -SRCREV = "39673a0139b0ee14a0109aba50a0635592c672c4" -SRC_URI = "git://github.com/stefanberger/swtpm.git;branch=stable-${PV} \ - file://fix_fcntl_h.patch \ - file://ioctl_h.patch \ - " -PE = "1" - -S = "${WORKDIR}/git" - -inherit autotools pkgconfig -PARALLEL_MAKE = "" - -TSS_USER="tss" -TSS_GROUP="tss" - -PACKAGECONFIG ?= "openssl" -PACKAGECONFIG += "${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'selinux', '', d)}" -PACKAGECONFIG += "${@bb.utils.contains('BBFILE_COLLECTIONS', 'filesystems-layer', 'cuse', '', d)}" -PACKAGECONFIG[openssl] = "--with-openssl, --without-openssl, openssl" -PACKAGECONFIG[gnutls] = "--with-gnutls, --without-gnutls, gnutls" -PACKAGECONFIG[selinux] = "--with-selinux, --without-selinux, libselinux" -PACKAGECONFIG[cuse] = "--with-cuse, --without-cuse, fuse" -PACKAGECONFIG[seccomp] = "--with-seccomp, --without-seccomp, libseccomp" - -EXTRA_OECONF += "--with-tss-user=${TSS_USER} --with-tss-group=${TSS_GROUP}" - -export SEARCH_DIR = "${STAGING_LIBDIR_NATIVE}" - -USERADD_PACKAGES = "${PN}" -GROUPADD_PARAM_${PN} = "--system ${TSS_USER}" -USERADD_PARAM_${PN} = "--system -g ${TSS_GROUP} --home-dir \ - --no-create-home --shell /bin/false ${BPN}" - -PACKAGE_BEFORE_PN = "${PN}-cuse" -FILES_${PN}-cuse = "${bindir}/swtpm_cuse" - -INSANE_SKIP_${PN} += "dev-so" - -RDEPENDS_${PN} = "libtpm expect socat bash tpm-tools" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-security/meta-tpm/recipes-tpm/swtpm/swtpm_0.5.2.bb b/meta-security/meta-tpm/recipes-tpm/swtpm/swtpm_0.5.2.bb new file mode 100644 index 000000000..b7ff2ad59 --- /dev/null +++ b/meta-security/meta-tpm/recipes-tpm/swtpm/swtpm_0.5.2.bb @@ -0,0 +1,53 @@ +SUMMARY = "SWTPM - Software TPM Emulator" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=fe8092c832b71ef20dfe4c6d3decb3a8" +SECTION = "apps" + +DEPENDS = "libtasn1 coreutils-native expect socat glib-2.0 net-tools-native libtpm libtpm-native" + +# configure checks for the tools already during compilation and +# then swtpm_setup needs them at runtime +DEPENDS += "tpm-tools-native expect-native socat-native" + +SRCREV = "e59c0c1a7b4c8d652dbb280fd6126895a7057464" +SRC_URI = "git://github.com/stefanberger/swtpm.git;branch=stable-0.5 \ + file://ioctl_h.patch \ + " +PE = "1" + +S = "${WORKDIR}/git" + +inherit autotools pkgconfig python3-dir +PARALLEL_MAKE = "" + +TSS_USER="tss" +TSS_GROUP="tss" + +PACKAGECONFIG ?= "openssl" +PACKAGECONFIG += "${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'selinux', '', d)}" +PACKAGECONFIG += "${@bb.utils.contains('BBFILE_COLLECTIONS', 'filesystems-layer', 'cuse', '', d)}" +PACKAGECONFIG[openssl] = "--with-openssl, --without-openssl, openssl" +PACKAGECONFIG[gnutls] = "--with-gnutls, --without-gnutls, gnutls" +PACKAGECONFIG[selinux] = "--with-selinux, --without-selinux, libselinux" +PACKAGECONFIG[cuse] = "--with-cuse, --without-cuse, fuse" +PACKAGECONFIG[seccomp] = "--with-seccomp, --without-seccomp, libseccomp" + +EXTRA_OECONF += "--with-tss-user=${TSS_USER} --with-tss-group=${TSS_GROUP}" + +USERADD_PACKAGES = "${PN}" +GROUPADD_PARAM_${PN} = "--system ${TSS_USER}" +USERADD_PARAM_${PN} = "--system -g ${TSS_GROUP} --home-dir \ + --no-create-home --shell /bin/false ${BPN}" + + +PACKAGES =+ "${PN}-python" +FILES_${PN}-python = "${nonarch_libdir}/${PYTHON_PN}/dist-packages/* " + +PACKAGE_BEFORE_PN = "${PN}-cuse" +FILES_${PN}-cuse = "${bindir}/swtpm_cuse" + +INSANE_SKIP_${PN} += "dev-so" + +RDEPENDS_${PN} = "libtpm expect socat bash tpm-tools python3 python3-cryptography python3-twisted" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-security/meta-tpm/recipes-tpm/tpm-tools/files/05-openssl1.1_fix_data_mgmt.patch b/meta-security/meta-tpm/recipes-tpm/tpm-tools/files/05-openssl1.1_fix_data_mgmt.patch deleted file mode 100644 index c2a264b62..000000000 --- a/meta-security/meta-tpm/recipes-tpm/tpm-tools/files/05-openssl1.1_fix_data_mgmt.patch +++ /dev/null @@ -1,110 +0,0 @@ -Author: Philipp Kern -Subject: Fix openssl1.1 support in data_mgmt -Date: Tue, 31 Jan 2017 22:40:10 +0100 - -Upstream-Status: Backport -tpm-tools_1.3.9.1-0.1.debian.tar - -Signed-off-by: Armin kuster - ---- - src/data_mgmt/data_import.c | 60 ++++++++++++++++++++++++++++---------------- - 1 file changed, 39 insertions(+), 21 deletions(-) - ---- a/src/data_mgmt/data_import.c -+++ b/src/data_mgmt/data_import.c -@@ -372,7 +372,7 @@ readX509Cert( const char *a_pszFile, - goto out; - } - -- if ( EVP_PKEY_type( pKey->type ) != EVP_PKEY_RSA ) { -+ if ( EVP_PKEY_base_id( pKey ) != EVP_PKEY_RSA ) { - logError( TOKEN_RSA_KEY_ERROR ); - - X509_free( pX509 ); -@@ -691,8 +691,13 @@ createRsaPubKeyObject( RSA - - int rc = -1; - -- int nLen = BN_num_bytes( a_pRsa->n ); -- int eLen = BN_num_bytes( a_pRsa->e ); -+ const BIGNUM *bn; -+ const BIGNUM *be; -+ -+ RSA_get0_key( a_pRsa, &bn, &be, NULL ); -+ -+ int nLen = BN_num_bytes( bn ); -+ int eLen = BN_num_bytes( be ); - - CK_RV rv; - -@@ -732,8 +737,8 @@ createRsaPubKeyObject( RSA - } - - // Get binary representations of the RSA key information -- BN_bn2bin( a_pRsa->n, n ); -- BN_bn2bin( a_pRsa->e, e ); -+ BN_bn2bin( bn, n ); -+ BN_bn2bin( be, e ); - - // Create the RSA public key object - rv = createObject( a_hSession, tAttr, ulAttrCount, a_hObject ); -@@ -760,14 +765,27 @@ createRsaPrivKeyObject( RSA - - int rc = -1; - -- int nLen = BN_num_bytes( a_pRsa->n ); -- int eLen = BN_num_bytes( a_pRsa->e ); -- int dLen = BN_num_bytes( a_pRsa->d ); -- int pLen = BN_num_bytes( a_pRsa->p ); -- int qLen = BN_num_bytes( a_pRsa->q ); -- int dmp1Len = BN_num_bytes( a_pRsa->dmp1 ); -- int dmq1Len = BN_num_bytes( a_pRsa->dmq1 ); -- int iqmpLen = BN_num_bytes( a_pRsa->iqmp ); -+ const BIGNUM *bn; -+ const BIGNUM *be; -+ const BIGNUM *bd; -+ const BIGNUM *bp; -+ const BIGNUM *bq; -+ const BIGNUM *bdmp1; -+ const BIGNUM *bdmq1; -+ const BIGNUM *biqmp; -+ -+ RSA_get0_key( a_pRsa, &bn, &be, &bd); -+ RSA_get0_factors( a_pRsa, &bp, &bq); -+ RSA_get0_crt_params( a_pRsa, &bdmp1, &bdmq1, &biqmp ); -+ -+ int nLen = BN_num_bytes( bn ); -+ int eLen = BN_num_bytes( be ); -+ int dLen = BN_num_bytes( bd ); -+ int pLen = BN_num_bytes( bp ); -+ int qLen = BN_num_bytes( bq ); -+ int dmp1Len = BN_num_bytes( bdmp1 ); -+ int dmq1Len = BN_num_bytes( bdmq1 ); -+ int iqmpLen = BN_num_bytes( biqmp ); - - CK_RV rv; - -@@ -821,14 +839,14 @@ createRsaPrivKeyObject( RSA - } - - // Get binary representations of the RSA key information -- BN_bn2bin( a_pRsa->n, n ); -- BN_bn2bin( a_pRsa->e, e ); -- BN_bn2bin( a_pRsa->d, d ); -- BN_bn2bin( a_pRsa->p, p ); -- BN_bn2bin( a_pRsa->q, q ); -- BN_bn2bin( a_pRsa->dmp1, dmp1 ); -- BN_bn2bin( a_pRsa->dmq1, dmq1 ); -- BN_bn2bin( a_pRsa->iqmp, iqmp ); -+ BN_bn2bin( bn, n ); -+ BN_bn2bin( be, e ); -+ BN_bn2bin( bd, d ); -+ BN_bn2bin( bp, p ); -+ BN_bn2bin( bq, q ); -+ BN_bn2bin( bdmp1, dmp1 ); -+ BN_bn2bin( bdmq1, dmq1 ); -+ BN_bn2bin( biqmp, iqmp ); - - // Create the RSA private key object - rv = createObject( a_hSession, tAttr, ulAttrCount, a_hObject ); diff --git a/meta-security/meta-tpm/recipes-tpm/tpm-tools/tpm-tools_1.3.9.1.bb b/meta-security/meta-tpm/recipes-tpm/tpm-tools/tpm-tools_1.3.9.1.bb deleted file mode 100644 index 88ef19f73..000000000 --- a/meta-security/meta-tpm/recipes-tpm/tpm-tools/tpm-tools_1.3.9.1.bb +++ /dev/null @@ -1,36 +0,0 @@ -SUMMARY = "The tpm-tools package contains commands to allow the platform administrator the ability to manage and diagnose the platform's TPM." -DESCRIPTION = " \ - The tpm-tools package contains commands to allow the platform administrator \ - the ability to manage and diagnose the platform's TPM. Additionally, the \ - package contains commands to utilize some of the capabilities available \ - in the TPM PKCS#11 interface implemented in the openCryptoki project. \ - " -SECTION = "tpm" -LICENSE = "CPL-1.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=059e8cd6165cb4c31e351f2b69388fd9" - -DEPENDS = "libtspi openssl" -DEPENDS_class-native = "trousers-native" - -SRCREV = "bdf9f1bc8f63cd6fc370c2deb58d03ac55079e84" -SRC_URI = " \ - git://git.code.sf.net/p/trousers/tpm-tools \ - file://tpm-tools-extendpcr.patch \ - file://04-fix-FTBFS-clang.patch \ - file://05-openssl1.1_fix_data_mgmt.patch \ - file://openssl1.1_fix.patch \ - " - -inherit autotools-brokensep gettext - -S = "${WORKDIR}/git" - -do_configure_prepend () { - mkdir -p po - mkdir -p m4 - cp -R po_/* po/ - touch po/Makefile.in.in - touch m4/Makefile.am -} - -BBCLASSEXTEND = "native" diff --git a/meta-security/meta-tpm/recipes-tpm/tpm-tools/tpm-tools_1.3.9.2.bb b/meta-security/meta-tpm/recipes-tpm/tpm-tools/tpm-tools_1.3.9.2.bb new file mode 100644 index 000000000..8aeb8ac4b --- /dev/null +++ b/meta-security/meta-tpm/recipes-tpm/tpm-tools/tpm-tools_1.3.9.2.bb @@ -0,0 +1,35 @@ +SUMMARY = "The tpm-tools package contains commands to allow the platform administrator the ability to manage and diagnose the platform's TPM." +DESCRIPTION = " \ + The tpm-tools package contains commands to allow the platform administrator \ + the ability to manage and diagnose the platform's TPM. Additionally, the \ + package contains commands to utilize some of the capabilities available \ + in the TPM PKCS#11 interface implemented in the openCryptoki project. \ + " +SECTION = "tpm" +LICENSE = "CPL-1.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=059e8cd6165cb4c31e351f2b69388fd9" + +DEPENDS = "libtspi openssl" +DEPENDS_class-native = "trousers-native" + +SRCREV = "bf43837575c5f7d31865562dce7778eae970052e" +SRC_URI = " \ + git://git.code.sf.net/p/trousers/tpm-tools \ + file://tpm-tools-extendpcr.patch \ + file://04-fix-FTBFS-clang.patch \ + file://openssl1.1_fix.patch \ + " + +inherit autotools-brokensep gettext + +S = "${WORKDIR}/git" + +do_configure_prepend () { + mkdir -p po + mkdir -p m4 + cp -R po_/* po/ + touch po/Makefile.in.in + touch m4/Makefile.am +} + +BBCLASSEXTEND = "native" diff --git a/meta-security/meta-tpm/recipes-tpm/trousers/trousers_git.bb b/meta-security/meta-tpm/recipes-tpm/trousers/trousers_git.bb index 27b4e2f51..32c9a4976 100644 --- a/meta-security/meta-tpm/recipes-tpm/trousers/trousers_git.bb +++ b/meta-security/meta-tpm/recipes-tpm/trousers/trousers_git.bb @@ -6,8 +6,8 @@ SECTION = "security/tpm" DEPENDS = "openssl" -SRCREV = "e74dd1d96753b0538192143adf58d04fcd3b242b" -PV = "0.3.14+git${SRCPV}" +SRCREV = "94144b0a1dcef6e31845d6c319e9bd7357208eb9" +PV = "0.3.15+git${SRCPV}" SRC_URI = " \ git://git.code.sf.net/p/trousers/trousers \ diff --git a/meta-security/meta-tpm/recipes-tpm2/ibmtpm2tss/ibmtpm2tss/0001-utils-12-Makefile.am-expand-wildcards-in-prereqs.patch b/meta-security/meta-tpm/recipes-tpm2/ibmtpm2tss/ibmtpm2tss/0001-utils-12-Makefile.am-expand-wildcards-in-prereqs.patch index 8b13fb66c..cfda80f41 100644 --- a/meta-security/meta-tpm/recipes-tpm2/ibmtpm2tss/ibmtpm2tss/0001-utils-12-Makefile.am-expand-wildcards-in-prereqs.patch +++ b/meta-security/meta-tpm/recipes-tpm2/ibmtpm2tss/ibmtpm2tss/0001-utils-12-Makefile.am-expand-wildcards-in-prereqs.patch @@ -15,17 +15,15 @@ Signed-off-by: Jens Rehsack utils12/Makefile.am | 8 ++++- 2 files changed, 79 insertions(+), 4 deletions(-) -diff --git a/utils/Makefile.am b/utils/Makefile.am -index 1e51fe3..170a26e 100644 ---- a/utils/Makefile.am -+++ b/utils/Makefile.am -@@ -81,9 +81,78 @@ libibmtssutils_la_LIBADD = libibmtss.la $(LIBCRYPTO_LIBS) +Index: git/utils/Makefile.am +=================================================================== +--- git.orig/utils/Makefile.am ++++ git/utils/Makefile.am +@@ -85,9 +85,78 @@ libibmtssutils_la_LIBADD = libibmtss.la - noinst_HEADERS = CommandAttributes.h imalib.h tssdev.h ntc2lib.h tssntc.h Commands_fp.h objecttemplates.h tssproperties.h cryptoutils.h Platform.h tssauth.h tsssocket.h ekutils.h eventlib.h tssccattributes.h + noinst_HEADERS = CommandAttributes.h imalib.h tssdev.h ntc2lib.h tssntc.h Commands_fp.h objecttemplates.h tssproperties.h cryptoutils.h Platform.h tssauth.h tsssocket.h ekutils.h eventlib.h efilib.h tssccattributes.h # install every header in ibmtss -nobase_include_HEADERS = ibmtss/*.h -- --notrans_man_MANS = man/man1/*.1 +nobase_include_HEADERS = ibmtss/ActivateCredential_fp.h ibmtss/ActivateIdentity_fp.h ibmtss/BaseTypes.h \ + ibmtss/CertifyCreation_fp.h ibmtss/Certify_fp.h ibmtss/CertifyX509_fp.h ibmtss/ChangeEPS_fp.h \ + ibmtss/ChangePPS_fp.h ibmtss/ClearControl_fp.h ibmtss/Clear_fp.h ibmtss/ClockRateAdjust_fp.h \ @@ -65,7 +63,8 @@ index 1e51fe3..170a26e 100644 + ibmtss/tssmarshal.h ibmtss/tssprintcmd.h ibmtss/tssprint.h ibmtss/tssresponsecode.h ibmtss/tsstransmit.h \ + ibmtss/tssutils.h ibmtss/Unmarshal12_fp.h ibmtss/Unmarshal_fp.h ibmtss/Unseal_fp.h ibmtss/VerifySignature_fp.h \ + ibmtss/ZGen_2Phase_fp.h -+ + +-notrans_man_MANS = man/man1/*.1 +notrans_man_MANS = man/man1/tssactivatecredential.1 man/man1/tsscertify.1 man/man1/tsscertifycreation.1 \ + man/man1/tsscertifyx509.1 man/man1/tsschangeeps.1 man/man1/tsschangepps.1 man/man1/tssclear.1 \ + man/man1/tssclearcontrol.1 man/man1/tssclockrateadjust.1 man/man1/tssclockset.1 man/man1/tsscommit.1 \ @@ -101,11 +100,11 @@ index 1e51fe3..170a26e 100644 if CONFIG_TPM20 noinst_HEADERS += tss20.h tssauth20.h ibmtss/tssprintcmd.h -diff --git a/utils12/Makefile.am b/utils12/Makefile.am -index a01f47c..e9fe61e 100644 ---- a/utils12/Makefile.am -+++ b/utils12/Makefile.am -@@ -9,7 +9,13 @@ libibmtssutils12_la_CFLAGS = -I$(top_srcdir)/utils +Index: git/utils12/Makefile.am +=================================================================== +--- git.orig/utils12/Makefile.am ++++ git/utils12/Makefile.am +@@ -9,7 +9,13 @@ libibmtssutils12_la_CFLAGS = -I$(top_src # result: [current-age].age.revision libibmtssutils12_la_LDFLAGS = -version-info @TSSLIB_VERSION_INFO@ ../utils/libibmtss.la @@ -120,6 +119,3 @@ index a01f47c..e9fe61e 100644 noinst_HEADERS = ekutils12.h bin_PROGRAMS = activateidentity createendorsementkeypair createwrapkey extend flushspecific getcapability loadkey2 makeidentity nvdefinespace nvreadvalueauth nvreadvalue nvwritevalueauth nvwritevalue oiap osap ownerreadinternalpub ownersetdisable pcrread quote2 sign startup takeownership tpminit createekcert makeekblob eventextend imaextend --- -2.17.1 - diff --git a/meta-security/meta-tpm/recipes-tpm2/ibmtpm2tss/ibmtpm2tss_1.5.0.bb b/meta-security/meta-tpm/recipes-tpm2/ibmtpm2tss/ibmtpm2tss_1.5.0.bb deleted file mode 100644 index 18ad7eb43..000000000 --- a/meta-security/meta-tpm/recipes-tpm2/ibmtpm2tss/ibmtpm2tss_1.5.0.bb +++ /dev/null @@ -1,27 +0,0 @@ -SUMMARY = "IBM's Software TPM 2.0 TSS" -DESCRIPTION = "This is a user space TSS for TPM 2.0. It implements the \ -functionality equivalent to (but not API compatible with) the TCG TSS \ -working group's ESAPI, SAPI, and TCTI API's (and perhaps more) but with a \ -hopefully simpler interface. \ -It comes with over 110 'TPM tools' samples that can be used for scripted \ -apps, rapid prototyping, education, and debugging. \ -It also comes with a web based TPM interface, suitable for a demo to an \ -audience that is unfamiliar with TCG technology. It is also useful for \ -basic TPM management." -HOMEPAGE = "http://ibmswtpm.sourceforge.net/ibmtss2.html" -LICENSE = "BSD" -SECTION = "securty/tpm" -LIC_FILES_CHKSUM = "file://LICENSE;md5=1e023f61454ac828b4aa1bc4293f7d5f" - -DEPENDS = "openssl ibmswtpm2" - -inherit autotools pkgconfig - -SRCREV = "aa6c6ec83793ba21782033c03439977c26d3cc87" -SRC_URI = " git://git.code.sf.net/p/ibmtpm20tss/tss;nobranch=1 \ - file://0001-utils-12-Makefile.am-expand-wildcards-in-prereqs.patch \ - " - -EXTRA_OECONF = "--disable-tpm-1.2" - -S = "${WORKDIR}/git" diff --git a/meta-security/meta-tpm/recipes-tpm2/ibmtpm2tss/ibmtpm2tss_1.6.0.bb b/meta-security/meta-tpm/recipes-tpm2/ibmtpm2tss/ibmtpm2tss_1.6.0.bb new file mode 100644 index 000000000..4d9b5540a --- /dev/null +++ b/meta-security/meta-tpm/recipes-tpm2/ibmtpm2tss/ibmtpm2tss_1.6.0.bb @@ -0,0 +1,27 @@ +SUMMARY = "IBM's Software TPM 2.0 TSS" +DESCRIPTION = "This is a user space TSS for TPM 2.0. It implements the \ +functionality equivalent to (but not API compatible with) the TCG TSS \ +working group's ESAPI, SAPI, and TCTI API's (and perhaps more) but with a \ +hopefully simpler interface. \ +It comes with over 110 'TPM tools' samples that can be used for scripted \ +apps, rapid prototyping, education, and debugging. \ +It also comes with a web based TPM interface, suitable for a demo to an \ +audience that is unfamiliar with TCG technology. It is also useful for \ +basic TPM management." +HOMEPAGE = "http://ibmswtpm.sourceforge.net/ibmtss2.html" +LICENSE = "BSD" +SECTION = "securty/tpm" +LIC_FILES_CHKSUM = "file://LICENSE;md5=1e023f61454ac828b4aa1bc4293f7d5f" + +DEPENDS = "openssl ibmswtpm2" + +inherit autotools pkgconfig + +SRCREV = "3e736f712ba53c8f06e66751f60fae428fd2e20f" +SRC_URI = " git://git.code.sf.net/p/ibmtpm20tss/tss;nobranch=1 \ + file://0001-utils-12-Makefile.am-expand-wildcards-in-prereqs.patch \ + " + +EXTRA_OECONF = "--disable-tpm-1.2" + +S = "${WORKDIR}/git" diff --git a/meta-security/meta-tpm/recipes-tpm2/tpm2-abrmd/tpm2-abrmd_2.3.3.bb b/meta-security/meta-tpm/recipes-tpm2/tpm2-abrmd/tpm2-abrmd_2.3.3.bb deleted file mode 100644 index d2a1c47b5..000000000 --- a/meta-security/meta-tpm/recipes-tpm2/tpm2-abrmd/tpm2-abrmd_2.3.3.bb +++ /dev/null @@ -1,54 +0,0 @@ -SUMMARY = "TPM2 Access Broker & Resource Manager" -DESCRIPTION = "This is a system daemon implementing the TPM2 access \ -broker (TAB) & Resource Manager (RM) spec from the TCG. The daemon (tpm2-abrmd) \ -is implemented using Glib and the GObject system. In this documentation and \ -in the code we use `tpm2-abrmd` and `tabrmd` interchangeably. \ -" -SECTION = "security/tpm" - -LICENSE = "BSD-2-Clause" -LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=500b2e742befc3da00684d8a1d5fd9da" - -DEPENDS = "autoconf-archive dbus glib-2.0 tpm2-tss glib-2.0-native \ - libtss2 libtss2-mu libtss2-tcti-device libtss2-tcti-mssim" - -SRC_URI = "\ - git://github.com/tpm2-software/tpm2-abrmd.git \ - file://tpm2-abrmd-init.sh \ - file://tpm2-abrmd.default \ -" - -SRCREV = "4cdda466010a3699ebe967d990ac715ae3de7d35" - -S = "${WORKDIR}/git" - -inherit autotools pkgconfig systemd update-rc.d useradd - -SYSTEMD_PACKAGES += "${PN}" -SYSTEMD_SERVICE_${PN} = "tpm2-abrmd.service" -SYSTEMD_AUTO_ENABLE_${PN} = "disable" - -INITSCRIPT_NAME = "${PN}" -INITSCRIPT_PARAMS = "start 99 2 3 4 5 . stop 19 0 1 6 ." - -USERADD_PACKAGES = "${PN}" -GROUPADD_PARAM_${PN} = "tss" -USERADD_PARAM_${PN} = "--system -M -d /var/lib/tpm -s /bin/false -g tss tss" - -PACKAGECONFIG ?="${@bb.utils.contains('DISTRO_FEATURES','systemd','systemd', '', d)}" -PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_system_unitdir}, --with-systemdsystemunitdir=no" - -do_install_append() { - install -d "${D}${sysconfdir}/init.d" - install -m 0755 "${WORKDIR}/tpm2-abrmd-init.sh" "${D}${sysconfdir}/init.d/tpm2-abrmd" - - install -d "${D}${sysconfdir}/default" - install -m 0644 "${WORKDIR}/tpm2-abrmd.default" "${D}${sysconfdir}/default/tpm2-abrmd" -} - -FILES_${PN} += "${libdir}/systemd/system-preset \ - ${datadir}/dbus-1" - -RDEPENDS_${PN} += "tpm2-tss" - -BBCLASSEXTEND = "native" diff --git a/meta-security/meta-tpm/recipes-tpm2/tpm2-abrmd/tpm2-abrmd_2.4.0.bb b/meta-security/meta-tpm/recipes-tpm2/tpm2-abrmd/tpm2-abrmd_2.4.0.bb new file mode 100644 index 000000000..edfcce9d1 --- /dev/null +++ b/meta-security/meta-tpm/recipes-tpm2/tpm2-abrmd/tpm2-abrmd_2.4.0.bb @@ -0,0 +1,54 @@ +SUMMARY = "TPM2 Access Broker & Resource Manager" +DESCRIPTION = "This is a system daemon implementing the TPM2 access \ +broker (TAB) & Resource Manager (RM) spec from the TCG. The daemon (tpm2-abrmd) \ +is implemented using Glib and the GObject system. In this documentation and \ +in the code we use `tpm2-abrmd` and `tabrmd` interchangeably. \ +" +SECTION = "security/tpm" + +LICENSE = "BSD-2-Clause" +LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=500b2e742befc3da00684d8a1d5fd9da" + +DEPENDS = "autoconf-archive dbus glib-2.0 tpm2-tss glib-2.0-native \ + libtss2 libtss2-mu libtss2-tcti-device libtss2-tcti-mssim" + +SRC_URI = "\ + git://github.com/tpm2-software/tpm2-abrmd.git \ + file://tpm2-abrmd-init.sh \ + file://tpm2-abrmd.default \ +" + +SRCREV = "4f332013a02c422e186c4aaf127ab6a40b996028" + +S = "${WORKDIR}/git" + +inherit autotools pkgconfig systemd update-rc.d useradd + +SYSTEMD_PACKAGES += "${PN}" +SYSTEMD_SERVICE_${PN} = "tpm2-abrmd.service" +SYSTEMD_AUTO_ENABLE_${PN} = "disable" + +INITSCRIPT_NAME = "${PN}" +INITSCRIPT_PARAMS = "start 99 2 3 4 5 . stop 19 0 1 6 ." + +USERADD_PACKAGES = "${PN}" +GROUPADD_PARAM_${PN} = "tss" +USERADD_PARAM_${PN} = "--system -M -d /var/lib/tpm -s /bin/false -g tss tss" + +PACKAGECONFIG ?="${@bb.utils.contains('DISTRO_FEATURES','systemd','systemd', '', d)}" +PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_system_unitdir}, --with-systemdsystemunitdir=no" + +do_install_append() { + install -d "${D}${sysconfdir}/init.d" + install -m 0755 "${WORKDIR}/tpm2-abrmd-init.sh" "${D}${sysconfdir}/init.d/tpm2-abrmd" + + install -d "${D}${sysconfdir}/default" + install -m 0644 "${WORKDIR}/tpm2-abrmd.default" "${D}${sysconfdir}/default/tpm2-abrmd" +} + +FILES_${PN} += "${libdir}/systemd/system-preset \ + ${datadir}/dbus-1" + +RDEPENDS_${PN} += "tpm2-tss" + +BBCLASSEXTEND = "native" diff --git a/meta-security/meta-tpm/recipes-tpm2/tpm2-pkcs11/tpm2-pkcs11_1.4.0.bb b/meta-security/meta-tpm/recipes-tpm2/tpm2-pkcs11/tpm2-pkcs11_1.4.0.bb deleted file mode 100644 index 6beb67a18..000000000 --- a/meta-security/meta-tpm/recipes-tpm2/tpm2-pkcs11/tpm2-pkcs11_1.4.0.bb +++ /dev/null @@ -1,44 +0,0 @@ -SUMMARY = "A PKCS#11 interface for TPM2 hardware" -DESCRIPTION = "PKCS #11 is a Public-Key Cryptography Standard that defines a standard method to access cryptographic services from tokens/ devices such as hardware security modules (HSM), smart cards, etc. In this project we intend to use a TPM2 device as the cryptographic token." -SECTION = "security/tpm" -LICENSE = "BSD-2-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=0fc19f620a102768d6dbd1e7166e78ab" - -DEPENDS = "autoconf-archive pkgconfig dstat sqlite3 openssl libtss2-dev tpm2-tools libyaml python3-setuptools-native" - -SRC_URI = "git://github.com/tpm2-software/tpm2-pkcs11.git;branch=1.X \ - file://bootstrap_fixup.patch \ - file://0001-remove-local-binary-checkes.patch" - -SRCREV = "78bbf6a0237351830d0c3923b25ba0b57ae0b7e9" - -S = "${WORKDIR}/git" - -inherit autotools-brokensep pkgconfig python3native - -do_configure_prepend () { - ${S}/bootstrap -} - -do_compile_append() { - cd ${S}/tools - python3 setup.py build -} - -do_install_append() { - cd ${S}/tools - export PYTHONPATH="${D}${PYTHON_SITEPACKAGES_DIR}" - ${PYTHON_PN} setup.py install --root="${D}" --prefix="${prefix}" --install-lib="${PYTHON_SITEPACKAGES_DIR}" --optimize=1 --skip-build - - sed -i -e "s:${PYTHON}:${USRBINPATH}/env ${PYTHON_PN}:g" "${D}${bindir}"/tpm2_ptool -} - -RDEPNDS_${PN} = "tpm2-tools" - -PACKAGES =+ "${PN}-tools" -RDEPENDS_${PN}-tools += "${PYTHON_PN}-setuptools ${PYTHON_PN}-pyyaml ${PYTHON_PN}-cryptography ${PYTHON_PN}-pyasn1-modules" - -FILES_${PN}-tools = "\ - ${bindir}/tpm2_ptool \ - ${libdir}/${PYTHON_DIR}/* \ -" diff --git a/meta-security/meta-tpm/recipes-tpm2/tpm2-pkcs11/tpm2-pkcs11_1.5.0.bb b/meta-security/meta-tpm/recipes-tpm2/tpm2-pkcs11/tpm2-pkcs11_1.5.0.bb new file mode 100644 index 000000000..d53d4fa86 --- /dev/null +++ b/meta-security/meta-tpm/recipes-tpm2/tpm2-pkcs11/tpm2-pkcs11_1.5.0.bb @@ -0,0 +1,44 @@ +SUMMARY = "A PKCS#11 interface for TPM2 hardware" +DESCRIPTION = "PKCS #11 is a Public-Key Cryptography Standard that defines a standard method to access cryptographic services from tokens/ devices such as hardware security modules (HSM), smart cards, etc. In this project we intend to use a TPM2 device as the cryptographic token." +SECTION = "security/tpm" +LICENSE = "BSD-2-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=0fc19f620a102768d6dbd1e7166e78ab" + +DEPENDS = "autoconf-archive pkgconfig dstat sqlite3 openssl libtss2-dev tpm2-tools libyaml python3-setuptools-native" + +SRC_URI = "git://github.com/tpm2-software/tpm2-pkcs11.git;branch=1.X \ + file://bootstrap_fixup.patch \ + file://0001-remove-local-binary-checkes.patch" + +SRCREV = "5d583351028eebd470f50ec35db5dcf00533df31" + +S = "${WORKDIR}/git" + +inherit autotools-brokensep pkgconfig python3native + +do_configure_prepend () { + ${S}/bootstrap +} + +do_compile_append() { + cd ${S}/tools + python3 setup.py build +} + +do_install_append() { + cd ${S}/tools + export PYTHONPATH="${D}${PYTHON_SITEPACKAGES_DIR}" + ${PYTHON_PN} setup.py install --root="${D}" --prefix="${prefix}" --install-lib="${PYTHON_SITEPACKAGES_DIR}" --optimize=1 --skip-build + + sed -i -e "s:${PYTHON}:${USRBINPATH}/env ${PYTHON_PN}:g" "${D}${bindir}"/tpm2_ptool +} + +RDEPNDS_${PN} = "tpm2-tools" + +PACKAGES =+ "${PN}-tools" +RDEPENDS_${PN}-tools += "${PYTHON_PN}-setuptools ${PYTHON_PN}-pyyaml ${PYTHON_PN}-cryptography ${PYTHON_PN}-pyasn1-modules" + +FILES_${PN}-tools = "\ + ${bindir}/tpm2_ptool \ + ${libdir}/${PYTHON_DIR}/* \ +" diff --git a/meta-security/meta-tpm/recipes-tpm2/tpm2-tools/tpm2-tools_4.3.0.bb b/meta-security/meta-tpm/recipes-tpm2/tpm2-tools/tpm2-tools_4.3.0.bb deleted file mode 100644 index 5bd26ab98..000000000 --- a/meta-security/meta-tpm/recipes-tpm2/tpm2-tools/tpm2-tools_4.3.0.bb +++ /dev/null @@ -1,13 +0,0 @@ -SUMMARY = "Tools for TPM2." -DESCRIPTION = "tpm2-tools" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://doc/LICENSE;md5=a846608d090aa64494c45fc147cc12e3" -SECTION = "tpm" - -DEPENDS = "tpm2-abrmd tpm2-tss openssl curl autoconf-archive" - -SRC_URI = "https://github.com/tpm2-software/${BPN}/releases/download/${PV}/${BPN}-${PV}.tar.gz" - -SRC_URI[sha256sum] = "ae009b3495b44a16faa3d94d41ac9c9d99c71723482efad53c5eea17eeed80fc" - -inherit autotools pkgconfig bash-completion diff --git a/meta-security/meta-tpm/recipes-tpm2/tpm2-tools/tpm2-tools_5.0.bb b/meta-security/meta-tpm/recipes-tpm2/tpm2-tools/tpm2-tools_5.0.bb new file mode 100644 index 000000000..dbd324aa2 --- /dev/null +++ b/meta-security/meta-tpm/recipes-tpm2/tpm2-tools/tpm2-tools_5.0.bb @@ -0,0 +1,13 @@ +SUMMARY = "Tools for TPM2." +DESCRIPTION = "tpm2-tools" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://doc/LICENSE;md5=a846608d090aa64494c45fc147cc12e3" +SECTION = "tpm" + +DEPENDS = "tpm2-abrmd tpm2-tss openssl curl autoconf-archive" + +SRC_URI = "https://github.com/tpm2-software/${BPN}/releases/download/${PV}/${BPN}-${PV}.tar.gz" + +SRC_URI[sha256sum] = "e1b907fe29877628052e08ad84eebc6c3f7646d29505ed4862e96162a8c91ba1" + +inherit autotools pkgconfig bash-completion diff --git a/meta-security/meta-tpm/recipes-tpm2/tpm2-totp/tpm2-totp_0.2.1.bb b/meta-security/meta-tpm/recipes-tpm2/tpm2-totp/tpm2-totp_0.2.1.bb deleted file mode 100644 index 264484f7a..000000000 --- a/meta-security/meta-tpm/recipes-tpm2/tpm2-totp/tpm2-totp_0.2.1.bb +++ /dev/null @@ -1,17 +0,0 @@ -SUMMARY = "Attest the trustworthiness of a device against a human using time-based one-time passwords" - -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=ed23833e93c95173c8d8913745e4b4e1" - -SECTION = "security/tpm" - -DEPENDS = "autoconf-archive libtss2-dev qrencode" - -PE = "1" - -SRCREV = "bfd581986353edc1058604e77cac804bd8b0d30a" -SRC_URI = "git://github.com/tpm2-software/tpm2-totp.git;branch=v0.2.x" - -inherit autotools-brokensep pkgconfig - -S = "${WORKDIR}/git" diff --git a/meta-security/meta-tpm/recipes-tpm2/tpm2-totp/tpm2-totp_0.3.0.bb b/meta-security/meta-tpm/recipes-tpm2/tpm2-totp/tpm2-totp_0.3.0.bb new file mode 100644 index 000000000..dfebc072d --- /dev/null +++ b/meta-security/meta-tpm/recipes-tpm2/tpm2-totp/tpm2-totp_0.3.0.bb @@ -0,0 +1,17 @@ +SUMMARY = "Attest the trustworthiness of a device against a human using time-based one-time passwords" + +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=ed23833e93c95173c8d8913745e4b4e1" + +SECTION = "security/tpm" + +DEPENDS = "autoconf-archive libtss2-dev qrencode" + +PE = "1" + +SRCREV = "96a1448753a48974149003bc90ea3990ae8e8d0b" +SRC_URI = "git://github.com/tpm2-software/tpm2-totp.git" + +inherit autotools-brokensep pkgconfig + +S = "${WORKDIR}/git" diff --git a/meta-security/meta-tpm/recipes-tpm2/tpm2-tss-engine/tpm2-tss-engine_1.0.1.bb b/meta-security/meta-tpm/recipes-tpm2/tpm2-tss-engine/tpm2-tss-engine_1.0.1.bb deleted file mode 100644 index ebd6d539e..000000000 --- a/meta-security/meta-tpm/recipes-tpm2/tpm2-tss-engine/tpm2-tss-engine_1.0.1.bb +++ /dev/null @@ -1,23 +0,0 @@ -SUMMARY = "The tpm2-tss-engine project implements a cryptographic engine for OpenSSL." -DESCRIPTION = "The tpm2-tss-engine project implements a cryptographic engine for OpenSSL for Trusted Platform Module (TPM 2.0) using the tpm2-tss software stack that follows the Trusted Computing Groups (TCG) TPM Software Stack (TSS 2.0). It uses the Enhanced System API (ESAPI) interface of the TSS 2.0 for downwards communication. It supports RSA decryption and signatures as well as ECDSA signatures." - -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=3fb0047fd29391478a71e8e6101c76eb" - -SECTION = "security/tpm" - -DEPENDS = "autoconf-archive-native bash-completion libtss2 libgcrypt openssl" - -SRCREV = "24f1383cc6befde44d6f01a51ea653304d844ffd" -SRC_URI = "git://github.com/tpm2-software/tpm2-tss-engine.git;branch=v1.0.x" - -inherit autotools-brokensep pkgconfig systemd - -S = "${WORKDIR}/git" - -PACKAGES += "${PN}-engines ${PN}-engines-staticdev ${PN}-bash-completion" - -FILES_${PN}-dev = "${libdir}/engines-1.1/tpm2tss.so ${includedir}/*" -FILES_${PN}-engines = "${libdir}/engines-1.1/lib*.so*" -FILES_${PN}-engines-staticdev = "${libdir}/engines-1.1/libtpm2tss.a" -FILES_${PN}-bash-completion += "${datadir}/bash-completion/completions" diff --git a/meta-security/meta-tpm/recipes-tpm2/tpm2-tss-engine/tpm2-tss-engine_1.1.0.bb b/meta-security/meta-tpm/recipes-tpm2/tpm2-tss-engine/tpm2-tss-engine_1.1.0.bb new file mode 100644 index 000000000..539569572 --- /dev/null +++ b/meta-security/meta-tpm/recipes-tpm2/tpm2-tss-engine/tpm2-tss-engine_1.1.0.bb @@ -0,0 +1,23 @@ +SUMMARY = "The tpm2-tss-engine project implements a cryptographic engine for OpenSSL." +DESCRIPTION = "The tpm2-tss-engine project implements a cryptographic engine for OpenSSL for Trusted Platform Module (TPM 2.0) using the tpm2-tss software stack that follows the Trusted Computing Groups (TCG) TPM Software Stack (TSS 2.0). It uses the Enhanced System API (ESAPI) interface of the TSS 2.0 for downwards communication. It supports RSA decryption and signatures as well as ECDSA signatures." + +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=7b3ab643b9ce041de515d1ed092a36d4" + +SECTION = "security/tpm" + +DEPENDS = "autoconf-archive-native bash-completion libtss2 libgcrypt openssl" + +SRCREV = "6f387a4efe2049f1b4833e8f621c77231bc1eef4" +SRC_URI = "git://github.com/tpm2-software/tpm2-tss-engine.git;branch=v1.1.x" + +inherit autotools-brokensep pkgconfig systemd + +S = "${WORKDIR}/git" + +PACKAGES += "${PN}-engines ${PN}-engines-staticdev ${PN}-bash-completion" + +FILES_${PN}-dev = "${libdir}/engines-1.1/tpm2tss.so ${includedir}/*" +FILES_${PN}-engines = "${libdir}/engines-1.1/lib*.so*" +FILES_${PN}-engines-staticdev = "${libdir}/engines-1.1/libtpm2tss.a" +FILES_${PN}-bash-completion += "${datadir}/bash-completion/completions" diff --git a/meta-security/meta-tpm/recipes-tpm2/tpm2-tss/tpm2-tss/0001-configure.ac-fix-compatibility-with-autoconf-2.70.patch b/meta-security/meta-tpm/recipes-tpm2/tpm2-tss/tpm2-tss/0001-configure.ac-fix-compatibility-with-autoconf-2.70.patch new file mode 100644 index 000000000..cae2e76e1 --- /dev/null +++ b/meta-security/meta-tpm/recipes-tpm2/tpm2-tss/tpm2-tss/0001-configure.ac-fix-compatibility-with-autoconf-2.70.patch @@ -0,0 +1,48 @@ +From 03cca78d24d716eec792f86f5b0bc69886fad981 Mon Sep 17 00:00:00 2001 +From: Patrick McCarty +Date: Fri, 18 Dec 2020 01:54:05 +0000 +Subject: [PATCH] configure.ac: fix compatibility with autoconf 2.70 + +With autoconf 2.70, not quoting the second argument to one of the AS_IF +macro expansions leads to generation of invalid shell code affecting the +first nested ERROR_IF_NO_PROG expansion. + +The invalid shell code leads to an error resembling: + + ./configure: line 18826: syntax error near unexpected token `newline' + ./configure: line 18826: ` ''' + +Fix the issue by quoting the second argument to the affected AS_IF, +similar to the quoting found elsewhere in configure.ac. + +Signed-off-by: Patrick McCarty + +Upstream-Status: Backport +Signed-off-by: Armin Kuster + +--- + configure.ac | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +Index: tpm2-tss-3.0.3/configure.ac +=================================================================== +--- tpm2-tss-3.0.3.orig/configure.ac ++++ tpm2-tss-3.0.3/configure.ac +@@ -279,7 +279,7 @@ AC_ARG_ENABLE([integration], + [build and execute integration tests])],, + [enable_integration=no]) + AS_IF([test "x$enable_integration" = "xyes"], +- AS_IF([test "$HOSTOS" = "Linux"], ++ [AS_IF([test "$HOSTOS" = "Linux"], + [ERROR_IF_NO_PROG([ss])], + [ERROR_IF_NO_PROG([sockstat])]) + ERROR_IF_NO_PROG([echo]) +@@ -328,7 +328,7 @@ AS_IF([test "x$enable_integration" = "xy + [AC_MSG_ERROR([No simulator executable found in PATH for testing TCTI.])]) + AC_SUBST([INTEGRATION_TCTI], [$integration_tcti]) + AC_SUBST([INTEGRATION_ARGS], [$integration_args]) +- AC_SUBST([ENABLE_INTEGRATION], [$enable_integration])) ++ AC_SUBST([ENABLE_INTEGRATION], [$enable_integration])]) + AM_CONDITIONAL([ENABLE_INTEGRATION],[test "x$enable_integration" = "xyes"]) + # + # sanitizer compiler flags diff --git a/meta-security/meta-tpm/recipes-tpm2/tpm2-tss/tpm2-tss_2.4.3.bb b/meta-security/meta-tpm/recipes-tpm2/tpm2-tss/tpm2-tss_2.4.3.bb deleted file mode 100644 index 78be51359..000000000 --- a/meta-security/meta-tpm/recipes-tpm2/tpm2-tss/tpm2-tss_2.4.3.bb +++ /dev/null @@ -1,76 +0,0 @@ -SUMMARY = "Software stack for TPM2." -DESCRIPTION = "OSS implementation of the TCG TPM2 Software Stack (TSS2) " -LICENSE = "BSD-2-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=500b2e742befc3da00684d8a1d5fd9da" -SECTION = "tpm" - -DEPENDS = "autoconf-archive-native libgcrypt openssl" - -SRC_URI = "https://github.com/tpm2-software/${BPN}/releases/download/${PV}/${BPN}-${PV}.tar.gz" -SRC_URI[sha256sum] = "e294677f8993234d0adfa191a5cbf9c5b83cc60c724c233e3d631c26712abea0" - -inherit autotools pkgconfig systemd extrausers - -PACKAGECONFIG ??= "" -PACKAGECONFIG[oxygen] = ",--disable-doxygen-doc, " -PACKAGECONFIG[fapi] = "--enable-fapi,--disable-fapi,json-c " - -EXTRA_OECONF += "--enable-static --with-udevrulesdir=${base_prefix}/lib/udev/rules.d/" -EXTRA_OECONF_remove = " --disable-static" - - -EXTRA_USERS_PARAMS = "\ - useradd -p '' tss; \ - groupadd tss; \ - " - -PROVIDES = "${PACKAGES}" -PACKAGES = " \ - ${PN} \ - ${PN}-dbg \ - ${PN}-doc \ - libtss2-mu \ - libtss2-mu-dev \ - libtss2-mu-staticdev \ - libtss2-tcti-device \ - libtss2-tcti-device-dev \ - libtss2-tcti-device-staticdev \ - libtss2-tcti-mssim \ - libtss2-tcti-mssim-dev \ - libtss2-tcti-mssim-staticdev \ - libtss2 \ - libtss2-dev \ - libtss2-staticdev \ -" - -FILES_libtss2-tcti-device = "${libdir}/libtss2-tcti-device.so.*" -FILES_libtss2-tcti-device-dev = " \ - ${includedir}/tss2/tss2_tcti_device.h \ - ${libdir}/pkgconfig/tss2-tcti-device.pc \ - ${libdir}/libtss2-tcti-device.so" -FILES_libtss2-tcti-device-staticdev = "${libdir}/libtss2-tcti-device.*a" - -FILES_libtss2-tcti-mssim = "${libdir}/libtss2-tcti-mssim.so.*" -FILES_libtss2-tcti-mssim-dev = " \ - ${includedir}/tss2/tss2_tcti_mssim.h \ - ${libdir}/pkgconfig/tss2-tcti-mssim.pc \ - ${libdir}/libtss2-tcti-mssim.so" -FILES_libtss2-tcti-mssim-staticdev = "${libdir}/libtss2-tcti-mssim.*a" - -FILES_libtss2-mu = "${libdir}/libtss2-mu.so.*" -FILES_libtss2-mu-dev = " \ - ${includedir}/tss2/tss2_mu.h \ - ${libdir}/pkgconfig/tss2-mu.pc \ - ${libdir}/libtss2-mu.so" -FILES_libtss2-mu-staticdev = "${libdir}/libtss2-mu.*a" - -FILES_libtss2 = "${libdir}/libtss2*so.*" -FILES_libtss2-dev = " \ - ${includedir} \ - ${libdir}/pkgconfig \ - ${libdir}/libtss2*so" -FILES_libtss2-staticdev = "${libdir}/libtss*a" - -FILES_${PN} = "${libdir}/udev ${base_prefix}/lib/udev" - -RDEPENDS_libtss2 = "libgcrypt" diff --git a/meta-security/meta-tpm/recipes-tpm2/tpm2-tss/tpm2-tss_3.0.3.bb b/meta-security/meta-tpm/recipes-tpm2/tpm2-tss/tpm2-tss_3.0.3.bb new file mode 100644 index 000000000..b2486e5be --- /dev/null +++ b/meta-security/meta-tpm/recipes-tpm2/tpm2-tss/tpm2-tss_3.0.3.bb @@ -0,0 +1,78 @@ +SUMMARY = "Software stack for TPM2." +DESCRIPTION = "OSS implementation of the TCG TPM2 Software Stack (TSS2) " +LICENSE = "BSD-2-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=500b2e742befc3da00684d8a1d5fd9da" +SECTION = "tpm" + +DEPENDS = "autoconf-archive-native libgcrypt openssl" + +SRC_URI = "https://github.com/tpm2-software/${BPN}/releases/download/${PV}/${BPN}-${PV}.tar.gz \ + file://0001-configure.ac-fix-compatibility-with-autoconf-2.70.patch \ + " +SRC_URI[sha256sum] = "78392be7309baf47f51b122f566ac915fd4d1760ea78571cba2e1484f9b5be17" + +inherit autotools pkgconfig systemd extrausers + +PACKAGECONFIG ??= "" +PACKAGECONFIG[oxygen] = ",--disable-doxygen-doc, " +PACKAGECONFIG[fapi] = "--enable-fapi,--disable-fapi,json-c " + +EXTRA_OECONF += "--enable-static --with-udevrulesdir=${base_prefix}/lib/udev/rules.d/" +EXTRA_OECONF_remove = " --disable-static" + + +EXTRA_USERS_PARAMS = "\ + useradd -p '' tss; \ + groupadd tss; \ + " + +PROVIDES = "${PACKAGES}" +PACKAGES = " \ + ${PN} \ + ${PN}-dbg \ + ${PN}-doc \ + libtss2-mu \ + libtss2-mu-dev \ + libtss2-mu-staticdev \ + libtss2-tcti-device \ + libtss2-tcti-device-dev \ + libtss2-tcti-device-staticdev \ + libtss2-tcti-mssim \ + libtss2-tcti-mssim-dev \ + libtss2-tcti-mssim-staticdev \ + libtss2 \ + libtss2-dev \ + libtss2-staticdev \ +" + +FILES_libtss2-tcti-device = "${libdir}/libtss2-tcti-device.so.*" +FILES_libtss2-tcti-device-dev = " \ + ${includedir}/tss2/tss2_tcti_device.h \ + ${libdir}/pkgconfig/tss2-tcti-device.pc \ + ${libdir}/libtss2-tcti-device.so" +FILES_libtss2-tcti-device-staticdev = "${libdir}/libtss2-tcti-device.*a" + +FILES_libtss2-tcti-mssim = "${libdir}/libtss2-tcti-mssim.so.*" +FILES_libtss2-tcti-mssim-dev = " \ + ${includedir}/tss2/tss2_tcti_mssim.h \ + ${libdir}/pkgconfig/tss2-tcti-mssim.pc \ + ${libdir}/libtss2-tcti-mssim.so" +FILES_libtss2-tcti-mssim-staticdev = "${libdir}/libtss2-tcti-mssim.*a" + +FILES_libtss2-mu = "${libdir}/libtss2-mu.so.*" +FILES_libtss2-mu-dev = " \ + ${includedir}/tss2/tss2_mu.h \ + ${libdir}/pkgconfig/tss2-mu.pc \ + ${libdir}/libtss2-mu.so" +FILES_libtss2-mu-staticdev = "${libdir}/libtss2-mu.*a" + +FILES_libtss2 = "${libdir}/libtss2*so.*" +FILES_libtss2-dev = " \ + ${includedir} \ + ${libdir}/pkgconfig \ + ${libdir}/libtss2*so" +FILES_libtss2-staticdev = "${libdir}/libtss*a" + +FILES_${PN} = "${libdir}/udev ${base_prefix}/lib/udev" + +RDEPENDS_libtss2 = "libgcrypt" diff --git a/meta-security/recipes-ids/samhain/files/samhain-fix-initializer-element-is-not-constant.patch b/meta-security/recipes-ids/samhain/files/samhain-fix-initializer-element-is-not-constant.patch new file mode 100644 index 000000000..72cb8806c --- /dev/null +++ b/meta-security/recipes-ids/samhain/files/samhain-fix-initializer-element-is-not-constant.patch @@ -0,0 +1,28 @@ +Fix error when compile for powerpc: + +| x_sh_dbIO.c: In function 'swap_short': +| x_sh_dbIO.c:229:36: error: initializer element is not constant +| 229 | static unsigned short ooop = *iptr; +| | ^ + +Upstream-Status: Pending + +Signed-off-by: Kai Kang +--- + src/sh_dbIO.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/src/sh_dbIO.c b/src/sh_dbIO.c +index b547ac5..23a9621 100644 +--- a/src/sh_dbIO.c ++++ b/src/sh_dbIO.c +@@ -226,7 +226,8 @@ static unsigned short * swap_short (unsigned short * iptr) + else + { + /* alignment problem */ +- static unsigned short ooop = *iptr; ++ static unsigned short ooop; ++ ooop = *iptr; + unsigned short hi = (ooop & 0xff00); + unsigned short lo = (ooop & 0xff); + ooop = (lo << 8) | (hi >> 8); diff --git a/meta-security/recipes-ids/samhain/samhain.inc b/meta-security/recipes-ids/samhain/samhain.inc index 6a2eb0855..0148e46cf 100644 --- a/meta-security/recipes-ids/samhain/samhain.inc +++ b/meta-security/recipes-ids/samhain/samhain.inc @@ -18,6 +18,7 @@ SRC_URI = "https://la-samhna.de/archive/samhain_signed-${PV}.tar.gz \ file://samhain-avoid-searching-host-for-postgresql.patch \ file://samhain-add-LDFLAGS-variable-for-samhain_setpwd.patch \ file://fix-build-with-new-version-attr.patch \ + file://samhain-fix-initializer-element-is-not-constant.patch \ " SRC_URI[sha256sum] = "3e57574036d5055e9557ec5095818b419ea6c4365370fc2ccce1e9f87f9fad08" diff --git a/meta-security/recipes-security/fail2ban/files/run-ptest b/meta-security/recipes-security/fail2ban/files/run-ptest index 9f6aebe82..64d07d587 100644 --- a/meta-security/recipes-security/fail2ban/files/run-ptest +++ b/meta-security/recipes-security/fail2ban/files/run-ptest @@ -1,3 +1,3 @@ #!/bin/sh -##PYTHON## fail2ban-testcases +##PYTHON## bin/fail2ban-testcases diff --git a/meta-security/recipes-security/fail2ban/python3-fail2ban_0.11.2.bb b/meta-security/recipes-security/fail2ban/python3-fail2ban_0.11.2.bb index 6767d80cf..b480c76d5 100644 --- a/meta-security/recipes-security/fail2ban/python3-fail2ban_0.11.2.bb +++ b/meta-security/recipes-security/fail2ban/python3-fail2ban_0.11.2.bb @@ -35,8 +35,9 @@ do_install_append () { do_install_ptest_append () { install -d ${D}${PTEST_PATH} + install -d ${D}${PTEST_PATH}/bin sed -i -e 's/##PYTHON##/${PYTHON_PN}/g' ${D}${PTEST_PATH}/run-ptest - install -D ${S}/fail2ban-testcases-all-python3 ${D}${PTEST_PATH} + install -D ${S}/bin/* ${D}${PTEST_PATH}/bin } FILES_${PN} += "/run" diff --git a/meta-security/recipes-security/fscryptctl/fscryptctl_1.0.0.bb b/meta-security/recipes-security/fscryptctl/fscryptctl_1.0.0.bb index 440b4e34c..df76a3d9a 100644 --- a/meta-security/recipes-security/fscryptctl/fscryptctl_1.0.0.bb +++ b/meta-security/recipes-security/fscryptctl/fscryptctl_1.0.0.bb @@ -15,7 +15,7 @@ SRC_URI = "git://github.com/google/fscryptctl.git" S = "${WORKDIR}/git" do_install() { - oe_runmake DESTDIR=${D}${bindir} install + oe_runmake DESTDIR=${D} PREFIX=/usr install } RRECOMMENDS_${PN} += "\ -- cgit v1.2.3 From 24417adb77a30def6818d0afa4f2bf1b6cf7ea56 Mon Sep 17 00:00:00 2001 From: Adriana Kobylak Date: Thu, 1 Apr 2021 15:42:54 +0000 Subject: software-manager-mmc: Use zstd instead of zstd-bin The commit meta-openembedded: subtree update:98175fd0cc..da393545a2 removed the zstd recipe (zstd_1.4.5.bb) from meta-openembedded and just left the one in oe-core (zstd_1.4.9.bb): Randy MacLeod (6): zstd: remove the recipe since it moved to oe-core The 1.4.5 recipe had a change to split the binaries by adding "inherit lib_package" to the recipe, but this change is not present in 1.4.9. We'll need to check for any zstd changes in future poky updates since the person that made the change to split the binaries in meta-openembedded might make a submission to port that change into the oe-core recipe. Even though this change will compile, it would break firmware updates on Rainier because only the zstd libraries would be installed and not the binaries. Therefore this commit must be submitted at the same time as the meta-openembedded subtree update. Change-Id: Ie7246195f5db42a1a0c402643439d312ad058a80 Signed-off-by: Adriana Kobylak --- meta-phosphor/classes/phosphor-software-manager-mmc.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/classes/phosphor-software-manager-mmc.bbclass b/meta-phosphor/classes/phosphor-software-manager-mmc.bbclass index d4eb381fc..f30f0c04f 100644 --- a/meta-phosphor/classes/phosphor-software-manager-mmc.bbclass +++ b/meta-phosphor/classes/phosphor-software-manager-mmc.bbclass @@ -9,7 +9,7 @@ EXTRA_OEMESON += "-Doptional-images='image-hostfw'" RDEPENDS_phosphor-software-manager-updater-mmc += " \ gptfdisk \ parted \ - zstd-bin \ + zstd \ " SYSTEMD_SERVICE_phosphor-software-manager-updater-mmc += " \ -- cgit v1.2.3 From 32b11995a9447d927862951d29db38455f9e0205 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Wed, 31 Mar 2021 13:37:05 -0500 Subject: meta-openembedded: subtree update:98175fd0cc..da393545a2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Aditya.Tayade (1): neon: Add ptest Andreas Müller (9): udisks2: upgrade 2.9.1 -> 2.9.2 / replace '_git' by version in recipe-name poppler: upgrade 21.02.0 -> 21.03.0 xfce4-panel: upgrade 4.16.1 -> 4.16.2 xfce4-cpugraph-plugin: upgrade 1.2.1 -> 1.2.3 xfce4-time-out-plugin: upgrade 1.1.1 -> 1.1.2 mousepad: upgrade 0.5.2 -> 0.5.3 xfce4-panel-profiles: 1.0.12 -> 1.0.13 thunar: upgrade 4.16.2 -> 4.16.4 xfce4-taskmanager: upgrade 1.4.0 -> 1.4.2 Andrei Gherzan (6): python3-pep8: Fix HOMEPAGE python3-mccabe: Fix HOMEPAGE python3-ifaddr: Integrate a dependency of pysonos python3-pysonos: Integrate the SONOS control HomeAssistant module python3-aiohue: Integrate the hue control python module packagegroup-meta-python: Add new modules (aiohue, ifaddr, pysonos) Andrej Valek (1): jsoncpp: Upgrade to 1.9.4 Bartosz Golaszewski (11): pystemd: satisfy runtime dependencies python3-pythonping: new package python3-wpa-supplicant: new package python3-txdbus: new package python3-wpa-supplicant: add runtime dependencies python3-wpa-supplicant: fix importing the cli submodule python3-wpa-supplicant: replace DESCRIPTION with SUMMARY libgpiod: update v1.6.2 -> v1.6.3 python3-txdbus: add missing runtime dependencies python3-jmespath: new package python3-docutils: new package Ben Gampe (1): python3-h11: new package Carlos Rafael Giani (1): pipewire: Upgrade to 0.3.24 Changqing Li (2): php: allow php as empty openldap: upgrade 2.4.57 -> 2.4.58 Clément Péron (2): grpc: move grpc plugins to a new grpc-compiler package nodejs: 12.20.2 -> 12.21.0 Colin McAllister (1): python3-gpsd-py3: Added recipe Daniel Wagenknecht (1): gnome-keyring: set file capabilities in pkg_postinst Denys Dmytriyenko (1): glmark2: also depend on wayland-protocols when wayland distro feature is on Devon Pringle (1): python3-pastedeploy: Add recipe Fabio Berton (1): python3-requests: Support idna version 3.1 INC@Cisco) (2): bpftool: remove recipe from blacklist bpftool: improve reproducibility Jan Kaisrlik (1): abseil-cpp: reorder content of packages Joshua Watt (1): classes: Add Android sparse image class Kai Kang (8): python3-pillow: 8.1.0 -> 8.1.2 xfce4-cpufreq-plugin: 1.2.2 -> 1.2.5 exo: 4.16.0 -> 4.16.1 xfce4-netload-plugin: 1.3.2 -> 1.4.0 xfce4-genmon-plugin: 4.1.0 -> 4.1.1 xfce4-weather-plugin: 0.10.2 -> 0.11.0 xfce4-systemload-plugin: 1.2.4 -> 1.3.0 xfce4-taskmanager: 1.4.2 -> 1.5.2 Khem Raj (63): nss: Disable Werror open-vm-tools: Do not use volatile qualifier dconf-editor: Fix build with vala 0.50.4 libbacktrace: Add recipe libleak: Add recipe packagegroup-meta-oe: Add libleak to packagegroup-meta-oe-extended mongodb: Upgrade to 4.4.4 packagegroup-meta-python: Add python3-semantic-version python3-grpcio: Upgrade to 1.36.1 python3-grpcio: Fix build on mips and musl mpv: Link libatomic on riscv64 glog: Link with libexecinfo on musl musl-nscd: Make lex syntax posix'y libbpf: Depend on virtual/kernel:do_shared_workdir waf-cross-answers: Add powerpc64le version python3-grpcio,python3-grpcio-tools: Disable for ppc64le openh264: Disable building for ppc64le ufs-utils: Upgrade to 1.9 libhugetlbfs: Fix ARCH setting for ppc64 LE nodejs: Set correct nodejs arch for ppc64le libnma: Disbale vapi xrdp: Upgrade to 0.9.15 ply: upgrade to latest ply: Disable on ppc64 ltrace: Fix build on ppc64le/musl oprofile: Fix build on musl gperftools: Update SRCREV to point to 2.9.1 release mongodb: Fix cross build on ppc64le abseil-cpp: Fix build on musl and ppc64 mariadb: Fix build on musl/ppc mongodb: Fix build on ppc64le breakpad: Upgrade to latest ssiapi: Disable for ppc64 kexec-tools-klibc: Use SITEINFO_BITS to construct includepath breakpad: Exclude for ppc64 python3-grpcio,python3-grpcio-tools: Enable build on ppc64/glibc breakpad: Do not fallback to android implementation for getcontext/setcontext on musl oprofile: Upgrade to 1.4.0 release vboxguestdrivers: Add __divmoddi4 builtin support links-x11,links: Upgrade to 2.22 layers: Drop gatesgarth from LAYERSERIES_COMPAT xxhash: Remove recipe gsound: Use () instead of {} for makefile variable in gsound_play_VALAFLAGS pipewire: Package systemd unit file for pipewire-media-session packagegroup-meta-python: Add new package python3-pythonping python3-spidev: Remove recipe for 3.2 python3-werkzeug: Clarify BSD license type python3-werkzeug: Delete recipe for 1.0.0 python3-hexdump: Move cleanup_hexfile into install_append cryptsetup: DEPEND on renamed util-linux-libuuid tracker-miners: Check for commercial license to enable ffmpeg gnome-settings-daemon: Do not generate meson.native libb64: Add recipe sysdig: Upgrade to 0.27.1 sysdig: Depend on system libb64 gimp: Disable vector iconn on rv32/musl libcamera: Update the patch to upstreamed one flashrom: Add remaining RISCV support mpd: Check for commercial in LICENSE_FLAGS_WHITELIST mpv: Exclude from world if commercial is not in inclusion list sox: Exclude from world if commercial is not in inclusion list vlc: Exclude from world if commercial is not in inclusion list sox: Remove LICENSE_FLAGS = "commercial" Leon Anavi (74): python3-elementpath: Upgrade 2.1.4 -> 2.2.0 python3-twisted: Upgrade 20.3.0 -> 21.2.0 python3-ipython: Upgrade 7.20.0 -> 7.21.0 python3-yamlloader: Upgrade 0.5.5 -> 1.0.0 python3-astroid: Upgrade 2.5 -> 2.5.1 python3-portion: Upgrade 2.1.4 -> 2.1.5 python3-pandas: Upgrade 1.2.2 -> 1.2.3 python3-ruamel-yaml: Upgrade 0.16.12 -> 0.16.13 python3-prettytable: Upgrade 2.0.0 -> 2.1.0 python3-huey: Upgrade 2.3.0 -> 2.3.1 python3-pychromecast: Upgrade 8.1.0 -> 9.1.1 python3-incremental: Upgrade 17.5.0 -> 21.3.0 python3-waitress: Upgrade 1.4.4 -> 2.0.0 python3-pako: Upgrade 0.3.0 -> 0.3.1 python3-pyscaffold: Upgrade 3.3.1 -> 4.0 python3-croniter: Upgrade 1.0.6 -> 1.0.8 python3-prompt-toolkit: Upgrade 3.0.16 -> 3.0.17 python3-pymisp: Upgrade 2.4.138 -> 2.4.140 python3-jsonpatch: Upgrade 1.31 -> 1.32 python3-jsonpointer: Upgrade 2.0 -> 2.1 python3-configargparse: Upgrade 1.3 -> 1.4 python3-luma-core: Upgrade 2.2.0 -> 2.3.1 python3-pycodestyle: Upgrade 2.6.0 -> 2.7.0 python3-bitarray: Upgrade 1.7.0 -> 1.7.1 python3-alembic: Upgrade 1.5.5 -> 1.5.7 python3-pyflakes: Upgrade 2.2.0 -> 2.3.0 python3-autobahn: Upgrade 21.2.2 -> 21.3.1 python3-pulsectl: Upgrade 21.2.0 -> 21.3.4 python3-configparser: Upgrade 5.0.1 -> 5.0.2 python3-defusedxml: Upgrade 0.6.0 -> 0.7.1 python3-twine: Upgrade 3.3.0 -> 3.4.0 python3-socketio: Upgrade 5.0.4 -> 5.1.0 python3-soupsieve: Upgrade 2.2 -> 2.2.1 python3-cassandra-driver: Upgrade 3.24.0 -> 3.25.0 python3-urllib3: Upgrade 1.26.3 -> 1.26.4 python3-bitarray: Upgrade 1.7.1 -> 1.8.0 python3-pyscaffold: Upgrade 4.0 -> 4.0.1 python3-flask-migrate: Upgrade 2.6.0 -> 2.7.0 python3-grpcio-tools: Upgrade 1.35.0 -> 1.36.1 python3-humanize: Upgrade 3.2.0 -> 3.3.0 python3-regex: Upgrade 2020.11.13 -> 2021.3.17 python3-twine: Upgrade 3.4.0 -> 3.4.1 python3-isort: Upgrade 5.7.0 -> 5.8.0 python3-sqlalchemy: Upgrade 1.3.23 -> 1.4.2 python3-scrypt: Upgrade 0.8.6 -> 0.8.17 python3-colorlog: Upgrade 4.7.2 -> 4.8.0 python3-croniter: Upgrade 1.0.8 -> 1.0.9 python3-pyperf: Upgrade 2.1.0 -> 2.2.0 python3-lazy-object-proxy: Upgrade 1.5.2 -> 1.6.0 python3-prompt-toolkit: Upgrade 3.0.17 -> 3.0.18 python3-configshell-fb: Upgrade 1.1.28 -> 1.1.29 python3-backports-functools-lru-cache: Upgrade 1.6.1 -> 1.6.3 python3-pytest-helpers-namespace: Upgrade 2019.1.8 -> 2021.3.24 python3-elementpath: Upgrade 2.2.0 -> 2.2.1 python3-alembic: Upgrade 1.5.7 -> 1.5.8 python3-rfc3339-validator: Upgrade 0.1.2 -> 0.1.3 python3-pyflakes: Upgrade 2.3.0 -> 2.3.1 python3-pint: Upgrade 0.16.1 -> 0.17 python3-flask-sqlalchemy: Upgrade 2.4.4 -> 2.5.1 python3-django: Upgrade 3.1.1 -> 3.1.7 python3-djangorestframework: Upgrade 3.12.2 -> 3.12.3 python3-ruamel-yaml: Upgrade 0.16.13 -> 0.17.0 python3-bitarray: Upgrade 1.8.0 -> 1.8.1 python3-sqlalchemy: Upgrade 1.4.2 -> 1.4.3 python3-xmlschema: Upgrade 1.5.1 -> 1.5.3 python3-croniter: Upgrade 1.0.9 -> 1.0.10 python3-astroid: Upgrade 2.5.1 -> 2.5.2 python3-pyroute2: Upgrade 0.5.14 -> 0.5.15 python3-coverage: Upgrade 5.4 -> 5.5 python3-gunicorn: Upgrade 20.0.4 -> 20.1.0 python3-djangorestframework: Upgrade 3.12.3 -> 3.12.4 python3-ipython: Upgrade 7.21.0 -> 7.22.0 python3-openpyxl: Upgrade 3.0.6 -> 3.0.7 python3-ruamel-yaml: Upgrade 0.17.0 -> 0.17.2 Luca Boccassi (3): cryptsetup: depend on new util-linux-uuid to break cycle dbus-broker: upgrade 26 -> 27 dbus-broker: upgrade 27 -> 28 Marius Kriegerowski (1): tmate: add recipe version 2.4.0 Martin Jansa (11): glog: fix searching for Libunwind ceres-solver: prevent fetching git hook during do_configure packagegroup-meta-oe: include abseil-cpp for all architectures packagegroup-meta-oe: include nodejs without meta-python2 conditional packagegroup-meta-oe: move the packages depending on meta-python2 to separate packages mysql-python, lio-utils, openlmi-tools: add conditional PNBLACKLIST like meta-python2 does conf/layer.conf: include .bbappend files in BBFILES_DYNAMIC open-vm-tools: move to meta-networking packagegroup-meta-{oe,multimedia}: move pipewire to the right packagegroup packagegroup-meta-multimedia: include projucer only with x11 in DISTRO_FEATURES packagegroup-meta-multimedia: include vlc only with x11 in DISTRO_FEATURES Matteo Croce (1): libbpf: use pkg-config Michael Vetter (1): jasper: upgrade 2.0.25 -> 2.0.26 Ming Liu (1): atftp: move atftpd.init from files to atftp subdirectory Mingli Yu (6): geoip: Switch to use the main branch geoip-perl: Switch to use the main branch bridge-utils: Switch to use the main branch netkit-telnet: Update SRC_URI quagga: Update SRC_URI hostapd: fix CVE-2019-5061 Nisha Parrakat (1): neon: use pkg-config instead of xml2-config to configure Oleksandr Kravchuk (10): ipset: update to 7.11 libnice: update to 0.1.18 nbdkit: update to 1.25.3 python3-bitarray: update to 1.7.0 python3-google-api-python-client: update to 2.0.2 python3-jsonpatch: update to 1.31 python3-websocket-client: update to 0.58.0 python3-robotframework: update to 4.0 python3-sentry-sdk: update to 1.0.0 aom: update to 3.0.0 Peace Lee (2): guider: Upgrade 3.9.7 -> 3.9.8 guider: Upgrade 3.9.7 -> 3.9.8 Persian Prince (1): tinymembench: Correct PV Philip Balister (1): fftw: Add support for ptest. Randy MacLeod (6): gperftools: upgrade 2.8.1 -> 2.9.1 zabbix: upgrade 4.4.6 -> 5.2.5 nss: upgrade 3.60.1 -> 3.62 xterm: upgrade 362 -> 366 zstd: remove the recipe since it moved to oe-core tclap: upgrade 1.2.2 -> 1.4.0 Ross Burton (3): libxmlb: upgrade to 0.3.0 flashrom: recipe cleanup openjpeg: add native/nativesdk class extension Sakib Sajal (1): grpc: upgrade 1.36.1 -> 1.36.2 Sam Van Den Berge (1): libiio: fix build when python bindings are enabled Sana Kazi (1): mdns: Whitelisted CVE-2007-0613 for mdns Stefan Schmidt (2): musl-rpmatch_git.bb: add new recipe to provide rpmatch() for musl libc builds plymouth_0.9.5.bb: allow building with musl libc Valentin Longchamp (1): libssh: add gcrypt to PACKAGECONFIG Wang Mingyu (3): czmq: Conflict resolution for sha1.h python3-lxml: upgrade 4.6.2 -> 4.6.3 python3-zopeinterface: upgrade 5.2.0 -> 5.3.0 Yann Dirson (1): mpv: remove explicit LICENSE_FLAGS Yi Fan Yu (2): librelp: update 1.6.0 -> 1.10.0 rsyslog: Fix rsyslog systemd service not starting Yi Zhao (2): quagga: do not set PIDFile in service files tclap: add pkg-config file Zang Ruochen (1): gtkwave: upgrade 3.3.104 -> 3.3.108 zangrc (15): dovecot: upgrade 2.3.13 -> 2.3.14 fetchmail: upgrade 6.4.16 -> 6.4.17 dialog: upgrade 1.3-20210117 -> 1.3-20210306 fio: upgrade 3.25 -> 3.26 xorriso: upgrade 1.5.3 -> 1.5.5 iscsi-initiator-utils: upgrade 2.1.3 -> 2.1.4 mosquitto: upgrade 2.0.8 -> 2.0.9 nbdkit: upgrade 1.25.3 -> 1.25.4 wireguard-tools: upgrade 1.0.20210223 -> 1.0.20210315 wireshark: upgrade 3.4.3 -> 3.4.4 live555: upgrade 20210129 -> 20210322 mg: upgrade 20200723 -> 20210314 nanopb: upgrade 0.4.4 -> 0.4.5 nss: upgrade 3.62 -> 3.63 uriparser: upgrade 0.9.4 -> 0.9.5 zhengruoqin (12): phpmyadmin: upgrade 5.0.4 -> 5.1.0 uthash: upgrade 2.2.0 -> 2.3.0 gd: upgrade 2.3.1 -> 2.3.2 openocd: upgrade 0.10 -> 0.11 satyr: upgrade 0.36 -> 0.37 libcrypt-openssl-guess-perl: upgrade 0.11 -> 0.12 cryptsetup: upgrade 2.3.4 -> 2.3.5 glmark2: upgrade 20201114 -> 2021.02 grpc: upgrade 1.36.2 -> 1.36.3 dialog: upgrade 1.3-20210306 -> 1.3-20210319 grpc: upgrade 1.36.3 -> 1.36.4 libgee: upgrade 0.20.3 -> 0.20.4 Signed-off-by: Andrew Geissler Change-Id: I0b18d7c12586e6038d002f02ed87f38e25bc5080 --- meta-openembedded/meta-filesystems/conf/layer.conf | 2 +- ...01-Replace-u_intXX_t-with-kernel-typedefs.patch | 54 -- .../0001-Use-asm-type.h-for-kernel-types.patch | 65 ++ .../recipes-utils/ufs-utils/ufs-utils_1.9.bb | 32 + .../recipes-utils/ufs-utils/ufs-utils_git.bb | 34 - .../recipes-utils/xorriso/xorriso_1.5.3.bb | 29 - .../recipes-utils/xorriso/xorriso_1.5.5.bb | 29 + meta-openembedded/meta-gnome/conf/layer.conf | 2 +- .../recipes-connectivity/libnma/libnma_1.8.30.bb | 5 +- .../meta-gnome/recipes-gimp/gimp/gimp_2.10.22.bb | 1 + ...n-t-alter-or-try-to-write-GtkChild-fields.patch | 522 +++++++++++++ .../recipes-gnome/dconf/dconf-editor_3.38.2.bb | 2 + .../gnome-keyring/gnome-keyring_3.36.0.bb | 8 +- .../gnome-settings-daemon_3.36.1.bb | 9 - .../gsound/gsound/0001-Set-vapidir.patch | 28 + .../recipes-gnome/gsound/gsound_1.0.2.bb | 2 + .../recipes-gnome/tracker/tracker-miners_2.3.5.bb | 2 +- meta-openembedded/meta-initramfs/conf/layer.conf | 2 +- .../recipes-kernel/kexec/kexec-tools-klibc_git.bb | 15 +- meta-openembedded/meta-multimedia/conf/layer.conf | 2 +- .../recipes-multimedia/aom/aom_2.0.0.bb | 22 - .../recipes-multimedia/aom/aom_3.0.0.bb | 22 + ...e-auto-variable-to-avoid-range-loop-warni.patch | 101 ++- .../recipes-multimedia/musicpd/mpd_0.22.6.bb | 11 +- .../recipes-multimedia/openh264/openh264_2.1.1.bb | 1 + .../packagegroups/packagegroup-meta-multimedia.bb | 6 +- .../recipes-multimedia/pipewire/pipewire_0.3.22.bb | 273 ------- .../recipes-multimedia/pipewire/pipewire_0.3.24.bb | 280 +++++++ .../recipes-multimedia/sox/sox_14.4.2.bb | 5 +- .../recipes-multimedia/vlc/vlc_3.0.12.bb | 4 +- meta-openembedded/meta-networking/conf/layer.conf | 2 +- .../cross-answers-powerpc64le.txt | 41 + .../mosquitto/mosquitto_2.0.8.bb | 91 --- .../mosquitto/mosquitto_2.0.9.bb | 91 +++ .../recipes-daemons/atftp/atftp/atftpd.init | 37 + .../recipes-daemons/atftp/files/atftpd.init | 37 - .../iscsi-initiator-utils_2.1.3.bb | 117 --- .../iscsi-initiator-utils_2.1.4.bb | 117 +++ .../recipes-filter/ipset/ipset_7.10.bb | 21 - .../recipes-filter/ipset/ipset_7.11.bb | 21 + .../wireguard/wireguard-tools_1.0.20210223.bb | 26 - .../wireguard/wireguard-tools_1.0.20210315.bb | 26 + .../netkit-telnet/netkit-telnet_0.17.bb | 2 +- .../recipes-protocols/mdns/mdns_1310.40.42.bb | 13 + .../recipes-protocols/quagga/files/bgpd.service | 1 - .../recipes-protocols/quagga/files/ospf6d.service | 1 - .../recipes-protocols/quagga/files/ospfd.service | 1 - .../recipes-protocols/quagga/files/ripd.service | 1 - .../recipes-protocols/quagga/files/ripngd.service | 1 - .../recipes-protocols/quagga/files/zebra.service | 1 - .../recipes-protocols/quagga/quagga.inc | 2 +- .../bridge-utils/bridge-utils_1.7.bb | 2 +- .../recipes-support/dovecot/dovecot_2.3.13.bb | 73 -- .../recipes-support/dovecot/dovecot_2.3.14.bb | 73 ++ .../recipes-support/fetchmail/fetchmail_6.4.16.bb | 22 - .../recipes-support/fetchmail/fetchmail_6.4.17.bb | 22 + .../recipes-support/geoip/geoip-perl_1.51.bb | 2 +- .../recipes-support/geoip/geoip_1.6.12.bb | 2 +- .../recipes-support/nbdkit/nbdkit_1.25.4.bb | 34 + .../recipes-support/nbdkit/nbdkit_git.bb | 36 - ...e-367.-Remove-references-to-deprecated-G_.patch | 94 +++ ...nvertFromNtTimeNsec-aware-of-64-bit-time_.patch | 78 ++ .../0001-configure.ac-don-t-use-dnet-config.patch | 36 + ...-hgfsmounter-Makefile.am-support-usrmerge.patch | 33 + .../0001-pollGtk-Drop-volatile-qualifier.patch | 32 + .../0001-utilBacktrace-Ignore-Warray-bounds.patch | 33 + .../0002-add-include-sys-sysmacros.h.patch | 30 + ...erLinux-Consider-64bit-time_t-possibility.patch | 41 + ...03-Use-configure-test-for-struct-timespec.patch | 45 ++ ...ix-definition-of-ALLPERMS-and-ACCESSPERMS.patch | 58 ++ ...re-to-test-for-feature-instead-of-platfor.patch | 135 ++++ ...Use-configure-test-for-sys-stat.h-include.patch | 25 + .../0007-Fix-subdir-objects-configure-error.patch | 24 + ...0008-include-poll.h-instead-of-sys-poll.h.patch | 26 + .../0009-Rename-poll.h-to-vm_poll.h.patch | 742 ++++++++++++++++++ ...osix-strerror_r-unless-on-gnu-libc-system.patch | 39 + .../0011-Use-uintmax_t-for-handling-rlim_t.patch | 29 + .../0012-Use-off64_t-instead-of-__off64_t.patch | 31 + ...3-misc-Do-not-print-NULL-string-into-logs.patch | 27 + .../open-vm-tools/open-vm-tools/tools.conf | 2 + .../open-vm-tools/open-vm-tools/vmtoolsd.init | 66 ++ .../open-vm-tools/open-vm-tools/vmtoolsd.service | 11 + .../open-vm-tools/open-vm-tools_11.0.1.bb | 116 +++ .../recipes-support/wireshark/wireshark_3.4.3.bb | 87 --- .../recipes-support/wireshark/wireshark_3.4.4.bb | 87 +++ .../meta-oe/classes/image_types_sparse.bbclass | 16 + meta-openembedded/meta-oe/conf/layer.conf | 14 +- .../mongodb/mongodb/disable_runtime_check.patch | 17 + .../mongodb/mongodb/ppc64_ARCH_BITS.patch | 18 + .../meta-python/recipes-dbs/mongodb/mongodb_git.bb | 15 +- .../recipes-devtools/nanopb/nanopb_0.4.4.bb | 29 - .../recipes-devtools/nanopb/nanopb_0.4.5.bb | 29 + .../packagegroups/packagegroup-meta-oe.bbappend | 3 + .../meta-oe/recipes-benchmark/fio/fio_3.25.bb | 45 -- .../meta-oe/recipes-benchmark/fio/fio_3.26.bb | 45 ++ .../files/0003-fix-precision-handling-bugs.patch | 138 ---- .../recipes-benchmark/glmark2/glmark2_git.bb | 7 +- .../libhugetlbfs/libhugetlbfs_git.bb | 2 +- .../tinymembench/tinymembench_git.bb | 2 +- ...eck-for-last-line-only-from-preprocessed-.patch | 57 -- ...rk-RISCV-as-non-memory-mapped-I-O-archite.patch | 44 ++ ...0001-typecast-enum-conversions-explicitly.patch | 66 +- .../flashrom/flashrom/meson-fixes.patch | 68 ++ .../meta-oe/recipes-bsp/flashrom/flashrom_1.2.bb | 16 +- .../hostapd/hostapd/CVE-2019-5061.patch | 854 +++++++++++++++++++++ .../recipes-connectivity/hostapd/hostapd_2.9.bb | 1 + .../zabbix/zabbix/0001-Fix-configure.ac.patch | 2 + .../zabbix/zabbix/CVE-2020-15803.patch | 36 - .../recipes-connectivity/zabbix/zabbix_4.4.6.bb | 79 -- .../recipes-connectivity/zabbix/zabbix_5.2.5.bb | 79 ++ .../recipes-connectivity/zeromq/czmq_4.2.1.bb | 4 + .../meta-oe/recipes-core/dbus/dbus-broker_26.bb | 33 - .../meta-oe/recipes-core/dbus/dbus-broker_28.bb | 33 + .../recipes-core/musl-rpmatch/musl-rpmatch_git.bb | 12 + .../packagegroups/packagegroup-meta-oe.bb | 55 +- .../recipes-core/plymouth/plymouth_0.9.5.bb | 3 + .../recipes-crypto/cryptsetup/cryptsetup_2.3.4.bb | 92 --- .../recipes-crypto/cryptsetup/cryptsetup_2.3.5.bb | 92 +++ .../meta-oe/recipes-dbs/mysql/mariadb.inc | 2 + .../mysql/mariadb/ppc-remove-glibc-dep.patch | 50 ++ .../recipes-dbs/mysql/mysql-python_1.2.5.bb | 2 + .../abseil-cpp/abseil-cpp/abseil-ppc-fixes.patch | 94 +++ .../recipes-devtools/abseil-cpp/abseil-cpp_git.bb | 6 +- ..._GETCONTEXT-check-to-add-local-implementa.patch | 54 ++ .../0001-Turn-off-sign-compare-for-musl-libc.patch | 9 +- ...001-disable-calls-to-getcontext-with-musl.patch | 47 -- ...-sys-reg.h-to-get-__WORDSIZE-on-musl-libc.patch | 12 +- ...fpstate-instead-of-_libc_fpstate-on-linux.patch | 60 -- ...nal.h-is-a-nonportable-alias-for-signal.h.patch | 26 - .../breakpad/0003-Dont-include-stab.h.patch | 34 +- ...cc-include-sys-reg.h-to-get-__WORDSIZE-on.patch | 38 +- .../breakpad/breakpad/mips_asm_sgidefs.patch | 18 +- .../recipes-devtools/breakpad/breakpad_git.bb | 23 +- .../meta-oe/recipes-devtools/grpc/grpc_1.36.1.bb | 75 -- .../meta-oe/recipes-devtools/grpc/grpc_1.36.4.bb | 80 ++ .../recipes-devtools/guider/guider_3.9.7.bb | 19 - .../recipes-devtools/guider/guider_3.9.8.bb | 19 + .../recipes-devtools/jsoncpp/jsoncpp_1.9.3.bb | 25 - .../recipes-devtools/jsoncpp/jsoncpp_1.9.4.bb | 25 + .../recipes-devtools/libgee/libgee_0.20.3.bb | 22 - .../recipes-devtools/libgee/libgee_0.20.4.bb | 22 + .../ltrace/ltrace/add_ppc64le.patch | 39 + .../meta-oe/recipes-devtools/ltrace/ltrace_git.bb | 2 + ...-nsswitch.y-Replace-empty-bison-extension.patch | 50 ++ .../meta-oe/recipes-devtools/musl/musl-nscd_git.bb | 1 + .../recipes-devtools/nodejs/nodejs_12.20.2.bb | 161 ---- .../recipes-devtools/nodejs/nodejs_12.21.0.bb | 161 ++++ .../recipes-devtools/openocd/openocd_git.bb | 4 +- .../meta-oe/recipes-devtools/php/php_7.4.9.bb | 2 + .../meta-oe/recipes-devtools/ply/ply_git.bb | 6 +- .../files/0001-tclap-add-pkg-config-file.patch | 50 ++ .../tclap/tclap/Makefile.am-disable-docs.patch | 31 - .../meta-oe/recipes-devtools/tclap/tclap_1.2.2.bb | 16 - .../meta-oe/recipes-devtools/tclap/tclap_1.4.0.bb | 23 + .../recipes-extended/dialog/dialog_1.3-20210117.bb | 33 - .../recipes-extended/dialog/dialog_1.3-20210319.bb | 33 + .../libbacktrace/libbacktrace_git.bb | 30 + .../0001-respect-environment-variables.patch | 25 + .../recipes-extended/libleak/libleak_git.bb | 38 + .../openlmi/openlmi-tools_0.10.5.bb | 2 + .../recipes-extended/rsyslog/librelp_1.10.0.bb | 18 + .../recipes-extended/rsyslog/librelp_1.6.0.bb | 18 - ...ith-musl-backtrace-APIs-are-glibc-specifi.patch | 49 -- .../sysdig/sysdig/fix-uint64-const.patch | 16 - .../meta-oe/recipes-extended/sysdig/sysdig_git.bb | 9 +- .../meta-oe/recipes-extended/tmate/tmate_2.4.0.bb | 17 + .../zstd/0001-Fix-legacy-build-after-2103.patch | 27 - .../meta-oe/recipes-extended/zstd/zstd_1.4.5.bb | 39 - .../recipes-gnome/libxmlb/libxmlb_0.1.15.bb | 19 - .../meta-oe/recipes-gnome/libxmlb/libxmlb_0.3.0.bb | 19 + .../recipes-graphics/gtkwave/gtkwave_3.3.104.bb | 23 - .../recipes-graphics/gtkwave/gtkwave_3.3.108.bb | 23 + .../recipes-graphics/jasper/jasper_2.0.25.bb | 24 - .../recipes-graphics/jasper/jasper_2.0.26.bb | 24 + .../recipes-graphics/openjpeg/openjpeg_2.4.0.bb | 2 + .../meta-oe/recipes-graphics/xorg-app/xterm_362.bb | 48 -- .../meta-oe/recipes-graphics/xorg-app/xterm_366.bb | 48 ++ .../meta-oe/recipes-kernel/bpftool/bpftool.bb | 13 +- .../meta-oe/recipes-kernel/libbpf/libbpf_0.3.bb | 6 +- .../meta-oe/recipes-kernel/oprofile/oprofile.inc | 66 -- ...Add-rmb-definition-for-NIOS2-architecture.patch | 30 - .../oprofile/0001-Fix-build-with-musl.patch | 55 ++ .../oprofile/0001-Use-new-bfd-APIs-from-2.34.patch | 79 -- ...-replace-sym_iterator-0-with-sym_iterator.patch | 131 ---- ...002-Fix-configure-when-bin-sh-is-not-bash.patch | 40 + ...C-preprocessor-variable-to-improve-reprod.patch | 30 + ...Use-BUILD_DATE-to-improve-reproducibility.patch | 63 ++ ...Add-rmb-definition-for-NIOS2-architecture.patch | 31 + ...-replace-sym_iterator-0-with-sym_iterator.patch | 131 ++++ ...esn-t-want-GNU-levels-of-automake-strictn.patch | 23 + ...0008-include-linux-limits.h-for-MAX_INPUT.patch | 30 + ...ning-check-tests-on-host-if-cross-compili.patch | 113 +++ ...termine-the-root-home-directory-dynamical.patch | 46 ++ .../oprofile/oprofile/automake-foreign.patch | 12 - .../recipes-kernel/oprofile/oprofile/musl.patch | 46 -- .../oprofile/oprofile-cross-compile-tests.patch | 98 --- .../oprofile/oprofile/root-home-dir.patch | 44 -- .../recipes-kernel/oprofile/oprofile_1.3.0.bb | 13 - .../recipes-kernel/oprofile/oprofile_1.4.0.bb | 75 ++ .../recipes-multimedia/live555/live555_20210129.bb | 62 -- .../recipes-multimedia/live555/live555_20210322.bb | 62 ++ .../recipes-multimedia/mplayer/mpv_0.32.0.bb | 6 +- .../ceres-solver/ceres-solver_2.0.0.bb | 8 + .../recipes-support/farsight/libnice_0.1.16.bb | 40 - .../recipes-support/farsight/libnice_0.1.18.bb | 43 ++ .../recipes-support/fftw/fftw/club-libtool.patch | 9 + .../recipes-support/fftw/fftw/install-bench.patch | 41 + .../meta-oe/recipes-support/fftw/fftw/run-ptest | 30 + .../meta-oe/recipes-support/fftw/fftw_3.3.8.bb | 22 +- .../meta-oe/recipes-support/gd/gd_2.3.1.bb | 54 -- .../meta-oe/recipes-support/gd/gd_2.3.2.bb | 54 ++ .../0001-Find-Libunwind-during-configure.patch | 3 +- .../recipes-support/glog/glog/libexecinfo.patch | 29 + .../meta-oe/recipes-support/glog/glog_0.4.0.bb | 4 + ...heap-checkers-and-debug-allocator-on-musl.patch | 6 +- .../gperftools/0001-fix-build-with-musl-libc.patch | 13 +- ...e-handler-Specify-libc-specific-thread_id.patch | 38 - .../gperftools/disable_libunwind_aarch64.patch | 4 +- .../gperftools/gperftools/ppc-musl.patch | 66 ++ .../gperftools/gperftools/sgidef.patch | 2 - .../recipes-support/gperftools/gperftools_2.8.1.bb | 50 -- .../recipes-support/gperftools/gperftools_2.9.1.bb | 66 ++ .../libb64/0001-example-Do-not-run-the-tests.patch | 27 + .../libb64/0002-use-BUFSIZ-as-buffer-size.patch | 57 ++ .../libb64/libb64/0003-fix-integer-overflows.patch | 77 ++ .../libb64/libb64/0004-Fix-off-by-one-error.patch | 26 + .../0005-make-overriding-CFLAGS-possible.patch | 40 + ...do-not-export-the-CHARS_PER_LINE-variable.patch | 27 + ...encoder-decoder-state-in-the-constructors.patch | 44 ++ .../meta-oe/recipes-support/libb64/libb64_1.2.1.bb | 39 + .../recipes-support/libgpiod/libgpiod_1.6.2.bb | 44 -- .../recipes-support/libgpiod/libgpiod_1.6.3.bb | 44 ++ .../meta-oe/recipes-support/libiio/libiio_git.bb | 26 +- .../meta-oe/recipes-support/libssh/libssh_0.8.9.bb | 6 +- .../recipes-support/links/links-x11_2.20.2.bb | 53 -- .../recipes-support/links/links-x11_2.22.bb | 29 + .../meta-oe/recipes-support/links/links_2.21.bb | 15 - .../meta-oe/recipes-support/links/links_2.22.bb | 12 + .../recipes-support/lio-utils/lio-utils_4.1.bb | 2 + .../meta-oe/recipes-support/mg/mg_20200723.bb | 38 - .../meta-oe/recipes-support/mg/mg_20210314.bb | 38 + .../neon/neon/fix-package-check-for-libxml2.patch | 50 ++ .../meta-oe/recipes-support/neon/neon/run-ptest | 25 + .../meta-oe/recipes-support/neon/neon_0.30.2.bb | 16 +- .../nss/nss/nss-fix-nsinstall-build.patch | 2 +- .../meta-oe/recipes-support/nss/nss_3.60.1.bb | 282 ------- .../meta-oe/recipes-support/nss/nss_3.63.bb | 283 +++++++ ...e-367.-Remove-references-to-deprecated-G_.patch | 94 --- ...nvertFromNtTimeNsec-aware-of-64-bit-time_.patch | 78 -- .../0001-configure.ac-don-t-use-dnet-config.patch | 36 - ...-hgfsmounter-Makefile.am-support-usrmerge.patch | 33 - .../0001-utilBacktrace-Ignore-Warray-bounds.patch | 33 - .../0002-add-include-sys-sysmacros.h.patch | 30 - ...erLinux-Consider-64bit-time_t-possibility.patch | 41 - ...03-Use-configure-test-for-struct-timespec.patch | 45 -- ...ix-definition-of-ALLPERMS-and-ACCESSPERMS.patch | 58 -- ...re-to-test-for-feature-instead-of-platfor.patch | 135 ---- ...Use-configure-test-for-sys-stat.h-include.patch | 25 - .../0007-Fix-subdir-objects-configure-error.patch | 24 - ...0008-include-poll.h-instead-of-sys-poll.h.patch | 26 - .../0009-Rename-poll.h-to-vm_poll.h.patch | 742 ------------------ ...osix-strerror_r-unless-on-gnu-libc-system.patch | 39 - .../0011-Use-uintmax_t-for-handling-rlim_t.patch | 29 - .../0012-Use-off64_t-instead-of-__off64_t.patch | 31 - ...3-misc-Do-not-print-NULL-string-into-logs.patch | 27 - .../open-vm-tools/open-vm-tools/tools.conf | 2 - .../open-vm-tools/open-vm-tools/vmtoolsd.init | 66 -- .../open-vm-tools/open-vm-tools/vmtoolsd.service | 11 - .../open-vm-tools/open-vm-tools_11.0.1.bb | 116 --- .../recipes-support/openldap/openldap_2.4.57.bb | 256 ------ .../recipes-support/openldap/openldap_2.4.58.bb | 256 ++++++ .../recipes-support/poppler/poppler_21.02.0.bb | 51 -- .../recipes-support/poppler/poppler_21.03.0.bb | 51 ++ .../meta-oe/recipes-support/satyr/satyr_0.36.bb | 35 - .../meta-oe/recipes-support/satyr/satyr_0.37.bb | 35 + .../meta-oe/recipes-support/ssiapi/ssiapi_1.3.0.bb | 1 + .../recipes-support/udisks/udisks2_2.9.2.bb | 53 ++ .../meta-oe/recipes-support/udisks/udisks2_git.bb | 56 -- .../recipes-support/uriparser/uriparser_0.9.4.bb | 16 - .../recipes-support/uriparser/uriparser_0.9.5.bb | 16 + .../meta-oe/recipes-support/uthash/uthash_2.2.0.bb | 46 -- .../meta-oe/recipes-support/uthash/uthash_2.3.0.bb | 46 ++ .../vboxguestdrivers/add__divmoddi4.patch | 36 + .../vboxguestdrivers/vboxguestdrivers_6.1.18.bb | 1 + ...piler-warnings-about-snprintf-truncations.patch | 28 - .../0001-arch-Define-NO_NEED_ALIGN-on-ppc64.patch | 22 + .../0001-correct-the-location-of-errno.h.patch | 30 - ...cv-doesn-t-require-pointers-to-be-aligned.patch | 28 - .../meta-oe/recipes-support/xrdp/xrdp_0.9.14.bb | 96 --- .../meta-oe/recipes-support/xrdp/xrdp_0.9.15.bb | 94 +++ .../meta-oe/recipes-support/xxhash/xxhash_0.8.0.bb | 21 - meta-openembedded/meta-perl/conf/layer.conf | 2 +- .../libcrypt/libcrypt-openssl-guess-perl_0.11.bb | 37 - .../libcrypt/libcrypt-openssl-guess-perl_0.12.bb | 37 + meta-openembedded/meta-python/conf/layer.conf | 2 +- .../packagegroups/packagegroup-meta-python.bb | 13 + .../python/python3-aiohue_2.2.0.bb | 12 + .../python/python3-alembic_1.5.5.bb | 16 - .../python/python3-alembic_1.5.8.bb | 16 + .../python/python3-astroid_2.5.2.bb | 32 + .../recipes-devtools/python/python3-astroid_2.5.bb | 32 - .../python/python3-autobahn_21.2.2.bb | 23 - .../python/python3-autobahn_21.3.1.bb | 23 + .../python3-backports-functools-lru-cache_1.6.1.bb | 32 - .../python3-backports-functools-lru-cache_1.6.3.bb | 31 + .../python/python3-bitarray_1.6.3.bb | 10 - .../python/python3-bitarray_1.8.1.bb | 10 + .../python/python3-cassandra-driver_3.24.0.bb | 35 - .../python/python3-cassandra-driver_3.25.0.bb | 34 + .../python/python3-colorlog_4.7.2.bb | 10 - .../python/python3-colorlog_4.8.0.bb | 10 + .../python/python3-configargparse_1.3.bb | 20 - .../python/python3-configargparse_1.4.bb | 20 + .../python/python3-configparser_5.0.1.bb | 14 - .../python/python3-configparser_5.0.2.bb | 13 + .../python/python3-configshell-fb_1.1.28.bb | 16 - .../python/python3-configshell-fb_1.1.29.bb | 16 + .../python/python3-coverage_5.4.bb | 9 - .../python/python3-coverage_5.5.bb | 9 + .../python/python3-croniter_1.0.10.bb | 12 + .../python/python3-croniter_1.0.6.bb | 12 - .../python/python3-defusedxml_0.6.0.bb | 11 - .../python/python3-defusedxml_0.7.1.bb | 10 + .../python/python3-django_3.1.1.bb | 14 - .../python/python3-django_3.1.7.bb | 13 + .../python/python3-djangorestframework_3.12.2.bb | 16 - .../python/python3-djangorestframework_3.12.4.bb | 16 + .../python/python3-docutils_0.16.bb | 10 + .../python/python3-elementpath_2.1.4.bb | 11 - .../python/python3-elementpath_2.2.1.bb | 11 + .../python/python3-flask-migrate_2.6.0.bb | 15 - .../python/python3-flask-migrate_2.7.0.bb | 15 + .../python/python3-flask-sqlalchemy_2.4.4.bb | 12 - .../python/python3-flask-sqlalchemy_2.5.1.bb | 11 + .../python3-google-api-python-client_1.12.8.bb | 8 - .../python3-google-api-python-client_2.0.2.bb | 9 + .../python/python3-gpsd-py3_0.3.0.bb | 16 + .../python/python3-grpcio-tools_1.35.0.bb | 18 - .../python/python3-grpcio-tools_1.36.1.bb | 22 + .../0001-absl-always-use-asm-sgidefs.h.patch | 33 + .../python/python3-grpcio/mips_bigendian.patch | 15 + .../python3-grpcio/ppc-boringssl-support.patch | 2 +- .../python/python3-grpcio/riscv64_support.patch | 2 +- .../python/python3-grpcio_1.35.0.bb | 43 -- .../python/python3-grpcio_1.36.1.bb | 49 ++ .../python/python3-gunicorn_20.0.4.bb | 24 - .../python/python3-gunicorn_20.1.0.bb | 23 + .../recipes-devtools/python/python3-h11_0.12.0.bb | 8 + .../recipes-devtools/python/python3-hexdump_3.3.bb | 4 +- .../recipes-devtools/python/python3-huey_2.3.0.bb | 12 - .../recipes-devtools/python/python3-huey_2.3.1.bb | 11 + .../python/python3-humanize_3.2.0.bb | 19 - .../python/python3-humanize_3.3.0.bb | 19 + .../python/python3-ifaddr_0.1.7.bb | 10 + .../python/python3-incremental_17.5.0.bb | 20 - .../python/python3-incremental_21.3.0.bb | 19 + .../python/python3-ipython_7.20.0.bb | 28 - .../python/python3-ipython_7.22.0.bb | 28 + .../recipes-devtools/python/python3-isort_5.7.0.bb | 16 - .../recipes-devtools/python/python3-isort_5.8.0.bb | 16 + .../python/python3-jmespath_0.10.0.bb | 12 + .../python/python3-jsonpatch_1.28.bb | 10 - .../python/python3-jsonpatch_1.32.bb | 15 + .../python/python3-jsonpointer_2.0.bb | 27 - .../python/python3-jsonpointer_2.1.bb | 26 + .../python/python3-lazy-object-proxy_1.5.2.bb | 11 - .../python/python3-lazy-object-proxy_1.6.0.bb | 11 + .../python/python3-luma-core_2.2.0.bb | 19 - .../python/python3-luma-core_2.3.1.bb | 19 + .../recipes-devtools/python/python3-lxml_4.6.2.bb | 41 - .../recipes-devtools/python/python3-lxml_4.6.3.bb | 41 + .../python/python3-mccabe_0.6.1.bb | 2 +- .../python/python3-openpyxl_3.0.6.bb | 14 - .../python/python3-openpyxl_3.0.7.bb | 14 + .../recipes-devtools/python/python3-pako_0.3.0.bb | 12 - .../recipes-devtools/python/python3-pako_0.3.1.bb | 12 + .../python/python3-pandas_1.2.2.bb | 24 - .../python/python3-pandas_1.2.3.bb | 24 + .../python/python3-pastedeploy_2.1.1.bb | 21 + .../recipes-devtools/python/python3-pep8_1.7.1.bb | 2 +- .../python/python3-pillow_8.1.0.bb | 37 - .../python/python3-pillow_8.1.2.bb | 37 + .../recipes-devtools/python/python3-pint_0.16.1.bb | 36 - .../recipes-devtools/python/python3-pint_0.17.bb | 35 + .../python/python3-portion_2.1.4.bb | 12 - .../python/python3-portion_2.1.5.bb | 12 + .../python/python3-prettytable_2.0.0.bb | 39 - .../python/python3-prettytable_2.1.0.bb | 39 + .../python/python3-prompt-toolkit_3.0.16.bb | 23 - .../python/python3-prompt-toolkit_3.0.18.bb | 23 + .../python/python3-pulsectl_21.2.0.bb | 10 - .../python/python3-pulsectl_21.3.4.bb | 10 + .../python/python3-pychromecast_8.1.0.bb | 10 - .../python/python3-pychromecast_9.1.1.bb | 10 + .../python/python3-pycodestyle_2.6.0.bb | 12 - .../python/python3-pycodestyle_2.7.0.bb | 11 + .../python/python3-pyflakes_2.2.0.bb | 16 - .../python/python3-pyflakes_2.3.1.bb | 15 + .../python/python3-pymisp_2.4.138.bb | 22 - .../python/python3-pymisp_2.4.140.bb | 22 + .../python/python3-pyperf_2.1.0.bb | 23 - .../python/python3-pyperf_2.2.0.bb | 23 + .../python/python3-pyroute2_0.5.14.bb | 37 - .../python/python3-pyroute2_0.5.15.bb | 36 + .../python/python3-pyscaffold_3.3.1.bb | 17 - .../python/python3-pyscaffold_4.0.1.bb | 17 + .../python/python3-pysonos_0.0.40.bb | 15 + .../python/python3-pystemd_0.8.0.bb | 1 + .../python3-pytest-helpers-namespace_2019.1.8.bb | 14 - .../python3-pytest-helpers-namespace_2021.3.24.bb | 18 + .../python/python3-pythonping_1.0.16.bb | 12 + .../python/python3-regex_2020.11.13.bb | 10 - .../python/python3-regex_2021.3.17.bb | 10 + .../setup.py-Support-idna-version-3.1.patch | 40 + .../python/python3-requests_2.25.1.bb | 2 + .../python/python3-rfc3339-validator_0.1.2.bb | 21 - .../python/python3-rfc3339-validator_0.1.3.bb | 20 + .../python/python3-robotframework_3.2.2.bb | 27 - .../python/python3-robotframework_4.0.bb | 27 + .../python/python3-ruamel-yaml_0.16.12.bb | 20 - .../python/python3-ruamel-yaml_0.17.2.bb | 19 + .../python/python3-scrypt_0.8.17.bb | 23 + .../python/python3-scrypt_0.8.6.bb | 24 - .../python/python3-sentry-sdk_0.20.3.bb | 11 - .../python/python3-sentry-sdk_1.0.0.bb | 12 + .../python/python3-socketio_5.0.4.bb | 27 - .../python/python3-socketio_5.1.0.bb | 27 + .../python/python3-soupsieve_2.2.1.bb | 25 + .../python/python3-soupsieve_2.2.bb | 25 - .../recipes-devtools/python/python3-spidev_3.2.bb | 16 - .../python/python3-sqlalchemy_1.3.23.bb | 19 - .../python/python3-sqlalchemy_1.4.3.bb | 19 + .../recipes-devtools/python/python3-twine_3.3.0.bb | 14 - .../recipes-devtools/python/python3-twine_3.4.1.bb | 14 + .../python/python3-twisted_20.3.0.bb | 325 -------- .../python/python3-twisted_21.2.0.bb | 324 ++++++++ .../python/python3-txdbus_1.1.2.bb | 13 + .../python/python3-urllib3_1.26.3.bb | 22 - .../python/python3-urllib3_1.26.4.bb | 22 + .../python/python3-waitress_1.4.4.bb | 12 - .../python/python3-waitress_2.0.0.bb | 11 + .../python/python3-websocket-client_0.57.0.bb | 18 - .../python/python3-websocket-client_0.58.0.bb | 18 + .../python/python3-werkzeug_1.0.0.bb | 50 -- .../python/python3-werkzeug_1.0.1.bb | 2 +- ...e-second-argument-from-click.argument-dec.patch | 127 +++ .../python/python3-wpa-supplicant_0.2.bb | 16 + .../python/python3-xmlschema_1.5.1.bb | 19 - .../python/python3-xmlschema_1.5.3.bb | 19 + .../python/python3-yamlloader_0.5.5.bb | 13 - .../python/python3-yamlloader_1.0.0.bb | 12 + .../python/python3-zopeinterface_5.2.0.bb | 23 - .../python/python3-zopeinterface_5.3.0.bb | 23 + meta-openembedded/meta-webserver/conf/layer.conf | 2 +- .../recipes-php/phpmyadmin/phpmyadmin_5.0.4.bb | 41 - .../recipes-php/phpmyadmin/phpmyadmin_5.1.0.bb | 41 + meta-openembedded/meta-xfce/conf/layer.conf | 2 +- .../recipes-apps/mousepad/mousepad_0.5.2.bb | 16 - .../recipes-apps/mousepad/mousepad_0.5.3.bb | 16 + .../0001-Makefile.in.in-remove-bashisms.patch | 56 -- .../xfce4-panel-profiles_1.0.12.bb | 30 - .../xfce4-panel-profiles_1.0.13.bb | 29 + .../xfce4-taskmanager/xfce4-taskmanager_1.4.0.bb | 9 - .../xfce4-taskmanager/xfce4-taskmanager_1.5.2.bb | 9 + ...-memory-leak-and-reduce-cpu-load-slightly.patch | 121 --- .../xfce4-cpufreq-plugin-1.2.1-gcc10-common.patch | 41 - .../cpufreq/xfce4-cpufreq-plugin_1.2.2.bb | 12 - .../cpufreq/xfce4-cpufreq-plugin_1.2.5.bb | 8 + .../cpugraph/xfce4-cpugraph-plugin_1.2.1.bb | 8 - .../cpugraph/xfce4-cpugraph-plugin_1.2.3.bb | 8 + .../genmon/xfce4-genmon-plugin_4.1.0.bb | 8 - .../genmon/xfce4-genmon-plugin_4.1.1.bb | 8 + .../netload/xfce4-netload-plugin_1.3.2.bb | 10 - .../netload/xfce4-netload-plugin_1.4.0.bb | 9 + .../systemload/xfce4-systemload-plugin_1.2.4.bb | 10 - .../systemload/xfce4-systemload-plugin_1.3.0.bb | 10 + .../time-out/xfce4-time-out-plugin_1.1.1.bb | 10 - .../time-out/xfce4-time-out-plugin_1.1.2.bb | 9 + .../weather/xfce4-weather-plugin_0.10.2.bb | 12 - .../weather/xfce4-weather-plugin_0.11.0.bb | 12 + .../meta-xfce/recipes-xfce/exo/exo_4.16.0.bb | 24 - .../meta-xfce/recipes-xfce/exo/exo_4.16.1.bb | 24 + .../meta-xfce/recipes-xfce/thunar/thunar_4.16.2.bb | 28 - .../meta-xfce/recipes-xfce/thunar/thunar_4.16.4.bb | 28 + .../recipes-xfce/xfce4-panel/xfce4-panel_4.16.1.bb | 40 - .../recipes-xfce/xfce4-panel/xfce4-panel_4.16.2.bb | 40 + 486 files changed, 10693 insertions(+), 8252 deletions(-) delete mode 100644 meta-openembedded/meta-filesystems/recipes-utils/ufs-utils/ufs-utils/0001-Replace-u_intXX_t-with-kernel-typedefs.patch create mode 100644 meta-openembedded/meta-filesystems/recipes-utils/ufs-utils/ufs-utils/0001-Use-asm-type.h-for-kernel-types.patch create mode 100644 meta-openembedded/meta-filesystems/recipes-utils/ufs-utils/ufs-utils_1.9.bb delete mode 100644 meta-openembedded/meta-filesystems/recipes-utils/ufs-utils/ufs-utils_git.bb delete mode 100644 meta-openembedded/meta-filesystems/recipes-utils/xorriso/xorriso_1.5.3.bb create mode 100644 meta-openembedded/meta-filesystems/recipes-utils/xorriso/xorriso_1.5.5.bb create mode 100644 meta-openembedded/meta-gnome/recipes-gnome/dconf/dconf-editor/0001-Don-t-alter-or-try-to-write-GtkChild-fields.patch create mode 100644 meta-openembedded/meta-gnome/recipes-gnome/gsound/gsound/0001-Set-vapidir.patch delete mode 100644 meta-openembedded/meta-multimedia/recipes-multimedia/aom/aom_2.0.0.bb create mode 100644 meta-openembedded/meta-multimedia/recipes-multimedia/aom/aom_3.0.0.bb delete mode 100644 meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.22.bb create mode 100644 meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.24.bb create mode 100644 meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-powerpc64le.txt delete mode 100644 meta-openembedded/meta-networking/recipes-connectivity/mosquitto/mosquitto_2.0.8.bb create mode 100644 meta-openembedded/meta-networking/recipes-connectivity/mosquitto/mosquitto_2.0.9.bb create mode 100644 meta-openembedded/meta-networking/recipes-daemons/atftp/atftp/atftpd.init delete mode 100644 meta-openembedded/meta-networking/recipes-daemons/atftp/files/atftpd.init delete mode 100644 meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/iscsi-initiator-utils_2.1.3.bb create mode 100644 meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/iscsi-initiator-utils_2.1.4.bb delete mode 100644 meta-openembedded/meta-networking/recipes-filter/ipset/ipset_7.10.bb create mode 100644 meta-openembedded/meta-networking/recipes-filter/ipset/ipset_7.11.bb delete mode 100644 meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-tools_1.0.20210223.bb create mode 100644 meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-tools_1.0.20210315.bb delete mode 100644 meta-openembedded/meta-networking/recipes-support/dovecot/dovecot_2.3.13.bb create mode 100644 meta-openembedded/meta-networking/recipes-support/dovecot/dovecot_2.3.14.bb delete mode 100644 meta-openembedded/meta-networking/recipes-support/fetchmail/fetchmail_6.4.16.bb create mode 100644 meta-openembedded/meta-networking/recipes-support/fetchmail/fetchmail_6.4.17.bb create mode 100644 meta-openembedded/meta-networking/recipes-support/nbdkit/nbdkit_1.25.4.bb delete mode 100644 meta-openembedded/meta-networking/recipes-support/nbdkit/nbdkit_git.bb create mode 100644 meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-GitHub-Issue-367.-Remove-references-to-deprecated-G_.patch create mode 100644 meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-Make-HgfsConvertFromNtTimeNsec-aware-of-64-bit-time_.patch create mode 100644 meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-configure.ac-don-t-use-dnet-config.patch create mode 100644 meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-hgfsmounter-Makefile.am-support-usrmerge.patch create mode 100644 meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-pollGtk-Drop-volatile-qualifier.patch create mode 100644 meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-utilBacktrace-Ignore-Warray-bounds.patch create mode 100644 meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0002-add-include-sys-sysmacros.h.patch create mode 100644 meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0002-hgfsServerLinux-Consider-64bit-time_t-possibility.patch create mode 100644 meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0003-Use-configure-test-for-struct-timespec.patch create mode 100644 meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0004-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch create mode 100644 meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0005-Use-configure-to-test-for-feature-instead-of-platfor.patch create mode 100644 meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0006-Use-configure-test-for-sys-stat.h-include.patch create mode 100644 meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0007-Fix-subdir-objects-configure-error.patch create mode 100644 meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0008-include-poll.h-instead-of-sys-poll.h.patch create mode 100644 meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0009-Rename-poll.h-to-vm_poll.h.patch create mode 100644 meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0010-use-posix-strerror_r-unless-on-gnu-libc-system.patch create mode 100644 meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0011-Use-uintmax_t-for-handling-rlim_t.patch create mode 100644 meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0012-Use-off64_t-instead-of-__off64_t.patch create mode 100644 meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0013-misc-Do-not-print-NULL-string-into-logs.patch create mode 100644 meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/tools.conf create mode 100644 meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/vmtoolsd.init create mode 100644 meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/vmtoolsd.service create mode 100644 meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools_11.0.1.bb delete mode 100644 meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_3.4.3.bb create mode 100644 meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_3.4.4.bb create mode 100644 meta-openembedded/meta-oe/classes/image_types_sparse.bbclass create mode 100644 meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/disable_runtime_check.patch create mode 100644 meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/ppc64_ARCH_BITS.patch delete mode 100644 meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-devtools/nanopb/nanopb_0.4.4.bb create mode 100644 meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-devtools/nanopb/nanopb_0.4.5.bb delete mode 100644 meta-openembedded/meta-oe/recipes-benchmark/fio/fio_3.25.bb create mode 100644 meta-openembedded/meta-oe/recipes-benchmark/fio/fio_3.26.bb delete mode 100644 meta-openembedded/meta-oe/recipes-benchmark/glmark2/files/0003-fix-precision-handling-bugs.patch delete mode 100644 meta-openembedded/meta-oe/recipes-bsp/flashrom/flashrom/0001-Makefile-Check-for-last-line-only-from-preprocessed-.patch create mode 100644 meta-openembedded/meta-oe/recipes-bsp/flashrom/flashrom/0001-flashrom-Mark-RISCV-as-non-memory-mapped-I-O-archite.patch create mode 100644 meta-openembedded/meta-oe/recipes-bsp/flashrom/flashrom/meson-fixes.patch create mode 100644 meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/CVE-2019-5061.patch delete mode 100644 meta-openembedded/meta-oe/recipes-connectivity/zabbix/zabbix/CVE-2020-15803.patch delete mode 100644 meta-openembedded/meta-oe/recipes-connectivity/zabbix/zabbix_4.4.6.bb create mode 100644 meta-openembedded/meta-oe/recipes-connectivity/zabbix/zabbix_5.2.5.bb delete mode 100644 meta-openembedded/meta-oe/recipes-core/dbus/dbus-broker_26.bb create mode 100644 meta-openembedded/meta-oe/recipes-core/dbus/dbus-broker_28.bb create mode 100644 meta-openembedded/meta-oe/recipes-core/musl-rpmatch/musl-rpmatch_git.bb delete mode 100644 meta-openembedded/meta-oe/recipes-crypto/cryptsetup/cryptsetup_2.3.4.bb create mode 100644 meta-openembedded/meta-oe/recipes-crypto/cryptsetup/cryptsetup_2.3.5.bb create mode 100644 meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/ppc-remove-glibc-dep.patch create mode 100644 meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/abseil-ppc-fixes.patch create mode 100644 meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-Remove-HAVE_GETCONTEXT-check-to-add-local-implementa.patch delete mode 100644 meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-disable-calls-to-getcontext-with-musl.patch delete mode 100644 meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0002-Use-_fpstate-instead-of-_libc_fpstate-on-linux.patch delete mode 100644 meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0002-sys-signal.h-is-a-nonportable-alias-for-signal.h.patch delete mode 100644 meta-openembedded/meta-oe/recipes-devtools/grpc/grpc_1.36.1.bb create mode 100644 meta-openembedded/meta-oe/recipes-devtools/grpc/grpc_1.36.4.bb delete mode 100644 meta-openembedded/meta-oe/recipes-devtools/guider/guider_3.9.7.bb create mode 100644 meta-openembedded/meta-oe/recipes-devtools/guider/guider_3.9.8.bb delete mode 100644 meta-openembedded/meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.9.3.bb create mode 100644 meta-openembedded/meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.9.4.bb delete mode 100644 meta-openembedded/meta-oe/recipes-devtools/libgee/libgee_0.20.3.bb create mode 100644 meta-openembedded/meta-oe/recipes-devtools/libgee/libgee_0.20.4.bb create mode 100644 meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/add_ppc64le.patch create mode 100644 meta-openembedded/meta-oe/recipes-devtools/musl/musl-nscd/0001-nsswitch.y-Replace-empty-bison-extension.patch delete mode 100644 meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_12.20.2.bb create mode 100644 meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_12.21.0.bb create mode 100644 meta-openembedded/meta-oe/recipes-devtools/tclap/files/0001-tclap-add-pkg-config-file.patch delete mode 100644 meta-openembedded/meta-oe/recipes-devtools/tclap/tclap/Makefile.am-disable-docs.patch delete mode 100644 meta-openembedded/meta-oe/recipes-devtools/tclap/tclap_1.2.2.bb create mode 100644 meta-openembedded/meta-oe/recipes-devtools/tclap/tclap_1.4.0.bb delete mode 100644 meta-openembedded/meta-oe/recipes-extended/dialog/dialog_1.3-20210117.bb create mode 100644 meta-openembedded/meta-oe/recipes-extended/dialog/dialog_1.3-20210319.bb create mode 100644 meta-openembedded/meta-oe/recipes-extended/libbacktrace/libbacktrace_git.bb create mode 100644 meta-openembedded/meta-oe/recipes-extended/libleak/libleak/0001-respect-environment-variables.patch create mode 100644 meta-openembedded/meta-oe/recipes-extended/libleak/libleak_git.bb create mode 100644 meta-openembedded/meta-oe/recipes-extended/rsyslog/librelp_1.10.0.bb delete mode 100644 meta-openembedded/meta-oe/recipes-extended/rsyslog/librelp_1.6.0.bb delete mode 100644 meta-openembedded/meta-oe/recipes-extended/sysdig/sysdig/0001-Fix-build-with-musl-backtrace-APIs-are-glibc-specifi.patch delete mode 100644 meta-openembedded/meta-oe/recipes-extended/sysdig/sysdig/fix-uint64-const.patch create mode 100644 meta-openembedded/meta-oe/recipes-extended/tmate/tmate_2.4.0.bb delete mode 100644 meta-openembedded/meta-oe/recipes-extended/zstd/zstd/0001-Fix-legacy-build-after-2103.patch delete mode 100644 meta-openembedded/meta-oe/recipes-extended/zstd/zstd_1.4.5.bb delete mode 100644 meta-openembedded/meta-oe/recipes-gnome/libxmlb/libxmlb_0.1.15.bb create mode 100644 meta-openembedded/meta-oe/recipes-gnome/libxmlb/libxmlb_0.3.0.bb delete mode 100644 meta-openembedded/meta-oe/recipes-graphics/gtkwave/gtkwave_3.3.104.bb create mode 100644 meta-openembedded/meta-oe/recipes-graphics/gtkwave/gtkwave_3.3.108.bb delete mode 100644 meta-openembedded/meta-oe/recipes-graphics/jasper/jasper_2.0.25.bb create mode 100644 meta-openembedded/meta-oe/recipes-graphics/jasper/jasper_2.0.26.bb delete mode 100644 meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_362.bb create mode 100644 meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_366.bb delete mode 100644 meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile.inc delete mode 100644 meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0001-Add-rmb-definition-for-NIOS2-architecture.patch create mode 100644 meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0001-Fix-build-with-musl.patch delete mode 100644 meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0001-Use-new-bfd-APIs-from-2.34.patch delete mode 100644 meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0001-replace-sym_iterator-0-with-sym_iterator.patch create mode 100644 meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0002-Fix-configure-when-bin-sh-is-not-bash.patch create mode 100644 meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0003-Define-the-C-preprocessor-variable-to-improve-reprod.patch create mode 100644 meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0004-Use-BUILD_DATE-to-improve-reproducibility.patch create mode 100644 meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0005-Add-rmb-definition-for-NIOS2-architecture.patch create mode 100644 meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0006-replace-sym_iterator-0-with-sym_iterator.patch create mode 100644 meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0007-oprofile-doesn-t-want-GNU-levels-of-automake-strictn.patch create mode 100644 meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0008-include-linux-limits.h-for-MAX_INPUT.patch create mode 100644 meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0009-Prevent-running-check-tests-on-host-if-cross-compili.patch create mode 100644 meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0010-oprofile-Determine-the-root-home-directory-dynamical.patch delete mode 100644 meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/automake-foreign.patch delete mode 100644 meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/musl.patch delete mode 100644 meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/oprofile-cross-compile-tests.patch delete mode 100644 meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/root-home-dir.patch delete mode 100644 meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile_1.3.0.bb create mode 100644 meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile_1.4.0.bb delete mode 100644 meta-openembedded/meta-oe/recipes-multimedia/live555/live555_20210129.bb create mode 100644 meta-openembedded/meta-oe/recipes-multimedia/live555/live555_20210322.bb delete mode 100644 meta-openembedded/meta-oe/recipes-support/farsight/libnice_0.1.16.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/farsight/libnice_0.1.18.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/fftw/fftw/club-libtool.patch create mode 100644 meta-openembedded/meta-oe/recipes-support/fftw/fftw/install-bench.patch create mode 100644 meta-openembedded/meta-oe/recipes-support/fftw/fftw/run-ptest delete mode 100644 meta-openembedded/meta-oe/recipes-support/gd/gd_2.3.1.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/gd/gd_2.3.2.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/glog/glog/libexecinfo.patch delete mode 100644 meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/0001-profile-handler-Specify-libc-specific-thread_id.patch create mode 100644 meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/ppc-musl.patch delete mode 100644 meta-openembedded/meta-oe/recipes-support/gperftools/gperftools_2.8.1.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/gperftools/gperftools_2.9.1.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/libb64/libb64/0001-example-Do-not-run-the-tests.patch create mode 100644 meta-openembedded/meta-oe/recipes-support/libb64/libb64/0002-use-BUFSIZ-as-buffer-size.patch create mode 100644 meta-openembedded/meta-oe/recipes-support/libb64/libb64/0003-fix-integer-overflows.patch create mode 100644 meta-openembedded/meta-oe/recipes-support/libb64/libb64/0004-Fix-off-by-one-error.patch create mode 100644 meta-openembedded/meta-oe/recipes-support/libb64/libb64/0005-make-overriding-CFLAGS-possible.patch create mode 100644 meta-openembedded/meta-oe/recipes-support/libb64/libb64/0006-do-not-export-the-CHARS_PER_LINE-variable.patch create mode 100644 meta-openembedded/meta-oe/recipes-support/libb64/libb64/0007-initialize-encoder-decoder-state-in-the-constructors.patch create mode 100644 meta-openembedded/meta-oe/recipes-support/libb64/libb64_1.2.1.bb delete mode 100644 meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_1.6.2.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_1.6.3.bb delete mode 100644 meta-openembedded/meta-oe/recipes-support/links/links-x11_2.20.2.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/links/links-x11_2.22.bb delete mode 100644 meta-openembedded/meta-oe/recipes-support/links/links_2.21.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/links/links_2.22.bb delete mode 100644 meta-openembedded/meta-oe/recipes-support/mg/mg_20200723.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/mg/mg_20210314.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/neon/neon/fix-package-check-for-libxml2.patch create mode 100644 meta-openembedded/meta-oe/recipes-support/neon/neon/run-ptest delete mode 100644 meta-openembedded/meta-oe/recipes-support/nss/nss_3.60.1.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/nss/nss_3.63.bb delete mode 100644 meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-GitHub-Issue-367.-Remove-references-to-deprecated-G_.patch delete mode 100644 meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-Make-HgfsConvertFromNtTimeNsec-aware-of-64-bit-time_.patch delete mode 100644 meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-configure.ac-don-t-use-dnet-config.patch delete mode 100644 meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-hgfsmounter-Makefile.am-support-usrmerge.patch delete mode 100644 meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-utilBacktrace-Ignore-Warray-bounds.patch delete mode 100644 meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0002-add-include-sys-sysmacros.h.patch delete mode 100644 meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0002-hgfsServerLinux-Consider-64bit-time_t-possibility.patch delete mode 100644 meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0003-Use-configure-test-for-struct-timespec.patch delete mode 100644 meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0004-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch delete mode 100644 meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0005-Use-configure-to-test-for-feature-instead-of-platfor.patch delete mode 100644 meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0006-Use-configure-test-for-sys-stat.h-include.patch delete mode 100644 meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0007-Fix-subdir-objects-configure-error.patch delete mode 100644 meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0008-include-poll.h-instead-of-sys-poll.h.patch delete mode 100644 meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0009-Rename-poll.h-to-vm_poll.h.patch delete mode 100644 meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0010-use-posix-strerror_r-unless-on-gnu-libc-system.patch delete mode 100644 meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0011-Use-uintmax_t-for-handling-rlim_t.patch delete mode 100644 meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0012-Use-off64_t-instead-of-__off64_t.patch delete mode 100644 meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0013-misc-Do-not-print-NULL-string-into-logs.patch delete mode 100644 meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/tools.conf delete mode 100644 meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/vmtoolsd.init delete mode 100644 meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/vmtoolsd.service delete mode 100644 meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools_11.0.1.bb delete mode 100644 meta-openembedded/meta-oe/recipes-support/openldap/openldap_2.4.57.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/openldap/openldap_2.4.58.bb delete mode 100644 meta-openembedded/meta-oe/recipes-support/poppler/poppler_21.02.0.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/poppler/poppler_21.03.0.bb delete mode 100644 meta-openembedded/meta-oe/recipes-support/satyr/satyr_0.36.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/satyr/satyr_0.37.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/udisks/udisks2_2.9.2.bb delete mode 100644 meta-openembedded/meta-oe/recipes-support/udisks/udisks2_git.bb delete mode 100644 meta-openembedded/meta-oe/recipes-support/uriparser/uriparser_0.9.4.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/uriparser/uriparser_0.9.5.bb delete mode 100644 meta-openembedded/meta-oe/recipes-support/uthash/uthash_2.2.0.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/uthash/uthash_2.3.0.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/add__divmoddi4.patch delete mode 100644 meta-openembedded/meta-oe/recipes-support/xrdp/xrdp/0001-Fixed-compiler-warnings-about-snprintf-truncations.patch create mode 100644 meta-openembedded/meta-oe/recipes-support/xrdp/xrdp/0001-arch-Define-NO_NEED_ALIGN-on-ppc64.patch delete mode 100644 meta-openembedded/meta-oe/recipes-support/xrdp/xrdp/0001-correct-the-location-of-errno.h.patch delete mode 100644 meta-openembedded/meta-oe/recipes-support/xrdp/xrdp/0001-riscv-doesn-t-require-pointers-to-be-aligned.patch delete mode 100644 meta-openembedded/meta-oe/recipes-support/xrdp/xrdp_0.9.14.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/xrdp/xrdp_0.9.15.bb delete mode 100644 meta-openembedded/meta-oe/recipes-support/xxhash/xxhash_0.8.0.bb delete mode 100644 meta-openembedded/meta-perl/recipes-perl/libcrypt/libcrypt-openssl-guess-perl_0.11.bb create mode 100644 meta-openembedded/meta-perl/recipes-perl/libcrypt/libcrypt-openssl-guess-perl_0.12.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-aiohue_2.2.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-alembic_1.5.5.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-alembic_1.5.8.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_2.5.2.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_2.5.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-autobahn_21.2.2.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-autobahn_21.3.1.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-backports-functools-lru-cache_1.6.1.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-backports-functools-lru-cache_1.6.3.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_1.6.3.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_1.8.1.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-cassandra-driver_3.24.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-cassandra-driver_3.25.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-colorlog_4.7.2.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-colorlog_4.8.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-configargparse_1.3.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-configargparse_1.4.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-configparser_5.0.1.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-configparser_5.0.2.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-configshell-fb_1.1.28.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-configshell-fb_1.1.29.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-coverage_5.4.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-coverage_5.5.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-croniter_1.0.10.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-croniter_1.0.6.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-defusedxml_0.6.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-defusedxml_0.7.1.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-django_3.1.1.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-django_3.1.7.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-djangorestframework_3.12.2.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-djangorestframework_3.12.4.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-docutils_0.16.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-elementpath_2.1.4.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-elementpath_2.2.1.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-flask-migrate_2.6.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-flask-migrate_2.7.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-flask-sqlalchemy_2.4.4.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-flask-sqlalchemy_2.5.1.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_1.12.8.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.0.2.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-gpsd-py3_0.3.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio-tools_1.35.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio-tools_1.36.1.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio/0001-absl-always-use-asm-sgidefs.h.patch create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio/mips_bigendian.patch delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio_1.35.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio_1.36.1.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-gunicorn_20.0.4.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-gunicorn_20.1.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-h11_0.12.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-huey_2.3.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-huey_2.3.1.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-humanize_3.2.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-humanize_3.3.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-ifaddr_0.1.7.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-incremental_17.5.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-incremental_21.3.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-ipython_7.20.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-ipython_7.22.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-isort_5.7.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-isort_5.8.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-jmespath_0.10.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-jsonpatch_1.28.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-jsonpatch_1.32.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-jsonpointer_2.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-jsonpointer_2.1.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-lazy-object-proxy_1.5.2.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-lazy-object-proxy_1.6.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-luma-core_2.2.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-luma-core_2.3.1.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-lxml_4.6.2.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-lxml_4.6.3.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-openpyxl_3.0.6.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-openpyxl_3.0.7.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pako_0.3.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pako_0.3.1.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pandas_1.2.2.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pandas_1.2.3.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pastedeploy_2.1.1.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pillow_8.1.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pillow_8.1.2.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pint_0.16.1.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pint_0.17.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-portion_2.1.4.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-portion_2.1.5.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-prettytable_2.0.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-prettytable_2.1.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-prompt-toolkit_3.0.16.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-prompt-toolkit_3.0.18.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pulsectl_21.2.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pulsectl_21.3.4.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pychromecast_8.1.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pychromecast_9.1.1.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pycodestyle_2.6.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pycodestyle_2.7.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pyflakes_2.2.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pyflakes_2.3.1.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.138.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.140.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pyperf_2.1.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pyperf_2.2.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pyroute2_0.5.14.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pyroute2_0.5.15.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pyscaffold_3.3.1.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pyscaffold_4.0.1.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pysonos_0.0.40.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-helpers-namespace_2019.1.8.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-helpers-namespace_2021.3.24.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pythonping_1.0.16.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-regex_2020.11.13.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-regex_2021.3.17.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-requests/setup.py-Support-idna-version-3.1.patch delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-rfc3339-validator_0.1.2.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-rfc3339-validator_0.1.3.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-robotframework_3.2.2.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-robotframework_4.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-ruamel-yaml_0.16.12.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-ruamel-yaml_0.17.2.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-scrypt_0.8.17.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-scrypt_0.8.6.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-sentry-sdk_0.20.3.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-sentry-sdk_1.0.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-socketio_5.0.4.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-socketio_5.1.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-soupsieve_2.2.1.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-soupsieve_2.2.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-spidev_3.2.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_1.3.23.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_1.4.3.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-twine_3.3.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-twine_3.4.1.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-twisted_20.3.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-twisted_21.2.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-txdbus_1.1.2.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-urllib3_1.26.3.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-urllib3_1.26.4.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-waitress_1.4.4.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-waitress_2.0.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-websocket-client_0.57.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-websocket-client_0.58.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-werkzeug_1.0.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-wpa-supplicant/0001-cli-drop-the-second-argument-from-click.argument-dec.patch create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-wpa-supplicant_0.2.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-xmlschema_1.5.1.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-xmlschema_1.5.3.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-yamlloader_0.5.5.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-yamlloader_1.0.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-zopeinterface_5.2.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-zopeinterface_5.3.0.bb delete mode 100644 meta-openembedded/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_5.0.4.bb create mode 100644 meta-openembedded/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_5.1.0.bb delete mode 100644 meta-openembedded/meta-xfce/recipes-apps/mousepad/mousepad_0.5.2.bb create mode 100644 meta-openembedded/meta-xfce/recipes-apps/mousepad/mousepad_0.5.3.bb delete mode 100644 meta-openembedded/meta-xfce/recipes-apps/xfce4-panel-profiles/xfce4-panel-profiles/0001-Makefile.in.in-remove-bashisms.patch delete mode 100644 meta-openembedded/meta-xfce/recipes-apps/xfce4-panel-profiles/xfce4-panel-profiles_1.0.12.bb create mode 100644 meta-openembedded/meta-xfce/recipes-apps/xfce4-panel-profiles/xfce4-panel-profiles_1.0.13.bb delete mode 100644 meta-openembedded/meta-xfce/recipes-apps/xfce4-taskmanager/xfce4-taskmanager_1.4.0.bb create mode 100644 meta-openembedded/meta-xfce/recipes-apps/xfce4-taskmanager/xfce4-taskmanager_1.5.2.bb delete mode 100644 meta-openembedded/meta-xfce/recipes-panel-plugins/cpufreq/xfce4-cpufreq-plugin/0001-Fix-memory-leak-and-reduce-cpu-load-slightly.patch delete mode 100644 meta-openembedded/meta-xfce/recipes-panel-plugins/cpufreq/xfce4-cpufreq-plugin/xfce4-cpufreq-plugin-1.2.1-gcc10-common.patch delete mode 100644 meta-openembedded/meta-xfce/recipes-panel-plugins/cpufreq/xfce4-cpufreq-plugin_1.2.2.bb create mode 100644 meta-openembedded/meta-xfce/recipes-panel-plugins/cpufreq/xfce4-cpufreq-plugin_1.2.5.bb delete mode 100644 meta-openembedded/meta-xfce/recipes-panel-plugins/cpugraph/xfce4-cpugraph-plugin_1.2.1.bb create mode 100644 meta-openembedded/meta-xfce/recipes-panel-plugins/cpugraph/xfce4-cpugraph-plugin_1.2.3.bb delete mode 100644 meta-openembedded/meta-xfce/recipes-panel-plugins/genmon/xfce4-genmon-plugin_4.1.0.bb create mode 100644 meta-openembedded/meta-xfce/recipes-panel-plugins/genmon/xfce4-genmon-plugin_4.1.1.bb delete mode 100644 meta-openembedded/meta-xfce/recipes-panel-plugins/netload/xfce4-netload-plugin_1.3.2.bb create mode 100644 meta-openembedded/meta-xfce/recipes-panel-plugins/netload/xfce4-netload-plugin_1.4.0.bb delete mode 100644 meta-openembedded/meta-xfce/recipes-panel-plugins/systemload/xfce4-systemload-plugin_1.2.4.bb create mode 100644 meta-openembedded/meta-xfce/recipes-panel-plugins/systemload/xfce4-systemload-plugin_1.3.0.bb delete mode 100644 meta-openembedded/meta-xfce/recipes-panel-plugins/time-out/xfce4-time-out-plugin_1.1.1.bb create mode 100644 meta-openembedded/meta-xfce/recipes-panel-plugins/time-out/xfce4-time-out-plugin_1.1.2.bb delete mode 100644 meta-openembedded/meta-xfce/recipes-panel-plugins/weather/xfce4-weather-plugin_0.10.2.bb create mode 100644 meta-openembedded/meta-xfce/recipes-panel-plugins/weather/xfce4-weather-plugin_0.11.0.bb delete mode 100644 meta-openembedded/meta-xfce/recipes-xfce/exo/exo_4.16.0.bb create mode 100644 meta-openembedded/meta-xfce/recipes-xfce/exo/exo_4.16.1.bb delete mode 100644 meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_4.16.2.bb create mode 100644 meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_4.16.4.bb delete mode 100644 meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.16.1.bb create mode 100644 meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.16.2.bb diff --git a/meta-openembedded/meta-filesystems/conf/layer.conf b/meta-openembedded/meta-filesystems/conf/layer.conf index 343f5209c..ae93a36b4 100644 --- a/meta-openembedded/meta-filesystems/conf/layer.conf +++ b/meta-openembedded/meta-filesystems/conf/layer.conf @@ -15,4 +15,4 @@ LAYERVERSION_filesystems-layer = "1" LAYERDEPENDS_filesystems-layer = "core openembedded-layer" -LAYERSERIES_COMPAT_filesystems-layer = "gatesgarth hardknott" +LAYERSERIES_COMPAT_filesystems-layer = " hardknott" diff --git a/meta-openembedded/meta-filesystems/recipes-utils/ufs-utils/ufs-utils/0001-Replace-u_intXX_t-with-kernel-typedefs.patch b/meta-openembedded/meta-filesystems/recipes-utils/ufs-utils/ufs-utils/0001-Replace-u_intXX_t-with-kernel-typedefs.patch deleted file mode 100644 index e69a3cf1f..000000000 --- a/meta-openembedded/meta-filesystems/recipes-utils/ufs-utils/ufs-utils/0001-Replace-u_intXX_t-with-kernel-typedefs.patch +++ /dev/null @@ -1,54 +0,0 @@ -From 6cf6f5b9c39dfd0d46f2069c3baeab92ae980367 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Sun, 15 Dec 2019 00:58:13 -0800 -Subject: [PATCH] Replace u_intXX_t with kernel typedefs - -u_intXX_t requires including sys/types.h which might not work in kernel -code, if this header is used in a kernel module - -Fixes -| In file included from ufs.c:16: -| In file included from ./ufs.h:9: -| ./scsi_bsg_util.h:131:2: error: unknown type name 'u_int16_t'; did you mean 'uint16_t'? -| u_int16_t result; -| ^~~~~~~~~ - -Upstream-Status: Submitted [https://github.com/westerndigitalcorporation/ufs-utils/pull/23] - -Signed-off-by: Khem Raj ---- - scsi_bsg_util.h | 18 +++++++++--------- - 1 file changed, 9 insertions(+), 9 deletions(-) - -diff --git a/scsi_bsg_util.h b/scsi_bsg_util.h -index 3f8a482..497c3ae 100644 ---- a/scsi_bsg_util.h -+++ b/scsi_bsg_util.h -@@ -121,15 +121,15 @@ struct ufs_bsg_reply { - #endif /* SCSI_BSG_UFS_H.*/ - - struct rpmb_frame { -- u_int8_t stuff[196]; -- u_int8_t key_mac[32]; -- u_int8_t data[256]; -- u_int8_t nonce[16]; -- u_int32_t write_counter; -- u_int16_t addr; -- u_int16_t block_count; -- u_int16_t result; -- u_int16_t req_resp; -+ __u8 stuff[196]; -+ __u8 key_mac[32]; -+ __u8 data[256]; -+ __u8 nonce[16]; -+ __u32 write_counter; -+ __u16 addr; -+ __u16 block_count; -+ __u16 result; -+ __u16 req_resp; - }; - - #define BSG_REPLY_SZ (sizeof(struct ufs_bsg_reply)) --- -2.24.1 - diff --git a/meta-openembedded/meta-filesystems/recipes-utils/ufs-utils/ufs-utils/0001-Use-asm-type.h-for-kernel-types.patch b/meta-openembedded/meta-filesystems/recipes-utils/ufs-utils/ufs-utils/0001-Use-asm-type.h-for-kernel-types.patch new file mode 100644 index 000000000..08cf87016 --- /dev/null +++ b/meta-openembedded/meta-filesystems/recipes-utils/ufs-utils/ufs-utils/0001-Use-asm-type.h-for-kernel-types.patch @@ -0,0 +1,65 @@ +From 517f841ccac59b0579e706dd768d6c7b1a7e7552 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 12 Mar 2021 10:37:21 -0800 +Subject: [PATCH] Use asm/type.h for kernel types + +This ensures that right headers for types is included otherwise it can +conflict for some platforms e.g. ppc64 where it includes the underlying +files conditionally + +asm/types.h is + +if !defined(__SANE_USERSPACE_TYPES__) && defined(__powerpc64__) && !defined(__KERNEL__) + include +else + include +endif + +Upstream-Status: Submitted [https://github.com/westerndigitalcorporation/ufs-utils/pull/29] +Signed-off-by: Khem Raj +--- + ufs.h | 1 - + ufs_cmds.h | 2 +- + ufs_ffu.c | 1 - + 3 files changed, 1 insertion(+), 3 deletions(-) + +diff --git a/ufs.h b/ufs.h +index dc51367..0321c54 100644 +--- a/ufs.h ++++ b/ufs.h +@@ -4,7 +4,6 @@ + + #ifndef UFS_H_ + #define UFS_H_ +-#include + #include "ioctl.h" + #include "scsi_bsg_util.h" + +diff --git a/ufs_cmds.h b/ufs_cmds.h +index 1e7e24d..5c5b045 100644 +--- a/ufs_cmds.h ++++ b/ufs_cmds.h +@@ -5,7 +5,7 @@ + #define UFS_CMNDS_H_ + + #include "options.h" +-#include ++#include + + + enum field_width { +diff --git a/ufs_ffu.c b/ufs_ffu.c +index 2bcec44..99b479c 100644 +--- a/ufs_ffu.c ++++ b/ufs_ffu.c +@@ -12,7 +12,6 @@ + #include + #include + #include +-#include + + #include "ufs.h" + #include "ufs_cmds.h" +-- +2.30.2 + diff --git a/meta-openembedded/meta-filesystems/recipes-utils/ufs-utils/ufs-utils_1.9.bb b/meta-openembedded/meta-filesystems/recipes-utils/ufs-utils/ufs-utils_1.9.bb new file mode 100644 index 000000000..e23c764a0 --- /dev/null +++ b/meta-openembedded/meta-filesystems/recipes-utils/ufs-utils/ufs-utils_1.9.bb @@ -0,0 +1,32 @@ +SUMMARY = "Tool to access UFS (Universal Flash Storage) devices" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" + +BRANCH ?= "dev" + +SRCREV = "517c0b01e47d4441cc45be351509fb4c96843d5a" + +SRC_URI = "git://github.com/westerndigitalcorporation/ufs-utils.git;protocol=git;branch=${BRANCH} \ + file://0001-Use-asm-type.h-for-kernel-types.patch \ +" + +UPSTREAM_CHECK_COMMITS = "1" + +S = "${WORKDIR}/git" + +EXTRA_OEMAKE = "CROSS_COMPILE=${TARGET_PREFIX} CC="${CC}" CFLAGS="${CFLAGS}"" + +CFLAGS_append_mipsarchn64 = " -D__SANE_USERSPACE_TYPES__ -D_GNU_SOURCE" + +do_configure() { + sed -i -e "s|-static$||g" ${S}/Makefile +} + +do_install() { + install -D -m 755 ${S}/ufs-utils ${D}${bindir}/ufs-utils +} + +PROVIDES += "ufs-tool" + +RPROVIDES_${PN} += "ufs-tool" + diff --git a/meta-openembedded/meta-filesystems/recipes-utils/ufs-utils/ufs-utils_git.bb b/meta-openembedded/meta-filesystems/recipes-utils/ufs-utils/ufs-utils_git.bb deleted file mode 100644 index 23583650b..000000000 --- a/meta-openembedded/meta-filesystems/recipes-utils/ufs-utils/ufs-utils_git.bb +++ /dev/null @@ -1,34 +0,0 @@ -SUMMARY = "Tool to access UFS (Universal Flash Storage) devices" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" - -PV = "1.6+git${SRCPV}" - -BRANCH ?= "dev" - -SRCREV = "a3cf93b66f4606a46354cf884d24aa966661f848" - -SRC_URI = "git://github.com/westerndigitalcorporation/ufs-utils.git;protocol=git;branch=${BRANCH} \ - file://0001-Replace-u_intXX_t-with-kernel-typedefs.patch \ -" - -UPSTREAM_CHECK_COMMITS = "1" - -S = "${WORKDIR}/git" - -EXTRA_OEMAKE = "CROSS_COMPILE=${TARGET_PREFIX} CC="${CC}" CFLAGS="${CFLAGS}"" - -CFLAGS_append_mipsarchn64 = " -D__SANE_USERSPACE_TYPES__ -D_GNU_SOURCE" - -do_configure() { - sed -i -e "s|-static$||g" ${S}/Makefile -} - -do_install() { - install -D -m 755 ${S}/ufs-utils ${D}${bindir}/ufs-utils -} - -PROVIDES += "ufs-tool" - -RPROVIDES_${PN} += "ufs-tool" - diff --git a/meta-openembedded/meta-filesystems/recipes-utils/xorriso/xorriso_1.5.3.bb b/meta-openembedded/meta-filesystems/recipes-utils/xorriso/xorriso_1.5.3.bb deleted file mode 100644 index 30224c202..000000000 --- a/meta-openembedded/meta-filesystems/recipes-utils/xorriso/xorriso_1.5.3.bb +++ /dev/null @@ -1,29 +0,0 @@ -DESCRIPTION = "xorriso copies file objects from POSIX compliant filesystems \ -into Rock Ridge enhanced ISO 9660 filesystems and allows session-wise \ -manipulation of such filesystems" - -LICENSE = "GPLv3" -LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" - -SRC_URI = "http://www.gnu.org/software/${BPN}/${BPN}-${PV}.tar.gz" - -SRC_URI[md5sum] = "d6b16763a2ca23eec718cfac1761b40f" -SRC_URI[sha256sum] = "97a9c9831fa1b053f781f74a17b79327e7402c6163f5c7973453ba881616aeb4" - -PACKAGECONFIG ??= "acl attr zlib bzip2 readline" -PACKAGECONFIG[acl] = "--enable-libacl,--disable-libacl,acl," -PACKAGECONFIG[attr] = "--enable-xattr,--disable-xattr,attr," -PACKAGECONFIG[zlib] = "--enable-zlib,--disable-zlib,zlib," -PACKAGECONFIG[bzip2] = "--enable-libbz2,--disable-libbz2,bzip2," -PACKAGECONFIG[readline] = "--enable-libreadline,--disable-libreadline,readline," - -inherit autotools-brokensep pkgconfig features_check - -do_configure_prepend () { - touch NEWS -} - -RDEPENDS_${PN} = "tk" -REQUIRED_DISTRO_FEATURES = "x11" - -BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-filesystems/recipes-utils/xorriso/xorriso_1.5.5.bb b/meta-openembedded/meta-filesystems/recipes-utils/xorriso/xorriso_1.5.5.bb new file mode 100644 index 000000000..75b66d923 --- /dev/null +++ b/meta-openembedded/meta-filesystems/recipes-utils/xorriso/xorriso_1.5.5.bb @@ -0,0 +1,29 @@ +DESCRIPTION = "xorriso copies file objects from POSIX compliant filesystems \ +into Rock Ridge enhanced ISO 9660 filesystems and allows session-wise \ +manipulation of such filesystems" + +LICENSE = "GPLv3" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" + +SRC_URI = "http://www.gnu.org/software/${BPN}/${BPN}-${PV}.tar.gz" + +SRC_URI[md5sum] = "a5e3dc4e0b92be6837f9ed6cbf7f9df5" +SRC_URI[sha256sum] = "91663d61bee61ff790b3f6861fdf57c54af0e238ab14f297b55bae8ab5d17684" + +PACKAGECONFIG ??= "acl attr zlib bzip2 readline" +PACKAGECONFIG[acl] = "--enable-libacl,--disable-libacl,acl," +PACKAGECONFIG[attr] = "--enable-xattr,--disable-xattr,attr," +PACKAGECONFIG[zlib] = "--enable-zlib,--disable-zlib,zlib," +PACKAGECONFIG[bzip2] = "--enable-libbz2,--disable-libbz2,bzip2," +PACKAGECONFIG[readline] = "--enable-libreadline,--disable-libreadline,readline," + +inherit autotools-brokensep pkgconfig features_check + +do_configure_prepend () { + touch NEWS +} + +RDEPENDS_${PN} = "tk" +REQUIRED_DISTRO_FEATURES = "x11" + +BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-gnome/conf/layer.conf b/meta-openembedded/meta-gnome/conf/layer.conf index 5e92cdbd7..ba2d59948 100644 --- a/meta-openembedded/meta-gnome/conf/layer.conf +++ b/meta-openembedded/meta-gnome/conf/layer.conf @@ -17,7 +17,7 @@ LAYERVERSION_gnome-layer = "1" LAYERDEPENDS_gnome-layer = "core openembedded-layer networking-layer" -LAYERSERIES_COMPAT_gnome-layer = "gatesgarth hardknott" +LAYERSERIES_COMPAT_gnome-layer = " hardknott" SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += "\ faenza-icon-theme->gdk-pixbuf \ diff --git a/meta-openembedded/meta-gnome/recipes-connectivity/libnma/libnma_1.8.30.bb b/meta-openembedded/meta-gnome/recipes-connectivity/libnma/libnma_1.8.30.bb index 3f3cb90b7..c0a7dd63d 100644 --- a/meta-openembedded/meta-gnome/recipes-connectivity/libnma/libnma_1.8.30.bb +++ b/meta-openembedded/meta-gnome/recipes-connectivity/libnma/libnma_1.8.30.bb @@ -20,7 +20,8 @@ PACKAGECONFIG[mobile_broadband_provider_info] = "-Dmobile_broadband_provider_inf # go introspection is not supported for mipsn32/riscv32, but vapi needs it # -EXTRA_OEMESON_mipsarchn32_append = " -Dvapi=false" -EXTRA_OEMESON_riscv32_append = " -Dvapi=false" +EXTRA_OEMESON_append_mipsarchn32 = " -Dvapi=false" +EXTRA_OEMESON_append_riscv32 = " -Dvapi=false" +EXTRA_OEMESON_append_powerpc64le = " -Dvapi=false" GTKDOC_MESON_OPTION = "gtk_doc" diff --git a/meta-openembedded/meta-gnome/recipes-gimp/gimp/gimp_2.10.22.bb b/meta-openembedded/meta-gnome/recipes-gimp/gimp/gimp_2.10.22.bb index 2d75d6011..aa5112add 100644 --- a/meta-openembedded/meta-gnome/recipes-gimp/gimp/gimp_2.10.22.bb +++ b/meta-openembedded/meta-gnome/recipes-gimp/gimp/gimp_2.10.22.bb @@ -54,6 +54,7 @@ EXTRA_OECONF = "--disable-python \ --without-wmf" EXTRA_OECONF_append_libc-musl_mipsarch = " --disable-vector-icons" +EXTRA_OECONF_append_libc-musl_riscv32 = " --disable-vector-icons" EXTRA_OECONF_append_arm = " --disable-vector-icons" do_configure_append() { diff --git a/meta-openembedded/meta-gnome/recipes-gnome/dconf/dconf-editor/0001-Don-t-alter-or-try-to-write-GtkChild-fields.patch b/meta-openembedded/meta-gnome/recipes-gnome/dconf/dconf-editor/0001-Don-t-alter-or-try-to-write-GtkChild-fields.patch new file mode 100644 index 000000000..7c83ae339 --- /dev/null +++ b/meta-openembedded/meta-gnome/recipes-gnome/dconf/dconf-editor/0001-Don-t-alter-or-try-to-write-GtkChild-fields.patch @@ -0,0 +1,522 @@ +From ba4a39b74067b73c9bed64dad7be3d53e837dd8d Mon Sep 17 00:00:00 2001 +From: Rico Tzschichholz +Date: Sat, 16 Jan 2021 13:26:32 +0100 +Subject: [PATCH] Don't alter or try to write GtkChild fields + +See https://gitlab.gnome.org/GNOME/vala/issues/1121 + +Upstream-Status: Backport [https://github.com/GNOME/dconf-editor/commit/9272e9fb6867e71426bfd0aa5edce5ec39cf0ad4] +Signed-off-by: Khem Raj +--- + editor/bookmarks-headerbar.vala | 4 +-- + editor/bookmarks-list.vala | 4 +-- + editor/bookmarks.vala | 12 +++---- + editor/delayed-setting-view.vala | 54 ++++++++++++++++---------------- + editor/overlayed-list.vala | 38 +++++++++++----------- + editor/pathentry.vala | 24 +++++++------- + editor/registry-list.vala | 6 ++-- + editor/registry-search.vala | 6 ++-- + editor/registry-view.vala | 2 +- + 9 files changed, 75 insertions(+), 75 deletions(-) + +diff --git a/editor/bookmarks-headerbar.vala b/editor/bookmarks-headerbar.vala +index 54848a5..0522c37 100644 +--- a/editor/bookmarks-headerbar.vala ++++ b/editor/bookmarks-headerbar.vala +@@ -24,7 +24,7 @@ private abstract class BookmarksHeaderBar : BrowserHeaderBar, AdaptativeWidget + install_action_entries (); + + add_bookmarks_revealer (out bookmarks_revealer, +- out bookmarks_button, ref center_box); ++ out bookmarks_button, center_box); + connect_bookmarks_signals (); + add_bookmarks_controller (out bookmarks_controller, ref this); + +@@ -58,7 +58,7 @@ private abstract class BookmarksHeaderBar : BrowserHeaderBar, AdaptativeWidget + private Bookmarks bookmarks_button; + private BookmarksController bookmarks_controller; + +- private static void add_bookmarks_revealer (out Revealer bookmarks_revealer, out Bookmarks bookmarks_button, ref Box center_box) ++ private static void add_bookmarks_revealer (out Revealer bookmarks_revealer, out Bookmarks bookmarks_button, Box center_box) + { + bookmarks_revealer = new Revealer (); + bookmarks_revealer.transition_type = RevealerTransitionType.SLIDE_LEFT; +diff --git a/editor/bookmarks-list.vala b/editor/bookmarks-list.vala +index 393973b..c9280d5 100644 +--- a/editor/bookmarks-list.vala ++++ b/editor/bookmarks-list.vala +@@ -146,10 +146,10 @@ private class BookmarksList : OverlayedList + + internal bool create_bookmark_rows (Variant bookmarks_variant) + { +- _create_bookmark_rows (bookmarks_variant, view_mode, ref main_list_store, ref main_list_box, ref bookmarks_hashtable); ++ _create_bookmark_rows (bookmarks_variant, view_mode, ref main_list_store, main_list_box, ref bookmarks_hashtable); + return n_items == 0; + } +- private static void _create_bookmark_rows (Variant bookmarks_variant, bool view_mode, ref GLib.ListStore main_list_store, ref ListBox main_list_box, ref HashTable bookmarks_hashtable) ++ private static void _create_bookmark_rows (Variant bookmarks_variant, bool view_mode, ref GLib.ListStore main_list_store, ListBox main_list_box, ref HashTable bookmarks_hashtable) + { + string saved_bookmark_name = ""; + ListBoxRow? selected_row = main_list_box.get_selected_row (); +diff --git a/editor/bookmarks.vala b/editor/bookmarks.vala +index 153af10..d8cea7c 100644 +--- a/editor/bookmarks.vala ++++ b/editor/bookmarks.vala +@@ -84,7 +84,7 @@ private class Bookmarks : MenuButton + + construct + { +- update_switch_label (ViewType.SEARCH, ViewType.FOLDER, ref switch_label); // init text with "Bookmark this Location" ++ update_switch_label (ViewType.SEARCH, ViewType.FOLDER, switch_label); // init text with "Bookmark this Location" + + install_action_entries (); + +@@ -184,7 +184,7 @@ private class Bookmarks : MenuButton + + internal void set_path (ViewType type, string path) + { +- update_switch_label (current_type, type, ref switch_label); ++ update_switch_label (current_type, type, switch_label); + + current_path = path; + current_type = type; +@@ -392,7 +392,7 @@ private class Bookmarks : MenuButton + * * Bookmarks management + \*/ + +- private static void update_switch_label (ViewType old_type, ViewType new_type, ref Label switch_label) ++ private static void update_switch_label (ViewType old_type, ViewType new_type, Label switch_label) + { + if (new_type == ViewType.SEARCH && old_type != ViewType.SEARCH) + switch_label.label = bookmark_this_search_text; +@@ -414,18 +414,18 @@ private class Bookmarks : MenuButton + { + if (bookmarks_icon.icon_name != "starred-symbolic") + bookmarks_icon.icon_name = "starred-symbolic"; +- update_switch_state (true, ref bookmarked_switch); ++ update_switch_state (true, bookmarked_switch); + bookmarked_switch.set_detailed_action_name ("bookmarks.unbookmark(" + variant.print (true) + ")"); + } + else + { + if (bookmarks_icon.icon_name != "non-starred-symbolic") + bookmarks_icon.icon_name = "non-starred-symbolic"; +- update_switch_state (false, ref bookmarked_switch); ++ update_switch_state (false, bookmarked_switch); + bookmarked_switch.set_detailed_action_name ("bookmarks.bookmark(" + variant.print (true) + ")"); + } + } +- private static void update_switch_state (bool bookmarked, ref Switch bookmarked_switch) ++ private static void update_switch_state (bool bookmarked, Switch bookmarked_switch) + { + if (bookmarked == bookmarked_switch.active) + return; +diff --git a/editor/delayed-setting-view.vala b/editor/delayed-setting-view.vala +index add6852..b1f774c 100644 +--- a/editor/delayed-setting-view.vala ++++ b/editor/delayed-setting-view.vala +@@ -41,24 +41,24 @@ private class DelayedSettingView : OverlayedListRow + { + // at row creation, key is never ghost + _update_dconf_key_current_value (key_value, +- ref key_value_label, +- ref key_value_default); ++ key_value_label, ++ key_value_default); + + _update_dconf_key_planned_value (cool_planned_value, +- ref planned_value_label, +- ref planned_value_default); ++ planned_value_label, ++ planned_value_default); + } + else + { + _update_gsettings_key_current_value (key_value, + has_schema_and_is_default, +- ref key_value_label, +- ref key_value_default); ++ key_value_label, ++ key_value_default); + + _update_gsettings_key_planned_value (cool_planned_value, + (!) cool_default_value, +- ref planned_value_label, +- ref planned_value_default); ++ planned_value_label, ++ planned_value_default); + } + } + +@@ -74,23 +74,23 @@ private class DelayedSettingView : OverlayedListRow + + private static inline void _update_gsettings_key_planned_value (string? cool_planned_value, + string cool_default_value, +- ref Label planned_value_label, +- ref Label planned_value_default) ++ Label planned_value_label, ++ Label planned_value_default) + { + bool is_default = cool_planned_value == null; + planned_value_label.label = is_default ? cool_default_value : (!) cool_planned_value; +- update_value_default_label (is_default, ref planned_value_default); ++ update_value_default_label (is_default, planned_value_default); + } + + private static inline void _update_dconf_key_planned_value (string? cool_planned_value, +- ref Label planned_value_label, +- ref Label planned_value_default) ++ Label planned_value_label, ++ Label planned_value_default) + { + if (cool_planned_value == null) +- update_labels_dconf_key_erased (ref planned_value_label, ref planned_value_default); ++ update_labels_dconf_key_erased (planned_value_label, planned_value_default); + else + update_labels_dconf_key_values ((!) cool_planned_value, +- ref planned_value_label, ref planned_value_default); ++ planned_value_label, planned_value_default); + } + + /*\ +@@ -99,37 +99,37 @@ private class DelayedSettingView : OverlayedListRow + + internal void update_gsettings_key_current_value (Variant key_value, bool is_default) + { +- _update_gsettings_key_current_value (key_value, is_default, ref key_value_label, ref key_value_default); ++ _update_gsettings_key_current_value (key_value, is_default, key_value_label, key_value_default); + } + private static void _update_gsettings_key_current_value (Variant key_value, + bool is_default, +- ref Label key_value_label, +- ref Label key_value_default) ++ Label key_value_label, ++ Label key_value_default) + { + key_value_label.label = Key.cool_text_value_from_variant (key_value); +- update_value_default_label (is_default, ref key_value_default); ++ update_value_default_label (is_default, key_value_default); + } + + internal void update_dconf_key_current_value (Variant? key_value_or_null) + { +- _update_dconf_key_current_value (key_value_or_null, ref key_value_label, ref key_value_default); ++ _update_dconf_key_current_value (key_value_or_null, key_value_label, key_value_default); + } + private static void _update_dconf_key_current_value (Variant? key_value_or_null, +- ref Label key_value_label, +- ref Label key_value_default) ++ Label key_value_label, ++ Label key_value_default) + { + if (key_value_or_null == null) +- update_labels_dconf_key_erased (ref key_value_label, ref key_value_default); ++ update_labels_dconf_key_erased (key_value_label, key_value_default); + else + update_labels_dconf_key_values (Key.cool_text_value_from_variant ((!) key_value_or_null), +- ref key_value_label, ref key_value_default); ++ key_value_label, key_value_default); + } + + /*\ + * * common utilities + \*/ + +- private static void update_labels_dconf_key_erased (ref Label value_label, ref Label value_default) ++ private static void update_labels_dconf_key_erased (Label value_label, Label value_default) + { + value_label.visible = false; + /* Translators: displayed in the list of pending changes (could be an in-window panel, or in the popover of the bottom bar); for dconf keys */ +@@ -137,14 +137,14 @@ private class DelayedSettingView : OverlayedListRow + value_default.visible = true; + } + +- private static void update_labels_dconf_key_values (string key_value, ref Label value_label, ref Label value_default) ++ private static void update_labels_dconf_key_values (string key_value, Label value_label, Label value_default) + { + value_default.visible = false; + value_label.label = key_value; // TODO move Key.cool_text_value_from_variant here? + value_label.visible = true; + } + +- private static void update_value_default_label (bool is_default, ref Label value_default) ++ private static void update_value_default_label (bool is_default, Label value_default) + { + if (is_default) + /* Translators: displayed in the list of pending changes (could be an in-window panel, or in the popover of the bottom bar); for gsettings keys */ +diff --git a/editor/overlayed-list.vala b/editor/overlayed-list.vala +index 8b0ec51..bcdfc3a 100644 +--- a/editor/overlayed-list.vala ++++ b/editor/overlayed-list.vala +@@ -89,11 +89,11 @@ private abstract class OverlayedList : Overlay, AdaptativeWidget + internal void set_window_size (AdaptativeWidget.WindowSize new_size) + { + if (!AdaptativeWidget.WindowSize.is_extra_thin (new_size) && AdaptativeWidget.WindowSize.is_extra_flat (new_size)) +- set_horizontal (ref main_context, ref edit_mode_box); ++ set_horizontal (ref main_context, edit_mode_box); + else +- set_vertical (ref main_context, ref edit_mode_box); ++ set_vertical (ref main_context, edit_mode_box); + } +- private static inline void set_horizontal (ref StyleContext main_context, ref Box edit_mode_box) ++ private static inline void set_horizontal (ref StyleContext main_context, Box edit_mode_box) + { + main_context.remove_class ("vertical"); + edit_mode_box.halign = Align.END; +@@ -102,7 +102,7 @@ private abstract class OverlayedList : Overlay, AdaptativeWidget + edit_mode_box.width_request = 160; + main_context.add_class ("horizontal"); + } +- private static inline void set_vertical (ref StyleContext main_context, ref Box edit_mode_box) ++ private static inline void set_vertical (ref StyleContext main_context, Box edit_mode_box) + { + main_context.remove_class ("horizontal"); + edit_mode_box.halign = Align.CENTER; +@@ -118,9 +118,9 @@ private abstract class OverlayedList : Overlay, AdaptativeWidget + + internal bool next_match () + { +- return _next_match (ref main_list_box); ++ return _next_match (main_list_box); + } +- private static inline bool _next_match (ref ListBox main_list_box) ++ private static inline bool _next_match (ListBox main_list_box) + { + ListBoxRow? row = main_list_box.get_selected_row (); // TODO multiple rows and focus-only lists + if (row == null) +@@ -130,7 +130,7 @@ private abstract class OverlayedList : Overlay, AdaptativeWidget + + if (row == null) + { +- _scroll_bottom (ref main_list_box); ++ _scroll_bottom (main_list_box); + return false; + } + main_list_box.select_row ((!) row); +@@ -140,9 +140,9 @@ private abstract class OverlayedList : Overlay, AdaptativeWidget + + internal bool previous_match () + { +- return _previous_match (ref main_list_box); ++ return _previous_match (main_list_box); + } +- private static inline bool _previous_match (ref ListBox main_list_box) ++ private static inline bool _previous_match (ListBox main_list_box) + { + uint n_items = main_list_box.get_children ().length (); // FIXME OverlayedList.n_items is unreliable + if (n_items == 0) +@@ -189,9 +189,9 @@ private abstract class OverlayedList : Overlay, AdaptativeWidget + + protected int [] get_selected_rows_indices () + { +- return _get_selected_rows_indices (ref main_list_box); ++ return _get_selected_rows_indices (main_list_box); + } +- private static inline int [] _get_selected_rows_indices (ref ListBox main_list_box) ++ private static inline int [] _get_selected_rows_indices (ListBox main_list_box) + { + int [] indices = new int [0]; + main_list_box.selected_foreach ((_list_box, selected_row) => { +@@ -205,9 +205,9 @@ private abstract class OverlayedList : Overlay, AdaptativeWidget + + protected void scroll_top () + { +- _scroll_top (ref main_list_box); ++ _scroll_top (main_list_box); + } +- private static inline void _scroll_top (ref ListBox main_list_box) ++ private static inline void _scroll_top (ListBox main_list_box) + { + Adjustment adjustment = main_list_box.get_adjustment (); + adjustment.set_value (adjustment.get_lower ()); +@@ -215,9 +215,9 @@ private abstract class OverlayedList : Overlay, AdaptativeWidget + + protected void scroll_bottom () + { +- _scroll_bottom (ref main_list_box); ++ _scroll_bottom (main_list_box); + } +- private static inline void _scroll_bottom (ref ListBox main_list_box) ++ private static inline void _scroll_bottom (ListBox main_list_box) + { + Adjustment adjustment = main_list_box.get_adjustment (); + adjustment.set_value (adjustment.get_upper ()); +@@ -225,9 +225,9 @@ private abstract class OverlayedList : Overlay, AdaptativeWidget + + internal bool handle_copy_text (out string copy_text) + { +- return _handle_copy_text (out copy_text, ref main_list_box); ++ return _handle_copy_text (out copy_text, main_list_box); + } +- private static inline bool _handle_copy_text (out string copy_text, ref ListBox main_list_box) ++ private static inline bool _handle_copy_text (out string copy_text, ListBox main_list_box) + { + List selected_rows = main_list_box.get_selected_rows (); + OverlayedListRow row; +@@ -283,9 +283,9 @@ private abstract class OverlayedList : Overlay, AdaptativeWidget + + internal SelectionState get_selection_state () + { +- return _get_selection_state (ref main_list_box, ref main_list_store); ++ return _get_selection_state (main_list_box, ref main_list_store); + } +- private static inline SelectionState _get_selection_state (ref ListBox main_list_box, ref GLib.ListStore main_list_store) ++ private static inline SelectionState _get_selection_state (ListBox main_list_box, ref GLib.ListStore main_list_store) + { + List selected_rows = main_list_box.get_selected_rows (); + uint n_selected_rows = selected_rows.length (); +diff --git a/editor/pathentry.vala b/editor/pathentry.vala +index 5000b21..5c7efc5 100644 +--- a/editor/pathentry.vala ++++ b/editor/pathentry.vala +@@ -133,9 +133,9 @@ private class PathEntry : Box, AdaptativeWidget + + internal void entry_grab_focus_without_selecting () + { +- _entry_grab_focus_without_selecting (ref search_entry); ++ _entry_grab_focus_without_selecting (search_entry); + } +- private static void _entry_grab_focus_without_selecting (ref BrowserEntry search_entry) ++ private static void _entry_grab_focus_without_selecting (BrowserEntry search_entry) + { + if (search_entry.text_length != 0) + { +@@ -172,36 +172,36 @@ private class PathEntry : Box, AdaptativeWidget + requires (search_changed_handler != 0) + { + SignalHandler.block (search_entry, search_changed_handler); +- _prepare (mode, nullable_search, ref current_path, ref search_entry); ++ _prepare (mode, nullable_search, ref current_path, search_entry); + SignalHandler.unblock (search_entry, search_changed_handler); + } + + private static inline void _prepare (SearchMode mode, + string? nullable_search, + ref string current_path, +- ref BrowserEntry search_entry) ++ BrowserEntry search_entry) + { + string search; + switch (mode) + { + case SearchMode.EDIT_PATH_MOVE_END: + search = nullable_search == null ? current_path : (!) nullable_search; +- _prepare_move_end (ref search, ref search_entry); ++ _prepare_move_end (ref search, search_entry); + return; + + case SearchMode.EDIT_PATH_SELECT_ALL: + search = nullable_search == null ? current_path : (!) nullable_search; +- _prepare_search (ref search, ref search_entry); ++ _prepare_search (ref search, search_entry); + return; + + case SearchMode.EDIT_PATH_SELECT_LAST_WORD: + search = current_path; +- _prepare_select_last_word (ref search, ref search_entry); ++ _prepare_select_last_word (ref search, search_entry); + return; + + case SearchMode.SEARCH: + search = ""; +- _prepare_search (ref search, ref search_entry); ++ _prepare_search (ref search, search_entry); + return; + + case SearchMode.UNCLEAR: +@@ -210,19 +210,19 @@ private class PathEntry : Box, AdaptativeWidget + } + } + +- private static inline void _prepare_move_end (ref string text, ref BrowserEntry search_entry) ++ private static inline void _prepare_move_end (ref string text, BrowserEntry search_entry) + { + search_entry.text = text; +- _entry_grab_focus_without_selecting (ref search_entry); ++ _entry_grab_focus_without_selecting (search_entry); + } + +- private static inline void _prepare_search (ref string text, ref BrowserEntry search_entry) ++ private static inline void _prepare_search (ref string text, BrowserEntry search_entry) + { + search_entry.text = text; + search_entry.grab_focus (); + } + +- private static inline void _prepare_select_last_word (ref string current_path, ref BrowserEntry search_entry) ++ private static inline void _prepare_select_last_word (ref string current_path, BrowserEntry search_entry) + { + search_entry.move_cursor (MovementStep.DISPLAY_LINE_ENDS, -1, false); + search_entry.text = current_path; +diff --git a/editor/registry-list.vala b/editor/registry-list.vala +index 74b7f99..54aa6fa 100644 +--- a/editor/registry-list.vala ++++ b/editor/registry-list.vala +@@ -291,9 +291,9 @@ private abstract class RegistryList : Grid, BrowsableView, AdaptativeWidget + + internal bool handle_copy_text (out string copy_text) // can compile with "private", but is public 1/2 + { +- return _handle_copy_text (out copy_text, ref key_list_box); ++ return _handle_copy_text (out copy_text, key_list_box); + } +- private bool _handle_copy_text (out string copy_text, ref ListBox key_list_box) ++ private bool _handle_copy_text (out string copy_text, ListBox key_list_box) + { + ListBoxRow? selected_row = (ListBoxRow?) key_list_box.get_selected_row (); + if (selected_row == null) +@@ -1138,7 +1138,7 @@ private abstract class RegistryList : Grid, BrowsableView, AdaptativeWidget + * * headers + \*/ + +- protected static bool is_first_row (int row_index, ref unowned ListBoxRow? before) ++ protected static bool is_first_row (int row_index, ListBoxRow? before) + { + bool is_first_row = row_index == 0; + if (is_first_row != (before == null)) +diff --git a/editor/registry-search.vala b/editor/registry-search.vala +index 220583f..eb8e6f2 100644 +--- a/editor/registry-search.vala ++++ b/editor/registry-search.vala +@@ -48,7 +48,7 @@ private class RegistrySearch : RegistryList + + internal bool handle_alt_copy_text (out string copy_text) + { +- return _handle_alt_copy_text (out copy_text, ref key_list_box); ++ return _handle_alt_copy_text (out copy_text, key_list_box); + } + + internal void clean () +@@ -145,7 +145,7 @@ private class RegistrySearch : RegistryList + * * Keyboard calls + \*/ + +- private static bool _handle_alt_copy_text (out string copy_text, ref ListBox key_list_box) ++ private static bool _handle_alt_copy_text (out string copy_text, ListBox key_list_box) + { + ListBoxRow? selected_row = key_list_box.get_selected_row (); + if (selected_row == null) +@@ -521,7 +521,7 @@ private class RegistrySearch : RegistryList + private void update_row_header (ListBoxRow row, ListBoxRow? before) + { + int row_index = row.get_index (); +- if (is_first_row (row_index, ref before)) ++ if (is_first_row (row_index, before)) + return; + + if (search_is_path_search) +diff --git a/editor/registry-view.vala b/editor/registry-view.vala +index e0ff379..7d9eb1f 100644 +--- a/editor/registry-view.vala ++++ b/editor/registry-view.vala +@@ -114,7 +114,7 @@ private class RegistryView : RegistryList + + private void update_row_header (ListBoxRow row, ListBoxRow? before) + { +- if (is_first_row (row.get_index (), ref before)) ++ if (is_first_row (row.get_index (), before)) + return; + update_row_header_with_context (row, (!) before, modifications_handler.model, /* local search header */ false); + } +-- +2.30.1 + diff --git a/meta-openembedded/meta-gnome/recipes-gnome/dconf/dconf-editor_3.38.2.bb b/meta-openembedded/meta-gnome/recipes-gnome/dconf/dconf-editor_3.38.2.bb index 02e604f0c..776558ebf 100644 --- a/meta-openembedded/meta-gnome/recipes-gnome/dconf/dconf-editor_3.38.2.bb +++ b/meta-openembedded/meta-gnome/recipes-gnome/dconf/dconf-editor_3.38.2.bb @@ -8,6 +8,8 @@ DEPENDS = "dconf gtk+3" inherit gnomebase vala gettext gsettings bash-completion +SRC_URI += "file://0001-Don-t-alter-or-try-to-write-GtkChild-fields.patch" + SRC_URI[archive.sha256sum] = "1253dad87e6213fbf313ff9ec9dc4358aa1b10261f28072c1dc0e0997b92f835" FILES_${PN} += " \ diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring_3.36.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring_3.36.0.bb index 8f318bb15..3fc16bb0a 100644 --- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring_3.36.0.bb +++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring_3.36.0.bb @@ -43,10 +43,8 @@ FILES_${PN} += " \ ${base_libdir}/security/*${SOLIBSDEV} \ ${libdir}/pkcs11/gnome-keyring-pkcs11.so \ " - # fix | gnome-keyring-daemon: insufficient process capabilities, unsecure memory might get used -# This does not make it through pseudo so perform on-target - sigh -pkg_postinst_ontarget_${PN} () { - setcap cap_ipc_lock+ep `which gnome-keyring-daemon` +pkg_postinst_${PN} () { + setcap cap_ipc_lock+ep $D/${bindir}/gnome-keyring-daemon } -RDEPENDS_${PN} += "libcap-bin" +PACKAGE_WRITE_DEPS += "libcap-native" diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-settings-daemon/gnome-settings-daemon_3.36.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-settings-daemon/gnome-settings-daemon_3.36.1.bb index e14891a23..a532ae749 100644 --- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-settings-daemon/gnome-settings-daemon_3.36.1.bb +++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-settings-daemon/gnome-settings-daemon_3.36.1.bb @@ -29,15 +29,6 @@ SRC_URI[archive.sha256sum] = "3e33dbd319b562a5ab602dcab6de3ca81b85f8346672e90ec6 UNKNOWN_CONFIGURE_WHITELIST = "introspection" -# allow cross build mixed with build of native tools -do_write_config_append() { - cat >${WORKDIR}/meson.native < +Received: from perceval.ideasonboard.com (perceval.ideasonboard.com. [213.167.242.64]) + by mx.google.com with ESMTPS id v18si12339470ljj.208.2021.03.27.19.58.30 + for + (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); + Sat, 27 Mar 2021 19:58:30 -0700 (PDT) +Received-SPF: pass (google.com: domain of laurent.pinchart@ideasonboard.com designates 213.167.242.64 as permitted sender) client-ip=213.167.242.64; +Authentication-Results: mx.google.com; + dkim=pass (test mode) header.i=@ideasonboard.com header.s=mail header.b=MniKswyT; + spf=pass (google.com: domain of laurent.pinchart@ideasonboard.com designates 213.167.242.64 as permitted sender) smtp.mailfrom=laurent.pinchart@ideasonboard.com +Received: from pendragon.lan (62-78-145-57.bb.dnainternet.fi [62.78.145.57]) + by perceval.ideasonboard.com (Postfix) with ESMTPSA id 11F12332; + Sun, 28 Mar 2021 04:58:28 +0200 (CEST) +DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; + s=mail; t=1616900309; + bh=BwCg4h9N9fJysbMT1Yjbazbp7zTImD9mkWJSjCKzCmg=; + h=From:To:Cc:Subject:Date:From; + b=MniKswyT+aUtPgeMFeLqW6cRMFsPRN4W1XtVDA6pqI0QTSSx5koEuzSfEybjs6Qbp + ZdQar1r5nBIRCg9uq85YoLKoFeT7WN4PrwnRYPwaYGAFHfV44rDrq4RBe3VOIb+85W + tKn4HEzjlFelrImVbeymBsgpVhITveSVH1MdYRsE= +From: Laurent Pinchart +To: libcamera-devel@lists.libcamera.org +Cc: Khem Raj +Subject: [PATCH v2] libcamera: pipeline: uvcvideo: Avoid reference to temporary object +Date: Sun, 28 Mar 2021 05:57:41 +0300 +Message-Id: <20210328025741.30246-1-laurent.pinchart@ideasonboard.com> +X-Mailer: git-send-email 2.28.1 +MIME-Version: 1.0 +Content-Transfer-Encoding: 8bit + From: Khem Raj -Date: Wed, 3 Mar 2021 15:11:46 -0800 -Subject: [PATCH] uvcvideo: Use auto variable to avoid range loop warnings -With c++17 loop range bases are defined where copy is obvious since -iterator returns a copy and not reference, gcc11 will emit a warning -about this +A range-based for loop whose range expression is an array of char +pointers and range variable declaration is a const reference to a +std::string creates a temporary string from the char pointer and binds +the range variable reference to it. This creates a const reference to a +temporary, which is valid in C++, and extends the lifetime of the +temporary to the lifetime of the reference. + +However, lifetime extension in range-based for loops is considered as a +sign of a potential issue, as a temporary is created for every +iteration, which can be costly, and the usage of a reference in the +range declaration doesn't make it obvious that the code isn't simply +binding a reference to an existing object. gcc 11, with the +-Wrange-loop-construct option, flags this: uvcvideo.cpp:432:33: error: loop variable 'name' of type 'const string&' {aka 'const std::__cxx11::basic_string&'} binds to a temporary constructed from type 'const char* const' [-Werror=range-loop-construct] | 432 | for (const std::string &name : { "idVendor", "idProduct" }) { | | ^~~~ -Therefore making it explicit is better +To please the compiler, make the range variable a const char *. This may +bring a tiny performance improvement, as the name is only used once, in +a location where the compiler can use + + operator+(const std::string &, const char *) + +instead of + + operator+(const std::string &, const std::string &) -Upstream-Status: Submitted [https://lists.libcamera.org/pipermail/libcamera-devel/2021-March/017966.html] Signed-off-by: Khem Raj +Reviewed-by: Laurent Pinchart + +Use a const char * type instead of auto, and update the commit message +accordingly. + +Signed-off-by: Laurent Pinchart --- src/libcamera/pipeline/uvcvideo/uvcvideo.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libcamera/pipeline/uvcvideo/uvcvideo.cpp b/src/libcamera/pipeline/uvcvideo/uvcvideo.cpp -index 031f96e2..ef23ece7 100644 +index 031f96e28449..b6c6ade5ebaf 100644 --- a/src/libcamera/pipeline/uvcvideo/uvcvideo.cpp +++ b/src/libcamera/pipeline/uvcvideo/uvcvideo.cpp @@ -429,7 +429,7 @@ std::string PipelineHandlerUVC::generateId(const UVCCameraData *data) @@ -29,10 +106,12 @@ index 031f96e2..ef23ece7 100644 /* Creata a device ID from the USB devices vendor and product ID. */ std::string deviceId; - for (const std::string &name : { "idVendor", "idProduct" }) { -+ for (const auto name : { "idVendor", "idProduct" }) { ++ for (const char *name : { "idVendor", "idProduct" }) { std::ifstream file(path + "/../" + name); if (!file.is_open()) -- -2.30.1 +Regards, + +Laurent Pinchart diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd_0.22.6.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd_0.22.6.bb index e91bb5d97..b1fa96e1b 100644 --- a/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd_0.22.6.bb +++ b/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd_0.22.6.bb @@ -2,8 +2,6 @@ SUMMARY = "Music Player Daemon" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" -LICENSE_FLAGS = "${@bb.utils.contains_any('PACKAGECONFIG', ['ffmpeg', 'aac'], 'commercial', '', d)}" - HOMEPAGE ="http://www.musicpd.org" inherit meson useradd systemd pkgconfig @@ -28,7 +26,14 @@ S = "${WORKDIR}/git" EXTRA_OEMESON += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '-Dsystemd=enabled -Dsystemd_system_unit_dir=${systemd_system_unitdir} -Dsystemd_user_unit_dir=${systemd_system_unitdir}', '-Dsystemd=disabled', d)}" -PACKAGECONFIG ??= "aac alsa ao bzip2 daemon ffmpeg fifo flac fluidsynth iso9660 jack libsamplerate httpd mms mpg123 modplug sndfile upnp openal opus oss recorder vorbis wavpack zlib" +PACKAGECONFIG ??= "${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", "aac", "", d)} \ + alsa ao bzip2 daemon \ + ${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", "ffmpeg aac", "", d)} \ + fifo flac fluidsynth iso9660 \ + jack libsamplerate httpd \ + mms mpg123 modplug sndfile \ + upnp openal opus oss recorder \ + vorbis wavpack zlib" PACKAGECONFIG[aac] = "-Dfaad=enabled,-Dfaad=disabled,faad2" PACKAGECONFIG[alsa] = "-Dalsa=enabled,-Dalsa=disabled,alsa-lib" diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/openh264/openh264_2.1.1.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/openh264/openh264_2.1.1.bb index 3988cfff8..75d5010f1 100644 --- a/meta-openembedded/meta-multimedia/recipes-multimedia/openh264/openh264_2.1.1.bb +++ b/meta-openembedded/meta-multimedia/recipes-multimedia/openh264/openh264_2.1.1.bb @@ -23,6 +23,7 @@ COMPATIBLE_MACHINE_x86 = "(.*)" COMPATIBLE_MACHINE_x86-64 = "(.*)" COMPATIBLE_MACHINE_mips = "(.*)" COMPATIBLE_MACHINE_mips64 = "(.*)" +COMPATIBLE_MACHINE_powerpc64le = "null" EXTRA_OEMAKE_armv7a = "ARCH=arm" EXTRA_OEMAKE_armv7ve = "ARCH=arm" diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/packagegroups/packagegroup-meta-multimedia.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/packagegroups/packagegroup-meta-multimedia.bb index 78c7c06b2..73b852a4a 100644 --- a/meta-openembedded/meta-multimedia/recipes-multimedia/packagegroups/packagegroup-meta-multimedia.bb +++ b/meta-openembedded/meta-multimedia/recipes-multimedia/packagegroups/packagegroup-meta-multimedia.bb @@ -53,7 +53,8 @@ RDEPENDS_packagegroup-meta-multimedia = "\ bigbuckbunny-720p \ tearsofsteel-1080p \ schroedinger \ - projucer \ + pipewire \ + ${@bb.utils.contains("DISTRO_FEATURES", "x11", "projucer", "", d)} \ libcamera \ ${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", "libde265 openh264", "", d)} \ vorbis-tools \ @@ -66,7 +67,7 @@ RDEPENDS_packagegroup-meta-multimedia = "\ openal-soft \ opusfile \ libdvdcss \ - ${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", "vlc", "", d)} \ + ${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", bb.utils.contains("DISTRO_FEATURES", "x11", "vlc", "", d), "", d)} \ ${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", "sox streamripper", "", d)} \ tinyalsa \ tremor \ @@ -74,6 +75,7 @@ RDEPENDS_packagegroup-meta-multimedia = "\ ${@bb.utils.contains_any("TRANSLATED_TARGET_ARCH", "i586 x86-64", "x265", "", d)} \ " RDEPENDS_packagegroup-meta-multimedia_remove_libc-musl = "projucer" +RDEPENDS_packagegroup-meta-multimedia_remove_powerpc64le = "openh264" RDEPENDS_packagegroup-meta-multimedia-connectivity = "\ gssdp \ diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.22.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.22.bb deleted file mode 100644 index b54be7f89..000000000 --- a/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.22.bb +++ /dev/null @@ -1,273 +0,0 @@ -SUMMARY = "Multimedia processing server for Linux" -DESCRIPTION = "Linux server for handling and routing audio and video streams between applications and multimedia I/O devices" -HOMEPAGE = "https://pipewire.org/" -BUGTRACKER = "https://gitlab.freedesktop.org/pipewire/pipewire/issues" -LICENSE = "MIT" -LIC_FILES_CHKSUM = " \ - file://LICENSE;md5=e2c0b7d86d04e716a3c4c9ab34260e69 \ - file://COPYING;md5=97be96ca4fab23e9657ffa590b931c1a \ -" -SECTION = "multimedia" - -DEPENDS = "dbus" - -SRCREV = "22d563720a7f6ba7bdf59950f8c14488d80dfa95" -SRC_URI = "git://gitlab.freedesktop.org/pipewire/pipewire.git;branch=master;protocol=https" - -S = "${WORKDIR}/git" - -inherit meson pkgconfig systemd manpages gettext useradd - -USERADD_PACKAGES = "${PN}" - -GROUPADD_PARAM_${PN} = "--system pipewire" - -USERADD_PARAM_${PN} = "--system --home / --no-create-home \ - --comment 'PipeWire multimedia daemon' \ - --gid pipewire --groups audio,video \ - pipewire" - -# For "EVL", look up https://evlproject.org/ . It involves -# a specially prepared kernel, and is currently unavailable -# in Yocto. -# FFmpeg and Vulkan aren't really supported - at the current -# stage (version 0.3.22), these are just experiments, not -# actual features. -# libcamera support currently does not build successfully. -# systemd user service files are disabled because per-user -# PipeWire instances aren't really something that makes -# much sense in an embedded environment. A system-wide -# instance does. -EXTRA_OEMESON += " \ - -Daudiotestsrc=true \ - -Devl=false \ - -Dsystemd-user-service=false \ - -Dtests=false \ - -Dudevrulesdir=${nonarch_base_libdir}/udev/rules.d/ \ - -Dvideotestsrc=true \ - -Dffmpeg=false \ - -Dvulkan=false \ - -Dlibcamera=false \ -" - -PACKAGECONFIG ??= "\ - ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)} \ - ${@bb.utils.filter('DISTRO_FEATURES', 'alsa systemd', d)} \ - gstreamer jack v4l2 \ -" - -# "jack" and "pipewire-jack" packageconfigs cannot be both enabled, -# since "jack" imports libjack, and "pipewire-jack" generates -# libjack.so* files, thus colliding with the libpack package. This -# is why these two are marked in their respective packageconfigs -# as being in conflict. - -PACKAGECONFIG[alsa] = "-Dalsa=true,-Dalsa=false,alsa-lib udev" -PACKAGECONFIG[bluez] = "-Dbluez5=true,-Dbluez5=false,bluez5 sbc" -PACKAGECONFIG[docs] = "-Ddocs=true,-Ddocs=false,doxygen" -PACKAGECONFIG[gstreamer] = "-Dgstreamer=true,-Dgstreamer=false,glib-2.0 gstreamer1.0 gstreamer1.0-plugins-base" -PACKAGECONFIG[jack] = "-Djack=true,-Djack=false,jack,,,pipewire-jack" -PACKAGECONFIG[manpages] = "-Dman=true,-Dman=false,libxml-parser-perl-native" -PACKAGECONFIG[sdl2] = "-Dsdl2=enabled,-Dsdl2=disabled,virtual/libsdl2" -PACKAGECONFIG[sndfile] = "-Dsndfile=enabled,-Dsndfile=disabled,libsndfile1" -PACKAGECONFIG[systemd] = "-Dsystemd=true -Dsystemd-system-service=true ,-Dsystemd=false -Dsystemd-system-service=false,systemd" -PACKAGECONFIG[v4l2] = "-Dv4l2=true,-Dv4l2=false,udev" -PACKAGECONFIG[pipewire-alsa] = "-Dpipewire-alsa=true,-Dpipewire-alsa=false,alsa-lib" -PACKAGECONFIG[pipewire-jack] = "-Dpipewire-jack=true -Dlibjack-path=${libdir}/${PW_MODULE_SUBDIR}/jack,-Dpipewire-jack=false,jack,,,jack" - -PACKAGESPLITFUNCS_prepend = " split_dynamic_packages " -PACKAGESPLITFUNCS_append = " set_dynamic_metapkg_rdepends " - -SPA_SUBDIR = "spa-0.2" -PW_MODULE_SUBDIR = "pipewire-0.3" - -remove_unused_installed_files() { - # jack.conf is used by pipewire-jack (not the JACK SPA plugin). - # Remove it if pipewire-jack is not built to avoid creating the - # pipewire-jack package. - if ${@bb.utils.contains('PACKAGECONFIG', 'pipewire-jack', 'false', 'true', d)}; then - rm -f "${D}${sysconfdir}/pipewire/jack.conf" - fi -} - -do_install[postfuncs] += "remove_unused_installed_files" - -python split_dynamic_packages () { - # Create packages for each SPA plugin. These plugins are located - # in individual subdirectories, so a recursive search is needed. - spa_libdir = d.expand('${libdir}/${SPA_SUBDIR}') - do_split_packages(d, spa_libdir, r'^libspa-(.*)\.so$', d.expand('${PN}-spa-plugins-%s'), 'PipeWire SPA plugin for %s', extra_depends='', recursive=True) - - # Create packages for each PipeWire module. - pw_module_libdir = d.expand('${libdir}/${PW_MODULE_SUBDIR}') - do_split_packages(d, pw_module_libdir, r'^libpipewire-module-(.*)\.so$', d.expand('${PN}-modules-%s'), 'PipeWire %s module', extra_depends='', recursive=False) -} - -python set_dynamic_metapkg_rdepends () { - import os - import oe.utils - - # Go through all generated SPA plugin and PipeWire module packages - # (excluding the main package and the -meta package itself) and - # add them to the -meta package as RDEPENDS. - - base_pn = d.getVar('PN') - - spa_pn = base_pn + '-spa-plugins' - spa_metapkg = spa_pn + '-meta' - - pw_module_pn = base_pn + '-modules' - pw_module_metapkg = pw_module_pn + '-meta' - - d.setVar('ALLOW_EMPTY_' + spa_metapkg, "1") - d.setVar('FILES_' + spa_metapkg, "") - - d.setVar('ALLOW_EMPTY_' + pw_module_metapkg, "1") - d.setVar('FILES_' + pw_module_metapkg, "") - - blacklist = [ spa_pn, spa_metapkg, pw_module_pn, pw_module_metapkg ] - spa_metapkg_rdepends = [] - pw_module_metapkg_rdepends = [] - pkgdest = d.getVar('PKGDEST') - - for pkg in oe.utils.packages_filter_out_system(d): - if pkg in blacklist: - continue - - is_spa_pkg = pkg.startswith(spa_pn) - is_pw_module_pkg = pkg.startswith(pw_module_pn) - if not is_spa_pkg and not is_pw_module_pkg: - continue - - if pkg in spa_metapkg_rdepends or pkg in pw_module_metapkg_rdepends: - continue - - # See if the package is empty by looking at the contents of its - # PKGDEST subdirectory. If this subdirectory is empty, then then - # package is empty as well. Empty packages do not get added to - # the meta package's RDEPENDS. - pkgdir = os.path.join(pkgdest, pkg) - if os.path.exists(pkgdir): - dir_contents = os.listdir(pkgdir) or [] - else: - dir_contents = [] - is_empty = len(dir_contents) == 0 - if not is_empty: - if is_spa_pkg: - spa_metapkg_rdepends.append(pkg) - if is_pw_module_pkg: - pw_module_metapkg_rdepends.append(pkg) - - d.setVar('RDEPENDS_' + spa_metapkg, ' '.join(spa_metapkg_rdepends)) - d.setVar('DESCRIPTION_' + spa_metapkg, spa_pn + ' meta package') - - d.setVar('RDEPENDS_' + pw_module_metapkg, ' '.join(pw_module_metapkg_rdepends)) - d.setVar('DESCRIPTION_' + pw_module_metapkg, pw_module_pn + ' meta package') -} - -PACKAGES =+ "\ - libpipewire \ - ${PN}-tools \ - ${PN}-pulse \ - ${PN}-alsa \ - ${PN}-jack \ - ${PN}-media-session \ - ${PN}-spa-plugins \ - ${PN}-spa-plugins-meta \ - ${PN}-spa-tools \ - ${PN}-modules \ - ${PN}-modules-meta \ - ${PN}-alsa-card-profile \ - gstreamer1.0-pipewire \ -" - -PACKAGES_DYNAMIC = "^${PN}-spa-plugins.* ^${PN}-modules.*" - -SYSTEMD_SERVICE_${PN} = "pipewire.service" -CONFFILES_${PN} += "${sysconfdir}/pipewire/pipewire.conf" -FILES_${PN} = " \ - ${sysconfdir}/pipewire/pipewire.conf \ - ${systemd_user_unitdir}/pipewire.* \ - ${bindir}/pipewire \ -" - -FILES_${PN}-dev += " \ - ${libdir}/${PW_MODULE_SUBDIR}/jack/libjack*.so \ -" - -CONFFILES_libpipewire += "${sysconfdir}/pipewire/client.conf" -FILES_libpipewire = " \ - ${sysconfdir}/pipewire/client.conf \ - ${libdir}/libpipewire-*.so.* \ -" -# Add the bare minimum modules and plugins required to be able -# to use libpipewire. Without these, it is essentially unusable. -RDEPENDS_libpipewire += " \ - ${PN}-modules-client-node \ - ${PN}-modules-protocol-native \ - ${PN}-spa-plugins-support \ -" - -FILES_${PN}-tools = " \ - ${bindir}/pw-* \ -" - -# This is a shim daemon that is intended to be used as a -# drop-in PulseAudio replacement, providing a pulseaudio-compatible -# socket that can be used by applications that use libpulse. -CONFFILES_${PN}-pulse += "${sysconfdir}/pipewire/pipewire-pulse.conf" -FILES_${PN}-pulse = " \ - ${sysconfdir}/pipewire/pipewire-pulse.conf \ - ${systemd_user_unitdir}/pipewire-pulse.* \ - ${bindir}/pipewire-pulse \ -" -RDEPENDS_${PN}-pulse += " \ - ${PN}-modules-protocol-pulse \ -" - -# alsa plugin to redirect audio to pipewire -FILES_${PN}-alsa = "\ - ${libdir}/alsa-lib/* \ - ${datadir}/alsa/alsa.conf.d/* \ -" - -# jack drop-in libraries to redirect audio to pipewire -CONFFILES_${PN}-jack = "${sysconfdir}/pipewire/jack.conf" -FILES_${PN}-jack = "\ - ${sysconfdir}/pipewire/jack.conf \ - ${libdir}/${PW_MODULE_SUBDIR}/jack/libjack*.so.* \ -" - -# Example session manager. Not intended for use in production. -CONFFILES_${PN}-media-session = "${sysconfdir}/pipewire/media-session.d/*" -FILES_${PN}-media-session = " \ - ${bindir}/pipewire-media-session \ - ${sysconfdir}/pipewire/media-session.d/* \ -" -RPROVIDES_${PN}-media-session = "virtual/pipewire-sessionmanager" - -# Dynamic packages (see set_dynamic_metapkg_rdepends). -FILES_${PN}-spa-plugins = "" -RRECOMMENDS_${PN}-spa-plugins += "${PN}-spa-plugins-meta" - -FILES_${PN}-spa-tools = " \ - ${bindir}/spa-* \ -" - -# Dynamic packages (see set_dynamic_metapkg_rdepends). -FILES_${PN}-modules = "" -RRECOMMENDS_${PN}-modules += "${PN}-modules-meta" - -CONFFILES_${PN}-modules-rtkit = "${sysconfdir}/pipewire/client-rt.conf" -FILES_${PN}-modules-rtkit += " \ - ${sysconfdir}/pipewire/client-rt.conf \ - " - -FILES_${PN}-alsa-card-profile = " \ - ${datadir}/alsa-card-profile/* \ - ${nonarch_base_libdir}/udev/rules.d/90-pipewire-alsa.rules \ -" - -FILES_gstreamer1.0-pipewire = " \ - ${libdir}/gstreamer-1.0/* \ -" diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.24.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.24.bb new file mode 100644 index 000000000..25c87d26d --- /dev/null +++ b/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.24.bb @@ -0,0 +1,280 @@ +SUMMARY = "Multimedia processing server for Linux" +DESCRIPTION = "Linux server for handling and routing audio and video streams between applications and multimedia I/O devices" +HOMEPAGE = "https://pipewire.org/" +BUGTRACKER = "https://gitlab.freedesktop.org/pipewire/pipewire/issues" +LICENSE = "MIT" +LIC_FILES_CHKSUM = " \ + file://LICENSE;md5=e2c0b7d86d04e716a3c4c9ab34260e69 \ + file://COPYING;md5=97be96ca4fab23e9657ffa590b931c1a \ +" +SECTION = "multimedia" + +DEPENDS = "dbus" + +SRCREV = "c81d44e8a9497899d01bcc3054b6aa845e7a066e" +SRC_URI = "git://gitlab.freedesktop.org/pipewire/pipewire.git;branch=master;protocol=https" + +S = "${WORKDIR}/git" + +inherit meson pkgconfig systemd manpages gettext useradd + +USERADD_PACKAGES = "${PN}" + +GROUPADD_PARAM_${PN} = "--system pipewire" + +USERADD_PARAM_${PN} = "--system --home / --no-create-home \ + --comment 'PipeWire multimedia daemon' \ + --gid pipewire --groups audio,video \ + pipewire" + +# For "EVL", look up https://evlproject.org/ . It involves +# a specially prepared kernel, and is currently unavailable +# in Yocto. +# +# FFmpeg and Vulkan aren't really supported - at the current +# stage (version 0.3.22), these are just experiments, not +# actual features. +# +# libcamera support currently does not build successfully. +# +# systemd user service files are disabled because per-user +# PipeWire instances aren't really something that makes +# much sense in an embedded environment. A system-wide +# instance does. +# +# manpage generation requires xmltoman, which is not available. +EXTRA_OEMESON += " \ + -Daudiotestsrc=enabled \ + -Devl=disabled \ + -Dsystemd-user-service=disabled \ + -Dtests=disabled \ + -Dudevrulesdir=${nonarch_base_libdir}/udev/rules.d/ \ + -Dvideotestsrc=enabled \ + -Dffmpeg=disabled \ + -Dvulkan=disabled \ + -Dlibcamera=disabled \ + -Dman=disabled \ +" + +PACKAGECONFIG ??= "\ + ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)} \ + ${@bb.utils.filter('DISTRO_FEATURES', 'alsa systemd', d)} \ + gstreamer jack v4l2 \ +" + +# "jack" and "pipewire-jack" packageconfigs cannot be both enabled, +# since "jack" imports libjack, and "pipewire-jack" generates +# libjack.so* files, thus colliding with the libpack package. This +# is why these two are marked in their respective packageconfigs +# as being in conflict. + +PACKAGECONFIG[alsa] = "-Dalsa=enabled,-Dalsa=disabled,alsa-lib udev" +PACKAGECONFIG[bluez] = "-Dbluez5=enabled,-Dbluez5=disabled,bluez5 sbc" +PACKAGECONFIG[docs] = "-Ddocs=enabled,-Ddocs=disabled,doxygen-native" +PACKAGECONFIG[gstreamer] = "-Dgstreamer=enabled,-Dgstreamer=disabled,glib-2.0 gstreamer1.0 gstreamer1.0-plugins-base" +PACKAGECONFIG[jack] = "-Djack=enabled,-Djack=disabled,jack,,,pipewire-jack" +PACKAGECONFIG[sdl2] = "-Dsdl2=enabled,-Dsdl2=disabled,virtual/libsdl2" +PACKAGECONFIG[sndfile] = "-Dsndfile=enabled,-Dsndfile=disabled,libsndfile1" +PACKAGECONFIG[systemd] = "-Dsystemd=enabled -Dsystemd-system-service=enabled ,-Dsystemd=disabled -Dsystemd-system-service=disabled,systemd" +PACKAGECONFIG[v4l2] = "-Dv4l2=enabled,-Dv4l2=disabled,udev" +PACKAGECONFIG[pipewire-alsa] = "-Dpipewire-alsa=enabled,-Dpipewire-alsa=disabled,alsa-lib" +PACKAGECONFIG[pipewire-jack] = "-Dpipewire-jack=enabled -Dlibjack-path=${libdir}/${PW_MODULE_SUBDIR}/jack,-Dpipewire-jack=disabled,jack,,,jack" + +PACKAGESPLITFUNCS_prepend = " split_dynamic_packages " +PACKAGESPLITFUNCS_append = " set_dynamic_metapkg_rdepends " + +SPA_SUBDIR = "spa-0.2" +PW_MODULE_SUBDIR = "pipewire-0.3" + +remove_unused_installed_files() { + # jack.conf is used by pipewire-jack (not the JACK SPA plugin). + # Remove it if pipewire-jack is not built to avoid creating the + # pipewire-jack package. + if ${@bb.utils.contains('PACKAGECONFIG', 'pipewire-jack', 'false', 'true', d)}; then + rm -f "${D}${sysconfdir}/pipewire/jack.conf" + fi +} + +do_install[postfuncs] += "remove_unused_installed_files" + +python split_dynamic_packages () { + # Create packages for each SPA plugin. These plugins are located + # in individual subdirectories, so a recursive search is needed. + spa_libdir = d.expand('${libdir}/${SPA_SUBDIR}') + do_split_packages(d, spa_libdir, r'^libspa-(.*)\.so$', d.expand('${PN}-spa-plugins-%s'), 'PipeWire SPA plugin for %s', extra_depends='', recursive=True) + + # Create packages for each PipeWire module. + pw_module_libdir = d.expand('${libdir}/${PW_MODULE_SUBDIR}') + do_split_packages(d, pw_module_libdir, r'^libpipewire-module-(.*)\.so$', d.expand('${PN}-modules-%s'), 'PipeWire %s module', extra_depends='', recursive=False) +} + +python set_dynamic_metapkg_rdepends () { + import os + import oe.utils + + # Go through all generated SPA plugin and PipeWire module packages + # (excluding the main package and the -meta package itself) and + # add them to the -meta package as RDEPENDS. + + base_pn = d.getVar('PN') + + spa_pn = base_pn + '-spa-plugins' + spa_metapkg = spa_pn + '-meta' + + pw_module_pn = base_pn + '-modules' + pw_module_metapkg = pw_module_pn + '-meta' + + d.setVar('ALLOW_EMPTY_' + spa_metapkg, "1") + d.setVar('FILES_' + spa_metapkg, "") + + d.setVar('ALLOW_EMPTY_' + pw_module_metapkg, "1") + d.setVar('FILES_' + pw_module_metapkg, "") + + blacklist = [ spa_pn, spa_metapkg, pw_module_pn, pw_module_metapkg ] + spa_metapkg_rdepends = [] + pw_module_metapkg_rdepends = [] + pkgdest = d.getVar('PKGDEST') + + for pkg in oe.utils.packages_filter_out_system(d): + if pkg in blacklist: + continue + + is_spa_pkg = pkg.startswith(spa_pn) + is_pw_module_pkg = pkg.startswith(pw_module_pn) + if not is_spa_pkg and not is_pw_module_pkg: + continue + + if pkg in spa_metapkg_rdepends or pkg in pw_module_metapkg_rdepends: + continue + + # See if the package is empty by looking at the contents of its + # PKGDEST subdirectory. If this subdirectory is empty, then then + # package is empty as well. Empty packages do not get added to + # the meta package's RDEPENDS. + pkgdir = os.path.join(pkgdest, pkg) + if os.path.exists(pkgdir): + dir_contents = os.listdir(pkgdir) or [] + else: + dir_contents = [] + is_empty = len(dir_contents) == 0 + if not is_empty: + if is_spa_pkg: + spa_metapkg_rdepends.append(pkg) + if is_pw_module_pkg: + pw_module_metapkg_rdepends.append(pkg) + + d.setVar('RDEPENDS_' + spa_metapkg, ' '.join(spa_metapkg_rdepends)) + d.setVar('DESCRIPTION_' + spa_metapkg, spa_pn + ' meta package') + + d.setVar('RDEPENDS_' + pw_module_metapkg, ' '.join(pw_module_metapkg_rdepends)) + d.setVar('DESCRIPTION_' + pw_module_metapkg, pw_module_pn + ' meta package') +} + +PACKAGES =+ "\ + libpipewire \ + ${PN}-tools \ + ${PN}-pulse \ + ${PN}-alsa \ + ${PN}-jack \ + ${PN}-media-session \ + ${PN}-spa-plugins \ + ${PN}-spa-plugins-meta \ + ${PN}-spa-tools \ + ${PN}-modules \ + ${PN}-modules-meta \ + ${PN}-alsa-card-profile \ + gstreamer1.0-pipewire \ +" + +PACKAGES_DYNAMIC = "^${PN}-spa-plugins.* ^${PN}-modules.*" + +SYSTEMD_SERVICE_${PN} = "pipewire.service" +CONFFILES_${PN} += "${sysconfdir}/pipewire/pipewire.conf" +FILES_${PN} = " \ + ${sysconfdir}/pipewire/pipewire.conf \ + ${systemd_user_unitdir}/pipewire.* \ + ${bindir}/pipewire \ +" + +FILES_${PN}-dev += " \ + ${libdir}/${PW_MODULE_SUBDIR}/jack/libjack*.so \ +" + +CONFFILES_libpipewire += "${sysconfdir}/pipewire/client.conf" +FILES_libpipewire = " \ + ${sysconfdir}/pipewire/client.conf \ + ${libdir}/libpipewire-*.so.* \ +" +# Add the bare minimum modules and plugins required to be able +# to use libpipewire. Without these, it is essentially unusable. +RDEPENDS_libpipewire += " \ + ${PN}-modules-client-node \ + ${PN}-modules-protocol-native \ + ${PN}-spa-plugins-support \ +" + +FILES_${PN}-tools = " \ + ${bindir}/pw-* \ +" + +# This is a shim daemon that is intended to be used as a +# drop-in PulseAudio replacement, providing a pulseaudio-compatible +# socket that can be used by applications that use libpulse. +CONFFILES_${PN}-pulse += "${sysconfdir}/pipewire/pipewire-pulse.conf" +FILES_${PN}-pulse = " \ + ${sysconfdir}/pipewire/pipewire-pulse.conf \ + ${systemd_user_unitdir}/pipewire-pulse.* \ + ${bindir}/pipewire-pulse \ +" +RDEPENDS_${PN}-pulse += " \ + ${PN}-modules-protocol-pulse \ +" + +# alsa plugin to redirect audio to pipewire +FILES_${PN}-alsa = "\ + ${libdir}/alsa-lib/* \ + ${datadir}/alsa/alsa.conf.d/* \ +" + +# jack drop-in libraries to redirect audio to pipewire +CONFFILES_${PN}-jack = "${sysconfdir}/pipewire/jack.conf" +FILES_${PN}-jack = "\ + ${sysconfdir}/pipewire/jack.conf \ + ${libdir}/${PW_MODULE_SUBDIR}/jack/libjack*.so.* \ +" + +# Example session manager. Not intended for use in production. +CONFFILES_${PN}-media-session = "${sysconfdir}/pipewire/media-session.d/*" +SYSTEMD_SERVICE_${PN}-media-session = "pipewire-media-session.service" +FILES_${PN}-media-session = " \ + ${bindir}/pipewire-media-session \ + ${sysconfdir}/pipewire/media-session.d/* \ + ${systemd_system_unitdir}/pipewire-media-session.service \ +" +RPROVIDES_${PN}-media-session = "virtual/pipewire-sessionmanager" + +# Dynamic packages (see set_dynamic_metapkg_rdepends). +FILES_${PN}-spa-plugins = "" +RRECOMMENDS_${PN}-spa-plugins += "${PN}-spa-plugins-meta" + +FILES_${PN}-spa-tools = " \ + ${bindir}/spa-* \ +" + +# Dynamic packages (see set_dynamic_metapkg_rdepends). +FILES_${PN}-modules = "" +RRECOMMENDS_${PN}-modules += "${PN}-modules-meta" + +CONFFILES_${PN}-modules-rtkit = "${sysconfdir}/pipewire/client-rt.conf" +FILES_${PN}-modules-rtkit += " \ + ${sysconfdir}/pipewire/client-rt.conf \ + " + +FILES_${PN}-alsa-card-profile = " \ + ${datadir}/alsa-card-profile/* \ + ${nonarch_base_libdir}/udev/rules.d/90-pipewire-alsa.rules \ +" + +FILES_gstreamer1.0-pipewire = " \ + ${libdir}/gstreamer-1.0/* \ +" diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/sox/sox_14.4.2.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/sox/sox_14.4.2.bb index 21fddd1e1..2d6e913d8 100644 --- a/meta-openembedded/meta-multimedia/recipes-multimedia/sox/sox_14.4.2.bb +++ b/meta-openembedded/meta-multimedia/recipes-multimedia/sox/sox_14.4.2.bb @@ -6,9 +6,6 @@ SECTION = "audio" DEPENDS = "libpng ffmpeg libsndfile1" -# While this item does not require it, it depends on ffmpeg which does -LICENSE_FLAGS = "commercial" - PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'alsa pulseaudio', d)} \ magic \ " @@ -38,3 +35,5 @@ SRC_URI[md5sum] = "d04fba2d9245e661f245de0577f48a33" SRC_URI[sha256sum] = "b45f598643ffbd8e363ff24d61166ccec4836fea6d3888881b8df53e3bb55f6c" inherit autotools pkgconfig + +EXCLUDE_FROM_WORLD = "${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", "0", "1", d)}" diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc_3.0.12.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc_3.0.12.bb index c0074aabb..cb796a00f 100644 --- a/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc_3.0.12.bb +++ b/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc_3.0.12.bb @@ -16,9 +16,6 @@ DEPENDS = "coreutils-native fribidi libtool libgcrypt libgcrypt-native \ LDFLAGS_append_riscv64 = " -latomic" LDFLAGS_append_riscv32 = " -latomic" -# While this item does not require it, it depends on ffmpeg which does -LICENSE_FLAGS = "commercial" - SRC_URI = "http://download.videolan.org/pub/videolan/${BPN}/${PV}/${BP}.tar.xz \ file://0001-make-opencv-configurable.patch \ file://0002-use-vorbisidec.patch \ @@ -134,3 +131,4 @@ FILES_${PN}-staticdev += "\ INSANE_SKIP_${PN} = "dev-so" +EXCLUDE_FROM_WORLD = "${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", "0", "1", d)}" diff --git a/meta-openembedded/meta-networking/conf/layer.conf b/meta-openembedded/meta-networking/conf/layer.conf index c28c7bdb6..968b21601 100644 --- a/meta-openembedded/meta-networking/conf/layer.conf +++ b/meta-openembedded/meta-networking/conf/layer.conf @@ -17,7 +17,7 @@ LAYERDEPENDS_networking-layer = "core" LAYERDEPENDS_networking-layer += "openembedded-layer" LAYERDEPENDS_networking-layer += "meta-python" -LAYERSERIES_COMPAT_networking-layer = "gatesgarth hardknott" +LAYERSERIES_COMPAT_networking-layer = " hardknott" LICENSE_PATH += "${LAYERDIR}/licenses" diff --git a/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-powerpc64le.txt b/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-powerpc64le.txt new file mode 100644 index 000000000..7a443cc01 --- /dev/null +++ b/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-powerpc64le.txt @@ -0,0 +1,41 @@ +Checking uname sysname type: "Linux" +Checking uname version type: "# Wed May 20 10:34:39 UTC 2015" +Checking simple C program: "hello world" +rpath library support: OK +-Wl,--version-script support: OK +Checking getconf LFS_CFLAGS: NO +Checking correct behavior of strtoll: NO +Checking for working strptime: OK +Checking for C99 vsnprintf: "1" +Checking for HAVE_SHARED_MMAP: OK +Checking for HAVE_MREMAP: OK +Checking for HAVE_SECURE_MKSTEMP: OK +Checking for HAVE_IFACE_GETIFADDRS: NO +Checking for HAVE_IFACE_IFCONF: NO +Checking for HAVE_IFACE_IFREQ: NO +Checking for large file support without additional flags: OK +Checking for HAVE_INCOHERENT_MMAP: NO +Checking value of NSIG: "65" +Checking value of _NSIG: "65" +Checking value of SIGRTMAX: "64" +Checking value of SIGRTMIN: "34" +Checking whether the WRFILE -keytab is supported: OK +Checking for kernel change notify support: OK +Checking for Linux kernel oplocks: OK +Checking for kernel share modes: OK +Checking whether POSIX capabilities are available: OK +Checking if can we convert from CP850 to UCS-2LE: (255, "") +Checking if can we convert from IBM850 to UCS-2LE: (255, "") +Checking if can we convert from UTF-8 to UCS-2LE: OK +vfs_fileid checking for statfs() and struct statfs.f_fsid: OK +Checking whether we can use Linux thread-specific credentials: OK +Checking whether fcntl locking is available: OK +Checking for the maximum value of the 'time_t' type: OK +Checking whether the realpath function allows a NULL argument: OK +Checking for ftruncate extend: OK +getcwd takes a NULL argument: OK +Checking for small off_t: NO +Checking whether blkcnt_t is 32 bit: NO +Checking whether blkcnt_t is 64 bit: OK +Checking whether fcntl lock supports open file description locks: OK +Checking for a 64-bit host to support lmdb: OK diff --git a/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/mosquitto_2.0.8.bb b/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/mosquitto_2.0.8.bb deleted file mode 100644 index 03a829fc8..000000000 --- a/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/mosquitto_2.0.8.bb +++ /dev/null @@ -1,91 +0,0 @@ -SUMMARY = "Open source MQTT implementation" -DESCRIPTION = "Mosquitto is an open source (Eclipse licensed) message broker \ -that implements the MQ Telemetry Transport protocol version 3.1, 3.1.1 and \ -5, providing both an MQTT broker and several command-line clients. MQTT \ -provides a lightweight method of carrying out messaging using a \ -publish/subscribe model. " -HOMEPAGE = "http://mosquitto.org/" -SECTION = "console/network" -LICENSE = "EPL-2.0 | EDL-1.0" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=ca9a8f366c6babf593e374d0d7d58749 \ - file://edl-v10;md5=c09f121939f063aeb5235972be8c722c \ - file://epl-v20;md5=d9fc0efef5228704e7f5b37f27192723 \ - file://notice.html;md5=541f8f37af492858dab8d2c1b69ede69 \ -" -DEPENDS = "uthash cjson dlt-daemon" - -SRC_URI = "http://mosquitto.org/files/source/mosquitto-${PV}.tar.gz \ - file://mosquitto.init \ - file://1571.patch \ -" - -SRC_URI[md5sum] = "542c30f32c4473b7c50dc2e4a1424cf6" -SRC_URI[sha256sum] = "b15da8fc4edcb91d554e1259e220ea0173ef639ceaa4b465e06feb7e125b84bf" - -inherit systemd update-rc.d useradd cmake - -PACKAGECONFIG ??= "ssl dlt websockets \ - ${@bb.utils.filter('DISTRO_FEATURES','systemd', d)} \ - " - -PACKAGECONFIG[manpages] = "-DDOCUMENTATION=ON,-DDOCUMENTATION=OFF,libxslt-native docbook-xsl-stylesheets-native" -PACKAGECONFIG[dns-srv] = "-DWITH_SRV=ON,-DWITH_SRV=OFF,c-ares" -PACKAGECONFIG[ssl] = "-DWITH_TLS=ON -DWITH_TLS_PSK=ON -DWITH_EC=ON,-DWITH_TLS=OFF -DWITH_TLS_PSK=OFF -DWITH_EC=OFF,openssl" -PACKAGECONFIG[systemd] = "-DWITH_SYSTEMD=ON,-DWITH_SYSTEMD=OFF,systemd" -PACKAGECONFIG[websockets] = "-DWITH_WEBSOCKETS=ON,-DWITH_WEBSOCKETS=OFF,libwebsockets" -PACKAGECONFIG[dlt] = "-DWITH_DLT=ON,-DWITH_DLT=OFF,dlt-daemon" - -EXTRA_OECMAKE = " \ - -DWITH_BUNDLED_DEPS=OFF \ - -DWITH_ADNS=ON \ -" - -do_install_append() { - install -d ${D}${systemd_unitdir}/system/ - install -m 0644 ${S}/service/systemd/mosquitto.service.notify ${D}${systemd_unitdir}/system/mosquitto.service - - install -d ${D}${sysconfdir}/init.d/ - install -m 0755 ${WORKDIR}/mosquitto.init ${D}${sysconfdir}/init.d/mosquitto - sed -i -e 's,@SBINDIR@,${sbindir},g' \ - -e 's,@BASE_SBINDIR@,${base_sbindir},g' \ - -e 's,@LOCALSTATEDIR@,${localstatedir},g' \ - -e 's,@SYSCONFDIR@,${sysconfdir},g' \ - ${D}${sysconfdir}/init.d/mosquitto -} - -PACKAGES += "libmosquitto1 libmosquittopp1 ${PN}-clients" - -PACKAGE_BEFORE_PN = "${PN}-examples" - -FILES_${PN} = "${sbindir}/mosquitto \ - ${bindir}/mosquitto_passwd \ - ${bindir}/mosquitto_ctrl \ - ${libdir}/mosquitto_dynamic_security.so \ - ${sysconfdir}/mosquitto \ - ${sysconfdir}/init.d \ - ${systemd_unitdir}/system/mosquitto.service \ -" - -CONFFILES_${PN} += "${sysconfdir}/mosquitto/mosquitto.conf" - -FILES_libmosquitto1 = "${libdir}/libmosquitto.so.*" - -FILES_libmosquittopp1 = "${libdir}/libmosquittopp.so.*" - -FILES_${PN}-clients = "${bindir}/mosquitto_pub \ - ${bindir}/mosquitto_sub \ - ${bindir}/mosquitto_rr \ -" - -FILES_${PN}-examples = "${sysconfdir}/mosquitto/*.example" - -SYSTEMD_SERVICE_${PN} = "mosquitto.service" - -INITSCRIPT_NAME = "mosquitto" -INITSCRIPT_PARAMS = "defaults 30" - -USERADD_PACKAGES = "${PN}" -USERADD_PARAM_${PN} = "--system --no-create-home --shell /bin/false \ - --user-group mosquitto" - -BBCLASSEXTEND += "native nativesdk" diff --git a/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/mosquitto_2.0.9.bb b/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/mosquitto_2.0.9.bb new file mode 100644 index 000000000..97a380117 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/mosquitto_2.0.9.bb @@ -0,0 +1,91 @@ +SUMMARY = "Open source MQTT implementation" +DESCRIPTION = "Mosquitto is an open source (Eclipse licensed) message broker \ +that implements the MQ Telemetry Transport protocol version 3.1, 3.1.1 and \ +5, providing both an MQTT broker and several command-line clients. MQTT \ +provides a lightweight method of carrying out messaging using a \ +publish/subscribe model. " +HOMEPAGE = "http://mosquitto.org/" +SECTION = "console/network" +LICENSE = "EPL-2.0 | EDL-1.0" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=ca9a8f366c6babf593e374d0d7d58749 \ + file://edl-v10;md5=c09f121939f063aeb5235972be8c722c \ + file://epl-v20;md5=d9fc0efef5228704e7f5b37f27192723 \ + file://notice.html;md5=541f8f37af492858dab8d2c1b69ede69 \ +" +DEPENDS = "uthash cjson dlt-daemon" + +SRC_URI = "http://mosquitto.org/files/source/mosquitto-${PV}.tar.gz \ + file://mosquitto.init \ + file://1571.patch \ +" + +SRC_URI[md5sum] = "b77cee4ee6f0d32ca8816a58167e8b1d" +SRC_URI[sha256sum] = "1b8553ef64a1cf5e4f4cfbe098330ae612adccd3d37f35b2db6f6fab501b01d4" + +inherit systemd update-rc.d useradd cmake + +PACKAGECONFIG ??= "ssl dlt websockets \ + ${@bb.utils.filter('DISTRO_FEATURES','systemd', d)} \ + " + +PACKAGECONFIG[manpages] = "-DDOCUMENTATION=ON,-DDOCUMENTATION=OFF,libxslt-native docbook-xsl-stylesheets-native" +PACKAGECONFIG[dns-srv] = "-DWITH_SRV=ON,-DWITH_SRV=OFF,c-ares" +PACKAGECONFIG[ssl] = "-DWITH_TLS=ON -DWITH_TLS_PSK=ON -DWITH_EC=ON,-DWITH_TLS=OFF -DWITH_TLS_PSK=OFF -DWITH_EC=OFF,openssl" +PACKAGECONFIG[systemd] = "-DWITH_SYSTEMD=ON,-DWITH_SYSTEMD=OFF,systemd" +PACKAGECONFIG[websockets] = "-DWITH_WEBSOCKETS=ON,-DWITH_WEBSOCKETS=OFF,libwebsockets" +PACKAGECONFIG[dlt] = "-DWITH_DLT=ON,-DWITH_DLT=OFF,dlt-daemon" + +EXTRA_OECMAKE = " \ + -DWITH_BUNDLED_DEPS=OFF \ + -DWITH_ADNS=ON \ +" + +do_install_append() { + install -d ${D}${systemd_unitdir}/system/ + install -m 0644 ${S}/service/systemd/mosquitto.service.notify ${D}${systemd_unitdir}/system/mosquitto.service + + install -d ${D}${sysconfdir}/init.d/ + install -m 0755 ${WORKDIR}/mosquitto.init ${D}${sysconfdir}/init.d/mosquitto + sed -i -e 's,@SBINDIR@,${sbindir},g' \ + -e 's,@BASE_SBINDIR@,${base_sbindir},g' \ + -e 's,@LOCALSTATEDIR@,${localstatedir},g' \ + -e 's,@SYSCONFDIR@,${sysconfdir},g' \ + ${D}${sysconfdir}/init.d/mosquitto +} + +PACKAGES += "libmosquitto1 libmosquittopp1 ${PN}-clients" + +PACKAGE_BEFORE_PN = "${PN}-examples" + +FILES_${PN} = "${sbindir}/mosquitto \ + ${bindir}/mosquitto_passwd \ + ${bindir}/mosquitto_ctrl \ + ${libdir}/mosquitto_dynamic_security.so \ + ${sysconfdir}/mosquitto \ + ${sysconfdir}/init.d \ + ${systemd_unitdir}/system/mosquitto.service \ +" + +CONFFILES_${PN} += "${sysconfdir}/mosquitto/mosquitto.conf" + +FILES_libmosquitto1 = "${libdir}/libmosquitto.so.*" + +FILES_libmosquittopp1 = "${libdir}/libmosquittopp.so.*" + +FILES_${PN}-clients = "${bindir}/mosquitto_pub \ + ${bindir}/mosquitto_sub \ + ${bindir}/mosquitto_rr \ +" + +FILES_${PN}-examples = "${sysconfdir}/mosquitto/*.example" + +SYSTEMD_SERVICE_${PN} = "mosquitto.service" + +INITSCRIPT_NAME = "mosquitto" +INITSCRIPT_PARAMS = "defaults 30" + +USERADD_PACKAGES = "${PN}" +USERADD_PARAM_${PN} = "--system --no-create-home --shell /bin/false \ + --user-group mosquitto" + +BBCLASSEXTEND += "native nativesdk" diff --git a/meta-openembedded/meta-networking/recipes-daemons/atftp/atftp/atftpd.init b/meta-openembedded/meta-networking/recipes-daemons/atftp/atftp/atftpd.init new file mode 100644 index 000000000..161d97aca --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-daemons/atftp/atftp/atftpd.init @@ -0,0 +1,37 @@ +#! /bin/sh +# +# This is an init script for openembedded +# Copy it to /etc/init.d/atftpd and type +# > update-rc.d atftpd defaults 60 +# + + +test -f /usr/sbin/atftpd || exit 0 + +test -d /srv/tftp || mkdir -p /srv/tftp + +case "$1" in + start) + echo -n "Starting tftp daemon: atftpd" + start-stop-daemon --start --quiet --exec /usr/sbin/atftpd -- --daemon --port 69 + echo "." + ;; + stop) + echo -n "Stopping tftp daemon: atftpd" + start-stop-daemon --stop --quiet --exec /usr/sbin/atftpd + echo "." + ;; + reload|force-reload) + start-stop-daemon --stop --quiet --signal 1 --exec /usr/sbin/atftpd + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + *) + echo "Usage: /etc/init.d/atftpd {start|stop|reload|restart|force-reload}" + exit 1 +esac + +exit 0 diff --git a/meta-openembedded/meta-networking/recipes-daemons/atftp/files/atftpd.init b/meta-openembedded/meta-networking/recipes-daemons/atftp/files/atftpd.init deleted file mode 100644 index 161d97aca..000000000 --- a/meta-openembedded/meta-networking/recipes-daemons/atftp/files/atftpd.init +++ /dev/null @@ -1,37 +0,0 @@ -#! /bin/sh -# -# This is an init script for openembedded -# Copy it to /etc/init.d/atftpd and type -# > update-rc.d atftpd defaults 60 -# - - -test -f /usr/sbin/atftpd || exit 0 - -test -d /srv/tftp || mkdir -p /srv/tftp - -case "$1" in - start) - echo -n "Starting tftp daemon: atftpd" - start-stop-daemon --start --quiet --exec /usr/sbin/atftpd -- --daemon --port 69 - echo "." - ;; - stop) - echo -n "Stopping tftp daemon: atftpd" - start-stop-daemon --stop --quiet --exec /usr/sbin/atftpd - echo "." - ;; - reload|force-reload) - start-stop-daemon --stop --quiet --signal 1 --exec /usr/sbin/atftpd - ;; - restart) - $0 stop - sleep 1 - $0 start - ;; - *) - echo "Usage: /etc/init.d/atftpd {start|stop|reload|restart|force-reload}" - exit 1 -esac - -exit 0 diff --git a/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/iscsi-initiator-utils_2.1.3.bb b/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/iscsi-initiator-utils_2.1.3.bb deleted file mode 100644 index 4a9cf9db4..000000000 --- a/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/iscsi-initiator-utils_2.1.3.bb +++ /dev/null @@ -1,117 +0,0 @@ -SUMMARY = "iSCSI daemon and utility programs" -DESCRIPTION = "Open-iSCSI project is a high performance, transport \ -independent, multi-platform implementation of RFC3720. The iscsi package \ -provides the server daemon for the iSCSI protocol, as well as the utility \ -programs used to manage it. iSCSI is a protocol for distributed \ -disk access using SCSI commands sent over Internet Protocol networks." -HOMEPAGE = "http://www.open-iscsi.com/" -LICENSE = "GPLv2 & LGPLv2.1" -SECTION = "net" -DEPENDS = "openssl flex-native bison-native open-isns util-linux kmod" -DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)}" - -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" - -SRCREV ?= "34e3ffb194f6fa3028c0eb2ff57e7db2d1026771" - -SRC_URI = "git://github.com/open-iscsi/open-iscsi \ - file://0001-Makefile-Do-not-set-Werror.patch \ - file://initd.debian \ - file://99_iscsi-initiator-utils \ - file://iscsi-initiator \ - file://iscsi-initiator.service \ - file://iscsi-initiator-targets.service \ - file://set_initiatorname \ - " -S = "${WORKDIR}/git" - -inherit update-rc.d systemd autotools pkgconfig - -EXTRA_OECONF = " \ - --target=${TARGET_SYS} \ - --host=${BUILD_SYS} \ -" - -EXTRA_OECONF += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '', '--without-systemd NO_SYSTEMD=1', d)}" - -EXTRA_OEMAKE = ' \ - OS="${TARGET_SYS}" \ - TARGET="${TARGET_OS}" \ - BASE="${prefix}" \ - MANDIR="${mandir}" \ - OPTFLAGS="-DNO_SYSTEMD ${CFLAGS}" \ - PKG_CONFIG="${STAGING_BINDIR_NATIVE}/pkg-config" \ -' - - -do_configure () { - cd ${S}/iscsiuio ; autoreconf --install; ./configure ${EXTRA_OECONF} -} - -do_compile () { - # Make sure we DO NOT regenerate prom_lex.c. - if [ -f ${S}/utils/fwparam_ibft/prom_lex.l ]; then - mv ${S}/utils/fwparam_ibft/prom_lex.l ${S}/utils/fwparam_ibft/prom_lex.l.unused - fi - oe_runmake -C ${S} ${EXTRA_OEMAKE} user -} - -do_install () { - #install necessary directories - install -d ${D}${sbindir} \ - ${D}${sysconfdir}/init.d \ - ${D}${sysconfdir}/iscsi \ - ${D}${localstatedir}/lib/iscsi/nodes \ - ${D}${localstatedir}/lib/iscsi/send_targets \ - ${D}${localstatedir}/lib/iscsi/static \ - ${D}${localstatedir}/lib/iscsi/isns \ - ${D}${localstatedir}/lib/iscsi/slp \ - ${D}${localstatedir}/lib/iscsi/ifaces \ - ${D}${libdir} \ - ${D}${mandir}/man8 - - install -p -m 755 ${S}/usr/iscsid ${S}/usr/iscsiadm \ - ${S}/utils/iscsi-iname \ - ${S}/usr/iscsistart ${D}/${sbindir} - - cp -dR ${S}/libopeniscsiusr/libopeniscsiusr.so* ${D}${libdir} - install -p -m 644 ${S}/doc/iscsiadm.8 ${S}/doc/iscsid.8 ${D}/${mandir}/man8 - install -p -m 644 ${S}/etc/iscsid.conf ${D}${sysconfdir}/iscsi - install -p -m 755 ${WORKDIR}/initd.debian ${D}${sysconfdir}/init.d/iscsid - - sed -i -e "s:= /sbin/iscsid:= ${sbindir}/iscsid:" ${D}${sysconfdir}/iscsi/iscsid.conf - - if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then - install -d ${D}${sysconfdir}/tmpfiles.d - echo "d /run/${BPN}/lock - - - -" \ - > ${D}${sysconfdir}/tmpfiles.d/iscsi.conf - install -d ${D}/etc/default/ - install -p -m 755 ${WORKDIR}/iscsi-initiator ${D}${sysconfdir}/default/ - - install -d ${D}${systemd_unitdir}/system/ - install -m 0644 ${WORKDIR}/iscsi-initiator.service \ - ${WORKDIR}/iscsi-initiator-targets.service \ - ${D}${systemd_unitdir}/system/ - install -d ${D}${nonarch_libdir}/iscsi - install -m 0755 ${WORKDIR}/set_initiatorname ${D}${nonarch_libdir}/iscsi - else - install -d ${D}/etc/default/volatiles - install -m 0644 ${WORKDIR}/99_iscsi-initiator-utils ${D}/etc/default/volatiles - fi -} - -pkg_postinst_${PN}() { - if [ "x$D" = "x" ]; then - if [ -e /etc/init.d/populate-volatile.sh ]; then - /etc/init.d/populate-volatile.sh update - elif command -v systemd-tmpfiles >/dev/null; then - systemd-tmpfiles --create ${sysconfdir}/tmpfiles.d/iscsi.conf - fi - fi -} - -SYSTEMD_SERVICE = " iscsi-initiator.service iscsi-initiator-targets.service " -INITSCRIPT_NAME = "iscsid" -INITSCRIPT_PARAMS = "start 30 1 2 3 4 5 . stop 70 0 1 2 3 4 5 6 ." - -FILES_${PN} += "${nonarch_libdir}/iscsi" diff --git a/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/iscsi-initiator-utils_2.1.4.bb b/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/iscsi-initiator-utils_2.1.4.bb new file mode 100644 index 000000000..8a3dd011e --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/iscsi-initiator-utils_2.1.4.bb @@ -0,0 +1,117 @@ +SUMMARY = "iSCSI daemon and utility programs" +DESCRIPTION = "Open-iSCSI project is a high performance, transport \ +independent, multi-platform implementation of RFC3720. The iscsi package \ +provides the server daemon for the iSCSI protocol, as well as the utility \ +programs used to manage it. iSCSI is a protocol for distributed \ +disk access using SCSI commands sent over Internet Protocol networks." +HOMEPAGE = "http://www.open-iscsi.com/" +LICENSE = "GPLv2 & LGPLv2.1" +SECTION = "net" +DEPENDS = "openssl flex-native bison-native open-isns util-linux kmod" +DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)}" + +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +SRCREV ?= "095f59ca464220eae285de6b5f2ee31185a6a84c" + +SRC_URI = "git://github.com/open-iscsi/open-iscsi \ + file://0001-Makefile-Do-not-set-Werror.patch \ + file://initd.debian \ + file://99_iscsi-initiator-utils \ + file://iscsi-initiator \ + file://iscsi-initiator.service \ + file://iscsi-initiator-targets.service \ + file://set_initiatorname \ + " +S = "${WORKDIR}/git" + +inherit update-rc.d systemd autotools pkgconfig + +EXTRA_OECONF = " \ + --target=${TARGET_SYS} \ + --host=${BUILD_SYS} \ +" + +EXTRA_OECONF += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '', '--without-systemd NO_SYSTEMD=1', d)}" + +EXTRA_OEMAKE = ' \ + OS="${TARGET_SYS}" \ + TARGET="${TARGET_OS}" \ + BASE="${prefix}" \ + MANDIR="${mandir}" \ + OPTFLAGS="-DNO_SYSTEMD ${CFLAGS}" \ + PKG_CONFIG="${STAGING_BINDIR_NATIVE}/pkg-config" \ +' + + +do_configure () { + cd ${S}/iscsiuio ; autoreconf --install; ./configure ${EXTRA_OECONF} +} + +do_compile () { + # Make sure we DO NOT regenerate prom_lex.c. + if [ -f ${S}/utils/fwparam_ibft/prom_lex.l ]; then + mv ${S}/utils/fwparam_ibft/prom_lex.l ${S}/utils/fwparam_ibft/prom_lex.l.unused + fi + oe_runmake -C ${S} ${EXTRA_OEMAKE} user +} + +do_install () { + #install necessary directories + install -d ${D}${sbindir} \ + ${D}${sysconfdir}/init.d \ + ${D}${sysconfdir}/iscsi \ + ${D}${localstatedir}/lib/iscsi/nodes \ + ${D}${localstatedir}/lib/iscsi/send_targets \ + ${D}${localstatedir}/lib/iscsi/static \ + ${D}${localstatedir}/lib/iscsi/isns \ + ${D}${localstatedir}/lib/iscsi/slp \ + ${D}${localstatedir}/lib/iscsi/ifaces \ + ${D}${libdir} \ + ${D}${mandir}/man8 + + install -p -m 755 ${S}/usr/iscsid ${S}/usr/iscsiadm \ + ${S}/utils/iscsi-iname \ + ${S}/usr/iscsistart ${D}/${sbindir} + + cp -dR ${S}/libopeniscsiusr/libopeniscsiusr.so* ${D}${libdir} + install -p -m 644 ${S}/doc/iscsiadm.8 ${S}/doc/iscsid.8 ${D}/${mandir}/man8 + install -p -m 644 ${S}/etc/iscsid.conf ${D}${sysconfdir}/iscsi + install -p -m 755 ${WORKDIR}/initd.debian ${D}${sysconfdir}/init.d/iscsid + + sed -i -e "s:= /sbin/iscsid:= ${sbindir}/iscsid:" ${D}${sysconfdir}/iscsi/iscsid.conf + + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then + install -d ${D}${sysconfdir}/tmpfiles.d + echo "d /run/${BPN}/lock - - - -" \ + > ${D}${sysconfdir}/tmpfiles.d/iscsi.conf + install -d ${D}/etc/default/ + install -p -m 755 ${WORKDIR}/iscsi-initiator ${D}${sysconfdir}/default/ + + install -d ${D}${systemd_unitdir}/system/ + install -m 0644 ${WORKDIR}/iscsi-initiator.service \ + ${WORKDIR}/iscsi-initiator-targets.service \ + ${D}${systemd_unitdir}/system/ + install -d ${D}${nonarch_libdir}/iscsi + install -m 0755 ${WORKDIR}/set_initiatorname ${D}${nonarch_libdir}/iscsi + else + install -d ${D}/etc/default/volatiles + install -m 0644 ${WORKDIR}/99_iscsi-initiator-utils ${D}/etc/default/volatiles + fi +} + +pkg_postinst_${PN}() { + if [ "x$D" = "x" ]; then + if [ -e /etc/init.d/populate-volatile.sh ]; then + /etc/init.d/populate-volatile.sh update + elif command -v systemd-tmpfiles >/dev/null; then + systemd-tmpfiles --create ${sysconfdir}/tmpfiles.d/iscsi.conf + fi + fi +} + +SYSTEMD_SERVICE = " iscsi-initiator.service iscsi-initiator-targets.service " +INITSCRIPT_NAME = "iscsid" +INITSCRIPT_PARAMS = "start 30 1 2 3 4 5 . stop 70 0 1 2 3 4 5 6 ." + +FILES_${PN} += "${nonarch_libdir}/iscsi" diff --git a/meta-openembedded/meta-networking/recipes-filter/ipset/ipset_7.10.bb b/meta-openembedded/meta-networking/recipes-filter/ipset/ipset_7.10.bb deleted file mode 100644 index b724233ba..000000000 --- a/meta-openembedded/meta-networking/recipes-filter/ipset/ipset_7.10.bb +++ /dev/null @@ -1,21 +0,0 @@ -# Copyright (C) 2017 Aaron Brice -# Released under the MIT license (see COPYING.MIT for the terms) - -DESCRIPTION = "Administration tool for IP sets" -HOMEPAGE = "http://ipset.netfilter.org" -LICENSE = "GPL-2.0" -LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" -SECTION = "base" - -DEPENDS = "libtool libmnl" - -SRC_URI = "http://ftp.netfilter.org/pub/ipset/${BP}.tar.bz2" -SRC_URI[sha256sum] = "b24906ba43e2fe322bd41863476761d749a4bddf5ce4c2265ba04b03bc7e9cf6" - -inherit autotools pkgconfig module-base - -EXTRA_OECONF += "-with-kbuild=${KBUILD_OUTPUT} --with-ksource=${STAGING_KERNEL_DIR}" - -RRECOMMENDS_${PN} = "\ - kernel-module-ip-set \ -" diff --git a/meta-openembedded/meta-networking/recipes-filter/ipset/ipset_7.11.bb b/meta-openembedded/meta-networking/recipes-filter/ipset/ipset_7.11.bb new file mode 100644 index 000000000..693aa9031 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-filter/ipset/ipset_7.11.bb @@ -0,0 +1,21 @@ +# Copyright (C) 2017 Aaron Brice +# Released under the MIT license (see COPYING.MIT for the terms) + +DESCRIPTION = "Administration tool for IP sets" +HOMEPAGE = "http://ipset.netfilter.org" +LICENSE = "GPL-2.0" +LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" +SECTION = "base" + +DEPENDS = "libtool libmnl" + +SRC_URI = "http://ftp.netfilter.org/pub/ipset/${BP}.tar.bz2" +SRC_URI[sha256sum] = "3151baad30f1d9e317b2ab4f2f5aa7a9f7b4dc11fcf8fe73acd0dc0b5dbabf7d" + +inherit autotools pkgconfig module-base + +EXTRA_OECONF += "-with-kbuild=${KBUILD_OUTPUT} --with-ksource=${STAGING_KERNEL_DIR}" + +RRECOMMENDS_${PN} = "\ + kernel-module-ip-set \ +" diff --git a/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-tools_1.0.20210223.bb b/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-tools_1.0.20210223.bb deleted file mode 100644 index 4af7e3e66..000000000 --- a/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-tools_1.0.20210223.bb +++ /dev/null @@ -1,26 +0,0 @@ -require wireguard.inc - -SRCREV = "6d3b876492298d0e311053567ecd7084972a8bc8" -SRC_URI = "git://git.zx2c4.com/wireguard-tools" - -inherit bash-completion systemd pkgconfig - -DEPENDS += "libmnl" - -do_install () { - oe_runmake DESTDIR="${D}" PREFIX="${prefix}" SYSCONFDIR="${sysconfdir}" \ - SYSTEMDUNITDIR="${systemd_system_unitdir}" \ - WITH_SYSTEMDUNITS=${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'yes', '', d)} \ - WITH_BASHCOMPLETION=yes \ - WITH_WGQUICK=yes \ - install -} - -FILES_${PN} = " \ - ${sysconfdir} \ - ${systemd_system_unitdir} \ - ${bindir} \ -" - -RDEPENDS_${PN} = "bash" -RRECOMMENDS_${PN} = "kernel-module-wireguard" diff --git a/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-tools_1.0.20210315.bb b/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-tools_1.0.20210315.bb new file mode 100644 index 000000000..f02303e0e --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-tools_1.0.20210315.bb @@ -0,0 +1,26 @@ +require wireguard.inc + +SRCREV = "622408872fd6f3a58e98e88d39d30e98968314fa" +SRC_URI = "git://git.zx2c4.com/wireguard-tools" + +inherit bash-completion systemd pkgconfig + +DEPENDS += "libmnl" + +do_install () { + oe_runmake DESTDIR="${D}" PREFIX="${prefix}" SYSCONFDIR="${sysconfdir}" \ + SYSTEMDUNITDIR="${systemd_system_unitdir}" \ + WITH_SYSTEMDUNITS=${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'yes', '', d)} \ + WITH_BASHCOMPLETION=yes \ + WITH_WGQUICK=yes \ + install +} + +FILES_${PN} = " \ + ${sysconfdir} \ + ${systemd_system_unitdir} \ + ${bindir} \ +" + +RDEPENDS_${PN} = "bash" +RRECOMMENDS_${PN} = "kernel-module-wireguard" diff --git a/meta-openembedded/meta-networking/recipes-netkit/netkit-telnet/netkit-telnet_0.17.bb b/meta-openembedded/meta-networking/recipes-netkit/netkit-telnet/netkit-telnet_0.17.bb index 08dd532b6..c05d0fd6c 100644 --- a/meta-openembedded/meta-networking/recipes-netkit/netkit-telnet/netkit-telnet_0.17.bb +++ b/meta-openembedded/meta-networking/recipes-netkit/netkit-telnet/netkit-telnet_0.17.bb @@ -5,7 +5,7 @@ DEPENDS = "ncurses" LICENSE = "BSD-4-Clause" LIC_FILES_CHKSUM = "file://telnet/telnet.cc;beginline=2;endline=3;md5=780868e7b566313e70cb701560ca95ef" -SRC_URI = "http://ftp.linux.org.uk/pub/linux/Networking/netkit/${BP}.tar.gz \ +SRC_URI = "${DEBIAN_MIRROR}/main/n/netkit-telnet/netkit-telnet_${PV}.orig.tar.gz \ file://To-aviod-buffer-overflow-in-telnet.patch \ file://Warning-fix-in-the-step-of-install.patch \ file://telnet-xinetd \ diff --git a/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns_1310.40.42.bb b/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns_1310.40.42.bb index 445ed87e4..60bc26bf1 100644 --- a/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns_1310.40.42.bb +++ b/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns_1310.40.42.bb @@ -27,6 +27,19 @@ SRC_URI[sha256sum] = "bea29e1616cd56ccb8f88c0fad2bcdc4031f4deb2d899c793e2f27a838 CVE_PRODUCT = "apple:mdnsresponder" +# CVE-2007-0613 is not applicable as it only affects Apple products +# i.e. ichat,mdnsresponder, instant message framework and MacOS. +# Also, https://www.exploit-db.com/exploits/3230 shows the part of code +# affected by CVE-2007-0613 which is not preset in upstream source code. +# Hence, CVE-2007-0613 does not affect other Yocto implementations and +# is not reported for other distros can be marked whitelisted. +# Links: +# https://vulmon.com/vulnerabilitydetails?qid=CVE-2007-0613 +# https://www.incibe-cert.es/en/early-warning/vulnerabilities/cve-2007-0613 +# https://security-tracker.debian.org/tracker/CVE-2007-0613 +# https://vulmon.com/vulnerabilitydetails?qid=CVE-2007-0613 +CVE_CHECK_WHITELIST += "CVE-2007-0613" + PARALLEL_MAKE = "" S = "${WORKDIR}/mDNSResponder-${PV}/mDNSPosix" diff --git a/meta-openembedded/meta-networking/recipes-protocols/quagga/files/bgpd.service b/meta-openembedded/meta-networking/recipes-protocols/quagga/files/bgpd.service index c1021fbd7..818b59cb2 100644 --- a/meta-openembedded/meta-networking/recipes-protocols/quagga/files/bgpd.service +++ b/meta-openembedded/meta-networking/recipes-protocols/quagga/files/bgpd.service @@ -7,7 +7,6 @@ ConditionPathExists=@SYSCONFDIR@/quagga/bgpd.conf [Service] Type=forking EnvironmentFile=-@SYSCONFDIR@/default/quagga -PIDFile=/run/quagga/bgpd.pid ExecStart=@SBINDIR@/bgpd -d $bgpd_options -f @SYSCONFDIR@/quagga/bgpd.conf ExecStopPost=@base_bindir@/rm -rf /run/quagga/bgpd.pid Restart=on-abort diff --git a/meta-openembedded/meta-networking/recipes-protocols/quagga/files/ospf6d.service b/meta-openembedded/meta-networking/recipes-protocols/quagga/files/ospf6d.service index 99d0e6dca..50645fe2a 100644 --- a/meta-openembedded/meta-networking/recipes-protocols/quagga/files/ospf6d.service +++ b/meta-openembedded/meta-networking/recipes-protocols/quagga/files/ospf6d.service @@ -7,7 +7,6 @@ ConditionPathExists=@SYSCONFDIR@/quagga/ospf6d.conf [Service] Type=forking EnvironmentFile=-@SYSCONFDIR@/default/quagga -PIDFile=/run/quagga/ospf6d.pid ExecStart=@SBINDIR@/ospf6d -d $ospf6d_options -f @SYSCONFDIR@/quagga/ospf6d.conf ExecStopPost=@base_bindir@/rm -rf /run/quagga/ospf6d.pid Restart=on-abort diff --git a/meta-openembedded/meta-networking/recipes-protocols/quagga/files/ospfd.service b/meta-openembedded/meta-networking/recipes-protocols/quagga/files/ospfd.service index fe8343be1..2cab1cd14 100644 --- a/meta-openembedded/meta-networking/recipes-protocols/quagga/files/ospfd.service +++ b/meta-openembedded/meta-networking/recipes-protocols/quagga/files/ospfd.service @@ -7,7 +7,6 @@ ConditionPathExists=@SYSCONFDIR@/quagga/ospfd.conf [Service] Type=forking EnvironmentFile=-@SYSCONFDIR@/default/quagga -PIDFile=/run/quagga/ospfd.pid ExecStart=@SBINDIR@/ospfd -d $ospfd_options -f @SYSCONFDIR@/quagga/ospfd.conf ExecStopPost=@base_bindir@/rm -rf /run/quagga/ospfd.pid Restart=on-abort diff --git a/meta-openembedded/meta-networking/recipes-protocols/quagga/files/ripd.service b/meta-openembedded/meta-networking/recipes-protocols/quagga/files/ripd.service index 7af65ca8a..2c824318a 100644 --- a/meta-openembedded/meta-networking/recipes-protocols/quagga/files/ripd.service +++ b/meta-openembedded/meta-networking/recipes-protocols/quagga/files/ripd.service @@ -7,7 +7,6 @@ ConditionPathExists=@SYSCONFDIR@/quagga/ripd.conf [Service] Type=forking EnvironmentFile=-@SYSCONFDIR@/default/quagga -PIDFile=/run/quagga/ripd.pid ExecStart=@SBINDIR@/ripd -d $ripd_options -f @SYSCONFDIR@/quagga/ripd.conf ExecStopPost=@base_bindir@/rm -rf /run/quagga/ripd.pid Restart=on-abort diff --git a/meta-openembedded/meta-networking/recipes-protocols/quagga/files/ripngd.service b/meta-openembedded/meta-networking/recipes-protocols/quagga/files/ripngd.service index 9305f86be..c3555b345 100644 --- a/meta-openembedded/meta-networking/recipes-protocols/quagga/files/ripngd.service +++ b/meta-openembedded/meta-networking/recipes-protocols/quagga/files/ripngd.service @@ -7,7 +7,6 @@ ConditionPathExists=@SYSCONFDIR@/quagga/ripngd.conf [Service] Type=forking EnvironmentFile=-@SYSCONFDIR@/default/quagga -PIDFile=/run/quagga/ripngd.pid ExecStart=@SBINDIR@/ripngd -d $ripngd_options -f @SYSCONFDIR@/quagga/ripngd.conf ExecStopPost=@base_bindir@/rm -rf /run/quagga/ripngd.pid Restart=on-abort diff --git a/meta-openembedded/meta-networking/recipes-protocols/quagga/files/zebra.service b/meta-openembedded/meta-networking/recipes-protocols/quagga/files/zebra.service index e34af7242..9186041ae 100644 --- a/meta-openembedded/meta-networking/recipes-protocols/quagga/files/zebra.service +++ b/meta-openembedded/meta-networking/recipes-protocols/quagga/files/zebra.service @@ -7,7 +7,6 @@ ConditionPathExists=@SYSCONFDIR@/quagga/zebra.conf [Service] Type=forking EnvironmentFile=-@SYSCONFDIR@/default/quagga -PIDFile=/run/quagga/zebra.pid ExecStartPre=@BASE_SBINDIR@/ip route flush proto zebra ExecStart=@SBINDIR@/zebra -d $zebra_options -f @SYSCONFDIR@/quagga/zebra.conf ExecStopPost=@base_bindir@/rm -rf /run/quagga/zebra.pid diff --git a/meta-openembedded/meta-networking/recipes-protocols/quagga/quagga.inc b/meta-openembedded/meta-networking/recipes-protocols/quagga/quagga.inc index 6df72427b..3b7a425bb 100644 --- a/meta-openembedded/meta-networking/recipes-protocols/quagga/quagga.inc +++ b/meta-openembedded/meta-networking/recipes-protocols/quagga/quagga.inc @@ -20,7 +20,7 @@ SNMP_CONF="${@bb.utils.contains('DISTRO_FEATURES', 'snmp', '--enable-snmp', '', # the "ip" command from busybox is not sufficient (flush by protocol flushes all routes) RDEPENDS_${PN} += "iproute2" -SRC_URI = "${SAVANNAH_GNU_MIRROR}/quagga/quagga-${PV}.tar.gz; \ +SRC_URI = "https://github.com/Quagga/quagga/releases/download/quagga-${PV}/quagga-${PV}.tar.gz \ file://quagga.init \ file://quagga.default \ file://watchquagga.init \ diff --git a/meta-openembedded/meta-networking/recipes-support/bridge-utils/bridge-utils_1.7.bb b/meta-openembedded/meta-networking/recipes-support/bridge-utils/bridge-utils_1.7.bb index 369232343..cf7185864 100644 --- a/meta-openembedded/meta-networking/recipes-support/bridge-utils/bridge-utils_1.7.bb +++ b/meta-openembedded/meta-networking/recipes-support/bridge-utils/bridge-utils_1.7.bb @@ -8,7 +8,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=f9d20a453221a1b7e32ae84694da2c37" SRCREV = "ab8a2cc330253321be7bc69dea88bfaa3d48415e" SRC_URI = "\ - git://git.kernel.org/pub/scm/linux/kernel/git/shemminger/bridge-utils.git \ + git://git.kernel.org/pub/scm/linux/kernel/git/shemminger/bridge-utils.git;branch=main \ file://kernel-headers.patch \ file://0005-build-don-t-ignore-CFLAGS-from-environment.patch \ file://0006-libbridge-Modifying-the-AR-to-cross-toolchain.patch \ diff --git a/meta-openembedded/meta-networking/recipes-support/dovecot/dovecot_2.3.13.bb b/meta-openembedded/meta-networking/recipes-support/dovecot/dovecot_2.3.13.bb deleted file mode 100644 index c78d283d2..000000000 --- a/meta-openembedded/meta-networking/recipes-support/dovecot/dovecot_2.3.13.bb +++ /dev/null @@ -1,73 +0,0 @@ -SUMMARY = "Dovecot is an open source IMAP and POP3 email server" -HOMEPAGE = "https://www.dovecot.org/" -DESCRIPTION = "Dovecot is an open source IMAP and POP3 email server for Linux/UNIX-like systems, written with security primarily in mind. Dovecot is an excellent choice for both small and large installations. It's fast, simple to set up, requires no special administration and it uses very little memory." -SECTION = "mail" -LICENSE = "LGPLv2.1 & MIT" -LIC_FILES_CHKSUM = "file://COPYING;md5=2956560272e5b31d9d64f03111732048" - -SRC_URI = "http://dovecot.org/releases/2.3/dovecot-${PV}.tar.gz \ - file://0001-configure.ac-convert-AC_TRY_RUN-to-AC_TRY_LINK-state.patch \ - file://dovecot.service \ - file://dovecot.socket \ - file://0001-not-check-pandoc.patch \ - " - -SRC_URI[md5sum] = "f512bf1a4dac9ac994fddfb6bc5068ff" -SRC_URI[sha256sum] = "a3f875b80ec11a452480690108660030978c94fa8e796ad6d943a874b496f1c4" - -DEPENDS = "openssl xz zlib bzip2 libcap icu libtirpc bison-native" -CFLAGS += "-I${STAGING_INCDIR}/tirpc" -LDFLAGS += "-ltirpc" - -inherit autotools pkgconfig systemd useradd gettext - -PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ldap pam', d)}" - -PACKAGECONFIG[pam] = "--with-pam,--without-pam,libpam," -PACKAGECONFIG[ldap] = "--with-ldap=plugin,--without-ldap,openldap," -PACKAGECONFIG[lz4] = "--with-lz4,--without-lz4,lz4," - -# From native build in armv7a-hf/eglibc -CACHED_CONFIGUREVARS += "i_cv_signed_size_t=no \ - i_cv_gmtime_max_time_t=32 \ - i_cv_signed_time_t=yes \ - i_cv_mmap_plays_with_write=yes \ - i_cv_fd_passing=yes \ - i_cv_c99_vsnprintf=yes \ - lib_cv___va_copy=yes \ - lib_cv_va_copy=yes \ - lib_cv_va_val_copy=yes \ - " - -# hardcode epoll() to avoid running unsafe tests -# BSD needs kqueue and uclibc poll() -EXTRA_OECONF = " --with-ioloop=epoll \ - --with-systemdsystemunitdir=${systemd_unitdir}/system" - -# Uses hidden symbols -# libssl_iostream_openssl.so: undefined reference to `ssl_iostream_handshake' -LTO = "" - -SYSTEMD_PACKAGES = "${PN}" -SYSTEMD_SERVICE_${PN} = "dovecot.service dovecot.socket" -SYSTEMD_AUTO_ENABLE = "disable" - -do_install_append () { - install -d 755 ${D}/etc/dovecot - touch 644 ${D}/etc/dovecot/dovecot.conf - install -m 0644 ${WORKDIR}/dovecot.service ${D}${systemd_unitdir}/system - sed -i -e 's#@SYSCONFDIR@#${sysconfdir}#g' ${D}${systemd_unitdir}/system/dovecot.service - sed -i -e 's#@SBINDIR@#${sbindir}#g' ${D}${systemd_unitdir}/system/dovecot.service -} - -USERADD_PACKAGES = "${PN}" -USERADD_PARAM_${PN} = "-r -d ${libexecdir} -M -s ${base_sbindir}/nologin -g dovecot dovecot; \ - -r -d ${libexecdir} -M -s ${base_sbindir}/nologin -g dovenull dovenull" -GROUPADD_PARAM_${PN} = "-f -r dovecot;-f -r dovenull" - -FILES_${PN} += "${libdir}/dovecot/*plugin.so \ - ${libdir}/dovecot/libfs_compress.so \ - ${libdir}/dovecot/libssl_iostream_openssl.so" -FILES_${PN}-staticdev += "${libdir}/dovecot/*/*.a" -FILES_${PN}-dev += "${libdir}/dovecot/libdovecot*.so" -FILES_${PN}-dbg += "${libdir}/dovecot/*/.debug" diff --git a/meta-openembedded/meta-networking/recipes-support/dovecot/dovecot_2.3.14.bb b/meta-openembedded/meta-networking/recipes-support/dovecot/dovecot_2.3.14.bb new file mode 100644 index 000000000..c0f2863db --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-support/dovecot/dovecot_2.3.14.bb @@ -0,0 +1,73 @@ +SUMMARY = "Dovecot is an open source IMAP and POP3 email server" +HOMEPAGE = "https://www.dovecot.org/" +DESCRIPTION = "Dovecot is an open source IMAP and POP3 email server for Linux/UNIX-like systems, written with security primarily in mind. Dovecot is an excellent choice for both small and large installations. It's fast, simple to set up, requires no special administration and it uses very little memory." +SECTION = "mail" +LICENSE = "LGPLv2.1 & MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=2956560272e5b31d9d64f03111732048" + +SRC_URI = "http://dovecot.org/releases/2.3/dovecot-${PV}.tar.gz \ + file://0001-configure.ac-convert-AC_TRY_RUN-to-AC_TRY_LINK-state.patch \ + file://dovecot.service \ + file://dovecot.socket \ + file://0001-not-check-pandoc.patch \ + " + +SRC_URI[md5sum] = "2f03532cec3280ae45a101a7a55ccef5" +SRC_URI[sha256sum] = "c8b3d7f3af1e558a3ff0f970309d4013a4d3ce136f8c02a53a3b05f345b9a34a" + +DEPENDS = "openssl xz zlib bzip2 libcap icu libtirpc bison-native" +CFLAGS += "-I${STAGING_INCDIR}/tirpc" +LDFLAGS += "-ltirpc" + +inherit autotools pkgconfig systemd useradd gettext + +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ldap pam', d)}" + +PACKAGECONFIG[pam] = "--with-pam,--without-pam,libpam," +PACKAGECONFIG[ldap] = "--with-ldap=plugin,--without-ldap,openldap," +PACKAGECONFIG[lz4] = "--with-lz4,--without-lz4,lz4," + +# From native build in armv7a-hf/eglibc +CACHED_CONFIGUREVARS += "i_cv_signed_size_t=no \ + i_cv_gmtime_max_time_t=32 \ + i_cv_signed_time_t=yes \ + i_cv_mmap_plays_with_write=yes \ + i_cv_fd_passing=yes \ + i_cv_c99_vsnprintf=yes \ + lib_cv___va_copy=yes \ + lib_cv_va_copy=yes \ + lib_cv_va_val_copy=yes \ + " + +# hardcode epoll() to avoid running unsafe tests +# BSD needs kqueue and uclibc poll() +EXTRA_OECONF = " --with-ioloop=epoll \ + --with-systemdsystemunitdir=${systemd_unitdir}/system" + +# Uses hidden symbols +# libssl_iostream_openssl.so: undefined reference to `ssl_iostream_handshake' +LTO = "" + +SYSTEMD_PACKAGES = "${PN}" +SYSTEMD_SERVICE_${PN} = "dovecot.service dovecot.socket" +SYSTEMD_AUTO_ENABLE = "disable" + +do_install_append () { + install -d 755 ${D}/etc/dovecot + touch 644 ${D}/etc/dovecot/dovecot.conf + install -m 0644 ${WORKDIR}/dovecot.service ${D}${systemd_unitdir}/system + sed -i -e 's#@SYSCONFDIR@#${sysconfdir}#g' ${D}${systemd_unitdir}/system/dovecot.service + sed -i -e 's#@SBINDIR@#${sbindir}#g' ${D}${systemd_unitdir}/system/dovecot.service +} + +USERADD_PACKAGES = "${PN}" +USERADD_PARAM_${PN} = "-r -d ${libexecdir} -M -s ${base_sbindir}/nologin -g dovecot dovecot; \ + -r -d ${libexecdir} -M -s ${base_sbindir}/nologin -g dovenull dovenull" +GROUPADD_PARAM_${PN} = "-f -r dovecot;-f -r dovenull" + +FILES_${PN} += "${libdir}/dovecot/*plugin.so \ + ${libdir}/dovecot/libfs_compress.so \ + ${libdir}/dovecot/libssl_iostream_openssl.so" +FILES_${PN}-staticdev += "${libdir}/dovecot/*/*.a" +FILES_${PN}-dev += "${libdir}/dovecot/libdovecot*.so" +FILES_${PN}-dbg += "${libdir}/dovecot/*/.debug" diff --git a/meta-openembedded/meta-networking/recipes-support/fetchmail/fetchmail_6.4.16.bb b/meta-openembedded/meta-networking/recipes-support/fetchmail/fetchmail_6.4.16.bb deleted file mode 100644 index 71163c8d9..000000000 --- a/meta-openembedded/meta-networking/recipes-support/fetchmail/fetchmail_6.4.16.bb +++ /dev/null @@ -1,22 +0,0 @@ -SUMMARY = "Fetchmail retrieves mail from remote mail servers and forwards it via SMTP" -HOMEPAGE = "http://www.fetchmail.info/" -DESCRIPTION = "Fetchmail is a full-featured, robust, well-documented remote-mail retrieval \ -and forwarding utility intended to be used over on-demand TCP/IP links (such as SLIP or PPP \ -connections). It supports every remote-mail protocol now in use on the Internet: POP2, POP3, \ -RPOP, APOP, KPOP, all flavors of IMAP, ETRN, and ODMR. It can even support IPv6 and IPSEC." -SECTION = "mail" -LICENSE = "GPLv2 & MIT" -LIC_FILES_CHKSUM = "file://COPYING;md5=06a8d16599e1d0b131390bec01fb571c" - -DEPENDS = "openssl" - -SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.xz \ - " -SRC_URI[sha256sum] = "044b9a0ac03afbae7744979defe3e2e32e39141bca68fd0c8deda2ed40884fb9" - -inherit autotools gettext python3-dir python3native - -EXTRA_OECONF = "--with-ssl=${STAGING_DIR_HOST}${prefix}" - -PACKAGES =+ "fetchmail-python" -FILES_fetchmail-python = "${libdir}/${PYTHON_DIR}/*" diff --git a/meta-openembedded/meta-networking/recipes-support/fetchmail/fetchmail_6.4.17.bb b/meta-openembedded/meta-networking/recipes-support/fetchmail/fetchmail_6.4.17.bb new file mode 100644 index 000000000..7c513f62b --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-support/fetchmail/fetchmail_6.4.17.bb @@ -0,0 +1,22 @@ +SUMMARY = "Fetchmail retrieves mail from remote mail servers and forwards it via SMTP" +HOMEPAGE = "http://www.fetchmail.info/" +DESCRIPTION = "Fetchmail is a full-featured, robust, well-documented remote-mail retrieval \ +and forwarding utility intended to be used over on-demand TCP/IP links (such as SLIP or PPP \ +connections). It supports every remote-mail protocol now in use on the Internet: POP2, POP3, \ +RPOP, APOP, KPOP, all flavors of IMAP, ETRN, and ODMR. It can even support IPv6 and IPSEC." +SECTION = "mail" +LICENSE = "GPLv2 & MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=06a8d16599e1d0b131390bec01fb571c" + +DEPENDS = "openssl" + +SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.xz \ + " +SRC_URI[sha256sum] = "a41bcdf11b41aa0682b259aee4717c617c15dadd43fa008b2ed38b770f4d50c6" + +inherit autotools gettext python3-dir python3native + +EXTRA_OECONF = "--with-ssl=${STAGING_DIR_HOST}${prefix}" + +PACKAGES =+ "fetchmail-python" +FILES_fetchmail-python = "${libdir}/${PYTHON_DIR}/*" diff --git a/meta-openembedded/meta-networking/recipes-support/geoip/geoip-perl_1.51.bb b/meta-openembedded/meta-networking/recipes-support/geoip/geoip-perl_1.51.bb index ed5c3a979..944c00576 100644 --- a/meta-openembedded/meta-networking/recipes-support/geoip/geoip-perl_1.51.bb +++ b/meta-openembedded/meta-networking/recipes-support/geoip/geoip-perl_1.51.bb @@ -11,7 +11,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=e4f3ea6e9b28af88dc0321190a1f8250" S = "${WORKDIR}/git" SRCREV = "4cdfdc38eca237c19c22a8b90490446ce6d970fa" -SRC_URI = "git://github.com/maxmind/geoip-api-perl.git;protocol=https; \ +SRC_URI = "git://github.com/maxmind/geoip-api-perl.git;branch=main \ file://run-ptest \ " diff --git a/meta-openembedded/meta-networking/recipes-support/geoip/geoip_1.6.12.bb b/meta-openembedded/meta-networking/recipes-support/geoip/geoip_1.6.12.bb index 4271c2e15..143100e48 100644 --- a/meta-openembedded/meta-networking/recipes-support/geoip/geoip_1.6.12.bb +++ b/meta-openembedded/meta-networking/recipes-support/geoip/geoip_1.6.12.bb @@ -10,7 +10,7 @@ SECTION = "libdevel" GEOIP_DATABASE_VERSION = "20181205" -SRC_URI = "git://github.com/maxmind/geoip-api-c.git \ +SRC_URI = "git://github.com/maxmind/geoip-api-c.git;branch=main \ http://sources.openembedded.org/GeoIP.dat.${GEOIP_DATABASE_VERSION}.gz;apply=no;name=GeoIP-dat; \ http://sources.openembedded.org/GeoIPv6.dat.${GEOIP_DATABASE_VERSION}.gz;apply=no;name=GeoIPv6-dat; \ http://sources.openembedded.org/GeoLiteCity.dat.${GEOIP_DATABASE_VERSION}.gz;apply=no;name=GeoLiteCity-dat; \ diff --git a/meta-openembedded/meta-networking/recipes-support/nbdkit/nbdkit_1.25.4.bb b/meta-openembedded/meta-networking/recipes-support/nbdkit/nbdkit_1.25.4.bb new file mode 100644 index 000000000..37f6a8b76 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-support/nbdkit/nbdkit_1.25.4.bb @@ -0,0 +1,34 @@ +SUMMARY = "nbdkit is a toolkit for creating NBD servers." +DESCRIPTION = "NBD — Network Block Device — is a protocol \ +for accessing Block Devices (hard disks and disk-like things) \ +over a Network. \ +\ +nbdkit is a toolkit for creating NBD servers." + +HOMEPAGE = "https://github.com/libguestfs/nbdkit" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=f9dcc2d8acdde215fa4bd6ac12bb14f0" + +SRC_URI = "git://github.com/libguestfs/nbdkit.git;protocol=https \ +" + +SRCREV = "7b04baeb1858fa04f5f4e0d6f2d23bef706e80da" + +S = "${WORKDIR}/git" + +DEPENDS = "curl xz e2fsprogs zlib" + +# autotools-brokensep is needed as nbdkit does not support build in external directory +inherit pkgconfig python3native perlnative bash-completion autotools-brokensep + +# Those are required to build standalone +EXTRA_OECONF = " --without-libvirt --without-libguestfs --disable-perl" + +# Disable some extended support (not desired for small embedded systems) +#EXTRA_OECONF += " --disable-python" +#EXTRA_OECONF += " --disable-ocaml" +#EXTRA_OECONF += " --disable-rust" +#EXTRA_OECONF += " --disable-ruby" +#EXTRA_OECONF += " --disable-tcl" +#EXTRA_OECONF += " --disable-lua" +#EXTRA_OECONF += " --disable-vddk" diff --git a/meta-openembedded/meta-networking/recipes-support/nbdkit/nbdkit_git.bb b/meta-openembedded/meta-networking/recipes-support/nbdkit/nbdkit_git.bb deleted file mode 100644 index a63e49ec5..000000000 --- a/meta-openembedded/meta-networking/recipes-support/nbdkit/nbdkit_git.bb +++ /dev/null @@ -1,36 +0,0 @@ -SUMMARY = "nbdkit is a toolkit for creating NBD servers." -DESCRIPTION = "NBD — Network Block Device — is a protocol \ -for accessing Block Devices (hard disks and disk-like things) \ -over a Network. \ -\ -nbdkit is a toolkit for creating NBD servers." - -HOMEPAGE = "https://github.com/libguestfs/nbdkit" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=4332a97808994cf2133a65b6c6f33eaf" - -SRC_URI = "git://github.com/libguestfs/nbdkit.git;protocol=https \ - file://0001-server-Fix-build-when-printf-is-a-macro.patch \ -" - -PV = "1.19.6+git${SRCPV}" -SRCREV = "257561bc9f2f01eb9f21686bcec4b863d17a26c4" - -S = "${WORKDIR}/git" - -DEPENDS = "curl xz e2fsprogs zlib" - -# autotools-brokensep is needed as nbdkit does not support build in external directory -inherit pkgconfig python3native perlnative bash-completion autotools-brokensep - -# Those are required to build standalone -EXTRA_OECONF = " --without-libvirt --without-libguestfs --disable-perl" - -# Disable some extended support (not desired for small embedded systems) -#EXTRA_OECONF += " --disable-python" -#EXTRA_OECONF += " --disable-ocaml" -#EXTRA_OECONF += " --disable-rust" -#EXTRA_OECONF += " --disable-ruby" -#EXTRA_OECONF += " --disable-tcl" -#EXTRA_OECONF += " --disable-lua" -#EXTRA_OECONF += " --disable-vddk" diff --git a/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-GitHub-Issue-367.-Remove-references-to-deprecated-G_.patch b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-GitHub-Issue-367.-Remove-references-to-deprecated-G_.patch new file mode 100644 index 000000000..6cb5dfccc --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-GitHub-Issue-367.-Remove-references-to-deprecated-G_.patch @@ -0,0 +1,94 @@ +From 6fb28085e867d7c3ef46577d9ff193a185693bcb Mon Sep 17 00:00:00 2001 +From: Oliver Kurth +Date: Mon, 30 Sep 2019 16:24:27 -0700 +Subject: [PATCH] GitHub Issue #367. Remove references to deprecated G_INLINE_FUNC. + +G_INLINE_FUNC was a work-around for compilers that didn't support +static inline. Change uses of it to static inline. + +Upstream-Status: Backport +[https://github.com/vmware/open-vm-tools/commit/89c0d444567eb525e8d083fb564c46d68e96660c] + +Signed-off-by: Khem Raj +--- + open-vm-tools/lib/include/vmware/tools/plugin.h | 2 +- + open-vm-tools/lib/include/vmware/tools/threadPool.h | 8 ++++---- + open-vm-tools/lib/include/vmware/tools/utils.h | 9 --------- + 3 files changed, 5 insertions(+), 14 deletions(-) + +diff --git a/open-vm-tools/lib/include/vmware/tools/plugin.h b/open-vm-tools/lib/include/vmware/tools/plugin.h +index f9acc6a2..deefd1f3 100644 +--- a/open-vm-tools/lib/include/vmware/tools/plugin.h ++++ b/open-vm-tools/lib/include/vmware/tools/plugin.h +@@ -290,7 +290,7 @@ typedef struct ToolsAppCtx { + * + * @return TRUE if COM is initialized when the function returns. + */ +-G_INLINE_FUNC gboolean ++static inline gboolean + ToolsCore_InitializeCOM(ToolsAppCtx *ctx) + { + if (!ctx->comInitialized) { +diff --git a/open-vm-tools/lib/include/vmware/tools/threadPool.h b/open-vm-tools/lib/include/vmware/tools/threadPool.h +index 3f2082b3..5880fbcf 100644 +--- a/open-vm-tools/lib/include/vmware/tools/threadPool.h ++++ b/open-vm-tools/lib/include/vmware/tools/threadPool.h +@@ -91,7 +91,7 @@ typedef struct ToolsCorePool { + ******************************************************************************* + */ + +-G_INLINE_FUNC ToolsCorePool * ++static inline ToolsCorePool * + ToolsCorePool_GetPool(ToolsAppCtx *ctx) + { + ToolsCorePool *pool = NULL; +@@ -123,7 +123,7 @@ ToolsCorePool_GetPool(ToolsAppCtx *ctx) + ******************************************************************************* + */ + +-G_INLINE_FUNC guint ++static inline guint + ToolsCorePool_SubmitTask(ToolsAppCtx *ctx, + ToolsCorePoolCb cb, + gpointer data, +@@ -153,7 +153,7 @@ ToolsCorePool_SubmitTask(ToolsAppCtx *ctx, + ******************************************************************************* + */ + +-G_INLINE_FUNC void ++static inline void + ToolsCorePool_CancelTask(ToolsAppCtx *ctx, + guint taskId) + { +@@ -197,7 +197,7 @@ ToolsCorePool_CancelTask(ToolsAppCtx *ctx, + ******************************************************************************* + */ + +-G_INLINE_FUNC gboolean ++static inline gboolean + ToolsCorePool_StartThread(ToolsAppCtx *ctx, + const gchar *threadName, + ToolsCorePoolCb cb, +diff --git a/open-vm-tools/lib/include/vmware/tools/utils.h b/open-vm-tools/lib/include/vmware/tools/utils.h +index f6574590..a3292d5c 100644 +--- a/open-vm-tools/lib/include/vmware/tools/utils.h ++++ b/open-vm-tools/lib/include/vmware/tools/utils.h +@@ -51,15 +51,6 @@ + # include + #endif + +- +-/* Work around a glib limitation: it doesn't set G_INLINE_FUNC on Win32. */ +-#if defined(G_PLATFORM_WIN32) +-# if defined(G_INLINE_FUNC) +-# undef G_INLINE_FUNC +-# endif +-# define G_INLINE_FUNC static __inline +-#endif +- + #ifndef ABS + # define ABS(x) (((x) >= 0) ? (x) : -(x)) + #endif +-- +2.23.0 + diff --git a/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-Make-HgfsConvertFromNtTimeNsec-aware-of-64-bit-time_.patch b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-Make-HgfsConvertFromNtTimeNsec-aware-of-64-bit-time_.patch new file mode 100644 index 000000000..61a681f17 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-Make-HgfsConvertFromNtTimeNsec-aware-of-64-bit-time_.patch @@ -0,0 +1,78 @@ +From caf80e220b055dbce259078be96e899dc78ec1d2 Mon Sep 17 00:00:00 2001 +From: Bartosz Brachaczek +Date: Tue, 12 Nov 2019 14:31:08 +0100 +Subject: [PATCH] Make HgfsConvertFromNtTimeNsec aware of 64-bit time_t on i386 + +I verified that this function behaves as expected on x86_64, i386 with +32-bit time_t, and i386 with 64-bit time_t for the following values of +ntTtime: + +UNIX_EPOCH-1, UNIX_EPOCH, UNIX_EPOCH+1, UNIX_S32_MAX-1, UNIX_S32_MAX, +UNIX_S32_MAX+1, UNIX_S32_MAX*2+1 + +I did not verify whether the use of Div643264 is optimal, performance +wise. + +Upstream-Status: Submitted [https://github.com/vmware/open-vm-tools/pull/387] +Signed-off-by: Khem Raj +--- + open-vm-tools/lib/hgfs/hgfsUtil.c | 34 +++++++++++++++++-------------- + 1 file changed, 19 insertions(+), 15 deletions(-) + +diff --git a/open-vm-tools/lib/hgfs/hgfsUtil.c b/open-vm-tools/lib/hgfs/hgfsUtil.c +index cc580ab8..49b10040 100644 +--- a/open-vm-tools/lib/hgfs/hgfsUtil.c ++++ b/open-vm-tools/lib/hgfs/hgfsUtil.c +@@ -110,23 +110,21 @@ HgfsConvertFromNtTimeNsec(struct timespec *unixTime, // OUT: Time in UNIX format + uint64 ntTime) // IN: Time in Windows NT format + { + #ifdef __i386__ +- uint32 sec; +- uint32 nsec; ++ uint64 sec64; ++ uint32 sec32, nsec; ++#endif + + ASSERT(unixTime); +- /* We assume that time_t is 32bit */ +- ASSERT_ON_COMPILE(sizeof (unixTime->tv_sec) == 4); + +- /* Cap NT time values that are outside of Unix time's range */ ++ if (sizeof (unixTime->tv_sec) == 4) { ++ /* Cap NT time values that are outside of Unix time's range */ + +- if (ntTime >= UNIX_S32_MAX) { +- unixTime->tv_sec = 0x7FFFFFFF; +- unixTime->tv_nsec = 0; +- return 1; ++ if (ntTime >= UNIX_S32_MAX) { ++ unixTime->tv_sec = 0x7FFFFFFF; ++ unixTime->tv_nsec = 0; ++ return 1; ++ } + } +-#else +- ASSERT(unixTime); +-#endif + + if (ntTime < UNIX_EPOCH) { + unixTime->tv_sec = 0; +@@ -135,9 +133,15 @@ HgfsConvertFromNtTimeNsec(struct timespec *unixTime, // OUT: Time in UNIX format + } + + #ifdef __i386__ +- Div643232(ntTime - UNIX_EPOCH, 10000000, &sec, &nsec); +- unixTime->tv_sec = sec; +- unixTime->tv_nsec = nsec * 100; ++ if (sizeof (unixTime->tv_sec) == 4) { ++ Div643232(ntTime - UNIX_EPOCH, 10000000, &sec32, &nsec); ++ unixTime->tv_sec = sec32; ++ unixTime->tv_nsec = nsec * 100; ++ } else { ++ Div643264(ntTime - UNIX_EPOCH, 10000000, &sec64, &nsec); ++ unixTime->tv_sec = sec64; ++ unixTime->tv_nsec = nsec * 100; ++ } + #else + unixTime->tv_sec = (ntTime - UNIX_EPOCH) / 10000000; + unixTime->tv_nsec = ((ntTime - UNIX_EPOCH) % 10000000) * 100; diff --git a/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-configure.ac-don-t-use-dnet-config.patch b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-configure.ac-don-t-use-dnet-config.patch new file mode 100644 index 000000000..a711f5e5d --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-configure.ac-don-t-use-dnet-config.patch @@ -0,0 +1,36 @@ +From fc9bf1ce9f1a21150b10736a1c968d4ca6d4eaa3 Mon Sep 17 00:00:00 2001 +From: Martin Kelly +Date: Fri, 7 Apr 2017 15:20:30 -0700 +Subject: [PATCH] configure.ac: don't use dnet-config + +The dnet-config tool doesn't know about cross-compilation, so it injects +-I/usr/include into the path, causing compiler errors. So instead find dnet via +-ldnet. + +Upstream-Status: Inappropriate [embedded specific] + +Signed-off-by: Martin Kelly +--- + open-vm-tools/configure.ac | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +--- a/open-vm-tools/configure.ac ++++ b/open-vm-tools/configure.ac +@@ -937,7 +937,7 @@ if test "$with_dnet" = "yes"; then + AC_VMW_CHECK_LIB([dnet], + [DNET], + [], +- [dnet-config], ++ [], + [], + [dnet.h], + [intf_open], +@@ -947,7 +947,7 @@ if test "$with_dnet" = "yes"; then + + if test $have_dnet = "no"; then + AC_MSG_ERROR( +- [dnet-config was not found on your PATH. Please configure without dnet or install dnet - http://libdnet.sourceforge.net]) ++ [dnet was not found. Please configure without dnet (using --without-dnet) or install dnet - http://libdnet.sourceforge.net]) + fi + fi + diff --git a/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-hgfsmounter-Makefile.am-support-usrmerge.patch b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-hgfsmounter-Makefile.am-support-usrmerge.patch new file mode 100644 index 000000000..82443ee66 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-hgfsmounter-Makefile.am-support-usrmerge.patch @@ -0,0 +1,33 @@ +From 33798f3e484ebd3470e9da791b73b4b90ba12bc3 Mon Sep 17 00:00:00 2001 +From: Yi Zhao +Date: Tue, 14 Jan 2020 15:04:03 +0800 +Subject: [PATCH] hgfsmounter/Makefile.am: support usrmerge + +There is a do_package error when enable usrmerge feature due to the +hardcoded sbin directory. Remove this piece of code because we already +create the symbolic link in do_install. + +Upstream-Status: Inappropriate [oe-specific] + +Signed-off-by: Yi Zhao +--- + open-vm-tools/hgfsmounter/Makefile.am | 3 --- + 1 file changed, 3 deletions(-) + +diff --git a/open-vm-tools/hgfsmounter/Makefile.am b/open-vm-tools/hgfsmounter/Makefile.am +index 7c1ba1a..58bd3f8 100644 +--- a/open-vm-tools/hgfsmounter/Makefile.am ++++ b/open-vm-tools/hgfsmounter/Makefile.am +@@ -39,9 +39,6 @@ uninstall-hook: + rm -f $(DESTDIR)$(sbindir)/mount_vmhgfs + else + install-exec-hook: +- -$(MKDIR_P) $(DESTDIR)/sbin +- -$(LN_S) $(DESTDIR)$(sbindir)/mount.vmhgfs \ +- $(DESTDIR)/sbin/mount.vmhgfs &> /dev/null + uninstall-hook: + rm -f $(DESTDIR)/sbin/mount.vmhgfs + endif !FREEBSD +-- +2.7.4 + diff --git a/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-pollGtk-Drop-volatile-qualifier.patch b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-pollGtk-Drop-volatile-qualifier.patch new file mode 100644 index 000000000..adc6571f7 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-pollGtk-Drop-volatile-qualifier.patch @@ -0,0 +1,32 @@ +From 7bd280f3cc07208760759c98bbfbac3f9d28f77c Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 5 Mar 2021 08:58:29 -0800 +Subject: [PATCH] pollGtk: Drop volatile qualifier + +glib-2.0 has changed the function interfaces as well and do not expect +it to be volatile. GCC 11 complains about it + +glib/gatomic.h:112:5: error: argument 2 of '__atomic_load' discards 'volatile' qualifier [-Werror=incompatible-pointer-types] + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- + open-vm-tools/lib/pollGtk/pollGtk.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/open-vm-tools/lib/pollGtk/pollGtk.c b/open-vm-tools/lib/pollGtk/pollGtk.c +index 6d95bf01..a941e7a7 100644 +--- a/open-vm-tools/lib/pollGtk/pollGtk.c ++++ b/open-vm-tools/lib/pollGtk/pollGtk.c +@@ -1473,7 +1473,7 @@ PollGtkBasicCallback(gpointer data) // IN: The eventEntry + void + Poll_InitGtk(void) + { +- static volatile gsize inited = 0; ++ static gsize inited = 0; + + static const PollImpl gtkImpl = + { +-- +2.30.1 + diff --git a/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-utilBacktrace-Ignore-Warray-bounds.patch b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-utilBacktrace-Ignore-Warray-bounds.patch new file mode 100644 index 000000000..95664e855 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-utilBacktrace-Ignore-Warray-bounds.patch @@ -0,0 +1,33 @@ +From ac3f93ea087d3a5461fe57fe021d0fe9a959e13c Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 25 Dec 2019 15:25:02 -0800 +Subject: [PATCH] utilBacktrace: Ignore -Warray-bounds + +This is new warning with gcc10, until its fixed ignore it like gcc<10 +did + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- + open-vm-tools/lib/user/utilBacktrace.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/open-vm-tools/lib/user/utilBacktrace.c b/open-vm-tools/lib/user/utilBacktrace.c +index b72340ad..97ca53f2 100644 +--- a/open-vm-tools/lib/user/utilBacktrace.c ++++ b/open-vm-tools/lib/user/utilBacktrace.c +@@ -517,6 +517,11 @@ Util_BacktraceWithFunc(int bugNr, // IN: + } else { + outFunc(outFuncData, "Backtrace for bugNr=%d\n",bugNr); + } ++#pragma GCC diagnostic push ++#pragma GCC diagnostic ignored "-Warray-bounds" ++ + Util_BacktraceFromPointerWithFunc(&x[-2], outFunc, outFuncData); ++#pragma GCC diagnostic pop + #endif + } ++ +-- +2.24.1 + diff --git a/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0002-add-include-sys-sysmacros.h.patch b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0002-add-include-sys-sysmacros.h.patch new file mode 100644 index 000000000..34628ffbe --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0002-add-include-sys-sysmacros.h.patch @@ -0,0 +1,30 @@ +From 3fa237b3afabc293e563292b8d89265a871626ad Mon Sep 17 00:00:00 2001 +From: Martin Kelly +Date: Mon, 22 May 2017 17:00:05 -0700 +Subject: [PATCH] add #include + +In newer glibc versions, the definition for major() has been moved to +sys/sysmacros.h, and using the older version in has been +deprecated. So, add an include for . + +Upstream-Status: Pending + +Signed-off-by: Martin Kelly +--- + open-vm-tools/lib/wiper/wiperPosix.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/open-vm-tools/lib/wiper/wiperPosix.c b/open-vm-tools/lib/wiper/wiperPosix.c +index bd542410..ccf06293 100644 +--- a/open-vm-tools/lib/wiper/wiperPosix.c ++++ b/open-vm-tools/lib/wiper/wiperPosix.c +@@ -43,6 +43,9 @@ + # include + # endif /* __FreeBSD_version >= 500000 */ + #endif ++#if defined(__linux__) ++#include ++#endif + #include + + #include "vmware.h" diff --git a/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0002-hgfsServerLinux-Consider-64bit-time_t-possibility.patch b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0002-hgfsServerLinux-Consider-64bit-time_t-possibility.patch new file mode 100644 index 000000000..0f64eabc9 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0002-hgfsServerLinux-Consider-64bit-time_t-possibility.patch @@ -0,0 +1,41 @@ +From fe56b67a2915a8632ea30604c14241f335dd3c15 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Tue, 12 Nov 2019 10:49:46 -0800 +Subject: [PATCH] hgfsServerLinux: Consider 64bit time_t possibility + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- + .../lib/hgfsServer/hgfsServerLinux.c | 19 +++++-------------- + 1 file changed, 5 insertions(+), 14 deletions(-) + +diff --git a/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c b/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c +index 03175623..554da67f 100644 +--- a/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c ++++ b/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c +@@ -2561,20 +2561,11 @@ HgfsStatToFileAttr(struct stat *stats, // IN: stat information + LOG(4, ("%s: done, permissions %o%o%o%o, size %"FMT64"u\n", __FUNCTION__, + attr->specialPerms, attr->ownerPerms, attr->groupPerms, + attr->otherPerms, attr->size)); +-#ifdef __FreeBSD__ +-# if !defined(VM_X86_64) && __FreeBSD_version >= 500043 +-# define FMTTIMET "" +-# else +-# define FMTTIMET "l" +-# endif +-#else +-# define FMTTIMET "l" +-#endif +- LOG(4, ("access: %"FMTTIMET"d/%"FMT64"u \nwrite: %"FMTTIMET"d/%"FMT64"u \n" +- "attr: %"FMTTIMET"d/%"FMT64"u\n", +- stats->st_atime, attr->accessTime, stats->st_mtime, attr->writeTime, +- stats->st_ctime, attr->attrChangeTime)); +-#undef FMTTIMET ++ LOG(4, ("access: %jd/%"FMT64"u \nwrite: %jd/%"FMT64"u \n" ++ "attr: %jd/%"FMT64"u\n", ++ (intmax_t)stats->st_atime, attr->accessTime, ++ (intmax_t)stats->st_mtime, attr->writeTime, ++ (intmax_t)stats->st_ctime, attr->attrChangeTime)); + + attr->userId = stats->st_uid; + attr->groupId = stats->st_gid; diff --git a/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0003-Use-configure-test-for-struct-timespec.patch b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0003-Use-configure-test-for-struct-timespec.patch new file mode 100644 index 000000000..6d2e49814 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0003-Use-configure-test-for-struct-timespec.patch @@ -0,0 +1,45 @@ +From bf9292ff9bd25467a014d6c2070805d163daa4c9 Mon Sep 17 00:00:00 2001 +From: Natanael Copa +Date: Wed, 18 Nov 2015 09:03:00 +0000 +Subject: [PATCH] Use configure test for struct timespec + +Use the configure script to test for struct time spec instead of trying +to keep track of what platforms has it. + +Signed-off-by: Natanael Copa +--- + open-vm-tools/configure.ac | 1 + + open-vm-tools/lib/include/hgfsUtil.h | 8 +------- + 2 files changed, 2 insertions(+), 7 deletions(-) + +diff --git a/open-vm-tools/configure.ac b/open-vm-tools/configure.ac +index 713ea683..48ff1ef3 100644 +--- a/open-vm-tools/configure.ac ++++ b/open-vm-tools/configure.ac +@@ -1208,6 +1208,7 @@ AC_TYPE_OFF_T + AC_TYPE_PID_T + AC_TYPE_SIZE_T + AC_CHECK_MEMBERS([struct stat.st_rdev]) ++AC_CHECK_MEMBERS([struct timespec.tv_sec],[],[],[[#include ]]) + AC_HEADER_TIME + AC_STRUCT_TM + AC_C_VOLATILE +diff --git a/open-vm-tools/lib/include/hgfsUtil.h b/open-vm-tools/lib/include/hgfsUtil.h +index 609f4c00..a3a022d4 100644 +--- a/open-vm-tools/lib/include/hgfsUtil.h ++++ b/open-vm-tools/lib/include/hgfsUtil.h +@@ -53,13 +53,7 @@ + # include + # endif + # include "vm_basic_types.h" +-# if !defined _STRUCT_TIMESPEC && \ +- !defined _TIMESPEC_DECLARED && \ +- !defined __timespec_defined && \ +- !defined sun && \ +- !defined __FreeBSD__ && \ +- !__APPLE__ && \ +- !defined _WIN32 ++# if !defined HAVE_STRUCT_TIMESPEC_TV_SEC + struct timespec { + time_t tv_sec; + long tv_nsec; diff --git a/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0004-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0004-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch new file mode 100644 index 000000000..e107ecf23 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0004-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch @@ -0,0 +1,58 @@ +From 5a795b234c617150915a607776c76377948870a6 Mon Sep 17 00:00:00 2001 +From: Natanael Copa +Date: Wed, 18 Nov 2015 09:10:14 +0000 +Subject: [PATCH] Fix definition of ALLPERMS and ACCESSPERMS + +The ALLPERMS and ACCESSPERMS defines are not specified in POSIX so +assume it is not there instead of testing for specific implementations. + +This is needed for musl libc. + +Signed-off-by: Natanael Copa +--- + open-vm-tools/lib/hgfsServer/hgfsServerLinux.c | 8 +++++--- + open-vm-tools/services/plugins/dndcp/dnd/dndLinux.c | 3 +-- + 2 files changed, 6 insertions(+), 5 deletions(-) + +diff --git a/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c b/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c +index f2b7ce67..0e6351a9 100644 +--- a/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c ++++ b/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c +@@ -105,11 +105,13 @@ typedef struct DirectoryEntry { + #endif + + /* +- * ALLPERMS (mode 07777) and ACCESSPERMS (mode 0777) are not defined in the +- * Solaris version of . ++ * ALLPERMS (mode 07777) and ACCESSPERMS (mode 0777) are not specified in ++ * POSIX. + */ +-#ifdef sun ++#ifndef ACCESSPERMS + # define ACCESSPERMS (S_IRWXU|S_IRWXG|S_IRWXO) ++#endif ++#ifndef ALLPERMS + # define ALLPERMS (S_ISUID|S_ISGID|S_ISVTX|S_IRWXU|S_IRWXG|S_IRWXO) + #endif + +diff --git a/open-vm-tools/services/plugins/dndcp/dnd/dndLinux.c b/open-vm-tools/services/plugins/dndcp/dnd/dndLinux.c +index 89133652..7e9c3a91 100644 +--- a/open-vm-tools/services/plugins/dndcp/dnd/dndLinux.c ++++ b/open-vm-tools/services/plugins/dndcp/dnd/dndLinux.c +@@ -52,7 +52,7 @@ + + #define DND_ROOTDIR_PERMS (S_IRWXU | S_IRWXG | S_IRWXO) + #define DND_STAGINGDIR_PERMS (S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH) +-#ifdef sun ++#ifndef ACCESSPERMS + #define ACCESSPERMS (S_IRWXU | S_IRWXG | S_IRWXO) + #endif + #ifdef __ANDROID__ +@@ -61,7 +61,6 @@ + */ + #define NO_SETMNTENT + #define NO_ENDMNTENT +-#define ACCESSPERMS (S_IRWXU | S_IRWXG | S_IRWXO) + #endif + + diff --git a/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0005-Use-configure-to-test-for-feature-instead-of-platfor.patch b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0005-Use-configure-to-test-for-feature-instead-of-platfor.patch new file mode 100644 index 000000000..c6378b808 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0005-Use-configure-to-test-for-feature-instead-of-platfor.patch @@ -0,0 +1,135 @@ +From 719d60978f979cf2e03771a9b8a62e36c92639f9 Mon Sep 17 00:00:00 2001 +From: Natanael Copa +Date: Wed, 18 Nov 2015 10:05:07 +0000 +Subject: [PATCH] Use configure to test for feature instead of platform + +Test for various functions instead of trying to keep track of what +platform and what version of the given platform has support for what. + +This should make it easier to port to currently unknown platforms and +will solve the issue if a platform add support for a missing feature in +the future. + +The features we test for are: +- getifaddrs +- getauxval +- issetugid +- __secure_getenv + +This is needed for musl libc. + +Signed-off-by: Natanael Copa +--- + open-vm-tools/configure.ac | 4 ++++ + open-vm-tools/lib/misc/idLinux.c | 30 +++++++++++------------- + open-vm-tools/lib/nicInfo/nicInfoPosix.c | 6 ++++- + 3 files changed, 23 insertions(+), 17 deletions(-) + +diff --git a/open-vm-tools/configure.ac b/open-vm-tools/configure.ac +index 48ff1ef3..71e684bb 100644 +--- a/open-vm-tools/configure.ac ++++ b/open-vm-tools/configure.ac +@@ -897,6 +897,7 @@ AC_CHECK_FUNCS( + + AC_CHECK_FUNCS([ecvt]) + AC_CHECK_FUNCS([fcvt]) ++AC_CHECK_FUNCS([getifaddrs getauxval issetugid __secure_getenv]) + + AC_CHECK_FUNC([mkdtemp], [have_mkdtemp=yes]) + +@@ -1145,10 +1146,13 @@ fi + ### + + AC_CHECK_HEADERS([crypt.h]) ++AC_CHECK_HEADERS([ifaddrs.h]) + AC_CHECK_HEADERS([inttypes.h]) + AC_CHECK_HEADERS([stdint.h]) + AC_CHECK_HEADERS([stdlib.h]) + AC_CHECK_HEADERS([wchar.h]) ++AC_CHECK_HEADERS([net/if.h]) ++AC_CHECK_HEADERS([sys/auxv.h]) + AC_CHECK_HEADERS([sys/inttypes.h]) + AC_CHECK_HEADERS([sys/io.h]) + AC_CHECK_HEADERS([sys/param.h]) # Required to make the sys/user.h check work correctly on FreeBSD +diff --git a/open-vm-tools/lib/misc/idLinux.c b/open-vm-tools/lib/misc/idLinux.c +index b950cf84..1dcfb508 100644 +--- a/open-vm-tools/lib/misc/idLinux.c ++++ b/open-vm-tools/lib/misc/idLinux.c +@@ -27,12 +27,9 @@ + #include + #include + #include +-#ifdef __linux__ +-#if defined(__GLIBC__) && \ +- (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 16)) ++#ifdef HAVE_SYS_AUXV_H + #include + #endif +-#endif + #ifdef __APPLE__ + #include + #include +@@ -997,31 +994,32 @@ Id_EndSuperUser(uid_t uid) // IN: + static Bool + IdIsSetUGid(void) + { +-#if defined(__ANDROID__) +- /* Android does not have a secure_getenv, so be conservative. */ +- return TRUE; +-#else + /* + * We use __secure_getenv, which returns NULL if the binary is +- * setuid or setgid. Alternatives include, ++ * setuid or setgid, when issetugid or getauxval(AT_SECURE) is not ++ * available. Alternatives include, + * +- * a) getauxval(AT_SECURE); not available until glibc 2.16. +- * b) __libc_enable_secure; may not be exported. ++ * a) issetugid(); not (yet?) available in glibc. ++ * b) getauxval(AT_SECURE); not available until glibc 2.16. ++ * c) __libc_enable_secure; may not be exported. + * +- * Use (a) when we are based on glibc 2.16, or newer. ++ * Use (b) when we are based on glibc 2.16, or newer. + */ + +-#if defined(__GLIBC__) && \ +- (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 16)) ++#if HAVE_ISSETUGID ++ return issetugid(); ++#elif HAVE_GETAUXVAL + return getauxval(AT_SECURE) != 0; +-#else ++#elif HAVE___SECURE_GETENV + static const char envName[] = "VMW_SETUGID_TEST"; + + if (setenv(envName, "1", TRUE) == -1) { + return TRUE; /* Conservative */ + } + return __secure_getenv(envName) == NULL; +-#endif ++#else ++ /* Android does not have a secure_getenv, so be conservative. */ ++ return TRUE; + #endif + } + #endif +diff --git a/open-vm-tools/lib/nicInfo/nicInfoPosix.c b/open-vm-tools/lib/nicInfo/nicInfoPosix.c +index a22981d5..b4e08681 100644 +--- a/open-vm-tools/lib/nicInfo/nicInfoPosix.c ++++ b/open-vm-tools/lib/nicInfo/nicInfoPosix.c +@@ -34,9 +34,13 @@ + #include + #include + #include +-#if defined(__FreeBSD__) || defined(__APPLE__) ++#if HAVE_SYS_SYSCTL_H + # include ++#endif ++#if HAVE_IFADDRS_H + # include ++#endif ++#if HAVE_NET_IF_H + # include + #endif + #ifndef NO_DNET diff --git a/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0006-Use-configure-test-for-sys-stat.h-include.patch b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0006-Use-configure-test-for-sys-stat.h-include.patch new file mode 100644 index 000000000..9a227f9ec --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0006-Use-configure-test-for-sys-stat.h-include.patch @@ -0,0 +1,25 @@ +From 11adcf43a1e7aa39ee4d82fa567f37e5b0c6ca81 Mon Sep 17 00:00:00 2001 +From: Natanael Copa +Date: Wed, 18 Nov 2015 10:41:01 +0000 +Subject: [PATCH] Use configure test for sys/stat.h include + +This is needed for musl libc. + +Signed-off-by: Natanael Copa +--- + open-vm-tools/services/plugins/vix/vixTools.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/open-vm-tools/services/plugins/vix/vixTools.c b/open-vm-tools/services/plugins/vix/vixTools.c +index e5273786..cabc4137 100644 +--- a/open-vm-tools/services/plugins/vix/vixTools.c ++++ b/open-vm-tools/services/plugins/vix/vixTools.c +@@ -66,7 +66,7 @@ + #include + #endif + +-#if defined(sun) || defined(__FreeBSD__) || defined(__APPLE__) ++#ifdef HAVE_SYS_STAT_H + #include + #endif + diff --git a/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0007-Fix-subdir-objects-configure-error.patch b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0007-Fix-subdir-objects-configure-error.patch new file mode 100644 index 000000000..11be2d4a0 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0007-Fix-subdir-objects-configure-error.patch @@ -0,0 +1,24 @@ +From cf1284fda8fb22a2b27cb2ce7962f166166e74c3 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 13 Jun 2018 23:48:04 -0700 +Subject: [PATCH] Fix subdir objects configure error + +Fix build on musl while here + +Signed-off-by: Khem Raj +--- + open-vm-tools/configure.ac | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/open-vm-tools/configure.ac b/open-vm-tools/configure.ac +index 71e684bb..b76a7966 100644 +--- a/open-vm-tools/configure.ac ++++ b/open-vm-tools/configure.ac +@@ -303,6 +303,7 @@ AC_ARG_ENABLE( + [], + [enable_resolutionkms="auto"]) + ++AM_INIT_AUTOMAKE([subdir-objects]) + AM_INIT_AUTOMAKE + + ### diff --git a/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0008-include-poll.h-instead-of-sys-poll.h.patch b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0008-include-poll.h-instead-of-sys-poll.h.patch new file mode 100644 index 000000000..814b9e3b2 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0008-include-poll.h-instead-of-sys-poll.h.patch @@ -0,0 +1,26 @@ +From e4f0b99d90e26b15106f634caad1c3dea9e09cb8 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 13 Jun 2018 23:02:50 -0700 +Subject: [PATCH] include poll.h instead of sys/poll.h + +including sys/poll.h is deprecated + +Signed-off-by: Khem Raj +--- + open-vm-tools/lib/asyncsocket/asyncsocket.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/open-vm-tools/lib/asyncsocket/asyncsocket.c b/open-vm-tools/lib/asyncsocket/asyncsocket.c +index 65b07109..b41aa29d 100644 +--- a/open-vm-tools/lib/asyncsocket/asyncsocket.c ++++ b/open-vm-tools/lib/asyncsocket/asyncsocket.c +@@ -69,8 +69,8 @@ + #else + #include + #include ++#include + #include +-#include + #include + #include + #include diff --git a/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0009-Rename-poll.h-to-vm_poll.h.patch b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0009-Rename-poll.h-to-vm_poll.h.patch new file mode 100644 index 000000000..9cf54f6f4 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0009-Rename-poll.h-to-vm_poll.h.patch @@ -0,0 +1,742 @@ +From 8793466326dd10b0d2dbb83c64beff5cc8c0fc7d Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 13 Jun 2018 23:11:58 -0700 +Subject: [PATCH] Rename poll.h to vm_poll.h + +musl libc's system headers pulls in open-vm-tools' poll.h. To avoid this +we rename poll.h to vm_poll.h. + +Signed-off-by: Natanael Copa +Signed-off-by: Khem Raj +--- + open-vm-tools/lib/asyncsocket/asyncsocket.c | 2 +- + open-vm-tools/lib/hgfsServer/hgfsServer.c | 2 +- + open-vm-tools/lib/include/asyncsocket.h | 2 +- + open-vm-tools/lib/include/pollImpl.h | 2 +- + open-vm-tools/lib/include/{poll.h => vm_poll.h} | 2 +- + open-vm-tools/lib/rpcIn/rpcin.c | 2 +- + .../services/plugins/grabbitmqProxy/grabbitmqProxyPlugin.c | 2 +- + 7 files changed, 7 insertions(+), 7 deletions(-) + rename open-vm-tools/lib/include/{poll.h => vm_poll.h} (99%) + +--- a/open-vm-tools/lib/asyncsocket/asyncsocket.c ++++ b/open-vm-tools/lib/asyncsocket/asyncsocket.c +@@ -86,7 +86,7 @@ + #include "random.h" + #include "asyncsocket.h" + #include "asyncSocketBase.h" +-#include "poll.h" ++#include "vm_poll.h" + #include "log.h" + #include "err.h" + #include "hostinfo.h" +--- a/open-vm-tools/lib/hgfsServer/hgfsServer.c ++++ b/open-vm-tools/lib/hgfsServer/hgfsServer.c +@@ -48,7 +48,7 @@ + #include "hgfsServerOplock.h" + #include "hgfsDirNotify.h" + #include "userlock.h" +-#include "poll.h" ++#include "vm_poll.h" + #include "mutexRankLib.h" + #include "vm_basic_asm.h" + #include "unicodeOperations.h" +--- a/open-vm-tools/lib/include/asyncsocket.h ++++ b/open-vm-tools/lib/include/asyncsocket.h +@@ -164,7 +164,7 @@ typedef struct AsyncSocket AsyncSocket; + * Or the client can specify its favorite poll class and locking behavior. + * Use of IVmdbPoll is only supported for regular sockets and for Attach. + */ +-#include "poll.h" ++#include "vm_poll.h" + struct IVmdbPoll; + typedef struct AsyncSocketPollParams { + int flags; /* Default 0, only POLL_FLAG_NO_BULL is valid */ +--- a/open-vm-tools/lib/include/pollImpl.h ++++ b/open-vm-tools/lib/include/pollImpl.h +@@ -44,7 +44,7 @@ + #define INCLUDE_ALLOW_USERLEVEL + #include "includeCheck.h" + +-#include "poll.h" ++#include "vm_poll.h" + #include "vm_basic_asm.h" + + #if defined(__cplusplus) +--- a/open-vm-tools/lib/include/poll.h ++++ /dev/null +@@ -1,330 +0,0 @@ +-/********************************************************* +- * Copyright (C) 1998-2018 VMware, Inc. All rights reserved. +- * +- * This program is free software; you can redistribute it and/or modify it +- * under the terms of the GNU Lesser General Public License as published +- * by the Free Software Foundation version 2.1 and no later version. +- * +- * This program is distributed in the hope that it will be useful, but +- * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +- * or FITNESS FOR A PARTICULAR PURPOSE. See the Lesser GNU General Public +- * License for more details. +- * +- * You should have received a copy of the GNU Lesser General Public License +- * along with this program; if not, write to the Free Software Foundation, Inc., +- * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +- * +- *********************************************************/ +- +-/********************************************************* +- * The contents of this file are subject to the terms of the Common +- * Development and Distribution License (the "License") version 1.0 +- * and no later version. You may not use this file except in +- * compliance with the License. +- * +- * You can obtain a copy of the License at +- * http://www.opensource.org/licenses/cddl1.php +- * +- * See the License for the specific language governing permissions +- * and limitations under the License. +- * +- *********************************************************/ +- +- +-#ifndef _POLL_H_ +-#define _POLL_H_ +- +-#define INCLUDE_ALLOW_USERLEVEL +-#define INCLUDE_ALLOW_VMCORE +-#include "includeCheck.h" +- +-#include "vm_basic_types.h" +-#include "vm_basic_defs.h" +-#include "vmware.h" +-#include "userlock.h" +- +-#if defined(__cplusplus) +-extern "C" { +-#endif +- +-#ifdef _WIN32 +-#define HZ 100 +-#elif defined linux +-#include +-#elif __APPLE__ +-#include +-/* +- * Old SDKs don't define TARGET_OS_IPHONE at all. +- * New ones define it to 0 on Mac OS X, 1 on iOS. +- */ +-#if !defined(TARGET_OS_IPHONE) || TARGET_OS_IPHONE == 0 +-#include +-#endif +-#include +-#define HZ 100 +-#endif +-#ifdef __ANDROID__ +-/* +- * of android should be included, but its name is same +- * with this file. So its content is put here to avoid conflict. +- */ +-#include +-#define HZ 100 +-typedef unsigned int nfds_t; +-int poll(struct pollfd *, nfds_t, long); +-#endif +- +- +-/* +- * Poll event types: each type has a different reason for firing, +- * or condition that must be met before firing. +- */ +- +-typedef enum { +- /* +- * Actual Poll queue types against which you can register callbacks. +- */ +- POLL_VIRTUALREALTIME = -1, /* Negative because it doesn't have its own Q */ +- POLL_VTIME = 0, +- POLL_REALTIME, +- POLL_DEVICE, +- POLL_MAIN_LOOP, +- POLL_NUM_QUEUES +-} PollEventType; +- +- +-/* +- * Classes of events +- * +- * These are the predefined classes. More can be declared +- * with Poll_AllocClass(). +- */ +- +-typedef enum PollClass { +- POLL_CLASS_MAIN, +- POLL_CLASS_PAUSE, +- POLL_CLASS_IPC, +- POLL_CLASS_CPT, +- POLL_CLASS_MKS, +- POLL_FIXED_CLASSES, +- POLL_DEFAULT_FIXED_CLASSES, +- /* Size enum to maximum */ +- POLL_MAX_CLASSES = 31, +-} PollClass; +- +-/* +- * Do not use; Special pseudo private poll class supported by +- * PollDefault only +- */ +-#define POLL_DEFAULT_CLASS_NET POLL_FIXED_CLASSES +-#define POLL_DEFAULT_CS_NET PollClassSet_Singleton(POLL_DEFAULT_CLASS_NET) +- +-/* +- * Each callback is registered in a set of classes +- */ +- +-typedef struct PollClassSet { +- uintptr_t bits; +-} PollClassSet; +- +-/* An empty PollClassSet. */ +-static INLINE PollClassSet +-PollClassSet_Empty(void) +-{ +- PollClassSet set = { 0 }; +- return set; +-} +- +-/* A PollClassSet with the single member. */ +-static INLINE PollClassSet +-PollClassSet_Singleton(PollClass c) +-{ +- PollClassSet s = PollClassSet_Empty(); +- +- ASSERT_ON_COMPILE(POLL_MAX_CLASSES < sizeof s.bits * 8); +- ASSERT(c < POLL_MAX_CLASSES); +- +- s.bits = CONST3264U(1) << c; +- return s; +-} +- +-/* Combine two PollClassSets. */ +-static INLINE PollClassSet +-PollClassSet_Union(PollClassSet lhs, PollClassSet rhs) +-{ +- PollClassSet set; +- set.bits = lhs.bits | rhs.bits; +- return set; +-} +- +-/* Add single class to PollClassSet. */ +-static INLINE PollClassSet +-PollClassSet_Include(PollClassSet set, PollClass c) +-{ +- return PollClassSet_Union(set, PollClassSet_Singleton(c)); +-} +- +- +-#define POLL_CS_MAIN PollClassSet_Singleton(POLL_CLASS_MAIN) +-#define POLL_CS_PAUSE PollClassSet_Union(POLL_CS_MAIN, \ +- PollClassSet_Singleton(POLL_CLASS_PAUSE)) +-#define POLL_CS_CPT PollClassSet_Union(POLL_CS_PAUSE, \ +- PollClassSet_Singleton(POLL_CLASS_CPT)) +-#define POLL_CS_IPC PollClassSet_Union(POLL_CS_CPT, \ +- PollClassSet_Singleton(POLL_CLASS_IPC)) +-#define POLL_CS_VMDB POLL_CS_PAUSE /* POLL_CLASS_VMDB is retired */ +-#define POLL_CS_MKS PollClassSet_Singleton(POLL_CLASS_MKS) +-/* +- * DANGER. You don't need POLL_CS_ALWAYS. Really. So don't use it. +- */ +-#define POLL_CS_ALWAYS PollClassSet_Union(POLL_CS_CPT, POLL_CS_IPC) +- +-/* +- * Poll class-set taxonomy: +- * POLL_CS_MAIN +- * - Unless you NEED another class, use POLL_CS_MAIN. +- * POLL_CS_PAUSE +- * - For callbacks that must occur even if the guest is paused. +- * Most VMDB or Foundry commands are in this category. +- * POLL_CS_CPT +- * - Only for callbacks which can trigger intermediate Checkpoint +- * transitions. +- * The ONLY such callback is Migrate. +- * POLL_CS_IPC +- * - Only for callbacks which can contain Msg_(Post|Hint|Question) +- * responses, and for signal handlers (why)? +- * Vigor, VMDB, and Foundry can contain Msg_* responses. +- * POLL_CS_MKS +- * - Callback runs in MKS thread. +- * POLL_CS_ALWAYS +- * - Only for events that must be processed immediately. +- * The ONLY such callback is OvhdMemVmxSizeCheck. +- */ +- +- +-/* +- * Poll_Callback flags +- */ +- +-#define POLL_FLAG_PERIODIC 0x01 // keep after firing +-#define POLL_FLAG_REMOVE_AT_POWEROFF 0x02 // self-explanatory +-#define POLL_FLAG_READ 0x04 // device is ready for reading +-#define POLL_FLAG_WRITE 0x08 // device is ready for writing +-#define POLL_FLAG_SOCKET 0x10 // device is a Windows socket +-#define POLL_FLAG_NO_BULL 0x20 // callback does its own locking +-#define POLL_FLAG_WINSOCK 0x40 // Winsock style write events +-#define POLL_FLAG_FD 0x80 // device is a Windows file descriptor. +-#define POLL_FLAG_ACCEPT_INVALID_FDS 0x100 // For broken 3rd party libs, e.g. curl +-#define POLL_FLAG_THUNK_TO_WND 0x200 // thunk callback to window message loop +- +- +-typedef void (*PollerFunction)(void *clientData); +-typedef void (*PollerFireWrapper)(PollerFunction func, +- void *funcData, +- void *wrapperData); +-typedef Bool (*PollerErrorFn)(const char *errorStr); +- +-/* +- * Initialisers: +- * +- * For the sake of convenience, we declare the initialisers +- * for custom implmentations here, even though the actual +- * implementations are distinct from the core poll code. +- */ +- +-typedef struct PollOptions { +- Bool locked; // Use internal MXUser for locking +- Bool allowFullQueue; // Don't assert when device event queue is full. +- VThreadID windowsMsgThread; // thread that processes Windows messages +- PollerFireWrapper fireWrapperFn; // optional; may be useful for stats +- void *fireWrapperData; // optional +- PollerErrorFn errorFn; // optional; called upon unrecoverable error +-} PollOptions; +- +- +-void Poll_InitDefault(void); +-void Poll_InitDefaultEx(const PollOptions *opts); +-void Poll_InitGtk(void); // On top of glib for Linux +-void Poll_InitCF(void); // On top of CoreFoundation for OSX +- +- +-/* +- * Functions +- */ +-int Poll_SocketPair(Bool vmci, Bool stream, int fds[2]); +-void Poll_Loop(Bool loop, Bool *exit, PollClass c); +-void Poll_LoopTimeout(Bool loop, Bool *exit, PollClass c, int timeout); +-Bool Poll_LockingEnabled(void); +-void Poll_Exit(void); +- +- +-/* +- * Poll_Callback adds a callback regardless of whether an identical one exists. +- * The exception to this rule is POLL_DEVICE callbacks: there is a maximum of +- * one read and one write callback per fd. +- * +- * Poll_CallbackRemove removes one callback. If there are multiple identical +- * callbacks, which one is removed is an implementation detail. Note that in +- * the case of POLL_DEVICE and POLL_REALTIME callbacks, the fd/delay used to +- * create the callback is not specified when removing, so all callbacks +- * of those types with the same flags, function, and clientData are considered +- * "identical" even if their fd/delay differed. +- */ +- +-VMwareStatus Poll_Callback(PollClassSet classSet, +- int flags, +- PollerFunction f, +- void *clientData, +- PollEventType type, +- PollDevHandle info, // fd/microsec delay +- MXUserRecLock *lck); +-Bool Poll_CallbackRemove(PollClassSet classSet, +- int flags, +- PollerFunction f, +- void *clientData, +- PollEventType type); +-Bool Poll_CallbackRemoveOneByCB(PollClassSet classSet, +- int flags, +- PollerFunction f, +- PollEventType type, +- void **clientData); +- +-void Poll_NotifyChange(PollClassSet classSet); +- +-/* +- * Wrappers for Poll_Callback and Poll_CallbackRemove that present +- * simpler subsets of those interfaces. +- */ +- +-VMwareStatus Poll_CB_Device(PollerFunction f, +- void *clientData, +- PollDevHandle device, +- Bool periodic); +- +-Bool Poll_CB_DeviceRemove(PollerFunction f, +- void *clientData, +- Bool periodic); +- +- +-VMwareStatus Poll_CB_RTime(PollerFunction f, +- void *clientData, +- int64 delay, // microseconds +- Bool periodic, +- MXUserRecLock *lock); +- +-Bool Poll_CB_RTimeRemove(PollerFunction f, +- void *clientData, +- Bool periodic); +- +- +-#ifdef _WIN32 +-void Poll_SetPumpsWindowsMessages(Bool pumps); +-void Poll_SetWindowMessageRecipient(HWND hWnd, UINT msg, Bool alwaysThunk); +-Bool Poll_FireWndCallback(void *lparam); +-#endif +- +-#if defined(__cplusplus) +-} // extern "C" +-#endif +- +-#endif // _POLL_H_ +--- /dev/null ++++ b/open-vm-tools/lib/include/vm_poll.h +@@ -0,0 +1,330 @@ ++/********************************************************* ++ * Copyright (C) 1998-2018 VMware, Inc. All rights reserved. ++ * ++ * This program is free software; you can redistribute it and/or modify it ++ * under the terms of the GNU Lesser General Public License as published ++ * by the Free Software Foundation version 2.1 and no later version. ++ * ++ * This program is distributed in the hope that it will be useful, but ++ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY ++ * or FITNESS FOR A PARTICULAR PURPOSE. See the Lesser GNU General Public ++ * License for more details. ++ * ++ * You should have received a copy of the GNU Lesser General Public License ++ * along with this program; if not, write to the Free Software Foundation, Inc., ++ * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. ++ * ++ *********************************************************/ ++ ++/********************************************************* ++ * The contents of this file are subject to the terms of the Common ++ * Development and Distribution License (the "License") version 1.0 ++ * and no later version. You may not use this file except in ++ * compliance with the License. ++ * ++ * You can obtain a copy of the License at ++ * http://www.opensource.org/licenses/cddl1.php ++ * ++ * See the License for the specific language governing permissions ++ * and limitations under the License. ++ * ++ *********************************************************/ ++ ++ ++#ifndef _POLL_H_ ++#define _POLL_H_ ++ ++#define INCLUDE_ALLOW_USERLEVEL ++#define INCLUDE_ALLOW_VMCORE ++#include "includeCheck.h" ++ ++#include "vm_basic_types.h" ++#include "vm_basic_defs.h" ++#include "vmware.h" ++#include "userlock.h" ++ ++#if defined(__cplusplus) ++extern "C" { ++#endif ++ ++#ifdef _WIN32 ++#define HZ 100 ++#elif defined linux ++#include ++#elif __APPLE__ ++#include ++/* ++ * Old SDKs don't define TARGET_OS_IPHONE at all. ++ * New ones define it to 0 on Mac OS X, 1 on iOS. ++ */ ++#if !defined(TARGET_OS_IPHONE) || TARGET_OS_IPHONE == 0 ++#include ++#endif ++#include ++#define HZ 100 ++#endif ++#ifdef __ANDROID__ ++/* ++ * of android should be included, but its name is same ++ * with this file. So its content is put here to avoid conflict. ++ */ ++#include ++#define HZ 100 ++typedef unsigned int nfds_t; ++int poll(struct pollfd *, nfds_t, long); ++#endif ++ ++ ++/* ++ * Poll event types: each type has a different reason for firing, ++ * or condition that must be met before firing. ++ */ ++ ++typedef enum { ++ /* ++ * Actual Poll queue types against which you can register callbacks. ++ */ ++ POLL_VIRTUALREALTIME = -1, /* Negative because it doesn't have its own Q */ ++ POLL_VTIME = 0, ++ POLL_REALTIME, ++ POLL_DEVICE, ++ POLL_MAIN_LOOP, ++ POLL_NUM_QUEUES ++} PollEventType; ++ ++ ++/* ++ * Classes of events ++ * ++ * These are the predefined classes. More can be declared ++ * with Poll_AllocClass(). ++ */ ++ ++typedef enum PollClass { ++ POLL_CLASS_MAIN, ++ POLL_CLASS_PAUSE, ++ POLL_CLASS_IPC, ++ POLL_CLASS_CPT, ++ POLL_CLASS_MKS, ++ POLL_FIXED_CLASSES, ++ POLL_DEFAULT_FIXED_CLASSES, ++ /* Size enum to maximum */ ++ POLL_MAX_CLASSES = 31, ++} PollClass; ++ ++/* ++ * Do not use; Special pseudo private poll class supported by ++ * PollDefault only ++ */ ++#define POLL_DEFAULT_CLASS_NET POLL_FIXED_CLASSES ++#define POLL_DEFAULT_CS_NET PollClassSet_Singleton(POLL_DEFAULT_CLASS_NET) ++ ++/* ++ * Each callback is registered in a set of classes ++ */ ++ ++typedef struct PollClassSet { ++ uintptr_t bits; ++} PollClassSet; ++ ++/* An empty PollClassSet. */ ++static INLINE PollClassSet ++PollClassSet_Empty(void) ++{ ++ PollClassSet set = { 0 }; ++ return set; ++} ++ ++/* A PollClassSet with the single member. */ ++static INLINE PollClassSet ++PollClassSet_Singleton(PollClass c) ++{ ++ PollClassSet s = PollClassSet_Empty(); ++ ++ ASSERT_ON_COMPILE(POLL_MAX_CLASSES < sizeof s.bits * 8); ++ ASSERT(c < POLL_MAX_CLASSES); ++ ++ s.bits = CONST3264U(1) << c; ++ return s; ++} ++ ++/* Combine two PollClassSets. */ ++static INLINE PollClassSet ++PollClassSet_Union(PollClassSet lhs, PollClassSet rhs) ++{ ++ PollClassSet set; ++ set.bits = lhs.bits | rhs.bits; ++ return set; ++} ++ ++/* Add single class to PollClassSet. */ ++static INLINE PollClassSet ++PollClassSet_Include(PollClassSet set, PollClass c) ++{ ++ return PollClassSet_Union(set, PollClassSet_Singleton(c)); ++} ++ ++ ++#define POLL_CS_MAIN PollClassSet_Singleton(POLL_CLASS_MAIN) ++#define POLL_CS_PAUSE PollClassSet_Union(POLL_CS_MAIN, \ ++ PollClassSet_Singleton(POLL_CLASS_PAUSE)) ++#define POLL_CS_CPT PollClassSet_Union(POLL_CS_PAUSE, \ ++ PollClassSet_Singleton(POLL_CLASS_CPT)) ++#define POLL_CS_IPC PollClassSet_Union(POLL_CS_CPT, \ ++ PollClassSet_Singleton(POLL_CLASS_IPC)) ++#define POLL_CS_VMDB POLL_CS_PAUSE /* POLL_CLASS_VMDB is retired */ ++#define POLL_CS_MKS PollClassSet_Singleton(POLL_CLASS_MKS) ++/* ++ * DANGER. You don't need POLL_CS_ALWAYS. Really. So don't use it. ++ */ ++#define POLL_CS_ALWAYS PollClassSet_Union(POLL_CS_CPT, POLL_CS_IPC) ++ ++/* ++ * Poll class-set taxonomy: ++ * POLL_CS_MAIN ++ * - Unless you NEED another class, use POLL_CS_MAIN. ++ * POLL_CS_PAUSE ++ * - For callbacks that must occur even if the guest is paused. ++ * Most VMDB or Foundry commands are in this category. ++ * POLL_CS_CPT ++ * - Only for callbacks which can trigger intermediate Checkpoint ++ * transitions. ++ * The ONLY such callback is Migrate. ++ * POLL_CS_IPC ++ * - Only for callbacks which can contain Msg_(Post|Hint|Question) ++ * responses, and for signal handlers (why)? ++ * Vigor, VMDB, and Foundry can contain Msg_* responses. ++ * POLL_CS_MKS ++ * - Callback runs in MKS thread. ++ * POLL_CS_ALWAYS ++ * - Only for events that must be processed immediately. ++ * The ONLY such callback is OvhdMemVmxSizeCheck. ++ */ ++ ++ ++/* ++ * Poll_Callback flags ++ */ ++ ++#define POLL_FLAG_PERIODIC 0x01 // keep after firing ++#define POLL_FLAG_REMOVE_AT_POWEROFF 0x02 // self-explanatory ++#define POLL_FLAG_READ 0x04 // device is ready for reading ++#define POLL_FLAG_WRITE 0x08 // device is ready for writing ++#define POLL_FLAG_SOCKET 0x10 // device is a Windows socket ++#define POLL_FLAG_NO_BULL 0x20 // callback does its own locking ++#define POLL_FLAG_WINSOCK 0x40 // Winsock style write events ++#define POLL_FLAG_FD 0x80 // device is a Windows file descriptor. ++#define POLL_FLAG_ACCEPT_INVALID_FDS 0x100 // For broken 3rd party libs, e.g. curl ++#define POLL_FLAG_THUNK_TO_WND 0x200 // thunk callback to window message loop ++ ++ ++typedef void (*PollerFunction)(void *clientData); ++typedef void (*PollerFireWrapper)(PollerFunction func, ++ void *funcData, ++ void *wrapperData); ++typedef Bool (*PollerErrorFn)(const char *errorStr); ++ ++/* ++ * Initialisers: ++ * ++ * For the sake of convenience, we declare the initialisers ++ * for custom implmentations here, even though the actual ++ * implementations are distinct from the core poll code. ++ */ ++ ++typedef struct PollOptions { ++ Bool locked; // Use internal MXUser for locking ++ Bool allowFullQueue; // Don't assert when device event queue is full. ++ VThreadID windowsMsgThread; // thread that processes Windows messages ++ PollerFireWrapper fireWrapperFn; // optional; may be useful for stats ++ void *fireWrapperData; // optional ++ PollerErrorFn errorFn; // optional; called upon unrecoverable error ++} PollOptions; ++ ++ ++void Poll_InitDefault(void); ++void Poll_InitDefaultEx(const PollOptions *opts); ++void Poll_InitGtk(void); // On top of glib for Linux ++void Poll_InitCF(void); // On top of CoreFoundation for OSX ++ ++ ++/* ++ * Functions ++ */ ++int Poll_SocketPair(Bool vmci, Bool stream, int fds[2]); ++void Poll_Loop(Bool loop, Bool *exit, PollClass c); ++void Poll_LoopTimeout(Bool loop, Bool *exit, PollClass c, int timeout); ++Bool Poll_LockingEnabled(void); ++void Poll_Exit(void); ++ ++ ++/* ++ * Poll_Callback adds a callback regardless of whether an identical one exists. ++ * The exception to this rule is POLL_DEVICE callbacks: there is a maximum of ++ * one read and one write callback per fd. ++ * ++ * Poll_CallbackRemove removes one callback. If there are multiple identical ++ * callbacks, which one is removed is an implementation detail. Note that in ++ * the case of POLL_DEVICE and POLL_REALTIME callbacks, the fd/delay used to ++ * create the callback is not specified when removing, so all callbacks ++ * of those types with the same flags, function, and clientData are considered ++ * "identical" even if their fd/delay differed. ++ */ ++ ++VMwareStatus Poll_Callback(PollClassSet classSet, ++ int flags, ++ PollerFunction f, ++ void *clientData, ++ PollEventType type, ++ PollDevHandle info, // fd/microsec delay ++ MXUserRecLock *lck); ++Bool Poll_CallbackRemove(PollClassSet classSet, ++ int flags, ++ PollerFunction f, ++ void *clientData, ++ PollEventType type); ++Bool Poll_CallbackRemoveOneByCB(PollClassSet classSet, ++ int flags, ++ PollerFunction f, ++ PollEventType type, ++ void **clientData); ++ ++void Poll_NotifyChange(PollClassSet classSet); ++ ++/* ++ * Wrappers for Poll_Callback and Poll_CallbackRemove that present ++ * simpler subsets of those interfaces. ++ */ ++ ++VMwareStatus Poll_CB_Device(PollerFunction f, ++ void *clientData, ++ PollDevHandle device, ++ Bool periodic); ++ ++Bool Poll_CB_DeviceRemove(PollerFunction f, ++ void *clientData, ++ Bool periodic); ++ ++ ++VMwareStatus Poll_CB_RTime(PollerFunction f, ++ void *clientData, ++ int64 delay, // microseconds ++ Bool periodic, ++ MXUserRecLock *lock); ++ ++Bool Poll_CB_RTimeRemove(PollerFunction f, ++ void *clientData, ++ Bool periodic); ++ ++ ++#ifdef _WIN32 ++void Poll_SetPumpsWindowsMessages(Bool pumps); ++void Poll_SetWindowMessageRecipient(HWND hWnd, UINT msg, Bool alwaysThunk); ++Bool Poll_FireWndCallback(void *lparam); ++#endif ++ ++#if defined(__cplusplus) ++} // extern "C" ++#endif ++ ++#endif // _POLL_H_ +--- a/open-vm-tools/lib/rpcIn/rpcin.c ++++ b/open-vm-tools/lib/rpcIn/rpcin.c +@@ -57,7 +57,7 @@ + + #if defined(VMTOOLS_USE_VSOCKET) + # include +-# include "poll.h" ++# include "vm_poll.h" + # include "asyncsocket.h" + # include "vmci_defs.h" + #include "dataMap.h" diff --git a/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0010-use-posix-strerror_r-unless-on-gnu-libc-system.patch b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0010-use-posix-strerror_r-unless-on-gnu-libc-system.patch new file mode 100644 index 000000000..784b4fc6c --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0010-use-posix-strerror_r-unless-on-gnu-libc-system.patch @@ -0,0 +1,39 @@ +From e86a259e1ce19c70ecfdece69ab53a07c63a34e1 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 13 Jun 2018 23:16:53 -0700 +Subject: [PATCH] use posix strerror_r unless on gnu libc system + +Signed-off-by: Khem Raj +--- + open-vm-tools/lib/err/errPosix.c | 9 ++++++--- + 1 file changed, 6 insertions(+), 3 deletions(-) + +diff --git a/open-vm-tools/lib/err/errPosix.c b/open-vm-tools/lib/err/errPosix.c +index c81b4c13..7a403640 100644 +--- a/open-vm-tools/lib/err/errPosix.c ++++ b/open-vm-tools/lib/err/errPosix.c +@@ -31,6 +31,7 @@ + #include + #include + #include ++#include + + #include "vmware.h" + #include "errInt.h" +@@ -63,11 +64,13 @@ ErrErrno2String(Err_Number errorNumber, // IN + { + char *p; + +-#if defined(__linux__) && !defined(__ANDROID__) ++#if defined(__GLIBC__) && !defined(__ANDROID__) + p = strerror_r(errorNumber, buf, bufSize); + #else +- p = strerror(errorNumber); +-#endif ++ if (strerror_r(errorNumber, buf, bufSize) != 0) ++ snprintf(buf, bufSize, "unknown error %i", errorNumber); ++ p = buf; ++#endif /* defined __GLIBC__ */ + ASSERT(p != NULL); + return p; + } diff --git a/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0011-Use-uintmax_t-for-handling-rlim_t.patch b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0011-Use-uintmax_t-for-handling-rlim_t.patch new file mode 100644 index 000000000..0a1d00873 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0011-Use-uintmax_t-for-handling-rlim_t.patch @@ -0,0 +1,29 @@ +From 18eea61a7a768c6c3b57c6683c7bef7049f0f6ab Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 13 Jun 2018 23:37:09 -0700 +Subject: [PATCH] Use uintmax_t for handling rlim_t + +rlimit types are not representable with long or long long +formats, therefore use uintmax_t to typecast rlim_t types +and use %j to print it + +Signed-off-by: Khem Raj +--- + open-vm-tools/lib/hgfsServer/hgfsServerLinux.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c b/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c +index 0e6351a9..a2ee1740 100644 +--- a/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c ++++ b/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c +@@ -5294,8 +5294,8 @@ HgfsWriteCheckIORange(off_t offset, // IN: + goto exit; + } + +- LOG(6, ("%s: File Size limits: 0x%"FMT64"x 0x%"FMT64"x\n", +- __FUNCTION__, fileSize.rlim_cur, fileSize.rlim_max)); ++ LOG(6, ("%s: File Size limits: 0x%jx 0x%jx\n", ++ __FUNCTION__, (uintmax_t)fileSize.rlim_cur, (uintmax_t)fileSize.rlim_max)); + + /* + * Check the offset is within the file size range. diff --git a/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0012-Use-off64_t-instead-of-__off64_t.patch b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0012-Use-off64_t-instead-of-__off64_t.patch new file mode 100644 index 000000000..d69b74e23 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0012-Use-off64_t-instead-of-__off64_t.patch @@ -0,0 +1,31 @@ +From 123c690f12f560022305b0cf19499e7f81a690ae Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Mon, 27 Aug 2018 23:22:21 -0700 +Subject: [PATCH] Use off64_t instead of __off64_t + +Fixes +unknown type name '__off64_t' + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- + open-vm-tools/lib/file/fileIOPosix.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/open-vm-tools/lib/file/fileIOPosix.c b/open-vm-tools/lib/file/fileIOPosix.c +index 23108279..bcd2ddc5 100644 +--- a/open-vm-tools/lib/file/fileIOPosix.c ++++ b/open-vm-tools/lib/file/fileIOPosix.c +@@ -206,10 +206,10 @@ static AlignedPool alignedPool; + * the symbols (and anyone building XOPEN<700 gets nothing). + */ + extern ssize_t preadv64(int fd, const struct iovec *iov, int iovcnt, +- __off64_t offset) __attribute__ ((weak)); ++ off64_t offset) __attribute__ ((weak)); + + extern ssize_t pwritev64(int fd, const struct iovec *iov, int iovcnt, +- __off64_t offset) __attribute__ ((weak)); ++ off64_t offset) __attribute__ ((weak)); + #else + #error "Large file support unavailable. Aborting." + #endif diff --git a/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0013-misc-Do-not-print-NULL-string-into-logs.patch b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0013-misc-Do-not-print-NULL-string-into-logs.patch new file mode 100644 index 000000000..3e4753b2a --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0013-misc-Do-not-print-NULL-string-into-logs.patch @@ -0,0 +1,27 @@ +From cfc6839362bd96bf2f42954160f16a60bf1de377 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 22 Dec 2018 19:59:02 -0800 +Subject: [PATCH] misc: Do not print NULL string into logs + +string format %s is getting a NULL pointer for 'expand' +parameter always since the check for chunks[i] == NULL will ensure that +its always null when the Log() API is called + +Upstream-Status: Submitted [https://github.com/vmware/open-vm-tools/pull/312] + +Signed-off-by: Khem Raj +--- + open-vm-tools/lib/misc/util_misc.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +--- a/open-vm-tools/lib/misc/util_misc.c ++++ b/open-vm-tools/lib/misc/util_misc.c +@@ -719,7 +719,7 @@ Util_ExpandString(const char *fileName) + ASSERT(!freeChunk[i]); + chunks[i] = expand; + if (chunks[i] == NULL) { +- Log("%s: Cannot allocate memory to expand $ in \"%s\".\n", ++ Log("%s: Cannot allocate memory to expand in \"%s\".\n", + __FUNCTION__, fileName); + goto out; + } diff --git a/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/tools.conf b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/tools.conf new file mode 100644 index 000000000..f6cae70cc --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/tools.conf @@ -0,0 +1,2 @@ +[guestinfo] +disable-perf-mon=1 diff --git a/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/vmtoolsd.init b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/vmtoolsd.init new file mode 100644 index 000000000..38280464a --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/vmtoolsd.init @@ -0,0 +1,66 @@ +#!/bin/sh +# +# vmtoolsd Start/stop the vmware tools daemon +# +# chkconfig: 2345 90 60 +# description: vmtoolsd is a daemon that starts up. for some reason, it +# doesn't include a sysv init startup file in the latest release. +# so i have to write this +# + +### BEGIN INIT INFO +# Provides: vmtoolsd +# Required-Start: $local_fs $syslog +# Required-Stop: $local_fs $syslog +# Default-Start: 2345 +# Default-Stop: 90 +# Short-Description: Run vmware tools daemon +### END INIT INFO + +PATH=/sbin:/bin:/usr/sbin:/usr/bin +DAEMON=/usr/bin/vmtoolsd +NAME=vmtoolsd +DESC="vmware tools daemon" +VMTOOLSDARGS=" -b /var/run/vmtoolsd.pid " +RETVAL="1" + +# source function library +. /etc/init.d/functions + +test -f $DAEMON || exit 0 + + +case "$1" in + start) + echo -n "Starting vmware tools daemon: " + start-stop-daemon --start --quiet --exec $DAEMON -- $VMTOOLSDARGS + RETVAL=$? + if [ $RETVAL -eq 0 ] ; then + echo "OK" + else + echo "FAIL" + fi + ;; + stop) + echo -n "Stopping vmware tools daemon: " + start-stop-daemon --stop --quiet --pidfile /var/run/vmtoolsd.pid + RETVAL=$? + if [ $RETVAL -eq 0 ] ; then + echo "OK" + else + echo "FAIL" + fi + ;; + status) + status vmtoolsd + exit $? + ;; + restart) + $0 stop && sleep 1 && $0 start + ;; + *) + echo "Usage: /etc/init.d/vmtoolsd {start|stop|status|restart}" + exit 1 +esac + +exit $RETVAL diff --git a/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/vmtoolsd.service b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/vmtoolsd.service new file mode 100644 index 000000000..d30e38055 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/vmtoolsd.service @@ -0,0 +1,11 @@ +[Unit] +Description=Open Virtual Machine Tools (VMware Tools) +ConditionVirtualization=vmware + +[Service] +ExecStart=/usr/bin/vmtoolsd +Restart=on-failure +KillSignal=SIGKILL + +[Install] +WantedBy=multi-user.target diff --git a/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools_11.0.1.bb b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools_11.0.1.bb new file mode 100644 index 000000000..832fab1ea --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools_11.0.1.bb @@ -0,0 +1,116 @@ +# This recipe is modified from the recipe originally found in the Open-Switch +# repository: +# +# https://github.com/open-switch/ops-build +# yocto/openswitch/meta-foss-openswitch/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.0.5.bb +# Commit 9008de2d8e100f3f868c66765742bca9fa98f3f9 +# +# The recipe packaging has been relicensed under the MIT license for inclusion +# in meta-openembedded by agreement of the author (Diego Dompe). +# + +SUMMARY = "Tools to enhance VMWare guest integration and performance" +HOMEPAGE = "https://github.com/vmware/open-vm-tools" +SECTION = "vmware-tools" + +LICENSE = "LGPL-2.0 & GPL-2.0 & BSD & CDDL-1.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=559317809c5444fb39ceaf6ac45c43ac" +LICENSE_modules/freebsd/vmblock = "BSD" +LICENSE_modules/freebsd/vmmemctl = "GPL-2.0" +LICENSE_modules/freebsd/vmxnet = "GPL-2.0" +LICENSE_modules/linux = "GPL-2.0" +LICENSE_modules/solaris = "CDDL-1.0" + +SRC_URI = "git://github.com/vmware/open-vm-tools.git;protocol=https \ + file://tools.conf \ + file://vmtoolsd.service \ + file://vmtoolsd.init \ + file://0001-configure.ac-don-t-use-dnet-config.patch;patchdir=.. \ + file://0002-add-include-sys-sysmacros.h.patch;patchdir=.. \ + file://0003-Use-configure-test-for-struct-timespec.patch;patchdir=.. \ + file://0004-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch;patchdir=.. \ + file://0005-Use-configure-to-test-for-feature-instead-of-platfor.patch;patchdir=.. \ + file://0006-Use-configure-test-for-sys-stat.h-include.patch;patchdir=.. \ + file://0007-Fix-subdir-objects-configure-error.patch;patchdir=.. \ + file://0008-include-poll.h-instead-of-sys-poll.h.patch;patchdir=.. \ + file://0009-Rename-poll.h-to-vm_poll.h.patch;patchdir=.. \ + file://0010-use-posix-strerror_r-unless-on-gnu-libc-system.patch;patchdir=.. \ + file://0011-Use-uintmax_t-for-handling-rlim_t.patch;patchdir=.. \ + file://0012-Use-off64_t-instead-of-__off64_t.patch;patchdir=.. \ + file://0013-misc-Do-not-print-NULL-string-into-logs.patch;patchdir=.. \ + file://0001-GitHub-Issue-367.-Remove-references-to-deprecated-G_.patch;patchdir=.. \ + file://0001-Make-HgfsConvertFromNtTimeNsec-aware-of-64-bit-time_.patch;patchdir=.. \ + file://0002-hgfsServerLinux-Consider-64bit-time_t-possibility.patch;patchdir=.. \ + file://0001-utilBacktrace-Ignore-Warray-bounds.patch;patchdir=.. \ + file://0001-hgfsmounter-Makefile.am-support-usrmerge.patch;patchdir=.. \ + file://0001-pollGtk-Drop-volatile-qualifier.patch;patchdir=.. \ +" + +SRCREV = "d3edfd142a81096f9f58aff17d84219b457f4987" + +S = "${WORKDIR}/git/open-vm-tools" + +DEPENDS = "glib-2.0 glib-2.0-native util-linux libdnet procps libtirpc" + +# open-vm-tools is supported only on x86. +COMPATIBLE_HOST = '(x86_64.*|i.86.*)-linux' + +inherit autotools pkgconfig systemd update-rc.d + +SYSTEMD_SERVICE_${PN} = "vmtoolsd.service" + +EXTRA_OECONF = "--without-icu --disable-multimon --disable-docs \ + --disable-tests --without-gtkmm --without-xerces --without-pam \ + --disable-vgauth --disable-deploypkg \ + --without-root-privileges --without-kernel-modules --with-tirpc \ + --with-udev-rules-dir=${nonarch_base_libdir}/udev/rules.d" + +NO_X11_FLAGS = "--without-x --without-gtk2 --without-gtk3" +X11_DEPENDS = "libxext libxi libxrender libxrandr libxtst gtk+ gdk-pixbuf" +PACKAGECONFIG[x11] = ",${NO_X11_FLAGS},${X11_DEPENDS}" + +# fuse gets implicitly detected; there is no --without-fuse option. +PACKAGECONFIG[fuse] = ",,fuse" + +CFLAGS_append_toolchain-clang = " -Wno-address-of-packed-member" +FILES_${PN} += "\ + ${libdir}/open-vm-tools/plugins/vmsvc/lib*.so \ + ${libdir}/open-vm-tools/plugins/common/lib*.so \ + ${sysconfdir}/vmware-tools/tools.conf \ +" +FILES_${PN}-locale += "${datadir}/open-vm-tools/messages" +FILES_${PN}-dev += "${libdir}/open-vm-tools/plugins/common/lib*.la" + +CONFFILES_${PN} += "${sysconfdir}/vmware-tools/tools.conf" + +RDEPENDS_${PN} = "util-linux libdnet fuse" + +do_install_append() { + if ! ${@bb.utils.contains('DISTRO_FEATURES','usrmerge','true','false',d)}; then + install -d ${D}/sbin + ln -sf ${sbindir}/mount.vmhgfs ${D}/sbin/mount.vmhgfs + fi + install -d ${D}${sysconfdir}/vmware-tools + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then + install -d ${D}${systemd_unitdir}/system + install -m 644 ${WORKDIR}/*.service ${D}${systemd_unitdir}/system + else + install -d ${D}${sysconfdir}/init.d + install -m 0755 ${WORKDIR}/vmtoolsd.init ${D}${sysconfdir}/init.d/vmtoolsd + fi + install -m 0644 ${WORKDIR}/tools.conf ${D}${sysconfdir}/vmware-tools/tools.conf +} + +do_configure_prepend() { + export CUSTOM_DNET_NAME=dnet + export CUSTOM_DNET_LIBS=-L${STAGING_LIBDIR}/libdnet.so +} + +INITSCRIPT_PACKAGES = "${PN}" +INITSCRIPT_NAME_${PN} = "vmtoolsd" +INITSCRIPT_PARAMS_${PN} = "start 90 2 3 4 5 . stop 60 0 1 6 ." + +python() { + if 'filesystems-layer' not in d.getVar('BBFILE_COLLECTIONS').split(): + raise bb.parse.SkipRecipe('Requires meta-filesystems to be present to provide fuse.') +} diff --git a/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_3.4.3.bb b/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_3.4.3.bb deleted file mode 100644 index e730b18a0..000000000 --- a/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_3.4.3.bb +++ /dev/null @@ -1,87 +0,0 @@ -DESCRIPTION = "wireshark - a popular network protocol analyzer" -HOMEPAGE = "http://www.wireshark.org" -SECTION = "net" -LICENSE = "GPL-2.0" -LIC_FILES_CHKSUM = "file://COPYING;md5=6e271234ba1a13c6e512e76b94ac2f77" - -DEPENDS = "pcre expat glib-2.0 glib-2.0-native libgcrypt libgpg-error libxml2 bison-native c-ares" - -DEPENDS_append_class-target = " wireshark-native chrpath-replacement-native " - -SRC_URI = "https://1.eu.dl.wireshark.org/src/all-versions/wireshark-${PV}.tar.xz" - -SRC_URI += " \ - file://0001-wireshark-src-improve-reproducibility.patch \ - file://0002-flex-Remove-line-directives.patch \ - file://0003-bison-Remove-line-directives.patch \ - file://0004-lemon-Remove-line-directives.patch \ -" - -UPSTREAM_CHECK_URI = "https://1.as.dl.wireshark.org/src" - -SRC_URI[sha256sum] = "f467cc77f0fc73fce0b854cdbc292f132d4879fca69d417eccad5f967fbf262b" - -PE = "1" - -inherit cmake pkgconfig python3native perlnative upstream-version-is-even mime mime-xdg - -PACKAGECONFIG ?= "libpcap gnutls libnl libcap sbc" - -PACKAGECONFIG_class-native = "libpcap gnutls ssl libssh" - -PACKAGECONFIG[libcap] = "-DENABLE_CAP=ON,-DENABLE_CAP=OFF -DENABLE_PCAP_NG_DEFAULT=ON, libcap" -PACKAGECONFIG[libpcap] = "-DENABLE_PCAP=ON,-DENABLE_PCAP=OFF -DENABLE_PCAP_NG_DEFAULT=ON , libpcap" -PACKAGECONFIG[libsmi] = "-DENABLE_SMI=ON,-DENABLE_SMI=OFF,libsmi" -PACKAGECONFIG[libnl] = ",,libnl" -PACKAGECONFIG[portaudio] = "-DENABLE_PORTAUDIO=ON,-DENABLE_PORTAUDIO=OFF, portaudio-v19" -PACKAGECONFIG[gnutls] = "-DENABLE_GNUTLS=ON,-DENABLE_GNUTLS=OFF, gnutls" -PACKAGECONFIG[ssl] = ",,openssl" -PACKAGECONFIG[krb5] = "-DENABLE_KRB5=ON,-DENABLE_KRB5=OFF, krb5" -PACKAGECONFIG[lua] = "-DENABLE_LUA=ON,-DENABLE_LUA=OFF, lua" -PACKAGECONFIG[zlib] = "-DENABLE_ZLIB=ON,-DENABLE_ZLIB=OFF, zlib" -PACKAGECONFIG[geoip] = ",, geoip" -PACKAGECONFIG[plugins] = "-DENABLE_PLUGINS=ON,-DENABLE_PLUGINS=OFF" -PACKAGECONFIG[sbc] = "-DENABLE_SBC=ON,-DENABLE_SBC=OFF, sbc" -PACKAGECONFIG[libssh] = ",,libssh2" -PACKAGECONFIG[lz4] = "-DENABLE_LZ4=ON,-DENABLE_LZ4=OFF, lz4" - -# these next two options require addional layers -PACKAGECONFIG[c-ares] = "-DENABLE_CARES=ON,-DENABLE_CARES=OFF, c-ares" -PACKAGECONFIG[qt5] = "-DENABLE_QT5=ON -DBUILD_wireshark=ON, -DENABLE_QT5=OFF -DBUILD_wireshark=OFF, qttools-native qtmultimedia qtsvg" - -inherit ${@bb.utils.contains('PACKAGECONFIG', 'qt5', 'cmake_qt5', '', d)} - -EXTRA_OECMAKE += "-DENABLE_NETLINK=ON \ - -DBUILD_mmdbresolve=OFF \ - -DBUILD_randpktdump=OFF \ - -DBUILD_androiddump=OFF \ - -DBUILD_dcerpcidl2wrs=OFF \ - -DM_INCLUDE_DIR=${includedir} \ - -DM_LIBRARY=${libdir} \ - " -CFLAGS_append = " -lm" - -do_install_append_class-native() { - install -d ${D}${bindir} - for f in lemon - do - install -m 0755 ${B}/run/$f ${D}${bindir} - done -} - -do_install_append_class-target() { - for f in `find ${D}${libdir} ${D}${bindir} -type f -executable` - do - chrpath --delete $f - done -} - -PACKAGE_BEFORE_PN += "tshark" - -FILES_tshark = "${bindir}/tshark ${mandir}/man1/tshark.*" - -FILES_${PN} += "${datadir}*" - -RDEPENDS_tshark = "wireshark" - -BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_3.4.4.bb b/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_3.4.4.bb new file mode 100644 index 000000000..b75f41835 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_3.4.4.bb @@ -0,0 +1,87 @@ +DESCRIPTION = "wireshark - a popular network protocol analyzer" +HOMEPAGE = "http://www.wireshark.org" +SECTION = "net" +LICENSE = "GPL-2.0" +LIC_FILES_CHKSUM = "file://COPYING;md5=6e271234ba1a13c6e512e76b94ac2f77" + +DEPENDS = "pcre expat glib-2.0 glib-2.0-native libgcrypt libgpg-error libxml2 bison-native c-ares" + +DEPENDS_append_class-target = " wireshark-native chrpath-replacement-native " + +SRC_URI = "https://1.eu.dl.wireshark.org/src/all-versions/wireshark-${PV}.tar.xz" + +SRC_URI += " \ + file://0001-wireshark-src-improve-reproducibility.patch \ + file://0002-flex-Remove-line-directives.patch \ + file://0003-bison-Remove-line-directives.patch \ + file://0004-lemon-Remove-line-directives.patch \ +" + +UPSTREAM_CHECK_URI = "https://1.as.dl.wireshark.org/src" + +SRC_URI[sha256sum] = "729cd11e9715c600e5ad74ca472bacf8af32c20902192d5f2b271268511d4d29" + +PE = "1" + +inherit cmake pkgconfig python3native perlnative upstream-version-is-even mime mime-xdg + +PACKAGECONFIG ?= "libpcap gnutls libnl libcap sbc" + +PACKAGECONFIG_class-native = "libpcap gnutls ssl libssh" + +PACKAGECONFIG[libcap] = "-DENABLE_CAP=ON,-DENABLE_CAP=OFF -DENABLE_PCAP_NG_DEFAULT=ON, libcap" +PACKAGECONFIG[libpcap] = "-DENABLE_PCAP=ON,-DENABLE_PCAP=OFF -DENABLE_PCAP_NG_DEFAULT=ON , libpcap" +PACKAGECONFIG[libsmi] = "-DENABLE_SMI=ON,-DENABLE_SMI=OFF,libsmi" +PACKAGECONFIG[libnl] = ",,libnl" +PACKAGECONFIG[portaudio] = "-DENABLE_PORTAUDIO=ON,-DENABLE_PORTAUDIO=OFF, portaudio-v19" +PACKAGECONFIG[gnutls] = "-DENABLE_GNUTLS=ON,-DENABLE_GNUTLS=OFF, gnutls" +PACKAGECONFIG[ssl] = ",,openssl" +PACKAGECONFIG[krb5] = "-DENABLE_KRB5=ON,-DENABLE_KRB5=OFF, krb5" +PACKAGECONFIG[lua] = "-DENABLE_LUA=ON,-DENABLE_LUA=OFF, lua" +PACKAGECONFIG[zlib] = "-DENABLE_ZLIB=ON,-DENABLE_ZLIB=OFF, zlib" +PACKAGECONFIG[geoip] = ",, geoip" +PACKAGECONFIG[plugins] = "-DENABLE_PLUGINS=ON,-DENABLE_PLUGINS=OFF" +PACKAGECONFIG[sbc] = "-DENABLE_SBC=ON,-DENABLE_SBC=OFF, sbc" +PACKAGECONFIG[libssh] = ",,libssh2" +PACKAGECONFIG[lz4] = "-DENABLE_LZ4=ON,-DENABLE_LZ4=OFF, lz4" + +# these next two options require addional layers +PACKAGECONFIG[c-ares] = "-DENABLE_CARES=ON,-DENABLE_CARES=OFF, c-ares" +PACKAGECONFIG[qt5] = "-DENABLE_QT5=ON -DBUILD_wireshark=ON, -DENABLE_QT5=OFF -DBUILD_wireshark=OFF, qttools-native qtmultimedia qtsvg" + +inherit ${@bb.utils.contains('PACKAGECONFIG', 'qt5', 'cmake_qt5', '', d)} + +EXTRA_OECMAKE += "-DENABLE_NETLINK=ON \ + -DBUILD_mmdbresolve=OFF \ + -DBUILD_randpktdump=OFF \ + -DBUILD_androiddump=OFF \ + -DBUILD_dcerpcidl2wrs=OFF \ + -DM_INCLUDE_DIR=${includedir} \ + -DM_LIBRARY=${libdir} \ + " +CFLAGS_append = " -lm" + +do_install_append_class-native() { + install -d ${D}${bindir} + for f in lemon + do + install -m 0755 ${B}/run/$f ${D}${bindir} + done +} + +do_install_append_class-target() { + for f in `find ${D}${libdir} ${D}${bindir} -type f -executable` + do + chrpath --delete $f + done +} + +PACKAGE_BEFORE_PN += "tshark" + +FILES_tshark = "${bindir}/tshark ${mandir}/man1/tshark.*" + +FILES_${PN} += "${datadir}*" + +RDEPENDS_tshark = "wireshark" + +BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-oe/classes/image_types_sparse.bbclass b/meta-openembedded/meta-oe/classes/image_types_sparse.bbclass new file mode 100644 index 000000000..1459f800a --- /dev/null +++ b/meta-openembedded/meta-oe/classes/image_types_sparse.bbclass @@ -0,0 +1,16 @@ +inherit image_types + +CONVERSIONTYPES += "sparse" +CONVERSION_CMD_sparse() { + in="${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}" + out="${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}.sparse" + case "${type}" in + ext*) + ext2simg "$in" "$out" + ;; + *) + img2simg "$in" "$out" + ;; + esac +} +CONVERSION_DEPENDS_sparse = "android-tools-native" diff --git a/meta-openembedded/meta-oe/conf/layer.conf b/meta-openembedded/meta-oe/conf/layer.conf index 3de301550..d3aeaba3d 100644 --- a/meta-openembedded/meta-oe/conf/layer.conf +++ b/meta-openembedded/meta-oe/conf/layer.conf @@ -26,10 +26,14 @@ BBFILE_PRIORITY_openembedded-layer = "6" # only activates content when identified layers are present, # to ensure yocto compatibility check pass BBFILES_DYNAMIC += " \ -meta-python:${LAYERDIR}/dynamic-layers/meta-python/recipes-*/*/*.bb \ -networking-layer:${LAYERDIR}/dynamic-layers/networking-layer/recipes-*/*/*.bb \ -gnome-layer:${LAYERDIR}/dynamic-layers/gnome-layer/recipes-*/*/*.bb \ -perl-layer:${LAYERDIR}/dynamic-layers/perl-layer/recipes-*/*/*.bb \ + meta-python:${LAYERDIR}/dynamic-layers/meta-python/recipes-*/*/*.bb \ + meta-python:${LAYERDIR}/dynamic-layers/meta-python/recipes-*/*/*.bbappend \ + networking-layer:${LAYERDIR}/dynamic-layers/networking-layer/recipes-*/*/*.bb \ + networking-layer:${LAYERDIR}/dynamic-layers/networking-layer/recipes-*/*/*.bbappend \ + gnome-layer:${LAYERDIR}/dynamic-layers/gnome-layer/recipes-*/*/*.bb \ + gnome-layer:${LAYERDIR}/dynamic-layers/gnome-layer/recipes-*/*/*.bbappend \ + perl-layer:${LAYERDIR}/dynamic-layers/perl-layer/recipes-*/*/*.bb \ + perl-layer:${LAYERDIR}/dynamic-layers/perl-layer/recipes-*/*/*.bbappend \ " # This should only be incremented on significant changes that will @@ -38,7 +42,7 @@ LAYERVERSION_openembedded-layer = "1" LAYERDEPENDS_openembedded-layer = "core" -LAYERSERIES_COMPAT_openembedded-layer = "gatesgarth hardknott" +LAYERSERIES_COMPAT_openembedded-layer = " hardknott" LICENSE_PATH += "${LAYERDIR}/licenses" diff --git a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/disable_runtime_check.patch b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/disable_runtime_check.patch new file mode 100644 index 000000000..78ebba8fb --- /dev/null +++ b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/disable_runtime_check.patch @@ -0,0 +1,17 @@ +Lets use cached result for this otherwise runtime test, on qemuppc64 +when this test is run using gcc11, it returns 1, since we dont worry +about older compilers here, we can cache the result and use it here + +Upstream-Status: Inappropriate [Cross-compile specific] +Signed-off-by: Khem Raj +--- a/SConstruct ++++ b/SConstruct +@@ -3904,7 +3904,7 @@ def doConfigure(myenv): + + conf.AddTest('CheckAltivecVbpermqOutput', CheckAltivecVbpermqOutput) + +- outputIndex = next((idx for idx in [0,1] if conf.CheckAltivecVbpermqOutput(idx)), None) ++ outputIndex = 1 + if outputIndex is not None: + conf.env.SetConfigHeaderDefine("MONGO_CONFIG_ALTIVEC_VEC_VBPERMQ_OUTPUT_INDEX", outputIndex) + else: diff --git a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/ppc64_ARCH_BITS.patch b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/ppc64_ARCH_BITS.patch new file mode 100644 index 000000000..471d5629a --- /dev/null +++ b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/ppc64_ARCH_BITS.patch @@ -0,0 +1,18 @@ +Subject: [PATCH] stacktrace: Define ARCH_BITS for ppc64 + +src/mongo/util/stacktrace_somap.cpp:89:2: error: #error Unknown target architecture. +stacktrace_somap.cpp:92:33: error: 'ELFCLASSARCH_BITS' was not declared in this scope + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- a/src/mongo/util/stacktrace_somap.cpp ++++ b/src/mongo/util/stacktrace_somap.cpp +@@ -81,7 +81,7 @@ void addUnameToSoMap(BSONObjBuilder* soM + + #if defined(__ELF_NATIVE_CLASS) // determine ARCH_BITS + #define ARCH_BITS __ELF_NATIVE_CLASS +-#elif defined(__x86_64__) || defined(__aarch64__) ++#elif defined(__x86_64__) || defined(__aarch64__) || defined(__powerpc64__) + #define ARCH_BITS 64 + #elif defined(__i386__) || defined(__arm__) + #define ARCH_BITS 32 diff --git a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb_git.bb b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb_git.bb index d0c4eba7e..b78255a04 100644 --- a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb_git.bb +++ b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb_git.bb @@ -11,9 +11,9 @@ DEPENDS = "openssl libpcap zlib boost curl python3 \ inherit scons dos2unix siteinfo python3native systemd useradd -PV = "4.4.1" -#v4.4.1 -SRCREV = "ad91a93a5a31e175f5cbf8c69561e788bbc55ce1" +PV = "4.4.4" +#v4.4.4 +SRCREV = "8db30a63db1a9d84bdcad0c83369623f708e0397" SRC_URI = "git://github.com/mongodb/mongo.git;branch=v4.4 \ file://0001-kms-message-bump-libmongocrypto-to-v1.0.4.patch \ file://0001-Tell-scons-to-use-build-settings-from-environment-va.patch \ @@ -28,6 +28,8 @@ SRC_URI = "git://github.com/mongodb/mongo.git;branch=v4.4 \ file://0001-Fix-compilation-with-fno-common.patch \ file://0001-stacktrace-Define-ARCH_BITS-for-x86.patch \ file://0001-include-needed-c-header.patch \ + file://disable_runtime_check.patch \ + file://ppc64_ARCH_BITS.patch \ " SRC_URI_append_libc-musl ="\ file://0001-Mark-one-of-strerror_r-implementation-glibc-specific.patch \ @@ -56,12 +58,15 @@ PACKAGECONFIG[tcmalloc] = "--use-system-tcmalloc,--allocator=system,gperftools," PACKAGECONFIG[shell] = ",--js-engine=none,," PACKAGECONFIG[system-pcre] = "--use-system-pcre,,libpcre," +MONGO_ARCH ?= "${HOST_ARCH}" +MONGO_ARCH_powerpc64le = "ppc64le" + EXTRA_OESCONS = "PREFIX=${prefix} \ DESTDIR=${D} \ LIBPATH=${STAGING_LIBDIR} \ LINKFLAGS='${LDFLAGS}' \ CXXFLAGS='${CXXFLAGS}' \ - TARGET_ARCH=${TARGET_ARCH} \ + TARGET_ARCH=${MONGO_ARCH} \ MONGO_VERSION=${PV} \ OBJCOPY=${OBJCOPY} \ --ssl \ @@ -116,5 +121,3 @@ scons_do_install() { CONFFILES_${PN} = "${sysconfdir}/mongod.conf" SYSTEMD_SERVICE_${PN} = "mongod.service" - - diff --git a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-devtools/nanopb/nanopb_0.4.4.bb b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-devtools/nanopb/nanopb_0.4.4.bb deleted file mode 100644 index 19db89bdc..000000000 --- a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-devtools/nanopb/nanopb_0.4.4.bb +++ /dev/null @@ -1,29 +0,0 @@ -DESCRIPTION="Protocol Buffers with small code size" -LICENSE="Zlib" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=9db4b73a55a3994384112efcdb37c01f" - -DEPENDS = "protobuf-native" - -SRC_URI = "git://github.com/nanopb/nanopb.git" -SRCREV = "2b48a361786dfb1f63d229840217a93aae064667" - -S = "${WORKDIR}/git" - -inherit cmake python3native - -do_install_append() { - install -Dm 0755 ${S}/generator/nanopb_generator.py ${D}${bindir}/nanopb_generator.py - install -Dm 0755 ${S}/generator/protoc-gen-nanopb ${D}${bindir}/protoc-gen-nanopb - install -Dm 0755 ${S}/generator/proto/__init__.py ${D}${PYTHON_SITEPACKAGES_DIR}/proto/__init__.py -} - -FILES_${PN} += "${PYTHON_SITEPACKAGES_DIR}" -FILES_${PN}-dev += "${libdir}/cmake/${BPN}" - -RDEPENDS_${PN} += "\ - ${PYTHON_PN}-protobuf \ - protobuf-compiler \ -" - -BBCLASSEXTEND = "native nativesdk" - diff --git a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-devtools/nanopb/nanopb_0.4.5.bb b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-devtools/nanopb/nanopb_0.4.5.bb new file mode 100644 index 000000000..b2f8db9c0 --- /dev/null +++ b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-devtools/nanopb/nanopb_0.4.5.bb @@ -0,0 +1,29 @@ +DESCRIPTION="Protocol Buffers with small code size" +LICENSE="Zlib" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=9db4b73a55a3994384112efcdb37c01f" + +DEPENDS = "protobuf-native" + +SRC_URI = "git://github.com/nanopb/nanopb.git" +SRCREV = "c9124132a604047d0ef97a09c0e99cd9bed2c818" + +S = "${WORKDIR}/git" + +inherit cmake python3native + +do_install_append() { + install -Dm 0755 ${S}/generator/nanopb_generator.py ${D}${bindir}/nanopb_generator.py + install -Dm 0755 ${S}/generator/protoc-gen-nanopb ${D}${bindir}/protoc-gen-nanopb + install -Dm 0755 ${S}/generator/proto/__init__.py ${D}${PYTHON_SITEPACKAGES_DIR}/proto/__init__.py +} + +FILES_${PN} += "${PYTHON_SITEPACKAGES_DIR}" +FILES_${PN}-dev += "${libdir}/cmake/${BPN}" + +RDEPENDS_${PN} += "\ + ${PYTHON_PN}-protobuf \ + protobuf-compiler \ +" + +BBCLASSEXTEND = "native nativesdk" + diff --git a/meta-openembedded/meta-oe/dynamic-layers/networking-layer/recipes-core/packagegroups/packagegroup-meta-oe.bbappend b/meta-openembedded/meta-oe/dynamic-layers/networking-layer/recipes-core/packagegroups/packagegroup-meta-oe.bbappend index b39a4d68f..09c478eb1 100644 --- a/meta-openembedded/meta-oe/dynamic-layers/networking-layer/recipes-core/packagegroups/packagegroup-meta-oe.bbappend +++ b/meta-openembedded/meta-oe/dynamic-layers/networking-layer/recipes-core/packagegroups/packagegroup-meta-oe.bbappend @@ -1,3 +1,6 @@ RDEPENDS_packagegroup-meta-oe-devtools += "\ valijson \ " + +RDEPENDS_packagegroup-meta-oe-support_append_x86 = "${@bb.utils.contains('BBFILE_COLLECTIONS', 'filesystems-layer', ' open-vm-tools', '', d)}" +RDEPENDS_packagegroup-meta-oe-support_append_x86-64 = "${@bb.utils.contains('BBFILE_COLLECTIONS', 'filesystems-layer', ' open-vm-tools', '', d)}" diff --git a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio_3.25.bb b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio_3.25.bb deleted file mode 100644 index 6ab7ab79d..000000000 --- a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio_3.25.bb +++ /dev/null @@ -1,45 +0,0 @@ -SUMMARY = "Filesystem and hardware benchmark and stress tool" -DESCRIPTION = "fio is an I/O tool meant to be used both for benchmark and \ -stress/hardware verification. It has support for a number of I/O engines, \ -I/O priorities (for newer Linux kernels), rate I/O, forked or threaded jobs, \ -and much more. It can work on block devices as well as files. fio accepts \ -job descriptions in a simple-to-understand text format. Several example job \ -files are included. fio displays all sorts of I/O performance information." -HOMEPAGE = "http://freecode.com/projects/fio" -SECTION = "console/tests" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" - -DEPENDS = "libaio zlib coreutils-native" -DEPENDS += "${@bb.utils.contains('MACHINE_FEATURES', 'pmem', 'pmdk', '', d)}" -RDEPENDS_${PN} = "python3-core bash" - -PACKAGECONFIG_NUMA = "numa" -# ARM does not currently support NUMA -PACKAGECONFIG_NUMA_arm = "" -PACKAGECONFIG_NUMA_armeb = "" - -PACKAGECONFIG ??= "${PACKAGECONFIG_NUMA}" -PACKAGECONFIG[numa] = ",--disable-numa,numactl" - -SRCREV = "fd80924b22fef6ce0d5580724d91490347445f90" -SRC_URI = "git://git.kernel.dk/fio.git \ -" - -S = "${WORKDIR}/git" - -# avoids build breaks when using no-static-libs.inc -DISABLE_STATIC = "" - -EXTRA_OEMAKE = "CC='${CC}' LDFLAGS='${LDFLAGS}'" -EXTRA_OECONF = "${@bb.utils.contains('MACHINE_FEATURES', 'x86', '--disable-optimizations', '', d)}" - -do_configure() { - ./configure ${EXTRA_OECONF} -} - -do_install() { - oe_runmake install DESTDIR=${D} prefix=${prefix} mandir=${mandir} - install -d ${D}/${docdir}/${PN} - cp -R --no-dereference --preserve=mode,links -v ${S}/examples ${D}/${docdir}/${PN}/ -} diff --git a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio_3.26.bb b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio_3.26.bb new file mode 100644 index 000000000..6f2464e5e --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio_3.26.bb @@ -0,0 +1,45 @@ +SUMMARY = "Filesystem and hardware benchmark and stress tool" +DESCRIPTION = "fio is an I/O tool meant to be used both for benchmark and \ +stress/hardware verification. It has support for a number of I/O engines, \ +I/O priorities (for newer Linux kernels), rate I/O, forked or threaded jobs, \ +and much more. It can work on block devices as well as files. fio accepts \ +job descriptions in a simple-to-understand text format. Several example job \ +files are included. fio displays all sorts of I/O performance information." +HOMEPAGE = "http://freecode.com/projects/fio" +SECTION = "console/tests" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +DEPENDS = "libaio zlib coreutils-native" +DEPENDS += "${@bb.utils.contains('MACHINE_FEATURES', 'pmem', 'pmdk', '', d)}" +RDEPENDS_${PN} = "python3-core bash" + +PACKAGECONFIG_NUMA = "numa" +# ARM does not currently support NUMA +PACKAGECONFIG_NUMA_arm = "" +PACKAGECONFIG_NUMA_armeb = "" + +PACKAGECONFIG ??= "${PACKAGECONFIG_NUMA}" +PACKAGECONFIG[numa] = ",--disable-numa,numactl" + +SRCREV = "267b164c372d57145880f365bab8d8a52bf8baa7" +SRC_URI = "git://git.kernel.dk/fio.git \ +" + +S = "${WORKDIR}/git" + +# avoids build breaks when using no-static-libs.inc +DISABLE_STATIC = "" + +EXTRA_OEMAKE = "CC='${CC}' LDFLAGS='${LDFLAGS}'" +EXTRA_OECONF = "${@bb.utils.contains('MACHINE_FEATURES', 'x86', '--disable-optimizations', '', d)}" + +do_configure() { + ./configure ${EXTRA_OECONF} +} + +do_install() { + oe_runmake install DESTDIR=${D} prefix=${prefix} mandir=${mandir} + install -d ${D}/${docdir}/${PN} + cp -R --no-dereference --preserve=mode,links -v ${S}/examples ${D}/${docdir}/${PN}/ +} diff --git a/meta-openembedded/meta-oe/recipes-benchmark/glmark2/files/0003-fix-precision-handling-bugs.patch b/meta-openembedded/meta-oe/recipes-benchmark/glmark2/files/0003-fix-precision-handling-bugs.patch deleted file mode 100644 index af88f6cd2..000000000 --- a/meta-openembedded/meta-oe/recipes-benchmark/glmark2/files/0003-fix-precision-handling-bugs.patch +++ /dev/null @@ -1,138 +0,0 @@ -From 90e837ffd1ff5c9add1074d69de23e58a3a4810e Mon Sep 17 00:00:00 2001 -From: Alyssa Rosenzweig -Date: Wed, 11 Nov 2020 09:26:03 -0500 -Subject: [PATCH 1/3] terrain: Fix precision bug in light rendering - -Resulting in overly bright rendering when mediump is implemented as -fp16. - -Signed-off-by: Alyssa Rosenzweig ---- - data/shaders/terrain.frag | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/data/shaders/terrain.frag b/data/shaders/terrain.frag -index 84d085c..58f17ea 100644 ---- a/data/shaders/terrain.frag -+++ b/data/shaders/terrain.frag -@@ -67,7 +67,12 @@ void main() { - vec3 pointSpecular = vec3( 0.0 ); - for ( int i = 0; i < MAX_POINT_LIGHTS; i ++ ) { - vec4 lPosition = viewMatrix * vec4( pointLightPosition[ i ], 1.0 ); -+#ifdef GL_FRAGMENT_PRECISION_HIGH -+ // should be highp for correct behaviour if mediump is implemented as fp16 -+ highp vec3 lVector = lPosition.xyz + vViewPosition.xyz; -+#else - vec3 lVector = lPosition.xyz + vViewPosition.xyz; -+#endif - float lDistance = 1.0; - if ( pointLightDistance[ i ] > 0.0 ) - lDistance = 1.0 - min( ( length( lVector ) / pointLightDistance[ i ] ), 1.0 ); - -From 1edd76fda77edabd49d713912aee49b8360c86c3 Mon Sep 17 00:00:00 2001 -From: Alyssa Rosenzweig -Date: Wed, 11 Nov 2020 09:49:52 -0500 -Subject: [PATCH 2/3] terrain: Fix precision handling in noise shader - -Another overflow resulting in infinity in mediump. Note this bug is -masked if the driver clamps infinity to MAX_FLOAT, but it's still our -bug. - -Signed-off-by: Alyssa Rosenzweig ---- - data/shaders/terrain-noise.frag | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/data/shaders/terrain-noise.frag b/data/shaders/terrain-noise.frag -index 7fea5c0..9535e58 100644 ---- a/data/shaders/terrain-noise.frag -+++ b/data/shaders/terrain-noise.frag -@@ -17,7 +17,13 @@ uniform float time; - uniform MEDIUMP vec2 uvScale; - varying vec2 vUv; - -+#ifdef GL_FRAGMENT_PRECISION_HIGH -+// x should be passed as highp since the intermediate multiplications can -+// overflow with mediump -+vec4 permute(highp vec4 x) -+#else - vec4 permute(vec4 x) -+#endif - { - return mod(((x * 34.0) + 1.0) * x, 289.0); - } - -From e866cc633ffc450e5358b2742f32ca360e4f3f12 Mon Sep 17 00:00:00 2001 -From: Alyssa Rosenzweig -Date: Wed, 11 Nov 2020 09:35:21 -0500 -Subject: [PATCH 3/3] loop,function,conditionals: Fix mediump overflow - -The multiplication can produce infinity. - -Signed-off-by: Alyssa Rosenzweig ---- - data/shaders/conditionals.frag | 9 ++++++++- - data/shaders/function.frag | 9 ++++++++- - data/shaders/loop.frag | 9 ++++++++- - 3 files changed, 24 insertions(+), 3 deletions(-) - -diff --git a/data/shaders/conditionals.frag b/data/shaders/conditionals.frag -index 3bd2507..e902263 100644 ---- a/data/shaders/conditionals.frag -+++ b/data/shaders/conditionals.frag -@@ -2,7 +2,14 @@ varying vec4 dummy; - - void main(void) - { -- float d = fract(gl_FragCoord.x * gl_FragCoord.y * 0.0001); -+#ifdef GL_FRAGMENT_PRECISION_HIGH -+ // should be declared highp since the multiplication can overflow in -+ // mediump, particularly if mediump is implemented as fp16 -+ highp vec2 FragCoord = gl_FragCoord.xy; -+#else -+ vec2 FragCoord = gl_FragCoord.xy; -+#endif -+ float d = fract(FragCoord.x * FragCoord.y * 0.0001); - - $MAIN$ - -diff --git a/data/shaders/function.frag b/data/shaders/function.frag -index 3e3c74f..9d0230e 100644 ---- a/data/shaders/function.frag -+++ b/data/shaders/function.frag -@@ -8,7 +8,14 @@ $PROCESS$ - - void main(void) - { -- float d = fract(gl_FragCoord.x * gl_FragCoord.y * 0.0001); -+#ifdef GL_FRAGMENT_PRECISION_HIGH -+ // should be declared highp since the multiplication can overflow in -+ // mediump, particularly if mediump is implemented as fp16 -+ highp vec2 FragCoord = gl_FragCoord.xy; -+#else -+ vec2 FragCoord = gl_FragCoord.xy; -+#endif -+ float d = fract(FragCoord.x * FragCoord.y * 0.0001); - - $MAIN$ - -diff --git a/data/shaders/loop.frag b/data/shaders/loop.frag -index 31ae23e..9a6afd2 100644 ---- a/data/shaders/loop.frag -+++ b/data/shaders/loop.frag -@@ -3,7 +3,14 @@ uniform int FragmentLoops; - - void main(void) - { -- float d = fract(gl_FragCoord.x * gl_FragCoord.y * 0.0001); -+#ifdef GL_FRAGMENT_PRECISION_HIGH -+ // should be declared highp since the multiplication can overflow in -+ // mediump, particularly if mediump is implemented as fp16 -+ highp vec2 FragCoord = gl_FragCoord.xy; -+#else -+ vec2 FragCoord = gl_FragCoord.xy; -+#endif -+ float d = fract(FragCoord.x * FragCoord.y * 0.0001); - - $MAIN$ - diff --git a/meta-openembedded/meta-oe/recipes-benchmark/glmark2/glmark2_git.bb b/meta-openembedded/meta-oe/recipes-benchmark/glmark2/glmark2_git.bb index a5872f435..f5e719a35 100644 --- a/meta-openembedded/meta-oe/recipes-benchmark/glmark2/glmark2_git.bb +++ b/meta-openembedded/meta-oe/recipes-benchmark/glmark2/glmark2_git.bb @@ -9,17 +9,16 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \ file://COPYING.SGI;beginline=5;md5=269cdab4af6748677acce51d9aa13552" DEPENDS = "libpng jpeg udev" -DEPENDS_append = " ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland-native', '', d)}" +DEPENDS_append = " ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland-native wayland-protocols', '', d)}" -PV = "20201114+${SRCPV}" +PV = "2021.02+${SRCPV}" SRC_URI = " \ git://github.com/glmark2/glmark2.git;protocol=https \ file://0001-fix-dispmanx-build.patch \ file://0002-run-dispmanx-fullscreen.patch \ - file://0003-fix-precision-handling-bugs.patch \ " -SRCREV = "784aca755a469b144acf3cae180b6e613b7b057a" +SRCREV = "4b2bbe803576d48f08367aa5441740f9319c21e7" S = "${WORKDIR}/git" diff --git a/meta-openembedded/meta-oe/recipes-benchmark/libhugetlbfs/libhugetlbfs_git.bb b/meta-openembedded/meta-oe/recipes-benchmark/libhugetlbfs/libhugetlbfs_git.bb index fa63316b0..aa9eb02b3 100644 --- a/meta-openembedded/meta-oe/recipes-benchmark/libhugetlbfs/libhugetlbfs_git.bb +++ b/meta-openembedded/meta-oe/recipes-benchmark/libhugetlbfs/libhugetlbfs_git.bb @@ -39,7 +39,7 @@ LIBARGS = "LIB32=${baselib} LIB64=${baselib}" LIBHUGETLBFS_ARCH = "${TARGET_ARCH}" LIBHUGETLBFS_ARCH_powerpc = "ppc" LIBHUGETLBFS_ARCH_powerpc64 = "ppc64" -LIBHUGETLBFS_ARCH_powerpc64le = "ppc64" +LIBHUGETLBFS_ARCH_powerpc64le = "ppc64le" EXTRA_OEMAKE = "'ARCH=${LIBHUGETLBFS_ARCH}' 'OPT=${CFLAGS}' 'CC=${CC}' ${LIBARGS} BUILDTYPE=NATIVEONLY V=2" PARALLEL_MAKE = "" CFLAGS += "-fexpensive-optimizations -frename-registers -fomit-frame-pointer -g0" diff --git a/meta-openembedded/meta-oe/recipes-benchmark/tinymembench/tinymembench_git.bb b/meta-openembedded/meta-oe/recipes-benchmark/tinymembench/tinymembench_git.bb index 2ce10f9c4..0607da834 100644 --- a/meta-openembedded/meta-oe/recipes-benchmark/tinymembench/tinymembench_git.bb +++ b/meta-openembedded/meta-oe/recipes-benchmark/tinymembench/tinymembench_git.bb @@ -6,7 +6,7 @@ HOMEPAGE = "https://github.com/ssvb/tinymembench/wiki" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://main.c;endline=22;md5=879b9bbb60851454885b5fa47eb6b345" -PV = "0.4.0+git${SRCPV}" +PV = "0.4.9+git${SRCPV}" SRCREV = "a2cf6d7e382e3aea1eb39173174d9fa28cad15f3" SRC_URI = "git://github.com/ssvb/tinymembench.git \ diff --git a/meta-openembedded/meta-oe/recipes-bsp/flashrom/flashrom/0001-Makefile-Check-for-last-line-only-from-preprocessed-.patch b/meta-openembedded/meta-oe/recipes-bsp/flashrom/flashrom/0001-Makefile-Check-for-last-line-only-from-preprocessed-.patch deleted file mode 100644 index 7a8be8374..000000000 --- a/meta-openembedded/meta-oe/recipes-bsp/flashrom/flashrom/0001-Makefile-Check-for-last-line-only-from-preprocessed-.patch +++ /dev/null @@ -1,57 +0,0 @@ -From 3c078497e506bd6acb406da5cde7ce20e8896353 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Thu, 23 Jul 2020 14:13:59 -0700 -Subject: [PATCH] Makefile: Check for last line only from preprocessed output - -This started to fail with glibc 2.32 since glibc added additional -attributes to functions in signal.h therefore existing regexp started to -fail as it is not able to handle these functions e.g. - -extern int siginterrupt (int __sig, int __interrupt) __attribute__ ((__nothrow__ , __leaf__)) - __attribute__ ((__deprecated__ ("Use sigaction with SA_RESTART instead"))); - -grep -v '^\#' | grep '"' | cut -f 2 -d'"' -bit outside of fd_set selected -Use sigaction with SA_RESTART instead -arm - -So changing it to -tail -1 | grep '"' | cut -f 2 -d'"' -arm - -Produces the expected result, this was hidden until now - -Upstream-Status: Submitted [https://review.coreboot.org/c/flashrom/+/43770] -Signed-off-by: Khem Raj -Change-Id: I123a046e142d54632f12d54e2aa09b0928c02b91 ---- - Makefile | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/Makefile b/Makefile -index 803529f..3795681 100644 ---- a/Makefile -+++ b/Makefile -@@ -106,7 +106,7 @@ endif - # IMPORTANT: The following line must be placed before TARGET_OS is ever used - # (of course), but should come after any lines setting CC because the line - # below uses CC itself. --override TARGET_OS := $(strip $(call debug_shell,$(CC) $(CPPFLAGS) -E os.h 2>/dev/null | grep -v '^\#' | grep '"' | cut -f 2 -d'"')) -+override TARGET_OS := $(strip $(call debug_shell,$(CC) $(CPPFLAGS) -E os.h 2>/dev/null | tail -1 | grep '"' | cut -f 2 -d'"')) - - ifeq ($(TARGET_OS), Darwin) - override CPPFLAGS += -I/opt/local/include -I/usr/local/include -@@ -460,8 +460,8 @@ endif - # IMPORTANT: The following line must be placed before ARCH is ever used - # (of course), but should come after any lines setting CC because the line - # below uses CC itself. --override ARCH := $(strip $(call debug_shell,$(CC) $(CPPFLAGS) -E archtest.c 2>/dev/null | grep -v '^\#' | grep '"' | cut -f 2 -d'"')) --override ENDIAN := $(strip $(call debug_shell,$(CC) $(CPPFLAGS) -E endiantest.c 2>/dev/null | grep -v '^\#')) -+override ARCH := $(strip $(call debug_shell,$(CC) $(CPPFLAGS) -E archtest.c 2>/dev/null | tail -1 | grep '"' | cut -f 2 -d'"')) -+override ENDIAN := $(strip $(call debug_shell,$(CC) $(CPPFLAGS) -E endiantest.c 2>/dev/null | tail -1)) - - # Disable the internal programmer on unsupported architectures (everything but x86 and mipsel) - ifneq ($(ARCH)-little, $(filter $(ARCH),x86 mips)-$(ENDIAN)) --- -2.27.0 - diff --git a/meta-openembedded/meta-oe/recipes-bsp/flashrom/flashrom/0001-flashrom-Mark-RISCV-as-non-memory-mapped-I-O-archite.patch b/meta-openembedded/meta-oe/recipes-bsp/flashrom/flashrom/0001-flashrom-Mark-RISCV-as-non-memory-mapped-I-O-archite.patch new file mode 100644 index 000000000..e481c5a16 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-bsp/flashrom/flashrom/0001-flashrom-Mark-RISCV-as-non-memory-mapped-I-O-archite.patch @@ -0,0 +1,44 @@ +From 2c777126765b4095bf481d5cfe4a21470374d940 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Tue, 30 Mar 2021 15:12:09 -0700 +Subject: [PATCH] flashrom: Mark RISCV as non memory-mapped I/O architecture + +Upstream-Status: Submitted [https://review.coreboot.org/c/flashrom/+/51960] +Signed-off-by: Khem Raj +Change-Id: I55c4e8529d36f0850dd56441c3fb8602c5d889fd +--- + Makefile | 2 +- + hwaccess.h | 4 ++++ + 2 files changed, 5 insertions(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 6d37d55..203e04b 100644 +--- a/Makefile ++++ b/Makefile +@@ -559,7 +559,7 @@ endif + # Disable all drivers needing raw access (memory, PCI, port I/O) on + # architectures with unknown raw access properties. + # Right now those architectures are alpha hppa m68k sh s390 +-ifneq ($(ARCH),$(filter $(ARCH),x86 mips ppc arm sparc arc)) ++ifneq ($(ARCH),$(filter $(ARCH),x86 mips ppc arm sparc arc riscv)) + ifeq ($(CONFIG_RAYER_SPI), yes) + UNSUPPORTED_FEATURES += CONFIG_RAYER_SPI=yes + else +diff --git a/hwaccess.h b/hwaccess.h +index 5602c15..e79988a 100644 +--- a/hwaccess.h ++++ b/hwaccess.h +@@ -295,6 +295,10 @@ int libpayload_wrmsr(int addr, msr_t msr); + + /* Non memory mapped I/O is not supported on ARC. */ + ++#elif IS_RISCV ++ ++/* Non memory mapped I/O is not supported on RISCV. */ ++ + #else + + #error Unknown architecture, please check if it supports PCI port IO. +-- +2.31.1 + diff --git a/meta-openembedded/meta-oe/recipes-bsp/flashrom/flashrom/0001-typecast-enum-conversions-explicitly.patch b/meta-openembedded/meta-oe/recipes-bsp/flashrom/flashrom/0001-typecast-enum-conversions-explicitly.patch index 7ac53650f..f2302dbcc 100644 --- a/meta-openembedded/meta-oe/recipes-bsp/flashrom/flashrom/0001-typecast-enum-conversions-explicitly.patch +++ b/meta-openembedded/meta-oe/recipes-bsp/flashrom/flashrom/0001-typecast-enum-conversions-explicitly.patch @@ -1,69 +1,45 @@ -From 8a236330f2af56bde21e9f69208ea3e59f529f0c Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Sun, 15 Mar 2020 17:02:30 -0700 -Subject: [PATCH] typecast enum conversions explicitly +Upstream-Status: Backport +Signed-off-by: Ross Burton -clang complains like below +From 3a0c1966e4c66f91e6e8551e906b6db38002acb4 Mon Sep 17 00:00:00 2001 +From: Angel Pons +Date: Wed, 27 May 2020 12:15:51 +0200 +Subject: [PATCH] libflashrom.c: Use casts on enum conversions -libflashrom.c:191:43: error: implicit conversion from enumeration type 'const enum test_state' to different enumeration type 'enum flashrom_test_state' [-Werror,-Wenum-conversion] - supported_boards[i].working = binfo[i].working; - ~ ~~~~~~~~~^~~~~~~ -libflashrom.c:229:46: error: implicit conversion from enumeration type 'const enum test_state' to different enumeration type 'enum flashrom_test_state' [-Werror,-Wenum-conversion] - supported_chipsets[i].status = chipset[i].status; - ~ ~~~~~~~~~~~^~~~~~ +This allows flashrom to build with GCC 10. -However these enums are exactly same so they can be typecasted - -libflashrom.h - -/** @ingroup flashrom-query */ -enum flashrom_test_state { - FLASHROM_TESTED_OK = 0, - FLASHROM_TESTED_NT = 1, - FLASHROM_TESTED_BAD = 2, - FLASHROM_TESTED_DEP = 3, - FLASHROM_TESTED_NA = 4, -}; - -flash.h - -enum test_state { - OK = 0, - NT = 1, /* Not tested */ - BAD, /* Known to not work */ - DEP, /* Support depends on configuration (e.g. Intel flash descriptor) */ - NA, /* Not applicable (e.g. write support on ROM chips) */ - }; - -Upstream-Status: Pending - -Signed-off-by: Khem Raj +Change-Id: I2166cdf3681452631ef8e980face2924e9a6c81a +Signed-off-by: Angel Pons +Reviewed-on: https://review.coreboot.org/c/flashrom/+/41775 +Tested-by: build bot (Jenkins) +Reviewed-by: HAOUAS Elyes --- - libflashrom.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) + libflashrom.c | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/libflashrom.c b/libflashrom.c -index 0dec22e..7956685 100644 +index ab7e364..c20d9c7 100644 --- a/libflashrom.c +++ b/libflashrom.c -@@ -188,7 +188,7 @@ struct flashrom_board_info *flashrom_supported_boards(void) +@@ -188,7 +188,8 @@ struct flashrom_board_info *flashrom_supported_boards(void) for (; i < boards_known_size; ++i) { supported_boards[i].vendor = binfo[i].vendor; supported_boards[i].name = binfo[i].name; - supported_boards[i].working = binfo[i].working; -+ supported_boards[i].working = (enum flashrom_test_state)binfo[i].working; ++ supported_boards[i].working = ++ (enum flashrom_test_state) binfo[i].working; } } else { msg_gerr("Memory allocation error!\n"); -@@ -226,7 +226,7 @@ struct flashrom_chipset_info *flashrom_supported_chipsets(void) +@@ -226,7 +227,8 @@ struct flashrom_chipset_info *flashrom_supported_chipsets(void) supported_chipsets[i].chipset = chipset[i].device_name; supported_chipsets[i].vendor_id = chipset[i].vendor_id; supported_chipsets[i].chipset_id = chipset[i].device_id; - supported_chipsets[i].status = chipset[i].status; -+ supported_chipsets[i].status = (enum flashrom_test_state)chipset[i].status; ++ supported_chipsets[i].status = ++ (enum flashrom_test_state) chipset[i].status; } } else { msg_gerr("Memory allocation error!\n"); -- 2.25.1 - diff --git a/meta-openembedded/meta-oe/recipes-bsp/flashrom/flashrom/meson-fixes.patch b/meta-openembedded/meta-oe/recipes-bsp/flashrom/flashrom/meson-fixes.patch new file mode 100644 index 000000000..e45236ee0 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-bsp/flashrom/flashrom/meson-fixes.patch @@ -0,0 +1,68 @@ +Add a ftdi option alongside USB and PCI to control the external dependency, and +ensure that the build is successful in all combinations of options. + +Upstream-Status: Pending +Signed-off-by: Ross Burton + +diff --git a/meson.build b/meson.build +index 375089c..0df9d69 100644 +--- a/meson.build ++++ b/meson.build +@@ -91,6 +91,8 @@ else + config_digilent_spi = false + config_developerbox_spi = false + config_pickit2_spi = false ++ config_stlinkv3_spi = false ++ config_usbblaster_spi = false + endif + + # some programmers require libpci +@@ -118,6 +120,21 @@ else + config_satasii = false + endif + ++# some programmers require libftdi ++if get_option('ftdi') ++ deps += dependency('libftdi1') ++else ++ config_ft2232_spi = false ++ config_usbblaster_spi = false ++endif ++ ++if not (target_machine.cpu_family() == 'x86' or target_machine.cpu_family() == 'x86_64') ++ config_satamv = false ++ config_nic3com = false ++ config_rayer_spi = false ++ config_nicrealtek = false ++endif ++ + # set defines for configured programmers + if config_atahpt + srcs += 'atahpt.c' +@@ -163,7 +180,6 @@ endif + if config_ft2232_spi + srcs += 'ft2232_spi.c' + cargs += '-DCONFIG_FT2232_SPI=1' +- deps += dependency('libftdi1') + cargs += '-DHAVE_FT232H=1' + endif + if config_gfxnvidia +@@ -216,6 +232,7 @@ endif + if config_nicintel + srcs += 'nicintel.c' + cargs += '-DCONFIG_NICINTEL=1' ++ need_raw_access = true + endif + if config_nicintel_eeprom + srcs += 'nicintel_eeprom.c' +diff --git a/meson_options.txt b/meson_options.txt +index ea87311..b6b842d 100644 +--- a/meson_options.txt ++++ b/meson_options.txt +@@ -1,5 +1,6 @@ + option('pciutils', type : 'boolean', value : true, description : 'use pciutils') + option('usb', type : 'boolean', value : true, description : 'use libusb1') ++option('ftdi', type : 'boolean', value : true, description : 'use libftdi') + + option('config_atahpt', type : 'boolean', value : false, description : 'Highpoint (HPT) ATA/RAID controllers') + option('config_atapromise', type : 'boolean', value : false, description : 'Promise ATA controller') diff --git a/meta-openembedded/meta-oe/recipes-bsp/flashrom/flashrom_1.2.bb b/meta-openembedded/meta-oe/recipes-bsp/flashrom/flashrom_1.2.bb index 66ae34af9..145a3cad0 100644 --- a/meta-openembedded/meta-oe/recipes-bsp/flashrom/flashrom_1.2.bb +++ b/meta-openembedded/meta-oe/recipes-bsp/flashrom/flashrom_1.2.bb @@ -1,21 +1,21 @@ DESCRIPTION = "flashrom is a utility for identifying, reading, writing, verifying and erasing flash chips" -LICENSE = "GPLv2" +LICENSE = "GPLv2+" HOMEPAGE = "http://flashrom.org" LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" -DEPENDS = "pciutils libusb libusb-compat" - SRC_URI = "https://download.flashrom.org/releases/flashrom-v${PV}.tar.bz2 \ file://0001-typecast-enum-conversions-explicitly.patch \ - file://0001-Makefile-Check-for-last-line-only-from-preprocessed-.patch \ + file://meson-fixes.patch \ + file://0001-flashrom-Mark-RISCV-as-non-memory-mapped-I-O-archite.patch \ " SRC_URI[md5sum] = "7f8e4b87087eb12ecee0fcc5445b4956" SRC_URI[sha256sum] = "e1f8d95881f5a4365dfe58776ce821dfcee0f138f75d0f44f8a3cd032d9ea42b" S = "${WORKDIR}/flashrom-v${PV}" -inherit pkgconfig +inherit meson pkgconfig -do_install() { - oe_runmake PREFIX=${prefix} DESTDIR=${D} install -} +PACKAGECONFIG ??= "pci usb ftdi" +PACKAGECONFIG[pci] = "-Dpciutils=true,-Dpciutils=false,pciutils" +PACKAGECONFIG[usb] = "-Dusb=true,-Dusb=false,libusb" +PACKAGECONFIG[ftdi] = "-Dftdi=true,-Dftdi=false,libftdi" diff --git a/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/CVE-2019-5061.patch b/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/CVE-2019-5061.patch new file mode 100644 index 000000000..9214615d1 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/CVE-2019-5061.patch @@ -0,0 +1,854 @@ +From 018edec9b2bd3db20605117c32ff79c1e625c432 Mon Sep 17 00:00:00 2001 +From: Jouni Malinen +Date: Wed, 11 Sep 2019 12:34:28 +0300 +Subject: [PATCH] Remove IAPP functionality from hostapd + +IEEE Std 802.11F-2003 was withdrawn in 2006 and as such it has not been +maintained nor is there any expectation of the withdrawn trial-use +recommended practice to be maintained in the future. Furthermore, +implementation of IAPP in hostapd was not complete, i.e., only parts of +the recommended practice were included. The main item of some real use +long time ago was the Layer 2 Update frame to update bridges when a STA +roams within an ESS, but that functionality has, in practice, been moved +to kernel drivers to provide better integration with the networking +stack. + +CVE: CVE-2019-5061 + +Upstream-Status: Backport + +Signed-off-by: Jouni Malinen +Signed-off-by: Mingli Yu +--- + hostapd/Android.mk | 5 - + hostapd/Makefile | 5 - + hostapd/android.config | 3 - + hostapd/config_file.c | 3 +- + hostapd/defconfig | 3 - + hostapd/hostapd.conf | 6 - + hostapd/main.c | 3 - + src/ap/Makefile | 2 - + src/ap/ap_config.h | 4 - + src/ap/hostapd.c | 14 - + src/ap/hostapd.h | 2 - + src/ap/iapp.c | 542 ---------------------- + src/ap/iapp.h | 39 -- + src/utils/wpa_debug.h | 1 - + 14 files changed, 1 insertion(+), 633 deletions(-) + delete mode 100644 src/ap/iapp.c + delete mode 100644 src/ap/iapp.h + +diff --git a/hostapd/Android.mk b/hostapd/Android.mk +index 3183323ef..a87ac8144 100644 +--- a/hostapd/Android.mk ++++ b/hostapd/Android.mk +@@ -205,11 +205,6 @@ endif + + L_CFLAGS += -DCONFIG_CTRL_IFACE -DCONFIG_CTRL_IFACE_UNIX + +-ifdef CONFIG_IAPP +-L_CFLAGS += -DCONFIG_IAPP +-OBJS += src/ap/iapp.c +-endif +- + ifdef CONFIG_RSN_PREAUTH + L_CFLAGS += -DCONFIG_RSN_PREAUTH + CONFIG_L2_PACKET=y +diff --git a/hostapd/Makefile b/hostapd/Makefile +index f7f4c785b..42bb9e4c8 100644 +--- a/hostapd/Makefile ++++ b/hostapd/Makefile +@@ -248,11 +248,6 @@ ifndef CONFIG_NO_CTRL_IFACE + CFLAGS += -DCONFIG_CTRL_IFACE + endif + +-ifdef CONFIG_IAPP +-CFLAGS += -DCONFIG_IAPP +-OBJS += ../src/ap/iapp.o +-endif +- + ifdef CONFIG_RSN_PREAUTH + CFLAGS += -DCONFIG_RSN_PREAUTH + CONFIG_L2_PACKET=y +diff --git a/hostapd/android.config b/hostapd/android.config +index efe252332..e2e6c7821 100644 +--- a/hostapd/android.config ++++ b/hostapd/android.config +@@ -38,9 +38,6 @@ CONFIG_DRIVER_NL80211_QCA=y + # Driver interface for no driver (e.g., RADIUS server only) + #CONFIG_DRIVER_NONE=y + +-# IEEE 802.11F/IAPP +-#CONFIG_IAPP=y +- + # WPA2/IEEE 802.11i RSN pre-authentication + #CONFIG_RSN_PREAUTH=y + +diff --git a/hostapd/config_file.c b/hostapd/config_file.c +index 680f17ee0..0d340d252 100644 +--- a/hostapd/config_file.c ++++ b/hostapd/config_file.c +@@ -2712,8 +2712,7 @@ static int hostapd_config_fill(struct hostapd_config *conf, + bss->eapol_key_index_workaround = atoi(pos); + #ifdef CONFIG_IAPP + } else if (os_strcmp(buf, "iapp_interface") == 0) { +- bss->ieee802_11f = 1; +- os_strlcpy(bss->iapp_iface, pos, sizeof(bss->iapp_iface)); ++ wpa_printf(MSG_INFO, "DEPRECATED: iapp_interface not used"); + #endif /* CONFIG_IAPP */ + } else if (os_strcmp(buf, "own_ip_addr") == 0) { + if (hostapd_parse_ip_addr(pos, &bss->own_ip_addr)) { +diff --git a/hostapd/defconfig b/hostapd/defconfig +index b1fb56c3b..1a3d9f9ba 100644 +--- a/hostapd/defconfig ++++ b/hostapd/defconfig +@@ -44,9 +44,6 @@ CONFIG_LIBNL32=y + # Driver interface for no driver (e.g., RADIUS server only) + #CONFIG_DRIVER_NONE=y + +-# IEEE 802.11F/IAPP +-CONFIG_IAPP=y +- + # WPA2/IEEE 802.11i RSN pre-authentication + CONFIG_RSN_PREAUTH=y + +diff --git a/hostapd/hostapd.conf b/hostapd/hostapd.conf +index 6c96a760a..a3c698480 100644 +--- a/hostapd/hostapd.conf ++++ b/hostapd/hostapd.conf +@@ -41,7 +41,6 @@ interface=wlan0 + # bit 2 (4) = RADIUS + # bit 3 (8) = WPA + # bit 4 (16) = driver interface +-# bit 5 (32) = IAPP + # bit 6 (64) = MLME + # + # Levels (minimum value for logged events): +@@ -1243,11 +1242,6 @@ eap_server=0 + # Whether to enable ERP on the EAP server. + #eap_server_erp=1 + +-##### IEEE 802.11f - Inter-Access Point Protocol (IAPP) ####################### +- +-# Interface to be used for IAPP broadcast packets +-#iapp_interface=eth0 +- + + ##### RADIUS client configuration ############################################# + # for IEEE 802.1X with external Authentication Server, IEEE 802.11 +diff --git a/hostapd/main.c b/hostapd/main.c +index 08896ffe2..8bfe24281 100644 +--- a/hostapd/main.c ++++ b/hostapd/main.c +@@ -81,9 +81,6 @@ static void hostapd_logger_cb(void *ctx, const u8 *addr, unsigned int module, + case HOSTAPD_MODULE_DRIVER: + module_str = "DRIVER"; + break; +- case HOSTAPD_MODULE_IAPP: +- module_str = "IAPP"; +- break; + case HOSTAPD_MODULE_MLME: + module_str = "MLME"; + break; +diff --git a/src/ap/Makefile b/src/ap/Makefile +index bd3f33b77..54e48a0dd 100644 +--- a/src/ap/Makefile ++++ b/src/ap/Makefile +@@ -18,7 +18,6 @@ CFLAGS += -DCONFIG_IEEE80211R_AP + CFLAGS += -DCONFIG_WPS + CFLAGS += -DCONFIG_PROXYARP + CFLAGS += -DCONFIG_IPV6 +-CFLAGS += -DCONFIG_IAPP + CFLAGS += -DCONFIG_AIRTIME_POLICY + + LIB_OBJS= \ +@@ -41,7 +40,6 @@ LIB_OBJS= \ + hostapd.o \ + hs20.o \ + hw_features.o \ +- iapp.o \ + ieee802_11_auth.o \ + ieee802_11.o \ + ieee802_11_ht.o \ +diff --git a/src/ap/ap_config.h b/src/ap/ap_config.h +index e219160b0..17eb0682b 100644 +--- a/src/ap/ap_config.h ++++ b/src/ap/ap_config.h +@@ -325,10 +325,6 @@ struct hostapd_bss_config { + int erp_send_reauth_start; + char *erp_domain; + +- int ieee802_11f; /* use IEEE 802.11f (IAPP) */ +- char iapp_iface[IFNAMSIZ + 1]; /* interface used with IAPP broadcast +- * frames */ +- + enum macaddr_acl { + ACCEPT_UNLESS_DENIED = 0, + DENY_UNLESS_ACCEPTED = 1, +diff --git a/src/ap/hostapd.c b/src/ap/hostapd.c +index ef988b634..bf7b1f89e 100644 +--- a/src/ap/hostapd.c ++++ b/src/ap/hostapd.c +@@ -28,7 +28,6 @@ + #include "accounting.h" + #include "ap_list.h" + #include "beacon.h" +-#include "iapp.h" + #include "ieee802_1x.h" + #include "ieee802_11_auth.h" + #include "vlan_init.h" +@@ -361,8 +360,6 @@ static void hostapd_free_hapd_data(struct hostapd_data *hapd) + hapd->beacon_set_done = 0; + + wpa_printf(MSG_DEBUG, "%s(%s)", __func__, hapd->conf->iface); +- iapp_deinit(hapd->iapp); +- hapd->iapp = NULL; + accounting_deinit(hapd); + hostapd_deinit_wpa(hapd); + vlan_deinit(hapd); +@@ -1296,13 +1293,6 @@ static int hostapd_setup_bss(struct hostapd_data *hapd, int first) + return -1; + } + +- if (conf->ieee802_11f && +- (hapd->iapp = iapp_init(hapd, conf->iapp_iface)) == NULL) { +- wpa_printf(MSG_ERROR, "IEEE 802.11F (IAPP) initialization " +- "failed."); +- return -1; +- } +- + #ifdef CONFIG_INTERWORKING + if (gas_serv_init(hapd)) { + wpa_printf(MSG_ERROR, "GAS server initialization failed"); +@@ -3056,10 +3046,6 @@ void hostapd_new_assoc_sta(struct hostapd_data *hapd, struct sta_info *sta, + hostapd_prune_associations(hapd, sta->addr); + ap_sta_clear_disconnect_timeouts(hapd, sta); + +- /* IEEE 802.11F (IAPP) */ +- if (hapd->conf->ieee802_11f) +- iapp_new_station(hapd->iapp, sta); +- + #ifdef CONFIG_P2P + if (sta->p2p_ie == NULL && !sta->no_p2p_set) { + sta->no_p2p_set = 1; +diff --git a/src/ap/hostapd.h b/src/ap/hostapd.h +index 5b859b8a9..2358d1664 100644 +--- a/src/ap/hostapd.h ++++ b/src/ap/hostapd.h +@@ -179,8 +179,6 @@ struct hostapd_data { + u64 acct_session_id; + struct radius_das_data *radius_das; + +- struct iapp_data *iapp; +- + struct hostapd_cached_radius_acl *acl_cache; + struct hostapd_acl_query_data *acl_queries; + +diff --git a/src/ap/iapp.c b/src/ap/iapp.c +deleted file mode 100644 +index 2556da30c..000000000 +--- a/src/ap/iapp.c ++++ /dev/null +@@ -1,542 +0,0 @@ +-/* +- * hostapd / IEEE 802.11F-2003 Inter-Access Point Protocol (IAPP) +- * Copyright (c) 2002-2007, Jouni Malinen +- * +- * This software may be distributed under the terms of the BSD license. +- * See README for more details. +- * +- * Note: IEEE 802.11F-2003 was a experimental use specification. It has expired +- * and IEEE has withdrawn it. In other words, it is likely better to look at +- * using some other mechanism for AP-to-AP communication than extending the +- * implementation here. +- */ +- +-/* TODO: +- * Level 1: no administrative or security support +- * (e.g., static BSSID to IP address mapping in each AP) +- * Level 2: support for dynamic mapping of BSSID to IP address +- * Level 3: support for encryption and authentication of IAPP messages +- * - add support for MOVE-notify and MOVE-response (this requires support for +- * finding out IP address for previous AP using RADIUS) +- * - add support for Send- and ACK-Security-Block to speedup IEEE 802.1X during +- * reassociation to another AP +- * - implement counters etc. for IAPP MIB +- * - verify endianness of fields in IAPP messages; are they big-endian as +- * used here? +- * - RADIUS connection for AP registration and BSSID to IP address mapping +- * - TCP connection for IAPP MOVE, CACHE +- * - broadcast ESP for IAPP ADD-notify +- * - ESP for IAPP MOVE messages +- * - security block sending/processing +- * - IEEE 802.11 context transfer +- */ +- +-#include "utils/includes.h" +-#include +-#include +-#include +- +-#include "utils/common.h" +-#include "utils/eloop.h" +-#include "common/ieee802_11_defs.h" +-#include "hostapd.h" +-#include "ap_config.h" +-#include "ieee802_11.h" +-#include "sta_info.h" +-#include "iapp.h" +- +- +-#define IAPP_MULTICAST "224.0.1.178" +-#define IAPP_UDP_PORT 3517 +-#define IAPP_TCP_PORT 3517 +- +-struct iapp_hdr { +- u8 version; +- u8 command; +- be16 identifier; +- be16 length; +- /* followed by length-6 octets of data */ +-} __attribute__ ((packed)); +- +-#define IAPP_VERSION 0 +- +-enum IAPP_COMMAND { +- IAPP_CMD_ADD_notify = 0, +- IAPP_CMD_MOVE_notify = 1, +- IAPP_CMD_MOVE_response = 2, +- IAPP_CMD_Send_Security_Block = 3, +- IAPP_CMD_ACK_Security_Block = 4, +- IAPP_CMD_CACHE_notify = 5, +- IAPP_CMD_CACHE_response = 6, +-}; +- +- +-/* ADD-notify - multicast UDP on the local LAN */ +-struct iapp_add_notify { +- u8 addr_len; /* ETH_ALEN */ +- u8 reserved; +- u8 mac_addr[ETH_ALEN]; +- be16 seq_num; +-} __attribute__ ((packed)); +- +- +-/* Layer 2 Update frame (802.2 Type 1 LLC XID Update response) */ +-struct iapp_layer2_update { +- u8 da[ETH_ALEN]; /* broadcast */ +- u8 sa[ETH_ALEN]; /* STA addr */ +- be16 len; /* 6 */ +- u8 dsap; /* null DSAP address */ +- u8 ssap; /* null SSAP address, CR=Response */ +- u8 control; +- u8 xid_info[3]; +-} __attribute__ ((packed)); +- +- +-/* MOVE-notify - unicast TCP */ +-struct iapp_move_notify { +- u8 addr_len; /* ETH_ALEN */ +- u8 reserved; +- u8 mac_addr[ETH_ALEN]; +- u16 seq_num; +- u16 ctx_block_len; +- /* followed by ctx_block_len bytes */ +-} __attribute__ ((packed)); +- +- +-/* MOVE-response - unicast TCP */ +-struct iapp_move_response { +- u8 addr_len; /* ETH_ALEN */ +- u8 status; +- u8 mac_addr[ETH_ALEN]; +- u16 seq_num; +- u16 ctx_block_len; +- /* followed by ctx_block_len bytes */ +-} __attribute__ ((packed)); +- +-enum { +- IAPP_MOVE_SUCCESSFUL = 0, +- IAPP_MOVE_DENIED = 1, +- IAPP_MOVE_STALE_MOVE = 2, +-}; +- +- +-/* CACHE-notify */ +-struct iapp_cache_notify { +- u8 addr_len; /* ETH_ALEN */ +- u8 reserved; +- u8 mac_addr[ETH_ALEN]; +- u16 seq_num; +- u8 current_ap[ETH_ALEN]; +- u16 ctx_block_len; +- /* ctx_block_len bytes of context block followed by 16-bit context +- * timeout */ +-} __attribute__ ((packed)); +- +- +-/* CACHE-response - unicast TCP */ +-struct iapp_cache_response { +- u8 addr_len; /* ETH_ALEN */ +- u8 status; +- u8 mac_addr[ETH_ALEN]; +- u16 seq_num; +-} __attribute__ ((packed)); +- +-enum { +- IAPP_CACHE_SUCCESSFUL = 0, +- IAPP_CACHE_STALE_CACHE = 1, +-}; +- +- +-/* Send-Security-Block - unicast TCP */ +-struct iapp_send_security_block { +- u8 iv[8]; +- u16 sec_block_len; +- /* followed by sec_block_len bytes of security block */ +-} __attribute__ ((packed)); +- +- +-/* ACK-Security-Block - unicast TCP */ +-struct iapp_ack_security_block { +- u8 iv[8]; +- u8 new_ap_ack_authenticator[48]; +-} __attribute__ ((packed)); +- +- +-struct iapp_data { +- struct hostapd_data *hapd; +- u16 identifier; /* next IAPP identifier */ +- struct in_addr own, multicast; +- int udp_sock; +- int packet_sock; +-}; +- +- +-static void iapp_send_add(struct iapp_data *iapp, u8 *mac_addr, u16 seq_num) +-{ +- char buf[128]; +- struct iapp_hdr *hdr; +- struct iapp_add_notify *add; +- struct sockaddr_in addr; +- +- /* Send IAPP ADD-notify to remove possible association from other APs +- */ +- +- hdr = (struct iapp_hdr *) buf; +- hdr->version = IAPP_VERSION; +- hdr->command = IAPP_CMD_ADD_notify; +- hdr->identifier = host_to_be16(iapp->identifier++); +- hdr->length = host_to_be16(sizeof(*hdr) + sizeof(*add)); +- +- add = (struct iapp_add_notify *) (hdr + 1); +- add->addr_len = ETH_ALEN; +- add->reserved = 0; +- os_memcpy(add->mac_addr, mac_addr, ETH_ALEN); +- +- add->seq_num = host_to_be16(seq_num); +- +- os_memset(&addr, 0, sizeof(addr)); +- addr.sin_family = AF_INET; +- addr.sin_addr.s_addr = iapp->multicast.s_addr; +- addr.sin_port = htons(IAPP_UDP_PORT); +- if (sendto(iapp->udp_sock, buf, (char *) (add + 1) - buf, 0, +- (struct sockaddr *) &addr, sizeof(addr)) < 0) +- wpa_printf(MSG_INFO, "sendto[IAPP-ADD]: %s", strerror(errno)); +-} +- +- +-static void iapp_send_layer2_update(struct iapp_data *iapp, u8 *addr) +-{ +- struct iapp_layer2_update msg; +- +- /* Send Level 2 Update Frame to update forwarding tables in layer 2 +- * bridge devices */ +- +- /* 802.2 Type 1 Logical Link Control (LLC) Exchange Identifier (XID) +- * Update response frame; IEEE Std 802.2-1998, 5.4.1.2.1 */ +- +- os_memset(msg.da, 0xff, ETH_ALEN); +- os_memcpy(msg.sa, addr, ETH_ALEN); +- msg.len = host_to_be16(6); +- msg.dsap = 0; /* NULL DSAP address */ +- msg.ssap = 0x01; /* NULL SSAP address, CR Bit: Response */ +- msg.control = 0xaf; /* XID response lsb.1111F101. +- * F=0 (no poll command; unsolicited frame) */ +- msg.xid_info[0] = 0x81; /* XID format identifier */ +- msg.xid_info[1] = 1; /* LLC types/classes: Type 1 LLC */ +- msg.xid_info[2] = 1 << 1; /* XID sender's receive window size (RW) +- * FIX: what is correct RW with 802.11? */ +- +- if (send(iapp->packet_sock, &msg, sizeof(msg), 0) < 0) +- wpa_printf(MSG_INFO, "send[L2 Update]: %s", strerror(errno)); +-} +- +- +-/** +- * iapp_new_station - IAPP processing for a new STA +- * @iapp: IAPP data +- * @sta: The associated station +- */ +-void iapp_new_station(struct iapp_data *iapp, struct sta_info *sta) +-{ +- u16 seq = 0; /* TODO */ +- +- if (iapp == NULL) +- return; +- +- /* IAPP-ADD.request(MAC Address, Sequence Number, Timeout) */ +- hostapd_logger(iapp->hapd, sta->addr, HOSTAPD_MODULE_IAPP, +- HOSTAPD_LEVEL_DEBUG, "IAPP-ADD.request(seq=%d)", seq); +- iapp_send_layer2_update(iapp, sta->addr); +- iapp_send_add(iapp, sta->addr, seq); +- +- /* TODO: If this was reassociation: +- * IAPP-MOVE.request(MAC Address, Sequence Number, Old AP, +- * Context Block, Timeout) +- * TODO: Send IAPP-MOVE to the old AP; Map Old AP BSSID to +- * IP address */ +-} +- +- +-static void iapp_process_add_notify(struct iapp_data *iapp, +- struct sockaddr_in *from, +- struct iapp_hdr *hdr, int len) +-{ +- struct iapp_add_notify *add = (struct iapp_add_notify *) (hdr + 1); +- struct sta_info *sta; +- +- if (len != sizeof(*add)) { +- wpa_printf(MSG_INFO, "Invalid IAPP-ADD packet length %d (expected %lu)", +- len, (unsigned long) sizeof(*add)); +- return; +- } +- +- sta = ap_get_sta(iapp->hapd, add->mac_addr); +- +- /* IAPP-ADD.indication(MAC Address, Sequence Number) */ +- hostapd_logger(iapp->hapd, add->mac_addr, HOSTAPD_MODULE_IAPP, +- HOSTAPD_LEVEL_INFO, +- "Received IAPP ADD-notify (seq# %d) from %s:%d%s", +- be_to_host16(add->seq_num), +- inet_ntoa(from->sin_addr), ntohs(from->sin_port), +- sta ? "" : " (STA not found)"); +- +- if (!sta) +- return; +- +- /* TODO: could use seq_num to try to determine whether last association +- * to this AP is newer than the one advertised in IAPP-ADD. Although, +- * this is not really a reliable verification. */ +- +- hostapd_logger(iapp->hapd, add->mac_addr, HOSTAPD_MODULE_IAPP, +- HOSTAPD_LEVEL_DEBUG, +- "Removing STA due to IAPP ADD-notify"); +- ap_sta_disconnect(iapp->hapd, sta, NULL, 0); +-} +- +- +-/** +- * iapp_receive_udp - Process IAPP UDP frames +- * @sock: File descriptor for the socket +- * @eloop_ctx: IAPP data (struct iapp_data *) +- * @sock_ctx: Not used +- */ +-static void iapp_receive_udp(int sock, void *eloop_ctx, void *sock_ctx) +-{ +- struct iapp_data *iapp = eloop_ctx; +- int len, hlen; +- unsigned char buf[128]; +- struct sockaddr_in from; +- socklen_t fromlen; +- struct iapp_hdr *hdr; +- +- /* Handle incoming IAPP frames (over UDP/IP) */ +- +- fromlen = sizeof(from); +- len = recvfrom(iapp->udp_sock, buf, sizeof(buf), 0, +- (struct sockaddr *) &from, &fromlen); +- if (len < 0) { +- wpa_printf(MSG_INFO, "iapp_receive_udp - recvfrom: %s", +- strerror(errno)); +- return; +- } +- +- if (from.sin_addr.s_addr == iapp->own.s_addr) +- return; /* ignore own IAPP messages */ +- +- hostapd_logger(iapp->hapd, NULL, HOSTAPD_MODULE_IAPP, +- HOSTAPD_LEVEL_DEBUG, +- "Received %d byte IAPP frame from %s%s\n", +- len, inet_ntoa(from.sin_addr), +- len < (int) sizeof(*hdr) ? " (too short)" : ""); +- +- if (len < (int) sizeof(*hdr)) +- return; +- +- hdr = (struct iapp_hdr *) buf; +- hlen = be_to_host16(hdr->length); +- hostapd_logger(iapp->hapd, NULL, HOSTAPD_MODULE_IAPP, +- HOSTAPD_LEVEL_DEBUG, +- "RX: version=%d command=%d id=%d len=%d\n", +- hdr->version, hdr->command, +- be_to_host16(hdr->identifier), hlen); +- if (hdr->version != IAPP_VERSION) { +- wpa_printf(MSG_INFO, "Dropping IAPP frame with unknown version %d", +- hdr->version); +- return; +- } +- if (hlen > len) { +- wpa_printf(MSG_INFO, "Underflow IAPP frame (hlen=%d len=%d)", +- hlen, len); +- return; +- } +- if (hlen < len) { +- wpa_printf(MSG_INFO, "Ignoring %d extra bytes from IAPP frame", +- len - hlen); +- len = hlen; +- } +- +- switch (hdr->command) { +- case IAPP_CMD_ADD_notify: +- iapp_process_add_notify(iapp, &from, hdr, len - sizeof(*hdr)); +- break; +- case IAPP_CMD_MOVE_notify: +- /* TODO: MOVE is using TCP; so move this to TCP handler once it +- * is implemented.. */ +- /* IAPP-MOVE.indication(MAC Address, New BSSID, +- * Sequence Number, AP Address, Context Block) */ +- /* TODO: process */ +- break; +- default: +- wpa_printf(MSG_INFO, "Unknown IAPP command %d", hdr->command); +- break; +- } +-} +- +- +-struct iapp_data * iapp_init(struct hostapd_data *hapd, const char *iface) +-{ +- struct ifreq ifr; +- struct sockaddr_ll addr; +- int ifindex; +- struct sockaddr_in *paddr, uaddr; +- struct iapp_data *iapp; +- struct ip_mreqn mreq; +- int reuseaddr = 1; +- +- iapp = os_zalloc(sizeof(*iapp)); +- if (iapp == NULL) +- return NULL; +- iapp->hapd = hapd; +- iapp->udp_sock = iapp->packet_sock = -1; +- +- /* TODO: +- * open socket for sending and receiving IAPP frames over TCP +- */ +- +- iapp->udp_sock = socket(PF_INET, SOCK_DGRAM, 0); +- if (iapp->udp_sock < 0) { +- wpa_printf(MSG_INFO, "iapp_init - socket[PF_INET,SOCK_DGRAM]: %s", +- strerror(errno)); +- iapp_deinit(iapp); +- return NULL; +- } +- +- os_memset(&ifr, 0, sizeof(ifr)); +- os_strlcpy(ifr.ifr_name, iface, sizeof(ifr.ifr_name)); +- if (ioctl(iapp->udp_sock, SIOCGIFINDEX, &ifr) != 0) { +- wpa_printf(MSG_INFO, "iapp_init - ioctl(SIOCGIFINDEX): %s", +- strerror(errno)); +- iapp_deinit(iapp); +- return NULL; +- } +- ifindex = ifr.ifr_ifindex; +- +- if (ioctl(iapp->udp_sock, SIOCGIFADDR, &ifr) != 0) { +- wpa_printf(MSG_INFO, "iapp_init - ioctl(SIOCGIFADDR): %s", +- strerror(errno)); +- iapp_deinit(iapp); +- return NULL; +- } +- paddr = (struct sockaddr_in *) &ifr.ifr_addr; +- if (paddr->sin_family != AF_INET) { +- wpa_printf(MSG_INFO, "IAPP: Invalid address family %i (SIOCGIFADDR)", +- paddr->sin_family); +- iapp_deinit(iapp); +- return NULL; +- } +- iapp->own.s_addr = paddr->sin_addr.s_addr; +- +- if (ioctl(iapp->udp_sock, SIOCGIFBRDADDR, &ifr) != 0) { +- wpa_printf(MSG_INFO, "iapp_init - ioctl(SIOCGIFBRDADDR): %s", +- strerror(errno)); +- iapp_deinit(iapp); +- return NULL; +- } +- paddr = (struct sockaddr_in *) &ifr.ifr_addr; +- if (paddr->sin_family != AF_INET) { +- wpa_printf(MSG_INFO, "Invalid address family %i (SIOCGIFBRDADDR)", +- paddr->sin_family); +- iapp_deinit(iapp); +- return NULL; +- } +- inet_aton(IAPP_MULTICAST, &iapp->multicast); +- +- os_memset(&uaddr, 0, sizeof(uaddr)); +- uaddr.sin_family = AF_INET; +- uaddr.sin_port = htons(IAPP_UDP_PORT); +- +- if (setsockopt(iapp->udp_sock, SOL_SOCKET, SO_REUSEADDR, &reuseaddr, +- sizeof(reuseaddr)) < 0) { +- wpa_printf(MSG_INFO, +- "iapp_init - setsockopt[UDP,SO_REUSEADDR]: %s", +- strerror(errno)); +- /* +- * Ignore this and try to continue. This is fine for single +- * BSS cases, but may fail if multiple BSSes enable IAPP. +- */ +- } +- +- if (bind(iapp->udp_sock, (struct sockaddr *) &uaddr, +- sizeof(uaddr)) < 0) { +- wpa_printf(MSG_INFO, "iapp_init - bind[UDP]: %s", +- strerror(errno)); +- iapp_deinit(iapp); +- return NULL; +- } +- +- os_memset(&mreq, 0, sizeof(mreq)); +- mreq.imr_multiaddr = iapp->multicast; +- mreq.imr_address.s_addr = INADDR_ANY; +- mreq.imr_ifindex = 0; +- if (setsockopt(iapp->udp_sock, SOL_IP, IP_ADD_MEMBERSHIP, &mreq, +- sizeof(mreq)) < 0) { +- wpa_printf(MSG_INFO, "iapp_init - setsockopt[UDP,IP_ADD_MEMBERSHIP]: %s", +- strerror(errno)); +- iapp_deinit(iapp); +- return NULL; +- } +- +- iapp->packet_sock = socket(PF_PACKET, SOCK_RAW, htons(ETH_P_ALL)); +- if (iapp->packet_sock < 0) { +- wpa_printf(MSG_INFO, "iapp_init - socket[PF_PACKET,SOCK_RAW]: %s", +- strerror(errno)); +- iapp_deinit(iapp); +- return NULL; +- } +- +- os_memset(&addr, 0, sizeof(addr)); +- addr.sll_family = AF_PACKET; +- addr.sll_ifindex = ifindex; +- if (bind(iapp->packet_sock, (struct sockaddr *) &addr, +- sizeof(addr)) < 0) { +- wpa_printf(MSG_INFO, "iapp_init - bind[PACKET]: %s", +- strerror(errno)); +- iapp_deinit(iapp); +- return NULL; +- } +- +- if (eloop_register_read_sock(iapp->udp_sock, iapp_receive_udp, +- iapp, NULL)) { +- wpa_printf(MSG_INFO, "Could not register read socket for IAPP"); +- iapp_deinit(iapp); +- return NULL; +- } +- +- wpa_printf(MSG_INFO, "IEEE 802.11F (IAPP) using interface %s", iface); +- +- /* TODO: For levels 2 and 3: send RADIUS Initiate-Request, receive +- * RADIUS Initiate-Accept or Initiate-Reject. IAPP port should actually +- * be openned only after receiving Initiate-Accept. If Initiate-Reject +- * is received, IAPP is not started. */ +- +- return iapp; +-} +- +- +-void iapp_deinit(struct iapp_data *iapp) +-{ +- struct ip_mreqn mreq; +- +- if (iapp == NULL) +- return; +- +- if (iapp->udp_sock >= 0) { +- os_memset(&mreq, 0, sizeof(mreq)); +- mreq.imr_multiaddr = iapp->multicast; +- mreq.imr_address.s_addr = INADDR_ANY; +- mreq.imr_ifindex = 0; +- if (setsockopt(iapp->udp_sock, SOL_IP, IP_DROP_MEMBERSHIP, +- &mreq, sizeof(mreq)) < 0) { +- wpa_printf(MSG_INFO, "iapp_deinit - setsockopt[UDP,IP_DEL_MEMBERSHIP]: %s", +- strerror(errno)); +- } +- +- eloop_unregister_read_sock(iapp->udp_sock); +- close(iapp->udp_sock); +- } +- if (iapp->packet_sock >= 0) { +- eloop_unregister_read_sock(iapp->packet_sock); +- close(iapp->packet_sock); +- } +- os_free(iapp); +-} +diff --git a/src/ap/iapp.h b/src/ap/iapp.h +deleted file mode 100644 +index c22118342..000000000 +--- a/src/ap/iapp.h ++++ /dev/null +@@ -1,39 +0,0 @@ +-/* +- * hostapd / IEEE 802.11F-2003 Inter-Access Point Protocol (IAPP) +- * Copyright (c) 2002-2005, Jouni Malinen +- * +- * This software may be distributed under the terms of the BSD license. +- * See README for more details. +- */ +- +-#ifndef IAPP_H +-#define IAPP_H +- +-struct iapp_data; +- +-#ifdef CONFIG_IAPP +- +-void iapp_new_station(struct iapp_data *iapp, struct sta_info *sta); +-struct iapp_data * iapp_init(struct hostapd_data *hapd, const char *iface); +-void iapp_deinit(struct iapp_data *iapp); +- +-#else /* CONFIG_IAPP */ +- +-static inline void iapp_new_station(struct iapp_data *iapp, +- struct sta_info *sta) +-{ +-} +- +-static inline struct iapp_data * iapp_init(struct hostapd_data *hapd, +- const char *iface) +-{ +- return NULL; +-} +- +-static inline void iapp_deinit(struct iapp_data *iapp) +-{ +-} +- +-#endif /* CONFIG_IAPP */ +- +-#endif /* IAPP_H */ +diff --git a/src/utils/wpa_debug.h b/src/utils/wpa_debug.h +index 1fe0b7db7..c94c4391f 100644 +--- a/src/utils/wpa_debug.h ++++ b/src/utils/wpa_debug.h +@@ -305,7 +305,6 @@ void hostapd_logger_register_cb(hostapd_logger_cb_func func); + #define HOSTAPD_MODULE_RADIUS 0x00000004 + #define HOSTAPD_MODULE_WPA 0x00000008 + #define HOSTAPD_MODULE_DRIVER 0x00000010 +-#define HOSTAPD_MODULE_IAPP 0x00000020 + #define HOSTAPD_MODULE_MLME 0x00000040 + + enum hostapd_logger_level { +-- +2.17.1 + diff --git a/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd_2.9.bb b/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd_2.9.bb index 68dc12370..1f38eee0f 100644 --- a/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd_2.9.bb +++ b/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd_2.9.bb @@ -12,6 +12,7 @@ SRC_URI = " \ file://init \ file://hostapd.service \ file://CVE-2019-16275.patch \ + file://CVE-2019-5061.patch \ " SRC_URI[md5sum] = "f188fc53a495fe7af3b6d77d3c31dee8" diff --git a/meta-openembedded/meta-oe/recipes-connectivity/zabbix/zabbix/0001-Fix-configure.ac.patch b/meta-openembedded/meta-oe/recipes-connectivity/zabbix/zabbix/0001-Fix-configure.ac.patch index af14a1a56..97339d3ff 100644 --- a/meta-openembedded/meta-oe/recipes-connectivity/zabbix/zabbix/0001-Fix-configure.ac.patch +++ b/meta-openembedded/meta-oe/recipes-connectivity/zabbix/zabbix/0001-Fix-configure.ac.patch @@ -1,5 +1,7 @@ uname can not get version of kernel correctly while cross compile +Upstream-Status: Inappropriate [configuration] + Signed-off-by: Bian Naimeng --- configure.ac | 2 +- diff --git a/meta-openembedded/meta-oe/recipes-connectivity/zabbix/zabbix/CVE-2020-15803.patch b/meta-openembedded/meta-oe/recipes-connectivity/zabbix/zabbix/CVE-2020-15803.patch deleted file mode 100644 index 2eec4bf32..000000000 --- a/meta-openembedded/meta-oe/recipes-connectivity/zabbix/zabbix/CVE-2020-15803.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 4943334fd9bf7dffd49f9e86251ad40b3efe2135 Mon Sep 17 00:00:00 2001 -From: Wang Mingyu -Date: Fri, 11 Dec 2020 17:02:20 +0900 -Subject: [PATCH] Fix bug for CVE-2020-15803 - -Signed-off-by: Wang Mingyu ---- - frontends/php/include/classes/html/CIFrame.php | 7 +++++++ - 1 file changed, 7 insertions(+) - -diff --git a/frontends/php/include/classes/html/CIFrame.php b/frontends/php/include/classes/html/CIFrame.php -index 32220cd..70f2ab5 100644 ---- a/frontends/php/include/classes/html/CIFrame.php -+++ b/frontends/php/include/classes/html/CIFrame.php -@@ -29,6 +29,7 @@ class CIFrame extends CTag { - $this->setHeight($height); - $this->setScrolling($scrolling); - $this->setId($id); -+ $this->setSandbox(); - } - - public function setSrc($value = null) { -@@ -69,4 +70,10 @@ class CIFrame extends CTag { - $this->setAttribute('scrolling', $value); - return $this; - } -+ -+ private function setSandbox() { -+ if (ZBX_IFRAME_SANDBOX !== false) { -+ $this->setAttribute('sandbox', ZBX_IFRAME_SANDBOX); -+ } -+ } - } --- -2.25.1 - diff --git a/meta-openembedded/meta-oe/recipes-connectivity/zabbix/zabbix_4.4.6.bb b/meta-openembedded/meta-oe/recipes-connectivity/zabbix/zabbix_4.4.6.bb deleted file mode 100644 index 98a31879c..000000000 --- a/meta-openembedded/meta-oe/recipes-connectivity/zabbix/zabbix_4.4.6.bb +++ /dev/null @@ -1,79 +0,0 @@ -SUMMARY = "Open-source monitoring solution for your IT infrastructure" -DESCRIPTION = "\ -ZABBIX is software that monitors numerous parameters of a network and the \ -health and integrity of servers. ZABBIX uses a flexible notification \ -mechanism that allows users to configure e-mail based alerts for virtually \ -any event. This allows a fast reaction to server problems. ZABBIX offers \ -excellent reporting and data visualisation features based on the stored \ -data. This makes ZABBIX ideal for capacity planning. \ -\ -ZABBIX supports both polling and trapping. All ZABBIX reports and \ -statistics, as well as configuration parameters are accessed through a \ -web-based front end. A web-based front end ensures that the status of \ -your network and the health of your servers can be assessed from any \ -location. Properly configured, ZABBIX can play an important role in \ -monitoring IT infrastructure. This is equally true for small \ -organisations with a few servers and for large companies with a \ -multitude of servers." -HOMEPAGE = "http://www.zabbix.com/" -SECTION = "Applications/Internet" -LICENSE = "GPLv2+" -LIC_FILES_CHKSUM = "file://COPYING;md5=300e938ad303147fede2294ed78fe02e" -DEPENDS = "libevent libpcre openldap virtual/libiconv zlib" - -PACKAGE_ARCH = "${MACHINE_ARCH}" - -SRC_URI = "http://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/${PV}/${BPN}-${PV}.tar.gz \ - file://0001-Fix-configure.ac.patch \ - file://zabbix-agent.service \ - file://CVE-2020-15803.patch \ -" - -SRC_URI[md5sum] = "e666539220be93b1af38e40f5fbb1f79" -SRC_URI[sha256sum] = "22bb28e667424ad4688f47732853f4241df0e78a7607727b043d704ba726ae0e" - -inherit autotools-brokensep linux-kernel-base pkgconfig systemd useradd - -SYSTEMD_PACKAGES = "${PN}" -SYSTEMD_SERVICE_${PN} = "zabbix-agent.service" -SYSTEMD_AUTO_ENABLE = "enable" - -USERADD_PACKAGES = "${PN}" -GROUPADD_PARAM_${PN} = "-r zabbix" -USERADD_PARAM_${PN} = "-r -g zabbix -d /var/lib/zabbix \ - -s /sbin/nologin -c \"Zabbix Monitoring System\" zabbix \ -" - -KERNEL_VERSION = "${@get_kernelversion_headers('${STAGING_KERNEL_DIR}')}" - -EXTRA_OECONF = " \ - --enable-dependency-tracking \ - --enable-agent \ - --enable-ipv6 \ - --with-net-snmp \ - --with-ldap=${STAGING_EXECPREFIXDIR} \ - --with-unixodbc \ - --with-ssh2 \ - --with-sqlite3 \ - --with-zlib \ - --with-libpthread \ - --with-libevent \ - --with-libpcre \ -" -CFLAGS_append = " -lldap -llber -pthread" - -do_configure_prepend() { - export KERNEL_VERSION="${KERNEL_VERSION}" -} - -do_install_append() { - if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then - install -d ${D}${systemd_unitdir}/system - install -m 0644 ${WORKDIR}/zabbix-agent.service ${D}${systemd_unitdir}/system/ - sed -i -e 's#@SBINDIR@#${sbindir}#g' ${D}${systemd_unitdir}/system/zabbix-agent.service - fi -} - -FILES_${PN} += "${libdir}" - -RDEPENDS_${PN} = "logrotate" diff --git a/meta-openembedded/meta-oe/recipes-connectivity/zabbix/zabbix_5.2.5.bb b/meta-openembedded/meta-oe/recipes-connectivity/zabbix/zabbix_5.2.5.bb new file mode 100644 index 000000000..2bbfec9dc --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-connectivity/zabbix/zabbix_5.2.5.bb @@ -0,0 +1,79 @@ +SUMMARY = "Open-source monitoring solution for your IT infrastructure" +DESCRIPTION = "\ +ZABBIX is software that monitors numerous parameters of a network and the \ +health and integrity of servers. ZABBIX uses a flexible notification \ +mechanism that allows users to configure e-mail based alerts for virtually \ +any event. This allows a fast reaction to server problems. ZABBIX offers \ +excellent reporting and data visualisation features based on the stored \ +data. This makes ZABBIX ideal for capacity planning. \ +\ +ZABBIX supports both polling and trapping. All ZABBIX reports and \ +statistics, as well as configuration parameters are accessed through a \ +web-based front end. A web-based front end ensures that the status of \ +your network and the health of your servers can be assessed from any \ +location. Properly configured, ZABBIX can play an important role in \ +monitoring IT infrastructure. This is equally true for small \ +organisations with a few servers and for large companies with a \ +multitude of servers." +HOMEPAGE = "http://www.zabbix.com/" +SECTION = "Applications/Internet" +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=300e938ad303147fede2294ed78fe02e" +DEPENDS = "libevent libpcre openldap virtual/libiconv zlib" + +PACKAGE_ARCH = "${MACHINE_ARCH}" + +SRC_URI = "https://cdn.zabbix.com/zabbix/sources/stable/5.2/${BPN}-${PV}.tar.gz \ + file://0001-Fix-configure.ac.patch \ + file://zabbix-agent.service \ +" + +SRC_URI[md5sum] = "e90822716c5c241890f6fed1588b5451" +SRC_URI[sha256sum] = "ce0d9745a8b9154e87d6906edd0fce7b7ec298acd34a0543ea53d1a5f2f14bc5" + +inherit autotools-brokensep linux-kernel-base pkgconfig systemd useradd + +SYSTEMD_PACKAGES = "${PN}" +SYSTEMD_SERVICE_${PN} = "zabbix-agent.service" +SYSTEMD_AUTO_ENABLE = "enable" + +USERADD_PACKAGES = "${PN}" +GROUPADD_PARAM_${PN} = "-r zabbix" +USERADD_PARAM_${PN} = "-r -g zabbix -d /var/lib/zabbix \ + -s /sbin/nologin -c \"Zabbix Monitoring System\" zabbix \ +" + +KERNEL_VERSION = "${@get_kernelversion_headers('${STAGING_KERNEL_DIR}')}" + +EXTRA_OECONF = " \ + --enable-dependency-tracking \ + --enable-agent \ + --enable-ipv6 \ + --with-net-snmp \ + --with-ldap=${STAGING_EXECPREFIXDIR} \ + --with-unixodbc \ + --with-ssh2 \ + --with-sqlite3 \ + --with-zlib \ + --with-libpthread \ + --with-libevent \ + --with-libpcre=${STAGING_EXECPREFIXDIR} \ + --with-iconv=${STAGING_EXECPREFIXDIR} \ +" +CFLAGS_append = " -lldap -llber -pthread" + +do_configure_prepend() { + export KERNEL_VERSION="${KERNEL_VERSION}" +} + +do_install_append() { + if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then + install -d ${D}${systemd_unitdir}/system + install -m 0644 ${WORKDIR}/zabbix-agent.service ${D}${systemd_unitdir}/system/ + sed -i -e 's#@SBINDIR@#${sbindir}#g' ${D}${systemd_unitdir}/system/zabbix-agent.service + fi +} + +FILES_${PN} += "${libdir}" + +RDEPENDS_${PN} = "logrotate" diff --git a/meta-openembedded/meta-oe/recipes-connectivity/zeromq/czmq_4.2.1.bb b/meta-openembedded/meta-oe/recipes-connectivity/zeromq/czmq_4.2.1.bb index e742d2a1c..e6a4bc4c4 100644 --- a/meta-openembedded/meta-oe/recipes-connectivity/zeromq/czmq_4.2.1.bb +++ b/meta-openembedded/meta-oe/recipes-connectivity/zeromq/czmq_4.2.1.bb @@ -30,3 +30,7 @@ PACKAGECONFIG[systemd] = ",-DCMAKE_DISABLE_FIND_PACKAGE_systemd=TRUE,systemd" BBCLASSEXTEND = "nativesdk" +do_install_append() { + mkdir -p ${D}/${includedir}/${BPN} + mv ${D}/${includedir}/sha1.h ${D}/${includedir}/${BPN}/. +} diff --git a/meta-openembedded/meta-oe/recipes-core/dbus/dbus-broker_26.bb b/meta-openembedded/meta-oe/recipes-core/dbus/dbus-broker_26.bb deleted file mode 100644 index 5517883df..000000000 --- a/meta-openembedded/meta-oe/recipes-core/dbus/dbus-broker_26.bb +++ /dev/null @@ -1,33 +0,0 @@ -SUMMARY = "dbus broker" -DESCRIPTION = "Drop-in replacement for dbus-daemon." - -SECTION = "base" - -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=7b486c2338d225a1405d979ed2c15ce8" - -SRC_URI = "https://github.com/bus1/dbus-broker/releases/download/v${PV}/dbus-broker-${PV}.tar.xz" -SRC_URI[sha256sum] = "6a6ab82fc398d4bc31b315f4e1c08f17509e4a1969f1cc77a5706db8923c74e1" - -UPSTREAM_CHECK_URI = "https://github.com/bus1/${BPN}/releases" - -inherit meson pkgconfig systemd features_check - -DEPENDS = "expat systemd" -DEPENDS += " ${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'libselinux', '', d)}" -DEPENDS += " ${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'audit', '', d)}" - -RDEPENDS_${PN} += "dbus-common" - -REQUIRED_DISTRO_FEATURES = "systemd" - -SYSTEMD_SERVICE_${PN} = "${BPN}.service" - -FILES_${PN} += "${systemd_system_unitdir}" -FILES_${PN} += "${systemd_user_unitdir}" -FILES_${PN} += "${nonarch_libdir}/systemd/catalog" - -EXTRA_OEMESON += " -Dselinux=${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'true', 'false', d)}" -EXTRA_OEMESON += " -Daudit=${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'true', 'false', d)}" -EXTRA_OEMESON += " -Dlinux-4-17=true" - diff --git a/meta-openembedded/meta-oe/recipes-core/dbus/dbus-broker_28.bb b/meta-openembedded/meta-oe/recipes-core/dbus/dbus-broker_28.bb new file mode 100644 index 000000000..a35f5c64c --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-core/dbus/dbus-broker_28.bb @@ -0,0 +1,33 @@ +SUMMARY = "dbus broker" +DESCRIPTION = "Drop-in replacement for dbus-daemon." + +SECTION = "base" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=7b486c2338d225a1405d979ed2c15ce8" + +SRC_URI = "https://github.com/bus1/dbus-broker/releases/download/v${PV}/dbus-broker-${PV}.tar.xz" +SRC_URI[sha256sum] = "abb8b54434faeeb6bf59a70ebf0732e851a50bd922995ba5928e8c28c18b05ea" + +UPSTREAM_CHECK_URI = "https://github.com/bus1/${BPN}/releases" + +inherit meson pkgconfig systemd features_check + +DEPENDS = "expat systemd" +DEPENDS += " ${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'libselinux', '', d)}" +DEPENDS += " ${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'audit', '', d)}" + +RDEPENDS_${PN} += "dbus-common" + +REQUIRED_DISTRO_FEATURES = "systemd" + +SYSTEMD_SERVICE_${PN} = "${BPN}.service" + +FILES_${PN} += "${systemd_system_unitdir}" +FILES_${PN} += "${systemd_user_unitdir}" +FILES_${PN} += "${nonarch_libdir}/systemd/catalog" + +EXTRA_OEMESON += " -Dselinux=${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'true', 'false', d)}" +EXTRA_OEMESON += " -Daudit=${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'true', 'false', d)}" +EXTRA_OEMESON += " -Dlinux-4-17=true" + diff --git a/meta-openembedded/meta-oe/recipes-core/musl-rpmatch/musl-rpmatch_git.bb b/meta-openembedded/meta-oe/recipes-core/musl-rpmatch/musl-rpmatch_git.bb new file mode 100644 index 000000000..553003f7f --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-core/musl-rpmatch/musl-rpmatch_git.bb @@ -0,0 +1,12 @@ +SUMMARY = "Implementation of rpmatch(3) for musl libc." +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://COPYING;md5=81a81bf31abecc50c20862fc8a716329" + +SRC_URI = "gitsm://github.com/pullmoll/musl-rpmatch.git;protocol=https" + +PV = "1.0+git${SRCPV}" +SRCREV = "46267b154987d3e1f25d3a75423faa62bb5ee342" + +inherit autotools + +S = "${WORKDIR}/git" diff --git a/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb b/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb index 94830e297..4eb2e8c11 100644 --- a/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb +++ b/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb @@ -8,12 +8,15 @@ PACKAGES = "\ packagegroup-meta-oe \ packagegroup-meta-oe-benchmarks \ packagegroup-meta-oe-connectivity \ + packagegroup-meta-oe-connectivity-python2 \ packagegroup-meta-oe-core \ packagegroup-meta-oe-crypto \ packagegroup-meta-oe-bsp \ packagegroup-meta-oe-dbs \ + packagegroup-meta-oe-dbs-python2 \ packagegroup-meta-oe-devtools \ packagegroup-meta-oe-extended \ + packagegroup-meta-oe-extended-python2 \ packagegroup-meta-oe-kernel \ packagegroup-meta-oe-multimedia \ packagegroup-meta-oe-navigation \ @@ -21,6 +24,7 @@ PACKAGES = "\ packagegroup-meta-oe-shells \ packagegroup-meta-oe-security \ packagegroup-meta-oe-support \ + packagegroup-meta-oe-support-python2 \ packagegroup-meta-oe-test \ ${@bb.utils.contains("DISTRO_FEATURES", "x11", "packagegroup-meta-oe-gnome", "", d)} \ ${@bb.utils.contains("DISTRO_FEATURES", "x11", "packagegroup-meta-oe-graphics", "", d)} \ @@ -32,11 +36,14 @@ RDEPENDS_packagegroup-meta-oe = "\ packagegroup-meta-oe-benchmarks \ packagegroup-meta-oe-bsp \ packagegroup-meta-oe-connectivity \ + ${@bb.utils.contains("BBFILE_COLLECTIONS", "meta-python2", "packagegroup-meta-oe-connectivity-python2", "", d)} \ packagegroup-meta-oe-core \ packagegroup-meta-oe-crypto \ packagegroup-meta-oe-dbs \ + ${@bb.utils.contains("BBFILE_COLLECTIONS", "meta-python2", "packagegroup-meta-oe-dbs-python2", "", d)} \ packagegroup-meta-oe-devtools \ packagegroup-meta-oe-extended \ + ${@bb.utils.contains("BBFILE_COLLECTIONS", "meta-python2", "packagegroup-meta-oe-extended-python2", "", d)} \ packagegroup-meta-oe-kernel \ packagegroup-meta-oe-multimedia \ packagegroup-meta-oe-navigation \ @@ -44,6 +51,7 @@ RDEPENDS_packagegroup-meta-oe = "\ packagegroup-meta-oe-security \ packagegroup-meta-oe-shells \ packagegroup-meta-oe-support \ + ${@bb.utils.contains("BBFILE_COLLECTIONS", "meta-python2", "packagegroup-meta-oe-support-python2", "", d)} \ packagegroup-meta-oe-test \ ${@bb.utils.contains("DISTRO_FEATURES", "x11", "packagegroup-meta-oe-gnome", "", d)} \ ${@bb.utils.contains("DISTRO_FEATURES", "x11", "packagegroup-meta-oe-graphics", "", d)} \ @@ -145,7 +153,6 @@ RDEPENDS_packagegroup-meta-oe-connectivity ="\ ser2net \ smstools3 \ telepathy-glib \ - ${@bb.utils.contains("BBFILE_COLLECTIONS", "meta-python2", "telepathy-idle", "", d)} \ thrift \ usbmuxd \ wifi-test-suite \ @@ -156,6 +163,10 @@ RDEPENDS_packagegroup-meta-oe-connectivity ="\ RDEPENDS_packagegroup-meta-oe-connectivity_append_libc-glibc = " wvstreams wvdial" +RDEPENDS_packagegroup-meta-oe-connectivity-python2 = "\ + ${@bb.utils.contains("BBFILE_COLLECTIONS", "meta-python2", "telepathy-idle", "", d)} \ +" + # dracut needs dracut RDEPENDS_packagegroup-meta-oe-core = "\ ${@bb.utils.contains("DISTRO_FEATURES", "systemd", "dbus-broker", "", d)} \ @@ -201,7 +212,6 @@ RDEPENDS_packagegroup-meta-oe-dbs ="\ leveldb \ libdbi \ mariadb \ - ${@bb.utils.contains("BBFILE_COLLECTIONS", "meta-python2", "mysql-python", "", d)} \ postgresql \ psqlodbc \ rocksdb \ @@ -209,6 +219,10 @@ RDEPENDS_packagegroup-meta-oe-dbs ="\ sqlite \ " +RDEPENDS_packagegroup-meta-oe-dbs-python2 ="\ + ${@bb.utils.contains("BBFILE_COLLECTIONS", "meta-python2", bb.utils.contains('I_SWEAR_TO_MIGRATE_TO_PYTHON3', 'yes', 'mysql-python', '', d), "", d)} \ +" + RDEPENDS_packagegroup-meta-oe-devtools ="\ abseil-cpp \ apitrace \ @@ -263,7 +277,7 @@ RDEPENDS_packagegroup-meta-oe-devtools ="\ mpich \ msgpack-c \ mercurial \ - ${@bb.utils.contains("BBFILE_COLLECTIONS", "meta-python2", "nodejs", "", d)} \ + nodejs \ openocd \ pax-utils \ ipc-run \ @@ -300,12 +314,11 @@ RDEPENDS_packagegroup-meta-oe-devtools_remove_mipsarch = "concurrencykit lshw pl RDEPENDS_packagegroup-meta-oe-devtools_remove_mips64 = "luajit nodejs" RDEPENDS_packagegroup-meta-oe-devtools_remove_mips64el = "luajit nodejs" RDEPENDS_packagegroup-meta-oe-devtools_remove_powerpc = "android-tools breakpad lshw luajit uftrace" -RDEPENDS_packagegroup-meta-oe-devtools_remove_powerpc64 = "android-tools lshw luajit uftrace" -RDEPENDS_packagegroup-meta-oe-devtools_remove_powerpc64le = "android-tools lshw luajit uftrace" +RDEPENDS_packagegroup-meta-oe-devtools_remove_powerpc64 = "android-tools breakpad lshw luajit ply uftrace" +RDEPENDS_packagegroup-meta-oe-devtools_remove_powerpc64le = "android-tools breakpad lshw luajit ply uftrace" RDEPENDS_packagegroup-meta-oe-devtools_remove_riscv64 = "breakpad concurrencykit heaptrack lshw ltrace luajit nodejs ply uftrace" RDEPENDS_packagegroup-meta-oe-devtools_remove_riscv32 = "breakpad concurrencykit heaptrack lshw ltrace luajit nodejs ply uftrace" -RDEPENDS_packagegroup-meta-oe-devtools_remove_aarch64 = "${@bb.utils.contains("TUNE_FEATURES", "crypto", "", "abseil-cpp", d)} concurrencykit" -RDEPENDS_packagegroup-meta-oe-devtools_remove_x86-64 = "${@bb.utils.contains("TUNE_FEATURES", "corei7", "", "abseil-cpp", d)}" +RDEPENDS_packagegroup-meta-oe-devtools_remove_aarch64 = "concurrencykit" RDEPENDS_packagegroup-meta-oe-devtools_remove_x86 = "ply" RDEPENDS_packagegroup-meta-oe-extended ="\ @@ -338,6 +351,7 @@ RDEPENDS_packagegroup-meta-oe-extended ="\ hiredis \ hplip \ hwloc \ + libleak \ libuio \ ${@bb.utils.contains("DISTRO_FEATURES", "x11", "libwmf", "", d)} \ lprng \ @@ -347,7 +361,6 @@ RDEPENDS_packagegroup-meta-oe-extended ="\ jansson \ nana \ nicstat \ - ${@bb.utils.contains("BBFILE_COLLECTIONS", "meta-python2", "openlmi-tools", "", d)} \ ${@bb.utils.contains("DISTRO_FEATURES", "pam", "openwsman", "", d)} \ p7zip \ isomd5sum \ @@ -402,6 +415,7 @@ RDEPENDS_packagegroup-meta-oe-extended ="\ snappy \ tipcutils \ tiptop \ + tmate \ tmux \ triggerhappy \ upm \ @@ -422,8 +436,12 @@ RDEPENDS_packagegroup-meta-oe-extended_remove_mips = "sysdig" RDEPENDS_packagegroup-meta-oe-extended_remove_powerpc = "upm mraa minifi-cpp" RDEPENDS_packagegroup-meta-oe-extended_remove_powerpc64 = "upm mraa minifi-cpp" RDEPENDS_packagegroup-meta-oe-extended_remove_powerpc64le = "upm mraa" -RDEPENDS_packagegroup-meta-oe-extended_remove_riscv64 = "upm mraa sysdig tiptop" -RDEPENDS_packagegroup-meta-oe-extended_remove_riscv32 = "upm mraa sysdig tiptop" +RDEPENDS_packagegroup-meta-oe-extended_remove_riscv64 = "upm libleak mraa sysdig tiptop" +RDEPENDS_packagegroup-meta-oe-extended_remove_riscv32 = "upm libleak mraa sysdig tiptop" + +RDEPENDS_packagegroup-meta-oe-extended-python2 ="\ + ${@bb.utils.contains("BBFILE_COLLECTIONS", "meta-python2", bb.utils.contains('I_SWEAR_TO_MIGRATE_TO_PYTHON3', 'yes', 'openlmi-tools', '', d), "", d)} \ +" RDEPENDS_packagegroup-meta-oe-gnome ="\ atkmm \ @@ -607,12 +625,12 @@ RDEPENDS_packagegroup-meta-oe-kernel ="\ trace-cmd \ " RDEPENDS_packagegroup-meta-oe-kernel_append_x86 = " intel-speed-select ipmiutil pm-graph turbostat" -RDEPENDS_packagegroup-meta-oe-kernel_append_x86-64 = " intel-speed-select ipmiutil kpatch pm-graph turbostat" +RDEPENDS_packagegroup-meta-oe-kernel_append_x86-64 = " intel-speed-select ipmiutil kpatch pm-graph turbostat bpftool" RDEPENDS_packagegroup-meta-oe-kernel_append_poerpc64 = " libpfm4" # Kernel-selftest does not build with 5.8 and its exluded from build too so until its fixed remove it RDEPENDS_packagegroup-meta-oe-kernel_remove = "kernel-selftest" -RDEPENDS_packagegroup-meta-oe-kernel_remove_libc-musl = "crash intel-speed-select kernel-selftest minicoredumper turbostat" +RDEPENDS_packagegroup-meta-oe-kernel_remove_libc-musl = "bpftool crash intel-speed-select kernel-selftest minicoredumper turbostat" RDEPENDS_packagegroup-meta-oe-kernel_remove_mipsarch = "makedumpfile" RDEPENDS_packagegroup-meta-oe-kernel_remove_mips64 = "crash" @@ -653,7 +671,6 @@ RDEPENDS_packagegroup-meta-oe-multimedia ="\ libvpx \ ${@bb.utils.contains("DISTRO_FEATURES", "x11", "xsp", "", d)} \ ${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", "mpv", "", d)} \ - pipewire \ ${@bb.utils.contains("DISTRO_FEATURES", "x11", "pavucontrol", "", d)} \ libopusenc \ " @@ -803,7 +820,6 @@ RDEPENDS_packagegroup-meta-oe-support ="\ libusbg \ libutempter \ ${@bb.utils.contains("DISTRO_FEATURES", "x11", "links-x11", "links", d)} \ - ${@bb.utils.contains("BBFILE_COLLECTIONS", "meta-python2", "lio-utils", "", d)} \ log4c \ log4cpp \ nspr \ @@ -879,7 +895,6 @@ RDEPENDS_packagegroup-meta-oe-support ="\ unixodbc \ daemonize \ upower \ - xxhash \ unicode-ucd \ xdelta3 \ uriparser \ @@ -897,13 +912,19 @@ RDEPENDS_packagegroup-meta-oe-support ="\ RDEPENDS_packagegroup-meta-oe-support_append_armv7a = " ne10" RDEPENDS_packagegroup-meta-oe-support_append_armv7ve = " ne10" RDEPENDS_packagegroup-meta-oe-support_append_aarch64 = " ne10" -RDEPENDS_packagegroup-meta-oe-support_append_x86 = " mcelog mce-inject mce-test open-vm-tools vboxguestdrivers" -RDEPENDS_packagegroup-meta-oe-support_append_x86-64 = " mcelog mce-inject mce-test open-vm-tools vboxguestdrivers" +RDEPENDS_packagegroup-meta-oe-support_append_x86 = " mcelog mce-inject mce-test vboxguestdrivers" +RDEPENDS_packagegroup-meta-oe-support_append_x86-64 = " mcelog mce-inject mce-test vboxguestdrivers" + +RDEPENDS_packagegroup-meta-oe-support-python2 ="\ + ${@bb.utils.contains("BBFILE_COLLECTIONS", "meta-python2", bb.utils.contains('I_SWEAR_TO_MIGRATE_TO_PYTHON3', 'yes', 'lio-utils', '', d), "", d)} \ +" + RDEPENDS_packagegroup-meta-oe-support_remove_arm ="numactl" RDEPENDS_packagegroup-meta-oe-support_remove_mipsarch = "gperftools" RDEPENDS_packagegroup-meta-oe-support_remove_riscv64 = "gperftools uim" RDEPENDS_packagegroup-meta-oe-support_remove_riscv32 = "gperftools uim" RDEPENDS_packagegroup-meta-oe-support_remove_powerpc = "ssiapi" +RDEPENDS_packagegroup-meta-oe-support_remove_powerpc64le = "ssiapi" RDEPENDS_packagegroup-meta-oe-test ="\ bats \ diff --git a/meta-openembedded/meta-oe/recipes-core/plymouth/plymouth_0.9.5.bb b/meta-openembedded/meta-oe/recipes-core/plymouth/plymouth_0.9.5.bb index 04106fcc9..11fb30d48 100644 --- a/meta-openembedded/meta-oe/recipes-core/plymouth/plymouth_0.9.5.bb +++ b/meta-openembedded/meta-oe/recipes-core/plymouth/plymouth_0.9.5.bb @@ -13,6 +13,7 @@ LICENSE = "GPLv2+" LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" DEPENDS = "libcap libpng cairo dbus udev" +DEPENDS_append_libc-musl = " musl-rpmatch" PROVIDES = "virtual/psplash" RPROVIDES_${PN} = "virtual-psplash virtual-psplash-support" @@ -42,6 +43,8 @@ LOGO ??= "${datadir}/plymouth/bizcom.png" inherit autotools pkgconfig systemd gettext +LDFLAGS_append_libc-musl = " -lrpmatch" + do_install_append() { # Remove /var/run from package as plymouth will populate it on startup rm -fr "${D}${localstatedir}/run" diff --git a/meta-openembedded/meta-oe/recipes-crypto/cryptsetup/cryptsetup_2.3.4.bb b/meta-openembedded/meta-oe/recipes-crypto/cryptsetup/cryptsetup_2.3.4.bb deleted file mode 100644 index b9a6b7179..000000000 --- a/meta-openembedded/meta-oe/recipes-crypto/cryptsetup/cryptsetup_2.3.4.bb +++ /dev/null @@ -1,92 +0,0 @@ -SUMMARY = "Manage plain dm-crypt and LUKS encrypted volumes" -DESCRIPTION = "Cryptsetup is used to conveniently setup dm-crypt managed \ -device-mapper mappings. These include plain dm-crypt volumes and \ -LUKS volumes. The difference is that LUKS uses a metadata header \ -and can hence offer more features than plain dm-crypt. On the other \ -hand, the header is visible and vulnerable to damage." -HOMEPAGE = "https://gitlab.com/cryptsetup/cryptsetup" -SECTION = "console" -LICENSE = "GPL-2.0-with-OpenSSL-exception" -LIC_FILES_CHKSUM = "file://COPYING;md5=32107dd283b1dfeb66c9b3e6be312326" - -DEPENDS = " \ - json-c \ - libdevmapper \ - popt \ - util-linux \ -" - -RDEPENDS_${PN} = " \ - libdevmapper \ -" - -SRC_URI = "${KERNELORG_MIRROR}/linux/utils/${BPN}/v${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}/${BP}.tar.xz" -SRC_URI[md5sum] = "911272e73181fdc850bb4d25103a9f83" -SRC_URI[sha256sum] = "9d16eebb96b53b514778e813019b8dd15fea9fec5aafde9fae5febf59df83773" - -inherit autotools gettext pkgconfig - -# Use openssl because libgcrypt drops root privileges -# if libgcrypt is linked with libcap support -PACKAGECONFIG ??= " \ - keyring \ - cryptsetup \ - veritysetup \ - cryptsetup-reencrypt \ - integritysetup \ - ${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)} \ - kernel_crypto \ - internal-argon2 \ - blkid \ - luks-adjust-xts-keysize \ - openssl \ -" -PACKAGECONFIG_append_class-target = " \ - udev \ -" - -PACKAGECONFIG[keyring] = "--enable-keyring,--disable-keyring" -PACKAGECONFIG[fips] = "--enable-fips,--disable-fips" -PACKAGECONFIG[pwquality] = "--enable-pwquality,--disable-pwquality,libpwquality" -PACKAGECONFIG[passwdqc] = "--enable-passwdqc,--disable-passwdqc,passwdqc" -PACKAGECONFIG[cryptsetup] = "--enable-cryptsetup,--disable-cryptsetup" -PACKAGECONFIG[veritysetup] = "--enable-veritysetup,--disable-veritysetup" -PACKAGECONFIG[cryptsetup-reencrypt] = "--enable-cryptsetup-reencrypt,--disable-cryptsetup-reencrypt" -PACKAGECONFIG[integritysetup] = "--enable-integritysetup,--disable-integritysetup" -PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux" -PACKAGECONFIG[udev] = "--enable-udev,--disable-udev,,udev" -PACKAGECONFIG[kernel_crypto] = "--enable-kernel_crypto,--disable-kernel_crypto" -# gcrypt-pkbdf2 requries --with-crypto_backend=gcrypt or the flag isn't -# recognized. -PACKAGECONFIG[gcrypt-pbkdf2] = "--enable-gcrypt-pbkdf2" -PACKAGECONFIG[internal-argon2] = "--enable-internal-argon2,--disable-internal-argon2" -PACKAGECONFIG[internal-sse-argon2] = "--enable-internal-sse-argon2,--disable-internal-sse-argon2" -PACKAGECONFIG[blkid] = "--enable-blkid,--disable-blkid,util-linux" -PACKAGECONFIG[dev-random] = "--enable-dev-random,--disable-dev-random" -PACKAGECONFIG[luks-adjust-xts-keysize] = "--enable-luks-adjust-xts-keysize,--disable-luks-adjust-xts-keysize" -PACKAGECONFIG[openssl] = "--with-crypto_backend=openssl,,openssl" -PACKAGECONFIG[gcrypt] = "--with-crypto_backend=gcrypt,,libgcrypt" -PACKAGECONFIG[nss] = "--with-crypto_backend=nss,,nss" -PACKAGECONFIG[kernel] = "--with-crypto_backend=kernel" -PACKAGECONFIG[nettle] = "--with-crypto_backend=nettle,,nettle" -PACKAGECONFIG[luks2] = "--with-default-luks-format=LUKS2,--with-default-luks-format=LUKS1" - -RRECOMMENDS_${PN} = "kernel-module-aes-generic \ - kernel-module-dm-crypt \ - kernel-module-md5 \ - kernel-module-cbc \ - kernel-module-sha256-generic \ - kernel-module-xts \ -" - -EXTRA_OECONF = "--enable-static" -# Building without largefile is not supported by upstream -EXTRA_OECONF += "--enable-largefile" -# Requires a static popt library -EXTRA_OECONF += "--disable-static-cryptsetup" -# There's no recipe for libargon2 yet -EXTRA_OECONF += "--disable-libargon2" - -FILES_${PN} += "${@bb.utils.contains('DISTRO_FEATURES','systemd','${exec_prefix}/lib/tmpfiles.d/cryptsetup.conf', '', d)}" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-oe/recipes-crypto/cryptsetup/cryptsetup_2.3.5.bb b/meta-openembedded/meta-oe/recipes-crypto/cryptsetup/cryptsetup_2.3.5.bb new file mode 100644 index 000000000..0da9a26e8 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-crypto/cryptsetup/cryptsetup_2.3.5.bb @@ -0,0 +1,92 @@ +SUMMARY = "Manage plain dm-crypt and LUKS encrypted volumes" +DESCRIPTION = "Cryptsetup is used to conveniently setup dm-crypt managed \ +device-mapper mappings. These include plain dm-crypt volumes and \ +LUKS volumes. The difference is that LUKS uses a metadata header \ +and can hence offer more features than plain dm-crypt. On the other \ +hand, the header is visible and vulnerable to damage." +HOMEPAGE = "https://gitlab.com/cryptsetup/cryptsetup" +SECTION = "console" +LICENSE = "GPL-2.0-with-OpenSSL-exception" +LIC_FILES_CHKSUM = "file://COPYING;md5=32107dd283b1dfeb66c9b3e6be312326" + +DEPENDS = " \ + json-c \ + libdevmapper \ + popt \ + util-linux-libuuid \ +" + +RDEPENDS_${PN} = " \ + libdevmapper \ +" + +SRC_URI = "${KERNELORG_MIRROR}/linux/utils/${BPN}/v${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}/${BP}.tar.xz" +SRC_URI[md5sum] = "408620e0df577ec04108ec0bc2b91dee" +SRC_URI[sha256sum] = "ced9946f444d132536daf92fc8aca4277638a3c2d96e20540b2bae4d36fd70c1" + +inherit autotools gettext pkgconfig + +# Use openssl because libgcrypt drops root privileges +# if libgcrypt is linked with libcap support +PACKAGECONFIG ??= " \ + keyring \ + cryptsetup \ + veritysetup \ + cryptsetup-reencrypt \ + integritysetup \ + ${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)} \ + kernel_crypto \ + internal-argon2 \ + blkid \ + luks-adjust-xts-keysize \ + openssl \ +" +PACKAGECONFIG_append_class-target = " \ + udev \ +" + +PACKAGECONFIG[keyring] = "--enable-keyring,--disable-keyring" +PACKAGECONFIG[fips] = "--enable-fips,--disable-fips" +PACKAGECONFIG[pwquality] = "--enable-pwquality,--disable-pwquality,libpwquality" +PACKAGECONFIG[passwdqc] = "--enable-passwdqc,--disable-passwdqc,passwdqc" +PACKAGECONFIG[cryptsetup] = "--enable-cryptsetup,--disable-cryptsetup" +PACKAGECONFIG[veritysetup] = "--enable-veritysetup,--disable-veritysetup" +PACKAGECONFIG[cryptsetup-reencrypt] = "--enable-cryptsetup-reencrypt,--disable-cryptsetup-reencrypt" +PACKAGECONFIG[integritysetup] = "--enable-integritysetup,--disable-integritysetup" +PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux" +PACKAGECONFIG[udev] = "--enable-udev,--disable-udev,,udev" +PACKAGECONFIG[kernel_crypto] = "--enable-kernel_crypto,--disable-kernel_crypto" +# gcrypt-pkbdf2 requries --with-crypto_backend=gcrypt or the flag isn't +# recognized. +PACKAGECONFIG[gcrypt-pbkdf2] = "--enable-gcrypt-pbkdf2" +PACKAGECONFIG[internal-argon2] = "--enable-internal-argon2,--disable-internal-argon2" +PACKAGECONFIG[internal-sse-argon2] = "--enable-internal-sse-argon2,--disable-internal-sse-argon2" +PACKAGECONFIG[blkid] = "--enable-blkid,--disable-blkid,util-linux" +PACKAGECONFIG[dev-random] = "--enable-dev-random,--disable-dev-random" +PACKAGECONFIG[luks-adjust-xts-keysize] = "--enable-luks-adjust-xts-keysize,--disable-luks-adjust-xts-keysize" +PACKAGECONFIG[openssl] = "--with-crypto_backend=openssl,,openssl" +PACKAGECONFIG[gcrypt] = "--with-crypto_backend=gcrypt,,libgcrypt" +PACKAGECONFIG[nss] = "--with-crypto_backend=nss,,nss" +PACKAGECONFIG[kernel] = "--with-crypto_backend=kernel" +PACKAGECONFIG[nettle] = "--with-crypto_backend=nettle,,nettle" +PACKAGECONFIG[luks2] = "--with-default-luks-format=LUKS2,--with-default-luks-format=LUKS1" + +RRECOMMENDS_${PN} = "kernel-module-aes-generic \ + kernel-module-dm-crypt \ + kernel-module-md5 \ + kernel-module-cbc \ + kernel-module-sha256-generic \ + kernel-module-xts \ +" + +EXTRA_OECONF = "--enable-static" +# Building without largefile is not supported by upstream +EXTRA_OECONF += "--enable-largefile" +# Requires a static popt library +EXTRA_OECONF += "--disable-static-cryptsetup" +# There's no recipe for libargon2 yet +EXTRA_OECONF += "--disable-libargon2" + +FILES_${PN} += "${@bb.utils.contains('DISTRO_FEATURES','systemd','${exec_prefix}/lib/tmpfiles.d/cryptsetup.conf', '', d)}" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc index 27eede6c3..1fbcb7142 100644 --- a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc +++ b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc @@ -22,6 +22,8 @@ SRC_URI = "https://downloads.mariadb.org/interstitial/${BP}/source/${BP}.tar.gz file://0001-innobase-Define-__NR_futex-if-it-does-not-exist.patch \ file://0001-stacktrace-t.c-make-the-test-conditional.patch \ " +SRC_URI_append_libc-musl = " file://ppc-remove-glibc-dep.patch" + SRC_URI[sha256sum] = "eb4824f6f2c532cd3fc6a6bce7bf78ea7c6b949f8bdd07656b2c84344e757be8" UPSTREAM_CHECK_URI = "https://github.com/MariaDB/server/releases" diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/ppc-remove-glibc-dep.patch b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/ppc-remove-glibc-dep.patch new file mode 100644 index 000000000..1ca86bcca --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/ppc-remove-glibc-dep.patch @@ -0,0 +1,50 @@ +Remove glibc specific function dependencies + +Sourced from: https://git.alpinelinux.org/aports/tree/main/mariadb/ppc-remove-glibc-dep.patch +Signed-off-by: Khem Raj + +--- a/include/my_cpu.h ++++ b/include/my_cpu.h +@@ -24,17 +24,16 @@ + */ + + #ifdef _ARCH_PWR8 +-#include + /* Very low priority */ +-#define HMT_very_low() __ppc_set_ppr_very_low() ++#define HMT_very_low() asm volatile("or 31,31,31") + /* Low priority */ +-#define HMT_low() __ppc_set_ppr_low() ++#define HMT_low() asm volatile ("or 1,1,1") + /* Medium low priority */ +-#define HMT_medium_low() __ppc_set_ppr_med_low() ++#define HMT_medium_low() asm volatile ("or 6,6,6") + /* Medium priority */ +-#define HMT_medium() __ppc_set_ppr_med() ++#define HMT_medium() asm volatile ("or 2,2,2") + /* Medium high priority */ +-#define HMT_medium_high() __ppc_set_ppr_med_high() ++#define HMT_medium_high() asm volatile("or 5,5,5") + /* High priority */ + #define HMT_high() asm volatile("or 3,3,3") + #else +@@ -81,7 +80,7 @@ static inline void MY_RELAX_CPU(void) + __asm__ __volatile__ ("pause"); + #endif + #elif defined(_ARCH_PWR8) +- __ppc_get_timebase(); ++ __builtin_ppc_get_timebase(); + #elif defined __GNUC__ && (defined __arm__ || defined __aarch64__) + /* Mainly, prevent the compiler from optimizing away delay loops */ + __asm__ __volatile__ ("":::"memory"); +--- a/storage/tokudb/PerconaFT/portability/toku_time.h ++++ b/storage/tokudb/PerconaFT/portability/toku_time.h +@@ -124,7 +124,7 @@ static inline tokutime_t toku_time_now(v + __asm __volatile__ ("mrs %[rt], cntvct_el0" : [rt] "=r" (result)); + return result; + #elif defined(__powerpc__) +- return __ppc_get_timebase(); ++ return __builtin_ppc_get_timebase(); + #else + #error No timer implementation for this platform + #endif diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mysql-python_1.2.5.bb b/meta-openembedded/meta-oe/recipes-dbs/mysql/mysql-python_1.2.5.bb index 4617da8e1..43fc69073 100644 --- a/meta-openembedded/meta-oe/recipes-dbs/mysql/mysql-python_1.2.5.bb +++ b/meta-openembedded/meta-oe/recipes-dbs/mysql/mysql-python_1.2.5.bb @@ -16,6 +16,8 @@ SRC_URI[sha256sum] = "811040b647e5d5686f84db415efd697e6250008b112b6909ba77ac059e S = "${WORKDIR}/${SRCNAME}-${PV}" +PNBLACKLIST[mysql-python] ?= "${@bb.utils.contains('I_SWEAR_TO_MIGRATE_TO_PYTHON3', 'yes', '', 'python2 is out of support for long time, read https://www.python.org/doc/sunset-python-2/ https://python3statement.org/ and if you really have to temporarily use this, then set I_SWEAR_TO_MIGRATE_TO_PYTHON3 to "yes"', d)}" + inherit ${@bb.utils.contains("BBFILE_COLLECTIONS", "meta-python2", "setuptools", "", d)} python() { diff --git a/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/abseil-ppc-fixes.patch b/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/abseil-ppc-fixes.patch new file mode 100644 index 000000000..ee0c25473 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/abseil-ppc-fixes.patch @@ -0,0 +1,94 @@ +An all-in-one patch that fixes several issues: + +1) UnscaledCycleClock not fully implemented for ppc*-musl (disabled on musl) +2) powerpc stacktrace implementation only works on glibc (disabled on musl) +3) powerpc stacktrace implementation has ppc64 assumptions (fixed) +4) examine_stack.cpp makes glibc assumptions on powerpc (fixed) + +Sourced from void linux + +Signed-off-by: Khem Raj + +--- a/absl/base/internal/unscaledcycleclock.cc ++++ b/absl/base/internal/unscaledcycleclock.cc +@@ -20,7 +20,7 @@ + #include + #endif + +-#if defined(__powerpc__) || defined(__ppc__) ++#if (defined(__powerpc__) || defined(__ppc__)) && defined(__GLIBC__) + #ifdef __GLIBC__ + #include + #elif defined(__FreeBSD__) +@@ -59,7 +59,7 @@ double UnscaledCycleClock::Frequency() { + return base_internal::NominalCPUFrequency(); + } + +-#elif defined(__powerpc__) || defined(__ppc__) ++#elif (defined(__powerpc__) || defined(__ppc__)) && defined(__GLIBC__) + + int64_t UnscaledCycleClock::Now() { + #ifdef __GLIBC__ +--- a/absl/base/internal/unscaledcycleclock.h ++++ b/absl/base/internal/unscaledcycleclock.h +@@ -46,7 +46,7 @@ + + // The following platforms have an implementation of a hardware counter. + #if defined(__i386__) || defined(__x86_64__) || defined(__aarch64__) || \ +- defined(__powerpc__) || defined(__ppc__) || \ ++ ((defined(__powerpc__) || defined(__ppc__)) && defined(__GLIBC__)) || \ + defined(_M_IX86) || defined(_M_X64) + #define ABSL_HAVE_UNSCALED_CYCLECLOCK_IMPLEMENTATION 1 + #else +--- a/absl/debugging/internal/examine_stack.cc ++++ b/absl/debugging/internal/examine_stack.cc +@@ -27,6 +27,10 @@ + #include + #include + ++#if defined(__powerpc__) ++#include ++#endif ++ + #include "absl/base/attributes.h" + #include "absl/base/internal/raw_logging.h" + #include "absl/base/macros.h" +@@ -55,8 +59,10 @@ void* GetProgramCounter(void* vuc) { + return reinterpret_cast(context->uc_mcontext.pc); + #elif defined(__powerpc64__) + return reinterpret_cast(context->uc_mcontext.gp_regs[32]); +-#elif defined(__powerpc__) ++#elif defined(__powerpc__) && defined(__GLIBC__) + return reinterpret_cast(context->uc_mcontext.regs->nip); ++#elif defined(__powerpc__) ++ return reinterpret_cast(((struct pt_regs *)context->uc_regs)->nip); + #elif defined(__riscv) + return reinterpret_cast(context->uc_mcontext.__gregs[REG_PC]); + #elif defined(__s390__) && !defined(__s390x__) +--- a/absl/debugging/internal/stacktrace_config.h ++++ b/absl/debugging/internal/stacktrace_config.h +@@ -64,7 +64,7 @@ + #elif defined(__i386__) || defined(__x86_64__) + #define ABSL_STACKTRACE_INL_HEADER \ + "absl/debugging/internal/stacktrace_x86-inl.inc" +-#elif defined(__ppc__) || defined(__PPC__) ++#elif (defined(__ppc__) || defined(__PPC__)) && defined(__GLIBC__) + #define ABSL_STACKTRACE_INL_HEADER \ + "absl/debugging/internal/stacktrace_powerpc-inl.inc" + #elif defined(__aarch64__) +--- a/absl/debugging/internal/stacktrace_powerpc-inl.inc ++++ b/absl/debugging/internal/stacktrace_powerpc-inl.inc +@@ -130,8 +130,13 @@ static void **NextStackFrame(void **old_ + StacktracePowerPCGetLR(new_sp) == kernel_sigtramp_rt64_address) { + const ucontext_t* signal_context = + reinterpret_cast(uc); ++#if defined(__powerpc64__) + void **const sp_before_signal = + reinterpret_cast(signal_context->uc_mcontext.gp_regs[PT_R1]); ++#else ++ void **const sp_before_signal = ++ reinterpret_cast(signal_context->uc_mcontext.uc_regs->gregs[PT_R1]); ++#endif + // Check that alleged sp before signal is nonnull and is reasonably + // aligned. + if (sp_before_signal != nullptr && diff --git a/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_git.bb b/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_git.bb index 9557c9345..903b7b4b8 100644 --- a/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_git.bb +++ b/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_git.bb @@ -13,6 +13,7 @@ BRANCH = "lts_2020_09_23" SRC_URI = "git://github.com/abseil/abseil-cpp;branch=${BRANCH} \ file://0001-absl-always-use-asm-sgidefs.h.patch \ file://0002-Remove-maes-option-from-cross-compilation.patch \ + file://abseil-ppc-fixes.patch \ " S = "${WORKDIR}/git" @@ -28,7 +29,6 @@ EXTRA_OECMAKE = "-DBUILD_SHARED_LIBS=ON \ " BBCLASSEXTEND = "native nativesdk" -ALLOW_EMPTY_${PN} = "1" -FILES_${PN} = "${libdir}/libabsl_*.so ${libdir}/cmake" -FILES_${PN}-dev = "${includedir}" +FILES_${PN} = "${libdir}/libabsl_*.so" +FILES_${PN}-dev = "${includedir} ${libdir}/cmake" diff --git a/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-Remove-HAVE_GETCONTEXT-check-to-add-local-implementa.patch b/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-Remove-HAVE_GETCONTEXT-check-to-add-local-implementa.patch new file mode 100644 index 000000000..d7a5c0675 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-Remove-HAVE_GETCONTEXT-check-to-add-local-implementa.patch @@ -0,0 +1,54 @@ +From 70441611d4e8200d9d16dfed493873b8c1bb57c5 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Mon, 15 Mar 2021 11:33:38 -0700 +Subject: [PATCH] Remove HAVE_GETCONTEXT check to add local implementation + +On musl getcontext/setcontext APIs are implemented in libucontext which +can be used + +Upstream-Status: Inappropriate [Musl Specific] +Signed-off-by: Khem Raj +--- + Makefile.am | 12 ------------ + 1 file changed, 12 deletions(-) + +diff --git a/Makefile.am b/Makefile.am +index ee7454e4..69700192 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -187,10 +187,6 @@ src_client_linux_libbreakpad_client_a_SOURCES = \ + src/common/linux/linux_libc_support.cc \ + src/common/linux/memory_mapped_file.cc \ + src/common/linux/safe_readlink.cc +-if !HAVE_GETCONTEXT +-src_client_linux_libbreakpad_client_a_SOURCES += \ +- src/common/linux/breakpad_getcontext.S +-endif + endif LINUX_HOST + + if !DISABLE_PROCESSOR +@@ -508,10 +504,6 @@ src_client_linux_linux_client_unittest_shlib_SOURCES = \ + src/processor/minidump.cc \ + src/processor/pathname_stripper.cc \ + src/processor/proc_maps_linux.cc +-if !HAVE_GETCONTEXT +-src_client_linux_linux_client_unittest_shlib_SOURCES += \ +- src/common/linux/breakpad_getcontext.S +-endif + + src_client_linux_linux_client_unittest_shlib_CPPFLAGS = \ + $(AM_CPPFLAGS) $(TEST_CFLAGS) +@@ -541,10 +533,6 @@ src_client_linux_linux_client_unittest_shlib_LDADD = \ + src/common/string_conversion.o \ + $(TEST_LIBS) \ + $(PTHREAD_CFLAGS) $(PTHREAD_LIBS) +-if !HAVE_GETCONTEXT +-src_client_linux_linux_client_unittest_shlib_SOURCES += \ +- src/common/linux/breakpad_getcontext_unittest.cc +-endif + if ANDROID_HOST + src_client_linux_linux_client_unittest_shlib_LDFLAGS += \ + -llog -lm +-- +2.30.2 + diff --git a/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-Turn-off-sign-compare-for-musl-libc.patch b/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-Turn-off-sign-compare-for-musl-libc.patch index 33bae1a37..6b8d011d8 100644 --- a/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-Turn-off-sign-compare-for-musl-libc.patch +++ b/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-Turn-off-sign-compare-for-musl-libc.patch @@ -13,11 +13,9 @@ Signed-off-by: Khem Raj src/client/linux/crash_generation/crash_generation_server.cc | 10 ++++++++++ 1 file changed, 10 insertions(+) -diff --git a/src/client/linux/crash_generation/crash_generation_server.cc b/src/client/linux/crash_generation/crash_generation_server.cc -index 2596afde..2faeb9e5 100644 --- a/src/client/linux/crash_generation/crash_generation_server.cc +++ b/src/client/linux/crash_generation/crash_generation_server.cc -@@ -230,8 +230,18 @@ CrashGenerationServer::ClientEvent(short revents) +@@ -230,8 +230,18 @@ CrashGenerationServer::ClientEvent(short // Walk the control payload and extract the file descriptor and validated pid. pid_t crashing_pid = -1; int signal_fd = -1; @@ -28,7 +26,7 @@ index 2596afde..2faeb9e5 100644 + #pragma clang diagnostic push + #pragma clang diagnostic ignored "-Wsign-compare" +#endif - for (struct cmsghdr *hdr = CMSG_FIRSTHDR(&msg); hdr; + for (struct cmsghdr* hdr = CMSG_FIRSTHDR(&msg); hdr; hdr = CMSG_NXTHDR(&msg, hdr)) { +#ifndef __GLIBC__ + #pragma clang diagnostic pop @@ -36,6 +34,3 @@ index 2596afde..2faeb9e5 100644 if (hdr->cmsg_level != SOL_SOCKET) continue; if (hdr->cmsg_type == SCM_RIGHTS) { --- -2.14.1 - diff --git a/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-disable-calls-to-getcontext-with-musl.patch b/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-disable-calls-to-getcontext-with-musl.patch deleted file mode 100644 index 466abe5f8..000000000 --- a/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-disable-calls-to-getcontext-with-musl.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 57ecf7205feedd23f901e1bb9d193787e559e433 Mon Sep 17 00:00:00 2001 -From: Andre McCurdy -Date: Tue, 23 Jan 2018 15:13:26 -0800 -Subject: [PATCH] disable calls to getcontext() with musl - -Signed-off-by: Andre McCurdy ---- - src/client/linux/handler/exception_handler.cc | 17 +++++++++++++++++ - 1 file changed, 17 insertions(+) - ---- a/src/client/linux/handler/exception_handler.cc -+++ b/src/client/linux/handler/exception_handler.cc -@@ -490,7 +490,19 @@ bool ExceptionHandler::SimulateSignalDel - siginfo.si_code = SI_USER; - siginfo.si_pid = getpid(); - ucontext_t context; -+#if defined(__GLIBC__) - getcontext(&context); -+#else -+ // Extreme hack: Allow musl builds to compile - but don't expect them to work. -+ // Although musl provides a definition for getcontext() in ucontext.h (which -+ // enough to build libbreakpad_client) musl does not provide a corresponding -+ // getcontext() function, so builds will fail when attempting to link anything -+ // with libbreakpad_client. Disabling calls to getcontext() is a temporary -+ // hack. The real fix is probably to enable Breakpad's own implementation of -+ // getcontext() when building for musl (it's currently only enabled when -+ // building for Android). -+ memset (&context, 0, sizeof(context)); -+#endif - return HandleSignal(sig, &siginfo, &context); - } - -@@ -675,9 +687,14 @@ bool ExceptionHandler::WriteMinidump() { - sys_prctl(PR_SET_DUMPABLE, 1, 0, 0, 0); - - CrashContext context; -+#if defined(__GLIBC__) - int getcontext_result = getcontext(&context.context); - if (getcontext_result) - return false; -+#else -+ // Extreme hack - see comments above. -+ memset (&context.context, 0, sizeof(context.context)); -+#endif - - #if defined(__i386__) - // In CPUFillFromUContext in minidumpwriter.cc the stack pointer is retrieved diff --git a/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-include-sys-reg.h-to-get-__WORDSIZE-on-musl-libc.patch b/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-include-sys-reg.h-to-get-__WORDSIZE-on-musl-libc.patch index 4583d601a..3dc55cf1f 100644 --- a/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-include-sys-reg.h-to-get-__WORDSIZE-on-musl-libc.patch +++ b/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-include-sys-reg.h-to-get-__WORDSIZE-on-musl-libc.patch @@ -7,22 +7,20 @@ Subject: [PATCH 1/3] include to get __WORDSIZE on musl libc src/common/linux/elf_core_dump.h | 1 + 1 file changed, 1 insertion(+) -Index: git/src/common/linux/elf_core_dump.h -=================================================================== ---- git.orig/src/common/linux/elf_core_dump.h -+++ git/src/common/linux/elf_core_dump.h -@@ -33,10 +33,13 @@ +--- a/src/common/linux/elf_core_dump.h ++++ b/src/common/linux/elf_core_dump.h +@@ -33,10 +33,14 @@ #ifndef COMMON_LINUX_ELF_CORE_DUMP_H_ #define COMMON_LINUX_ELF_CORE_DUMP_H_ +#include #include + #include #include #include -- +#ifdef HAVE_SYS_REG_H +#include +#endif + #include "common/memory_range.h" - namespace google_breakpad { diff --git a/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0002-Use-_fpstate-instead-of-_libc_fpstate-on-linux.patch b/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0002-Use-_fpstate-instead-of-_libc_fpstate-on-linux.patch deleted file mode 100644 index 6c097cd22..000000000 --- a/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0002-Use-_fpstate-instead-of-_libc_fpstate-on-linux.patch +++ /dev/null @@ -1,60 +0,0 @@ -From 0ba1b3e35e7c743b670bedc3e90001dfb868df10 Mon Sep 17 00:00:00 2001 -From: Felix Janda -Date: Sun, 1 Feb 2015 13:45:51 +0100 -Subject: [PATCH 2/6] Use _fpstate instead of _libc_fpstate on linux - -glibc defines both. musl libc only the former. ---- - src/client/linux/dump_writer_common/ucontext_reader.cc | 4 ++-- - src/client/linux/dump_writer_common/ucontext_reader.h | 2 +- - src/client/linux/minidump_writer/minidump_writer.h | 2 +- - 3 files changed, 4 insertions(+), 4 deletions(-) - -Index: git/src/client/linux/dump_writer_common/ucontext_reader.cc -=================================================================== ---- git.orig/src/client/linux/dump_writer_common/ucontext_reader.cc -+++ git/src/client/linux/dump_writer_common/ucontext_reader.cc -@@ -49,7 +49,7 @@ uintptr_t UContextReader::GetInstruction - } - - void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc, -- const struct _libc_fpstate* fp) { -+ const struct _fpstate* fp) { - const greg_t* regs = uc->uc_mcontext.gregs; - - out->context_flags = MD_CONTEXT_X86_FULL | -@@ -97,7 +97,7 @@ uintptr_t UContextReader::GetInstruction - } - - void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc, -- const struct _libc_fpstate* fpregs) { -+ const struct _fpstate* fpregs) { - const greg_t* regs = uc->uc_mcontext.gregs; - - out->context_flags = MD_CONTEXT_AMD64_FULL; -Index: git/src/client/linux/dump_writer_common/ucontext_reader.h -=================================================================== ---- git.orig/src/client/linux/dump_writer_common/ucontext_reader.h -+++ git/src/client/linux/dump_writer_common/ucontext_reader.h -@@ -50,7 +50,7 @@ struct UContextReader { - // info: the collection of register structures. - #if defined(__i386__) || defined(__x86_64) - static void FillCPUContext(RawContextCPU *out, const ucontext_t *uc, -- const struct _libc_fpstate* fp); -+ const struct _fpstate* fp); - #elif defined(__aarch64__) - static void FillCPUContext(RawContextCPU *out, const ucontext_t *uc, - const struct fpsimd_context* fpregs); -Index: git/src/client/linux/minidump_writer/minidump_writer.h -=================================================================== ---- git.orig/src/client/linux/minidump_writer/minidump_writer.h -+++ git/src/client/linux/minidump_writer/minidump_writer.h -@@ -48,7 +48,7 @@ class ExceptionHandler; - #if defined(__aarch64__) - typedef struct fpsimd_context fpstate_t; - #elif !defined(__ARM_EABI__) && !defined(__mips__) --typedef struct _libc_fpstate fpstate_t; -+typedef struct _fpstate fpstate_t; - #endif - - // These entries store a list of memory regions that the client wants included diff --git a/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0002-sys-signal.h-is-a-nonportable-alias-for-signal.h.patch b/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0002-sys-signal.h-is-a-nonportable-alias-for-signal.h.patch deleted file mode 100644 index cfd9a9b34..000000000 --- a/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0002-sys-signal.h-is-a-nonportable-alias-for-signal.h.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 15582e19c2545d5ffe8ff07f957d0ed602aeca74 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Thu, 14 Sep 2017 23:15:09 -0700 -Subject: [PATCH 2/5] is a nonportable alias for - -Signed-off-by: Khem Raj ---- - src/client/linux/handler/exception_handler.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/client/linux/handler/exception_handler.cc b/src/client/linux/handler/exception_handler.cc -index 05936d28..cca023fd 100644 ---- a/src/client/linux/handler/exception_handler.cc -+++ b/src/client/linux/handler/exception_handler.cc -@@ -78,7 +78,7 @@ - #include - #include - --#include -+#include - #include - #include - #include --- -2.14.1 - diff --git a/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0003-Dont-include-stab.h.patch b/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0003-Dont-include-stab.h.patch index 2593ea93e..76b2088b0 100644 --- a/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0003-Dont-include-stab.h.patch +++ b/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0003-Dont-include-stab.h.patch @@ -10,10 +10,8 @@ Signed-off-by: Khem Raj src/common/stabs_reader_unittest.cc | 1 - 3 files changed, 11 insertions(+), 3 deletions(-) -Index: git/src/common/stabs_reader.cc -=================================================================== ---- git.orig/src/common/stabs_reader.cc -+++ git/src/common/stabs_reader.cc +--- a/src/common/stabs_reader.cc ++++ b/src/common/stabs_reader.cc @@ -34,7 +34,9 @@ #include "common/stabs_reader.h" @@ -24,10 +22,8 @@ Index: git/src/common/stabs_reader.cc #include #include -Index: git/src/common/stabs_reader.h -=================================================================== ---- git.orig/src/common/stabs_reader.h -+++ git/src/common/stabs_reader.h +--- a/src/common/stabs_reader.h ++++ b/src/common/stabs_reader.h @@ -58,6 +58,30 @@ #elif defined(HAVE_A_OUT_H) #include @@ -59,10 +55,8 @@ Index: git/src/common/stabs_reader.h #include #include -Index: git/src/common/stabs_reader_unittest.cc -=================================================================== ---- git.orig/src/common/stabs_reader_unittest.cc -+++ git/src/common/stabs_reader_unittest.cc +--- a/src/common/stabs_reader_unittest.cc ++++ b/src/common/stabs_reader_unittest.cc @@ -33,7 +33,9 @@ #include @@ -73,16 +67,14 @@ Index: git/src/common/stabs_reader_unittest.cc #include #include #include -Index: git/configure.ac -=================================================================== ---- git.orig/configure.ac -+++ git/configure.ac +--- a/configure.ac ++++ b/configure.ac @@ -72,7 +72,7 @@ AC_ARG_ENABLE(m32, AC_HEADER_STDC AC_SYS_LARGEFILE AX_PTHREAD --AC_CHECK_HEADERS([a.out.h sys/random.h]) -+AC_CHECK_HEADERS([a.out.h stab.h sys/random.h]) - AC_CHECK_FUNCS([arc4random getrandom]) - - AX_CXX_COMPILE_STDCXX(11, noext, mandatory) +-AC_CHECK_HEADERS([a.out.h sys/mman.h sys/random.h]) ++AC_CHECK_HEADERS([a.out.h stab.h sys/mman.h sys/random.h]) + AC_CHECK_FUNCS([arc4random getcontext getrandom memfd_create]) + AM_CONDITIONAL([HAVE_GETCONTEXT], [test "x$ac_cv_func_getcontext" = xyes]) + AM_CONDITIONAL([HAVE_MEMFD_CREATE], [test "x$ac_cv_func_memfd_create" = xyes]) diff --git a/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0004-elf_reader.cc-include-sys-reg.h-to-get-__WORDSIZE-on.patch b/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0004-elf_reader.cc-include-sys-reg.h-to-get-__WORDSIZE-on.patch index 525a1555b..5892cfa7d 100644 --- a/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0004-elf_reader.cc-include-sys-reg.h-to-get-__WORDSIZE-on.patch +++ b/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0004-elf_reader.cc-include-sys-reg.h-to-get-__WORDSIZE-on.patch @@ -9,35 +9,33 @@ Signed-off-by: Khem Raj src/common/dwarf/elf_reader.cc | 1 + 1 file changed, 1 insertion(+) -Index: git/src/common/dwarf/elf_reader.cc -=================================================================== ---- git.orig/src/common/dwarf/elf_reader.cc -+++ git/src/common/dwarf/elf_reader.cc -@@ -29,10 +29,13 @@ - #ifndef _GNU_SOURCE +--- a/src/common/dwarf/elf_reader.cc ++++ b/src/common/dwarf/elf_reader.cc +@@ -30,12 +30,16 @@ #define _GNU_SOURCE // needed for pread() #endif -- + +#include - #include - #include + #include + #include + #include #include + #include + #include +#ifdef HAVE_SYS_REG_H +#include +#endif #include - #include - #include -Index: git/configure.ac -=================================================================== ---- git.orig/configure.ac -+++ git/configure.ac + + #include +--- a/configure.ac ++++ b/configure.ac @@ -72,7 +72,7 @@ AC_ARG_ENABLE(m32, AC_HEADER_STDC AC_SYS_LARGEFILE AX_PTHREAD --AC_CHECK_HEADERS([a.out.h stab.h sys/random.h]) -+AC_CHECK_HEADERS([a.out.h stab.h sys/random.h sys/reg.h]) - AC_CHECK_FUNCS([arc4random getrandom]) - - AX_CXX_COMPILE_STDCXX(11, noext, mandatory) +-AC_CHECK_HEADERS([a.out.h stab.h sys/mman.h sys/random.h]) ++AC_CHECK_HEADERS([a.out.h stab.h sys/mman.h sys/random.h sys/reg.h]) + AC_CHECK_FUNCS([arc4random getcontext getrandom memfd_create]) + AM_CONDITIONAL([HAVE_GETCONTEXT], [test "x$ac_cv_func_getcontext" = xyes]) + AM_CONDITIONAL([HAVE_MEMFD_CREATE], [test "x$ac_cv_func_memfd_create" = xyes]) diff --git a/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/mips_asm_sgidefs.patch b/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/mips_asm_sgidefs.patch index 19bb56044..96f5f48cc 100644 --- a/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/mips_asm_sgidefs.patch +++ b/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/mips_asm_sgidefs.patch @@ -1,12 +1,9 @@ -Index: lss/linux_syscall_support.h -=================================================================== ---- lss.orig/linux_syscall_support.h -+++ lss/linux_syscall_support.h -@@ -118,21 +118,13 @@ extern "C" { - #include +--- a/linux_syscall_support.h ++++ b/linux_syscall_support.h +@@ -119,14 +119,7 @@ extern "C" { #ifdef __mips__ --/* Include definitions of the ABI currently in use. */ + /* Include definitions of the ABI currently in use. */ -#ifdef __ANDROID__ -/* Android doesn't have sgidefs.h, but does have asm/sgidefs.h, - * which has the definitions we need. @@ -18,10 +15,3 @@ Index: lss/linux_syscall_support.h #endif #endif - /* The Android NDK's #defines these macros as aliases - * to their non-64 counterparts. To avoid naming conflict, remove them. */ --#ifdef __ANDROID__ -+#if defined(__ANDROID__) || (defined(__linux__) && !defined(__glibc__)) - /* These are restored by the corresponding #pragma pop_macro near - * the end of this file. */ - # pragma push_macro("stat64") diff --git a/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad_git.bb b/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad_git.bb index daf262ed6..81955f450 100644 --- a/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad_git.bb +++ b/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad_git.bb @@ -6,11 +6,13 @@ SUMMARY = "An open-source multi-platform crash reporting system" DESCRIPTION = "Breakpad is a library and tool suite that allows you to distribute an application to users with compiler-provided debugging information removed, record crashes in compact \"minidump\" files, send them back to your server, and produce C and C++ stack traces from these minidumps. " HOMEPAGE = "https://code.google.com/p/google-breakpad/" LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=56c24a43c81c3af6fcf590851931489e" +LIC_FILES_CHKSUM = "file://LICENSE;md5=8bb274ebd1901085fd71a8d8afe8831b" SECTION = "libs" inherit autotools +DEPENDS_append_libc-musl = " libucontext" + BBCLASSEXTEND = "native" PE = "2" @@ -19,27 +21,25 @@ PV = "1.0" SRCREV_FORMAT = "breakpad_gtest_protobuf_lss_gyp" -SRCREV_breakpad = "0c0e24f709288a129d665ec27d6f089189318385" +SRCREV_breakpad = "8b22babdf894e5aa98b2dbbe103f7e3856a71944" #v1.10.0 -SRCREV_gtest = "5ec7f0c4a113e2f18ac2c6cc7df51ad6afc24081" +SRCREV_gtest = "4fe018038f87675c083d0cfb6a6b57c274fb1753" SRCREV_protobuf = "cb6dd4ef5f82e41e06179dcd57d3b1d9246ad6ac" -SRCREV_lss = "8048ece6c16c91acfe0d36d1d3cc0890ab6e945c" +SRCREV_lss = "fd00dbbd0c06a309c657d89e9430143b179ff6db" SRCREV_gyp = "324dd166b7c0b39d513026fa52d6280ac6d56770" -SRC_URI = "git://github.com/google/breakpad;name=breakpad \ +SRC_URI = "git://github.com/google/breakpad;name=breakpad;branch=main \ git://github.com/google/googletest.git;destsuffix=git/src/testing/gtest;name=gtest \ - git://github.com/google/protobuf.git;destsuffix=git/src/third_party/protobuf/protobuf;name=protobuf \ - git://chromium.googlesource.com/linux-syscall-support;protocol=https;destsuffix=git/src/third_party/lss;name=lss \ + git://github.com/protocolbuffers/protobuf.git;destsuffix=git/src/third_party/protobuf/protobuf;name=protobuf \ + git://chromium.googlesource.com/linux-syscall-support;protocol=https;branch=main;destsuffix=git/src/third_party/lss;name=lss \ git://chromium.googlesource.com/external/gyp;protocol=https;destsuffix=git/src/tools/gyp;name=gyp \ file://0001-include-sys-reg.h-to-get-__WORDSIZE-on-musl-libc.patch \ file://0003-Fix-conflict-between-musl-libc-dirent.h-and-lss.patch \ file://0001-Turn-off-sign-compare-for-musl-libc.patch \ - file://0002-sys-signal.h-is-a-nonportable-alias-for-signal.h.patch \ file://0003-Dont-include-stab.h.patch \ file://0004-elf_reader.cc-include-sys-reg.h-to-get-__WORDSIZE-on.patch \ - file://0002-Use-_fpstate-instead-of-_libc_fpstate-on-linux.patch \ file://mcontext.patch \ - file://0001-disable-calls-to-getcontext-with-musl.patch \ + file://0001-Remove-HAVE_GETCONTEXT-check-to-add-local-implementa.patch \ file://0001-lss-Match-syscalls-to-match-musl.patch;patchdir=src/third_party/lss \ file://mips_asm_sgidefs.patch;patchdir=src/third_party/lss \ file://0001-Do-not-add-stack-pointer-to-clobber-list.patch;patchdir=src/third_party/lss \ @@ -47,8 +47,11 @@ SRC_URI = "git://github.com/google/breakpad;name=breakpad \ S = "${WORKDIR}/git" CXXFLAGS += "-D_GNU_SOURCE" +LDFLAGS_append_libc-musl = " -lucontext" COMPATIBLE_HOST_powerpc = "null" +COMPATIBLE_HOST_powerpc64 = "null" +COMPATIBLE_HOST_powerpc64le = "null" COMPATIBLE_HOST_riscv64 = "null" COMPATIBLE_HOST_riscv32 = "null" diff --git a/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc_1.36.1.bb b/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc_1.36.1.bb deleted file mode 100644 index 358ec80e8..000000000 --- a/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc_1.36.1.bb +++ /dev/null @@ -1,75 +0,0 @@ -DESCRIPTION = "A high performance, open source, general-purpose RPC framework. \ -Provides gRPC libraries for multiple languages written on top of shared C core library \ -(C++, Node.js, Python, Ruby, Objective-C, PHP, C#)" -HOMEPAGE = "https://github.com/grpc/grpc" -SECTION = "libs" -LICENSE = "Apache-2" -LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" - -DEPENDS = "c-ares protobuf protobuf-native protobuf-c protobuf-c-native openssl libnsl2 abseil-cpp re2" -DEPENDS_append_class-target = " googletest grpc-native " -DEPENDS_append_class-nativesdk = " grpc-native " - -S = "${WORKDIR}/git" -SRCREV_grpc = "3b7f86e3516746c5f0db1947e0d65e94159bcb12" -BRANCH = "v1.36.x" -SRC_URI = "git://github.com/grpc/grpc.git;protocol=https;name=grpc;branch=${BRANCH} \ - " -# Fixes build with older compilers 4.8 especially on ubuntu 14.04 -CXXFLAGS_append_class-native = " -Wl,--no-as-needed" - -inherit cmake pkgconfig - -EXTRA_OECMAKE = " \ - -DgRPC_CARES_PROVIDER=package \ - -DgRPC_ZLIB_PROVIDER=package \ - -DgRPC_SSL_PROVIDER=package \ - -DgRPC_PROTOBUF_PROVIDER=package \ - -DgRPC_ABSL_PROVIDER=package \ - -DgRPC_RE2_PROVIDER=package \ - -DgRPC_INSTALL=ON \ - -DCMAKE_CROSSCOMPILING=ON \ - -DBUILD_SHARED_LIBS=ON \ - -DgRPC_INSTALL_LIBDIR=${baselib} \ - -DgRPC_INSTALL_CMAKEDIR=${baselib}/cmake/${BPN} \ - " - -PACKAGECONFIG ??= "cpp" -PACKAGECONFIG[cpp] = "-DgRPC_BUILD_GRPC_CPP_PLUGIN=ON,-DgRPC_BUILD_GRPC_CPP_PLUGIN=OFF" -PACKAGECONFIG[csharp] = "-DgRPC_BUILD_GRPC_CSHARP_PLUGIN=ON,-DgRPC_BUILD_GRPC_CSHARP_PLUGIN=OFF" -PACKAGECONFIG[node] = "-DgRPC_BUILD_GRPC_NODE_PLUGIN=ON,-DgRPC_BUILD_GRPC_NODE_PLUGIN=OFF" -PACKAGECONFIG[objective-c] = "-DgRPC_BUILD_GRPC_OBJECTIVE_C_PLUGIN=ON,-DgRPC_BUILD_GRPC_OBJECTIVE_C_PLUGIN=OFF" -PACKAGECONFIG[php] = "-DgRPC_BUILD_GRPC_PHP_PLUGIN=ON,-DgRPC_BUILD_GRPC_PHP_PLUGIN=OFF" -PACKAGECONFIG[python] = "-DgRPC_BUILD_GRPC_PYTHON_PLUGIN=ON,-DgRPC_BUILD_GRPC_PYTHON_PLUGIN=OFF" -PACKAGECONFIG[ruby] = "-DgRPC_BUILD_GRPC_RUBY_PLUGIN=ON,-DgRPC_BUILD_GRPC_RUBY_PLUGIN=OFF" -PACKAGECONFIG[protobuf-lite] = "-DgRPC_USE_PROTO_LITE=ON,-DgRPC_USE_PROTO_LITE=OFF,protobuf-lite" - -do_configure_prepend() { - sed -i -e "s#lib/pkgconfig/#${baselib}/pkgconfig/#g" ${S}/CMakeLists.txt -} - -do_configure_prepend_mipsarch() { - sed -i -e "s/set(_gRPC_ALLTARGETS_LIBRARIES \${CMAKE_DL_LIBS} rt m pthread)/set(_gRPC_ALLTARGETS_LIBRARIES \${CMAKE_DL_LIBS} atomic rt m pthread)/g" ${S}/CMakeLists.txt -} - -do_configure_prepend_powerpc() { - sed -i -e "s/set(_gRPC_ALLTARGETS_LIBRARIES \${CMAKE_DL_LIBS} rt m pthread)/set(_gRPC_ALLTARGETS_LIBRARIES \${CMAKE_DL_LIBS} atomic rt m pthread)/g" ${S}/CMakeLists.txt -} - -do_configure_prepend_riscv64() { - sed -i -e "s/set(_gRPC_ALLTARGETS_LIBRARIES \${CMAKE_DL_LIBS} rt m pthread)/set(_gRPC_ALLTARGETS_LIBRARIES \${CMAKE_DL_LIBS} atomic rt m pthread)/g" ${S}/CMakeLists.txt -} - -do_configure_prepend_riscv32() { - sed -i -e "s/set(_gRPC_ALLTARGETS_LIBRARIES \${CMAKE_DL_LIBS} rt m pthread)/set(_gRPC_ALLTARGETS_LIBRARIES \${CMAKE_DL_LIBS} atomic rt m pthread)/g" ${S}/CMakeLists.txt -} - -do_configure_prepend_toolchain-clang_x86() { - sed -i -e "s/set(_gRPC_ALLTARGETS_LIBRARIES \${CMAKE_DL_LIBS} rt m pthread)/set(_gRPC_ALLTARGETS_LIBRARIES \${CMAKE_DL_LIBS} atomic rt m pthread)/g" ${S}/CMakeLists.txt -} - -BBCLASSEXTEND = "native nativesdk" - -SYSROOT_DIRS_BLACKLIST_append_class-target = " ${baselib}/cmake/grpc" - -FILES_${PN}-dev += "${bindir}" diff --git a/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc_1.36.4.bb b/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc_1.36.4.bb new file mode 100644 index 000000000..03de4997b --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc_1.36.4.bb @@ -0,0 +1,80 @@ +DESCRIPTION = "A high performance, open source, general-purpose RPC framework. \ +Provides gRPC libraries for multiple languages written on top of shared C core library \ +(C++, Node.js, Python, Ruby, Objective-C, PHP, C#)" +HOMEPAGE = "https://github.com/grpc/grpc" +SECTION = "libs" +LICENSE = "Apache-2" +LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" + +DEPENDS = "c-ares protobuf protobuf-native protobuf-c protobuf-c-native openssl libnsl2 abseil-cpp re2" +DEPENDS_append_class-target = " googletest grpc-native " +DEPENDS_append_class-nativesdk = " grpc-native " + +PACKAGE_BEFORE_PN = "${PN}-compiler" + +RDEPENDS_${PN}-compiler = "${PN}" +RDEPENDS_${PN}-dev += "${PN}-compiler" + +S = "${WORKDIR}/git" +SRCREV_grpc = "3e53dbe8213137d2c731ecd4d88ebd2948941d75" +BRANCH = "v1.36.x" +SRC_URI = "git://github.com/grpc/grpc.git;protocol=https;name=grpc;branch=${BRANCH} \ + " +# Fixes build with older compilers 4.8 especially on ubuntu 14.04 +CXXFLAGS_append_class-native = " -Wl,--no-as-needed" + +inherit cmake pkgconfig + +EXTRA_OECMAKE = " \ + -DgRPC_CARES_PROVIDER=package \ + -DgRPC_ZLIB_PROVIDER=package \ + -DgRPC_SSL_PROVIDER=package \ + -DgRPC_PROTOBUF_PROVIDER=package \ + -DgRPC_ABSL_PROVIDER=package \ + -DgRPC_RE2_PROVIDER=package \ + -DgRPC_INSTALL=ON \ + -DCMAKE_CROSSCOMPILING=ON \ + -DBUILD_SHARED_LIBS=ON \ + -DgRPC_INSTALL_LIBDIR=${baselib} \ + -DgRPC_INSTALL_CMAKEDIR=${baselib}/cmake/${BPN} \ + " + +PACKAGECONFIG ??= "cpp" +PACKAGECONFIG[cpp] = "-DgRPC_BUILD_GRPC_CPP_PLUGIN=ON,-DgRPC_BUILD_GRPC_CPP_PLUGIN=OFF" +PACKAGECONFIG[csharp] = "-DgRPC_BUILD_GRPC_CSHARP_PLUGIN=ON,-DgRPC_BUILD_GRPC_CSHARP_PLUGIN=OFF" +PACKAGECONFIG[node] = "-DgRPC_BUILD_GRPC_NODE_PLUGIN=ON,-DgRPC_BUILD_GRPC_NODE_PLUGIN=OFF" +PACKAGECONFIG[objective-c] = "-DgRPC_BUILD_GRPC_OBJECTIVE_C_PLUGIN=ON,-DgRPC_BUILD_GRPC_OBJECTIVE_C_PLUGIN=OFF" +PACKAGECONFIG[php] = "-DgRPC_BUILD_GRPC_PHP_PLUGIN=ON,-DgRPC_BUILD_GRPC_PHP_PLUGIN=OFF" +PACKAGECONFIG[python] = "-DgRPC_BUILD_GRPC_PYTHON_PLUGIN=ON,-DgRPC_BUILD_GRPC_PYTHON_PLUGIN=OFF" +PACKAGECONFIG[ruby] = "-DgRPC_BUILD_GRPC_RUBY_PLUGIN=ON,-DgRPC_BUILD_GRPC_RUBY_PLUGIN=OFF" +PACKAGECONFIG[protobuf-lite] = "-DgRPC_USE_PROTO_LITE=ON,-DgRPC_USE_PROTO_LITE=OFF,protobuf-lite" + +do_configure_prepend() { + sed -i -e "s#lib/pkgconfig/#${baselib}/pkgconfig/#g" ${S}/CMakeLists.txt +} + +do_configure_prepend_mipsarch() { + sed -i -e "s/set(_gRPC_ALLTARGETS_LIBRARIES \${CMAKE_DL_LIBS} rt m pthread)/set(_gRPC_ALLTARGETS_LIBRARIES \${CMAKE_DL_LIBS} atomic rt m pthread)/g" ${S}/CMakeLists.txt +} + +do_configure_prepend_powerpc() { + sed -i -e "s/set(_gRPC_ALLTARGETS_LIBRARIES \${CMAKE_DL_LIBS} rt m pthread)/set(_gRPC_ALLTARGETS_LIBRARIES \${CMAKE_DL_LIBS} atomic rt m pthread)/g" ${S}/CMakeLists.txt +} + +do_configure_prepend_riscv64() { + sed -i -e "s/set(_gRPC_ALLTARGETS_LIBRARIES \${CMAKE_DL_LIBS} rt m pthread)/set(_gRPC_ALLTARGETS_LIBRARIES \${CMAKE_DL_LIBS} atomic rt m pthread)/g" ${S}/CMakeLists.txt +} + +do_configure_prepend_riscv32() { + sed -i -e "s/set(_gRPC_ALLTARGETS_LIBRARIES \${CMAKE_DL_LIBS} rt m pthread)/set(_gRPC_ALLTARGETS_LIBRARIES \${CMAKE_DL_LIBS} atomic rt m pthread)/g" ${S}/CMakeLists.txt +} + +do_configure_prepend_toolchain-clang_x86() { + sed -i -e "s/set(_gRPC_ALLTARGETS_LIBRARIES \${CMAKE_DL_LIBS} rt m pthread)/set(_gRPC_ALLTARGETS_LIBRARIES \${CMAKE_DL_LIBS} atomic rt m pthread)/g" ${S}/CMakeLists.txt +} + +BBCLASSEXTEND = "native nativesdk" + +SYSROOT_DIRS_BLACKLIST_append_class-target = " ${baselib}/cmake/grpc" + +FILES_${PN}-compiler += "${bindir}" diff --git a/meta-openembedded/meta-oe/recipes-devtools/guider/guider_3.9.7.bb b/meta-openembedded/meta-oe/recipes-devtools/guider/guider_3.9.7.bb deleted file mode 100644 index 88fad936b..000000000 --- a/meta-openembedded/meta-oe/recipes-devtools/guider/guider_3.9.7.bb +++ /dev/null @@ -1,19 +0,0 @@ -SUMMARY = "runtime performance analyzer" -HOMEPAGE = "https://github.com/iipeace/guider" -BUGTRACKER = "https://github.com/iipeace/guider/issues" -AUTHOR = "Peace Lee " - -LICENSE = "GPLv2+" -LIC_FILES_CHKSUM = "file://LICENSE;md5=2c1c00f9d3ed9e24fa69b932b7e7aff2" - -PV = "3.9.7+git${SRCPV}" - -SRC_URI = "git://github.com/iipeace/${BPN}" -SRCREV = "459b5189a46023fc98e19888b196bdc2674022fd" - -S = "${WORKDIR}/git" - -inherit setuptools3 - -RDEPENDS_${PN} = "python3 python3-core \ - python3-ctypes python3-shell python3-json" diff --git a/meta-openembedded/meta-oe/recipes-devtools/guider/guider_3.9.8.bb b/meta-openembedded/meta-oe/recipes-devtools/guider/guider_3.9.8.bb new file mode 100644 index 000000000..6277c41b4 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/guider/guider_3.9.8.bb @@ -0,0 +1,19 @@ +SUMMARY = "performance analyzer" +HOMEPAGE = "https://github.com/iipeace/guider" +BUGTRACKER = "https://github.com/iipeace/guider/issues" +AUTHOR = "Peace Lee " + +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://LICENSE;md5=2c1c00f9d3ed9e24fa69b932b7e7aff2" + +PV = "3.9.8+git${SRCPV}" + +SRC_URI = "git://github.com/iipeace/${BPN}" +SRCREV = "a502cd93b13235b7539557a91328de00b7c51bc3" + +S = "${WORKDIR}/git" + +inherit setuptools3 + +RDEPENDS_${PN} = "python3 python3-core \ + python3-ctypes python3-shell python3-json" diff --git a/meta-openembedded/meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.9.3.bb b/meta-openembedded/meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.9.3.bb deleted file mode 100644 index e41907de4..000000000 --- a/meta-openembedded/meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.9.3.bb +++ /dev/null @@ -1,25 +0,0 @@ -SUMMARY = "JSON C++ lib used to read and write json file." -DESCRIPTION = "Jsoncpp is an implementation of a JSON (http://json.org) reader \ - and writer in C++. JSON (JavaScript Object Notation) is a \ - lightweight data-interchange format. It is easy for humans to \ - read and write. It is easy for machines to parse and generate." - -HOMEPAGE = "https://github.com/open-source-parsers/jsoncpp" - -SECTION = "libs" - -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=fa2a23dd1dc6c139f35105379d76df2b" - -PE = "1" - -SRCREV = "6aba23f4a8628d599a9ef7fa4811c4ff6e4070e2" -SRC_URI = "git://github.com/open-source-parsers/jsoncpp" - -S = "${WORKDIR}/git" - -inherit cmake - -EXTRA_OECMAKE += "-DBUILD_SHARED_LIBS=ON -DJSONCPP_WITH_TESTS=OFF" - -BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.9.4.bb b/meta-openembedded/meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.9.4.bb new file mode 100644 index 000000000..a02ff4a4d --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.9.4.bb @@ -0,0 +1,25 @@ +SUMMARY = "JSON C++ lib used to read and write json file." +DESCRIPTION = "Jsoncpp is an implementation of a JSON (http://json.org) reader \ + and writer in C++. JSON (JavaScript Object Notation) is a \ + lightweight data-interchange format. It is easy for humans to \ + read and write. It is easy for machines to parse and generate." + +HOMEPAGE = "https://github.com/open-source-parsers/jsoncpp" + +SECTION = "libs" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=fa2a23dd1dc6c139f35105379d76df2b" + +PE = "1" + +SRCREV = "9059f5cad030ba11d37818847443a53918c327b1" +SRC_URI = "git://github.com/open-source-parsers/jsoncpp" + +S = "${WORKDIR}/git" + +inherit cmake + +EXTRA_OECMAKE += "-DBUILD_SHARED_LIBS=ON -DBUILD_OBJECT_LIBS=OFF -DJSONCPP_WITH_TESTS=OFF" + +BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-oe/recipes-devtools/libgee/libgee_0.20.3.bb b/meta-openembedded/meta-oe/recipes-devtools/libgee/libgee_0.20.3.bb deleted file mode 100644 index 576eff6d5..000000000 --- a/meta-openembedded/meta-oe/recipes-devtools/libgee/libgee_0.20.3.bb +++ /dev/null @@ -1,22 +0,0 @@ -DESCRIPTION = "libgee is a collection library providing GObject-based interfaces \ -and classes for commonly used data structures." -HOMEPAGE = "http://live.gnome.org/Libgee" -SECTION = "libs" -DEPENDS = "glib-2.0" - -BBCLASSEXTEND = "native" -LICENSE = "LGPLv2.1" -LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24" - -PE = "1" -inherit gnomebase vala gobject-introspection - -do_configure_prepend() { - MACROS="libtool.m4 lt~obsolete.m4 ltoptions.m4 ltsugar.m4 ltversion.m4" - for i in ${MACROS}; do - rm -f m4/$i - done -} - -SRC_URI[archive.md5sum] = "e574b3952b93d219b5ec7c74c5892c33" -SRC_URI[archive.sha256sum] = "d0b5edefc88cbca5f1709d19fa62aef490922c6577a14ac4e7b085507911a5de" diff --git a/meta-openembedded/meta-oe/recipes-devtools/libgee/libgee_0.20.4.bb b/meta-openembedded/meta-oe/recipes-devtools/libgee/libgee_0.20.4.bb new file mode 100644 index 000000000..832254a00 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/libgee/libgee_0.20.4.bb @@ -0,0 +1,22 @@ +DESCRIPTION = "libgee is a collection library providing GObject-based interfaces \ +and classes for commonly used data structures." +HOMEPAGE = "http://live.gnome.org/Libgee" +SECTION = "libs" +DEPENDS = "glib-2.0" + +BBCLASSEXTEND = "native" +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24" + +PE = "1" +inherit gnomebase vala gobject-introspection + +do_configure_prepend() { + MACROS="libtool.m4 lt~obsolete.m4 ltoptions.m4 ltsugar.m4 ltversion.m4" + for i in ${MACROS}; do + rm -f m4/$i + done +} + +SRC_URI[archive.md5sum] = "4d7d6f1f8054f1b3466c752ac2e50946" +SRC_URI[archive.sha256sum] = "524c1bf390f9cdda4fbd9a47b269980dc64ab5280f0801b53bc69d782c72de0e" diff --git a/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/add_ppc64le.patch b/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/add_ppc64le.patch new file mode 100644 index 000000000..dff61b150 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/add_ppc64le.patch @@ -0,0 +1,39 @@ +--- a/sysdeps/linux-gnu/ppc/ptrace.h ++++ b/sysdeps/linux-gnu/ppc/ptrace.h +@@ -18,4 +18,5 @@ + * 02110-1301 USA + */ + ++#include + #include +--- a/sysdeps/linux-gnu/ppc/regs.c ++++ b/sysdeps/linux-gnu/ppc/regs.c +@@ -23,11 +23,14 @@ + + #include "config.h" + ++#include + #include + #include + #include + #include ++#ifdef HAVE_ERROR_H + #include ++#endif + + #include "proc.h" + #include "common.h" +@@ -49,8 +52,11 @@ get_instruction_pointer(struct process * + void + set_instruction_pointer(struct process *proc, void *addr) + { +- if (ptrace(PTRACE_POKEUSER, proc->pid, sizeof(long)*PT_NIP, addr) != 0) +- error(0, errno, "set_instruction_pointer"); ++ if (ptrace(PTRACE_POKEUSER, proc->pid, sizeof(long)*PT_NIP, addr) != 0){ ++ report_global_error("%s: set_instruction_pointer", ++ strerror(errno)); ++ exit(1); ++ } + } + + void * diff --git a/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace_git.bb b/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace_git.bb index 5710943d7..17264cef5 100644 --- a/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace_git.bb +++ b/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace_git.bb @@ -30,6 +30,8 @@ SRC_URI = "git://github.com/sparkleholic/ltrace.git;branch=master;protocol=http file://0001-Bug-fix-for-data-type-length-judgment.patch \ file://0001-ensure-the-struct-pointers-are-null-initilized.patch \ " +SRC_URI_append_libc-musl = " file://add_ppc64le.patch" + S = "${WORKDIR}/git" inherit autotools diff --git a/meta-openembedded/meta-oe/recipes-devtools/musl/musl-nscd/0001-nsswitch.y-Replace-empty-bison-extension.patch b/meta-openembedded/meta-oe/recipes-devtools/musl/musl-nscd/0001-nsswitch.y-Replace-empty-bison-extension.patch new file mode 100644 index 000000000..67c8b1bcf --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/musl/musl-nscd/0001-nsswitch.y-Replace-empty-bison-extension.patch @@ -0,0 +1,50 @@ +From 82e51fb8ba2640b318826ef4e17b0f5c09c8dded Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Mon, 8 Mar 2021 20:10:18 -0800 +Subject: [PATCH] nsswitch.y: Replace %empty bison extension + +POSIX compliant yacc do not understand %empty therefore replace it with +/* empty */ + +https://github.com/pikhq/musl-nscd/issues/13 + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- + src/nsswitch.y | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/src/nsswitch.y b/src/nsswitch.y +index 107073b..0b7c71e 100644 +--- a/src/nsswitch.y ++++ b/src/nsswitch.y +@@ -38,7 +38,7 @@ top: + ; + + file: +- %empty { ++ /* empty */ { + list_init(&$$); + } + | file line { +@@ -88,7 +88,7 @@ modifier: + ; + + modifiers: +- %empty { ++ /* empty */ { + memcpy($$, default_actions, sizeof($$)); + } + | modifiers modifier { +@@ -112,7 +112,7 @@ item: + ; + + list: +- %empty { ++ /* empty */ { + list_init(&$$); + } + | list item { +-- +2.30.1 + diff --git a/meta-openembedded/meta-oe/recipes-devtools/musl/musl-nscd_git.bb b/meta-openembedded/meta-oe/recipes-devtools/musl/musl-nscd_git.bb index 83125a1ba..6af7ab9cd 100644 --- a/meta-openembedded/meta-oe/recipes-devtools/musl/musl-nscd_git.bb +++ b/meta-openembedded/meta-oe/recipes-devtools/musl/musl-nscd_git.bb @@ -15,6 +15,7 @@ SRCREV = "af581482a3e1059458f3c8b20a56f82807ca3bd4" SRC_URI = "git://github.com/pikhq/musl-nscd \ file://0001-Fix-build-under-GCC-fno-common.patch \ file://0001-configure-Check-for-flex-if-lex-is-not-found.patch \ + file://0001-nsswitch.y-Replace-empty-bison-extension.patch \ " UPSTREAM_CHECK_COMMITS = "1" diff --git a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_12.20.2.bb b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_12.20.2.bb deleted file mode 100644 index 6acc36b4f..000000000 --- a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_12.20.2.bb +++ /dev/null @@ -1,161 +0,0 @@ -DESCRIPTION = "nodeJS Evented I/O for V8 JavaScript" -HOMEPAGE = "http://nodejs.org" -LICENSE = "MIT & BSD & Artistic-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=8c66ff8861d9f96076a7cb61e3d75f54" - -DEPENDS = "openssl" -DEPENDS_append_class-target = " nodejs-native" - -inherit pkgconfig python3native - -COMPATIBLE_MACHINE_armv4 = "(!.*armv4).*" -COMPATIBLE_MACHINE_armv5 = "(!.*armv5).*" -COMPATIBLE_MACHINE_mips64 = "(!.*mips64).*" - -COMPATIBLE_HOST_riscv64 = "null" -COMPATIBLE_HOST_riscv32 = "null" - -SRC_URI = "http://nodejs.org/dist/v${PV}/node-v${PV}.tar.xz \ - file://0001-Disable-running-gyp-files-for-bundled-deps.patch \ - file://0003-Install-both-binaries-and-use-libdir.patch \ - file://0004-v8-don-t-override-ARM-CFLAGS.patch \ - file://big-endian.patch \ - file://mips-warnings.patch \ - file://0001-Remove-use-of-register-r7-because-llvm-now-issues-an.patch \ - " -SRC_URI_append_class-target = " \ - file://0002-Using-native-binaries.patch \ - " -SRC_URI[sha256sum] = "961ad600f0706c396390ebc7767fb01d5e3792a5022dc2e7774796756eec6d3c" - -S = "${WORKDIR}/node-v${PV}" - -# v8 errors out if you have set CCACHE -CCACHE = "" - -def map_nodejs_arch(a, d): - import re - - if re.match('i.86$', a): return 'ia32' - elif re.match('x86_64$', a): return 'x64' - elif re.match('aarch64$', a): return 'arm64' - elif re.match('(powerpc64|ppc64le)$', a): return 'ppc64' - elif re.match('powerpc$', a): return 'ppc' - return a - -ARCHFLAGS_arm = "${@bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', '--with-arm-float-abi=hard', '--with-arm-float-abi=softfp', d)} \ - ${@bb.utils.contains('TUNE_FEATURES', 'neon', '--with-arm-fpu=neon', \ - bb.utils.contains('TUNE_FEATURES', 'vfpv3d16', '--with-arm-fpu=vfpv3-d16', \ - bb.utils.contains('TUNE_FEATURES', 'vfpv3', '--with-arm-fpu=vfpv3', \ - '--with-arm-fpu=vfp', d), d), d)}" -GYP_DEFINES_append_mipsel = " mips_arch_variant='r1' " -ARCHFLAGS ?= "" - -PACKAGECONFIG ??= "ares brotli icu zlib" - -PACKAGECONFIG[ares] = "--shared-cares,,c-ares" -PACKAGECONFIG[brotli] = "--shared-brotli,,brotli" -PACKAGECONFIG[icu] = "--with-intl=system-icu,--without-intl,icu" -PACKAGECONFIG[libuv] = "--shared-libuv,,libuv" -PACKAGECONFIG[nghttp2] = "--shared-nghttp2,,nghttp2" -PACKAGECONFIG[shared] = "--shared" -PACKAGECONFIG[zlib] = "--shared-zlib,,zlib" - -# We don't want to cross-compile during target compile, -# and we need to use the right flags during host compile, -# too. -EXTRA_OEMAKE = "\ - CC.host='${CC}' \ - CFLAGS.host='${CPPFLAGS} ${CFLAGS}' \ - CXX.host='${CXX}' \ - CXXFLAGS.host='${CPPFLAGS} ${CXXFLAGS}' \ - LDFLAGS.host='${LDFLAGS}' \ - AR.host='${AR}' \ - \ - builddir_name=./ \ -" - -python do_unpack() { - import shutil - - bb.build.exec_func('base_do_unpack', d) - - shutil.rmtree(d.getVar('S') + '/deps/openssl', True) - if 'ares' in d.getVar('PACKAGECONFIG'): - shutil.rmtree(d.getVar('S') + '/deps/cares', True) - if 'brotli' in d.getVar('PACKAGECONFIG'): - shutil.rmtree(d.getVar('S') + '/deps/brotli', True) - if 'libuv' in d.getVar('PACKAGECONFIG'): - shutil.rmtree(d.getVar('S') + '/deps/uv', True) - if 'nghttp2' in d.getVar('PACKAGECONFIG'): - shutil.rmtree(d.getVar('S') + '/deps/nghttp2', True) - if 'zlib' in d.getVar('PACKAGECONFIG'): - shutil.rmtree(d.getVar('S') + '/deps/zlib', True) -} - -# Node is way too cool to use proper autotools, so we install two wrappers to forcefully inject proper arch cflags to workaround gypi -do_configure () { - export LD="${CXX}" - GYP_DEFINES="${GYP_DEFINES}" export GYP_DEFINES - # $TARGET_ARCH settings don't match --dest-cpu settings - python3 configure.py --prefix=${prefix} --cross-compiling --without-snapshot --shared-openssl \ - --without-dtrace \ - --without-etw \ - --dest-cpu="${@map_nodejs_arch(d.getVar('TARGET_ARCH'), d)}" \ - --dest-os=linux \ - --libdir=${D}${libdir} \ - ${ARCHFLAGS} \ - ${PACKAGECONFIG_CONFARGS} -} - -do_compile () { - export LD="${CXX}" - oe_runmake BUILDTYPE=Release -} - -do_install () { - oe_runmake install DESTDIR=${D} - - # wasn't updated since 2009 and is the only thing requiring python2 in runtime - # ERROR: nodejs-12.14.1-r0 do_package_qa: QA Issue: /usr/lib/node_modules/npm/node_modules/node-gyp/gyp/samples/samples contained in package nodejs-npm requires /usr/bin/python, but no providers found in RDEPENDS_nodejs-npm? [file-rdeps] - rm -f ${D}${exec_prefix}/lib/node_modules/npm/node_modules/node-gyp/gyp/samples/samples -} - -do_install_append_class-native() { - # use node from PATH instead of absolute path to sysroot - # node-v0.10.25/tools/install.py is using: - # shebang = os.path.join(node_prefix, 'bin/node') - # update_shebang(link_path, shebang) - # and node_prefix can be very long path to bindir in native sysroot and - # when it exceeds 128 character shebang limit it's stripped to incorrect path - # and npm fails to execute like in this case with 133 characters show in log.do_install: - # updating shebang of /home/jenkins/workspace/build-webos-nightly/device/qemux86/label/open-webos-builder/BUILD-qemux86/work/x86_64-linux/nodejs-native/0.10.15-r0/image/home/jenkins/workspace/build-webos-nightly/device/qemux86/label/open-webos-builder/BUILD-qemux86/sysroots/x86_64-linux/usr/bin/npm to /home/jenkins/workspace/build-webos-nightly/device/qemux86/label/open-webos-builder/BUILD-qemux86/sysroots/x86_64-linux/usr/bin/node - # /usr/bin/npm is symlink to /usr/lib/node_modules/npm/bin/npm-cli.js - # use sed on npm-cli.js because otherwise symlink is replaced with normal file and - # npm-cli.js continues to use old shebang - sed "1s^.*^#\!/usr/bin/env node^g" -i ${D}${exec_prefix}/lib/node_modules/npm/bin/npm-cli.js - - # Install the native binaries to provide it within sysroot for the target compilation - install -d ${D}${bindir} - install -m 0755 ${S}/out/Release/torque ${D}${bindir}/torque - install -m 0755 ${S}/out/Release/bytecode_builtins_list_generator ${D}${bindir}/bytecode_builtins_list_generator - if ${@bb.utils.contains('PACKAGECONFIG','icu','true','false',d)}; then - install -m 0755 ${S}/out/Release/gen-regexp-special-case ${D}${bindir}/gen-regexp-special-case - fi - install -m 0755 ${S}/out/Release/mkcodecache ${D}${bindir}/mkcodecache - install -m 0755 ${S}/out/Release/node_mksnapshot ${D}${bindir}/node_mksnapshot -} - -do_install_append_class-target() { - sed "1s^.*^#\!${bindir}/env node^g" -i ${D}${exec_prefix}/lib/node_modules/npm/bin/npm-cli.js -} - -PACKAGES =+ "${PN}-npm" -FILES_${PN}-npm = "${exec_prefix}/lib/node_modules ${bindir}/npm ${bindir}/npx" -RDEPENDS_${PN}-npm = "bash python3-core python3-shell python3-datetime \ - python3-misc python3-multiprocessing" - -PACKAGES =+ "${PN}-systemtap" -FILES_${PN}-systemtap = "${datadir}/systemtap" - -BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_12.21.0.bb b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_12.21.0.bb new file mode 100644 index 000000000..3a2822c38 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_12.21.0.bb @@ -0,0 +1,161 @@ +DESCRIPTION = "nodeJS Evented I/O for V8 JavaScript" +HOMEPAGE = "http://nodejs.org" +LICENSE = "MIT & BSD & Artistic-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=8c66ff8861d9f96076a7cb61e3d75f54" + +DEPENDS = "openssl" +DEPENDS_append_class-target = " nodejs-native" + +inherit pkgconfig python3native + +COMPATIBLE_MACHINE_armv4 = "(!.*armv4).*" +COMPATIBLE_MACHINE_armv5 = "(!.*armv5).*" +COMPATIBLE_MACHINE_mips64 = "(!.*mips64).*" + +COMPATIBLE_HOST_riscv64 = "null" +COMPATIBLE_HOST_riscv32 = "null" + +SRC_URI = "http://nodejs.org/dist/v${PV}/node-v${PV}.tar.xz \ + file://0001-Disable-running-gyp-files-for-bundled-deps.patch \ + file://0003-Install-both-binaries-and-use-libdir.patch \ + file://0004-v8-don-t-override-ARM-CFLAGS.patch \ + file://big-endian.patch \ + file://mips-warnings.patch \ + file://0001-Remove-use-of-register-r7-because-llvm-now-issues-an.patch \ + " +SRC_URI_append_class-target = " \ + file://0002-Using-native-binaries.patch \ + " +SRC_URI[sha256sum] = "052f37ace6f569b513b5a1154b2a45d3c4d8b07d7d7c807b79f1566db61e979d" + +S = "${WORKDIR}/node-v${PV}" + +# v8 errors out if you have set CCACHE +CCACHE = "" + +def map_nodejs_arch(a, d): + import re + + if re.match('i.86$', a): return 'ia32' + elif re.match('x86_64$', a): return 'x64' + elif re.match('aarch64$', a): return 'arm64' + elif re.match('(powerpc64|powerpc64le)$', a): return 'ppc64' + elif re.match('powerpc$', a): return 'ppc' + return a + +ARCHFLAGS_arm = "${@bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', '--with-arm-float-abi=hard', '--with-arm-float-abi=softfp', d)} \ + ${@bb.utils.contains('TUNE_FEATURES', 'neon', '--with-arm-fpu=neon', \ + bb.utils.contains('TUNE_FEATURES', 'vfpv3d16', '--with-arm-fpu=vfpv3-d16', \ + bb.utils.contains('TUNE_FEATURES', 'vfpv3', '--with-arm-fpu=vfpv3', \ + '--with-arm-fpu=vfp', d), d), d)}" +GYP_DEFINES_append_mipsel = " mips_arch_variant='r1' " +ARCHFLAGS ?= "" + +PACKAGECONFIG ??= "ares brotli icu zlib" + +PACKAGECONFIG[ares] = "--shared-cares,,c-ares" +PACKAGECONFIG[brotli] = "--shared-brotli,,brotli" +PACKAGECONFIG[icu] = "--with-intl=system-icu,--without-intl,icu" +PACKAGECONFIG[libuv] = "--shared-libuv,,libuv" +PACKAGECONFIG[nghttp2] = "--shared-nghttp2,,nghttp2" +PACKAGECONFIG[shared] = "--shared" +PACKAGECONFIG[zlib] = "--shared-zlib,,zlib" + +# We don't want to cross-compile during target compile, +# and we need to use the right flags during host compile, +# too. +EXTRA_OEMAKE = "\ + CC.host='${CC}' \ + CFLAGS.host='${CPPFLAGS} ${CFLAGS}' \ + CXX.host='${CXX}' \ + CXXFLAGS.host='${CPPFLAGS} ${CXXFLAGS}' \ + LDFLAGS.host='${LDFLAGS}' \ + AR.host='${AR}' \ + \ + builddir_name=./ \ +" + +python do_unpack() { + import shutil + + bb.build.exec_func('base_do_unpack', d) + + shutil.rmtree(d.getVar('S') + '/deps/openssl', True) + if 'ares' in d.getVar('PACKAGECONFIG'): + shutil.rmtree(d.getVar('S') + '/deps/cares', True) + if 'brotli' in d.getVar('PACKAGECONFIG'): + shutil.rmtree(d.getVar('S') + '/deps/brotli', True) + if 'libuv' in d.getVar('PACKAGECONFIG'): + shutil.rmtree(d.getVar('S') + '/deps/uv', True) + if 'nghttp2' in d.getVar('PACKAGECONFIG'): + shutil.rmtree(d.getVar('S') + '/deps/nghttp2', True) + if 'zlib' in d.getVar('PACKAGECONFIG'): + shutil.rmtree(d.getVar('S') + '/deps/zlib', True) +} + +# Node is way too cool to use proper autotools, so we install two wrappers to forcefully inject proper arch cflags to workaround gypi +do_configure () { + export LD="${CXX}" + GYP_DEFINES="${GYP_DEFINES}" export GYP_DEFINES + # $TARGET_ARCH settings don't match --dest-cpu settings + python3 configure.py --prefix=${prefix} --cross-compiling --without-snapshot --shared-openssl \ + --without-dtrace \ + --without-etw \ + --dest-cpu="${@map_nodejs_arch(d.getVar('TARGET_ARCH'), d)}" \ + --dest-os=linux \ + --libdir=${D}${libdir} \ + ${ARCHFLAGS} \ + ${PACKAGECONFIG_CONFARGS} +} + +do_compile () { + export LD="${CXX}" + oe_runmake BUILDTYPE=Release +} + +do_install () { + oe_runmake install DESTDIR=${D} + + # wasn't updated since 2009 and is the only thing requiring python2 in runtime + # ERROR: nodejs-12.14.1-r0 do_package_qa: QA Issue: /usr/lib/node_modules/npm/node_modules/node-gyp/gyp/samples/samples contained in package nodejs-npm requires /usr/bin/python, but no providers found in RDEPENDS_nodejs-npm? [file-rdeps] + rm -f ${D}${exec_prefix}/lib/node_modules/npm/node_modules/node-gyp/gyp/samples/samples +} + +do_install_append_class-native() { + # use node from PATH instead of absolute path to sysroot + # node-v0.10.25/tools/install.py is using: + # shebang = os.path.join(node_prefix, 'bin/node') + # update_shebang(link_path, shebang) + # and node_prefix can be very long path to bindir in native sysroot and + # when it exceeds 128 character shebang limit it's stripped to incorrect path + # and npm fails to execute like in this case with 133 characters show in log.do_install: + # updating shebang of /home/jenkins/workspace/build-webos-nightly/device/qemux86/label/open-webos-builder/BUILD-qemux86/work/x86_64-linux/nodejs-native/0.10.15-r0/image/home/jenkins/workspace/build-webos-nightly/device/qemux86/label/open-webos-builder/BUILD-qemux86/sysroots/x86_64-linux/usr/bin/npm to /home/jenkins/workspace/build-webos-nightly/device/qemux86/label/open-webos-builder/BUILD-qemux86/sysroots/x86_64-linux/usr/bin/node + # /usr/bin/npm is symlink to /usr/lib/node_modules/npm/bin/npm-cli.js + # use sed on npm-cli.js because otherwise symlink is replaced with normal file and + # npm-cli.js continues to use old shebang + sed "1s^.*^#\!/usr/bin/env node^g" -i ${D}${exec_prefix}/lib/node_modules/npm/bin/npm-cli.js + + # Install the native binaries to provide it within sysroot for the target compilation + install -d ${D}${bindir} + install -m 0755 ${S}/out/Release/torque ${D}${bindir}/torque + install -m 0755 ${S}/out/Release/bytecode_builtins_list_generator ${D}${bindir}/bytecode_builtins_list_generator + if ${@bb.utils.contains('PACKAGECONFIG','icu','true','false',d)}; then + install -m 0755 ${S}/out/Release/gen-regexp-special-case ${D}${bindir}/gen-regexp-special-case + fi + install -m 0755 ${S}/out/Release/mkcodecache ${D}${bindir}/mkcodecache + install -m 0755 ${S}/out/Release/node_mksnapshot ${D}${bindir}/node_mksnapshot +} + +do_install_append_class-target() { + sed "1s^.*^#\!${bindir}/env node^g" -i ${D}${exec_prefix}/lib/node_modules/npm/bin/npm-cli.js +} + +PACKAGES =+ "${PN}-npm" +FILES_${PN}-npm = "${exec_prefix}/lib/node_modules ${bindir}/npm ${bindir}/npx" +RDEPENDS_${PN}-npm = "bash python3-core python3-shell python3-datetime \ + python3-misc python3-multiprocessing" + +PACKAGES =+ "${PN}-systemtap" +FILES_${PN}-systemtap = "${datadir}/systemtap" + +BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd_git.bb b/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd_git.bb index 05e06a25d..85add50b6 100644 --- a/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd_git.bb +++ b/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd_git.bb @@ -12,12 +12,12 @@ SRC_URI = " \ " SRCREV_FORMAT = "openocd" -SRCREV_openocd = "d46f28c2ea2611f5fbbc679a5eed253d3dcd2fe3" +SRCREV_openocd = "f342aac0845a69d591ad39a025d74e9c765f6420" SRCREV_git2cl = "8373c9f74993e218a08819cbcdbab3f3564bbeba" SRCREV_jimtcl = "0aa0fb4e3a38d38a49de9eb585d93d63a370dcf6" SRCREV_libjaylink = "9aa7a5957c07bb6e862fc1a6d3153d109c7407e4" -PV = "0.10+gitr${SRCPV}" +PV = "0.11+gitr${SRCPV}" S = "${WORKDIR}/git" inherit pkgconfig autotools-brokensep gettext diff --git a/meta-openembedded/meta-oe/recipes-devtools/php/php_7.4.9.bb b/meta-openembedded/meta-oe/recipes-devtools/php/php_7.4.9.bb index f8a8755b9..e19d5dd21 100644 --- a/meta-openembedded/meta-oe/recipes-devtools/php/php_7.4.9.bb +++ b/meta-openembedded/meta-oe/recipes-devtools/php/php_7.4.9.bb @@ -214,6 +214,8 @@ RDEPENDS_${PN}-cli = "${PN}" RDEPENDS_${PN}-modphp = "${PN} apache2" RDEPENDS_${PN}-opcache = "${PN}" +ALLOW_EMPTY_${PN} = "1" + INITSCRIPT_PACKAGES = "${PN}-fpm" inherit update-rc.d diff --git a/meta-openembedded/meta-oe/recipes-devtools/ply/ply_git.bb b/meta-openembedded/meta-oe/recipes-devtools/ply/ply_git.bb index 7d693b36d..b1327efeb 100644 --- a/meta-openembedded/meta-oe/recipes-devtools/ply/ply_git.bb +++ b/meta-openembedded/meta-oe/recipes-devtools/ply/ply_git.bb @@ -5,11 +5,13 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" DEPENDS += "bison-native" +PV = "2.1.1+git${SRCPV}" + SRC_URI = "git://github.com/iovisor/ply" -SRCREV = "aa5b9ac31307ec1acece818be334ef801c802a12" +SRCREV = "e25c9134b856cc7ffe9f562ff95caf9487d16b59" S = "${WORKDIR}/git" inherit autotools-brokensep -COMPATIBLE_HOST = "(x86_64.*|aarch64.*|arm.*|powerpc.*)-linux" +COMPATIBLE_HOST = "(x86_64.*|aarch64.*|arm.*|powerpc)-linux" diff --git a/meta-openembedded/meta-oe/recipes-devtools/tclap/files/0001-tclap-add-pkg-config-file.patch b/meta-openembedded/meta-oe/recipes-devtools/tclap/files/0001-tclap-add-pkg-config-file.patch new file mode 100644 index 000000000..58c9aec08 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/tclap/files/0001-tclap-add-pkg-config-file.patch @@ -0,0 +1,50 @@ +From 9d47d2fd45c455339759dbfe9a0d6fd24b0a0fa1 Mon Sep 17 00:00:00 2001 +From: Yi Zhao +Date: Wed, 24 Mar 2021 15:39:36 +0800 +Subject: [PATCH] tclap: add pkg-config file + +The tclap switched from autotools to CMake in 1.4.0 and drop the +pkg-config file tclap.pc. Some projects (e.g. ima-inspect) still require +it. So add it back. + +Upstream-Status: Pending + +Signed-off-by: Yi Zhao +--- + CMakeLists.txt | 5 +++++ + tclap.pc.in | 7 +++++++ + 2 files changed, 12 insertions(+) + create mode 100644 tclap.pc.in + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index c2c9a26..b56eac7 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -25,6 +25,11 @@ install(FILES "${PROJECT_BINARY_DIR}/tclap/TCLAPConfig.h" + DESTINATION include/tclap + ) + ++configure_file(${CMAKE_CURRENT_SOURCE_DIR}/tclap.pc.in ++ ${CMAKE_CURRENT_BINARY_DIR}/tclap.pc @ONLY) ++install(FILES ${CMAKE_CURRENT_BINARY_DIR}/tclap.pc ++ DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) ++ + add_subdirectory(docs) + add_subdirectory(examples) + add_subdirectory(tests) +diff --git a/tclap.pc.in b/tclap.pc.in +new file mode 100644 +index 0000000..ef51c94 +--- /dev/null ++++ b/tclap.pc.in +@@ -0,0 +1,7 @@ ++prefix=@CMAKE_INSTALL_PREFIX@ ++includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@ ++ ++Name: tclap ++Description: Templatized C++ Command Line Parser ++Version: @PROJECT_VERSION@ ++Cflags: -I${includedir} +-- +2.17.1 + diff --git a/meta-openembedded/meta-oe/recipes-devtools/tclap/tclap/Makefile.am-disable-docs.patch b/meta-openembedded/meta-oe/recipes-devtools/tclap/tclap/Makefile.am-disable-docs.patch deleted file mode 100644 index 358cbefdd..000000000 --- a/meta-openembedded/meta-oe/recipes-devtools/tclap/tclap/Makefile.am-disable-docs.patch +++ /dev/null @@ -1,31 +0,0 @@ -From c209ed0e7ffca32fe3714bad9cc54bdb00c286bb Mon Sep 17 00:00:00 2001 -From: Ting Liu -Date: Mon, 15 Apr 2013 16:28:37 +0800 -Subject: [PATCH] Makefile.am: disable docs - -Upstream-Status: Inappropriate [OE specific] - -docs need some generating tool (for example, doxygen) from host which may -be not available. Disable it to avoid build issue. - -Signed-off-by: Ting Liu ---- - Makefile.am | 2 +- - 1 files changed, 1 insertions(+), 1 deletions(-) - -diff --git a/Makefile.am b/Makefile.am -index 0a6ebc9..6b42f41 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -1,7 +1,7 @@ - - ACLOCAL_AMFLAGS = -I config - --SUBDIRS = include examples docs tests msc config -+SUBDIRS = include examples tests msc config - - pkgconfigdir = $(libdir)/pkgconfig - pkgconfig_DATA = $(PACKAGE).pc --- -1.7.5 - diff --git a/meta-openembedded/meta-oe/recipes-devtools/tclap/tclap_1.2.2.bb b/meta-openembedded/meta-oe/recipes-devtools/tclap/tclap_1.2.2.bb deleted file mode 100644 index bba8d5c21..000000000 --- a/meta-openembedded/meta-oe/recipes-devtools/tclap/tclap_1.2.2.bb +++ /dev/null @@ -1,16 +0,0 @@ -SUMMARY = "Templatized C++ Command Line Parser" -HOMEPAGE = "http://tclap.sourceforge.net/" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://COPYING;md5=0ca8b9c5c5445cfa7af7e78fd27e60ed" - -SRCREV = "ec3ddcfe41b0544a4551a57439b6b3682fe31479" -SRC_URI = "git://git.code.sf.net/p/tclap/code;branch=1.2 \ - file://Makefile.am-disable-docs.patch \ -" - -S = "${WORKDIR}/git" -inherit autotools - -ALLOW_EMPTY_${PN} = "1" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-oe/recipes-devtools/tclap/tclap_1.4.0.bb b/meta-openembedded/meta-oe/recipes-devtools/tclap/tclap_1.4.0.bb new file mode 100644 index 000000000..7c8224b57 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/tclap/tclap_1.4.0.bb @@ -0,0 +1,23 @@ +SUMMARY = "Templatized C++ Command Line Parser" +HOMEPAGE = "http://tclap.sourceforge.net/" +DESCRIPTION = "TCLAP is a small, flexible library that provides a simple interface \ +for defining and accessing command line arguments. It was intially inspired by the \ +user friendly CLAP libary. The difference is that this library is templatized, so \ +the argument class is type independent. Type independence avoids identical-except-for-type \ +objects, such as IntArg, FloatArg, and StringArg. While the library is not strictly \ +compliant with the GNU or POSIX standards, it is close. \ +" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=5c64b2e8cc50917b2744a90950faa7cd" + +SRCREV = "799a8b1f99818e39fee19d0601030770af1221e1" +SRC_URI = "git://git.code.sf.net/p/tclap/code;branch=1.4 \ + file://0001-tclap-add-pkg-config-file.patch \ +" + +S = "${WORKDIR}/git" +inherit cmake + +ALLOW_EMPTY_${PN} = "1" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-oe/recipes-extended/dialog/dialog_1.3-20210117.bb b/meta-openembedded/meta-oe/recipes-extended/dialog/dialog_1.3-20210117.bb deleted file mode 100644 index 4f49fb906..000000000 --- a/meta-openembedded/meta-oe/recipes-extended/dialog/dialog_1.3-20210117.bb +++ /dev/null @@ -1,33 +0,0 @@ -SUMMARY = "display dialog boxes from shell scripts" -DESCRIPTION = "Dialog lets you to present a variety of questions \ -or display messages using dialog boxes from a shell \ -script (or any scripting language)." -HOMEPAGE = "http://invisible-island.net/dialog/" -SECTION = "console/utils" -DEPENDS = "ncurses" -LICENSE = "LGPL-2.1" -LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343" - -SRC_URI = "ftp://ftp.invisible-island.net/${BPN}/${BP}.tgz \ - " -SRC_URI[md5sum] = "c27db8bb67f71ee32ab1b54a3b3cebc3" -SRC_URI[sha256sum] = "3c1ed08f44bcf6f159f2aa6fde765db94e8997b3eefb49d8b4c86691693c43e1" - -# hardcoded here for use in dialog-static recipe -S = "${WORKDIR}/dialog-${PV}" - -inherit autotools-brokensep pkgconfig - -PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}" - -PACKAGECONFIG[x11] = "--with-x --x-includes=${STAGING_INCDIR} --x-libraries=${STAGING_LIBDIR},--without-x,virtual/libx11" - -EXTRA_OECONF = "--with-ncurses \ - --disable-rpath-hack" - -do_configure() { - gnu-configize --force - sed -i 's,${cf_ncuconfig_root}6-config,${cf_ncuconfig_root}-config,g' -i configure - sed -i 's,cf_have_ncuconfig=unknown,cf_have_ncuconfig=yes,g' -i configure - oe_runconf -} diff --git a/meta-openembedded/meta-oe/recipes-extended/dialog/dialog_1.3-20210319.bb b/meta-openembedded/meta-oe/recipes-extended/dialog/dialog_1.3-20210319.bb new file mode 100644 index 000000000..5f165617c --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/dialog/dialog_1.3-20210319.bb @@ -0,0 +1,33 @@ +SUMMARY = "display dialog boxes from shell scripts" +DESCRIPTION = "Dialog lets you to present a variety of questions \ +or display messages using dialog boxes from a shell \ +script (or any scripting language)." +HOMEPAGE = "http://invisible-island.net/dialog/" +SECTION = "console/utils" +DEPENDS = "ncurses" +LICENSE = "LGPL-2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343" + +SRC_URI = "ftp://ftp.invisible-island.net/${BPN}/${BP}.tgz \ + " +SRC_URI[md5sum] = "45a28836769d52c00c800fa3226c530d" +SRC_URI[sha256sum] = "42c6c2b35dd6d1c6cf231238e3bd6d3b7af53fc279a1af547ab9890044d46652" + +# hardcoded here for use in dialog-static recipe +S = "${WORKDIR}/dialog-${PV}" + +inherit autotools-brokensep pkgconfig + +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}" + +PACKAGECONFIG[x11] = "--with-x --x-includes=${STAGING_INCDIR} --x-libraries=${STAGING_LIBDIR},--without-x,virtual/libx11" + +EXTRA_OECONF = "--with-ncurses \ + --disable-rpath-hack" + +do_configure() { + gnu-configize --force + sed -i 's,${cf_ncuconfig_root}6-config,${cf_ncuconfig_root}-config,g' -i configure + sed -i 's,cf_have_ncuconfig=unknown,cf_have_ncuconfig=yes,g' -i configure + oe_runconf +} diff --git a/meta-openembedded/meta-oe/recipes-extended/libbacktrace/libbacktrace_git.bb b/meta-openembedded/meta-oe/recipes-extended/libbacktrace/libbacktrace_git.bb new file mode 100644 index 000000000..1f3cb97c1 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/libbacktrace/libbacktrace_git.bb @@ -0,0 +1,30 @@ +# Copyright (C) 2021 Khem Raj +# Released under the MIT license (see COPYING.MIT for the terms) + +SUMMARY = "A C library that may be linked into a C/C++ program to produce symbolic backtraces" +HOMEPAGE = "https://github.com/ianlancetaylor/libbacktrace" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=24b5b3feec63c4be0975e1fea5100440" + +DEPENDS += "libunwind" + +SRC_URI = "git://github.com/ianlancetaylor/libbacktrace;protocol=https" + +PV = "1.0+git${SRCPV}" +SRCREV = "4f57c999716847e45505b3df170150876b545088" + +S = "${WORKDIR}/git" + +inherit autotools + +EXTR_OECONF += "--with-system-libunwind" + +CFLAGS += "-fPIC" + +do_configure() { + oe_runconf +} + +# libunwind does not support RISCV yet +COMPATIBLE_HOST_riscv64 = "null" +COMPATIBLE_HOST_riscv32 = "null" diff --git a/meta-openembedded/meta-oe/recipes-extended/libleak/libleak/0001-respect-environment-variables.patch b/meta-openembedded/meta-oe/recipes-extended/libleak/libleak/0001-respect-environment-variables.patch new file mode 100644 index 000000000..bbdfa3c96 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/libleak/libleak/0001-respect-environment-variables.patch @@ -0,0 +1,25 @@ +From ea3f11a7846ad27926c6eacc0534914f4873504f Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 5 Mar 2021 19:30:09 -0800 +Subject: [PATCH] respect environment variables + +Signed-off-by: Khem Raj +--- + Makefile | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/Makefile b/Makefile +index 1d70f17..c7e726e 100644 +--- a/Makefile ++++ b/Makefile +@@ -1,5 +1,5 @@ +-CFLAGS = -g -O2 -Wall -fPIC -Ilibwuya +-LDFLAGS = -Llibwuya ++CFLAGS += -g -O2 -Wall -fPIC -Ilibwuya ++LDFLAGS += -Llibwuya + + libleak.so: libleak.o + CFLAGS='-fPIC' make -C libwuya +-- +2.30.1 + diff --git a/meta-openembedded/meta-oe/recipes-extended/libleak/libleak_git.bb b/meta-openembedded/meta-oe/recipes-extended/libleak/libleak_git.bb new file mode 100644 index 000000000..309553c90 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/libleak/libleak_git.bb @@ -0,0 +1,38 @@ +# Copyright (C) 2021 Khem Raj +# Released under the MIT license (see COPYING.MIT for the terms) + +SUMMARY = "libleak detects memory leak by hooking memory functions (e.g. malloc) by LD_PRELOAD" +HOMEPAGE = "https://github.com/WuBingzheng/libleak" +LICENSE = "GPL-2.0" +LIC_FILES_CHKSUM = "file://README.md;beginline=18;endline=21;md5=de4f705f12cdedbe452b2c3524572b03" + +DEPENDS += "libbacktrace" + +SRC_URI = "gitsm://github.com/WuBingzheng/libleak;protocol=https \ + file://0001-respect-environment-variables.patch \ + " + +PV = "1.0+git${SRCPV}" +SRCREV = "ea2bb608ae25701692269a37d39d77e966b887ac" + +S = "${WORKDIR}/git" + +do_configure () { + : +} + +do_compile () { + oe_runmake +} + +do_install () { + install -Dm 0755 ${B}/libleak.so ${D}${libdir}/libleak.so +} + +FILES_SOLIBSDEV = "" + +FILES_${PN} += "${libdir}/libleak.so" + +# libunwind does not support RISCV yet +COMPATIBLE_HOST_riscv64 = "null" +COMPATIBLE_HOST_riscv32 = "null" diff --git a/meta-openembedded/meta-oe/recipes-extended/openlmi/openlmi-tools_0.10.5.bb b/meta-openembedded/meta-oe/recipes-extended/openlmi/openlmi-tools_0.10.5.bb index 04f82d2bc..6009cd030 100644 --- a/meta-openembedded/meta-oe/recipes-extended/openlmi/openlmi-tools_0.10.5.bb +++ b/meta-openembedded/meta-oe/recipes-extended/openlmi/openlmi-tools_0.10.5.bb @@ -7,6 +7,8 @@ SECTION = "System/Management" inherit ${@bb.utils.contains("BBFILE_COLLECTIONS", "meta-python2", "setuptools", "", d)} +PNBLACKLIST[openlmi-tools] ?= "${@bb.utils.contains('I_SWEAR_TO_MIGRATE_TO_PYTHON3', 'yes', '', 'python2 is out of support for long time, read https://www.python.org/doc/sunset-python-2/ https://python3statement.org/ and if you really have to temporarily use this, then set I_SWEAR_TO_MIGRATE_TO_PYTHON3 to "yes"', d)}" + DEPENDS = "python-native python-pywbem-native python-m2crypto python-pywbem" SRC_URI = "http://fedorahosted.org/released/${BPN}/${BP}.tar.gz \ diff --git a/meta-openembedded/meta-oe/recipes-extended/rsyslog/librelp_1.10.0.bb b/meta-openembedded/meta-oe/recipes-extended/rsyslog/librelp_1.10.0.bb new file mode 100644 index 000000000..6a1f88093 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/rsyslog/librelp_1.10.0.bb @@ -0,0 +1,18 @@ +SUMMARY = "A reliable logging library" +HOMEPAGE = "https://github.com/rsyslog/librelp" + +LICENSE = "GPLv3" +LIC_FILES_CHKSUM = "file://COPYING;md5=1fb9c10ed9fd6826757615455ca893a9" + +DEPENDS = "gmp nettle libidn zlib gnutls openssl" + +SRC_URI = "git://github.com/rsyslog/librelp.git;protocol=https;branch=stable \ +" + +SRCREV = "9e749453d51d602d8159717f8a7c27971dcb4c6c" + +S = "${WORKDIR}/git" + +inherit autotools pkgconfig + +CPPFLAGS += "-Wno-error" diff --git a/meta-openembedded/meta-oe/recipes-extended/rsyslog/librelp_1.6.0.bb b/meta-openembedded/meta-oe/recipes-extended/rsyslog/librelp_1.6.0.bb deleted file mode 100644 index f3933f930..000000000 --- a/meta-openembedded/meta-oe/recipes-extended/rsyslog/librelp_1.6.0.bb +++ /dev/null @@ -1,18 +0,0 @@ -SUMMARY = "A reliable logging library" -HOMEPAGE = "https://github.com/rsyslog/librelp" - -LICENSE = "GPLv3" -LIC_FILES_CHKSUM = "file://COPYING;md5=1fb9c10ed9fd6826757615455ca893a9" - -DEPENDS = "gmp nettle libidn zlib gnutls openssl" - -SRC_URI = "git://github.com/rsyslog/librelp.git;protocol=https \ -" - -SRCREV = "fe366f3770320cbe76bac7e84b26a48491d14531" - -S = "${WORKDIR}/git" - -inherit autotools pkgconfig - -CPPFLAGS += "-Wno-error" diff --git a/meta-openembedded/meta-oe/recipes-extended/sysdig/sysdig/0001-Fix-build-with-musl-backtrace-APIs-are-glibc-specifi.patch b/meta-openembedded/meta-oe/recipes-extended/sysdig/sysdig/0001-Fix-build-with-musl-backtrace-APIs-are-glibc-specifi.patch deleted file mode 100644 index cb8061157..000000000 --- a/meta-openembedded/meta-oe/recipes-extended/sysdig/sysdig/0001-Fix-build-with-musl-backtrace-APIs-are-glibc-specifi.patch +++ /dev/null @@ -1,49 +0,0 @@ -From 290703a5d21f34ea5ec23efc815a9f4df241e7e8 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 23 Oct 2015 00:33:32 -0700 -Subject: [PATCH] Fix build with musl, backtrace() APIs are glibc specific - -Signed-off-by: Khem Raj ---- - userspace/libsinsp/utils.cpp | 4 +++- - userspace/libsinsp/utils.h | 2 +- - 2 files changed, 4 insertions(+), 2 deletions(-) - ---- a/userspace/libsinsp/utils.cpp -+++ b/userspace/libsinsp/utils.cpp -@@ -22,7 +22,7 @@ limitations under the License. - #include - #include - #include --#ifndef CYGWING_AGENT -+#if !defined(CYGWING_AGENT) || defined(__GLIBC__) - #include - #endif - #include -@@ -780,6 +780,7 @@ bool sinsp_utils::glob_match(const char - - #ifndef CYGWING_AGENT - #ifndef _WIN32 -+#ifdef __GLIBC__ - void sinsp_utils::bt(void) - { - static const char start[] = "BACKTRACE ------------"; -@@ -801,6 +802,7 @@ void sinsp_utils::bt(void) - - free(bt_syms); - } -+#endif // Glibc - #endif // _WIN32 - #endif // CYGWING_AGENT - ---- a/userspace/libsinsp/utils.h -+++ b/userspace/libsinsp/utils.h -@@ -104,7 +104,7 @@ public: - - static bool glob_match(const char *pattern, const char *string); - --#ifndef _WIN32 -+#if not defined(_WIN32) && defined(__GLIBC__) - // - // Print the call stack - // diff --git a/meta-openembedded/meta-oe/recipes-extended/sysdig/sysdig/fix-uint64-const.patch b/meta-openembedded/meta-oe/recipes-extended/sysdig/sysdig/fix-uint64-const.patch deleted file mode 100644 index 5c756294b..000000000 --- a/meta-openembedded/meta-oe/recipes-extended/sysdig/sysdig/fix-uint64-const.patch +++ /dev/null @@ -1,16 +0,0 @@ -Fix x86 build - -Upstream-Status: Pending -Signed-off-by: Khem Raj - ---- a/userspace/libsinsp/cgroup_limits.cpp -+++ b/userspace/libsinsp/cgroup_limits.cpp -@@ -9,7 +9,7 @@ namespace { - // This reports extremely large values (e.g. almost-but-not-quite 9EiB as set by k8s) as unlimited. - // Note: we use the same maximum value for cpu shares/quotas as well; the typical values are much lower - // and so should never exceed CGROUP_VAL_MAX either --constexpr const int64_t CGROUP_VAL_MAX = (1UL << 42u) - 1; -+constexpr const int64_t CGROUP_VAL_MAX = (1ULL << 42u) - 1; - - /** - * \brief Read a single int64_t value from cgroupfs diff --git a/meta-openembedded/meta-oe/recipes-extended/sysdig/sysdig_git.bb b/meta-openembedded/meta-oe/recipes-extended/sysdig/sysdig_git.bb index 04a022af4..d9da19057 100644 --- a/meta-openembedded/meta-oe/recipes-extended/sysdig/sysdig_git.bb +++ b/meta-openembedded/meta-oe/recipes-extended/sysdig/sysdig_git.bb @@ -15,24 +15,21 @@ JIT_mipsarchn64 = "" JIT_riscv64 = "" JIT_riscv32 = "" -DEPENDS += "lua${JIT} zlib c-ares grpc-native grpc curl ncurses jsoncpp tbb jq openssl elfutils protobuf protobuf-native jq-native" +DEPENDS += "libb64 lua${JIT} zlib c-ares grpc-native grpc curl ncurses jsoncpp tbb jq openssl elfutils protobuf protobuf-native jq-native" RDEPENDS_${PN} = "bash" SRC_URI = "git://github.com/draios/sysdig.git;branch=dev \ file://0001-fix-build-with-LuaJIT-2.1-betas.patch \ - file://0001-Fix-build-with-musl-backtrace-APIs-are-glibc-specifi.patch \ - file://fix-uint64-const.patch \ file://aarch64.patch \ " -SRCREV = "8daeef8da752c5f07f439391bc20c5948eb11470" -PV = "0.26.6" +SRCREV = "67833b2aca06bd9d11cff7cb29f04fbf4ef96cad" +PV = "0.27.1" S = "${WORKDIR}/git" EXTRA_OECMAKE = "\ -DBUILD_DRIVER=OFF \ -DUSE_BUNDLED_DEPS=OFF \ - -DUSE_BUNDLED_B64=ON \ -DCREATE_TEST_TARGETS=OFF \ -DDIR_ETC=${sysconfdir} \ -DLUA_INCLUDE_DIR=${STAGING_INCDIR}/luajit-2.1 \ diff --git a/meta-openembedded/meta-oe/recipes-extended/tmate/tmate_2.4.0.bb b/meta-openembedded/meta-oe/recipes-extended/tmate/tmate_2.4.0.bb new file mode 100644 index 000000000..df534ddda --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/tmate/tmate_2.4.0.bb @@ -0,0 +1,17 @@ +SUMMARY = "Instant terminal sharing" +DESCRIPTION = "Tmate is a fork of tmux. It provides an instant pairing solution." +AUTHOR = "Marius Kriegerowski " +HOMEPAGE = "https://tmate.io/" +LICENSE = "ISC" +LIC_FILES_CHKSUM = "file://COPYING;md5=f7d9aab84ec6567139a4755c48d147fb" + +DEPENDS_append = " libevent libssh msgpack-c ncurses" +SRC_URI = "\ + git://github.com/tmate-io/tmate.git;protocol=https \ +" + +SRCREV = "5e00bfa5e137e76c81888727712ced2b3fd99f5b" + +S = "${WORKDIR}/git" + +inherit pkgconfig autotools diff --git a/meta-openembedded/meta-oe/recipes-extended/zstd/zstd/0001-Fix-legacy-build-after-2103.patch b/meta-openembedded/meta-oe/recipes-extended/zstd/zstd/0001-Fix-legacy-build-after-2103.patch deleted file mode 100644 index c701554b8..000000000 --- a/meta-openembedded/meta-oe/recipes-extended/zstd/zstd/0001-Fix-legacy-build-after-2103.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 93cec0c1d6d0be8dd3a9d01d3e7f2099f1728df7 Mon Sep 17 00:00:00 2001 -From: Orivej Desh -Date: Fri, 22 May 2020 12:48:02 +0000 -Subject: [PATCH] Fix legacy build after #2103 - -Upstream-Status: Backport -Signed-of-by: Alex Kiernan ---- - lib/legacy/zstd_v04.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/lib/legacy/zstd_v04.c b/lib/legacy/zstd_v04.c -index 56bf45222498..19fda8980abf 100644 ---- a/lib/legacy/zstd_v04.c -+++ b/lib/legacy/zstd_v04.c -@@ -74,7 +74,7 @@ extern "C" { - /*-************************************* - * Debug - ***************************************/ --#include "debug.h" -+#include "../common/debug.h" - #ifndef assert - # define assert(condition) ((void)0) - #endif --- -2.17.1 - diff --git a/meta-openembedded/meta-oe/recipes-extended/zstd/zstd_1.4.5.bb b/meta-openembedded/meta-oe/recipes-extended/zstd/zstd_1.4.5.bb deleted file mode 100644 index d0cc625aa..000000000 --- a/meta-openembedded/meta-oe/recipes-extended/zstd/zstd_1.4.5.bb +++ /dev/null @@ -1,39 +0,0 @@ -SUMMARY = "Zstandard - Fast real-time compression algorithm" -DESCRIPTION = "Zstandard is a fast lossless compression algorithm, targeting \ -real-time compression scenarios at zlib-level and better compression ratios. \ -It's backed by a very fast entropy stage, provided by Huff0 and FSE library." -HOMEPAGE = "http://www.zstd.net/" -SECTION = "console/utils" - -LICENSE = "BSD-3-Clause & GPLv2" -LIC_FILES_CHKSUM = "file://LICENSE;md5=c7f0b161edbe52f5f345a3d1311d0b32 \ - file://COPYING;md5=39bba7d2cf0ba1036f2a6e2be52fe3f0" - -inherit lib_package - -SRC_URI = "git://github.com/facebook/zstd.git;nobranch=1 \ - file://0001-Fix-legacy-build-after-2103.patch \ - " - -SRCREV = "b706286adbba780006a47ef92df0ad7a785666b6" -UPSTREAM_CHECK_GITTAGREGEX = "v(?P\d+(\.\d+)+)" - -S = "${WORKDIR}/git" - -PACKAGECONFIG ??= "" -PACKAGECONFIG[lz4] = "HAVE_LZ4=1,HAVE_LZ4=0,lz4" -PACKAGECONFIG[lzma] = "HAVE_LZMA=1,HAVE_LZMA=0,xz" -PACKAGECONFIG[zlib] = "HAVE_ZLIB=1,HAVE_ZLIB=0,zlib" - -# See programs/README.md for how to use this -ZSTD_LEGACY_SUPPORT ??= "4" - -do_compile () { - oe_runmake ${PACKAGECONFIG_CONFARGS} ZSTD_LEGACY_SUPPORT=${ZSTD_LEGACY_SUPPORT} -} - -do_install () { - oe_runmake install 'DESTDIR=${D}' -} - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-oe/recipes-gnome/libxmlb/libxmlb_0.1.15.bb b/meta-openembedded/meta-oe/recipes-gnome/libxmlb/libxmlb_0.1.15.bb deleted file mode 100644 index c54599317..000000000 --- a/meta-openembedded/meta-oe/recipes-gnome/libxmlb/libxmlb_0.1.15.bb +++ /dev/null @@ -1,19 +0,0 @@ -SUMMARY = "A library to help create and query binary XML blobs" -LICENSE = "LGPLv2.1" -LIC_FILES_CHKSUM = "file://LICENSE;md5=1803fa9c2c3ce8cb06b4861d75310742" - -SRC_URI = "\ - git://github.com/hughsie/libxmlb.git \ - file://run-ptest \ -" -SRCREV = "ee4aafdd97844f1c73021a4978a43460f0835d5c" -S = "${WORKDIR}/git" - -inherit gobject-introspection gtk-doc meson ptest-gnome - -PACKAGECONFIG ??= "\ - ${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)} \ -" -PACKAGECONFIG[tests] = "-Dtests=true,-Dtests=false" - -GTKDOC_MESON_OPTION = "gtkdoc" diff --git a/meta-openembedded/meta-oe/recipes-gnome/libxmlb/libxmlb_0.3.0.bb b/meta-openembedded/meta-oe/recipes-gnome/libxmlb/libxmlb_0.3.0.bb new file mode 100644 index 000000000..d677d2436 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-gnome/libxmlb/libxmlb_0.3.0.bb @@ -0,0 +1,19 @@ +SUMMARY = "A library to help create and query binary XML blobs" +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://LICENSE;md5=1803fa9c2c3ce8cb06b4861d75310742" + +SRC_URI = "\ + git://github.com/hughsie/libxmlb.git \ + file://run-ptest \ +" +SRCREV = "8f2f28eda419dbe31cb1a9aa022f0ca9d30ecb6a" +S = "${WORKDIR}/git" + +inherit gobject-introspection gtk-doc meson ptest-gnome + +PACKAGECONFIG ??= "\ + ${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)} \ +" +PACKAGECONFIG[tests] = "-Dtests=true,-Dtests=false" + +GTKDOC_MESON_OPTION = "gtkdoc" diff --git a/meta-openembedded/meta-oe/recipes-graphics/gtkwave/gtkwave_3.3.104.bb b/meta-openembedded/meta-oe/recipes-graphics/gtkwave/gtkwave_3.3.104.bb deleted file mode 100644 index 6c22f0e04..000000000 --- a/meta-openembedded/meta-oe/recipes-graphics/gtkwave/gtkwave_3.3.104.bb +++ /dev/null @@ -1,23 +0,0 @@ -SUMMARY = "VCD (Value Change Dump) file waveform viewer" -DESCRIPTION = "gtkwave is a viewer for VCD (Value Change Dump) files which are usually created by digital circuit simulators. (These files have no connection to video CDs!) " -HOMEPAGE = "http://gtkwave.sourceforge.net/" - -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=75859989545e37968a99b631ef42722e" - -SRC_URI = "http://gtkwave.sourceforge.net/${BP}.tar.gz" - -SRC_URI[md5sum] = "23879689ecf7e2cdd2cd5a91c5c601da" -SRC_URI[sha256sum] = "d20dd1a9307b908439c68122a9f81d3ff434a6bfa5439f0cb01398fec650894f" - -inherit pkgconfig autotools gettext texinfo mime mime-xdg -DEPENDS += "tcl tk gperf-native bzip2 xz pango zlib gtk+ gdk-pixbuf glib-2.0" -RDEPENDS_${PN} += "tk-lib" - -# depends on gtk+ which has this restriction -inherit features_check -ANY_OF_DISTRO_FEATURES = "${GTK2DISTROFEATURES}" - -EXTRA_OECONF = "--with-tcl=${STAGING_BINDIR_CROSS} --with-tk=${STAGING_BINDIR_CROSS} --with-tirpc --disable-mime-update" - -FILES_${PN} = "${bindir} ${datadir}" diff --git a/meta-openembedded/meta-oe/recipes-graphics/gtkwave/gtkwave_3.3.108.bb b/meta-openembedded/meta-oe/recipes-graphics/gtkwave/gtkwave_3.3.108.bb new file mode 100644 index 000000000..d9b6886ec --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/gtkwave/gtkwave_3.3.108.bb @@ -0,0 +1,23 @@ +SUMMARY = "VCD (Value Change Dump) file waveform viewer" +DESCRIPTION = "gtkwave is a viewer for VCD (Value Change Dump) files which are usually created by digital circuit simulators. (These files have no connection to video CDs!) " +HOMEPAGE = "http://gtkwave.sourceforge.net/" + +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=75859989545e37968a99b631ef42722e" + +SRC_URI = "http://gtkwave.sourceforge.net/${BP}.tar.gz" + +SRC_URI[md5sum] = "dd40f09f44d7aed937e63c29b63cd3af" +SRC_URI[sha256sum] = "ece447340442e7ad029713789552e8392b75dd3808c882ac5193d42fce55eb3b" + +inherit pkgconfig autotools gettext texinfo mime mime-xdg +DEPENDS += "tcl tk gperf-native bzip2 xz pango zlib gtk+ gdk-pixbuf glib-2.0" +RDEPENDS_${PN} += "tk-lib" + +# depends on gtk+ which has this restriction +inherit features_check +ANY_OF_DISTRO_FEATURES = "${GTK2DISTROFEATURES}" + +EXTRA_OECONF = "--with-tcl=${STAGING_BINDIR_CROSS} --with-tk=${STAGING_BINDIR_CROSS} --with-tirpc --disable-mime-update" + +FILES_${PN} = "${bindir} ${datadir}" diff --git a/meta-openembedded/meta-oe/recipes-graphics/jasper/jasper_2.0.25.bb b/meta-openembedded/meta-oe/recipes-graphics/jasper/jasper_2.0.25.bb deleted file mode 100644 index 0bad670df..000000000 --- a/meta-openembedded/meta-oe/recipes-graphics/jasper/jasper_2.0.25.bb +++ /dev/null @@ -1,24 +0,0 @@ -SUMMARY = "Jpeg 2000 implementation" -HOMEPAGE = "https://jasper-software.github.io/jasper/" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=a80440d1d8f17d041c71c7271d6e06eb" - -SRC_URI = "git://github.com/jasper-software/jasper.git;protocol=https" -SRCREV = "9092dcb7f7680204ef523c73eb6132162b4358e3" - -S = "${WORKDIR}/git" - -inherit cmake - -PACKAGECONFIG ??= "" -PACKAGECONFIG[jpeg] = "-DJAS_ENABLE_LIBJPEG=true, -DJAS_ENABLE_LIBJPEG=false, jpeg" -PACKAGECONFIG[opengl] = "-DJAS_ENABLE_OPENGL=true, -DJAS_ENABLE_OPENGL=false, freeglut" - -EXTRA_OECMAKE_append = " -DJAS_ENABLE_SHARED=true" - -do_install_append() { - chrpath -d ${D}${bindir}/jasper - chrpath -d ${D}${bindir}/imginfo - chrpath -d ${D}${bindir}/imgcmp - chrpath -d ${D}${libdir}/libjasper.so.* -} diff --git a/meta-openembedded/meta-oe/recipes-graphics/jasper/jasper_2.0.26.bb b/meta-openembedded/meta-oe/recipes-graphics/jasper/jasper_2.0.26.bb new file mode 100644 index 000000000..de28af8ba --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/jasper/jasper_2.0.26.bb @@ -0,0 +1,24 @@ +SUMMARY = "Jpeg 2000 implementation" +HOMEPAGE = "https://jasper-software.github.io/jasper/" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=a80440d1d8f17d041c71c7271d6e06eb" + +SRC_URI = "git://github.com/jasper-software/jasper.git;protocol=https" +SRCREV = "5083b949f0caa5bc6257cd81162a33c15bf8a1d1" + +S = "${WORKDIR}/git" + +inherit cmake + +PACKAGECONFIG ??= "" +PACKAGECONFIG[jpeg] = "-DJAS_ENABLE_LIBJPEG=true, -DJAS_ENABLE_LIBJPEG=false, jpeg" +PACKAGECONFIG[opengl] = "-DJAS_ENABLE_OPENGL=true, -DJAS_ENABLE_OPENGL=false, freeglut" + +EXTRA_OECMAKE_append = " -DJAS_ENABLE_SHARED=true" + +do_install_append() { + chrpath -d ${D}${bindir}/jasper + chrpath -d ${D}${bindir}/imginfo + chrpath -d ${D}${bindir}/imgcmp + chrpath -d ${D}${libdir}/libjasper.so.* +} diff --git a/meta-openembedded/meta-oe/recipes-graphics/openjpeg/openjpeg_2.4.0.bb b/meta-openembedded/meta-oe/recipes-graphics/openjpeg/openjpeg_2.4.0.bb index 8e264bf71..62aa4b43d 100644 --- a/meta-openembedded/meta-oe/recipes-graphics/openjpeg/openjpeg_2.4.0.bb +++ b/meta-openembedded/meta-oe/recipes-graphics/openjpeg/openjpeg_2.4.0.bb @@ -19,3 +19,5 @@ inherit cmake EXTRA_OECMAKE += "-DOPENJPEG_INSTALL_LIB_DIR=${@d.getVar('baselib').replace('/', '')}" FILES_${PN} += "${libdir}/openjpeg*" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_362.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_362.bb deleted file mode 100644 index 2bbcd9211..000000000 --- a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_362.bb +++ /dev/null @@ -1,48 +0,0 @@ -require recipes-graphics/xorg-app/xorg-app-common.inc -SUMMARY = "xterm is the standard terminal emulator for the X Window System" -DEPENDS = "libxaw xorgproto libxext libxau libxinerama libxpm ncurses desktop-file-utils-native" - -LIC_FILES_CHKSUM = "file://xterm.h;beginline=3;endline=31;md5=996b1ce0584c0747b17b57654cc81e8e" - -SRC_URI = "http://invisible-mirror.net/archives/${BPN}/${BP}.tgz \ - file://0001-Add-configure-time-check-for-setsid.patch \ - " - -SRC_URI[md5sum] = "ee6710bbbe18000236c6e6d7b55b54d5" -SRC_URI[sha256sum] = "1d4ffe226fa8f021859bbc3007788ff63a46a31242d9bd9a7bd7ebe24e81aca2" -PACKAGECONFIG ?= "" -PACKAGECONFIG[xft] = "--enable-freetype,--disable-freetype,libxft fontconfig freetype-native" - -# Let xterm install .desktop files -inherit mime-xdg - -EXTRA_OECONF = " --x-includes=${STAGING_INCDIR} \ - --x-libraries=${STAGING_LIBDIR} \ - FREETYPE_CONFIG=${STAGING_BINDIR_CROSS}/freetype-config \ - --disable-imake \ - --disable-rpath-hack \ - --disable-setuid \ - --with-app-defaults=${datadir}/X11/app-defaults \ - " - -B = "${S}" - -do_configure() { - gnu-configize --force - sed -e "s%/usr/contrib/X11R6%${STAGING_LIBDIR}%g" -i configure - oe_runconf -} - -do_install_append() { - oe_runmake install-desktop DESTDIR="${D}" DESKTOP_FLAGS="--dir=${D}${DESKTOPDIR}" -} - -RPROVIDES_${PN} = "virtual/x-terminal-emulator" - -# busybox can supply resize too -inherit update-alternatives - -ALTERNATIVE_${PN} = "resize x-terminal-emulator" -ALTERNATIVE_TARGET[x-terminal-emulator] = "${bindir}/xterm" -# rxvt-unicode defaults to priority 10. Let's be one point lower to let it override xterm. -ALTERNATIVE_PRIORITY[x-terminal-emulator] = "9" diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_366.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_366.bb new file mode 100644 index 000000000..969159bc5 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_366.bb @@ -0,0 +1,48 @@ +require recipes-graphics/xorg-app/xorg-app-common.inc +SUMMARY = "xterm is the standard terminal emulator for the X Window System" +DEPENDS = "libxaw xorgproto libxext libxau libxinerama libxpm ncurses desktop-file-utils-native" + +LIC_FILES_CHKSUM = "file://xterm.h;beginline=3;endline=31;md5=996b1ce0584c0747b17b57654cc81e8e" + +SRC_URI = "http://invisible-mirror.net/archives/${BPN}/${BP}.tgz \ + file://0001-Add-configure-time-check-for-setsid.patch \ + " + +SRC_URI[sha256sum] = "858b2885963fe97e712739066aadc1baeba2b33a0016303a7fec7d38bc73bf6e" + +PACKAGECONFIG ?= "" +PACKAGECONFIG[xft] = "--enable-freetype,--disable-freetype,libxft fontconfig freetype-native" + +# Let xterm install .desktop files +inherit mime-xdg + +EXTRA_OECONF = " --x-includes=${STAGING_INCDIR} \ + --x-libraries=${STAGING_LIBDIR} \ + FREETYPE_CONFIG=${STAGING_BINDIR_CROSS}/freetype-config \ + --disable-imake \ + --disable-rpath-hack \ + --disable-setuid \ + --with-app-defaults=${datadir}/X11/app-defaults \ + " + +B = "${S}" + +do_configure() { + gnu-configize --force + sed -e "s%/usr/contrib/X11R6%${STAGING_LIBDIR}%g" -i configure + oe_runconf +} + +do_install_append() { + oe_runmake install-desktop DESTDIR="${D}" DESKTOP_FLAGS="--dir=${D}${DESKTOPDIR}" +} + +RPROVIDES_${PN} = "virtual/x-terminal-emulator" + +# busybox can supply resize too +inherit update-alternatives + +ALTERNATIVE_${PN} = "resize x-terminal-emulator" +ALTERNATIVE_TARGET[x-terminal-emulator] = "${bindir}/xterm" +# rxvt-unicode defaults to priority 10. Let's be one point lower to let it override xterm. +ALTERNATIVE_PRIORITY[x-terminal-emulator] = "9" diff --git a/meta-openembedded/meta-oe/recipes-kernel/bpftool/bpftool.bb b/meta-openembedded/meta-oe/recipes-kernel/bpftool/bpftool.bb index 1758430bc..f0696db59 100644 --- a/meta-openembedded/meta-oe/recipes-kernel/bpftool/bpftool.bb +++ b/meta-openembedded/meta-oe/recipes-kernel/bpftool/bpftool.bb @@ -9,12 +9,22 @@ inherit bash-completion kernelsrc kernel-arch do_populate_lic[depends] += "virtual/kernel:do_patch" -EXTRA_OEMAKE = "V=1 -C ${S}/tools/bpf/bpftool O=${B} CROSS=${TARGET_PREFIX} CC="${CC}" LD="${LD}" AR=${AR} ARCH=${ARCH}" +EXTRA_OEMAKE = "\ + V=1 \ + -C ${S}/tools/bpf/bpftool \ + O=${B} \ + CROSS=${TARGET_PREFIX} \ + CC="${CC} ${DEBUG_PREFIX_MAP} -fdebug-prefix-map=${STAGING_KERNEL_DIR}=${KERNEL_SRC_PATH}" \ + LD="${LD}" \ + AR=${AR} \ + ARCH=${ARCH} \ +" SECURITY_CFLAGS = "" do_configure[depends] += "virtual/kernel:do_shared_workdir" +COMPATIBLE_HOST = "(x86_64).*-linux" COMPATIBLE_HOST_libc-musl = 'null' do_compile() { @@ -32,4 +42,3 @@ python do_package_prepend() { } B = "${WORKDIR}/${BPN}-${PV}" -PNBLACKLIST[bpftool] ?= "Needs forward porting to kernel 5.2+" diff --git a/meta-openembedded/meta-oe/recipes-kernel/libbpf/libbpf_0.3.bb b/meta-openembedded/meta-oe/recipes-kernel/libbpf/libbpf_0.3.bb index 5714ddb61..57e8376b5 100644 --- a/meta-openembedded/meta-oe/recipes-kernel/libbpf/libbpf_0.3.bb +++ b/meta-openembedded/meta-oe/recipes-kernel/libbpf/libbpf_0.3.bb @@ -10,6 +10,8 @@ LIC_FILES_CHKSUM = "file://../LICENSE.LPGL-2.1;md5=b370887980db5dd40659b50909238 DEPENDS = "zlib elfutils" +do_compile[depends] += "virtual/kernel:do_shared_workdir" + SRC_URI = "git://github.com/libbpf/libbpf.git;protocol=https" SRCREV = "051a4009f94d5633a8f734ca4235f0a78ee90469" @@ -23,6 +25,8 @@ S = "${WORKDIR}/git/src" EXTRA_OEMAKE += "DESTDIR=${D} LIBDIR=${libdir}" +inherit pkgconfig + do_compile() { if grep -q "CONFIG_BPF_SYSCALL=y" ${STAGING_KERNEL_BUILDDIR}/.config then @@ -40,5 +44,3 @@ do_install() { bbnote "no files to install" fi } - -BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile.inc b/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile.inc deleted file mode 100644 index 0e1e2ed8c..000000000 --- a/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile.inc +++ /dev/null @@ -1,66 +0,0 @@ -SUMMARY = "System-Wide Profiler" -DESCRIPTION = "OProfile is a system-wide profiler for Linux systems, capable \ -of profiling all running code at low overhead." -HOMEPAGE = "http://oprofile.sourceforge.net/news/" -BUGTRACKER = "http://sourceforge.net/tracker/?group_id=16191&atid=116191" - -LICENSE = "LGPLv2.1+ & GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ - file://libopagent/opagent.h;beginline=5;endline=26;md5=4f16f72c7a493d8a4704aa18d03d15c6 \ - " -SECTION = "devel" - -DEPENDS = "popt binutils" -RDEPENDS_${PN} = "binutils-symlinks" - -FILES_${PN} = "${bindir} ${libdir}/${BPN}/lib*${SOLIBS} ${datadir}/${BPN}" -FILES_${PN}-dev += "${libdir}/${BPN}/lib*${SOLIBSDEV} ${libdir}/${BPN}/lib*.la" -FILES_${PN}-staticdev += "${libdir}/${BPN}/lib*.a" - -SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz \ - file://acinclude.m4 \ - file://automake-foreign.patch \ - file://oprofile-cross-compile-tests.patch \ - file://run-ptest \ - file://root-home-dir.patch \ - file://0001-Add-rmb-definition-for-NIOS2-architecture.patch \ - file://0001-replace-sym_iterator-0-with-sym_iterator.patch \ - file://0001-Use-new-bfd-APIs-from-2.34.patch \ -" -UPSTREAM_CHECK_REGEX = "oprofile-(?P\d+(\.\d+)+)/" -UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/oprofile/files/oprofile/" - -SRC_URI_append_libc-musl = " file://musl.patch \ -" - -inherit autotools pkgconfig ptest - -EXTRA_OECONF = "--with-kernel=${STAGING_DIR_HOST}${prefix} --without-x ac_cv_prog_XSLTPROC=" -do_configure () { - cp ${WORKDIR}/acinclude.m4 ${S}/ - autotools_do_configure -} - -EXTRA_OEMAKE = "SRCDIR=${PTEST_PATH}/libutil++/tests" -do_compile_ptest() { - oe_runmake check -} - -do_install_ptest() { - subdirs="libdb/tests libutil++/tests libregex/tests libutil/tests libop/tests libdb/tests " - for tooltest in ${subdirs} - do - find ${tooltest} -perm /u=x -type f| cpio -pvdu ${D}${PTEST_PATH} - done - - # needed by some libop tests - cp -r events ${D}${PTEST_PATH} - - # needed by libregex regex_test - cp libregex/stl.pat ${D}${PTEST_PATH}/libregex - cp libregex/tests/mangled-name ${D}${PTEST_PATH}/libregex/tests - - # needed by litutil++ file_manip_tests - cp ${S}/libutil++/tests/file_manip_tests.cpp \ - libutil++/tests/file_manip_tests.o ${D}${PTEST_PATH}/libutil++/tests -} diff --git a/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0001-Add-rmb-definition-for-NIOS2-architecture.patch b/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0001-Add-rmb-definition-for-NIOS2-architecture.patch deleted file mode 100644 index ae8562a23..000000000 --- a/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0001-Add-rmb-definition-for-NIOS2-architecture.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 34b0d9b1a32fb404a30327a7ae8931c7c75583bf Mon Sep 17 00:00:00 2001 -From: Marek Vasut -Date: Tue, 9 Feb 2016 02:00:29 +0100 -Subject: [PATCH] Add rmb() definition for NIOS2 architecture - -Signed-off-by: Marek Vasut -Upstream-Status: Submitted [ http://marc.info/?l=oprofile-list&m=145501915931874&w=2 ] ---- - libperf_events/operf_utils.h | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/libperf_events/operf_utils.h b/libperf_events/operf_utils.h -index 32954cc..8270e53 100644 ---- a/libperf_events/operf_utils.h -+++ b/libperf_events/operf_utils.h -@@ -178,6 +178,11 @@ void op_release_resources(void); - #define cpu_relax() asm volatile("" ::: "memory") - #endif - -+#ifdef __nios2__ -+#define rmb() asm volatile("" ::: "memory") -+#define cpu_relax() asm volatile("" ::: "memory") -+#endif -+ - #ifdef __tile__ - #include - #define rmb() __insn_mf() --- -2.7.0 - diff --git a/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0001-Fix-build-with-musl.patch b/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0001-Fix-build-with-musl.patch new file mode 100644 index 000000000..61191220e --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0001-Fix-build-with-musl.patch @@ -0,0 +1,55 @@ +From 5ed9bda8baf7465172a99ff86ed7f46397b06c7f Mon Sep 17 00:00:00 2001 +From: Andrew Savchenko +Date: Sat, 5 Sep 2020 14:41:30 +0300 +Subject: [PATCH 01/10] Fix build with musl + +--Signature=_Sat__5_Sep_2020_14_41_30_+0300_B.qpPPwu83bbA.32 +Content-Type: text/plain; charset=US-ASCII +Content-Disposition: inline +Content-Transfer-Encoding: quoted-printable + +When musl is used instead of glibc, oprofile build fails because it +uses glibc-specific FTW extension: FTW_ACTIONRETVAL for custom +__delete_old_previous_sample_data return codes and FTW_STOP, +FTW_CONTINUE for such return codes. Musl supports only POSIX ftw, so +build fails. + +However, this extension is not really needed by oprofile, because +FTW_SKIP_* are not used and {FTW_STOP,FTW_CONTINUE} can be handled +by standard return codes {1,0} (more precisely standard defines +{!0,0}, but in glibc FTW_STOP = 1, so I keep this value). + +Upstream-Status: Backport [https://sourceforge.net/p/oprofile/oprofile/ci/5ed9bda8baf7465172a99ff86ed7f46397b06c7f/] +Signed-off-by: Andrew Savchenko +--- + pe_profiling/operf.cpp | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/pe_profiling/operf.cpp b/pe_profiling/operf.cpp +index 06a0ea3c..00834409 100644 +--- a/pe_profiling/operf.cpp ++++ b/pe_profiling/operf.cpp +@@ -860,9 +860,9 @@ static int __delete_old_previous_sample_data(const char *fpath, + { + if (remove(fpath)) { + perror("sample data removal error"); +- return FTW_STOP; ++ return 1; + } else { +- return FTW_CONTINUE; ++ return 0; + } + } + +@@ -897,7 +897,7 @@ static void convert_sample_data(void) + return; + + if (!operf_options::append) { +- int flags = FTW_DEPTH | FTW_ACTIONRETVAL; ++ int flags = FTW_DEPTH; + errno = 0; + if (nftw(previous_sampledir.c_str(), __delete_old_previous_sample_data, 32, flags) !=0 && + errno != ENOENT) { +-- +2.31.0 + diff --git a/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0001-Use-new-bfd-APIs-from-2.34.patch b/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0001-Use-new-bfd-APIs-from-2.34.patch deleted file mode 100644 index faf56d116..000000000 --- a/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0001-Use-new-bfd-APIs-from-2.34.patch +++ /dev/null @@ -1,79 +0,0 @@ -From 34745fb066a266ae6bbb15d08466d4d2cb6a2110 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Thu, 20 Feb 2020 08:11:04 -0800 -Subject: [PATCH] Use new bfd APIs from 2.34+ - -Upstream-Status: Pending -Signed-off-by: Khem Raj ---- - libutil++/bfd_support.cpp | 10 +++++----- - opjitconv/create_bfd.c | 6 +++--- - 2 files changed, 8 insertions(+), 8 deletions(-) - -diff --git a/libutil++/bfd_support.cpp b/libutil++/bfd_support.cpp -index fa904839..e53a1530 100644 ---- a/libutil++/bfd_support.cpp -+++ b/libutil++/bfd_support.cpp -@@ -137,7 +137,7 @@ static bool get_build_id(bfd * ibfd, unsigned char * build_id) - } - } - -- bfd_size_type buildid_sect_size = bfd_section_size(ibfd, sect); -+ bfd_size_type buildid_sect_size = bfd_section_size(sect); - char * contents = (char *) xmalloc(buildid_sect_size); - errno = 0; - if (!bfd_get_section_contents(ibfd, sect, -@@ -188,7 +188,7 @@ bool get_debug_link_info(bfd * ibfd, string & filename, unsigned long & crc32) - if (sect == NULL) - return false; - -- bfd_size_type debuglink_size = bfd_section_size(ibfd, sect); -+ bfd_size_type debuglink_size = bfd_section_size(sect); - char * contents = (char *) xmalloc(debuglink_size); - cverb << vbfd - << ".gnu_debuglink section has size " << debuglink_size << endl; -@@ -346,7 +346,7 @@ void fixup_linenr(bfd * abfd, asection * section, asymbol ** syms, - // first restrict the search on a sensible range of vma, 16 is - // an intuitive value based on epilog code look - size_t max_search = 16; -- size_t section_size = bfd_section_size(abfd, section); -+ size_t section_size = bfd_section_size(section); - if (pc + max_search > section_size) - max_search = section_size - pc; - -@@ -819,10 +819,10 @@ find_nearest_line(bfd_info const & b, op_bfd_symbol const & sym, - else - pc = (sym.value() + offset) - sym.filepos(); - -- if ((bfd_get_section_flags(abfd, section) & SEC_ALLOC) == 0) -+ if ((bfd_section_flags(section) & SEC_ALLOC) == 0) - goto fail; - -- if (pc >= bfd_section_size(abfd, section)) -+ if (pc >= bfd_section_size(section)) - goto fail; - - ret = bfd_find_nearest_line(abfd, section, syms, pc, &cfilename, -diff --git a/opjitconv/create_bfd.c b/opjitconv/create_bfd.c -index 48db143b..5c0e9152 100644 ---- a/opjitconv/create_bfd.c -+++ b/opjitconv/create_bfd.c -@@ -86,12 +86,12 @@ asection * create_section(bfd * abfd, char const * section_name, - bfd_perror("bfd_make_section"); - goto error; - } -- bfd_set_section_vma(abfd, section, vma); -- if (bfd_set_section_size(abfd, section, size) == FALSE) { -+ bfd_set_section_vma(section, vma); -+ if (bfd_set_section_size(section, size) == FALSE) { - bfd_perror("bfd_set_section_size"); - goto error; - } -- if (bfd_set_section_flags(abfd, section, flags) == FALSE) { -+ if (bfd_set_section_flags(section, flags) == FALSE) { - bfd_perror("bfd_set_section_flags"); - goto error; - } --- -2.25.1 - diff --git a/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0001-replace-sym_iterator-0-with-sym_iterator.patch b/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0001-replace-sym_iterator-0-with-sym_iterator.patch deleted file mode 100644 index 5fd23f809..000000000 --- a/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0001-replace-sym_iterator-0-with-sym_iterator.patch +++ /dev/null @@ -1,131 +0,0 @@ -From b7c1a2e2b0f4657fe291324ca409224f3321c9ff Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Tue, 12 Feb 2019 11:58:34 -0800 -Subject: [PATCH] replace (sym_iterator)0 with sym_iterator() - -clang/libc++ find this error - -libpp/xml_utils.cpp:409:43: error: calling a private constructor of class 'std::__1::__wrap_iter' -| { lo = hi = 0; name = ""; begin = end = (sym_iterator)0;} -| ^ -| - -default constructed iterator isn't supposed to be used for anything - -Upstream-Status: Pending -Signed-off-by: Khem Raj ---- - libpp/xml_utils.cpp | 26 +++++++++++++------------- - 1 file changed, 13 insertions(+), 13 deletions(-) - -diff --git a/libpp/xml_utils.cpp b/libpp/xml_utils.cpp -index 3de41e5..f45d3ae 100644 ---- a/libpp/xml_utils.cpp -+++ b/libpp/xml_utils.cpp -@@ -73,7 +73,7 @@ void dump_symbol(string const & prefix, sym_iterator it, bool want_nl = true) - - void dump_symbols(string const & prefix, sym_iterator b, sym_iterator e) - { -- if (b == (sym_iterator)0) -+ if (b == sym_iterator()) - return; - - for (sym_iterator it = b; it != e; ++it) -@@ -167,7 +167,7 @@ string xml_utils::get_profile_header(string cpu_name, double const speed) - } - - str << init_attr(CPU_NAME, cpu_type) << endl; -- if (processor.size() > 0) -+ if (processor.size() > 0) - str << init_attr(PROCESSOR, string(processor)) << endl; - if (nr_cpus > 1) str << init_attr(SEPARATED_CPUS, nr_cpus) << endl; - str << init_attr(MHZ, speed) << endl; -@@ -320,11 +320,11 @@ void xml_utils::build_subclasses(ostream & out) - (*sc_ptr)[new_index].subclass_name = subclass_name; - out << open_element(CLASS, true); - out << init_attr(NAME, subclass_name); -- if (nr_cpus > 1) -+ if (nr_cpus > 1) - out << init_attr(CPU_NUM, pclass.ptemplate.cpu); -- if (nr_events > 1) -+ if (nr_events > 1) - out << init_attr(EVENT_NUM, event); -- if (has_nonzero_masks) -+ if (has_nonzero_masks) - out << init_attr(EVENT_MASK, pclass.ptemplate.unitmask); - out << close_element(); - } -@@ -406,7 +406,7 @@ xml_utils::output_summary_data(ostream & out, count_array_t const & summary, siz - class module_info { - public: - module_info() -- { lo = hi = 0; name = ""; begin = end = (sym_iterator)0;} -+ { lo = hi = 0; name = ""; begin = end = sym_iterator();} - void dump(); - void build_module(string const & n, sym_iterator it, - size_t l, size_t h); -@@ -540,21 +540,21 @@ void module_info::add_to_summary(count_array_t const & counts) - - void module_info::set_begin(sym_iterator b) - { -- if (begin == (sym_iterator)0) -+ if (begin == sym_iterator()) - begin = b; - } - - - void module_info::set_end(sym_iterator e) - { -- if (end == (sym_iterator)0) -+ if (end == sym_iterator()) - end = e; - } - - - bool module_info::is_closed(string const & n) - { -- return (name == n) && end != (sym_iterator)0; -+ return (name == n) && end != sym_iterator(); - } - - -@@ -585,7 +585,7 @@ void module_info::output_summary(ostream & out) - - void module_info::output_symbols(ostream & out, bool is_module) - { -- if (begin == (sym_iterator)0) -+ if (begin == sym_iterator()) - return; - - for (sym_iterator it = begin; it != end; ++it) -@@ -606,7 +606,7 @@ void binary_info::close_binary(sym_iterator it) - void binary_info::dump() - { - cverb << vxml << "app_name=" << name << endl; -- if (begin != (sym_iterator)0) -+ if (begin != sym_iterator()) - dump_symbols(" ", begin, end); - - for (size_t i = 0; i < nr_modules; ++i) -@@ -648,7 +648,7 @@ add_module_symbol(string const & module, string const & app, - // mark end of enclosing binary symbols if there have been any - // NOTE: it is possible for the binary's symbols to follow its - // module symbols -- if (begin != (sym_iterator)0 && end == (sym_iterator)0) -+ if (begin != sym_iterator() && end == sym_iterator()) - set_end(it); - - // build the new module -@@ -718,7 +718,7 @@ summarize_processes(extra_images const & extra_found_images) - { - // add modules to the appropriate threads in the process hierarchy - for (sym_iterator it = symbols_begin ; it != symbols_end; ++it) { -- string binary = get_image_name((*it)->app_name, -+ string binary = get_image_name((*it)->app_name, - image_name_storage::int_filename, extra_found_images); - string module = get_image_name((*it)->image_name, - image_name_storage::int_filename, extra_found_images); --- -2.20.1 - diff --git a/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0002-Fix-configure-when-bin-sh-is-not-bash.patch b/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0002-Fix-configure-when-bin-sh-is-not-bash.patch new file mode 100644 index 000000000..2ffdc8ae5 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0002-Fix-configure-when-bin-sh-is-not-bash.patch @@ -0,0 +1,40 @@ +From 91bedd280b8a3fb4665db627559abba960be4212 Mon Sep 17 00:00:00 2001 +From: Andrew Savchenko +Date: Sat, 5 Sep 2020 14:40:07 +0300 +Subject: [PATCH 02/10] Fix configure when /bin/sh is not bash + +--Signature=_Sat__5_Sep_2020_14_40_08_+0300_w+XY/NnD8_G.Kd1s +Content-Type: text/plain; charset=US-ASCII +Content-Disposition: inline +Content-Transfer-Encoding: quoted-printable + +When /bin/sh used by autoconf is not bash, e.g. dash, configure +fails because it uses bash-specific equality operator "==". + +Fix this problem by replacing "==" with POSIX "=" which is +sufficient for test where it is being used. + +Upstream-Status: Backport [https://sourceforge.net/p/oprofile/oprofile/ci/91bedd280b8a3fb4665db627559abba960be4212/] +Signed-off-by: Andrew Savchenko +--- + configure.ac | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 05609f6e..f5fcd17d 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -466,8 +466,8 @@ AX_COPY_IF_CHANGE(doc/xsl/catalog-1.xml, doc/xsl/catalog.xml) + + if ! test "x$enable_account_check" = "xyes"; then + : +-elif test "`getent passwd oprofile 2>/dev/null`" == "" || \ +- test "`getent group oprofile 2>/dev/null`" == ""; then ++elif test "`getent passwd oprofile 2>/dev/null`" = "" || \ ++ test "`getent group oprofile 2>/dev/null`" = ""; then + if test `id -u` != "0"; then + echo "Warning: The user account 'oprofile:oprofile' does not exist on the system." + echo " To profile JITed code, this special user account must exist." +-- +2.31.0 + diff --git a/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0003-Define-the-C-preprocessor-variable-to-improve-reprod.patch b/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0003-Define-the-C-preprocessor-variable-to-improve-reprod.patch new file mode 100644 index 000000000..923c39ae1 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0003-Define-the-C-preprocessor-variable-to-improve-reprod.patch @@ -0,0 +1,30 @@ +From 864e02eab12cdc523b2dcd3f7b87a27abc16eefc Mon Sep 17 00:00:00 2001 +From: Viktor Kleinik +Date: Sun, 7 Mar 2021 17:07:44 +0000 +Subject: [PATCH 03/10] Define the C preprocessor variable to improve reproducibility + +Define the C preprocessor variable BUILD_DATE, which can be used +as source for reproducible build date in case when +SOURCE_DATE_EPOCH environment variable is set. + +Upstream-Status: Backport [https://sourceforge.net/p/oprofile/oprofile/ci/864e02eab12cdc523b2dcd3f7b87a27abc16eefc/] +Signed-off-by: Viktor Kleinik +--- + configure.ac | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/configure.ac b/configure.ac +index f5fcd17d..dc447f89 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -31,6 +31,7 @@ if test -n "$SOURCE_DATE_EPOCH" ; then + fi + dnl for the man page + DATE="`date $dateopt '+%a %d %B %Y'`" ++AC_DEFINE_UNQUOTED([BUILD_DATE], ["$DATE"], [Use reproducible build date]) + AC_SUBST(DATE) + + # Since we should not permanently alter user environment variables, we'll +-- +2.31.0 + diff --git a/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0004-Use-BUILD_DATE-to-improve-reproducibility.patch b/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0004-Use-BUILD_DATE-to-improve-reproducibility.patch new file mode 100644 index 000000000..0fcca2b68 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0004-Use-BUILD_DATE-to-improve-reproducibility.patch @@ -0,0 +1,63 @@ +From 7bef5b905abe36adfd4e4cc16bc830376f50e8f6 Mon Sep 17 00:00:00 2001 +From: Viktor Kleinik +Date: Sun, 7 Mar 2021 17:22:26 +0000 +Subject: [PATCH 04/10] Use BUILD_DATE to improve reproducibility + +The C preprocessor variable BUILD_DATE contains the actual +build date or some reproducible value. It depends on whether +SOURCE_DATE_EPOCH environment variable was set previously or not. +In this way, reproducibility can be improved when needed. + +Upstream-Status: Backport [https://sourceforge.net/p/oprofile/oprofile/ci/864e02eab12cdc523b2dcd3f7b87a27abc16eefc/] +Signed-off-by: Viktor Kleinik +--- + libutil/op_version.c | 2 +- + pe_counting/ocount.cpp | 4 ++-- + pe_profiling/operf.cpp | 4 ++-- + 3 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/libutil/op_version.c b/libutil/op_version.c +index 99a844e4..a257e9c4 100644 +--- a/libutil/op_version.c ++++ b/libutil/op_version.c +@@ -19,6 +19,6 @@ void show_version(char const * app_name) + { + /* Do not change the version format: it is documented in html doc */ + printf("%s: " PACKAGE " " VERSION " compiled on " +- __DATE__ " " __TIME__ "\n", app_name); ++ BUILD_DATE "\n", app_name); + exit(EXIT_SUCCESS); + } +diff --git a/pe_counting/ocount.cpp b/pe_counting/ocount.cpp +index 2470745d..ae89fe61 100644 +--- a/pe_counting/ocount.cpp ++++ b/pe_counting/ocount.cpp +@@ -660,8 +660,8 @@ static int _process_ocount_and_app_args(int argc, char * const argv[]) + __print_usage_and_exit(NULL); + break; + case 'v': +- cout << argv[0] << ": " << PACKAGE << " " << VERSION << " compiled on " << __DATE__ +- << " " << __TIME__ << endl; ++ cout << argv[0] << ": " << PACKAGE << " " << VERSION << " compiled on " ++ << BUILD_DATE << endl; + exit(EXIT_SUCCESS); + break; + default: +diff --git a/pe_profiling/operf.cpp b/pe_profiling/operf.cpp +index 00834409..f0f9c209 100644 +--- a/pe_profiling/operf.cpp ++++ b/pe_profiling/operf.cpp +@@ -1342,8 +1342,8 @@ static int _process_operf_and_app_args(int argc, char * const argv[]) + __print_usage_and_exit(NULL); + break; + case 'v': +- cout << argv[0] << ": " << PACKAGE << " " << VERSION << " compiled on " << __DATE__ +- << " " << __TIME__ << endl; ++ cout << argv[0] << ": " << PACKAGE << " " << VERSION << " compiled on " ++ << BUILD_DATE << endl; + exit(EXIT_SUCCESS); + break; + default: +-- +2.31.0 + diff --git a/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0005-Add-rmb-definition-for-NIOS2-architecture.patch b/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0005-Add-rmb-definition-for-NIOS2-architecture.patch new file mode 100644 index 000000000..0fd850ff2 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0005-Add-rmb-definition-for-NIOS2-architecture.patch @@ -0,0 +1,31 @@ +From 3539d2ab392d3a3eecffeddac989016063b23713 Mon Sep 17 00:00:00 2001 +From: Marek Vasut +Date: Tue, 9 Feb 2016 02:00:29 +0100 +Subject: [PATCH 05/10] Add rmb() definition for NIOS2 architecture + +Signed-off-by: Marek Vasut +Upstream-Status: Submitted [ http://marc.info/?l=oprofile-list&m=145501915931874&w=2 ] +Signed-off-by: Khem Raj +--- + libperf_events/operf_utils.h | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/libperf_events/operf_utils.h b/libperf_events/operf_utils.h +index 8afdbc22..8e17213e 100644 +--- a/libperf_events/operf_utils.h ++++ b/libperf_events/operf_utils.h +@@ -173,6 +173,11 @@ void op_release_resources(void); + #define cpu_relax() asm volatile("" ::: "memory") + #endif + ++#ifdef __nios2__ ++#define rmb() asm volatile("" ::: "memory") ++#define cpu_relax() asm volatile("" ::: "memory") ++#endif ++ + #ifdef __tile__ + #include + #define rmb() __insn_mf() +-- +2.31.0 + diff --git a/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0006-replace-sym_iterator-0-with-sym_iterator.patch b/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0006-replace-sym_iterator-0-with-sym_iterator.patch new file mode 100644 index 000000000..a8371f0af --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0006-replace-sym_iterator-0-with-sym_iterator.patch @@ -0,0 +1,131 @@ +From b126134f68f4a5bd826141be68337ac15a7c2c04 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Tue, 12 Feb 2019 11:58:34 -0800 +Subject: [PATCH 06/10] replace (sym_iterator)0 with sym_iterator() + +clang/libc++ find this error + +libpp/xml_utils.cpp:409:43: error: calling a private constructor of class 'std::__1::__wrap_iter' +| { lo = hi = 0; name = ""; begin = end = (sym_iterator)0;} +| ^ +| + +default constructed iterator isn't supposed to be used for anything + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- + libpp/xml_utils.cpp | 26 +++++++++++++------------- + 1 file changed, 13 insertions(+), 13 deletions(-) + +diff --git a/libpp/xml_utils.cpp b/libpp/xml_utils.cpp +index 3de41e58..f45d3ae2 100644 +--- a/libpp/xml_utils.cpp ++++ b/libpp/xml_utils.cpp +@@ -73,7 +73,7 @@ void dump_symbol(string const & prefix, sym_iterator it, bool want_nl = true) + + void dump_symbols(string const & prefix, sym_iterator b, sym_iterator e) + { +- if (b == (sym_iterator)0) ++ if (b == sym_iterator()) + return; + + for (sym_iterator it = b; it != e; ++it) +@@ -167,7 +167,7 @@ string xml_utils::get_profile_header(string cpu_name, double const speed) + } + + str << init_attr(CPU_NAME, cpu_type) << endl; +- if (processor.size() > 0) ++ if (processor.size() > 0) + str << init_attr(PROCESSOR, string(processor)) << endl; + if (nr_cpus > 1) str << init_attr(SEPARATED_CPUS, nr_cpus) << endl; + str << init_attr(MHZ, speed) << endl; +@@ -320,11 +320,11 @@ void xml_utils::build_subclasses(ostream & out) + (*sc_ptr)[new_index].subclass_name = subclass_name; + out << open_element(CLASS, true); + out << init_attr(NAME, subclass_name); +- if (nr_cpus > 1) ++ if (nr_cpus > 1) + out << init_attr(CPU_NUM, pclass.ptemplate.cpu); +- if (nr_events > 1) ++ if (nr_events > 1) + out << init_attr(EVENT_NUM, event); +- if (has_nonzero_masks) ++ if (has_nonzero_masks) + out << init_attr(EVENT_MASK, pclass.ptemplate.unitmask); + out << close_element(); + } +@@ -406,7 +406,7 @@ xml_utils::output_summary_data(ostream & out, count_array_t const & summary, siz + class module_info { + public: + module_info() +- { lo = hi = 0; name = ""; begin = end = (sym_iterator)0;} ++ { lo = hi = 0; name = ""; begin = end = sym_iterator();} + void dump(); + void build_module(string const & n, sym_iterator it, + size_t l, size_t h); +@@ -540,21 +540,21 @@ void module_info::add_to_summary(count_array_t const & counts) + + void module_info::set_begin(sym_iterator b) + { +- if (begin == (sym_iterator)0) ++ if (begin == sym_iterator()) + begin = b; + } + + + void module_info::set_end(sym_iterator e) + { +- if (end == (sym_iterator)0) ++ if (end == sym_iterator()) + end = e; + } + + + bool module_info::is_closed(string const & n) + { +- return (name == n) && end != (sym_iterator)0; ++ return (name == n) && end != sym_iterator(); + } + + +@@ -585,7 +585,7 @@ void module_info::output_summary(ostream & out) + + void module_info::output_symbols(ostream & out, bool is_module) + { +- if (begin == (sym_iterator)0) ++ if (begin == sym_iterator()) + return; + + for (sym_iterator it = begin; it != end; ++it) +@@ -606,7 +606,7 @@ void binary_info::close_binary(sym_iterator it) + void binary_info::dump() + { + cverb << vxml << "app_name=" << name << endl; +- if (begin != (sym_iterator)0) ++ if (begin != sym_iterator()) + dump_symbols(" ", begin, end); + + for (size_t i = 0; i < nr_modules; ++i) +@@ -648,7 +648,7 @@ add_module_symbol(string const & module, string const & app, + // mark end of enclosing binary symbols if there have been any + // NOTE: it is possible for the binary's symbols to follow its + // module symbols +- if (begin != (sym_iterator)0 && end == (sym_iterator)0) ++ if (begin != sym_iterator() && end == sym_iterator()) + set_end(it); + + // build the new module +@@ -718,7 +718,7 @@ summarize_processes(extra_images const & extra_found_images) + { + // add modules to the appropriate threads in the process hierarchy + for (sym_iterator it = symbols_begin ; it != symbols_end; ++it) { +- string binary = get_image_name((*it)->app_name, ++ string binary = get_image_name((*it)->app_name, + image_name_storage::int_filename, extra_found_images); + string module = get_image_name((*it)->image_name, + image_name_storage::int_filename, extra_found_images); +-- +2.31.0 + diff --git a/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0007-oprofile-doesn-t-want-GNU-levels-of-automake-strictn.patch b/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0007-oprofile-doesn-t-want-GNU-levels-of-automake-strictn.patch new file mode 100644 index 000000000..5f9ff1b96 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0007-oprofile-doesn-t-want-GNU-levels-of-automake-strictn.patch @@ -0,0 +1,23 @@ +From fd35c343e67ca47f76d0769fce2881d5f7a027a9 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 18 Mar 2021 00:48:34 -0700 +Subject: [PATCH 07/10] oprofile doesn't want GNU-levels of automake strictness + so tell it to be "foreign". + +Upstream-Status: Pending +Signed-off-by: Ross Burton +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/configure.ac ++++ b/configure.ac +@@ -13,7 +13,7 @@ AC_PREREQ(2.13) + + AC_INIT([OProfile], [1.4.0]) + AC_CONFIG_SRCDIR([libop/op_config.h]) +-AM_INIT_AUTOMAKE ++AM_INIT_AUTOMAKE([foreign]) + AC_CONFIG_HEADERS(config.h) + + AC_CHECK_DECLS([basename], [], [], [[#include ]]) diff --git a/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0008-include-linux-limits.h-for-MAX_INPUT.patch b/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0008-include-linux-limits.h-for-MAX_INPUT.patch new file mode 100644 index 000000000..32e79a0a4 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0008-include-linux-limits.h-for-MAX_INPUT.patch @@ -0,0 +1,30 @@ +From 33e945f31fee2d74a392eb79025c9477e12b590d Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 18 Mar 2021 00:49:48 -0700 +Subject: [PATCH 08/10] include linux/limits.h for MAX_INPUT + +Fixes +op_pe_utils.cpp:533:19: error: 'MAX_INPUT' was not declared in this scope + +Upstream-Status: Pending + +Signed-off-by: Khem Raj +--- + libpe_utils/op_pe_utils.cpp | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/libpe_utils/op_pe_utils.cpp b/libpe_utils/op_pe_utils.cpp +index 1ca4ce3a..c5d16a56 100644 +--- a/libpe_utils/op_pe_utils.cpp ++++ b/libpe_utils/op_pe_utils.cpp +@@ -11,6 +11,7 @@ + * + */ + ++#include + #include + #include + #include +-- +2.31.0 + diff --git a/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0009-Prevent-running-check-tests-on-host-if-cross-compili.patch b/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0009-Prevent-running-check-tests-on-host-if-cross-compili.patch new file mode 100644 index 000000000..e47882c9f --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0009-Prevent-running-check-tests-on-host-if-cross-compili.patch @@ -0,0 +1,113 @@ +From 3a942cfd7d2e92667313e189930f7d1733cf40d4 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 18 Mar 2021 00:59:20 -0700 +Subject: [PATCH 09/10] Prevent running check tests on host if cross compiling + +This patch enables running the 'make check' tests on the target +in a cross-compiled environment. If not cross-compiling, then 'make + check' builds and executes the tests; no change from this patch. +In a cross-compiling environment, the make variable CROSS_COMPILE is +set which bypasses assiging tests to the makekfile variable TESTS. +Since TESTS is empty, the 'make check' process never tries to run the +tests on the hosts. On the target, the tests must be run manually. + +Also, in the libutil++ tests, a makefile variable SRCDIR is passed into +the compilation phase, pointing to the runtime location of the test +'file-manip-tests'. The mechanism used for a host test, based on +'topdir' doesn't work. Instead, if CROSS_COMPILE is set, the +makefile takes the path of SRCDIR from the build environment and not +from an expression based on the host path 'topdir'. + +Upstream-Status: Pending + +Signed-off-by: Dave Lerner +Signed-off-by: Khem Raj +--- + configure.ac | 1 + + libdb/tests/Makefile.am | 2 ++ + libop/tests/Makefile.am | 2 ++ + libregex/tests/Makefile.am | 2 ++ + libutil++/tests/Makefile.am | 4 ++++ + libutil/tests/Makefile.am | 2 ++ + 6 files changed, 13 insertions(+) + +diff --git a/configure.ac b/configure.ac +index 520b18ed..108a84e4 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -386,6 +386,7 @@ AC_ARG_ENABLE(account-check, + enable_account_check=$enableval, enable_account_check=yes) + + AM_CONDITIONAL(CHECK_ACCOUNT, test "x$enable_account_check" = "xyes") ++AM_CONDITIONAL(CROSS_COMPILE, test "x$cross_compiling" = "xyes") + + AC_SUBST(OP_CFLAGS) + AC_SUBST(OP_CXXFLAGS) +diff --git a/libdb/tests/Makefile.am b/libdb/tests/Makefile.am +index 8a69003f..c933baf6 100644 +--- a/libdb/tests/Makefile.am ++++ b/libdb/tests/Makefile.am +@@ -13,4 +13,6 @@ check_PROGRAMS = db_test + db_test_SOURCES = db_test.c + db_test_LDADD = ../libodb.a ../../libutil/libutil.a + ++if ! CROSS_COMPILE + TESTS = ${check_PROGRAMS} ++endif +diff --git a/libop/tests/Makefile.am b/libop/tests/Makefile.am +index 8a79eb5d..6b90e997 100644 +--- a/libop/tests/Makefile.am ++++ b/libop/tests/Makefile.am +@@ -33,4 +33,6 @@ load_events_files_tests_LDADD = ${COMMON_LIBS} + mangle_tests_SOURCES = mangle_tests.c + mangle_tests_LDADD = ${COMMON_LIBS} + ++if ! CROSS_COMPILE + TESTS = ${check_PROGRAMS} utf8_checker.sh ++endif +diff --git a/libregex/tests/Makefile.am b/libregex/tests/Makefile.am +index 6f19838f..43e84946 100644 +--- a/libregex/tests/Makefile.am ++++ b/libregex/tests/Makefile.am +@@ -18,4 +18,6 @@ java_test_LDADD = \ + + EXTRA_DIST = mangled-name.in + ++if ! CROSS_COMPILE + TESTS = ${check_PROGRAMS} ++endif +diff --git a/libutil++/tests/Makefile.am b/libutil++/tests/Makefile.am +index 51af0313..dd63fbe2 100644 +--- a/libutil++/tests/Makefile.am ++++ b/libutil++/tests/Makefile.am +@@ -1,7 +1,9 @@ + + REALPATH= readlink -f + ++if ! CROSS_COMPILE + SRCDIR := $(shell $(REALPATH) $(topdir)/libutil++/tests/ ) ++endif + + AM_CPPFLAGS = \ + -I ${top_srcdir}/libutil++ -D SRCDIR="\"$(SRCDIR)/\"" @OP_CPPFLAGS@ +@@ -46,4 +48,6 @@ cached_value_tests_LDADD = ${COMMON_LIBS} + utility_tests_SOURCES = utility_tests.cpp + utility_tests_LDADD = ${COMMON_LIBS} + ++if ! CROSS_COMPILE + TESTS = ${check_PROGRAMS} ++endif +diff --git a/libutil/tests/Makefile.am b/libutil/tests/Makefile.am +index dfcd6eca..d8b51892 100644 +--- a/libutil/tests/Makefile.am ++++ b/libutil/tests/Makefile.am +@@ -12,4 +12,6 @@ file_tests_LDADD = ../libutil.a + string_tests_SOURCES = string_tests.c + string_tests_LDADD = ../libutil.a + ++if ! CROSS_COMPILE + TESTS = ${check_PROGRAMS} ++endif +-- +2.31.0 + diff --git a/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0010-oprofile-Determine-the-root-home-directory-dynamical.patch b/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0010-oprofile-Determine-the-root-home-directory-dynamical.patch new file mode 100644 index 000000000..03ee5155c --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0010-oprofile-Determine-the-root-home-directory-dynamical.patch @@ -0,0 +1,46 @@ +From 60fb7579bac738809b1776dbcd95ccacf7413c57 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 18 Mar 2021 01:02:49 -0700 +Subject: [PATCH 10/10] oprofile: Determine the root home directory dynamically + +This commit detects the root home directory dynamically with changes to +the oprofile gui app source. + +The commit replaces an earlier fix that detected and adjusted a +'non-standard' root home directory at build time. The advantage of this +patch is that the oprofile tools are adjusted to the current run-time +path to ~root, not the build time path. + +Upstream-Status: Inappropriate [OE specific] + +Signed-off-by: Dave Lerner +--- + doc/oprofile.xml | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +--- a/doc/oprofile.xml ++++ b/doc/oprofile.xml +@@ -647,8 +647,8 @@ Following is a description of the must stop it in a controlled manner in order to process + the profile data it has collected. Use kill -SIGINT <operf-PID> + for this purpose. It is recommended that when running operf +- with this option, your current working directory should be /root or a subdirectory +- of /root to avoid storing sample data files in locations accessible by regular users. ++ with this option, your current working directory should be ~root or a subdirectory ++ of ~root to avoid storing sample data files in locations accessible by regular users. + + + +--- a/doc/oprofile.html ++++ b/doc/oprofile.html +@@ -1552,8 +1552,8 @@ Following is a description of the must stop it in a controlled manner in order to process + the profile data it has collected. Use kill -SIGINT <operf-PID> + for this purpose. It is recommended that when running operf +- with this option, your current working directory should be /root or a subdirectory +- of /root to avoid storing sample data files in locations accessible by regular users. ++ with this option, your current working directory should be ~root or a subdirectory ++ of ~root to avoid storing sample data files in locations accessible by regular users. +

+ +
diff --git a/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/automake-foreign.patch b/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/automake-foreign.patch deleted file mode 100644 index b9bb6c577..000000000 --- a/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/automake-foreign.patch +++ /dev/null @@ -1,12 +0,0 @@ -oprofile doesn't want GNU-levels of automake strictness so tell it to be "foreign". - -Upstream-Status: Pending -Signed-off-by: Ross Burton - -diff --git a/configure.ac b/configure.ac -index 5740585..cf6c316 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -16 +16 @@ AC_CONFIG_SRCDIR([libop/op_config.h]) --AM_INIT_AUTOMAKE -+AM_INIT_AUTOMAKE([foreign]) diff --git a/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/musl.patch b/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/musl.patch deleted file mode 100644 index 51db40845..000000000 --- a/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/musl.patch +++ /dev/null @@ -1,46 +0,0 @@ -Fix glibc-isms so that oprofile builds with musl. - -Patch taken from openwrt (https://github.com/openwrt-mirror/openwrt/blob/master/package/devel/oprofile/patches/100-musl.patch) - -Upstream-Status: Pending -Signed-off-by: Ross Burton - ---- a/pe_profiling/operf.cpp -+++ b/pe_profiling/operf.cpp -@@ -857,11 +857,14 @@ static int __delete_old_previous_sample_ - int tflag __attribute__((unused)), - struct FTW *ftwbuf __attribute__((unused))) - { -+ int err; -+ - if (remove(fpath)) { -+ err = errno; - perror("sample data removal error"); -- return FTW_STOP; -+ return err; - } else { -- return FTW_CONTINUE; -+ return 0; - } - } - -@@ -896,7 +899,7 @@ static void convert_sample_data(void) - return; - - if (!operf_options::append) { -- int flags = FTW_DEPTH | FTW_ACTIONRETVAL; -+ int flags = FTW_DEPTH; - errno = 0; - if (nftw(previous_sampledir.c_str(), __delete_old_previous_sample_data, 32, flags) !=0 && - errno != ENOENT) { ---- a/libop/op_events.c -+++ b/libop/op_events.c -@@ -83,7 +83,7 @@ static int parse_hex(char const * str) - static u64 parse_long_hex(char const * str) - { - u64 value; -- if (sscanf(str, "%Lx", &value) != 1) -+ if (sscanf(str, "0x%llx", &value) != 1) - parse_error("expected long hexadecimal value"); - - fflush(stderr); diff --git a/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/oprofile-cross-compile-tests.patch b/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/oprofile-cross-compile-tests.patch deleted file mode 100644 index aefa9548e..000000000 --- a/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/oprofile-cross-compile-tests.patch +++ /dev/null @@ -1,98 +0,0 @@ -Prevent running check tests on host if cross compiling - -This patch enables running the 'make check' tests on the target -in a cross-compiled environment. If not cross-compiling, then 'make - check' builds and executes the tests; no change from this patch. -In a cross-compiling environment, the make variable CROSS_COMPILE is -set which bypasses assiging tests to the makekfile variable TESTS. -Since TESTS is empty, the 'make check' process never tries to run the -tests on the hosts. On the target, the tests must be run manually. - -Also, in the libutil++ tests, a makefile variable SRCDIR is passed into -the compilation phase, pointing to the runtime location of the test -'file-manip-tests'. The mechanism used for a host test, based on -'topdir' doesn't work. Instead, if CROSS_COMPILE is set, the -makefile takes the path of SRCDIR from the build environment and not -from an expression based on the host path 'topdir'. - -Upstream-Status: Pending - -Signed-off-by: Dave Lerner - -diff --git a/configure.ac b/configure.ac -index 41ece64..ce5a16f 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -392,6 +392,7 @@ AC_ARG_ENABLE(account-check, - enable_account_check=$enableval, enable_account_check=yes) - - AM_CONDITIONAL(CHECK_ACCOUNT, test "x$enable_account_check" = "xyes") -+AM_CONDITIONAL(CROSS_COMPILE, test "x$cross_compiling" = "xyes") - - AC_SUBST(OP_CFLAGS) - AC_SUBST(OP_CXXFLAGS) -diff --git a/libdb/tests/Makefile.am b/libdb/tests/Makefile.am -index 8a69003..d820090 100644 ---- a/libdb/tests/Makefile.am -+++ b/libdb/tests/Makefile.am -@@ -13,4 +13,6 @@ check_PROGRAMS = db_test - db_test_SOURCES = db_test.c - db_test_LDADD = ../libodb.a ../../libutil/libutil.a - -+if ! CROSS_COMPILE - TESTS = ${check_PROGRAMS} -+endif -diff --git a/libop/tests/Makefile.am b/libop/tests/Makefile.am -index 8a79eb5..6d417c4 100644 ---- a/libop/tests/Makefile.am -+++ b/libop/tests/Makefile.am -@@ -33,4 +33,6 @@ load_events_files_tests_LDADD = ${COMMON_LIBS} - mangle_tests_SOURCES = mangle_tests.c - mangle_tests_LDADD = ${COMMON_LIBS} - -+if ! CROSS_COMPILE - TESTS = ${check_PROGRAMS} utf8_checker.sh -+endif -diff --git a/libregex/tests/Makefile.am b/libregex/tests/Makefile.am -index 6f19838..1d176f9 100644 ---- a/libregex/tests/Makefile.am -+++ b/libregex/tests/Makefile.am -@@ -18,4 +18,6 @@ java_test_LDADD = \ - - EXTRA_DIST = mangled-name.in - -+if ! CROSS_COMPILE - TESTS = ${check_PROGRAMS} -+endif -diff --git a/libutil++/tests/Makefile.am b/libutil++/tests/Makefile.am -index 51af031..a01ea2d 100644 ---- a/libutil++/tests/Makefile.am -+++ b/libutil++/tests/Makefile.am -@@ -1,7 +1,9 @@ - - REALPATH= readlink -f - -+if ! CROSS_COMPILE - SRCDIR := $(shell $(REALPATH) $(topdir)/libutil++/tests/ ) -+endif - - AM_CPPFLAGS = \ - -I ${top_srcdir}/libutil++ -D SRCDIR="\"$(SRCDIR)/\"" @OP_CPPFLAGS@ -@@ -46,4 +48,6 @@ cached_value_tests_LDADD = ${COMMON_LIBS} - utility_tests_SOURCES = utility_tests.cpp - utility_tests_LDADD = ${COMMON_LIBS} - -+if ! CROSS_COMPILE - TESTS = ${check_PROGRAMS} -+endif -diff --git a/libutil/tests/Makefile.am b/libutil/tests/Makefile.am -index dfcd6ec..e8831b5 100644 ---- a/libutil/tests/Makefile.am -+++ b/libutil/tests/Makefile.am -@@ -12,4 +12,6 @@ file_tests_LDADD = ../libutil.a - string_tests_SOURCES = string_tests.c - string_tests_LDADD = ../libutil.a - -+if ! CROSS_COMPILE - TESTS = ${check_PROGRAMS} -+endif diff --git a/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/root-home-dir.patch b/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/root-home-dir.patch deleted file mode 100644 index 3eaf6a794..000000000 --- a/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/root-home-dir.patch +++ /dev/null @@ -1,44 +0,0 @@ -oprofile: Determine the root home directory dynamically - -This commit detects the root home directory dynamically with changes to -the oprofile gui app source. - -The commit replaces an earlier fix that detected and adjusted a -'non-standard' root home directory at build time. The advantage of this -patch is that the oprofile tools are adjusted to the current run-time -path to ~root, not the build time path. - -Upstream-Status: Inappropriate [OE specific] - -Signed-off-by: Dave Lerner - -Index: oprofile-1.0.0/doc/oprofile.html -=================================================================== ---- oprofile-1.0.0.orig/doc/oprofile.html 2014-11-03 17:55:31.511034857 +0000 -+++ oprofile-1.0.0/doc/oprofile.html 2014-11-03 17:57:26.415037988 +0000 -@@ -1563,8 +1563,8 @@ - must stop it in a controlled manner in order to process - the profile data it has collected. Use kill -SIGINT <operf-PID> - for this purpose. It is recommended that when running operf -- with this option, your current working directory should be /root or a subdirectory -- of /root to avoid storing sample data files in locations accessible by regular users. -+ with this option, your current working directory should be ~root or a subdirectory -+ of ~root to avoid storing sample data files in locations accessible by regular users. -

- -
-Index: oprofile-1.0.0/doc/oprofile.xml -=================================================================== ---- oprofile-1.0.0.orig/doc/oprofile.xml 2014-11-03 17:55:31.515034857 +0000 -+++ oprofile-1.0.0/doc/oprofile.xml 2014-11-03 17:58:03.719039005 +0000 -@@ -654,8 +654,8 @@ - must stop it in a controlled manner in order to process - the profile data it has collected. Use kill -SIGINT <operf-PID> - for this purpose. It is recommended that when running operf -- with this option, your current working directory should be /root or a subdirectory -- of /root to avoid storing sample data files in locations accessible by regular users. -+ with this option, your current working directory should be ~root or a subdirectory -+ of ~root to avoid storing sample data files in locations accessible by regular users. - - - diff --git a/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile_1.3.0.bb b/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile_1.3.0.bb deleted file mode 100644 index 8242a835f..000000000 --- a/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile_1.3.0.bb +++ /dev/null @@ -1,13 +0,0 @@ -require oprofile.inc - -COMPATIBLE_HOST_riscv64 = "null" -COMPATIBLE_HOST_riscv32 = "null" - -DEPENDS_append_powerpc64 = " libpfm4" -DEPENDS_append_powerpc64le = " libpfm4" - -SRC_URI[md5sum] = "bd998df5521ebedae31e71cd3fb6200b" -SRC_URI[sha256sum] = "95ded8bde1ec39922f0af015981a67aec63e025a501e4dc04cd65d38f73647e6" - -S = "${WORKDIR}/oprofile-${PV}" - diff --git a/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile_1.4.0.bb b/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile_1.4.0.bb new file mode 100644 index 000000000..7a1844682 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile_1.4.0.bb @@ -0,0 +1,75 @@ +SUMMARY = "System-Wide Profiler" +DESCRIPTION = "OProfile is a system-wide profiler for Linux systems, capable \ +of profiling all running code at low overhead." +HOMEPAGE = "http://oprofile.sourceforge.net/news/" +BUGTRACKER = "http://sourceforge.net/tracker/?group_id=16191&atid=116191" + +LICENSE = "LGPLv2.1+ & GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ + file://libopagent/opagent.h;beginline=5;endline=26;md5=4f16f72c7a493d8a4704aa18d03d15c6 \ + " +SECTION = "devel" + +DEPENDS = "popt binutils" +DEPENDS_append_powerpc64 = " libpfm4" +DEPENDS_append_powerpc64le = " libpfm4" + +COMPATIBLE_HOST_riscv64 = "null" +COMPATIBLE_HOST_riscv32 = "null" + +SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz \ + file://acinclude.m4 \ + file://run-ptest \ + file://0001-Fix-build-with-musl.patch \ + file://0002-Fix-configure-when-bin-sh-is-not-bash.patch \ + file://0003-Define-the-C-preprocessor-variable-to-improve-reprod.patch \ + file://0004-Use-BUILD_DATE-to-improve-reproducibility.patch \ + file://0005-Add-rmb-definition-for-NIOS2-architecture.patch \ + file://0006-replace-sym_iterator-0-with-sym_iterator.patch \ + file://0007-oprofile-doesn-t-want-GNU-levels-of-automake-strictn.patch \ + file://0008-include-linux-limits.h-for-MAX_INPUT.patch \ + file://0009-Prevent-running-check-tests-on-host-if-cross-compili.patch \ + file://0010-oprofile-Determine-the-root-home-directory-dynamical.patch \ +" +SRC_URI[sha256sum] = "7ba06f99d7c188389d20d1d5e53ee690c7733f87aa9af62bd664fa0ca235a412" + +UPSTREAM_CHECK_REGEX = "oprofile-(?P\d+(\.\d+)+)/" +UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/oprofile/files/oprofile/" + +inherit autotools pkgconfig ptest + +EXTRA_OECONF = "--with-kernel=${STAGING_DIR_HOST}${prefix} --without-x ac_cv_prog_XSLTPROC=" +do_configure () { + cp ${WORKDIR}/acinclude.m4 ${S}/ + autotools_do_configure +} + +EXTRA_OEMAKE = "SRCDIR=${PTEST_PATH}/libutil++/tests" +do_compile_ptest() { + oe_runmake check +} + +do_install_ptest() { + subdirs="libdb/tests libutil++/tests libregex/tests libutil/tests libop/tests libdb/tests " + for tooltest in ${subdirs} + do + find ${tooltest} -perm /u=x -type f| cpio -pvdu ${D}${PTEST_PATH} + done + + # needed by some libop tests + cp -r events ${D}${PTEST_PATH} + + # needed by libregex regex_test + cp libregex/stl.pat ${D}${PTEST_PATH}/libregex + cp libregex/tests/mangled-name ${D}${PTEST_PATH}/libregex/tests + + # needed by litutil++ file_manip_tests + cp ${S}/libutil++/tests/file_manip_tests.cpp \ + libutil++/tests/file_manip_tests.o ${D}${PTEST_PATH}/libutil++/tests +} + +RDEPENDS_${PN} = "binutils-symlinks" + +FILES_${PN} = "${bindir} ${libdir}/${BPN}/lib*${SOLIBS} ${datadir}/${BPN}" +FILES_${PN}-dev += "${libdir}/${BPN}/lib*${SOLIBSDEV} ${libdir}/${BPN}/lib*.la" +FILES_${PN}-staticdev += "${libdir}/${BPN}/lib*.a" diff --git a/meta-openembedded/meta-oe/recipes-multimedia/live555/live555_20210129.bb b/meta-openembedded/meta-oe/recipes-multimedia/live555/live555_20210129.bb deleted file mode 100644 index 1e7a674f4..000000000 --- a/meta-openembedded/meta-oe/recipes-multimedia/live555/live555_20210129.bb +++ /dev/null @@ -1,62 +0,0 @@ -# live555 OE build file -# Copyright (C) 2005, Koninklijke Philips Electronics NV. All Rights Reserved -# Released under the MIT license (see packages/COPYING) - -DESCRIPTION = "LIVE555 Streaming Media libraries" -HOMEPAGE = "http://live.com/" -LICENSE = "LGPLv3" -SECTION = "devel" - -DEPENDS = "openssl" - -URLV = "${@d.getVar('PV')[0:4]}.${@d.getVar('PV')[4:6]}.${@d.getVar('PV')[6:8]}" -SRC_URI = "https://download.videolan.org/pub/contrib/live555/live.${URLV}.tar.gz \ - file://config.linux-cross" - -# only latest live version stays on http://www.live555.com/liveMedia/public/, add mirror for older -MIRRORS += "http://www.live555.com/liveMedia/public/ http://download.videolan.org/contrib/live555/ \n" - -SRC_URI[sha256sum] = "85ab8d4337d414482586089b6f64fc39af64ff4be5b51976b54b0e10dceb333b" - -S = "${WORKDIR}/live" - -LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \ - file://COPYING.LESSER;md5=e6a600fd5e1d9cbde2d983680233ad02 \ - " - -TARGET_CC_ARCH += "${LDFLAGS}" - -do_configure() { - cp ${WORKDIR}/config.linux-cross . - echo "COMPILE_OPTS+=" -fPIC -DXLOCALE_NOT_USED"" >> config.linux-cross - ./genMakefiles linux-cross -} - -do_install() { - install -d ${D}${includedir}/BasicUsageEnvironment - install -d ${D}${includedir}/groupsock - install -d ${D}${includedir}/liveMedia - install -d ${D}${includedir}/UsageEnvironment - install -d ${D}${libdir} - cp -R --no-dereference --preserve=mode,links -v ${S}/BasicUsageEnvironment/include/*.hh ${D}${includedir}/BasicUsageEnvironment/ - cp -R --no-dereference --preserve=mode,links -v ${S}/groupsock/include/*.h ${D}${includedir}/groupsock/ - cp -R --no-dereference --preserve=mode,links -v ${S}/groupsock/include/*.hh ${D}${includedir}/groupsock/ - cp -R --no-dereference --preserve=mode,links -v ${S}/liveMedia/include/*.hh ${D}${includedir}/liveMedia/ - cp -R --no-dereference --preserve=mode,links -v ${S}/UsageEnvironment/include/*.hh ${D}${includedir}/UsageEnvironment/ - # Find all the headers - for i in $(find . -name "*.hh") $(find . -name "*.h") ; do - install ${i} ${D}${includedir} - done - cp ${S}/*/*.a ${D}${libdir} - install -d ${D}${bindir} - for i in MPEG2TransportStreamIndexer openRTSP playSIP sapWatch testMPEG1or2ProgramToTransportStream testMPEG1or2Splitter testMPEG1or2VideoReceiver testMPEG2TransportStreamTrickPlay testOnDemandRTSPServer testRelay testAMRAudioStreamer testDVVideoStreamer testMP3Receiver testMP3Streamer testMPEG1or2AudioVideoStreamer testMPEG1or2VideoStreamer testMPEG2TransportStreamer testMPEG4VideoStreamer testWAVAudioStreamer vobStreamer; do - install -m 0755 ${S}/testProgs/${i} ${D}${bindir}/ - done - install -m 0755 ${S}/mediaServer/live555MediaServer ${D}${bindir}/ -} - -PACKAGES =+ "live555-openrtsp live555-playsip live555-mediaserver live555-examples" -FILES_live555-openrtsp = "${bindir}/openRTSP" -FILES_live555-playsip = "${bindir}/playSIP" -FILES_live555-mediaserver = "${bindir}/live555MediaServer" -FILES_live555-examples = "${bindir}/*" diff --git a/meta-openembedded/meta-oe/recipes-multimedia/live555/live555_20210322.bb b/meta-openembedded/meta-oe/recipes-multimedia/live555/live555_20210322.bb new file mode 100644 index 000000000..891338548 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-multimedia/live555/live555_20210322.bb @@ -0,0 +1,62 @@ +# live555 OE build file +# Copyright (C) 2005, Koninklijke Philips Electronics NV. All Rights Reserved +# Released under the MIT license (see packages/COPYING) + +DESCRIPTION = "LIVE555 Streaming Media libraries" +HOMEPAGE = "http://live.com/" +LICENSE = "LGPLv3" +SECTION = "devel" + +DEPENDS = "openssl" + +URLV = "${@d.getVar('PV')[0:4]}.${@d.getVar('PV')[4:6]}.${@d.getVar('PV')[6:8]}" +SRC_URI = "https://download.videolan.org/pub/contrib/live555/live.${URLV}.tar.gz \ + file://config.linux-cross" + +# only latest live version stays on http://www.live555.com/liveMedia/public/, add mirror for older +MIRRORS += "http://www.live555.com/liveMedia/public/ http://download.videolan.org/contrib/live555/ \n" + +SRC_URI[sha256sum] = "b451c7ded8becbfa239e8f4fbe69784413270fb4c5e9b2e74269247dc3dd2e59" + +S = "${WORKDIR}/live" + +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \ + file://COPYING.LESSER;md5=e6a600fd5e1d9cbde2d983680233ad02 \ + " + +TARGET_CC_ARCH += "${LDFLAGS}" + +do_configure() { + cp ${WORKDIR}/config.linux-cross . + echo "COMPILE_OPTS+=" -fPIC -DXLOCALE_NOT_USED"" >> config.linux-cross + ./genMakefiles linux-cross +} + +do_install() { + install -d ${D}${includedir}/BasicUsageEnvironment + install -d ${D}${includedir}/groupsock + install -d ${D}${includedir}/liveMedia + install -d ${D}${includedir}/UsageEnvironment + install -d ${D}${libdir} + cp -R --no-dereference --preserve=mode,links -v ${S}/BasicUsageEnvironment/include/*.hh ${D}${includedir}/BasicUsageEnvironment/ + cp -R --no-dereference --preserve=mode,links -v ${S}/groupsock/include/*.h ${D}${includedir}/groupsock/ + cp -R --no-dereference --preserve=mode,links -v ${S}/groupsock/include/*.hh ${D}${includedir}/groupsock/ + cp -R --no-dereference --preserve=mode,links -v ${S}/liveMedia/include/*.hh ${D}${includedir}/liveMedia/ + cp -R --no-dereference --preserve=mode,links -v ${S}/UsageEnvironment/include/*.hh ${D}${includedir}/UsageEnvironment/ + # Find all the headers + for i in $(find . -name "*.hh") $(find . -name "*.h") ; do + install ${i} ${D}${includedir} + done + cp ${S}/*/*.a ${D}${libdir} + install -d ${D}${bindir} + for i in MPEG2TransportStreamIndexer openRTSP playSIP sapWatch testMPEG1or2ProgramToTransportStream testMPEG1or2Splitter testMPEG1or2VideoReceiver testMPEG2TransportStreamTrickPlay testOnDemandRTSPServer testRelay testAMRAudioStreamer testDVVideoStreamer testMP3Receiver testMP3Streamer testMPEG1or2AudioVideoStreamer testMPEG1or2VideoStreamer testMPEG2TransportStreamer testMPEG4VideoStreamer testWAVAudioStreamer vobStreamer; do + install -m 0755 ${S}/testProgs/${i} ${D}${bindir}/ + done + install -m 0755 ${S}/mediaServer/live555MediaServer ${D}${bindir}/ +} + +PACKAGES =+ "live555-openrtsp live555-playsip live555-mediaserver live555-examples" +FILES_live555-openrtsp = "${bindir}/openRTSP" +FILES_live555-playsip = "${bindir}/playSIP" +FILES_live555-mediaserver = "${bindir}/live555MediaServer" +FILES_live555-examples = "${bindir}/*" diff --git a/meta-openembedded/meta-oe/recipes-multimedia/mplayer/mpv_0.32.0.bb b/meta-openembedded/meta-oe/recipes-multimedia/mplayer/mpv_0.32.0.bb index 973a978b1..171eef7b7 100644 --- a/meta-openembedded/meta-oe/recipes-multimedia/mplayer/mpv_0.32.0.bb +++ b/meta-openembedded/meta-oe/recipes-multimedia/mplayer/mpv_0.32.0.bb @@ -12,9 +12,6 @@ DEPENDS += " \ LICENSE = "GPLv2+" LIC_FILES_CHKSUM = "file://LICENSE.GPL;md5=91f1cb870c1cc2d31351a4d2595441cb" -# While this item does not require it, it depends on ffmpeg which does -LICENSE_FLAGS = "commercial" - SRCREV_mpv = "70b991749df389bcc0a4e145b5687233a03b4ed7" SRC_URI = " \ git://github.com/mpv-player/mpv;name=mpv \ @@ -26,6 +23,8 @@ S = "${WORKDIR}/git" inherit waf pkgconfig mime-xdg +LDFLAGS_append_riscv64 = " -latomic" + LUA ?= "lua" LUA_mips64 = "" LUA_aarch64 = "" @@ -112,3 +111,4 @@ FILES_${PN} += " \ ${datadir}/zsh \ ${datadir}/bash-completion \ " +EXCLUDE_FROM_WORLD = "${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", "0", "1", d)}" diff --git a/meta-openembedded/meta-oe/recipes-support/ceres-solver/ceres-solver_2.0.0.bb b/meta-openembedded/meta-oe/recipes-support/ceres-solver/ceres-solver_2.0.0.bb index 28d0868c4..7feba4a5a 100644 --- a/meta-openembedded/meta-oe/recipes-support/ceres-solver/ceres-solver_2.0.0.bb +++ b/meta-openembedded/meta-oe/recipes-support/ceres-solver/ceres-solver_2.0.0.bb @@ -13,6 +13,14 @@ S = "${WORKDIR}/git" inherit cmake +do_configure_prepend() { + # otherwise https://github.com/ceres-solver/ceres-solver/blob/0b748597889f460764f6c980a00c6f502caa3875/cmake/AddGerritCommitHook.cmake#L68 + # will try to fetch https://ceres-solver-review.googlesource.com/tools/hooks/commit-msg durind do_configure + # which sometimes gets stuck (as there is no TIMEOUT set in DOWNLOAD) + # and we really don't need Gerrit's Change-Id tags when just building this + touch ${S}/.git/hooks/commit-msg +} + # We don't want path to eigen3 in ceres-solver RSS to be # used by components which use CeresConfig.cmake from their # own RSS diff --git a/meta-openembedded/meta-oe/recipes-support/farsight/libnice_0.1.16.bb b/meta-openembedded/meta-oe/recipes-support/farsight/libnice_0.1.16.bb deleted file mode 100644 index 7bd6478d4..000000000 --- a/meta-openembedded/meta-oe/recipes-support/farsight/libnice_0.1.16.bb +++ /dev/null @@ -1,40 +0,0 @@ -SUMMARY = "Interactive Connectivity Establishment library" -DESCRIPTION = "Libnice is an implementation of the IETF's draft Interactive Connectivity Establishment standard (ICE)." -HOMEPAGE = "http://nice.freedesktop.org/wiki/" - -LICENSE = "LGPLv2.1 & MPLv1.1" -LIC_FILES_CHKSUM = "file://COPYING;md5=9c42325015702feda4f4d2f19a55b767 \ - file://COPYING.LGPL;md5=2d5025d4aa3495befef8f17206a5b0a1 \ - file://COPYING.MPL;md5=3c617710e51cdbe0fc00716f056dfb1a \ -" - -SRC_URI = "http://nice.freedesktop.org/releases/libnice-${PV}.tar.gz" -SRC_URI[md5sum] = "5ad936c43d3c6d33117b2c64982f2fd9" -SRC_URI[sha256sum] = "06b678066f94dde595a4291588ed27acd085ee73775b8c4e8399e28c01eeefdf" - -DEPENDS = "glib-2.0 gnutls" - -PACKAGECONFIG ??= "gstreamer1.0" -PACKAGECONFIG[gupnp] = "--enable-gupnp,--disable-gupnp,gupnp-igd" -PACKAGECONFIG[gstreamer1.0] = "--with-gstreamer,--without-gstreamer,gstreamer1.0 gstreamer1.0-plugins-base" - -inherit autotools pkgconfig gtk-doc gobject-introspection - -EXTRA_OECONF += "--without-gstreamer-0.10" - -FILES_${PN} += "${libdir}/gstreamer-1.0/*.so" -FILES_${PN}-dev += "${libdir}/gstreamer-1.0/*.la" -FILES_${PN}-staticdev += "${libdir}/gstreamer-1.0/*.a" -FILES_${PN}-dbg += "${libdir}/gstreamer-1.0/.debug" - -do_configure_prepend() { - mkdir ${S}/m4 || true -} - -do_compile_append() { - for i in $(find ${B} -name "*.pc") ; do - sed -i -e s:${STAGING_DIR_TARGET}::g \ - -e s:/${TARGET_SYS}::g \ - $i - done -} diff --git a/meta-openembedded/meta-oe/recipes-support/farsight/libnice_0.1.18.bb b/meta-openembedded/meta-oe/recipes-support/farsight/libnice_0.1.18.bb new file mode 100644 index 000000000..f3e7b8bac --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/farsight/libnice_0.1.18.bb @@ -0,0 +1,43 @@ +SUMMARY = "Interactive Connectivity Establishment library" +DESCRIPTION = "Libnice is an implementation of the IETF's draft Interactive Connectivity Establishment standard (ICE)." +HOMEPAGE = "http://nice.freedesktop.org/wiki/" + +LICENSE = "LGPLv2.1 & MPLv1.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=9c42325015702feda4f4d2f19a55b767 \ + file://COPYING.LGPL;md5=2d5025d4aa3495befef8f17206a5b0a1 \ + file://COPYING.MPL;md5=3c617710e51cdbe0fc00716f056dfb1a \ +" + +SRC_URI = "http://nice.freedesktop.org/releases/libnice-${PV}.tar.gz" +SRC_URI[sha256sum] = "5eabd25ba2b54e817699832826269241abaa1cf78f9b240d1435f936569273f4" + +DEPENDS = "glib-2.0 gnutls" + +PACKAGECONFIG[gupnp] = "-Dgupnp=enabled,-Dgupnp=disabled,gupnp" +PACKAGECONFIG[gstreamer] = "-Dgstreamer=enabled,-Dgstreamer=disabled,gstreamer1.0" +PACKAGECONFIG[introspection] = "-Dintrospection=enabled,-Dintrospection=disabled," + +EXTRA_OEMESON = "-Dgstreamer=disabled" + +GTKDOC_MESON_OPTION = "gtk_doc" +GTKDOC_MESON_ENABLE_FLAG = "enabled" +GTKDOC_MESON_DISABLE_FLAG = "disabled" + +inherit meson gtk-doc gobject-introspection + +FILES_${PN} += "${libdir}/gstreamer-1.0/*.so" +FILES_${PN}-dev += "${libdir}/gstreamer-1.0/*.la" +FILES_${PN}-staticdev += "${libdir}/gstreamer-1.0/*.a" +FILES_${PN}-dbg += "${libdir}/gstreamer-1.0/.debug" + +do_configure_prepend() { + mkdir ${S}/m4 || true +} + +do_compile_append() { + for i in $(find ${B} -name "*.pc") ; do + sed -i -e s:${STAGING_DIR_TARGET}::g \ + -e s:/${TARGET_SYS}::g \ + $i + done +} diff --git a/meta-openembedded/meta-oe/recipes-support/fftw/fftw/club-libtool.patch b/meta-openembedded/meta-oe/recipes-support/fftw/fftw/club-libtool.patch new file mode 100644 index 000000000..d4a1ef8d0 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/fftw/fftw/club-libtool.patch @@ -0,0 +1,9 @@ +--- ./tests/Makefile.am.orig 2021-03-23 11:45:12.756371739 -0400 ++++ ./tests/Makefile.am 2021-03-23 11:46:43.224132851 -0400 +@@ -1,5 +1,5 @@ + AM_CPPFLAGS = -I $(top_srcdir) +-noinst_PROGRAMS = bench ++bin_PROGRAMS = bench@PREC_SUFFIX@ + EXTRA_DIST = check.pl README + + if THREADS diff --git a/meta-openembedded/meta-oe/recipes-support/fftw/fftw/install-bench.patch b/meta-openembedded/meta-oe/recipes-support/fftw/fftw/install-bench.patch new file mode 100644 index 000000000..ef570b19d --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/fftw/fftw/install-bench.patch @@ -0,0 +1,41 @@ +--- ./tests/Makefile.am.orig 2021-03-23 11:45:12.756371739 -0400 ++++ ./tests/Makefile.am 2021-03-23 19:29:19.692180793 -0400 +@@ -1,21 +1,21 @@ + AM_CPPFLAGS = -I $(top_srcdir) +-noinst_PROGRAMS = bench ++bin_PROGRAMS = bench@PREC_SUFFIX@ + EXTRA_DIST = check.pl README + + if THREADS +-bench_CFLAGS = $(PTHREAD_CFLAGS) ++bench@PREC_SUFFIX@_CFLAGS = $(PTHREAD_CFLAGS) + if !COMBINED_THREADS + LIBFFTWTHREADS = $(top_builddir)/threads/libfftw3@PREC_SUFFIX@_threads.la + endif + else + if OPENMP +-bench_CFLAGS = $(OPENMP_CFLAGS) ++bench@PREC_SUFFIX@_CFLAGS = $(OPENMP_CFLAGS) + LIBFFTWTHREADS = $(top_builddir)/threads/libfftw3@PREC_SUFFIX@_omp.la + endif + endif + +-bench_SOURCES = bench.c hook.c fftw-bench.c fftw-bench.h +-bench_LDADD = $(LIBFFTWTHREADS) \ ++bench@PREC_SUFFIX@_SOURCES = bench.c hook.c fftw-bench.c fftw-bench.h ++bench@PREC_SUFFIX@_LDADD = $(LIBFFTWTHREADS) \ + $(top_builddir)/libfftw3@PREC_SUFFIX@.la \ + $(top_builddir)/libbench2/libbench2.a $(THREADLIBS) + +--- ./tools/Makefile.am.orig 2021-03-24 08:22:31.845581620 -0400 ++++ ./tools/Makefile.am 2021-03-24 08:24:26.454053573 -0400 +@@ -24,7 +24,7 @@ + endif + + fftw@PREC_SUFFIX@_wisdom_SOURCES = fftw-wisdom.c +-fftw@PREC_SUFFIX@_wisdom_LDADD = $(top_builddir)/tests/bench-bench.o \ +-$(top_builddir)/tests/bench-fftw-bench.o $(LIBFFTWTHREADS) \ ++fftw@PREC_SUFFIX@_wisdom_LDADD = $(top_builddir)/tests/bench@PREC_SUFFIX@-bench.o \ ++$(top_builddir)/tests/bench@PREC_SUFFIX@-fftw-bench.o $(LIBFFTWTHREADS) \ + $(top_builddir)/libfftw3@PREC_SUFFIX@.la \ + $(top_builddir)/libbench2/libbench2.a $(THREADLIBS) diff --git a/meta-openembedded/meta-oe/recipes-support/fftw/fftw/run-ptest b/meta-openembedded/meta-oe/recipes-support/fftw/fftw/run-ptest new file mode 100644 index 000000000..6d8dd96f0 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/fftw/fftw/run-ptest @@ -0,0 +1,30 @@ +#!/bin/sh + +cd fftw +/usr/bin/perl -w ./check.pl -r -c=30 -v `pwd`/bench +fftw_result=$? +cd ../fftwf +/usr/bin/perl -w ./check.pl -r -c=30 -v `pwd`/benchf +fftwf_result=$? +cd ../fftwl +/usr/bin/perl -w ./check.pl -r -c=30 -v `pwd`/benchl +fftwl_result=$? + +echo -n "fftw test result:" +if [ $fftw_result = "0" ]; then + echo PASSED +else + echo FAILED +fi +echo -n "fftwf test result:" +if [ $fftwf_result = "0" ]; then + echo PASSED +else + echo FAILED +fi +echo -n "fftwl test result:" +if [ $fftwl_result = "0" ]; then + echo PASSED +else + echo FAILED +fi diff --git a/meta-openembedded/meta-oe/recipes-support/fftw/fftw_3.3.8.bb b/meta-openembedded/meta-oe/recipes-support/fftw/fftw_3.3.8.bb index d9e0ea340..de175d629 100644 --- a/meta-openembedded/meta-oe/recipes-support/fftw/fftw_3.3.8.bb +++ b/meta-openembedded/meta-oe/recipes-support/fftw/fftw_3.3.8.bb @@ -6,11 +6,13 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" SRC_URI = " \ http://www.fftw.org/fftw-${PV}.tar.gz \ file://0001-NEON-autodetection-segfaults-assume-neon-present.patch \ + file://install-bench.patch \ + file://run-ptest \ " SRC_URI[md5sum] = "8aac833c943d8e90d51b697b27d4384d" SRC_URI[sha256sum] = "6113262f6e92c5bd474f2875fa1b01054c4ad5040f6b0da7c03c98821d9ae303" -inherit autotools pkgconfig +inherit autotools pkgconfig ptest # we had multiple recipes in the past PROVIDES = "fftwl fftwf" @@ -65,6 +67,22 @@ do_install() { done } +do_install_ptest() { + for lib in fftw fftwl fftwf; do + install -d ${D}${PTEST_PATH}/$lib + install -m 0755 ${S}/tests/check.pl ${D}${PTEST_PATH}/$lib + cd ${WORKDIR}/build-$lib + if [ $lib = "fftw" ]; then + mv ${D}${bindir}/bench ${D}${PTEST_PATH}/$lib + fi + if [ $lib = "fftwl" ]; then + mv ${D}${bindir}/benchl ${D}${PTEST_PATH}/$lib + fi + if [ $lib = "fftwf" ]; then + mv ${D}${bindir}/benchf ${D}${PTEST_PATH}/$lib + fi + done +} PACKAGES =+ "libfftw libfftwl libfftwf" FILES_libfftw = "${libdir}/libfftw3.so.* ${libdir}/libfftw3_*.so.*" @@ -79,5 +97,7 @@ FILES_fftw-wisdom-to-conf = "${bindir}/fftw-wisdom-to-conf" FILES_${PN}-dev += "${libdir}/cmake" RDEPENDS_${PN}-dev = "libfftw libfftwl libfftwf" +RDEPENDS_${PN}-ptest += "perl" +RDEPENDS_${PN}-ptest_remove = "fftw" BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-oe/recipes-support/gd/gd_2.3.1.bb b/meta-openembedded/meta-oe/recipes-support/gd/gd_2.3.1.bb deleted file mode 100644 index 60abe73a1..000000000 --- a/meta-openembedded/meta-oe/recipes-support/gd/gd_2.3.1.bb +++ /dev/null @@ -1,54 +0,0 @@ -SUMMARY = "gd is a library used to create PNG, JPEG, or WBMP images" -DESCRIPTION = "The gd graphics library allows your code to quickly draw images \ -complete with lines, arcs, text, multiple colors, cut and paste from other \ -images, and flood fills, and to write out the result as a PNG or JPEG file. \ -This is particularly useful in Web applications, where PNG and JPEG are two \ -of the formats accepted for inline images by most browsers. Note that gd is not \ -a paint program." -HOMEPAGE = "http://libgd.github.io/" - -SECTION = "libs" -LICENSE = "GD" -LIC_FILES_CHKSUM = "file://COPYING;md5=8e5bc8627b9494741c905d65238c66b7" - -DEPENDS = "freetype libpng jpeg zlib tiff" - -SRC_URI = "git://github.com/libgd/libgd.git;branch=master \ - " - -SRCREV = "75ef79c9b013fb5eafd92710b3867827682fd52d" - -S = "${WORKDIR}/git" - -inherit autotools binconfig gettext pkgconfig - -EXTRA_OECONF += " --disable-rpath \ - --with-jpeg=${STAGING_LIBDIR}/.. \ - --with-freetype=yes \ - --without-fontconfig \ - --without-webp \ - --without-xpm \ - --without-x \ - " - -EXTRA_OEMAKE = 'LDFLAGS="${LDFLAGS}"' - -DEBUG_OPTIMIZATION_append = " -Wno-error=maybe-uninitialized" - -do_install_append_class-target() { - # cleanup buildpaths from gdlib.pc - sed -i -e 's#${STAGING_DIR_HOST}##g' ${D}${libdir}/pkgconfig/gdlib.pc -} - -PACKAGES += "${PN}-tools" - -FILES_${PN} = "${libdir}/lib*${SOLIBS}" -FILES_${PN}-tools = "${bindir}/*" - -PROVIDES += "${PN}-tools" -RPROVIDES_${PN}-tools = "${PN}-tools" -RDEPENDS_${PN}-tools = "perl perl-module-strict" - -CVE_PRODUCT = "libgd" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-oe/recipes-support/gd/gd_2.3.2.bb b/meta-openembedded/meta-oe/recipes-support/gd/gd_2.3.2.bb new file mode 100644 index 000000000..37896415e --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/gd/gd_2.3.2.bb @@ -0,0 +1,54 @@ +SUMMARY = "gd is a library used to create PNG, JPEG, or WBMP images" +DESCRIPTION = "The gd graphics library allows your code to quickly draw images \ +complete with lines, arcs, text, multiple colors, cut and paste from other \ +images, and flood fills, and to write out the result as a PNG or JPEG file. \ +This is particularly useful in Web applications, where PNG and JPEG are two \ +of the formats accepted for inline images by most browsers. Note that gd is not \ +a paint program." +HOMEPAGE = "http://libgd.github.io/" + +SECTION = "libs" +LICENSE = "GD" +LIC_FILES_CHKSUM = "file://COPYING;md5=8e5bc8627b9494741c905d65238c66b7" + +DEPENDS = "freetype libpng jpeg zlib tiff" + +SRC_URI = "git://github.com/libgd/libgd.git;branch=master \ + " + +SRCREV = "2e40f55bfb460fc9d8cbcd290a0c9eb908d5af7e" + +S = "${WORKDIR}/git" + +inherit autotools binconfig gettext pkgconfig + +EXTRA_OECONF += " --disable-rpath \ + --with-jpeg=${STAGING_LIBDIR}/.. \ + --with-freetype=yes \ + --without-fontconfig \ + --without-webp \ + --without-xpm \ + --without-x \ + " + +EXTRA_OEMAKE = 'LDFLAGS="${LDFLAGS}"' + +DEBUG_OPTIMIZATION_append = " -Wno-error=maybe-uninitialized" + +do_install_append_class-target() { + # cleanup buildpaths from gdlib.pc + sed -i -e 's#${STAGING_DIR_HOST}##g' ${D}${libdir}/pkgconfig/gdlib.pc +} + +PACKAGES += "${PN}-tools" + +FILES_${PN} = "${libdir}/lib*${SOLIBS}" +FILES_${PN}-tools = "${bindir}/*" + +PROVIDES += "${PN}-tools" +RPROVIDES_${PN}-tools = "${PN}-tools" +RDEPENDS_${PN}-tools = "perl perl-module-strict" + +CVE_PRODUCT = "libgd" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-oe/recipes-support/glog/glog/0001-Find-Libunwind-during-configure.patch b/meta-openembedded/meta-oe/recipes-support/glog/glog/0001-Find-Libunwind-during-configure.patch index 577007a62..4c0861cca 100644 --- a/meta-openembedded/meta-oe/recipes-support/glog/glog/0001-Find-Libunwind-during-configure.patch +++ b/meta-openembedded/meta-oe/recipes-support/glog/glog/0001-Find-Libunwind-during-configure.patch @@ -109,10 +109,11 @@ install (EXPORT glog-targets NAMESPACE glog:: DESTINATION --- a/glog-config.cmake.in +++ b/glog-config.cmake.in -@@ -8,4 +8,6 @@ include (CMakeFindDependencyMacro) +@@ -8,4 +8,7 @@ include (CMakeFindDependencyMacro) @gflags_DEPENDENCY@ ++list (APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}") +find_dependency (Libunwind) + include ("${CMAKE_CURRENT_LIST_DIR}/glog-targets.cmake") diff --git a/meta-openembedded/meta-oe/recipes-support/glog/glog/libexecinfo.patch b/meta-openembedded/meta-oe/recipes-support/glog/glog/libexecinfo.patch new file mode 100644 index 000000000..ae46d3274 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/glog/glog/libexecinfo.patch @@ -0,0 +1,29 @@ +Link libexecinfo if its found, this is needed for musl based systems + +Fixes +ld: libglog.so.0.4.0: undefined reference to `backtrace' +| collect2: error: ld returned 1 exit status + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -115,6 +115,7 @@ check_cxx_compiler_flag (-Wunnamed-type- + check_symbol_exists (snprintf stdio.h HAVE_SNPRINTF) + + check_library_exists (dbghelp UnDecorateSymbolName "" HAVE_DBGHELP) ++check_library_exists (execinfo backtrace "" HAVE_EXECINFO) + + find_package(Libunwind) + +@@ -471,6 +472,10 @@ if (Libunwind_FOUND) + target_link_libraries (glog PUBLIC unwind) + endif (Libunwind_FOUND) + ++if (HAVE_EXECINFO) ++ target_link_libraries (glog PUBLIC execinfo) ++endif (HAVE_EXECINFO) ++ + if (HAVE_DBGHELP) + target_link_libraries (glog PUBLIC dbghelp) + endif (HAVE_DBGHELP) diff --git a/meta-openembedded/meta-oe/recipes-support/glog/glog_0.4.0.bb b/meta-openembedded/meta-oe/recipes-support/glog/glog_0.4.0.bb index 8dc84e412..6b101ef67 100644 --- a/meta-openembedded/meta-oe/recipes-support/glog/glog_0.4.0.bb +++ b/meta-openembedded/meta-oe/recipes-support/glog/glog_0.4.0.bb @@ -9,6 +9,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=dc9db360e0bbd4e46672f3fd91dd6c4b" SRC_URI = " \ git://github.com/google/glog.git;nobranch=1 \ file://0001-Find-Libunwind-during-configure.patch \ + file://libexecinfo.patch \ " SRCREV = "96a2f23dca4cc7180821ca5f32e526314395d26a" @@ -20,8 +21,11 @@ inherit cmake PACKAGECONFIG ?= "shared unwind" PACKAGECONFIG_remove_riscv64 = "unwind" PACKAGECONFIG_remove_riscv32 = "unwind" +PACKAGECONFIG_append_libc-musl_riscv64 = " execinfo" +PACKAGECONFIG_append_libc-musl_riscv32 = " execinfo" PACKAGECONFIG[unwind] = "-DWITH_UNWIND=ON,-DWITH_UNWIND=OFF,libunwind,libunwind" +PACKAGECONFIG[execinfo] = ",,libexecinfo" PACKAGECONFIG[shared] = "-DBUILD_SHARED_LIBS=ON,-DBUILD_SHARED_LIBS=OFF,," do_configure_append() { diff --git a/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/0001-disbale-heap-checkers-and-debug-allocator-on-musl.patch b/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/0001-disbale-heap-checkers-and-debug-allocator-on-musl.patch index ab3ceb964..e3e857f0c 100644 --- a/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/0001-disbale-heap-checkers-and-debug-allocator-on-musl.patch +++ b/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/0001-disbale-heap-checkers-and-debug-allocator-on-musl.patch @@ -11,11 +11,9 @@ Upstream-Status: Pending configure.ac | 2 ++ 1 file changed, 2 insertions(+) -diff --git a/configure.ac b/configure.ac -index 70b49a3..8154c5c 100644 --- a/configure.ac +++ b/configure.ac -@@ -51,6 +51,8 @@ case "$host" in +@@ -53,6 +53,8 @@ case "$host" in *-cygwin*) default_enable_heap_checker=no; default_enable_cpu_profiler=no;; *-freebsd*) default_enable_heap_checker=no;; *-darwin*) default_enable_heap_checker=no;; @@ -23,4 +21,4 @@ index 70b49a3..8154c5c 100644 + default_enable_debugalloc=no; default_enable_libunwind=no; esac - # Currently only backtrace works on s390. + # Currently only backtrace works on s390 and OSX. diff --git a/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/0001-fix-build-with-musl-libc.patch b/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/0001-fix-build-with-musl-libc.patch index cb4ead317..baaaa4b53 100644 --- a/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/0001-fix-build-with-musl-libc.patch +++ b/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/0001-fix-build-with-musl-libc.patch @@ -10,13 +10,11 @@ Signed-off-by: Khem Raj src/malloc_hook_mmap_linux.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) -diff --git a/src/malloc_hook_mmap_linux.h b/src/malloc_hook_mmap_linux.h -index e2efb05..66b3110 100644 --- a/src/malloc_hook_mmap_linux.h +++ b/src/malloc_hook_mmap_linux.h -@@ -46,6 +46,10 @@ - #include - #include "base/linux_syscall_support.h" +@@ -45,6 +45,10 @@ + #include + #include +#ifndef __GLIBC__ +typedef off64_t __off64_t; @@ -25,7 +23,7 @@ index e2efb05..66b3110 100644 // The x86-32 case and the x86-64 case differ: // 32b has a mmap2() syscall, 64b does not. // 64b and 32b have different calling conventions for mmap(). -@@ -175,7 +179,7 @@ extern "C" void* mmap64(void *start, size_t length, int prot, int flags, +@@ -175,7 +179,7 @@ extern "C" void* mmap64(void *start, siz return result; } @@ -34,6 +32,3 @@ index e2efb05..66b3110 100644 extern "C" void* mmap(void *start, size_t length, int prot, int flags, int fd, off_t offset) __THROW { --- -2.17.1 - diff --git a/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/0001-profile-handler-Specify-libc-specific-thread_id.patch b/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/0001-profile-handler-Specify-libc-specific-thread_id.patch deleted file mode 100644 index 4029a69c5..000000000 --- a/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/0001-profile-handler-Specify-libc-specific-thread_id.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 0a504852ed6e56620d1df26b503c4aa2b5b74760 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Sat, 31 Oct 2020 16:12:36 -0700 -Subject: [PATCH] profile-handler: Specify libc specific thread_id - -We need to know internal _sigev_un is glibc specific, add an else for -musl case - -Fixes build issue -../git/src/profile-handler.cc:275:8: error: no member named '_sigev_un' in 'sigevent' - sevp._sigev_un._tid = sys_gettid(); - ~~~~ ^ - -Upstream-Status: Pending -Signed-off-by: Khem Raj ---- - src/profile-handler.cc | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/src/profile-handler.cc b/src/profile-handler.cc -index 7fdcb69..5867118 100644 ---- a/src/profile-handler.cc -+++ b/src/profile-handler.cc -@@ -272,7 +272,11 @@ static void StartLinuxThreadTimer(int timer_type, int signal_number, - struct itimerspec its; - memset(&sevp, 0, sizeof(sevp)); - sevp.sigev_notify = SIGEV_THREAD_ID; -+#ifdef __GLIBC__ - sevp._sigev_un._tid = sys_gettid(); -+#else -+ sevp.sigev_notify_thread_id = sys_gettid(); -+#endif - sevp.sigev_signo = signal_number; - clockid_t clock = CLOCK_THREAD_CPUTIME_ID; - if (timer_type == ITIMER_REAL) { --- -2.29.2 - diff --git a/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/disable_libunwind_aarch64.patch b/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/disable_libunwind_aarch64.patch index c3c578418..15eacc899 100644 --- a/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/disable_libunwind_aarch64.patch +++ b/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/disable_libunwind_aarch64.patch @@ -12,11 +12,9 @@ Signed-off-by: Khem Raj configure.ac | 5 +++++ 1 file changed, 5 insertions(+) -diff --git a/configure.ac b/configure.ac -index 8154c5c..063b260 100644 --- a/configure.ac +++ b/configure.ac -@@ -69,6 +69,11 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM(, [return __PPC64__])], +@@ -76,6 +76,11 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM(, [re [default_enable_libunwind=yes default_tcmalloc_pagesize=8]) diff --git a/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/ppc-musl.patch b/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/ppc-musl.patch new file mode 100644 index 000000000..4cf182ad6 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/ppc-musl.patch @@ -0,0 +1,66 @@ +Compatibility fixes for musl. + +--- a/m4/pc_from_ucontext.m4 ++++ b/m4/pc_from_ucontext.m4 +@@ -34,6 +34,7 @@ AC_DEFUN([AC_PC_FROM_UCONTEXT], + pc_fields="$pc_fields uc_mcontext.arm_pc" # Linux (arm arch 5) + pc_fields="$pc_fields uc_mcontext.cr0_hi" # Linux (e2k) + pc_fields="$pc_fields uc_mcontext.gp_regs[[PT_NIP]]" # Suse SLES 11 (ppc64) ++ pc_fields="$pc_fields uc_mcontext.gregs[[PT_NIP]]" + pc_fields="$pc_fields uc_mcontext.mc_eip" # FreeBSD (i386) + pc_fields="$pc_fields uc_mcontext.mc_srr0" # FreeBSD (powerpc, powerpc64) + pc_fields="$pc_fields uc_mcontext.mc_rip" # FreeBSD (x86_64 [untested]) +@@ -77,7 +78,8 @@ AC_DEFUN([AC_PC_FROM_UCONTEXT], + pc_field_found=true) + elif test "x$ac_cv_header_ucontext_h" = xyes; then + AC_TRY_COMPILE([#define _GNU_SOURCE 1 +- #include ], ++ #include ++ #include ], + [ucontext_t u; return u.$pc_field == 0;], + AC_DEFINE_UNQUOTED(PC_FROM_UCONTEXT, $pc_field, + How to access the PC from a struct ucontext) +--- a/src/getpc.h ++++ b/src/getpc.h +@@ -68,6 +68,9 @@ + typedef ucontext ucontext_t; + #endif + ++#if defined(__powerpc__) && !defined(PT_NIP) ++#define PT_NIP 32 ++#endif + + // Take the example where function Foo() calls function Bar(). For + // many architectures, Bar() is responsible for setting up and tearing +--- a/src/stacktrace_powerpc-linux-inl.h ++++ b/src/stacktrace_powerpc-linux-inl.h +@@ -186,7 +186,7 @@ static int GET_STACK_TRACE_OR_FRAMES { + ucontext_t uc; + // We don't care about the rest, since the IP value is at 'uc' field. + } *sigframe = reinterpret_cast(current); +- result[n] = (void*) sigframe->uc.uc_mcontext.gp_regs[PT_NIP]; ++ result[n] = (void*) sigframe->uc.uc_mcontext.gp_regs[32]; + } + #else + if (sigtramp32_vdso && (sigtramp32_vdso == current->return_addr)) { +@@ -196,7 +196,7 @@ static int GET_STACK_TRACE_OR_FRAMES { + mcontext_t mctx; + // We don't care about the rest, since IP value is at 'mctx' field. + } *sigframe = reinterpret_cast(current); +- result[n] = (void*) sigframe->mctx.gregs[PT_NIP]; ++ result[n] = (void*) sigframe->mctx.gregs[32]; + } else if (sigtramp32_rt_vdso && (sigtramp32_rt_vdso == current->return_addr)) { + struct rt_signal_frame_32 { + char dummy[64 + 16]; +@@ -204,7 +204,11 @@ static int GET_STACK_TRACE_OR_FRAMES { + ucontext_t uc; + // We don't care about the rest, since IP value is at 'uc' field.A + } *sigframe = reinterpret_cast(current); ++#if defined(__GLIBC__) + result[n] = (void*) sigframe->uc.uc_mcontext.uc_regs->gregs[PT_NIP]; ++#else ++ result[n] = (void*) sigframe->uc.uc_mcontext.gregs[32]; ++#endif + } + #endif + diff --git a/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/sgidef.patch b/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/sgidef.patch index 10274a6de..b01cba39c 100644 --- a/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/sgidef.patch +++ b/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/sgidef.patch @@ -10,8 +10,6 @@ Upstream-Status: Pending src/base/linux_syscall_support.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/src/base/linux_syscall_support.h b/src/base/linux_syscall_support.h -index 70431ca..b23ca59 100644 --- a/src/base/linux_syscall_support.h +++ b/src/base/linux_syscall_support.h @@ -164,7 +164,7 @@ extern "C" { diff --git a/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools_2.8.1.bb b/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools_2.8.1.bb deleted file mode 100644 index 2a386086f..000000000 --- a/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools_2.8.1.bb +++ /dev/null @@ -1,50 +0,0 @@ -SUMMARY = "Fast, multi-threaded malloc() and nifty performance analysis tools" -HOMEPAGE = "https://github.com/gperftools/gperftools" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://COPYING;md5=762732742c73dc6c7fbe8632f06c059a" - -SRCREV = "d8eb315fb18f6fb0d6efa923401f166343727bc6" -SRC_URI = "git://github.com/gperftools/gperftools \ - file://0001-Support-Atomic-ops-on-clang.patch \ - file://0001-fix-build-with-musl-libc.patch \ - file://0001-disbale-heap-checkers-and-debug-allocator-on-musl.patch \ - file://disable_libunwind_aarch64.patch \ - file://sgidef.patch \ - file://0001-profile-handler-Specify-libc-specific-thread_id.patch \ - " - -inherit autotools - -S = "${WORKDIR}/git" - -# On mips, we have the following error. -# do_page_fault(): sending SIGSEGV to ls for invalid read access from 00000008 -# Segmentation fault (core dumped) -COMPATIBLE_HOST_mipsarch = "null" -COMPATIBLE_HOST_riscv64 = "null" -COMPATIBLE_HOST_riscv32 = "null" - -# Disable thumb1 -# {standard input}: Assembler messages: -# {standard input}:434: Error: lo register required -- `ldr pc,[sp]' -# Makefile:4538: recipe for target 'src/base/libtcmalloc_la-linuxthreads.lo' failed -ARM_INSTRUCTION_SET_armv5 = "arm" -ARM_INSTRUCTION_SET_toolchain-clang_arm = "arm" - -PACKAGECONFIG ?= "libunwind static" -PACKAGECONFIG_remove_arm_libc-musl = "libunwind" -PACKAGECONFIG_remove_riscv64 = "libunwind" -PACKAGECONFIG_remove_riscv32 = "libunwind" - -PACKAGECONFIG[libunwind] = "--enable-libunwind,--disable-libunwind,libunwind" -PACKAGECONFIG[static] = "--enable-static,--disable-static," - -PACKAGE_BEFORE_PN += "libtcmalloc-minimal" -FILES_libtcmalloc-minimal = "${libdir}/libtcmalloc_minimal*${SOLIBS} ${libdir}/libtcmalloc_minimal_debug*${SOLIBS}" - -# pprof tool requires Getopt::long and POSIX perl5 modules. -# Also runs `objdump` on each cpuprofile data file -RDEPENDS_${PN} += "binutils perl-module-getopt-long perl-module-posix" - -RDEPENDS_${PN} += "libtcmalloc-minimal (= ${EXTENDPKGV})" - diff --git a/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools_2.9.1.bb b/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools_2.9.1.bb new file mode 100644 index 000000000..bf8cb9017 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools_2.9.1.bb @@ -0,0 +1,66 @@ +SUMMARY = "Fast, multi-threaded malloc() and nifty performance analysis tools" +HOMEPAGE = "https://github.com/gperftools/gperftools" +DESCRIPTION = "The gperftools, previously called google-perftools, package contains some \ +utilities to improve and analyze the performance of C++ programs. \ +Included are an optimized thread-caching malloc() and cpu and heap profiling utilities. \ +" + +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://COPYING;md5=762732742c73dc6c7fbe8632f06c059a" + +DEPENDS_append_libc-musl = " libucontext" + +SRCREV = "f7c6fb6c8e99d6b1b725e5994373bcd19ffdf8fd" +SRC_URI = "git://github.com/gperftools/gperftools \ + file://0001-Support-Atomic-ops-on-clang.patch \ + file://0001-fix-build-with-musl-libc.patch \ + file://0001-disbale-heap-checkers-and-debug-allocator-on-musl.patch \ + file://disable_libunwind_aarch64.patch \ + file://sgidef.patch \ + " + +SRC_URI_append_libc-musl = " file://ppc-musl.patch" + +inherit autotools + +S = "${WORKDIR}/git" + +# On mips, we have the following error. +# do_page_fault(): sending SIGSEGV to ls for invalid read access from 00000008 +# Segmentation fault (core dumped) +COMPATIBLE_HOST_mipsarch = "null" +COMPATIBLE_HOST_riscv64 = "null" +COMPATIBLE_HOST_riscv32 = "null" + +# Disable thumb1 +# {standard input}: Assembler messages: +# {standard input}:434: Error: lo register required -- `ldr pc,[sp]' +# Makefile:4538: recipe for target 'src/base/libtcmalloc_la-linuxthreads.lo' failed +ARM_INSTRUCTION_SET_armv5 = "arm" +ARM_INSTRUCTION_SET_toolchain-clang_arm = "arm" + +EXTRA_OECONF_append_libc-musl_powerpc64le = " --disable-cpu-profiler --disable-heap-profiler --disable-heap-checker" +PACKAGECONFIG ?= "libunwind static" +PACKAGECONFIG_remove_arm_libc-musl = "libunwind" +PACKAGECONFIG_remove_riscv64 = "libunwind" +PACKAGECONFIG_remove_riscv32 = "libunwind" + +PACKAGECONFIG[libunwind] = "--enable-libunwind,--disable-libunwind,libunwind" +PACKAGECONFIG[static] = "--enable-static,--disable-static," + +PACKAGE_BEFORE_PN += "libtcmalloc-minimal" +FILES_libtcmalloc-minimal = "${libdir}/libtcmalloc_minimal*${SOLIBS} ${libdir}/libtcmalloc_minimal_debug*${SOLIBS}" + +# pprof tool requires Getopt::long and POSIX perl5 modules. +# Also runs `objdump` on each cpuprofile data file +RDEPENDS_${PN} += " \ + binutils \ + curl \ + perl-module-carp \ + perl-module-cwd \ + perl-module-getopt-long \ + perl-module-overloading \ + perl-module-posix \ +" + +RDEPENDS_${PN} += "libtcmalloc-minimal (= ${EXTENDPKGV})" diff --git a/meta-openembedded/meta-oe/recipes-support/libb64/libb64/0001-example-Do-not-run-the-tests.patch b/meta-openembedded/meta-oe/recipes-support/libb64/libb64/0001-example-Do-not-run-the-tests.patch new file mode 100644 index 000000000..ea3ddfb64 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/libb64/libb64/0001-example-Do-not-run-the-tests.patch @@ -0,0 +1,27 @@ +From 68f66d1583be670eb8d5f3f38dbd5dd1d63b733c Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 27 Mar 2021 21:41:04 -0700 +Subject: [PATCH] example: Do not run the tests + +Upstream-Status: Inappropritate [Cross-compile specific] +Signed-off-by: Khem Raj +--- + examples/Makefile | 3 --- + 1 file changed, 3 deletions(-) + +diff --git a/examples/Makefile b/examples/Makefile +index d9667a5..554b346 100644 +--- a/examples/Makefile ++++ b/examples/Makefile +@@ -33,11 +33,8 @@ depend: $(SOURCES) + makedepend -f- $(CFLAGS) $(SOURCES) 2> /dev/null 1> depend + + test-c-example1: c-example1 +- ./c-example1 + + test-c-example2: c-example2 +- ./c-example2 loremgibson.txt encoded.txt decoded.txt +- diff -q loremgibson.txt decoded.txt + + test: test-c-example1 test-c-example2 + diff --git a/meta-openembedded/meta-oe/recipes-support/libb64/libb64/0002-use-BUFSIZ-as-buffer-size.patch b/meta-openembedded/meta-oe/recipes-support/libb64/libb64/0002-use-BUFSIZ-as-buffer-size.patch new file mode 100644 index 000000000..10ec8e14a --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/libb64/libb64/0002-use-BUFSIZ-as-buffer-size.patch @@ -0,0 +1,57 @@ +From ee03e265804a07a0da5028b86960031bd7ab86b2 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 27 Mar 2021 22:01:13 -0700 +Subject: [PATCH] use BUFSIZ as buffer size + +Author: Jakub Wilk +Bug: http://sourceforge.net/tracker/?func=detail&atid=785907&aid=3591336&group_id=152942 + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- + include/b64/decode.h | 3 ++- + include/b64/encode.h | 3 ++- + 2 files changed, 4 insertions(+), 2 deletions(-) + +diff --git a/include/b64/decode.h b/include/b64/decode.h +index 12b16ea..e9019f3 100644 +--- a/include/b64/decode.h ++++ b/include/b64/decode.h +@@ -8,6 +8,7 @@ For details, see http://sourceforge.net/projects/libb64 + #ifndef BASE64_DECODE_H + #define BASE64_DECODE_H + ++#include + #include + + namespace base64 +@@ -22,7 +23,7 @@ namespace base64 + base64_decodestate _state; + int _buffersize; + +- decoder(int buffersize_in = BUFFERSIZE) ++ decoder(int buffersize_in = BUFSIZ) + : _buffersize(buffersize_in) + {} + +diff --git a/include/b64/encode.h b/include/b64/encode.h +index 5d807d9..e7a7035 100644 +--- a/include/b64/encode.h ++++ b/include/b64/encode.h +@@ -8,6 +8,7 @@ For details, see http://sourceforge.net/projects/libb64 + #ifndef BASE64_ENCODE_H + #define BASE64_ENCODE_H + ++#include + #include + + namespace base64 +@@ -22,7 +23,7 @@ namespace base64 + base64_encodestate _state; + int _buffersize; + +- encoder(int buffersize_in = BUFFERSIZE) ++ encoder(int buffersize_in = BUFSIZ) + : _buffersize(buffersize_in) + {} + diff --git a/meta-openembedded/meta-oe/recipes-support/libb64/libb64/0003-fix-integer-overflows.patch b/meta-openembedded/meta-oe/recipes-support/libb64/libb64/0003-fix-integer-overflows.patch new file mode 100644 index 000000000..8854bb6af --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/libb64/libb64/0003-fix-integer-overflows.patch @@ -0,0 +1,77 @@ +From 7b30fbc3d47dfaf38d8ce8b8949a69d2984dac76 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 27 Mar 2021 22:06:03 -0700 +Subject: [PATCH] fix integer overflows + +Author: Jakub Wilk +Bug: http://sourceforge.net/tracker/?func=detail&aid=3591129&group_id=152942&atid=785907 + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- + src/cdecode.c | 15 ++++++++------- + 1 file changed, 8 insertions(+), 7 deletions(-) + +diff --git a/src/cdecode.c b/src/cdecode.c +index a6c0a42..4e47e9f 100644 +--- a/src/cdecode.c ++++ b/src/cdecode.c +@@ -9,10 +9,11 @@ For details, see http://sourceforge.net/projects/libb64 + + int base64_decode_value(char value_in) + { +- static const char decoding[] = {62,-1,-1,-1,63,52,53,54,55,56,57,58,59,60,61,-1,-1,-1,-2,-1,-1,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,-1,-1,-1,-1,-1,-1,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51}; ++ static const signed char decoding[] = {62,-1,-1,-1,63,52,53,54,55,56,57,58,59,60,61,-1,-1,-1,-2,-1,-1,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,-1,-1,-1,-1,-1,-1,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51}; + static const char decoding_size = sizeof(decoding); ++ if (value_in < 43) return -1; + value_in -= 43; +- if (value_in < 0 || value_in >= decoding_size) return -1; ++ if (value_in > decoding_size) return -1; + return decoding[(int)value_in]; + } + +@@ -26,7 +27,7 @@ int base64_decode_block(const char* code_in, const int length_in, char* plaintex + { + const char* codechar = code_in; + char* plainchar = plaintext_out; +- char fragment; ++ int fragment; + + *plainchar = state_in->plainchar; + +@@ -42,7 +43,7 @@ int base64_decode_block(const char* code_in, const int length_in, char* plaintex + state_in->plainchar = *plainchar; + return plainchar - plaintext_out; + } +- fragment = (char)base64_decode_value(*codechar++); ++ fragment = base64_decode_value(*codechar++); + } while (fragment < 0); + *plainchar = (fragment & 0x03f) << 2; + case step_b: +@@ -53,7 +54,7 @@ int base64_decode_block(const char* code_in, const int length_in, char* plaintex + state_in->plainchar = *plainchar; + return plainchar - plaintext_out; + } +- fragment = (char)base64_decode_value(*codechar++); ++ fragment = base64_decode_value(*codechar++); + } while (fragment < 0); + *plainchar++ |= (fragment & 0x030) >> 4; + *plainchar = (fragment & 0x00f) << 4; +@@ -65,7 +66,7 @@ int base64_decode_block(const char* code_in, const int length_in, char* plaintex + state_in->plainchar = *plainchar; + return plainchar - plaintext_out; + } +- fragment = (char)base64_decode_value(*codechar++); ++ fragment = base64_decode_value(*codechar++); + } while (fragment < 0); + *plainchar++ |= (fragment & 0x03c) >> 2; + *plainchar = (fragment & 0x003) << 6; +@@ -77,7 +78,7 @@ int base64_decode_block(const char* code_in, const int length_in, char* plaintex + state_in->plainchar = *plainchar; + return plainchar - plaintext_out; + } +- fragment = (char)base64_decode_value(*codechar++); ++ fragment = base64_decode_value(*codechar++); + } while (fragment < 0); + *plainchar++ |= (fragment & 0x03f); + } diff --git a/meta-openembedded/meta-oe/recipes-support/libb64/libb64/0004-Fix-off-by-one-error.patch b/meta-openembedded/meta-oe/recipes-support/libb64/libb64/0004-Fix-off-by-one-error.patch new file mode 100644 index 000000000..e19dbad08 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/libb64/libb64/0004-Fix-off-by-one-error.patch @@ -0,0 +1,26 @@ +From 8144fd9e02bd5ccd1e080297b19a1e9eb4d3ff96 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 27 Mar 2021 22:07:15 -0700 +Subject: [PATCH] Fix off by one error + +Launchpad bug #1501176 reported by William McCall on 2015-09-30 + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- + src/cdecode.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/cdecode.c b/src/cdecode.c +index 4e47e9f..45da4e1 100644 +--- a/src/cdecode.c ++++ b/src/cdecode.c +@@ -13,7 +13,7 @@ int base64_decode_value(char value_in) + static const char decoding_size = sizeof(decoding); + if (value_in < 43) return -1; + value_in -= 43; +- if (value_in > decoding_size) return -1; ++ if (value_in >= decoding_size) return -1; + return decoding[(int)value_in]; + } + diff --git a/meta-openembedded/meta-oe/recipes-support/libb64/libb64/0005-make-overriding-CFLAGS-possible.patch b/meta-openembedded/meta-oe/recipes-support/libb64/libb64/0005-make-overriding-CFLAGS-possible.patch new file mode 100644 index 000000000..e93015ee4 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/libb64/libb64/0005-make-overriding-CFLAGS-possible.patch @@ -0,0 +1,40 @@ +From a7914d5ffee6ffdfb3f2b8ebcc22c8367d078301 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 27 Mar 2021 22:08:43 -0700 +Subject: [PATCH] make overriding CFLAGS possible + +Author: Jakub Wilk + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- + base64/Makefile | 2 +- + src/Makefile | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/base64/Makefile b/base64/Makefile +index 30a2c5c..783a248 100644 +--- a/base64/Makefile ++++ b/base64/Makefile +@@ -3,7 +3,7 @@ BINARIES = base64 + # Build flags (uncomment one) + ############################# + # Release build flags +-CFLAGS += -O3 ++CFLAGS ?= -O3 + ############################# + # Debug build flags + #CFLAGS += -g +diff --git a/src/Makefile b/src/Makefile +index 28b2382..48801fc 100644 +--- a/src/Makefile ++++ b/src/Makefile +@@ -3,7 +3,7 @@ LIBRARIES = libb64.a + # Build flags (uncomment one) + ############################# + # Release build flags +-CFLAGS += -O3 ++CFLAGS ?= -O3 + ############################# + # Debug build flags + #CFLAGS += -g diff --git a/meta-openembedded/meta-oe/recipes-support/libb64/libb64/0006-do-not-export-the-CHARS_PER_LINE-variable.patch b/meta-openembedded/meta-oe/recipes-support/libb64/libb64/0006-do-not-export-the-CHARS_PER_LINE-variable.patch new file mode 100644 index 000000000..9ba08c87e --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/libb64/libb64/0006-do-not-export-the-CHARS_PER_LINE-variable.patch @@ -0,0 +1,27 @@ +From a1b9bb4af819ed389675f16e4a521efeda4cc3f3 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 27 Mar 2021 22:10:48 -0700 +Subject: [PATCH] do not export the CHARS_PER_LINE variable + +The library exports a variable named "CHARS_PER_LINE". This is a generic name that could conflict with a name in user's code. +Please either rename the variable or make it static. + +Upstream-Status: Submitted [http://sourceforge.net/tracker/?func=detail&aid=3591420&group_id=152942&atid=785907] +Signed-off-by: Khem Raj +--- + src/cencode.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/cencode.c b/src/cencode.c +index 03ba5b6..3df62a8 100644 +--- a/src/cencode.c ++++ b/src/cencode.c +@@ -7,7 +7,7 @@ For details, see http://sourceforge.net/projects/libb64 + + #include + +-const int CHARS_PER_LINE = 72; ++static const int CHARS_PER_LINE = 72; + + void base64_init_encodestate(base64_encodestate* state_in) + { diff --git a/meta-openembedded/meta-oe/recipes-support/libb64/libb64/0007-initialize-encoder-decoder-state-in-the-constructors.patch b/meta-openembedded/meta-oe/recipes-support/libb64/libb64/0007-initialize-encoder-decoder-state-in-the-constructors.patch new file mode 100644 index 000000000..fdf8339be --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/libb64/libb64/0007-initialize-encoder-decoder-state-in-the-constructors.patch @@ -0,0 +1,44 @@ +From c1ba44d83cc7d9d756cfb063717852eae9d03328 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 27 Mar 2021 22:12:41 -0700 +Subject: [PATCH] initialize encoder/decoder state in the constructors + +Author: Jakub Wilk + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- + include/b64/decode.h | 4 +++- + include/b64/encode.h | 4 +++- + 2 files changed, 6 insertions(+), 2 deletions(-) + +diff --git a/include/b64/decode.h b/include/b64/decode.h +index e9019f3..aefb7bc 100644 +--- a/include/b64/decode.h ++++ b/include/b64/decode.h +@@ -25,7 +25,9 @@ namespace base64 + + decoder(int buffersize_in = BUFSIZ) + : _buffersize(buffersize_in) +- {} ++ { ++ base64_init_decodestate(&_state); ++ } + + int decode(char value_in) + { +diff --git a/include/b64/encode.h b/include/b64/encode.h +index e7a7035..33848b3 100644 +--- a/include/b64/encode.h ++++ b/include/b64/encode.h +@@ -25,7 +25,9 @@ namespace base64 + + encoder(int buffersize_in = BUFSIZ) + : _buffersize(buffersize_in) +- {} ++ { ++ base64_init_encodestate(&_state); ++ } + + int encode(char value_in) + { diff --git a/meta-openembedded/meta-oe/recipes-support/libb64/libb64_1.2.1.bb b/meta-openembedded/meta-oe/recipes-support/libb64/libb64_1.2.1.bb new file mode 100644 index 000000000..64a34fece --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/libb64/libb64_1.2.1.bb @@ -0,0 +1,39 @@ +SUMMARY = "Base64 Encoding/Decoding Routines" +DESCRIPTION = "base64 encoding/decoding library - runtime library \ +libb64 is a library of ANSI C routines for fast encoding/decoding data into \ +and from a base64-encoded format" +HOMEPAGE = "http://libb64.sourceforge.net/" +LICENSE = "PD" +LIC_FILES_CHKSUM = "file://LICENSE;md5=ce551aad762074c7ab618a0e07a8dca3" + +SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}/${BP}.zip \ + file://0001-example-Do-not-run-the-tests.patch \ + file://0002-use-BUFSIZ-as-buffer-size.patch \ + file://0003-fix-integer-overflows.patch \ + file://0004-Fix-off-by-one-error.patch \ + file://0005-make-overriding-CFLAGS-possible.patch \ + file://0006-do-not-export-the-CHARS_PER_LINE-variable.patch \ + file://0007-initialize-encoder-decoder-state-in-the-constructors.patch \ + " +SRC_URI[sha256sum] = "20106f0ba95cfd9c35a13c71206643e3fb3e46512df3e2efb2fdbf87116314b2" + +PARALLEL_MAKE = "" + +CFLAGS += "-fPIC" + +do_configure () { + : +} + +do_compile () { + oe_runmake + ${CC} ${LDFLAGS} ${CFLAGS} -shared -Wl,-soname,${BPN}.so.0 src/*.o -o src/${BPN}.so.0 +} + +do_install () { + install -d ${D}${includedir}/b64 + install -Dm 0644 ${B}/src/libb64.a ${D}${libdir}/libb64.a + install -Dm 0644 ${B}/src/libb64.so.0 ${D}${libdir}/libb64.so.0 + ln -s libb64.so.0 ${D}${libdir}/libb64.so + install -Dm 0644 ${S}/include/b64/*.h ${D}${includedir}/b64/ +} diff --git a/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_1.6.2.bb b/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_1.6.2.bb deleted file mode 100644 index c6c262b70..000000000 --- a/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_1.6.2.bb +++ /dev/null @@ -1,44 +0,0 @@ -SUMMARY = "C library and tools for interacting with the linux GPIO character device" -AUTHOR = "Bartosz Golaszewski " - -LICENSE = "LGPLv2.1+" -LIC_FILES_CHKSUM = "file://COPYING;md5=2caced0b25dfefd4c601d92bd15116de" - -SRC_URI = "https://www.kernel.org/pub/software/libs/${BPN}/${BP}.tar.xz \ - file://run-ptest \ -" - -SRC_URI[md5sum] = "4765470becb619fead3cdaeac61b9a77" -SRC_URI[sha256sum] = "c601e71846f5ab140c83bc757fdd62a4fda24a9cee39cc5e99c96ec2bf1b06a9" - -inherit autotools pkgconfig python3native ptest - -PACKAGECONFIG[tests] = "--enable-tests,--disable-tests,kmod udev glib-2.0 catch2" -PACKAGECONFIG[cxx] = "--enable-bindings-cxx,--disable-bindings-cxx" -PACKAGECONFIG[python3] = "--enable-bindings-python,--disable-bindings-python,python3" - -# Enable cxx bindings by default. -PACKAGECONFIG ?= "cxx" - -# Always build tools - they don't have any additional -# requirements over the library. -EXTRA_OECONF = "--enable-tools" - -DEPENDS += "autoconf-archive-native" - -PACKAGES =+ "${PN}-tools libgpiodcxx" -FILES_${PN}-tools = "${bindir}/*" -FILES_libgpiodcxx = "${libdir}/libgpiodcxx.so.*" - -PACKAGES =+ "${PN}-python" -FILES_${PN}-python = "${PYTHON_SITEPACKAGES_DIR}/*.so" -FILES_${PN}-staticdev += "${PYTHON_SITEPACKAGES_DIR}/*.a" -RRECOMMENDS_PYTHON = "${@bb.utils.contains('PACKAGECONFIG', 'python3', '${PN}-python', '',d)}" -RRECOMMENDS_${PN}-python += "${RRECOMMENDS_PYTHON}" - -PACKAGECONFIG_append = " ${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'tests', '', d)}" - -do_install_ptest() { - install -d ${D}${PTEST_PATH}/tests - cp ${B}/tests/.libs/gpiod-test ${D}${PTEST_PATH}/tests/ -} diff --git a/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_1.6.3.bb b/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_1.6.3.bb new file mode 100644 index 000000000..d9c251705 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_1.6.3.bb @@ -0,0 +1,44 @@ +SUMMARY = "C library and tools for interacting with the linux GPIO character device" +AUTHOR = "Bartosz Golaszewski " + +LICENSE = "LGPLv2.1+" +LIC_FILES_CHKSUM = "file://COPYING;md5=2caced0b25dfefd4c601d92bd15116de" + +SRC_URI = "https://www.kernel.org/pub/software/libs/${BPN}/${BP}.tar.xz \ + file://run-ptest \ +" + +SRC_URI[md5sum] = "28e79f6f70fee1da9079558d8b7b3736" +SRC_URI[sha256sum] = "841be9d788f00bab08ef22c4be5c39866f0e46cb100a3ae49ed816ac9c5dddc7" + +inherit autotools pkgconfig python3native ptest + +PACKAGECONFIG[tests] = "--enable-tests,--disable-tests,kmod udev glib-2.0 catch2" +PACKAGECONFIG[cxx] = "--enable-bindings-cxx,--disable-bindings-cxx" +PACKAGECONFIG[python3] = "--enable-bindings-python,--disable-bindings-python,python3" + +# Enable cxx bindings by default. +PACKAGECONFIG ?= "cxx" + +# Always build tools - they don't have any additional +# requirements over the library. +EXTRA_OECONF = "--enable-tools" + +DEPENDS += "autoconf-archive-native" + +PACKAGES =+ "${PN}-tools libgpiodcxx" +FILES_${PN}-tools = "${bindir}/*" +FILES_libgpiodcxx = "${libdir}/libgpiodcxx.so.*" + +PACKAGES =+ "${PN}-python" +FILES_${PN}-python = "${PYTHON_SITEPACKAGES_DIR}/*.so" +FILES_${PN}-staticdev += "${PYTHON_SITEPACKAGES_DIR}/*.a" +RRECOMMENDS_PYTHON = "${@bb.utils.contains('PACKAGECONFIG', 'python3', '${PN}-python', '',d)}" +RRECOMMENDS_${PN}-python += "${RRECOMMENDS_PYTHON}" + +PACKAGECONFIG_append = " ${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'tests', '', d)}" + +do_install_ptest() { + install -d ${D}${PTEST_PATH}/tests + cp ${B}/tests/.libs/gpiod-test ${D}${PTEST_PATH}/tests/ +} diff --git a/meta-openembedded/meta-oe/recipes-support/libiio/libiio_git.bb b/meta-openembedded/meta-oe/recipes-support/libiio/libiio_git.bb index b308bde17..00c016db4 100644 --- a/meta-openembedded/meta-oe/recipes-support/libiio/libiio_git.bb +++ b/meta-openembedded/meta-oe/recipes-support/libiio/libiio_git.bb @@ -12,13 +12,15 @@ UPSTREAM_CHECK_GITTAGREGEX = "v(?P\d+(\.\d+)+)" S = "${WORKDIR}/git" -inherit cmake python3native systemd +DISTUTILS_SETUP_PATH ?= "${B}/bindings/python/" DEPENDS = " \ flex-native bison-native libaio \ ${@bb.utils.contains('DISTRO_FEATURES', 'zeroconf', 'avahi', '', d)} \ " +inherit cmake python3native systemd setuptools3 + EXTRA_OECMAKE = " \ -DCMAKE_BUILD_TYPE=RelWithDebInfo \ -DUDEV_RULES_INSTALL_DIR=${nonarch_base_libdir}/udev/rules.d \ @@ -31,8 +33,6 @@ PACKAGECONFIG[usb_backend] = "-DWITH_USB_BACKEND=ON,-DWITH_USB_BACKEND=OFF,libus PACKAGECONFIG[network_backend] = "-DWITH_NETWORK_BACKEND=ON,-DWITH_NETWORK_BACKEND=OFF,libxml2" PACKAGECONFIG[libiio-python3] = "-DPYTHON_BINDINGS=ON,-DPYTHON_BINDINGS=OFF" -inherit ${@bb.utils.contains('PACKAGECONFIG', 'libiio-python3', 'distutils3-base', '', d)} - PACKAGES =+ "${PN}-iiod ${PN}-tests ${PN}-${PYTHON_PN}" RDEPENDS_${PN}-${PYTHON_PN} = "${PN} ${PYTHON_PN}-ctypes ${PYTHON_PN}-stringold" @@ -46,3 +46,23 @@ FILES_${PN}-${PYTHON_PN} = "${PYTHON_SITEPACKAGES_DIR}" SYSTEMD_PACKAGES = "${PN}-iiod" SYSTEMD_SERVICE_${PN}-iiod = "iiod.service" + +# Explicitly define do_configure, do_compile and do_install because both cmake and setuptools3 have +# EXPORT_FUNCTIONS do_configure do_compile do_install +do_configure() { + cmake_do_configure +} + +do_compile() { + if ${@bb.utils.contains('PACKAGECONFIG', 'libiio-python3', 'true', 'false', d)}; then + distutils3_do_compile + fi + cmake_do_compile +} + +do_install() { + if ${@bb.utils.contains('PACKAGECONFIG', 'libiio-python3', 'true', 'false', d)}; then + distutils3_do_install + fi + cmake_do_install +} diff --git a/meta-openembedded/meta-oe/recipes-support/libssh/libssh_0.8.9.bb b/meta-openembedded/meta-oe/recipes-support/libssh/libssh_0.8.9.bb index 39ed8a8fb..2aff2c878 100644 --- a/meta-openembedded/meta-oe/recipes-support/libssh/libssh_0.8.9.bb +++ b/meta-openembedded/meta-oe/recipes-support/libssh/libssh_0.8.9.bb @@ -4,7 +4,7 @@ SECTION = "libs" LICENSE = "LGPLv2.1" LIC_FILES_CHKSUM = "file://COPYING;md5=dabb4958b830e5df11d2b0ed8ea255a0" -DEPENDS = "zlib openssl libgcrypt" +DEPENDS = "zlib openssl" SRC_URI = "git://git.libssh.org/projects/libssh.git;branch=stable-0.8" SRCREV = "04685a74df9ce1db1bc116a83a0da78b4f4fa1f8" @@ -13,13 +13,13 @@ S = "${WORKDIR}/git" inherit cmake -PACKAGECONFIG ??="" +PACKAGECONFIG ??= "gcrypt" PACKAGECONFIG[gssapi] = "-DWITH_GSSAPI=1, -DWITH_GSSAPI=0, krb5, " +PACKAGECONFIG[gcrypt] = "-DWITH_GCRYPT=1, -DWITH_GCRYPT=0, libgcrypt, " ARM_INSTRUCTION_SET_armv5 = "arm" EXTRA_OECMAKE = " \ - -DWITH_GCRYPT=1 \ -DWITH_PCAP=1 \ -DWITH_SFTP=1 \ -DWITH_ZLIB=1 \ diff --git a/meta-openembedded/meta-oe/recipes-support/links/links-x11_2.20.2.bb b/meta-openembedded/meta-oe/recipes-support/links/links-x11_2.20.2.bb deleted file mode 100644 index 645fe3b26..000000000 --- a/meta-openembedded/meta-oe/recipes-support/links/links-x11_2.20.2.bb +++ /dev/null @@ -1,53 +0,0 @@ -# FIXME: the LIC_FILES_CHKSUM values have been updated by 'devtool upgrade'. -# The following is the difference between the old and the new license text. -# Please update the LICENSE value if needed, and summarize the changes in -# the commit message via 'License-Update:' tag. -# (example: 'License-Update: copyright years updated.') -# -# The changes: -# -# --- COPYING -# +++ COPYING -# @@ -293,7 +293,7 @@ -# -# Copyright (C) -# -# - on, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USAThis program is free software; you can redistribute it and/or modify -# + This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# - -require links.inc - -DEPENDS += "virtual/libx11" -RCONFLICTS_${PN} = "links" - -inherit features_check -# depends on virtual/libx11 -REQUIRED_DISTRO_FEATURES = "x11" - -SRC_URI += " file://links2.desktop \ - http://www.xora.org.uk/oe/links2.png;name=icon" - -S = "${WORKDIR}/links-${PV}" - -EXTRA_OECONF = "--enable-graphics \ - --with-ssl=${STAGING_LIBDIR}/.. --with-libjpeg \ - --without-libtiff --without-svgalib --without-fb \ - --without-directfb --without-pmshell --without-atheos \ - --with-x --without-gpm" - -do_install_append() { - install -d ${D}/${datadir}/applications - install -m 0644 ${WORKDIR}/links2.desktop ${D}/${datadir}/applications - install -d ${D}/${datadir}/pixmaps - install -m 0644 ${WORKDIR}/links2.png ${D}/${datadir}/pixmaps -} - -SRC_URI[md5sum] = "ee39e612249440d0497535d0dafc3c0e" -SRC_URI[sha256sum] = "4b4f07d0e6261118d1365a5a5bfa31e1eafdbd280cfae6f0e9eedfea51a2f424" -SRC_URI[icon.md5sum] = "477e8787927c634614bac01b44355a33" -SRC_URI[icon.sha256sum] = "eddcd8b8c8698aa621d1a453943892d77b72ed492e0d14e0dbac5c6a57e52f47" diff --git a/meta-openembedded/meta-oe/recipes-support/links/links-x11_2.22.bb b/meta-openembedded/meta-oe/recipes-support/links/links-x11_2.22.bb new file mode 100644 index 000000000..563984c0e --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/links/links-x11_2.22.bb @@ -0,0 +1,29 @@ +require links.inc + +DEPENDS += "virtual/libx11" +RCONFLICTS_${PN} = "links" + +inherit features_check +# depends on virtual/libx11 +REQUIRED_DISTRO_FEATURES = "x11" + +SRC_URI += " file://links2.desktop \ + http://www.xora.org.uk/oe/links2.png;name=icon" + +SRC_URI[sha256sum] = "0364986b3a7f1e8e3171bea362b53f71e1dd3360a8842d66fdc65580ebc2084d" +SRC_URI[icon.sha256sum] = "eddcd8b8c8698aa621d1a453943892d77b72ed492e0d14e0dbac5c6a57e52f47" + +S = "${WORKDIR}/links-${PV}" + +EXTRA_OECONF = "--enable-graphics \ + --with-ssl=${STAGING_LIBDIR}/.. --with-libjpeg \ + --without-libtiff --without-svgalib --without-fb \ + --without-directfb --without-pmshell --without-atheos \ + --with-x --without-gpm" + +do_install_append() { + install -d ${D}/${datadir}/applications + install -m 0644 ${WORKDIR}/links2.desktop ${D}/${datadir}/applications + install -d ${D}/${datadir}/pixmaps + install -m 0644 ${WORKDIR}/links2.png ${D}/${datadir}/pixmaps +} diff --git a/meta-openembedded/meta-oe/recipes-support/links/links_2.21.bb b/meta-openembedded/meta-oe/recipes-support/links/links_2.21.bb deleted file mode 100644 index b6048c1d3..000000000 --- a/meta-openembedded/meta-oe/recipes-support/links/links_2.21.bb +++ /dev/null @@ -1,15 +0,0 @@ -require links.inc - -DEPENDS += "gpm" -RCONFLICTS_${PN} = "links-x11" - -EXTRA_OECONF = "--enable-graphics \ - --with-ssl=${STAGING_LIBDIR}/.. --with-libjpeg \ - --without-libtiff --without-svgalib --with-fb \ - --without-directfb --without-pmshell --without-atheos \ - --without-x" - -SRC_URI[md5sum] = "b88a46733d6932442ed8a6b751aac6b4" -SRC_URI[sha256sum] = "285eed8591c7781ec26213df82786665aaa1b9286782e8a7a1a7e2a6e1630d63" -SRC_URI[icon.md5sum] = "477e8787927c634614bac01b44355a33" -SRC_URI[icon.sha256sum] = "eddcd8b8c8698aa621d1a453943892d77b72ed492e0d14e0dbac5c6a57e52f47" diff --git a/meta-openembedded/meta-oe/recipes-support/links/links_2.22.bb b/meta-openembedded/meta-oe/recipes-support/links/links_2.22.bb new file mode 100644 index 000000000..2bfc9ae07 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/links/links_2.22.bb @@ -0,0 +1,12 @@ +require links.inc + +DEPENDS += "gpm" +RCONFLICTS_${PN} = "links-x11" + +EXTRA_OECONF = "--enable-graphics \ + --with-ssl=${STAGING_LIBDIR}/.. --with-libjpeg \ + --without-libtiff --without-svgalib --with-fb \ + --without-directfb --without-pmshell --without-atheos \ + --without-x" +SRC_URI[sha256sum] = "0364986b3a7f1e8e3171bea362b53f71e1dd3360a8842d66fdc65580ebc2084d" +SRC_URI[icon.sha256sum] = "eddcd8b8c8698aa621d1a453943892d77b72ed492e0d14e0dbac5c6a57e52f47" diff --git a/meta-openembedded/meta-oe/recipes-support/lio-utils/lio-utils_4.1.bb b/meta-openembedded/meta-oe/recipes-support/lio-utils/lio-utils_4.1.bb index 0fb4a6e51..4891fd187 100644 --- a/meta-openembedded/meta-oe/recipes-support/lio-utils/lio-utils_4.1.bb +++ b/meta-openembedded/meta-oe/recipes-support/lio-utils/lio-utils_4.1.bb @@ -55,6 +55,8 @@ do_install() { install -m 755 ${S}/conf/lio_start.default ${D}/etc/target/lio_start.sh } +PNBLACKLIST[lio-utils] ?= "${@bb.utils.contains('I_SWEAR_TO_MIGRATE_TO_PYTHON3', 'yes', '', 'python2 is out of support for long time, read https://www.python.org/doc/sunset-python-2/ https://python3statement.org/ and if you really have to temporarily use this, then set I_SWEAR_TO_MIGRATE_TO_PYTHON3 to "yes"', d)}" + RDEPENDS_${PN} += "python-stringold python-subprocess python-shell \ python-datetime python-textutils python-crypt python-netclient python-email \ bash" diff --git a/meta-openembedded/meta-oe/recipes-support/mg/mg_20200723.bb b/meta-openembedded/meta-oe/recipes-support/mg/mg_20200723.bb deleted file mode 100644 index b73f93756..000000000 --- a/meta-openembedded/meta-oe/recipes-support/mg/mg_20200723.bb +++ /dev/null @@ -1,38 +0,0 @@ -SUMMARY = "A portable version of the mg maintained by the OpenBSD team" -HOMEPAGE = "http://homepage.boetes.org/software/mg/" -LICENSE = "PD" -LIC_FILES_CHKSUM = "file://version.c;md5=1895eb37bf6bd79cdc5c89d8166fabfb" -DEPENDS = "ncurses libbsd" -SECTION = "console/editors" - -SRCREV = "60fa3582f5f735b9d43825f5bdcc4ea5f0740f91" -SRC_URI = "git://github.com/hboetes/mg \ - file://0001-fileio-Include-sys-param.h-for-MAXNAMLEN.patch \ - file://0002-fileio-Define-DEFFILEMODE-if-platform-is-missing.patch \ - " -SRC_URI_append_libc-musl = "\ - file://0001-Undefine-REGEX-for-musl-based-systems.patch \ - " - -S = "${WORKDIR}/git" - -# CFLAGS isn't in EXTRA_OEMAKE, as the makefile picks it up via ?= -EXTRA_OEMAKE = "\ - 'CC=${CC}' \ - 'LDFLAGS=${LDFLAGS}' \ - \ - 'prefix=${prefix}' \ - 'bindir=${bindir}' \ - 'libdir=${libdir}' \ - 'includedir=${includedir}' \ - 'mandir=${mandir}' \ - 'PKG_CONFIG=pkg-config' \ -" - -CFLAGS += "-I${STAGING_INCDIR}/bsd" - -do_install () { - oe_runmake install DESTDIR=${D} -} - -inherit pkgconfig diff --git a/meta-openembedded/meta-oe/recipes-support/mg/mg_20210314.bb b/meta-openembedded/meta-oe/recipes-support/mg/mg_20210314.bb new file mode 100644 index 000000000..9275dd233 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/mg/mg_20210314.bb @@ -0,0 +1,38 @@ +SUMMARY = "A portable version of the mg maintained by the OpenBSD team" +HOMEPAGE = "http://homepage.boetes.org/software/mg/" +LICENSE = "PD" +LIC_FILES_CHKSUM = "file://version.c;md5=1895eb37bf6bd79cdc5c89d8166fabfb" +DEPENDS = "ncurses libbsd" +SECTION = "console/editors" + +SRCREV = "598f7a028f01f85f0dee0e798753bccf93233add" +SRC_URI = "git://github.com/hboetes/mg \ + file://0001-fileio-Include-sys-param.h-for-MAXNAMLEN.patch \ + file://0002-fileio-Define-DEFFILEMODE-if-platform-is-missing.patch \ + " +SRC_URI_append_libc-musl = "\ + file://0001-Undefine-REGEX-for-musl-based-systems.patch \ + " + +S = "${WORKDIR}/git" + +# CFLAGS isn't in EXTRA_OEMAKE, as the makefile picks it up via ?= +EXTRA_OEMAKE = "\ + 'CC=${CC}' \ + 'LDFLAGS=${LDFLAGS}' \ + \ + 'prefix=${prefix}' \ + 'bindir=${bindir}' \ + 'libdir=${libdir}' \ + 'includedir=${includedir}' \ + 'mandir=${mandir}' \ + 'PKG_CONFIG=pkg-config' \ +" + +CFLAGS += "-I${STAGING_INCDIR}/bsd" + +do_install () { + oe_runmake install DESTDIR=${D} +} + +inherit pkgconfig diff --git a/meta-openembedded/meta-oe/recipes-support/neon/neon/fix-package-check-for-libxml2.patch b/meta-openembedded/meta-oe/recipes-support/neon/neon/fix-package-check-for-libxml2.patch new file mode 100644 index 000000000..92a05c0ef --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/neon/neon/fix-package-check-for-libxml2.patch @@ -0,0 +1,50 @@ +neon: Change the neon configure to use pkg-config instead of xml2-config + +xml2-config is broken for neon +if packageconfig libxml2, webdav, zlib is enabled for neon +we get the following configure error in the yocto build + +| configure: WebDAV support is enabled +| checking for xml2-config... xml2-config +| ERROR: /usr/bin/xml2-config should not be used, use an alternative such as pkg-config +| ERROR: /usr/bin/xml2-config should not be used, use an alternative such as pkg-config +| ERROR: /usr/bin/xml2-config should not be used, use an alternative such as pkg-config +| checking libxml/xmlversion.h usability... no +| checking libxml/xmlversion.h presence... no +| checking for libxml/xmlversion.h... no +| configure: error: could not find parser.h, libxml installation problem? +| WARNING: exit code 1 from a shell command. + +The patch lets configure use pkg-config + +Upstream-Status: inappropriate +(Upstream suggests to use latest 0.31 as per the discussion +https://github.com/notroj/neon/discussions/47) + +Signed-off-by: Nisha Parrakat +--- a/macros/neon-xml-parser.m4 2008-07-19 23:52:35.000000000 +0200 ++++ b/macros/neon-xml-parser.m4 2021-02-15 23:56:59.202751257 +0100 +@@ -44,17 +44,17 @@ + + dnl Find libxml2: run $1 if found, else $2 + AC_DEFUN([NE_XML_LIBXML2], [ +-AC_CHECK_PROG(XML2_CONFIG, xml2-config, xml2-config) ++AC_CHECK_PROG(XML2_CONFIG, pkg-config, pkg-config) + if test -n "$XML2_CONFIG"; then +- neon_xml_parser_message="libxml `$XML2_CONFIG --version`" + AC_DEFINE(HAVE_LIBXML, 1, [Define if you have libxml]) +- # xml2-config in some versions erroneously includes -I/include +- # in the --cflags output. +- CPPFLAGS="$CPPFLAGS `$XML2_CONFIG --cflags | sed 's| -I/include||g'`" +- NEON_LIBS="$NEON_LIBS `$XML2_CONFIG --libs | sed 's|-L/usr/lib ||g'`" ++ PKG_CHECK_MODULES(XML, libxml-2.0 >= 2.4) ++ AC_MSG_NOTICE([libxmlfound CFlags : , ${XML_CFLAGS}]) ++ CPPFLAGS="$CPPFLAGS ${XML_CFLAGS}" ++ NEON_LIBS="$NEON_LIBS ${XML_LIBS}" + AC_CHECK_HEADERS(libxml/xmlversion.h libxml/parser.h,,[ + AC_MSG_ERROR([could not find parser.h, libxml installation problem?])]) + neon_xml_parser=libxml2 ++ neon_xml_parser_message="libxml2" + else + $1 + fi diff --git a/meta-openembedded/meta-oe/recipes-support/neon/neon/run-ptest b/meta-openembedded/meta-oe/recipes-support/neon/neon/run-ptest new file mode 100644 index 000000000..602084a52 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/neon/neon/run-ptest @@ -0,0 +1,25 @@ +#!/bin/sh + +set -eux + +rm -f debug.log child.log + +ulimit -c unlimited +ulimit -t 120 + +cd test +echo foobar > foobar.txt + +BASIC_TESTS="auth basic redirect request session socket string-tests \ + stubs uri-tests util-tests" +DAV_TESTS="acl3744 lock oldacl props xml xmlreq" +for t in $BASIC_TESTS $DAV_TESTS +do + echo "Running $t..." + if "./$t" + then + echo "PASS:$t" + else + echo "FAIL:$t" + fi +done diff --git a/meta-openembedded/meta-oe/recipes-support/neon/neon_0.30.2.bb b/meta-openembedded/meta-oe/recipes-support/neon/neon_0.30.2.bb index 00b79f633..2639c9229 100644 --- a/meta-openembedded/meta-oe/recipes-support/neon/neon_0.30.2.bb +++ b/meta-openembedded/meta-oe/recipes-support/neon/neon_0.30.2.bb @@ -7,12 +7,14 @@ LIC_FILES_CHKSUM = "file://src/COPYING.LIB;md5=f30a9716ef3762e3467a2f62bf790f0a SRC_URI = "${DEBIAN_MIRROR}/main/n/neon27/neon27_${PV}.orig.tar.gz \ file://pkgconfig.patch \ + file://fix-package-check-for-libxml2.patch \ + file://run-ptest \ " SRC_URI[md5sum] = "e28d77bf14032d7f5046b3930704ef41" SRC_URI[sha256sum] = "db0bd8cdec329b48f53a6f00199c92d5ba40b0f015b153718d1b15d3d967fbca" -inherit autotools binconfig-disabled lib_package pkgconfig +inherit autotools binconfig-disabled lib_package pkgconfig ptest # Enable gnutls or openssl, not both PACKAGECONFIG ?= "expat gnutls libproxy webdav zlib" @@ -33,6 +35,18 @@ do_compile_append() { oe_runmake -C test } +do_install_ptest(){ + BASIC_TESTS="auth basic redirect request session socket string-tests \ + stubs uri-tests util-tests" + DAV_TESTS="acl3744 lock oldacl props xml xmlreq" + mkdir "${D}${PTEST_PATH}/test" + for i in ${BASIC_TESTS} ${DAV_TESTS} + do + install -m 0755 "${B}/test/${i}" \ + "${D}${PTEST_PATH}/test" + done +} + BINCONFIG = "${bindir}/neon-config" BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-oe/recipes-support/nss/nss/nss-fix-nsinstall-build.patch b/meta-openembedded/meta-oe/recipes-support/nss/nss/nss-fix-nsinstall-build.patch index fbfa828b2..224a5d236 100644 --- a/meta-openembedded/meta-oe/recipes-support/nss/nss/nss-fix-nsinstall-build.patch +++ b/meta-openembedded/meta-oe/recipes-support/nss/nss/nss-fix-nsinstall-build.patch @@ -15,7 +15,7 @@ on host to install built files, it doesn't need any cross-compling or multilib build options. Just clean the ARCHFLAG and LDFLAGS to fix this error. -Upstream-Status: Pending +Upstream-Status: Inappropriate [configuration] Signed-off-by: Wenzong Fan =================================================== diff --git a/meta-openembedded/meta-oe/recipes-support/nss/nss_3.60.1.bb b/meta-openembedded/meta-oe/recipes-support/nss/nss_3.60.1.bb deleted file mode 100644 index 0d668ba06..000000000 --- a/meta-openembedded/meta-oe/recipes-support/nss/nss_3.60.1.bb +++ /dev/null @@ -1,282 +0,0 @@ -SUMMARY = "Mozilla's SSL and TLS implementation" -DESCRIPTION = "Network Security Services (NSS) is a set of libraries \ -designed to support cross-platform development of \ -security-enabled client and server applications. \ -Applications built with NSS can support SSL v2 and v3, \ -TLS, PKCS 5, PKCS 7, PKCS 11, PKCS 12, S/MIME, X.509 \ -v3 certificates, and other security standards." -HOMEPAGE = "http://www.mozilla.org/projects/security/pki/nss/" -SECTION = "libs" - -DEPENDS = "sqlite3 nspr zlib nss-native" -DEPENDS_class-native = "sqlite3-native nspr-native zlib-native" - -LICENSE = "MPL-2.0 | (MPL-2.0 & GPL-2.0+) | (MPL-2.0 & LGPL-2.1+)" - -LIC_FILES_CHKSUM = "file://nss/COPYING;md5=3b1e88e1b9c0b5a4b2881d46cce06a18 \ - file://nss/lib/freebl/mpi/doc/LICENSE;md5=491f158d09d948466afce85d6f1fe18f \ - file://nss/lib/freebl/mpi/doc/LICENSE-MPL;md5=5d425c8f3157dbf212db2ec53d9e5132" - -VERSION_DIR = "${@d.getVar('BP').upper().replace('-', '_').replace('.', '_') + '_RTM'}" - -SRC_URI = "http://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/${VERSION_DIR}/src/${BP}.tar.gz \ - file://nss.pc.in \ - file://0001-nss-fix-support-cross-compiling.patch \ - file://nss-no-rpath-for-cross-compiling.patch \ - file://nss-fix-incorrect-shebang-of-perl.patch \ - file://disable-Wvarargs-with-clang.patch \ - file://pqg.c-ULL_addend.patch \ - file://blank-cert9.db \ - file://blank-key4.db \ - file://system-pkcs11.txt \ - file://nss-fix-nsinstall-build.patch \ - file://0001-freebl-add-a-configure-option-to-disable-ARM-HW-cryp.patch \ - " -SRC_URI[sha256sum] = "2051c20b61112df24bad533ac37f6c66c1bc0d6ea70bb9d9cad102d20324279d" - -UPSTREAM_CHECK_URI = "https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/NSS_Releases" -UPSTREAM_CHECK_REGEX = "NSS_(?P.+)_release_notes" - -inherit siteinfo - -TD = "${S}/tentative-dist" -TDS = "${S}/tentative-dist-staging" - -# cortex-a55 is ARMv8.2-a based but libatomic explicitly asks for -march=armv8.1-a -# which caused -march conflicts in gcc -TUNE_CCARGS_remove = "-mcpu=cortex-a55+crc -mcpu=cortex-a55 -mcpu=cortex-a55+crc+crypto" - -TARGET_CC_ARCH += "${LDFLAGS}" - -do_configure_prepend_libc-musl () { - sed -i -e '/-DHAVE_SYS_CDEFS_H/d' ${S}/nss/lib/dbm/config/config.mk -} - -do_configure_prepend_powerpc64le_toolchain-clang () { - sed -i -e 's/\-std=c99/\-std=gnu99/g' ${S}/nss/coreconf/command.mk -} - -do_configure_prepend_powerpc64_toolchain-clang () { - sed -i -e 's/\-std=c99/\-std=gnu99/g' ${S}/nss/coreconf/command.mk -} - -do_compile_prepend_class-native() { - export NSPR_INCLUDE_DIR=${STAGING_INCDIR_NATIVE}/nspr - export NSPR_LIB_DIR=${STAGING_LIBDIR_NATIVE} -} - -do_compile_prepend_class-nativesdk() { - export LDFLAGS="" -} - -do_compile_prepend_class-native() { - # Need to set RPATH so that chrpath will do its job correctly - RPATH="-Wl,-rpath-link,${STAGING_LIBDIR_NATIVE} -Wl,-rpath-link,${STAGING_BASE_LIBDIR_NATIVE} -Wl,-rpath,${STAGING_LIBDIR_NATIVE} -Wl,-rpath,${STAGING_BASE_LIBDIR_NATIVE}" -} - -do_compile() { - export NSPR_INCLUDE_DIR=${STAGING_INCDIR}/nspr - - export CROSS_COMPILE=1 - export NATIVE_CC="${BUILD_CC}" - # Additional defines needed on Centos 7 - export NATIVE_FLAGS="${BUILD_CFLAGS} -DLINUX -Dlinux" - export BUILD_OPT=1 - - # POSIX.1-2001 states that the behaviour of getcwd() when passing a null - # pointer as the buf argument, is unspecified. - export NATIVE_FLAGS="${NATIVE_FLAGS} -DGETCWD_CANT_MALLOC" - - export FREEBL_NO_DEPEND=1 - export FREEBL_LOWHASH=1 - - export LIBDIR=${libdir} - export MOZILLA_CLIENT=1 - export NS_USE_GCC=1 - export NSS_USE_SYSTEM_SQLITE=1 - export NSS_ENABLE_ECC=1 - - ${@bb.utils.contains("TUNE_FEATURES", "crypto", "export NSS_USE_ARM_HW_CRYPTO=1", "", d)} - - export OS_RELEASE=3.4 - export OS_TARGET=Linux - export OS_ARCH=Linux - - if [ "${TARGET_ARCH}" = "powerpc" ]; then - OS_TEST=ppc - elif [ "${TARGET_ARCH}" = "powerpc64" -o "${TARGET_ARCH}" = "powerpc64le" ]; then - OS_TEST=ppc64 - elif [ "${TARGET_ARCH}" = "mips" -o "${TARGET_ARCH}" = "mipsel" -o "${TARGET_ARCH}" = "mips64" -o "${TARGET_ARCH}" = "mips64el" ]; then - OS_TEST=mips - elif [ "${TARGET_ARCH}" = "aarch64_be" ]; then - OS_TEST="aarch64" - else - OS_TEST="${TARGET_ARCH}" - fi - - if [ "${SITEINFO_BITS}" = "64" ]; then - export USE_64=1 - elif [ "${TARGET_ARCH}" = "x86_64" -a "${SITEINFO_BITS}" = "32" ]; then - export USE_X32=1 - fi - - export NSS_DISABLE_GTESTS=1 - - # We can modify CC in the environment, but if we set it via an - # argument to make, nsinstall, a host program, will also build with it! - # - # nss pretty much does its own thing with CFLAGS, so we put them into CC. - # Optimization will get clobbered, but most of the stuff will survive. - # The motivation for this is to point to the correct place for debug - # source files and CFLAGS does that. Nothing uses CCC. - # - export CC="${CC} ${CFLAGS}" - make -C ./nss CCC="${CXX} -g" \ - OS_TEST=${OS_TEST} \ - RPATH="${RPATH}" \ - autobuild -} - -do_compile[vardepsexclude] += "SITEINFO_BITS" - -do_install_prepend_class-nativesdk() { - export LDFLAGS="" -} - -do_install() { - export CROSS_COMPILE=1 - export NATIVE_CC="${BUILD_CC}" - export BUILD_OPT=1 - - export FREEBL_NO_DEPEND=1 - - export LIBDIR=${libdir} - export MOZILLA_CLIENT=1 - export NS_USE_GCC=1 - export NSS_USE_SYSTEM_SQLITE=1 - export NSS_ENABLE_ECC=1 - - export OS_RELEASE=3.4 - export OS_TARGET=Linux - export OS_ARCH=Linux - - if [ "${TARGET_ARCH}" = "powerpc" ]; then - OS_TEST=ppc - elif [ "${TARGET_ARCH}" = "powerpc64" -o "${TARGET_ARCH}" = "powerpc64le" ]; then - OS_TEST=ppc64 - elif [ "${TARGET_ARCH}" = "mips" -o "${TARGET_ARCH}" = "mipsel" -o "${TARGET_ARCH}" = "mips64" -o "${TARGET_ARCH}" = "mips64el" ]; then - OS_TEST=mips - elif [ "${TARGET_ARCH}" = "aarch64_be" ]; then - CPU_ARCH=aarch64 - OS_TEST="aarch64" - else - OS_TEST="${TARGET_ARCH}" - fi - if [ "${SITEINFO_BITS}" = "64" ]; then - export USE_64=1 - elif [ "${TARGET_ARCH}" = "x86_64" -a "${SITEINFO_BITS}" = "32" ]; then - export USE_X32=1 - fi - - export NSS_DISABLE_GTESTS=1 - - make -C ./nss \ - CCC="${CXX}" \ - OS_TEST=${OS_TEST} \ - SOURCE_LIB_DIR="${TD}/${libdir}" \ - SOURCE_BIN_DIR="${TD}/${bindir}" \ - install - - install -d ${D}/${libdir}/ - for file in ${S}/dist/*.OBJ/lib/*.so; do - echo "Installing `basename $file`..." - cp $file ${D}/${libdir}/ - done - - for shared_lib in ${TD}/${libdir}/*.so.*; do - if [ -f $shared_lib ]; then - cp $shared_lib ${D}/${libdir} - ln -sf $(basename $shared_lib) ${D}/${libdir}/$(basename $shared_lib .1oe) - fi - done - for shared_lib in ${TD}/${libdir}/*.so; do - if [ -f $shared_lib -a ! -e ${D}/${libdir}/$shared_lib ]; then - cp $shared_lib ${D}/${libdir} - fi - done - - install -d ${D}/${includedir}/nss3 - install -m 644 -t ${D}/${includedir}/nss3 dist/public/nss/* - - install -d ${D}/${bindir} - for binary in ${TD}/${bindir}/*; do - install -m 755 -t ${D}/${bindir} $binary - done -} - -do_install[vardepsexclude] += "SITEINFO_BITS" - -do_install_append() { - # Create empty .chk files for the NSS libraries at build time. They could - # be regenerated at target's boot time. - for file in libsoftokn3.chk libfreebl3.chk libnssdbm3.chk; do - touch ${D}/${libdir}/$file - chmod 755 ${D}/${libdir}/$file - done - - install -d ${D}${libdir}/pkgconfig/ - sed 's/%NSS_VERSION%/${PV}/' ${WORKDIR}/nss.pc.in | sed 's/%NSPR_VERSION%/4.9.2/' > ${D}${libdir}/pkgconfig/nss.pc - sed -i s:OEPREFIX:${prefix}:g ${D}${libdir}/pkgconfig/nss.pc - sed -i s:OEEXECPREFIX:${exec_prefix}:g ${D}${libdir}/pkgconfig/nss.pc - sed -i s:OELIBDIR:${libdir}:g ${D}${libdir}/pkgconfig/nss.pc - sed -i s:OEINCDIR:${includedir}/nss3:g ${D}${libdir}/pkgconfig/nss.pc -} - -do_install_append_class-target() { - # It used to call certutil to create a blank certificate with empty password at - # build time, but the checksum of key4.db changes every time when certutil is called. - # It causes non-determinism issue, so provide databases with a blank certificate - # which are originally from output of nss in qemux86-64 build. You can get these - # databases by: - # certutil -N -d sql:/database/path/ --empty-password - install -d ${D}${sysconfdir}/pki/nssdb/ - install -m 0644 ${WORKDIR}/blank-cert9.db ${D}${sysconfdir}/pki/nssdb/cert9.db - install -m 0644 ${WORKDIR}/blank-key4.db ${D}${sysconfdir}/pki/nssdb/key4.db - install -m 0644 ${WORKDIR}/system-pkcs11.txt ${D}${sysconfdir}/pki/nssdb/pkcs11.txt -} - -PACKAGE_WRITE_DEPS += "nss-native" - -pkg_postinst_${PN} () { - for I in $D${libdir}/lib*.chk; do - DN=`dirname $I` - BN=`basename $I .chk` - FN=$DN/$BN.so - shlibsign -i $FN - if [ $? -ne 0 ]; then - echo "shlibsign -i $FN failed" - fi - done -} - -PACKAGES =+ "${PN}-smime" -FILES_${PN}-smime = "\ - ${bindir}/smime \ -" - -FILES_${PN} = "\ - ${sysconfdir} \ - ${bindir} \ - ${libdir}/lib*.chk \ - ${libdir}/lib*.so \ - " - -FILES_${PN}-dev = "\ - ${libdir}/nss \ - ${libdir}/pkgconfig/* \ - ${includedir}/* \ - " - -RDEPENDS_${PN}-smime = "perl" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-oe/recipes-support/nss/nss_3.63.bb b/meta-openembedded/meta-oe/recipes-support/nss/nss_3.63.bb new file mode 100644 index 000000000..ab2c43d01 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/nss/nss_3.63.bb @@ -0,0 +1,283 @@ +SUMMARY = "Mozilla's SSL and TLS implementation" +DESCRIPTION = "Network Security Services (NSS) is a set of libraries \ +designed to support cross-platform development of \ +security-enabled client and server applications. \ +Applications built with NSS can support SSL v2 and v3, \ +TLS, PKCS 5, PKCS 7, PKCS 11, PKCS 12, S/MIME, X.509 \ +v3 certificates, and other security standards." +HOMEPAGE = "http://www.mozilla.org/projects/security/pki/nss/" +SECTION = "libs" + +DEPENDS = "sqlite3 nspr zlib nss-native" +DEPENDS_class-native = "sqlite3-native nspr-native zlib-native" + +LICENSE = "MPL-2.0 | (MPL-2.0 & GPL-2.0+) | (MPL-2.0 & LGPL-2.1+)" + +LIC_FILES_CHKSUM = "file://nss/COPYING;md5=3b1e88e1b9c0b5a4b2881d46cce06a18 \ + file://nss/lib/freebl/mpi/doc/LICENSE;md5=491f158d09d948466afce85d6f1fe18f \ + file://nss/lib/freebl/mpi/doc/LICENSE-MPL;md5=5d425c8f3157dbf212db2ec53d9e5132" + +VERSION_DIR = "${@d.getVar('BP').upper().replace('-', '_').replace('.', '_') + '_RTM'}" + +SRC_URI = "http://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/${VERSION_DIR}/src/${BP}.tar.gz \ + file://nss.pc.in \ + file://0001-nss-fix-support-cross-compiling.patch \ + file://nss-no-rpath-for-cross-compiling.patch \ + file://nss-fix-incorrect-shebang-of-perl.patch \ + file://disable-Wvarargs-with-clang.patch \ + file://pqg.c-ULL_addend.patch \ + file://blank-cert9.db \ + file://blank-key4.db \ + file://system-pkcs11.txt \ + file://nss-fix-nsinstall-build.patch \ + file://0001-freebl-add-a-configure-option-to-disable-ARM-HW-cryp.patch \ + " +SRC_URI[sha256sum] = "182d2fef629102ae9423aabf2c192242b565cf5098e82c5a26cf70c5e4ea2221" + +UPSTREAM_CHECK_URI = "https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/NSS_Releases" +UPSTREAM_CHECK_REGEX = "NSS_(?P.+)_release_notes" + +inherit siteinfo + +TD = "${S}/tentative-dist" +TDS = "${S}/tentative-dist-staging" + +# cortex-a55 is ARMv8.2-a based but libatomic explicitly asks for -march=armv8.1-a +# which caused -march conflicts in gcc +TUNE_CCARGS_remove = "-mcpu=cortex-a55+crc -mcpu=cortex-a55 -mcpu=cortex-a55+crc+crypto" + +TARGET_CC_ARCH += "${LDFLAGS}" + +do_configure_prepend_libc-musl () { + sed -i -e '/-DHAVE_SYS_CDEFS_H/d' ${S}/nss/lib/dbm/config/config.mk +} + +do_configure_prepend_powerpc64le_toolchain-clang () { + sed -i -e 's/\-std=c99/\-std=gnu99/g' ${S}/nss/coreconf/command.mk +} + +do_configure_prepend_powerpc64_toolchain-clang () { + sed -i -e 's/\-std=c99/\-std=gnu99/g' ${S}/nss/coreconf/command.mk +} + +do_compile_prepend_class-native() { + export NSPR_INCLUDE_DIR=${STAGING_INCDIR_NATIVE}/nspr + export NSPR_LIB_DIR=${STAGING_LIBDIR_NATIVE} +} + +do_compile_prepend_class-nativesdk() { + export LDFLAGS="" +} + +do_compile_prepend_class-native() { + # Need to set RPATH so that chrpath will do its job correctly + RPATH="-Wl,-rpath-link,${STAGING_LIBDIR_NATIVE} -Wl,-rpath-link,${STAGING_BASE_LIBDIR_NATIVE} -Wl,-rpath,${STAGING_LIBDIR_NATIVE} -Wl,-rpath,${STAGING_BASE_LIBDIR_NATIVE}" +} + +do_compile() { + export NSPR_INCLUDE_DIR=${STAGING_INCDIR}/nspr + + export CROSS_COMPILE=1 + export NATIVE_CC="${BUILD_CC}" + # Additional defines needed on Centos 7 + export NATIVE_FLAGS="${BUILD_CFLAGS} -DLINUX -Dlinux" + export BUILD_OPT=1 + + # POSIX.1-2001 states that the behaviour of getcwd() when passing a null + # pointer as the buf argument, is unspecified. + export NATIVE_FLAGS="${NATIVE_FLAGS} -DGETCWD_CANT_MALLOC" + + export FREEBL_NO_DEPEND=1 + export FREEBL_LOWHASH=1 + + export LIBDIR=${libdir} + export MOZILLA_CLIENT=1 + export NS_USE_GCC=1 + export NSS_USE_SYSTEM_SQLITE=1 + export NSS_ENABLE_ECC=1 + + ${@bb.utils.contains("TUNE_FEATURES", "crypto", "export NSS_USE_ARM_HW_CRYPTO=1", "", d)} + + export OS_RELEASE=3.4 + export OS_TARGET=Linux + export OS_ARCH=Linux + + if [ "${TARGET_ARCH}" = "powerpc" ]; then + OS_TEST=ppc + elif [ "${TARGET_ARCH}" = "powerpc64" -o "${TARGET_ARCH}" = "powerpc64le" ]; then + OS_TEST=ppc64 + elif [ "${TARGET_ARCH}" = "mips" -o "${TARGET_ARCH}" = "mipsel" -o "${TARGET_ARCH}" = "mips64" -o "${TARGET_ARCH}" = "mips64el" ]; then + OS_TEST=mips + elif [ "${TARGET_ARCH}" = "aarch64_be" ]; then + OS_TEST="aarch64" + else + OS_TEST="${TARGET_ARCH}" + fi + + if [ "${SITEINFO_BITS}" = "64" ]; then + export USE_64=1 + elif [ "${TARGET_ARCH}" = "x86_64" -a "${SITEINFO_BITS}" = "32" ]; then + export USE_X32=1 + fi + + export NSS_DISABLE_GTESTS=1 + # see https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99420 + export NSS_ENABLE_WERROR=0 + # We can modify CC in the environment, but if we set it via an + # argument to make, nsinstall, a host program, will also build with it! + # + # nss pretty much does its own thing with CFLAGS, so we put them into CC. + # Optimization will get clobbered, but most of the stuff will survive. + # The motivation for this is to point to the correct place for debug + # source files and CFLAGS does that. Nothing uses CCC. + # + export CC="${CC} ${CFLAGS}" + make -C ./nss CCC="${CXX} -g" \ + OS_TEST=${OS_TEST} \ + RPATH="${RPATH}" \ + autobuild +} + +do_compile[vardepsexclude] += "SITEINFO_BITS" + +do_install_prepend_class-nativesdk() { + export LDFLAGS="" +} + +do_install() { + export CROSS_COMPILE=1 + export NATIVE_CC="${BUILD_CC}" + export BUILD_OPT=1 + + export FREEBL_NO_DEPEND=1 + + export LIBDIR=${libdir} + export MOZILLA_CLIENT=1 + export NS_USE_GCC=1 + export NSS_USE_SYSTEM_SQLITE=1 + export NSS_ENABLE_ECC=1 + + export OS_RELEASE=3.4 + export OS_TARGET=Linux + export OS_ARCH=Linux + + if [ "${TARGET_ARCH}" = "powerpc" ]; then + OS_TEST=ppc + elif [ "${TARGET_ARCH}" = "powerpc64" -o "${TARGET_ARCH}" = "powerpc64le" ]; then + OS_TEST=ppc64 + elif [ "${TARGET_ARCH}" = "mips" -o "${TARGET_ARCH}" = "mipsel" -o "${TARGET_ARCH}" = "mips64" -o "${TARGET_ARCH}" = "mips64el" ]; then + OS_TEST=mips + elif [ "${TARGET_ARCH}" = "aarch64_be" ]; then + CPU_ARCH=aarch64 + OS_TEST="aarch64" + else + OS_TEST="${TARGET_ARCH}" + fi + if [ "${SITEINFO_BITS}" = "64" ]; then + export USE_64=1 + elif [ "${TARGET_ARCH}" = "x86_64" -a "${SITEINFO_BITS}" = "32" ]; then + export USE_X32=1 + fi + + export NSS_DISABLE_GTESTS=1 + + make -C ./nss \ + CCC="${CXX}" \ + OS_TEST=${OS_TEST} \ + SOURCE_LIB_DIR="${TD}/${libdir}" \ + SOURCE_BIN_DIR="${TD}/${bindir}" \ + install + + install -d ${D}/${libdir}/ + for file in ${S}/dist/*.OBJ/lib/*.so; do + echo "Installing `basename $file`..." + cp $file ${D}/${libdir}/ + done + + for shared_lib in ${TD}/${libdir}/*.so.*; do + if [ -f $shared_lib ]; then + cp $shared_lib ${D}/${libdir} + ln -sf $(basename $shared_lib) ${D}/${libdir}/$(basename $shared_lib .1oe) + fi + done + for shared_lib in ${TD}/${libdir}/*.so; do + if [ -f $shared_lib -a ! -e ${D}/${libdir}/$shared_lib ]; then + cp $shared_lib ${D}/${libdir} + fi + done + + install -d ${D}/${includedir}/nss3 + install -m 644 -t ${D}/${includedir}/nss3 dist/public/nss/* + + install -d ${D}/${bindir} + for binary in ${TD}/${bindir}/*; do + install -m 755 -t ${D}/${bindir} $binary + done +} + +do_install[vardepsexclude] += "SITEINFO_BITS" + +do_install_append() { + # Create empty .chk files for the NSS libraries at build time. They could + # be regenerated at target's boot time. + for file in libsoftokn3.chk libfreebl3.chk libnssdbm3.chk; do + touch ${D}/${libdir}/$file + chmod 755 ${D}/${libdir}/$file + done + + install -d ${D}${libdir}/pkgconfig/ + sed 's/%NSS_VERSION%/${PV}/' ${WORKDIR}/nss.pc.in | sed 's/%NSPR_VERSION%/4.9.2/' > ${D}${libdir}/pkgconfig/nss.pc + sed -i s:OEPREFIX:${prefix}:g ${D}${libdir}/pkgconfig/nss.pc + sed -i s:OEEXECPREFIX:${exec_prefix}:g ${D}${libdir}/pkgconfig/nss.pc + sed -i s:OELIBDIR:${libdir}:g ${D}${libdir}/pkgconfig/nss.pc + sed -i s:OEINCDIR:${includedir}/nss3:g ${D}${libdir}/pkgconfig/nss.pc +} + +do_install_append_class-target() { + # It used to call certutil to create a blank certificate with empty password at + # build time, but the checksum of key4.db changes every time when certutil is called. + # It causes non-determinism issue, so provide databases with a blank certificate + # which are originally from output of nss in qemux86-64 build. You can get these + # databases by: + # certutil -N -d sql:/database/path/ --empty-password + install -d ${D}${sysconfdir}/pki/nssdb/ + install -m 0644 ${WORKDIR}/blank-cert9.db ${D}${sysconfdir}/pki/nssdb/cert9.db + install -m 0644 ${WORKDIR}/blank-key4.db ${D}${sysconfdir}/pki/nssdb/key4.db + install -m 0644 ${WORKDIR}/system-pkcs11.txt ${D}${sysconfdir}/pki/nssdb/pkcs11.txt +} + +PACKAGE_WRITE_DEPS += "nss-native" + +pkg_postinst_${PN} () { + for I in $D${libdir}/lib*.chk; do + DN=`dirname $I` + BN=`basename $I .chk` + FN=$DN/$BN.so + shlibsign -i $FN + if [ $? -ne 0 ]; then + echo "shlibsign -i $FN failed" + fi + done +} + +PACKAGES =+ "${PN}-smime" +FILES_${PN}-smime = "\ + ${bindir}/smime \ +" + +FILES_${PN} = "\ + ${sysconfdir} \ + ${bindir} \ + ${libdir}/lib*.chk \ + ${libdir}/lib*.so \ + " + +FILES_${PN}-dev = "\ + ${libdir}/nss \ + ${libdir}/pkgconfig/* \ + ${includedir}/* \ + " + +RDEPENDS_${PN}-smime = "perl" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-GitHub-Issue-367.-Remove-references-to-deprecated-G_.patch b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-GitHub-Issue-367.-Remove-references-to-deprecated-G_.patch deleted file mode 100644 index 6cb5dfccc..000000000 --- a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-GitHub-Issue-367.-Remove-references-to-deprecated-G_.patch +++ /dev/null @@ -1,94 +0,0 @@ -From 6fb28085e867d7c3ef46577d9ff193a185693bcb Mon Sep 17 00:00:00 2001 -From: Oliver Kurth -Date: Mon, 30 Sep 2019 16:24:27 -0700 -Subject: [PATCH] GitHub Issue #367. Remove references to deprecated G_INLINE_FUNC. - -G_INLINE_FUNC was a work-around for compilers that didn't support -static inline. Change uses of it to static inline. - -Upstream-Status: Backport -[https://github.com/vmware/open-vm-tools/commit/89c0d444567eb525e8d083fb564c46d68e96660c] - -Signed-off-by: Khem Raj ---- - open-vm-tools/lib/include/vmware/tools/plugin.h | 2 +- - open-vm-tools/lib/include/vmware/tools/threadPool.h | 8 ++++---- - open-vm-tools/lib/include/vmware/tools/utils.h | 9 --------- - 3 files changed, 5 insertions(+), 14 deletions(-) - -diff --git a/open-vm-tools/lib/include/vmware/tools/plugin.h b/open-vm-tools/lib/include/vmware/tools/plugin.h -index f9acc6a2..deefd1f3 100644 ---- a/open-vm-tools/lib/include/vmware/tools/plugin.h -+++ b/open-vm-tools/lib/include/vmware/tools/plugin.h -@@ -290,7 +290,7 @@ typedef struct ToolsAppCtx { - * - * @return TRUE if COM is initialized when the function returns. - */ --G_INLINE_FUNC gboolean -+static inline gboolean - ToolsCore_InitializeCOM(ToolsAppCtx *ctx) - { - if (!ctx->comInitialized) { -diff --git a/open-vm-tools/lib/include/vmware/tools/threadPool.h b/open-vm-tools/lib/include/vmware/tools/threadPool.h -index 3f2082b3..5880fbcf 100644 ---- a/open-vm-tools/lib/include/vmware/tools/threadPool.h -+++ b/open-vm-tools/lib/include/vmware/tools/threadPool.h -@@ -91,7 +91,7 @@ typedef struct ToolsCorePool { - ******************************************************************************* - */ - --G_INLINE_FUNC ToolsCorePool * -+static inline ToolsCorePool * - ToolsCorePool_GetPool(ToolsAppCtx *ctx) - { - ToolsCorePool *pool = NULL; -@@ -123,7 +123,7 @@ ToolsCorePool_GetPool(ToolsAppCtx *ctx) - ******************************************************************************* - */ - --G_INLINE_FUNC guint -+static inline guint - ToolsCorePool_SubmitTask(ToolsAppCtx *ctx, - ToolsCorePoolCb cb, - gpointer data, -@@ -153,7 +153,7 @@ ToolsCorePool_SubmitTask(ToolsAppCtx *ctx, - ******************************************************************************* - */ - --G_INLINE_FUNC void -+static inline void - ToolsCorePool_CancelTask(ToolsAppCtx *ctx, - guint taskId) - { -@@ -197,7 +197,7 @@ ToolsCorePool_CancelTask(ToolsAppCtx *ctx, - ******************************************************************************* - */ - --G_INLINE_FUNC gboolean -+static inline gboolean - ToolsCorePool_StartThread(ToolsAppCtx *ctx, - const gchar *threadName, - ToolsCorePoolCb cb, -diff --git a/open-vm-tools/lib/include/vmware/tools/utils.h b/open-vm-tools/lib/include/vmware/tools/utils.h -index f6574590..a3292d5c 100644 ---- a/open-vm-tools/lib/include/vmware/tools/utils.h -+++ b/open-vm-tools/lib/include/vmware/tools/utils.h -@@ -51,15 +51,6 @@ - # include - #endif - -- --/* Work around a glib limitation: it doesn't set G_INLINE_FUNC on Win32. */ --#if defined(G_PLATFORM_WIN32) --# if defined(G_INLINE_FUNC) --# undef G_INLINE_FUNC --# endif --# define G_INLINE_FUNC static __inline --#endif -- - #ifndef ABS - # define ABS(x) (((x) >= 0) ? (x) : -(x)) - #endif --- -2.23.0 - diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-Make-HgfsConvertFromNtTimeNsec-aware-of-64-bit-time_.patch b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-Make-HgfsConvertFromNtTimeNsec-aware-of-64-bit-time_.patch deleted file mode 100644 index 61a681f17..000000000 --- a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-Make-HgfsConvertFromNtTimeNsec-aware-of-64-bit-time_.patch +++ /dev/null @@ -1,78 +0,0 @@ -From caf80e220b055dbce259078be96e899dc78ec1d2 Mon Sep 17 00:00:00 2001 -From: Bartosz Brachaczek -Date: Tue, 12 Nov 2019 14:31:08 +0100 -Subject: [PATCH] Make HgfsConvertFromNtTimeNsec aware of 64-bit time_t on i386 - -I verified that this function behaves as expected on x86_64, i386 with -32-bit time_t, and i386 with 64-bit time_t for the following values of -ntTtime: - -UNIX_EPOCH-1, UNIX_EPOCH, UNIX_EPOCH+1, UNIX_S32_MAX-1, UNIX_S32_MAX, -UNIX_S32_MAX+1, UNIX_S32_MAX*2+1 - -I did not verify whether the use of Div643264 is optimal, performance -wise. - -Upstream-Status: Submitted [https://github.com/vmware/open-vm-tools/pull/387] -Signed-off-by: Khem Raj ---- - open-vm-tools/lib/hgfs/hgfsUtil.c | 34 +++++++++++++++++-------------- - 1 file changed, 19 insertions(+), 15 deletions(-) - -diff --git a/open-vm-tools/lib/hgfs/hgfsUtil.c b/open-vm-tools/lib/hgfs/hgfsUtil.c -index cc580ab8..49b10040 100644 ---- a/open-vm-tools/lib/hgfs/hgfsUtil.c -+++ b/open-vm-tools/lib/hgfs/hgfsUtil.c -@@ -110,23 +110,21 @@ HgfsConvertFromNtTimeNsec(struct timespec *unixTime, // OUT: Time in UNIX format - uint64 ntTime) // IN: Time in Windows NT format - { - #ifdef __i386__ -- uint32 sec; -- uint32 nsec; -+ uint64 sec64; -+ uint32 sec32, nsec; -+#endif - - ASSERT(unixTime); -- /* We assume that time_t is 32bit */ -- ASSERT_ON_COMPILE(sizeof (unixTime->tv_sec) == 4); - -- /* Cap NT time values that are outside of Unix time's range */ -+ if (sizeof (unixTime->tv_sec) == 4) { -+ /* Cap NT time values that are outside of Unix time's range */ - -- if (ntTime >= UNIX_S32_MAX) { -- unixTime->tv_sec = 0x7FFFFFFF; -- unixTime->tv_nsec = 0; -- return 1; -+ if (ntTime >= UNIX_S32_MAX) { -+ unixTime->tv_sec = 0x7FFFFFFF; -+ unixTime->tv_nsec = 0; -+ return 1; -+ } - } --#else -- ASSERT(unixTime); --#endif - - if (ntTime < UNIX_EPOCH) { - unixTime->tv_sec = 0; -@@ -135,9 +133,15 @@ HgfsConvertFromNtTimeNsec(struct timespec *unixTime, // OUT: Time in UNIX format - } - - #ifdef __i386__ -- Div643232(ntTime - UNIX_EPOCH, 10000000, &sec, &nsec); -- unixTime->tv_sec = sec; -- unixTime->tv_nsec = nsec * 100; -+ if (sizeof (unixTime->tv_sec) == 4) { -+ Div643232(ntTime - UNIX_EPOCH, 10000000, &sec32, &nsec); -+ unixTime->tv_sec = sec32; -+ unixTime->tv_nsec = nsec * 100; -+ } else { -+ Div643264(ntTime - UNIX_EPOCH, 10000000, &sec64, &nsec); -+ unixTime->tv_sec = sec64; -+ unixTime->tv_nsec = nsec * 100; -+ } - #else - unixTime->tv_sec = (ntTime - UNIX_EPOCH) / 10000000; - unixTime->tv_nsec = ((ntTime - UNIX_EPOCH) % 10000000) * 100; diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-configure.ac-don-t-use-dnet-config.patch b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-configure.ac-don-t-use-dnet-config.patch deleted file mode 100644 index a711f5e5d..000000000 --- a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-configure.ac-don-t-use-dnet-config.patch +++ /dev/null @@ -1,36 +0,0 @@ -From fc9bf1ce9f1a21150b10736a1c968d4ca6d4eaa3 Mon Sep 17 00:00:00 2001 -From: Martin Kelly -Date: Fri, 7 Apr 2017 15:20:30 -0700 -Subject: [PATCH] configure.ac: don't use dnet-config - -The dnet-config tool doesn't know about cross-compilation, so it injects --I/usr/include into the path, causing compiler errors. So instead find dnet via --ldnet. - -Upstream-Status: Inappropriate [embedded specific] - -Signed-off-by: Martin Kelly ---- - open-vm-tools/configure.ac | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - ---- a/open-vm-tools/configure.ac -+++ b/open-vm-tools/configure.ac -@@ -937,7 +937,7 @@ if test "$with_dnet" = "yes"; then - AC_VMW_CHECK_LIB([dnet], - [DNET], - [], -- [dnet-config], -+ [], - [], - [dnet.h], - [intf_open], -@@ -947,7 +947,7 @@ if test "$with_dnet" = "yes"; then - - if test $have_dnet = "no"; then - AC_MSG_ERROR( -- [dnet-config was not found on your PATH. Please configure without dnet or install dnet - http://libdnet.sourceforge.net]) -+ [dnet was not found. Please configure without dnet (using --without-dnet) or install dnet - http://libdnet.sourceforge.net]) - fi - fi - diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-hgfsmounter-Makefile.am-support-usrmerge.patch b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-hgfsmounter-Makefile.am-support-usrmerge.patch deleted file mode 100644 index 82443ee66..000000000 --- a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-hgfsmounter-Makefile.am-support-usrmerge.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 33798f3e484ebd3470e9da791b73b4b90ba12bc3 Mon Sep 17 00:00:00 2001 -From: Yi Zhao -Date: Tue, 14 Jan 2020 15:04:03 +0800 -Subject: [PATCH] hgfsmounter/Makefile.am: support usrmerge - -There is a do_package error when enable usrmerge feature due to the -hardcoded sbin directory. Remove this piece of code because we already -create the symbolic link in do_install. - -Upstream-Status: Inappropriate [oe-specific] - -Signed-off-by: Yi Zhao ---- - open-vm-tools/hgfsmounter/Makefile.am | 3 --- - 1 file changed, 3 deletions(-) - -diff --git a/open-vm-tools/hgfsmounter/Makefile.am b/open-vm-tools/hgfsmounter/Makefile.am -index 7c1ba1a..58bd3f8 100644 ---- a/open-vm-tools/hgfsmounter/Makefile.am -+++ b/open-vm-tools/hgfsmounter/Makefile.am -@@ -39,9 +39,6 @@ uninstall-hook: - rm -f $(DESTDIR)$(sbindir)/mount_vmhgfs - else - install-exec-hook: -- -$(MKDIR_P) $(DESTDIR)/sbin -- -$(LN_S) $(DESTDIR)$(sbindir)/mount.vmhgfs \ -- $(DESTDIR)/sbin/mount.vmhgfs &> /dev/null - uninstall-hook: - rm -f $(DESTDIR)/sbin/mount.vmhgfs - endif !FREEBSD --- -2.7.4 - diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-utilBacktrace-Ignore-Warray-bounds.patch b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-utilBacktrace-Ignore-Warray-bounds.patch deleted file mode 100644 index 95664e855..000000000 --- a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-utilBacktrace-Ignore-Warray-bounds.patch +++ /dev/null @@ -1,33 +0,0 @@ -From ac3f93ea087d3a5461fe57fe021d0fe9a959e13c Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Wed, 25 Dec 2019 15:25:02 -0800 -Subject: [PATCH] utilBacktrace: Ignore -Warray-bounds - -This is new warning with gcc10, until its fixed ignore it like gcc<10 -did - -Upstream-Status: Pending -Signed-off-by: Khem Raj ---- - open-vm-tools/lib/user/utilBacktrace.c | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/open-vm-tools/lib/user/utilBacktrace.c b/open-vm-tools/lib/user/utilBacktrace.c -index b72340ad..97ca53f2 100644 ---- a/open-vm-tools/lib/user/utilBacktrace.c -+++ b/open-vm-tools/lib/user/utilBacktrace.c -@@ -517,6 +517,11 @@ Util_BacktraceWithFunc(int bugNr, // IN: - } else { - outFunc(outFuncData, "Backtrace for bugNr=%d\n",bugNr); - } -+#pragma GCC diagnostic push -+#pragma GCC diagnostic ignored "-Warray-bounds" -+ - Util_BacktraceFromPointerWithFunc(&x[-2], outFunc, outFuncData); -+#pragma GCC diagnostic pop - #endif - } -+ --- -2.24.1 - diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0002-add-include-sys-sysmacros.h.patch b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0002-add-include-sys-sysmacros.h.patch deleted file mode 100644 index 34628ffbe..000000000 --- a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0002-add-include-sys-sysmacros.h.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 3fa237b3afabc293e563292b8d89265a871626ad Mon Sep 17 00:00:00 2001 -From: Martin Kelly -Date: Mon, 22 May 2017 17:00:05 -0700 -Subject: [PATCH] add #include - -In newer glibc versions, the definition for major() has been moved to -sys/sysmacros.h, and using the older version in has been -deprecated. So, add an include for . - -Upstream-Status: Pending - -Signed-off-by: Martin Kelly ---- - open-vm-tools/lib/wiper/wiperPosix.c | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/open-vm-tools/lib/wiper/wiperPosix.c b/open-vm-tools/lib/wiper/wiperPosix.c -index bd542410..ccf06293 100644 ---- a/open-vm-tools/lib/wiper/wiperPosix.c -+++ b/open-vm-tools/lib/wiper/wiperPosix.c -@@ -43,6 +43,9 @@ - # include - # endif /* __FreeBSD_version >= 500000 */ - #endif -+#if defined(__linux__) -+#include -+#endif - #include - - #include "vmware.h" diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0002-hgfsServerLinux-Consider-64bit-time_t-possibility.patch b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0002-hgfsServerLinux-Consider-64bit-time_t-possibility.patch deleted file mode 100644 index 0f64eabc9..000000000 --- a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0002-hgfsServerLinux-Consider-64bit-time_t-possibility.patch +++ /dev/null @@ -1,41 +0,0 @@ -From fe56b67a2915a8632ea30604c14241f335dd3c15 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Tue, 12 Nov 2019 10:49:46 -0800 -Subject: [PATCH] hgfsServerLinux: Consider 64bit time_t possibility - -Upstream-Status: Pending -Signed-off-by: Khem Raj ---- - .../lib/hgfsServer/hgfsServerLinux.c | 19 +++++-------------- - 1 file changed, 5 insertions(+), 14 deletions(-) - -diff --git a/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c b/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c -index 03175623..554da67f 100644 ---- a/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c -+++ b/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c -@@ -2561,20 +2561,11 @@ HgfsStatToFileAttr(struct stat *stats, // IN: stat information - LOG(4, ("%s: done, permissions %o%o%o%o, size %"FMT64"u\n", __FUNCTION__, - attr->specialPerms, attr->ownerPerms, attr->groupPerms, - attr->otherPerms, attr->size)); --#ifdef __FreeBSD__ --# if !defined(VM_X86_64) && __FreeBSD_version >= 500043 --# define FMTTIMET "" --# else --# define FMTTIMET "l" --# endif --#else --# define FMTTIMET "l" --#endif -- LOG(4, ("access: %"FMTTIMET"d/%"FMT64"u \nwrite: %"FMTTIMET"d/%"FMT64"u \n" -- "attr: %"FMTTIMET"d/%"FMT64"u\n", -- stats->st_atime, attr->accessTime, stats->st_mtime, attr->writeTime, -- stats->st_ctime, attr->attrChangeTime)); --#undef FMTTIMET -+ LOG(4, ("access: %jd/%"FMT64"u \nwrite: %jd/%"FMT64"u \n" -+ "attr: %jd/%"FMT64"u\n", -+ (intmax_t)stats->st_atime, attr->accessTime, -+ (intmax_t)stats->st_mtime, attr->writeTime, -+ (intmax_t)stats->st_ctime, attr->attrChangeTime)); - - attr->userId = stats->st_uid; - attr->groupId = stats->st_gid; diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0003-Use-configure-test-for-struct-timespec.patch b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0003-Use-configure-test-for-struct-timespec.patch deleted file mode 100644 index 6d2e49814..000000000 --- a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0003-Use-configure-test-for-struct-timespec.patch +++ /dev/null @@ -1,45 +0,0 @@ -From bf9292ff9bd25467a014d6c2070805d163daa4c9 Mon Sep 17 00:00:00 2001 -From: Natanael Copa -Date: Wed, 18 Nov 2015 09:03:00 +0000 -Subject: [PATCH] Use configure test for struct timespec - -Use the configure script to test for struct time spec instead of trying -to keep track of what platforms has it. - -Signed-off-by: Natanael Copa ---- - open-vm-tools/configure.ac | 1 + - open-vm-tools/lib/include/hgfsUtil.h | 8 +------- - 2 files changed, 2 insertions(+), 7 deletions(-) - -diff --git a/open-vm-tools/configure.ac b/open-vm-tools/configure.ac -index 713ea683..48ff1ef3 100644 ---- a/open-vm-tools/configure.ac -+++ b/open-vm-tools/configure.ac -@@ -1208,6 +1208,7 @@ AC_TYPE_OFF_T - AC_TYPE_PID_T - AC_TYPE_SIZE_T - AC_CHECK_MEMBERS([struct stat.st_rdev]) -+AC_CHECK_MEMBERS([struct timespec.tv_sec],[],[],[[#include ]]) - AC_HEADER_TIME - AC_STRUCT_TM - AC_C_VOLATILE -diff --git a/open-vm-tools/lib/include/hgfsUtil.h b/open-vm-tools/lib/include/hgfsUtil.h -index 609f4c00..a3a022d4 100644 ---- a/open-vm-tools/lib/include/hgfsUtil.h -+++ b/open-vm-tools/lib/include/hgfsUtil.h -@@ -53,13 +53,7 @@ - # include - # endif - # include "vm_basic_types.h" --# if !defined _STRUCT_TIMESPEC && \ -- !defined _TIMESPEC_DECLARED && \ -- !defined __timespec_defined && \ -- !defined sun && \ -- !defined __FreeBSD__ && \ -- !__APPLE__ && \ -- !defined _WIN32 -+# if !defined HAVE_STRUCT_TIMESPEC_TV_SEC - struct timespec { - time_t tv_sec; - long tv_nsec; diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0004-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0004-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch deleted file mode 100644 index e107ecf23..000000000 --- a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0004-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch +++ /dev/null @@ -1,58 +0,0 @@ -From 5a795b234c617150915a607776c76377948870a6 Mon Sep 17 00:00:00 2001 -From: Natanael Copa -Date: Wed, 18 Nov 2015 09:10:14 +0000 -Subject: [PATCH] Fix definition of ALLPERMS and ACCESSPERMS - -The ALLPERMS and ACCESSPERMS defines are not specified in POSIX so -assume it is not there instead of testing for specific implementations. - -This is needed for musl libc. - -Signed-off-by: Natanael Copa ---- - open-vm-tools/lib/hgfsServer/hgfsServerLinux.c | 8 +++++--- - open-vm-tools/services/plugins/dndcp/dnd/dndLinux.c | 3 +-- - 2 files changed, 6 insertions(+), 5 deletions(-) - -diff --git a/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c b/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c -index f2b7ce67..0e6351a9 100644 ---- a/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c -+++ b/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c -@@ -105,11 +105,13 @@ typedef struct DirectoryEntry { - #endif - - /* -- * ALLPERMS (mode 07777) and ACCESSPERMS (mode 0777) are not defined in the -- * Solaris version of . -+ * ALLPERMS (mode 07777) and ACCESSPERMS (mode 0777) are not specified in -+ * POSIX. - */ --#ifdef sun -+#ifndef ACCESSPERMS - # define ACCESSPERMS (S_IRWXU|S_IRWXG|S_IRWXO) -+#endif -+#ifndef ALLPERMS - # define ALLPERMS (S_ISUID|S_ISGID|S_ISVTX|S_IRWXU|S_IRWXG|S_IRWXO) - #endif - -diff --git a/open-vm-tools/services/plugins/dndcp/dnd/dndLinux.c b/open-vm-tools/services/plugins/dndcp/dnd/dndLinux.c -index 89133652..7e9c3a91 100644 ---- a/open-vm-tools/services/plugins/dndcp/dnd/dndLinux.c -+++ b/open-vm-tools/services/plugins/dndcp/dnd/dndLinux.c -@@ -52,7 +52,7 @@ - - #define DND_ROOTDIR_PERMS (S_IRWXU | S_IRWXG | S_IRWXO) - #define DND_STAGINGDIR_PERMS (S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH) --#ifdef sun -+#ifndef ACCESSPERMS - #define ACCESSPERMS (S_IRWXU | S_IRWXG | S_IRWXO) - #endif - #ifdef __ANDROID__ -@@ -61,7 +61,6 @@ - */ - #define NO_SETMNTENT - #define NO_ENDMNTENT --#define ACCESSPERMS (S_IRWXU | S_IRWXG | S_IRWXO) - #endif - - diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0005-Use-configure-to-test-for-feature-instead-of-platfor.patch b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0005-Use-configure-to-test-for-feature-instead-of-platfor.patch deleted file mode 100644 index c6378b808..000000000 --- a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0005-Use-configure-to-test-for-feature-instead-of-platfor.patch +++ /dev/null @@ -1,135 +0,0 @@ -From 719d60978f979cf2e03771a9b8a62e36c92639f9 Mon Sep 17 00:00:00 2001 -From: Natanael Copa -Date: Wed, 18 Nov 2015 10:05:07 +0000 -Subject: [PATCH] Use configure to test for feature instead of platform - -Test for various functions instead of trying to keep track of what -platform and what version of the given platform has support for what. - -This should make it easier to port to currently unknown platforms and -will solve the issue if a platform add support for a missing feature in -the future. - -The features we test for are: -- getifaddrs -- getauxval -- issetugid -- __secure_getenv - -This is needed for musl libc. - -Signed-off-by: Natanael Copa ---- - open-vm-tools/configure.ac | 4 ++++ - open-vm-tools/lib/misc/idLinux.c | 30 +++++++++++------------- - open-vm-tools/lib/nicInfo/nicInfoPosix.c | 6 ++++- - 3 files changed, 23 insertions(+), 17 deletions(-) - -diff --git a/open-vm-tools/configure.ac b/open-vm-tools/configure.ac -index 48ff1ef3..71e684bb 100644 ---- a/open-vm-tools/configure.ac -+++ b/open-vm-tools/configure.ac -@@ -897,6 +897,7 @@ AC_CHECK_FUNCS( - - AC_CHECK_FUNCS([ecvt]) - AC_CHECK_FUNCS([fcvt]) -+AC_CHECK_FUNCS([getifaddrs getauxval issetugid __secure_getenv]) - - AC_CHECK_FUNC([mkdtemp], [have_mkdtemp=yes]) - -@@ -1145,10 +1146,13 @@ fi - ### - - AC_CHECK_HEADERS([crypt.h]) -+AC_CHECK_HEADERS([ifaddrs.h]) - AC_CHECK_HEADERS([inttypes.h]) - AC_CHECK_HEADERS([stdint.h]) - AC_CHECK_HEADERS([stdlib.h]) - AC_CHECK_HEADERS([wchar.h]) -+AC_CHECK_HEADERS([net/if.h]) -+AC_CHECK_HEADERS([sys/auxv.h]) - AC_CHECK_HEADERS([sys/inttypes.h]) - AC_CHECK_HEADERS([sys/io.h]) - AC_CHECK_HEADERS([sys/param.h]) # Required to make the sys/user.h check work correctly on FreeBSD -diff --git a/open-vm-tools/lib/misc/idLinux.c b/open-vm-tools/lib/misc/idLinux.c -index b950cf84..1dcfb508 100644 ---- a/open-vm-tools/lib/misc/idLinux.c -+++ b/open-vm-tools/lib/misc/idLinux.c -@@ -27,12 +27,9 @@ - #include - #include - #include --#ifdef __linux__ --#if defined(__GLIBC__) && \ -- (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 16)) -+#ifdef HAVE_SYS_AUXV_H - #include - #endif --#endif - #ifdef __APPLE__ - #include - #include -@@ -997,31 +994,32 @@ Id_EndSuperUser(uid_t uid) // IN: - static Bool - IdIsSetUGid(void) - { --#if defined(__ANDROID__) -- /* Android does not have a secure_getenv, so be conservative. */ -- return TRUE; --#else - /* - * We use __secure_getenv, which returns NULL if the binary is -- * setuid or setgid. Alternatives include, -+ * setuid or setgid, when issetugid or getauxval(AT_SECURE) is not -+ * available. Alternatives include, - * -- * a) getauxval(AT_SECURE); not available until glibc 2.16. -- * b) __libc_enable_secure; may not be exported. -+ * a) issetugid(); not (yet?) available in glibc. -+ * b) getauxval(AT_SECURE); not available until glibc 2.16. -+ * c) __libc_enable_secure; may not be exported. - * -- * Use (a) when we are based on glibc 2.16, or newer. -+ * Use (b) when we are based on glibc 2.16, or newer. - */ - --#if defined(__GLIBC__) && \ -- (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 16)) -+#if HAVE_ISSETUGID -+ return issetugid(); -+#elif HAVE_GETAUXVAL - return getauxval(AT_SECURE) != 0; --#else -+#elif HAVE___SECURE_GETENV - static const char envName[] = "VMW_SETUGID_TEST"; - - if (setenv(envName, "1", TRUE) == -1) { - return TRUE; /* Conservative */ - } - return __secure_getenv(envName) == NULL; --#endif -+#else -+ /* Android does not have a secure_getenv, so be conservative. */ -+ return TRUE; - #endif - } - #endif -diff --git a/open-vm-tools/lib/nicInfo/nicInfoPosix.c b/open-vm-tools/lib/nicInfo/nicInfoPosix.c -index a22981d5..b4e08681 100644 ---- a/open-vm-tools/lib/nicInfo/nicInfoPosix.c -+++ b/open-vm-tools/lib/nicInfo/nicInfoPosix.c -@@ -34,9 +34,13 @@ - #include - #include - #include --#if defined(__FreeBSD__) || defined(__APPLE__) -+#if HAVE_SYS_SYSCTL_H - # include -+#endif -+#if HAVE_IFADDRS_H - # include -+#endif -+#if HAVE_NET_IF_H - # include - #endif - #ifndef NO_DNET diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0006-Use-configure-test-for-sys-stat.h-include.patch b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0006-Use-configure-test-for-sys-stat.h-include.patch deleted file mode 100644 index 9a227f9ec..000000000 --- a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0006-Use-configure-test-for-sys-stat.h-include.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 11adcf43a1e7aa39ee4d82fa567f37e5b0c6ca81 Mon Sep 17 00:00:00 2001 -From: Natanael Copa -Date: Wed, 18 Nov 2015 10:41:01 +0000 -Subject: [PATCH] Use configure test for sys/stat.h include - -This is needed for musl libc. - -Signed-off-by: Natanael Copa ---- - open-vm-tools/services/plugins/vix/vixTools.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/open-vm-tools/services/plugins/vix/vixTools.c b/open-vm-tools/services/plugins/vix/vixTools.c -index e5273786..cabc4137 100644 ---- a/open-vm-tools/services/plugins/vix/vixTools.c -+++ b/open-vm-tools/services/plugins/vix/vixTools.c -@@ -66,7 +66,7 @@ - #include - #endif - --#if defined(sun) || defined(__FreeBSD__) || defined(__APPLE__) -+#ifdef HAVE_SYS_STAT_H - #include - #endif - diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0007-Fix-subdir-objects-configure-error.patch b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0007-Fix-subdir-objects-configure-error.patch deleted file mode 100644 index 11be2d4a0..000000000 --- a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0007-Fix-subdir-objects-configure-error.patch +++ /dev/null @@ -1,24 +0,0 @@ -From cf1284fda8fb22a2b27cb2ce7962f166166e74c3 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Wed, 13 Jun 2018 23:48:04 -0700 -Subject: [PATCH] Fix subdir objects configure error - -Fix build on musl while here - -Signed-off-by: Khem Raj ---- - open-vm-tools/configure.ac | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/open-vm-tools/configure.ac b/open-vm-tools/configure.ac -index 71e684bb..b76a7966 100644 ---- a/open-vm-tools/configure.ac -+++ b/open-vm-tools/configure.ac -@@ -303,6 +303,7 @@ AC_ARG_ENABLE( - [], - [enable_resolutionkms="auto"]) - -+AM_INIT_AUTOMAKE([subdir-objects]) - AM_INIT_AUTOMAKE - - ### diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0008-include-poll.h-instead-of-sys-poll.h.patch b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0008-include-poll.h-instead-of-sys-poll.h.patch deleted file mode 100644 index 814b9e3b2..000000000 --- a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0008-include-poll.h-instead-of-sys-poll.h.patch +++ /dev/null @@ -1,26 +0,0 @@ -From e4f0b99d90e26b15106f634caad1c3dea9e09cb8 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Wed, 13 Jun 2018 23:02:50 -0700 -Subject: [PATCH] include poll.h instead of sys/poll.h - -including sys/poll.h is deprecated - -Signed-off-by: Khem Raj ---- - open-vm-tools/lib/asyncsocket/asyncsocket.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/open-vm-tools/lib/asyncsocket/asyncsocket.c b/open-vm-tools/lib/asyncsocket/asyncsocket.c -index 65b07109..b41aa29d 100644 ---- a/open-vm-tools/lib/asyncsocket/asyncsocket.c -+++ b/open-vm-tools/lib/asyncsocket/asyncsocket.c -@@ -69,8 +69,8 @@ - #else - #include - #include -+#include - #include --#include - #include - #include - #include diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0009-Rename-poll.h-to-vm_poll.h.patch b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0009-Rename-poll.h-to-vm_poll.h.patch deleted file mode 100644 index 9cf54f6f4..000000000 --- a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0009-Rename-poll.h-to-vm_poll.h.patch +++ /dev/null @@ -1,742 +0,0 @@ -From 8793466326dd10b0d2dbb83c64beff5cc8c0fc7d Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Wed, 13 Jun 2018 23:11:58 -0700 -Subject: [PATCH] Rename poll.h to vm_poll.h - -musl libc's system headers pulls in open-vm-tools' poll.h. To avoid this -we rename poll.h to vm_poll.h. - -Signed-off-by: Natanael Copa -Signed-off-by: Khem Raj ---- - open-vm-tools/lib/asyncsocket/asyncsocket.c | 2 +- - open-vm-tools/lib/hgfsServer/hgfsServer.c | 2 +- - open-vm-tools/lib/include/asyncsocket.h | 2 +- - open-vm-tools/lib/include/pollImpl.h | 2 +- - open-vm-tools/lib/include/{poll.h => vm_poll.h} | 2 +- - open-vm-tools/lib/rpcIn/rpcin.c | 2 +- - .../services/plugins/grabbitmqProxy/grabbitmqProxyPlugin.c | 2 +- - 7 files changed, 7 insertions(+), 7 deletions(-) - rename open-vm-tools/lib/include/{poll.h => vm_poll.h} (99%) - ---- a/open-vm-tools/lib/asyncsocket/asyncsocket.c -+++ b/open-vm-tools/lib/asyncsocket/asyncsocket.c -@@ -86,7 +86,7 @@ - #include "random.h" - #include "asyncsocket.h" - #include "asyncSocketBase.h" --#include "poll.h" -+#include "vm_poll.h" - #include "log.h" - #include "err.h" - #include "hostinfo.h" ---- a/open-vm-tools/lib/hgfsServer/hgfsServer.c -+++ b/open-vm-tools/lib/hgfsServer/hgfsServer.c -@@ -48,7 +48,7 @@ - #include "hgfsServerOplock.h" - #include "hgfsDirNotify.h" - #include "userlock.h" --#include "poll.h" -+#include "vm_poll.h" - #include "mutexRankLib.h" - #include "vm_basic_asm.h" - #include "unicodeOperations.h" ---- a/open-vm-tools/lib/include/asyncsocket.h -+++ b/open-vm-tools/lib/include/asyncsocket.h -@@ -164,7 +164,7 @@ typedef struct AsyncSocket AsyncSocket; - * Or the client can specify its favorite poll class and locking behavior. - * Use of IVmdbPoll is only supported for regular sockets and for Attach. - */ --#include "poll.h" -+#include "vm_poll.h" - struct IVmdbPoll; - typedef struct AsyncSocketPollParams { - int flags; /* Default 0, only POLL_FLAG_NO_BULL is valid */ ---- a/open-vm-tools/lib/include/pollImpl.h -+++ b/open-vm-tools/lib/include/pollImpl.h -@@ -44,7 +44,7 @@ - #define INCLUDE_ALLOW_USERLEVEL - #include "includeCheck.h" - --#include "poll.h" -+#include "vm_poll.h" - #include "vm_basic_asm.h" - - #if defined(__cplusplus) ---- a/open-vm-tools/lib/include/poll.h -+++ /dev/null -@@ -1,330 +0,0 @@ --/********************************************************* -- * Copyright (C) 1998-2018 VMware, Inc. All rights reserved. -- * -- * This program is free software; you can redistribute it and/or modify it -- * under the terms of the GNU Lesser General Public License as published -- * by the Free Software Foundation version 2.1 and no later version. -- * -- * This program is distributed in the hope that it will be useful, but -- * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -- * or FITNESS FOR A PARTICULAR PURPOSE. See the Lesser GNU General Public -- * License for more details. -- * -- * You should have received a copy of the GNU Lesser General Public License -- * along with this program; if not, write to the Free Software Foundation, Inc., -- * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -- * -- *********************************************************/ -- --/********************************************************* -- * The contents of this file are subject to the terms of the Common -- * Development and Distribution License (the "License") version 1.0 -- * and no later version. You may not use this file except in -- * compliance with the License. -- * -- * You can obtain a copy of the License at -- * http://www.opensource.org/licenses/cddl1.php -- * -- * See the License for the specific language governing permissions -- * and limitations under the License. -- * -- *********************************************************/ -- -- --#ifndef _POLL_H_ --#define _POLL_H_ -- --#define INCLUDE_ALLOW_USERLEVEL --#define INCLUDE_ALLOW_VMCORE --#include "includeCheck.h" -- --#include "vm_basic_types.h" --#include "vm_basic_defs.h" --#include "vmware.h" --#include "userlock.h" -- --#if defined(__cplusplus) --extern "C" { --#endif -- --#ifdef _WIN32 --#define HZ 100 --#elif defined linux --#include --#elif __APPLE__ --#include --/* -- * Old SDKs don't define TARGET_OS_IPHONE at all. -- * New ones define it to 0 on Mac OS X, 1 on iOS. -- */ --#if !defined(TARGET_OS_IPHONE) || TARGET_OS_IPHONE == 0 --#include --#endif --#include --#define HZ 100 --#endif --#ifdef __ANDROID__ --/* -- * of android should be included, but its name is same -- * with this file. So its content is put here to avoid conflict. -- */ --#include --#define HZ 100 --typedef unsigned int nfds_t; --int poll(struct pollfd *, nfds_t, long); --#endif -- -- --/* -- * Poll event types: each type has a different reason for firing, -- * or condition that must be met before firing. -- */ -- --typedef enum { -- /* -- * Actual Poll queue types against which you can register callbacks. -- */ -- POLL_VIRTUALREALTIME = -1, /* Negative because it doesn't have its own Q */ -- POLL_VTIME = 0, -- POLL_REALTIME, -- POLL_DEVICE, -- POLL_MAIN_LOOP, -- POLL_NUM_QUEUES --} PollEventType; -- -- --/* -- * Classes of events -- * -- * These are the predefined classes. More can be declared -- * with Poll_AllocClass(). -- */ -- --typedef enum PollClass { -- POLL_CLASS_MAIN, -- POLL_CLASS_PAUSE, -- POLL_CLASS_IPC, -- POLL_CLASS_CPT, -- POLL_CLASS_MKS, -- POLL_FIXED_CLASSES, -- POLL_DEFAULT_FIXED_CLASSES, -- /* Size enum to maximum */ -- POLL_MAX_CLASSES = 31, --} PollClass; -- --/* -- * Do not use; Special pseudo private poll class supported by -- * PollDefault only -- */ --#define POLL_DEFAULT_CLASS_NET POLL_FIXED_CLASSES --#define POLL_DEFAULT_CS_NET PollClassSet_Singleton(POLL_DEFAULT_CLASS_NET) -- --/* -- * Each callback is registered in a set of classes -- */ -- --typedef struct PollClassSet { -- uintptr_t bits; --} PollClassSet; -- --/* An empty PollClassSet. */ --static INLINE PollClassSet --PollClassSet_Empty(void) --{ -- PollClassSet set = { 0 }; -- return set; --} -- --/* A PollClassSet with the single member. */ --static INLINE PollClassSet --PollClassSet_Singleton(PollClass c) --{ -- PollClassSet s = PollClassSet_Empty(); -- -- ASSERT_ON_COMPILE(POLL_MAX_CLASSES < sizeof s.bits * 8); -- ASSERT(c < POLL_MAX_CLASSES); -- -- s.bits = CONST3264U(1) << c; -- return s; --} -- --/* Combine two PollClassSets. */ --static INLINE PollClassSet --PollClassSet_Union(PollClassSet lhs, PollClassSet rhs) --{ -- PollClassSet set; -- set.bits = lhs.bits | rhs.bits; -- return set; --} -- --/* Add single class to PollClassSet. */ --static INLINE PollClassSet --PollClassSet_Include(PollClassSet set, PollClass c) --{ -- return PollClassSet_Union(set, PollClassSet_Singleton(c)); --} -- -- --#define POLL_CS_MAIN PollClassSet_Singleton(POLL_CLASS_MAIN) --#define POLL_CS_PAUSE PollClassSet_Union(POLL_CS_MAIN, \ -- PollClassSet_Singleton(POLL_CLASS_PAUSE)) --#define POLL_CS_CPT PollClassSet_Union(POLL_CS_PAUSE, \ -- PollClassSet_Singleton(POLL_CLASS_CPT)) --#define POLL_CS_IPC PollClassSet_Union(POLL_CS_CPT, \ -- PollClassSet_Singleton(POLL_CLASS_IPC)) --#define POLL_CS_VMDB POLL_CS_PAUSE /* POLL_CLASS_VMDB is retired */ --#define POLL_CS_MKS PollClassSet_Singleton(POLL_CLASS_MKS) --/* -- * DANGER. You don't need POLL_CS_ALWAYS. Really. So don't use it. -- */ --#define POLL_CS_ALWAYS PollClassSet_Union(POLL_CS_CPT, POLL_CS_IPC) -- --/* -- * Poll class-set taxonomy: -- * POLL_CS_MAIN -- * - Unless you NEED another class, use POLL_CS_MAIN. -- * POLL_CS_PAUSE -- * - For callbacks that must occur even if the guest is paused. -- * Most VMDB or Foundry commands are in this category. -- * POLL_CS_CPT -- * - Only for callbacks which can trigger intermediate Checkpoint -- * transitions. -- * The ONLY such callback is Migrate. -- * POLL_CS_IPC -- * - Only for callbacks which can contain Msg_(Post|Hint|Question) -- * responses, and for signal handlers (why)? -- * Vigor, VMDB, and Foundry can contain Msg_* responses. -- * POLL_CS_MKS -- * - Callback runs in MKS thread. -- * POLL_CS_ALWAYS -- * - Only for events that must be processed immediately. -- * The ONLY such callback is OvhdMemVmxSizeCheck. -- */ -- -- --/* -- * Poll_Callback flags -- */ -- --#define POLL_FLAG_PERIODIC 0x01 // keep after firing --#define POLL_FLAG_REMOVE_AT_POWEROFF 0x02 // self-explanatory --#define POLL_FLAG_READ 0x04 // device is ready for reading --#define POLL_FLAG_WRITE 0x08 // device is ready for writing --#define POLL_FLAG_SOCKET 0x10 // device is a Windows socket --#define POLL_FLAG_NO_BULL 0x20 // callback does its own locking --#define POLL_FLAG_WINSOCK 0x40 // Winsock style write events --#define POLL_FLAG_FD 0x80 // device is a Windows file descriptor. --#define POLL_FLAG_ACCEPT_INVALID_FDS 0x100 // For broken 3rd party libs, e.g. curl --#define POLL_FLAG_THUNK_TO_WND 0x200 // thunk callback to window message loop -- -- --typedef void (*PollerFunction)(void *clientData); --typedef void (*PollerFireWrapper)(PollerFunction func, -- void *funcData, -- void *wrapperData); --typedef Bool (*PollerErrorFn)(const char *errorStr); -- --/* -- * Initialisers: -- * -- * For the sake of convenience, we declare the initialisers -- * for custom implmentations here, even though the actual -- * implementations are distinct from the core poll code. -- */ -- --typedef struct PollOptions { -- Bool locked; // Use internal MXUser for locking -- Bool allowFullQueue; // Don't assert when device event queue is full. -- VThreadID windowsMsgThread; // thread that processes Windows messages -- PollerFireWrapper fireWrapperFn; // optional; may be useful for stats -- void *fireWrapperData; // optional -- PollerErrorFn errorFn; // optional; called upon unrecoverable error --} PollOptions; -- -- --void Poll_InitDefault(void); --void Poll_InitDefaultEx(const PollOptions *opts); --void Poll_InitGtk(void); // On top of glib for Linux --void Poll_InitCF(void); // On top of CoreFoundation for OSX -- -- --/* -- * Functions -- */ --int Poll_SocketPair(Bool vmci, Bool stream, int fds[2]); --void Poll_Loop(Bool loop, Bool *exit, PollClass c); --void Poll_LoopTimeout(Bool loop, Bool *exit, PollClass c, int timeout); --Bool Poll_LockingEnabled(void); --void Poll_Exit(void); -- -- --/* -- * Poll_Callback adds a callback regardless of whether an identical one exists. -- * The exception to this rule is POLL_DEVICE callbacks: there is a maximum of -- * one read and one write callback per fd. -- * -- * Poll_CallbackRemove removes one callback. If there are multiple identical -- * callbacks, which one is removed is an implementation detail. Note that in -- * the case of POLL_DEVICE and POLL_REALTIME callbacks, the fd/delay used to -- * create the callback is not specified when removing, so all callbacks -- * of those types with the same flags, function, and clientData are considered -- * "identical" even if their fd/delay differed. -- */ -- --VMwareStatus Poll_Callback(PollClassSet classSet, -- int flags, -- PollerFunction f, -- void *clientData, -- PollEventType type, -- PollDevHandle info, // fd/microsec delay -- MXUserRecLock *lck); --Bool Poll_CallbackRemove(PollClassSet classSet, -- int flags, -- PollerFunction f, -- void *clientData, -- PollEventType type); --Bool Poll_CallbackRemoveOneByCB(PollClassSet classSet, -- int flags, -- PollerFunction f, -- PollEventType type, -- void **clientData); -- --void Poll_NotifyChange(PollClassSet classSet); -- --/* -- * Wrappers for Poll_Callback and Poll_CallbackRemove that present -- * simpler subsets of those interfaces. -- */ -- --VMwareStatus Poll_CB_Device(PollerFunction f, -- void *clientData, -- PollDevHandle device, -- Bool periodic); -- --Bool Poll_CB_DeviceRemove(PollerFunction f, -- void *clientData, -- Bool periodic); -- -- --VMwareStatus Poll_CB_RTime(PollerFunction f, -- void *clientData, -- int64 delay, // microseconds -- Bool periodic, -- MXUserRecLock *lock); -- --Bool Poll_CB_RTimeRemove(PollerFunction f, -- void *clientData, -- Bool periodic); -- -- --#ifdef _WIN32 --void Poll_SetPumpsWindowsMessages(Bool pumps); --void Poll_SetWindowMessageRecipient(HWND hWnd, UINT msg, Bool alwaysThunk); --Bool Poll_FireWndCallback(void *lparam); --#endif -- --#if defined(__cplusplus) --} // extern "C" --#endif -- --#endif // _POLL_H_ ---- /dev/null -+++ b/open-vm-tools/lib/include/vm_poll.h -@@ -0,0 +1,330 @@ -+/********************************************************* -+ * Copyright (C) 1998-2018 VMware, Inc. All rights reserved. -+ * -+ * This program is free software; you can redistribute it and/or modify it -+ * under the terms of the GNU Lesser General Public License as published -+ * by the Free Software Foundation version 2.1 and no later version. -+ * -+ * This program is distributed in the hope that it will be useful, but -+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -+ * or FITNESS FOR A PARTICULAR PURPOSE. See the Lesser GNU General Public -+ * License for more details. -+ * -+ * You should have received a copy of the GNU Lesser General Public License -+ * along with this program; if not, write to the Free Software Foundation, Inc., -+ * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -+ * -+ *********************************************************/ -+ -+/********************************************************* -+ * The contents of this file are subject to the terms of the Common -+ * Development and Distribution License (the "License") version 1.0 -+ * and no later version. You may not use this file except in -+ * compliance with the License. -+ * -+ * You can obtain a copy of the License at -+ * http://www.opensource.org/licenses/cddl1.php -+ * -+ * See the License for the specific language governing permissions -+ * and limitations under the License. -+ * -+ *********************************************************/ -+ -+ -+#ifndef _POLL_H_ -+#define _POLL_H_ -+ -+#define INCLUDE_ALLOW_USERLEVEL -+#define INCLUDE_ALLOW_VMCORE -+#include "includeCheck.h" -+ -+#include "vm_basic_types.h" -+#include "vm_basic_defs.h" -+#include "vmware.h" -+#include "userlock.h" -+ -+#if defined(__cplusplus) -+extern "C" { -+#endif -+ -+#ifdef _WIN32 -+#define HZ 100 -+#elif defined linux -+#include -+#elif __APPLE__ -+#include -+/* -+ * Old SDKs don't define TARGET_OS_IPHONE at all. -+ * New ones define it to 0 on Mac OS X, 1 on iOS. -+ */ -+#if !defined(TARGET_OS_IPHONE) || TARGET_OS_IPHONE == 0 -+#include -+#endif -+#include -+#define HZ 100 -+#endif -+#ifdef __ANDROID__ -+/* -+ * of android should be included, but its name is same -+ * with this file. So its content is put here to avoid conflict. -+ */ -+#include -+#define HZ 100 -+typedef unsigned int nfds_t; -+int poll(struct pollfd *, nfds_t, long); -+#endif -+ -+ -+/* -+ * Poll event types: each type has a different reason for firing, -+ * or condition that must be met before firing. -+ */ -+ -+typedef enum { -+ /* -+ * Actual Poll queue types against which you can register callbacks. -+ */ -+ POLL_VIRTUALREALTIME = -1, /* Negative because it doesn't have its own Q */ -+ POLL_VTIME = 0, -+ POLL_REALTIME, -+ POLL_DEVICE, -+ POLL_MAIN_LOOP, -+ POLL_NUM_QUEUES -+} PollEventType; -+ -+ -+/* -+ * Classes of events -+ * -+ * These are the predefined classes. More can be declared -+ * with Poll_AllocClass(). -+ */ -+ -+typedef enum PollClass { -+ POLL_CLASS_MAIN, -+ POLL_CLASS_PAUSE, -+ POLL_CLASS_IPC, -+ POLL_CLASS_CPT, -+ POLL_CLASS_MKS, -+ POLL_FIXED_CLASSES, -+ POLL_DEFAULT_FIXED_CLASSES, -+ /* Size enum to maximum */ -+ POLL_MAX_CLASSES = 31, -+} PollClass; -+ -+/* -+ * Do not use; Special pseudo private poll class supported by -+ * PollDefault only -+ */ -+#define POLL_DEFAULT_CLASS_NET POLL_FIXED_CLASSES -+#define POLL_DEFAULT_CS_NET PollClassSet_Singleton(POLL_DEFAULT_CLASS_NET) -+ -+/* -+ * Each callback is registered in a set of classes -+ */ -+ -+typedef struct PollClassSet { -+ uintptr_t bits; -+} PollClassSet; -+ -+/* An empty PollClassSet. */ -+static INLINE PollClassSet -+PollClassSet_Empty(void) -+{ -+ PollClassSet set = { 0 }; -+ return set; -+} -+ -+/* A PollClassSet with the single member. */ -+static INLINE PollClassSet -+PollClassSet_Singleton(PollClass c) -+{ -+ PollClassSet s = PollClassSet_Empty(); -+ -+ ASSERT_ON_COMPILE(POLL_MAX_CLASSES < sizeof s.bits * 8); -+ ASSERT(c < POLL_MAX_CLASSES); -+ -+ s.bits = CONST3264U(1) << c; -+ return s; -+} -+ -+/* Combine two PollClassSets. */ -+static INLINE PollClassSet -+PollClassSet_Union(PollClassSet lhs, PollClassSet rhs) -+{ -+ PollClassSet set; -+ set.bits = lhs.bits | rhs.bits; -+ return set; -+} -+ -+/* Add single class to PollClassSet. */ -+static INLINE PollClassSet -+PollClassSet_Include(PollClassSet set, PollClass c) -+{ -+ return PollClassSet_Union(set, PollClassSet_Singleton(c)); -+} -+ -+ -+#define POLL_CS_MAIN PollClassSet_Singleton(POLL_CLASS_MAIN) -+#define POLL_CS_PAUSE PollClassSet_Union(POLL_CS_MAIN, \ -+ PollClassSet_Singleton(POLL_CLASS_PAUSE)) -+#define POLL_CS_CPT PollClassSet_Union(POLL_CS_PAUSE, \ -+ PollClassSet_Singleton(POLL_CLASS_CPT)) -+#define POLL_CS_IPC PollClassSet_Union(POLL_CS_CPT, \ -+ PollClassSet_Singleton(POLL_CLASS_IPC)) -+#define POLL_CS_VMDB POLL_CS_PAUSE /* POLL_CLASS_VMDB is retired */ -+#define POLL_CS_MKS PollClassSet_Singleton(POLL_CLASS_MKS) -+/* -+ * DANGER. You don't need POLL_CS_ALWAYS. Really. So don't use it. -+ */ -+#define POLL_CS_ALWAYS PollClassSet_Union(POLL_CS_CPT, POLL_CS_IPC) -+ -+/* -+ * Poll class-set taxonomy: -+ * POLL_CS_MAIN -+ * - Unless you NEED another class, use POLL_CS_MAIN. -+ * POLL_CS_PAUSE -+ * - For callbacks that must occur even if the guest is paused. -+ * Most VMDB or Foundry commands are in this category. -+ * POLL_CS_CPT -+ * - Only for callbacks which can trigger intermediate Checkpoint -+ * transitions. -+ * The ONLY such callback is Migrate. -+ * POLL_CS_IPC -+ * - Only for callbacks which can contain Msg_(Post|Hint|Question) -+ * responses, and for signal handlers (why)? -+ * Vigor, VMDB, and Foundry can contain Msg_* responses. -+ * POLL_CS_MKS -+ * - Callback runs in MKS thread. -+ * POLL_CS_ALWAYS -+ * - Only for events that must be processed immediately. -+ * The ONLY such callback is OvhdMemVmxSizeCheck. -+ */ -+ -+ -+/* -+ * Poll_Callback flags -+ */ -+ -+#define POLL_FLAG_PERIODIC 0x01 // keep after firing -+#define POLL_FLAG_REMOVE_AT_POWEROFF 0x02 // self-explanatory -+#define POLL_FLAG_READ 0x04 // device is ready for reading -+#define POLL_FLAG_WRITE 0x08 // device is ready for writing -+#define POLL_FLAG_SOCKET 0x10 // device is a Windows socket -+#define POLL_FLAG_NO_BULL 0x20 // callback does its own locking -+#define POLL_FLAG_WINSOCK 0x40 // Winsock style write events -+#define POLL_FLAG_FD 0x80 // device is a Windows file descriptor. -+#define POLL_FLAG_ACCEPT_INVALID_FDS 0x100 // For broken 3rd party libs, e.g. curl -+#define POLL_FLAG_THUNK_TO_WND 0x200 // thunk callback to window message loop -+ -+ -+typedef void (*PollerFunction)(void *clientData); -+typedef void (*PollerFireWrapper)(PollerFunction func, -+ void *funcData, -+ void *wrapperData); -+typedef Bool (*PollerErrorFn)(const char *errorStr); -+ -+/* -+ * Initialisers: -+ * -+ * For the sake of convenience, we declare the initialisers -+ * for custom implmentations here, even though the actual -+ * implementations are distinct from the core poll code. -+ */ -+ -+typedef struct PollOptions { -+ Bool locked; // Use internal MXUser for locking -+ Bool allowFullQueue; // Don't assert when device event queue is full. -+ VThreadID windowsMsgThread; // thread that processes Windows messages -+ PollerFireWrapper fireWrapperFn; // optional; may be useful for stats -+ void *fireWrapperData; // optional -+ PollerErrorFn errorFn; // optional; called upon unrecoverable error -+} PollOptions; -+ -+ -+void Poll_InitDefault(void); -+void Poll_InitDefaultEx(const PollOptions *opts); -+void Poll_InitGtk(void); // On top of glib for Linux -+void Poll_InitCF(void); // On top of CoreFoundation for OSX -+ -+ -+/* -+ * Functions -+ */ -+int Poll_SocketPair(Bool vmci, Bool stream, int fds[2]); -+void Poll_Loop(Bool loop, Bool *exit, PollClass c); -+void Poll_LoopTimeout(Bool loop, Bool *exit, PollClass c, int timeout); -+Bool Poll_LockingEnabled(void); -+void Poll_Exit(void); -+ -+ -+/* -+ * Poll_Callback adds a callback regardless of whether an identical one exists. -+ * The exception to this rule is POLL_DEVICE callbacks: there is a maximum of -+ * one read and one write callback per fd. -+ * -+ * Poll_CallbackRemove removes one callback. If there are multiple identical -+ * callbacks, which one is removed is an implementation detail. Note that in -+ * the case of POLL_DEVICE and POLL_REALTIME callbacks, the fd/delay used to -+ * create the callback is not specified when removing, so all callbacks -+ * of those types with the same flags, function, and clientData are considered -+ * "identical" even if their fd/delay differed. -+ */ -+ -+VMwareStatus Poll_Callback(PollClassSet classSet, -+ int flags, -+ PollerFunction f, -+ void *clientData, -+ PollEventType type, -+ PollDevHandle info, // fd/microsec delay -+ MXUserRecLock *lck); -+Bool Poll_CallbackRemove(PollClassSet classSet, -+ int flags, -+ PollerFunction f, -+ void *clientData, -+ PollEventType type); -+Bool Poll_CallbackRemoveOneByCB(PollClassSet classSet, -+ int flags, -+ PollerFunction f, -+ PollEventType type, -+ void **clientData); -+ -+void Poll_NotifyChange(PollClassSet classSet); -+ -+/* -+ * Wrappers for Poll_Callback and Poll_CallbackRemove that present -+ * simpler subsets of those interfaces. -+ */ -+ -+VMwareStatus Poll_CB_Device(PollerFunction f, -+ void *clientData, -+ PollDevHandle device, -+ Bool periodic); -+ -+Bool Poll_CB_DeviceRemove(PollerFunction f, -+ void *clientData, -+ Bool periodic); -+ -+ -+VMwareStatus Poll_CB_RTime(PollerFunction f, -+ void *clientData, -+ int64 delay, // microseconds -+ Bool periodic, -+ MXUserRecLock *lock); -+ -+Bool Poll_CB_RTimeRemove(PollerFunction f, -+ void *clientData, -+ Bool periodic); -+ -+ -+#ifdef _WIN32 -+void Poll_SetPumpsWindowsMessages(Bool pumps); -+void Poll_SetWindowMessageRecipient(HWND hWnd, UINT msg, Bool alwaysThunk); -+Bool Poll_FireWndCallback(void *lparam); -+#endif -+ -+#if defined(__cplusplus) -+} // extern "C" -+#endif -+ -+#endif // _POLL_H_ ---- a/open-vm-tools/lib/rpcIn/rpcin.c -+++ b/open-vm-tools/lib/rpcIn/rpcin.c -@@ -57,7 +57,7 @@ - - #if defined(VMTOOLS_USE_VSOCKET) - # include --# include "poll.h" -+# include "vm_poll.h" - # include "asyncsocket.h" - # include "vmci_defs.h" - #include "dataMap.h" diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0010-use-posix-strerror_r-unless-on-gnu-libc-system.patch b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0010-use-posix-strerror_r-unless-on-gnu-libc-system.patch deleted file mode 100644 index 784b4fc6c..000000000 --- a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0010-use-posix-strerror_r-unless-on-gnu-libc-system.patch +++ /dev/null @@ -1,39 +0,0 @@ -From e86a259e1ce19c70ecfdece69ab53a07c63a34e1 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Wed, 13 Jun 2018 23:16:53 -0700 -Subject: [PATCH] use posix strerror_r unless on gnu libc system - -Signed-off-by: Khem Raj ---- - open-vm-tools/lib/err/errPosix.c | 9 ++++++--- - 1 file changed, 6 insertions(+), 3 deletions(-) - -diff --git a/open-vm-tools/lib/err/errPosix.c b/open-vm-tools/lib/err/errPosix.c -index c81b4c13..7a403640 100644 ---- a/open-vm-tools/lib/err/errPosix.c -+++ b/open-vm-tools/lib/err/errPosix.c -@@ -31,6 +31,7 @@ - #include - #include - #include -+#include - - #include "vmware.h" - #include "errInt.h" -@@ -63,11 +64,13 @@ ErrErrno2String(Err_Number errorNumber, // IN - { - char *p; - --#if defined(__linux__) && !defined(__ANDROID__) -+#if defined(__GLIBC__) && !defined(__ANDROID__) - p = strerror_r(errorNumber, buf, bufSize); - #else -- p = strerror(errorNumber); --#endif -+ if (strerror_r(errorNumber, buf, bufSize) != 0) -+ snprintf(buf, bufSize, "unknown error %i", errorNumber); -+ p = buf; -+#endif /* defined __GLIBC__ */ - ASSERT(p != NULL); - return p; - } diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0011-Use-uintmax_t-for-handling-rlim_t.patch b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0011-Use-uintmax_t-for-handling-rlim_t.patch deleted file mode 100644 index 0a1d00873..000000000 --- a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0011-Use-uintmax_t-for-handling-rlim_t.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 18eea61a7a768c6c3b57c6683c7bef7049f0f6ab Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Wed, 13 Jun 2018 23:37:09 -0700 -Subject: [PATCH] Use uintmax_t for handling rlim_t - -rlimit types are not representable with long or long long -formats, therefore use uintmax_t to typecast rlim_t types -and use %j to print it - -Signed-off-by: Khem Raj ---- - open-vm-tools/lib/hgfsServer/hgfsServerLinux.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c b/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c -index 0e6351a9..a2ee1740 100644 ---- a/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c -+++ b/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c -@@ -5294,8 +5294,8 @@ HgfsWriteCheckIORange(off_t offset, // IN: - goto exit; - } - -- LOG(6, ("%s: File Size limits: 0x%"FMT64"x 0x%"FMT64"x\n", -- __FUNCTION__, fileSize.rlim_cur, fileSize.rlim_max)); -+ LOG(6, ("%s: File Size limits: 0x%jx 0x%jx\n", -+ __FUNCTION__, (uintmax_t)fileSize.rlim_cur, (uintmax_t)fileSize.rlim_max)); - - /* - * Check the offset is within the file size range. diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0012-Use-off64_t-instead-of-__off64_t.patch b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0012-Use-off64_t-instead-of-__off64_t.patch deleted file mode 100644 index d69b74e23..000000000 --- a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0012-Use-off64_t-instead-of-__off64_t.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 123c690f12f560022305b0cf19499e7f81a690ae Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Mon, 27 Aug 2018 23:22:21 -0700 -Subject: [PATCH] Use off64_t instead of __off64_t - -Fixes -unknown type name '__off64_t' - -Upstream-Status: Pending -Signed-off-by: Khem Raj ---- - open-vm-tools/lib/file/fileIOPosix.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/open-vm-tools/lib/file/fileIOPosix.c b/open-vm-tools/lib/file/fileIOPosix.c -index 23108279..bcd2ddc5 100644 ---- a/open-vm-tools/lib/file/fileIOPosix.c -+++ b/open-vm-tools/lib/file/fileIOPosix.c -@@ -206,10 +206,10 @@ static AlignedPool alignedPool; - * the symbols (and anyone building XOPEN<700 gets nothing). - */ - extern ssize_t preadv64(int fd, const struct iovec *iov, int iovcnt, -- __off64_t offset) __attribute__ ((weak)); -+ off64_t offset) __attribute__ ((weak)); - - extern ssize_t pwritev64(int fd, const struct iovec *iov, int iovcnt, -- __off64_t offset) __attribute__ ((weak)); -+ off64_t offset) __attribute__ ((weak)); - #else - #error "Large file support unavailable. Aborting." - #endif diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0013-misc-Do-not-print-NULL-string-into-logs.patch b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0013-misc-Do-not-print-NULL-string-into-logs.patch deleted file mode 100644 index 3e4753b2a..000000000 --- a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0013-misc-Do-not-print-NULL-string-into-logs.patch +++ /dev/null @@ -1,27 +0,0 @@ -From cfc6839362bd96bf2f42954160f16a60bf1de377 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Sat, 22 Dec 2018 19:59:02 -0800 -Subject: [PATCH] misc: Do not print NULL string into logs - -string format %s is getting a NULL pointer for 'expand' -parameter always since the check for chunks[i] == NULL will ensure that -its always null when the Log() API is called - -Upstream-Status: Submitted [https://github.com/vmware/open-vm-tools/pull/312] - -Signed-off-by: Khem Raj ---- - open-vm-tools/lib/misc/util_misc.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - ---- a/open-vm-tools/lib/misc/util_misc.c -+++ b/open-vm-tools/lib/misc/util_misc.c -@@ -719,7 +719,7 @@ Util_ExpandString(const char *fileName) - ASSERT(!freeChunk[i]); - chunks[i] = expand; - if (chunks[i] == NULL) { -- Log("%s: Cannot allocate memory to expand $ in \"%s\".\n", -+ Log("%s: Cannot allocate memory to expand in \"%s\".\n", - __FUNCTION__, fileName); - goto out; - } diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/tools.conf b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/tools.conf deleted file mode 100644 index f6cae70cc..000000000 --- a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/tools.conf +++ /dev/null @@ -1,2 +0,0 @@ -[guestinfo] -disable-perf-mon=1 diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/vmtoolsd.init b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/vmtoolsd.init deleted file mode 100644 index 38280464a..000000000 --- a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/vmtoolsd.init +++ /dev/null @@ -1,66 +0,0 @@ -#!/bin/sh -# -# vmtoolsd Start/stop the vmware tools daemon -# -# chkconfig: 2345 90 60 -# description: vmtoolsd is a daemon that starts up. for some reason, it -# doesn't include a sysv init startup file in the latest release. -# so i have to write this -# - -### BEGIN INIT INFO -# Provides: vmtoolsd -# Required-Start: $local_fs $syslog -# Required-Stop: $local_fs $syslog -# Default-Start: 2345 -# Default-Stop: 90 -# Short-Description: Run vmware tools daemon -### END INIT INFO - -PATH=/sbin:/bin:/usr/sbin:/usr/bin -DAEMON=/usr/bin/vmtoolsd -NAME=vmtoolsd -DESC="vmware tools daemon" -VMTOOLSDARGS=" -b /var/run/vmtoolsd.pid " -RETVAL="1" - -# source function library -. /etc/init.d/functions - -test -f $DAEMON || exit 0 - - -case "$1" in - start) - echo -n "Starting vmware tools daemon: " - start-stop-daemon --start --quiet --exec $DAEMON -- $VMTOOLSDARGS - RETVAL=$? - if [ $RETVAL -eq 0 ] ; then - echo "OK" - else - echo "FAIL" - fi - ;; - stop) - echo -n "Stopping vmware tools daemon: " - start-stop-daemon --stop --quiet --pidfile /var/run/vmtoolsd.pid - RETVAL=$? - if [ $RETVAL -eq 0 ] ; then - echo "OK" - else - echo "FAIL" - fi - ;; - status) - status vmtoolsd - exit $? - ;; - restart) - $0 stop && sleep 1 && $0 start - ;; - *) - echo "Usage: /etc/init.d/vmtoolsd {start|stop|status|restart}" - exit 1 -esac - -exit $RETVAL diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/vmtoolsd.service b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/vmtoolsd.service deleted file mode 100644 index d30e38055..000000000 --- a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/vmtoolsd.service +++ /dev/null @@ -1,11 +0,0 @@ -[Unit] -Description=Open Virtual Machine Tools (VMware Tools) -ConditionVirtualization=vmware - -[Service] -ExecStart=/usr/bin/vmtoolsd -Restart=on-failure -KillSignal=SIGKILL - -[Install] -WantedBy=multi-user.target diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools_11.0.1.bb b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools_11.0.1.bb deleted file mode 100644 index 34a81d21f..000000000 --- a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools_11.0.1.bb +++ /dev/null @@ -1,116 +0,0 @@ -# This recipe is modified from the recipe originally found in the Open-Switch -# repository: -# -# https://github.com/open-switch/ops-build -# yocto/openswitch/meta-foss-openswitch/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.0.5.bb -# Commit 9008de2d8e100f3f868c66765742bca9fa98f3f9 -# -# The recipe packaging has been relicensed under the MIT license for inclusion -# in meta-openembedded by agreement of the author (Diego Dompe). -# - -SUMMARY = "Tools to enhance VMWare guest integration and performance" -HOMEPAGE = "https://github.com/vmware/open-vm-tools" -SECTION = "vmware-tools" - -LICENSE = "LGPL-2.0 & GPL-2.0 & BSD & CDDL-1.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=559317809c5444fb39ceaf6ac45c43ac" -LICENSE_modules/freebsd/vmblock = "BSD" -LICENSE_modules/freebsd/vmmemctl = "GPL-2.0" -LICENSE_modules/freebsd/vmxnet = "GPL-2.0" -LICENSE_modules/linux = "GPL-2.0" -LICENSE_modules/solaris = "CDDL-1.0" - -SRC_URI = "git://github.com/vmware/open-vm-tools.git;protocol=https \ - file://tools.conf \ - file://vmtoolsd.service \ - file://vmtoolsd.init \ - file://0001-configure.ac-don-t-use-dnet-config.patch;patchdir=.. \ - file://0002-add-include-sys-sysmacros.h.patch;patchdir=.. \ - file://0003-Use-configure-test-for-struct-timespec.patch;patchdir=.. \ - file://0004-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch;patchdir=.. \ - file://0005-Use-configure-to-test-for-feature-instead-of-platfor.patch;patchdir=.. \ - file://0006-Use-configure-test-for-sys-stat.h-include.patch;patchdir=.. \ - file://0007-Fix-subdir-objects-configure-error.patch;patchdir=.. \ - file://0008-include-poll.h-instead-of-sys-poll.h.patch;patchdir=.. \ - file://0009-Rename-poll.h-to-vm_poll.h.patch;patchdir=.. \ - file://0010-use-posix-strerror_r-unless-on-gnu-libc-system.patch;patchdir=.. \ - file://0011-Use-uintmax_t-for-handling-rlim_t.patch;patchdir=.. \ - file://0012-Use-off64_t-instead-of-__off64_t.patch;patchdir=.. \ - file://0013-misc-Do-not-print-NULL-string-into-logs.patch;patchdir=.. \ - file://0001-GitHub-Issue-367.-Remove-references-to-deprecated-G_.patch;patchdir=.. \ - file://0001-Make-HgfsConvertFromNtTimeNsec-aware-of-64-bit-time_.patch;patchdir=.. \ - file://0002-hgfsServerLinux-Consider-64bit-time_t-possibility.patch;patchdir=.. \ - file://0001-utilBacktrace-Ignore-Warray-bounds.patch;patchdir=.. \ - file://0001-hgfsmounter-Makefile.am-support-usrmerge.patch;patchdir=.. \ -" - -SRCREV = "d3edfd142a81096f9f58aff17d84219b457f4987" - -S = "${WORKDIR}/git/open-vm-tools" - -DEPENDS = "glib-2.0 glib-2.0-native util-linux libdnet procps libtirpc" - -# open-vm-tools is supported only on x86. -COMPATIBLE_HOST = '(x86_64.*|i.86.*)-linux' - -inherit autotools pkgconfig systemd update-rc.d - -SYSTEMD_SERVICE_${PN} = "vmtoolsd.service" - -EXTRA_OECONF = "--without-icu --disable-multimon --disable-docs \ - --disable-tests --without-gtkmm --without-xerces --without-pam \ - --disable-vgauth --disable-deploypkg \ - --without-root-privileges --without-kernel-modules --with-tirpc \ - --with-udev-rules-dir=${nonarch_base_libdir}/udev/rules.d" - -NO_X11_FLAGS = "--without-x --without-gtk2 --without-gtk3" -X11_DEPENDS = "libxext libxi libxrender libxrandr libxtst gtk+ gdk-pixbuf" -PACKAGECONFIG[x11] = ",${NO_X11_FLAGS},${X11_DEPENDS}" - -# fuse gets implicitly detected; there is no --without-fuse option. -PACKAGECONFIG[fuse] = ",,fuse" - -CFLAGS_append_toolchain-clang = " -Wno-address-of-packed-member" -FILES_${PN} += "\ - ${libdir}/open-vm-tools/plugins/vmsvc/lib*.so \ - ${libdir}/open-vm-tools/plugins/common/lib*.so \ - ${sysconfdir}/vmware-tools/tools.conf \ -" -FILES_${PN}-locale += "${datadir}/open-vm-tools/messages" -FILES_${PN}-dev += "${libdir}/open-vm-tools/plugins/common/lib*.la" - -CONFFILES_${PN} += "${sysconfdir}/vmware-tools/tools.conf" - -RDEPENDS_${PN} = "util-linux libdnet fuse" - -do_install_append() { - if ! ${@bb.utils.contains('DISTRO_FEATURES','usrmerge','true','false',d)}; then - install -d ${D}/sbin - ln -sf ${sbindir}/mount.vmhgfs ${D}/sbin/mount.vmhgfs - fi - install -d ${D}${sysconfdir}/vmware-tools - if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then - install -d ${D}${systemd_unitdir}/system - install -m 644 ${WORKDIR}/*.service ${D}${systemd_unitdir}/system - else - install -d ${D}${sysconfdir}/init.d - install -m 0755 ${WORKDIR}/vmtoolsd.init ${D}${sysconfdir}/init.d/vmtoolsd - fi - install -m 0644 ${WORKDIR}/tools.conf ${D}${sysconfdir}/vmware-tools/tools.conf -} - -do_configure_prepend() { - export CUSTOM_DNET_NAME=dnet - export CUSTOM_DNET_LIBS=-L${STAGING_LIBDIR}/libdnet.so -} - -INITSCRIPT_PACKAGES = "${PN}" -INITSCRIPT_NAME_${PN} = "vmtoolsd" -INITSCRIPT_PARAMS_${PN} = "start 90 2 3 4 5 . stop 60 0 1 6 ." - -python() { - if 'networking-layer' not in d.getVar('BBFILE_COLLECTIONS').split() or \ - 'filesystems-layer' not in d.getVar('BBFILE_COLLECTIONS').split(): - raise bb.parse.SkipRecipe('Requires meta-networking and meta-filesystems to be present.') -} diff --git a/meta-openembedded/meta-oe/recipes-support/openldap/openldap_2.4.57.bb b/meta-openembedded/meta-oe/recipes-support/openldap/openldap_2.4.57.bb deleted file mode 100644 index 7c0460067..000000000 --- a/meta-openembedded/meta-oe/recipes-support/openldap/openldap_2.4.57.bb +++ /dev/null @@ -1,256 +0,0 @@ -SUMMARY = "OpenLDAP Directory Service" -DESCRIPTION = "OpenLDAP Software is an open source implementation of the Lightweight Directory Access Protocol." -HOMEPAGE = "http://www.OpenLDAP.org/license.html" -# The OpenLDAP Public License - see the HOMEPAGE - defines -# the license. www.openldap.org claims this is Open Source -# (see http://www.openldap.org), the license appears to be -# basically BSD. opensource.org does not record this license -# at present (so it is apparently not OSI certified). -LICENSE = "OpenLDAP" -LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=b6dea6c170362fc46381fe3690c722cb \ - file://LICENSE;md5=153d07ef052c4a37a8fac23bc6031972 \ - " -SECTION = "libs" - -LDAP_VER = "${@'.'.join(d.getVar('PV').split('.')[0:2])}" - -SRC_URI = "http://www.openldap.org/software/download/OpenLDAP/openldap-release/${BP}.tgz \ - file://openldap-m4-pthread.patch \ - file://openldap-2.4.28-gnutls-gcrypt.patch \ - file://use-urandom.patch \ - file://initscript \ - file://slapd.service \ - file://thread_stub.patch \ - file://openldap-CVE-2015-3276.patch \ - file://remove-user-host-pwd-from-version.patch \ -" - -SRC_URI[md5sum] = "e3349456c3a66e5e6155be7ddc3f042c" -SRC_URI[sha256sum] = "c7ba47e1e6ecb5b436f3d43281df57abeffa99262141aec822628bc220f6b45a" - -DEPENDS = "util-linux groff-native" - -# The original top.mk used INSTALL, not INSTALL_STRIP_PROGRAM when -# installing .so and executables, this fails in cross compilation -# environments -SRC_URI += "file://install-strip.patch" - -inherit autotools-brokensep update-rc.d systemd - -# CV SETTINGS -# Required to work round AC_FUNC_MEMCMP which gets the wrong answer -# when cross compiling (should be in site?) -EXTRA_OECONF += "ac_cv_func_memcmp_working=yes" - -# CONFIG DEFINITIONS -# The following is necessary because it cannot be determined for a -# cross compile automagically. Select should yield fine on all OE -# systems... -EXTRA_OECONF += "--with-yielding-select=yes" -# Shared libraries are nice... -EXTRA_OECONF += "--enable-dynamic" - -PACKAGECONFIG ??= "gnutls modules \ - mdb ldap meta monitor null passwd shell proxycache dnssrv \ - ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \ -" -#--with-tls with TLS/SSL support auto|openssl|gnutls [auto] -PACKAGECONFIG[gnutls] = "--with-tls=gnutls,,gnutls libgcrypt" -PACKAGECONFIG[openssl] = "--with-tls=openssl,,openssl" - -PACKAGECONFIG[sasl] = "--with-cyrus-sasl,--without-cyrus-sasl,cyrus-sasl" -PACKAGECONFIG[modules] = "lt_cv_dlopen_self=yes --enable-modules,--disable-modules,libtool" -PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6" - -# SLAPD options -# -# UNIX crypt(3) passwd support: -EXTRA_OECONF += "--enable-crypt" - -# SLAPD BACKEND -# -# The backend must be set by the configuration. This controls the -# required database. -# -# Backends="bdb dnssrv hdb ldap mdb meta monitor ndb null passwd perl relay shell sock sql" -# -# Note that multiple backends can be built. The ldbm backend requires a -# build-time choice of database API. The bdb backend forces this to be -# DB4. To use the gdbm (or other) API the Berkely database module must -# be removed from the build. -md = "${libexecdir}/openldap" -# -#--enable-bdb enable Berkeley DB backend no|yes|mod yes -# The Berkely DB is the standard choice. This version of OpenLDAP requires -# the version 4 implementation or better. -PACKAGECONFIG[bdb] = "--enable-bdb=yes,--enable-bdb=no,db" - -#--enable-dnssrv enable dnssrv backend no|yes|mod no -PACKAGECONFIG[dnssrv] = "--enable-dnssrv=mod,--enable-dnssrv=no" - -#--enable-hdb enable Hierarchical DB backend no|yes|mod no -PACKAGECONFIG[hdb] = "--enable-hdb=yes,--enable-hdb=no,db" - -#--enable-ldap enable ldap backend no|yes|mod no -PACKAGECONFIG[ldap] = "--enable-ldap=mod,--enable-ldap=no," - -#--enable-mdb enable mdb database backend no|yes|mod [yes] -PACKAGECONFIG[mdb] = "--enable-mdb=yes,--enable-mdb=no," - -#--enable-meta enable metadirectory backend no|yes|mod no -PACKAGECONFIG[meta] = "--enable-meta=mod,--enable-meta=no," - -#--enable-monitor enable monitor backend no|yes|mod yes -PACKAGECONFIG[monitor] = "--enable-monitor=mod,--enable-monitor=no," - -#--enable-ndb enable MySQL NDB Cluster backend no|yes|mod [no] -PACKAGECONFIG[ndb] = "--enable-ndb=mod,--enable-ndb=no," - -#--enable-null enable null backend no|yes|mod no -PACKAGECONFIG[null] = "--enable-null=mod,--enable-null=no," - -#--enable-passwd enable passwd backend no|yes|mod no -PACKAGECONFIG[passwd] = "--enable-passwd=mod,--enable-passwd=no," - -#--enable-perl enable perl backend no|yes|mod no -# This requires a loadable perl dynamic library, if enabled without -# doing something appropriate (building perl?) the build will pick -# up the build machine perl - not good (inherit perlnative?) -PACKAGECONFIG[perl] = "--enable-perl=mod,--enable-perl=no,perl" - -#--enable-relay enable relay backend no|yes|mod [yes] -PACKAGECONFIG[relay] = "--enable-relay=mod,--enable-relay=no," - -#--enable-shell enable shell backend no|yes|mod no -# configure: WARNING: Use of --without-threads is recommended with back-shell -PACKAGECONFIG[shell] = "--enable-shell=mod --without-threads,--enable-shell=no," - -#--enable-sock enable sock backend no|yes|mod [no] -PACKAGECONFIG[sock] = "--enable-sock=mod,--enable-sock=no," - -#--enable-sql enable sql backend no|yes|mod no -# sql requires some sql backend which provides sql.h, sqlite* provides -# sqlite.h (which may be compatible but hasn't been tried.) -PACKAGECONFIG[sql] = "--enable-sql=mod,--enable-sql=no,sqlite3" - -#--enable-dyngroup Dynamic Group overlay no|yes|mod no -# This is a demo, Proxy Cache defines init_module which conflicts with the -# same symbol in dyngroup -PACKAGECONFIG[dyngroup] = "--enable-dyngroup=mod,--enable-dyngroup=no," - -#--enable-proxycache Proxy Cache overlay no|yes|mod no -PACKAGECONFIG[proxycache] = "--enable-proxycache=mod,--enable-proxycache=no," -FILES_${PN}-overlay-proxycache = "${md}/pcache-*.so.*" -PACKAGES += "${PN}-overlay-proxycache" - -# Append URANDOM_DEVICE='/dev/urandom' to CPPFLAGS: -# This allows tls to obtain random bits from /dev/urandom, by default -# it was disabled for cross-compiling. -CPPFLAGS_append = " -D_GNU_SOURCE -DURANDOM_DEVICE=\'/dev/urandom\' -fPIC" - -LDFLAGS_append = " -pthread" - -do_configure() { - rm -f ${S}/libtool - aclocal - libtoolize --force --copy - gnu-configize - cp ${STAGING_DATADIR_NATIVE}/libtool/build-aux/ltmain.sh ${S}/build - cp ${STAGING_DATADIR_NATIVE}/libtool/build-aux/missing ${S}/build - cp ${STAGING_DATADIR_NATIVE}/libtool/build-aux/compile ${S}/build - autoconf - oe_runconf -} - -LEAD_SONAME = "libldap-${LDAP_VER}.so.*" - -# The executables go in a separate package. This allows the -# installation of the libraries with no daemon support. -# Each module also has its own package - see above. -PACKAGES += "${PN}-slapd ${PN}-slurpd ${PN}-bin" - -# Package contents - shift most standard contents to -bin -FILES_${PN} = "${libdir}/lib*.so.* ${sysconfdir}/openldap/ldap.* ${localstatedir}/${BPN}/data" -FILES_${PN}-slapd = "${sysconfdir}/init.d ${libexecdir}/slapd ${sbindir} ${localstatedir}/run ${localstatedir}/volatile/run \ - ${sysconfdir}/openldap/slapd.* ${sysconfdir}/openldap/schema \ - ${sysconfdir}/openldap/DB_CONFIG.example ${systemd_unitdir}/system/*" -FILES_${PN}-slurpd = "${libexecdir}/slurpd ${localstatedir}/openldap-slurp" -FILES_${PN}-bin = "${bindir}" -FILES_${PN}-dev = "${includedir} ${libdir}/lib*.so ${libdir}/*.la ${libexecdir}/openldap/*.a ${libexecdir}/openldap/*.la ${libexecdir}/openldap/*.so" -FILES_${PN}-dbg += "${libexecdir}/openldap/.debug" - -do_install_append() { - install -d ${D}${sysconfdir}/init.d - cat ${WORKDIR}/initscript > ${D}${sysconfdir}/init.d/openldap - chmod 755 ${D}${sysconfdir}/init.d/openldap - # This is duplicated in /etc/openldap and is for slapd - rm -f ${D}${localstatedir}/openldap-data/DB_CONFIG.example - - # Installing slapd under ${sbin} is more FHS and LSB compliance - mv ${D}${libexecdir}/slapd ${D}/${sbindir}/slapd - rmdir --ignore-fail-on-non-empty ${D}${libexecdir} - SLAPTOOLS="slapadd slapcat slapdn slapindex slappasswd slaptest slapauth slapacl slapschema" - cd ${D}/${sbindir}/ - rm -f ${SLAPTOOLS} - for i in ${SLAPTOOLS}; do ln -sf slapd $i; done - - rmdir "${D}${localstatedir}/run" - rmdir --ignore-fail-on-non-empty "${D}${localstatedir}" - - install -d ${D}${systemd_unitdir}/system/ - install -m 0644 ${WORKDIR}/slapd.service ${D}${systemd_unitdir}/system/ - sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_unitdir}/system/*.service - - # Uses mdm as the database - # and localstatedir as data directory ... - sed -e 's/# modulepath/modulepath/' \ - -e 's/# moduleload\s*back_bdb.*/moduleload back_mdb/' \ - -e 's/database\s*bdb/database mdb/' \ - -e 's%^directory\s*.*%directory ${localstatedir}/${BPN}/data/%' \ - -i ${D}${sysconfdir}/openldap/slapd.conf - - mkdir -p ${D}${localstatedir}/${BPN}/data - - -} - -INITSCRIPT_PACKAGES = "${PN}-slapd" -INITSCRIPT_NAME_${PN}-slapd = "openldap" -INITSCRIPT_PARAMS_${PN}-slapd = "defaults" -SYSTEMD_SERVICE_${PN}-slapd = "hostapd.service" -SYSTEMD_AUTO_ENABLE_${PN}-slapd ?= "disable" - - -PACKAGES_DYNAMIC += "^${PN}-backends.* ^${PN}-backend-.*" - -# The modules require their .so to be dynamicaly loaded -INSANE_SKIP_${PN}-backend-dnssrv += "dev-so" -INSANE_SKIP_${PN}-backend-ldap += "dev-so" -INSANE_SKIP_${PN}-backend-meta += "dev-so" -INSANE_SKIP_${PN}-backend-mdb += "dev-so" -INSANE_SKIP_${PN}-backend-monitor += "dev-so" -INSANE_SKIP_${PN}-backend-null += "dev-so" -INSANE_SKIP_${PN}-backend-passwd += "dev-so" -INSANE_SKIP_${PN}-backend-shell += "dev-so" - - -python populate_packages_prepend () { - backend_dir = d.expand('${libexecdir}/openldap') - do_split_packages(d, backend_dir, 'back_([a-z]*)\.so$', 'openldap-backend-%s', 'OpenLDAP %s backend', prepend=True, extra_depends='', allow_links=True) - do_split_packages(d, backend_dir, 'back_([a-z]*)\-.*\.so\..*$', 'openldap-backend-%s', 'OpenLDAP %s backend', extra_depends='', allow_links=True) - - metapkg = "${PN}-backends" - d.setVar('ALLOW_EMPTY_' + metapkg, "1") - d.setVar('FILES_' + metapkg, "") - metapkg_rdepends = [] - packages = d.getVar('PACKAGES').split() - for pkg in packages[1:]: - if pkg.count("openldap-backend-") and not pkg in metapkg_rdepends and not pkg.count("-dev") and not pkg.count("-dbg") and not pkg.count("static") and not pkg.count("locale"): - metapkg_rdepends.append(pkg) - d.setVar('RDEPENDS_' + metapkg, ' '.join(metapkg_rdepends)) - d.setVar('DESCRIPTION_' + metapkg, 'OpenLDAP backends meta package') - packages.append(metapkg) - d.setVar('PACKAGES', ' '.join(packages)) -} - -BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-oe/recipes-support/openldap/openldap_2.4.58.bb b/meta-openembedded/meta-oe/recipes-support/openldap/openldap_2.4.58.bb new file mode 100644 index 000000000..c5274aa39 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/openldap/openldap_2.4.58.bb @@ -0,0 +1,256 @@ +SUMMARY = "OpenLDAP Directory Service" +DESCRIPTION = "OpenLDAP Software is an open source implementation of the Lightweight Directory Access Protocol." +HOMEPAGE = "http://www.OpenLDAP.org/license.html" +# The OpenLDAP Public License - see the HOMEPAGE - defines +# the license. www.openldap.org claims this is Open Source +# (see http://www.openldap.org), the license appears to be +# basically BSD. opensource.org does not record this license +# at present (so it is apparently not OSI certified). +LICENSE = "OpenLDAP" +LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=b6dea6c170362fc46381fe3690c722cb \ + file://LICENSE;md5=153d07ef052c4a37a8fac23bc6031972 \ + " +SECTION = "libs" + +LDAP_VER = "${@'.'.join(d.getVar('PV').split('.')[0:2])}" + +SRC_URI = "http://www.openldap.org/software/download/OpenLDAP/openldap-release/${BP}.tgz \ + file://openldap-m4-pthread.patch \ + file://openldap-2.4.28-gnutls-gcrypt.patch \ + file://use-urandom.patch \ + file://initscript \ + file://slapd.service \ + file://thread_stub.patch \ + file://openldap-CVE-2015-3276.patch \ + file://remove-user-host-pwd-from-version.patch \ +" + +SRC_URI[md5sum] = "c203d735ba69976e5b28dc39006f29b5" +SRC_URI[sha256sum] = "57b59254be15d0bf6a9ab3d514c1c05777b02123291533134a87c94468f8f47b" + +DEPENDS = "util-linux groff-native" + +# The original top.mk used INSTALL, not INSTALL_STRIP_PROGRAM when +# installing .so and executables, this fails in cross compilation +# environments +SRC_URI += "file://install-strip.patch" + +inherit autotools-brokensep update-rc.d systemd + +# CV SETTINGS +# Required to work round AC_FUNC_MEMCMP which gets the wrong answer +# when cross compiling (should be in site?) +EXTRA_OECONF += "ac_cv_func_memcmp_working=yes" + +# CONFIG DEFINITIONS +# The following is necessary because it cannot be determined for a +# cross compile automagically. Select should yield fine on all OE +# systems... +EXTRA_OECONF += "--with-yielding-select=yes" +# Shared libraries are nice... +EXTRA_OECONF += "--enable-dynamic" + +PACKAGECONFIG ??= "gnutls modules \ + mdb ldap meta monitor null passwd shell proxycache dnssrv \ + ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \ +" +#--with-tls with TLS/SSL support auto|openssl|gnutls [auto] +PACKAGECONFIG[gnutls] = "--with-tls=gnutls,,gnutls libgcrypt" +PACKAGECONFIG[openssl] = "--with-tls=openssl,,openssl" + +PACKAGECONFIG[sasl] = "--with-cyrus-sasl,--without-cyrus-sasl,cyrus-sasl" +PACKAGECONFIG[modules] = "lt_cv_dlopen_self=yes --enable-modules,--disable-modules,libtool" +PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6" + +# SLAPD options +# +# UNIX crypt(3) passwd support: +EXTRA_OECONF += "--enable-crypt" + +# SLAPD BACKEND +# +# The backend must be set by the configuration. This controls the +# required database. +# +# Backends="bdb dnssrv hdb ldap mdb meta monitor ndb null passwd perl relay shell sock sql" +# +# Note that multiple backends can be built. The ldbm backend requires a +# build-time choice of database API. The bdb backend forces this to be +# DB4. To use the gdbm (or other) API the Berkely database module must +# be removed from the build. +md = "${libexecdir}/openldap" +# +#--enable-bdb enable Berkeley DB backend no|yes|mod yes +# The Berkely DB is the standard choice. This version of OpenLDAP requires +# the version 4 implementation or better. +PACKAGECONFIG[bdb] = "--enable-bdb=yes,--enable-bdb=no,db" + +#--enable-dnssrv enable dnssrv backend no|yes|mod no +PACKAGECONFIG[dnssrv] = "--enable-dnssrv=mod,--enable-dnssrv=no" + +#--enable-hdb enable Hierarchical DB backend no|yes|mod no +PACKAGECONFIG[hdb] = "--enable-hdb=yes,--enable-hdb=no,db" + +#--enable-ldap enable ldap backend no|yes|mod no +PACKAGECONFIG[ldap] = "--enable-ldap=mod,--enable-ldap=no," + +#--enable-mdb enable mdb database backend no|yes|mod [yes] +PACKAGECONFIG[mdb] = "--enable-mdb=yes,--enable-mdb=no," + +#--enable-meta enable metadirectory backend no|yes|mod no +PACKAGECONFIG[meta] = "--enable-meta=mod,--enable-meta=no," + +#--enable-monitor enable monitor backend no|yes|mod yes +PACKAGECONFIG[monitor] = "--enable-monitor=mod,--enable-monitor=no," + +#--enable-ndb enable MySQL NDB Cluster backend no|yes|mod [no] +PACKAGECONFIG[ndb] = "--enable-ndb=mod,--enable-ndb=no," + +#--enable-null enable null backend no|yes|mod no +PACKAGECONFIG[null] = "--enable-null=mod,--enable-null=no," + +#--enable-passwd enable passwd backend no|yes|mod no +PACKAGECONFIG[passwd] = "--enable-passwd=mod,--enable-passwd=no," + +#--enable-perl enable perl backend no|yes|mod no +# This requires a loadable perl dynamic library, if enabled without +# doing something appropriate (building perl?) the build will pick +# up the build machine perl - not good (inherit perlnative?) +PACKAGECONFIG[perl] = "--enable-perl=mod,--enable-perl=no,perl" + +#--enable-relay enable relay backend no|yes|mod [yes] +PACKAGECONFIG[relay] = "--enable-relay=mod,--enable-relay=no," + +#--enable-shell enable shell backend no|yes|mod no +# configure: WARNING: Use of --without-threads is recommended with back-shell +PACKAGECONFIG[shell] = "--enable-shell=mod --without-threads,--enable-shell=no," + +#--enable-sock enable sock backend no|yes|mod [no] +PACKAGECONFIG[sock] = "--enable-sock=mod,--enable-sock=no," + +#--enable-sql enable sql backend no|yes|mod no +# sql requires some sql backend which provides sql.h, sqlite* provides +# sqlite.h (which may be compatible but hasn't been tried.) +PACKAGECONFIG[sql] = "--enable-sql=mod,--enable-sql=no,sqlite3" + +#--enable-dyngroup Dynamic Group overlay no|yes|mod no +# This is a demo, Proxy Cache defines init_module which conflicts with the +# same symbol in dyngroup +PACKAGECONFIG[dyngroup] = "--enable-dyngroup=mod,--enable-dyngroup=no," + +#--enable-proxycache Proxy Cache overlay no|yes|mod no +PACKAGECONFIG[proxycache] = "--enable-proxycache=mod,--enable-proxycache=no," +FILES_${PN}-overlay-proxycache = "${md}/pcache-*.so.*" +PACKAGES += "${PN}-overlay-proxycache" + +# Append URANDOM_DEVICE='/dev/urandom' to CPPFLAGS: +# This allows tls to obtain random bits from /dev/urandom, by default +# it was disabled for cross-compiling. +CPPFLAGS_append = " -D_GNU_SOURCE -DURANDOM_DEVICE=\'/dev/urandom\' -fPIC" + +LDFLAGS_append = " -pthread" + +do_configure() { + rm -f ${S}/libtool + aclocal + libtoolize --force --copy + gnu-configize + cp ${STAGING_DATADIR_NATIVE}/libtool/build-aux/ltmain.sh ${S}/build + cp ${STAGING_DATADIR_NATIVE}/libtool/build-aux/missing ${S}/build + cp ${STAGING_DATADIR_NATIVE}/libtool/build-aux/compile ${S}/build + autoconf + oe_runconf +} + +LEAD_SONAME = "libldap-${LDAP_VER}.so.*" + +# The executables go in a separate package. This allows the +# installation of the libraries with no daemon support. +# Each module also has its own package - see above. +PACKAGES += "${PN}-slapd ${PN}-slurpd ${PN}-bin" + +# Package contents - shift most standard contents to -bin +FILES_${PN} = "${libdir}/lib*.so.* ${sysconfdir}/openldap/ldap.* ${localstatedir}/${BPN}/data" +FILES_${PN}-slapd = "${sysconfdir}/init.d ${libexecdir}/slapd ${sbindir} ${localstatedir}/run ${localstatedir}/volatile/run \ + ${sysconfdir}/openldap/slapd.* ${sysconfdir}/openldap/schema \ + ${sysconfdir}/openldap/DB_CONFIG.example ${systemd_unitdir}/system/*" +FILES_${PN}-slurpd = "${libexecdir}/slurpd ${localstatedir}/openldap-slurp" +FILES_${PN}-bin = "${bindir}" +FILES_${PN}-dev = "${includedir} ${libdir}/lib*.so ${libdir}/*.la ${libexecdir}/openldap/*.a ${libexecdir}/openldap/*.la ${libexecdir}/openldap/*.so" +FILES_${PN}-dbg += "${libexecdir}/openldap/.debug" + +do_install_append() { + install -d ${D}${sysconfdir}/init.d + cat ${WORKDIR}/initscript > ${D}${sysconfdir}/init.d/openldap + chmod 755 ${D}${sysconfdir}/init.d/openldap + # This is duplicated in /etc/openldap and is for slapd + rm -f ${D}${localstatedir}/openldap-data/DB_CONFIG.example + + # Installing slapd under ${sbin} is more FHS and LSB compliance + mv ${D}${libexecdir}/slapd ${D}/${sbindir}/slapd + rmdir --ignore-fail-on-non-empty ${D}${libexecdir} + SLAPTOOLS="slapadd slapcat slapdn slapindex slappasswd slaptest slapauth slapacl slapschema" + cd ${D}/${sbindir}/ + rm -f ${SLAPTOOLS} + for i in ${SLAPTOOLS}; do ln -sf slapd $i; done + + rmdir "${D}${localstatedir}/run" + rmdir --ignore-fail-on-non-empty "${D}${localstatedir}" + + install -d ${D}${systemd_unitdir}/system/ + install -m 0644 ${WORKDIR}/slapd.service ${D}${systemd_unitdir}/system/ + sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_unitdir}/system/*.service + + # Uses mdm as the database + # and localstatedir as data directory ... + sed -e 's/# modulepath/modulepath/' \ + -e 's/# moduleload\s*back_bdb.*/moduleload back_mdb/' \ + -e 's/database\s*bdb/database mdb/' \ + -e 's%^directory\s*.*%directory ${localstatedir}/${BPN}/data/%' \ + -i ${D}${sysconfdir}/openldap/slapd.conf + + mkdir -p ${D}${localstatedir}/${BPN}/data + + +} + +INITSCRIPT_PACKAGES = "${PN}-slapd" +INITSCRIPT_NAME_${PN}-slapd = "openldap" +INITSCRIPT_PARAMS_${PN}-slapd = "defaults" +SYSTEMD_SERVICE_${PN}-slapd = "hostapd.service" +SYSTEMD_AUTO_ENABLE_${PN}-slapd ?= "disable" + + +PACKAGES_DYNAMIC += "^${PN}-backends.* ^${PN}-backend-.*" + +# The modules require their .so to be dynamicaly loaded +INSANE_SKIP_${PN}-backend-dnssrv += "dev-so" +INSANE_SKIP_${PN}-backend-ldap += "dev-so" +INSANE_SKIP_${PN}-backend-meta += "dev-so" +INSANE_SKIP_${PN}-backend-mdb += "dev-so" +INSANE_SKIP_${PN}-backend-monitor += "dev-so" +INSANE_SKIP_${PN}-backend-null += "dev-so" +INSANE_SKIP_${PN}-backend-passwd += "dev-so" +INSANE_SKIP_${PN}-backend-shell += "dev-so" + + +python populate_packages_prepend () { + backend_dir = d.expand('${libexecdir}/openldap') + do_split_packages(d, backend_dir, 'back_([a-z]*)\.so$', 'openldap-backend-%s', 'OpenLDAP %s backend', prepend=True, extra_depends='', allow_links=True) + do_split_packages(d, backend_dir, 'back_([a-z]*)\-.*\.so\..*$', 'openldap-backend-%s', 'OpenLDAP %s backend', extra_depends='', allow_links=True) + + metapkg = "${PN}-backends" + d.setVar('ALLOW_EMPTY_' + metapkg, "1") + d.setVar('FILES_' + metapkg, "") + metapkg_rdepends = [] + packages = d.getVar('PACKAGES').split() + for pkg in packages[1:]: + if pkg.count("openldap-backend-") and not pkg in metapkg_rdepends and not pkg.count("-dev") and not pkg.count("-dbg") and not pkg.count("static") and not pkg.count("locale"): + metapkg_rdepends.append(pkg) + d.setVar('RDEPENDS_' + metapkg, ' '.join(metapkg_rdepends)) + d.setVar('DESCRIPTION_' + metapkg, 'OpenLDAP backends meta package') + packages.append(metapkg) + d.setVar('PACKAGES', ' '.join(packages)) +} + +BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-oe/recipes-support/poppler/poppler_21.02.0.bb b/meta-openembedded/meta-oe/recipes-support/poppler/poppler_21.02.0.bb deleted file mode 100644 index c85fbf2af..000000000 --- a/meta-openembedded/meta-oe/recipes-support/poppler/poppler_21.02.0.bb +++ /dev/null @@ -1,51 +0,0 @@ -SUMMARY = "Poppler is a PDF rendering library based on the xpdf-3.0 code base" -HOMEPAGE = "https://poppler.freedesktop.org/" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" - -SRC_URI = "http://poppler.freedesktop.org/${BP}.tar.xz \ - file://0001-Do-not-overwrite-all-our-build-flags.patch \ - file://basename-include.patch \ - " -SRC_URI[sha256sum] = "5c14759c99891e6e472aced6d5f0ff1dacf85d80cd9026d365c55c653edf792c" - -DEPENDS = "fontconfig zlib cairo lcms glib-2.0" - -inherit cmake pkgconfig gobject-introspection - -PACKAGECONFIG ??= "jpeg openjpeg png tiff nss splash" -PACKAGECONFIG[jpeg] = "-DWITH_JPEG=ON -DENABLE_DCTDECODER=libjpeg,-DWITH_JPEG=OFF -DENABLE_DCTDECODER=none,jpeg" -PACKAGECONFIG[png] = "-DWITH_PNG=ON,-DWITH_PNG=OFF,libpng" -PACKAGECONFIG[tiff] = "-DWITH_TIFF=ON,-DWITH_TIFF=OFF,tiff" -PACKAGECONFIG[curl] = "-DENABLE_LIBCURL=ON,-DENABLE_LIBCURL=OFF,curl" -PACKAGECONFIG[openjpeg] = "-DENABLE_LIBOPENJPEG=openjpeg2,-DENABLE_LIBOPENJPEG=none,openjpeg" -PACKAGECONFIG[qt5] = "-DENABLE_QT5=ON,-DENABLE_QT5=OFF,qtbase qttools-native" -PACKAGECONFIG[nss] = "-DWITH_NSS3=ON,-DWITH_NSS3=OFF,nss" -PACKAGECONFIG[splash] = "-DENABLE_SPLASH=ON,-DENABLE_SPLASH=OFF,boost" - -# surprise - did not expect this to work :) -inherit ${@bb.utils.contains('PACKAGECONFIG', 'qt5', 'cmake_qt5', '', d)} - -SECURITY_CFLAGS = "${SECURITY_NO_PIE_CFLAGS}" - -EXTRA_OECMAKE += " \ - -DENABLE_CMS=lcms2 \ - -DENABLE_UNSTABLE_API_ABI_HEADERS=ON \ - -DBUILD_GTK_TESTS=OFF \ - -DENABLE_ZLIB=ON \ - -DCMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES:PATH='${STAGING_INCDIR}' \ - ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-DENABLE_GOBJECT_INTROSPECTION=ON', '-DENABLE_GOBJECT_INTROSPECTION=OFF', d)} \ -" - -do_configure_append() { - # poppler macro uses pkg-config to check for g-ir runtimes. Something - # makes them point to /usr/bin. Align them to sysroot - that's where the - # gir-wrappers are: - sed -i 's: ${bindir}/g-ir: ${STAGING_BINDIR}/g-ir:' ${B}/build.ninja -} - -PACKAGES =+ "libpoppler libpoppler-glib" -FILES_libpoppler = "${libdir}/libpoppler.so.*" -FILES_libpoppler-glib = "${libdir}/libpoppler-glib.so.*" - -RDEPENDS_libpoppler = "poppler-data" diff --git a/meta-openembedded/meta-oe/recipes-support/poppler/poppler_21.03.0.bb b/meta-openembedded/meta-oe/recipes-support/poppler/poppler_21.03.0.bb new file mode 100644 index 000000000..52aa17021 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/poppler/poppler_21.03.0.bb @@ -0,0 +1,51 @@ +SUMMARY = "Poppler is a PDF rendering library based on the xpdf-3.0 code base" +HOMEPAGE = "https://poppler.freedesktop.org/" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" + +SRC_URI = "http://poppler.freedesktop.org/${BP}.tar.xz \ + file://0001-Do-not-overwrite-all-our-build-flags.patch \ + file://basename-include.patch \ + " +SRC_URI[sha256sum] = "fd51ead4aac1d2f4684fa6e7b0ec06f0233ed21667e720a4e817e4455dd63d27" + +DEPENDS = "fontconfig zlib cairo lcms glib-2.0" + +inherit cmake pkgconfig gobject-introspection + +PACKAGECONFIG ??= "jpeg openjpeg png tiff nss splash" +PACKAGECONFIG[jpeg] = "-DWITH_JPEG=ON -DENABLE_DCTDECODER=libjpeg,-DWITH_JPEG=OFF -DENABLE_DCTDECODER=none,jpeg" +PACKAGECONFIG[png] = "-DWITH_PNG=ON,-DWITH_PNG=OFF,libpng" +PACKAGECONFIG[tiff] = "-DWITH_TIFF=ON,-DWITH_TIFF=OFF,tiff" +PACKAGECONFIG[curl] = "-DENABLE_LIBCURL=ON,-DENABLE_LIBCURL=OFF,curl" +PACKAGECONFIG[openjpeg] = "-DENABLE_LIBOPENJPEG=openjpeg2,-DENABLE_LIBOPENJPEG=none,openjpeg" +PACKAGECONFIG[qt5] = "-DENABLE_QT5=ON,-DENABLE_QT5=OFF,qtbase qttools-native" +PACKAGECONFIG[nss] = "-DWITH_NSS3=ON,-DWITH_NSS3=OFF,nss" +PACKAGECONFIG[splash] = "-DENABLE_SPLASH=ON,-DENABLE_SPLASH=OFF,boost" + +# surprise - did not expect this to work :) +inherit ${@bb.utils.contains('PACKAGECONFIG', 'qt5', 'cmake_qt5', '', d)} + +SECURITY_CFLAGS = "${SECURITY_NO_PIE_CFLAGS}" + +EXTRA_OECMAKE += " \ + -DENABLE_CMS=lcms2 \ + -DENABLE_UNSTABLE_API_ABI_HEADERS=ON \ + -DBUILD_GTK_TESTS=OFF \ + -DENABLE_ZLIB=ON \ + -DCMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES:PATH='${STAGING_INCDIR}' \ + ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-DENABLE_GOBJECT_INTROSPECTION=ON', '-DENABLE_GOBJECT_INTROSPECTION=OFF', d)} \ +" + +do_configure_append() { + # poppler macro uses pkg-config to check for g-ir runtimes. Something + # makes them point to /usr/bin. Align them to sysroot - that's where the + # gir-wrappers are: + sed -i 's: ${bindir}/g-ir: ${STAGING_BINDIR}/g-ir:' ${B}/build.ninja +} + +PACKAGES =+ "libpoppler libpoppler-glib" +FILES_libpoppler = "${libdir}/libpoppler.so.*" +FILES_libpoppler-glib = "${libdir}/libpoppler-glib.so.*" + +RDEPENDS_libpoppler = "poppler-data" diff --git a/meta-openembedded/meta-oe/recipes-support/satyr/satyr_0.36.bb b/meta-openembedded/meta-oe/recipes-support/satyr/satyr_0.36.bb deleted file mode 100644 index b6988baa7..000000000 --- a/meta-openembedded/meta-oe/recipes-support/satyr/satyr_0.36.bb +++ /dev/null @@ -1,35 +0,0 @@ -DESCRIPTION = "Satyr is a collection of low-level algorithms for program \ -failure processing, analysis, and reporting supporting kernel space, user \ -space, Python, and Java programs" - -HOMEPAGE = "https://github.com/abrt/satyr" -LICENSE = "GPLv2" - -inherit autotools-brokensep python3native pkgconfig - -SRC_URI = "git://github.com/abrt/satyr.git \ - file://0002-fix-compile-failure-against-musl-C-library.patch \ -" -SRCREV = "a1f232b7dbca7ff787076fcfb63ce7d7fb15b753" -S = "${WORKDIR}/git" - -LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" - -DEPENDS += " \ - gdb \ - gperf-native \ - json-c \ - nettle \ - glib-2.0 \ -" - -PACKAGES += "python3-${BPN}" -FILES_python3-${BPN} = "${PYTHON_SITEPACKAGES_DIR}/${BPN}" - -PACKAGECONFIG ??= "python3 rpm" -PACKAGECONFIG[python3] = "--with-python3, --without-python3,,python3" -PACKAGECONFIG[rpm] = "--with-rpm, --without-rpm, rpm" - -do_configure_prepend() { - ${S}/gen-version -} diff --git a/meta-openembedded/meta-oe/recipes-support/satyr/satyr_0.37.bb b/meta-openembedded/meta-oe/recipes-support/satyr/satyr_0.37.bb new file mode 100644 index 000000000..4630eb021 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/satyr/satyr_0.37.bb @@ -0,0 +1,35 @@ +DESCRIPTION = "Satyr is a collection of low-level algorithms for program \ +failure processing, analysis, and reporting supporting kernel space, user \ +space, Python, and Java programs" + +HOMEPAGE = "https://github.com/abrt/satyr" +LICENSE = "GPLv2" + +inherit autotools-brokensep python3native pkgconfig + +SRC_URI = "git://github.com/abrt/satyr.git \ + file://0002-fix-compile-failure-against-musl-C-library.patch \ +" +SRCREV = "4a7d0a31cdeee23bb13739f57926188a795bdf25" +S = "${WORKDIR}/git" + +LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" + +DEPENDS += " \ + gdb \ + gperf-native \ + json-c \ + nettle \ + glib-2.0 \ +" + +PACKAGES += "python3-${BPN}" +FILES_python3-${BPN} = "${PYTHON_SITEPACKAGES_DIR}/${BPN}" + +PACKAGECONFIG ??= "python3 rpm" +PACKAGECONFIG[python3] = "--with-python3, --without-python3,,python3" +PACKAGECONFIG[rpm] = "--with-rpm, --without-rpm, rpm" + +do_configure_prepend() { + ${S}/gen-version +} diff --git a/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi_1.3.0.bb b/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi_1.3.0.bb index ce46cf589..9a0da831b 100644 --- a/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi_1.3.0.bb +++ b/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi_1.3.0.bb @@ -36,3 +36,4 @@ do_configure_prepend(){ RDEPENDS_${PN} += "mdadm" COMPATIBLE_HOST_powerpc = 'null' +COMPATIBLE_HOST_powerpc64le = 'null' diff --git a/meta-openembedded/meta-oe/recipes-support/udisks/udisks2_2.9.2.bb b/meta-openembedded/meta-oe/recipes-support/udisks/udisks2_2.9.2.bb new file mode 100644 index 000000000..f9e127438 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/udisks/udisks2_2.9.2.bb @@ -0,0 +1,53 @@ +SUMMARY = "udisks provides dbus interfaces for disks and storage devices" +LICENSE = "GPLv2+ & LGPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=dd79f6dbbffdbc8e86b086a8f0c0ef43" + +DEPENDS = " \ + glib-2.0-native \ + libxslt-native \ + acl \ + libatasmart \ + polkit \ + libgudev \ + glib-2.0 \ + dbus-glib \ + libblockdev \ +" +DEPENDS += "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" + +RDEPENDS_${PN} = "acl" + +SRC_URI = "git://github.com/storaged-project/udisks.git;branch=master" +SRCREV = "da6d9480fefeb0ffdf8a84626b5096827d8d7030" +S = "${WORKDIR}/git" + +CVE_PRODUCT = "udisks" + +inherit autotools-brokensep systemd gtk-doc gobject-introspection gettext features_check + +REQUIRED_DISTRO_FEATURES = "polkit" + +EXTRA_OECONF = "--disable-man --disable-gtk-doc" + +do_configure_prepend() { + # | configure.ac:656: error: required file 'build-aux/config.rpath' not found + mkdir -p ${S}/build-aux + touch ${S}/build-aux/config.rpath +} + +FILES_${PN} += " \ + ${datadir}/dbus-1/ \ + ${datadir}/polkit-1 \ + ${datadir}/bash-completion \ + ${libdir}/polkit-1/extensions/*.so \ + ${nonarch_base_libdir}/udev/* \ + ${exec_prefix}${nonarch_base_libdir}/udisks2/* \ + ${systemd_system_unitdir} \ +" + +PACKAGES =+ "${PN}-libs" +FILES_${PN}-libs = "${libdir}/lib*${SOLIBS}" +FILES_${PN} += "${nonarch_libdir}/tmpfiles.d" + +SYSTEMD_SERVICE_${PN} = "${BPN}.service" +SYSTEMD_AUTO_ENABLE = "disable" diff --git a/meta-openembedded/meta-oe/recipes-support/udisks/udisks2_git.bb b/meta-openembedded/meta-oe/recipes-support/udisks/udisks2_git.bb deleted file mode 100644 index 196198c52..000000000 --- a/meta-openembedded/meta-oe/recipes-support/udisks/udisks2_git.bb +++ /dev/null @@ -1,56 +0,0 @@ -SUMMARY = "udisks provides dbus interfaces for disks and storage devices" -LICENSE = "GPLv2+ & LGPLv2+" -LIC_FILES_CHKSUM = "file://COPYING;md5=dd79f6dbbffdbc8e86b086a8f0c0ef43" - -DEPENDS = " \ - glib-2.0-native \ - libxslt-native \ - acl \ - libatasmart \ - polkit \ - libgudev \ - glib-2.0 \ - dbus-glib \ - libblockdev \ -" -DEPENDS += "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" - -RDEPENDS_${PN} = "acl" - -SRC_URI = " \ - git://github.com/storaged-project/udisks.git;branch=master \ -" -PV = "2.9.1" -SRCREV = "95444ab6bf2b8d8c205b540dded4029fcb15f91b" -S = "${WORKDIR}/git" - -CVE_PRODUCT = "udisks" - -inherit autotools-brokensep systemd gtk-doc gobject-introspection gettext features_check - -REQUIRED_DISTRO_FEATURES = "polkit" - -EXTRA_OECONF = "--disable-man --disable-gtk-doc" - -do_configure_prepend() { - # | configure.ac:656: error: required file 'build-aux/config.rpath' not found - mkdir -p ${S}/build-aux - touch ${S}/build-aux/config.rpath -} - -FILES_${PN} += " \ - ${datadir}/dbus-1/ \ - ${datadir}/polkit-1 \ - ${datadir}/bash-completion \ - ${libdir}/polkit-1/extensions/*.so \ - ${nonarch_base_libdir}/udev/* \ - ${exec_prefix}${nonarch_base_libdir}/udisks2/* \ - ${systemd_system_unitdir} \ -" - -PACKAGES =+ "${PN}-libs" -FILES_${PN}-libs = "${libdir}/lib*${SOLIBS}" -FILES_${PN} += "${nonarch_libdir}/tmpfiles.d" - -SYSTEMD_SERVICE_${PN} = "${BPN}.service" -SYSTEMD_AUTO_ENABLE = "disable" diff --git a/meta-openembedded/meta-oe/recipes-support/uriparser/uriparser_0.9.4.bb b/meta-openembedded/meta-oe/recipes-support/uriparser/uriparser_0.9.4.bb deleted file mode 100644 index d02cf5de8..000000000 --- a/meta-openembedded/meta-oe/recipes-support/uriparser/uriparser_0.9.4.bb +++ /dev/null @@ -1,16 +0,0 @@ -SUMMARY = "RFC 3986 compliant URI parsing library" -HOMEPAGE = "https://uriparser.github.io" - -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://COPYING;md5=fcc5a53146c2401f4b4f6a3bdf3f0168" - -SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/${BP}/${BP}.tar.gz" -SRC_URI[sha256sum] = "095e8a358a9ccbbef9d1f10d40495ca0fcb3d4490a948ba6449b213a66e08ef0" - -UPSTREAM_CHECK_URI = "https://github.com/${BPN}/${BPN}/releases" - -inherit cmake - -EXTRA_OECMAKE += "-DURIPARSER_BUILD_DOCS:BOOL=OFF -DURIPARSER_BUILD_TESTS:BOOL=OFF" - -BBCLASSEXTEND += "native" diff --git a/meta-openembedded/meta-oe/recipes-support/uriparser/uriparser_0.9.5.bb b/meta-openembedded/meta-oe/recipes-support/uriparser/uriparser_0.9.5.bb new file mode 100644 index 000000000..f50622358 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/uriparser/uriparser_0.9.5.bb @@ -0,0 +1,16 @@ +SUMMARY = "RFC 3986 compliant URI parsing library" +HOMEPAGE = "https://uriparser.github.io" + +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://COPYING;md5=fcc5a53146c2401f4b4f6a3bdf3f0168" + +SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/${BP}/${BP}.tar.gz" +SRC_URI[sha256sum] = "1987466a798becb5441a491d29e762ab1a4817a525f82ef239e3d38f85605a77" + +UPSTREAM_CHECK_URI = "https://github.com/${BPN}/${BPN}/releases" + +inherit cmake + +EXTRA_OECMAKE += "-DURIPARSER_BUILD_DOCS:BOOL=OFF -DURIPARSER_BUILD_TESTS:BOOL=OFF" + +BBCLASSEXTEND += "native" diff --git a/meta-openembedded/meta-oe/recipes-support/uthash/uthash_2.2.0.bb b/meta-openembedded/meta-oe/recipes-support/uthash/uthash_2.2.0.bb deleted file mode 100644 index 4ec7bc2f5..000000000 --- a/meta-openembedded/meta-oe/recipes-support/uthash/uthash_2.2.0.bb +++ /dev/null @@ -1,46 +0,0 @@ -SUMMARY = "Hash table and linked list for C structures" -DESCRIPTION = " uthash-dev provides a hash table implementation using C preprocessor macros.\n\ - This package also includes:\n\ - * utlist.h provides linked list macros for C structures\n\ - * utarray.h implements dynamic arrays using macros\n\ - * utstring.h implements a basic dynamic string\n\ -" -HOMEPAGE = "https://troydhanson.github.io/uthash/" -SECTION = "base" -LICENSE = "BSD-1-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=6891c324eb59289db33bac74d4cbb0d4" -SRCREV = "66e2668795d0aaf4977523f828e548470a680c33" - -SRC_URI = "\ - git://github.com/troydhanson/${BPN}.git \ - file://run-ptest \ -" - -S = "${WORKDIR}/git" - -inherit ptest - -do_compile[noexec] = "1" - -do_compile_ptest() { - oe_runmake -C tests tests_only TEST_TARGET= -} - -do_install () { - install -dm755 ${D}${includedir} - install -m0644 src/*.h ${D}${includedir} -} - -do_install_ptest() { - install -dm755 ${D}${PTEST_PATH}/tests - install -m0755 tests/test*[0-9] ${D}${PTEST_PATH}/tests - install -m0644 tests/test*[0-9].ans ${D}${PTEST_PATH}/tests - install -m0644 tests/test*[0-9].dat ${D}${PTEST_PATH}/tests -} - -# The main package is empty and non-existent, so -dev -# should not depend on it... -RDEPENDS_${PN}-dev = "" -RDEPENDS_${PN}-ptest_remove = "${PN}" - -BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-oe/recipes-support/uthash/uthash_2.3.0.bb b/meta-openembedded/meta-oe/recipes-support/uthash/uthash_2.3.0.bb new file mode 100644 index 000000000..ca8a3c0bb --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/uthash/uthash_2.3.0.bb @@ -0,0 +1,46 @@ +SUMMARY = "Hash table and linked list for C structures" +DESCRIPTION = " uthash-dev provides a hash table implementation using C preprocessor macros.\n\ + This package also includes:\n\ + * utlist.h provides linked list macros for C structures\n\ + * utarray.h implements dynamic arrays using macros\n\ + * utstring.h implements a basic dynamic string\n\ +" +HOMEPAGE = "https://troydhanson.github.io/uthash/" +SECTION = "base" +LICENSE = "BSD-1-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=736712b5904dd42f8678df7172bc5f2b" +SRCREV = "e493aa90a2833b4655927598f169c31cfcdf7861" + +SRC_URI = "\ + git://github.com/troydhanson/${BPN}.git \ + file://run-ptest \ +" + +S = "${WORKDIR}/git" + +inherit ptest + +do_compile[noexec] = "1" + +do_compile_ptest() { + oe_runmake -C tests tests_only TEST_TARGET= +} + +do_install () { + install -dm755 ${D}${includedir} + install -m0644 src/*.h ${D}${includedir} +} + +do_install_ptest() { + install -dm755 ${D}${PTEST_PATH}/tests + install -m0755 tests/test*[0-9] ${D}${PTEST_PATH}/tests + install -m0644 tests/test*[0-9].ans ${D}${PTEST_PATH}/tests + install -m0644 tests/test*[0-9].dat ${D}${PTEST_PATH}/tests +} + +# The main package is empty and non-existent, so -dev +# should not depend on it... +RDEPENDS_${PN}-dev = "" +RDEPENDS_${PN}-ptest_remove = "${PN}" + +BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/add__divmoddi4.patch b/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/add__divmoddi4.patch new file mode 100644 index 000000000..8dd30a20e --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/add__divmoddi4.patch @@ -0,0 +1,36 @@ +add __divmoddi4 builtin + +GCC 11 will generate it in code + +void foo(unsigned char *u8Second, unsigned int *u32Nanosecond, long long timeSpec) +{ + long long i64Div; + int i32Div; + int i32Rem; + i64Div = timeSpec; + i32Rem = (int)(i64Div % 1000000000); + i64Div /= 1000000000; + *u32Nanosecond = i32Rem; + i32Rem = (int)(i64Div % 60); + *u8Second = i32Rem; +} + + +Upstream-Status: Pending +Signed-off-by: Khem Raj + +--- a/src/VBox/Runtime/common/math/gcc/divdi3.c ++++ b/src/VBox/Runtime/common/math/gcc/divdi3.c +@@ -68,3 +68,12 @@ __divdi3(a, b) + uq = - uq; + return uq; + } ++ ++quad_t ++__divmoddi4(quad_t a, quad_t b, quad_t* rem) ++{ ++ quad_t d = __divdi3(a,b); ++ *rem = a - (d*b); ++ return d; ++} ++ diff --git a/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_6.1.18.bb b/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_6.1.18.bb index d620e9893..1def1a311 100644 --- a/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_6.1.18.bb +++ b/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_6.1.18.bb @@ -14,6 +14,7 @@ VBOX_NAME = "VirtualBox-${PV}" SRC_URI = "http://download.virtualbox.org/virtualbox/${PV}/${VBOX_NAME}.tar.bz2 \ file://Makefile.utils \ file://kernel-5.10.patch \ + file://add__divmoddi4.patch \ " SRC_URI[md5sum] = "c61001386eb3822ab8f06d688a82e84b" SRC_URI[sha256sum] = "108d42b9b391b7a332a33df1662cf7b0e9d9a80f3079d16288d8b9487f427d40" diff --git a/meta-openembedded/meta-oe/recipes-support/xrdp/xrdp/0001-Fixed-compiler-warnings-about-snprintf-truncations.patch b/meta-openembedded/meta-oe/recipes-support/xrdp/xrdp/0001-Fixed-compiler-warnings-about-snprintf-truncations.patch deleted file mode 100644 index 5b9315cfb..000000000 --- a/meta-openembedded/meta-oe/recipes-support/xrdp/xrdp/0001-Fixed-compiler-warnings-about-snprintf-truncations.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 9de23a9199d26e64ab6b5be2bb74f260200b2dc5 Mon Sep 17 00:00:00 2001 -From: matt335672 <30179339+matt335672@users.noreply.github.com> -Date: Fri, 21 Aug 2020 12:20:31 +0100 -Subject: [PATCH] Fixed compiler warnings about snprintf truncations - -Upstream-Status: Backport [https://github.com/neutrinolabs/xrdp/pull/1659] ---- - common/log.c | 4 +--- - 1 file changed, 1 insertion(+), 3 deletions(-) - -diff --git a/common/log.c b/common/log.c -index 4a0bd2f3..8686789d 100644 ---- a/common/log.c -+++ b/common/log.c -@@ -555,9 +555,7 @@ log_message(const enum logLevels lvl, const char *msg, ...) - now_t = time(&now_t); - now = localtime(&now_t); - -- snprintf(buff, 21, "[%.4d%.2d%.2d-%.2d:%.2d:%.2d] ", now->tm_year + 1900, -- now->tm_mon + 1, now->tm_mday, now->tm_hour, now->tm_min, -- now->tm_sec); -+ strftime(buff, 21, "[%Y%m%d-%H:%M:%S] ", now); - - internal_log_lvl2str(lvl, buff + 20); - --- -2.29.2 - diff --git a/meta-openembedded/meta-oe/recipes-support/xrdp/xrdp/0001-arch-Define-NO_NEED_ALIGN-on-ppc64.patch b/meta-openembedded/meta-oe/recipes-support/xrdp/xrdp/0001-arch-Define-NO_NEED_ALIGN-on-ppc64.patch new file mode 100644 index 000000000..c06aa7b6c --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/xrdp/xrdp/0001-arch-Define-NO_NEED_ALIGN-on-ppc64.patch @@ -0,0 +1,22 @@ +From 5958db649855bfb2ada7c0ed22a00f839b9a1161 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 12 Mar 2021 21:40:35 -0800 +Subject: [PATCH] arch: Define NO_NEED_ALIGN on ppc64 + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- + common/arch.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/common/arch.h ++++ b/common/arch.h +@@ -84,7 +84,7 @@ typedef int bool_t; + #define NEED_ALIGN + #elif defined(__x86__) || defined(__x86_64__) || \ + defined(__AMD64__) || defined(_M_IX86) || defined (_M_AMD64) || \ +- defined(__i386__) || defined(__aarch64__) || \ ++ defined(__i386__) || defined(__aarch64__) || defined(__powerpc64__) || \ + defined(__riscv) + #define NO_NEED_ALIGN + #else diff --git a/meta-openembedded/meta-oe/recipes-support/xrdp/xrdp/0001-correct-the-location-of-errno.h.patch b/meta-openembedded/meta-oe/recipes-support/xrdp/xrdp/0001-correct-the-location-of-errno.h.patch deleted file mode 100644 index b06077bf0..000000000 --- a/meta-openembedded/meta-oe/recipes-support/xrdp/xrdp/0001-correct-the-location-of-errno.h.patch +++ /dev/null @@ -1,30 +0,0 @@ -From c8d3df40ece7d659ccc8212b18de916d28f4398a Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Tue, 22 Dec 2020 23:10:52 -0800 -Subject: [PATCH] correct the location of errno.h - -Fixes build on musl - -Upstream-Status: Submitted [https://github.com/neutrinolabs/xrdp/pull/1761] - -Signed-off-by: Khem Raj ---- - sesman/chansrv/sound.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/sesman/chansrv/sound.c b/sesman/chansrv/sound.c -index b0480d33..45e17307 100644 ---- a/sesman/chansrv/sound.c -+++ b/sesman/chansrv/sound.c -@@ -23,7 +23,7 @@ - #include - #include - #include --#include -+#include - #include - #include - --- -2.29.2 - diff --git a/meta-openembedded/meta-oe/recipes-support/xrdp/xrdp/0001-riscv-doesn-t-require-pointers-to-be-aligned.patch b/meta-openembedded/meta-oe/recipes-support/xrdp/xrdp/0001-riscv-doesn-t-require-pointers-to-be-aligned.patch deleted file mode 100644 index 4cd26df04..000000000 --- a/meta-openembedded/meta-oe/recipes-support/xrdp/xrdp/0001-riscv-doesn-t-require-pointers-to-be-aligned.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 229206aa5e55a6e26a074a54a1b50139ab794b36 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Tue, 22 Dec 2020 23:01:13 -0800 -Subject: [PATCH] riscv doesn't require pointers to be aligned - -Upstream-Status: Submitted [https://github.com/neutrinolabs/xrdp/pull/1761] -Signed-off-by: Khem Raj ---- - common/arch.h | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/common/arch.h b/common/arch.h -index ccccfa5a..8c2ac1a4 100644 ---- a/common/arch.h -+++ b/common/arch.h -@@ -84,7 +84,8 @@ typedef int bool_t; - #define NEED_ALIGN - #elif defined(__x86__) || defined(__x86_64__) || \ - defined(__AMD64__) || defined(_M_IX86) || defined (_M_AMD64) || \ -- defined(__i386__) || defined(__aarch64__) -+ defined(__i386__) || defined(__aarch64__) || \ -+ defined(__riscv) - #define NO_NEED_ALIGN - #else - #warning unknown arch --- -2.29.2 - diff --git a/meta-openembedded/meta-oe/recipes-support/xrdp/xrdp_0.9.14.bb b/meta-openembedded/meta-oe/recipes-support/xrdp/xrdp_0.9.14.bb deleted file mode 100644 index 078e23c6e..000000000 --- a/meta-openembedded/meta-oe/recipes-support/xrdp/xrdp_0.9.14.bb +++ /dev/null @@ -1,96 +0,0 @@ -SUMMARY = "An open source remote desktop protocol(rdp) server." - -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://COPYING;md5=72cfbe4e7bd33a0a1de9630c91195c21 \ -" - -inherit features_check autotools pkgconfig useradd systemd - -DEPENDS = "openssl virtual/libx11 libxfixes libxrandr libpam nasm-native" - -REQUIRED_DISTRO_FEATURES = "x11 pam" - -SRC_URI = "git://github.com/neutrinolabs/xrdp.git;branch=devel \ - file://xrdp.sysconfig \ - file://0001-Added-req_distinguished_name-in-etc-xrdp-openssl.con.patch \ - file://0001-Fix-the-compile-error.patch \ - file://0001-riscv-doesn-t-require-pointers-to-be-aligned.patch \ - file://0001-correct-the-location-of-errno.h.patch \ - file://0001-Fixed-compiler-warnings-about-snprintf-truncations.patch \ - " -SRCREV = "1469d659dbccd6d042ac44f0afc4e1309788dc9d" - -S = "${WORKDIR}/git" - -PACKAGECONFIG ??= "" -PACKAGECONFIG[fuse] = " --enable-fuse, --disable-fuse, fuse" - -USERADD_PACKAGES = "${PN}" -GROUPADD_PARAM_${PN} = "--system xrdp" -USERADD_PARAM_${PN} = "--system --home /var/run/xrdp -g xrdp \ - --no-create-home --shell /bin/false xrdp" - -FILES_${PN} += "${datadir}/dbus-1/services/*.service \ - ${datadir}/dbus-1/accessibility-services/*.service " - -FILES_${PN}-dev += "${libdir}/xrdp/libcommon.so \ - ${libdir}/xrdp/libxrdp.so \ - ${libdir}/xrdp/libscp.so \ - ${libdir}/xrdp/libxrdpapi.so " - -EXTRA_OECONF = "--enable-pam-config=suse" - -do_configure_prepend() { - cd ${S} - ./bootstrap - cd - -} - -do_compile_prepend() { - sed -i 's/(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am/(MAKE) $(AM_MAKEFLAGS) install-exec-am/g' ${S}/keygen/Makefile.in -} - - -do_install_append() { - install -d ${D}${sysconfdir} - install -d ${D}${sysconfdir}/xrdp - install -d ${D}${sysconfdir}/xrdp/pam.d - install -d ${D}${sysconfdir}/sysconfig/xrdp - - # deal with systemd unit files - install -d ${D}${systemd_unitdir}/system - install -m 0644 ${S}/instfiles/xrdp.service.in ${D}${systemd_unitdir}/system/xrdp.service - install -m 0644 ${S}/instfiles/xrdp-sesman.service.in ${D}${systemd_unitdir}/system/xrdp-sesman.service - sed -i -e 's,@localstatedir@,${localstatedir},g' ${D}${systemd_unitdir}/system/xrdp.service ${D}${systemd_unitdir}/system/xrdp-sesman.service - sed -i -e 's,@sysconfdir@,${sysconfdir},g' ${D}${systemd_unitdir}/system/xrdp.service ${D}${systemd_unitdir}/system/xrdp-sesman.service - sed -i -e 's,@sbindir@,${sbindir},g' ${D}${systemd_unitdir}/system/xrdp.service ${D}${systemd_unitdir}/system/xrdp-sesman.service - - install -m 0644 ${S}/instfiles/*.ini ${D}${sysconfdir}/xrdp/ - install -m 0644 ${S}/sesman/sesman.ini.in ${D}${sysconfdir}/xrdp/ - install -m 0644 ${S}/sesman/startwm.sh ${D}${sysconfdir}/xrdp/ - install -m 0644 ${S}/xrdp/xrdp.ini.in ${D}${sysconfdir}/xrdp/ - install -m 0644 ${S}/xrdp/xrdp_keyboard.ini ${D}${sysconfdir}/xrdp/ - install -m 0644 ${S}/keygen/openssl.conf ${D}${sysconfdir}/xrdp/ - install -m 0644 ${WORKDIR}/xrdp.sysconfig ${D}${sysconfdir}/sysconfig/xrdp/ - chown xrdp:xrdp ${D}${sysconfdir}/xrdp -} - -SYSTEMD_SERVICE_${PN} = "xrdp.service xrdp-sesman.service" - -pkg_postinst_${PN}() { - if test -z "$D" - then - if test -x ${bindir}/xrdp-keygen - then - ${bindir}/xrdp-keygen xrdp ${sysconfdir}/xrdp/rsakeys.ini >/dev/null - fi - if test ! -s ${sysconfdir}/xrdp/cert.pem - then - openssl req -x509 -newkey rsa:2048 -sha256 -nodes -days 3652 \ - -keyout ${sysconfdir}/xrdp/key.pem \ - -out ${sysconfdir}/xrdp/cert.pem \ - -config ${sysconfdir}/xrdp/openssl.conf >/dev/null 2>&1 - chmod 400 ${sysconfdir}/xrdp/key.pem - fi - fi -} diff --git a/meta-openembedded/meta-oe/recipes-support/xrdp/xrdp_0.9.15.bb b/meta-openembedded/meta-oe/recipes-support/xrdp/xrdp_0.9.15.bb new file mode 100644 index 000000000..039ba1a76 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/xrdp/xrdp_0.9.15.bb @@ -0,0 +1,94 @@ +SUMMARY = "An open source remote desktop protocol(rdp) server." + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://COPYING;md5=72cfbe4e7bd33a0a1de9630c91195c21 \ +" + +inherit features_check autotools pkgconfig useradd systemd + +DEPENDS = "openssl virtual/libx11 libxfixes libxrandr libpam nasm-native" + +REQUIRED_DISTRO_FEATURES = "x11 pam" + +SRC_URI = "git://github.com/neutrinolabs/xrdp.git;branch=devel \ + file://xrdp.sysconfig \ + file://0001-Added-req_distinguished_name-in-etc-xrdp-openssl.con.patch \ + file://0001-Fix-the-compile-error.patch \ + file://0001-arch-Define-NO_NEED_ALIGN-on-ppc64.patch \ + " +SRCREV = "f24b7b7988140b18202908654db3289659303772" + +S = "${WORKDIR}/git" + +PACKAGECONFIG ??= "" +PACKAGECONFIG[fuse] = " --enable-fuse, --disable-fuse, fuse" + +USERADD_PACKAGES = "${PN}" +GROUPADD_PARAM_${PN} = "--system xrdp" +USERADD_PARAM_${PN} = "--system --home /var/run/xrdp -g xrdp \ + --no-create-home --shell /bin/false xrdp" + +FILES_${PN} += "${datadir}/dbus-1/services/*.service \ + ${datadir}/dbus-1/accessibility-services/*.service " + +FILES_${PN}-dev += "${libdir}/xrdp/libcommon.so \ + ${libdir}/xrdp/libxrdp.so \ + ${libdir}/xrdp/libscp.so \ + ${libdir}/xrdp/libxrdpapi.so " + +EXTRA_OECONF = "--enable-pam-config=suse" + +do_configure_prepend() { + cd ${S} + ./bootstrap + cd - +} + +do_compile_prepend() { + sed -i 's/(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am/(MAKE) $(AM_MAKEFLAGS) install-exec-am/g' ${S}/keygen/Makefile.in +} + + +do_install_append() { + install -d ${D}${sysconfdir} + install -d ${D}${sysconfdir}/xrdp + install -d ${D}${sysconfdir}/xrdp/pam.d + install -d ${D}${sysconfdir}/sysconfig/xrdp + + # deal with systemd unit files + install -d ${D}${systemd_unitdir}/system + install -m 0644 ${S}/instfiles/xrdp.service.in ${D}${systemd_unitdir}/system/xrdp.service + install -m 0644 ${S}/instfiles/xrdp-sesman.service.in ${D}${systemd_unitdir}/system/xrdp-sesman.service + sed -i -e 's,@localstatedir@,${localstatedir},g' ${D}${systemd_unitdir}/system/xrdp.service ${D}${systemd_unitdir}/system/xrdp-sesman.service + sed -i -e 's,@sysconfdir@,${sysconfdir},g' ${D}${systemd_unitdir}/system/xrdp.service ${D}${systemd_unitdir}/system/xrdp-sesman.service + sed -i -e 's,@sbindir@,${sbindir},g' ${D}${systemd_unitdir}/system/xrdp.service ${D}${systemd_unitdir}/system/xrdp-sesman.service + + install -m 0644 ${S}/instfiles/*.ini ${D}${sysconfdir}/xrdp/ + install -m 0644 ${S}/sesman/sesman.ini.in ${D}${sysconfdir}/xrdp/ + install -m 0644 ${S}/sesman/startwm.sh ${D}${sysconfdir}/xrdp/ + install -m 0644 ${S}/xrdp/xrdp.ini.in ${D}${sysconfdir}/xrdp/ + install -m 0644 ${S}/xrdp/xrdp_keyboard.ini ${D}${sysconfdir}/xrdp/ + install -m 0644 ${S}/keygen/openssl.conf ${D}${sysconfdir}/xrdp/ + install -m 0644 ${WORKDIR}/xrdp.sysconfig ${D}${sysconfdir}/sysconfig/xrdp/ + chown xrdp:xrdp ${D}${sysconfdir}/xrdp +} + +SYSTEMD_SERVICE_${PN} = "xrdp.service xrdp-sesman.service" + +pkg_postinst_${PN}() { + if test -z "$D" + then + if test -x ${bindir}/xrdp-keygen + then + ${bindir}/xrdp-keygen xrdp ${sysconfdir}/xrdp/rsakeys.ini >/dev/null + fi + if test ! -s ${sysconfdir}/xrdp/cert.pem + then + openssl req -x509 -newkey rsa:2048 -sha256 -nodes -days 3652 \ + -keyout ${sysconfdir}/xrdp/key.pem \ + -out ${sysconfdir}/xrdp/cert.pem \ + -config ${sysconfdir}/xrdp/openssl.conf >/dev/null 2>&1 + chmod 400 ${sysconfdir}/xrdp/key.pem + fi + fi +} diff --git a/meta-openembedded/meta-oe/recipes-support/xxhash/xxhash_0.8.0.bb b/meta-openembedded/meta-oe/recipes-support/xxhash/xxhash_0.8.0.bb deleted file mode 100644 index e437d4d15..000000000 --- a/meta-openembedded/meta-oe/recipes-support/xxhash/xxhash_0.8.0.bb +++ /dev/null @@ -1,21 +0,0 @@ -SUMMARY = "Extremely fast non-cryptographic hash algorithm" -DESCRIPTION = "xxHash is an extremely fast non-cryptographic hash algorithm, \ -working at speeds close to RAM limits." -HOMEPAGE = "http://www.xxhash.com/" -LICENSE = "BSD-2-Clause & GPL-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=b335320506abb0505437e39295e799cb" - -SRC_URI = "git://github.com/Cyan4973/xxHash.git;branch=release;protocol=git" -UPSTREAM_CHECK_GITTAGREGEX = "v(?P\d+(\.\d+)+)" - -SRCREV = "94e5f23e736f2bb67ebdf90727353e65344f9fc0" - -S = "${WORKDIR}/git" - -do_compile () { - oe_runmake all -} - -do_install () { - oe_runmake DESTDIR=${D} install -} diff --git a/meta-openembedded/meta-perl/conf/layer.conf b/meta-openembedded/meta-perl/conf/layer.conf index 2209d3d43..87bb91f61 100644 --- a/meta-openembedded/meta-perl/conf/layer.conf +++ b/meta-openembedded/meta-perl/conf/layer.conf @@ -15,4 +15,4 @@ LAYERVERSION_perl-layer = "1" LAYERDEPENDS_perl-layer = "core openembedded-layer" -LAYERSERIES_COMPAT_perl-layer = "gatesgarth hardknott" +LAYERSERIES_COMPAT_perl-layer = " hardknott" diff --git a/meta-openembedded/meta-perl/recipes-perl/libcrypt/libcrypt-openssl-guess-perl_0.11.bb b/meta-openembedded/meta-perl/recipes-perl/libcrypt/libcrypt-openssl-guess-perl_0.11.bb deleted file mode 100644 index 57df78b4e..000000000 --- a/meta-openembedded/meta-perl/recipes-perl/libcrypt/libcrypt-openssl-guess-perl_0.11.bb +++ /dev/null @@ -1,37 +0,0 @@ -SUMMARY = "Guess OpenSSL include path" -SECTION = "libs" -LICENSE = "Artistic-1.0 | GPL-1.0+" -LIC_FILES_CHKSUM = "file://LICENSE;md5=ea914cc2718e8d53bd7744d96e66c03c" - -SRC_URI = "http://www.cpan.org/modules/by-module/Crypt/Crypt-OpenSSL-Guess-${PV}.tar.gz " - -SRC_URI[md5sum] = "e768fe2c07826b0ac9ea604c79f93032" -SRC_URI[sha256sum] = "aa6b18e38cb852cbad80a58cd90c395b40819d4d01e0ab37e7703149094d7167" - -DEPENDS += "openssl" - -RDEPENDS_${PN} = "\ - perl-module-config \ - perl-module-exporter \ - perl-module-extutils-mm \ - perl-module-extutils-mm-unix \ - perl-module-file-spec \ - perl-module-symbol \ - perl-module-strict \ - perl-module-warnings \ -" - -EXTRA_CPANFLAGS = "INC='-I${STAGING_INCDIR}' LIBS='-L${STAGING_LIBDIR} -lssl -L${STAGING_DIR_TARGET}${base_libdir} -lcrypto'" - -S = "${WORKDIR}/Crypt-OpenSSL-Guess-${PV}" - -inherit cpan ptest-perl - -BBCLASSEXTEND = "native" - -# for backwards compatibility -PROVIDES_${PN} += "libcrypt-openssl-guess" - -RDEPENDS_${PN}-ptest += "\ - perl-module-test-more \ -" diff --git a/meta-openembedded/meta-perl/recipes-perl/libcrypt/libcrypt-openssl-guess-perl_0.12.bb b/meta-openembedded/meta-perl/recipes-perl/libcrypt/libcrypt-openssl-guess-perl_0.12.bb new file mode 100644 index 000000000..6f35e39bf --- /dev/null +++ b/meta-openembedded/meta-perl/recipes-perl/libcrypt/libcrypt-openssl-guess-perl_0.12.bb @@ -0,0 +1,37 @@ +SUMMARY = "Guess OpenSSL include path" +SECTION = "libs" +LICENSE = "Artistic-1.0 | GPL-1.0+" +LIC_FILES_CHKSUM = "file://LICENSE;md5=ea914cc2718e8d53bd7744d96e66c03c" + +SRC_URI = "http://www.cpan.org/modules/by-module/Crypt/Crypt-OpenSSL-Guess-${PV}.tar.gz " + +SRC_URI[md5sum] = "9e86baf96828a38c967003a5e66f0c39" +SRC_URI[sha256sum] = "0a18d18768cf42b49b15c9dea626199dc74346bbbc76acd3d817b9c1d2bd471d" + +DEPENDS += "openssl" + +RDEPENDS_${PN} = "\ + perl-module-config \ + perl-module-exporter \ + perl-module-extutils-mm \ + perl-module-extutils-mm-unix \ + perl-module-file-spec \ + perl-module-symbol \ + perl-module-strict \ + perl-module-warnings \ +" + +EXTRA_CPANFLAGS = "INC='-I${STAGING_INCDIR}' LIBS='-L${STAGING_LIBDIR} -lssl -L${STAGING_DIR_TARGET}${base_libdir} -lcrypto'" + +S = "${WORKDIR}/Crypt-OpenSSL-Guess-${PV}" + +inherit cpan ptest-perl + +BBCLASSEXTEND = "native" + +# for backwards compatibility +PROVIDES_${PN} += "libcrypt-openssl-guess" + +RDEPENDS_${PN}-ptest += "\ + perl-module-test-more \ +" diff --git a/meta-openembedded/meta-python/conf/layer.conf b/meta-openembedded/meta-python/conf/layer.conf index 321d0da5e..ab66ffd8e 100644 --- a/meta-openembedded/meta-python/conf/layer.conf +++ b/meta-openembedded/meta-python/conf/layer.conf @@ -14,6 +14,6 @@ LAYERVERSION_meta-python = "1" LAYERDEPENDS_meta-python = "core (>= 12) openembedded-layer" -LAYERSERIES_COMPAT_meta-python = "gatesgarth hardknott" +LAYERSERIES_COMPAT_meta-python = " hardknott" LICENSE_PATH += "${LAYERDIR}/licenses" diff --git a/meta-openembedded/meta-python/recipes-core/packagegroups/packagegroup-meta-python.bb b/meta-openembedded/meta-python/recipes-core/packagegroups/packagegroup-meta-python.bb index 635dee194..0418b5930 100644 --- a/meta-openembedded/meta-python/recipes-core/packagegroups/packagegroup-meta-python.bb +++ b/meta-openembedded/meta-python/recipes-core/packagegroups/packagegroup-meta-python.bb @@ -21,6 +21,7 @@ RDEPENDS_packagegroup-meta-python3 = "\ python3-aiofiles \ python3-aiohttp \ python3-aiohttp-jinja2 \ + python3-aiohue \ python3-alembic \ python3-ansi2html \ python3-ansicolors \ @@ -103,6 +104,7 @@ RDEPENDS_packagegroup-meta-python3 = "\ python3-djangorestframework \ python3-dnspython \ python3-docopt \ + python3-docutils \ python3-dominate \ python3-dt-schema \ python3-dynamic-dispatch \ @@ -143,6 +145,7 @@ RDEPENDS_packagegroup-meta-python3 = "\ python3-gmqtt \ python3-gnupg \ python3-google-api-python-client \ + python3-gpsd-py3 \ python3-graphviz \ python3-greenlet \ python3-greenstalk \ @@ -150,6 +153,7 @@ RDEPENDS_packagegroup-meta-python3 = "\ python3-grpcio-tools \ python3-gsocketpool \ python3-gunicorn \ + python3-h11 \ python3-h2 \ python3-h5py \ python3-haversine \ @@ -167,6 +171,7 @@ RDEPENDS_packagegroup-meta-python3 = "\ python3-idna \ python3-idna \ python3-idna-ssl \ + python3-ifaddr \ python3-imageio \ python3-incremental \ python3-inflection \ @@ -185,6 +190,7 @@ RDEPENDS_packagegroup-meta-python3 = "\ python3-jdatetime \ python3-jdcal \ python3-jedi \ + python3-jmespath \ python3-jsmin \ python3-jsonpatch \ python3-jsonpath-rw \ @@ -248,6 +254,7 @@ RDEPENDS_packagegroup-meta-python3 = "\ python3-parse-type \ python3-parso \ python3-passlib \ + python3-pastedeploy \ python3-pathtools3 \ python3-pep8 \ python3-periphery \ @@ -320,6 +327,7 @@ RDEPENDS_packagegroup-meta-python3 = "\ python3-pyscaffold \ python3-pyserial \ python3-pysocks \ + python3-pysonos \ python3-pystache \ python3-pystemd \ python3-pytest-asyncio \ @@ -329,6 +337,7 @@ RDEPENDS_packagegroup-meta-python3 = "\ python3-pytest-runner \ python3-pytest-tempdir \ python3-pytest-timeout \ + python3-pythonping \ python3-python-vlc \ python3-pytoml \ python3-pytun \ @@ -361,6 +370,7 @@ RDEPENDS_packagegroup-meta-python3 = "\ python3-scrypt \ python3-sdnotify \ python3-semver \ + python3-semantic-version \ python3-send2trash \ python3-sentry-sdk \ python3-serpent \ @@ -405,6 +415,7 @@ RDEPENDS_packagegroup-meta-python3 = "\ python3-twitter \ python3-twofish \ python3-txaio \ + python3-txdbus \ python3-txws \ python3-typed-ast \ python3-typeguard \ @@ -444,6 +455,7 @@ RDEPENDS_packagegroup-meta-python3 = "\ python3-zopeinterface \ telepathy-python3 \ " +RDEPENDS_packagegroup-meta-python3_remove_libc-musl_powerpc64le = "python3-grpcio python3-grpcio-tools" RDEPENDS_packagegroup-meta-python3-ptest = "\ python3-cryptography-ptest \ @@ -507,6 +519,7 @@ RDEPENDS_packagegroup-meta-python3-ptest = "\ python3-uritemplate-ptest \ python3-webcolors-ptest \ python3-whoosh-ptest \ + python3-wpa-supplicant \ python3-xlrd-ptest \ python3-xmltodict-ptest \ python3-xxhash-ptest \ diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-aiohue_2.2.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-aiohue_2.2.0.bb new file mode 100644 index 000000000..a2a7363f6 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-aiohue_2.2.0.bb @@ -0,0 +1,12 @@ +DESCRIPTION = "Asynchronous library to control Philips Hue" +HOMEPAGE = "https://pypi.org/project/aiohue/" +SECTION = "devel/python" +LICENSE = "Apache-2.0" +# No license file available but the license is specified in PKG-INFO and setup.py. +LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=7145f7cdd263359b62d342a02f005515" + +SRC_URI[sha256sum] = "35696d04d6eb0328b7031ea3c0a3cfe5d83dfcf62f920522e4767d165c6bc529" + +inherit pypi setuptools3 + +RDEPENDS_${PN} += "${PYTHON_PN}-aiohttp" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-alembic_1.5.5.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-alembic_1.5.5.bb deleted file mode 100644 index 92b691e17..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-alembic_1.5.5.bb +++ /dev/null @@ -1,16 +0,0 @@ -DESCRIPTION = "A database migration tool for SQLAlchemy" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=c4ece55266dcdd02ce165b1ee0e490bb" - -inherit pypi setuptools3 - -SRC_URI[sha256sum] = "df0028c19275a2cff137e39617a39cdcdbd1173733b87b6bfa257b7c0860213b" - -PYPI_PACKAGE = "alembic" - -RDEPENDS_${PN} += "\ - ${PYTHON_PN}-dateutil \ - ${PYTHON_PN}-editor \ - ${PYTHON_PN}-mako \ - ${PYTHON_PN}-sqlalchemy \ -" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-alembic_1.5.8.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-alembic_1.5.8.bb new file mode 100644 index 000000000..fdf0d36b5 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-alembic_1.5.8.bb @@ -0,0 +1,16 @@ +DESCRIPTION = "A database migration tool for SQLAlchemy" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=c4ece55266dcdd02ce165b1ee0e490bb" + +inherit pypi setuptools3 + +SRC_URI[sha256sum] = "e27fd67732c97a1c370c33169ef4578cf96436fa0e7dcfaeeef4a917d0737d56" + +PYPI_PACKAGE = "alembic" + +RDEPENDS_${PN} += "\ + ${PYTHON_PN}-dateutil \ + ${PYTHON_PN}-editor \ + ${PYTHON_PN}-mako \ + ${PYTHON_PN}-sqlalchemy \ +" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_2.5.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_2.5.2.bb new file mode 100644 index 000000000..93027754b --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_2.5.2.bb @@ -0,0 +1,32 @@ +SUMMARY = "An abstract syntax tree for Python with inference support." +HOMEPAGE = "https://pypi.python.org/pypi/astroid" +SECTION = "devel/python" +LICENSE = "LGPL-2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" + +SRC_URI[sha256sum] = "6b0ed1af831570e500e2437625979eaa3b36011f66ddfc4ce930128610258ca9" + +inherit pypi setuptools3 + +DEPENDS += "${PYTHON_PN}-pytest-runner-native" + +PACKAGES =+ "${PN}-tests" + +FILES_${PN}-tests += " \ + ${PYTHON_SITEPACKAGES_DIR}/astroid/test* \ + ${PYTHON_SITEPACKAGES_DIR}/astroid/__pycache__/test* \ +" + +RDEPENDS_${PN}_class-target += "\ + ${PYTHON_PN}-distutils \ + ${PYTHON_PN}-lazy-object-proxy \ + ${PYTHON_PN}-logging \ + ${PYTHON_PN}-six \ + ${PYTHON_PN}-wrapt \ + ${PYTHON_PN}-setuptools \ +" + +RDEPENDS_${PN}-tests_class-target += "\ + ${PYTHON_PN}-unittest \ + ${PYTHON_PN}-xml \ +" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_2.5.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_2.5.bb deleted file mode 100644 index f69d85015..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_2.5.bb +++ /dev/null @@ -1,32 +0,0 @@ -SUMMARY = "An abstract syntax tree for Python with inference support." -HOMEPAGE = "https://pypi.python.org/pypi/astroid" -SECTION = "devel/python" -LICENSE = "LGPL-2.1" -LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" - -SRC_URI[sha256sum] = "b31c92f545517dcc452f284bc9c044050862fbe6d93d2b3de4a215a6b384bf0d" - -inherit pypi setuptools3 - -DEPENDS += "${PYTHON_PN}-pytest-runner-native" - -PACKAGES =+ "${PN}-tests" - -FILES_${PN}-tests += " \ - ${PYTHON_SITEPACKAGES_DIR}/astroid/test* \ - ${PYTHON_SITEPACKAGES_DIR}/astroid/__pycache__/test* \ -" - -RDEPENDS_${PN}_class-target += "\ - ${PYTHON_PN}-distutils \ - ${PYTHON_PN}-lazy-object-proxy \ - ${PYTHON_PN}-logging \ - ${PYTHON_PN}-six \ - ${PYTHON_PN}-wrapt \ - ${PYTHON_PN}-setuptools \ -" - -RDEPENDS_${PN}-tests_class-target += "\ - ${PYTHON_PN}-unittest \ - ${PYTHON_PN}-xml \ -" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-autobahn_21.2.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-autobahn_21.2.2.bb deleted file mode 100644 index cc3773fc5..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-autobahn_21.2.2.bb +++ /dev/null @@ -1,23 +0,0 @@ -DESCRIPTION = "WebSocket client & server library, WAMP real-time framework" -HOMEPAGE = "http://crossbar.io/autobahn" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=97c0bda20ad1d845c6369c0e47a1cd98" - -SRC_URI[sha256sum] = "bf7a9d302a34d0f719d43c57f65ca1f2f5c982dd6ea0c11e1e190ef6f43710fe" - -inherit pypi setuptools3 - -RDEPENDS_${PN} += " \ - ${PYTHON_PN}-twisted \ - ${PYTHON_PN}-zopeinterface \ - ${PYTHON_PN}-py-ubjson \ - ${PYTHON_PN}-cbor2 \ - ${PYTHON_PN}-u-msgpack-python \ - ${PYTHON_PN}-lz4 \ - ${PYTHON_PN}-snappy \ - ${PYTHON_PN}-pyopenssl \ - ${PYTHON_PN}-txaio \ - ${PYTHON_PN}-six \ -" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-autobahn_21.3.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-autobahn_21.3.1.bb new file mode 100644 index 000000000..daa66ec1a --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-autobahn_21.3.1.bb @@ -0,0 +1,23 @@ +DESCRIPTION = "WebSocket client & server library, WAMP real-time framework" +HOMEPAGE = "http://crossbar.io/autobahn" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=97c0bda20ad1d845c6369c0e47a1cd98" + +SRC_URI[sha256sum] = "e126c1f583e872fb59e79d36977cfa1f2d0a8a79f90ae31f406faae7664b8e03" + +inherit pypi setuptools3 + +RDEPENDS_${PN} += " \ + ${PYTHON_PN}-twisted \ + ${PYTHON_PN}-zopeinterface \ + ${PYTHON_PN}-py-ubjson \ + ${PYTHON_PN}-cbor2 \ + ${PYTHON_PN}-u-msgpack-python \ + ${PYTHON_PN}-lz4 \ + ${PYTHON_PN}-snappy \ + ${PYTHON_PN}-pyopenssl \ + ${PYTHON_PN}-txaio \ + ${PYTHON_PN}-six \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-backports-functools-lru-cache_1.6.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-backports-functools-lru-cache_1.6.1.bb deleted file mode 100644 index e967958c0..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-backports-functools-lru-cache_1.6.1.bb +++ /dev/null @@ -1,32 +0,0 @@ -SUMMARY = "Backport of functools.lru_cache from Python 3.3" -HOMEPAGE = "https://github.com/jaraco/backports.functools_lru_cache" -SECTION = "devel/python" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=a33f38bbf47d48c70fe0d40e5f77498e" - -PYPI_PACKAGE = "backports.functools_lru_cache" - -SRC_URI[md5sum] = "103000b21a8e683647e2ce41929f2a9d" -SRC_URI[sha256sum] = "8fde5f188da2d593bd5bc0be98d9abc46c95bb8a9dde93429570192ee6cc2d4a" - -DEPENDS += "${PYTHON_PN}-setuptools-scm-native" - -inherit pypi setuptools3 ptest - -SRC_URI += " \ - file://run-ptest \ -" - -RDEPENDS_${PN}-ptest += " \ - ${PYTHON_PN}-pytest \ -" - -do_install_ptest() { - install -d ${D}${PTEST_PATH}/tests - cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/ -} - -RDEPENDS_${PN} += "\ - ${PYTHON_PN}-pickle \ - ${PYTHON_PN}-threading \ - " diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-backports-functools-lru-cache_1.6.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-backports-functools-lru-cache_1.6.3.bb new file mode 100644 index 000000000..0d232dcab --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-backports-functools-lru-cache_1.6.3.bb @@ -0,0 +1,31 @@ +SUMMARY = "Backport of functools.lru_cache from Python 3.3" +HOMEPAGE = "https://github.com/jaraco/backports.functools_lru_cache" +SECTION = "devel/python" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=7a7126e068206290f3fe9f8d6c713ea6" + +PYPI_PACKAGE = "backports.functools_lru_cache" + +SRC_URI[sha256sum] = "d84e126e2a29e4fde8931ff8131240bbf30a0e7dbcc3897a8dbd8ea5ac11419c" + +DEPENDS += "${PYTHON_PN}-setuptools-scm-native" + +inherit pypi setuptools3 ptest + +SRC_URI += " \ + file://run-ptest \ +" + +RDEPENDS_${PN}-ptest += " \ + ${PYTHON_PN}-pytest \ +" + +do_install_ptest() { + install -d ${D}${PTEST_PATH}/tests + cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/ +} + +RDEPENDS_${PN} += "\ + ${PYTHON_PN}-pickle \ + ${PYTHON_PN}-threading \ + " diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_1.6.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_1.6.3.bb deleted file mode 100644 index 16beab551..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_1.6.3.bb +++ /dev/null @@ -1,10 +0,0 @@ -SUMMARY = "A high-level Python efficient arrays of booleans -- C extension" -HOMEPAGE = "https://github.com/ilanschnell/bitarray" -LICENSE = "PSF" -LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=2ad702cdcd49e8d2ac01d7e7d0810d2d" - -SRC_URI[sha256sum] = "ae27ce4bef4f35b4cc2c0b0d9cf02ed49eee567c23d70cb5066ad215f9b62b3c" - -inherit setuptools3 pypi - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_1.8.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_1.8.1.bb new file mode 100644 index 000000000..9bb5f280d --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_1.8.1.bb @@ -0,0 +1,10 @@ +SUMMARY = "A high-level Python efficient arrays of booleans -- C extension" +HOMEPAGE = "https://github.com/ilanschnell/bitarray" +LICENSE = "PSF" +LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=2ad702cdcd49e8d2ac01d7e7d0810d2d" + +SRC_URI[sha256sum] = "e02f79fba7a470d438eb39017d503498faaf760b17b6b46af1a9de12fd58d311" + +inherit setuptools3 pypi + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-cassandra-driver_3.24.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-cassandra-driver_3.24.0.bb deleted file mode 100644 index 562829028..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-cassandra-driver_3.24.0.bb +++ /dev/null @@ -1,35 +0,0 @@ -SUMMARY = "DataStax Python Driver for Apache Cassandra" -DESCRIPTION = "A modern, feature-rich and highly-tunable Python client \ -library for Apache Cassandra (1.2+) and DataStax Enterprise (3.1+) using \ -exclusively Cassandra's binary protocol and Cassandra Query Language v3." -HOMEPAGE = "https://github.com/datastax/python-driver" -SECTION = "devel/python" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=2ee41112a44fe7014dce33e26468ba93" -SRCNAME = "cassandra-driver" - -SRC_URI[md5sum] = "c31bc29989d8b0c7524a38b0e38c8bfb" -SRC_URI[sha256sum] = "83ec8d9a5827ee44bb1c0601a63696a8a9086beaf0151c8255556299246081bd" - -DISTUTILS_BUILD_ARGS += " \ - --no-libev \ -" -DISTUTILS_INSTALL_ARGS += " \ - --no-libev \ -" - -inherit pypi setuptools3 - -RDEPENDS_${PN} += "\ - ${PYTHON_PN}-cython \ - ${PYTHON_PN}-json \ - ${PYTHON_PN}-misc \ - ${PYTHON_PN}-multiprocessing \ - ${PYTHON_PN}-numbers \ - ${PYTHON_PN}-six \ - libevent \ -" - -DEPENDS += "\ - ${PYTHON_PN}-cython \ -" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-cassandra-driver_3.25.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-cassandra-driver_3.25.0.bb new file mode 100644 index 000000000..a1941bf3c --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-cassandra-driver_3.25.0.bb @@ -0,0 +1,34 @@ +SUMMARY = "DataStax Python Driver for Apache Cassandra" +DESCRIPTION = "A modern, feature-rich and highly-tunable Python client \ +library for Apache Cassandra (1.2+) and DataStax Enterprise (3.1+) using \ +exclusively Cassandra's binary protocol and Cassandra Query Language v3." +HOMEPAGE = "https://github.com/datastax/python-driver" +SECTION = "devel/python" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=2ee41112a44fe7014dce33e26468ba93" +SRCNAME = "cassandra-driver" + +SRC_URI[sha256sum] = "8ad7d7c090eb1cac6110b3bfc1fd2d334ac62f415aac09350ebb8d241b7aa7ee" + +DISTUTILS_BUILD_ARGS += " \ + --no-libev \ +" +DISTUTILS_INSTALL_ARGS += " \ + --no-libev \ +" + +inherit pypi setuptools3 + +RDEPENDS_${PN} += "\ + ${PYTHON_PN}-cython \ + ${PYTHON_PN}-json \ + ${PYTHON_PN}-misc \ + ${PYTHON_PN}-multiprocessing \ + ${PYTHON_PN}-numbers \ + ${PYTHON_PN}-six \ + libevent \ +" + +DEPENDS += "\ + ${PYTHON_PN}-cython \ +" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-colorlog_4.7.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-colorlog_4.7.2.bb deleted file mode 100644 index c9754ed88..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-colorlog_4.7.2.bb +++ /dev/null @@ -1,10 +0,0 @@ -DESCRIPTION = "A colored formatter for the python logging module" -HOMEPAGE = "https://github.com/borntyping/python-colorlog" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=85a1d478cd35d62763a1419e948bdde4" - -inherit pypi setuptools3 - -PYPI_PACKAGE = "colorlog" - -SRC_URI[sha256sum] = "18d05b616438a75762d7d214b9ec3b05d274466c9f3ddd92807e755840c88251" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-colorlog_4.8.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-colorlog_4.8.0.bb new file mode 100644 index 000000000..6f9b8d47a --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-colorlog_4.8.0.bb @@ -0,0 +1,10 @@ +DESCRIPTION = "A colored formatter for the python logging module" +HOMEPAGE = "https://github.com/borntyping/python-colorlog" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=85a1d478cd35d62763a1419e948bdde4" + +inherit pypi setuptools3 + +PYPI_PACKAGE = "colorlog" + +SRC_URI[sha256sum] = "59b53160c60902c405cdec28d38356e09d40686659048893e026ecbd589516b1" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-configargparse_1.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-configargparse_1.3.bb deleted file mode 100644 index aac58de37..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-configargparse_1.3.bb +++ /dev/null @@ -1,20 +0,0 @@ -SUMMARY = "A drop-in replacement for argparse that allows options to also be set via config files and/or environment variables." -HOMEPAGE = "https://github.com/bw2/ConfigArgParse" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=da746463714cc35999ed9a42339f2943" - -SRC_URI[sha256sum] = "0428b975ab6c48bb101ccb732e1b5cb616296e28268e032aa806f32b647a1cc1" - -PYPI_PACKAGE = "ConfigArgParse" - -inherit pypi setuptools3 - -PACKAGECONFIG ?= "yaml" -PACKAGECONFIG[yaml] = ",,,${PYTHON_PN}-pyyaml" - -RDEPENDS_${PN} += "\ - ${PYTHON_PN}-core \ - ${PYTHON_PN}-shell \ -" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-configargparse_1.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-configargparse_1.4.bb new file mode 100644 index 000000000..393f13874 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-configargparse_1.4.bb @@ -0,0 +1,20 @@ +SUMMARY = "A drop-in replacement for argparse that allows options to also be set via config files and/or environment variables." +HOMEPAGE = "https://github.com/bw2/ConfigArgParse" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=da746463714cc35999ed9a42339f2943" + +SRC_URI[sha256sum] = "abef9ff44fb0091f0e3bb2ee7e5b26a02b5b62d45408a5272a9bd461f5b59b4b" + +PYPI_PACKAGE = "ConfigArgParse" + +inherit pypi setuptools3 + +PACKAGECONFIG ?= "yaml" +PACKAGECONFIG[yaml] = ",,,${PYTHON_PN}-pyyaml" + +RDEPENDS_${PN} += "\ + ${PYTHON_PN}-core \ + ${PYTHON_PN}-shell \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-configparser_5.0.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-configparser_5.0.1.bb deleted file mode 100644 index b78de5844..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-configparser_5.0.1.bb +++ /dev/null @@ -1,14 +0,0 @@ -SUMMARY = "This module provides the ConfigParser class which implements a basic configuration language which provides a structure similar to what's found in Microsoft Windows INI files." -SECTION = "devel/python" -HOMEPAGE = "https://docs.python.org/3/library/configparser.html" -LICENSE = "MIT" - -LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=10;endline=10;md5=23f9ad5cad3d8cc0336e2a5d8a87e1fa" - -SRC_URI[md5sum] = "5faf185693cd21d83f6a3bc01b5733fa" -SRC_URI[sha256sum] = "005c3b102c96f4be9b8f40dafbd4997db003d07d1caa19f37808be8031475f2a" - -DEPENDS += "${PYTHON_PN}-setuptools-scm-native ${PYTHON_PN}-toml-native" -inherit pypi setuptools3 - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-configparser_5.0.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-configparser_5.0.2.bb new file mode 100644 index 000000000..87cdd09f7 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-configparser_5.0.2.bb @@ -0,0 +1,13 @@ +SUMMARY = "This module provides the ConfigParser class which implements a basic configuration language which provides a structure similar to what's found in Microsoft Windows INI files." +SECTION = "devel/python" +HOMEPAGE = "https://docs.python.org/3/library/configparser.html" +LICENSE = "MIT" + +LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=10;endline=10;md5=23f9ad5cad3d8cc0336e2a5d8a87e1fa" + +SRC_URI[sha256sum] = "85d5de102cfe6d14a5172676f09d19c465ce63d6019cf0a4ef13385fc535e828" + +DEPENDS += "${PYTHON_PN}-setuptools-scm-native ${PYTHON_PN}-toml-native" +inherit pypi setuptools3 + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-configshell-fb_1.1.28.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-configshell-fb_1.1.28.bb deleted file mode 100644 index 2d9ec079a..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-configshell-fb_1.1.28.bb +++ /dev/null @@ -1,16 +0,0 @@ -SUMMARY = "A Python library for building configuration shells" -DESCRIPTION = "configshell-fb is a Python library that provides a framework for \ -building simple but nice CLI-based applications. This runs with Python 2 and \ -2to3 is run by setup.py to run on Python 3." - -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://COPYING;md5=1dece7821bf3fd70fe1309eaa37d52a2" - -SRC_URI = "git://github.com/open-iscsi/configshell-fb.git;protocol=https;branch=master" -SRCREV = "da8f0cef114e7343a7ae96ff1db7c8c574f819be" - -S = "${WORKDIR}/git" - -inherit setuptools3 - -RDEPENDS_${PN} += "python3-modules python3-fcntl python3-six" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-configshell-fb_1.1.29.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-configshell-fb_1.1.29.bb new file mode 100644 index 000000000..70e67a1a7 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-configshell-fb_1.1.29.bb @@ -0,0 +1,16 @@ +SUMMARY = "A Python library for building configuration shells" +DESCRIPTION = "configshell-fb is a Python library that provides a framework for \ +building simple but nice CLI-based applications. This runs with Python 2 and \ +2to3 is run by setup.py to run on Python 3." + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://COPYING;md5=1dece7821bf3fd70fe1309eaa37d52a2" + +SRC_URI = "git://github.com/open-iscsi/configshell-fb.git;protocol=https;branch=master" +SRCREV = "d74a33b69f688ed9b8b28033835303604639d4eb" + +S = "${WORKDIR}/git" + +inherit setuptools3 + +RDEPENDS_${PN} += "python3-modules python3-fcntl python3-six" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-coverage_5.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-coverage_5.4.bb deleted file mode 100644 index 4ea9b6a19..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-coverage_5.4.bb +++ /dev/null @@ -1,9 +0,0 @@ -SUMMARY = "Code coverage measurement for Python" -HOMEPAGE = "https://coverage.readthedocs.io" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=2ee41112a44fe7014dce33e26468ba93" - -SRC_URI[sha256sum] = "6d2e262e5e8da6fa56e774fb8e2643417351427604c2b177f8e8c5f75fc928ca" - -inherit pypi setuptools3 - diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-coverage_5.5.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-coverage_5.5.bb new file mode 100644 index 000000000..c780a63ae --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-coverage_5.5.bb @@ -0,0 +1,9 @@ +SUMMARY = "Code coverage measurement for Python" +HOMEPAGE = "https://coverage.readthedocs.io" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=2ee41112a44fe7014dce33e26468ba93" + +SRC_URI[sha256sum] = "ebe78fe9a0e874362175b02371bdfbee64d8edc42a044253ddf4ee7d3c15212c" + +inherit pypi setuptools3 + diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-croniter_1.0.10.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-croniter_1.0.10.bb new file mode 100644 index 000000000..6cd87fea9 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-croniter_1.0.10.bb @@ -0,0 +1,12 @@ +DESCRIPTION = "croniter provides iteration for datetime object with cron like format" +SECTION = "devel/python" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://docs/LICENSE;md5=b8ee59850b882cbf623188489ea748e2" + +PYPI_PACKAGE = "croniter" + +SRC_URI[sha256sum] = "364c48e393060295c3161588a6556d5c890b5c34299973c393adbe4488ca1ecb" + +inherit pypi setuptools3 + +RDEPENDS_${PN} += " python3-dateutil python3-natsort" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-croniter_1.0.6.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-croniter_1.0.6.bb deleted file mode 100644 index d3b6fa1f4..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-croniter_1.0.6.bb +++ /dev/null @@ -1,12 +0,0 @@ -DESCRIPTION = "croniter provides iteration for datetime object with cron like format" -SECTION = "devel/python" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://docs/LICENSE;md5=b8ee59850b882cbf623188489ea748e2" - -PYPI_PACKAGE = "croniter" - -SRC_URI[sha256sum] = "e79bcc9681d2345e71360241aebe19ed6c5475fec40cc59a7998fe1a2ca568d0" - -inherit pypi setuptools3 - -RDEPENDS_${PN} += " python3-dateutil python3-natsort" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-defusedxml_0.6.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-defusedxml_0.6.0.bb deleted file mode 100644 index d041d0e6c..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-defusedxml_0.6.0.bb +++ /dev/null @@ -1,11 +0,0 @@ -SUMMARY = "XML bomb protection for Python stdlib modules" -DESCRIPTION = "Python package with modified subclasses of all stdlib XML \ -parsers that prevent any potentially malicious operation." - -LICENSE = "PSF" -LIC_FILES_CHKSUM = "file://LICENSE;md5=056fea6a4b395a24d0d278bf5c80249e" - -SRC_URI[md5sum] = "a59741f675c4cba649de40a99f732897" -SRC_URI[sha256sum] = "f684034d135af4c6cbb949b8a4d2ed61634515257a67299e5f940fbaa34377f5" - -inherit pypi setuptools3 diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-defusedxml_0.7.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-defusedxml_0.7.1.bb new file mode 100644 index 000000000..f48c429c4 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-defusedxml_0.7.1.bb @@ -0,0 +1,10 @@ +SUMMARY = "XML bomb protection for Python stdlib modules" +DESCRIPTION = "Python package with modified subclasses of all stdlib XML \ +parsers that prevent any potentially malicious operation." + +LICENSE = "PSF" +LIC_FILES_CHKSUM = "file://LICENSE;md5=056fea6a4b395a24d0d278bf5c80249e" + +SRC_URI[sha256sum] = "1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69" + +inherit pypi setuptools3 diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-django_3.1.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-django_3.1.1.bb deleted file mode 100644 index ed6513d0c..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-django_3.1.1.bb +++ /dev/null @@ -1,14 +0,0 @@ -require python-django.inc -inherit setuptools3 - -SRC_URI[md5sum] = "d5e894fb3c46064e84e9dc68a08a46d0" -SRC_URI[sha256sum] = "59c8125ca873ed3bdae9c12b146fbbd6ed8d0f743e4cf5f5817af50c51f1fc2f" - -RDEPENDS_${PN} += "\ - ${PYTHON_PN}-sqlparse \ -" - -# Set DEFAULT_PREFERENCE so that the LTS version of django is built by -# default. To build the 3.x branch, -# PREFERRED_VERSION_python3-django = "3.1.1" can be added to local.conf -DEFAULT_PREFERENCE = "-1" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-django_3.1.7.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-django_3.1.7.bb new file mode 100644 index 000000000..d22bd14e8 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-django_3.1.7.bb @@ -0,0 +1,13 @@ +require python-django.inc +inherit setuptools3 + +SRC_URI[sha256sum] = "32ce792ee9b6a0cbbec340123e229ac9f765dff8c2a4ae9247a14b2ba3a365a7" + +RDEPENDS_${PN} += "\ + ${PYTHON_PN}-sqlparse \ +" + +# Set DEFAULT_PREFERENCE so that the LTS version of django is built by +# default. To build the 3.x branch, +# PREFERRED_VERSION_python3-django = "3.1.7" can be added to local.conf +DEFAULT_PREFERENCE = "-1" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-djangorestframework_3.12.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-djangorestframework_3.12.2.bb deleted file mode 100644 index 6742b87b2..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-djangorestframework_3.12.2.bb +++ /dev/null @@ -1,16 +0,0 @@ -SUMMARY = "djangorestframework" -DESCRIPTION = "pip3 install djangorestframework" -HOMEPAGE = "https://pypi.python.org/pypi/djangorestframework" - -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE.md;md5=7879a5a716147a784f7e524c9cf103c1" - -SRC_URI[md5sum] = "e70d58ee2f83f11d4efe33162bb8af3b" -SRC_URI[sha256sum] = "0898182b4737a7b584a2c73735d89816343369f259fea932d90dc78e35d8ac33" -PYPI_PACKAGE = "djangorestframework" - -inherit pypi setuptools3 - -RDEPENDS_${PN} += "\ - ${PYTHON_PN}-django \ -" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-djangorestframework_3.12.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-djangorestframework_3.12.4.bb new file mode 100644 index 000000000..417e36721 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-djangorestframework_3.12.4.bb @@ -0,0 +1,16 @@ +SUMMARY = "djangorestframework" +DESCRIPTION = "pip3 install djangorestframework" +HOMEPAGE = "https://pypi.python.org/pypi/djangorestframework" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=7879a5a716147a784f7e524c9cf103c1" + +SRC_URI[sha256sum] = "f747949a8ddac876e879190df194b925c177cdeb725a099db1460872f7c0a7f2" + +PYPI_PACKAGE = "djangorestframework" + +inherit pypi setuptools3 + +RDEPENDS_${PN} += "\ + ${PYTHON_PN}-django \ +" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-docutils_0.16.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-docutils_0.16.bb new file mode 100644 index 000000000..44b7320cb --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-docutils_0.16.bb @@ -0,0 +1,10 @@ +SUMMARY = "Docutils is a modular system for processing documentation into useful formats" +HOMEPAGE = "https://pypi.org/project/docutils/" +SECTION = "devel/python" +LICENSE = "BSD-2-Clause & GPL-2.0 & Python-2.0" +LIC_FILES_CHKSUM = "file://COPYING.txt;md5=7a4646907ab9083c826280b19e103106" + +SRC_URI[md5sum] = "9ccb6f332e23360f964de72c8ea5f0ed" +SRC_URI[sha256sum] = "7d4e999cca74a52611773a42912088078363a30912e8822f7a3d38043b767573" + +inherit pypi setuptools3 diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-elementpath_2.1.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-elementpath_2.1.4.bb deleted file mode 100644 index 10aa17d38..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-elementpath_2.1.4.bb +++ /dev/null @@ -1,11 +0,0 @@ -DESCRIPTION = "Provide XPath 1.0 and 2.0 selectors for Python's ElementTree XML data structures, both for the standard ElementTree library and for the lxml.etree library." -HOMEPAGE = "https://github.com/sissaschool/elementpath" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=5dbb7fb7d72da3921202dd7b995d3ecf" - -SRC_URI[sha256sum] = "326643aca7beff0864d022cd591736b8550a70fccafd67a89198166baed1c2c4" - -PYPI_PACKAGE = "elementpath" -inherit pypi setuptools3 - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-elementpath_2.2.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-elementpath_2.2.1.bb new file mode 100644 index 000000000..b0a733968 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-elementpath_2.2.1.bb @@ -0,0 +1,11 @@ +DESCRIPTION = "Provide XPath 1.0 and 2.0 selectors for Python's ElementTree XML data structures, both for the standard ElementTree library and for the lxml.etree library." +HOMEPAGE = "https://github.com/sissaschool/elementpath" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=5dbb7fb7d72da3921202dd7b995d3ecf" + +SRC_URI[sha256sum] = "c7b996c5624926f329f4379fbcffd5787629e08b2f8d7159d23525e9243ba637" + +PYPI_PACKAGE = "elementpath" +inherit pypi setuptools3 + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-migrate_2.6.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-migrate_2.6.0.bb deleted file mode 100644 index 810f0eb27..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-migrate_2.6.0.bb +++ /dev/null @@ -1,15 +0,0 @@ -DESCRIPTION = "SQLAlchemy database migrations for Flask applications using Alembic" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=3b69377f79f3f48c661701236d5a6a85" - -SRC_URI[sha256sum] = "8626af845e6071ef80c70b0dc16d373f761c981f0ad61bb143a529cab649e725" - -PYPI_PACKAGE = "Flask-Migrate" - -inherit pypi setuptools3 - -RDEPENDS_${PN} += "\ - ${PYTHON_PN}-flask-sqlalchemy \ - ${PYTHON_PN}-alembic \ - ${PYTHON_PN}-flask \ - " diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-migrate_2.7.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-migrate_2.7.0.bb new file mode 100644 index 000000000..1bf0dfa80 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-migrate_2.7.0.bb @@ -0,0 +1,15 @@ +DESCRIPTION = "SQLAlchemy database migrations for Flask applications using Alembic" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=3b69377f79f3f48c661701236d5a6a85" + +SRC_URI[sha256sum] = "ae2f05671588762dd83a21d8b18c51fe355e86783e24594995ff8d7380dffe38" + +PYPI_PACKAGE = "Flask-Migrate" + +inherit pypi setuptools3 + +RDEPENDS_${PN} += "\ + ${PYTHON_PN}-flask-sqlalchemy \ + ${PYTHON_PN}-alembic \ + ${PYTHON_PN}-flask \ + " diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-sqlalchemy_2.4.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-sqlalchemy_2.4.4.bb deleted file mode 100644 index 2755c7d6b..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-sqlalchemy_2.4.4.bb +++ /dev/null @@ -1,12 +0,0 @@ -DESCRIPTION = "Adds SQLAlchemy support to your Flask application." -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=ffeffa59c90c9c4a033c7574f8f3fb75" - -SRC_URI[md5sum] = "63a522cb82a75292dc8bc77b6d26187a" -SRC_URI[sha256sum] = "bfc7150eaf809b1c283879302f04c42791136060c6eeb12c0c6674fb1291fae5" - -PYPI_PACKAGE = "Flask-SQLAlchemy" - -inherit pypi setuptools3 - -RDEPENDS_${PN} = "${PYTHON_PN}-sqlalchemy ${PYTHON_PN}-flask" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-sqlalchemy_2.5.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-sqlalchemy_2.5.1.bb new file mode 100644 index 000000000..3ca0227bd --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-sqlalchemy_2.5.1.bb @@ -0,0 +1,11 @@ +DESCRIPTION = "Adds SQLAlchemy support to your Flask application." +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=ffeffa59c90c9c4a033c7574f8f3fb75" + +SRC_URI[sha256sum] = "2bda44b43e7cacb15d4e05ff3cc1f8bc97936cc464623424102bfc2c35e95912" + +PYPI_PACKAGE = "Flask-SQLAlchemy" + +inherit pypi setuptools3 + +RDEPENDS_${PN} = "${PYTHON_PN}-sqlalchemy ${PYTHON_PN}-flask" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_1.12.8.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_1.12.8.bb deleted file mode 100644 index 1774f962e..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_1.12.8.bb +++ /dev/null @@ -1,8 +0,0 @@ -SUMMARY = "The Google API Client for Python is a client library for accessing the Plus, Moderator, and many other Google APIs." -HOMEPAGE = "https://github.com/googleapis/google-api-python-client" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=94023d14f6b58272fd885e4e3f2f08b3" - -SRC_URI[sha256sum] = "f3b9684442eec2cfe9f9bb48e796ef919456b82142c7528c5fd527e5224f08bb" - -inherit pypi setuptools3 diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.0.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.0.2.bb new file mode 100644 index 000000000..38aa349a6 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.0.2.bb @@ -0,0 +1,9 @@ +SUMMARY = "The Google API Client for Python is a client library for accessing the Plus, \ +Moderator, and many other Google APIs." +HOMEPAGE = "https://github.com/googleapis/google-api-python-client" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=94023d14f6b58272fd885e4e3f2f08b3" + +SRC_URI[sha256sum] = "48686cceb0dc8cb8b9ee1920ad7c0d9b499ef4fca0ca51c1c69f1e462a628011" + +inherit pypi setuptools3 diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-gpsd-py3_0.3.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-gpsd-py3_0.3.0.bb new file mode 100644 index 000000000..35485ba7c --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-gpsd-py3_0.3.0.bb @@ -0,0 +1,16 @@ +DESCRIPTION = "This is a library for polling gpsd in Python3" +HOMEPAGE = "https://github.com/MartijnBraam/gpsd-py3" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://setup.py;beginline=10;endline=10;md5=c2d9994c57f0444e39f1dab19af50254" +SRC_URI[md5sum] = "041ce56e8879e2104b4d54c8119cd529" +SRC_URI[sha256sum] = "2908d3bd78dfb6720ecfe22f97e139b5a4a198f38df3a77215cf644a33513192" + +PYPI_PACKAGE = "gpsd-py3" + +inherit pypi setuptools3 + +CLEANBROKEN = "1" + +RDEPENDS_${PN} += " \ + python3 \ +" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio-tools_1.35.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio-tools_1.35.0.bb deleted file mode 100644 index 12b00cfa3..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio-tools_1.35.0.bb +++ /dev/null @@ -1,18 +0,0 @@ -DESCRIPTION = "Google gRPC tools" -HOMEPAGE = "http://www.grpc.io/" -SECTION = "devel/python" - -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=7145f7cdd263359b62d342a02f005515" - -inherit pypi setuptools3 - -DEPENDS += "${PYTHON_PN}-grpcio" - -SRC_URI += "file://0001-setup.py-Do-not-mix-C-and-C-compiler-options.patch" - -SRC_URI[sha256sum] = "9e2a41cba9c5a20ae299d0fdd377fe231434fa04cbfbfb3807293c6ec10b03cf" - -RDEPENDS_${PN} = "${PYTHON_PN}-grpcio" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio-tools_1.36.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio-tools_1.36.1.bb new file mode 100644 index 000000000..da571d3a2 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio-tools_1.36.1.bb @@ -0,0 +1,22 @@ +DESCRIPTION = "Google gRPC tools" +HOMEPAGE = "http://www.grpc.io/" +SECTION = "devel/python" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=7145f7cdd263359b62d342a02f005515" + +inherit pypi setuptools3 + +DEPENDS += "${PYTHON_PN}-grpcio" + +SRC_URI += "file://0001-setup.py-Do-not-mix-C-and-C-compiler-options.patch" + +SRC_URI[sha256sum] = "80ef584f7b917f575e4b8f2ec59cd4a4d98c2046e801a735f3136b05742a36a6" + +RDEPENDS_${PN} = "${PYTHON_PN}-grpcio" + +BBCLASSEXTEND = "native nativesdk" + +# Needs abseil-cpp which does not build for ppc64le/musl +COMPATIBLE_HOST_libc-musl_powerpc64le = "null" + diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio/0001-absl-always-use-asm-sgidefs.h.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio/0001-absl-always-use-asm-sgidefs.h.patch new file mode 100644 index 000000000..be516ca50 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio/0001-absl-always-use-asm-sgidefs.h.patch @@ -0,0 +1,33 @@ +From 8f21fdfb83b0fa844a9f1f03a86a9ca46642d85e Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 9 Apr 2020 13:06:27 -0700 +Subject: [PATCH 1/2] absl: always use + +Fixes mips/musl build, since sgidefs.h is not present on all C libraries +but on linux asm/sgidefs.h is there and contains same definitions, using +that makes it portable. + +Upstream-Status: Pending + +Signed-off-by: Khem Raj +--- + third_party/abseil-cpp/absl/base/internal/direct_mmap.h | 6 +----- + 1 file changed, 1 insertion(+), 5 deletions(-) + +--- a/third_party/abseil-cpp/absl/base/internal/direct_mmap.h ++++ b/third_party/abseil-cpp/absl/base/internal/direct_mmap.h +@@ -41,13 +41,9 @@ + + #ifdef __mips__ + // Include definitions of the ABI currently in use. +-#ifdef __BIONIC__ +-// Android doesn't have sgidefs.h, but does have asm/sgidefs.h, which has the ++// bionic/musl C libs don't have sgidefs.h, but do have asm/sgidefs.h, which has the + // definitions we need. + #include +-#else +-#include +-#endif // __BIONIC__ + #endif // __mips__ + + // SYS_mmap and SYS_munmap are not defined in Android. diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio/mips_bigendian.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio/mips_bigendian.patch new file mode 100644 index 000000000..343f25a46 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio/mips_bigendian.patch @@ -0,0 +1,15 @@ +--- a/third_party/boringssl-with-bazel/src/include/openssl/base.h ++++ b/third_party/boringssl-with-bazel/src/include/openssl/base.h +@@ -102,10 +102,10 @@ extern "C" { + #elif (defined(__PPC__) || defined(__powerpc__)) + #define OPENSSL_32_BIT + #define OPENSSL_PPC +-#elif defined(__MIPSEL__) && !defined(__LP64__) ++#elif defined(__mips__) && !defined(__LP64__) + #define OPENSSL_32_BIT + #define OPENSSL_MIPS +-#elif defined(__MIPSEL__) && defined(__LP64__) ++#elif defined(__mips__) && defined(__LP64__) + #define OPENSSL_64_BIT + #define OPENSSL_MIPS64 + #elif defined(__riscv) diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio/ppc-boringssl-support.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio/ppc-boringssl-support.patch index dadd3da85..5c9be443d 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio/ppc-boringssl-support.patch +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio/ppc-boringssl-support.patch @@ -12,6 +12,6 @@ Signed-off-by: Khem Raj +#elif (defined(__PPC__) || defined(__powerpc__)) +#define OPENSSL_32_BIT +#define OPENSSL_PPC - #elif defined(__mips__) && !defined(__LP64__) + #elif defined(__MIPSEL__) && !defined(__LP64__) #define OPENSSL_32_BIT #define OPENSSL_MIPS diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio/riscv64_support.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio/riscv64_support.patch index 7e071ae1e..350c67dea 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio/riscv64_support.patch +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio/riscv64_support.patch @@ -5,7 +5,7 @@ Signed-off-by: Khem Raj --- a/third_party/boringssl-with-bazel/src/include/openssl/base.h +++ b/third_party/boringssl-with-bazel/src/include/openssl/base.h @@ -108,6 +108,14 @@ extern "C" { - #elif defined(__mips__) && defined(__LP64__) + #elif defined(__MIPSEL__) && defined(__LP64__) #define OPENSSL_64_BIT #define OPENSSL_MIPS64 +#elif defined(__riscv) diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio_1.35.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio_1.35.0.bb deleted file mode 100644 index 2c137f6ce..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio_1.35.0.bb +++ /dev/null @@ -1,43 +0,0 @@ -DESCRIPTION = "Google gRPC" -HOMEPAGE = "http://www.grpc.io/" -SECTION = "devel/python" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" - -DEPENDS += "${PYTHON_PN}-protobuf" - -SRC_URI += "file://0001-setup.py-Do-not-mix-C-and-C-compiler-options.patch" -SRC_URI_append_class-target = " file://ppc-boringssl-support.patch \ - file://riscv64_support.patch \ - file://boring_ssl.patch \ -" -SRC_URI[sha256sum] = "7bd0ebbb14dde78bf66a1162efd29d3393e4e943952e2f339757aa48a184645c" - -RDEPENDS_${PN} = "${PYTHON_PN}-protobuf \ - ${PYTHON_PN}-setuptools \ - ${PYTHON_PN}-six \ -" - -inherit setuptools3 -inherit pypi - -export GRPC_PYTHON_DISABLE_LIBC_COMPATIBILITY = "1" - -BORING_SSL_PLATFORM_arm = "linux-arm" -BORING_SSL_PLATFORM_x86-64 = "linux-x86_64" -BORING_SSL_PLATFORM ?= "unsupported" -export GRPC_BORING_SSL_PLATFORM = "${BORING_SSL_PLATFORM}" - -BORING_SSL_x86-64 = "1" -BORING_SSL_arm = "1" -BORING_SSL ?= "0" -export GRPC_BUILD_WITH_BORING_SSL_ASM = "${BORING_SSL}" - -GRPC_CFLAGS_append_toolchain-clang = " -fvisibility=hidden -fno-wrapv -fno-exceptions" -export GRPC_PYTHON_CFLAGS = "${GRPC_CFLAGS}" - -CLEANBROKEN = "1" - -BBCLASSEXTEND = "native nativesdk" - -CCACHE_DISABLE = "1" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio_1.36.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio_1.36.1.bb new file mode 100644 index 000000000..13cef537e --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio_1.36.1.bb @@ -0,0 +1,49 @@ +DESCRIPTION = "Google gRPC" +HOMEPAGE = "http://www.grpc.io/" +SECTION = "devel/python" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" + +DEPENDS += "${PYTHON_PN}-protobuf" + +SRC_URI += "file://0001-setup.py-Do-not-mix-C-and-C-compiler-options.patch" +SRC_URI_append_class-target = " file://ppc-boringssl-support.patch \ + file://riscv64_support.patch \ + file://boring_ssl.patch \ + file://mips_bigendian.patch \ + file://0001-absl-always-use-asm-sgidefs.h.patch \ +" +SRC_URI[sha256sum] = "a66ea59b20f3669df0f0c6a3bd57b985e5b2d1dcf3e4c29819bb8dc232d0fd38" + +RDEPENDS_${PN} = "${PYTHON_PN}-protobuf \ + ${PYTHON_PN}-setuptools \ + ${PYTHON_PN}-six \ +" + +inherit setuptools3 +inherit pypi + +export GRPC_PYTHON_DISABLE_LIBC_COMPATIBILITY = "1" + +BORING_SSL_PLATFORM_arm = "linux-arm" +BORING_SSL_PLATFORM_x86-64 = "linux-x86_64" +BORING_SSL_PLATFORM ?= "unsupported" +export GRPC_BORING_SSL_PLATFORM = "${BORING_SSL_PLATFORM}" + +BORING_SSL_x86-64 = "1" +BORING_SSL_arm = "1" +BORING_SSL ?= "0" +export GRPC_BUILD_WITH_BORING_SSL_ASM = "${BORING_SSL}" + +GRPC_CFLAGS_append_toolchain-clang = " -fvisibility=hidden -fno-wrapv -fno-exceptions" +export GRPC_PYTHON_CFLAGS = "${GRPC_CFLAGS}" + +CLEANBROKEN = "1" + +BBCLASSEXTEND = "native nativesdk" + +CCACHE_DISABLE = "1" + +# needs vdso support +COMPATIBLE_HOST_libc-musl_powerpc64le = "null" + diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-gunicorn_20.0.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-gunicorn_20.0.4.bb deleted file mode 100644 index 23aafd67d..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-gunicorn_20.0.4.bb +++ /dev/null @@ -1,24 +0,0 @@ -SUMMARY = "WSGI HTTP Server for UNIX" - -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=f75f3fb94cdeab1d607e2adaa6077752" - -SRC_URI[md5sum] = "543669fcbb5739ee2af77184c5e571a1" -SRC_URI[sha256sum] = "1904bb2b8a43658807108d59c3f3d56c2b6121a701161de0ddf9ad140073c626" - -inherit pypi setuptools3 ptest - -SRC_URI += " \ - file://run-ptest \ -" - -RDEPENDS_${PN}-ptest += " \ - ${PYTHON_PN}-pytest \ -" - -do_install_ptest() { - install -d ${D}${PTEST_PATH}/tests - cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/ -} - -RDEPENDS_${PN} += "${PYTHON_PN}-setuptools ${PYTHON_PN}-fcntl" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-gunicorn_20.1.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-gunicorn_20.1.0.bb new file mode 100644 index 000000000..22fe495f4 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-gunicorn_20.1.0.bb @@ -0,0 +1,23 @@ +SUMMARY = "WSGI HTTP Server for UNIX" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=f75f3fb94cdeab1d607e2adaa6077752" + +SRC_URI[sha256sum] = "e0a968b5ba15f8a328fdfd7ab1fcb5af4470c28aaf7e55df02a99bc13138e6e8" + +inherit pypi setuptools3 ptest + +SRC_URI += " \ + file://run-ptest \ +" + +RDEPENDS_${PN}-ptest += " \ + ${PYTHON_PN}-pytest \ +" + +do_install_ptest() { + install -d ${D}${PTEST_PATH}/tests + cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/ +} + +RDEPENDS_${PN} += "${PYTHON_PN}-setuptools ${PYTHON_PN}-fcntl" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-h11_0.12.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-h11_0.12.0.bb new file mode 100644 index 000000000..4cd0d4de7 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-h11_0.12.0.bb @@ -0,0 +1,8 @@ +SUMMARY = "A pure-Python, bring-your-own-I/O implementation of HTTP/1.1" +HOMEPAGE = "https://github.com/python-hyper/h11" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=f5501d19c3116f4aaeef89369f458693" + +inherit pypi setuptools3 + +SRC_URI[sha256sum] = "47222cb6067e4a307d535814917cd98fd0a57b6788ce715755fa2b6c28b56042" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-hexdump_3.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-hexdump_3.3.bb index cb04e17df..532504803 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-hexdump_3.3.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-hexdump_3.3.bb @@ -19,9 +19,7 @@ S = "${WORKDIR}" BBCLASSEXTEND = "native nativesdk" -do_cleanup_hexfile() { +do_install_append() { rm ${D}${datadir}/data/hexfile.bin rmdir ${D}${datadir}/data ${D}${datadir} } - -addtask cleanup_hexfile before do_package after do_install diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-huey_2.3.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-huey_2.3.0.bb deleted file mode 100644 index f70a349fd..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-huey_2.3.0.bb +++ /dev/null @@ -1,12 +0,0 @@ -SUMMARY = "a little task queue for python" -SECTION = "devel/python" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=5cac039fcc82f01141cc170b48f315d4" - -PYPI_PACKAGE = "huey" - -SRC_URI[md5sum] = "aa9f2a8f54cb68c62690c5e28589f49c" -SRC_URI[sha256sum] = "76978840a875607cd77c283c4ebf3ea5071b2ec06a1ac428d63be0d88f1e7070" - -inherit pypi setuptools3 - diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-huey_2.3.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-huey_2.3.1.bb new file mode 100644 index 000000000..d8141c8e8 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-huey_2.3.1.bb @@ -0,0 +1,11 @@ +SUMMARY = "a little task queue for python" +SECTION = "devel/python" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=5cac039fcc82f01141cc170b48f315d4" + +PYPI_PACKAGE = "huey" + +SRC_URI[sha256sum] = "de9b6d0fd59794378fe05813d302be68038044ef3b68274b84ca8d285e20f803" + +inherit pypi setuptools3 + diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-humanize_3.2.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-humanize_3.2.0.bb deleted file mode 100644 index 646e20f7d..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-humanize_3.2.0.bb +++ /dev/null @@ -1,19 +0,0 @@ -SUMMARY = "Python humanize utilities" -HOMEPAGE = "http://github.com/jmoiron/humanize" - -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENCE;md5=4ecc42519e84f6f3e23529464df7bd1d" - -SRC_URI[sha256sum] = "ab69004895689951b79f2ae4fdd6b8127ff0c180aff107856d5d98119a33f026" - -inherit pypi setuptools3 - -DEPENDS += "\ - ${PYTHON_PN}-setuptools-scm-native \ -" - -RDEPENDS_${PN} += "\ - ${PYTHON_PN}-datetime \ -" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-humanize_3.3.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-humanize_3.3.0.bb new file mode 100644 index 000000000..3d54cf0c4 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-humanize_3.3.0.bb @@ -0,0 +1,19 @@ +SUMMARY = "Python humanize utilities" +HOMEPAGE = "http://github.com/jmoiron/humanize" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENCE;md5=4ecc42519e84f6f3e23529464df7bd1d" + +SRC_URI[sha256sum] = "8bf7abd672b867f38b8b04593829b85b9b6199a61ef6586bf3629cc06458ff35" + +inherit pypi setuptools3 + +DEPENDS += "\ + ${PYTHON_PN}-setuptools-scm-native \ +" + +RDEPENDS_${PN} += "\ + ${PYTHON_PN}-datetime \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-ifaddr_0.1.7.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-ifaddr_0.1.7.bb new file mode 100644 index 000000000..4fff7d1e5 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-ifaddr_0.1.7.bb @@ -0,0 +1,10 @@ +DESCRIPTION = "Cross-platform network interface and IP address enumeration \ +library" +HOMEPAGE = "https://pypi.org/project/ifaddr/" +LICENSE = "MIT" + +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=8debe8d42320ec0ff24665319b625a5e" + +SRC_URI[sha256sum] = "1f9e8a6ca6f16db5a37d3356f07b6e52344f6f9f7e806d618537731669eb1a94" + +inherit pypi setuptools3 diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-incremental_17.5.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-incremental_17.5.0.bb deleted file mode 100644 index 568ba1989..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-incremental_17.5.0.bb +++ /dev/null @@ -1,20 +0,0 @@ -DESCRIPTION = "Incremental is a small library that versions your Python projects" -HOMEPAGE = "https://github.com/twisted/incremental" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=6ca9b07f08e2c72d48c74d363d1e0e15" - -SRC_URI[md5sum] = "602746e0d438e075a5a9e0678140bba2" -SRC_URI[sha256sum] = "7b751696aaf36eebfab537e458929e194460051ccad279c72b755a167eebd4b3" - -inherit pypi setuptools3 - -RDEPENDS_${PN} += " \ - ${PYTHON_PN}-twisted \ - ${PYTHON_PN}-click \ -" - -# -native is needed to build python[3]-twisted, however, we need to take steps to -# prevent a circular dependency. The build apparently does not use the part of -# python-incremental which uses python-twisted, so this hack is OK. -RDEPENDS_${PYTHON_PN}-incremental-native_remove = "${PYTHON_PN}-twisted-native" -BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-incremental_21.3.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-incremental_21.3.0.bb new file mode 100644 index 000000000..ff8fab31f --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-incremental_21.3.0.bb @@ -0,0 +1,19 @@ +DESCRIPTION = "Incremental is a small library that versions your Python projects" +HOMEPAGE = "https://github.com/twisted/incremental" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=6ca9b07f08e2c72d48c74d363d1e0e15" + +SRC_URI[sha256sum] = "02f5de5aff48f6b9f665d99d48bfc7ec03b6e3943210de7cfc88856d755d6f57" + +inherit pypi setuptools3 + +RDEPENDS_${PN} += " \ + ${PYTHON_PN}-twisted \ + ${PYTHON_PN}-click \ +" + +# -native is needed to build python[3]-twisted, however, we need to take steps to +# prevent a circular dependency. The build apparently does not use the part of +# python-incremental which uses python-twisted, so this hack is OK. +RDEPENDS_${PYTHON_PN}-incremental-native_remove = "${PYTHON_PN}-twisted-native" +BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-ipython_7.20.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-ipython_7.20.0.bb deleted file mode 100644 index 42795b9bf..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-ipython_7.20.0.bb +++ /dev/null @@ -1,28 +0,0 @@ -SUMMARY = "IPython: Productive Interactive Computing" -HOMEPAGE = "https://ipython.org" -AUTHOR = "The IPython Development Team " -LICENSE = "BSD" -LIC_FILES_CHKSUM = "file://COPYING.rst;md5=59b20262b8663cdd094005bddf47af5f" - -PYPI_PACKAGE = "ipython" - -SRC_URI[sha256sum] = "1923af00820a8cf58e91d56b89efc59780a6e81363b94464a0f17c039dffff9e" - -RDEPENDS_${PN} = "\ - ${PYTHON_PN}-setuptools \ - ${PYTHON_PN}-jedi \ - ${PYTHON_PN}-decorator \ - ${PYTHON_PN}-pickleshare \ - ${PYTHON_PN}-traitlets \ - ${PYTHON_PN}-prompt-toolkit \ - ${PYTHON_PN}-pygments \ - ${PYTHON_PN}-backcall \ - ${PYTHON_PN}-pydoc \ - ${PYTHON_PN}-debugger \ - ${PYTHON_PN}-pexpect \ - ${PYTHON_PN}-unixadmin \ - ${PYTHON_PN}-misc \ - ${PYTHON_PN}-sqlite3 \ -" - -inherit setuptools3 pypi diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-ipython_7.22.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-ipython_7.22.0.bb new file mode 100644 index 000000000..7bc0d1d00 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-ipython_7.22.0.bb @@ -0,0 +1,28 @@ +SUMMARY = "IPython: Productive Interactive Computing" +HOMEPAGE = "https://ipython.org" +AUTHOR = "The IPython Development Team " +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://COPYING.rst;md5=59b20262b8663cdd094005bddf47af5f" + +PYPI_PACKAGE = "ipython" + +SRC_URI[sha256sum] = "9c900332d4c5a6de534b4befeeb7de44ad0cc42e8327fa41b7685abde58cec74" + +RDEPENDS_${PN} = "\ + ${PYTHON_PN}-setuptools \ + ${PYTHON_PN}-jedi \ + ${PYTHON_PN}-decorator \ + ${PYTHON_PN}-pickleshare \ + ${PYTHON_PN}-traitlets \ + ${PYTHON_PN}-prompt-toolkit \ + ${PYTHON_PN}-pygments \ + ${PYTHON_PN}-backcall \ + ${PYTHON_PN}-pydoc \ + ${PYTHON_PN}-debugger \ + ${PYTHON_PN}-pexpect \ + ${PYTHON_PN}-unixadmin \ + ${PYTHON_PN}-misc \ + ${PYTHON_PN}-sqlite3 \ +" + +inherit setuptools3 pypi diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-isort_5.7.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-isort_5.7.0.bb deleted file mode 100644 index 9f234ee46..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-isort_5.7.0.bb +++ /dev/null @@ -1,16 +0,0 @@ -SUMMARY = "A Python utility / library to sort Python imports." -HOMEPAGE = "https://pypi.python.org/pypi/isort" -LICENSE = "MIT" -SECTION = "devel/python" -LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=6;endline=6;md5=8227180126797a0148f94f483f3e1489" - -SRC_URI[sha256sum] = "c729845434366216d320e936b8ad6f9d681aab72dc7cbc2d51bedc3582f3ad1e" - -inherit pypi setuptools3 - -RDEPENDS_${PN} += "\ - ${PYTHON_PN}-datetime \ - ${PYTHON_PN}-shell \ -" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-isort_5.8.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-isort_5.8.0.bb new file mode 100644 index 000000000..36de825d2 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-isort_5.8.0.bb @@ -0,0 +1,16 @@ +SUMMARY = "A Python utility / library to sort Python imports." +HOMEPAGE = "https://pypi.python.org/pypi/isort" +LICENSE = "MIT" +SECTION = "devel/python" +LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=6;endline=6;md5=8227180126797a0148f94f483f3e1489" + +SRC_URI[sha256sum] = "0a943902919f65c5684ac4e0154b1ad4fac6dcaa5d9f3426b732f1c8b5419be6" + +inherit pypi setuptools3 + +RDEPENDS_${PN} += "\ + ${PYTHON_PN}-datetime \ + ${PYTHON_PN}-shell \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-jmespath_0.10.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-jmespath_0.10.0.bb new file mode 100644 index 000000000..46976d19b --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-jmespath_0.10.0.bb @@ -0,0 +1,12 @@ +SUMMARY = "JMESPath (pronounced 'james path') allows you to declaratively specify how to extract elements from a JSON document." +HOMEPAGE = "https://pypi.org/project/jmespath/" +SECTION = "devel/python" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=2683790f5fabb41a3f75b70558799eb4" + +SRC_URI[md5sum] = "65bdcb5fa5bcf1cc710ffa508e78e408" +SRC_URI[sha256sum] = "b85d0567b8666149a93172712e68920734333c0ce7e89b78b3e987f71e5ed4f9" + +inherit pypi setuptools3 + +RDEPENDS_${PN} += "python3-math python3-json python3-numbers" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-jsonpatch_1.28.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-jsonpatch_1.28.bb deleted file mode 100644 index cef20495b..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-jsonpatch_1.28.bb +++ /dev/null @@ -1,10 +0,0 @@ -SUMMARY = "Appling JSON patches in Python 2.6+ and 3.x" -HOMEPAGE = "https://github.com/stefankoegl/python-json-patch" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://COPYING;md5=32b15c843b7a329130f4e266a281ebb3" - -inherit pypi setuptools3 - -SRC_URI[sha256sum] = "e930adc932e4d36087dbbf0f22e1ded32185dfb20662f2e3dd848677a5295a14" - -RDEPENDS_${PN} += "${PYTHON_PN}-json ${PYTHON_PN}-jsonpointer ${PYTHON_PN}-netclient ${PYTHON_PN}-stringold" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-jsonpatch_1.32.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-jsonpatch_1.32.bb new file mode 100644 index 000000000..0c8624036 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-jsonpatch_1.32.bb @@ -0,0 +1,15 @@ +SUMMARY = "Appling JSON patches in Python 2.6+ and 3.x" +HOMEPAGE = "https://github.com/stefankoegl/python-json-patch" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://COPYING;md5=32b15c843b7a329130f4e266a281ebb3" + +inherit pypi setuptools3 + +SRC_URI[sha256sum] = "b6ddfe6c3db30d81a96aaeceb6baf916094ffa23d7dd5fa2c13e13f8b6e600c2" + +RDEPENDS_${PN} += " \ + ${PYTHON_PN}-json \ + ${PYTHON_PN}-jsonpointer \ + ${PYTHON_PN}-netclient \ + ${PYTHON_PN}-stringold \ +" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-jsonpointer_2.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-jsonpointer_2.0.bb deleted file mode 100644 index 68bfe9716..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-jsonpointer_2.0.bb +++ /dev/null @@ -1,27 +0,0 @@ -SUMMARY = "Resolve JSON Pointers in Python" -HOMEPAGE = "https://github.com/stefankoegl/python-json-pointer" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=32b15c843b7a329130f4e266a281ebb3" - -inherit pypi ptest setuptools3 - -SRC_URI[md5sum] = "741b98d0e693b08b5e44e0a9da5a7bb7" -SRC_URI[sha256sum] = "c192ba86648e05fdae4f08a17ec25180a9aef5008d973407b581798a83975362" - -RDEPENDS_${PN} += " \ - ${PYTHON_PN}-json \ -" - -BBCLASSEXTEND = "native nativesdk" - -SRC_URI += " \ - file://run-ptest \ -" - -RDEPENDS_${PN}-ptest += " \ - ${PYTHON_PN}-pytest \ -" - -do_install_ptest() { - cp -f ${S}/tests.py ${D}${PTEST_PATH}/ -} diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-jsonpointer_2.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-jsonpointer_2.1.bb new file mode 100644 index 000000000..a4cc05c94 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-jsonpointer_2.1.bb @@ -0,0 +1,26 @@ +SUMMARY = "Resolve JSON Pointers in Python" +HOMEPAGE = "https://github.com/stefankoegl/python-json-pointer" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=32b15c843b7a329130f4e266a281ebb3" + +inherit pypi ptest setuptools3 + +SRC_URI[sha256sum] = "5a34b698db1eb79ceac454159d3f7c12a451a91f6334a4f638454327b7a89962" + +RDEPENDS_${PN} += " \ + ${PYTHON_PN}-json \ +" + +BBCLASSEXTEND = "native nativesdk" + +SRC_URI += " \ + file://run-ptest \ +" + +RDEPENDS_${PN}-ptest += " \ + ${PYTHON_PN}-pytest \ +" + +do_install_ptest() { + cp -f ${S}/tests.py ${D}${PTEST_PATH}/ +} diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-lazy-object-proxy_1.5.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-lazy-object-proxy_1.5.2.bb deleted file mode 100644 index 3ff7a126e..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-lazy-object-proxy_1.5.2.bb +++ /dev/null @@ -1,11 +0,0 @@ -SUMMARY = "A fast and thorough lazy object proxy" -HOMEPAGE = "https://python-lazy-object-proxy.readthedocs.io/" -LICENSE = "BSD-2-Clause" -SECTION = "devel/python" -LIC_FILES_CHKSUM = "file://LICENSE;md5=9c5c2c74370826468065c5702b8a1fcf" - -DEPENDS += "${PYTHON_PN}-setuptools-scm-native" - -SRC_URI[sha256sum] = "5944a9b95e97de1980c65f03b79b356f30a43de48682b8bdd90aa5089f0ec1f4" - -inherit pypi setuptools3 diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-lazy-object-proxy_1.6.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-lazy-object-proxy_1.6.0.bb new file mode 100644 index 000000000..700c70e53 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-lazy-object-proxy_1.6.0.bb @@ -0,0 +1,11 @@ +SUMMARY = "A fast and thorough lazy object proxy" +HOMEPAGE = "https://python-lazy-object-proxy.readthedocs.io/" +LICENSE = "BSD-2-Clause" +SECTION = "devel/python" +LIC_FILES_CHKSUM = "file://LICENSE;md5=9c5c2c74370826468065c5702b8a1fcf" + +DEPENDS += "${PYTHON_PN}-setuptools-scm-native" + +SRC_URI[sha256sum] = "489000d368377571c6f982fba6497f2aa13c6d1facc40660963da62f5c379726" + +inherit pypi setuptools3 diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-luma-core_2.2.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-luma-core_2.2.0.bb deleted file mode 100644 index b181e0986..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-luma-core_2.2.0.bb +++ /dev/null @@ -1,19 +0,0 @@ -SUMMARY = "A component library to support SBC display drivers" -DESCRIPTION = "A component library to support SBC display drivers" -HOMEPAGE = "https://github.com/rm-hull/luma.core" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=db07e3d471938ea7d7fd2135f88ac9a1" - -inherit pypi setuptools3 - -SRC_URI[sha256sum] = "62a24518d3aa084d75206a19056eb8aa71b5a3d0c159d2e95b388cb3150a7b1c" - -CLEANBROKEN = "1" - -PYPI_PACKAGE = "luma.core" - -RDEPENDS_${PN} += " \ - ${PYTHON_PN}-pillow \ - ${PYTHON_PN}-threading \ - ${PYTHON_PN}-smbus2 \ -" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-luma-core_2.3.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-luma-core_2.3.1.bb new file mode 100644 index 000000000..47efe8a72 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-luma-core_2.3.1.bb @@ -0,0 +1,19 @@ +SUMMARY = "A component library to support SBC display drivers" +DESCRIPTION = "A component library to support SBC display drivers" +HOMEPAGE = "https://github.com/rm-hull/luma.core" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=3b1d500f5911ec7522f1f790d616e0ee" + +inherit pypi setuptools3 + +SRC_URI[sha256sum] = "f293f5fff8946eea62af3a5d5d7da55c37d2b64aac6c9c90180a385da9f7d003" + +CLEANBROKEN = "1" + +PYPI_PACKAGE = "luma.core" + +RDEPENDS_${PN} += " \ + ${PYTHON_PN}-pillow \ + ${PYTHON_PN}-threading \ + ${PYTHON_PN}-smbus2 \ +" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-lxml_4.6.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-lxml_4.6.2.bb deleted file mode 100644 index f7aed6d77..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-lxml_4.6.2.bb +++ /dev/null @@ -1,41 +0,0 @@ -SUMMARY = "Powerful and Pythonic XML processing library combining libxml2/libxslt with the ElementTree API." -DESCRIPTION = "lxml is a Pythonic, mature binding for the libxml2 and \ -libxslt libraries. It provides safe and convenient access to these \ -libraries using the ElementTree API. It extends the ElementTree API \ -significantly to offer support for XPath, RelaxNG, XML Schema, XSLT, \ -C14N and much more." -HOMEPAGE = "http://codespeak.net/lxml" -SECTION = "devel/python" -LICENSE = "BSD & GPLv2 & MIT & PSF" -LIC_FILES_CHKSUM = "file://LICENSES.txt;md5=e4c045ebad958ead4b48008f70838403 \ - file://doc/licenses/elementtree.txt;md5=eb34d036a6e3d56314ee49a6852ac891 \ - file://doc/licenses/BSD.txt;md5=700a1fc17f4797d4f2d34970c8ee694b \ - file://doc/licenses/GPL.txt;md5=94d55d512a9ba36caa9b7df079bae19f \ - file://src/lxml/isoschematron/resources/rng/iso-schematron.rng;beginline=2;endline=7;md5=fc85684a8dd5fa272c086bceb0d99e10 \ - file://src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_schematron_message.xsl;beginline=2;endline=24;md5=cc86b7b2bbc678e13f58ea403eb9929b \ - file://src/lxml/isoschematron/resources/xsl/RNG2Schtrn.xsl;beginline=2;endline=7;md5=5b03236d293dc3784205542b409d2f53 \ - " - -DEPENDS += "libxml2 libxslt" - -SRC_URI[sha256sum] = "cd11c7e8d21af997ee8079037fff88f16fda188a9776eb4b81c7e4c9c0a7d7fc" - -inherit pypi setuptools3 - -# {standard input}: Assembler messages: -# {standard input}:1488805: Error: branch out of range -DEBUG_OPTIMIZATION_remove_mips = " -Og" -DEBUG_OPTIMIZATION_append_mips = " -O" -BUILD_OPTIMIZATION_remove_mips = " -Og" -BUILD_OPTIMIZATION_append_mips = " -O" - -DEBUG_OPTIMIZATION_remove_mipsel = " -Og" -DEBUG_OPTIMIZATION_append_mipsel = " -O" -BUILD_OPTIMIZATION_remove_mipsel = " -Og" -BUILD_OPTIMIZATION_append_mipsel = " -O" - -BBCLASSEXTEND = "native nativesdk" - -RDEPENDS_${PN} += "libxml2 libxslt ${PYTHON_PN}-compression" - -CLEANBROKEN = "1" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-lxml_4.6.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-lxml_4.6.3.bb new file mode 100644 index 000000000..cefe1ba34 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-lxml_4.6.3.bb @@ -0,0 +1,41 @@ +SUMMARY = "Powerful and Pythonic XML processing library combining libxml2/libxslt with the ElementTree API." +DESCRIPTION = "lxml is a Pythonic, mature binding for the libxml2 and \ +libxslt libraries. It provides safe and convenient access to these \ +libraries using the ElementTree API. It extends the ElementTree API \ +significantly to offer support for XPath, RelaxNG, XML Schema, XSLT, \ +C14N and much more." +HOMEPAGE = "http://codespeak.net/lxml" +SECTION = "devel/python" +LICENSE = "BSD & GPLv2 & MIT & PSF" +LIC_FILES_CHKSUM = "file://LICENSES.txt;md5=e4c045ebad958ead4b48008f70838403 \ + file://doc/licenses/elementtree.txt;md5=eb34d036a6e3d56314ee49a6852ac891 \ + file://doc/licenses/BSD.txt;md5=700a1fc17f4797d4f2d34970c8ee694b \ + file://doc/licenses/GPL.txt;md5=94d55d512a9ba36caa9b7df079bae19f \ + file://src/lxml/isoschematron/resources/rng/iso-schematron.rng;beginline=2;endline=7;md5=fc85684a8dd5fa272c086bceb0d99e10 \ + file://src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_schematron_message.xsl;beginline=2;endline=24;md5=cc86b7b2bbc678e13f58ea403eb9929b \ + file://src/lxml/isoschematron/resources/xsl/RNG2Schtrn.xsl;beginline=2;endline=7;md5=5b03236d293dc3784205542b409d2f53 \ + " + +DEPENDS += "libxml2 libxslt" + +SRC_URI[sha256sum] = "39b78571b3b30645ac77b95f7c69d1bffc4cf8c3b157c435a34da72e78c82468" + +inherit pypi setuptools3 + +# {standard input}: Assembler messages: +# {standard input}:1488805: Error: branch out of range +DEBUG_OPTIMIZATION_remove_mips = " -Og" +DEBUG_OPTIMIZATION_append_mips = " -O" +BUILD_OPTIMIZATION_remove_mips = " -Og" +BUILD_OPTIMIZATION_append_mips = " -O" + +DEBUG_OPTIMIZATION_remove_mipsel = " -Og" +DEBUG_OPTIMIZATION_append_mipsel = " -O" +BUILD_OPTIMIZATION_remove_mipsel = " -Og" +BUILD_OPTIMIZATION_append_mipsel = " -O" + +BBCLASSEXTEND = "native nativesdk" + +RDEPENDS_${PN} += "libxml2 libxslt ${PYTHON_PN}-compression" + +CLEANBROKEN = "1" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-mccabe_0.6.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-mccabe_0.6.1.bb index 63a9e35ac..b366f0430 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-mccabe_0.6.1.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-mccabe_0.6.1.bb @@ -1,5 +1,5 @@ DESCRIPTION = "McCabe checker, plugin for flake8" -HOMEPAGE = "https://github.com/dreamhost/cliff" +HOMEPAGE = "https://github.com/PyCQA/mccabe" SECTION = "devel/python" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=a489dc62bacbdad3335c0f160a974f0f" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-openpyxl_3.0.6.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-openpyxl_3.0.6.bb deleted file mode 100644 index d4781eeff..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-openpyxl_3.0.6.bb +++ /dev/null @@ -1,14 +0,0 @@ -SUMMARY = "openpyxl is a Python library to read/write Excel 2010 xlsx/xlsm/xltx/xltm files" -DESCRIPTION = "It was born from lack of existing library to read/write natively \ -from Python the Office Open XML format. All kudos to the PHPExcel team as openpyxl \ -was initially based on PHPExcel." - -HOMEPAGE = "http://www.python-excel.org/" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=8227180126797a0148f94f483f3e1489" - -inherit pypi setuptools3 - -SRC_URI[sha256sum] = "b229112b46e158b910a5d1b270b212c42773d39cab24e8db527f775b82afc041" - -RDEPENDS_${PN} += "${PYTHON_PN}-compression ${PYTHON_PN}-io ${PYTHON_PN}-pprint ${PYTHON_PN}-shell ${PYTHON_PN}-jdcal ${PYTHON_PN}-et-xmlfile" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-openpyxl_3.0.7.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-openpyxl_3.0.7.bb new file mode 100644 index 000000000..b32632119 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-openpyxl_3.0.7.bb @@ -0,0 +1,14 @@ +SUMMARY = "openpyxl is a Python library to read/write Excel 2010 xlsx/xlsm/xltx/xltm files" +DESCRIPTION = "It was born from lack of existing library to read/write natively \ +from Python the Office Open XML format. All kudos to the PHPExcel team as openpyxl \ +was initially based on PHPExcel." + +HOMEPAGE = "http://www.python-excel.org/" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=8227180126797a0148f94f483f3e1489" + +inherit pypi setuptools3 + +SRC_URI[sha256sum] = "6456a3b472e1ef0facb1129f3c6ef00713cebf62e736cd7a75bcc3247432f251" + +RDEPENDS_${PN} += "${PYTHON_PN}-compression ${PYTHON_PN}-io ${PYTHON_PN}-pprint ${PYTHON_PN}-shell ${PYTHON_PN}-jdcal ${PYTHON_PN}-et-xmlfile" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pako_0.3.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pako_0.3.0.bb deleted file mode 100644 index 3eacd0bdd..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pako_0.3.0.bb +++ /dev/null @@ -1,12 +0,0 @@ -SUMMARY = "The universal package manager library" -HOMEPAGE = "https://github.com/MycroftAI/pako" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=e23fadd6ceef8c618fc1c65191d846fa" - -SRC_URI[sha256sum] = "eabd1c121d6701069d1a10132f197ee2b5f4e75a3d68a93b07f69214ab0ff9c7" - -inherit pypi setuptools3 - -do_install_append() { - rm -rf ${D}/usr/share -} diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pako_0.3.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pako_0.3.1.bb new file mode 100644 index 000000000..1930d866e --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pako_0.3.1.bb @@ -0,0 +1,12 @@ +SUMMARY = "The universal package manager library" +HOMEPAGE = "https://github.com/MycroftAI/pako" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=e23fadd6ceef8c618fc1c65191d846fa" + +SRC_URI[sha256sum] = "c033a073bb818ca336ae1fccba2655bd60dfe77744f85d4517abd3160d72231f" + +inherit pypi setuptools3 + +do_install_append() { + rm -rf ${D}/usr/share +} diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pandas_1.2.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pandas_1.2.2.bb deleted file mode 100644 index 752923786..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pandas_1.2.2.bb +++ /dev/null @@ -1,24 +0,0 @@ -SUMMARY = "pandas library for high-performance data analysis tools" -DESCRIPTION = "pandas is an open source, BSD-licensed library providing \ -high-performance, easy-to-use data structures and data analysis tools for \ -the Python programming language." -HOMEPAGE = "http://pandas.pydata.org/" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=c2a8f987b2ce77c368c6b3e1b5b10774" - -SRC_URI[sha256sum] = "14ed84b463e9b84c8ff9308a79b04bf591ae3122a376ee0f62c68a1bd917a773" - -inherit pypi setuptools3 - -DEPENDS += " \ - ${PYTHON_PN}-numpy-native ${PYTHON_PN}-cython-native \ -" - -CFLAGS_append_toolchain-clang = " -Wno-error=deprecated-declarations" - -RDEPENDS_${PN} += " \ - ${PYTHON_PN}-json \ - ${PYTHON_PN}-numpy \ - ${PYTHON_PN}-dateutil \ - ${PYTHON_PN}-pytz \ -" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pandas_1.2.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pandas_1.2.3.bb new file mode 100644 index 000000000..8c36c21bb --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pandas_1.2.3.bb @@ -0,0 +1,24 @@ +SUMMARY = "pandas library for high-performance data analysis tools" +DESCRIPTION = "pandas is an open source, BSD-licensed library providing \ +high-performance, easy-to-use data structures and data analysis tools for \ +the Python programming language." +HOMEPAGE = "http://pandas.pydata.org/" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=c2a8f987b2ce77c368c6b3e1b5b10774" + +SRC_URI[sha256sum] = "df6f10b85aef7a5bb25259ad651ad1cc1d6bb09000595cab47e718cbac250b1d" + +inherit pypi setuptools3 + +DEPENDS += " \ + ${PYTHON_PN}-numpy-native ${PYTHON_PN}-cython-native \ +" + +CFLAGS_append_toolchain-clang = " -Wno-error=deprecated-declarations" + +RDEPENDS_${PN} += " \ + ${PYTHON_PN}-json \ + ${PYTHON_PN}-numpy \ + ${PYTHON_PN}-dateutil \ + ${PYTHON_PN}-pytz \ +" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pastedeploy_2.1.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pastedeploy_2.1.1.bb new file mode 100644 index 000000000..47508e222 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pastedeploy_2.1.1.bb @@ -0,0 +1,21 @@ +SUMMARY = "Load, configure, and compose WSGI applications and servers" +HOMEPAGE = "https://pylonsproject.org/" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://license.txt;md5=1798f29d55080c60365e6283cb49779c" + +inherit pypi +PYPI_PACKAGE = "PasteDeploy" + +SRC_URI[sha256sum] = "6dead6ab9823a85d585ef27f878bc647f787edb9ca8da0716aa9f1261b464817" + +S = "${WORKDIR}/PasteDeploy-${PV}" + +inherit setuptools3 + +# Uncomment this line to enable all the optional features. +#PACKAGECONFIG ?= "paste docs" +PACKAGECONFIG[paste] = ",,,python3-paste" +PACKAGECONFIG[docs] = ",,,python3-sphinx python3-pylons-sphinx-themes" + +DEPENDS= "python3 python3-setuptools-scm-native python3-pytest-runner-native" +RDEPENDS_${PN} += "python3-core python3-misc python3-netclient python3-pkgutil python3-setuptools python3-threading python3-core" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pep8_1.7.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pep8_1.7.1.bb index 8291281ca..e8587c832 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pep8_1.7.1.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pep8_1.7.1.bb @@ -1,5 +1,5 @@ DESCRIPTION = "Python style guide checker" -HOMEPAGE = "https://github.com/dreamhost/cliff" +HOMEPAGE = "https://github.com/PyCQA/pycodestyle" SECTION = "devel/python" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://README.rst;md5=d8ebbbe831259ce010179d2f310b0f3e" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pillow_8.1.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pillow_8.1.0.bb deleted file mode 100644 index 63974590c..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pillow_8.1.0.bb +++ /dev/null @@ -1,37 +0,0 @@ -SUMMARY = "Python Imaging Library (Fork). Pillow is the friendly PIL fork by Alex \ -Clark and Contributors. PIL is the Python Imaging Library by Fredrik Lundh and \ -Contributors." -HOMEPAGE = "https://pillow.readthedocs.io" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=0337b116233da4616ae9fdb130bf6f1a" - -SRC_URI = "git://github.com/python-pillow/Pillow.git;branch=8.1.x \ - file://0001-support-cross-compiling.patch \ - file://0001-explicitly-set-compile-options.patch \ -" -SRCREV ?= "fcc42e0d344146ee9d265d1f43c094ce5a0ec4cf" - -inherit setuptools3 - -DEPENDS += " \ - zlib \ - jpeg \ - tiff \ - freetype \ - lcms \ - openjpeg \ -" - -RDEPENDS_${PN} += " \ - ${PYTHON_PN}-misc \ - ${PYTHON_PN}-logging \ - ${PYTHON_PN}-numbers \ -" - -CVE_PRODUCT = "pillow" - -S = "${WORKDIR}/git" - -RPROVIDES_${PN} += "python3-imaging" - -BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pillow_8.1.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pillow_8.1.2.bb new file mode 100644 index 000000000..a1b4f9059 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pillow_8.1.2.bb @@ -0,0 +1,37 @@ +SUMMARY = "Python Imaging Library (Fork). Pillow is the friendly PIL fork by Alex \ +Clark and Contributors. PIL is the Python Imaging Library by Fredrik Lundh and \ +Contributors." +HOMEPAGE = "https://pillow.readthedocs.io" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=0337b116233da4616ae9fdb130bf6f1a" + +SRC_URI = "git://github.com/python-pillow/Pillow.git;branch=8.1.x \ + file://0001-support-cross-compiling.patch \ + file://0001-explicitly-set-compile-options.patch \ +" +SRCREV ?= "88bd672dafad68b419ea29bef941dfa17f941038" + +inherit setuptools3 + +DEPENDS += " \ + zlib \ + jpeg \ + tiff \ + freetype \ + lcms \ + openjpeg \ +" + +RDEPENDS_${PN} += " \ + ${PYTHON_PN}-misc \ + ${PYTHON_PN}-logging \ + ${PYTHON_PN}-numbers \ +" + +CVE_PRODUCT = "pillow" + +S = "${WORKDIR}/git" + +RPROVIDES_${PN} += "python3-imaging" + +BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pint_0.16.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pint_0.16.1.bb deleted file mode 100644 index d96659592..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pint_0.16.1.bb +++ /dev/null @@ -1,36 +0,0 @@ -SUMMARY = "Physical quantities module" -DESCRIPTION = "Physical quantities Python module" -HOMEPAGE = "https://github.com/hgrecco/pint" -SECTION = "devel/python" - -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=bccf824202692270a1e0829a62e3f47b" - -PYPI_PACKAGE := "Pint" - -inherit pypi ptest setuptools3 - -SRC_URI[md5sum] = "d4a7bbdf505dee964eb1e5e6e7f80c34" -SRC_URI[sha256sum] = "d43a2e9ae003164978b60fdf8cd920d8581e1a5991df8dded29b00f4850ec83a" - -DEPENDS += "python3-setuptools-scm-native" - -BBCLASSEXTEND = "native nativesdk" - -SRC_URI += " \ - file://run-ptest \ -" - -RDEPENDS_${PN} += " \ - ${PYTHON_PN}-setuptools \ - ${PYTHON_PN}-packaging \ -" - -RDEPENDS_${PN}-ptest += " \ - ${PYTHON_PN}-pytest \ -" - -do_install_ptest() { - install -d ${D}${PTEST_PATH}/testsuite - cp -rf ${S}/pint/testsuite/* ${D}${PTEST_PATH}/testsuite/ -} diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pint_0.17.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pint_0.17.bb new file mode 100644 index 000000000..9a474901e --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pint_0.17.bb @@ -0,0 +1,35 @@ +SUMMARY = "Physical quantities module" +DESCRIPTION = "Physical quantities Python module" +HOMEPAGE = "https://github.com/hgrecco/pint" +SECTION = "devel/python" + +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=bccf824202692270a1e0829a62e3f47b" + +PYPI_PACKAGE := "Pint" + +inherit pypi ptest setuptools3 + +SRC_URI[sha256sum] = "f4d0caa713239e6847a7c6eefe2427358566451fe56497d533f21fb590a3f313" + +DEPENDS += "python3-setuptools-scm-native" + +BBCLASSEXTEND = "native nativesdk" + +SRC_URI += " \ + file://run-ptest \ +" + +RDEPENDS_${PN} += " \ + ${PYTHON_PN}-setuptools \ + ${PYTHON_PN}-packaging \ +" + +RDEPENDS_${PN}-ptest += " \ + ${PYTHON_PN}-pytest \ +" + +do_install_ptest() { + install -d ${D}${PTEST_PATH}/testsuite + cp -rf ${S}/pint/testsuite/* ${D}${PTEST_PATH}/testsuite/ +} diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-portion_2.1.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-portion_2.1.4.bb deleted file mode 100644 index d08d3e725..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-portion_2.1.4.bb +++ /dev/null @@ -1,12 +0,0 @@ -DESCRIPTION = "Python data structure and operations for intervals" -HOMEPAGE = "https://github.com/AlexandreDecan/portion" -SECTION = "devel/python" - -LICENSE = "LGPLv3" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=05f1e16a8e59ce3e9a979e881816c2ab" - -inherit pypi setuptools3 - -SRC_URI[sha256sum] = "58b2792e6e9837a2d55a97d459b940c90fb08b5fba774f524e9359727c80e7b4" - -BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-portion_2.1.5.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-portion_2.1.5.bb new file mode 100644 index 000000000..0fa107c33 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-portion_2.1.5.bb @@ -0,0 +1,12 @@ +DESCRIPTION = "Python data structure and operations for intervals" +HOMEPAGE = "https://github.com/AlexandreDecan/portion" +SECTION = "devel/python" + +LICENSE = "LGPLv3" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=05f1e16a8e59ce3e9a979e881816c2ab" + +inherit pypi setuptools3 + +SRC_URI[sha256sum] = "ed62fd1450336026f55c7d40b92b7159efd81d1420c778dd1b592bb634b14b4c" + +BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-prettytable_2.0.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-prettytable_2.0.0.bb deleted file mode 100644 index 3563bfa11..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-prettytable_2.0.0.bb +++ /dev/null @@ -1,39 +0,0 @@ -SUMMARY = "Python library for displaying tabular data in a ASCII table format" -HOMEPAGE = "http://code.google.com/p/prettytable" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://COPYING;md5=c9a6829fcd174d9535b46211917c7671" - -SRC_URI[sha256sum] = "e37acd91976fe6119172771520e58d1742c8479703489321dc1d9c85e7259922" - -do_install_append() { - perm_files=`find "${D}${PYTHON_SITEPACKAGES_DIR}/" -name "*.txt" -o -name "PKG-INFO"` - for f in $perm_files; do - chmod 644 "${f}" - done -} - -UPSTREAM_CHECK_URI = "https://pypi.python.org/pypi/PrettyTable/" -UPSTREAM_CHECK_REGEX = "/PrettyTable/(?P(\d+[\.\-_]*)+)" - -BBCLASSEXTEND = "native nativesdk" -inherit pypi ptest setuptools3 - -SRC_URI += " \ - file://run-ptest \ -" - -DEPENDS += "${PYTHON_PN}-setuptools-scm-native" - -RDEPENDS_${PN} += " \ - ${PYTHON_PN}-math \ - ${PYTHON_PN}-html \ - ${PYTHON_PN}-wcwidth \ -" - -RDEPENDS_${PN}-ptest += " \ - ${PYTHON_PN}-pytest \ -" - -do_install_ptest() { - cp -f ${S}/tests/test_prettytable.py ${D}${PTEST_PATH}/ -} diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-prettytable_2.1.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-prettytable_2.1.0.bb new file mode 100644 index 000000000..fe7206255 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-prettytable_2.1.0.bb @@ -0,0 +1,39 @@ +SUMMARY = "Python library for displaying tabular data in a ASCII table format" +HOMEPAGE = "http://code.google.com/p/prettytable" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://COPYING;md5=c9a6829fcd174d9535b46211917c7671" + +SRC_URI[sha256sum] = "5882ed9092b391bb8f6e91f59bcdbd748924ff556bb7c634089d5519be87baa0" + +do_install_append() { + perm_files=`find "${D}${PYTHON_SITEPACKAGES_DIR}/" -name "*.txt" -o -name "PKG-INFO"` + for f in $perm_files; do + chmod 644 "${f}" + done +} + +UPSTREAM_CHECK_URI = "https://pypi.python.org/pypi/PrettyTable/" +UPSTREAM_CHECK_REGEX = "/PrettyTable/(?P(\d+[\.\-_]*)+)" + +BBCLASSEXTEND = "native nativesdk" +inherit pypi ptest setuptools3 + +SRC_URI += " \ + file://run-ptest \ +" + +DEPENDS += "${PYTHON_PN}-setuptools-scm-native" + +RDEPENDS_${PN} += " \ + ${PYTHON_PN}-math \ + ${PYTHON_PN}-html \ + ${PYTHON_PN}-wcwidth \ +" + +RDEPENDS_${PN}-ptest += " \ + ${PYTHON_PN}-pytest \ +" + +do_install_ptest() { + cp -f ${S}/tests/test_prettytable.py ${D}${PTEST_PATH}/ +} diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-prompt-toolkit_3.0.16.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-prompt-toolkit_3.0.16.bb deleted file mode 100644 index 2a377d6e6..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-prompt-toolkit_3.0.16.bb +++ /dev/null @@ -1,23 +0,0 @@ -SUMMARY = "Library for building powerful interactive command lines in Python" -HOMEPAGE = "https://python-prompt-toolkit.readthedocs.io/" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=b2cde7da89f0c1f3e49bf968d00d554f" - -SRC_URI[sha256sum] = "0fa02fa80363844a4ab4b8d6891f62dd0645ba672723130423ca4037b80c1974" - -inherit pypi setuptools3 - -PYPI_PACKAGE = "prompt_toolkit" - -RDEPENDS_${PN} += " \ - ${PYTHON_PN}-core \ - ${PYTHON_PN}-six \ - ${PYTHON_PN}-terminal \ - ${PYTHON_PN}-threading \ - ${PYTHON_PN}-wcwidth \ - ${PYTHON_PN}-datetime \ - ${PYTHON_PN}-shell \ - ${PYTHON_PN}-image \ -" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-prompt-toolkit_3.0.18.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-prompt-toolkit_3.0.18.bb new file mode 100644 index 000000000..366287583 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-prompt-toolkit_3.0.18.bb @@ -0,0 +1,23 @@ +SUMMARY = "Library for building powerful interactive command lines in Python" +HOMEPAGE = "https://python-prompt-toolkit.readthedocs.io/" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=b2cde7da89f0c1f3e49bf968d00d554f" + +SRC_URI[sha256sum] = "e1b4f11b9336a28fa11810bc623c357420f69dfdb6d2dac41ca2c21a55c033bc" + +inherit pypi setuptools3 + +PYPI_PACKAGE = "prompt_toolkit" + +RDEPENDS_${PN} += " \ + ${PYTHON_PN}-core \ + ${PYTHON_PN}-six \ + ${PYTHON_PN}-terminal \ + ${PYTHON_PN}-threading \ + ${PYTHON_PN}-wcwidth \ + ${PYTHON_PN}-datetime \ + ${PYTHON_PN}-shell \ + ${PYTHON_PN}-image \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pulsectl_21.2.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pulsectl_21.2.0.bb deleted file mode 100644 index c99a5507f..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pulsectl_21.2.0.bb +++ /dev/null @@ -1,10 +0,0 @@ -SUMMARY = "Python (3.x and 2.x) high-level interface and ctypes-based bindings for PulseAudio (libpulse), mostly focused on mixer-like controls and introspection-related operations (as opposed to e.g. submitting sound samples to play, player-like client)." -HOMEPAGE = "https://github.com/mk-fg/python-pulse-control" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://COPYING;md5=f1d10048469ff90123263eb5e214061d" - -SRC_URI[sha256sum] = "282be9ad1a9add961f0bbafa8e19723ac397a2eec5e14fb8cd6c51ff29962715" - -RDEPENDS_${PN} += "pulseaudio" - -inherit pypi setuptools3 diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pulsectl_21.3.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pulsectl_21.3.4.bb new file mode 100644 index 000000000..a4455eeb1 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pulsectl_21.3.4.bb @@ -0,0 +1,10 @@ +SUMMARY = "Python (3.x and 2.x) high-level interface and ctypes-based bindings for PulseAudio (libpulse), mostly focused on mixer-like controls and introspection-related operations (as opposed to e.g. submitting sound samples to play, player-like client)." +HOMEPAGE = "https://github.com/mk-fg/python-pulse-control" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=f1d10048469ff90123263eb5e214061d" + +SRC_URI[sha256sum] = "faa8b9336237565990298f20870e13dd1678a4586847ca5a7ff2abf10752f356" + +RDEPENDS_${PN} += "pulseaudio" + +inherit pypi setuptools3 diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pychromecast_8.1.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pychromecast_8.1.0.bb deleted file mode 100644 index 7b2b5142e..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pychromecast_8.1.0.bb +++ /dev/null @@ -1,10 +0,0 @@ -SUMMARY = "Library for Python 3.6+ to communicate with the Google Chromecast." -HOMEPAGE = "https://github.com/balloob/pychromecast" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=b1dbd4e85f47b389bdadee9c694669f5" - -SRC_URI[sha256sum] = "df0295f653cee752de38cf8ef09f13ad9782c53924dfbaa191ca62bd5e1dce14" - -PYPI_PACKAGE = "PyChromecast" - -inherit pypi setuptools3 diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pychromecast_9.1.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pychromecast_9.1.1.bb new file mode 100644 index 000000000..3d0b84cf0 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pychromecast_9.1.1.bb @@ -0,0 +1,10 @@ +SUMMARY = "Library for Python 3.6+ to communicate with the Google Chromecast." +HOMEPAGE = "https://github.com/balloob/pychromecast" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=b1dbd4e85f47b389bdadee9c694669f5" + +SRC_URI[sha256sum] = "ab9da1d2ef424b1fc755f6436f545a56056ec6de24075e93f369eac8eb821837" + +PYPI_PACKAGE = "PyChromecast" + +inherit pypi setuptools3 diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pycodestyle_2.6.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pycodestyle_2.6.0.bb deleted file mode 100644 index 4ad1f5493..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pycodestyle_2.6.0.bb +++ /dev/null @@ -1,12 +0,0 @@ -SUMMARY = "Python style guide checker (formly called pep8)" -HOMEPAGE = "https://pypi.org/project/pycodestyle" -LICENSE = "MIT" -SECTION = "devel/python" -LIC_FILES_CHKSUM = "file://LICENSE;md5=a8546d0e77f416fb05a26acd89c8b3bd" - -SRC_URI[md5sum] = "e2fcdace728267d5fa3aa98e08ee40db" -SRC_URI[sha256sum] = "c58a7d2815e0e8d7972bf1803331fb0152f867bd89adf8a01dfd55085434192e" - -inherit pypi setuptools3 - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pycodestyle_2.7.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pycodestyle_2.7.0.bb new file mode 100644 index 000000000..611abca6b --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pycodestyle_2.7.0.bb @@ -0,0 +1,11 @@ +SUMMARY = "Python style guide checker (formly called pep8)" +HOMEPAGE = "https://pypi.org/project/pycodestyle" +LICENSE = "MIT" +SECTION = "devel/python" +LIC_FILES_CHKSUM = "file://LICENSE;md5=a8546d0e77f416fb05a26acd89c8b3bd" + +SRC_URI[sha256sum] = "c389c1d06bf7904078ca03399a4816f974a1d590090fecea0c63ec26ebaf1cef" + +inherit pypi setuptools3 + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyflakes_2.2.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyflakes_2.2.0.bb deleted file mode 100644 index 911cf4ec3..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyflakes_2.2.0.bb +++ /dev/null @@ -1,16 +0,0 @@ -SUMMARY = "passive checker of Python programs" -HOMEPAGE = "https://github.com/dreamhost/cliff" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=690c2d09203dc9e07c4083fc45ea981f" - -SRC_URI[md5sum] = "48b1c29732ca810a70cba0e6d0531169" -SRC_URI[sha256sum] = "35b2d75ee967ea93b55750aa9edbbf72813e06a66ba54438df2cfac9e3c27fc8" - -inherit pypi setuptools3 - -RDEPENDS_${PN} += " \ - ${PYTHON_PN}-prettytable \ - ${PYTHON_PN}-cmd2 \ - ${PYTHON_PN}-pyparsing" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyflakes_2.3.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyflakes_2.3.1.bb new file mode 100644 index 000000000..69680ddcb --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyflakes_2.3.1.bb @@ -0,0 +1,15 @@ +SUMMARY = "passive checker of Python programs" +HOMEPAGE = "https://github.com/dreamhost/cliff" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=690c2d09203dc9e07c4083fc45ea981f" + +SRC_URI[sha256sum] = "f5bc8ecabc05bb9d291eb5203d6810b49040f6ff446a756326104746cc00c1db" + +inherit pypi setuptools3 + +RDEPENDS_${PN} += " \ + ${PYTHON_PN}-prettytable \ + ${PYTHON_PN}-cmd2 \ + ${PYTHON_PN}-pyparsing" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.138.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.138.bb deleted file mode 100644 index eb7bea834..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.138.bb +++ /dev/null @@ -1,22 +0,0 @@ -DESCRIPTION = "Python API for MISP" -HOMEPAGE = "https://github.com/MISP/PyMISP" -LICENSE = "BSD-2-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=a3639cf5780f71b125d3e9d1dc127c20" - -SRC_URI = "git://github.com/MISP/PyMISP.git;protocol=https;branch=main" -SRCREV = "9316420dc028a1ffc541986fc08793e669f2165e" -S = "${WORKDIR}/git" - -inherit setuptools3 - -RDEPENDS_${PN} += " \ - ${PYTHON_PN}-dateutil \ - ${PYTHON_PN}-json \ - ${PYTHON_PN}-jsonschema \ - ${PYTHON_PN}-requests \ - ${PYTHON_PN}-six \ -" - -# Fixes: python3-pymisp requires /bin/bash, but no -# providers found in RDEPENDS_python3-pymisp? [file-rdep] -RDEPENDS_${PN} += "bash" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.140.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.140.bb new file mode 100644 index 000000000..32e673660 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.140.bb @@ -0,0 +1,22 @@ +DESCRIPTION = "Python API for MISP" +HOMEPAGE = "https://github.com/MISP/PyMISP" +LICENSE = "BSD-2-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=a3639cf5780f71b125d3e9d1dc127c20" + +SRC_URI = "git://github.com/MISP/PyMISP.git;protocol=https;branch=main" +SRCREV = "39a7b8242f0d3022276d417ec334bb46b890ff23" +S = "${WORKDIR}/git" + +inherit setuptools3 + +RDEPENDS_${PN} += " \ + ${PYTHON_PN}-dateutil \ + ${PYTHON_PN}-json \ + ${PYTHON_PN}-jsonschema \ + ${PYTHON_PN}-requests \ + ${PYTHON_PN}-six \ +" + +# Fixes: python3-pymisp requires /bin/bash, but no +# providers found in RDEPENDS_python3-pymisp? [file-rdep] +RDEPENDS_${PN} += "bash" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyperf_2.1.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyperf_2.1.0.bb deleted file mode 100644 index b57ea16eb..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyperf_2.1.0.bb +++ /dev/null @@ -1,23 +0,0 @@ -SUMMARY = "A toolkit to write, run and analyze benchmarks" -DESCRIPTION = " \ -The Python pyperf module is a toolkit to write, run and analyze benchmarks. \ -Features: \ - * Simple API to run reliable benchmarks \ - * Automatically calibrate a benchmark for a time budget. \ - * Spawn multiple worker processes. \ - * Compute the mean and standard deviation. \ - * Detect if a benchmark result seems unstable. \ - * JSON format to store benchmark results. \ - * Support multiple units: seconds, bytes and integer. \ -" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://COPYING;md5=78bc2e6e87c8c61272937b879e6dc2f8" - -SRC_URI[sha256sum] = "1257d673d89fdcdbaec8077afeb365e7a94739c1b263572b09403cac25708ad3" - -DEPENDS += "${PYTHON_PN}-six-native" - -PYPI_PACKAGE = "pyperf" -inherit pypi setuptools3 - -RDEPENDS_${PN} += "${PYTHON_PN}-misc" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyperf_2.2.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyperf_2.2.0.bb new file mode 100644 index 000000000..70676b05f --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyperf_2.2.0.bb @@ -0,0 +1,23 @@ +SUMMARY = "A toolkit to write, run and analyze benchmarks" +DESCRIPTION = " \ +The Python pyperf module is a toolkit to write, run and analyze benchmarks. \ +Features: \ + * Simple API to run reliable benchmarks \ + * Automatically calibrate a benchmark for a time budget. \ + * Spawn multiple worker processes. \ + * Compute the mean and standard deviation. \ + * Detect if a benchmark result seems unstable. \ + * JSON format to store benchmark results. \ + * Support multiple units: seconds, bytes and integer. \ +" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=78bc2e6e87c8c61272937b879e6dc2f8" + +SRC_URI[sha256sum] = "498bb4d1fe21350c2b7c1aa8bb3eae9c9979358d0b66327954bc66839fcba8b6" + +DEPENDS += "${PYTHON_PN}-six-native" + +PYPI_PACKAGE = "pyperf" +inherit pypi setuptools3 + +RDEPENDS_${PN} += "${PYTHON_PN}-misc" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyroute2_0.5.14.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyroute2_0.5.14.bb deleted file mode 100644 index 84397b65b..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyroute2_0.5.14.bb +++ /dev/null @@ -1,37 +0,0 @@ -SUMMARY = "A pure Python netlink and Linux network configuration library" -LICENSE = "GPLv2 & Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE.GPL.v2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://LICENSE.Apache.v2;md5=34281e312165f843a2b7d1f114fe65ce" - -SRC_URI[md5sum] = "6bde3624a6f22bdfb630bb54243a0d1d" -SRC_URI[sha256sum] = "774c5ecf05fe40f0f601a7ab33c19ca0b24f00bf4a094e58deaa5333b7ca49b5" - -inherit setuptools3 pypi ptest - -RDEPENDS_${PN} += " \ - ${PYTHON_PN}-ctypes \ - ${PYTHON_PN}-distutils \ - ${PYTHON_PN}-io \ - ${PYTHON_PN}-json \ - ${PYTHON_PN}-logging \ - ${PYTHON_PN}-multiprocessing \ - ${PYTHON_PN}-pickle \ - ${PYTHON_PN}-pkgutil \ - ${PYTHON_PN}-pprint \ - ${PYTHON_PN}-shell \ - ${PYTHON_PN}-unixadmin \ -" - -SRC_URI += " \ - file://run-ptest \ -" - -RDEPENDS_${PN}-ptest += " \ - ${PYTHON_PN}-pytest \ - ${PYTHON_PN}-fcntl \ -" - -do_install_ptest() { - install -d ${D}${PTEST_PATH}/tests - cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/ -} diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyroute2_0.5.15.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyroute2_0.5.15.bb new file mode 100644 index 000000000..ca168b137 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyroute2_0.5.15.bb @@ -0,0 +1,36 @@ +SUMMARY = "A pure Python netlink and Linux network configuration library" +LICENSE = "GPLv2 & Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE.GPL.v2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://LICENSE.Apache.v2;md5=34281e312165f843a2b7d1f114fe65ce" + +SRC_URI[sha256sum] = "d730eff091dd5b2b78282bc82ebe6888e7ee4d70b79468b1da58d99fc1a2a2fc" + +inherit setuptools3 pypi ptest + +RDEPENDS_${PN} += " \ + ${PYTHON_PN}-ctypes \ + ${PYTHON_PN}-distutils \ + ${PYTHON_PN}-io \ + ${PYTHON_PN}-json \ + ${PYTHON_PN}-logging \ + ${PYTHON_PN}-multiprocessing \ + ${PYTHON_PN}-pickle \ + ${PYTHON_PN}-pkgutil \ + ${PYTHON_PN}-pprint \ + ${PYTHON_PN}-shell \ + ${PYTHON_PN}-unixadmin \ +" + +SRC_URI += " \ + file://run-ptest \ +" + +RDEPENDS_${PN}-ptest += " \ + ${PYTHON_PN}-pytest \ + ${PYTHON_PN}-fcntl \ +" + +do_install_ptest() { + install -d ${D}${PTEST_PATH}/tests + cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/ +} diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyscaffold_3.3.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyscaffold_3.3.1.bb deleted file mode 100644 index 9bebcedd3..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyscaffold_3.3.1.bb +++ /dev/null @@ -1,17 +0,0 @@ -SUMMARY = "Python project template generator with batteries included" -DESCRIPTION = "PyScaffold package helps to setup a new Python project. \ -After installation, it provides a new command [putup], which could be \ -used to create template Projects." - -HOMEPAGE = "https://github.com/pyscaffold/pyscaffold" -SECTION = "devel/python" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=8227180126797a0148f94f483f3e1489" - -inherit pypi setuptools3 - -PYPI_PACKAGE = "PyScaffold" - -SRC_URI[sha256sum] = "1c3a2b76e60319b6ffc2a8b54e240382109c6241576bf0a47ea476c7194f6a69" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyscaffold_4.0.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyscaffold_4.0.1.bb new file mode 100644 index 000000000..b0f8f3e9f --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyscaffold_4.0.1.bb @@ -0,0 +1,17 @@ +SUMMARY = "Python project template generator with batteries included" +DESCRIPTION = "PyScaffold package helps to setup a new Python project. \ +After installation, it provides a new command [putup], which could be \ +used to create template Projects." + +HOMEPAGE = "https://github.com/pyscaffold/pyscaffold" +SECTION = "devel/python" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=8227180126797a0148f94f483f3e1489" + +inherit pypi setuptools3 + +PYPI_PACKAGE = "PyScaffold" + +SRC_URI[sha256sum] = "8fd7b2bdbfc7f7758a66d66cbf796af338e40d69fd4f7b4ddb9996c38add1dbe" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pysonos_0.0.40.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pysonos_0.0.40.bb new file mode 100644 index 000000000..dbfa0dff5 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pysonos_0.0.40.bb @@ -0,0 +1,15 @@ +DESCRIPTION = "A SoCo fork with fixes for Home Assistant " +HOMEPAGE = "https://pypi.org/project/pysonos/" +SECTION = "devel/python" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=07b0e2ca9ac77cd65cd4edf2e13367ea" + +SRC_URI[sha256sum] = "3fed94dffbca5807d39d000d1415fe8d7dfc1032ba92a33d0b577eb2e98a81f3" + +inherit pypi setuptools3 + +RDEPENDS_${PN} += "\ + ${PYTHON_PN}-ifaddr \ + ${PYTHON_PN}-requests \ + ${PYTHON_PN}-xmltodict \ + " diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pystemd_0.8.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pystemd_0.8.0.bb index e09b633f9..6f302fa52 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pystemd_0.8.0.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pystemd_0.8.0.bb @@ -6,6 +6,7 @@ SRC_URI[md5sum] = "f993739eca645749f18d4ccfd4a0fbf3" SRC_URI[sha256sum] = "cac2e42043ab28d43adf33dab493c6a3cf8a99794f824ae8af6d9cd6458b9972" DEPENDS = "systemd" +RDEPENDS_${PN} += "python3-xml python3-pprint" REQUIRED_DISTRO_FEATURES = "systemd" inherit pypi setuptools3 features_check diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-helpers-namespace_2019.1.8.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-helpers-namespace_2019.1.8.bb deleted file mode 100644 index b3aced4f6..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-helpers-namespace_2019.1.8.bb +++ /dev/null @@ -1,14 +0,0 @@ -DESCRIPTION = "This plugin does not provide any helpers to pytest, it does, however, provide a helpers namespace in pytest which enables you to register helper functions in your conftest.py to be used within your tests without having to import them." -HOMEPAGE = "https://github.com/saltstack/pytest-helpers-namespace" -SECTION = "devel/python" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://PKG-INFO;md5=cc99508c43d9d14fd51c7fac622ffd23" - -SRC_URI[md5sum] = "04ec1d8750f9b154e782a47cf8b30736" -SRC_URI[sha256sum] = "4eff23a19f92410c0166f6dffbfa8901d3e14a80e97d70cd08428b6d597771ce" - -inherit pypi setuptools3 - -RDEPENDS_${PN} += " \ - ${PYTHON_PN}-pytest \ -" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-helpers-namespace_2021.3.24.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-helpers-namespace_2021.3.24.bb new file mode 100644 index 000000000..9211ac394 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-helpers-namespace_2021.3.24.bb @@ -0,0 +1,18 @@ +DESCRIPTION = "This plugin does not provide any helpers to pytest, it does, however, provide a helpers namespace in pytest which enables you to register helper functions in your conftest.py to be used within your tests without having to import them." +HOMEPAGE = "https://github.com/saltstack/pytest-helpers-namespace" +SECTION = "devel/python" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=440a4cdb311cd7ad181efb4cba06d562" + +SRC_URI[sha256sum] = "188df5a7c52390fa27d6cd2f18e74d64a2ef0b9fb6e12f15fdf5a95f4813d25f" + +inherit pypi setuptools3 + +DEPENDS += "\ + ${PYTHON_PN}-wheel-native \ + ${PYTHON_PN}-pip-native \ +" + +RDEPENDS_${PN} += " \ + ${PYTHON_PN}-pytest \ +" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pythonping_1.0.16.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pythonping_1.0.16.bb new file mode 100644 index 000000000..5affb934c --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pythonping_1.0.16.bb @@ -0,0 +1,12 @@ +SUMMARY = "PythonPing is simple way to ping in Python." +HOMEPAGE = "https://pypi.org/project/pythonping/" +SECTION = "devel/python" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://setup.py;beginline=12;endline=12;md5=2d33c00f47720c7e35e1fdb4b9fab027" + +SRC_URI[md5sum] = "9b505ad8a5b8a6a8e57ccf75098ea364" +SRC_URI[sha256sum] = "d025c8b25952580dea47bc241421e17a5a97f97f50098e1096dd10d845d0f156" + +inherit pypi setuptools3 + +RDEPENDS_${PN} += "python3-io" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-regex_2020.11.13.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-regex_2020.11.13.bb deleted file mode 100644 index b5f714397..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-regex_2020.11.13.bb +++ /dev/null @@ -1,10 +0,0 @@ -SUMMARY = "Alternative regular expression module, to replace re." -HOMEPAGE = "https://bitbucket.org/mrabarnett/mrab-regex/src" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=f0a3e4a2554ebb89c046c93d45d8e4bc" - -inherit pypi setuptools3 - -SRC_URI[sha256sum] = "83d6b356e116ca119db8e7c6fc2983289d87b27b3fac238cfe5dca529d884562" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-regex_2021.3.17.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-regex_2021.3.17.bb new file mode 100644 index 000000000..a3cb80413 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-regex_2021.3.17.bb @@ -0,0 +1,10 @@ +SUMMARY = "Alternative regular expression module, to replace re." +HOMEPAGE = "https://bitbucket.org/mrabarnett/mrab-regex/src" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=f0a3e4a2554ebb89c046c93d45d8e4bc" + +inherit pypi setuptools3 + +SRC_URI[sha256sum] = "4b8a1fb724904139149a43e172850f35aa6ea97fb0545244dc0b805e0154ed68" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-requests/setup.py-Support-idna-version-3.1.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-requests/setup.py-Support-idna-version-3.1.patch new file mode 100644 index 000000000..26332249d --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-requests/setup.py-Support-idna-version-3.1.patch @@ -0,0 +1,40 @@ +From fc45beed40a86c8fc38fc430765c1c5d2c9961c2 Mon Sep 17 00:00:00 2001 +From: Fabio Berton +Date: Thu, 4 Mar 2021 09:26:48 -0300 +Subject: [PATCH] setup.py: Support idna version 3.1 +Organization: O.S. Systems Software LTDA. + +Change idna required version to use python3-idna recipe that currently +is on version 3.1. + +Without this change python-request doesn't work as the idna version +doesn't match the required versions. When bump python-request recipe, +verify if the upstream project bumped the idna version and drop this +patch. + +As this recipe was tested with python3-idna_3.1 don't allow higher +versions. + +Upstream-Status: Inappropriate [embedded specific] + +Signed-off-by: Fabio Berton +--- + setup.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/setup.py b/setup.py +index 7ba4b2a2..9d3b973e 100755 +--- a/setup.py ++++ b/setup.py +@@ -43,7 +43,7 @@ packages = ['requests'] + + requires = [ + 'chardet>=3.0.2,<5', +- 'idna>=2.5,<3', ++ 'idna>=2.5,<3.2', + 'urllib3>=1.21.1,<1.27', + 'certifi>=2017.4.17' + +-- +2.30.1 + diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-requests_2.25.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-requests_2.25.1.bb index 6af836543..cea8fd517 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-requests_2.25.1.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-requests_2.25.1.bb @@ -3,6 +3,8 @@ HOMEPAGE = "http://python-requests.org" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=34400b68072d710fecd0a2940a0d1658" +SRC_URI += "file://setup.py-Support-idna-version-3.1.patch" + SRC_URI[sha256sum] = "27973dd4a904a4f13b263a19c866c13b92a39ed1c964655f025f3f8d3d75b804" inherit pypi setuptools3 diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-rfc3339-validator_0.1.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-rfc3339-validator_0.1.2.bb deleted file mode 100644 index e226e11b7..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-rfc3339-validator_0.1.2.bb +++ /dev/null @@ -1,21 +0,0 @@ -SUMMARY = "A pure python RFC3339 validator" -HOMEPAGE = "https://github.com/naimetti/rfc3339-validator" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=a21b13b5a996f08f7e0b088aa38ce9c6" - -FILESEXTRAPATHS_prepend := "${THISDIR}/python-rfc3339-validator:" - -SRC_URI[md5sum] = "2c233007189d5ef21046cb2afac51a96" -SRC_URI[sha256sum] = "c9659c3183488a1875c4d327c9873d9e92c54cdcd69dfbfae7546ad8b27baf9a" - -PYPI_PACKAGE = "rfc3339_validator" - -inherit pypi setuptools3 - -RDEPENDS_${PN} += "\ - ${PYTHON_PN}-core \ - ${PYTHON_PN}-datetime \ - ${PYTHON_PN}-six \ -" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-rfc3339-validator_0.1.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-rfc3339-validator_0.1.3.bb new file mode 100644 index 000000000..a07a09447 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-rfc3339-validator_0.1.3.bb @@ -0,0 +1,20 @@ +SUMMARY = "A pure python RFC3339 validator" +HOMEPAGE = "https://github.com/naimetti/rfc3339-validator" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=a21b13b5a996f08f7e0b088aa38ce9c6" + +FILESEXTRAPATHS_prepend := "${THISDIR}/python-rfc3339-validator:" + +SRC_URI[sha256sum] = "7a578aa0740e9ee2b48356fe1f347139190c4c72e27f303b3617054efd15df32" + +PYPI_PACKAGE = "rfc3339_validator" + +inherit pypi setuptools3 + +RDEPENDS_${PN} += "\ + ${PYTHON_PN}-core \ + ${PYTHON_PN}-datetime \ + ${PYTHON_PN}-six \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-robotframework_3.2.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-robotframework_3.2.2.bb deleted file mode 100644 index 10f031c7b..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-robotframework_3.2.2.bb +++ /dev/null @@ -1,27 +0,0 @@ -SUMMARY = "A Python generic test automation framework" -DESCRIPTION = "Generic open source test atomation framework for acceptance\ -testing and acceptance test-driven development (ATDD). It has easy-to-use\ -tabular test data syntax and it utilizes the keyword-driven testing approach.\ -Its testing capabilities can be extended by test libraries implemented either\ -with Python or Java, and users can create new higher-level keywords from\ -existing ones using the same syntax that is used for creating test cases." -HOMEPAGE = "http://robotframework.org" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57" - -inherit pypi setuptools3 - -PYPI_PACKAGE_EXT = "zip" -SRC_URI[md5sum] = "ac6b77c223821856e8ac077acf5a7c1d" -SRC_URI[sha256sum] = "a0786a916d0572bd9d6afe26e95c6021e3df5dcafa0ece6b302e36366e58c24e" - -RDEPENDS_${PN} += " \ - ${PYTHON_PN}-shell \ - ${PYTHON_PN}-pprint \ - ${PYTHON_PN}-xml \ - ${PYTHON_PN}-difflib \ - ${PYTHON_PN}-threading \ - ${PYTHON_PN}-html \ - ${PYTHON_PN}-docutils \ - ${PYTHON_PN}-ctypes \ -" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-robotframework_4.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-robotframework_4.0.bb new file mode 100644 index 000000000..6cb8643bd --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-robotframework_4.0.bb @@ -0,0 +1,27 @@ +SUMMARY = "A Python generic test automation framework" +DESCRIPTION = "Generic open source test atomation framework for acceptance\ +testing and acceptance test-driven development (ATDD). It has easy-to-use\ +tabular test data syntax and it utilizes the keyword-driven testing approach.\ +Its testing capabilities can be extended by test libraries implemented either\ +with Python or Java, and users can create new higher-level keywords from\ +existing ones using the same syntax that is used for creating test cases." +HOMEPAGE = "http://robotframework.org" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57" + +inherit pypi setuptools3 + +PYPI_PACKAGE_EXT = "zip" + +SRC_URI[sha256sum] = "a02a6f4af3b0830e4396058694c333cb63eb47f50acf6723be34f0f7a4d73ad7" + +RDEPENDS_${PN} += " \ + ${PYTHON_PN}-shell \ + ${PYTHON_PN}-pprint \ + ${PYTHON_PN}-xml \ + ${PYTHON_PN}-difflib \ + ${PYTHON_PN}-threading \ + ${PYTHON_PN}-html \ + ${PYTHON_PN}-docutils \ + ${PYTHON_PN}-ctypes \ +" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-ruamel-yaml_0.16.12.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-ruamel-yaml_0.16.12.bb deleted file mode 100644 index 7593ce7f5..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-ruamel-yaml_0.16.12.bb +++ /dev/null @@ -1,20 +0,0 @@ -SUMMARY = "YAML parser/emitter that supports roundtrip preservation of comments, seq/map flow style, and map key order." -AUTHOR = "Anthon van der Neut" - -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=60afc0a1bb0501c0c555cabe78bba022" - -PYPI_PACKAGE = "ruamel.yaml" - -inherit pypi setuptools3 - -BBCLASSEXTEND = "native nativesdk" - -SRC_URI[md5sum] = "c7e4b216d9554d80be42011b448b7c61" -SRC_URI[sha256sum] = "076cc0bc34f1966d920a49f18b52b6ad559fbe656a0748e3535cf7b3f29ebf9e" - -do_install_prepend() { - export RUAMEL_NO_PIP_INSTALL_CHECK=1 -} - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-ruamel-yaml_0.17.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-ruamel-yaml_0.17.2.bb new file mode 100644 index 000000000..6f15d1e70 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-ruamel-yaml_0.17.2.bb @@ -0,0 +1,19 @@ +SUMMARY = "YAML parser/emitter that supports roundtrip preservation of comments, seq/map flow style, and map key order." +AUTHOR = "Anthon van der Neut" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=fa0a51dfb461e2f803969e0f3fa71dfe" + +PYPI_PACKAGE = "ruamel.yaml" + +inherit pypi setuptools3 + +BBCLASSEXTEND = "native nativesdk" + +SRC_URI[sha256sum] = "8f1e15421668b9edf30ed02899f5f81aff9808a4271935776f61a99a569a13da" + +do_install_prepend() { + export RUAMEL_NO_PIP_INSTALL_CHECK=1 +} + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-scrypt_0.8.17.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-scrypt_0.8.17.bb new file mode 100644 index 000000000..bcd58914a --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-scrypt_0.8.17.bb @@ -0,0 +1,23 @@ +DESCRIPTION = "Bindings for the scrypt key derivation function library" +LICENSE = "BSD-2-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=2ddf47d0ff1849bce3257ccbc1fd275c" +HOMEPAGE="https://github.com/holgern/py-scrypt" + +SRC_URI += "file://0001-py-scrypt-remove-the-hard-coded-include-paths.patch" + +SRC_URI[sha256sum] = "25b5075f2238be93af1cd574540a5ea01b8547f9b678aa72d22fce22577475ec" + +inherit pypi ptest setuptools3 dos2unix + +SRC_URI += " \ + file://run-ptest \ +" + +RDEPENDS_${PN}-ptest += " \ + ${PYTHON_PN}-pytest \ +" + +do_install_ptest() { + install -d ${D}${PTEST_PATH}/tests + cp -rf ${S}/scrypt/tests/* ${D}${PTEST_PATH}/tests/ +} diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-scrypt_0.8.6.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-scrypt_0.8.6.bb deleted file mode 100644 index 7588fc54b..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-scrypt_0.8.6.bb +++ /dev/null @@ -1,24 +0,0 @@ -DESCRIPTION = "Bindings for the scrypt key derivation function library" -LICENSE = "BSD-2-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=168ff75417f75a83e63c8875292d44dc" -HOMEPAGE="https://bitbucket.org/mhallin/py-scrypt/overview" - -SRC_URI += "file://0001-py-scrypt-remove-the-hard-coded-include-paths.patch" - -SRC_URI[md5sum] = "ae8e3263aa31b040c1f9c7f1e1843a56" -SRC_URI[sha256sum] = "f8239b2d47fa1d40bc27efd231dc7083695d10c1c2ac51a99380360741e0362d" - -inherit pypi ptest setuptools3 - -SRC_URI += " \ - file://run-ptest \ -" - -RDEPENDS_${PN}-ptest += " \ - ${PYTHON_PN}-pytest \ -" - -do_install_ptest() { - install -d ${D}${PTEST_PATH}/tests - cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/ -} diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-sentry-sdk_0.20.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-sentry-sdk_0.20.3.bb deleted file mode 100644 index 13ba1e6fa..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-sentry-sdk_0.20.3.bb +++ /dev/null @@ -1,11 +0,0 @@ -SUMMARY = "The new Python SDK for Sentry.io" -DESCRIPTION = "This is the next line of the Python SDK \ -for Sentry, intended to replace the raven package on PyPI." -HOMEPAGE = "https://github.com/getsentry/sentry-python" -LICENSE = "BSD-2-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=0c79f8d3c91fc847350efd28bfe0a341" - -SRC_URI[sha256sum] = "4ae8d1ced6c67f1c8ea51d82a16721c166c489b76876c9f2c202b8a50334b237" - -PYPI_PACKAGE = "sentry-sdk" -inherit pypi setuptools3 diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-sentry-sdk_1.0.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-sentry-sdk_1.0.0.bb new file mode 100644 index 000000000..22b9f55dd --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-sentry-sdk_1.0.0.bb @@ -0,0 +1,12 @@ +SUMMARY = "The new Python SDK for Sentry.io" +DESCRIPTION = "This is the next line of the Python SDK \ +for Sentry, intended to replace the raven package on PyPI." +HOMEPAGE = "https://github.com/getsentry/sentry-python" +LICENSE = "BSD-2-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=0c79f8d3c91fc847350efd28bfe0a341" + +SRC_URI[sha256sum] = "71de00c9711926816f750bc0f57ef2abbcb1bfbdf5378c601df7ec978f44857a" + +PYPI_PACKAGE = "sentry-sdk" + +inherit pypi setuptools3 diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-socketio_5.0.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-socketio_5.0.4.bb deleted file mode 100644 index 70db342cc..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-socketio_5.0.4.bb +++ /dev/null @@ -1,27 +0,0 @@ -SUMMARY = "Socket.IO server" -HOMEPAGE = "https://github.com/miguelgrinberg/python-socketio/" -SECTION = "devel/python" - -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=42d0a9e728978f0eeb759c3be91536b8" - -inherit pypi setuptools3 - -PYPI_PACKAGE = "python-socketio" - -SRC_URI[sha256sum] = "f53fd0d5bd9f75a70492062f4ae6195ab5d34d67a29024d740f25e468392893e" - -PACKAGECONFIG ?= "asyncio_client client" -PACKAGECONFIG[asyncio_client] = ",,,${PYTHON_PN}-aiohttp ${PYTHON_PN}-websockets" -PACKAGECONFIG[client] = ",,,${PYTHON_PN}-requests ${PYTHON_PN}-websocket-client" - -RDEPENDS_${PN} += "\ - ${PYTHON_PN}-engineio \ - ${PYTHON_PN}-logging \ - ${PYTHON_PN}-math \ - ${PYTHON_PN}-pickle \ - ${PYTHON_PN}-json \ - ${PYTHON_PN}-threading \ - ${PYTHON_PN}-six \ - ${PYTHON_PN}-attrs \ - " diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-socketio_5.1.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-socketio_5.1.0.bb new file mode 100644 index 000000000..8cf6a96ba --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-socketio_5.1.0.bb @@ -0,0 +1,27 @@ +SUMMARY = "Socket.IO server" +HOMEPAGE = "https://github.com/miguelgrinberg/python-socketio/" +SECTION = "devel/python" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=42d0a9e728978f0eeb759c3be91536b8" + +inherit pypi setuptools3 + +PYPI_PACKAGE = "python-socketio" + +SRC_URI[sha256sum] = "338cc29abb6f3ca14c88f1f8d05ed27c690df4648f62062b299f92625bbf7093" + +PACKAGECONFIG ?= "asyncio_client client" +PACKAGECONFIG[asyncio_client] = ",,,${PYTHON_PN}-aiohttp ${PYTHON_PN}-websockets" +PACKAGECONFIG[client] = ",,,${PYTHON_PN}-requests ${PYTHON_PN}-websocket-client" + +RDEPENDS_${PN} += "\ + ${PYTHON_PN}-engineio \ + ${PYTHON_PN}-logging \ + ${PYTHON_PN}-math \ + ${PYTHON_PN}-pickle \ + ${PYTHON_PN}-json \ + ${PYTHON_PN}-threading \ + ${PYTHON_PN}-six \ + ${PYTHON_PN}-attrs \ + " diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-soupsieve_2.2.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-soupsieve_2.2.1.bb new file mode 100644 index 000000000..93ef04f14 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-soupsieve_2.2.1.bb @@ -0,0 +1,25 @@ +SUMMARY = "CSS selector library for python-beautifulsoup4" +HOMEPAGE = "https://github.com/facelessuser/soupsieve" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=33c3a77def9b3ad83e01c65bdcc1af67" + +SRC_URI[sha256sum] = "052774848f448cf19c7e959adf5566904d525f33a3f8b6ba6f6f8f26ec7de0cc" + +inherit pypi setuptools3 ptest + +SRC_URI += " \ + file://run-ptest \ +" + +RDEPENDS_${PN}-ptest += " \ + ${PYTHON_PN}-pytest \ + ${PYTHON_PN}-beautifulsoup4 \ +" + +do_install_ptest() { + install -d ${D}${PTEST_PATH}/tests + cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/ +} + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-soupsieve_2.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-soupsieve_2.2.bb deleted file mode 100644 index 9507f60d7..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-soupsieve_2.2.bb +++ /dev/null @@ -1,25 +0,0 @@ -SUMMARY = "CSS selector library for python-beautifulsoup4" -HOMEPAGE = "https://github.com/facelessuser/soupsieve" - -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE.md;md5=33c3a77def9b3ad83e01c65bdcc1af67" - -SRC_URI[sha256sum] = "407fa1e8eb3458d1b5614df51d9651a1180ea5fedf07feb46e45d7e25e6d6cdd" - -inherit pypi setuptools3 ptest - -SRC_URI += " \ - file://run-ptest \ -" - -RDEPENDS_${PN}-ptest += " \ - ${PYTHON_PN}-pytest \ - ${PYTHON_PN}-beautifulsoup4 \ -" - -do_install_ptest() { - install -d ${D}${PTEST_PATH}/tests - cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/ -} - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-spidev_3.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-spidev_3.2.bb deleted file mode 100644 index 65679594d..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-spidev_3.2.bb +++ /dev/null @@ -1,16 +0,0 @@ -SUMMARY = "Python bindings for Linux SPI access through spidev" -DESCRIPTION = "This project contains a python module for interfacing with SPI\ -devices from user space via the spidev linux kernel driver.\ -This is a modified version of the code originally found\ -[here](http://elk.informatik.fh-augsburg.de/da/da-49/trees/pyap7k/lang/py-spi)\ -All code is GPLv2 licensed unless explicitly stated otherwise." -HOMEPAGE = "http://github.com/doceme/py-spidev" -SECTION = "devel/python" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://LICENSE.md;md5=54bdb9022ebb75ab68399cdaab97da60" -SRCNAME = "spidev" - -SRC_URI[md5sum] = "f601676f1bb48b9aa3b3897f95216365" -SRC_URI[sha256sum] = "09d2b5122f0dd79910713a11f9a0020f71537224bf829916def4fffc0ea59456" - -inherit pypi setuptools3 diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_1.3.23.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_1.3.23.bb deleted file mode 100644 index d962ea7d9..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_1.3.23.bb +++ /dev/null @@ -1,19 +0,0 @@ -DESCRIPTION = "Python SQL toolkit and Object Relational Mapper that gives \ -application developers the full power and flexibility of SQL" -HOMEPAGE = "http://www.sqlalchemy.org/" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=3359ed561ac16aaa25b6c6eff84df595" - -SRC_URI[sha256sum] = "6fca33672578666f657c131552c4ef8979c1606e494f78cd5199742dfb26918b" - -PYPI_PACKAGE = "SQLAlchemy" -inherit pypi setuptools3 - -RDEPENDS_${PN} += " \ - ${PYTHON_PN}-json \ - ${PYTHON_PN}-pickle \ - ${PYTHON_PN}-logging \ - ${PYTHON_PN}-netclient \ - ${PYTHON_PN}-numbers \ - ${PYTHON_PN}-threading \ -" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_1.4.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_1.4.3.bb new file mode 100644 index 000000000..8cff18dc2 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_1.4.3.bb @@ -0,0 +1,19 @@ +DESCRIPTION = "Python SQL toolkit and Object Relational Mapper that gives \ +application developers the full power and flexibility of SQL" +HOMEPAGE = "http://www.sqlalchemy.org/" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=3359ed561ac16aaa25b6c6eff84df595" + +SRC_URI[sha256sum] = "a719b80b41a900bbcec3cc248616394ebd134043ce5e62185270d785d8a184d3" + +PYPI_PACKAGE = "SQLAlchemy" +inherit pypi setuptools3 + +RDEPENDS_${PN} += " \ + ${PYTHON_PN}-json \ + ${PYTHON_PN}-pickle \ + ${PYTHON_PN}-logging \ + ${PYTHON_PN}-netclient \ + ${PYTHON_PN}-numbers \ + ${PYTHON_PN}-threading \ +" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-twine_3.3.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-twine_3.3.0.bb deleted file mode 100644 index 0bc199992..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-twine_3.3.0.bb +++ /dev/null @@ -1,14 +0,0 @@ -DESCRIPTION = "Utilities for interacting with PyPI" -HOMEPAGE = "https://twine.readthedocs.io/" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=a3d1106b253a8d50dd82a4202a045b4c" - -SRC_URI[sha256sum] = "fcffa8fc37e8083a5be0728371f299598870ee1eccc94e9a25cef7b1dcfa8297" - -inherit pypi setuptools3 - -DEPENDS += "\ - ${PYTHON_PN}-setuptools-scm-native \ -" - -BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-twine_3.4.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-twine_3.4.1.bb new file mode 100644 index 000000000..111366dba --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-twine_3.4.1.bb @@ -0,0 +1,14 @@ +DESCRIPTION = "Utilities for interacting with PyPI" +HOMEPAGE = "https://twine.readthedocs.io/" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=a3d1106b253a8d50dd82a4202a045b4c" + +SRC_URI[sha256sum] = "a56c985264b991dc8a8f4234eb80c5af87fa8080d0c224ad8f2cd05a2c22e83b" + +inherit pypi setuptools3 + +DEPENDS += "\ + ${PYTHON_PN}-setuptools-scm-native \ +" + +BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-twisted_20.3.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-twisted_20.3.0.bb deleted file mode 100644 index 697725fd7..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-twisted_20.3.0.bb +++ /dev/null @@ -1,325 +0,0 @@ -DESCRIPTION = "Twisted is an event-driven networking framework written in Python and licensed under the LGPL. \ -Twisted supports TCP, UDP, SSL/TLS, multicast, Unix sockets, a large number of protocols \ -(including HTTP, NNTP, IMAP, SSH, IRC, FTP, and others), and much more." -HOMEPAGE = "http://www.twistedmatrix.com" - -#twisted/topfiles/NEWS:655: - Relicensed: Now under the MIT license, rather than LGPL. -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=27ac6d9597237e7e76282edd7a40cd68" - -SRC_URI[sha256sum] = "d72c55b5d56e176563b91d11952d13b01af8725c623e498db5507b6614fc1e10" -SRC_URI[md5sum] = "fc16d575730db7d0cddd09fc35af3eea" - -PYPI_PACKAGE = "Twisted" -PYPI_PACKAGE_EXT = "tar.bz2" - -inherit pypi setuptools3 - -do_install_append() { - # remove some useless files before packaging - find ${D} \( -name "*.bat" -o -name "*.c" -o -name "*.h" \) -exec rm -f {} \; -} - -PACKAGES += "\ - ${PN}-zsh \ - ${PN}-test \ - ${PN}-protocols \ - ${PN}-conch \ - ${PN}-mail \ - ${PN}-names \ - ${PN}-news \ - ${PN}-runner \ - ${PN}-web \ - ${PN}-words \ - ${PN}-flow \ - ${PN}-pair \ - ${PN}-core \ -" - -PACKAGES =+ "\ - ${PN}-bin \ -" - -DEPENDS += " \ - ${PYTHON_PN}-incremental-native \ -" - -RDEPENDS_${PN} = "\ - ${PN}-bin \ - ${PN}-core \ - ${PN}-conch \ - ${PN}-mail \ - ${PN}-names \ - ${PN}-pair \ - ${PN}-protocols \ - ${PN}-runner \ - ${PN}-web \ - ${PN}-words \ - ${PN}-zsh \ -" - -RDEPENDS_${PN}-core = "${PYTHON_PN}-appdirs \ - ${PYTHON_PN}-automat \ - ${PYTHON_PN}-constantly \ - ${PYTHON_PN}-core \ - ${PYTHON_PN}-debugger \ - ${PYTHON_PN}-hyperlink \ - ${PYTHON_PN}-incremental \ - ${PYTHON_PN}-pyhamcrest \ - ${PYTHON_PN}-pyserial \ - ${PYTHON_PN}-unixadmin \ - ${PYTHON_PN}-zopeinterface \ -" -RDEPENDS_${PN}-test = "${PN}" -RDEPENDS_${PN}-conch = "${PN}-core ${PN}-protocols ${PYTHON_PN}-bcrypt ${PYTHON_PN}-cryptography ${PYTHON_PN}-pyasn1 ${PYTHON_PN}-pickle" -RDEPENDS_${PN}-mail = "${PN}-core ${PN}-protocols" -RDEPENDS_${PN}-names = "${PN}-core" -RDEPENDS_${PN}-news = "${PN}-core ${PN}-protocols" -RDEPENDS_${PN}-runner = "${PN}-core ${PN}-protocols" -RDEPENDS_${PN}-web += "${PN}-core ${PN}-protocols" -RDEPENDS_${PN}-words += "${PN}-core" -RDEPENDS_${PN}-flow += "${PN}-core" -RDEPENDS_${PN}-pair += "${PN}-core" -RDEPENDS_${PN}-dbg = "${PN}" - -ALLOW_EMPTY_${PN} = "1" -FILES_${PN} = "" - -FILES_${PN}-test = " \ - ${libdir}/${PYTHON_DIR}/site-packages/twisted/test \ - ${libdir}/${PYTHON_DIR}/site-packages/twisted/*/test \ - ${libdir}/${PYTHON_DIR}/site-packages/twisted/protocols/haproxy/test/ \ -" - -FILES_${PN}-protocols = " \ - ${libdir}/${PYTHON_DIR}/site-packages/twisted/protocols/*.py* \ - ${libdir}/${PYTHON_DIR}/site-packages/twisted/protocols/gps/ \ - ${libdir}/${PYTHON_DIR}/site-packages/twisted/protocols/mice/ \ - ${libdir}/${PYTHON_DIR}/site-packages/twisted/protocols/haproxy \ -" - -FILES_${PN}-zsh = " \ - ${libdir}/${PYTHON_DIR}/site-packages/twisted/python/zsh \ - ${libdir}/${PYTHON_DIR}/site-packages/twisted/python/zshcomp.* \ - ${libdir}/${PYTHON_DIR}/site-packages/twisted/python/twisted-completion.zsh \ -" - -FILES_${PN}-conch = " \ - ${bindir}/ckeygen \ - ${bindir}/tkconch \ - ${bindir}/conch \ - ${bindir}/conchftp \ - ${bindir}/cftp \ - ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_conch.py* \ - ${libdir}/${PYTHON_DIR}/site-packages/twisted/conch \ -" - -FILES_${PN}-core = " \ -${bindir}/manhole \ -${bindir}/mktap \ -${bindir}/twistd \ -${bindir}/tap2deb \ -${bindir}/tap2rpm \ -${bindir}/tapconvert \ -${bindir}/tkmktap \ -${bindir}/trial \ -${bindir}/easy_install* \ -${bindir}/pyhtmlizer \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/*.so \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/*.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__init__.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/notestplugin.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/testplugin.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_ftp.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_inet.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_manhole.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_portforward.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_socks.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_telnet.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_trial.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/dropin.cache \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/application \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/cred \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/enterprise \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/internet \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/manhole \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/manhole \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/persisted \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/protocols\ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python\ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/timeoutqueue.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/filepath.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/dxprofile.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/plugin.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/htmlizer.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/__init__.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/dispatch.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/hook.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/threadpool.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/otp.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/usage.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/roots.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/versions.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/urlpath.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/util.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/components.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/logfile.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/runtime.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/reflect.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/context.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/threadable.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/rebuild.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/failure.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/lockfile.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/formmethod.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/finalize.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/win32.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/dist.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/shortcut.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/zipstream.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/release.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/syslog.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/log.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/compat.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/zshcomp.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/procutils.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/text.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/_twisted_zsh_stub \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/scripts/ \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/spread/ \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/tap/ \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/trial/ \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/__init__.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/_version.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/copyright.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/im.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/*.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/*.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/*.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/topfiles \ -${libdir}/${PYTHON_DIR}/site-packages/Twisted*egg-info \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/logger/ \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/_threads/ \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/positioning/ \ -" - -FILES_${PN}-mail = " \ -${bindir}/mailmail \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_mail.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/mail \ -" - -FILES_${PN}-names = " \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_names.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/names \ -" - -FILES_${PN}-news = " \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_news.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/news \ -" - -FILES_${PN}-runner = " \ -${libdir}/site-packages/twisted/runner/portmap.so \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/runner\ -" - -FILES_${PN}-web = " \ -${bindir}/websetroot \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_web.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/web\ -" - -FILES_${PN}-words = " \ -${bindir}/im \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_words.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/words\ -" - -FILES_${PN}-flow = " \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_flow.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/flow \" - -FILES_${PN}-pair = " \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_pair.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/pair \ -" - -FILES_${PN}-dbg += " \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/*/.debug \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/*/*/.debug \ -" - -FILES_${PN}-doc += " \ - ${libdir}/${PYTHON_DIR}/site-packages/twisted/python/_pydoctortemplates/ \ -" - -RDEPENDS_${PN}-src = "${PN}" -FILES_${PN}-src = " \ - ${libdir}/${PYTHON_DIR}/site-packages/twisted/*.py \ - ${libdir}/${PYTHON_DIR}/site-packages/twisted/*/*.py \ - ${libdir}/${PYTHON_DIR}/site-packages/twisted/*/*/*.py \ -" - -FILES_${PN}-core_append = " \ - ${libdir}/${PYTHON_DIR}/site-packages/twisted/__pycache__ \ - ${libdir}/${PYTHON_DIR}/site-packages/twisted/python/__pycache__/*pyc \ - ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/__init__*.pyc \ - ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/notestplugin*.pyc \ - ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/testplugin*.pyc \ - ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_ftp*.pyc \ - ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_inet*.pyc \ - ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_manhole*.pyc \ - ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_portforward*.pyc \ - ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_socks*.pyc \ - ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_telnet*.pyc \ - ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_trial*.pyc \ - ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_core*.pyc \ - ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_qtstub*.pyc \ - ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_reactors*.pyc \ - ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/cred*.pyc \ - ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/dropin*.cache \ -" - -FILES_${PN}-names_append = " \ - ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_names*.pyc \ -" - -FILES_${PN}-news_append = " \ - ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_news*.pyc \ -" - -FILES_${PN}-protocols_append = " \ - ${libdir}/${PYTHON_DIR}/site-packages/twisted/protocols/__pycache__/*pyc \ -" - -FILES_${PN}-conch_append = " \ - ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_conch*.pyc \ -" - -FILES_${PN}-lore_append = " \ - ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_lore*.pyc \ -" -FILES_${PN}-mail_append = " \ - ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_mail*.pyc \ -" - -FILES_${PN}-web_append = " \ - ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_web*.pyc \ -" - -FILES_${PN}-words_append = " \ - ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_words*.pyc \ -" - -FILES_${PN}-flow_append = " \ - ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_flow*.pyc \ -" - -FILES_${PN}-pair_append = " \ - ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_pair*.pyc \ -" - -FILES_${PN}-runner_append = " \ - ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_runner*.pyc \ -" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-twisted_21.2.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-twisted_21.2.0.bb new file mode 100644 index 000000000..e0f1a8ca6 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-twisted_21.2.0.bb @@ -0,0 +1,324 @@ +DESCRIPTION = "Twisted is an event-driven networking framework written in Python and licensed under the LGPL. \ +Twisted supports TCP, UDP, SSL/TLS, multicast, Unix sockets, a large number of protocols \ +(including HTTP, NNTP, IMAP, SSH, IRC, FTP, and others), and much more." +HOMEPAGE = "http://www.twistedmatrix.com" + +#twisted/topfiles/NEWS:655: - Relicensed: Now under the MIT license, rather than LGPL. +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=e33c411c0b86b1f3ca299091ed51ca31" + +SRC_URI[sha256sum] = "77544a8945cf69b98d2946689bbe0c75de7d145cdf11f391dd487eae8fc95a12" + +PYPI_PACKAGE = "Twisted" + +inherit pypi setuptools3 + +do_install_append() { + # remove some useless files before packaging + find ${D} \( -name "*.bat" -o -name "*.c" -o -name "*.h" \) -exec rm -f {} \; +} + +PACKAGES += "\ + ${PN}-zsh \ + ${PN}-test \ + ${PN}-protocols \ + ${PN}-conch \ + ${PN}-mail \ + ${PN}-names \ + ${PN}-news \ + ${PN}-runner \ + ${PN}-web \ + ${PN}-words \ + ${PN}-flow \ + ${PN}-pair \ + ${PN}-core \ +" + +PACKAGES =+ "\ + ${PN}-bin \ +" + +DEPENDS += " \ + ${PYTHON_PN}-incremental-native \ +" + +RDEPENDS_${PN} = "\ + ${PN}-bin \ + ${PN}-core \ + ${PN}-conch \ + ${PN}-mail \ + ${PN}-names \ + ${PN}-pair \ + ${PN}-protocols \ + ${PN}-runner \ + ${PN}-web \ + ${PN}-words \ + ${PN}-zsh \ +" + +RDEPENDS_${PN}-core = "${PYTHON_PN}-appdirs \ + ${PYTHON_PN}-automat \ + ${PYTHON_PN}-constantly \ + ${PYTHON_PN}-core \ + ${PYTHON_PN}-debugger \ + ${PYTHON_PN}-hyperlink \ + ${PYTHON_PN}-incremental \ + ${PYTHON_PN}-pyhamcrest \ + ${PYTHON_PN}-pyserial \ + ${PYTHON_PN}-unixadmin \ + ${PYTHON_PN}-zopeinterface \ +" +RDEPENDS_${PN}-test = "${PN}" +RDEPENDS_${PN}-conch = "${PN}-core ${PN}-protocols ${PYTHON_PN}-bcrypt ${PYTHON_PN}-cryptography ${PYTHON_PN}-pyasn1 ${PYTHON_PN}-pickle" +RDEPENDS_${PN}-mail = "${PN}-core ${PN}-protocols" +RDEPENDS_${PN}-names = "${PN}-core" +RDEPENDS_${PN}-news = "${PN}-core ${PN}-protocols" +RDEPENDS_${PN}-runner = "${PN}-core ${PN}-protocols" +RDEPENDS_${PN}-web += "${PN}-core ${PN}-protocols" +RDEPENDS_${PN}-words += "${PN}-core" +RDEPENDS_${PN}-flow += "${PN}-core" +RDEPENDS_${PN}-pair += "${PN}-core" +RDEPENDS_${PN}-dbg = "${PN}" + +ALLOW_EMPTY_${PN} = "1" +FILES_${PN} = "" + +FILES_${PN}-test = " \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/test \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/*/test \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/protocols/haproxy/test/ \ +" + +FILES_${PN}-protocols = " \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/protocols/*.py* \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/protocols/gps/ \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/protocols/mice/ \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/protocols/haproxy \ +" + +FILES_${PN}-zsh = " \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/python/zsh \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/python/zshcomp.* \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/python/twisted-completion.zsh \ +" + +FILES_${PN}-conch = " \ + ${bindir}/ckeygen \ + ${bindir}/tkconch \ + ${bindir}/conch \ + ${bindir}/conchftp \ + ${bindir}/cftp \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_conch.py* \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/conch \ +" + +FILES_${PN}-core = " \ +${bindir}/manhole \ +${bindir}/mktap \ +${bindir}/twistd \ +${bindir}/tap2deb \ +${bindir}/tap2rpm \ +${bindir}/tapconvert \ +${bindir}/tkmktap \ +${bindir}/trial \ +${bindir}/easy_install* \ +${bindir}/pyhtmlizer \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/python/*.so \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/*.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__init__.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/notestplugin.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/testplugin.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_ftp.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_inet.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_manhole.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_portforward.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_socks.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_telnet.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_trial.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/dropin.cache \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/application \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/cred \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/enterprise \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/internet \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/manhole \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/manhole \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/persisted \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/protocols\ +${libdir}/${PYTHON_DIR}/site-packages/twisted/python\ +${libdir}/${PYTHON_DIR}/site-packages/twisted/python/timeoutqueue.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/python/filepath.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/python/dxprofile.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/python/plugin.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/python/htmlizer.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/python/__init__.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/python/dispatch.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/python/hook.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/python/threadpool.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/python/otp.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/python/usage.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/python/roots.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/python/versions.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/python/urlpath.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/python/util.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/python/components.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/python/logfile.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/python/runtime.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/python/reflect.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/python/context.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/python/threadable.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/python/rebuild.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/python/failure.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/python/lockfile.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/python/formmethod.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/python/finalize.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/python/win32.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/python/dist.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/python/shortcut.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/python/zipstream.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/python/release.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/python/syslog.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/python/log.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/python/compat.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/python/zshcomp.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/python/procutils.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/python/text.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/python/_twisted_zsh_stub \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/scripts/ \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/spread/ \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/tap/ \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/trial/ \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/__init__.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/_version.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/copyright.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/im.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/*.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/python/*.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/*.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/topfiles \ +${libdir}/${PYTHON_DIR}/site-packages/Twisted*egg-info \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/logger/ \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/_threads/ \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/positioning/ \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/py.typed \ +" + +FILES_${PN}-mail = " \ +${bindir}/mailmail \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_mail.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/mail \ +" + +FILES_${PN}-names = " \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_names.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/names \ +" + +FILES_${PN}-news = " \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_news.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/news \ +" + +FILES_${PN}-runner = " \ +${libdir}/site-packages/twisted/runner/portmap.so \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/runner\ +" + +FILES_${PN}-web = " \ +${bindir}/websetroot \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_web.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/web\ +" + +FILES_${PN}-words = " \ +${bindir}/im \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_words.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/words\ +" + +FILES_${PN}-flow = " \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_flow.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/flow \" + +FILES_${PN}-pair = " \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_pair.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/pair \ +" + +FILES_${PN}-dbg += " \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/*/.debug \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/*/*/.debug \ +" + +FILES_${PN}-doc += " \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/python/_pydoctortemplates/ \ +" + +RDEPENDS_${PN}-src = "${PN}" +FILES_${PN}-src = " \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/*.py \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/*/*.py \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/*/*/*.py \ +" + +FILES_${PN}-core_append = " \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/__pycache__ \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/python/__pycache__/*pyc \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/__init__*.pyc \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/notestplugin*.pyc \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/testplugin*.pyc \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_ftp*.pyc \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_inet*.pyc \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_manhole*.pyc \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_portforward*.pyc \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_socks*.pyc \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_telnet*.pyc \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_trial*.pyc \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_core*.pyc \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_qtstub*.pyc \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_reactors*.pyc \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/cred*.pyc \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/dropin*.cache \ +" + +FILES_${PN}-names_append = " \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_names*.pyc \ +" + +FILES_${PN}-news_append = " \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_news*.pyc \ +" + +FILES_${PN}-protocols_append = " \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/protocols/__pycache__/*pyc \ +" + +FILES_${PN}-conch_append = " \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_conch*.pyc \ +" + +FILES_${PN}-lore_append = " \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_lore*.pyc \ +" +FILES_${PN}-mail_append = " \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_mail*.pyc \ +" + +FILES_${PN}-web_append = " \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_web*.pyc \ +" + +FILES_${PN}-words_append = " \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_words*.pyc \ +" + +FILES_${PN}-flow_append = " \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_flow*.pyc \ +" + +FILES_${PN}-pair_append = " \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_pair*.pyc \ +" + +FILES_${PN}-runner_append = " \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_runner*.pyc \ +" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-txdbus_1.1.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-txdbus_1.1.2.bb new file mode 100644 index 000000000..cf2c98bba --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-txdbus_1.1.2.bb @@ -0,0 +1,13 @@ +SUMMARY = "A native Python implementation of the DBus protocol for Twisted applications." +AUTHOR = "Tom Cocagne" +HOMEPAGE = "https://pypi.org/project/txdbus/" +SECTION = "devel/python" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://README.rst;beginline=32;endline=32;md5=2141358b0bce85fc45216ba91735ad50" + +SRC_URI[md5sum] = "d397357dee78750385f92ca9c6c1f063" +SRC_URI[sha256sum] = "8375a5fb68a12054f0def91af800c821fb2232949337756ed975f88d8ea2bc97" + +inherit pypi setuptools3 + +RDEPENDS_${PN} += "python3-six python3-twisted" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-urllib3_1.26.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-urllib3_1.26.3.bb deleted file mode 100644 index 739cf24f5..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-urllib3_1.26.3.bb +++ /dev/null @@ -1,22 +0,0 @@ -SUMMARY = "Python HTTP library with thread-safe connection pooling, file post support, sanity friendly, and more" -HOMEPAGE = "https://github.com/shazow/urllib3" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=c2823cb995439c984fd62a973d79815c" - -SRC_URI[sha256sum] = "de3eedaad74a2683334e282005cd8d7f22f4d55fa690a2a1020a416cb0a47e73" - -inherit pypi setuptools3 - -RDEPENDS_${PN} += "\ - ${PYTHON_PN}-certifi \ - ${PYTHON_PN}-cryptography \ - ${PYTHON_PN}-email \ - ${PYTHON_PN}-idna \ - ${PYTHON_PN}-netclient \ - ${PYTHON_PN}-pyopenssl \ - ${PYTHON_PN}-threading \ -" - -CVE_PRODUCT = "urllib3" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-urllib3_1.26.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-urllib3_1.26.4.bb new file mode 100644 index 000000000..0a31fb1e2 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-urllib3_1.26.4.bb @@ -0,0 +1,22 @@ +SUMMARY = "Python HTTP library with thread-safe connection pooling, file post support, sanity friendly, and more" +HOMEPAGE = "https://github.com/shazow/urllib3" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=c2823cb995439c984fd62a973d79815c" + +SRC_URI[sha256sum] = "e7b021f7241115872f92f43c6508082facffbd1c048e3c6e2bb9c2a157e28937" + +inherit pypi setuptools3 + +RDEPENDS_${PN} += "\ + ${PYTHON_PN}-certifi \ + ${PYTHON_PN}-cryptography \ + ${PYTHON_PN}-email \ + ${PYTHON_PN}-idna \ + ${PYTHON_PN}-netclient \ + ${PYTHON_PN}-pyopenssl \ + ${PYTHON_PN}-threading \ +" + +CVE_PRODUCT = "urllib3" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-waitress_1.4.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-waitress_1.4.4.bb deleted file mode 100644 index 3e207de4f..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-waitress_1.4.4.bb +++ /dev/null @@ -1,12 +0,0 @@ -SUMMARY = "A WSGI server for Python" -DESCRIPTION = "Waitress is meant to be a production-quality pure-Python WSGI \ - server with very acceptable performance." -HOMEPAGE = "https://github.com/Pylons/waitress" -SECTION = "devel/python" -LICENSE = "ZPL-2.1" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=78ccb3640dc841e1baecb3e27a6966b2" - -SRC_URI[md5sum] = "079c3c4902b1cb5d0a917276ee70f1df" -SRC_URI[sha256sum] = "1bb436508a7487ac6cb097ae7a7fe5413aefca610550baf58f0940e51ecfb261" - -inherit setuptools3 pypi diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-waitress_2.0.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-waitress_2.0.0.bb new file mode 100644 index 000000000..490dcee6c --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-waitress_2.0.0.bb @@ -0,0 +1,11 @@ +SUMMARY = "A WSGI server for Python" +DESCRIPTION = "Waitress is meant to be a production-quality pure-Python WSGI \ + server with very acceptable performance." +HOMEPAGE = "https://github.com/Pylons/waitress" +SECTION = "devel/python" +LICENSE = "ZPL-2.1" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=78ccb3640dc841e1baecb3e27a6966b2" + +SRC_URI[sha256sum] = "69e1f242c7f80273490d3403c3976f3ac3b26e289856936d1f620ed48f321897" + +inherit setuptools3 pypi diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-websocket-client_0.57.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-websocket-client_0.57.0.bb deleted file mode 100644 index aaa92f3cc..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-websocket-client_0.57.0.bb +++ /dev/null @@ -1,18 +0,0 @@ -SUMMARY = "websocket client for python" -DESCRIPTION = "\ -websocket-client module is WebSocket client for python. \ -This provide the low level APIs for WebSocket. All APIs \ -are the synchronous functions." -HOMEPAGE = "https://github.com/websocket-client/websocket-client" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=c4c4a98fbc4836b81c8c64d6ecb01fc1" - -SRC_URI[md5sum] = "8061820da5e1de26a6a1a6996d4eebd5" -SRC_URI[sha256sum] = "d735b91d6d1692a6a181f2a8c9e0238e5f6373356f561bb9dc4c7af36f452010" - -PYPI_PACKAGE = "websocket_client" -inherit pypi setuptools3 - -RDEPENDS_${PN} = "\ - ${PYTHON_PN}-six \ -" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-websocket-client_0.58.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-websocket-client_0.58.0.bb new file mode 100644 index 000000000..a5d7d901b --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-websocket-client_0.58.0.bb @@ -0,0 +1,18 @@ +SUMMARY = "websocket client for python" +DESCRIPTION = "\ +websocket-client module is WebSocket client for python. \ +This provide the low level APIs for WebSocket. All APIs \ +are the synchronous functions." +HOMEPAGE = "https://github.com/websocket-client/websocket-client" +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://LICENSE;md5=c96ca6c1de8adc025adfada81d06fba5" + +SRC_URI[sha256sum] = "63509b41d158ae5b7f67eb4ad20fecbb4eee99434e73e140354dc3ff8e09716f" + +PYPI_PACKAGE = "websocket_client" + +inherit pypi setuptools3 + +RDEPENDS_${PN} = "\ + ${PYTHON_PN}-six \ +" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-werkzeug_1.0.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-werkzeug_1.0.0.bb deleted file mode 100644 index 3e4374ed4..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-werkzeug_1.0.0.bb +++ /dev/null @@ -1,50 +0,0 @@ -SUMMARY = "The Swiss Army knife of Python web development" -DESCRIPTION = "\ -Werkzeug started as simple collection of various utilities for WSGI \ -applications and has become one of the most advanced WSGI utility modules. \ -It includes a powerful debugger, full featured request and response objects, \ -HTTP utilities to handle entity tags, cache control headers, HTTP dates, \ -cookie handling, file uploads, a powerful URL routing system and a bunch \ -of community contributed addon modules." -HOMEPAGE = "http://werkzeug.pocoo.org/" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=5dc88300786f1c214c1e9827a5229462" - -SRC_URI[md5sum] = "305f75c4a88c96dcdc5654bf2d01bc05" -SRC_URI[sha256sum] = "169ba8a33788476292d04186ab33b01d6add475033dfc07215e6d219cc077096" - -PYPI_PACKAGE = "Werkzeug" - -inherit pypi setuptools3 - -CLEANBROKEN = "1" - -PACKAGES =+ "${PN}-tests" -FILES_${PN}-tests+= " \ - ${PYTHON_SITEPACKAGES_DIR}/werkzeug/test* \ - ${PYTHON_SITEPACKAGES_DIR}/werkzeug/__pycache__/test* \ - ${PYTHON_SITEPACKAGES_DIR}/werkzeug/contrib/test* \ - ${PYTHON_SITEPACKAGES_DIR}/werkzeug/contrib/__pycache__/test* \ -" - -RDEPENDS_${PN} += " \ - ${PYTHON_PN}-datetime \ - ${PYTHON_PN}-difflib \ - ${PYTHON_PN}-email \ - ${PYTHON_PN}-html \ - ${PYTHON_PN}-io \ - ${PYTHON_PN}-json \ - ${PYTHON_PN}-misc \ - ${PYTHON_PN}-netclient \ - ${PYTHON_PN}-netserver \ - ${PYTHON_PN}-numbers \ - ${PYTHON_PN}-pkgutil \ - ${PYTHON_PN}-pprint \ - ${PYTHON_PN}-threading \ - ${PYTHON_PN}-unixadmin \ -" - -RDEPENDS_${PN}-tests = " \ - ${PN} \ - ${PYTHON_PN}-unittest \ -" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-werkzeug_1.0.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-werkzeug_1.0.1.bb index 58735c1c0..8af0fef60 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-werkzeug_1.0.1.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-werkzeug_1.0.1.bb @@ -7,7 +7,7 @@ HTTP utilities to handle entity tags, cache control headers, HTTP dates, \ cookie handling, file uploads, a powerful URL routing system and a bunch \ of community contributed addon modules." HOMEPAGE = "http://werkzeug.pocoo.org/" -LICENSE = "BSD" +LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=5dc88300786f1c214c1e9827a5229462" PYPI_PACKAGE = "Werkzeug" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-wpa-supplicant/0001-cli-drop-the-second-argument-from-click.argument-dec.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-wpa-supplicant/0001-cli-drop-the-second-argument-from-click.argument-dec.patch new file mode 100644 index 000000000..59aaa7ed8 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-wpa-supplicant/0001-cli-drop-the-second-argument-from-click.argument-dec.patch @@ -0,0 +1,127 @@ +From 49b133d84e7a1471bf51d8d005b1ba8b78c37724 Mon Sep 17 00:00:00 2001 +From: Bartosz Golaszewski +Date: Sat, 20 Mar 2021 20:59:54 +0100 +Subject: [PATCH] cli: drop the second argument from @click.argument() + decorator + +@click.argument no longer takes two positional arguments. + +Signed-off-by: Bartosz Golaszewski +--- +Upstream-Status: Pending + + wpa_supplicant/cli.py | 28 ++++++++++++++-------------- + 1 file changed, 14 insertions(+), 14 deletions(-) + +diff --git a/wpa_supplicant/cli.py b/wpa_supplicant/cli.py +index bad5b5b..1fb322d 100644 +--- a/wpa_supplicant/cli.py ++++ b/wpa_supplicant/cli.py +@@ -81,7 +81,7 @@ def root(ctx, debug): + + + @root.group() +-@click.argument('ifname', 'e.g. wlan0') ++@click.argument('ifname') + @click.pass_context + def interface(ctx, ifname): + """Access fi.w1.wpa_supplicant1.Interface object""" +@@ -101,7 +101,7 @@ def interface_p2p_device(): + + + @root.group() +-@click.argument('ifname', 'e.g. wlan0') ++@click.argument('ifname') + @click.option('--ssid', default=None, help='Look at scan results for BSS examples') + @click.option('--bssid', default=None, help='Look at scan results for BSS examples') + @click.pass_context +@@ -149,7 +149,7 @@ def persistent_group(): + # fi.w1.wpa_supplicant1 API + # + @root.command() +-@click.argument('ifname', 'e.g. wlan0') ++@click.argument('ifname') + @click.option('--bridge_if_name', default=None, help='Bridge to control, e.g., br0') + @click.option('--driver', default=None, help='e.g. nl80211') + @click.option('--config_file', default=None, help='Config file path') +@@ -161,7 +161,7 @@ def create_interface(ifname, bridge_if_name, driver, config_file): + + + @root.command() +-@click.argument('ifname', 'e.g. wlan0') ++@click.argument('ifname') + def remove_interface(ifname): + """Method: Deregisters a wireless interface from wpa_supplicant""" + with supplicant() as supp: +@@ -170,7 +170,7 @@ def remove_interface(ifname): + + + @root.command() +-@click.argument('ifname', 'e.g. wlan0') ++@click.argument('ifname') + def get_interface(ifname): + """Method: Returns a D-Bus path to an object related to an interface which wpa_supplicant already controls""" + with supplicant() as supp: +@@ -178,7 +178,7 @@ def get_interface(ifname): + + + @root.command(name='get') +-@click.argument('name', 'Name of property (case sensitive)') ++@click.argument('name') + def root_get(name): + """Method: Get Property (case sensitive)""" + with supplicant() as supp: +@@ -186,8 +186,8 @@ def root_get(name): + + + @root.command(name='set') +-@click.argument('name', 'Name of property (case sensitive)') +-@click.argument('value', 'Value to be set') ++@click.argument('name') ++@click.argument('value') + def root_set(name, value): + """Method: Set Property (case sensitive)""" + with supplicant() as supp: +@@ -217,7 +217,7 @@ def disconnect(ctx): + + + @interface.command(name='get') +-@click.argument('name', 'Name of property (case sensitive)') ++@click.argument('name') + @click.pass_context + def interface_get(ctx, name): + """Method: Get Property (case sensitive)""" +@@ -227,8 +227,8 @@ def interface_get(ctx, name): + + + @interface.command(name='set') +-@click.argument('name', 'Name of property (case sensitive)') +-@click.argument('value', 'Value to be set') ++@click.argument('name') ++@click.argument('value') + @click.pass_context + def interface_set(ctx, name, value): + """Method: Set Property (case sensitive)""" +@@ -241,7 +241,7 @@ def interface_set(ctx, name, value): + # fi.w1.wpa_supplicant1.BSS API + # + @bss.command(name='get') +-@click.argument('name', 'Name of property (case sensitive)') ++@click.argument('name') + @click.pass_context + def bss_get(ctx, name): + """Method: Get Property (case sensitive)""" +@@ -261,8 +261,8 @@ def bss_get(ctx, name): + + + @bss.command(name='set') +-@click.argument('name', 'Name of property (case sensitive)') +-@click.argument('value', 'Value to be set') ++@click.argument('name') ++@click.argument('value') + @click.pass_context + def bss_set(ctx, name, value): + """Method: Set Property (case sensitive)""" +-- +2.25.1 + diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-wpa-supplicant_0.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-wpa-supplicant_0.2.bb new file mode 100644 index 000000000..2309bec5e --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-wpa-supplicant_0.2.bb @@ -0,0 +1,16 @@ +SUMMARY = "Python interface to the wpa_supplicant D-Bus interface" +HOMEPAGE = "https://pypi.org/project/wpa_supplicant/" +SECTION = "devel/python" +LICENSE = "MPL-2.0" +LIC_FILES_CHKSUM = "file://README.md;beginline=171;endline=199;md5=462586bcbebd12f5d0ac443be0ed3d91" + +SRC_URI[md5sum] = "c21c7841f5e03ff709a0564b2e094010" +SRC_URI[sha256sum] = "3ad0f40a696763bb0f4d4dec5b51f6b53ccfeb7c16ebb5897349303045f94776" + +SRC_URI += "file://0001-cli-drop-the-second-argument-from-click.argument-dec.patch" + +PYPI_PACKAGE = "wpa_supplicant" + +inherit pypi setuptools3 + +RDEPENDS_${PN} += "python3-twisted python3-click python3-txdbus" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-xmlschema_1.5.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-xmlschema_1.5.1.bb deleted file mode 100644 index bdb15971b..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-xmlschema_1.5.1.bb +++ /dev/null @@ -1,19 +0,0 @@ -SUMMARY = "The xmlschema library is an implementation of XML Schema for Python (supports Python 3.6+)." -HOMEPAGE = "https://github.com/sissaschool/xmlschema" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=47489cb18c469474afeb259ed1d4832f" - -SRC_URI[sha256sum] = "c4c72b457865f46394bb23525b4e233d6537d9e97b8c6144a6cda2d5ef0d6688" - -PYPI_PACKAGE = "xmlschema" -inherit pypi setuptools3 - -DEPENDS += "\ - ${PYTHON_PN}-elementpath-native \ -" - -RDEPENDS_${PN} += "\ - ${PYTHON_PN}-elementpath \ -" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-xmlschema_1.5.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-xmlschema_1.5.3.bb new file mode 100644 index 000000000..3f9c06365 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-xmlschema_1.5.3.bb @@ -0,0 +1,19 @@ +SUMMARY = "The xmlschema library is an implementation of XML Schema for Python (supports Python 3.6+)." +HOMEPAGE = "https://github.com/sissaschool/xmlschema" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=47489cb18c469474afeb259ed1d4832f" + +SRC_URI[sha256sum] = "a7db4c8ae2afa28654d15fcbf5d7f22f0441b5611e50426426e5418f369b5c79" + +PYPI_PACKAGE = "xmlschema" +inherit pypi setuptools3 + +DEPENDS += "\ + ${PYTHON_PN}-elementpath-native \ +" + +RDEPENDS_${PN} += "\ + ${PYTHON_PN}-elementpath \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-yamlloader_0.5.5.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-yamlloader_0.5.5.bb deleted file mode 100644 index dbf84d413..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-yamlloader_0.5.5.bb +++ /dev/null @@ -1,13 +0,0 @@ -SUMMARY = "Ordered YAML loader and dumper for PyYAML." -HOMEPAGE = "https://github.com/Phynix/yamlloader" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=6831ef36faa29329bce2420c5356f97e" - -SRC_URI[md5sum] = "2e0750ace81235f750c072833d79c4c3" -SRC_URI[sha256sum] = "dcab5f16b39bb03d10dda4cd4f30c943675ec4c7771807fc67e7f1bb319bf4c8" - -inherit pypi setuptools3 - -RDEPENDS_${PN}_class-target += "\ - ${PYTHON_PN}-pyyaml \ -" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-yamlloader_1.0.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-yamlloader_1.0.0.bb new file mode 100644 index 000000000..a2483a6f4 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-yamlloader_1.0.0.bb @@ -0,0 +1,12 @@ +SUMMARY = "Ordered YAML loader and dumper for PyYAML." +HOMEPAGE = "https://github.com/Phynix/yamlloader" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=6831ef36faa29329bce2420c5356f97e" + +SRC_URI[sha256sum] = "e96dc3dc6895d814c330c054c966d993fc81ef1dbf5a30a4bdafeb256359e058" + +inherit pypi setuptools3 + +RDEPENDS_${PN}_class-target += "\ + ${PYTHON_PN}-pyyaml \ +" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-zopeinterface_5.2.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-zopeinterface_5.2.0.bb deleted file mode 100644 index 48bb80d57..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-zopeinterface_5.2.0.bb +++ /dev/null @@ -1,23 +0,0 @@ -SUMMARY = "Interface definitions for Zope products" -LICENSE = "ZPL-2.1" -LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=e54fd776274c1b7423ec128974bd9d46" - -PYPI_PACKAGE = "zope.interface" - -inherit pypi setuptools3 -SRC_URI[sha256sum] = "8251f06a77985a2729a8bdbefbae79ee78567dddc3acbd499b87e705ca59fe24" - -PACKAGES =. "${PN}-test " - -RPROVIDES_${PN} += "zope-interfaces" - -RDEPENDS_${PN}_class-target += "${PYTHON_PN}-datetime" -RDEPENDS_${PN}-test += "python3-unittest python3-doctest" - -FILES_${PN}-dbg += "${PYTHON_SITEPACKAGES_DIR}/*.egg/*/*/.debug" -FILES_${PN}-dev += "${PYTHON_SITEPACKAGES_DIR}/zope/interface/*.c" -FILES_${PN}-doc += "${PYTHON_SITEPACKAGES_DIR}/zope/interface/*.txt" -FILES_${PN}-test += " \ - ${PYTHON_SITEPACKAGES_DIR}/zope/interface/tests \ - ${PYTHON_SITEPACKAGES_DIR}/zope/interface/common/tests \ -" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-zopeinterface_5.3.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-zopeinterface_5.3.0.bb new file mode 100644 index 000000000..5da5a88b9 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-zopeinterface_5.3.0.bb @@ -0,0 +1,23 @@ +SUMMARY = "Interface definitions for Zope products" +LICENSE = "ZPL-2.1" +LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=e54fd776274c1b7423ec128974bd9d46" + +PYPI_PACKAGE = "zope.interface" + +inherit pypi setuptools3 +SRC_URI[sha256sum] = "b18a855f8504743e0a2d8b75d008c7720d44e4c76687e13f959e35d9a13eb397" + +PACKAGES =. "${PN}-test " + +RPROVIDES_${PN} += "zope-interfaces" + +RDEPENDS_${PN}_class-target += "${PYTHON_PN}-datetime" +RDEPENDS_${PN}-test += "python3-unittest python3-doctest" + +FILES_${PN}-dbg += "${PYTHON_SITEPACKAGES_DIR}/*.egg/*/*/.debug" +FILES_${PN}-dev += "${PYTHON_SITEPACKAGES_DIR}/zope/interface/*.c" +FILES_${PN}-doc += "${PYTHON_SITEPACKAGES_DIR}/zope/interface/*.txt" +FILES_${PN}-test += " \ + ${PYTHON_SITEPACKAGES_DIR}/zope/interface/tests \ + ${PYTHON_SITEPACKAGES_DIR}/zope/interface/common/tests \ +" diff --git a/meta-openembedded/meta-webserver/conf/layer.conf b/meta-openembedded/meta-webserver/conf/layer.conf index d95d32877..7bb497892 100644 --- a/meta-openembedded/meta-webserver/conf/layer.conf +++ b/meta-openembedded/meta-webserver/conf/layer.conf @@ -17,7 +17,7 @@ LAYERVERSION_webserver = "1" LAYERDEPENDS_webserver = "core openembedded-layer" -LAYERSERIES_COMPAT_webserver = "gatesgarth hardknott" +LAYERSERIES_COMPAT_webserver = " hardknott" LICENSE_PATH += "${LAYERDIR}/licenses" diff --git a/meta-openembedded/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_5.0.4.bb b/meta-openembedded/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_5.0.4.bb deleted file mode 100644 index 43fed1081..000000000 --- a/meta-openembedded/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_5.0.4.bb +++ /dev/null @@ -1,41 +0,0 @@ -SUMMARY = "Web-based MySQL administration interface" -HOMEPAGE = "http://www.phpmyadmin.net" -# Main code is GPLv2, vendor/tecnickcom/tcpdf is under LGPLv3, js/jquery is under MIT -LICENSE = "GPLv2 & LGPLv3 & MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://vendor/tecnickcom/tcpdf/LICENSE.TXT;md5=dd6470bbcd3436ca317f82d34abaf688 \ - file://js/vendor/jquery/MIT-LICENSE.txt;md5=e43aa437a6a1ba421653bd5034333bf9 \ -" - -SRC_URI = "https://files.phpmyadmin.net/phpMyAdmin/${PV}/phpMyAdmin-${PV}-all-languages.tar.xz \ - file://apache.conf \ -" - -SRC_URI[md5sum] = "38c6b9f38e4aeb68a2840d5903dd00c5" -SRC_URI[sha256sum] = "1578c1a08e594da4f4f62e676ccbdbd17784c3de769b094ba42c35bf05c057db" - -UPSTREAM_CHECK_URI = "https://www.phpmyadmin.net/downloads/" -UPSTREAM_CHECK_REGEX = "phpMyAdmin-(?P\d+(\.\d+)+)-all-languages.tar.xz" - -S = "${WORKDIR}/phpMyAdmin-${PV}-all-languages" - -inherit allarch - -do_install() { - install -d ${D}${datadir}/${BPN} - cp -R --no-dereference --preserve=mode,links -v * ${D}${datadir}/${BPN} - chown -R root:root ${D}${datadir}/${BPN} - # Don't install patches to target - rm -rf ${D}${datadir}/${BPN}/patches - - install -d ${D}${sysconfdir}/apache2/conf.d - install -m 0644 ${WORKDIR}/apache.conf ${D}${sysconfdir}/apache2/conf.d/phpmyadmin.conf - - # Remove a few scripts that explicitly require bash (!) - rm -f ${D}${datadir}/phpmyadmin/libraries/transformations/*.sh -} - -FILES_${PN} = "${datadir}/${BPN} \ - ${sysconfdir}/apache2/conf.d" - -RDEPENDS_${PN} += "bash php-cli" diff --git a/meta-openembedded/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_5.1.0.bb b/meta-openembedded/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_5.1.0.bb new file mode 100644 index 000000000..cbb5bd971 --- /dev/null +++ b/meta-openembedded/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_5.1.0.bb @@ -0,0 +1,41 @@ +SUMMARY = "Web-based MySQL administration interface" +HOMEPAGE = "http://www.phpmyadmin.net" +# Main code is GPLv2, vendor/tecnickcom/tcpdf is under LGPLv3, js/jquery is under MIT +LICENSE = "GPLv2 & LGPLv3 & MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://vendor/tecnickcom/tcpdf/LICENSE.TXT;md5=dd6470bbcd3436ca317f82d34abaf688 \ + file://js/vendor/jquery/MIT-LICENSE.txt;md5=75308107741f7dcdc39127209c7e3fc8 \ +" + +SRC_URI = "https://files.phpmyadmin.net/phpMyAdmin/${PV}/phpMyAdmin-${PV}-all-languages.tar.xz \ + file://apache.conf \ +" + +SRC_URI[md5sum] = "4587343e706c5434adf91c396b418731" +SRC_URI[sha256sum] = "aa8ccf357f672012384df34e1c2bc70147476761c8458a0dad6233497e142c68" + +UPSTREAM_CHECK_URI = "https://www.phpmyadmin.net/downloads/" +UPSTREAM_CHECK_REGEX = "phpMyAdmin-(?P\d+(\.\d+)+)-all-languages.tar.xz" + +S = "${WORKDIR}/phpMyAdmin-${PV}-all-languages" + +inherit allarch + +do_install() { + install -d ${D}${datadir}/${BPN} + cp -R --no-dereference --preserve=mode,links -v * ${D}${datadir}/${BPN} + chown -R root:root ${D}${datadir}/${BPN} + # Don't install patches to target + rm -rf ${D}${datadir}/${BPN}/patches + + install -d ${D}${sysconfdir}/apache2/conf.d + install -m 0644 ${WORKDIR}/apache.conf ${D}${sysconfdir}/apache2/conf.d/phpmyadmin.conf + + # Remove a few scripts that explicitly require bash (!) + rm -f ${D}${datadir}/phpmyadmin/libraries/transformations/*.sh +} + +FILES_${PN} = "${datadir}/${BPN} \ + ${sysconfdir}/apache2/conf.d" + +RDEPENDS_${PN} += "bash php-cli" diff --git a/meta-openembedded/meta-xfce/conf/layer.conf b/meta-openembedded/meta-xfce/conf/layer.conf index 5674ab512..b1240b06e 100644 --- a/meta-openembedded/meta-xfce/conf/layer.conf +++ b/meta-openembedded/meta-xfce/conf/layer.conf @@ -19,7 +19,7 @@ LAYERDEPENDS_xfce-layer += "multimedia-layer" LAYERDEPENDS_xfce-layer += "meta-python" LAYERDEPENDS_xfce-layer += "networking-layer" -LAYERSERIES_COMPAT_xfce-layer = "gatesgarth hardknott" +LAYERSERIES_COMPAT_xfce-layer = " hardknott" SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += "\ openzone->gdk-pixbuf \ diff --git a/meta-openembedded/meta-xfce/recipes-apps/mousepad/mousepad_0.5.2.bb b/meta-openembedded/meta-xfce/recipes-apps/mousepad/mousepad_0.5.2.bb deleted file mode 100644 index a7e96851a..000000000 --- a/meta-openembedded/meta-xfce/recipes-apps/mousepad/mousepad_0.5.2.bb +++ /dev/null @@ -1,16 +0,0 @@ -SUMMARY = "A simple text editor for Xfce" -SECTION = "x11/application" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" - -DEPENDS = "gtk+3 gtksourceview3 xfconf xfce4-dev-tools-native" - -inherit xfce-app gsettings mime-xdg - -SRC_URI[sha256sum] = "30adc5631a4e551df7b3e17ddc1d10e9980080f96518dedccc32170cb18efb8e" - -FILES_${PN} += " \ - ${datadir}/glib-2.0/schemas \ - ${datadir}/metainfo \ - ${datadir}/polkit-1 \ -" diff --git a/meta-openembedded/meta-xfce/recipes-apps/mousepad/mousepad_0.5.3.bb b/meta-openembedded/meta-xfce/recipes-apps/mousepad/mousepad_0.5.3.bb new file mode 100644 index 000000000..1fba67914 --- /dev/null +++ b/meta-openembedded/meta-xfce/recipes-apps/mousepad/mousepad_0.5.3.bb @@ -0,0 +1,16 @@ +SUMMARY = "A simple text editor for Xfce" +SECTION = "x11/application" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" + +DEPENDS = "gtk+3 gtksourceview3 xfconf xfce4-dev-tools-native" + +inherit xfce-app gsettings mime-xdg + +SRC_URI[sha256sum] = "e7208bb9e96a1525d3358a64f9cdd165005078e84e81984a953a2a03491fcaa8" + +FILES_${PN} += " \ + ${datadir}/glib-2.0/schemas \ + ${datadir}/metainfo \ + ${datadir}/polkit-1 \ +" diff --git a/meta-openembedded/meta-xfce/recipes-apps/xfce4-panel-profiles/xfce4-panel-profiles/0001-Makefile.in.in-remove-bashisms.patch b/meta-openembedded/meta-xfce/recipes-apps/xfce4-panel-profiles/xfce4-panel-profiles/0001-Makefile.in.in-remove-bashisms.patch deleted file mode 100644 index 9738f1a8c..000000000 --- a/meta-openembedded/meta-xfce/recipes-apps/xfce4-panel-profiles/xfce4-panel-profiles/0001-Makefile.in.in-remove-bashisms.patch +++ /dev/null @@ -1,56 +0,0 @@ -Makefile.in.in: remove bashisms - -The brace expansion is bash specific and fails with dash. - -Upstream-Status: Pending [No permission to folk repo and create pull request] - -https://gitlab.xfce.org/apps/xfce4-panel-profiles - -Signed-off-by: Kai Kang ---- - Makefile.in.in | 15 ++++++++++++---- - 1 file changed, 11 insertions(+), 4 deletions(-) - -diff --git a/Makefile.in.in b/Makefile.in.in -index 73338f4..e08b218 100644 ---- a/Makefile.in.in -+++ b/Makefile.in.in -@@ -73,8 +73,11 @@ install: all xfce4-panel-profiles.1 - - install -d $(DESTDIR)/$(MANDIR)/man1 - install xfce4-panel-profiles.1 $(DESTDIR)/$(MANDIR)/man1 -- -- install -d $(DESTDIR)/$(PREFIX)/share/icons/hicolor/{128x128,48x48,16x16,scalable}/apps -+ -+ install -d $(DESTDIR)/$(PREFIX)/share/icons/hicolor/128x128/apps -+ install -d $(DESTDIR)/$(PREFIX)/share/icons/hicolor/48x48/apps -+ install -d $(DESTDIR)/$(PREFIX)/share/icons/hicolor/16x16/apps -+ install -d $(DESTDIR)/$(PREFIX)/share/icons/hicolor/scalable/apps - install data/icons/128x128/org.xfce.PanelProfiles.png $(DESTDIR)/$(PREFIX)/share/icons/hicolor/128x128/apps - install data/icons/48x48/org.xfce.PanelProfiles.png $(DESTDIR)/$(PREFIX)/share/icons/hicolor/48x48/apps - install data/icons/16x16/org.xfce.PanelProfiles.png $(DESTDIR)/$(PREFIX)/share/icons/hicolor/16x16/apps -@@ -86,7 +89,9 @@ uninstall: - rm -rf $(DESTDIR)/$(DOCDIR) - # FIXME: Uninstall locales - rm -f $(DESTDIR)/$(PREFIX)/bin/$(APPNAME) -- rm -rf $(DESTDIR)/$(PREFIX)/share/icons/hicolor/{128x128,48x48,16x16}/apps/org.xfce.PanelProfiles.png -+ rm -rf $(DESTDIR)/$(PREFIX)/share/icons/hicolor/128x128/apps -+ rm -rf $(DESTDIR)/$(PREFIX)/share/icons/hicolor/48x48/apps -+ rm -rf $(DESTDIR)/$(PREFIX)/share/icons/hicolor/16x16/apps - rm -rf $(DESTDIR)/$(PREFIX)/share/icons/hicolor/scalable/apps/org.xfce.PanelProfiles.svg - - distcheck: all -@@ -106,7 +112,9 @@ clean: - rm -f bin/$(APPNAME) - rm -f data/metainfo/org.xfce.PanelProfiles.appdata.xml - rm -f data/layouts/*.tar.bz2 -- rm -f data/icons/{128x128,48x48,16x16}/org.xfce.panelprofiles.png -+ rm -f data/icons/128x128/org.xfce.panelprofiles.png -+ rm -f data/icons/48x48/org.xfce.panelprofiles.png -+ rm -f data/icons/16x16/org.xfce.panelprofiles.png - rm -f data/icons/scalable/org.xfce.panelprofiles.svg - rm -f org.xfce.PanelProfiles.desktop - rm -f Makefile.in --- -2.25.1 - diff --git a/meta-openembedded/meta-xfce/recipes-apps/xfce4-panel-profiles/xfce4-panel-profiles_1.0.12.bb b/meta-openembedded/meta-xfce/recipes-apps/xfce4-panel-profiles/xfce4-panel-profiles_1.0.12.bb deleted file mode 100644 index 34162d3cc..000000000 --- a/meta-openembedded/meta-xfce/recipes-apps/xfce4-panel-profiles/xfce4-panel-profiles_1.0.12.bb +++ /dev/null @@ -1,30 +0,0 @@ -SUMMARY = "Backup, restore, import, and export panel layouts" -SECTION = "x11/application" -LICENSE = "GPLv3" -LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" - -inherit python3native gettext gtk-icon-cache features_check - -REQUIRED_DISTRO_FEATURES = "x11" - -DEPENDS += "intltool-native" - -SRC_URI = "http://archive.xfce.org/src/apps/${BPN}/1.0/${BP}.tar.bz2 \ - file://not-create-link-to-locale.patch \ - file://0001-Makefile.in.in-remove-bashisms.patch \ - " -SRC_URI[sha256sum] = "246e459d2d2f3f524968440ed7fddb2a891567ebc05f10a800f7f5821b3452a7" - -do_configure() { - # special configure - no autotools... - ./configure --prefix=${prefix} -} - -do_install() { - oe_runmake 'DESTDIR=${D}' install - sed -i 's:${PYTHON}:python3:g' ${D}${bindir}/xfce4-panel-profiles -} - -FILES_${PN} += "${datadir}/metainfo" - -RDEPENDS_${PN} += "python3-pygobject python3-pexpect" diff --git a/meta-openembedded/meta-xfce/recipes-apps/xfce4-panel-profiles/xfce4-panel-profiles_1.0.13.bb b/meta-openembedded/meta-xfce/recipes-apps/xfce4-panel-profiles/xfce4-panel-profiles_1.0.13.bb new file mode 100644 index 000000000..bb9e50e1e --- /dev/null +++ b/meta-openembedded/meta-xfce/recipes-apps/xfce4-panel-profiles/xfce4-panel-profiles_1.0.13.bb @@ -0,0 +1,29 @@ +SUMMARY = "Backup, restore, import, and export panel layouts" +SECTION = "x11/application" +LICENSE = "GPLv3" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" + +inherit python3native gettext gtk-icon-cache features_check + +REQUIRED_DISTRO_FEATURES = "x11" + +DEPENDS += "intltool-native" + +SRC_URI = "http://archive.xfce.org/src/apps/${BPN}/1.0/${BP}.tar.bz2 \ + file://not-create-link-to-locale.patch \ + " +SRC_URI[sha256sum] = "bc387c13f94109422dc72b0fcb919b0dc11619ba589d03e492252b0d2513b170" + +do_configure() { + # special configure - no autotools... + ./configure --prefix=${prefix} +} + +do_install() { + oe_runmake 'DESTDIR=${D}' install + sed -i 's:${PYTHON}:python3:g' ${D}${bindir}/xfce4-panel-profiles +} + +FILES_${PN} += "${datadir}/metainfo" + +RDEPENDS_${PN} += "python3-pygobject python3-pexpect" diff --git a/meta-openembedded/meta-xfce/recipes-apps/xfce4-taskmanager/xfce4-taskmanager_1.4.0.bb b/meta-openembedded/meta-xfce/recipes-apps/xfce4-taskmanager/xfce4-taskmanager_1.4.0.bb deleted file mode 100644 index d41ee894a..000000000 --- a/meta-openembedded/meta-xfce/recipes-apps/xfce4-taskmanager/xfce4-taskmanager_1.4.0.bb +++ /dev/null @@ -1,9 +0,0 @@ -SUMMARY = "Easy to use task manager" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" - -inherit xfce-app - -DEPENDS += "gtk+3 cairo libwnck libxmu xfce4-dev-tools-native" - -SRC_URI[sha256sum] = "655684ddfc15fc09071f78f9fce5439d20bbd2d80ecfc5ba0a08fb38313e7d43" diff --git a/meta-openembedded/meta-xfce/recipes-apps/xfce4-taskmanager/xfce4-taskmanager_1.5.2.bb b/meta-openembedded/meta-xfce/recipes-apps/xfce4-taskmanager/xfce4-taskmanager_1.5.2.bb new file mode 100644 index 000000000..e0da70dd0 --- /dev/null +++ b/meta-openembedded/meta-xfce/recipes-apps/xfce4-taskmanager/xfce4-taskmanager_1.5.2.bb @@ -0,0 +1,9 @@ +SUMMARY = "Easy to use task manager" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" + +inherit xfce-app + +DEPENDS += "gtk+3 cairo libwnck libxfce4ui libxmu xfce4-dev-tools-native" + +SRC_URI[sha256sum] = "bd25143f47a29000b4148874863dffa521b1a37cb01dbc026f423ea3160f9a35" diff --git a/meta-openembedded/meta-xfce/recipes-panel-plugins/cpufreq/xfce4-cpufreq-plugin/0001-Fix-memory-leak-and-reduce-cpu-load-slightly.patch b/meta-openembedded/meta-xfce/recipes-panel-plugins/cpufreq/xfce4-cpufreq-plugin/0001-Fix-memory-leak-and-reduce-cpu-load-slightly.patch deleted file mode 100644 index ae8bc5279..000000000 --- a/meta-openembedded/meta-xfce/recipes-panel-plugins/cpufreq/xfce4-cpufreq-plugin/0001-Fix-memory-leak-and-reduce-cpu-load-slightly.patch +++ /dev/null @@ -1,121 +0,0 @@ -From f86486e128f62ed5a531163535d11f0aa0268928 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Andreas=20M=C3=BCller?= -Date: Sun, 5 May 2019 20:45:26 +0200 -Subject: [PATCH] Fix memory-leak and reduce cpu-load slightly -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -* when setting font remove old css provider befor setting new - -> fix memory leak -* do call cpufreq_label_set_font only on init and when font was changed - -> reduce cpu-load - -Fixes https://bugzilla.xfce.org/show_bug.cgi?id=15218 - -Upstream-Status: Submitted [1] - -[1] https://bugzilla.xfce.org/attachment.cgi?id=8492 - -Signed-off-by: Andreas Müller - ---- - panel-plugin/xfce4-cpufreq-configure.c | 4 ++++ - panel-plugin/xfce4-cpufreq-plugin.c | 13 +++++++++++-- - panel-plugin/xfce4-cpufreq-plugin.h | 2 ++ - 3 files changed, 17 insertions(+), 2 deletions(-) - -diff --git a/panel-plugin/xfce4-cpufreq-configure.c b/panel-plugin/xfce4-cpufreq-configure.c -index 1205fc9..48e72ff 100644 ---- a/panel-plugin/xfce4-cpufreq-configure.c -+++ b/panel-plugin/xfce4-cpufreq-configure.c -@@ -85,7 +85,10 @@ button_fontname_update(GtkWidget *button, gboolean update_plugin) - } - - if (update_plugin) -+ { -+ cpufreq_label_set_font (); - cpufreq_update_plugin (TRUE); -+ } - } - - -@@ -155,6 +158,7 @@ button_fontcolor_clicked (GtkWidget *button, void *data) - gtk_color_chooser_get_rgba (GTK_COLOR_CHOOSER (button), color); - cpuFreq->options->fontcolor = gdk_rgba_to_string (color); - g_free (color); -+ cpufreq_label_set_font (); - cpufreq_update_plugin (TRUE); - } - -diff --git a/panel-plugin/xfce4-cpufreq-plugin.c b/panel-plugin/xfce4-cpufreq-plugin.c -index e886121..8d7c9e5 100644 ---- a/panel-plugin/xfce4-cpufreq-plugin.c -+++ b/panel-plugin/xfce4-cpufreq-plugin.c -@@ -44,6 +44,7 @@ cpufreq_label_set_font (void) - { - gchar *css = NULL, *css_font = NULL, *css_color = NULL; - GtkCssProvider *provider; -+ GtkStyleContext *context; - PangoFontDescription *font; - - if (G_UNLIKELY (cpuFreq->label == NULL)) -@@ -76,11 +77,17 @@ cpufreq_label_set_font (void) - if (css) - { - provider = gtk_css_provider_new (); -+ context = GTK_STYLE_CONTEXT (gtk_widget_get_style_context (GTK_WIDGET (cpuFreq->label))); -+ -+ if (currentProvider) -+ gtk_style_context_remove_provider (context, currentProvider); - - gtk_css_provider_load_from_data (provider, css, -1, NULL); - gtk_style_context_add_provider ( -- GTK_STYLE_CONTEXT (gtk_widget_get_style_context (GTK_WIDGET (cpuFreq->label))), -+ context, - GTK_STYLE_PROVIDER (provider), GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); -+ -+ currentProvider = provider; - } - - g_free (css); -@@ -420,7 +427,6 @@ cpufreq_update_plugin (gboolean reset_label_size) - - if (cpuFreq->layout_changed) - { -- cpufreq_label_set_font (); - cpufreq_widgets_layout (); - } - -@@ -601,6 +607,7 @@ cpufreq_widgets (void) - - gtk_widget_show_all (cpuFreq->button); - -+ cpufreq_label_set_font (); - cpufreq_update_plugin (TRUE); - } - -@@ -775,6 +782,8 @@ cpufreq_construct (XfcePanelPlugin *plugin) - { - xfce_textdomain (GETTEXT_PACKAGE, PACKAGE_LOCALE_DIR, "UTF-8"); - -+ currentProvider = NULL; -+ - cpuFreq = g_new0 (CpuFreqPlugin, 1); - cpuFreq->options = g_new0 (CpuFreqPluginOptions, 1); - cpuFreq->plugin = plugin; -diff --git a/panel-plugin/xfce4-cpufreq-plugin.h b/panel-plugin/xfce4-cpufreq-plugin.h -index a6895e4..6338698 100644 ---- a/panel-plugin/xfce4-cpufreq-plugin.h -+++ b/panel-plugin/xfce4-cpufreq-plugin.h -@@ -95,6 +95,8 @@ typedef struct - - extern CpuFreqPlugin *cpuFreq; - -+GtkCssProvider *currentProvider; -+ - G_BEGIN_DECLS - - void ---- -2.20.1 diff --git a/meta-openembedded/meta-xfce/recipes-panel-plugins/cpufreq/xfce4-cpufreq-plugin/xfce4-cpufreq-plugin-1.2.1-gcc10-common.patch b/meta-openembedded/meta-xfce/recipes-panel-plugins/cpufreq/xfce4-cpufreq-plugin/xfce4-cpufreq-plugin-1.2.1-gcc10-common.patch deleted file mode 100644 index 95605f83a..000000000 --- a/meta-openembedded/meta-xfce/recipes-panel-plugins/cpufreq/xfce4-cpufreq-plugin/xfce4-cpufreq-plugin-1.2.1-gcc10-common.patch +++ /dev/null @@ -1,41 +0,0 @@ -Fix build with -fno-common - -Part of Patch from https://src.fedoraproject.org/rpms/xfce4-cpufreq-plugin/raw/master/f/xfce4-cpufreq-plugin-1.2.1-gcc10-common.patch - -Upstream-Status: Pending -Signed-off-by: Khem Raj - -Refresh for xfce4-cpufreq-plugin 1.2.2. - -Signed-off-by: Kai Kang - ---- - panel-plugin/xfce4-cpufreq-plugin.c | 1 + - panel-plugin/xfce4-cpufreq-plugin.h | 2 +- - 2 files changed, 2 insertions(+), 1 deletion(-) - -diff --git a/panel-plugin/xfce4-cpufreq-plugin.c b/panel-plugin/xfce4-cpufreq-plugin.c -index 1e33492..ce9e302 100644 ---- a/panel-plugin/xfce4-cpufreq-plugin.c -+++ b/panel-plugin/xfce4-cpufreq-plugin.c -@@ -38,6 +38,7 @@ - #endif /* __linux__ */ - - CpuFreqPlugin *cpuFreq; -+GtkCssProvider *currentProvider; - - void - cpufreq_label_set_font (void) -diff --git a/panel-plugin/xfce4-cpufreq-plugin.h b/panel-plugin/xfce4-cpufreq-plugin.h -index 8cd0d33..7dbccef 100644 ---- a/panel-plugin/xfce4-cpufreq-plugin.h -+++ b/panel-plugin/xfce4-cpufreq-plugin.h -@@ -95,7 +95,7 @@ typedef struct - - extern CpuFreqPlugin *cpuFreq; - --GtkCssProvider *currentProvider; -+extern GtkCssProvider *currentProvider; - - G_BEGIN_DECLS - diff --git a/meta-openembedded/meta-xfce/recipes-panel-plugins/cpufreq/xfce4-cpufreq-plugin_1.2.2.bb b/meta-openembedded/meta-xfce/recipes-panel-plugins/cpufreq/xfce4-cpufreq-plugin_1.2.2.bb deleted file mode 100644 index 3b7b9ec5d..000000000 --- a/meta-openembedded/meta-xfce/recipes-panel-plugins/cpufreq/xfce4-cpufreq-plugin_1.2.2.bb +++ /dev/null @@ -1,12 +0,0 @@ -SUMMARY = "Panel plugin to display frequency of all cpus" -HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-cpufreq-plugin" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=1f6f1c0be32491a0c8d2915607a28f36" - -inherit xfce-panel-plugin - -SRC_URI[sha256sum] = "500f04b8d857c96da8c8c7a4eecba30a903d0fce6e35a05e674529e43b47e498" - -SRC_URI += "file://0001-Fix-memory-leak-and-reduce-cpu-load-slightly.patch \ - file://xfce4-cpufreq-plugin-1.2.1-gcc10-common.patch \ - " diff --git a/meta-openembedded/meta-xfce/recipes-panel-plugins/cpufreq/xfce4-cpufreq-plugin_1.2.5.bb b/meta-openembedded/meta-xfce/recipes-panel-plugins/cpufreq/xfce4-cpufreq-plugin_1.2.5.bb new file mode 100644 index 000000000..8fef52027 --- /dev/null +++ b/meta-openembedded/meta-xfce/recipes-panel-plugins/cpufreq/xfce4-cpufreq-plugin_1.2.5.bb @@ -0,0 +1,8 @@ +SUMMARY = "Panel plugin to display frequency of all cpus" +HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-cpufreq-plugin" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=1f6f1c0be32491a0c8d2915607a28f36" + +inherit xfce-panel-plugin + +SRC_URI[sha256sum] = "f8bd728de2d33e7ab30c682716b1cac4776b9884ce48b03fd7c32c9b24b13498" diff --git a/meta-openembedded/meta-xfce/recipes-panel-plugins/cpugraph/xfce4-cpugraph-plugin_1.2.1.bb b/meta-openembedded/meta-xfce/recipes-panel-plugins/cpugraph/xfce4-cpugraph-plugin_1.2.1.bb deleted file mode 100644 index ebcdc2166..000000000 --- a/meta-openembedded/meta-xfce/recipes-panel-plugins/cpugraph/xfce4-cpugraph-plugin_1.2.1.bb +++ /dev/null @@ -1,8 +0,0 @@ -SUMMARY = "Panel plugin with graphical representation of the cpu frequency" -HOMEPAGE = "https://goodies.xfce.org/projects/panel-plugins/xfce4-cpugraph-plugin" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=415654f59d8fa70fe4eac2c3f86c8f5e" - -inherit xfce-panel-plugin - -SRC_URI[sha256sum] = "615adf9abd91417a44319d8e4dadc6012fa22a3778f2f379717512dcb7ef924a" diff --git a/meta-openembedded/meta-xfce/recipes-panel-plugins/cpugraph/xfce4-cpugraph-plugin_1.2.3.bb b/meta-openembedded/meta-xfce/recipes-panel-plugins/cpugraph/xfce4-cpugraph-plugin_1.2.3.bb new file mode 100644 index 000000000..0895e7209 --- /dev/null +++ b/meta-openembedded/meta-xfce/recipes-panel-plugins/cpugraph/xfce4-cpugraph-plugin_1.2.3.bb @@ -0,0 +1,8 @@ +SUMMARY = "Panel plugin with graphical representation of the cpu frequency" +HOMEPAGE = "https://goodies.xfce.org/projects/panel-plugins/xfce4-cpugraph-plugin" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=415654f59d8fa70fe4eac2c3f86c8f5e" + +inherit xfce-panel-plugin + +SRC_URI[sha256sum] = "fb0cccd9a678136256edd0f04f945e611ab0aa912837f57413ef3bb0f515608c" diff --git a/meta-openembedded/meta-xfce/recipes-panel-plugins/genmon/xfce4-genmon-plugin_4.1.0.bb b/meta-openembedded/meta-xfce/recipes-panel-plugins/genmon/xfce4-genmon-plugin_4.1.0.bb deleted file mode 100644 index a51c52f23..000000000 --- a/meta-openembedded/meta-xfce/recipes-panel-plugins/genmon/xfce4-genmon-plugin_4.1.0.bb +++ /dev/null @@ -1,8 +0,0 @@ -DESCRIPTION = "This plugin cyclically spawns the indicated script/program, captures its output (stdout) and displays the resulting string into the panel." -HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-genmon-plugin" -LICENSE = "LGPLv2.1" -LIC_FILES_CHKSUM = "file://COPYING;md5=68ad62c64cc6c620126241fd429e68fe" - -inherit xfce-panel-plugin - -SRC_URI[sha256sum] = "d1256b4b47545c7bdb16842b21eaf3ac167be443e8f2f1093cf4209e65c84e7d" diff --git a/meta-openembedded/meta-xfce/recipes-panel-plugins/genmon/xfce4-genmon-plugin_4.1.1.bb b/meta-openembedded/meta-xfce/recipes-panel-plugins/genmon/xfce4-genmon-plugin_4.1.1.bb new file mode 100644 index 000000000..9a6d4b19c --- /dev/null +++ b/meta-openembedded/meta-xfce/recipes-panel-plugins/genmon/xfce4-genmon-plugin_4.1.1.bb @@ -0,0 +1,8 @@ +DESCRIPTION = "This plugin cyclically spawns the indicated script/program, captures its output (stdout) and displays the resulting string into the panel." +HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-genmon-plugin" +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=68ad62c64cc6c620126241fd429e68fe" + +inherit xfce-panel-plugin + +SRC_URI[sha256sum] = "b2119fd0ff19fa293b97ec97b0de8e241799e08b86218515167c568bd9b50135" diff --git a/meta-openembedded/meta-xfce/recipes-panel-plugins/netload/xfce4-netload-plugin_1.3.2.bb b/meta-openembedded/meta-xfce/recipes-panel-plugins/netload/xfce4-netload-plugin_1.3.2.bb deleted file mode 100644 index 13e7b1db7..000000000 --- a/meta-openembedded/meta-xfce/recipes-panel-plugins/netload/xfce4-netload-plugin_1.3.2.bb +++ /dev/null @@ -1,10 +0,0 @@ -SUMMARY = "Panel plugin displaying current load of the network interfaces" -HOMEPAGE = "https://goodies.xfce.org/projects/panel-plugins/xfce4-netload-plugin" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=35a7203c41b86d15546dddc05995f97f" - -inherit xfce-panel-plugin - -SRC_URI = "http://archive.xfce.org/src/panel-plugins/${BPN}/${@'${PV}'[0:3]}/${BPN}-${PV}.tar.bz2" -SRC_URI[md5sum] = "ae4652711812a77a58c3dc96650a74dc" -SRC_URI[sha256sum] = "22e40425cfe1e07b01fe275b1afddc7c788af34d9c2c7e2842166963cb41215d" diff --git a/meta-openembedded/meta-xfce/recipes-panel-plugins/netload/xfce4-netload-plugin_1.4.0.bb b/meta-openembedded/meta-xfce/recipes-panel-plugins/netload/xfce4-netload-plugin_1.4.0.bb new file mode 100644 index 000000000..b30543b10 --- /dev/null +++ b/meta-openembedded/meta-xfce/recipes-panel-plugins/netload/xfce4-netload-plugin_1.4.0.bb @@ -0,0 +1,9 @@ +SUMMARY = "Panel plugin displaying current load of the network interfaces" +HOMEPAGE = "https://goodies.xfce.org/projects/panel-plugins/xfce4-netload-plugin" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=35a7203c41b86d15546dddc05995f97f" + +inherit xfce-panel-plugin + +SRC_URI = "http://archive.xfce.org/src/panel-plugins/${BPN}/${@'${PV}'[0:3]}/${BPN}-${PV}.tar.bz2" +SRC_URI[sha256sum] = "6c76260e101790754dd93255ec979accd97d21a21da85d8edcd6c7b01ddcd70c" diff --git a/meta-openembedded/meta-xfce/recipes-panel-plugins/systemload/xfce4-systemload-plugin_1.2.4.bb b/meta-openembedded/meta-xfce/recipes-panel-plugins/systemload/xfce4-systemload-plugin_1.2.4.bb deleted file mode 100644 index b966711bd..000000000 --- a/meta-openembedded/meta-xfce/recipes-panel-plugins/systemload/xfce4-systemload-plugin_1.2.4.bb +++ /dev/null @@ -1,10 +0,0 @@ -DESCRIPTION = "Panel plugin displaying current CPU load, the memory in use, the swap space and the system uptime" -HOMEPAGE = "https://goodies.xfce.org/projects/panel-plugins/xfce4-systemload-plugin" -LICENSE = "BSD-2-Clause" -LIC_FILES_CHKSUM = "file://COPYING;md5=9acb172a93ff6c43cce2aff790a8aef8" - -inherit xfce-panel-plugin - -DEPENDS += "upower" - -SRC_URI[sha256sum] = "0531b8df923cba3be8d064cb8b638b954df74915e5a447228999517847789835" diff --git a/meta-openembedded/meta-xfce/recipes-panel-plugins/systemload/xfce4-systemload-plugin_1.3.0.bb b/meta-openembedded/meta-xfce/recipes-panel-plugins/systemload/xfce4-systemload-plugin_1.3.0.bb new file mode 100644 index 000000000..e6a5ec0b2 --- /dev/null +++ b/meta-openembedded/meta-xfce/recipes-panel-plugins/systemload/xfce4-systemload-plugin_1.3.0.bb @@ -0,0 +1,10 @@ +DESCRIPTION = "Panel plugin displaying current CPU load, the memory in use, the swap space and the system uptime" +HOMEPAGE = "https://goodies.xfce.org/projects/panel-plugins/xfce4-systemload-plugin" +LICENSE = "BSD-2-Clause" +LIC_FILES_CHKSUM = "file://COPYING;md5=9acb172a93ff6c43cce2aff790a8aef8" + +inherit xfce-panel-plugin + +DEPENDS += "upower" + +SRC_URI[sha256sum] = "1148f8e90cc53cae9b3aa32e10df4bd9fdc2f06db09d8429f88fbdd874fc171d" diff --git a/meta-openembedded/meta-xfce/recipes-panel-plugins/time-out/xfce4-time-out-plugin_1.1.1.bb b/meta-openembedded/meta-xfce/recipes-panel-plugins/time-out/xfce4-time-out-plugin_1.1.1.bb deleted file mode 100644 index f4ef3f626..000000000 --- a/meta-openembedded/meta-xfce/recipes-panel-plugins/time-out/xfce4-time-out-plugin_1.1.1.bb +++ /dev/null @@ -1,10 +0,0 @@ -SUMMARY = "This plugin makes it possible to take periodical breaks" -HOMEPAGE = "https://goodies.xfce.org/projects/panel-plugins/xfce4-time-out-plugin" -SECTION = "x11/application" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" - -inherit xfce-panel-plugin - -SRC_URI[md5sum] = "3087b3248e427822613e5583784b0ac0" -SRC_URI[sha256sum] = "194dbeb8751d8aaedf3850a7a9c770f09d32316a99683cde34d7d0fc5bdba31d" diff --git a/meta-openembedded/meta-xfce/recipes-panel-plugins/time-out/xfce4-time-out-plugin_1.1.2.bb b/meta-openembedded/meta-xfce/recipes-panel-plugins/time-out/xfce4-time-out-plugin_1.1.2.bb new file mode 100644 index 000000000..185e9bca0 --- /dev/null +++ b/meta-openembedded/meta-xfce/recipes-panel-plugins/time-out/xfce4-time-out-plugin_1.1.2.bb @@ -0,0 +1,9 @@ +SUMMARY = "This plugin makes it possible to take periodical breaks" +HOMEPAGE = "https://goodies.xfce.org/projects/panel-plugins/xfce4-time-out-plugin" +SECTION = "x11/application" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" + +inherit xfce-panel-plugin + +SRC_URI[sha256sum] = "3dd8eba694ff3ba5c25bd7f5cd70dc22175fb2c0a759213f05ab8f0e629d82d4" diff --git a/meta-openembedded/meta-xfce/recipes-panel-plugins/weather/xfce4-weather-plugin_0.10.2.bb b/meta-openembedded/meta-xfce/recipes-panel-plugins/weather/xfce4-weather-plugin_0.10.2.bb deleted file mode 100644 index 404523019..000000000 --- a/meta-openembedded/meta-xfce/recipes-panel-plugins/weather/xfce4-weather-plugin_0.10.2.bb +++ /dev/null @@ -1,12 +0,0 @@ -SUMMARY = "Panel plugin to display current temperature and weather condition" -HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-weather-plugin" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" - -inherit xfce-panel-plugin - -DEPENDS += "libsoup-2.4 dbus-glib upower" - -SRC_URI[sha256sum] = "9017790b92953090c849b17b357b42fa8c562bf0e25af2fd2e5f53cfebc662c6" - -FILES_${PN} += "${datadir}/xfce4/weather" diff --git a/meta-openembedded/meta-xfce/recipes-panel-plugins/weather/xfce4-weather-plugin_0.11.0.bb b/meta-openembedded/meta-xfce/recipes-panel-plugins/weather/xfce4-weather-plugin_0.11.0.bb new file mode 100644 index 000000000..45b43863a --- /dev/null +++ b/meta-openembedded/meta-xfce/recipes-panel-plugins/weather/xfce4-weather-plugin_0.11.0.bb @@ -0,0 +1,12 @@ +SUMMARY = "Panel plugin to display current temperature and weather condition" +HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-weather-plugin" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +inherit xfce-panel-plugin + +DEPENDS += "libsoup-2.4 dbus-glib upower" + +SRC_URI[sha256sum] = "e3242ea951d51bc0fded1d02a4f1f662bec16a1fb10c855f71bda6541a1153fc" + +FILES_${PN} += "${datadir}/xfce4/weather" diff --git a/meta-openembedded/meta-xfce/recipes-xfce/exo/exo_4.16.0.bb b/meta-openembedded/meta-xfce/recipes-xfce/exo/exo_4.16.0.bb deleted file mode 100644 index 5b91b8b7e..000000000 --- a/meta-openembedded/meta-xfce/recipes-xfce/exo/exo_4.16.0.bb +++ /dev/null @@ -1,24 +0,0 @@ -DESCRIPTION = "Application library for the Xfce desktop environment" -SECTION = "x11" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" -DEPENDS = "gtk+3 libxfce4ui virtual/libx11 liburi-perl-native cairo" - -inherit xfce perlnative gtk-doc features_check mime-xdg - -REQUIRED_DISTRO_FEATURES = "x11" - -# SRC_URI must follow inherited one -SRC_URI += " \ - file://exo-no-tests-0.8.patch \ - file://configure.patch \ -" - -SRC_URI[sha256sum] = "1975b00eed9a8aa1f899eab2efaea593731c19138b83fdff2f13bdca5275bacc" - -# Note: python bindings did not work in oe-dev and are about to be moved to -# pyxfce see http://comments.gmane.org/gmane.comp.desktop.xfce.devel.version4/19560 -FILES_${PN} += " \ - ${datadir}/xfce4/ \ - ${libdir}/xfce4/exo* \ -" diff --git a/meta-openembedded/meta-xfce/recipes-xfce/exo/exo_4.16.1.bb b/meta-openembedded/meta-xfce/recipes-xfce/exo/exo_4.16.1.bb new file mode 100644 index 000000000..a49b18c72 --- /dev/null +++ b/meta-openembedded/meta-xfce/recipes-xfce/exo/exo_4.16.1.bb @@ -0,0 +1,24 @@ +DESCRIPTION = "Application library for the Xfce desktop environment" +SECTION = "x11" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" +DEPENDS = "gtk+3 libxfce4ui virtual/libx11 liburi-perl-native cairo" + +inherit xfce perlnative gtk-doc features_check mime-xdg + +REQUIRED_DISTRO_FEATURES = "x11" + +# SRC_URI must follow inherited one +SRC_URI += " \ + file://exo-no-tests-0.8.patch \ + file://configure.patch \ +" + +SRC_URI[sha256sum] = "528dac256315ffc2a4a53b3b421979327962121989886e3cf920aeff9912b53b" + +# Note: python bindings did not work in oe-dev and are about to be moved to +# pyxfce see http://comments.gmane.org/gmane.comp.desktop.xfce.devel.version4/19560 +FILES_${PN} += " \ + ${datadir}/xfce4/ \ + ${libdir}/xfce4/exo* \ +" diff --git a/meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_4.16.2.bb b/meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_4.16.2.bb deleted file mode 100644 index 6b1a6b482..000000000 --- a/meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_4.16.2.bb +++ /dev/null @@ -1,28 +0,0 @@ -SUMMARY = "File manager for the Xfce Desktop Environment" -SECTION = "x11" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" -DEPENDS = "exo gdk-pixbuf libxfce4ui libsm startup-notification libnotify xfce4-panel udev" - -inherit xfce gobject-introspection features_check mime-xdg - -REQUIRED_DISTRO_FEATURES = "x11" - -SRC_URI[sha256sum] = "67a90b98c436192f9aa6cd18a22a089e713007864aebfa65f36f121c86ba7add" - -PACKAGECONFIG ??= "" -PACKAGECONFIG[pcre] = "--enable-pcre,--disable-pcre,libpcre" - -FILES_${PN} += " \ - ${libdir}/thunarx-3/* \ - ${libdir}/xfce4/panel/plugins/* \ - ${libdir}/Thunar/[Tt]hunar* \ - ${systemd_user_unitdir} \ - ${datadir}/dbus-1 \ - ${datadir}/metainfo \ - ${datadir}/polkit-1 \ - ${datadir}/Thunar \ - ${datadir}/xfce4/panel/plugins/* \ -" - -RRECOMMENDS_${PN} = "gvfs gvfsd-trash" diff --git a/meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_4.16.4.bb b/meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_4.16.4.bb new file mode 100644 index 000000000..e5fd5ffd3 --- /dev/null +++ b/meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_4.16.4.bb @@ -0,0 +1,28 @@ +SUMMARY = "File manager for the Xfce Desktop Environment" +SECTION = "x11" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" +DEPENDS = "exo gdk-pixbuf libxfce4ui libsm startup-notification libnotify xfce4-panel udev" + +inherit xfce gobject-introspection features_check mime-xdg + +REQUIRED_DISTRO_FEATURES = "x11" + +SRC_URI[sha256sum] = "d51a2018c1ba7dcc420e7a84d85cc17a58f26fb1c80ee4c15e689a49f10425f9" + +PACKAGECONFIG ??= "" +PACKAGECONFIG[pcre] = "--enable-pcre,--disable-pcre,libpcre" + +FILES_${PN} += " \ + ${libdir}/thunarx-3/* \ + ${libdir}/xfce4/panel/plugins/* \ + ${libdir}/Thunar/[Tt]hunar* \ + ${systemd_user_unitdir} \ + ${datadir}/dbus-1 \ + ${datadir}/metainfo \ + ${datadir}/polkit-1 \ + ${datadir}/Thunar \ + ${datadir}/xfce4/panel/plugins/* \ +" + +RRECOMMENDS_${PN} = "gvfs gvfsd-trash" diff --git a/meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.16.1.bb b/meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.16.1.bb deleted file mode 100644 index b92ebde00..000000000 --- a/meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.16.1.bb +++ /dev/null @@ -1,40 +0,0 @@ -SUMMARY = "Xfce4 Panel" -SECTION = "x11" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=26a8bd75d8f8498bdbbe64a27791d4ee" -DEPENDS = "garcon exo gtk+3 cairo virtual/libx11 libxml2 libwnck3 vala-native" - -inherit xfce gtk-doc gobject-introspection features_check remove-libtool mime-xdg - -REQUIRED_DISTRO_FEATURES = "x11" - -SRC_URI[sha256sum] = "fa099bc6be6592dbb828747a473c2e1b0e7f85afd945a98002b475bb6f975991" -SRC_URI += " \ - file://0001-windowmenu-do-not-display-desktop-icon-when-no-windo.patch \ - file://0002-use-lxdm-to-replace-dm-tool.patch \ -" - -python populate_packages_prepend() { - plugin_dir = d.expand('${libdir}/xfce4/panel/plugins/') - plugin_name = d.expand('${PN}-plugin-%s') - do_split_packages(d, plugin_dir, '^lib(.*).so$', plugin_name, - '${PN} plugin for %s', extra_depends='', prepend=True, - aux_files_pattern=['${datadir}/xfce4/panel/plugins/%s.desktop', - '${sysconfdir}/xdg/xfce/panel/%s-*', - '${datadir}/icons/hicolor/48x48/apps/*-%s.png', - '${bindir}/*%s*']) -} - -PACKAGES_DYNAMIC += "^${PN}-plugin-.*" - -PACKAGES =+ "${PN}-gtk3" - -FILES_${PN} += "${libdir}/xfce4/panel/migrate \ - ${libdir}/xfce4/panel/wrapper-1.0" - -FILES_${PN}-dev += "${libdir}/xfce4/panel/plugins/*.la" - -FILES_${PN}-gtk3 = " \ - ${libdir}/libxfce4panel-2.0${SOLIBS} \ - ${libdir}/xfce4/panel/wrapper-2.0 \ -" diff --git a/meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.16.2.bb b/meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.16.2.bb new file mode 100644 index 000000000..7e54022ff --- /dev/null +++ b/meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.16.2.bb @@ -0,0 +1,40 @@ +SUMMARY = "Xfce4 Panel" +SECTION = "x11" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=26a8bd75d8f8498bdbbe64a27791d4ee" +DEPENDS = "garcon exo gtk+3 cairo virtual/libx11 libxml2 libwnck3 vala-native" + +inherit xfce gtk-doc gobject-introspection features_check remove-libtool mime-xdg + +REQUIRED_DISTRO_FEATURES = "x11" + +SRC_URI[sha256sum] = "8634166e6f14318daec363f7e2371d49b98986f9bce313a7dd1554f30b48b5cf" +SRC_URI += " \ + file://0001-windowmenu-do-not-display-desktop-icon-when-no-windo.patch \ + file://0002-use-lxdm-to-replace-dm-tool.patch \ +" + +python populate_packages_prepend() { + plugin_dir = d.expand('${libdir}/xfce4/panel/plugins/') + plugin_name = d.expand('${PN}-plugin-%s') + do_split_packages(d, plugin_dir, '^lib(.*).so$', plugin_name, + '${PN} plugin for %s', extra_depends='', prepend=True, + aux_files_pattern=['${datadir}/xfce4/panel/plugins/%s.desktop', + '${sysconfdir}/xdg/xfce/panel/%s-*', + '${datadir}/icons/hicolor/48x48/apps/*-%s.png', + '${bindir}/*%s*']) +} + +PACKAGES_DYNAMIC += "^${PN}-plugin-.*" + +PACKAGES =+ "${PN}-gtk3" + +FILES_${PN} += "${libdir}/xfce4/panel/migrate \ + ${libdir}/xfce4/panel/wrapper-1.0" + +FILES_${PN}-dev += "${libdir}/xfce4/panel/plugins/*.la" + +FILES_${PN}-gtk3 = " \ + ${libdir}/libxfce4panel-2.0${SOLIBS} \ + ${libdir}/xfce4/panel/wrapper-2.0 \ +" -- cgit v1.2.3 From 95ac1b8d7409c14ee15ddcb7e5dd3d28b24caa7f Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Wed, 31 Mar 2021 14:34:31 -0500 Subject: poky: subtree update:c8075ed8f1..7d0988966c MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adrian (1): weston-init: Set $HOME variable for SysVinit manager Alejandro Hernandez Samaniego (6): bitbake: bitbake: Add Azure Storage fetcher implementation bitbake: docs: Add Az fetcher documentation bitbake: docs: Add AZ_SAS definition to glossary ref-manual: Add Az fetcher documentation sanity.bbclass: Add az fetcher to accepted URI protocols for mirrors sanity devtool: Fix do_kernel_configme task Alexander Kanavin (23): core-image.bbclass: add a weston IMAGE_FEATURE, similar to x11-base rootfs-postcommands: correctly set systemd target for weston images oeqa/weston: correctly run wayland-info when systemd is in use dnf: upgrade 4.5.2 -> 4.6.0 libdnf: update 0.55.2 -> 0.58.0 libdnf: replace a musl fix with a better one librepo: update 1.12.1 -> 1.13.0 libical: update 3.0.8 -> 3.0.9 libical: drop the ad hoc native generator build bmap-tools: upgrade 3.5 -> 3.6 procps: update 3.3.16 -> 3.3.17 libxcrypt: fix sporadic failures in nativesdk-libxcrypt-compat bind: upgrade 9.16.11 -> 9.16.12 spirv-headers: update to latest revision spirv-tools: upgrade 2020.6 -> 2020.7 mesa: update 20.3.4 -> 21.0.0 attr: update 2.4.48 -> 2.5.1 asciidoc: update 9.0.4 -> 9.1.0 libhandy: update 1.0.3 -> 1.2.0 strace: update 5.10 -> 5.11 automake: update 1.16.2 - > 1.16.3 xxhash: import from meta-oe apt: update 1.8.2.2 -> 2.2.2 Alistair Francis (4): openssl: Enable building for RISC-V 32-bit linux-yocto: Add qemuriscv32 as a compatible machine machine: Initial commit of qemuriscv32 u-boot: Add support for building for qemuriscv32 Andrei Gherzan (3): gcr: Add support for building without x11 epiphany: Add package configuration for building in developer mode glibc: Backport patch to fix _SC_LEVEL1_ICACHE_LINESIZE Anton D. Kachalov (1): run-postinsts: do not remove postinsts directory. Awais Belal (2): libsdl2: disable shared memory for native builds rootfs.py: uninstall the run-postinsts package if not needed Bartosz Golaszewski (1): python3: make pydoc rdepend on python3-io Bruce Ashfield (27): linux-yocto/5.10: fix x86 32bit boot warnings linux-yocto/5.10: fix qemumips testimage failures linux-yocto/5.10: update to v5.10.17 and -rt31 linux-yocto/5.4: update to v5.4.99 linux-yocto/5.10: update to v5.10.19 linux-yocto/5.4: update to v5.4.101 perf: fix reproducibility issues linux-yocto/5.4: update to v5.4.103 kern-tools: symbol-why fix and README update linux-yocto/5.10: update to v5.10.21 linux-yocto/qemuarmv5: fix configuration warning yocto-bsp: update reference platforms to latest 5.10 perf: reproducibility fixes for pmu-events.c reproducibile: remove perf from exclusions linux-yocto/5.10: fix SERIAL_OF_PLATFORM warning linux-yocto/5.4: update to v5.4.105 linux-yocto/5.10: update to v5.10.23 linux-yocto/5.10: cfg: features/numa: Remove NODES_SPAN_OTHER_NODES option lttng-modules: update devupstream to 2.12.5+ lttng-modules: backport patches to fix build against 5.12+ kernel kernel-devsrc: fix on-target scripts/prepare for v5.12+ linux-yocto/5.10: cfg: fix ppc64 configuration warnings linux-yocto-dev: bump to v5.12-rc linux-yocto/5.10: update qemuriscv32 v5.10.23 linux-yocto/5.10: update to v5.10.25 linux-yocto/5.4: update to v5.4.107 linux-yocto-rt/5.10: update to -rt34 Changqing Li (1): go-helloworld: disable module-aware mode Charlie Davies (9): bitbake-bblayers/create: Fix incorrect priority help message bitbake-bblayers/create: Add optional layerid argument bitbake: bitbake: providers: remove unneeded logging call bitbake: bitbake: providers: consistent single line formatting between functions bitbake: bitbake: providers: introduce logic for REQUIRED_VERSION variable bitbake: bitbake: providers: check for REQUIRED_VERSION in _filterProviders bitbake: bitbake: lib: add Required Version to Bitbake --show-versions command bitbake: bitbake: cooker: Add REQUIRED_VERSION checks multilib_global: handle REQUIRED_VERSION Chen Qi (3): python3-jinja2: set CVE_PRODUCT bitbake: event.py: fix regression about INVALIDCONF populate_sdk_ext: record METADATA_REVISION Christopher Larson (2): buildhistory: add missing vardepsexcludes image,populate_sdk_base: move 'func' flag setting for sdk command vars Diego Santa Cruz (2): rpm: split build and extra functionality into separate packages sstate-diff-machines.sh: support rpm, deb and tar package types in analysis Dorinda (8): meta/recipes-rt: Add HOMEPAGE / DESCRIPTION meta-skeleton: Add HOMEPAGE / DESCRIPTION meta/recipes-extended: Add HOMEPAGE / DESCRIPTION meta/recipes-support: Add HOMEPAGE / DESCRIPTION meta/recipes-kernel: Add HOMEPAGE / DESCRIPTION meta/recipes-multimedia: Add HOMEPAGE / DESCRIPTION meta/recipes-graphics: Add HOMEPAGE / DESCRIPTION dev-manual/common-task.rst: Added documentation for debuginfod support Dorinda Bassey (4): meta/recipes-devtools: Add HOMEPAGE / DESCRIPTION distrodata.py: Test to track recipes without HOMEPAGE or DESCRIPTION meta-selftest: Add HOMEPAGE / DESCRIPTION devshell.bbclass: Exceptions displayed within devpyshell Douglas Royds (2): cmake: Fully-qualified path to ar externalsrc: Detect code changes in submodules Jon Mason (5): runqemu: use "raw" instead of "bin" for ovmf runqemu: add QB_GRAPHICS runqemu: correct forcing of ttyS0 runqemu: modify novga to conform to documentation tune-cortexa32: Add hard FPU Jose Quaresma (4): spirv-tools: python3 is need not only for the tests spirv-tools: cleanup an old patch that is not used anymore gstreamer1.0: upgrade 1.18.3 -> 1.18.4 gstreamer1.0-plugins-good: fix rtpjitterbuffer regression Kai Kang (2): toolchain-scripts.bbclass: customize prompt string for SDKs local.conf.sample.extended: sample value for SDK_PS1 Kevin Hao (1): meta-yocto-bsp: beaglebone: Set a fixed size for boot partition in WIC image Khairul Rohaizzat Jamaluddin (1): glibc: Fix CVE-2021-27645 Khem Raj (33): python3-cython: Check for files before editing webkitgtk: Use linker options to reduce memory overhead during linking webkitgtk: Enhance check for atomics to include 1 byte CAS qemuppc64: Add a QEMU machine definition for ppc64 linux-yocto: Enable powerpc64le QEMU formfactor: Add machine config for qemuppc64 inittab: Add getty launch on hvc0 for qemuppc64 parselogs: Allow expected kernel messages for qemuppc64 spirv-tools: Replace strncpy with memcpy python3-setuptools: Upgrade 54.1.0 -> 54.1.1 perf: Remove libunwind for rv32 Enable qemu usermode on ppc64 cmake.bbclass: Create cmake arch mapping for ppc64le libucontext: Recognize ppc64le architecture libunwind: Do not assume libdir for ppc64 gcc: Package new module mapper tool glib-2.0: Drop volatile qualifier go: Update to 1.16.2 go-dep: Remove libunwind: Link with libucontext on musl libedit: upgrade 20191231-3.1 -> 20210216-3.1 webkitgtk: Reduce stack and heap sizes for jsc on musl webkitgtk: Add packageconfig to chose between size and speed webkitgtk: enable strlen and stpcpy on musl/linux too gcc-sanitizers: Package up hwasan files apt: Support old resolver as fallback apt: Do not disable NLS valgrind: Fix ptests on ppc64 LE documentation-audit.sh: Fix typo in specifying LICENSE_FLAGS_WHITELIST image-uefi: Set efi_file for rv32/rv64 grub2: Disable for RISCV32 grub-efi: Re-introduce lost cast to long grub2: Enable on riscv32 Lee Chee Yang (2): cve-update-db-native: consider version suffix when update CVE db cve-check: CVE_VERSION_SUFFIX to work with patched release Li Wang (1): linux-dummy: add empty dependent packages Luca Boccassi (2): util-linux: split uuid in separate recipe to allow bootstrapping util-linux: backport patch to skip build of unused objects Manuel Leonhardt (1): bitbake: tinfoil: Honor quiet when parsing recipes Mark Hatle (2): populate_sdk_ext: Avoid copying and producing .pyc files populate_sdk_ext: Add support for PR service Martin Jansa (7): glib-2.0: call os.path.normpath on THISDIR glib-2.0: show an error about --cross-file only when such file exists busybox: refresh the defconfig from 1.33.0 busybox-inittab: rename for PV to match with busybox's PV iso-codes: fix protocol in SRC_URI packagegroup-core-weston.bb: add pam to REQUIRED_DISTRO_FEATURES python3: fix PACKAGECONFIG handling Michael Opdenacker (4): bitbake: doc: Update links to documentation Do not assume working from $HOME Update documentation URL documentation/README minor improvements Michael Trensch (1): linux-firmware: Fix packaging Mikko Rapeli (1): openssl: update to 1.1.1k to fix CVE-2021-3450 and CVE-2021-3449 Ming Liu (2): kernel-fitimage.bbclass: support both KERNEL_DEVICETREE/EXTERNAL_KERNEL_DEVICETREE initramfs-framework:rootfs: fix some conditional check Mingli Yu (1): libtool: make sure autoheader run before autoconf Minjae Kim (3): qemu: fix CVE-2021-20203 git: fix CVE-2021-21300 git: upgrade 2.30.1 -> 2.31.1 Naveen Saini (1): grub: upgrade 2.04 -> 2.06~rc1 Oleksandr Kravchuk (1): python3-setuptools: update to 54.1.0 Paul Gortmaker (1): bitbake: gitignore: ignore runqueue-tests/bitbake-cookerdaemon.log Peter Kjellerstedt (4): meson: Correctly set uid/gid of installed files uninative-tarball: Add a dependency on nativesdk-glibc-dbg metadata_scm.bbclass: Use immediate expansion for the METADATA_* variables license.bbclass: Improve parsing time when INCOMPATIBLE_LICENSES is big Petr Vorel (1): scripts/verify-bashisms: Update checkbashisms.pl URL Purushottam Choudhary (1): shadow: whitelist CVE-2013-4235 Randy MacLeod (2): ffmpeg: upgrade 4.3.1 -> 4.3.2 zstd: upgrade 1.4.8 -> 1.4.9 Richard Purdie (33): ltp: Fix another determinism issue build-appliance-image: Drop kernel module handling ltp: Further extend reproducibility patch bitbake: runqueue: Fix task execution corruption issue bitbake: runqueue: Add setscene task overlap sanity check bitbake: __init__.py: Fix bitbake debug log handling ltp: Fix determinism issue ltp: Fix libswapon issue properly bitbake: event: Fix multiconfig event handler change performance regressions bitbake: event: Fix another 'if d' test to test for None explictly bitbake: tests/color: Fix event register to pass the datastore bitbake: bblayers/query: Update to handle REQUIRED_VERSION scripts/contrib/list-packageconfig-flags: Upate for tinfoil API changes layer.conf: Update for hardknott release series layer.conf: Update for hardknott release series build-appliance-image: Update to master head revision layer.conf: Add gatesgarth back for now to allow for transition build-appliance-image: Update to master head revision meson: Work around determinism issue lttng-tools: upgrade 2.12.2 -> 2.12.3 lttng-modules: upgrade 2.12.4 -> 2.12.5 sqlite3: upgrade 3.34.1 -> 3.35.0 sudo: upgrade 1.9.5p2 -> 1.9.6 selftest/reproducible: Drop ovmf exclusion selftest/wic: Fix dependency issue in rawcopy test layer.conf: Drop gatesgarth from the layer series names bitbake: build: Add find_stale_stamps function bitbake: runqueue/event: Add an event for notifying of stale setscene tasks sstate: Remove stale objects before the main build sstate: Add documentation for eventhandlers and tweak naming site/elfutils/libunistring: Drop patching for iconv and set in site file build-appliance-image: Update to master head revision util-linux-libuuid: Simplify recipe and rename from util-linux-uuid Robert P. J. Day (8): bitbake-whatchanged: change ending quote to proper period bitbake: doc: move BBFILES_DYNAMIC for alphabetical order ref-manual: remove erroneous '\*' from variables list bitbake: doc: mention that addtask handles multiple dependencies bitbake: doc: fix glossary link for BB_INVALIDCONF variable bitbake: doc: fix syntax error in layer.conf example bitbake.conf: correct description of HOSTTOOLS_DIR packagegroups: delete useless "PROVIDES" lines Robert Yang (1): image.bbclass: deltask do_packagedata Ross Burton (13): libinput: less parallism to increase chances the test suite works ptest-packagelists: remove libinput-ptest insane: don't check for a warning string that is never output gcc: add an option for --enable-poison-system-directories to be fatal gcc-cross: make use of the system include directories fatal oeqa/selftest: add test to verify that poisoned sysroots are detected ovmf: make output binaries reproducible base: respect downloadfilename when sniffing the SRC_URI for dependencies lib/oe/utils: add directory size function classes/image: use oe.utils.directory_size() instead of du bitbake.conf: ensure BUILD_* tools match target tools meson: fix native/host confusion in gobject-introspection meson: use native-file instead of environment variables Sakib Sajal (2): buildstats.bbclass: improve timeout handling scripts: add oe-time-dd-test.sh Scott Murray (1): u-boot: Fix CVE-2021-27097, CVE-2021-27138 Stefan Ghinea (1): wpa-supplicant: fix CVE-2021-27803 Stefan Schmidt (1): systemd-conf: do not ask for DHCP if configured on kernel command line Tomasz Dziendzielski (2): bitbake: runqueue: Print pseudo.log if fakeroot task failed bitbake: codeparser: Fix TypeError in bitbake debug mode Ulrich ?lmann (1): gstreamer1.0: add support for coretracers Ulrich Ölmann (3): common-tasks.rst: fix 'wic cp' command common-tasks.rst: fix typo local.conf.sample: fix typo Vivien Didelot (6): systemd-container: sort RRECOMMENDS alphabetically systemd-container: recommend tar systemd-container: recommends StartExecPre modules poky: fix typos poky: don't use space with += beaglebone-yocto: allow other virtual/bootloader Wang Mingyu (20): shaderc: upgrade 2020.4 -> 2020.5 stress-ng: upgrade 0.12.03 -> 0.12.04 taglib: upgrade 1.11.1 -> 1.12 vala: upgrade 0.50.3 -> 0.50.4 python3-pygments: upgrade 2.8.0 -> 2.8.1 python3-zipp: upgrade 3.4.0 -> 3.4.1 sysklogd: upgrade 2.2.1 -> 2.2.2 help2man: upgrade 1.48.1 -> 1.48.2 iso-codes: upgrade 4.5.0 -> 4.6.0 jquery: upgrade 3.5.1 -> 3.6.0 ovmf: upgrade 202011 -> 202102 msmtp: upgrade 1.8.14 -> 1.8.15 gptfdisk: upgrade 1.0.6 -> 1.0.7 vulkan-headers: upgrade 1.2.162.0 -> 1.2.170.0 vulkan-loader: upgrade 1.2.162.0 -> 1.2.170.0 vulkan-tools: upgrade 1.2.162.1 -> 1.2.170.0 gcc: Update patch to only patch files once openssh: upgrade 8.4p1 -> 8.5p1 openssh: Improve LICENSE to show BSD license variants. gnutls: upgrade 3.7.0 -> 3.7.1 Yanfei Xu (1): glibc: fix pthread_cond_destroy hangs with process-shared mutex Yann Dirson (1): ffmpeg: disable GPL features by default Yi Fan Yu (1): valgrind: Fix nlcontrolc.vgtest jan (1): cve-update-db-native: Allow to overrule the URL in a bbappend. wangmy@fujitsu.com (1): systemd: upgrade 247.3 -> 247.4 zhengruoqin (3): sudo: upgrade 1.9.6 -> 1.9.6p1 liburi-perl: upgrade 1.74 -> 5.08 stress-ng: upgrade 0.12.04 -> 0.12.05 Signed-off-by: Andrew Geissler Change-Id: I04195d4c610ca1674dd736eceeb6442d974cb711 --- poky/.gitignore | 3 +- poky/bitbake/README | 2 +- .../bitbake-user-manual-execution.rst | 3 +- .../bitbake-user-manual-fetching.rst | 28 + .../bitbake-user-manual-metadata.rst | 13 +- .../bitbake-user-manual-ref-variables.rst | 93 +- poky/bitbake/lib/bb/__init__.py | 2 +- poky/bitbake/lib/bb/build.py | 17 + poky/bitbake/lib/bb/cache.py | 3 + poky/bitbake/lib/bb/codeparser.py | 6 +- poky/bitbake/lib/bb/cooker.py | 34 +- poky/bitbake/lib/bb/event.py | 31 +- poky/bitbake/lib/bb/fetch2/__init__.py | 4 +- poky/bitbake/lib/bb/fetch2/az.py | 93 + poky/bitbake/lib/bb/providers.py | 84 +- poky/bitbake/lib/bb/runqueue.py | 67 +- poky/bitbake/lib/bb/tests/color.py | 2 +- poky/bitbake/lib/bb/tests/fetch.py | 2 +- poky/bitbake/lib/bb/tinfoil.py | 2 +- poky/bitbake/lib/bblayers/query.py | 2 +- poky/documentation/README | 29 +- poky/documentation/brief-yoctoprojectqs/index.rst | 10 +- poky/documentation/dev-manual/common-tasks.rst | 69 +- poky/documentation/dev-manual/qemu.rst | 4 +- poky/documentation/dev-manual/start.rst | 2 +- poky/documentation/kernel-dev/common.rst | 47 +- poky/documentation/ref-manual/terms.rst | 11 +- poky/documentation/ref-manual/variables.rst | 24 +- poky/documentation/sdk-manual/appendix-obtain.rst | 4 +- poky/documentation/sdk-manual/extensible.rst | 2 +- poky/documentation/toaster-manual/reference.rst | 2 +- .../documentation/toaster-manual/setup-and-use.rst | 10 +- .../conf/distro/include/poky-world-exclude.inc | 2 +- poky/meta-poky/conf/distro/poky-tiny.conf | 2 +- poky/meta-poky/conf/distro/poky.conf | 4 +- poky/meta-poky/conf/layer.conf | 2 +- poky/meta-poky/conf/local.conf.sample | 2 +- poky/meta-poky/conf/local.conf.sample.extended | 5 + poky/meta-selftest/conf/layer.conf | 2 +- .../recipes-test/aspell/aspell_0.0.0.1.bb | 1 + .../git-submodule-test/git-submodule-test.bb | 1 + poky/meta-selftest/recipes-test/poison/poison.bb | 16 + poky/meta-skeleton/conf/layer.conf | 2 +- .../baremetal-examples/baremetal-helloworld_git.bb | 1 + .../recipes-kernel/hello-mod/hello-mod_0.1.bb | 1 + .../recipes-kernel/linux/linux-yocto-custom.bb | 2 +- .../images/core-image-multilib-example.bb | 3 +- .../recipes-skeleton/service/service_0.1.bb | 1 + poky/meta-yocto-bsp/conf/layer.conf | 2 +- .../conf/machine/beaglebone-yocto.conf | 4 +- .../recipes-kernel/linux/linux-yocto_5.10.bbappend | 16 +- poky/meta-yocto-bsp/wic/beaglebone-yocto.wks | 2 +- poky/meta/classes/base.bbclass | 14 +- poky/meta/classes/buildhistory.bbclass | 3 + poky/meta/classes/buildstats.bbclass | 42 +- poky/meta/classes/cmake.bbclass | 5 +- poky/meta/classes/core-image.bbclass | 2 + poky/meta/classes/devshell.bbclass | 1 + poky/meta/classes/externalsrc.bbclass | 16 +- poky/meta/classes/godep.bbclass | 8 - poky/meta/classes/image.bbclass | 10 +- poky/meta/classes/insane.bbclass | 22 +- poky/meta/classes/kernel-fitimage.bbclass | 10 +- poky/meta/classes/license.bbclass | 9 +- poky/meta/classes/linux-dummy.bbclass | 26 + poky/meta/classes/meson.bbclass | 54 +- poky/meta/classes/metadata_scm.bbclass | 10 +- poky/meta/classes/multilib_global.bbclass | 67 +- poky/meta/classes/populate_sdk_base.bbclass | 7 + poky/meta/classes/populate_sdk_ext.bbclass | 32 +- poky/meta/classes/qemuboot.bbclass | 6 +- poky/meta/classes/rootfs-postcommands.bbclass | 2 +- poky/meta/classes/sanity.bbclass | 2 +- poky/meta/classes/sstate.bbclass | 72 +- poky/meta/classes/toolchain-scripts.bbclass | 3 + poky/meta/conf/bitbake.conf | 5 +- poky/meta/conf/distro/include/maintainers.inc | 3 +- .../conf/distro/include/ptest-packagelists.inc | 2 +- poky/meta/conf/image-uefi.conf | 2 + poky/meta/conf/layer.conf | 4 +- .../machine/include/powerpc/arch-powerpc64.inc | 3 - poky/meta/conf/machine/include/qemuboot-mips.inc | 2 +- poky/meta/conf/machine/include/tune-cortexa32.inc | 6 +- poky/meta/conf/machine/qemuarm.conf | 6 +- poky/meta/conf/machine/qemuarm64.conf | 6 +- poky/meta/conf/machine/qemuarmv5.conf | 2 +- poky/meta/conf/machine/qemuppc64.conf | 24 + poky/meta/conf/machine/qemuriscv32.conf | 16 + poky/meta/files/ext-sdk-prepare.py | 17 + poky/meta/lib/bblayers/create.py | 6 +- poky/meta/lib/bblayers/templates/layer.conf | 10 +- poky/meta/lib/oe/copy_buildsystem.py | 6 +- poky/meta/lib/oe/cve_check.py | 7 +- poky/meta/lib/oe/rootfs.py | 8 +- poky/meta/lib/oe/utils.py | 31 + poky/meta/lib/oeqa/runtime/cases/parselogs.py | 5 + poky/meta/lib/oeqa/runtime/cases/weston.py | 6 +- poky/meta/lib/oeqa/selftest/cases/buildoptions.py | 6 + poky/meta/lib/oeqa/selftest/cases/cve_check.py | 8 + poky/meta/lib/oeqa/selftest/cases/distrodata.py | 36 + poky/meta/lib/oeqa/selftest/cases/reproducible.py | 4 - poky/meta/lib/oeqa/selftest/cases/wic.py | 18 +- poky/meta/lib/oeqa/utils/qemurunner.py | 2 +- .../formfactor/files/qemuppc64/machconfig | 10 + .../0001-RISC-V-Restore-the-typcast-to-long.patch | 39 + .../6643507ce30f775008e093580f0c9499dfb2c485.patch | 47 - .../recipes-bsp/grub/files/CVE-2020-10713.patch | 73 - ...20-14308-calloc-Use-calloc-at-most-places.patch | 1863 - ...overflow-checking-primitives-where-we-do-.patch | 1330 - ...d-a-use-after-free-when-redefining-a-func.patch | 117 - ...integer-overflows-in-initrd-size-handling.patch | 177 - .../grub/files/autogen.sh-exclude-pc.patch | 15 +- ...-sure-we-always-have-an-overflow-checking.patch | 246 - poky/meta/recipes-bsp/grub/files/determinism.patch | 58 +- ...lvm-Add-LVM-cache-logical-volume-handling.patch | 287 - ...d-some-arithmetic-primitives-that-check-f.patch | 94 - ...ve-unused-fields-from-grub_script_functio.patch | 37 - poky/meta/recipes-bsp/grub/grub-efi_2.04.bb | 91 - poky/meta/recipes-bsp/grub/grub-efi_git.bb | 89 + poky/meta/recipes-bsp/grub/grub2.inc | 25 +- poky/meta/recipes-bsp/grub/grub_2.04.bb | 41 - poky/meta/recipes-bsp/grub/grub_git.bb | 41 + .../u-boot/files/0001-add-valid-fdt-check.patch | 36 + ...001-riscv32-Use-double-float-ABI-for-rv32.patch | 42 + .../u-boot/files/CVE-2021-27097-1.patch | 71 + .../u-boot/files/CVE-2021-27097-2.patch | 419 + .../u-boot/files/CVE-2021-27097-3.patch | 105 + .../u-boot/files/CVE-2021-27097-4.patch | 73 + .../u-boot/files/CVE-2021-27138-1.patch | 245 + .../u-boot/files/CVE-2021-27138-2.patch | 109 + poky/meta/recipes-bsp/u-boot/u-boot-common.inc | 7 + poky/meta/recipes-bsp/u-boot/u-boot_2021.01.bb | 2 + .../0001-avoid-start-failure-with-bind-user.patch | 27 - ...lwresd-V-and-start-log-hide-build-options.patch | 35 - ...-searching-for-json-headers-searches-sysr.patch | 47 - .../recipes-connectivity/bind/bind-9.16.11/bind9 | 2 - .../bind/bind-9.16.11/conf.patch | 330 - .../bind/bind-9.16.11/generate-rndc-key.sh | 8 - .../init.d-add-support-for-read-only-rootfs.patch | 65 - .../make-etc-initd-bind-stop-work.patch | 42 - .../bind/bind-9.16.11/named.service | 22 - .../0001-avoid-start-failure-with-bind-user.patch | 27 + ...lwresd-V-and-start-log-hide-build-options.patch | 35 + ...-searching-for-json-headers-searches-sysr.patch | 47 + .../recipes-connectivity/bind/bind-9.16.12/bind9 | 2 + .../bind/bind-9.16.12/conf.patch | 330 + .../bind/bind-9.16.12/generate-rndc-key.sh | 8 + .../init.d-add-support-for-read-only-rootfs.patch | 65 + .../make-etc-initd-bind-stop-work.patch | 42 + .../bind/bind-9.16.12/named.service | 22 + .../meta/recipes-connectivity/bind/bind_9.16.11.bb | 124 - .../meta/recipes-connectivity/bind/bind_9.16.12.bb | 127 + .../0f90440ca70abab947acbd77795e9f130967956c.patch | 28 - .../recipes-connectivity/openssh/openssh_8.4p1.bb | 180 - .../recipes-connectivity/openssh/openssh_8.5p1.bb | 179 + ...-support-for-io_pgetevents_time64-syscall.patch | 62 + ...-support-for-io_pgetevents_time64-syscall.patch | 99 + .../recipes-connectivity/openssl/openssl_1.1.1j.bb | 243 - .../recipes-connectivity/openssl/openssl_1.1.1k.bb | 248 + .../wpa-supplicant/CVE-2021-27803.patch | 58 + .../wpa-supplicant/wpa-supplicant_2.9.bb | 1 + .../recipes-core/busybox/busybox-inittab_1.32.0.bb | 85 - .../recipes-core/busybox/busybox-inittab_1.33.0.bb | 88 + poky/meta/recipes-core/busybox/busybox/defconfig | 133 +- ...Drop-use-of-volatile-from-get_type-macros.patch | 403 + ...ix-non-atomic-access-to-a-shared-variable.patch | 44 + ...ix-non-atomic-access-to-a-shared-variable.patch | 90 + ...unnecessary-volatile-qualifiers-from-test.patch | 93 + ...on-atomic-access-to-some-shared-variables.patch | 702 + ...unnecessary-volatile-qualifiers-from-test.patch | 35 + ...tion-Drop-unnecessary-volatile-qualifiers.patch | 111 + ...Drop-unnecessary-volatile-qualifiers-from.patch | 95 + ...necessary-volatile-qualifiers-from-intern.patch | 207 + ...ue-Fix-unlocked-access-to-shared-variable.patch | 51 + ...unnecessary-volatile-qualifiers-from-test.patch | 126 + ...on-atomic-access-to-some-shared-variables.patch | 103 + ...p-unnecessary-volatile-qualifiers-from-in.patch | 180 + ...p-unnecessary-volatile-qualifiers-from-ma.patch | 56 + ...nnecessary-volatile-qualifiers-from-inter.patch | 169 + ...p-unnecessary-volatile-qualifiers-from-in.patch | 126 + ...rop-unnecessary-volatile-qualifiers-from-.patch | 44 + ...p-volatile-qualifier-from-gatomicrefcount.patch | 35 + ...y-Drop-volatile-qualifier-from-GAtomicArr.patch | 44 + ...p-volatile-qualifier-from-GObject.ref_cou.patch | 33 + ...unnecessary-volatile-qualifiers-from-test.patch | 51 + ...unnecessary-volatile-qualifiers-from-conf.patch | 38 + ...e-Avoid-a-warning-about-a-statement-with-.patch | 33 + ...ests-Add-comment-to-volatile-atomic-tests.patch | 49 + ...-g_atomic-primitives-correctly-in-destruc.patch | 77 + .../0026-gtype-Fix-some-typos-in-comments.patch | 47 + ...ome-missing-atomic-accesses-to-init_state.patch | 76 + ...ix-a-pointer-mismatch-with-an-atomic-load.patch | 29 + ...s-Document-not-to-use-volatile-qualifiers.patch | 258 + poky/meta/recipes-core/glib-2.0/glib-2.0_2.66.7.bb | 37 +- ...emove-private-futex-optimization-BZ-27304.patch | 49 + ...andle-_SC_LEVEL1_ICACHE_LINESIZE-BZ-27444.patch | 185 + .../recipes-core/glibc/glibc/CVE-2021-27645.patch | 51 + poky/meta/recipes-core/glibc/glibc_2.33.bb | 3 + .../images/build-appliance-image_15.0.0.bb | 10 +- .../initrdscripts/initramfs-framework/rootfs | 17 +- ...figure.ac-do-not-use-compute-symver-floor.patch | 32 + poky/meta/recipes-core/libxcrypt/libxcrypt.inc | 4 +- .../meta/recipes-core/meta/cve-update-db-native.bb | 12 +- poky/meta/recipes-core/meta/uninative-tarball.bb | 1 + poky/meta/recipes-core/musl/libucontext_git.bb | 2 +- .../ovmf/0003-ovmf-enable-long-path-file.patch | 28 - poky/meta/recipes-core/ovmf/ovmf/zero.patch | 84 + poky/meta/recipes-core/ovmf/ovmf_git.bb | 6 +- .../packagegroups/packagegroup-base.bb | 1 - .../packagegroups/packagegroup-core-nfs.bb | 1 - .../recipes-core/systemd/systemd-boot_247.3.bb | 70 - .../recipes-core/systemd/systemd-boot_247.4.bb | 70 + .../systemd/systemd-conf/wired.network | 1 + .../recipes-core/systemd/systemd-conf_247.3.bb | 3 - poky/meta/recipes-core/systemd/systemd.inc | 2 +- ....in-use-ROOTPREFIX-without-suffixed-slash.patch | 9 +- .../systemd/0006-Include-netinet-if_ether.h.patch | 28 +- poky/meta/recipes-core/systemd/systemd_247.3.bb | 762 - poky/meta/recipes-core/systemd/systemd_247.4.bb | 767 + .../sysvinit/sysvinit-inittab_2.88dsf.bb | 4 + .../util-linux/util-linux-libuuid_2.36.2.bb | 16 + poky/meta/recipes-core/util-linux/util-linux.inc | 41 + ...e-EXTRA_LTLIBRARIES-instead-of-noinst_LTL.patch | 49 + .../recipes-core/util-linux/util-linux_2.36.2.bb | 57 +- ...isable-documentation-directory-altogether.patch | 8 +- ...Do-not-configure-packages-on-installation.patch | 48 - ...o-not-init-tables-from-dpkg-configuration.patch | 4 +- ...ys-run-dpkg-configure-a-at-the-end-of-our.patch | 10 +- .../apt/apt/0001-cmake-Do-not-build-po-files.patch | 37 + ...01-srvrec-Keep-support-for-older-resolver.patch | 44 + ...est-libapt-do-not-use-gtest-from-the-host.patch | 40 - poky/meta/recipes-devtools/apt/apt_1.8.2.2.bb | 132 - poky/meta/recipes-devtools/apt/apt_2.2.2.bb | 131 + ...tion-in-shebangs-with-modern-use-warnings.patch | 60 - .../automake/automake/python-libdir.patch | 16 +- .../recipes-devtools/automake/automake_1.16.2.bb | 43 - .../recipes-devtools/automake/automake_1.16.3.bb | 41 + poky/meta/recipes-devtools/dnf/dnf_4.5.2.bb | 91 - poky/meta/recipes-devtools/dnf/dnf_4.6.0.bb | 91 + .../recipes-devtools/elfutils/elfutils_0.183.bb | 1 - .../0004-Disable-the-test-to-convert-euc-jp.patch | 42 - poky/meta/recipes-devtools/fdisk/gptfdisk_1.0.6.bb | 35 - poky/meta/recipes-devtools/fdisk/gptfdisk_1.0.7.bb | 35 + poky/meta/recipes-devtools/gcc/gcc-cross.inc | 2 +- poky/meta/recipes-devtools/gcc/gcc-sanitizers.inc | 3 +- poky/meta/recipes-devtools/gcc/gcc-target.inc | 1 + .../gcc/0002-gcc-poison-system-directories.patch | 73 +- poky/meta/recipes-devtools/git/git.inc | 3 +- poky/meta/recipes-devtools/git/git_2.30.1.bb | 9 - poky/meta/recipes-devtools/git/git_2.31.1.bb | 9 + poky/meta/recipes-devtools/go/go-1.16.2.inc | 20 + poky/meta/recipes-devtools/go/go-1.16.inc | 20 - .../recipes-devtools/go/go-binary-native_1.16.2.bb | 46 + .../recipes-devtools/go/go-binary-native_1.16.bb | 46 - .../go/go-cross-canadian_1.16.2.bb | 2 + .../recipes-devtools/go/go-cross-canadian_1.16.bb | 2 - poky/meta/recipes-devtools/go/go-cross_1.16.2.bb | 2 + poky/meta/recipes-devtools/go/go-cross_1.16.bb | 2 - .../meta/recipes-devtools/go/go-crosssdk_1.16.2.bb | 2 + poky/meta/recipes-devtools/go/go-crosssdk_1.16.bb | 2 - .../go-dep/0001-Add-support-for-mips-mips64.patch | 54 - .../go-dep/0001-Update-sys-module-to-latest.patch | 145574 ------------------ ...0001-bolt_riscv64-Add-support-for-riscv64.patch | 33 - poky/meta/recipes-devtools/go/go-dep_0.5.4.bb | 30 - poky/meta/recipes-devtools/go/go-native_1.16.2.bb | 59 + poky/meta/recipes-devtools/go/go-native_1.16.bb | 59 - poky/meta/recipes-devtools/go/go-runtime_1.16.2.bb | 3 + poky/meta/recipes-devtools/go/go-runtime_1.16.bb | 3 - poky/meta/recipes-devtools/go/go_1.16.2.bb | 17 + poky/meta/recipes-devtools/go/go_1.16.bb | 17 - .../recipes-devtools/help2man/help2man_1.48.1.bb | 24 - .../recipes-devtools/help2man/help2man_1.48.2.bb | 24 + poky/meta/recipes-devtools/jquery/jquery_3.5.1.bb | 34 - poky/meta/recipes-devtools/jquery/jquery_3.6.0.bb | 34 + ...ig.h-avoid-the-use-of-non-portable-__WORD.patch | 31 + poky/meta/recipes-devtools/libdnf/libdnf_0.55.2.bb | 36 - poky/meta/recipes-devtools/libdnf/libdnf_0.58.0.bb | 37 + .../libedit/libedit_20191231-3.1.bb | 25 - .../libedit/libedit_20210216-3.1.bb | 24 + ...to-obtain-PYTHON_INSTALL_DIR-by-running-p.patch | 38 +- ...ariables-with-pkg-config-not-with-cmake-m.patch | 8 +- .../recipes-devtools/librepo/librepo_1.12.1.bb | 29 - .../recipes-devtools/librepo/librepo_1.13.0.bb | 29 + .../recipes-devtools/libtool/libtool-2.4.6.inc | 1 + ...-make-sure-autoheader-run-before-autoconf.patch | 35 + poky/meta/recipes-devtools/meson/meson.inc | 16 + ...-Correctly-set-uid-gid-of-installed-files.patch | 28 + .../meson/meson/gi-target-dep.patch | 41 + .../meta/recipes-devtools/perl/liburi-perl_1.74.bb | 50 - .../meta/recipes-devtools/perl/liburi-perl_5.08.bb | 50 + .../meta/recipes-devtools/python/python-cython.inc | 2 + .../python/python3-cython_0.29.22.bb | 9 +- .../python/python3-dbusmock_0.22.0.bb | 1 + .../python/python3-iniconfig_1.1.1.bb | 1 + .../python/python3-jinja2_2.11.3.bb | 3 + .../python/python3-pygments_2.8.0.bb | 19 - .../python/python3-pygments_2.8.1.bb | 19 + .../python/python3-pygobject_3.38.0.bb | 2 + .../python/python3-pytest_6.2.2.bb | 2 + .../recipes-devtools/python/python3-scons_3.1.2.bb | 1 + .../python/python3-setuptools-scm_5.0.1.bb | 2 + .../python/python3-setuptools_53.0.0.bb | 55 - .../python/python3-setuptools_54.1.1.bb | 55 + .../recipes-devtools/python/python3-zipp_3.4.0.bb | 19 - .../recipes-devtools/python/python3-zipp_3.4.1.bb | 19 + ...-not-report-missing-dependencies-for-disa.patch | 10 +- poky/meta/recipes-devtools/python/python3_3.9.2.bb | 1 + poky/meta/recipes-devtools/qemu/qemu.inc | 1 + .../qemu/qemu/CVE-2021-20203.patch | 73 + poky/meta/recipes-devtools/rpm/rpm_4.16.1.2.bb | 39 +- .../run-postinsts/run-postinsts/run-postinsts | 10 +- .../strace/strace/Makefile-ptest.patch | 19 +- .../strace/strace/disable-git-version-gen.patch | 37 - .../strace/strace/update-gawk-paths.patch | 44 +- poky/meta/recipes-devtools/strace/strace_5.10.bb | 60 - poky/meta/recipes-devtools/strace/strace_5.11.bb | 56 + poky/meta/recipes-devtools/vala/vala_0.50.3.bb | 5 - poky/meta/recipes-devtools/vala/vala_0.50.4.bb | 5 + ...olc.vgtest-hanging-on-newer-glibc-and-or-.patch | 200 + ...ests-Disable-nlcontrolc.vgtest-for-x86-64.patch | 36 - ...d-related-PowerPC-insns-aren-t-allowed-on.patch | 62 + .../recipes-devtools/valgrind/valgrind_3.16.1.bb | 3 +- .../asciidoc/asciidoc/auto-catalogs.patch | 53 - .../recipes-extended/asciidoc/asciidoc_9.0.4.bb | 33 - .../recipes-extended/asciidoc/asciidoc_9.1.0.bb | 32 + poky/meta/recipes-extended/bash/bash.inc | 1 + poky/meta/recipes-extended/bc/bc_1.07.1.bb | 1 + .../recipes-extended/cracklib/cracklib_2.9.5.bb | 3 +- .../cwautomacros/cwautomacros_20110201.bb | 1 + poky/meta/recipes-extended/ed/ed_1.17.bb | 1 + .../go-examples/go-helloworld_0.1.bb | 5 +- poky/meta/recipes-extended/grep/grep_3.6.bb | 1 + .../recipes-extended/libsolv/libsolv_0.7.17.bb | 1 + .../recipes-extended/lighttpd/lighttpd_1.4.59.bb | 1 + .../recipes-extended/logrotate/logrotate_3.18.0.bb | 3 +- ...testsuite-generate-makefiles.sh-Avoid-inc.patch | 40 + ...akefile-Avoid-wildcard-determinism-issues.patch | 310 + ...wapon-swapoff-Move-common-library-to-libs.patch | 133 + poky/meta/recipes-extended/ltp/ltp/libswapon.patch | 368 + poky/meta/recipes-extended/ltp/ltp_20210121.bb | 15 +- poky/meta/recipes-extended/lzip/lzip_1.22.bb | 1 + poky/meta/recipes-extended/man-db/man-db_2.9.4.bb | 1 + poky/meta/recipes-extended/mc/mc_4.8.26.bb | 1 + poky/meta/recipes-extended/mdadm/mdadm_4.1.bb | 1 + .../recipes-extended/mingetty/mingetty_1.08.bb | 1 + poky/meta/recipes-extended/msmtp/msmtp_1.8.14.bb | 27 - poky/meta/recipes-extended/msmtp/msmtp_1.8.15.bb | 27 + poky/meta/recipes-extended/parted/parted_3.4.bb | 1 + .../perl/libconvert-asn1-perl_0.27.bb | 2 + .../recipes-extended/perl/libtimedate-perl_2.30.bb | 1 + .../procps/0001-w.c-correct-musl-builds.patch | 44 + .../0002-proc-escape.c-add-missing-include.patch | 23 + poky/meta/recipes-extended/procps/procps_3.3.16.bb | 101 - poky/meta/recipes-extended/procps/procps_3.3.17.bb | 103 + poky/meta/recipes-extended/quota/quota_4.06.bb | 1 + poky/meta/recipes-extended/sed/sed_4.8.bb | 1 + poky/meta/recipes-extended/shadow/shadow.inc | 1 + poky/meta/recipes-extended/shadow/shadow_4.8.1.bb | 5 +- .../stress-ng/stress-ng_0.12.03.bb | 27 - .../stress-ng/stress-ng_0.12.05.bb | 27 + poky/meta/recipes-extended/sudo/sudo.inc | 2 + poky/meta/recipes-extended/sudo/sudo_1.9.5p2.bb | 59 - poky/meta/recipes-extended/sudo/sudo_1.9.6p1.bb | 59 + .../recipes-extended/sysklogd/sysklogd_2.2.1.bb | 56 - .../recipes-extended/sysklogd/sysklogd_2.2.2.bb | 56 + .../texinfo-dummy-native/texinfo-dummy-native.bb | 1 + poky/meta/recipes-extended/unzip/unzip_6.0.bb | 1 + .../recipes-extended/xinetd/xinetd_2.3.15.4.bb | 1 + poky/meta/recipes-extended/xz/xz_5.2.5.bb | 1 + poky/meta/recipes-extended/zip/zip_3.0.bb | 1 + ...le-sort-all-wildcard-file-list-expansions.patch | 19 +- poky/meta/recipes-extended/zstd/zstd_1.4.8.bb | 37 - poky/meta/recipes-extended/zstd/zstd_1.4.9.bb | 37 + .../meta/recipes-gnome/epiphany/epiphany_3.38.2.bb | 3 + poky/meta/recipes-gnome/gcr/gcr_3.38.1.bb | 7 +- .../libhandy/libhandy/determinism.patch | 35 - poky/meta/recipes-gnome/libhandy/libhandy_1.0.3.bb | 28 - poky/meta/recipes-gnome/libhandy/libhandy_1.2.0.bb | 27 + .../recipes-graphics/images/core-image-weston.bb | 8 +- .../recipes-graphics/libsdl2/libsdl2_2.0.14.bb | 1 + ...uild-race-between-generating-a-header-and.patch | 31 - ...-check-for-all-linux-host_os-combinations.patch | 12 +- .../0002-meson.build-make-TLS-ELF-optional.patch | 14 +- poky/meta/recipes-graphics/mesa/mesa-gl_20.3.4.bb | 15 - poky/meta/recipes-graphics/mesa/mesa-gl_21.0.0.bb | 15 + poky/meta/recipes-graphics/mesa/mesa.inc | 10 +- poky/meta/recipes-graphics/mesa/mesa_20.3.4.bb | 2 - poky/meta/recipes-graphics/mesa/mesa_21.0.0.bb | 2 + .../packagegroups/packagegroup-core-weston.bb | 15 + ...ake-add-option-to-skip-build-the-examples.patch | 47 - .../recipes-graphics/shaderc/shaderc_2020.4.bb | 29 - .../recipes-graphics/shaderc/shaderc_2020.5.bb | 28 + ...KE_INSTALL_LIBDIR-in-installed-CMake-file.patch | 35 - .../spir/files/0001-fix-strncpy-bound-error.patch | 30 + .../recipes-graphics/spir/spirv-headers_1.5.4.bb | 3 +- .../recipes-graphics/spir/spirv-tools_2020.6.bb | 40 - .../recipes-graphics/spir/spirv-tools_2020.7.bb | 42 + .../ttf-fonts/ttf-bitstream-vera_1.10.bb | 1 + .../vulkan/vulkan-headers_1.2.162.0.bb | 22 - .../vulkan/vulkan-headers_1.2.170.0.bb | 22 + ...01-Rename-LIB_SUFFIX-to-VULKAN_LIB_SUFFIX.patch | 40 - .../vulkan/vulkan-loader_1.2.162.0.bb | 40 - .../vulkan/vulkan-loader_1.2.170.0.bb | 41 + .../vulkan/vulkan-tools_1.2.162.1.bb | 32 - .../vulkan/vulkan-tools_1.2.170.0.bb | 32 + .../recipes-graphics/wayland/libinput/run-ptest | 2 +- poky/meta/recipes-graphics/wayland/weston-init.bb | 1 + .../meta/recipes-graphics/wayland/weston-init/init | 1 + .../kern-tools/kern-tools-native_git.bb | 2 +- .../linux-firmware/linux-firmware_20210208.bb | 42 +- .../linux-libc-headers/linux-libc-headers.inc | 1 + poky/meta/recipes-kernel/linux/kernel-devsrc.bb | 1 + poky/meta/recipes-kernel/linux/linux-dummy.bb | 2 +- poky/meta/recipes-kernel/linux/linux-yocto-dev.bb | 2 +- .../recipes-kernel/linux/linux-yocto-rt_5.10.bb | 6 +- .../recipes-kernel/linux/linux-yocto-rt_5.4.bb | 6 +- .../recipes-kernel/linux/linux-yocto-tiny_5.10.bb | 8 +- .../recipes-kernel/linux/linux-yocto-tiny_5.4.bb | 8 +- poky/meta/recipes-kernel/linux/linux-yocto_5.10.bb | 26 +- poky/meta/recipes-kernel/linux/linux-yocto_5.4.bb | 22 +- .../0001-Fix-memory-leaks-on-event-destroy.patch | 58 + ...interpreter-early-exits-on-uninitialized-.patch | 159 + ...ing-record-slab-name-for-kmem_cache_free-.patch | 91 + ...etprobe-null-ptr-deref-on-session-destroy.patch | 41 + .../recipes-kernel/lttng/lttng-modules_2.12.4.bb | 41 - .../recipes-kernel/lttng/lttng-modules_2.12.5.bb | 46 + .../recipes-kernel/lttng/lttng-tools_2.12.2.bb | 174 - .../recipes-kernel/lttng/lttng-tools_2.12.3.bb | 174 + poky/meta/recipes-kernel/perf/perf.bb | 55 + .../recipes-kernel/perf/perf/sort-pmuevents.py | 93 + .../systemtap/systemtap-uprobes_git.bb | 2 +- ...fix-build-fail-when-used-the-libsrt-1.4.1.patch | 52 - .../ffmpeg/ffmpeg/CVE-2020-35964.patch | 75 - .../ffmpeg/ffmpeg/CVE-2020-35965.patch | 35 - .../meta/recipes-multimedia/ffmpeg/ffmpeg_4.3.1.bb | 173 - .../meta/recipes-multimedia/ffmpeg/ffmpeg_4.3.2.bb | 170 + .../gstreamer/gst-devtools_1.18.3.bb | 49 - .../gstreamer/gst-devtools_1.18.4.bb | 49 + .../gstreamer/gst-examples_1.18.3.bb | 35 - .../gstreamer/gst-examples_1.18.4.bb | 35 + .../gstreamer/gstreamer1.0-libav_1.18.3.bb | 24 - .../gstreamer/gstreamer1.0-libav_1.18.4.bb | 24 + .../gstreamer/gstreamer1.0-omx_1.18.3.bb | 47 - .../gstreamer/gstreamer1.0-omx_1.18.4.bb | 47 + .../gstreamer/gstreamer1.0-plugins-bad_1.18.3.bb | 151 - .../gstreamer/gstreamer1.0-plugins-bad_1.18.4.bb | 151 + .../gstreamer/gstreamer1.0-plugins-base_1.18.3.bb | 97 - .../gstreamer/gstreamer1.0-plugins-base_1.18.4.bb | 97 + ...ffer-Fix-parsing-of-the-mediaclk-direct-f.patch | 33 + .../gstreamer/gstreamer1.0-plugins-good_1.18.3.bb | 76 - .../gstreamer/gstreamer1.0-plugins-good_1.18.4.bb | 77 + .../gstreamer/gstreamer1.0-plugins-ugly_1.18.3.bb | 43 - .../gstreamer/gstreamer1.0-plugins-ugly_1.18.4.bb | 43 + .../gstreamer/gstreamer1.0-python_1.18.3.bb | 26 - .../gstreamer/gstreamer1.0-python_1.18.4.bb | 26 + .../gstreamer/gstreamer1.0-rtsp-server_1.18.3.bb | 31 - .../gstreamer/gstreamer1.0-rtsp-server_1.18.4.bb | 31 + .../gstreamer/gstreamer1.0-vaapi_1.18.3.bb | 52 - .../gstreamer/gstreamer1.0-vaapi_1.18.4.bb | 53 + .../gstreamer/gstreamer1.0_1.18.3.bb | 70 - .../gstreamer/gstreamer1.0_1.18.4.bb | 71 + poky/meta/recipes-rt/rt-tests/rt-tests_1.10.bb | 3 +- ...-atomics-check-to-include-1-byte-CAS-test.patch | 77 + .../webkitgtk/0001-Fix-build-with-musl.patch | 36 +- .../webkit/webkitgtk/musl-lower-stack-usage.patch | 74 + .../webkit/webkitgtk/reduce-memory-overheads.patch | 22 + poky/meta/recipes-sato/webkit/webkitgtk_2.30.5.bb | 6 +- poky/meta/recipes-support/attr/attr_2.4.48.bb | 6 - poky/meta/recipes-support/attr/attr_2.5.1.bb | 5 + .../recipes-support/bmap-tools/bmap-tools_3.5.bb | 25 - .../recipes-support/bmap-tools/bmap-tools_3.6.bb | 26 + .../boost/boost-build-native_4.3.0.bb | 2 + poky/meta/recipes-support/gnutls/gnutls_3.7.0.bb | 69 - poky/meta/recipes-support/gnutls/gnutls_3.7.1.bb | 69 + .../recipes-support/iso-codes/iso-codes_4.5.0.bb | 22 - .../recipes-support/iso-codes/iso-codes_4.6.0.bb | 22 + .../libical/0001-Fix-build-with-icu-68.1.patch | 81 - ...1-Use-our-hand-build-native-src-generator.patch | 33 - poky/meta/recipes-support/libical/libical_3.0.8.bb | 50 - poky/meta/recipes-support/libical/libical_3.0.9.bb | 46 + ...conv-m4-remove-the-test-to-convert-euc-jp.patch | 56 - .../libunistring/libunistring_0.9.10.bb | 1 - poky/meta/recipes-support/libunwind/libunwind.inc | 1 + ...configure-Do-not-enforce-libdir-for-ppc64.patch | 35 + .../recipes-support/libunwind/libunwind_1.5.0.bb | 2 + poky/meta/recipes-support/lz4/lz4_1.9.3.bb | 1 + poky/meta/recipes-support/lzop/lzop_1.04.bb | 1 + poky/meta/recipes-support/serf/serf_1.3.9.bb | 1 + poky/meta/recipes-support/sqlite/sqlite3_3.34.1.bb | 12 - poky/meta/recipes-support/sqlite/sqlite3_3.35.0.bb | 12 + .../taglib/taglib/CVE-2017-12678.patch | 40 - .../taglib/taglib/CVE-2018-11439.patch | 51 - poky/meta/recipes-support/taglib/taglib_1.11.1.bb | 45 - poky/meta/recipes-support/taglib/taglib_1.12.bb | 42 + poky/meta/recipes-support/xxhash/xxhash_0.8.0.bb | 23 + poky/meta/site/common-linux | 3 + poky/scripts/bitbake-whatchanged | 2 +- poky/scripts/contrib/documentation-audit.sh | 2 +- poky/scripts/contrib/list-packageconfig-flags.py | 2 +- poky/scripts/lib/devtool/standard.py | 7 +- poky/scripts/oe-time-dd-test.sh | 23 + poky/scripts/runqemu | 143 +- poky/scripts/sstate-diff-machines.sh | 4 +- poky/scripts/verify-bashisms | 2 +- 504 files changed, 14254 insertions(+), 156698 deletions(-) create mode 100644 poky/bitbake/lib/bb/fetch2/az.py create mode 100644 poky/meta-selftest/recipes-test/poison/poison.bb delete mode 100644 poky/meta/classes/godep.bbclass create mode 100644 poky/meta/classes/linux-dummy.bbclass create mode 100644 poky/meta/conf/machine/qemuppc64.conf create mode 100644 poky/meta/conf/machine/qemuriscv32.conf create mode 100755 poky/meta/recipes-bsp/formfactor/files/qemuppc64/machconfig create mode 100644 poky/meta/recipes-bsp/grub/files/0001-RISC-V-Restore-the-typcast-to-long.patch delete mode 100644 poky/meta/recipes-bsp/grub/files/6643507ce30f775008e093580f0c9499dfb2c485.patch delete mode 100644 poky/meta/recipes-bsp/grub/files/CVE-2020-10713.patch delete mode 100644 poky/meta/recipes-bsp/grub/files/CVE-2020-14308-calloc-Use-calloc-at-most-places.patch delete mode 100644 poky/meta/recipes-bsp/grub/files/CVE-2020-14309-CVE-2020-14310-CVE-2020-14311-malloc-Use-overflow-checking-primitives-where-we-do-.patch delete mode 100644 poky/meta/recipes-bsp/grub/files/CVE-2020-15706-script-Avoid-a-use-after-free-when-redefining-a-func.patch delete mode 100644 poky/meta/recipes-bsp/grub/files/CVE-2020-15707-linux-Fix-integer-overflows-in-initrd-size-handling.patch delete mode 100644 poky/meta/recipes-bsp/grub/files/calloc-Make-sure-we-always-have-an-overflow-checking.patch delete mode 100644 poky/meta/recipes-bsp/grub/files/lvm-Add-LVM-cache-logical-volume-handling.patch delete mode 100644 poky/meta/recipes-bsp/grub/files/safemath-Add-some-arithmetic-primitives-that-check-f.patch delete mode 100644 poky/meta/recipes-bsp/grub/files/script-Remove-unused-fields-from-grub_script_functio.patch delete mode 100644 poky/meta/recipes-bsp/grub/grub-efi_2.04.bb create mode 100644 poky/meta/recipes-bsp/grub/grub-efi_git.bb delete mode 100644 poky/meta/recipes-bsp/grub/grub_2.04.bb create mode 100644 poky/meta/recipes-bsp/grub/grub_git.bb create mode 100644 poky/meta/recipes-bsp/u-boot/files/0001-add-valid-fdt-check.patch create mode 100644 poky/meta/recipes-bsp/u-boot/files/0001-riscv32-Use-double-float-ABI-for-rv32.patch create mode 100644 poky/meta/recipes-bsp/u-boot/files/CVE-2021-27097-1.patch create mode 100644 poky/meta/recipes-bsp/u-boot/files/CVE-2021-27097-2.patch create mode 100644 poky/meta/recipes-bsp/u-boot/files/CVE-2021-27097-3.patch create mode 100644 poky/meta/recipes-bsp/u-boot/files/CVE-2021-27097-4.patch create mode 100644 poky/meta/recipes-bsp/u-boot/files/CVE-2021-27138-1.patch create mode 100644 poky/meta/recipes-bsp/u-boot/files/CVE-2021-27138-2.patch delete mode 100644 poky/meta/recipes-connectivity/bind/bind-9.16.11/0001-avoid-start-failure-with-bind-user.patch delete mode 100644 poky/meta/recipes-connectivity/bind/bind-9.16.11/0001-named-lwresd-V-and-start-log-hide-build-options.patch delete mode 100644 poky/meta/recipes-connectivity/bind/bind-9.16.11/bind-ensure-searching-for-json-headers-searches-sysr.patch delete mode 100644 poky/meta/recipes-connectivity/bind/bind-9.16.11/bind9 delete mode 100644 poky/meta/recipes-connectivity/bind/bind-9.16.11/conf.patch delete mode 100644 poky/meta/recipes-connectivity/bind/bind-9.16.11/generate-rndc-key.sh delete mode 100644 poky/meta/recipes-connectivity/bind/bind-9.16.11/init.d-add-support-for-read-only-rootfs.patch delete mode 100644 poky/meta/recipes-connectivity/bind/bind-9.16.11/make-etc-initd-bind-stop-work.patch delete mode 100644 poky/meta/recipes-connectivity/bind/bind-9.16.11/named.service create mode 100644 poky/meta/recipes-connectivity/bind/bind-9.16.12/0001-avoid-start-failure-with-bind-user.patch create mode 100644 poky/meta/recipes-connectivity/bind/bind-9.16.12/0001-named-lwresd-V-and-start-log-hide-build-options.patch create mode 100644 poky/meta/recipes-connectivity/bind/bind-9.16.12/bind-ensure-searching-for-json-headers-searches-sysr.patch create mode 100644 poky/meta/recipes-connectivity/bind/bind-9.16.12/bind9 create mode 100644 poky/meta/recipes-connectivity/bind/bind-9.16.12/conf.patch create mode 100644 poky/meta/recipes-connectivity/bind/bind-9.16.12/generate-rndc-key.sh create mode 100644 poky/meta/recipes-connectivity/bind/bind-9.16.12/init.d-add-support-for-read-only-rootfs.patch create mode 100644 poky/meta/recipes-connectivity/bind/bind-9.16.12/make-etc-initd-bind-stop-work.patch create mode 100644 poky/meta/recipes-connectivity/bind/bind-9.16.12/named.service delete mode 100644 poky/meta/recipes-connectivity/bind/bind_9.16.11.bb create mode 100644 poky/meta/recipes-connectivity/bind/bind_9.16.12.bb delete mode 100644 poky/meta/recipes-connectivity/openssh/openssh/0f90440ca70abab947acbd77795e9f130967956c.patch delete mode 100644 poky/meta/recipes-connectivity/openssh/openssh_8.4p1.bb create mode 100644 poky/meta/recipes-connectivity/openssh/openssh_8.5p1.bb create mode 100644 poky/meta/recipes-connectivity/openssl/openssl/0003-Add-support-for-io_pgetevents_time64-syscall.patch create mode 100644 poky/meta/recipes-connectivity/openssl/openssl/0004-Fixup-support-for-io_pgetevents_time64-syscall.patch delete mode 100644 poky/meta/recipes-connectivity/openssl/openssl_1.1.1j.bb create mode 100644 poky/meta/recipes-connectivity/openssl/openssl_1.1.1k.bb create mode 100644 poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/CVE-2021-27803.patch delete mode 100644 poky/meta/recipes-core/busybox/busybox-inittab_1.32.0.bb create mode 100644 poky/meta/recipes-core/busybox/busybox-inittab_1.33.0.bb create mode 100644 poky/meta/recipes-core/glib-2.0/glib-2.0/0001-gobject-Drop-use-of-volatile-from-get_type-macros.patch create mode 100644 poky/meta/recipes-core/glib-2.0/glib-2.0/0002-tests-Fix-non-atomic-access-to-a-shared-variable.patch create mode 100644 poky/meta/recipes-core/glib-2.0/glib-2.0/0003-tests-Fix-non-atomic-access-to-a-shared-variable.patch create mode 100644 poky/meta/recipes-core/glib-2.0/glib-2.0/0004-tests-Drop-unnecessary-volatile-qualifiers-from-test.patch create mode 100644 poky/meta/recipes-core/glib-2.0/glib-2.0/0005-tests-Fix-non-atomic-access-to-some-shared-variables.patch create mode 100644 poky/meta/recipes-core/glib-2.0/glib-2.0/0006-tests-Drop-unnecessary-volatile-qualifiers-from-test.patch create mode 100644 poky/meta/recipes-core/glib-2.0/glib-2.0/0007-gdbusconnection-Drop-unnecessary-volatile-qualifiers.patch create mode 100644 poky/meta/recipes-core/glib-2.0/glib-2.0/0008-gdbuserror-Drop-unnecessary-volatile-qualifiers-from.patch create mode 100644 poky/meta/recipes-core/glib-2.0/glib-2.0/0009-gio-Drop-unnecessary-volatile-qualifiers-from-intern.patch create mode 100644 poky/meta/recipes-core/glib-2.0/glib-2.0/0010-kqueue-Fix-unlocked-access-to-shared-variable.patch create mode 100644 poky/meta/recipes-core/glib-2.0/glib-2.0/0011-tests-Drop-unnecessary-volatile-qualifiers-from-test.patch create mode 100644 poky/meta/recipes-core/glib-2.0/glib-2.0/0012-tests-Fix-non-atomic-access-to-some-shared-variables.patch create mode 100644 poky/meta/recipes-core/glib-2.0/glib-2.0/0013-gatomic-Drop-unnecessary-volatile-qualifiers-from-in.patch create mode 100644 poky/meta/recipes-core/glib-2.0/glib-2.0/0014-gatomic-Drop-unnecessary-volatile-qualifiers-from-ma.patch create mode 100644 poky/meta/recipes-core/glib-2.0/glib-2.0/0015-glib-Drop-unnecessary-volatile-qualifiers-from-inter.patch create mode 100644 poky/meta/recipes-core/glib-2.0/glib-2.0/0016-gobject-Drop-unnecessary-volatile-qualifiers-from-in.patch create mode 100644 poky/meta/recipes-core/glib-2.0/glib-2.0/0017-gmessages-Drop-unnecessary-volatile-qualifiers-from-.patch create mode 100644 poky/meta/recipes-core/glib-2.0/glib-2.0/0018-gtypes-Drop-volatile-qualifier-from-gatomicrefcount.patch create mode 100644 poky/meta/recipes-core/glib-2.0/glib-2.0/0019-gatomicarray-Drop-volatile-qualifier-from-GAtomicArr.patch create mode 100644 poky/meta/recipes-core/glib-2.0/glib-2.0/0020-gobject-Drop-volatile-qualifier-from-GObject.ref_cou.patch create mode 100644 poky/meta/recipes-core/glib-2.0/glib-2.0/0021-tests-Drop-unnecessary-volatile-qualifiers-from-test.patch create mode 100644 poky/meta/recipes-core/glib-2.0/glib-2.0/0022-build-Drop-unnecessary-volatile-qualifiers-from-conf.patch create mode 100644 poky/meta/recipes-core/glib-2.0/glib-2.0/0023-gdbusprivate-Avoid-a-warning-about-a-statement-with-.patch create mode 100644 poky/meta/recipes-core/glib-2.0/glib-2.0/0024-tests-Add-comment-to-volatile-atomic-tests.patch create mode 100644 poky/meta/recipes-core/glib-2.0/glib-2.0/0025-gthread-Use-g_atomic-primitives-correctly-in-destruc.patch create mode 100644 poky/meta/recipes-core/glib-2.0/glib-2.0/0026-gtype-Fix-some-typos-in-comments.patch create mode 100644 poky/meta/recipes-core/glib-2.0/glib-2.0/0027-gtype-Add-some-missing-atomic-accesses-to-init_state.patch create mode 100644 poky/meta/recipes-core/glib-2.0/glib-2.0/0028-gresource-Fix-a-pointer-mismatch-with-an-atomic-load.patch create mode 100644 poky/meta/recipes-core/glib-2.0/glib-2.0/0029-docs-Document-not-to-use-volatile-qualifiers.patch create mode 100644 poky/meta/recipes-core/glibc/glibc/0001-nptl-Remove-private-futex-optimization-BZ-27304.patch create mode 100644 poky/meta/recipes-core/glibc/glibc/0033-x86-Handle-_SC_LEVEL1_ICACHE_LINESIZE-BZ-27444.patch create mode 100644 poky/meta/recipes-core/glibc/glibc/CVE-2021-27645.patch create mode 100644 poky/meta/recipes-core/libxcrypt/files/0001-configure.ac-do-not-use-compute-symver-floor.patch delete mode 100644 poky/meta/recipes-core/ovmf/ovmf/0003-ovmf-enable-long-path-file.patch create mode 100644 poky/meta/recipes-core/ovmf/ovmf/zero.patch delete mode 100644 poky/meta/recipes-core/systemd/systemd-boot_247.3.bb create mode 100644 poky/meta/recipes-core/systemd/systemd-boot_247.4.bb delete mode 100644 poky/meta/recipes-core/systemd/systemd_247.3.bb create mode 100644 poky/meta/recipes-core/systemd/systemd_247.4.bb create mode 100644 poky/meta/recipes-core/util-linux/util-linux-libuuid_2.36.2.bb create mode 100644 poky/meta/recipes-core/util-linux/util-linux.inc create mode 100644 poky/meta/recipes-core/util-linux/util-linux/Automake-use-EXTRA_LTLIBRARIES-instead-of-noinst_LTL.patch delete mode 100644 poky/meta/recipes-devtools/apt/apt/0001-Do-not-configure-packages-on-installation.patch create mode 100644 poky/meta/recipes-devtools/apt/apt/0001-cmake-Do-not-build-po-files.patch create mode 100644 poky/meta/recipes-devtools/apt/apt/0001-srvrec-Keep-support-for-older-resolver.patch delete mode 100644 poky/meta/recipes-devtools/apt/apt/0001-test-libapt-do-not-use-gtest-from-the-host.patch delete mode 100644 poky/meta/recipes-devtools/apt/apt_1.8.2.2.bb create mode 100644 poky/meta/recipes-devtools/apt/apt_2.2.2.bb delete mode 100644 poky/meta/recipes-devtools/automake/automake/automake-replace-w-option-in-shebangs-with-modern-use-warnings.patch delete mode 100644 poky/meta/recipes-devtools/automake/automake_1.16.2.bb create mode 100644 poky/meta/recipes-devtools/automake/automake_1.16.3.bb delete mode 100644 poky/meta/recipes-devtools/dnf/dnf_4.5.2.bb create mode 100644 poky/meta/recipes-devtools/dnf/dnf_4.6.0.bb delete mode 100644 poky/meta/recipes-devtools/elfutils/files/0004-Disable-the-test-to-convert-euc-jp.patch delete mode 100644 poky/meta/recipes-devtools/fdisk/gptfdisk_1.0.6.bb create mode 100644 poky/meta/recipes-devtools/fdisk/gptfdisk_1.0.7.bb delete mode 100644 poky/meta/recipes-devtools/git/git_2.30.1.bb create mode 100644 poky/meta/recipes-devtools/git/git_2.31.1.bb create mode 100644 poky/meta/recipes-devtools/go/go-1.16.2.inc delete mode 100644 poky/meta/recipes-devtools/go/go-1.16.inc create mode 100644 poky/meta/recipes-devtools/go/go-binary-native_1.16.2.bb delete mode 100644 poky/meta/recipes-devtools/go/go-binary-native_1.16.bb create mode 100644 poky/meta/recipes-devtools/go/go-cross-canadian_1.16.2.bb delete mode 100644 poky/meta/recipes-devtools/go/go-cross-canadian_1.16.bb create mode 100644 poky/meta/recipes-devtools/go/go-cross_1.16.2.bb delete mode 100644 poky/meta/recipes-devtools/go/go-cross_1.16.bb create mode 100644 poky/meta/recipes-devtools/go/go-crosssdk_1.16.2.bb delete mode 100644 poky/meta/recipes-devtools/go/go-crosssdk_1.16.bb delete mode 100644 poky/meta/recipes-devtools/go/go-dep/0001-Add-support-for-mips-mips64.patch delete mode 100644 poky/meta/recipes-devtools/go/go-dep/0001-Update-sys-module-to-latest.patch delete mode 100644 poky/meta/recipes-devtools/go/go-dep/0001-bolt_riscv64-Add-support-for-riscv64.patch delete mode 100644 poky/meta/recipes-devtools/go/go-dep_0.5.4.bb create mode 100644 poky/meta/recipes-devtools/go/go-native_1.16.2.bb delete mode 100644 poky/meta/recipes-devtools/go/go-native_1.16.bb create mode 100644 poky/meta/recipes-devtools/go/go-runtime_1.16.2.bb delete mode 100644 poky/meta/recipes-devtools/go/go-runtime_1.16.bb create mode 100644 poky/meta/recipes-devtools/go/go_1.16.2.bb delete mode 100644 poky/meta/recipes-devtools/go/go_1.16.bb delete mode 100644 poky/meta/recipes-devtools/help2man/help2man_1.48.1.bb create mode 100644 poky/meta/recipes-devtools/help2man/help2man_1.48.2.bb delete mode 100644 poky/meta/recipes-devtools/jquery/jquery_3.5.1.bb create mode 100644 poky/meta/recipes-devtools/jquery/jquery_3.6.0.bb create mode 100644 poky/meta/recipes-devtools/libdnf/libdnf/0001-libdnf-config.h-avoid-the-use-of-non-portable-__WORD.patch delete mode 100644 poky/meta/recipes-devtools/libdnf/libdnf_0.55.2.bb create mode 100644 poky/meta/recipes-devtools/libdnf/libdnf_0.58.0.bb delete mode 100644 poky/meta/recipes-devtools/libedit/libedit_20191231-3.1.bb create mode 100644 poky/meta/recipes-devtools/libedit/libedit_20210216-3.1.bb delete mode 100644 poky/meta/recipes-devtools/librepo/librepo_1.12.1.bb create mode 100644 poky/meta/recipes-devtools/librepo/librepo_1.13.0.bb create mode 100644 poky/meta/recipes-devtools/libtool/libtool/0001-Makefile.am-make-sure-autoheader-run-before-autoconf.patch create mode 100644 poky/meta/recipes-devtools/meson/meson/0001-minstall-Correctly-set-uid-gid-of-installed-files.patch create mode 100644 poky/meta/recipes-devtools/meson/meson/gi-target-dep.patch delete mode 100644 poky/meta/recipes-devtools/perl/liburi-perl_1.74.bb create mode 100644 poky/meta/recipes-devtools/perl/liburi-perl_5.08.bb delete mode 100644 poky/meta/recipes-devtools/python/python3-pygments_2.8.0.bb create mode 100644 poky/meta/recipes-devtools/python/python3-pygments_2.8.1.bb delete mode 100644 poky/meta/recipes-devtools/python/python3-setuptools_53.0.0.bb create mode 100644 poky/meta/recipes-devtools/python/python3-setuptools_54.1.1.bb delete mode 100644 poky/meta/recipes-devtools/python/python3-zipp_3.4.0.bb create mode 100644 poky/meta/recipes-devtools/python/python3-zipp_3.4.1.bb create mode 100644 poky/meta/recipes-devtools/qemu/qemu/CVE-2021-20203.patch delete mode 100644 poky/meta/recipes-devtools/strace/strace/disable-git-version-gen.patch delete mode 100644 poky/meta/recipes-devtools/strace/strace_5.10.bb create mode 100644 poky/meta/recipes-devtools/strace/strace_5.11.bb delete mode 100644 poky/meta/recipes-devtools/vala/vala_0.50.3.bb create mode 100644 poky/meta/recipes-devtools/vala/vala_0.50.4.bb create mode 100644 poky/meta/recipes-devtools/valgrind/valgrind/0001-Fix-nlcontrolc.vgtest-hanging-on-newer-glibc-and-or-.patch delete mode 100644 poky/meta/recipes-devtools/valgrind/valgrind/0001-gdbserver_tests-Disable-nlcontrolc.vgtest-for-x86-64.patch create mode 100644 poky/meta/recipes-devtools/valgrind/valgrind/0001-lmw-lswi-and-related-PowerPC-insns-aren-t-allowed-on.patch delete mode 100644 poky/meta/recipes-extended/asciidoc/asciidoc/auto-catalogs.patch delete mode 100644 poky/meta/recipes-extended/asciidoc/asciidoc_9.0.4.bb create mode 100644 poky/meta/recipes-extended/asciidoc/asciidoc_9.1.0.bb create mode 100644 poky/meta/recipes-extended/ltp/ltp/0001-open_posix_testsuite-generate-makefiles.sh-Avoid-inc.patch create mode 100644 poky/meta/recipes-extended/ltp/ltp/0002-Makefile-Avoid-wildcard-determinism-issues.patch create mode 100644 poky/meta/recipes-extended/ltp/ltp/0003-syscalls-swapon-swapoff-Move-common-library-to-libs.patch create mode 100644 poky/meta/recipes-extended/ltp/ltp/libswapon.patch delete mode 100644 poky/meta/recipes-extended/msmtp/msmtp_1.8.14.bb create mode 100644 poky/meta/recipes-extended/msmtp/msmtp_1.8.15.bb create mode 100644 poky/meta/recipes-extended/procps/procps/0001-w.c-correct-musl-builds.patch create mode 100644 poky/meta/recipes-extended/procps/procps/0002-proc-escape.c-add-missing-include.patch delete mode 100644 poky/meta/recipes-extended/procps/procps_3.3.16.bb create mode 100644 poky/meta/recipes-extended/procps/procps_3.3.17.bb delete mode 100644 poky/meta/recipes-extended/stress-ng/stress-ng_0.12.03.bb create mode 100644 poky/meta/recipes-extended/stress-ng/stress-ng_0.12.05.bb delete mode 100644 poky/meta/recipes-extended/sudo/sudo_1.9.5p2.bb create mode 100644 poky/meta/recipes-extended/sudo/sudo_1.9.6p1.bb delete mode 100644 poky/meta/recipes-extended/sysklogd/sysklogd_2.2.1.bb create mode 100644 poky/meta/recipes-extended/sysklogd/sysklogd_2.2.2.bb delete mode 100644 poky/meta/recipes-extended/zstd/zstd_1.4.8.bb create mode 100644 poky/meta/recipes-extended/zstd/zstd_1.4.9.bb delete mode 100644 poky/meta/recipes-gnome/libhandy/libhandy/determinism.patch delete mode 100644 poky/meta/recipes-gnome/libhandy/libhandy_1.0.3.bb create mode 100644 poky/meta/recipes-gnome/libhandy/libhandy_1.2.0.bb delete mode 100644 poky/meta/recipes-graphics/mesa/files/0001-anv-fix-a-build-race-between-generating-a-header-and.patch delete mode 100644 poky/meta/recipes-graphics/mesa/mesa-gl_20.3.4.bb create mode 100644 poky/meta/recipes-graphics/mesa/mesa-gl_21.0.0.bb delete mode 100644 poky/meta/recipes-graphics/mesa/mesa_20.3.4.bb create mode 100644 poky/meta/recipes-graphics/mesa/mesa_21.0.0.bb create mode 100644 poky/meta/recipes-graphics/packagegroups/packagegroup-core-weston.bb delete mode 100644 poky/meta/recipes-graphics/shaderc/files/0003-cmake-add-option-to-skip-build-the-examples.patch delete mode 100644 poky/meta/recipes-graphics/shaderc/shaderc_2020.4.bb create mode 100644 poky/meta/recipes-graphics/shaderc/shaderc_2020.5.bb delete mode 100644 poky/meta/recipes-graphics/spir/files/0001-Respect-CMAKE_INSTALL_LIBDIR-in-installed-CMake-file.patch create mode 100644 poky/meta/recipes-graphics/spir/files/0001-fix-strncpy-bound-error.patch delete mode 100644 poky/meta/recipes-graphics/spir/spirv-tools_2020.6.bb create mode 100644 poky/meta/recipes-graphics/spir/spirv-tools_2020.7.bb delete mode 100644 poky/meta/recipes-graphics/vulkan/vulkan-headers_1.2.162.0.bb create mode 100644 poky/meta/recipes-graphics/vulkan/vulkan-headers_1.2.170.0.bb delete mode 100644 poky/meta/recipes-graphics/vulkan/vulkan-loader/0001-Rename-LIB_SUFFIX-to-VULKAN_LIB_SUFFIX.patch delete mode 100644 poky/meta/recipes-graphics/vulkan/vulkan-loader_1.2.162.0.bb create mode 100644 poky/meta/recipes-graphics/vulkan/vulkan-loader_1.2.170.0.bb delete mode 100644 poky/meta/recipes-graphics/vulkan/vulkan-tools_1.2.162.1.bb create mode 100644 poky/meta/recipes-graphics/vulkan/vulkan-tools_1.2.170.0.bb create mode 100644 poky/meta/recipes-kernel/lttng/lttng-modules/0001-Fix-memory-leaks-on-event-destroy.patch create mode 100644 poky/meta/recipes-kernel/lttng/lttng-modules/0002-Fix-filter-interpreter-early-exits-on-uninitialized-.patch create mode 100644 poky/meta/recipes-kernel/lttng/lttng-modules/0003-fix-mm-tracing-record-slab-name-for-kmem_cache_free-.patch create mode 100644 poky/meta/recipes-kernel/lttng/lttng-modules/0004-Fix-kretprobe-null-ptr-deref-on-session-destroy.patch delete mode 100644 poky/meta/recipes-kernel/lttng/lttng-modules_2.12.4.bb create mode 100644 poky/meta/recipes-kernel/lttng/lttng-modules_2.12.5.bb delete mode 100644 poky/meta/recipes-kernel/lttng/lttng-tools_2.12.2.bb create mode 100644 poky/meta/recipes-kernel/lttng/lttng-tools_2.12.3.bb create mode 100755 poky/meta/recipes-kernel/perf/perf/sort-pmuevents.py delete mode 100644 poky/meta/recipes-multimedia/ffmpeg/ffmpeg/0001-lavf-srt-fix-build-fail-when-used-the-libsrt-1.4.1.patch delete mode 100644 poky/meta/recipes-multimedia/ffmpeg/ffmpeg/CVE-2020-35964.patch delete mode 100644 poky/meta/recipes-multimedia/ffmpeg/ffmpeg/CVE-2020-35965.patch delete mode 100644 poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.3.1.bb create mode 100644 poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.3.2.bb delete mode 100644 poky/meta/recipes-multimedia/gstreamer/gst-devtools_1.18.3.bb create mode 100644 poky/meta/recipes-multimedia/gstreamer/gst-devtools_1.18.4.bb delete mode 100644 poky/meta/recipes-multimedia/gstreamer/gst-examples_1.18.3.bb create mode 100644 poky/meta/recipes-multimedia/gstreamer/gst-examples_1.18.4.bb delete mode 100644 poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.18.3.bb create mode 100644 poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.18.4.bb delete mode 100644 poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.18.3.bb create mode 100644 poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.18.4.bb delete mode 100644 poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.18.3.bb create mode 100644 poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.18.4.bb delete mode 100644 poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.18.3.bb create mode 100644 poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.18.4.bb create mode 100644 poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0002-rtpjitterbuffer-Fix-parsing-of-the-mediaclk-direct-f.patch delete mode 100644 poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.18.3.bb create mode 100644 poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.18.4.bb delete mode 100644 poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.18.3.bb create mode 100644 poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.18.4.bb delete mode 100644 poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.18.3.bb create mode 100644 poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.18.4.bb delete mode 100644 poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.18.3.bb create mode 100644 poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.18.4.bb delete mode 100644 poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.18.3.bb create mode 100644 poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.18.4.bb delete mode 100644 poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.18.3.bb create mode 100644 poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.18.4.bb create mode 100644 poky/meta/recipes-sato/webkit/webkitgtk/0001-Extend-atomics-check-to-include-1-byte-CAS-test.patch create mode 100644 poky/meta/recipes-sato/webkit/webkitgtk/musl-lower-stack-usage.patch create mode 100644 poky/meta/recipes-sato/webkit/webkitgtk/reduce-memory-overheads.patch delete mode 100644 poky/meta/recipes-support/attr/attr_2.4.48.bb create mode 100644 poky/meta/recipes-support/attr/attr_2.5.1.bb delete mode 100644 poky/meta/recipes-support/bmap-tools/bmap-tools_3.5.bb create mode 100644 poky/meta/recipes-support/bmap-tools/bmap-tools_3.6.bb delete mode 100644 poky/meta/recipes-support/gnutls/gnutls_3.7.0.bb create mode 100644 poky/meta/recipes-support/gnutls/gnutls_3.7.1.bb delete mode 100644 poky/meta/recipes-support/iso-codes/iso-codes_4.5.0.bb create mode 100644 poky/meta/recipes-support/iso-codes/iso-codes_4.6.0.bb delete mode 100644 poky/meta/recipes-support/libical/libical/0001-Fix-build-with-icu-68.1.patch delete mode 100644 poky/meta/recipes-support/libical/libical/0001-Use-our-hand-build-native-src-generator.patch delete mode 100644 poky/meta/recipes-support/libical/libical_3.0.8.bb create mode 100644 poky/meta/recipes-support/libical/libical_3.0.9.bb delete mode 100644 poky/meta/recipes-support/libunistring/libunistring/iconv-m4-remove-the-test-to-convert-euc-jp.patch create mode 100644 poky/meta/recipes-support/libunwind/libunwind/0001-configure-Do-not-enforce-libdir-for-ppc64.patch delete mode 100644 poky/meta/recipes-support/sqlite/sqlite3_3.34.1.bb create mode 100644 poky/meta/recipes-support/sqlite/sqlite3_3.35.0.bb delete mode 100644 poky/meta/recipes-support/taglib/taglib/CVE-2017-12678.patch delete mode 100644 poky/meta/recipes-support/taglib/taglib/CVE-2018-11439.patch delete mode 100644 poky/meta/recipes-support/taglib/taglib_1.11.1.bb create mode 100644 poky/meta/recipes-support/taglib/taglib_1.12.bb create mode 100644 poky/meta/recipes-support/xxhash/xxhash_0.8.0.bb create mode 100644 poky/scripts/oe-time-dd-test.sh diff --git a/poky/.gitignore b/poky/.gitignore index 6dde540a4..4bfe022dc 100644 --- a/poky/.gitignore +++ b/poky/.gitignore @@ -30,4 +30,5 @@ hob-image-*.bb pull-*/ bitbake/lib/toaster/contrib/tts/backlog.txt bitbake/lib/toaster/contrib/tts/log/* -bitbake/lib/toaster/contrib/tts/.cache/* \ No newline at end of file +bitbake/lib/toaster/contrib/tts/.cache/* +bitbake/lib/bb/tests/runqueue-tests/bitbake-cookerdaemon.log \ No newline at end of file diff --git a/poky/bitbake/README b/poky/bitbake/README index 479c37658..96e6007e7 100644 --- a/poky/bitbake/README +++ b/poky/bitbake/README @@ -11,7 +11,7 @@ For information about Bitbake, see the OpenEmbedded website: Bitbake plain documentation can be found under the doc directory or its integrated html version at the Yocto Project website: - http://yoctoproject.org/documentation + https://docs.yoctoproject.org Contributing ------------ diff --git a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-execution.rst b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-execution.rst index d74e768f6..56abf7735 100644 --- a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-execution.rst +++ b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-execution.rst @@ -244,7 +244,8 @@ want upstream. Here is an example: :: BBFILE_COLLECTIONS = "upstream local" BBFILE_PATTERN_upstream = "^/stuff/openembedded/" BBFILE_PATTERN_local = "^/stuff/openembedded.modified/" - BBFILE_PRIORITY_upstream = "5" BBFILE_PRIORITY_local = "10" + BBFILE_PRIORITY_upstream = "5" + BBFILE_PRIORITY_local = "10" .. note:: diff --git a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-fetching.rst b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-fetching.rst index 6760b1082..e9a5f336d 100644 --- a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-fetching.rst +++ b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-fetching.rst @@ -624,6 +624,34 @@ Here are some example URLs: :: SRC_URI = "repo://REPOROOT;protocol=git;branch=some_branch;manifest=my_manifest.xml" SRC_URI = "repo://REPOROOT;protocol=file;branch=some_branch;manifest=my_manifest.xml" +.. _az-fetcher: + +Az Fetcher (``az://``) +-------------------------- + +This submodule fetches data from an +`Azure Storage account `__ , +it inherits its functionality from the HTTP wget fetcher, but modifies its +behavior to accomodate the usage of a +`Shared Access Signature (SAS) `__ +for non-public data. + +Such functionality is set by the variable: + +- :term:`AZ_SAS`: The Azure Storage Shared Access Signature provides secure + delegate access to resources, if this variable is set, the Az Fetcher will + use it when fetching artifacts from the cloud. + +You can specify the AZ_SAS variable as shown below: :: + + AZ_SAS = "se=2021-01-01&sp=r&sv=2018-11-09&sr=c&skoid=&sig=" + +Here is an example URL: :: + + SRC_URI = "az://.blob.core.windows.net//" + +It can also be used when setting mirrors definitions using the :term:`PREMIRRORS` variable. + Other Fetchers -------------- diff --git a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-metadata.rst b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-metadata.rst index 7ea68ade7..d4190c26e 100644 --- a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-metadata.rst +++ b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-metadata.rst @@ -1296,6 +1296,17 @@ For more information on task dependencies, see the See the ":ref:`bitbake-user-manual/bitbake-user-manual-metadata:variable flags`" section for information on variable flags you can use with tasks. +.. note:: + + While it's infrequent, it's possible to define multiple tasks as + dependencies when calling ``addtask``. For example, here's a snippet + from the OpenEmbedded class file ``package_tar.bbclass``:: + + addtask package_write_tar before do_build after do_packagedata do_package + + Note how the ``package_write_tar`` task has to wait until both of + ``do_packagedata`` and ``do_package`` complete. + Deleting a Task --------------- @@ -1569,7 +1580,7 @@ might have an interest in viewing: events when each of the workers parse the base configuration or if the server changes configuration and reparses. Any given datastore only has one such event executed against it, however. If - ```BB_INVALIDCONF`` <#>`__ is set in the datastore by the event + :term:`BB_INVALIDCONF` is set in the datastore by the event handler, the configuration is reparsed and a new event triggered, allowing the metadata to update configuration. diff --git a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.rst b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.rst index 6469f9d1a..1528b0406 100644 --- a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.rst +++ b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.rst @@ -39,6 +39,19 @@ overview of their function and contents. when specified allows for the Git binary from the host to be used rather than building ``git-native``. + :term:`AZ_SAS` + Azure Storage Shared Access Signature, when using the + :ref:`Azure Storage fetcher ` + This variable can be defined to be used by the fetcher to authenticate + and gain access to non-public artifacts. + :: + + AZ_SAS = ""se=2021-01-01&sp=r&sv=2018-11-09&sr=c&skoid=&sig="" + + For more information see Microsoft's Azure Storage documentation at + https://docs.microsoft.com/en-us/azure/storage/common/storage-sas-overview + + :term:`B` The directory in which BitBake executes functions during a recipe's build process. @@ -257,45 +270,6 @@ overview of their function and contents. ``my-recipe.bb`` is executing, the ``BB_FILENAME`` variable contains "/foo/path/my-recipe.bb". - :term:`BBFILES_DYNAMIC` - Activates content depending on presence of identified layers. You - identify the layers by the collections that the layers define. - - Use the ``BBFILES_DYNAMIC`` variable to avoid ``.bbappend`` files whose - corresponding ``.bb`` file is in a layer that attempts to modify other - layers through ``.bbappend`` but does not want to introduce a hard - dependency on those other layers. - - Additionally you can prefix the rule with "!" to add ``.bbappend`` and - ``.bb`` files in case a layer is not present. Use this avoid hard - dependency on those other layers. - - Use the following form for ``BBFILES_DYNAMIC``: :: - - collection_name:filename_pattern - - The following example identifies two collection names and two filename - patterns: :: - - BBFILES_DYNAMIC += "\ - clang-layer:${LAYERDIR}/bbappends/meta-clang/*/*/*.bbappend \ - core:${LAYERDIR}/bbappends/openembedded-core/meta/*/*/*.bbappend \ - " - - When the collection name is prefixed with "!" it will add the file pattern in case - the layer is absent: :: - - BBFILES_DYNAMIC += "\ - !clang-layer:${LAYERDIR}/backfill/meta-clang/*/*/*.bb \ - " - - This next example shows an error message that occurs because invalid - entries are found, which cause parsing to abort: :: - - ERROR: BBFILES_DYNAMIC entries must be of the form {!}:, not: - /work/my-layer/bbappends/meta-security-isafw/*/*/*.bbappend - /work/my-layer/bbappends/openembedded-core/meta/*/*/*.bbappend - :term:`BB_GENERATE_MIRROR_TARBALLS` Causes tarballs of the Git repositories, including the Git metadata, to be placed in the :term:`DL_DIR` directory. Anyone @@ -671,6 +645,45 @@ overview of their function and contents. For details on the syntax, see the documentation by following the previous link. + :term:`BBFILES_DYNAMIC` + Activates content depending on presence of identified layers. You + identify the layers by the collections that the layers define. + + Use the ``BBFILES_DYNAMIC`` variable to avoid ``.bbappend`` files whose + corresponding ``.bb`` file is in a layer that attempts to modify other + layers through ``.bbappend`` but does not want to introduce a hard + dependency on those other layers. + + Additionally you can prefix the rule with "!" to add ``.bbappend`` and + ``.bb`` files in case a layer is not present. Use this avoid hard + dependency on those other layers. + + Use the following form for ``BBFILES_DYNAMIC``: :: + + collection_name:filename_pattern + + The following example identifies two collection names and two filename + patterns: :: + + BBFILES_DYNAMIC += "\ + clang-layer:${LAYERDIR}/bbappends/meta-clang/*/*/*.bbappend \ + core:${LAYERDIR}/bbappends/openembedded-core/meta/*/*/*.bbappend \ + " + + When the collection name is prefixed with "!" it will add the file pattern in case + the layer is absent: :: + + BBFILES_DYNAMIC += "\ + !clang-layer:${LAYERDIR}/backfill/meta-clang/*/*/*.bb \ + " + + This next example shows an error message that occurs because invalid + entries are found, which cause parsing to abort: :: + + ERROR: BBFILES_DYNAMIC entries must be of the form {!}:, not: + /work/my-layer/bbappends/meta-security-isafw/*/*/*.bbappend + /work/my-layer/bbappends/openembedded-core/meta/*/*/*.bbappend + :term:`BBINCLUDED` Contains a space-separated list of all of all files that BitBake's parser included during parsing of the current file. @@ -1303,6 +1316,8 @@ overview of their function and contents. - ``svn://`` : Fetches files from a Subversion (``svn``) revision control repository. + - ``az://`` : Fetches files from an Azure Storage account using HTTPS. + Here are some additional options worth mentioning: - ``unpack`` : Controls whether or not to unpack the file if it is diff --git a/poky/bitbake/lib/bb/__init__.py b/poky/bitbake/lib/bb/__init__.py index 84a9051c1..afce5ccb8 100644 --- a/poky/bitbake/lib/bb/__init__.py +++ b/poky/bitbake/lib/bb/__init__.py @@ -58,7 +58,7 @@ class BBLoggerMixin(object): if not bb.event.worker_pid: if self.name in bb.msg.loggerDefaultDomains and loglevel > (bb.msg.loggerDefaultDomains[self.name]): return - if loglevel > bb.msg.loggerDefaultLogLevel: + if loglevel < bb.msg.loggerDefaultLogLevel: return return self.log(loglevel, msg, *args, **kwargs) diff --git a/poky/bitbake/lib/bb/build.py b/poky/bitbake/lib/bb/build.py index f4f897e41..b2715fc53 100644 --- a/poky/bitbake/lib/bb/build.py +++ b/poky/bitbake/lib/bb/build.py @@ -854,6 +854,23 @@ def make_stamp(task, d, file_name = None): file_name = d.getVar('BB_FILENAME') bb.parse.siggen.dump_sigtask(file_name, task, stampbase, True) +def find_stale_stamps(task, d, file_name=None): + current = stamp_internal(task, d, file_name) + current2 = stamp_internal(task + "_setscene", d, file_name) + cleanmask = stamp_cleanmask_internal(task, d, file_name) + found = [] + for mask in cleanmask: + for name in glob.glob(mask): + if "sigdata" in name or "sigbasedata" in name: + continue + if name.endswith('.taint'): + continue + if name == current or name == current2: + continue + logger.debug2("Stampfile %s does not match %s or %s" % (name, current, current2)) + found.append(name) + return found + def del_stamp(task, d, file_name = None): """ Removes a stamp for a given task diff --git a/poky/bitbake/lib/bb/cache.py b/poky/bitbake/lib/bb/cache.py index aea2b8bc1..27eb27179 100644 --- a/poky/bitbake/lib/bb/cache.py +++ b/poky/bitbake/lib/bb/cache.py @@ -126,6 +126,7 @@ class CoreRecipeInfo(RecipeInfoCommon): self.inherits = self.getvar('__inherit_cache', metadata, expand=False) self.fakerootenv = self.getvar('FAKEROOTENV', metadata) self.fakerootdirs = self.getvar('FAKEROOTDIRS', metadata) + self.fakerootlogs = self.getvar('FAKEROOTLOGS', metadata) self.fakerootnoenv = self.getvar('FAKEROOTNOENV', metadata) self.extradepsfunc = self.getvar('calculate_extra_depends', metadata) @@ -163,6 +164,7 @@ class CoreRecipeInfo(RecipeInfoCommon): cachedata.fakerootenv = {} cachedata.fakerootnoenv = {} cachedata.fakerootdirs = {} + cachedata.fakerootlogs = {} cachedata.extradepsfunc = {} def add_cacheData(self, cachedata, fn): @@ -231,6 +233,7 @@ class CoreRecipeInfo(RecipeInfoCommon): cachedata.fakerootenv[fn] = self.fakerootenv cachedata.fakerootnoenv[fn] = self.fakerootnoenv cachedata.fakerootdirs[fn] = self.fakerootdirs + cachedata.fakerootlogs[fn] = self.fakerootlogs cachedata.extradepsfunc[fn] = self.extradepsfunc def virtualfn2realfn(virtualfn): diff --git a/poky/bitbake/lib/bb/codeparser.py b/poky/bitbake/lib/bb/codeparser.py index 25a7ac69d..0cec452c0 100644 --- a/poky/bitbake/lib/bb/codeparser.py +++ b/poky/bitbake/lib/bb/codeparser.py @@ -212,9 +212,9 @@ class PythonParser(): funcstr = codegen.to_source(func) argstr = codegen.to_source(arg) except TypeError: - self.log.debug(2, 'Failed to convert function and argument to source form') + self.log.debug2('Failed to convert function and argument to source form') else: - self.log.debug(1, self.unhandled_message % (funcstr, argstr)) + self.log.debug(self.unhandled_message % (funcstr, argstr)) def visit_Call(self, node): name = self.called_node_name(node.func) @@ -450,7 +450,7 @@ class ShellParser(): cmd = word[1] if cmd.startswith("$"): - self.log.debug(1, self.unhandled_template % cmd) + self.log.debug(self.unhandled_template % cmd) elif cmd == "eval": command = " ".join(word for _, word in words[1:]) self._parse_shell(command) diff --git a/poky/bitbake/lib/bb/cooker.py b/poky/bitbake/lib/bb/cooker.py index f4ab797ed..39e10e613 100644 --- a/poky/bitbake/lib/bb/cooker.py +++ b/poky/bitbake/lib/bb/cooker.py @@ -502,22 +502,30 @@ class BBCooker: def showVersions(self): - (latest_versions, preferred_versions) = self.findProviders() + (latest_versions, preferred_versions, required) = self.findProviders() - logger.plain("%-35s %25s %25s", "Recipe Name", "Latest Version", "Preferred Version") - logger.plain("%-35s %25s %25s\n", "===========", "==============", "=================") + logger.plain("%-35s %25s %25s %25s", "Recipe Name", "Latest Version", "Preferred Version", "Required Version") + logger.plain("%-35s %25s %25s %25s\n", "===========", "==============", "=================", "================") for p in sorted(self.recipecaches[''].pkg_pn): - pref = preferred_versions[p] + preferred = preferred_versions[p] latest = latest_versions[p] + requiredstr = "" + preferredstr = "" + if required[p]: + if preferred[0] is not None: + requiredstr = preferred[0][0] + ":" + preferred[0][1] + '-' + preferred[0][2] + else: + bb.fatal("REQUIRED_VERSION of package %s not available" % p) + else: + preferredstr = preferred[0][0] + ":" + preferred[0][1] + '-' + preferred[0][2] - prefstr = pref[0][0] + ":" + pref[0][1] + '-' + pref[0][2] lateststr = latest[0][0] + ":" + latest[0][1] + "-" + latest[0][2] - if pref == latest: - prefstr = "" + if preferred == latest: + preferredstr = "" - logger.plain("%-35s %25s %25s", p, lateststr, prefstr) + logger.plain("%-35s %25s %25s %25s", p, lateststr, preferredstr, requiredstr) def showEnvironment(self, buildfile=None, pkgs_to_build=None): """ @@ -1063,10 +1071,16 @@ class BBCooker: if pn in self.recipecaches[mc].providers: filenames = self.recipecaches[mc].providers[pn] eligible, foundUnique = bb.providers.filterProviders(filenames, pn, self.databuilder.mcdata[mc], self.recipecaches[mc]) - filename = eligible[0] + if eligible is not None: + filename = eligible[0] + else: + filename = None return None, None, None, filename elif pn in self.recipecaches[mc].pkg_pn: - return bb.providers.findBestProvider(pn, self.databuilder.mcdata[mc], self.recipecaches[mc], self.recipecaches[mc].pkg_pn) + (latest, latest_f, preferred_ver, preferred_file, required) = bb.providers.findBestProvider(pn, self.databuilder.mcdata[mc], self.recipecaches[mc], self.recipecaches[mc].pkg_pn) + if required and preferred_file is None: + return None, None, None, None + return (latest, latest_f, preferred_ver, preferred_file) else: return None, None, None, None diff --git a/poky/bitbake/lib/bb/event.py b/poky/bitbake/lib/bb/event.py index 23e1f3187..0454c7533 100644 --- a/poky/bitbake/lib/bb/event.py +++ b/poky/bitbake/lib/bb/event.py @@ -118,7 +118,7 @@ def fire_class_handlers(event, d): if _eventfilter: if not _eventfilter(name, handler, event, d): continue - if d and not name in (d.getVar("__BBHANDLERS_MC") or []): + if d is not None and not name in (d.getVar("__BBHANDLERS_MC") or set()): continue execute_handler(name, handler, event, d) @@ -232,12 +232,16 @@ noop = lambda _: None def register(name, handler, mask=None, filename=None, lineno=None, data=None): """Register an Event handler""" - if data and data.getVar("BB_CURRENT_MC"): + if data is not None and data.getVar("BB_CURRENT_MC"): mc = data.getVar("BB_CURRENT_MC") name = '%s%s' % (mc.replace('-', '_'), name) # already registered if name in _handlers: + if data is not None: + bbhands_mc = (data.getVar("__BBHANDLERS_MC") or set()) + bbhands_mc.add(name) + data.setVar("__BBHANDLERS_MC", bbhands_mc) return AlreadyRegistered if handler is not None: @@ -274,16 +278,16 @@ def register(name, handler, mask=None, filename=None, lineno=None, data=None): _event_handler_map[m] = {} _event_handler_map[m][name] = True - if data: - bbhands_mc = (data.getVar("__BBHANDLERS_MC") or []) - bbhands_mc.append(name) + if data is not None: + bbhands_mc = (data.getVar("__BBHANDLERS_MC") or set()) + bbhands_mc.add(name) data.setVar("__BBHANDLERS_MC", bbhands_mc) return Registered def remove(name, handler, data=None): """Remove an Event handler""" - if data: + if data is not None: if data.getVar("BB_CURRENT_MC"): mc = data.getVar("BB_CURRENT_MC") name = '%s%s' % (mc.replace('-', '_'), name) @@ -295,8 +299,8 @@ def remove(name, handler, data=None): if name in _event_handler_map[event]: _event_handler_map[event].pop(name) - if data: - bbhands_mc = (data.getVar("__BBHANDLERS_MC") or []) + if data is not None: + bbhands_mc = (data.getVar("__BBHANDLERS_MC") or set()) if name in bbhands_mc: bbhands_mc.remove(name) data.setVar("__BBHANDLERS_MC", bbhands_mc) @@ -666,6 +670,17 @@ class ReachableStamps(Event): Event.__init__(self) self.stamps = stamps +class StaleSetSceneTasks(Event): + """ + An event listing setscene tasks which are 'stale' and will + be rerun. The metadata may use to clean up stale data. + tasks is a mapping of tasks and matching stale stamps. + """ + + def __init__(self, tasks): + Event.__init__(self) + self.tasks = tasks + class FilesMatchingFound(Event): """ Event when a list of files matching the supplied pattern has diff --git a/poky/bitbake/lib/bb/fetch2/__init__.py b/poky/bitbake/lib/bb/fetch2/__init__.py index 19169d780..cf0201c49 100644 --- a/poky/bitbake/lib/bb/fetch2/__init__.py +++ b/poky/bitbake/lib/bb/fetch2/__init__.py @@ -1243,7 +1243,7 @@ class FetchData(object): if checksum_name in self.parm: checksum_expected = self.parm[checksum_name] - elif self.type not in ["http", "https", "ftp", "ftps", "sftp", "s3"]: + elif self.type not in ["http", "https", "ftp", "ftps", "sftp", "s3", "az"]: checksum_expected = None else: checksum_expected = d.getVarFlag("SRC_URI", checksum_name) @@ -1908,6 +1908,7 @@ from . import repo from . import clearcase from . import npm from . import npmsw +from . import az methods.append(local.Local()) methods.append(wget.Wget()) @@ -1927,3 +1928,4 @@ methods.append(repo.Repo()) methods.append(clearcase.ClearCase()) methods.append(npm.Npm()) methods.append(npmsw.NpmShrinkWrap()) +methods.append(az.Az()) diff --git a/poky/bitbake/lib/bb/fetch2/az.py b/poky/bitbake/lib/bb/fetch2/az.py new file mode 100644 index 000000000..3ccc594c2 --- /dev/null +++ b/poky/bitbake/lib/bb/fetch2/az.py @@ -0,0 +1,93 @@ +""" +BitBake 'Fetch' Azure Storage implementation + +""" + +# Copyright (C) 2021 Alejandro Hernandez Samaniego +# +# Based on bb.fetch2.wget: +# Copyright (C) 2003, 2004 Chris Larson +# +# SPDX-License-Identifier: GPL-2.0-only +# +# Based on functions from the base bb module, Copyright 2003 Holger Schurig + +import shlex +import os +import bb +from bb.fetch2 import FetchError +from bb.fetch2 import logger +from bb.fetch2.wget import Wget + + +class Az(Wget): + + def supports(self, ud, d): + """ + Check to see if a given url can be fetched from Azure Storage + """ + return ud.type in ['az'] + + + def checkstatus(self, fetch, ud, d, try_again=True): + + # checkstatus discards parameters either way, we need to do this before adding the SAS + ud.url = ud.url.replace('az://','https://').split(';')[0] + + az_sas = d.getVar('AZ_SAS') + if az_sas and az_sas not in ud.url: + ud.url += az_sas + + return Wget.checkstatus(self, fetch, ud, d, try_again) + + # Override download method, include retries + def download(self, ud, d, retries=3): + """Fetch urls""" + + # If were reaching the account transaction limit we might be refused a connection, + # retrying allows us to avoid false negatives since the limit changes over time + fetchcmd = self.basecmd + ' --retry-connrefused --waitretry=5' + + # We need to provide a localpath to avoid wget using the SAS + # ud.localfile either has the downloadfilename or ud.path + localpath = os.path.join(d.getVar("DL_DIR"), ud.localfile) + bb.utils.mkdirhier(os.path.dirname(localpath)) + fetchcmd += " -O %s" % shlex.quote(localpath) + + + if ud.user and ud.pswd: + fetchcmd += " --user=%s --password=%s --auth-no-challenge" % (ud.user, ud.pswd) + + # Check if a Shared Access Signature was given and use it + az_sas = d.getVar('AZ_SAS') + + if az_sas: + azuri = '%s%s%s%s' % ('https://', ud.host, ud.path, az_sas) + else: + azuri = '%s%s%s' % ('https://', ud.host, ud.path) + + if os.path.exists(ud.localpath): + # file exists, but we didnt complete it.. trying again. + fetchcmd += d.expand(" -c -P ${DL_DIR} '%s'" % azuri) + else: + fetchcmd += d.expand(" -P ${DL_DIR} '%s'" % azuri) + + try: + self._runwget(ud, d, fetchcmd, False) + except FetchError as e: + # Azure fails on handshake sometimes when using wget after some stress, producing a + # FetchError from the fetcher, if the artifact exists retyring should succeed + if 'Unable to establish SSL connection' in str(e): + logger.debug2('Unable to establish SSL connection: Retries remaining: %s, Retrying...' % retries) + self.download(ud, d, retries -1) + + # Sanity check since wget can pretend it succeed when it didn't + # Also, this used to happen if sourceforge sent us to the mirror page + if not os.path.exists(ud.localpath): + raise FetchError("The fetch command returned success for url %s but %s doesn't exist?!" % (azuri, ud.localpath), azuri) + + if os.path.getsize(ud.localpath) == 0: + os.remove(ud.localpath) + raise FetchError("The fetch of %s resulted in a zero size file?! Deleting and failing since this isn't right." % (azuri), azuri) + + return True diff --git a/poky/bitbake/lib/bb/providers.py b/poky/bitbake/lib/bb/providers.py index b5a6cd009..3ec11a40e 100644 --- a/poky/bitbake/lib/bb/providers.py +++ b/poky/bitbake/lib/bb/providers.py @@ -38,16 +38,17 @@ def findProviders(cfgData, dataCache, pkg_pn = None): localdata = data.createCopy(cfgData) bb.data.expandKeys(localdata) + required = {} preferred_versions = {} latest_versions = {} for pn in pkg_pn: - (last_ver, last_file, pref_ver, pref_file) = findBestProvider(pn, localdata, dataCache, pkg_pn) + (last_ver, last_file, pref_ver, pref_file, req) = findBestProvider(pn, localdata, dataCache, pkg_pn) preferred_versions[pn] = (pref_ver, pref_file) latest_versions[pn] = (last_ver, last_file) + required[pn] = req - return (latest_versions, preferred_versions) - + return (latest_versions, preferred_versions, required) def allProviders(dataCache): """ @@ -59,7 +60,6 @@ def allProviders(dataCache): all_providers[pn].append((ver, fn)) return all_providers - def sortPriorities(pn, dataCache, pkg_pn = None): """ Reorder pkg_pn by file priority and default preference @@ -87,6 +87,21 @@ def sortPriorities(pn, dataCache, pkg_pn = None): return tmp_pn +def versionVariableMatch(cfgData, keyword, pn): + """ + Return the value of the _VERSION variable if set. + """ + + # pn can contain '_', e.g. gcc-cross-x86_64 and an override cannot + # hence we do this manually rather than use OVERRIDES + ver = cfgData.getVar("%s_VERSION_pn-%s" % (keyword, pn)) + if not ver: + ver = cfgData.getVar("%s_VERSION_%s" % (keyword, pn)) + if not ver: + ver = cfgData.getVar("%s_VERSION" % keyword) + + return ver + def preferredVersionMatch(pe, pv, pr, preferred_e, preferred_v, preferred_r): """ Check if the version pe,pv,pr is the preferred one. @@ -102,19 +117,28 @@ def preferredVersionMatch(pe, pv, pr, preferred_e, preferred_v, preferred_r): def findPreferredProvider(pn, cfgData, dataCache, pkg_pn = None, item = None): """ - Find the first provider in pkg_pn with a PREFERRED_VERSION set. + Find the first provider in pkg_pn with REQUIRED_VERSION or PREFERRED_VERSION set. """ preferred_file = None preferred_ver = None + required = False - # pn can contain '_', e.g. gcc-cross-x86_64 and an override cannot - # hence we do this manually rather than use OVERRIDES - preferred_v = cfgData.getVar("PREFERRED_VERSION_pn-%s" % pn) - if not preferred_v: - preferred_v = cfgData.getVar("PREFERRED_VERSION_%s" % pn) - if not preferred_v: - preferred_v = cfgData.getVar("PREFERRED_VERSION") + required_v = versionVariableMatch(cfgData, "REQUIRED", pn) + preferred_v = versionVariableMatch(cfgData, "PREFERRED", pn) + + itemstr = "" + if item: + itemstr = " (for item %s)" % item + + if required_v is not None: + if preferred_v is not None: + logger.warn("REQUIRED_VERSION and PREFERRED_VERSION for package %s%s are both set using REQUIRED_VERSION %s", pn, itemstr, required_v) + else: + logger.debug("REQUIRED_VERSION is set for package %s%s", pn, itemstr) + # REQUIRED_VERSION always takes precedence over PREFERRED_VERSION + preferred_v = required_v + required = True if preferred_v: m = re.match(r'(\d+:)*(.*)(_.*)*', preferred_v) @@ -147,11 +171,9 @@ def findPreferredProvider(pn, cfgData, dataCache, pkg_pn = None, item = None): pv_str = preferred_v if not (preferred_e is None): pv_str = '%s:%s' % (preferred_e, pv_str) - itemstr = "" - if item: - itemstr = " (for item %s)" % item if preferred_file is None: - logger.warn("preferred version %s of %s not available%s", pv_str, pn, itemstr) + if not required: + logger.warn("preferred version %s of %s not available%s", pv_str, pn, itemstr) available_vers = [] for file_set in pkg_pn: for f in file_set: @@ -164,11 +186,15 @@ def findPreferredProvider(pn, cfgData, dataCache, pkg_pn = None, item = None): if available_vers: available_vers.sort() logger.warn("versions of %s available: %s", pn, ' '.join(available_vers)) + if required: + logger.error("required version %s of %s not available%s", pv_str, pn, itemstr) else: - logger.debug("selecting %s as PREFERRED_VERSION %s of package %s%s", preferred_file, pv_str, pn, itemstr) - - return (preferred_ver, preferred_file) + if required: + logger.debug("selecting %s as REQUIRED_VERSION %s of package %s%s", preferred_file, pv_str, pn, itemstr) + else: + logger.debug("selecting %s as PREFERRED_VERSION %s of package %s%s", preferred_file, pv_str, pn, itemstr) + return (preferred_ver, preferred_file, required) def findLatestProvider(pn, cfgData, dataCache, file_set): """ @@ -189,7 +215,6 @@ def findLatestProvider(pn, cfgData, dataCache, file_set): return (latest, latest_f) - def findBestProvider(pn, cfgData, dataCache, pkg_pn = None, item = None): """ If there is a PREFERRED_VERSION, find the highest-priority bbfile @@ -198,17 +223,16 @@ def findBestProvider(pn, cfgData, dataCache, pkg_pn = None, item = None): """ sortpkg_pn = sortPriorities(pn, dataCache, pkg_pn) - # Find the highest priority provider with a PREFERRED_VERSION set - (preferred_ver, preferred_file) = findPreferredProvider(pn, cfgData, dataCache, sortpkg_pn, item) + # Find the highest priority provider with a REQUIRED_VERSION or PREFERRED_VERSION set + (preferred_ver, preferred_file, required) = findPreferredProvider(pn, cfgData, dataCache, sortpkg_pn, item) # Find the latest version of the highest priority provider (latest, latest_f) = findLatestProvider(pn, cfgData, dataCache, sortpkg_pn[0]) - if preferred_file is None: + if not required and preferred_file is None: preferred_file = latest_f preferred_ver = latest - return (latest, latest_f, preferred_ver, preferred_file) - + return (latest, latest_f, preferred_ver, preferred_file, required) def _filterProviders(providers, item, cfgData, dataCache): """ @@ -234,10 +258,13 @@ def _filterProviders(providers, item, cfgData, dataCache): logger.debug("providers for %s are: %s", item, list(sorted(pkg_pn.keys()))) - # First add PREFERRED_VERSIONS + # First add REQUIRED_VERSIONS or PREFERRED_VERSIONS for pn in sorted(pkg_pn): sortpkg_pn[pn] = sortPriorities(pn, dataCache, pkg_pn) - preferred_versions[pn] = findPreferredProvider(pn, cfgData, dataCache, sortpkg_pn[pn], item) + preferred_ver, preferred_file, required = findPreferredProvider(pn, cfgData, dataCache, sortpkg_pn[pn], item) + if required and preferred_file is None: + return eligible + preferred_versions[pn] = (preferred_ver, preferred_file) if preferred_versions[pn][1]: eligible.append(preferred_versions[pn][1]) @@ -249,7 +276,6 @@ def _filterProviders(providers, item, cfgData, dataCache): eligible.append(preferred_versions[pn][1]) if not eligible: - logger.error("no eligible providers for %s", item) return eligible # If pn == item, give it a slight default preference @@ -266,7 +292,6 @@ def _filterProviders(providers, item, cfgData, dataCache): return eligible - def filterProviders(providers, item, cfgData, dataCache): """ Take a list of providers and filter/reorder according to the @@ -388,7 +413,6 @@ def getRuntimeProviders(dataCache, rdepend): return rproviders - def buildWorldTargetList(dataCache, task=None): """ Build package list for "bitbake world" diff --git a/poky/bitbake/lib/bb/runqueue.py b/poky/bitbake/lib/bb/runqueue.py index 54ef245a6..80d7f6ca6 100644 --- a/poky/bitbake/lib/bb/runqueue.py +++ b/poky/bitbake/lib/bb/runqueue.py @@ -1242,6 +1242,7 @@ class RunQueue: magic = "decafbad" if self.cooker.configuration.profile: magic = "decafbadbad" + fakerootlogs = None if fakeroot: magic = magic + "beef" mcdata = self.cooker.databuilder.mcdata[mc] @@ -1251,10 +1252,11 @@ class RunQueue: for key, value in (var.split('=') for var in fakerootenv): env[key] = value worker = subprocess.Popen(fakerootcmd + ["bitbake-worker", magic], stdout=subprocess.PIPE, stdin=subprocess.PIPE, env=env) + fakerootlogs = self.rqdata.dataCaches[mc].fakerootlogs else: worker = subprocess.Popen(["bitbake-worker", magic], stdout=subprocess.PIPE, stdin=subprocess.PIPE) bb.utils.nonblockingfd(worker.stdout) - workerpipe = runQueuePipe(worker.stdout, None, self.cfgData, self, rqexec) + workerpipe = runQueuePipe(worker.stdout, None, self.cfgData, self, rqexec, fakerootlogs=fakerootlogs) workerdata = { "taskdeps" : self.rqdata.dataCaches[mc].task_deps, @@ -1772,7 +1774,7 @@ class RunQueueExecute: self.sqdata = SQData() build_scenequeue_data(self.sqdata, self.rqdata, self.rq, self.cooker, self.stampcache, self) - def runqueue_process_waitpid(self, task, status): + def runqueue_process_waitpid(self, task, status, fakerootlog=None): # self.build_stamps[pid] may not exist when use shared work directory. if task in self.build_stamps: @@ -1787,7 +1789,7 @@ class RunQueueExecute: self.sq_live.remove(task) else: if status != 0: - self.task_fail(task, status) + self.task_fail(task, status, fakerootlog=fakerootlog) else: self.task_complete(task) return True @@ -1908,14 +1910,31 @@ class RunQueueExecute: self.task_completeoutright(task) self.runq_tasksrun.add(task) - def task_fail(self, task, exitcode): + def task_fail(self, task, exitcode, fakerootlog=None): """ Called when a task has failed Updates the state engine with the failure """ self.stats.taskFailed() self.failed_tids.append(task) - bb.event.fire(runQueueTaskFailed(task, self.stats, exitcode, self.rq), self.cfgData) + + fakeroot_log = "" + if fakerootlog and os.path.exists(fakerootlog): + with open(fakerootlog) as fakeroot_log_file: + fakeroot_failed = False + for line in reversed(fakeroot_log_file.readlines()): + for fakeroot_error in ['mismatch', 'error', 'fatal']: + if fakeroot_error in line.lower(): + fakeroot_failed = True + if 'doing new pid setup and server start' in line: + break + fakeroot_log = line + fakeroot_log + + if not fakeroot_failed: + fakeroot_log = None + + bb.event.fire(runQueueTaskFailed(task, self.stats, exitcode, self.rq, fakeroot_log=fakeroot_log), self.cfgData) + if self.rqdata.taskData[''].abort: self.rq.state = runQueueCleanUp @@ -1943,6 +1962,10 @@ class RunQueueExecute: logger.error("Scenequeue had holdoff tasks: %s" % pprint.pformat(self.holdoff_tasks)) err = True + for tid in self.scenequeue_covered.intersection(self.scenequeue_notcovered): + # No task should end up in both covered and uncovered, that is a bug. + logger.error("Setscene task %s in both covered and notcovered." % tid) + for tid in self.rqdata.runq_setscene_tids: if tid not in self.scenequeue_covered and tid not in self.scenequeue_notcovered: err = True @@ -2431,6 +2454,9 @@ class RunQueueExecute: for dep in sorted(self.sqdata.sq_deps[task]): if fail and task in self.sqdata.sq_harddeps and dep in self.sqdata.sq_harddeps[task]: + if dep in self.scenequeue_covered or dep in self.scenequeue_notcovered: + # dependency could be already processed, e.g. noexec setscene task + continue logger.debug2("%s was unavailable and is a hard dependency of %s so skipping" % (task, dep)) self.sq_task_failoutright(dep) continue @@ -2755,6 +2781,20 @@ def build_scenequeue_data(sqdata, rqdata, rq, cooker, stampcache, sqrq): update_scenequeue_data(sqdata.sq_revdeps, sqdata, rqdata, rq, cooker, stampcache, sqrq, summary=True) + # Compute a list of 'stale' sstate tasks where the current hash does not match the one + # in any stamp files. Pass the list out to metadata as an event. + found = {} + for tid in rqdata.runq_setscene_tids: + (mc, fn, taskname, taskfn) = split_tid_mcfn(tid) + stamps = bb.build.find_stale_stamps(taskname, rqdata.dataCaches[mc], taskfn) + if stamps: + if mc not in found: + found[mc] = {} + found[mc][tid] = stamps + for mc in found: + event = bb.event.StaleSetSceneTasks(found[mc]) + bb.event.fire(event, cooker.databuilder.mcdata[mc]) + def update_scenequeue_data(tids, sqdata, rqdata, rq, cooker, stampcache, sqrq, summary=True): tocheck = set() @@ -2876,12 +2916,16 @@ class runQueueTaskFailed(runQueueEvent): """ Event notifying a task failed """ - def __init__(self, task, stats, exitcode, rq): + def __init__(self, task, stats, exitcode, rq, fakeroot_log=None): runQueueEvent.__init__(self, task, stats, rq) self.exitcode = exitcode + self.fakeroot_log = fakeroot_log def __str__(self): - return "Task (%s) failed with exit code '%s'" % (self.taskstring, self.exitcode) + if self.fakeroot_log: + return "Task (%s) failed with exit code '%s' \nPseudo log:\n%s" % (self.taskstring, self.exitcode, self.fakeroot_log) + else: + return "Task (%s) failed with exit code '%s'" % (self.taskstring, self.exitcode) class sceneQueueTaskFailed(sceneQueueEvent): """ @@ -2933,7 +2977,7 @@ class runQueuePipe(): """ Abstraction for a pipe between a worker thread and the server """ - def __init__(self, pipein, pipeout, d, rq, rqexec): + def __init__(self, pipein, pipeout, d, rq, rqexec, fakerootlogs=None): self.input = pipein if pipeout: pipeout.close() @@ -2942,6 +2986,7 @@ class runQueuePipe(): self.d = d self.rq = rq self.rqexec = rqexec + self.fakerootlogs = fakerootlogs def setrunqueueexec(self, rqexec): self.rqexec = rqexec @@ -2987,7 +3032,11 @@ class runQueuePipe(): task, status = pickle.loads(self.queue[10:index]) except (ValueError, pickle.UnpicklingError, AttributeError, IndexError) as e: bb.msg.fatal("RunQueue", "failed load pickle '%s': '%s'" % (e, self.queue[10:index])) - self.rqexec.runqueue_process_waitpid(task, status) + (_, _, _, taskfn) = split_tid_mcfn(task) + fakerootlog = None + if self.fakerootlogs and taskfn and taskfn in self.fakerootlogs: + fakerootlog = self.fakerootlogs[taskfn] + self.rqexec.runqueue_process_waitpid(task, status, fakerootlog=fakerootlog) found = True self.queue = self.queue[index+11:] index = self.queue.find(b"") diff --git a/poky/bitbake/lib/bb/tests/color.py b/poky/bitbake/lib/bb/tests/color.py index bf03750c6..88dd27800 100644 --- a/poky/bitbake/lib/bb/tests/color.py +++ b/poky/bitbake/lib/bb/tests/color.py @@ -31,7 +31,7 @@ class ColorCodeTests(unittest.TestCase): def setUp(self): self.d = bb.data.init() self._progress_watcher = ProgressWatcher() - bb.event.register("bb.build.TaskProgress", self._progress_watcher.handle_event) + bb.event.register("bb.build.TaskProgress", self._progress_watcher.handle_event, data=self.d) def tearDown(self): bb.event.remove("bb.build.TaskProgress", None) diff --git a/poky/bitbake/lib/bb/tests/fetch.py b/poky/bitbake/lib/bb/tests/fetch.py index 7b2dac7b8..ddf6e9743 100644 --- a/poky/bitbake/lib/bb/tests/fetch.py +++ b/poky/bitbake/lib/bb/tests/fetch.py @@ -1345,7 +1345,7 @@ class FetchCheckStatusTest(FetcherTest): "http://downloads.yoctoproject.org/releases/sato/sato-engine-0.2.tar.gz", "http://downloads.yoctoproject.org/releases/sato/sato-engine-0.3.tar.gz", "https://yoctoproject.org/", - "https://yoctoproject.org/documentation", + "https://docs.yoctoproject.org", "http://downloads.yoctoproject.org/releases/opkg/opkg-0.1.7.tar.gz", "http://downloads.yoctoproject.org/releases/opkg/opkg-0.3.0.tar.gz", "ftp://sourceware.org/pub/libffi/libffi-1.20.tar.gz", diff --git a/poky/bitbake/lib/bb/tinfoil.py b/poky/bitbake/lib/bb/tinfoil.py index 763c32981..796a98f05 100644 --- a/poky/bitbake/lib/bb/tinfoil.py +++ b/poky/bitbake/lib/bb/tinfoil.py @@ -440,7 +440,7 @@ class Tinfoil: to initialise Tinfoil and use it with config_only=True first and then conditionally call this function to parse recipes later. """ - config_params = TinfoilConfigParameters(config_only=False) + config_params = TinfoilConfigParameters(config_only=False, quiet=self.quiet) self.run_actions(config_params) self.recipes_parsed = True diff --git a/poky/bitbake/lib/bblayers/query.py b/poky/bitbake/lib/bblayers/query.py index f5e3c8474..947422a72 100644 --- a/poky/bitbake/lib/bblayers/query.py +++ b/poky/bitbake/lib/bblayers/query.py @@ -128,7 +128,7 @@ skipped recipes will also be listed, with a " (skipped)" suffix. sys.exit(1) pkg_pn = self.tinfoil.cooker.recipecaches[mc].pkg_pn - (latest_versions, preferred_versions) = self.tinfoil.find_providers(mc) + (latest_versions, preferred_versions, required_versions) = self.tinfoil.find_providers(mc) allproviders = self.tinfoil.get_all_providers(mc) # Ensure we list skipped recipes diff --git a/poky/documentation/README b/poky/documentation/README index be03bb119..159ec9460 100644 --- a/poky/documentation/README +++ b/poky/documentation/README @@ -47,7 +47,7 @@ Folders exist for individual manuals as follows: Each folder is self-contained regarding content and figures. If you want to find HTML versions of the Yocto Project manuals on the web, -go to https://www.yoctoproject.org and click on the "Documentation" tab. From +go to https://www.yoctoproject.org and click on the "Docs" tab. From there you have access to archived documentation from previous releases, current documentation for the latest release, and "Docs in Progress" for the release currently being developed. @@ -91,13 +91,13 @@ Yocto Project documentation website A new website has been created to host the Yocto Project documentation, it can be found at: https://docs.yoctoproject.org/. -The entire Yocto Project documentation, as well as the BitBake manual +The entire Yocto Project documentation, as well as the BitBake manual, is published on this website, including all previously released versions. A version switcher was added, as a drop-down menu on the top of the page to switch back and forth between the various versions of the current active Yocto Project releases. -Transition pages have been added (as rst file) to show links to old +Transition pages have been added (as rst files) to show links to old versions of the Yocto Project documentation with links to each manual generated with DocBook. @@ -109,7 +109,7 @@ obvious reasons, we will only support building the Yocto Project documentation with Python3. Sphinx might be available in your Linux distro packages repositories, -however it is not recommend using distro packages, as they might be +however it is not recommend to use distro packages, as they might be old versions, especially if you are using an LTS version of your distro. The recommended method to install Sphinx and all required dependencies is to use the Python Package Index (pip). @@ -185,7 +185,7 @@ Sphinx has a glossary directive. From https://www.sphinx-doc.org/en/master/usage/restructuredtext/directives.html#glossary: This directive must contain a reST definition list with terms and - definitions. The definitions will then be referencable with the + definitions. It's then possible to refer to each definition through the [https://www.sphinx-doc.org/en/master/usage/restructuredtext/roles.html#role-term 'term' role]. @@ -206,7 +206,7 @@ however there are important shortcomings. For example they cannot be used/nested inside code-block sections. A Sphinx extension was implemented to support variable substitutions -to mimic the DocBook based documentation behavior. Variabes +to mimic the DocBook based documentation behavior. Variable substitutions are done while reading/parsing the .rst files. The pattern for variables substitutions is the same as with DocBook, e.g. `&VAR;`. @@ -222,7 +222,7 @@ For example, the following .rst content will produce the 'expected' content: .. code-block:: - $ mkdir ~/poky-&DISTRO; + $ mkdir poky-&DISTRO; or $ git clone &YOCTO_GIT_URL;/git/poky -b &DISTRO_NAME_NO_CAP; @@ -237,14 +237,14 @@ Note directive Sphinx has a builtin 'note' directive that produces clean Note section in the output file. There are various types of directives such as "attention", "caution", "danger", "error", "hint", "important", "tip", -"warning", "admonition" that are supported, and additional directive +"warning", "admonition" that are supported, and additional directives can be added as Sphinx extension if needed. Figures ======= The Yocto Project documentation has many figures/images. Sphinx has a -'figure' directive which is straight forward to use. To include a +'figure' directive which is straightforward to use. To include a figure in the body of the documentation: .. image:: figures/YP-flow-diagram.png @@ -262,7 +262,7 @@ https://sublime-and-sphinx-guide.readthedocs.io/en/latest/references.html. References ========== -The following extension is enabed by default: +The following extension is enabled by default: sphinx.ext.autosectionlabel (https://www.sphinx-doc.org/en/master/usage/extensions/autosectionlabel.html). @@ -271,7 +271,7 @@ autosectionlabel_prefix_document is enabled by default, so that we can insert references from any document. For example, to insert an HTML link to a section from -documentaion/manual/intro.rst, use: +documentation/manual/intro.rst, use: Please check this :ref:`manual/intro:Cross-References to Locations in the Same Document` @@ -294,7 +294,8 @@ Extlinks The sphinx.ext.extlinks extension is enabled by default (https://sublime-and-sphinx-guide.readthedocs.io/en/latest/references.html#use-the-external-links-extension), -and it is configured with: +and it is configured with the 'extlinks' definitions in +the 'documentation/conf.py' file: 'yocto_home': ('https://yoctoproject.org%s', None), 'yocto_wiki': ('https://wiki.yoctoproject.org%s', None), @@ -306,6 +307,10 @@ and it is configured with: 'yocto_git': ('https://git.yoctoproject.org%s', None), 'oe_home': ('https://www.openembedded.org%s', None), 'oe_lists': ('https://lists.openembedded.org%s', None), + 'oe_git': ('https://git.openembedded.org%s', None), + 'oe_wiki': ('https://www.openembedded.org/wiki%s', None), + 'oe_layerindex': ('https://layers.openembedded.org%s', None), + 'oe_layer': ('https://layers.openembedded.org/layerindex/branch/master/layer%s', None), It creates convenient shortcuts which can be used throughout the documentation rst files, as: diff --git a/poky/documentation/brief-yoctoprojectqs/index.rst b/poky/documentation/brief-yoctoprojectqs/index.rst index 63083cb13..4ac222c7e 100644 --- a/poky/documentation/brief-yoctoprojectqs/index.rst +++ b/poky/documentation/brief-yoctoprojectqs/index.rst @@ -176,7 +176,7 @@ an entire Linux distribution, including the toolchain, from source. .. code-block:: shell - $ cd ~/poky + $ cd poky $ source oe-init-build-env You had no conf/local.conf file. This configuration file has therefore been created for you with some default values. You may wish to edit it to, for @@ -189,7 +189,7 @@ an entire Linux distribution, including the toolchain, from source. The Yocto Project has extensive documentation about OE including a reference manual which can be found at: - http://yoctoproject.org/documentation + https://docs.yoctoproject.org For more information about OpenEmbedded see their website: http://www.openembedded.org/ @@ -293,7 +293,7 @@ Follow these steps to add a hardware layer: .. code-block:: shell - $ cd ~/poky + $ cd poky $ git clone https://github.com/kraj/meta-altera.git Cloning into 'meta-altera'... remote: Counting objects: 25170, done. @@ -337,7 +337,7 @@ Follow these steps to add a hardware layer: .. code-block:: shell - $ cd ~/poky/build + $ cd poky/build $ bitbake-layers add-layer ../meta-altera NOTE: Starting bitbake server... Parsing recipes: 100% |##################################################################| Time: 0:00:32 @@ -374,7 +374,7 @@ The following commands run the tool to create a layer named .. code-block:: shell - $ cd ~/poky + $ cd poky $ bitbake-layers create-layer meta-mylayer NOTE: Starting bitbake server... Add your new layer with 'bitbake-layers add-layer meta-mylayer' diff --git a/poky/documentation/dev-manual/common-tasks.rst b/poky/documentation/dev-manual/common-tasks.rst index 65db4aed3..4313d905c 100644 --- a/poky/documentation/dev-manual/common-tasks.rst +++ b/poky/documentation/dev-manual/common-tasks.rst @@ -3007,7 +3007,7 @@ The following steps describe how to set up the AUH utility: running the AUH utility: :: - $ cd ~/poky + $ cd poky $ source oe-init-build-env your_AUH_build_directory Re-using an existing build directory and its configurations is not @@ -5908,7 +5908,7 @@ the existing kernel, and then inserts a new kernel: $ wic help ls - The following command shows what is in Partition one: + The following command shows what is in partition one: :: $ wic ls tmp/deploy/images/qemux86/core-image-minimal-qemux86.wic:1 @@ -5956,8 +5956,8 @@ the existing kernel, and then inserts a new kernel: kernel: :: - cp ~/poky_sdk/tmp/work/qemux86-poky-linux/linux-yocto/4.12.12+git999-r0/linux-yocto-4.12.12+git999/arch/x86/boot/bzImage \ - ~/poky/build/tmp/deploy/images/qemux86/core-image-minimal-qemux86.wic:1/vmlinuz + $ wic cp poky_sdk/tmp/work/qemux86-poky-linux/linux-yocto/4.12.12+git999-r0/linux-yocto-4.12.12+git999/arch/x86/boot/bzImage \ + poky/build/tmp/deploy/images/qemux86/core-image-minimal-qemux86.wic:1/vmlinuz Once the new kernel is added back into the image, you can use the ``dd`` command or :ref:`bmaptool @@ -6956,7 +6956,7 @@ variable to specify the format: 1. Open the ``local.conf`` file inside your :term:`Build Directory` (e.g. - ``~/poky/build/conf/local.conf``). + ``poky/build/conf/local.conf``). 2. Select the desired package format as follows: :: @@ -7048,11 +7048,11 @@ From within the build directory where you have built an image based on your packaging choice (i.e. the :term:`PACKAGE_CLASSES` setting), simply start the server. The following example assumes a build -directory of ``~/poky/build/tmp/deploy/rpm`` and a ``PACKAGE_CLASSES`` +directory of ``poky/build/tmp/deploy/rpm`` and a ``PACKAGE_CLASSES`` setting of "package_rpm": :: - $ cd ~/poky/build/tmp/deploy/rpm + $ cd poky/build/tmp/deploy/rpm $ python3 -m http.server Target Setup @@ -8409,7 +8409,7 @@ that queries the Git repository and prints just the differences that might be significant in human-readable form. Here is an example: :: - $ ~/poky/poky/scripts/buildhistory-diff . HEAD^ + $ poky/poky/scripts/buildhistory-diff . HEAD^ Changes to images/qemux86_64/glibc/core-image-minimal (files-in-image.txt): /etc/anotherpkg.conf was added /sbin/anotherpkg was added @@ -10023,7 +10023,52 @@ before starting the debugging process. These extra computations place more load on the target system and can alter the characteristics of the program being debugged. -To help get past the previously mentioned constraints, you can use +To help get past the previously mentioned constraints, there are two +methods you can use: running a debuginfod server and using gdbserver. + +Using the debuginfod server method +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +"debuginfod" from "elfutils" is a way to distribute "debuginfo" files. +Running a "debuginfod" server makes debug symbols readily available, +which means you don't need to download debugging information +and the binaries of the process being debugged. You can just fetch +debug symbols from the server. + +To run a debuginfod server, you need to do the following: + +- Ensure that this variable is set in your ``local.conf`` file: + :: + + PACKAGECONFIG_pn-elfutils-native = "debuginfod libdebuginfod" + + This :term:`PACKAGECONFIG` option enables debuginfod and libdebuginfod for + "elfutils-native". + +- Run the following commands to set up the "debuginfod" server: + :: + + $ oe-debuginfod + + +To use debuginfod on the target, you need the following: + +- Ensure that this variable is set in your ``local.conf`` file: + :: + + DEBUGINFOD_URLS = "http://localhost:8002/" + + This :term:`DEBUGINFOD_URLS` option does the client configuration. + + :: + + PACKAGECONFIG_pn-gdb = "debuginfod" + + This :term:`PACKAGECONFIG` option enables "debuginfod" for "gdb". + +Using the gdbserver method +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + gdbserver, which runs on the remote target and does not load any debugging information from the debugged process. Instead, a GDB instance processes the debugging information that is run on a remote computer - @@ -10738,7 +10783,7 @@ been followed: are ``create-pull-request`` and ``send-pull-request``. You can find these scripts in the ``scripts`` directory within the :term:`Source Directory` (e.g. - ``~/poky/scripts``). + ``poky/scripts``). Using these scripts correctly formats the requests without introducing any whitespace or HTML formatting. The maintainer that @@ -10752,7 +10797,7 @@ been followed: line in the created patch files: :: - $ ~/poky/scripts/create-pull-request -u meta-intel-contrib -s "Updated Manual Section Reference in README" + $ poky/scripts/create-pull-request -u meta-intel-contrib -s "Updated Manual Section Reference in README" Running this script forms ``*.patch`` files in a folder named ``pull-``\ `PID` in the current directory. One of the patch files is a @@ -10766,7 +10811,7 @@ been followed: list: :: - $ ~/poky/scripts/send-pull-request -p ~/meta-intel/pull-10565 -t meta-intel@yoctoproject.org + $ poky/scripts/send-pull-request -p ~/meta-intel/pull-10565 -t meta-intel@yoctoproject.org You need to follow the prompts as the script is interactive. diff --git a/poky/documentation/dev-manual/qemu.rst b/poky/documentation/dev-manual/qemu.rst index 766691b97..c6bb9e977 100644 --- a/poky/documentation/dev-manual/qemu.rst +++ b/poky/documentation/dev-manual/qemu.rst @@ -58,7 +58,7 @@ available. Follow these general steps to run QEMU: environment script (i.e. :ref:`structure-core-script`): :: - $ cd ~/poky + $ cd poky $ source oe-init-build-env - If you installed a cross-toolchain, you can run the script that @@ -66,7 +66,7 @@ available. Follow these general steps to run QEMU: the initialization script from the default ``poky_sdk`` directory: :: - . ~/poky_sdk/environment-setup-core2-64-poky-linux + . poky_sdk/environment-setup-core2-64-poky-linux 3. *Ensure the Artifacts are in Place:* You need to be sure you have a pre-built kernel that will boot in QEMU. You also need the target diff --git a/poky/documentation/dev-manual/start.rst b/poky/documentation/dev-manual/start.rst index 03061a79f..efe369c75 100644 --- a/poky/documentation/dev-manual/start.rst +++ b/poky/documentation/dev-manual/start.rst @@ -768,7 +768,7 @@ Follow these steps to create a local version of the upstream exists on your system and by default, it is checked out: :: - $ cd ~/poky + $ cd poky $ git status On branch master Your branch is up-to-date with 'origin/master'. diff --git a/poky/documentation/kernel-dev/common.rst b/poky/documentation/kernel-dev/common.rst index 58adcc9b7..0e545d1b8 100644 --- a/poky/documentation/kernel-dev/common.rst +++ b/poky/documentation/kernel-dev/common.rst @@ -57,7 +57,7 @@ section: the build environment script (i.e. :ref:`structure-core-script`): :: - $ cd ~/poky + $ cd poky $ source oe-init-build-env .. note:: @@ -74,7 +74,7 @@ section: ``MACHINE`` variable appropriately in your ``conf/local.conf`` file found in the :term:`Build Directory` (i.e. - ``~/poky/build`` in this example). + ``poky/build`` in this example). Also, since you are preparing to work on the kernel image, you need to set the @@ -94,7 +94,7 @@ section: ``bitbake-layers create-layer`` command as follows: :: - $ cd ~/poky/build + $ cd poky/build $ bitbake-layers create-layer ../../meta-mylayer NOTE: Starting bitbake server... Add your new layer with 'bitbake-layers add-layer ../../meta-mylayer' @@ -119,7 +119,7 @@ section: ``bblayers.conf`` file as follows: :: - $ cd ~/poky/build + $ cd poky/build $ bitbake-layers add-layer ../../meta-mylayer NOTE: Starting bitbake server... $ @@ -128,7 +128,7 @@ section: specifically for use with images to be run using QEMU: :: - $ cd ~/poky/build + $ cd poky/build $ bitbake core-image-minimal -c populate_sdk_ext Once @@ -136,21 +136,21 @@ section: ``*.sh`` file) in the following directory: :: - ~/poky/build/tmp/deploy/sdk + poky/build/tmp/deploy/sdk For this example, the installer file is named ``poky-glibc-x86_64-core-image-minimal-i586-toolchain-ext-&DISTRO;.sh``. 6. *Install the Extensible SDK:* Use the following command to install the SDK. For this example, install the SDK in the default - ``~/poky_sdk`` directory: + ``poky_sdk`` directory: :: - $ cd ~/poky/build/tmp/deploy/sdk + $ cd poky/build/tmp/deploy/sdk $ ./poky-glibc-x86_64-core-image-minimal-i586-toolchain-ext-&DISTRO;.sh Poky (Yocto Project Reference Distro) Extensible SDK installer version &DISTRO; ============================================================================ - Enter target directory for SDK (default: ~/poky_sdk): + Enter target directory for SDK (default: poky_sdk): You are about to install the SDK to "/home/scottrif/poky_sdk". Proceed [Y/n]? Y Extracting SDK......................................done Setting it up... @@ -175,7 +175,7 @@ section: directed by the output from installing the SDK: :: - $ source ~/poky_sdk/environment-setup-i586-poky-linux + $ source poky_sdk/environment-setup-i586-poky-linux "SDK environment now set up; additionally you may now run devtool to perform development tasks. Run devtool --help for further details. @@ -240,7 +240,7 @@ section: section in the Yocto Project Development Tasks Manual. :: - $ cd ~/poky + $ cd poky $ git branch master * &DISTRO_NAME_NO_CAP; @@ -260,7 +260,7 @@ section: ``MACHINE`` variable appropriately in your ``conf/local.conf`` file found in the :term:`Build Directory` (i.e. - ``~/poky/build`` in this example). + ``poky/build`` in this example). Also, since you are preparing to work on the kernel image, you need to set the @@ -280,7 +280,7 @@ section: ``bitbake-layers create-layer`` command as follows: :: - $ cd ~/poky/build + $ cd poky/build $ bitbake-layers create-layer ../../meta-mylayer NOTE: Starting bitbake server... Add your new layer with 'bitbake-layers add-layer ../../meta-mylayer' @@ -304,7 +304,7 @@ section: ``bblayers.conf`` file as follows: :: - $ cd ~/poky/build + $ cd poky/build $ bitbake-layers add-layer ../../meta-mylayer NOTE: Starting bitbake server ... $ @@ -398,7 +398,6 @@ home directory: 1. *Create Structure*: Create the layer's structure: :: - $ cd $HOME $ mkdir meta-mylayer $ mkdir meta-mylayer/conf $ mkdir meta-mylayer/recipes-kernel @@ -819,12 +818,12 @@ the ":ref:`kernel-dev/common:getting ready to develop using \`\`devtool\`\``" Se 1. *Change the working directory*: In the previous step, the output noted where you can find the source files (e.g. - ``~/poky_sdk/workspace/sources/linux-yocto``). Change to where the + ``poky_sdk/workspace/sources/linux-yocto``). Change to where the kernel source code is before making your edits to the ``calibrate.c`` file: :: - $ cd ~/poky_sdk/workspace/sources/linux-yocto + $ cd poky_sdk/workspace/sources/linux-yocto 2. *Edit the source file*: Edit the ``init/calibrate.c`` file to have the following changes: @@ -896,7 +895,7 @@ the ":ref:`kernel-dev/common:getting ready to develop using \`\`devtool\`\``" Se and use these Git commands to stage and commit your changes: :: - $ cd ~/poky_sdk/workspace/sources/linux-yocto + $ cd poky_sdk/workspace/sources/linux-yocto $ git status $ git add init/calibrate.c $ git commit -m "calibrate: Add printk example" @@ -926,7 +925,7 @@ the ":ref:`kernel-dev/common:getting ready to develop using \`\`devtool\`\``" Se set up to run BitBake: :: - $ cd ~/poky/build + $ cd poky/build $ bitbake core-image-minimal Using Traditional Kernel Development to Patch the Kernel @@ -1015,7 +1014,7 @@ Section. to the following to your ``local.conf``: :: - $ cd ~/poky/build/conf + $ cd poky/build/conf Add the following to the ``local.conf``: :: @@ -1037,7 +1036,7 @@ Section. you can now use BitBake to build the image: :: - $ cd ~/poky/build + $ cd poky/build $ bitbake core-image-minimal 5. *Boot the image*: Boot the modified image in the QEMU emulator using @@ -1045,7 +1044,7 @@ Section. with no password: :: - $ cd ~/poky/build + $ cd poky/build $ runqemu qemux86 6. *Look for Your Changes:* As QEMU booted, you might have seen your @@ -1119,7 +1118,7 @@ Section. the following sequence of commands: :: - $ cd ~/poky/build + $ cd poky/build $ bitbake -c cleanall yocto-linux $ bitbake core-image-minimal -c cleanall $ bitbake core-image-minimal @@ -1172,7 +1171,7 @@ environment, you must do the following: The following commands initialize the BitBake environment, run the :ref:`ref-tasks-kernel_configme` task, and launch ``menuconfig``. These commands assume the Source -Directory's top-level folder is ``~/poky``: +Directory's top-level folder is ``poky``: :: $ cd poky diff --git a/poky/documentation/ref-manual/terms.rst b/poky/documentation/ref-manual/terms.rst index bf4614887..32bb75b27 100644 --- a/poky/documentation/ref-manual/terms.rst +++ b/poky/documentation/ref-manual/terms.rst @@ -28,7 +28,7 @@ universal, the list includes them just in case: to allow for matching recipe names. For example, suppose you have an append file named as follows: :: - + busybox_1.21.%.bbappend That append file @@ -76,7 +76,7 @@ universal, the list includes them just in case: .. code-block:: shell - $ cd $HOME/poky + $ cd poky $ source oe-init-build-env - Create the Build Directory inside your home directory and @@ -84,19 +84,16 @@ universal, the list includes them just in case: .. code-block:: shell - $ cd $HOME $ source poky/oe-init-build-env test-builds - Provide a directory path and specifically name the Build Directory. Any intermediate folders in the pathname must exist. This next example creates a Build Directory named - ``YP-&POKYVERSION;`` in your home directory within the existing - directory ``mybuilds``: + ``YP-&POKYVERSION;`` within the existing directory ``mybuilds``: .. code-block:: shell - $ cd $HOME - $ source $HOME/poky/oe-init-build-env $HOME/mybuilds/YP-&POKYVERSION; + $ source poky/oe-init-build-env mybuilds/YP-&POKYVERSION; .. note:: diff --git a/poky/documentation/ref-manual/variables.rst b/poky/documentation/ref-manual/variables.rst index 2cb37b6a2..0310429bd 100644 --- a/poky/documentation/ref-manual/variables.rst +++ b/poky/documentation/ref-manual/variables.rst @@ -270,6 +270,18 @@ system and gives an overview of their function and contents. ":ref:`Basic Syntax `" section in the BitBake User Manual for more information. + :term:`AZ_SAS` + Azure Storage Shared Access Signature, when using the + :ref:`Azure Storage fetcher (az://) ` + This variable can be defined to be used by the fetcher to authenticate + and gain access to non-public artifacts. + :: + + AZ_SAS = ""se=2021-01-01&sp=r&sv=2018-11-09&sr=c&skoid=&sig="" + + For more information see Microsoft's Azure Storage documentation at + https://docs.microsoft.com/en-us/azure/storage/common/storage-sas-overview + :term:`B` The directory within the :term:`Build Directory` in which the OpenEmbedded build system places generated objects during a @@ -1553,6 +1565,12 @@ system and gives an overview of their function and contents. DEBIANNAME_${PN} = "dbus-1" + :term:`DEBUGINFOD_URLS` + Points to the URL of the "debuginfod" server. Such that for every + debugging information lookup, the debuginfod client will query the + server and return the requested information. You set this variable + in your ``local.conf`` file. + :term:`DEBUG_BUILD` Specifies to build packages with debugging information. This influences the value of the ``SELECTED_OPTIMIZATION`` variable. @@ -2218,7 +2236,7 @@ system and gives an overview of their function and contents. .. note:: To add packages to the root filesystem, see the various - \*:term:`RDEPENDS` and \*:term:`RRECOMMENDS` variables. + :term:`RDEPENDS` and :term:`RRECOMMENDS` variables. :term:`EXTRANATIVEPATH` A list of subdirectories of @@ -7103,6 +7121,8 @@ system and gives an overview of their function and contents. - ``npm://`` - Fetches JavaScript modules from a registry. + - ``az://`` - Fetches files from an Azure Storage account. + Standard and recipe-specific options for ``SRC_URI`` exist. Here are standard options: @@ -8787,7 +8807,7 @@ system and gives an overview of their function and contents. The ``WKS_FILE_DEPENDS`` variable is similar to the :term:`DEPENDS` variable. When you use the variable in your recipe that builds the Wic image, dependencies you list in the - ``WIC_FILE_DEPENDS`` variable are added to the ``DEPENDS`` variable. + ``WKS_FILE_DEPENDS`` variable are added to the ``DEPENDS`` variable. With the ``WKS_FILE_DEPENDS`` variable, you have the possibility to specify a list of additional dependencies (e.g. native tools, diff --git a/poky/documentation/sdk-manual/appendix-obtain.rst b/poky/documentation/sdk-manual/appendix-obtain.rst index f158c244a..395102c3b 100644 --- a/poky/documentation/sdk-manual/appendix-obtain.rst +++ b/poky/documentation/sdk-manual/appendix-obtain.rst @@ -173,7 +173,7 @@ build the SDK installer. Follow these steps: ``tmp/deploy/sdk`` in the Build Directory. Following is an example: :: - $ cd ~/poky/build/tmp/deploy/sdk + $ cd poky/build/tmp/deploy/sdk $ ./poky-glibc-x86_64-core-image-sato-core2-64-toolchain-ext-&DISTRO;.sh During execution of the script, you choose the root location for the @@ -249,7 +249,7 @@ Follow these steps to extract the root filesystem: ":ref:`sdk-manual/appendix-obtain:locating pre-built sdk installers`" section: :: - $ source ~/poky_sdk/environment-setup-core2-64-poky-linux + $ source poky_sdk/environment-setup-core2-64-poky-linux 3. *Extract the Root Filesystem:* Use the ``runqemu-extract-sdk`` command and provide the root filesystem image. diff --git a/poky/documentation/sdk-manual/extensible.rst b/poky/documentation/sdk-manual/extensible.rst index 5962e9460..d2ed9a9b8 100644 --- a/poky/documentation/sdk-manual/extensible.rst +++ b/poky/documentation/sdk-manual/extensible.rst @@ -118,7 +118,7 @@ architecture. The example assumes the SDK installer is located in $ ./Downloads/poky-glibc-x86_64-core-image-minimal-core2-64-toolchain-ext-2.5.sh Poky (Yocto Project Reference Distro) Extensible SDK installer version 2.5 ========================================================================== - Enter target directory for SDK (default: ~/poky_sdk): + Enter target directory for SDK (default: poky_sdk): You are about to install the SDK to "/home/scottrif/poky_sdk". Proceed [Y/n]? Y Extracting SDK..............done Setting it up... diff --git a/poky/documentation/toaster-manual/reference.rst b/poky/documentation/toaster-manual/reference.rst index d2ab14c8e..8ef58182e 100644 --- a/poky/documentation/toaster-manual/reference.rst +++ b/poky/documentation/toaster-manual/reference.rst @@ -554,7 +554,7 @@ example that assumes default repository and build directory names: .. code-block:: shell - $ cd ~/poky/build + $ cd poky/build $ python ../bitbake/lib/toaster/manage.py buildslist If your Toaster database had only one build, the above diff --git a/poky/documentation/toaster-manual/setup-and-use.rst b/poky/documentation/toaster-manual/setup-and-use.rst index ded771e79..cabf0250c 100644 --- a/poky/documentation/toaster-manual/setup-and-use.rst +++ b/poky/documentation/toaster-manual/setup-and-use.rst @@ -155,7 +155,7 @@ superuser by following these steps: is the :term:`Build Directory`, invoke the ``createsuperuser`` command from ``manage.py``:: - $ cd ~/poky/build + $ cd poky/build $ ../bitbake/lib/toaster/manage.py createsuperuser #. Django prompts you for the username, which you need to provide. @@ -417,13 +417,13 @@ Perform the following steps to install Toaster: [Unit] Description=Toaster runbuilds - + [Service] Type=forking User=toaster ExecStart=/usr/bin/screen -d -m -S runbuilds /var/www/toaster/poky/bitbake/lib/toaster/runbuilds-service.sh start ExecStop=/usr/bin/screen -S runbuilds -X quit WorkingDirectory=/var/www/toaster/poky - + [Install] WantedBy=multi-user.target @@ -433,11 +433,11 @@ Perform the following steps to install Toaster: up executable permissions:: #!/bin/bash - + #export http_proxy=http://proxy.host.com:8080 #export https_proxy=http://proxy.host.com:8080 #export GIT_PROXY_COMMAND=$HOME/bin/gitproxy - cd ~/poky/ + cd poky/ source ./oe-init-build-env build source ../bitbake/bin/toaster $1 noweb [ "$1" == 'start' ] && /bin/bash diff --git a/poky/meta-poky/conf/distro/include/poky-world-exclude.inc b/poky/meta-poky/conf/distro/include/poky-world-exclude.inc index 1a2dea585..f3ac59c51 100644 --- a/poky/meta-poky/conf/distro/include/poky-world-exclude.inc +++ b/poky/meta-poky/conf/distro/include/poky-world-exclude.inc @@ -1,4 +1,4 @@ # -# Things we exlude fromw world testing within the reference distro +# Things we exlude from world testing within the reference distro # diff --git a/poky/meta-poky/conf/distro/poky-tiny.conf b/poky/meta-poky/conf/distro/poky-tiny.conf index 5a867b1de..e4ff9752e 100644 --- a/poky/meta-poky/conf/distro/poky-tiny.conf +++ b/poky/meta-poky/conf/distro/poky-tiny.conf @@ -26,7 +26,7 @@ # [ ] Drop ldconfig from the installation # [ ] Modify the runqemu scripts to work with ext2 parameter: # runqemu qemux86 qemuparams="-nographic" bootparams="console=ttyS0,115200 root=0800" -# [ ] Modify busybox to allow for DISTRO_FEATURES-like confiruration +# [ ] Modify busybox to allow for DISTRO_FEATURES-like configuration require conf/distro/poky.conf require conf/distro/include/gcsections.inc diff --git a/poky/meta-poky/conf/distro/poky.conf b/poky/meta-poky/conf/distro/poky.conf index 623f39da6..4e416c0c8 100644 --- a/poky/meta-poky/conf/distro/poky.conf +++ b/poky/meta-poky/conf/distro/poky.conf @@ -25,8 +25,8 @@ PREFERRED_VERSION_linux-yocto-rt ?= "5.10%" SDK_NAME = "${DISTRO}-${TCLIBC}-${SDKMACHINE}-${IMAGE_BASENAME}-${TUNE_PKGARCH}-${MACHINE}" SDKPATH = "/opt/${DISTRO}/${SDK_VERSION}" -DISTRO_EXTRA_RDEPENDS += " ${POKY_DEFAULT_EXTRA_RDEPENDS}" -DISTRO_EXTRA_RRECOMMENDS += " ${POKY_DEFAULT_EXTRA_RRECOMMENDS}" +DISTRO_EXTRA_RDEPENDS += "${POKY_DEFAULT_EXTRA_RDEPENDS}" +DISTRO_EXTRA_RRECOMMENDS += "${POKY_DEFAULT_EXTRA_RRECOMMENDS}" TCLIBCAPPEND = "" diff --git a/poky/meta-poky/conf/layer.conf b/poky/meta-poky/conf/layer.conf index 7241af02e..22f7fe27c 100644 --- a/poky/meta-poky/conf/layer.conf +++ b/poky/meta-poky/conf/layer.conf @@ -9,7 +9,7 @@ BBFILE_COLLECTIONS += "yocto" BBFILE_PATTERN_yocto = "^${LAYERDIR}/" BBFILE_PRIORITY_yocto = "5" -LAYERSERIES_COMPAT_yocto = "gatesgarth" +LAYERSERIES_COMPAT_yocto = "hardknott" # This should only be incremented on significant changes that will # cause compatibility issues with other layers diff --git a/poky/meta-poky/conf/local.conf.sample b/poky/meta-poky/conf/local.conf.sample index 096359ee8..a94b613ba 100644 --- a/poky/meta-poky/conf/local.conf.sample +++ b/poky/meta-poky/conf/local.conf.sample @@ -206,7 +206,7 @@ BB_DISKMON_DIRS ??= "\ # # Shared-state files from other locations # -# As mentioned above, shared state files are prebuilt cache data objects which can +# As mentioned above, shared state files are prebuilt cache data objects which can be # used to accelerate build time. This variable can be used to configure the system # to search other mirror locations for these objects before it builds the data itself. # diff --git a/poky/meta-poky/conf/local.conf.sample.extended b/poky/meta-poky/conf/local.conf.sample.extended index ba1d0973b..c241caa86 100644 --- a/poky/meta-poky/conf/local.conf.sample.extended +++ b/poky/meta-poky/conf/local.conf.sample.extended @@ -390,3 +390,8 @@ DISTRO_FEATURES_remove = "x11" # #require conf/distro/include/lto.inc #DISTRO_FEATURES_append = " lto" + +# +# Set PS1 for SDK +# +#SDK_PS1 ?= "${SDK_NAME}${SDK_VENDOR}:\$ " diff --git a/poky/meta-selftest/conf/layer.conf b/poky/meta-selftest/conf/layer.conf index 37570aa83..5604f8269 100644 --- a/poky/meta-selftest/conf/layer.conf +++ b/poky/meta-selftest/conf/layer.conf @@ -9,4 +9,4 @@ BBFILE_COLLECTIONS += "selftest" BBFILE_PATTERN_selftest = "^${LAYERDIR}/" BBFILE_PRIORITY_selftest = "5" -LAYERSERIES_COMPAT_selftest = "gatesgarth" +LAYERSERIES_COMPAT_selftest = "hardknott" diff --git a/poky/meta-selftest/recipes-test/aspell/aspell_0.0.0.1.bb b/poky/meta-selftest/recipes-test/aspell/aspell_0.0.0.1.bb index 9f905a519..dcf6c8ba6 100644 --- a/poky/meta-selftest/recipes-test/aspell/aspell_0.0.0.1.bb +++ b/poky/meta-selftest/recipes-test/aspell/aspell_0.0.0.1.bb @@ -4,6 +4,7 @@ SUMMARY = "GNU Aspell spell-checker" SECTION = "console/utils" +HOMEPAGE = "https://ftp.gnu.org/gnu/aspell/" LICENSE = "LGPLv2 | LGPLv2.1" LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34" diff --git a/poky/meta-selftest/recipes-test/git-submodule-test/git-submodule-test.bb b/poky/meta-selftest/recipes-test/git-submodule-test/git-submodule-test.bb index 08089b418..9429564df 100644 --- a/poky/meta-selftest/recipes-test/git-submodule-test/git-submodule-test.bb +++ b/poky/meta-selftest/recipes-test/git-submodule-test/git-submodule-test.bb @@ -1,4 +1,5 @@ SUMMARY = "Test recipe for fetching git submodules" +HOMEPAGE = "http://git.yoctoproject.org/cgit/cgit.cgi/git-submodule-test/" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" diff --git a/poky/meta-selftest/recipes-test/poison/poison.bb b/poky/meta-selftest/recipes-test/poison/poison.bb new file mode 100644 index 000000000..7ace901cc --- /dev/null +++ b/poky/meta-selftest/recipes-test/poison/poison.bb @@ -0,0 +1,16 @@ +SUMMARY = "Sysroot poisoning test" +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" + +LICENSE = "MIT" + +inherit nopackages + +# This test confirms that compiling code that searches /usr/include for headers +# will result in compiler errors. This recipe should will fail to build and +# oe-selftest has a test that verifies that. +do_compile() { + touch empty.c + ${CPP} ${CFLAGS} -I/usr/include empty.c +} + +EXCLUDE_FROM_WORLD = "1" diff --git a/poky/meta-skeleton/conf/layer.conf b/poky/meta-skeleton/conf/layer.conf index cea5c74f8..ba301742e 100644 --- a/poky/meta-skeleton/conf/layer.conf +++ b/poky/meta-skeleton/conf/layer.conf @@ -14,4 +14,4 @@ LAYERVERSION_skeleton = "1" LAYERDEPENDS_skeleton = "core" -LAYERSERIES_COMPAT_skeleton = "gatesgarth" +LAYERSERIES_COMPAT_skeleton = "hardknott" diff --git a/poky/meta-skeleton/recipes-baremetal/baremetal-examples/baremetal-helloworld_git.bb b/poky/meta-skeleton/recipes-baremetal/baremetal-examples/baremetal-helloworld_git.bb index 946a12d0a..ee945c1ff 100644 --- a/poky/meta-skeleton/recipes-baremetal/baremetal-examples/baremetal-helloworld_git.bb +++ b/poky/meta-skeleton/recipes-baremetal/baremetal-examples/baremetal-helloworld_git.bb @@ -1,5 +1,6 @@ SUMMARY = "Baremetal examples to work with the several QEMU architectures supported on OpenEmbedded" HOMEPAGE = "https://github.com/aehs29/baremetal-helloqemu" +DESCRIPTION = "These are introductory examples to showcase the use of QEMU to run baremetal applications." LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSE;md5=39346640a23c701e4f459e05f56f4449" diff --git a/poky/meta-skeleton/recipes-kernel/hello-mod/hello-mod_0.1.bb b/poky/meta-skeleton/recipes-kernel/hello-mod/hello-mod_0.1.bb index 3d3344650..bc9acccd5 100644 --- a/poky/meta-skeleton/recipes-kernel/hello-mod/hello-mod_0.1.bb +++ b/poky/meta-skeleton/recipes-kernel/hello-mod/hello-mod_0.1.bb @@ -1,4 +1,5 @@ SUMMARY = "Example of how to build an external Linux kernel module" +DESCRIPTION = "${SUMMARY}" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e" diff --git a/poky/meta-skeleton/recipes-kernel/linux/linux-yocto-custom.bb b/poky/meta-skeleton/recipes-kernel/linux/linux-yocto-custom.bb index 6194d4f8d..d53f9c7a4 100644 --- a/poky/meta-skeleton/recipes-kernel/linux/linux-yocto-custom.bb +++ b/poky/meta-skeleton/recipes-kernel/linux/linux-yocto-custom.bb @@ -1,6 +1,6 @@ +SUMMARY = "An example kernel recipe that uses the linux-yocto and oe-core" # linux-yocto-custom.bb: # -# An example kernel recipe that uses the linux-yocto and oe-core # kernel classes to apply a subset of yocto kernel management to git # managed kernel repositories. # diff --git a/poky/meta-skeleton/recipes-multilib/images/core-image-multilib-example.bb b/poky/meta-skeleton/recipes-multilib/images/core-image-multilib-example.bb index f13186f93..e7d50aefd 100644 --- a/poky/meta-skeleton/recipes-multilib/images/core-image-multilib-example.bb +++ b/poky/meta-skeleton/recipes-multilib/images/core-image-multilib-example.bb @@ -1,5 +1,4 @@ -# -# An example of a multilib image +SUMMARY = "An example of a multilib image" # # This example includes a lib32 version of bash into an otherwise standard # sato image. It assumes a "lib32" multilib has been enabled in the user's diff --git a/poky/meta-skeleton/recipes-skeleton/service/service_0.1.bb b/poky/meta-skeleton/recipes-skeleton/service/service_0.1.bb index 6416618dc..669d173ad 100644 --- a/poky/meta-skeleton/recipes-skeleton/service/service_0.1.bb +++ b/poky/meta-skeleton/recipes-skeleton/service/service_0.1.bb @@ -1,5 +1,6 @@ SUMMARY = "The canonical example of init scripts" SECTION = "base" +DESCRIPTION = "This recipe is a canonical example of init scripts" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://${WORKDIR}/COPYRIGHT;md5=349c872e0066155e1818b786938876a4" diff --git a/poky/meta-yocto-bsp/conf/layer.conf b/poky/meta-yocto-bsp/conf/layer.conf index bf0c1bfec..caf3e4bcb 100644 --- a/poky/meta-yocto-bsp/conf/layer.conf +++ b/poky/meta-yocto-bsp/conf/layer.conf @@ -9,4 +9,4 @@ BBFILE_COLLECTIONS += "yoctobsp" BBFILE_PATTERN_yoctobsp = "^${LAYERDIR}/" BBFILE_PRIORITY_yoctobsp = "5" LAYERVERSION_yoctobsp = "4" -LAYERSERIES_COMPAT_yoctobsp = "gatesgarth" +LAYERSERIES_COMPAT_yoctobsp = "hardknott" diff --git a/poky/meta-yocto-bsp/conf/machine/beaglebone-yocto.conf b/poky/meta-yocto-bsp/conf/machine/beaglebone-yocto.conf index f8368ebd0..04cbd3b5b 100644 --- a/poky/meta-yocto-bsp/conf/machine/beaglebone-yocto.conf +++ b/poky/meta-yocto-bsp/conf/machine/beaglebone-yocto.conf @@ -9,7 +9,7 @@ XSERVER ?= "xserver-xorg \ MACHINE_EXTRA_RRECOMMENDS = "kernel-modules kernel-devicetree" -EXTRA_IMAGEDEPENDS += "u-boot" +EXTRA_IMAGEDEPENDS += "virtual/bootloader" DEFAULTTUNE ?= "cortexa8hf-neon" include conf/machine/include/tune-cortexa8.inc @@ -18,7 +18,7 @@ IMAGE_FSTYPES += "tar.bz2 jffs2 wic wic.bmap" EXTRA_IMAGECMD_jffs2 = "-lnp " WKS_FILE ?= "beaglebone-yocto.wks" IMAGE_INSTALL_append = " kernel-devicetree kernel-image-zimage" -do_image_wic[depends] += "mtools-native:do_populate_sysroot dosfstools-native:do_populate_sysroot u-boot:do_deploy" +do_image_wic[depends] += "mtools-native:do_populate_sysroot dosfstools-native:do_populate_sysroot virtual/bootloader:do_deploy" SERIAL_CONSOLES ?= "115200;ttyS0 115200;ttyO0 115200;ttyAMA0" SERIAL_CONSOLES_CHECK = "${SERIAL_CONSOLES}" diff --git a/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.10.bbappend b/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.10.bbappend index 87e47352a..bc2b3bf57 100644 --- a/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.10.bbappend +++ b/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.10.bbappend @@ -7,17 +7,17 @@ KMACHINE_genericx86 ?= "common-pc" KMACHINE_genericx86-64 ?= "common-pc-64" KMACHINE_beaglebone-yocto ?= "beaglebone" -SRCREV_machine_genericx86 ?= "cdca78778415b4b3bd64e8390ee8adf04bf7e17a" -SRCREV_machine_genericx86-64 ?= "cdca78778415b4b3bd64e8390ee8adf04bf7e17a" -SRCREV_machine_edgerouter ?= "2e1fb8f84f09ca768eb531f33a126a40bb90e791" -SRCREV_machine_beaglebone-yocto ?= "cdca78778415b4b3bd64e8390ee8adf04bf7e17a" +SRCREV_machine_genericx86 ?= "8c516ced69f41563404ada0bea315a55bcf1df6f" +SRCREV_machine_genericx86-64 ?= "8c516ced69f41563404ada0bea315a55bcf1df6f" +SRCREV_machine_edgerouter ?= "965ab3ab746ae8a1158617b6302d9c218ffbbb66" +SRCREV_machine_beaglebone-yocto ?= "8c516ced69f41563404ada0bea315a55bcf1df6f" COMPATIBLE_MACHINE_genericx86 = "genericx86" COMPATIBLE_MACHINE_genericx86-64 = "genericx86-64" COMPATIBLE_MACHINE_edgerouter = "edgerouter" COMPATIBLE_MACHINE_beaglebone-yocto = "beaglebone-yocto" -LINUX_VERSION_genericx86 = "5.10.12" -LINUX_VERSION_genericx86-64 = "5.10.12" -LINUX_VERSION_edgerouter = "5.10.12" -LINUX_VERSION_beaglebone-yocto = "5.10.12" +LINUX_VERSION_genericx86 = "5.10.21" +LINUX_VERSION_genericx86-64 = "5.10.21" +LINUX_VERSION_edgerouter = "5.10.21" +LINUX_VERSION_beaglebone-yocto = "5.10.21" diff --git a/poky/meta-yocto-bsp/wic/beaglebone-yocto.wks b/poky/meta-yocto-bsp/wic/beaglebone-yocto.wks index 701ae0b3d..7a28fb23d 100644 --- a/poky/meta-yocto-bsp/wic/beaglebone-yocto.wks +++ b/poky/meta-yocto-bsp/wic/beaglebone-yocto.wks @@ -2,6 +2,6 @@ # long-description: Creates a partitioned SD card image for Beaglebone. # Boot files are located in the first vfat partition. -part /boot --source bootimg-partition --ondisk mmcblk0 --fstype=vfat --label boot --active --align 4 --size 16 --sourceparams="loader=u-boot" --use-uuid +part /boot --source bootimg-partition --ondisk mmcblk0 --fstype=vfat --label boot --active --align 4 --fixed-size 32 --sourceparams="loader=u-boot" --use-uuid part / --source rootfs --ondisk mmcblk0 --fstype=ext4 --label root --align 4 --use-uuid bootloader --append="console=ttyS0,115200" diff --git a/poky/meta/classes/base.bbclass b/poky/meta/classes/base.bbclass index b4160402f..42fb84c4d 100644 --- a/poky/meta/classes/base.bbclass +++ b/poky/meta/classes/base.bbclass @@ -593,6 +593,8 @@ python () { srcuri = d.getVar('SRC_URI') for uri_string in srcuri.split(): uri = bb.fetch.URI(uri_string) + # Also check downloadfilename as the URL path might not be useful for sniffing + path = uri.params.get("downloadfilename", uri.path) # HTTP/FTP use the wget fetcher if uri.scheme in ("http", "https", "ftp"): @@ -626,27 +628,27 @@ python () { d.appendVarFlag('do_fetch', 'depends', ' nodejs-native:do_populate_sysroot') # *.lz4 should DEPEND on lz4-native for unpacking - if uri.path.endswith('.lz4'): + if path.endswith('.lz4'): d.appendVarFlag('do_unpack', 'depends', ' lz4-native:do_populate_sysroot') # *.lz should DEPEND on lzip-native for unpacking - elif uri.path.endswith('.lz'): + elif path.endswith('.lz'): d.appendVarFlag('do_unpack', 'depends', ' lzip-native:do_populate_sysroot') # *.xz should DEPEND on xz-native for unpacking - elif uri.path.endswith('.xz') or uri.path.endswith('.txz'): + elif path.endswith('.xz') or path.endswith('.txz'): d.appendVarFlag('do_unpack', 'depends', ' xz-native:do_populate_sysroot') # .zip should DEPEND on unzip-native for unpacking - elif uri.path.endswith('.zip') or uri.path.endswith('.jar'): + elif path.endswith('.zip') or path.endswith('.jar'): d.appendVarFlag('do_unpack', 'depends', ' unzip-native:do_populate_sysroot') # Some rpm files may be compressed internally using xz (for example, rpms from Fedora) - elif uri.path.endswith('.rpm'): + elif path.endswith('.rpm'): d.appendVarFlag('do_unpack', 'depends', ' xz-native:do_populate_sysroot') # *.deb should DEPEND on xz-native for unpacking - elif uri.path.endswith('.deb'): + elif path.endswith('.deb'): d.appendVarFlag('do_unpack', 'depends', ' xz-native:do_populate_sysroot') if needsrcrev: diff --git a/poky/meta/classes/buildhistory.bbclass b/poky/meta/classes/buildhistory.bbclass index 117a44eaf..49af61c9c 100644 --- a/poky/meta/classes/buildhistory.bbclass +++ b/poky/meta/classes/buildhistory.bbclass @@ -678,13 +678,16 @@ IMAGE_POSTPROCESS_COMMAND[vardepsexclude] += "buildhistory_get_imageinfo" POPULATE_SDK_POST_TARGET_COMMAND_append = " buildhistory_list_installed_sdk_target;" POPULATE_SDK_POST_TARGET_COMMAND_append = " buildhistory_get_sdk_installed_target;" POPULATE_SDK_POST_TARGET_COMMAND[vardepvalueexclude] .= "| buildhistory_list_installed_sdk_target;| buildhistory_get_sdk_installed_target;" +POPULATE_SDK_POST_TARGET_COMMAND[vardepsexclude] += "buildhistory_list_installed_sdk_target buildhistory_get_sdk_installed_target" POPULATE_SDK_POST_HOST_COMMAND_append = " buildhistory_list_installed_sdk_host;" POPULATE_SDK_POST_HOST_COMMAND_append = " buildhistory_get_sdk_installed_host;" POPULATE_SDK_POST_HOST_COMMAND[vardepvalueexclude] .= "| buildhistory_list_installed_sdk_host;| buildhistory_get_sdk_installed_host;" +POPULATE_SDK_POST_HOST_COMMAND[vardepsexclude] += "buildhistory_list_installed_sdk_host buildhistory_get_sdk_installed_host" SDK_POSTPROCESS_COMMAND_append = " buildhistory_get_sdkinfo ; buildhistory_get_extra_sdkinfo; " SDK_POSTPROCESS_COMMAND[vardepvalueexclude] .= "| buildhistory_get_sdkinfo ; buildhistory_get_extra_sdkinfo; " +SDK_POSTPROCESS_COMMAND[vardepsexclude] += "buildhistory_get_sdkinfo buildhistory_get_extra_sdkinfo" python buildhistory_write_sigs() { if not "task" in (d.getVar('BUILDHISTORY_FEATURES') or "").split(): diff --git a/poky/meta/classes/buildstats.bbclass b/poky/meta/classes/buildstats.bbclass index a8ee6e69a..8e03039ae 100644 --- a/poky/meta/classes/buildstats.bbclass +++ b/poky/meta/classes/buildstats.bbclass @@ -106,26 +106,54 @@ def write_task_data(status, logfile, e, d): def write_host_data(logfile, e, d): import subprocess, os, datetime + # minimum time allowed for each command to run, in seconds + time_threshold = 0.5 + # the total number of commands + num_cmds = 0 + # interval at which data will be logged + interval = int(d.getVar("BB_HEARTBEAT_EVENT", False)) + # the commands to be run at each interval cmds = d.getVar('BB_LOG_HOST_STAT_CMDS') + # if no commands are passed, issue a warning and return if cmds is None: d.setVar("BB_LOG_HOST_STAT_ON_INTERVAL", "0") d.setVar("BB_LOG_HOST_STAT_ON_FAILURE", "0") - bb.warn("buildstats: Collecting host data failed. Set BB_LOG_HOST_STAT_CMDS=\"command1 ; command2 ; ... \" in conf\/local.conf\n") + bb.warn("buildstats: Collecting host data failed. Set BB_LOG_HOST_STAT_CMDS=\"command1 ; command2 ; ... \" in conf/local.conf\n") return + # find the total commands + c_san = [] + for cmd in cmds.split(";"): + if len(cmd) == 0: + continue + num_cmds += 1 + c_san.append(cmd) + if num_cmds <= 0: + d.setVar("BB_LOG_HOST_STAT_ON_INTERVAL", "0") + d.setVar("BB_LOG_HOST_STAT_ON_FAILURE", "0") + return + + # return if the interval is not enough to run all commands within the specified BB_HEARTBEAT_EVENT interval + limit = interval / num_cmds + if limit <= time_threshold: + d.setVar("BB_LOG_HOST_STAT_ON_INTERVAL", "0") + d.setVar("BB_LOG_HOST_STAT_ON_FAILURE", "0") + bb.warn("buildstats: Collecting host data failed. BB_HEARTBEAT_EVENT interval not enough to run the specified commands. HINT: Increase value of BB_HEARTBEAT_EVENT in conf/local.conf\n") + return + + # set the environment variables path = d.getVar("PATH") opath = d.getVar("BB_ORIGENV", False).getVar("PATH") ospath = os.environ['PATH'] os.environ['PATH'] = path + ":" + opath + ":" + ospath with open(logfile, "a") as f: f.write("Event Time: %f\nDate: %s\n" % (e.time, datetime.datetime.now())) - for cmd in cmds.split(";"): - if len(cmd) == 0: - continue + for c in c_san: try: - output = subprocess.check_output(cmd.split(), stderr=subprocess.STDOUT, timeout=1).decode('utf-8') + output = subprocess.check_output(c.split(), stderr=subprocess.STDOUT, timeout=limit).decode('utf-8') except (subprocess.CalledProcessError, subprocess.TimeoutExpired, FileNotFoundError) as err: - output = "Error running command: %s\n%s\n" % (cmd, err) - f.write("%s\n%s\n" % (cmd, output)) + output = "Error running command: %s\n%s\n" % (c, err) + f.write("%s\n%s\n" % (c, output)) + # reset the environment os.environ['PATH'] = ospath python run_buildstats () { diff --git a/poky/meta/classes/cmake.bbclass b/poky/meta/classes/cmake.bbclass index 4af22268b..8876ce5aa 100644 --- a/poky/meta/classes/cmake.bbclass +++ b/poky/meta/classes/cmake.bbclass @@ -81,6 +81,8 @@ def map_host_os_to_system_name(host_os): def map_host_arch_to_uname_arch(host_arch): if host_arch == "powerpc": return "ppc" + if host_arch == "powerpc64le": + return "ppc64le" if host_arch == "powerpc64": return "ppc64" return host_arch @@ -100,7 +102,8 @@ set( CMAKE_CXX_COMPILER ${OECMAKE_CXX_COMPILER} ) set( CMAKE_C_COMPILER_LAUNCHER ${OECMAKE_C_COMPILER_LAUNCHER} ) set( CMAKE_CXX_COMPILER_LAUNCHER ${OECMAKE_CXX_COMPILER_LAUNCHER} ) set( CMAKE_ASM_COMPILER ${OECMAKE_C_COMPILER} ) -set( CMAKE_AR ${OECMAKE_AR} CACHE FILEPATH "Archiver" ) +find_program( CMAKE_AR ${OECMAKE_AR} DOC "Archiver" REQUIRED ) + set( CMAKE_C_FLAGS "${OECMAKE_C_FLAGS}" CACHE STRING "CFLAGS" ) set( CMAKE_CXX_FLAGS "${OECMAKE_CXX_FLAGS}" CACHE STRING "CXXFLAGS" ) set( CMAKE_ASM_FLAGS "${OECMAKE_C_FLAGS}" CACHE STRING "ASM FLAGS" ) diff --git a/poky/meta/classes/core-image.bbclass b/poky/meta/classes/core-image.bbclass index 88ca27214..d81f68bd2 100644 --- a/poky/meta/classes/core-image.bbclass +++ b/poky/meta/classes/core-image.bbclass @@ -9,6 +9,7 @@ # # Available IMAGE_FEATURES: # +# - weston - Weston Wayland compositor # - x11 - X server # - x11-base - X server with minimal environment # - x11-sato - OpenedHand Sato environment @@ -37,6 +38,7 @@ # - stateless-rootfs - systemctl-native not run, image populated by systemd at runtime # - splash - bootup splash screen # +FEATURE_PACKAGES_weston = "packagegroup-core-weston" FEATURE_PACKAGES_x11 = "packagegroup-core-x11" FEATURE_PACKAGES_x11-base = "packagegroup-core-x11-base" FEATURE_PACKAGES_x11-sato = "packagegroup-core-x11-sato" diff --git a/poky/meta/classes/devshell.bbclass b/poky/meta/classes/devshell.bbclass index fdf7dc100..76dd0b42e 100644 --- a/poky/meta/classes/devshell.bbclass +++ b/poky/meta/classes/devshell.bbclass @@ -128,6 +128,7 @@ def devpyshell(d): more = i.runsource(source, "") if not more: buf = [] + sys.stderr.flush() prompt(more) except KeyboardInterrupt: i.write("\nKeyboardInterrupt\n") diff --git a/poky/meta/classes/externalsrc.bbclass b/poky/meta/classes/externalsrc.bbclass index c7b2bf2f4..54cc7edba 100644 --- a/poky/meta/classes/externalsrc.bbclass +++ b/poky/meta/classes/externalsrc.bbclass @@ -217,14 +217,16 @@ def srctree_hash_files(d, srcdir=None): env['GIT_INDEX_FILE'] = tmp_index.name subprocess.check_output(['git', 'add', '-A', '.'], cwd=s_dir, env=env) git_sha1 = subprocess.check_output(['git', 'write-tree'], cwd=s_dir, env=env).decode("utf-8") - submodule_helper = subprocess.check_output(['git', 'submodule--helper', 'list'], cwd=s_dir, env=env).decode("utf-8") + submodule_helper = subprocess.check_output(['git', 'submodule', 'status'], cwd=s_dir, env=env).decode("utf-8") for line in submodule_helper.splitlines(): - module_dir = os.path.join(s_dir, line.rsplit(maxsplit=1)[1]) - proc = subprocess.Popen(['git', 'add', '-A', '.'], cwd=module_dir, env=env, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) - proc.communicate() - proc = subprocess.Popen(['git', 'write-tree'], cwd=module_dir, env=env, stdout=subprocess.PIPE, stderr=subprocess.DEVNULL) - stdout, _ = proc.communicate() - git_sha1 += stdout.decode("utf-8") + module_relpath = line.split()[1] + if not module_relpath.split('/')[0] == '..': + module_dir = os.path.join(s_dir, module_relpath) + proc = subprocess.Popen(['git', 'add', '-A', '.'], cwd=module_dir, env=env, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) + proc.communicate() + proc = subprocess.Popen(['git', 'write-tree'], cwd=module_dir, env=env, stdout=subprocess.PIPE, stderr=subprocess.DEVNULL) + stdout, _ = proc.communicate() + git_sha1 += stdout.decode("utf-8") sha1 = hashlib.sha1(git_sha1.encode("utf-8")).hexdigest() with open(oe_hash_file, 'w') as fobj: fobj.write(sha1) diff --git a/poky/meta/classes/godep.bbclass b/poky/meta/classes/godep.bbclass deleted file mode 100644 index c82401c31..000000000 --- a/poky/meta/classes/godep.bbclass +++ /dev/null @@ -1,8 +0,0 @@ -DEPENDS_append = " go-dep-native" - -do_compile_prepend() { - rm -f ${WORKDIR}/build/src/${GO_IMPORT}/Gopkg.toml - rm -f ${WORKDIR}/build/src/${GO_IMPORT}/Gopkg.lock - ( cd ${WORKDIR}/build/src/${GO_IMPORT} && dep init && dep ensure ) -} - diff --git a/poky/meta/classes/image.bbclass b/poky/meta/classes/image.bbclass index 41fc32917..013455f49 100644 --- a/poky/meta/classes/image.bbclass +++ b/poky/meta/classes/image.bbclass @@ -112,7 +112,7 @@ def rootfs_command_variables(d): 'IMAGE_PREPROCESS_COMMAND','RPM_PREPROCESS_COMMANDS','RPM_POSTPROCESS_COMMANDS','DEB_PREPROCESS_COMMANDS','DEB_POSTPROCESS_COMMANDS'] python () { - variables = rootfs_command_variables(d) + sdk_command_variables(d) + variables = rootfs_command_variables(d) for var in variables: if d.getVar(var, False): d.setVarFlag(var, 'func', '1') @@ -507,7 +507,7 @@ python () { # Compute the rootfs size # def get_rootfs_size(d): - import subprocess + import subprocess, oe.utils rootfs_alignment = int(d.getVar('IMAGE_ROOTFS_ALIGNMENT')) overhead_factor = float(d.getVar('IMAGE_OVERHEAD_FACTOR')) @@ -518,9 +518,7 @@ def get_rootfs_size(d): initramfs_fstypes = d.getVar('INITRAMFS_FSTYPES') or '' initramfs_maxsize = d.getVar('INITRAMFS_MAXSIZE') - output = subprocess.check_output(['du', '-ks', - d.getVar('IMAGE_ROOTFS')]) - size_kb = int(output.split()[0]) + size_kb = oe.utils.directory_size(d.getVar("IMAGE_ROOTFS")) / 1024 base_size = size_kb * overhead_factor bb.debug(1, '%f = %d * %f' % (base_size, size_kb, overhead_factor)) @@ -612,7 +610,7 @@ deltask do_populate_lic deltask do_populate_sysroot do_package[noexec] = "1" deltask do_package_qa -do_packagedata[noexec] = "1" +deltask do_packagedata deltask do_package_write_ipk deltask do_package_write_deb deltask do_package_write_rpm diff --git a/poky/meta/classes/insane.bbclass b/poky/meta/classes/insane.bbclass index 53230fc66..fa05fc055 100644 --- a/poky/meta/classes/insane.bbclass +++ b/poky/meta/classes/insane.bbclass @@ -1014,26 +1014,6 @@ python do_package_qa () { logdir = d.getVar('T') pn = d.getVar('PN') - # Check the compile log for host contamination - compilelog = os.path.join(logdir,"log.do_compile") - - if os.path.exists(compilelog): - statement = "grep -e 'CROSS COMPILE Badness:' -e 'is unsafe for cross-compilation' %s > /dev/null" % compilelog - if subprocess.call(statement, shell=True) == 0: - msg = "%s: The compile log indicates that host include and/or library paths were used.\n \ - Please check the log '%s' for more information." % (pn, compilelog) - package_qa_handle_error("compile-host-path", msg, d) - - # Check the install log for host contamination - installlog = os.path.join(logdir,"log.do_install") - - if os.path.exists(installlog): - statement = "grep -e 'CROSS COMPILE Badness:' -e 'is unsafe for cross-compilation' %s > /dev/null" % installlog - if subprocess.call(statement, shell=True) == 0: - msg = "%s: The install log indicates that host include and/or library paths were used.\n \ - Please check the log '%s' for more information." % (pn, installlog) - package_qa_handle_error("install-host-path", msg, d) - # Scan the packages... pkgdest = d.getVar('PKGDEST') packages = set((d.getVar('PACKAGES') or '').split()) @@ -1212,7 +1192,7 @@ python do_qa_configure() { if bb.data.inherits_class('autotools', d) and not skip_configure_unsafe: bb.note("Checking autotools environment for common misconfiguration") for root, dirs, files in os.walk(workdir): - statement = "grep -q -F -e 'CROSS COMPILE Badness:' -e 'is unsafe for cross-compilation' %s" % \ + statement = "grep -q -F -e 'is unsafe for cross-compilation' %s" % \ os.path.join(root,"config.log") if "config.log" in files: if subprocess.call(statement, shell=True) == 0: diff --git a/poky/meta/classes/kernel-fitimage.bbclass b/poky/meta/classes/kernel-fitimage.bbclass index f5082c93d..b9d827002 100644 --- a/poky/meta/classes/kernel-fitimage.bbclass +++ b/poky/meta/classes/kernel-fitimage.bbclass @@ -535,13 +535,19 @@ fitimage_assemble() { # Step 2: Prepare a DTB image section # - if [ -z "${EXTERNAL_KERNEL_DEVICETREE}" ] && [ -n "${KERNEL_DEVICETREE}" ]; then + if [ -n "${KERNEL_DEVICETREE}" ]; then dtbcount=1 for DTB in ${KERNEL_DEVICETREE}; do if echo ${DTB} | grep -q '/dts/'; then bbwarn "${DTB} contains the full path to the the dts file, but only the dtb name should be used." DTB=`basename ${DTB} | sed 's,\.dts$,.dtb,g'` fi + + # Skip ${DTB} if it's also provided in ${EXTERNAL_KERNEL_DEVICETREE} + if [ -n "${EXTERNAL_KERNEL_DEVICETREE}" ] && [ -s ${EXTERNAL_KERNEL_DEVICETREE}/${DTB} ]; then + continue + fi + DTB_PATH="arch/${ARCH}/boot/dts/${DTB}" if [ ! -e "${DTB_PATH}" ]; then DTB_PATH="arch/${ARCH}/boot/${DTB}" @@ -769,4 +775,4 @@ python () { bb.build.deltask('do_assemble_fitimage', d) bb.build.deltask('generate_rsa_keys', d) bb.build.addtask('generate_rsa_keys', 'do_assemble_fitimage_initramfs', 'do_bundle_initramfs', d) -} \ No newline at end of file +} diff --git a/poky/meta/classes/license.bbclass b/poky/meta/classes/license.bbclass index bcea0b3cb..f7978e266 100644 --- a/poky/meta/classes/license.bbclass +++ b/poky/meta/classes/license.bbclass @@ -282,16 +282,15 @@ def expand_wildcard_licenses(d, wildcard_licenses): """ import fnmatch - # Assume if we're passed "GPLv3" or "*GPLv3" it means -or-later as well - for lic in wildcard_licenses[:]: - if not lic.endswith(("-or-later", "-only", "*")): - wildcard_licenses.append(lic + "+") - licenses = wildcard_licenses[:] spdxmapkeys = d.getVarFlags('SPDXLICENSEMAP').keys() for wld_lic in wildcard_licenses: spdxflags = fnmatch.filter(spdxmapkeys, wld_lic) licenses += [d.getVarFlag('SPDXLICENSEMAP', flag) for flag in spdxflags] + # Assume if we're passed "GPLv3" or "*GPLv3" it means -or-later as well + if not wld_lic.endswith(("-or-later", "-only", "*", "+")): + spdxflags = fnmatch.filter(spdxmapkeys, wld_lic + "+") + licenses += [d.getVarFlag('SPDXLICENSEMAP', flag) for flag in spdxflags] spdx_lics = d.getVar('AVAILABLE_LICENSES').split() for wld_lic in wildcard_licenses: diff --git a/poky/meta/classes/linux-dummy.bbclass b/poky/meta/classes/linux-dummy.bbclass new file mode 100644 index 000000000..cd8791557 --- /dev/null +++ b/poky/meta/classes/linux-dummy.bbclass @@ -0,0 +1,26 @@ + +python __anonymous () { + if d.getVar('PREFERRED_PROVIDER_virtual/kernel') == 'linux-dummy': + # copy part codes from kernel.bbclass + kname = d.getVar('KERNEL_PACKAGE_NAME') or "kernel" + + # set an empty package of kernel-devicetree + d.appendVar('PACKAGES', ' %s-devicetree' % kname) + d.setVar('ALLOW_EMPTY_%s-devicetree' % kname, '1') + + # Merge KERNEL_IMAGETYPE and KERNEL_ALT_IMAGETYPE into KERNEL_IMAGETYPES + type = d.getVar('KERNEL_IMAGETYPE') or "" + alttype = d.getVar('KERNEL_ALT_IMAGETYPE') or "" + types = d.getVar('KERNEL_IMAGETYPES') or "" + if type not in types.split(): + types = (type + ' ' + types).strip() + if alttype not in types.split(): + types = (alttype + ' ' + types).strip() + + # set empty packages of kernel-image-* + for type in types.split(): + typelower = type.lower() + d.appendVar('PACKAGES', ' %s-image-%s' % (kname, typelower)) + d.setVar('ALLOW_EMPTY_%s-image-%s' % (kname, typelower), '1') +} + diff --git a/poky/meta/classes/meson.bbclass b/poky/meta/classes/meson.bbclass index a7644e70c..bf9b02e06 100644 --- a/poky/meta/classes/meson.bbclass +++ b/poky/meta/classes/meson.bbclass @@ -26,7 +26,8 @@ MESONOPTS = " --prefix ${prefix} \ --sysconfdir ${sysconfdir} \ --localstatedir ${localstatedir} \ --sharedstatedir ${sharedstatedir} \ - --wrap-mode nodownload" + --wrap-mode nodownload \ + --native-file ${WORKDIR}/meson.native" EXTRA_OEMESON_append = " ${PACKAGECONFIG_CONFARGS}" @@ -102,12 +103,14 @@ cups-config = 'cups-config' g-ir-scanner = '${STAGING_BINDIR}/g-ir-scanner-wrapper' g-ir-compiler = '${STAGING_BINDIR}/g-ir-compiler-wrapper' -[properties] -needs_exe_wrapper = true +[built-in options] c_args = ${@meson_array('CFLAGS', d)} c_link_args = ${@meson_array('LDFLAGS', d)} cpp_args = ${@meson_array('CXXFLAGS', d)} cpp_link_args = ${@meson_array('LDFLAGS', d)} + +[properties] +needs_exe_wrapper = true gtkdoc_exe_wrapper = '${B}/gtkdoc-qemuwrapper' [host_machine] @@ -121,9 +124,27 @@ system = '${@meson_operating_system('TARGET_OS', d)}' cpu_family = '${@meson_cpu_family('TARGET_ARCH', d)}' cpu = '${TARGET_ARCH}' endian = '${@meson_endian('TARGET', d)}' +EOF + + cat >${WORKDIR}/meson.native < 1 and eext[0] == 'multilib': prefixes.append(eext[1]) - versions = [] + required_versions = [] + preferred_versions = [] providers = [] rproviders = [] for v in d.keys(): + if v.startswith("REQUIRED_VERSION_"): + required_versions.append(v) if v.startswith("PREFERRED_VERSION_"): - versions.append(v) + preferred_versions.append(v) if v.startswith("PREFERRED_PROVIDER_"): providers.append(v) if v.startswith("PREFERRED_RPROVIDER_"): rproviders.append(v) - for v in versions: - val = d.getVar(v, False) - pkg = v.replace("PREFERRED_VERSION_", "") - if pkg.endswith("-native") or "-crosssdk-" in pkg or pkg.startswith(("nativesdk-", "virtual/nativesdk-")): - continue - if '-cross-' in pkg and '${' in pkg: + def sort_versions(versions, keyword): + version_str = "_".join([keyword, "VERSION", ""]) + for v in versions: + val = d.getVar(v, False) + pkg = v.replace(version_str, "") + if pkg.endswith("-native") or "-crosssdk-" in pkg or pkg.startswith(("nativesdk-", "virtual/nativesdk-")): + continue + if '-cross-' in pkg and '${' in pkg: + for p in prefixes: + localdata = bb.data.createCopy(d) + override = ":virtclass-multilib-" + p + localdata.setVar("OVERRIDES", localdata.getVar("OVERRIDES", False) + override) + if "-canadian-" in pkg: + newname = localdata.expand(v) + else: + newname = localdata.expand(v).replace(version_str, version_str + p + '-') + if newname != v: + newval = localdata.expand(val) + d.setVar(newname, newval) + # Avoid future variable key expansion + vexp = d.expand(v) + if v != vexp and d.getVar(v, False): + d.renameVar(v, vexp) + continue for p in prefixes: - localdata = bb.data.createCopy(d) - override = ":virtclass-multilib-" + p - localdata.setVar("OVERRIDES", localdata.getVar("OVERRIDES", False) + override) - if "-canadian-" in pkg: - newname = localdata.expand(v) - else: - newname = localdata.expand(v).replace("PREFERRED_VERSION_", "PREFERRED_VERSION_" + p + '-') - if newname != v: - newval = localdata.expand(val) - d.setVar(newname, newval) - # Avoid future variable key expansion - vexp = d.expand(v) - if v != vexp and d.getVar(v, False): - d.renameVar(v, vexp) - continue - for p in prefixes: - newname = "PREFERRED_VERSION_" + p + "-" + pkg - if not d.getVar(newname, False): - d.setVar(newname, val) + newname = version_str + p + "-" + pkg + if not d.getVar(newname, False): + d.setVar(newname, val) + + sort_versions(required_versions, "REQUIRED") + sort_versions(preferred_versions, "PREFERRED") for prov in providers: val = d.getVar(prov, False) diff --git a/poky/meta/classes/populate_sdk_base.bbclass b/poky/meta/classes/populate_sdk_base.bbclass index c8a7084d3..33ba3fc3c 100644 --- a/poky/meta/classes/populate_sdk_base.bbclass +++ b/poky/meta/classes/populate_sdk_base.bbclass @@ -329,6 +329,13 @@ def sdk_variables(d): do_populate_sdk[vardeps] += "${@sdk_variables(d)}" +python () { + variables = sdk_command_variables(d) + for var in variables: + if d.getVar(var, False): + d.setVarFlag(var, 'func', '1') +} + do_populate_sdk[file-checksums] += "${TOOLCHAIN_SHAR_REL_TMPL}:True \ ${TOOLCHAIN_SHAR_EXT_TMPL}:True" diff --git a/poky/meta/classes/populate_sdk_ext.bbclass b/poky/meta/classes/populate_sdk_ext.bbclass index e6bf27cf3..84232ed9f 100644 --- a/poky/meta/classes/populate_sdk_ext.bbclass +++ b/poky/meta/classes/populate_sdk_ext.bbclass @@ -251,7 +251,9 @@ python copy_buildsystem () { # Create a layer for new recipes / appends bbpath = d.getVar('BBPATH') - bb.process.run(['devtool', '--bbpath', bbpath, '--basepath', baseoutpath, 'create-workspace', '--create-only', os.path.join(baseoutpath, 'workspace')]) + env = os.environ.copy() + env['PYTHONDONTWRITEBYTECODE'] = '1' + bb.process.run(['devtool', '--bbpath', bbpath, '--basepath', baseoutpath, 'create-workspace', '--create-only', os.path.join(baseoutpath, 'workspace')], env=env) # Create bblayers.conf bb.utils.mkdirhier(baseoutpath + '/conf') @@ -364,12 +366,19 @@ python copy_buildsystem () { # Hide the config information from bitbake output (since it's fixed within the SDK) f.write('BUILDCFG_HEADER = ""\n\n') + # Write METADATA_REVISION + f.write('METADATA_REVISION = "%s"\n\n' % d.getVar('METADATA_REVISION')) + f.write('# Provide a flag to indicate we are in the EXT_SDK Context\n') f.write('WITHIN_EXT_SDK = "1"\n\n') # Map gcc-dependent uninative sstate cache for installer usage f.write('SSTATE_MIRRORS += " file://universal/(.*) file://universal-4.9/\\1 file://universal-4.9/(.*) file://universal-4.8/\\1"\n\n') + if d.getVar("PRSERV_HOST"): + # Override this, we now include PR data, so it should only point ot the local database + f.write('PRSERV_HOST = "localhost:0"\n\n') + # Allow additional config through sdk-extra.conf fn = bb.cookerdata.findConfigFile('sdk-extra.conf', d) if fn: @@ -393,6 +402,27 @@ python copy_buildsystem () { bb.utils.mkdirhier(os.path.join(baseoutpath, 'cache')) shutil.copyfile(builddir + '/cache/bb_unihashes.dat', baseoutpath + '/cache/bb_unihashes.dat') + # If PR Service is in use, we need to export this as well + bb.note('Do we have a pr database?') + if d.getVar("PRSERV_HOST"): + bb.note('Writing PR database...') + # Based on the code in classes/prexport.bbclass + import oe.prservice + #dump meta info of tables + localdata = d.createCopy() + localdata.setVar('PRSERV_DUMPOPT_COL', "1") + localdata.setVar('PRSERV_DUMPDIR', os.path.join(baseoutpath, 'conf')) + localdata.setVar('PRSERV_DUMPFILE', '${PRSERV_DUMPDIR}/prserv.inc') + + bb.note('PR Database write to %s' % (localdata.getVar('PRSERV_DUMPFILE'))) + + retval = oe.prservice.prserv_dump_db(localdata) + if not retval: + bb.error("prexport_handler: export failed!") + return + (metainfo, datainfo) = retval + oe.prservice.prserv_export_tofile(localdata, metainfo, datainfo, True) + # Use templateconf.cfg file from builddir if exists if os.path.exists(builddir + '/conf/templateconf.cfg') and use_custom_templateconf == '1': shutil.copyfile(builddir + '/conf/templateconf.cfg', baseoutpath + '/conf/templateconf.cfg') diff --git a/poky/meta/classes/qemuboot.bbclass b/poky/meta/classes/qemuboot.bbclass index 4b7532b30..1f8012edc 100644 --- a/poky/meta/classes/qemuboot.bbclass +++ b/poky/meta/classes/qemuboot.bbclass @@ -72,6 +72,9 @@ # Can be used to automatically determine the image from the other variables # but define things link 'bootindex' when booting from EFI or 'readonly' when using squashfs # without the need to specify a dedicated qemu configuration +# +# QB_GRAPHICS: QEMU video card type (e.g. "-vga std") +# # Usage: # IMAGE_CLASSES += "qemuboot" # See "runqemu help" for more info @@ -86,6 +89,7 @@ QB_NETWORK_DEVICE ?= "-device virtio-net-pci,netdev=net0,mac=@MAC@" QB_CMDLINE_IP_SLIRP ?= "ip=dhcp" QB_CMDLINE_IP_TAP ?= "ip=192.168.7.@CLIENT@::192.168.7.@GATEWAY@:255.255.255.0" QB_ROOTFS_EXTRA_OPT ?= "" +QB_GRAPHICS ?= "" # This should be kept align with ROOT_VM QB_DRIVE_TYPE ?= "/dev/sd" @@ -99,7 +103,7 @@ def qemuboot_vars(d): build_vars = ['MACHINE', 'TUNE_ARCH', 'DEPLOY_DIR_IMAGE', 'KERNEL_IMAGETYPE', 'IMAGE_NAME', 'IMAGE_LINK_NAME', 'STAGING_DIR_NATIVE', 'STAGING_BINDIR_NATIVE', - 'STAGING_DIR_HOST'] + 'STAGING_DIR_HOST', 'SERIAL_CONSOLES'] return build_vars + [k for k in d.keys() if k.startswith('QB_')] do_write_qemuboot_conf[vardeps] += "${@' '.join(qemuboot_vars(d))}" diff --git a/poky/meta/classes/rootfs-postcommands.bbclass b/poky/meta/classes/rootfs-postcommands.bbclass index 1f27a3d07..e66ed5938 100644 --- a/poky/meta/classes/rootfs-postcommands.bbclass +++ b/poky/meta/classes/rootfs-postcommands.bbclass @@ -34,7 +34,7 @@ ROOTFS_POSTUNINSTALL_COMMAND =+ "write_image_manifest ; " # Set default postinst log file POSTINST_LOGFILE ?= "${localstatedir}/log/postinstall.log" # Set default target for systemd images -SYSTEMD_DEFAULT_TARGET ?= '${@bb.utils.contains("IMAGE_FEATURES", "x11-base", "graphical.target", "multi-user.target", d)}' +SYSTEMD_DEFAULT_TARGET ?= '${@bb.utils.contains_any("IMAGE_FEATURES", [ "x11-base", "weston" ], "graphical.target", "multi-user.target", d)}' ROOTFS_POSTPROCESS_COMMAND += '${@bb.utils.contains("DISTRO_FEATURES", "systemd", "set_systemd_default_target; systemd_create_users;", "", d)}' ROOTFS_POSTPROCESS_COMMAND += 'empty_var_volatile;' diff --git a/poky/meta/classes/sanity.bbclass b/poky/meta/classes/sanity.bbclass index 485173ab4..894f0e310 100644 --- a/poky/meta/classes/sanity.bbclass +++ b/poky/meta/classes/sanity.bbclass @@ -895,7 +895,7 @@ def check_sanity_everybuild(status, d): mirror_vars = ['MIRRORS', 'PREMIRRORS', 'SSTATE_MIRRORS'] protocols = ['http', 'ftp', 'file', 'https', \ 'git', 'gitsm', 'hg', 'osc', 'p4', 'svn', \ - 'bzr', 'cvs', 'npm', 'sftp', 'ssh', 's3' ] + 'bzr', 'cvs', 'npm', 'sftp', 'ssh', 's3', 'az' ] for mirror_var in mirror_vars: mirrors = (d.getVar(mirror_var) or '').replace('\\n', ' ').split() diff --git a/poky/meta/classes/sstate.bbclass b/poky/meta/classes/sstate.bbclass index f57916816..8e8efd18d 100644 --- a/poky/meta/classes/sstate.bbclass +++ b/poky/meta/classes/sstate.bbclass @@ -1146,14 +1146,18 @@ python sstate_eventhandler() { SSTATE_PRUNE_OBSOLETEWORKDIR ?= "1" -# Event handler which removes manifests and stamps file for -# recipes which are no longer reachable in a build where they -# once were. +# +# Event handler which removes manifests and stamps file for recipes which are no +# longer 'reachable' in a build where they once were. 'Reachable' refers to +# whether a recipe is parsed so recipes in a layer which was removed would no +# longer be reachable. Switching between systemd and sysvinit where recipes +# became skipped would be another example. +# # Also optionally removes the workdir of those tasks/recipes # -addhandler sstate_eventhandler2 -sstate_eventhandler2[eventmask] = "bb.event.ReachableStamps" -python sstate_eventhandler2() { +addhandler sstate_eventhandler_reachablestamps +sstate_eventhandler_reachablestamps[eventmask] = "bb.event.ReachableStamps" +python sstate_eventhandler_reachablestamps() { import glob d = e.data stamps = e.stamps.values() @@ -1223,3 +1227,59 @@ python sstate_eventhandler2() { if preservestamps: os.remove(preservestampfile) } + + +# +# Bitbake can generate an event showing which setscene tasks are 'stale', +# i.e. which ones will be rerun. These are ones where a stamp file is present but +# it is stable (e.g. taskhash doesn't match). With that list we can go through +# the manifests for matching tasks and "uninstall" those manifests now. We do +# this now rather than mid build since the distribution of files between sstate +# objects may have changed, new tasks may run first and if those new tasks overlap +# with the stale tasks, we'd see overlapping files messages and failures. Thankfully +# removing these files is fast. +# +addhandler sstate_eventhandler_stalesstate +sstate_eventhandler_stalesstate[eventmask] = "bb.event.StaleSetSceneTasks" +python sstate_eventhandler_stalesstate() { + d = e.data + tasks = e.tasks + + bb.utils.mkdirhier(d.expand("${SSTATE_MANIFESTS}")) + + for a in list(set(d.getVar("SSTATE_ARCHS").split())): + toremove = [] + i = d.expand("${SSTATE_MANIFESTS}/index-" + a) + if not os.path.exists(i): + continue + with open(i, "r") as f: + lines = f.readlines() + for l in lines: + try: + (stamp, manifest, workdir) = l.split() + for tid in tasks: + for s in tasks[tid]: + if s.startswith(stamp): + taskname = bb.runqueue.taskname_from_tid(tid)[3:] + manname = manifest + "." + taskname + if os.path.exists(manname): + bb.debug(2, "Sstate for %s is stale, removing related manifest %s" % (tid, manname)) + toremove.append((manname, tid, tasks[tid])) + break + except ValueError: + bb.fatal("Invalid line '%s' in sstate manifest '%s'" % (l, i)) + + if toremove: + msg = "Removing %d stale sstate objects for arch %s" % (len(toremove), a) + bb.event.fire(bb.event.ProcessStarted(msg, len(toremove)), d) + + removed = 0 + for (manname, tid, stamps) in toremove: + sstate_clean_manifest(manname, d) + for stamp in stamps: + bb.utils.remove(stamp) + removed = removed + 1 + bb.event.fire(bb.event.ProcessProgress(msg, removed), d) + + bb.event.fire(bb.event.ProcessFinished(msg), d) +} diff --git a/poky/meta/classes/toolchain-scripts.bbclass b/poky/meta/classes/toolchain-scripts.bbclass index db1d3215e..67a812cb0 100644 --- a/poky/meta/classes/toolchain-scripts.bbclass +++ b/poky/meta/classes/toolchain-scripts.bbclass @@ -8,6 +8,8 @@ TARGET_CC_ARCH_append_libc-musl = " -mmusl" # default debug prefix map isn't valid in the SDK DEBUG_PREFIX_MAP = "" +EXPORT_SDK_PS1 = "${@ 'export PS1=\'%s\'' % d.getVar('SDK_PS1') if d.getVar('SDK_PS1') else ''}" + # This function creates an environment-setup-script for use in a deployable SDK toolchain_create_sdk_env_script () { # Create environment setup script. Remember that $SDKTARGETSYSROOT should @@ -39,6 +41,7 @@ toolchain_create_sdk_env_script () { echo ' return 1' >> $script echo 'fi' >> $script + echo "${EXPORT_SDK_PS1}" >> $script echo 'export SDKTARGETSYSROOT='"$sysroot" >> $script EXTRAPATH="" for i in ${CANADIANEXTRAOS}; do diff --git a/poky/meta/conf/bitbake.conf b/poky/meta/conf/bitbake.conf index ecd4d1638..d87d7cafb 100644 --- a/poky/meta/conf/bitbake.conf +++ b/poky/meta/conf/bitbake.conf @@ -476,7 +476,7 @@ export PATH # Build utility info. ################################################################## -# Directory where host tools are copied +# Directory with symlinks to host tools used by build HOSTTOOLS_DIR = "${TMPDIR}/hosttools" # Tools needed to run builds with OE-Core @@ -541,7 +541,10 @@ export BUILD_AR = "${BUILD_PREFIX}ar" export BUILD_AS = "${BUILD_PREFIX}as ${BUILD_AS_ARCH}" export BUILD_RANLIB = "${BUILD_PREFIX}ranlib" export BUILD_STRIP = "${BUILD_PREFIX}strip" +BUILD_OBJCOPY = "${BUILD_PREFIX}objcopy" +BUILD_OBJDUMP = "${BUILD_PREFIX}objdump" export BUILD_NM = "${BUILD_PREFIX}nm" +BUILD_READELF = "${BUILD_PREFIX}readelf" export MAKE = "make" EXTRA_OEMAKE = "" diff --git a/poky/meta/conf/distro/include/maintainers.inc b/poky/meta/conf/distro/include/maintainers.inc index 9093f2d7f..627633185 100644 --- a/poky/meta/conf/distro/include/maintainers.inc +++ b/poky/meta/conf/distro/include/maintainers.inc @@ -224,7 +224,6 @@ RECIPE_MAINTAINER_pn-go-binary-native = "Khem Raj " RECIPE_MAINTAINER_pn-go-cross-${TUNE_PKGARCH} = "Khem Raj " RECIPE_MAINTAINER_pn-go-cross-canadian-${TRANSLATED_TARGET_ARCH} = "Khem Raj " RECIPE_MAINTAINER_pn-go-crosssdk-${SDK_SYS} = "Khem Raj " -RECIPE_MAINTAINER_pn-go-dep = "Otavio Salvador " RECIPE_MAINTAINER_pn-go-helloworld = "Khem Raj " RECIPE_MAINTAINER_pn-go-native = "Khem Raj " RECIPE_MAINTAINER_pn-go-runtime = "Khem Raj " @@ -723,6 +722,7 @@ RECIPE_MAINTAINER_pn-update-rc.d = "Ross Burton " RECIPE_MAINTAINER_pn-usbinit = "Alexander Kanavin " RECIPE_MAINTAINER_pn-usbutils = "Alexander Kanavin " RECIPE_MAINTAINER_pn-util-linux = "Chen Qi " +RECIPE_MAINTAINER_pn-util-linux-libuuid = "Chen Qi " RECIPE_MAINTAINER_pn-util-macros = "Armin Kuster " RECIPE_MAINTAINER_pn-v86d = "Alexander Kanavin " RECIPE_MAINTAINER_pn-vala = "Alexander Kanavin " @@ -798,6 +798,7 @@ RECIPE_MAINTAINER_pn-xtrans = "Armin Kuster " RECIPE_MAINTAINER_pn-xuser-account = "Armin Kuster " RECIPE_MAINTAINER_pn-xvinfo = "Armin Kuster " RECIPE_MAINTAINER_pn-xwininfo = "Armin Kuster " +RECIPE_MAINTAINER_pn-xxhash = "Alexander Kanavin " RECIPE_MAINTAINER_pn-xz = "Denys Dmytriyenko " RECIPE_MAINTAINER_pn-zip = "Denys Dmytriyenko " RECIPE_MAINTAINER_pn-zlib = "Denys Dmytriyenko " diff --git a/poky/meta/conf/distro/include/ptest-packagelists.inc b/poky/meta/conf/distro/include/ptest-packagelists.inc index ce13368c2..e0a876dbd 100644 --- a/poky/meta/conf/distro/include/ptest-packagelists.inc +++ b/poky/meta/conf/distro/include/ptest-packagelists.inc @@ -60,6 +60,7 @@ PTESTS_FAST_remove_mips64 = "qemu-ptest" # bash-ptest \ # Test outcomes are non-deterministic by design # ifupdown-ptest \ # Tested separately in lib/oeqa/selftest/cases/imagefeatures.py # mdadm-ptest \ # Tests rely on non-deterministic sleep() amounts +# libinput-ptest \ # Tests need an unloaded system to be reliable #" PTESTS_SLOW = "\ @@ -72,7 +73,6 @@ PTESTS_SLOW = "\ glib-2.0-ptest \ gstreamer1.0-ptest \ libevent-ptest \ - libinput-ptest \ lttng-tools-ptest \ openssh-ptest \ openssl-ptest \ diff --git a/poky/meta/conf/image-uefi.conf b/poky/meta/conf/image-uefi.conf index 882a0e720..6ef011e23 100644 --- a/poky/meta/conf/image-uefi.conf +++ b/poky/meta/conf/image-uefi.conf @@ -14,6 +14,8 @@ EFI_ARCH_x86 = "ia32" EFI_ARCH_x86-64 = "x64" EFI_ARCH_aarch64 = "aa64" EFI_ARCH_arm = "arm" +EFI_ARCH_riscv32 = "riscv32" +EFI_ARCH_riscv64 = "riscv64" # Determine name of bootloader image EFI_BOOT_IMAGE ?= "boot${EFI_ARCH}.efi" diff --git a/poky/meta/conf/layer.conf b/poky/meta/conf/layer.conf index cda37c33b..5210fd461 100644 --- a/poky/meta/conf/layer.conf +++ b/poky/meta/conf/layer.conf @@ -7,12 +7,12 @@ BBFILE_COLLECTIONS += "core" BBFILE_PATTERN_core = "^${LAYERDIR}/" BBFILE_PRIORITY_core = "5" -LAYERSERIES_CORENAMES = "gatesgarth" +LAYERSERIES_CORENAMES = "hardknott" # This should only be incremented on significant changes that will # cause compatibility issues with other layers LAYERVERSION_core = "12" -LAYERSERIES_COMPAT_core = "gatesgarth" +LAYERSERIES_COMPAT_core = "hardknott" BBLAYERS_LAYERINDEX_NAME_core = "openembedded-core" diff --git a/poky/meta/conf/machine/include/powerpc/arch-powerpc64.inc b/poky/meta/conf/machine/include/powerpc/arch-powerpc64.inc index cf5c3ef8e..467abc5fa 100644 --- a/poky/meta/conf/machine/include/powerpc/arch-powerpc64.inc +++ b/poky/meta/conf/machine/include/powerpc/arch-powerpc64.inc @@ -10,9 +10,6 @@ TUNE_ARCH .= "${@bb.utils.contains('TUNE_FEATURES', [ 'm64' ], 'powerpc64${ENDIA # musl only supports elfv2 ABI for ppc64 TUNE_CCARGS .= "${@['', ' -mabi=elfv2']['libc-musl' in d.getVar('OVERRIDES').split(':')]}" -# user mode qemu doesn't support ppc64 -MACHINE_FEATURES_BACKFILL_CONSIDERED_append = " ${@bb.utils.contains('TUNE_FEATURES', 'm64', 'qemu-usermode', '', d)}" - AVAILTUNES += "powerpc64 powerpc64le" TUNE_FEATURES_tune-powerpc64 = "m64 fpu-hard bigendian" diff --git a/poky/meta/conf/machine/include/qemuboot-mips.inc b/poky/meta/conf/machine/include/qemuboot-mips.inc index 230f032c5..4954f3068 100644 --- a/poky/meta/conf/machine/include/qemuboot-mips.inc +++ b/poky/meta/conf/machine/include/qemuboot-mips.inc @@ -5,4 +5,4 @@ QB_KERNEL_CMDLINE_APPEND = "console=ttyS0 console=tty" QB_OPT_APPEND = "-usb -device usb-tablet" # For graphics to work we need to define the VGA device as well as the necessary USB devices -QB_OPT_APPEND += "-vga std" +QB_GRAPHICS = "-vga std" diff --git a/poky/meta/conf/machine/include/tune-cortexa32.inc b/poky/meta/conf/machine/include/tune-cortexa32.inc index e86de6ccb..b9ae2b1c5 100644 --- a/poky/meta/conf/machine/include/tune-cortexa32.inc +++ b/poky/meta/conf/machine/include/tune-cortexa32.inc @@ -9,9 +9,9 @@ require conf/machine/include/arm/arch-armv8a.inc AVAILTUNES += "cortexa32 cortexa32-crypto" ARMPKGARCH_tune-cortexa32 = "cortexa32" ARMPKGARCH_tune-cortexa32-crypto = "cortexa32" -TUNE_FEATURES_tune-cortexa32 = "armv8a cortexa32 crc" +TUNE_FEATURES_tune-cortexa32 = "armv8a cortexa32 crc callconvention-hard neon" TUNE_FEATURES_tune-cortexa32-crypto = "${TUNE_FEATURES_tune-cortexa32} crypto" -PACKAGE_EXTRA_ARCHS_tune-cortexa32 = "${PACKAGE_EXTRA_ARCHS_tune-armv8a-crc} cortexa32" -PACKAGE_EXTRA_ARCHS_tune-cortexa32-crypto = "${PACKAGE_EXTRA_ARCHS_tune-armv8a-crc-crypto} cortexa32 cortexa32-crypto" +PACKAGE_EXTRA_ARCHS_tune-cortexa32 = "${PACKAGE_EXTRA_ARCHS_tune-armv8a-crc} cortexa32 cortexa32hf-neon" +PACKAGE_EXTRA_ARCHS_tune-cortexa32-crypto = "${PACKAGE_EXTRA_ARCHS_tune-armv8a-crc-crypto} cortexa32 cortexa32hf-neon cortexa32hf-neon-crypto" BASE_LIB_tune-cortexa32 = "lib" BASE_LIB_tune-cortexa32-crypto = "lib" diff --git a/poky/meta/conf/machine/qemuarm.conf b/poky/meta/conf/machine/qemuarm.conf index 257cfa3e6..e5ec4cc06 100644 --- a/poky/meta/conf/machine/qemuarm.conf +++ b/poky/meta/conf/machine/qemuarm.conf @@ -17,10 +17,10 @@ QB_SYSTEM_NAME = "qemu-system-arm" QB_MACHINE = "-machine virt,highmem=off" QB_CPU = "-cpu cortex-a15" # Standard Serial console -QB_KERNEL_CMDLINE_APPEND = "console=ttyAMA0 vmalloc=256" +QB_KERNEL_CMDLINE_APPEND = "vmalloc=256" # For graphics to work we need to define the VGA device as well as the necessary USB devices -QB_OPT_APPEND = "-device VGA,edid=on" -QB_OPT_APPEND += "-device qemu-xhci -device usb-tablet -device usb-kbd" +QB_GRAPHICS = "-device VGA,edid=on" +QB_OPT_APPEND = "-device qemu-xhci -device usb-tablet -device usb-kbd" # Virtio Networking support QB_TAP_OPT = "-netdev tap,id=net0,ifname=@TAP@,script=no,downscript=no" QB_NETWORK_DEVICE = "-device virtio-net-device,netdev=net0,mac=@MAC@" diff --git a/poky/meta/conf/machine/qemuarm64.conf b/poky/meta/conf/machine/qemuarm64.conf index 2f61eb0ae..51f7ecdcf 100644 --- a/poky/meta/conf/machine/qemuarm64.conf +++ b/poky/meta/conf/machine/qemuarm64.conf @@ -17,11 +17,9 @@ QB_SYSTEM_NAME = "qemu-system-aarch64" QB_MACHINE = "-machine virt" QB_CPU = "-cpu cortex-a57" QB_CPU_KVM = "-cpu host -machine gic-version=3" -# Standard Serial console -QB_KERNEL_CMDLINE_APPEND = "console=ttyAMA0" # For graphics to work we need to define the VGA device as well as the necessary USB devices -QB_OPT_APPEND = "-device VGA,edid=on" -QB_OPT_APPEND += "-device qemu-xhci -device usb-tablet -device usb-kbd" +QB_GRAPHICS = "-device VGA,edid=on" +QB_OPT_APPEND = "-device qemu-xhci -device usb-tablet -device usb-kbd" # Virtio Networking support QB_TAP_OPT = "-netdev tap,id=net0,ifname=@TAP@,script=no,downscript=no" QB_NETWORK_DEVICE = "-device virtio-net-device,netdev=net0,mac=@MAC@" diff --git a/poky/meta/conf/machine/qemuarmv5.conf b/poky/meta/conf/machine/qemuarmv5.conf index dfe2a8957..7050bae08 100644 --- a/poky/meta/conf/machine/qemuarmv5.conf +++ b/poky/meta/conf/machine/qemuarmv5.conf @@ -12,7 +12,7 @@ SERIAL_CONSOLES ?= "115200;ttyAMA0 115200;ttyAMA1" # For runqemu QB_SYSTEM_NAME = "qemu-system-arm" QB_MACHINE = "-machine versatilepb" -QB_KERNEL_CMDLINE_APPEND = "console=ttyAMA0,115200 console=tty vmalloc=256" +QB_KERNEL_CMDLINE_APPEND = "vmalloc=256" QB_OPT_APPEND = "-usb -device usb-tablet" PREFERRED_VERSION_linux-yocto ??= "5.10%" QB_DTB = "${@oe.utils.version_less_or_equal('PREFERRED_VERSION_linux-yocto', '4.7', '', 'zImage-versatile-pb.dtb', d)}" diff --git a/poky/meta/conf/machine/qemuppc64.conf b/poky/meta/conf/machine/qemuppc64.conf new file mode 100644 index 000000000..0682e752b --- /dev/null +++ b/poky/meta/conf/machine/qemuppc64.conf @@ -0,0 +1,24 @@ +#@TYPE: Machine +#@NAME: QEMU PPC64 machine +#@DESCRIPTION: Machine configuration for running a PPC system on QEMU + +require conf/machine/include/qemu.inc +require conf/machine/include/tune-power9.inc + +KERNEL_IMAGETYPE = "vmlinux" + +SERIAL_CONSOLES ?= "115200;hvc0" + +# For runqemu +QB_SYSTEM_NAME = "qemu-system-ppc64" +QB_MACHINE = "-machine pseries" +QB_CPU = "-cpu POWER9" +QB_KERNEL_CMDLINE_APPEND = "console=hvc0" +#QB_OPT_APPEND += "-device qemu-xhci -device usb-tablet -device usb-kbd" +QB_OPT_APPEND = "-usb -device usb-tablet" + +#prelink broken on ppc64 +#USER_CLASSES_remove = "image-prelink" +#IMAGE_PREPROCESS_COMMAND_remove = "prelink_image;" + +MACHINE_EXTRA_RRECOMMENDS += " kernel-modules" diff --git a/poky/meta/conf/machine/qemuriscv32.conf b/poky/meta/conf/machine/qemuriscv32.conf new file mode 100644 index 000000000..d3858dc05 --- /dev/null +++ b/poky/meta/conf/machine/qemuriscv32.conf @@ -0,0 +1,16 @@ +#@TYPE: Machine +#@NAME: generic riscv32 machine +#@DESCRIPTION: Machine configuration for running a generic riscv32 + +require conf/machine/include/riscv/qemuriscv.inc + +DEFAULTTUNE = "riscv32" + +PREFERRED_VERSION_openocd-native = "riscv" +PREFERRED_VERSION_openocd = "riscv" + +XVISOR_PLAT = "riscv/virt32" + +EXTRA_IMAGEDEPENDS += "u-boot" +UBOOT_MACHINE = "qemu-riscv32_smode_defconfig" +UBOOT_ELF = "u-boot" diff --git a/poky/meta/files/ext-sdk-prepare.py b/poky/meta/files/ext-sdk-prepare.py index 163d5e991..d191e5e19 100644 --- a/poky/meta/files/ext-sdk-prepare.py +++ b/poky/meta/files/ext-sdk-prepare.py @@ -44,6 +44,23 @@ def main(): sdk_targets = [] else: sdk_targets = ' '.join(sys.argv[2:]).split() + + prserv = os.path.join(os.path.dirname(os.path.realpath(__file__)), 'conf', 'prserv.inc') + if os.path.isfile(prserv): + with open(logfile, 'a') as logf: + logf.write('Importing PR data...\n') + + ret = run_command_interruptible('bitbake-prserv-tool import %s' % prserv) + + lastlog = get_last_consolelog() + if lastlog: + with open(lastlog, 'r') as f: + for line in f: + logf.write(line) + if ret: + print('ERROR: PR data import failed: error log written to %s' % logfile) + return ret + if not sdk_targets: # Just do a parse so the cache is primed ret = run_command_interruptible('bitbake -p --quiet') diff --git a/poky/meta/lib/bblayers/create.py b/poky/meta/lib/bblayers/create.py index 542f31fc8..7ddb777dc 100644 --- a/poky/meta/lib/bblayers/create.py +++ b/poky/meta/lib/bblayers/create.py @@ -35,6 +35,7 @@ class CreatePlugin(LayerPlugin): bb.utils.mkdirhier(conf) layername = os.path.basename(os.path.normpath(args.layerdir)) + layerid = args.layerid if args.layerid is not None else layername # Create the README from templates/README readme_template = read_template('README').format(layername=layername) @@ -54,7 +55,7 @@ class CreatePlugin(LayerPlugin): # Create the layer.conf from templates/layer.conf layerconf_template = read_template('layer.conf').format( - layername=layername, priority=args.priority, compat=compat) + layerid=layerid, priority=args.priority, compat=compat) layerconf = os.path.join(conf, 'layer.conf') with open(layerconf, 'w') as fd: fd.write(layerconf_template) @@ -71,7 +72,8 @@ class CreatePlugin(LayerPlugin): def register_commands(self, sp): parser_create_layer = self.add_command(sp, 'create-layer', self.do_create_layer, parserecipes=False) parser_create_layer.add_argument('layerdir', help='Layer directory to create') - parser_create_layer.add_argument('--priority', '-p', default=6, help='Layer directory to create') + parser_create_layer.add_argument('--layerid', '-i', help='Layer id to use if different from layername') + parser_create_layer.add_argument('--priority', '-p', default=6, help='Priority of recipes in layer') parser_create_layer.add_argument('--example-recipe-name', '-e', dest='examplerecipe', default='example', help='Filename of the example recipe') parser_create_layer.add_argument('--example-recipe-version', '-v', dest='version', default='0.1', help='Version number for the example recipe') diff --git a/poky/meta/lib/bblayers/templates/layer.conf b/poky/meta/lib/bblayers/templates/layer.conf index e2eaff434..dddfbf716 100644 --- a/poky/meta/lib/bblayers/templates/layer.conf +++ b/poky/meta/lib/bblayers/templates/layer.conf @@ -5,9 +5,9 @@ BBPATH .= ":${{LAYERDIR}}" BBFILES += "${{LAYERDIR}}/recipes-*/*/*.bb \ ${{LAYERDIR}}/recipes-*/*/*.bbappend" -BBFILE_COLLECTIONS += "{layername}" -BBFILE_PATTERN_{layername} = "^${{LAYERDIR}}/" -BBFILE_PRIORITY_{layername} = "{priority}" +BBFILE_COLLECTIONS += "{layerid}" +BBFILE_PATTERN_{layerid} = "^${{LAYERDIR}}/" +BBFILE_PRIORITY_{layerid} = "{priority}" -LAYERDEPENDS_{layername} = "core" -LAYERSERIES_COMPAT_{layername} = "{compat}" +LAYERDEPENDS_{layerid} = "core" +LAYERSERIES_COMPAT_{layerid} = "{compat}" diff --git a/poky/meta/lib/oe/copy_buildsystem.py b/poky/meta/lib/oe/copy_buildsystem.py index 31a84f5b0..d97bf9d1b 100644 --- a/poky/meta/lib/oe/copy_buildsystem.py +++ b/poky/meta/lib/oe/copy_buildsystem.py @@ -20,7 +20,7 @@ def _smart_copy(src, dest): mode = os.stat(src).st_mode if stat.S_ISDIR(mode): bb.utils.mkdirhier(dest) - cmd = "tar --exclude='.git' --xattrs --xattrs-include='*' -chf - -C %s -p . \ + cmd = "tar --exclude='.git' --exclude='__pycache__' --xattrs --xattrs-include='*' -chf - -C %s -p . \ | tar --xattrs --xattrs-include='*' -xf - -C %s" % (src, dest) subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT) else: @@ -259,7 +259,7 @@ def create_locked_sstate_cache(lockedsigs, input_sstate_cache, output_sstate_cac bb.note('Generating sstate-cache...') nativelsbstring = d.getVar('NATIVELSBSTRING') - bb.process.run("gen-lockedsig-cache %s %s %s %s %s" % (lockedsigs, input_sstate_cache, output_sstate_cache, nativelsbstring, filterfile or '')) + bb.process.run("PYTHONDONTWRITEBYTECODE=1 gen-lockedsig-cache %s %s %s %s %s" % (lockedsigs, input_sstate_cache, output_sstate_cache, nativelsbstring, filterfile or '')) if fixedlsbstring and nativelsbstring != fixedlsbstring: nativedir = output_sstate_cache + '/' + nativelsbstring if os.path.isdir(nativedir): @@ -286,7 +286,7 @@ def check_sstate_task_list(d, targets, filteroutfile, cmdprefix='', cwd=None, lo logparam = '-l %s' % logfile else: logparam = '' - cmd = "%sBB_SETSCENE_ENFORCE=1 PSEUDO_DISABLED=1 oe-check-sstate %s -s -o %s %s" % (cmdprefix, targets, filteroutfile, logparam) + cmd = "%sPYTHONDONTWRITEBYTECODE=1 BB_SETSCENE_ENFORCE=1 PSEUDO_DISABLED=1 oe-check-sstate %s -s -o %s %s" % (cmdprefix, targets, filteroutfile, logparam) env = dict(d.getVar('BB_ORIGENV', False)) env.pop('BUILDDIR', '') env.pop('BBPATH', '') diff --git a/poky/meta/lib/oe/cve_check.py b/poky/meta/lib/oe/cve_check.py index ce755f940..a1d7c292a 100644 --- a/poky/meta/lib/oe/cve_check.py +++ b/poky/meta/lib/oe/cve_check.py @@ -11,8 +11,13 @@ _Version = collections.namedtuple( class Version(): def __init__(self, version, suffix=None): + + suffixes = ["alphabetical", "patch"] + if str(suffix) == "alphabetical": version_pattern = r"""r?v?(?:(?P[0-9]+(?:[-\.][0-9]+)*)(?P[-_\.]?(?P[a-z]))?(?P
[-_\.]?(?P(rc|alpha|beta|pre|preview|dev))[-_\.]?(?P[0-9]+)?)?)(.*)?"""
+        elif str(suffix) == "patch":
+            version_pattern =  r"""r?v?(?:(?P[0-9]+(?:[-\.][0-9]+)*)(?P[-_\.]?(p|patch)(?P[0-9]+))?(?P
[-_\.]?(?P(rc|alpha|beta|pre|preview|dev))[-_\.]?(?P[0-9]+)?)?)(.*)?"""
         else:
             version_pattern =  r"""r?v?(?:(?P[0-9]+(?:[-\.][0-9]+)*)(?P
[-_\.]?(?P(rc|alpha|beta|pre|preview|dev))[-_\.]?(?P[0-9]+)?)?)(.*)?"""
         regex = re.compile(r"^\s*" + version_pattern + r"\s*$", re.VERBOSE | re.IGNORECASE)
@@ -23,7 +28,7 @@ class Version():
 
         self._version = _Version(
             release=tuple(int(i) for i in match.group("release").replace("-",".").split(".")),
-            patch_l=match.group("patch_l") if str(suffix) == "alphabetical" and match.group("patch_l") else "",
+            patch_l=match.group("patch_l") if str(suffix) in suffixes and match.group("patch_l") else "",
             pre_l=match.group("pre_l"),
             pre_v=match.group("pre_v")
         )
diff --git a/poky/meta/lib/oe/rootfs.py b/poky/meta/lib/oe/rootfs.py
index 249c685dc..5f8102304 100644
--- a/poky/meta/lib/oe/rootfs.py
+++ b/poky/meta/lib/oe/rootfs.py
@@ -250,13 +250,11 @@ class Rootfs(object, metaclass=ABCMeta):
 
 
     def _uninstall_unneeded(self):
-        # Remove unneeded init script symlinks
+        # Remove the run-postinsts package if no delayed postinsts are found
         delayed_postinsts = self._get_delayed_postinsts()
         if delayed_postinsts is None:
-            if os.path.exists(self.d.expand("${IMAGE_ROOTFS}${sysconfdir}/init.d/run-postinsts")):
-                self._exec_shell_cmd(["update-rc.d", "-f", "-r",
-                                      self.d.getVar('IMAGE_ROOTFS'),
-                                      "run-postinsts", "remove"])
+            if os.path.exists(self.d.expand("${IMAGE_ROOTFS}${sysconfdir}/init.d/run-postinsts")) or os.path.exists(self.d.expand("${IMAGE_ROOTFS}${systemd_unitdir}/system/run-postinsts.service")):
+                self.pm.remove(["run-postinsts"])
 
         image_rorfs = bb.utils.contains("IMAGE_FEATURES", "read-only-rootfs",
                                         True, False, self.d)
diff --git a/poky/meta/lib/oe/utils.py b/poky/meta/lib/oe/utils.py
index 9a2187e36..a84039f58 100644
--- a/poky/meta/lib/oe/utils.py
+++ b/poky/meta/lib/oe/utils.py
@@ -536,3 +536,34 @@ class ImageQAFailed(Exception):
 def sh_quote(string):
     import shlex
     return shlex.quote(string)
+
+def directory_size(root, blocksize=4096):
+    """
+    Calculate the size of the directory, taking into account hard links,
+    rounding up every size to multiples of the blocksize.
+    """
+    def roundup(size):
+        """
+        Round the size up to the nearest multiple of the block size.
+        """
+        import math
+        return math.ceil(size / blocksize) * blocksize
+
+    def getsize(filename):
+        """
+        Get the size of the filename, not following symlinks, taking into
+        account hard links.
+        """
+        stat = os.lstat(filename)
+        if stat.st_ino not in inodes:
+            inodes.add(stat.st_ino)
+            return stat.st_size
+        else:
+            return 0
+
+    inodes = set()
+    total = 0
+    for root, dirs, files in os.walk(root):
+        total += sum(roundup(getsize(os.path.join(root, name))) for name in files)
+        total += roundup(getsize(root))
+    return total
diff --git a/poky/meta/lib/oeqa/runtime/cases/parselogs.py b/poky/meta/lib/oeqa/runtime/cases/parselogs.py
index a1791b5cc..4714741af 100644
--- a/poky/meta/lib/oeqa/runtime/cases/parselogs.py
+++ b/poky/meta/lib/oeqa/runtime/cases/parselogs.py
@@ -114,6 +114,11 @@ ignore_errors = {
         'can\'t handle BAR above 4GB',
         'Cannot reserve Legacy IO',
         ] + common_errors,
+    'qemuppc64' : [
+        'vio vio: uevent: failed to send synthetic uevent',
+        'synth uevent: /devices/vio: failed to send uevent',
+        'PCI 0000:00 Cannot reserve Legacy IO [io  0x10000-0x10fff]',
+        ] + common_errors,
     'qemuarm' : [
         'mmci-pl18x: probe of fpga:05 failed with error -22',
         'mmci-pl18x: probe of fpga:0b failed with error -22',
diff --git a/poky/meta/lib/oeqa/runtime/cases/weston.py b/poky/meta/lib/oeqa/runtime/cases/weston.py
index a1c718321..b3a7c2776 100644
--- a/poky/meta/lib/oeqa/runtime/cases/weston.py
+++ b/poky/meta/lib/oeqa/runtime/cases/weston.py
@@ -53,7 +53,11 @@ class WestonTest(OERuntimeTestCase):
 
     @OEHasPackage(['wayland-utils'])
     def test_wayland_info(self):
-        status, output = self.target.run(self.get_weston_command('wayland-info'))
+        if 'systemd' in self.tc.td['VIRTUAL-RUNTIME_init_manager']:
+            command = 'XDG_RUNTIME_DIR=/run wayland-info'
+        else:
+            command = self.get_weston_command('wayland-info')
+        status, output = self.target.run(command)
         self.assertEqual(status, 0, msg='wayland-info error: %s' % output)
 
     @OEHasPackage(['weston'])
diff --git a/poky/meta/lib/oeqa/selftest/cases/buildoptions.py b/poky/meta/lib/oeqa/selftest/cases/buildoptions.py
index 3495bee98..20fe8ed8f 100644
--- a/poky/meta/lib/oeqa/selftest/cases/buildoptions.py
+++ b/poky/meta/lib/oeqa/selftest/cases/buildoptions.py
@@ -197,3 +197,9 @@ PREMIRRORS = "\\
 
         bitbake("world --runall fetch")
 
+
+class Poisoning(OESelftestTestCase):
+    def test_poisoning(self):
+        res = bitbake("poison", ignore_status=True)
+        self.assertNotEqual(res.status, 0)
+        self.assertTrue("is unsafe for cross-compilation" in res.output)
diff --git a/poky/meta/lib/oeqa/selftest/cases/cve_check.py b/poky/meta/lib/oeqa/selftest/cases/cve_check.py
index 3f343a284..d1947baff 100644
--- a/poky/meta/lib/oeqa/selftest/cases/cve_check.py
+++ b/poky/meta/lib/oeqa/selftest/cases/cve_check.py
@@ -34,3 +34,11 @@ class CVECheck(OESelftestTestCase):
         self.assertTrue( result ,msg="Failed to compare version with suffix '1.0b' < '1.0r'")
         result = Version("1.0b","alphabetical") > Version("1.0","alphabetical")
         self.assertTrue( result ,msg="Failed to compare version with suffix '1.0b' > '1.0'")
+
+        # consider the trailing "p" and "patch" as patched released when comparing
+        result = Version("1.0","patch") < Version("1.0p1","patch")
+        self.assertTrue( result ,msg="Failed to compare version with suffix '1.0' < '1.0p1'")
+        result = Version("1.0p2","patch") > Version("1.0p1","patch")
+        self.assertTrue( result ,msg="Failed to compare version with suffix '1.0p2' > '1.0p1'")
+        result = Version("1.0_patch2","patch") < Version("1.0_patch3","patch")
+        self.assertTrue( result ,msg="Failed to compare version with suffix '1.0_patch2' < '1.0_patch3'")
diff --git a/poky/meta/lib/oeqa/selftest/cases/distrodata.py b/poky/meta/lib/oeqa/selftest/cases/distrodata.py
index e1cfc3b62..fbc0c2a98 100644
--- a/poky/meta/lib/oeqa/selftest/cases/distrodata.py
+++ b/poky/meta/lib/oeqa/selftest/cases/distrodata.py
@@ -40,6 +40,42 @@ but their recipes claim otherwise by setting UPSTREAM_VERSION_UNKNOWN. Please re
 """ + "\n".join(regressed_successes)
         self.assertTrue(len(regressed_failures) == 0 and len(regressed_successes) == 0, msg)
 
+    def test_missing_homepg(self):
+        """
+        Summary:     Test for oe-core recipes that don't have a HOMEPAGE or DESCRIPTION
+        Expected:    All oe-core recipes should have a DESCRIPTION entry
+        Expected:    All oe-core recipes should have a HOMEPAGE entry except for recipes that are not fetched from external sources.
+        Product:     oe-core
+        """
+        with bb.tinfoil.Tinfoil() as tinfoil:
+            tinfoil.prepare(config_only=False)
+            no_description = []
+            no_homepage = []
+            for fn in tinfoil.all_recipe_files(variants=False):
+                if not '/meta/recipes-' in fn:
+                    # We are only interested in OE-Core
+                    continue
+                rd = tinfoil.parse_recipe_file(fn, appends=False)
+                pn = rd.getVar('BPN')
+                srcfile = rd.getVar('SRC_URI').split()
+                #Since DESCRIPTION defaults to SUMMARY if not set, we are only interested in recipes without DESCRIPTION or SUMMARY
+                if not (rd.getVar('SUMMARY') or rd.getVar('DESCRIPTION')):
+                    no_description.append((pn, fn))
+                if not rd.getVar('HOMEPAGE'):
+                    if srcfile and srcfile[0].startswith('file') or not rd.getVar('SRC_URI'):
+                        # We are only interested in recipes SRC_URI fetched from external sources
+                        continue
+                    no_homepage.append((pn, fn))
+        if no_homepage:
+            self.fail("""
+The following recipes do not have a HOMEPAGE. Please add an entry for HOMEPAGE in the recipe.
+""" + "\n".join(['%s (%s)' % i for i in no_homepage]))
+
+        if no_description:
+            self.fail("""
+The following recipes do not have a DESCRIPTION. Please add an entry for DESCRIPTION in the recipe.
+""" + "\n".join(['%s (%s)' % i for i in no_description]))
+
     def test_maintainers(self):
         """
         Summary:     Test that oe-core recipes have a maintainer and entries in maintainers list have a recipe
diff --git a/poky/meta/lib/oeqa/selftest/cases/reproducible.py b/poky/meta/lib/oeqa/selftest/cases/reproducible.py
index 0d0259477..a62757399 100644
--- a/poky/meta/lib/oeqa/selftest/cases/reproducible.py
+++ b/poky/meta/lib/oeqa/selftest/cases/reproducible.py
@@ -29,14 +29,10 @@ import datetime
 #https://autobuilder.yocto.io/pub/repro-fail/oe-reproducible-20210215-0_td9la2/packages/diff-html/
 exclude_packages = [
 	'glide',
-	'go-dep',
 	'go-helloworld',
 	'go-runtime',
 	'go_',
 	'go-',
-	'meson',
-	'ovmf-shell-efi',
-	'perf',
 	'ruby-ri-docs'
 	]
 
diff --git a/poky/meta/lib/oeqa/selftest/cases/wic.py b/poky/meta/lib/oeqa/selftest/cases/wic.py
index 2bf5cb9a8..fa81584a8 100644
--- a/poky/meta/lib/oeqa/selftest/cases/wic.py
+++ b/poky/meta/lib/oeqa/selftest/cases/wic.py
@@ -979,14 +979,18 @@ class Wic2(WicTestCase):
     @only_for_arch(['i586', 'i686', 'x86_64'])
     def test_rawcopy_plugin_qemu(self):
         """Test rawcopy plugin in qemu"""
-        # build ext4 and wic images
-        for fstype in ("ext4", "wic"):
-            config = 'IMAGE_FSTYPES = "%s"\nWKS_FILE = "test_rawcopy_plugin.wks.in"\n' % fstype
-            self.append_config(config)
-            self.assertEqual(0, bitbake('core-image-minimal').status)
-            self.remove_config(config)
+        # build ext4 and then use it for a wic image
+        config = 'IMAGE_FSTYPES = "ext4"\n'
+        self.append_config(config)
+        self.assertEqual(0, bitbake('core-image-minimal').status)
+        self.remove_config(config)
 
-        with runqemu('core-image-minimal', ssh=False, image_fstype='wic') as qemu:
+        config = 'IMAGE_FSTYPES = "wic"\nWKS_FILE = "test_rawcopy_plugin.wks.in"\n'
+        self.append_config(config)
+        self.assertEqual(0, bitbake('core-image-minimal-mtdutils').status)
+        self.remove_config(config)
+
+        with runqemu('core-image-minimal-mtdutils', ssh=False, image_fstype='wic') as qemu:
             cmd = "grep sda. /proc/partitions  |wc -l"
             status, output = qemu.run_serial(cmd)
             self.assertEqual(1, status, 'Failed to run command "%s": %s' % (cmd, output))
diff --git a/poky/meta/lib/oeqa/utils/qemurunner.py b/poky/meta/lib/oeqa/utils/qemurunner.py
index 77ec939ad..eb23dbceb 100644
--- a/poky/meta/lib/oeqa/utils/qemurunner.py
+++ b/poky/meta/lib/oeqa/utils/qemurunner.py
@@ -176,7 +176,7 @@ class QemuRunner:
             self.logger.error("Failed to create listening socket: %s" % msg[1])
             return False
 
-        bootparams = 'console=tty1 console=ttyS0,115200n8 printk.time=1'
+        bootparams = ' printk.time=1'
         if extra_bootparams:
             bootparams = bootparams + ' ' + extra_bootparams
 
diff --git a/poky/meta/recipes-bsp/formfactor/files/qemuppc64/machconfig b/poky/meta/recipes-bsp/formfactor/files/qemuppc64/machconfig
new file mode 100755
index 000000000..e4717730e
--- /dev/null
+++ b/poky/meta/recipes-bsp/formfactor/files/qemuppc64/machconfig
@@ -0,0 +1,10 @@
+HAVE_TOUCHSCREEN=0
+HAVE_KEYBOARD=0
+ 
+DISPLAY_CAN_ROTATE=0
+DISPLAY_ORIENTATION=0
+#DISPLAY_WIDTH_PIXELS=640
+#DISPLAY_HEIGHT_PIXELS=480
+#DISPLAY_BPP=16
+DISPLAY_DPI=150
+DISPLAY_SUBPIXEL_ORDER=vrgb
diff --git a/poky/meta/recipes-bsp/grub/files/0001-RISC-V-Restore-the-typcast-to-long.patch b/poky/meta/recipes-bsp/grub/files/0001-RISC-V-Restore-the-typcast-to-long.patch
new file mode 100644
index 000000000..2f15a91f6
--- /dev/null
+++ b/poky/meta/recipes-bsp/grub/files/0001-RISC-V-Restore-the-typcast-to-long.patch
@@ -0,0 +1,39 @@
+From e4c41db74b8972285cbdfe614c95c1ffd97d70e1 Mon Sep 17 00:00:00 2001
+From: Khem Raj 
+Date: Fri, 26 Mar 2021 11:59:43 -0700
+Subject: [PATCH] RISC-V: Restore the typcast to 64bit type
+
+this makes the type promotions clear and explicit
+It was already typecasted to long but was accidentally dropped in [1]
+which stated to cause failures on riscv32 as reported in [2]
+
+[1] https://git.savannah.gnu.org/cgit/grub.git/commit/?id=2bf40e9e5be9808b17852e688eead87acff14420
+[2] https://savannah.gnu.org/bugs/index.php?60283
+
+Upstream-Status: Submitted
+Signed-off-by: Khem Raj 
+Cc: Andreas Schwab 
+Cc: Daniel Kiper 
+Cc: Chester Lin 
+Cc: Nikita Ermakov 
+Cc: Alistair Francis 
+---
+ util/grub-mkimagexx.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/util/grub-mkimagexx.c b/util/grub-mkimagexx.c
+index 00f49ccaa..ac677d03d 100644
+--- a/util/grub-mkimagexx.c
++++ b/util/grub-mkimagexx.c
+@@ -1242,7 +1242,7 @@ SUFFIX (relocate_addrs) (Elf_Ehdr *e, struct section_metadata *smd,
+ 		  */
+ 
+ 		 sym_addr += addend;
+-		 off = sym_addr - target_section_addr - offset - image_target->vaddr_offset;
++		 off = (grub_int64_t)sym_addr - target_section_addr - offset - image_target->vaddr_offset;
+ 
+ 		 switch (ELF_R_TYPE (info))
+ 		   {
+-- 
+2.31.1
+
diff --git a/poky/meta/recipes-bsp/grub/files/6643507ce30f775008e093580f0c9499dfb2c485.patch b/poky/meta/recipes-bsp/grub/files/6643507ce30f775008e093580f0c9499dfb2c485.patch
deleted file mode 100644
index 8aa209144..000000000
--- a/poky/meta/recipes-bsp/grub/files/6643507ce30f775008e093580f0c9499dfb2c485.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From 6643507ce30f775008e093580f0c9499dfb2c485 Mon Sep 17 00:00:00 2001
-From: Simon Hardy 
-Date: Tue, 24 Mar 2020 13:29:12 +0000
-Subject: build: Fix GRUB i386-pc build with Ubuntu gcc
-
-With recent versions of gcc on Ubuntu a very large lzma_decompress.img file is
-output. (e.g. 134479600 bytes instead of 2864.) This causes grub-mkimage to
-fail with: "error: Decompressor is too big."
-
-This seems to be caused by a section .note.gnu.property that is placed at an
-offset such that objcopy needs to pad the img file with zeros.
-
-This issue is present on:
-Ubuntu 19.10 with gcc (Ubuntu 8.3.0-26ubuntu1~19.10) 8.3.0
-Ubuntu 19.10 with gcc (Ubuntu 9.2.1-9ubuntu2) 9.2.1 20191008
-
-This issue is not present on:
-Ubuntu 19.10 with gcc (Ubuntu 7.5.0-3ubuntu1~19.10) 7.5.0
-RHEL 8.0 with gcc 8.3.1 20190507 (Red Hat 8.3.1-4)
-
-The issue can be fixed by removing the section using objcopy as shown in
-this patch.
-
-Signed-off-by: Simon Hardy 
-Reviewed-by: Daniel Kiper 
----
- gentpl.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-Upstream-Status: Backport
-
-diff --git a/gentpl.py b/gentpl.py
-index 387588c05..c86550d4f 100644
---- a/gentpl.py
-+++ b/gentpl.py
-@@ -766,7 +766,7 @@ def image(defn, platform):
- if test x$(TARGET_APPLE_LINKER) = x1; then \
-   $(MACHO2IMG) $< $@; \
- else \
--  $(TARGET_OBJCOPY) $(""" + cname(defn) + """_OBJCOPYFLAGS) --strip-unneeded -R .note -R .comment -R .note.gnu.build-id -R .MIPS.abiflags -R .reginfo -R .rel.dyn -R .note.gnu.gold-version -R .ARM.exidx $< $@; \
-+  $(TARGET_OBJCOPY) $(""" + cname(defn) + """_OBJCOPYFLAGS) --strip-unneeded -R .note -R .comment -R .note.gnu.build-id -R .MIPS.abiflags -R .reginfo -R .rel.dyn -R .note.gnu.gold-version -R .note.gnu.property -R .ARM.exidx $< $@; \
- fi
- """)
- 
--- 
-cgit v1.2.1
-
diff --git a/poky/meta/recipes-bsp/grub/files/CVE-2020-10713.patch b/poky/meta/recipes-bsp/grub/files/CVE-2020-10713.patch
deleted file mode 100644
index c507ed3ea..000000000
--- a/poky/meta/recipes-bsp/grub/files/CVE-2020-10713.patch
+++ /dev/null
@@ -1,73 +0,0 @@
-From a4d3fbdff1e3ca8f87642af2ac8752c30c617a3e Mon Sep 17 00:00:00 2001
-From: Peter Jones 
-Date: Wed, 15 Apr 2020 15:45:02 -0400
-Subject: yylex: Make lexer fatal errors actually be fatal
-
-When presented with a command that can't be tokenized to anything
-smaller than YYLMAX characters, the parser calls YY_FATAL_ERROR(errmsg),
-expecting that will stop further processing, as such:
-
-  #define YY_DO_BEFORE_ACTION \
-        yyg->yytext_ptr = yy_bp; \
-        yyleng = (int) (yy_cp - yy_bp); \
-        yyg->yy_hold_char = *yy_cp; \
-        *yy_cp = '\0'; \
-        if ( yyleng >= YYLMAX ) \
-                YY_FATAL_ERROR( "token too large, exceeds YYLMAX" ); \
-        yy_flex_strncpy( yytext, yyg->yytext_ptr, yyleng + 1 , yyscanner); \
-        yyg->yy_c_buf_p = yy_cp;
-
-The code flex generates expects that YY_FATAL_ERROR() will either return
-for it or do some form of longjmp(), or handle the error in some way at
-least, and so the strncpy() call isn't in an "else" clause, and thus if
-YY_FATAL_ERROR() is *not* actually fatal, it does the call with the
-questionable limit, and predictable results ensue.
-
-Unfortunately, our implementation of YY_FATAL_ERROR() is:
-
-   #define YY_FATAL_ERROR(msg)                     \
-     do {                                          \
-       grub_printf (_("fatal error: %s\n"), _(msg));     \
-     } while (0)
-
-The same pattern exists in yyless(), and similar problems exist in users
-of YY_INPUT(), several places in the main parsing loop,
-yy_get_next_buffer(), yy_load_buffer_state(), yyensure_buffer_stack,
-yy_scan_buffer(), etc.
-
-All of these callers expect YY_FATAL_ERROR() to actually be fatal, and
-the things they do if it returns after calling it are wildly unsafe.
-
-Fixes: CVE-2020-10713
-
-Signed-off-by: Peter Jones 
-Reviewed-by: Daniel Kiper 
-
-Upstream-Status: Backport [https://git.savannah.gnu.org/cgit/grub.git/commit/?id=a4d3fbdff1e3ca8f87642af2ac8752c30c617a3e]
-CVE: CVE-2020-10713
-Signed-off-by: Chee Yang Lee 
----
- grub-core/script/yylex.l | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/grub-core/script/yylex.l b/grub-core/script/yylex.l
-index 7b44c37b7..b7203c823 100644
---- a/grub-core/script/yylex.l
-+++ b/grub-core/script/yylex.l
-@@ -37,11 +37,11 @@
- 
- /* 
-  * As we don't have access to yyscanner, we cannot do much except to
-- * print the fatal error.
-+ * print the fatal error and exit.
-  */
- #define YY_FATAL_ERROR(msg)                     \
-   do {                                          \
--    grub_printf (_("fatal error: %s\n"), _(msg));     \
-+    grub_fatal (_("fatal error: %s\n"), _(msg));\
-   } while (0)
- 
- #define COPY(str, hint)                         \
--- 
-cgit v1.2.1
-
diff --git a/poky/meta/recipes-bsp/grub/files/CVE-2020-14308-calloc-Use-calloc-at-most-places.patch b/poky/meta/recipes-bsp/grub/files/CVE-2020-14308-calloc-Use-calloc-at-most-places.patch
deleted file mode 100644
index 637e368cb..000000000
--- a/poky/meta/recipes-bsp/grub/files/CVE-2020-14308-calloc-Use-calloc-at-most-places.patch
+++ /dev/null
@@ -1,1863 +0,0 @@
-From bcdd6a55952222ec9829a59348240a4f983b0b56 Mon Sep 17 00:00:00 2001
-From: Peter Jones 
-Date: Mon, 15 Jun 2020 12:26:01 -0400
-Subject: [PATCH 4/9] calloc: Use calloc() at most places
-
-This modifies most of the places we do some form of:
-
-  X = malloc(Y * Z);
-
-to use calloc(Y, Z) instead.
-
-Among other issues, this fixes:
-  - allocation of integer overflow in grub_png_decode_image_header()
-    reported by Chris Coulson,
-  - allocation of integer overflow in luks_recover_key()
-    reported by Chris Coulson,
-  - allocation of integer overflow in grub_lvm_detect()
-    reported by Chris Coulson.
-
-Fixes: CVE-2020-14308
-
-Signed-off-by: Peter Jones 
-Reviewed-by: Daniel Kiper 
-
-Upstream-Status: Backport
-CVE: CVE-2020-14308
-
-Reference to upstream patch:
-https://git.savannah.gnu.org/cgit/grub.git/commit/?id=f725fa7cb2ece547c5af01eeeecfe8d95802ed41
-
-[YL: don't patch on grub-core/lib/json/json.c, which is not existing in grub 2.04]
-Signed-off-by: Yongxin Liu 
----
- grub-core/bus/usb/usbhub.c                |  8 ++++----
- grub-core/commands/efi/lsefisystab.c      |  3 ++-
- grub-core/commands/legacycfg.c            |  6 +++---
- grub-core/commands/menuentry.c            |  2 +-
- grub-core/commands/nativedisk.c           |  2 +-
- grub-core/commands/parttool.c             | 12 +++++++++---
- grub-core/commands/regexp.c               |  2 +-
- grub-core/commands/search_wrap.c          |  2 +-
- grub-core/disk/diskfilter.c               |  4 ++--
- grub-core/disk/ieee1275/ofdisk.c          |  2 +-
- grub-core/disk/ldm.c                      | 14 +++++++-------
- grub-core/disk/luks.c                     |  2 +-
- grub-core/disk/lvm.c                      | 12 ++++++------
- grub-core/disk/xen/xendisk.c              |  2 +-
- grub-core/efiemu/loadcore.c               |  2 +-
- grub-core/efiemu/mm.c                     |  6 +++---
- grub-core/font/font.c                     |  3 +--
- grub-core/fs/affs.c                       |  6 +++---
- grub-core/fs/btrfs.c                      |  6 +++---
- grub-core/fs/hfs.c                        |  2 +-
- grub-core/fs/hfsplus.c                    |  6 +++---
- grub-core/fs/iso9660.c                    |  2 +-
- grub-core/fs/ntfs.c                       |  4 ++--
- grub-core/fs/sfs.c                        |  2 +-
- grub-core/fs/tar.c                        |  2 +-
- grub-core/fs/udf.c                        |  4 ++--
- grub-core/fs/zfs/zfs.c                    |  4 ++--
- grub-core/gfxmenu/gui_string_util.c       |  2 +-
- grub-core/gfxmenu/widget-box.c            |  4 ++--
- grub-core/io/gzio.c                       |  2 +-
- grub-core/kern/efi/efi.c                  |  6 +++---
- grub-core/kern/emu/hostdisk.c             |  2 +-
- grub-core/kern/fs.c                       |  2 +-
- grub-core/kern/misc.c                     |  2 +-
- grub-core/kern/parser.c                   |  2 +-
- grub-core/kern/uboot/uboot.c              |  2 +-
- grub-core/lib/libgcrypt/cipher/ac.c       |  8 ++++----
- grub-core/lib/libgcrypt/cipher/primegen.c |  4 ++--
- grub-core/lib/libgcrypt/cipher/pubkey.c   |  4 ++--
- grub-core/lib/priority_queue.c            |  2 +-
- grub-core/lib/reed_solomon.c              |  7 +++----
- grub-core/lib/relocator.c                 | 10 +++++-----
- grub-core/lib/zstd/fse_decompress.c       |  2 +-
- grub-core/loader/arm/linux.c              |  2 +-
- grub-core/loader/efi/chainloader.c        |  2 +-
- grub-core/loader/i386/bsdXX.c             |  2 +-
- grub-core/loader/i386/xnu.c               |  4 ++--
- grub-core/loader/macho.c                  |  2 +-
- grub-core/loader/multiboot_elfxx.c        |  2 +-
- grub-core/loader/xnu.c                    |  2 +-
- grub-core/mmap/mmap.c                     |  4 ++--
- grub-core/net/bootp.c                     |  2 +-
- grub-core/net/dns.c                       | 10 +++++-----
- grub-core/net/net.c                       |  4 ++--
- grub-core/normal/charset.c                | 10 +++++-----
- grub-core/normal/cmdline.c                | 14 +++++++-------
- grub-core/normal/menu_entry.c             | 14 +++++++-------
- grub-core/normal/menu_text.c              |  4 ++--
- grub-core/normal/term.c                   |  4 ++--
- grub-core/osdep/linux/getroot.c           |  6 +++---
- grub-core/osdep/unix/config.c             |  2 +-
- grub-core/osdep/windows/getroot.c         |  2 +-
- grub-core/osdep/windows/hostdisk.c        |  4 ++--
- grub-core/osdep/windows/init.c            |  2 +-
- grub-core/osdep/windows/platform.c        |  4 ++--
- grub-core/osdep/windows/relpath.c         |  2 +-
- grub-core/partmap/gpt.c                   |  2 +-
- grub-core/partmap/msdos.c                 |  2 +-
- grub-core/script/execute.c                |  2 +-
- grub-core/tests/fake_input.c              |  2 +-
- grub-core/tests/video_checksum.c          |  6 +++---
- grub-core/video/capture.c                 |  2 +-
- grub-core/video/emu/sdl.c                 |  2 +-
- grub-core/video/i386/pc/vga.c             |  2 +-
- grub-core/video/readers/png.c             |  2 +-
- include/grub/unicode.h                    |  4 ++--
- util/getroot.c                            |  2 +-
- util/grub-file.c                          |  2 +-
- util/grub-fstest.c                        |  4 ++--
- util/grub-install-common.c                |  2 +-
- util/grub-install.c                       |  4 ++--
- util/grub-mkimagexx.c                     |  6 ++----
- util/grub-mkrescue.c                      |  4 ++--
- util/grub-mkstandalone.c                  |  2 +-
- util/grub-pe2elf.c                        | 12 +++++-------
- util/grub-probe.c                         |  4 ++--
- 86 files changed, 178 insertions(+), 177 deletions(-)
-
-diff --git a/grub-core/bus/usb/usbhub.c b/grub-core/bus/usb/usbhub.c
-index 34a7ff1..a06cce3 100644
---- a/grub-core/bus/usb/usbhub.c
-+++ b/grub-core/bus/usb/usbhub.c
-@@ -149,8 +149,8 @@ grub_usb_add_hub (grub_usb_device_t dev)
-   grub_usb_set_configuration (dev, 1);
- 
-   dev->nports = hubdesc.portcnt;
--  dev->children = grub_zalloc (hubdesc.portcnt * sizeof (dev->children[0]));
--  dev->ports = grub_zalloc (dev->nports * sizeof (dev->ports[0]));
-+  dev->children = grub_calloc (hubdesc.portcnt, sizeof (dev->children[0]));
-+  dev->ports = grub_calloc (dev->nports, sizeof (dev->ports[0]));
-   if (!dev->children || !dev->ports)
-     {
-       grub_free (dev->children);
-@@ -268,8 +268,8 @@ grub_usb_controller_dev_register_iter (grub_usb_controller_t controller, void *d
- 
-   /* Query the number of ports the root Hub has.  */
-   hub->nports = controller->dev->hubports (controller);
--  hub->devices = grub_zalloc (sizeof (hub->devices[0]) * hub->nports);
--  hub->ports = grub_zalloc (sizeof (hub->ports[0]) * hub->nports);
-+  hub->devices = grub_calloc (hub->nports, sizeof (hub->devices[0]));
-+  hub->ports = grub_calloc (hub->nports, sizeof (hub->ports[0]));
-   if (!hub->devices || !hub->ports)
-     {
-       grub_free (hub->devices);
-diff --git a/grub-core/commands/efi/lsefisystab.c b/grub-core/commands/efi/lsefisystab.c
-index df10302..cd81507 100644
---- a/grub-core/commands/efi/lsefisystab.c
-+++ b/grub-core/commands/efi/lsefisystab.c
-@@ -71,7 +71,8 @@ grub_cmd_lsefisystab (struct grub_command *cmd __attribute__ ((unused)),
-     grub_printf ("Vendor: ");
-     
-     for (vendor_utf16 = st->firmware_vendor; *vendor_utf16; vendor_utf16++);
--    vendor = grub_malloc (4 * (vendor_utf16 - st->firmware_vendor) + 1);
-+    /* Allocate extra 3 bytes to simplify math. */
-+    vendor = grub_calloc (4, vendor_utf16 - st->firmware_vendor + 1);
-     if (!vendor)
-       return grub_errno;
-     *grub_utf16_to_utf8 ((grub_uint8_t *) vendor, st->firmware_vendor,
-diff --git a/grub-core/commands/legacycfg.c b/grub-core/commands/legacycfg.c
-index db7a8f0..5e3ec0d 100644
---- a/grub-core/commands/legacycfg.c
-+++ b/grub-core/commands/legacycfg.c
-@@ -314,7 +314,7 @@ grub_cmd_legacy_kernel (struct grub_command *mycmd __attribute__ ((unused)),
-   if (argc < 2)
-     return grub_error (GRUB_ERR_BAD_ARGUMENT, N_("filename expected"));
- 
--  cutargs = grub_malloc (sizeof (cutargs[0]) * (argc - 1));
-+  cutargs = grub_calloc (argc - 1, sizeof (cutargs[0]));
-   if (!cutargs)
-     return grub_errno;
-   cutargc = argc - 1;
-@@ -436,7 +436,7 @@ grub_cmd_legacy_kernel (struct grub_command *mycmd __attribute__ ((unused)),
- 	    {
- 	      char rbuf[3] = "-r";
- 	      bsdargc = cutargc + 2;
--	      bsdargs = grub_malloc (sizeof (bsdargs[0]) * bsdargc);
-+	      bsdargs = grub_calloc (bsdargc, sizeof (bsdargs[0]));
- 	      if (!bsdargs)
- 		{
- 		  err = grub_errno;
-@@ -559,7 +559,7 @@ grub_cmd_legacy_initrdnounzip (struct grub_command *mycmd __attribute__ ((unused
- 	return grub_error (GRUB_ERR_BAD_ARGUMENT, N_("can't find command `%s'"),
- 			   "module");
- 
--      newargs = grub_malloc ((argc + 1) * sizeof (newargs[0]));
-+      newargs = grub_calloc (argc + 1, sizeof (newargs[0]));
-       if (!newargs)
- 	return grub_errno;
-       grub_memcpy (newargs + 1, args, argc * sizeof (newargs[0]));
-diff --git a/grub-core/commands/menuentry.c b/grub-core/commands/menuentry.c
-index 2c5363d..9164df7 100644
---- a/grub-core/commands/menuentry.c
-+++ b/grub-core/commands/menuentry.c
-@@ -154,7 +154,7 @@ grub_normal_add_menu_entry (int argc, const char **args,
-     goto fail;
- 
-   /* Save argc, args to pass as parameters to block arg later. */
--  menu_args = grub_malloc (sizeof (char*) * (argc + 1));
-+  menu_args = grub_calloc (argc + 1, sizeof (char *));
-   if (! menu_args)
-     goto fail;
- 
-diff --git a/grub-core/commands/nativedisk.c b/grub-core/commands/nativedisk.c
-index 699447d..7c8f97f 100644
---- a/grub-core/commands/nativedisk.c
-+++ b/grub-core/commands/nativedisk.c
-@@ -195,7 +195,7 @@ grub_cmd_nativedisk (grub_command_t cmd __attribute__ ((unused)),
-   else
-     path_prefix = prefix;
- 
--  mods = grub_malloc (argc * sizeof (mods[0]));
-+  mods = grub_calloc (argc, sizeof (mods[0]));
-   if (!mods)
-     return grub_errno;
- 
-diff --git a/grub-core/commands/parttool.c b/grub-core/commands/parttool.c
-index 22b46b1..051e313 100644
---- a/grub-core/commands/parttool.c
-+++ b/grub-core/commands/parttool.c
-@@ -59,7 +59,13 @@ grub_parttool_register(const char *part_name,
-   for (nargs = 0; args[nargs].name != 0; nargs++);
-   cur->nargs = nargs;
-   cur->args = (struct grub_parttool_argdesc *)
--    grub_malloc ((nargs + 1) * sizeof (struct grub_parttool_argdesc));
-+    grub_calloc (nargs + 1, sizeof (struct grub_parttool_argdesc));
-+  if (!cur->args)
-+    {
-+      grub_free (cur);
-+      curhandle--;
-+      return -1;
-+    }
-   grub_memcpy (cur->args, args,
- 	       (nargs + 1) * sizeof (struct grub_parttool_argdesc));
- 
-@@ -257,7 +263,7 @@ grub_cmd_parttool (grub_command_t cmd __attribute__ ((unused)),
- 	return err;
-       }
- 
--  parsed = (int *) grub_zalloc (argc * sizeof (int));
-+  parsed = (int *) grub_calloc (argc, sizeof (int));
- 
-   for (i = 1; i < argc; i++)
-     if (! parsed[i])
-@@ -290,7 +296,7 @@ grub_cmd_parttool (grub_command_t cmd __attribute__ ((unused)),
- 	  }
- 	ptool = cur;
- 	pargs = (struct grub_parttool_args *)
--	  grub_zalloc (ptool->nargs * sizeof (struct grub_parttool_args));
-+	  grub_calloc (ptool->nargs, sizeof (struct grub_parttool_args));
- 	for (j = i; j < argc; j++)
- 	  if (! parsed[j])
- 	    {
-diff --git a/grub-core/commands/regexp.c b/grub-core/commands/regexp.c
-index f00b184..4019164 100644
---- a/grub-core/commands/regexp.c
-+++ b/grub-core/commands/regexp.c
-@@ -116,7 +116,7 @@ grub_cmd_regexp (grub_extcmd_context_t ctxt, int argc, char **args)
-   if (ret)
-     goto fail;
- 
--  matches = grub_zalloc (sizeof (*matches) * (regex.re_nsub + 1));
-+  matches = grub_calloc (regex.re_nsub + 1, sizeof (*matches));
-   if (! matches)
-     goto fail;
- 
-diff --git a/grub-core/commands/search_wrap.c b/grub-core/commands/search_wrap.c
-index d7fd26b..47fc8eb 100644
---- a/grub-core/commands/search_wrap.c
-+++ b/grub-core/commands/search_wrap.c
-@@ -122,7 +122,7 @@ grub_cmd_search (grub_extcmd_context_t ctxt, int argc, char **args)
-     for (i = 0; state[SEARCH_HINT_BAREMETAL].args[i]; i++)
-       nhints++;
- 
--  hints = grub_malloc (sizeof (hints[0]) * nhints);
-+  hints = grub_calloc (nhints, sizeof (hints[0]));
-   if (!hints)
-     return grub_errno;
-   j = 0;
-diff --git a/grub-core/disk/diskfilter.c b/grub-core/disk/diskfilter.c
-index c3b578a..68ca9e0 100644
---- a/grub-core/disk/diskfilter.c
-+++ b/grub-core/disk/diskfilter.c
-@@ -1134,7 +1134,7 @@ grub_diskfilter_make_raid (grub_size_t uuidlen, char *uuid, int nmemb,
-   array->lvs->segments->node_count = nmemb;
-   array->lvs->segments->raid_member_size = disk_size;
-   array->lvs->segments->nodes
--    = grub_zalloc (nmemb * sizeof (array->lvs->segments->nodes[0]));
-+    = grub_calloc (nmemb, sizeof (array->lvs->segments->nodes[0]));
-   array->lvs->segments->stripe_size = stripe_size;
-   for (i = 0; i < nmemb; i++)
-     {
-@@ -1226,7 +1226,7 @@ insert_array (grub_disk_t disk, const struct grub_diskfilter_pv_id *id,
- 	  grub_partition_t p;
- 	  for (p = disk->partition; p; p = p->parent)
- 	    s++;
--	  pv->partmaps = xmalloc (s * sizeof (pv->partmaps[0]));
-+	  pv->partmaps = xcalloc (s, sizeof (pv->partmaps[0]));
- 	  s = 0;
- 	  for (p = disk->partition; p; p = p->parent)
- 	    pv->partmaps[s++] = xstrdup (p->partmap->name);
-diff --git a/grub-core/disk/ieee1275/ofdisk.c b/grub-core/disk/ieee1275/ofdisk.c
-index f73257e..03674cb 100644
---- a/grub-core/disk/ieee1275/ofdisk.c
-+++ b/grub-core/disk/ieee1275/ofdisk.c
-@@ -297,7 +297,7 @@ dev_iterate (const struct grub_ieee1275_devalias *alias)
-       /* Power machines documentation specify 672 as maximum SAS disks in
-          one system. Using a slightly larger value to be safe. */
-       table_size = 768;
--      table = grub_malloc (table_size * sizeof (grub_uint64_t));
-+      table = grub_calloc (table_size, sizeof (grub_uint64_t));
- 
-       if (!table)
-         {
-diff --git a/grub-core/disk/ldm.c b/grub-core/disk/ldm.c
-index 2a22d2d..e632370 100644
---- a/grub-core/disk/ldm.c
-+++ b/grub-core/disk/ldm.c
-@@ -323,8 +323,8 @@ make_vg (grub_disk_t disk,
- 	  lv->segments->type = GRUB_DISKFILTER_MIRROR;
- 	  lv->segments->node_count = 0;
- 	  lv->segments->node_alloc = 8;
--	  lv->segments->nodes = grub_zalloc (sizeof (*lv->segments->nodes)
--					     * lv->segments->node_alloc);
-+	  lv->segments->nodes = grub_calloc (lv->segments->node_alloc,
-+					     sizeof (*lv->segments->nodes));
- 	  if (!lv->segments->nodes)
- 	    goto fail2;
- 	  ptr = vblk[i].dynamic;
-@@ -543,8 +543,8 @@ make_vg (grub_disk_t disk,
- 	    {
- 	      comp->segment_alloc = 8;
- 	      comp->segment_count = 0;
--	      comp->segments = grub_malloc (sizeof (*comp->segments)
--					    * comp->segment_alloc);
-+	      comp->segments = grub_calloc (comp->segment_alloc,
-+					    sizeof (*comp->segments));
- 	      if (!comp->segments)
- 		goto fail2;
- 	    }
-@@ -590,8 +590,8 @@ make_vg (grub_disk_t disk,
- 		}
- 	      comp->segments->node_count = read_int (ptr + 1, *ptr);
- 	      comp->segments->node_alloc = comp->segments->node_count;
--	      comp->segments->nodes = grub_zalloc (sizeof (*comp->segments->nodes)
--						   * comp->segments->node_alloc);
-+	      comp->segments->nodes = grub_calloc (comp->segments->node_alloc,
-+						   sizeof (*comp->segments->nodes));
- 	      if (!lv->segments->nodes)
- 		goto fail2;
- 	    }
-@@ -1017,7 +1017,7 @@ grub_util_ldm_embed (struct grub_disk *disk, unsigned int *nsectors,
-       *nsectors = lv->size;
-       if (*nsectors > max_nsectors)
- 	*nsectors = max_nsectors;
--      *sectors = grub_malloc (*nsectors * sizeof (**sectors));
-+      *sectors = grub_calloc (*nsectors, sizeof (**sectors));
-       if (!*sectors)
- 	return grub_errno;
-       for (i = 0; i < *nsectors; i++)
-diff --git a/grub-core/disk/luks.c b/grub-core/disk/luks.c
-index 86c50c6..18b3a8b 100644
---- a/grub-core/disk/luks.c
-+++ b/grub-core/disk/luks.c
-@@ -336,7 +336,7 @@ luks_recover_key (grub_disk_t source,
- 	&& grub_be_to_cpu32 (header.keyblock[i].stripes) > max_stripes)
-       max_stripes = grub_be_to_cpu32 (header.keyblock[i].stripes);
- 
--  split_key = grub_malloc (keysize * max_stripes);
-+  split_key = grub_calloc (keysize, max_stripes);
-   if (!split_key)
-     return grub_errno;
- 
-diff --git a/grub-core/disk/lvm.c b/grub-core/disk/lvm.c
-index dc6b83b..7b5fbbc 100644
---- a/grub-core/disk/lvm.c
-+++ b/grub-core/disk/lvm.c
-@@ -209,7 +209,7 @@ grub_lvm_detect (grub_disk_t disk,
-      first one.  */
- 
-   /* Allocate buffer space for the circular worst-case scenario. */
--  metadatabuf = grub_malloc (2 * mda_size);
-+  metadatabuf = grub_calloc (2, mda_size);
-   if (! metadatabuf)
-     goto fail;
- 
-@@ -464,7 +464,7 @@ grub_lvm_detect (grub_disk_t disk,
- #endif
- 		  goto lvs_fail;
- 		}
--	      lv->segments = grub_zalloc (sizeof (*seg) * lv->segment_count);
-+	      lv->segments = grub_calloc (lv->segment_count, sizeof (*seg));
- 	      seg = lv->segments;
- 
- 	      for (i = 0; i < lv->segment_count; i++)
-@@ -521,8 +521,8 @@ grub_lvm_detect (grub_disk_t disk,
- 		      if (seg->node_count != 1)
- 			seg->stripe_size = grub_lvm_getvalue (&p, "stripe_size = ");
- 
--		      seg->nodes = grub_zalloc (sizeof (*stripe)
--						* seg->node_count);
-+		      seg->nodes = grub_calloc (seg->node_count,
-+						sizeof (*stripe));
- 		      stripe = seg->nodes;
- 
- 		      p = grub_strstr (p, "stripes = [");
-@@ -898,7 +898,7 @@ grub_lvm_detect (grub_disk_t disk,
- 		break;
- 	    if (lv)
- 	      {
--		cache->lv->segments = grub_malloc (lv->segment_count * sizeof (*lv->segments));
-+		cache->lv->segments = grub_calloc (lv->segment_count, sizeof (*lv->segments));
- 		if (!cache->lv->segments)
- 		  {
- 		    grub_lvm_free_cache_lvs (cache_lvs);
-@@ -911,7 +911,7 @@ grub_lvm_detect (grub_disk_t disk,
- 		    struct grub_diskfilter_node *nodes = lv->segments[i].nodes;
- 		    grub_size_t node_count = lv->segments[i].node_count;
- 
--		    cache->lv->segments[i].nodes = grub_malloc (node_count * sizeof (*nodes));
-+		    cache->lv->segments[i].nodes = grub_calloc (node_count, sizeof (*nodes));
- 		    if (!cache->lv->segments[i].nodes)
- 		      {
- 			for (j = 0; j < i; ++j)
-diff --git a/grub-core/disk/xen/xendisk.c b/grub-core/disk/xen/xendisk.c
-index 48476cb..d6612ee 100644
---- a/grub-core/disk/xen/xendisk.c
-+++ b/grub-core/disk/xen/xendisk.c
-@@ -426,7 +426,7 @@ grub_xendisk_init (void)
-   if (!ctr)
-     return;
- 
--  virtdisks = grub_malloc (ctr * sizeof (virtdisks[0]));
-+  virtdisks = grub_calloc (ctr, sizeof (virtdisks[0]));
-   if (!virtdisks)
-     return;
-   if (grub_xenstore_dir ("device/vbd", fill, &ctr))
-diff --git a/grub-core/efiemu/loadcore.c b/grub-core/efiemu/loadcore.c
-index 44085ef..2b92462 100644
---- a/grub-core/efiemu/loadcore.c
-+++ b/grub-core/efiemu/loadcore.c
-@@ -201,7 +201,7 @@ grub_efiemu_count_symbols (const Elf_Ehdr *e)
- 
-   grub_efiemu_nelfsyms = (unsigned) s->sh_size / (unsigned) s->sh_entsize;
-   grub_efiemu_elfsyms = (struct grub_efiemu_elf_sym *)
--    grub_malloc (sizeof (struct grub_efiemu_elf_sym) * grub_efiemu_nelfsyms);
-+    grub_calloc (grub_efiemu_nelfsyms, sizeof (struct grub_efiemu_elf_sym));
- 
-   /* Relocators */
-   for (i = 0, s = (Elf_Shdr *) ((char *) e + e->e_shoff);
-diff --git a/grub-core/efiemu/mm.c b/grub-core/efiemu/mm.c
-index 52a032f..9b8e0d0 100644
---- a/grub-core/efiemu/mm.c
-+++ b/grub-core/efiemu/mm.c
-@@ -554,11 +554,11 @@ grub_efiemu_mmap_sort_and_uniq (void)
-   /* Initialize variables*/
-   grub_memset (present, 0, sizeof (int) * GRUB_EFI_MAX_MEMORY_TYPE);
-   scanline_events = (struct grub_efiemu_mmap_scan *)
--    grub_malloc (sizeof (struct grub_efiemu_mmap_scan) * 2 * mmap_num);
-+    grub_calloc (mmap_num, sizeof (struct grub_efiemu_mmap_scan) * 2);
- 
-   /* Number of chunks can't increase more than by factor of 2 */
-   result = (grub_efi_memory_descriptor_t *)
--    grub_malloc (sizeof (grub_efi_memory_descriptor_t) * 2 * mmap_num);
-+    grub_calloc (mmap_num, sizeof (grub_efi_memory_descriptor_t) * 2);
-   if (!result || !scanline_events)
-     {
-       grub_free (result);
-@@ -660,7 +660,7 @@ grub_efiemu_mm_do_alloc (void)
- 
-   /* Preallocate mmap */
-   efiemu_mmap = (grub_efi_memory_descriptor_t *)
--    grub_malloc (mmap_reserved_size * sizeof (grub_efi_memory_descriptor_t));
-+    grub_calloc (mmap_reserved_size, sizeof (grub_efi_memory_descriptor_t));
-   if (!efiemu_mmap)
-     {
-       grub_efiemu_unload ();
-diff --git a/grub-core/font/font.c b/grub-core/font/font.c
-index 85a2925..8e118b3 100644
---- a/grub-core/font/font.c
-+++ b/grub-core/font/font.c
-@@ -293,8 +293,7 @@ load_font_index (grub_file_t file, grub_uint32_t sect_length, struct
-   font->num_chars = sect_length / FONT_CHAR_INDEX_ENTRY_SIZE;
- 
-   /* Allocate the character index array.  */
--  font->char_index = grub_malloc (font->num_chars
--				  * sizeof (struct char_index_entry));
-+  font->char_index = grub_calloc (font->num_chars, sizeof (struct char_index_entry));
-   if (!font->char_index)
-     return 1;
-   font->bmp_idx = grub_malloc (0x10000 * sizeof (grub_uint16_t));
-diff --git a/grub-core/fs/affs.c b/grub-core/fs/affs.c
-index 6b6a2bc..220b371 100644
---- a/grub-core/fs/affs.c
-+++ b/grub-core/fs/affs.c
-@@ -301,7 +301,7 @@ grub_affs_read_symlink (grub_fshelp_node_t node)
-       return 0;
-     }
-   latin1[symlink_size] = 0;
--  utf8 = grub_malloc (symlink_size * GRUB_MAX_UTF8_PER_LATIN1 + 1);
-+  utf8 = grub_calloc (GRUB_MAX_UTF8_PER_LATIN1 + 1, symlink_size);
-   if (!utf8)
-     {
-       grub_free (latin1);
-@@ -422,7 +422,7 @@ grub_affs_iterate_dir (grub_fshelp_node_t dir,
- 	return 1;
-     }
- 
--  hashtable = grub_zalloc (data->htsize * sizeof (*hashtable));
-+  hashtable = grub_calloc (data->htsize, sizeof (*hashtable));
-   if (!hashtable)
-     return 1;
- 
-@@ -628,7 +628,7 @@ grub_affs_label (grub_device_t device, char **label)
-       len = file.namelen;
-       if (len > sizeof (file.name))
- 	len = sizeof (file.name);
--      *label = grub_malloc (len * GRUB_MAX_UTF8_PER_LATIN1 + 1);
-+      *label = grub_calloc (GRUB_MAX_UTF8_PER_LATIN1 + 1, len);
-       if (*label)
- 	*grub_latin1_to_utf8 ((grub_uint8_t *) *label, file.name, len) = '\0';
-     }
-diff --git a/grub-core/fs/btrfs.c b/grub-core/fs/btrfs.c
-index 48bd3d0..11272ef 100644
---- a/grub-core/fs/btrfs.c
-+++ b/grub-core/fs/btrfs.c
-@@ -413,7 +413,7 @@ lower_bound (struct grub_btrfs_data *data,
-     {
-       desc->allocated = 16;
-       desc->depth = 0;
--      desc->data = grub_malloc (sizeof (desc->data[0]) * desc->allocated);
-+      desc->data = grub_calloc (desc->allocated, sizeof (desc->data[0]));
-       if (!desc->data)
- 	return grub_errno;
-     }
-@@ -752,7 +752,7 @@ raid56_read_retry (struct grub_btrfs_data *data,
-   grub_err_t ret = GRUB_ERR_OUT_OF_MEMORY;
-   grub_uint64_t i, failed_devices;
- 
--  buffers = grub_zalloc (sizeof(*buffers) * nstripes);
-+  buffers = grub_calloc (nstripes, sizeof (*buffers));
-   if (!buffers)
-     goto cleanup;
- 
-@@ -2160,7 +2160,7 @@ grub_btrfs_embed (grub_device_t device __attribute__ ((unused)),
-   *nsectors = 64 * 2 - 1;
-   if (*nsectors > max_nsectors)
-     *nsectors = max_nsectors;
--  *sectors = grub_malloc (*nsectors * sizeof (**sectors));
-+  *sectors = grub_calloc (*nsectors, sizeof (**sectors));
-   if (!*sectors)
-     return grub_errno;
-   for (i = 0; i < *nsectors; i++)
-diff --git a/grub-core/fs/hfs.c b/grub-core/fs/hfs.c
-index ac0a409..3fe842b 100644
---- a/grub-core/fs/hfs.c
-+++ b/grub-core/fs/hfs.c
-@@ -1360,7 +1360,7 @@ grub_hfs_label (grub_device_t device, char **label)
-       grub_size_t len = data->sblock.volname[0];
-       if (len > sizeof (data->sblock.volname) - 1)
- 	len = sizeof (data->sblock.volname) - 1;
--      *label = grub_malloc (len * MAX_UTF8_PER_MAC_ROMAN + 1);
-+      *label = grub_calloc (MAX_UTF8_PER_MAC_ROMAN + 1, len);
-       if (*label)
- 	macroman_to_utf8 (*label, data->sblock.volname + 1,
- 			  len + 1, 0);
-diff --git a/grub-core/fs/hfsplus.c b/grub-core/fs/hfsplus.c
-index 54786bb..dae43be 100644
---- a/grub-core/fs/hfsplus.c
-+++ b/grub-core/fs/hfsplus.c
-@@ -720,7 +720,7 @@ list_nodes (void *record, void *hook_arg)
-   if (! filename)
-     return 0;
- 
--  keyname = grub_malloc (grub_be_to_cpu16 (catkey->namelen) * sizeof (*keyname));
-+  keyname = grub_calloc (grub_be_to_cpu16 (catkey->namelen), sizeof (*keyname));
-   if (!keyname)
-     {
-       grub_free (filename);
-@@ -1007,7 +1007,7 @@ grub_hfsplus_label (grub_device_t device, char **label)
-     grub_hfsplus_btree_recptr (&data->catalog_tree, node, ptr);
- 
-   label_len = grub_be_to_cpu16 (catkey->namelen);
--  label_name = grub_malloc (label_len * sizeof (*label_name));
-+  label_name = grub_calloc (label_len, sizeof (*label_name));
-   if (!label_name)
-     {
-       grub_free (node);
-@@ -1029,7 +1029,7 @@ grub_hfsplus_label (grub_device_t device, char **label)
- 	}
-     }
- 
--  *label = grub_malloc (label_len * GRUB_MAX_UTF8_PER_UTF16 + 1);
-+  *label = grub_calloc (label_len, GRUB_MAX_UTF8_PER_UTF16 + 1);
-   if (! *label)
-     {
-       grub_free (label_name);
-diff --git a/grub-core/fs/iso9660.c b/grub-core/fs/iso9660.c
-index 49c0c63..4f1b52a 100644
---- a/grub-core/fs/iso9660.c
-+++ b/grub-core/fs/iso9660.c
-@@ -331,7 +331,7 @@ grub_iso9660_convert_string (grub_uint8_t *us, int len)
-   int i;
-   grub_uint16_t t[MAX_NAMELEN / 2 + 1];
- 
--  p = grub_malloc (len * GRUB_MAX_UTF8_PER_UTF16 + 1);
-+  p = grub_calloc (len, GRUB_MAX_UTF8_PER_UTF16 + 1);
-   if (! p)
-     return NULL;
- 
-diff --git a/grub-core/fs/ntfs.c b/grub-core/fs/ntfs.c
-index fc4e1f6..2f34f76 100644
---- a/grub-core/fs/ntfs.c
-+++ b/grub-core/fs/ntfs.c
-@@ -556,8 +556,8 @@ get_utf8 (grub_uint8_t *in, grub_size_t len)
-   grub_uint16_t *tmp;
-   grub_size_t i;
- 
--  buf = grub_malloc (len * GRUB_MAX_UTF8_PER_UTF16 + 1);
--  tmp = grub_malloc (len * sizeof (tmp[0]));
-+  buf = grub_calloc (len, GRUB_MAX_UTF8_PER_UTF16 + 1);
-+  tmp = grub_calloc (len, sizeof (tmp[0]));
-   if (!buf || !tmp)
-     {
-       grub_free (buf);
-diff --git a/grub-core/fs/sfs.c b/grub-core/fs/sfs.c
-index 50c1fe7..90f7fb3 100644
---- a/grub-core/fs/sfs.c
-+++ b/grub-core/fs/sfs.c
-@@ -266,7 +266,7 @@ grub_sfs_read_block (grub_fshelp_node_t node, grub_disk_addr_t fileblock)
-       node->next_extent = node->block;
-       node->cache_size = 0;
- 
--      node->cache = grub_malloc (sizeof (node->cache[0]) * cache_size);
-+      node->cache = grub_calloc (cache_size, sizeof (node->cache[0]));
-       if (!node->cache)
- 	{
- 	  grub_errno = 0;
-diff --git a/grub-core/fs/tar.c b/grub-core/fs/tar.c
-index 7d63e0c..c551ed6 100644
---- a/grub-core/fs/tar.c
-+++ b/grub-core/fs/tar.c
-@@ -120,7 +120,7 @@ grub_cpio_find_file (struct grub_archelp_data *data, char **name,
- 	  if (data->linkname_alloc < linksize + 1)
- 	    {
- 	      char *n;
--	      n = grub_malloc (2 * (linksize + 1));
-+	      n = grub_calloc (2, linksize + 1);
- 	      if (!n)
- 		return grub_errno;
- 	      grub_free (data->linkname);
-diff --git a/grub-core/fs/udf.c b/grub-core/fs/udf.c
-index dc8b6e2..a837616 100644
---- a/grub-core/fs/udf.c
-+++ b/grub-core/fs/udf.c
-@@ -873,7 +873,7 @@ read_string (const grub_uint8_t *raw, grub_size_t sz, char *outbuf)
-     {
-       unsigned i;
-       utf16len = sz - 1;
--      utf16 = grub_malloc (utf16len * sizeof (utf16[0]));
-+      utf16 = grub_calloc (utf16len, sizeof (utf16[0]));
-       if (!utf16)
- 	return NULL;
-       for (i = 0; i < utf16len; i++)
-@@ -883,7 +883,7 @@ read_string (const grub_uint8_t *raw, grub_size_t sz, char *outbuf)
-     {
-       unsigned i;
-       utf16len = (sz - 1) / 2;
--      utf16 = grub_malloc (utf16len * sizeof (utf16[0]));
-+      utf16 = grub_calloc (utf16len, sizeof (utf16[0]));
-       if (!utf16)
- 	return NULL;
-       for (i = 0; i < utf16len; i++)
-diff --git a/grub-core/fs/zfs/zfs.c b/grub-core/fs/zfs/zfs.c
-index 2f72e42..381dde5 100644
---- a/grub-core/fs/zfs/zfs.c
-+++ b/grub-core/fs/zfs/zfs.c
-@@ -3325,7 +3325,7 @@ dnode_get_fullpath (const char *fullpath, struct subvolume *subvol,
- 	}
-       subvol->nkeys = 0;
-       zap_iterate (&keychain_dn, 8, count_zap_keys, &ctx, data);
--      subvol->keyring = grub_zalloc (subvol->nkeys * sizeof (subvol->keyring[0]));
-+      subvol->keyring = grub_calloc (subvol->nkeys, sizeof (subvol->keyring[0]));
-       if (!subvol->keyring)
- 	{
- 	  grub_free (fsname);
-@@ -4336,7 +4336,7 @@ grub_zfs_embed (grub_device_t device __attribute__ ((unused)),
-   *nsectors = (VDEV_BOOT_SIZE >> GRUB_DISK_SECTOR_BITS);
-   if (*nsectors > max_nsectors)
-     *nsectors = max_nsectors;
--  *sectors = grub_malloc (*nsectors * sizeof (**sectors));
-+  *sectors = grub_calloc (*nsectors, sizeof (**sectors));
-   if (!*sectors)
-     return grub_errno;
-   for (i = 0; i < *nsectors; i++)
-diff --git a/grub-core/gfxmenu/gui_string_util.c b/grub-core/gfxmenu/gui_string_util.c
-index a9a415e..ba1e1ea 100644
---- a/grub-core/gfxmenu/gui_string_util.c
-+++ b/grub-core/gfxmenu/gui_string_util.c
-@@ -55,7 +55,7 @@ canonicalize_path (const char *path)
-     if (*p == '/')
-       components++;
- 
--  char **path_array = grub_malloc (components * sizeof (*path_array));
-+  char **path_array = grub_calloc (components, sizeof (*path_array));
-   if (! path_array)
-     return 0;
- 
-diff --git a/grub-core/gfxmenu/widget-box.c b/grub-core/gfxmenu/widget-box.c
-index b606028..470597d 100644
---- a/grub-core/gfxmenu/widget-box.c
-+++ b/grub-core/gfxmenu/widget-box.c
-@@ -303,10 +303,10 @@ grub_gfxmenu_create_box (const char *pixmaps_prefix,
-   box->content_height = 0;
-   box->raw_pixmaps =
-     (struct grub_video_bitmap **)
--    grub_malloc (BOX_NUM_PIXMAPS * sizeof (struct grub_video_bitmap *));
-+    grub_calloc (BOX_NUM_PIXMAPS, sizeof (struct grub_video_bitmap *));
-   box->scaled_pixmaps =
-     (struct grub_video_bitmap **)
--    grub_malloc (BOX_NUM_PIXMAPS * sizeof (struct grub_video_bitmap *));
-+    grub_calloc (BOX_NUM_PIXMAPS, sizeof (struct grub_video_bitmap *));
- 
-   /* Initialize all pixmap pointers to NULL so that proper destruction can
-      be performed if an error is encountered partway through construction.  */
-diff --git a/grub-core/io/gzio.c b/grub-core/io/gzio.c
-index 6208a97..43d98a7 100644
---- a/grub-core/io/gzio.c
-+++ b/grub-core/io/gzio.c
-@@ -554,7 +554,7 @@ huft_build (unsigned *b,	/* code lengths in bits (all assumed <= BMAX) */
- 	      z = 1 << j;	/* table entries for j-bit table */
- 
- 	      /* allocate and link in new table */
--	      q = (struct huft *) grub_zalloc ((z + 1) * sizeof (struct huft));
-+	      q = (struct huft *) grub_calloc (z + 1, sizeof (struct huft));
- 	      if (! q)
- 		{
- 		  if (h)
-diff --git a/grub-core/kern/efi/efi.c b/grub-core/kern/efi/efi.c
-index 6e1ceb9..dc31caa 100644
---- a/grub-core/kern/efi/efi.c
-+++ b/grub-core/kern/efi/efi.c
-@@ -202,7 +202,7 @@ grub_efi_set_variable(const char *var, const grub_efi_guid_t *guid,
- 
-   len = grub_strlen (var);
-   len16 = len * GRUB_MAX_UTF16_PER_UTF8;
--  var16 = grub_malloc ((len16 + 1) * sizeof (var16[0]));
-+  var16 = grub_calloc (len16 + 1, sizeof (var16[0]));
-   if (!var16)
-     return grub_errno;
-   len16 = grub_utf8_to_utf16 (var16, len16, (grub_uint8_t *) var, len, NULL);
-@@ -237,7 +237,7 @@ grub_efi_get_variable (const char *var, const grub_efi_guid_t *guid,
- 
-   len = grub_strlen (var);
-   len16 = len * GRUB_MAX_UTF16_PER_UTF8;
--  var16 = grub_malloc ((len16 + 1) * sizeof (var16[0]));
-+  var16 = grub_calloc (len16 + 1, sizeof (var16[0]));
-   if (!var16)
-     return NULL;
-   len16 = grub_utf8_to_utf16 (var16, len16, (grub_uint8_t *) var, len, NULL);
-@@ -383,7 +383,7 @@ grub_efi_get_filename (grub_efi_device_path_t *dp0)
- 	  while (len > 0 && fp->path_name[len - 1] == 0)
- 	    len--;
- 
--	  dup_name = grub_malloc (len * sizeof (*dup_name));
-+	  dup_name = grub_calloc (len, sizeof (*dup_name));
- 	  if (!dup_name)
- 	    {
- 	      grub_free (name);
-diff --git a/grub-core/kern/emu/hostdisk.c b/grub-core/kern/emu/hostdisk.c
-index e9ec680..d975265 100644
---- a/grub-core/kern/emu/hostdisk.c
-+++ b/grub-core/kern/emu/hostdisk.c
-@@ -615,7 +615,7 @@ static char *
- grub_util_path_concat_real (size_t n, int ext, va_list ap)
- {
-   size_t totlen = 0;
--  char **l = xmalloc ((n + ext) * sizeof (l[0]));
-+  char **l = xcalloc (n + ext, sizeof (l[0]));
-   char *r, *p, *pi;
-   size_t i;
-   int first = 1;
-diff --git a/grub-core/kern/fs.c b/grub-core/kern/fs.c
-index 2b85f49..f90be65 100644
---- a/grub-core/kern/fs.c
-+++ b/grub-core/kern/fs.c
-@@ -151,7 +151,7 @@ grub_fs_blocklist_open (grub_file_t file, const char *name)
-   while (p);
- 
-   /* Allocate a block list.  */
--  blocks = grub_zalloc (sizeof (struct grub_fs_block) * (num + 1));
-+  blocks = grub_calloc (num + 1, sizeof (struct grub_fs_block));
-   if (! blocks)
-     return 0;
- 
-diff --git a/grub-core/kern/misc.c b/grub-core/kern/misc.c
-index 3b633d5..a7abd36 100644
---- a/grub-core/kern/misc.c
-+++ b/grub-core/kern/misc.c
-@@ -690,7 +690,7 @@ parse_printf_args (const char *fmt0, struct printf_args *args,
-     args->ptr = args->prealloc;
-   else
-     {
--      args->ptr = grub_malloc (args->count * sizeof (args->ptr[0]));
-+      args->ptr = grub_calloc (args->count, sizeof (args->ptr[0]));
-       if (!args->ptr)
- 	{
- 	  grub_errno = GRUB_ERR_NONE;
-diff --git a/grub-core/kern/parser.c b/grub-core/kern/parser.c
-index 78175aa..619db31 100644
---- a/grub-core/kern/parser.c
-+++ b/grub-core/kern/parser.c
-@@ -213,7 +213,7 @@ grub_parser_split_cmdline (const char *cmdline,
-     return grub_errno;
-   grub_memcpy (args, buffer, bp - buffer);
- 
--  *argv = grub_malloc (sizeof (char *) * (*argc + 1));
-+  *argv = grub_calloc (*argc + 1, sizeof (char *));
-   if (!*argv)
-     {
-       grub_free (args);
-diff --git a/grub-core/kern/uboot/uboot.c b/grub-core/kern/uboot/uboot.c
-index be4816f..aac8f9a 100644
---- a/grub-core/kern/uboot/uboot.c
-+++ b/grub-core/kern/uboot/uboot.c
-@@ -133,7 +133,7 @@ grub_uboot_dev_enum (void)
-     return num_devices;
- 
-   max_devices = 2;
--  enum_devices = grub_malloc (sizeof(struct device_info) * max_devices);
-+  enum_devices = grub_calloc (max_devices, sizeof(struct device_info));
-   if (!enum_devices)
-     return 0;
- 
-diff --git a/grub-core/lib/libgcrypt/cipher/ac.c b/grub-core/lib/libgcrypt/cipher/ac.c
-index f5e946a..63f6fcd 100644
---- a/grub-core/lib/libgcrypt/cipher/ac.c
-+++ b/grub-core/lib/libgcrypt/cipher/ac.c
-@@ -185,7 +185,7 @@ ac_data_mpi_copy (gcry_ac_mpi_t *data_mpis, unsigned int data_mpis_n,
-   gcry_mpi_t mpi;
-   char *label;
- 
--  data_mpis_new = gcry_malloc (sizeof (*data_mpis_new) * data_mpis_n);
-+  data_mpis_new = gcry_calloc (data_mpis_n, sizeof (*data_mpis_new));
-   if (! data_mpis_new)
-     {
-       err = gcry_error_from_errno (errno);
-@@ -572,7 +572,7 @@ _gcry_ac_data_to_sexp (gcry_ac_data_t data, gcry_sexp_t *sexp,
-     }
- 
-   /* Add MPI list.  */
--  arg_list = gcry_malloc (sizeof (*arg_list) * (data_n + 1));
-+  arg_list = gcry_calloc (data_n + 1, sizeof (*arg_list));
-   if (! arg_list)
-     {
-       err = gcry_error_from_errno (errno);
-@@ -1283,7 +1283,7 @@ ac_data_construct (const char *identifier, int include_flags,
-   /* We build a list of arguments to pass to
-      gcry_sexp_build_array().  */
-   data_length = _gcry_ac_data_length (data);
--  arg_list = gcry_malloc (sizeof (*arg_list) * (data_length * 2));
-+  arg_list = gcry_calloc (data_length, sizeof (*arg_list) * 2);
-   if (! arg_list)
-     {
-       err = gcry_error_from_errno (errno);
-@@ -1593,7 +1593,7 @@ _gcry_ac_key_pair_generate (gcry_ac_handle_t handle, unsigned int nbits,
- 	arg_list_n += 2;
- 
-   /* Allocate list.  */
--  arg_list = gcry_malloc (sizeof (*arg_list) * arg_list_n);
-+  arg_list = gcry_calloc (arg_list_n, sizeof (*arg_list));
-   if (! arg_list)
-     {
-       err = gcry_error_from_errno (errno);
-diff --git a/grub-core/lib/libgcrypt/cipher/primegen.c b/grub-core/lib/libgcrypt/cipher/primegen.c
-index 2788e34..b12e79b 100644
---- a/grub-core/lib/libgcrypt/cipher/primegen.c
-+++ b/grub-core/lib/libgcrypt/cipher/primegen.c
-@@ -383,7 +383,7 @@ prime_generate_internal (int need_q_factor,
-     }
- 
-   /* Allocate an array to track pool usage. */
--  pool_in_use = gcry_malloc (n * sizeof *pool_in_use);
-+  pool_in_use = gcry_calloc (n, sizeof *pool_in_use);
-   if (!pool_in_use)
-     {
-       err = gpg_err_code_from_errno (errno);
-@@ -765,7 +765,7 @@ gen_prime (unsigned int nbits, int secret, int randomlevel,
-   if (nbits < 16)
-     log_fatal ("can't generate a prime with less than %d bits\n", 16);
- 
--  mods = gcry_xmalloc( no_of_small_prime_numbers * sizeof *mods );
-+  mods = gcry_xcalloc( no_of_small_prime_numbers, sizeof *mods);
-   /* Make nbits fit into gcry_mpi_t implementation. */
-   val_2  = mpi_alloc_set_ui( 2 );
-   val_3 = mpi_alloc_set_ui( 3);
-diff --git a/grub-core/lib/libgcrypt/cipher/pubkey.c b/grub-core/lib/libgcrypt/cipher/pubkey.c
-index 9109821..ca087ad 100644
---- a/grub-core/lib/libgcrypt/cipher/pubkey.c
-+++ b/grub-core/lib/libgcrypt/cipher/pubkey.c
-@@ -2941,7 +2941,7 @@ gcry_pk_encrypt (gcry_sexp_t *r_ciph, gcry_sexp_t s_data, gcry_sexp_t s_pkey)
-        * array to a format string, so we have to do it this way :-(.  */
-       /* FIXME: There is now such a format specifier, so we can
-          change the code to be more clear. */
--      arg_list = malloc (nelem * sizeof *arg_list);
-+      arg_list = calloc (nelem, sizeof *arg_list);
-       if (!arg_list)
-         {
-           rc = gpg_err_code_from_syserror ();
-@@ -3233,7 +3233,7 @@ gcry_pk_sign (gcry_sexp_t *r_sig, gcry_sexp_t s_hash, gcry_sexp_t s_skey)
-         }
-       strcpy (p, "))");
- 
--      arg_list = malloc (nelem * sizeof *arg_list);
-+      arg_list = calloc (nelem, sizeof *arg_list);
-       if (!arg_list)
-         {
-           rc = gpg_err_code_from_syserror ();
-diff --git a/grub-core/lib/priority_queue.c b/grub-core/lib/priority_queue.c
-index 659be0b..7d5e7c0 100644
---- a/grub-core/lib/priority_queue.c
-+++ b/grub-core/lib/priority_queue.c
-@@ -92,7 +92,7 @@ grub_priority_queue_new (grub_size_t elsize,
- {
-   struct grub_priority_queue *ret;
-   void *els;
--  els = grub_malloc (elsize * 8);
-+  els = grub_calloc (8, elsize);
-   if (!els)
-     return 0;
-   ret = (struct grub_priority_queue *) grub_malloc (sizeof (*ret));
-diff --git a/grub-core/lib/reed_solomon.c b/grub-core/lib/reed_solomon.c
-index ee9fa7b..467305b 100644
---- a/grub-core/lib/reed_solomon.c
-+++ b/grub-core/lib/reed_solomon.c
-@@ -20,6 +20,7 @@
- #include 
- #include 
- #include 
-+#define xcalloc calloc
- #define xmalloc malloc
- #define grub_memset memset
- #define grub_memcpy memcpy
-@@ -158,11 +159,9 @@ rs_encode (gf_single_t *data, grub_size_t s, grub_size_t rs)
-   gf_single_t *rs_polynomial;
-   int i, j;
-   gf_single_t *m;
--  m = xmalloc ((s + rs) * sizeof (gf_single_t));
-+  m = xcalloc (s + rs, sizeof (gf_single_t));
-   grub_memcpy (m, data, s * sizeof (gf_single_t));
--  grub_memset (m + s, 0, rs * sizeof (gf_single_t));
--  rs_polynomial = xmalloc ((rs + 1) * sizeof (gf_single_t));
--  grub_memset (rs_polynomial, 0, (rs + 1) * sizeof (gf_single_t));
-+  rs_polynomial = xcalloc (rs + 1, sizeof (gf_single_t));
-   rs_polynomial[rs] = 1;
-   /* Multiply with X - a^r */
-   for (j = 0; j < rs; j++)
-diff --git a/grub-core/lib/relocator.c b/grub-core/lib/relocator.c
-index ea3ebc7..5847aac 100644
---- a/grub-core/lib/relocator.c
-+++ b/grub-core/lib/relocator.c
-@@ -495,9 +495,9 @@ malloc_in_range (struct grub_relocator *rel,
-   }
- #endif
- 
--  eventt = grub_malloc (maxevents * sizeof (events[0]));
-+  eventt = grub_calloc (maxevents, sizeof (events[0]));
-   counter = grub_malloc ((DIGITSORT_MASK + 2) * sizeof (counter[0]));
--  events = grub_malloc (maxevents * sizeof (events[0]));
-+  events = grub_calloc (maxevents, sizeof (events[0]));
-   if (!events || !eventt || !counter)
-     {
-       grub_dprintf ("relocator", "events or counter allocation failed %d\n",
-@@ -963,7 +963,7 @@ malloc_in_range (struct grub_relocator *rel,
- #endif
-     unsigned cural = 0;
-     int oom = 0;
--    res->subchunks = grub_malloc (sizeof (res->subchunks[0]) * nallocs);
-+    res->subchunks = grub_calloc (nallocs, sizeof (res->subchunks[0]));
-     if (!res->subchunks)
-       oom = 1;
-     res->nsubchunks = nallocs;
-@@ -1562,8 +1562,8 @@ grub_relocator_prepare_relocs (struct grub_relocator *rel, grub_addr_t addr,
- 	    count[(chunk->src & 0xff) + 1]++;
- 	  }
-     }
--    from = grub_malloc (nchunks * sizeof (sorted[0]));
--    to = grub_malloc (nchunks * sizeof (sorted[0]));
-+    from = grub_calloc (nchunks, sizeof (sorted[0]));
-+    to = grub_calloc (nchunks, sizeof (sorted[0]));
-     if (!from || !to)
-       {
- 	grub_free (from);
-diff --git a/grub-core/lib/zstd/fse_decompress.c b/grub-core/lib/zstd/fse_decompress.c
-index 72bbead..2227b84 100644
---- a/grub-core/lib/zstd/fse_decompress.c
-+++ b/grub-core/lib/zstd/fse_decompress.c
-@@ -82,7 +82,7 @@
- FSE_DTable* FSE_createDTable (unsigned tableLog)
- {
-     if (tableLog > FSE_TABLELOG_ABSOLUTE_MAX) tableLog = FSE_TABLELOG_ABSOLUTE_MAX;
--    return (FSE_DTable*)malloc( FSE_DTABLE_SIZE_U32(tableLog) * sizeof (U32) );
-+    return (FSE_DTable*)calloc( FSE_DTABLE_SIZE_U32(tableLog), sizeof (U32) );
- }
- 
- void FSE_freeDTable (FSE_DTable* dt)
-diff --git a/grub-core/loader/arm/linux.c b/grub-core/loader/arm/linux.c
-index 5168491..d70c174 100644
---- a/grub-core/loader/arm/linux.c
-+++ b/grub-core/loader/arm/linux.c
-@@ -78,7 +78,7 @@ linux_prepare_atag (void *target_atag)
- 
-   /* some place for cmdline, initrd and terminator.  */
-   tmp_size = get_atag_size (atag_orig) + 20 + (arg_size) / 4;
--  tmp_atag = grub_malloc (tmp_size * sizeof (grub_uint32_t));
-+  tmp_atag = grub_calloc (tmp_size, sizeof (grub_uint32_t));
-   if (!tmp_atag)
-     return grub_errno;
- 
-diff --git a/grub-core/loader/efi/chainloader.c b/grub-core/loader/efi/chainloader.c
-index cd92ea3..daf8c6b 100644
---- a/grub-core/loader/efi/chainloader.c
-+++ b/grub-core/loader/efi/chainloader.c
-@@ -116,7 +116,7 @@ copy_file_path (grub_efi_file_path_device_path_t *fp,
-   fp->header.type = GRUB_EFI_MEDIA_DEVICE_PATH_TYPE;
-   fp->header.subtype = GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE;
- 
--  path_name = grub_malloc (len * GRUB_MAX_UTF16_PER_UTF8 * sizeof (*path_name));
-+  path_name = grub_calloc (len, GRUB_MAX_UTF16_PER_UTF8 * sizeof (*path_name));
-   if (!path_name)
-     return;
- 
-diff --git a/grub-core/loader/i386/bsdXX.c b/grub-core/loader/i386/bsdXX.c
-index af6741d..a8d8bf7 100644
---- a/grub-core/loader/i386/bsdXX.c
-+++ b/grub-core/loader/i386/bsdXX.c
-@@ -48,7 +48,7 @@ read_headers (grub_file_t file, const char *filename, Elf_Ehdr *e, char **shdr)
-   if (e->e_ident[EI_CLASS] != SUFFIX (ELFCLASS))
-     return grub_error (GRUB_ERR_BAD_OS, N_("invalid arch-dependent ELF magic"));
- 
--  *shdr = grub_malloc ((grub_uint32_t) e->e_shnum * e->e_shentsize);
-+  *shdr = grub_calloc (e->e_shnum, e->e_shentsize);
-   if (! *shdr)
-     return grub_errno;
- 
-diff --git a/grub-core/loader/i386/xnu.c b/grub-core/loader/i386/xnu.c
-index e64ed08..b7d176b 100644
---- a/grub-core/loader/i386/xnu.c
-+++ b/grub-core/loader/i386/xnu.c
-@@ -295,7 +295,7 @@ grub_xnu_devprop_add_property_utf8 (struct grub_xnu_devprop_device_descriptor *d
-     return grub_errno;
- 
-   len = grub_strlen (name);
--  utf16 = grub_malloc (sizeof (grub_uint16_t) * len);
-+  utf16 = grub_calloc (len, sizeof (grub_uint16_t));
-   if (!utf16)
-     {
-       grub_free (utf8);
-@@ -331,7 +331,7 @@ grub_xnu_devprop_add_property_utf16 (struct grub_xnu_devprop_device_descriptor *
-   grub_uint16_t *utf16;
-   grub_err_t err;
- 
--  utf16 = grub_malloc (sizeof (grub_uint16_t) * namelen);
-+  utf16 = grub_calloc (namelen, sizeof (grub_uint16_t));
-   if (!utf16)
-     return grub_errno;
-   grub_memcpy (utf16, name, sizeof (grub_uint16_t) * namelen);
-diff --git a/grub-core/loader/macho.c b/grub-core/loader/macho.c
-index 085f9c6..05710c4 100644
---- a/grub-core/loader/macho.c
-+++ b/grub-core/loader/macho.c
-@@ -97,7 +97,7 @@ grub_macho_file (grub_file_t file, const char *filename, int is_64bit)
-       if (grub_file_seek (macho->file, sizeof (struct grub_macho_fat_header))
- 	  == (grub_off_t) -1)
- 	goto fail;
--      archs = grub_malloc (sizeof (struct grub_macho_fat_arch) * narchs);
-+      archs = grub_calloc (narchs, sizeof (struct grub_macho_fat_arch));
-       if (!archs)
- 	goto fail;
-       if (grub_file_read (macho->file, archs,
-diff --git a/grub-core/loader/multiboot_elfxx.c b/grub-core/loader/multiboot_elfxx.c
-index 70cd1db..cc68536 100644
---- a/grub-core/loader/multiboot_elfxx.c
-+++ b/grub-core/loader/multiboot_elfxx.c
-@@ -217,7 +217,7 @@ CONCAT(grub_multiboot_load_elf, XX) (mbi_load_data_t *mld)
-     {
-       grub_uint8_t *shdr, *shdrptr;
- 
--      shdr = grub_malloc ((grub_uint32_t) ehdr->e_shnum * ehdr->e_shentsize);
-+      shdr = grub_calloc (ehdr->e_shnum, ehdr->e_shentsize);
-       if (!shdr)
- 	return grub_errno;
-       
-diff --git a/grub-core/loader/xnu.c b/grub-core/loader/xnu.c
-index 7f74d1d..77d7060 100644
---- a/grub-core/loader/xnu.c
-+++ b/grub-core/loader/xnu.c
-@@ -800,7 +800,7 @@ grub_cmd_xnu_mkext (grub_command_t cmd __attribute__ ((unused)),
-   if (grub_be_to_cpu32 (head.magic) == GRUB_MACHO_FAT_MAGIC)
-     {
-       narchs = grub_be_to_cpu32 (head.nfat_arch);
--      archs = grub_malloc (sizeof (struct grub_macho_fat_arch) * narchs);
-+      archs = grub_calloc (narchs, sizeof (struct grub_macho_fat_arch));
-       if (! archs)
- 	{
- 	  grub_file_close (file);
-diff --git a/grub-core/mmap/mmap.c b/grub-core/mmap/mmap.c
-index 6a31cba..57b4e9a 100644
---- a/grub-core/mmap/mmap.c
-+++ b/grub-core/mmap/mmap.c
-@@ -143,9 +143,9 @@ grub_mmap_iterate (grub_memory_hook_t hook, void *hook_data)
- 
-   /* Initialize variables. */
-   ctx.scanline_events = (struct grub_mmap_scan *)
--    grub_malloc (sizeof (struct grub_mmap_scan) * 2 * mmap_num);
-+    grub_calloc (mmap_num, sizeof (struct grub_mmap_scan) * 2);
- 
--  present = grub_zalloc (sizeof (present[0]) * current_priority);
-+  present = grub_calloc (current_priority, sizeof (present[0]));
- 
-   if (! ctx.scanline_events || !present)
-     {
-diff --git a/grub-core/net/bootp.c b/grub-core/net/bootp.c
-index 04cfbb0..6539572 100644
---- a/grub-core/net/bootp.c
-+++ b/grub-core/net/bootp.c
-@@ -766,7 +766,7 @@ grub_cmd_bootp (struct grub_command *cmd __attribute__ ((unused)),
-   if (ncards == 0)
-     return grub_error (GRUB_ERR_NET_NO_CARD, N_("no network card found"));
- 
--  ifaces = grub_zalloc (ncards * sizeof (ifaces[0]));
-+  ifaces = grub_calloc (ncards, sizeof (ifaces[0]));
-   if (!ifaces)
-     return grub_errno;
- 
-diff --git a/grub-core/net/dns.c b/grub-core/net/dns.c
-index 5d9afe0..e332d5e 100644
---- a/grub-core/net/dns.c
-+++ b/grub-core/net/dns.c
-@@ -285,8 +285,8 @@ recv_hook (grub_net_udp_socket_t sock __attribute__ ((unused)),
-       ptr++;
-       ptr += 4;
-     }
--  *data->addresses = grub_malloc (sizeof ((*data->addresses)[0])
--				 * grub_be_to_cpu16 (head->ancount));
-+  *data->addresses = grub_calloc (grub_be_to_cpu16 (head->ancount),
-+				  sizeof ((*data->addresses)[0]));
-   if (!*data->addresses)
-     {
-       grub_errno = GRUB_ERR_NONE;
-@@ -406,8 +406,8 @@ recv_hook (grub_net_udp_socket_t sock __attribute__ ((unused)),
-       dns_cache[h].addresses = 0;
-       dns_cache[h].name = grub_strdup (data->oname);
-       dns_cache[h].naddresses = *data->naddresses;
--      dns_cache[h].addresses = grub_malloc (*data->naddresses
--					    * sizeof (dns_cache[h].addresses[0]));
-+      dns_cache[h].addresses = grub_calloc (*data->naddresses,
-+					    sizeof (dns_cache[h].addresses[0]));
-       dns_cache[h].limit_time = grub_get_time_ms () + 1000 * ttl_all;
-       if (!dns_cache[h].addresses || !dns_cache[h].name)
- 	{
-@@ -479,7 +479,7 @@ grub_net_dns_lookup (const char *name,
- 	}
-     }
- 
--  sockets = grub_malloc (sizeof (sockets[0]) * n_servers);
-+  sockets = grub_calloc (n_servers, sizeof (sockets[0]));
-   if (!sockets)
-     return grub_errno;
- 
-diff --git a/grub-core/net/net.c b/grub-core/net/net.c
-index d5d726a..38f19df 100644
---- a/grub-core/net/net.c
-+++ b/grub-core/net/net.c
-@@ -333,8 +333,8 @@ grub_cmd_ipv6_autoconf (struct grub_command *cmd __attribute__ ((unused)),
-     ncards++;
-   }
- 
--  ifaces = grub_zalloc (ncards * sizeof (ifaces[0]));
--  slaacs = grub_zalloc (ncards * sizeof (slaacs[0]));
-+  ifaces = grub_calloc (ncards, sizeof (ifaces[0]));
-+  slaacs = grub_calloc (ncards, sizeof (slaacs[0]));
-   if (!ifaces || !slaacs)
-     {
-       grub_free (ifaces);
-diff --git a/grub-core/normal/charset.c b/grub-core/normal/charset.c
-index b0ab47d..d57fb72 100644
---- a/grub-core/normal/charset.c
-+++ b/grub-core/normal/charset.c
-@@ -203,7 +203,7 @@ grub_utf8_to_ucs4_alloc (const char *msg, grub_uint32_t **unicode_msg,
- {
-   grub_size_t msg_len = grub_strlen (msg);
- 
--  *unicode_msg = grub_malloc (msg_len * sizeof (grub_uint32_t));
-+  *unicode_msg = grub_calloc (msg_len, sizeof (grub_uint32_t));
-  
-   if (!*unicode_msg)
-     return -1;
-@@ -488,7 +488,7 @@ grub_unicode_aglomerate_comb (const grub_uint32_t *in, grub_size_t inlen,
- 	    }
- 	  else
- 	    {
--	      n = grub_malloc (sizeof (n[0]) * (out->ncomb + 1));
-+	      n = grub_calloc (out->ncomb + 1, sizeof (n[0]));
- 	      if (!n)
- 		{
- 		  grub_errno = GRUB_ERR_NONE;
-@@ -842,7 +842,7 @@ grub_bidi_line_logical_to_visual (const grub_uint32_t *logical,
-       }							\
-   }
- 
--  visual = grub_malloc (sizeof (visual[0]) * logical_len);
-+  visual = grub_calloc (logical_len, sizeof (visual[0]));
-   if (!visual)
-     return -1;
- 
-@@ -1165,8 +1165,8 @@ grub_bidi_logical_to_visual (const grub_uint32_t *logical,
- {
-   const grub_uint32_t *line_start = logical, *ptr;
-   struct grub_unicode_glyph *visual_ptr;
--  *visual_out = visual_ptr = grub_malloc (3 * sizeof (visual_ptr[0])
--					  * (logical_len + 2));
-+  *visual_out = visual_ptr = grub_calloc (logical_len + 2,
-+					  3 * sizeof (visual_ptr[0]));
-   if (!visual_ptr)
-     return -1;
-   for (ptr = logical; ptr <= logical + logical_len; ptr++)
-diff --git a/grub-core/normal/cmdline.c b/grub-core/normal/cmdline.c
-index c037d50..c57242e 100644
---- a/grub-core/normal/cmdline.c
-+++ b/grub-core/normal/cmdline.c
-@@ -41,7 +41,7 @@ grub_err_t
- grub_set_history (int newsize)
- {
-   grub_uint32_t **old_hist_lines = hist_lines;
--  hist_lines = grub_malloc (sizeof (grub_uint32_t *) * newsize);
-+  hist_lines = grub_calloc (newsize, sizeof (grub_uint32_t *));
- 
-   /* Copy the old lines into the new buffer.  */
-   if (old_hist_lines)
-@@ -114,7 +114,7 @@ static void
- grub_history_set (int pos, grub_uint32_t *s, grub_size_t len)
- {
-   grub_free (hist_lines[pos]);
--  hist_lines[pos] = grub_malloc ((len + 1) * sizeof (grub_uint32_t));
-+  hist_lines[pos] = grub_calloc (len + 1, sizeof (grub_uint32_t));
-   if (!hist_lines[pos])
-     {
-       grub_print_error ();
-@@ -349,7 +349,7 @@ grub_cmdline_get (const char *prompt_translated)
-   char *ret;
-   unsigned nterms;
- 
--  buf = grub_malloc (max_len * sizeof (grub_uint32_t));
-+  buf = grub_calloc (max_len, sizeof (grub_uint32_t));
-   if (!buf)
-     return 0;
- 
-@@ -377,7 +377,7 @@ grub_cmdline_get (const char *prompt_translated)
-     FOR_ACTIVE_TERM_OUTPUTS(cur)
-       nterms++;
- 
--    cl_terms = grub_malloc (sizeof (cl_terms[0]) * nterms);
-+    cl_terms = grub_calloc (nterms, sizeof (cl_terms[0]));
-     if (!cl_terms)
-       {
- 	grub_free (buf);
-@@ -385,7 +385,7 @@ grub_cmdline_get (const char *prompt_translated)
-       }
-     cl_term_cur = cl_terms;
- 
--    unicode_msg = grub_malloc (msg_len * sizeof (grub_uint32_t));
-+    unicode_msg = grub_calloc (msg_len, sizeof (grub_uint32_t));
-     if (!unicode_msg)
-       {
- 	grub_free (buf);
-@@ -495,7 +495,7 @@ grub_cmdline_get (const char *prompt_translated)
- 		grub_uint32_t *insert;
- 
- 		insertlen = grub_strlen (insertu8);
--		insert = grub_malloc ((insertlen + 1) * sizeof (grub_uint32_t));
-+		insert = grub_calloc (insertlen + 1, sizeof (grub_uint32_t));
- 		if (!insert)
- 		  {
- 		    grub_free (insertu8);
-@@ -602,7 +602,7 @@ grub_cmdline_get (const char *prompt_translated)
- 
- 	      grub_free (kill_buf);
- 
--	      kill_buf = grub_malloc ((n + 1) * sizeof(grub_uint32_t));
-+	      kill_buf = grub_calloc (n + 1, sizeof (grub_uint32_t));
- 	      if (grub_errno)
- 		{
- 		  grub_print_error ();
-diff --git a/grub-core/normal/menu_entry.c b/grub-core/normal/menu_entry.c
-index cdf3590..1993995 100644
---- a/grub-core/normal/menu_entry.c
-+++ b/grub-core/normal/menu_entry.c
-@@ -95,8 +95,8 @@ init_line (struct screen *screen, struct line *linep)
- {
-   linep->len = 0;
-   linep->max_len = 80;
--  linep->buf = grub_malloc ((linep->max_len + 1) * sizeof (linep->buf[0]));
--  linep->pos = grub_zalloc (screen->nterms * sizeof (linep->pos[0]));
-+  linep->buf = grub_calloc (linep->max_len + 1, sizeof (linep->buf[0]));
-+  linep->pos = grub_calloc (screen->nterms, sizeof (linep->pos[0]));
-   if (! linep->buf || !linep->pos)
-     {
-       grub_free (linep->buf);
-@@ -287,7 +287,7 @@ update_screen (struct screen *screen, struct per_term_screen *term_screen,
- 	  pos = linep->pos + (term_screen - screen->terms);
- 
- 	  if (!*pos)
--	    *pos = grub_zalloc ((linep->len + 1) * sizeof (**pos));
-+	    *pos = grub_calloc (linep->len + 1, sizeof (**pos));
- 
- 	  if (i == region_start || linep == screen->lines + screen->line
- 	      || (i > region_start && mode == ALL_LINES))
-@@ -471,7 +471,7 @@ insert_string (struct screen *screen, const char *s, int update)
- 
- 	  /* Insert the string.  */
- 	  current_linep = screen->lines + screen->line;
--	  unicode_msg = grub_malloc ((p - s) * sizeof (grub_uint32_t));
-+	  unicode_msg = grub_calloc (p - s, sizeof (grub_uint32_t));
- 
- 	  if (!unicode_msg)
- 	    return 0;
-@@ -1023,7 +1023,7 @@ complete (struct screen *screen, int continuous, int update)
-   if (completion_buffer.buf)
-     {
-       buflen = grub_strlen (completion_buffer.buf);
--      ucs4 = grub_malloc (sizeof (grub_uint32_t) * (buflen + 1));
-+      ucs4 = grub_calloc (buflen + 1, sizeof (grub_uint32_t));
-       
-       if (!ucs4)
- 	{
-@@ -1268,7 +1268,7 @@ grub_menu_entry_run (grub_menu_entry_t entry)
-   for (i = 0; i < (unsigned) screen->num_lines; i++)
-     {
-       grub_free (screen->lines[i].pos);
--      screen->lines[i].pos = grub_zalloc (screen->nterms * sizeof (screen->lines[i].pos[0]));
-+      screen->lines[i].pos = grub_calloc (screen->nterms, sizeof (screen->lines[i].pos[0]));
-       if (! screen->lines[i].pos)
- 	{
- 	  grub_print_error ();
-@@ -1278,7 +1278,7 @@ grub_menu_entry_run (grub_menu_entry_t entry)
- 	}
-     }
- 
--  screen->terms = grub_zalloc (screen->nterms * sizeof (screen->terms[0]));
-+  screen->terms = grub_calloc (screen->nterms, sizeof (screen->terms[0]));
-   if (!screen->terms)
-     {
-       grub_print_error ();
-diff --git a/grub-core/normal/menu_text.c b/grub-core/normal/menu_text.c
-index e22bb91..18240e7 100644
---- a/grub-core/normal/menu_text.c
-+++ b/grub-core/normal/menu_text.c
-@@ -78,7 +78,7 @@ grub_print_message_indented_real (const char *msg, int margin_left,
-   grub_size_t msg_len = grub_strlen (msg) + 2;
-   int ret = 0;
- 
--  unicode_msg = grub_malloc (msg_len * sizeof (grub_uint32_t));
-+  unicode_msg = grub_calloc (msg_len, sizeof (grub_uint32_t));
-  
-   if (!unicode_msg)
-     return 0;
-@@ -211,7 +211,7 @@ print_entry (int y, int highlight, grub_menu_entry_t entry,
- 
-   title = entry ? entry->title : "";
-   title_len = grub_strlen (title);
--  unicode_title = grub_malloc (title_len * sizeof (*unicode_title));
-+  unicode_title = grub_calloc (title_len, sizeof (*unicode_title));
-   if (! unicode_title)
-     /* XXX How to show this error?  */
-     return;
-diff --git a/grub-core/normal/term.c b/grub-core/normal/term.c
-index a1e5c5a..cc8c173 100644
---- a/grub-core/normal/term.c
-+++ b/grub-core/normal/term.c
-@@ -264,7 +264,7 @@ grub_term_save_pos (void)
-   FOR_ACTIVE_TERM_OUTPUTS(cur)
-     cnt++;
- 
--  ret = grub_malloc (cnt * sizeof (ret[0]));
-+  ret = grub_calloc (cnt, sizeof (ret[0]));
-   if (!ret)
-     return NULL;
- 
-@@ -1013,7 +1013,7 @@ grub_xnputs (const char *str, grub_size_t msg_len)
- 
-   grub_error_push ();
- 
--  unicode_str = grub_malloc (msg_len * sizeof (grub_uint32_t));
-+  unicode_str = grub_calloc (msg_len, sizeof (grub_uint32_t));
-  
-   grub_error_pop ();
- 
-diff --git a/grub-core/osdep/linux/getroot.c b/grub-core/osdep/linux/getroot.c
-index 90d92d3..5b41ad0 100644
---- a/grub-core/osdep/linux/getroot.c
-+++ b/grub-core/osdep/linux/getroot.c
-@@ -168,7 +168,7 @@ grub_util_raid_getmembers (const char *name, int bootable)
-   if (ret != 0)
-     grub_util_error (_("ioctl GET_ARRAY_INFO error: %s"), strerror (errno));
- 
--  devicelist = xmalloc ((info.nr_disks + 1) * sizeof (char *));
-+  devicelist = xcalloc (info.nr_disks + 1, sizeof (char *));
- 
-   for (i = 0, j = 0; j < info.nr_disks; i++)
-     {
-@@ -241,7 +241,7 @@ grub_find_root_devices_from_btrfs (const char *dir)
-       return NULL;
-     }
- 
--  ret = xmalloc ((fsi.num_devices + 1) * sizeof (ret[0]));
-+  ret = xcalloc (fsi.num_devices + 1, sizeof (ret[0]));
- 
-   for (i = 1; i <= fsi.max_id && j < fsi.num_devices; i++)
-     {
-@@ -396,7 +396,7 @@ grub_find_root_devices_from_mountinfo (const char *dir, char **relroot)
-   if (relroot)
-     *relroot = NULL;
- 
--  entries = xmalloc (entry_max * sizeof (*entries));
-+  entries = xcalloc (entry_max, sizeof (*entries));
- 
- again:
-   fp = grub_util_fopen ("/proc/self/mountinfo", "r");
-diff --git a/grub-core/osdep/unix/config.c b/grub-core/osdep/unix/config.c
-index 65effa9..7d63251 100644
---- a/grub-core/osdep/unix/config.c
-+++ b/grub-core/osdep/unix/config.c
-@@ -89,7 +89,7 @@ grub_util_load_config (struct grub_util_config *cfg)
-   argv[0] = "sh";
-   argv[1] = "-c";
- 
--  script = xmalloc (4 * strlen (cfgfile) + 300);
-+  script = xcalloc (4, strlen (cfgfile) + 300);
- 
-   ptr = script;
-   memcpy (ptr, ". '", 3);
-diff --git a/grub-core/osdep/windows/getroot.c b/grub-core/osdep/windows/getroot.c
-index 661d954..eada663 100644
---- a/grub-core/osdep/windows/getroot.c
-+++ b/grub-core/osdep/windows/getroot.c
-@@ -59,7 +59,7 @@ grub_get_mount_point (const TCHAR *path)
- 
-   for (ptr = path; *ptr; ptr++);
-   allocsize = (ptr - path + 10) * 2;
--  out = xmalloc (allocsize * sizeof (out[0]));
-+  out = xcalloc (allocsize, sizeof (out[0]));
- 
-   /* When pointing to EFI system partition GetVolumePathName fails
-      for ESP root and returns abberant information for everything
-diff --git a/grub-core/osdep/windows/hostdisk.c b/grub-core/osdep/windows/hostdisk.c
-index 3551007..0be3273 100644
---- a/grub-core/osdep/windows/hostdisk.c
-+++ b/grub-core/osdep/windows/hostdisk.c
-@@ -111,7 +111,7 @@ grub_util_get_windows_path_real (const char *path)
- 
-   while (1)
-     {
--      fpa = xmalloc (alloc * sizeof (fpa[0]));
-+      fpa = xcalloc (alloc, sizeof (fpa[0]));
- 
-       len = GetFullPathName (tpath, alloc, fpa, NULL);
-       if (len >= alloc)
-@@ -399,7 +399,7 @@ grub_util_fd_opendir (const char *name)
-   for (l = 0; name_windows[l]; l++);
-   for (l--; l >= 0 && (name_windows[l] == '\\' || name_windows[l] == '/'); l--);
-   l++;
--  pattern = xmalloc ((l + 3) * sizeof (pattern[0]));
-+  pattern = xcalloc (l + 3, sizeof (pattern[0]));
-   memcpy (pattern, name_windows, l * sizeof (pattern[0]));
-   pattern[l] = '\\';
-   pattern[l + 1] = '*';
-diff --git a/grub-core/osdep/windows/init.c b/grub-core/osdep/windows/init.c
-index e8ffd62..6297de6 100644
---- a/grub-core/osdep/windows/init.c
-+++ b/grub-core/osdep/windows/init.c
-@@ -161,7 +161,7 @@ grub_util_host_init (int *argc __attribute__ ((unused)),
-   LPWSTR *targv;
- 
-   targv = CommandLineToArgvW (tcmdline, argc);
--  *argv = xmalloc ((*argc + 1) * sizeof (argv[0]));
-+  *argv = xcalloc (*argc + 1, sizeof (argv[0]));
- 
-   for (i = 0; i < *argc; i++)
-     (*argv)[i] = grub_util_tchar_to_utf8 (targv[i]); 
-diff --git a/grub-core/osdep/windows/platform.c b/grub-core/osdep/windows/platform.c
-index 7eb53fe..1ef86bf 100644
---- a/grub-core/osdep/windows/platform.c
-+++ b/grub-core/osdep/windows/platform.c
-@@ -225,8 +225,8 @@ grub_install_register_efi (grub_device_t efidir_grub_dev,
-     grub_util_error ("%s", _("no EFI routines are available when running in BIOS mode"));
- 
-   distrib8_len = grub_strlen (efi_distributor);
--  distributor16 = xmalloc ((distrib8_len + 1) * GRUB_MAX_UTF16_PER_UTF8
--			   * sizeof (grub_uint16_t));
-+  distributor16 = xcalloc (distrib8_len + 1,
-+			   GRUB_MAX_UTF16_PER_UTF8 * sizeof (grub_uint16_t));
-   distrib16_len = grub_utf8_to_utf16 (distributor16, distrib8_len * GRUB_MAX_UTF16_PER_UTF8,
- 				      (const grub_uint8_t *) efi_distributor,
- 				      distrib8_len, 0);
-diff --git a/grub-core/osdep/windows/relpath.c b/grub-core/osdep/windows/relpath.c
-index cb08617..478e8ef 100644
---- a/grub-core/osdep/windows/relpath.c
-+++ b/grub-core/osdep/windows/relpath.c
-@@ -72,7 +72,7 @@ grub_make_system_path_relative_to_its_root (const char *path)
-       if (dirwindows[0] && dirwindows[1] == ':')
- 	offset = 2;
-     }
--  ret = xmalloc (sizeof (ret[0]) * (flen - offset + 2));
-+  ret = xcalloc (flen - offset + 2, sizeof (ret[0]));
-   if (dirwindows[offset] != '\\'
-       && dirwindows[offset] != '/'
-       && dirwindows[offset])
-diff --git a/grub-core/partmap/gpt.c b/grub-core/partmap/gpt.c
-index 103f679..72a2e37 100644
---- a/grub-core/partmap/gpt.c
-+++ b/grub-core/partmap/gpt.c
-@@ -199,7 +199,7 @@ gpt_partition_map_embed (struct grub_disk *disk, unsigned int *nsectors,
-   *nsectors = ctx.len;
-   if (*nsectors > max_nsectors)
-     *nsectors = max_nsectors;
--  *sectors = grub_malloc (*nsectors * sizeof (**sectors));
-+  *sectors = grub_calloc (*nsectors, sizeof (**sectors));
-   if (!*sectors)
-     return grub_errno;
-   for (i = 0; i < *nsectors; i++)
-diff --git a/grub-core/partmap/msdos.c b/grub-core/partmap/msdos.c
-index 7b8e450..ee3f249 100644
---- a/grub-core/partmap/msdos.c
-+++ b/grub-core/partmap/msdos.c
-@@ -337,7 +337,7 @@ pc_partition_map_embed (struct grub_disk *disk, unsigned int *nsectors,
-       avail_nsectors = *nsectors;
-       if (*nsectors > max_nsectors)
- 	*nsectors = max_nsectors;
--      *sectors = grub_malloc (*nsectors * sizeof (**sectors));
-+      *sectors = grub_calloc (*nsectors, sizeof (**sectors));
-       if (!*sectors)
- 	return grub_errno;
-       for (i = 0; i < *nsectors; i++)
-diff --git a/grub-core/script/execute.c b/grub-core/script/execute.c
-index ee299fd..c8d6806 100644
---- a/grub-core/script/execute.c
-+++ b/grub-core/script/execute.c
-@@ -553,7 +553,7 @@ gettext_append (struct grub_script_argv *result, const char *orig_str)
-   for (iptr = orig_str; *iptr; iptr++)
-     if (*iptr == '$')
-       dollar_cnt++;
--  ctx.allowed_strings = grub_malloc (sizeof (ctx.allowed_strings[0]) * dollar_cnt);
-+  ctx.allowed_strings = grub_calloc (dollar_cnt, sizeof (ctx.allowed_strings[0]));
- 
-   if (parse_string (orig_str, gettext_save_allow, &ctx, 0))
-     goto fail;
-diff --git a/grub-core/tests/fake_input.c b/grub-core/tests/fake_input.c
-index 2d60852..b5eb516 100644
---- a/grub-core/tests/fake_input.c
-+++ b/grub-core/tests/fake_input.c
-@@ -49,7 +49,7 @@ grub_terminal_input_fake_sequence (int *seq_in, int nseq_in)
-     saved = grub_term_inputs;
-   if (seq)
-     grub_free (seq);
--  seq = grub_malloc (nseq_in * sizeof (seq[0]));
-+  seq = grub_calloc (nseq_in, sizeof (seq[0]));
-   if (!seq)
-     return;
- 
-diff --git a/grub-core/tests/video_checksum.c b/grub-core/tests/video_checksum.c
-index 74d5b65..44d0810 100644
---- a/grub-core/tests/video_checksum.c
-+++ b/grub-core/tests/video_checksum.c
-@@ -336,7 +336,7 @@ grub_video_capture_write_bmp (const char *fname,
-     {
-     case 4:
-       {
--	grub_uint8_t *buffer = xmalloc (mode_info->width * 3);
-+	grub_uint8_t *buffer = xcalloc (3, mode_info->width);
- 	grub_uint32_t rmask = ((1 << mode_info->red_mask_size) - 1);
- 	grub_uint32_t gmask = ((1 << mode_info->green_mask_size) - 1);
- 	grub_uint32_t bmask = ((1 << mode_info->blue_mask_size) - 1);
-@@ -367,7 +367,7 @@ grub_video_capture_write_bmp (const char *fname,
-       }
-     case 3:
-       {
--	grub_uint8_t *buffer = xmalloc (mode_info->width * 3);
-+	grub_uint8_t *buffer = xcalloc (3, mode_info->width);
- 	grub_uint32_t rmask = ((1 << mode_info->red_mask_size) - 1);
- 	grub_uint32_t gmask = ((1 << mode_info->green_mask_size) - 1);
- 	grub_uint32_t bmask = ((1 << mode_info->blue_mask_size) - 1);
-@@ -407,7 +407,7 @@ grub_video_capture_write_bmp (const char *fname,
-       }
-     case 2:
-       {
--	grub_uint8_t *buffer = xmalloc (mode_info->width * 3);
-+	grub_uint8_t *buffer = xcalloc (3, mode_info->width);
- 	grub_uint16_t rmask = ((1 << mode_info->red_mask_size) - 1);
- 	grub_uint16_t gmask = ((1 << mode_info->green_mask_size) - 1);
- 	grub_uint16_t bmask = ((1 << mode_info->blue_mask_size) - 1);
-diff --git a/grub-core/video/capture.c b/grub-core/video/capture.c
-index 4f83c74..4d3195e 100644
---- a/grub-core/video/capture.c
-+++ b/grub-core/video/capture.c
-@@ -89,7 +89,7 @@ grub_video_capture_start (const struct grub_video_mode_info *mode_info,
-   framebuffer.mode_info = *mode_info;
-   framebuffer.mode_info.blit_format = grub_video_get_blit_format (&framebuffer.mode_info);
- 
--  framebuffer.ptr = grub_malloc (framebuffer.mode_info.height * framebuffer.mode_info.pitch);
-+  framebuffer.ptr = grub_calloc (framebuffer.mode_info.height, framebuffer.mode_info.pitch);
-   if (!framebuffer.ptr)
-     return grub_errno;
-   
-diff --git a/grub-core/video/emu/sdl.c b/grub-core/video/emu/sdl.c
-index a2f639f..0ebab6f 100644
---- a/grub-core/video/emu/sdl.c
-+++ b/grub-core/video/emu/sdl.c
-@@ -172,7 +172,7 @@ grub_video_sdl_set_palette (unsigned int start, unsigned int count,
-       if (start + count > mode_info.number_of_colors)
- 	count = mode_info.number_of_colors - start;
- 
--      tmp = grub_malloc (count * sizeof (tmp[0]));
-+      tmp = grub_calloc (count, sizeof (tmp[0]));
-       for (i = 0; i < count; i++)
- 	{
- 	  tmp[i].r = palette_data[i].r;
-diff --git a/grub-core/video/i386/pc/vga.c b/grub-core/video/i386/pc/vga.c
-index 01f4711..b2f776c 100644
---- a/grub-core/video/i386/pc/vga.c
-+++ b/grub-core/video/i386/pc/vga.c
-@@ -127,7 +127,7 @@ grub_video_vga_setup (unsigned int width, unsigned int height,
- 
-   vga_height = height ? : 480;
- 
--  framebuffer.temporary_buffer = grub_malloc (vga_height * VGA_WIDTH);
-+  framebuffer.temporary_buffer = grub_calloc (vga_height, VGA_WIDTH);
-   framebuffer.front_page = 0;
-   framebuffer.back_page = 0;
-   if (!framebuffer.temporary_buffer)
-diff --git a/grub-core/video/readers/png.c b/grub-core/video/readers/png.c
-index 777e713..61bd645 100644
---- a/grub-core/video/readers/png.c
-+++ b/grub-core/video/readers/png.c
-@@ -309,7 +309,7 @@ grub_png_decode_image_header (struct grub_png_data *data)
-   if (data->is_16bit || data->is_gray || data->is_palette)
- #endif
-     {
--      data->image_data = grub_malloc (data->image_height * data->row_bytes);
-+      data->image_data = grub_calloc (data->image_height, data->row_bytes);
-       if (grub_errno)
-         return grub_errno;
- 
-diff --git a/include/grub/unicode.h b/include/grub/unicode.h
-index a0403e9..4de986a 100644
---- a/include/grub/unicode.h
-+++ b/include/grub/unicode.h
-@@ -293,7 +293,7 @@ grub_unicode_glyph_dup (const struct grub_unicode_glyph *in)
-   grub_memcpy (out, in, sizeof (*in));
-   if (in->ncomb > ARRAY_SIZE (out->combining_inline))
-     {
--      out->combining_ptr = grub_malloc (in->ncomb * sizeof (out->combining_ptr[0]));
-+      out->combining_ptr = grub_calloc (in->ncomb, sizeof (out->combining_ptr[0]));
-       if (!out->combining_ptr)
- 	{
- 	  grub_free (out);
-@@ -315,7 +315,7 @@ grub_unicode_set_glyph (struct grub_unicode_glyph *out,
-   grub_memcpy (out, in, sizeof (*in));
-   if (in->ncomb > ARRAY_SIZE (out->combining_inline))
-     {
--      out->combining_ptr = grub_malloc (in->ncomb * sizeof (out->combining_ptr[0]));
-+      out->combining_ptr = grub_calloc (in->ncomb, sizeof (out->combining_ptr[0]));
-       if (!out->combining_ptr)
- 	return;
-       grub_memcpy (out->combining_ptr, in->combining_ptr,
-diff --git a/util/getroot.c b/util/getroot.c
-index 847406f..a5eaa64 100644
---- a/util/getroot.c
-+++ b/util/getroot.c
-@@ -200,7 +200,7 @@ make_device_name (const char *drive)
-   char *ret, *ptr;
-   const char *iptr;
- 
--  ret = xmalloc (strlen (drive) * 2);
-+  ret = xcalloc (2, strlen (drive));
-   ptr = ret;
-   for (iptr = drive; *iptr; iptr++)
-     {
-diff --git a/util/grub-file.c b/util/grub-file.c
-index 50c18b6..b2e7dd6 100644
---- a/util/grub-file.c
-+++ b/util/grub-file.c
-@@ -54,7 +54,7 @@ main (int argc, char *argv[])
- 
-   grub_util_host_init (&argc, &argv);
- 
--  argv2 = xmalloc (argc * sizeof (argv2[0]));
-+  argv2 = xcalloc (argc, sizeof (argv2[0]));
- 
-   if (argc == 2 && strcmp (argv[1], "--version") == 0)
-     {
-diff --git a/util/grub-fstest.c b/util/grub-fstest.c
-index f14e02d..57246af 100644
---- a/util/grub-fstest.c
-+++ b/util/grub-fstest.c
-@@ -650,7 +650,7 @@ argp_parser (int key, char *arg, struct argp_state *state)
-   if (args_count < num_disks)
-     {
-       if (args_count == 0)
--	images = xmalloc (num_disks * sizeof (images[0]));
-+	images = xcalloc (num_disks, sizeof (images[0]));
-       images[args_count] = grub_canonicalize_file_name (arg);
-       args_count++;
-       return 0;
-@@ -734,7 +734,7 @@ main (int argc, char *argv[])
- 
-   grub_util_host_init (&argc, &argv);
- 
--  args = xmalloc (argc * sizeof (args[0]));
-+  args = xcalloc (argc, sizeof (args[0]));
- 
-   argp_parse (&argp, argc, argv, 0, 0, 0);
- 
-diff --git a/util/grub-install-common.c b/util/grub-install-common.c
-index ca0ac61..0295d40 100644
---- a/util/grub-install-common.c
-+++ b/util/grub-install-common.c
-@@ -286,7 +286,7 @@ handle_install_list (struct install_list *il, const char *val,
-       il->n_entries++;
-     }
-   il->n_alloc = il->n_entries + 1;
--  il->entries = xmalloc (il->n_alloc * sizeof (il->entries[0]));
-+  il->entries = xcalloc (il->n_alloc, sizeof (il->entries[0]));
-   ptr = val;
-   for (ce = il->entries; ; ce++)
-     {
-diff --git a/util/grub-install.c b/util/grub-install.c
-index 8a55ad4..a82725f 100644
---- a/util/grub-install.c
-+++ b/util/grub-install.c
-@@ -626,7 +626,7 @@ device_map_check_duplicates (const char *dev_map)
-   if (! fp)
-     return;
- 
--  d = xmalloc (alloced * sizeof (d[0]));
-+  d = xcalloc (alloced, sizeof (d[0]));
- 
-   while (fgets (buf, sizeof (buf), fp))
-     {
-@@ -1260,7 +1260,7 @@ main (int argc, char *argv[])
-       ndev++;
-     }
- 
--  grub_drives = xmalloc (sizeof (grub_drives[0]) * (ndev + 1)); 
-+  grub_drives = xcalloc (ndev + 1, sizeof (grub_drives[0]));
- 
-   for (curdev = grub_devices, curdrive = grub_drives; *curdev; curdev++,
-        curdrive++)
-diff --git a/util/grub-mkimagexx.c b/util/grub-mkimagexx.c
-index bc087c2..d97d0e7 100644
---- a/util/grub-mkimagexx.c
-+++ b/util/grub-mkimagexx.c
-@@ -2294,10 +2294,8 @@ SUFFIX (grub_mkimage_load_image) (const char *kernel_path,
- 		      + grub_host_to_target16 (e->e_shstrndx) * smd.section_entsize);
-   smd.strtab = (char *) e + grub_host_to_target_addr (s->sh_offset);
- 
--  smd.addrs = xmalloc (sizeof (*smd.addrs) * smd.num_sections);
--  memset (smd.addrs, 0, sizeof (*smd.addrs) * smd.num_sections);
--  smd.vaddrs = xmalloc (sizeof (*smd.vaddrs) * smd.num_sections);
--  memset (smd.vaddrs, 0, sizeof (*smd.vaddrs) * smd.num_sections);
-+  smd.addrs = xcalloc (smd.num_sections, sizeof (*smd.addrs));
-+  smd.vaddrs = xcalloc (smd.num_sections, sizeof (*smd.vaddrs));
- 
-   SUFFIX (locate_sections) (e, kernel_path, &smd, layout, image_target);
- 
-diff --git a/util/grub-mkrescue.c b/util/grub-mkrescue.c
-index ce2cbc4..5183102 100644
---- a/util/grub-mkrescue.c
-+++ b/util/grub-mkrescue.c
-@@ -441,8 +441,8 @@ main (int argc, char *argv[])
-   xorriso = xstrdup ("xorriso");
-   label_font = grub_util_path_concat (2, pkgdatadir, "unicode.pf2");
- 
--  argp_argv = xmalloc (sizeof (argp_argv[0]) * argc);
--  xorriso_tail_argv = xmalloc (sizeof (argp_argv[0]) * argc);
-+  argp_argv = xcalloc (argc, sizeof (argp_argv[0]));
-+  xorriso_tail_argv = xcalloc (argc, sizeof (argp_argv[0]));
- 
-   xorriso_tail_argc = 0;
-   /* Program name */
-diff --git a/util/grub-mkstandalone.c b/util/grub-mkstandalone.c
-index 4907d44..edf3097 100644
---- a/util/grub-mkstandalone.c
-+++ b/util/grub-mkstandalone.c
-@@ -296,7 +296,7 @@ main (int argc, char *argv[])
-   grub_util_host_init (&argc, &argv);
-   grub_util_disable_fd_syncs ();
- 
--  files = xmalloc ((argc + 1) * sizeof (files[0]));
-+  files = xcalloc (argc + 1, sizeof (files[0]));
- 
-   argp_parse (&argp, argc, argv, 0, 0, 0);
- 
-diff --git a/util/grub-pe2elf.c b/util/grub-pe2elf.c
-index 0d4084a..1133129 100644
---- a/util/grub-pe2elf.c
-+++ b/util/grub-pe2elf.c
-@@ -100,9 +100,9 @@ write_section_data (FILE* fp, const char *name, char *image,
-   char *pe_strtab = (image + pe_chdr->symtab_offset
- 		     + pe_chdr->num_symbols * sizeof (struct grub_pe32_symbol));
- 
--  section_map = xmalloc ((2 * pe_chdr->num_sections + 5) * sizeof (int));
-+  section_map = xcalloc (2 * pe_chdr->num_sections + 5, sizeof (int));
-   section_map[0] = 0;
--  shdr = xmalloc ((2 * pe_chdr->num_sections + 5) * sizeof (shdr[0]));
-+  shdr = xcalloc (2 * pe_chdr->num_sections + 5, sizeof (shdr[0]));
-   idx = 1;
-   idx_reloc = pe_chdr->num_sections + 1;
- 
-@@ -233,7 +233,7 @@ write_reloc_section (FILE* fp, const char *name, char *image,
- 
-       pe_sec = pe_shdr + shdr[i].sh_link;
-       pe_rel = (struct grub_pe32_reloc *) (image + pe_sec->relocations_offset);
--      rel = (elf_reloc_t *) xmalloc (pe_sec->num_relocations * sizeof (elf_reloc_t));
-+      rel = (elf_reloc_t *) xcalloc (pe_sec->num_relocations, sizeof (elf_reloc_t));
-       num_rels = 0;
-       modified = 0;
- 
-@@ -365,12 +365,10 @@ write_symbol_table (FILE* fp, const char *name, char *image,
-   pe_symtab = (struct grub_pe32_symbol *) (image + pe_chdr->symtab_offset);
-   pe_strtab = (char *) (pe_symtab + pe_chdr->num_symbols);
- 
--  symtab = (Elf_Sym *) xmalloc ((pe_chdr->num_symbols + 1) *
--				sizeof (Elf_Sym));
--  memset (symtab, 0, (pe_chdr->num_symbols + 1) * sizeof (Elf_Sym));
-+  symtab = (Elf_Sym *) xcalloc (pe_chdr->num_symbols + 1, sizeof (Elf_Sym));
-   num_syms = 1;
- 
--  symtab_map = (int *) xmalloc (pe_chdr->num_symbols * sizeof (int));
-+  symtab_map = (int *) xcalloc (pe_chdr->num_symbols, sizeof (int));
- 
-   for (i = 0; i < (int) pe_chdr->num_symbols;
-        i += pe_symtab->num_aux + 1, pe_symtab += pe_symtab->num_aux + 1)
-diff --git a/util/grub-probe.c b/util/grub-probe.c
-index 81d27ee..cbe6ed9 100644
---- a/util/grub-probe.c
-+++ b/util/grub-probe.c
-@@ -361,8 +361,8 @@ probe (const char *path, char **device_names, char delim)
-       grub_util_pull_device (*curdev);
-       ndev++;
-     }
--  
--  drives_names = xmalloc (sizeof (drives_names[0]) * (ndev + 1)); 
-+
-+  drives_names = xcalloc (ndev + 1, sizeof (drives_names[0]));
- 
-   for (curdev = device_names, curdrive = drives_names; *curdev; curdev++,
-        curdrive++)
--- 
-2.14.4
-
diff --git a/poky/meta/recipes-bsp/grub/files/CVE-2020-14309-CVE-2020-14310-CVE-2020-14311-malloc-Use-overflow-checking-primitives-where-we-do-.patch b/poky/meta/recipes-bsp/grub/files/CVE-2020-14309-CVE-2020-14310-CVE-2020-14311-malloc-Use-overflow-checking-primitives-where-we-do-.patch
deleted file mode 100644
index 7214ead9a..000000000
--- a/poky/meta/recipes-bsp/grub/files/CVE-2020-14309-CVE-2020-14310-CVE-2020-14311-malloc-Use-overflow-checking-primitives-where-we-do-.patch
+++ /dev/null
@@ -1,1330 +0,0 @@
-From eb77d1ef65e25746acff43545f62a71360b15eec Mon Sep 17 00:00:00 2001
-From: Peter Jones 
-Date: Mon, 15 Jun 2020 12:28:27 -0400
-Subject: [PATCH 6/9] malloc: Use overflow checking primitives where we do
- complex allocations
-
-This attempts to fix the places where we do the following where
-arithmetic_expr may include unvalidated data:
-
-  X = grub_malloc(arithmetic_expr);
-
-It accomplishes this by doing the arithmetic ahead of time using grub_add(),
-grub_sub(), grub_mul() and testing for overflow before proceeding.
-
-Among other issues, this fixes:
-  - allocation of integer overflow in grub_video_bitmap_create()
-    reported by Chris Coulson,
-  - allocation of integer overflow in grub_png_decode_image_header()
-    reported by Chris Coulson,
-  - allocation of integer overflow in grub_squash_read_symlink()
-    reported by Chris Coulson,
-  - allocation of integer overflow in grub_ext2_read_symlink()
-    reported by Chris Coulson,
-  - allocation of integer overflow in read_section_as_string()
-    reported by Chris Coulson.
-
-Fixes: CVE-2020-14309, CVE-2020-14310, CVE-2020-14311
-
-Signed-off-by: Peter Jones 
-Reviewed-by: Daniel Kiper 
-
-Upstream-Status: Backport
-CVE: CVE-2020-14309 CVE-2020-14310 CVE-2020-14311
-
-Reference to upstream patch:
-https://git.savannah.gnu.org/cgit/grub.git/commit/?id=3f05d693d1274965ffbe4ba99080dc2c570944c6
-
-Signed-off-by: Yongxin Liu 
----
- grub-core/commands/legacycfg.c | 29 +++++++++++++++++++-----
- grub-core/commands/wildcard.c  | 36 ++++++++++++++++++++++++-----
- grub-core/disk/ldm.c           | 32 ++++++++++++++++++--------
- grub-core/font/font.c          |  7 +++++-
- grub-core/fs/btrfs.c           | 28 +++++++++++++++--------
- grub-core/fs/ext2.c            | 10 ++++++++-
- grub-core/fs/iso9660.c         | 51 +++++++++++++++++++++++++++++-------------
- grub-core/fs/sfs.c             | 27 +++++++++++++++++-----
- grub-core/fs/squash4.c         | 45 ++++++++++++++++++++++++++++---------
- grub-core/fs/udf.c             | 41 +++++++++++++++++++++------------
- grub-core/fs/xfs.c             | 11 +++++----
- grub-core/fs/zfs/zfs.c         | 22 ++++++++++++------
- grub-core/fs/zfs/zfscrypt.c    |  7 +++++-
- grub-core/lib/arg.c            | 20 +++++++++++++++--
- grub-core/loader/i386/bsd.c    |  8 ++++++-
- grub-core/net/dns.c            |  9 +++++++-
- grub-core/normal/charset.c     | 10 +++++++--
- grub-core/normal/cmdline.c     | 14 ++++++++++--
- grub-core/normal/menu_entry.c  | 13 +++++++++--
- grub-core/script/argv.c        | 16 +++++++++++--
- grub-core/script/lexer.c       | 21 ++++++++++++++---
- grub-core/video/bitmap.c       | 25 +++++++++++++--------
- grub-core/video/readers/png.c  | 13 +++++++++--
- 23 files changed, 382 insertions(+), 113 deletions(-)
-
-diff --git a/grub-core/commands/legacycfg.c b/grub-core/commands/legacycfg.c
-index 5e3ec0d..cc5971f 100644
---- a/grub-core/commands/legacycfg.c
-+++ b/grub-core/commands/legacycfg.c
-@@ -32,6 +32,7 @@
- #include 
- #include 
- #include 
-+#include 
- 
- GRUB_MOD_LICENSE ("GPLv3+");
- 
-@@ -104,13 +105,22 @@ legacy_file (const char *filename)
- 	if (newsuffix)
- 	  {
- 	    char *t;
--	    
-+	    grub_size_t sz;
-+
-+	    if (grub_add (grub_strlen (suffix), grub_strlen (newsuffix), &sz) ||
-+		grub_add (sz, 1, &sz))
-+	      {
-+		grub_errno = GRUB_ERR_OUT_OF_RANGE;
-+		goto fail_0;
-+	      }
-+
- 	    t = suffix;
--	    suffix = grub_realloc (suffix, grub_strlen (suffix)
--				   + grub_strlen (newsuffix) + 1);
-+	    suffix = grub_realloc (suffix, sz);
- 	    if (!suffix)
- 	      {
- 		grub_free (t);
-+
-+ fail_0:
- 		grub_free (entrysrc);
- 		grub_free (parsed);
- 		grub_free (newsuffix);
-@@ -154,13 +164,22 @@ legacy_file (const char *filename)
- 	  else
- 	    {
- 	      char *t;
-+	      grub_size_t sz;
-+
-+	      if (grub_add (grub_strlen (entrysrc), grub_strlen (parsed), &sz) ||
-+		  grub_add (sz, 1, &sz))
-+		{
-+		  grub_errno = GRUB_ERR_OUT_OF_RANGE;
-+		  goto fail_1;
-+		}
- 
- 	      t = entrysrc;
--	      entrysrc = grub_realloc (entrysrc, grub_strlen (entrysrc)
--				       + grub_strlen (parsed) + 1);
-+	      entrysrc = grub_realloc (entrysrc, sz);
- 	      if (!entrysrc)
- 		{
- 		  grub_free (t);
-+
-+ fail_1:
- 		  grub_free (parsed);
- 		  grub_free (suffix);
- 		  return grub_errno;
-diff --git a/grub-core/commands/wildcard.c b/grub-core/commands/wildcard.c
-index 4a106ca..cc32903 100644
---- a/grub-core/commands/wildcard.c
-+++ b/grub-core/commands/wildcard.c
-@@ -23,6 +23,7 @@
- #include 
- #include 
- #include 
-+#include 
- 
- #include 
- 
-@@ -48,6 +49,7 @@ merge (char **dest, char **ps)
-   int i;
-   int j;
-   char **p;
-+  grub_size_t sz;
- 
-   if (! dest)
-     return ps;
-@@ -60,7 +62,12 @@ merge (char **dest, char **ps)
-   for (j = 0; ps[j]; j++)
-     ;
- 
--  p = grub_realloc (dest, sizeof (char*) * (i + j + 1));
-+  if (grub_add (i, j, &sz) ||
-+      grub_add (sz, 1, &sz) ||
-+      grub_mul (sz, sizeof (char *), &sz))
-+    return dest;
-+
-+  p = grub_realloc (dest, sz);
-   if (! p)
-     {
-       grub_free (dest);
-@@ -115,8 +122,15 @@ make_regex (const char *start, const char *end, regex_t *regexp)
-   char ch;
-   int i = 0;
-   unsigned len = end - start;
--  char *buffer = grub_malloc (len * 2 + 2 + 1); /* worst case size. */
-+  char *buffer;
-+  grub_size_t sz;
- 
-+  /* Worst case size is (len * 2 + 2 + 1). */
-+  if (grub_mul (len, 2, &sz) ||
-+      grub_add (sz, 3, &sz))
-+    return 1;
-+
-+  buffer = grub_malloc (sz);
-   if (! buffer)
-     return 1;
- 
-@@ -226,6 +240,7 @@ match_devices_iter (const char *name, void *data)
-   struct match_devices_ctx *ctx = data;
-   char **t;
-   char *buffer;
-+  grub_size_t sz;
- 
-   /* skip partitions if asked to. */
-   if (ctx->noparts && grub_strchr (name, ','))
-@@ -239,11 +254,16 @@ match_devices_iter (const char *name, void *data)
-   if (regexec (ctx->regexp, buffer, 0, 0, 0))
-     {
-       grub_dprintf ("expand", "not matched\n");
-+ fail:
-       grub_free (buffer);
-       return 0;
-     }
- 
--  t = grub_realloc (ctx->devs, sizeof (char*) * (ctx->ndev + 2));
-+  if (grub_add (ctx->ndev, 2, &sz) ||
-+      grub_mul (sz, sizeof (char *), &sz))
-+    goto fail;
-+
-+  t = grub_realloc (ctx->devs, sz);
-   if (! t)
-     {
-       grub_free (buffer);
-@@ -300,6 +320,7 @@ match_files_iter (const char *name,
-   struct match_files_ctx *ctx = data;
-   char **t;
-   char *buffer;
-+  grub_size_t sz;
- 
-   /* skip . and .. names */
-   if (grub_strcmp(".", name) == 0 || grub_strcmp("..", name) == 0)
-@@ -315,9 +336,14 @@ match_files_iter (const char *name,
-   if (! buffer)
-     return 1;
- 
--  t = grub_realloc (ctx->files, sizeof (char*) * (ctx->nfile + 2));
--  if (! t)
-+  if (grub_add (ctx->nfile, 2, &sz) ||
-+      grub_mul (sz, sizeof (char *), &sz))
-+    goto fail;
-+
-+  t = grub_realloc (ctx->files, sz);
-+  if (!t)
-     {
-+ fail:
-       grub_free (buffer);
-       return 1;
-     }
-diff --git a/grub-core/disk/ldm.c b/grub-core/disk/ldm.c
-index e632370..58f8a53 100644
---- a/grub-core/disk/ldm.c
-+++ b/grub-core/disk/ldm.c
-@@ -25,6 +25,7 @@
- #include 
- #include 
- #include 
-+#include 
- 
- #ifdef GRUB_UTIL
- #include 
-@@ -289,6 +290,7 @@ make_vg (grub_disk_t disk,
-       struct grub_ldm_vblk vblk[GRUB_DISK_SECTOR_SIZE
- 				/ sizeof (struct grub_ldm_vblk)];
-       unsigned i;
-+      grub_size_t sz;
-       err = grub_disk_read (disk, cursec, 0,
- 			    sizeof(vblk), &vblk);
-       if (err)
-@@ -350,7 +352,13 @@ make_vg (grub_disk_t disk,
- 	      grub_free (lv);
- 	      goto fail2;
- 	    }
--	  lv->name = grub_malloc (*ptr + 1);
-+	  if (grub_add (*ptr, 1, &sz))
-+	    {
-+	      grub_free (lv->internal_id);
-+	      grub_free (lv);
-+	      goto fail2;
-+	    }
-+	  lv->name = grub_malloc (sz);
- 	  if (!lv->name)
- 	    {
- 	      grub_free (lv->internal_id);
-@@ -599,10 +607,13 @@ make_vg (grub_disk_t disk,
- 	  if (lv->segments->node_alloc == lv->segments->node_count)
- 	    {
- 	      void *t;
--	      lv->segments->node_alloc *= 2; 
--	      t = grub_realloc (lv->segments->nodes,
--				sizeof (*lv->segments->nodes)
--				* lv->segments->node_alloc);
-+	      grub_size_t sz;
-+
-+	      if (grub_mul (lv->segments->node_alloc, 2, &lv->segments->node_alloc) ||
-+		  grub_mul (lv->segments->node_alloc, sizeof (*lv->segments->nodes), &sz))
-+		goto fail2;
-+
-+	      t = grub_realloc (lv->segments->nodes, sz);
- 	      if (!t)
- 		goto fail2;
- 	      lv->segments->nodes = t;
-@@ -723,10 +734,13 @@ make_vg (grub_disk_t disk,
- 	      if (comp->segment_alloc == comp->segment_count)
- 		{
- 		  void *t;
--		  comp->segment_alloc *= 2;
--		  t = grub_realloc (comp->segments,
--				    comp->segment_alloc
--				    * sizeof (*comp->segments));
-+		  grub_size_t sz;
-+
-+		  if (grub_mul (comp->segment_alloc, 2, &comp->segment_alloc) ||
-+		      grub_mul (comp->segment_alloc, sizeof (*comp->segments), &sz))
-+		    goto fail2;
-+
-+		  t = grub_realloc (comp->segments, sz);
- 		  if (!t)
- 		    goto fail2;
- 		  comp->segments = t;
-diff --git a/grub-core/font/font.c b/grub-core/font/font.c
-index 8e118b3..5edb477 100644
---- a/grub-core/font/font.c
-+++ b/grub-core/font/font.c
-@@ -30,6 +30,7 @@
- #include 
- #include 
- #include 
-+#include 
- 
- GRUB_MOD_LICENSE ("GPLv3+");
- 
-@@ -360,9 +361,13 @@ static char *
- read_section_as_string (struct font_file_section *section)
- {
-   char *str;
-+  grub_size_t sz;
-   grub_ssize_t ret;
- 
--  str = grub_malloc (section->length + 1);
-+  if (grub_add (section->length, 1, &sz))
-+    return NULL;
-+
-+  str = grub_malloc (sz);
-   if (!str)
-     return 0;
- 
-diff --git a/grub-core/fs/btrfs.c b/grub-core/fs/btrfs.c
-index 11272ef..2b65bd5 100644
---- a/grub-core/fs/btrfs.c
-+++ b/grub-core/fs/btrfs.c
-@@ -40,6 +40,7 @@
- #include 
- #include 
- #include 
-+#include 
- 
- GRUB_MOD_LICENSE ("GPLv3+");
- 
-@@ -329,9 +330,13 @@ save_ref (struct grub_btrfs_leaf_descriptor *desc,
-   if (desc->allocated < desc->depth)
-     {
-       void *newdata;
--      desc->allocated *= 2;
--      newdata = grub_realloc (desc->data, sizeof (desc->data[0])
--			      * desc->allocated);
-+      grub_size_t sz;
-+
-+      if (grub_mul (desc->allocated, 2, &desc->allocated) ||
-+	  grub_mul (desc->allocated, sizeof (desc->data[0]), &sz))
-+	return GRUB_ERR_OUT_OF_RANGE;
-+
-+      newdata = grub_realloc (desc->data, sz);
-       if (!newdata)
- 	return grub_errno;
-       desc->data = newdata;
-@@ -622,16 +627,21 @@ find_device (struct grub_btrfs_data *data, grub_uint64_t id)
-   if (data->n_devices_attached > data->n_devices_allocated)
-     {
-       void *tmp;
--      data->n_devices_allocated = 2 * data->n_devices_attached + 1;
--      data->devices_attached
--	= grub_realloc (tmp = data->devices_attached,
--			data->n_devices_allocated
--			* sizeof (data->devices_attached[0]));
-+      grub_size_t sz;
-+
-+      if (grub_mul (data->n_devices_attached, 2, &data->n_devices_allocated) ||
-+	  grub_add (data->n_devices_allocated, 1, &data->n_devices_allocated) ||
-+	  grub_mul (data->n_devices_allocated, sizeof (data->devices_attached[0]), &sz))
-+	goto fail;
-+
-+      data->devices_attached = grub_realloc (tmp = data->devices_attached, sz);
-       if (!data->devices_attached)
- 	{
-+	  data->devices_attached = tmp;
-+
-+ fail:
- 	  if (ctx.dev_found)
- 	    grub_device_close (ctx.dev_found);
--	  data->devices_attached = tmp;
- 	  return NULL;
- 	}
-     }
-diff --git a/grub-core/fs/ext2.c b/grub-core/fs/ext2.c
-index 9b38980..ac33bcd 100644
---- a/grub-core/fs/ext2.c
-+++ b/grub-core/fs/ext2.c
-@@ -46,6 +46,7 @@
- #include 
- #include 
- #include 
-+#include 
- 
- GRUB_MOD_LICENSE ("GPLv3+");
- 
-@@ -703,6 +704,7 @@ grub_ext2_read_symlink (grub_fshelp_node_t node)
- {
-   char *symlink;
-   struct grub_fshelp_node *diro = node;
-+  grub_size_t sz;
- 
-   if (! diro->inode_read)
-     {
-@@ -717,7 +719,13 @@ grub_ext2_read_symlink (grub_fshelp_node_t node)
-        }
-     }
- 
--  symlink = grub_malloc (grub_le_to_cpu32 (diro->inode.size) + 1);
-+  if (grub_add (grub_le_to_cpu32 (diro->inode.size), 1, &sz))
-+    {
-+      grub_error (GRUB_ERR_OUT_OF_RANGE, N_("overflow is detected"));
-+      return NULL;
-+    }
-+
-+  symlink = grub_malloc (sz);
-   if (! symlink)
-     return 0;
- 
-diff --git a/grub-core/fs/iso9660.c b/grub-core/fs/iso9660.c
-index 4f1b52a..7ba5b30 100644
---- a/grub-core/fs/iso9660.c
-+++ b/grub-core/fs/iso9660.c
-@@ -28,6 +28,7 @@
- #include 
- #include 
- #include 
-+#include 
- 
- GRUB_MOD_LICENSE ("GPLv3+");
- 
-@@ -531,8 +532,13 @@ add_part (struct iterate_dir_ctx *ctx,
- 	  int len2)
- {
-   int size = ctx->symlink ? grub_strlen (ctx->symlink) : 0;
-+  grub_size_t sz;
- 
--  ctx->symlink = grub_realloc (ctx->symlink, size + len2 + 1);
-+  if (grub_add (size, len2, &sz) ||
-+      grub_add (sz, 1, &sz))
-+    return;
-+
-+  ctx->symlink = grub_realloc (ctx->symlink, sz);
-   if (! ctx->symlink)
-     return;
- 
-@@ -560,17 +566,24 @@ susp_iterate_dir (struct grub_iso9660_susp_entry *entry,
- 	{
- 	  grub_size_t off = 0, csize = 1;
- 	  char *old;
-+	  grub_size_t sz;
-+
- 	  csize = entry->len - 5;
- 	  old = ctx->filename;
- 	  if (ctx->filename_alloc)
- 	    {
- 	      off = grub_strlen (ctx->filename);
--	      ctx->filename = grub_realloc (ctx->filename, csize + off + 1);
-+	      if (grub_add (csize, off, &sz) ||
-+		  grub_add (sz, 1, &sz))
-+		return GRUB_ERR_OUT_OF_RANGE;
-+	      ctx->filename = grub_realloc (ctx->filename, sz);
- 	    }
- 	  else
- 	    {
- 	      off = 0;
--	      ctx->filename = grub_zalloc (csize + 1);
-+	      if (grub_add (csize, 1, &sz))
-+		return GRUB_ERR_OUT_OF_RANGE;
-+	      ctx->filename = grub_zalloc (sz);
- 	    }
- 	  if (!ctx->filename)
- 	    {
-@@ -776,14 +789,18 @@ grub_iso9660_iterate_dir (grub_fshelp_node_t dir,
- 	    if (node->have_dirents >= node->alloc_dirents)
- 	      {
- 		struct grub_fshelp_node *new_node;
--		node->alloc_dirents *= 2;
--		new_node = grub_realloc (node, 
--					 sizeof (struct grub_fshelp_node)
--					 + ((node->alloc_dirents
--					     - ARRAY_SIZE (node->dirents))
--					    * sizeof (node->dirents[0])));
-+		grub_size_t sz;
-+
-+		if (grub_mul (node->alloc_dirents, 2, &node->alloc_dirents) ||
-+		    grub_sub (node->alloc_dirents, ARRAY_SIZE (node->dirents), &sz) ||
-+		    grub_mul (sz, sizeof (node->dirents[0]), &sz) ||
-+		    grub_add (sz, sizeof (struct grub_fshelp_node), &sz))
-+		  goto fail_0;
-+
-+		new_node = grub_realloc (node, sz);
- 		if (!new_node)
- 		  {
-+ fail_0:
- 		    if (ctx.filename_alloc)
- 		      grub_free (ctx.filename);
- 		    grub_free (node);
-@@ -799,14 +816,18 @@ grub_iso9660_iterate_dir (grub_fshelp_node_t dir,
- 		* sizeof (node->dirents[0]) < grub_strlen (ctx.symlink) + 1)
- 	      {
- 		struct grub_fshelp_node *new_node;
--		new_node = grub_realloc (node,
--					 sizeof (struct grub_fshelp_node)
--					 + ((node->alloc_dirents
--					     - ARRAY_SIZE (node->dirents))
--					    * sizeof (node->dirents[0]))
--					 + grub_strlen (ctx.symlink) + 1);
-+		grub_size_t sz;
-+
-+		if (grub_sub (node->alloc_dirents, ARRAY_SIZE (node->dirents), &sz) ||
-+		    grub_mul (sz, sizeof (node->dirents[0]), &sz) ||
-+		    grub_add (sz, sizeof (struct grub_fshelp_node) + 1, &sz) ||
-+		    grub_add (sz, grub_strlen (ctx.symlink), &sz))
-+		  goto fail_1;
-+
-+		new_node = grub_realloc (node, sz);
- 		if (!new_node)
- 		  {
-+ fail_1:
- 		    if (ctx.filename_alloc)
- 		      grub_free (ctx.filename);
- 		    grub_free (node);
-diff --git a/grub-core/fs/sfs.c b/grub-core/fs/sfs.c
-index 90f7fb3..de2b107 100644
---- a/grub-core/fs/sfs.c
-+++ b/grub-core/fs/sfs.c
-@@ -26,6 +26,7 @@
- #include 
- #include 
- #include 
-+#include 
- 
- GRUB_MOD_LICENSE ("GPLv3+");
- 
-@@ -307,10 +308,15 @@ grub_sfs_read_block (grub_fshelp_node_t node, grub_disk_addr_t fileblock)
-       if (node->cache && node->cache_size >= node->cache_allocated)
- 	{
- 	  struct cache_entry *e = node->cache;
--	  e = grub_realloc (node->cache,node->cache_allocated * 2
--			    * sizeof (e[0]));
-+	  grub_size_t sz;
-+
-+	  if (grub_mul (node->cache_allocated, 2 * sizeof (e[0]), &sz))
-+	    goto fail;
-+
-+	  e = grub_realloc (node->cache, sz);
- 	  if (!e)
- 	    {
-+ fail:
- 	      grub_errno = 0;
- 	      grub_free (node->cache);
- 	      node->cache = 0;
-@@ -477,10 +483,16 @@ grub_sfs_create_node (struct grub_fshelp_node **node,
-   grub_size_t len = grub_strlen (name);
-   grub_uint8_t *name_u8;
-   int ret;
-+  grub_size_t sz;
-+
-+  if (grub_mul (len, GRUB_MAX_UTF8_PER_LATIN1, &sz) ||
-+      grub_add (sz, 1, &sz))
-+    return 1;
-+
-   *node = grub_malloc (sizeof (**node));
-   if (!*node)
-     return 1;
--  name_u8 = grub_malloc (len * GRUB_MAX_UTF8_PER_LATIN1 + 1);
-+  name_u8 = grub_malloc (sz);
-   if (!name_u8)
-     {
-       grub_free (*node);
-@@ -724,8 +736,13 @@ grub_sfs_label (grub_device_t device, char **label)
-   data = grub_sfs_mount (disk);
-   if (data)
-     {
--      grub_size_t len = grub_strlen (data->label);
--      *label = grub_malloc (len * GRUB_MAX_UTF8_PER_LATIN1 + 1);
-+      grub_size_t sz, len = grub_strlen (data->label);
-+
-+      if (grub_mul (len, GRUB_MAX_UTF8_PER_LATIN1, &sz) ||
-+	  grub_add (sz, 1, &sz))
-+	return GRUB_ERR_OUT_OF_RANGE;
-+
-+      *label = grub_malloc (sz);
-       if (*label)
- 	*grub_latin1_to_utf8 ((grub_uint8_t *) *label,
- 			      (const grub_uint8_t *) data->label,
-diff --git a/grub-core/fs/squash4.c b/grub-core/fs/squash4.c
-index 95d5c1e..7851238 100644
---- a/grub-core/fs/squash4.c
-+++ b/grub-core/fs/squash4.c
-@@ -26,6 +26,7 @@
- #include 
- #include 
- #include 
-+#include 
- #include 
- 
- #include "xz.h"
-@@ -459,7 +460,17 @@ grub_squash_read_symlink (grub_fshelp_node_t node)
- {
-   char *ret;
-   grub_err_t err;
--  ret = grub_malloc (grub_le_to_cpu32 (node->ino.symlink.namelen) + 1);
-+  grub_size_t sz;
-+
-+  if (grub_add (grub_le_to_cpu32 (node->ino.symlink.namelen), 1, &sz))
-+    {
-+      grub_error (GRUB_ERR_OUT_OF_RANGE, N_("overflow is detected"));
-+      return NULL;
-+    }
-+
-+  ret = grub_malloc (sz);
-+  if (!ret)
-+    return NULL;
- 
-   err = read_chunk (node->data, ret,
- 		    grub_le_to_cpu32 (node->ino.symlink.namelen),
-@@ -506,11 +517,16 @@ grub_squash_iterate_dir (grub_fshelp_node_t dir,
- 
-   {
-     grub_fshelp_node_t node;
--    node = grub_malloc (sizeof (*node) + dir->stsize * sizeof (dir->stack[0]));
-+    grub_size_t sz;
-+
-+    if (grub_mul (dir->stsize, sizeof (dir->stack[0]), &sz) ||
-+	grub_add (sz, sizeof (*node), &sz))
-+      return 0;
-+
-+    node = grub_malloc (sz);
-     if (!node)
-       return 0;
--    grub_memcpy (node, dir,
--		 sizeof (*node) + dir->stsize * sizeof (dir->stack[0]));
-+    grub_memcpy (node, dir, sz);
-     if (hook (".", GRUB_FSHELP_DIR, node, hook_data))
-       return 1;
- 
-@@ -518,12 +534,15 @@ grub_squash_iterate_dir (grub_fshelp_node_t dir,
-       {
- 	grub_err_t err;
- 
--	node = grub_malloc (sizeof (*node) + dir->stsize * sizeof (dir->stack[0]));
-+	if (grub_mul (dir->stsize, sizeof (dir->stack[0]), &sz) ||
-+	    grub_add (sz, sizeof (*node), &sz))
-+	  return 0;
-+
-+	node = grub_malloc (sz);
- 	if (!node)
- 	  return 0;
- 
--	grub_memcpy (node, dir,
--		     sizeof (*node) + dir->stsize * sizeof (dir->stack[0]));
-+	grub_memcpy (node, dir, sz);
- 
- 	node->stsize--;
- 	err = read_chunk (dir->data, &node->ino, sizeof (node->ino),
-@@ -557,6 +576,7 @@ grub_squash_iterate_dir (grub_fshelp_node_t dir,
- 	  enum grub_fshelp_filetype filetype = GRUB_FSHELP_REG;
- 	  struct grub_squash_dirent di;
- 	  struct grub_squash_inode ino;
-+	  grub_size_t sz;
- 
- 	  err = read_chunk (dir->data, &di, sizeof (di),
- 			    grub_le_to_cpu64 (dir->data->sb.diroffset)
-@@ -589,13 +609,16 @@ grub_squash_iterate_dir (grub_fshelp_node_t dir,
- 	  if (grub_le_to_cpu16 (di.type) == SQUASH_TYPE_SYMLINK)
- 	    filetype = GRUB_FSHELP_SYMLINK;
- 
--	  node = grub_malloc (sizeof (*node)
--			      + (dir->stsize + 1) * sizeof (dir->stack[0]));
-+	  if (grub_add (dir->stsize, 1, &sz) ||
-+	      grub_mul (sz, sizeof (dir->stack[0]), &sz) ||
-+	      grub_add (sz, sizeof (*node), &sz))
-+	    return 0;
-+
-+	  node = grub_malloc (sz);
- 	  if (! node)
- 	    return 0;
- 
--	  grub_memcpy (node, dir,
--		       sizeof (*node) + dir->stsize * sizeof (dir->stack[0]));
-+	  grub_memcpy (node, dir, sz - sizeof(dir->stack[0]));
- 
- 	  node->ino = ino;
- 	  node->stack[node->stsize].ino_chunk = grub_le_to_cpu32 (dh.ino_chunk);
-diff --git a/grub-core/fs/udf.c b/grub-core/fs/udf.c
-index a837616..21ac7f4 100644
---- a/grub-core/fs/udf.c
-+++ b/grub-core/fs/udf.c
-@@ -28,6 +28,7 @@
- #include 
- #include 
- #include 
-+#include 
- 
- GRUB_MOD_LICENSE ("GPLv3+");
- 
-@@ -890,9 +891,19 @@ read_string (const grub_uint8_t *raw, grub_size_t sz, char *outbuf)
- 	utf16[i] = (raw[2 * i + 1] << 8) | raw[2*i + 2];
-     }
-   if (!outbuf)
--    outbuf = grub_malloc (utf16len * GRUB_MAX_UTF8_PER_UTF16 + 1);
-+    {
-+      grub_size_t size;
-+
-+      if (grub_mul (utf16len, GRUB_MAX_UTF8_PER_UTF16, &size) ||
-+	  grub_add (size, 1, &size))
-+	goto fail;
-+
-+      outbuf = grub_malloc (size);
-+    }
-   if (outbuf)
-     *grub_utf16_to_utf8 ((grub_uint8_t *) outbuf, utf16, utf16len) = '\0';
-+
-+ fail:
-   grub_free (utf16);
-   return outbuf;
- }
-@@ -1005,7 +1016,7 @@ grub_udf_read_symlink (grub_fshelp_node_t node)
-   grub_size_t sz = U64 (node->block.fe.file_size);
-   grub_uint8_t *raw;
-   const grub_uint8_t *ptr;
--  char *out, *optr;
-+  char *out = NULL, *optr;
- 
-   if (sz < 4)
-     return NULL;
-@@ -1013,14 +1024,16 @@ grub_udf_read_symlink (grub_fshelp_node_t node)
-   if (!raw)
-     return NULL;
-   if (grub_udf_read_file (node, NULL, NULL, 0, sz, (char *) raw) < 0)
--    {
--      grub_free (raw);
--      return NULL;
--    }
-+    goto fail_1;
- 
--  out = grub_malloc (sz * 2 + 1);
-+  if (grub_mul (sz, 2, &sz) ||
-+      grub_add (sz, 1, &sz))
-+    goto fail_0;
-+
-+  out = grub_malloc (sz);
-   if (!out)
-     {
-+ fail_0:
-       grub_free (raw);
-       return NULL;
-     }
-@@ -1031,17 +1044,17 @@ grub_udf_read_symlink (grub_fshelp_node_t node)
-     {
-       grub_size_t s;
-       if ((grub_size_t) (ptr - raw + 4) > sz)
--	goto fail;
-+	goto fail_1;
-       if (!(ptr[2] == 0 && ptr[3] == 0))
--	goto fail;
-+	goto fail_1;
-       s = 4 + ptr[1];
-       if ((grub_size_t) (ptr - raw + s) > sz)
--	goto fail;
-+	goto fail_1;
-       switch (*ptr)
- 	{
- 	case 1:
- 	  if (ptr[1])
--	    goto fail;
-+	    goto fail_1;
- 	  /* Fallthrough.  */
- 	case 2:
- 	  /* in 4 bytes. out: 1 byte.  */
-@@ -1066,11 +1079,11 @@ grub_udf_read_symlink (grub_fshelp_node_t node)
- 	  if (optr != out)
- 	    *optr++ = '/';
- 	  if (!read_string (ptr + 4, s - 4, optr))
--	    goto fail;
-+	    goto fail_1;
- 	  optr += grub_strlen (optr);
- 	  break;
- 	default:
--	  goto fail;
-+	  goto fail_1;
- 	}
-       ptr += s;
-     }
-@@ -1078,7 +1091,7 @@ grub_udf_read_symlink (grub_fshelp_node_t node)
-   grub_free (raw);
-   return out;
- 
-- fail:
-+ fail_1:
-   grub_free (raw);
-   grub_free (out);
-   grub_error (GRUB_ERR_BAD_FS, "invalid symlink");
-diff --git a/grub-core/fs/xfs.c b/grub-core/fs/xfs.c
-index 96ffecb..ea65902 100644
---- a/grub-core/fs/xfs.c
-+++ b/grub-core/fs/xfs.c
-@@ -25,6 +25,7 @@
- #include 
- #include 
- #include 
-+#include 
- 
- GRUB_MOD_LICENSE ("GPLv3+");
- 
-@@ -899,6 +900,7 @@ static struct grub_xfs_data *
- grub_xfs_mount (grub_disk_t disk)
- {
-   struct grub_xfs_data *data = 0;
-+  grub_size_t sz;
- 
-   data = grub_zalloc (sizeof (struct grub_xfs_data));
-   if (!data)
-@@ -913,10 +915,11 @@ grub_xfs_mount (grub_disk_t disk)
-   if (!grub_xfs_sb_valid(data))
-     goto fail;
- 
--  data = grub_realloc (data,
--		       sizeof (struct grub_xfs_data)
--		       - sizeof (struct grub_xfs_inode)
--		       + grub_xfs_inode_size(data) + 1);
-+  if (grub_add (grub_xfs_inode_size (data),
-+      sizeof (struct grub_xfs_data) - sizeof (struct grub_xfs_inode) + 1, &sz))
-+    goto fail;
-+
-+  data = grub_realloc (data, sz);
- 
-   if (! data)
-     goto fail;
-diff --git a/grub-core/fs/zfs/zfs.c b/grub-core/fs/zfs/zfs.c
-index 381dde5..36d0373 100644
---- a/grub-core/fs/zfs/zfs.c
-+++ b/grub-core/fs/zfs/zfs.c
-@@ -55,6 +55,7 @@
- #include 
- #include 
- #include 
-+#include 
- 
- GRUB_MOD_LICENSE ("GPLv3+");
- 
-@@ -773,11 +774,14 @@ fill_vdev_info (struct grub_zfs_data *data,
-   if (data->n_devices_attached > data->n_devices_allocated)
-     {
-       void *tmp;
--      data->n_devices_allocated = 2 * data->n_devices_attached + 1;
--      data->devices_attached
--	= grub_realloc (tmp = data->devices_attached,
--			data->n_devices_allocated
--			* sizeof (data->devices_attached[0]));
-+      grub_size_t sz;
-+
-+      if (grub_mul (data->n_devices_attached, 2, &data->n_devices_allocated) ||
-+	  grub_add (data->n_devices_allocated, 1, &data->n_devices_allocated) ||
-+	  grub_mul (data->n_devices_allocated, sizeof (data->devices_attached[0]), &sz))
-+	return GRUB_ERR_OUT_OF_RANGE;
-+
-+      data->devices_attached = grub_realloc (tmp = data->devices_attached, sz);
-       if (!data->devices_attached)
- 	{
- 	  data->devices_attached = tmp;
-@@ -3468,14 +3472,18 @@ grub_zfs_nvlist_lookup_nvlist (const char *nvlist, const char *name)
- {
-   char *nvpair;
-   char *ret;
--  grub_size_t size;
-+  grub_size_t size, sz;
-   int found;
- 
-   found = nvlist_find_value (nvlist, name, DATA_TYPE_NVLIST, &nvpair,
- 			     &size, 0);
-   if (!found)
-     return 0;
--  ret = grub_zalloc (size + 3 * sizeof (grub_uint32_t));
-+
-+  if (grub_add (size, 3 * sizeof (grub_uint32_t), &sz))
-+      return 0;
-+
-+  ret = grub_zalloc (sz);
-   if (!ret)
-     return 0;
-   grub_memcpy (ret, nvlist, sizeof (grub_uint32_t));
-diff --git a/grub-core/fs/zfs/zfscrypt.c b/grub-core/fs/zfs/zfscrypt.c
-index 1402e0b..de3b015 100644
---- a/grub-core/fs/zfs/zfscrypt.c
-+++ b/grub-core/fs/zfs/zfscrypt.c
-@@ -22,6 +22,7 @@
- #include 
- #include 
- #include 
-+#include 
- #include 
- #include 
- #include 
-@@ -82,9 +83,13 @@ grub_zfs_add_key (grub_uint8_t *key_in,
- 		  int passphrase)
- {
-   struct grub_zfs_wrap_key *key;
-+  grub_size_t sz;
-+
-   if (!passphrase && keylen > 32)
-     keylen = 32;
--  key = grub_malloc (sizeof (*key) + keylen);
-+  if (grub_add (sizeof (*key), keylen, &sz))
-+    return GRUB_ERR_OUT_OF_RANGE;
-+  key = grub_malloc (sz);
-   if (!key)
-     return grub_errno;
-   key->is_passphrase = passphrase;
-diff --git a/grub-core/lib/arg.c b/grub-core/lib/arg.c
-index fd7744a..3288609 100644
---- a/grub-core/lib/arg.c
-+++ b/grub-core/lib/arg.c
-@@ -23,6 +23,7 @@
- #include 
- #include 
- #include 
-+#include 
- 
- /* Built-in parser for default options.  */
- static const struct grub_arg_option help_options[] =
-@@ -216,7 +217,13 @@ static inline grub_err_t
- add_arg (char ***argl, int *num, char *s)
- {
-   char **p = *argl;
--  *argl = grub_realloc (*argl, (++(*num) + 1) * sizeof (char *));
-+  grub_size_t sz;
-+
-+  if (grub_add (++(*num), 1, &sz) ||
-+      grub_mul (sz, sizeof (char *), &sz))
-+    return grub_error (GRUB_ERR_OUT_OF_RANGE, N_("overflow is detected"));
-+
-+  *argl = grub_realloc (*argl, sz);
-   if (! *argl)
-     {
-       grub_free (p);
-@@ -431,6 +438,7 @@ grub_arg_list_alloc(grub_extcmd_t extcmd, int argc,
-   grub_size_t argcnt;
-   struct grub_arg_list *list;
-   const struct grub_arg_option *options;
-+  grub_size_t sz0, sz1;
- 
-   options = extcmd->options;
-   if (! options)
-@@ -443,7 +451,15 @@ grub_arg_list_alloc(grub_extcmd_t extcmd, int argc,
- 	argcnt += ((grub_size_t) argc + 1) / 2 + 1; /* max possible for any option */
-     }
- 
--  list = grub_zalloc (sizeof (*list) * i + sizeof (char*) * argcnt);
-+  if (grub_mul (sizeof (*list), i, &sz0) ||
-+      grub_mul (sizeof (char *), argcnt, &sz1) ||
-+      grub_add (sz0, sz1, &sz0))
-+    {
-+      grub_error (GRUB_ERR_OUT_OF_RANGE, N_("overflow is detected"));
-+      return 0;
-+    }
-+
-+  list = grub_zalloc (sz0);
-   if (! list)
-     return 0;
- 
-diff --git a/grub-core/loader/i386/bsd.c b/grub-core/loader/i386/bsd.c
-index 3730ed3..b92cbe9 100644
---- a/grub-core/loader/i386/bsd.c
-+++ b/grub-core/loader/i386/bsd.c
-@@ -35,6 +35,7 @@
- #include 
- #include 
- #include 
-+#include 
- #include 
- #ifdef GRUB_MACHINE_PCBIOS
- #include 
-@@ -1012,11 +1013,16 @@ grub_netbsd_add_modules (void)
-   struct grub_netbsd_btinfo_modules *mods;
-   unsigned i;
-   grub_err_t err;
-+  grub_size_t sz;
- 
-   for (mod = netbsd_mods; mod; mod = mod->next)
-     modcnt++;
- 
--  mods = grub_malloc (sizeof (*mods) + sizeof (mods->mods[0]) * modcnt);
-+  if (grub_mul (modcnt, sizeof (mods->mods[0]), &sz) ||
-+      grub_add (sz, sizeof (*mods), &sz))
-+    return GRUB_ERR_OUT_OF_RANGE;
-+
-+  mods = grub_malloc (sz);
-   if (!mods)
-     return grub_errno;
- 
-diff --git a/grub-core/net/dns.c b/grub-core/net/dns.c
-index e332d5e..906ec7d 100644
---- a/grub-core/net/dns.c
-+++ b/grub-core/net/dns.c
-@@ -22,6 +22,7 @@
- #include 
- #include 
- #include 
-+#include 
- 
- struct dns_cache_element
- {
-@@ -51,9 +52,15 @@ grub_net_add_dns_server (const struct grub_net_network_level_address *s)
-     {
-       int na = dns_servers_alloc * 2;
-       struct grub_net_network_level_address *ns;
-+      grub_size_t sz;
-+
-       if (na < 8)
- 	na = 8;
--      ns = grub_realloc (dns_servers, na * sizeof (ns[0]));
-+
-+      if (grub_mul (na, sizeof (ns[0]), &sz))
-+	return GRUB_ERR_OUT_OF_RANGE;
-+
-+      ns = grub_realloc (dns_servers, sz);
-       if (!ns)
- 	return grub_errno;
-       dns_servers_alloc = na;
-diff --git a/grub-core/normal/charset.c b/grub-core/normal/charset.c
-index d57fb72..4dfcc31 100644
---- a/grub-core/normal/charset.c
-+++ b/grub-core/normal/charset.c
-@@ -48,6 +48,7 @@
- #include 
- #include 
- #include 
-+#include 
- 
- #if HAVE_FONT_SOURCE
- #include "widthspec.h"
-@@ -464,6 +465,7 @@ grub_unicode_aglomerate_comb (const grub_uint32_t *in, grub_size_t inlen,
- 	{
- 	  struct grub_unicode_combining *n;
- 	  unsigned j;
-+	  grub_size_t sz;
- 
- 	  if (!haveout)
- 	    continue;
-@@ -477,10 +479,14 @@ grub_unicode_aglomerate_comb (const grub_uint32_t *in, grub_size_t inlen,
- 	    n = out->combining_inline;
- 	  else if (out->ncomb > (int) ARRAY_SIZE (out->combining_inline))
- 	    {
--	      n = grub_realloc (out->combining_ptr,
--				sizeof (n[0]) * (out->ncomb + 1));
-+	      if (grub_add (out->ncomb, 1, &sz) ||
-+		  grub_mul (sz, sizeof (n[0]), &sz))
-+		goto fail;
-+
-+	      n = grub_realloc (out->combining_ptr, sz);
- 	      if (!n)
- 		{
-+ fail:
- 		  grub_errno = GRUB_ERR_NONE;
- 		  continue;
- 		}
-diff --git a/grub-core/normal/cmdline.c b/grub-core/normal/cmdline.c
-index c57242e..de03fe6 100644
---- a/grub-core/normal/cmdline.c
-+++ b/grub-core/normal/cmdline.c
-@@ -28,6 +28,7 @@
- #include 
- #include 
- #include 
-+#include 
- 
- static grub_uint32_t *kill_buf;
- 
-@@ -307,12 +308,21 @@ cl_insert (struct cmdline_term *cl_terms, unsigned nterms,
-   if (len + (*llen) >= (*max_len))
-     {
-       grub_uint32_t *nbuf;
--      (*max_len) *= 2;
--      nbuf = grub_realloc ((*buf), sizeof (grub_uint32_t) * (*max_len));
-+      grub_size_t sz;
-+
-+      if (grub_mul (*max_len, 2, max_len) ||
-+	  grub_mul (*max_len, sizeof (grub_uint32_t), &sz))
-+	{
-+	  grub_errno = GRUB_ERR_OUT_OF_RANGE;
-+	  goto fail;
-+	}
-+
-+      nbuf = grub_realloc ((*buf), sz);
-       if (nbuf)
- 	(*buf) = nbuf;
-       else
- 	{
-+ fail:
- 	  grub_print_error ();
- 	  grub_errno = GRUB_ERR_NONE;
- 	  (*max_len) /= 2;
-diff --git a/grub-core/normal/menu_entry.c b/grub-core/normal/menu_entry.c
-index 1993995..50eef91 100644
---- a/grub-core/normal/menu_entry.c
-+++ b/grub-core/normal/menu_entry.c
-@@ -27,6 +27,7 @@
- #include 
- #include 
- #include 
-+#include 
- 
- enum update_mode
-   {
-@@ -113,10 +114,18 @@ ensure_space (struct line *linep, int extra)
- {
-   if (linep->max_len < linep->len + extra)
-     {
--      linep->max_len = 2 * (linep->len + extra);
--      linep->buf = grub_realloc (linep->buf, (linep->max_len + 1) * sizeof (linep->buf[0]));
-+      grub_size_t sz0, sz1;
-+
-+      if (grub_add (linep->len, extra, &sz0) ||
-+	  grub_mul (sz0, 2, &sz0) ||
-+	  grub_add (sz0, 1, &sz1) ||
-+	  grub_mul (sz1, sizeof (linep->buf[0]), &sz1))
-+	return 0;
-+
-+      linep->buf = grub_realloc (linep->buf, sz1);
-       if (! linep->buf)
- 	return 0;
-+      linep->max_len = sz0;
-     }
- 
-   return 1;
-diff --git a/grub-core/script/argv.c b/grub-core/script/argv.c
-index 217ec5d..5751fdd 100644
---- a/grub-core/script/argv.c
-+++ b/grub-core/script/argv.c
-@@ -20,6 +20,7 @@
- #include 
- #include 
- #include 
-+#include 
- 
- /* Return nearest power of two that is >= v.  */
- static unsigned
-@@ -81,11 +82,16 @@ int
- grub_script_argv_next (struct grub_script_argv *argv)
- {
-   char **p = argv->args;
-+  grub_size_t sz;
- 
-   if (argv->args && argv->argc && argv->args[argv->argc - 1] == 0)
-     return 0;
- 
--  p = grub_realloc (p, round_up_exp ((argv->argc + 2) * sizeof (char *)));
-+  if (grub_add (argv->argc, 2, &sz) ||
-+      grub_mul (sz, sizeof (char *), &sz))
-+    return 1;
-+
-+  p = grub_realloc (p, round_up_exp (sz));
-   if (! p)
-     return 1;
- 
-@@ -105,13 +111,19 @@ grub_script_argv_append (struct grub_script_argv *argv, const char *s,
- {
-   grub_size_t a;
-   char *p = argv->args[argv->argc - 1];
-+  grub_size_t sz;
- 
-   if (! s)
-     return 0;
- 
-   a = p ? grub_strlen (p) : 0;
- 
--  p = grub_realloc (p, round_up_exp ((a + slen + 1) * sizeof (char)));
-+  if (grub_add (a, slen, &sz) ||
-+      grub_add (sz, 1, &sz) ||
-+      grub_mul (sz, sizeof (char), &sz))
-+    return 1;
-+
-+  p = grub_realloc (p, round_up_exp (sz));
-   if (! p)
-     return 1;
- 
-diff --git a/grub-core/script/lexer.c b/grub-core/script/lexer.c
-index c6bd317..5fb0cbd 100644
---- a/grub-core/script/lexer.c
-+++ b/grub-core/script/lexer.c
-@@ -24,6 +24,7 @@
- #include 
- #include 
- #include 
-+#include 
- 
- #define yytext_ptr char *
- #include "grub_script.tab.h"
-@@ -110,10 +111,14 @@ grub_script_lexer_record (struct grub_parser_param *parser, char *str)
-       old = lexer->recording;
-       if (lexer->recordlen < len)
- 	lexer->recordlen = len;
--      lexer->recordlen *= 2;
-+
-+      if (grub_mul (lexer->recordlen, 2, &lexer->recordlen))
-+	goto fail;
-+
-       lexer->recording = grub_realloc (lexer->recording, lexer->recordlen);
-       if (!lexer->recording)
- 	{
-+ fail:
- 	  grub_free (old);
- 	  lexer->recordpos = 0;
- 	  lexer->recordlen = 0;
-@@ -130,7 +135,7 @@ int
- grub_script_lexer_yywrap (struct grub_parser_param *parserstate,
- 			  const char *input)
- {
--  grub_size_t len = 0;
-+  grub_size_t len = 0, sz;
-   char *p = 0;
-   char *line = 0;
-   YY_BUFFER_STATE buffer;
-@@ -168,12 +173,22 @@ grub_script_lexer_yywrap (struct grub_parser_param *parserstate,
-     }
-   else if (len && line[len - 1] != '\n')
-     {
--      p = grub_realloc (line, len + 2);
-+      if (grub_add (len, 2, &sz))
-+	{
-+	  grub_free (line);
-+	  grub_script_yyerror (parserstate, N_("overflow is detected"));
-+	  return 1;
-+	}
-+
-+      p = grub_realloc (line, sz);
-       if (p)
- 	{
- 	  p[len++] = '\n';
- 	  p[len] = '\0';
- 	}
-+      else
-+	grub_free (line);
-+
-       line = p;
-     }
- 
-diff --git a/grub-core/video/bitmap.c b/grub-core/video/bitmap.c
-index b2e0315..6256e20 100644
---- a/grub-core/video/bitmap.c
-+++ b/grub-core/video/bitmap.c
-@@ -23,6 +23,7 @@
- #include 
- #include 
- #include 
-+#include 
- 
- GRUB_MOD_LICENSE ("GPLv3+");
- 
-@@ -58,7 +59,7 @@ grub_video_bitmap_create (struct grub_video_bitmap **bitmap,
-                           enum grub_video_blit_format blit_format)
- {
-   struct grub_video_mode_info *mode_info;
--  unsigned int size;
-+  grub_size_t size;
- 
-   if (!bitmap)
-     return grub_error (GRUB_ERR_BUG, "invalid argument");
-@@ -137,19 +138,25 @@ grub_video_bitmap_create (struct grub_video_bitmap **bitmap,
- 
-   mode_info->pitch = width * mode_info->bytes_per_pixel;
- 
--  /* Calculate size needed for the data.  */
--  size = (width * mode_info->bytes_per_pixel) * height;
-+  /* Calculate size needed for the data. */
-+  if (grub_mul (width, mode_info->bytes_per_pixel, &size) ||
-+      grub_mul (size, height, &size))
-+    {
-+      grub_error (GRUB_ERR_OUT_OF_RANGE, N_("overflow is detected"));
-+      goto fail;
-+    }
- 
-   (*bitmap)->data = grub_zalloc (size);
-   if (! (*bitmap)->data)
--    {
--      grub_free (*bitmap);
--      *bitmap = 0;
--
--      return grub_errno;
--    }
-+    goto fail;
- 
-   return GRUB_ERR_NONE;
-+
-+ fail:
-+  grub_free (*bitmap);
-+  *bitmap = NULL;
-+
-+  return grub_errno;
- }
- 
- /* Frees all resources allocated by bitmap.  */
-diff --git a/grub-core/video/readers/png.c b/grub-core/video/readers/png.c
-index 61bd645..0157ff7 100644
---- a/grub-core/video/readers/png.c
-+++ b/grub-core/video/readers/png.c
-@@ -23,6 +23,7 @@
- #include 
- #include 
- #include 
-+#include 
- 
- GRUB_MOD_LICENSE ("GPLv3+");
- 
-@@ -301,9 +302,17 @@ grub_png_decode_image_header (struct grub_png_data *data)
-       data->bpp <<= 1;
- 
-   data->color_bits = color_bits;
--  data->row_bytes = data->image_width * data->bpp;
-+
-+  if (grub_mul (data->image_width, data->bpp, &data->row_bytes))
-+    return grub_error (GRUB_ERR_OUT_OF_RANGE, N_("overflow is detected"));
-+
-   if (data->color_bits <= 4)
--    data->row_bytes = (data->image_width * data->color_bits + 7) / 8;
-+    {
-+      if (grub_mul (data->image_width, data->color_bits + 7, &data->row_bytes))
-+	return grub_error (GRUB_ERR_OUT_OF_RANGE, N_("overflow is detected"));
-+
-+      data->row_bytes >>= 3;
-+    }
- 
- #ifndef GRUB_CPU_WORDS_BIGENDIAN
-   if (data->is_16bit || data->is_gray || data->is_palette)
--- 
-2.14.4
-
diff --git a/poky/meta/recipes-bsp/grub/files/CVE-2020-15706-script-Avoid-a-use-after-free-when-redefining-a-func.patch b/poky/meta/recipes-bsp/grub/files/CVE-2020-15706-script-Avoid-a-use-after-free-when-redefining-a-func.patch
deleted file mode 100644
index 329e554a6..000000000
--- a/poky/meta/recipes-bsp/grub/files/CVE-2020-15706-script-Avoid-a-use-after-free-when-redefining-a-func.patch
+++ /dev/null
@@ -1,117 +0,0 @@
-From c65fc7e75b7b7e880d90766057040011701e97f4 Mon Sep 17 00:00:00 2001
-From: Chris Coulson 
-Date: Fri, 10 Jul 2020 14:41:45 +0100
-Subject: [PATCH 8/9] script: Avoid a use-after-free when redefining a function
- during execution
-
-Defining a new function with the same name as a previously defined
-function causes the grub_script and associated resources for the
-previous function to be freed. If the previous function is currently
-executing when a function with the same name is defined, this results
-in use-after-frees when processing subsequent commands in the original
-function.
-
-Instead, reject a new function definition if it has the same name as
-a previously defined function, and that function is currently being
-executed. Although a behavioural change, this should be backwards
-compatible with existing configurations because they can't be
-dependent on the current behaviour without being broken.
-
-Fixes: CVE-2020-15706
-
-Signed-off-by: Chris Coulson 
-Reviewed-by: Daniel Kiper 
-
-Upstream-Status: Backport
-CVE: CVE-2020-15706
-
-Reference to upstream patch:
-https://git.savannah.gnu.org/cgit/grub.git/commit/?id=426f57383d647406ae9c628c472059c27cd6e040
-
-Signed-off-by: Yongxin Liu 
----
- grub-core/script/execute.c  |  2 ++
- grub-core/script/function.c | 16 +++++++++++++---
- grub-core/script/parser.y   |  3 ++-
- include/grub/script_sh.h    |  2 ++
- 4 files changed, 19 insertions(+), 4 deletions(-)
-
-diff --git a/grub-core/script/execute.c b/grub-core/script/execute.c
-index c8d6806..7e028e1 100644
---- a/grub-core/script/execute.c
-+++ b/grub-core/script/execute.c
-@@ -838,7 +838,9 @@ grub_script_function_call (grub_script_function_t func, int argc, char **args)
-   old_scope = scope;
-   scope = &new_scope;
- 
-+  func->executing++;
-   ret = grub_script_execute (func->func);
-+  func->executing--;
- 
-   function_return = 0;
-   active_loops = loops;
-diff --git a/grub-core/script/function.c b/grub-core/script/function.c
-index d36655e..3aad04b 100644
---- a/grub-core/script/function.c
-+++ b/grub-core/script/function.c
-@@ -34,6 +34,7 @@ grub_script_function_create (struct grub_script_arg *functionname_arg,
-   func = (grub_script_function_t) grub_malloc (sizeof (*func));
-   if (! func)
-     return 0;
-+  func->executing = 0;
- 
-   func->name = grub_strdup (functionname_arg->str);
-   if (! func->name)
-@@ -60,10 +61,19 @@ grub_script_function_create (struct grub_script_arg *functionname_arg,
-       grub_script_function_t q;
- 
-       q = *p;
--      grub_script_free (q->func);
--      q->func = cmd;
-       grub_free (func);
--      func = q;
-+      if (q->executing > 0)
-+        {
-+          grub_error (GRUB_ERR_BAD_ARGUMENT,
-+		      N_("attempt to redefine a function being executed"));
-+          func = NULL;
-+        }
-+      else
-+        {
-+          grub_script_free (q->func);
-+          q->func = cmd;
-+          func = q;
-+        }
-     }
-   else
-     {
-diff --git a/grub-core/script/parser.y b/grub-core/script/parser.y
-index 4f0ab83..f80b86b 100644
---- a/grub-core/script/parser.y
-+++ b/grub-core/script/parser.y
-@@ -289,7 +289,8 @@ function: "function" "name"
- 	      grub_script_mem_free (state->func_mem);
- 	    else {
- 	      script->children = state->scripts;
--	      grub_script_function_create ($2, script);
-+	      if (!grub_script_function_create ($2, script))
-+		grub_script_free (script);
- 	    }
- 
- 	    state->scripts = $3;
-diff --git a/include/grub/script_sh.h b/include/grub/script_sh.h
-index b382bcf..6c48e07 100644
---- a/include/grub/script_sh.h
-+++ b/include/grub/script_sh.h
-@@ -361,6 +361,8 @@ struct grub_script_function
- 
-   /* The next element.  */
-   struct grub_script_function *next;
-+
-+  unsigned executing;
- };
- typedef struct grub_script_function *grub_script_function_t;
- 
--- 
-2.14.4
-
diff --git a/poky/meta/recipes-bsp/grub/files/CVE-2020-15707-linux-Fix-integer-overflows-in-initrd-size-handling.patch b/poky/meta/recipes-bsp/grub/files/CVE-2020-15707-linux-Fix-integer-overflows-in-initrd-size-handling.patch
deleted file mode 100644
index d4f9300c0..000000000
--- a/poky/meta/recipes-bsp/grub/files/CVE-2020-15707-linux-Fix-integer-overflows-in-initrd-size-handling.patch
+++ /dev/null
@@ -1,177 +0,0 @@
-From 68a09a74f6d726d79709847f3671c0a08e4fb5a0 Mon Sep 17 00:00:00 2001
-From: Colin Watson 
-Date: Sat, 25 Jul 2020 12:15:37 +0100
-Subject: [PATCH 9/9] linux: Fix integer overflows in initrd size handling
-
-These could be triggered by a crafted filesystem with very large files.
-
-Fixes: CVE-2020-15707
-
-Signed-off-by: Colin Watson 
-Reviewed-by: Jan Setje-Eilers 
-Reviewed-by: Daniel Kiper 
-
-Upstream-Status: Backport
-CVE: CVE-2020-15707
-
-Reference to upstream patch:
-https://git.savannah.gnu.org/cgit/grub.git/commit/?id=e7b8856f8be3292afdb38d2e8c70ad8d62a61e10
-
-Signed-off-by: Yongxin Liu 
----
- grub-core/loader/linux.c | 74 +++++++++++++++++++++++++++++++++++-------------
- 1 file changed, 54 insertions(+), 20 deletions(-)
-
-diff --git a/grub-core/loader/linux.c b/grub-core/loader/linux.c
-index 471b214..8c8565a 100644
---- a/grub-core/loader/linux.c
-+++ b/grub-core/loader/linux.c
-@@ -4,6 +4,7 @@
- #include 
- #include 
- #include 
-+#include 
- 
- struct newc_head
- {
-@@ -98,13 +99,13 @@ free_dir (struct dir *root)
-   grub_free (root);
- }
- 
--static grub_size_t
-+static grub_err_t
- insert_dir (const char *name, struct dir **root,
--	    grub_uint8_t *ptr)
-+	    grub_uint8_t *ptr, grub_size_t *size)
- {
-   struct dir *cur, **head = root;
-   const char *cb, *ce = name;
--  grub_size_t size = 0;
-+  *size = 0;
-   while (1)
-     {
-       for (cb = ce; *cb == '/'; cb++);
-@@ -130,14 +131,22 @@ insert_dir (const char *name, struct dir **root,
- 	      ptr = make_header (ptr, name, ce - name,
- 				 040777, 0);
- 	    }
--	  size += ALIGN_UP ((ce - (char *) name)
--			    + sizeof (struct newc_head), 4);
-+	  if (grub_add (*size,
-+		        ALIGN_UP ((ce - (char *) name)
-+				  + sizeof (struct newc_head), 4),
-+			size))
-+	    {
-+	      grub_error (GRUB_ERR_OUT_OF_RANGE, N_("overflow is detected"));
-+	      grub_free (n->name);
-+	      grub_free (n);
-+	      return grub_errno;
-+	    }
- 	  *head = n;
- 	  cur = n;
- 	}
-       root = &cur->next;
-     }
--  return size;
-+  return GRUB_ERR_NONE;
- }
- 
- grub_err_t
-@@ -173,26 +182,33 @@ grub_initrd_init (int argc, char *argv[],
- 	  eptr = grub_strchr (ptr, ':');
- 	  if (eptr)
- 	    {
-+	      grub_size_t dir_size, name_len;
-+
- 	      initrd_ctx->components[i].newc_name = grub_strndup (ptr, eptr - ptr);
--	      if (!initrd_ctx->components[i].newc_name)
-+	      if (!initrd_ctx->components[i].newc_name ||
-+		  insert_dir (initrd_ctx->components[i].newc_name, &root, 0,
-+			      &dir_size))
- 		{
- 		  grub_initrd_close (initrd_ctx);
- 		  return grub_errno;
- 		}
--	      initrd_ctx->size
--		+= ALIGN_UP (sizeof (struct newc_head)
--			    + grub_strlen (initrd_ctx->components[i].newc_name),
--			     4);
--	      initrd_ctx->size += insert_dir (initrd_ctx->components[i].newc_name,
--					      &root, 0);
-+	      name_len = grub_strlen (initrd_ctx->components[i].newc_name);
-+	      if (grub_add (initrd_ctx->size,
-+			    ALIGN_UP (sizeof (struct newc_head) + name_len, 4),
-+			    &initrd_ctx->size) ||
-+		  grub_add (initrd_ctx->size, dir_size, &initrd_ctx->size))
-+		goto overflow;
- 	      newc = 1;
- 	      fname = eptr + 1;
- 	    }
- 	}
-       else if (newc)
- 	{
--	  initrd_ctx->size += ALIGN_UP (sizeof (struct newc_head)
--					+ sizeof ("TRAILER!!!") - 1, 4);
-+	  if (grub_add (initrd_ctx->size,
-+			ALIGN_UP (sizeof (struct newc_head)
-+				  + sizeof ("TRAILER!!!") - 1, 4),
-+			&initrd_ctx->size))
-+	    goto overflow;
- 	  free_dir (root);
- 	  root = 0;
- 	  newc = 0;
-@@ -208,19 +224,29 @@ grub_initrd_init (int argc, char *argv[],
-       initrd_ctx->nfiles++;
-       initrd_ctx->components[i].size
- 	= grub_file_size (initrd_ctx->components[i].file);
--      initrd_ctx->size += initrd_ctx->components[i].size;
-+      if (grub_add (initrd_ctx->size, initrd_ctx->components[i].size,
-+		    &initrd_ctx->size))
-+	goto overflow;
-     }
- 
-   if (newc)
-     {
-       initrd_ctx->size = ALIGN_UP (initrd_ctx->size, 4);
--      initrd_ctx->size += ALIGN_UP (sizeof (struct newc_head)
--				    + sizeof ("TRAILER!!!") - 1, 4);
-+      if (grub_add (initrd_ctx->size,
-+		    ALIGN_UP (sizeof (struct newc_head)
-+			      + sizeof ("TRAILER!!!") - 1, 4),
-+		    &initrd_ctx->size))
-+	goto overflow;
-       free_dir (root);
-       root = 0;
-     }
-   
-   return GRUB_ERR_NONE;
-+
-+ overflow:
-+  free_dir (root);
-+  grub_initrd_close (initrd_ctx);
-+  return grub_error (GRUB_ERR_OUT_OF_RANGE, N_("overflow is detected"));
- }
- 
- grub_size_t
-@@ -261,8 +287,16 @@ grub_initrd_load (struct grub_linux_initrd_context *initrd_ctx,
- 
-       if (initrd_ctx->components[i].newc_name)
- 	{
--	  ptr += insert_dir (initrd_ctx->components[i].newc_name,
--			     &root, ptr);
-+	  grub_size_t dir_size;
-+
-+	  if (insert_dir (initrd_ctx->components[i].newc_name, &root, ptr,
-+			  &dir_size))
-+	    {
-+	      free_dir (root);
-+	      grub_initrd_close (initrd_ctx);
-+	      return grub_errno;
-+	    }
-+	  ptr += dir_size;
- 	  ptr = make_header (ptr, initrd_ctx->components[i].newc_name,
- 			     grub_strlen (initrd_ctx->components[i].newc_name),
- 			     0100777,
--- 
-2.14.4
-
diff --git a/poky/meta/recipes-bsp/grub/files/autogen.sh-exclude-pc.patch b/poky/meta/recipes-bsp/grub/files/autogen.sh-exclude-pc.patch
index faa7fde23..1323a54a5 100644
--- a/poky/meta/recipes-bsp/grub/files/autogen.sh-exclude-pc.patch
+++ b/poky/meta/recipes-bsp/grub/files/autogen.sh-exclude-pc.patch
@@ -1,6 +1,6 @@
-From 72c30928d3d461e0e2d20c5ff33bd96b6991d585 Mon Sep 17 00:00:00 2001
-From: Robert Yang 
-Date: Sat, 25 Jan 2014 23:49:44 -0500
+From 8790aa8bea736f52341a0430ff3e317d3be0f99b Mon Sep 17 00:00:00 2001
+From: Naveen Saini 
+Date: Mon, 15 Mar 2021 14:44:15 +0800
 Subject: [PATCH] autogen.sh: exclude .pc from po/POTFILES.in
 
 Exclude the .pc from po/POTFILES.in since quilt uses "patch --backup",
@@ -13,23 +13,24 @@ Upstream-Status: Inappropriate [OE specific]
 
 Signed-off-by: Robert Yang 
 Signed-off-by: Anuj Mittal 
+Signed-off-by: Naveen Saini 
 ---
  autogen.sh | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/autogen.sh b/autogen.sh
-index ef43270..a7067a7 100755
+index 31b0ced7e..c63ae766c 100755
 --- a/autogen.sh
 +++ b/autogen.sh
 @@ -13,7 +13,7 @@ fi
  export LC_COLLATE=C
  unset LC_ALL
  
--find . -iname '*.[ch]' ! -ipath './grub-core/lib/libgcrypt-grub/*' ! -ipath './build-aux/*' ! -ipath './grub-core/lib/libgcrypt/src/misc.c' ! -ipath './grub-core/lib/libgcrypt/src/global.c' ! -ipath './grub-core/lib/libgcrypt/src/secmem.c'  ! -ipath './util/grub-gen-widthspec.c' ! -ipath './util/grub-gen-asciih.c' ! -ipath './gnulib/*' ! -iname './grub-core/lib/gnulib/*' |sort > po/POTFILES.in
-+find . -iname '*.[ch]' ! -ipath './grub-core/lib/libgcrypt-grub/*' ! -ipath './build-aux/*' ! -ipath './grub-core/lib/libgcrypt/src/misc.c' ! -ipath './grub-core/lib/libgcrypt/src/global.c' ! -ipath './grub-core/lib/libgcrypt/src/secmem.c'  ! -ipath './util/grub-gen-widthspec.c' ! -ipath './util/grub-gen-asciih.c' ! -ipath './gnulib/*' ! -iname './grub-core/lib/gnulib/*' ! -path './.pc/*' |sort > po/POTFILES.in
+-find . -iname '*.[ch]' ! -ipath './grub-core/lib/libgcrypt-grub/*' ! -ipath './build-aux/*' ! -ipath './grub-core/lib/libgcrypt/src/misc.c' ! -ipath './grub-core/lib/libgcrypt/src/global.c' ! -ipath './grub-core/lib/libgcrypt/src/secmem.c'  ! -ipath './util/grub-gen-widthspec.c' ! -ipath './util/grub-gen-asciih.c' ! -ipath './gnulib/*' ! -ipath './grub-core/lib/gnulib/*' |sort > po/POTFILES.in
++find . -iname '*.[ch]' ! -ipath './grub-core/lib/libgcrypt-grub/*' ! -ipath './build-aux/*' ! -ipath './grub-core/lib/libgcrypt/src/misc.c' ! -ipath './grub-core/lib/libgcrypt/src/global.c' ! -ipath './grub-core/lib/libgcrypt/src/secmem.c'  ! -ipath './util/grub-gen-widthspec.c' ! -ipath './util/grub-gen-asciih.c' ! -ipath './gnulib/*' ! -ipath './grub-core/lib/gnulib/*' ! -path './.pc/*' |sort > po/POTFILES.in
  find util -iname '*.in' ! -name Makefile.in  |sort > po/POTFILES-shell.in
  
  echo "Importing unicode..."
 -- 
-2.7.4
+2.17.1
 
diff --git a/poky/meta/recipes-bsp/grub/files/calloc-Make-sure-we-always-have-an-overflow-checking.patch b/poky/meta/recipes-bsp/grub/files/calloc-Make-sure-we-always-have-an-overflow-checking.patch
deleted file mode 100644
index c9536e68e..000000000
--- a/poky/meta/recipes-bsp/grub/files/calloc-Make-sure-we-always-have-an-overflow-checking.patch
+++ /dev/null
@@ -1,246 +0,0 @@
-From c005f62f5c4b26a77b916c8f76a852324439ecb3 Mon Sep 17 00:00:00 2001
-From: Peter Jones 
-Date: Mon, 15 Jun 2020 12:15:29 -0400
-Subject: [PATCH 2/9] calloc: Make sure we always have an overflow-checking
- calloc() available
-
-This tries to make sure that everywhere in this source tree, we always have
-an appropriate version of calloc() (i.e. grub_calloc(), xcalloc(), etc.)
-available, and that they all safely check for overflow and return NULL when
-it would occur.
-
-Upstream-Status: Backport [commit 64e26162ebfe68317c143ca5ec996c892019f8f8
-from https://git.savannah.gnu.org/git/grub.git]
-
-Signed-off-by: Peter Jones 
-Reviewed-by: Daniel Kiper 
-Signed-off-by: Yongxin Liu 
----
- grub-core/kern/emu/misc.c          | 12 ++++++++++++
- grub-core/kern/emu/mm.c            | 10 ++++++++++
- grub-core/kern/mm.c                | 40 ++++++++++++++++++++++++++++++++++++++
- grub-core/lib/libgcrypt_wrap/mem.c | 11 +++++++++--
- grub-core/lib/posix_wrap/stdlib.h  |  8 +++++++-
- include/grub/emu/misc.h            |  1 +
- include/grub/mm.h                  |  6 ++++++
- 7 files changed, 85 insertions(+), 3 deletions(-)
-
-diff --git a/grub-core/kern/emu/misc.c b/grub-core/kern/emu/misc.c
-index 65db79b..dfd8a8e 100644
---- a/grub-core/kern/emu/misc.c
-+++ b/grub-core/kern/emu/misc.c
-@@ -85,6 +85,18 @@ grub_util_error (const char *fmt, ...)
-   exit (1);
- }
- 
-+void *
-+xcalloc (grub_size_t nmemb, grub_size_t size)
-+{
-+  void *p;
-+
-+  p = calloc (nmemb, size);
-+  if (!p)
-+    grub_util_error ("%s", _("out of memory"));
-+
-+  return p;
-+}
-+
- void *
- xmalloc (grub_size_t size)
- {
-diff --git a/grub-core/kern/emu/mm.c b/grub-core/kern/emu/mm.c
-index f262e95..145b01d 100644
---- a/grub-core/kern/emu/mm.c
-+++ b/grub-core/kern/emu/mm.c
-@@ -25,6 +25,16 @@
- #include 
- #include 
- 
-+void *
-+grub_calloc (grub_size_t nmemb, grub_size_t size)
-+{
-+  void *ret;
-+  ret = calloc (nmemb, size);
-+  if (!ret)
-+    grub_error (GRUB_ERR_OUT_OF_MEMORY, N_("out of memory"));
-+  return ret;
-+}
-+
- void *
- grub_malloc (grub_size_t size)
- {
-diff --git a/grub-core/kern/mm.c b/grub-core/kern/mm.c
-index ee88ff6..f2822a8 100644
---- a/grub-core/kern/mm.c
-+++ b/grub-core/kern/mm.c
-@@ -67,8 +67,10 @@
- #include 
- #include 
- #include 
-+#include 
- 
- #ifdef MM_DEBUG
-+# undef grub_calloc
- # undef grub_malloc
- # undef grub_zalloc
- # undef grub_realloc
-@@ -375,6 +377,30 @@ grub_memalign (grub_size_t align, grub_size_t size)
-   return 0;
- }
- 
-+/*
-+ * Allocate NMEMB instances of SIZE bytes and return the pointer, or error on
-+ * integer overflow.
-+ */
-+void *
-+grub_calloc (grub_size_t nmemb, grub_size_t size)
-+{
-+  void *ret;
-+  grub_size_t sz = 0;
-+
-+  if (grub_mul (nmemb, size, &sz))
-+    {
-+      grub_error (GRUB_ERR_OUT_OF_RANGE, N_("overflow is detected"));
-+      return NULL;
-+    }
-+
-+  ret = grub_memalign (0, sz);
-+  if (!ret)
-+    return NULL;
-+
-+  grub_memset (ret, 0, sz);
-+  return ret;
-+}
-+
- /* Allocate SIZE bytes and return the pointer.  */
- void *
- grub_malloc (grub_size_t size)
-@@ -561,6 +587,20 @@ grub_mm_dump (unsigned lineno)
-   grub_printf ("\n");
- }
- 
-+void *
-+grub_debug_calloc (const char *file, int line, grub_size_t nmemb, grub_size_t size)
-+{
-+  void *ptr;
-+
-+  if (grub_mm_debug)
-+    grub_printf ("%s:%d: calloc (0x%" PRIxGRUB_SIZE ", 0x%" PRIxGRUB_SIZE ") = ",
-+		 file, line, size);
-+  ptr = grub_calloc (nmemb, size);
-+  if (grub_mm_debug)
-+    grub_printf ("%p\n", ptr);
-+  return ptr;
-+}
-+
- void *
- grub_debug_malloc (const char *file, int line, grub_size_t size)
- {
-diff --git a/grub-core/lib/libgcrypt_wrap/mem.c b/grub-core/lib/libgcrypt_wrap/mem.c
-index beeb661..74c6eaf 100644
---- a/grub-core/lib/libgcrypt_wrap/mem.c
-+++ b/grub-core/lib/libgcrypt_wrap/mem.c
-@@ -4,6 +4,7 @@
- #include 
- #include 
- #include 
-+#include 
- 
- GRUB_MOD_LICENSE ("GPLv3+");
- 
-@@ -36,7 +37,10 @@ void *
- gcry_xcalloc (size_t n, size_t m)
- {
-   void *ret;
--  ret = grub_zalloc (n * m);
-+  size_t sz;
-+  if (grub_mul (n, m, &sz))
-+    grub_fatal ("gcry_xcalloc would overflow");
-+  ret = grub_zalloc (sz);
-   if (!ret)
-     grub_fatal ("gcry_xcalloc failed");
-   return ret;
-@@ -56,7 +60,10 @@ void *
- gcry_xcalloc_secure (size_t n, size_t m)
- {
-   void *ret;
--  ret = grub_zalloc (n * m);
-+  size_t sz;
-+  if (grub_mul (n, m, &sz))
-+    grub_fatal ("gcry_xcalloc would overflow");
-+  ret = grub_zalloc (sz);
-   if (!ret)
-     grub_fatal ("gcry_xcalloc failed");
-   return ret;
-diff --git a/grub-core/lib/posix_wrap/stdlib.h b/grub-core/lib/posix_wrap/stdlib.h
-index 3b46f47..7a8d385 100644
---- a/grub-core/lib/posix_wrap/stdlib.h
-+++ b/grub-core/lib/posix_wrap/stdlib.h
-@@ -21,6 +21,7 @@
- 
- #include 
- #include 
-+#include 
- 
- static inline void 
- free (void *ptr)
-@@ -37,7 +38,12 @@ malloc (grub_size_t size)
- static inline void *
- calloc (grub_size_t size, grub_size_t nelem)
- {
--  return grub_zalloc (size * nelem);
-+  grub_size_t sz;
-+
-+  if (grub_mul (size, nelem, &sz))
-+    return NULL;
-+
-+  return grub_zalloc (sz);
- }
- 
- static inline void *
-diff --git a/include/grub/emu/misc.h b/include/grub/emu/misc.h
-index ce464cf..ff9c48a 100644
---- a/include/grub/emu/misc.h
-+++ b/include/grub/emu/misc.h
-@@ -47,6 +47,7 @@ grub_util_device_is_mapped (const char *dev);
- #define GRUB_HOST_PRIuLONG_LONG "llu"
- #define GRUB_HOST_PRIxLONG_LONG "llx"
- 
-+void * EXPORT_FUNC(xcalloc) (grub_size_t nmemb, grub_size_t size) WARN_UNUSED_RESULT;
- void * EXPORT_FUNC(xmalloc) (grub_size_t size) WARN_UNUSED_RESULT;
- void * EXPORT_FUNC(xrealloc) (void *ptr, grub_size_t size) WARN_UNUSED_RESULT;
- char * EXPORT_FUNC(xstrdup) (const char *str) WARN_UNUSED_RESULT;
-diff --git a/include/grub/mm.h b/include/grub/mm.h
-index 28e2e53..9c38dd3 100644
---- a/include/grub/mm.h
-+++ b/include/grub/mm.h
-@@ -29,6 +29,7 @@
- #endif
- 
- void grub_mm_init_region (void *addr, grub_size_t size);
-+void *EXPORT_FUNC(grub_calloc) (grub_size_t nmemb, grub_size_t size);
- void *EXPORT_FUNC(grub_malloc) (grub_size_t size);
- void *EXPORT_FUNC(grub_zalloc) (grub_size_t size);
- void EXPORT_FUNC(grub_free) (void *ptr);
-@@ -48,6 +49,9 @@ extern int EXPORT_VAR(grub_mm_debug);
- void grub_mm_dump_free (void);
- void grub_mm_dump (unsigned lineno);
- 
-+#define grub_calloc(nmemb, size)	\
-+  grub_debug_calloc (GRUB_FILE, __LINE__, nmemb, size)
-+
- #define grub_malloc(size)	\
-   grub_debug_malloc (GRUB_FILE, __LINE__, size)
- 
-@@ -63,6 +67,8 @@ void grub_mm_dump (unsigned lineno);
- #define grub_free(ptr)	\
-   grub_debug_free (GRUB_FILE, __LINE__, ptr)
- 
-+void *EXPORT_FUNC(grub_debug_calloc) (const char *file, int line,
-+				      grub_size_t nmemb, grub_size_t size);
- void *EXPORT_FUNC(grub_debug_malloc) (const char *file, int line,
- 				      grub_size_t size);
- void *EXPORT_FUNC(grub_debug_zalloc) (const char *file, int line,
--- 
-2.14.4
-
diff --git a/poky/meta/recipes-bsp/grub/files/determinism.patch b/poky/meta/recipes-bsp/grub/files/determinism.patch
index 3c1f562c7..2828e8097 100644
--- a/poky/meta/recipes-bsp/grub/files/determinism.patch
+++ b/poky/meta/recipes-bsp/grub/files/determinism.patch
@@ -1,6 +1,9 @@
-The output in moddep.lst generated from syminfo.lst using genmoddep.awk is
-not deterministic since the order of the dependencies on each line can vary
-depending on how awk sorts the values in the array.
+From b6f9b3f6fa782807c4a7ec16ee8ef868cdfbf468 Mon Sep 17 00:00:00 2001
+From: Naveen Saini 
+Date: Mon, 15 Mar 2021 14:56:18 +0800
+Subject: [PATCH] The output in moddep.lst generated from syminfo.lst using
+ genmoddep.awk is not deterministic since the order of the dependencies on
+ each line can vary depending on how awk sorts the values in the array.
 
 Be deterministic in the output by sorting the dependencies on each line.
 
@@ -13,11 +16,29 @@ keys of the dict.
 
 Upstream-Status: Pending
 Richard Purdie 
+Signed-off-by: Naveen Saini 
+---
+ gentpl.py               | 1 +
+ grub-core/genmoddep.awk | 4 +++-
+ util/import_unicode.py  | 2 +-
+ 3 files changed, 5 insertions(+), 2 deletions(-)
 
-Index: grub-2.04/grub-core/genmoddep.awk
-===================================================================
---- grub-2.04.orig/grub-core/genmoddep.awk
-+++ grub-2.04/grub-core/genmoddep.awk
+diff --git a/gentpl.py b/gentpl.py
+index c86550d4f..589285192 100644
+--- a/gentpl.py
++++ b/gentpl.py
+@@ -568,6 +568,7 @@ def foreach_platform_value(defn, platform, suffix, closure):
+     for group in RMAP[platform]:
+         for value in defn.find_all(group + suffix):
+             r.append(closure(value))
++    r.sort()
+     return ''.join(r)
+ 
+ def platform_conditional(platform, closure):
+diff --git a/grub-core/genmoddep.awk b/grub-core/genmoddep.awk
+index 04c2863e5..247436392 100644
+--- a/grub-core/genmoddep.awk
++++ b/grub-core/genmoddep.awk
 @@ -59,7 +59,9 @@ END {
      }
      modlist = ""
@@ -29,22 +50,10 @@ Index: grub-2.04/grub-core/genmoddep.awk
        modlist = modlist " " depmod;
        inverse_dependencies[depmod] = inverse_dependencies[depmod] " " mod
        depcount[mod]++
-Index: grub-2.04/gentpl.py
-===================================================================
---- grub-2.04.orig/gentpl.py
-+++ grub-2.04/gentpl.py
-@@ -568,6 +568,7 @@ def foreach_platform_value(defn, platfor
-     for group in RMAP[platform]:
-         for value in defn.find_all(group + suffix):
-             r.append(closure(value))
-+    r.sort()
-     return ''.join(r)
- 
- def platform_conditional(platform, closure):
-Index: grub-2.04/util/import_unicode.py
-===================================================================
---- grub-2.04.orig/util/import_unicode.py
-+++ grub-2.04/util/import_unicode.py
+diff --git a/util/import_unicode.py b/util/import_unicode.py
+index 08f80591e..1f434a069 100644
+--- a/util/import_unicode.py
++++ b/util/import_unicode.py
 @@ -174,7 +174,7 @@ infile.close ()
  
  outfile.write ("struct grub_unicode_arabic_shape grub_unicode_arabic_shapes[] = {\n ")
@@ -54,3 +63,6 @@ Index: grub-2.04/util/import_unicode.py
      try:
          if arabicsubst[x]['join'] == "DUAL":
              outfile.write ("{0x%x, 0x%x, 0x%x, 0x%x, 0x%x},\n " % (arabicsubst[x][0], arabicsubst[x][1], arabicsubst[x][2], arabicsubst[x][3], arabicsubst[x][4]))
+-- 
+2.17.1
+
diff --git a/poky/meta/recipes-bsp/grub/files/lvm-Add-LVM-cache-logical-volume-handling.patch b/poky/meta/recipes-bsp/grub/files/lvm-Add-LVM-cache-logical-volume-handling.patch
deleted file mode 100644
index 2b8157f59..000000000
--- a/poky/meta/recipes-bsp/grub/files/lvm-Add-LVM-cache-logical-volume-handling.patch
+++ /dev/null
@@ -1,287 +0,0 @@
-From 8eb02bcb5897b238b29ff762402bb0c3028f0eab Mon Sep 17 00:00:00 2001
-From: Michael Chang 
-Date: Thu, 19 Mar 2020 13:56:13 +0800
-Subject: [PATCH 3/9] lvm: Add LVM cache logical volume handling
-
-The LVM cache logical volume is the logical volume consisting of the original
-and the cache pool logical volume. The original is usually on a larger and
-slower storage device while the cache pool is on a smaller and faster one. The
-performance of the original volume can be improved by storing the frequently
-used data on the cache pool to utilize the greater performance of faster
-device.
-
-The default cache mode "writethrough" ensures that any data written will be
-stored both in the cache and on the origin LV, therefore grub can be straight
-to read the original lv as no data loss is guarenteed.
-
-The second cache mode is "writeback", which delays writing from the cache pool
-back to the origin LV to have increased performance. The drawback is potential
-data loss if losing the associated cache device.
-
-During the boot time grub reads the LVM offline i.e. LVM volumes are not
-activated and mounted, hence it should be fine to read directly from original
-lv since all cached data should have been flushed back in the process of taking
-it offline.
-
-It is also not much helpful to the situation by adding fsync calls to the
-install code. The fsync did not force to write back dirty cache to the original
-device and rather it would update associated cache metadata to complete the
-write transaction with the cache device. IOW the writes to cached blocks still
-go only to the cache device.
-
-To write back dirty cache, as LVM cache did not support dirty cache flush per
-block range, there'no way to do it for file. On the other hand the "cleaner"
-policy is implemented and can be used to write back "all" dirty blocks in a
-cache, which effectively drain all dirty cache gradually to attain and last in
-the "clean" state, which can be useful for shrinking or decommissioning a
-cache. The result and effect is not what we are looking for here.
-
-In conclusion, as it seems no way to enforce file writes to the original
-device, grub may suffer from power failure as it cannot assemble the cache
-device and read the dirty data from it. However since the case is only
-applicable to writeback mode which is sensitive to data lost in nature, I'd
-still like to propose my (relatively simple) patch and treat reading dirty
-cache as improvement.
-
-Upstream-Status: Backport [commit 0454b0445393aafc5600e92ef0c39494e333b135
-from https://git.savannah.gnu.org/git/grub.git]
-
-Signed-off-by: Michael Chang 
-Reviewed-by: Daniel Kiper 
-Signed-off-by: Yongxin Liu 
----
- grub-core/disk/lvm.c | 190 +++++++++++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 190 insertions(+)
-
-diff --git a/grub-core/disk/lvm.c b/grub-core/disk/lvm.c
-index 7b265c7..dc6b83b 100644
---- a/grub-core/disk/lvm.c
-+++ b/grub-core/disk/lvm.c
-@@ -33,6 +33,14 @@
- 
- GRUB_MOD_LICENSE ("GPLv3+");
- 
-+struct cache_lv
-+{
-+  struct grub_diskfilter_lv *lv;
-+  char *cache_pool;
-+  char *origin;
-+  struct cache_lv *next;
-+};
-+
- 
- /* Go the string STR and return the number after STR.  *P will point
-    at the number.  In case STR is not found, *P will be NULL and the
-@@ -95,6 +103,34 @@ grub_lvm_check_flag (char *p, const char *str, const char *flag)
-     }
- }
- 
-+static void
-+grub_lvm_free_cache_lvs (struct cache_lv *cache_lvs)
-+{
-+  struct cache_lv *cache;
-+
-+  while ((cache = cache_lvs))
-+    {
-+      cache_lvs = cache_lvs->next;
-+
-+      if (cache->lv)
-+	{
-+	  unsigned int i;
-+
-+	  for (i = 0; i < cache->lv->segment_count; ++i)
-+	    if (cache->lv->segments)
-+	      grub_free (cache->lv->segments[i].nodes);
-+	  grub_free (cache->lv->segments);
-+	  grub_free (cache->lv->fullname);
-+	  grub_free (cache->lv->idname);
-+	  grub_free (cache->lv->name);
-+	}
-+      grub_free (cache->lv);
-+      grub_free (cache->origin);
-+      grub_free (cache->cache_pool);
-+      grub_free (cache);
-+    }
-+}
-+
- static struct grub_diskfilter_vg * 
- grub_lvm_detect (grub_disk_t disk,
- 		 struct grub_diskfilter_pv_id *id,
-@@ -242,6 +278,8 @@ grub_lvm_detect (grub_disk_t disk,
- 
-   if (! vg)
-     {
-+      struct cache_lv *cache_lvs = NULL;
-+
-       /* First time we see this volume group. We've to create the
- 	 whole volume group structure. */
-       vg = grub_malloc (sizeof (*vg));
-@@ -671,6 +709,106 @@ grub_lvm_detect (grub_disk_t disk,
- 			  seg->nodes[seg->node_count - 1].name = tmp;
- 			}
- 		    }
-+		  else if (grub_memcmp (p, "cache\"",
-+				   sizeof ("cache\"") - 1) == 0)
-+		    {
-+		      struct cache_lv *cache = NULL;
-+
-+		      char *p2, *p3;
-+		      grub_size_t sz;
-+
-+		      cache = grub_zalloc (sizeof (*cache));
-+		      if (!cache)
-+			goto cache_lv_fail;
-+		      cache->lv = grub_zalloc (sizeof (*cache->lv));
-+		      if (!cache->lv)
-+			goto cache_lv_fail;
-+		      grub_memcpy (cache->lv, lv, sizeof (*cache->lv));
-+
-+		      if (lv->fullname)
-+			{
-+			  cache->lv->fullname = grub_strdup (lv->fullname);
-+			  if (!cache->lv->fullname)
-+			    goto cache_lv_fail;
-+			}
-+		      if (lv->idname)
-+			{
-+			  cache->lv->idname = grub_strdup (lv->idname);
-+			  if (!cache->lv->idname)
-+			    goto cache_lv_fail;
-+			}
-+		      if (lv->name)
-+			{
-+			  cache->lv->name = grub_strdup (lv->name);
-+			  if (!cache->lv->name)
-+			    goto cache_lv_fail;
-+			}
-+
-+		      skip_lv = 1;
-+
-+		      p2 = grub_strstr (p, "cache_pool = \"");
-+		      if (!p2)
-+			goto cache_lv_fail;
-+
-+		      p2 = grub_strchr (p2, '"');
-+		      if (!p2)
-+			goto cache_lv_fail;
-+
-+		      p3 = ++p2;
-+		      p3 = grub_strchr (p3, '"');
-+		      if (!p3)
-+			goto cache_lv_fail;
-+
-+		      sz = p3 - p2;
-+
-+		      cache->cache_pool = grub_malloc (sz + 1);
-+		      if (!cache->cache_pool)
-+			goto cache_lv_fail;
-+		      grub_memcpy (cache->cache_pool, p2, sz);
-+		      cache->cache_pool[sz] = '\0';
-+
-+		      p2 = grub_strstr (p, "origin = \"");
-+		      if (!p2)
-+			goto cache_lv_fail;
-+
-+		      p2 = grub_strchr (p2, '"');
-+		      if (!p2)
-+			goto cache_lv_fail;
-+
-+		      p3 = ++p2;
-+		      p3 = grub_strchr (p3, '"');
-+		      if (!p3)
-+			goto cache_lv_fail;
-+
-+		      sz = p3 - p2;
-+
-+		      cache->origin = grub_malloc (sz + 1);
-+		      if (!cache->origin)
-+			goto cache_lv_fail;
-+		      grub_memcpy (cache->origin, p2, sz);
-+		      cache->origin[sz] = '\0';
-+
-+		      cache->next = cache_lvs;
-+		      cache_lvs = cache;
-+		      break;
-+
-+		    cache_lv_fail:
-+		      if (cache)
-+			{
-+			  grub_free (cache->origin);
-+			  grub_free (cache->cache_pool);
-+			  if (cache->lv)
-+			    {
-+			      grub_free (cache->lv->fullname);
-+			      grub_free (cache->lv->idname);
-+			      grub_free (cache->lv->name);
-+			    }
-+			  grub_free (cache->lv);
-+			  grub_free (cache);
-+			}
-+		      grub_lvm_free_cache_lvs (cache_lvs);
-+		      goto fail4;
-+		    }
- 		  else
- 		    {
- #ifdef GRUB_UTIL
-@@ -747,6 +885,58 @@ grub_lvm_detect (grub_disk_t disk,
- 	      }
- 	
-       }
-+
-+      {
-+	struct cache_lv *cache;
-+
-+	for (cache = cache_lvs; cache; cache = cache->next)
-+	  {
-+	    struct grub_diskfilter_lv *lv;
-+
-+	    for (lv = vg->lvs; lv; lv = lv->next)
-+	      if (grub_strcmp (lv->name, cache->origin) == 0)
-+		break;
-+	    if (lv)
-+	      {
-+		cache->lv->segments = grub_malloc (lv->segment_count * sizeof (*lv->segments));
-+		if (!cache->lv->segments)
-+		  {
-+		    grub_lvm_free_cache_lvs (cache_lvs);
-+		    goto fail4;
-+		  }
-+		grub_memcpy (cache->lv->segments, lv->segments, lv->segment_count * sizeof (*lv->segments));
-+
-+		for (i = 0; i < lv->segment_count; ++i)
-+		  {
-+		    struct grub_diskfilter_node *nodes = lv->segments[i].nodes;
-+		    grub_size_t node_count = lv->segments[i].node_count;
-+
-+		    cache->lv->segments[i].nodes = grub_malloc (node_count * sizeof (*nodes));
-+		    if (!cache->lv->segments[i].nodes)
-+		      {
-+			for (j = 0; j < i; ++j)
-+			  grub_free (cache->lv->segments[j].nodes);
-+			grub_free (cache->lv->segments);
-+			cache->lv->segments = NULL;
-+			grub_lvm_free_cache_lvs (cache_lvs);
-+			goto fail4;
-+		      }
-+		    grub_memcpy (cache->lv->segments[i].nodes, nodes, node_count * sizeof (*nodes));
-+		  }
-+
-+		if (cache->lv->segments)
-+		  {
-+		    cache->lv->segment_count = lv->segment_count;
-+		    cache->lv->vg = vg;
-+		    cache->lv->next = vg->lvs;
-+		    vg->lvs = cache->lv;
-+		    cache->lv = NULL;
-+		  }
-+	      }
-+	  }
-+      }
-+
-+      grub_lvm_free_cache_lvs (cache_lvs);
-       if (grub_diskfilter_vg_register (vg))
- 	goto fail4;
-     }
--- 
-2.14.4
-
diff --git a/poky/meta/recipes-bsp/grub/files/safemath-Add-some-arithmetic-primitives-that-check-f.patch b/poky/meta/recipes-bsp/grub/files/safemath-Add-some-arithmetic-primitives-that-check-f.patch
deleted file mode 100644
index 29021e8d8..000000000
--- a/poky/meta/recipes-bsp/grub/files/safemath-Add-some-arithmetic-primitives-that-check-f.patch
+++ /dev/null
@@ -1,94 +0,0 @@
-From 06c361a71c4998635493610e5d76d0d223925251 Mon Sep 17 00:00:00 2001
-From: Peter Jones 
-Date: Mon, 15 Jun 2020 10:58:42 -0400
-Subject: [PATCH 5/9] safemath: Add some arithmetic primitives that check for
- overflow
-
-This adds a new header, include/grub/safemath.h, that includes easy to
-use wrappers for __builtin_{add,sub,mul}_overflow() declared like:
-
-  bool OP(a, b, res)
-
-where OP is grub_add, grub_sub or grub_mul. OP() returns true in the
-case where the operation would overflow and res is not modified.
-Otherwise, false is returned and the operation is executed.
-
-These arithmetic primitives require newer compiler versions. So, bump
-these requirements in the INSTALL file too.
-
-Upstream-Status: Backport [commit 68708c4503018d61dbcce7ac11cbb511d6425f4d
-from https://git.savannah.gnu.org/git/grub.git]
-
-Signed-off-by: Peter Jones 
-Reviewed-by: Daniel Kiper 
-[YL: omit the change to INSTALL from original patch]
-Signed-off-by: Yongxin Liu 
----
- include/grub/compiler.h |  8 ++++++++
- include/grub/safemath.h | 37 +++++++++++++++++++++++++++++++++++++
- 2 files changed, 45 insertions(+)
- create mode 100644 include/grub/safemath.h
-
-diff --git a/include/grub/compiler.h b/include/grub/compiler.h
-index c9e1d7a..8f3be3a 100644
---- a/include/grub/compiler.h
-+++ b/include/grub/compiler.h
-@@ -48,4 +48,12 @@
- #  define WARN_UNUSED_RESULT
- #endif
- 
-+#if defined(__clang__) && defined(__clang_major__) && defined(__clang_minor__)
-+#  define CLANG_PREREQ(maj,min) \
-+          ((__clang_major__ > (maj)) || \
-+	   (__clang_major__ == (maj) && __clang_minor__ >= (min)))
-+#else
-+#  define CLANG_PREREQ(maj,min) 0
-+#endif
-+
- #endif /* ! GRUB_COMPILER_HEADER */
-diff --git a/include/grub/safemath.h b/include/grub/safemath.h
-new file mode 100644
-index 0000000..c17b89b
---- /dev/null
-+++ b/include/grub/safemath.h
-@@ -0,0 +1,37 @@
-+/*
-+ *  GRUB  --  GRand Unified Bootloader
-+ *  Copyright (C) 2020  Free Software Foundation, Inc.
-+ *
-+ *  GRUB is free software: you can redistribute it and/or modify
-+ *  it under the terms of the GNU General Public License as published by
-+ *  the Free Software Foundation, either version 3 of the License, or
-+ *  (at your option) any later version.
-+ *
-+ *  GRUB is distributed in the hope that it will be useful,
-+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+ *  GNU General Public License for more details.
-+ *
-+ *  You should have received a copy of the GNU General Public License
-+ *  along with GRUB.  If not, see .
-+ *
-+ *  Arithmetic operations that protect against overflow.
-+ */
-+
-+#ifndef GRUB_SAFEMATH_H
-+#define GRUB_SAFEMATH_H 1
-+
-+#include 
-+
-+/* These appear in gcc 5.1 and clang 3.8. */
-+#if GNUC_PREREQ(5, 1) || CLANG_PREREQ(3, 8)
-+
-+#define grub_add(a, b, res)	__builtin_add_overflow(a, b, res)
-+#define grub_sub(a, b, res)	__builtin_sub_overflow(a, b, res)
-+#define grub_mul(a, b, res)	__builtin_mul_overflow(a, b, res)
-+
-+#else
-+#error gcc 5.1 or newer or clang 3.8 or newer is required
-+#endif
-+
-+#endif /* GRUB_SAFEMATH_H */
--- 
-2.14.4
-
diff --git a/poky/meta/recipes-bsp/grub/files/script-Remove-unused-fields-from-grub_script_functio.patch b/poky/meta/recipes-bsp/grub/files/script-Remove-unused-fields-from-grub_script_functio.patch
deleted file mode 100644
index 84a80d5ff..000000000
--- a/poky/meta/recipes-bsp/grub/files/script-Remove-unused-fields-from-grub_script_functio.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From e219bad8cee67b2bb21712df8f055706f8da25d2 Mon Sep 17 00:00:00 2001
-From: Chris Coulson 
-Date: Fri, 10 Jul 2020 11:21:14 +0100
-Subject: [PATCH 7/9] script: Remove unused fields from grub_script_function
- struct
-
-Upstream-Status: Backport [commit 1a8d9c9b4ab6df7669b5aa36a56477f297825b96
-from https://git.savannah.gnu.org/git/grub.git]
-
-Signed-off-by: Chris Coulson 
-Reviewed-by: Daniel Kiper 
-Signed-off-by: Yongxin Liu 
----
- include/grub/script_sh.h | 5 -----
- 1 file changed, 5 deletions(-)
-
-diff --git a/include/grub/script_sh.h b/include/grub/script_sh.h
-index 360c2be..b382bcf 100644
---- a/include/grub/script_sh.h
-+++ b/include/grub/script_sh.h
-@@ -359,13 +359,8 @@ struct grub_script_function
-   /* The script function.  */
-   struct grub_script *func;
- 
--  /* The flags.  */
--  unsigned flags;
--
-   /* The next element.  */
-   struct grub_script_function *next;
--
--  int references;
- };
- typedef struct grub_script_function *grub_script_function_t;
- 
--- 
-2.14.4
-
diff --git a/poky/meta/recipes-bsp/grub/grub-efi_2.04.bb b/poky/meta/recipes-bsp/grub/grub-efi_2.04.bb
deleted file mode 100644
index 287845c50..000000000
--- a/poky/meta/recipes-bsp/grub/grub-efi_2.04.bb
+++ /dev/null
@@ -1,91 +0,0 @@
-require grub2.inc
-
-require conf/image-uefi.conf
-
-GRUBPLATFORM = "efi"
-
-DEPENDS_append = " grub-native"
-RDEPENDS_${PN} = "grub-common virtual/grub-bootconf"
-
-SRC_URI += " \
-           file://cfg \
-          "
-
-S = "${WORKDIR}/grub-${PV}"
-
-# Determine the target arch for the grub modules
-python __anonymous () {
-    import re
-    target = d.getVar('TARGET_ARCH')
-    prefix = "" if d.getVar('EFI_PROVIDER') == "grub-efi" else "grub-efi-"
-    if target == "x86_64":
-        grubtarget = 'x86_64'
-    elif re.match('i.86', target):
-        grubtarget = 'i386'
-    elif re.match('aarch64', target):
-        grubtarget = 'arm64'
-    elif re.match('arm', target):
-        grubtarget = 'arm'
-    elif re.match('riscv64', target):
-        grubtarget = 'riscv64'
-    elif re.match('riscv32', target):
-        grubtarget = 'riscv32'
-    else:
-        raise bb.parse.SkipRecipe("grub-efi is incompatible with target %s" % target)
-    grubimage = prefix + d.getVar("EFI_BOOT_IMAGE")
-    d.setVar("GRUB_TARGET", grubtarget)
-    d.setVar("GRUB_IMAGE", grubimage)
-    prefix = "grub-efi-" if prefix == "" else ""
-    d.setVar("GRUB_IMAGE_PREFIX", prefix)
-}
-
-inherit deploy
-
-CACHED_CONFIGUREVARS += "ac_cv_path_HELP2MAN="
-EXTRA_OECONF += "--enable-efiemu=no"
-
-do_mkimage() {
-	cd ${B}
-	# Search for the grub.cfg on the local boot media by using the
-	# built in cfg file provided via this recipe
-	grub-mkimage -c ../cfg -p ${EFIDIR} -d ./grub-core/ \
-	               -O ${GRUB_TARGET}-efi -o ./${GRUB_IMAGE_PREFIX}${GRUB_IMAGE} \
-	               ${GRUB_BUILDIN}
-}
-
-addtask mkimage before do_install after do_compile
-
-do_install() {
-    oe_runmake 'DESTDIR=${D}' -C grub-core install
-
-    # Remove build host references...
-    find "${D}" -name modinfo.sh -type f -exec \
-        sed -i \
-        -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \
-        -e 's|${DEBUG_PREFIX_MAP}||g' \
-        -e 's:${RECIPE_SYSROOT_NATIVE}::g' \
-        {} +
-
-    install -d ${D}${EFI_FILES_PATH}
-    install -m 644 ${B}/${GRUB_IMAGE_PREFIX}${GRUB_IMAGE} ${D}${EFI_FILES_PATH}/${GRUB_IMAGE}
-}
-
-GRUB_BUILDIN ?= "boot linux ext2 fat serial part_msdos part_gpt normal \
-                 efi_gop iso9660 configfile search loadenv test"
-
-do_deploy() {
-	install -m 644 ${B}/${GRUB_IMAGE_PREFIX}${GRUB_IMAGE} ${DEPLOYDIR}
-}
-
-addtask deploy after do_install before do_build
-
-FILES_${PN} = "${libdir}/grub/${GRUB_TARGET}-efi \
-               ${datadir}/grub \
-               ${EFI_FILES_PATH}/${GRUB_IMAGE} \
-               "
-
-# 64-bit binaries are expected for the bootloader with an x32 userland
-INSANE_SKIP_${PN}_append_linux-gnux32 = " arch"
-INSANE_SKIP_${PN}-dbg_append_linux-gnux32 = " arch"
-INSANE_SKIP_${PN}_append_linux-muslx32 = " arch"
-INSANE_SKIP_${PN}-dbg_append_linux-muslx32 = " arch"
diff --git a/poky/meta/recipes-bsp/grub/grub-efi_git.bb b/poky/meta/recipes-bsp/grub/grub-efi_git.bb
new file mode 100644
index 000000000..240fde7db
--- /dev/null
+++ b/poky/meta/recipes-bsp/grub/grub-efi_git.bb
@@ -0,0 +1,89 @@
+require grub2.inc
+
+require conf/image-uefi.conf
+
+GRUBPLATFORM = "efi"
+
+DEPENDS_append = " grub-native"
+RDEPENDS_${PN} = "grub-common virtual/grub-bootconf"
+
+SRC_URI += " \
+           file://cfg \
+          "
+
+# Determine the target arch for the grub modules
+python __anonymous () {
+    import re
+    target = d.getVar('TARGET_ARCH')
+    prefix = "" if d.getVar('EFI_PROVIDER') == "grub-efi" else "grub-efi-"
+    if target == "x86_64":
+        grubtarget = 'x86_64'
+    elif re.match('i.86', target):
+        grubtarget = 'i386'
+    elif re.match('aarch64', target):
+        grubtarget = 'arm64'
+    elif re.match('arm', target):
+        grubtarget = 'arm'
+    elif re.match('riscv64', target):
+        grubtarget = 'riscv64'
+    elif re.match('riscv32', target):
+        grubtarget = 'riscv32'
+    else:
+        raise bb.parse.SkipRecipe("grub-efi is incompatible with target %s" % target)
+    grubimage = prefix + d.getVar("EFI_BOOT_IMAGE")
+    d.setVar("GRUB_TARGET", grubtarget)
+    d.setVar("GRUB_IMAGE", grubimage)
+    prefix = "grub-efi-" if prefix == "" else ""
+    d.setVar("GRUB_IMAGE_PREFIX", prefix)
+}
+
+inherit deploy
+
+CACHED_CONFIGUREVARS += "ac_cv_path_HELP2MAN="
+EXTRA_OECONF += "--enable-efiemu=no"
+
+do_mkimage() {
+	cd ${B}
+	# Search for the grub.cfg on the local boot media by using the
+	# built in cfg file provided via this recipe
+	grub-mkimage -c ../cfg -p ${EFIDIR} -d ./grub-core/ \
+	               -O ${GRUB_TARGET}-efi -o ./${GRUB_IMAGE_PREFIX}${GRUB_IMAGE} \
+	               ${GRUB_BUILDIN}
+}
+
+addtask mkimage before do_install after do_compile
+
+do_install() {
+    oe_runmake 'DESTDIR=${D}' -C grub-core install
+
+    # Remove build host references...
+    find "${D}" -name modinfo.sh -type f -exec \
+        sed -i \
+        -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \
+        -e 's|${DEBUG_PREFIX_MAP}||g' \
+        -e 's:${RECIPE_SYSROOT_NATIVE}::g' \
+        {} +
+
+    install -d ${D}${EFI_FILES_PATH}
+    install -m 644 ${B}/${GRUB_IMAGE_PREFIX}${GRUB_IMAGE} ${D}${EFI_FILES_PATH}/${GRUB_IMAGE}
+}
+
+GRUB_BUILDIN ?= "boot linux ext2 fat serial part_msdos part_gpt normal \
+                 efi_gop iso9660 configfile search loadenv test"
+
+do_deploy() {
+	install -m 644 ${B}/${GRUB_IMAGE_PREFIX}${GRUB_IMAGE} ${DEPLOYDIR}
+}
+
+addtask deploy after do_install before do_build
+
+FILES_${PN} = "${libdir}/grub/${GRUB_TARGET}-efi \
+               ${datadir}/grub \
+               ${EFI_FILES_PATH}/${GRUB_IMAGE} \
+               "
+
+# 64-bit binaries are expected for the bootloader with an x32 userland
+INSANE_SKIP_${PN}_append_linux-gnux32 = " arch"
+INSANE_SKIP_${PN}-dbg_append_linux-gnux32 = " arch"
+INSANE_SKIP_${PN}_append_linux-muslx32 = " arch"
+INSANE_SKIP_${PN}-dbg_append_linux-muslx32 = " arch"
diff --git a/poky/meta/recipes-bsp/grub/grub2.inc b/poky/meta/recipes-bsp/grub/grub2.inc
index f870d41f6..590deb8d9 100644
--- a/poky/meta/recipes-bsp/grub/grub2.inc
+++ b/poky/meta/recipes-bsp/grub/grub2.inc
@@ -13,25 +13,24 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
 
 CVE_PRODUCT = "grub2"
 
-SRC_URI = "${GNU_MIRROR}/grub/grub-${PV}.tar.gz \
+SRC_URI = "https://alpha.gnu.org/gnu/grub/grub-${REALPV}.tar.xz \
            file://0001-Disable-mfpmath-sse-as-well-when-SSE-is-disabled.patch \
            file://autogen.sh-exclude-pc.patch \
            file://grub-module-explicitly-keeps-symbole-.module_license.patch \
            file://0001-grub.d-10_linux.in-add-oe-s-kernel-name.patch \
-           file://CVE-2020-10713.patch \
-           file://calloc-Make-sure-we-always-have-an-overflow-checking.patch \
-           file://lvm-Add-LVM-cache-logical-volume-handling.patch \
-           file://CVE-2020-14308-calloc-Use-calloc-at-most-places.patch \
-           file://safemath-Add-some-arithmetic-primitives-that-check-f.patch \
-           file://CVE-2020-14309-CVE-2020-14310-CVE-2020-14311-malloc-Use-overflow-checking-primitives-where-we-do-.patch \
-           file://script-Remove-unused-fields-from-grub_script_functio.patch \
-           file://CVE-2020-15706-script-Avoid-a-use-after-free-when-redefining-a-func.patch \
-           file://CVE-2020-15707-linux-Fix-integer-overflows-in-initrd-size-handling.patch \
-           file://6643507ce30f775008e093580f0c9499dfb2c485.patch \
            file://determinism.patch \
+           file://0001-RISC-V-Restore-the-typcast-to-long.patch \
 "
-SRC_URI[md5sum] = "5ce674ca6b2612d8939b9e6abed32934"
-SRC_URI[sha256sum] = "f10c85ae3e204dbaec39ae22fa3c5e99f0665417e91c2cb49b7e5031658ba6ea"
+
+SRC_URI[sha256sum] = "2c87f1f21e2ab50043e6cd9163c08f1b6c3a6171556bf23ff9ed65b074145484"
+
+REALPV = "2.06~rc1"
+PV = "2.04+${REALPV}"
+
+S = "${WORKDIR}/grub-${REALPV}"
+
+UPSTREAM_CHECK_URI = "${GNU_MIRROR}/grub"
+UPSTREAM_CHECK_REGEX = "grub-(?P\d+(\.\d+)+)\.tar\.(gz|xz)"
 
 DEPENDS = "flex-native bison-native gettext-native"
 
diff --git a/poky/meta/recipes-bsp/grub/grub_2.04.bb b/poky/meta/recipes-bsp/grub/grub_2.04.bb
deleted file mode 100644
index d4e09faa4..000000000
--- a/poky/meta/recipes-bsp/grub/grub_2.04.bb
+++ /dev/null
@@ -1,41 +0,0 @@
-require grub2.inc
-
-RDEPENDS_${PN}-common += "${PN}-editenv"
-RDEPENDS_${PN} += "${PN}-common"
-RDEPENDS_${PN}_class-native = ""
-
-RPROVIDES_${PN}-editenv += "${PN}-efi-editenv"
-
-PROVIDES_append_class-native = " grub-efi-native"
-
-PACKAGES =+ "${PN}-editenv ${PN}-common"
-FILES_${PN}-editenv = "${bindir}/grub-editenv"
-FILES_${PN}-common = " \
-    ${bindir} \
-    ${sysconfdir} \
-    ${sbindir} \
-    ${datadir}/grub \
-"
-ALLOW_EMPTY_${PN} = "1"
-
-do_install_append () {
-    # Avoid conflicts with the EFI package for systems such as arm64 where we
-    # need to build grub and grub-efi but only EFI is supported by removing EFI
-    # from this package.
-    rm -rf ${D}${libdir}/grub/*-efi/
-    rmdir --ignore-fail-on-non-empty ${D}${libdir}/grub ${D}${libdir}
-
-    install -d ${D}${sysconfdir}/grub.d
-    # Remove build host references...
-    find "${D}" -name modinfo.sh -type f -exec \
-        sed -i \
-        -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \
-        -e 's|${DEBUG_PREFIX_MAP}||g' \
-        -e 's:${RECIPE_SYSROOT_NATIVE}::g' \
-        {} +
-}
-
-INSANE_SKIP_${PN} = "arch"
-INSANE_SKIP_${PN}-dbg = "arch"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-bsp/grub/grub_git.bb b/poky/meta/recipes-bsp/grub/grub_git.bb
new file mode 100644
index 000000000..d4e09faa4
--- /dev/null
+++ b/poky/meta/recipes-bsp/grub/grub_git.bb
@@ -0,0 +1,41 @@
+require grub2.inc
+
+RDEPENDS_${PN}-common += "${PN}-editenv"
+RDEPENDS_${PN} += "${PN}-common"
+RDEPENDS_${PN}_class-native = ""
+
+RPROVIDES_${PN}-editenv += "${PN}-efi-editenv"
+
+PROVIDES_append_class-native = " grub-efi-native"
+
+PACKAGES =+ "${PN}-editenv ${PN}-common"
+FILES_${PN}-editenv = "${bindir}/grub-editenv"
+FILES_${PN}-common = " \
+    ${bindir} \
+    ${sysconfdir} \
+    ${sbindir} \
+    ${datadir}/grub \
+"
+ALLOW_EMPTY_${PN} = "1"
+
+do_install_append () {
+    # Avoid conflicts with the EFI package for systems such as arm64 where we
+    # need to build grub and grub-efi but only EFI is supported by removing EFI
+    # from this package.
+    rm -rf ${D}${libdir}/grub/*-efi/
+    rmdir --ignore-fail-on-non-empty ${D}${libdir}/grub ${D}${libdir}
+
+    install -d ${D}${sysconfdir}/grub.d
+    # Remove build host references...
+    find "${D}" -name modinfo.sh -type f -exec \
+        sed -i \
+        -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \
+        -e 's|${DEBUG_PREFIX_MAP}||g' \
+        -e 's:${RECIPE_SYSROOT_NATIVE}::g' \
+        {} +
+}
+
+INSANE_SKIP_${PN} = "arch"
+INSANE_SKIP_${PN}-dbg = "arch"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-bsp/u-boot/files/0001-add-valid-fdt-check.patch b/poky/meta/recipes-bsp/u-boot/files/0001-add-valid-fdt-check.patch
new file mode 100644
index 000000000..d4ac9e2ed
--- /dev/null
+++ b/poky/meta/recipes-bsp/u-boot/files/0001-add-valid-fdt-check.patch
@@ -0,0 +1,36 @@
+From ea1a9ec5f430359720d9a0621ed1acfbba6a142a Mon Sep 17 00:00:00 2001
+From: Heinrich Schuchardt 
+Date: Wed, 13 Jan 2021 02:09:12 +0100
+Subject: [PATCH] image-fit: fit_check_format check for valid FDT
+
+fit_check_format() must check that the buffer contains a flattened device
+tree before calling any device tree library functions.
+
+Failure to do may cause segmentation faults.
+
+Signed-off-by: Heinrich Schuchardt 
+
+Upstream-Status: Backport[https://github.com/u-boot/u-boot/commit/ea1a9ec5f430359720d9a0621ed1acfbba6a142a]
+Signed-off-by: Scott Murray 
+
+---
+ common/image-fit.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/common/image-fit.c b/common/image-fit.c
+index 6a8787ca0a..21c44bdf69 100644
+--- a/common/image-fit.c
++++ b/common/image-fit.c
+@@ -1553,6 +1553,12 @@ int fit_image_check_comp(const void *fit, int noffset, uint8_t comp)
+  */
+ int fit_check_format(const void *fit)
+ {
++	/* A FIT image must be a valid FDT */
++	if (fdt_check_header(fit)) {
++		debug("Wrong FIT format: not a flattened device tree\n");
++		return 0;
++	}
++
+ 	/* mandatory / node 'description' property */
+ 	if (fdt_getprop(fit, 0, FIT_DESC_PROP, NULL) == NULL) {
+ 		debug("Wrong FIT format: no description\n");
diff --git a/poky/meta/recipes-bsp/u-boot/files/0001-riscv32-Use-double-float-ABI-for-rv32.patch b/poky/meta/recipes-bsp/u-boot/files/0001-riscv32-Use-double-float-ABI-for-rv32.patch
new file mode 100644
index 000000000..0ed3de491
--- /dev/null
+++ b/poky/meta/recipes-bsp/u-boot/files/0001-riscv32-Use-double-float-ABI-for-rv32.patch
@@ -0,0 +1,42 @@
+From 66dfe0fa886f6289add06d1af8642ce2b5302852 Mon Sep 17 00:00:00 2001
+From: Khem Raj 
+Date: Tue, 9 Feb 2021 16:40:12 -0800
+Subject: [PATCH] riscv32: Use double-float ABI for rv32
+
+So it can use libgcc built with OE toolchain
+Fixes
+error: "can't link hard-float modules with soft-float modules"
+
+Signed-off-by: Khem Raj 
+Upstream-Status: Inappropriate [embedded specific]
+---
+ arch/riscv/Makefile | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/arch/riscv/Makefile b/arch/riscv/Makefile
+index 0b80eb8d86..7324946f48 100644
+--- a/arch/riscv/Makefile
++++ b/arch/riscv/Makefile
+@@ -9,7 +9,9 @@ ifeq ($(CONFIG_ARCH_RV64I),y)
+ endif
+ ifeq ($(CONFIG_ARCH_RV32I),y)
+ 	ARCH_BASE = rv32im
+-	ABI = ilp32
++	ABI = ilp32d
++	ARCH_D = d
++	ARCH_F = f
+ endif
+ ifeq ($(CONFIG_RISCV_ISA_A),y)
+ 	ARCH_A = a
+@@ -24,7 +26,7 @@ ifeq ($(CONFIG_CMODEL_MEDANY),y)
+ 	CMODEL = medany
+ endif
+ 
+-ARCH_FLAGS = -march=$(ARCH_BASE)$(ARCH_A)$(ARCH_C) -mabi=$(ABI) \
++ARCH_FLAGS = -march=$(ARCH_BASE)$(ARCH_A)$(ARCH_F)$(ARCH_D)$(ARCH_C) -mabi=$(ABI) \
+ 	     -mcmodel=$(CMODEL)
+ 
+ PLATFORM_CPPFLAGS	+= $(ARCH_FLAGS)
+-- 
+2.30.0
+
diff --git a/poky/meta/recipes-bsp/u-boot/files/CVE-2021-27097-1.patch b/poky/meta/recipes-bsp/u-boot/files/CVE-2021-27097-1.patch
new file mode 100644
index 000000000..98ec2c709
--- /dev/null
+++ b/poky/meta/recipes-bsp/u-boot/files/CVE-2021-27097-1.patch
@@ -0,0 +1,71 @@
+From 8a7d4cf9820ea16fabd25a6379351b4dc291204b Mon Sep 17 00:00:00 2001
+From: Simon Glass 
+Date: Mon, 15 Feb 2021 17:08:05 -0700
+Subject: [PATCH] fdt_region: Check for a single root node of the correct name
+
+At present fdt_find_regions() assumes that the FIT is a valid devicetree.
+If the FIT has two root nodes this is currently not detected in this
+function, nor does libfdt's fdt_check_full() notice. Also it is possible
+for the root node to have a name even though it should not.
+
+Add checks for these and return -FDT_ERR_BADSTRUCTURE if a problem is
+detected.
+
+CVE-2021-27097
+
+Signed-off-by: Simon Glass 
+Reported-by: Bruce Monroe 
+Reported-by: Arie Haenel 
+Reported-by: Julien Lenoir 
+
+CVE: CVE-2021-27097
+Upstream-Status: Backport[https://github.com/u-boot/u-boot/commit/8a7d4cf9820ea16fabd25a6379351b4dc291204b]
+Signed-off-by: Scott Murray 
+
+---
+ common/fdt_region.c | 11 +++++++++++
+ 1 file changed, 11 insertions(+)
+
+diff --git a/common/fdt_region.c b/common/fdt_region.c
+index ff12c518e9..e4ef0ca770 100644
+--- a/common/fdt_region.c
++++ b/common/fdt_region.c
+@@ -43,6 +43,7 @@ int fdt_find_regions(const void *fdt, char * const inc[], int inc_count,
+ 	int depth = -1;
+ 	int want = 0;
+ 	int base = fdt_off_dt_struct(fdt);
++	bool expect_end = false;
+ 
+ 	end = path;
+ 	*end = '\0';
+@@ -59,6 +60,10 @@ int fdt_find_regions(const void *fdt, char * const inc[], int inc_count,
+ 		tag = fdt_next_tag(fdt, offset, &nextoffset);
+ 		stop_at = nextoffset;
+ 
++		/* If we see two root nodes, something is wrong */
++		if (expect_end && tag != FDT_END)
++			return -FDT_ERR_BADLAYOUT;
++
+ 		switch (tag) {
+ 		case FDT_PROP:
+ 			include = want >= 2;
+@@ -81,6 +86,10 @@ int fdt_find_regions(const void *fdt, char * const inc[], int inc_count,
+ 			if (depth == FDT_MAX_DEPTH)
+ 				return -FDT_ERR_BADSTRUCTURE;
+ 			name = fdt_get_name(fdt, offset, &len);
++
++			/* The root node must have an empty name */
++			if (!depth && *name)
++				return -FDT_ERR_BADLAYOUT;
+ 			if (end - path + 2 + len >= path_len)
+ 				return -FDT_ERR_NOSPACE;
+ 			if (end != path + 1)
+@@ -108,6 +117,8 @@ int fdt_find_regions(const void *fdt, char * const inc[], int inc_count,
+ 			while (end > path && *--end != '/')
+ 				;
+ 			*end = '\0';
++			if (depth == -1)
++				expect_end = true;
+ 			break;
+ 
+ 		case FDT_END:
diff --git a/poky/meta/recipes-bsp/u-boot/files/CVE-2021-27097-2.patch b/poky/meta/recipes-bsp/u-boot/files/CVE-2021-27097-2.patch
new file mode 100644
index 000000000..b13c44e78
--- /dev/null
+++ b/poky/meta/recipes-bsp/u-boot/files/CVE-2021-27097-2.patch
@@ -0,0 +1,419 @@
+From c5819701a3de61e2ba2ef7ad0b616565b32305e5 Mon Sep 17 00:00:00 2001
+From: Simon Glass 
+Date: Mon, 15 Feb 2021 17:08:09 -0700
+Subject: [PATCH] image: Adjust the workings of fit_check_format()
+
+At present this function does not accept a size for the FIT. This means
+that it must be read from the FIT itself, introducing potential security
+risk. Update the function to include a size parameter, which can be
+invalid, in which case fit_check_format() calculates it.
+
+For now no callers pass the size, but this can be updated later.
+
+Also adjust the return value to an error code so that all the different
+types of problems can be distinguished by the user.
+
+Signed-off-by: Simon Glass 
+Reported-by: Bruce Monroe 
+Reported-by: Arie Haenel 
+Reported-by: Julien Lenoir 
+
+CVE: CVE-2021-27097 CVE-2021-27138
+Upstream-Status: Backport[https://github.com/u-boot/u-boot/commit/c5819701a3de61e2ba2ef7ad0b616565b32305e5]
+Signed-off-by: Scott Murray 
+
+---
+ arch/arm/cpu/armv8/sec_firmware.c  |  2 +-
+ cmd/bootm.c                        |  6 ++---
+ cmd/disk.c                         |  2 +-
+ cmd/fpga.c                         |  2 +-
+ cmd/nand.c                         |  2 +-
+ cmd/source.c                       |  2 +-
+ cmd/ximg.c                         |  2 +-
+ common/image-fdt.c                 |  2 +-
+ common/image-fit.c                 | 46 +++++++++++++++++---------------------
+ common/splash_source.c             |  6 ++---
+ common/update.c                    |  4 ++--
+ drivers/fpga/socfpga_arria10.c     |  6 ++---
+ drivers/net/fsl-mc/mc.c            |  2 +-
+ drivers/net/pfe_eth/pfe_firmware.c |  2 +-
+ include/image.h                    | 21 ++++++++++++++++-
+ tools/fit_common.c                 |  3 ++-
+ tools/fit_image.c                  |  2 +-
+ tools/mkimage.h                    |  2 ++
+ 18 files changed, 65 insertions(+), 49 deletions(-)
+
+diff --git a/arch/arm/cpu/armv8/sec_firmware.c b/arch/arm/cpu/armv8/sec_firmware.c
+index bfc0fac3ef..0561f5efd1 100644
+--- a/arch/arm/cpu/armv8/sec_firmware.c
++++ b/arch/arm/cpu/armv8/sec_firmware.c
+@@ -316,7 +316,7 @@ __weak bool sec_firmware_is_valid(const void *sec_firmware_img)
+ 		return false;
+ 	}
+ 
+-	if (!fit_check_format(sec_firmware_img)) {
++	if (fit_check_format(sec_firmware_img, IMAGE_SIZE_INVAL)) {
+ 		printf("SEC Firmware: Bad firmware image (bad FIT header)\n");
+ 		return false;
+ 	}
+diff --git a/cmd/bootm.c b/cmd/bootm.c
+index e6b0e04413..a0f823f968 100644
+--- a/cmd/bootm.c
++++ b/cmd/bootm.c
+@@ -291,7 +291,7 @@ static int image_info(ulong addr)
+ 	case IMAGE_FORMAT_FIT:
+ 		puts("   FIT image found\n");
+ 
+-		if (!fit_check_format(hdr)) {
++		if (fit_check_format(hdr, IMAGE_SIZE_INVAL)) {
+ 			puts("Bad FIT image format!\n");
+ 			unmap_sysmem(hdr);
+ 			return 1;
+@@ -368,7 +368,7 @@ static int do_imls_nor(void)
+ #endif
+ #if defined(CONFIG_FIT)
+ 			case IMAGE_FORMAT_FIT:
+-				if (!fit_check_format(hdr))
++				if (fit_check_format(hdr, IMAGE_SIZE_INVAL))
+ 					goto next_sector;
+ 
+ 				printf("FIT Image at %08lX:\n", (ulong)hdr);
+@@ -448,7 +448,7 @@ static int nand_imls_fitimage(struct mtd_info *mtd, int nand_dev, loff_t off,
+ 		return ret;
+ 	}
+ 
+-	if (!fit_check_format(imgdata)) {
++	if (fit_check_format(imgdata, IMAGE_SIZE_INVAL)) {
+ 		free(imgdata);
+ 		return 0;
+ 	}
+diff --git a/cmd/disk.c b/cmd/disk.c
+index 8060e753eb..3195db9127 100644
+--- a/cmd/disk.c
++++ b/cmd/disk.c
+@@ -114,7 +114,7 @@ int common_diskboot(struct cmd_tbl *cmdtp, const char *intf, int argc,
+ 	/* This cannot be done earlier,
+ 	 * we need complete FIT image in RAM first */
+ 	if (genimg_get_format((void *) addr) == IMAGE_FORMAT_FIT) {
+-		if (!fit_check_format(fit_hdr)) {
++		if (fit_check_format(fit_hdr, IMAGE_SIZE_INVAL)) {
+ 			bootstage_error(BOOTSTAGE_ID_IDE_FIT_READ);
+ 			puts("** Bad FIT image format\n");
+ 			return 1;
+diff --git a/cmd/fpga.c b/cmd/fpga.c
+index 8ae1c936fb..51410a8e42 100644
+--- a/cmd/fpga.c
++++ b/cmd/fpga.c
+@@ -330,7 +330,7 @@ static int do_fpga_loadmk(struct cmd_tbl *cmdtp, int flag, int argc,
+ 			return CMD_RET_FAILURE;
+ 		}
+ 
+-		if (!fit_check_format(fit_hdr)) {
++		if (fit_check_format(fit_hdr, IMAGE_SIZE_INVAL)) {
+ 			puts("Bad FIT image format\n");
+ 			return CMD_RET_FAILURE;
+ 		}
+diff --git a/cmd/nand.c b/cmd/nand.c
+index 92d039af8f..97e117a979 100644
+--- a/cmd/nand.c
++++ b/cmd/nand.c
+@@ -917,7 +917,7 @@ static int nand_load_image(struct cmd_tbl *cmdtp, struct mtd_info *mtd,
+ #if defined(CONFIG_FIT)
+ 	/* This cannot be done earlier, we need complete FIT image in RAM first */
+ 	if (genimg_get_format ((void *)addr) == IMAGE_FORMAT_FIT) {
+-		if (!fit_check_format (fit_hdr)) {
++		if (fit_check_format(fit_hdr, IMAGE_SIZE_INVAL)) {
+ 			bootstage_error(BOOTSTAGE_ID_NAND_FIT_READ);
+ 			puts ("** Bad FIT image format\n");
+ 			return 1;
+diff --git a/cmd/source.c b/cmd/source.c
+index b6c709a3d2..71f71528ad 100644
+--- a/cmd/source.c
++++ b/cmd/source.c
+@@ -107,7 +107,7 @@ int image_source_script(ulong addr, const char *fit_uname)
+ #if defined(CONFIG_FIT)
+ 	case IMAGE_FORMAT_FIT:
+ 		fit_hdr = buf;
+-		if (!fit_check_format (fit_hdr)) {
++		if (fit_check_format(fit_hdr, IMAGE_SIZE_INVAL)) {
+ 			puts ("Bad FIT image format\n");
+ 			return 1;
+ 		}
+diff --git a/cmd/ximg.c b/cmd/ximg.c
+index 159ba51648..ef738ebfa2 100644
+--- a/cmd/ximg.c
++++ b/cmd/ximg.c
+@@ -136,7 +136,7 @@ do_imgextract(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
+ 			"at %08lx ...\n", uname, addr);
+ 
+ 		fit_hdr = (const void *)addr;
+-		if (!fit_check_format(fit_hdr)) {
++		if (fit_check_format(fit_hdr, IMAGE_SIZE_INVAL)) {
+ 			puts("Bad FIT image format\n");
+ 			return 1;
+ 		}
+diff --git a/common/image-fdt.c b/common/image-fdt.c
+index 327a8c4c39..4105259212 100644
+--- a/common/image-fdt.c
++++ b/common/image-fdt.c
+@@ -399,7 +399,7 @@ int boot_get_fdt(int flag, int argc, char *const argv[], uint8_t arch,
+ 			 */
+ #if CONFIG_IS_ENABLED(FIT)
+ 			/* check FDT blob vs FIT blob */
+-			if (fit_check_format(buf)) {
++			if (!fit_check_format(buf, IMAGE_SIZE_INVAL)) {
+ 				ulong load, len;
+ 
+ 				fdt_noffset = boot_get_fdt_fit(images,
+diff --git a/common/image-fit.c b/common/image-fit.c
+index 9637d747fb..402f08fc9d 100644
+--- a/common/image-fit.c
++++ b/common/image-fit.c
+@@ -8,6 +8,8 @@
+  * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
+  */
+ 
++#define LOG_CATEGORY LOGC_BOOT
++
+ #ifdef USE_HOSTCC
+ #include "mkimage.h"
+ #include 
+@@ -1550,49 +1552,41 @@ int fit_image_check_comp(const void *fit, int noffset, uint8_t comp)
+ 	return (comp == image_comp);
+ }
+ 
+-/**
+- * fit_check_format - sanity check FIT image format
+- * @fit: pointer to the FIT format image header
+- *
+- * fit_check_format() runs a basic sanity FIT image verification.
+- * Routine checks for mandatory properties, nodes, etc.
+- *
+- * returns:
+- *     1, on success
+- *     0, on failure
+- */
+-int fit_check_format(const void *fit)
++int fit_check_format(const void *fit, ulong size)
+ {
++	int ret;
++
+ 	/* A FIT image must be a valid FDT */
+-	if (fdt_check_header(fit)) {
+-		debug("Wrong FIT format: not a flattened device tree\n");
+-		return 0;
++	ret = fdt_check_header(fit);
++	if (ret) {
++		log_debug("Wrong FIT format: not a flattened device tree (err=%d)\n",
++			  ret);
++		return -ENOEXEC;
+ 	}
+ 
+ 	/* mandatory / node 'description' property */
+-	if (fdt_getprop(fit, 0, FIT_DESC_PROP, NULL) == NULL) {
+-		debug("Wrong FIT format: no description\n");
+-		return 0;
++	if (!fdt_getprop(fit, 0, FIT_DESC_PROP, NULL)) {
++		log_debug("Wrong FIT format: no description\n");
++		return -ENOMSG;
+ 	}
+ 
+ 	if (IMAGE_ENABLE_TIMESTAMP) {
+ 		/* mandatory / node 'timestamp' property */
+-		if (fdt_getprop(fit, 0, FIT_TIMESTAMP_PROP, NULL) == NULL) {
+-			debug("Wrong FIT format: no timestamp\n");
+-			return 0;
++		if (!fdt_getprop(fit, 0, FIT_TIMESTAMP_PROP, NULL)) {
++			log_debug("Wrong FIT format: no timestamp\n");
++			return -ENODATA;
+ 		}
+ 	}
+ 
+ 	/* mandatory subimages parent '/images' node */
+ 	if (fdt_path_offset(fit, FIT_IMAGES_PATH) < 0) {
+-		debug("Wrong FIT format: no images parent node\n");
+-		return 0;
++		log_debug("Wrong FIT format: no images parent node\n");
++		return -ENOENT;
+ 	}
+ 
+-	return 1;
++	return 0;
+ }
+ 
+-
+ /**
+  * fit_conf_find_compat
+  * @fit: pointer to the FIT format image header
+@@ -1929,7 +1923,7 @@ int fit_image_load(bootm_headers_t *images, ulong addr,
+ 	printf("## Loading %s from FIT Image at %08lx ...\n", prop_name, addr);
+ 
+ 	bootstage_mark(bootstage_id + BOOTSTAGE_SUB_FORMAT);
+-	if (!fit_check_format(fit)) {
++	if (fit_check_format(fit, IMAGE_SIZE_INVAL)) {
+ 		printf("Bad FIT %s image format!\n", prop_name);
+ 		bootstage_error(bootstage_id + BOOTSTAGE_SUB_FORMAT);
+ 		return -ENOEXEC;
+diff --git a/common/splash_source.c b/common/splash_source.c
+index f51ca5ddf3..bad9a7790a 100644
+--- a/common/splash_source.c
++++ b/common/splash_source.c
+@@ -336,10 +336,10 @@ static int splash_load_fit(struct splash_location *location, u32 bmp_load_addr)
+ 	if (res < 0)
+ 		return res;
+ 
+-	res = fit_check_format(fit_header);
+-	if (!res) {
++	res = fit_check_format(fit_header, IMAGE_SIZE_INVAL);
++	if (res) {
+ 		debug("Could not find valid FIT image\n");
+-		return -EINVAL;
++		return res;
+ 	}
+ 
+ 	/* Get the splash image node */
+diff --git a/common/update.c b/common/update.c
+index a5879cb52c..f0848954e5 100644
+--- a/common/update.c
++++ b/common/update.c
+@@ -286,7 +286,7 @@ int update_tftp(ulong addr, char *interface, char *devstring)
+ got_update_file:
+ 	fit = map_sysmem(addr, 0);
+ 
+-	if (!fit_check_format((void *)fit)) {
++	if (fit_check_format((void *)fit, IMAGE_SIZE_INVAL)) {
+ 		printf("Bad FIT format of the update file, aborting "
+ 							"auto-update\n");
+ 		return 1;
+@@ -363,7 +363,7 @@ int fit_update(const void *fit)
+ 	if (!fit)
+ 		return -EINVAL;
+ 
+-	if (!fit_check_format((void *)fit)) {
++	if (fit_check_format((void *)fit, IMAGE_SIZE_INVAL)) {
+ 		printf("Bad FIT format of the update file, aborting auto-update\n");
+ 		return -EINVAL;
+ 	}
+diff --git a/drivers/fpga/socfpga_arria10.c b/drivers/fpga/socfpga_arria10.c
+index 44e1ac54c3..18f99676d2 100644
+--- a/drivers/fpga/socfpga_arria10.c
++++ b/drivers/fpga/socfpga_arria10.c
+@@ -565,10 +565,10 @@ static int first_loading_rbf_to_buffer(struct udevice *dev,
+ 	if (ret < 0)
+ 		return ret;
+ 
+-	ret = fit_check_format(buffer_p);
+-	if (!ret) {
++	ret = fit_check_format(buffer_p, IMAGE_SIZE_INVAL);
++	if (ret) {
+ 		debug("FPGA: No valid FIT image was found.\n");
+-		return -EBADF;
++		return ret;
+ 	}
+ 
+ 	confs_noffset = fdt_path_offset(buffer_p, FIT_CONFS_PATH);
+diff --git a/drivers/net/fsl-mc/mc.c b/drivers/net/fsl-mc/mc.c
+index 84db6be624..81265ee356 100644
+--- a/drivers/net/fsl-mc/mc.c
++++ b/drivers/net/fsl-mc/mc.c
+@@ -141,7 +141,7 @@ int parse_mc_firmware_fit_image(u64 mc_fw_addr,
+ 		return -EINVAL;
+ 	}
+ 
+-	if (!fit_check_format(fit_hdr)) {
++	if (fit_check_format(fit_hdr, IMAGE_SIZE_INVAL)) {
+ 		printf("fsl-mc: ERR: Bad firmware image (bad FIT header)\n");
+ 		return -EINVAL;
+ 	}
+diff --git a/drivers/net/pfe_eth/pfe_firmware.c b/drivers/net/pfe_eth/pfe_firmware.c
+index 41999e176d..eee70a2e73 100644
+--- a/drivers/net/pfe_eth/pfe_firmware.c
++++ b/drivers/net/pfe_eth/pfe_firmware.c
+@@ -160,7 +160,7 @@ static int pfe_fit_check(void)
+ 		return ret;
+ 	}
+ 
+-	if (!fit_check_format(pfe_fit_addr)) {
++	if (fit_check_format(pfe_fit_addr, IMAGE_SIZE_INVAL)) {
+ 		printf("PFE Firmware: Bad firmware image (bad FIT header)\n");
+ 		ret = -1;
+ 		return ret;
+diff --git a/include/image.h b/include/image.h
+index 41473dbb9c..8c152c5c5f 100644
+--- a/include/image.h
++++ b/include/image.h
+@@ -134,6 +134,9 @@ extern ulong image_load_addr;		/* Default Load Address */
+ extern ulong image_save_addr;		/* Default Save Address */
+ extern ulong image_save_size;		/* Default Save Size */
+ 
++/* An invalid size, meaning that the image size is not known */
++#define IMAGE_SIZE_INVAL	(-1UL)
++
+ enum ih_category {
+ 	IH_ARCH,
+ 	IH_COMP,
+@@ -1141,7 +1144,23 @@ int fit_image_check_os(const void *fit, int noffset, uint8_t os);
+ int fit_image_check_arch(const void *fit, int noffset, uint8_t arch);
+ int fit_image_check_type(const void *fit, int noffset, uint8_t type);
+ int fit_image_check_comp(const void *fit, int noffset, uint8_t comp);
+-int fit_check_format(const void *fit);
++
++/**
++ * fit_check_format() - Check that the FIT is valid
++ *
++ * This performs various checks on the FIT to make sure it is suitable for
++ * use, looking for mandatory properties, nodes, etc.
++ *
++ * If FIT_FULL_CHECK is enabled, it also runs it through libfdt to make
++ * sure that there are no strange tags or broken nodes in the FIT.
++ *
++ * @fit: pointer to the FIT format image header
++ * @return 0 if OK, -ENOEXEC if not an FDT file, -EINVAL if the full FDT check
++ *	failed (e.g. due to bad structure), -ENOMSG if the description is
++ *	missing, -ENODATA if the timestamp is missing, -ENOENT if the /images
++ *	path is missing
++ */
++int fit_check_format(const void *fit, ulong size);
+ 
+ int fit_conf_find_compat(const void *fit, const void *fdt);
+ 
+diff --git a/tools/fit_common.c b/tools/fit_common.c
+index cdf987d3c1..52b63296f8 100644
+--- a/tools/fit_common.c
++++ b/tools/fit_common.c
+@@ -26,7 +26,8 @@
+ int fit_verify_header(unsigned char *ptr, int image_size,
+ 			struct image_tool_params *params)
+ {
+-	if (fdt_check_header(ptr) != EXIT_SUCCESS || !fit_check_format(ptr))
++	if (fdt_check_header(ptr) != EXIT_SUCCESS ||
++	    fit_check_format(ptr, IMAGE_SIZE_INVAL))
+ 		return EXIT_FAILURE;
+ 
+ 	return EXIT_SUCCESS;
+diff --git a/tools/fit_image.c b/tools/fit_image.c
+index 06faeda7c2..d440d143c6 100644
+--- a/tools/fit_image.c
++++ b/tools/fit_image.c
+@@ -883,7 +883,7 @@ static int fit_extract_contents(void *ptr, struct image_tool_params *params)
+ 	/* Indent string is defined in header image.h */
+ 	p = IMAGE_INDENT_STRING;
+ 
+-	if (!fit_check_format(fit)) {
++	if (fit_check_format(fit, IMAGE_SIZE_INVAL)) {
+ 		printf("Bad FIT image format\n");
+ 		return -1;
+ 	}
+diff --git a/tools/mkimage.h b/tools/mkimage.h
+index 5b096a545b..0d3148444c 100644
+--- a/tools/mkimage.h
++++ b/tools/mkimage.h
+@@ -29,6 +29,8 @@
+ #define debug(fmt,args...)
+ #endif /* MKIMAGE_DEBUG */
+ 
++#define log_debug(fmt, args...)	debug(fmt, ##args)
++
+ static inline void *map_sysmem(ulong paddr, unsigned long len)
+ {
+ 	return (void *)(uintptr_t)paddr;
diff --git a/poky/meta/recipes-bsp/u-boot/files/CVE-2021-27097-3.patch b/poky/meta/recipes-bsp/u-boot/files/CVE-2021-27097-3.patch
new file mode 100644
index 000000000..86f7e8ce5
--- /dev/null
+++ b/poky/meta/recipes-bsp/u-boot/files/CVE-2021-27097-3.patch
@@ -0,0 +1,105 @@
+From 6f3c2d8aa5e6cbd80b5e869bbbddecb66c329d01 Mon Sep 17 00:00:00 2001
+From: Simon Glass 
+Date: Mon, 15 Feb 2021 17:08:10 -0700
+Subject: [PATCH] image: Add an option to do a full check of the FIT
+
+Some strange modifications of the FIT can introduce security risks. Add an
+option to check it thoroughly, using libfdt's fdt_check_full() function.
+
+Enable this by default if signature verification is enabled.
+
+CVE-2021-27097
+
+Signed-off-by: Simon Glass 
+Reported-by: Bruce Monroe 
+Reported-by: Arie Haenel 
+Reported-by: Julien Lenoir 
+
+CVE: CVE-2021-27097
+Upstream-Status: Backport[https://github.com/u-boot/u-boot/commit/6f3c2d8aa5e6cbd80b5e869bbbddecb66c329d01]
+Signed-off-by: Scott Murray 
+
+---
+ common/Kconfig.boot | 20 ++++++++++++++++++++
+ common/image-fit.c  | 16 ++++++++++++++++
+ 2 files changed, 36 insertions(+)
+
+diff --git a/common/Kconfig.boot b/common/Kconfig.boot
+index 5eaabdfc27..7532e55edb 100644
+--- a/common/Kconfig.boot
++++ b/common/Kconfig.boot
+@@ -63,6 +63,15 @@ config FIT_ENABLE_SHA512_SUPPORT
+ 	  SHA512 checksum is a 512-bit (64-byte) hash value used to check that
+ 	  the image contents have not been corrupted.
+ 
++config FIT_FULL_CHECK
++	bool "Do a full check of the FIT before using it"
++	default y
++	help
++	  Enable this do a full check of the FIT to make sure it is valid. This
++	  helps to protect against carefully crafted FITs which take advantage
++	  of bugs or omissions in the code. This includes a bad structure,
++	  multiple root nodes and the like.
++
+ config FIT_SIGNATURE
+ 	bool "Enable signature verification of FIT uImages"
+ 	depends on DM
+@@ -70,6 +79,7 @@ config FIT_SIGNATURE
+ 	select RSA
+ 	select RSA_VERIFY
+ 	select IMAGE_SIGN_INFO
++	select FIT_FULL_CHECK
+ 	help
+ 	  This option enables signature verification of FIT uImages,
+ 	  using a hash signed and verified using RSA. If
+@@ -159,6 +169,15 @@ config SPL_FIT_PRINT
+ 	help
+ 	  Support printing the content of the fitImage in a verbose manner in SPL.
+ 
++config SPL_FIT_FULL_CHECK
++	bool "Do a full check of the FIT before using it"
++	help
++	  Enable this do a full check of the FIT to make sure it is valid. This
++	  helps to protect against carefully crafted FITs which take advantage
++	  of bugs or omissions in the code. This includes a bad structure,
++	  multiple root nodes and the like.
++
++
+ config SPL_FIT_SIGNATURE
+ 	bool "Enable signature verification of FIT firmware within SPL"
+ 	depends on SPL_DM
+@@ -168,6 +187,7 @@ config SPL_FIT_SIGNATURE
+ 	select SPL_RSA
+ 	select SPL_RSA_VERIFY
+ 	select SPL_IMAGE_SIGN_INFO
++	select SPL_FIT_FULL_CHECK
+ 
+ config SPL_LOAD_FIT
+ 	bool "Enable SPL loading U-Boot as a FIT (basic fitImage features)"
+diff --git a/common/image-fit.c b/common/image-fit.c
+index f6c0428a96..bcf395f6a1 100644
+--- a/common/image-fit.c
++++ b/common/image-fit.c
+@@ -1580,6 +1580,22 @@ int fit_check_format(const void *fit, ulong size)
+ 		return -ENOEXEC;
+ 	}
+ 
++	if (CONFIG_IS_ENABLED(FIT_FULL_CHECK)) {
++		/*
++		 * If we are not given the size, make do wtih calculating it.
++		 * This is not as secure, so we should consider a flag to
++		 * control this.
++		 */
++		if (size == IMAGE_SIZE_INVAL)
++			size = fdt_totalsize(fit);
++		ret = fdt_check_full(fit, size);
++
++		if (ret) {
++			log_debug("FIT check error %d\n", ret);
++			return -EINVAL;
++		}
++	}
++
+ 	/* mandatory / node 'description' property */
+ 	if (!fdt_getprop(fit, 0, FIT_DESC_PROP, NULL)) {
+ 		log_debug("Wrong FIT format: no description\n");
diff --git a/poky/meta/recipes-bsp/u-boot/files/CVE-2021-27097-4.patch b/poky/meta/recipes-bsp/u-boot/files/CVE-2021-27097-4.patch
new file mode 100644
index 000000000..060cac1cf
--- /dev/null
+++ b/poky/meta/recipes-bsp/u-boot/files/CVE-2021-27097-4.patch
@@ -0,0 +1,73 @@
+From 124c255731c76a2b09587378b2bcce561bcd3f2d Mon Sep 17 00:00:00 2001
+From: Simon Glass 
+Date: Mon, 15 Feb 2021 17:08:11 -0700
+Subject: [PATCH] libfdt: Check for multiple/invalid root nodes
+
+It is possible to construct a devicetree blob with multiple root nodes.
+Update fdt_check_full() to check for this, along with a root node with an
+invalid name.
+
+CVE-2021-27097
+
+Signed-off-by: Simon Glass 
+Reported-by: Bruce Monroe 
+Reported-by: Arie Haenel 
+Reported-by: Julien Lenoir 
+
+CVE: CVE-2021-27097
+Upstream-Status: Backport[https://github.com/u-boot/u-boot/commit/124c255731c76a2b09587378b2bcce561bcd3f2d]
+Signed-off-by: Scott Murray 
+
+---
+ scripts/dtc/libfdt/fdt_ro.c | 17 +++++++++++++++++
+ test/py/tests/test_vboot.py |  3 ++-
+ 2 files changed, 19 insertions(+), 1 deletion(-)
+
+diff --git a/scripts/dtc/libfdt/fdt_ro.c b/scripts/dtc/libfdt/fdt_ro.c
+index d984bab036..efe7efe921 100644
+--- a/scripts/dtc/libfdt/fdt_ro.c
++++ b/scripts/dtc/libfdt/fdt_ro.c
+@@ -867,6 +867,7 @@ int fdt_check_full(const void *fdt, size_t bufsize)
+ 	unsigned depth = 0;
+ 	const void *prop;
+ 	const char *propname;
++	bool expect_end = false;
+ 
+ 	if (bufsize < FDT_V1_SIZE)
+ 		return -FDT_ERR_TRUNCATED;
+@@ -887,6 +888,10 @@ int fdt_check_full(const void *fdt, size_t bufsize)
+ 		if (nextoffset < 0)
+ 			return nextoffset;
+ 
++		/* If we see two root nodes, something is wrong */
++		if (expect_end && tag != FDT_END)
++			return -FDT_ERR_BADLAYOUT;
++
+ 		switch (tag) {
+ 		case FDT_NOP:
+ 			break;
+@@ -900,12 +905,24 @@ int fdt_check_full(const void *fdt, size_t bufsize)
+ 			depth++;
+ 			if (depth > INT_MAX)
+ 				return -FDT_ERR_BADSTRUCTURE;
++
++			/* The root node must have an empty name */
++			if (depth == 1) {
++				const char *name;
++				int len;
++
++				name = fdt_get_name(fdt, offset, &len);
++				if (*name || len)
++					return -FDT_ERR_BADLAYOUT;
++			}
+ 			break;
+ 
+ 		case FDT_END_NODE:
+ 			if (depth == 0)
+ 				return -FDT_ERR_BADSTRUCTURE;
+ 			depth--;
++			if (depth == 0)
++				expect_end = true;
+ 			break;
+ 
+ 		case FDT_PROP:
diff --git a/poky/meta/recipes-bsp/u-boot/files/CVE-2021-27138-1.patch b/poky/meta/recipes-bsp/u-boot/files/CVE-2021-27138-1.patch
new file mode 100644
index 000000000..562f8151b
--- /dev/null
+++ b/poky/meta/recipes-bsp/u-boot/files/CVE-2021-27138-1.patch
@@ -0,0 +1,245 @@
+From 79af75f7776fc20b0d7eb6afe1e27c00fdb4b9b4 Mon Sep 17 00:00:00 2001
+From: Simon Glass 
+Date: Mon, 15 Feb 2021 17:08:06 -0700
+Subject: [PATCH] fit: Don't allow verification of images with @ nodes
+
+When searching for a node called 'fred', any unit address appended to the
+name is ignored by libfdt, meaning that 'fred' can match 'fred@1'. This
+means that we cannot be sure that the node originally intended is the one
+that is used.
+
+Disallow use of nodes with unit addresses.
+
+Update the forge test also, since it uses @ addresses.
+
+CVE-2021-27138
+
+Signed-off-by: Simon Glass 
+Reported-by: Bruce Monroe 
+Reported-by: Arie Haenel 
+Reported-by: Julien Lenoir 
+
+CVE: CVE-2021-27138
+Upstream-Status: Backport[https://github.com/u-boot/u-boot/commit/79af75f7776fc20b0d7eb6afe1e27c00fdb4b9b4]
+Signed-off-by: Scott Murray 
+
+---
+ common/image-fit-sig.c       | 22 ++++++++++++++++++++--
+ common/image-fit.c           | 20 +++++++++++++++-----
+ test/py/tests/test_fit.py    | 24 ++++++++++++------------
+ test/py/tests/vboot_forge.py | 12 ++++++------
+ 4 files changed, 53 insertions(+), 25 deletions(-)
+
+diff --git a/common/image-fit-sig.c b/common/image-fit-sig.c
+index 897e04c7a3..34ebb8edfe 100644
+--- a/common/image-fit-sig.c
++++ b/common/image-fit-sig.c
+@@ -149,6 +149,14 @@ static int fit_image_verify_sig(const void *fit, int image_noffset,
+ 	fdt_for_each_subnode(noffset, fit, image_noffset) {
+ 		const char *name = fit_get_name(fit, noffset, NULL);
+ 
++		/*
++		 * We don't support this since libfdt considers names with the
++		 * name root but different @ suffix to be equal
++		 */
++		if (strchr(name, '@')) {
++			err_msg = "Node name contains @";
++			goto error;
++		}
+ 		if (!strncmp(name, FIT_SIG_NODENAME,
+ 			     strlen(FIT_SIG_NODENAME))) {
+ 			ret = fit_image_check_sig(fit, noffset, data,
+@@ -398,9 +406,10 @@ error:
+ 	return -EPERM;
+ }
+ 
+-int fit_config_verify_required_sigs(const void *fit, int conf_noffset,
+-				    const void *sig_blob)
++static int fit_config_verify_required_sigs(const void *fit, int conf_noffset,
++					   const void *sig_blob)
+ {
++	const char *name = fit_get_name(fit, conf_noffset, NULL);
+ 	int noffset;
+ 	int sig_node;
+ 	int verified = 0;
+@@ -408,6 +417,15 @@ int fit_config_verify_required_sigs(const void *fit, int conf_noffset,
+ 	bool reqd_policy_all = true;
+ 	const char *reqd_mode;
+ 
++	/*
++	 * We don't support this since libfdt considers names with the
++	 * name root but different @ suffix to be equal
++	 */
++	if (strchr(name, '@')) {
++		printf("Configuration node '%s' contains '@'\n", name);
++		return -EPERM;
++	}
++
+ 	/* Work out what we need to verify */
+ 	sig_node = fdt_subnode_offset(sig_blob, 0, FIT_SIG_NODENAME);
+ 	if (sig_node < 0) {
+diff --git a/common/image-fit.c b/common/image-fit.c
+index adc3e551de..c3dc814115 100644
+--- a/common/image-fit.c
++++ b/common/image-fit.c
+@@ -1369,21 +1369,31 @@ error:
+  */
+ int fit_image_verify(const void *fit, int image_noffset)
+ {
++	const char *name = fit_get_name(fit, image_noffset, NULL);
+ 	const void	*data;
+ 	size_t		size;
+-	int		noffset = 0;
+ 	char		*err_msg = "";
+ 
++	if (strchr(name, '@')) {
++		/*
++		 * We don't support this since libfdt considers names with the
++		 * name root but different @ suffix to be equal
++		 */
++		err_msg = "Node name contains @";
++		goto err;
++	}
+ 	/* Get image data and data length */
+ 	if (fit_image_get_data_and_size(fit, image_noffset, &data, &size)) {
+ 		err_msg = "Can't get image data/size";
+-		printf("error!\n%s for '%s' hash node in '%s' image node\n",
+-		       err_msg, fit_get_name(fit, noffset, NULL),
+-		       fit_get_name(fit, image_noffset, NULL));
+-		return 0;
++		goto err;
+ 	}
+ 
+ 	return fit_image_verify_with_data(fit, image_noffset, data, size);
++
++err:
++	printf("error!\n%s in '%s' image node\n", err_msg,
++	       fit_get_name(fit, image_noffset, NULL));
++	return 0;
+ }
+ 
+ /**
+diff --git a/test/py/tests/test_fit.py b/test/py/tests/test_fit.py
+index 84b3f95850..6d5b43c3ba 100755
+--- a/test/py/tests/test_fit.py
++++ b/test/py/tests/test_fit.py
+@@ -17,7 +17,7 @@ base_its = '''
+         #address-cells = <1>;
+ 
+         images {
+-                kernel@1 {
++                kernel-1 {
+                         data = /incbin/("%(kernel)s");
+                         type = "kernel";
+                         arch = "sandbox";
+@@ -26,7 +26,7 @@ base_its = '''
+                         load = <0x40000>;
+                         entry = <0x8>;
+                 };
+-                kernel@2 {
++                kernel-2 {
+                         data = /incbin/("%(loadables1)s");
+                         type = "kernel";
+                         arch = "sandbox";
+@@ -35,19 +35,19 @@ base_its = '''
+                         %(loadables1_load)s
+                         entry = <0x0>;
+                 };
+-                fdt@1 {
++                fdt-1 {
+                         description = "snow";
+                         data = /incbin/("%(fdt)s");
+                         type = "flat_dt";
+                         arch = "sandbox";
+                         %(fdt_load)s
+                         compression = "%(compression)s";
+-                        signature@1 {
++                        signature-1 {
+                                 algo = "sha1,rsa2048";
+                                 key-name-hint = "dev";
+                         };
+                 };
+-                ramdisk@1 {
++                ramdisk-1 {
+                         description = "snow";
+                         data = /incbin/("%(ramdisk)s");
+                         type = "ramdisk";
+@@ -56,7 +56,7 @@ base_its = '''
+                         %(ramdisk_load)s
+                         compression = "%(compression)s";
+                 };
+-                ramdisk@2 {
++                ramdisk-2 {
+                         description = "snow";
+                         data = /incbin/("%(loadables2)s");
+                         type = "ramdisk";
+@@ -67,10 +67,10 @@ base_its = '''
+                 };
+         };
+         configurations {
+-                default = "conf@1";
+-                conf@1 {
+-                        kernel = "kernel@1";
+-                        fdt = "fdt@1";
++                default = "conf-1";
++                conf-1 {
++                        kernel = "kernel-1";
++                        fdt = "fdt-1";
+                         %(ramdisk_config)s
+                         %(loadables_config)s
+                 };
+@@ -410,7 +410,7 @@ def test_fit(u_boot_console):
+ 
+         # Try a ramdisk
+         with cons.log.section('Kernel + FDT + Ramdisk load'):
+-            params['ramdisk_config'] = 'ramdisk = "ramdisk@1";'
++            params['ramdisk_config'] = 'ramdisk = "ramdisk-1";'
+             params['ramdisk_load'] = 'load = <%#x>;' % params['ramdisk_addr']
+             fit = make_fit(mkimage, params)
+             cons.restart_uboot()
+@@ -419,7 +419,7 @@ def test_fit(u_boot_console):
+ 
+         # Configuration with some Loadables
+         with cons.log.section('Kernel + FDT + Ramdisk load + Loadables'):
+-            params['loadables_config'] = 'loadables = "kernel@2", "ramdisk@2";'
++            params['loadables_config'] = 'loadables = "kernel-2", "ramdisk-2";'
+             params['loadables1_load'] = ('load = <%#x>;' %
+                                          params['loadables1_addr'])
+             params['loadables2_load'] = ('load = <%#x>;' %
+diff --git a/test/py/tests/vboot_forge.py b/test/py/tests/vboot_forge.py
+index 0fb7ef4024..b41105bd0e 100644
+--- a/test/py/tests/vboot_forge.py
++++ b/test/py/tests/vboot_forge.py
+@@ -376,12 +376,12 @@ def manipulate(root, strblock):
+     """
+     Maliciously manipulates the structure to create a crafted FIT file
+     """
+-    # locate /images/kernel@1 (frankly, it just expects it to be the first one)
++    # locate /images/kernel-1 (frankly, it just expects it to be the first one)
+     kernel_node = root[0][0]
+     # clone it to save time filling all the properties
+     fake_kernel = kernel_node.clone()
+     # rename the node
+-    fake_kernel.name = b'kernel@2'
++    fake_kernel.name = b'kernel-2'
+     # get rid of signatures/hashes
+     fake_kernel.children = []
+     # NOTE: this simply replaces the first prop... either description or data
+@@ -391,13 +391,13 @@ def manipulate(root, strblock):
+     root[0].children.append(fake_kernel)
+ 
+     # modify the default configuration
+-    root[1].props[0].value = b'conf@2\x00'
++    root[1].props[0].value = b'conf-2\x00'
+     # clone the first (only?) configuration
+     fake_conf = root[1][0].clone()
+     # rename and change kernel and fdt properties to select the crafted kernel
+-    fake_conf.name = b'conf@2'
+-    fake_conf.props[0].value = b'kernel@2\x00'
+-    fake_conf.props[1].value = b'fdt@1\x00'
++    fake_conf.name = b'conf-2'
++    fake_conf.props[0].value = b'kernel-2\x00'
++    fake_conf.props[1].value = b'fdt-1\x00'
+     # insert the new configuration under /configurations
+     root[1].children.append(fake_conf)
+ 
diff --git a/poky/meta/recipes-bsp/u-boot/files/CVE-2021-27138-2.patch b/poky/meta/recipes-bsp/u-boot/files/CVE-2021-27138-2.patch
new file mode 100644
index 000000000..946196c37
--- /dev/null
+++ b/poky/meta/recipes-bsp/u-boot/files/CVE-2021-27138-2.patch
@@ -0,0 +1,109 @@
+From 3f04db891a353f4b127ed57279279f851c6b4917 Mon Sep 17 00:00:00 2001
+From: Simon Glass 
+Date: Mon, 15 Feb 2021 17:08:12 -0700
+Subject: [PATCH] image: Check for unit addresses in FITs
+
+Using unit addresses in a FIT is a security risk. Add a check for this
+and disallow it.
+
+CVE-2021-27138
+
+Signed-off-by: Simon Glass 
+Reported-by: Bruce Monroe 
+Reported-by: Arie Haenel 
+Reported-by: Julien Lenoir 
+
+CVE: CVE-2021-27138
+Upstream-Status: Backport[https://github.com/u-boot/u-boot/commit/3f04db891a353f4b127ed57279279f851c6b4917]
+Signed-off-by: Scott Murray 
+
+---
+ common/image-fit.c          | 56 +++++++++++++++++++++++++++++++++++++++++----
+ test/py/tests/test_vboot.py |  9 ++++----
+ 2 files changed, 57 insertions(+), 8 deletions(-)
+
+diff --git a/common/image-fit.c b/common/image-fit.c
+index bcf395f6a1..28b3d2b191 100644
+--- a/common/image-fit.c
++++ b/common/image-fit.c
+@@ -1568,6 +1568,34 @@ int fit_image_check_comp(const void *fit, int noffset, uint8_t comp)
+ 	return (comp == image_comp);
+ }
+ 
++/**
++ * fdt_check_no_at() - Check for nodes whose names contain '@'
++ *
++ * This checks the parent node and all subnodes recursively
++ *
++ * @fit: FIT to check
++ * @parent: Parent node to check
++ * @return 0 if OK, -EADDRNOTAVAIL is a node has a name containing '@'
++ */
++static int fdt_check_no_at(const void *fit, int parent)
++{
++	const char *name;
++	int node;
++	int ret;
++
++	name = fdt_get_name(fit, parent, NULL);
++	if (!name || strchr(name, '@'))
++		return -EADDRNOTAVAIL;
++
++	fdt_for_each_subnode(node, fit, parent) {
++		ret = fdt_check_no_at(fit, node);
++		if (ret)
++			return ret;
++	}
++
++	return 0;
++}
++
+ int fit_check_format(const void *fit, ulong size)
+ {
+ 	int ret;
+@@ -1589,10 +1617,27 @@ int fit_check_format(const void *fit, ulong size)
+ 		if (size == IMAGE_SIZE_INVAL)
+ 			size = fdt_totalsize(fit);
+ 		ret = fdt_check_full(fit, size);
++		if (ret)
++			ret = -EINVAL;
++
++		/*
++		 * U-Boot stopped using unit addressed in 2017. Since libfdt
++		 * can match nodes ignoring any unit address, signature
++		 * verification can see the wrong node if one is inserted with
++		 * the same name as a valid node but with a unit address
++		 * attached. Protect against this by disallowing unit addresses.
++		 */
++		if (!ret && CONFIG_IS_ENABLED(FIT_SIGNATURE)) {
++			ret = fdt_check_no_at(fit, 0);
+ 
++			if (ret) {
++				log_debug("FIT check error %d\n", ret);
++				return ret;
++			}
++		}
+ 		if (ret) {
+ 			log_debug("FIT check error %d\n", ret);
+-			return -EINVAL;
++			return ret;
+ 		}
+ 	}
+ 
+@@ -1955,10 +2000,13 @@ int fit_image_load(bootm_headers_t *images, ulong addr,
+ 	printf("## Loading %s from FIT Image at %08lx ...\n", prop_name, addr);
+ 
+ 	bootstage_mark(bootstage_id + BOOTSTAGE_SUB_FORMAT);
+-	if (fit_check_format(fit, IMAGE_SIZE_INVAL)) {
+-		printf("Bad FIT %s image format!\n", prop_name);
++	ret = fit_check_format(fit, IMAGE_SIZE_INVAL);
++	if (ret) {
++		printf("Bad FIT %s image format! (err=%d)\n", prop_name, ret);
++		if (CONFIG_IS_ENABLED(FIT_SIGNATURE) && ret == -EADDRNOTAVAIL)
++			printf("Signature checking prevents use of unit addresses (@) in nodes\n");
+ 		bootstage_error(bootstage_id + BOOTSTAGE_SUB_FORMAT);
+-		return -ENOEXEC;
++		return ret;
+ 	}
+ 	bootstage_mark(bootstage_id + BOOTSTAGE_SUB_FORMAT_OK);
+ 	if (fit_uname) {
diff --git a/poky/meta/recipes-bsp/u-boot/u-boot-common.inc b/poky/meta/recipes-bsp/u-boot/u-boot-common.inc
index 5a8035f43..993478a73 100644
--- a/poky/meta/recipes-bsp/u-boot/u-boot-common.inc
+++ b/poky/meta/recipes-bsp/u-boot/u-boot-common.inc
@@ -15,6 +15,13 @@ PE = "1"
 SRCREV = "c4fddedc48f336eabc4ce3f74940e6aa372de18c"
 
 SRC_URI = "git://git.denx.de/u-boot.git \
+           file://0001-add-valid-fdt-check.patch \
+           file://CVE-2021-27097-1.patch \
+           file://CVE-2021-27097-2.patch \
+           file://CVE-2021-27097-3.patch \
+           file://CVE-2021-27097-4.patch \
+           file://CVE-2021-27138-1.patch \
+           file://CVE-2021-27138-2.patch \
           "
 
 S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-bsp/u-boot/u-boot_2021.01.bb b/poky/meta/recipes-bsp/u-boot/u-boot_2021.01.bb
index 2eef1e900..bbbc99bf8 100644
--- a/poky/meta/recipes-bsp/u-boot/u-boot_2021.01.bb
+++ b/poky/meta/recipes-bsp/u-boot/u-boot_2021.01.bb
@@ -1,4 +1,6 @@
 require u-boot-common.inc
 require u-boot.inc
 
+SRC_URI_append = " file://0001-riscv32-Use-double-float-ABI-for-rv32.patch"
+
 DEPENDS += "bc-native dtc-native python3-setuptools-native"
diff --git a/poky/meta/recipes-connectivity/bind/bind-9.16.11/0001-avoid-start-failure-with-bind-user.patch b/poky/meta/recipes-connectivity/bind/bind-9.16.11/0001-avoid-start-failure-with-bind-user.patch
deleted file mode 100644
index 8db96ec04..000000000
--- a/poky/meta/recipes-connectivity/bind/bind-9.16.11/0001-avoid-start-failure-with-bind-user.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 31dde3562f287429eea94b77250d184818b49063 Mon Sep 17 00:00:00 2001
-From: Chen Qi 
-Date: Mon, 15 Oct 2018 16:55:09 +0800
-Subject: [PATCH] avoid start failure with bind user
-
-Upstream-Status: Pending
-
-Signed-off-by: Chen Qi 
----
- init.d | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/init.d b/init.d
-index b2eec60..6e03936 100644
---- a/init.d
-+++ b/init.d
-@@ -57,6 +57,7 @@ case "$1" in
- 	modprobe capability >/dev/null 2>&1 || true
- 	if [ ! -f /etc/bind/rndc.key ]; then
- 	    /usr/sbin/rndc-confgen -a -b 512 -r /dev/urandom
-+	    chown root:bind /etc/bind/rndc.key >/dev/null 2>&1 || true
- 	    chmod 0640 /etc/bind/rndc.key
- 	fi
- 	if [ -f /var/run/named/named.pid ]; then
--- 
-2.7.4
-
diff --git a/poky/meta/recipes-connectivity/bind/bind-9.16.11/0001-named-lwresd-V-and-start-log-hide-build-options.patch b/poky/meta/recipes-connectivity/bind/bind-9.16.11/0001-named-lwresd-V-and-start-log-hide-build-options.patch
deleted file mode 100644
index 5bcc16c9b..000000000
--- a/poky/meta/recipes-connectivity/bind/bind-9.16.11/0001-named-lwresd-V-and-start-log-hide-build-options.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From a3af4a405baf5ff582e82aaba392dd9667d94bdc Mon Sep 17 00:00:00 2001
-From: Hongxu Jia 
-Date: Mon, 27 Aug 2018 21:24:20 +0800
-Subject: [PATCH] `named/lwresd -V' and start log hide build options
-
-The build options expose build path directories, so hide them.
-[snip]
-$ named -V
-|built by make with *** (options are hidden)
-[snip]
-
-Upstream-Status: Inappropriate [oe-core specific]
-
-Signed-off-by: Hongxu Jia 
-
-Refreshed for 9.16.0
-Signed-off-by: Armin Kuster 
-
----
- bin/named/include/named/globals.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-Index: bind-9.16.0/bin/named/include/named/globals.h
-===================================================================
---- bind-9.16.0.orig/bin/named/include/named/globals.h
-+++ bind-9.16.0/bin/named/include/named/globals.h
-@@ -69,7 +69,7 @@ EXTERN const char *named_g_version     I
- EXTERN const char *named_g_product     INIT(PRODUCT);
- EXTERN const char *named_g_description INIT(DESCRIPTION);
- EXTERN const char *named_g_srcid       INIT(SRCID);
--EXTERN const char *named_g_configargs  INIT(CONFIGARGS);
-+EXTERN const char *named_g_configargs  INIT("*** (options are hidden)");
- EXTERN const char *named_g_builder     INIT(BUILDER);
- EXTERN in_port_t named_g_port	       INIT(0);
- EXTERN isc_dscp_t named_g_dscp	       INIT(-1);
diff --git a/poky/meta/recipes-connectivity/bind/bind-9.16.11/bind-ensure-searching-for-json-headers-searches-sysr.patch b/poky/meta/recipes-connectivity/bind/bind-9.16.11/bind-ensure-searching-for-json-headers-searches-sysr.patch
deleted file mode 100644
index f9cdc7ca4..000000000
--- a/poky/meta/recipes-connectivity/bind/bind-9.16.11/bind-ensure-searching-for-json-headers-searches-sysr.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From edda20fb5a6e88548f85e39d34d6c074306e15bc Mon Sep 17 00:00:00 2001
-From: Paul Gortmaker 
-Date: Tue, 9 Jun 2015 11:22:00 -0400
-Subject: [PATCH] bind: ensure searching for json headers searches sysroot
-
-Bind can fail configure by detecting headers w/o libs[1], or
-it can fail the host contamination check as per below:
-
-ERROR: This autoconf log indicates errors, it looked at host include and/or library paths while determining system capabilities.
-Rerun configure task after fixing this. The path was 'build/tmp/work/core2-64-poky-linux/bind/9.10.2-r1/build'
-ERROR: Function failed: do_qa_configure
-ERROR: Logfile of failure stored in: build/tmp/work/core2-64-poky-linux/bind/9.10.2-r1/temp/log.do_configure.5242
-ERROR: Task 5 (meta/recipes-connectivity/bind/bind_9.10.2.bb, do_configure) failed with exit code '1'
-NOTE: Tasks Summary: Attempted 773 tasks of which 768 didn't need to be rerun and 1 failed.
-No currently running tasks (773 of 781)
-
-Summary: 1 task failed:
-  /meta/recipes-connectivity/bind/bind_9.10.2.bb, do_configure
-
-One way to fix it would be to unconditionally disable json in bind
-configure[2] but here we fix it by using the path to where we would
-put the header if we had json in the sysroot, in case someone wants
-to make use of the combination some day.
-
-[1] https://trac.macports.org/ticket/45305
-[2] https://trac.macports.org/changeset/126406
-
-Upstream-Status: Inappropriate [OE Specific]
-Signed-off-by: Paul Gortmaker 
-
----
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-Index: bind-9.16.4/configure.ac
-===================================================================
---- bind-9.16.4.orig/configure.ac
-+++ bind-9.16.4/configure.ac
-@@ -1232,7 +1232,7 @@ case "$use_lmdb" in
- 		LMDB_LIBS=""
- 		;;
- 	auto|yes)
--		for d in /usr /usr/local /opt/local
-+		for d in "${STAGING_INCDIR}"
- 		do
- 			if test -f "${d}/include/lmdb.h"
- 			then
diff --git a/poky/meta/recipes-connectivity/bind/bind-9.16.11/bind9 b/poky/meta/recipes-connectivity/bind/bind-9.16.11/bind9
deleted file mode 100644
index 968679ff7..000000000
--- a/poky/meta/recipes-connectivity/bind/bind-9.16.11/bind9
+++ /dev/null
@@ -1,2 +0,0 @@
-# startup options for the server
-OPTIONS="-u bind"
diff --git a/poky/meta/recipes-connectivity/bind/bind-9.16.11/conf.patch b/poky/meta/recipes-connectivity/bind/bind-9.16.11/conf.patch
deleted file mode 100644
index aad345f9f..000000000
--- a/poky/meta/recipes-connectivity/bind/bind-9.16.11/conf.patch
+++ /dev/null
@@ -1,330 +0,0 @@
-Upstream-Status: Inappropriate [configuration]
-
-the patch is imported from openembedded project
-
-11/30/2010 - Qing He 
-
-diff -urN bind-9.3.1.orig/conf/db.0 bind-9.3.1/conf/db.0
---- bind-9.3.1.orig/conf/db.0	1970-01-01 01:00:00.000000000 +0100
-+++ bind-9.3.1/conf/db.0	2005-07-10 22:14:00.000000000 +0200
-@@ -0,0 +1,12 @@
-+;
-+; BIND reverse data file for broadcast zone
-+;
-+$TTL	604800
-+@	IN	SOA	localhost. root.localhost. (
-+			      1		; Serial
-+			 604800		; Refresh
-+			  86400		; Retry
-+			2419200		; Expire
-+			 604800 )	; Negative Cache TTL
-+;
-+@	IN	NS	localhost.
-diff -urN bind-9.3.1.orig/conf/db.127 bind-9.3.1/conf/db.127
---- bind-9.3.1.orig/conf/db.127	1970-01-01 01:00:00.000000000 +0100
-+++ bind-9.3.1/conf/db.127	2005-07-10 22:14:00.000000000 +0200
-@@ -0,0 +1,13 @@
-+;
-+; BIND reverse data file for local loopback interface
-+;
-+$TTL	604800
-+@	IN	SOA	localhost. root.localhost. (
-+			      1		; Serial
-+			 604800		; Refresh
-+			  86400		; Retry
-+			2419200		; Expire
-+			 604800 )	; Negative Cache TTL
-+;
-+@	IN	NS	localhost.
-+1.0.0	IN	PTR	localhost.
-diff -urN bind-9.3.1.orig/conf/db.empty bind-9.3.1/conf/db.empty
---- bind-9.3.1.orig/conf/db.empty	1970-01-01 01:00:00.000000000 +0100
-+++ bind-9.3.1/conf/db.empty	2005-07-10 22:14:00.000000000 +0200
-@@ -0,0 +1,14 @@
-+; BIND reverse data file for empty rfc1918 zone
-+;
-+; DO NOT EDIT THIS FILE - it is used for multiple zones.
-+; Instead, copy it, edit named.conf, and use that copy.
-+;
-+$TTL	86400
-+@	IN	SOA	localhost. root.localhost. (
-+			      1		; Serial
-+			 604800		; Refresh
-+			  86400		; Retry
-+			2419200		; Expire
-+			  86400 )	; Negative Cache TTL
-+;
-+@	IN	NS	localhost.
-diff -urN bind-9.3.1.orig/conf/db.255 bind-9.3.1/conf/db.255
---- bind-9.3.1.orig/conf/db.255	1970-01-01 01:00:00.000000000 +0100
-+++ bind-9.3.1/conf/db.255	2005-07-10 22:14:00.000000000 +0200
-@@ -0,0 +1,12 @@
-+;
-+; BIND reserve data file for broadcast zone
-+;
-+$TTL	604800
-+@	IN	SOA	localhost. root.localhost. (
-+			      1		; Serial
-+			 604800		; Refresh
-+			  86400		; Retry
-+			2419200		; Expire
-+			 604800 )	; Negative Cache TTL
-+;
-+@	IN	NS	localhost.
-diff -urN bind-9.3.1.orig/conf/db.local bind-9.3.1/conf/db.local
---- bind-9.3.1.orig/conf/db.local	1970-01-01 01:00:00.000000000 +0100
-+++ bind-9.3.1/conf/db.local	2005-07-10 22:14:00.000000000 +0200
-@@ -0,0 +1,13 @@
-+;
-+; BIND data file for local loopback interface
-+;
-+$TTL	604800
-+@	IN	SOA	localhost. root.localhost. (
-+			      1		; Serial
-+			 604800		; Refresh
-+			  86400		; Retry
-+			2419200		; Expire
-+			 604800 )	; Negative Cache TTL
-+;
-+@	IN	NS	localhost.
-+@	IN	A	127.0.0.1
-diff -urN bind-9.3.1.orig/conf/db.root bind-9.3.1/conf/db.root
---- bind-9.3.1.orig/conf/db.root	1970-01-01 01:00:00.000000000 +0100
-+++ bind-9.3.1/conf/db.root	2005-07-10 22:14:00.000000000 +0200
-@@ -0,0 +1,45 @@
-+
-+; <<>> DiG 9.2.3 <<>> ns . @a.root-servers.net.
-+;; global options:  printcmd
-+;; Got answer:
-+;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 18944
-+;; flags: qr aa rd; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 13
-+
-+;; QUESTION SECTION:
-+;.				IN	NS
-+
-+;; ANSWER SECTION:
-+.			518400	IN	NS	A.ROOT-SERVERS.NET.
-+.			518400	IN	NS	B.ROOT-SERVERS.NET.
-+.			518400	IN	NS	C.ROOT-SERVERS.NET.
-+.			518400	IN	NS	D.ROOT-SERVERS.NET.
-+.			518400	IN	NS	E.ROOT-SERVERS.NET.
-+.			518400	IN	NS	F.ROOT-SERVERS.NET.
-+.			518400	IN	NS	G.ROOT-SERVERS.NET.
-+.			518400	IN	NS	H.ROOT-SERVERS.NET.
-+.			518400	IN	NS	I.ROOT-SERVERS.NET.
-+.			518400	IN	NS	J.ROOT-SERVERS.NET.
-+.			518400	IN	NS	K.ROOT-SERVERS.NET.
-+.			518400	IN	NS	L.ROOT-SERVERS.NET.
-+.			518400	IN	NS	M.ROOT-SERVERS.NET.
-+
-+;; ADDITIONAL SECTION:
-+A.ROOT-SERVERS.NET.	3600000	IN	A	198.41.0.4
-+B.ROOT-SERVERS.NET.	3600000	IN	A	192.228.79.201
-+C.ROOT-SERVERS.NET.	3600000	IN	A	192.33.4.12
-+D.ROOT-SERVERS.NET.	3600000	IN	A	128.8.10.90
-+E.ROOT-SERVERS.NET.	3600000	IN	A	192.203.230.10
-+F.ROOT-SERVERS.NET.	3600000	IN	A	192.5.5.241
-+G.ROOT-SERVERS.NET.	3600000	IN	A	192.112.36.4
-+H.ROOT-SERVERS.NET.	3600000	IN	A	128.63.2.53
-+I.ROOT-SERVERS.NET.	3600000	IN	A	192.36.148.17
-+J.ROOT-SERVERS.NET.	3600000	IN	A	192.58.128.30
-+K.ROOT-SERVERS.NET.	3600000	IN	A	193.0.14.129
-+L.ROOT-SERVERS.NET.	3600000	IN	A	198.32.64.12
-+M.ROOT-SERVERS.NET.	3600000	IN	A	202.12.27.33
-+
-+;; Query time: 81 msec
-+;; SERVER: 198.41.0.4#53(a.root-servers.net.)
-+;; WHEN: Sun Feb  1 11:27:14 2004
-+;; MSG SIZE  rcvd: 436
-+
-diff -urN bind-9.3.1.orig/conf/named.conf bind-9.3.1/conf/named.conf
---- bind-9.3.1.orig/conf/named.conf	1970-01-01 01:00:00.000000000 +0100
-+++ bind-9.3.1/conf/named.conf	2005-07-10 22:33:46.000000000 +0200
-@@ -0,0 +1,49 @@
-+// This is the primary configuration file for the BIND DNS server named.
-+//
-+// If you are just adding zones, please do that in /etc/bind/named.conf.local
-+
-+include "/etc/bind/named.conf.options";
-+
-+// prime the server with knowledge of the root servers
-+zone "." {
-+	type hint;
-+	file "/etc/bind/db.root";
-+};
-+
-+// be authoritative for the localhost forward and reverse zones, and for
-+// broadcast zones as per RFC 1912
-+
-+zone "localhost" {
-+	type master;
-+	file "/etc/bind/db.local";
-+};
-+
-+zone "127.in-addr.arpa" {
-+	type master;
-+	file "/etc/bind/db.127";
-+};
-+
-+zone "0.in-addr.arpa" {
-+	type master;
-+	file "/etc/bind/db.0";
-+};
-+
-+zone "255.in-addr.arpa" {
-+	type master;
-+	file "/etc/bind/db.255";
-+};
-+
-+// zone "com" { type delegation-only; };
-+// zone "net" { type delegation-only; };
-+
-+// From the release notes:
-+//  Because many of our users are uncomfortable receiving undelegated answers
-+//  from root or top level domains, other than a few for whom that behaviour
-+//  has been trusted and expected for quite some length of time, we have now
-+//  introduced the "root-delegations-only" feature which applies delegation-only
-+//  logic to all top level domains, and to the root domain.  An exception list
-+//  should be specified, including "MUSEUM" and "DE", and any other top level
-+//  domains from whom undelegated responses are expected and trusted.
-+// root-delegation-only exclude { "DE"; "MUSEUM"; };
-+
-+include "/etc/bind/named.conf.local";
-diff -urN bind-9.3.1.orig/conf/named.conf.local bind-9.3.1/conf/named.conf.local
---- bind-9.3.1.orig/conf/named.conf.local	1970-01-01 01:00:00.000000000 +0100
-+++ bind-9.3.1/conf/named.conf.local	2005-07-10 22:14:06.000000000 +0200
-@@ -0,0 +1,8 @@
-+//
-+// Do any local configuration here
-+//
-+
-+// Consider adding the 1918 zones here, if they are not used in your
-+// organization
-+//include "/etc/bind/zones.rfc1918";
-+
-diff -urN bind-9.3.1.orig/conf/named.conf.options bind-9.3.1/conf/named.conf.options
---- bind-9.3.1.orig/conf/named.conf.options	1970-01-01 01:00:00.000000000 +0100
-+++ bind-9.3.1/conf/named.conf.options	2005-07-10 22:14:06.000000000 +0200
-@@ -0,0 +1,24 @@
-+options {
-+	directory "/var/cache/bind";
-+
-+	// If there is a firewall between you and nameservers you want
-+	// to talk to, you might need to uncomment the query-source
-+	// directive below.  Previous versions of BIND always asked
-+	// questions using port 53, but BIND 8.1 and later use an unprivileged
-+	// port by default.
-+
-+	// query-source address * port 53;
-+
-+	// If your ISP provided one or more IP addresses for stable 
-+	// nameservers, you probably want to use them as forwarders.  
-+	// Uncomment the following block, and insert the addresses replacing 
-+	// the all-0's placeholder.
-+
-+	// forwarders {
-+	// 	0.0.0.0;
-+	// };
-+
-+	auth-nxdomain no;    # conform to RFC1035
-+
-+};
-+
-diff -urN bind-9.3.1.orig/conf/zones.rfc1918 bind-9.3.1/conf/zones.rfc1918
---- bind-9.3.1.orig/conf/zones.rfc1918	1970-01-01 01:00:00.000000000 +0100
-+++ bind-9.3.1/conf/zones.rfc1918	2005-07-10 22:14:10.000000000 +0200
-@@ -0,0 +1,20 @@
-+zone "10.in-addr.arpa"      { type master; file "/etc/bind/db.empty"; };
-+ 
-+zone "16.172.in-addr.arpa"  { type master; file "/etc/bind/db.empty"; };
-+zone "17.172.in-addr.arpa"  { type master; file "/etc/bind/db.empty"; };
-+zone "18.172.in-addr.arpa"  { type master; file "/etc/bind/db.empty"; };
-+zone "19.172.in-addr.arpa"  { type master; file "/etc/bind/db.empty"; };
-+zone "20.172.in-addr.arpa"  { type master; file "/etc/bind/db.empty"; };
-+zone "21.172.in-addr.arpa"  { type master; file "/etc/bind/db.empty"; };
-+zone "22.172.in-addr.arpa"  { type master; file "/etc/bind/db.empty"; };
-+zone "23.172.in-addr.arpa"  { type master; file "/etc/bind/db.empty"; };
-+zone "24.172.in-addr.arpa"  { type master; file "/etc/bind/db.empty"; };
-+zone "25.172.in-addr.arpa"  { type master; file "/etc/bind/db.empty"; };
-+zone "26.172.in-addr.arpa"  { type master; file "/etc/bind/db.empty"; };
-+zone "27.172.in-addr.arpa"  { type master; file "/etc/bind/db.empty"; };
-+zone "28.172.in-addr.arpa"  { type master; file "/etc/bind/db.empty"; };
-+zone "29.172.in-addr.arpa"  { type master; file "/etc/bind/db.empty"; };
-+zone "30.172.in-addr.arpa"  { type master; file "/etc/bind/db.empty"; };
-+zone "31.172.in-addr.arpa"  { type master; file "/etc/bind/db.empty"; };
-+
-+zone "168.192.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
-diff -urN bind-9.3.1.orig/init.d bind-9.3.1/init.d
---- bind-9.3.1.orig/init.d	1970-01-01 01:00:00.000000000 +0100
-+++ bind-9.3.1/init.d	2005-07-10 23:09:58.000000000 +0200
-@@ -0,0 +1,70 @@
-+#!/bin/sh
-+
-+PATH=/sbin:/bin:/usr/sbin:/usr/bin
-+
-+# for a chrooted server: "-u bind -t /var/lib/named"
-+# Don't modify this line, change or create /etc/default/bind9.
-+OPTIONS=""
-+
-+test -f /etc/default/bind9 && . /etc/default/bind9
-+
-+test -x /usr/sbin/rndc || exit 0
-+
-+case "$1" in
-+    start)
-+	echo -n "Starting domain name service: named"
-+
-+	modprobe capability >/dev/null 2>&1 || true
-+	if [ ! -f /etc/bind/rndc.key ]; then
-+	    /usr/sbin/rndc-confgen -a -b 512 -r /dev/urandom
-+	    chmod 0640 /etc/bind/rndc.key
-+	fi
-+	if [ -f /var/run/named/named.pid ]; then
-+	    ps `cat /var/run/named/named.pid` > /dev/null && exit 1
-+	fi
-+
-+	# dirs under /var/run can go away on reboots.
-+	mkdir -p /var/run/named
-+	mkdir -p /var/cache/bind
-+	chmod 775 /var/run/named
-+	chown root:bind /var/run/named >/dev/null 2>&1 || true
-+
-+	if [ ! -x /usr/sbin/named ]; then
-+	    echo "named binary missing - not starting"
-+	    exit 1
-+	fi
-+	if start-stop-daemon --start --quiet --exec /usr/sbin/named \
-+		--pidfile /var/run/named/named.pid -- $OPTIONS; then
-+	    if [ -x /sbin/resolvconf ] ; then
-+		echo "nameserver 127.0.0.1" | /sbin/resolvconf -a lo
-+	    fi
-+	fi
-+	echo "."	
-+    ;;
-+
-+    stop)
-+	echo -n "Stopping domain name service: named"
-+	if [ -x /sbin/resolvconf ]; then
-+	    /sbin/resolvconf -d lo
-+	fi
-+	/usr/sbin/rndc stop >/dev/null 2>&1
-+	echo "."	
-+    ;;
-+
-+    reload)
-+	/usr/sbin/rndc reload
-+    ;;
-+
-+    restart|force-reload)
-+	$0 stop
-+	sleep 2
-+	$0 start
-+    ;;
-+    
-+    *)
-+	echo "Usage: /etc/init.d/bind {start|stop|reload|restart|force-reload}" >&2
-+	exit 1
-+    ;;
-+esac
-+
-+exit 0
diff --git a/poky/meta/recipes-connectivity/bind/bind-9.16.11/generate-rndc-key.sh b/poky/meta/recipes-connectivity/bind/bind-9.16.11/generate-rndc-key.sh
deleted file mode 100644
index 633e29c0e..000000000
--- a/poky/meta/recipes-connectivity/bind/bind-9.16.11/generate-rndc-key.sh
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/bin/sh
-
-if [ ! -s /etc/bind/rndc.key ]; then
-    echo -n "Generating /etc/bind/rndc.key:"
-    /usr/sbin/rndc-confgen -a -b 512
-    chown root:bind /etc/bind/rndc.key
-    chmod 0640 /etc/bind/rndc.key
-fi
diff --git a/poky/meta/recipes-connectivity/bind/bind-9.16.11/init.d-add-support-for-read-only-rootfs.patch b/poky/meta/recipes-connectivity/bind/bind-9.16.11/init.d-add-support-for-read-only-rootfs.patch
deleted file mode 100644
index 11db95ede..000000000
--- a/poky/meta/recipes-connectivity/bind/bind-9.16.11/init.d-add-support-for-read-only-rootfs.patch
+++ /dev/null
@@ -1,65 +0,0 @@
-Subject: init.d: add support for read-only rootfs
-
-Upstream-Status: Inappropriate [oe specific]
-
-Signed-off-by: Chen Qi 
----
- init.d |   40 ++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 40 insertions(+)
-
-diff --git a/init.d b/init.d
-index 0111ed4..24677c8 100644
---- a/init.d
-+++ b/init.d
-@@ -6,8 +6,48 @@ PATH=/sbin:/bin:/usr/sbin:/usr/bin
- # Don't modify this line, change or create /etc/default/bind9.
- OPTIONS=""
- 
-+test -f /etc/default/rcS && . /etc/default/rcS
- test -f /etc/default/bind9 && . /etc/default/bind9
- 
-+# This function is here because it's possible that /var and / are on different partitions.
-+is_on_read_only_partition () {
-+    DIRECTORY=$1
-+    dir=`readlink -f $DIRECTORY`
-+    while true; do
-+	if [ ! -d "$dir" ]; then
-+	    echo "ERROR: $dir is not a directory"
-+	    exit 1
-+	else
-+	    for flag in `awk -v dir=$dir '{ if ($2 == dir) { print "FOUND"; split($4,FLAGS,",") } }; \
-+		END { for (f in FLAGS) print FLAGS[f] }' < /proc/mounts`; do
-+		[ "$flag" = "FOUND" ] && partition="read-write"
-+		[ "$flag" = "ro" ] && { partition="read-only"; break; }
-+	    done
-+	    if [ "$dir" = "/" -o -n "$partition" ]; then
-+		break
-+	    else
-+		dir=`dirname $dir`
-+	    fi
-+	fi
-+    done
-+    [ "$partition" = "read-only" ] && echo "yes" || echo "no"
-+}
-+
-+bind_mount () {
-+    olddir=$1
-+    newdir=$2
-+    mkdir -p $olddir
-+    cp -a $newdir/* $olddir
-+    mount --bind $olddir $newdir
-+}
-+
-+# Deal with read-only rootfs
-+if [ "$ROOTFS_READ_ONLY" = "yes" ]; then
-+    [ "$VERBOSE" != "no" ] && echo "WARN: start bind service in read-only rootfs"
-+    [ `is_on_read_only_partition /etc/bind` = "yes" ] && bind_mount /var/volatile/bind/etc /etc/bind
-+    [ `is_on_read_only_partition /var/named` = "yes" ] && bind_mount /var/volatile/bind/named /var/named
-+fi
-+
- test -x /usr/sbin/rndc || exit 0
- 
- case "$1" in
--- 
-1.7.9.5
-
diff --git a/poky/meta/recipes-connectivity/bind/bind-9.16.11/make-etc-initd-bind-stop-work.patch b/poky/meta/recipes-connectivity/bind/bind-9.16.11/make-etc-initd-bind-stop-work.patch
deleted file mode 100644
index 146f3e35d..000000000
--- a/poky/meta/recipes-connectivity/bind/bind-9.16.11/make-etc-initd-bind-stop-work.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-bind: make "/etc/init.d/bind stop" work
-
-Upstream-Status: Inappropriate [configuration]
-
-Add some configurations, make rndc command be able to controls
-the named daemon.
-
-Signed-off-by: Roy Li 
----
- conf/named.conf |    5 +++++
- conf/rndc.conf  |    5 +++++
- 2 files changed, 10 insertions(+), 0 deletions(-)
- create mode 100644 conf/rndc.conf
-
-diff --git a/conf/named.conf b/conf/named.conf
-index 95829cf..c8899e7 100644
---- a/conf/named.conf
-+++ b/conf/named.conf
-@@ -47,3 +47,8 @@ zone "255.in-addr.arpa" {
- // root-delegation-only exclude { "DE"; "MUSEUM"; };
- 
- include "/etc/bind/named.conf.local";
-+include "/etc/bind/rndc.key" ;
-+controls {
-+	inet 127.0.0.1 allow { localhost; }
-+	keys { rndc-key; };
-+};
-diff --git a/conf/rndc.conf b/conf/rndc.conf
-new file mode 100644
-index 0000000..a0b481d
---- /dev/null
-+++ b/conf/rndc.conf
-@@ -0,0 +1,5 @@
-+include "/etc/bind/rndc.key";
-+options {
-+	default-server  localhost;
-+	default-key     rndc-key;
-+};
-
--- 
-1.7.5.4
-
diff --git a/poky/meta/recipes-connectivity/bind/bind-9.16.11/named.service b/poky/meta/recipes-connectivity/bind/bind-9.16.11/named.service
deleted file mode 100644
index cda56ef01..000000000
--- a/poky/meta/recipes-connectivity/bind/bind-9.16.11/named.service
+++ /dev/null
@@ -1,22 +0,0 @@
-[Unit]
-Description=Berkeley Internet Name Domain (DNS)
-Wants=nss-lookup.target
-Before=nss-lookup.target
-After=network.target
-
-[Service]
-Type=forking
-EnvironmentFile=-/etc/default/bind9
-PIDFile=/run/named/named.pid
-
-ExecStartPre=@SBINDIR@/generate-rndc-key.sh
-ExecStart=@SBINDIR@/named $OPTIONS
-
-ExecReload=@BASE_BINDIR@/sh -c '@SBINDIR@/rndc reload > /dev/null 2>&1 || @BASE_BINDIR@/kill -HUP $MAINPID'
-
-ExecStop=@BASE_BINDIR@/sh -c '@SBINDIR@/rndc stop > /dev/null 2>&1 || @BASE_BINDIR@/kill -TERM $MAINPID'
-
-PrivateTmp=true
-
-[Install]
-WantedBy=multi-user.target
diff --git a/poky/meta/recipes-connectivity/bind/bind-9.16.12/0001-avoid-start-failure-with-bind-user.patch b/poky/meta/recipes-connectivity/bind/bind-9.16.12/0001-avoid-start-failure-with-bind-user.patch
new file mode 100644
index 000000000..8db96ec04
--- /dev/null
+++ b/poky/meta/recipes-connectivity/bind/bind-9.16.12/0001-avoid-start-failure-with-bind-user.patch
@@ -0,0 +1,27 @@
+From 31dde3562f287429eea94b77250d184818b49063 Mon Sep 17 00:00:00 2001
+From: Chen Qi 
+Date: Mon, 15 Oct 2018 16:55:09 +0800
+Subject: [PATCH] avoid start failure with bind user
+
+Upstream-Status: Pending
+
+Signed-off-by: Chen Qi 
+---
+ init.d | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/init.d b/init.d
+index b2eec60..6e03936 100644
+--- a/init.d
++++ b/init.d
+@@ -57,6 +57,7 @@ case "$1" in
+ 	modprobe capability >/dev/null 2>&1 || true
+ 	if [ ! -f /etc/bind/rndc.key ]; then
+ 	    /usr/sbin/rndc-confgen -a -b 512 -r /dev/urandom
++	    chown root:bind /etc/bind/rndc.key >/dev/null 2>&1 || true
+ 	    chmod 0640 /etc/bind/rndc.key
+ 	fi
+ 	if [ -f /var/run/named/named.pid ]; then
+-- 
+2.7.4
+
diff --git a/poky/meta/recipes-connectivity/bind/bind-9.16.12/0001-named-lwresd-V-and-start-log-hide-build-options.patch b/poky/meta/recipes-connectivity/bind/bind-9.16.12/0001-named-lwresd-V-and-start-log-hide-build-options.patch
new file mode 100644
index 000000000..5bcc16c9b
--- /dev/null
+++ b/poky/meta/recipes-connectivity/bind/bind-9.16.12/0001-named-lwresd-V-and-start-log-hide-build-options.patch
@@ -0,0 +1,35 @@
+From a3af4a405baf5ff582e82aaba392dd9667d94bdc Mon Sep 17 00:00:00 2001
+From: Hongxu Jia 
+Date: Mon, 27 Aug 2018 21:24:20 +0800
+Subject: [PATCH] `named/lwresd -V' and start log hide build options
+
+The build options expose build path directories, so hide them.
+[snip]
+$ named -V
+|built by make with *** (options are hidden)
+[snip]
+
+Upstream-Status: Inappropriate [oe-core specific]
+
+Signed-off-by: Hongxu Jia 
+
+Refreshed for 9.16.0
+Signed-off-by: Armin Kuster 
+
+---
+ bin/named/include/named/globals.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+Index: bind-9.16.0/bin/named/include/named/globals.h
+===================================================================
+--- bind-9.16.0.orig/bin/named/include/named/globals.h
++++ bind-9.16.0/bin/named/include/named/globals.h
+@@ -69,7 +69,7 @@ EXTERN const char *named_g_version     I
+ EXTERN const char *named_g_product     INIT(PRODUCT);
+ EXTERN const char *named_g_description INIT(DESCRIPTION);
+ EXTERN const char *named_g_srcid       INIT(SRCID);
+-EXTERN const char *named_g_configargs  INIT(CONFIGARGS);
++EXTERN const char *named_g_configargs  INIT("*** (options are hidden)");
+ EXTERN const char *named_g_builder     INIT(BUILDER);
+ EXTERN in_port_t named_g_port	       INIT(0);
+ EXTERN isc_dscp_t named_g_dscp	       INIT(-1);
diff --git a/poky/meta/recipes-connectivity/bind/bind-9.16.12/bind-ensure-searching-for-json-headers-searches-sysr.patch b/poky/meta/recipes-connectivity/bind/bind-9.16.12/bind-ensure-searching-for-json-headers-searches-sysr.patch
new file mode 100644
index 000000000..f9cdc7ca4
--- /dev/null
+++ b/poky/meta/recipes-connectivity/bind/bind-9.16.12/bind-ensure-searching-for-json-headers-searches-sysr.patch
@@ -0,0 +1,47 @@
+From edda20fb5a6e88548f85e39d34d6c074306e15bc Mon Sep 17 00:00:00 2001
+From: Paul Gortmaker 
+Date: Tue, 9 Jun 2015 11:22:00 -0400
+Subject: [PATCH] bind: ensure searching for json headers searches sysroot
+
+Bind can fail configure by detecting headers w/o libs[1], or
+it can fail the host contamination check as per below:
+
+ERROR: This autoconf log indicates errors, it looked at host include and/or library paths while determining system capabilities.
+Rerun configure task after fixing this. The path was 'build/tmp/work/core2-64-poky-linux/bind/9.10.2-r1/build'
+ERROR: Function failed: do_qa_configure
+ERROR: Logfile of failure stored in: build/tmp/work/core2-64-poky-linux/bind/9.10.2-r1/temp/log.do_configure.5242
+ERROR: Task 5 (meta/recipes-connectivity/bind/bind_9.10.2.bb, do_configure) failed with exit code '1'
+NOTE: Tasks Summary: Attempted 773 tasks of which 768 didn't need to be rerun and 1 failed.
+No currently running tasks (773 of 781)
+
+Summary: 1 task failed:
+  /meta/recipes-connectivity/bind/bind_9.10.2.bb, do_configure
+
+One way to fix it would be to unconditionally disable json in bind
+configure[2] but here we fix it by using the path to where we would
+put the header if we had json in the sysroot, in case someone wants
+to make use of the combination some day.
+
+[1] https://trac.macports.org/ticket/45305
+[2] https://trac.macports.org/changeset/126406
+
+Upstream-Status: Inappropriate [OE Specific]
+Signed-off-by: Paul Gortmaker 
+
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+Index: bind-9.16.4/configure.ac
+===================================================================
+--- bind-9.16.4.orig/configure.ac
++++ bind-9.16.4/configure.ac
+@@ -1232,7 +1232,7 @@ case "$use_lmdb" in
+ 		LMDB_LIBS=""
+ 		;;
+ 	auto|yes)
+-		for d in /usr /usr/local /opt/local
++		for d in "${STAGING_INCDIR}"
+ 		do
+ 			if test -f "${d}/include/lmdb.h"
+ 			then
diff --git a/poky/meta/recipes-connectivity/bind/bind-9.16.12/bind9 b/poky/meta/recipes-connectivity/bind/bind-9.16.12/bind9
new file mode 100644
index 000000000..968679ff7
--- /dev/null
+++ b/poky/meta/recipes-connectivity/bind/bind-9.16.12/bind9
@@ -0,0 +1,2 @@
+# startup options for the server
+OPTIONS="-u bind"
diff --git a/poky/meta/recipes-connectivity/bind/bind-9.16.12/conf.patch b/poky/meta/recipes-connectivity/bind/bind-9.16.12/conf.patch
new file mode 100644
index 000000000..aad345f9f
--- /dev/null
+++ b/poky/meta/recipes-connectivity/bind/bind-9.16.12/conf.patch
@@ -0,0 +1,330 @@
+Upstream-Status: Inappropriate [configuration]
+
+the patch is imported from openembedded project
+
+11/30/2010 - Qing He 
+
+diff -urN bind-9.3.1.orig/conf/db.0 bind-9.3.1/conf/db.0
+--- bind-9.3.1.orig/conf/db.0	1970-01-01 01:00:00.000000000 +0100
++++ bind-9.3.1/conf/db.0	2005-07-10 22:14:00.000000000 +0200
+@@ -0,0 +1,12 @@
++;
++; BIND reverse data file for broadcast zone
++;
++$TTL	604800
++@	IN	SOA	localhost. root.localhost. (
++			      1		; Serial
++			 604800		; Refresh
++			  86400		; Retry
++			2419200		; Expire
++			 604800 )	; Negative Cache TTL
++;
++@	IN	NS	localhost.
+diff -urN bind-9.3.1.orig/conf/db.127 bind-9.3.1/conf/db.127
+--- bind-9.3.1.orig/conf/db.127	1970-01-01 01:00:00.000000000 +0100
++++ bind-9.3.1/conf/db.127	2005-07-10 22:14:00.000000000 +0200
+@@ -0,0 +1,13 @@
++;
++; BIND reverse data file for local loopback interface
++;
++$TTL	604800
++@	IN	SOA	localhost. root.localhost. (
++			      1		; Serial
++			 604800		; Refresh
++			  86400		; Retry
++			2419200		; Expire
++			 604800 )	; Negative Cache TTL
++;
++@	IN	NS	localhost.
++1.0.0	IN	PTR	localhost.
+diff -urN bind-9.3.1.orig/conf/db.empty bind-9.3.1/conf/db.empty
+--- bind-9.3.1.orig/conf/db.empty	1970-01-01 01:00:00.000000000 +0100
++++ bind-9.3.1/conf/db.empty	2005-07-10 22:14:00.000000000 +0200
+@@ -0,0 +1,14 @@
++; BIND reverse data file for empty rfc1918 zone
++;
++; DO NOT EDIT THIS FILE - it is used for multiple zones.
++; Instead, copy it, edit named.conf, and use that copy.
++;
++$TTL	86400
++@	IN	SOA	localhost. root.localhost. (
++			      1		; Serial
++			 604800		; Refresh
++			  86400		; Retry
++			2419200		; Expire
++			  86400 )	; Negative Cache TTL
++;
++@	IN	NS	localhost.
+diff -urN bind-9.3.1.orig/conf/db.255 bind-9.3.1/conf/db.255
+--- bind-9.3.1.orig/conf/db.255	1970-01-01 01:00:00.000000000 +0100
++++ bind-9.3.1/conf/db.255	2005-07-10 22:14:00.000000000 +0200
+@@ -0,0 +1,12 @@
++;
++; BIND reserve data file for broadcast zone
++;
++$TTL	604800
++@	IN	SOA	localhost. root.localhost. (
++			      1		; Serial
++			 604800		; Refresh
++			  86400		; Retry
++			2419200		; Expire
++			 604800 )	; Negative Cache TTL
++;
++@	IN	NS	localhost.
+diff -urN bind-9.3.1.orig/conf/db.local bind-9.3.1/conf/db.local
+--- bind-9.3.1.orig/conf/db.local	1970-01-01 01:00:00.000000000 +0100
++++ bind-9.3.1/conf/db.local	2005-07-10 22:14:00.000000000 +0200
+@@ -0,0 +1,13 @@
++;
++; BIND data file for local loopback interface
++;
++$TTL	604800
++@	IN	SOA	localhost. root.localhost. (
++			      1		; Serial
++			 604800		; Refresh
++			  86400		; Retry
++			2419200		; Expire
++			 604800 )	; Negative Cache TTL
++;
++@	IN	NS	localhost.
++@	IN	A	127.0.0.1
+diff -urN bind-9.3.1.orig/conf/db.root bind-9.3.1/conf/db.root
+--- bind-9.3.1.orig/conf/db.root	1970-01-01 01:00:00.000000000 +0100
++++ bind-9.3.1/conf/db.root	2005-07-10 22:14:00.000000000 +0200
+@@ -0,0 +1,45 @@
++
++; <<>> DiG 9.2.3 <<>> ns . @a.root-servers.net.
++;; global options:  printcmd
++;; Got answer:
++;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 18944
++;; flags: qr aa rd; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 13
++
++;; QUESTION SECTION:
++;.				IN	NS
++
++;; ANSWER SECTION:
++.			518400	IN	NS	A.ROOT-SERVERS.NET.
++.			518400	IN	NS	B.ROOT-SERVERS.NET.
++.			518400	IN	NS	C.ROOT-SERVERS.NET.
++.			518400	IN	NS	D.ROOT-SERVERS.NET.
++.			518400	IN	NS	E.ROOT-SERVERS.NET.
++.			518400	IN	NS	F.ROOT-SERVERS.NET.
++.			518400	IN	NS	G.ROOT-SERVERS.NET.
++.			518400	IN	NS	H.ROOT-SERVERS.NET.
++.			518400	IN	NS	I.ROOT-SERVERS.NET.
++.			518400	IN	NS	J.ROOT-SERVERS.NET.
++.			518400	IN	NS	K.ROOT-SERVERS.NET.
++.			518400	IN	NS	L.ROOT-SERVERS.NET.
++.			518400	IN	NS	M.ROOT-SERVERS.NET.
++
++;; ADDITIONAL SECTION:
++A.ROOT-SERVERS.NET.	3600000	IN	A	198.41.0.4
++B.ROOT-SERVERS.NET.	3600000	IN	A	192.228.79.201
++C.ROOT-SERVERS.NET.	3600000	IN	A	192.33.4.12
++D.ROOT-SERVERS.NET.	3600000	IN	A	128.8.10.90
++E.ROOT-SERVERS.NET.	3600000	IN	A	192.203.230.10
++F.ROOT-SERVERS.NET.	3600000	IN	A	192.5.5.241
++G.ROOT-SERVERS.NET.	3600000	IN	A	192.112.36.4
++H.ROOT-SERVERS.NET.	3600000	IN	A	128.63.2.53
++I.ROOT-SERVERS.NET.	3600000	IN	A	192.36.148.17
++J.ROOT-SERVERS.NET.	3600000	IN	A	192.58.128.30
++K.ROOT-SERVERS.NET.	3600000	IN	A	193.0.14.129
++L.ROOT-SERVERS.NET.	3600000	IN	A	198.32.64.12
++M.ROOT-SERVERS.NET.	3600000	IN	A	202.12.27.33
++
++;; Query time: 81 msec
++;; SERVER: 198.41.0.4#53(a.root-servers.net.)
++;; WHEN: Sun Feb  1 11:27:14 2004
++;; MSG SIZE  rcvd: 436
++
+diff -urN bind-9.3.1.orig/conf/named.conf bind-9.3.1/conf/named.conf
+--- bind-9.3.1.orig/conf/named.conf	1970-01-01 01:00:00.000000000 +0100
++++ bind-9.3.1/conf/named.conf	2005-07-10 22:33:46.000000000 +0200
+@@ -0,0 +1,49 @@
++// This is the primary configuration file for the BIND DNS server named.
++//
++// If you are just adding zones, please do that in /etc/bind/named.conf.local
++
++include "/etc/bind/named.conf.options";
++
++// prime the server with knowledge of the root servers
++zone "." {
++	type hint;
++	file "/etc/bind/db.root";
++};
++
++// be authoritative for the localhost forward and reverse zones, and for
++// broadcast zones as per RFC 1912
++
++zone "localhost" {
++	type master;
++	file "/etc/bind/db.local";
++};
++
++zone "127.in-addr.arpa" {
++	type master;
++	file "/etc/bind/db.127";
++};
++
++zone "0.in-addr.arpa" {
++	type master;
++	file "/etc/bind/db.0";
++};
++
++zone "255.in-addr.arpa" {
++	type master;
++	file "/etc/bind/db.255";
++};
++
++// zone "com" { type delegation-only; };
++// zone "net" { type delegation-only; };
++
++// From the release notes:
++//  Because many of our users are uncomfortable receiving undelegated answers
++//  from root or top level domains, other than a few for whom that behaviour
++//  has been trusted and expected for quite some length of time, we have now
++//  introduced the "root-delegations-only" feature which applies delegation-only
++//  logic to all top level domains, and to the root domain.  An exception list
++//  should be specified, including "MUSEUM" and "DE", and any other top level
++//  domains from whom undelegated responses are expected and trusted.
++// root-delegation-only exclude { "DE"; "MUSEUM"; };
++
++include "/etc/bind/named.conf.local";
+diff -urN bind-9.3.1.orig/conf/named.conf.local bind-9.3.1/conf/named.conf.local
+--- bind-9.3.1.orig/conf/named.conf.local	1970-01-01 01:00:00.000000000 +0100
++++ bind-9.3.1/conf/named.conf.local	2005-07-10 22:14:06.000000000 +0200
+@@ -0,0 +1,8 @@
++//
++// Do any local configuration here
++//
++
++// Consider adding the 1918 zones here, if they are not used in your
++// organization
++//include "/etc/bind/zones.rfc1918";
++
+diff -urN bind-9.3.1.orig/conf/named.conf.options bind-9.3.1/conf/named.conf.options
+--- bind-9.3.1.orig/conf/named.conf.options	1970-01-01 01:00:00.000000000 +0100
++++ bind-9.3.1/conf/named.conf.options	2005-07-10 22:14:06.000000000 +0200
+@@ -0,0 +1,24 @@
++options {
++	directory "/var/cache/bind";
++
++	// If there is a firewall between you and nameservers you want
++	// to talk to, you might need to uncomment the query-source
++	// directive below.  Previous versions of BIND always asked
++	// questions using port 53, but BIND 8.1 and later use an unprivileged
++	// port by default.
++
++	// query-source address * port 53;
++
++	// If your ISP provided one or more IP addresses for stable 
++	// nameservers, you probably want to use them as forwarders.  
++	// Uncomment the following block, and insert the addresses replacing 
++	// the all-0's placeholder.
++
++	// forwarders {
++	// 	0.0.0.0;
++	// };
++
++	auth-nxdomain no;    # conform to RFC1035
++
++};
++
+diff -urN bind-9.3.1.orig/conf/zones.rfc1918 bind-9.3.1/conf/zones.rfc1918
+--- bind-9.3.1.orig/conf/zones.rfc1918	1970-01-01 01:00:00.000000000 +0100
++++ bind-9.3.1/conf/zones.rfc1918	2005-07-10 22:14:10.000000000 +0200
+@@ -0,0 +1,20 @@
++zone "10.in-addr.arpa"      { type master; file "/etc/bind/db.empty"; };
++ 
++zone "16.172.in-addr.arpa"  { type master; file "/etc/bind/db.empty"; };
++zone "17.172.in-addr.arpa"  { type master; file "/etc/bind/db.empty"; };
++zone "18.172.in-addr.arpa"  { type master; file "/etc/bind/db.empty"; };
++zone "19.172.in-addr.arpa"  { type master; file "/etc/bind/db.empty"; };
++zone "20.172.in-addr.arpa"  { type master; file "/etc/bind/db.empty"; };
++zone "21.172.in-addr.arpa"  { type master; file "/etc/bind/db.empty"; };
++zone "22.172.in-addr.arpa"  { type master; file "/etc/bind/db.empty"; };
++zone "23.172.in-addr.arpa"  { type master; file "/etc/bind/db.empty"; };
++zone "24.172.in-addr.arpa"  { type master; file "/etc/bind/db.empty"; };
++zone "25.172.in-addr.arpa"  { type master; file "/etc/bind/db.empty"; };
++zone "26.172.in-addr.arpa"  { type master; file "/etc/bind/db.empty"; };
++zone "27.172.in-addr.arpa"  { type master; file "/etc/bind/db.empty"; };
++zone "28.172.in-addr.arpa"  { type master; file "/etc/bind/db.empty"; };
++zone "29.172.in-addr.arpa"  { type master; file "/etc/bind/db.empty"; };
++zone "30.172.in-addr.arpa"  { type master; file "/etc/bind/db.empty"; };
++zone "31.172.in-addr.arpa"  { type master; file "/etc/bind/db.empty"; };
++
++zone "168.192.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
+diff -urN bind-9.3.1.orig/init.d bind-9.3.1/init.d
+--- bind-9.3.1.orig/init.d	1970-01-01 01:00:00.000000000 +0100
++++ bind-9.3.1/init.d	2005-07-10 23:09:58.000000000 +0200
+@@ -0,0 +1,70 @@
++#!/bin/sh
++
++PATH=/sbin:/bin:/usr/sbin:/usr/bin
++
++# for a chrooted server: "-u bind -t /var/lib/named"
++# Don't modify this line, change or create /etc/default/bind9.
++OPTIONS=""
++
++test -f /etc/default/bind9 && . /etc/default/bind9
++
++test -x /usr/sbin/rndc || exit 0
++
++case "$1" in
++    start)
++	echo -n "Starting domain name service: named"
++
++	modprobe capability >/dev/null 2>&1 || true
++	if [ ! -f /etc/bind/rndc.key ]; then
++	    /usr/sbin/rndc-confgen -a -b 512 -r /dev/urandom
++	    chmod 0640 /etc/bind/rndc.key
++	fi
++	if [ -f /var/run/named/named.pid ]; then
++	    ps `cat /var/run/named/named.pid` > /dev/null && exit 1
++	fi
++
++	# dirs under /var/run can go away on reboots.
++	mkdir -p /var/run/named
++	mkdir -p /var/cache/bind
++	chmod 775 /var/run/named
++	chown root:bind /var/run/named >/dev/null 2>&1 || true
++
++	if [ ! -x /usr/sbin/named ]; then
++	    echo "named binary missing - not starting"
++	    exit 1
++	fi
++	if start-stop-daemon --start --quiet --exec /usr/sbin/named \
++		--pidfile /var/run/named/named.pid -- $OPTIONS; then
++	    if [ -x /sbin/resolvconf ] ; then
++		echo "nameserver 127.0.0.1" | /sbin/resolvconf -a lo
++	    fi
++	fi
++	echo "."	
++    ;;
++
++    stop)
++	echo -n "Stopping domain name service: named"
++	if [ -x /sbin/resolvconf ]; then
++	    /sbin/resolvconf -d lo
++	fi
++	/usr/sbin/rndc stop >/dev/null 2>&1
++	echo "."	
++    ;;
++
++    reload)
++	/usr/sbin/rndc reload
++    ;;
++
++    restart|force-reload)
++	$0 stop
++	sleep 2
++	$0 start
++    ;;
++    
++    *)
++	echo "Usage: /etc/init.d/bind {start|stop|reload|restart|force-reload}" >&2
++	exit 1
++    ;;
++esac
++
++exit 0
diff --git a/poky/meta/recipes-connectivity/bind/bind-9.16.12/generate-rndc-key.sh b/poky/meta/recipes-connectivity/bind/bind-9.16.12/generate-rndc-key.sh
new file mode 100644
index 000000000..633e29c0e
--- /dev/null
+++ b/poky/meta/recipes-connectivity/bind/bind-9.16.12/generate-rndc-key.sh
@@ -0,0 +1,8 @@
+#!/bin/sh
+
+if [ ! -s /etc/bind/rndc.key ]; then
+    echo -n "Generating /etc/bind/rndc.key:"
+    /usr/sbin/rndc-confgen -a -b 512
+    chown root:bind /etc/bind/rndc.key
+    chmod 0640 /etc/bind/rndc.key
+fi
diff --git a/poky/meta/recipes-connectivity/bind/bind-9.16.12/init.d-add-support-for-read-only-rootfs.patch b/poky/meta/recipes-connectivity/bind/bind-9.16.12/init.d-add-support-for-read-only-rootfs.patch
new file mode 100644
index 000000000..11db95ede
--- /dev/null
+++ b/poky/meta/recipes-connectivity/bind/bind-9.16.12/init.d-add-support-for-read-only-rootfs.patch
@@ -0,0 +1,65 @@
+Subject: init.d: add support for read-only rootfs
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: Chen Qi 
+---
+ init.d |   40 ++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 40 insertions(+)
+
+diff --git a/init.d b/init.d
+index 0111ed4..24677c8 100644
+--- a/init.d
++++ b/init.d
+@@ -6,8 +6,48 @@ PATH=/sbin:/bin:/usr/sbin:/usr/bin
+ # Don't modify this line, change or create /etc/default/bind9.
+ OPTIONS=""
+ 
++test -f /etc/default/rcS && . /etc/default/rcS
+ test -f /etc/default/bind9 && . /etc/default/bind9
+ 
++# This function is here because it's possible that /var and / are on different partitions.
++is_on_read_only_partition () {
++    DIRECTORY=$1
++    dir=`readlink -f $DIRECTORY`
++    while true; do
++	if [ ! -d "$dir" ]; then
++	    echo "ERROR: $dir is not a directory"
++	    exit 1
++	else
++	    for flag in `awk -v dir=$dir '{ if ($2 == dir) { print "FOUND"; split($4,FLAGS,",") } }; \
++		END { for (f in FLAGS) print FLAGS[f] }' < /proc/mounts`; do
++		[ "$flag" = "FOUND" ] && partition="read-write"
++		[ "$flag" = "ro" ] && { partition="read-only"; break; }
++	    done
++	    if [ "$dir" = "/" -o -n "$partition" ]; then
++		break
++	    else
++		dir=`dirname $dir`
++	    fi
++	fi
++    done
++    [ "$partition" = "read-only" ] && echo "yes" || echo "no"
++}
++
++bind_mount () {
++    olddir=$1
++    newdir=$2
++    mkdir -p $olddir
++    cp -a $newdir/* $olddir
++    mount --bind $olddir $newdir
++}
++
++# Deal with read-only rootfs
++if [ "$ROOTFS_READ_ONLY" = "yes" ]; then
++    [ "$VERBOSE" != "no" ] && echo "WARN: start bind service in read-only rootfs"
++    [ `is_on_read_only_partition /etc/bind` = "yes" ] && bind_mount /var/volatile/bind/etc /etc/bind
++    [ `is_on_read_only_partition /var/named` = "yes" ] && bind_mount /var/volatile/bind/named /var/named
++fi
++
+ test -x /usr/sbin/rndc || exit 0
+ 
+ case "$1" in
+-- 
+1.7.9.5
+
diff --git a/poky/meta/recipes-connectivity/bind/bind-9.16.12/make-etc-initd-bind-stop-work.patch b/poky/meta/recipes-connectivity/bind/bind-9.16.12/make-etc-initd-bind-stop-work.patch
new file mode 100644
index 000000000..146f3e35d
--- /dev/null
+++ b/poky/meta/recipes-connectivity/bind/bind-9.16.12/make-etc-initd-bind-stop-work.patch
@@ -0,0 +1,42 @@
+bind: make "/etc/init.d/bind stop" work
+
+Upstream-Status: Inappropriate [configuration]
+
+Add some configurations, make rndc command be able to controls
+the named daemon.
+
+Signed-off-by: Roy Li 
+---
+ conf/named.conf |    5 +++++
+ conf/rndc.conf  |    5 +++++
+ 2 files changed, 10 insertions(+), 0 deletions(-)
+ create mode 100644 conf/rndc.conf
+
+diff --git a/conf/named.conf b/conf/named.conf
+index 95829cf..c8899e7 100644
+--- a/conf/named.conf
++++ b/conf/named.conf
+@@ -47,3 +47,8 @@ zone "255.in-addr.arpa" {
+ // root-delegation-only exclude { "DE"; "MUSEUM"; };
+ 
+ include "/etc/bind/named.conf.local";
++include "/etc/bind/rndc.key" ;
++controls {
++	inet 127.0.0.1 allow { localhost; }
++	keys { rndc-key; };
++};
+diff --git a/conf/rndc.conf b/conf/rndc.conf
+new file mode 100644
+index 0000000..a0b481d
+--- /dev/null
++++ b/conf/rndc.conf
+@@ -0,0 +1,5 @@
++include "/etc/bind/rndc.key";
++options {
++	default-server  localhost;
++	default-key     rndc-key;
++};
+
+-- 
+1.7.5.4
+
diff --git a/poky/meta/recipes-connectivity/bind/bind-9.16.12/named.service b/poky/meta/recipes-connectivity/bind/bind-9.16.12/named.service
new file mode 100644
index 000000000..cda56ef01
--- /dev/null
+++ b/poky/meta/recipes-connectivity/bind/bind-9.16.12/named.service
@@ -0,0 +1,22 @@
+[Unit]
+Description=Berkeley Internet Name Domain (DNS)
+Wants=nss-lookup.target
+Before=nss-lookup.target
+After=network.target
+
+[Service]
+Type=forking
+EnvironmentFile=-/etc/default/bind9
+PIDFile=/run/named/named.pid
+
+ExecStartPre=@SBINDIR@/generate-rndc-key.sh
+ExecStart=@SBINDIR@/named $OPTIONS
+
+ExecReload=@BASE_BINDIR@/sh -c '@SBINDIR@/rndc reload > /dev/null 2>&1 || @BASE_BINDIR@/kill -HUP $MAINPID'
+
+ExecStop=@BASE_BINDIR@/sh -c '@SBINDIR@/rndc stop > /dev/null 2>&1 || @BASE_BINDIR@/kill -TERM $MAINPID'
+
+PrivateTmp=true
+
+[Install]
+WantedBy=multi-user.target
diff --git a/poky/meta/recipes-connectivity/bind/bind_9.16.11.bb b/poky/meta/recipes-connectivity/bind/bind_9.16.11.bb
deleted file mode 100644
index f48cc74c2..000000000
--- a/poky/meta/recipes-connectivity/bind/bind_9.16.11.bb
+++ /dev/null
@@ -1,124 +0,0 @@
-SUMMARY = "ISC Internet Domain Name Server"
-HOMEPAGE = "https://www.isc.org/bind/"
-DESCRIPTION = "BIND 9 provides a full-featured Domain Name Server system"
-SECTION = "console/network"
-
-LICENSE = "MPL-2.0"
-LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=ef10b4de6371115dcecdc38ca2af4561"
-
-DEPENDS = "openssl libcap zlib libuv"
-
-SRC_URI = "https://ftp.isc.org/isc/bind9/${PV}/${BPN}-${PV}.tar.xz \
-           file://conf.patch \
-           file://named.service \
-           file://bind9 \
-           file://generate-rndc-key.sh \
-           file://make-etc-initd-bind-stop-work.patch \
-           file://init.d-add-support-for-read-only-rootfs.patch \
-           file://bind-ensure-searching-for-json-headers-searches-sysr.patch \
-           file://0001-named-lwresd-V-and-start-log-hide-build-options.patch \
-           file://0001-avoid-start-failure-with-bind-user.patch \
-           "
-
-SRC_URI[sha256sum] = "0111f64dd7d8f515cfa129e181cce96ff82070d1b27f11a21f6856110d0699c1"
-
-UPSTREAM_CHECK_URI = "https://ftp.isc.org/isc/bind9/"
-# stay at 9.16 follow the ESV versions divisible by 4
-UPSTREAM_CHECK_REGEX = "(?P9.(16|20|24|28)(\.\d+)+(-P\d+)*)/"
-
-inherit autotools update-rc.d systemd useradd pkgconfig multilib_header update-alternatives
-
-# PACKAGECONFIGs readline and libedit should NOT be set at same time
-PACKAGECONFIG ?= "readline"
-PACKAGECONFIG[httpstats] = "--with-libxml2=${STAGING_DIR_HOST}${prefix},--without-libxml2,libxml2"
-PACKAGECONFIG[readline] = "--with-readline=-lreadline,,readline"
-PACKAGECONFIG[libedit] = "--with-readline=-ledit,,libedit"
-PACKAGECONFIG[python3] = "--with-python=yes --with-python-install-dir=${PYTHON_SITEPACKAGES_DIR} , --without-python, python3-ply-native,"
-
-EXTRA_OECONF = " --with-libtool --disable-devpoll --disable-auto-validation --enable-epoll \
-                 --with-gssapi=no --with-lmdb=no --with-zlib \
-                 --sysconfdir=${sysconfdir}/bind \
-                 --with-openssl=${STAGING_DIR_HOST}${prefix} \
-               "
-LDFLAGS_append = " -lz"
-
-inherit ${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3native distutils3-base', '', d)}
-
-# dhcp needs .la so keep them
-REMOVE_LIBTOOL_LA = "0"
-
-USERADD_PACKAGES = "${PN}"
-USERADD_PARAM_${PN} = "--system --home ${localstatedir}/cache/bind --no-create-home \
-                       --user-group bind"
-
-INITSCRIPT_NAME = "bind"
-INITSCRIPT_PARAMS = "defaults"
-
-SYSTEMD_SERVICE_${PN} = "named.service"
-
-do_install_append() {
-
-	rmdir "${D}${localstatedir}/run"
-	rmdir --ignore-fail-on-non-empty "${D}${localstatedir}"
-	install -d -o bind "${D}${localstatedir}/cache/bind"
-	install -d "${D}${sysconfdir}/bind"
-	install -d "${D}${sysconfdir}/init.d"
-	install -m 644 ${S}/conf/* "${D}${sysconfdir}/bind/"
-	install -m 755 "${S}/init.d" "${D}${sysconfdir}/init.d/bind"
-        if ${@bb.utils.contains('PACKAGECONFIG', 'python3', 'true', 'false', d)}; then
-		sed -i -e '1s,#!.*python3,#! /usr/bin/python3,' \
-		${D}${sbindir}/dnssec-coverage \
-		${D}${sbindir}/dnssec-checkds \
-		${D}${sbindir}/dnssec-keymgr
-	fi
-
-	# Install systemd related files
-	install -d ${D}${sbindir}
-	install -m 755 ${WORKDIR}/generate-rndc-key.sh ${D}${sbindir}
-	install -d ${D}${systemd_unitdir}/system
-	install -m 0644 ${WORKDIR}/named.service ${D}${systemd_unitdir}/system
-	sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \
-	       -e 's,@SBINDIR@,${sbindir},g' \
-	       ${D}${systemd_unitdir}/system/named.service
-
-	install -d ${D}${sysconfdir}/default
-	install -m 0644 ${WORKDIR}/bind9 ${D}${sysconfdir}/default
-
-	if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
-		install -d ${D}${sysconfdir}/tmpfiles.d
-		echo "d /run/named 0755 bind bind - -" > ${D}${sysconfdir}/tmpfiles.d/bind.conf
-	fi
-
-    oe_multilib_header isc/platform.h
-}
-
-CONFFILES_${PN} = " \
-	${sysconfdir}/bind/named.conf \
-	${sysconfdir}/bind/named.conf.local \
-	${sysconfdir}/bind/named.conf.options \
-	${sysconfdir}/bind/db.0 \
-	${sysconfdir}/bind/db.127 \
-	${sysconfdir}/bind/db.empty \
-	${sysconfdir}/bind/db.local \
-	${sysconfdir}/bind/db.root \
-	"
-
-ALTERNATIVE_${PN}-utils = "nslookup"
-ALTERNATIVE_LINK_NAME[nslookup] = "${bindir}/nslookup"
-ALTERNATIVE_PRIORITY = "100"
-
-PACKAGE_BEFORE_PN += "${PN}-utils"
-FILES_${PN}-utils = "${bindir}/host ${bindir}/dig ${bindir}/mdig ${bindir}/nslookup ${bindir}/nsupdate"
-FILES_${PN}-dev += "${bindir}/isc-config.h"
-FILES_${PN} += "${sbindir}/generate-rndc-key.sh"
-
-PACKAGE_BEFORE_PN += "${PN}-libs"
-FILES_${PN}-libs = "${libdir}/*.so* ${libdir}/named/*.so*"
-FILES_${PN}-staticdev += "${libdir}/*.la"
-
-PACKAGE_BEFORE_PN += "${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3-bind', '', d)}"
-FILES_python3-bind = "${sbindir}/dnssec-coverage ${sbindir}/dnssec-checkds \
-                ${sbindir}/dnssec-keymgr ${PYTHON_SITEPACKAGES_DIR}"
-
-RDEPENDS_${PN}-dev = ""
-RDEPENDS_python3-bind = "python3-core python3-ply"
diff --git a/poky/meta/recipes-connectivity/bind/bind_9.16.12.bb b/poky/meta/recipes-connectivity/bind/bind_9.16.12.bb
new file mode 100644
index 000000000..09f77038f
--- /dev/null
+++ b/poky/meta/recipes-connectivity/bind/bind_9.16.12.bb
@@ -0,0 +1,127 @@
+SUMMARY = "ISC Internet Domain Name Server"
+HOMEPAGE = "https://www.isc.org/bind/"
+DESCRIPTION = "BIND 9 provides a full-featured Domain Name Server system"
+SECTION = "console/network"
+
+LICENSE = "MPL-2.0"
+LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=ef10b4de6371115dcecdc38ca2af4561"
+
+DEPENDS = "openssl libcap zlib libuv"
+
+SRC_URI = "https://ftp.isc.org/isc/bind9/${PV}/${BPN}-${PV}.tar.xz \
+           file://conf.patch \
+           file://named.service \
+           file://bind9 \
+           file://generate-rndc-key.sh \
+           file://make-etc-initd-bind-stop-work.patch \
+           file://init.d-add-support-for-read-only-rootfs.patch \
+           file://bind-ensure-searching-for-json-headers-searches-sysr.patch \
+           file://0001-named-lwresd-V-and-start-log-hide-build-options.patch \
+           file://0001-avoid-start-failure-with-bind-user.patch \
+           "
+
+SRC_URI[sha256sum] = "9914af9311fd349cab441097898d94fb28d0bfd9bf6ed04fe1f97f042644da7f"
+
+UPSTREAM_CHECK_URI = "https://ftp.isc.org/isc/bind9/"
+# stay at 9.16 follow the ESV versions divisible by 4
+UPSTREAM_CHECK_REGEX = "(?P9.(16|20|24|28)(\.\d+)+(-P\d+)*)/"
+
+inherit autotools update-rc.d systemd useradd pkgconfig multilib_header update-alternatives
+
+# PACKAGECONFIGs readline and libedit should NOT be set at same time
+PACKAGECONFIG ?= "readline"
+PACKAGECONFIG[httpstats] = "--with-libxml2=${STAGING_DIR_HOST}${prefix},--without-libxml2,libxml2"
+PACKAGECONFIG[readline] = "--with-readline=-lreadline,,readline"
+PACKAGECONFIG[libedit] = "--with-readline=-ledit,,libedit"
+PACKAGECONFIG[python3] = "--with-python=yes --with-python-install-dir=${PYTHON_SITEPACKAGES_DIR} , --without-python, python3-ply-native,"
+
+EXTRA_OECONF = " --with-libtool --disable-devpoll --disable-auto-validation --enable-epoll \
+                 --with-gssapi=no --with-lmdb=no --with-zlib \
+                 --sysconfdir=${sysconfdir}/bind \
+                 --with-openssl=${STAGING_DIR_HOST}${prefix} \
+               "
+LDFLAGS_append = " -lz"
+
+inherit ${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3native distutils3-base', '', d)}
+
+# dhcp needs .la so keep them
+REMOVE_LIBTOOL_LA = "0"
+
+USERADD_PACKAGES = "${PN}"
+USERADD_PARAM_${PN} = "--system --home ${localstatedir}/cache/bind --no-create-home \
+                       --user-group bind"
+
+INITSCRIPT_NAME = "bind"
+INITSCRIPT_PARAMS = "defaults"
+
+SYSTEMD_SERVICE_${PN} = "named.service"
+
+do_install_append() {
+
+	rmdir "${D}${localstatedir}/run"
+	rmdir --ignore-fail-on-non-empty "${D}${localstatedir}"
+	install -d -o bind "${D}${localstatedir}/cache/bind"
+	install -d "${D}${sysconfdir}/bind"
+	install -d "${D}${sysconfdir}/init.d"
+	install -m 644 ${S}/conf/* "${D}${sysconfdir}/bind/"
+	install -m 755 "${S}/init.d" "${D}${sysconfdir}/init.d/bind"
+        if ${@bb.utils.contains('PACKAGECONFIG', 'python3', 'true', 'false', d)}; then
+		sed -i -e '1s,#!.*python3,#! /usr/bin/python3,' \
+		${D}${sbindir}/dnssec-coverage \
+		${D}${sbindir}/dnssec-checkds \
+		${D}${sbindir}/dnssec-keymgr
+	fi
+
+	# Install systemd related files
+	install -d ${D}${sbindir}
+	install -m 755 ${WORKDIR}/generate-rndc-key.sh ${D}${sbindir}
+	install -d ${D}${systemd_unitdir}/system
+	install -m 0644 ${WORKDIR}/named.service ${D}${systemd_unitdir}/system
+	sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \
+	       -e 's,@SBINDIR@,${sbindir},g' \
+	       ${D}${systemd_unitdir}/system/named.service
+
+	install -d ${D}${sysconfdir}/default
+	install -m 0644 ${WORKDIR}/bind9 ${D}${sysconfdir}/default
+
+	if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+		install -d ${D}${sysconfdir}/tmpfiles.d
+		echo "d /run/named 0755 bind bind - -" > ${D}${sysconfdir}/tmpfiles.d/bind.conf
+	fi
+
+    oe_multilib_header isc/platform.h
+}
+
+CONFFILES_${PN} = " \
+	${sysconfdir}/bind/named.conf \
+	${sysconfdir}/bind/named.conf.local \
+	${sysconfdir}/bind/named.conf.options \
+	${sysconfdir}/bind/db.0 \
+	${sysconfdir}/bind/db.127 \
+	${sysconfdir}/bind/db.empty \
+	${sysconfdir}/bind/db.local \
+	${sysconfdir}/bind/db.root \
+	"
+
+ALTERNATIVE_${PN}-utils = "nslookup"
+ALTERNATIVE_LINK_NAME[nslookup] = "${bindir}/nslookup"
+ALTERNATIVE_PRIORITY = "100"
+
+PACKAGE_BEFORE_PN += "${PN}-utils"
+FILES_${PN}-utils = "${bindir}/host ${bindir}/dig ${bindir}/mdig ${bindir}/nslookup ${bindir}/nsupdate"
+FILES_${PN}-dev += "${bindir}/isc-config.h"
+FILES_${PN} += "${sbindir}/generate-rndc-key.sh"
+
+PACKAGE_BEFORE_PN += "${PN}-libs"
+# special arrangement below due to
+# https://github.com/isc-projects/bind9/commit/0e25af628cd776f98c04fc4cc59048f5448f6c88
+FILES_SOLIBSDEV = "${libdir}/*[!0-9].so ${libdir}/libbind9.so"
+FILES_${PN}-libs = "${libdir}/named/*.so* ${libdir}/*-${PV}.so"
+FILES_${PN}-staticdev += "${libdir}/*.la"
+
+PACKAGE_BEFORE_PN += "${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3-bind', '', d)}"
+FILES_python3-bind = "${sbindir}/dnssec-coverage ${sbindir}/dnssec-checkds \
+                ${sbindir}/dnssec-keymgr ${PYTHON_SITEPACKAGES_DIR}"
+
+RDEPENDS_${PN}-dev = ""
+RDEPENDS_python3-bind = "python3-core python3-ply"
diff --git a/poky/meta/recipes-connectivity/openssh/openssh/0f90440ca70abab947acbd77795e9f130967956c.patch b/poky/meta/recipes-connectivity/openssh/openssh/0f90440ca70abab947acbd77795e9f130967956c.patch
deleted file mode 100644
index b88bc18f1..000000000
--- a/poky/meta/recipes-connectivity/openssh/openssh/0f90440ca70abab947acbd77795e9f130967956c.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 0f90440ca70abab947acbd77795e9f130967956c Mon Sep 17 00:00:00 2001
-From: Darren Tucker 
-Date: Fri, 20 Nov 2020 13:37:54 +1100
-Subject: [PATCH] Add new pselect6_time64 syscall on ARM.
-
-This is apparently needed on armhfp/armv7hl.  bz#3232, patch from
-jjelen at redhat.com.
----
- sandbox-seccomp-filter.c | 3 +++
- 1 file changed, 3 insertions(+)
-
-Upstream-Status: Backport
-[fixes issues on 32bit IA and probably other 32 bit platforms too with glibc 2.33]
-
-diff --git a/sandbox-seccomp-filter.c b/sandbox-seccomp-filter.c
-index e0768c063..5065ae7ef 100644
---- a/sandbox-seccomp-filter.c
-+++ b/sandbox-seccomp-filter.c
-@@ -267,6 +267,9 @@ static const struct sock_filter preauth_insns[] = {
- #ifdef __NR_pselect6
- 	SC_ALLOW(__NR_pselect6),
- #endif
-+#ifdef __NR_pselect6_time64
-+	SC_ALLOW(__NR_pselect6_time64),
-+#endif
- #ifdef __NR_read
- 	SC_ALLOW(__NR_read),
- #endif
diff --git a/poky/meta/recipes-connectivity/openssh/openssh_8.4p1.bb b/poky/meta/recipes-connectivity/openssh/openssh_8.4p1.bb
deleted file mode 100644
index 128e2e318..000000000
--- a/poky/meta/recipes-connectivity/openssh/openssh_8.4p1.bb
+++ /dev/null
@@ -1,180 +0,0 @@
-SUMMARY = "A suite of security-related network utilities based on \
-the SSH protocol including the ssh client and sshd server"
-DESCRIPTION = "Secure rlogin/rsh/rcp/telnet replacement (OpenSSH) \
-Ssh (Secure Shell) is a program for logging into a remote machine \
-and for executing commands on a remote machine."
-HOMEPAGE = "http://www.openssh.com/"
-SECTION = "console/network"
-LICENSE = "BSD & ISC & MIT"
-LIC_FILES_CHKSUM = "file://LICENCE;md5=18d9e5a8b3dd1790d73502f50426d4d3"
-
-DEPENDS = "zlib openssl virtual/crypt"
-DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
-
-SRC_URI = "http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-${PV}.tar.gz \
-           file://sshd_config \
-           file://ssh_config \
-           file://init \
-           ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} \
-           file://sshd.socket \
-           file://sshd@.service \
-           file://sshdgenkeys.service \
-           file://volatiles.99_sshd \
-           file://run-ptest \
-           file://fix-potential-signed-overflow-in-pointer-arithmatic.patch \
-           file://sshd_check_keys \
-           file://add-test-support-for-busybox.patch \
-           file://0f90440ca70abab947acbd77795e9f130967956c.patch \
-           "
-SRC_URI[sha256sum] = "5a01d22e407eb1c05ba8a8f7c654d388a13e9f226e4ed33bd38748dafa1d2b24"
-
-# This CVE is specific to OpenSSH server, as used in Fedora and Red Hat Enterprise Linux 7
-# and when running in a Kerberos environment. As such it is not relevant to OpenEmbedded
-CVE_CHECK_WHITELIST += "CVE-2014-9278"
-
-PAM_SRC_URI = "file://sshd"
-
-inherit manpages useradd update-rc.d update-alternatives systemd
-
-USERADD_PACKAGES = "${PN}-sshd"
-USERADD_PARAM_${PN}-sshd = "--system --no-create-home --home-dir /var/run/sshd --shell /bin/false --user-group sshd"
-INITSCRIPT_PACKAGES = "${PN}-sshd"
-INITSCRIPT_NAME_${PN}-sshd = "sshd"
-INITSCRIPT_PARAMS_${PN}-sshd = "defaults 9"
-
-SYSTEMD_PACKAGES = "${PN}-sshd"
-SYSTEMD_SERVICE_${PN}-sshd = "sshd.socket"
-
-inherit autotools-brokensep ptest
-
-PACKAGECONFIG ??= "rng-tools"
-PACKAGECONFIG[kerberos] = "--with-kerberos5,--without-kerberos5,krb5"
-PACKAGECONFIG[ldns] = "--with-ldns,--without-ldns,ldns"
-PACKAGECONFIG[libedit] = "--with-libedit,--without-libedit,libedit"
-PACKAGECONFIG[manpages] = "--with-mantype=man,--with-mantype=cat"
-
-# Add RRECOMMENDS to rng-tools for sshd package
-PACKAGECONFIG[rng-tools] = ""
-
-EXTRA_AUTORECONF += "--exclude=aclocal"
-
-# login path is hardcoded in sshd
-EXTRA_OECONF = "'LOGIN_PROGRAM=${base_bindir}/login' \
-                ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '--with-pam', '--without-pam', d)} \
-                --without-zlib-version-check \
-                --with-privsep-path=${localstatedir}/run/sshd \
-                --sysconfdir=${sysconfdir}/ssh \
-                --with-xauth=${bindir}/xauth \
-                --disable-strip \
-                "
-
-# musl doesn't implement wtmp/utmp and logwtmp
-EXTRA_OECONF_append_libc-musl = " --disable-wtmp --disable-lastlog"
-
-# Since we do not depend on libbsd, we do not want configure to use it
-# just because it finds libutil.h.  But, specifying --disable-libutil
-# causes compile errors, so...
-CACHED_CONFIGUREVARS += "ac_cv_header_bsd_libutil_h=no ac_cv_header_libutil_h=no"
-
-# passwd path is hardcoded in sshd
-CACHED_CONFIGUREVARS += "ac_cv_path_PATH_PASSWD_PROG=${bindir}/passwd"
-
-# We don't want to depend on libblockfile
-CACHED_CONFIGUREVARS += "ac_cv_header_maillock_h=no"
-
-do_configure_prepend () {
-	export LD="${CC}"
-	install -m 0644 ${WORKDIR}/sshd_config ${B}/
-	install -m 0644 ${WORKDIR}/ssh_config ${B}/
-}
-
-do_compile_ptest() {
-        # skip regress/unittests/ binaries: this will silently skip
-        # unittests in run-ptests which is good because they are so slow.
-        oe_runmake regress/modpipe regress/setuid-allowed regress/netcat \
-                   regress/check-perm regress/mkdtemp
-}
-
-do_install_append () {
-	if [ "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" ]; then
-		install -D -m 0644 ${WORKDIR}/sshd ${D}${sysconfdir}/pam.d/sshd
-		sed -i -e 's:#UsePAM no:UsePAM yes:' ${D}${sysconfdir}/ssh/sshd_config
-	fi
-
-	if [ "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}" ]; then
-		sed -i -e 's:#X11Forwarding no:X11Forwarding yes:' ${D}${sysconfdir}/ssh/sshd_config
-	fi
-
-	install -d ${D}${sysconfdir}/init.d
-	install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/sshd
-	rm -f ${D}${bindir}/slogin ${D}${datadir}/Ssh.bin
-	rmdir ${D}${localstatedir}/run/sshd ${D}${localstatedir}/run ${D}${localstatedir}
-	install -d ${D}/${sysconfdir}/default/volatiles
-	install -m 644 ${WORKDIR}/volatiles.99_sshd ${D}/${sysconfdir}/default/volatiles/99_sshd
-	install -m 0755 ${S}/contrib/ssh-copy-id ${D}${bindir}
-
-	# Create config files for read-only rootfs
-	install -d ${D}${sysconfdir}/ssh
-	install -m 644 ${D}${sysconfdir}/ssh/sshd_config ${D}${sysconfdir}/ssh/sshd_config_readonly
-	sed -i '/HostKey/d' ${D}${sysconfdir}/ssh/sshd_config_readonly
-	echo "HostKey /var/run/ssh/ssh_host_rsa_key" >> ${D}${sysconfdir}/ssh/sshd_config_readonly
-	echo "HostKey /var/run/ssh/ssh_host_ecdsa_key" >> ${D}${sysconfdir}/ssh/sshd_config_readonly
-	echo "HostKey /var/run/ssh/ssh_host_ed25519_key" >> ${D}${sysconfdir}/ssh/sshd_config_readonly
-
-	install -d ${D}${systemd_unitdir}/system
-	install -c -m 0644 ${WORKDIR}/sshd.socket ${D}${systemd_unitdir}/system
-	install -c -m 0644 ${WORKDIR}/sshd@.service ${D}${systemd_unitdir}/system
-	install -c -m 0644 ${WORKDIR}/sshdgenkeys.service ${D}${systemd_unitdir}/system
-	sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \
-		-e 's,@SBINDIR@,${sbindir},g' \
-		-e 's,@BINDIR@,${bindir},g' \
-		-e 's,@LIBEXECDIR@,${libexecdir}/${BPN},g' \
-		${D}${systemd_unitdir}/system/sshd.socket ${D}${systemd_unitdir}/system/*.service
-
-	sed -i -e 's,@LIBEXECDIR@,${libexecdir}/${BPN},g' \
-		${D}${sysconfdir}/init.d/sshd
-
-	install -D -m 0755 ${WORKDIR}/sshd_check_keys ${D}${libexecdir}/${BPN}/sshd_check_keys
-}
-
-do_install_ptest () {
-	sed -i -e "s|^SFTPSERVER=.*|SFTPSERVER=${libexecdir}/sftp-server|" regress/test-exec.sh
-	cp -r regress ${D}${PTEST_PATH}
-}
-
-ALLOW_EMPTY_${PN} = "1"
-
-PACKAGES =+ "${PN}-keygen ${PN}-scp ${PN}-ssh ${PN}-sshd ${PN}-sftp ${PN}-misc ${PN}-sftp-server"
-FILES_${PN}-scp = "${bindir}/scp.${BPN}"
-FILES_${PN}-ssh = "${bindir}/ssh.${BPN} ${sysconfdir}/ssh/ssh_config"
-FILES_${PN}-sshd = "${sbindir}/sshd ${sysconfdir}/init.d/sshd ${systemd_unitdir}/system"
-FILES_${PN}-sshd += "${sysconfdir}/ssh/moduli ${sysconfdir}/ssh/sshd_config ${sysconfdir}/ssh/sshd_config_readonly ${sysconfdir}/default/volatiles/99_sshd ${sysconfdir}/pam.d/sshd"
-FILES_${PN}-sshd += "${libexecdir}/${BPN}/sshd_check_keys"
-FILES_${PN}-sftp = "${bindir}/sftp"
-FILES_${PN}-sftp-server = "${libexecdir}/sftp-server"
-FILES_${PN}-misc = "${bindir}/ssh* ${libexecdir}/ssh*"
-FILES_${PN}-keygen = "${bindir}/ssh-keygen"
-
-RDEPENDS_${PN} += "${PN}-scp ${PN}-ssh ${PN}-sshd ${PN}-keygen"
-RDEPENDS_${PN}-sshd += "${PN}-keygen ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam-plugin-keyinit pam-plugin-loginuid', '', d)}"
-RRECOMMENDS_${PN}-sshd_append_class-target = "\
-    ${@bb.utils.filter('PACKAGECONFIG', 'rng-tools', d)} \
-"
-
-# gdb would make attach-ptrace test pass rather than skip but not worth the build dependencies
-RDEPENDS_${PN}-ptest += "${PN}-sftp ${PN}-misc ${PN}-sftp-server make sed sudo coreutils"
-
-RPROVIDES_${PN}-ssh = "ssh"
-RPROVIDES_${PN}-sshd = "sshd"
-
-RCONFLICTS_${PN} = "dropbear"
-RCONFLICTS_${PN}-sshd = "dropbear"
-
-CONFFILES_${PN}-sshd = "${sysconfdir}/ssh/sshd_config"
-CONFFILES_${PN}-ssh = "${sysconfdir}/ssh/ssh_config"
-
-ALTERNATIVE_PRIORITY = "90"
-ALTERNATIVE_${PN}-scp = "scp"
-ALTERNATIVE_${PN}-ssh = "ssh"
-
-BBCLASSEXTEND += "nativesdk"
diff --git a/poky/meta/recipes-connectivity/openssh/openssh_8.5p1.bb b/poky/meta/recipes-connectivity/openssh/openssh_8.5p1.bb
new file mode 100644
index 000000000..6a49cf71c
--- /dev/null
+++ b/poky/meta/recipes-connectivity/openssh/openssh_8.5p1.bb
@@ -0,0 +1,179 @@
+SUMMARY = "A suite of security-related network utilities based on \
+the SSH protocol including the ssh client and sshd server"
+DESCRIPTION = "Secure rlogin/rsh/rcp/telnet replacement (OpenSSH) \
+Ssh (Secure Shell) is a program for logging into a remote machine \
+and for executing commands on a remote machine."
+HOMEPAGE = "http://www.openssh.com/"
+SECTION = "console/network"
+LICENSE = "BSD-2-Clause & BSD-3-Clause & BSD-4-Clause & BSD & ISC & MIT"
+LIC_FILES_CHKSUM = "file://LICENCE;md5=d9d2753bdef9f19466dc7bc959114b11"
+
+DEPENDS = "zlib openssl virtual/crypt"
+DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
+
+SRC_URI = "http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-${PV}.tar.gz \
+           file://sshd_config \
+           file://ssh_config \
+           file://init \
+           ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} \
+           file://sshd.socket \
+           file://sshd@.service \
+           file://sshdgenkeys.service \
+           file://volatiles.99_sshd \
+           file://run-ptest \
+           file://fix-potential-signed-overflow-in-pointer-arithmatic.patch \
+           file://sshd_check_keys \
+           file://add-test-support-for-busybox.patch \
+           "
+SRC_URI[sha256sum] = "f52f3f41d429aa9918e38cf200af225ccdd8e66f052da572870c89737646ec25"
+
+# This CVE is specific to OpenSSH server, as used in Fedora and Red Hat Enterprise Linux 7
+# and when running in a Kerberos environment. As such it is not relevant to OpenEmbedded
+CVE_CHECK_WHITELIST += "CVE-2014-9278"
+
+PAM_SRC_URI = "file://sshd"
+
+inherit manpages useradd update-rc.d update-alternatives systemd
+
+USERADD_PACKAGES = "${PN}-sshd"
+USERADD_PARAM_${PN}-sshd = "--system --no-create-home --home-dir /var/run/sshd --shell /bin/false --user-group sshd"
+INITSCRIPT_PACKAGES = "${PN}-sshd"
+INITSCRIPT_NAME_${PN}-sshd = "sshd"
+INITSCRIPT_PARAMS_${PN}-sshd = "defaults 9"
+
+SYSTEMD_PACKAGES = "${PN}-sshd"
+SYSTEMD_SERVICE_${PN}-sshd = "sshd.socket"
+
+inherit autotools-brokensep ptest
+
+PACKAGECONFIG ??= "rng-tools"
+PACKAGECONFIG[kerberos] = "--with-kerberos5,--without-kerberos5,krb5"
+PACKAGECONFIG[ldns] = "--with-ldns,--without-ldns,ldns"
+PACKAGECONFIG[libedit] = "--with-libedit,--without-libedit,libedit"
+PACKAGECONFIG[manpages] = "--with-mantype=man,--with-mantype=cat"
+
+# Add RRECOMMENDS to rng-tools for sshd package
+PACKAGECONFIG[rng-tools] = ""
+
+EXTRA_AUTORECONF += "--exclude=aclocal"
+
+# login path is hardcoded in sshd
+EXTRA_OECONF = "'LOGIN_PROGRAM=${base_bindir}/login' \
+                ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '--with-pam', '--without-pam', d)} \
+                --without-zlib-version-check \
+                --with-privsep-path=${localstatedir}/run/sshd \
+                --sysconfdir=${sysconfdir}/ssh \
+                --with-xauth=${bindir}/xauth \
+                --disable-strip \
+                "
+
+# musl doesn't implement wtmp/utmp and logwtmp
+EXTRA_OECONF_append_libc-musl = " --disable-wtmp --disable-lastlog"
+
+# Since we do not depend on libbsd, we do not want configure to use it
+# just because it finds libutil.h.  But, specifying --disable-libutil
+# causes compile errors, so...
+CACHED_CONFIGUREVARS += "ac_cv_header_bsd_libutil_h=no ac_cv_header_libutil_h=no"
+
+# passwd path is hardcoded in sshd
+CACHED_CONFIGUREVARS += "ac_cv_path_PATH_PASSWD_PROG=${bindir}/passwd"
+
+# We don't want to depend on libblockfile
+CACHED_CONFIGUREVARS += "ac_cv_header_maillock_h=no"
+
+do_configure_prepend () {
+	export LD="${CC}"
+	install -m 0644 ${WORKDIR}/sshd_config ${B}/
+	install -m 0644 ${WORKDIR}/ssh_config ${B}/
+}
+
+do_compile_ptest() {
+        # skip regress/unittests/ binaries: this will silently skip
+        # unittests in run-ptests which is good because they are so slow.
+        oe_runmake regress/modpipe regress/setuid-allowed regress/netcat \
+                   regress/check-perm regress/mkdtemp
+}
+
+do_install_append () {
+	if [ "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" ]; then
+		install -D -m 0644 ${WORKDIR}/sshd ${D}${sysconfdir}/pam.d/sshd
+		sed -i -e 's:#UsePAM no:UsePAM yes:' ${D}${sysconfdir}/ssh/sshd_config
+	fi
+
+	if [ "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}" ]; then
+		sed -i -e 's:#X11Forwarding no:X11Forwarding yes:' ${D}${sysconfdir}/ssh/sshd_config
+	fi
+
+	install -d ${D}${sysconfdir}/init.d
+	install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/sshd
+	rm -f ${D}${bindir}/slogin ${D}${datadir}/Ssh.bin
+	rmdir ${D}${localstatedir}/run/sshd ${D}${localstatedir}/run ${D}${localstatedir}
+	install -d ${D}/${sysconfdir}/default/volatiles
+	install -m 644 ${WORKDIR}/volatiles.99_sshd ${D}/${sysconfdir}/default/volatiles/99_sshd
+	install -m 0755 ${S}/contrib/ssh-copy-id ${D}${bindir}
+
+	# Create config files for read-only rootfs
+	install -d ${D}${sysconfdir}/ssh
+	install -m 644 ${D}${sysconfdir}/ssh/sshd_config ${D}${sysconfdir}/ssh/sshd_config_readonly
+	sed -i '/HostKey/d' ${D}${sysconfdir}/ssh/sshd_config_readonly
+	echo "HostKey /var/run/ssh/ssh_host_rsa_key" >> ${D}${sysconfdir}/ssh/sshd_config_readonly
+	echo "HostKey /var/run/ssh/ssh_host_ecdsa_key" >> ${D}${sysconfdir}/ssh/sshd_config_readonly
+	echo "HostKey /var/run/ssh/ssh_host_ed25519_key" >> ${D}${sysconfdir}/ssh/sshd_config_readonly
+
+	install -d ${D}${systemd_unitdir}/system
+	install -c -m 0644 ${WORKDIR}/sshd.socket ${D}${systemd_unitdir}/system
+	install -c -m 0644 ${WORKDIR}/sshd@.service ${D}${systemd_unitdir}/system
+	install -c -m 0644 ${WORKDIR}/sshdgenkeys.service ${D}${systemd_unitdir}/system
+	sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \
+		-e 's,@SBINDIR@,${sbindir},g' \
+		-e 's,@BINDIR@,${bindir},g' \
+		-e 's,@LIBEXECDIR@,${libexecdir}/${BPN},g' \
+		${D}${systemd_unitdir}/system/sshd.socket ${D}${systemd_unitdir}/system/*.service
+
+	sed -i -e 's,@LIBEXECDIR@,${libexecdir}/${BPN},g' \
+		${D}${sysconfdir}/init.d/sshd
+
+	install -D -m 0755 ${WORKDIR}/sshd_check_keys ${D}${libexecdir}/${BPN}/sshd_check_keys
+}
+
+do_install_ptest () {
+	sed -i -e "s|^SFTPSERVER=.*|SFTPSERVER=${libexecdir}/sftp-server|" regress/test-exec.sh
+	cp -r regress ${D}${PTEST_PATH}
+}
+
+ALLOW_EMPTY_${PN} = "1"
+
+PACKAGES =+ "${PN}-keygen ${PN}-scp ${PN}-ssh ${PN}-sshd ${PN}-sftp ${PN}-misc ${PN}-sftp-server"
+FILES_${PN}-scp = "${bindir}/scp.${BPN}"
+FILES_${PN}-ssh = "${bindir}/ssh.${BPN} ${sysconfdir}/ssh/ssh_config"
+FILES_${PN}-sshd = "${sbindir}/sshd ${sysconfdir}/init.d/sshd ${systemd_unitdir}/system"
+FILES_${PN}-sshd += "${sysconfdir}/ssh/moduli ${sysconfdir}/ssh/sshd_config ${sysconfdir}/ssh/sshd_config_readonly ${sysconfdir}/default/volatiles/99_sshd ${sysconfdir}/pam.d/sshd"
+FILES_${PN}-sshd += "${libexecdir}/${BPN}/sshd_check_keys"
+FILES_${PN}-sftp = "${bindir}/sftp"
+FILES_${PN}-sftp-server = "${libexecdir}/sftp-server"
+FILES_${PN}-misc = "${bindir}/ssh* ${libexecdir}/ssh*"
+FILES_${PN}-keygen = "${bindir}/ssh-keygen"
+
+RDEPENDS_${PN} += "${PN}-scp ${PN}-ssh ${PN}-sshd ${PN}-keygen"
+RDEPENDS_${PN}-sshd += "${PN}-keygen ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam-plugin-keyinit pam-plugin-loginuid', '', d)}"
+RRECOMMENDS_${PN}-sshd_append_class-target = "\
+    ${@bb.utils.filter('PACKAGECONFIG', 'rng-tools', d)} \
+"
+
+# gdb would make attach-ptrace test pass rather than skip but not worth the build dependencies
+RDEPENDS_${PN}-ptest += "${PN}-sftp ${PN}-misc ${PN}-sftp-server make sed sudo coreutils"
+
+RPROVIDES_${PN}-ssh = "ssh"
+RPROVIDES_${PN}-sshd = "sshd"
+
+RCONFLICTS_${PN} = "dropbear"
+RCONFLICTS_${PN}-sshd = "dropbear"
+
+CONFFILES_${PN}-sshd = "${sysconfdir}/ssh/sshd_config"
+CONFFILES_${PN}-ssh = "${sysconfdir}/ssh/ssh_config"
+
+ALTERNATIVE_PRIORITY = "90"
+ALTERNATIVE_${PN}-scp = "scp"
+ALTERNATIVE_${PN}-ssh = "ssh"
+
+BBCLASSEXTEND += "nativesdk"
diff --git a/poky/meta/recipes-connectivity/openssl/openssl/0003-Add-support-for-io_pgetevents_time64-syscall.patch b/poky/meta/recipes-connectivity/openssl/openssl/0003-Add-support-for-io_pgetevents_time64-syscall.patch
new file mode 100644
index 000000000..d62b9344c
--- /dev/null
+++ b/poky/meta/recipes-connectivity/openssl/openssl/0003-Add-support-for-io_pgetevents_time64-syscall.patch
@@ -0,0 +1,62 @@
+From 5b5e2985f355c8e99c196d9ce5d02c15bebadfbc Mon Sep 17 00:00:00 2001
+From: Alistair Francis 
+Date: Thu, 29 Aug 2019 13:56:21 -0700
+Subject: [PATCH] Add support for io_pgetevents_time64 syscall
+
+32-bit architectures that are y2038 safe don't include syscalls that use
+32-bit time_t. Instead these architectures have suffixed syscalls that
+always use a 64-bit time_t. In the case of the io_getevents syscall the
+syscall has been replaced with the io_pgetevents_time64 syscall instead.
+
+This patch changes the io_getevents() function to use the correct
+syscall based on the avaliable syscalls and the time_t size. We will
+only use the new 64-bit time_t syscall if the architecture is using a
+64-bit time_t. This is to avoid having to deal with 32/64-bit
+conversions and relying on a 64-bit timespec struct on 32-bit time_t
+platforms. As of Linux 5.3 there are no 32-bit time_t architectures
+without __NR_io_getevents. In the future if a 32-bit time_t architecture
+wants to use the 64-bit syscalls we can handle the conversion.
+
+This fixes build failures on 32-bit RISC-V.
+
+Signed-off-by: Alistair Francis 
+
+Reviewed-by: Richard Levitte 
+Reviewed-by: Paul Dale 
+(Merged from https://github.com/openssl/openssl/pull/9819)
+Upstream-Status: Accepted
+---
+ engines/e_afalg.c | 16 ++++++++++++++++
+ 1 file changed, 16 insertions(+)
+
+diff --git a/engines/e_afalg.c b/engines/e_afalg.c
+index dacbe358cb..99516cb1bb 100644
+--- a/engines/e_afalg.c
++++ b/engines/e_afalg.c
+@@ -125,7 +125,23 @@ static ossl_inline int io_getevents(aio_context_t ctx, long min, long max,
+                                struct io_event *events,
+                                struct timespec *timeout)
+ {
++#if defined(__NR_io_getevents)
+     return syscall(__NR_io_getevents, ctx, min, max, events, timeout);
++#elif defined(__NR_io_pgetevents_time64)
++    /* Let's only support the 64 suffix syscalls for 64-bit time_t.
++     * This simplifies the code for us as we don't need to use a 64-bit
++     * version of timespec with a 32-bit time_t and handle converting
++     * between 64-bit and 32-bit times and check for overflows.
++     */
++    if (sizeof(timeout->tv_sec) == 8)
++        return syscall(__NR_io_pgetevents_time64, ctx, min, max, events, timeout, NULL);
++    else {
++        errno = ENOSYS;
++        return -1;
++    }
++#else
++# error "We require either the io_getevents syscall or __NR_io_pgetevents_time64."
++#endif
+ }
+ 
+ static void afalg_waitfd_cleanup(ASYNC_WAIT_CTX *ctx, const void *key,
+-- 
+2.30.1
+
diff --git a/poky/meta/recipes-connectivity/openssl/openssl/0004-Fixup-support-for-io_pgetevents_time64-syscall.patch b/poky/meta/recipes-connectivity/openssl/openssl/0004-Fixup-support-for-io_pgetevents_time64-syscall.patch
new file mode 100644
index 000000000..c8bc6f5c6
--- /dev/null
+++ b/poky/meta/recipes-connectivity/openssl/openssl/0004-Fixup-support-for-io_pgetevents_time64-syscall.patch
@@ -0,0 +1,99 @@
+From e5499a3cac1e823c3e0697e8667e952317b70cc8 Mon Sep 17 00:00:00 2001
+From: Alistair Francis 
+Date: Thu, 4 Mar 2021 12:10:11 -0500
+Subject: [PATCH] Fixup support for io_pgetevents_time64 syscall
+
+This is a fixup for the original commit 5b5e2985f355c8e99c196d9ce5d02c15bebadfbc
+"Add support for io_pgetevents_time64 syscall" that didn't correctly
+work for 32-bit architecutres with a 64-bit time_t that aren't RISC-V.
+
+For a full discussion of the issue see:
+https://github.com/openssl/openssl/commit/5b5e2985f355c8e99c196d9ce5d02c15bebadfbc
+
+Signed-off-by: Alistair Francis 
+
+Reviewed-by: Tomas Mraz 
+Reviewed-by: Paul Dale 
+(Merged from https://github.com/openssl/openssl/pull/14432)
+Upstream-Status: Accepted
+---
+ engines/e_afalg.c | 55 ++++++++++++++++++++++++++++++++++++-----------
+ 1 file changed, 42 insertions(+), 13 deletions(-)
+
+diff --git a/engines/e_afalg.c b/engines/e_afalg.c
+index 9480d7c24b..4e9d67db2d 100644
+--- a/engines/e_afalg.c
++++ b/engines/e_afalg.c
+@@ -124,27 +124,56 @@ static ossl_inline int io_read(aio_context_t ctx, long n, struct iocb **iocb)
+     return syscall(__NR_io_submit, ctx, n, iocb);
+ }
+ 
++/* A version of 'struct timespec' with 32-bit time_t and nanoseconds.  */
++struct __timespec32
++{
++  __kernel_long_t tv_sec;
++  __kernel_long_t tv_nsec;
++};
++
+ static ossl_inline int io_getevents(aio_context_t ctx, long min, long max,
+                                struct io_event *events,
+                                struct timespec *timeout)
+ {
++#if defined(__NR_io_pgetevents_time64)
++    /* Check if we are a 32-bit architecture with a 64-bit time_t */
++    if (sizeof(*timeout) != sizeof(struct __timespec32)) {
++        int ret = syscall(__NR_io_pgetevents_time64, ctx, min, max, events,
++                          timeout, NULL);
++        if (ret == 0 || errno != ENOSYS)
++            return ret;
++    }
++#endif
++
+ #if defined(__NR_io_getevents)
+-    return syscall(__NR_io_getevents, ctx, min, max, events, timeout);
+-#elif defined(__NR_io_pgetevents_time64)
+-    /* Let's only support the 64 suffix syscalls for 64-bit time_t.
+-     * This simplifies the code for us as we don't need to use a 64-bit
+-     * version of timespec with a 32-bit time_t and handle converting
+-     * between 64-bit and 32-bit times and check for overflows.
+-     */
+-    if (sizeof(timeout->tv_sec) == 8)
+-        return syscall(__NR_io_pgetevents_time64, ctx, min, max, events, timeout, NULL);
++    if (sizeof(*timeout) == sizeof(struct __timespec32))
++        /*
++         * time_t matches our architecture length, we can just use
++         * __NR_io_getevents
++         */
++        return syscall(__NR_io_getevents, ctx, min, max, events, timeout);
+     else {
+-        errno = ENOSYS;
+-        return -1;
++        /*
++         * We don't have __NR_io_pgetevents_time64, but we are using a
++         * 64-bit time_t on a 32-bit architecture. If we can fit the
++         * timeout value in a 32-bit time_t, then let's do that
++         * and then use the __NR_io_getevents syscall.
++         */
++        if (timeout && timeout->tv_sec == (long)timeout->tv_sec) {
++            struct __timespec32 ts32;
++
++            ts32.tv_sec = (__kernel_long_t) timeout->tv_sec;
++            ts32.tv_nsec = (__kernel_long_t) timeout->tv_nsec;
++
++            return syscall(__NR_io_getevents, ctx, min, max, events, ts32);
++        } else {
++            return syscall(__NR_io_getevents, ctx, min, max, events, NULL);
++        }
+     }
+-#else
+-# error "We require either the io_getevents syscall or __NR_io_pgetevents_time64."
+ #endif
++
++    errno = ENOSYS;
++    return -1;
+ }
+ 
+ static void afalg_waitfd_cleanup(ASYNC_WAIT_CTX *ctx, const void *key,
+-- 
+2.30.1
+
diff --git a/poky/meta/recipes-connectivity/openssl/openssl_1.1.1j.bb b/poky/meta/recipes-connectivity/openssl/openssl_1.1.1j.bb
deleted file mode 100644
index 181790e6a..000000000
--- a/poky/meta/recipes-connectivity/openssl/openssl_1.1.1j.bb
+++ /dev/null
@@ -1,243 +0,0 @@
-SUMMARY = "Secure Socket Layer"
-DESCRIPTION = "Secure Socket Layer (SSL) binary and related cryptographic tools."
-HOMEPAGE = "http://www.openssl.org/"
-BUGTRACKER = "http://www.openssl.org/news/vulnerabilities.html"
-SECTION = "libs/network"
-
-# "openssl" here actually means both OpenSSL and SSLeay licenses apply
-# (see meta/files/common-licenses/OpenSSL to which "openssl" is SPDXLICENSEMAPped)
-LICENSE = "openssl"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=d343e62fc9c833710bbbed25f27364c8"
-
-DEPENDS = "hostperl-runtime-native"
-
-SRC_URI = "http://www.openssl.org/source/openssl-${PV}.tar.gz \
-           file://run-ptest \
-           file://0001-skip-test_symbol_presence.patch \
-           file://0001-buildinfo-strip-sysroot-and-debug-prefix-map-from-co.patch \
-           file://afalg.patch \
-           file://reproducible.patch \
-           "
-
-SRC_URI_append_class-nativesdk = " \
-           file://environment.d-openssl.sh \
-           "
-
-SRC_URI[sha256sum] = "aaf2fcb575cdf6491b98ab4829abf78a3dec8402b8b81efc8f23c00d443981bf"
-
-inherit lib_package multilib_header multilib_script ptest
-MULTILIB_SCRIPTS = "${PN}-bin:${bindir}/c_rehash"
-
-PACKAGECONFIG ?= ""
-PACKAGECONFIG_class-native = ""
-PACKAGECONFIG_class-nativesdk = ""
-
-PACKAGECONFIG[cryptodev-linux] = "enable-devcryptoeng,disable-devcryptoeng,cryptodev-linux,,cryptodev-module"
-PACKAGECONFIG[no-tls1] = "no-tls1"
-PACKAGECONFIG[no-tls1_1] = "no-tls1_1"
-
-B = "${WORKDIR}/build"
-do_configure[cleandirs] = "${B}"
-
-#| ./libcrypto.so: undefined reference to `getcontext'
-#| ./libcrypto.so: undefined reference to `setcontext'
-#| ./libcrypto.so: undefined reference to `makecontext'
-EXTRA_OECONF_append_libc-musl = " no-async"
-EXTRA_OECONF_append_libc-musl_powerpc64 = " no-asm"
-
-# adding devrandom prevents openssl from using getrandom() which is not available on older glibc versions
-# (native versions can be built with newer glibc, but then relocated onto a system with older glibc)
-EXTRA_OECONF_class-native = "--with-rand-seed=os,devrandom"
-EXTRA_OECONF_class-nativesdk = "--with-rand-seed=os,devrandom"
-
-# Relying on hardcoded built-in paths causes openssl-native to not be relocateable from sstate.
-CFLAGS_append_class-native = " -DOPENSSLDIR=/not/builtin -DENGINESDIR=/not/builtin"
-CFLAGS_append_class-nativesdk = " -DOPENSSLDIR=/not/builtin -DENGINESDIR=/not/builtin"
-
-# Disable deprecated crypto algorithms
-# Retained for compatibilty
-# des (curl)
-# dh (python-ssl)
-# dsa (rpm)
-# md4 (cyrus-sasl freeradius hostapd)
-# bf (wvstreams postgresql x11vnc crda znc cfengine)
-# rc4 (freerdp librtorrent ettercap xrdp transmission pam-ssh-agent-auth php)
-# rc2 (mailx)
-# psk (qt5)
-# srp (libest)
-# whirlpool (qca)
-DEPRECATED_CRYPTO_FLAGS = "no-ssl no-idea no-rc5 no-md2 no-camellia no-mdc2 no-scrypt no-seed no-siphash no-sm2 no-sm3 no-sm4"
-
-do_configure () {
-	os=${HOST_OS}
-	case $os in
-	linux-gnueabi |\
-	linux-gnuspe |\
-	linux-musleabi |\
-	linux-muslspe |\
-	linux-musl )
-		os=linux
-		;;
-	*)
-		;;
-	esac
-	target="$os-${HOST_ARCH}"
-	case $target in
-	linux-arm*)
-		target=linux-armv4
-		;;
-	linux-aarch64*)
-		target=linux-aarch64
-		;;
-	linux-i?86 | linux-viac3)
-		target=linux-x86
-		;;
-	linux-gnux32-x86_64 | linux-muslx32-x86_64 )
-		target=linux-x32
-		;;
-	linux-gnu64-x86_64)
-		target=linux-x86_64
-		;;
-	linux-mips | linux-mipsel)
-		# specifying TARGET_CC_ARCH prevents openssl from (incorrectly) adding target architecture flags
-		target="linux-mips32 ${TARGET_CC_ARCH}"
-		;;
-	linux-gnun32-mips*)
-		target=linux-mips64
-		;;
-	linux-*-mips64 | linux-mips64 | linux-*-mips64el | linux-mips64el)
-		target=linux64-mips64
-		;;
-	linux-microblaze* | linux-nios2* | linux-sh3 | linux-sh4 | linux-arc*)
-		target=linux-generic32
-		;;
-	linux-powerpc)
-		target=linux-ppc
-		;;
-	linux-powerpc64)
-		target=linux-ppc64
-		;;
-	linux-powerpc64le)
-		target=linux-ppc64le
-		;;
-	linux-riscv32)
-		target=linux-generic32
-		;;
-	linux-riscv64)
-		target=linux-generic64
-		;;
-	linux-sparc | linux-supersparc)
-		target=linux-sparcv9
-		;;
-	mingw32-x86_64)
-		target=mingw64
-		;;
-	esac
-
-	useprefix=${prefix}
-	if [ "x$useprefix" = "x" ]; then
-		useprefix=/
-	fi
-	# WARNING: do not set compiler/linker flags (-I/-D etc.) in EXTRA_OECONF, as they will fully replace the
-	# environment variables set by bitbake. Adjust the environment variables instead.
-	HASHBANGPERL="/usr/bin/env perl" PERL=perl PERL5LIB="${S}/external/perl/Text-Template-1.46/lib/" \
-	perl ${S}/Configure ${EXTRA_OECONF} ${PACKAGECONFIG_CONFARGS} ${DEPRECATED_CRYPTO_FLAGS} --prefix=$useprefix --openssldir=${libdir}/ssl-1.1 --libdir=${libdir} $target
-	perl ${B}/configdata.pm --dump
-}
-
-do_install () {
-	oe_runmake DESTDIR="${D}" MANDIR="${mandir}" MANSUFFIX=ssl install
-
-	oe_multilib_header openssl/opensslconf.h
-
-	# Create SSL structure for packages such as ca-certificates which
-	# contain hard-coded paths to /etc/ssl. Debian does the same.
-	install -d ${D}${sysconfdir}/ssl
-	mv ${D}${libdir}/ssl-1.1/certs \
-	   ${D}${libdir}/ssl-1.1/private \
-	   ${D}${libdir}/ssl-1.1/openssl.cnf \
-	   ${D}${sysconfdir}/ssl/
-
-	# Although absolute symlinks would be OK for the target, they become
-	# invalid if native or nativesdk are relocated from sstate.
-	ln -sf ${@oe.path.relative('${libdir}/ssl-1.1', '${sysconfdir}/ssl/certs')} ${D}${libdir}/ssl-1.1/certs
-	ln -sf ${@oe.path.relative('${libdir}/ssl-1.1', '${sysconfdir}/ssl/private')} ${D}${libdir}/ssl-1.1/private
-	ln -sf ${@oe.path.relative('${libdir}/ssl-1.1', '${sysconfdir}/ssl/openssl.cnf')} ${D}${libdir}/ssl-1.1/openssl.cnf
-}
-
-do_install_append_class-native () {
-	create_wrapper ${D}${bindir}/openssl \
-	    OPENSSL_CONF=${libdir}/ssl-1.1/openssl.cnf \
-	    SSL_CERT_DIR=${libdir}/ssl-1.1/certs \
-	    SSL_CERT_FILE=${libdir}/ssl-1.1/cert.pem \
-	    OPENSSL_ENGINES=${libdir}/engines-1.1
-}
-
-do_install_append_class-nativesdk () {
-	mkdir -p ${D}${SDKPATHNATIVE}/environment-setup.d
-	install -m 644 ${WORKDIR}/environment.d-openssl.sh ${D}${SDKPATHNATIVE}/environment-setup.d/openssl.sh
-	sed 's|/usr/lib/ssl/|/usr/lib/ssl-1.1/|g' -i ${D}${SDKPATHNATIVE}/environment-setup.d/openssl.sh
-}
-
-PTEST_BUILD_HOST_FILES += "configdata.pm"
-PTEST_BUILD_HOST_PATTERN = "perl_version ="
-do_install_ptest () {
-	# Prune the build tree
-	rm -f ${B}/fuzz/*.* ${B}/test/*.*
-
-	cp ${S}/Configure ${B}/configdata.pm ${D}${PTEST_PATH}
-	cp -r ${S}/external ${B}/test ${S}/test ${B}/fuzz ${S}/util ${B}/util ${D}${PTEST_PATH}
-
-	# For test_shlibload
-	ln -s ${libdir}/libcrypto.so.1.1 ${D}${PTEST_PATH}/
-	ln -s ${libdir}/libssl.so.1.1 ${D}${PTEST_PATH}/
-
-	install -d ${D}${PTEST_PATH}/apps
-	ln -s ${bindir}/openssl ${D}${PTEST_PATH}/apps
-	install -m644 ${S}/apps/*.pem ${S}/apps/*.srl ${S}/apps/openssl.cnf ${D}${PTEST_PATH}/apps
-	install -m755 ${B}/apps/CA.pl ${D}${PTEST_PATH}/apps
-
-	install -d ${D}${PTEST_PATH}/engines
-	install -m755 ${B}/engines/ossltest.so ${D}${PTEST_PATH}/engines
-
-        # seems to be needed with perl 5.32.1
-        install -d ${D}${PTEST_PATH}/util/perl/recipes
-        cp ${D}${PTEST_PATH}/test/recipes/tconversion.pl ${D}${PTEST_PATH}/util/perl/recipes/
-}
-
-# Add the openssl.cnf file to the openssl-conf package. Make the libcrypto
-# package RRECOMMENDS on this package. This will enable the configuration
-# file to be installed for both the openssl-bin package and the libcrypto
-# package since the openssl-bin package depends on the libcrypto package.
-
-PACKAGES =+ "libcrypto libssl openssl-conf ${PN}-engines ${PN}-misc"
-
-FILES_libcrypto = "${libdir}/libcrypto${SOLIBS}"
-FILES_libssl = "${libdir}/libssl${SOLIBS}"
-FILES_openssl-conf = "${sysconfdir}/ssl/openssl.cnf \
-                      ${libdir}/ssl-1.1/openssl.cnf* \
-                      "
-FILES_${PN}-engines = "${libdir}/engines-1.1"
-# ${prefix} comes from what we pass into --prefix at configure time (which is used for INSTALLTOP)
-FILES_${PN}-engines_append_mingw32_class-nativesdk = " ${prefix}${libdir}/engines-1_1"
-FILES_${PN}-misc = "${libdir}/ssl-1.1/misc ${bindir}/c_rehash"
-FILES_${PN} =+ "${libdir}/ssl-1.1/*"
-FILES_${PN}_append_class-nativesdk = " ${SDKPATHNATIVE}/environment-setup.d/openssl.sh"
-
-CONFFILES_openssl-conf = "${sysconfdir}/ssl/openssl.cnf"
-
-RRECOMMENDS_libcrypto += "openssl-conf"
-RDEPENDS_${PN}-misc = "perl"
-RDEPENDS_${PN}-ptest += "openssl-bin perl perl-modules bash"
-
-RDEPENDS_${PN}-bin += "openssl-conf"
-
-BBCLASSEXTEND = "native nativesdk"
-
-CVE_PRODUCT = "openssl:openssl"
-
-CVE_VERSION_SUFFIX = "alphabetical"
-
-# Only affects OpenSSL >= 1.1.1 in combination with Apache < 2.4.37
-# Apache in meta-webserver is already recent enough
-CVE_CHECK_WHITELIST += "CVE-2019-0190"
diff --git a/poky/meta/recipes-connectivity/openssl/openssl_1.1.1k.bb b/poky/meta/recipes-connectivity/openssl/openssl_1.1.1k.bb
new file mode 100644
index 000000000..e518cb6a0
--- /dev/null
+++ b/poky/meta/recipes-connectivity/openssl/openssl_1.1.1k.bb
@@ -0,0 +1,248 @@
+SUMMARY = "Secure Socket Layer"
+DESCRIPTION = "Secure Socket Layer (SSL) binary and related cryptographic tools."
+HOMEPAGE = "http://www.openssl.org/"
+BUGTRACKER = "http://www.openssl.org/news/vulnerabilities.html"
+SECTION = "libs/network"
+
+# "openssl" here actually means both OpenSSL and SSLeay licenses apply
+# (see meta/files/common-licenses/OpenSSL to which "openssl" is SPDXLICENSEMAPped)
+LICENSE = "openssl"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=d343e62fc9c833710bbbed25f27364c8"
+
+DEPENDS = "hostperl-runtime-native"
+
+SRC_URI = "http://www.openssl.org/source/openssl-${PV}.tar.gz \
+           file://run-ptest \
+           file://0001-skip-test_symbol_presence.patch \
+           file://0001-buildinfo-strip-sysroot-and-debug-prefix-map-from-co.patch \
+           file://afalg.patch \
+           file://reproducible.patch \
+           "
+
+SRC_URI_append_class-nativesdk = " \
+           file://environment.d-openssl.sh \
+           "
+
+SRC_URI_append_riscv32 = " \
+           file://0003-Add-support-for-io_pgetevents_time64-syscall.patch \
+           file://0004-Fixup-support-for-io_pgetevents_time64-syscall.patch \
+           "
+
+SRC_URI[sha256sum] = "892a0875b9872acd04a9fde79b1f943075d5ea162415de3047c327df33fbaee5"
+
+inherit lib_package multilib_header multilib_script ptest
+MULTILIB_SCRIPTS = "${PN}-bin:${bindir}/c_rehash"
+
+PACKAGECONFIG ?= ""
+PACKAGECONFIG_class-native = ""
+PACKAGECONFIG_class-nativesdk = ""
+
+PACKAGECONFIG[cryptodev-linux] = "enable-devcryptoeng,disable-devcryptoeng,cryptodev-linux,,cryptodev-module"
+PACKAGECONFIG[no-tls1] = "no-tls1"
+PACKAGECONFIG[no-tls1_1] = "no-tls1_1"
+
+B = "${WORKDIR}/build"
+do_configure[cleandirs] = "${B}"
+
+#| ./libcrypto.so: undefined reference to `getcontext'
+#| ./libcrypto.so: undefined reference to `setcontext'
+#| ./libcrypto.so: undefined reference to `makecontext'
+EXTRA_OECONF_append_libc-musl = " no-async"
+EXTRA_OECONF_append_libc-musl_powerpc64 = " no-asm"
+
+# adding devrandom prevents openssl from using getrandom() which is not available on older glibc versions
+# (native versions can be built with newer glibc, but then relocated onto a system with older glibc)
+EXTRA_OECONF_class-native = "--with-rand-seed=os,devrandom"
+EXTRA_OECONF_class-nativesdk = "--with-rand-seed=os,devrandom"
+
+# Relying on hardcoded built-in paths causes openssl-native to not be relocateable from sstate.
+CFLAGS_append_class-native = " -DOPENSSLDIR=/not/builtin -DENGINESDIR=/not/builtin"
+CFLAGS_append_class-nativesdk = " -DOPENSSLDIR=/not/builtin -DENGINESDIR=/not/builtin"
+
+# Disable deprecated crypto algorithms
+# Retained for compatibilty
+# des (curl)
+# dh (python-ssl)
+# dsa (rpm)
+# md4 (cyrus-sasl freeradius hostapd)
+# bf (wvstreams postgresql x11vnc crda znc cfengine)
+# rc4 (freerdp librtorrent ettercap xrdp transmission pam-ssh-agent-auth php)
+# rc2 (mailx)
+# psk (qt5)
+# srp (libest)
+# whirlpool (qca)
+DEPRECATED_CRYPTO_FLAGS = "no-ssl no-idea no-rc5 no-md2 no-camellia no-mdc2 no-scrypt no-seed no-siphash no-sm2 no-sm3 no-sm4"
+
+do_configure () {
+	os=${HOST_OS}
+	case $os in
+	linux-gnueabi |\
+	linux-gnuspe |\
+	linux-musleabi |\
+	linux-muslspe |\
+	linux-musl )
+		os=linux
+		;;
+	*)
+		;;
+	esac
+	target="$os-${HOST_ARCH}"
+	case $target in
+	linux-arm*)
+		target=linux-armv4
+		;;
+	linux-aarch64*)
+		target=linux-aarch64
+		;;
+	linux-i?86 | linux-viac3)
+		target=linux-x86
+		;;
+	linux-gnux32-x86_64 | linux-muslx32-x86_64 )
+		target=linux-x32
+		;;
+	linux-gnu64-x86_64)
+		target=linux-x86_64
+		;;
+	linux-mips | linux-mipsel)
+		# specifying TARGET_CC_ARCH prevents openssl from (incorrectly) adding target architecture flags
+		target="linux-mips32 ${TARGET_CC_ARCH}"
+		;;
+	linux-gnun32-mips*)
+		target=linux-mips64
+		;;
+	linux-*-mips64 | linux-mips64 | linux-*-mips64el | linux-mips64el)
+		target=linux64-mips64
+		;;
+	linux-microblaze* | linux-nios2* | linux-sh3 | linux-sh4 | linux-arc*)
+		target=linux-generic32
+		;;
+	linux-powerpc)
+		target=linux-ppc
+		;;
+	linux-powerpc64)
+		target=linux-ppc64
+		;;
+	linux-powerpc64le)
+		target=linux-ppc64le
+		;;
+	linux-riscv32)
+		target=linux-generic32
+		;;
+	linux-riscv64)
+		target=linux-generic64
+		;;
+	linux-sparc | linux-supersparc)
+		target=linux-sparcv9
+		;;
+	mingw32-x86_64)
+		target=mingw64
+		;;
+	esac
+
+	useprefix=${prefix}
+	if [ "x$useprefix" = "x" ]; then
+		useprefix=/
+	fi
+	# WARNING: do not set compiler/linker flags (-I/-D etc.) in EXTRA_OECONF, as they will fully replace the
+	# environment variables set by bitbake. Adjust the environment variables instead.
+	HASHBANGPERL="/usr/bin/env perl" PERL=perl PERL5LIB="${S}/external/perl/Text-Template-1.46/lib/" \
+	perl ${S}/Configure ${EXTRA_OECONF} ${PACKAGECONFIG_CONFARGS} ${DEPRECATED_CRYPTO_FLAGS} --prefix=$useprefix --openssldir=${libdir}/ssl-1.1 --libdir=${libdir} $target
+	perl ${B}/configdata.pm --dump
+}
+
+do_install () {
+	oe_runmake DESTDIR="${D}" MANDIR="${mandir}" MANSUFFIX=ssl install
+
+	oe_multilib_header openssl/opensslconf.h
+
+	# Create SSL structure for packages such as ca-certificates which
+	# contain hard-coded paths to /etc/ssl. Debian does the same.
+	install -d ${D}${sysconfdir}/ssl
+	mv ${D}${libdir}/ssl-1.1/certs \
+	   ${D}${libdir}/ssl-1.1/private \
+	   ${D}${libdir}/ssl-1.1/openssl.cnf \
+	   ${D}${sysconfdir}/ssl/
+
+	# Although absolute symlinks would be OK for the target, they become
+	# invalid if native or nativesdk are relocated from sstate.
+	ln -sf ${@oe.path.relative('${libdir}/ssl-1.1', '${sysconfdir}/ssl/certs')} ${D}${libdir}/ssl-1.1/certs
+	ln -sf ${@oe.path.relative('${libdir}/ssl-1.1', '${sysconfdir}/ssl/private')} ${D}${libdir}/ssl-1.1/private
+	ln -sf ${@oe.path.relative('${libdir}/ssl-1.1', '${sysconfdir}/ssl/openssl.cnf')} ${D}${libdir}/ssl-1.1/openssl.cnf
+}
+
+do_install_append_class-native () {
+	create_wrapper ${D}${bindir}/openssl \
+	    OPENSSL_CONF=${libdir}/ssl-1.1/openssl.cnf \
+	    SSL_CERT_DIR=${libdir}/ssl-1.1/certs \
+	    SSL_CERT_FILE=${libdir}/ssl-1.1/cert.pem \
+	    OPENSSL_ENGINES=${libdir}/engines-1.1
+}
+
+do_install_append_class-nativesdk () {
+	mkdir -p ${D}${SDKPATHNATIVE}/environment-setup.d
+	install -m 644 ${WORKDIR}/environment.d-openssl.sh ${D}${SDKPATHNATIVE}/environment-setup.d/openssl.sh
+	sed 's|/usr/lib/ssl/|/usr/lib/ssl-1.1/|g' -i ${D}${SDKPATHNATIVE}/environment-setup.d/openssl.sh
+}
+
+PTEST_BUILD_HOST_FILES += "configdata.pm"
+PTEST_BUILD_HOST_PATTERN = "perl_version ="
+do_install_ptest () {
+	# Prune the build tree
+	rm -f ${B}/fuzz/*.* ${B}/test/*.*
+
+	cp ${S}/Configure ${B}/configdata.pm ${D}${PTEST_PATH}
+	cp -r ${S}/external ${B}/test ${S}/test ${B}/fuzz ${S}/util ${B}/util ${D}${PTEST_PATH}
+
+	# For test_shlibload
+	ln -s ${libdir}/libcrypto.so.1.1 ${D}${PTEST_PATH}/
+	ln -s ${libdir}/libssl.so.1.1 ${D}${PTEST_PATH}/
+
+	install -d ${D}${PTEST_PATH}/apps
+	ln -s ${bindir}/openssl ${D}${PTEST_PATH}/apps
+	install -m644 ${S}/apps/*.pem ${S}/apps/*.srl ${S}/apps/openssl.cnf ${D}${PTEST_PATH}/apps
+	install -m755 ${B}/apps/CA.pl ${D}${PTEST_PATH}/apps
+
+	install -d ${D}${PTEST_PATH}/engines
+	install -m755 ${B}/engines/ossltest.so ${D}${PTEST_PATH}/engines
+
+        # seems to be needed with perl 5.32.1
+        install -d ${D}${PTEST_PATH}/util/perl/recipes
+        cp ${D}${PTEST_PATH}/test/recipes/tconversion.pl ${D}${PTEST_PATH}/util/perl/recipes/
+}
+
+# Add the openssl.cnf file to the openssl-conf package. Make the libcrypto
+# package RRECOMMENDS on this package. This will enable the configuration
+# file to be installed for both the openssl-bin package and the libcrypto
+# package since the openssl-bin package depends on the libcrypto package.
+
+PACKAGES =+ "libcrypto libssl openssl-conf ${PN}-engines ${PN}-misc"
+
+FILES_libcrypto = "${libdir}/libcrypto${SOLIBS}"
+FILES_libssl = "${libdir}/libssl${SOLIBS}"
+FILES_openssl-conf = "${sysconfdir}/ssl/openssl.cnf \
+                      ${libdir}/ssl-1.1/openssl.cnf* \
+                      "
+FILES_${PN}-engines = "${libdir}/engines-1.1"
+# ${prefix} comes from what we pass into --prefix at configure time (which is used for INSTALLTOP)
+FILES_${PN}-engines_append_mingw32_class-nativesdk = " ${prefix}${libdir}/engines-1_1"
+FILES_${PN}-misc = "${libdir}/ssl-1.1/misc ${bindir}/c_rehash"
+FILES_${PN} =+ "${libdir}/ssl-1.1/*"
+FILES_${PN}_append_class-nativesdk = " ${SDKPATHNATIVE}/environment-setup.d/openssl.sh"
+
+CONFFILES_openssl-conf = "${sysconfdir}/ssl/openssl.cnf"
+
+RRECOMMENDS_libcrypto += "openssl-conf"
+RDEPENDS_${PN}-misc = "perl"
+RDEPENDS_${PN}-ptest += "openssl-bin perl perl-modules bash"
+
+RDEPENDS_${PN}-bin += "openssl-conf"
+
+BBCLASSEXTEND = "native nativesdk"
+
+CVE_PRODUCT = "openssl:openssl"
+
+CVE_VERSION_SUFFIX = "alphabetical"
+
+# Only affects OpenSSL >= 1.1.1 in combination with Apache < 2.4.37
+# Apache in meta-webserver is already recent enough
+CVE_CHECK_WHITELIST += "CVE-2019-0190"
diff --git a/poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/CVE-2021-27803.patch b/poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/CVE-2021-27803.patch
new file mode 100644
index 000000000..004b1dbd1
--- /dev/null
+++ b/poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/CVE-2021-27803.patch
@@ -0,0 +1,58 @@
+From 8460e3230988ef2ec13ce6b69b687e941f6cdb32 Mon Sep 17 00:00:00 2001
+From: Jouni Malinen 
+Date: Tue, 8 Dec 2020 23:52:50 +0200
+Subject: [PATCH] P2P: Fix a corner case in peer addition based on PD Request
+
+p2p_add_device() may remove the oldest entry if there is no room in the
+peer table for a new peer. This would result in any pointer to that
+removed entry becoming stale. A corner case with an invalid PD Request
+frame could result in such a case ending up using (read+write) freed
+memory. This could only by triggered when the peer table has reached its
+maximum size and the PD Request frame is received from the P2P Device
+Address of the oldest remaining entry and the frame has incorrect P2P
+Device Address in the payload.
+
+Fix this by fetching the dev pointer again after having called
+p2p_add_device() so that the stale pointer cannot be used.
+
+Fixes: 17bef1e97a50 ("P2P: Add peer entry based on Provision Discovery Request")
+Signed-off-by: Jouni Malinen 
+
+Upstream-Status: Backport
+CVE: CVE-2021-27803
+
+Reference to upstream patch:
+[https://w1.fi/cgit/hostap/commit/?id=8460e3230988ef2ec13ce6b69b687e941f6cdb32]
+
+Signed-off-by: Stefan Ghinea 
+---
+ src/p2p/p2p_pd.c | 12 +++++-------
+ 1 file changed, 5 insertions(+), 7 deletions(-)
+
+diff --git a/src/p2p/p2p_pd.c b/src/p2p/p2p_pd.c
+index 3994ec0..05fd593 100644
+--- a/src/p2p/p2p_pd.c
++++ b/src/p2p/p2p_pd.c
+@@ -595,14 +595,12 @@ void p2p_process_prov_disc_req(struct p2p_data *p2p, const u8 *sa,
+ 			goto out;
+ 		}
+ 
++		dev = p2p_get_device(p2p, sa);
+ 		if (!dev) {
+-			dev = p2p_get_device(p2p, sa);
+-			if (!dev) {
+-				p2p_dbg(p2p,
+-					"Provision Discovery device not found "
+-					MACSTR, MAC2STR(sa));
+-				goto out;
+-			}
++			p2p_dbg(p2p,
++				"Provision Discovery device not found "
++				MACSTR, MAC2STR(sa));
++			goto out;
+ 		}
+ 	} else if (msg.wfd_subelems) {
+ 		wpabuf_free(dev->info.wfd_subelems);
+-- 
+2.17.1
+
diff --git a/poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.9.bb b/poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.9.bb
index caa6018ce..357c28634 100644
--- a/poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.9.bb
+++ b/poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.9.bb
@@ -31,6 +31,7 @@ SRC_URI = "http://w1.fi/releases/wpa_supplicant-${PV}.tar.gz  \
            file://0002-WPS-UPnP-Fix-event-message-generation-using-a-long-U.patch \
            file://0003-WPS-UPnP-Handle-HTTP-initiation-failures-for-events-.patch \
            file://CVE-2021-0326.patch \
+           file://CVE-2021-27803.patch \
           "
 SRC_URI[md5sum] = "2d2958c782576dc9901092fbfecb4190"
 SRC_URI[sha256sum] = "fcbdee7b4a64bea8177973299c8c824419c413ec2e3a95db63dd6a5dc3541f17"
diff --git a/poky/meta/recipes-core/busybox/busybox-inittab_1.32.0.bb b/poky/meta/recipes-core/busybox/busybox-inittab_1.32.0.bb
deleted file mode 100644
index 3804f4f7b..000000000
--- a/poky/meta/recipes-core/busybox/busybox-inittab_1.32.0.bb
+++ /dev/null
@@ -1,85 +0,0 @@
-SUMMARY = "inittab configuration for BusyBox"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0-only;md5=801f80980d171dd6425610833a22dbe6"
-
-SRC_URI = "file://inittab"
-
-S = "${WORKDIR}"
-
-INHIBIT_DEFAULT_DEPS = "1"
-
-do_compile() {
-	:
-}
-
-do_install() {
-	install -d ${D}${sysconfdir}
-	install -D -m 0644 ${WORKDIR}/inittab ${D}${sysconfdir}/inittab
-	tmp="${SERIAL_CONSOLES}"
-	[ -n "$tmp" ] && echo >> ${D}${sysconfdir}/inittab
-	for i in $tmp
-	do
-		j=`echo ${i} | sed s/\;/\ /g`
-		id=`echo ${i} | sed -e 's/^.*;//' -e 's/;.*//'`
-		echo "$id::respawn:${base_sbindir}/getty ${j}" >> ${D}${sysconfdir}/inittab
-	done
-	if [ "${USE_VT}" = "1" ]; then
-		cat <>${D}${sysconfdir}/inittab
-# ${base_sbindir}/getty invocations for the runlevels.
-#
-# The "id" field MUST be the same as the last
-# characters of the device (after "tty").
-#
-# Format:
-#  :::
-#
-
-EOF
-
-		for n in ${SYSVINIT_ENABLED_GETTYS}
-		do
-			echo "tty$n:12345:respawn:${base_sbindir}/getty 38400 tty$n" >> ${D}${sysconfdir}/inittab
-		done
-		echo "" >> ${D}${sysconfdir}/inittab
-	fi
-
-}
-
-pkg_postinst_${PN} () {
-# run this on host and on target
-if [ "${SERIAL_CONSOLES_CHECK}" = "" ]; then
-       exit 0
-fi
-}
-
-pkg_postinst_ontarget_${PN} () {
-# run this on the target
-if [ -e /proc/consoles ]; then
-        tmp="${SERIAL_CONSOLES_CHECK}"
-        for i in $tmp
-        do
-                j=`echo ${i} | sed -e s/^.*\;//g -e s/\:.*//g`
-                k=`echo ${i} | sed s/^.*\://g`
-                if [ -z "`grep ${j} /proc/consoles`" ]; then
-                        if [ -z "${k}" ] || [ -z "`grep ${k} /proc/consoles`" ] || [ ! -e /dev/${j} ]; then
-                                sed -i -e /^.*${j}\ /d -e /^.*${j}$/d /etc/inittab
-                        fi
-                fi
-        done
-        kill -HUP 1
-else
-        exit 1
-fi
-}
-
-# SERIAL_CONSOLES is generally defined by the MACHINE .conf.
-# Set PACKAGE_ARCH appropriately.
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-
-FILES_${PN} = "${sysconfdir}/inittab"
-CONFFILES_${PN} = "${sysconfdir}/inittab"
-
-RCONFLICTS_${PN} = "sysvinit-inittab"
-
-USE_VT ?= "1"
-SYSVINIT_ENABLED_GETTYS ?= "1"
diff --git a/poky/meta/recipes-core/busybox/busybox-inittab_1.33.0.bb b/poky/meta/recipes-core/busybox/busybox-inittab_1.33.0.bb
new file mode 100644
index 000000000..0021e4551
--- /dev/null
+++ b/poky/meta/recipes-core/busybox/busybox-inittab_1.33.0.bb
@@ -0,0 +1,88 @@
+SUMMARY = "inittab configuration for BusyBox"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0-only;md5=801f80980d171dd6425610833a22dbe6"
+
+SRC_URI = "file://inittab"
+
+S = "${WORKDIR}"
+
+INHIBIT_DEFAULT_DEPS = "1"
+
+do_compile() {
+	:
+}
+
+do_install() {
+	install -d ${D}${sysconfdir}
+	install -D -m 0644 ${WORKDIR}/inittab ${D}${sysconfdir}/inittab
+	tmp="${SERIAL_CONSOLES}"
+	[ -n "$tmp" ] && echo >> ${D}${sysconfdir}/inittab
+	for i in $tmp
+	do
+		j=`echo ${i} | sed s/\;/\ /g`
+		id=`echo ${i} | sed -e 's/^.*;//' -e 's/;.*//'`
+		echo "$id::respawn:${base_sbindir}/getty ${j}" >> ${D}${sysconfdir}/inittab
+	done
+	if [ "${USE_VT}" = "1" ]; then
+		cat <>${D}${sysconfdir}/inittab
+# ${base_sbindir}/getty invocations for the runlevels.
+#
+# The "id" field MUST be the same as the last
+# characters of the device (after "tty").
+#
+# Format:
+#  :::
+#
+
+EOF
+
+		for n in ${SYSVINIT_ENABLED_GETTYS}
+		do
+			echo "tty$n:12345:respawn:${base_sbindir}/getty 38400 tty$n" >> ${D}${sysconfdir}/inittab
+		done
+		echo "" >> ${D}${sysconfdir}/inittab
+	fi
+
+}
+do_install_append_qemuppc64 () {
+            echo "9:12345:respawn:${base_sbindir}/getty 38400 hvc0" >> ${D}${sysconfdir}/inittab
+}
+
+pkg_postinst_${PN} () {
+# run this on host and on target
+if [ "${SERIAL_CONSOLES_CHECK}" = "" ]; then
+       exit 0
+fi
+}
+
+pkg_postinst_ontarget_${PN} () {
+# run this on the target
+if [ -e /proc/consoles ]; then
+        tmp="${SERIAL_CONSOLES_CHECK}"
+        for i in $tmp
+        do
+                j=`echo ${i} | sed -e s/^.*\;//g -e s/\:.*//g`
+                k=`echo ${i} | sed s/^.*\://g`
+                if [ -z "`grep ${j} /proc/consoles`" ]; then
+                        if [ -z "${k}" ] || [ -z "`grep ${k} /proc/consoles`" ] || [ ! -e /dev/${j} ]; then
+                                sed -i -e /^.*${j}\ /d -e /^.*${j}$/d /etc/inittab
+                        fi
+                fi
+        done
+        kill -HUP 1
+else
+        exit 1
+fi
+}
+
+# SERIAL_CONSOLES is generally defined by the MACHINE .conf.
+# Set PACKAGE_ARCH appropriately.
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+FILES_${PN} = "${sysconfdir}/inittab"
+CONFFILES_${PN} = "${sysconfdir}/inittab"
+
+RCONFLICTS_${PN} = "sysvinit-inittab"
+
+USE_VT ?= "1"
+SYSVINIT_ENABLED_GETTYS ?= "1"
diff --git a/poky/meta/recipes-core/busybox/busybox/defconfig b/poky/meta/recipes-core/busybox/busybox/defconfig
index 4334a9d73..701d48d62 100644
--- a/poky/meta/recipes-core/busybox/busybox/defconfig
+++ b/poky/meta/recipes-core/busybox/busybox/defconfig
@@ -1,7 +1,7 @@
 #
 # Automatically generated make config: don't edit
-# Busybox version: 1.30.1
-# Sun Feb 17 18:12:27 2019
+# Busybox version: 1.33.0
+# Wed Mar 10 13:29:25 2021
 #
 CONFIG_HAVE_DOT_CONFIG=y
 
@@ -34,8 +34,8 @@ CONFIG_FEATURE_SUID_CONFIG_QUIET=y
 CONFIG_BUSYBOX_EXEC_PATH="/proc/self/exe"
 # CONFIG_SELINUX is not set
 # CONFIG_FEATURE_CLEAN_UP is not set
+CONFIG_FEATURE_SYSLOG_INFO=y
 CONFIG_FEATURE_SYSLOG=y
-CONFIG_PLATFORM_LINUX=y
 
 #
 # Build Options
@@ -54,6 +54,7 @@ CONFIG_EXTRA_LDFLAGS=""
 CONFIG_EXTRA_LDLIBS=""
 # CONFIG_USE_PORTABLE_CODE is not set
 CONFIG_STACK_OPTIMIZATION_386=y
+CONFIG_STATIC_LIBGCC=y
 
 #
 # Installation Options ("make install" behavior)
@@ -75,6 +76,7 @@ CONFIG_PREFIX="./_install"
 # CONFIG_DEBUG_SANITIZE is not set
 # CONFIG_UNIT_TEST is not set
 # CONFIG_WERROR is not set
+# CONFIG_WARN_SIMPLE_MSG is not set
 CONFIG_NO_DEBUG_LIB=y
 # CONFIG_DMALLOC is not set
 # CONFIG_EFENCE is not set
@@ -108,13 +110,13 @@ CONFIG_FEATURE_EDITING_FANCY_PROMPT=y
 # CONFIG_FEATURE_EDITING_WINCH is not set
 # CONFIG_FEATURE_EDITING_ASK_TERMINAL is not set
 # CONFIG_LOCALE_SUPPORT is not set
-# CONFIG_UNICODE_SUPPORT is not set
+CONFIG_UNICODE_SUPPORT=y
 # CONFIG_UNICODE_USING_LOCALE is not set
-# CONFIG_FEATURE_CHECK_UNICODE_IN_ENV is not set
-CONFIG_SUBST_WCHAR=0
-CONFIG_LAST_SUPPORTED_WCHAR=0
-# CONFIG_UNICODE_COMBINING_WCHARS is not set
-# CONFIG_UNICODE_WIDE_WCHARS is not set
+CONFIG_FEATURE_CHECK_UNICODE_IN_ENV=y
+CONFIG_SUBST_WCHAR=63
+CONFIG_LAST_SUPPORTED_WCHAR=767
+CONFIG_UNICODE_COMBINING_WCHARS=y
+CONFIG_UNICODE_WIDE_WCHARS=y
 # CONFIG_UNICODE_BIDI_SUPPORT is not set
 # CONFIG_UNICODE_NEUTRAL_TABLE is not set
 # CONFIG_UNICODE_PRESERVE_BROKEN is not set
@@ -155,6 +157,7 @@ CONFIG_LZCAT=y
 CONFIG_XZCAT=y
 # CONFIG_XZ is not set
 CONFIG_BZIP2=y
+CONFIG_BZIP2_SMALL=8
 CONFIG_FEATURE_BZIP2_DECOMPRESS=y
 CONFIG_CPIO=y
 # CONFIG_FEATURE_CPIO_O is not set
@@ -235,7 +238,6 @@ CONFIG_EXPR_MATH_SUPPORT_64=y
 # CONFIG_FACTOR is not set
 CONFIG_FALSE=y
 # CONFIG_FOLD is not set
-# CONFIG_FSYNC is not set
 CONFIG_HEAD=y
 # CONFIG_FEATURE_FANCY_HEAD is not set
 # CONFIG_HOSTID is not set
@@ -257,8 +259,8 @@ CONFIG_FEATURE_LS_USERNAME=y
 CONFIG_FEATURE_LS_COLOR=y
 # CONFIG_FEATURE_LS_COLOR_IS_DEFAULT is not set
 CONFIG_MD5SUM=y
-# CONFIG_SHA1SUM is not set
-# CONFIG_SHA256SUM is not set
+CONFIG_SHA1SUM=y
+CONFIG_SHA256SUM=y
 # CONFIG_SHA512SUM is not set
 # CONFIG_SHA3SUM is not set
 
@@ -302,6 +304,7 @@ CONFIG_STTY=y
 # CONFIG_SUM is not set
 CONFIG_SYNC=y
 # CONFIG_FEATURE_SYNC_FANCY is not set
+# CONFIG_FSYNC is not set
 # CONFIG_TAC is not set
 CONFIG_TAIL=y
 CONFIG_FEATURE_FANCY_TAIL=y
@@ -328,14 +331,15 @@ CONFIG_UNIQ=y
 CONFIG_UNLINK=y
 CONFIG_USLEEP=y
 # CONFIG_UUDECODE is not set
+CONFIG_BASE32=y
 # CONFIG_BASE64 is not set
 # CONFIG_UUENCODE is not set
 CONFIG_WC=y
 # CONFIG_FEATURE_WC_LARGE is not set
-CONFIG_WHOAMI=y
 CONFIG_WHO=y
 # CONFIG_W is not set
 CONFIG_USERS=y
+CONFIG_WHOAMI=y
 CONFIG_YES=y
 
 #
@@ -375,8 +379,8 @@ CONFIG_DEFAULT_SETFONT_DIR=""
 CONFIG_LOADKMAP=y
 CONFIG_OPENVT=y
 CONFIG_RESET=y
-# CONFIG_RESIZE is not set
-# CONFIG_FEATURE_RESIZE_PRINT is not set
+CONFIG_RESIZE=y
+CONFIG_FEATURE_RESIZE_PRINT=y
 CONFIG_SETCONSOLE=y
 # CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS is not set
 # CONFIG_SETKEYCODES is not set
@@ -460,6 +464,7 @@ CONFIG_FEATURE_FIND_SIZE=y
 CONFIG_FEATURE_FIND_PRUNE=y
 CONFIG_FEATURE_FIND_QUIT=y
 # CONFIG_FEATURE_FIND_DELETE is not set
+CONFIG_FEATURE_FIND_EMPTY=y
 CONFIG_FEATURE_FIND_PATH=y
 CONFIG_FEATURE_FIND_REGEX=y
 # CONFIG_FEATURE_FIND_CONTEXT is not set
@@ -488,32 +493,32 @@ CONFIG_FEATURE_XARGS_SUPPORT_REPL_STR=y
 CONFIG_REBOOT=y
 # CONFIG_FEATURE_WAIT_FOR_INIT is not set
 # CONFIG_FEATURE_CALL_TELINIT is not set
-# CONFIG_TELINIT_PATH is not set
+CONFIG_TELINIT_PATH=""
 # CONFIG_INIT is not set
 # CONFIG_LINUXRC is not set
 # CONFIG_FEATURE_USE_INITTAB is not set
 # CONFIG_FEATURE_KILL_REMOVED is not set
-# CONFIG_FEATURE_KILL_DELAY is not set
+CONFIG_FEATURE_KILL_DELAY=0
 # CONFIG_FEATURE_INIT_SCTTY is not set
 # CONFIG_FEATURE_INIT_SYSLOG is not set
 # CONFIG_FEATURE_INIT_QUIET is not set
 # CONFIG_FEATURE_INIT_COREDUMPS is not set
-# CONFIG_INIT_TERMINAL_TYPE is not set
+CONFIG_INIT_TERMINAL_TYPE=""
 # CONFIG_FEATURE_INIT_MODIFY_CMDLINE is not set
 
 #
 # Login/Password Management Utilities
 #
-# CONFIG_FEATURE_SHADOWPASSWDS is not set
+CONFIG_FEATURE_SHADOWPASSWDS=y
 # CONFIG_USE_BB_PWD_GRP is not set
 # CONFIG_USE_BB_SHADOW is not set
 CONFIG_USE_BB_CRYPT=y
 # CONFIG_USE_BB_CRYPT_SHA is not set
-# CONFIG_ADDGROUP is not set
-# CONFIG_FEATURE_ADDUSER_TO_GROUP is not set
 # CONFIG_ADD_SHELL is not set
 # CONFIG_REMOVE_SHELL is not set
-# CONFIG_ADDUSER is not set
+CONFIG_ADDGROUP=y
+# CONFIG_FEATURE_ADDUSER_TO_GROUP is not set
+CONFIG_ADDUSER=y
 # CONFIG_FEATURE_CHECK_NAMES is not set
 CONFIG_LAST_ID=60000
 CONFIG_FIRST_SYSTEM_ID=100
@@ -522,23 +527,23 @@ CONFIG_LAST_SYSTEM_ID=999
 CONFIG_FEATURE_DEFAULT_PASSWD_ALGO=""
 # CONFIG_CRYPTPW is not set
 # CONFIG_MKPASSWD is not set
-# CONFIG_DELUSER is not set
-# CONFIG_DELGROUP is not set
+CONFIG_DELUSER=y
+CONFIG_DELGROUP=y
 # CONFIG_FEATURE_DEL_USER_FROM_GROUP is not set
-# CONFIG_GETTY is not set
-# CONFIG_LOGIN is not set
+CONFIG_GETTY=y
+CONFIG_LOGIN=y
 # CONFIG_LOGIN_SESSION_AS_CHILD is not set
 # CONFIG_LOGIN_SCRIPTS is not set
 # CONFIG_FEATURE_NOLOGIN is not set
 # CONFIG_FEATURE_SECURETTY is not set
-# CONFIG_PASSWD is not set
+CONFIG_PASSWD=y
 # CONFIG_FEATURE_PASSWD_WEAK_CHECK is not set
-# CONFIG_SU is not set
+CONFIG_SU=y
 # CONFIG_FEATURE_SU_SYSLOG is not set
 # CONFIG_FEATURE_SU_CHECKS_SHELLS is not set
 # CONFIG_FEATURE_SU_BLANK_PW_NEEDS_SECURE_TTY is not set
-# CONFIG_SULOGIN is not set
-# CONFIG_VLOCK is not set
+CONFIG_SULOGIN=y
+CONFIG_VLOCK=y
 
 #
 # Linux Ext2 FS Progs
@@ -585,8 +590,8 @@ CONFIG_DEFAULT_DEPMOD_FILE="modules.dep"
 # CONFIG_ACPID is not set
 # CONFIG_FEATURE_ACPID_COMPAT is not set
 # CONFIG_BLKDISCARD is not set
-# CONFIG_BLKID is not set
-# CONFIG_FEATURE_BLKID_TYPE is not set
+CONFIG_BLKID=y
+CONFIG_FEATURE_BLKID_TYPE=y
 # CONFIG_BLOCKDEV is not set
 # CONFIG_CAL is not set
 # CONFIG_CHRT is not set
@@ -616,10 +621,9 @@ CONFIG_FLOCK=y
 # CONFIG_FSCK_MINIX is not set
 # CONFIG_FSFREEZE is not set
 CONFIG_FSTRIM=y
-# CONFIG_GETOPT is not set
-# CONFIG_FEATURE_GETOPT_LONG is not set
+CONFIG_GETOPT=y
+CONFIG_FEATURE_GETOPT_LONG=y
 CONFIG_HEXDUMP=y
-# CONFIG_FEATURE_HEXDUMP_REVERSE is not set
 # CONFIG_HD is not set
 # CONFIG_XXD is not set
 CONFIG_HWCLOCK=y
@@ -638,6 +642,7 @@ CONFIG_LOSETUP=y
 # CONFIG_FEATURE_MDEV_RENAME_REGEXP is not set
 # CONFIG_FEATURE_MDEV_EXEC is not set
 # CONFIG_FEATURE_MDEV_LOAD_FIRMWARE is not set
+# CONFIG_FEATURE_MDEV_DAEMON is not set
 CONFIG_MESG=y
 # CONFIG_FEATURE_MESG_ENABLE_ONLY_GROUP is not set
 # CONFIG_MKE2FS is not set
@@ -654,7 +659,7 @@ CONFIG_MOUNT=y
 # CONFIG_FEATURE_MOUNT_FAKE is not set
 # CONFIG_FEATURE_MOUNT_VERBOSE is not set
 # CONFIG_FEATURE_MOUNT_HELPERS is not set
-# CONFIG_FEATURE_MOUNT_LABEL is not set
+CONFIG_FEATURE_MOUNT_LABEL=y
 # CONFIG_FEATURE_MOUNT_NFS is not set
 # CONFIG_FEATURE_MOUNT_CIFS is not set
 CONFIG_FEATURE_MOUNT_FLAGS=y
@@ -669,7 +674,7 @@ CONFIG_RDATE=y
 # CONFIG_RDEV is not set
 # CONFIG_READPROFILE is not set
 CONFIG_RENICE=y
-# CONFIG_REV is not set
+CONFIG_REV=y
 # CONFIG_RTCWAKE is not set
 # CONFIG_SCRIPT is not set
 # CONFIG_SCRIPTREPLAY is not set
@@ -689,6 +694,7 @@ CONFIG_SWAPOFF=y
 CONFIG_SWITCH_ROOT=y
 # CONFIG_TASKSET is not set
 # CONFIG_FEATURE_TASKSET_FANCY is not set
+# CONFIG_FEATURE_TASKSET_CPULIST is not set
 # CONFIG_UEVENT is not set
 CONFIG_UMOUNT=y
 CONFIG_FEATURE_UMOUNT_ALL=y
@@ -701,18 +707,19 @@ CONFIG_FEATURE_UMOUNT_ALL=y
 CONFIG_FEATURE_MOUNT_LOOP=y
 CONFIG_FEATURE_MOUNT_LOOP_CREATE=y
 # CONFIG_FEATURE_MTAB_SUPPORT is not set
-# CONFIG_VOLUMEID is not set
+CONFIG_VOLUMEID=y
 
 #
 # Filesystem/Volume identification
 #
 # CONFIG_FEATURE_VOLUMEID_BCACHE is not set
-# CONFIG_FEATURE_VOLUMEID_BTRFS is not set
+CONFIG_FEATURE_VOLUMEID_BTRFS=y
 # CONFIG_FEATURE_VOLUMEID_CRAMFS is not set
+CONFIG_FEATURE_VOLUMEID_EROFS=y
 # CONFIG_FEATURE_VOLUMEID_EXFAT is not set
-# CONFIG_FEATURE_VOLUMEID_EXT is not set
-# CONFIG_FEATURE_VOLUMEID_F2FS is not set
-# CONFIG_FEATURE_VOLUMEID_FAT is not set
+CONFIG_FEATURE_VOLUMEID_EXT=y
+CONFIG_FEATURE_VOLUMEID_F2FS=y
+CONFIG_FEATURE_VOLUMEID_FAT=y
 # CONFIG_FEATURE_VOLUMEID_HFS is not set
 # CONFIG_FEATURE_VOLUMEID_ISO9660 is not set
 # CONFIG_FEATURE_VOLUMEID_JFS is not set
@@ -726,7 +733,7 @@ CONFIG_FEATURE_MOUNT_LOOP_CREATE=y
 # CONFIG_FEATURE_VOLUMEID_OCFS2 is not set
 # CONFIG_FEATURE_VOLUMEID_REISERFS is not set
 # CONFIG_FEATURE_VOLUMEID_ROMFS is not set
-# CONFIG_FEATURE_VOLUMEID_SQUASHFS is not set
+CONFIG_FEATURE_VOLUMEID_SQUASHFS=y
 # CONFIG_FEATURE_VOLUMEID_SYSV is not set
 # CONFIG_FEATURE_VOLUMEID_UBIFS is not set
 # CONFIG_FEATURE_VOLUMEID_UDF is not set
@@ -769,10 +776,10 @@ CONFIG_FEATURE_CROND_DIR=""
 # CONFIG_FEATURE_DEVFS is not set
 # CONFIG_DEVMEM is not set
 # CONFIG_FBSPLASH is not set
-# CONFIG_FLASHCP is not set
 # CONFIG_FLASH_ERASEALL is not set
 # CONFIG_FLASH_LOCK is not set
 # CONFIG_FLASH_UNLOCK is not set
+# CONFIG_FLASHCP is not set
 # CONFIG_HDPARM is not set
 # CONFIG_FEATURE_HDPARM_GET_IDENTITY is not set
 # CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF is not set
@@ -806,6 +813,7 @@ CONFIG_FEATURE_LESS_FLAGS=y
 # CONFIG_FEATURE_MAKEDEVS_TABLE is not set
 # CONFIG_MAN is not set
 CONFIG_MICROCOM=y
+# CONFIG_MIM is not set
 # CONFIG_MT is not set
 # CONFIG_NANDWRITE is not set
 # CONFIG_NANDDUMP is not set
@@ -819,14 +827,15 @@ CONFIG_RFKILL=y
 # CONFIG_SETSERIAL is not set
 CONFIG_STRINGS=y
 CONFIG_TIME=y
+CONFIG_TS=y
 # CONFIG_TTYSIZE is not set
-# CONFIG_UBIRENAME is not set
 # CONFIG_UBIATTACH is not set
 # CONFIG_UBIDETACH is not set
 # CONFIG_UBIMKVOL is not set
 # CONFIG_UBIRMVOL is not set
 # CONFIG_UBIRSVOL is not set
 # CONFIG_UBIUPDATEVOL is not set
+# CONFIG_UBIRENAME is not set
 # CONFIG_VOLNAME is not set
 # CONFIG_WATCHDOG is not set
 
@@ -866,6 +875,10 @@ CONFIG_DNSDOMAINNAME=y
 # CONFIG_FEATURE_HTTPD_ERROR_PAGES is not set
 # CONFIG_FEATURE_HTTPD_PROXY is not set
 # CONFIG_FEATURE_HTTPD_GZIP is not set
+# CONFIG_FEATURE_HTTPD_ETAG is not set
+# CONFIG_FEATURE_HTTPD_LAST_MODIFIED is not set
+# CONFIG_FEATURE_HTTPD_DATE is not set
+# CONFIG_FEATURE_HTTPD_ACL_IP is not set
 CONFIG_IFCONFIG=y
 CONFIG_FEATURE_IFCONFIG_STATUS=y
 # CONFIG_FEATURE_IFCONFIG_SLIP is not set
@@ -946,6 +959,7 @@ CONFIG_FEATURE_TELNET_WIDTH=y
 # CONFIG_FEATURE_TELNETD_INETD_WAIT is not set
 CONFIG_TFTP=y
 # CONFIG_FEATURE_TFTP_PROGRESS_BAR is not set
+CONFIG_FEATURE_TFTP_HPA_COMPAT=y
 # CONFIG_TFTPD is not set
 CONFIG_FEATURE_TFTP_GET=y
 CONFIG_FEATURE_TFTP_PUT=y
@@ -990,6 +1004,7 @@ CONFIG_UDHCPC_DEFAULT_SCRIPT="/usr/share/udhcpc/default.script"
 # CONFIG_FEATURE_UDHCP_PORT is not set
 CONFIG_UDHCP_DEBUG=0
 CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=80
+CONFIG_FEATURE_UDHCP_RFC3397=y
 # CONFIG_FEATURE_UDHCP_8021Q is not set
 CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS="-R -b"
 
@@ -1023,7 +1038,7 @@ CONFIG_KILLALL=y
 # CONFIG_LSOF is not set
 # CONFIG_MPSTAT is not set
 # CONFIG_NMETER is not set
-# CONFIG_PGREP is not set
+CONFIG_PGREP=y
 # CONFIG_PKILL is not set
 CONFIG_PIDOF=y
 # CONFIG_FEATURE_PIDOF_SINGLE is not set
@@ -1093,6 +1108,7 @@ CONFIG_SH_IS_ASH=y
 # CONFIG_BASH_IS_ASH is not set
 # CONFIG_BASH_IS_HUSH is not set
 CONFIG_BASH_IS_NONE=y
+CONFIG_SHELL_ASH=y
 CONFIG_ASH=y
 CONFIG_ASH_OPTIMIZE_FOR_SIZE=y
 CONFIG_ASH_INTERNAL_GLOB=y
@@ -1113,6 +1129,7 @@ CONFIG_ASH_GETOPTS=y
 CONFIG_ASH_CMDCMD=y
 # CONFIG_CTTYHACK is not set
 # CONFIG_HUSH is not set
+# CONFIG_SHELL_HUSH is not set
 # CONFIG_HUSH_BASH_COMPAT is not set
 # CONFIG_HUSH_BRACE_EXPANSION is not set
 # CONFIG_HUSH_LINENO_VAR is not set
@@ -1154,6 +1171,7 @@ CONFIG_ASH_CMDCMD=y
 #
 CONFIG_FEATURE_SH_MATH=y
 # CONFIG_FEATURE_SH_MATH_64 is not set
+CONFIG_FEATURE_SH_MATH_BASE=y
 CONFIG_FEATURE_SH_EXTRA_QUIET=y
 # CONFIG_FEATURE_SH_STANDALONE is not set
 # CONFIG_FEATURE_SH_NOFORK is not set
@@ -1171,14 +1189,15 @@ CONFIG_KLOGD=y
 #
 CONFIG_FEATURE_KLOGD_KLOGCTL=y
 CONFIG_LOGGER=y
-# CONFIG_LOGREAD is not set
-# CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING is not set
-# CONFIG_SYSLOGD is not set
-# CONFIG_FEATURE_ROTATE_LOGFILE is not set
-# CONFIG_FEATURE_REMOTE_LOG is not set
-# CONFIG_FEATURE_SYSLOGD_DUP is not set
-# CONFIG_FEATURE_SYSLOGD_CFG is not set
-CONFIG_FEATURE_SYSLOGD_READ_BUFFER_SIZE=0
-# CONFIG_FEATURE_IPC_SYSLOG is not set
-CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=0
-# CONFIG_FEATURE_KMSG_SYSLOG is not set
+CONFIG_LOGREAD=y
+CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING=y
+CONFIG_SYSLOGD=y
+CONFIG_FEATURE_ROTATE_LOGFILE=y
+CONFIG_FEATURE_REMOTE_LOG=y
+CONFIG_FEATURE_SYSLOGD_DUP=y
+CONFIG_FEATURE_SYSLOGD_CFG=y
+# CONFIG_FEATURE_SYSLOGD_PRECISE_TIMESTAMPS is not set
+CONFIG_FEATURE_SYSLOGD_READ_BUFFER_SIZE=256
+CONFIG_FEATURE_IPC_SYSLOG=y
+CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=64
+CONFIG_FEATURE_KMSG_SYSLOG=y
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-gobject-Drop-use-of-volatile-from-get_type-macros.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-gobject-Drop-use-of-volatile-from-get_type-macros.patch
new file mode 100644
index 000000000..485218652
--- /dev/null
+++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-gobject-Drop-use-of-volatile-from-get_type-macros.patch
@@ -0,0 +1,403 @@
+From fab561f8d05794329184cd81f9ab9d9d77dcc22a Mon Sep 17 00:00:00 2001
+From: Philip Withnall 
+Date: Wed, 11 Nov 2020 18:12:22 +0000
+Subject: [PATCH 01/29] gobject: Drop use of volatile from get_type() macros
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+http://isvolatileusefulwiththreads.in/c/
+
+It’s possible that the variables here are only marked as volatile
+because they’re arguments to `g_once_*()`. Those arguments will be
+modified in a subsequent commit.
+
+Signed-off-by: Philip Withnall 
+
+Helps: #600
+Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719]
+---
+ docs/reference/gobject/glib-mkenums.xml |  8 ++---
+ docs/reference/gobject/tut_gtype.xml    |  2 +-
+ gio/gioenumtypes.c.template             |  8 ++---
+ gio/tests/gsettings.c                   |  4 +--
+ gobject/gbinding.c                      |  8 ++---
+ gobject/gboxed.c                        |  8 ++---
+ gobject/glib-enumtypes.c.template       |  8 ++---
+ gobject/gsourceclosure.c                |  2 +-
+ gobject/gtype.h                         | 48 ++++++++++++-------------
+ gobject/tests/signals.c                 | 16 ++++-----
+ 10 files changed, 56 insertions(+), 56 deletions(-)
+
+diff --git a/docs/reference/gobject/glib-mkenums.xml b/docs/reference/gobject/glib-mkenums.xml
+index 2200328ed..ce250a3ff 100644
+--- a/docs/reference/gobject/glib-mkenums.xml
++++ b/docs/reference/gobject/glib-mkenums.xml
+@@ -480,9 +480,9 @@ A C source template file will typically look like this:
+ GType
+ @enum_name@_get_type (void)
+ {
+-  static volatile gsize g_@type@_type_id__volatile;
++  static gsize static_g_@type@_type_id;
+ 
+-  if (g_once_init_enter (&g_define_type_id__volatile))
++  if (g_once_init_enter (&static_g_@type@_type_id))
+     {
+       static const G@Type@Value values[] = {
+ /*** END value-header ***/
+@@ -498,9 +498,9 @@ GType
+       GType g_@type@_type_id =
+         g_@type@_register_static (g_intern_static_string ("@EnumName@"), values);
+ 
+-      g_once_init_leave (&g_@type@_type_id__volatile, g_@type@_type_id);
++      g_once_init_leave (&static_g_@type@_type_id, g_@type@_type_id);
+     }
+-  return g_@type@_type_id__volatile;
++  return static_g_@type@_type_id;
+ }
+ 
+ /*** END value-tail ***/
+diff --git a/docs/reference/gobject/tut_gtype.xml b/docs/reference/gobject/tut_gtype.xml
+index 25e37dc48..ee042889d 100644
+--- a/docs/reference/gobject/tut_gtype.xml
++++ b/docs/reference/gobject/tut_gtype.xml
+@@ -852,7 +852,7 @@ viewer_editable_default_init (ViewerEditableInterface *iface)
+ GType
+ viewer_editable_get_type (void)
+ {
+-  static volatile gsize type_id = 0;
++  static gsize type_id = 0;
+   if (g_once_init_enter (&type_id)) {
+     const GTypeInfo info = {
+       sizeof (ViewerEditableInterface),
+diff --git a/gio/gioenumtypes.c.template b/gio/gioenumtypes.c.template
+index e9adc4a38..948a01201 100644
+--- a/gio/gioenumtypes.c.template
++++ b/gio/gioenumtypes.c.template
+@@ -13,9 +13,9 @@
+ GType
+ @enum_name@_get_type (void)
+ {
+-  static volatile gsize g_define_type_id__volatile = 0;
++  static gsize static_g_define_type_id = 0;
+ 
+-  if (g_once_init_enter (&g_define_type_id__volatile))
++  if (g_once_init_enter (&static_g_define_type_id))
+     {
+       static const G@Type@Value values[] = {
+ /*** END value-header ***/
+@@ -29,10 +29,10 @@ GType
+       };
+       GType g_define_type_id =
+         g_@type@_register_static (g_intern_static_string ("@EnumName@"), values);
+-      g_once_init_leave (&g_define_type_id__volatile, g_define_type_id);
++      g_once_init_leave (&static_g_define_type_id, g_define_type_id);
+     }
+ 
+-  return g_define_type_id__volatile;
++  return static_g_define_type_id;
+ }
+ 
+ /*** END value-tail ***/
+diff --git a/gio/tests/gsettings.c b/gio/tests/gsettings.c
+index 2f81ae6c3..179d0fd2f 100644
+--- a/gio/tests/gsettings.c
++++ b/gio/tests/gsettings.c
+@@ -1060,7 +1060,7 @@ test_object_set_property (GObject      *object,
+ static GType
+ test_enum_get_type (void)
+ {
+-  static volatile gsize define_type_id = 0;
++  static gsize define_type_id = 0;
+ 
+   if (g_once_init_enter (&define_type_id))
+     {
+@@ -1082,7 +1082,7 @@ test_enum_get_type (void)
+ static GType
+ test_flags_get_type (void)
+ {
+-  static volatile gsize define_type_id = 0;
++  static gsize define_type_id = 0;
+ 
+   if (g_once_init_enter (&define_type_id))
+     {
+diff --git a/gobject/gbinding.c b/gobject/gbinding.c
+index 78a883075..662d76b3c 100644
+--- a/gobject/gbinding.c
++++ b/gobject/gbinding.c
+@@ -120,9 +120,9 @@
+ GType
+ g_binding_flags_get_type (void)
+ {
+-  static volatile gsize g_define_type_id__volatile = 0;
++  static gsize static_g_define_type_id = 0;
+ 
+-  if (g_once_init_enter (&g_define_type_id__volatile))
++  if (g_once_init_enter (&static_g_define_type_id))
+     {
+       static const GFlagsValue values[] = {
+         { G_BINDING_DEFAULT, "G_BINDING_DEFAULT", "default" },
+@@ -133,10 +133,10 @@ g_binding_flags_get_type (void)
+       };
+       GType g_define_type_id =
+         g_flags_register_static (g_intern_static_string ("GBindingFlags"), values);
+-      g_once_init_leave (&g_define_type_id__volatile, g_define_type_id);
++      g_once_init_leave (&static_g_define_type_id, g_define_type_id);
+     }
+ 
+-  return g_define_type_id__volatile;
++  return static_g_define_type_id;
+ }
+ 
+ #define G_BINDING_CLASS(klass)          (G_TYPE_CHECK_CLASS_CAST ((klass), G_TYPE_BINDING, GBindingClass))
+diff --git a/gobject/gboxed.c b/gobject/gboxed.c
+index 30ba4e775..194251383 100644
+--- a/gobject/gboxed.c
++++ b/gobject/gboxed.c
+@@ -180,19 +180,19 @@ G_DEFINE_BOXED_TYPE (GOptionGroup, g_option_group, g_option_group_ref, g_option_
+ GType
+ g_strv_get_type (void)
+ {
+-  static volatile gsize g_define_type_id__volatile = 0;
++  static gsize static_g_define_type_id = 0;
+ 
+-  if (g_once_init_enter (&g_define_type_id__volatile))
++  if (g_once_init_enter (&static_g_define_type_id))
+     {
+       GType g_define_type_id =
+         g_boxed_type_register_static (g_intern_static_string ("GStrv"),
+                                       (GBoxedCopyFunc) g_strdupv,
+                                       (GBoxedFreeFunc) g_strfreev);
+ 
+-      g_once_init_leave (&g_define_type_id__volatile, g_define_type_id);
++      g_once_init_leave (&static_g_define_type_id, g_define_type_id);
+     }
+ 
+-  return g_define_type_id__volatile;
++  return static_g_define_type_id;
+ }
+ 
+ GType
+diff --git a/gobject/glib-enumtypes.c.template b/gobject/glib-enumtypes.c.template
+index b7d36728f..1800ca8af 100644
+--- a/gobject/glib-enumtypes.c.template
++++ b/gobject/glib-enumtypes.c.template
+@@ -13,9 +13,9 @@
+ GType
+ @enum_name@_get_type (void)
+ {
+-  static volatile gsize g_define_type_id__volatile = 0;
++  static gsize static_g_define_type_id = 0;
+ 
+-  if (g_once_init_enter (&g_define_type_id__volatile))
++  if (g_once_init_enter (&static_g_define_type_id))
+     {
+       static const G@Type@Value values[] = {
+ /*** END value-header ***/
+@@ -29,10 +29,10 @@ GType
+       };
+       GType g_define_type_id =
+         g_@type@_register_static (g_intern_static_string ("@EnumName@"), values);
+-      g_once_init_leave (&g_define_type_id__volatile, g_define_type_id);
++      g_once_init_leave (&static_g_define_type_id, g_define_type_id);
+     }
+ 
+-  return g_define_type_id__volatile;
++  return static_g_define_type_id;
+ }
+ 
+ /*** END value-tail ***/
+diff --git a/gobject/gsourceclosure.c b/gobject/gsourceclosure.c
+index 0d0d2e87c..d1b1ee4b3 100644
+--- a/gobject/gsourceclosure.c
++++ b/gobject/gsourceclosure.c
+@@ -32,7 +32,7 @@ G_DEFINE_BOXED_TYPE (GIOChannel, g_io_channel, g_io_channel_ref, g_io_channel_un
+ GType
+ g_io_condition_get_type (void)
+ {
+-  static volatile GType etype = 0;
++  static GType etype = 0;
+ 
+   if (g_once_init_enter (&etype))
+     {
+diff --git a/gobject/gtype.h b/gobject/gtype.h
+index 9de46ac60..666fadb0c 100644
+--- a/gobject/gtype.h
++++ b/gobject/gtype.h
+@@ -1727,8 +1727,8 @@ guint     g_type_get_type_registration_serial (void);
+  * GType
+  * gtk_gadget_get_type (void)
+  * {
+- *   static volatile gsize g_define_type_id__volatile = 0;
+- *   if (g_once_init_enter (&g_define_type_id__volatile))
++ *   static gsize static_g_define_type_id = 0;
++ *   if (g_once_init_enter (&static_g_define_type_id))
+  *     {
+  *       GType g_define_type_id =
+  *         g_type_register_static_simple (GTK_TYPE_WIDGET,
+@@ -1748,9 +1748,9 @@ guint     g_type_get_type_registration_serial (void);
+  *         };
+  *         g_type_add_interface_static (g_define_type_id, TYPE_GIZMO, &g_implement_interface_info);
+  *       }
+- *       g_once_init_leave (&g_define_type_id__volatile, g_define_type_id);
++ *       g_once_init_leave (&static_g_define_type_id, g_define_type_id);
+  *     }
+- *   return g_define_type_id__volatile;
++ *   return static_g_define_type_id;
+  * }
+  * ]|
+  * The only pieces which have to be manually provided are the definitions of
+@@ -1995,17 +1995,17 @@ type_name##_get_instance_private (TypeName *self) \
+ GType \
+ type_name##_get_type (void) \
+ { \
+-  static volatile gsize g_define_type_id__volatile = 0;
++  static gsize static_g_define_type_id = 0;
+   /* Prelude goes here */
+ 
+ /* Added for _G_DEFINE_TYPE_EXTENDED_WITH_PRELUDE */
+ #define _G_DEFINE_TYPE_EXTENDED_BEGIN_REGISTER(TypeName, type_name, TYPE_PARENT, flags) \
+-  if (g_once_init_enter (&g_define_type_id__volatile))  \
++  if (g_once_init_enter (&static_g_define_type_id)) \
+     { \
+       GType g_define_type_id = type_name##_get_type_once (); \
+-      g_once_init_leave (&g_define_type_id__volatile, g_define_type_id); \
++      g_once_init_leave (&static_g_define_type_id, g_define_type_id); \
+     }					\
+-  return g_define_type_id__volatile;	\
++  return static_g_define_type_id; \
+ } /* closes type_name##_get_type() */ \
+ \
+ G_GNUC_NO_INLINE \
+@@ -2041,8 +2041,8 @@ static void     type_name##_default_init        (TypeName##Interface *klass); \
+ GType \
+ type_name##_get_type (void) \
+ { \
+-  static volatile gsize g_define_type_id__volatile = 0; \
+-  if (g_once_init_enter (&g_define_type_id__volatile))  \
++  static gsize static_g_define_type_id = 0; \
++  if (g_once_init_enter (&static_g_define_type_id)) \
+     { \
+       GType g_define_type_id = \
+         g_type_register_static_simple (G_TYPE_INTERFACE, \
+@@ -2058,9 +2058,9 @@ type_name##_get_type (void) \
+ #define _G_DEFINE_INTERFACE_EXTENDED_END()	\
+         /* following custom code */		\
+       }						\
+-      g_once_init_leave (&g_define_type_id__volatile, g_define_type_id); \
++      g_once_init_leave (&static_g_define_type_id, g_define_type_id); \
+     }						\
+-  return g_define_type_id__volatile;			\
++  return static_g_define_type_id; \
+ } /* closes type_name##_get_type() */
+ 
+ /**
+@@ -2115,13 +2115,13 @@ static GType type_name##_get_type_once (void); \
+ GType \
+ type_name##_get_type (void) \
+ { \
+-  static volatile gsize g_define_type_id__volatile = 0; \
+-  if (g_once_init_enter (&g_define_type_id__volatile))  \
++  static gsize static_g_define_type_id = 0; \
++  if (g_once_init_enter (&static_g_define_type_id)) \
+     { \
+       GType g_define_type_id = type_name##_get_type_once (); \
+-      g_once_init_leave (&g_define_type_id__volatile, g_define_type_id); \
++      g_once_init_leave (&static_g_define_type_id, g_define_type_id); \
+     } \
+-  return g_define_type_id__volatile; \
++  return static_g_define_type_id; \
+ } \
+ \
+ G_GNUC_NO_INLINE \
+@@ -2152,13 +2152,13 @@ static GType type_name##_get_type_once (void); \
+ GType \
+ type_name##_get_type (void) \
+ { \
+-  static volatile gsize g_define_type_id__volatile = 0; \
+-  if (g_once_init_enter (&g_define_type_id__volatile))  \
++  static gsize static_g_define_type_id = 0; \
++  if (g_once_init_enter (&static_g_define_type_id)) \
+     { \
+       GType g_define_type_id = type_name##_get_type_once (); \
+-      g_once_init_leave (&g_define_type_id__volatile, g_define_type_id); \
++      g_once_init_leave (&static_g_define_type_id, g_define_type_id); \
+     } \
+-  return g_define_type_id__volatile; \
++  return static_g_define_type_id; \
+ } \
+ \
+ G_GNUC_NO_INLINE \
+@@ -2205,13 +2205,13 @@ static GType type_name##_get_type_once (void); \
+ GType \
+ type_name##_get_type (void) \
+ { \
+-  static volatile gsize g_define_type_id__volatile = 0; \
+-  if (g_once_init_enter (&g_define_type_id__volatile))  \
++  static gsize static_g_define_type_id = 0; \
++  if (g_once_init_enter (&static_g_define_type_id)) \
+     { \
+       GType g_define_type_id = type_name##_get_type_once (); \
+-      g_once_init_leave (&g_define_type_id__volatile, g_define_type_id); \
++      g_once_init_leave (&static_g_define_type_id, g_define_type_id); \
+     } \
+-  return g_define_type_id__volatile; \
++  return static_g_define_type_id; \
+ } \
+ \
+ G_GNUC_NO_INLINE \
+diff --git a/gobject/tests/signals.c b/gobject/tests/signals.c
+index 120f90b5c..ac0ce5102 100644
+--- a/gobject/tests/signals.c
++++ b/gobject/tests/signals.c
+@@ -66,9 +66,9 @@ custom_marshal_VOID__INVOCATIONHINT (GClosure     *closure,
+ static GType
+ test_enum_get_type (void)
+ {
+-  static volatile gsize g_define_type_id__volatile = 0;
++  static gsize static_g_define_type_id = 0;
+ 
+-  if (g_once_init_enter (&g_define_type_id__volatile))
++  if (g_once_init_enter (&static_g_define_type_id))
+     {
+       static const GEnumValue values[] = {
+         { TEST_ENUM_NEGATIVE, "TEST_ENUM_NEGATIVE", "negative" },
+@@ -79,18 +79,18 @@ test_enum_get_type (void)
+       };
+       GType g_define_type_id =
+         g_enum_register_static (g_intern_static_string ("TestEnum"), values);
+-      g_once_init_leave (&g_define_type_id__volatile, g_define_type_id);
++      g_once_init_leave (&static_g_define_type_id, g_define_type_id);
+     }
+ 
+-  return g_define_type_id__volatile;
++  return static_g_define_type_id;
+ }
+ 
+ static GType
+ test_unsigned_enum_get_type (void)
+ {
+-  static volatile gsize g_define_type_id__volatile = 0;
++  static gsize static_g_define_type_id = 0;
+ 
+-  if (g_once_init_enter (&g_define_type_id__volatile))
++  if (g_once_init_enter (&static_g_define_type_id))
+     {
+       static const GEnumValue values[] = {
+         { TEST_UNSIGNED_ENUM_FOO, "TEST_UNSIGNED_ENUM_FOO", "foo" },
+@@ -99,10 +99,10 @@ test_unsigned_enum_get_type (void)
+       };
+       GType g_define_type_id =
+         g_enum_register_static (g_intern_static_string ("TestUnsignedEnum"), values);
+-      g_once_init_leave (&g_define_type_id__volatile, g_define_type_id);
++      g_once_init_leave (&static_g_define_type_id, g_define_type_id);
+     }
+ 
+-  return g_define_type_id__volatile;
++  return static_g_define_type_id;
+ }
+ 
+ typedef enum {
+-- 
+2.30.1
+
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0002-tests-Fix-non-atomic-access-to-a-shared-variable.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0002-tests-Fix-non-atomic-access-to-a-shared-variable.patch
new file mode 100644
index 000000000..fada7cc38
--- /dev/null
+++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/0002-tests-Fix-non-atomic-access-to-a-shared-variable.patch
@@ -0,0 +1,44 @@
+From a6ce0e742a5c75c53a7c702ebb1af1084065160a Mon Sep 17 00:00:00 2001
+From: Philip Withnall 
+Date: Wed, 11 Nov 2020 18:14:29 +0000
+Subject: [PATCH 02/29] tests: Fix non-atomic access to a shared variable
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+And drop the `volatile` qualifier from the variable, as that doesn’t
+help with thread safety.
+
+Signed-off-by: Philip Withnall 
+
+Helps: #600
+Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719]
+---
+ glib/tests/642026.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/glib/tests/642026.c b/glib/tests/642026.c
+index ef54f14bb..26ab2ed06 100644
+--- a/glib/tests/642026.c
++++ b/glib/tests/642026.c
+@@ -25,7 +25,7 @@ static GMutex *mutex;
+ static GCond *cond;
+ static guint i;
+ 
+-static volatile gint freed = 0;
++static gint freed = 0;  /* (atomic) */
+ 
+ static void
+ notify (gpointer p)
+@@ -63,7 +63,7 @@ testcase (void)
+       GThread *t1;
+ 
+       g_static_private_init (&sp);
+-      freed = 0;
++      g_atomic_int_set (&freed, 0);
+ 
+       t1 = g_thread_create (thread_func, NULL, TRUE, NULL);
+       g_assert (t1 != NULL);
+-- 
+2.30.1
+
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0003-tests-Fix-non-atomic-access-to-a-shared-variable.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0003-tests-Fix-non-atomic-access-to-a-shared-variable.patch
new file mode 100644
index 000000000..8bc71a698
--- /dev/null
+++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/0003-tests-Fix-non-atomic-access-to-a-shared-variable.patch
@@ -0,0 +1,90 @@
+From ea746c79faf554d980c21b0e4381753e003d2dc6 Mon Sep 17 00:00:00 2001
+From: Philip Withnall 
+Date: Wed, 11 Nov 2020 18:17:23 +0000
+Subject: [PATCH 03/29] tests: Fix non-atomic access to a shared variable
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+And drop the `volatile` qualifier from the variable, as that doesn’t
+help with thread safety.
+
+Signed-off-by: Philip Withnall 
+
+Helps: #600
+Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719]
+---
+ glib/tests/mainloop.c | 20 ++++++++++----------
+ 1 file changed, 10 insertions(+), 10 deletions(-)
+
+diff --git a/glib/tests/mainloop.c b/glib/tests/mainloop.c
+index 16763a0ea..563a951de 100644
+--- a/glib/tests/mainloop.c
++++ b/glib/tests/mainloop.c
+@@ -918,7 +918,7 @@ test_mainloop_overflow (void)
+   g_main_context_unref (ctx);
+ }
+ 
+-static volatile gint ready_time_dispatched;
++static gint ready_time_dispatched;  /* (atomic) */
+ 
+ static gboolean
+ ready_time_dispatch (GSource     *source,
+@@ -964,7 +964,7 @@ test_ready_time (void)
+   /* A source with no ready time set should not fire */
+   g_assert_cmpint (g_source_get_ready_time (source), ==, -1);
+   while (g_main_context_iteration (NULL, FALSE));
+-  g_assert_false (ready_time_dispatched);
++  g_assert_false (g_atomic_int_get (&ready_time_dispatched));
+ 
+   /* The ready time should not have been changed */
+   g_assert_cmpint (g_source_get_ready_time (source), ==, -1);
+@@ -978,37 +978,37 @@ test_ready_time (void)
+    */
+   g_source_set_ready_time (source, g_get_monotonic_time () + G_TIME_SPAN_DAY);
+   while (g_main_context_iteration (NULL, FALSE));
+-  g_assert_false (ready_time_dispatched);
++  g_assert_false (g_atomic_int_get (&ready_time_dispatched));
+   /* Make sure it didn't get reset */
+   g_assert_cmpint (g_source_get_ready_time (source), !=, -1);
+ 
+   /* Ready time of -1 -> don't fire */
+   g_source_set_ready_time (source, -1);
+   while (g_main_context_iteration (NULL, FALSE));
+-  g_assert_false (ready_time_dispatched);
++  g_assert_false (g_atomic_int_get (&ready_time_dispatched));
+   /* Not reset, but should still be -1 from above */
+   g_assert_cmpint (g_source_get_ready_time (source), ==, -1);
+ 
+   /* A ready time of the current time should fire immediately */
+   g_source_set_ready_time (source, g_get_monotonic_time ());
+   while (g_main_context_iteration (NULL, FALSE));
+-  g_assert_true (ready_time_dispatched);
+-  ready_time_dispatched = FALSE;
++  g_assert_true (g_atomic_int_get (&ready_time_dispatched));
++  g_atomic_int_set (&ready_time_dispatched, FALSE);
+   /* Should have gotten reset by the handler function */
+   g_assert_cmpint (g_source_get_ready_time (source), ==, -1);
+ 
+   /* As well as one in the recent past... */
+   g_source_set_ready_time (source, g_get_monotonic_time () - G_TIME_SPAN_SECOND);
+   while (g_main_context_iteration (NULL, FALSE));
+-  g_assert_true (ready_time_dispatched);
+-  ready_time_dispatched = FALSE;
++  g_assert_true (g_atomic_int_get (&ready_time_dispatched));
++  g_atomic_int_set (&ready_time_dispatched, FALSE);
+   g_assert_cmpint (g_source_get_ready_time (source), ==, -1);
+ 
+   /* Zero is the 'official' way to get a source to fire immediately */
+   g_source_set_ready_time (source, 0);
+   while (g_main_context_iteration (NULL, FALSE));
+-  g_assert_true (ready_time_dispatched);
+-  ready_time_dispatched = FALSE;
++  g_assert_true (g_atomic_int_get (&ready_time_dispatched));
++  g_atomic_int_set (&ready_time_dispatched, FALSE);
+   g_assert_cmpint (g_source_get_ready_time (source), ==, -1);
+ 
+   /* Now do some tests of cross-thread wakeups.
+-- 
+2.30.1
+
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0004-tests-Drop-unnecessary-volatile-qualifiers-from-test.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0004-tests-Drop-unnecessary-volatile-qualifiers-from-test.patch
new file mode 100644
index 000000000..4b7b6f463
--- /dev/null
+++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/0004-tests-Drop-unnecessary-volatile-qualifiers-from-test.patch
@@ -0,0 +1,93 @@
+From 3dda662bebb81666d009635df1055ba5c1e17b52 Mon Sep 17 00:00:00 2001
+From: Philip Withnall 
+Date: Wed, 11 Nov 2020 18:16:17 +0000
+Subject: [PATCH 04/29] tests: Drop unnecessary volatile qualifiers from tests
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+These variables were already (correctly) accessed atomically. The
+`volatile` qualifier doesn’t help with that.
+
+Signed-off-by: Philip Withnall 
+
+Helps: #600
+Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719]
+---
+ glib/tests/atomic.c      | 4 ++--
+ glib/tests/cond.c        | 2 +-
+ glib/tests/gwakeuptest.c | 2 +-
+ glib/tests/hash.c        | 2 +-
+ glib/tests/slice.c       | 2 +-
+ 5 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/glib/tests/atomic.c b/glib/tests/atomic.c
+index 6b6cc7f3e..7d2459f3a 100644
+--- a/glib/tests/atomic.c
++++ b/glib/tests/atomic.c
+@@ -248,8 +248,8 @@ G_GNUC_END_IGNORE_DEPRECATIONS
+ #define THREADS 10
+ #define ROUNDS 10000
+ 
+-volatile gint bucket[THREADS];
+-volatile gint atomic;
++gint bucket[THREADS];  /* never contested by threads, not accessed atomically */
++gint atomic;  /* (atomic) */
+ 
+ static gpointer
+ thread_func (gpointer data)
+diff --git a/glib/tests/cond.c b/glib/tests/cond.c
+index 0f0b3d249..ed338cce3 100644
+--- a/glib/tests/cond.c
++++ b/glib/tests/cond.c
+@@ -29,7 +29,7 @@
+ 
+ static GCond cond;
+ static GMutex mutex;
+-static volatile gint next;
++static gint next;  /* locked by @mutex */
+ 
+ static void
+ push_value (gint value)
+diff --git a/glib/tests/gwakeuptest.c b/glib/tests/gwakeuptest.c
+index 461a7d3de..b37fb43fc 100644
+--- a/glib/tests/gwakeuptest.c
++++ b/glib/tests/gwakeuptest.c
+@@ -92,7 +92,7 @@ struct context
+ static struct context contexts[NUM_THREADS];
+ static GThread *threads[NUM_THREADS];
+ static GWakeup *last_token_wakeup;
+-static volatile gint tokens_alive;
++static gint tokens_alive;  /* (atomic) */
+ 
+ static void
+ context_init (struct context *ctx)
+diff --git a/glib/tests/hash.c b/glib/tests/hash.c
+index 4623d18d1..f4ff55ce1 100644
+--- a/glib/tests/hash.c
++++ b/glib/tests/hash.c
+@@ -1362,7 +1362,7 @@ struct _GHashTable
+ 
+   GHashFunc        hash_func;
+   GEqualFunc       key_equal_func;
+-  volatile gint    ref_count;
++  gint             ref_count;  /* (atomic) */
+ 
+ #ifndef G_DISABLE_ASSERT
+   int              version;
+diff --git a/glib/tests/slice.c b/glib/tests/slice.c
+index f37826f3a..a566280db 100644
+--- a/glib/tests/slice.c
++++ b/glib/tests/slice.c
+@@ -107,7 +107,7 @@ thread_allocate (gpointer data)
+   gint b;
+   gint size;
+   gpointer p;
+-  volatile gpointer *loc;
++  gpointer *loc;  /* (atomic) */
+ 
+   for (i = 0; i < 10000; i++)
+     {
+-- 
+2.30.1
+
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0005-tests-Fix-non-atomic-access-to-some-shared-variables.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0005-tests-Fix-non-atomic-access-to-some-shared-variables.patch
new file mode 100644
index 000000000..3aecf4582
--- /dev/null
+++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/0005-tests-Fix-non-atomic-access-to-some-shared-variables.patch
@@ -0,0 +1,702 @@
+From 7f905ff1faf0acbe0d2ce69937e031fcacce9294 Mon Sep 17 00:00:00 2001
+From: Philip Withnall 
+Date: Wed, 11 Nov 2020 18:21:00 +0000
+Subject: [PATCH 05/29] tests: Fix non-atomic access to some shared variables
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+And drop the `volatile` qualifier from the variables, as that doesn’t
+help with thread safety.
+
+Signed-off-by: Philip Withnall 
+
+Helps: #600
+Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719]
+---
+ gio/tests/gdbus-connection-flush.c |   6 +-
+ gio/tests/gdbus-connection.c       |  40 ++++----
+ gio/tests/gdbus-overflow.c         |  20 ++--
+ gio/tests/socket-service.c         |   6 +-
+ gio/tests/task.c                   | 150 ++++++++++++++---------------
+ 5 files changed, 111 insertions(+), 111 deletions(-)
+
+--- a/gio/tests/gdbus-connection-flush.c
++++ b/gio/tests/gdbus-connection-flush.c
+@@ -43,9 +43,9 @@ G_LOCK_DEFINE_STATIC (write);
+ typedef struct {
+     GFilterOutputStream parent;
+ 
+-    volatile gint started;
+-    volatile gint finished;
+-    volatile gint flushed;
++    gint started;  /* (atomic) */
++    gint finished;  /* (atomic) */
++    gint flushed;  /* (atomic) */
+ 
+     GOutputStream *real_output;
+ } MyOutputStream;
+--- a/gio/tests/gdbus-connection.c
++++ b/gio/tests/gdbus-connection.c
+@@ -61,9 +61,9 @@ _log (const gchar *format, ...)
+ static gboolean
+ test_connection_quit_mainloop (gpointer user_data)
+ {
+-  volatile gboolean *quit_mainloop_fired = user_data;
++  gboolean *quit_mainloop_fired = user_data;  /* (atomic) */
+   _log ("quit_mainloop_fired");
+-  *quit_mainloop_fired = TRUE;
++  g_atomic_int_set (quit_mainloop_fired, TRUE);
+   g_main_loop_quit (loop);
+   return TRUE;
+ }
+@@ -113,8 +113,8 @@ on_name_owner_changed (GDBusConnection *
+ static void
+ a_gdestroynotify_that_sets_a_gboolean_to_true_and_quits_loop (gpointer user_data)
+ {
+-  volatile gboolean *val = user_data;
+-  *val = TRUE;
++  gboolean *val = user_data;  /* (atomic) */
++  g_atomic_int_set (val, TRUE);
+   _log ("destroynotify fired for %p", val);
+   g_main_loop_quit (loop);
+ }
+@@ -143,10 +143,10 @@ test_connection_life_cycle (void)
+   GDBusConnection *c;
+   GDBusConnection *c2;
+   GError *error;
+-  volatile gboolean on_signal_registration_freed_called;
+-  volatile gboolean on_filter_freed_called;
+-  volatile gboolean on_register_object_freed_called;
+-  volatile gboolean quit_mainloop_fired;
++  gboolean on_signal_registration_freed_called;  /* (atomic) */
++  gboolean on_filter_freed_called;  /* (atomic) */
++  gboolean on_register_object_freed_called;  /* (atomic) */
++  gboolean quit_mainloop_fired;  /* (atomic) */
+   guint quit_mainloop_id;
+   guint registration_id;
+ 
+@@ -208,7 +208,7 @@ test_connection_life_cycle (void)
+   g_assert_no_error (error);
+   g_assert_nonnull (c2);
+   /* signal registration */
+-  on_signal_registration_freed_called = FALSE;
++  g_atomic_int_set (&on_signal_registration_freed_called, FALSE);
+   g_dbus_connection_signal_subscribe (c2,
+                                       "org.freedesktop.DBus", /* bus name */
+                                       "org.freedesktop.DBus", /* interface */
+@@ -220,13 +220,13 @@ test_connection_life_cycle (void)
+                                       (gpointer) &on_signal_registration_freed_called,
+                                       a_gdestroynotify_that_sets_a_gboolean_to_true_and_quits_loop);
+   /* filter func */
+-  on_filter_freed_called = FALSE;
++  g_atomic_int_set (&on_filter_freed_called, FALSE);
+   g_dbus_connection_add_filter (c2,
+                                 some_filter_func,
+                                 (gpointer) &on_filter_freed_called,
+                                 a_gdestroynotify_that_sets_a_gboolean_to_true_and_quits_loop);
+   /* object registration */
+-  on_register_object_freed_called = FALSE;
++  g_atomic_int_set (&on_register_object_freed_called, FALSE);
+   error = NULL;
+   registration_id = g_dbus_connection_register_object (c2,
+                                                        "/foo",
+@@ -239,7 +239,7 @@ test_connection_life_cycle (void)
+   g_assert_cmpuint (registration_id, >, 0);
+   /* ok, finalize the connection and check that all the GDestroyNotify functions are invoked as expected */
+   g_object_unref (c2);
+-  quit_mainloop_fired = FALSE;
++  g_atomic_int_set (&quit_mainloop_fired, FALSE);
+   quit_mainloop_id = g_timeout_add (30000, test_connection_quit_mainloop, (gpointer) &quit_mainloop_fired);
+   _log ("destroynotifies for\n"
+         " register_object %p\n"
+@@ -250,21 +250,21 @@ test_connection_life_cycle (void)
+         &on_signal_registration_freed_called);
+   while (TRUE)
+     {
+-      if (on_signal_registration_freed_called &&
+-          on_filter_freed_called &&
+-          on_register_object_freed_called)
++      if (g_atomic_int_get (&on_signal_registration_freed_called) &&
++          g_atomic_int_get (&on_filter_freed_called) &&
++          g_atomic_int_get (&on_register_object_freed_called))
+         break;
+-      if (quit_mainloop_fired)
++      if (g_atomic_int_get (&quit_mainloop_fired))
+         break;
+       _log ("entering loop");
+       g_main_loop_run (loop);
+       _log ("exiting loop");
+     }
+   g_source_remove (quit_mainloop_id);
+-  g_assert_true (on_signal_registration_freed_called);
+-  g_assert_true (on_filter_freed_called);
+-  g_assert_true (on_register_object_freed_called);
+-  g_assert_false (quit_mainloop_fired);
++  g_assert_true (g_atomic_int_get (&on_signal_registration_freed_called));
++  g_assert_true (g_atomic_int_get (&on_filter_freed_called));
++  g_assert_true (g_atomic_int_get (&on_register_object_freed_called));
++  g_assert_false (g_atomic_int_get (&quit_mainloop_fired));
+ 
+   /*
+    *  Check for correct behavior when the bus goes away
+--- a/gio/tests/gdbus-overflow.c
++++ b/gio/tests/gdbus-overflow.c
+@@ -86,8 +86,8 @@ overflow_filter_func (GDBusConnection *c
+                       gboolean         incoming,
+                       gpointer         user_data)
+ {
+-  volatile gint *counter = user_data;
+-  *counter += 1;
++  gint *counter = user_data;  /* (atomic) */
++  g_atomic_int_inc (counter);
+   return message;
+ }
+ 
+@@ -108,8 +108,8 @@ test_overflow (void)
+   GDBusConnection *producer, *consumer;
+   GError *error;
+   GTimer *timer;
+-  volatile gint n_messages_received;
+-  volatile gint n_messages_sent;
++  gint n_messages_received;  /* (atomic) */
++  gint n_messages_sent;  /* (atomic) */
+ 
+   g_assert_cmpint (socketpair (AF_UNIX, SOCK_STREAM, 0, sv), ==, 0);
+ 
+@@ -129,7 +129,7 @@ test_overflow (void)
+   g_dbus_connection_set_exit_on_close (producer, TRUE);
+   g_assert_no_error (error);
+   g_object_unref (socket_connection);
+-  n_messages_sent = 0;
++  g_atomic_int_set (&n_messages_sent, 0);
+   g_dbus_connection_add_filter (producer, overflow_filter_func, (gpointer) &n_messages_sent, NULL);
+ 
+   /* send enough data that we get an EAGAIN */
+@@ -155,7 +155,7 @@ test_overflow (void)
+    */
+   g_timeout_add (500, overflow_on_500ms_later_func, NULL);
+   g_main_loop_run (loop);
+-  g_assert_cmpint (n_messages_sent, <, OVERFLOW_NUM_SIGNALS);
++  g_assert_cmpint (g_atomic_int_get (&n_messages_sent), <, OVERFLOW_NUM_SIGNALS);
+ 
+   /* now suck it all out as a client, and add it up */
+   socket = g_socket_new_from_fd (sv[1], &error);
+@@ -171,18 +171,18 @@ test_overflow (void)
+ 					 &error);
+   g_assert_no_error (error);
+   g_object_unref (socket_connection);
+-  n_messages_received = 0;
++  g_atomic_int_set (&n_messages_received, 0);
+   g_dbus_connection_add_filter (consumer, overflow_filter_func, (gpointer) &n_messages_received, NULL);
+   g_dbus_connection_start_message_processing (consumer);
+ 
+   timer = g_timer_new ();
+   g_timer_start (timer);
+ 
+-  while (n_messages_received < OVERFLOW_NUM_SIGNALS && g_timer_elapsed (timer, NULL) < OVERFLOW_TIMEOUT_SEC)
++  while (g_atomic_int_get (&n_messages_received) < OVERFLOW_NUM_SIGNALS && g_timer_elapsed (timer, NULL) < OVERFLOW_TIMEOUT_SEC)
+       g_main_context_iteration (NULL, FALSE);
+ 
+-  g_assert_cmpint (n_messages_sent, ==, OVERFLOW_NUM_SIGNALS);
+-  g_assert_cmpint (n_messages_received, ==, OVERFLOW_NUM_SIGNALS);
++  g_assert_cmpint (g_atomic_int_get (&n_messages_sent), ==, OVERFLOW_NUM_SIGNALS);
++  g_assert_cmpint (g_atomic_int_get (&n_messages_received), ==, OVERFLOW_NUM_SIGNALS);
+ 
+   g_timer_destroy (timer);
+   g_object_unref (consumer);
+--- a/gio/tests/socket-service.c
++++ b/gio/tests/socket-service.c
+@@ -99,7 +99,7 @@ test_start_stop (void)
+ 
+ GMutex mutex_712570;
+ GCond cond_712570;
+-volatile gboolean finalized;
++gboolean finalized;  /* (atomic) */
+ 
+ GType test_threaded_socket_service_get_type (void);
+ typedef GThreadedSocketService TestThreadedSocketService;
+@@ -120,7 +120,7 @@ test_threaded_socket_service_finalize (G
+   /* Signal the main thread that finalization completed successfully
+    * rather than hanging.
+    */
+-  finalized = TRUE;
++  g_atomic_int_set (&finalized, TRUE);
+   g_cond_signal (&cond_712570);
+   g_mutex_unlock (&mutex_712570);
+ }
+@@ -235,7 +235,7 @@ test_threaded_712570 (void)
+    */
+   g_object_unref (service);
+ 
+-  while (!finalized)
++  while (!g_atomic_int_get (&finalized))
+     g_cond_wait (&cond_712570, &mutex_712570);
+   g_mutex_unlock (&mutex_712570);
+ }
+--- a/gio/tests/task.c
++++ b/gio/tests/task.c
+@@ -957,7 +957,7 @@ task_weak_notify (gpointer  user_data,
+   gboolean *weak_notify_ran = user_data;
+ 
+   g_mutex_lock (&run_in_thread_mutex);
+-  *weak_notify_ran = TRUE;
++  g_atomic_int_set (weak_notify_ran, TRUE);
+   g_cond_signal (&run_in_thread_cond);
+   g_mutex_unlock (&run_in_thread_mutex);
+ }
+@@ -1007,7 +1007,7 @@ run_in_thread_thread (GTask        *task
+   g_assert (g_thread_self () != main_thread);
+ 
+   g_mutex_lock (&run_in_thread_mutex);
+-  *thread_ran = TRUE;
++  g_atomic_int_set (thread_ran, TRUE);
+   g_cond_signal (&run_in_thread_cond);
+   g_mutex_unlock (&run_in_thread_mutex);
+ 
+@@ -1018,8 +1018,8 @@ static void
+ test_run_in_thread (void)
+ {
+   GTask *task;
+-  volatile gboolean thread_ran = FALSE;
+-  volatile gboolean weak_notify_ran = FALSE;
++  gboolean thread_ran = FALSE;  /* (atomic) */
++  gboolean weak_notify_ran = FALSE;  /* (atomic) */
+   gboolean notification_emitted = FALSE;
+   gboolean done = FALSE;
+ 
+@@ -1033,12 +1033,12 @@ test_run_in_thread (void)
+   g_task_run_in_thread (task, run_in_thread_thread);
+ 
+   g_mutex_lock (&run_in_thread_mutex);
+-  while (!thread_ran)
++  while (!g_atomic_int_get (&thread_ran))
+     g_cond_wait (&run_in_thread_cond, &run_in_thread_mutex);
+   g_mutex_unlock (&run_in_thread_mutex);
+ 
+   g_assert (done == FALSE);
+-  g_assert (weak_notify_ran == FALSE);
++  g_assert_false (g_atomic_int_get (&weak_notify_ran));
+ 
+   g_main_loop_run (loop);
+ 
+@@ -1050,7 +1050,7 @@ test_run_in_thread (void)
+   g_object_unref (task);
+ 
+   g_mutex_lock (&run_in_thread_mutex);
+-  while (!weak_notify_ran)
++  while (!g_atomic_int_get (&weak_notify_ran))
+     g_cond_wait (&run_in_thread_cond, &run_in_thread_mutex);
+   g_mutex_unlock (&run_in_thread_mutex);
+ }
+@@ -1081,7 +1081,7 @@ run_in_thread_sync_thread (GTask
+ 
+   g_assert (g_thread_self () != main_thread);
+ 
+-  *thread_ran = TRUE;
++  g_atomic_int_set (thread_ran, TRUE);
+   g_task_return_int (task, magic);
+ }
+ 
+@@ -1102,7 +1102,7 @@ test_run_in_thread_sync (void)
+   g_task_set_task_data (task, &thread_ran, NULL);
+   g_task_run_in_thread_sync (task, run_in_thread_sync_thread);
+ 
+-  g_assert (thread_ran == TRUE);
++  g_assert_true (g_atomic_int_get (&thread_ran));
+   g_assert (task != NULL);
+   g_assert (!g_task_had_error (task));
+   g_assert_true (g_task_get_completed (task));
+@@ -1487,8 +1487,8 @@ test_return_on_cancel (void)
+ {
+   GTask *task;
+   GCancellable *cancellable;
+-  volatile ThreadState thread_state;
+-  volatile gboolean weak_notify_ran = FALSE;
++  ThreadState thread_state;  /* (atomic) */
++  gboolean weak_notify_ran = FALSE;  /* (atomic) */
+   gboolean callback_ran;
+   gboolean notification_emitted = FALSE;
+ 
+@@ -1498,7 +1498,7 @@ test_return_on_cancel (void)
+    * early.
+    */
+   callback_ran = FALSE;
+-  thread_state = THREAD_STARTING;
++  g_atomic_int_set (&thread_state, THREAD_STARTING);
+   task = g_task_new (NULL, cancellable, return_on_cancel_callback, &callback_ran);
+   g_signal_connect (task, "notify::completed",
+                     (GCallback) completed_cb, ¬ification_emitted);
+@@ -1509,18 +1509,18 @@ test_return_on_cancel (void)
+   g_task_run_in_thread (task, return_on_cancel_thread);
+   g_object_unref (task);
+ 
+-  while (thread_state == THREAD_STARTING)
++  while (g_atomic_int_get (&thread_state) == THREAD_STARTING)
+     g_cond_wait (&roc_init_cond, &roc_init_mutex);
+   g_mutex_unlock (&roc_init_mutex);
+ 
+-  g_assert (thread_state == THREAD_RUNNING);
++  g_assert_cmpint (g_atomic_int_get (&thread_state), ==, THREAD_RUNNING);
+   g_assert (callback_ran == FALSE);
+ 
+   g_cancellable_cancel (cancellable);
+   g_mutex_unlock (&roc_finish_mutex);
+   g_main_loop_run (loop);
+ 
+-  g_assert (thread_state == THREAD_COMPLETED);
++  g_assert_cmpint (g_atomic_int_get (&thread_state), ==, THREAD_COMPLETED);
+   g_assert (callback_ran == TRUE);
+   g_assert_true (notification_emitted);
+ 
+@@ -1529,7 +1529,7 @@ test_return_on_cancel (void)
+   /* If return-on-cancel is TRUE, it does return early */
+   callback_ran = FALSE;
+   notification_emitted = FALSE;
+-  thread_state = THREAD_STARTING;
++  g_atomic_int_set (&thread_state, THREAD_STARTING);
+   task = g_task_new (NULL, cancellable, return_on_cancel_callback, &callback_ran);
+   g_object_weak_ref (G_OBJECT (task), task_weak_notify, (gpointer)&weak_notify_ran);
+   g_signal_connect (task, "notify::completed",
+@@ -1542,27 +1542,27 @@ test_return_on_cancel (void)
+   g_task_run_in_thread (task, return_on_cancel_thread);
+   g_object_unref (task);
+ 
+-  while (thread_state == THREAD_STARTING)
++  while (g_atomic_int_get (&thread_state) == THREAD_STARTING)
+     g_cond_wait (&roc_init_cond, &roc_init_mutex);
+   g_mutex_unlock (&roc_init_mutex);
+ 
+-  g_assert (thread_state == THREAD_RUNNING);
++  g_assert_cmpint (g_atomic_int_get (&thread_state), ==, THREAD_RUNNING);
+   g_assert (callback_ran == FALSE);
+ 
+   g_cancellable_cancel (cancellable);
+   g_main_loop_run (loop);
+-  g_assert (thread_state == THREAD_RUNNING);
++  g_assert_cmpint (g_atomic_int_get (&thread_state), ==, THREAD_RUNNING);
+   g_assert (callback_ran == TRUE);
+ 
+-  g_assert (weak_notify_ran == FALSE);
++  g_assert_false (g_atomic_int_get (&weak_notify_ran));
+ 
+-  while (thread_state == THREAD_RUNNING)
++  while (g_atomic_int_get (&thread_state) == THREAD_RUNNING)
+     g_cond_wait (&roc_finish_cond, &roc_finish_mutex);
+   g_mutex_unlock (&roc_finish_mutex);
+ 
+-  g_assert (thread_state == THREAD_CANCELLED);
++  g_assert_cmpint (g_atomic_int_get (&thread_state), ==, THREAD_CANCELLED);
+   g_mutex_lock (&run_in_thread_mutex);
+-  while (!weak_notify_ran)
++  while (!g_atomic_int_get (&weak_notify_ran))
+     g_cond_wait (&run_in_thread_cond, &run_in_thread_mutex);
+   g_mutex_unlock (&run_in_thread_mutex);
+ 
+@@ -1574,7 +1574,7 @@ test_return_on_cancel (void)
+    */
+   callback_ran = FALSE;
+   notification_emitted = FALSE;
+-  thread_state = THREAD_STARTING;
++  g_atomic_int_set (&thread_state, THREAD_STARTING);
+   task = g_task_new (NULL, cancellable, return_on_cancel_callback, &callback_ran);
+   g_signal_connect (task, "notify::completed",
+                     (GCallback) completed_cb, ¬ification_emitted);
+@@ -1591,17 +1591,17 @@ test_return_on_cancel (void)
+   g_main_loop_run (loop);
+   g_assert (callback_ran == TRUE);
+ 
+-  while (thread_state == THREAD_STARTING)
++  while (g_atomic_int_get (&thread_state) == THREAD_STARTING)
+     g_cond_wait (&roc_init_cond, &roc_init_mutex);
+   g_mutex_unlock (&roc_init_mutex);
+ 
+-  g_assert (thread_state == THREAD_RUNNING);
++  g_assert_cmpint (g_atomic_int_get (&thread_state), ==, THREAD_RUNNING);
+ 
+-  while (thread_state == THREAD_RUNNING)
++  while (g_atomic_int_get (&thread_state) == THREAD_RUNNING)
+     g_cond_wait (&roc_finish_cond, &roc_finish_mutex);
+   g_mutex_unlock (&roc_finish_mutex);
+ 
+-  g_assert (thread_state == THREAD_CANCELLED);
++  g_assert_cmpint (g_atomic_int_get (&thread_state), ==, THREAD_CANCELLED);
+   g_assert_true (notification_emitted);
+ 
+   g_object_unref (cancellable);
+@@ -1621,7 +1621,7 @@ test_return_on_cancel_sync (void)
+ {
+   GTask *task;
+   GCancellable *cancellable;
+-  volatile ThreadState thread_state;
++  ThreadState thread_state;  /* (atomic) */
+   GThread *runner_thread;
+   gssize ret;
+   GError *error = NULL;
+@@ -1630,7 +1630,7 @@ test_return_on_cancel_sync (void)
+ 
+   /* If return-on-cancel is FALSE, the task does not return early.
+    */
+-  thread_state = THREAD_STARTING;
++  g_atomic_int_set (&thread_state, THREAD_STARTING);
+   task = g_task_new (NULL, cancellable, run_in_thread_sync_callback, NULL);
+ 
+   g_task_set_task_data (task, (gpointer)&thread_state, NULL);
+@@ -1639,16 +1639,16 @@ test_return_on_cancel_sync (void)
+   runner_thread = g_thread_new ("return-on-cancel-sync runner thread",
+                                 cancel_sync_runner_thread, task);
+ 
+-  while (thread_state == THREAD_STARTING)
++  while (g_atomic_int_get (&thread_state) == THREAD_STARTING)
+     g_cond_wait (&roc_init_cond, &roc_init_mutex);
+   g_mutex_unlock (&roc_init_mutex);
+ 
+-  g_assert (thread_state == THREAD_RUNNING);
++  g_assert_cmpint (g_atomic_int_get (&thread_state), ==, THREAD_RUNNING);
+ 
+   g_cancellable_cancel (cancellable);
+   g_mutex_unlock (&roc_finish_mutex);
+   g_thread_join (runner_thread);
+-  g_assert (thread_state == THREAD_COMPLETED);
++  g_assert_cmpint (g_atomic_int_get (&thread_state), ==, THREAD_COMPLETED);
+ 
+   ret = g_task_propagate_int (task, &error);
+   g_assert_error (error, G_IO_ERROR, G_IO_ERROR_CANCELLED);
+@@ -1660,7 +1660,7 @@ test_return_on_cancel_sync (void)
+   g_cancellable_reset (cancellable);
+ 
+   /* If return-on-cancel is TRUE, it does return early */
+-  thread_state = THREAD_STARTING;
++  g_atomic_int_set (&thread_state, THREAD_STARTING);
+   task = g_task_new (NULL, cancellable, run_in_thread_sync_callback, NULL);
+   g_task_set_return_on_cancel (task, TRUE);
+ 
+@@ -1670,15 +1670,15 @@ test_return_on_cancel_sync (void)
+   runner_thread = g_thread_new ("return-on-cancel-sync runner thread",
+                                 cancel_sync_runner_thread, task);
+ 
+-  while (thread_state == THREAD_STARTING)
++  while (g_atomic_int_get (&thread_state) == THREAD_STARTING)
+     g_cond_wait (&roc_init_cond, &roc_init_mutex);
+   g_mutex_unlock (&roc_init_mutex);
+ 
+-  g_assert (thread_state == THREAD_RUNNING);
++  g_assert_cmpint (g_atomic_int_get (&thread_state), ==, THREAD_RUNNING);
+ 
+   g_cancellable_cancel (cancellable);
+   g_thread_join (runner_thread);
+-  g_assert (thread_state == THREAD_RUNNING);
++  g_assert_cmpint (g_atomic_int_get (&thread_state), ==, THREAD_RUNNING);
+ 
+   ret = g_task_propagate_int (task, &error);
+   g_assert_error (error, G_IO_ERROR, G_IO_ERROR_CANCELLED);
+@@ -1687,18 +1687,18 @@ test_return_on_cancel_sync (void)
+ 
+   g_object_unref (task);
+ 
+-  while (thread_state == THREAD_RUNNING)
++  while (g_atomic_int_get (&thread_state) == THREAD_RUNNING)
+     g_cond_wait (&roc_finish_cond, &roc_finish_mutex);
+   g_mutex_unlock (&roc_finish_mutex);
+ 
+-  g_assert (thread_state == THREAD_CANCELLED);
++  g_assert_cmpint (g_atomic_int_get (&thread_state), ==, THREAD_CANCELLED);
+ 
+   g_cancellable_reset (cancellable);
+ 
+   /* If the task is already cancelled before it starts, it returns
+    * immediately, but the thread func still runs.
+    */
+-  thread_state = THREAD_STARTING;
++  g_atomic_int_set (&thread_state, THREAD_STARTING);
+   task = g_task_new (NULL, cancellable, run_in_thread_sync_callback, NULL);
+   g_task_set_return_on_cancel (task, TRUE);
+ 
+@@ -1711,7 +1711,7 @@ test_return_on_cancel_sync (void)
+                                 cancel_sync_runner_thread, task);
+ 
+   g_thread_join (runner_thread);
+-  g_assert (thread_state == THREAD_STARTING);
++  g_assert_cmpint (g_atomic_int_get (&thread_state), ==, THREAD_STARTING);
+ 
+   ret = g_task_propagate_int (task, &error);
+   g_assert_error (error, G_IO_ERROR, G_IO_ERROR_CANCELLED);
+@@ -1720,17 +1720,17 @@ test_return_on_cancel_sync (void)
+ 
+   g_object_unref (task);
+ 
+-  while (thread_state == THREAD_STARTING)
++  while (g_atomic_int_get (&thread_state) == THREAD_STARTING)
+     g_cond_wait (&roc_init_cond, &roc_init_mutex);
+   g_mutex_unlock (&roc_init_mutex);
+ 
+-  g_assert (thread_state == THREAD_RUNNING);
++  g_assert_cmpint (g_atomic_int_get (&thread_state), ==, THREAD_RUNNING);
+ 
+-  while (thread_state == THREAD_RUNNING)
++  while (g_atomic_int_get (&thread_state) == THREAD_RUNNING)
+     g_cond_wait (&roc_finish_cond, &roc_finish_mutex);
+   g_mutex_unlock (&roc_finish_mutex);
+ 
+-  g_assert (thread_state == THREAD_CANCELLED);
++  g_assert_cmpint (g_atomic_int_get (&thread_state), ==, THREAD_CANCELLED);
+ 
+   g_object_unref (cancellable);
+ }
+@@ -1776,7 +1776,7 @@ return_on_cancel_atomic_thread (GTask
+                                 gpointer      task_data,
+                                 GCancellable *cancellable)
+ {
+-  gint *state = task_data;
++  gint *state = task_data;  /* (atomic) */
+ 
+   g_assert (source_object == g_task_get_source_object (task));
+   g_assert (task_data == g_task_get_task_data (task));
+@@ -1784,34 +1784,34 @@ return_on_cancel_atomic_thread (GTask
+   g_assert_false (g_task_get_completed (task));
+ 
+   g_assert (g_thread_self () != main_thread);
+-  g_assert_cmpint (*state, ==, 0);
++  g_assert_cmpint (g_atomic_int_get (state), ==, 0);
+ 
+   g_mutex_lock (&roca_mutex_1);
+-  *state = 1;
++  g_atomic_int_set (state, 1);
+   g_cond_signal (&roca_cond_1);
+   g_mutex_unlock (&roca_mutex_1);
+ 
+   g_mutex_lock (&roca_mutex_2);
+   if (g_task_set_return_on_cancel (task, FALSE))
+-    *state = 2;
++    g_atomic_int_set (state, 2);
+   else
+-    *state = 3;
++    g_atomic_int_set (state, 3);
+   g_cond_signal (&roca_cond_2);
+   g_mutex_unlock (&roca_mutex_2);
+ 
+   g_mutex_lock (&roca_mutex_1);
+   if (g_task_set_return_on_cancel (task, TRUE))
+-    *state = 4;
++    g_atomic_int_set (state, 4);
+   else
+-    *state = 5;
++    g_atomic_int_set (state, 5);
+   g_cond_signal (&roca_cond_1);
+   g_mutex_unlock (&roca_mutex_1);
+ 
+   g_mutex_lock (&roca_mutex_2);
+   if (g_task_set_return_on_cancel (task, TRUE))
+-    *state = 6;
++    g_atomic_int_set (state, 6);
+   else
+-    *state = 7;
++    g_atomic_int_set (state, 7);
+   g_cond_signal (&roca_cond_2);
+   g_mutex_unlock (&roca_mutex_2);
+ 
+@@ -1823,7 +1823,7 @@ test_return_on_cancel_atomic (void)
+ {
+   GTask *task;
+   GCancellable *cancellable;
+-  volatile gint state;
++  gint state;  /* (atomic) */
+   gboolean notification_emitted = FALSE;
+   gboolean callback_ran;
+ 
+@@ -1832,7 +1832,7 @@ test_return_on_cancel_atomic (void)
+   g_mutex_lock (&roca_mutex_2);
+ 
+   /* If we don't cancel it, each set_return_on_cancel() call will succeed */
+-  state = 0;
++  g_atomic_int_set (&state, 0);
+   callback_ran = FALSE;
+   task = g_task_new (NULL, cancellable, return_on_cancel_atomic_callback, &callback_ran);
+   g_task_set_return_on_cancel (task, TRUE);
+@@ -1843,23 +1843,23 @@ test_return_on_cancel_atomic (void)
+   g_task_run_in_thread (task, return_on_cancel_atomic_thread);
+   g_object_unref (task);
+ 
+-  g_assert_cmpint (state, ==, 0);
++  g_assert_cmpint (g_atomic_int_get (&state), ==, 0);
+ 
+-  while (state == 0)
++  while (g_atomic_int_get (&state) == 0)
+     g_cond_wait (&roca_cond_1, &roca_mutex_1);
+-  g_assert (state == 1);
++  g_assert_cmpint (g_atomic_int_get (&state), ==, 1);
+ 
+-  while (state == 1)
++  while (g_atomic_int_get (&state) == 1)
+     g_cond_wait (&roca_cond_2, &roca_mutex_2);
+-  g_assert (state == 2);
++  g_assert_cmpint (g_atomic_int_get (&state), ==, 2);
+ 
+-  while (state == 2)
++  while (g_atomic_int_get (&state) == 2)
+     g_cond_wait (&roca_cond_1, &roca_mutex_1);
+-  g_assert (state == 4);
++  g_assert_cmpint (g_atomic_int_get (&state), ==, 4);
+ 
+-  while (state == 4)
++  while (g_atomic_int_get (&state) == 4)
+     g_cond_wait (&roca_cond_2, &roca_mutex_2);
+-  g_assert (state == 6);
++  g_assert_cmpint (g_atomic_int_get (&state), ==, 6);
+ 
+   /* callback assumes there'll be a cancelled error */
+   g_cancellable_cancel (cancellable);
+@@ -1876,7 +1876,7 @@ test_return_on_cancel_atomic (void)
+    * task won't complete right away, and further
+    * g_task_set_return_on_cancel() calls will return FALSE.
+    */
+-  state = 0;
++  g_atomic_int_set (&state, 0);
+   callback_ran = FALSE;
+   notification_emitted = FALSE;
+   task = g_task_new (NULL, cancellable, return_on_cancel_atomic_callback, &callback_ran);
+@@ -1887,16 +1887,16 @@ test_return_on_cancel_atomic (void)
+   g_task_set_task_data (task, (gpointer)&state, NULL);
+   g_task_run_in_thread (task, return_on_cancel_atomic_thread);
+ 
+-  g_assert_cmpint (state, ==, 0);
++  g_assert_cmpint (g_atomic_int_get (&state), ==, 0);
+ 
+-  while (state == 0)
++  while (g_atomic_int_get (&state) == 0)
+     g_cond_wait (&roca_cond_1, &roca_mutex_1);
+-  g_assert (state == 1);
++  g_assert_cmpint (g_atomic_int_get (&state), ==, 1);
+   g_assert (g_task_get_return_on_cancel (task));
+ 
+-  while (state == 1)
++  while (g_atomic_int_get (&state) == 1)
+     g_cond_wait (&roca_cond_2, &roca_mutex_2);
+-  g_assert (state == 2);
++  g_assert_cmpint (g_atomic_int_get (&state), ==, 2);
+   g_assert (!g_task_get_return_on_cancel (task));
+ 
+   g_cancellable_cancel (cancellable);
+@@ -1904,18 +1904,18 @@ test_return_on_cancel_atomic (void)
+   g_main_loop_run (loop);
+   g_assert (callback_ran == FALSE);
+ 
+-  while (state == 2)
++  while (g_atomic_int_get (&state) == 2)
+     g_cond_wait (&roca_cond_1, &roca_mutex_1);
+-  g_assert (state == 5);
++  g_assert_cmpint (g_atomic_int_get (&state), ==, 5);
+   g_assert (!g_task_get_return_on_cancel (task));
+ 
+   g_main_loop_run (loop);
+   g_assert (callback_ran == TRUE);
+   g_assert_true (notification_emitted);
+ 
+-  while (state == 5)
++  while (g_atomic_int_get (&state) == 5)
+     g_cond_wait (&roca_cond_2, &roca_mutex_2);
+-  g_assert (state == 7);
++  g_assert_cmpint (g_atomic_int_get (&state), ==, 7);
+ 
+   g_object_unref (cancellable);
+   g_mutex_unlock (&roca_mutex_1);
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0006-tests-Drop-unnecessary-volatile-qualifiers-from-test.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0006-tests-Drop-unnecessary-volatile-qualifiers-from-test.patch
new file mode 100644
index 000000000..7f22b4d46
--- /dev/null
+++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/0006-tests-Drop-unnecessary-volatile-qualifiers-from-test.patch
@@ -0,0 +1,35 @@
+From f4607def1695efb50eb49e0586eed0f5557935f2 Mon Sep 17 00:00:00 2001
+From: Philip Withnall 
+Date: Wed, 11 Nov 2020 18:20:37 +0000
+Subject: [PATCH 06/29] tests: Drop unnecessary volatile qualifiers from tests
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+These variables were already (correctly) accessed atomically. The
+`volatile` qualifier doesn’t help with that.
+
+Signed-off-by: Philip Withnall 
+
+Helps: #600
+Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719]
+---
+ gio/tests/g-file-info.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/gio/tests/g-file-info.c b/gio/tests/g-file-info.c
+index 809b0ec79..1a02b5e0e 100644
+--- a/gio/tests/g-file-info.c
++++ b/gio/tests/g-file-info.c
+@@ -221,7 +221,7 @@ test_internal_enhanced_stdio (void)
+   guint64 size_p0, alsize_p0, size_ps, alsize_ps;
+   const gchar *id_p0;
+   const gchar *id_p1;
+-  volatile guint64 time_p0;
++  guint64 time_p0;
+   gchar *tmp_dir;
+   wchar_t *programdata_dir_w;
+   wchar_t *users_dir_w;
+-- 
+2.30.1
+
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0007-gdbusconnection-Drop-unnecessary-volatile-qualifiers.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0007-gdbusconnection-Drop-unnecessary-volatile-qualifiers.patch
new file mode 100644
index 000000000..78753f821
--- /dev/null
+++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/0007-gdbusconnection-Drop-unnecessary-volatile-qualifiers.patch
@@ -0,0 +1,111 @@
+From 33612404397f87f0cd45da90d3aa9ab60df895ee Mon Sep 17 00:00:00 2001
+From: Philip Withnall 
+Date: Wed, 11 Nov 2020 18:24:28 +0000
+Subject: [PATCH 07/29] gdbusconnection: Drop unnecessary volatile qualifiers
+ from variables
+
+This should introduce no API changes; there are public functions
+exported by `GDBusConnection` which still have some (incorrectly)
+`volatile` arguments, but dropping those qualifiers would be an API
+break.
+
+Signed-off-by: Philip Withnall 
+
+Helps: #600
+Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719]
+---
+ gio/gdbusconnection.c | 22 +++++++++++-----------
+ 1 file changed, 11 insertions(+), 11 deletions(-)
+
+diff --git a/gio/gdbusconnection.c b/gio/gdbusconnection.c
+index ed8cf6219..91c365e80 100644
+--- a/gio/gdbusconnection.c
++++ b/gio/gdbusconnection.c
+@@ -393,7 +393,7 @@ struct _GDBusConnection
+    * FLAG_CLOSED is the closed property. It may be read at any time, but
+    * may only be written while holding @lock.
+    */
+-  volatile gint atomic_flags;
++  gint atomic_flags;  /* (atomic) */
+ 
+   /* If the connection could not be established during initable_init(),
+    * this GError will be set.
+@@ -1596,7 +1596,7 @@ static gboolean
+ g_dbus_connection_send_message_unlocked (GDBusConnection   *connection,
+                                          GDBusMessage      *message,
+                                          GDBusSendMessageFlags flags,
+-                                         volatile guint32  *out_serial,
++                                         guint32           *out_serial,
+                                          GError           **error)
+ {
+   guchar *blob;
+@@ -1741,7 +1741,7 @@ g_dbus_connection_send_message (GDBusConnection        *connection,
+   g_return_val_if_fail (error == NULL || *error == NULL, FALSE);
+ 
+   CONNECTION_LOCK (connection);
+-  ret = g_dbus_connection_send_message_unlocked (connection, message, flags, out_serial, error);
++  ret = g_dbus_connection_send_message_unlocked (connection, message, flags, (guint32 *) out_serial, error);
+   CONNECTION_UNLOCK (connection);
+   return ret;
+ }
+@@ -1901,7 +1901,7 @@ g_dbus_connection_send_message_with_reply_unlocked (GDBusConnection     *connect
+                                                     GDBusMessage        *message,
+                                                     GDBusSendMessageFlags flags,
+                                                     gint                 timeout_msec,
+-                                                    volatile guint32    *out_serial,
++                                                    guint32             *out_serial,
+                                                     GCancellable        *cancellable,
+                                                     GAsyncReadyCallback  callback,
+                                                     gpointer             user_data)
+@@ -1909,7 +1909,7 @@ g_dbus_connection_send_message_with_reply_unlocked (GDBusConnection     *connect
+   GTask *task;
+   SendMessageData *data;
+   GError *error = NULL;
+-  volatile guint32 serial;
++  guint32 serial;
+ 
+   if (out_serial == NULL)
+     out_serial = &serial;
+@@ -2022,7 +2022,7 @@ g_dbus_connection_send_message_with_reply (GDBusConnection       *connection,
+                                                       message,
+                                                       flags,
+                                                       timeout_msec,
+-                                                      out_serial,
++                                                      (guint32 *) out_serial,
+                                                       cancellable,
+                                                       callback,
+                                                       user_data);
+@@ -3082,7 +3082,7 @@ g_dbus_connection_get_peer_credentials (GDBusConnection *connection)
+ 
+ /* ---------------------------------------------------------------------------------------------------- */
+ 
+-static volatile guint _global_filter_id = 1;
++static guint _global_filter_id = 1;  /* (atomic) */
+ 
+ /**
+  * g_dbus_connection_add_filter:
+@@ -3327,9 +3327,9 @@ args_to_rule (const gchar      *sender,
+   return g_string_free (rule, FALSE);
+ }
+ 
+-static volatile guint _global_subscriber_id = 1;
+-static volatile guint _global_registration_id = 1;
+-static volatile guint _global_subtree_registration_id = 1;
++static guint _global_subscriber_id = 1;  /* (atomic) */
++static guint _global_registration_id = 1;  /* (atomic) */
++static guint _global_subtree_registration_id = 1;  /* (atomic) */
+ 
+ /* ---------------------------------------------------------------------------------------------------- */
+ 
+@@ -5992,7 +5992,7 @@ g_dbus_connection_call_sync_internal (GDBusConnection         *connection,
+                                                           message,
+                                                           send_flags,
+                                                           timeout_msec,
+-                                                          NULL, /* volatile guint32 *out_serial */
++                                                          NULL, /* guint32 *out_serial */
+                                                           cancellable,
+                                                           &local_error);
+ 
+-- 
+2.30.1
+
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0008-gdbuserror-Drop-unnecessary-volatile-qualifiers-from.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0008-gdbuserror-Drop-unnecessary-volatile-qualifiers-from.patch
new file mode 100644
index 000000000..e947a264c
--- /dev/null
+++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/0008-gdbuserror-Drop-unnecessary-volatile-qualifiers-from.patch
@@ -0,0 +1,95 @@
+From 7c7623c4a31fb0f2a7176c43acc728093818b58c Mon Sep 17 00:00:00 2001
+From: Philip Withnall 
+Date: Wed, 11 Nov 2020 18:26:19 +0000
+Subject: [PATCH 08/29] gdbuserror: Drop unnecessary volatile qualifiers from
+ variables
+
+This should introduce no API changes. The
+`g_dbus_error_register_error_domain()` function still (incorrectly) has
+a `volatile` argument, but dropping that qualifier would be an API
+break.
+
+Signed-off-by: Philip Withnall 
+
+Helps: #600
+Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719]
+---
+ gio/gdbuserror.c | 28 +++++++++++++++++-----------
+ 1 file changed, 17 insertions(+), 11 deletions(-)
+
+diff --git a/gio/gdbuserror.c b/gio/gdbuserror.c
+index 682677354..b03a33f27 100644
+--- a/gio/gdbuserror.c
++++ b/gio/gdbuserror.c
+@@ -84,12 +84,12 @@
+  * GQuark
+  * foo_bar_error_quark (void)
+  * {
+- *   static volatile gsize quark_volatile = 0;
++ *   static gsize quark = 0;
+  *   g_dbus_error_register_error_domain ("foo-bar-error-quark",
+- *                                       &quark_volatile,
++ *                                       &quark,
+  *                                       foo_bar_error_entries,
+  *                                       G_N_ELEMENTS (foo_bar_error_entries));
+- *   return (GQuark) quark_volatile;
++ *   return (GQuark) quark;
+  * }
+  * ]|
+  * With this setup, a D-Bus peer can transparently pass e.g. %FOO_BAR_ERROR_ANOTHER_ERROR and
+@@ -160,12 +160,12 @@ GQuark
+ g_dbus_error_quark (void)
+ {
+   G_STATIC_ASSERT (G_N_ELEMENTS (g_dbus_error_entries) - 1 == G_DBUS_ERROR_PROPERTY_READ_ONLY);
+-  static volatile gsize quark_volatile = 0;
++  static gsize quark = 0;
+   g_dbus_error_register_error_domain ("g-dbus-error-quark",
+-                                      &quark_volatile,
++                                      &quark,
+                                       g_dbus_error_entries,
+                                       G_N_ELEMENTS (g_dbus_error_entries));
+-  return (GQuark) quark_volatile;
++  return (GQuark) quark;
+ }
+ 
+ /**
+@@ -185,25 +185,31 @@ g_dbus_error_register_error_domain (const gchar           *error_domain_quark_na
+                                     const GDBusErrorEntry *entries,
+                                     guint                  num_entries)
+ {
++  gsize *quark;
++
+   g_return_if_fail (error_domain_quark_name != NULL);
+   g_return_if_fail (quark_volatile != NULL);
+   g_return_if_fail (entries != NULL);
+   g_return_if_fail (num_entries > 0);
+ 
+-  if (g_once_init_enter (quark_volatile))
++  /* Drop the volatile qualifier, which should never have been on the argument
++   * in the first place. */
++  quark = (gsize *) quark_volatile;
++
++  if (g_once_init_enter (quark))
+     {
+       guint n;
+-      GQuark quark;
++      GQuark new_quark;
+ 
+-      quark = g_quark_from_static_string (error_domain_quark_name);
++      new_quark = g_quark_from_static_string (error_domain_quark_name);
+ 
+       for (n = 0; n < num_entries; n++)
+         {
+-          g_warn_if_fail (g_dbus_error_register_error (quark,
++          g_warn_if_fail (g_dbus_error_register_error (new_quark,
+                                                        entries[n].error_code,
+                                                        entries[n].dbus_error_name));
+         }
+-      g_once_init_leave (quark_volatile, quark);
++      g_once_init_leave (quark, new_quark);
+     }
+ }
+ 
+-- 
+2.30.1
+
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0009-gio-Drop-unnecessary-volatile-qualifiers-from-intern.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0009-gio-Drop-unnecessary-volatile-qualifiers-from-intern.patch
new file mode 100644
index 000000000..7897d43bb
--- /dev/null
+++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/0009-gio-Drop-unnecessary-volatile-qualifiers-from-intern.patch
@@ -0,0 +1,207 @@
+From 74250cd9c9dfd3ad428e445c095ceac88ba18691 Mon Sep 17 00:00:00 2001
+From: Philip Withnall 
+Date: Wed, 11 Nov 2020 18:28:23 +0000
+Subject: [PATCH 09/29] gio: Drop unnecessary volatile qualifiers from internal
+ variables
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+These variables were already (correctly) accessed atomically. The
+`volatile` qualifier doesn’t help with that.
+
+Signed-off-by: Philip Withnall 
+
+Helps: #600
+Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719]
+---
+ gio/gdbusinterfaceskeleton.c |  2 +-
+ gio/gdbusintrospection.h     | 14 +++++++-------
+ gio/gdbusnameowning.c        |  4 ++--
+ gio/gdbusnamewatching.c      |  4 ++--
+ gio/gdbusprivate.c           | 10 +++++-----
+ gio/gnetworking.c            |  2 +-
+ 6 files changed, 18 insertions(+), 18 deletions(-)
+
+diff --git a/gio/gdbusinterfaceskeleton.c b/gio/gdbusinterfaceskeleton.c
+index 243b4a0a4..76398df36 100644
+--- a/gio/gdbusinterfaceskeleton.c
++++ b/gio/gdbusinterfaceskeleton.c
+@@ -458,7 +458,7 @@ dbus_interface_interface_init (GDBusInterfaceIface *iface)
+ 
+ typedef struct
+ {
+-  volatile gint ref_count;
++  gint ref_count;  /* (atomic) */
+   GDBusInterfaceSkeleton       *interface;
+   GDBusInterfaceMethodCallFunc  method_call_func;
+   GDBusMethodInvocation        *invocation;
+diff --git a/gio/gdbusintrospection.h b/gio/gdbusintrospection.h
+index 14b171055..f2e291787 100644
+--- a/gio/gdbusintrospection.h
++++ b/gio/gdbusintrospection.h
+@@ -43,7 +43,7 @@ G_BEGIN_DECLS
+ struct _GDBusAnnotationInfo
+ {
+   /*< public >*/
+-  volatile gint         ref_count;
++  gint                  ref_count;  /* (atomic) */
+   gchar                *key;
+   gchar                *value;
+   GDBusAnnotationInfo **annotations;
+@@ -63,7 +63,7 @@ struct _GDBusAnnotationInfo
+ struct _GDBusArgInfo
+ {
+   /*< public >*/
+-  volatile gint         ref_count;
++  gint                  ref_count;  /* (atomic) */
+   gchar                *name;
+   gchar                *signature;
+   GDBusAnnotationInfo **annotations;
+@@ -84,7 +84,7 @@ struct _GDBusArgInfo
+ struct _GDBusMethodInfo
+ {
+   /*< public >*/
+-  volatile gint         ref_count;
++  gint                  ref_count;  /* (atomic) */
+   gchar                *name;
+   GDBusArgInfo        **in_args;
+   GDBusArgInfo        **out_args;
+@@ -105,7 +105,7 @@ struct _GDBusMethodInfo
+ struct _GDBusSignalInfo
+ {
+   /*< public >*/
+-  volatile gint         ref_count;
++  gint                  ref_count;  /* (atomic) */
+   gchar                *name;
+   GDBusArgInfo        **args;
+   GDBusAnnotationInfo **annotations;
+@@ -126,7 +126,7 @@ struct _GDBusSignalInfo
+ struct _GDBusPropertyInfo
+ {
+   /*< public >*/
+-  volatile gint             ref_count;
++  gint                      ref_count;  /* (atomic) */
+   gchar                    *name;
+   gchar                    *signature;
+   GDBusPropertyInfoFlags    flags;
+@@ -149,7 +149,7 @@ struct _GDBusPropertyInfo
+ struct _GDBusInterfaceInfo
+ {
+   /*< public >*/
+-  volatile gint         ref_count;
++  gint                  ref_count;  /* (atomic) */
+   gchar                *name;
+   GDBusMethodInfo     **methods;
+   GDBusSignalInfo     **signals;
+@@ -172,7 +172,7 @@ struct _GDBusInterfaceInfo
+ struct _GDBusNodeInfo
+ {
+   /*< public >*/
+-  volatile gint         ref_count;
++  gint                  ref_count;  /* (atomic) */
+   gchar                *path;
+   GDBusInterfaceInfo  **interfaces;
+   GDBusNodeInfo       **nodes;
+diff --git a/gio/gdbusnameowning.c b/gio/gdbusnameowning.c
+index d20e6ffed..1130d6789 100644
+--- a/gio/gdbusnameowning.c
++++ b/gio/gdbusnameowning.c
+@@ -55,7 +55,7 @@ typedef enum
+ 
+ typedef struct
+ {
+-  volatile gint             ref_count;
++  gint                      ref_count;  /* (atomic) */
+   guint                     id;
+   GBusNameOwnerFlags        flags;
+   gchar                    *name;
+@@ -73,7 +73,7 @@ typedef struct
+   guint                     name_acquired_subscription_id;
+   guint                     name_lost_subscription_id;
+ 
+-  volatile gboolean         cancelled; /* must hold lock when reading or modifying */
++  gboolean                  cancelled; /* must hold lock when reading or modifying */
+ 
+   gboolean                  needs_release;
+ } Client;
+diff --git a/gio/gdbusnamewatching.c b/gio/gdbusnamewatching.c
+index bc2a9119e..8d24700c5 100644
+--- a/gio/gdbusnamewatching.c
++++ b/gio/gdbusnamewatching.c
+@@ -56,7 +56,7 @@ typedef enum
+ 
+ typedef struct
+ {
+-  volatile gint             ref_count;
++  gint                      ref_count;  /* (atomic) */
+   guint                     id;
+   gchar                    *name;
+   GBusNameWatcherFlags      flags;
+@@ -78,7 +78,7 @@ typedef struct
+ } Client;
+ 
+ /* Must be accessed atomically. */
+-static volatile guint next_global_id = 1;
++static guint next_global_id = 1;  /* (atomic) */
+ 
+ /* Must be accessed with @lock held. */
+ static GHashTable *map_id_to_client = NULL;
+diff --git a/gio/gdbusprivate.c b/gio/gdbusprivate.c
+index 2551e4791..99b37f3eb 100644
+--- a/gio/gdbusprivate.c
++++ b/gio/gdbusprivate.c
+@@ -265,7 +265,7 @@ ensure_required_types (void)
+ 
+ typedef struct
+ {
+-  volatile gint refcount;
++  gint refcount;  /* (atomic) */
+   GThread *thread;
+   GMainContext *context;
+   GMainLoop *loop;
+@@ -341,12 +341,12 @@ typedef enum {
+ 
+ struct GDBusWorker
+ {
+-  volatile gint                       ref_count;
++  gint                                ref_count;  /* (atomic) */
+ 
+   SharedThreadData                   *shared_thread_data;
+ 
+   /* really a boolean, but GLib 2.28 lacks atomic boolean ops */
+-  volatile gint                       stopped;
++  gint                                stopped;  /* (atomic) */
+ 
+   /* TODO: frozen (e.g. G_DBUS_CONNECTION_FLAGS_DELAY_MESSAGE_PROCESSING) currently
+    * only affects messages received from the other peer (since GDBusServer is the
+@@ -1941,11 +1941,11 @@ _g_dbus_debug_print_unlock (void)
+ void
+ _g_dbus_initialize (void)
+ {
+-  static volatile gsize initialized = 0;
++  static gsize initialized = 0;
+ 
+   if (g_once_init_enter (&initialized))
+     {
+-      volatile GQuark g_dbus_error_domain;
++      GQuark g_dbus_error_domain;
+       const gchar *debug;
+ 
+       g_dbus_error_domain = G_DBUS_ERROR;
+diff --git a/gio/gnetworking.c b/gio/gnetworking.c
+index 05507fe70..7bc6d73c4 100644
+--- a/gio/gnetworking.c
++++ b/gio/gnetworking.c
+@@ -61,7 +61,7 @@ void
+ g_networking_init (void)
+ {
+ #ifdef G_OS_WIN32
+-  static volatile gsize inited = 0;
++  static gsize inited = 0;
+ 
+   if (g_once_init_enter (&inited))
+     {
+-- 
+2.30.1
+
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0010-kqueue-Fix-unlocked-access-to-shared-variable.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0010-kqueue-Fix-unlocked-access-to-shared-variable.patch
new file mode 100644
index 000000000..e52b70942
--- /dev/null
+++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/0010-kqueue-Fix-unlocked-access-to-shared-variable.patch
@@ -0,0 +1,51 @@
+From e4e88688a0722237effc56cc21438d0c8e82de88 Mon Sep 17 00:00:00 2001
+From: Philip Withnall 
+Date: Wed, 11 Nov 2020 18:29:26 +0000
+Subject: [PATCH 10/29] kqueue: Fix unlocked access to shared variable
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+And drop the `volatile` qualifier because it doesn’t help.
+
+Signed-off-by: Philip Withnall 
+
+Helps: #600
+Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719]
+---
+ gio/kqueue/kqueue-missing.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/gio/kqueue/kqueue-missing.c b/gio/kqueue/kqueue-missing.c
+index 37af82e5b..d1ffdf4bd 100644
+--- a/gio/kqueue/kqueue-missing.c
++++ b/gio/kqueue/kqueue-missing.c
+@@ -34,7 +34,7 @@ static gboolean km_debug_enabled = FALSE;
+ static GSList *missing_subs_list = NULL;
+ G_LOCK_DEFINE_STATIC (missing_lock);
+ 
+-static volatile gboolean scan_missing_running = FALSE;
++static gboolean scan_missing_running = FALSE;  /* must be accessed under @missing_lock */
+ 
+ 
+ static gboolean
+@@ -62,7 +62,6 @@ _km_add_missing (kqueue_sub *sub)
+ 
+   KM_W ("adding %s to missing list\n", sub->filename);
+   missing_subs_list = g_slist_prepend (missing_subs_list, sub);
+-  G_UNLOCK (missing_lock);
+ 
+   if (!scan_missing_running)
+     {
+@@ -73,6 +72,8 @@ _km_add_missing (kqueue_sub *sub)
+       g_source_attach (source, GLIB_PRIVATE_CALL (g_get_worker_context) ());
+       g_source_unref (source);
+     }
++
++  G_UNLOCK (missing_lock);
+ }
+ 
+ /**
+-- 
+2.30.1
+
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0011-tests-Drop-unnecessary-volatile-qualifiers-from-test.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0011-tests-Drop-unnecessary-volatile-qualifiers-from-test.patch
new file mode 100644
index 000000000..ea3fd9f6e
--- /dev/null
+++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/0011-tests-Drop-unnecessary-volatile-qualifiers-from-test.patch
@@ -0,0 +1,126 @@
+From 7cdb68713c1863a27ad82d801756ec74097e8e87 Mon Sep 17 00:00:00 2001
+From: Philip Withnall 
+Date: Wed, 11 Nov 2020 18:30:36 +0000
+Subject: [PATCH 11/29] tests: Drop unnecessary volatile qualifiers from tests
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+These variables were already (correctly) accessed atomically. The
+`volatile` qualifier doesn’t help with that.
+
+Signed-off-by: Philip Withnall 
+
+Helps: #600
+Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719]
+---
+ tests/gobject/performance-threaded.c |  2 +-
+ tests/gobject/performance.c          |  4 ++--
+ tests/onceinit.c                     | 16 ++++++++--------
+ 3 files changed, 11 insertions(+), 11 deletions(-)
+
+diff --git a/tests/gobject/performance-threaded.c b/tests/gobject/performance-threaded.c
+index 30ea5bd80..c98541d66 100644
+--- a/tests/gobject/performance-threaded.c
++++ b/tests/gobject/performance-threaded.c
+@@ -52,7 +52,7 @@ static GType liststore_interfaces[6];
+ static gpointer 
+ register_types (void)
+ {
+-  static volatile gsize inited = 0;
++  static gsize inited = 0;
+   if (g_once_init_enter (&inited))
+     {
+       liststore_interfaces[0] = simple_register_class ("GtkBuildable", G_TYPE_INTERFACE, 0);
+diff --git a/tests/gobject/performance.c b/tests/gobject/performance.c
+index 236ffaed0..163be58b4 100644
+--- a/tests/gobject/performance.c
++++ b/tests/gobject/performance.c
+@@ -575,8 +575,8 @@ test_type_check_run (PerformanceTest *test,
+ 		     gpointer _data)
+ {
+   struct TypeCheckTest *data = _data;
+-  volatile GObject *object = data->object;
+-  volatile GType type, types[5];
++  GObject *object = data->object;
++  GType type, types[5];
+   int i, j;
+ 
+   types[0] = test_iface1_get_type ();
+diff --git a/tests/onceinit.c b/tests/onceinit.c
+index 89ba6a136..9788efcbd 100644
+--- a/tests/onceinit.c
++++ b/tests/onceinit.c
+@@ -25,13 +25,13 @@
+ 
+ static GMutex       tmutex;
+ static GCond        tcond;
+-static volatile int thread_call_count = 0;
++static int thread_call_count = 0;  /* (atomic) */
+ static char         dummy_value = 'x';
+ 
+ static void
+ assert_singleton_execution1 (void)
+ {
+-  static volatile int seen_execution = 0;
++  static int seen_execution = 0;  /* (atomic) */
+   int old_seen_execution = g_atomic_int_add (&seen_execution, 1);
+   if (old_seen_execution != 0)
+     g_error ("%s: function executed more than once", G_STRFUNC);
+@@ -40,7 +40,7 @@ assert_singleton_execution1 (void)
+ static void
+ assert_singleton_execution2 (void)
+ {
+-  static volatile int seen_execution = 0;
++  static int seen_execution = 0;  /* (atomic) */
+   int old_seen_execution = g_atomic_int_add (&seen_execution, 1);
+   if (old_seen_execution != 0)
+     g_error ("%s: function executed more than once", G_STRFUNC);
+@@ -49,7 +49,7 @@ assert_singleton_execution2 (void)
+ static void
+ assert_singleton_execution3 (void)
+ {
+-  static volatile int seen_execution = 0;
++  static int seen_execution = 0;  /* (atomic) */
+   int old_seen_execution = g_atomic_int_add (&seen_execution, 1);
+   if (old_seen_execution != 0)
+     g_error ("%s: function executed more than once", G_STRFUNC);
+@@ -58,7 +58,7 @@ assert_singleton_execution3 (void)
+ static void
+ initializer1 (void)
+ {
+-  static volatile gsize initialized = 0;
++  static gsize initialized = 0;
+   if (g_once_init_enter (&initialized))
+     {
+       gsize initval = 42;
+@@ -70,7 +70,7 @@ initializer1 (void)
+ static gpointer
+ initializer2 (void)
+ {
+-  static volatile gsize initialized = 0;
++  static gsize initialized = 0;
+   if (g_once_init_enter (&initialized))
+     {
+       void *pointer_value = &dummy_value;
+@@ -83,7 +83,7 @@ initializer2 (void)
+ static void
+ initializer3 (void)
+ {
+-  static volatile gsize initialized = 0;
++  static gsize initialized = 0;
+   if (g_once_init_enter (&initialized))
+     {
+       gsize initval = 42;
+@@ -163,7 +163,7 @@ main (int   argc,
+       static void                                       \
+       test_initializer_##N (void)                       \
+       {                                                 \
+-        static volatile gsize initialized = 0;          \
++        static gsize initialized = 0;                   \
+         if (g_once_init_enter (&initialized))           \
+           {                                             \
+             g_free (g_strdup_printf ("cpuhog%5d", 1));  \
+-- 
+2.30.1
+
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0012-tests-Fix-non-atomic-access-to-some-shared-variables.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0012-tests-Fix-non-atomic-access-to-some-shared-variables.patch
new file mode 100644
index 000000000..be7fcba8c
--- /dev/null
+++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/0012-tests-Fix-non-atomic-access-to-some-shared-variables.patch
@@ -0,0 +1,103 @@
+From 1a7f0002a052725fb646e136fadd5dad66222d7f Mon Sep 17 00:00:00 2001
+From: Philip Withnall 
+Date: Wed, 11 Nov 2020 18:31:01 +0000
+Subject: [PATCH 12/29] tests: Fix non-atomic access to some shared variables
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+And drop the `volatile` qualifier from the variables, as that doesn’t
+help with thread safety.
+
+Signed-off-by: Philip Withnall 
+
+Helps: #600
+Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719]
+---
+ tests/refcount/objects.c     | 8 ++++----
+ tests/refcount/properties3.c | 8 ++++----
+ 2 files changed, 8 insertions(+), 8 deletions(-)
+
+diff --git a/tests/refcount/objects.c b/tests/refcount/objects.c
+index 963766d00..0c471a42b 100644
+--- a/tests/refcount/objects.c
++++ b/tests/refcount/objects.c
+@@ -26,7 +26,7 @@ struct _GTestClass
+ };
+ 
+ static GType my_test_get_type (void);
+-static volatile gboolean stopping;
++static gint stopping;  /* (atomic) */
+ 
+ static void my_test_class_init (GTestClass * klass);
+ static void my_test_init (GTest * test);
+@@ -101,7 +101,7 @@ run_thread (GTest * test)
+ {
+   gint i = 1;
+ 
+-  while (!stopping) {
++  while (!g_atomic_int_get (&stopping)) {
+     my_test_do_refcount (test);
+     if ((i++ % 10000) == 0) {
+       g_print (".");
+@@ -128,7 +128,7 @@ main (int argc, char **argv)
+ 
+   test_threads = g_array_new (FALSE, FALSE, sizeof (GThread *));
+ 
+-  stopping = FALSE;
++  g_atomic_int_set (&stopping, 0);
+ 
+   for (i = 0; i < n_threads; i++) {
+     GThread *thread;
+@@ -141,7 +141,7 @@ main (int argc, char **argv)
+   }
+   g_usleep (5000000);
+ 
+-  stopping = TRUE;
++  g_atomic_int_set (&stopping, 1);
+ 
+   g_print ("\nstopping\n");
+ 
+diff --git a/tests/refcount/properties3.c b/tests/refcount/properties3.c
+index bc8820661..31f26a46e 100644
+--- a/tests/refcount/properties3.c
++++ b/tests/refcount/properties3.c
+@@ -34,7 +34,7 @@ struct _GTestClass
+ static GType my_test_get_type (void);
+ G_DEFINE_TYPE (GTest, my_test, G_TYPE_OBJECT)
+ 
+-static volatile gboolean stopping;
++static gint stopping;  /* (atomic) */
+ 
+ static void my_test_get_property (GObject    *object,
+ 				  guint       prop_id,
+@@ -140,7 +140,7 @@ run_thread (GTest * test)
+ {
+   gint i = 1;
+ 
+-  while (!stopping) {
++  while (!g_atomic_int_get (&stopping)) {
+     my_test_do_property (test);
+     if ((i++ % 10000) == 0)
+       {
+@@ -170,7 +170,7 @@ main (int argc, char **argv)
+ 
+   test_threads = g_array_new (FALSE, FALSE, sizeof (GThread *));
+ 
+-  stopping = FALSE;
++  g_atomic_int_set (&stopping, 0);
+ 
+   for (i = 0; i < n_threads; i++) {
+     GThread *thread;
+@@ -180,7 +180,7 @@ main (int argc, char **argv)
+   }
+   g_usleep (30000000);
+ 
+-  stopping = TRUE;
++  g_atomic_int_set (&stopping, 1);
+   g_print ("\nstopping\n");
+ 
+   /* join all threads */
+-- 
+2.30.1
+
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0013-gatomic-Drop-unnecessary-volatile-qualifiers-from-in.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0013-gatomic-Drop-unnecessary-volatile-qualifiers-from-in.patch
new file mode 100644
index 000000000..efc6817bd
--- /dev/null
+++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/0013-gatomic-Drop-unnecessary-volatile-qualifiers-from-in.patch
@@ -0,0 +1,180 @@
+From 3c648457c284b4ba313b8591008d2e18ae4335eb Mon Sep 17 00:00:00 2001
+From: Philip Withnall 
+Date: Wed, 11 Nov 2020 18:36:37 +0000
+Subject: [PATCH 13/29] gatomic: Drop unnecessary volatile qualifiers from
+ internal variables
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+It’s not necessary and provides no thread safety guarantees.
+
+The `volatile` qualifiers on the function arguments have to be kept, as
+they are (unfortunately) part of the API.
+
+Signed-off-by: Philip Withnall 
+
+Helps: #600
+Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719]
+---
+ glib/gatomic.c | 34 +++++++++++++++++-----------------
+ 1 file changed, 17 insertions(+), 17 deletions(-)
+
+diff --git a/glib/gatomic.c b/glib/gatomic.c
+index 8b8c6453d..67f5ba6b4 100644
+--- a/glib/gatomic.c
++++ b/glib/gatomic.c
+@@ -316,7 +316,7 @@ guint
+ gpointer
+ (g_atomic_pointer_get) (const volatile void *atomic)
+ {
+-  return g_atomic_pointer_get ((const volatile gpointer *) atomic);
++  return g_atomic_pointer_get ((gpointer *) atomic);
+ }
+ 
+ /**
+@@ -335,7 +335,7 @@ void
+ (g_atomic_pointer_set) (volatile void *atomic,
+                         gpointer       newval)
+ {
+-  g_atomic_pointer_set ((volatile gpointer *) atomic, newval);
++  g_atomic_pointer_set ((gpointer *) atomic, newval);
+ }
+ 
+ /**
+@@ -363,7 +363,7 @@ gboolean
+                                          gpointer       oldval,
+                                          gpointer       newval)
+ {
+-  return g_atomic_pointer_compare_and_exchange ((volatile gpointer *) atomic,
++  return g_atomic_pointer_compare_and_exchange ((gpointer *) atomic,
+                                                 oldval, newval);
+ }
+ 
+@@ -387,7 +387,7 @@ gssize
+ (g_atomic_pointer_add) (volatile void *atomic,
+                         gssize         val)
+ {
+-  return g_atomic_pointer_add ((volatile gpointer *) atomic, val);
++  return g_atomic_pointer_add ((gpointer *) atomic, val);
+ }
+ 
+ /**
+@@ -411,7 +411,7 @@ gsize
+ (g_atomic_pointer_and) (volatile void *atomic,
+                         gsize          val)
+ {
+-  return g_atomic_pointer_and ((volatile gpointer *) atomic, val);
++  return g_atomic_pointer_and ((gpointer *) atomic, val);
+ }
+ 
+ /**
+@@ -435,7 +435,7 @@ gsize
+ (g_atomic_pointer_or) (volatile void *atomic,
+                        gsize          val)
+ {
+-  return g_atomic_pointer_or ((volatile gpointer *) atomic, val);
++  return g_atomic_pointer_or ((gpointer *) atomic, val);
+ }
+ 
+ /**
+@@ -459,7 +459,7 @@ gsize
+ (g_atomic_pointer_xor) (volatile void *atomic,
+                         gsize          val)
+ {
+-  return g_atomic_pointer_xor ((volatile gpointer *) atomic, val);
++  return g_atomic_pointer_xor ((gpointer *) atomic, val);
+ }
+ 
+ #elif defined (G_PLATFORM_WIN32)
+@@ -591,7 +591,7 @@ guint
+ gpointer
+ (g_atomic_pointer_get) (const volatile void *atomic)
+ {
+-  const volatile gpointer *ptr = atomic;
++  const gpointer *ptr = atomic;
+ 
+   MemoryBarrier ();
+   return *ptr;
+@@ -601,7 +601,7 @@ void
+ (g_atomic_pointer_set) (volatile void *atomic,
+                         gpointer       newval)
+ {
+-  volatile gpointer *ptr = atomic;
++  gpointer *ptr = atomic;
+ 
+   *ptr = newval;
+   MemoryBarrier ();
+@@ -797,7 +797,7 @@ guint
+ gpointer
+ (g_atomic_pointer_get) (const volatile void *atomic)
+ {
+-  const volatile gpointer *ptr = atomic;
++  const gpointer *ptr = atomic;
+   gpointer value;
+ 
+   pthread_mutex_lock (&g_atomic_lock);
+@@ -811,7 +811,7 @@ void
+ (g_atomic_pointer_set) (volatile void *atomic,
+                         gpointer       newval)
+ {
+-  volatile gpointer *ptr = atomic;
++  gpointer *ptr = atomic;
+ 
+   pthread_mutex_lock (&g_atomic_lock);
+   *ptr = newval;
+@@ -823,7 +823,7 @@ gboolean
+                                          gpointer       oldval,
+                                          gpointer       newval)
+ {
+-  volatile gpointer *ptr = atomic;
++  gpointer *ptr = atomic;
+   gboolean success;
+ 
+   pthread_mutex_lock (&g_atomic_lock);
+@@ -840,7 +840,7 @@ gssize
+ (g_atomic_pointer_add) (volatile void *atomic,
+                         gssize         val)
+ {
+-  volatile gssize *ptr = atomic;
++  gssize *ptr = atomic;
+   gssize oldval;
+ 
+   pthread_mutex_lock (&g_atomic_lock);
+@@ -855,7 +855,7 @@ gsize
+ (g_atomic_pointer_and) (volatile void *atomic,
+                         gsize          val)
+ {
+-  volatile gsize *ptr = atomic;
++  gsize *ptr = atomic;
+   gsize oldval;
+ 
+   pthread_mutex_lock (&g_atomic_lock);
+@@ -870,7 +870,7 @@ gsize
+ (g_atomic_pointer_or) (volatile void *atomic,
+                        gsize          val)
+ {
+-  volatile gsize *ptr = atomic;
++  gsize *ptr = atomic;
+   gsize oldval;
+ 
+   pthread_mutex_lock (&g_atomic_lock);
+@@ -885,7 +885,7 @@ gsize
+ (g_atomic_pointer_xor) (volatile void *atomic,
+                         gsize          val)
+ {
+-  volatile gsize *ptr = atomic;
++  gsize *ptr = atomic;
+   gsize oldval;
+ 
+   pthread_mutex_lock (&g_atomic_lock);
+@@ -915,5 +915,5 @@ gint
+ g_atomic_int_exchange_and_add (volatile gint *atomic,
+                                gint           val)
+ {
+-  return (g_atomic_int_add) (atomic, val);
++  return (g_atomic_int_add) ((gint *) atomic, val);
+ }
+-- 
+2.30.1
+
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0014-gatomic-Drop-unnecessary-volatile-qualifiers-from-ma.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0014-gatomic-Drop-unnecessary-volatile-qualifiers-from-ma.patch
new file mode 100644
index 000000000..bcc06e05c
--- /dev/null
+++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/0014-gatomic-Drop-unnecessary-volatile-qualifiers-from-ma.patch
@@ -0,0 +1,56 @@
+From 9474655eb21d64519b293e780bb686976cbdb790 Mon Sep 17 00:00:00 2001
+From: Philip Withnall 
+Date: Wed, 11 Nov 2020 18:38:36 +0000
+Subject: [PATCH 14/29] gatomic: Drop unnecessary volatile qualifiers from
+ macro variables
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+It’s not necessary and provides no thread safety guarantees.
+
+The `volatile` qualifiers on the function arguments have to be kept, as
+they are (unfortunately) part of the API.
+
+Signed-off-by: Philip Withnall 
+
+Helps: #600
+Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719]
+---
+ glib/gatomic.h | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/glib/gatomic.h b/glib/gatomic.h
+index bb1435c70..e6eccfada 100644
+--- a/glib/gatomic.h
++++ b/glib/gatomic.h
+@@ -211,7 +211,7 @@ G_END_DECLS
+   }))
+ #define g_atomic_pointer_and(atomic, val) \
+   (G_GNUC_EXTENSION ({                                                       \
+-    volatile gsize *gapa_atomic = (volatile gsize *) (atomic);               \
++    gsize *gapa_atomic = (gsize *) (atomic);                                 \
+     G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gpointer));                 \
+     G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gsize));                    \
+     (void) (0 ? (gpointer) *(atomic) : NULL);                                \
+@@ -220,7 +220,7 @@ G_END_DECLS
+   }))
+ #define g_atomic_pointer_or(atomic, val) \
+   (G_GNUC_EXTENSION ({                                                       \
+-    volatile gsize *gapo_atomic = (volatile gsize *) (atomic);               \
++    gsize *gapo_atomic = (gsize *) (atomic);                                 \
+     G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gpointer));                 \
+     G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gsize));                    \
+     (void) (0 ? (gpointer) *(atomic) : NULL);                                \
+@@ -229,7 +229,7 @@ G_END_DECLS
+   }))
+ #define g_atomic_pointer_xor(atomic, val) \
+   (G_GNUC_EXTENSION ({                                                       \
+-    volatile gsize *gapx_atomic = (volatile gsize *) (atomic);               \
++    gsize *gapx_atomic = (gsize *) (atomic);                                 \
+     G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gpointer));                 \
+     G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gsize));                    \
+     (void) (0 ? (gpointer) *(atomic) : NULL);                                \
+-- 
+2.30.1
+
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0015-glib-Drop-unnecessary-volatile-qualifiers-from-inter.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0015-glib-Drop-unnecessary-volatile-qualifiers-from-inter.patch
new file mode 100644
index 000000000..9468548e3
--- /dev/null
+++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/0015-glib-Drop-unnecessary-volatile-qualifiers-from-inter.patch
@@ -0,0 +1,169 @@
+From 1314ff93fc4d3379483c33da6a7deff27f71ed95 Mon Sep 17 00:00:00 2001
+From: Philip Withnall 
+Date: Wed, 11 Nov 2020 18:40:56 +0000
+Subject: [PATCH 15/29] glib: Drop unnecessary volatile qualifiers from
+ internal variables
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+These variables were already (correctly) accessed atomically. The
+`volatile` qualifier doesn’t help with that.
+
+Signed-off-by: Philip Withnall 
+
+Helps: #600
+Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719]
+---
+ glib/gdatetime.c | 2 +-
+ glib/gkeyfile.c  | 2 +-
+ glib/gmain.c     | 8 ++++----
+ glib/gmarkup.c   | 2 +-
+ glib/gregex.c    | 6 +++---
+ glib/gthread.c   | 6 +++---
+ 6 files changed, 13 insertions(+), 13 deletions(-)
+
+diff --git a/glib/gdatetime.c b/glib/gdatetime.c
+index 1755257be..453077f6d 100644
+--- a/glib/gdatetime.c
++++ b/glib/gdatetime.c
+@@ -126,7 +126,7 @@ struct _GDateTime
+   /* 1 is 0001-01-01 in Proleptic Gregorian */
+   gint32 days;
+ 
+-  volatile gint ref_count;
++  gint ref_count;  /* (atomic) */
+ };
+ 
+ /* Time conversion {{{1 */
+diff --git a/glib/gkeyfile.c b/glib/gkeyfile.c
+index 9d0215331..bbe638b74 100644
+--- a/glib/gkeyfile.c
++++ b/glib/gkeyfile.c
+@@ -512,7 +512,7 @@ struct _GKeyFile
+ 
+   gchar **locales;
+ 
+-  volatile gint ref_count;
++  gint ref_count;  /* (atomic) */
+ };
+ 
+ typedef struct _GKeyFileKeyValuePair GKeyFileKeyValuePair;
+diff --git a/glib/gmain.c b/glib/gmain.c
+index 772b8ecfc..9c5f0ef1e 100644
+--- a/glib/gmain.c
++++ b/glib/gmain.c
+@@ -272,7 +272,7 @@ struct _GMainContext
+   guint owner_count;
+   GSList *waiters;
+ 
+-  volatile gint ref_count;
++  gint ref_count;  /* (atomic) */
+ 
+   GHashTable *sources;              /* guint -> GSource */
+ 
+@@ -303,7 +303,7 @@ struct _GMainContext
+ 
+ struct _GSourceCallback
+ {
+-  volatile gint ref_count;
++  gint ref_count;  /* (atomic) */
+   GSourceFunc func;
+   gpointer    data;
+   GDestroyNotify notify;
+@@ -313,7 +313,7 @@ struct _GMainLoop
+ {
+   GMainContext *context;
+   gboolean is_running; /* (atomic) */
+-  volatile gint ref_count;
++  gint ref_count;  /* (atomic) */
+ };
+ 
+ struct _GTimeoutSource
+@@ -4749,7 +4749,7 @@ g_main_context_get_poll_func (GMainContext *context)
+  *
+  * |[ 
+  *   #define NUM_TASKS 10
+- *   static volatile gint tasks_remaining = NUM_TASKS;
++ *   static gint tasks_remaining = NUM_TASKS;  // (atomic)
+  *   ...
+  *  
+  *   while (g_atomic_int_get (&tasks_remaining) != 0)
+diff --git a/glib/gmarkup.c b/glib/gmarkup.c
+index ba4dfd2e4..b8327fb6d 100644
+--- a/glib/gmarkup.c
++++ b/glib/gmarkup.c
+@@ -119,7 +119,7 @@ struct _GMarkupParseContext
+ {
+   const GMarkupParser *parser;
+ 
+-  volatile gint ref_count;
++  gint ref_count;  /* (atomic) */
+ 
+   GMarkupParseFlags flags;
+ 
+diff --git a/glib/gregex.c b/glib/gregex.c
+index 52416bbb9..5e6ddfb46 100644
+--- a/glib/gregex.c
++++ b/glib/gregex.c
+@@ -203,7 +203,7 @@ G_STATIC_ASSERT (G_REGEX_RAW               == PCRE_UTF8);
+ 
+ struct _GMatchInfo
+ {
+-  volatile gint ref_count;      /* the ref count */
++  gint ref_count;               /* the ref count (atomic) */
+   GRegex *regex;                /* the regex */
+   GRegexMatchFlags match_opts;  /* options used at match time on the regex */
+   gint matches;                 /* number of matching sub patterns */
+@@ -218,7 +218,7 @@ struct _GMatchInfo
+ 
+ struct _GRegex
+ {
+-  volatile gint ref_count;      /* the ref count for the immutable part */
++  gint ref_count;               /* the ref count for the immutable part (atomic) */
+   gchar *pattern;               /* the pattern */
+   pcre *pcre_re;                /* compiled form of the pattern */
+   GRegexCompileFlags compile_opts;      /* options used at compile time on the pattern */
+@@ -1300,7 +1300,7 @@ g_regex_new (const gchar         *pattern,
+   pcre *re;
+   const gchar *errmsg;
+   gboolean optimize = FALSE;
+-  static volatile gsize initialised = 0;
++  static gsize initialised = 0;
+ 
+   g_return_val_if_fail (pattern != NULL, NULL);
+   g_return_val_if_fail (error == NULL || *error == NULL, NULL);
+diff --git a/glib/gthread.c b/glib/gthread.c
+index 53f3a0848..612a9739f 100644
+--- a/glib/gthread.c
++++ b/glib/gthread.c
+@@ -513,7 +513,7 @@ static GMutex    g_once_mutex;
+ static GCond     g_once_cond;
+ static GSList   *g_once_init_list = NULL;
+ 
+-static volatile guint g_thread_n_created_counter = 0;
++static guint g_thread_n_created_counter = 0;  /* (atomic) */
+ 
+ static void g_thread_cleanup (gpointer data);
+ static GPrivate     g_thread_specific_private = G_PRIVATE_INIT (g_thread_cleanup);
+@@ -694,7 +694,7 @@ g_once_impl (GOnce       *once,
+ gboolean
+ (g_once_init_enter) (volatile void *location)
+ {
+-  volatile gsize *value_location = location;
++  gsize *value_location = (gsize *) location;
+   gboolean need_init = FALSE;
+   g_mutex_lock (&g_once_mutex);
+   if (g_atomic_pointer_get (value_location) == 0)
+@@ -731,7 +731,7 @@ void
+ (g_once_init_leave) (volatile void *location,
+                      gsize          result)
+ {
+-  volatile gsize *value_location = location;
++  gsize *value_location = (gsize *) location;
+ 
+   g_return_if_fail (g_atomic_pointer_get (value_location) == 0);
+   g_return_if_fail (result != 0);
+-- 
+2.30.1
+
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0016-gobject-Drop-unnecessary-volatile-qualifiers-from-in.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0016-gobject-Drop-unnecessary-volatile-qualifiers-from-in.patch
new file mode 100644
index 000000000..8111b3b51
--- /dev/null
+++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/0016-gobject-Drop-unnecessary-volatile-qualifiers-from-in.patch
@@ -0,0 +1,126 @@
+From 08d04d0428cc26935a2d42083f1710432465c98a Mon Sep 17 00:00:00 2001
+From: Philip Withnall 
+Date: Wed, 11 Nov 2020 18:42:43 +0000
+Subject: [PATCH 16/29] gobject: Drop unnecessary volatile qualifiers from
+ internal variables
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+These variables were already (correctly) accessed atomically. The
+`volatile` qualifier doesn’t help with that.
+
+Signed-off-by: Philip Withnall 
+
+Helps: #600
+Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719]
+---
+ gobject/gclosure.c |  2 +-
+ gobject/gclosure.h | 20 ++++++++++----------
+ gobject/gobject.c  |  4 ++--
+ gobject/gtype.c    | 10 +++++-----
+ 4 files changed, 18 insertions(+), 18 deletions(-)
+
+diff --git a/gobject/gclosure.c b/gobject/gclosure.c
+index 1d1f2f48a..6d41e6d8a 100644
+--- a/gobject/gclosure.c
++++ b/gobject/gclosure.c
+@@ -98,7 +98,7 @@
+ 
+ typedef union {
+   GClosure closure;
+-  volatile gint vint;
++  gint vint;
+ } ClosureInt;
+ 
+ #define CHANGE_FIELD(_closure, _field, _OP, _value, _must_set, _SET_OLD, _SET_NEW)      \
+diff --git a/gobject/gclosure.h b/gobject/gclosure.h
+index a0f91f538..884e403a8 100644
+--- a/gobject/gclosure.h
++++ b/gobject/gclosure.h
+@@ -175,20 +175,20 @@ struct _GClosureNotifyData
+ struct _GClosure
+ {
+   /*< private >*/
+-  volatile      	guint	 ref_count : 15;
++  guint ref_count : 15;  /* (atomic) */
+   /* meta_marshal is not used anymore but must be zero for historical reasons
+      as it was exposed in the G_CLOSURE_N_NOTIFIERS macro */
+-  volatile       	guint	 meta_marshal_nouse : 1;
+-  volatile       	guint	 n_guards : 1;
+-  volatile       	guint	 n_fnotifiers : 2;	/* finalization notifiers */
+-  volatile       	guint	 n_inotifiers : 8;	/* invalidation notifiers */
+-  volatile       	guint	 in_inotify : 1;
+-  volatile       	guint	 floating : 1;
++  guint meta_marshal_nouse : 1;  /* (atomic) */
++  guint n_guards : 1;  /* (atomic) */
++  guint n_fnotifiers : 2;  /* finalization notifiers (atomic) */
++  guint n_inotifiers : 8;  /* invalidation notifiers (atomic) */
++  guint in_inotify : 1;  /* (atomic) */
++  guint floating : 1;  /* (atomic) */
+   /*< protected >*/
+-  volatile         	guint	 derivative_flag : 1;
++  guint derivative_flag : 1;  /* (atomic) */
+   /*< public >*/
+-  volatile       	guint	 in_marshal : 1;
+-  volatile       	guint	 is_invalid : 1;
++  guint in_marshal : 1;  /* (atomic) */
++  guint is_invalid : 1;  /* (atomic) */
+ 
+   /*< private >*/	void   (*marshal)  (GClosure       *closure,
+ 					    GValue /*out*/ *return_value,
+diff --git a/gobject/gobject.c b/gobject/gobject.c
+index 6e9c44a1e..a3a32be9f 100644
+--- a/gobject/gobject.c
++++ b/gobject/gobject.c
+@@ -174,9 +174,9 @@ typedef struct
+   GTypeInstance  g_type_instance;
+ 
+   /*< private >*/
+-  volatile guint ref_count;
++  guint          ref_count;  /* (atomic) */
+ #ifdef HAVE_OPTIONAL_FLAGS
+-  volatile guint optional_flags;
++  guint          optional_flags;  /* (atomic) */
+ #endif
+   GData         *qdata;
+ } GObjectReal;
+diff --git a/gobject/gtype.c b/gobject/gtype.c
+index 51dad7690..be5989a3e 100644
+--- a/gobject/gtype.c
++++ b/gobject/gtype.c
+@@ -221,9 +221,9 @@ typedef enum
+ /* --- structures --- */
+ struct _TypeNode
+ {
+-  guint volatile ref_count;
++  guint        ref_count;  /* (atomic) */
+ #ifdef G_ENABLE_DEBUG
+-  guint volatile instance_count;
++  guint        instance_count;  /* (atomic) */
+ #endif
+   GTypePlugin *plugin;
+   guint        n_children; /* writable with lock */
+@@ -233,7 +233,7 @@ struct _TypeNode
+   guint        is_instantiatable : 1;
+   guint        mutatable_check_cache : 1;	/* combines some common path checks */
+   GType       *children; /* writable with lock */
+-  TypeData * volatile data;
++  TypeData    *data;
+   GQuark       qname;
+   GData       *global_gdata;
+   union {
+@@ -569,8 +569,8 @@ type_node_new_W (TypeNode    *pnode,
+ }
+ 
+ static inline IFaceEntry*
+-lookup_iface_entry_I (volatile IFaceEntries *entries,
+-		      TypeNode *iface_node)
++lookup_iface_entry_I (IFaceEntries *entries,
++                      TypeNode     *iface_node)
+ {
+   guint8 *offsets;
+   guint offset_index;
+-- 
+2.30.1
+
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0017-gmessages-Drop-unnecessary-volatile-qualifiers-from-.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0017-gmessages-Drop-unnecessary-volatile-qualifiers-from-.patch
new file mode 100644
index 000000000..02816a887
--- /dev/null
+++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/0017-gmessages-Drop-unnecessary-volatile-qualifiers-from-.patch
@@ -0,0 +1,44 @@
+From eee7e3c6688f2f1ee9beed5d6d209973c1df387e Mon Sep 17 00:00:00 2001
+From: Philip Withnall 
+Date: Wed, 11 Nov 2020 19:14:25 +0000
+Subject: [PATCH 17/29] gmessages: Drop unnecessary volatile qualifiers from
+ macro variables
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+It’s not necessary and provides no thread safety guarantees.
+
+Signed-off-by: Philip Withnall 
+
+Helps: #600
+Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719]
+---
+ glib/gmessages.h | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/glib/gmessages.h b/glib/gmessages.h
+index 6a28443b4..2e3650baf 100644
+--- a/glib/gmessages.h
++++ b/glib/gmessages.h
+@@ -478,7 +478,7 @@ g_debug (const gchar *format,
+ #if defined(G_HAVE_ISO_VARARGS) && !G_ANALYZER_ANALYZING
+ #define g_warning_once(...) \
+   G_STMT_START { \
+-    static volatile int G_PASTE (_GWarningOnceBoolean, __LINE__) = 0; \
++    static int G_PASTE (_GWarningOnceBoolean, __LINE__) = 0;  /* (atomic) */ \
+     if (g_atomic_int_compare_and_exchange (&G_PASTE (_GWarningOnceBoolean, __LINE__), \
+                                            0, 1)) \
+       g_warning (__VA_ARGS__); \
+@@ -487,7 +487,7 @@ g_debug (const gchar *format,
+ #elif defined(G_HAVE_GNUC_VARARGS)  && !G_ANALYZER_ANALYZING
+ #define g_warning_once(format...) \
+   G_STMT_START { \
+-    static volatile int G_PASTE (_GWarningOnceBoolean, __LINE__) = 0; \
++    static int G_PASTE (_GWarningOnceBoolean, __LINE__) = 0;  /* (atomic) */ \
+     if (g_atomic_int_compare_and_exchange (&G_PASTE (_GWarningOnceBoolean, __LINE__), \
+                                            0, 1)) \
+       g_warning (format); \
+-- 
+2.30.1
+
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0018-gtypes-Drop-volatile-qualifier-from-gatomicrefcount.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0018-gtypes-Drop-volatile-qualifier-from-gatomicrefcount.patch
new file mode 100644
index 000000000..50cb3c470
--- /dev/null
+++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/0018-gtypes-Drop-volatile-qualifier-from-gatomicrefcount.patch
@@ -0,0 +1,35 @@
+From 8a87069ff42a0631dce153701cb2ec5e343a958c Mon Sep 17 00:00:00 2001
+From: Philip Withnall 
+Date: Wed, 11 Nov 2020 19:16:30 +0000
+Subject: [PATCH 18/29] gtypes: Drop volatile qualifier from gatomicrefcount
+
+This is technically an API break, but since the type is meant to be
+opaque (third party code is not meant to treat it like an integer) it
+should not cause problems.
+
+Signed-off-by: Philip Withnall 
+
+Helps: #600
+Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719]
+---
+ glib/gtypes.h | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/glib/gtypes.h b/glib/gtypes.h
+index 23c5a1295..2c4825582 100644
+--- a/glib/gtypes.h
++++ b/glib/gtypes.h
+@@ -550,8 +550,8 @@ struct _GTimeVal
+   glong tv_usec;
+ } GLIB_DEPRECATED_TYPE_IN_2_62_FOR(GDateTime);
+ 
+-typedef gint            grefcount;
+-typedef volatile gint   gatomicrefcount;
++typedef gint grefcount;
++typedef gint gatomicrefcount;  /* should be accessed only using atomics */
+ 
+ G_END_DECLS
+ 
+-- 
+2.30.1
+
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0019-gatomicarray-Drop-volatile-qualifier-from-GAtomicArr.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0019-gatomicarray-Drop-volatile-qualifier-from-GAtomicArr.patch
new file mode 100644
index 000000000..be3211664
--- /dev/null
+++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/0019-gatomicarray-Drop-volatile-qualifier-from-GAtomicArr.patch
@@ -0,0 +1,44 @@
+From 46bae4f18dfec8fedda82648091752d270b2dff8 Mon Sep 17 00:00:00 2001
+From: Philip Withnall 
+Date: Wed, 11 Nov 2020 19:19:20 +0000
+Subject: [PATCH 19/29] gatomicarray: Drop volatile qualifier from GAtomicArray
+ API
+
+This is an API break, but it should not affect third party code since
+that code should not be interacting with the `data` member in a way that
+invokes its `volatile` qualifier (such as copying to an intermediate
+variable).
+
+Signed-off-by: Philip Withnall 
+
+Helps: #600
+Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719]
+---
+ gobject/gatomicarray.h | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/gobject/gatomicarray.h b/gobject/gatomicarray.h
+index 9550fa396..89043c5e4 100644
+--- a/gobject/gatomicarray.h
++++ b/gobject/gatomicarray.h
+@@ -29,7 +29,7 @@ G_BEGIN_DECLS
+ 
+ typedef struct _GAtomicArray GAtomicArray;
+ struct _GAtomicArray {
+-  volatile gpointer data;               /* elements - atomic */
++  gpointer data;  /* elements - atomic */
+ };
+ 
+ void     _g_atomic_array_init   (GAtomicArray *array);
+@@ -42,7 +42,7 @@ void     _g_atomic_array_update (GAtomicArray *array,
+ #define  G_ATOMIC_ARRAY_GET_LOCKED(_array, _type) ((_type *)((_array)->data))
+ 
+ #define G_ATOMIC_ARRAY_DO_TRANSACTION(_array, _type, _C_) G_STMT_START {	\
+-    volatile gpointer *_datap  = &(_array)->data;				\
++    gpointer *_datap  = &(_array)->data;				\
+     _type *transaction_data, *__check;						\
+ 										\
+     __check = g_atomic_pointer_get (_datap);					\
+-- 
+2.30.1
+
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0020-gobject-Drop-volatile-qualifier-from-GObject.ref_cou.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0020-gobject-Drop-volatile-qualifier-from-GObject.ref_cou.patch
new file mode 100644
index 000000000..ae024a9af
--- /dev/null
+++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/0020-gobject-Drop-volatile-qualifier-from-GObject.ref_cou.patch
@@ -0,0 +1,33 @@
+From 334f6953364680ddc6c0d3da13fda1d92bf5379d Mon Sep 17 00:00:00 2001
+From: Philip Withnall 
+Date: Wed, 11 Nov 2020 19:21:07 +0000
+Subject: [PATCH 20/29] gobject: Drop volatile qualifier from GObject.ref_count
+
+This is an API break, but no third party code should be touching
+`GObject.ref_count`, let alone in a way which would be changed by the
+removal of the `volatile` qualifier.
+
+Signed-off-by: Philip Withnall 
+
+Helps: #600
+Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719]
+---
+ gobject/gobject.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/gobject/gobject.h b/gobject/gobject.h
+index 7f55e1976..a84c183f8 100644
+--- a/gobject/gobject.h
++++ b/gobject/gobject.h
+@@ -247,7 +247,7 @@ struct  _GObject
+   GTypeInstance  g_type_instance;
+   
+   /*< private >*/
+-  volatile guint ref_count;
++  guint          ref_count;  /* (atomic) */
+   GData         *qdata;
+ };
+ /**
+-- 
+2.30.1
+
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0021-tests-Drop-unnecessary-volatile-qualifiers-from-test.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0021-tests-Drop-unnecessary-volatile-qualifiers-from-test.patch
new file mode 100644
index 000000000..b8ed99ce1
--- /dev/null
+++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/0021-tests-Drop-unnecessary-volatile-qualifiers-from-test.patch
@@ -0,0 +1,51 @@
+From 8a112c3c6e5fe6838ee29eec7caa62ba32d9bc40 Mon Sep 17 00:00:00 2001
+From: Philip Withnall 
+Date: Wed, 11 Nov 2020 19:22:49 +0000
+Subject: [PATCH 21/29] tests: Drop unnecessary volatile qualifiers from tests
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+These variables were already (correctly) accessed atomically. The
+`volatile` qualifier doesn’t help with that.
+
+Signed-off-by: Philip Withnall 
+
+Helps: #600
+Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719]
+---
+ gobject/tests/qdata.c       | 2 +-
+ gobject/tests/threadtests.c | 4 ++--
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/gobject/tests/qdata.c b/gobject/tests/qdata.c
+index 528bdc68e..7d46efb15 100644
+--- a/gobject/tests/qdata.c
++++ b/gobject/tests/qdata.c
+@@ -17,7 +17,7 @@ gboolean fail;
+ #define ROUNDS 10000
+ 
+ GObject *object;
+-volatile gint bucket[THREADS];
++gint bucket[THREADS];  /* accessed from multiple threads, but should never be contested due to the sequence of thread operations */
+ 
+ static gpointer
+ thread_func (gpointer data)
+diff --git a/gobject/tests/threadtests.c b/gobject/tests/threadtests.c
+index e341a9d67..b6f9e17fa 100644
+--- a/gobject/tests/threadtests.c
++++ b/gobject/tests/threadtests.c
+@@ -27,8 +27,8 @@
+ #include 
+ #include 
+ 
+-static volatile int mtsafe_call_counter = 0; /* multi thread safe call counter */
+-static int          unsafe_call_counter = 0; /* single-threaded call counter */
++static int mtsafe_call_counter = 0; /* multi thread safe call counter, must be accessed atomically */
++static int unsafe_call_counter = 0; /* single-threaded call counter */
+ static GCond sync_cond;
+ static GMutex sync_mutex;
+ 
+-- 
+2.30.1
+
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0022-build-Drop-unnecessary-volatile-qualifiers-from-conf.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0022-build-Drop-unnecessary-volatile-qualifiers-from-conf.patch
new file mode 100644
index 000000000..5da509d17
--- /dev/null
+++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/0022-build-Drop-unnecessary-volatile-qualifiers-from-conf.patch
@@ -0,0 +1,38 @@
+From daf90bfa99fc02a253d538c65fbaa12f2e6c1c45 Mon Sep 17 00:00:00 2001
+From: Philip Withnall 
+Date: Wed, 11 Nov 2020 19:23:18 +0000
+Subject: [PATCH 22/29] build: Drop unnecessary volatile qualifiers from
+ configure tests
+
+Signed-off-by: Philip Withnall 
+
+Helps: #600
+Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719]
+---
+ meson.build | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index e0b308a25..ad7f887fb 100644
+--- a/meson.build
++++ b/meson.build
+@@ -1773,7 +1773,7 @@ endforeach
+ # that then to silently fall back on emulated atomic ops just because
+ # the user had the wrong build environment.
+ atomictest = '''int main() {
+-  volatile int atomic = 2;
++  int atomic = 2;
+   __sync_bool_compare_and_swap (&atomic, 2, 3);
+   return 0;
+ }
+@@ -1883,6 +1883,7 @@ endif
+ 
+ # FIXME: we should make it print the result and always return 0, so that
+ # the output in meson shows up as green
++# volatile is needed here to avoid optimisations in the test
+ stack_grows_check_prog = '''
+   volatile int *a = 0, *b = 0;
+   void f (int i) {
+-- 
+2.30.1
+
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0023-gdbusprivate-Avoid-a-warning-about-a-statement-with-.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0023-gdbusprivate-Avoid-a-warning-about-a-statement-with-.patch
new file mode 100644
index 000000000..012f9ca87
--- /dev/null
+++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/0023-gdbusprivate-Avoid-a-warning-about-a-statement-with-.patch
@@ -0,0 +1,33 @@
+From 0604f5858259c32744e6fc912ed4feb308651a3a Mon Sep 17 00:00:00 2001
+From: Philip Withnall 
+Date: Mon, 16 Nov 2020 14:47:23 +0000
+Subject: [PATCH 23/29] gdbusprivate: Avoid a warning about a statement with no
+ effect
+
+Signed-off-by: Philip Withnall 
+Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719]
+---
+ gio/gdbusprivate.c | 5 ++---
+ 1 file changed, 2 insertions(+), 3 deletions(-)
+
+diff --git a/gio/gdbusprivate.c b/gio/gdbusprivate.c
+index 99b37f3eb..4e42c1a4d 100644
+--- a/gio/gdbusprivate.c
++++ b/gio/gdbusprivate.c
+@@ -1945,11 +1945,10 @@ _g_dbus_initialize (void)
+ 
+   if (g_once_init_enter (&initialized))
+     {
+-      GQuark g_dbus_error_domain;
+       const gchar *debug;
+ 
+-      g_dbus_error_domain = G_DBUS_ERROR;
+-      (g_dbus_error_domain); /* To avoid -Wunused-but-set-variable */
++      /* Ensure the domain is registered. */
++      g_dbus_error_quark ();
+ 
+       debug = g_getenv ("G_DBUS_DEBUG");
+       if (debug != NULL)
+-- 
+2.30.1
+
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0024-tests-Add-comment-to-volatile-atomic-tests.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0024-tests-Add-comment-to-volatile-atomic-tests.patch
new file mode 100644
index 000000000..7350803c6
--- /dev/null
+++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/0024-tests-Add-comment-to-volatile-atomic-tests.patch
@@ -0,0 +1,49 @@
+From 2d03f99ae4de394cac0690717d96c2d884ccdae2 Mon Sep 17 00:00:00 2001
+From: Philip Withnall 
+Date: Mon, 16 Nov 2020 14:47:47 +0000
+Subject: [PATCH 24/29] tests: Add comment to volatile atomic tests
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+`volatile` should not be used to indicate atomic variables, and we
+shouldn’t encourage its use. Keep the tests, since they check that we
+don’t emit warnings when built against incorrect old code which uses
+`volatile`. But add a comment to stop copy/paste use of `volatile`
+in the future.
+
+Signed-off-by: Philip Withnall 
+
+Helps: #600
+Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719]
+---
+ glib/tests/atomic.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/glib/tests/atomic.c b/glib/tests/atomic.c
+index 7d2459f3a..14e6e454e 100644
+--- a/glib/tests/atomic.c
++++ b/glib/tests/atomic.c
+@@ -94,6 +94,9 @@ test_types (void)
+   res = g_atomic_pointer_compare_and_exchange (&vp_str, NULL, str);
+   g_assert_true (res);
+ 
++  /* Note that atomic variables should almost certainly not be marked as
++   * `volatile` — see http://isvolatileusefulwiththreads.in/c/. This test exists
++   * to make sure that we don’t warn when built against older third party code. */
+   g_atomic_pointer_set (&vp_str_vol, NULL);
+   res = g_atomic_pointer_compare_and_exchange (&vp_str_vol, NULL, str);
+   g_assert_true (res);
+@@ -210,6 +213,9 @@ G_GNUC_END_IGNORE_DEPRECATIONS
+   res = g_atomic_pointer_compare_and_exchange (&vp_str, NULL, (char *) str);
+   g_assert_true (res);
+ 
++  /* Note that atomic variables should almost certainly not be marked as
++   * `volatile` — see http://isvolatileusefulwiththreads.in/c/. This test exists
++   * to make sure that we don’t warn when built against older third party code. */
+   g_atomic_pointer_set (&vp_str_vol, NULL);
+   res = g_atomic_pointer_compare_and_exchange (&vp_str_vol, NULL, (char *) str);
+   g_assert_true (res);
+-- 
+2.30.1
+
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0025-gthread-Use-g_atomic-primitives-correctly-in-destruc.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0025-gthread-Use-g_atomic-primitives-correctly-in-destruc.patch
new file mode 100644
index 000000000..c15a3b8a5
--- /dev/null
+++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/0025-gthread-Use-g_atomic-primitives-correctly-in-destruc.patch
@@ -0,0 +1,77 @@
+From 6bd0a4b29753570a2c20b61b5ad2c0068567b7b6 Mon Sep 17 00:00:00 2001
+From: Philip Withnall 
+Date: Mon, 16 Nov 2020 16:44:29 +0000
+Subject: [PATCH 25/29] gthread: Use g_atomic() primitives correctly in
+ destructor list
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+In the Windows destructor list, consistently access
+`g_private_destructors` using atomic primitives.
+
+`g_atomic_pointer_compare_and_exchange()` should be equivalent to
+`InterlockedCompareExchangePointer()`, but is a bit more understandable
+in a general GLib context, and pairs with `g_atomic_pointer_get()`. (I
+can’t find a Windows API equivalent for that.)
+
+Signed-off-by: Philip Withnall 
+
+Helps: #600
+Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719]
+---
+ glib/gthread-win32.c | 13 +++++++------
+ 1 file changed, 7 insertions(+), 6 deletions(-)
+
+diff --git a/glib/gthread-win32.c b/glib/gthread-win32.c
+index 0c37dc6c1..20aca6fa1 100644
+--- a/glib/gthread-win32.c
++++ b/glib/gthread-win32.c
+@@ -301,7 +301,7 @@ struct _GPrivateDestructor
+   GPrivateDestructor *next;
+ };
+ 
+-static GPrivateDestructor * volatile g_private_destructors;
++static GPrivateDestructor *g_private_destructors;  /* (atomic) prepend-only */
+ static CRITICAL_SECTION g_private_lock;
+ 
+ static DWORD
+@@ -329,7 +329,7 @@ g_private_get_impl (GPrivate *key)
+                 g_thread_abort (errno, "malloc");
+               destructor->index = impl;
+               destructor->notify = key->notify;
+-              destructor->next = g_private_destructors;
++              destructor->next = g_atomic_pointer_get (&g_private_destructors);
+ 
+               /* We need to do an atomic store due to the unlocked
+                * access to the destructor list from the thread exit
+@@ -337,13 +337,14 @@ g_private_get_impl (GPrivate *key)
+                *
+                * It can double as a sanity check...
+                */
+-              if (InterlockedCompareExchangePointer (&g_private_destructors, destructor,
+-                                                     destructor->next) != destructor->next)
++              if (!g_atomic_pointer_compare_and_exchange (&g_private_destructors,
++                                                          destructor->next,
++                                                          destructor))
+                 g_thread_abort (0, "g_private_get_impl(1)");
+             }
+ 
+           /* Ditto, due to the unlocked access on the fast path */
+-          if (InterlockedCompareExchangePointer (&key->p, impl, NULL) != NULL)
++          if (!g_atomic_pointer_compare_and_exchange (&key->p, NULL, impl))
+             g_thread_abort (0, "g_private_get_impl(2)");
+         }
+       LeaveCriticalSection (&g_private_lock);
+@@ -635,7 +636,7 @@ g_thread_win32_thread_detach (void)
+        */
+       dtors_called = FALSE;
+ 
+-      for (dtor = g_private_destructors; dtor; dtor = dtor->next)
++      for (dtor = g_atomic_pointer_get (&g_private_destructors); dtor; dtor = dtor->next)
+         {
+           gpointer value;
+ 
+-- 
+2.30.1
+
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0026-gtype-Fix-some-typos-in-comments.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0026-gtype-Fix-some-typos-in-comments.patch
new file mode 100644
index 000000000..7090a12a8
--- /dev/null
+++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/0026-gtype-Fix-some-typos-in-comments.patch
@@ -0,0 +1,47 @@
+From 041dd8b70bd14b041d6a495492eb7a5fc7568bb7 Mon Sep 17 00:00:00 2001
+From: Philip Withnall 
+Date: Mon, 16 Nov 2020 16:47:54 +0000
+Subject: [PATCH 26/29] gtype: Fix some typos in comments
+
+Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719]
+Signed-off-by: Philip Withnall 
+---
+ gobject/gtype.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/gobject/gtype.c b/gobject/gtype.c
+index be5989a3e..ae1af8a05 100644
+--- a/gobject/gtype.c
++++ b/gobject/gtype.c
+@@ -2290,7 +2290,7 @@ type_class_init_Wm (TypeNode   *node,
+    * inherited interfaces are already init_state == INITIALIZED, because
+    * they either got setup in the above base_init loop, or during
+    * class_init from within type_add_interface_Wm() for this or
+-   * an anchestor type.
++   * an ancestor type.
+    */
+   i = 0;
+   while ((entries = CLASSED_NODE_IFACES_ENTRIES_LOCKED (node)) != NULL)
+@@ -3462,7 +3462,7 @@ g_type_depth (GType type)
+  * be used to determine the types and order in which the leaf type is
+  * descended from the root type.
+  *
+- * Returns: immediate child of @root_type and anchestor of @leaf_type
++ * Returns: immediate child of @root_type and ancestor of @leaf_type
+  */
+ GType
+ g_type_next_base (GType type,
+@@ -3549,8 +3549,8 @@ type_node_conforms_to_U (TypeNode *node,
+ 
+ /**
+  * g_type_is_a:
+- * @type: type to check anchestry for
+- * @is_a_type: possible anchestor of @type or interface that @type
++ * @type: type to check ancestry for
++ * @is_a_type: possible ancestor of @type or interface that @type
+  *     could conform to
+  *
+  * If @is_a_type is a derivable type, check whether @type is a
+-- 
+2.30.1
+
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0027-gtype-Add-some-missing-atomic-accesses-to-init_state.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0027-gtype-Add-some-missing-atomic-accesses-to-init_state.patch
new file mode 100644
index 000000000..9c4e45ff4
--- /dev/null
+++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/0027-gtype-Add-some-missing-atomic-accesses-to-init_state.patch
@@ -0,0 +1,76 @@
+From 47da8ec5d9a284e07f77c7d59fc8eacf3ebf188a Mon Sep 17 00:00:00 2001
+From: Philip Withnall 
+Date: Mon, 16 Nov 2020 16:57:22 +0000
+Subject: [PATCH 27/29] gtype: Add some missing atomic accesses to init_state
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Half of the references to `init_state` in `gtype.c` already correctly
+accessed it atomically, but a couple didn’t. Drop the `volatile`
+qualifier from its declaration, as that’s not necessary for atomic
+access.
+
+Note that this is the `init_state` in `TypeData`, *not* the `init_state`
+in `IFaceEntry`.
+
+Signed-off-by: Philip Withnall 
+
+Helps: #600
+Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719]
+---
+ gobject/gtype.c | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/gobject/gtype.c b/gobject/gtype.c
+index ae1af8a05..909faf138 100644
+--- a/gobject/gtype.c
++++ b/gobject/gtype.c
+@@ -322,7 +322,7 @@ struct _ClassData
+   CommonData         common;
+   guint16            class_size;
+   guint16            class_private_size;
+-  int volatile       init_state; /* atomic - g_type_class_ref reads it unlocked */
++  int                init_state;  /* (atomic) - g_type_class_ref reads it unlocked */
+   GBaseInitFunc      class_init_base;
+   GBaseFinalizeFunc  class_finalize_base;
+   GClassInitFunc     class_init;
+@@ -336,7 +336,7 @@ struct _InstanceData
+   CommonData         common;
+   guint16            class_size;
+   guint16            class_private_size;
+-  int volatile       init_state; /* atomic - g_type_class_ref reads it unlocked */
++  int                init_state;  /* (atomic) - g_type_class_ref reads it unlocked */
+   GBaseInitFunc      class_init_base;
+   GBaseFinalizeFunc  class_finalize_base;
+   GClassInitFunc     class_init;
+@@ -1415,7 +1415,7 @@ type_node_add_iface_entry_W (TypeNode   *node,
+ 
+   if (parent_entry)
+     {
+-      if (node->data && node->data->class.init_state >= BASE_IFACE_INIT)
++      if (node->data && g_atomic_int_get (&node->data->class.init_state) >= BASE_IFACE_INIT)
+         {
+           entries->entry[i].init_state = INITIALIZED;
+           entries->entry[i].vtable = parent_entry->vtable;
+@@ -1481,7 +1481,7 @@ type_add_interface_Wm (TypeNode             *node,
+    */
+   if (node->data)
+     {
+-      InitState class_state = node->data->class.init_state;
++      InitState class_state = g_atomic_int_get (&node->data->class.init_state);
+       
+       if (class_state >= BASE_IFACE_INIT)
+         type_iface_vtable_base_init_Wm (iface, node);
+@@ -2175,7 +2175,7 @@ type_class_init_Wm (TypeNode   *node,
+   g_assert (node->is_classed && node->data &&
+ 	    node->data->class.class_size &&
+ 	    !node->data->class.class &&
+-	    node->data->class.init_state == UNINITIALIZED);
++	    g_atomic_int_get (&node->data->class.init_state) == UNINITIALIZED);
+   if (node->data->class.class_private_size)
+     class = g_malloc0 (ALIGN_STRUCT (node->data->class.class_size) + node->data->class.class_private_size);
+   else
+-- 
+2.30.1
+
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0028-gresource-Fix-a-pointer-mismatch-with-an-atomic-load.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0028-gresource-Fix-a-pointer-mismatch-with-an-atomic-load.patch
new file mode 100644
index 000000000..e03fac19f
--- /dev/null
+++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/0028-gresource-Fix-a-pointer-mismatch-with-an-atomic-load.patch
@@ -0,0 +1,29 @@
+From 7d417f8406b8fa32a25659120738d22be6a1b482 Mon Sep 17 00:00:00 2001
+From: Philip Withnall 
+Date: Mon, 16 Nov 2020 17:17:21 +0000
+Subject: [PATCH 28/29] gresource: Fix a pointer mismatch with an atomic load
+
+This squashes a warning when compiling with Clang.
+
+Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719]
+Signed-off-by: Philip Withnall 
+---
+ gio/gresource.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/gio/gresource.c b/gio/gresource.c
+index 79a49d33d..b495d12ac 100644
+--- a/gio/gresource.c
++++ b/gio/gresource.c
+@@ -1398,7 +1398,7 @@ register_lazy_static_resources (void)
+ void
+ g_static_resource_init (GStaticResource *static_resource)
+ {
+-  gpointer next;
++  GStaticResource *next;
+ 
+   do
+     {
+-- 
+2.30.1
+
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0029-docs-Document-not-to-use-volatile-qualifiers.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0029-docs-Document-not-to-use-volatile-qualifiers.patch
new file mode 100644
index 000000000..3311ad65d
--- /dev/null
+++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/0029-docs-Document-not-to-use-volatile-qualifiers.patch
@@ -0,0 +1,258 @@
+From 83e48d8ac1fee98059e2305d8909dca26190bddc Mon Sep 17 00:00:00 2001
+From: Philip Withnall 
+Date: Tue, 17 Nov 2020 10:15:15 +0000
+Subject: [PATCH 29/29] docs: Document not to use `volatile` qualifiers
+
+Signed-off-by: Philip Withnall 
+
+Fixes: #600
+Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719]
+---
+ gio/gdbusconnection.c | 12 ++++++++---
+ gio/gdbuserror.c      |  3 +++
+ glib/gatomic.c        | 48 +++++++++++++++++++++++++++++++++++++++++++
+ glib/gthread.c        |  6 ++++++
+ 4 files changed, 66 insertions(+), 3 deletions(-)
+
+diff --git a/gio/gdbusconnection.c b/gio/gdbusconnection.c
+index 91c365e80..65939a4d2 100644
+--- a/gio/gdbusconnection.c
++++ b/gio/gdbusconnection.c
+@@ -1708,7 +1708,9 @@ g_dbus_connection_send_message_unlocked (GDBusConnection   *connection,
+  * will be assigned by @connection and set on @message via
+  * g_dbus_message_set_serial(). If @out_serial is not %NULL, then the
+  * serial number used will be written to this location prior to
+- * submitting the message to the underlying transport.
++ * submitting the message to the underlying transport. While it has a `volatile`
++ * qualifier, this is a historical artifact and the argument passed to it should
++ * not be `volatile`.
+  *
+  * If @connection is closed then the operation will fail with
+  * %G_IO_ERROR_CLOSED. If @message is not well-formed,
+@@ -1979,7 +1981,9 @@ g_dbus_connection_send_message_with_reply_unlocked (GDBusConnection     *connect
+  * will be assigned by @connection and set on @message via
+  * g_dbus_message_set_serial(). If @out_serial is not %NULL, then the
+  * serial number used will be written to this location prior to
+- * submitting the message to the underlying transport.
++ * submitting the message to the underlying transport. While it has a `volatile`
++ * qualifier, this is a historical artifact and the argument passed to it should
++ * not be `volatile`.
+  *
+  * If @connection is closed then the operation will fail with
+  * %G_IO_ERROR_CLOSED. If @cancellable is canceled, the operation will
+@@ -2105,7 +2109,9 @@ send_message_with_reply_sync_cb (GDBusConnection *connection,
+  * will be assigned by @connection and set on @message via
+  * g_dbus_message_set_serial(). If @out_serial is not %NULL, then the
+  * serial number used will be written to this location prior to
+- * submitting the message to the underlying transport.
++ * submitting the message to the underlying transport. While it has a `volatile`
++ * qualifier, this is a historical artifact and the argument passed to it should
++ * not be `volatile`.
+  *
+  * If @connection is closed then the operation will fail with
+  * %G_IO_ERROR_CLOSED. If @cancellable is canceled, the operation will
+diff --git a/gio/gdbuserror.c b/gio/gdbuserror.c
+index b03a33f27..4ad97bb6e 100644
+--- a/gio/gdbuserror.c
++++ b/gio/gdbuserror.c
+@@ -177,6 +177,9 @@ g_dbus_error_quark (void)
+  *
+  * Helper function for associating a #GError error domain with D-Bus error names.
+  *
++ * While @quark_volatile has a `volatile` qualifier, this is a historical
++ * artifact and the argument passed to it should not be `volatile`.
++ *
+  * Since: 2.26
+  */
+ void
+diff --git a/glib/gatomic.c b/glib/gatomic.c
+index 67f5ba6b4..0bc67aa35 100644
+--- a/glib/gatomic.c
++++ b/glib/gatomic.c
+@@ -105,6 +105,9 @@
+  * This call acts as a full compiler and hardware
+  * memory barrier (before the get).
+  *
++ * While @atomic has a `volatile` qualifier, this is a historical artifact and
++ * the pointer passed to it should not be `volatile`.
++ *
+  * Returns: the value of the integer
+  *
+  * Since: 2.4
+@@ -125,6 +128,9 @@ gint
+  * This call acts as a full compiler and hardware
+  * memory barrier (after the set).
+  *
++ * While @atomic has a `volatile` qualifier, this is a historical artifact and
++ * the pointer passed to it should not be `volatile`.
++ *
+  * Since: 2.4
+  */
+ void
+@@ -144,6 +150,9 @@ void
+  *
+  * This call acts as a full compiler and hardware memory barrier.
+  *
++ * While @atomic has a `volatile` qualifier, this is a historical artifact and
++ * the pointer passed to it should not be `volatile`.
++ *
+  * Since: 2.4
+  **/
+ void
+@@ -163,6 +172,9 @@ void
+  *
+  * This call acts as a full compiler and hardware memory barrier.
+  *
++ * While @atomic has a `volatile` qualifier, this is a historical artifact and
++ * the pointer passed to it should not be `volatile`.
++ *
+  * Returns: %TRUE if the resultant value is zero
+  *
+  * Since: 2.4
+@@ -189,6 +201,9 @@ gboolean
+  *
+  * This call acts as a full compiler and hardware memory barrier.
+  *
++ * While @atomic has a `volatile` qualifier, this is a historical artifact and
++ * the pointer passed to it should not be `volatile`.
++ *
+  * Returns: %TRUE if the exchange took place
+  *
+  * Since: 2.4
+@@ -216,6 +231,9 @@ gboolean
+  * Before version 2.30, this function did not return a value
+  * (but g_atomic_int_exchange_and_add() did, and had the same meaning).
+  *
++ * While @atomic has a `volatile` qualifier, this is a historical artifact and
++ * the pointer passed to it should not be `volatile`.
++ *
+  * Returns: the value of @atomic before the add, signed
+  *
+  * Since: 2.4
+@@ -240,6 +258,9 @@ gint
+  * Think of this operation as an atomic version of
+  * `{ tmp = *atomic; *atomic &= val; return tmp; }`.
+  *
++ * While @atomic has a `volatile` qualifier, this is a historical artifact and
++ * the pointer passed to it should not be `volatile`.
++ *
+  * Returns: the value of @atomic before the operation, unsigned
+  *
+  * Since: 2.30
+@@ -264,6 +285,9 @@ guint
+  *
+  * This call acts as a full compiler and hardware memory barrier.
+  *
++ * While @atomic has a `volatile` qualifier, this is a historical artifact and
++ * the pointer passed to it should not be `volatile`.
++ *
+  * Returns: the value of @atomic before the operation, unsigned
+  *
+  * Since: 2.30
+@@ -288,6 +312,9 @@ guint
+  *
+  * This call acts as a full compiler and hardware memory barrier.
+  *
++ * While @atomic has a `volatile` qualifier, this is a historical artifact and
++ * the pointer passed to it should not be `volatile`.
++ *
+  * Returns: the value of @atomic before the operation, unsigned
+  *
+  * Since: 2.30
+@@ -309,6 +336,9 @@ guint
+  * This call acts as a full compiler and hardware
+  * memory barrier (before the get).
+  *
++ * While @atomic has a `volatile` qualifier, this is a historical artifact and
++ * the pointer passed to it should not be `volatile`.
++ *
+  * Returns: the value of the pointer
+  *
+  * Since: 2.4
+@@ -329,6 +359,9 @@ gpointer
+  * This call acts as a full compiler and hardware
+  * memory barrier (after the set).
+  *
++ * While @atomic has a `volatile` qualifier, this is a historical artifact and
++ * the pointer passed to it should not be `volatile`.
++ *
+  * Since: 2.4
+  **/
+ void
+@@ -354,6 +387,9 @@ void
+  *
+  * This call acts as a full compiler and hardware memory barrier.
+  *
++ * While @atomic has a `volatile` qualifier, this is a historical artifact and
++ * the pointer passed to it should not be `volatile`.
++ *
+  * Returns: %TRUE if the exchange took place
+  *
+  * Since: 2.4
+@@ -379,6 +415,9 @@ gboolean
+  *
+  * This call acts as a full compiler and hardware memory barrier.
+  *
++ * While @atomic has a `volatile` qualifier, this is a historical artifact and
++ * the pointer passed to it should not be `volatile`.
++ *
+  * Returns: the value of @atomic before the add, signed
+  *
+  * Since: 2.30
+@@ -403,6 +442,9 @@ gssize
+  *
+  * This call acts as a full compiler and hardware memory barrier.
+  *
++ * While @atomic has a `volatile` qualifier, this is a historical artifact and
++ * the pointer passed to it should not be `volatile`.
++ *
+  * Returns: the value of @atomic before the operation, unsigned
+  *
+  * Since: 2.30
+@@ -427,6 +469,9 @@ gsize
+  *
+  * This call acts as a full compiler and hardware memory barrier.
+  *
++ * While @atomic has a `volatile` qualifier, this is a historical artifact and
++ * the pointer passed to it should not be `volatile`.
++ *
+  * Returns: the value of @atomic before the operation, unsigned
+  *
+  * Since: 2.30
+@@ -451,6 +496,9 @@ gsize
+  *
+  * This call acts as a full compiler and hardware memory barrier.
+  *
++ * While @atomic has a `volatile` qualifier, this is a historical artifact and
++ * the pointer passed to it should not be `volatile`.
++ *
+  * Returns: the value of @atomic before the operation, unsigned
+  *
+  * Since: 2.30
+diff --git a/glib/gthread.c b/glib/gthread.c
+index 612a9739f..29216d7fd 100644
+--- a/glib/gthread.c
++++ b/glib/gthread.c
+@@ -686,6 +686,9 @@ g_once_impl (GOnce       *once,
+  *   // use initialization_value here
+  * ]|
+  *
++ * While @location has a `volatile` qualifier, this is a historical artifact and
++ * the pointer passed to it should not be `volatile`.
++ *
+  * Returns: %TRUE if the initialization section should be entered,
+  *     %FALSE and blocks otherwise
+  *
+@@ -725,6 +728,9 @@ gboolean
+  * releases concurrent threads blocking in g_once_init_enter() on this
+  * initialization variable.
+  *
++ * While @location has a `volatile` qualifier, this is a historical artifact and
++ * the pointer passed to it should not be `volatile`.
++ *
+  * Since: 2.14
+  */
+ void
+-- 
+2.30.1
+
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0_2.66.7.bb b/poky/meta/recipes-core/glib-2.0/glib-2.0_2.66.7.bb
index 882a89da7..3909b76dd 100644
--- a/poky/meta/recipes-core/glib-2.0/glib-2.0_2.66.7.bb
+++ b/poky/meta/recipes-core/glib-2.0/glib-2.0_2.66.7.bb
@@ -19,7 +19,37 @@ SRC_URI = "${GNOME_MIRROR}/glib/${SHRT_VER}/glib-${PV}.tar.xz \
            file://0001-gio-tests-codegen.py-bump-timeout-to-100-seconds.patch \
            file://0001-tests-codegen.py-removing-unecessary-print-statement.patch \
            "
-
+SRC_URI += "\
+           file://0001-gobject-Drop-use-of-volatile-from-get_type-macros.patch \
+           file://0002-tests-Fix-non-atomic-access-to-a-shared-variable.patch \
+           file://0003-tests-Fix-non-atomic-access-to-a-shared-variable.patch \
+           file://0004-tests-Drop-unnecessary-volatile-qualifiers-from-test.patch \
+           file://0005-tests-Fix-non-atomic-access-to-some-shared-variables.patch \
+           file://0006-tests-Drop-unnecessary-volatile-qualifiers-from-test.patch \
+           file://0007-gdbusconnection-Drop-unnecessary-volatile-qualifiers.patch \
+           file://0008-gdbuserror-Drop-unnecessary-volatile-qualifiers-from.patch \
+           file://0009-gio-Drop-unnecessary-volatile-qualifiers-from-intern.patch \
+           file://0010-kqueue-Fix-unlocked-access-to-shared-variable.patch \
+           file://0011-tests-Drop-unnecessary-volatile-qualifiers-from-test.patch \
+           file://0012-tests-Fix-non-atomic-access-to-some-shared-variables.patch \
+           file://0013-gatomic-Drop-unnecessary-volatile-qualifiers-from-in.patch \
+           file://0014-gatomic-Drop-unnecessary-volatile-qualifiers-from-ma.patch \
+           file://0015-glib-Drop-unnecessary-volatile-qualifiers-from-inter.patch \
+           file://0016-gobject-Drop-unnecessary-volatile-qualifiers-from-in.patch \
+           file://0017-gmessages-Drop-unnecessary-volatile-qualifiers-from-.patch \
+           file://0018-gtypes-Drop-volatile-qualifier-from-gatomicrefcount.patch \
+           file://0019-gatomicarray-Drop-volatile-qualifier-from-GAtomicArr.patch \
+           file://0020-gobject-Drop-volatile-qualifier-from-GObject.ref_cou.patch \
+           file://0021-tests-Drop-unnecessary-volatile-qualifiers-from-test.patch \
+           file://0022-build-Drop-unnecessary-volatile-qualifiers-from-conf.patch \
+           file://0023-gdbusprivate-Avoid-a-warning-about-a-statement-with-.patch \
+           file://0024-tests-Add-comment-to-volatile-atomic-tests.patch \
+           file://0025-gthread-Use-g_atomic-primitives-correctly-in-destruc.patch \
+           file://0026-gtype-Fix-some-typos-in-comments.patch \
+           file://0027-gtype-Add-some-missing-atomic-accesses-to-init_state.patch \
+           file://0028-gresource-Fix-a-pointer-mismatch-with-an-atomic-load.patch \
+           file://0029-docs-Document-not-to-use-volatile-qualifiers.patch \
+"
 SRC_URI_append_class-native = " file://relocate-modules.patch"
 
 SRC_URI[sha256sum] = "09f158769f6f26b31074e15b1ac80ec39b13b53102dfae66cfe826fb2cc65502"
@@ -31,7 +61,7 @@ def find_meson_cross_files(d):
     if bb.data.inherits_class('native', d):
         return ""
 
-    thisdir = d.getVar("THISDIR")
+    thisdir = os.path.normpath(d.getVar("THISDIR"))
     import collections
     sitedata = siteinfo_data(d)
     # filename -> found
@@ -41,7 +71,8 @@ def find_meson_cross_files(d):
             filename = os.path.normpath(os.path.join(path, "meson.cross.d", element))
             sanitized_path = filename.replace(thisdir, "${THISDIR}")
             if sanitized_path == filename:
-                bb.error("Cannot add '%s' to --cross-file, because it's not relative to THISDIR '%s' and sstate signature would contain this full path" % (filename, thisdir))
+                if os.path.exists(filename):
+                    bb.error("Cannot add '%s' to --cross-file, because it's not relative to THISDIR '%s' and sstate signature would contain this full path" % (filename, thisdir))
                 continue
             files[filename.replace(thisdir, "${THISDIR}")] = os.path.exists(filename)
 
diff --git a/poky/meta/recipes-core/glibc/glibc/0001-nptl-Remove-private-futex-optimization-BZ-27304.patch b/poky/meta/recipes-core/glibc/glibc/0001-nptl-Remove-private-futex-optimization-BZ-27304.patch
new file mode 100644
index 000000000..39fde5b78
--- /dev/null
+++ b/poky/meta/recipes-core/glibc/glibc/0001-nptl-Remove-private-futex-optimization-BZ-27304.patch
@@ -0,0 +1,49 @@
+From c4ad832276f4dadfa40904109b26a521468f66bc Mon Sep 17 00:00:00 2001
+From: Florian Weimer 
+Date: Thu, 4 Feb 2021 15:00:20 +0100
+Subject: [PATCH] nptl: Remove private futex optimization [BZ #27304]
+
+It is effectively used, unexcept for pthread_cond_destroy, where we do
+not want it; see bug 27304.  The internal locks do not support a
+process-shared mode.
+
+This fixes commit dc6cfdc934db9997c33728082d63552b9eee4563 ("nptl:
+Move pthread_cond_destroy implementation into libc").
+
+Reviewed-by: Adhemerval Zanella  
+
+Upstream-Status: Backport [https://sourceware.org/bugzilla/show_bug.cgi?id=27304]
+Signed-off-by: Yanfei Xu 
+---
+ sysdeps/nptl/lowlevellock-futex.h | 14 +-------------
+ 1 file changed, 1 insertion(+), 13 deletions(-)
+
+diff --git a/sysdeps/nptl/lowlevellock-futex.h b/sysdeps/nptl/lowlevellock-futex.h
+index ecb729da6b..ca96397a4a 100644
+--- a/sysdeps/nptl/lowlevellock-futex.h
++++ b/sysdeps/nptl/lowlevellock-futex.h
+@@ -50,20 +50,8 @@
+ #define LLL_SHARED	FUTEX_PRIVATE_FLAG
+ 
+ #ifndef __ASSEMBLER__
+-
+-# if IS_IN (libc) || IS_IN (rtld)
+-/* In libc.so or ld.so all futexes are private.  */
+-#  define __lll_private_flag(fl, private)			\
+-  ({								\
+-    /* Prevent warnings in callers of this macro.  */		\
+-    int __lll_private_flag_priv __attribute__ ((unused));	\
+-    __lll_private_flag_priv = (private);			\
+-    ((fl) | FUTEX_PRIVATE_FLAG);				\
+-  })
+-# else
+-#  define __lll_private_flag(fl, private) \
++# define __lll_private_flag(fl, private) \
+   (((fl) | FUTEX_PRIVATE_FLAG) ^ (private))
+-# endif
+ 
+ # define lll_futex_syscall(nargs, futexp, op, ...)                      \
+   ({                                                                    \
+-- 
+2.27.0
+
diff --git a/poky/meta/recipes-core/glibc/glibc/0033-x86-Handle-_SC_LEVEL1_ICACHE_LINESIZE-BZ-27444.patch b/poky/meta/recipes-core/glibc/glibc/0033-x86-Handle-_SC_LEVEL1_ICACHE_LINESIZE-BZ-27444.patch
new file mode 100644
index 000000000..3a004e227
--- /dev/null
+++ b/poky/meta/recipes-core/glibc/glibc/0033-x86-Handle-_SC_LEVEL1_ICACHE_LINESIZE-BZ-27444.patch
@@ -0,0 +1,185 @@
+From 750b00a1ddae220403fd892a6fd4e0791ffd154a Mon Sep 17 00:00:00 2001
+From: "H.J. Lu" 
+Date: Fri, 18 Sep 2020 07:55:14 -0700
+Subject: [PATCH] x86: Handle _SC_LEVEL1_ICACHE_LINESIZE [BZ #27444]
+
+    x86: Move x86 processor cache info to cpu_features
+
+missed _SC_LEVEL1_ICACHE_LINESIZE.
+
+1. Add level1_icache_linesize to struct cpu_features.
+2. Initialize level1_icache_linesize by calling handle_intel,
+handle_zhaoxin and handle_amd with _SC_LEVEL1_ICACHE_LINESIZE.
+3. Return level1_icache_linesize for _SC_LEVEL1_ICACHE_LINESIZE.
+
+Upstream-Status: Backport [https://sourceware.org/bugzilla/show_bug.cgi?id=27444]
+Signed-off-by: Andrei Gherzan 
+---
+ sysdeps/x86/Makefile                          |  8 +++
+ sysdeps/x86/cacheinfo.c                       |  3 +
+ sysdeps/x86/dl-cacheinfo.h                    |  6 ++
+ sysdeps/x86/include/cpu-features.h            |  2 +
+ .../x86/tst-sysconf-cache-linesize-static.c   |  1 +
+ sysdeps/x86/tst-sysconf-cache-linesize.c      | 57 +++++++++++++++++++
+ 6 files changed, 77 insertions(+)
+ create mode 100644 sysdeps/x86/tst-sysconf-cache-linesize-static.c
+ create mode 100644 sysdeps/x86/tst-sysconf-cache-linesize.c
+
+diff --git a/sysdeps/x86/Makefile b/sysdeps/x86/Makefile
+index dd82674342..d231263051 100644
+--- a/sysdeps/x86/Makefile
++++ b/sysdeps/x86/Makefile
+@@ -208,3 +208,11 @@ $(objpfx)check-cet.out: $(..)sysdeps/x86/check-cet.awk \
+ generated += check-cet.out
+ endif
+ endif
++
++ifeq ($(subdir),posix)
++tests += \
++  tst-sysconf-cache-linesize \
++  tst-sysconf-cache-linesize-static
++tests-static += \
++  tst-sysconf-cache-linesize-static
++endif
+diff --git a/sysdeps/x86/cacheinfo.c b/sysdeps/x86/cacheinfo.c
+index 7b8df45e3b..5ea4723ca6 100644
+--- a/sysdeps/x86/cacheinfo.c
++++ b/sysdeps/x86/cacheinfo.c
+@@ -32,6 +32,9 @@ __cache_sysconf (int name)
+     case _SC_LEVEL1_ICACHE_SIZE:
+       return cpu_features->level1_icache_size;
+ 
++    case _SC_LEVEL1_ICACHE_LINESIZE:
++      return cpu_features->level1_icache_linesize;
++
+     case _SC_LEVEL1_DCACHE_SIZE:
+       return cpu_features->level1_dcache_size;
+ 
+diff --git a/sysdeps/x86/dl-cacheinfo.h b/sysdeps/x86/dl-cacheinfo.h
+index a31fa0783a..7cd00b92f1 100644
+--- a/sysdeps/x86/dl-cacheinfo.h
++++ b/sysdeps/x86/dl-cacheinfo.h
+@@ -707,6 +707,7 @@ dl_init_cacheinfo (struct cpu_features *cpu_features)
+   long int core;
+   unsigned int threads = 0;
+   unsigned long int level1_icache_size = -1;
++  unsigned long int level1_icache_linesize = -1;
+   unsigned long int level1_dcache_size = -1;
+   unsigned long int level1_dcache_assoc = -1;
+   unsigned long int level1_dcache_linesize = -1;
+@@ -726,6 +727,8 @@ dl_init_cacheinfo (struct cpu_features *cpu_features)
+ 
+       level1_icache_size
+ 	= handle_intel (_SC_LEVEL1_ICACHE_SIZE, cpu_features);
++      level1_icache_linesize
++	= handle_intel (_SC_LEVEL1_ICACHE_LINESIZE, cpu_features);
+       level1_dcache_size = data;
+       level1_dcache_assoc
+ 	= handle_intel (_SC_LEVEL1_DCACHE_ASSOC, cpu_features);
+@@ -753,6 +756,7 @@ dl_init_cacheinfo (struct cpu_features *cpu_features)
+       shared = handle_zhaoxin (_SC_LEVEL3_CACHE_SIZE);
+ 
+       level1_icache_size = handle_zhaoxin (_SC_LEVEL1_ICACHE_SIZE);
++      level1_icache_linesize = handle_zhaoxin (_SC_LEVEL1_ICACHE_LINESIZE);
+       level1_dcache_size = data;
+       level1_dcache_assoc = handle_zhaoxin (_SC_LEVEL1_DCACHE_ASSOC);
+       level1_dcache_linesize = handle_zhaoxin (_SC_LEVEL1_DCACHE_LINESIZE);
+@@ -772,6 +776,7 @@ dl_init_cacheinfo (struct cpu_features *cpu_features)
+       shared = handle_amd (_SC_LEVEL3_CACHE_SIZE);
+ 
+       level1_icache_size = handle_amd (_SC_LEVEL1_ICACHE_SIZE);
++      level1_icache_linesize = handle_amd (_SC_LEVEL1_ICACHE_LINESIZE);
+       level1_dcache_size = data;
+       level1_dcache_assoc = handle_amd (_SC_LEVEL1_DCACHE_ASSOC);
+       level1_dcache_linesize = handle_amd (_SC_LEVEL1_DCACHE_LINESIZE);
+@@ -833,6 +838,7 @@ dl_init_cacheinfo (struct cpu_features *cpu_features)
+     }
+ 
+   cpu_features->level1_icache_size = level1_icache_size;
++  cpu_features->level1_icache_linesize = level1_icache_linesize;
+   cpu_features->level1_dcache_size = level1_dcache_size;
+   cpu_features->level1_dcache_assoc = level1_dcache_assoc;
+   cpu_features->level1_dcache_linesize = level1_dcache_linesize;
+diff --git a/sysdeps/x86/include/cpu-features.h b/sysdeps/x86/include/cpu-features.h
+index 624736b40e..39a3f4f311 100644
+--- a/sysdeps/x86/include/cpu-features.h
++++ b/sysdeps/x86/include/cpu-features.h
+@@ -874,6 +874,8 @@ struct cpu_features
+   unsigned long int rep_stosb_threshold;
+   /* _SC_LEVEL1_ICACHE_SIZE.  */
+   unsigned long int level1_icache_size;
++  /* _SC_LEVEL1_ICACHE_LINESIZE.  */
++  unsigned long int level1_icache_linesize;
+   /* _SC_LEVEL1_DCACHE_SIZE.  */
+   unsigned long int level1_dcache_size;
+   /* _SC_LEVEL1_DCACHE_ASSOC.  */
+diff --git a/sysdeps/x86/tst-sysconf-cache-linesize-static.c b/sysdeps/x86/tst-sysconf-cache-linesize-static.c
+new file mode 100644
+index 0000000000..152ae68821
+--- /dev/null
++++ b/sysdeps/x86/tst-sysconf-cache-linesize-static.c
+@@ -0,0 +1 @@
++#include "tst-sysconf-cache-linesize.c"
+diff --git a/sysdeps/x86/tst-sysconf-cache-linesize.c b/sysdeps/x86/tst-sysconf-cache-linesize.c
+new file mode 100644
+index 0000000000..642dbde5d2
+--- /dev/null
++++ b/sysdeps/x86/tst-sysconf-cache-linesize.c
+@@ -0,0 +1,57 @@
++/* Test system cache line sizes.
++   Copyright (C) 2021 Free Software Foundation, Inc.
++   This file is part of the GNU C Library.
++
++   The GNU C Library is free software; you can redistribute it and/or
++   modify it under the terms of the GNU Lesser General Public
++   License as published by the Free Software Foundation; either
++   version 2.1 of the License, or (at your option) any later version.
++
++   The GNU C Library is distributed in the hope that it will be useful,
++   but WITHOUT ANY WARRANTY; without even the implied warranty of
++   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
++   Lesser General Public License for more details.
++
++   You should have received a copy of the GNU Lesser General Public
++   License along with the GNU C Library; if not, see
++   .  */
++
++#include 
++#include 
++#include 
++#include 
++
++static struct
++{
++  const char *name;
++  int _SC_val;
++} sc_options[] =
++  {
++#define N(name) { "_SC_"#name, _SC_##name }
++    N (LEVEL1_ICACHE_LINESIZE),
++    N (LEVEL1_DCACHE_LINESIZE),
++    N (LEVEL2_CACHE_LINESIZE)
++  };
++
++static int
++do_test (void)
++{
++  int result = EXIT_SUCCESS;
++
++  for (int i = 0; i < array_length (sc_options); ++i)
++    {
++      long int scret = sysconf (sc_options[i]._SC_val);
++      if (scret < 0)
++	{
++	  printf ("sysconf (%s) returned < 0 (%ld)\n",
++		  sc_options[i].name, scret);
++	  result = EXIT_FAILURE;
++	}
++      else
++	printf ("sysconf (%s): %ld\n", sc_options[i].name, scret);
++    }
++
++  return result;
++}
++
++#include 
diff --git a/poky/meta/recipes-core/glibc/glibc/CVE-2021-27645.patch b/poky/meta/recipes-core/glibc/glibc/CVE-2021-27645.patch
new file mode 100644
index 000000000..26c5c0d2a
--- /dev/null
+++ b/poky/meta/recipes-core/glibc/glibc/CVE-2021-27645.patch
@@ -0,0 +1,51 @@
+From dca565886b5e8bd7966e15f0ca42ee5cff686673 Mon Sep 17 00:00:00 2001
+From: DJ Delorie 
+Date: Thu, 25 Feb 2021 16:08:21 -0500
+Subject: [PATCH] nscd: Fix double free in netgroupcache [BZ #27462]
+
+In commit 745664bd798ec8fd50438605948eea594179fba1 a use-after-free
+was fixed, but this led to an occasional double-free.  This patch
+tracks the "live" allocation better.
+
+Tested manually by a third party.
+
+Related: RHBZ 1927877
+
+Reviewed-by: Siddhesh Poyarekar 
+Reviewed-by: Carlos O'Donell 
+
+Upstream-Status: Backport [https://sourceware.org/git/?p=glibc.git;a=commit;h=dca565886b5e8bd7966e15f0ca42ee5cff686673]
+
+CVE: CVE-2021-27645
+
+Reviewed-by: Carlos O'Donell 
+Signed-off-by: Khairul Rohaizzat Jamaluddin 
+---
+ nscd/netgroupcache.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/nscd/netgroupcache.c b/nscd/netgroupcache.c
+index dba6ceec1b..ad2daddafd 100644
+--- a/nscd/netgroupcache.c
++++ b/nscd/netgroupcache.c
+@@ -248,7 +248,7 @@ addgetnetgrentX (struct database_dyn *db, int fd, request_header *req,
+ 					     : NULL);
+ 				    ndomain = (ndomain ? newbuf + ndomaindiff
+ 					       : NULL);
+-				    buffer = newbuf;
++				    *tofreep = buffer = newbuf;
+ 				  }
+ 
+ 				nhost = memcpy (buffer + bufused,
+@@ -319,7 +319,7 @@ addgetnetgrentX (struct database_dyn *db, int fd, request_header *req,
+ 		    else if (status == NSS_STATUS_TRYAGAIN && e == ERANGE)
+ 		      {
+ 			buflen *= 2;
+-			buffer = xrealloc (buffer, buflen);
++			*tofreep = buffer = xrealloc (buffer, buflen);
+ 		      }
+ 		    else if (status == NSS_STATUS_RETURN
+ 			     || status == NSS_STATUS_NOTFOUND
+-- 
+2.27.0
+
diff --git a/poky/meta/recipes-core/glibc/glibc_2.33.bb b/poky/meta/recipes-core/glibc/glibc_2.33.bb
index c47826a51..5e0baa53e 100644
--- a/poky/meta/recipes-core/glibc/glibc_2.33.bb
+++ b/poky/meta/recipes-core/glibc/glibc_2.33.bb
@@ -45,6 +45,9 @@ SRC_URI =  "${GLIBC_GIT_URI};branch=${SRCBRANCH};name=glibc \
            file://0030-powerpc-Do-not-ask-compiler-for-finding-arch.patch \
            file://0031-x86-Require-full-ISA-support-for-x86-64-level-marker.patch \
            file://0032-string-Work-around-GCC-PR-98512-in-rawmemchr.patch \
+           file://0033-x86-Handle-_SC_LEVEL1_ICACHE_LINESIZE-BZ-27444.patch \
+           file://CVE-2021-27645.patch \
+           file://0001-nptl-Remove-private-futex-optimization-BZ-27304.patch \
            "
 S = "${WORKDIR}/git"
 B = "${WORKDIR}/build-${TARGET_SYS}"
diff --git a/poky/meta/recipes-core/images/build-appliance-image_15.0.0.bb b/poky/meta/recipes-core/images/build-appliance-image_15.0.0.bb
index 705ff63cf..925235db6 100644
--- a/poky/meta/recipes-core/images/build-appliance-image_15.0.0.bb
+++ b/poky/meta/recipes-core/images/build-appliance-image_15.0.0.bb
@@ -22,9 +22,9 @@ APPEND += "rootfstype=ext4 quiet"
 DEPENDS = "zip-native python3-pip-native"
 IMAGE_FSTYPES = "wic.vmdk wic.vhd wic.vhdx"
 
-inherit core-image module-base setuptools3
+inherit core-image setuptools3
 
-SRCREV ?= "e56305dd709ae2af2da7a7599984b3ad18c4970f"
+SRCREV ?= "c6483187f96c6d21b7129ad78de3ff976fbe5970"
 SRC_URI = "git://git.yoctoproject.org/poky \
            file://Yocto_Build_Appliance.vmx \
            file://Yocto_Build_Appliance.vmxf \
@@ -61,12 +61,6 @@ fakeroot do_populate_poky_src () {
 	# Place the README_VirtualBox_Toaster file in builders home folder.
 	cp ${WORKDIR}/README_VirtualBox_Toaster.txt ${IMAGE_ROOTFS}/home/builder/
 
-	# Create a symlink, needed for out-of-tree kernel modules build
-	if [ ! -e ${IMAGE_ROOTFS}/lib/modules/${KERNEL_VERSION}/build ]; then
-		rm -f  ${IMAGE_ROOTFS}/lib/modules/${KERNEL_VERSION}/build
-		lnr ${IMAGE_ROOTFS}${KERNEL_SRC_PATH} ${IMAGE_ROOTFS}/lib/modules/${KERNEL_VERSION}/build
-	fi
-
 	echo "INHERIT += \"rm_work\"" >> ${IMAGE_ROOTFS}/home/builder/poky/build/conf/auto.conf
 	echo "export LC_ALL=en_US.utf8" >> ${IMAGE_ROOTFS}/home/builder/.bashrc
 
diff --git a/poky/meta/recipes-core/initrdscripts/initramfs-framework/rootfs b/poky/meta/recipes-core/initrdscripts/initramfs-framework/rootfs
index ee24e82af..10b958317 100644
--- a/poky/meta/recipes-core/initrdscripts/initramfs-framework/rootfs
+++ b/poky/meta/recipes-core/initrdscripts/initramfs-framework/rootfs
@@ -24,24 +24,13 @@ rootfs_run() {
 			if [ "`echo ${bootparam_root} | cut -c1-5`" = "UUID=" ]; then
 				root_uuid=`echo $bootparam_root | cut -c6-`
 				bootparam_root="/dev/disk/by-uuid/$root_uuid"
-			fi
-
-			if [ "`echo ${bootparam_root} | cut -c1-9`" = "PARTUUID=" ]; then
+			elif [ "`echo ${bootparam_root} | cut -c1-9`" = "PARTUUID=" ]; then
 				root_partuuid=`echo $bootparam_root | cut -c10-`
 				bootparam_root="/dev/disk/by-partuuid/$root_partuuid"
-			fi
-
-			if [ "`echo ${bootparam_root} | cut -c1-10`" = "PARTLABEL=" ]; then
-				root_partlabel=`echo $bootparam_root | cut -c11-`
-				bootparam_root="/dev/disk/by-partlabel/$root_partlabel"
-			fi
-
-			if [ "`echo ${bootparam_root} | cut -c1-10`" = "PARTLABEL=" ]; then
+			elif [ "`echo ${bootparam_root} | cut -c1-10`" = "PARTLABEL=" ]; then
 				root_partlabel=`echo $bootparam_root | cut -c11-`
 				bootparam_root="/dev/disk/by-partlabel/$root_partlabel"
-			fi
-
-			if [ "`echo ${bootparam_root} | cut -c1-6`" = "LABEL=" ]; then
+			elif [ "`echo ${bootparam_root} | cut -c1-6`" = "LABEL=" ]; then
 				root_label=`echo $bootparam_root | cut -c7-`
 				bootparam_root="/dev/disk/by-label/$root_label"
 			fi
diff --git a/poky/meta/recipes-core/libxcrypt/files/0001-configure.ac-do-not-use-compute-symver-floor.patch b/poky/meta/recipes-core/libxcrypt/files/0001-configure.ac-do-not-use-compute-symver-floor.patch
new file mode 100644
index 000000000..4e6b42710
--- /dev/null
+++ b/poky/meta/recipes-core/libxcrypt/files/0001-configure.ac-do-not-use-compute-symver-floor.patch
@@ -0,0 +1,32 @@
+From b28bb856ccebe8fded51d11362bf5920699eed59 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin 
+Date: Thu, 18 Mar 2021 10:52:13 +0000
+Subject: [PATCH] configure.ac: do not use compute-symver-floor
+
+This script (newly introduced in 4.4.18) sporadically fails, without
+failing configure(), which has been reported at
+https://github.com/besser82/libxcrypt/issues/123
+
+Upstream-Status: Inappropriate
+Signed-off-by: Alexander Kanavin 
+---
+ configure.ac | 6 +-----
+ 1 file changed, 1 insertion(+), 5 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 45b91b4..f3ba945 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -426,11 +426,7 @@ if test x$enable_shared != xyes; then enable_obsolete_api=0; fi
+ # need to be binary backward compatible with.
+ if test $enable_obsolete_api = 1; then
+   AC_MSG_CHECKING([minimum symbol version to use for compatibility symbols])
+-  SYMVER_FLOOR=$(
+-    $PERL ${srcdir}/build-aux/compute-symver-floor \
+-      ${srcdir}/lib/libcrypt.minver $host_os $host_cpu \
+-    2>&AS_MESSAGE_LOG_FD
+-  )
++  SYMVER_FLOOR=GLIBC_2.0
+   AC_MSG_RESULT([$SYMVER_FLOOR])
+   case "$SYMVER_FLOOR" in
+     ERROR)
diff --git a/poky/meta/recipes-core/libxcrypt/libxcrypt.inc b/poky/meta/recipes-core/libxcrypt/libxcrypt.inc
index e9f968b55..b5ca863d5 100644
--- a/poky/meta/recipes-core/libxcrypt/libxcrypt.inc
+++ b/poky/meta/recipes-core/libxcrypt/libxcrypt.inc
@@ -9,7 +9,9 @@ LIC_FILES_CHKSUM = "file://LICENSING;md5=bd5d9777dfe7076c4f2928f12fed226a \
 
 inherit autotools pkgconfig
 
-SRC_URI = "git://github.com/besser82/libxcrypt.git;branch=${SRCBRANCH}"
+SRC_URI = "git://github.com/besser82/libxcrypt.git;branch=${SRCBRANCH} \
+           file://0001-configure.ac-do-not-use-compute-symver-floor.patch \
+           "
 SRCREV = "94d84f92ca123d851586016c4678eb1f21c19029"
 SRCBRANCH ?= "develop"
 
diff --git a/poky/meta/recipes-core/meta/cve-update-db-native.bb b/poky/meta/recipes-core/meta/cve-update-db-native.bb
index cf62e1e32..25ec6bac7 100644
--- a/poky/meta/recipes-core/meta/cve-update-db-native.bb
+++ b/poky/meta/recipes-core/meta/cve-update-db-native.bb
@@ -12,6 +12,8 @@ deltask do_compile
 deltask do_install
 deltask do_populate_sysroot
 
+NVDCVE_URL ?= "https://nvd.nist.gov/feeds/json/cve/1.1/nvdcve-1.1-"
+
 python () {
     if not bb.data.inherits_class("cve-check", d):
         raise bb.parse.SkipRecipe("Skip recipe when cve-check class is not loaded.")
@@ -28,7 +30,6 @@ python do_fetch() {
 
     bb.utils.export_proxies(d)
 
-    BASE_URL = "https://nvd.nist.gov/feeds/json/cve/1.1/nvdcve-1.1-"
     YEAR_START = 2002
 
     db_file = d.getVar("CVE_CHECK_DB_FILE")
@@ -64,7 +65,7 @@ python do_fetch() {
         for i, year in enumerate(range(YEAR_START, date.today().year + 1)):
             bb.debug(2, "Updating %d" % year)
             ph.update((float(i + 1) / total_years) * 100)
-            year_url = BASE_URL + str(year)
+            year_url = (d.getVar('NVDCVE_URL')) + str(year)
             meta_url = year_url + ".meta"
             json_url = year_url + ".json.gz"
 
@@ -143,9 +144,14 @@ def parse_node_and_insert(c, node, cveId):
             product = cpe23[4]
             version = cpe23[5]
 
+            if cpe23[6] == '*' or cpe23[6] == '-':
+                version_suffix = ""
+            else:
+                version_suffix = "_" + cpe23[6]
+
             if version != '*' and version != '-':
                 # Version is defined, this is a '=' match
-                yield [cveId, vendor, product, version, '=', '', '']
+                yield [cveId, vendor, product, version + version_suffix, '=', '', '']
             elif version == '-':
                 # no version information is available
                 yield [cveId, vendor, product, version, '', '', '']
diff --git a/poky/meta/recipes-core/meta/uninative-tarball.bb b/poky/meta/recipes-core/meta/uninative-tarball.bb
index c4a6c96b4..bbdaebad9 100644
--- a/poky/meta/recipes-core/meta/uninative-tarball.bb
+++ b/poky/meta/recipes-core/meta/uninative-tarball.bb
@@ -8,6 +8,7 @@ TOOLCHAIN_TARGET_TASK = ""
 # utf-16, cp1252 - binutils-windres
 TOOLCHAIN_HOST_TASK = "\
     nativesdk-glibc \
+    nativesdk-glibc-dbg \
     nativesdk-glibc-gconv-ibm850 \
     nativesdk-glibc-gconv-iso8859-1 \
     nativesdk-glibc-gconv-utf-16 \
diff --git a/poky/meta/recipes-core/musl/libucontext_git.bb b/poky/meta/recipes-core/musl/libucontext_git.bb
index 734ad9c95..11affebb4 100644
--- a/poky/meta/recipes-core/musl/libucontext_git.bb
+++ b/poky/meta/recipes-core/musl/libucontext_git.bb
@@ -40,8 +40,8 @@ def map_kernel_arch(a, d):
     elif re.match('aarch64_be_ilp32$', a):          return 'aarch64'
     elif re.match('mips(isa|)(32|)(r6|)(el|)$', a): return 'mips'
     elif re.match('mips(isa|)64(r6|)(el|)$', a):    return 'mips64'
+    elif re.match('p(pc64|owerpc64)(le)', a):       return 'ppc64'
     elif re.match('p(pc|owerpc)', a):               return 'ppc'
-    elif re.match('p(pc64|owerpc64)', a):           return 'ppc64'
     elif re.match('riscv64$', a):                   return 'riscv64'
     elif re.match('riscv32$', a):                   return 'riscv32'
     else:
diff --git a/poky/meta/recipes-core/ovmf/ovmf/0003-ovmf-enable-long-path-file.patch b/poky/meta/recipes-core/ovmf/ovmf/0003-ovmf-enable-long-path-file.patch
deleted file mode 100644
index df1d15901..000000000
--- a/poky/meta/recipes-core/ovmf/ovmf/0003-ovmf-enable-long-path-file.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From e19481e5a64f8915ac118899b10c40d12c0f9daa Mon Sep 17 00:00:00 2001
-From: Dengke Du 
-Date: Mon, 11 Sep 2017 02:21:55 -0400
-Subject: [PATCH 3/4] ovmf: enable long path file
-
-Upstream-Status: Pending
-Signed-off-by: Dengke Du 
-
----
- BaseTools/Source/C/Common/CommonLib.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/BaseTools/Source/C/Common/CommonLib.h b/BaseTools/Source/C/Common/CommonLib.h
-index e1cce985f7..d67d03c70c 100644
---- a/BaseTools/Source/C/Common/CommonLib.h
-+++ b/BaseTools/Source/C/Common/CommonLib.h
-@@ -14,7 +14,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
- #include 
- #define PRINTED_GUID_BUFFER_SIZE  37  // including null-termination
- 
--#define MAX_LONG_FILE_PATH 500
-+#define MAX_LONG_FILE_PATH 1023
- 
- #define MAX_UINT64 ((UINT64)0xFFFFFFFFFFFFFFFFULL)
- #define MAX_UINT32 ((UINT32)0xFFFFFFFF)
--- 
-2.28.0
-
diff --git a/poky/meta/recipes-core/ovmf/ovmf/zero.patch b/poky/meta/recipes-core/ovmf/ovmf/zero.patch
new file mode 100644
index 000000000..af7a9d31f
--- /dev/null
+++ b/poky/meta/recipes-core/ovmf/ovmf/zero.patch
@@ -0,0 +1,84 @@
+Pass --zero to GenFw in release builds so that the sections that link back to
+the intermediate binaries (containing build paths) are removed.
+
+Upstream-Status: Pending (discussion at https://bugzilla.tianocore.org/show_bug.cgi?id=3256)
+Signed-off-by: Ross Burton 
+
+From 6303b065802c9427c718fda129360189b79316e7 Mon Sep 17 00:00:00 2001
+From: Ross Burton 
+Date: Tue, 16 Mar 2021 16:49:49 +0000
+Subject: [PATCH] Strip build paths
+
+---
+ OvmfPkg/AmdSev/AmdSevX64.dsc | 1 +
+ OvmfPkg/Bhyve/BhyveX64.dsc   | 1 +
+ OvmfPkg/OvmfPkgIa32.dsc      | 2 ++
+ OvmfPkg/OvmfPkgIa32X64.dsc   | 1 +
+ OvmfPkg/OvmfPkgX64.dsc       | 1 +
+ OvmfPkg/OvmfXen.dsc          | 1 +
+ 6 files changed, 7 insertions(+)
+
+diff --git a/OvmfPkg/Bhyve/BhyveX64.dsc b/OvmfPkg/Bhyve/BhyveX64.dsc
+index 4a1cdf5aca..132f55cf69 100644
+--- a/OvmfPkg/Bhyve/BhyveX64.dsc
++++ b/OvmfPkg/Bhyve/BhyveX64.dsc
+@@ -76,6 +76,7 @@
+   GCC:*_*_X64_GENFW_FLAGS   = --keepexceptiontable
+   INTEL:*_*_X64_GENFW_FLAGS = --keepexceptiontable
+ !endif
++  RELEASE_*_*_GENFW_FLAGS = --zero
+ 
+   #
+   # Disable deprecated APIs.
+diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc
+index 1eaf3e99c6..ce20f09df8 100644
+--- a/OvmfPkg/OvmfPkgIa32.dsc
++++ b/OvmfPkg/OvmfPkgIa32.dsc
+@@ -90,6 +90,8 @@
+ 
+ !include NetworkPkg/NetworkBuildOptions.dsc.inc
+ 
++  RELEASE_*_*_GENFW_FLAGS = --zero
++
+ [BuildOptions.common.EDKII.DXE_RUNTIME_DRIVER]
+   GCC:*_*_*_DLINK_FLAGS = -z common-page-size=0x1000
+   XCODE:*_*_*_DLINK_FLAGS = -seg1addr 0x1000 -segalign 0x1000
+diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc
+index 4a5a430147..97cc438250 100644
+--- a/OvmfPkg/OvmfPkgIa32X64.dsc
++++ b/OvmfPkg/OvmfPkgIa32X64.dsc
+@@ -84,6 +84,7 @@
+   GCC:*_*_X64_GENFW_FLAGS   = --keepexceptiontable
+   INTEL:*_*_X64_GENFW_FLAGS = --keepexceptiontable
+ !endif
++  RELEASE_*_*_GENFW_FLAGS = --zero
+ 
+   #
+   # Disable deprecated APIs.
+diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc
+index d4d601b444..f544fb04bf 100644
+--- a/OvmfPkg/OvmfPkgX64.dsc
++++ b/OvmfPkg/OvmfPkgX64.dsc
+@@ -84,6 +84,7 @@
+   GCC:*_*_X64_GENFW_FLAGS   = --keepexceptiontable
+   INTEL:*_*_X64_GENFW_FLAGS = --keepexceptiontable
+ !endif
++  RELEASE_*_*_GENFW_FLAGS = --zero
+ 
+   #
+   # Disable deprecated APIs.
+diff --git a/OvmfPkg/OvmfXen.dsc b/OvmfPkg/OvmfXen.dsc
+index 507029404f..fcaa35acf1 100644
+--- a/OvmfPkg/OvmfXen.dsc
++++ b/OvmfPkg/OvmfXen.dsc
+@@ -74,6 +74,7 @@
+   GCC:*_*_X64_GENFW_FLAGS   = --keepexceptiontable
+   INTEL:*_*_X64_GENFW_FLAGS = --keepexceptiontable
+ !endif
++  RELEASE_*_*_GENFW_FLAGS = --zero
+ 
+   #
+   # Disable deprecated APIs.
+-- 
+2.25.1
+
diff --git a/poky/meta/recipes-core/ovmf/ovmf_git.bb b/poky/meta/recipes-core/ovmf/ovmf_git.bb
index d785ff670..896b3b632 100644
--- a/poky/meta/recipes-core/ovmf/ovmf_git.bb
+++ b/poky/meta/recipes-core/ovmf/ovmf_git.bb
@@ -15,12 +15,12 @@ PACKAGECONFIG[secureboot] = ",,,"
 SRC_URI = "gitsm://github.com/tianocore/edk2.git;branch=master;protocol=https \
            file://0001-ovmf-update-path-to-native-BaseTools.patch \
            file://0002-BaseTools-makefile-adjust-to-build-in-under-bitbake.patch \
-           file://0003-ovmf-enable-long-path-file.patch \
            file://0004-ovmf-Update-to-latest.patch \
+           file://zero.patch \
            "
 
-PV = "edk2-stable202011"
-SRCREV = "872f953262d68a11da7bc2fb3ded16df234b8700"
+PV = "edk2-stable202102"
+SRCREV = "ef91b07388e1c0a50c604e5350eeda98428ccea6"
 UPSTREAM_CHECK_GITTAGREGEX = "(?Pedk2-stable.*)"
 
 inherit deploy
diff --git a/poky/meta/recipes-core/packagegroups/packagegroup-base.bb b/poky/meta/recipes-core/packagegroups/packagegroup-base.bb
index c882e1526..6d4d7e6f7 100644
--- a/poky/meta/recipes-core/packagegroups/packagegroup-base.bb
+++ b/poky/meta/recipes-core/packagegroups/packagegroup-base.bb
@@ -8,7 +8,6 @@ PACKAGE_ARCH = "${MACHINE_ARCH}"
 
 inherit packagegroup
 
-PROVIDES = "${PACKAGES}"
 PACKAGES = ' \
             packagegroup-base \
             packagegroup-base-extended \
diff --git a/poky/meta/recipes-core/packagegroups/packagegroup-core-nfs.bb b/poky/meta/recipes-core/packagegroups/packagegroup-core-nfs.bb
index b345e314a..20fe6fc09 100644
--- a/poky/meta/recipes-core/packagegroups/packagegroup-core-nfs.bb
+++ b/poky/meta/recipes-core/packagegroups/packagegroup-core-nfs.bb
@@ -7,7 +7,6 @@ PR = "r2"
 
 inherit packagegroup
 
-PROVIDES = "${PACKAGES}"
 PACKAGES = "${PN}-server ${PN}-client"
 
 SUMMARY_${PN}-client = "NFS client"
diff --git a/poky/meta/recipes-core/systemd/systemd-boot_247.3.bb b/poky/meta/recipes-core/systemd/systemd-boot_247.3.bb
deleted file mode 100644
index 249e620f4..000000000
--- a/poky/meta/recipes-core/systemd/systemd-boot_247.3.bb
+++ /dev/null
@@ -1,70 +0,0 @@
-require systemd.inc
-FILESEXTRAPATHS =. "${FILE_DIRNAME}/systemd:"
-
-require conf/image-uefi.conf
-
-DEPENDS = "intltool-native libcap util-linux gnu-efi gperf-native"
-
-inherit meson pkgconfig gettext
-inherit deploy
-
-LDFLAGS_prepend = "${@ " ".join(d.getVar('LD').split()[1:])} "
-
-do_write_config[vardeps] += "CC OBJCOPY"
-do_write_config_append() {
-    cat >${WORKDIR}/meson-${PN}.cross <${WORKDIR}/meson-${PN}.cross <
  src/core/systemd.pc.in | 8 ++++----
  1 file changed, 4 insertions(+), 4 deletions(-)
 
+diff --git a/src/core/systemd.pc.in b/src/core/systemd.pc.in
+index b5cc8f9..21dbf30 100644
 --- a/src/core/systemd.pc.in
 +++ b/src/core/systemd.pc.in
 @@ -65,16 +65,16 @@ systemdshutdowndir=${systemd_shutdown_dir}
- tmpfiles_dir=/usr/lib/tmpfiles.d
+ tmpfiles_dir=${prefix}/lib/tmpfiles.d
  tmpfilesdir=${tmpfiles_dir}
  
 -sysusers_dir=${rootprefix}/lib/sysusers.d
@@ -34,4 +36,7 @@ Signed-off-by: Khem Raj 
 +modules_load_dir=${prefix}/lib/modules-load.d
  modulesloaddir=${modules_load_dir}
  
- catalog_dir=/usr/lib/systemd/catalog
+ catalog_dir=${prefix}/lib/systemd/catalog
+-- 
+2.25.1
+
diff --git a/poky/meta/recipes-core/systemd/systemd/0006-Include-netinet-if_ether.h.patch b/poky/meta/recipes-core/systemd/systemd/0006-Include-netinet-if_ether.h.patch
index b689cf129..a978558b4 100644
--- a/poky/meta/recipes-core/systemd/systemd/0006-Include-netinet-if_ether.h.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0006-Include-netinet-if_ether.h.patch
@@ -41,20 +41,22 @@ Signed-off-by: Luca Boccassi 
  src/network/netdev/netdev-gperf.gperf     | 1 +
  src/network/netdev/netdev.c               | 1 +
  src/network/networkd-brvlan.c             | 1 +
- src/network/networkd-dhcp-common.c        | 1 +
+ src/network/networkd-dhcp-common.c        | 4 +++-
+ src/network/networkd-dhcp-server.c        | 4 ++--
  src/network/networkd-dhcp4.c              | 2 +-
  src/network/networkd-dhcp6.c              | 2 +-
  src/network/networkd-link.c               | 2 +-
  src/network/networkd-network.c            | 1 +
+ src/network/networkd-route.c              | 5 ++++-
  src/network/test-network-tables.c         | 1 +
  src/shared/ethtool-util.c                 | 1 +
  src/shared/ethtool-util.h                 | 1 +
  src/udev/net/link-config.c                | 1 +
  src/udev/udev-builtin-net_setup_link.c    | 1 +
- 19 files changed, 18 insertions(+), 4 deletions(-)
+ 21 files changed, 26 insertions(+), 8 deletions(-)
 
 diff --git a/src/libsystemd-network/sd-dhcp6-client.c b/src/libsystemd-network/sd-dhcp6-client.c
-index 30ac526fc9..126077e13c 100644
+index 66f87c4b95..de1264ae46 100644
 --- a/src/libsystemd-network/sd-dhcp6-client.c
 +++ b/src/libsystemd-network/sd-dhcp6-client.c
 @@ -5,7 +5,6 @@
@@ -158,7 +160,7 @@ index e53c73c30c..9bf0771b84 100644
  #include 
  
 diff --git a/src/network/networkd-dhcp-common.c b/src/network/networkd-dhcp-common.c
-index c338c775a7..ab35d65c53 100644
+index 9f58121350..554d006cb8 100644
 --- a/src/network/networkd-dhcp-common.c
 +++ b/src/network/networkd-dhcp-common.c
 @@ -1,7 +1,8 @@
@@ -171,7 +173,7 @@ index c338c775a7..ab35d65c53 100644
  
  #include "dhcp-internal.h"
  #include "dhcp6-internal.h"
-@@ -10,6 +10,7 @@
+@@ -10,6 +11,7 @@
  #include "networkd-dhcp-common.h"
  #include "networkd-link.h"
  #include "networkd-manager.h"
@@ -195,7 +197,7 @@ index cf279c640d..bae541029b 100644
  #include "sd-dhcp-server.h"
  
 diff --git a/src/network/networkd-dhcp4.c b/src/network/networkd-dhcp4.c
-index 02d33841b6..a30d8dd82c 100644
+index f3c1e5f609..e4ef6eca63 100644
 --- a/src/network/networkd-dhcp4.c
 +++ b/src/network/networkd-dhcp4.c
 @@ -1,9 +1,9 @@
@@ -210,7 +212,7 @@ index 02d33841b6..a30d8dd82c 100644
  #include "escape.h"
  #include "alloc-util.h"
 diff --git a/src/network/networkd-dhcp6.c b/src/network/networkd-dhcp6.c
-index d4d4182ee5..635d08f7d5 100644
+index 5c077c1ec8..fa98042aa5 100644
 --- a/src/network/networkd-dhcp6.c
 +++ b/src/network/networkd-dhcp6.c
 @@ -3,9 +3,9 @@
@@ -225,7 +227,7 @@ index d4d4182ee5..635d08f7d5 100644
  #include "sd-dhcp6-client.h"
  
 diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c
-index ced18de425..07b43770de 100644
+index 3bfe636691..e0c68c8ad3 100644
 --- a/src/network/networkd-link.c
 +++ b/src/network/networkd-link.c
 @@ -1,8 +1,8 @@
@@ -250,7 +252,7 @@ index 3254641461..f0ada419fd 100644
  #include 
  #include 
 diff --git a/src/network/networkd-route.c b/src/network/networkd-route.c
-index 10f30c1a7e..579885726c 100644
+index 0ed89584ef..e7e157c201 100644
 --- a/src/network/networkd-route.c
 +++ b/src/network/networkd-route.c
 @@ -1,7 +1,10 @@
@@ -311,16 +313,16 @@ index d12fd0e299..636806dc23 100644
  #include 
  #include 
 diff --git a/src/udev/udev-builtin-net_setup_link.c b/src/udev/udev-builtin-net_setup_link.c
-index cb12b943fe..5a28c8b563 100644
+index 87e1fb133e..13876029d0 100644
 --- a/src/udev/udev-builtin-net_setup_link.c
 +++ b/src/udev/udev-builtin-net_setup_link.c
 @@ -1,5 +1,6 @@
  /* SPDX-License-Identifier: LGPL-2.1-or-later */
  
 +#include 
- #include "device-util.h"
  #include "alloc-util.h"
- #include "link-config.h"
+ #include "device-util.h"
+ #include "errno-util.h"
 -- 
-2.27.0
+2.25.1
 
diff --git a/poky/meta/recipes-core/systemd/systemd_247.3.bb b/poky/meta/recipes-core/systemd/systemd_247.3.bb
deleted file mode 100644
index c0073ad7b..000000000
--- a/poky/meta/recipes-core/systemd/systemd_247.3.bb
+++ /dev/null
@@ -1,762 +0,0 @@
-require systemd.inc
-
-PROVIDES = "udev"
-
-PE = "1"
-
-DEPENDS = "intltool-native gperf-native libcap util-linux"
-
-SECTION = "base/shell"
-
-inherit useradd pkgconfig meson perlnative update-rc.d update-alternatives qemu systemd gettext bash-completion manpages features_check
-
-# As this recipe builds udev, respect systemd being in DISTRO_FEATURES so
-# that we don't build both udev and systemd in world builds.
-REQUIRED_DISTRO_FEATURES = "systemd"
-
-SRC_URI += "file://touchscreen.rules \
-           file://00-create-volatile.conf \
-           ${@bb.utils.contains('PACKAGECONFIG', 'polkit_hostnamed_fallback', 'file://org.freedesktop.hostname1_no_polkit.conf', '', d)} \
-           ${@bb.utils.contains('PACKAGECONFIG', 'polkit_hostnamed_fallback', 'file://00-hostnamed-network-user.conf', '', d)} \
-           file://init \
-           file://99-default.preset \
-           file://systemd-pager.sh \
-           file://0001-binfmt-Don-t-install-dependency-links-at-install-tim.patch \
-           file://0003-implment-systemd-sysv-install-for-OE.patch \
-           file://0001-systemd.pc.in-use-ROOTPREFIX-without-suffixed-slash.patch \
-           file://0001-logind-Restore-chvt-as-non-root-user-without-polkit.patch \
-           file://0027-proc-dont-trigger-mount-error-with-invalid-options-o.patch \
-           file://0001-analyze-resolve-executable-path-if-it-is-relative.patch \
-           "
-
-# patches needed by musl
-SRC_URI_append_libc-musl = " ${SRC_URI_MUSL}"
-SRC_URI_MUSL = "\
-               file://0002-don-t-use-glibc-specific-qsort_r.patch \
-               file://0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch \
-               file://0004-add-fallback-parse_printf_format-implementation.patch \
-               file://0005-src-basic-missing.h-check-for-missing-strndupa.patch \
-               file://0006-Include-netinet-if_ether.h.patch \
-               file://0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch \
-               file://0008-add-missing-FTW_-macros-for-musl.patch \
-               file://0009-fix-missing-of-__register_atfork-for-non-glibc-build.patch \
-               file://0010-Use-uintmax_t-for-handling-rlim_t.patch \
-               file://0011-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch \
-               file://0012-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch \
-               file://0013-Define-glibc-compatible-basename-for-non-glibc-syste.patch \
-               file://0014-Do-not-disable-buffering-when-writing-to-oom_score_a.patch \
-               file://0015-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch \
-               file://0016-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch \
-               file://0017-missing_type.h-add-__compar_d_fn_t-definition.patch \
-               file://0018-avoid-redefinition-of-prctl_mm_map-structure.patch \
-               file://0019-Handle-missing-LOCK_EX.patch \
-               file://0020-Fix-incompatible-pointer-type-struct-sockaddr_un.patch \
-               file://0021-test-json.c-define-M_PIl.patch \
-               file://0022-do-not-disable-buffer-in-writing-files.patch \
-               file://0025-Handle-__cpu_mask-usage.patch \
-               file://0026-Handle-missing-gshadow.patch \
-               "
-
-PAM_PLUGINS = " \
-    pam-plugin-unix \
-    pam-plugin-loginuid \
-    pam-plugin-keyinit \
-"
-
-PACKAGECONFIG ??= " \
-    ${@bb.utils.filter('DISTRO_FEATURES', 'acl audit efi ldconfig pam selinux smack usrmerge polkit', d)} \
-    ${@bb.utils.contains('DISTRO_FEATURES', 'wifi', 'rfkill', '', d)} \
-    ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'xkbcommon', '', d)} \
-    backlight \
-    binfmt \
-    gshadow \
-    hibernate \
-    hostnamed \
-    idn \
-    ima \
-    kmod \
-    localed \
-    logind \
-    machined \
-    myhostname \
-    networkd \
-    nss \
-    nss-mymachines \
-    nss-resolve \
-    quotacheck \
-    randomseed \
-    resolved \
-    set-time-epoch \
-    sysusers \
-    sysvinit \
-    timedated \
-    timesyncd \
-    userdb \
-    utmp \
-    vconsole \
-    xz \
-"
-
-PACKAGECONFIG_remove_libc-musl = " \
-    gshadow \
-    idn \
-    localed \
-    myhostname \
-    nss \
-    nss-mymachines \
-    nss-resolve \
-    sysusers \
-    userdb \
-    utmp \
-"
-
-CFLAGS_append_libc-musl = " -D__UAPI_DEF_ETHHDR=0 "
-
-# Some of the dependencies are weak-style recommends - if not available at runtime,
-# systemd won't fail but the library-related feature will be skipped with a warning.
-
-# Use the upstream systemd serial-getty@.service and rely on
-# systemd-getty-generator instead of using the OE-core specific
-# systemd-serialgetty.bb - not enabled by default.
-PACKAGECONFIG[serial-getty-generator] = ""
-
-PACKAGECONFIG[acl] = "-Dacl=true,-Dacl=false,acl"
-PACKAGECONFIG[audit] = "-Daudit=true,-Daudit=false,audit"
-PACKAGECONFIG[backlight] = "-Dbacklight=true,-Dbacklight=false"
-PACKAGECONFIG[binfmt] = "-Dbinfmt=true,-Dbinfmt=false"
-PACKAGECONFIG[bzip2] = "-Dbzip2=true,-Dbzip2=false,bzip2"
-PACKAGECONFIG[cgroupv2] = "-Ddefault-hierarchy=unified,-Ddefault-hierarchy=hybrid"
-PACKAGECONFIG[coredump] = "-Dcoredump=true,-Dcoredump=false"
-PACKAGECONFIG[cryptsetup] = "-Dlibcryptsetup=true,-Dlibcryptsetup=false,cryptsetup,,cryptsetup"
-PACKAGECONFIG[dbus] = "-Ddbus=true,-Ddbus=false,dbus"
-PACKAGECONFIG[efi] = "-Defi=true,-Defi=false"
-PACKAGECONFIG[gnu-efi] = "-Dgnu-efi=true -Defi-libdir=${STAGING_LIBDIR} -Defi-includedir=${STAGING_INCDIR}/efi,-Dgnu-efi=false,gnu-efi"
-PACKAGECONFIG[elfutils] = "-Delfutils=true,-Delfutils=false,elfutils"
-PACKAGECONFIG[firstboot] = "-Dfirstboot=true,-Dfirstboot=false"
-# Sign the journal for anti-tampering
-PACKAGECONFIG[gcrypt] = "-Dgcrypt=true,-Dgcrypt=false,libgcrypt"
-PACKAGECONFIG[gnutls] = "-Dgnutls=true,-Dgnutls=false,gnutls"
-PACKAGECONFIG[gshadow] = "-Dgshadow=true,-Dgshadow=false"
-PACKAGECONFIG[hibernate] = "-Dhibernate=true,-Dhibernate=false"
-PACKAGECONFIG[hostnamed] = "-Dhostnamed=true,-Dhostnamed=false"
-PACKAGECONFIG[idn] = "-Didn=true,-Didn=false"
-PACKAGECONFIG[ima] = "-Dima=true,-Dima=false"
-# importd requires journal-upload/xz/zlib/bzip2/gcrypt
-PACKAGECONFIG[importd] = "-Dimportd=true,-Dimportd=false"
-# Update NAT firewall rules
-PACKAGECONFIG[iptc] = "-Dlibiptc=true,-Dlibiptc=false,iptables"
-PACKAGECONFIG[journal-upload] = "-Dlibcurl=true,-Dlibcurl=false,curl"
-PACKAGECONFIG[kmod] = "-Dkmod=true,-Dkmod=false,kmod"
-PACKAGECONFIG[ldconfig] = "-Dldconfig=true,-Dldconfig=false,,ldconfig"
-PACKAGECONFIG[libidn] = "-Dlibidn=true,-Dlibidn=false,libidn,,libidn"
-PACKAGECONFIG[libidn2] = "-Dlibidn2=true,-Dlibidn2=false,libidn2,,libidn2"
-PACKAGECONFIG[localed] = "-Dlocaled=true,-Dlocaled=false"
-PACKAGECONFIG[logind] = "-Dlogind=true,-Dlogind=false"
-PACKAGECONFIG[lz4] = "-Dlz4=true,-Dlz4=false,lz4"
-PACKAGECONFIG[machined] = "-Dmachined=true,-Dmachined=false"
-PACKAGECONFIG[manpages] = "-Dman=true,-Dman=false,libxslt-native xmlto-native docbook-xml-dtd4-native docbook-xsl-stylesheets-native"
-PACKAGECONFIG[microhttpd] = "-Dmicrohttpd=true,-Dmicrohttpd=false,libmicrohttpd"
-PACKAGECONFIG[myhostname] = "-Dnss-myhostname=true,-Dnss-myhostname=false,,libnss-myhostname"
-PACKAGECONFIG[networkd] = "-Dnetworkd=true,-Dnetworkd=false"
-PACKAGECONFIG[nss] = "-Dnss-systemd=true,-Dnss-systemd=false"
-PACKAGECONFIG[nss-mymachines] = "-Dnss-mymachines=true,-Dnss-mymachines=false"
-PACKAGECONFIG[nss-resolve] = "-Dnss-resolve=true,-Dnss-resolve=false"
-PACKAGECONFIG[oomd] = "-Doomd=true,-Doomd=false"
-PACKAGECONFIG[openssl] = "-Dopenssl=true,-Dopenssl=false,openssl"
-PACKAGECONFIG[pam] = "-Dpam=true,-Dpam=false,libpam,${PAM_PLUGINS}"
-PACKAGECONFIG[pcre2] = "-Dpcre2=true,-Dpcre2=false,libpcre2"
-PACKAGECONFIG[polkit] = "-Dpolkit=true,-Dpolkit=false"
-# If polkit is disabled and networkd+hostnamed are in use, enabling this option and
-# using dbus-broker will allow networkd to be authorized to change the
-# hostname without acquiring additional privileges
-PACKAGECONFIG[polkit_hostnamed_fallback] = ",,,,dbus-broker,polkit"
-PACKAGECONFIG[portabled] = "-Dportabled=true,-Dportabled=false"
-PACKAGECONFIG[qrencode] = "-Dqrencode=true,-Dqrencode=false,qrencode,,qrencode"
-PACKAGECONFIG[quotacheck] = "-Dquotacheck=true,-Dquotacheck=false"
-PACKAGECONFIG[randomseed] = "-Drandomseed=true,-Drandomseed=false"
-PACKAGECONFIG[resolved] = "-Dresolve=true,-Dresolve=false"
-PACKAGECONFIG[rfkill] = "-Drfkill=true,-Drfkill=false"
-# libseccomp is found in meta-security
-PACKAGECONFIG[seccomp] = "-Dseccomp=true,-Dseccomp=false,libseccomp"
-PACKAGECONFIG[selinux] = "-Dselinux=true,-Dselinux=false,libselinux,initscripts-sushell"
-PACKAGECONFIG[smack] = "-Dsmack=true,-Dsmack=false"
-PACKAGECONFIG[sysusers] = "-Dsysusers=true,-Dsysusers=false"
-PACKAGECONFIG[sysvinit] = "-Dsysvinit-path=${sysconfdir}/init.d -Dsysvrcnd-path=${sysconfdir},-Dsysvinit-path= -Dsysvrcnd-path=,,systemd-compat-units update-rc.d"
-# When enabled use reproducble build timestamp if set as time epoch,
-# or build time if not. When disabled, time epoch is unset.
-def build_epoch(d):
-    epoch = d.getVar('SOURCE_DATE_EPOCH') or "-1"
-    return '-Dtime-epoch=%d' % int(epoch)
-PACKAGECONFIG[set-time-epoch] = "${@build_epoch(d)},-Dtime-epoch=0"
-PACKAGECONFIG[timedated] = "-Dtimedated=true,-Dtimedated=false"
-PACKAGECONFIG[timesyncd] = "-Dtimesyncd=true,-Dtimesyncd=false"
-PACKAGECONFIG[usrmerge] = "-Dsplit-usr=false,-Dsplit-usr=true"
-PACKAGECONFIG[sbinmerge] = "-Dsplit-bin=false,-Dsplit-bin=true"
-PACKAGECONFIG[userdb] = "-Duserdb=true,-Duserdb=false"
-PACKAGECONFIG[utmp] = "-Dutmp=true,-Dutmp=false"
-PACKAGECONFIG[valgrind] = "-DVALGRIND=1,,valgrind"
-PACKAGECONFIG[vconsole] = "-Dvconsole=true,-Dvconsole=false,,${PN}-vconsole-setup"
-PACKAGECONFIG[xdg-autostart] = "-Dxdg-autostart=true,-Dxdg-autostart=false"
-# Verify keymaps on locale change
-PACKAGECONFIG[xkbcommon] = "-Dxkbcommon=true,-Dxkbcommon=false,libxkbcommon"
-PACKAGECONFIG[xz] = "-Dxz=true,-Dxz=false,xz"
-PACKAGECONFIG[zlib] = "-Dzlib=true,-Dzlib=false,zlib"
-
-# Helper variables to clarify locations.  This mirrors the logic in systemd's
-# build system.
-rootprefix ?= "${root_prefix}"
-rootlibdir ?= "${base_libdir}"
-rootlibexecdir = "${rootprefix}/lib"
-
-# This links udev statically with systemd helper library.
-# Otherwise udev package would depend on systemd package (which has the needed shared library),
-# and always pull it into images.
-EXTRA_OEMESON += "-Dlink-udev-shared=false"
-
-EXTRA_OEMESON += "-Dnobody-user=nobody \
-                  -Dnobody-group=nobody \
-                  -Drootlibdir=${rootlibdir} \
-                  -Drootprefix=${rootprefix} \
-                  -Ddefault-locale=C \
-                  -Dmode=release \
-                  -Dsystem-alloc-uid-min=101 \
-                  -Dsystem-uid-max=999 \
-                  -Dsystem-alloc-gid-min=101 \
-                  -Dsystem-gid-max=999 \
-                  "
-
-# Hardcode target binary paths to avoid using paths from sysroot
-EXTRA_OEMESON += "-Dkexec-path=${sbindir}/kexec \
-                  -Dkmod-path=${base_bindir}/kmod \
-                  -Dmount-path=${base_bindir}/mount \
-                  -Dquotacheck-path=${sbindir}/quotacheck \
-                  -Dquotaon-path=${sbindir}/quotaon \
-                  -Dsulogin-path=${base_sbindir}/sulogin \
-                  -Dnologin-path=${base_sbindir}/nologin \
-                  -Dumount-path=${base_bindir}/umount"
-
-do_install() {
-	meson_do_install
-	install -d ${D}/${base_sbindir}
-	if ${@bb.utils.contains('PACKAGECONFIG', 'serial-getty-generator', 'false', 'true', d)}; then
-		# Provided by a separate recipe
-		rm ${D}${systemd_unitdir}/system/serial-getty* -f
-	fi
-
-	# Provide support for initramfs
-	[ ! -e ${D}/init ] && ln -s ${rootlibexecdir}/systemd/systemd ${D}/init
-	[ ! -e ${D}/${base_sbindir}/udevd ] && ln -s ${rootlibexecdir}/systemd/systemd-udevd ${D}/${base_sbindir}/udevd
-
-	install -d ${D}${sysconfdir}/udev/rules.d/
-	install -d ${D}${sysconfdir}/tmpfiles.d
-	for rule in $(find ${WORKDIR} -maxdepth 1 -type f -name "*.rules"); do
-		install -m 0644 $rule ${D}${sysconfdir}/udev/rules.d/
-	done
-
-	install -m 0644 ${WORKDIR}/00-create-volatile.conf ${D}${sysconfdir}/tmpfiles.d/
-
-	if ${@bb.utils.contains('DISTRO_FEATURES','sysvinit','true','false',d)}; then
-		install -d ${D}${sysconfdir}/init.d
-		install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/systemd-udevd
-		sed -i s%@UDEVD@%${rootlibexecdir}/systemd/systemd-udevd% ${D}${sysconfdir}/init.d/systemd-udevd
-		install -Dm 0755 ${S}/src/systemctl/systemd-sysv-install.SKELETON ${D}${systemd_unitdir}/systemd-sysv-install
-	fi
-
-	chown root:systemd-journal ${D}/${localstatedir}/log/journal
-
-	# Delete journal README, as log can be symlinked inside volatile.
-	rm -f ${D}/${localstatedir}/log/README
-
-	# journal-remote creates this at start
-	rm -rf ${D}/${localstatedir}/log/journal/remote
-
-	install -d ${D}${systemd_unitdir}/system/graphical.target.wants
-	install -d ${D}${systemd_unitdir}/system/multi-user.target.wants
-	install -d ${D}${systemd_unitdir}/system/poweroff.target.wants
-	install -d ${D}${systemd_unitdir}/system/reboot.target.wants
-	install -d ${D}${systemd_unitdir}/system/rescue.target.wants
-
-	# Create symlinks for systemd-update-utmp-runlevel.service
-	if ${@bb.utils.contains('PACKAGECONFIG', 'utmp', 'true', 'false', d)}; then
-		ln -sf ../systemd-update-utmp-runlevel.service ${D}${systemd_unitdir}/system/graphical.target.wants/systemd-update-utmp-runlevel.service
-		ln -sf ../systemd-update-utmp-runlevel.service ${D}${systemd_unitdir}/system/multi-user.target.wants/systemd-update-utmp-runlevel.service
-		ln -sf ../systemd-update-utmp-runlevel.service ${D}${systemd_unitdir}/system/poweroff.target.wants/systemd-update-utmp-runlevel.service
-		ln -sf ../systemd-update-utmp-runlevel.service ${D}${systemd_unitdir}/system/reboot.target.wants/systemd-update-utmp-runlevel.service
-		ln -sf ../systemd-update-utmp-runlevel.service ${D}${systemd_unitdir}/system/rescue.target.wants/systemd-update-utmp-runlevel.service
-	fi
-
-	# this file is needed to exist if networkd is disabled but timesyncd is still in use since timesyncd checks it
-	# for existence else it fails
-	if [ -s ${D}${exec_prefix}/lib/tmpfiles.d/systemd.conf ]; then
-		${@bb.utils.contains('PACKAGECONFIG', 'networkd', ':', 'sed -i -e "\$ad /run/systemd/netif/links 0755 root root -" ${D}${exec_prefix}/lib/tmpfiles.d/systemd.conf', d)}
-	fi
-	if ! ${@bb.utils.contains('PACKAGECONFIG', 'resolved', 'true', 'false', d)}; then
-		echo 'L! ${sysconfdir}/resolv.conf - - - - ../run/systemd/resolve/resolv.conf' >>${D}${exec_prefix}/lib/tmpfiles.d/etc.conf
-		echo 'd /run/systemd/resolve 0755 root root -' >>${D}${exec_prefix}/lib/tmpfiles.d/systemd.conf
-		echo 'f /run/systemd/resolve/resolv.conf 0644 root root' >>${D}${exec_prefix}/lib/tmpfiles.d/systemd.conf
-		ln -s ../run/systemd/resolve/resolv.conf ${D}${sysconfdir}/resolv-conf.systemd
-	else
-		sed -i -e "s%^L! /etc/resolv.conf.*$%L! /etc/resolv.conf - - - - ../run/systemd/resolve/resolv.conf%g" ${D}${exec_prefix}/lib/tmpfiles.d/etc.conf
-		ln -s ../run/systemd/resolve/resolv.conf ${D}${sysconfdir}/resolv-conf.systemd
-	fi
-	if ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'false', 'true', d)}; then
-		rm ${D}${exec_prefix}/lib/tmpfiles.d/x11.conf
-		rm -r ${D}${sysconfdir}/X11
-	fi
-
-	# If polkit is setup fixup permissions and ownership
-	if ${@bb.utils.contains('PACKAGECONFIG', 'polkit', 'true', 'false', d)}; then
-		if [ -d ${D}${datadir}/polkit-1/rules.d ]; then
-			chmod 700 ${D}${datadir}/polkit-1/rules.d
-			chown polkitd:root ${D}${datadir}/polkit-1/rules.d
-		fi
-	fi
-
-	# If polkit is not available and a fallback was requested, install a drop-in that allows networkd to
-	# request hostname changes via DBUS without elevating its privileges
-	if ${@bb.utils.contains('PACKAGECONFIG', 'polkit_hostnamed_fallback', 'true', 'false', d)}; then
-		install -d ${D}${systemd_unitdir}/system/systemd-hostnamed.service.d/
-		install -m 0644 ${WORKDIR}/00-hostnamed-network-user.conf ${D}${systemd_unitdir}/system/systemd-hostnamed.service.d/
-		install -d ${D}${datadir}/dbus-1/system.d/
-		install -m 0644 ${WORKDIR}/org.freedesktop.hostname1_no_polkit.conf ${D}${datadir}/dbus-1/system.d/
-	fi
-
-	# create link for existing udev rules
-	ln -s ${base_bindir}/udevadm ${D}${base_sbindir}/udevadm
-
-	# duplicate udevadm for postinst script
-	install -d ${D}${libexecdir}
-	ln ${D}${base_bindir}/udevadm ${D}${libexecdir}/${MLPREFIX}udevadm
-
-	# install default policy for presets
-	# https://www.freedesktop.org/wiki/Software/systemd/Preset/#howto
-	install -Dm 0644 ${WORKDIR}/99-default.preset ${D}${systemd_unitdir}/system-preset/99-default.preset
-
-	# add a profile fragment to disable systemd pager with busybox less
-	install -Dm 0644 ${WORKDIR}/systemd-pager.sh ${D}${sysconfdir}/profile.d/systemd-pager.sh
-}
-
-python populate_packages_prepend (){
-    systemdlibdir = d.getVar("rootlibdir")
-    do_split_packages(d, systemdlibdir, '^lib(.*)\.so\.*', 'lib%s', 'Systemd %s library', extra_depends='', allow_links=True)
-}
-PACKAGES_DYNAMIC += "^lib(udev|systemd|nss).*"
-
-PACKAGE_BEFORE_PN = "\
-    ${PN}-gui \
-    ${PN}-vconsole-setup \
-    ${PN}-initramfs \
-    ${PN}-analyze \
-    ${PN}-kernel-install \
-    ${PN}-rpm-macros \
-    ${PN}-binfmt \
-    ${PN}-zsh-completion \
-    ${PN}-container \
-    ${PN}-journal-gatewayd \
-    ${PN}-journal-upload \
-    ${PN}-journal-remote \
-    ${PN}-extra-utils \
-    ${PN}-udev-rules \
-    udev \
-    udev-hwdb \
-"
-
-SUMMARY_${PN}-container = "Tools for containers and VMs"
-DESCRIPTION_${PN}-container = "Systemd tools to spawn and manage containers and virtual machines."
-
-SUMMARY_${PN}-journal-gatewayd = "HTTP server for journal events"
-DESCRIPTION_${PN}-journal-gatewayd = "systemd-journal-gatewayd serves journal events over the network. Clients must connect using HTTP. The server listens on port 19531 by default."
-
-SUMMARY_${PN}-journal-upload = "Send journal messages over the network"
-DESCRIPTION_${PN}-journal-upload = "systemd-journal-upload uploads journal entries to a specified URL."
-
-SUMMARY_${PN}-journal-remote = "Receive journal messages over the network"
-DESCRIPTION_${PN}-journal-remote = "systemd-journal-remote is a command to receive serialized journal events and store them to journal files."
-
-SYSTEMD_PACKAGES = "${@bb.utils.contains('PACKAGECONFIG', 'binfmt', '${PN}-binfmt', '', d)} \
-                    ${@bb.utils.contains('PACKAGECONFIG', 'microhttpd', '${PN}-journal-gatewayd', '', d)} \
-                    ${@bb.utils.contains('PACKAGECONFIG', 'microhttpd', '${PN}-journal-remote', '', d)} \
-                    ${@bb.utils.contains('PACKAGECONFIG', 'journal-upload', '${PN}-journal-upload', '', d)} \
-"
-SYSTEMD_SERVICE_${PN}-binfmt = "systemd-binfmt.service"
-
-USERADD_PACKAGES = "${PN} ${PN}-extra-utils \
-                    ${@bb.utils.contains('PACKAGECONFIG', 'microhttpd', '${PN}-journal-gateway', '', d)} \
-                    ${@bb.utils.contains('PACKAGECONFIG', 'microhttpd', '${PN}-journal-remote', '', d)} \
-                    ${@bb.utils.contains('PACKAGECONFIG', 'journal-upload', '${PN}-journal-upload', '', d)} \
-"
-GROUPADD_PARAM_${PN} = "-r systemd-journal;"
-GROUPADD_PARAM_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'polkit_hostnamed_fallback', '-r systemd-hostname;', '', d)}"
-USERADD_PARAM_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'coredump', '--system -d / -M --shell /sbin/nologin systemd-coredump;', '', d)}"
-USERADD_PARAM_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'networkd', '--system -d / -M --shell /sbin/nologin systemd-network;', '', d)}"
-USERADD_PARAM_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'polkit', '--system --no-create-home --user-group --home-dir ${sysconfdir}/polkit-1 polkitd;', '', d)}"
-USERADD_PARAM_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'resolved', '--system -d / -M --shell /sbin/nologin systemd-resolve;', '', d)}"
-USERADD_PARAM_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'timesyncd', '--system -d / -M --shell /sbin/nologin systemd-timesync;', '', d)}"
-USERADD_PARAM_${PN}-extra-utils = "--system -d / -M --shell /sbin/nologin systemd-bus-proxy"
-USERADD_PARAM_${PN}-journal-gateway = "--system -d / -M --shell /sbin/nologin systemd-journal-gateway"
-USERADD_PARAM_${PN}-journal-remote = "--system -d / -M --shell /sbin/nologin systemd-journal-remote"
-USERADD_PARAM_${PN}-journal-upload = "--system -d / -M --shell /sbin/nologin systemd-journal-upload"
-
-FILES_${PN}-analyze = "${bindir}/systemd-analyze"
-
-FILES_${PN}-initramfs = "/init"
-RDEPENDS_${PN}-initramfs = "${PN}"
-
-FILES_${PN}-gui = "${bindir}/systemadm"
-
-FILES_${PN}-vconsole-setup = "${rootlibexecdir}/systemd/systemd-vconsole-setup \
-                              ${systemd_unitdir}/system/systemd-vconsole-setup.service \
-                              ${systemd_unitdir}/system/sysinit.target.wants/systemd-vconsole-setup.service"
-
-RDEPENDS_${PN}-kernel-install += "bash"
-FILES_${PN}-kernel-install = "${bindir}/kernel-install \
-                              ${sysconfdir}/kernel/ \
-                              ${exec_prefix}/lib/kernel \
-                             "
-FILES_${PN}-rpm-macros = "${exec_prefix}/lib/rpm \
-                         "
-
-FILES_${PN}-zsh-completion = "${datadir}/zsh/site-functions"
-
-FILES_${PN}-binfmt = "${sysconfdir}/binfmt.d/ \
-                      ${exec_prefix}/lib/binfmt.d \
-                      ${rootlibexecdir}/systemd/systemd-binfmt \
-                      ${systemd_unitdir}/system/proc-sys-fs-binfmt_misc.* \
-                      ${systemd_unitdir}/system/systemd-binfmt.service"
-RRECOMMENDS_${PN}-binfmt = "kernel-module-binfmt-misc"
-
-RRECOMMENDS_${PN}-vconsole-setup = "kbd kbd-consolefonts kbd-keymaps"
-
-
-FILES_${PN}-journal-gatewayd = "${rootlibexecdir}/systemd/systemd-journal-gatewayd \
-                                ${systemd_system_unitdir}/systemd-journal-gatewayd.service \
-                                ${systemd_system_unitdir}/systemd-journal-gatewayd.socket \
-                                ${systemd_system_unitdir}/sockets.target.wants/systemd-journal-gatewayd.socket \
-                                ${datadir}/systemd/gatewayd/browse.html \
-                               "
-SYSTEMD_SERVICE_${PN}-journal-gatewayd = "systemd-journal-gatewayd.socket"
-
-FILES_${PN}-journal-upload = "${rootlibexecdir}/systemd/systemd-journal-upload \
-                              ${systemd_system_unitdir}/systemd-journal-upload.service \
-                              ${sysconfdir}/systemd/journal-upload.conf \
-                             "
-SYSTEMD_SERVICE_${PN}-journal-upload = "systemd-journal-upload.service"
-
-FILES_${PN}-journal-remote = "${rootlibexecdir}/systemd/systemd-journal-remote \
-                              ${sysconfdir}/systemd/journal-remote.conf \
-                              ${systemd_system_unitdir}/systemd-journal-remote.service \
-                              ${systemd_system_unitdir}/systemd-journal-remote.socket \
-                             "
-SYSTEMD_SERVICE_${PN}-journal-remote = "systemd-journal-remote.socket"
-
-
-FILES_${PN}-container = "${sysconfdir}/dbus-1/system.d/org.freedesktop.import1.conf \
-                         ${sysconfdir}/dbus-1/system.d/org.freedesktop.machine1.conf \
-                         ${sysconfdir}/systemd/system/multi-user.target.wants/machines.target \
-                         ${base_bindir}/machinectl \
-                         ${bindir}/systemd-nspawn \
-                         ${nonarch_libdir}/systemd/import-pubring.gpg \
-                         ${systemd_system_unitdir}/busnames.target.wants/org.freedesktop.import1.busname \
-                         ${systemd_system_unitdir}/busnames.target.wants/org.freedesktop.machine1.busname \
-                         ${systemd_system_unitdir}/local-fs.target.wants/var-lib-machines.mount \
-                         ${systemd_system_unitdir}/machines.target.wants/var-lib-machines.mount \
-                         ${systemd_system_unitdir}/remote-fs.target.wants/var-lib-machines.mount \
-                         ${systemd_system_unitdir}/machine.slice \
-                         ${systemd_system_unitdir}/machines.target \
-                         ${systemd_system_unitdir}/org.freedesktop.import1.busname \
-                         ${systemd_system_unitdir}/org.freedesktop.machine1.busname \
-                         ${systemd_system_unitdir}/systemd-importd.service \
-                         ${systemd_system_unitdir}/systemd-machined.service \
-                         ${systemd_system_unitdir}/dbus-org.freedesktop.machine1.service \
-                         ${systemd_system_unitdir}/var-lib-machines.mount \
-                         ${rootlibexecdir}/systemd/systemd-import \
-                         ${rootlibexecdir}/systemd/systemd-importd \
-                         ${rootlibexecdir}/systemd/systemd-machined \
-                         ${rootlibexecdir}/systemd/systemd-pull \
-                         ${exec_prefix}/lib/tmpfiles.d/systemd-nspawn.conf \
-                         ${systemd_system_unitdir}/systemd-nspawn@.service \
-                         ${libdir}/libnss_mymachines.so.2 \
-                         ${datadir}/dbus-1/system-services/org.freedesktop.import1.service \
-                         ${datadir}/dbus-1/system-services/org.freedesktop.machine1.service \
-                         ${datadir}/dbus-1/system.d/org.freedesktop.import1.conf \
-                         ${datadir}/dbus-1/system.d/org.freedesktop.machine1.conf \
-                         ${datadir}/polkit-1/actions/org.freedesktop.import1.policy \
-                         ${datadir}/polkit-1/actions/org.freedesktop.machine1.policy \
-                        "
-
-RRECOMMENDS_${PN}-container += "\
-                         ${PN}-journal-upload \
-                         ${PN}-journal-remote \
-                         ${PN}-journal-gatewayd \
-                        "
-
-FILES_${PN}-extra-utils = "\
-                        ${base_bindir}/systemd-escape \
-                        ${base_bindir}/systemd-inhibit \
-                        ${bindir}/systemd-detect-virt \
-                        ${bindir}/systemd-dissect \
-                        ${bindir}/systemd-path \
-                        ${bindir}/systemd-run \
-                        ${bindir}/systemd-cat \
-                        ${bindir}/systemd-delta \
-                        ${bindir}/systemd-cgls \
-                        ${bindir}/systemd-cgtop \
-                        ${bindir}/systemd-stdio-bridge \
-                        ${base_bindir}/systemd-ask-password \
-                        ${base_bindir}/systemd-tty-ask-password-agent \
-                        ${systemd_unitdir}/system/systemd-ask-password-console.path \
-                        ${systemd_unitdir}/system/systemd-ask-password-console.service \
-                        ${systemd_unitdir}/system/systemd-ask-password-wall.path \
-                        ${systemd_unitdir}/system/systemd-ask-password-wall.service \
-                        ${systemd_unitdir}/system/sysinit.target.wants/systemd-ask-password-console.path \
-                        ${systemd_unitdir}/system/sysinit.target.wants/systemd-ask-password-wall.path \
-                        ${systemd_unitdir}/system/multi-user.target.wants/systemd-ask-password-wall.path \
-                        ${rootlibexecdir}/systemd/systemd-resolve-host \
-                        ${rootlibexecdir}/systemd/systemd-ac-power \
-                        ${rootlibexecdir}/systemd/systemd-activate \
-                        ${rootlibexecdir}/systemd/systemd-bus-proxyd \
-                        ${systemd_unitdir}/system/systemd-bus-proxyd.service \
-                        ${systemd_unitdir}/system/systemd-bus-proxyd.socket \
-                        ${rootlibexecdir}/systemd/systemd-socket-proxyd \
-                        ${rootlibexecdir}/systemd/systemd-reply-password \
-                        ${rootlibexecdir}/systemd/systemd-sleep \
-                        ${rootlibexecdir}/systemd/system-sleep \
-                        ${systemd_unitdir}/system/systemd-hibernate.service \
-                        ${systemd_unitdir}/system/systemd-hybrid-sleep.service \
-                        ${systemd_unitdir}/system/systemd-suspend.service \
-                        ${systemd_unitdir}/system/sleep.target \
-                        ${rootlibexecdir}/systemd/systemd-initctl \
-                        ${systemd_unitdir}/system/systemd-initctl.service \
-                        ${systemd_unitdir}/system/systemd-initctl.socket \
-                        ${systemd_unitdir}/system/sockets.target.wants/systemd-initctl.socket \
-                        ${rootlibexecdir}/systemd/system-generators/systemd-gpt-auto-generator \
-                        ${rootlibexecdir}/systemd/systemd-cgroups-agent \
-"
-
-FILES_${PN}-udev-rules = "\
-                        ${rootlibexecdir}/udev/rules.d/70-uaccess.rules \
-                        ${rootlibexecdir}/udev/rules.d/71-seat.rules \
-                        ${rootlibexecdir}/udev/rules.d/73-seat-late.rules \
-                        ${rootlibexecdir}/udev/rules.d/99-systemd.rules \
-"
-
-CONFFILES_${PN} = "${sysconfdir}/systemd/coredump.conf \
-	${sysconfdir}/systemd/journald.conf \
-	${sysconfdir}/systemd/logind.conf \
-	${sysconfdir}/systemd/networkd.conf \
-	${sysconfdir}/systemd/pstore.conf \
-	${sysconfdir}/systemd/resolved.conf \
-	${sysconfdir}/systemd/sleep.conf \
-	${sysconfdir}/systemd/system.conf \
-	${sysconfdir}/systemd/timesyncd.conf \
-	${sysconfdir}/systemd/user.conf \
-"
-
-FILES_${PN} = " ${base_bindir}/* \
-                ${base_sbindir}/shutdown \
-                ${base_sbindir}/halt \
-                ${base_sbindir}/poweroff \
-                ${base_sbindir}/runlevel \
-                ${base_sbindir}/telinit \
-                ${base_sbindir}/resolvconf \
-                ${base_sbindir}/reboot \
-                ${base_sbindir}/init \
-                ${datadir}/dbus-1/services \
-                ${datadir}/dbus-1/system-services \
-                ${datadir}/polkit-1 \
-                ${datadir}/${BPN} \
-                ${datadir}/factory \
-                ${sysconfdir}/dbus-1/ \
-                ${sysconfdir}/modules-load.d/ \
-                ${sysconfdir}/pam.d/ \
-                ${sysconfdir}/profile.d/ \
-                ${sysconfdir}/sysctl.d/ \
-                ${sysconfdir}/systemd/ \
-                ${sysconfdir}/tmpfiles.d/ \
-                ${sysconfdir}/xdg/ \
-                ${sysconfdir}/init.d/README \
-                ${sysconfdir}/resolv-conf.systemd \
-                ${sysconfdir}/X11/xinit/xinitrc.d/* \
-                ${rootlibexecdir}/systemd/* \
-                ${libdir}/pam.d \
-                ${nonarch_libdir}/pam.d \
-                ${systemd_unitdir}/* \
-                ${base_libdir}/security/*.so \
-                /cgroup \
-                ${bindir}/systemd* \
-                ${bindir}/busctl \
-                ${bindir}/coredumpctl \
-                ${bindir}/localectl \
-                ${bindir}/hostnamectl \
-                ${bindir}/resolvectl \
-                ${bindir}/timedatectl \
-                ${bindir}/bootctl \
-                ${bindir}/oomctl \
-                ${exec_prefix}/lib/tmpfiles.d/*.conf \
-                ${exec_prefix}/lib/systemd \
-                ${exec_prefix}/lib/modules-load.d \
-                ${exec_prefix}/lib/sysctl.d \
-                ${exec_prefix}/lib/sysusers.d \
-                ${exec_prefix}/lib/environment.d \
-                ${localstatedir} \
-                ${rootlibexecdir}/modprobe.d/systemd.conf \
-                ${datadir}/dbus-1/system.d/org.freedesktop.timedate1.conf \
-                ${datadir}/dbus-1/system.d/org.freedesktop.locale1.conf \
-                ${datadir}/dbus-1/system.d/org.freedesktop.network1.conf \
-                ${datadir}/dbus-1/system.d/org.freedesktop.resolve1.conf \
-                ${datadir}/dbus-1/system.d/org.freedesktop.systemd1.conf \
-                ${@bb.utils.contains('PACKAGECONFIG', 'polkit_hostnamed_fallback', '${datadir}/dbus-1/system.d/org.freedesktop.hostname1_no_polkit.conf', '', d)} \
-                ${datadir}/dbus-1/system.d/org.freedesktop.hostname1.conf \
-                ${datadir}/dbus-1/system.d/org.freedesktop.login1.conf \
-                ${datadir}/dbus-1/system.d/org.freedesktop.timesync1.conf \
-                ${datadir}/dbus-1/system.d/org.freedesktop.portable1.conf \
-                ${datadir}/dbus-1/system.d/org.freedesktop.oom1.conf \
-               "
-
-FILES_${PN}-dev += "${base_libdir}/security/*.la ${datadir}/dbus-1/interfaces/ ${sysconfdir}/rpm/macros.systemd"
-
-RDEPENDS_${PN} += "kmod dbus util-linux-mount util-linux-umount udev (= ${EXTENDPKGV}) systemd-udev-rules util-linux-agetty util-linux-fsck"
-RDEPENDS_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'serial-getty-generator', '', 'systemd-serialgetty', d)}"
-RDEPENDS_${PN} += "volatile-binds"
-
-RRECOMMENDS_${PN} += "systemd-extra-utils \
-                      udev-hwdb \
-                      e2fsprogs-e2fsck \
-                      kernel-module-autofs4 kernel-module-unix kernel-module-ipv6 kernel-module-sch-fq-codel \
-                      os-release \
-                      systemd-conf \
-"
-
-INSANE_SKIP_${PN} += "dev-so libdir"
-INSANE_SKIP_${PN}-dbg += "libdir"
-INSANE_SKIP_${PN}-doc += " libdir"
-
-RPROVIDES_udev = "hotplug"
-
-RDEPENDS_udev-hwdb += "udev"
-
-FILES_udev += "${base_sbindir}/udevd \
-               ${rootlibexecdir}/systemd/network/99-default.link \
-               ${rootlibexecdir}/systemd/systemd-udevd \
-               ${rootlibexecdir}/udev/accelerometer \
-               ${rootlibexecdir}/udev/ata_id \
-               ${rootlibexecdir}/udev/cdrom_id \
-               ${rootlibexecdir}/udev/collect \
-               ${rootlibexecdir}/udev/fido_id \
-               ${rootlibexecdir}/udev/findkeyboards \
-               ${rootlibexecdir}/udev/keyboard-force-release.sh \
-               ${rootlibexecdir}/udev/keymap \
-               ${rootlibexecdir}/udev/mtd_probe \
-               ${rootlibexecdir}/udev/scsi_id \
-               ${rootlibexecdir}/udev/v4l_id \
-               ${rootlibexecdir}/udev/keymaps \
-               ${rootlibexecdir}/udev/rules.d/50-udev-default.rules \
-               ${rootlibexecdir}/udev/rules.d/60-autosuspend.rules \
-               ${rootlibexecdir}/udev/rules.d/60-autosuspend-chromiumos.rules \
-               ${rootlibexecdir}/udev/rules.d/60-block.rules \
-               ${rootlibexecdir}/udev/rules.d/60-cdrom_id.rules \
-               ${rootlibexecdir}/udev/rules.d/60-drm.rules \
-               ${rootlibexecdir}/udev/rules.d/60-evdev.rules \
-               ${rootlibexecdir}/udev/rules.d/60-fido-id.rules \
-               ${rootlibexecdir}/udev/rules.d/60-input-id.rules \
-               ${rootlibexecdir}/udev/rules.d/60-persistent-alsa.rules \
-               ${rootlibexecdir}/udev/rules.d/60-persistent-input.rules \
-               ${rootlibexecdir}/udev/rules.d/60-persistent-storage.rules \
-               ${rootlibexecdir}/udev/rules.d/60-persistent-storage-tape.rules \
-               ${rootlibexecdir}/udev/rules.d/60-persistent-v4l.rules \
-               ${rootlibexecdir}/udev/rules.d/60-sensor.rules \
-               ${rootlibexecdir}/udev/rules.d/60-serial.rules \
-               ${rootlibexecdir}/udev/rules.d/61-autosuspend-manual.rules \
-               ${rootlibexecdir}/udev/rules.d/64-btrfs.rules \
-               ${rootlibexecdir}/udev/rules.d/70-joystick.rules \
-               ${rootlibexecdir}/udev/rules.d/70-mouse.rules \
-               ${rootlibexecdir}/udev/rules.d/70-power-switch.rules \
-               ${rootlibexecdir}/udev/rules.d/70-touchpad.rules \
-               ${rootlibexecdir}/udev/rules.d/75-net-description.rules \
-               ${rootlibexecdir}/udev/rules.d/75-probe_mtd.rules \
-               ${rootlibexecdir}/udev/rules.d/78-sound-card.rules \
-               ${rootlibexecdir}/udev/rules.d/80-drivers.rules \
-               ${rootlibexecdir}/udev/rules.d/80-net-setup-link.rules \
-               ${rootlibexecdir}/udev/rules.d/90-vconsole.rules \
-               ${sysconfdir}/udev \
-               ${sysconfdir}/init.d/systemd-udevd \
-               ${systemd_unitdir}/system/*udev* \
-               ${systemd_unitdir}/system/*.wants/*udev* \
-               ${base_bindir}/systemd-hwdb \
-               ${base_bindir}/udevadm \
-               ${base_sbindir}/udevadm \
-               ${libexecdir}/${MLPREFIX}udevadm \
-               ${datadir}/bash-completion/completions/udevadm \
-               ${systemd_unitdir}/system/systemd-hwdb-update.service \
-              "
-
-FILES_udev-hwdb = "${rootlibexecdir}/udev/hwdb.d \
-                   "
-
-RCONFLICTS_${PN} = "tiny-init ${@bb.utils.contains('PACKAGECONFIG', 'resolved', 'resolvconf', '', d)}"
-
-INITSCRIPT_PACKAGES = "udev"
-INITSCRIPT_NAME_udev = "systemd-udevd"
-INITSCRIPT_PARAMS_udev = "start 03 S ."
-
-python __anonymous() {
-    if not bb.utils.contains('DISTRO_FEATURES', 'sysvinit', True, False, d):
-        d.setVar("INHIBIT_UPDATERCD_BBCLASS", "1")
-}
-
-python do_warn_musl() {
-    if d.getVar('TCLIBC') == "musl":
-        bb.warn("Using systemd with musl is not recommended since it is not supported upstream and some patches are known to be problematic.")
-}
-addtask warn_musl before do_configure
-
-ALTERNATIVE_${PN} = "halt reboot shutdown poweroff runlevel ${@bb.utils.contains('PACKAGECONFIG', 'resolved', 'resolv-conf', '', d)}"
-
-ALTERNATIVE_TARGET[resolv-conf] = "${sysconfdir}/resolv-conf.systemd"
-ALTERNATIVE_LINK_NAME[resolv-conf] = "${sysconfdir}/resolv.conf"
-ALTERNATIVE_PRIORITY[resolv-conf] ?= "50"
-
-ALTERNATIVE_TARGET[halt] = "${base_bindir}/systemctl"
-ALTERNATIVE_LINK_NAME[halt] = "${base_sbindir}/halt"
-ALTERNATIVE_PRIORITY[halt] ?= "300"
-
-ALTERNATIVE_TARGET[reboot] = "${base_bindir}/systemctl"
-ALTERNATIVE_LINK_NAME[reboot] = "${base_sbindir}/reboot"
-ALTERNATIVE_PRIORITY[reboot] ?= "300"
-
-ALTERNATIVE_TARGET[shutdown] = "${base_bindir}/systemctl"
-ALTERNATIVE_LINK_NAME[shutdown] = "${base_sbindir}/shutdown"
-ALTERNATIVE_PRIORITY[shutdown] ?= "300"
-
-ALTERNATIVE_TARGET[poweroff] = "${base_bindir}/systemctl"
-ALTERNATIVE_LINK_NAME[poweroff] = "${base_sbindir}/poweroff"
-ALTERNATIVE_PRIORITY[poweroff] ?= "300"
-
-ALTERNATIVE_TARGET[runlevel] = "${base_bindir}/systemctl"
-ALTERNATIVE_LINK_NAME[runlevel] = "${base_sbindir}/runlevel"
-ALTERNATIVE_PRIORITY[runlevel] ?= "300"
-
-pkg_postinst_${PN}_libc-glibc () {
-	sed -e '/^hosts:/s/\s*\//' \
-		-e 's/\(^hosts:.*\)\(\\)\(.*\)\(\\)\(.*\)/\1\2 myhostname \3\4\5/' \
-		-i $D${sysconfdir}/nsswitch.conf
-}
-
-pkg_prerm_${PN}_libc-glibc () {
-	sed -e '/^hosts:/s/\s*\//' \
-		-e '/^hosts:/s/\s*myhostname//' \
-		-i $D${sysconfdir}/nsswitch.conf
-}
-
-PACKAGE_WRITE_DEPS += "qemu-native"
-pkg_postinst_udev-hwdb () {
-	if test -n "$D"; then
-		$INTERCEPT_DIR/postinst_intercept update_udev_hwdb ${PKG} mlprefix=${MLPREFIX} binprefix=${MLPREFIX} rootlibexecdir="${rootlibexecdir}" PREFERRED_PROVIDER_udev="${PREFERRED_PROVIDER_udev}"
-	else
-		udevadm hwdb --update
-	fi
-}
-
-pkg_prerm_udev-hwdb () {
-	rm -f $D${sysconfdir}/udev/hwdb.bin
-}
diff --git a/poky/meta/recipes-core/systemd/systemd_247.4.bb b/poky/meta/recipes-core/systemd/systemd_247.4.bb
new file mode 100644
index 000000000..cd67e65ab
--- /dev/null
+++ b/poky/meta/recipes-core/systemd/systemd_247.4.bb
@@ -0,0 +1,767 @@
+require systemd.inc
+
+PROVIDES = "udev"
+
+PE = "1"
+
+DEPENDS = "intltool-native gperf-native libcap util-linux"
+
+SECTION = "base/shell"
+
+inherit useradd pkgconfig meson perlnative update-rc.d update-alternatives qemu systemd gettext bash-completion manpages features_check
+
+# As this recipe builds udev, respect systemd being in DISTRO_FEATURES so
+# that we don't build both udev and systemd in world builds.
+REQUIRED_DISTRO_FEATURES = "systemd"
+
+SRC_URI += "file://touchscreen.rules \
+           file://00-create-volatile.conf \
+           ${@bb.utils.contains('PACKAGECONFIG', 'polkit_hostnamed_fallback', 'file://org.freedesktop.hostname1_no_polkit.conf', '', d)} \
+           ${@bb.utils.contains('PACKAGECONFIG', 'polkit_hostnamed_fallback', 'file://00-hostnamed-network-user.conf', '', d)} \
+           file://init \
+           file://99-default.preset \
+           file://systemd-pager.sh \
+           file://0001-binfmt-Don-t-install-dependency-links-at-install-tim.patch \
+           file://0003-implment-systemd-sysv-install-for-OE.patch \
+           file://0001-systemd.pc.in-use-ROOTPREFIX-without-suffixed-slash.patch \
+           file://0001-logind-Restore-chvt-as-non-root-user-without-polkit.patch \
+           file://0027-proc-dont-trigger-mount-error-with-invalid-options-o.patch \
+           file://0001-analyze-resolve-executable-path-if-it-is-relative.patch \
+           "
+
+# patches needed by musl
+SRC_URI_append_libc-musl = " ${SRC_URI_MUSL}"
+SRC_URI_MUSL = "\
+               file://0002-don-t-use-glibc-specific-qsort_r.patch \
+               file://0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch \
+               file://0004-add-fallback-parse_printf_format-implementation.patch \
+               file://0005-src-basic-missing.h-check-for-missing-strndupa.patch \
+               file://0006-Include-netinet-if_ether.h.patch \
+               file://0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch \
+               file://0008-add-missing-FTW_-macros-for-musl.patch \
+               file://0009-fix-missing-of-__register_atfork-for-non-glibc-build.patch \
+               file://0010-Use-uintmax_t-for-handling-rlim_t.patch \
+               file://0011-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch \
+               file://0012-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch \
+               file://0013-Define-glibc-compatible-basename-for-non-glibc-syste.patch \
+               file://0014-Do-not-disable-buffering-when-writing-to-oom_score_a.patch \
+               file://0015-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch \
+               file://0016-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch \
+               file://0017-missing_type.h-add-__compar_d_fn_t-definition.patch \
+               file://0018-avoid-redefinition-of-prctl_mm_map-structure.patch \
+               file://0019-Handle-missing-LOCK_EX.patch \
+               file://0020-Fix-incompatible-pointer-type-struct-sockaddr_un.patch \
+               file://0021-test-json.c-define-M_PIl.patch \
+               file://0022-do-not-disable-buffer-in-writing-files.patch \
+               file://0025-Handle-__cpu_mask-usage.patch \
+               file://0026-Handle-missing-gshadow.patch \
+               "
+
+PAM_PLUGINS = " \
+    pam-plugin-unix \
+    pam-plugin-loginuid \
+    pam-plugin-keyinit \
+"
+
+PACKAGECONFIG ??= " \
+    ${@bb.utils.filter('DISTRO_FEATURES', 'acl audit efi ldconfig pam selinux smack usrmerge polkit', d)} \
+    ${@bb.utils.contains('DISTRO_FEATURES', 'wifi', 'rfkill', '', d)} \
+    ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'xkbcommon', '', d)} \
+    backlight \
+    binfmt \
+    gshadow \
+    hibernate \
+    hostnamed \
+    idn \
+    ima \
+    kmod \
+    localed \
+    logind \
+    machined \
+    myhostname \
+    networkd \
+    nss \
+    nss-mymachines \
+    nss-resolve \
+    quotacheck \
+    randomseed \
+    resolved \
+    set-time-epoch \
+    sysusers \
+    sysvinit \
+    timedated \
+    timesyncd \
+    userdb \
+    utmp \
+    vconsole \
+    xz \
+"
+
+PACKAGECONFIG_remove_libc-musl = " \
+    gshadow \
+    idn \
+    localed \
+    myhostname \
+    nss \
+    nss-mymachines \
+    nss-resolve \
+    sysusers \
+    userdb \
+    utmp \
+"
+
+CFLAGS_append_libc-musl = " -D__UAPI_DEF_ETHHDR=0 "
+
+# Some of the dependencies are weak-style recommends - if not available at runtime,
+# systemd won't fail but the library-related feature will be skipped with a warning.
+
+# Use the upstream systemd serial-getty@.service and rely on
+# systemd-getty-generator instead of using the OE-core specific
+# systemd-serialgetty.bb - not enabled by default.
+PACKAGECONFIG[serial-getty-generator] = ""
+
+PACKAGECONFIG[acl] = "-Dacl=true,-Dacl=false,acl"
+PACKAGECONFIG[audit] = "-Daudit=true,-Daudit=false,audit"
+PACKAGECONFIG[backlight] = "-Dbacklight=true,-Dbacklight=false"
+PACKAGECONFIG[binfmt] = "-Dbinfmt=true,-Dbinfmt=false"
+PACKAGECONFIG[bzip2] = "-Dbzip2=true,-Dbzip2=false,bzip2"
+PACKAGECONFIG[cgroupv2] = "-Ddefault-hierarchy=unified,-Ddefault-hierarchy=hybrid"
+PACKAGECONFIG[coredump] = "-Dcoredump=true,-Dcoredump=false"
+PACKAGECONFIG[cryptsetup] = "-Dlibcryptsetup=true,-Dlibcryptsetup=false,cryptsetup,,cryptsetup"
+PACKAGECONFIG[dbus] = "-Ddbus=true,-Ddbus=false,dbus"
+PACKAGECONFIG[efi] = "-Defi=true,-Defi=false"
+PACKAGECONFIG[gnu-efi] = "-Dgnu-efi=true -Defi-libdir=${STAGING_LIBDIR} -Defi-includedir=${STAGING_INCDIR}/efi,-Dgnu-efi=false,gnu-efi"
+PACKAGECONFIG[elfutils] = "-Delfutils=true,-Delfutils=false,elfutils"
+PACKAGECONFIG[firstboot] = "-Dfirstboot=true,-Dfirstboot=false"
+# Sign the journal for anti-tampering
+PACKAGECONFIG[gcrypt] = "-Dgcrypt=true,-Dgcrypt=false,libgcrypt"
+PACKAGECONFIG[gnutls] = "-Dgnutls=true,-Dgnutls=false,gnutls"
+PACKAGECONFIG[gshadow] = "-Dgshadow=true,-Dgshadow=false"
+PACKAGECONFIG[hibernate] = "-Dhibernate=true,-Dhibernate=false"
+PACKAGECONFIG[hostnamed] = "-Dhostnamed=true,-Dhostnamed=false"
+PACKAGECONFIG[idn] = "-Didn=true,-Didn=false"
+PACKAGECONFIG[ima] = "-Dima=true,-Dima=false"
+# importd requires journal-upload/xz/zlib/bzip2/gcrypt
+PACKAGECONFIG[importd] = "-Dimportd=true,-Dimportd=false"
+# Update NAT firewall rules
+PACKAGECONFIG[iptc] = "-Dlibiptc=true,-Dlibiptc=false,iptables"
+PACKAGECONFIG[journal-upload] = "-Dlibcurl=true,-Dlibcurl=false,curl"
+PACKAGECONFIG[kmod] = "-Dkmod=true,-Dkmod=false,kmod"
+PACKAGECONFIG[ldconfig] = "-Dldconfig=true,-Dldconfig=false,,ldconfig"
+PACKAGECONFIG[libidn] = "-Dlibidn=true,-Dlibidn=false,libidn,,libidn"
+PACKAGECONFIG[libidn2] = "-Dlibidn2=true,-Dlibidn2=false,libidn2,,libidn2"
+PACKAGECONFIG[localed] = "-Dlocaled=true,-Dlocaled=false"
+PACKAGECONFIG[logind] = "-Dlogind=true,-Dlogind=false"
+PACKAGECONFIG[lz4] = "-Dlz4=true,-Dlz4=false,lz4"
+PACKAGECONFIG[machined] = "-Dmachined=true,-Dmachined=false"
+PACKAGECONFIG[manpages] = "-Dman=true,-Dman=false,libxslt-native xmlto-native docbook-xml-dtd4-native docbook-xsl-stylesheets-native"
+PACKAGECONFIG[microhttpd] = "-Dmicrohttpd=true,-Dmicrohttpd=false,libmicrohttpd"
+PACKAGECONFIG[myhostname] = "-Dnss-myhostname=true,-Dnss-myhostname=false,,libnss-myhostname"
+PACKAGECONFIG[networkd] = "-Dnetworkd=true,-Dnetworkd=false"
+PACKAGECONFIG[nss] = "-Dnss-systemd=true,-Dnss-systemd=false"
+PACKAGECONFIG[nss-mymachines] = "-Dnss-mymachines=true,-Dnss-mymachines=false"
+PACKAGECONFIG[nss-resolve] = "-Dnss-resolve=true,-Dnss-resolve=false"
+PACKAGECONFIG[oomd] = "-Doomd=true,-Doomd=false"
+PACKAGECONFIG[openssl] = "-Dopenssl=true,-Dopenssl=false,openssl"
+PACKAGECONFIG[pam] = "-Dpam=true,-Dpam=false,libpam,${PAM_PLUGINS}"
+PACKAGECONFIG[pcre2] = "-Dpcre2=true,-Dpcre2=false,libpcre2"
+PACKAGECONFIG[polkit] = "-Dpolkit=true,-Dpolkit=false"
+# If polkit is disabled and networkd+hostnamed are in use, enabling this option and
+# using dbus-broker will allow networkd to be authorized to change the
+# hostname without acquiring additional privileges
+PACKAGECONFIG[polkit_hostnamed_fallback] = ",,,,dbus-broker,polkit"
+PACKAGECONFIG[portabled] = "-Dportabled=true,-Dportabled=false"
+PACKAGECONFIG[qrencode] = "-Dqrencode=true,-Dqrencode=false,qrencode,,qrencode"
+PACKAGECONFIG[quotacheck] = "-Dquotacheck=true,-Dquotacheck=false"
+PACKAGECONFIG[randomseed] = "-Drandomseed=true,-Drandomseed=false"
+PACKAGECONFIG[resolved] = "-Dresolve=true,-Dresolve=false"
+PACKAGECONFIG[rfkill] = "-Drfkill=true,-Drfkill=false"
+# libseccomp is found in meta-security
+PACKAGECONFIG[seccomp] = "-Dseccomp=true,-Dseccomp=false,libseccomp"
+PACKAGECONFIG[selinux] = "-Dselinux=true,-Dselinux=false,libselinux,initscripts-sushell"
+PACKAGECONFIG[smack] = "-Dsmack=true,-Dsmack=false"
+PACKAGECONFIG[sysusers] = "-Dsysusers=true,-Dsysusers=false"
+PACKAGECONFIG[sysvinit] = "-Dsysvinit-path=${sysconfdir}/init.d -Dsysvrcnd-path=${sysconfdir},-Dsysvinit-path= -Dsysvrcnd-path=,,systemd-compat-units update-rc.d"
+# When enabled use reproducble build timestamp if set as time epoch,
+# or build time if not. When disabled, time epoch is unset.
+def build_epoch(d):
+    epoch = d.getVar('SOURCE_DATE_EPOCH') or "-1"
+    return '-Dtime-epoch=%d' % int(epoch)
+PACKAGECONFIG[set-time-epoch] = "${@build_epoch(d)},-Dtime-epoch=0"
+PACKAGECONFIG[timedated] = "-Dtimedated=true,-Dtimedated=false"
+PACKAGECONFIG[timesyncd] = "-Dtimesyncd=true,-Dtimesyncd=false"
+PACKAGECONFIG[usrmerge] = "-Dsplit-usr=false,-Dsplit-usr=true"
+PACKAGECONFIG[sbinmerge] = "-Dsplit-bin=false,-Dsplit-bin=true"
+PACKAGECONFIG[userdb] = "-Duserdb=true,-Duserdb=false"
+PACKAGECONFIG[utmp] = "-Dutmp=true,-Dutmp=false"
+PACKAGECONFIG[valgrind] = "-DVALGRIND=1,,valgrind"
+PACKAGECONFIG[vconsole] = "-Dvconsole=true,-Dvconsole=false,,${PN}-vconsole-setup"
+PACKAGECONFIG[xdg-autostart] = "-Dxdg-autostart=true,-Dxdg-autostart=false"
+# Verify keymaps on locale change
+PACKAGECONFIG[xkbcommon] = "-Dxkbcommon=true,-Dxkbcommon=false,libxkbcommon"
+PACKAGECONFIG[xz] = "-Dxz=true,-Dxz=false,xz"
+PACKAGECONFIG[zlib] = "-Dzlib=true,-Dzlib=false,zlib"
+
+# Helper variables to clarify locations.  This mirrors the logic in systemd's
+# build system.
+rootprefix ?= "${root_prefix}"
+rootlibdir ?= "${base_libdir}"
+rootlibexecdir = "${rootprefix}/lib"
+
+# This links udev statically with systemd helper library.
+# Otherwise udev package would depend on systemd package (which has the needed shared library),
+# and always pull it into images.
+EXTRA_OEMESON += "-Dlink-udev-shared=false"
+
+EXTRA_OEMESON += "-Dnobody-user=nobody \
+                  -Dnobody-group=nobody \
+                  -Drootlibdir=${rootlibdir} \
+                  -Drootprefix=${rootprefix} \
+                  -Ddefault-locale=C \
+                  -Dmode=release \
+                  -Dsystem-alloc-uid-min=101 \
+                  -Dsystem-uid-max=999 \
+                  -Dsystem-alloc-gid-min=101 \
+                  -Dsystem-gid-max=999 \
+                  "
+
+# Hardcode target binary paths to avoid using paths from sysroot
+EXTRA_OEMESON += "-Dkexec-path=${sbindir}/kexec \
+                  -Dkmod-path=${base_bindir}/kmod \
+                  -Dmount-path=${base_bindir}/mount \
+                  -Dquotacheck-path=${sbindir}/quotacheck \
+                  -Dquotaon-path=${sbindir}/quotaon \
+                  -Dsulogin-path=${base_sbindir}/sulogin \
+                  -Dnologin-path=${base_sbindir}/nologin \
+                  -Dumount-path=${base_bindir}/umount"
+
+do_install() {
+	meson_do_install
+	install -d ${D}/${base_sbindir}
+	if ${@bb.utils.contains('PACKAGECONFIG', 'serial-getty-generator', 'false', 'true', d)}; then
+		# Provided by a separate recipe
+		rm ${D}${systemd_unitdir}/system/serial-getty* -f
+	fi
+
+	# Provide support for initramfs
+	[ ! -e ${D}/init ] && ln -s ${rootlibexecdir}/systemd/systemd ${D}/init
+	[ ! -e ${D}/${base_sbindir}/udevd ] && ln -s ${rootlibexecdir}/systemd/systemd-udevd ${D}/${base_sbindir}/udevd
+
+	install -d ${D}${sysconfdir}/udev/rules.d/
+	install -d ${D}${sysconfdir}/tmpfiles.d
+	for rule in $(find ${WORKDIR} -maxdepth 1 -type f -name "*.rules"); do
+		install -m 0644 $rule ${D}${sysconfdir}/udev/rules.d/
+	done
+
+	install -m 0644 ${WORKDIR}/00-create-volatile.conf ${D}${sysconfdir}/tmpfiles.d/
+
+	if ${@bb.utils.contains('DISTRO_FEATURES','sysvinit','true','false',d)}; then
+		install -d ${D}${sysconfdir}/init.d
+		install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/systemd-udevd
+		sed -i s%@UDEVD@%${rootlibexecdir}/systemd/systemd-udevd% ${D}${sysconfdir}/init.d/systemd-udevd
+		install -Dm 0755 ${S}/src/systemctl/systemd-sysv-install.SKELETON ${D}${systemd_unitdir}/systemd-sysv-install
+	fi
+
+	chown root:systemd-journal ${D}/${localstatedir}/log/journal
+
+	# Delete journal README, as log can be symlinked inside volatile.
+	rm -f ${D}/${localstatedir}/log/README
+
+	# journal-remote creates this at start
+	rm -rf ${D}/${localstatedir}/log/journal/remote
+
+	install -d ${D}${systemd_unitdir}/system/graphical.target.wants
+	install -d ${D}${systemd_unitdir}/system/multi-user.target.wants
+	install -d ${D}${systemd_unitdir}/system/poweroff.target.wants
+	install -d ${D}${systemd_unitdir}/system/reboot.target.wants
+	install -d ${D}${systemd_unitdir}/system/rescue.target.wants
+
+	# Create symlinks for systemd-update-utmp-runlevel.service
+	if ${@bb.utils.contains('PACKAGECONFIG', 'utmp', 'true', 'false', d)}; then
+		ln -sf ../systemd-update-utmp-runlevel.service ${D}${systemd_unitdir}/system/graphical.target.wants/systemd-update-utmp-runlevel.service
+		ln -sf ../systemd-update-utmp-runlevel.service ${D}${systemd_unitdir}/system/multi-user.target.wants/systemd-update-utmp-runlevel.service
+		ln -sf ../systemd-update-utmp-runlevel.service ${D}${systemd_unitdir}/system/poweroff.target.wants/systemd-update-utmp-runlevel.service
+		ln -sf ../systemd-update-utmp-runlevel.service ${D}${systemd_unitdir}/system/reboot.target.wants/systemd-update-utmp-runlevel.service
+		ln -sf ../systemd-update-utmp-runlevel.service ${D}${systemd_unitdir}/system/rescue.target.wants/systemd-update-utmp-runlevel.service
+	fi
+
+	# this file is needed to exist if networkd is disabled but timesyncd is still in use since timesyncd checks it
+	# for existence else it fails
+	if [ -s ${D}${exec_prefix}/lib/tmpfiles.d/systemd.conf ]; then
+		${@bb.utils.contains('PACKAGECONFIG', 'networkd', ':', 'sed -i -e "\$ad /run/systemd/netif/links 0755 root root -" ${D}${exec_prefix}/lib/tmpfiles.d/systemd.conf', d)}
+	fi
+	if ! ${@bb.utils.contains('PACKAGECONFIG', 'resolved', 'true', 'false', d)}; then
+		echo 'L! ${sysconfdir}/resolv.conf - - - - ../run/systemd/resolve/resolv.conf' >>${D}${exec_prefix}/lib/tmpfiles.d/etc.conf
+		echo 'd /run/systemd/resolve 0755 root root -' >>${D}${exec_prefix}/lib/tmpfiles.d/systemd.conf
+		echo 'f /run/systemd/resolve/resolv.conf 0644 root root' >>${D}${exec_prefix}/lib/tmpfiles.d/systemd.conf
+		ln -s ../run/systemd/resolve/resolv.conf ${D}${sysconfdir}/resolv-conf.systemd
+	else
+		sed -i -e "s%^L! /etc/resolv.conf.*$%L! /etc/resolv.conf - - - - ../run/systemd/resolve/resolv.conf%g" ${D}${exec_prefix}/lib/tmpfiles.d/etc.conf
+		ln -s ../run/systemd/resolve/resolv.conf ${D}${sysconfdir}/resolv-conf.systemd
+	fi
+	if ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'false', 'true', d)}; then
+		rm ${D}${exec_prefix}/lib/tmpfiles.d/x11.conf
+		rm -r ${D}${sysconfdir}/X11
+	fi
+
+	# If polkit is setup fixup permissions and ownership
+	if ${@bb.utils.contains('PACKAGECONFIG', 'polkit', 'true', 'false', d)}; then
+		if [ -d ${D}${datadir}/polkit-1/rules.d ]; then
+			chmod 700 ${D}${datadir}/polkit-1/rules.d
+			chown polkitd:root ${D}${datadir}/polkit-1/rules.d
+		fi
+	fi
+
+	# If polkit is not available and a fallback was requested, install a drop-in that allows networkd to
+	# request hostname changes via DBUS without elevating its privileges
+	if ${@bb.utils.contains('PACKAGECONFIG', 'polkit_hostnamed_fallback', 'true', 'false', d)}; then
+		install -d ${D}${systemd_unitdir}/system/systemd-hostnamed.service.d/
+		install -m 0644 ${WORKDIR}/00-hostnamed-network-user.conf ${D}${systemd_unitdir}/system/systemd-hostnamed.service.d/
+		install -d ${D}${datadir}/dbus-1/system.d/
+		install -m 0644 ${WORKDIR}/org.freedesktop.hostname1_no_polkit.conf ${D}${datadir}/dbus-1/system.d/
+	fi
+
+	# create link for existing udev rules
+	ln -s ${base_bindir}/udevadm ${D}${base_sbindir}/udevadm
+
+	# duplicate udevadm for postinst script
+	install -d ${D}${libexecdir}
+	ln ${D}${base_bindir}/udevadm ${D}${libexecdir}/${MLPREFIX}udevadm
+
+	# install default policy for presets
+	# https://www.freedesktop.org/wiki/Software/systemd/Preset/#howto
+	install -Dm 0644 ${WORKDIR}/99-default.preset ${D}${systemd_unitdir}/system-preset/99-default.preset
+
+	# add a profile fragment to disable systemd pager with busybox less
+	install -Dm 0644 ${WORKDIR}/systemd-pager.sh ${D}${sysconfdir}/profile.d/systemd-pager.sh
+}
+
+python populate_packages_prepend (){
+    systemdlibdir = d.getVar("rootlibdir")
+    do_split_packages(d, systemdlibdir, '^lib(.*)\.so\.*', 'lib%s', 'Systemd %s library', extra_depends='', allow_links=True)
+}
+PACKAGES_DYNAMIC += "^lib(udev|systemd|nss).*"
+
+PACKAGE_BEFORE_PN = "\
+    ${PN}-gui \
+    ${PN}-vconsole-setup \
+    ${PN}-initramfs \
+    ${PN}-analyze \
+    ${PN}-kernel-install \
+    ${PN}-rpm-macros \
+    ${PN}-binfmt \
+    ${PN}-zsh-completion \
+    ${PN}-container \
+    ${PN}-journal-gatewayd \
+    ${PN}-journal-upload \
+    ${PN}-journal-remote \
+    ${PN}-extra-utils \
+    ${PN}-udev-rules \
+    udev \
+    udev-hwdb \
+"
+
+SUMMARY_${PN}-container = "Tools for containers and VMs"
+DESCRIPTION_${PN}-container = "Systemd tools to spawn and manage containers and virtual machines."
+
+SUMMARY_${PN}-journal-gatewayd = "HTTP server for journal events"
+DESCRIPTION_${PN}-journal-gatewayd = "systemd-journal-gatewayd serves journal events over the network. Clients must connect using HTTP. The server listens on port 19531 by default."
+
+SUMMARY_${PN}-journal-upload = "Send journal messages over the network"
+DESCRIPTION_${PN}-journal-upload = "systemd-journal-upload uploads journal entries to a specified URL."
+
+SUMMARY_${PN}-journal-remote = "Receive journal messages over the network"
+DESCRIPTION_${PN}-journal-remote = "systemd-journal-remote is a command to receive serialized journal events and store them to journal files."
+
+SYSTEMD_PACKAGES = "${@bb.utils.contains('PACKAGECONFIG', 'binfmt', '${PN}-binfmt', '', d)} \
+                    ${@bb.utils.contains('PACKAGECONFIG', 'microhttpd', '${PN}-journal-gatewayd', '', d)} \
+                    ${@bb.utils.contains('PACKAGECONFIG', 'microhttpd', '${PN}-journal-remote', '', d)} \
+                    ${@bb.utils.contains('PACKAGECONFIG', 'journal-upload', '${PN}-journal-upload', '', d)} \
+"
+SYSTEMD_SERVICE_${PN}-binfmt = "systemd-binfmt.service"
+
+USERADD_PACKAGES = "${PN} ${PN}-extra-utils \
+                    ${@bb.utils.contains('PACKAGECONFIG', 'microhttpd', '${PN}-journal-gateway', '', d)} \
+                    ${@bb.utils.contains('PACKAGECONFIG', 'microhttpd', '${PN}-journal-remote', '', d)} \
+                    ${@bb.utils.contains('PACKAGECONFIG', 'journal-upload', '${PN}-journal-upload', '', d)} \
+"
+GROUPADD_PARAM_${PN} = "-r systemd-journal;"
+GROUPADD_PARAM_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'polkit_hostnamed_fallback', '-r systemd-hostname;', '', d)}"
+USERADD_PARAM_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'coredump', '--system -d / -M --shell /sbin/nologin systemd-coredump;', '', d)}"
+USERADD_PARAM_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'networkd', '--system -d / -M --shell /sbin/nologin systemd-network;', '', d)}"
+USERADD_PARAM_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'polkit', '--system --no-create-home --user-group --home-dir ${sysconfdir}/polkit-1 polkitd;', '', d)}"
+USERADD_PARAM_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'resolved', '--system -d / -M --shell /sbin/nologin systemd-resolve;', '', d)}"
+USERADD_PARAM_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'timesyncd', '--system -d / -M --shell /sbin/nologin systemd-timesync;', '', d)}"
+USERADD_PARAM_${PN}-extra-utils = "--system -d / -M --shell /sbin/nologin systemd-bus-proxy"
+USERADD_PARAM_${PN}-journal-gateway = "--system -d / -M --shell /sbin/nologin systemd-journal-gateway"
+USERADD_PARAM_${PN}-journal-remote = "--system -d / -M --shell /sbin/nologin systemd-journal-remote"
+USERADD_PARAM_${PN}-journal-upload = "--system -d / -M --shell /sbin/nologin systemd-journal-upload"
+
+FILES_${PN}-analyze = "${bindir}/systemd-analyze"
+
+FILES_${PN}-initramfs = "/init"
+RDEPENDS_${PN}-initramfs = "${PN}"
+
+FILES_${PN}-gui = "${bindir}/systemadm"
+
+FILES_${PN}-vconsole-setup = "${rootlibexecdir}/systemd/systemd-vconsole-setup \
+                              ${systemd_unitdir}/system/systemd-vconsole-setup.service \
+                              ${systemd_unitdir}/system/sysinit.target.wants/systemd-vconsole-setup.service"
+
+RDEPENDS_${PN}-kernel-install += "bash"
+FILES_${PN}-kernel-install = "${bindir}/kernel-install \
+                              ${sysconfdir}/kernel/ \
+                              ${exec_prefix}/lib/kernel \
+                             "
+FILES_${PN}-rpm-macros = "${exec_prefix}/lib/rpm \
+                         "
+
+FILES_${PN}-zsh-completion = "${datadir}/zsh/site-functions"
+
+FILES_${PN}-binfmt = "${sysconfdir}/binfmt.d/ \
+                      ${exec_prefix}/lib/binfmt.d \
+                      ${rootlibexecdir}/systemd/systemd-binfmt \
+                      ${systemd_unitdir}/system/proc-sys-fs-binfmt_misc.* \
+                      ${systemd_unitdir}/system/systemd-binfmt.service"
+RRECOMMENDS_${PN}-binfmt = "kernel-module-binfmt-misc"
+
+RRECOMMENDS_${PN}-vconsole-setup = "kbd kbd-consolefonts kbd-keymaps"
+
+
+FILES_${PN}-journal-gatewayd = "${rootlibexecdir}/systemd/systemd-journal-gatewayd \
+                                ${systemd_system_unitdir}/systemd-journal-gatewayd.service \
+                                ${systemd_system_unitdir}/systemd-journal-gatewayd.socket \
+                                ${systemd_system_unitdir}/sockets.target.wants/systemd-journal-gatewayd.socket \
+                                ${datadir}/systemd/gatewayd/browse.html \
+                               "
+SYSTEMD_SERVICE_${PN}-journal-gatewayd = "systemd-journal-gatewayd.socket"
+
+FILES_${PN}-journal-upload = "${rootlibexecdir}/systemd/systemd-journal-upload \
+                              ${systemd_system_unitdir}/systemd-journal-upload.service \
+                              ${sysconfdir}/systemd/journal-upload.conf \
+                             "
+SYSTEMD_SERVICE_${PN}-journal-upload = "systemd-journal-upload.service"
+
+FILES_${PN}-journal-remote = "${rootlibexecdir}/systemd/systemd-journal-remote \
+                              ${sysconfdir}/systemd/journal-remote.conf \
+                              ${systemd_system_unitdir}/systemd-journal-remote.service \
+                              ${systemd_system_unitdir}/systemd-journal-remote.socket \
+                             "
+SYSTEMD_SERVICE_${PN}-journal-remote = "systemd-journal-remote.socket"
+
+
+FILES_${PN}-container = "${sysconfdir}/dbus-1/system.d/org.freedesktop.import1.conf \
+                         ${sysconfdir}/dbus-1/system.d/org.freedesktop.machine1.conf \
+                         ${sysconfdir}/systemd/system/multi-user.target.wants/machines.target \
+                         ${base_bindir}/machinectl \
+                         ${bindir}/systemd-nspawn \
+                         ${nonarch_libdir}/systemd/import-pubring.gpg \
+                         ${systemd_system_unitdir}/busnames.target.wants/org.freedesktop.import1.busname \
+                         ${systemd_system_unitdir}/busnames.target.wants/org.freedesktop.machine1.busname \
+                         ${systemd_system_unitdir}/local-fs.target.wants/var-lib-machines.mount \
+                         ${systemd_system_unitdir}/machines.target.wants/var-lib-machines.mount \
+                         ${systemd_system_unitdir}/remote-fs.target.wants/var-lib-machines.mount \
+                         ${systemd_system_unitdir}/machine.slice \
+                         ${systemd_system_unitdir}/machines.target \
+                         ${systemd_system_unitdir}/org.freedesktop.import1.busname \
+                         ${systemd_system_unitdir}/org.freedesktop.machine1.busname \
+                         ${systemd_system_unitdir}/systemd-importd.service \
+                         ${systemd_system_unitdir}/systemd-machined.service \
+                         ${systemd_system_unitdir}/dbus-org.freedesktop.machine1.service \
+                         ${systemd_system_unitdir}/var-lib-machines.mount \
+                         ${rootlibexecdir}/systemd/systemd-import \
+                         ${rootlibexecdir}/systemd/systemd-importd \
+                         ${rootlibexecdir}/systemd/systemd-machined \
+                         ${rootlibexecdir}/systemd/systemd-pull \
+                         ${exec_prefix}/lib/tmpfiles.d/systemd-nspawn.conf \
+                         ${systemd_system_unitdir}/systemd-nspawn@.service \
+                         ${libdir}/libnss_mymachines.so.2 \
+                         ${datadir}/dbus-1/system-services/org.freedesktop.import1.service \
+                         ${datadir}/dbus-1/system-services/org.freedesktop.machine1.service \
+                         ${datadir}/dbus-1/system.d/org.freedesktop.import1.conf \
+                         ${datadir}/dbus-1/system.d/org.freedesktop.machine1.conf \
+                         ${datadir}/polkit-1/actions/org.freedesktop.import1.policy \
+                         ${datadir}/polkit-1/actions/org.freedesktop.machine1.policy \
+                        "
+
+# "machinectl import-tar" uses "tar --numeric-owner", not supported by busybox.
+RRECOMMENDS_${PN}-container += "\
+                         ${PN}-journal-gatewayd \
+                         ${PN}-journal-remote \
+                         ${PN}-journal-upload \
+                         kernel-module-dm-mod \
+                         kernel-module-loop \
+                         kernel-module-tun \
+                         tar \
+                        "
+
+FILES_${PN}-extra-utils = "\
+                        ${base_bindir}/systemd-escape \
+                        ${base_bindir}/systemd-inhibit \
+                        ${bindir}/systemd-detect-virt \
+                        ${bindir}/systemd-dissect \
+                        ${bindir}/systemd-path \
+                        ${bindir}/systemd-run \
+                        ${bindir}/systemd-cat \
+                        ${bindir}/systemd-delta \
+                        ${bindir}/systemd-cgls \
+                        ${bindir}/systemd-cgtop \
+                        ${bindir}/systemd-stdio-bridge \
+                        ${base_bindir}/systemd-ask-password \
+                        ${base_bindir}/systemd-tty-ask-password-agent \
+                        ${systemd_unitdir}/system/systemd-ask-password-console.path \
+                        ${systemd_unitdir}/system/systemd-ask-password-console.service \
+                        ${systemd_unitdir}/system/systemd-ask-password-wall.path \
+                        ${systemd_unitdir}/system/systemd-ask-password-wall.service \
+                        ${systemd_unitdir}/system/sysinit.target.wants/systemd-ask-password-console.path \
+                        ${systemd_unitdir}/system/sysinit.target.wants/systemd-ask-password-wall.path \
+                        ${systemd_unitdir}/system/multi-user.target.wants/systemd-ask-password-wall.path \
+                        ${rootlibexecdir}/systemd/systemd-resolve-host \
+                        ${rootlibexecdir}/systemd/systemd-ac-power \
+                        ${rootlibexecdir}/systemd/systemd-activate \
+                        ${rootlibexecdir}/systemd/systemd-bus-proxyd \
+                        ${systemd_unitdir}/system/systemd-bus-proxyd.service \
+                        ${systemd_unitdir}/system/systemd-bus-proxyd.socket \
+                        ${rootlibexecdir}/systemd/systemd-socket-proxyd \
+                        ${rootlibexecdir}/systemd/systemd-reply-password \
+                        ${rootlibexecdir}/systemd/systemd-sleep \
+                        ${rootlibexecdir}/systemd/system-sleep \
+                        ${systemd_unitdir}/system/systemd-hibernate.service \
+                        ${systemd_unitdir}/system/systemd-hybrid-sleep.service \
+                        ${systemd_unitdir}/system/systemd-suspend.service \
+                        ${systemd_unitdir}/system/sleep.target \
+                        ${rootlibexecdir}/systemd/systemd-initctl \
+                        ${systemd_unitdir}/system/systemd-initctl.service \
+                        ${systemd_unitdir}/system/systemd-initctl.socket \
+                        ${systemd_unitdir}/system/sockets.target.wants/systemd-initctl.socket \
+                        ${rootlibexecdir}/systemd/system-generators/systemd-gpt-auto-generator \
+                        ${rootlibexecdir}/systemd/systemd-cgroups-agent \
+"
+
+FILES_${PN}-udev-rules = "\
+                        ${rootlibexecdir}/udev/rules.d/70-uaccess.rules \
+                        ${rootlibexecdir}/udev/rules.d/71-seat.rules \
+                        ${rootlibexecdir}/udev/rules.d/73-seat-late.rules \
+                        ${rootlibexecdir}/udev/rules.d/99-systemd.rules \
+"
+
+CONFFILES_${PN} = "${sysconfdir}/systemd/coredump.conf \
+	${sysconfdir}/systemd/journald.conf \
+	${sysconfdir}/systemd/logind.conf \
+	${sysconfdir}/systemd/networkd.conf \
+	${sysconfdir}/systemd/pstore.conf \
+	${sysconfdir}/systemd/resolved.conf \
+	${sysconfdir}/systemd/sleep.conf \
+	${sysconfdir}/systemd/system.conf \
+	${sysconfdir}/systemd/timesyncd.conf \
+	${sysconfdir}/systemd/user.conf \
+"
+
+FILES_${PN} = " ${base_bindir}/* \
+                ${base_sbindir}/shutdown \
+                ${base_sbindir}/halt \
+                ${base_sbindir}/poweroff \
+                ${base_sbindir}/runlevel \
+                ${base_sbindir}/telinit \
+                ${base_sbindir}/resolvconf \
+                ${base_sbindir}/reboot \
+                ${base_sbindir}/init \
+                ${datadir}/dbus-1/services \
+                ${datadir}/dbus-1/system-services \
+                ${datadir}/polkit-1 \
+                ${datadir}/${BPN} \
+                ${datadir}/factory \
+                ${sysconfdir}/dbus-1/ \
+                ${sysconfdir}/modules-load.d/ \
+                ${sysconfdir}/pam.d/ \
+                ${sysconfdir}/profile.d/ \
+                ${sysconfdir}/sysctl.d/ \
+                ${sysconfdir}/systemd/ \
+                ${sysconfdir}/tmpfiles.d/ \
+                ${sysconfdir}/xdg/ \
+                ${sysconfdir}/init.d/README \
+                ${sysconfdir}/resolv-conf.systemd \
+                ${sysconfdir}/X11/xinit/xinitrc.d/* \
+                ${rootlibexecdir}/systemd/* \
+                ${libdir}/pam.d \
+                ${nonarch_libdir}/pam.d \
+                ${systemd_unitdir}/* \
+                ${base_libdir}/security/*.so \
+                /cgroup \
+                ${bindir}/systemd* \
+                ${bindir}/busctl \
+                ${bindir}/coredumpctl \
+                ${bindir}/localectl \
+                ${bindir}/hostnamectl \
+                ${bindir}/resolvectl \
+                ${bindir}/timedatectl \
+                ${bindir}/bootctl \
+                ${bindir}/oomctl \
+                ${exec_prefix}/lib/tmpfiles.d/*.conf \
+                ${exec_prefix}/lib/systemd \
+                ${exec_prefix}/lib/modules-load.d \
+                ${exec_prefix}/lib/sysctl.d \
+                ${exec_prefix}/lib/sysusers.d \
+                ${exec_prefix}/lib/environment.d \
+                ${localstatedir} \
+                ${rootlibexecdir}/modprobe.d/systemd.conf \
+                ${datadir}/dbus-1/system.d/org.freedesktop.timedate1.conf \
+                ${datadir}/dbus-1/system.d/org.freedesktop.locale1.conf \
+                ${datadir}/dbus-1/system.d/org.freedesktop.network1.conf \
+                ${datadir}/dbus-1/system.d/org.freedesktop.resolve1.conf \
+                ${datadir}/dbus-1/system.d/org.freedesktop.systemd1.conf \
+                ${@bb.utils.contains('PACKAGECONFIG', 'polkit_hostnamed_fallback', '${datadir}/dbus-1/system.d/org.freedesktop.hostname1_no_polkit.conf', '', d)} \
+                ${datadir}/dbus-1/system.d/org.freedesktop.hostname1.conf \
+                ${datadir}/dbus-1/system.d/org.freedesktop.login1.conf \
+                ${datadir}/dbus-1/system.d/org.freedesktop.timesync1.conf \
+                ${datadir}/dbus-1/system.d/org.freedesktop.portable1.conf \
+                ${datadir}/dbus-1/system.d/org.freedesktop.oom1.conf \
+               "
+
+FILES_${PN}-dev += "${base_libdir}/security/*.la ${datadir}/dbus-1/interfaces/ ${sysconfdir}/rpm/macros.systemd"
+
+RDEPENDS_${PN} += "kmod dbus util-linux-mount util-linux-umount udev (= ${EXTENDPKGV}) systemd-udev-rules util-linux-agetty util-linux-fsck"
+RDEPENDS_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'serial-getty-generator', '', 'systemd-serialgetty', d)}"
+RDEPENDS_${PN} += "volatile-binds"
+
+RRECOMMENDS_${PN} += "systemd-extra-utils \
+                      udev-hwdb \
+                      e2fsprogs-e2fsck \
+                      kernel-module-autofs4 kernel-module-unix kernel-module-ipv6 kernel-module-sch-fq-codel \
+                      os-release \
+                      systemd-conf \
+"
+
+INSANE_SKIP_${PN} += "dev-so libdir"
+INSANE_SKIP_${PN}-dbg += "libdir"
+INSANE_SKIP_${PN}-doc += " libdir"
+
+RPROVIDES_udev = "hotplug"
+
+RDEPENDS_udev-hwdb += "udev"
+
+FILES_udev += "${base_sbindir}/udevd \
+               ${rootlibexecdir}/systemd/network/99-default.link \
+               ${rootlibexecdir}/systemd/systemd-udevd \
+               ${rootlibexecdir}/udev/accelerometer \
+               ${rootlibexecdir}/udev/ata_id \
+               ${rootlibexecdir}/udev/cdrom_id \
+               ${rootlibexecdir}/udev/collect \
+               ${rootlibexecdir}/udev/fido_id \
+               ${rootlibexecdir}/udev/findkeyboards \
+               ${rootlibexecdir}/udev/keyboard-force-release.sh \
+               ${rootlibexecdir}/udev/keymap \
+               ${rootlibexecdir}/udev/mtd_probe \
+               ${rootlibexecdir}/udev/scsi_id \
+               ${rootlibexecdir}/udev/v4l_id \
+               ${rootlibexecdir}/udev/keymaps \
+               ${rootlibexecdir}/udev/rules.d/50-udev-default.rules \
+               ${rootlibexecdir}/udev/rules.d/60-autosuspend.rules \
+               ${rootlibexecdir}/udev/rules.d/60-autosuspend-chromiumos.rules \
+               ${rootlibexecdir}/udev/rules.d/60-block.rules \
+               ${rootlibexecdir}/udev/rules.d/60-cdrom_id.rules \
+               ${rootlibexecdir}/udev/rules.d/60-drm.rules \
+               ${rootlibexecdir}/udev/rules.d/60-evdev.rules \
+               ${rootlibexecdir}/udev/rules.d/60-fido-id.rules \
+               ${rootlibexecdir}/udev/rules.d/60-input-id.rules \
+               ${rootlibexecdir}/udev/rules.d/60-persistent-alsa.rules \
+               ${rootlibexecdir}/udev/rules.d/60-persistent-input.rules \
+               ${rootlibexecdir}/udev/rules.d/60-persistent-storage.rules \
+               ${rootlibexecdir}/udev/rules.d/60-persistent-storage-tape.rules \
+               ${rootlibexecdir}/udev/rules.d/60-persistent-v4l.rules \
+               ${rootlibexecdir}/udev/rules.d/60-sensor.rules \
+               ${rootlibexecdir}/udev/rules.d/60-serial.rules \
+               ${rootlibexecdir}/udev/rules.d/61-autosuspend-manual.rules \
+               ${rootlibexecdir}/udev/rules.d/64-btrfs.rules \
+               ${rootlibexecdir}/udev/rules.d/70-joystick.rules \
+               ${rootlibexecdir}/udev/rules.d/70-mouse.rules \
+               ${rootlibexecdir}/udev/rules.d/70-power-switch.rules \
+               ${rootlibexecdir}/udev/rules.d/70-touchpad.rules \
+               ${rootlibexecdir}/udev/rules.d/75-net-description.rules \
+               ${rootlibexecdir}/udev/rules.d/75-probe_mtd.rules \
+               ${rootlibexecdir}/udev/rules.d/78-sound-card.rules \
+               ${rootlibexecdir}/udev/rules.d/80-drivers.rules \
+               ${rootlibexecdir}/udev/rules.d/80-net-setup-link.rules \
+               ${rootlibexecdir}/udev/rules.d/90-vconsole.rules \
+               ${sysconfdir}/udev \
+               ${sysconfdir}/init.d/systemd-udevd \
+               ${systemd_unitdir}/system/*udev* \
+               ${systemd_unitdir}/system/*.wants/*udev* \
+               ${base_bindir}/systemd-hwdb \
+               ${base_bindir}/udevadm \
+               ${base_sbindir}/udevadm \
+               ${libexecdir}/${MLPREFIX}udevadm \
+               ${datadir}/bash-completion/completions/udevadm \
+               ${systemd_unitdir}/system/systemd-hwdb-update.service \
+              "
+
+FILES_udev-hwdb = "${rootlibexecdir}/udev/hwdb.d \
+                   "
+
+RCONFLICTS_${PN} = "tiny-init ${@bb.utils.contains('PACKAGECONFIG', 'resolved', 'resolvconf', '', d)}"
+
+INITSCRIPT_PACKAGES = "udev"
+INITSCRIPT_NAME_udev = "systemd-udevd"
+INITSCRIPT_PARAMS_udev = "start 03 S ."
+
+python __anonymous() {
+    if not bb.utils.contains('DISTRO_FEATURES', 'sysvinit', True, False, d):
+        d.setVar("INHIBIT_UPDATERCD_BBCLASS", "1")
+}
+
+python do_warn_musl() {
+    if d.getVar('TCLIBC') == "musl":
+        bb.warn("Using systemd with musl is not recommended since it is not supported upstream and some patches are known to be problematic.")
+}
+addtask warn_musl before do_configure
+
+ALTERNATIVE_${PN} = "halt reboot shutdown poweroff runlevel ${@bb.utils.contains('PACKAGECONFIG', 'resolved', 'resolv-conf', '', d)}"
+
+ALTERNATIVE_TARGET[resolv-conf] = "${sysconfdir}/resolv-conf.systemd"
+ALTERNATIVE_LINK_NAME[resolv-conf] = "${sysconfdir}/resolv.conf"
+ALTERNATIVE_PRIORITY[resolv-conf] ?= "50"
+
+ALTERNATIVE_TARGET[halt] = "${base_bindir}/systemctl"
+ALTERNATIVE_LINK_NAME[halt] = "${base_sbindir}/halt"
+ALTERNATIVE_PRIORITY[halt] ?= "300"
+
+ALTERNATIVE_TARGET[reboot] = "${base_bindir}/systemctl"
+ALTERNATIVE_LINK_NAME[reboot] = "${base_sbindir}/reboot"
+ALTERNATIVE_PRIORITY[reboot] ?= "300"
+
+ALTERNATIVE_TARGET[shutdown] = "${base_bindir}/systemctl"
+ALTERNATIVE_LINK_NAME[shutdown] = "${base_sbindir}/shutdown"
+ALTERNATIVE_PRIORITY[shutdown] ?= "300"
+
+ALTERNATIVE_TARGET[poweroff] = "${base_bindir}/systemctl"
+ALTERNATIVE_LINK_NAME[poweroff] = "${base_sbindir}/poweroff"
+ALTERNATIVE_PRIORITY[poweroff] ?= "300"
+
+ALTERNATIVE_TARGET[runlevel] = "${base_bindir}/systemctl"
+ALTERNATIVE_LINK_NAME[runlevel] = "${base_sbindir}/runlevel"
+ALTERNATIVE_PRIORITY[runlevel] ?= "300"
+
+pkg_postinst_${PN}_libc-glibc () {
+	sed -e '/^hosts:/s/\s*\//' \
+		-e 's/\(^hosts:.*\)\(\\)\(.*\)\(\\)\(.*\)/\1\2 myhostname \3\4\5/' \
+		-i $D${sysconfdir}/nsswitch.conf
+}
+
+pkg_prerm_${PN}_libc-glibc () {
+	sed -e '/^hosts:/s/\s*\//' \
+		-e '/^hosts:/s/\s*myhostname//' \
+		-i $D${sysconfdir}/nsswitch.conf
+}
+
+PACKAGE_WRITE_DEPS += "qemu-native"
+pkg_postinst_udev-hwdb () {
+	if test -n "$D"; then
+		$INTERCEPT_DIR/postinst_intercept update_udev_hwdb ${PKG} mlprefix=${MLPREFIX} binprefix=${MLPREFIX} rootlibexecdir="${rootlibexecdir}" PREFERRED_PROVIDER_udev="${PREFERRED_PROVIDER_udev}"
+	else
+		udevadm hwdb --update
+	fi
+}
+
+pkg_prerm_udev-hwdb () {
+	rm -f $D${sysconfdir}/udev/hwdb.bin
+}
diff --git a/poky/meta/recipes-core/sysvinit/sysvinit-inittab_2.88dsf.bb b/poky/meta/recipes-core/sysvinit/sysvinit-inittab_2.88dsf.bb
index d95d1a63f..0af116f35 100644
--- a/poky/meta/recipes-core/sysvinit/sysvinit-inittab_2.88dsf.bb
+++ b/poky/meta/recipes-core/sysvinit/sysvinit-inittab_2.88dsf.bb
@@ -53,6 +53,10 @@ EOF
     fi
 }
 
+do_install_append_qemuppc64 () {
+            echo "9:12345:respawn:${base_sbindir}/getty 38400 hvc0" >> ${D}${sysconfdir}/inittab
+}
+
 pkg_postinst_${PN} () {
 # run this on host and on target
 if [ "${SERIAL_CONSOLES_CHECK}" = "" ]; then
diff --git a/poky/meta/recipes-core/util-linux/util-linux-libuuid_2.36.2.bb b/poky/meta/recipes-core/util-linux/util-linux-libuuid_2.36.2.bb
new file mode 100644
index 000000000..9612c491c
--- /dev/null
+++ b/poky/meta/recipes-core/util-linux/util-linux-libuuid_2.36.2.bb
@@ -0,0 +1,16 @@
+# To allow util-linux to optionally build-depend on cryptsetup, libuuid is
+# split out of the main recipe, as it's needed by cryptsetup
+
+require util-linux.inc
+
+inherit autotools gettext pkgconfig
+
+S = "${WORKDIR}/util-linux-${PV}"
+EXTRA_OECONF += "--disable-all-programs --enable-libuuid"
+LICENSE = "BSD-3-Clause"
+
+do_install_append() {
+	rm -rf ${D}${datadir} ${D}${bindir} ${D}${base_bindir} ${D}${sbindir} ${D}${base_sbindir} ${D}${exec_prefix}/sbin
+}
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-core/util-linux/util-linux.inc b/poky/meta/recipes-core/util-linux/util-linux.inc
new file mode 100644
index 000000000..cbf6102ee
--- /dev/null
+++ b/poky/meta/recipes-core/util-linux/util-linux.inc
@@ -0,0 +1,41 @@
+SUMMARY = "A suite of basic system administration utilities"
+HOMEPAGE = "https://en.wikipedia.org/wiki/Util-linux"
+DESCRIPTION = "Util-linux includes a suite of basic system administration utilities \
+commonly found on most Linux systems.  Some of the more important utilities include \
+disk partitioning, kernel message management, filesystem creation, and system login."
+
+SECTION = "base"
+
+LICENSE = "GPLv2+ & LGPLv2.1+ & BSD-3-Clause & BSD-4-Clause"
+LICENSE_${PN}-libblkid = "LGPLv2.1+"
+LICENSE_${PN}-libfdisk = "LGPLv2.1+"
+LICENSE_${PN}-libmount = "LGPLv2.1+"
+LICENSE_${PN}-libsmartcols = "LGPLv2.1+"
+
+LIC_FILES_CHKSUM = "file://README.licensing;md5=0fd5c050c6187d2bf0a4492b7f4e33da \
+                    file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+                    file://Documentation/licenses/COPYING.GPL-2.0-or-later;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+                    file://Documentation/licenses/COPYING.LGPL-2.1-or-later;md5=4fbd65380cdd255951079008b364516c \
+                    file://Documentation/licenses/COPYING.BSD-3-Clause;md5=58dcd8452651fc8b07d1f65ce07ca8af \
+                    file://Documentation/licenses/COPYING.BSD-4-Clause-UC;md5=263860f8968d8bafa5392cab74285262 \
+                    file://libuuid/COPYING;md5=6d2cafc999feb2c2de84d4d24b23290c \
+                    file://libmount/COPYING;md5=7c7e39fb7d70ffe5d693a643e29987c2 \
+                    file://libblkid/COPYING;md5=693bcbbe16d3a4a4b37bc906bc01cc04 \
+                    file://libfdisk/COPYING;md5=693bcbbe16d3a4a4b37bc906bc01cc04 \
+                    file://libsmartcols/COPYING;md5=693bcbbe16d3a4a4b37bc906bc01cc04 \
+"
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/util-linux:"
+MAJOR_VERSION = "${@'.'.join(d.getVar('PV').split('.')[0:2])}"
+BPN = "util-linux"
+SRC_URI = "${KERNELORG_MIRROR}/linux/utils/${BPN}/v${MAJOR_VERSION}/${BP}.tar.xz \
+           file://configure-sbindir.patch \
+           file://runuser.pamd \
+           file://runuser-l.pamd \
+           file://ptest.patch \
+           file://run-ptest \
+           file://display_testname_for_subtest.patch \
+           file://avoid_parallel_tests.patch \
+           file://Automake-use-EXTRA_LTLIBRARIES-instead-of-noinst_LTL.patch \
+           "
+SRC_URI[sha256sum] = "f7516ba9d8689343594356f0e5e1a5f0da34adfbc89023437735872bb5024c5f"
diff --git a/poky/meta/recipes-core/util-linux/util-linux/Automake-use-EXTRA_LTLIBRARIES-instead-of-noinst_LTL.patch b/poky/meta/recipes-core/util-linux/util-linux/Automake-use-EXTRA_LTLIBRARIES-instead-of-noinst_LTL.patch
new file mode 100644
index 000000000..272518914
--- /dev/null
+++ b/poky/meta/recipes-core/util-linux/util-linux/Automake-use-EXTRA_LTLIBRARIES-instead-of-noinst_LTL.patch
@@ -0,0 +1,49 @@
+Author: Luca Boccassi 
+Description: Automake: use EXTRA_LTLIBRARIES instead of noinst_LTLIBRARIES
+ noinst_LTLIBRARIES causes the libraries to be always built
+ unconditionally. EXTRA_LTLIBRARIES causes them to be built
+ only if other build target needs them.
+ In other words, avoid building libcommon.a and libtcolors.a
+ unless they are needed by another library/executable and
+ save some build time.
+Upstream-Status: backport, commit:c65953d72bbc7412f32e566d9fa6e780d84f0696
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -39,7 +39,7 @@ bashcompletiondir = @bashcompletiondir@
+ 
+ dist_noinst_HEADERS =
+ noinst_PROGRAMS =
+-noinst_LTLIBRARIES =
++EXTRA_LTLIBRARIES =
+ usrbin_exec_PROGRAMS =
+ usrsbin_exec_PROGRAMS =
+ dist_man_MANS =
+@@ -169,7 +169,7 @@ else
+ edit_cmd += -e 's|@vendordir[@]||g'
+ endif
+ 
+-CLEANFILES += $(PATHFILES)
++CLEANFILES += $(PATHFILES) $(EXTRA_LTLIBRARIES)
+ EXTRA_DIST += $(PATHFILES:=.in)
+ 
+ $(PATHFILES): Makefile
+--- a/lib/Makemodule.am
++++ b/lib/Makemodule.am
+@@ -9,7 +9,7 @@
+ # Note that you need "make install-strip" (or proper rpm / Debian build)
+ # to generate binaries with only relevant stuff.
+ #
+-noinst_LTLIBRARIES += libcommon.la
++EXTRA_LTLIBRARIES += libcommon.la
+ libcommon_la_CFLAGS = $(AM_CFLAGS)
+ libcommon_la_SOURCES = \
+ 	lib/blkdev.c \
+@@ -59,7 +59,7 @@ libcommon_la_SOURCES += lib/sysfs.c
+ endif
+ endif
+ 
+-noinst_LTLIBRARIES += libtcolors.la
++EXTRA_LTLIBRARIES += libtcolors.la
+ libtcolors_la_CFLAGS = $(AM_CFLAGS)
+ libtcolors_la_SOURCES = lib/colors.c lib/color-names.c include/colors.h include/color-names.h
+ libtcolors_la_LIBADD =
diff --git a/poky/meta/recipes-core/util-linux/util-linux_2.36.2.bb b/poky/meta/recipes-core/util-linux/util-linux_2.36.2.bb
index 19950a272..c79cf782d 100644
--- a/poky/meta/recipes-core/util-linux/util-linux_2.36.2.bb
+++ b/poky/meta/recipes-core/util-linux/util-linux_2.36.2.bb
@@ -1,46 +1,8 @@
-SUMMARY = "A suite of basic system administration utilities"
-HOMEPAGE = "https://en.wikipedia.org/wiki/Util-linux"
-DESCRIPTION = "Util-linux includes a suite of basic system administration utilities \
-commonly found on most Linux systems.  Some of the more important utilities include \
-disk partitioning, kernel message management, filesystem creation, and system login."
-
-SECTION = "base"
-
-LICENSE = "GPLv2+ & LGPLv2.1+ & BSD-3-Clause & BSD-4-Clause"
-LICENSE_${PN}-libblkid = "LGPLv2.1+"
-LICENSE_${PN}-libfdisk = "LGPLv2.1+"
-LICENSE_${PN}-libmount = "LGPLv2.1+"
-LICENSE_${PN}-libsmartcols = "LGPLv2.1+"
-LICENSE_${PN}-libuuid = "BSD-3-Clause"
-
-LIC_FILES_CHKSUM = "file://README.licensing;md5=0fd5c050c6187d2bf0a4492b7f4e33da \
-                    file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
-                    file://Documentation/licenses/COPYING.GPL-2.0-or-later;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
-                    file://Documentation/licenses/COPYING.LGPL-2.1-or-later;md5=4fbd65380cdd255951079008b364516c \
-                    file://Documentation/licenses/COPYING.BSD-3-Clause;md5=58dcd8452651fc8b07d1f65ce07ca8af \
-                    file://Documentation/licenses/COPYING.BSD-4-Clause-UC;md5=263860f8968d8bafa5392cab74285262 \
-                    file://libuuid/COPYING;md5=6d2cafc999feb2c2de84d4d24b23290c \
-                    file://libmount/COPYING;md5=7c7e39fb7d70ffe5d693a643e29987c2 \
-                    file://libblkid/COPYING;md5=693bcbbe16d3a4a4b37bc906bc01cc04 \
-                    file://libfdisk/COPYING;md5=693bcbbe16d3a4a4b37bc906bc01cc04 \
-                    file://libsmartcols/COPYING;md5=693bcbbe16d3a4a4b37bc906bc01cc04 \
-"
+require util-linux.inc
 
 #gtk-doc is not enabled as it requires xmlto which requires util-linux
 inherit autotools gettext manpages pkgconfig systemd update-alternatives python3-dir bash-completion ptest
-DEPENDS = "libcap-ng ncurses virtual/crypt zlib"
-
-MAJOR_VERSION = "${@'.'.join(d.getVar('PV').split('.')[0:2])}"
-SRC_URI = "${KERNELORG_MIRROR}/linux/utils/${BPN}/v${MAJOR_VERSION}/${BP}.tar.xz \
-           file://configure-sbindir.patch \
-           file://runuser.pamd \
-           file://runuser-l.pamd \
-           file://ptest.patch \
-           file://run-ptest \
-           file://display_testname_for_subtest.patch \
-           file://avoid_parallel_tests.patch \
-           "
-SRC_URI[sha256sum] = "f7516ba9d8689343594356f0e5e1a5f0da34adfbc89023437735872bb5024c5f"
+DEPENDS = "libcap-ng ncurses virtual/crypt zlib util-linux-libuuid"
 
 PACKAGES =+ "${PN}-swaponoff"
 PACKAGES += "${@bb.utils.contains('PACKAGECONFIG', 'pylibmount', '${PN}-pylibmount', '', d)}"
@@ -87,8 +49,9 @@ python util_linux_binpackages () {
 # we must execute before update-alternatives PACKAGE_PREPROCESS_FUNCS
 PACKAGE_PREPROCESS_FUNCS =+ "util_linux_binpackages "
 
+# skip libuuid as it will be packaged by the util-linux-libuuid recipe
 python util_linux_libpackages() {
-    do_split_packages(d, root=d.getVar('UTIL_LINUX_LIBDIR'), file_regex=r'^lib(.*)\.so\..*$',
+    do_split_packages(d, root=d.getVar('UTIL_LINUX_LIBDIR'), file_regex=r'^lib(?!uuid)(.*)\.so\..*$',
                       output_pattern='${PN}-lib%s',
                       description='${PN} lib%s',
                       extra_depends='', prepend=True, allow_links=True)
@@ -141,6 +104,7 @@ PACKAGECONFIG[pylibmount] = "--with-python=3 --enable-pylibmount,--without-pytho
 PACKAGECONFIG[readline] = "--with-readline,--without-readline,readline"
 # PCRE support in hardlink
 PACKAGECONFIG[pcre2] = ",,libpcre2"
+PACKAGECONFIG[cryptsetup] = "--with-cryptsetup,--without-cryptsetup,cryptsetup"
 
 EXTRA_OEMAKE = "ARCH=${TARGET_ARCH} CPU= CPUOPT= 'OPT=${CFLAGS}'"
 
@@ -165,7 +129,10 @@ RRECOMMENDS_${PN}_class-nativesdk = ""
 RDEPENDS_${PN}_class-native = ""
 RDEPENDS_${PN}_class-nativesdk = ""
 
-RPROVIDES_${PN}-dev = "${PN}-libblkid-dev ${PN}-libmount-dev ${PN}-libuuid-dev"
+RDEPENDS_${PN} += " util-linux-libuuid"
+RDEPENDS_${PN}-dev += " util-linux-libuuid-dev"
+
+RPROVIDES_${PN}-dev = "${PN}-libblkid-dev ${PN}-libmount-dev"
 
 RDEPENDS_${PN}-bash-completion += "${PN}-lsblk"
 RDEPENDS_${PN}-ptest += "bash bc btrfs-tools coreutils e2fsprogs grep iproute2 kmod mdadm procps sed socat which xz"
@@ -234,6 +201,12 @@ do_install_append_class-native () {
 	rm -f ${D}${base_bindir}/kill
 }
 
+# dm-verity support introduces a circular build dependency, so util-linux-libuuid is split out for target builds
+# Need to build libuuid for uuidgen, but then delete it and let the other recipe ship it
+do_install_append () {
+	rm -rf ${D}${includedir}/uuid ${D}${libdir}/pkgconfig/uuid.pc ${D}${libdir}/libuuid* ${D}${base_libdir}/libuuid*
+}
+
 ALTERNATIVE_PRIORITY = "80"
 
 ALTERNATIVE_LINK_NAME[blkid] = "${base_sbindir}/blkid"
diff --git a/poky/meta/recipes-devtools/apt/apt/0001-Disable-documentation-directory-altogether.patch b/poky/meta/recipes-devtools/apt/apt/0001-Disable-documentation-directory-altogether.patch
index cc422b74d..8b28ede8a 100644
--- a/poky/meta/recipes-devtools/apt/apt/0001-Disable-documentation-directory-altogether.patch
+++ b/poky/meta/recipes-devtools/apt/apt/0001-Disable-documentation-directory-altogether.patch
@@ -1,4 +1,4 @@
-From cd164b353ba7958d51b2f33f4079fb9787c983e2 Mon Sep 17 00:00:00 2001
+From f629d1c3fcfb560ed24efc3e73d4e4999b1eab33 Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin 
 Date: Fri, 10 May 2019 14:16:47 +0200
 Subject: [PATCH] Disable documentation directory altogether
@@ -13,11 +13,11 @@ Signed-off-by: Alexander Kanavin 
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 83334ba..2cd4f8e 100644
+index 9745c13..7cfc9ee 100644
 --- a/CMakeLists.txt
 +++ b/CMakeLists.txt
-@@ -232,7 +232,7 @@ add_subdirectory(apt-private)
- add_subdirectory(apt-inst)
+@@ -239,7 +239,7 @@ add_subdirectory(apt-pkg)
+ add_subdirectory(apt-private)
  add_subdirectory(cmdline)
  add_subdirectory(completions)
 -add_subdirectory(doc)
diff --git a/poky/meta/recipes-devtools/apt/apt/0001-Do-not-configure-packages-on-installation.patch b/poky/meta/recipes-devtools/apt/apt/0001-Do-not-configure-packages-on-installation.patch
deleted file mode 100644
index 81b328a2e..000000000
--- a/poky/meta/recipes-devtools/apt/apt/0001-Do-not-configure-packages-on-installation.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From 96d23fc57d1ff9c851d563d6d6a6c4752dc4f1b6 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin 
-Date: Thu, 21 May 2020 20:28:12 +0000
-Subject: [PATCH] Do not configure packages on installation
-
-This is done separately in do_rootfs().
-
-Upstream-Status: Inappropriate [oe-core specific]
-Signed-off-by: Alexander Kanavin 
-
----
- apt-pkg/packagemanager.cc | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/apt-pkg/packagemanager.cc b/apt-pkg/packagemanager.cc
-index 156f7ad..0f6a87c 100644
---- a/apt-pkg/packagemanager.cc
-+++ b/apt-pkg/packagemanager.cc
-@@ -1013,10 +1013,12 @@ bool pkgPackageManager::SmartUnPack(PkgIterator Pkg, bool const Immediate, int c
-       return false;
- 
-    if (Immediate == true) {
-+#if 0
-       // Perform immediate configuration of the package. 
-          if (SmartConfigure(Pkg, Depth + 1) == false)
-             _error->Error(_("Could not perform immediate configuration on '%s'. "
-                "Please see man 5 apt.conf under APT::Immediate-Configure for details. (%d)"),Pkg.FullName().c_str(),2);
-+#endif
-    }
-    
-    return true;
-@@ -1111,6 +1113,7 @@ pkgPackageManager::OrderResult pkgPackageManager::OrderInstall()
-       }
-    }
- 
-+#if 0
-    // Final run through the configure phase
-    if (ConfigureAll() == false)
-       return Failed;
-@@ -1125,7 +1128,7 @@ pkgPackageManager::OrderResult pkgPackageManager::OrderInstall()
- 	 return Failed;
-       }
-    }
--	 
-+#endif	 
-    return Completed;
- }
- // PM::DoInstallPostFork - compat /*{{{*/
diff --git a/poky/meta/recipes-devtools/apt/apt/0001-Do-not-init-tables-from-dpkg-configuration.patch b/poky/meta/recipes-devtools/apt/apt/0001-Do-not-init-tables-from-dpkg-configuration.patch
index 1417153e8..e0e7e0cd5 100644
--- a/poky/meta/recipes-devtools/apt/apt/0001-Do-not-init-tables-from-dpkg-configuration.patch
+++ b/poky/meta/recipes-devtools/apt/apt/0001-Do-not-init-tables-from-dpkg-configuration.patch
@@ -1,4 +1,4 @@
-From bf45c314867e5fb12141803fba06f3e45679d628 Mon Sep 17 00:00:00 2001
+From 382f8381ef8baf754057e376a6d9bf840ca6d543 Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin 
 Date: Fri, 10 May 2019 16:47:38 +0200
 Subject: [PATCH] Do not init tables from dpkg configuration
@@ -13,7 +13,7 @@ Signed-off-by: Alexander Kanavin 
  1 file changed, 2 insertions(+), 2 deletions(-)
 
 diff --git a/apt-pkg/init.cc b/apt-pkg/init.cc
-index a619368..6e5a6cf 100644
+index b9d9b15..1725c59 100644
 --- a/apt-pkg/init.cc
 +++ b/apt-pkg/init.cc
 @@ -281,8 +281,8 @@ bool pkgInitSystem(Configuration &Cnf,pkgSystem *&Sys)
diff --git a/poky/meta/recipes-devtools/apt/apt/0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch b/poky/meta/recipes-devtools/apt/apt/0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch
index 37f969690..c14dc2a41 100644
--- a/poky/meta/recipes-devtools/apt/apt/0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch
+++ b/poky/meta/recipes-devtools/apt/apt/0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch
@@ -1,4 +1,4 @@
-From 34700bebc52659e7e3eecd252f65bd36e669eee8 Mon Sep 17 00:00:00 2001
+From a603b3281f3f60a87531c8cec4843f970170d409 Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin 
 Date: Thu, 21 May 2020 20:13:25 +0000
 Subject: [PATCH] Revert "always run 'dpkg --configure -a' at the end of our
@@ -20,10 +20,10 @@ Signed-off-by: Alexander Kanavin 
  1 file changed, 2 insertions(+), 7 deletions(-)
 
 diff --git a/apt-pkg/deb/dpkgpm.cc b/apt-pkg/deb/dpkgpm.cc
-index ffa880d..5875e86 100644
+index 46a6dee..8617a9e 100644
 --- a/apt-pkg/deb/dpkgpm.cc
 +++ b/apt-pkg/deb/dpkgpm.cc
-@@ -1215,12 +1215,6 @@ void pkgDPkgPM::BuildPackagesProgressMap()
+@@ -1211,12 +1211,6 @@ void pkgDPkgPM::BuildPackagesProgressMap()
  	 }
        }
     }
@@ -35,8 +35,8 @@ index ffa880d..5875e86 100644
 -   ++PackagesTotal;
  }
                                                                          /*}}}*/
- bool pkgDPkgPM::Go(int StatusFd)					/*{{{*/
-@@ -1716,7 +1710,8 @@ bool pkgDPkgPM::Go(APT::Progress::PackageManager *progress)
+ void pkgDPkgPM::StartPtyMagic()						/*{{{*/
+@@ -1710,7 +1704,8 @@ bool pkgDPkgPM::Go(APT::Progress::PackageManager *progress)
  
        // support subpressing of triggers processing for special
        // cases like d-i that runs the triggers handling manually
diff --git a/poky/meta/recipes-devtools/apt/apt/0001-cmake-Do-not-build-po-files.patch b/poky/meta/recipes-devtools/apt/apt/0001-cmake-Do-not-build-po-files.patch
new file mode 100644
index 000000000..2837b7f1b
--- /dev/null
+++ b/poky/meta/recipes-devtools/apt/apt/0001-cmake-Do-not-build-po-files.patch
@@ -0,0 +1,37 @@
+From 33347f9f8301633b01af4e208b7be5fdfcb0df0c Mon Sep 17 00:00:00 2001
+From: Khem Raj 
+Date: Sat, 20 Mar 2021 14:45:18 -0700
+Subject: [PATCH] cmake: Do not build po files
+
+Fixes
+| CMake Error at CMakeLists.txt:252 (add_dependencies):
+|   The dependency target "update-po4a" of target "update-po" does not exist.
+|
+
+Upstream-Status: Inappropriate [Cross-compile specific]
+Signed-off-by: Khem Raj 
+---
+ CMakeLists.txt | 7 -------
+ 1 file changed, 7 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 3c8ec3f..821a24f 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -245,13 +245,6 @@ add_subdirectory(ftparchive)
+ add_subdirectory(methods)
+ add_subdirectory(test)
+ 
+-if (USE_NLS)
+-add_subdirectory(po)
+-
+-# Link update-po4a into the update-po target
+-add_dependencies(update-po update-po4a)
+-endif()
+-
+ # Create our directories.
+ install_empty_directories(
+   ${CONF_DIR}/apt.conf.d
+-- 
+2.31.0
+
diff --git a/poky/meta/recipes-devtools/apt/apt/0001-srvrec-Keep-support-for-older-resolver.patch b/poky/meta/recipes-devtools/apt/apt/0001-srvrec-Keep-support-for-older-resolver.patch
new file mode 100644
index 000000000..94d67a87a
--- /dev/null
+++ b/poky/meta/recipes-devtools/apt/apt/0001-srvrec-Keep-support-for-older-resolver.patch
@@ -0,0 +1,44 @@
+From f98c12b9f04ef3a9daec822c210044095b41a0ac Mon Sep 17 00:00:00 2001
+From: Khem Raj 
+Date: Sat, 20 Mar 2021 12:33:34 -0700
+Subject: [PATCH] srvrec: Keep support for older resolver
+
+Some C libraries e.g. musl do not implement the new res_n* APIs
+therefore keep the old implementation as fallback and check __RES
+version macro to determine the API level
+
+Upstream-Status: Submitted [https://github.com/Debian/apt/pull/129]
+Signed-off-by: Khem Raj 
+Cc: Julian Andres Klode 
+---
+ apt-pkg/contrib/srvrec.cc | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/apt-pkg/contrib/srvrec.cc b/apt-pkg/contrib/srvrec.cc
+index 4ca208273..3eb5f1d4c 100644
+--- a/apt-pkg/contrib/srvrec.cc
++++ b/apt-pkg/contrib/srvrec.cc
+@@ -62,6 +62,7 @@ bool GetSrvRecords(std::string name, std::vector &Result)
+    unsigned char answer[PACKETSZ];
+    int answer_len, compressed_name_len;
+    int answer_count;
++#if __RES >= 19991006
+    struct __res_state res;
+ 
+    if (res_ninit(&res) != 0)
+@@ -71,6 +72,12 @@ bool GetSrvRecords(std::string name, std::vector &Result)
+    std::shared_ptr guard(&res, res_nclose);
+ 
+    answer_len = res_nquery(&res, name.c_str(), C_IN, T_SRV, answer, sizeof(answer));
++#else
++   if (res_init() != 0)
++      return _error->Errno("res_init", "Failed to init resolver");
++
++   answer_len = res_query(name.c_str(), C_IN, T_SRV, answer, sizeof(answer));
++#endif //__RES >= 19991006
+    if (answer_len == -1)
+       return false;
+    if (answer_len < (int)sizeof(HEADER))
+-- 
+2.31.0
+
diff --git a/poky/meta/recipes-devtools/apt/apt/0001-test-libapt-do-not-use-gtest-from-the-host.patch b/poky/meta/recipes-devtools/apt/apt/0001-test-libapt-do-not-use-gtest-from-the-host.patch
deleted file mode 100644
index 503b5a5c0..000000000
--- a/poky/meta/recipes-devtools/apt/apt/0001-test-libapt-do-not-use-gtest-from-the-host.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From 28e389a0d1275e7693df84a7d4a58b28364be1a9 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin 
-Date: Thu, 22 Oct 2020 17:33:38 +0200
-Subject: [PATCH] test/libapt: do not use gtest from the host
-
-This really does not work when cross-compiling.
-
-Upstream-Status: Inappropriate [oe-core specific]
-Signed-off-by: Alexander Kanavin 
----
- test/libapt/CMakeLists.txt | 16 ----------------
- 1 file changed, 16 deletions(-)
-
-diff --git a/test/libapt/CMakeLists.txt b/test/libapt/CMakeLists.txt
-index 035ff07..280b83c 100644
---- a/test/libapt/CMakeLists.txt
-+++ b/test/libapt/CMakeLists.txt
-@@ -6,22 +6,6 @@ find_path(GTEST_ROOT src/gtest.cc
- find_package(GTest)
- set(GTEST_DEPENDENCIES)
- 
--if(NOT GTEST_FOUND AND EXISTS ${GTEST_ROOT})
--   include(ExternalProject)
--   ExternalProject_Add(gtest PREFIX ./gtest
--                             SOURCE_DIR ${GTEST_ROOT}
--                             INSTALL_COMMAND true)
--
--   link_directories(${CMAKE_CURRENT_BINARY_DIR}/gtest/src/gtest-build)
--
--   set(GTEST_LIBRARIES "-lgtest")
--   set(GTEST_DEPENDENCIES "gtest")
--   set(GTEST_FOUND TRUE)
--   find_path(GTEST_INCLUDE_DIRS NAMES gtest/gtest.h PATHS ${GTEST_ROOT}/include)
--
--   message(STATUS "Found GTest at ${GTEST_ROOT}, headers at ${GTEST_INCLUDE_DIRS}")
--endif()
--
- if(GTEST_FOUND)
-    # gtest produces some warnings with the set of warnings we activate,
-    # so disable the offending warnings while compiling tests for now
diff --git a/poky/meta/recipes-devtools/apt/apt_1.8.2.2.bb b/poky/meta/recipes-devtools/apt/apt_1.8.2.2.bb
deleted file mode 100644
index 6cda61a7d..000000000
--- a/poky/meta/recipes-devtools/apt/apt_1.8.2.2.bb
+++ /dev/null
@@ -1,132 +0,0 @@
-SUMMARY = "Advanced front-end for dpkg"
-DESCRIPTION = "APT is the Advanced Package Tool, an advanced interface to the Debian packaging system which provides the apt-get program."
-HOMEPAGE = "https://packages.debian.org/jessie/apt"
-LICENSE = "GPLv2.0+"
-SECTION = "base"
-
-# Triehash script taken from https://github.com/julian-klode/triehash
-SRC_URI = "${DEBIAN_MIRROR}/main/a/apt/${BPN}_${PV}.tar.xz \
-           file://triehash \
-           file://0001-Disable-documentation-directory-altogether.patch \
-           file://0001-Fix-musl-build.patch \
-           file://0001-CMakeLists.txt-avoid-changing-install-paths-based-on.patch \
-           file://0001-test-libapt-do-not-use-gtest-from-the-host.patch \
-           "
-     
-SRC_URI_append_class-native = " \
-           file://0001-Do-not-init-tables-from-dpkg-configuration.patch \
-           file://0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch \
-           file://0001-Do-not-configure-packages-on-installation.patch \
-           "
-
-SRC_URI_append_class-nativesdk = " \
-           file://0001-Do-not-init-tables-from-dpkg-configuration.patch \
-           file://0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch \
-           file://0001-Do-not-configure-packages-on-installation.patch \
-           "
-
-SRC_URI[sha256sum] = "f5030de22a5cc80db6fe0d42373b5df25d7dc56e94d9155f2eaa80dbd65e82fa"
-LIC_FILES_CHKSUM = "file://COPYING.GPL;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-# the package is taken from snapshots.debian.org; that source is static and goes stale
-# so we check the latest upstream from a directory that does get updated
-UPSTREAM_CHECK_URI = "${DEBIAN_MIRROR}/main/a/apt/"
-
-inherit cmake perlnative bash-completion upstream-version-is-even useradd
-
-# User is added to allow apt to drop privs, will runtime warn without
-USERADD_PACKAGES = "${PN}"
-USERADD_PARAM_${PN} = "--system --home /nonexistent --no-create-home _apt"
-
-BBCLASSEXTEND = "native nativesdk"
-
-DEPENDS += "virtual/libiconv virtual/libintl db gnutls lz4 zlib bzip2 xz"
-
-EXTRA_OECMAKE_append = " -DCURRENT_VENDOR=debian -DWITH_DOC=False \
-    -DUSE_NLS=False -DDPKG_DATADIR=${datadir}/dpkg \
-    -DTRIEHASH_EXECUTABLE=${WORKDIR}/triehash \
-    -DCMAKE_DISABLE_FIND_PACKAGE_Zstd=True \
-"
-
-do_configure_prepend () {
-    echo "set( CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH )" >>  ${WORKDIR}/toolchain.cmake
-
-}
-
-# Unfortunately apt hardcodes this all over the place
-FILES_${PN} += "${prefix}/lib/dpkg ${prefix}/lib/apt"
-RDEPENDS_${PN} += "bash perl dpkg"
-
-customize_apt_conf_sample() {
-    cat > ${D}${sysconfdir}/apt/apt.conf.sample << EOF
-Dir "${STAGING_DIR_NATIVE}/"
-{
-   State "var/lib/apt/"
-   {
-      Lists "#APTCONF#/lists/";
-      status "#ROOTFS#/var/lib/dpkg/status";
-   };
-   Cache "var/cache/apt/"
-   {
-      Archives "archives/";
-      pkgcache "";
-      srcpkgcache "";
-   };
-   Bin "${STAGING_BINDIR_NATIVE}/"
-   {
-      methods "${STAGING_LIBDIR}/apt/methods/";
-      gzip "/bin/gzip";
-      dpkg "dpkg";
-      dpkg-source "dpkg-source";
-      dpkg-buildpackage "dpkg-buildpackage";
-      apt-get "apt-get";
-      apt-cache "apt-cache";
-   };
-   Etc "#APTCONF#"
-   {
-      Preferences "preferences";
-   };
-   Log "var/log/apt";
-};
-
-APT
-{
-  Install-Recommends "true";
-  Immediate-Configure "false";
-  Architecture "i586";
-  Get
-  {
-     Assume-Yes "true";
-  };
-};
-
-Acquire
-{
-  AllowInsecureRepositories "true";
-};
-
-DPkg::Options {"--root=#ROOTFS#";"--admindir=#ROOTFS#/var/lib/dpkg";"--force-all";"--no-debsig"};
-DPkg::Path "";
-EOF
-}
-
-do_install_append_class-native() {
-    customize_apt_conf_sample
-}
-
-do_install_append_class-nativesdk() {
-    customize_apt_conf_sample
-}
-
-
-do_install_append_class-target() {
-    #Write the correct apt-architecture to apt.conf
-    APT_CONF=${D}/etc/apt/apt.conf
-    echo 'APT::Architecture "${DPKG_ARCH}";' > ${APT_CONF}
-}
-
-# Avoid non-reproducible -src package
-do_install_append () {
-        sed -i -e "s,${B},,g" \
-            ${B}/apt-pkg/tagfile-keys.cc
-}
diff --git a/poky/meta/recipes-devtools/apt/apt_2.2.2.bb b/poky/meta/recipes-devtools/apt/apt_2.2.2.bb
new file mode 100644
index 000000000..d1aa5de8d
--- /dev/null
+++ b/poky/meta/recipes-devtools/apt/apt_2.2.2.bb
@@ -0,0 +1,131 @@
+SUMMARY = "Advanced front-end for dpkg"
+DESCRIPTION = "APT is the Advanced Package Tool, an advanced interface to the Debian packaging system which provides the apt-get program."
+HOMEPAGE = "https://packages.debian.org/jessie/apt"
+LICENSE = "GPLv2.0+"
+SECTION = "base"
+
+# Triehash script taken from https://github.com/julian-klode/triehash
+SRC_URI = "${DEBIAN_MIRROR}/main/a/apt/${BPN}_${PV}.tar.xz \
+           file://triehash \
+           file://0001-Disable-documentation-directory-altogether.patch \
+           file://0001-Fix-musl-build.patch \
+           file://0001-CMakeLists.txt-avoid-changing-install-paths-based-on.patch \
+           file://0001-srvrec-Keep-support-for-older-resolver.patch \
+           file://0001-cmake-Do-not-build-po-files.patch \
+           "
+
+SRC_URI_append_class-native = " \
+           file://0001-Do-not-init-tables-from-dpkg-configuration.patch \
+           file://0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch \
+           "
+
+SRC_URI_append_class-nativesdk = " \
+           file://0001-Do-not-init-tables-from-dpkg-configuration.patch \
+           file://0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch \
+           "
+
+SRC_URI[sha256sum] = "c5449a4c2126a12497a9949cd10209926005d329f6ce7942a3781fa2fcf50487"
+LIC_FILES_CHKSUM = "file://COPYING.GPL;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+# the package is taken from snapshots.debian.org; that source is static and goes stale
+# so we check the latest upstream from a directory that does get updated
+UPSTREAM_CHECK_URI = "${DEBIAN_MIRROR}/main/a/apt/"
+
+inherit cmake perlnative bash-completion upstream-version-is-even useradd
+
+# User is added to allow apt to drop privs, will runtime warn without
+USERADD_PACKAGES = "${PN}"
+USERADD_PARAM_${PN} = "--system --home /nonexistent --no-create-home _apt"
+
+BBCLASSEXTEND = "native nativesdk"
+
+DEPENDS += "db gnutls lz4 zlib bzip2 xz libgcrypt xxhash"
+
+EXTRA_OECMAKE_append = " -DCURRENT_VENDOR=debian -DWITH_DOC=False \
+    -DDPKG_DATADIR=${datadir}/dpkg \
+    -DTRIEHASH_EXECUTABLE=${WORKDIR}/triehash \
+    -DWITH_TESTS=False \
+"
+
+do_configure_prepend () {
+    echo "set( CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH )" >>  ${WORKDIR}/toolchain.cmake
+
+}
+
+# Unfortunately apt hardcodes this all over the place
+FILES_${PN} += "${prefix}/lib/dpkg ${prefix}/lib/apt"
+RDEPENDS_${PN} += "bash perl dpkg"
+
+customize_apt_conf_sample() {
+    cat > ${D}${sysconfdir}/apt/apt.conf.sample << EOF
+Dir "${STAGING_DIR_NATIVE}/"
+{
+   State "var/lib/apt/"
+   {
+      Lists "#APTCONF#/lists/";
+      status "#ROOTFS#/var/lib/dpkg/status";
+   };
+   Cache "var/cache/apt/"
+   {
+      Archives "archives/";
+      pkgcache "";
+      srcpkgcache "";
+   };
+   Bin "${STAGING_BINDIR_NATIVE}/"
+   {
+      methods "${STAGING_LIBDIR}/apt/methods/";
+      gzip "/bin/gzip";
+      dpkg "dpkg";
+      dpkg-source "dpkg-source";
+      dpkg-buildpackage "dpkg-buildpackage";
+      apt-get "apt-get";
+      apt-cache "apt-cache";
+   };
+   Etc "#APTCONF#"
+   {
+      Preferences "preferences";
+   };
+   Log "var/log/apt";
+};
+
+APT
+{
+  Install-Recommends "true";
+  Immediate-Configure "false";
+  Architecture "i586";
+  Get
+  {
+     Assume-Yes "true";
+  };
+};
+
+Acquire
+{
+  AllowInsecureRepositories "true";
+};
+
+DPkg::Options {"--root=#ROOTFS#";"--admindir=#ROOTFS#/var/lib/dpkg";"--force-all";"--no-debsig"};
+DPkg::Path "";
+EOF
+}
+
+do_install_append_class-native() {
+    customize_apt_conf_sample
+}
+
+do_install_append_class-nativesdk() {
+    customize_apt_conf_sample
+}
+
+
+do_install_append_class-target() {
+    #Write the correct apt-architecture to apt.conf
+    APT_CONF=${D}/etc/apt/apt.conf
+    echo 'APT::Architecture "${DPKG_ARCH}";' > ${APT_CONF}
+}
+
+# Avoid non-reproducible -src package
+do_install_append () {
+        sed -i -e "s,${B},,g" \
+            ${B}/apt-pkg/tagfile-keys.cc
+}
diff --git a/poky/meta/recipes-devtools/automake/automake/automake-replace-w-option-in-shebangs-with-modern-use-warnings.patch b/poky/meta/recipes-devtools/automake/automake/automake-replace-w-option-in-shebangs-with-modern-use-warnings.patch
deleted file mode 100644
index 0e84c4bf8..000000000
--- a/poky/meta/recipes-devtools/automake/automake/automake-replace-w-option-in-shebangs-with-modern-use-warnings.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-From 857c843d4bcf576467b505eb05a47f3e7d32caaa Mon Sep 17 00:00:00 2001
-From: Serhii Popovych 
-Date: Wed, 10 Feb 2016 17:07:32 +0000
-Subject: [PATCH] perl: Replace -w option in shebangs with modern "use
- warnings" In some builds we might provide ac_cv_path_PERL as /usr/bin/env
- perl to use newer version of the perl from users PATH rather than older from
- standard system path.
-
-However using /usr/bin/env perl -w from shebang line isn't
-possible because it translates to something like
-/usr/bin/env -w perl and env complains about illegal option.
-
-To address this we can remove -w option from perl shebang
-line and add "use warnings" statement.
-
-Upstream-Status: Pending
-Signed-off-by: Serhii Popovych 
-Signed-off-by: Robert Yang 
-
----
- bin/aclocal.in  | 3 ++-
- bin/automake.in | 3 ++-
- 2 files changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/bin/aclocal.in b/bin/aclocal.in
-index 9a20325..bd185d4 100644
---- a/bin/aclocal.in
-+++ b/bin/aclocal.in
-@@ -1,4 +1,4 @@
--#!@PERL@ -w
-+#!@PERL@
- # aclocal - create aclocal.m4 by scanning configure.ac      -*- perl -*-
- # @configure_input@
- # Copyright (C) 1996-2020 Free Software Foundation, Inc.
-@@ -26,6 +26,7 @@ BEGIN
- }
- 
- use strict;
-+use warnings;
- 
- use Automake::Config;
- use Automake::General;
-diff --git a/bin/automake.in b/bin/automake.in
-index 5ed404a..d387b8e 100644
---- a/bin/automake.in
-+++ b/bin/automake.in
-@@ -1,4 +1,4 @@
--#!@PERL@ -w
-+#!@PERL@
- # automake - create Makefile.in from Makefile.am            -*- perl -*-
- # @configure_input@
- # Copyright (C) 1994-2020 Free Software Foundation, Inc.
-@@ -23,6 +23,7 @@
- package Automake;
- 
- use strict;
-+use warnings;
- 
- BEGIN
- {
diff --git a/poky/meta/recipes-devtools/automake/automake/python-libdir.patch b/poky/meta/recipes-devtools/automake/automake/python-libdir.patch
index ee1f725f7..f319fc001 100644
--- a/poky/meta/recipes-devtools/automake/automake/python-libdir.patch
+++ b/poky/meta/recipes-devtools/automake/automake/python-libdir.patch
@@ -1,4 +1,4 @@
-From a80dacd5124d0713cf2c986b28d736e78dc6b0ca Mon Sep 17 00:00:00 2001
+From 61bd143910001aaf610416d7ca56c52c0b081318 Mon Sep 17 00:00:00 2001
 From: Kumar Gala 
 Date: Thu, 11 Aug 2011 01:26:33 -0500
 Subject: [PATCH] automake: Update for python.m4 to respect libdir
@@ -17,11 +17,11 @@ Signed-off-by: Alexander Kanavin 
  1 file changed, 7 insertions(+), 20 deletions(-)
 
 diff --git a/m4/python.m4 b/m4/python.m4
-index 63c0a0e..7bbd2d2 100644
+index b2302ba..dbc6954 100644
 --- a/m4/python.m4
 +++ b/m4/python.m4
-@@ -94,12 +94,13 @@ AC_DEFUN([AM_PATH_PYTHON],
-     [am_cv_python_version=`$PYTHON -c "import sys; sys.stdout.write(sys.version[[:3]])"`])
+@@ -96,12 +96,13 @@ AC_DEFUN([AM_PATH_PYTHON],
+     [am_cv_python_version=`$PYTHON -c "import sys; print('%u.%u' % sys.version_info[[:2]])"`])
    AC_SUBST([PYTHON_VERSION], [$am_cv_python_version])
  
 -  dnl Use the values of $prefix and $exec_prefix for the corresponding
@@ -36,7 +36,7 @@ index 63c0a0e..7bbd2d2 100644
    AC_SUBST([PYTHON_EXEC_PREFIX], ['${exec_prefix}'])
  
    dnl At times (like when building shared libraries) you may want
-@@ -144,14 +145,7 @@ except ImportError:
+@@ -146,14 +147,7 @@ except ImportError:
       else
         am_py_prefix=$prefix
       fi
@@ -52,7 +52,7 @@ index 63c0a0e..7bbd2d2 100644
       case $am_cv_python_pythondir in
       $am_py_prefix*)
         am__strip_prefix=`echo "$am_py_prefix" | sed 's|.|.|g'`
-@@ -161,7 +155,7 @@ sys.stdout.write(sitedir)"`
+@@ -163,7 +157,7 @@ sys.stdout.write(sitedir)"`
         case $am_py_prefix in
           /usr|/System*) ;;
           *)
@@ -61,7 +61,7 @@ index 63c0a0e..7bbd2d2 100644
  	  ;;
         esac
         ;;
-@@ -186,14 +180,7 @@ sys.stdout.write(sitedir)"`
+@@ -188,14 +182,7 @@ sys.stdout.write(sitedir)"`
       else
         am_py_exec_prefix=$exec_prefix
       fi
@@ -77,7 +77,7 @@ index 63c0a0e..7bbd2d2 100644
       case $am_cv_python_pyexecdir in
       $am_py_exec_prefix*)
         am__strip_prefix=`echo "$am_py_exec_prefix" | sed 's|.|.|g'`
-@@ -203,7 +190,7 @@ sys.stdout.write(sitedir)"`
+@@ -205,7 +192,7 @@ sys.stdout.write(sitedir)"`
         case $am_py_exec_prefix in
           /usr|/System*) ;;
           *)
diff --git a/poky/meta/recipes-devtools/automake/automake_1.16.2.bb b/poky/meta/recipes-devtools/automake/automake_1.16.2.bb
deleted file mode 100644
index 08ec03462..000000000
--- a/poky/meta/recipes-devtools/automake/automake_1.16.2.bb
+++ /dev/null
@@ -1,43 +0,0 @@
-require automake.inc
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-DEPENDS_class-native = "autoconf-native"
-
-NAMEVER = "${@oe.utils.trim_version("${PV}", 2)}"
-
-RDEPENDS_${PN} += "\
-    autoconf \
-    perl \
-    perl-module-bytes \
-    perl-module-data-dumper \
-    perl-module-strict \
-    perl-module-text-parsewords \
-    perl-module-thread-queue \
-    perl-module-threads \
-    perl-module-vars "
-
-RDEPENDS_${PN}_class-native = "autoconf-native hostperl-runtime-native"
-
-SRC_URI += "file://python-libdir.patch \
-            file://buildtest.patch \
-            file://performance.patch \
-            file://new_rt_path_for_test-driver.patch \
-            file://automake-replace-w-option-in-shebangs-with-modern-use-warnings.patch \
-            file://0001-automake-Add-default-libtool_tag-to-cppasm.patch \
-            file://0001-build-fix-race-in-parallel-builds.patch \
-            "
-
-SRC_URI[md5sum] = "f1a14f2ab2b0fb861a011e1d94e589e0"
-SRC_URI[sha256sum] = "b2f361094b410b4acbf4efba7337bdb786335ca09eb2518635a09fb7319ca5c1"
-
-PERL = "${USRBINPATH}/perl"
-PERL_class-native = "${USRBINPATH}/env perl"
-PERL_class-nativesdk = "${USRBINPATH}/env perl"
-
-CACHED_CONFIGUREVARS += "ac_cv_path_PERL='${PERL}'"
-
-do_install_append () {
-    install -d ${D}${datadir}
-}
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/automake/automake_1.16.3.bb b/poky/meta/recipes-devtools/automake/automake_1.16.3.bb
new file mode 100644
index 000000000..7dc59d9fe
--- /dev/null
+++ b/poky/meta/recipes-devtools/automake/automake_1.16.3.bb
@@ -0,0 +1,41 @@
+require automake.inc
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+DEPENDS_class-native = "autoconf-native"
+
+NAMEVER = "${@oe.utils.trim_version("${PV}", 2)}"
+
+RDEPENDS_${PN} += "\
+    autoconf \
+    perl \
+    perl-module-bytes \
+    perl-module-data-dumper \
+    perl-module-strict \
+    perl-module-text-parsewords \
+    perl-module-thread-queue \
+    perl-module-threads \
+    perl-module-vars "
+
+RDEPENDS_${PN}_class-native = "autoconf-native hostperl-runtime-native"
+
+SRC_URI += "file://python-libdir.patch \
+           file://buildtest.patch \
+           file://performance.patch \
+           file://new_rt_path_for_test-driver.patch \
+           file://0001-automake-Add-default-libtool_tag-to-cppasm.patch \
+           file://0001-build-fix-race-in-parallel-builds.patch \
+           "
+
+SRC_URI[sha256sum] = "ce010788b51f64511a1e9bb2a1ec626037c6d0e7ede32c1c103611b9d3cba65f"
+
+PERL = "${USRBINPATH}/perl"
+PERL_class-native = "${USRBINPATH}/env perl"
+PERL_class-nativesdk = "${USRBINPATH}/env perl"
+
+CACHED_CONFIGUREVARS += "ac_cv_path_PERL='${PERL}'"
+
+do_install_append () {
+    install -d ${D}${datadir}
+}
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/dnf/dnf_4.5.2.bb b/poky/meta/recipes-devtools/dnf/dnf_4.5.2.bb
deleted file mode 100644
index c746dc30d..000000000
--- a/poky/meta/recipes-devtools/dnf/dnf_4.5.2.bb
+++ /dev/null
@@ -1,91 +0,0 @@
-SUMMARY = "Package manager forked from Yum, using libsolv as a dependency resolver"
-DESCRIPTION = "Software package manager that installs, updates, and removes \
-packages on RPM-based Linux distributions. It automatically computes \
-dependencies and determines the actions required to install packages."
-HOMEPAGE = "https://github.com/rpm-software-management/dnf"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
-                    file://PACKAGE-LICENSING;md5=4a0548e303dbc77f067335b4d688e745 \
-                    "
-
-SRC_URI = "git://github.com/rpm-software-management/dnf.git \
-           file://0001-Corretly-install-tmpfiles.d-configuration.patch \
-           file://0001-Do-not-hardcode-etc-and-systemd-unit-directories.patch \
-           file://0005-Do-not-prepend-installroot-to-logdir.patch \
-           file://0029-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch \
-           file://0030-Run-python-scripts-using-env.patch \
-           file://0001-set-python-path-for-completion_helper.patch \
-           file://0001-dnf-write-the-log-lock-to-root.patch \
-           "
-
-SRCREV = "36a3ffaee4db76a7efe7d40f4e42ce679b6a6920"
-UPSTREAM_CHECK_GITTAGREGEX = "(?P\d+(\.\d+)+)"
-
-S = "${WORKDIR}/git"
-
-inherit cmake gettext bash-completion distutils3-base systemd
-
-DEPENDS += "libdnf librepo libcomps python3-iniparse"
-
-# manpages generation requires http://www.sphinx-doc.org/
-EXTRA_OECMAKE = " -DWITH_MAN=0 -DPYTHON_INSTALL_DIR=${PYTHON_SITEPACKAGES_DIR} -DPYTHON_DESIRED=3"
-
-BBCLASSEXTEND = "native nativesdk"
-
-RDEPENDS_${PN} += " \
-  python3-core \
-  python3-codecs \
-  python3-netclient \
-  python3-email \
-  python3-threading \
-  python3-distutils \
-  python3-logging \
-  python3-fcntl \
-  librepo \
-  python3-shell \
-  libcomps \
-  libdnf \
-  python3-sqlite3 \
-  python3-compression \
-  python3-rpm \
-  python3-iniparse \
-  python3-json \
-  python3-curses \
-  python3-misc \
-  python3-gpg \
-  "
-
-RDEPENDS_${PN}_class-native = ""
-
-RRECOMMENDS_${PN}_class-target += "gnupg"
-
-# Create a symlink called 'dnf' as 'make install' does not do it, but
-# .spec file in dnf source tree does (and then Fedora and dnf documentation
-# says that dnf binary is plain 'dnf').
-do_install_append() {
-        lnr ${D}/${bindir}/dnf-3 ${D}/${bindir}/dnf
-        lnr ${D}/${bindir}/dnf-automatic-3 ${D}/${bindir}/dnf-automatic
-}
-
-# Direct dnf-native to read rpm configuration from our sysroot, not the one it was compiled in
-do_install_append_class-native() {
-        create_wrapper ${D}/${bindir}/dnf \
-                RPM_CONFIGDIR=${STAGING_LIBDIR_NATIVE}/rpm \
-                RPM_NO_CHROOT_FOR_SCRIPTS=1
-}
-
-do_install_append_class-nativesdk() {
-        create_wrapper ${D}/${bindir}/dnf \
-                RPM_CONFIGDIR=${SDKPATHNATIVE}${libdir_nativesdk}/rpm \
-                RPM_NO_CHROOT_FOR_SCRIPTS=1
-}
-
-SYSTEMD_SERVICE_${PN} = "dnf-makecache.service dnf-makecache.timer \
-                         dnf-automatic.service dnf-automatic.timer \
-                         dnf-automatic-download.service dnf-automatic-download.timer \
-                         dnf-automatic-install.service dnf-automatic-install.timer \
-                         dnf-automatic-notifyonly.service dnf-automatic-notifyonly.timer \
-"
-SYSTEMD_AUTO_ENABLE ?= "disable"
-
-PNBLACKLIST[dnf] ?= "${@bb.utils.contains('PACKAGE_CLASSES', 'package_rpm', '', 'does not build without package_rpm in PACKAGE_CLASSES due disabled rpm support in libsolv', d)}"
diff --git a/poky/meta/recipes-devtools/dnf/dnf_4.6.0.bb b/poky/meta/recipes-devtools/dnf/dnf_4.6.0.bb
new file mode 100644
index 000000000..6651e6435
--- /dev/null
+++ b/poky/meta/recipes-devtools/dnf/dnf_4.6.0.bb
@@ -0,0 +1,91 @@
+SUMMARY = "Package manager forked from Yum, using libsolv as a dependency resolver"
+DESCRIPTION = "Software package manager that installs, updates, and removes \
+packages on RPM-based Linux distributions. It automatically computes \
+dependencies and determines the actions required to install packages."
+HOMEPAGE = "https://github.com/rpm-software-management/dnf"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+                    file://PACKAGE-LICENSING;md5=4a0548e303dbc77f067335b4d688e745 \
+                    "
+
+SRC_URI = "git://github.com/rpm-software-management/dnf.git \
+           file://0001-Corretly-install-tmpfiles.d-configuration.patch \
+           file://0001-Do-not-hardcode-etc-and-systemd-unit-directories.patch \
+           file://0005-Do-not-prepend-installroot-to-logdir.patch \
+           file://0029-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch \
+           file://0030-Run-python-scripts-using-env.patch \
+           file://0001-set-python-path-for-completion_helper.patch \
+           file://0001-dnf-write-the-log-lock-to-root.patch \
+           "
+
+SRCREV = "c826d7db401ebf9b59b2fa74570a919e4af2673e"
+UPSTREAM_CHECK_GITTAGREGEX = "(?P\d+(\.\d+)+)"
+
+S = "${WORKDIR}/git"
+
+inherit cmake gettext bash-completion distutils3-base systemd
+
+DEPENDS += "libdnf librepo libcomps python3-iniparse"
+
+# manpages generation requires http://www.sphinx-doc.org/
+EXTRA_OECMAKE = " -DWITH_MAN=0 -DPYTHON_INSTALL_DIR=${PYTHON_SITEPACKAGES_DIR} -DPYTHON_DESIRED=3"
+
+BBCLASSEXTEND = "native nativesdk"
+
+RDEPENDS_${PN} += " \
+  python3-core \
+  python3-codecs \
+  python3-netclient \
+  python3-email \
+  python3-threading \
+  python3-distutils \
+  python3-logging \
+  python3-fcntl \
+  librepo \
+  python3-shell \
+  libcomps \
+  libdnf \
+  python3-sqlite3 \
+  python3-compression \
+  python3-rpm \
+  python3-iniparse \
+  python3-json \
+  python3-curses \
+  python3-misc \
+  python3-gpg \
+  "
+
+RDEPENDS_${PN}_class-native = ""
+
+RRECOMMENDS_${PN}_class-target += "gnupg"
+
+# Create a symlink called 'dnf' as 'make install' does not do it, but
+# .spec file in dnf source tree does (and then Fedora and dnf documentation
+# says that dnf binary is plain 'dnf').
+do_install_append() {
+        lnr ${D}/${bindir}/dnf-3 ${D}/${bindir}/dnf
+        lnr ${D}/${bindir}/dnf-automatic-3 ${D}/${bindir}/dnf-automatic
+}
+
+# Direct dnf-native to read rpm configuration from our sysroot, not the one it was compiled in
+do_install_append_class-native() {
+        create_wrapper ${D}/${bindir}/dnf \
+                RPM_CONFIGDIR=${STAGING_LIBDIR_NATIVE}/rpm \
+                RPM_NO_CHROOT_FOR_SCRIPTS=1
+}
+
+do_install_append_class-nativesdk() {
+        create_wrapper ${D}/${bindir}/dnf \
+                RPM_CONFIGDIR=${SDKPATHNATIVE}${libdir_nativesdk}/rpm \
+                RPM_NO_CHROOT_FOR_SCRIPTS=1
+}
+
+SYSTEMD_SERVICE_${PN} = "dnf-makecache.service dnf-makecache.timer \
+                         dnf-automatic.service dnf-automatic.timer \
+                         dnf-automatic-download.service dnf-automatic-download.timer \
+                         dnf-automatic-install.service dnf-automatic-install.timer \
+                         dnf-automatic-notifyonly.service dnf-automatic-notifyonly.timer \
+"
+SYSTEMD_AUTO_ENABLE ?= "disable"
+
+PNBLACKLIST[dnf] ?= "${@bb.utils.contains('PACKAGE_CLASSES', 'package_rpm', '', 'does not build without package_rpm in PACKAGE_CLASSES due disabled rpm support in libsolv', d)}"
diff --git a/poky/meta/recipes-devtools/elfutils/elfutils_0.183.bb b/poky/meta/recipes-devtools/elfutils/elfutils_0.183.bb
index 16ed7c9dd..c0833686d 100644
--- a/poky/meta/recipes-devtools/elfutils/elfutils_0.183.bb
+++ b/poky/meta/recipes-devtools/elfutils/elfutils_0.183.bb
@@ -14,7 +14,6 @@ SRC_URI = "https://sourceware.org/elfutils/ftp/${PV}/${BP}.tar.bz2 \
            file://0001-dso-link-change.patch \
            file://0002-Fix-elf_cvt_gunhash-if-dest-and-src-are-same.patch \
            file://0003-fixheadercheck.patch \
-           file://0004-Disable-the-test-to-convert-euc-jp.patch \
            file://0006-Fix-build-on-aarch64-musl.patch \
            file://0001-libasm-may-link-with-libbz2-if-found.patch \
            file://0001-libelf-elf_end.c-check-data_list.data.d.d_buf-before.patch \
diff --git a/poky/meta/recipes-devtools/elfutils/files/0004-Disable-the-test-to-convert-euc-jp.patch b/poky/meta/recipes-devtools/elfutils/files/0004-Disable-the-test-to-convert-euc-jp.patch
deleted file mode 100644
index f407bdd0b..000000000
--- a/poky/meta/recipes-devtools/elfutils/files/0004-Disable-the-test-to-convert-euc-jp.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From cd36f34c722dd0babd7beb13c968aa0780c9f726 Mon Sep 17 00:00:00 2001
-From: Hongxu Jia 
-Date: Tue, 15 Aug 2017 17:24:06 +0800
-Subject: [PATCH] Disable the test to convert euc-jp
-
-Remove the test "Test against HP-UX 11.11 bug:
-No converter from EUC-JP to UTF-8 is provided"
-since we don't support HP-UX and if the euc-jp is not
-installed on the host, the dependence will be built without
-iconv support and will cause guild-native building fail.
-
-Upstream-Status: Inappropriate [OE specific]
-
-Signed-off-by: Roy Li 
-
-Rebase to 0.170
-Signed-off-by: Hongxu Jia 
-
----
- m4/iconv.m4 | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/m4/iconv.m4 b/m4/iconv.m4
-index aa159c5..d16312b 100644
---- a/m4/iconv.m4
-+++ b/m4/iconv.m4
-@@ -165,6 +165,7 @@ AC_DEFUN([AM_ICONV_LINK],
-       }
-   }
- #endif
-+#if 0
-   /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is
-      provided.  */
-   if (/* Try standardized names.  */
-@@ -176,6 +177,7 @@ AC_DEFUN([AM_ICONV_LINK],
-       /* Try HP-UX names.  */
-       && iconv_open ("utf8", "eucJP") == (iconv_t)(-1))
-     result |= 16;
-+#endif
-   return result;
- ]])],
-           [am_cv_func_iconv_works=yes], ,
diff --git a/poky/meta/recipes-devtools/fdisk/gptfdisk_1.0.6.bb b/poky/meta/recipes-devtools/fdisk/gptfdisk_1.0.6.bb
deleted file mode 100644
index 5112debf8..000000000
--- a/poky/meta/recipes-devtools/fdisk/gptfdisk_1.0.6.bb
+++ /dev/null
@@ -1,35 +0,0 @@
-SUMMARY = "Utility for modifying GPT disk partitioning"
-DESCRIPTION = "GPT fdisk is a disk partitioning tool loosely modeled on Linux fdisk, but used for modifying GUID Partition Table (GPT) disks. The related FixParts utility fixes some common problems on Master Boot Record (MBR) disks."
-HOMEPAGE = "https://sourceforge.net/projects/gptfdisk/"
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
-
-DEPENDS = "util-linux"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${PV}/${BP}.tar.gz \
-           file://0001-gptcurses-correctly-include-curses.h.patch \
-           "
-SRC_URI[sha256sum] = "ddc551d643a53f0bd4440345d3ae32c49b04a797e9c01036ea460b6bb4168ca8"
-
-UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/gptfdisk/files/gptfdisk/"
-UPSTREAM_CHECK_REGEX = "/gptfdisk/(?P(\d+[\.\-_]*)+)/"
-
-EXTRA_OEMAKE = "'CC=${CC}' 'CXX=${CXX}' gdisk fixparts ${PACKAGECONFIG_CONFARGS}"
-
-PACKAGECONFIG ??= "ncurses popt"
-PACKAGECONFIG[ncurses] = "cgdisk,,ncurses"
-PACKAGECONFIG[popt] = "sgdisk,,popt"
-
-do_install() {
-    install -d ${D}${sbindir}
-    for f in cgdisk sgdisk; do
-        if [ -x $f ]; then
-            install -m 0755 $f ${D}${sbindir}
-        fi
-    done
-    install -m 0755 gdisk ${D}${sbindir}
-    install -m 0755 fixparts ${D}${sbindir}
-}
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/fdisk/gptfdisk_1.0.7.bb b/poky/meta/recipes-devtools/fdisk/gptfdisk_1.0.7.bb
new file mode 100644
index 000000000..a697b74f9
--- /dev/null
+++ b/poky/meta/recipes-devtools/fdisk/gptfdisk_1.0.7.bb
@@ -0,0 +1,35 @@
+SUMMARY = "Utility for modifying GPT disk partitioning"
+DESCRIPTION = "GPT fdisk is a disk partitioning tool loosely modeled on Linux fdisk, but used for modifying GUID Partition Table (GPT) disks. The related FixParts utility fixes some common problems on Master Boot Record (MBR) disks."
+HOMEPAGE = "https://sourceforge.net/projects/gptfdisk/"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
+
+DEPENDS = "util-linux"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${PV}/${BP}.tar.gz \
+           file://0001-gptcurses-correctly-include-curses.h.patch \
+           "
+SRC_URI[sha256sum] = "754004b7f85b279287c7ac3c0469b1d7e0eae043a97a2e587b0560ca5f3828c0"
+
+UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/gptfdisk/files/gptfdisk/"
+UPSTREAM_CHECK_REGEX = "/gptfdisk/(?P(\d+[\.\-_]*)+)/"
+
+EXTRA_OEMAKE = "'CC=${CC}' 'CXX=${CXX}' gdisk fixparts ${PACKAGECONFIG_CONFARGS}"
+
+PACKAGECONFIG ??= "ncurses popt"
+PACKAGECONFIG[ncurses] = "cgdisk,,ncurses"
+PACKAGECONFIG[popt] = "sgdisk,,popt"
+
+do_install() {
+    install -d ${D}${sbindir}
+    for f in cgdisk sgdisk; do
+        if [ -x $f ]; then
+            install -m 0755 $f ${D}${sbindir}
+        fi
+    done
+    install -m 0755 gdisk ${D}${sbindir}
+    install -m 0755 fixparts ${D}${sbindir}
+}
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/gcc/gcc-cross.inc b/poky/meta/recipes-devtools/gcc/gcc-cross.inc
index 6fa8c274c..e08807afa 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-cross.inc
+++ b/poky/meta/recipes-devtools/gcc/gcc-cross.inc
@@ -21,7 +21,7 @@ require gcc-configure-common.inc
 # gnu) will hit a QA failure.
 LINKER_HASH_STYLE ?= "sysv"
 
-EXTRA_OECONF += "--enable-poison-system-directories"
+EXTRA_OECONF += "--enable-poison-system-directories=error"
 EXTRA_OECONF_append_sh4 = " \
     --with-multilib-list= \
     --enable-incomplete-targets \
diff --git a/poky/meta/recipes-devtools/gcc/gcc-sanitizers.inc b/poky/meta/recipes-devtools/gcc/gcc-sanitizers.inc
index 9e643ee27..d0348c481 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-sanitizers.inc
+++ b/poky/meta/recipes-devtools/gcc/gcc-sanitizers.inc
@@ -83,10 +83,11 @@ COMPATIBLE_HOST = '(x86_64|i.86|powerpc|sparc|s390|arm|aarch64).*-linux'
 # musl is currently broken entirely
 COMPATIBLE_HOST_libc-musl = 'null'
 
-FILES_libasan += "${libdir}/libasan.so.*"
+FILES_libasan += "${libdir}/libasan.so.* ${libdir}/libhwasan.so.*"
 FILES_libasan-dev += "\
     ${libdir}/libasan_preinit.o \
     ${libdir}/libasan.so \
+    ${libdir}/libhwasan.so \
     ${libdir}/libasan.la \
 "
 FILES_libasan-staticdev += "${libdir}/libasan.a"
diff --git a/poky/meta/recipes-devtools/gcc/gcc-target.inc b/poky/meta/recipes-devtools/gcc/gcc-target.inc
index 1e25dad86..164a669aa 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-target.inc
+++ b/poky/meta/recipes-devtools/gcc/gcc-target.inc
@@ -45,6 +45,7 @@ FILES_${PN} = "\
     ${bindir}/${TARGET_PREFIX}lto* \
     ${libexecdir}/gcc/${TARGET_SYS}/${BINV}/collect2* \
     ${libexecdir}/gcc/${TARGET_SYS}/${BINV}/cc1plus \
+    ${libexecdir}/gcc/${TARGET_SYS}/${BINV}/g++-mapper-server \
     ${libexecdir}/gcc/${TARGET_SYS}/${BINV}/lto* \
     ${libexecdir}/gcc/${TARGET_SYS}/${BINV}/lib*${SOLIBS} \
     ${libexecdir}/gcc/${TARGET_SYS}/${BINV}/liblto*${SOLIBSDEV} \
diff --git a/poky/meta/recipes-devtools/gcc/gcc/0002-gcc-poison-system-directories.patch b/poky/meta/recipes-devtools/gcc/gcc/0002-gcc-poison-system-directories.patch
index 30a848601..697bdc821 100644
--- a/poky/meta/recipes-devtools/gcc/gcc/0002-gcc-poison-system-directories.patch
+++ b/poky/meta/recipes-devtools/gcc/gcc/0002-gcc-poison-system-directories.patch
@@ -13,20 +13,21 @@ wants this to be a failure, they can add "-Werror=poison-system-directories".
 
 Signed-off-by: Mark Hatle 
 Signed-off-by: Khem Raj 
+Signed-off-by: Wang Mingyu 
 
 Upstream-Status: Pending
 ---
  gcc/common.opt      |  4 ++++
- gcc/config.in       |  6 ++++++
- gcc/configure       | 16 ++++++++++++++++
- gcc/configure.ac    | 10 ++++++++++
+ gcc/config.in       | 10 ++++++++++
+ gcc/configure       | 19 +++++++++++++++++++
+ gcc/configure.ac    | 16 ++++++++++++++++
  gcc/doc/invoke.texi |  9 +++++++++
- gcc/gcc.c           |  2 ++
+ gcc/gcc.c           |  9 +++++++--
  gcc/incpath.c       | 21 +++++++++++++++++++++
- 7 files changed, 68 insertions(+)
+ 7 files changed, 86 insertions(+), 2 deletions(-)
 
 diff --git a/gcc/common.opt b/gcc/common.opt
-index 65a82410abc..415f38fa1f4 100644
+index 3ec7743ea..d3c3e51dc 100644
 --- a/gcc/common.opt
 +++ b/gcc/common.opt
 @@ -682,6 +682,10 @@ Wreturn-local-addr
@@ -41,10 +42,10 @@ index 65a82410abc..415f38fa1f4 100644
  Common Var(warn_shadow) Warning
  Warn when one variable shadows another.  Same as -Wshadow=global.
 diff --git a/gcc/config.in b/gcc/config.in
-index 809e7b26823..5adeaeed36b 100644
+index 364eba477..7d2c3bbf1 100644
 --- a/gcc/config.in
 +++ b/gcc/config.in
-@@ -224,6 +224,12 @@
+@@ -224,6 +224,16 @@
  #endif
  
  
@@ -52,13 +53,17 @@ index 809e7b26823..5adeaeed36b 100644
 +#ifndef USED_FOR_TARGET
 +#undef ENABLE_POISON_SYSTEM_DIRECTORIES
 +#endif
++/* Define to warn for use of native system header directories */
++#ifndef USED_FOR_TARGET
++#undef POISON_BY_DEFAULT
++#endif
 +
 +
  /* Define if you want all operations on RTL (the basic data structure of the
     optimizer and back end) to be checked for dynamic type safety at runtime.
     This is quite expensive. */
 diff --git a/gcc/configure b/gcc/configure
-index cd3d9516fce..8de766a942c 100755
+index 2a9d646b4..a848792f2 100755
 --- a/gcc/configure
 +++ b/gcc/configure
 @@ -1010,6 +1010,7 @@ with_system_zlib
@@ -78,7 +83,7 @@ index cd3d9516fce..8de766a942c 100755
    --enable-plugin         enable plugin support
    --enable-host-shared    build host code as shared libraries
    --disable-libquadmath-support
-@@ -30235,6 +30238,19 @@ if test "${enable_version_specific_runtime_libs+set}" = set; then :
+@@ -30280,6 +30283,22 @@ if test "${enable_version_specific_runtime_libs+set}" = set; then :
  fi
  
  
@@ -89,9 +94,12 @@ index cd3d9516fce..8de766a942c 100755
 +  enable_poison_system_directories=no
 +fi
 +
-+if test "x${enable_poison_system_directories}" = "xyes"; then
++if test "x${enable_poison_system_directories}" != "xno"; then
 +
 +$as_echo "#define ENABLE_POISON_SYSTEM_DIRECTORIES 1" >>confdefs.h
++if test "$enable_poison_system_directories" = "error"; then
++$as_echo "#define POISON_BY_DEFAULT 1" >>confdefs.h
++fi
 +
 +fi
 +
@@ -99,31 +107,37 @@ index cd3d9516fce..8de766a942c 100755
  
  
 diff --git a/gcc/configure.ac b/gcc/configure.ac
-index 0de3b4bf97b..8bfd6feb780 100644
+index 51cce36ce..66ffde305 100644
 --- a/gcc/configure.ac
 +++ b/gcc/configure.ac
-@@ -6595,6 +6595,16 @@ AC_ARG_ENABLE(version-specific-runtime-libs,
+@@ -6614,6 +6614,22 @@ AC_ARG_ENABLE(version-specific-runtime-libs,
                  [specify that runtime libraries should be
                   installed in a compiler-specific directory])])
  
 +AC_ARG_ENABLE([poison-system-directories],
 +             AS_HELP_STRING([--enable-poison-system-directories],
-+                            [warn for use of native system header directories]),,
++			    [warn for use of native system header directories (no/yes/error)]),,
 +             [enable_poison_system_directories=no])
-+if test "x${enable_poison_system_directories}" = "xyes"; then
++AC_MSG_NOTICE([poisoned directories $enable_poison_system_directories])
++if test "x${enable_poison_system_directories}" != "xno"; then
++  AC_MSG_NOTICE([poisoned directories enabled])
 +  AC_DEFINE([ENABLE_POISON_SYSTEM_DIRECTORIES],
 +           [1],
 +           [Define to warn for use of native system header directories])
++  if test $enable_poison_system_directories = "error"; then
++   AC_MSG_NOTICE([poisoned directories are fatal])
++   AC_DEFINE([POISON_BY_DEFAULT], [1], [Define to make poison warnings errors])
++  fi
 +fi
 +
  # Substitute configuration variables
  AC_SUBST(subdirs)
  AC_SUBST(srcdir)
 diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
-index f98161391a0..f12d8d12150 100644
+index d929eb109..aa5ff88b1 100644
 --- a/gcc/doc/invoke.texi
 +++ b/gcc/doc/invoke.texi
-@@ -348,6 +348,7 @@ Objective-C and Objective-C++ Dialects}.
+@@ -351,6 +351,7 @@ Objective-C and Objective-C++ Dialects}.
  -Wpacked  -Wno-packed-bitfield-compat  -Wpacked-not-aligned  -Wpadded @gol
  -Wparentheses  -Wno-pedantic-ms-format @gol
  -Wpointer-arith  -Wno-pointer-compare  -Wno-pointer-to-int-cast @gol
@@ -131,7 +145,7 @@ index f98161391a0..f12d8d12150 100644
  -Wno-pragmas  -Wno-prio-ctor-dtor  -Wredundant-decls @gol
  -Wrestrict  -Wno-return-local-addr  -Wreturn-type @gol
  -Wno-scalar-storage-order  -Wsequence-point @gol
-@@ -6924,6 +6925,14 @@ made up of data only and thus requires no special treatment.  But, for
+@@ -6928,6 +6929,14 @@ made up of data only and thus requires no special treatment.  But, for
  most targets, it is made up of code and thus requires the stack to be
  made executable in order for the program to work properly.
  
@@ -147,10 +161,10 @@ index f98161391a0..f12d8d12150 100644
  @opindex Wfloat-equal
  @opindex Wno-float-equal
 diff --git a/gcc/gcc.c b/gcc/gcc.c
-index 9f790db0daf..b2200c5185a 100644
+index 49c9c6c17..24a92bf27 100644
 --- a/gcc/gcc.c
 +++ b/gcc/gcc.c
-@@ -1041,6 +1041,8 @@ proper position among the other output files.  */
+@@ -1044,6 +1044,8 @@ proper position among the other output files.  */
     "%{fuse-ld=*:-fuse-ld=%*} " LINK_COMPRESS_DEBUG_SPEC \
     "%X %{o*} %{e*} %{N} %{n} %{r}\
      %{s} %{t} %{u*} %{z} %{Z} %{!nostdlib:%{!r:%{!nostartfiles:%S}}} \
@@ -159,8 +173,22 @@ index 9f790db0daf..b2200c5185a 100644
      %{static|no-pie|static-pie:} %@{L*} %(mfwrap) %(link_libgcc) " \
      VTABLE_VERIFICATION_SPEC " " SANITIZER_EARLY_SPEC " %o "" \
      %{fopenacc|fopenmp|%:gt(%{ftree-parallelize-loops=*:%*} 1):\
+@@ -1138,8 +1140,11 @@ static const char *cpp_unique_options =
+ static const char *cpp_options =
+ "%(cpp_unique_options) %1 %{m*} %{std*&ansi&trigraphs} %{W*&pedantic*} %{w}\
+  %{f*} %{g*:%{%:debug-level-gt(0):%{g*}\
+- %{!fno-working-directory:-fworking-directory}}} %{O*}\
+- %{undef} %{save-temps*:-fpch-preprocess}";
++ %{!fno-working-directory:-fworking-directory}}} %{O*}"
++#ifdef POISON_BY_DEFAULT
++ " -Werror=poison-system-directories"
++#endif
++ " %{undef} %{save-temps*:-fpch-preprocess}";
+ 
+ /* This contains cpp options which are not passed when the preprocessor
+    output will be used by another program.  */
 diff --git a/gcc/incpath.c b/gcc/incpath.c
-index 8a2bda00f80..9098ab044ab 100644
+index 94eaba7b1..bfad4ebe3 100644
 --- a/gcc/incpath.c
 +++ b/gcc/incpath.c
 @@ -26,6 +26,7 @@
@@ -198,3 +226,6 @@ index 8a2bda00f80..9098ab044ab 100644
  }
  
  /* Use given -I paths for #include "..." but not #include <...>, and
+-- 
+2.25.1
+
diff --git a/poky/meta/recipes-devtools/git/git.inc b/poky/meta/recipes-devtools/git/git.inc
index 0cc40b937..146983a91 100644
--- a/poky/meta/recipes-devtools/git/git.inc
+++ b/poky/meta/recipes-devtools/git/git.inc
@@ -9,7 +9,8 @@ PROVIDES_append_class-native = " git-replacement-native"
 
 SRC_URI = "${KERNELORG_MIRROR}/software/scm/git/git-${PV}.tar.gz;name=tarball \
            ${KERNELORG_MIRROR}/software/scm/git/git-manpages-${PV}.tar.gz;name=manpages \
-           file://fixsort.patch"
+           file://fixsort.patch \
+"
 
 S = "${WORKDIR}/git-${PV}"
 
diff --git a/poky/meta/recipes-devtools/git/git_2.30.1.bb b/poky/meta/recipes-devtools/git/git_2.30.1.bb
deleted file mode 100644
index bc1635ada..000000000
--- a/poky/meta/recipes-devtools/git/git_2.30.1.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-require git.inc
-
-EXTRA_OECONF += "ac_cv_snprintf_returns_bogus=no \
-                 ac_cv_fread_reads_directories=${ac_cv_fread_reads_directories=yes} \
-                 "
-EXTRA_OEMAKE += "NO_GETTEXT=1"
-
-SRC_URI[tarball.sha256sum] = "23a3e53f0d2dd3e62a8147b24a1a91d6ffe95b92123ef4dbae04e9a6205e71c0"
-SRC_URI[manpages.sha256sum] = "db323e1b242e9d0337363b1e538c8b879e4c46eedbf94d3bee9e65dab6d49138"
diff --git a/poky/meta/recipes-devtools/git/git_2.31.1.bb b/poky/meta/recipes-devtools/git/git_2.31.1.bb
new file mode 100644
index 000000000..6bfa1f7a1
--- /dev/null
+++ b/poky/meta/recipes-devtools/git/git_2.31.1.bb
@@ -0,0 +1,9 @@
+require git.inc
+
+EXTRA_OECONF += "ac_cv_snprintf_returns_bogus=no \
+                 ac_cv_fread_reads_directories=${ac_cv_fread_reads_directories=yes} \
+                 "
+EXTRA_OEMAKE += "NO_GETTEXT=1"
+
+SRC_URI[tarball.sha256sum] = "46d37c229e9d786510e0c53b60065704ce92d5aedc16f2c5111e3ed35093bfa7"
+SRC_URI[manpages.sha256sum] = "d330498aaaea6928b0abbbbb896f6f605efd8d35f23cbbb2de38c87a737d4543"
diff --git a/poky/meta/recipes-devtools/go/go-1.16.2.inc b/poky/meta/recipes-devtools/go/go-1.16.2.inc
new file mode 100644
index 000000000..e65caf819
--- /dev/null
+++ b/poky/meta/recipes-devtools/go/go-1.16.2.inc
@@ -0,0 +1,20 @@
+require go-common.inc
+
+GO_BASEVERSION = "1.16"
+PV = "1.16.2"
+FILESEXTRAPATHS_prepend := "${FILE_DIRNAME}/go-${GO_BASEVERSION}:"
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=5d4950ecb7b26d2c5e4e7b4e0dd74707"
+
+SRC_URI += "\
+    file://0001-allow-CC-and-CXX-to-have-multiple-words.patch \
+    file://0002-cmd-go-make-content-based-hash-generation-less-pedan.patch \
+    file://0003-allow-GOTOOLDIR-to-be-overridden-in-the-environment.patch \
+    file://0004-ld-add-soname-to-shareable-objects.patch \
+    file://0005-make.bash-override-CC-when-building-dist-and-go_boot.patch \
+    file://0006-cmd-dist-separate-host-and-target-builds.patch \
+    file://0007-cmd-go-make-GOROOT-precious-by-default.patch \
+    file://0008-use-GOBUILDMODE-to-set-buildmode.patch \
+    file://0009-Revert-cmd-go-make-sure-CC-and-CXX-are-absolute.patch \
+"
+SRC_URI[main.sha256sum] = "37ca14287a23cb8ba2ac3f5c3dd8adbc1f7a54b9701a57824bf19a0b271f83ea"
diff --git a/poky/meta/recipes-devtools/go/go-1.16.inc b/poky/meta/recipes-devtools/go/go-1.16.inc
deleted file mode 100644
index 1ebbbef83..000000000
--- a/poky/meta/recipes-devtools/go/go-1.16.inc
+++ /dev/null
@@ -1,20 +0,0 @@
-require go-common.inc
-
-GO_BASEVERSION = "1.16"
-PV = "1.16"
-FILESEXTRAPATHS_prepend := "${FILE_DIRNAME}/go-${GO_BASEVERSION}:"
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=5d4950ecb7b26d2c5e4e7b4e0dd74707"
-
-SRC_URI += "\
-    file://0001-allow-CC-and-CXX-to-have-multiple-words.patch \
-    file://0002-cmd-go-make-content-based-hash-generation-less-pedan.patch \
-    file://0003-allow-GOTOOLDIR-to-be-overridden-in-the-environment.patch \
-    file://0004-ld-add-soname-to-shareable-objects.patch \
-    file://0005-make.bash-override-CC-when-building-dist-and-go_boot.patch \
-    file://0006-cmd-dist-separate-host-and-target-builds.patch \
-    file://0007-cmd-go-make-GOROOT-precious-by-default.patch \
-    file://0008-use-GOBUILDMODE-to-set-buildmode.patch \
-    file://0009-Revert-cmd-go-make-sure-CC-and-CXX-are-absolute.patch \
-"
-SRC_URI[main.sha256sum] = "7688063d55656105898f323d90a79a39c378d86fe89ae192eb3b7fc46347c95a"
diff --git a/poky/meta/recipes-devtools/go/go-binary-native_1.16.2.bb b/poky/meta/recipes-devtools/go/go-binary-native_1.16.2.bb
new file mode 100644
index 000000000..4fb060173
--- /dev/null
+++ b/poky/meta/recipes-devtools/go/go-binary-native_1.16.2.bb
@@ -0,0 +1,46 @@
+# This recipe is for bootstrapping our go-cross from a prebuilt binary of Go from golang.org.
+
+SUMMARY = "Go programming language compiler (upstream binary for bootstrap)"
+HOMEPAGE = " http://golang.org/"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=5d4950ecb7b26d2c5e4e7b4e0dd74707"
+
+PROVIDES = "go-native"
+
+SRC_URI = "https://dl.google.com/go/go${PV}.${BUILD_GOOS}-${BUILD_GOARCH}.tar.gz;name=go_${BUILD_GOTUPLE}"
+SRC_URI[go_linux_amd64.sha256sum] = "542e936b19542e62679766194364f45141fde55169db2d8d01046555ca9eb4b8"
+SRC_URI[go_linux_arm64.sha256sum] = "6924601d998a0917694fd14261347e3798bd2ad6b13c4d7f2edd70c9d57f62ab"
+
+UPSTREAM_CHECK_URI = "https://golang.org/dl/"
+UPSTREAM_CHECK_REGEX = "go(?P\d+(\.\d+)+)\.linux"
+
+S = "${WORKDIR}/go"
+
+inherit goarch native
+
+do_compile() {
+    :
+}
+
+make_wrapper() {
+	rm -f ${D}${bindir}/$1
+	cat <${D}${bindir}/$1
+#!/bin/bash
+here=\`dirname \$0\`
+export GOROOT="${GOROOT:-\`readlink -f \$here/../lib/go\`}"
+\$here/../lib/go/bin/$1 "\$@"
+END
+	chmod +x ${D}${bindir}/$1
+}
+
+do_install() {
+    find ${S} -depth -type d -name testdata -exec rm -rf {} +
+
+	install -d ${D}${bindir} ${D}${libdir}/go
+	cp --preserve=mode,timestamps -R ${S}/ ${D}${libdir}/
+
+	for f in ${S}/bin/*
+	do
+	  	make_wrapper `basename $f`
+	done
+}
diff --git a/poky/meta/recipes-devtools/go/go-binary-native_1.16.bb b/poky/meta/recipes-devtools/go/go-binary-native_1.16.bb
deleted file mode 100644
index 155a475c9..000000000
--- a/poky/meta/recipes-devtools/go/go-binary-native_1.16.bb
+++ /dev/null
@@ -1,46 +0,0 @@
-# This recipe is for bootstrapping our go-cross from a prebuilt binary of Go from golang.org.
-
-SUMMARY = "Go programming language compiler (upstream binary for bootstrap)"
-HOMEPAGE = " http://golang.org/"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=5d4950ecb7b26d2c5e4e7b4e0dd74707"
-
-PROVIDES = "go-native"
-
-SRC_URI = "https://dl.google.com/go/go${PV}.${BUILD_GOOS}-${BUILD_GOARCH}.tar.gz;name=go_${BUILD_GOTUPLE}"
-SRC_URI[go_linux_amd64.sha256sum] = "013a489ebb3e24ef3d915abe5b94c3286c070dfe0818d5bca8108f1d6e8440d2"
-SRC_URI[go_linux_arm64.sha256sum] = "3770f7eb22d05e25fbee8fb53c2a4e897da043eb83c69b9a14f8d98562cd8098"
-
-UPSTREAM_CHECK_URI = "https://golang.org/dl/"
-UPSTREAM_CHECK_REGEX = "go(?P\d+(\.\d+)+)\.linux"
-
-S = "${WORKDIR}/go"
-
-inherit goarch native
-
-do_compile() {
-    :
-}
-
-make_wrapper() {
-	rm -f ${D}${bindir}/$1
-	cat <${D}${bindir}/$1
-#!/bin/bash
-here=\`dirname \$0\`
-export GOROOT="${GOROOT:-\`readlink -f \$here/../lib/go\`}"
-\$here/../lib/go/bin/$1 "\$@"
-END
-	chmod +x ${D}${bindir}/$1
-}
-
-do_install() {
-    find ${S} -depth -type d -name testdata -exec rm -rf {} +
-
-	install -d ${D}${bindir} ${D}${libdir}/go
-	cp --preserve=mode,timestamps -R ${S}/ ${D}${libdir}/
-
-	for f in ${S}/bin/*
-	do
-	  	make_wrapper `basename $f`
-	done
-}
diff --git a/poky/meta/recipes-devtools/go/go-cross-canadian_1.16.2.bb b/poky/meta/recipes-devtools/go/go-cross-canadian_1.16.2.bb
new file mode 100644
index 000000000..7ac9449e4
--- /dev/null
+++ b/poky/meta/recipes-devtools/go/go-cross-canadian_1.16.2.bb
@@ -0,0 +1,2 @@
+require go-cross-canadian.inc
+require go-${PV}.inc
diff --git a/poky/meta/recipes-devtools/go/go-cross-canadian_1.16.bb b/poky/meta/recipes-devtools/go/go-cross-canadian_1.16.bb
deleted file mode 100644
index 7ac9449e4..000000000
--- a/poky/meta/recipes-devtools/go/go-cross-canadian_1.16.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-require go-cross-canadian.inc
-require go-${PV}.inc
diff --git a/poky/meta/recipes-devtools/go/go-cross_1.16.2.bb b/poky/meta/recipes-devtools/go/go-cross_1.16.2.bb
new file mode 100644
index 000000000..80b5a03f6
--- /dev/null
+++ b/poky/meta/recipes-devtools/go/go-cross_1.16.2.bb
@@ -0,0 +1,2 @@
+require go-cross.inc
+require go-${PV}.inc
diff --git a/poky/meta/recipes-devtools/go/go-cross_1.16.bb b/poky/meta/recipes-devtools/go/go-cross_1.16.bb
deleted file mode 100644
index 80b5a03f6..000000000
--- a/poky/meta/recipes-devtools/go/go-cross_1.16.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-require go-cross.inc
-require go-${PV}.inc
diff --git a/poky/meta/recipes-devtools/go/go-crosssdk_1.16.2.bb b/poky/meta/recipes-devtools/go/go-crosssdk_1.16.2.bb
new file mode 100644
index 000000000..1857c8a57
--- /dev/null
+++ b/poky/meta/recipes-devtools/go/go-crosssdk_1.16.2.bb
@@ -0,0 +1,2 @@
+require go-crosssdk.inc
+require go-${PV}.inc
diff --git a/poky/meta/recipes-devtools/go/go-crosssdk_1.16.bb b/poky/meta/recipes-devtools/go/go-crosssdk_1.16.bb
deleted file mode 100644
index 1857c8a57..000000000
--- a/poky/meta/recipes-devtools/go/go-crosssdk_1.16.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-require go-crosssdk.inc
-require go-${PV}.inc
diff --git a/poky/meta/recipes-devtools/go/go-dep/0001-Add-support-for-mips-mips64.patch b/poky/meta/recipes-devtools/go/go-dep/0001-Add-support-for-mips-mips64.patch
deleted file mode 100644
index 34ec9876f..000000000
--- a/poky/meta/recipes-devtools/go/go-dep/0001-Add-support-for-mips-mips64.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-From f0fb80604385ae3266a472601ef685896b4cc0af Mon Sep 17 00:00:00 2001
-From: Vladimir Stefanovic 
-Date: Fri, 17 Feb 2017 20:44:43 +0100
-Subject: [PATCH] Add support for mips, mips64
-
----
-Upstream-Status: Submitted
-Signed-off-by: Khem Raj 
-
- vendor/github.com/boltdb/bolt/bolt_mips64x.go | 12 ++++++++++++
- vendor/github.com/boltdb/bolt/bolt_mipsx.go   | 12 ++++++++++++
- 2 files changed, 24 insertions(+)
- create mode 100644 vendor/github.com/boltdb/bolt/bolt_mips64x.go
- create mode 100644 vendor/github.com/boltdb/bolt/bolt_mipsx.go
-
-diff --git a/vendor/github.com/boltdb/bolt/bolt_mips64x.go b/vendor/github.com/boltdb/bolt/bolt_mips64x.go
-new file mode 100644
-index 00000000..134b578b
---- /dev/null
-+++ b/vendor/github.com/boltdb/bolt/bolt_mips64x.go
-@@ -0,0 +1,12 @@
-+// +build mips64 mips64le
-+
-+package bolt
-+
-+// maxMapSize represents the largest mmap size supported by Bolt.
-+const maxMapSize = 0x8000000000 // 512GB
-+
-+// maxAllocSize is the size used when creating array pointers.
-+const maxAllocSize = 0x7FFFFFFF
-+
-+// Are unaligned load/stores broken on this arch?
-+var brokenUnaligned = false
-diff --git a/vendor/github.com/boltdb/bolt/bolt_mipsx.go b/vendor/github.com/boltdb/bolt/bolt_mipsx.go
-new file mode 100644
-index 00000000..d5ecb059
---- /dev/null
-+++ b/vendor/github.com/boltdb/bolt/bolt_mipsx.go
-@@ -0,0 +1,12 @@
-+// +build mips mipsle
-+
-+package bolt
-+
-+// maxMapSize represents the largest mmap size supported by Bolt.
-+const maxMapSize = 0x40000000 // 1GB
-+
-+// maxAllocSize is the size used when creating array pointers.
-+const maxAllocSize = 0xFFFFFFF
-+
-+// Are unaligned load/stores broken on this arch?
-+var brokenUnaligned = false
--- 
-2.14.1
-
diff --git a/poky/meta/recipes-devtools/go/go-dep/0001-Update-sys-module-to-latest.patch b/poky/meta/recipes-devtools/go/go-dep/0001-Update-sys-module-to-latest.patch
deleted file mode 100644
index b13bb9e66..000000000
--- a/poky/meta/recipes-devtools/go/go-dep/0001-Update-sys-module-to-latest.patch
+++ /dev/null
@@ -1,145574 +0,0 @@
-From f7904cb91a1b18e893ffbd25b450926d145d0e0a Mon Sep 17 00:00:00 2001
-From: Khem Raj 
-Date: Wed, 22 Apr 2020 18:44:48 -0700
-Subject: [PATCH] Update sys module to latest
-
-Gets us riscv support
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj 
----
- Gopkg.lock                                    |    4 +-
- .../golang.org/x/sys/unix/affinity_linux.go   |   86 +
- vendor/golang.org/x/sys/unix/aliases.go       |   14 +
- vendor/golang.org/x/sys/unix/asm_aix_ppc64.s  |   17 +
- .../x/sys/unix/asm_dragonfly_amd64.s          |   10 +-
- ...sm_linux_mips64x.s => asm_freebsd_arm64.s} |   11 +-
- vendor/golang.org/x/sys/unix/asm_linux_386.s  |   36 +-
- .../golang.org/x/sys/unix/asm_linux_amd64.s   |   30 +-
- vendor/golang.org/x/sys/unix/asm_linux_arm.s  |   35 +-
- .../golang.org/x/sys/unix/asm_linux_arm64.s   |   30 +-
- .../golang.org/x/sys/unix/asm_linux_mips64x.s |   36 +-
- .../golang.org/x/sys/unix/asm_linux_mipsx.s   |   33 +-
- .../golang.org/x/sys/unix/asm_linux_ppc64x.s  |   38 +-
- .../golang.org/x/sys/unix/asm_linux_riscv64.s |   47 +
- .../golang.org/x/sys/unix/asm_linux_s390x.s   |   28 +
- ...asm_linux_mips64x.s => asm_netbsd_arm64.s} |   17 +-
- ...sm_linux_mips64x.s => asm_openbsd_arm64.s} |    9 +-
- .../golang.org/x/sys/unix/bluetooth_linux.go  |    1 +
- vendor/golang.org/x/sys/unix/cap_freebsd.go   |   30 +-
- vendor/golang.org/x/sys/unix/constants.go     |    2 +-
- vendor/golang.org/x/sys/unix/dev_aix_ppc.go   |   27 +
- vendor/golang.org/x/sys/unix/dev_aix_ppc64.go |   29 +
- vendor/golang.org/x/sys/unix/dev_darwin.go    |   24 +
- vendor/golang.org/x/sys/unix/dev_dragonfly.go |   30 +
- vendor/golang.org/x/sys/unix/dev_freebsd.go   |   30 +
- vendor/golang.org/x/sys/unix/dev_linux.go     |    8 +-
- vendor/golang.org/x/sys/unix/dev_netbsd.go    |   29 +
- vendor/golang.org/x/sys/unix/dev_openbsd.go   |   29 +
- vendor/golang.org/x/sys/unix/dirent.go        |    2 +-
- vendor/golang.org/x/sys/unix/endian_little.go |    2 +-
- vendor/golang.org/x/sys/unix/env_unix.go      |    8 +-
- vendor/golang.org/x/sys/unix/env_unset.go     |   14 -
- .../x/sys/unix/errors_freebsd_386.go          |    6 +
- .../x/sys/unix/errors_freebsd_amd64.go        |    6 +
- .../x/sys/unix/errors_freebsd_arm64.go        |   17 +
- .../x/sys/unix/{flock.go => fcntl.go}         |   18 +-
- vendor/golang.org/x/sys/unix/fcntl_darwin.go  |   18 +
- ...ck_linux_32bit.go => fcntl_linux_32bit.go} |    0
- vendor/golang.org/x/sys/unix/fdset.go         |   29 +
- vendor/golang.org/x/sys/unix/file_unix.go     |   27 -
- vendor/golang.org/x/sys/unix/gccgo.go         |   20 +-
- vendor/golang.org/x/sys/unix/gccgo_c.c        |   12 +-
- .../x/sys/unix/gccgo_linux_amd64.go           |    2 +-
- .../x/sys/unix/gccgo_linux_sparc64.go         |   20 -
- vendor/golang.org/x/sys/unix/ioctl.go         |   65 +
- vendor/golang.org/x/sys/unix/mkasm_darwin.go  |   78 +
- vendor/golang.org/x/sys/unix/mkmerge.go       |  521 +++
- vendor/golang.org/x/sys/unix/mkpost.go        |   63 +-
- vendor/golang.org/x/sys/unix/mksyscall.go     |  402 +++
- .../x/sys/unix/mksyscall_aix_ppc.go           |  415 +++
- .../x/sys/unix/mksyscall_aix_ppc64.go         |  614 ++++
- .../x/sys/unix/mksyscall_solaris.go           |  341 ++
- .../golang.org/x/sys/unix/mksysctl_openbsd.go |  355 +++
- vendor/golang.org/x/sys/unix/mksysnum.go      |  190 ++
- .../golang.org/x/sys/unix/openbsd_pledge.go   |   38 -
- vendor/golang.org/x/sys/unix/pagesize_unix.go |   15 +
- .../golang.org/x/sys/unix/pledge_openbsd.go   |  163 +
- vendor/golang.org/x/sys/unix/race.go          |    2 +-
- vendor/golang.org/x/sys/unix/race0.go         |    4 +-
- .../x/sys/unix/readdirent_getdents.go         |   12 +
- .../x/sys/unix/readdirent_getdirentries.go    |   19 +
- .../x/sys/unix/sockcmsg_dragonfly.go          |   16 +
- .../golang.org/x/sys/unix/sockcmsg_linux.go   |    4 +-
- vendor/golang.org/x/sys/unix/sockcmsg_unix.go |   28 +-
- .../x/sys/unix/sockcmsg_unix_other.go         |   38 +
- vendor/golang.org/x/sys/unix/str.go           |    2 +-
- vendor/golang.org/x/sys/unix/syscall.go       |   38 +-
- vendor/golang.org/x/sys/unix/syscall_aix.go   |  536 ++++
- .../golang.org/x/sys/unix/syscall_aix_ppc.go  |   54 +
- .../x/sys/unix/syscall_aix_ppc64.go           |   85 +
- vendor/golang.org/x/sys/unix/syscall_bsd.go   |  112 +-
- .../x/sys/unix/syscall_darwin.1_12.go         |   29 +
- .../x/sys/unix/syscall_darwin.1_13.go         |  101 +
- .../golang.org/x/sys/unix/syscall_darwin.go   |  263 +-
- .../x/sys/unix/syscall_darwin_386.1_11.go     |    9 +
- .../x/sys/unix/syscall_darwin_386.go          |   45 +-
- .../x/sys/unix/syscall_darwin_amd64.1_11.go   |    9 +
- .../x/sys/unix/syscall_darwin_amd64.go        |   45 +-
- .../x/sys/unix/syscall_darwin_arm.1_11.go     |   11 +
- .../x/sys/unix/syscall_darwin_arm.go          |   51 +-
- .../x/sys/unix/syscall_darwin_arm64.1_11.go   |   11 +
- .../x/sys/unix/syscall_darwin_arm64.go        |   47 +-
- .../x/sys/unix/syscall_darwin_libSystem.go    |   33 +
- .../x/sys/unix/syscall_dragonfly.go           |  136 +-
- .../x/sys/unix/syscall_dragonfly_amd64.go     |   21 +-
- .../golang.org/x/sys/unix/syscall_freebsd.go  |  592 ++--
- .../x/sys/unix/syscall_freebsd_386.go         |   31 +-
- .../x/sys/unix/syscall_freebsd_amd64.go       |   31 +-
- .../x/sys/unix/syscall_freebsd_arm.go         |   27 +-
- ...nfly_amd64.go => syscall_freebsd_arm64.go} |   31 +-
- .../golang.org/x/sys/unix/syscall_illumos.go  |   57 +
- vendor/golang.org/x/sys/unix/syscall_linux.go | 1030 +++++-
- .../x/sys/unix/syscall_linux_386.go           |   47 +-
- .../x/sys/unix/syscall_linux_amd64.go         |   80 +-
- .../x/sys/unix/syscall_linux_arm.go           |   64 +-
- .../x/sys/unix/syscall_linux_arm64.go         |  111 +-
- .../golang.org/x/sys/unix/syscall_linux_gc.go |   14 +
- .../x/sys/unix/syscall_linux_gc_386.go        |   16 +
- .../x/sys/unix/syscall_linux_gccgo_386.go     |   30 +
- .../x/sys/unix/syscall_linux_gccgo_arm.go     |   20 +
- .../x/sys/unix/syscall_linux_mips64x.go       |   53 +-
- .../x/sys/unix/syscall_linux_mipsx.go         |   47 +-
- .../x/sys/unix/syscall_linux_ppc64x.go        |   59 +-
- ...inux_arm64.go => syscall_linux_riscv64.go} |  118 +-
- .../x/sys/unix/syscall_linux_s390x.go         |   44 +-
- .../x/sys/unix/syscall_linux_sparc64.go       |   48 +-
- .../golang.org/x/sys/unix/syscall_netbsd.go   |  156 +-
- .../x/sys/unix/syscall_netbsd_386.go          |   21 +-
- .../x/sys/unix/syscall_netbsd_amd64.go        |   21 +-
- .../x/sys/unix/syscall_netbsd_arm.go          |   21 +-
- ...etbsd_amd64.go => syscall_netbsd_arm64.go} |   25 +-
- .../golang.org/x/sys/unix/syscall_no_getwd.go |   11 -
- .../golang.org/x/sys/unix/syscall_openbsd.go  |  199 +-
- .../x/sys/unix/syscall_openbsd_386.go         |   25 +-
- .../x/sys/unix/syscall_openbsd_amd64.go       |   25 +-
- .../x/sys/unix/syscall_openbsd_arm.go         |   27 +-
- .../x/sys/unix/syscall_openbsd_arm64.go       |   41 +
- .../golang.org/x/sys/unix/syscall_solaris.go  |  128 +-
- .../x/sys/unix/syscall_solaris_amd64.go       |   24 +-
- vendor/golang.org/x/sys/unix/syscall_unix.go  |  176 +-
- .../golang.org/x/sys/unix/syscall_unix_gc.go  |    2 +-
- ...l_unix_gc.go => syscall_unix_gc_ppc64x.go} |   21 +-
- vendor/golang.org/x/sys/unix/timestruct.go    |   82 +
- .../unix/{types_netbsd.go => types_aix.go}    |  196 +-
- vendor/golang.org/x/sys/unix/types_darwin.go  |   41 +-
- .../golang.org/x/sys/unix/types_dragonfly.go  |   66 +-
- vendor/golang.org/x/sys/unix/types_freebsd.go |  178 +-
- vendor/golang.org/x/sys/unix/types_netbsd.go  |   73 +-
- vendor/golang.org/x/sys/unix/types_openbsd.go |   78 +-
- vendor/golang.org/x/sys/unix/types_solaris.go |   54 +-
- .../golang.org/x/sys/unix/unveil_openbsd.go   |   42 +
- vendor/golang.org/x/sys/unix/xattr_bsd.go     |  240 ++
- .../golang.org/x/sys/unix/zerrors_aix_ppc.go  | 1384 ++++++++
- .../x/sys/unix/zerrors_aix_ppc64.go           | 1385 ++++++++
- .../x/sys/unix/zerrors_darwin_386.go          |  391 ++-
- .../x/sys/unix/zerrors_darwin_amd64.go        |  391 ++-
- .../x/sys/unix/zerrors_darwin_arm.go          |  391 ++-
- .../x/sys/unix/zerrors_darwin_arm64.go        |  391 ++-
- .../x/sys/unix/zerrors_dragonfly_amd64.go     |  355 ++-
- .../x/sys/unix/zerrors_freebsd_386.go         |  508 ++-
- .../x/sys/unix/zerrors_freebsd_amd64.go       |  506 ++-
- .../x/sys/unix/zerrors_freebsd_arm.go         |  368 ++-
- ...ebsd_amd64.go => zerrors_freebsd_arm64.go} |  509 ++-
- vendor/golang.org/x/sys/unix/zerrors_linux.go | 2469 +++++++++++++++
- .../x/sys/unix/zerrors_linux_386.go           | 2690 ++++------------
- .../x/sys/unix/zerrors_linux_amd64.go         | 2691 ++++------------
- .../x/sys/unix/zerrors_linux_arm.go           | 2701 ++++------------
- .../x/sys/unix/zerrors_linux_arm64.go         | 2673 ++++------------
- .../x/sys/unix/zerrors_linux_mips.go          | 2702 ++++------------
- .../x/sys/unix/zerrors_linux_mips64.go        | 2702 ++++------------
- .../x/sys/unix/zerrors_linux_mips64le.go      | 2702 ++++------------
- .../x/sys/unix/zerrors_linux_mipsle.go        | 2702 ++++------------
- .../x/sys/unix/zerrors_linux_ppc64.go         | 2816 ++++-------------
- .../x/sys/unix/zerrors_linux_ppc64le.go       | 2816 ++++-------------
- .../x/sys/unix/zerrors_linux_riscv64.go       |  771 +++++
- .../x/sys/unix/zerrors_linux_s390x.go         | 2812 ++++------------
- .../x/sys/unix/zerrors_linux_sparc64.go       | 2013 +++---------
- .../x/sys/unix/zerrors_netbsd_386.go          |  325 +-
- .../x/sys/unix/zerrors_netbsd_amd64.go        |  325 +-
- .../x/sys/unix/zerrors_netbsd_arm.go          |  325 +-
- ...etbsd_amd64.go => zerrors_netbsd_arm64.go} |  327 +-
- .../x/sys/unix/zerrors_openbsd_386.go         |  339 +-
- .../x/sys/unix/zerrors_openbsd_amd64.go       |  576 ++--
- .../x/sys/unix/zerrors_openbsd_arm.go         |  333 +-
- ...nbsd_amd64.go => zerrors_openbsd_arm64.go} |  605 ++--
- .../x/sys/unix/zerrors_solaris_amd64.go       |  380 ++-
- .../x/sys/unix/zptrace_armnn_linux.go         |   41 +
- .../x/sys/unix/zptrace_linux_arm64.go         |   17 +
- .../x/sys/unix/zptrace_mipsnn_linux.go        |   50 +
- .../x/sys/unix/zptrace_mipsnnle_linux.go      |   50 +
- .../x/sys/unix/zptrace_x86_linux.go           |   80 +
- .../golang.org/x/sys/unix/zsyscall_aix_ppc.go | 1484 +++++++++
- ..._netbsd_amd64.go => zsyscall_aix_ppc64.go} |  936 +++---
- .../x/sys/unix/zsyscall_aix_ppc64_gc.go       | 1192 +++++++
- .../x/sys/unix/zsyscall_aix_ppc64_gccgo.go    | 1070 +++++++
- ...win_arm.go => zsyscall_darwin_386.1_11.go} |  416 ++-
- .../x/sys/unix/zsyscall_darwin_386.1_13.go    |   41 +
- .../x/sys/unix/zsyscall_darwin_386.1_13.s     |   12 +
- .../x/sys/unix/zsyscall_darwin_386.go         | 1314 ++++++--
- .../x/sys/unix/zsyscall_darwin_386.s          |  284 ++
- ...arm64.go => zsyscall_darwin_amd64.1_11.go} |  416 ++-
- .../x/sys/unix/zsyscall_darwin_amd64.1_13.go  |   41 +
- .../x/sys/unix/zsyscall_darwin_amd64.1_13.s   |   12 +
- .../x/sys/unix/zsyscall_darwin_amd64.go       | 1314 ++++++--
- .../x/sys/unix/zsyscall_darwin_amd64.s        |  284 ++
- ...win_arm.go => zsyscall_darwin_arm.1_11.go} |  389 ++-
- .../x/sys/unix/zsyscall_darwin_arm.1_13.go    |   41 +
- .../x/sys/unix/zsyscall_darwin_arm.1_13.s     |   12 +
- .../x/sys/unix/zsyscall_darwin_arm.go         | 1301 ++++++--
- .../x/sys/unix/zsyscall_darwin_arm.s          |  282 ++
- ...arm64.go => zsyscall_darwin_arm64.1_11.go} |  389 ++-
- .../x/sys/unix/zsyscall_darwin_arm64.1_13.go  |   41 +
- .../x/sys/unix/zsyscall_darwin_arm64.1_13.s   |   12 +
- .../x/sys/unix/zsyscall_darwin_arm64.go       | 1301 ++++++--
- .../x/sys/unix/zsyscall_darwin_arm64.s        |  282 ++
- .../x/sys/unix/zsyscall_dragonfly_amd64.go    |  238 +-
- .../x/sys/unix/zsyscall_freebsd_386.go        |  204 +-
- .../x/sys/unix/zsyscall_freebsd_amd64.go      |  204 +-
- .../x/sys/unix/zsyscall_freebsd_arm.go        |  204 +-
- ...bsd_amd64.go => zsyscall_freebsd_arm64.go} |  206 +-
- .../x/sys/unix/zsyscall_illumos_amd64.go      |   87 +
- ...scall_linux_s390x.go => zsyscall_linux.go} |  774 ++---
- .../x/sys/unix/zsyscall_linux_386.go          | 1573 +--------
- .../x/sys/unix/zsyscall_linux_amd64.go        | 1607 +---------
- .../x/sys/unix/zsyscall_linux_arm.go          | 1626 +---------
- .../x/sys/unix/zsyscall_linux_arm64.go        | 1513 +--------
- .../x/sys/unix/zsyscall_linux_mips.go         | 1567 +--------
- .../x/sys/unix/zsyscall_linux_mips64.go       | 1552 +--------
- .../x/sys/unix/zsyscall_linux_mips64le.go     | 1552 +--------
- .../x/sys/unix/zsyscall_linux_mipsle.go       | 1567 +--------
- .../x/sys/unix/zsyscall_linux_ppc64.go        | 1586 +---------
- .../x/sys/unix/zsyscall_linux_ppc64le.go      | 1586 +---------
- .../x/sys/unix/zsyscall_linux_riscv64.go      |  582 ++++
- .../x/sys/unix/zsyscall_linux_s390x.go        | 1570 +--------
- .../x/sys/unix/zsyscall_linux_sparc64.go      | 1247 +-------
- .../x/sys/unix/zsyscall_netbsd_386.go         |  551 +++-
- .../x/sys/unix/zsyscall_netbsd_amd64.go       |  551 +++-
- .../x/sys/unix/zsyscall_netbsd_arm.go         |  551 +++-
- ...ebsd_amd64.go => zsyscall_netbsd_arm64.go} |  262 +-
- .../x/sys/unix/zsyscall_openbsd_386.go        |  338 +-
- .../x/sys/unix/zsyscall_openbsd_amd64.go      |  338 +-
- .../x/sys/unix/zsyscall_openbsd_arm.go        |  338 +-
- ...arwin_386.go => zsyscall_openbsd_arm64.go} |  289 +-
- .../x/sys/unix/zsyscall_solaris_amd64.go      |  382 ++-
- ...sctl_openbsd.go => zsysctl_openbsd_386.go} |    4 +-
- ...tl_openbsd.go => zsysctl_openbsd_amd64.go} |   42 +-
- ...sctl_openbsd.go => zsysctl_openbsd_arm.go} |    6 +-
- ...tl_openbsd.go => zsysctl_openbsd_arm64.go} |   47 +-
- .../x/sys/unix/zsysnum_darwin_386.go          |   60 +-
- .../x/sys/unix/zsysnum_darwin_amd64.go        |   62 +-
- .../x/sys/unix/zsysnum_darwin_arm.go          |   14 +-
- .../x/sys/unix/zsysnum_darwin_arm64.go        |   14 +-
- .../x/sys/unix/zsysnum_dragonfly_amd64.go     |  176 +-
- .../x/sys/unix/zsysnum_freebsd_386.go         |  731 +++--
- .../x/sys/unix/zsysnum_freebsd_amd64.go       |  731 +++--
- .../x/sys/unix/zsysnum_freebsd_arm.go         |  731 +++--
- .../x/sys/unix/zsysnum_freebsd_arm64.go       |  396 +++
- .../x/sys/unix/zsysnum_linux_386.go           |  808 ++---
- .../x/sys/unix/zsysnum_linux_amd64.go         |   19 +-
- .../x/sys/unix/zsysnum_linux_arm.go           |  745 ++---
- .../x/sys/unix/zsysnum_linux_arm64.go         |   20 +-
- .../x/sys/unix/zsysnum_linux_mips.go          |  779 ++---
- .../x/sys/unix/zsysnum_linux_mips64.go        |   19 +-
- .../x/sys/unix/zsysnum_linux_mips64le.go      |   19 +-
- .../x/sys/unix/zsysnum_linux_mipsle.go        |  779 ++---
- .../x/sys/unix/zsysnum_linux_ppc64.go         |   33 +-
- .../x/sys/unix/zsysnum_linux_ppc64le.go       |   33 +-
- ...inux_arm64.go => zsysnum_linux_riscv64.go} |   23 +-
- .../x/sys/unix/zsysnum_linux_s390x.go         |   80 +-
- .../x/sys/unix/zsysnum_linux_sparc64.go       |   35 +-
- .../x/sys/unix/zsysnum_netbsd_386.go          |    4 +-
- .../x/sys/unix/zsysnum_netbsd_amd64.go        |    4 +-
- .../x/sys/unix/zsysnum_netbsd_arm.go          |    4 +-
- ..._netbsd_386.go => zsysnum_netbsd_arm64.go} |    6 +-
- .../x/sys/unix/zsysnum_openbsd_386.go         |  223 +-
- .../x/sys/unix/zsysnum_openbsd_amd64.go       |  223 +-
- .../x/sys/unix/zsysnum_openbsd_arm.go         |  217 +-
- ...penbsd_arm.go => zsysnum_openbsd_arm64.go} |  218 +-
- .../x/sys/unix/zsysnum_solaris_amd64.go       |   13 -
- .../golang.org/x/sys/unix/ztypes_aix_ppc.go   |  352 +++
- .../golang.org/x/sys/unix/ztypes_aix_ppc64.go |  356 +++
- .../x/sys/unix/ztypes_darwin_386.go           |  195 +-
- .../x/sys/unix/ztypes_darwin_amd64.go         |  241 +-
- .../x/sys/unix/ztypes_darwin_arm.go           |  195 +-
- .../x/sys/unix/ztypes_darwin_arm64.go         |  246 +-
- .../x/sys/unix/ztypes_dragonfly_amd64.go      |  213 +-
- .../x/sys/unix/ztypes_freebsd_386.go          |  426 ++-
- .../x/sys/unix/ztypes_freebsd_amd64.go        |  448 ++-
- .../x/sys/unix/ztypes_freebsd_arm.go          |  427 ++-
- ...eebsd_amd64.go => ztypes_freebsd_arm64.go} |  430 ++-
- vendor/golang.org/x/sys/unix/ztypes_linux.go  | 2340 ++++++++++++++
- .../golang.org/x/sys/unix/ztypes_linux_386.go |  878 ++---
- .../x/sys/unix/ztypes_linux_amd64.go          |  881 ++----
- .../golang.org/x/sys/unix/ztypes_linux_arm.go |  899 +++---
- .../x/sys/unix/ztypes_linux_arm64.go          |  883 ++----
- .../x/sys/unix/ztypes_linux_mips.go           |  864 ++---
- .../x/sys/unix/ztypes_linux_mips64.go         |  880 ++----
- .../x/sys/unix/ztypes_linux_mips64le.go       |  880 ++----
- .../x/sys/unix/ztypes_linux_mipsle.go         |  864 ++---
- .../x/sys/unix/ztypes_linux_ppc64.go          |  889 ++----
- .../x/sys/unix/ztypes_linux_ppc64le.go        |  889 ++----
- .../x/sys/unix/ztypes_linux_riscv64.go        |  621 ++++
- .../x/sys/unix/ztypes_linux_s390x.go          |  842 ++---
- .../x/sys/unix/ztypes_linux_sparc64.go        |  910 +++---
- .../x/sys/unix/ztypes_netbsd_386.go           |  145 +-
- .../x/sys/unix/ztypes_netbsd_amd64.go         |  152 +-
- .../x/sys/unix/ztypes_netbsd_arm.go           |  151 +-
- ...netbsd_amd64.go => ztypes_netbsd_arm64.go} |  154 +-
- .../x/sys/unix/ztypes_openbsd_386.go          |  173 +-
- .../x/sys/unix/ztypes_openbsd_amd64.go        |  264 +-
- .../x/sys/unix/ztypes_openbsd_arm.go          |  255 +-
- ...enbsd_amd64.go => ztypes_openbsd_arm64.go} |  260 +-
- .../x/sys/unix/ztypes_solaris_amd64.go        |  239 +-
- 293 files changed, 60017 insertions(+), 59731 deletions(-)
- create mode 100644 vendor/golang.org/x/sys/unix/affinity_linux.go
- create mode 100644 vendor/golang.org/x/sys/unix/aliases.go
- create mode 100644 vendor/golang.org/x/sys/unix/asm_aix_ppc64.s
- copy vendor/golang.org/x/sys/unix/{asm_linux_mips64x.s => asm_freebsd_arm64.s} (71%)
- create mode 100644 vendor/golang.org/x/sys/unix/asm_linux_riscv64.s
- copy vendor/golang.org/x/sys/unix/{asm_linux_mips64x.s => asm_netbsd_arm64.s} (60%)
- copy vendor/golang.org/x/sys/unix/{asm_linux_mips64x.s => asm_openbsd_arm64.s} (76%)
- create mode 100644 vendor/golang.org/x/sys/unix/dev_aix_ppc.go
- create mode 100644 vendor/golang.org/x/sys/unix/dev_aix_ppc64.go
- create mode 100644 vendor/golang.org/x/sys/unix/dev_darwin.go
- create mode 100644 vendor/golang.org/x/sys/unix/dev_dragonfly.go
- create mode 100644 vendor/golang.org/x/sys/unix/dev_freebsd.go
- create mode 100644 vendor/golang.org/x/sys/unix/dev_netbsd.go
- create mode 100644 vendor/golang.org/x/sys/unix/dev_openbsd.go
- delete mode 100644 vendor/golang.org/x/sys/unix/env_unset.go
- create mode 100644 vendor/golang.org/x/sys/unix/errors_freebsd_arm64.go
- rename vendor/golang.org/x/sys/unix/{flock.go => fcntl.go} (54%)
- create mode 100644 vendor/golang.org/x/sys/unix/fcntl_darwin.go
- rename vendor/golang.org/x/sys/unix/{flock_linux_32bit.go => fcntl_linux_32bit.go} (100%)
- create mode 100644 vendor/golang.org/x/sys/unix/fdset.go
- delete mode 100644 vendor/golang.org/x/sys/unix/file_unix.go
- delete mode 100644 vendor/golang.org/x/sys/unix/gccgo_linux_sparc64.go
- create mode 100644 vendor/golang.org/x/sys/unix/ioctl.go
- create mode 100644 vendor/golang.org/x/sys/unix/mkasm_darwin.go
- create mode 100644 vendor/golang.org/x/sys/unix/mkmerge.go
- create mode 100644 vendor/golang.org/x/sys/unix/mksyscall.go
- create mode 100644 vendor/golang.org/x/sys/unix/mksyscall_aix_ppc.go
- create mode 100644 vendor/golang.org/x/sys/unix/mksyscall_aix_ppc64.go
- create mode 100644 vendor/golang.org/x/sys/unix/mksyscall_solaris.go
- create mode 100644 vendor/golang.org/x/sys/unix/mksysctl_openbsd.go
- create mode 100644 vendor/golang.org/x/sys/unix/mksysnum.go
- delete mode 100644 vendor/golang.org/x/sys/unix/openbsd_pledge.go
- create mode 100644 vendor/golang.org/x/sys/unix/pagesize_unix.go
- create mode 100644 vendor/golang.org/x/sys/unix/pledge_openbsd.go
- create mode 100644 vendor/golang.org/x/sys/unix/readdirent_getdents.go
- create mode 100644 vendor/golang.org/x/sys/unix/readdirent_getdirentries.go
- create mode 100644 vendor/golang.org/x/sys/unix/sockcmsg_dragonfly.go
- create mode 100644 vendor/golang.org/x/sys/unix/sockcmsg_unix_other.go
- create mode 100644 vendor/golang.org/x/sys/unix/syscall_aix.go
- create mode 100644 vendor/golang.org/x/sys/unix/syscall_aix_ppc.go
- create mode 100644 vendor/golang.org/x/sys/unix/syscall_aix_ppc64.go
- create mode 100644 vendor/golang.org/x/sys/unix/syscall_darwin.1_12.go
- create mode 100644 vendor/golang.org/x/sys/unix/syscall_darwin.1_13.go
- create mode 100644 vendor/golang.org/x/sys/unix/syscall_darwin_386.1_11.go
- create mode 100644 vendor/golang.org/x/sys/unix/syscall_darwin_amd64.1_11.go
- create mode 100644 vendor/golang.org/x/sys/unix/syscall_darwin_arm.1_11.go
- create mode 100644 vendor/golang.org/x/sys/unix/syscall_darwin_arm64.1_11.go
- create mode 100644 vendor/golang.org/x/sys/unix/syscall_darwin_libSystem.go
- copy vendor/golang.org/x/sys/unix/{syscall_dragonfly_amd64.go => syscall_freebsd_arm64.go} (59%)
- create mode 100644 vendor/golang.org/x/sys/unix/syscall_illumos.go
- create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_gc.go
- create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_gc_386.go
- create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_gccgo_386.go
- create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_gccgo_arm.go
- copy vendor/golang.org/x/sys/unix/{syscall_linux_arm64.go => syscall_linux_riscv64.go} (68%)
- copy vendor/golang.org/x/sys/unix/{syscall_netbsd_amd64.go => syscall_netbsd_arm64.go} (50%)
- delete mode 100644 vendor/golang.org/x/sys/unix/syscall_no_getwd.go
- create mode 100644 vendor/golang.org/x/sys/unix/syscall_openbsd_arm64.go
- copy vendor/golang.org/x/sys/unix/{syscall_unix_gc.go => syscall_unix_gc_ppc64x.go} (51%)
- create mode 100644 vendor/golang.org/x/sys/unix/timestruct.go
- copy vendor/golang.org/x/sys/unix/{types_netbsd.go => types_aix.go} (53%)
- create mode 100644 vendor/golang.org/x/sys/unix/unveil_openbsd.go
- create mode 100644 vendor/golang.org/x/sys/unix/xattr_bsd.go
- create mode 100644 vendor/golang.org/x/sys/unix/zerrors_aix_ppc.go
- create mode 100644 vendor/golang.org/x/sys/unix/zerrors_aix_ppc64.go
- copy vendor/golang.org/x/sys/unix/{zerrors_freebsd_amd64.go => zerrors_freebsd_arm64.go} (80%)
- create mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux.go
- create mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go
- copy vendor/golang.org/x/sys/unix/{zerrors_netbsd_amd64.go => zerrors_netbsd_arm64.go} (89%)
- copy vendor/golang.org/x/sys/unix/{zerrors_openbsd_amd64.go => zerrors_openbsd_arm64.go} (76%)
- create mode 100644 vendor/golang.org/x/sys/unix/zptrace_armnn_linux.go
- create mode 100644 vendor/golang.org/x/sys/unix/zptrace_linux_arm64.go
- create mode 100644 vendor/golang.org/x/sys/unix/zptrace_mipsnn_linux.go
- create mode 100644 vendor/golang.org/x/sys/unix/zptrace_mipsnnle_linux.go
- create mode 100644 vendor/golang.org/x/sys/unix/zptrace_x86_linux.go
- create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_aix_ppc.go
- copy vendor/golang.org/x/sys/unix/{zsyscall_netbsd_amd64.go => zsyscall_aix_ppc64.go} (57%)
- create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gc.go
- create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gccgo.go
- copy vendor/golang.org/x/sys/unix/{zsyscall_darwin_arm.go => zsyscall_darwin_386.1_11.go} (85%)
- create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_darwin_386.1_13.go
- create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_darwin_386.1_13.s
- create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_darwin_386.s
- copy vendor/golang.org/x/sys/unix/{zsyscall_darwin_arm64.go => zsyscall_darwin_amd64.1_11.go} (85%)
- create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.1_13.go
- create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.1_13.s
- create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s
- copy vendor/golang.org/x/sys/unix/{zsyscall_darwin_arm.go => zsyscall_darwin_arm.1_11.go} (85%)
- create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.1_13.go
- create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.1_13.s
- create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.s
- copy vendor/golang.org/x/sys/unix/{zsyscall_darwin_arm64.go => zsyscall_darwin_arm64.1_11.go} (84%)
- create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.1_13.go
- create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.1_13.s
- create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.s
- copy vendor/golang.org/x/sys/unix/{zsyscall_freebsd_amd64.go => zsyscall_freebsd_arm64.go} (90%)
- create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_illumos_amd64.go
- copy vendor/golang.org/x/sys/unix/{zsyscall_linux_s390x.go => zsyscall_linux.go} (79%)
- create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_riscv64.go
- copy vendor/golang.org/x/sys/unix/{zsyscall_freebsd_amd64.go => zsyscall_netbsd_arm64.go} (92%)
- copy vendor/golang.org/x/sys/unix/{zsyscall_darwin_386.go => zsyscall_openbsd_arm64.go} (87%)
- copy vendor/golang.org/x/sys/unix/{zsysctl_openbsd.go => zsysctl_openbsd_386.go} (99%)
- copy vendor/golang.org/x/sys/unix/{zsysctl_openbsd.go => zsysctl_openbsd_amd64.go} (91%)
- copy vendor/golang.org/x/sys/unix/{zsysctl_openbsd.go => zsysctl_openbsd_arm.go} (99%)
- rename vendor/golang.org/x/sys/unix/{zsysctl_openbsd.go => zsysctl_openbsd_arm64.go} (91%)
- create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm64.go
- copy vendor/golang.org/x/sys/unix/{zsysnum_linux_arm64.go => zsysnum_linux_riscv64.go} (92%)
- copy vendor/golang.org/x/sys/unix/{zsysnum_netbsd_386.go => zsysnum_netbsd_arm64.go} (99%)
- copy vendor/golang.org/x/sys/unix/{zsysnum_openbsd_arm.go => zsysnum_openbsd_arm64.go} (67%)
- delete mode 100644 vendor/golang.org/x/sys/unix/zsysnum_solaris_amd64.go
- create mode 100644 vendor/golang.org/x/sys/unix/ztypes_aix_ppc.go
- create mode 100644 vendor/golang.org/x/sys/unix/ztypes_aix_ppc64.go
- copy vendor/golang.org/x/sys/unix/{ztypes_freebsd_amd64.go => ztypes_freebsd_arm64.go} (54%)
- create mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux.go
- create mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go
- copy vendor/golang.org/x/sys/unix/{ztypes_netbsd_amd64.go => ztypes_netbsd_arm64.go} (73%)
- copy vendor/golang.org/x/sys/unix/{ztypes_openbsd_amd64.go => ztypes_openbsd_arm64.go} (58%)
-
-diff --git a/Gopkg.lock b/Gopkg.lock
-index b4333103..01a867d5 100644
---- a/Gopkg.lock
-+++ b/Gopkg.lock
-@@ -112,11 +112,11 @@
- 
- [[projects]]
-   branch = "master"
--  digest = "1:51912e607c5e28a89fdc7e41d3377b92086ab7f76ded236765dbf98d0a704c5d"
-+  digest = "1:f8181d8aa1e268255316ec12ab5402d4f671b1da6d7ad40abdf2f92c0404b67d"
-   name = "golang.org/x/sys"
-   packages = ["unix"]
-   pruneopts = "NUT"
--  revision = "bb24a47a89eac6c1227fbcb2ae37a8b9ed323366"
-+  revision = "1957bb5e6d1f523308b49060df02171d06ddfc77"
- 
- [[projects]]
-   branch = "v2"
-diff --git a/vendor/golang.org/x/sys/unix/affinity_linux.go b/vendor/golang.org/x/sys/unix/affinity_linux.go
-new file mode 100644
-index 00000000..6e5c81ac
---- /dev/null
-+++ b/vendor/golang.org/x/sys/unix/affinity_linux.go
-@@ -0,0 +1,86 @@
-+// Copyright 2018 The Go Authors. All rights reserved.
-+// Use of this source code is governed by a BSD-style
-+// license that can be found in the LICENSE file.
-+
-+// CPU affinity functions
-+
-+package unix
-+
-+import (
-+	"math/bits"
-+	"unsafe"
-+)
-+
-+const cpuSetSize = _CPU_SETSIZE / _NCPUBITS
-+
-+// CPUSet represents a CPU affinity mask.
-+type CPUSet [cpuSetSize]cpuMask
-+
-+func schedAffinity(trap uintptr, pid int, set *CPUSet) error {
-+	_, _, e := RawSyscall(trap, uintptr(pid), uintptr(unsafe.Sizeof(*set)), uintptr(unsafe.Pointer(set)))
-+	if e != 0 {
-+		return errnoErr(e)
-+	}
-+	return nil
-+}
-+
-+// SchedGetaffinity gets the CPU affinity mask of the thread specified by pid.
-+// If pid is 0 the calling thread is used.
-+func SchedGetaffinity(pid int, set *CPUSet) error {
-+	return schedAffinity(SYS_SCHED_GETAFFINITY, pid, set)
-+}
-+
-+// SchedSetaffinity sets the CPU affinity mask of the thread specified by pid.
-+// If pid is 0 the calling thread is used.
-+func SchedSetaffinity(pid int, set *CPUSet) error {
-+	return schedAffinity(SYS_SCHED_SETAFFINITY, pid, set)
-+}
-+
-+// Zero clears the set s, so that it contains no CPUs.
-+func (s *CPUSet) Zero() {
-+	for i := range s {
-+		s[i] = 0
-+	}
-+}
-+
-+func cpuBitsIndex(cpu int) int {
-+	return cpu / _NCPUBITS
-+}
-+
-+func cpuBitsMask(cpu int) cpuMask {
-+	return cpuMask(1 << (uint(cpu) % _NCPUBITS))
-+}
-+
-+// Set adds cpu to the set s.
-+func (s *CPUSet) Set(cpu int) {
-+	i := cpuBitsIndex(cpu)
-+	if i < len(s) {
-+		s[i] |= cpuBitsMask(cpu)
-+	}
-+}
-+
-+// Clear removes cpu from the set s.
-+func (s *CPUSet) Clear(cpu int) {
-+	i := cpuBitsIndex(cpu)
-+	if i < len(s) {
-+		s[i] &^= cpuBitsMask(cpu)
-+	}
-+}
-+
-+// IsSet reports whether cpu is in the set s.
-+func (s *CPUSet) IsSet(cpu int) bool {
-+	i := cpuBitsIndex(cpu)
-+	if i < len(s) {
-+		return s[i]&cpuBitsMask(cpu) != 0
-+	}
-+	return false
-+}
-+
-+// Count returns the number of CPUs in the set s.
-+func (s *CPUSet) Count() int {
-+	c := 0
-+	for _, b := range s {
-+		c += bits.OnesCount64(uint64(b))
-+	}
-+	return c
-+}
-diff --git a/vendor/golang.org/x/sys/unix/aliases.go b/vendor/golang.org/x/sys/unix/aliases.go
-new file mode 100644
-index 00000000..951fce4d
---- /dev/null
-+++ b/vendor/golang.org/x/sys/unix/aliases.go
-@@ -0,0 +1,14 @@
-+// Copyright 2018 The Go Authors. All rights reserved.
-+// Use of this source code is governed by a BSD-style
-+// license that can be found in the LICENSE file.
-+
-+// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris
-+// +build go1.9
-+
-+package unix
-+
-+import "syscall"
-+
-+type Signal = syscall.Signal
-+type Errno = syscall.Errno
-+type SysProcAttr = syscall.SysProcAttr
-diff --git a/vendor/golang.org/x/sys/unix/asm_aix_ppc64.s b/vendor/golang.org/x/sys/unix/asm_aix_ppc64.s
-new file mode 100644
-index 00000000..06f84b85
---- /dev/null
-+++ b/vendor/golang.org/x/sys/unix/asm_aix_ppc64.s
-@@ -0,0 +1,17 @@
-+// Copyright 2018 The Go Authors. All rights reserved.
-+// Use of this source code is governed by a BSD-style
-+// license that can be found in the LICENSE file.
-+
-+// +build !gccgo
-+
-+#include "textflag.h"
-+
-+//
-+// System calls for ppc64, AIX are implemented in runtime/syscall_aix.go
-+//
-+
-+TEXT ·syscall6(SB),NOSPLIT,$0-88
-+	JMP	syscall·syscall6(SB)
-+
-+TEXT ·rawSyscall6(SB),NOSPLIT,$0-88
-+	JMP	syscall·rawSyscall6(SB)
-diff --git a/vendor/golang.org/x/sys/unix/asm_dragonfly_amd64.s b/vendor/golang.org/x/sys/unix/asm_dragonfly_amd64.s
-index d5ed6726..603dd572 100644
---- a/vendor/golang.org/x/sys/unix/asm_dragonfly_amd64.s
-+++ b/vendor/golang.org/x/sys/unix/asm_dragonfly_amd64.s
-@@ -13,17 +13,17 @@
- // Just jump to package syscall's implementation for all these functions.
- // The runtime may know about them.
- 
--TEXT	·Syscall(SB),NOSPLIT,$0-64
-+TEXT	·Syscall(SB),NOSPLIT,$0-56
- 	JMP	syscall·Syscall(SB)
- 
--TEXT	·Syscall6(SB),NOSPLIT,$0-88
-+TEXT	·Syscall6(SB),NOSPLIT,$0-80
- 	JMP	syscall·Syscall6(SB)
- 
--TEXT	·Syscall9(SB),NOSPLIT,$0-112
-+TEXT	·Syscall9(SB),NOSPLIT,$0-104
- 	JMP	syscall·Syscall9(SB)
- 
--TEXT ·RawSyscall(SB),NOSPLIT,$0-64
-+TEXT ·RawSyscall(SB),NOSPLIT,$0-56
- 	JMP	syscall·RawSyscall(SB)
- 
--TEXT	·RawSyscall6(SB),NOSPLIT,$0-88
-+TEXT	·RawSyscall6(SB),NOSPLIT,$0-80
- 	JMP	syscall·RawSyscall6(SB)
-diff --git a/vendor/golang.org/x/sys/unix/asm_linux_mips64x.s b/vendor/golang.org/x/sys/unix/asm_freebsd_arm64.s
-similarity index 71%
-copy from vendor/golang.org/x/sys/unix/asm_linux_mips64x.s
-copy to vendor/golang.org/x/sys/unix/asm_freebsd_arm64.s
-index 724e580c..d9318cbf 100644
---- a/vendor/golang.org/x/sys/unix/asm_linux_mips64x.s
-+++ b/vendor/golang.org/x/sys/unix/asm_freebsd_arm64.s
-@@ -1,15 +1,13 @@
--// Copyright 2015 The Go Authors. All rights reserved.
-+// Copyright 2018 The Go Authors. All rights reserved.
- // Use of this source code is governed by a BSD-style
- // license that can be found in the LICENSE file.
- 
--// +build linux
--// +build mips64 mips64le
- // +build !gccgo
- 
- #include "textflag.h"
- 
- //
--// System calls for mips64, Linux
-+// System call support for ARM64, FreeBSD
- //
- 
- // Just jump to package syscall's implementation for all these functions.
-@@ -21,7 +19,10 @@ TEXT	·Syscall(SB),NOSPLIT,$0-56
- TEXT	·Syscall6(SB),NOSPLIT,$0-80
- 	JMP	syscall·Syscall6(SB)
- 
--TEXT	·RawSyscall(SB),NOSPLIT,$0-56
-+TEXT	·Syscall9(SB),NOSPLIT,$0-104
-+	JMP	syscall·Syscall9(SB)
-+
-+TEXT ·RawSyscall(SB),NOSPLIT,$0-56
- 	JMP	syscall·RawSyscall(SB)
- 
- TEXT	·RawSyscall6(SB),NOSPLIT,$0-80
-diff --git a/vendor/golang.org/x/sys/unix/asm_linux_386.s b/vendor/golang.org/x/sys/unix/asm_linux_386.s
-index 4db29093..448bebbb 100644
---- a/vendor/golang.org/x/sys/unix/asm_linux_386.s
-+++ b/vendor/golang.org/x/sys/unix/asm_linux_386.s
-@@ -10,21 +10,51 @@
- // System calls for 386, Linux
- //
- 
-+// See ../runtime/sys_linux_386.s for the reason why we always use int 0x80
-+// instead of the glibc-specific "CALL 0x10(GS)".
-+#define INVOKE_SYSCALL	INT	$0x80
-+
- // Just jump to package syscall's implementation for all these functions.
- // The runtime may know about them.
- 
--TEXT	·Syscall(SB),NOSPLIT,$0-28
-+TEXT ·Syscall(SB),NOSPLIT,$0-28
- 	JMP	syscall·Syscall(SB)
- 
--TEXT	·Syscall6(SB),NOSPLIT,$0-40
-+TEXT ·Syscall6(SB),NOSPLIT,$0-40
- 	JMP	syscall·Syscall6(SB)
- 
-+TEXT ·SyscallNoError(SB),NOSPLIT,$0-24
-+	CALL	runtime·entersyscall(SB)
-+	MOVL	trap+0(FP), AX  // syscall entry
-+	MOVL	a1+4(FP), BX
-+	MOVL	a2+8(FP), CX
-+	MOVL	a3+12(FP), DX
-+	MOVL	$0, SI
-+	MOVL	$0, DI
-+	INVOKE_SYSCALL
-+	MOVL	AX, r1+16(FP)
-+	MOVL	DX, r2+20(FP)
-+	CALL	runtime·exitsyscall(SB)
-+	RET
-+
- TEXT ·RawSyscall(SB),NOSPLIT,$0-28
- 	JMP	syscall·RawSyscall(SB)
- 
--TEXT	·RawSyscall6(SB),NOSPLIT,$0-40
-+TEXT ·RawSyscall6(SB),NOSPLIT,$0-40
- 	JMP	syscall·RawSyscall6(SB)
- 
-+TEXT ·RawSyscallNoError(SB),NOSPLIT,$0-24
-+	MOVL	trap+0(FP), AX  // syscall entry
-+	MOVL	a1+4(FP), BX
-+	MOVL	a2+8(FP), CX
-+	MOVL	a3+12(FP), DX
-+	MOVL	$0, SI
-+	MOVL	$0, DI
-+	INVOKE_SYSCALL
-+	MOVL	AX, r1+16(FP)
-+	MOVL	DX, r2+20(FP)
-+	RET
-+
- TEXT ·socketcall(SB),NOSPLIT,$0-36
- 	JMP	syscall·socketcall(SB)
- 
-diff --git a/vendor/golang.org/x/sys/unix/asm_linux_amd64.s b/vendor/golang.org/x/sys/unix/asm_linux_amd64.s
-index 44e25c62..c6468a95 100644
---- a/vendor/golang.org/x/sys/unix/asm_linux_amd64.s
-+++ b/vendor/golang.org/x/sys/unix/asm_linux_amd64.s
-@@ -13,17 +13,45 @@
- // Just jump to package syscall's implementation for all these functions.
- // The runtime may know about them.
- 
--TEXT	·Syscall(SB),NOSPLIT,$0-56
-+TEXT ·Syscall(SB),NOSPLIT,$0-56
- 	JMP	syscall·Syscall(SB)
- 
- TEXT ·Syscall6(SB),NOSPLIT,$0-80
- 	JMP	syscall·Syscall6(SB)
- 
-+TEXT ·SyscallNoError(SB),NOSPLIT,$0-48
-+	CALL	runtime·entersyscall(SB)
-+	MOVQ	a1+8(FP), DI
-+	MOVQ	a2+16(FP), SI
-+	MOVQ	a3+24(FP), DX
-+	MOVQ	$0, R10
-+	MOVQ	$0, R8
-+	MOVQ	$0, R9
-+	MOVQ	trap+0(FP), AX	// syscall entry
-+	SYSCALL
-+	MOVQ	AX, r1+32(FP)
-+	MOVQ	DX, r2+40(FP)
-+	CALL	runtime·exitsyscall(SB)
-+	RET
-+
- TEXT ·RawSyscall(SB),NOSPLIT,$0-56
- 	JMP	syscall·RawSyscall(SB)
- 
- TEXT ·RawSyscall6(SB),NOSPLIT,$0-80
- 	JMP	syscall·RawSyscall6(SB)
- 
-+TEXT ·RawSyscallNoError(SB),NOSPLIT,$0-48
-+	MOVQ	a1+8(FP), DI
-+	MOVQ	a2+16(FP), SI
-+	MOVQ	a3+24(FP), DX
-+	MOVQ	$0, R10
-+	MOVQ	$0, R8
-+	MOVQ	$0, R9
-+	MOVQ	trap+0(FP), AX	// syscall entry
-+	SYSCALL
-+	MOVQ	AX, r1+32(FP)
-+	MOVQ	DX, r2+40(FP)
-+	RET
-+
- TEXT ·gettimeofday(SB),NOSPLIT,$0-16
- 	JMP	syscall·gettimeofday(SB)
-diff --git a/vendor/golang.org/x/sys/unix/asm_linux_arm.s b/vendor/golang.org/x/sys/unix/asm_linux_arm.s
-index cf0b5746..cf0f3575 100644
---- a/vendor/golang.org/x/sys/unix/asm_linux_arm.s
-+++ b/vendor/golang.org/x/sys/unix/asm_linux_arm.s
-@@ -13,17 +13,44 @@
- // Just jump to package syscall's implementation for all these functions.
- // The runtime may know about them.
- 
--TEXT	·Syscall(SB),NOSPLIT,$0-28
-+TEXT ·Syscall(SB),NOSPLIT,$0-28
- 	B	syscall·Syscall(SB)
- 
--TEXT	·Syscall6(SB),NOSPLIT,$0-40
-+TEXT ·Syscall6(SB),NOSPLIT,$0-40
- 	B	syscall·Syscall6(SB)
- 
-+TEXT ·SyscallNoError(SB),NOSPLIT,$0-24
-+	BL	runtime·entersyscall(SB)
-+	MOVW	trap+0(FP), R7
-+	MOVW	a1+4(FP), R0
-+	MOVW	a2+8(FP), R1
-+	MOVW	a3+12(FP), R2
-+	MOVW	$0, R3
-+	MOVW	$0, R4
-+	MOVW	$0, R5
-+	SWI	$0
-+	MOVW	R0, r1+16(FP)
-+	MOVW	$0, R0
-+	MOVW	R0, r2+20(FP)
-+	BL	runtime·exitsyscall(SB)
-+	RET
-+
- TEXT ·RawSyscall(SB),NOSPLIT,$0-28
- 	B	syscall·RawSyscall(SB)
- 
--TEXT	·RawSyscall6(SB),NOSPLIT,$0-40
-+TEXT ·RawSyscall6(SB),NOSPLIT,$0-40
- 	B	syscall·RawSyscall6(SB)
- 
--TEXT ·seek(SB),NOSPLIT,$0-32
-+TEXT ·RawSyscallNoError(SB),NOSPLIT,$0-24
-+	MOVW	trap+0(FP), R7	// syscall entry
-+	MOVW	a1+4(FP), R0
-+	MOVW	a2+8(FP), R1
-+	MOVW	a3+12(FP), R2
-+	SWI	$0
-+	MOVW	R0, r1+16(FP)
-+	MOVW	$0, R0
-+	MOVW	R0, r2+20(FP)
-+	RET
-+
-+TEXT ·seek(SB),NOSPLIT,$0-28
- 	B	syscall·seek(SB)
-diff --git a/vendor/golang.org/x/sys/unix/asm_linux_arm64.s b/vendor/golang.org/x/sys/unix/asm_linux_arm64.s
-index 4be9bfed..afe6fdf6 100644
---- a/vendor/golang.org/x/sys/unix/asm_linux_arm64.s
-+++ b/vendor/golang.org/x/sys/unix/asm_linux_arm64.s
-@@ -11,14 +11,42 @@
- // Just jump to package syscall's implementation for all these functions.
- // The runtime may know about them.
- 
--TEXT	·Syscall(SB),NOSPLIT,$0-56
-+TEXT ·Syscall(SB),NOSPLIT,$0-56
- 	B	syscall·Syscall(SB)
- 
- TEXT ·Syscall6(SB),NOSPLIT,$0-80
- 	B	syscall·Syscall6(SB)
- 
-+TEXT ·SyscallNoError(SB),NOSPLIT,$0-48
-+	BL	runtime·entersyscall(SB)
-+	MOVD	a1+8(FP), R0
-+	MOVD	a2+16(FP), R1
-+	MOVD	a3+24(FP), R2
-+	MOVD	$0, R3
-+	MOVD	$0, R4
-+	MOVD	$0, R5
-+	MOVD	trap+0(FP), R8	// syscall entry
-+	SVC
-+	MOVD	R0, r1+32(FP)	// r1
-+	MOVD	R1, r2+40(FP)	// r2
-+	BL	runtime·exitsyscall(SB)
-+	RET
-+
- TEXT ·RawSyscall(SB),NOSPLIT,$0-56
- 	B	syscall·RawSyscall(SB)
- 
- TEXT ·RawSyscall6(SB),NOSPLIT,$0-80
- 	B	syscall·RawSyscall6(SB)
-+
-+TEXT ·RawSyscallNoError(SB),NOSPLIT,$0-48
-+	MOVD	a1+8(FP), R0
-+	MOVD	a2+16(FP), R1
-+	MOVD	a3+24(FP), R2
-+	MOVD	$0, R3
-+	MOVD	$0, R4
-+	MOVD	$0, R5
-+	MOVD	trap+0(FP), R8	// syscall entry
-+	SVC
-+	MOVD	R0, r1+32(FP)
-+	MOVD	R1, r2+40(FP)
-+	RET
-diff --git a/vendor/golang.org/x/sys/unix/asm_linux_mips64x.s b/vendor/golang.org/x/sys/unix/asm_linux_mips64x.s
-index 724e580c..ab9d6383 100644
---- a/vendor/golang.org/x/sys/unix/asm_linux_mips64x.s
-+++ b/vendor/golang.org/x/sys/unix/asm_linux_mips64x.s
-@@ -15,14 +15,42 @@
- // Just jump to package syscall's implementation for all these functions.
- // The runtime may know about them.
- 
--TEXT	·Syscall(SB),NOSPLIT,$0-56
-+TEXT ·Syscall(SB),NOSPLIT,$0-56
- 	JMP	syscall·Syscall(SB)
- 
--TEXT	·Syscall6(SB),NOSPLIT,$0-80
-+TEXT ·Syscall6(SB),NOSPLIT,$0-80
- 	JMP	syscall·Syscall6(SB)
- 
--TEXT	·RawSyscall(SB),NOSPLIT,$0-56
-+TEXT ·SyscallNoError(SB),NOSPLIT,$0-48
-+	JAL	runtime·entersyscall(SB)
-+	MOVV	a1+8(FP), R4
-+	MOVV	a2+16(FP), R5
-+	MOVV	a3+24(FP), R6
-+	MOVV	R0, R7
-+	MOVV	R0, R8
-+	MOVV	R0, R9
-+	MOVV	trap+0(FP), R2	// syscall entry
-+	SYSCALL
-+	MOVV	R2, r1+32(FP)
-+	MOVV	R3, r2+40(FP)
-+	JAL	runtime·exitsyscall(SB)
-+	RET
-+
-+TEXT ·RawSyscall(SB),NOSPLIT,$0-56
- 	JMP	syscall·RawSyscall(SB)
- 
--TEXT	·RawSyscall6(SB),NOSPLIT,$0-80
-+TEXT ·RawSyscall6(SB),NOSPLIT,$0-80
- 	JMP	syscall·RawSyscall6(SB)
-+
-+TEXT ·RawSyscallNoError(SB),NOSPLIT,$0-48
-+	MOVV	a1+8(FP), R4
-+	MOVV	a2+16(FP), R5
-+	MOVV	a3+24(FP), R6
-+	MOVV	R0, R7
-+	MOVV	R0, R8
-+	MOVV	R0, R9
-+	MOVV	trap+0(FP), R2	// syscall entry
-+	SYSCALL
-+	MOVV	R2, r1+32(FP)
-+	MOVV	R3, r2+40(FP)
-+	RET
-diff --git a/vendor/golang.org/x/sys/unix/asm_linux_mipsx.s b/vendor/golang.org/x/sys/unix/asm_linux_mipsx.s
-index 2ea42575..99e53990 100644
---- a/vendor/golang.org/x/sys/unix/asm_linux_mipsx.s
-+++ b/vendor/golang.org/x/sys/unix/asm_linux_mipsx.s
-@@ -15,17 +15,40 @@
- // Just jump to package syscall's implementation for all these functions.
- // The runtime may know about them.
- 
--TEXT	·Syscall(SB),NOSPLIT,$0-28
-+TEXT ·Syscall(SB),NOSPLIT,$0-28
- 	JMP syscall·Syscall(SB)
- 
--TEXT	·Syscall6(SB),NOSPLIT,$0-40
-+TEXT ·Syscall6(SB),NOSPLIT,$0-40
- 	JMP syscall·Syscall6(SB)
- 
--TEXT	·Syscall9(SB),NOSPLIT,$0-52
-+TEXT ·Syscall9(SB),NOSPLIT,$0-52
- 	JMP syscall·Syscall9(SB)
- 
--TEXT	·RawSyscall(SB),NOSPLIT,$0-28
-+TEXT ·SyscallNoError(SB),NOSPLIT,$0-24
-+	JAL	runtime·entersyscall(SB)
-+	MOVW	a1+4(FP), R4
-+	MOVW	a2+8(FP), R5
-+	MOVW	a3+12(FP), R6
-+	MOVW	R0, R7
-+	MOVW	trap+0(FP), R2	// syscall entry
-+	SYSCALL
-+	MOVW	R2, r1+16(FP)	// r1
-+	MOVW	R3, r2+20(FP)	// r2
-+	JAL	runtime·exitsyscall(SB)
-+	RET
-+
-+TEXT ·RawSyscall(SB),NOSPLIT,$0-28
- 	JMP syscall·RawSyscall(SB)
- 
--TEXT	·RawSyscall6(SB),NOSPLIT,$0-40
-+TEXT ·RawSyscall6(SB),NOSPLIT,$0-40
- 	JMP syscall·RawSyscall6(SB)
-+
-+TEXT ·RawSyscallNoError(SB),NOSPLIT,$0-24
-+	MOVW	a1+4(FP), R4
-+	MOVW	a2+8(FP), R5
-+	MOVW	a3+12(FP), R6
-+	MOVW	trap+0(FP), R2	// syscall entry
-+	SYSCALL
-+	MOVW	R2, r1+16(FP)
-+	MOVW	R3, r2+20(FP)
-+	RET
-diff --git a/vendor/golang.org/x/sys/unix/asm_linux_ppc64x.s b/vendor/golang.org/x/sys/unix/asm_linux_ppc64x.s
-index 8d231feb..88f71255 100644
---- a/vendor/golang.org/x/sys/unix/asm_linux_ppc64x.s
-+++ b/vendor/golang.org/x/sys/unix/asm_linux_ppc64x.s
-@@ -15,14 +15,30 @@
- // Just jump to package syscall's implementation for all these functions.
- // The runtime may know about them.
- 
--TEXT	·Syscall(SB),NOSPLIT,$0-56
--	BR	syscall·Syscall(SB)
--
--TEXT ·Syscall6(SB),NOSPLIT,$0-80
--	BR	syscall·Syscall6(SB)
--
--TEXT ·RawSyscall(SB),NOSPLIT,$0-56
--	BR	syscall·RawSyscall(SB)
--
--TEXT ·RawSyscall6(SB),NOSPLIT,$0-80
--	BR	syscall·RawSyscall6(SB)
-+TEXT ·SyscallNoError(SB),NOSPLIT,$0-48
-+	BL	runtime·entersyscall(SB)
-+	MOVD	a1+8(FP), R3
-+	MOVD	a2+16(FP), R4
-+	MOVD	a3+24(FP), R5
-+	MOVD	R0, R6
-+	MOVD	R0, R7
-+	MOVD	R0, R8
-+	MOVD	trap+0(FP), R9	// syscall entry
-+	SYSCALL R9
-+	MOVD	R3, r1+32(FP)
-+	MOVD	R4, r2+40(FP)
-+	BL	runtime·exitsyscall(SB)
-+	RET
-+
-+TEXT ·RawSyscallNoError(SB),NOSPLIT,$0-48
-+	MOVD	a1+8(FP), R3
-+	MOVD	a2+16(FP), R4
-+	MOVD	a3+24(FP), R5
-+	MOVD	R0, R6
-+	MOVD	R0, R7
-+	MOVD	R0, R8
-+	MOVD	trap+0(FP), R9	// syscall entry
-+	SYSCALL R9
-+	MOVD	R3, r1+32(FP)
-+	MOVD	R4, r2+40(FP)
-+	RET
-diff --git a/vendor/golang.org/x/sys/unix/asm_linux_riscv64.s b/vendor/golang.org/x/sys/unix/asm_linux_riscv64.s
-new file mode 100644
-index 00000000..3cfefed2
---- /dev/null
-+++ b/vendor/golang.org/x/sys/unix/asm_linux_riscv64.s
-@@ -0,0 +1,47 @@
-+// Copyright 2019 The Go Authors. All rights reserved.
-+// Use of this source code is governed by a BSD-style
-+// license that can be found in the LICENSE file.
-+
-+// +build riscv64,!gccgo
-+
-+#include "textflag.h"
-+
-+//
-+// System calls for linux/riscv64.
-+//
-+// Where available, just jump to package syscall's implementation of
-+// these functions.
-+
-+TEXT ·Syscall(SB),NOSPLIT,$0-56
-+	JMP	syscall·Syscall(SB)
-+
-+TEXT ·Syscall6(SB),NOSPLIT,$0-80
-+	JMP	syscall·Syscall6(SB)
-+
-+TEXT ·SyscallNoError(SB),NOSPLIT,$0-48
-+	CALL	runtime·entersyscall(SB)
-+	MOV	a1+8(FP), A0
-+	MOV	a2+16(FP), A1
-+	MOV	a3+24(FP), A2
-+	MOV	trap+0(FP), A7	// syscall entry
-+	ECALL
-+	MOV	A0, r1+32(FP)	// r1
-+	MOV	A1, r2+40(FP)	// r2
-+	CALL	runtime·exitsyscall(SB)
-+	RET
-+
-+TEXT ·RawSyscall(SB),NOSPLIT,$0-56
-+	JMP	syscall·RawSyscall(SB)
-+
-+TEXT ·RawSyscall6(SB),NOSPLIT,$0-80
-+	JMP	syscall·RawSyscall6(SB)
-+
-+TEXT ·RawSyscallNoError(SB),NOSPLIT,$0-48
-+	MOV	a1+8(FP), A0
-+	MOV	a2+16(FP), A1
-+	MOV	a3+24(FP), A2
-+	MOV	trap+0(FP), A7	// syscall entry
-+	ECALL
-+	MOV	A0, r1+32(FP)
-+	MOV	A1, r2+40(FP)
-+	RET
-diff --git a/vendor/golang.org/x/sys/unix/asm_linux_s390x.s b/vendor/golang.org/x/sys/unix/asm_linux_s390x.s
-index 11889859..a5a863c6 100644
---- a/vendor/golang.org/x/sys/unix/asm_linux_s390x.s
-+++ b/vendor/golang.org/x/sys/unix/asm_linux_s390x.s
-@@ -21,8 +21,36 @@ TEXT ·Syscall(SB),NOSPLIT,$0-56
- TEXT ·Syscall6(SB),NOSPLIT,$0-80
- 	BR	syscall·Syscall6(SB)
- 
-+TEXT ·SyscallNoError(SB),NOSPLIT,$0-48
-+	BL	runtime·entersyscall(SB)
-+	MOVD	a1+8(FP), R2
-+	MOVD	a2+16(FP), R3
-+	MOVD	a3+24(FP), R4
-+	MOVD	$0, R5
-+	MOVD	$0, R6
-+	MOVD	$0, R7
-+	MOVD	trap+0(FP), R1	// syscall entry
-+	SYSCALL
-+	MOVD	R2, r1+32(FP)
-+	MOVD	R3, r2+40(FP)
-+	BL	runtime·exitsyscall(SB)
-+	RET
-+
- TEXT ·RawSyscall(SB),NOSPLIT,$0-56
- 	BR	syscall·RawSyscall(SB)
- 
- TEXT ·RawSyscall6(SB),NOSPLIT,$0-80
- 	BR	syscall·RawSyscall6(SB)
-+
-+TEXT ·RawSyscallNoError(SB),NOSPLIT,$0-48
-+	MOVD	a1+8(FP), R2
-+	MOVD	a2+16(FP), R3
-+	MOVD	a3+24(FP), R4
-+	MOVD	$0, R5
-+	MOVD	$0, R6
-+	MOVD	$0, R7
-+	MOVD	trap+0(FP), R1	// syscall entry
-+	SYSCALL
-+	MOVD	R2, r1+32(FP)
-+	MOVD	R3, r2+40(FP)
-+	RET
-diff --git a/vendor/golang.org/x/sys/unix/asm_linux_mips64x.s b/vendor/golang.org/x/sys/unix/asm_netbsd_arm64.s
-similarity index 60%
-copy from vendor/golang.org/x/sys/unix/asm_linux_mips64x.s
-copy to vendor/golang.org/x/sys/unix/asm_netbsd_arm64.s
-index 724e580c..6f98ba5a 100644
---- a/vendor/golang.org/x/sys/unix/asm_linux_mips64x.s
-+++ b/vendor/golang.org/x/sys/unix/asm_netbsd_arm64.s
-@@ -1,28 +1,29 @@
--// Copyright 2015 The Go Authors. All rights reserved.
-+// Copyright 2019 The Go Authors. All rights reserved.
- // Use of this source code is governed by a BSD-style
- // license that can be found in the LICENSE file.
- 
--// +build linux
--// +build mips64 mips64le
- // +build !gccgo
- 
- #include "textflag.h"
- 
- //
--// System calls for mips64, Linux
-+// System call support for ARM64, NetBSD
- //
- 
- // Just jump to package syscall's implementation for all these functions.
- // The runtime may know about them.
- 
- TEXT	·Syscall(SB),NOSPLIT,$0-56
--	JMP	syscall·Syscall(SB)
-+	B	syscall·Syscall(SB)
- 
- TEXT	·Syscall6(SB),NOSPLIT,$0-80
--	JMP	syscall·Syscall6(SB)
-+	B	syscall·Syscall6(SB)
-+
-+TEXT	·Syscall9(SB),NOSPLIT,$0-104
-+	B	syscall·Syscall9(SB)
- 
- TEXT	·RawSyscall(SB),NOSPLIT,$0-56
--	JMP	syscall·RawSyscall(SB)
-+	B	syscall·RawSyscall(SB)
- 
- TEXT	·RawSyscall6(SB),NOSPLIT,$0-80
--	JMP	syscall·RawSyscall6(SB)
-+	B	syscall·RawSyscall6(SB)
-diff --git a/vendor/golang.org/x/sys/unix/asm_linux_mips64x.s b/vendor/golang.org/x/sys/unix/asm_openbsd_arm64.s
-similarity index 76%
-copy from vendor/golang.org/x/sys/unix/asm_linux_mips64x.s
-copy to vendor/golang.org/x/sys/unix/asm_openbsd_arm64.s
-index 724e580c..0cedea3d 100644
---- a/vendor/golang.org/x/sys/unix/asm_linux_mips64x.s
-+++ b/vendor/golang.org/x/sys/unix/asm_openbsd_arm64.s
-@@ -1,15 +1,13 @@
--// Copyright 2015 The Go Authors. All rights reserved.
-+// Copyright 2019 The Go Authors. All rights reserved.
- // Use of this source code is governed by a BSD-style
- // license that can be found in the LICENSE file.
- 
--// +build linux
--// +build mips64 mips64le
- // +build !gccgo
- 
- #include "textflag.h"
- 
- //
--// System calls for mips64, Linux
-+// System call support for arm64, OpenBSD
- //
- 
- // Just jump to package syscall's implementation for all these functions.
-@@ -21,6 +19,9 @@ TEXT	·Syscall(SB),NOSPLIT,$0-56
- TEXT	·Syscall6(SB),NOSPLIT,$0-80
- 	JMP	syscall·Syscall6(SB)
- 
-+TEXT	·Syscall9(SB),NOSPLIT,$0-104
-+	JMP	syscall·Syscall9(SB)
-+
- TEXT	·RawSyscall(SB),NOSPLIT,$0-56
- 	JMP	syscall·RawSyscall(SB)
- 
-diff --git a/vendor/golang.org/x/sys/unix/bluetooth_linux.go b/vendor/golang.org/x/sys/unix/bluetooth_linux.go
-index 6e322969..a178a614 100644
---- a/vendor/golang.org/x/sys/unix/bluetooth_linux.go
-+++ b/vendor/golang.org/x/sys/unix/bluetooth_linux.go
-@@ -23,6 +23,7 @@ const (
- 	HCI_CHANNEL_USER    = 1
- 	HCI_CHANNEL_MONITOR = 2
- 	HCI_CHANNEL_CONTROL = 3
-+	HCI_CHANNEL_LOGGING = 4
- )
- 
- // Socketoption Level
-diff --git a/vendor/golang.org/x/sys/unix/cap_freebsd.go b/vendor/golang.org/x/sys/unix/cap_freebsd.go
-index 83b6bcea..df520487 100644
---- a/vendor/golang.org/x/sys/unix/cap_freebsd.go
-+++ b/vendor/golang.org/x/sys/unix/cap_freebsd.go
-@@ -7,7 +7,7 @@
- package unix
- 
- import (
--	errorspkg "errors"
-+	"errors"
- 	"fmt"
- )
- 
-@@ -60,26 +60,26 @@ func CapRightsSet(rights *CapRights, setrights []uint64) error {
- 
- 	n := caparsize(rights)
- 	if n < capArSizeMin || n > capArSizeMax {
--		return errorspkg.New("bad rights size")
-+		return errors.New("bad rights size")
- 	}
- 
- 	for _, right := range setrights {
- 		if caprver(right) != CAP_RIGHTS_VERSION_00 {
--			return errorspkg.New("bad right version")
-+			return errors.New("bad right version")
- 		}
- 		i, err := rightToIndex(right)
- 		if err != nil {
- 			return err
- 		}
- 		if i >= n {
--			return errorspkg.New("index overflow")
-+			return errors.New("index overflow")
- 		}
- 		if capidxbit(rights.Rights[i]) != capidxbit(right) {
--			return errorspkg.New("index mismatch")
-+			return errors.New("index mismatch")
- 		}
- 		rights.Rights[i] |= right
- 		if capidxbit(rights.Rights[i]) != capidxbit(right) {
--			return errorspkg.New("index mismatch (after assign)")
-+			return errors.New("index mismatch (after assign)")
- 		}
- 	}
- 
-@@ -95,26 +95,26 @@ func CapRightsClear(rights *CapRights, clearrights []uint64) error {
- 
- 	n := caparsize(rights)
- 	if n < capArSizeMin || n > capArSizeMax {
--		return errorspkg.New("bad rights size")
-+		return errors.New("bad rights size")
- 	}
- 
- 	for _, right := range clearrights {
- 		if caprver(right) != CAP_RIGHTS_VERSION_00 {
--			return errorspkg.New("bad right version")
-+			return errors.New("bad right version")
- 		}
- 		i, err := rightToIndex(right)
- 		if err != nil {
- 			return err
- 		}
- 		if i >= n {
--			return errorspkg.New("index overflow")
-+			return errors.New("index overflow")
- 		}
- 		if capidxbit(rights.Rights[i]) != capidxbit(right) {
--			return errorspkg.New("index mismatch")
-+			return errors.New("index mismatch")
- 		}
- 		rights.Rights[i] &= ^(right & 0x01FFFFFFFFFFFFFF)
- 		if capidxbit(rights.Rights[i]) != capidxbit(right) {
--			return errorspkg.New("index mismatch (after assign)")
-+			return errors.New("index mismatch (after assign)")
- 		}
- 	}
- 
-@@ -130,22 +130,22 @@ func CapRightsIsSet(rights *CapRights, setrights []uint64) (bool, error) {
- 
- 	n := caparsize(rights)
- 	if n < capArSizeMin || n > capArSizeMax {
--		return false, errorspkg.New("bad rights size")
-+		return false, errors.New("bad rights size")
- 	}
- 
- 	for _, right := range setrights {
- 		if caprver(right) != CAP_RIGHTS_VERSION_00 {
--			return false, errorspkg.New("bad right version")
-+			return false, errors.New("bad right version")
- 		}
- 		i, err := rightToIndex(right)
- 		if err != nil {
- 			return false, err
- 		}
- 		if i >= n {
--			return false, errorspkg.New("index overflow")
-+			return false, errors.New("index overflow")
- 		}
- 		if capidxbit(rights.Rights[i]) != capidxbit(right) {
--			return false, errorspkg.New("index mismatch")
-+			return false, errors.New("index mismatch")
- 		}
- 		if (rights.Rights[i] & right) != right {
- 			return false, nil
-diff --git a/vendor/golang.org/x/sys/unix/constants.go b/vendor/golang.org/x/sys/unix/constants.go
-index a96f0ebc..3a6ac648 100644
---- a/vendor/golang.org/x/sys/unix/constants.go
-+++ b/vendor/golang.org/x/sys/unix/constants.go
-@@ -2,7 +2,7 @@
- // Use of this source code is governed by a BSD-style
- // license that can be found in the LICENSE file.
- 
--// +build darwin dragonfly freebsd linux netbsd openbsd solaris
-+// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris
- 
- package unix
- 
-diff --git a/vendor/golang.org/x/sys/unix/dev_aix_ppc.go b/vendor/golang.org/x/sys/unix/dev_aix_ppc.go
-new file mode 100644
-index 00000000..5e5fb451
---- /dev/null
-+++ b/vendor/golang.org/x/sys/unix/dev_aix_ppc.go
-@@ -0,0 +1,27 @@
-+// Copyright 2018 The Go Authors. All rights reserved.
-+// Use of this source code is governed by a BSD-style
-+// license that can be found in the LICENSE file.
-+
-+// +build aix
-+// +build ppc
-+
-+// Functions to access/create device major and minor numbers matching the
-+// encoding used by AIX.
-+
-+package unix
-+
-+// Major returns the major component of a Linux device number.
-+func Major(dev uint64) uint32 {
-+	return uint32((dev >> 16) & 0xffff)
-+}
-+
-+// Minor returns the minor component of a Linux device number.
-+func Minor(dev uint64) uint32 {
-+	return uint32(dev & 0xffff)
-+}
-+
-+// Mkdev returns a Linux device number generated from the given major and minor
-+// components.
-+func Mkdev(major, minor uint32) uint64 {
-+	return uint64(((major) << 16) | (minor))
-+}
-diff --git a/vendor/golang.org/x/sys/unix/dev_aix_ppc64.go b/vendor/golang.org/x/sys/unix/dev_aix_ppc64.go
-new file mode 100644
-index 00000000..8b401244
---- /dev/null
-+++ b/vendor/golang.org/x/sys/unix/dev_aix_ppc64.go
-@@ -0,0 +1,29 @@
-+// Copyright 2018 The Go Authors. All rights reserved.
-+// Use of this source code is governed by a BSD-style
-+// license that can be found in the LICENSE file.
-+
-+// +build aix
-+// +build ppc64
-+
-+// Functions to access/create device major and minor numbers matching the
-+// encoding used AIX.
-+
-+package unix
-+
-+// Major returns the major component of a Linux device number.
-+func Major(dev uint64) uint32 {
-+	return uint32((dev & 0x3fffffff00000000) >> 32)
-+}
-+
-+// Minor returns the minor component of a Linux device number.
-+func Minor(dev uint64) uint32 {
-+	return uint32((dev & 0x00000000ffffffff) >> 0)
-+}
-+
-+// Mkdev returns a Linux device number generated from the given major and minor
-+// components.
-+func Mkdev(major, minor uint32) uint64 {
-+	var DEVNO64 uint64
-+	DEVNO64 = 0x8000000000000000
-+	return ((uint64(major) << 32) | (uint64(minor) & 0x00000000FFFFFFFF) | DEVNO64)
-+}
-diff --git a/vendor/golang.org/x/sys/unix/dev_darwin.go b/vendor/golang.org/x/sys/unix/dev_darwin.go
-new file mode 100644
-index 00000000..8d1dc0fa
---- /dev/null
-+++ b/vendor/golang.org/x/sys/unix/dev_darwin.go
-@@ -0,0 +1,24 @@
-+// Copyright 2017 The Go Authors. All rights reserved.
-+// Use of this source code is governed by a BSD-style
-+// license that can be found in the LICENSE file.
-+
-+// Functions to access/create device major and minor numbers matching the
-+// encoding used in Darwin's sys/types.h header.
-+
-+package unix
-+
-+// Major returns the major component of a Darwin device number.
-+func Major(dev uint64) uint32 {
-+	return uint32((dev >> 24) & 0xff)
-+}
-+
-+// Minor returns the minor component of a Darwin device number.
-+func Minor(dev uint64) uint32 {
-+	return uint32(dev & 0xffffff)
-+}
-+
-+// Mkdev returns a Darwin device number generated from the given major and minor
-+// components.
-+func Mkdev(major, minor uint32) uint64 {
-+	return (uint64(major) << 24) | uint64(minor)
-+}
-diff --git a/vendor/golang.org/x/sys/unix/dev_dragonfly.go b/vendor/golang.org/x/sys/unix/dev_dragonfly.go
-new file mode 100644
-index 00000000..8502f202
---- /dev/null
-+++ b/vendor/golang.org/x/sys/unix/dev_dragonfly.go
-@@ -0,0 +1,30 @@
-+// Copyright 2017 The Go Authors. All rights reserved.
-+// Use of this source code is governed by a BSD-style
-+// license that can be found in the LICENSE file.
-+
-+// Functions to access/create device major and minor numbers matching the
-+// encoding used in Dragonfly's sys/types.h header.
-+//
-+// The information below is extracted and adapted from sys/types.h:
-+//
-+// Minor gives a cookie instead of an index since in order to avoid changing the
-+// meanings of bits 0-15 or wasting time and space shifting bits 16-31 for
-+// devices that don't use them.
-+
-+package unix
-+
-+// Major returns the major component of a DragonFlyBSD device number.
-+func Major(dev uint64) uint32 {
-+	return uint32((dev >> 8) & 0xff)
-+}
-+
-+// Minor returns the minor component of a DragonFlyBSD device number.
-+func Minor(dev uint64) uint32 {
-+	return uint32(dev & 0xffff00ff)
-+}
-+
-+// Mkdev returns a DragonFlyBSD device number generated from the given major and
-+// minor components.
-+func Mkdev(major, minor uint32) uint64 {
-+	return (uint64(major) << 8) | uint64(minor)
-+}
-diff --git a/vendor/golang.org/x/sys/unix/dev_freebsd.go b/vendor/golang.org/x/sys/unix/dev_freebsd.go
-new file mode 100644
-index 00000000..eba3b4bd
---- /dev/null
-+++ b/vendor/golang.org/x/sys/unix/dev_freebsd.go
-@@ -0,0 +1,30 @@
-+// Copyright 2017 The Go Authors. All rights reserved.
-+// Use of this source code is governed by a BSD-style
-+// license that can be found in the LICENSE file.
-+
-+// Functions to access/create device major and minor numbers matching the
-+// encoding used in FreeBSD's sys/types.h header.
-+//
-+// The information below is extracted and adapted from sys/types.h:
-+//
-+// Minor gives a cookie instead of an index since in order to avoid changing the
-+// meanings of bits 0-15 or wasting time and space shifting bits 16-31 for
-+// devices that don't use them.
-+
-+package unix
-+
-+// Major returns the major component of a FreeBSD device number.
-+func Major(dev uint64) uint32 {
-+	return uint32((dev >> 8) & 0xff)
-+}
-+
-+// Minor returns the minor component of a FreeBSD device number.
-+func Minor(dev uint64) uint32 {
-+	return uint32(dev & 0xffff00ff)
-+}
-+
-+// Mkdev returns a FreeBSD device number generated from the given major and
-+// minor components.
-+func Mkdev(major, minor uint32) uint64 {
-+	return (uint64(major) << 8) | uint64(minor)
-+}
-diff --git a/vendor/golang.org/x/sys/unix/dev_linux.go b/vendor/golang.org/x/sys/unix/dev_linux.go
-index c902c39e..d165d6f3 100644
---- a/vendor/golang.org/x/sys/unix/dev_linux.go
-+++ b/vendor/golang.org/x/sys/unix/dev_linux.go
-@@ -34,9 +34,9 @@ func Minor(dev uint64) uint32 {
- // Mkdev returns a Linux device number generated from the given major and minor
- // components.
- func Mkdev(major, minor uint32) uint64 {
--	dev := uint64((major & 0x00000fff) << 8)
--	dev |= uint64((major & 0xfffff000) << 32)
--	dev |= uint64((minor & 0x000000ff) << 0)
--	dev |= uint64((minor & 0xffffff00) << 12)
-+	dev := (uint64(major) & 0x00000fff) << 8
-+	dev |= (uint64(major) & 0xfffff000) << 32
-+	dev |= (uint64(minor) & 0x000000ff) << 0
-+	dev |= (uint64(minor) & 0xffffff00) << 12
- 	return dev
- }
-diff --git a/vendor/golang.org/x/sys/unix/dev_netbsd.go b/vendor/golang.org/x/sys/unix/dev_netbsd.go
-new file mode 100644
-index 00000000..b4a203d0
---- /dev/null
-+++ b/vendor/golang.org/x/sys/unix/dev_netbsd.go
-@@ -0,0 +1,29 @@
-+// Copyright 2017 The Go Authors. All rights reserved.
-+// Use of this source code is governed by a BSD-style
-+// license that can be found in the LICENSE file.
-+
-+// Functions to access/create device major and minor numbers matching the
-+// encoding used in NetBSD's sys/types.h header.
-+
-+package unix
-+
-+// Major returns the major component of a NetBSD device number.
-+func Major(dev uint64) uint32 {
-+	return uint32((dev & 0x000fff00) >> 8)
-+}
-+
-+// Minor returns the minor component of a NetBSD device number.
-+func Minor(dev uint64) uint32 {
-+	minor := uint32((dev & 0x000000ff) >> 0)
-+	minor |= uint32((dev & 0xfff00000) >> 12)
-+	return minor
-+}
-+
-+// Mkdev returns a NetBSD device number generated from the given major and minor
-+// components.
-+func Mkdev(major, minor uint32) uint64 {
-+	dev := (uint64(major) << 8) & 0x000fff00
-+	dev |= (uint64(minor) << 12) & 0xfff00000
-+	dev |= (uint64(minor) << 0) & 0x000000ff
-+	return dev
-+}
-diff --git a/vendor/golang.org/x/sys/unix/dev_openbsd.go b/vendor/golang.org/x/sys/unix/dev_openbsd.go
-new file mode 100644
-index 00000000..f3430c42
---- /dev/null
-+++ b/vendor/golang.org/x/sys/unix/dev_openbsd.go
-@@ -0,0 +1,29 @@
-+// Copyright 2017 The Go Authors. All rights reserved.
-+// Use of this source code is governed by a BSD-style
-+// license that can be found in the LICENSE file.
-+
-+// Functions to access/create device major and minor numbers matching the
-+// encoding used in OpenBSD's sys/types.h header.
-+
-+package unix
-+
-+// Major returns the major component of an OpenBSD device number.
-+func Major(dev uint64) uint32 {
-+	return uint32((dev & 0x0000ff00) >> 8)
-+}
-+
-+// Minor returns the minor component of an OpenBSD device number.
-+func Minor(dev uint64) uint32 {
-+	minor := uint32((dev & 0x000000ff) >> 0)
-+	minor |= uint32((dev & 0xffff0000) >> 8)
-+	return minor
-+}
-+
-+// Mkdev returns an OpenBSD device number generated from the given major and minor
-+// components.
-+func Mkdev(major, minor uint32) uint64 {
-+	dev := (uint64(major) << 8) & 0x0000ff00
-+	dev |= (uint64(minor) << 8) & 0xffff0000
-+	dev |= (uint64(minor) << 0) & 0x000000ff
-+	return dev
-+}
-diff --git a/vendor/golang.org/x/sys/unix/dirent.go b/vendor/golang.org/x/sys/unix/dirent.go
-index bd475812..304016b6 100644
---- a/vendor/golang.org/x/sys/unix/dirent.go
-+++ b/vendor/golang.org/x/sys/unix/dirent.go
-@@ -2,7 +2,7 @@
- // Use of this source code is governed by a BSD-style
- // license that can be found in the LICENSE file.
- 
--// +build darwin dragonfly freebsd linux nacl netbsd openbsd solaris
-+// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris
- 
- package unix
- 
-diff --git a/vendor/golang.org/x/sys/unix/endian_little.go b/vendor/golang.org/x/sys/unix/endian_little.go
-index 085df2d8..bcdb5d30 100644
---- a/vendor/golang.org/x/sys/unix/endian_little.go
-+++ b/vendor/golang.org/x/sys/unix/endian_little.go
-@@ -2,7 +2,7 @@
- // Use of this source code is governed by a BSD-style
- // license that can be found in the LICENSE file.
- //
--// +build 386 amd64 amd64p32 arm arm64 ppc64le mipsle mips64le
-+// +build 386 amd64 amd64p32 arm arm64 ppc64le mipsle mips64le riscv64
- 
- package unix
- 
-diff --git a/vendor/golang.org/x/sys/unix/env_unix.go b/vendor/golang.org/x/sys/unix/env_unix.go
-index 45e281a0..84178b0a 100644
---- a/vendor/golang.org/x/sys/unix/env_unix.go
-+++ b/vendor/golang.org/x/sys/unix/env_unix.go
-@@ -1,8 +1,8 @@
--// Copyright 2010 The Go Authors.  All rights reserved.
-+// Copyright 2010 The Go Authors. All rights reserved.
- // Use of this source code is governed by a BSD-style
- // license that can be found in the LICENSE file.
- 
--// +build darwin dragonfly freebsd linux netbsd openbsd solaris
-+// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris
- 
- // Unix environment variables.
- 
-@@ -25,3 +25,7 @@ func Clearenv() {
- func Environ() []string {
- 	return syscall.Environ()
- }
-+
-+func Unsetenv(key string) error {
-+	return syscall.Unsetenv(key)
-+}
-diff --git a/vendor/golang.org/x/sys/unix/env_unset.go b/vendor/golang.org/x/sys/unix/env_unset.go
-deleted file mode 100644
-index 92222625..00000000
---- a/vendor/golang.org/x/sys/unix/env_unset.go
-+++ /dev/null
-@@ -1,14 +0,0 @@
--// Copyright 2014 The Go Authors.  All rights reserved.
--// Use of this source code is governed by a BSD-style
--// license that can be found in the LICENSE file.
--
--// +build go1.4
--
--package unix
--
--import "syscall"
--
--func Unsetenv(key string) error {
--	// This was added in Go 1.4.
--	return syscall.Unsetenv(key)
--}
-diff --git a/vendor/golang.org/x/sys/unix/errors_freebsd_386.go b/vendor/golang.org/x/sys/unix/errors_freebsd_386.go
-index c56bc8b0..761db66e 100644
---- a/vendor/golang.org/x/sys/unix/errors_freebsd_386.go
-+++ b/vendor/golang.org/x/sys/unix/errors_freebsd_386.go
-@@ -8,6 +8,7 @@
- package unix
- 
- const (
-+	DLT_HHDLC                         = 0x79
- 	IFF_SMART                         = 0x20
- 	IFT_1822                          = 0x2
- 	IFT_A12MPPSWITCH                  = 0x82
-@@ -210,13 +211,18 @@ const (
- 	IFT_XETHER                        = 0x1a
- 	IPPROTO_MAXID                     = 0x34
- 	IPV6_FAITH                        = 0x1d
-+	IPV6_MIN_MEMBERSHIPS              = 0x1f
- 	IP_FAITH                          = 0x16
-+	IP_MAX_SOURCE_FILTER              = 0x400
-+	IP_MIN_MEMBERSHIPS                = 0x1f
- 	MAP_NORESERVE                     = 0x40
- 	MAP_RENAME                        = 0x20
- 	NET_RT_MAXID                      = 0x6
- 	RTF_PRCLONING                     = 0x10000
- 	RTM_OLDADD                        = 0x9
- 	RTM_OLDDEL                        = 0xa
-+	RT_CACHING_CONTEXT                = 0x1
-+	RT_NORTREF                        = 0x2
- 	SIOCADDRT                         = 0x8030720a
- 	SIOCALIFADDR                      = 0x8118691b
- 	SIOCDELRT                         = 0x8030720b
-diff --git a/vendor/golang.org/x/sys/unix/errors_freebsd_amd64.go b/vendor/golang.org/x/sys/unix/errors_freebsd_amd64.go
-index 3e977117..070f44b6 100644
---- a/vendor/golang.org/x/sys/unix/errors_freebsd_amd64.go
-+++ b/vendor/golang.org/x/sys/unix/errors_freebsd_amd64.go
-@@ -8,6 +8,7 @@
- package unix
- 
- const (
-+	DLT_HHDLC                         = 0x79
- 	IFF_SMART                         = 0x20
- 	IFT_1822                          = 0x2
- 	IFT_A12MPPSWITCH                  = 0x82
-@@ -210,13 +211,18 @@ const (
- 	IFT_XETHER                        = 0x1a
- 	IPPROTO_MAXID                     = 0x34
- 	IPV6_FAITH                        = 0x1d
-+	IPV6_MIN_MEMBERSHIPS              = 0x1f
- 	IP_FAITH                          = 0x16
-+	IP_MAX_SOURCE_FILTER              = 0x400
-+	IP_MIN_MEMBERSHIPS                = 0x1f
- 	MAP_NORESERVE                     = 0x40
- 	MAP_RENAME                        = 0x20
- 	NET_RT_MAXID                      = 0x6
- 	RTF_PRCLONING                     = 0x10000
- 	RTM_OLDADD                        = 0x9
- 	RTM_OLDDEL                        = 0xa
-+	RT_CACHING_CONTEXT                = 0x1
-+	RT_NORTREF                        = 0x2
- 	SIOCADDRT                         = 0x8040720a
- 	SIOCALIFADDR                      = 0x8118691b
- 	SIOCDELRT                         = 0x8040720b
-diff --git a/vendor/golang.org/x/sys/unix/errors_freebsd_arm64.go b/vendor/golang.org/x/sys/unix/errors_freebsd_arm64.go
-new file mode 100644
-index 00000000..946dcf3f
---- /dev/null
-+++ b/vendor/golang.org/x/sys/unix/errors_freebsd_arm64.go
-@@ -0,0 +1,17 @@
-+// Copyright 2020 The Go Authors. All rights reserved.
-+// Use of this source code is governed by a BSD-style
-+// license that can be found in the LICENSE file.
-+
-+// Constants that were deprecated or moved to enums in the FreeBSD headers. Keep
-+// them here for backwards compatibility.
-+
-+package unix
-+
-+const (
-+	DLT_HHDLC            = 0x79
-+	IPV6_MIN_MEMBERSHIPS = 0x1f
-+	IP_MAX_SOURCE_FILTER = 0x400
-+	IP_MIN_MEMBERSHIPS   = 0x1f
-+	RT_CACHING_CONTEXT   = 0x1
-+	RT_NORTREF           = 0x2
-+)
-diff --git a/vendor/golang.org/x/sys/unix/flock.go b/vendor/golang.org/x/sys/unix/fcntl.go
-similarity index 54%
-rename from vendor/golang.org/x/sys/unix/flock.go
-rename to vendor/golang.org/x/sys/unix/fcntl.go
-index 2994ce75..4dc53486 100644
---- a/vendor/golang.org/x/sys/unix/flock.go
-+++ b/vendor/golang.org/x/sys/unix/fcntl.go
-@@ -2,16 +2,30 @@
- // Use of this source code is governed by a BSD-style
- // license that can be found in the LICENSE file.
- 
--// +build darwin dragonfly freebsd linux netbsd openbsd
-+// +build dragonfly freebsd linux netbsd openbsd
- 
- package unix
- 
- import "unsafe"
- 
- // fcntl64Syscall is usually SYS_FCNTL, but is overridden on 32-bit Linux
--// systems by flock_linux_32bit.go to be SYS_FCNTL64.
-+// systems by fcntl_linux_32bit.go to be SYS_FCNTL64.
- var fcntl64Syscall uintptr = SYS_FCNTL
- 
-+func fcntl(fd int, cmd, arg int) (int, error) {
-+	valptr, _, errno := Syscall(fcntl64Syscall, uintptr(fd), uintptr(cmd), uintptr(arg))
-+	var err error
-+	if errno != 0 {
-+		err = errno
-+	}
-+	return int(valptr), err
-+}
-+
-+// FcntlInt performs a fcntl syscall on fd with the provided command and argument.
-+func FcntlInt(fd uintptr, cmd, arg int) (int, error) {
-+	return fcntl(int(fd), cmd, arg)
-+}
-+
- // FcntlFlock performs a fcntl syscall for the F_GETLK, F_SETLK or F_SETLKW command.
- func FcntlFlock(fd uintptr, cmd int, lk *Flock_t) error {
- 	_, _, errno := Syscall(fcntl64Syscall, fd, uintptr(cmd), uintptr(unsafe.Pointer(lk)))
-diff --git a/vendor/golang.org/x/sys/unix/fcntl_darwin.go b/vendor/golang.org/x/sys/unix/fcntl_darwin.go
-new file mode 100644
-index 00000000..5868a4a4
---- /dev/null
-+++ b/vendor/golang.org/x/sys/unix/fcntl_darwin.go
-@@ -0,0 +1,18 @@
-+// Copyright 2019 The Go Authors. All rights reserved.
-+// Use of this source code is governed by a BSD-style
-+// license that can be found in the LICENSE file.
-+
-+package unix
-+
-+import "unsafe"
-+
-+// FcntlInt performs a fcntl syscall on fd with the provided command and argument.
-+func FcntlInt(fd uintptr, cmd, arg int) (int, error) {
-+	return fcntl(int(fd), cmd, arg)
-+}
-+
-+// FcntlFlock performs a fcntl syscall for the F_GETLK, F_SETLK or F_SETLKW command.
-+func FcntlFlock(fd uintptr, cmd int, lk *Flock_t) error {
-+	_, err := fcntl(int(fd), cmd, int(uintptr(unsafe.Pointer(lk))))
-+	return err
-+}
-diff --git a/vendor/golang.org/x/sys/unix/flock_linux_32bit.go b/vendor/golang.org/x/sys/unix/fcntl_linux_32bit.go
-similarity index 100%
-rename from vendor/golang.org/x/sys/unix/flock_linux_32bit.go
-rename to vendor/golang.org/x/sys/unix/fcntl_linux_32bit.go
-diff --git a/vendor/golang.org/x/sys/unix/fdset.go b/vendor/golang.org/x/sys/unix/fdset.go
-new file mode 100644
-index 00000000..b27be0a0
---- /dev/null
-+++ b/vendor/golang.org/x/sys/unix/fdset.go
-@@ -0,0 +1,29 @@
-+// Copyright 2019 The Go Authors. All rights reserved.
-+// Use of this source code is governed by a BSD-style
-+// license that can be found in the LICENSE file.
-+
-+// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris
-+
-+package unix
-+
-+// Set adds fd to the set fds.
-+func (fds *FdSet) Set(fd int) {
-+	fds.Bits[fd/NFDBITS] |= (1 << (uintptr(fd) % NFDBITS))
-+}
-+
-+// Clear removes fd from the set fds.
-+func (fds *FdSet) Clear(fd int) {
-+	fds.Bits[fd/NFDBITS] &^= (1 << (uintptr(fd) % NFDBITS))
-+}
-+
-+// IsSet returns whether fd is in the set fds.
-+func (fds *FdSet) IsSet(fd int) bool {
-+	return fds.Bits[fd/NFDBITS]&(1<<(uintptr(fd)%NFDBITS)) != 0
-+}
-+
-+// Zero clears the set fds.
-+func (fds *FdSet) Zero() {
-+	for i := range fds.Bits {
-+		fds.Bits[i] = 0
-+	}
-+}
-diff --git a/vendor/golang.org/x/sys/unix/file_unix.go b/vendor/golang.org/x/sys/unix/file_unix.go
-deleted file mode 100644
-index 47f6a83f..00000000
---- a/vendor/golang.org/x/sys/unix/file_unix.go
-+++ /dev/null
-@@ -1,27 +0,0 @@
--// Copyright 2017 The Go Authors. All rights reserved.
--// Use of this source code is governed by a BSD-style
--// license that can be found in the LICENSE file.
--
--package unix
--
--import (
--	"os"
--	"syscall"
--)
--
--// FIXME: unexported function from os
--// syscallMode returns the syscall-specific mode bits from Go's portable mode bits.
--func syscallMode(i os.FileMode) (o uint32) {
--	o |= uint32(i.Perm())
--	if i&os.ModeSetuid != 0 {
--		o |= syscall.S_ISUID
--	}
--	if i&os.ModeSetgid != 0 {
--		o |= syscall.S_ISGID
--	}
--	if i&os.ModeSticky != 0 {
--		o |= syscall.S_ISVTX
--	}
--	// No mapping for Go's ModeTemporary (plan9 only).
--	return
--}
-diff --git a/vendor/golang.org/x/sys/unix/gccgo.go b/vendor/golang.org/x/sys/unix/gccgo.go
-index 94c82321..cd6f5a61 100644
---- a/vendor/golang.org/x/sys/unix/gccgo.go
-+++ b/vendor/golang.org/x/sys/unix/gccgo.go
-@@ -1,19 +1,30 @@
--// Copyright 2015 The Go Authors.  All rights reserved.
-+// Copyright 2015 The Go Authors. All rights reserved.
- // Use of this source code is governed by a BSD-style
- // license that can be found in the LICENSE file.
- 
- // +build gccgo
-+// +build !aix
- 
- package unix
- 
- import "syscall"
- 
--// We can't use the gc-syntax .s files for gccgo.  On the plus side
-+// We can't use the gc-syntax .s files for gccgo. On the plus side
- // much of the functionality can be written directly in Go.
- 
-+//extern gccgoRealSyscallNoError
-+func realSyscallNoError(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r uintptr)
-+
- //extern gccgoRealSyscall
- func realSyscall(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r, errno uintptr)
- 
-+func SyscallNoError(trap, a1, a2, a3 uintptr) (r1, r2 uintptr) {
-+	syscall.Entersyscall()
-+	r := realSyscallNoError(trap, a1, a2, a3, 0, 0, 0, 0, 0, 0)
-+	syscall.Exitsyscall()
-+	return r, 0
-+}
-+
- func Syscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno) {
- 	syscall.Entersyscall()
- 	r, errno := realSyscall(trap, a1, a2, a3, 0, 0, 0, 0, 0, 0)
-@@ -35,6 +46,11 @@ func Syscall9(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr,
- 	return r, 0, syscall.Errno(errno)
- }
- 
-+func RawSyscallNoError(trap, a1, a2, a3 uintptr) (r1, r2 uintptr) {
-+	r := realSyscallNoError(trap, a1, a2, a3, 0, 0, 0, 0, 0, 0)
-+	return r, 0
-+}
-+
- func RawSyscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno) {
- 	r, errno := realSyscall(trap, a1, a2, a3, 0, 0, 0, 0, 0, 0)
- 	return r, 0, syscall.Errno(errno)
-diff --git a/vendor/golang.org/x/sys/unix/gccgo_c.c b/vendor/golang.org/x/sys/unix/gccgo_c.c
-index 07f6be03..c44730c5 100644
---- a/vendor/golang.org/x/sys/unix/gccgo_c.c
-+++ b/vendor/golang.org/x/sys/unix/gccgo_c.c
-@@ -1,8 +1,9 @@
--// Copyright 2015 The Go Authors.  All rights reserved.
-+// Copyright 2015 The Go Authors. All rights reserved.
- // Use of this source code is governed by a BSD-style
- // license that can be found in the LICENSE file.
- 
- // +build gccgo
-+// +build !aix
- 
- #include 
- #include 
-@@ -31,11 +32,8 @@ gccgoRealSyscall(uintptr_t trap, uintptr_t a1, uintptr_t a2, uintptr_t a3, uintp
- 	return r;
- }
- 
--// Define the use function in C so that it is not inlined.
--
--extern void use(void *) __asm__ (GOSYM_PREFIX GOPKGPATH ".use") __attribute__((noinline));
--
--void
--use(void *p __attribute__ ((unused)))
-+uintptr_t
-+gccgoRealSyscallNoError(uintptr_t trap, uintptr_t a1, uintptr_t a2, uintptr_t a3, uintptr_t a4, uintptr_t a5, uintptr_t a6, uintptr_t a7, uintptr_t a8, uintptr_t a9)
- {
-+	return syscall(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9);
- }
-diff --git a/vendor/golang.org/x/sys/unix/gccgo_linux_amd64.go b/vendor/golang.org/x/sys/unix/gccgo_linux_amd64.go
-index bffe1a77..251a977a 100644
---- a/vendor/golang.org/x/sys/unix/gccgo_linux_amd64.go
-+++ b/vendor/golang.org/x/sys/unix/gccgo_linux_amd64.go
-@@ -1,4 +1,4 @@
--// Copyright 2015 The Go Authors.  All rights reserved.
-+// Copyright 2015 The Go Authors. All rights reserved.
- // Use of this source code is governed by a BSD-style
- // license that can be found in the LICENSE file.
- 
-diff --git a/vendor/golang.org/x/sys/unix/gccgo_linux_sparc64.go b/vendor/golang.org/x/sys/unix/gccgo_linux_sparc64.go
-deleted file mode 100644
-index 56332692..00000000
---- a/vendor/golang.org/x/sys/unix/gccgo_linux_sparc64.go
-+++ /dev/null
-@@ -1,20 +0,0 @@
--// Copyright 2016 The Go Authors.  All rights reserved.
--// Use of this source code is governed by a BSD-style
--// license that can be found in the LICENSE file.
--
--// +build gccgo,linux,sparc64
--
--package unix
--
--import "syscall"
--
--//extern sysconf
--func realSysconf(name int) int64
--
--func sysconf(name int) (n int64, err syscall.Errno) {
--	r := realSysconf(name)
--	if r < 0 {
--		return 0, syscall.GetErrno()
--	}
--	return r, 0
--}
-diff --git a/vendor/golang.org/x/sys/unix/ioctl.go b/vendor/golang.org/x/sys/unix/ioctl.go
-new file mode 100644
-index 00000000..3559e5dc
---- /dev/null
-+++ b/vendor/golang.org/x/sys/unix/ioctl.go
-@@ -0,0 +1,65 @@
-+// Copyright 2018 The Go Authors. All rights reserved.
-+// Use of this source code is governed by a BSD-style
-+// license that can be found in the LICENSE file.
-+
-+// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris
-+
-+package unix
-+
-+import (
-+	"runtime"
-+	"unsafe"
-+)
-+
-+// ioctl itself should not be exposed directly, but additional get/set
-+// functions for specific types are permissible.
-+
-+// IoctlSetInt performs an ioctl operation which sets an integer value
-+// on fd, using the specified request number.
-+func IoctlSetInt(fd int, req uint, value int) error {
-+	return ioctl(fd, req, uintptr(value))
-+}
-+
-+// IoctlSetWinsize performs an ioctl on fd with a *Winsize argument.
-+//
-+// To change fd's window size, the req argument should be TIOCSWINSZ.
-+func IoctlSetWinsize(fd int, req uint, value *Winsize) error {
-+	// TODO: if we get the chance, remove the req parameter and
-+	// hardcode TIOCSWINSZ.
-+	err := ioctl(fd, req, uintptr(unsafe.Pointer(value)))
-+	runtime.KeepAlive(value)
-+	return err
-+}
-+
-+// IoctlSetTermios performs an ioctl on fd with a *Termios.
-+//
-+// The req value will usually be TCSETA or TIOCSETA.
-+func IoctlSetTermios(fd int, req uint, value *Termios) error {
-+	// TODO: if we get the chance, remove the req parameter.
-+	err := ioctl(fd, req, uintptr(unsafe.Pointer(value)))
-+	runtime.KeepAlive(value)
-+	return err
-+}
-+
-+// IoctlGetInt performs an ioctl operation which gets an integer value
-+// from fd, using the specified request number.
-+//
-+// A few ioctl requests use the return value as an output parameter;
-+// for those, IoctlRetInt should be used instead of this function.
-+func IoctlGetInt(fd int, req uint) (int, error) {
-+	var value int
-+	err := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))
-+	return value, err
-+}
-+
-+func IoctlGetWinsize(fd int, req uint) (*Winsize, error) {
-+	var value Winsize
-+	err := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))
-+	return &value, err
-+}
-+
-+func IoctlGetTermios(fd int, req uint) (*Termios, error) {
-+	var value Termios
-+	err := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))
-+	return &value, err
-+}
-diff --git a/vendor/golang.org/x/sys/unix/mkasm_darwin.go b/vendor/golang.org/x/sys/unix/mkasm_darwin.go
-new file mode 100644
-index 00000000..6f7bb6ed
---- /dev/null
-+++ b/vendor/golang.org/x/sys/unix/mkasm_darwin.go
-@@ -0,0 +1,78 @@
-+// Copyright 2018 The Go Authors. All rights reserved.
-+// Use of this source code is governed by a BSD-style
-+// license that can be found in the LICENSE file.
-+
-+// +build ignore
-+
-+// mkasm_darwin.go generates assembly trampolines to call libSystem routines from Go.
-+//This program must be run after mksyscall.go.
-+package main
-+
-+import (
-+	"bytes"
-+	"fmt"
-+	"io/ioutil"
-+	"log"
-+	"os"
-+	"strings"
-+)
-+
-+func writeASMFile(in string, fileName string, buildTags string) {
-+	trampolines := map[string]bool{}
-+
-+	var out bytes.Buffer
-+
-+	fmt.Fprintf(&out, "// go run mkasm_darwin.go %s\n", strings.Join(os.Args[1:], " "))
-+	fmt.Fprintf(&out, "// Code generated by the command above; DO NOT EDIT.\n")
-+	fmt.Fprintf(&out, "\n")
-+	fmt.Fprintf(&out, "// +build %s\n", buildTags)
-+	fmt.Fprintf(&out, "\n")
-+	fmt.Fprintf(&out, "#include \"textflag.h\"\n")
-+	for _, line := range strings.Split(in, "\n") {
-+		if !strings.HasPrefix(line, "func ") || !strings.HasSuffix(line, "_trampoline()") {
-+			continue
-+		}
-+		fn := line[5 : len(line)-13]
-+		if !trampolines[fn] {
-+			trampolines[fn] = true
-+			fmt.Fprintf(&out, "TEXT ·%s_trampoline(SB),NOSPLIT,$0-0\n", fn)
-+			fmt.Fprintf(&out, "\tJMP\t%s(SB)\n", fn)
-+		}
-+	}
-+	err := ioutil.WriteFile(fileName, out.Bytes(), 0644)
-+	if err != nil {
-+		log.Fatalf("can't write %s: %s", fileName, err)
-+	}
-+}
-+
-+func main() {
-+	in1, err := ioutil.ReadFile("syscall_darwin.go")
-+	if err != nil {
-+		log.Fatalf("can't open syscall_darwin.go: %s", err)
-+	}
-+	arch := os.Args[1]
-+	in2, err := ioutil.ReadFile(fmt.Sprintf("syscall_darwin_%s.go", arch))
-+	if err != nil {
-+		log.Fatalf("can't open syscall_darwin_%s.go: %s", arch, err)
-+	}
-+	in3, err := ioutil.ReadFile(fmt.Sprintf("zsyscall_darwin_%s.go", arch))
-+	if err != nil {
-+		log.Fatalf("can't open zsyscall_darwin_%s.go: %s", arch, err)
-+	}
-+	in := string(in1) + string(in2) + string(in3)
-+
-+	writeASMFile(in, fmt.Sprintf("zsyscall_darwin_%s.s", arch), "go1.12")
-+
-+	in1, err = ioutil.ReadFile("syscall_darwin.1_13.go")
-+	if err != nil {
-+		log.Fatalf("can't open syscall_darwin.1_13.go: %s", err)
-+	}
-+	in2, err = ioutil.ReadFile(fmt.Sprintf("zsyscall_darwin_%s.1_13.go", arch))
-+	if err != nil {
-+		log.Fatalf("can't open zsyscall_darwin_%s.1_13.go: %s", arch, err)
-+	}
-+
-+	in = string(in1) + string(in2)
-+
-+	writeASMFile(in, fmt.Sprintf("zsyscall_darwin_%s.1_13.s", arch), "go1.13")
-+}
-diff --git a/vendor/golang.org/x/sys/unix/mkmerge.go b/vendor/golang.org/x/sys/unix/mkmerge.go
-new file mode 100644
-index 00000000..8bde4501
---- /dev/null
-+++ b/vendor/golang.org/x/sys/unix/mkmerge.go
-@@ -0,0 +1,521 @@
-+// Copyright 2020 The Go Authors. All rights reserved.
-+// Use of this source code is governed by a BSD-style
-+// license that can be found in the LICENSE file.
-+
-+// +build ignore
-+
-+// mkmerge.go parses generated source files and merges common
-+// consts, funcs, and types into a common source file, per GOOS.
-+//
-+// Usage:
-+//     $ go run mkmerge.go -out MERGED FILE [FILE ...]
-+//
-+// Example:
-+//     # Remove all common consts, funcs, and types from zerrors_linux_*.go
-+//     # and write the common code into zerrors_linux.go
-+//     $ go run mkmerge.go -out zerrors_linux.go zerrors_linux_*.go
-+//
-+// mkmerge.go performs the merge in the following steps:
-+// 1. Construct the set of common code that is idential in all
-+//    architecture-specific files.
-+// 2. Write this common code to the merged file.
-+// 3. Remove the common code from all architecture-specific files.
-+package main
-+
-+import (
-+	"bufio"
-+	"bytes"
-+	"flag"
-+	"fmt"
-+	"go/ast"
-+	"go/format"
-+	"go/parser"
-+	"go/token"
-+	"io"
-+	"io/ioutil"
-+	"log"
-+	"os"
-+	"path"
-+	"path/filepath"
-+	"regexp"
-+	"strconv"
-+	"strings"
-+)
-+
-+const validGOOS = "aix|darwin|dragonfly|freebsd|linux|netbsd|openbsd|solaris"
-+
-+// getValidGOOS returns GOOS, true if filename ends with a valid "_GOOS.go"
-+func getValidGOOS(filename string) (string, bool) {
-+	matches := regexp.MustCompile(`_(` + validGOOS + `)\.go$`).FindStringSubmatch(filename)
-+	if len(matches) != 2 {
-+		return "", false
-+	}
-+	return matches[1], true
-+}
-+
-+// codeElem represents an ast.Decl in a comparable way.
-+type codeElem struct {
-+	tok token.Token // e.g. token.CONST, token.TYPE, or token.FUNC
-+	src string      // the declaration formatted as source code
-+}
-+
-+// newCodeElem returns a codeElem based on tok and node, or an error is returned.
-+func newCodeElem(tok token.Token, node ast.Node) (codeElem, error) {
-+	var b strings.Builder
-+	err := format.Node(&b, token.NewFileSet(), node)
-+	if err != nil {
-+		return codeElem{}, err
-+	}
-+	return codeElem{tok, b.String()}, nil
-+}
-+
-+// codeSet is a set of codeElems
-+type codeSet struct {
-+	set map[codeElem]bool // true for all codeElems in the set
-+}
-+
-+// newCodeSet returns a new codeSet
-+func newCodeSet() *codeSet { return &codeSet{make(map[codeElem]bool)} }
-+
-+// add adds elem to c
-+func (c *codeSet) add(elem codeElem) { c.set[elem] = true }
-+
-+// has returns true if elem is in c
-+func (c *codeSet) has(elem codeElem) bool { return c.set[elem] }
-+
-+// isEmpty returns true if the set is empty
-+func (c *codeSet) isEmpty() bool { return len(c.set) == 0 }
-+
-+// intersection returns a new set which is the intersection of c and a
-+func (c *codeSet) intersection(a *codeSet) *codeSet {
-+	res := newCodeSet()
-+
-+	for elem := range c.set {
-+		if a.has(elem) {
-+			res.add(elem)
-+		}
-+	}
-+	return res
-+}
-+
-+// keepCommon is a filterFn for filtering the merged file with common declarations.
-+func (c *codeSet) keepCommon(elem codeElem) bool {
-+	switch elem.tok {
-+	case token.VAR:
-+		// Remove all vars from the merged file
-+		return false
-+	case token.CONST, token.TYPE, token.FUNC, token.COMMENT:
-+		// Remove arch-specific consts, types, functions, and file-level comments from the merged file
-+		return c.has(elem)
-+	case token.IMPORT:
-+		// Keep imports, they are handled by filterImports
-+		return true
-+	}
-+
-+	log.Fatalf("keepCommon: invalid elem %v", elem)
-+	return true
-+}
-+
-+// keepArchSpecific is a filterFn for filtering the GOARC-specific files.
-+func (c *codeSet) keepArchSpecific(elem codeElem) bool {
-+	switch elem.tok {
-+	case token.CONST, token.TYPE, token.FUNC:
-+		// Remove common consts, types, or functions from the arch-specific file
-+		return !c.has(elem)
-+	}
-+	return true
-+}
-+
-+// srcFile represents a source file
-+type srcFile struct {
-+	name string
-+	src  []byte
-+}
-+
-+// filterFn is a helper for filter
-+type filterFn func(codeElem) bool
-+
-+// filter parses and filters Go source code from src, removing top
-+// level declarations using keep as predicate.
-+// For src parameter, please see docs for parser.ParseFile.
-+func filter(src interface{}, keep filterFn) ([]byte, error) {
-+	// Parse the src into an ast
-+	fset := token.NewFileSet()
-+	f, err := parser.ParseFile(fset, "", src, parser.ParseComments)
-+	if err != nil {
-+		return nil, err
-+	}
-+	cmap := ast.NewCommentMap(fset, f, f.Comments)
-+
-+	// Group const/type specs on adjacent lines
-+	var groups specGroups = make(map[string]int)
-+	var groupID int
-+
-+	decls := f.Decls
-+	f.Decls = f.Decls[:0]
-+	for _, decl := range decls {
-+		switch decl := decl.(type) {
-+		case *ast.GenDecl:
-+			// Filter imports, consts, types, vars
-+			specs := decl.Specs
-+			decl.Specs = decl.Specs[:0]
-+			for i, spec := range specs {
-+				elem, err := newCodeElem(decl.Tok, spec)
-+				if err != nil {
-+					return nil, err
-+				}
-+
-+				// Create new group if there are empty lines between this and the previous spec
-+				if i > 0 && fset.Position(specs[i-1].End()).Line < fset.Position(spec.Pos()).Line-1 {
-+					groupID++
-+				}
-+
-+				// Check if we should keep this spec
-+				if keep(elem) {
-+					decl.Specs = append(decl.Specs, spec)
-+					groups.add(elem.src, groupID)
-+				}
-+			}
-+			// Check if we should keep this decl
-+			if len(decl.Specs) > 0 {
-+				f.Decls = append(f.Decls, decl)
-+			}
-+		case *ast.FuncDecl:
-+			// Filter funcs
-+			elem, err := newCodeElem(token.FUNC, decl)
-+			if err != nil {
-+				return nil, err
-+			}
-+			if keep(elem) {
-+				f.Decls = append(f.Decls, decl)
-+			}
-+		}
-+	}
-+
-+	// Filter file level comments
-+	if cmap[f] != nil {
-+		commentGroups := cmap[f]
-+		cmap[f] = cmap[f][:0]
-+		for _, cGrp := range commentGroups {
-+			if keep(codeElem{token.COMMENT, cGrp.Text()}) {
-+				cmap[f] = append(cmap[f], cGrp)
-+			}
-+		}
-+	}
-+	f.Comments = cmap.Filter(f).Comments()
-+
-+	// Generate code for the filtered ast
-+	var buf bytes.Buffer
-+	if err = format.Node(&buf, fset, f); err != nil {
-+		return nil, err
-+	}
-+
-+	groupedSrc, err := groups.filterEmptyLines(&buf)
-+	if err != nil {
-+		return nil, err
-+	}
-+
-+	return filterImports(groupedSrc)
-+}
-+
-+// getCommonSet returns the set of consts, types, and funcs that are present in every file.
-+func getCommonSet(files []srcFile) (*codeSet, error) {
-+	if len(files) == 0 {
-+		return nil, fmt.Errorf("no files provided")
-+	}
-+	// Use the first architecture file as the baseline
-+	baseSet, err := getCodeSet(files[0].src)
-+	if err != nil {
-+		return nil, err
-+	}
-+
-+	// Compare baseline set with other architecture files: discard any element,
-+	// that doesn't exist in other architecture files.
-+	for _, f := range files[1:] {
-+		set, err := getCodeSet(f.src)
-+		if err != nil {
-+			return nil, err
-+		}
-+
-+		baseSet = baseSet.intersection(set)
-+	}
-+	return baseSet, nil
-+}
-+
-+// getCodeSet returns the set of all top-level consts, types, and funcs from src.
-+// src must be string, []byte, or io.Reader (see go/parser.ParseFile docs)
-+func getCodeSet(src interface{}) (*codeSet, error) {
-+	set := newCodeSet()
-+
-+	fset := token.NewFileSet()
-+	f, err := parser.ParseFile(fset, "", src, parser.ParseComments)
-+	if err != nil {
-+		return nil, err
-+	}
-+
-+	for _, decl := range f.Decls {
-+		switch decl := decl.(type) {
-+		case *ast.GenDecl:
-+			// Add const, and type declarations
-+			if !(decl.Tok == token.CONST || decl.Tok == token.TYPE) {
-+				break
-+			}
-+
-+			for _, spec := range decl.Specs {
-+				elem, err := newCodeElem(decl.Tok, spec)
-+				if err != nil {
-+					return nil, err
-+				}
-+
-+				set.add(elem)
-+			}
-+		case *ast.FuncDecl:
-+			// Add func declarations
-+			elem, err := newCodeElem(token.FUNC, decl)
-+			if err != nil {
-+				return nil, err
-+			}
-+
-+			set.add(elem)
-+		}
-+	}
-+
-+	// Add file level comments
-+	cmap := ast.NewCommentMap(fset, f, f.Comments)
-+	for _, cGrp := range cmap[f] {
-+		set.add(codeElem{token.COMMENT, cGrp.Text()})
-+	}
-+
-+	return set, nil
-+}
-+
-+// importName returns the identifier (PackageName) for an imported package
-+func importName(iSpec *ast.ImportSpec) (string, error) {
-+	if iSpec.Name == nil {
-+		name, err := strconv.Unquote(iSpec.Path.Value)
-+		if err != nil {
-+			return "", err
-+		}
-+		return path.Base(name), nil
-+	}
-+	return iSpec.Name.Name, nil
-+}
-+
-+// specGroups tracks grouped const/type specs with a map of line: groupID pairs
-+type specGroups map[string]int
-+
-+// add spec source to group
-+func (s specGroups) add(src string, groupID int) error {
-+	srcBytes, err := format.Source(bytes.TrimSpace([]byte(src)))
-+	if err != nil {
-+		return err
-+	}
-+	s[string(srcBytes)] = groupID
-+	return nil
-+}
-+
-+// filterEmptyLines removes empty lines within groups of const/type specs.
-+// Returns the filtered source.
-+func (s specGroups) filterEmptyLines(src io.Reader) ([]byte, error) {
-+	scanner := bufio.NewScanner(src)
-+	var out bytes.Buffer
-+
-+	var emptyLines bytes.Buffer
-+	prevGroupID := -1 // Initialize to invalid group
-+	for scanner.Scan() {
-+		line := bytes.TrimSpace(scanner.Bytes())
-+
-+		if len(line) == 0 {
-+			fmt.Fprintf(&emptyLines, "%s\n", scanner.Bytes())
-+			continue
-+		}
-+
-+		// Discard emptyLines if previous non-empty line belonged to the same
-+		// group as this line
-+		if src, err := format.Source(line); err == nil {
-+			groupID, ok := s[string(src)]
-+			if ok && groupID == prevGroupID {
-+				emptyLines.Reset()
-+			}
-+			prevGroupID = groupID
-+		}
-+
-+		emptyLines.WriteTo(&out)
-+		fmt.Fprintf(&out, "%s\n", scanner.Bytes())
-+	}
-+	if err := scanner.Err(); err != nil {
-+		return nil, err
-+	}
-+	return out.Bytes(), nil
-+}
-+
-+// filterImports removes unused imports from fileSrc, and returns a formatted src.
-+func filterImports(fileSrc []byte) ([]byte, error) {
-+	fset := token.NewFileSet()
-+	file, err := parser.ParseFile(fset, "", fileSrc, parser.ParseComments)
-+	if err != nil {
-+		return nil, err
-+	}
-+	cmap := ast.NewCommentMap(fset, file, file.Comments)
-+
-+	// create set of references to imported identifiers
-+	keepImport := make(map[string]bool)
-+	for _, u := range file.Unresolved {
-+		keepImport[u.Name] = true
-+	}
-+
-+	// filter import declarations
-+	decls := file.Decls
-+	file.Decls = file.Decls[:0]
-+	for _, decl := range decls {
-+		importDecl, ok := decl.(*ast.GenDecl)
-+
-+		// Keep non-import declarations
-+		if !ok || importDecl.Tok != token.IMPORT {
-+			file.Decls = append(file.Decls, decl)
-+			continue
-+		}
-+
-+		// Filter the import specs
-+		specs := importDecl.Specs
-+		importDecl.Specs = importDecl.Specs[:0]
-+		for _, spec := range specs {
-+			iSpec := spec.(*ast.ImportSpec)
-+			name, err := importName(iSpec)
-+			if err != nil {
-+				return nil, err
-+			}
-+
-+			if keepImport[name] {
-+				importDecl.Specs = append(importDecl.Specs, iSpec)
-+			}
-+		}
-+		if len(importDecl.Specs) > 0 {
-+			file.Decls = append(file.Decls, importDecl)
-+		}
-+	}
-+
-+	// filter file.Imports
-+	imports := file.Imports
-+	file.Imports = file.Imports[:0]
-+	for _, spec := range imports {
-+		name, err := importName(spec)
-+		if err != nil {
-+			return nil, err
-+		}
-+
-+		if keepImport[name] {
-+			file.Imports = append(file.Imports, spec)
-+		}
-+	}
-+	file.Comments = cmap.Filter(file).Comments()
-+
-+	var buf bytes.Buffer
-+	err = format.Node(&buf, fset, file)
-+	if err != nil {
-+		return nil, err
-+	}
-+
-+	return buf.Bytes(), nil
-+}
-+
-+// merge extracts duplicate code from archFiles and merges it to mergeFile.
-+// 1. Construct commonSet: the set of code that is idential in all archFiles.
-+// 2. Write the code in commonSet to mergedFile.
-+// 3. Remove the commonSet code from all archFiles.
-+func merge(mergedFile string, archFiles ...string) error {
-+	// extract and validate the GOOS part of the merged filename
-+	goos, ok := getValidGOOS(mergedFile)
-+	if !ok {
-+		return fmt.Errorf("invalid GOOS in merged file name %s", mergedFile)
-+	}
-+
-+	// Read architecture files
-+	var inSrc []srcFile
-+	for _, file := range archFiles {
-+		src, err := ioutil.ReadFile(file)
-+		if err != nil {
-+			return fmt.Errorf("cannot read archfile %s: %w", file, err)
-+		}
-+
-+		inSrc = append(inSrc, srcFile{file, src})
-+	}
-+
-+	// 1. Construct the set of top-level declarations common for all files
-+	commonSet, err := getCommonSet(inSrc)
-+	if err != nil {
-+		return err
-+	}
-+	if commonSet.isEmpty() {
-+		// No common code => do not modify any files
-+		return nil
-+	}
-+
-+	// 2. Write the merged file
-+	mergedSrc, err := filter(inSrc[0].src, commonSet.keepCommon)
-+	if err != nil {
-+		return err
-+	}
-+
-+	f, err := os.Create(mergedFile)
-+	if err != nil {
-+		return err
-+	}
-+
-+	buf := bufio.NewWriter(f)
-+	fmt.Fprintln(buf, "// Code generated by mkmerge.go; DO NOT EDIT.")
-+	fmt.Fprintln(buf)
-+	fmt.Fprintf(buf, "// +build %s\n", goos)
-+	fmt.Fprintln(buf)
-+	buf.Write(mergedSrc)
-+
-+	err = buf.Flush()
-+	if err != nil {
-+		return err
-+	}
-+	err = f.Close()
-+	if err != nil {
-+		return err
-+	}
-+
-+	// 3. Remove duplicate declarations from the architecture files
-+	for _, inFile := range inSrc {
-+		src, err := filter(inFile.src, commonSet.keepArchSpecific)
-+		if err != nil {
-+			return err
-+		}
-+		err = ioutil.WriteFile(inFile.name, src, 0644)
-+		if err != nil {
-+			return err
-+		}
-+	}
-+	return nil
-+}
-+
-+func main() {
-+	var mergedFile string
-+	flag.StringVar(&mergedFile, "out", "", "Write merged code to `FILE`")
-+	flag.Parse()
-+
-+	// Expand wildcards
-+	var filenames []string
-+	for _, arg := range flag.Args() {
-+		matches, err := filepath.Glob(arg)
-+		if err != nil {
-+			fmt.Fprintf(os.Stderr, "Invalid command line argument %q: %v\n", arg, err)
-+			os.Exit(1)
-+		}
-+		filenames = append(filenames, matches...)
-+	}
-+
-+	if len(filenames) < 2 {
-+		// No need to merge
-+		return
-+	}
-+
-+	err := merge(mergedFile, filenames...)
-+	if err != nil {
-+		fmt.Fprintf(os.Stderr, "Merge failed with error: %v\n", err)
-+		os.Exit(1)
-+	}
-+}
-diff --git a/vendor/golang.org/x/sys/unix/mkpost.go b/vendor/golang.org/x/sys/unix/mkpost.go
-index d3ff659b..5ee1a16b 100644
---- a/vendor/golang.org/x/sys/unix/mkpost.go
-+++ b/vendor/golang.org/x/sys/unix/mkpost.go
-@@ -28,10 +28,10 @@ func main() {
- 	if goarch == "" {
- 		goarch = os.Getenv("GOARCH")
- 	}
--	// Check that we are using the new build system if we should be.
--	if goos == "linux" && goarch != "sparc64" {
-+	// Check that we are using the Docker-based build system if we should be.
-+	if goos == "linux" {
- 		if os.Getenv("GOLANG_SYS_BUILD") != "docker" {
--			os.Stderr.WriteString("In the new build system, mkpost should not be called directly.\n")
-+			os.Stderr.WriteString("In the Docker-based build system, mkpost should not be called directly.\n")
- 			os.Stderr.WriteString("See README.md\n")
- 			os.Exit(1)
- 		}
-@@ -42,6 +42,21 @@ func main() {
- 		log.Fatal(err)
- 	}
- 
-+	if goos == "aix" {
-+		// Replace type of Atim, Mtim and Ctim by Timespec in Stat_t
-+		// to avoid having both StTimespec and Timespec.
-+		sttimespec := regexp.MustCompile(`_Ctype_struct_st_timespec`)
-+		b = sttimespec.ReplaceAll(b, []byte("Timespec"))
-+	}
-+
-+	// Intentionally export __val fields in Fsid and Sigset_t
-+	valRegex := regexp.MustCompile(`type (Fsid|Sigset_t) struct {(\s+)X__(bits|val)(\s+\S+\s+)}`)
-+	b = valRegex.ReplaceAll(b, []byte("type $1 struct {${2}Val$4}"))
-+
-+	// Intentionally export __fds_bits field in FdSet
-+	fdSetRegex := regexp.MustCompile(`type (FdSet) struct {(\s+)X__fds_bits(\s+\S+\s+)}`)
-+	b = fdSetRegex.ReplaceAll(b, []byte("type $1 struct {${2}Bits$3}"))
-+
- 	// If we have empty Ptrace structs, we should delete them. Only s390x emits
- 	// nonempty Ptrace structs.
- 	ptraceRexexp := regexp.MustCompile(`type Ptrace((Psw|Fpregs|Per) struct {\s*})`)
-@@ -56,16 +71,31 @@ func main() {
- 	removeFieldsRegex := regexp.MustCompile(`X__glibc\S*`)
- 	b = removeFieldsRegex.ReplaceAll(b, []byte("_"))
- 
--	// We refuse to export private fields on s390x
--	if goarch == "s390x" && goos == "linux" {
--		// Remove cgo padding fields
--		removeFieldsRegex := regexp.MustCompile(`Pad_cgo_\d+`)
--		b = removeFieldsRegex.ReplaceAll(b, []byte("_"))
-+	// Convert [65]int8 to [65]byte in Utsname members to simplify
-+	// conversion to string; see golang.org/issue/20753
-+	convertUtsnameRegex := regexp.MustCompile(`((Sys|Node|Domain)name|Release|Version|Machine)(\s+)\[(\d+)\]u?int8`)
-+	b = convertUtsnameRegex.ReplaceAll(b, []byte("$1$3[$4]byte"))
- 
--		// Remove padding, hidden, or unused fields
--		removeFieldsRegex = regexp.MustCompile(`X_\S+`)
--		b = removeFieldsRegex.ReplaceAll(b, []byte("_"))
--	}
-+	// Convert [n]int8 to [n]byte in Statvfs_t members to simplify
-+	// conversion to string.
-+	convertStatvfsRegex := regexp.MustCompile(`((Fstype|Mnton|Mntfrom)name)(\s+)\[(\d+)\]int8`)
-+	b = convertStatvfsRegex.ReplaceAll(b, []byte("$1$3[$4]byte"))
-+
-+	// Convert [1024]int8 to [1024]byte in Ptmget members
-+	convertPtmget := regexp.MustCompile(`([SC]n)(\s+)\[(\d+)\]u?int8`)
-+	b = convertPtmget.ReplaceAll(b, []byte("$1[$3]byte"))
-+
-+	// Remove spare fields (e.g. in Statx_t)
-+	spareFieldsRegex := regexp.MustCompile(`X__spare\S*`)
-+	b = spareFieldsRegex.ReplaceAll(b, []byte("_"))
-+
-+	// Remove cgo padding fields
-+	removePaddingFieldsRegex := regexp.MustCompile(`Pad_cgo_\d+`)
-+	b = removePaddingFieldsRegex.ReplaceAll(b, []byte("_"))
-+
-+	// Remove padding, hidden, or unused fields
-+	removeFieldsRegex = regexp.MustCompile(`\b(X_\S+|Padding)`)
-+	b = removeFieldsRegex.ReplaceAll(b, []byte("_"))
- 
- 	// Remove the first line of warning from cgo
- 	b = b[bytes.IndexByte(b, '\n')+1:]
-@@ -78,6 +108,15 @@ func main() {
- 	cgoCommandRegex := regexp.MustCompile(`(cgo -godefs .*)`)
- 	b = cgoCommandRegex.ReplaceAll(b, []byte(replacement))
- 
-+	// Rename Stat_t time fields
-+	if goos == "freebsd" && goarch == "386" {
-+		// Hide Stat_t.[AMCB]tim_ext fields
-+		renameStatTimeExtFieldsRegex := regexp.MustCompile(`[AMCB]tim_ext`)
-+		b = renameStatTimeExtFieldsRegex.ReplaceAll(b, []byte("_"))
-+	}
-+	renameStatTimeFieldsRegex := regexp.MustCompile(`([AMCB])(?:irth)?time?(?:spec)?\s+(Timespec|StTimespec)`)
-+	b = renameStatTimeFieldsRegex.ReplaceAll(b, []byte("${1}tim ${2}"))
-+
- 	// gofmt
- 	b, err = format.Source(b)
- 	if err != nil {
-diff --git a/vendor/golang.org/x/sys/unix/mksyscall.go b/vendor/golang.org/x/sys/unix/mksyscall.go
-new file mode 100644
-index 00000000..9e540cc8
---- /dev/null
-+++ b/vendor/golang.org/x/sys/unix/mksyscall.go
-@@ -0,0 +1,402 @@
-+// Copyright 2018 The Go Authors. All rights reserved.
-+// Use of this source code is governed by a BSD-style
-+// license that can be found in the LICENSE file.
-+
-+// +build ignore
-+
-+/*
-+This program reads a file containing function prototypes
-+(like syscall_darwin.go) and generates system call bodies.
-+The prototypes are marked by lines beginning with "//sys"
-+and read like func declarations if //sys is replaced by func, but:
-+	* The parameter lists must give a name for each argument.
-+	  This includes return parameters.
-+	* The parameter lists must give a type for each argument:
-+	  the (x, y, z int) shorthand is not allowed.
-+	* If the return parameter is an error number, it must be named errno.
-+
-+A line beginning with //sysnb is like //sys, except that the
-+goroutine will not be suspended during the execution of the system
-+call.  This must only be used for system calls which can never
-+block, as otherwise the system call could cause all goroutines to
-+hang.
-+*/
-+package main
-+
-+import (
-+	"bufio"
-+	"flag"
-+	"fmt"
-+	"os"
-+	"regexp"
-+	"strings"
-+)
-+
-+var (
-+	b32       = flag.Bool("b32", false, "32bit big-endian")
-+	l32       = flag.Bool("l32", false, "32bit little-endian")
-+	plan9     = flag.Bool("plan9", false, "plan9")
-+	openbsd   = flag.Bool("openbsd", false, "openbsd")
-+	netbsd    = flag.Bool("netbsd", false, "netbsd")
-+	dragonfly = flag.Bool("dragonfly", false, "dragonfly")
-+	arm       = flag.Bool("arm", false, "arm") // 64-bit value should use (even, odd)-pair
-+	tags      = flag.String("tags", "", "build tags")
-+	filename  = flag.String("output", "", "output file name (standard output if omitted)")
-+)
-+
-+// cmdLine returns this programs's commandline arguments
-+func cmdLine() string {
-+	return "go run mksyscall.go " + strings.Join(os.Args[1:], " ")
-+}
-+
-+// buildTags returns build tags
-+func buildTags() string {
-+	return *tags
-+}
-+
-+// Param is function parameter
-+type Param struct {
-+	Name string
-+	Type string
-+}
-+
-+// usage prints the program usage
-+func usage() {
-+	fmt.Fprintf(os.Stderr, "usage: go run mksyscall.go [-b32 | -l32] [-tags x,y] [file ...]\n")
-+	os.Exit(1)
-+}
-+
-+// parseParamList parses parameter list and returns a slice of parameters
-+func parseParamList(list string) []string {
-+	list = strings.TrimSpace(list)
-+	if list == "" {
-+		return []string{}
-+	}
-+	return regexp.MustCompile(`\s*,\s*`).Split(list, -1)
-+}
-+
-+// parseParam splits a parameter into name and type
-+func parseParam(p string) Param {
-+	ps := regexp.MustCompile(`^(\S*) (\S*)$`).FindStringSubmatch(p)
-+	if ps == nil {
-+		fmt.Fprintf(os.Stderr, "malformed parameter: %s\n", p)
-+		os.Exit(1)
-+	}
-+	return Param{ps[1], ps[2]}
-+}
-+
-+func main() {
-+	// Get the OS and architecture (using GOARCH_TARGET if it exists)
-+	goos := os.Getenv("GOOS")
-+	if goos == "" {
-+		fmt.Fprintln(os.Stderr, "GOOS not defined in environment")
-+		os.Exit(1)
-+	}
-+	goarch := os.Getenv("GOARCH_TARGET")
-+	if goarch == "" {
-+		goarch = os.Getenv("GOARCH")
-+	}
-+
-+	// Check that we are using the Docker-based build system if we should
-+	if goos == "linux" {
-+		if os.Getenv("GOLANG_SYS_BUILD") != "docker" {
-+			fmt.Fprintf(os.Stderr, "In the Docker-based build system, mksyscall should not be called directly.\n")
-+			fmt.Fprintf(os.Stderr, "See README.md\n")
-+			os.Exit(1)
-+		}
-+	}
-+
-+	flag.Usage = usage
-+	flag.Parse()
-+	if len(flag.Args()) <= 0 {
-+		fmt.Fprintf(os.Stderr, "no files to parse provided\n")
-+		usage()
-+	}
-+
-+	endianness := ""
-+	if *b32 {
-+		endianness = "big-endian"
-+	} else if *l32 {
-+		endianness = "little-endian"
-+	}
-+
-+	libc := false
-+	if goos == "darwin" && (strings.Contains(buildTags(), ",go1.12") || strings.Contains(buildTags(), ",go1.13")) {
-+		libc = true
-+	}
-+	trampolines := map[string]bool{}
-+
-+	text := ""
-+	for _, path := range flag.Args() {
-+		file, err := os.Open(path)
-+		if err != nil {
-+			fmt.Fprintf(os.Stderr, err.Error())
-+			os.Exit(1)
-+		}
-+		s := bufio.NewScanner(file)
-+		for s.Scan() {
-+			t := s.Text()
-+			t = strings.TrimSpace(t)
-+			t = regexp.MustCompile(`\s+`).ReplaceAllString(t, ` `)
-+			nonblock := regexp.MustCompile(`^\/\/sysnb `).FindStringSubmatch(t)
-+			if regexp.MustCompile(`^\/\/sys `).FindStringSubmatch(t) == nil && nonblock == nil {
-+				continue
-+			}
-+
-+			// Line must be of the form
-+			//	func Open(path string, mode int, perm int) (fd int, errno error)
-+			// Split into name, in params, out params.
-+			f := regexp.MustCompile(`^\/\/sys(nb)? (\w+)\(([^()]*)\)\s*(?:\(([^()]+)\))?\s*(?:=\s*((?i)SYS_[A-Z0-9_]+))?$`).FindStringSubmatch(t)
-+			if f == nil {
-+				fmt.Fprintf(os.Stderr, "%s:%s\nmalformed //sys declaration\n", path, t)
-+				os.Exit(1)
-+			}
-+			funct, inps, outps, sysname := f[2], f[3], f[4], f[5]
-+
-+			// ClockGettime doesn't have a syscall number on Darwin, only generate libc wrappers.
-+			if goos == "darwin" && !libc && funct == "ClockGettime" {
-+				continue
-+			}
-+
-+			// Split argument lists on comma.
-+			in := parseParamList(inps)
-+			out := parseParamList(outps)
-+
-+			// Try in vain to keep people from editing this file.
-+			// The theory is that they jump into the middle of the file
-+			// without reading the header.
-+			text += "// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\n"
-+
-+			// Go function header.
-+			outDecl := ""
-+			if len(out) > 0 {
-+				outDecl = fmt.Sprintf(" (%s)", strings.Join(out, ", "))
-+			}
-+			text += fmt.Sprintf("func %s(%s)%s {\n", funct, strings.Join(in, ", "), outDecl)
-+
-+			// Check if err return available
-+			errvar := ""
-+			for _, param := range out {
-+				p := parseParam(param)
-+				if p.Type == "error" {
-+					errvar = p.Name
-+					break
-+				}
-+			}
-+
-+			// Prepare arguments to Syscall.
-+			var args []string
-+			n := 0
-+			for _, param := range in {
-+				p := parseParam(param)
-+				if regexp.MustCompile(`^\*`).FindStringSubmatch(p.Type) != nil {
-+					args = append(args, "uintptr(unsafe.Pointer("+p.Name+"))")
-+				} else if p.Type == "string" && errvar != "" {
-+					text += fmt.Sprintf("\tvar _p%d *byte\n", n)
-+					text += fmt.Sprintf("\t_p%d, %s = BytePtrFromString(%s)\n", n, errvar, p.Name)
-+					text += fmt.Sprintf("\tif %s != nil {\n\t\treturn\n\t}\n", errvar)
-+					args = append(args, fmt.Sprintf("uintptr(unsafe.Pointer(_p%d))", n))
-+					n++
-+				} else if p.Type == "string" {
-+					fmt.Fprintf(os.Stderr, path+":"+funct+" uses string arguments, but has no error return\n")
-+					text += fmt.Sprintf("\tvar _p%d *byte\n", n)
-+					text += fmt.Sprintf("\t_p%d, _ = BytePtrFromString(%s)\n", n, p.Name)
-+					args = append(args, fmt.Sprintf("uintptr(unsafe.Pointer(_p%d))", n))
-+					n++
-+				} else if regexp.MustCompile(`^\[\](.*)`).FindStringSubmatch(p.Type) != nil {
-+					// Convert slice into pointer, length.
-+					// Have to be careful not to take address of &a[0] if len == 0:
-+					// pass dummy pointer in that case.
-+					// Used to pass nil, but some OSes or simulators reject write(fd, nil, 0).
-+					text += fmt.Sprintf("\tvar _p%d unsafe.Pointer\n", n)
-+					text += fmt.Sprintf("\tif len(%s) > 0 {\n\t\t_p%d = unsafe.Pointer(&%s[0])\n\t}", p.Name, n, p.Name)
-+					text += fmt.Sprintf(" else {\n\t\t_p%d = unsafe.Pointer(&_zero)\n\t}\n", n)
-+					args = append(args, fmt.Sprintf("uintptr(_p%d)", n), fmt.Sprintf("uintptr(len(%s))", p.Name))
-+					n++
-+				} else if p.Type == "int64" && (*openbsd || *netbsd) {
-+					args = append(args, "0")
-+					if endianness == "big-endian" {
-+						args = append(args, fmt.Sprintf("uintptr(%s>>32)", p.Name), fmt.Sprintf("uintptr(%s)", p.Name))
-+					} else if endianness == "little-endian" {
-+						args = append(args, fmt.Sprintf("uintptr(%s)", p.Name), fmt.Sprintf("uintptr(%s>>32)", p.Name))
-+					} else {
-+						args = append(args, fmt.Sprintf("uintptr(%s)", p.Name))
-+					}
-+				} else if p.Type == "int64" && *dragonfly {
-+					if regexp.MustCompile(`^(?i)extp(read|write)`).FindStringSubmatch(funct) == nil {
-+						args = append(args, "0")
-+					}
-+					if endianness == "big-endian" {
-+						args = append(args, fmt.Sprintf("uintptr(%s>>32)", p.Name), fmt.Sprintf("uintptr(%s)", p.Name))
-+					} else if endianness == "little-endian" {
-+						args = append(args, fmt.Sprintf("uintptr(%s)", p.Name), fmt.Sprintf("uintptr(%s>>32)", p.Name))
-+					} else {
-+						args = append(args, fmt.Sprintf("uintptr(%s)", p.Name))
-+					}
-+				} else if (p.Type == "int64" || p.Type == "uint64") && endianness != "" {
-+					if len(args)%2 == 1 && *arm {
-+						// arm abi specifies 64-bit argument uses
-+						// (even, odd) pair
-+						args = append(args, "0")
-+					}
-+					if endianness == "big-endian" {
-+						args = append(args, fmt.Sprintf("uintptr(%s>>32)", p.Name), fmt.Sprintf("uintptr(%s)", p.Name))
-+					} else {
-+						args = append(args, fmt.Sprintf("uintptr(%s)", p.Name), fmt.Sprintf("uintptr(%s>>32)", p.Name))
-+					}
-+				} else {
-+					args = append(args, fmt.Sprintf("uintptr(%s)", p.Name))
-+				}
-+			}
-+
-+			// Determine which form to use; pad args with zeros.
-+			asm := "Syscall"
-+			if nonblock != nil {
-+				if errvar == "" && goos == "linux" {
-+					asm = "RawSyscallNoError"
-+				} else {
-+					asm = "RawSyscall"
-+				}
-+			} else {
-+				if errvar == "" && goos == "linux" {
-+					asm = "SyscallNoError"
-+				}
-+			}
-+			if len(args) <= 3 {
-+				for len(args) < 3 {
-+					args = append(args, "0")
-+				}
-+			} else if len(args) <= 6 {
-+				asm += "6"
-+				for len(args) < 6 {
-+					args = append(args, "0")
-+				}
-+			} else if len(args) <= 9 {
-+				asm += "9"
-+				for len(args) < 9 {
-+					args = append(args, "0")
-+				}
-+			} else {
-+				fmt.Fprintf(os.Stderr, "%s:%s too many arguments to system call\n", path, funct)
-+			}
-+
-+			// System call number.
-+			if sysname == "" {
-+				sysname = "SYS_" + funct
-+				sysname = regexp.MustCompile(`([a-z])([A-Z])`).ReplaceAllString(sysname, `${1}_$2`)
-+				sysname = strings.ToUpper(sysname)
-+			}
-+
-+			var libcFn string
-+			if libc {
-+				asm = "syscall_" + strings.ToLower(asm[:1]) + asm[1:] // internal syscall call
-+				sysname = strings.TrimPrefix(sysname, "SYS_")         // remove SYS_
-+				sysname = strings.ToLower(sysname)                    // lowercase
-+				libcFn = sysname
-+				sysname = "funcPC(libc_" + sysname + "_trampoline)"
-+			}
-+
-+			// Actual call.
-+			arglist := strings.Join(args, ", ")
-+			call := fmt.Sprintf("%s(%s, %s)", asm, sysname, arglist)
-+
-+			// Assign return values.
-+			body := ""
-+			ret := []string{"_", "_", "_"}
-+			doErrno := false
-+			for i := 0; i < len(out); i++ {
-+				p := parseParam(out[i])
-+				reg := ""
-+				if p.Name == "err" && !*plan9 {
-+					reg = "e1"
-+					ret[2] = reg
-+					doErrno = true
-+				} else if p.Name == "err" && *plan9 {
-+					ret[0] = "r0"
-+					ret[2] = "e1"
-+					break
-+				} else {
-+					reg = fmt.Sprintf("r%d", i)
-+					ret[i] = reg
-+				}
-+				if p.Type == "bool" {
-+					reg = fmt.Sprintf("%s != 0", reg)
-+				}
-+				if p.Type == "int64" && endianness != "" {
-+					// 64-bit number in r1:r0 or r0:r1.
-+					if i+2 > len(out) {
-+						fmt.Fprintf(os.Stderr, "%s:%s not enough registers for int64 return\n", path, funct)
-+					}
-+					if endianness == "big-endian" {
-+						reg = fmt.Sprintf("int64(r%d)<<32 | int64(r%d)", i, i+1)
-+					} else {
-+						reg = fmt.Sprintf("int64(r%d)<<32 | int64(r%d)", i+1, i)
-+					}
-+					ret[i] = fmt.Sprintf("r%d", i)
-+					ret[i+1] = fmt.Sprintf("r%d", i+1)
-+				}
-+				if reg != "e1" || *plan9 {
-+					body += fmt.Sprintf("\t%s = %s(%s)\n", p.Name, p.Type, reg)
-+				}
-+			}
-+			if ret[0] == "_" && ret[1] == "_" && ret[2] == "_" {
-+				text += fmt.Sprintf("\t%s\n", call)
-+			} else {
-+				if errvar == "" && goos == "linux" {
-+					// raw syscall without error on Linux, see golang.org/issue/22924
-+					text += fmt.Sprintf("\t%s, %s := %s\n", ret[0], ret[1], call)
-+				} else {
-+					text += fmt.Sprintf("\t%s, %s, %s := %s\n", ret[0], ret[1], ret[2], call)
-+				}
-+			}
-+			text += body
-+
-+			if *plan9 && ret[2] == "e1" {
-+				text += "\tif int32(r0) == -1 {\n"
-+				text += "\t\terr = e1\n"
-+				text += "\t}\n"
-+			} else if doErrno {
-+				text += "\tif e1 != 0 {\n"
-+				text += "\t\terr = errnoErr(e1)\n"
-+				text += "\t}\n"
-+			}
-+			text += "\treturn\n"
-+			text += "}\n\n"
-+
-+			if libc && !trampolines[libcFn] {
-+				// some system calls share a trampoline, like read and readlen.
-+				trampolines[libcFn] = true
-+				// Declare assembly trampoline.
-+				text += fmt.Sprintf("func libc_%s_trampoline()\n", libcFn)
-+				// Assembly trampoline calls the libc_* function, which this magic
-+				// redirects to use the function from libSystem.
-+				text += fmt.Sprintf("//go:linkname libc_%s libc_%s\n", libcFn, libcFn)
-+				text += fmt.Sprintf("//go:cgo_import_dynamic libc_%s %s \"/usr/lib/libSystem.B.dylib\"\n", libcFn, libcFn)
-+				text += "\n"
-+			}
-+		}
-+		if err := s.Err(); err != nil {
-+			fmt.Fprintf(os.Stderr, err.Error())
-+			os.Exit(1)
-+		}
-+		file.Close()
-+	}
-+	fmt.Printf(srcTemplate, cmdLine(), buildTags(), text)
-+}
-+
-+const srcTemplate = `// %s
-+// Code generated by the command above; see README.md. DO NOT EDIT.
-+
-+// +build %s
-+
-+package unix
-+
-+import (
-+	"syscall"
-+	"unsafe"
-+)
-+
-+var _ syscall.Errno
-+
-+%s
-+`
-diff --git a/vendor/golang.org/x/sys/unix/mksyscall_aix_ppc.go b/vendor/golang.org/x/sys/unix/mksyscall_aix_ppc.go
-new file mode 100644
-index 00000000..3be3cdfc
---- /dev/null
-+++ b/vendor/golang.org/x/sys/unix/mksyscall_aix_ppc.go
-@@ -0,0 +1,415 @@
-+// Copyright 2019 The Go Authors. All rights reserved.
-+// Use of this source code is governed by a BSD-style
-+// license that can be found in the LICENSE file.
-+
-+// +build ignore
-+
-+/*
-+This program reads a file containing function prototypes
-+(like syscall_aix.go) and generates system call bodies.
-+The prototypes are marked by lines beginning with "//sys"
-+and read like func declarations if //sys is replaced by func, but:
-+	* The parameter lists must give a name for each argument.
-+	  This includes return parameters.
-+	* The parameter lists must give a type for each argument:
-+	  the (x, y, z int) shorthand is not allowed.
-+	* If the return parameter is an error number, it must be named err.
-+	* If go func name needs to be different than its libc name,
-+	* or the function is not in libc, name could be specified
-+	* at the end, after "=" sign, like
-+	  //sys getsockopt(s int, level int, name int, val uintptr, vallen *_Socklen) (err error) = libsocket.getsockopt
-+*/
-+package main
-+
-+import (
-+	"bufio"
-+	"flag"
-+	"fmt"
-+	"os"
-+	"regexp"
-+	"strings"
-+)
-+
-+var (
-+	b32  = flag.Bool("b32", false, "32bit big-endian")
-+	l32  = flag.Bool("l32", false, "32bit little-endian")
-+	aix  = flag.Bool("aix", false, "aix")
-+	tags = flag.String("tags", "", "build tags")
-+)
-+
-+// cmdLine returns this programs's commandline arguments
-+func cmdLine() string {
-+	return "go run mksyscall_aix_ppc.go " + strings.Join(os.Args[1:], " ")
-+}
-+
-+// buildTags returns build tags
-+func buildTags() string {
-+	return *tags
-+}
-+
-+// Param is function parameter
-+type Param struct {
-+	Name string
-+	Type string
-+}
-+
-+// usage prints the program usage
-+func usage() {
-+	fmt.Fprintf(os.Stderr, "usage: go run mksyscall_aix_ppc.go [-b32 | -l32] [-tags x,y] [file ...]\n")
-+	os.Exit(1)
-+}
-+
-+// parseParamList parses parameter list and returns a slice of parameters
-+func parseParamList(list string) []string {
-+	list = strings.TrimSpace(list)
-+	if list == "" {
-+		return []string{}
-+	}
-+	return regexp.MustCompile(`\s*,\s*`).Split(list, -1)
-+}
-+
-+// parseParam splits a parameter into name and type
-+func parseParam(p string) Param {
-+	ps := regexp.MustCompile(`^(\S*) (\S*)$`).FindStringSubmatch(p)
-+	if ps == nil {
-+		fmt.Fprintf(os.Stderr, "malformed parameter: %s\n", p)
-+		os.Exit(1)
-+	}
-+	return Param{ps[1], ps[2]}
-+}
-+
-+func main() {
-+	flag.Usage = usage
-+	flag.Parse()
-+	if len(flag.Args()) <= 0 {
-+		fmt.Fprintf(os.Stderr, "no files to parse provided\n")
-+		usage()
-+	}
-+
-+	endianness := ""
-+	if *b32 {
-+		endianness = "big-endian"
-+	} else if *l32 {
-+		endianness = "little-endian"
-+	}
-+
-+	pack := ""
-+	text := ""
-+	cExtern := "/*\n#include \n#include \n"
-+	for _, path := range flag.Args() {
-+		file, err := os.Open(path)
-+		if err != nil {
-+			fmt.Fprintf(os.Stderr, err.Error())
-+			os.Exit(1)
-+		}
-+		s := bufio.NewScanner(file)
-+		for s.Scan() {
-+			t := s.Text()
-+			t = strings.TrimSpace(t)
-+			t = regexp.MustCompile(`\s+`).ReplaceAllString(t, ` `)
-+			if p := regexp.MustCompile(`^package (\S+)$`).FindStringSubmatch(t); p != nil && pack == "" {
-+				pack = p[1]
-+			}
-+			nonblock := regexp.MustCompile(`^\/\/sysnb `).FindStringSubmatch(t)
-+			if regexp.MustCompile(`^\/\/sys `).FindStringSubmatch(t) == nil && nonblock == nil {
-+				continue
-+			}
-+
-+			// Line must be of the form
-+			//	func Open(path string, mode int, perm int) (fd int, err error)
-+			// Split into name, in params, out params.
-+			f := regexp.MustCompile(`^\/\/sys(nb)? (\w+)\(([^()]*)\)\s*(?:\(([^()]+)\))?\s*(?:=\s*(?:(\w*)\.)?(\w*))?$`).FindStringSubmatch(t)
-+			if f == nil {
-+				fmt.Fprintf(os.Stderr, "%s:%s\nmalformed //sys declaration\n", path, t)
-+				os.Exit(1)
-+			}
-+			funct, inps, outps, modname, sysname := f[2], f[3], f[4], f[5], f[6]
-+
-+			// Split argument lists on comma.
-+			in := parseParamList(inps)
-+			out := parseParamList(outps)
-+
-+			inps = strings.Join(in, ", ")
-+			outps = strings.Join(out, ", ")
-+
-+			// Try in vain to keep people from editing this file.
-+			// The theory is that they jump into the middle of the file
-+			// without reading the header.
-+			text += "// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\n"
-+
-+			// Check if value return, err return available
-+			errvar := ""
-+			retvar := ""
-+			rettype := ""
-+			for _, param := range out {
-+				p := parseParam(param)
-+				if p.Type == "error" {
-+					errvar = p.Name
-+				} else {
-+					retvar = p.Name
-+					rettype = p.Type
-+				}
-+			}
-+
-+			// System call name.
-+			if sysname == "" {
-+				sysname = funct
-+			}
-+			sysname = regexp.MustCompile(`([a-z])([A-Z])`).ReplaceAllString(sysname, `${1}_$2`)
-+			sysname = strings.ToLower(sysname) // All libc functions are lowercase.
-+
-+			cRettype := ""
-+			if rettype == "unsafe.Pointer" {
-+				cRettype = "uintptr_t"
-+			} else if rettype == "uintptr" {
-+				cRettype = "uintptr_t"
-+			} else if regexp.MustCompile(`^_`).FindStringSubmatch(rettype) != nil {
-+				cRettype = "uintptr_t"
-+			} else if rettype == "int" {
-+				cRettype = "int"
-+			} else if rettype == "int32" {
-+				cRettype = "int"
-+			} else if rettype == "int64" {
-+				cRettype = "long long"
-+			} else if rettype == "uint32" {
-+				cRettype = "unsigned int"
-+			} else if rettype == "uint64" {
-+				cRettype = "unsigned long long"
-+			} else {
-+				cRettype = "int"
-+			}
-+			if sysname == "exit" {
-+				cRettype = "void"
-+			}
-+
-+			// Change p.Types to c
-+			var cIn []string
-+			for _, param := range in {
-+				p := parseParam(param)
-+				if regexp.MustCompile(`^\*`).FindStringSubmatch(p.Type) != nil {
-+					cIn = append(cIn, "uintptr_t")
-+				} else if p.Type == "string" {
-+					cIn = append(cIn, "uintptr_t")
-+				} else if regexp.MustCompile(`^\[\](.*)`).FindStringSubmatch(p.Type) != nil {
-+					cIn = append(cIn, "uintptr_t", "size_t")
-+				} else if p.Type == "unsafe.Pointer" {
-+					cIn = append(cIn, "uintptr_t")
-+				} else if p.Type == "uintptr" {
-+					cIn = append(cIn, "uintptr_t")
-+				} else if regexp.MustCompile(`^_`).FindStringSubmatch(p.Type) != nil {
-+					cIn = append(cIn, "uintptr_t")
-+				} else if p.Type == "int" {
-+					cIn = append(cIn, "int")
-+				} else if p.Type == "int32" {
-+					cIn = append(cIn, "int")
-+				} else if p.Type == "int64" {
-+					cIn = append(cIn, "long long")
-+				} else if p.Type == "uint32" {
-+					cIn = append(cIn, "unsigned int")
-+				} else if p.Type == "uint64" {
-+					cIn = append(cIn, "unsigned long long")
-+				} else {
-+					cIn = append(cIn, "int")
-+				}
-+			}
-+
-+			if funct != "fcntl" && funct != "FcntlInt" && funct != "readlen" && funct != "writelen" {
-+				if sysname == "select" {
-+					// select is a keyword of Go. Its name is
-+					// changed to c_select.
-+					cExtern += "#define c_select select\n"
-+				}
-+				// Imports of system calls from libc
-+				cExtern += fmt.Sprintf("%s %s", cRettype, sysname)
-+				cIn := strings.Join(cIn, ", ")
-+				cExtern += fmt.Sprintf("(%s);\n", cIn)
-+			}
-+
-+			// So file name.
-+			if *aix {
-+				if modname == "" {
-+					modname = "libc.a/shr_64.o"
-+				} else {
-+					fmt.Fprintf(os.Stderr, "%s: only syscall using libc are available\n", funct)
-+					os.Exit(1)
-+				}
-+			}
-+
-+			strconvfunc := "C.CString"
-+
-+			// Go function header.
-+			if outps != "" {
-+				outps = fmt.Sprintf(" (%s)", outps)
-+			}
-+			if text != "" {
-+				text += "\n"
-+			}
-+
-+			text += fmt.Sprintf("func %s(%s)%s {\n", funct, strings.Join(in, ", "), outps)
-+
-+			// Prepare arguments to Syscall.
-+			var args []string
-+			n := 0
-+			argN := 0
-+			for _, param := range in {
-+				p := parseParam(param)
-+				if regexp.MustCompile(`^\*`).FindStringSubmatch(p.Type) != nil {
-+					args = append(args, "C.uintptr_t(uintptr(unsafe.Pointer("+p.Name+")))")
-+				} else if p.Type == "string" && errvar != "" {
-+					text += fmt.Sprintf("\t_p%d := uintptr(unsafe.Pointer(%s(%s)))\n", n, strconvfunc, p.Name)
-+					args = append(args, fmt.Sprintf("C.uintptr_t(_p%d)", n))
-+					n++
-+				} else if p.Type == "string" {
-+					fmt.Fprintf(os.Stderr, path+":"+funct+" uses string arguments, but has no error return\n")
-+					text += fmt.Sprintf("\t_p%d := uintptr(unsafe.Pointer(%s(%s)))\n", n, strconvfunc, p.Name)
-+					args = append(args, fmt.Sprintf("C.uintptr_t(_p%d)", n))
-+					n++
-+				} else if m := regexp.MustCompile(`^\[\](.*)`).FindStringSubmatch(p.Type); m != nil {
-+					// Convert slice into pointer, length.
-+					// Have to be careful not to take address of &a[0] if len == 0:
-+					// pass nil in that case.
-+					text += fmt.Sprintf("\tvar _p%d *%s\n", n, m[1])
-+					text += fmt.Sprintf("\tif len(%s) > 0 {\n\t\t_p%d = &%s[0]\n\t}\n", p.Name, n, p.Name)
-+					args = append(args, fmt.Sprintf("C.uintptr_t(uintptr(unsafe.Pointer(_p%d)))", n))
-+					n++
-+					text += fmt.Sprintf("\tvar _p%d int\n", n)
-+					text += fmt.Sprintf("\t_p%d = len(%s)\n", n, p.Name)
-+					args = append(args, fmt.Sprintf("C.size_t(_p%d)", n))
-+					n++
-+				} else if p.Type == "int64" && endianness != "" {
-+					if endianness == "big-endian" {
-+						args = append(args, fmt.Sprintf("uintptr(%s>>32)", p.Name), fmt.Sprintf("uintptr(%s)", p.Name))
-+					} else {
-+						args = append(args, fmt.Sprintf("uintptr(%s)", p.Name), fmt.Sprintf("uintptr(%s>>32)", p.Name))
-+					}
-+					n++
-+				} else if p.Type == "bool" {
-+					text += fmt.Sprintf("\tvar _p%d uint32\n", n)
-+					text += fmt.Sprintf("\tif %s {\n\t\t_p%d = 1\n\t} else {\n\t\t_p%d = 0\n\t}\n", p.Name, n, n)
-+					args = append(args, fmt.Sprintf("_p%d", n))
-+				} else if regexp.MustCompile(`^_`).FindStringSubmatch(p.Type) != nil {
-+					args = append(args, fmt.Sprintf("C.uintptr_t(uintptr(%s))", p.Name))
-+				} else if p.Type == "unsafe.Pointer" {
-+					args = append(args, fmt.Sprintf("C.uintptr_t(uintptr(%s))", p.Name))
-+				} else if p.Type == "int" {
-+					if (argN == 2) && ((funct == "readlen") || (funct == "writelen")) {
-+						args = append(args, fmt.Sprintf("C.size_t(%s)", p.Name))
-+					} else if argN == 0 && funct == "fcntl" {
-+						args = append(args, fmt.Sprintf("C.uintptr_t(%s)", p.Name))
-+					} else if (argN == 2) && ((funct == "fcntl") || (funct == "FcntlInt")) {
-+						args = append(args, fmt.Sprintf("C.uintptr_t(%s)", p.Name))
-+					} else {
-+						args = append(args, fmt.Sprintf("C.int(%s)", p.Name))
-+					}
-+				} else if p.Type == "int32" {
-+					args = append(args, fmt.Sprintf("C.int(%s)", p.Name))
-+				} else if p.Type == "int64" {
-+					args = append(args, fmt.Sprintf("C.longlong(%s)", p.Name))
-+				} else if p.Type == "uint32" {
-+					args = append(args, fmt.Sprintf("C.uint(%s)", p.Name))
-+				} else if p.Type == "uint64" {
-+					args = append(args, fmt.Sprintf("C.ulonglong(%s)", p.Name))
-+				} else if p.Type == "uintptr" {
-+					args = append(args, fmt.Sprintf("C.uintptr_t(%s)", p.Name))
-+				} else {
-+					args = append(args, fmt.Sprintf("C.int(%s)", p.Name))
-+				}
-+				argN++
-+			}
-+
-+			// Actual call.
-+			arglist := strings.Join(args, ", ")
-+			call := ""
-+			if sysname == "exit" {
-+				if errvar != "" {
-+					call += "er :="
-+				} else {
-+					call += ""
-+				}
-+			} else if errvar != "" {
-+				call += "r0,er :="
-+			} else if retvar != "" {
-+				call += "r0,_ :="
-+			} else {
-+				call += ""
-+			}
-+			if sysname == "select" {
-+				// select is a keyword of Go. Its name is
-+				// changed to c_select.
-+				call += fmt.Sprintf("C.c_%s(%s)", sysname, arglist)
-+			} else {
-+				call += fmt.Sprintf("C.%s(%s)", sysname, arglist)
-+			}
-+
-+			// Assign return values.
-+			body := ""
-+			for i := 0; i < len(out); i++ {
-+				p := parseParam(out[i])
-+				reg := ""
-+				if p.Name == "err" {
-+					reg = "e1"
-+				} else {
-+					reg = "r0"
-+				}
-+				if reg != "e1" {
-+					body += fmt.Sprintf("\t%s = %s(%s)\n", p.Name, p.Type, reg)
-+				}
-+			}
-+
-+			// verify return
-+			if sysname != "exit" && errvar != "" {
-+				if regexp.MustCompile(`^uintptr`).FindStringSubmatch(cRettype) != nil {
-+					body += "\tif (uintptr(r0) ==^uintptr(0) && er != nil) {\n"
-+					body += fmt.Sprintf("\t\t%s = er\n", errvar)
-+					body += "\t}\n"
-+				} else {
-+					body += "\tif (r0 ==-1 && er != nil) {\n"
-+					body += fmt.Sprintf("\t\t%s = er\n", errvar)
-+					body += "\t}\n"
-+				}
-+			} else if errvar != "" {
-+				body += "\tif (er != nil) {\n"
-+				body += fmt.Sprintf("\t\t%s = er\n", errvar)
-+				body += "\t}\n"
-+			}
-+
-+			text += fmt.Sprintf("\t%s\n", call)
-+			text += body
-+
-+			text += "\treturn\n"
-+			text += "}\n"
-+		}
-+		if err := s.Err(); err != nil {
-+			fmt.Fprintf(os.Stderr, err.Error())
-+			os.Exit(1)
-+		}
-+		file.Close()
-+	}
-+	imp := ""
-+	if pack != "unix" {
-+		imp = "import \"golang.org/x/sys/unix\"\n"
-+
-+	}
-+	fmt.Printf(srcTemplate, cmdLine(), buildTags(), pack, cExtern, imp, text)
-+}
-+
-+const srcTemplate = `// %s
-+// Code generated by the command above; see README.md. DO NOT EDIT.
-+
-+// +build %s
-+
-+package %s
-+
-+
-+%s
-+*/
-+import "C"
-+import (
-+	"unsafe"
-+)
-+
-+
-+%s
-+
-+%s
-+`
-diff --git a/vendor/golang.org/x/sys/unix/mksyscall_aix_ppc64.go b/vendor/golang.org/x/sys/unix/mksyscall_aix_ppc64.go
-new file mode 100644
-index 00000000..c9600995
---- /dev/null
-+++ b/vendor/golang.org/x/sys/unix/mksyscall_aix_ppc64.go
-@@ -0,0 +1,614 @@
-+// Copyright 2019 The Go Authors. All rights reserved.
-+// Use of this source code is governed by a BSD-style
-+// license that can be found in the LICENSE file.
-+
-+// +build ignore
-+
-+/*
-+This program reads a file containing function prototypes
-+(like syscall_aix.go) and generates system call bodies.
-+The prototypes are marked by lines beginning with "//sys"
-+and read like func declarations if //sys is replaced by func, but:
-+	* The parameter lists must give a name for each argument.
-+	  This includes return parameters.
-+	* The parameter lists must give a type for each argument:
-+	  the (x, y, z int) shorthand is not allowed.
-+	* If the return parameter is an error number, it must be named err.
-+	* If go func name needs to be different than its libc name,
-+	* or the function is not in libc, name could be specified
-+	* at the end, after "=" sign, like
-+	  //sys getsockopt(s int, level int, name int, val uintptr, vallen *_Socklen) (err error) = libsocket.getsockopt
-+
-+
-+This program will generate three files and handle both gc and gccgo implementation:
-+  - zsyscall_aix_ppc64.go: the common part of each implementation (error handler, pointer creation)
-+  - zsyscall_aix_ppc64_gc.go: gc part with //go_cgo_import_dynamic and a call to syscall6
-+  - zsyscall_aix_ppc64_gccgo.go: gccgo part with C function and conversion to C type.
-+
-+ The generated code looks like this
-+
-+zsyscall_aix_ppc64.go
-+func asyscall(...) (n int, err error) {
-+	 // Pointer Creation
-+	 r1, e1 := callasyscall(...)
-+	 // Type Conversion
-+	 // Error Handler
-+	 return
-+}
-+
-+zsyscall_aix_ppc64_gc.go
-+//go:cgo_import_dynamic libc_asyscall asyscall "libc.a/shr_64.o"
-+//go:linkname libc_asyscall libc_asyscall
-+var asyscall syscallFunc
-+
-+func callasyscall(...) (r1 uintptr, e1 Errno) {
-+	 r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_asyscall)), "nb_args", ... )
-+	 return
-+}
-+
-+zsyscall_aix_ppc64_ggcgo.go
-+
-+// int asyscall(...)
-+
-+import "C"
-+
-+func callasyscall(...) (r1 uintptr, e1 Errno) {
-+	 r1 = uintptr(C.asyscall(...))
-+	 e1 = syscall.GetErrno()
-+	 return
-+}
-+*/
-+
-+package main
-+
-+import (
-+	"bufio"
-+	"flag"
-+	"fmt"
-+	"io/ioutil"
-+	"os"
-+	"regexp"
-+	"strings"
-+)
-+
-+var (
-+	b32  = flag.Bool("b32", false, "32bit big-endian")
-+	l32  = flag.Bool("l32", false, "32bit little-endian")
-+	aix  = flag.Bool("aix", false, "aix")
-+	tags = flag.String("tags", "", "build tags")
-+)
-+
-+// cmdLine returns this programs's commandline arguments
-+func cmdLine() string {
-+	return "go run mksyscall_aix_ppc64.go " + strings.Join(os.Args[1:], " ")
-+}
-+
-+// buildTags returns build tags
-+func buildTags() string {
-+	return *tags
-+}
-+
-+// Param is function parameter
-+type Param struct {
-+	Name string
-+	Type string
-+}
-+
-+// usage prints the program usage
-+func usage() {
-+	fmt.Fprintf(os.Stderr, "usage: go run mksyscall_aix_ppc64.go [-b32 | -l32] [-tags x,y] [file ...]\n")
-+	os.Exit(1)
-+}
-+
-+// parseParamList parses parameter list and returns a slice of parameters
-+func parseParamList(list string) []string {
-+	list = strings.TrimSpace(list)
-+	if list == "" {
-+		return []string{}
-+	}
-+	return regexp.MustCompile(`\s*,\s*`).Split(list, -1)
-+}
-+
-+// parseParam splits a parameter into name and type
-+func parseParam(p string) Param {
-+	ps := regexp.MustCompile(`^(\S*) (\S*)$`).FindStringSubmatch(p)
-+	if ps == nil {
-+		fmt.Fprintf(os.Stderr, "malformed parameter: %s\n", p)
-+		os.Exit(1)
-+	}
-+	return Param{ps[1], ps[2]}
-+}
-+
-+func main() {
-+	flag.Usage = usage
-+	flag.Parse()
-+	if len(flag.Args()) <= 0 {
-+		fmt.Fprintf(os.Stderr, "no files to parse provided\n")
-+		usage()
-+	}
-+
-+	endianness := ""
-+	if *b32 {
-+		endianness = "big-endian"
-+	} else if *l32 {
-+		endianness = "little-endian"
-+	}
-+
-+	pack := ""
-+	// GCCGO
-+	textgccgo := ""
-+	cExtern := "/*\n#include \n"
-+	// GC
-+	textgc := ""
-+	dynimports := ""
-+	linknames := ""
-+	var vars []string
-+	// COMMON
-+	textcommon := ""
-+	for _, path := range flag.Args() {
-+		file, err := os.Open(path)
-+		if err != nil {
-+			fmt.Fprintf(os.Stderr, err.Error())
-+			os.Exit(1)
-+		}
-+		s := bufio.NewScanner(file)
-+		for s.Scan() {
-+			t := s.Text()
-+			t = strings.TrimSpace(t)
-+			t = regexp.MustCompile(`\s+`).ReplaceAllString(t, ` `)
-+			if p := regexp.MustCompile(`^package (\S+)$`).FindStringSubmatch(t); p != nil && pack == "" {
-+				pack = p[1]
-+			}
-+			nonblock := regexp.MustCompile(`^\/\/sysnb `).FindStringSubmatch(t)
-+			if regexp.MustCompile(`^\/\/sys `).FindStringSubmatch(t) == nil && nonblock == nil {
-+				continue
-+			}
-+
-+			// Line must be of the form
-+			//	func Open(path string, mode int, perm int) (fd int, err error)
-+			// Split into name, in params, out params.
-+			f := regexp.MustCompile(`^\/\/sys(nb)? (\w+)\(([^()]*)\)\s*(?:\(([^()]+)\))?\s*(?:=\s*(?:(\w*)\.)?(\w*))?$`).FindStringSubmatch(t)
-+			if f == nil {
-+				fmt.Fprintf(os.Stderr, "%s:%s\nmalformed //sys declaration\n", path, t)
-+				os.Exit(1)
-+			}
-+			funct, inps, outps, modname, sysname := f[2], f[3], f[4], f[5], f[6]
-+
-+			// Split argument lists on comma.
-+			in := parseParamList(inps)
-+			out := parseParamList(outps)
-+
-+			inps = strings.Join(in, ", ")
-+			outps = strings.Join(out, ", ")
-+
-+			if sysname == "" {
-+				sysname = funct
-+			}
-+
-+			onlyCommon := false
-+			if funct == "readlen" || funct == "writelen" || funct == "FcntlInt" || funct == "FcntlFlock" {
-+				// This function call another syscall which is already implemented.
-+				// Therefore, the gc and gccgo part must not be generated.
-+				onlyCommon = true
-+			}
-+
-+			// Try in vain to keep people from editing this file.
-+			// The theory is that they jump into the middle of the file
-+			// without reading the header.
-+
-+			textcommon += "// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\n"
-+			if !onlyCommon {
-+				textgccgo += "// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\n"
-+				textgc += "// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\n"
-+			}
-+
-+			// Check if value return, err return available
-+			errvar := ""
-+			rettype := ""
-+			for _, param := range out {
-+				p := parseParam(param)
-+				if p.Type == "error" {
-+					errvar = p.Name
-+				} else {
-+					rettype = p.Type
-+				}
-+			}
-+
-+			sysname = regexp.MustCompile(`([a-z])([A-Z])`).ReplaceAllString(sysname, `${1}_$2`)
-+			sysname = strings.ToLower(sysname) // All libc functions are lowercase.
-+
-+			// GCCGO Prototype return type
-+			cRettype := ""
-+			if rettype == "unsafe.Pointer" {
-+				cRettype = "uintptr_t"
-+			} else if rettype == "uintptr" {
-+				cRettype = "uintptr_t"
-+			} else if regexp.MustCompile(`^_`).FindStringSubmatch(rettype) != nil {
-+				cRettype = "uintptr_t"
-+			} else if rettype == "int" {
-+				cRettype = "int"
-+			} else if rettype == "int32" {
-+				cRettype = "int"
-+			} else if rettype == "int64" {
-+				cRettype = "long long"
-+			} else if rettype == "uint32" {
-+				cRettype = "unsigned int"
-+			} else if rettype == "uint64" {
-+				cRettype = "unsigned long long"
-+			} else {
-+				cRettype = "int"
-+			}
-+			if sysname == "exit" {
-+				cRettype = "void"
-+			}
-+
-+			// GCCGO Prototype arguments type
-+			var cIn []string
-+			for i, param := range in {
-+				p := parseParam(param)
-+				if regexp.MustCompile(`^\*`).FindStringSubmatch(p.Type) != nil {
-+					cIn = append(cIn, "uintptr_t")
-+				} else if p.Type == "string" {
-+					cIn = append(cIn, "uintptr_t")
-+				} else if regexp.MustCompile(`^\[\](.*)`).FindStringSubmatch(p.Type) != nil {
-+					cIn = append(cIn, "uintptr_t", "size_t")
-+				} else if p.Type == "unsafe.Pointer" {
-+					cIn = append(cIn, "uintptr_t")
-+				} else if p.Type == "uintptr" {
-+					cIn = append(cIn, "uintptr_t")
-+				} else if regexp.MustCompile(`^_`).FindStringSubmatch(p.Type) != nil {
-+					cIn = append(cIn, "uintptr_t")
-+				} else if p.Type == "int" {
-+					if (i == 0 || i == 2) && funct == "fcntl" {
-+						// These fcntl arguments needs to be uintptr to be able to call FcntlInt and FcntlFlock
-+						cIn = append(cIn, "uintptr_t")
-+					} else {
-+						cIn = append(cIn, "int")
-+					}
-+
-+				} else if p.Type == "int32" {
-+					cIn = append(cIn, "int")
-+				} else if p.Type == "int64" {
-+					cIn = append(cIn, "long long")
-+				} else if p.Type == "uint32" {
-+					cIn = append(cIn, "unsigned int")
-+				} else if p.Type == "uint64" {
-+					cIn = append(cIn, "unsigned long long")
-+				} else {
-+					cIn = append(cIn, "int")
-+				}
-+			}
-+
-+			if !onlyCommon {
-+				// GCCGO Prototype Generation
-+				// Imports of system calls from libc
-+				if sysname == "select" {
-+					// select is a keyword of Go. Its name is
-+					// changed to c_select.
-+					cExtern += "#define c_select select\n"
-+				}
-+				cExtern += fmt.Sprintf("%s %s", cRettype, sysname)
-+				cIn := strings.Join(cIn, ", ")
-+				cExtern += fmt.Sprintf("(%s);\n", cIn)
-+			}
-+			// GC Library name
-+			if modname == "" {
-+				modname = "libc.a/shr_64.o"
-+			} else {
-+				fmt.Fprintf(os.Stderr, "%s: only syscall using libc are available\n", funct)
-+				os.Exit(1)
-+			}
-+			sysvarname := fmt.Sprintf("libc_%s", sysname)
-+
-+			if !onlyCommon {
-+				// GC Runtime import of function to allow cross-platform builds.
-+				dynimports += fmt.Sprintf("//go:cgo_import_dynamic %s %s \"%s\"\n", sysvarname, sysname, modname)
-+				// GC Link symbol to proc address variable.
-+				linknames += fmt.Sprintf("//go:linkname %s %s\n", sysvarname, sysvarname)
-+				// GC Library proc address variable.
-+				vars = append(vars, sysvarname)
-+			}
-+
-+			strconvfunc := "BytePtrFromString"
-+			strconvtype := "*byte"
-+
-+			// Go function header.
-+			if outps != "" {
-+				outps = fmt.Sprintf(" (%s)", outps)
-+			}
-+			if textcommon != "" {
-+				textcommon += "\n"
-+			}
-+
-+			textcommon += fmt.Sprintf("func %s(%s)%s {\n", funct, strings.Join(in, ", "), outps)
-+
-+			// Prepare arguments tocall.
-+			var argscommon []string // Arguments in the common part
-+			var argscall []string   // Arguments for call prototype
-+			var argsgc []string     // Arguments for gc call (with syscall6)
-+			var argsgccgo []string  // Arguments for gccgo call (with C.name_of_syscall)
-+			n := 0
-+			argN := 0
-+			for _, param := range in {
-+				p := parseParam(param)
-+				if regexp.MustCompile(`^\*`).FindStringSubmatch(p.Type) != nil {
-+					argscommon = append(argscommon, fmt.Sprintf("uintptr(unsafe.Pointer(%s))", p.Name))
-+					argscall = append(argscall, fmt.Sprintf("%s uintptr", p.Name))
-+					argsgc = append(argsgc, p.Name)
-+					argsgccgo = append(argsgccgo, fmt.Sprintf("C.uintptr_t(%s)", p.Name))
-+				} else if p.Type == "string" && errvar != "" {
-+					textcommon += fmt.Sprintf("\tvar _p%d %s\n", n, strconvtype)
-+					textcommon += fmt.Sprintf("\t_p%d, %s = %s(%s)\n", n, errvar, strconvfunc, p.Name)
-+					textcommon += fmt.Sprintf("\tif %s != nil {\n\t\treturn\n\t}\n", errvar)
-+
-+					argscommon = append(argscommon, fmt.Sprintf("uintptr(unsafe.Pointer(_p%d))", n))
-+					argscall = append(argscall, fmt.Sprintf("_p%d uintptr ", n))
-+					argsgc = append(argsgc, fmt.Sprintf("_p%d", n))
-+					argsgccgo = append(argsgccgo, fmt.Sprintf("C.uintptr_t(_p%d)", n))
-+					n++
-+				} else if p.Type == "string" {
-+					fmt.Fprintf(os.Stderr, path+":"+funct+" uses string arguments, but has no error return\n")
-+					textcommon += fmt.Sprintf("\tvar _p%d %s\n", n, strconvtype)
-+					textcommon += fmt.Sprintf("\t_p%d, %s = %s(%s)\n", n, errvar, strconvfunc, p.Name)
-+					textcommon += fmt.Sprintf("\tif %s != nil {\n\t\treturn\n\t}\n", errvar)
-+
-+					argscommon = append(argscommon, fmt.Sprintf("uintptr(unsafe.Pointer(_p%d))", n))
-+					argscall = append(argscall, fmt.Sprintf("_p%d uintptr", n))
-+					argsgc = append(argsgc, fmt.Sprintf("_p%d", n))
-+					argsgccgo = append(argsgccgo, fmt.Sprintf("C.uintptr_t(_p%d)", n))
-+					n++
-+				} else if m := regexp.MustCompile(`^\[\](.*)`).FindStringSubmatch(p.Type); m != nil {
-+					// Convert slice into pointer, length.
-+					// Have to be careful not to take address of &a[0] if len == 0:
-+					// pass nil in that case.
-+					textcommon += fmt.Sprintf("\tvar _p%d *%s\n", n, m[1])
-+					textcommon += fmt.Sprintf("\tif len(%s) > 0 {\n\t\t_p%d = &%s[0]\n\t}\n", p.Name, n, p.Name)
-+					argscommon = append(argscommon, fmt.Sprintf("uintptr(unsafe.Pointer(_p%d))", n), fmt.Sprintf("len(%s)", p.Name))
-+					argscall = append(argscall, fmt.Sprintf("_p%d uintptr", n), fmt.Sprintf("_lenp%d int", n))
-+					argsgc = append(argsgc, fmt.Sprintf("_p%d", n), fmt.Sprintf("uintptr(_lenp%d)", n))
-+					argsgccgo = append(argsgccgo, fmt.Sprintf("C.uintptr_t(_p%d)", n), fmt.Sprintf("C.size_t(_lenp%d)", n))
-+					n++
-+				} else if p.Type == "int64" && endianness != "" {
-+					fmt.Fprintf(os.Stderr, path+":"+funct+" uses int64 with 32 bits mode. Case not yet implemented\n")
-+				} else if p.Type == "bool" {
-+					fmt.Fprintf(os.Stderr, path+":"+funct+" uses bool. Case not yet implemented\n")
-+				} else if regexp.MustCompile(`^_`).FindStringSubmatch(p.Type) != nil || p.Type == "unsafe.Pointer" {
-+					argscommon = append(argscommon, fmt.Sprintf("uintptr(%s)", p.Name))
-+					argscall = append(argscall, fmt.Sprintf("%s uintptr", p.Name))
-+					argsgc = append(argsgc, p.Name)
-+					argsgccgo = append(argsgccgo, fmt.Sprintf("C.uintptr_t(%s)", p.Name))
-+				} else if p.Type == "int" {
-+					if (argN == 0 || argN == 2) && ((funct == "fcntl") || (funct == "FcntlInt") || (funct == "FcntlFlock")) {
-+						// These fcntl arguments need to be uintptr to be able to call FcntlInt and FcntlFlock
-+						argscommon = append(argscommon, fmt.Sprintf("uintptr(%s)", p.Name))
-+						argscall = append(argscall, fmt.Sprintf("%s uintptr", p.Name))
-+						argsgc = append(argsgc, p.Name)
-+						argsgccgo = append(argsgccgo, fmt.Sprintf("C.uintptr_t(%s)", p.Name))
-+
-+					} else {
-+						argscommon = append(argscommon, p.Name)
-+						argscall = append(argscall, fmt.Sprintf("%s int", p.Name))
-+						argsgc = append(argsgc, fmt.Sprintf("uintptr(%s)", p.Name))
-+						argsgccgo = append(argsgccgo, fmt.Sprintf("C.int(%s)", p.Name))
-+					}
-+				} else if p.Type == "int32" {
-+					argscommon = append(argscommon, p.Name)
-+					argscall = append(argscall, fmt.Sprintf("%s int32", p.Name))
-+					argsgc = append(argsgc, fmt.Sprintf("uintptr(%s)", p.Name))
-+					argsgccgo = append(argsgccgo, fmt.Sprintf("C.int(%s)", p.Name))
-+				} else if p.Type == "int64" {
-+					argscommon = append(argscommon, p.Name)
-+					argscall = append(argscall, fmt.Sprintf("%s int64", p.Name))
-+					argsgc = append(argsgc, fmt.Sprintf("uintptr(%s)", p.Name))
-+					argsgccgo = append(argsgccgo, fmt.Sprintf("C.longlong(%s)", p.Name))
-+				} else if p.Type == "uint32" {
-+					argscommon = append(argscommon, p.Name)
-+					argscall = append(argscall, fmt.Sprintf("%s uint32", p.Name))
-+					argsgc = append(argsgc, fmt.Sprintf("uintptr(%s)", p.Name))
-+					argsgccgo = append(argsgccgo, fmt.Sprintf("C.uint(%s)", p.Name))
-+				} else if p.Type == "uint64" {
-+					argscommon = append(argscommon, p.Name)
-+					argscall = append(argscall, fmt.Sprintf("%s uint64", p.Name))
-+					argsgc = append(argsgc, fmt.Sprintf("uintptr(%s)", p.Name))
-+					argsgccgo = append(argsgccgo, fmt.Sprintf("C.ulonglong(%s)", p.Name))
-+				} else if p.Type == "uintptr" {
-+					argscommon = append(argscommon, p.Name)
-+					argscall = append(argscall, fmt.Sprintf("%s uintptr", p.Name))
-+					argsgc = append(argsgc, p.Name)
-+					argsgccgo = append(argsgccgo, fmt.Sprintf("C.uintptr_t(%s)", p.Name))
-+				} else {
-+					argscommon = append(argscommon, fmt.Sprintf("int(%s)", p.Name))
-+					argscall = append(argscall, fmt.Sprintf("%s int", p.Name))
-+					argsgc = append(argsgc, fmt.Sprintf("uintptr(%s)", p.Name))
-+					argsgccgo = append(argsgccgo, fmt.Sprintf("C.int(%s)", p.Name))
-+				}
-+				argN++
-+			}
-+			nargs := len(argsgc)
-+
-+			// COMMON function generation
-+			argscommonlist := strings.Join(argscommon, ", ")
-+			callcommon := fmt.Sprintf("call%s(%s)", sysname, argscommonlist)
-+			ret := []string{"_", "_"}
-+			body := ""
-+			doErrno := false
-+			for i := 0; i < len(out); i++ {
-+				p := parseParam(out[i])
-+				reg := ""
-+				if p.Name == "err" {
-+					reg = "e1"
-+					ret[1] = reg
-+					doErrno = true
-+				} else {
-+					reg = "r0"
-+					ret[0] = reg
-+				}
-+				if p.Type == "bool" {
-+					reg = fmt.Sprintf("%s != 0", reg)
-+				}
-+				if reg != "e1" {
-+					body += fmt.Sprintf("\t%s = %s(%s)\n", p.Name, p.Type, reg)
-+				}
-+			}
-+			if ret[0] == "_" && ret[1] == "_" {
-+				textcommon += fmt.Sprintf("\t%s\n", callcommon)
-+			} else {
-+				textcommon += fmt.Sprintf("\t%s, %s := %s\n", ret[0], ret[1], callcommon)
-+			}
-+			textcommon += body
-+
-+			if doErrno {
-+				textcommon += "\tif e1 != 0 {\n"
-+				textcommon += "\t\terr = errnoErr(e1)\n"
-+				textcommon += "\t}\n"
-+			}
-+			textcommon += "\treturn\n"
-+			textcommon += "}\n"
-+
-+			if onlyCommon {
-+				continue
-+			}
-+
-+			// CALL Prototype
-+			callProto := fmt.Sprintf("func call%s(%s) (r1 uintptr, e1 Errno) {\n", sysname, strings.Join(argscall, ", "))
-+
-+			// GC function generation
-+			asm := "syscall6"
-+			if nonblock != nil {
-+				asm = "rawSyscall6"
-+			}
-+
-+			if len(argsgc) <= 6 {
-+				for len(argsgc) < 6 {
-+					argsgc = append(argsgc, "0")
-+				}
-+			} else {
-+				fmt.Fprintf(os.Stderr, "%s: too many arguments to system call", funct)
-+				os.Exit(1)
-+			}
-+			argsgclist := strings.Join(argsgc, ", ")
-+			callgc := fmt.Sprintf("%s(uintptr(unsafe.Pointer(&%s)), %d, %s)", asm, sysvarname, nargs, argsgclist)
-+
-+			textgc += callProto
-+			textgc += fmt.Sprintf("\tr1, _, e1 = %s\n", callgc)
-+			textgc += "\treturn\n}\n"
-+
-+			// GCCGO function generation
-+			argsgccgolist := strings.Join(argsgccgo, ", ")
-+			var callgccgo string
-+			if sysname == "select" {
-+				// select is a keyword of Go. Its name is
-+				// changed to c_select.
-+				callgccgo = fmt.Sprintf("C.c_%s(%s)", sysname, argsgccgolist)
-+			} else {
-+				callgccgo = fmt.Sprintf("C.%s(%s)", sysname, argsgccgolist)
-+			}
-+			textgccgo += callProto
-+			textgccgo += fmt.Sprintf("\tr1 = uintptr(%s)\n", callgccgo)
-+			textgccgo += "\te1 = syscall.GetErrno()\n"
-+			textgccgo += "\treturn\n}\n"
-+		}
-+		if err := s.Err(); err != nil {
-+			fmt.Fprintf(os.Stderr, err.Error())
-+			os.Exit(1)
-+		}
-+		file.Close()
-+	}
-+	imp := ""
-+	if pack != "unix" {
-+		imp = "import \"golang.org/x/sys/unix\"\n"
-+
-+	}
-+
-+	// Print zsyscall_aix_ppc64.go
-+	err := ioutil.WriteFile("zsyscall_aix_ppc64.go",
-+		[]byte(fmt.Sprintf(srcTemplate1, cmdLine(), buildTags(), pack, imp, textcommon)),
-+		0644)
-+	if err != nil {
-+		fmt.Fprintf(os.Stderr, err.Error())
-+		os.Exit(1)
-+	}
-+
-+	// Print zsyscall_aix_ppc64_gc.go
-+	vardecls := "\t" + strings.Join(vars, ",\n\t")
-+	vardecls += " syscallFunc"
-+	err = ioutil.WriteFile("zsyscall_aix_ppc64_gc.go",
-+		[]byte(fmt.Sprintf(srcTemplate2, cmdLine(), buildTags(), pack, imp, dynimports, linknames, vardecls, textgc)),
-+		0644)
-+	if err != nil {
-+		fmt.Fprintf(os.Stderr, err.Error())
-+		os.Exit(1)
-+	}
-+
-+	// Print zsyscall_aix_ppc64_gccgo.go
-+	err = ioutil.WriteFile("zsyscall_aix_ppc64_gccgo.go",
-+		[]byte(fmt.Sprintf(srcTemplate3, cmdLine(), buildTags(), pack, cExtern, imp, textgccgo)),
-+		0644)
-+	if err != nil {
-+		fmt.Fprintf(os.Stderr, err.Error())
-+		os.Exit(1)
-+	}
-+}
-+
-+const srcTemplate1 = `// %s
-+// Code generated by the command above; see README.md. DO NOT EDIT.
-+
-+// +build %s
-+
-+package %s
-+
-+import (
-+	"unsafe"
-+)
-+
-+
-+%s
-+
-+%s
-+`
-+const srcTemplate2 = `// %s
-+// Code generated by the command above; see README.md. DO NOT EDIT.
-+
-+// +build %s
-+// +build !gccgo
-+
-+package %s
-+
-+import (
-+	"unsafe"
-+)
-+%s
-+%s
-+%s
-+type syscallFunc uintptr
-+
-+var (
-+%s
-+)
-+
-+// Implemented in runtime/syscall_aix.go.
-+func rawSyscall6(trap, nargs, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err Errno)
-+func syscall6(trap, nargs, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err Errno)
-+
-+%s
-+`
-+const srcTemplate3 = `// %s
-+// Code generated by the command above; see README.md. DO NOT EDIT.
-+
-+// +build %s
-+// +build gccgo
-+
-+package %s
-+
-+%s
-+*/
-+import "C"
-+import (
-+	"syscall"
-+)
-+
-+
-+%s
-+
-+%s
-+`
-diff --git a/vendor/golang.org/x/sys/unix/mksyscall_solaris.go b/vendor/golang.org/x/sys/unix/mksyscall_solaris.go
-new file mode 100644
-index 00000000..675597e4
---- /dev/null
-+++ b/vendor/golang.org/x/sys/unix/mksyscall_solaris.go
-@@ -0,0 +1,341 @@
-+// Copyright 2019 The Go Authors. All rights reserved.
-+// Use of this source code is governed by a BSD-style
-+// license that can be found in the LICENSE file.
-+
-+// +build ignore
-+
-+/*
-+ This program reads a file containing function prototypes
-+ (like syscall_solaris.go) and generates system call bodies.
-+ The prototypes are marked by lines beginning with "//sys"
-+ and read like func declarations if //sys is replaced by func, but:
-+	* The parameter lists must give a name for each argument.
-+	  This includes return parameters.
-+	* The parameter lists must give a type for each argument:
-+	  the (x, y, z int) shorthand is not allowed.
-+	* If the return parameter is an error number, it must be named err.
-+	* If go func name needs to be different than its libc name,
-+	* or the function is not in libc, name could be specified
-+	* at the end, after "=" sign, like
-+	  //sys getsockopt(s int, level int, name int, val uintptr, vallen *_Socklen) (err error) = libsocket.getsockopt
-+*/
-+
-+package main
-+
-+import (
-+	"bufio"
-+	"flag"
-+	"fmt"
-+	"os"
-+	"regexp"
-+	"strings"
-+)
-+
-+var (
-+	b32     = flag.Bool("b32", false, "32bit big-endian")
-+	l32     = flag.Bool("l32", false, "32bit little-endian")
-+	tags    = flag.String("tags", "", "build tags")
-+	illumos = flag.Bool("illumos", false, "illumos specific code generation")
-+)
-+
-+// cmdLine returns this programs's commandline arguments
-+func cmdLine() string {
-+	return "go run mksyscall_solaris.go " + strings.Join(os.Args[1:], " ")
-+}
-+
-+// buildTags returns build tags
-+func buildTags() string {
-+	return *tags
-+}
-+
-+// Param is function parameter
-+type Param struct {
-+	Name string
-+	Type string
-+}
-+
-+// usage prints the program usage
-+func usage() {
-+	fmt.Fprintf(os.Stderr, "usage: go run mksyscall_solaris.go [-b32 | -l32] [-tags x,y] [file ...]\n")
-+	os.Exit(1)
-+}
-+
-+// parseParamList parses parameter list and returns a slice of parameters
-+func parseParamList(list string) []string {
-+	list = strings.TrimSpace(list)
-+	if list == "" {
-+		return []string{}
-+	}
-+	return regexp.MustCompile(`\s*,\s*`).Split(list, -1)
-+}
-+
-+// parseParam splits a parameter into name and type
-+func parseParam(p string) Param {
-+	ps := regexp.MustCompile(`^(\S*) (\S*)$`).FindStringSubmatch(p)
-+	if ps == nil {
-+		fmt.Fprintf(os.Stderr, "malformed parameter: %s\n", p)
-+		os.Exit(1)
-+	}
-+	return Param{ps[1], ps[2]}
-+}
-+
-+func main() {
-+	flag.Usage = usage
-+	flag.Parse()
-+	if len(flag.Args()) <= 0 {
-+		fmt.Fprintf(os.Stderr, "no files to parse provided\n")
-+		usage()
-+	}
-+
-+	endianness := ""
-+	if *b32 {
-+		endianness = "big-endian"
-+	} else if *l32 {
-+		endianness = "little-endian"
-+	}
-+
-+	pack := ""
-+	text := ""
-+	dynimports := ""
-+	linknames := ""
-+	var vars []string
-+	for _, path := range flag.Args() {
-+		file, err := os.Open(path)
-+		if err != nil {
-+			fmt.Fprintf(os.Stderr, err.Error())
-+			os.Exit(1)
-+		}
-+		s := bufio.NewScanner(file)
-+		for s.Scan() {
-+			t := s.Text()
-+			t = strings.TrimSpace(t)
-+			t = regexp.MustCompile(`\s+`).ReplaceAllString(t, ` `)
-+			if p := regexp.MustCompile(`^package (\S+)$`).FindStringSubmatch(t); p != nil && pack == "" {
-+				pack = p[1]
-+			}
-+			nonblock := regexp.MustCompile(`^\/\/sysnb `).FindStringSubmatch(t)
-+			if regexp.MustCompile(`^\/\/sys `).FindStringSubmatch(t) == nil && nonblock == nil {
-+				continue
-+			}
-+
-+			// Line must be of the form
-+			//	func Open(path string, mode int, perm int) (fd int, err error)
-+			// Split into name, in params, out params.
-+			f := regexp.MustCompile(`^\/\/sys(nb)? (\w+)\(([^()]*)\)\s*(?:\(([^()]+)\))?\s*(?:=\s*(?:(\w*)\.)?(\w*))?$`).FindStringSubmatch(t)
-+			if f == nil {
-+				fmt.Fprintf(os.Stderr, "%s:%s\nmalformed //sys declaration\n", path, t)
-+				os.Exit(1)
-+			}
-+			funct, inps, outps, modname, sysname := f[2], f[3], f[4], f[5], f[6]
-+
-+			// Split argument lists on comma.
-+			in := parseParamList(inps)
-+			out := parseParamList(outps)
-+
-+			inps = strings.Join(in, ", ")
-+			outps = strings.Join(out, ", ")
-+
-+			// Try in vain to keep people from editing this file.
-+			// The theory is that they jump into the middle of the file
-+			// without reading the header.
-+			text += "// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\n"
-+
-+			// So file name.
-+			if modname == "" {
-+				modname = "libc"
-+			}
-+
-+			// System call name.
-+			if sysname == "" {
-+				sysname = funct
-+			}
-+
-+			// System call pointer variable name.
-+			sysvarname := fmt.Sprintf("proc%s", sysname)
-+
-+			strconvfunc := "BytePtrFromString"
-+			strconvtype := "*byte"
-+
-+			sysname = strings.ToLower(sysname) // All libc functions are lowercase.
-+
-+			// Runtime import of function to allow cross-platform builds.
-+			dynimports += fmt.Sprintf("//go:cgo_import_dynamic libc_%s %s \"%s.so\"\n", sysname, sysname, modname)
-+			// Link symbol to proc address variable.
-+			linknames += fmt.Sprintf("//go:linkname %s libc_%s\n", sysvarname, sysname)
-+			// Library proc address variable.
-+			vars = append(vars, sysvarname)
-+
-+			// Go function header.
-+			outlist := strings.Join(out, ", ")
-+			if outlist != "" {
-+				outlist = fmt.Sprintf(" (%s)", outlist)
-+			}
-+			if text != "" {
-+				text += "\n"
-+			}
-+			text += fmt.Sprintf("func %s(%s)%s {\n", funct, strings.Join(in, ", "), outlist)
-+
-+			// Check if err return available
-+			errvar := ""
-+			for _, param := range out {
-+				p := parseParam(param)
-+				if p.Type == "error" {
-+					errvar = p.Name
-+					continue
-+				}
-+			}
-+
-+			// Prepare arguments to Syscall.
-+			var args []string
-+			n := 0
-+			for _, param := range in {
-+				p := parseParam(param)
-+				if regexp.MustCompile(`^\*`).FindStringSubmatch(p.Type) != nil {
-+					args = append(args, "uintptr(unsafe.Pointer("+p.Name+"))")
-+				} else if p.Type == "string" && errvar != "" {
-+					text += fmt.Sprintf("\tvar _p%d %s\n", n, strconvtype)
-+					text += fmt.Sprintf("\t_p%d, %s = %s(%s)\n", n, errvar, strconvfunc, p.Name)
-+					text += fmt.Sprintf("\tif %s != nil {\n\t\treturn\n\t}\n", errvar)
-+					args = append(args, fmt.Sprintf("uintptr(unsafe.Pointer(_p%d))", n))
-+					n++
-+				} else if p.Type == "string" {
-+					fmt.Fprintf(os.Stderr, path+":"+funct+" uses string arguments, but has no error return\n")
-+					text += fmt.Sprintf("\tvar _p%d %s\n", n, strconvtype)
-+					text += fmt.Sprintf("\t_p%d, _ = %s(%s)\n", n, strconvfunc, p.Name)
-+					args = append(args, fmt.Sprintf("uintptr(unsafe.Pointer(_p%d))", n))
-+					n++
-+				} else if s := regexp.MustCompile(`^\[\](.*)`).FindStringSubmatch(p.Type); s != nil {
-+					// Convert slice into pointer, length.
-+					// Have to be careful not to take address of &a[0] if len == 0:
-+					// pass nil in that case.
-+					text += fmt.Sprintf("\tvar _p%d *%s\n", n, s[1])
-+					text += fmt.Sprintf("\tif len(%s) > 0 {\n\t\t_p%d = &%s[0]\n\t}\n", p.Name, n, p.Name)
-+					args = append(args, fmt.Sprintf("uintptr(unsafe.Pointer(_p%d))", n), fmt.Sprintf("uintptr(len(%s))", p.Name))
-+					n++
-+				} else if p.Type == "int64" && endianness != "" {
-+					if endianness == "big-endian" {
-+						args = append(args, fmt.Sprintf("uintptr(%s>>32)", p.Name), fmt.Sprintf("uintptr(%s)", p.Name))
-+					} else {
-+						args = append(args, fmt.Sprintf("uintptr(%s)", p.Name), fmt.Sprintf("uintptr(%s>>32)", p.Name))
-+					}
-+				} else if p.Type == "bool" {
-+					text += fmt.Sprintf("\tvar _p%d uint32\n", n)
-+					text += fmt.Sprintf("\tif %s {\n\t\t_p%d = 1\n\t} else {\n\t\t_p%d = 0\n\t}\n", p.Name, n, n)
-+					args = append(args, fmt.Sprintf("uintptr(_p%d)", n))
-+					n++
-+				} else {
-+					args = append(args, fmt.Sprintf("uintptr(%s)", p.Name))
-+				}
-+			}
-+			nargs := len(args)
-+
-+			// Determine which form to use; pad args with zeros.
-+			asm := "sysvicall6"
-+			if nonblock != nil {
-+				asm = "rawSysvicall6"
-+			}
-+			if len(args) <= 6 {
-+				for len(args) < 6 {
-+					args = append(args, "0")
-+				}
-+			} else {
-+				fmt.Fprintf(os.Stderr, "%s: too many arguments to system call\n", path)
-+				os.Exit(1)
-+			}
-+
-+			// Actual call.
-+			arglist := strings.Join(args, ", ")
-+			call := fmt.Sprintf("%s(uintptr(unsafe.Pointer(&%s)), %d, %s)", asm, sysvarname, nargs, arglist)
-+
-+			// Assign return values.
-+			body := ""
-+			ret := []string{"_", "_", "_"}
-+			doErrno := false
-+			for i := 0; i < len(out); i++ {
-+				p := parseParam(out[i])
-+				reg := ""
-+				if p.Name == "err" {
-+					reg = "e1"
-+					ret[2] = reg
-+					doErrno = true
-+				} else {
-+					reg = fmt.Sprintf("r%d", i)
-+					ret[i] = reg
-+				}
-+				if p.Type == "bool" {
-+					reg = fmt.Sprintf("%d != 0", reg)
-+				}
-+				if p.Type == "int64" && endianness != "" {
-+					// 64-bit number in r1:r0 or r0:r1.
-+					if i+2 > len(out) {
-+						fmt.Fprintf(os.Stderr, "%s: not enough registers for int64 return\n", path)
-+						os.Exit(1)
-+					}
-+					if endianness == "big-endian" {
-+						reg = fmt.Sprintf("int64(r%d)<<32 | int64(r%d)", i, i+1)
-+					} else {
-+						reg = fmt.Sprintf("int64(r%d)<<32 | int64(r%d)", i+1, i)
-+					}
-+					ret[i] = fmt.Sprintf("r%d", i)
-+					ret[i+1] = fmt.Sprintf("r%d", i+1)
-+				}
-+				if reg != "e1" {
-+					body += fmt.Sprintf("\t%s = %s(%s)\n", p.Name, p.Type, reg)
-+				}
-+			}
-+			if ret[0] == "_" && ret[1] == "_" && ret[2] == "_" {
-+				text += fmt.Sprintf("\t%s\n", call)
-+			} else {
-+				text += fmt.Sprintf("\t%s, %s, %s := %s\n", ret[0], ret[1], ret[2], call)
-+			}
-+			text += body
-+
-+			if doErrno {
-+				text += "\tif e1 != 0 {\n"
-+				text += "\t\terr = e1\n"
-+				text += "\t}\n"
-+			}
-+			text += "\treturn\n"
-+			text += "}\n"
-+		}
-+		if err := s.Err(); err != nil {
-+			fmt.Fprintf(os.Stderr, err.Error())
-+			os.Exit(1)
-+		}
-+		file.Close()
-+	}
-+	imp := ""
-+	if pack != "unix" {
-+		imp = "import \"golang.org/x/sys/unix\"\n"
-+	}
-+
-+	syscallimp := ""
-+	if !*illumos {
-+		syscallimp = "\"syscall\""
-+	}
-+
-+	vardecls := "\t" + strings.Join(vars, ",\n\t")
-+	vardecls += " syscallFunc"
-+	fmt.Printf(srcTemplate, cmdLine(), buildTags(), pack, syscallimp, imp, dynimports, linknames, vardecls, text)
-+}
-+
-+const srcTemplate = `// %s
-+// Code generated by the command above; see README.md. DO NOT EDIT.
-+
-+// +build %s
-+
-+package %s
-+
-+import (
-+        "unsafe"
-+        %s
-+)
-+%s
-+%s
-+%s
-+var (
-+%s	
-+)
-+
-+%s
-+`
-diff --git a/vendor/golang.org/x/sys/unix/mksysctl_openbsd.go b/vendor/golang.org/x/sys/unix/mksysctl_openbsd.go
-new file mode 100644
-index 00000000..b6b40990
---- /dev/null
-+++ b/vendor/golang.org/x/sys/unix/mksysctl_openbsd.go
-@@ -0,0 +1,355 @@
-+// Copyright 2019 The Go Authors. All rights reserved.
-+// Use of this source code is governed by a BSD-style
-+// license that can be found in the LICENSE file.
-+
-+// +build ignore
-+
-+// Parse the header files for OpenBSD and generate a Go usable sysctl MIB.
-+//
-+// Build a MIB with each entry being an array containing the level, type and
-+// a hash that will contain additional entries if the current entry is a node.
-+// We then walk this MIB and create a flattened sysctl name to OID hash.
-+
-+package main
-+
-+import (
-+	"bufio"
-+	"fmt"
-+	"os"
-+	"path/filepath"
-+	"regexp"
-+	"sort"
-+	"strings"
-+)
-+
-+var (
-+	goos, goarch string
-+)
-+
-+// cmdLine returns this programs's commandline arguments.
-+func cmdLine() string {
-+	return "go run mksysctl_openbsd.go " + strings.Join(os.Args[1:], " ")
-+}
-+
-+// buildTags returns build tags.
-+func buildTags() string {
-+	return fmt.Sprintf("%s,%s", goarch, goos)
-+}
-+
-+// reMatch performs regular expression match and stores the substring slice to value pointed by m.
-+func reMatch(re *regexp.Regexp, str string, m *[]string) bool {
-+	*m = re.FindStringSubmatch(str)
-+	if *m != nil {
-+		return true
-+	}
-+	return false
-+}
-+
-+type nodeElement struct {
-+	n  int
-+	t  string
-+	pE *map[string]nodeElement
-+}
-+
-+var (
-+	debugEnabled bool
-+	mib          map[string]nodeElement
-+	node         *map[string]nodeElement
-+	nodeMap      map[string]string
-+	sysCtl       []string
-+)
-+
-+var (
-+	ctlNames1RE = regexp.MustCompile(`^#define\s+(CTL_NAMES)\s+{`)
-+	ctlNames2RE = regexp.MustCompile(`^#define\s+(CTL_(.*)_NAMES)\s+{`)
-+	ctlNames3RE = regexp.MustCompile(`^#define\s+((.*)CTL_NAMES)\s+{`)
-+	netInetRE   = regexp.MustCompile(`^netinet/`)
-+	netInet6RE  = regexp.MustCompile(`^netinet6/`)
-+	netRE       = regexp.MustCompile(`^net/`)
-+	bracesRE    = regexp.MustCompile(`{.*}`)
-+	ctlTypeRE   = regexp.MustCompile(`{\s+"(\w+)",\s+(CTLTYPE_[A-Z]+)\s+}`)
-+	fsNetKernRE = regexp.MustCompile(`^(fs|net|kern)_`)
-+)
-+
-+func debug(s string) {
-+	if debugEnabled {
-+		fmt.Fprintln(os.Stderr, s)
-+	}
-+}
-+
-+// Walk the MIB and build a sysctl name to OID mapping.
-+func buildSysctl(pNode *map[string]nodeElement, name string, oid []int) {
-+	lNode := pNode // local copy of pointer to node
-+	var keys []string
-+	for k := range *lNode {
-+		keys = append(keys, k)
-+	}
-+	sort.Strings(keys)
-+
-+	for _, key := range keys {
-+		nodename := name
-+		if name != "" {
-+			nodename += "."
-+		}
-+		nodename += key
-+
-+		nodeoid := append(oid, (*pNode)[key].n)
-+
-+		if (*pNode)[key].t == `CTLTYPE_NODE` {
-+			if _, ok := nodeMap[nodename]; ok {
-+				lNode = &mib
-+				ctlName := nodeMap[nodename]
-+				for _, part := range strings.Split(ctlName, ".") {
-+					lNode = ((*lNode)[part]).pE
-+				}
-+			} else {
-+				lNode = (*pNode)[key].pE
-+			}
-+			buildSysctl(lNode, nodename, nodeoid)
-+		} else if (*pNode)[key].t != "" {
-+			oidStr := []string{}
-+			for j := range nodeoid {
-+				oidStr = append(oidStr, fmt.Sprintf("%d", nodeoid[j]))
-+			}
-+			text := "\t{ \"" + nodename + "\", []_C_int{ " + strings.Join(oidStr, ", ") + " } }, \n"
-+			sysCtl = append(sysCtl, text)
-+		}
-+	}
-+}
-+
-+func main() {
-+	// Get the OS (using GOOS_TARGET if it exist)
-+	goos = os.Getenv("GOOS_TARGET")
-+	if goos == "" {
-+		goos = os.Getenv("GOOS")
-+	}
-+	// Get the architecture (using GOARCH_TARGET if it exists)
-+	goarch = os.Getenv("GOARCH_TARGET")
-+	if goarch == "" {
-+		goarch = os.Getenv("GOARCH")
-+	}
-+	// Check if GOOS and GOARCH environment variables are defined
-+	if goarch == "" || goos == "" {
-+		fmt.Fprintf(os.Stderr, "GOARCH or GOOS not defined in environment\n")
-+		os.Exit(1)
-+	}
-+
-+	mib = make(map[string]nodeElement)
-+	headers := [...]string{
-+		`sys/sysctl.h`,
-+		`sys/socket.h`,
-+		`sys/tty.h`,
-+		`sys/malloc.h`,
-+		`sys/mount.h`,
-+		`sys/namei.h`,
-+		`sys/sem.h`,
-+		`sys/shm.h`,
-+		`sys/vmmeter.h`,
-+		`uvm/uvmexp.h`,
-+		`uvm/uvm_param.h`,
-+		`uvm/uvm_swap_encrypt.h`,
-+		`ddb/db_var.h`,
-+		`net/if.h`,
-+		`net/if_pfsync.h`,
-+		`net/pipex.h`,
-+		`netinet/in.h`,
-+		`netinet/icmp_var.h`,
-+		`netinet/igmp_var.h`,
-+		`netinet/ip_ah.h`,
-+		`netinet/ip_carp.h`,
-+		`netinet/ip_divert.h`,
-+		`netinet/ip_esp.h`,
-+		`netinet/ip_ether.h`,
-+		`netinet/ip_gre.h`,
-+		`netinet/ip_ipcomp.h`,
-+		`netinet/ip_ipip.h`,
-+		`netinet/pim_var.h`,
-+		`netinet/tcp_var.h`,
-+		`netinet/udp_var.h`,
-+		`netinet6/in6.h`,
-+		`netinet6/ip6_divert.h`,
-+		`netinet6/pim6_var.h`,
-+		`netinet/icmp6.h`,
-+		`netmpls/mpls.h`,
-+	}
-+
-+	ctls := [...]string{
-+		`kern`,
-+		`vm`,
-+		`fs`,
-+		`net`,
-+		//debug			/* Special handling required */
-+		`hw`,
-+		//machdep		/* Arch specific */
-+		`user`,
-+		`ddb`,
-+		//vfs			/* Special handling required */
-+		`fs.posix`,
-+		`kern.forkstat`,
-+		`kern.intrcnt`,
-+		`kern.malloc`,
-+		`kern.nchstats`,
-+		`kern.seminfo`,
-+		`kern.shminfo`,
-+		`kern.timecounter`,
-+		`kern.tty`,
-+		`kern.watchdog`,
-+		`net.bpf`,
-+		`net.ifq`,
-+		`net.inet`,
-+		`net.inet.ah`,
-+		`net.inet.carp`,
-+		`net.inet.divert`,
-+		`net.inet.esp`,
-+		`net.inet.etherip`,
-+		`net.inet.gre`,
-+		`net.inet.icmp`,
-+		`net.inet.igmp`,
-+		`net.inet.ip`,
-+		`net.inet.ip.ifq`,
-+		`net.inet.ipcomp`,
-+		`net.inet.ipip`,
-+		`net.inet.mobileip`,
-+		`net.inet.pfsync`,
-+		`net.inet.pim`,
-+		`net.inet.tcp`,
-+		`net.inet.udp`,
-+		`net.inet6`,
-+		`net.inet6.divert`,
-+		`net.inet6.ip6`,
-+		`net.inet6.icmp6`,
-+		`net.inet6.pim6`,
-+		`net.inet6.tcp6`,
-+		`net.inet6.udp6`,
-+		`net.mpls`,
-+		`net.mpls.ifq`,
-+		`net.key`,
-+		`net.pflow`,
-+		`net.pfsync`,
-+		`net.pipex`,
-+		`net.rt`,
-+		`vm.swapencrypt`,
-+		//vfsgenctl		/* Special handling required */
-+	}
-+
-+	// Node name "fixups"
-+	ctlMap := map[string]string{
-+		"ipproto":             "net.inet",
-+		"net.inet.ipproto":    "net.inet",
-+		"net.inet6.ipv6proto": "net.inet6",
-+		"net.inet6.ipv6":      "net.inet6.ip6",
-+		"net.inet.icmpv6":     "net.inet6.icmp6",
-+		"net.inet6.divert6":   "net.inet6.divert",
-+		"net.inet6.tcp6":      "net.inet.tcp",
-+		"net.inet6.udp6":      "net.inet.udp",
-+		"mpls":                "net.mpls",
-+		"swpenc":              "vm.swapencrypt",
-+	}
-+
-+	// Node mappings
-+	nodeMap = map[string]string{
-+		"net.inet.ip.ifq": "net.ifq",
-+		"net.inet.pfsync": "net.pfsync",
-+		"net.mpls.ifq":    "net.ifq",
-+	}
-+
-+	mCtls := make(map[string]bool)
-+	for _, ctl := range ctls {
-+		mCtls[ctl] = true
-+	}
-+
-+	for _, header := range headers {
-+		debug("Processing " + header)
-+		file, err := os.Open(filepath.Join("/usr/include", header))
-+		if err != nil {
-+			fmt.Fprintf(os.Stderr, "%v\n", err)
-+			os.Exit(1)
-+		}
-+		s := bufio.NewScanner(file)
-+		for s.Scan() {
-+			var sub []string
-+			if reMatch(ctlNames1RE, s.Text(), &sub) ||
-+				reMatch(ctlNames2RE, s.Text(), &sub) ||
-+				reMatch(ctlNames3RE, s.Text(), &sub) {
-+				if sub[1] == `CTL_NAMES` {
-+					// Top level.
-+					node = &mib
-+				} else {
-+					// Node.
-+					nodename := strings.ToLower(sub[2])
-+					ctlName := ""
-+					if reMatch(netInetRE, header, &sub) {
-+						ctlName = "net.inet." + nodename
-+					} else if reMatch(netInet6RE, header, &sub) {
-+						ctlName = "net.inet6." + nodename
-+					} else if reMatch(netRE, header, &sub) {
-+						ctlName = "net." + nodename
-+					} else {
-+						ctlName = nodename
-+						ctlName = fsNetKernRE.ReplaceAllString(ctlName, `$1.`)
-+					}
-+
-+					if val, ok := ctlMap[ctlName]; ok {
-+						ctlName = val
-+					}
-+					if _, ok := mCtls[ctlName]; !ok {
-+						debug("Ignoring " + ctlName + "...")
-+						continue
-+					}
-+
-+					// Walk down from the top of the MIB.
-+					node = &mib
-+					for _, part := range strings.Split(ctlName, ".") {
-+						if _, ok := (*node)[part]; !ok {
-+							debug("Missing node " + part)
-+							(*node)[part] = nodeElement{n: 0, t: "", pE: &map[string]nodeElement{}}
-+						}
-+						node = (*node)[part].pE
-+					}
-+				}
-+
-+				// Populate current node with entries.
-+				i := -1
-+				for !strings.HasPrefix(s.Text(), "}") {
-+					s.Scan()
-+					if reMatch(bracesRE, s.Text(), &sub) {
-+						i++
-+					}
-+					if !reMatch(ctlTypeRE, s.Text(), &sub) {
-+						continue
-+					}
-+					(*node)[sub[1]] = nodeElement{n: i, t: sub[2], pE: &map[string]nodeElement{}}
-+				}
-+			}
-+		}
-+		err = s.Err()
-+		if err != nil {
-+			fmt.Fprintf(os.Stderr, "%v\n", err)
-+			os.Exit(1)
-+		}
-+		file.Close()
-+	}
-+	buildSysctl(&mib, "", []int{})
-+
-+	sort.Strings(sysCtl)
-+	text := strings.Join(sysCtl, "")
-+
-+	fmt.Printf(srcTemplate, cmdLine(), buildTags(), text)
-+}
-+
-+const srcTemplate = `// %s
-+// Code generated by the command above; DO NOT EDIT.
-+
-+// +build %s
-+
-+package unix
-+
-+type mibentry struct {
-+	ctlname string
-+	ctloid []_C_int
-+}
-+
-+var sysctlMib = []mibentry {
-+%s
-+}
-+`
-diff --git a/vendor/golang.org/x/sys/unix/mksysnum.go b/vendor/golang.org/x/sys/unix/mksysnum.go
-new file mode 100644
-index 00000000..baa6ecd8
---- /dev/null
-+++ b/vendor/golang.org/x/sys/unix/mksysnum.go
-@@ -0,0 +1,190 @@
-+// Copyright 2018 The Go Authors. All rights reserved.
-+// Use of this source code is governed by a BSD-style
-+// license that can be found in the LICENSE file.
-+
-+// +build ignore
-+
-+// Generate system call table for DragonFly, NetBSD,
-+// FreeBSD, OpenBSD or Darwin from master list
-+// (for example, /usr/src/sys/kern/syscalls.master or
-+// sys/syscall.h).
-+package main
-+
-+import (
-+	"bufio"
-+	"fmt"
-+	"io"
-+	"io/ioutil"
-+	"net/http"
-+	"os"
-+	"regexp"
-+	"strings"
-+)
-+
-+var (
-+	goos, goarch string
-+)
-+
-+// cmdLine returns this programs's commandline arguments
-+func cmdLine() string {
-+	return "go run mksysnum.go " + strings.Join(os.Args[1:], " ")
-+}
-+
-+// buildTags returns build tags
-+func buildTags() string {
-+	return fmt.Sprintf("%s,%s", goarch, goos)
-+}
-+
-+func checkErr(err error) {
-+	if err != nil {
-+		fmt.Fprintf(os.Stderr, "%v\n", err)
-+		os.Exit(1)
-+	}
-+}
-+
-+// source string and substring slice for regexp
-+type re struct {
-+	str string   // source string
-+	sub []string // matched sub-string
-+}
-+
-+// Match performs regular expression match
-+func (r *re) Match(exp string) bool {
-+	r.sub = regexp.MustCompile(exp).FindStringSubmatch(r.str)
-+	if r.sub != nil {
-+		return true
-+	}
-+	return false
-+}
-+
-+// fetchFile fetches a text file from URL
-+func fetchFile(URL string) io.Reader {
-+	resp, err := http.Get(URL)
-+	checkErr(err)
-+	defer resp.Body.Close()
-+	body, err := ioutil.ReadAll(resp.Body)
-+	checkErr(err)
-+	return strings.NewReader(string(body))
-+}
-+
-+// readFile reads a text file from path
-+func readFile(path string) io.Reader {
-+	file, err := os.Open(os.Args[1])
-+	checkErr(err)
-+	return file
-+}
-+
-+func format(name, num, proto string) string {
-+	name = strings.ToUpper(name)
-+	// There are multiple entries for enosys and nosys, so comment them out.
-+	nm := re{str: name}
-+	if nm.Match(`^SYS_E?NOSYS$`) {
-+		name = fmt.Sprintf("// %s", name)
-+	}
-+	if name == `SYS_SYS_EXIT` {
-+		name = `SYS_EXIT`
-+	}
-+	return fmt.Sprintf("	%s = %s;  // %s\n", name, num, proto)
-+}
-+
-+func main() {
-+	// Get the OS (using GOOS_TARGET if it exist)
-+	goos = os.Getenv("GOOS_TARGET")
-+	if goos == "" {
-+		goos = os.Getenv("GOOS")
-+	}
-+	// Get the architecture (using GOARCH_TARGET if it exists)
-+	goarch = os.Getenv("GOARCH_TARGET")
-+	if goarch == "" {
-+		goarch = os.Getenv("GOARCH")
-+	}
-+	// Check if GOOS and GOARCH environment variables are defined
-+	if goarch == "" || goos == "" {
-+		fmt.Fprintf(os.Stderr, "GOARCH or GOOS not defined in environment\n")
-+		os.Exit(1)
-+	}
-+
-+	file := strings.TrimSpace(os.Args[1])
-+	var syscalls io.Reader
-+	if strings.HasPrefix(file, "https://") || strings.HasPrefix(file, "http://") {
-+		// Download syscalls.master file
-+		syscalls = fetchFile(file)
-+	} else {
-+		syscalls = readFile(file)
-+	}
-+
-+	var text, line string
-+	s := bufio.NewScanner(syscalls)
-+	for s.Scan() {
-+		t := re{str: line}
-+		if t.Match(`^(.*)\\$`) {
-+			// Handle continuation
-+			line = t.sub[1]
-+			line += strings.TrimLeft(s.Text(), " \t")
-+		} else {
-+			// New line
-+			line = s.Text()
-+		}
-+		t = re{str: line}
-+		if t.Match(`\\$`) {
-+			continue
-+		}
-+		t = re{str: line}
-+
-+		switch goos {
-+		case "dragonfly":
-+			if t.Match(`^([0-9]+)\s+STD\s+({ \S+\s+(\w+).*)$`) {
-+				num, proto := t.sub[1], t.sub[2]
-+				name := fmt.Sprintf("SYS_%s", t.sub[3])
-+				text += format(name, num, proto)
-+			}
-+		case "freebsd":
-+			if t.Match(`^([0-9]+)\s+\S+\s+(?:(?:NO)?STD|COMPAT10)\s+({ \S+\s+(\w+).*)$`) {
-+				num, proto := t.sub[1], t.sub[2]
-+				name := fmt.Sprintf("SYS_%s", t.sub[3])
-+				text += format(name, num, proto)
-+			}
-+		case "openbsd":
-+			if t.Match(`^([0-9]+)\s+STD\s+(NOLOCK\s+)?({ \S+\s+\*?(\w+).*)$`) {
-+				num, proto, name := t.sub[1], t.sub[3], t.sub[4]
-+				text += format(name, num, proto)
-+			}
-+		case "netbsd":
-+			if t.Match(`^([0-9]+)\s+((STD)|(NOERR))\s+(RUMP\s+)?({\s+\S+\s*\*?\s*\|(\S+)\|(\S*)\|(\w+).*\s+})(\s+(\S+))?$`) {
-+				num, proto, compat := t.sub[1], t.sub[6], t.sub[8]
-+				name := t.sub[7] + "_" + t.sub[9]
-+				if t.sub[11] != "" {
-+					name = t.sub[7] + "_" + t.sub[11]
-+				}
-+				name = strings.ToUpper(name)
-+				if compat == "" || compat == "13" || compat == "30" || compat == "50" {
-+					text += fmt.Sprintf("	%s = %s;  // %s\n", name, num, proto)
-+				}
-+			}
-+		case "darwin":
-+			if t.Match(`^#define\s+SYS_(\w+)\s+([0-9]+)`) {
-+				name, num := t.sub[1], t.sub[2]
-+				name = strings.ToUpper(name)
-+				text += fmt.Sprintf("	SYS_%s = %s;\n", name, num)
-+			}
-+		default:
-+			fmt.Fprintf(os.Stderr, "unrecognized GOOS=%s\n", goos)
-+			os.Exit(1)
-+
-+		}
-+	}
-+	err := s.Err()
-+	checkErr(err)
-+
-+	fmt.Printf(template, cmdLine(), buildTags(), text)
-+}
-+
-+const template = `// %s
-+// Code generated by the command above; see README.md. DO NOT EDIT.
-+
-+// +build %s
-+
-+package unix
-+
-+const(
-+%s)`
-diff --git a/vendor/golang.org/x/sys/unix/openbsd_pledge.go b/vendor/golang.org/x/sys/unix/openbsd_pledge.go
-deleted file mode 100644
-index db4f72ea..00000000
---- a/vendor/golang.org/x/sys/unix/openbsd_pledge.go
-+++ /dev/null
-@@ -1,38 +0,0 @@
--// Copyright 2016 The Go Authors. All rights reserved.
--// Use of this source code is governed by a BSD-style
--// license that can be found in the LICENSE file.
--
--// +build openbsd
--// +build 386 amd64 arm
--
--package unix
--
--import (
--	"syscall"
--	"unsafe"
--)
--
--const (
--	SYS_PLEDGE = 108
--)
--
--// Pledge implements the pledge syscall. For more information see pledge(2).
--func Pledge(promises string, paths []string) error {
--	promisesPtr, err := syscall.BytePtrFromString(promises)
--	if err != nil {
--		return err
--	}
--	promisesUnsafe, pathsUnsafe := unsafe.Pointer(promisesPtr), unsafe.Pointer(nil)
--	if paths != nil {
--		var pathsPtr []*byte
--		if pathsPtr, err = syscall.SlicePtrFromStrings(paths); err != nil {
--			return err
--		}
--		pathsUnsafe = unsafe.Pointer(&pathsPtr[0])
--	}
--	_, _, e := syscall.Syscall(SYS_PLEDGE, uintptr(promisesUnsafe), uintptr(pathsUnsafe), 0)
--	if e != 0 {
--		return e
--	}
--	return nil
--}
-diff --git a/vendor/golang.org/x/sys/unix/pagesize_unix.go b/vendor/golang.org/x/sys/unix/pagesize_unix.go
-new file mode 100644
-index 00000000..bc2f3629
---- /dev/null
-+++ b/vendor/golang.org/x/sys/unix/pagesize_unix.go
-@@ -0,0 +1,15 @@
-+// Copyright 2017 The Go Authors. All rights reserved.
-+// Use of this source code is governed by a BSD-style
-+// license that can be found in the LICENSE file.
-+
-+// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris
-+
-+// For Unix, get the pagesize from the runtime.
-+
-+package unix
-+
-+import "syscall"
-+
-+func Getpagesize() int {
-+	return syscall.Getpagesize()
-+}
-diff --git a/vendor/golang.org/x/sys/unix/pledge_openbsd.go b/vendor/golang.org/x/sys/unix/pledge_openbsd.go
-new file mode 100644
-index 00000000..eb48294b
---- /dev/null
-+++ b/vendor/golang.org/x/sys/unix/pledge_openbsd.go
-@@ -0,0 +1,163 @@
-+// Copyright 2016 The Go Authors. All rights reserved.
-+// Use of this source code is governed by a BSD-style
-+// license that can be found in the LICENSE file.
-+
-+package unix
-+
-+import (
-+	"errors"
-+	"fmt"
-+	"strconv"
-+	"syscall"
-+	"unsafe"
-+)
-+
-+// Pledge implements the pledge syscall.
-+//
-+// The pledge syscall does not accept execpromises on OpenBSD releases
-+// before 6.3.
-+//
-+// execpromises must be empty when Pledge is called on OpenBSD
-+// releases predating 6.3, otherwise an error will be returned.
-+//
-+// For more information see pledge(2).
-+func Pledge(promises, execpromises string) error {
-+	maj, min, err := majmin()
-+	if err != nil {
-+		return err
-+	}
-+
-+	err = pledgeAvailable(maj, min, execpromises)
-+	if err != nil {
-+		return err
-+	}
-+
-+	pptr, err := syscall.BytePtrFromString(promises)
-+	if err != nil {
-+		return err
-+	}
-+
-+	// This variable will hold either a nil unsafe.Pointer or
-+	// an unsafe.Pointer to a string (execpromises).
-+	var expr unsafe.Pointer
-+
-+	// If we're running on OpenBSD > 6.2, pass execpromises to the syscall.
-+	if maj > 6 || (maj == 6 && min > 2) {
-+		exptr, err := syscall.BytePtrFromString(execpromises)
-+		if err != nil {
-+			return err
-+		}
-+		expr = unsafe.Pointer(exptr)
-+	}
-+
-+	_, _, e := syscall.Syscall(SYS_PLEDGE, uintptr(unsafe.Pointer(pptr)), uintptr(expr), 0)
-+	if e != 0 {
-+		return e
-+	}
-+
-+	return nil
-+}
-+
-+// PledgePromises implements the pledge syscall.
-+//
-+// This changes the promises and leaves the execpromises untouched.
-+//
-+// For more information see pledge(2).
-+func PledgePromises(promises string) error {
-+	maj, min, err := majmin()
-+	if err != nil {
-+		return err
-+	}
-+
-+	err = pledgeAvailable(maj, min, "")
-+	if err != nil {
-+		return err
-+	}
-+
-+	// This variable holds the execpromises and is always nil.
-+	var expr unsafe.Pointer
-+
-+	pptr, err := syscall.BytePtrFromString(promises)
-+	if err != nil {
-+		return err
-+	}
-+
-+	_, _, e := syscall.Syscall(SYS_PLEDGE, uintptr(unsafe.Pointer(pptr)), uintptr(expr), 0)
-+	if e != 0 {
-+		return e
-+	}
-+
-+	return nil
-+}
-+
-+// PledgeExecpromises implements the pledge syscall.
-+//
-+// This changes the execpromises and leaves the promises untouched.
-+//
-+// For more information see pledge(2).
-+func PledgeExecpromises(execpromises string) error {
-+	maj, min, err := majmin()
-+	if err != nil {
-+		return err
-+	}
-+
-+	err = pledgeAvailable(maj, min, execpromises)
-+	if err != nil {
-+		return err
-+	}
-+
-+	// This variable holds the promises and is always nil.
-+	var pptr unsafe.Pointer
-+
-+	exptr, err := syscall.BytePtrFromString(execpromises)
-+	if err != nil {
-+		return err
-+	}
-+
-+	_, _, e := syscall.Syscall(SYS_PLEDGE, uintptr(pptr), uintptr(unsafe.Pointer(exptr)), 0)
-+	if e != 0 {
-+		return e
-+	}
-+
-+	return nil
-+}
-+
-+// majmin returns major and minor version number for an OpenBSD system.
-+func majmin() (major int, minor int, err error) {
-+	var v Utsname
-+	err = Uname(&v)
-+	if err != nil {
-+		return
-+	}
-+
-+	major, err = strconv.Atoi(string(v.Release[0]))
-+	if err != nil {
-+		err = errors.New("cannot parse major version number returned by uname")
-+		return
-+	}
-+
-+	minor, err = strconv.Atoi(string(v.Release[2]))
-+	if err != nil {
-+		err = errors.New("cannot parse minor version number returned by uname")
-+		return
-+	}
-+
-+	return
-+}
-+
-+// pledgeAvailable checks for availability of the pledge(2) syscall
-+// based on the running OpenBSD version.
-+func pledgeAvailable(maj, min int, execpromises string) error {
-+	// If OpenBSD <= 5.9, pledge is not available.
-+	if (maj == 5 && min != 9) || maj < 5 {
-+		return fmt.Errorf("pledge syscall is not available on OpenBSD %d.%d", maj, min)
-+	}
-+
-+	// If OpenBSD <= 6.2 and execpromises is not empty,
-+	// return an error - execpromises is not available before 6.3
-+	if (maj < 6 || (maj == 6 && min <= 2)) && execpromises != "" {
-+		return fmt.Errorf("cannot use execpromises on OpenBSD %d.%d", maj, min)
-+	}
-+
-+	return nil
-+}
-diff --git a/vendor/golang.org/x/sys/unix/race.go b/vendor/golang.org/x/sys/unix/race.go
-index 3c7627eb..61712b51 100644
---- a/vendor/golang.org/x/sys/unix/race.go
-+++ b/vendor/golang.org/x/sys/unix/race.go
-@@ -1,4 +1,4 @@
--// Copyright 2012 The Go Authors.  All rights reserved.
-+// Copyright 2012 The Go Authors. All rights reserved.
- // Use of this source code is governed by a BSD-style
- // license that can be found in the LICENSE file.
- 
-diff --git a/vendor/golang.org/x/sys/unix/race0.go b/vendor/golang.org/x/sys/unix/race0.go
-index f8678e0d..ad026678 100644
---- a/vendor/golang.org/x/sys/unix/race0.go
-+++ b/vendor/golang.org/x/sys/unix/race0.go
-@@ -1,8 +1,8 @@
--// Copyright 2012 The Go Authors.  All rights reserved.
-+// Copyright 2012 The Go Authors. All rights reserved.
- // Use of this source code is governed by a BSD-style
- // license that can be found in the LICENSE file.
- 
--// +build darwin,!race linux,!race freebsd,!race netbsd openbsd solaris dragonfly
-+// +build aix darwin,!race linux,!race freebsd,!race netbsd openbsd solaris dragonfly
- 
- package unix
- 
-diff --git a/vendor/golang.org/x/sys/unix/readdirent_getdents.go b/vendor/golang.org/x/sys/unix/readdirent_getdents.go
-new file mode 100644
-index 00000000..3a90aa6d
---- /dev/null
-+++ b/vendor/golang.org/x/sys/unix/readdirent_getdents.go
-@@ -0,0 +1,12 @@
-+// Copyright 2019 The Go Authors. All rights reserved.
-+// Use of this source code is governed by a BSD-style
-+// license that can be found in the LICENSE file.
-+
-+// +build aix dragonfly freebsd linux netbsd openbsd
-+
-+package unix
-+
-+// ReadDirent reads directory entries from fd and writes them into buf.
-+func ReadDirent(fd int, buf []byte) (n int, err error) {
-+	return Getdents(fd, buf)
-+}
-diff --git a/vendor/golang.org/x/sys/unix/readdirent_getdirentries.go b/vendor/golang.org/x/sys/unix/readdirent_getdirentries.go
-new file mode 100644
-index 00000000..5fdae40b
---- /dev/null
-+++ b/vendor/golang.org/x/sys/unix/readdirent_getdirentries.go
-@@ -0,0 +1,19 @@
-+// Copyright 2019 The Go Authors. All rights reserved.
-+// Use of this source code is governed by a BSD-style
-+// license that can be found in the LICENSE file.
-+
-+// +build darwin
-+
-+package unix
-+
-+import "unsafe"
-+
-+// ReadDirent reads directory entries from fd and writes them into buf.
-+func ReadDirent(fd int, buf []byte) (n int, err error) {
-+	// Final argument is (basep *uintptr) and the syscall doesn't take nil.
-+	// 64 bits should be enough. (32 bits isn't even on 386). Since the
-+	// actual system call is getdirentries64, 64 is a good guess.
-+	// TODO(rsc): Can we use a single global basep for all calls?
-+	var base = (*uintptr)(unsafe.Pointer(new(uint64)))
-+	return Getdirentries(fd, buf, base)
-+}
-diff --git a/vendor/golang.org/x/sys/unix/sockcmsg_dragonfly.go b/vendor/golang.org/x/sys/unix/sockcmsg_dragonfly.go
-new file mode 100644
-index 00000000..5144deec
---- /dev/null
-+++ b/vendor/golang.org/x/sys/unix/sockcmsg_dragonfly.go
-@@ -0,0 +1,16 @@
-+// Copyright 2019 The Go Authors. All rights reserved.
-+// Use of this source code is governed by a BSD-style
-+// license that can be found in the LICENSE file.
-+
-+package unix
-+
-+// Round the length of a raw sockaddr up to align it properly.
-+func cmsgAlignOf(salen int) int {
-+	salign := SizeofPtr
-+	if SizeofPtr == 8 && !supportsABI(_dragonflyABIChangeVersion) {
-+		// 64-bit Dragonfly before the September 2019 ABI changes still requires
-+		// 32-bit aligned access to network subsystem.
-+		salign = 4
-+	}
-+	return (salen + salign - 1) & ^(salign - 1)
-+}
-diff --git a/vendor/golang.org/x/sys/unix/sockcmsg_linux.go b/vendor/golang.org/x/sys/unix/sockcmsg_linux.go
-index d9ff4731..8bf45705 100644
---- a/vendor/golang.org/x/sys/unix/sockcmsg_linux.go
-+++ b/vendor/golang.org/x/sys/unix/sockcmsg_linux.go
-@@ -1,4 +1,4 @@
--// Copyright 2011 The Go Authors.  All rights reserved.
-+// Copyright 2011 The Go Authors. All rights reserved.
- // Use of this source code is governed by a BSD-style
- // license that can be found in the LICENSE file.
- 
-@@ -17,7 +17,7 @@ func UnixCredentials(ucred *Ucred) []byte {
- 	h.Level = SOL_SOCKET
- 	h.Type = SCM_CREDENTIALS
- 	h.SetLen(CmsgLen(SizeofUcred))
--	*((*Ucred)(cmsgData(h))) = *ucred
-+	*(*Ucred)(h.data(0)) = *ucred
- 	return b
- }
- 
-diff --git a/vendor/golang.org/x/sys/unix/sockcmsg_unix.go b/vendor/golang.org/x/sys/unix/sockcmsg_unix.go
-index bb756ece..003916ed 100644
---- a/vendor/golang.org/x/sys/unix/sockcmsg_unix.go
-+++ b/vendor/golang.org/x/sys/unix/sockcmsg_unix.go
-@@ -2,25 +2,15 @@
- // Use of this source code is governed by a BSD-style
- // license that can be found in the LICENSE file.
- 
--// +build darwin dragonfly freebsd linux netbsd openbsd solaris
-+// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris
- 
- // Socket control messages
- 
- package unix
- 
--import "unsafe"
--
--// Round the length of a raw sockaddr up to align it properly.
--func cmsgAlignOf(salen int) int {
--	salign := sizeofPtr
--	// NOTE: It seems like 64-bit Darwin, DragonFly BSD and
--	// Solaris kernels still require 32-bit aligned access to
--	// network subsystem.
--	if darwin64Bit || dragonfly64Bit || solaris64Bit {
--		salign = 4
--	}
--	return (salen + salign - 1) & ^(salign - 1)
--}
-+import (
-+	"unsafe"
-+)
- 
- // CmsgLen returns the value to store in the Len field of the Cmsghdr
- // structure, taking into account any necessary alignment.
-@@ -34,8 +24,8 @@ func CmsgSpace(datalen int) int {
- 	return cmsgAlignOf(SizeofCmsghdr) + cmsgAlignOf(datalen)
- }
- 
--func cmsgData(h *Cmsghdr) unsafe.Pointer {
--	return unsafe.Pointer(uintptr(unsafe.Pointer(h)) + uintptr(cmsgAlignOf(SizeofCmsghdr)))
-+func (h *Cmsghdr) data(offset uintptr) unsafe.Pointer {
-+	return unsafe.Pointer(uintptr(unsafe.Pointer(h)) + uintptr(cmsgAlignOf(SizeofCmsghdr)) + offset)
- }
- 
- // SocketControlMessage represents a socket control message.
-@@ -78,10 +68,8 @@ func UnixRights(fds ...int) []byte {
- 	h.Level = SOL_SOCKET
- 	h.Type = SCM_RIGHTS
- 	h.SetLen(CmsgLen(datalen))
--	data := cmsgData(h)
--	for _, fd := range fds {
--		*(*int32)(data) = int32(fd)
--		data = unsafe.Pointer(uintptr(data) + 4)
-+	for i, fd := range fds {
-+		*(*int32)(h.data(4 * uintptr(i))) = int32(fd)
- 	}
- 	return b
- }
-diff --git a/vendor/golang.org/x/sys/unix/sockcmsg_unix_other.go b/vendor/golang.org/x/sys/unix/sockcmsg_unix_other.go
-new file mode 100644
-index 00000000..7d08dae5
---- /dev/null
-+++ b/vendor/golang.org/x/sys/unix/sockcmsg_unix_other.go
-@@ -0,0 +1,38 @@
-+// Copyright 2019 The Go Authors. All rights reserved.
-+// Use of this source code is governed by a BSD-style
-+// license that can be found in the LICENSE file.
-+
-+// +build aix darwin freebsd linux netbsd openbsd solaris
-+
-+package unix
-+
-+import (
-+	"runtime"
-+)
-+
-+// Round the length of a raw sockaddr up to align it properly.
-+func cmsgAlignOf(salen int) int {
-+	salign := SizeofPtr
-+
-+	// dragonfly needs to check ABI version at runtime, see cmsgAlignOf in
-+	// sockcmsg_dragonfly.go
-+	switch runtime.GOOS {
-+	case "aix":
-+		// There is no alignment on AIX.
-+		salign = 1
-+	case "darwin", "illumos", "solaris":
-+		// NOTE: It seems like 64-bit Darwin, Illumos and Solaris
-+		// kernels still require 32-bit aligned access to network
-+		// subsystem.
-+		if SizeofPtr == 8 {
-+			salign = 4
-+		}
-+	case "netbsd", "openbsd":
-+		// NetBSD and OpenBSD armv7 require 64-bit alignment.
-+		if runtime.GOARCH == "arm" {
-+			salign = 8
-+		}
-+	}
-+
-+	return (salen + salign - 1) & ^(salign - 1)
-+}
-diff --git a/vendor/golang.org/x/sys/unix/str.go b/vendor/golang.org/x/sys/unix/str.go
-index 35ed6643..17fb6986 100644
---- a/vendor/golang.org/x/sys/unix/str.go
-+++ b/vendor/golang.org/x/sys/unix/str.go
-@@ -2,7 +2,7 @@
- // Use of this source code is governed by a BSD-style
- // license that can be found in the LICENSE file.
- 
--// +build darwin dragonfly freebsd linux netbsd openbsd solaris
-+// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris
- 
- package unix
- 
-diff --git a/vendor/golang.org/x/sys/unix/syscall.go b/vendor/golang.org/x/sys/unix/syscall.go
-index 85e35020..fd4ee8eb 100644
---- a/vendor/golang.org/x/sys/unix/syscall.go
-+++ b/vendor/golang.org/x/sys/unix/syscall.go
-@@ -2,33 +2,36 @@
- // Use of this source code is governed by a BSD-style
- // license that can be found in the LICENSE file.
- 
--// +build darwin dragonfly freebsd linux netbsd openbsd solaris
-+// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris
- 
- // Package unix contains an interface to the low-level operating system
--// primitives.  OS details vary depending on the underlying system, and
-+// primitives. OS details vary depending on the underlying system, and
- // by default, godoc will display OS-specific documentation for the current
--// system.  If you want godoc to display OS documentation for another
--// system, set $GOOS and $GOARCH to the desired system.  For example, if
-+// system. If you want godoc to display OS documentation for another
-+// system, set $GOOS and $GOARCH to the desired system. For example, if
- // you want to view documentation for freebsd/arm on linux/amd64, set $GOOS
- // to freebsd and $GOARCH to arm.
-+//
- // The primary use of this package is inside other packages that provide a more
- // portable interface to the system, such as "os", "time" and "net".  Use
- // those packages rather than this one if you can.
-+//
- // For details of the functions and data types in this package consult
- // the manuals for the appropriate operating system.
-+//
- // These calls return err == nil to indicate success; otherwise
- // err represents an operating system error describing the failure and
- // holds a value of type syscall.Errno.
- package unix // import "golang.org/x/sys/unix"
- 
-+import "strings"
-+
- // ByteSliceFromString returns a NUL-terminated slice of bytes
- // containing the text of s. If s contains a NUL byte at any
- // location, it returns (nil, EINVAL).
- func ByteSliceFromString(s string) ([]byte, error) {
--	for i := 0; i < len(s); i++ {
--		if s[i] == 0 {
--			return nil, EINVAL
--		}
-+	if strings.IndexByte(s, 0) != -1 {
-+		return nil, EINVAL
- 	}
- 	a := make([]byte, len(s)+1)
- 	copy(a, s)
-@@ -47,23 +50,4 @@ func BytePtrFromString(s string) (*byte, error) {
- }
- 
- // Single-word zero for use when we need a valid pointer to 0 bytes.
--// See mkunix.pl.
- var _zero uintptr
--
--func (ts *Timespec) Unix() (sec int64, nsec int64) {
--	return int64(ts.Sec), int64(ts.Nsec)
--}
--
--func (tv *Timeval) Unix() (sec int64, nsec int64) {
--	return int64(tv.Sec), int64(tv.Usec) * 1000
--}
--
--func (ts *Timespec) Nano() int64 {
--	return int64(ts.Sec)*1e9 + int64(ts.Nsec)
--}
--
--func (tv *Timeval) Nano() int64 {
--	return int64(tv.Sec)*1e9 + int64(tv.Usec)*1000
--}
--
--func TimevalToNsec(tv Timeval) int64 { return int64(tv.Sec)*1e9 + int64(tv.Usec)*1e3 }
-diff --git a/vendor/golang.org/x/sys/unix/syscall_aix.go b/vendor/golang.org/x/sys/unix/syscall_aix.go
-new file mode 100644
-index 00000000..9ad8a0d4
---- /dev/null
-+++ b/vendor/golang.org/x/sys/unix/syscall_aix.go
-@@ -0,0 +1,536 @@
-+// Copyright 2018 The Go Authors. All rights reserved.
-+// Use of this source code is governed by a BSD-style
-+// license that can be found in the LICENSE file.
-+
-+// +build aix
-+
-+// Aix system calls.
-+// This file is compiled as ordinary Go code,
-+// but it is also input to mksyscall,
-+// which parses the //sys lines and generates system call stubs.
-+// Note that sometimes we use a lowercase //sys name and
-+// wrap it in our own nicer implementation.
-+
-+package unix
-+
-+import "unsafe"
-+
-+/*
-+ * Wrapped
-+ */
-+
-+//sys	utimes(path string, times *[2]Timeval) (err error)
-+func Utimes(path string, tv []Timeval) error {
-+	if len(tv) != 2 {
-+		return EINVAL
-+	}
-+	return utimes(path, (*[2]Timeval)(unsafe.Pointer(&tv[0])))
-+}
-+
-+//sys	utimensat(dirfd int, path string, times *[2]Timespec, flag int) (err error)
-+func UtimesNano(path string, ts []Timespec) error {
-+	if len(ts) != 2 {
-+		return EINVAL
-+	}
-+	return utimensat(AT_FDCWD, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0)
-+}
-+
-+func UtimesNanoAt(dirfd int, path string, ts []Timespec, flags int) error {
-+	if ts == nil {
-+		return utimensat(dirfd, path, nil, flags)
-+	}
-+	if len(ts) != 2 {
-+		return EINVAL
-+	}
-+	return utimensat(dirfd, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), flags)
-+}
-+
-+func (sa *SockaddrInet4) sockaddr() (unsafe.Pointer, _Socklen, error) {
-+	if sa.Port < 0 || sa.Port > 0xFFFF {
-+		return nil, 0, EINVAL
-+	}
-+	sa.raw.Family = AF_INET
-+	p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port))
-+	p[0] = byte(sa.Port >> 8)
-+	p[1] = byte(sa.Port)
-+	for i := 0; i < len(sa.Addr); i++ {
-+		sa.raw.Addr[i] = sa.Addr[i]
-+	}
-+	return unsafe.Pointer(&sa.raw), SizeofSockaddrInet4, nil
-+}
-+
-+func (sa *SockaddrInet6) sockaddr() (unsafe.Pointer, _Socklen, error) {
-+	if sa.Port < 0 || sa.Port > 0xFFFF {
-+		return nil, 0, EINVAL
-+	}
-+	sa.raw.Family = AF_INET6
-+	p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port))
-+	p[0] = byte(sa.Port >> 8)
-+	p[1] = byte(sa.Port)
-+	sa.raw.Scope_id = sa.ZoneId
-+	for i := 0; i < len(sa.Addr); i++ {
-+		sa.raw.Addr[i] = sa.Addr[i]
-+	}
-+	return unsafe.Pointer(&sa.raw), SizeofSockaddrInet6, nil
-+}
-+
-+func (sa *SockaddrUnix) sockaddr() (unsafe.Pointer, _Socklen, error) {
-+	name := sa.Name
-+	n := len(name)
-+	if n > len(sa.raw.Path) {
-+		return nil, 0, EINVAL
-+	}
-+	if n == len(sa.raw.Path) && name[0] != '@' {
-+		return nil, 0, EINVAL
-+	}
-+	sa.raw.Family = AF_UNIX
-+	for i := 0; i < n; i++ {
-+		sa.raw.Path[i] = uint8(name[i])
-+	}
-+	// length is family (uint16), name, NUL.
-+	sl := _Socklen(2)
-+	if n > 0 {
-+		sl += _Socklen(n) + 1
-+	}
-+	if sa.raw.Path[0] == '@' {
-+		sa.raw.Path[0] = 0
-+		// Don't count trailing NUL for abstract address.
-+		sl--
-+	}
-+
-+	return unsafe.Pointer(&sa.raw), sl, nil
-+}
-+
-+func Getsockname(fd int) (sa Sockaddr, err error) {
-+	var rsa RawSockaddrAny
-+	var len _Socklen = SizeofSockaddrAny
-+	if err = getsockname(fd, &rsa, &len); err != nil {
-+		return
-+	}
-+	return anyToSockaddr(fd, &rsa)
-+}
-+
-+//sys	getcwd(buf []byte) (err error)
-+
-+const ImplementsGetwd = true
-+
-+func Getwd() (ret string, err error) {
-+	for len := uint64(4096); ; len *= 2 {
-+		b := make([]byte, len)
-+		err := getcwd(b)
-+		if err == nil {
-+			i := 0
-+			for b[i] != 0 {
-+				i++
-+			}
-+			return string(b[0:i]), nil
-+		}
-+		if err != ERANGE {
-+			return "", err
-+		}
-+	}
-+}
-+
-+func Getcwd(buf []byte) (n int, err error) {
-+	err = getcwd(buf)
-+	if err == nil {
-+		i := 0
-+		for buf[i] != 0 {
-+			i++
-+		}
-+		n = i + 1
-+	}
-+	return
-+}
-+
-+func Getgroups() (gids []int, err error) {
-+	n, err := getgroups(0, nil)
-+	if err != nil {
-+		return nil, err
-+	}
-+	if n == 0 {
-+		return nil, nil
-+	}
-+
-+	// Sanity check group count. Max is 16 on BSD.
-+	if n < 0 || n > 1000 {
-+		return nil, EINVAL
-+	}
-+
-+	a := make([]_Gid_t, n)
-+	n, err = getgroups(n, &a[0])
-+	if err != nil {
-+		return nil, err
-+	}
-+	gids = make([]int, n)
-+	for i, v := range a[0:n] {
-+		gids[i] = int(v)
-+	}
-+	return
-+}
-+
-+func Setgroups(gids []int) (err error) {
-+	if len(gids) == 0 {
-+		return setgroups(0, nil)
-+	}
-+
-+	a := make([]_Gid_t, len(gids))
-+	for i, v := range gids {
-+		a[i] = _Gid_t(v)
-+	}
-+	return setgroups(len(a), &a[0])
-+}
-+
-+/*
-+ * Socket
-+ */
-+
-+//sys	accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error)
-+
-+func Accept(fd int) (nfd int, sa Sockaddr, err error) {
-+	var rsa RawSockaddrAny
-+	var len _Socklen = SizeofSockaddrAny
-+	nfd, err = accept(fd, &rsa, &len)
-+	if nfd == -1 {
-+		return
-+	}
-+	sa, err = anyToSockaddr(fd, &rsa)
-+	if err != nil {
-+		Close(nfd)
-+		nfd = 0
-+	}
-+	return
-+}
-+
-+func Recvmsg(fd int, p, oob []byte, flags int) (n, oobn int, recvflags int, from Sockaddr, err error) {
-+	// Recvmsg not implemented on AIX
-+	sa := new(SockaddrUnix)
-+	return -1, -1, -1, sa, ENOSYS
-+}
-+
-+func Sendmsg(fd int, p, oob []byte, to Sockaddr, flags int) (err error) {
-+	_, err = SendmsgN(fd, p, oob, to, flags)
-+	return
-+}
-+
-+func SendmsgN(fd int, p, oob []byte, to Sockaddr, flags int) (n int, err error) {
-+	// SendmsgN not implemented on AIX
-+	return -1, ENOSYS
-+}
-+
-+func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) {
-+	switch rsa.Addr.Family {
-+
-+	case AF_UNIX:
-+		pp := (*RawSockaddrUnix)(unsafe.Pointer(rsa))
-+		sa := new(SockaddrUnix)
-+
-+		// Some versions of AIX have a bug in getsockname (see IV78655).
-+		// We can't rely on sa.Len being set correctly.
-+		n := SizeofSockaddrUnix - 3 // subtract leading Family, Len, terminating NUL.
-+		for i := 0; i < n; i++ {
-+			if pp.Path[i] == 0 {
-+				n = i
-+				break
-+			}
-+		}
-+
-+		bytes := (*[10000]byte)(unsafe.Pointer(&pp.Path[0]))[0:n]
-+		sa.Name = string(bytes)
-+		return sa, nil
-+
-+	case AF_INET:
-+		pp := (*RawSockaddrInet4)(unsafe.Pointer(rsa))
-+		sa := new(SockaddrInet4)
-+		p := (*[2]byte)(unsafe.Pointer(&pp.Port))
-+		sa.Port = int(p[0])<<8 + int(p[1])
-+		for i := 0; i < len(sa.Addr); i++ {
-+			sa.Addr[i] = pp.Addr[i]
-+		}
-+		return sa, nil
-+
-+	case AF_INET6:
-+		pp := (*RawSockaddrInet6)(unsafe.Pointer(rsa))
-+		sa := new(SockaddrInet6)
-+		p := (*[2]byte)(unsafe.Pointer(&pp.Port))
-+		sa.Port = int(p[0])<<8 + int(p[1])
-+		sa.ZoneId = pp.Scope_id
-+		for i := 0; i < len(sa.Addr); i++ {
-+			sa.Addr[i] = pp.Addr[i]
-+		}
-+		return sa, nil
-+	}
-+	return nil, EAFNOSUPPORT
-+}
-+
-+func Gettimeofday(tv *Timeval) (err error) {
-+	err = gettimeofday(tv, nil)
-+	return
-+}
-+
-+func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {
-+	if raceenabled {
-+		raceReleaseMerge(unsafe.Pointer(&ioSync))
-+	}
-+	return sendfile(outfd, infd, offset, count)
-+}
-+
-+// TODO
-+func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {
-+	return -1, ENOSYS
-+}
-+
-+func direntIno(buf []byte) (uint64, bool) {
-+	return readInt(buf, unsafe.Offsetof(Dirent{}.Ino), unsafe.Sizeof(Dirent{}.Ino))
-+}
-+
-+func direntReclen(buf []byte) (uint64, bool) {
-+	return readInt(buf, unsafe.Offsetof(Dirent{}.Reclen), unsafe.Sizeof(Dirent{}.Reclen))
-+}
-+
-+func direntNamlen(buf []byte) (uint64, bool) {
-+	reclen, ok := direntReclen(buf)
-+	if !ok {
-+		return 0, false
-+	}
-+	return reclen - uint64(unsafe.Offsetof(Dirent{}.Name)), true
-+}
-+
-+//sys	getdirent(fd int, buf []byte) (n int, err error)
-+func Getdents(fd int, buf []byte) (n int, err error) {
-+	return getdirent(fd, buf)
-+}
-+
-+//sys	wait4(pid Pid_t, status *_C_int, options int, rusage *Rusage) (wpid Pid_t, err error)
-+func Wait4(pid int, wstatus *WaitStatus, options int, rusage *Rusage) (wpid int, err error) {
-+	var status _C_int
-+	var r Pid_t
-+	err = ERESTART
-+	// AIX wait4 may return with ERESTART errno, while the processus is still
-+	// active.
-+	for err == ERESTART {
-+		r, err = wait4(Pid_t(pid), &status, options, rusage)
-+	}
-+	wpid = int(r)
-+	if wstatus != nil {
-+		*wstatus = WaitStatus(status)
-+	}
-+	return
-+}
-+
-+/*
-+ * Wait
-+ */
-+
-+type WaitStatus uint32
-+
-+func (w WaitStatus) Stopped() bool { return w&0x40 != 0 }
-+func (w WaitStatus) StopSignal() Signal {
-+	if !w.Stopped() {
-+		return -1
-+	}
-+	return Signal(w>>8) & 0xFF
-+}
-+
-+func (w WaitStatus) Exited() bool { return w&0xFF == 0 }
-+func (w WaitStatus) ExitStatus() int {
-+	if !w.Exited() {
-+		return -1
-+	}
-+	return int((w >> 8) & 0xFF)
-+}
-+
-+func (w WaitStatus) Signaled() bool { return w&0x40 == 0 && w&0xFF != 0 }
-+func (w WaitStatus) Signal() Signal {
-+	if !w.Signaled() {
-+		return -1
-+	}
-+	return Signal(w>>16) & 0xFF
-+}
-+
-+func (w WaitStatus) Continued() bool { return w&0x01000000 != 0 }
-+
-+func (w WaitStatus) CoreDump() bool { return w&0x80 == 0x80 }
-+
-+func (w WaitStatus) TrapCause() int { return -1 }
-+
-+//sys	ioctl(fd int, req uint, arg uintptr) (err error)
-+
-+// fcntl must never be called with cmd=F_DUP2FD because it doesn't work on AIX
-+// There is no way to create a custom fcntl and to keep //sys fcntl easily,
-+// Therefore, the programmer must call dup2 instead of fcntl in this case.
-+
-+// FcntlInt performs a fcntl syscall on fd with the provided command and argument.
-+//sys	FcntlInt(fd uintptr, cmd int, arg int) (r int,err error) = fcntl
-+
-+// FcntlFlock performs a fcntl syscall for the F_GETLK, F_SETLK or F_SETLKW command.
-+//sys	FcntlFlock(fd uintptr, cmd int, lk *Flock_t) (err error) = fcntl
-+
-+//sys	fcntl(fd int, cmd int, arg int) (val int, err error)
-+
-+/*
-+ * Direct access
-+ */
-+
-+//sys	Acct(path string) (err error)
-+//sys	Chdir(path string) (err error)
-+//sys	Chroot(path string) (err error)
-+//sys	Close(fd int) (err error)
-+//sys	Dup(oldfd int) (fd int, err error)
-+//sys	Exit(code int)
-+//sys	Faccessat(dirfd int, path string, mode uint32, flags int) (err error)
-+//sys	Fchdir(fd int) (err error)
-+//sys	Fchmod(fd int, mode uint32) (err error)
-+//sys	Fchmodat(dirfd int, path string, mode uint32, flags int) (err error)
-+//sys	Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error)
-+//sys	Fdatasync(fd int) (err error)
-+//sys	Fsync(fd int) (err error)
-+// readdir_r
-+//sysnb	Getpgid(pid int) (pgid int, err error)
-+
-+//sys	Getpgrp() (pid int)
-+
-+//sysnb	Getpid() (pid int)
-+//sysnb	Getppid() (ppid int)
-+//sys	Getpriority(which int, who int) (prio int, err error)
-+//sysnb	Getrusage(who int, rusage *Rusage) (err error)
-+//sysnb	Getsid(pid int) (sid int, err error)
-+//sysnb	Kill(pid int, sig Signal) (err error)
-+//sys	Klogctl(typ int, buf []byte) (n int, err error) = syslog
-+//sys	Mkdir(dirfd int, path string, mode uint32) (err error)
-+//sys	Mkdirat(dirfd int, path string, mode uint32) (err error)
-+//sys	Mkfifo(path string, mode uint32) (err error)
-+//sys	Mknod(path string, mode uint32, dev int) (err error)
-+//sys	Mknodat(dirfd int, path string, mode uint32, dev int) (err error)
-+//sys	Nanosleep(time *Timespec, leftover *Timespec) (err error)
-+//sys   Open(path string, mode int, perm uint32) (fd int, err error) = open64
-+//sys   Openat(dirfd int, path string, flags int, mode uint32) (fd int, err error)
-+//sys	read(fd int, p []byte) (n int, err error)
-+//sys	Readlink(path string, buf []byte) (n int, err error)
-+//sys	Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error)
-+//sys	Setdomainname(p []byte) (err error)
-+//sys	Sethostname(p []byte) (err error)
-+//sysnb	Setpgid(pid int, pgid int) (err error)
-+//sysnb	Setsid() (pid int, err error)
-+//sysnb	Settimeofday(tv *Timeval) (err error)
-+
-+//sys	Setuid(uid int) (err error)
-+//sys	Setgid(uid int) (err error)
-+
-+//sys	Setpriority(which int, who int, prio int) (err error)
-+//sys	Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error)
-+//sys	Sync()
-+//sysnb	Times(tms *Tms) (ticks uintptr, err error)
-+//sysnb	Umask(mask int) (oldmask int)
-+//sysnb	Uname(buf *Utsname) (err error)
-+//sys   Unlink(path string) (err error)
-+//sys   Unlinkat(dirfd int, path string, flags int) (err error)
-+//sys	Ustat(dev int, ubuf *Ustat_t) (err error)
-+//sys	write(fd int, p []byte) (n int, err error)
-+//sys	readlen(fd int, p *byte, np int) (n int, err error) = read
-+//sys	writelen(fd int, p *byte, np int) (n int, err error) = write
-+
-+//sys	Dup2(oldfd int, newfd int) (err error)
-+//sys	Fadvise(fd int, offset int64, length int64, advice int) (err error) = posix_fadvise64
-+//sys	Fchown(fd int, uid int, gid int) (err error)
-+//sys	fstat(fd int, stat *Stat_t) (err error)
-+//sys	fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) = fstatat
-+//sys	Fstatfs(fd int, buf *Statfs_t) (err error)
-+//sys	Ftruncate(fd int, length int64) (err error)
-+//sysnb	Getegid() (egid int)
-+//sysnb	Geteuid() (euid int)
-+//sysnb	Getgid() (gid int)
-+//sysnb	Getuid() (uid int)
-+//sys	Lchown(path string, uid int, gid int) (err error)
-+//sys	Listen(s int, n int) (err error)
-+//sys	lstat(path string, stat *Stat_t) (err error)
-+//sys	Pause() (err error)
-+//sys	Pread(fd int, p []byte, offset int64) (n int, err error) = pread64
-+//sys	Pwrite(fd int, p []byte, offset int64) (n int, err error) = pwrite64
-+//sys	Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error)
-+//sys	Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error)
-+//sysnb	Setregid(rgid int, egid int) (err error)
-+//sysnb	Setreuid(ruid int, euid int) (err error)
-+//sys	Shutdown(fd int, how int) (err error)
-+//sys	Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error)
-+//sys	stat(path string, statptr *Stat_t) (err error)
-+//sys	Statfs(path string, buf *Statfs_t) (err error)
-+//sys	Truncate(path string, length int64) (err error)
-+
-+//sys	bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error)
-+//sys	connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error)
-+//sysnb	getgroups(n int, list *_Gid_t) (nn int, err error)
-+//sysnb	setgroups(n int, list *_Gid_t) (err error)
-+//sys	getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error)
-+//sys	setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error)
-+//sysnb	socket(domain int, typ int, proto int) (fd int, err error)
-+//sysnb	socketpair(domain int, typ int, proto int, fd *[2]int32) (err error)
-+//sysnb	getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error)
-+//sysnb	getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error)
-+//sys	recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error)
-+//sys	sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error)
-+
-+// In order to use msghdr structure with Control, Controllen, nrecvmsg and nsendmsg must be used.
-+//sys	recvmsg(s int, msg *Msghdr, flags int) (n int, err error) = nrecvmsg
-+//sys	sendmsg(s int, msg *Msghdr, flags int) (n int, err error) = nsendmsg
-+
-+//sys	munmap(addr uintptr, length uintptr) (err error)
-+
-+var mapper = &mmapper{
-+	active: make(map[*byte][]byte),
-+	mmap:   mmap,
-+	munmap: munmap,
-+}
-+
-+func Mmap(fd int, offset int64, length int, prot int, flags int) (data []byte, err error) {
-+	return mapper.Mmap(fd, offset, length, prot, flags)
-+}
-+
-+func Munmap(b []byte) (err error) {
-+	return mapper.Munmap(b)
-+}
-+
-+//sys	Madvise(b []byte, advice int) (err error)
-+//sys	Mprotect(b []byte, prot int) (err error)
-+//sys	Mlock(b []byte) (err error)
-+//sys	Mlockall(flags int) (err error)
-+//sys	Msync(b []byte, flags int) (err error)
-+//sys	Munlock(b []byte) (err error)
-+//sys	Munlockall() (err error)
-+
-+//sysnb pipe(p *[2]_C_int) (err error)
-+
-+func Pipe(p []int) (err error) {
-+	if len(p) != 2 {
-+		return EINVAL
-+	}
-+	var pp [2]_C_int
-+	err = pipe(&pp)
-+	p[0] = int(pp[0])
-+	p[1] = int(pp[1])
-+	return
-+}
-+
-+//sys	poll(fds *PollFd, nfds int, timeout int) (n int, err error)
-+
-+func Poll(fds []PollFd, timeout int) (n int, err error) {
-+	if len(fds) == 0 {
-+		return poll(nil, 0, timeout)
-+	}
-+	return poll(&fds[0], len(fds), timeout)
-+}
-+
-+//sys	gettimeofday(tv *Timeval, tzp *Timezone) (err error)
-+//sysnb	Time(t *Time_t) (tt Time_t, err error)
-+//sys	Utime(path string, buf *Utimbuf) (err error)
-+
-+//sys	Getsystemcfg(label int) (n uint64)
-+
-+//sys	umount(target string) (err error)
-+func Unmount(target string, flags int) (err error) {
-+	if flags != 0 {
-+		// AIX doesn't have any flags for umount.
-+		return ENOSYS
-+	}
-+	return umount(target)
-+}
-diff --git a/vendor/golang.org/x/sys/unix/syscall_aix_ppc.go b/vendor/golang.org/x/sys/unix/syscall_aix_ppc.go
-new file mode 100644
-index 00000000..b3c8e330
---- /dev/null
-+++ b/vendor/golang.org/x/sys/unix/syscall_aix_ppc.go
-@@ -0,0 +1,54 @@
-+// Copyright 2018 The Go Authors. All rights reserved.
-+// Use of this source code is governed by a BSD-style
-+// license that can be found in the LICENSE file.
-+
-+// +build aix
-+// +build ppc
-+
-+package unix
-+
-+//sysnb	Getrlimit(resource int, rlim *Rlimit) (err error) = getrlimit64
-+//sysnb	Setrlimit(resource int, rlim *Rlimit) (err error) = setrlimit64
-+//sys	Seek(fd int, offset int64, whence int) (off int64, err error) = lseek64
-+
-+//sys	mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error)
-+
-+func setTimespec(sec, nsec int64) Timespec {
-+	return Timespec{Sec: int32(sec), Nsec: int32(nsec)}
-+}
-+
-+func setTimeval(sec, usec int64) Timeval {
-+	return Timeval{Sec: int32(sec), Usec: int32(usec)}
-+}
-+
-+func (iov *Iovec) SetLen(length int) {
-+	iov.Len = uint32(length)
-+}
-+
-+func (msghdr *Msghdr) SetControllen(length int) {
-+	msghdr.Controllen = uint32(length)
-+}
-+
-+func (msghdr *Msghdr) SetIovlen(length int) {
-+	msghdr.Iovlen = int32(length)
-+}
-+
-+func (cmsg *Cmsghdr) SetLen(length int) {
-+	cmsg.Len = uint32(length)
-+}
-+
-+func Fstat(fd int, stat *Stat_t) error {
-+	return fstat(fd, stat)
-+}
-+
-+func Fstatat(dirfd int, path string, stat *Stat_t, flags int) error {
-+	return fstatat(dirfd, path, stat, flags)
-+}
-+
-+func Lstat(path string, stat *Stat_t) error {
-+	return lstat(path, stat)
-+}
-+
-+func Stat(path string, statptr *Stat_t) error {
-+	return stat(path, statptr)
-+}
-diff --git a/vendor/golang.org/x/sys/unix/syscall_aix_ppc64.go b/vendor/golang.org/x/sys/unix/syscall_aix_ppc64.go
-new file mode 100644
-index 00000000..9a6e0241
---- /dev/null
-+++ b/vendor/golang.org/x/sys/unix/syscall_aix_ppc64.go
-@@ -0,0 +1,85 @@
-+// Copyright 2018 The Go Authors. All rights reserved.
-+// Use of this source code is governed by a BSD-style
-+// license that can be found in the LICENSE file.
-+
-+// +build aix
-+// +build ppc64
-+
-+package unix
-+
-+//sysnb	Getrlimit(resource int, rlim *Rlimit) (err error)
-+//sysnb	Setrlimit(resource int, rlim *Rlimit) (err error)
-+//sys	Seek(fd int, offset int64, whence int) (off int64, err error) = lseek
-+
-+//sys	mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) = mmap64
-+
-+func setTimespec(sec, nsec int64) Timespec {
-+	return Timespec{Sec: sec, Nsec: nsec}
-+}
-+
-+func setTimeval(sec, usec int64) Timeval {
-+	return Timeval{Sec: int64(sec), Usec: int32(usec)}
-+}
-+
-+func (iov *Iovec) SetLen(length int) {
-+	iov.Len = uint64(length)
-+}
-+
-+func (msghdr *Msghdr) SetControllen(length int) {
-+	msghdr.Controllen = uint32(length)
-+}
-+
-+func (msghdr *Msghdr) SetIovlen(length int) {
-+	msghdr.Iovlen = int32(length)
-+}
-+
-+func (cmsg *Cmsghdr) SetLen(length int) {
-+	cmsg.Len = uint32(length)
-+}
-+
-+// In order to only have Timespec structure, type of Stat_t's fields
-+// Atim, Mtim and Ctim is changed from StTimespec to Timespec during
-+// ztypes generation.
-+// On ppc64, Timespec.Nsec is an int64 while StTimespec.Nsec is an
-+// int32, so the fields' value must be modified.
-+func fixStatTimFields(stat *Stat_t) {
-+	stat.Atim.Nsec >>= 32
-+	stat.Mtim.Nsec >>= 32
-+	stat.Ctim.Nsec >>= 32
-+}
-+
-+func Fstat(fd int, stat *Stat_t) error {
-+	err := fstat(fd, stat)
-+	if err != nil {
-+		return err
-+	}
-+	fixStatTimFields(stat)
-+	return nil
-+}
-+
-+func Fstatat(dirfd int, path string, stat *Stat_t, flags int) error {
-+	err := fstatat(dirfd, path, stat, flags)
-+	if err != nil {
-+		return err
-+	}
-+	fixStatTimFields(stat)
-+	return nil
-+}
-+
-+func Lstat(path string, stat *Stat_t) error {
-+	err := lstat(path, stat)
-+	if err != nil {
-+		return err
-+	}
-+	fixStatTimFields(stat)
-+	return nil
-+}
-+
-+func Stat(path string, statptr *Stat_t) error {
-+	err := stat(path, statptr)
-+	if err != nil {
-+		return err
-+	}
-+	fixStatTimFields(statptr)
-+	return nil
-+}
-diff --git a/vendor/golang.org/x/sys/unix/syscall_bsd.go b/vendor/golang.org/x/sys/unix/syscall_bsd.go
-index c2846b32..68605db6 100644
---- a/vendor/golang.org/x/sys/unix/syscall_bsd.go
-+++ b/vendor/golang.org/x/sys/unix/syscall_bsd.go
-@@ -34,7 +34,7 @@ func Getgroups() (gids []int, err error) {
- 		return nil, nil
- 	}
- 
--	// Sanity check group count.  Max is 16 on BSD.
-+	// Sanity check group count. Max is 16 on BSD.
- 	if n < 0 || n > 1000 {
- 		return nil, EINVAL
- 	}
-@@ -63,15 +63,6 @@ func Setgroups(gids []int) (err error) {
- 	return setgroups(len(a), &a[0])
- }
- 
--func ReadDirent(fd int, buf []byte) (n int, err error) {
--	// Final argument is (basep *uintptr) and the syscall doesn't take nil.
--	// 64 bits should be enough. (32 bits isn't even on 386). Since the
--	// actual system call is getdirentries64, 64 is a good guess.
--	// TODO(rsc): Can we use a single global basep for all calls?
--	var base = (*uintptr)(unsafe.Pointer(new(uint64)))
--	return Getdirentries(fd, buf, base)
--}
--
- // Wait status is 7 bits at bottom, either 0 (exited),
- // 0x7F (stopped), or a signal number that caused an exit.
- // The 0x80 bit is whether there was a core dump.
-@@ -86,6 +77,7 @@ const (
- 	shift = 8
- 
- 	exited  = 0
-+	killed  = 9
- 	stopped = 0x7F
- )
- 
-@@ -112,6 +104,8 @@ func (w WaitStatus) CoreDump() bool { return w.Signaled() && w&core != 0 }
- 
- func (w WaitStatus) Stopped() bool { return w&mask == stopped && syscall.Signal(w>>shift) != SIGSTOP }
- 
-+func (w WaitStatus) Killed() bool { return w&mask == killed && syscall.Signal(w>>shift) != SIGKILL }
-+
- func (w WaitStatus) Continued() bool { return w&mask == stopped && syscall.Signal(w>>shift) == SIGSTOP }
- 
- func (w WaitStatus) StopSignal() syscall.Signal {
-@@ -206,7 +200,7 @@ func (sa *SockaddrDatalink) sockaddr() (unsafe.Pointer, _Socklen, error) {
- 	return unsafe.Pointer(&sa.raw), SizeofSockaddrDatalink, nil
- }
- 
--func anyToSockaddr(rsa *RawSockaddrAny) (Sockaddr, error) {
-+func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) {
- 	switch rsa.Addr.Family {
- 	case AF_LINK:
- 		pp := (*RawSockaddrDatalink)(unsafe.Pointer(rsa))
-@@ -243,7 +237,7 @@ func anyToSockaddr(rsa *RawSockaddrAny) (Sockaddr, error) {
- 				break
- 			}
- 		}
--		bytes := (*[10000]byte)(unsafe.Pointer(&pp.Path[0]))[0:n]
-+		bytes := (*[len(pp.Path)]byte)(unsafe.Pointer(&pp.Path[0]))[0:n]
- 		sa.Name = string(bytes)
- 		return sa, nil
- 
-@@ -286,7 +280,7 @@ func Accept(fd int) (nfd int, sa Sockaddr, err error) {
- 		Close(nfd)
- 		return 0, nil, ECONNABORTED
- 	}
--	sa, err = anyToSockaddr(&rsa)
-+	sa, err = anyToSockaddr(fd, &rsa)
- 	if err != nil {
- 		Close(nfd)
- 		nfd = 0
-@@ -306,50 +300,21 @@ func Getsockname(fd int) (sa Sockaddr, err error) {
- 		rsa.Addr.Family = AF_UNIX
- 		rsa.Addr.Len = SizeofSockaddrUnix
- 	}
--	return anyToSockaddr(&rsa)
-+	return anyToSockaddr(fd, &rsa)
- }
- 
- //sysnb socketpair(domain int, typ int, proto int, fd *[2]int32) (err error)
- 
--func GetsockoptByte(fd, level, opt int) (value byte, err error) {
--	var n byte
--	vallen := _Socklen(1)
--	err = getsockopt(fd, level, opt, unsafe.Pointer(&n), &vallen)
--	return n, err
--}
--
--func GetsockoptInet4Addr(fd, level, opt int) (value [4]byte, err error) {
--	vallen := _Socklen(4)
--	err = getsockopt(fd, level, opt, unsafe.Pointer(&value[0]), &vallen)
--	return value, err
--}
--
--func GetsockoptIPMreq(fd, level, opt int) (*IPMreq, error) {
--	var value IPMreq
--	vallen := _Socklen(SizeofIPMreq)
--	err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen)
--	return &value, err
--}
--
--func GetsockoptIPv6Mreq(fd, level, opt int) (*IPv6Mreq, error) {
--	var value IPv6Mreq
--	vallen := _Socklen(SizeofIPv6Mreq)
--	err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen)
--	return &value, err
--}
--
--func GetsockoptIPv6MTUInfo(fd, level, opt int) (*IPv6MTUInfo, error) {
--	var value IPv6MTUInfo
--	vallen := _Socklen(SizeofIPv6MTUInfo)
--	err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen)
--	return &value, err
--}
--
--func GetsockoptICMPv6Filter(fd, level, opt int) (*ICMPv6Filter, error) {
--	var value ICMPv6Filter
--	vallen := _Socklen(SizeofICMPv6Filter)
--	err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen)
--	return &value, err
-+// GetsockoptString returns the string value of the socket option opt for the
-+// socket associated with fd at the given socket level.
-+func GetsockoptString(fd, level, opt int) (string, error) {
-+	buf := make([]byte, 256)
-+	vallen := _Socklen(len(buf))
-+	err := getsockopt(fd, level, opt, unsafe.Pointer(&buf[0]), &vallen)
-+	if err != nil {
-+		return "", err
-+	}
-+	return string(buf[:vallen-1]), nil
- }
- 
- //sys   recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error)
-@@ -385,7 +350,7 @@ func Recvmsg(fd int, p, oob []byte, flags int) (n, oobn int, recvflags int, from
- 	recvflags = int(msg.Flags)
- 	// source address is only specified if the socket is unconnected
- 	if rsa.Addr.Family != AF_UNSPEC {
--		from, err = anyToSockaddr(&rsa)
-+		from, err = anyToSockaddr(fd, &rsa)
- 	}
- 	return
- }
-@@ -448,8 +413,6 @@ func Kevent(kq int, changes, events []Kevent_t, timeout *Timespec) (n int, err e
- 	return kevent(kq, change, len(changes), event, len(events), timeout)
- }
- 
--//sys	sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) = SYS___SYSCTL
--
- // sysctlmib translates name to mib number and appends any additional args.
- func sysctlmib(name string, args ...int) ([]_C_int, error) {
- 	// Translate name to mib number.
-@@ -547,6 +510,23 @@ func SysctlRaw(name string, args ...int) ([]byte, error) {
- 	return buf[:n], nil
- }
- 
-+func SysctlClockinfo(name string) (*Clockinfo, error) {
-+	mib, err := sysctlmib(name)
-+	if err != nil {
-+		return nil, err
-+	}
-+
-+	n := uintptr(SizeofClockinfo)
-+	var ci Clockinfo
-+	if err := sysctl(mib, (*byte)(unsafe.Pointer(&ci)), &n, nil, 0); err != nil {
-+		return nil, err
-+	}
-+	if n != SizeofClockinfo {
-+		return nil, EIO
-+	}
-+	return &ci, nil
-+}
-+
- //sys	utimes(path string, timeval *[2]Timeval) (err error)
- 
- func Utimes(path string, tv []Timeval) error {
-@@ -570,7 +550,12 @@ func UtimesNano(path string, ts []Timespec) error {
- 	if len(ts) != 2 {
- 		return EINVAL
- 	}
--	err := utimensat(AT_FDCWD, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0)
-+	// Darwin setattrlist can set nanosecond timestamps
-+	err := setattrlistTimes(path, ts, 0)
-+	if err != ENOSYS {
-+		return err
-+	}
-+	err = utimensat(AT_FDCWD, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0)
- 	if err != ENOSYS {
- 		return err
- 	}
-@@ -590,6 +575,10 @@ func UtimesNanoAt(dirfd int, path string, ts []Timespec, flags int) error {
- 	if len(ts) != 2 {
- 		return EINVAL
- 	}
-+	err := setattrlistTimes(path, ts, flags)
-+	if err != ENOSYS {
-+		return err
-+	}
- 	return utimensat(dirfd, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), flags)
- }
- 
-@@ -605,7 +594,14 @@ func Futimes(fd int, tv []Timeval) error {
- 	return futimes(fd, (*[2]Timeval)(unsafe.Pointer(&tv[0])))
- }
- 
--//sys	fcntl(fd int, cmd int, arg int) (val int, err error)
-+//sys   poll(fds *PollFd, nfds int, timeout int) (n int, err error)
-+
-+func Poll(fds []PollFd, timeout int) (n int, err error) {
-+	if len(fds) == 0 {
-+		return poll(nil, 0, timeout)
-+	}
-+	return poll(&fds[0], len(fds), timeout)
-+}
- 
- // TODO: wrap
- //	Acct(name nil-string) (err error)
-diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin.1_12.go b/vendor/golang.org/x/sys/unix/syscall_darwin.1_12.go
-new file mode 100644
-index 00000000..6a15cba6
---- /dev/null
-+++ b/vendor/golang.org/x/sys/unix/syscall_darwin.1_12.go
-@@ -0,0 +1,29 @@
-+// Copyright 2019 The Go Authors. All rights reserved.
-+// Use of this source code is governed by a BSD-style
-+// license that can be found in the LICENSE file.
-+
-+// +build darwin,go1.12,!go1.13
-+
-+package unix
-+
-+import (
-+	"unsafe"
-+)
-+
-+func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {
-+	// To implement this using libSystem we'd need syscall_syscallPtr for
-+	// fdopendir. However, syscallPtr was only added in Go 1.13, so we fall
-+	// back to raw syscalls for this func on Go 1.12.
-+	var p unsafe.Pointer
-+	if len(buf) > 0 {
-+		p = unsafe.Pointer(&buf[0])
-+	} else {
-+		p = unsafe.Pointer(&_zero)
-+	}
-+	r0, _, e1 := Syscall6(SYS_GETDIRENTRIES64, uintptr(fd), uintptr(p), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0)
-+	n = int(r0)
-+	if e1 != 0 {
-+		return n, errnoErr(e1)
-+	}
-+	return n, nil
-+}
-diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin.1_13.go b/vendor/golang.org/x/sys/unix/syscall_darwin.1_13.go
-new file mode 100644
-index 00000000..f911617b
---- /dev/null
-+++ b/vendor/golang.org/x/sys/unix/syscall_darwin.1_13.go
-@@ -0,0 +1,101 @@
-+// Copyright 2019 The Go Authors. All rights reserved.
-+// Use of this source code is governed by a BSD-style
-+// license that can be found in the LICENSE file.
-+
-+// +build darwin,go1.13
-+
-+package unix
-+
-+import "unsafe"
-+
-+//sys	closedir(dir uintptr) (err error)
-+//sys	readdir_r(dir uintptr, entry *Dirent, result **Dirent) (res Errno)
-+
-+func fdopendir(fd int) (dir uintptr, err error) {
-+	r0, _, e1 := syscall_syscallPtr(funcPC(libc_fdopendir_trampoline), uintptr(fd), 0, 0)
-+	dir = uintptr(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+func libc_fdopendir_trampoline()
-+
-+//go:linkname libc_fdopendir libc_fdopendir
-+//go:cgo_import_dynamic libc_fdopendir fdopendir "/usr/lib/libSystem.B.dylib"
-+
-+func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {
-+	// Simulate Getdirentries using fdopendir/readdir_r/closedir.
-+	// We store the number of entries to skip in the seek
-+	// offset of fd. See issue #31368.
-+	// It's not the full required semantics, but should handle the case
-+	// of calling Getdirentries or ReadDirent repeatedly.
-+	// It won't handle assigning the results of lseek to *basep, or handle
-+	// the directory being edited underfoot.
-+	skip, err := Seek(fd, 0, 1 /* SEEK_CUR */)
-+	if err != nil {
-+		return 0, err
-+	}
-+
-+	// We need to duplicate the incoming file descriptor
-+	// because the caller expects to retain control of it, but
-+	// fdopendir expects to take control of its argument.
-+	// Just Dup'ing the file descriptor is not enough, as the
-+	// result shares underlying state. Use Openat to make a really
-+	// new file descriptor referring to the same directory.
-+	fd2, err := Openat(fd, ".", O_RDONLY, 0)
-+	if err != nil {
-+		return 0, err
-+	}
-+	d, err := fdopendir(fd2)
-+	if err != nil {
-+		Close(fd2)
-+		return 0, err
-+	}
-+	defer closedir(d)
-+
-+	var cnt int64
-+	for {
-+		var entry Dirent
-+		var entryp *Dirent
-+		e := readdir_r(d, &entry, &entryp)
-+		if e != 0 {
-+			return n, errnoErr(e)
-+		}
-+		if entryp == nil {
-+			break
-+		}
-+		if skip > 0 {
-+			skip--
-+			cnt++
-+			continue
-+		}
-+		reclen := int(entry.Reclen)
-+		if reclen > len(buf) {
-+			// Not enough room. Return for now.
-+			// The counter will let us know where we should start up again.
-+			// Note: this strategy for suspending in the middle and
-+			// restarting is O(n^2) in the length of the directory. Oh well.
-+			break
-+		}
-+		// Copy entry into return buffer.
-+		s := struct {
-+			ptr unsafe.Pointer
-+			siz int
-+			cap int
-+		}{ptr: unsafe.Pointer(&entry), siz: reclen, cap: reclen}
-+		copy(buf, *(*[]byte)(unsafe.Pointer(&s)))
-+		buf = buf[reclen:]
-+		n += reclen
-+		cnt++
-+	}
-+	// Set the seek offset of the input fd to record
-+	// how many files we've already returned.
-+	_, err = Seek(fd, cnt, 0 /* SEEK_SET */)
-+	if err != nil {
-+		return n, err
-+	}
-+
-+	return n, nil
-+}
-diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin.go b/vendor/golang.org/x/sys/unix/syscall_darwin.go
-index ad74a11f..9a5a6ee5 100644
---- a/vendor/golang.org/x/sys/unix/syscall_darwin.go
-+++ b/vendor/golang.org/x/sys/unix/syscall_darwin.go
-@@ -13,7 +13,7 @@
- package unix
- 
- import (
--	errorspkg "errors"
-+	"errors"
- 	"syscall"
- 	"unsafe"
- )
-@@ -36,6 +36,7 @@ func Getwd() (string, error) {
- 	return "", ENOTSUP
- }
- 
-+// SockaddrDatalink implements the Sockaddr interface for AF_LINK type sockets.
- type SockaddrDatalink struct {
- 	Len    uint8
- 	Family uint8
-@@ -54,7 +55,7 @@ func nametomib(name string) (mib []_C_int, err error) {
- 
- 	// NOTE(rsc): It seems strange to set the buffer to have
- 	// size CTL_MAXNAME+2 but use only CTL_MAXNAME
--	// as the size.  I don't know why the +2 is here, but the
-+	// as the size. I don't know why the +2 is here, but the
- 	// kernel uses +2 for its own implementation of this function.
- 	// I am scared that if we don't include the +2 here, the kernel
- 	// will silently write 2 words farther than we specify
-@@ -88,7 +89,6 @@ func direntNamlen(buf []byte) (uint64, bool) {
- 	return readInt(buf, unsafe.Offsetof(Dirent{}.Namlen), unsafe.Sizeof(Dirent{}.Namlen))
- }
- 
--//sys   ptrace(request int, pid int, addr uintptr, data uintptr) (err error)
- func PtraceAttach(pid int) (err error) { return ptrace(PT_ATTACH, pid, 0, 0) }
- func PtraceDetach(pid int) (err error) { return ptrace(PT_DETACH, pid, 0, 0) }
- 
-@@ -109,7 +109,7 @@ type attrList struct {
- 
- func getAttrList(path string, attrList attrList, attrBuf []byte, options uint) (attrs [][]byte, err error) {
- 	if len(attrBuf) < 4 {
--		return nil, errorspkg.New("attrBuf too small")
-+		return nil, errors.New("attrBuf too small")
- 	}
- 	attrList.bitmapCount = attrBitMapCount
- 
-@@ -119,17 +119,8 @@ func getAttrList(path string, attrList attrList, attrBuf []byte, options uint) (
- 		return nil, err
- 	}
- 
--	_, _, e1 := Syscall6(
--		SYS_GETATTRLIST,
--		uintptr(unsafe.Pointer(_p0)),
--		uintptr(unsafe.Pointer(&attrList)),
--		uintptr(unsafe.Pointer(&attrBuf[0])),
--		uintptr(len(attrBuf)),
--		uintptr(options),
--		0,
--	)
--	if e1 != 0 {
--		return nil, e1
-+	if err := getattrlist(_p0, unsafe.Pointer(&attrList), unsafe.Pointer(&attrBuf[0]), uintptr(len(attrBuf)), int(options)); err != nil {
-+		return nil, err
- 	}
- 	size := *(*uint32)(unsafe.Pointer(&attrBuf[0]))
- 
-@@ -145,12 +136,12 @@ func getAttrList(path string, attrList attrList, attrBuf []byte, options uint) (
- 	for i := uint32(0); int(i) < len(dat); {
- 		header := dat[i:]
- 		if len(header) < 8 {
--			return attrs, errorspkg.New("truncated attribute header")
-+			return attrs, errors.New("truncated attribute header")
- 		}
- 		datOff := *(*int32)(unsafe.Pointer(&header[0]))
- 		attrLen := *(*uint32)(unsafe.Pointer(&header[4]))
- 		if datOff < 0 || uint32(datOff)+attrLen > uint32(len(dat)) {
--			return attrs, errorspkg.New("truncated results; attrBuf too small")
-+			return attrs, errors.New("truncated results; attrBuf too small")
- 		}
- 		end := uint32(datOff) + attrLen
- 		attrs = append(attrs, dat[datOff:end])
-@@ -162,6 +153,8 @@ func getAttrList(path string, attrList attrList, attrBuf []byte, options uint) (
- 	return
- }
- 
-+//sys getattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error)
-+
- //sysnb pipe() (r int, w int, err error)
- 
- func Pipe(p []int) (err error) {
-@@ -179,14 +172,141 @@ func Getfsstat(buf []Statfs_t, flags int) (n int, err error) {
- 		_p0 = unsafe.Pointer(&buf[0])
- 		bufsize = unsafe.Sizeof(Statfs_t{}) * uintptr(len(buf))
- 	}
--	r0, _, e1 := Syscall(SYS_GETFSSTAT64, uintptr(_p0), bufsize, uintptr(flags))
--	n = int(r0)
--	if e1 != 0 {
--		err = e1
-+	return getfsstat(_p0, bufsize, flags)
-+}
-+
-+func xattrPointer(dest []byte) *byte {
-+	// It's only when dest is set to NULL that the OS X implementations of
-+	// getxattr() and listxattr() return the current sizes of the named attributes.
-+	// An empty byte array is not sufficient. To maintain the same behaviour as the
-+	// linux implementation, we wrap around the system calls and pass in NULL when
-+	// dest is empty.
-+	var destp *byte
-+	if len(dest) > 0 {
-+		destp = &dest[0]
- 	}
--	return
-+	return destp
-+}
-+
-+//sys	getxattr(path string, attr string, dest *byte, size int, position uint32, options int) (sz int, err error)
-+
-+func Getxattr(path string, attr string, dest []byte) (sz int, err error) {
-+	return getxattr(path, attr, xattrPointer(dest), len(dest), 0, 0)
-+}
-+
-+func Lgetxattr(link string, attr string, dest []byte) (sz int, err error) {
-+	return getxattr(link, attr, xattrPointer(dest), len(dest), 0, XATTR_NOFOLLOW)
-+}
-+
-+//sys	fgetxattr(fd int, attr string, dest *byte, size int, position uint32, options int) (sz int, err error)
-+
-+func Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) {
-+	return fgetxattr(fd, attr, xattrPointer(dest), len(dest), 0, 0)
-+}
-+
-+//sys	setxattr(path string, attr string, data *byte, size int, position uint32, options int) (err error)
-+
-+func Setxattr(path string, attr string, data []byte, flags int) (err error) {
-+	// The parameters for the OS X implementation vary slightly compared to the
-+	// linux system call, specifically the position parameter:
-+	//
-+	//  linux:
-+	//      int setxattr(
-+	//          const char *path,
-+	//          const char *name,
-+	//          const void *value,
-+	//          size_t size,
-+	//          int flags
-+	//      );
-+	//
-+	//  darwin:
-+	//      int setxattr(
-+	//          const char *path,
-+	//          const char *name,
-+	//          void *value,
-+	//          size_t size,
-+	//          u_int32_t position,
-+	//          int options
-+	//      );
-+	//
-+	// position specifies the offset within the extended attribute. In the
-+	// current implementation, only the resource fork extended attribute makes
-+	// use of this argument. For all others, position is reserved. We simply
-+	// default to setting it to zero.
-+	return setxattr(path, attr, xattrPointer(data), len(data), 0, flags)
-+}
-+
-+func Lsetxattr(link string, attr string, data []byte, flags int) (err error) {
-+	return setxattr(link, attr, xattrPointer(data), len(data), 0, flags|XATTR_NOFOLLOW)
-+}
-+
-+//sys	fsetxattr(fd int, attr string, data *byte, size int, position uint32, options int) (err error)
-+
-+func Fsetxattr(fd int, attr string, data []byte, flags int) (err error) {
-+	return fsetxattr(fd, attr, xattrPointer(data), len(data), 0, 0)
-+}
-+
-+//sys	removexattr(path string, attr string, options int) (err error)
-+
-+func Removexattr(path string, attr string) (err error) {
-+	// We wrap around and explicitly zero out the options provided to the OS X
-+	// implementation of removexattr, we do so for interoperability with the
-+	// linux variant.
-+	return removexattr(path, attr, 0)
-+}
-+
-+func Lremovexattr(link string, attr string) (err error) {
-+	return removexattr(link, attr, XATTR_NOFOLLOW)
-+}
-+
-+//sys	fremovexattr(fd int, attr string, options int) (err error)
-+
-+func Fremovexattr(fd int, attr string) (err error) {
-+	return fremovexattr(fd, attr, 0)
-+}
-+
-+//sys	listxattr(path string, dest *byte, size int, options int) (sz int, err error)
-+
-+func Listxattr(path string, dest []byte) (sz int, err error) {
-+	return listxattr(path, xattrPointer(dest), len(dest), 0)
- }
- 
-+func Llistxattr(link string, dest []byte) (sz int, err error) {
-+	return listxattr(link, xattrPointer(dest), len(dest), XATTR_NOFOLLOW)
-+}
-+
-+//sys	flistxattr(fd int, dest *byte, size int, options int) (sz int, err error)
-+
-+func Flistxattr(fd int, dest []byte) (sz int, err error) {
-+	return flistxattr(fd, xattrPointer(dest), len(dest), 0)
-+}
-+
-+func setattrlistTimes(path string, times []Timespec, flags int) error {
-+	_p0, err := BytePtrFromString(path)
-+	if err != nil {
-+		return err
-+	}
-+
-+	var attrList attrList
-+	attrList.bitmapCount = ATTR_BIT_MAP_COUNT
-+	attrList.CommonAttr = ATTR_CMN_MODTIME | ATTR_CMN_ACCTIME
-+
-+	// order is mtime, atime: the opposite of Chtimes
-+	attributes := [2]Timespec{times[1], times[0]}
-+	options := 0
-+	if flags&AT_SYMLINK_NOFOLLOW != 0 {
-+		options |= FSOPT_NOFOLLOW
-+	}
-+	return setattrlist(
-+		_p0,
-+		unsafe.Pointer(&attrList),
-+		unsafe.Pointer(&attributes),
-+		unsafe.Sizeof(attributes),
-+		options)
-+}
-+
-+//sys setattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error)
-+
- func utimensat(dirfd int, path string, times *[2]Timespec, flags int) error {
- 	// Darwin doesn't support SYS_UTIMENSAT
- 	return ENOSYS
-@@ -196,49 +316,74 @@ func utimensat(dirfd int, path string, times *[2]Timespec, flags int) error {
-  * Wrapped
-  */
- 
-+//sys	fcntl(fd int, cmd int, arg int) (val int, err error)
-+
- //sys	kill(pid int, signum int, posix int) (err error)
- 
- func Kill(pid int, signum syscall.Signal) (err error) { return kill(pid, int(signum), 1) }
- 
- //sys	ioctl(fd int, req uint, arg uintptr) (err error)
- 
--// ioctl itself should not be exposed directly, but additional get/set
--// functions for specific types are permissible.
-+//sys   sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) = SYS_SYSCTL
- 
--// IoctlSetInt performs an ioctl operation which sets an integer value
--// on fd, using the specified request number.
--func IoctlSetInt(fd int, req uint, value int) error {
--	return ioctl(fd, req, uintptr(value))
--}
-+func Uname(uname *Utsname) error {
-+	mib := []_C_int{CTL_KERN, KERN_OSTYPE}
-+	n := unsafe.Sizeof(uname.Sysname)
-+	if err := sysctl(mib, &uname.Sysname[0], &n, nil, 0); err != nil {
-+		return err
-+	}
- 
--func IoctlSetWinsize(fd int, req uint, value *Winsize) error {
--	return ioctl(fd, req, uintptr(unsafe.Pointer(value)))
--}
-+	mib = []_C_int{CTL_KERN, KERN_HOSTNAME}
-+	n = unsafe.Sizeof(uname.Nodename)
-+	if err := sysctl(mib, &uname.Nodename[0], &n, nil, 0); err != nil {
-+		return err
-+	}
- 
--func IoctlSetTermios(fd int, req uint, value *Termios) error {
--	return ioctl(fd, req, uintptr(unsafe.Pointer(value)))
--}
-+	mib = []_C_int{CTL_KERN, KERN_OSRELEASE}
-+	n = unsafe.Sizeof(uname.Release)
-+	if err := sysctl(mib, &uname.Release[0], &n, nil, 0); err != nil {
-+		return err
-+	}
- 
--// IoctlGetInt performs an ioctl operation which gets an integer value
--// from fd, using the specified request number.
--func IoctlGetInt(fd int, req uint) (int, error) {
--	var value int
--	err := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))
--	return value, err
--}
-+	mib = []_C_int{CTL_KERN, KERN_VERSION}
-+	n = unsafe.Sizeof(uname.Version)
-+	if err := sysctl(mib, &uname.Version[0], &n, nil, 0); err != nil {
-+		return err
-+	}
- 
--func IoctlGetWinsize(fd int, req uint) (*Winsize, error) {
--	var value Winsize
--	err := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))
--	return &value, err
-+	// The version might have newlines or tabs in it, convert them to
-+	// spaces.
-+	for i, b := range uname.Version {
-+		if b == '\n' || b == '\t' {
-+			if i == len(uname.Version)-1 {
-+				uname.Version[i] = 0
-+			} else {
-+				uname.Version[i] = ' '
-+			}
-+		}
-+	}
-+
-+	mib = []_C_int{CTL_HW, HW_MACHINE}
-+	n = unsafe.Sizeof(uname.Machine)
-+	if err := sysctl(mib, &uname.Machine[0], &n, nil, 0); err != nil {
-+		return err
-+	}
-+
-+	return nil
- }
- 
--func IoctlGetTermios(fd int, req uint) (*Termios, error) {
--	var value Termios
--	err := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))
--	return &value, err
-+func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {
-+	if raceenabled {
-+		raceReleaseMerge(unsafe.Pointer(&ioSync))
-+	}
-+	var length = int64(count)
-+	err = sendfile(infd, outfd, *offset, &length, nil, 0)
-+	written = int(length)
-+	return
- }
- 
-+//sys	sendfile(infd int, outfd int, offset int64, len *int64, hdtr unsafe.Pointer, flags int) (err error)
-+
- /*
-  * Exposed directly
-  */
-@@ -249,6 +394,7 @@ func IoctlGetTermios(fd int, req uint) (*Termios, error) {
- //sys	Chmod(path string, mode uint32) (err error)
- //sys	Chown(path string, uid int, gid int) (err error)
- //sys	Chroot(path string) (err error)
-+//sys	ClockGettime(clockid int32, time *Timespec) (err error)
- //sys	Close(fd int) (err error)
- //sys	Dup(fd int) (nfd int, err error)
- //sys	Dup2(from int, to int) (err error)
-@@ -263,11 +409,8 @@ func IoctlGetTermios(fd int, req uint) (*Termios, error) {
- //sys	Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error)
- //sys	Flock(fd int, how int) (err error)
- //sys	Fpathconf(fd int, name int) (val int, err error)
--//sys	Fstat(fd int, stat *Stat_t) (err error) = SYS_FSTAT64
--//sys	Fstatfs(fd int, stat *Statfs_t) (err error) = SYS_FSTATFS64
- //sys	Fsync(fd int) (err error)
- //sys	Ftruncate(fd int, length int64) (err error)
--//sys	Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) = SYS_GETDIRENTRIES64
- //sys	Getdtablesize() (size int)
- //sysnb	Getegid() (egid int)
- //sysnb	Geteuid() (uid int)
-@@ -287,7 +430,6 @@ func IoctlGetTermios(fd int, req uint) (*Termios, error) {
- //sys	Link(path string, link string) (err error)
- //sys	Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error)
- //sys	Listen(s int, backlog int) (err error)
--//sys	Lstat(path string, stat *Stat_t) (err error) = SYS_LSTAT64
- //sys	Mkdir(path string, mode uint32) (err error)
- //sys	Mkdirat(dirfd int, path string, mode uint32) (err error)
- //sys	Mkfifo(path string, mode uint32) (err error)
-@@ -305,7 +447,7 @@ func IoctlGetTermios(fd int, req uint) (*Termios, error) {
- //sys	Revoke(path string) (err error)
- //sys	Rmdir(path string) (err error)
- //sys	Seek(fd int, offset int64, whence int) (newoffset int64, err error) = SYS_LSEEK
--//sys	Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error)
-+//sys	Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error)
- //sys	Setegid(egid int) (err error)
- //sysnb	Seteuid(euid int) (err error)
- //sysnb	Setgid(gid int) (err error)
-@@ -319,8 +461,6 @@ func IoctlGetTermios(fd int, req uint) (*Termios, error) {
- //sysnb	Setsid() (pid int, err error)
- //sysnb	Settimeofday(tp *Timeval) (err error)
- //sysnb	Setuid(uid int) (err error)
--//sys	Stat(path string, stat *Stat_t) (err error) = SYS_STAT64
--//sys	Statfs(path string, stat *Statfs_t) (err error) = SYS_STATFS64
- //sys	Symlink(path string, link string) (err error)
- //sys	Symlinkat(oldpath string, newdirfd int, newpath string) (err error)
- //sys	Sync() (err error)
-@@ -377,18 +517,9 @@ func IoctlGetTermios(fd int, req uint) (*Termios, error) {
- // Searchfs
- // Delete
- // Copyfile
--// Poll
- // Watchevent
- // Waitevent
- // Modwatch
--// Getxattr
--// Fgetxattr
--// Setxattr
--// Fsetxattr
--// Removexattr
--// Fremovexattr
--// Listxattr
--// Flistxattr
- // Fsctl
- // Initgroups
- // Posix_spawn
-diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin_386.1_11.go b/vendor/golang.org/x/sys/unix/syscall_darwin_386.1_11.go
-new file mode 100644
-index 00000000..6b223f91
---- /dev/null
-+++ b/vendor/golang.org/x/sys/unix/syscall_darwin_386.1_11.go
-@@ -0,0 +1,9 @@
-+// Copyright 2019 The Go Authors. All rights reserved.
-+// Use of this source code is governed by a BSD-style
-+// license that can be found in the LICENSE file.
-+
-+// +build darwin,386,!go1.12
-+
-+package unix
-+
-+//sys  Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) = SYS_GETDIRENTRIES64
-diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin_386.go b/vendor/golang.org/x/sys/unix/syscall_darwin_386.go
-index c172a3da..707ba4f5 100644
---- a/vendor/golang.org/x/sys/unix/syscall_darwin_386.go
-+++ b/vendor/golang.org/x/sys/unix/syscall_darwin_386.go
-@@ -8,30 +8,22 @@ package unix
- 
- import (
- 	"syscall"
--	"unsafe"
- )
- 
--func Getpagesize() int { return 4096 }
-+//sys   ptrace(request int, pid int, addr uintptr, data uintptr) (err error)
- 
--func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) }
--
--func NsecToTimespec(nsec int64) (ts Timespec) {
--	ts.Sec = int32(nsec / 1e9)
--	ts.Nsec = int32(nsec % 1e9)
--	return
-+func setTimespec(sec, nsec int64) Timespec {
-+	return Timespec{Sec: int32(sec), Nsec: int32(nsec)}
- }
- 
--func NsecToTimeval(nsec int64) (tv Timeval) {
--	nsec += 999 // round up to microsecond
--	tv.Usec = int32(nsec % 1e9 / 1e3)
--	tv.Sec = int32(nsec / 1e9)
--	return
-+func setTimeval(sec, usec int64) Timeval {
-+	return Timeval{Sec: int32(sec), Usec: int32(usec)}
- }
- 
- //sysnb	gettimeofday(tp *Timeval) (sec int32, usec int32, err error)
- func Gettimeofday(tv *Timeval) (err error) {
- 	// The tv passed to gettimeofday must be non-nil
--	// but is otherwise unused.  The answers come back
-+	// but is otherwise unused. The answers come back
- 	// in the two registers.
- 	sec, usec, err := gettimeofday(tv)
- 	tv.Sec = int32(sec)
-@@ -53,21 +45,12 @@ func (msghdr *Msghdr) SetControllen(length int) {
- 	msghdr.Controllen = uint32(length)
- }
- 
--func (cmsg *Cmsghdr) SetLen(length int) {
--	cmsg.Len = uint32(length)
-+func (msghdr *Msghdr) SetIovlen(length int) {
-+	msghdr.Iovlen = int32(length)
- }
- 
--func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {
--	var length = uint64(count)
--
--	_, _, e1 := Syscall9(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(*offset), uintptr(*offset>>32), uintptr(unsafe.Pointer(&length)), 0, 0, 0, 0)
--
--	written = int(length)
--
--	if e1 != 0 {
--		err = e1
--	}
--	return
-+func (cmsg *Cmsghdr) SetLen(length int) {
-+	cmsg.Len = uint32(length)
- }
- 
- func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno)
-@@ -75,3 +58,11 @@ func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr,
- // SYS___SYSCTL is used by syscall_bsd.go for all BSDs, but in modern versions
- // of darwin/386 the syscall is called sysctl instead of __sysctl.
- const SYS___SYSCTL = SYS_SYSCTL
-+
-+//sys	Fstat(fd int, stat *Stat_t) (err error) = SYS_FSTAT64
-+//sys	Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) = SYS_FSTATAT64
-+//sys	Fstatfs(fd int, stat *Statfs_t) (err error) = SYS_FSTATFS64
-+//sys	getfsstat(buf unsafe.Pointer, size uintptr, flags int) (n int, err error) = SYS_GETFSSTAT64
-+//sys	Lstat(path string, stat *Stat_t) (err error) = SYS_LSTAT64
-+//sys	Stat(path string, stat *Stat_t) (err error) = SYS_STAT64
-+//sys	Statfs(path string, stat *Statfs_t) (err error) = SYS_STATFS64
-diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin_amd64.1_11.go b/vendor/golang.org/x/sys/unix/syscall_darwin_amd64.1_11.go
-new file mode 100644
-index 00000000..68ebd6fa
---- /dev/null
-+++ b/vendor/golang.org/x/sys/unix/syscall_darwin_amd64.1_11.go
-@@ -0,0 +1,9 @@
-+// Copyright 2019 The Go Authors. All rights reserved.
-+// Use of this source code is governed by a BSD-style
-+// license that can be found in the LICENSE file.
-+
-+// +build darwin,amd64,!go1.12
-+
-+package unix
-+
-+//sys  Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) = SYS_GETDIRENTRIES64
-diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin_amd64.go b/vendor/golang.org/x/sys/unix/syscall_darwin_amd64.go
-index c6c99c13..fdbfb591 100644
---- a/vendor/golang.org/x/sys/unix/syscall_darwin_amd64.go
-+++ b/vendor/golang.org/x/sys/unix/syscall_darwin_amd64.go
-@@ -8,30 +8,22 @@ package unix
- 
- import (
- 	"syscall"
--	"unsafe"
- )
- 
--func Getpagesize() int { return 4096 }
-+//sys   ptrace(request int, pid int, addr uintptr, data uintptr) (err error)
- 
--func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) }
--
--func NsecToTimespec(nsec int64) (ts Timespec) {
--	ts.Sec = nsec / 1e9
--	ts.Nsec = nsec % 1e9
--	return
-+func setTimespec(sec, nsec int64) Timespec {
-+	return Timespec{Sec: sec, Nsec: nsec}
- }
- 
--func NsecToTimeval(nsec int64) (tv Timeval) {
--	nsec += 999 // round up to microsecond
--	tv.Usec = int32(nsec % 1e9 / 1e3)
--	tv.Sec = int64(nsec / 1e9)
--	return
-+func setTimeval(sec, usec int64) Timeval {
-+	return Timeval{Sec: sec, Usec: int32(usec)}
- }
- 
- //sysnb	gettimeofday(tp *Timeval) (sec int64, usec int32, err error)
- func Gettimeofday(tv *Timeval) (err error) {
- 	// The tv passed to gettimeofday must be non-nil
--	// but is otherwise unused.  The answers come back
-+	// but is otherwise unused. The answers come back
- 	// in the two registers.
- 	sec, usec, err := gettimeofday(tv)
- 	tv.Sec = sec
-@@ -53,21 +45,12 @@ func (msghdr *Msghdr) SetControllen(length int) {
- 	msghdr.Controllen = uint32(length)
- }
- 
--func (cmsg *Cmsghdr) SetLen(length int) {
--	cmsg.Len = uint32(length)
-+func (msghdr *Msghdr) SetIovlen(length int) {
-+	msghdr.Iovlen = int32(length)
- }
- 
--func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {
--	var length = uint64(count)
--
--	_, _, e1 := Syscall6(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(*offset), uintptr(unsafe.Pointer(&length)), 0, 0)
--
--	written = int(length)
--
--	if e1 != 0 {
--		err = e1
--	}
--	return
-+func (cmsg *Cmsghdr) SetLen(length int) {
-+	cmsg.Len = uint32(length)
- }
- 
- func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno)
-@@ -75,3 +58,11 @@ func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr,
- // SYS___SYSCTL is used by syscall_bsd.go for all BSDs, but in modern versions
- // of darwin/amd64 the syscall is called sysctl instead of __sysctl.
- const SYS___SYSCTL = SYS_SYSCTL
-+
-+//sys	Fstat(fd int, stat *Stat_t) (err error) = SYS_FSTAT64
-+//sys	Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) = SYS_FSTATAT64
-+//sys	Fstatfs(fd int, stat *Statfs_t) (err error) = SYS_FSTATFS64
-+//sys	getfsstat(buf unsafe.Pointer, size uintptr, flags int) (n int, err error) = SYS_GETFSSTAT64
-+//sys	Lstat(path string, stat *Stat_t) (err error) = SYS_LSTAT64
-+//sys	Stat(path string, stat *Stat_t) (err error) = SYS_STAT64
-+//sys	Statfs(path string, stat *Statfs_t) (err error) = SYS_STATFS64
-diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin_arm.1_11.go b/vendor/golang.org/x/sys/unix/syscall_darwin_arm.1_11.go
-new file mode 100644
-index 00000000..0e3f25ac
---- /dev/null
-+++ b/vendor/golang.org/x/sys/unix/syscall_darwin_arm.1_11.go
-@@ -0,0 +1,11 @@
-+// Copyright 2019 The Go Authors. All rights reserved.
-+// Use of this source code is governed by a BSD-style
-+// license that can be found in the LICENSE file.
-+
-+// +build darwin,arm,!go1.12
-+
-+package unix
-+
-+func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {
-+	return 0, ENOSYS
-+}
-diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin_arm.go b/vendor/golang.org/x/sys/unix/syscall_darwin_arm.go
-index d286cf40..f8bc4cfb 100644
---- a/vendor/golang.org/x/sys/unix/syscall_darwin_arm.go
-+++ b/vendor/golang.org/x/sys/unix/syscall_darwin_arm.go
-@@ -6,30 +6,24 @@ package unix
- 
- import (
- 	"syscall"
--	"unsafe"
- )
- 
--func Getpagesize() int { return 4096 }
--
--func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) }
-+func ptrace(request int, pid int, addr uintptr, data uintptr) error {
-+	return ENOTSUP
-+}
- 
--func NsecToTimespec(nsec int64) (ts Timespec) {
--	ts.Sec = int32(nsec / 1e9)
--	ts.Nsec = int32(nsec % 1e9)
--	return
-+func setTimespec(sec, nsec int64) Timespec {
-+	return Timespec{Sec: int32(sec), Nsec: int32(nsec)}
- }
- 
--func NsecToTimeval(nsec int64) (tv Timeval) {
--	nsec += 999 // round up to microsecond
--	tv.Usec = int32(nsec % 1e9 / 1e3)
--	tv.Sec = int32(nsec / 1e9)
--	return
-+func setTimeval(sec, usec int64) Timeval {
-+	return Timeval{Sec: int32(sec), Usec: int32(usec)}
- }
- 
- //sysnb	gettimeofday(tp *Timeval) (sec int32, usec int32, err error)
- func Gettimeofday(tv *Timeval) (err error) {
- 	// The tv passed to gettimeofday must be non-nil
--	// but is otherwise unused.  The answers come back
-+	// but is otherwise unused. The answers come back
- 	// in the two registers.
- 	sec, usec, err := gettimeofday(tv)
- 	tv.Sec = int32(sec)
-@@ -51,21 +45,24 @@ func (msghdr *Msghdr) SetControllen(length int) {
- 	msghdr.Controllen = uint32(length)
- }
- 
--func (cmsg *Cmsghdr) SetLen(length int) {
--	cmsg.Len = uint32(length)
-+func (msghdr *Msghdr) SetIovlen(length int) {
-+	msghdr.Iovlen = int32(length)
- }
- 
--func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {
--	var length = uint64(count)
--
--	_, _, e1 := Syscall9(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(*offset), uintptr(*offset>>32), uintptr(unsafe.Pointer(&length)), 0, 0, 0, 0)
--
--	written = int(length)
--
--	if e1 != 0 {
--		err = e1
--	}
--	return
-+func (cmsg *Cmsghdr) SetLen(length int) {
-+	cmsg.Len = uint32(length)
- }
- 
- func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) // sic
-+
-+// SYS___SYSCTL is used by syscall_bsd.go for all BSDs, but in modern versions
-+// of darwin/arm the syscall is called sysctl instead of __sysctl.
-+const SYS___SYSCTL = SYS_SYSCTL
-+
-+//sys	Fstat(fd int, stat *Stat_t) (err error)
-+//sys	Fstatat(fd int, path string, stat *Stat_t, flags int) (err error)
-+//sys	Fstatfs(fd int, stat *Statfs_t) (err error)
-+//sys	getfsstat(buf unsafe.Pointer, size uintptr, flags int) (n int, err error) = SYS_GETFSSTAT
-+//sys	Lstat(path string, stat *Stat_t) (err error)
-+//sys	Stat(path string, stat *Stat_t) (err error)
-+//sys	Statfs(path string, stat *Statfs_t) (err error)
-diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin_arm64.1_11.go b/vendor/golang.org/x/sys/unix/syscall_darwin_arm64.1_11.go
-new file mode 100644
-index 00000000..01d45040
---- /dev/null
-+++ b/vendor/golang.org/x/sys/unix/syscall_darwin_arm64.1_11.go
-@@ -0,0 +1,11 @@
-+// Copyright 2019 The Go Authors. All rights reserved.
-+// Use of this source code is governed by a BSD-style
-+// license that can be found in the LICENSE file.
-+
-+// +build darwin,arm64,!go1.12
-+
-+package unix
-+
-+func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {
-+	return 0, ENOSYS
-+}
-diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin_arm64.go b/vendor/golang.org/x/sys/unix/syscall_darwin_arm64.go
-index c33905cd..5ede3ac3 100644
---- a/vendor/golang.org/x/sys/unix/syscall_darwin_arm64.go
-+++ b/vendor/golang.org/x/sys/unix/syscall_darwin_arm64.go
-@@ -8,30 +8,24 @@ package unix
- 
- import (
- 	"syscall"
--	"unsafe"
- )
- 
--func Getpagesize() int { return 16384 }
--
--func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) }
-+func ptrace(request int, pid int, addr uintptr, data uintptr) error {
-+	return ENOTSUP
-+}
- 
--func NsecToTimespec(nsec int64) (ts Timespec) {
--	ts.Sec = nsec / 1e9
--	ts.Nsec = nsec % 1e9
--	return
-+func setTimespec(sec, nsec int64) Timespec {
-+	return Timespec{Sec: sec, Nsec: nsec}
- }
- 
--func NsecToTimeval(nsec int64) (tv Timeval) {
--	nsec += 999 // round up to microsecond
--	tv.Usec = int32(nsec % 1e9 / 1e3)
--	tv.Sec = int64(nsec / 1e9)
--	return
-+func setTimeval(sec, usec int64) Timeval {
-+	return Timeval{Sec: sec, Usec: int32(usec)}
- }
- 
- //sysnb	gettimeofday(tp *Timeval) (sec int64, usec int32, err error)
- func Gettimeofday(tv *Timeval) (err error) {
- 	// The tv passed to gettimeofday must be non-nil
--	// but is otherwise unused.  The answers come back
-+	// but is otherwise unused. The answers come back
- 	// in the two registers.
- 	sec, usec, err := gettimeofday(tv)
- 	tv.Sec = sec
-@@ -53,21 +47,12 @@ func (msghdr *Msghdr) SetControllen(length int) {
- 	msghdr.Controllen = uint32(length)
- }
- 
--func (cmsg *Cmsghdr) SetLen(length int) {
--	cmsg.Len = uint32(length)
-+func (msghdr *Msghdr) SetIovlen(length int) {
-+	msghdr.Iovlen = int32(length)
- }
- 
--func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {
--	var length = uint64(count)
--
--	_, _, e1 := Syscall6(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(*offset), uintptr(unsafe.Pointer(&length)), 0, 0)
--
--	written = int(length)
--
--	if e1 != 0 {
--		err = e1
--	}
--	return
-+func (cmsg *Cmsghdr) SetLen(length int) {
-+	cmsg.Len = uint32(length)
- }
- 
- func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) // sic
-@@ -75,3 +60,11 @@ func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr,
- // SYS___SYSCTL is used by syscall_bsd.go for all BSDs, but in modern versions
- // of darwin/arm64 the syscall is called sysctl instead of __sysctl.
- const SYS___SYSCTL = SYS_SYSCTL
-+
-+//sys	Fstat(fd int, stat *Stat_t) (err error)
-+//sys	Fstatat(fd int, path string, stat *Stat_t, flags int) (err error)
-+//sys	Fstatfs(fd int, stat *Statfs_t) (err error)
-+//sys	getfsstat(buf unsafe.Pointer, size uintptr, flags int) (n int, err error) = SYS_GETFSSTAT
-+//sys	Lstat(path string, stat *Stat_t) (err error)
-+//sys	Stat(path string, stat *Stat_t) (err error)
-+//sys	Statfs(path string, stat *Statfs_t) (err error)
-diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin_libSystem.go b/vendor/golang.org/x/sys/unix/syscall_darwin_libSystem.go
-new file mode 100644
-index 00000000..f34c86c8
---- /dev/null
-+++ b/vendor/golang.org/x/sys/unix/syscall_darwin_libSystem.go
-@@ -0,0 +1,33 @@
-+// Copyright 2018 The Go Authors. All rights reserved.
-+// Use of this source code is governed by a BSD-style
-+// license that can be found in the LICENSE file.
-+
-+// +build darwin,go1.12
-+
-+package unix
-+
-+import "unsafe"
-+
-+// Implemented in the runtime package (runtime/sys_darwin.go)
-+func syscall_syscall(fn, a1, a2, a3 uintptr) (r1, r2 uintptr, err Errno)
-+func syscall_syscall6(fn, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err Errno)
-+func syscall_syscall6X(fn, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err Errno)
-+func syscall_syscall9(fn, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err Errno) // 32-bit only
-+func syscall_rawSyscall(fn, a1, a2, a3 uintptr) (r1, r2 uintptr, err Errno)
-+func syscall_rawSyscall6(fn, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err Errno)
-+func syscall_syscallPtr(fn, a1, a2, a3 uintptr) (r1, r2 uintptr, err Errno)
-+
-+//go:linkname syscall_syscall syscall.syscall
-+//go:linkname syscall_syscall6 syscall.syscall6
-+//go:linkname syscall_syscall6X syscall.syscall6X
-+//go:linkname syscall_syscall9 syscall.syscall9
-+//go:linkname syscall_rawSyscall syscall.rawSyscall
-+//go:linkname syscall_rawSyscall6 syscall.rawSyscall6
-+//go:linkname syscall_syscallPtr syscall.syscallPtr
-+
-+// Find the entry point for f. See comments in runtime/proc.go for the
-+// function of the same name.
-+//go:nosplit
-+func funcPC(f func()) uintptr {
-+	return **(**uintptr)(unsafe.Pointer(&f))
-+}
-diff --git a/vendor/golang.org/x/sys/unix/syscall_dragonfly.go b/vendor/golang.org/x/sys/unix/syscall_dragonfly.go
-index 3a483373..8a195ae5 100644
---- a/vendor/golang.org/x/sys/unix/syscall_dragonfly.go
-+++ b/vendor/golang.org/x/sys/unix/syscall_dragonfly.go
-@@ -12,8 +12,27 @@
- 
- package unix
- 
--import "unsafe"
-+import (
-+	"sync"
-+	"unsafe"
-+)
- 
-+// See version list in https://github.com/DragonFlyBSD/DragonFlyBSD/blob/master/sys/sys/param.h
-+var (
-+	osreldateOnce sync.Once
-+	osreldate     uint32
-+)
-+
-+// First __DragonFly_version after September 2019 ABI changes
-+// http://lists.dragonflybsd.org/pipermail/users/2019-September/358280.html
-+const _dragonflyABIChangeVersion = 500705
-+
-+func supportsABI(ver uint32) bool {
-+	osreldateOnce.Do(func() { osreldate, _ = SysctlUint32("kern.osreldate") })
-+	return osreldate >= ver
-+}
-+
-+// SockaddrDatalink implements the Sockaddr interface for AF_LINK type sockets.
- type SockaddrDatalink struct {
- 	Len    uint8
- 	Family uint8
-@@ -102,7 +121,7 @@ func Accept4(fd, flags int) (nfd int, sa Sockaddr, err error) {
- 	if len > SizeofSockaddrAny {
- 		panic("RawSockaddrAny too small")
- 	}
--	sa, err = anyToSockaddr(&rsa)
-+	sa, err = anyToSockaddr(fd, &rsa)
- 	if err != nil {
- 		Close(nfd)
- 		nfd = 0
-@@ -110,6 +129,23 @@ func Accept4(fd, flags int) (nfd int, sa Sockaddr, err error) {
- 	return
- }
- 
-+const ImplementsGetwd = true
-+
-+//sys	Getcwd(buf []byte) (n int, err error) = SYS___GETCWD
-+
-+func Getwd() (string, error) {
-+	var buf [PathMax]byte
-+	_, err := Getcwd(buf[0:])
-+	if err != nil {
-+		return "", err
-+	}
-+	n := clen(buf[:])
-+	if n < 1 {
-+		return "", EINVAL
-+	}
-+	return string(buf[:n]), nil
-+}
-+
- func Getfsstat(buf []Statfs_t, flags int) (n int, err error) {
- 	var _p0 unsafe.Pointer
- 	var bufsize uintptr
-@@ -125,6 +161,85 @@ func Getfsstat(buf []Statfs_t, flags int) (n int, err error) {
- 	return
- }
- 
-+func setattrlistTimes(path string, times []Timespec, flags int) error {
-+	// used on Darwin for UtimesNano
-+	return ENOSYS
-+}
-+
-+//sys	ioctl(fd int, req uint, arg uintptr) (err error)
-+
-+//sys   sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) = SYS___SYSCTL
-+
-+func sysctlUname(mib []_C_int, old *byte, oldlen *uintptr) error {
-+	err := sysctl(mib, old, oldlen, nil, 0)
-+	if err != nil {
-+		// Utsname members on Dragonfly are only 32 bytes and
-+		// the syscall returns ENOMEM in case the actual value
-+		// is longer.
-+		if err == ENOMEM {
-+			err = nil
-+		}
-+	}
-+	return err
-+}
-+
-+func Uname(uname *Utsname) error {
-+	mib := []_C_int{CTL_KERN, KERN_OSTYPE}
-+	n := unsafe.Sizeof(uname.Sysname)
-+	if err := sysctlUname(mib, &uname.Sysname[0], &n); err != nil {
-+		return err
-+	}
-+	uname.Sysname[unsafe.Sizeof(uname.Sysname)-1] = 0
-+
-+	mib = []_C_int{CTL_KERN, KERN_HOSTNAME}
-+	n = unsafe.Sizeof(uname.Nodename)
-+	if err := sysctlUname(mib, &uname.Nodename[0], &n); err != nil {
-+		return err
-+	}
-+	uname.Nodename[unsafe.Sizeof(uname.Nodename)-1] = 0
-+
-+	mib = []_C_int{CTL_KERN, KERN_OSRELEASE}
-+	n = unsafe.Sizeof(uname.Release)
-+	if err := sysctlUname(mib, &uname.Release[0], &n); err != nil {
-+		return err
-+	}
-+	uname.Release[unsafe.Sizeof(uname.Release)-1] = 0
-+
-+	mib = []_C_int{CTL_KERN, KERN_VERSION}
-+	n = unsafe.Sizeof(uname.Version)
-+	if err := sysctlUname(mib, &uname.Version[0], &n); err != nil {
-+		return err
-+	}
-+
-+	// The version might have newlines or tabs in it, convert them to
-+	// spaces.
-+	for i, b := range uname.Version {
-+		if b == '\n' || b == '\t' {
-+			if i == len(uname.Version)-1 {
-+				uname.Version[i] = 0
-+			} else {
-+				uname.Version[i] = ' '
-+			}
-+		}
-+	}
-+
-+	mib = []_C_int{CTL_HW, HW_MACHINE}
-+	n = unsafe.Sizeof(uname.Machine)
-+	if err := sysctlUname(mib, &uname.Machine[0], &n); err != nil {
-+		return err
-+	}
-+	uname.Machine[unsafe.Sizeof(uname.Machine)-1] = 0
-+
-+	return nil
-+}
-+
-+func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {
-+	if raceenabled {
-+		raceReleaseMerge(unsafe.Pointer(&ioSync))
-+	}
-+	return sendfile(outfd, infd, offset, count)
-+}
-+
- /*
-  * Exposed directly
-  */
-@@ -139,16 +254,21 @@ func Getfsstat(buf []Statfs_t, flags int) (n int, err error) {
- //sys	Dup(fd int) (nfd int, err error)
- //sys	Dup2(from int, to int) (err error)
- //sys	Exit(code int)
-+//sys	Faccessat(dirfd int, path string, mode uint32, flags int) (err error)
- //sys	Fchdir(fd int) (err error)
- //sys	Fchflags(fd int, flags int) (err error)
- //sys	Fchmod(fd int, mode uint32) (err error)
-+//sys	Fchmodat(dirfd int, path string, mode uint32, flags int) (err error)
- //sys	Fchown(fd int, uid int, gid int) (err error)
-+//sys	Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error)
- //sys	Flock(fd int, how int) (err error)
- //sys	Fpathconf(fd int, name int) (val int, err error)
- //sys	Fstat(fd int, stat *Stat_t) (err error)
-+//sys	Fstatat(fd int, path string, stat *Stat_t, flags int) (err error)
- //sys	Fstatfs(fd int, stat *Statfs_t) (err error)
- //sys	Fsync(fd int) (err error)
- //sys	Ftruncate(fd int, length int64) (err error)
-+//sys	Getdents(fd int, buf []byte) (n int, err error)
- //sys	Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error)
- //sys	Getdtablesize() (size int)
- //sysnb	Getegid() (egid int)
-@@ -169,21 +289,26 @@ func Getfsstat(buf []Statfs_t, flags int) (n int, err error) {
- //sys	Kqueue() (fd int, err error)
- //sys	Lchown(path string, uid int, gid int) (err error)
- //sys	Link(path string, link string) (err error)
-+//sys	Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error)
- //sys	Listen(s int, backlog int) (err error)
- //sys	Lstat(path string, stat *Stat_t) (err error)
- //sys	Mkdir(path string, mode uint32) (err error)
-+//sys	Mkdirat(dirfd int, path string, mode uint32) (err error)
- //sys	Mkfifo(path string, mode uint32) (err error)
- //sys	Mknod(path string, mode uint32, dev int) (err error)
-+//sys	Mknodat(fd int, path string, mode uint32, dev int) (err error)
- //sys	Nanosleep(time *Timespec, leftover *Timespec) (err error)
- //sys	Open(path string, mode int, perm uint32) (fd int, err error)
-+//sys	Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error)
- //sys	Pathconf(path string, name int) (val int, err error)
- //sys	read(fd int, p []byte) (n int, err error)
- //sys	Readlink(path string, buf []byte) (n int, err error)
- //sys	Rename(from string, to string) (err error)
-+//sys	Renameat(fromfd int, from string, tofd int, to string) (err error)
- //sys	Revoke(path string) (err error)
- //sys	Rmdir(path string) (err error)
- //sys	Seek(fd int, offset int64, whence int) (newoffset int64, err error) = SYS_LSEEK
--//sys	Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error)
-+//sys	Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error)
- //sysnb	Setegid(egid int) (err error)
- //sysnb	Seteuid(euid int) (err error)
- //sysnb	Setgid(gid int) (err error)
-@@ -201,11 +326,13 @@ func Getfsstat(buf []Statfs_t, flags int) (n int, err error) {
- //sys	Stat(path string, stat *Stat_t) (err error)
- //sys	Statfs(path string, stat *Statfs_t) (err error)
- //sys	Symlink(path string, link string) (err error)
-+//sys	Symlinkat(oldpath string, newdirfd int, newpath string) (err error)
- //sys	Sync() (err error)
- //sys	Truncate(path string, length int64) (err error)
- //sys	Umask(newmask int) (oldmask int)
- //sys	Undelete(path string) (err error)
- //sys	Unlink(path string) (err error)
-+//sys	Unlinkat(dirfd int, path string, flags int) (err error)
- //sys	Unmount(path string, flags int) (err error)
- //sys	write(fd int, p []byte) (n int, err error)
- //sys   mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error)
-@@ -225,7 +352,6 @@ func Getfsstat(buf []Statfs_t, flags int) (n int, err error) {
- // Getlogin
- // Sigpending
- // Sigaltstack
--// Ioctl
- // Reboot
- // Execve
- // Vfork
-@@ -257,7 +383,6 @@ func Getfsstat(buf []Statfs_t, flags int) (n int, err error) {
- // Searchfs
- // Delete
- // Copyfile
--// Poll
- // Watchevent
- // Waitevent
- // Modwatch
-@@ -403,7 +528,6 @@ func Getfsstat(buf []Statfs_t, flags int) (n int, err error) {
- // Pread_nocancel
- // Pwrite_nocancel
- // Waitid_nocancel
--// Poll_nocancel
- // Msgsnd_nocancel
- // Msgrcv_nocancel
- // Sem_wait_nocancel
-diff --git a/vendor/golang.org/x/sys/unix/syscall_dragonfly_amd64.go b/vendor/golang.org/x/sys/unix/syscall_dragonfly_amd64.go
-index da7cb798..a6b4830a 100644
---- a/vendor/golang.org/x/sys/unix/syscall_dragonfly_amd64.go
-+++ b/vendor/golang.org/x/sys/unix/syscall_dragonfly_amd64.go
-@@ -11,21 +11,12 @@ import (
- 	"unsafe"
- )
- 
--func Getpagesize() int { return 4096 }
--
--func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) }
--
--func NsecToTimespec(nsec int64) (ts Timespec) {
--	ts.Sec = nsec / 1e9
--	ts.Nsec = nsec % 1e9
--	return
-+func setTimespec(sec, nsec int64) Timespec {
-+	return Timespec{Sec: sec, Nsec: nsec}
- }
- 
--func NsecToTimeval(nsec int64) (tv Timeval) {
--	nsec += 999 // round up to microsecond
--	tv.Usec = nsec % 1e9 / 1e3
--	tv.Sec = int64(nsec / 1e9)
--	return
-+func setTimeval(sec, usec int64) Timeval {
-+	return Timeval{Sec: sec, Usec: usec}
- }
- 
- func SetKevent(k *Kevent_t, fd, mode, flags int) {
-@@ -42,6 +33,10 @@ func (msghdr *Msghdr) SetControllen(length int) {
- 	msghdr.Controllen = uint32(length)
- }
- 
-+func (msghdr *Msghdr) SetIovlen(length int) {
-+	msghdr.Iovlen = int32(length)
-+}
-+
- func (cmsg *Cmsghdr) SetLen(length int) {
- 	cmsg.Len = uint32(length)
- }
-diff --git a/vendor/golang.org/x/sys/unix/syscall_freebsd.go b/vendor/golang.org/x/sys/unix/syscall_freebsd.go
-index d26e52ea..6932e7c2 100644
---- a/vendor/golang.org/x/sys/unix/syscall_freebsd.go
-+++ b/vendor/golang.org/x/sys/unix/syscall_freebsd.go
-@@ -12,8 +12,36 @@
- 
- package unix
- 
--import "unsafe"
-+import (
-+	"sync"
-+	"unsafe"
-+)
-+
-+const (
-+	SYS_FSTAT_FREEBSD12         = 551 // { int fstat(int fd, _Out_ struct stat *sb); }
-+	SYS_FSTATAT_FREEBSD12       = 552 // { int fstatat(int fd, _In_z_ char *path, \
-+	SYS_GETDIRENTRIES_FREEBSD12 = 554 // { ssize_t getdirentries(int fd, \
-+	SYS_STATFS_FREEBSD12        = 555 // { int statfs(_In_z_ char *path, \
-+	SYS_FSTATFS_FREEBSD12       = 556 // { int fstatfs(int fd, \
-+	SYS_GETFSSTAT_FREEBSD12     = 557 // { int getfsstat( \
-+	SYS_MKNODAT_FREEBSD12       = 559 // { int mknodat(int fd, _In_z_ char *path, \
-+)
-+
-+// See https://www.freebsd.org/doc/en_US.ISO8859-1/books/porters-handbook/versions.html.
-+var (
-+	osreldateOnce sync.Once
-+	osreldate     uint32
-+)
-+
-+// INO64_FIRST from /usr/src/lib/libc/sys/compat-ino64.h
-+const _ino64First = 1200031
-+
-+func supportsABI(ver uint32) bool {
-+	osreldateOnce.Do(func() { osreldate, _ = SysctlUint32("kern.osreldate") })
-+	return osreldate >= ver
-+}
- 
-+// SockaddrDatalink implements the Sockaddr interface for AF_LINK type sockets.
- type SockaddrDatalink struct {
- 	Len    uint8
- 	Family uint8
-@@ -32,7 +60,7 @@ func nametomib(name string) (mib []_C_int, err error) {
- 
- 	// NOTE(rsc): It seems strange to set the buffer to have
- 	// size CTL_MAXNAME+2 but use only CTL_MAXNAME
--	// as the size.  I don't know why the +2 is here, but the
-+	// as the size. I don't know why the +2 is here, but the
- 	// kernel uses +2 for its own implementation of this function.
- 	// I am scared that if we don't include the +2 here, the kernel
- 	// will silently write 2 words farther than we specify
-@@ -66,14 +94,21 @@ func direntNamlen(buf []byte) (uint64, bool) {
- 	return readInt(buf, unsafe.Offsetof(Dirent{}.Namlen), unsafe.Sizeof(Dirent{}.Namlen))
- }
- 
--//sysnb pipe() (r int, w int, err error)
--
- func Pipe(p []int) (err error) {
-+	return Pipe2(p, 0)
-+}
-+
-+//sysnb	pipe2(p *[2]_C_int, flags int) (err error)
-+
-+func Pipe2(p []int, flags int) error {
- 	if len(p) != 2 {
- 		return EINVAL
- 	}
--	p[0], p[1], err = pipe()
--	return
-+	var pp [2]_C_int
-+	err := pipe2(&pp, flags)
-+	p[0] = int(pp[0])
-+	p[1] = int(pp[1])
-+	return err
- }
- 
- func GetsockoptIPMreqn(fd, level, opt int) (*IPMreqn, error) {
-@@ -97,7 +132,7 @@ func Accept4(fd, flags int) (nfd int, sa Sockaddr, err error) {
- 	if len > SizeofSockaddrAny {
- 		panic("RawSockaddrAny too small")
- 	}
--	sa, err = anyToSockaddr(&rsa)
-+	sa, err = anyToSockaddr(fd, &rsa)
- 	if err != nil {
- 		Close(nfd)
- 		nfd = 0
-@@ -105,290 +140,421 @@ func Accept4(fd, flags int) (nfd int, sa Sockaddr, err error) {
- 	return
- }
- 
-+const ImplementsGetwd = true
-+
-+//sys	Getcwd(buf []byte) (n int, err error) = SYS___GETCWD
-+
-+func Getwd() (string, error) {
-+	var buf [PathMax]byte
-+	_, err := Getcwd(buf[0:])
-+	if err != nil {
-+		return "", err
-+	}
-+	n := clen(buf[:])
-+	if n < 1 {
-+		return "", EINVAL
-+	}
-+	return string(buf[:n]), nil
-+}
-+
- func Getfsstat(buf []Statfs_t, flags int) (n int, err error) {
--	var _p0 unsafe.Pointer
--	var bufsize uintptr
-+	var (
-+		_p0          unsafe.Pointer
-+		bufsize      uintptr
-+		oldBuf       []statfs_freebsd11_t
-+		needsConvert bool
-+	)
-+
- 	if len(buf) > 0 {
--		_p0 = unsafe.Pointer(&buf[0])
--		bufsize = unsafe.Sizeof(Statfs_t{}) * uintptr(len(buf))
-+		if supportsABI(_ino64First) {
-+			_p0 = unsafe.Pointer(&buf[0])
-+			bufsize = unsafe.Sizeof(Statfs_t{}) * uintptr(len(buf))
-+		} else {
-+			n := len(buf)
-+			oldBuf = make([]statfs_freebsd11_t, n)
-+			_p0 = unsafe.Pointer(&oldBuf[0])
-+			bufsize = unsafe.Sizeof(statfs_freebsd11_t{}) * uintptr(n)
-+			needsConvert = true
-+		}
-+	}
-+	var sysno uintptr = SYS_GETFSSTAT
-+	if supportsABI(_ino64First) {
-+		sysno = SYS_GETFSSTAT_FREEBSD12
- 	}
--	r0, _, e1 := Syscall(SYS_GETFSSTAT, uintptr(_p0), bufsize, uintptr(flags))
-+	r0, _, e1 := Syscall(sysno, uintptr(_p0), bufsize, uintptr(flags))
- 	n = int(r0)
- 	if e1 != 0 {
- 		err = e1
- 	}
-+	if e1 == 0 && needsConvert {
-+		for i := range oldBuf {
-+			buf[i].convertFrom(&oldBuf[i])
-+		}
-+	}
- 	return
- }
- 
--// Derive extattr namespace and attribute name
-+func setattrlistTimes(path string, times []Timespec, flags int) error {
-+	// used on Darwin for UtimesNano
-+	return ENOSYS
-+}
- 
--func xattrnamespace(fullattr string) (ns int, attr string, err error) {
--	s := -1
--	for idx, val := range fullattr {
--		if val == '.' {
--			s = idx
--			break
--		}
-+//sys   ioctl(fd int, req uint, arg uintptr) (err error)
-+
-+//sys   sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) = SYS___SYSCTL
-+
-+func Uname(uname *Utsname) error {
-+	mib := []_C_int{CTL_KERN, KERN_OSTYPE}
-+	n := unsafe.Sizeof(uname.Sysname)
-+	if err := sysctl(mib, &uname.Sysname[0], &n, nil, 0); err != nil {
-+		return err
- 	}
- 
--	if s == -1 {
--		return -1, "", ENOATTR
-+	mib = []_C_int{CTL_KERN, KERN_HOSTNAME}
-+	n = unsafe.Sizeof(uname.Nodename)
-+	if err := sysctl(mib, &uname.Nodename[0], &n, nil, 0); err != nil {
-+		return err
- 	}
- 
--	namespace := fullattr[0:s]
--	attr = fullattr[s+1:]
-+	mib = []_C_int{CTL_KERN, KERN_OSRELEASE}
-+	n = unsafe.Sizeof(uname.Release)
-+	if err := sysctl(mib, &uname.Release[0], &n, nil, 0); err != nil {
-+		return err
-+	}
- 
--	switch namespace {
--	case "user":
--		return EXTATTR_NAMESPACE_USER, attr, nil
--	case "system":
--		return EXTATTR_NAMESPACE_SYSTEM, attr, nil
--	default:
--		return -1, "", ENOATTR
-+	mib = []_C_int{CTL_KERN, KERN_VERSION}
-+	n = unsafe.Sizeof(uname.Version)
-+	if err := sysctl(mib, &uname.Version[0], &n, nil, 0); err != nil {
-+		return err
- 	}
--}
- 
--func initxattrdest(dest []byte, idx int) (d unsafe.Pointer) {
--	if len(dest) > idx {
--		return unsafe.Pointer(&dest[idx])
--	} else {
--		return unsafe.Pointer(_zero)
-+	// The version might have newlines or tabs in it, convert them to
-+	// spaces.
-+	for i, b := range uname.Version {
-+		if b == '\n' || b == '\t' {
-+			if i == len(uname.Version)-1 {
-+				uname.Version[i] = 0
-+			} else {
-+				uname.Version[i] = ' '
-+			}
-+		}
- 	}
--}
- 
--// FreeBSD implements its own syscalls to handle extended attributes
-+	mib = []_C_int{CTL_HW, HW_MACHINE}
-+	n = unsafe.Sizeof(uname.Machine)
-+	if err := sysctl(mib, &uname.Machine[0], &n, nil, 0); err != nil {
-+		return err
-+	}
- 
--func Getxattr(file string, attr string, dest []byte) (sz int, err error) {
--	d := initxattrdest(dest, 0)
--	destsize := len(dest)
-+	return nil
-+}
- 
--	nsid, a, err := xattrnamespace(attr)
-+func Stat(path string, st *Stat_t) (err error) {
-+	var oldStat stat_freebsd11_t
-+	if supportsABI(_ino64First) {
-+		return fstatat_freebsd12(AT_FDCWD, path, st, 0)
-+	}
-+	err = stat(path, &oldStat)
- 	if err != nil {
--		return -1, err
-+		return err
- 	}
- 
--	return ExtattrGetFile(file, nsid, a, uintptr(d), destsize)
-+	st.convertFrom(&oldStat)
-+	return nil
- }
- 
--func Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) {
--	d := initxattrdest(dest, 0)
--	destsize := len(dest)
--
--	nsid, a, err := xattrnamespace(attr)
-+func Lstat(path string, st *Stat_t) (err error) {
-+	var oldStat stat_freebsd11_t
-+	if supportsABI(_ino64First) {
-+		return fstatat_freebsd12(AT_FDCWD, path, st, AT_SYMLINK_NOFOLLOW)
-+	}
-+	err = lstat(path, &oldStat)
- 	if err != nil {
--		return -1, err
-+		return err
- 	}
- 
--	return ExtattrGetFd(fd, nsid, a, uintptr(d), destsize)
-+	st.convertFrom(&oldStat)
-+	return nil
- }
- 
--func Lgetxattr(link string, attr string, dest []byte) (sz int, err error) {
--	d := initxattrdest(dest, 0)
--	destsize := len(dest)
--
--	nsid, a, err := xattrnamespace(attr)
-+func Fstat(fd int, st *Stat_t) (err error) {
-+	var oldStat stat_freebsd11_t
-+	if supportsABI(_ino64First) {
-+		return fstat_freebsd12(fd, st)
-+	}
-+	err = fstat(fd, &oldStat)
- 	if err != nil {
--		return -1, err
-+		return err
- 	}
- 
--	return ExtattrGetLink(link, nsid, a, uintptr(d), destsize)
-+	st.convertFrom(&oldStat)
-+	return nil
- }
- 
--// flags are unused on FreeBSD
--
--func Fsetxattr(fd int, attr string, data []byte, flags int) (err error) {
--	d := unsafe.Pointer(&data[0])
--	datasiz := len(data)
--
--	nsid, a, err := xattrnamespace(attr)
-+func Fstatat(fd int, path string, st *Stat_t, flags int) (err error) {
-+	var oldStat stat_freebsd11_t
-+	if supportsABI(_ino64First) {
-+		return fstatat_freebsd12(fd, path, st, flags)
-+	}
-+	err = fstatat(fd, path, &oldStat, flags)
- 	if err != nil {
--		return
-+		return err
- 	}
- 
--	_, err = ExtattrSetFd(fd, nsid, a, uintptr(d), datasiz)
--	return
-+	st.convertFrom(&oldStat)
-+	return nil
- }
- 
--func Setxattr(file string, attr string, data []byte, flags int) (err error) {
--	d := unsafe.Pointer(&data[0])
--	datasiz := len(data)
--
--	nsid, a, err := xattrnamespace(attr)
-+func Statfs(path string, st *Statfs_t) (err error) {
-+	var oldStatfs statfs_freebsd11_t
-+	if supportsABI(_ino64First) {
-+		return statfs_freebsd12(path, st)
-+	}
-+	err = statfs(path, &oldStatfs)
- 	if err != nil {
--		return
-+		return err
- 	}
- 
--	_, err = ExtattrSetFile(file, nsid, a, uintptr(d), datasiz)
--	return
-+	st.convertFrom(&oldStatfs)
-+	return nil
- }
- 
--func Lsetxattr(link string, attr string, data []byte, flags int) (err error) {
--	d := unsafe.Pointer(&data[0])
--	datasiz := len(data)
--
--	nsid, a, err := xattrnamespace(attr)
-+func Fstatfs(fd int, st *Statfs_t) (err error) {
-+	var oldStatfs statfs_freebsd11_t
-+	if supportsABI(_ino64First) {
-+		return fstatfs_freebsd12(fd, st)
-+	}
-+	err = fstatfs(fd, &oldStatfs)
- 	if err != nil {
--		return
-+		return err
- 	}
- 
--	_, err = ExtattrSetLink(link, nsid, a, uintptr(d), datasiz)
--	return
-+	st.convertFrom(&oldStatfs)
-+	return nil
- }
- 
--func Removexattr(file string, attr string) (err error) {
--	nsid, a, err := xattrnamespace(attr)
--	if err != nil {
-+func Getdents(fd int, buf []byte) (n int, err error) {
-+	return Getdirentries(fd, buf, nil)
-+}
-+
-+func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {
-+	if supportsABI(_ino64First) {
-+		if basep == nil || unsafe.Sizeof(*basep) == 8 {
-+			return getdirentries_freebsd12(fd, buf, (*uint64)(unsafe.Pointer(basep)))
-+		}
-+		// The freebsd12 syscall needs a 64-bit base. On 32-bit machines
-+		// we can't just use the basep passed in. See #32498.
-+		var base uint64 = uint64(*basep)
-+		n, err = getdirentries_freebsd12(fd, buf, &base)
-+		*basep = uintptr(base)
-+		if base>>32 != 0 {
-+			// We can't stuff the base back into a uintptr, so any
-+			// future calls would be suspect. Generate an error.
-+			// EIO is allowed by getdirentries.
-+			err = EIO
-+		}
- 		return
- 	}
- 
--	err = ExtattrDeleteFile(file, nsid, a)
-+	// The old syscall entries are smaller than the new. Use 1/4 of the original
-+	// buffer size rounded up to DIRBLKSIZ (see /usr/src/lib/libc/sys/getdirentries.c).
-+	oldBufLen := roundup(len(buf)/4, _dirblksiz)
-+	oldBuf := make([]byte, oldBufLen)
-+	n, err = getdirentries(fd, oldBuf, basep)
-+	if err == nil && n > 0 {
-+		n = convertFromDirents11(buf, oldBuf[:n])
-+	}
- 	return
- }
- 
--func Fremovexattr(fd int, attr string) (err error) {
--	nsid, a, err := xattrnamespace(attr)
--	if err != nil {
--		return
-+func Mknod(path string, mode uint32, dev uint64) (err error) {
-+	var oldDev int
-+	if supportsABI(_ino64First) {
-+		return mknodat_freebsd12(AT_FDCWD, path, mode, dev)
- 	}
--
--	err = ExtattrDeleteFd(fd, nsid, a)
--	return
-+	oldDev = int(dev)
-+	return mknod(path, mode, oldDev)
- }
- 
--func Lremovexattr(link string, attr string) (err error) {
--	nsid, a, err := xattrnamespace(attr)
--	if err != nil {
--		return
-+func Mknodat(fd int, path string, mode uint32, dev uint64) (err error) {
-+	var oldDev int
-+	if supportsABI(_ino64First) {
-+		return mknodat_freebsd12(fd, path, mode, dev)
- 	}
-+	oldDev = int(dev)
-+	return mknodat(fd, path, mode, oldDev)
-+}
- 
--	err = ExtattrDeleteLink(link, nsid, a)
--	return
-+// round x to the nearest multiple of y, larger or equal to x.
-+//
-+// from /usr/include/sys/param.h Macros for counting and rounding.
-+// #define roundup(x, y)   ((((x)+((y)-1))/(y))*(y))
-+func roundup(x, y int) int {
-+	return ((x + y - 1) / y) * y
- }
- 
--func Listxattr(file string, dest []byte) (sz int, err error) {
--	d := initxattrdest(dest, 0)
--	destsiz := len(dest)
--
--	// FreeBSD won't allow you to list xattrs from multiple namespaces
--	s := 0
--	var e error
--	for _, nsid := range [...]int{EXTATTR_NAMESPACE_USER, EXTATTR_NAMESPACE_SYSTEM} {
--		stmp, e := ExtattrListFile(file, nsid, uintptr(d), destsiz)
--
--		/* Errors accessing system attrs are ignored so that
--		 * we can implement the Linux-like behavior of omitting errors that
--		 * we don't have read permissions on
--		 *
--		 * Linux will still error if we ask for user attributes on a file that
--		 * we don't have read permissions on, so don't ignore those errors
--		 */
--		if e != nil && e == EPERM && nsid != EXTATTR_NAMESPACE_USER {
--			e = nil
--			continue
--		} else if e != nil {
--			return s, e
--		}
-+func (s *Stat_t) convertFrom(old *stat_freebsd11_t) {
-+	*s = Stat_t{
-+		Dev:     uint64(old.Dev),
-+		Ino:     uint64(old.Ino),
-+		Nlink:   uint64(old.Nlink),
-+		Mode:    old.Mode,
-+		Uid:     old.Uid,
-+		Gid:     old.Gid,
-+		Rdev:    uint64(old.Rdev),
-+		Atim:    old.Atim,
-+		Mtim:    old.Mtim,
-+		Ctim:    old.Ctim,
-+		Btim:    old.Btim,
-+		Size:    old.Size,
-+		Blocks:  old.Blocks,
-+		Blksize: old.Blksize,
-+		Flags:   old.Flags,
-+		Gen:     uint64(old.Gen),
-+	}
-+}
- 
--		s += stmp
--		destsiz -= s
--		if destsiz < 0 {
--			destsiz = 0
--		}
--		d = initxattrdest(dest, s)
-+func (s *Statfs_t) convertFrom(old *statfs_freebsd11_t) {
-+	*s = Statfs_t{
-+		Version:     _statfsVersion,
-+		Type:        old.Type,
-+		Flags:       old.Flags,
-+		Bsize:       old.Bsize,
-+		Iosize:      old.Iosize,
-+		Blocks:      old.Blocks,
-+		Bfree:       old.Bfree,
-+		Bavail:      old.Bavail,
-+		Files:       old.Files,
-+		Ffree:       old.Ffree,
-+		Syncwrites:  old.Syncwrites,
-+		Asyncwrites: old.Asyncwrites,
-+		Syncreads:   old.Syncreads,
-+		Asyncreads:  old.Asyncreads,
-+		// Spare
-+		Namemax: old.Namemax,
-+		Owner:   old.Owner,
-+		Fsid:    old.Fsid,
-+		// Charspare
-+		// Fstypename
-+		// Mntfromname
-+		// Mntonname
- 	}
- 
--	return s, e
-+	sl := old.Fstypename[:]
-+	n := clen(*(*[]byte)(unsafe.Pointer(&sl)))
-+	copy(s.Fstypename[:], old.Fstypename[:n])
-+
-+	sl = old.Mntfromname[:]
-+	n = clen(*(*[]byte)(unsafe.Pointer(&sl)))
-+	copy(s.Mntfromname[:], old.Mntfromname[:n])
-+
-+	sl = old.Mntonname[:]
-+	n = clen(*(*[]byte)(unsafe.Pointer(&sl)))
-+	copy(s.Mntonname[:], old.Mntonname[:n])
- }
- 
--func Flistxattr(fd int, dest []byte) (sz int, err error) {
--	d := initxattrdest(dest, 0)
--	destsiz := len(dest)
-+func convertFromDirents11(buf []byte, old []byte) int {
-+	const (
-+		fixedSize    = int(unsafe.Offsetof(Dirent{}.Name))
-+		oldFixedSize = int(unsafe.Offsetof(dirent_freebsd11{}.Name))
-+	)
-+
-+	dstPos := 0
-+	srcPos := 0
-+	for dstPos+fixedSize < len(buf) && srcPos+oldFixedSize < len(old) {
-+		var dstDirent Dirent
-+		var srcDirent dirent_freebsd11
- 
--	s := 0
--	var e error
--	for _, nsid := range [...]int{EXTATTR_NAMESPACE_USER, EXTATTR_NAMESPACE_SYSTEM} {
--		stmp, e := ExtattrListFd(fd, nsid, uintptr(d), destsiz)
--		if e != nil && e == EPERM && nsid != EXTATTR_NAMESPACE_USER {
--			e = nil
--			continue
--		} else if e != nil {
--			return s, e
-+		// If multiple direntries are written, sometimes when we reach the final one,
-+		// we may have cap of old less than size of dirent_freebsd11.
-+		copy((*[unsafe.Sizeof(srcDirent)]byte)(unsafe.Pointer(&srcDirent))[:], old[srcPos:])
-+
-+		reclen := roundup(fixedSize+int(srcDirent.Namlen)+1, 8)
-+		if dstPos+reclen > len(buf) {
-+			break
- 		}
- 
--		s += stmp
--		destsiz -= s
--		if destsiz < 0 {
--			destsiz = 0
-+		dstDirent.Fileno = uint64(srcDirent.Fileno)
-+		dstDirent.Off = 0
-+		dstDirent.Reclen = uint16(reclen)
-+		dstDirent.Type = srcDirent.Type
-+		dstDirent.Pad0 = 0
-+		dstDirent.Namlen = uint16(srcDirent.Namlen)
-+		dstDirent.Pad1 = 0
-+
-+		copy(dstDirent.Name[:], srcDirent.Name[:srcDirent.Namlen])
-+		copy(buf[dstPos:], (*[unsafe.Sizeof(dstDirent)]byte)(unsafe.Pointer(&dstDirent))[:])
-+		padding := buf[dstPos+fixedSize+int(dstDirent.Namlen) : dstPos+reclen]
-+		for i := range padding {
-+			padding[i] = 0
- 		}
--		d = initxattrdest(dest, s)
-+
-+		dstPos += int(dstDirent.Reclen)
-+		srcPos += int(srcDirent.Reclen)
- 	}
- 
--	return s, e
-+	return dstPos
- }
- 
--func Llistxattr(link string, dest []byte) (sz int, err error) {
--	d := initxattrdest(dest, 0)
--	destsiz := len(dest)
-+func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {
-+	if raceenabled {
-+		raceReleaseMerge(unsafe.Pointer(&ioSync))
-+	}
-+	return sendfile(outfd, infd, offset, count)
-+}
- 
--	s := 0
--	var e error
--	for _, nsid := range [...]int{EXTATTR_NAMESPACE_USER, EXTATTR_NAMESPACE_SYSTEM} {
--		stmp, e := ExtattrListLink(link, nsid, uintptr(d), destsiz)
--		if e != nil && e == EPERM && nsid != EXTATTR_NAMESPACE_USER {
--			e = nil
--			continue
--		} else if e != nil {
--			return s, e
--		}
-+//sys	ptrace(request int, pid int, addr uintptr, data int) (err error)
- 
--		s += stmp
--		destsiz -= s
--		if destsiz < 0 {
--			destsiz = 0
--		}
--		d = initxattrdest(dest, s)
--	}
-+func PtraceAttach(pid int) (err error) {
-+	return ptrace(PTRACE_ATTACH, pid, 0, 0)
-+}
- 
--	return s, e
-+func PtraceCont(pid int, signal int) (err error) {
-+	return ptrace(PTRACE_CONT, pid, 1, signal)
- }
- 
--//sys   ioctl(fd int, req uint, arg uintptr) (err error)
-+func PtraceDetach(pid int) (err error) {
-+	return ptrace(PTRACE_DETACH, pid, 1, 0)
-+}
-+
-+func PtraceGetFpRegs(pid int, fpregsout *FpReg) (err error) {
-+	return ptrace(PTRACE_GETFPREGS, pid, uintptr(unsafe.Pointer(fpregsout)), 0)
-+}
- 
--// ioctl itself should not be exposed directly, but additional get/set
--// functions for specific types are permissible.
-+func PtraceGetRegs(pid int, regsout *Reg) (err error) {
-+	return ptrace(PTRACE_GETREGS, pid, uintptr(unsafe.Pointer(regsout)), 0)
-+}
-+
-+func PtraceLwpEvents(pid int, enable int) (err error) {
-+	return ptrace(PTRACE_LWPEVENTS, pid, 0, enable)
-+}
-+
-+func PtraceLwpInfo(pid int, info uintptr) (err error) {
-+	return ptrace(PTRACE_LWPINFO, pid, info, int(unsafe.Sizeof(PtraceLwpInfoStruct{})))
-+}
- 
--// IoctlSetInt performs an ioctl operation which sets an integer value
--// on fd, using the specified request number.
--func IoctlSetInt(fd int, req uint, value int) error {
--	return ioctl(fd, req, uintptr(value))
-+func PtracePeekData(pid int, addr uintptr, out []byte) (count int, err error) {
-+	return PtraceIO(PIOD_READ_D, pid, addr, out, SizeofLong)
- }
- 
--func IoctlSetWinsize(fd int, req uint, value *Winsize) error {
--	return ioctl(fd, req, uintptr(unsafe.Pointer(value)))
-+func PtracePeekText(pid int, addr uintptr, out []byte) (count int, err error) {
-+	return PtraceIO(PIOD_READ_I, pid, addr, out, SizeofLong)
- }
- 
--func IoctlSetTermios(fd int, req uint, value *Termios) error {
--	return ioctl(fd, req, uintptr(unsafe.Pointer(value)))
-+func PtracePokeData(pid int, addr uintptr, data []byte) (count int, err error) {
-+	return PtraceIO(PIOD_WRITE_D, pid, addr, data, SizeofLong)
- }
- 
--// IoctlGetInt performs an ioctl operation which gets an integer value
--// from fd, using the specified request number.
--func IoctlGetInt(fd int, req uint) (int, error) {
--	var value int
--	err := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))
--	return value, err
-+func PtracePokeText(pid int, addr uintptr, data []byte) (count int, err error) {
-+	return PtraceIO(PIOD_WRITE_I, pid, addr, data, SizeofLong)
- }
- 
--func IoctlGetWinsize(fd int, req uint) (*Winsize, error) {
--	var value Winsize
--	err := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))
--	return &value, err
-+func PtraceSetRegs(pid int, regs *Reg) (err error) {
-+	return ptrace(PTRACE_SETREGS, pid, uintptr(unsafe.Pointer(regs)), 0)
- }
- 
--func IoctlGetTermios(fd int, req uint) (*Termios, error) {
--	var value Termios
--	err := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))
--	return &value, err
-+func PtraceSingleStep(pid int) (err error) {
-+	return ptrace(PTRACE_SINGLESTEP, pid, 1, 0)
- }
- 
- /*
-@@ -430,11 +596,16 @@ func IoctlGetTermios(fd int, req uint) (*Termios, error) {
- //sys	Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error)
- //sys	Flock(fd int, how int) (err error)
- //sys	Fpathconf(fd int, name int) (val int, err error)
--//sys	Fstat(fd int, stat *Stat_t) (err error)
--//sys	Fstatfs(fd int, stat *Statfs_t) (err error)
-+//sys	fstat(fd int, stat *stat_freebsd11_t) (err error)
-+//sys	fstat_freebsd12(fd int, stat *Stat_t) (err error)
-+//sys	fstatat(fd int, path string, stat *stat_freebsd11_t, flags int) (err error)
-+//sys	fstatat_freebsd12(fd int, path string, stat *Stat_t, flags int) (err error)
-+//sys	fstatfs(fd int, stat *statfs_freebsd11_t) (err error)
-+//sys	fstatfs_freebsd12(fd int, stat *Statfs_t) (err error)
- //sys	Fsync(fd int) (err error)
- //sys	Ftruncate(fd int, length int64) (err error)
--//sys	Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error)
-+//sys	getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error)
-+//sys	getdirentries_freebsd12(fd int, buf []byte, basep *uint64) (n int, err error)
- //sys	Getdtablesize() (size int)
- //sysnb	Getegid() (egid int)
- //sysnb	Geteuid() (uid int)
-@@ -456,11 +627,13 @@ func IoctlGetTermios(fd int, req uint) (*Termios, error) {
- //sys	Link(path string, link string) (err error)
- //sys	Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error)
- //sys	Listen(s int, backlog int) (err error)
--//sys	Lstat(path string, stat *Stat_t) (err error)
-+//sys	lstat(path string, stat *stat_freebsd11_t) (err error)
- //sys	Mkdir(path string, mode uint32) (err error)
- //sys	Mkdirat(dirfd int, path string, mode uint32) (err error)
- //sys	Mkfifo(path string, mode uint32) (err error)
--//sys	Mknod(path string, mode uint32, dev int) (err error)
-+//sys	mknod(path string, mode uint32, dev int) (err error)
-+//sys	mknodat(fd int, path string, mode uint32, dev int) (err error)
-+//sys	mknodat_freebsd12(fd int, path string, mode uint32, dev uint64) (err error)
- //sys	Nanosleep(time *Timespec, leftover *Timespec) (err error)
- //sys	Open(path string, mode int, perm uint32) (fd int, err error)
- //sys	Openat(fdat int, path string, mode int, perm uint32) (fd int, err error)
-@@ -475,7 +648,7 @@ func IoctlGetTermios(fd int, req uint) (*Termios, error) {
- //sys	Revoke(path string) (err error)
- //sys	Rmdir(path string) (err error)
- //sys	Seek(fd int, offset int64, whence int) (newoffset int64, err error) = SYS_LSEEK
--//sys	Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error)
-+//sys	Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error)
- //sysnb	Setegid(egid int) (err error)
- //sysnb	Seteuid(euid int) (err error)
- //sysnb	Setgid(gid int) (err error)
-@@ -490,8 +663,9 @@ func IoctlGetTermios(fd int, req uint) (*Termios, error) {
- //sysnb	Setsid() (pid int, err error)
- //sysnb	Settimeofday(tp *Timeval) (err error)
- //sysnb	Setuid(uid int) (err error)
--//sys	Stat(path string, stat *Stat_t) (err error)
--//sys	Statfs(path string, stat *Statfs_t) (err error)
-+//sys	stat(path string, stat *stat_freebsd11_t) (err error)
-+//sys	statfs(path string, stat *statfs_freebsd11_t) (err error)
-+//sys	statfs_freebsd12(path string, stat *Statfs_t) (err error)
- //sys	Symlink(path string, link string) (err error)
- //sys	Symlinkat(oldpath string, newdirfd int, newpath string) (err error)
- //sys	Sync() (err error)
-@@ -546,22 +720,14 @@ func IoctlGetTermios(fd int, req uint) (*Termios, error) {
- // Kqueue_portset
- // Getattrlist
- // Setattrlist
-+// Getdents
- // Getdirentriesattr
- // Searchfs
- // Delete
- // Copyfile
--// Poll
- // Watchevent
- // Waitevent
- // Modwatch
--// Getxattr
--// Fgetxattr
--// Setxattr
--// Fsetxattr
--// Removexattr
--// Fremovexattr
--// Listxattr
--// Flistxattr
- // Fsctl
- // Initgroups
- // Posix_spawn
-diff --git a/vendor/golang.org/x/sys/unix/syscall_freebsd_386.go b/vendor/golang.org/x/sys/unix/syscall_freebsd_386.go
-index 6a0cd804..72a506dd 100644
---- a/vendor/golang.org/x/sys/unix/syscall_freebsd_386.go
-+++ b/vendor/golang.org/x/sys/unix/syscall_freebsd_386.go
-@@ -11,21 +11,12 @@ import (
- 	"unsafe"
- )
- 
--func Getpagesize() int { return 4096 }
--
--func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) }
--
--func NsecToTimespec(nsec int64) (ts Timespec) {
--	ts.Sec = int32(nsec / 1e9)
--	ts.Nsec = int32(nsec % 1e9)
--	return
-+func setTimespec(sec, nsec int64) Timespec {
-+	return Timespec{Sec: int32(sec), Nsec: int32(nsec)}
- }
- 
--func NsecToTimeval(nsec int64) (tv Timeval) {
--	nsec += 999 // round up to microsecond
--	tv.Usec = int32(nsec % 1e9 / 1e3)
--	tv.Sec = int32(nsec / 1e9)
--	return
-+func setTimeval(sec, usec int64) Timeval {
-+	return Timeval{Sec: int32(sec), Usec: int32(usec)}
- }
- 
- func SetKevent(k *Kevent_t, fd, mode, flags int) {
-@@ -42,6 +33,10 @@ func (msghdr *Msghdr) SetControllen(length int) {
- 	msghdr.Controllen = uint32(length)
- }
- 
-+func (msghdr *Msghdr) SetIovlen(length int) {
-+	msghdr.Iovlen = int32(length)
-+}
-+
- func (cmsg *Cmsghdr) SetLen(length int) {
- 	cmsg.Len = uint32(length)
- }
-@@ -59,3 +54,13 @@ func sendfile(outfd int, infd int, offset *int64, count int) (written int, err e
- }
- 
- func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno)
-+
-+func PtraceGetFsBase(pid int, fsbase *int64) (err error) {
-+	return ptrace(PTRACE_GETFSBASE, pid, uintptr(unsafe.Pointer(fsbase)), 0)
-+}
-+
-+func PtraceIO(req int, pid int, addr uintptr, out []byte, countin int) (count int, err error) {
-+	ioDesc := PtraceIoDesc{Op: int32(req), Offs: (*byte)(unsafe.Pointer(addr)), Addr: (*byte)(unsafe.Pointer(&out[0])), Len: uint32(countin)}
-+	err = ptrace(PTRACE_IO, pid, uintptr(unsafe.Pointer(&ioDesc)), 0)
-+	return int(ioDesc.Len), err
-+}
-diff --git a/vendor/golang.org/x/sys/unix/syscall_freebsd_amd64.go b/vendor/golang.org/x/sys/unix/syscall_freebsd_amd64.go
-index e142540e..d5e376ac 100644
---- a/vendor/golang.org/x/sys/unix/syscall_freebsd_amd64.go
-+++ b/vendor/golang.org/x/sys/unix/syscall_freebsd_amd64.go
-@@ -11,21 +11,12 @@ import (
- 	"unsafe"
- )
- 
--func Getpagesize() int { return 4096 }
--
--func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) }
--
--func NsecToTimespec(nsec int64) (ts Timespec) {
--	ts.Sec = nsec / 1e9
--	ts.Nsec = nsec % 1e9
--	return
-+func setTimespec(sec, nsec int64) Timespec {
-+	return Timespec{Sec: sec, Nsec: nsec}
- }
- 
--func NsecToTimeval(nsec int64) (tv Timeval) {
--	nsec += 999 // round up to microsecond
--	tv.Usec = nsec % 1e9 / 1e3
--	tv.Sec = int64(nsec / 1e9)
--	return
-+func setTimeval(sec, usec int64) Timeval {
-+	return Timeval{Sec: sec, Usec: usec}
- }
- 
- func SetKevent(k *Kevent_t, fd, mode, flags int) {
-@@ -42,6 +33,10 @@ func (msghdr *Msghdr) SetControllen(length int) {
- 	msghdr.Controllen = uint32(length)
- }
- 
-+func (msghdr *Msghdr) SetIovlen(length int) {
-+	msghdr.Iovlen = int32(length)
-+}
-+
- func (cmsg *Cmsghdr) SetLen(length int) {
- 	cmsg.Len = uint32(length)
- }
-@@ -59,3 +54,13 @@ func sendfile(outfd int, infd int, offset *int64, count int) (written int, err e
- }
- 
- func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno)
-+
-+func PtraceGetFsBase(pid int, fsbase *int64) (err error) {
-+	return ptrace(PTRACE_GETFSBASE, pid, uintptr(unsafe.Pointer(fsbase)), 0)
-+}
-+
-+func PtraceIO(req int, pid int, addr uintptr, out []byte, countin int) (count int, err error) {
-+	ioDesc := PtraceIoDesc{Op: int32(req), Offs: (*byte)(unsafe.Pointer(addr)), Addr: (*byte)(unsafe.Pointer(&out[0])), Len: uint64(countin)}
-+	err = ptrace(PTRACE_IO, pid, uintptr(unsafe.Pointer(&ioDesc)), 0)
-+	return int(ioDesc.Len), err
-+}
-diff --git a/vendor/golang.org/x/sys/unix/syscall_freebsd_arm.go b/vendor/golang.org/x/sys/unix/syscall_freebsd_arm.go
-index 5504cb12..4ea45bce 100644
---- a/vendor/golang.org/x/sys/unix/syscall_freebsd_arm.go
-+++ b/vendor/golang.org/x/sys/unix/syscall_freebsd_arm.go
-@@ -11,21 +11,12 @@ import (
- 	"unsafe"
- )
- 
--func Getpagesize() int { return 4096 }
--
--func TimespecToNsec(ts Timespec) int64 { return ts.Sec*1e9 + int64(ts.Nsec) }
--
--func NsecToTimespec(nsec int64) (ts Timespec) {
--	ts.Sec = nsec / 1e9
--	ts.Nsec = int32(nsec % 1e9)
--	return
-+func setTimespec(sec, nsec int64) Timespec {
-+	return Timespec{Sec: sec, Nsec: int32(nsec)}
- }
- 
--func NsecToTimeval(nsec int64) (tv Timeval) {
--	nsec += 999 // round up to microsecond
--	tv.Usec = int32(nsec % 1e9 / 1e3)
--	tv.Sec = nsec / 1e9
--	return
-+func setTimeval(sec, usec int64) Timeval {
-+	return Timeval{Sec: sec, Usec: int32(usec)}
- }
- 
- func SetKevent(k *Kevent_t, fd, mode, flags int) {
-@@ -42,6 +33,10 @@ func (msghdr *Msghdr) SetControllen(length int) {
- 	msghdr.Controllen = uint32(length)
- }
- 
-+func (msghdr *Msghdr) SetIovlen(length int) {
-+	msghdr.Iovlen = int32(length)
-+}
-+
- func (cmsg *Cmsghdr) SetLen(length int) {
- 	cmsg.Len = uint32(length)
- }
-@@ -59,3 +54,9 @@ func sendfile(outfd int, infd int, offset *int64, count int) (written int, err e
- }
- 
- func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno)
-+
-+func PtraceIO(req int, pid int, addr uintptr, out []byte, countin int) (count int, err error) {
-+	ioDesc := PtraceIoDesc{Op: int32(req), Offs: (*byte)(unsafe.Pointer(addr)), Addr: (*byte)(unsafe.Pointer(&out[0])), Len: uint32(countin)}
-+	err = ptrace(PTRACE_IO, pid, uintptr(unsafe.Pointer(&ioDesc)), 0)
-+	return int(ioDesc.Len), err
-+}
-diff --git a/vendor/golang.org/x/sys/unix/syscall_dragonfly_amd64.go b/vendor/golang.org/x/sys/unix/syscall_freebsd_arm64.go
-similarity index 59%
-copy from vendor/golang.org/x/sys/unix/syscall_dragonfly_amd64.go
-copy to vendor/golang.org/x/sys/unix/syscall_freebsd_arm64.go
-index da7cb798..aa5326db 100644
---- a/vendor/golang.org/x/sys/unix/syscall_dragonfly_amd64.go
-+++ b/vendor/golang.org/x/sys/unix/syscall_freebsd_arm64.go
-@@ -1,8 +1,8 @@
--// Copyright 2009 The Go Authors. All rights reserved.
-+// Copyright 2018 The Go Authors. All rights reserved.
- // Use of this source code is governed by a BSD-style
- // license that can be found in the LICENSE file.
- 
--// +build amd64,dragonfly
-+// +build arm64,freebsd
- 
- package unix
- 
-@@ -11,21 +11,12 @@ import (
- 	"unsafe"
- )
- 
--func Getpagesize() int { return 4096 }
--
--func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) }
--
--func NsecToTimespec(nsec int64) (ts Timespec) {
--	ts.Sec = nsec / 1e9
--	ts.Nsec = nsec % 1e9
--	return
-+func setTimespec(sec, nsec int64) Timespec {
-+	return Timespec{Sec: sec, Nsec: nsec}
- }
- 
--func NsecToTimeval(nsec int64) (tv Timeval) {
--	nsec += 999 // round up to microsecond
--	tv.Usec = nsec % 1e9 / 1e3
--	tv.Sec = int64(nsec / 1e9)
--	return
-+func setTimeval(sec, usec int64) Timeval {
-+	return Timeval{Sec: sec, Usec: usec}
- }
- 
- func SetKevent(k *Kevent_t, fd, mode, flags int) {
-@@ -42,6 +33,10 @@ func (msghdr *Msghdr) SetControllen(length int) {
- 	msghdr.Controllen = uint32(length)
- }
- 
-+func (msghdr *Msghdr) SetIovlen(length int) {
-+	msghdr.Iovlen = int32(length)
-+}
-+
- func (cmsg *Cmsghdr) SetLen(length int) {
- 	cmsg.Len = uint32(length)
- }
-@@ -59,3 +54,9 @@ func sendfile(outfd int, infd int, offset *int64, count int) (written int, err e
- }
- 
- func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno)
-+
-+func PtraceIO(req int, pid int, addr uintptr, out []byte, countin int) (count int, err error) {
-+	ioDesc := PtraceIoDesc{Op: int32(req), Offs: (*byte)(unsafe.Pointer(addr)), Addr: (*byte)(unsafe.Pointer(&out[0])), Len: uint64(countin)}
-+	err = ptrace(PTRACE_IO, pid, uintptr(unsafe.Pointer(&ioDesc)), 0)
-+	return int(ioDesc.Len), err
-+}
-diff --git a/vendor/golang.org/x/sys/unix/syscall_illumos.go b/vendor/golang.org/x/sys/unix/syscall_illumos.go
-new file mode 100644
-index 00000000..99e62dcd
---- /dev/null
-+++ b/vendor/golang.org/x/sys/unix/syscall_illumos.go
-@@ -0,0 +1,57 @@
-+// Copyright 2009 The Go Authors. All rights reserved.
-+// Use of this source code is governed by a BSD-style
-+// license that can be found in the LICENSE file.
-+
-+// illumos system calls not present on Solaris.
-+
-+// +build amd64,illumos
-+
-+package unix
-+
-+import "unsafe"
-+
-+func bytes2iovec(bs [][]byte) []Iovec {
-+	iovecs := make([]Iovec, len(bs))
-+	for i, b := range bs {
-+		iovecs[i].SetLen(len(b))
-+		if len(b) > 0 {
-+			// somehow Iovec.Base on illumos is (*int8), not (*byte)
-+			iovecs[i].Base = (*int8)(unsafe.Pointer(&b[0]))
-+		} else {
-+			iovecs[i].Base = (*int8)(unsafe.Pointer(&_zero))
-+		}
-+	}
-+	return iovecs
-+}
-+
-+//sys   readv(fd int, iovs []Iovec) (n int, err error)
-+
-+func Readv(fd int, iovs [][]byte) (n int, err error) {
-+	iovecs := bytes2iovec(iovs)
-+	n, err = readv(fd, iovecs)
-+	return n, err
-+}
-+
-+//sys   preadv(fd int, iovs []Iovec, off int64) (n int, err error)
-+
-+func Preadv(fd int, iovs [][]byte, off int64) (n int, err error) {
-+	iovecs := bytes2iovec(iovs)
-+	n, err = preadv(fd, iovecs, off)
-+	return n, err
-+}
-+
-+//sys   writev(fd int, iovs []Iovec) (n int, err error)
-+
-+func Writev(fd int, iovs [][]byte) (n int, err error) {
-+	iovecs := bytes2iovec(iovs)
-+	n, err = writev(fd, iovecs)
-+	return n, err
-+}
-+
-+//sys   pwritev(fd int, iovs []Iovec, off int64) (n int, err error)
-+
-+func Pwritev(fd int, iovs [][]byte, off int64) (n int, err error) {
-+	iovecs := bytes2iovec(iovs)
-+	n, err = pwritev(fd, iovecs, off)
-+	return n, err
-+}
-diff --git a/vendor/golang.org/x/sys/unix/syscall_linux.go b/vendor/golang.org/x/sys/unix/syscall_linux.go
-index 1b7d59d8..bbe1abbc 100644
---- a/vendor/golang.org/x/sys/unix/syscall_linux.go
-+++ b/vendor/golang.org/x/sys/unix/syscall_linux.go
-@@ -12,6 +12,8 @@
- package unix
- 
- import (
-+	"encoding/binary"
-+	"runtime"
- 	"syscall"
- 	"unsafe"
- )
-@@ -36,6 +38,20 @@ func Creat(path string, mode uint32) (fd int, err error) {
- 	return Open(path, O_CREAT|O_WRONLY|O_TRUNC, mode)
- }
- 
-+//sys	FanotifyInit(flags uint, event_f_flags uint) (fd int, err error)
-+//sys	fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error)
-+
-+func FanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname string) (err error) {
-+	if pathname == "" {
-+		return fanotifyMark(fd, flags, mask, dirFd, nil)
-+	}
-+	p, err := BytePtrFromString(pathname)
-+	if err != nil {
-+		return err
-+	}
-+	return fanotifyMark(fd, flags, mask, dirFd, p)
-+}
-+
- //sys	fchmodat(dirfd int, path string, mode uint32) (err error)
- 
- func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) {
-@@ -55,37 +71,41 @@ func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) {
- // ioctl itself should not be exposed directly, but additional get/set
- // functions for specific types are permissible.
- 
--// IoctlSetInt performs an ioctl operation which sets an integer value
--// on fd, using the specified request number.
--func IoctlSetInt(fd int, req uint, value int) error {
--	return ioctl(fd, req, uintptr(value))
-+// IoctlRetInt performs an ioctl operation specified by req on a device
-+// associated with opened file descriptor fd, and returns a non-negative
-+// integer that is returned by the ioctl syscall.
-+func IoctlRetInt(fd int, req uint) (int, error) {
-+	ret, _, err := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), 0)
-+	if err != 0 {
-+		return 0, err
-+	}
-+	return int(ret), nil
- }
- 
--func IoctlSetWinsize(fd int, req uint, value *Winsize) error {
--	return ioctl(fd, req, uintptr(unsafe.Pointer(value)))
-+// IoctlSetPointerInt performs an ioctl operation which sets an
-+// integer value on fd, using the specified request number. The ioctl
-+// argument is called with a pointer to the integer value, rather than
-+// passing the integer value directly.
-+func IoctlSetPointerInt(fd int, req uint, value int) error {
-+	v := int32(value)
-+	return ioctl(fd, req, uintptr(unsafe.Pointer(&v)))
- }
- 
--func IoctlSetTermios(fd int, req uint, value *Termios) error {
--	return ioctl(fd, req, uintptr(unsafe.Pointer(value)))
-+func IoctlSetRTCTime(fd int, value *RTCTime) error {
-+	err := ioctl(fd, RTC_SET_TIME, uintptr(unsafe.Pointer(value)))
-+	runtime.KeepAlive(value)
-+	return err
- }
- 
--// IoctlGetInt performs an ioctl operation which gets an integer value
--// from fd, using the specified request number.
--func IoctlGetInt(fd int, req uint) (int, error) {
--	var value int
-+func IoctlGetUint32(fd int, req uint) (uint32, error) {
-+	var value uint32
- 	err := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))
- 	return value, err
- }
- 
--func IoctlGetWinsize(fd int, req uint) (*Winsize, error) {
--	var value Winsize
--	err := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))
--	return &value, err
--}
--
--func IoctlGetTermios(fd int, req uint) (*Termios, error) {
--	var value Termios
--	err := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))
-+func IoctlGetRTCTime(fd int) (*RTCTime, error) {
-+	var value RTCTime
-+	err := ioctl(fd, RTC_RD_TIME, uintptr(unsafe.Pointer(&value)))
- 	return &value, err
- }
- 
-@@ -148,8 +168,6 @@ func Unlink(path string) error {
- 
- //sys	Unlinkat(dirfd int, path string, flags int) (err error)
- 
--//sys	utimes(path string, times *[2]Timeval) (err error)
--
- func Utimes(path string, tv []Timeval) error {
- 	if tv == nil {
- 		err := utimensat(AT_FDCWD, path, nil, 0)
-@@ -207,20 +225,14 @@ func UtimesNanoAt(dirfd int, path string, ts []Timespec, flags int) error {
- 	return utimensat(dirfd, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), flags)
- }
- 
--//sys	futimesat(dirfd int, path *byte, times *[2]Timeval) (err error)
--
- func Futimesat(dirfd int, path string, tv []Timeval) error {
--	pathp, err := BytePtrFromString(path)
--	if err != nil {
--		return err
--	}
- 	if tv == nil {
--		return futimesat(dirfd, pathp, nil)
-+		return futimesat(dirfd, path, nil)
- 	}
- 	if len(tv) != 2 {
- 		return EINVAL
- 	}
--	return futimesat(dirfd, pathp, (*[2]Timeval)(unsafe.Pointer(&tv[0])))
-+	return futimesat(dirfd, path, (*[2]Timeval)(unsafe.Pointer(&tv[0])))
- }
- 
- func Futimes(fd int, tv []Timeval) (err error) {
-@@ -255,7 +267,7 @@ func Getgroups() (gids []int, err error) {
- 		return nil, nil
- 	}
- 
--	// Sanity check group count.  Max is 1<<16 on Linux.
-+	// Sanity check group count. Max is 1<<16 on Linux.
- 	if n < 0 || n > 1<<20 {
- 		return nil, EINVAL
- 	}
-@@ -290,8 +302,8 @@ type WaitStatus uint32
- // 0x7F (stopped), or a signal number that caused an exit.
- // The 0x80 bit is whether there was a core dump.
- // An extra number (exit code, signal causing a stop)
--// is in the high bits.  At least that's the idea.
--// There are various irregularities.  For example, the
-+// is in the high bits. At least that's the idea.
-+// There are various irregularities. For example, the
- // "continued" status is 0xFFFF, distinguishing itself
- // from stopped via the core dump bit.
- 
-@@ -413,6 +425,7 @@ func (sa *SockaddrUnix) sockaddr() (unsafe.Pointer, _Socklen, error) {
- 	return unsafe.Pointer(&sa.raw), sl, nil
- }
- 
-+// SockaddrLinklayer implements the Sockaddr interface for AF_PACKET type sockets.
- type SockaddrLinklayer struct {
- 	Protocol uint16
- 	Ifindex  int
-@@ -439,6 +452,7 @@ func (sa *SockaddrLinklayer) sockaddr() (unsafe.Pointer, _Socklen, error) {
- 	return unsafe.Pointer(&sa.raw), SizeofSockaddrLinklayer, nil
- }
- 
-+// SockaddrNetlink implements the Sockaddr interface for AF_NETLINK type sockets.
- type SockaddrNetlink struct {
- 	Family uint16
- 	Pad    uint16
-@@ -455,6 +469,8 @@ func (sa *SockaddrNetlink) sockaddr() (unsafe.Pointer, _Socklen, error) {
- 	return unsafe.Pointer(&sa.raw), SizeofSockaddrNetlink, nil
- }
- 
-+// SockaddrHCI implements the Sockaddr interface for AF_BLUETOOTH type sockets
-+// using the HCI protocol.
- type SockaddrHCI struct {
- 	Dev     uint16
- 	Channel uint16
-@@ -468,6 +484,72 @@ func (sa *SockaddrHCI) sockaddr() (unsafe.Pointer, _Socklen, error) {
- 	return unsafe.Pointer(&sa.raw), SizeofSockaddrHCI, nil
- }
- 
-+// SockaddrL2 implements the Sockaddr interface for AF_BLUETOOTH type sockets
-+// using the L2CAP protocol.
-+type SockaddrL2 struct {
-+	PSM      uint16
-+	CID      uint16
-+	Addr     [6]uint8
-+	AddrType uint8
-+	raw      RawSockaddrL2
-+}
-+
-+func (sa *SockaddrL2) sockaddr() (unsafe.Pointer, _Socklen, error) {
-+	sa.raw.Family = AF_BLUETOOTH
-+	psm := (*[2]byte)(unsafe.Pointer(&sa.raw.Psm))
-+	psm[0] = byte(sa.PSM)
-+	psm[1] = byte(sa.PSM >> 8)
-+	for i := 0; i < len(sa.Addr); i++ {
-+		sa.raw.Bdaddr[i] = sa.Addr[len(sa.Addr)-1-i]
-+	}
-+	cid := (*[2]byte)(unsafe.Pointer(&sa.raw.Cid))
-+	cid[0] = byte(sa.CID)
-+	cid[1] = byte(sa.CID >> 8)
-+	sa.raw.Bdaddr_type = sa.AddrType
-+	return unsafe.Pointer(&sa.raw), SizeofSockaddrL2, nil
-+}
-+
-+// SockaddrRFCOMM implements the Sockaddr interface for AF_BLUETOOTH type sockets
-+// using the RFCOMM protocol.
-+//
-+// Server example:
-+//
-+//      fd, _ := Socket(AF_BLUETOOTH, SOCK_STREAM, BTPROTO_RFCOMM)
-+//      _ = unix.Bind(fd, &unix.SockaddrRFCOMM{
-+//      	Channel: 1,
-+//      	Addr:    [6]uint8{0, 0, 0, 0, 0, 0}, // BDADDR_ANY or 00:00:00:00:00:00
-+//      })
-+//      _ = Listen(fd, 1)
-+//      nfd, sa, _ := Accept(fd)
-+//      fmt.Printf("conn addr=%v fd=%d", sa.(*unix.SockaddrRFCOMM).Addr, nfd)
-+//      Read(nfd, buf)
-+//
-+// Client example:
-+//
-+//      fd, _ := Socket(AF_BLUETOOTH, SOCK_STREAM, BTPROTO_RFCOMM)
-+//      _ = Connect(fd, &SockaddrRFCOMM{
-+//      	Channel: 1,
-+//      	Addr:    [6]byte{0x11, 0x22, 0x33, 0xaa, 0xbb, 0xcc}, // CC:BB:AA:33:22:11
-+//      })
-+//      Write(fd, []byte(`hello`))
-+type SockaddrRFCOMM struct {
-+	// Addr represents a bluetooth address, byte ordering is little-endian.
-+	Addr [6]uint8
-+
-+	// Channel is a designated bluetooth channel, only 1-30 are available for use.
-+	// Since Linux 2.6.7 and further zero value is the first available channel.
-+	Channel uint8
-+
-+	raw RawSockaddrRFCOMM
-+}
-+
-+func (sa *SockaddrRFCOMM) sockaddr() (unsafe.Pointer, _Socklen, error) {
-+	sa.raw.Family = AF_BLUETOOTH
-+	sa.raw.Channel = sa.Channel
-+	sa.raw.Bdaddr = sa.Addr
-+	return unsafe.Pointer(&sa.raw), SizeofSockaddrRFCOMM, nil
-+}
-+
- // SockaddrCAN implements the Sockaddr interface for AF_CAN type sockets.
- // The RxID and TxID fields are used for transport protocol addressing in
- // (CAN_TP16, CAN_TP20, CAN_MCNET, and CAN_ISOTP), they can be left with
-@@ -630,7 +712,168 @@ func (sa *SockaddrVM) sockaddr() (unsafe.Pointer, _Socklen, error) {
- 	return unsafe.Pointer(&sa.raw), SizeofSockaddrVM, nil
- }
- 
--func anyToSockaddr(rsa *RawSockaddrAny) (Sockaddr, error) {
-+type SockaddrXDP struct {
-+	Flags        uint16
-+	Ifindex      uint32
-+	QueueID      uint32
-+	SharedUmemFD uint32
-+	raw          RawSockaddrXDP
-+}
-+
-+func (sa *SockaddrXDP) sockaddr() (unsafe.Pointer, _Socklen, error) {
-+	sa.raw.Family = AF_XDP
-+	sa.raw.Flags = sa.Flags
-+	sa.raw.Ifindex = sa.Ifindex
-+	sa.raw.Queue_id = sa.QueueID
-+	sa.raw.Shared_umem_fd = sa.SharedUmemFD
-+
-+	return unsafe.Pointer(&sa.raw), SizeofSockaddrXDP, nil
-+}
-+
-+// This constant mirrors the #define of PX_PROTO_OE in
-+// linux/if_pppox.h. We're defining this by hand here instead of
-+// autogenerating through mkerrors.sh because including
-+// linux/if_pppox.h causes some declaration conflicts with other
-+// includes (linux/if_pppox.h includes linux/in.h, which conflicts
-+// with netinet/in.h). Given that we only need a single zero constant
-+// out of that file, it's cleaner to just define it by hand here.
-+const px_proto_oe = 0
-+
-+type SockaddrPPPoE struct {
-+	SID    uint16
-+	Remote []byte
-+	Dev    string
-+	raw    RawSockaddrPPPoX
-+}
-+
-+func (sa *SockaddrPPPoE) sockaddr() (unsafe.Pointer, _Socklen, error) {
-+	if len(sa.Remote) != 6 {
-+		return nil, 0, EINVAL
-+	}
-+	if len(sa.Dev) > IFNAMSIZ-1 {
-+		return nil, 0, EINVAL
-+	}
-+
-+	*(*uint16)(unsafe.Pointer(&sa.raw[0])) = AF_PPPOX
-+	// This next field is in host-endian byte order. We can't use the
-+	// same unsafe pointer cast as above, because this value is not
-+	// 32-bit aligned and some architectures don't allow unaligned
-+	// access.
-+	//
-+	// However, the value of px_proto_oe is 0, so we can use
-+	// encoding/binary helpers to write the bytes without worrying
-+	// about the ordering.
-+	binary.BigEndian.PutUint32(sa.raw[2:6], px_proto_oe)
-+	// This field is deliberately big-endian, unlike the previous
-+	// one. The kernel expects SID to be in network byte order.
-+	binary.BigEndian.PutUint16(sa.raw[6:8], sa.SID)
-+	copy(sa.raw[8:14], sa.Remote)
-+	for i := 14; i < 14+IFNAMSIZ; i++ {
-+		sa.raw[i] = 0
-+	}
-+	copy(sa.raw[14:], sa.Dev)
-+	return unsafe.Pointer(&sa.raw), SizeofSockaddrPPPoX, nil
-+}
-+
-+// SockaddrTIPC implements the Sockaddr interface for AF_TIPC type sockets.
-+// For more information on TIPC, see: http://tipc.sourceforge.net/.
-+type SockaddrTIPC struct {
-+	// Scope is the publication scopes when binding service/service range.
-+	// Should be set to TIPC_CLUSTER_SCOPE or TIPC_NODE_SCOPE.
-+	Scope int
-+
-+	// Addr is the type of address used to manipulate a socket. Addr must be
-+	// one of:
-+	//  - *TIPCSocketAddr: "id" variant in the C addr union
-+	//  - *TIPCServiceRange: "nameseq" variant in the C addr union
-+	//  - *TIPCServiceName: "name" variant in the C addr union
-+	//
-+	// If nil, EINVAL will be returned when the structure is used.
-+	Addr TIPCAddr
-+
-+	raw RawSockaddrTIPC
-+}
-+
-+// TIPCAddr is implemented by types that can be used as an address for
-+// SockaddrTIPC. It is only implemented by *TIPCSocketAddr, *TIPCServiceRange,
-+// and *TIPCServiceName.
-+type TIPCAddr interface {
-+	tipcAddrtype() uint8
-+	tipcAddr() [12]byte
-+}
-+
-+func (sa *TIPCSocketAddr) tipcAddr() [12]byte {
-+	var out [12]byte
-+	copy(out[:], (*(*[unsafe.Sizeof(TIPCSocketAddr{})]byte)(unsafe.Pointer(sa)))[:])
-+	return out
-+}
-+
-+func (sa *TIPCSocketAddr) tipcAddrtype() uint8 { return TIPC_SOCKET_ADDR }
-+
-+func (sa *TIPCServiceRange) tipcAddr() [12]byte {
-+	var out [12]byte
-+	copy(out[:], (*(*[unsafe.Sizeof(TIPCServiceRange{})]byte)(unsafe.Pointer(sa)))[:])
-+	return out
-+}
-+
-+func (sa *TIPCServiceRange) tipcAddrtype() uint8 { return TIPC_SERVICE_RANGE }
-+
-+func (sa *TIPCServiceName) tipcAddr() [12]byte {
-+	var out [12]byte
-+	copy(out[:], (*(*[unsafe.Sizeof(TIPCServiceName{})]byte)(unsafe.Pointer(sa)))[:])
-+	return out
-+}
-+
-+func (sa *TIPCServiceName) tipcAddrtype() uint8 { return TIPC_SERVICE_ADDR }
-+
-+func (sa *SockaddrTIPC) sockaddr() (unsafe.Pointer, _Socklen, error) {
-+	if sa.Addr == nil {
-+		return nil, 0, EINVAL
-+	}
-+
-+	sa.raw.Family = AF_TIPC
-+	sa.raw.Scope = int8(sa.Scope)
-+	sa.raw.Addrtype = sa.Addr.tipcAddrtype()
-+	sa.raw.Addr = sa.Addr.tipcAddr()
-+
-+	return unsafe.Pointer(&sa.raw), SizeofSockaddrTIPC, nil
-+}
-+
-+// SockaddrL2TPIP implements the Sockaddr interface for IPPROTO_L2TP/AF_INET sockets.
-+type SockaddrL2TPIP struct {
-+	Addr   [4]byte
-+	ConnId uint32
-+	raw    RawSockaddrL2TPIP
-+}
-+
-+func (sa *SockaddrL2TPIP) sockaddr() (unsafe.Pointer, _Socklen, error) {
-+	sa.raw.Family = AF_INET
-+	sa.raw.Conn_id = sa.ConnId
-+	for i := 0; i < len(sa.Addr); i++ {
-+		sa.raw.Addr[i] = sa.Addr[i]
-+	}
-+	return unsafe.Pointer(&sa.raw), SizeofSockaddrL2TPIP, nil
-+}
-+
-+// SockaddrL2TPIP6 implements the Sockaddr interface for IPPROTO_L2TP/AF_INET6 sockets.
-+type SockaddrL2TPIP6 struct {
-+	Addr   [16]byte
-+	ZoneId uint32
-+	ConnId uint32
-+	raw    RawSockaddrL2TPIP6
-+}
-+
-+func (sa *SockaddrL2TPIP6) sockaddr() (unsafe.Pointer, _Socklen, error) {
-+	sa.raw.Family = AF_INET6
-+	sa.raw.Conn_id = sa.ConnId
-+	sa.raw.Scope_id = sa.ZoneId
-+	for i := 0; i < len(sa.Addr); i++ {
-+		sa.raw.Addr[i] = sa.Addr[i]
-+	}
-+	return unsafe.Pointer(&sa.raw), SizeofSockaddrL2TPIP6, nil
-+}
-+
-+func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) {
- 	switch rsa.Addr.Family {
- 	case AF_NETLINK:
- 		pp := (*RawSockaddrNetlink)(unsafe.Pointer(rsa))
-@@ -675,30 +918,63 @@ func anyToSockaddr(rsa *RawSockaddrAny) (Sockaddr, error) {
- 		for n < len(pp.Path) && pp.Path[n] != 0 {
- 			n++
- 		}
--		bytes := (*[10000]byte)(unsafe.Pointer(&pp.Path[0]))[0:n]
-+		bytes := (*[len(pp.Path)]byte)(unsafe.Pointer(&pp.Path[0]))[0:n]
- 		sa.Name = string(bytes)
- 		return sa, nil
- 
- 	case AF_INET:
--		pp := (*RawSockaddrInet4)(unsafe.Pointer(rsa))
--		sa := new(SockaddrInet4)
--		p := (*[2]byte)(unsafe.Pointer(&pp.Port))
--		sa.Port = int(p[0])<<8 + int(p[1])
--		for i := 0; i < len(sa.Addr); i++ {
--			sa.Addr[i] = pp.Addr[i]
-+		proto, err := GetsockoptInt(fd, SOL_SOCKET, SO_PROTOCOL)
-+		if err != nil {
-+			return nil, err
-+		}
-+
-+		switch proto {
-+		case IPPROTO_L2TP:
-+			pp := (*RawSockaddrL2TPIP)(unsafe.Pointer(rsa))
-+			sa := new(SockaddrL2TPIP)
-+			sa.ConnId = pp.Conn_id
-+			for i := 0; i < len(sa.Addr); i++ {
-+				sa.Addr[i] = pp.Addr[i]
-+			}
-+			return sa, nil
-+		default:
-+			pp := (*RawSockaddrInet4)(unsafe.Pointer(rsa))
-+			sa := new(SockaddrInet4)
-+			p := (*[2]byte)(unsafe.Pointer(&pp.Port))
-+			sa.Port = int(p[0])<<8 + int(p[1])
-+			for i := 0; i < len(sa.Addr); i++ {
-+				sa.Addr[i] = pp.Addr[i]
-+			}
-+			return sa, nil
- 		}
--		return sa, nil
- 
- 	case AF_INET6:
--		pp := (*RawSockaddrInet6)(unsafe.Pointer(rsa))
--		sa := new(SockaddrInet6)
--		p := (*[2]byte)(unsafe.Pointer(&pp.Port))
--		sa.Port = int(p[0])<<8 + int(p[1])
--		sa.ZoneId = pp.Scope_id
--		for i := 0; i < len(sa.Addr); i++ {
--			sa.Addr[i] = pp.Addr[i]
-+		proto, err := GetsockoptInt(fd, SOL_SOCKET, SO_PROTOCOL)
-+		if err != nil {
-+			return nil, err
-+		}
-+
-+		switch proto {
-+		case IPPROTO_L2TP:
-+			pp := (*RawSockaddrL2TPIP6)(unsafe.Pointer(rsa))
-+			sa := new(SockaddrL2TPIP6)
-+			sa.ConnId = pp.Conn_id
-+			sa.ZoneId = pp.Scope_id
-+			for i := 0; i < len(sa.Addr); i++ {
-+				sa.Addr[i] = pp.Addr[i]
-+			}
-+			return sa, nil
-+		default:
-+			pp := (*RawSockaddrInet6)(unsafe.Pointer(rsa))
-+			sa := new(SockaddrInet6)
-+			p := (*[2]byte)(unsafe.Pointer(&pp.Port))
-+			sa.Port = int(p[0])<<8 + int(p[1])
-+			sa.ZoneId = pp.Scope_id
-+			for i := 0; i < len(sa.Addr); i++ {
-+				sa.Addr[i] = pp.Addr[i]
-+			}
-+			return sa, nil
- 		}
--		return sa, nil
- 
- 	case AF_VSOCK:
- 		pp := (*RawSockaddrVM)(unsafe.Pointer(rsa))
-@@ -706,6 +982,76 @@ func anyToSockaddr(rsa *RawSockaddrAny) (Sockaddr, error) {
- 			CID:  pp.Cid,
- 			Port: pp.Port,
- 		}
-+		return sa, nil
-+	case AF_BLUETOOTH:
-+		proto, err := GetsockoptInt(fd, SOL_SOCKET, SO_PROTOCOL)
-+		if err != nil {
-+			return nil, err
-+		}
-+		// only BTPROTO_L2CAP and BTPROTO_RFCOMM can accept connections
-+		switch proto {
-+		case BTPROTO_L2CAP:
-+			pp := (*RawSockaddrL2)(unsafe.Pointer(rsa))
-+			sa := &SockaddrL2{
-+				PSM:      pp.Psm,
-+				CID:      pp.Cid,
-+				Addr:     pp.Bdaddr,
-+				AddrType: pp.Bdaddr_type,
-+			}
-+			return sa, nil
-+		case BTPROTO_RFCOMM:
-+			pp := (*RawSockaddrRFCOMM)(unsafe.Pointer(rsa))
-+			sa := &SockaddrRFCOMM{
-+				Channel: pp.Channel,
-+				Addr:    pp.Bdaddr,
-+			}
-+			return sa, nil
-+		}
-+	case AF_XDP:
-+		pp := (*RawSockaddrXDP)(unsafe.Pointer(rsa))
-+		sa := &SockaddrXDP{
-+			Flags:        pp.Flags,
-+			Ifindex:      pp.Ifindex,
-+			QueueID:      pp.Queue_id,
-+			SharedUmemFD: pp.Shared_umem_fd,
-+		}
-+		return sa, nil
-+	case AF_PPPOX:
-+		pp := (*RawSockaddrPPPoX)(unsafe.Pointer(rsa))
-+		if binary.BigEndian.Uint32(pp[2:6]) != px_proto_oe {
-+			return nil, EINVAL
-+		}
-+		sa := &SockaddrPPPoE{
-+			SID:    binary.BigEndian.Uint16(pp[6:8]),
-+			Remote: pp[8:14],
-+		}
-+		for i := 14; i < 14+IFNAMSIZ; i++ {
-+			if pp[i] == 0 {
-+				sa.Dev = string(pp[14:i])
-+				break
-+			}
-+		}
-+		return sa, nil
-+	case AF_TIPC:
-+		pp := (*RawSockaddrTIPC)(unsafe.Pointer(rsa))
-+
-+		sa := &SockaddrTIPC{
-+			Scope: int(pp.Scope),
-+		}
-+
-+		// Determine which union variant is present in pp.Addr by checking
-+		// pp.Addrtype.
-+		switch pp.Addrtype {
-+		case TIPC_SERVICE_RANGE:
-+			sa.Addr = (*TIPCServiceRange)(unsafe.Pointer(&pp.Addr))
-+		case TIPC_SERVICE_ADDR:
-+			sa.Addr = (*TIPCServiceName)(unsafe.Pointer(&pp.Addr))
-+		case TIPC_SOCKET_ADDR:
-+			sa.Addr = (*TIPCSocketAddr)(unsafe.Pointer(&pp.Addr))
-+		default:
-+			return nil, EINVAL
-+		}
-+
- 		return sa, nil
- 	}
- 	return nil, EAFNOSUPPORT
-@@ -718,7 +1064,7 @@ func Accept(fd int) (nfd int, sa Sockaddr, err error) {
- 	if err != nil {
- 		return
- 	}
--	sa, err = anyToSockaddr(&rsa)
-+	sa, err = anyToSockaddr(fd, &rsa)
- 	if err != nil {
- 		Close(nfd)
- 		nfd = 0
-@@ -736,7 +1082,7 @@ func Accept4(fd int, flags int) (nfd int, sa Sockaddr, err error) {
- 	if len > SizeofSockaddrAny {
- 		panic("RawSockaddrAny too small")
- 	}
--	sa, err = anyToSockaddr(&rsa)
-+	sa, err = anyToSockaddr(fd, &rsa)
- 	if err != nil {
- 		Close(nfd)
- 		nfd = 0
-@@ -750,20 +1096,7 @@ func Getsockname(fd int) (sa Sockaddr, err error) {
- 	if err = getsockname(fd, &rsa, &len); err != nil {
- 		return
- 	}
--	return anyToSockaddr(&rsa)
--}
--
--func GetsockoptInet4Addr(fd, level, opt int) (value [4]byte, err error) {
--	vallen := _Socklen(4)
--	err = getsockopt(fd, level, opt, unsafe.Pointer(&value[0]), &vallen)
--	return value, err
--}
--
--func GetsockoptIPMreq(fd, level, opt int) (*IPMreq, error) {
--	var value IPMreq
--	vallen := _Socklen(SizeofIPMreq)
--	err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen)
--	return &value, err
-+	return anyToSockaddr(fd, &rsa)
- }
- 
- func GetsockoptIPMreqn(fd, level, opt int) (*IPMreqn, error) {
-@@ -773,37 +1106,48 @@ func GetsockoptIPMreqn(fd, level, opt int) (*IPMreqn, error) {
- 	return &value, err
- }
- 
--func GetsockoptIPv6Mreq(fd, level, opt int) (*IPv6Mreq, error) {
--	var value IPv6Mreq
--	vallen := _Socklen(SizeofIPv6Mreq)
-+func GetsockoptUcred(fd, level, opt int) (*Ucred, error) {
-+	var value Ucred
-+	vallen := _Socklen(SizeofUcred)
- 	err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen)
- 	return &value, err
- }
- 
--func GetsockoptIPv6MTUInfo(fd, level, opt int) (*IPv6MTUInfo, error) {
--	var value IPv6MTUInfo
--	vallen := _Socklen(SizeofIPv6MTUInfo)
-+func GetsockoptTCPInfo(fd, level, opt int) (*TCPInfo, error) {
-+	var value TCPInfo
-+	vallen := _Socklen(SizeofTCPInfo)
- 	err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen)
- 	return &value, err
- }
- 
--func GetsockoptICMPv6Filter(fd, level, opt int) (*ICMPv6Filter, error) {
--	var value ICMPv6Filter
--	vallen := _Socklen(SizeofICMPv6Filter)
--	err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen)
--	return &value, err
-+// GetsockoptString returns the string value of the socket option opt for the
-+// socket associated with fd at the given socket level.
-+func GetsockoptString(fd, level, opt int) (string, error) {
-+	buf := make([]byte, 256)
-+	vallen := _Socklen(len(buf))
-+	err := getsockopt(fd, level, opt, unsafe.Pointer(&buf[0]), &vallen)
-+	if err != nil {
-+		if err == ERANGE {
-+			buf = make([]byte, vallen)
-+			err = getsockopt(fd, level, opt, unsafe.Pointer(&buf[0]), &vallen)
-+		}
-+		if err != nil {
-+			return "", err
-+		}
-+	}
-+	return string(buf[:vallen-1]), nil
- }
- 
--func GetsockoptUcred(fd, level, opt int) (*Ucred, error) {
--	var value Ucred
--	vallen := _Socklen(SizeofUcred)
-+func GetsockoptTpacketStats(fd, level, opt int) (*TpacketStats, error) {
-+	var value TpacketStats
-+	vallen := _Socklen(SizeofTpacketStats)
- 	err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen)
- 	return &value, err
- }
- 
--func GetsockoptTCPInfo(fd, level, opt int) (*TCPInfo, error) {
--	var value TCPInfo
--	vallen := _Socklen(SizeofTCPInfo)
-+func GetsockoptTpacketStatsV3(fd, level, opt int) (*TpacketStatsV3, error) {
-+	var value TpacketStatsV3
-+	vallen := _Socklen(SizeofTpacketStatsV3)
- 	err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen)
- 	return &value, err
- }
-@@ -812,6 +1156,32 @@ func SetsockoptIPMreqn(fd, level, opt int, mreq *IPMreqn) (err error) {
- 	return setsockopt(fd, level, opt, unsafe.Pointer(mreq), unsafe.Sizeof(*mreq))
- }
- 
-+func SetsockoptPacketMreq(fd, level, opt int, mreq *PacketMreq) error {
-+	return setsockopt(fd, level, opt, unsafe.Pointer(mreq), unsafe.Sizeof(*mreq))
-+}
-+
-+// SetsockoptSockFprog attaches a classic BPF or an extended BPF program to a
-+// socket to filter incoming packets.  See 'man 7 socket' for usage information.
-+func SetsockoptSockFprog(fd, level, opt int, fprog *SockFprog) error {
-+	return setsockopt(fd, level, opt, unsafe.Pointer(fprog), unsafe.Sizeof(*fprog))
-+}
-+
-+func SetsockoptCanRawFilter(fd, level, opt int, filter []CanFilter) error {
-+	var p unsafe.Pointer
-+	if len(filter) > 0 {
-+		p = unsafe.Pointer(&filter[0])
-+	}
-+	return setsockopt(fd, level, opt, p, uintptr(len(filter)*SizeofCanFilter))
-+}
-+
-+func SetsockoptTpacketReq(fd, level, opt int, tp *TpacketReq) error {
-+	return setsockopt(fd, level, opt, unsafe.Pointer(tp), unsafe.Sizeof(*tp))
-+}
-+
-+func SetsockoptTpacketReq3(fd, level, opt int, tp *TpacketReq3) error {
-+	return setsockopt(fd, level, opt, unsafe.Pointer(tp), unsafe.Sizeof(*tp))
-+}
-+
- // Keyctl Commands (http://man7.org/linux/man-pages/man2/keyctl.2.html)
- 
- // KeyctlInt calls keyctl commands in which each argument is an int.
-@@ -919,6 +1289,34 @@ func KeyctlDHCompute(params *KeyctlDHParams, buffer []byte) (size int, err error
- 	return keyctlDH(KEYCTL_DH_COMPUTE, params, buffer)
- }
- 
-+// KeyctlRestrictKeyring implements the KEYCTL_RESTRICT_KEYRING command. This
-+// command limits the set of keys that can be linked to the keyring, regardless
-+// of keyring permissions. The command requires the "setattr" permission.
-+//
-+// When called with an empty keyType the command locks the keyring, preventing
-+// any further keys from being linked to the keyring.
-+//
-+// The "asymmetric" keyType defines restrictions requiring key payloads to be
-+// DER encoded X.509 certificates signed by keys in another keyring. Restrictions
-+// for "asymmetric" include "builtin_trusted", "builtin_and_secondary_trusted",
-+// "key_or_keyring:", and "key_or_keyring::chain".
-+//
-+// As of Linux 4.12, only the "asymmetric" keyType defines type-specific
-+// restrictions.
-+//
-+// See the full documentation at:
-+// http://man7.org/linux/man-pages/man3/keyctl_restrict_keyring.3.html
-+// http://man7.org/linux/man-pages/man2/keyctl.2.html
-+func KeyctlRestrictKeyring(ringid int, keyType string, restriction string) error {
-+	if keyType == "" {
-+		return keyctlRestrictKeyring(KEYCTL_RESTRICT_KEYRING, ringid)
-+	}
-+	return keyctlRestrictKeyringByType(KEYCTL_RESTRICT_KEYRING, ringid, keyType, restriction)
-+}
-+
-+//sys keyctlRestrictKeyringByType(cmd int, arg2 int, keyType string, restriction string) (err error) = SYS_KEYCTL
-+//sys keyctlRestrictKeyring(cmd int, arg2 int) (err error) = SYS_KEYCTL
-+
- func Recvmsg(fd int, p, oob []byte, flags int) (n, oobn int, recvflags int, from Sockaddr, err error) {
- 	var msg Msghdr
- 	var rsa RawSockaddrAny
-@@ -926,22 +1324,24 @@ func Recvmsg(fd int, p, oob []byte, flags int) (n, oobn int, recvflags int, from
- 	msg.Namelen = uint32(SizeofSockaddrAny)
- 	var iov Iovec
- 	if len(p) > 0 {
--		iov.Base = (*byte)(unsafe.Pointer(&p[0]))
-+		iov.Base = &p[0]
- 		iov.SetLen(len(p))
- 	}
- 	var dummy byte
- 	if len(oob) > 0 {
--		var sockType int
--		sockType, err = GetsockoptInt(fd, SOL_SOCKET, SO_TYPE)
--		if err != nil {
--			return
-+		if len(p) == 0 {
-+			var sockType int
-+			sockType, err = GetsockoptInt(fd, SOL_SOCKET, SO_TYPE)
-+			if err != nil {
-+				return
-+			}
-+			// receive at least one normal byte
-+			if sockType != SOCK_DGRAM {
-+				iov.Base = &dummy
-+				iov.SetLen(1)
-+			}
- 		}
--		// receive at least one normal byte
--		if sockType != SOCK_DGRAM && len(p) == 0 {
--			iov.Base = &dummy
--			iov.SetLen(1)
--		}
--		msg.Control = (*byte)(unsafe.Pointer(&oob[0]))
-+		msg.Control = &oob[0]
- 		msg.SetControllen(len(oob))
- 	}
- 	msg.Iov = &iov
-@@ -953,7 +1353,7 @@ func Recvmsg(fd int, p, oob []byte, flags int) (n, oobn int, recvflags int, from
- 	recvflags = int(msg.Flags)
- 	// source address is only specified if the socket is unconnected
- 	if rsa.Addr.Family != AF_UNSPEC {
--		from, err = anyToSockaddr(&rsa)
-+		from, err = anyToSockaddr(fd, &rsa)
- 	}
- 	return
- }
-@@ -974,26 +1374,28 @@ func SendmsgN(fd int, p, oob []byte, to Sockaddr, flags int) (n int, err error)
- 		}
- 	}
- 	var msg Msghdr
--	msg.Name = (*byte)(unsafe.Pointer(ptr))
-+	msg.Name = (*byte)(ptr)
- 	msg.Namelen = uint32(salen)
- 	var iov Iovec
- 	if len(p) > 0 {
--		iov.Base = (*byte)(unsafe.Pointer(&p[0]))
-+		iov.Base = &p[0]
- 		iov.SetLen(len(p))
- 	}
- 	var dummy byte
- 	if len(oob) > 0 {
--		var sockType int
--		sockType, err = GetsockoptInt(fd, SOL_SOCKET, SO_TYPE)
--		if err != nil {
--			return 0, err
-+		if len(p) == 0 {
-+			var sockType int
-+			sockType, err = GetsockoptInt(fd, SOL_SOCKET, SO_TYPE)
-+			if err != nil {
-+				return 0, err
-+			}
-+			// send at least one normal byte
-+			if sockType != SOCK_DGRAM {
-+				iov.Base = &dummy
-+				iov.SetLen(1)
-+			}
- 		}
--		// send at least one normal byte
--		if sockType != SOCK_DGRAM && len(p) == 0 {
--			iov.Base = &dummy
--			iov.SetLen(1)
--		}
--		msg.Control = (*byte)(unsafe.Pointer(&oob[0]))
-+		msg.Control = &oob[0]
- 		msg.SetControllen(len(oob))
- 	}
- 	msg.Iov = &iov
-@@ -1021,20 +1423,20 @@ func ptracePeek(req int, pid int, addr uintptr, out []byte) (count int, err erro
- 	// The ptrace syscall differs from glibc's ptrace.
- 	// Peeks returns the word in *data, not as the return value.
- 
--	var buf [sizeofPtr]byte
-+	var buf [SizeofPtr]byte
- 
--	// Leading edge.  PEEKTEXT/PEEKDATA don't require aligned
-+	// Leading edge. PEEKTEXT/PEEKDATA don't require aligned
- 	// access (PEEKUSER warns that it might), but if we don't
- 	// align our reads, we might straddle an unmapped page
- 	// boundary and not get the bytes leading up to the page
- 	// boundary.
- 	n := 0
--	if addr%sizeofPtr != 0 {
--		err = ptrace(req, pid, addr-addr%sizeofPtr, uintptr(unsafe.Pointer(&buf[0])))
-+	if addr%SizeofPtr != 0 {
-+		err = ptrace(req, pid, addr-addr%SizeofPtr, uintptr(unsafe.Pointer(&buf[0])))
- 		if err != nil {
- 			return 0, err
- 		}
--		n += copy(out, buf[addr%sizeofPtr:])
-+		n += copy(out, buf[addr%SizeofPtr:])
- 		out = out[n:]
- 	}
- 
-@@ -1072,15 +1474,15 @@ func ptracePoke(pokeReq int, peekReq int, pid int, addr uintptr, data []byte) (c
- 
- 	// Leading edge.
- 	n := 0
--	if addr%sizeofPtr != 0 {
--		var buf [sizeofPtr]byte
--		err = ptrace(peekReq, pid, addr-addr%sizeofPtr, uintptr(unsafe.Pointer(&buf[0])))
-+	if addr%SizeofPtr != 0 {
-+		var buf [SizeofPtr]byte
-+		err = ptrace(peekReq, pid, addr-addr%SizeofPtr, uintptr(unsafe.Pointer(&buf[0])))
- 		if err != nil {
- 			return 0, err
- 		}
--		n += copy(buf[addr%sizeofPtr:], data)
-+		n += copy(buf[addr%SizeofPtr:], data)
- 		word := *((*uintptr)(unsafe.Pointer(&buf[0])))
--		err = ptrace(pokeReq, pid, addr-addr%sizeofPtr, word)
-+		err = ptrace(pokeReq, pid, addr-addr%SizeofPtr, word)
- 		if err != nil {
- 			return 0, err
- 		}
-@@ -1088,19 +1490,19 @@ func ptracePoke(pokeReq int, peekReq int, pid int, addr uintptr, data []byte) (c
- 	}
- 
- 	// Interior.
--	for len(data) > sizeofPtr {
-+	for len(data) > SizeofPtr {
- 		word := *((*uintptr)(unsafe.Pointer(&data[0])))
- 		err = ptrace(pokeReq, pid, addr+uintptr(n), word)
- 		if err != nil {
- 			return n, err
- 		}
--		n += sizeofPtr
--		data = data[sizeofPtr:]
-+		n += SizeofPtr
-+		data = data[SizeofPtr:]
- 	}
- 
- 	// Trailing edge.
- 	if len(data) > 0 {
--		var buf [sizeofPtr]byte
-+		var buf [SizeofPtr]byte
- 		err = ptrace(peekReq, pid, addr+uintptr(n), uintptr(unsafe.Pointer(&buf[0])))
- 		if err != nil {
- 			return n, err
-@@ -1125,6 +1527,10 @@ func PtracePokeData(pid int, addr uintptr, data []byte) (count int, err error) {
- 	return ptracePoke(PTRACE_POKEDATA, PTRACE_PEEKDATA, pid, addr, data)
- }
- 
-+func PtracePokeUser(pid int, addr uintptr, data []byte) (count int, err error) {
-+	return ptracePoke(PTRACE_POKEUSR, PTRACE_PEEKUSR, pid, addr, data)
-+}
-+
- func PtraceGetRegs(pid int, regsout *PtraceRegs) (err error) {
- 	return ptrace(PTRACE_GETREGS, pid, 0, uintptr(unsafe.Pointer(regsout)))
- }
-@@ -1154,8 +1560,12 @@ func PtraceSyscall(pid int, signal int) (err error) {
- 
- func PtraceSingleStep(pid int) (err error) { return ptrace(PTRACE_SINGLESTEP, pid, 0, 0) }
- 
-+func PtraceInterrupt(pid int) (err error) { return ptrace(PTRACE_INTERRUPT, pid, 0, 0) }
-+
- func PtraceAttach(pid int) (err error) { return ptrace(PTRACE_ATTACH, pid, 0, 0) }
- 
-+func PtraceSeize(pid int) (err error) { return ptrace(PTRACE_SEIZE, pid, 0, 0) }
-+
- func PtraceDetach(pid int) (err error) { return ptrace(PTRACE_DETACH, pid, 0, 0) }
- 
- //sys	reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error)
-@@ -1164,10 +1574,6 @@ func Reboot(cmd int) (err error) {
- 	return reboot(LINUX_REBOOT_MAGIC1, LINUX_REBOOT_MAGIC2, cmd, "")
- }
- 
--func ReadDirent(fd int, buf []byte) (n int, err error) {
--	return Getdents(fd, buf)
--}
--
- func direntIno(buf []byte) (uint64, bool) {
- 	return readInt(buf, unsafe.Offsetof(Dirent{}.Ino), unsafe.Sizeof(Dirent{}.Ino))
- }
-@@ -1199,6 +1605,13 @@ func Mount(source string, target string, fstype string, flags uintptr, data stri
- 	return mount(source, target, fstype, flags, datap)
- }
- 
-+func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {
-+	if raceenabled {
-+		raceReleaseMerge(unsafe.Pointer(&ioSync))
-+	}
-+	return sendfile(outfd, infd, offset, count)
-+}
-+
- // Sendto
- // Recvfrom
- // Socketpair
-@@ -1209,26 +1622,33 @@ func Mount(source string, target string, fstype string, flags uintptr, data stri
- //sys	Acct(path string) (err error)
- //sys	AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error)
- //sys	Adjtimex(buf *Timex) (state int, err error)
-+//sysnb	Capget(hdr *CapUserHeader, data *CapUserData) (err error)
-+//sysnb	Capset(hdr *CapUserHeader, data *CapUserData) (err error)
- //sys	Chdir(path string) (err error)
- //sys	Chroot(path string) (err error)
-+//sys	ClockGetres(clockid int32, res *Timespec) (err error)
- //sys	ClockGettime(clockid int32, time *Timespec) (err error)
-+//sys	ClockNanosleep(clockid int32, flags int, request *Timespec, remain *Timespec) (err error)
- //sys	Close(fd int) (err error)
- //sys	CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error)
-+//sys	DeleteModule(name string, flags int) (err error)
- //sys	Dup(oldfd int) (fd int, err error)
- //sys	Dup3(oldfd int, newfd int, flags int) (err error)
--//sysnb	EpollCreate(size int) (fd int, err error)
- //sysnb	EpollCreate1(flag int) (fd int, err error)
- //sysnb	EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error)
- //sys	Eventfd(initval uint, flags int) (fd int, err error) = SYS_EVENTFD2
- //sys	Exit(code int) = SYS_EXIT_GROUP
--//sys	Faccessat(dirfd int, path string, mode uint32, flags int) (err error)
- //sys	Fallocate(fd int, mode uint32, off int64, len int64) (err error)
- //sys	Fchdir(fd int) (err error)
- //sys	Fchmod(fd int, mode uint32) (err error)
- //sys	Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error)
--//sys	fcntl(fd int, cmd int, arg int) (val int, err error)
- //sys	Fdatasync(fd int) (err error)
-+//sys	Fgetxattr(fd int, attr string, dest []byte) (sz int, err error)
-+//sys	FinitModule(fd int, params string, flags int) (err error)
-+//sys	Flistxattr(fd int, dest []byte) (sz int, err error)
- //sys	Flock(fd int, how int) (err error)
-+//sys	Fremovexattr(fd int, attr string) (err error)
-+//sys	Fsetxattr(fd int, attr string, dest []byte, flags int) (err error)
- //sys	Fsync(fd int) (err error)
- //sys	Getdents(fd int, buf []byte) (n int, err error) = SYS_GETDENTS64
- //sysnb	Getpgid(pid int) (pgid int, err error)
-@@ -1246,6 +1666,7 @@ func Getpgrp() (pid int) {
- //sysnb	Getsid(pid int) (sid int, err error)
- //sysnb	Gettid() (tid int)
- //sys	Getxattr(path string, attr string, dest []byte) (sz int, err error)
-+//sys	InitModule(moduleImage []byte, params string) (err error)
- //sys	InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error)
- //sysnb	InotifyInit1(flags int) (fd int, err error)
- //sysnb	InotifyRmWatch(fd int, watchdesc uint32) (success int, err error)
-@@ -1256,15 +1677,18 @@ func Getpgrp() (pid int) {
- //sys	Llistxattr(path string, dest []byte) (sz int, err error)
- //sys	Lremovexattr(path string, attr string) (err error)
- //sys	Lsetxattr(path string, attr string, data []byte, flags int) (err error)
-+//sys	MemfdCreate(name string, flags int) (fd int, err error)
- //sys	Mkdirat(dirfd int, path string, mode uint32) (err error)
- //sys	Mknodat(dirfd int, path string, mode uint32, dev int) (err error)
- //sys	Nanosleep(time *Timespec, leftover *Timespec) (err error)
-+//sys	PerfEventOpen(attr *PerfEventAttr, pid int, cpu int, groupFd int, flags int) (fd int, err error)
- //sys	PivotRoot(newroot string, putold string) (err error) = SYS_PIVOT_ROOT
- //sysnb prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) = SYS_PRLIMIT64
- //sys   Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error)
-+//sys	Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) = SYS_PSELECT6
- //sys	read(fd int, p []byte) (n int, err error)
- //sys	Removexattr(path string, attr string) (err error)
--//sys	Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error)
-+//sys	Renameat2(olddirfd int, oldpath string, newdirfd int, newpath string, flags uint) (err error)
- //sys	RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error)
- //sys	Setdomainname(p []byte) (err error)
- //sys	Sethostname(p []byte) (err error)
-@@ -1273,6 +1697,17 @@ func Getpgrp() (pid int) {
- //sysnb	Settimeofday(tv *Timeval) (err error)
- //sys	Setns(fd int, nstype int) (err error)
- 
-+// PrctlRetInt performs a prctl operation specified by option and further
-+// optional arguments arg2 through arg5 depending on option. It returns a
-+// non-negative integer that is returned by the prctl syscall.
-+func PrctlRetInt(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (int, error) {
-+	ret, _, err := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0)
-+	if err != 0 {
-+		return 0, err
-+	}
-+	return int(ret), nil
-+}
-+
- // issue 1435.
- // On linux Setuid and Setgid only affects the current thread, not the process.
- // This does not match what most callers expect so we must return an error
-@@ -1286,8 +1721,38 @@ func Setgid(uid int) (err error) {
- 	return EOPNOTSUPP
- }
- 
-+// SetfsgidRetGid sets fsgid for current thread and returns previous fsgid set.
-+// setfsgid(2) will return a non-nil error only if its caller lacks CAP_SETUID capability.
-+// If the call fails due to other reasons, current fsgid will be returned.
-+func SetfsgidRetGid(gid int) (int, error) {
-+	return setfsgid(gid)
-+}
-+
-+// SetfsuidRetUid sets fsuid for current thread and returns previous fsuid set.
-+// setfsgid(2) will return a non-nil error only if its caller lacks CAP_SETUID capability
-+// If the call fails due to other reasons, current fsuid will be returned.
-+func SetfsuidRetUid(uid int) (int, error) {
-+	return setfsuid(uid)
-+}
-+
-+func Setfsgid(gid int) error {
-+	_, err := setfsgid(gid)
-+	return err
-+}
-+
-+func Setfsuid(uid int) error {
-+	_, err := setfsuid(uid)
-+	return err
-+}
-+
-+func Signalfd(fd int, sigmask *Sigset_t, flags int) (newfd int, err error) {
-+	return signalfd(fd, sigmask, _C__NSIG/8, flags)
-+}
-+
- //sys	Setpriority(which int, who int, prio int) (err error)
- //sys	Setxattr(path string, attr string, data []byte, flags int) (err error)
-+//sys	signalfd(fd int, sigmask *Sigset_t, maskSize uintptr, flags int) (newfd int, err error) = SYS_SIGNALFD4
-+//sys	Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error)
- //sys	Sync()
- //sys	Syncfs(fd int) (err error)
- //sysnb	Sysinfo(info *Sysinfo_t) (err error)
-@@ -1298,11 +1763,127 @@ func Setgid(uid int) (err error) {
- //sysnb	Uname(buf *Utsname) (err error)
- //sys	Unmount(target string, flags int) (err error) = SYS_UMOUNT2
- //sys	Unshare(flags int) (err error)
--//sys	Ustat(dev int, ubuf *Ustat_t) (err error)
- //sys	write(fd int, p []byte) (n int, err error)
- //sys	exitThread(code int) (err error) = SYS_EXIT
- //sys	readlen(fd int, p *byte, np int) (n int, err error) = SYS_READ
- //sys	writelen(fd int, p *byte, np int) (n int, err error) = SYS_WRITE
-+//sys	readv(fd int, iovs []Iovec) (n int, err error) = SYS_READV
-+//sys	writev(fd int, iovs []Iovec) (n int, err error) = SYS_WRITEV
-+//sys	preadv(fd int, iovs []Iovec, offs_l uintptr, offs_h uintptr) (n int, err error) = SYS_PREADV
-+//sys	pwritev(fd int, iovs []Iovec, offs_l uintptr, offs_h uintptr) (n int, err error) = SYS_PWRITEV
-+//sys	preadv2(fd int, iovs []Iovec, offs_l uintptr, offs_h uintptr, flags int) (n int, err error) = SYS_PREADV2
-+//sys	pwritev2(fd int, iovs []Iovec, offs_l uintptr, offs_h uintptr, flags int) (n int, err error) = SYS_PWRITEV2
-+
-+func bytes2iovec(bs [][]byte) []Iovec {
-+	iovecs := make([]Iovec, len(bs))
-+	for i, b := range bs {
-+		iovecs[i].SetLen(len(b))
-+		if len(b) > 0 {
-+			iovecs[i].Base = &b[0]
-+		} else {
-+			iovecs[i].Base = (*byte)(unsafe.Pointer(&_zero))
-+		}
-+	}
-+	return iovecs
-+}
-+
-+// offs2lohi splits offs into its lower and upper unsigned long. On 64-bit
-+// systems, hi will always be 0. On 32-bit systems, offs will be split in half.
-+// preadv/pwritev chose this calling convention so they don't need to add a
-+// padding-register for alignment on ARM.
-+func offs2lohi(offs int64) (lo, hi uintptr) {
-+	return uintptr(offs), uintptr(uint64(offs) >> SizeofLong)
-+}
-+
-+func Readv(fd int, iovs [][]byte) (n int, err error) {
-+	iovecs := bytes2iovec(iovs)
-+	n, err = readv(fd, iovecs)
-+	readvRacedetect(iovecs, n, err)
-+	return n, err
-+}
-+
-+func Preadv(fd int, iovs [][]byte, offset int64) (n int, err error) {
-+	iovecs := bytes2iovec(iovs)
-+	lo, hi := offs2lohi(offset)
-+	n, err = preadv(fd, iovecs, lo, hi)
-+	readvRacedetect(iovecs, n, err)
-+	return n, err
-+}
-+
-+func Preadv2(fd int, iovs [][]byte, offset int64, flags int) (n int, err error) {
-+	iovecs := bytes2iovec(iovs)
-+	lo, hi := offs2lohi(offset)
-+	n, err = preadv2(fd, iovecs, lo, hi, flags)
-+	readvRacedetect(iovecs, n, err)
-+	return n, err
-+}
-+
-+func readvRacedetect(iovecs []Iovec, n int, err error) {
-+	if !raceenabled {
-+		return
-+	}
-+	for i := 0; n > 0 && i < len(iovecs); i++ {
-+		m := int(iovecs[i].Len)
-+		if m > n {
-+			m = n
-+		}
-+		n -= m
-+		if m > 0 {
-+			raceWriteRange(unsafe.Pointer(iovecs[i].Base), m)
-+		}
-+	}
-+	if err == nil {
-+		raceAcquire(unsafe.Pointer(&ioSync))
-+	}
-+}
-+
-+func Writev(fd int, iovs [][]byte) (n int, err error) {
-+	iovecs := bytes2iovec(iovs)
-+	if raceenabled {
-+		raceReleaseMerge(unsafe.Pointer(&ioSync))
-+	}
-+	n, err = writev(fd, iovecs)
-+	writevRacedetect(iovecs, n)
-+	return n, err
-+}
-+
-+func Pwritev(fd int, iovs [][]byte, offset int64) (n int, err error) {
-+	iovecs := bytes2iovec(iovs)
-+	if raceenabled {
-+		raceReleaseMerge(unsafe.Pointer(&ioSync))
-+	}
-+	lo, hi := offs2lohi(offset)
-+	n, err = pwritev(fd, iovecs, lo, hi)
-+	writevRacedetect(iovecs, n)
-+	return n, err
-+}
-+
-+func Pwritev2(fd int, iovs [][]byte, offset int64, flags int) (n int, err error) {
-+	iovecs := bytes2iovec(iovs)
-+	if raceenabled {
-+		raceReleaseMerge(unsafe.Pointer(&ioSync))
-+	}
-+	lo, hi := offs2lohi(offset)
-+	n, err = pwritev2(fd, iovecs, lo, hi, flags)
-+	writevRacedetect(iovecs, n)
-+	return n, err
-+}
-+
-+func writevRacedetect(iovecs []Iovec, n int) {
-+	if !raceenabled {
-+		return
-+	}
-+	for i := 0; n > 0 && i < len(iovecs); i++ {
-+		m := int(iovecs[i].Len)
-+		if m > n {
-+			m = n
-+		}
-+		n -= m
-+		if m > 0 {
-+			raceReadRange(unsafe.Pointer(iovecs[i].Base), m)
-+		}
-+	}
-+}
- 
- // mmap varies by architecture; see syscall_linux_*.go.
- //sys	munmap(addr uintptr, length uintptr) (err error)
-@@ -1332,15 +1913,12 @@ func Munmap(b []byte) (err error) {
- // Vmsplice splices user pages from a slice of Iovecs into a pipe specified by fd,
- // using the specified flags.
- func Vmsplice(fd int, iovs []Iovec, flags int) (int, error) {
--	n, _, errno := Syscall6(
--		SYS_VMSPLICE,
--		uintptr(fd),
--		uintptr(unsafe.Pointer(&iovs[0])),
--		uintptr(len(iovs)),
--		uintptr(flags),
--		0,
--		0,
--	)
-+	var p unsafe.Pointer
-+	if len(iovs) > 0 {
-+		p = unsafe.Pointer(&iovs[0])
-+	}
-+
-+	n, _, errno := Syscall6(SYS_VMSPLICE, uintptr(fd), uintptr(p), uintptr(len(iovs)), uintptr(flags), 0, 0)
- 	if errno != 0 {
- 		return 0, syscall.Errno(errno)
- 	}
-@@ -1348,6 +1926,164 @@ func Vmsplice(fd int, iovs []Iovec, flags int) (int, error) {
- 	return int(n), nil
- }
- 
-+//sys	faccessat(dirfd int, path string, mode uint32) (err error)
-+
-+func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {
-+	if flags & ^(AT_SYMLINK_NOFOLLOW|AT_EACCESS) != 0 {
-+		return EINVAL
-+	}
-+
-+	// The Linux kernel faccessat system call does not take any flags.
-+	// The glibc faccessat implements the flags itself; see
-+	// https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/unix/sysv/linux/faccessat.c;hb=HEAD
-+	// Because people naturally expect syscall.Faccessat to act
-+	// like C faccessat, we do the same.
-+
-+	if flags == 0 {
-+		return faccessat(dirfd, path, mode)
-+	}
-+
-+	var st Stat_t
-+	if err := Fstatat(dirfd, path, &st, flags&AT_SYMLINK_NOFOLLOW); err != nil {
-+		return err
-+	}
-+
-+	mode &= 7
-+	if mode == 0 {
-+		return nil
-+	}
-+
-+	var uid int
-+	if flags&AT_EACCESS != 0 {
-+		uid = Geteuid()
-+	} else {
-+		uid = Getuid()
-+	}
-+
-+	if uid == 0 {
-+		if mode&1 == 0 {
-+			// Root can read and write any file.
-+			return nil
-+		}
-+		if st.Mode&0111 != 0 {
-+			// Root can execute any file that anybody can execute.
-+			return nil
-+		}
-+		return EACCES
-+	}
-+
-+	var fmode uint32
-+	if uint32(uid) == st.Uid {
-+		fmode = (st.Mode >> 6) & 7
-+	} else {
-+		var gid int
-+		if flags&AT_EACCESS != 0 {
-+			gid = Getegid()
-+		} else {
-+			gid = Getgid()
-+		}
-+
-+		if uint32(gid) == st.Gid {
-+			fmode = (st.Mode >> 3) & 7
-+		} else {
-+			fmode = st.Mode & 7
-+		}
-+	}
-+
-+	if fmode&mode == mode {
-+		return nil
-+	}
-+
-+	return EACCES
-+}
-+
-+//sys nameToHandleAt(dirFD int, pathname string, fh *fileHandle, mountID *_C_int, flags int) (err error) = SYS_NAME_TO_HANDLE_AT
-+//sys openByHandleAt(mountFD int, fh *fileHandle, flags int) (fd int, err error) = SYS_OPEN_BY_HANDLE_AT
-+
-+// fileHandle is the argument to nameToHandleAt and openByHandleAt. We
-+// originally tried to generate it via unix/linux/types.go with "type
-+// fileHandle C.struct_file_handle" but that generated empty structs
-+// for mips64 and mips64le. Instead, hard code it for now (it's the
-+// same everywhere else) until the mips64 generator issue is fixed.
-+type fileHandle struct {
-+	Bytes uint32
-+	Type  int32
-+}
-+
-+// FileHandle represents the C struct file_handle used by
-+// name_to_handle_at (see NameToHandleAt) and open_by_handle_at (see
-+// OpenByHandleAt).
-+type FileHandle struct {
-+	*fileHandle
-+}
-+
-+// NewFileHandle constructs a FileHandle.
-+func NewFileHandle(handleType int32, handle []byte) FileHandle {
-+	const hdrSize = unsafe.Sizeof(fileHandle{})
-+	buf := make([]byte, hdrSize+uintptr(len(handle)))
-+	copy(buf[hdrSize:], handle)
-+	fh := (*fileHandle)(unsafe.Pointer(&buf[0]))
-+	fh.Type = handleType
-+	fh.Bytes = uint32(len(handle))
-+	return FileHandle{fh}
-+}
-+
-+func (fh *FileHandle) Size() int   { return int(fh.fileHandle.Bytes) }
-+func (fh *FileHandle) Type() int32 { return fh.fileHandle.Type }
-+func (fh *FileHandle) Bytes() []byte {
-+	n := fh.Size()
-+	if n == 0 {
-+		return nil
-+	}
-+	return (*[1 << 30]byte)(unsafe.Pointer(uintptr(unsafe.Pointer(&fh.fileHandle.Type)) + 4))[:n:n]
-+}
-+
-+// NameToHandleAt wraps the name_to_handle_at system call; it obtains
-+// a handle for a path name.
-+func NameToHandleAt(dirfd int, path string, flags int) (handle FileHandle, mountID int, err error) {
-+	var mid _C_int
-+	// Try first with a small buffer, assuming the handle will
-+	// only be 32 bytes.
-+	size := uint32(32 + unsafe.Sizeof(fileHandle{}))
-+	didResize := false
-+	for {
-+		buf := make([]byte, size)
-+		fh := (*fileHandle)(unsafe.Pointer(&buf[0]))
-+		fh.Bytes = size - uint32(unsafe.Sizeof(fileHandle{}))
-+		err = nameToHandleAt(dirfd, path, fh, &mid, flags)
-+		if err == EOVERFLOW {
-+			if didResize {
-+				// We shouldn't need to resize more than once
-+				return
-+			}
-+			didResize = true
-+			size = fh.Bytes + uint32(unsafe.Sizeof(fileHandle{}))
-+			continue
-+		}
-+		if err != nil {
-+			return
-+		}
-+		return FileHandle{fh}, int(mid), nil
-+	}
-+}
-+
-+// OpenByHandleAt wraps the open_by_handle_at system call; it opens a
-+// file via a handle as previously returned by NameToHandleAt.
-+func OpenByHandleAt(mountFD int, handle FileHandle, flags int) (fd int, err error) {
-+	return openByHandleAt(mountFD, handle.fileHandle, flags)
-+}
-+
-+// Klogset wraps the sys_syslog system call; it sets console_loglevel to
-+// the value specified by arg and passes a dummy pointer to bufp.
-+func Klogset(typ int, arg int) (err error) {
-+	var p unsafe.Pointer
-+	_, _, errno := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(p), uintptr(arg))
-+	if errno != 0 {
-+		return errnoErr(errno)
-+	}
-+	return nil
-+}
-+
- /*
-  * Unimplemented
-  */
-@@ -1355,23 +2091,14 @@ func Vmsplice(fd int, iovs []Iovec, flags int) (int, error) {
- // Alarm
- // ArchPrctl
- // Brk
--// Capget
--// Capset
--// ClockGetres
- // ClockNanosleep
- // ClockSettime
- // Clone
--// CreateModule
--// DeleteModule
- // EpollCtlOld
- // EpollPwait
- // EpollWaitOld
- // Execve
--// Fgetxattr
--// Flistxattr
- // Fork
--// Fremovexattr
--// Fsetxattr
- // Futex
- // GetKernelSyms
- // GetMempolicy
-@@ -1405,13 +2132,11 @@ func Vmsplice(fd int, iovs []Iovec, flags int) (int, error) {
- // Msgget
- // Msgrcv
- // Msgsnd
--// Newfstatat
- // Nfsservctl
- // Personality
- // Pselect6
- // Ptrace
- // Putpmsg
--// QueryModule
- // Quotactl
- // Readahead
- // Readv
-@@ -1426,11 +2151,9 @@ func Vmsplice(fd int, iovs []Iovec, flags int) (int, error) {
- // RtSigtimedwait
- // SchedGetPriorityMax
- // SchedGetPriorityMin
--// SchedGetaffinity
- // SchedGetparam
- // SchedGetscheduler
- // SchedRrGetInterval
--// SchedSetaffinity
- // SchedSetparam
- // SchedYield
- // Security
-@@ -1447,7 +2170,6 @@ func Vmsplice(fd int, iovs []Iovec, flags int) (int, error) {
- // Shmdt
- // Shmget
- // Sigaltstack
--// Signalfd
- // Swapoff
- // Swapon
- // Sysfs
-diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_386.go b/vendor/golang.org/x/sys/unix/syscall_linux_386.go
-index 2b881b97..a8374b67 100644
---- a/vendor/golang.org/x/sys/unix/syscall_linux_386.go
-+++ b/vendor/golang.org/x/sys/unix/syscall_linux_386.go
-@@ -10,25 +10,15 @@
- package unix
- 
- import (
--	"syscall"
- 	"unsafe"
- )
- 
--func Getpagesize() int { return 4096 }
--
--func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) }
--
--func NsecToTimespec(nsec int64) (ts Timespec) {
--	ts.Sec = int32(nsec / 1e9)
--	ts.Nsec = int32(nsec % 1e9)
--	return
-+func setTimespec(sec, nsec int64) Timespec {
-+	return Timespec{Sec: int32(sec), Nsec: int32(nsec)}
- }
- 
--func NsecToTimeval(nsec int64) (tv Timeval) {
--	nsec += 999 // round up to microsecond
--	tv.Sec = int32(nsec / 1e9)
--	tv.Usec = int32(nsec % 1e9 / 1e3)
--	return
-+func setTimeval(sec, usec int64) Timeval {
-+	return Timeval{Sec: int32(sec), Usec: int32(usec)}
- }
- 
- //sysnb	pipe(p *[2]_C_int) (err error)
-@@ -60,9 +50,12 @@ func Pipe2(p []int, flags int) (err error) {
- // 64-bit file system and 32-bit uid calls
- // (386 default is 32-bit file system and 16-bit uid).
- //sys	Dup2(oldfd int, newfd int) (err error)
-+//sysnb	EpollCreate(size int) (fd int, err error)
-+//sys	EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error)
- //sys	Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64_64
- //sys	Fchown(fd int, uid int, gid int) (err error) = SYS_FCHOWN32
- //sys	Fstat(fd int, stat *Stat_t) (err error) = SYS_FSTAT64
-+//sys	Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) = SYS_FSTATAT64
- //sys	Ftruncate(fd int, length int64) (err error) = SYS_FTRUNCATE64
- //sysnb	Getegid() (egid int) = SYS_GETEGID32
- //sysnb	Geteuid() (euid int) = SYS_GETEUID32
-@@ -75,9 +68,10 @@ func Pipe2(p []int, flags int) (err error) {
- //sys	Lstat(path string, stat *Stat_t) (err error) = SYS_LSTAT64
- //sys	Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64
- //sys	Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64
-+//sys	Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error)
- //sys	sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) = SYS_SENDFILE64
--//sys	Setfsgid(gid int) (err error) = SYS_SETFSGID32
--//sys	Setfsuid(uid int) (err error) = SYS_SETFSUID32
-+//sys	setfsgid(gid int) (prev int, err error) = SYS_SETFSGID32
-+//sys	setfsuid(uid int) (prev int, err error) = SYS_SETFSUID32
- //sysnb	Setregid(rgid int, egid int) (err error) = SYS_SETREGID32
- //sysnb	Setresgid(rgid int, egid int, sgid int) (err error) = SYS_SETRESGID32
- //sysnb	Setresuid(ruid int, euid int, suid int) (err error) = SYS_SETRESUID32
-@@ -86,12 +80,12 @@ func Pipe2(p []int, flags int) (err error) {
- //sys	Stat(path string, stat *Stat_t) (err error) = SYS_STAT64
- //sys	SyncFileRange(fd int, off int64, n int64, flags int) (err error)
- //sys	Truncate(path string, length int64) (err error) = SYS_TRUNCATE64
-+//sys	Ustat(dev int, ubuf *Ustat_t) (err error)
- //sysnb	getgroups(n int, list *_Gid_t) (nn int, err error) = SYS_GETGROUPS32
- //sysnb	setgroups(n int, list *_Gid_t) (err error) = SYS_SETGROUPS32
- //sys	Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) = SYS__NEWSELECT
- 
- //sys	mmap2(addr uintptr, length uintptr, prot int, flags int, fd int, pageOffset uintptr) (xaddr uintptr, err error)
--//sys	EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error)
- //sys	Pause() (err error)
- 
- func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) {
-@@ -165,10 +159,6 @@ func Setrlimit(resource int, rlim *Rlimit) (err error) {
- 	return setrlimit(resource, &rl)
- }
- 
--// Underlying system call writes to newoffset via pointer.
--// Implemented in assembly to avoid allocation.
--func seek(fd int, offset int64, whence int) (newoffset int64, err syscall.Errno)
--
- func Seek(fd int, offset int64, whence int) (newoffset int64, err error) {
- 	newoffset, errno := seek(fd, offset, whence)
- 	if errno != 0 {
-@@ -177,17 +167,17 @@ func Seek(fd int, offset int64, whence int) (newoffset int64, err error) {
- 	return newoffset, nil
- }
- 
--// Vsyscalls on amd64.
-+//sys	futimesat(dirfd int, path string, times *[2]Timeval) (err error)
- //sysnb	Gettimeofday(tv *Timeval) (err error)
- //sysnb	Time(t *Time_t) (tt Time_t, err error)
--
- //sys	Utime(path string, buf *Utimbuf) (err error)
-+//sys	utimes(path string, times *[2]Timeval) (err error)
- 
- // On x86 Linux, all the socket calls go through an extra indirection,
- // I think because the 5-register system call interface can't handle
--// the 6-argument calls like sendto and recvfrom.  Instead the
-+// the 6-argument calls like sendto and recvfrom. Instead the
- // arguments to the underlying system call are the number below
--// and a pointer to an array of uintptr.  We hide the pointer in the
-+// and a pointer to an array of uintptr. We hide the pointer in the
- // socketcall assembly to avoid allocation on every system call.
- 
- const (
-@@ -214,9 +204,6 @@ const (
- 	_SENDMMSG    = 20
- )
- 
--func socketcall(call int, a0, a1, a2, a3, a4, a5 uintptr) (n int, err syscall.Errno)
--func rawsocketcall(call int, a0, a1, a2, a3, a4, a5 uintptr) (n int, err syscall.Errno)
--
- func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {
- 	fd, e := socketcall(_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), 0, 0, 0)
- 	if e != 0 {
-@@ -385,6 +372,10 @@ func (msghdr *Msghdr) SetControllen(length int) {
- 	msghdr.Controllen = uint32(length)
- }
- 
-+func (msghdr *Msghdr) SetIovlen(length int) {
-+	msghdr.Iovlen = uint32(length)
-+}
-+
- func (cmsg *Cmsghdr) SetLen(length int) {
- 	cmsg.Len = uint32(length)
- }
-diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_amd64.go b/vendor/golang.org/x/sys/unix/syscall_linux_amd64.go
-index 9516a3fd..8ed1d546 100644
---- a/vendor/golang.org/x/sys/unix/syscall_linux_amd64.go
-+++ b/vendor/golang.org/x/sys/unix/syscall_linux_amd64.go
-@@ -7,10 +7,12 @@
- package unix
- 
- //sys	Dup2(oldfd int, newfd int) (err error)
-+//sysnb	EpollCreate(size int) (fd int, err error)
- //sys	EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error)
- //sys	Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64
- //sys	Fchown(fd int, uid int, gid int) (err error)
- //sys	Fstat(fd int, stat *Stat_t) (err error)
-+//sys	Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) = SYS_NEWFSTATAT
- //sys	Fstatfs(fd int, buf *Statfs_t) (err error)
- //sys	Ftruncate(fd int, length int64) (err error)
- //sysnb	Getegid() (egid int)
-@@ -18,20 +20,43 @@ package unix
- //sysnb	Getgid() (gid int)
- //sysnb	Getrlimit(resource int, rlim *Rlimit) (err error)
- //sysnb	Getuid() (uid int)
--//sysnb	InotifyInit() (fd int, err error)
-+//sysnb	inotifyInit() (fd int, err error)
-+
-+func InotifyInit() (fd int, err error) {
-+	// First try inotify_init1, because Android's seccomp policy blocks the latter.
-+	fd, err = InotifyInit1(0)
-+	if err == ENOSYS {
-+		fd, err = inotifyInit()
-+	}
-+	return
-+}
-+
- //sys	Ioperm(from int, num int, on int) (err error)
- //sys	Iopl(level int) (err error)
- //sys	Lchown(path string, uid int, gid int) (err error)
- //sys	Listen(s int, n int) (err error)
--//sys	Lstat(path string, stat *Stat_t) (err error)
-+
-+func Lstat(path string, stat *Stat_t) (err error) {
-+	return Fstatat(AT_FDCWD, path, stat, AT_SYMLINK_NOFOLLOW)
-+}
-+
- //sys	Pause() (err error)
- //sys	Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64
- //sys	Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64
-+//sys	Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error)
- //sys	Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK
--//sys	Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error)
-+
-+func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) {
-+	var ts *Timespec
-+	if timeout != nil {
-+		ts = &Timespec{Sec: timeout.Sec, Nsec: timeout.Usec * 1000}
-+	}
-+	return Pselect(nfd, r, w, e, ts, nil)
-+}
-+
- //sys	sendfile(outfd int, infd int, offset *int64, count int) (written int, err error)
--//sys	Setfsgid(gid int) (err error)
--//sys	Setfsuid(uid int) (err error)
-+//sys	setfsgid(gid int) (prev int, err error)
-+//sys	setfsuid(uid int) (prev int, err error)
- //sysnb	Setregid(rgid int, egid int) (err error)
- //sysnb	Setresgid(rgid int, egid int, sgid int) (err error)
- //sysnb	Setresuid(ruid int, euid int, suid int) (err error)
-@@ -39,10 +64,16 @@ package unix
- //sysnb	Setreuid(ruid int, euid int) (err error)
- //sys	Shutdown(fd int, how int) (err error)
- //sys	Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error)
--//sys	Stat(path string, stat *Stat_t) (err error)
-+
-+func Stat(path string, stat *Stat_t) (err error) {
-+	// Use fstatat, because Android's seccomp policy blocks stat.
-+	return Fstatat(AT_FDCWD, path, stat, 0)
-+}
-+
- //sys	Statfs(path string, buf *Statfs_t) (err error)
- //sys	SyncFileRange(fd int, off int64, n int64, flags int) (err error)
- //sys	Truncate(path string, length int64) (err error)
-+//sys	Ustat(dev int, ubuf *Ustat_t) (err error)
- //sys	accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error)
- //sys	accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error)
- //sys	bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error)
-@@ -61,6 +92,8 @@ package unix
- //sys	sendmsg(s int, msg *Msghdr, flags int) (n int, err error)
- //sys	mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error)
- 
-+//sys	futimesat(dirfd int, path string, times *[2]Timeval) (err error)
-+
- func Gettimeofday(tv *Timeval) (err error) {
- 	errno := gettimeofday(tv)
- 	if errno != 0 {
-@@ -69,8 +102,6 @@ func Gettimeofday(tv *Timeval) (err error) {
- 	return nil
- }
- 
--func Getpagesize() int { return 4096 }
--
- func Time(t *Time_t) (tt Time_t, err error) {
- 	var tv Timeval
- 	errno := gettimeofday(&tv)
-@@ -84,20 +115,14 @@ func Time(t *Time_t) (tt Time_t, err error) {
- }
- 
- //sys	Utime(path string, buf *Utimbuf) (err error)
-+//sys	utimes(path string, times *[2]Timeval) (err error)
- 
--func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) }
--
--func NsecToTimespec(nsec int64) (ts Timespec) {
--	ts.Sec = nsec / 1e9
--	ts.Nsec = nsec % 1e9
--	return
-+func setTimespec(sec, nsec int64) Timespec {
-+	return Timespec{Sec: sec, Nsec: nsec}
- }
- 
--func NsecToTimeval(nsec int64) (tv Timeval) {
--	nsec += 999 // round up to microsecond
--	tv.Sec = nsec / 1e9
--	tv.Usec = nsec % 1e9 / 1e3
--	return
-+func setTimeval(sec, usec int64) Timeval {
-+	return Timeval{Sec: sec, Usec: usec}
- }
- 
- //sysnb	pipe(p *[2]_C_int) (err error)
-@@ -138,6 +163,10 @@ func (msghdr *Msghdr) SetControllen(length int) {
- 	msghdr.Controllen = uint64(length)
- }
- 
-+func (msghdr *Msghdr) SetIovlen(length int) {
-+	msghdr.Iovlen = uint64(length)
-+}
-+
- func (cmsg *Cmsghdr) SetLen(length int) {
- 	cmsg.Len = uint64(length)
- }
-@@ -150,3 +179,16 @@ func Poll(fds []PollFd, timeout int) (n int, err error) {
- 	}
- 	return poll(&fds[0], len(fds), timeout)
- }
-+
-+//sys	kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error)
-+
-+func KexecFileLoad(kernelFd int, initrdFd int, cmdline string, flags int) error {
-+	cmdlineLen := len(cmdline)
-+	if cmdlineLen > 0 {
-+		// Account for the additional NULL byte added by
-+		// BytePtrFromString in kexecFileLoad. The kexec_file_load
-+		// syscall expects a NULL-terminated string.
-+		cmdlineLen++
-+	}
-+	return kexecFileLoad(kernelFd, initrdFd, cmdlineLen, cmdline, flags)
-+}
-diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_arm.go b/vendor/golang.org/x/sys/unix/syscall_linux_arm.go
-index 71d87022..99ae6137 100644
---- a/vendor/golang.org/x/sys/unix/syscall_linux_arm.go
-+++ b/vendor/golang.org/x/sys/unix/syscall_linux_arm.go
-@@ -11,29 +11,26 @@ import (
- 	"unsafe"
- )
- 
--func Getpagesize() int { return 4096 }
--
--func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) }
--
--func NsecToTimespec(nsec int64) (ts Timespec) {
--	ts.Sec = int32(nsec / 1e9)
--	ts.Nsec = int32(nsec % 1e9)
--	return
-+func setTimespec(sec, nsec int64) Timespec {
-+	return Timespec{Sec: int32(sec), Nsec: int32(nsec)}
- }
- 
--func NsecToTimeval(nsec int64) (tv Timeval) {
--	nsec += 999 // round up to microsecond
--	tv.Sec = int32(nsec / 1e9)
--	tv.Usec = int32(nsec % 1e9 / 1e3)
--	return
-+func setTimeval(sec, usec int64) Timeval {
-+	return Timeval{Sec: int32(sec), Usec: int32(usec)}
- }
- 
-+//sysnb	pipe(p *[2]_C_int) (err error)
-+
- func Pipe(p []int) (err error) {
- 	if len(p) != 2 {
- 		return EINVAL
- 	}
- 	var pp [2]_C_int
-+	// Try pipe2 first for Android O, then try pipe for kernel 2.6.23.
- 	err = pipe2(&pp, 0)
-+	if err == ENOSYS {
-+		err = pipe(&pp)
-+	}
- 	p[0] = int(pp[0])
- 	p[1] = int(pp[1])
- 	return
-@@ -84,8 +81,11 @@ func Seek(fd int, offset int64, whence int) (newoffset int64, err error) {
- // 64-bit file system and 32-bit uid calls
- // (16-bit uid calls are not always supported in newer kernels)
- //sys	Dup2(oldfd int, newfd int) (err error)
-+//sysnb	EpollCreate(size int) (fd int, err error)
-+//sys	EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error)
- //sys	Fchown(fd int, uid int, gid int) (err error) = SYS_FCHOWN32
- //sys	Fstat(fd int, stat *Stat_t) (err error) = SYS_FSTAT64
-+//sys	Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) = SYS_FSTATAT64
- //sysnb	Getegid() (egid int) = SYS_GETEGID32
- //sysnb	Geteuid() (euid int) = SYS_GETEUID32
- //sysnb	Getgid() (gid int) = SYS_GETGID32
-@@ -94,10 +94,12 @@ func Seek(fd int, offset int64, whence int) (newoffset int64, err error) {
- //sys	Lchown(path string, uid int, gid int) (err error) = SYS_LCHOWN32
- //sys	Listen(s int, n int) (err error)
- //sys	Lstat(path string, stat *Stat_t) (err error) = SYS_LSTAT64
-+//sys	Pause() (err error)
-+//sys	Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error)
- //sys	sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) = SYS_SENDFILE64
- //sys	Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) = SYS__NEWSELECT
--//sys	Setfsgid(gid int) (err error) = SYS_SETFSGID32
--//sys	Setfsuid(uid int) (err error) = SYS_SETFSUID32
-+//sys	setfsgid(gid int) (prev int, err error) = SYS_SETFSGID32
-+//sys	setfsuid(uid int) (prev int, err error) = SYS_SETFSUID32
- //sysnb	Setregid(rgid int, egid int) (err error) = SYS_SETREGID32
- //sysnb	Setresgid(rgid int, egid int, sgid int) (err error) = SYS_SETRESGID32
- //sysnb	Setresuid(ruid int, euid int, suid int) (err error) = SYS_SETRESUID32
-@@ -105,11 +107,10 @@ func Seek(fd int, offset int64, whence int) (newoffset int64, err error) {
- //sys	Shutdown(fd int, how int) (err error)
- //sys	Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error)
- //sys	Stat(path string, stat *Stat_t) (err error) = SYS_STAT64
-+//sys	Ustat(dev int, ubuf *Ustat_t) (err error)
- 
--// Vsyscalls on amd64.
-+//sys	futimesat(dirfd int, path string, times *[2]Timeval) (err error)
- //sysnb	Gettimeofday(tv *Timeval) (err error)
--//sys	EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error)
--//sys	Pause() (err error)
- 
- func Time(t *Time_t) (Time_t, error) {
- 	var tv Timeval
-@@ -131,6 +132,8 @@ func Utime(path string, buf *Utimbuf) error {
- 	return Utimes(path, tv)
- }
- 
-+//sys	utimes(path string, times *[2]Timeval) (err error)
-+
- //sys   Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64
- //sys   Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64
- //sys	Truncate(path string, length int64) (err error) = SYS_TRUNCATE64
-@@ -249,6 +252,10 @@ func (msghdr *Msghdr) SetControllen(length int) {
- 	msghdr.Controllen = uint32(length)
- }
- 
-+func (msghdr *Msghdr) SetIovlen(length int) {
-+	msghdr.Iovlen = uint32(length)
-+}
-+
- func (cmsg *Cmsghdr) SetLen(length int) {
- 	cmsg.Len = uint32(length)
- }
-@@ -261,3 +268,24 @@ func Poll(fds []PollFd, timeout int) (n int, err error) {
- 	}
- 	return poll(&fds[0], len(fds), timeout)
- }
-+
-+//sys	armSyncFileRange(fd int, flags int, off int64, n int64) (err error) = SYS_ARM_SYNC_FILE_RANGE
-+
-+func SyncFileRange(fd int, off int64, n int64, flags int) error {
-+	// The sync_file_range and arm_sync_file_range syscalls differ only in the
-+	// order of their arguments.
-+	return armSyncFileRange(fd, flags, off, n)
-+}
-+
-+//sys	kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error)
-+
-+func KexecFileLoad(kernelFd int, initrdFd int, cmdline string, flags int) error {
-+	cmdlineLen := len(cmdline)
-+	if cmdlineLen > 0 {
-+		// Account for the additional NULL byte added by
-+		// BytePtrFromString in kexecFileLoad. The kexec_file_load
-+		// syscall expects a NULL-terminated string.
-+		cmdlineLen++
-+	}
-+	return kexecFileLoad(kernelFd, initrdFd, cmdlineLen, cmdline, flags)
-+}
-diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go b/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go
-index 4a136396..807a0b20 100644
---- a/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go
-+++ b/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go
-@@ -6,7 +6,17 @@
- 
- package unix
- 
-+import "unsafe"
-+
-+func EpollCreate(size int) (fd int, err error) {
-+	if size <= 0 {
-+		return -1, EINVAL
-+	}
-+	return EpollCreate1(0)
-+}
-+
- //sys	EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) = SYS_EPOLL_PWAIT
-+//sys	Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64
- //sys	Fchown(fd int, uid int, gid int) (err error)
- //sys	Fstat(fd int, stat *Stat_t) (err error)
- //sys	Fstatat(fd int, path string, stat *Stat_t, flags int) (err error)
-@@ -20,11 +30,20 @@ package unix
- //sys	Listen(s int, n int) (err error)
- //sys	Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64
- //sys	Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64
-+//sys	Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error)
- //sys	Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK
--//sys	Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) = SYS_PSELECT6
-+
-+func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) {
-+	var ts *Timespec
-+	if timeout != nil {
-+		ts = &Timespec{Sec: timeout.Sec, Nsec: timeout.Usec * 1000}
-+	}
-+	return Pselect(nfd, r, w, e, ts, nil)
-+}
-+
- //sys	sendfile(outfd int, infd int, offset *int64, count int) (written int, err error)
--//sys	Setfsgid(gid int) (err error)
--//sys	Setfsuid(uid int) (err error)
-+//sys	setfsgid(gid int) (prev int, err error)
-+//sys	setfsuid(uid int) (prev int, err error)
- //sysnb	Setregid(rgid int, egid int) (err error)
- //sysnb	Setresgid(rgid int, egid int, sgid int) (err error)
- //sysnb	Setresuid(ruid int, euid int, suid int) (err error)
-@@ -48,6 +67,11 @@ func Lstat(path string, stat *Stat_t) (err error) {
- //sys	Statfs(path string, buf *Statfs_t) (err error)
- //sys	SyncFileRange(fd int, off int64, n int64, flags int) (err error)
- //sys	Truncate(path string, length int64) (err error)
-+
-+func Ustat(dev int, ubuf *Ustat_t) (err error) {
-+	return ENOSYS
-+}
-+
- //sys	accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error)
- //sys	accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error)
- //sys	bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error)
-@@ -66,23 +90,26 @@ func Lstat(path string, stat *Stat_t) (err error) {
- //sys	sendmsg(s int, msg *Msghdr, flags int) (n int, err error)
- //sys	mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error)
- 
--func Getpagesize() int { return 65536 }
--
- //sysnb	Gettimeofday(tv *Timeval) (err error)
- 
--func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) }
-+func setTimespec(sec, nsec int64) Timespec {
-+	return Timespec{Sec: sec, Nsec: nsec}
-+}
- 
--func NsecToTimespec(nsec int64) (ts Timespec) {
--	ts.Sec = nsec / 1e9
--	ts.Nsec = nsec % 1e9
--	return
-+func setTimeval(sec, usec int64) Timeval {
-+	return Timeval{Sec: sec, Usec: usec}
- }
- 
--func NsecToTimeval(nsec int64) (tv Timeval) {
--	nsec += 999 // round up to microsecond
--	tv.Sec = nsec / 1e9
--	tv.Usec = nsec % 1e9 / 1e3
--	return
-+func futimesat(dirfd int, path string, tv *[2]Timeval) (err error) {
-+	if tv == nil {
-+		return utimensat(dirfd, path, nil, 0)
-+	}
-+
-+	ts := []Timespec{
-+		NsecToTimespec(TimevalToNsec(tv[0])),
-+		NsecToTimespec(TimevalToNsec(tv[1])),
-+	}
-+	return utimensat(dirfd, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0)
- }
- 
- func Time(t *Time_t) (Time_t, error) {
-@@ -105,6 +132,18 @@ func Utime(path string, buf *Utimbuf) error {
- 	return Utimes(path, tv)
- }
- 
-+func utimes(path string, tv *[2]Timeval) (err error) {
-+	if tv == nil {
-+		return utimensat(AT_FDCWD, path, nil, 0)
-+	}
-+
-+	ts := []Timespec{
-+		NsecToTimespec(TimevalToNsec(tv[0])),
-+		NsecToTimespec(TimevalToNsec(tv[1])),
-+	}
-+	return utimensat(AT_FDCWD, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0)
-+}
-+
- func Pipe(p []int) (err error) {
- 	if len(p) != 2 {
- 		return EINVAL
-@@ -141,6 +180,10 @@ func (msghdr *Msghdr) SetControllen(length int) {
- 	msghdr.Controllen = uint64(length)
- }
- 
-+func (msghdr *Msghdr) SetIovlen(length int) {
-+	msghdr.Iovlen = uint64(length)
-+}
-+
- func (cmsg *Cmsghdr) SetLen(length int) {
- 	cmsg.Len = uint64(length)
- }
-@@ -153,30 +196,11 @@ func Dup2(oldfd int, newfd int) (err error) {
- 	return Dup3(oldfd, newfd, 0)
- }
- 
--func Pause() (err error) {
--	_, _, e1 := Syscall6(SYS_PPOLL, 0, 0, 0, 0, 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
-+func Pause() error {
-+	_, err := ppoll(nil, 0, nil, nil)
-+	return err
- }
- 
--// TODO(dfc): constants that should be in zsysnum_linux_arm64.go, remove
--// these when the deprecated syscalls that the syscall package relies on
--// are removed.
--const (
--	SYS_GETPGRP      = 1060
--	SYS_UTIMES       = 1037
--	SYS_FUTIMESAT    = 1066
--	SYS_PAUSE        = 1061
--	SYS_USTAT        = 1070
--	SYS_UTIME        = 1063
--	SYS_LCHOWN       = 1032
--	SYS_TIME         = 1062
--	SYS_EPOLL_CREATE = 1042
--	SYS_EPOLL_WAIT   = 1069
--)
--
- func Poll(fds []PollFd, timeout int) (n int, err error) {
- 	var ts *Timespec
- 	if timeout >= 0 {
-@@ -188,3 +212,16 @@ func Poll(fds []PollFd, timeout int) (n int, err error) {
- 	}
- 	return ppoll(&fds[0], len(fds), ts, nil)
- }
-+
-+//sys	kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error)
-+
-+func KexecFileLoad(kernelFd int, initrdFd int, cmdline string, flags int) error {
-+	cmdlineLen := len(cmdline)
-+	if cmdlineLen > 0 {
-+		// Account for the additional NULL byte added by
-+		// BytePtrFromString in kexecFileLoad. The kexec_file_load
-+		// syscall expects a NULL-terminated string.
-+		cmdlineLen++
-+	}
-+	return kexecFileLoad(kernelFd, initrdFd, cmdlineLen, cmdline, flags)
-+}
-diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_gc.go b/vendor/golang.org/x/sys/unix/syscall_linux_gc.go
-new file mode 100644
-index 00000000..c26e6ec2
---- /dev/null
-+++ b/vendor/golang.org/x/sys/unix/syscall_linux_gc.go
-@@ -0,0 +1,14 @@
-+// Copyright 2018 The Go Authors. All rights reserved.
-+// Use of this source code is governed by a BSD-style
-+// license that can be found in the LICENSE file.
-+
-+// +build linux,!gccgo
-+
-+package unix
-+
-+// SyscallNoError may be used instead of Syscall for syscalls that don't fail.
-+func SyscallNoError(trap, a1, a2, a3 uintptr) (r1, r2 uintptr)
-+
-+// RawSyscallNoError may be used instead of RawSyscall for syscalls that don't
-+// fail.
-+func RawSyscallNoError(trap, a1, a2, a3 uintptr) (r1, r2 uintptr)
-diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_gc_386.go b/vendor/golang.org/x/sys/unix/syscall_linux_gc_386.go
-new file mode 100644
-index 00000000..070bd389
---- /dev/null
-+++ b/vendor/golang.org/x/sys/unix/syscall_linux_gc_386.go
-@@ -0,0 +1,16 @@
-+// Copyright 2018 The Go Authors. All rights reserved.
-+// Use of this source code is governed by a BSD-style
-+// license that can be found in the LICENSE file.
-+
-+// +build linux,!gccgo,386
-+
-+package unix
-+
-+import "syscall"
-+
-+// Underlying system call writes to newoffset via pointer.
-+// Implemented in assembly to avoid allocation.
-+func seek(fd int, offset int64, whence int) (newoffset int64, err syscall.Errno)
-+
-+func socketcall(call int, a0, a1, a2, a3, a4, a5 uintptr) (n int, err syscall.Errno)
-+func rawsocketcall(call int, a0, a1, a2, a3, a4, a5 uintptr) (n int, err syscall.Errno)
-diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_gccgo_386.go b/vendor/golang.org/x/sys/unix/syscall_linux_gccgo_386.go
-new file mode 100644
-index 00000000..308eb7ae
---- /dev/null
-+++ b/vendor/golang.org/x/sys/unix/syscall_linux_gccgo_386.go
-@@ -0,0 +1,30 @@
-+// Copyright 2018 The Go Authors. All rights reserved.
-+// Use of this source code is governed by a BSD-style
-+// license that can be found in the LICENSE file.
-+
-+// +build linux,gccgo,386
-+
-+package unix
-+
-+import (
-+	"syscall"
-+	"unsafe"
-+)
-+
-+func seek(fd int, offset int64, whence int) (int64, syscall.Errno) {
-+	var newoffset int64
-+	offsetLow := uint32(offset & 0xffffffff)
-+	offsetHigh := uint32((offset >> 32) & 0xffffffff)
-+	_, _, err := Syscall6(SYS__LLSEEK, uintptr(fd), uintptr(offsetHigh), uintptr(offsetLow), uintptr(unsafe.Pointer(&newoffset)), uintptr(whence), 0)
-+	return newoffset, err
-+}
-+
-+func socketcall(call int, a0, a1, a2, a3, a4, a5 uintptr) (int, syscall.Errno) {
-+	fd, _, err := Syscall(SYS_SOCKETCALL, uintptr(call), uintptr(unsafe.Pointer(&a0)), 0)
-+	return int(fd), err
-+}
-+
-+func rawsocketcall(call int, a0, a1, a2, a3, a4, a5 uintptr) (int, syscall.Errno) {
-+	fd, _, err := RawSyscall(SYS_SOCKETCALL, uintptr(call), uintptr(unsafe.Pointer(&a0)), 0)
-+	return int(fd), err
-+}
-diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_gccgo_arm.go b/vendor/golang.org/x/sys/unix/syscall_linux_gccgo_arm.go
-new file mode 100644
-index 00000000..aa7fc9e1
---- /dev/null
-+++ b/vendor/golang.org/x/sys/unix/syscall_linux_gccgo_arm.go
-@@ -0,0 +1,20 @@
-+// Copyright 2018 The Go Authors. All rights reserved.
-+// Use of this source code is governed by a BSD-style
-+// license that can be found in the LICENSE file.
-+
-+// +build linux,gccgo,arm
-+
-+package unix
-+
-+import (
-+	"syscall"
-+	"unsafe"
-+)
-+
-+func seek(fd int, offset int64, whence int) (int64, syscall.Errno) {
-+	var newoffset int64
-+	offsetLow := uint32(offset & 0xffffffff)
-+	offsetHigh := uint32((offset >> 32) & 0xffffffff)
-+	_, _, err := Syscall6(SYS__LLSEEK, uintptr(fd), uintptr(offsetHigh), uintptr(offsetLow), uintptr(unsafe.Pointer(&newoffset)), uintptr(whence), 0)
-+	return newoffset, err
-+}
-diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go b/vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go
-index 73318e5c..af77e6e2 100644
---- a/vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go
-+++ b/vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go
-@@ -8,7 +8,9 @@
- package unix
- 
- //sys	Dup2(oldfd int, newfd int) (err error)
-+//sysnb	EpollCreate(size int) (fd int, err error)
- //sys	EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error)
-+//sys	Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64
- //sys	Fchown(fd int, uid int, gid int) (err error)
- //sys	Fstatfs(fd int, buf *Statfs_t) (err error)
- //sys	Ftruncate(fd int, length int64) (err error)
-@@ -22,11 +24,20 @@ package unix
- //sys	Pause() (err error)
- //sys	Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64
- //sys	Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64
-+//sys	Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error)
- //sys	Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK
--//sys	Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) = SYS_PSELECT6
-+
-+func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) {
-+	var ts *Timespec
-+	if timeout != nil {
-+		ts = &Timespec{Sec: timeout.Sec, Nsec: timeout.Usec * 1000}
-+	}
-+	return Pselect(nfd, r, w, e, ts, nil)
-+}
-+
- //sys	sendfile(outfd int, infd int, offset *int64, count int) (written int, err error)
--//sys	Setfsgid(gid int) (err error)
--//sys	Setfsuid(uid int) (err error)
-+//sys	setfsgid(gid int) (prev int, err error)
-+//sys	setfsuid(uid int) (prev int, err error)
- //sysnb	Setregid(rgid int, egid int) (err error)
- //sysnb	Setresgid(rgid int, egid int, sgid int) (err error)
- //sysnb	Setresuid(ruid int, euid int, suid int) (err error)
-@@ -37,6 +48,7 @@ package unix
- //sys	Statfs(path string, buf *Statfs_t) (err error)
- //sys	SyncFileRange(fd int, off int64, n int64, flags int) (err error)
- //sys	Truncate(path string, length int64) (err error)
-+//sys	Ustat(dev int, ubuf *Ustat_t) (err error)
- //sys	accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error)
- //sys	accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error)
- //sys	bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error)
-@@ -55,8 +67,7 @@ package unix
- //sys	sendmsg(s int, msg *Msghdr, flags int) (n int, err error)
- //sys	mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error)
- 
--func Getpagesize() int { return 65536 }
--
-+//sys	futimesat(dirfd int, path string, times *[2]Timeval) (err error)
- //sysnb	Gettimeofday(tv *Timeval) (err error)
- 
- func Time(t *Time_t) (tt Time_t, err error) {
-@@ -72,20 +83,14 @@ func Time(t *Time_t) (tt Time_t, err error) {
- }
- 
- //sys	Utime(path string, buf *Utimbuf) (err error)
-+//sys	utimes(path string, times *[2]Timeval) (err error)
- 
--func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) }
--
--func NsecToTimespec(nsec int64) (ts Timespec) {
--	ts.Sec = nsec / 1e9
--	ts.Nsec = nsec % 1e9
--	return
-+func setTimespec(sec, nsec int64) Timespec {
-+	return Timespec{Sec: sec, Nsec: nsec}
- }
- 
--func NsecToTimeval(nsec int64) (tv Timeval) {
--	nsec += 999 // round up to microsecond
--	tv.Sec = nsec / 1e9
--	tv.Usec = nsec % 1e9 / 1e3
--	return
-+func setTimeval(sec, usec int64) Timeval {
-+	return Timeval{Sec: sec, Usec: usec}
- }
- 
- func Pipe(p []int) (err error) {
-@@ -143,6 +148,7 @@ type stat_t struct {
- }
- 
- //sys	fstat(fd int, st *stat_t) (err error)
-+//sys	fstatat(dirfd int, path string, st *stat_t, flags int) (err error) = SYS_NEWFSTATAT
- //sys	lstat(path string, st *stat_t) (err error)
- //sys	stat(path string, st *stat_t) (err error)
- 
-@@ -153,6 +159,13 @@ func Fstat(fd int, s *Stat_t) (err error) {
- 	return
- }
- 
-+func Fstatat(dirfd int, path string, s *Stat_t, flags int) (err error) {
-+	st := &stat_t{}
-+	err = fstatat(dirfd, path, st, flags)
-+	fillStat_t(s, st)
-+	return
-+}
-+
- func Lstat(path string, s *Stat_t) (err error) {
- 	st := &stat_t{}
- 	err = lstat(path, st)
-@@ -195,10 +208,18 @@ func (msghdr *Msghdr) SetControllen(length int) {
- 	msghdr.Controllen = uint64(length)
- }
- 
-+func (msghdr *Msghdr) SetIovlen(length int) {
-+	msghdr.Iovlen = uint64(length)
-+}
-+
- func (cmsg *Cmsghdr) SetLen(length int) {
- 	cmsg.Len = uint64(length)
- }
- 
-+func InotifyInit() (fd int, err error) {
-+	return InotifyInit1(0)
-+}
-+
- //sys	poll(fds *PollFd, nfds int, timeout int) (n int, err error)
- 
- func Poll(fds []PollFd, timeout int) (n int, err error) {
-diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go b/vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go
-index b83d93fd..e286c6ba 100644
---- a/vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go
-+++ b/vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go
-@@ -15,6 +15,9 @@ import (
- func Syscall9(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno)
- 
- //sys	Dup2(oldfd int, newfd int) (err error)
-+//sysnb	EpollCreate(size int) (fd int, err error)
-+//sys	EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error)
-+//sys	Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64
- //sys	Fchown(fd int, uid int, gid int) (err error)
- //sys	Ftruncate(fd int, length int64) (err error) = SYS_FTRUNCATE64
- //sysnb	Getegid() (egid int)
-@@ -25,20 +28,20 @@ func Syscall9(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr,
- //sys	Listen(s int, n int) (err error)
- //sys	Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64
- //sys	Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64
-+//sys	Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error)
- //sys	Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) = SYS__NEWSELECT
- //sys	sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) = SYS_SENDFILE64
--//sys	Setfsgid(gid int) (err error)
--//sys	Setfsuid(uid int) (err error)
-+//sys	setfsgid(gid int) (prev int, err error)
-+//sys	setfsuid(uid int) (prev int, err error)
- //sysnb	Setregid(rgid int, egid int) (err error)
- //sysnb	Setresgid(rgid int, egid int, sgid int) (err error)
- //sysnb	Setresuid(ruid int, euid int, suid int) (err error)
--
- //sysnb	Setreuid(ruid int, euid int) (err error)
- //sys	Shutdown(fd int, how int) (err error)
--//sys	Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error)
--
-+//sys	Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error)
- //sys	SyncFileRange(fd int, off int64, n int64, flags int) (err error)
- //sys	Truncate(path string, length int64) (err error) = SYS_TRUNCATE64
-+//sys	Ustat(dev int, ubuf *Ustat_t) (err error)
- //sys	accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error)
- //sys	accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error)
- //sys	bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error)
-@@ -60,15 +63,17 @@ func Syscall9(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr,
- //sys	Ioperm(from int, num int, on int) (err error)
- //sys	Iopl(level int) (err error)
- 
-+//sys	futimesat(dirfd int, path string, times *[2]Timeval) (err error)
- //sysnb	Gettimeofday(tv *Timeval) (err error)
- //sysnb	Time(t *Time_t) (tt Time_t, err error)
-+//sys	Utime(path string, buf *Utimbuf) (err error)
-+//sys	utimes(path string, times *[2]Timeval) (err error)
- 
- //sys	Lstat(path string, stat *Stat_t) (err error) = SYS_LSTAT64
- //sys	Fstat(fd int, stat *Stat_t) (err error) = SYS_FSTAT64
-+//sys	Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) = SYS_FSTATAT64
- //sys	Stat(path string, stat *Stat_t) (err error) = SYS_STAT64
- 
--//sys	Utime(path string, buf *Utimbuf) (err error)
--//sys	EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error)
- //sys	Pause() (err error)
- 
- func Fstatfs(fd int, buf *Statfs_t) (err error) {
-@@ -99,19 +104,12 @@ func Seek(fd int, offset int64, whence int) (off int64, err error) {
- 	return
- }
- 
--func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) }
--
--func NsecToTimespec(nsec int64) (ts Timespec) {
--	ts.Sec = int32(nsec / 1e9)
--	ts.Nsec = int32(nsec % 1e9)
--	return
-+func setTimespec(sec, nsec int64) Timespec {
-+	return Timespec{Sec: int32(sec), Nsec: int32(nsec)}
- }
- 
--func NsecToTimeval(nsec int64) (tv Timeval) {
--	nsec += 999 // round up to microsecond
--	tv.Sec = int32(nsec / 1e9)
--	tv.Usec = int32(nsec % 1e9 / 1e3)
--	return
-+func setTimeval(sec, usec int64) Timeval {
-+	return Timeval{Sec: int32(sec), Usec: int32(usec)}
- }
- 
- //sysnb pipe2(p *[2]_C_int, flags int) (err error)
-@@ -127,14 +125,13 @@ func Pipe2(p []int, flags int) (err error) {
- 	return
- }
- 
-+//sysnb pipe() (p1 int, p2 int, err error)
-+
- func Pipe(p []int) (err error) {
- 	if len(p) != 2 {
- 		return EINVAL
- 	}
--	var pp [2]_C_int
--	err = pipe2(&pp, 0)
--	p[0] = int(pp[0])
--	p[1] = int(pp[1])
-+	p[0], p[1], err = pipe()
- 	return
- }
- 
-@@ -223,6 +220,10 @@ func (msghdr *Msghdr) SetControllen(length int) {
- 	msghdr.Controllen = uint32(length)
- }
- 
-+func (msghdr *Msghdr) SetIovlen(length int) {
-+	msghdr.Iovlen = uint32(length)
-+}
-+
- func (cmsg *Cmsghdr) SetLen(length int) {
- 	cmsg.Len = uint32(length)
- }
-@@ -235,5 +236,3 @@ func Poll(fds []PollFd, timeout int) (n int, err error) {
- 	}
- 	return poll(&fds[0], len(fds), timeout)
- }
--
--func Getpagesize() int { return 4096 }
-diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go b/vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go
-index 60770f62..ca0345aa 100644
---- a/vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go
-+++ b/vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go
-@@ -7,10 +7,13 @@
- 
- package unix
- 
--//sys	EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error)
- //sys	Dup2(oldfd int, newfd int) (err error)
-+//sysnb	EpollCreate(size int) (fd int, err error)
-+//sys	EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error)
-+//sys	Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64
- //sys	Fchown(fd int, uid int, gid int) (err error)
- //sys	Fstat(fd int, stat *Stat_t) (err error)
-+//sys	Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) = SYS_NEWFSTATAT
- //sys	Fstatfs(fd int, buf *Statfs_t) (err error)
- //sys	Ftruncate(fd int, length int64) (err error)
- //sysnb	Getegid() (egid int)
-@@ -27,11 +30,12 @@ package unix
- //sys	Pause() (err error)
- //sys	Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64
- //sys	Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64
-+//sys	Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error)
- //sys	Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK
--//sys	Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error)
-+//sys	Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) = SYS__NEWSELECT
- //sys	sendfile(outfd int, infd int, offset *int64, count int) (written int, err error)
--//sys	Setfsgid(gid int) (err error)
--//sys	Setfsuid(uid int) (err error)
-+//sys	setfsgid(gid int) (prev int, err error)
-+//sys	setfsuid(uid int) (prev int, err error)
- //sysnb	Setregid(rgid int, egid int) (err error)
- //sysnb	Setresgid(rgid int, egid int, sgid int) (err error)
- //sysnb	Setresuid(ruid int, euid int, suid int) (err error)
-@@ -41,8 +45,8 @@ package unix
- //sys	Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error)
- //sys	Stat(path string, stat *Stat_t) (err error)
- //sys	Statfs(path string, buf *Statfs_t) (err error)
--//sys	SyncFileRange(fd int, off int64, n int64, flags int) (err error) = SYS_SYNC_FILE_RANGE2
- //sys	Truncate(path string, length int64) (err error)
-+//sys	Ustat(dev int, ubuf *Ustat_t) (err error)
- //sys	accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error)
- //sys	accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error)
- //sys	bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error)
-@@ -61,26 +65,18 @@ package unix
- //sys	sendmsg(s int, msg *Msghdr, flags int) (n int, err error)
- //sys	mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error)
- 
--func Getpagesize() int { return 65536 }
--
-+//sys	futimesat(dirfd int, path string, times *[2]Timeval) (err error)
- //sysnb	Gettimeofday(tv *Timeval) (err error)
- //sysnb	Time(t *Time_t) (tt Time_t, err error)
--
- //sys	Utime(path string, buf *Utimbuf) (err error)
-+//sys	utimes(path string, times *[2]Timeval) (err error)
- 
--func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) }
--
--func NsecToTimespec(nsec int64) (ts Timespec) {
--	ts.Sec = nsec / 1e9
--	ts.Nsec = nsec % 1e9
--	return
-+func setTimespec(sec, nsec int64) Timespec {
-+	return Timespec{Sec: sec, Nsec: nsec}
- }
- 
--func NsecToTimeval(nsec int64) (tv Timeval) {
--	nsec += 999 // round up to microsecond
--	tv.Sec = nsec / 1e9
--	tv.Usec = nsec % 1e9 / 1e3
--	return
-+func setTimeval(sec, usec int64) Timeval {
-+	return Timeval{Sec: sec, Usec: usec}
- }
- 
- func (r *PtraceRegs) PC() uint64 { return r.Nip }
-@@ -95,6 +91,10 @@ func (msghdr *Msghdr) SetControllen(length int) {
- 	msghdr.Controllen = uint64(length)
- }
- 
-+func (msghdr *Msghdr) SetIovlen(length int) {
-+	msghdr.Iovlen = uint64(length)
-+}
-+
- func (cmsg *Cmsghdr) SetLen(length int) {
- 	cmsg.Len = uint64(length)
- }
-@@ -133,3 +133,24 @@ func Poll(fds []PollFd, timeout int) (n int, err error) {
- 	}
- 	return poll(&fds[0], len(fds), timeout)
- }
-+
-+//sys	syncFileRange2(fd int, flags int, off int64, n int64) (err error) = SYS_SYNC_FILE_RANGE2
-+
-+func SyncFileRange(fd int, off int64, n int64, flags int) error {
-+	// The sync_file_range and sync_file_range2 syscalls differ only in the
-+	// order of their arguments.
-+	return syncFileRange2(fd, flags, off, n)
-+}
-+
-+//sys	kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error)
-+
-+func KexecFileLoad(kernelFd int, initrdFd int, cmdline string, flags int) error {
-+	cmdlineLen := len(cmdline)
-+	if cmdlineLen > 0 {
-+		// Account for the additional NULL byte added by
-+		// BytePtrFromString in kexecFileLoad. The kexec_file_load
-+		// syscall expects a NULL-terminated string.
-+		cmdlineLen++
-+	}
-+	return kexecFileLoad(kernelFd, initrdFd, cmdlineLen, cmdline, flags)
-+}
-diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go b/vendor/golang.org/x/sys/unix/syscall_linux_riscv64.go
-similarity index 68%
-copy from vendor/golang.org/x/sys/unix/syscall_linux_arm64.go
-copy to vendor/golang.org/x/sys/unix/syscall_linux_riscv64.go
-index 4a136396..abdabbac 100644
---- a/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go
-+++ b/vendor/golang.org/x/sys/unix/syscall_linux_riscv64.go
-@@ -1,12 +1,22 @@
--// Copyright 2015 The Go Authors. All rights reserved.
-+// Copyright 2018 The Go Authors. All rights reserved.
- // Use of this source code is governed by a BSD-style
- // license that can be found in the LICENSE file.
- 
--// +build arm64,linux
-+// +build riscv64,linux
- 
- package unix
- 
-+import "unsafe"
-+
-+func EpollCreate(size int) (fd int, err error) {
-+	if size <= 0 {
-+		return -1, EINVAL
-+	}
-+	return EpollCreate1(0)
-+}
-+
- //sys	EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) = SYS_EPOLL_PWAIT
-+//sys	Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64
- //sys	Fchown(fd int, uid int, gid int) (err error)
- //sys	Fstat(fd int, stat *Stat_t) (err error)
- //sys	Fstatat(fd int, path string, stat *Stat_t, flags int) (err error)
-@@ -21,10 +31,18 @@ package unix
- //sys	Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64
- //sys	Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64
- //sys	Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK
--//sys	Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) = SYS_PSELECT6
-+
-+func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) {
-+	var ts *Timespec
-+	if timeout != nil {
-+		ts = &Timespec{Sec: timeout.Sec, Nsec: timeout.Usec * 1000}
-+	}
-+	return Pselect(nfd, r, w, e, ts, nil)
-+}
-+
- //sys	sendfile(outfd int, infd int, offset *int64, count int) (written int, err error)
--//sys	Setfsgid(gid int) (err error)
--//sys	Setfsuid(uid int) (err error)
-+//sys	setfsgid(gid int) (prev int, err error)
-+//sys	setfsuid(uid int) (prev int, err error)
- //sysnb	Setregid(rgid int, egid int) (err error)
- //sysnb	Setresgid(rgid int, egid int, sgid int) (err error)
- //sysnb	Setresuid(ruid int, euid int, suid int) (err error)
-@@ -48,6 +66,11 @@ func Lstat(path string, stat *Stat_t) (err error) {
- //sys	Statfs(path string, buf *Statfs_t) (err error)
- //sys	SyncFileRange(fd int, off int64, n int64, flags int) (err error)
- //sys	Truncate(path string, length int64) (err error)
-+
-+func Ustat(dev int, ubuf *Ustat_t) (err error) {
-+	return ENOSYS
-+}
-+
- //sys	accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error)
- //sys	accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error)
- //sys	bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error)
-@@ -66,23 +89,26 @@ func Lstat(path string, stat *Stat_t) (err error) {
- //sys	sendmsg(s int, msg *Msghdr, flags int) (n int, err error)
- //sys	mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error)
- 
--func Getpagesize() int { return 65536 }
--
- //sysnb	Gettimeofday(tv *Timeval) (err error)
- 
--func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) }
-+func setTimespec(sec, nsec int64) Timespec {
-+	return Timespec{Sec: sec, Nsec: nsec}
-+}
- 
--func NsecToTimespec(nsec int64) (ts Timespec) {
--	ts.Sec = nsec / 1e9
--	ts.Nsec = nsec % 1e9
--	return
-+func setTimeval(sec, usec int64) Timeval {
-+	return Timeval{Sec: sec, Usec: usec}
- }
- 
--func NsecToTimeval(nsec int64) (tv Timeval) {
--	nsec += 999 // round up to microsecond
--	tv.Sec = nsec / 1e9
--	tv.Usec = nsec % 1e9 / 1e3
--	return
-+func futimesat(dirfd int, path string, tv *[2]Timeval) (err error) {
-+	if tv == nil {
-+		return utimensat(dirfd, path, nil, 0)
-+	}
-+
-+	ts := []Timespec{
-+		NsecToTimespec(TimevalToNsec(tv[0])),
-+		NsecToTimespec(TimevalToNsec(tv[1])),
-+	}
-+	return utimensat(dirfd, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0)
- }
- 
- func Time(t *Time_t) (Time_t, error) {
-@@ -105,6 +131,18 @@ func Utime(path string, buf *Utimbuf) error {
- 	return Utimes(path, tv)
- }
- 
-+func utimes(path string, tv *[2]Timeval) (err error) {
-+	if tv == nil {
-+		return utimensat(AT_FDCWD, path, nil, 0)
-+	}
-+
-+	ts := []Timespec{
-+		NsecToTimespec(TimevalToNsec(tv[0])),
-+		NsecToTimespec(TimevalToNsec(tv[1])),
-+	}
-+	return utimensat(AT_FDCWD, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0)
-+}
-+
- func Pipe(p []int) (err error) {
- 	if len(p) != 2 {
- 		return EINVAL
-@@ -141,6 +179,10 @@ func (msghdr *Msghdr) SetControllen(length int) {
- 	msghdr.Controllen = uint64(length)
- }
- 
-+func (msghdr *Msghdr) SetIovlen(length int) {
-+	msghdr.Iovlen = uint64(length)
-+}
-+
- func (cmsg *Cmsghdr) SetLen(length int) {
- 	cmsg.Len = uint64(length)
- }
-@@ -153,30 +195,11 @@ func Dup2(oldfd int, newfd int) (err error) {
- 	return Dup3(oldfd, newfd, 0)
- }
- 
--func Pause() (err error) {
--	_, _, e1 := Syscall6(SYS_PPOLL, 0, 0, 0, 0, 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
-+func Pause() error {
-+	_, err := ppoll(nil, 0, nil, nil)
-+	return err
- }
- 
--// TODO(dfc): constants that should be in zsysnum_linux_arm64.go, remove
--// these when the deprecated syscalls that the syscall package relies on
--// are removed.
--const (
--	SYS_GETPGRP      = 1060
--	SYS_UTIMES       = 1037
--	SYS_FUTIMESAT    = 1066
--	SYS_PAUSE        = 1061
--	SYS_USTAT        = 1070
--	SYS_UTIME        = 1063
--	SYS_LCHOWN       = 1032
--	SYS_TIME         = 1062
--	SYS_EPOLL_CREATE = 1042
--	SYS_EPOLL_WAIT   = 1069
--)
--
- func Poll(fds []PollFd, timeout int) (n int, err error) {
- 	var ts *Timespec
- 	if timeout >= 0 {
-@@ -188,3 +211,20 @@ func Poll(fds []PollFd, timeout int) (n int, err error) {
- 	}
- 	return ppoll(&fds[0], len(fds), ts, nil)
- }
-+
-+func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) {
-+	return Renameat2(olddirfd, oldpath, newdirfd, newpath, 0)
-+}
-+
-+//sys	kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error)
-+
-+func KexecFileLoad(kernelFd int, initrdFd int, cmdline string, flags int) error {
-+	cmdlineLen := len(cmdline)
-+	if cmdlineLen > 0 {
-+		// Account for the additional NULL byte added by
-+		// BytePtrFromString in kexecFileLoad. The kexec_file_load
-+		// syscall expects a NULL-terminated string.
-+		cmdlineLen++
-+	}
-+	return kexecFileLoad(kernelFd, initrdFd, cmdlineLen, cmdline, flags)
-+}
-diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_s390x.go b/vendor/golang.org/x/sys/unix/syscall_linux_s390x.go
-index 1708a4bb..533e9305 100644
---- a/vendor/golang.org/x/sys/unix/syscall_linux_s390x.go
-+++ b/vendor/golang.org/x/sys/unix/syscall_linux_s390x.go
-@@ -11,10 +11,12 @@ import (
- )
- 
- //sys	Dup2(oldfd int, newfd int) (err error)
-+//sysnb	EpollCreate(size int) (fd int, err error)
- //sys	EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error)
- //sys	Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64
- //sys	Fchown(fd int, uid int, gid int) (err error)
- //sys	Fstat(fd int, stat *Stat_t) (err error)
-+//sys	Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) = SYS_NEWFSTATAT
- //sys	Fstatfs(fd int, buf *Statfs_t) (err error)
- //sys	Ftruncate(fd int, length int64) (err error)
- //sysnb	Getegid() (egid int)
-@@ -28,11 +30,12 @@ import (
- //sys	Pause() (err error)
- //sys	Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64
- //sys	Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64
-+//sys	Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error)
- //sys	Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK
- //sys	Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error)
- //sys	sendfile(outfd int, infd int, offset *int64, count int) (written int, err error)
--//sys	Setfsgid(gid int) (err error)
--//sys	Setfsuid(uid int) (err error)
-+//sys	setfsgid(gid int) (prev int, err error)
-+//sys	setfsuid(uid int) (prev int, err error)
- //sysnb	Setregid(rgid int, egid int) (err error)
- //sysnb	Setresgid(rgid int, egid int, sgid int) (err error)
- //sysnb	Setresuid(ruid int, euid int, suid int) (err error)
-@@ -43,11 +46,11 @@ import (
- //sys	Statfs(path string, buf *Statfs_t) (err error)
- //sys	SyncFileRange(fd int, off int64, n int64, flags int) (err error)
- //sys	Truncate(path string, length int64) (err error)
-+//sys	Ustat(dev int, ubuf *Ustat_t) (err error)
- //sysnb	getgroups(n int, list *_Gid_t) (nn int, err error)
- //sysnb	setgroups(n int, list *_Gid_t) (err error)
- 
--func Getpagesize() int { return 4096 }
--
-+//sys	futimesat(dirfd int, path string, times *[2]Timeval) (err error)
- //sysnb	Gettimeofday(tv *Timeval) (err error)
- 
- func Time(t *Time_t) (tt Time_t, err error) {
-@@ -63,20 +66,14 @@ func Time(t *Time_t) (tt Time_t, err error) {
- }
- 
- //sys	Utime(path string, buf *Utimbuf) (err error)
-+//sys	utimes(path string, times *[2]Timeval) (err error)
- 
--func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) }
--
--func NsecToTimespec(nsec int64) (ts Timespec) {
--	ts.Sec = nsec / 1e9
--	ts.Nsec = nsec % 1e9
--	return
-+func setTimespec(sec, nsec int64) Timespec {
-+	return Timespec{Sec: sec, Nsec: nsec}
- }
- 
--func NsecToTimeval(nsec int64) (tv Timeval) {
--	nsec += 999 // round up to microsecond
--	tv.Sec = nsec / 1e9
--	tv.Usec = nsec % 1e9 / 1e3
--	return
-+func setTimeval(sec, usec int64) Timeval {
-+	return Timeval{Sec: sec, Usec: usec}
- }
- 
- //sysnb pipe2(p *[2]_C_int, flags int) (err error)
-@@ -123,6 +120,10 @@ func (msghdr *Msghdr) SetControllen(length int) {
- 	msghdr.Controllen = uint64(length)
- }
- 
-+func (msghdr *Msghdr) SetIovlen(length int) {
-+	msghdr.Iovlen = uint64(length)
-+}
-+
- func (cmsg *Cmsghdr) SetLen(length int) {
- 	cmsg.Len = uint64(length)
- }
-@@ -326,3 +327,16 @@ func Poll(fds []PollFd, timeout int) (n int, err error) {
- 	}
- 	return poll(&fds[0], len(fds), timeout)
- }
-+
-+//sys	kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error)
-+
-+func KexecFileLoad(kernelFd int, initrdFd int, cmdline string, flags int) error {
-+	cmdlineLen := len(cmdline)
-+	if cmdlineLen > 0 {
-+		// Account for the additional NULL byte added by
-+		// BytePtrFromString in kexecFileLoad. The kexec_file_load
-+		// syscall expects a NULL-terminated string.
-+		cmdlineLen++
-+	}
-+	return kexecFileLoad(kernelFd, initrdFd, cmdlineLen, cmdline, flags)
-+}
-diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go b/vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go
-index 20b7454d..d890a227 100644
---- a/vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go
-+++ b/vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go
-@@ -6,15 +6,12 @@
- 
- package unix
- 
--import (
--	"sync/atomic"
--	"syscall"
--)
--
- //sys	EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error)
-+//sys	Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64
- //sys	Dup2(oldfd int, newfd int) (err error)
- //sys	Fchown(fd int, uid int, gid int) (err error)
- //sys	Fstat(fd int, stat *Stat_t) (err error)
-+//sys	Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) = SYS_FSTATAT64
- //sys	Fstatfs(fd int, buf *Statfs_t) (err error)
- //sys	Ftruncate(fd int, length int64) (err error)
- //sysnb	Getegid() (egid int)
-@@ -29,11 +26,12 @@ import (
- //sys	Pause() (err error)
- //sys	Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64
- //sys	Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64
-+//sys	Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error)
- //sys	Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK
- //sys	Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error)
- //sys	sendfile(outfd int, infd int, offset *int64, count int) (written int, err error)
--//sys	Setfsgid(gid int) (err error)
--//sys	Setfsuid(uid int) (err error)
-+//sys	setfsgid(gid int) (prev int, err error)
-+//sys	setfsuid(uid int) (prev int, err error)
- //sysnb	Setregid(rgid int, egid int) (err error)
- //sysnb	Setresgid(rgid int, egid int, sgid int) (err error)
- //sysnb	Setresuid(ruid int, euid int, suid int) (err error)
-@@ -63,21 +61,6 @@ import (
- //sys	sendmsg(s int, msg *Msghdr, flags int) (n int, err error)
- //sys	mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error)
- 
--func sysconf(name int) (n int64, err syscall.Errno)
--
--// pageSize caches the value of Getpagesize, since it can't change
--// once the system is booted.
--var pageSize int64 // accessed atomically
--
--func Getpagesize() int {
--	n := atomic.LoadInt64(&pageSize)
--	if n == 0 {
--		n, _ = sysconf(_SC_PAGESIZE)
--		atomic.StoreInt64(&pageSize, n)
--	}
--	return int(n)
--}
--
- func Ioperm(from int, num int, on int) (err error) {
- 	return ENOSYS
- }
-@@ -86,6 +69,7 @@ func Iopl(level int) (err error) {
- 	return ENOSYS
- }
- 
-+//sys	futimesat(dirfd int, path string, times *[2]Timeval) (err error)
- //sysnb	Gettimeofday(tv *Timeval) (err error)
- 
- func Time(t *Time_t) (tt Time_t, err error) {
-@@ -101,20 +85,14 @@ func Time(t *Time_t) (tt Time_t, err error) {
- }
- 
- //sys	Utime(path string, buf *Utimbuf) (err error)
-+//sys	utimes(path string, times *[2]Timeval) (err error)
- 
--func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) }
--
--func NsecToTimespec(nsec int64) (ts Timespec) {
--	ts.Sec = nsec / 1e9
--	ts.Nsec = nsec % 1e9
--	return
-+func setTimespec(sec, nsec int64) Timespec {
-+	return Timespec{Sec: sec, Nsec: nsec}
- }
- 
--func NsecToTimeval(nsec int64) (tv Timeval) {
--	nsec += 999 // round up to microsecond
--	tv.Sec = nsec / 1e9
--	tv.Usec = int32(nsec % 1e9 / 1e3)
--	return
-+func setTimeval(sec, usec int64) Timeval {
-+	return Timeval{Sec: sec, Usec: int32(usec)}
- }
- 
- func (r *PtraceRegs) PC() uint64 { return r.Tpc }
-@@ -129,6 +107,10 @@ func (msghdr *Msghdr) SetControllen(length int) {
- 	msghdr.Controllen = uint64(length)
- }
- 
-+func (msghdr *Msghdr) SetIovlen(length int) {
-+	msghdr.Iovlen = uint64(length)
-+}
-+
- func (cmsg *Cmsghdr) SetLen(length int) {
- 	cmsg.Len = uint64(length)
- }
-diff --git a/vendor/golang.org/x/sys/unix/syscall_netbsd.go b/vendor/golang.org/x/sys/unix/syscall_netbsd.go
-index e1296684..45b50a61 100644
---- a/vendor/golang.org/x/sys/unix/syscall_netbsd.go
-+++ b/vendor/golang.org/x/sys/unix/syscall_netbsd.go
-@@ -13,10 +13,12 @@
- package unix
- 
- import (
-+	"runtime"
- 	"syscall"
- 	"unsafe"
- )
- 
-+// SockaddrDatalink implements the Sockaddr interface for AF_LINK type sockets.
- type SockaddrDatalink struct {
- 	Len    uint8
- 	Family uint8
-@@ -55,7 +57,6 @@ func sysctlNodes(mib []_C_int) (nodes []Sysctlnode, err error) {
- }
- 
- func nametomib(name string) (mib []_C_int, err error) {
--
- 	// Split name into components.
- 	var parts []string
- 	last := 0
-@@ -114,9 +115,47 @@ func Pipe(p []int) (err error) {
- 	return
- }
- 
--//sys getdents(fd int, buf []byte) (n int, err error)
-+//sys Getdents(fd int, buf []byte) (n int, err error)
- func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {
--	return getdents(fd, buf)
-+	n, err = Getdents(fd, buf)
-+	if err != nil || basep == nil {
-+		return
-+	}
-+
-+	var off int64
-+	off, err = Seek(fd, 0, 1 /* SEEK_CUR */)
-+	if err != nil {
-+		*basep = ^uintptr(0)
-+		return
-+	}
-+	*basep = uintptr(off)
-+	if unsafe.Sizeof(*basep) == 8 {
-+		return
-+	}
-+	if off>>32 != 0 {
-+		// We can't stuff the offset back into a uintptr, so any
-+		// future calls would be suspect. Generate an error.
-+		// EIO is allowed by getdirentries.
-+		err = EIO
-+	}
-+	return
-+}
-+
-+const ImplementsGetwd = true
-+
-+//sys	Getcwd(buf []byte) (n int, err error) = SYS___GETCWD
-+
-+func Getwd() (string, error) {
-+	var buf [PathMax]byte
-+	_, err := Getcwd(buf[0:])
-+	if err != nil {
-+		return "", err
-+	}
-+	n := clen(buf[:])
-+	if n < 1 {
-+		return "", EINVAL
-+	}
-+	return string(buf[:n]), nil
- }
- 
- // TODO
-@@ -124,6 +163,83 @@ func sendfile(outfd int, infd int, offset *int64, count int) (written int, err e
- 	return -1, ENOSYS
- }
- 
-+func setattrlistTimes(path string, times []Timespec, flags int) error {
-+	// used on Darwin for UtimesNano
-+	return ENOSYS
-+}
-+
-+//sys	ioctl(fd int, req uint, arg uintptr) (err error)
-+
-+//sys   sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) = SYS___SYSCTL
-+
-+func IoctlGetPtmget(fd int, req uint) (*Ptmget, error) {
-+	var value Ptmget
-+	err := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))
-+	runtime.KeepAlive(value)
-+	return &value, err
-+}
-+
-+func Uname(uname *Utsname) error {
-+	mib := []_C_int{CTL_KERN, KERN_OSTYPE}
-+	n := unsafe.Sizeof(uname.Sysname)
-+	if err := sysctl(mib, &uname.Sysname[0], &n, nil, 0); err != nil {
-+		return err
-+	}
-+
-+	mib = []_C_int{CTL_KERN, KERN_HOSTNAME}
-+	n = unsafe.Sizeof(uname.Nodename)
-+	if err := sysctl(mib, &uname.Nodename[0], &n, nil, 0); err != nil {
-+		return err
-+	}
-+
-+	mib = []_C_int{CTL_KERN, KERN_OSRELEASE}
-+	n = unsafe.Sizeof(uname.Release)
-+	if err := sysctl(mib, &uname.Release[0], &n, nil, 0); err != nil {
-+		return err
-+	}
-+
-+	mib = []_C_int{CTL_KERN, KERN_VERSION}
-+	n = unsafe.Sizeof(uname.Version)
-+	if err := sysctl(mib, &uname.Version[0], &n, nil, 0); err != nil {
-+		return err
-+	}
-+
-+	// The version might have newlines or tabs in it, convert them to
-+	// spaces.
-+	for i, b := range uname.Version {
-+		if b == '\n' || b == '\t' {
-+			if i == len(uname.Version)-1 {
-+				uname.Version[i] = 0
-+			} else {
-+				uname.Version[i] = ' '
-+			}
-+		}
-+	}
-+
-+	mib = []_C_int{CTL_HW, HW_MACHINE}
-+	n = unsafe.Sizeof(uname.Machine)
-+	if err := sysctl(mib, &uname.Machine[0], &n, nil, 0); err != nil {
-+		return err
-+	}
-+
-+	return nil
-+}
-+
-+func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {
-+	if raceenabled {
-+		raceReleaseMerge(unsafe.Pointer(&ioSync))
-+	}
-+	return sendfile(outfd, infd, offset, count)
-+}
-+
-+func Fstatvfs(fd int, buf *Statvfs_t) (err error) {
-+	return Fstatvfs1(fd, buf, ST_WAIT)
-+}
-+
-+func Statvfs(path string, buf *Statvfs_t) (err error) {
-+	return Statvfs1(path, buf, ST_WAIT)
-+}
-+
- /*
-  * Exposed directly
-  */
-@@ -137,14 +253,33 @@ func sendfile(outfd int, infd int, offset *int64, count int) (written int, err e
- //sys	Close(fd int) (err error)
- //sys	Dup(fd int) (nfd int, err error)
- //sys	Dup2(from int, to int) (err error)
-+//sys	Dup3(from int, to int, flags int) (err error)
- //sys	Exit(code int)
-+//sys	ExtattrGetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error)
-+//sys	ExtattrSetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error)
-+//sys	ExtattrDeleteFd(fd int, attrnamespace int, attrname string) (err error)
-+//sys	ExtattrListFd(fd int, attrnamespace int, data uintptr, nbytes int) (ret int, err error)
-+//sys	ExtattrGetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error)
-+//sys	ExtattrSetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error)
-+//sys	ExtattrDeleteFile(file string, attrnamespace int, attrname string) (err error)
-+//sys	ExtattrListFile(file string, attrnamespace int, data uintptr, nbytes int) (ret int, err error)
-+//sys	ExtattrGetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error)
-+//sys	ExtattrSetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error)
-+//sys	ExtattrDeleteLink(link string, attrnamespace int, attrname string) (err error)
-+//sys	ExtattrListLink(link string, attrnamespace int, data uintptr, nbytes int) (ret int, err error)
-+//sys	Faccessat(dirfd int, path string, mode uint32, flags int) (err error)
-+//sys	Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_POSIX_FADVISE
- //sys	Fchdir(fd int) (err error)
- //sys	Fchflags(fd int, flags int) (err error)
- //sys	Fchmod(fd int, mode uint32) (err error)
-+//sys	Fchmodat(dirfd int, path string, mode uint32, flags int) (err error)
- //sys	Fchown(fd int, uid int, gid int) (err error)
-+//sys	Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error)
- //sys	Flock(fd int, how int) (err error)
- //sys	Fpathconf(fd int, name int) (val int, err error)
- //sys	Fstat(fd int, stat *Stat_t) (err error)
-+//sys	Fstatat(fd int, path string, stat *Stat_t, flags int) (err error)
-+//sys	Fstatvfs1(fd int, buf *Statvfs_t, flags int) (err error) = SYS_FSTATVFS1
- //sys	Fsync(fd int) (err error)
- //sys	Ftruncate(fd int, length int64) (err error)
- //sysnb	Getegid() (egid int)
-@@ -165,23 +300,30 @@ func sendfile(outfd int, infd int, offset *int64, count int) (written int, err e
- //sys	Kqueue() (fd int, err error)
- //sys	Lchown(path string, uid int, gid int) (err error)
- //sys	Link(path string, link string) (err error)
-+//sys	Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error)
- //sys	Listen(s int, backlog int) (err error)
- //sys	Lstat(path string, stat *Stat_t) (err error)
- //sys	Mkdir(path string, mode uint32) (err error)
-+//sys	Mkdirat(dirfd int, path string, mode uint32) (err error)
- //sys	Mkfifo(path string, mode uint32) (err error)
-+//sys	Mkfifoat(dirfd int, path string, mode uint32) (err error)
- //sys	Mknod(path string, mode uint32, dev int) (err error)
-+//sys	Mknodat(dirfd int, path string, mode uint32, dev int) (err error)
- //sys	Nanosleep(time *Timespec, leftover *Timespec) (err error)
- //sys	Open(path string, mode int, perm uint32) (fd int, err error)
-+//sys	Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error)
- //sys	Pathconf(path string, name int) (val int, err error)
- //sys	Pread(fd int, p []byte, offset int64) (n int, err error)
- //sys	Pwrite(fd int, p []byte, offset int64) (n int, err error)
- //sys	read(fd int, p []byte) (n int, err error)
- //sys	Readlink(path string, buf []byte) (n int, err error)
-+//sys	Readlinkat(dirfd int, path string, buf []byte) (n int, err error)
- //sys	Rename(from string, to string) (err error)
-+//sys	Renameat(fromfd int, from string, tofd int, to string) (err error)
- //sys	Revoke(path string) (err error)
- //sys	Rmdir(path string) (err error)
- //sys	Seek(fd int, offset int64, whence int) (newoffset int64, err error) = SYS_LSEEK
--//sys	Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error)
-+//sys	Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error)
- //sysnb	Setegid(egid int) (err error)
- //sysnb	Seteuid(euid int) (err error)
- //sysnb	Setgid(gid int) (err error)
-@@ -194,11 +336,14 @@ func sendfile(outfd int, infd int, offset *int64, count int) (written int, err e
- //sysnb	Settimeofday(tp *Timeval) (err error)
- //sysnb	Setuid(uid int) (err error)
- //sys	Stat(path string, stat *Stat_t) (err error)
-+//sys	Statvfs1(path string, buf *Statvfs_t, flags int) (err error) = SYS_STATVFS1
- //sys	Symlink(path string, link string) (err error)
-+//sys	Symlinkat(oldpath string, newdirfd int, newpath string) (err error)
- //sys	Sync() (err error)
- //sys	Truncate(path string, length int64) (err error)
- //sys	Umask(newmask int) (oldmask int)
- //sys	Unlink(path string) (err error)
-+//sys	Unlinkat(dirfd int, path string, flags int) (err error)
- //sys	Unmount(path string, flags int) (err error)
- //sys	write(fd int, p []byte) (n int, err error)
- //sys	mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error)
-@@ -225,7 +370,6 @@ func sendfile(outfd int, infd int, offset *int64, count int) (written int, err e
- // __msync13
- // __ntp_gettime30
- // __posix_chown
--// __posix_fadvise50
- // __posix_fchown
- // __posix_lchown
- // __posix_rename
-@@ -384,7 +528,6 @@ func sendfile(outfd int, infd int, offset *int64, count int) (written int, err e
- // getitimer
- // getvfsstat
- // getxattr
--// ioctl
- // ktrace
- // lchflags
- // lchmod
-@@ -422,7 +565,6 @@ func sendfile(outfd int, infd int, offset *int64, count int) (written int, err e
- // ntp_adjtime
- // pmc_control
- // pmc_get_info
--// poll
- // pollts
- // preadv
- // profil
-diff --git a/vendor/golang.org/x/sys/unix/syscall_netbsd_386.go b/vendor/golang.org/x/sys/unix/syscall_netbsd_386.go
-index afaca098..24da8b52 100644
---- a/vendor/golang.org/x/sys/unix/syscall_netbsd_386.go
-+++ b/vendor/golang.org/x/sys/unix/syscall_netbsd_386.go
-@@ -6,21 +6,12 @@
- 
- package unix
- 
--func Getpagesize() int { return 4096 }
--
--func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) }
--
--func NsecToTimespec(nsec int64) (ts Timespec) {
--	ts.Sec = int64(nsec / 1e9)
--	ts.Nsec = int32(nsec % 1e9)
--	return
-+func setTimespec(sec, nsec int64) Timespec {
-+	return Timespec{Sec: sec, Nsec: int32(nsec)}
- }
- 
--func NsecToTimeval(nsec int64) (tv Timeval) {
--	nsec += 999 // round up to microsecond
--	tv.Usec = int32(nsec % 1e9 / 1e3)
--	tv.Sec = int64(nsec / 1e9)
--	return
-+func setTimeval(sec, usec int64) Timeval {
-+	return Timeval{Sec: sec, Usec: int32(usec)}
- }
- 
- func SetKevent(k *Kevent_t, fd, mode, flags int) {
-@@ -37,6 +28,10 @@ func (msghdr *Msghdr) SetControllen(length int) {
- 	msghdr.Controllen = uint32(length)
- }
- 
-+func (msghdr *Msghdr) SetIovlen(length int) {
-+	msghdr.Iovlen = int32(length)
-+}
-+
- func (cmsg *Cmsghdr) SetLen(length int) {
- 	cmsg.Len = uint32(length)
- }
-diff --git a/vendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go b/vendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go
-index a6ff04ce..25a0ac82 100644
---- a/vendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go
-+++ b/vendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go
-@@ -6,21 +6,12 @@
- 
- package unix
- 
--func Getpagesize() int { return 4096 }
--
--func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) }
--
--func NsecToTimespec(nsec int64) (ts Timespec) {
--	ts.Sec = int64(nsec / 1e9)
--	ts.Nsec = int64(nsec % 1e9)
--	return
-+func setTimespec(sec, nsec int64) Timespec {
-+	return Timespec{Sec: sec, Nsec: nsec}
- }
- 
--func NsecToTimeval(nsec int64) (tv Timeval) {
--	nsec += 999 // round up to microsecond
--	tv.Usec = int32(nsec % 1e9 / 1e3)
--	tv.Sec = int64(nsec / 1e9)
--	return
-+func setTimeval(sec, usec int64) Timeval {
-+	return Timeval{Sec: sec, Usec: int32(usec)}
- }
- 
- func SetKevent(k *Kevent_t, fd, mode, flags int) {
-@@ -37,6 +28,10 @@ func (msghdr *Msghdr) SetControllen(length int) {
- 	msghdr.Controllen = uint32(length)
- }
- 
-+func (msghdr *Msghdr) SetIovlen(length int) {
-+	msghdr.Iovlen = int32(length)
-+}
-+
- func (cmsg *Cmsghdr) SetLen(length int) {
- 	cmsg.Len = uint32(length)
- }
-diff --git a/vendor/golang.org/x/sys/unix/syscall_netbsd_arm.go b/vendor/golang.org/x/sys/unix/syscall_netbsd_arm.go
-index 68a6969b..21591ecd 100644
---- a/vendor/golang.org/x/sys/unix/syscall_netbsd_arm.go
-+++ b/vendor/golang.org/x/sys/unix/syscall_netbsd_arm.go
-@@ -6,21 +6,12 @@
- 
- package unix
- 
--func Getpagesize() int { return 4096 }
--
--func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) }
--
--func NsecToTimespec(nsec int64) (ts Timespec) {
--	ts.Sec = int64(nsec / 1e9)
--	ts.Nsec = int32(nsec % 1e9)
--	return
-+func setTimespec(sec, nsec int64) Timespec {
-+	return Timespec{Sec: sec, Nsec: int32(nsec)}
- }
- 
--func NsecToTimeval(nsec int64) (tv Timeval) {
--	nsec += 999 // round up to microsecond
--	tv.Usec = int32(nsec % 1e9 / 1e3)
--	tv.Sec = int64(nsec / 1e9)
--	return
-+func setTimeval(sec, usec int64) Timeval {
-+	return Timeval{Sec: sec, Usec: int32(usec)}
- }
- 
- func SetKevent(k *Kevent_t, fd, mode, flags int) {
-@@ -37,6 +28,10 @@ func (msghdr *Msghdr) SetControllen(length int) {
- 	msghdr.Controllen = uint32(length)
- }
- 
-+func (msghdr *Msghdr) SetIovlen(length int) {
-+	msghdr.Iovlen = int32(length)
-+}
-+
- func (cmsg *Cmsghdr) SetLen(length int) {
- 	cmsg.Len = uint32(length)
- }
-diff --git a/vendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go b/vendor/golang.org/x/sys/unix/syscall_netbsd_arm64.go
-similarity index 50%
-copy from vendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go
-copy to vendor/golang.org/x/sys/unix/syscall_netbsd_arm64.go
-index a6ff04ce..80474963 100644
---- a/vendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go
-+++ b/vendor/golang.org/x/sys/unix/syscall_netbsd_arm64.go
-@@ -1,26 +1,17 @@
--// Copyright 2009 The Go Authors. All rights reserved.
-+// Copyright 2019 The Go Authors. All rights reserved.
- // Use of this source code is governed by a BSD-style
- // license that can be found in the LICENSE file.
- 
--// +build amd64,netbsd
-+// +build arm64,netbsd
- 
- package unix
- 
--func Getpagesize() int { return 4096 }
--
--func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) }
--
--func NsecToTimespec(nsec int64) (ts Timespec) {
--	ts.Sec = int64(nsec / 1e9)
--	ts.Nsec = int64(nsec % 1e9)
--	return
-+func setTimespec(sec, nsec int64) Timespec {
-+	return Timespec{Sec: sec, Nsec: nsec}
- }
- 
--func NsecToTimeval(nsec int64) (tv Timeval) {
--	nsec += 999 // round up to microsecond
--	tv.Usec = int32(nsec % 1e9 / 1e3)
--	tv.Sec = int64(nsec / 1e9)
--	return
-+func setTimeval(sec, usec int64) Timeval {
-+	return Timeval{Sec: sec, Usec: int32(usec)}
- }
- 
- func SetKevent(k *Kevent_t, fd, mode, flags int) {
-@@ -37,6 +28,10 @@ func (msghdr *Msghdr) SetControllen(length int) {
- 	msghdr.Controllen = uint32(length)
- }
- 
-+func (msghdr *Msghdr) SetIovlen(length int) {
-+	msghdr.Iovlen = int32(length)
-+}
-+
- func (cmsg *Cmsghdr) SetLen(length int) {
- 	cmsg.Len = uint32(length)
- }
-diff --git a/vendor/golang.org/x/sys/unix/syscall_no_getwd.go b/vendor/golang.org/x/sys/unix/syscall_no_getwd.go
-deleted file mode 100644
-index 530792ea..00000000
---- a/vendor/golang.org/x/sys/unix/syscall_no_getwd.go
-+++ /dev/null
-@@ -1,11 +0,0 @@
--// Copyright 2013 The Go Authors. All rights reserved.
--// Use of this source code is governed by a BSD-style
--// license that can be found in the LICENSE file.
--
--// +build dragonfly freebsd netbsd openbsd
--
--package unix
--
--const ImplementsGetwd = false
--
--func Getwd() (string, error) { return "", ENOTSUP }
-diff --git a/vendor/golang.org/x/sys/unix/syscall_openbsd.go b/vendor/golang.org/x/sys/unix/syscall_openbsd.go
-index 408e6308..a266e92a 100644
---- a/vendor/golang.org/x/sys/unix/syscall_openbsd.go
-+++ b/vendor/golang.org/x/sys/unix/syscall_openbsd.go
-@@ -13,10 +13,12 @@
- package unix
- 
- import (
-+	"sort"
- 	"syscall"
- 	"unsafe"
- )
- 
-+// SockaddrDatalink implements the Sockaddr interface for AF_LINK type sockets.
- type SockaddrDatalink struct {
- 	Len    uint8
- 	Family uint8
-@@ -32,23 +34,11 @@ type SockaddrDatalink struct {
- func Syscall9(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno)
- 
- func nametomib(name string) (mib []_C_int, err error) {
--
--	// Perform lookup via a binary search
--	left := 0
--	right := len(sysctlMib) - 1
--	for {
--		idx := left + (right-left)/2
--		switch {
--		case name == sysctlMib[idx].ctlname:
--			return sysctlMib[idx].ctloid, nil
--		case name > sysctlMib[idx].ctlname:
--			left = idx + 1
--		default:
--			right = idx - 1
--		}
--		if left > right {
--			break
--		}
-+	i := sort.Search(len(sysctlMib), func(i int) bool {
-+		return sysctlMib[i].ctlname >= name
-+	})
-+	if i < len(sysctlMib) && sysctlMib[i].ctlname == name {
-+		return sysctlMib[i].ctloid, nil
- 	}
- 	return nil, EINVAL
- }
-@@ -65,21 +55,87 @@ func direntNamlen(buf []byte) (uint64, bool) {
- 	return readInt(buf, unsafe.Offsetof(Dirent{}.Namlen), unsafe.Sizeof(Dirent{}.Namlen))
- }
- 
--//sysnb pipe(p *[2]_C_int) (err error)
-+func SysctlUvmexp(name string) (*Uvmexp, error) {
-+	mib, err := sysctlmib(name)
-+	if err != nil {
-+		return nil, err
-+	}
-+
-+	n := uintptr(SizeofUvmexp)
-+	var u Uvmexp
-+	if err := sysctl(mib, (*byte)(unsafe.Pointer(&u)), &n, nil, 0); err != nil {
-+		return nil, err
-+	}
-+	if n != SizeofUvmexp {
-+		return nil, EIO
-+	}
-+	return &u, nil
-+}
-+
- func Pipe(p []int) (err error) {
-+	return Pipe2(p, 0)
-+}
-+
-+//sysnb	pipe2(p *[2]_C_int, flags int) (err error)
-+func Pipe2(p []int, flags int) error {
- 	if len(p) != 2 {
- 		return EINVAL
- 	}
- 	var pp [2]_C_int
--	err = pipe(&pp)
-+	err := pipe2(&pp, flags)
- 	p[0] = int(pp[0])
- 	p[1] = int(pp[1])
--	return
-+	return err
- }
- 
--//sys getdents(fd int, buf []byte) (n int, err error)
-+//sys Getdents(fd int, buf []byte) (n int, err error)
- func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {
--	return getdents(fd, buf)
-+	n, err = Getdents(fd, buf)
-+	if err != nil || basep == nil {
-+		return
-+	}
-+
-+	var off int64
-+	off, err = Seek(fd, 0, 1 /* SEEK_CUR */)
-+	if err != nil {
-+		*basep = ^uintptr(0)
-+		return
-+	}
-+	*basep = uintptr(off)
-+	if unsafe.Sizeof(*basep) == 8 {
-+		return
-+	}
-+	if off>>32 != 0 {
-+		// We can't stuff the offset back into a uintptr, so any
-+		// future calls would be suspect. Generate an error.
-+		// EIO was allowed by getdirentries.
-+		err = EIO
-+	}
-+	return
-+}
-+
-+const ImplementsGetwd = true
-+
-+//sys	Getcwd(buf []byte) (n int, err error) = SYS___GETCWD
-+
-+func Getwd() (string, error) {
-+	var buf [PathMax]byte
-+	_, err := Getcwd(buf[0:])
-+	if err != nil {
-+		return "", err
-+	}
-+	n := clen(buf[:])
-+	if n < 1 {
-+		return "", EINVAL
-+	}
-+	return string(buf[:n]), nil
-+}
-+
-+func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {
-+	if raceenabled {
-+		raceReleaseMerge(unsafe.Pointer(&ioSync))
-+	}
-+	return sendfile(outfd, infd, offset, count)
- }
- 
- // TODO
-@@ -102,6 +158,70 @@ func Getfsstat(buf []Statfs_t, flags int) (n int, err error) {
- 	return
- }
- 
-+func setattrlistTimes(path string, times []Timespec, flags int) error {
-+	// used on Darwin for UtimesNano
-+	return ENOSYS
-+}
-+
-+//sys	ioctl(fd int, req uint, arg uintptr) (err error)
-+
-+//sys   sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) = SYS___SYSCTL
-+
-+//sys	ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error)
-+
-+func Ppoll(fds []PollFd, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {
-+	if len(fds) == 0 {
-+		return ppoll(nil, 0, timeout, sigmask)
-+	}
-+	return ppoll(&fds[0], len(fds), timeout, sigmask)
-+}
-+
-+func Uname(uname *Utsname) error {
-+	mib := []_C_int{CTL_KERN, KERN_OSTYPE}
-+	n := unsafe.Sizeof(uname.Sysname)
-+	if err := sysctl(mib, &uname.Sysname[0], &n, nil, 0); err != nil {
-+		return err
-+	}
-+
-+	mib = []_C_int{CTL_KERN, KERN_HOSTNAME}
-+	n = unsafe.Sizeof(uname.Nodename)
-+	if err := sysctl(mib, &uname.Nodename[0], &n, nil, 0); err != nil {
-+		return err
-+	}
-+
-+	mib = []_C_int{CTL_KERN, KERN_OSRELEASE}
-+	n = unsafe.Sizeof(uname.Release)
-+	if err := sysctl(mib, &uname.Release[0], &n, nil, 0); err != nil {
-+		return err
-+	}
-+
-+	mib = []_C_int{CTL_KERN, KERN_VERSION}
-+	n = unsafe.Sizeof(uname.Version)
-+	if err := sysctl(mib, &uname.Version[0], &n, nil, 0); err != nil {
-+		return err
-+	}
-+
-+	// The version might have newlines or tabs in it, convert them to
-+	// spaces.
-+	for i, b := range uname.Version {
-+		if b == '\n' || b == '\t' {
-+			if i == len(uname.Version)-1 {
-+				uname.Version[i] = 0
-+			} else {
-+				uname.Version[i] = ' '
-+			}
-+		}
-+	}
-+
-+	mib = []_C_int{CTL_HW, HW_MACHINE}
-+	n = unsafe.Sizeof(uname.Machine)
-+	if err := sysctl(mib, &uname.Machine[0], &n, nil, 0); err != nil {
-+		return err
-+	}
-+
-+	return nil
-+}
-+
- /*
-  * Exposed directly
-  */
-@@ -115,14 +235,19 @@ func Getfsstat(buf []Statfs_t, flags int) (n int, err error) {
- //sys	Close(fd int) (err error)
- //sys	Dup(fd int) (nfd int, err error)
- //sys	Dup2(from int, to int) (err error)
-+//sys	Dup3(from int, to int, flags int) (err error)
- //sys	Exit(code int)
-+//sys	Faccessat(dirfd int, path string, mode uint32, flags int) (err error)
- //sys	Fchdir(fd int) (err error)
- //sys	Fchflags(fd int, flags int) (err error)
- //sys	Fchmod(fd int, mode uint32) (err error)
-+//sys	Fchmodat(dirfd int, path string, mode uint32, flags int) (err error)
- //sys	Fchown(fd int, uid int, gid int) (err error)
-+//sys	Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error)
- //sys	Flock(fd int, how int) (err error)
- //sys	Fpathconf(fd int, name int) (val int, err error)
- //sys	Fstat(fd int, stat *Stat_t) (err error)
-+//sys	Fstatat(fd int, path string, stat *Stat_t, flags int) (err error)
- //sys	Fstatfs(fd int, stat *Statfs_t) (err error)
- //sys	Fsync(fd int) (err error)
- //sys	Ftruncate(fd int, length int64) (err error)
-@@ -135,6 +260,7 @@ func Getfsstat(buf []Statfs_t, flags int) (n int, err error) {
- //sysnb	Getppid() (ppid int)
- //sys	Getpriority(which int, who int) (prio int, err error)
- //sysnb	Getrlimit(which int, lim *Rlimit) (err error)
-+//sysnb	Getrtable() (rtable int, err error)
- //sysnb	Getrusage(who int, rusage *Rusage) (err error)
- //sysnb	Getsid(pid int) (sid int, err error)
- //sysnb	Gettimeofday(tv *Timeval) (err error)
-@@ -144,23 +270,30 @@ func Getfsstat(buf []Statfs_t, flags int) (n int, err error) {
- //sys	Kqueue() (fd int, err error)
- //sys	Lchown(path string, uid int, gid int) (err error)
- //sys	Link(path string, link string) (err error)
-+//sys	Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error)
- //sys	Listen(s int, backlog int) (err error)
- //sys	Lstat(path string, stat *Stat_t) (err error)
- //sys	Mkdir(path string, mode uint32) (err error)
-+//sys	Mkdirat(dirfd int, path string, mode uint32) (err error)
- //sys	Mkfifo(path string, mode uint32) (err error)
-+//sys	Mkfifoat(dirfd int, path string, mode uint32) (err error)
- //sys	Mknod(path string, mode uint32, dev int) (err error)
-+//sys	Mknodat(dirfd int, path string, mode uint32, dev int) (err error)
- //sys	Nanosleep(time *Timespec, leftover *Timespec) (err error)
- //sys	Open(path string, mode int, perm uint32) (fd int, err error)
-+//sys	Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error)
- //sys	Pathconf(path string, name int) (val int, err error)
- //sys	Pread(fd int, p []byte, offset int64) (n int, err error)
- //sys	Pwrite(fd int, p []byte, offset int64) (n int, err error)
- //sys	read(fd int, p []byte) (n int, err error)
- //sys	Readlink(path string, buf []byte) (n int, err error)
-+//sys	Readlinkat(dirfd int, path string, buf []byte) (n int, err error)
- //sys	Rename(from string, to string) (err error)
-+//sys	Renameat(fromfd int, from string, tofd int, to string) (err error)
- //sys	Revoke(path string) (err error)
- //sys	Rmdir(path string) (err error)
- //sys	Seek(fd int, offset int64, whence int) (newoffset int64, err error) = SYS_LSEEK
--//sys	Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error)
-+//sys	Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error)
- //sysnb	Setegid(egid int) (err error)
- //sysnb	Seteuid(euid int) (err error)
- //sysnb	Setgid(gid int) (err error)
-@@ -172,16 +305,19 @@ func Getfsstat(buf []Statfs_t, flags int) (n int, err error) {
- //sysnb	Setresgid(rgid int, egid int, sgid int) (err error)
- //sysnb	Setresuid(ruid int, euid int, suid int) (err error)
- //sysnb	Setrlimit(which int, lim *Rlimit) (err error)
-+//sysnb	Setrtable(rtable int) (err error)
- //sysnb	Setsid() (pid int, err error)
- //sysnb	Settimeofday(tp *Timeval) (err error)
- //sysnb	Setuid(uid int) (err error)
- //sys	Stat(path string, stat *Stat_t) (err error)
- //sys	Statfs(path string, stat *Statfs_t) (err error)
- //sys	Symlink(path string, link string) (err error)
-+//sys	Symlinkat(oldpath string, newdirfd int, newpath string) (err error)
- //sys	Sync() (err error)
- //sys	Truncate(path string, length int64) (err error)
- //sys	Umask(newmask int) (oldmask int)
- //sys	Unlink(path string) (err error)
-+//sys	Unlinkat(dirfd int, path string, flags int) (err error)
- //sys	Unmount(path string, flags int) (err error)
- //sys	write(fd int, p []byte) (n int, err error)
- //sys	mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error)
-@@ -204,15 +340,10 @@ func Getfsstat(buf []Statfs_t, flags int) (n int, err error) {
- // clock_settime
- // closefrom
- // execve
--// faccessat
--// fchmodat
--// fchownat
--// fcntl
- // fhopen
- // fhstat
- // fhstatfs
- // fork
--// fstatat
- // futimens
- // getfh
- // getgid
-@@ -220,20 +351,14 @@ func Getfsstat(buf []Statfs_t, flags int) (n int, err error) {
- // getlogin
- // getresgid
- // getresuid
--// getrtable
- // getthrid
--// ioctl
- // ktrace
- // lfs_bmapv
- // lfs_markv
- // lfs_segclean
- // lfs_segwait
--// linkat
- // mincore
- // minherit
--// mkdirat
--// mkfifoat
--// mknodat
- // mount
- // mquery
- // msgctl
-@@ -242,13 +367,10 @@ func Getfsstat(buf []Statfs_t, flags int) (n int, err error) {
- // msgsnd
- // nfssvc
- // nnpfspioctl
--// openat
--// poll
- // preadv
- // profil
- // pwritev
- // quotactl
--// readlinkat
- // readv
- // reboot
- // renameat
-@@ -258,7 +380,6 @@ func Getfsstat(buf []Statfs_t, flags int) (n int, err error) {
- // semop
- // setgroups
- // setitimer
--// setrtable
- // setsockopt
- // shmat
- // shmctl
-@@ -270,13 +391,11 @@ func Getfsstat(buf []Statfs_t, flags int) (n int, err error) {
- // sigprocmask
- // sigreturn
- // sigsuspend
--// symlinkat
- // sysarch
- // syscall
- // threxit
- // thrsigdivert
- // thrsleep
- // thrwakeup
--// unlinkat
- // vfork
- // writev
-diff --git a/vendor/golang.org/x/sys/unix/syscall_openbsd_386.go b/vendor/golang.org/x/sys/unix/syscall_openbsd_386.go
-index a66ddc59..42b5a0e5 100644
---- a/vendor/golang.org/x/sys/unix/syscall_openbsd_386.go
-+++ b/vendor/golang.org/x/sys/unix/syscall_openbsd_386.go
-@@ -6,21 +6,12 @@
- 
- package unix
- 
--func Getpagesize() int { return 4096 }
--
--func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) }
--
--func NsecToTimespec(nsec int64) (ts Timespec) {
--	ts.Sec = int64(nsec / 1e9)
--	ts.Nsec = int32(nsec % 1e9)
--	return
-+func setTimespec(sec, nsec int64) Timespec {
-+	return Timespec{Sec: sec, Nsec: int32(nsec)}
- }
- 
--func NsecToTimeval(nsec int64) (tv Timeval) {
--	nsec += 999 // round up to microsecond
--	tv.Usec = int32(nsec % 1e9 / 1e3)
--	tv.Sec = int64(nsec / 1e9)
--	return
-+func setTimeval(sec, usec int64) Timeval {
-+	return Timeval{Sec: sec, Usec: int32(usec)}
- }
- 
- func SetKevent(k *Kevent_t, fd, mode, flags int) {
-@@ -37,6 +28,14 @@ func (msghdr *Msghdr) SetControllen(length int) {
- 	msghdr.Controllen = uint32(length)
- }
- 
-+func (msghdr *Msghdr) SetIovlen(length int) {
-+	msghdr.Iovlen = uint32(length)
-+}
-+
- func (cmsg *Cmsghdr) SetLen(length int) {
- 	cmsg.Len = uint32(length)
- }
-+
-+// SYS___SYSCTL is used by syscall_bsd.go for all BSDs, but in modern versions
-+// of openbsd/386 the syscall is called sysctl instead of __sysctl.
-+const SYS___SYSCTL = SYS_SYSCTL
-diff --git a/vendor/golang.org/x/sys/unix/syscall_openbsd_amd64.go b/vendor/golang.org/x/sys/unix/syscall_openbsd_amd64.go
-index 0776c1fa..6ea4b488 100644
---- a/vendor/golang.org/x/sys/unix/syscall_openbsd_amd64.go
-+++ b/vendor/golang.org/x/sys/unix/syscall_openbsd_amd64.go
-@@ -6,21 +6,12 @@
- 
- package unix
- 
--func Getpagesize() int { return 4096 }
--
--func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) }
--
--func NsecToTimespec(nsec int64) (ts Timespec) {
--	ts.Sec = nsec / 1e9
--	ts.Nsec = nsec % 1e9
--	return
-+func setTimespec(sec, nsec int64) Timespec {
-+	return Timespec{Sec: sec, Nsec: nsec}
- }
- 
--func NsecToTimeval(nsec int64) (tv Timeval) {
--	nsec += 999 // round up to microsecond
--	tv.Usec = nsec % 1e9 / 1e3
--	tv.Sec = nsec / 1e9
--	return
-+func setTimeval(sec, usec int64) Timeval {
-+	return Timeval{Sec: sec, Usec: usec}
- }
- 
- func SetKevent(k *Kevent_t, fd, mode, flags int) {
-@@ -37,6 +28,14 @@ func (msghdr *Msghdr) SetControllen(length int) {
- 	msghdr.Controllen = uint32(length)
- }
- 
-+func (msghdr *Msghdr) SetIovlen(length int) {
-+	msghdr.Iovlen = uint32(length)
-+}
-+
- func (cmsg *Cmsghdr) SetLen(length int) {
- 	cmsg.Len = uint32(length)
- }
-+
-+// SYS___SYSCTL is used by syscall_bsd.go for all BSDs, but in modern versions
-+// of openbsd/amd64 the syscall is called sysctl instead of __sysctl.
-+const SYS___SYSCTL = SYS_SYSCTL
-diff --git a/vendor/golang.org/x/sys/unix/syscall_openbsd_arm.go b/vendor/golang.org/x/sys/unix/syscall_openbsd_arm.go
-index 14ddaf3f..1c3d26fa 100644
---- a/vendor/golang.org/x/sys/unix/syscall_openbsd_arm.go
-+++ b/vendor/golang.org/x/sys/unix/syscall_openbsd_arm.go
-@@ -6,23 +6,12 @@
- 
- package unix
- 
--import "syscall"
--
--func Getpagesize() int { return syscall.Getpagesize() }
--
--func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) }
--
--func NsecToTimespec(nsec int64) (ts Timespec) {
--	ts.Sec = int64(nsec / 1e9)
--	ts.Nsec = int32(nsec % 1e9)
--	return
-+func setTimespec(sec, nsec int64) Timespec {
-+	return Timespec{Sec: sec, Nsec: int32(nsec)}
- }
- 
--func NsecToTimeval(nsec int64) (tv Timeval) {
--	nsec += 999 // round up to microsecond
--	tv.Usec = int32(nsec % 1e9 / 1e3)
--	tv.Sec = int64(nsec / 1e9)
--	return
-+func setTimeval(sec, usec int64) Timeval {
-+	return Timeval{Sec: sec, Usec: int32(usec)}
- }
- 
- func SetKevent(k *Kevent_t, fd, mode, flags int) {
-@@ -39,6 +28,14 @@ func (msghdr *Msghdr) SetControllen(length int) {
- 	msghdr.Controllen = uint32(length)
- }
- 
-+func (msghdr *Msghdr) SetIovlen(length int) {
-+	msghdr.Iovlen = uint32(length)
-+}
-+
- func (cmsg *Cmsghdr) SetLen(length int) {
- 	cmsg.Len = uint32(length)
- }
-+
-+// SYS___SYSCTL is used by syscall_bsd.go for all BSDs, but in modern versions
-+// of openbsd/arm the syscall is called sysctl instead of __sysctl.
-+const SYS___SYSCTL = SYS_SYSCTL
-diff --git a/vendor/golang.org/x/sys/unix/syscall_openbsd_arm64.go b/vendor/golang.org/x/sys/unix/syscall_openbsd_arm64.go
-new file mode 100644
-index 00000000..a8c458cb
---- /dev/null
-+++ b/vendor/golang.org/x/sys/unix/syscall_openbsd_arm64.go
-@@ -0,0 +1,41 @@
-+// Copyright 2019 The Go Authors. All rights reserved.
-+// Use of this source code is governed by a BSD-style
-+// license that can be found in the LICENSE file.
-+
-+// +build arm64,openbsd
-+
-+package unix
-+
-+func setTimespec(sec, nsec int64) Timespec {
-+	return Timespec{Sec: sec, Nsec: nsec}
-+}
-+
-+func setTimeval(sec, usec int64) Timeval {
-+	return Timeval{Sec: sec, Usec: usec}
-+}
-+
-+func SetKevent(k *Kevent_t, fd, mode, flags int) {
-+	k.Ident = uint64(fd)
-+	k.Filter = int16(mode)
-+	k.Flags = uint16(flags)
-+}
-+
-+func (iov *Iovec) SetLen(length int) {
-+	iov.Len = uint64(length)
-+}
-+
-+func (msghdr *Msghdr) SetControllen(length int) {
-+	msghdr.Controllen = uint32(length)
-+}
-+
-+func (msghdr *Msghdr) SetIovlen(length int) {
-+	msghdr.Iovlen = uint32(length)
-+}
-+
-+func (cmsg *Cmsghdr) SetLen(length int) {
-+	cmsg.Len = uint32(length)
-+}
-+
-+// SYS___SYSCTL is used by syscall_bsd.go for all BSDs, but in modern versions
-+// of openbsd/amd64 the syscall is called sysctl instead of __sysctl.
-+const SYS___SYSCTL = SYS_SYSCTL
-diff --git a/vendor/golang.org/x/sys/unix/syscall_solaris.go b/vendor/golang.org/x/sys/unix/syscall_solaris.go
-index 0d4e5c4e..0e2a696a 100644
---- a/vendor/golang.org/x/sys/unix/syscall_solaris.go
-+++ b/vendor/golang.org/x/sys/unix/syscall_solaris.go
-@@ -13,7 +13,6 @@
- package unix
- 
- import (
--	"sync/atomic"
- 	"syscall"
- 	"unsafe"
- )
-@@ -24,6 +23,7 @@ type syscallFunc uintptr
- func rawSysvicall6(trap, nargs, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno)
- func sysvicall6(trap, nargs, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno)
- 
-+// SockaddrDatalink implements the Sockaddr interface for AF_LINK type sockets.
- type SockaddrDatalink struct {
- 	Family uint16
- 	Index  uint16
-@@ -35,15 +35,6 @@ type SockaddrDatalink struct {
- 	raw    RawSockaddrDatalink
- }
- 
--func clen(n []byte) int {
--	for i := 0; i < len(n); i++ {
--		if n[i] == 0 {
--			return i
--		}
--	}
--	return len(n)
--}
--
- func direntIno(buf []byte) (uint64, bool) {
- 	return readInt(buf, unsafe.Offsetof(Dirent{}.Ino), unsafe.Sizeof(Dirent{}.Ino))
- }
-@@ -137,7 +128,19 @@ func Getsockname(fd int) (sa Sockaddr, err error) {
- 	if err = getsockname(fd, &rsa, &len); err != nil {
- 		return
- 	}
--	return anyToSockaddr(&rsa)
-+	return anyToSockaddr(fd, &rsa)
-+}
-+
-+// GetsockoptString returns the string value of the socket option opt for the
-+// socket associated with fd at the given socket level.
-+func GetsockoptString(fd, level, opt int) (string, error) {
-+	buf := make([]byte, 256)
-+	vallen := _Socklen(len(buf))
-+	err := getsockopt(fd, level, opt, unsafe.Pointer(&buf[0]), &vallen)
-+	if err != nil {
-+		return "", err
-+	}
-+	return string(buf[:vallen-1]), nil
- }
- 
- const ImplementsGetwd = true
-@@ -167,7 +170,7 @@ func Getwd() (wd string, err error) {
- 
- func Getgroups() (gids []int, err error) {
- 	n, err := getgroups(0, nil)
--	// Check for error and sanity check group count.  Newer versions of
-+	// Check for error and sanity check group count. Newer versions of
- 	// Solaris allow up to 1024 (NGROUPS_MAX).
- 	if n < 0 || n > 1024 {
- 		if err != nil {
-@@ -202,6 +205,7 @@ func Setgroups(gids []int) (err error) {
- 	return setgroups(len(a), &a[0])
- }
- 
-+// ReadDirent reads directory entries from fd and writes them into buf.
- func ReadDirent(fd int, buf []byte) (n int, err error) {
- 	// Final argument is (basep *uintptr) and the syscall doesn't take nil.
- 	// TODO(rsc): Can we use a single global basep for all calls?
-@@ -325,6 +329,16 @@ func UtimesNanoAt(dirfd int, path string, ts []Timespec, flags int) error {
- 
- //sys	fcntl(fd int, cmd int, arg int) (val int, err error)
- 
-+// FcntlInt performs a fcntl syscall on fd with the provided command and argument.
-+func FcntlInt(fd uintptr, cmd, arg int) (int, error) {
-+	valptr, _, errno := sysvicall6(uintptr(unsafe.Pointer(&procfcntl)), 3, uintptr(fd), uintptr(cmd), uintptr(arg), 0, 0, 0)
-+	var err error
-+	if errno != 0 {
-+		err = errno
-+	}
-+	return int(valptr), err
-+}
-+
- // FcntlFlock performs a fcntl syscall for the F_GETLK, F_SETLK or F_SETLKW command.
- func FcntlFlock(fd uintptr, cmd int, lk *Flock_t) error {
- 	_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procfcntl)), 3, uintptr(fd), uintptr(cmd), uintptr(unsafe.Pointer(lk)), 0, 0, 0)
-@@ -351,7 +365,7 @@ func Futimesat(dirfd int, path string, tv []Timeval) error {
- }
- 
- // Solaris doesn't have an futimes function because it allows NULL to be
--// specified as the path for futimesat.  However, Go doesn't like
-+// specified as the path for futimesat. However, Go doesn't like
- // NULL-style string interfaces, so this simple wrapper is provided.
- func Futimes(fd int, tv []Timeval) error {
- 	if tv == nil {
-@@ -363,7 +377,7 @@ func Futimes(fd int, tv []Timeval) error {
- 	return futimesat(fd, nil, (*[2]Timeval)(unsafe.Pointer(&tv[0])))
- }
- 
--func anyToSockaddr(rsa *RawSockaddrAny) (Sockaddr, error) {
-+func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) {
- 	switch rsa.Addr.Family {
- 	case AF_UNIX:
- 		pp := (*RawSockaddrUnix)(unsafe.Pointer(rsa))
-@@ -377,7 +391,7 @@ func anyToSockaddr(rsa *RawSockaddrAny) (Sockaddr, error) {
- 		for n < len(pp.Path) && pp.Path[n] != 0 {
- 			n++
- 		}
--		bytes := (*[10000]byte)(unsafe.Pointer(&pp.Path[0]))[0:n]
-+		bytes := (*[len(pp.Path)]byte)(unsafe.Pointer(&pp.Path[0]))[0:n]
- 		sa.Name = string(bytes)
- 		return sa, nil
- 
-@@ -414,7 +428,7 @@ func Accept(fd int) (nfd int, sa Sockaddr, err error) {
- 	if nfd == -1 {
- 		return
- 	}
--	sa, err = anyToSockaddr(&rsa)
-+	sa, err = anyToSockaddr(fd, &rsa)
- 	if err != nil {
- 		Close(nfd)
- 		nfd = 0
-@@ -451,7 +465,7 @@ func Recvmsg(fd int, p, oob []byte, flags int) (n, oobn int, recvflags int, from
- 	oobn = int(msg.Accrightslen)
- 	// source address is only specified if the socket is unconnected
- 	if rsa.Addr.Family != AF_UNSPEC {
--		from, err = anyToSockaddr(&rsa)
-+		from, err = anyToSockaddr(fd, &rsa)
- 	}
- 	return
- }
-@@ -515,50 +529,54 @@ func Acct(path string) (err error) {
- 	return acct(pathp)
- }
- 
--/*
-- * Expose the ioctl function
-- */
-+//sys	__makedev(version int, major uint, minor uint) (val uint64)
- 
--//sys	ioctl(fd int, req uint, arg uintptr) (err error)
--
--func IoctlSetInt(fd int, req uint, value int) (err error) {
--	return ioctl(fd, req, uintptr(value))
-+func Mkdev(major, minor uint32) uint64 {
-+	return __makedev(NEWDEV, uint(major), uint(minor))
- }
- 
--func IoctlSetWinsize(fd int, req uint, value *Winsize) (err error) {
--	return ioctl(fd, req, uintptr(unsafe.Pointer(value)))
-+//sys	__major(version int, dev uint64) (val uint)
-+
-+func Major(dev uint64) uint32 {
-+	return uint32(__major(NEWDEV, dev))
- }
- 
--func IoctlSetTermios(fd int, req uint, value *Termios) (err error) {
--	return ioctl(fd, req, uintptr(unsafe.Pointer(value)))
-+//sys	__minor(version int, dev uint64) (val uint)
-+
-+func Minor(dev uint64) uint32 {
-+	return uint32(__minor(NEWDEV, dev))
- }
- 
-+/*
-+ * Expose the ioctl function
-+ */
-+
-+//sys	ioctl(fd int, req uint, arg uintptr) (err error)
-+
- func IoctlSetTermio(fd int, req uint, value *Termio) (err error) {
- 	return ioctl(fd, req, uintptr(unsafe.Pointer(value)))
- }
- 
--func IoctlGetInt(fd int, req uint) (int, error) {
--	var value int
--	err := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))
--	return value, err
--}
--
--func IoctlGetWinsize(fd int, req uint) (*Winsize, error) {
--	var value Winsize
-+func IoctlGetTermio(fd int, req uint) (*Termio, error) {
-+	var value Termio
- 	err := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))
- 	return &value, err
- }
- 
--func IoctlGetTermios(fd int, req uint) (*Termios, error) {
--	var value Termios
--	err := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))
--	return &value, err
-+//sys   poll(fds *PollFd, nfds int, timeout int) (n int, err error)
-+
-+func Poll(fds []PollFd, timeout int) (n int, err error) {
-+	if len(fds) == 0 {
-+		return poll(nil, 0, timeout)
-+	}
-+	return poll(&fds[0], len(fds), timeout)
- }
- 
--func IoctlGetTermio(fd int, req uint) (*Termio, error) {
--	var value Termio
--	err := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))
--	return &value, err
-+func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {
-+	if raceenabled {
-+		raceReleaseMerge(unsafe.Pointer(&ioSync))
-+	}
-+	return sendfile(outfd, infd, offset, count)
- }
- 
- /*
-@@ -575,15 +593,17 @@ func IoctlGetTermio(fd int, req uint) (*Termio, error) {
- //sys	Dup(fd int) (nfd int, err error)
- //sys	Dup2(oldfd int, newfd int) (err error)
- //sys	Exit(code int)
-+//sys	Faccessat(dirfd int, path string, mode uint32, flags int) (err error)
- //sys	Fchdir(fd int) (err error)
- //sys	Fchmod(fd int, mode uint32) (err error)
- //sys	Fchmodat(dirfd int, path string, mode uint32, flags int) (err error)
- //sys	Fchown(fd int, uid int, gid int) (err error)
- //sys	Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error)
- //sys	Fdatasync(fd int) (err error)
--//sys Flock(fd int, how int) (err error)
-+//sys	Flock(fd int, how int) (err error)
- //sys	Fpathconf(fd int, name int) (val int, err error)
- //sys	Fstat(fd int, stat *Stat_t) (err error)
-+//sys	Fstatat(fd int, path string, stat *Stat_t, flags int) (err error)
- //sys	Fstatvfs(fd int, vfsstat *Statvfs_t) (err error)
- //sys	Getdents(fd int, buf []byte, basep *uintptr) (n int, err error)
- //sysnb	Getgid() (gid int)
-@@ -613,6 +633,7 @@ func IoctlGetTermio(fd int, req uint) (*Termio, error) {
- //sys	Mlock(b []byte) (err error)
- //sys	Mlockall(flags int) (err error)
- //sys	Mprotect(b []byte, prot int) (err error)
-+//sys	Msync(b []byte, flags int) (err error)
- //sys	Munlock(b []byte) (err error)
- //sys	Munlockall() (err error)
- //sys	Nanosleep(time *Timespec, leftover *Timespec) (err error)
-@@ -628,6 +649,7 @@ func IoctlGetTermio(fd int, req uint) (*Termio, error) {
- //sys	Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error)
- //sys	Rmdir(path string) (err error)
- //sys	Seek(fd int, offset int64, whence int) (newoffset int64, err error) = lseek
-+//sys	Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error)
- //sysnb	Setegid(egid int) (err error)
- //sysnb	Seteuid(euid int) (err error)
- //sysnb	Setgid(gid int) (err error)
-@@ -659,6 +681,7 @@ func IoctlGetTermio(fd int, req uint) (*Termio, error) {
- //sys	connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) = libsocket.__xnet_connect
- //sys	mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error)
- //sys	munmap(addr uintptr, length uintptr) (err error)
-+//sys	sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) = libsendfile.sendfile
- //sys	sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) = libsocket.__xnet_sendto
- //sys	socket(domain int, typ int, proto int) (fd int, err error) = libsocket.__xnet_socket
- //sysnb	socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) = libsocket.__xnet_socketpair
-@@ -699,18 +722,3 @@ func Mmap(fd int, offset int64, length int, prot int, flags int) (data []byte, e
- func Munmap(b []byte) (err error) {
- 	return mapper.Munmap(b)
- }
--
--//sys	sysconf(name int) (n int64, err error)
--
--// pageSize caches the value of Getpagesize, since it can't change
--// once the system is booted.
--var pageSize int64 // accessed atomically
--
--func Getpagesize() int {
--	n := atomic.LoadInt64(&pageSize)
--	if n == 0 {
--		n, _ = sysconf(_SC_PAGESIZE)
--		atomic.StoreInt64(&pageSize, n)
--	}
--	return int(n)
--}
-diff --git a/vendor/golang.org/x/sys/unix/syscall_solaris_amd64.go b/vendor/golang.org/x/sys/unix/syscall_solaris_amd64.go
-index 5aff62c3..b22a34d7 100644
---- a/vendor/golang.org/x/sys/unix/syscall_solaris_amd64.go
-+++ b/vendor/golang.org/x/sys/unix/syscall_solaris_amd64.go
-@@ -6,30 +6,22 @@
- 
- package unix
- 
--func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) }
--
--func NsecToTimespec(nsec int64) (ts Timespec) {
--	ts.Sec = nsec / 1e9
--	ts.Nsec = nsec % 1e9
--	return
-+func setTimespec(sec, nsec int64) Timespec {
-+	return Timespec{Sec: sec, Nsec: nsec}
- }
- 
--func NsecToTimeval(nsec int64) (tv Timeval) {
--	nsec += 999 // round up to microsecond
--	tv.Usec = nsec % 1e9 / 1e3
--	tv.Sec = int64(nsec / 1e9)
--	return
-+func setTimeval(sec, usec int64) Timeval {
-+	return Timeval{Sec: sec, Usec: usec}
- }
- 
- func (iov *Iovec) SetLen(length int) {
- 	iov.Len = uint64(length)
- }
- 
--func (cmsg *Cmsghdr) SetLen(length int) {
--	cmsg.Len = uint32(length)
-+func (msghdr *Msghdr) SetIovlen(length int) {
-+	msghdr.Iovlen = int32(length)
- }
- 
--func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {
--	// TODO(aram): implement this, see issue 5847.
--	panic("unimplemented")
-+func (cmsg *Cmsghdr) SetLen(length int) {
-+	cmsg.Len = uint32(length)
- }
-diff --git a/vendor/golang.org/x/sys/unix/syscall_unix.go b/vendor/golang.org/x/sys/unix/syscall_unix.go
-index 3ed8a91f..8f710d01 100644
---- a/vendor/golang.org/x/sys/unix/syscall_unix.go
-+++ b/vendor/golang.org/x/sys/unix/syscall_unix.go
-@@ -2,12 +2,13 @@
- // Use of this source code is governed by a BSD-style
- // license that can be found in the LICENSE file.
- 
--// +build darwin dragonfly freebsd linux netbsd openbsd solaris
-+// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris
- 
- package unix
- 
- import (
--	"runtime"
-+	"bytes"
-+	"sort"
- 	"sync"
- 	"syscall"
- 	"unsafe"
-@@ -19,13 +20,6 @@ var (
- 	Stderr = 2
- )
- 
--const (
--	darwin64Bit    = runtime.GOOS == "darwin" && sizeofPtr == 8
--	dragonfly64Bit = runtime.GOOS == "dragonfly" && sizeofPtr == 8
--	netbsd32Bit    = runtime.GOOS == "netbsd" && sizeofPtr == 4
--	solaris64Bit   = runtime.GOOS == "solaris" && sizeofPtr == 8
--)
--
- // Do the interface allocations only once for common
- // Errno values.
- var (
-@@ -34,6 +28,11 @@ var (
- 	errENOENT error = syscall.ENOENT
- )
- 
-+var (
-+	signalNameMapOnce sync.Once
-+	signalNameMap     map[string]syscall.Signal
-+)
-+
- // errnoErr returns common boxed Errno values, to prevent
- // allocations at runtime.
- func errnoErr(e syscall.Errno) error {
-@@ -50,6 +49,50 @@ func errnoErr(e syscall.Errno) error {
- 	return e
- }
- 
-+// ErrnoName returns the error name for error number e.
-+func ErrnoName(e syscall.Errno) string {
-+	i := sort.Search(len(errorList), func(i int) bool {
-+		return errorList[i].num >= e
-+	})
-+	if i < len(errorList) && errorList[i].num == e {
-+		return errorList[i].name
-+	}
-+	return ""
-+}
-+
-+// SignalName returns the signal name for signal number s.
-+func SignalName(s syscall.Signal) string {
-+	i := sort.Search(len(signalList), func(i int) bool {
-+		return signalList[i].num >= s
-+	})
-+	if i < len(signalList) && signalList[i].num == s {
-+		return signalList[i].name
-+	}
-+	return ""
-+}
-+
-+// SignalNum returns the syscall.Signal for signal named s,
-+// or 0 if a signal with such name is not found.
-+// The signal name should start with "SIG".
-+func SignalNum(s string) syscall.Signal {
-+	signalNameMapOnce.Do(func() {
-+		signalNameMap = make(map[string]syscall.Signal, len(signalList))
-+		for _, signal := range signalList {
-+			signalNameMap[signal.name] = signal.num
-+		}
-+	})
-+	return signalNameMap[s]
-+}
-+
-+// clen returns the index of the first NULL byte in n or len(n) if n contains no NULL byte.
-+func clen(n []byte) int {
-+	i := bytes.IndexByte(n, 0)
-+	if i == -1 {
-+		i = len(n)
-+	}
-+	return i
-+}
-+
- // Mmap manager, for use by operating system-specific implementations.
- 
- type mmapper struct {
-@@ -138,16 +181,19 @@ func Write(fd int, p []byte) (n int, err error) {
- // creation of IPv6 sockets to return EAFNOSUPPORT.
- var SocketDisableIPv6 bool
- 
-+// Sockaddr represents a socket address.
- type Sockaddr interface {
- 	sockaddr() (ptr unsafe.Pointer, len _Socklen, err error) // lowercase; only we can define Sockaddrs
- }
- 
-+// SockaddrInet4 implements the Sockaddr interface for AF_INET type sockets.
- type SockaddrInet4 struct {
- 	Port int
- 	Addr [4]byte
- 	raw  RawSockaddrInet4
- }
- 
-+// SockaddrInet6 implements the Sockaddr interface for AF_INET6 type sockets.
- type SockaddrInet6 struct {
- 	Port   int
- 	ZoneId uint32
-@@ -155,6 +201,7 @@ type SockaddrInet6 struct {
- 	raw    RawSockaddrInet6
- }
- 
-+// SockaddrUnix implements the Sockaddr interface for AF_UNIX type sockets.
- type SockaddrUnix struct {
- 	Name string
- 	raw  RawSockaddrUnix
-@@ -182,7 +229,14 @@ func Getpeername(fd int) (sa Sockaddr, err error) {
- 	if err = getpeername(fd, &rsa, &len); err != nil {
- 		return
- 	}
--	return anyToSockaddr(&rsa)
-+	return anyToSockaddr(fd, &rsa)
-+}
-+
-+func GetsockoptByte(fd, level, opt int) (value byte, err error) {
-+	var n byte
-+	vallen := _Socklen(1)
-+	err = getsockopt(fd, level, opt, unsafe.Pointer(&n), &vallen)
-+	return n, err
- }
- 
- func GetsockoptInt(fd, level, opt int) (value int, err error) {
-@@ -192,6 +246,61 @@ func GetsockoptInt(fd, level, opt int) (value int, err error) {
- 	return int(n), err
- }
- 
-+func GetsockoptInet4Addr(fd, level, opt int) (value [4]byte, err error) {
-+	vallen := _Socklen(4)
-+	err = getsockopt(fd, level, opt, unsafe.Pointer(&value[0]), &vallen)
-+	return value, err
-+}
-+
-+func GetsockoptIPMreq(fd, level, opt int) (*IPMreq, error) {
-+	var value IPMreq
-+	vallen := _Socklen(SizeofIPMreq)
-+	err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen)
-+	return &value, err
-+}
-+
-+func GetsockoptIPv6Mreq(fd, level, opt int) (*IPv6Mreq, error) {
-+	var value IPv6Mreq
-+	vallen := _Socklen(SizeofIPv6Mreq)
-+	err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen)
-+	return &value, err
-+}
-+
-+func GetsockoptIPv6MTUInfo(fd, level, opt int) (*IPv6MTUInfo, error) {
-+	var value IPv6MTUInfo
-+	vallen := _Socklen(SizeofIPv6MTUInfo)
-+	err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen)
-+	return &value, err
-+}
-+
-+func GetsockoptICMPv6Filter(fd, level, opt int) (*ICMPv6Filter, error) {
-+	var value ICMPv6Filter
-+	vallen := _Socklen(SizeofICMPv6Filter)
-+	err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen)
-+	return &value, err
-+}
-+
-+func GetsockoptLinger(fd, level, opt int) (*Linger, error) {
-+	var linger Linger
-+	vallen := _Socklen(SizeofLinger)
-+	err := getsockopt(fd, level, opt, unsafe.Pointer(&linger), &vallen)
-+	return &linger, err
-+}
-+
-+func GetsockoptTimeval(fd, level, opt int) (*Timeval, error) {
-+	var tv Timeval
-+	vallen := _Socklen(unsafe.Sizeof(tv))
-+	err := getsockopt(fd, level, opt, unsafe.Pointer(&tv), &vallen)
-+	return &tv, err
-+}
-+
-+func GetsockoptUint64(fd, level, opt int) (value uint64, err error) {
-+	var n uint64
-+	vallen := _Socklen(8)
-+	err = getsockopt(fd, level, opt, unsafe.Pointer(&n), &vallen)
-+	return n, err
-+}
-+
- func Recvfrom(fd int, p []byte, flags int) (n int, from Sockaddr, err error) {
- 	var rsa RawSockaddrAny
- 	var len _Socklen = SizeofSockaddrAny
-@@ -199,7 +308,7 @@ func Recvfrom(fd int, p []byte, flags int) (n int, from Sockaddr, err error) {
- 		return
- 	}
- 	if rsa.Addr.Family != AF_UNSPEC {
--		from, err = anyToSockaddr(&rsa)
-+		from, err = anyToSockaddr(fd, &rsa)
- 	}
- 	return
- }
-@@ -242,13 +351,21 @@ func SetsockoptLinger(fd, level, opt int, l *Linger) (err error) {
- }
- 
- func SetsockoptString(fd, level, opt int, s string) (err error) {
--	return setsockopt(fd, level, opt, unsafe.Pointer(&[]byte(s)[0]), uintptr(len(s)))
-+	var p unsafe.Pointer
-+	if len(s) > 0 {
-+		p = unsafe.Pointer(&[]byte(s)[0])
-+	}
-+	return setsockopt(fd, level, opt, p, uintptr(len(s)))
- }
- 
- func SetsockoptTimeval(fd, level, opt int, tv *Timeval) (err error) {
- 	return setsockopt(fd, level, opt, unsafe.Pointer(tv), unsafe.Sizeof(*tv))
- }
- 
-+func SetsockoptUint64(fd, level, opt int, value uint64) (err error) {
-+	return setsockopt(fd, level, opt, unsafe.Pointer(&value), 8)
-+}
-+
- func Socket(domain, typ, proto int) (fd int, err error) {
- 	if domain == AF_INET6 && SocketDisableIPv6 {
- 		return -1, EAFNOSUPPORT
-@@ -267,13 +384,6 @@ func Socketpair(domain, typ, proto int) (fd [2]int, err error) {
- 	return
- }
- 
--func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {
--	if raceenabled {
--		raceReleaseMerge(unsafe.Pointer(&ioSync))
--	}
--	return sendfile(outfd, infd, offset, count)
--}
--
- var ioSync int64
- 
- func CloseOnExec(fd int) { fcntl(fd, F_SETFD, FD_CLOEXEC) }
-@@ -291,3 +401,31 @@ func SetNonblock(fd int, nonblocking bool) (err error) {
- 	_, err = fcntl(fd, F_SETFL, flag)
- 	return err
- }
-+
-+// Exec calls execve(2), which replaces the calling executable in the process
-+// tree. argv0 should be the full path to an executable ("/bin/ls") and the
-+// executable name should also be the first argument in argv (["ls", "-l"]).
-+// envv are the environment variables that should be passed to the new
-+// process (["USER=go", "PWD=/tmp"]).
-+func Exec(argv0 string, argv []string, envv []string) error {
-+	return syscall.Exec(argv0, argv, envv)
-+}
-+
-+// Lutimes sets the access and modification times tv on path. If path refers to
-+// a symlink, it is not dereferenced and the timestamps are set on the symlink.
-+// If tv is nil, the access and modification times are set to the current time.
-+// Otherwise tv must contain exactly 2 elements, with access time as the first
-+// element and modification time as the second element.
-+func Lutimes(path string, tv []Timeval) error {
-+	if tv == nil {
-+		return UtimesNanoAt(AT_FDCWD, path, nil, AT_SYMLINK_NOFOLLOW)
-+	}
-+	if len(tv) != 2 {
-+		return EINVAL
-+	}
-+	ts := []Timespec{
-+		NsecToTimespec(TimevalToNsec(tv[0])),
-+		NsecToTimespec(TimevalToNsec(tv[1])),
-+	}
-+	return UtimesNanoAt(AT_FDCWD, path, ts, AT_SYMLINK_NOFOLLOW)
-+}
-diff --git a/vendor/golang.org/x/sys/unix/syscall_unix_gc.go b/vendor/golang.org/x/sys/unix/syscall_unix_gc.go
-index 4cb8e8ed..1c70d1b6 100644
---- a/vendor/golang.org/x/sys/unix/syscall_unix_gc.go
-+++ b/vendor/golang.org/x/sys/unix/syscall_unix_gc.go
-@@ -3,7 +3,7 @@
- // license that can be found in the LICENSE file.
- 
- // +build darwin dragonfly freebsd linux netbsd openbsd solaris
--// +build !gccgo
-+// +build !gccgo,!ppc64le,!ppc64
- 
- package unix
- 
-diff --git a/vendor/golang.org/x/sys/unix/syscall_unix_gc.go b/vendor/golang.org/x/sys/unix/syscall_unix_gc_ppc64x.go
-similarity index 51%
-copy from vendor/golang.org/x/sys/unix/syscall_unix_gc.go
-copy to vendor/golang.org/x/sys/unix/syscall_unix_gc_ppc64x.go
-index 4cb8e8ed..86dc765a 100644
---- a/vendor/golang.org/x/sys/unix/syscall_unix_gc.go
-+++ b/vendor/golang.org/x/sys/unix/syscall_unix_gc_ppc64x.go
-@@ -1,15 +1,24 @@
--// Copyright 2016 The Go Authors. All rights reserved.
-+// Copyright 2018 The Go Authors. All rights reserved.
- // Use of this source code is governed by a BSD-style
- // license that can be found in the LICENSE file.
- 
--// +build darwin dragonfly freebsd linux netbsd openbsd solaris
-+// +build linux
-+// +build ppc64le ppc64
- // +build !gccgo
- 
- package unix
- 
- import "syscall"
- 
--func Syscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno)
--func Syscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno)
--func RawSyscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno)
--func RawSyscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno)
-+func Syscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno) {
-+	return syscall.Syscall(trap, a1, a2, a3)
-+}
-+func Syscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) {
-+	return syscall.Syscall6(trap, a1, a2, a3, a4, a5, a6)
-+}
-+func RawSyscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno) {
-+	return syscall.RawSyscall(trap, a1, a2, a3)
-+}
-+func RawSyscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) {
-+	return syscall.RawSyscall6(trap, a1, a2, a3, a4, a5, a6)
-+}
-diff --git a/vendor/golang.org/x/sys/unix/timestruct.go b/vendor/golang.org/x/sys/unix/timestruct.go
-new file mode 100644
-index 00000000..4a672f56
---- /dev/null
-+++ b/vendor/golang.org/x/sys/unix/timestruct.go
-@@ -0,0 +1,82 @@
-+// Copyright 2017 The Go Authors. All rights reserved.
-+// Use of this source code is governed by a BSD-style
-+// license that can be found in the LICENSE file.
-+
-+// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris
-+
-+package unix
-+
-+import "time"
-+
-+// TimespecToNsec converts a Timespec value into a number of
-+// nanoseconds since the Unix epoch.
-+func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) }
-+
-+// NsecToTimespec takes a number of nanoseconds since the Unix epoch
-+// and returns the corresponding Timespec value.
-+func NsecToTimespec(nsec int64) Timespec {
-+	sec := nsec / 1e9
-+	nsec = nsec % 1e9
-+	if nsec < 0 {
-+		nsec += 1e9
-+		sec--
-+	}
-+	return setTimespec(sec, nsec)
-+}
-+
-+// TimeToTimespec converts t into a Timespec.
-+// On some 32-bit systems the range of valid Timespec values are smaller
-+// than that of time.Time values.  So if t is out of the valid range of
-+// Timespec, it returns a zero Timespec and ERANGE.
-+func TimeToTimespec(t time.Time) (Timespec, error) {
-+	sec := t.Unix()
-+	nsec := int64(t.Nanosecond())
-+	ts := setTimespec(sec, nsec)
-+
-+	// Currently all targets have either int32 or int64 for Timespec.Sec.
-+	// If there were a new target with floating point type for it, we have
-+	// to consider the rounding error.
-+	if int64(ts.Sec) != sec {
-+		return Timespec{}, ERANGE
-+	}
-+	return ts, nil
-+}
-+
-+// TimevalToNsec converts a Timeval value into a number of nanoseconds
-+// since the Unix epoch.
-+func TimevalToNsec(tv Timeval) int64 { return int64(tv.Sec)*1e9 + int64(tv.Usec)*1e3 }
-+
-+// NsecToTimeval takes a number of nanoseconds since the Unix epoch
-+// and returns the corresponding Timeval value.
-+func NsecToTimeval(nsec int64) Timeval {
-+	nsec += 999 // round up to microsecond
-+	usec := nsec % 1e9 / 1e3
-+	sec := nsec / 1e9
-+	if usec < 0 {
-+		usec += 1e6
-+		sec--
-+	}
-+	return setTimeval(sec, usec)
-+}
-+
-+// Unix returns ts as the number of seconds and nanoseconds elapsed since the
-+// Unix epoch.
-+func (ts *Timespec) Unix() (sec int64, nsec int64) {
-+	return int64(ts.Sec), int64(ts.Nsec)
-+}
-+
-+// Unix returns tv as the number of seconds and nanoseconds elapsed since the
-+// Unix epoch.
-+func (tv *Timeval) Unix() (sec int64, nsec int64) {
-+	return int64(tv.Sec), int64(tv.Usec) * 1000
-+}
-+
-+// Nano returns ts as the number of nanoseconds elapsed since the Unix epoch.
-+func (ts *Timespec) Nano() int64 {
-+	return int64(ts.Sec)*1e9 + int64(ts.Nsec)
-+}
-+
-+// Nano returns tv as the number of nanoseconds elapsed since the Unix epoch.
-+func (tv *Timeval) Nano() int64 {
-+	return int64(tv.Sec)*1e9 + int64(tv.Usec)*1000
-+}
-diff --git a/vendor/golang.org/x/sys/unix/types_netbsd.go b/vendor/golang.org/x/sys/unix/types_aix.go
-similarity index 53%
-copy from vendor/golang.org/x/sys/unix/types_netbsd.go
-copy to vendor/golang.org/x/sys/unix/types_aix.go
-index cb95c80a..40d2beed 100644
---- a/vendor/golang.org/x/sys/unix/types_netbsd.go
-+++ b/vendor/golang.org/x/sys/unix/types_aix.go
-@@ -1,11 +1,12 @@
--// Copyright 2009 The Go Authors. All rights reserved.
-+// Copyright 2018 The Go Authors. All rights reserved.
- // Use of this source code is governed by a BSD-style
- // license that can be found in the LICENSE file.
- 
- // +build ignore
-+// +build aix
- 
- /*
--Input to cgo -godefs.  See README.md
-+Input to cgo -godefs.  See also mkerrors.sh and mkall.sh
- */
- 
- // +godefs map struct_in_addr [4]byte /* in_addr */
-@@ -14,44 +15,37 @@ Input to cgo -godefs.  See README.md
- package unix
- 
- /*
--#define KERNEL
--#include 
--#include 
--#include 
--#include 
--#include 
--#include 
--#include 
- #include 
--#include 
--#include 
--#include 
--#include 
--#include 
--#include 
--#include 
--#include 
--#include 
--#include 
- #include 
--#include 
-+#include 
- #include 
--#include 
--#include 
-+#include 
-+#include 
-+#include 
-+#include 
-+#include 
-+#include 
-+#include 
-+#include 
-+
-+#include 
-+
- #include 
- #include 
--#include 
- #include 
- #include 
--#include 
-+
-+
-+#include 
-+#include 
- 
- enum {
- 	sizeofPtr = sizeof(void*),
- };
- 
- union sockaddr_all {
--	struct sockaddr s1;	// this one gets used for fields
--	struct sockaddr_in s2;	// these pad it out
-+	struct sockaddr s1;     // this one gets used for fields
-+	struct sockaddr_in s2;  // these pad it out
- 	struct sockaddr_in6 s3;
- 	struct sockaddr_un s4;
- 	struct sockaddr_dl s5;
-@@ -65,14 +59,15 @@ struct sockaddr_any {
- */
- import "C"
- 
--// Machine characteristics; for internal use.
-+// Machine characteristics
- 
- const (
--	sizeofPtr      = C.sizeofPtr
--	sizeofShort    = C.sizeof_short
--	sizeofInt      = C.sizeof_int
--	sizeofLong     = C.sizeof_long
--	sizeofLongLong = C.sizeof_longlong
-+	SizeofPtr      = C.sizeofPtr
-+	SizeofShort    = C.sizeof_short
-+	SizeofInt      = C.sizeof_int
-+	SizeofLong     = C.sizeof_long
-+	SizeofLongLong = C.sizeof_longlong
-+	PathMax        = C.PATH_MAX
- )
- 
- // Basic types
-@@ -84,32 +79,50 @@ type (
- 	_C_long_long C.longlong
- )
- 
-+type off64 C.off64_t
-+type off C.off_t
-+type Mode_t C.mode_t
-+
- // Time
- 
- type Timespec C.struct_timespec
- 
- type Timeval C.struct_timeval
- 
-+type Timeval32 C.struct_timeval32
-+
-+type Timex C.struct_timex
-+
-+type Time_t C.time_t
-+
-+type Tms C.struct_tms
-+
-+type Utimbuf C.struct_utimbuf
-+
-+type Timezone C.struct_timezone
-+
- // Processes
- 
- type Rusage C.struct_rusage
- 
--type Rlimit C.struct_rlimit
-+type Rlimit C.struct_rlimit64
-+
-+type Pid_t C.pid_t
- 
- type _Gid_t C.gid_t
- 
-+type dev_t C.dev_t
-+
- // Files
- 
- type Stat_t C.struct_stat
- 
--type Statfs_t C.struct_statfs
-+type StatxTimestamp C.struct_statx_timestamp
- 
--type Flock_t C.struct_flock
-+type Statx_t C.struct_statx
- 
- type Dirent C.struct_dirent
- 
--type Fsid C.fsid_t
--
- // Sockets
- 
- type RawSockaddrInet4 C.struct_sockaddr_in
-@@ -126,7 +139,9 @@ type RawSockaddrAny C.struct_sockaddr_any
- 
- type _Socklen C.socklen_t
- 
--type Linger C.struct_linger
-+type Cmsghdr C.struct_cmsghdr
-+
-+type ICMPv6Filter C.struct_icmp6_filter
- 
- type Iovec C.struct_iovec
- 
-@@ -134,15 +149,11 @@ type IPMreq C.struct_ip_mreq
- 
- type IPv6Mreq C.struct_ipv6_mreq
- 
--type Msghdr C.struct_msghdr
--
--type Cmsghdr C.struct_cmsghdr
--
--type Inet6Pktinfo C.struct_in6_pktinfo
--
- type IPv6MTUInfo C.struct_ip6_mtuinfo
- 
--type ICMPv6Filter C.struct_icmp6_filter
-+type Linger C.struct_linger
-+
-+type Msghdr C.struct_msghdr
- 
- const (
- 	SizeofSockaddrInet4    = C.sizeof_struct_sockaddr_in
-@@ -153,87 +164,74 @@ const (
- 	SizeofLinger           = C.sizeof_struct_linger
- 	SizeofIPMreq           = C.sizeof_struct_ip_mreq
- 	SizeofIPv6Mreq         = C.sizeof_struct_ipv6_mreq
-+	SizeofIPv6MTUInfo      = C.sizeof_struct_ip6_mtuinfo
- 	SizeofMsghdr           = C.sizeof_struct_msghdr
- 	SizeofCmsghdr          = C.sizeof_struct_cmsghdr
--	SizeofInet6Pktinfo     = C.sizeof_struct_in6_pktinfo
--	SizeofIPv6MTUInfo      = C.sizeof_struct_ip6_mtuinfo
- 	SizeofICMPv6Filter     = C.sizeof_struct_icmp6_filter
- )
- 
--// Ptrace requests
-+// Routing and interface messages
- 
- const (
--	PTRACE_TRACEME = C.PT_TRACE_ME
--	PTRACE_CONT    = C.PT_CONTINUE
--	PTRACE_KILL    = C.PT_KILL
-+	SizeofIfMsghdr = C.sizeof_struct_if_msghdr
- )
- 
--// Events (kqueue, kevent)
--
--type Kevent_t C.struct_kevent
-+type IfMsgHdr C.struct_if_msghdr
- 
--// Select
-+// Misc
- 
- type FdSet C.fd_set
- 
--// Routing and interface messages
-+type Utsname C.struct_utsname
- 
--const (
--	SizeofIfMsghdr         = C.sizeof_struct_if_msghdr
--	SizeofIfData           = C.sizeof_struct_if_data
--	SizeofIfaMsghdr        = C.sizeof_struct_ifa_msghdr
--	SizeofIfAnnounceMsghdr = C.sizeof_struct_if_announcemsghdr
--	SizeofRtMsghdr         = C.sizeof_struct_rt_msghdr
--	SizeofRtMetrics        = C.sizeof_struct_rt_metrics
--)
-+type Ustat_t C.struct_ustat
- 
--type IfMsghdr C.struct_if_msghdr
-+type Sigset_t C.sigset_t
- 
--type IfData C.struct_if_data
-+const (
-+	AT_FDCWD            = C.AT_FDCWD
-+	AT_REMOVEDIR        = C.AT_REMOVEDIR
-+	AT_SYMLINK_NOFOLLOW = C.AT_SYMLINK_NOFOLLOW
-+)
- 
--type IfaMsghdr C.struct_ifa_msghdr
-+// Terminal handling
- 
--type IfAnnounceMsghdr C.struct_if_announcemsghdr
-+type Termios C.struct_termios
- 
--type RtMsghdr C.struct_rt_msghdr
-+type Termio C.struct_termio
- 
--type RtMetrics C.struct_rt_metrics
-+type Winsize C.struct_winsize
- 
--type Mclpool C.struct_mclpool
-+//poll
- 
--// Berkeley packet filter
-+type PollFd struct {
-+	Fd      int32
-+	Events  uint16
-+	Revents uint16
-+}
- 
- const (
--	SizeofBpfVersion = C.sizeof_struct_bpf_version
--	SizeofBpfStat    = C.sizeof_struct_bpf_stat
--	SizeofBpfProgram = C.sizeof_struct_bpf_program
--	SizeofBpfInsn    = C.sizeof_struct_bpf_insn
--	SizeofBpfHdr     = C.sizeof_struct_bpf_hdr
-+	POLLERR    = C.POLLERR
-+	POLLHUP    = C.POLLHUP
-+	POLLIN     = C.POLLIN
-+	POLLNVAL   = C.POLLNVAL
-+	POLLOUT    = C.POLLOUT
-+	POLLPRI    = C.POLLPRI
-+	POLLRDBAND = C.POLLRDBAND
-+	POLLRDNORM = C.POLLRDNORM
-+	POLLWRBAND = C.POLLWRBAND
-+	POLLWRNORM = C.POLLWRNORM
- )
- 
--type BpfVersion C.struct_bpf_version
--
--type BpfStat C.struct_bpf_stat
--
--type BpfProgram C.struct_bpf_program
--
--type BpfInsn C.struct_bpf_insn
--
--type BpfHdr C.struct_bpf_hdr
--
--type BpfTimeval C.struct_bpf_timeval
-+//flock_t
- 
--// Terminal handling
--
--type Termios C.struct_termios
-+type Flock_t C.struct_flock64
- 
--// fchmodat-like syscalls.
-+// Statfs
- 
--const (
--	AT_FDCWD            = C.AT_FDCWD
--	AT_SYMLINK_NOFOLLOW = C.AT_SYMLINK_NOFOLLOW
--)
-+type Fsid_t C.struct_fsid_t
-+type Fsid64_t C.struct_fsid64_t
- 
--// Sysctl
-+type Statfs_t C.struct_statfs
- 
--type Sysctlnode C.struct_sysctlnode
-+const RNDGETENTCNT = 0x80045200
-diff --git a/vendor/golang.org/x/sys/unix/types_darwin.go b/vendor/golang.org/x/sys/unix/types_darwin.go
-index 415124d4..155c2e69 100644
---- a/vendor/golang.org/x/sys/unix/types_darwin.go
-+++ b/vendor/golang.org/x/sys/unix/types_darwin.go
-@@ -19,6 +19,7 @@ package unix
- #define _DARWIN_USE_64_BIT_INODE
- #include 
- #include 
-+#include 
- #include 
- #include 
- #include 
-@@ -38,6 +39,7 @@ package unix
- #include 
- #include 
- #include 
-+#include 
- #include 
- #include 
- #include 
-@@ -68,14 +70,14 @@ struct sockaddr_any {
- */
- import "C"
- 
--// Machine characteristics; for internal use.
-+// Machine characteristics
- 
- const (
--	sizeofPtr      = C.sizeofPtr
--	sizeofShort    = C.sizeof_short
--	sizeofInt      = C.sizeof_int
--	sizeofLong     = C.sizeof_long
--	sizeofLongLong = C.sizeof_longlong
-+	SizeofPtr      = C.sizeofPtr
-+	SizeofShort    = C.sizeof_short
-+	SizeofInt      = C.sizeof_int
-+	SizeofLong     = C.sizeof_long
-+	SizeofLongLong = C.sizeof_longlong
- )
- 
- // Basic types
-@@ -252,3 +254,30 @@ const (
- 	AT_SYMLINK_FOLLOW   = C.AT_SYMLINK_FOLLOW
- 	AT_SYMLINK_NOFOLLOW = C.AT_SYMLINK_NOFOLLOW
- )
-+
-+// poll
-+
-+type PollFd C.struct_pollfd
-+
-+const (
-+	POLLERR    = C.POLLERR
-+	POLLHUP    = C.POLLHUP
-+	POLLIN     = C.POLLIN
-+	POLLNVAL   = C.POLLNVAL
-+	POLLOUT    = C.POLLOUT
-+	POLLPRI    = C.POLLPRI
-+	POLLRDBAND = C.POLLRDBAND
-+	POLLRDNORM = C.POLLRDNORM
-+	POLLWRBAND = C.POLLWRBAND
-+	POLLWRNORM = C.POLLWRNORM
-+)
-+
-+// uname
-+
-+type Utsname C.struct_utsname
-+
-+// Clockinfo
-+
-+const SizeofClockinfo = C.sizeof_struct_clockinfo
-+
-+type Clockinfo C.struct_clockinfo
-diff --git a/vendor/golang.org/x/sys/unix/types_dragonfly.go b/vendor/golang.org/x/sys/unix/types_dragonfly.go
-index 80b27781..6574f6b6 100644
---- a/vendor/golang.org/x/sys/unix/types_dragonfly.go
-+++ b/vendor/golang.org/x/sys/unix/types_dragonfly.go
-@@ -17,6 +17,7 @@ package unix
- #define KERNEL
- #include 
- #include 
-+#include 
- #include 
- #include 
- #include 
-@@ -34,6 +35,7 @@ package unix
- #include 
- #include 
- #include 
-+#include 
- #include 
- #include 
- #include 
-@@ -63,14 +65,14 @@ struct sockaddr_any {
- */
- import "C"
- 
--// Machine characteristics; for internal use.
-+// Machine characteristics
- 
- const (
--	sizeofPtr      = C.sizeofPtr
--	sizeofShort    = C.sizeof_short
--	sizeofInt      = C.sizeof_int
--	sizeofLong     = C.sizeof_long
--	sizeofLongLong = C.sizeof_longlong
-+	SizeofPtr      = C.sizeofPtr
-+	SizeofShort    = C.sizeof_short
-+	SizeofInt      = C.sizeof_int
-+	SizeofLong     = C.sizeof_long
-+	SizeofLongLong = C.sizeof_longlong
- )
- 
- // Basic types
-@@ -98,23 +100,6 @@ type _Gid_t C.gid_t
- 
- // Files
- 
--const ( // Directory mode bits
--	S_IFMT   = C.S_IFMT
--	S_IFIFO  = C.S_IFIFO
--	S_IFCHR  = C.S_IFCHR
--	S_IFDIR  = C.S_IFDIR
--	S_IFBLK  = C.S_IFBLK
--	S_IFREG  = C.S_IFREG
--	S_IFLNK  = C.S_IFLNK
--	S_IFSOCK = C.S_IFSOCK
--	S_ISUID  = C.S_ISUID
--	S_ISGID  = C.S_ISGID
--	S_ISVTX  = C.S_ISVTX
--	S_IRUSR  = C.S_IRUSR
--	S_IWUSR  = C.S_IWUSR
--	S_IXUSR  = C.S_IXUSR
--)
--
- type Stat_t C.struct_stat
- 
- type Statfs_t C.struct_statfs
-@@ -125,6 +110,12 @@ type Dirent C.struct_dirent
- 
- type Fsid C.struct_fsid
- 
-+// File system limits
-+
-+const (
-+	PathMax = C.PATH_MAX
-+)
-+
- // Sockets
- 
- type RawSockaddrInet4 C.struct_sockaddr_in
-@@ -241,9 +232,38 @@ type BpfHdr C.struct_bpf_hdr
- 
- type Termios C.struct_termios
- 
-+type Winsize C.struct_winsize
-+
- // fchmodat-like syscalls.
- 
- const (
- 	AT_FDCWD            = C.AT_FDCWD
- 	AT_SYMLINK_NOFOLLOW = C.AT_SYMLINK_NOFOLLOW
- )
-+
-+// poll
-+
-+type PollFd C.struct_pollfd
-+
-+const (
-+	POLLERR    = C.POLLERR
-+	POLLHUP    = C.POLLHUP
-+	POLLIN     = C.POLLIN
-+	POLLNVAL   = C.POLLNVAL
-+	POLLOUT    = C.POLLOUT
-+	POLLPRI    = C.POLLPRI
-+	POLLRDBAND = C.POLLRDBAND
-+	POLLRDNORM = C.POLLRDNORM
-+	POLLWRBAND = C.POLLWRBAND
-+	POLLWRNORM = C.POLLWRNORM
-+)
-+
-+// Uname
-+
-+type Utsname C.struct_utsname
-+
-+// Clockinfo
-+
-+const SizeofClockinfo = C.sizeof_struct_clockinfo
-+
-+type Clockinfo C.struct_clockinfo
-diff --git a/vendor/golang.org/x/sys/unix/types_freebsd.go b/vendor/golang.org/x/sys/unix/types_freebsd.go
-index 934fd7ac..c6fde424 100644
---- a/vendor/golang.org/x/sys/unix/types_freebsd.go
-+++ b/vendor/golang.org/x/sys/unix/types_freebsd.go
-@@ -14,14 +14,19 @@ Input to cgo -godefs.  See README.md
- package unix
- 
- /*
--#define KERNEL
-+#define	_WANT_FREEBSD11_STAT	1
-+#define	_WANT_FREEBSD11_STATFS	1
-+#define	_WANT_FREEBSD11_DIRENT	1
-+#define	_WANT_FREEBSD11_KEVENT  1
-+
- #include 
- #include 
-+#include 
- #include 
- #include 
- #include 
- #include 
--#include 
-+#include 
- #include 
- #include 
- #include 
-@@ -35,6 +40,7 @@ package unix
- #include 
- #include 
- #include 
-+#include 
- #include 
- #include 
- #include 
-@@ -61,50 +67,6 @@ struct sockaddr_any {
- 	char pad[sizeof(union sockaddr_all) - sizeof(struct sockaddr)];
- };
- 
--// This structure is a duplicate of stat on FreeBSD 8-STABLE.
--// See /usr/include/sys/stat.h.
--struct stat8 {
--#undef st_atimespec	st_atim
--#undef st_mtimespec	st_mtim
--#undef st_ctimespec	st_ctim
--#undef st_birthtimespec	st_birthtim
--	__dev_t   st_dev;
--	ino_t     st_ino;
--	mode_t    st_mode;
--	nlink_t   st_nlink;
--	uid_t     st_uid;
--	gid_t     st_gid;
--	__dev_t   st_rdev;
--#if __BSD_VISIBLE
--	struct  timespec st_atimespec;
--	struct  timespec st_mtimespec;
--	struct  timespec st_ctimespec;
--#else
--	time_t    st_atime;
--	long      __st_atimensec;
--	time_t    st_mtime;
--	long      __st_mtimensec;
--	time_t    st_ctime;
--	long      __st_ctimensec;
--#endif
--	off_t     st_size;
--	blkcnt_t st_blocks;
--	blksize_t st_blksize;
--	fflags_t  st_flags;
--	__uint32_t st_gen;
--	__int32_t st_lspare;
--#if __BSD_VISIBLE
--	struct timespec st_birthtimespec;
--	unsigned int :(8 / 2) * (16 - (int)sizeof(struct timespec));
--	unsigned int :(8 / 2) * (16 - (int)sizeof(struct timespec));
--#else
--	time_t    st_birthtime;
--	long      st_birthtimensec;
--	unsigned int :(8 / 2) * (16 - (int)sizeof(struct __timespec));
--	unsigned int :(8 / 2) * (16 - (int)sizeof(struct __timespec));
--#endif
--};
--
- // This structure is a duplicate of if_data on FreeBSD 8-STABLE.
- // See /usr/include/net/if.h.
- struct if_data8 {
-@@ -152,14 +114,14 @@ struct if_msghdr8 {
- */
- import "C"
- 
--// Machine characteristics; for internal use.
-+// Machine characteristics
- 
- const (
--	sizeofPtr      = C.sizeofPtr
--	sizeofShort    = C.sizeof_short
--	sizeofInt      = C.sizeof_int
--	sizeofLong     = C.sizeof_long
--	sizeofLongLong = C.sizeof_longlong
-+	SizeofPtr      = C.sizeofPtr
-+	SizeofShort    = C.sizeof_short
-+	SizeofInt      = C.sizeof_int
-+	SizeofLong     = C.sizeof_long
-+	SizeofLongLong = C.sizeof_longlong
- )
- 
- // Basic types
-@@ -187,33 +149,33 @@ type _Gid_t C.gid_t
- 
- // Files
- 
--const ( // Directory mode bits
--	S_IFMT   = C.S_IFMT
--	S_IFIFO  = C.S_IFIFO
--	S_IFCHR  = C.S_IFCHR
--	S_IFDIR  = C.S_IFDIR
--	S_IFBLK  = C.S_IFBLK
--	S_IFREG  = C.S_IFREG
--	S_IFLNK  = C.S_IFLNK
--	S_IFSOCK = C.S_IFSOCK
--	S_ISUID  = C.S_ISUID
--	S_ISGID  = C.S_ISGID
--	S_ISVTX  = C.S_ISVTX
--	S_IRUSR  = C.S_IRUSR
--	S_IWUSR  = C.S_IWUSR
--	S_IXUSR  = C.S_IXUSR
-+const (
-+	_statfsVersion = C.STATFS_VERSION
-+	_dirblksiz     = C.DIRBLKSIZ
- )
- 
--type Stat_t C.struct_stat8
-+type Stat_t C.struct_stat
-+
-+type stat_freebsd11_t C.struct_freebsd11_stat
- 
- type Statfs_t C.struct_statfs
- 
-+type statfs_freebsd11_t C.struct_freebsd11_statfs
-+
- type Flock_t C.struct_flock
- 
- type Dirent C.struct_dirent
- 
-+type dirent_freebsd11 C.struct_freebsd11_dirent
-+
- type Fsid C.struct_fsid
- 
-+// File system limits
-+
-+const (
-+	PathMax = C.PATH_MAX
-+)
-+
- // Advice to Fadvise
- 
- const (
-@@ -281,14 +243,58 @@ const (
- // Ptrace requests
- 
- const (
--	PTRACE_TRACEME = C.PT_TRACE_ME
--	PTRACE_CONT    = C.PT_CONTINUE
--	PTRACE_KILL    = C.PT_KILL
-+	PTRACE_ATTACH     = C.PT_ATTACH
-+	PTRACE_CONT       = C.PT_CONTINUE
-+	PTRACE_DETACH     = C.PT_DETACH
-+	PTRACE_GETFPREGS  = C.PT_GETFPREGS
-+	PTRACE_GETFSBASE  = C.PT_GETFSBASE
-+	PTRACE_GETLWPLIST = C.PT_GETLWPLIST
-+	PTRACE_GETNUMLWPS = C.PT_GETNUMLWPS
-+	PTRACE_GETREGS    = C.PT_GETREGS
-+	PTRACE_GETXSTATE  = C.PT_GETXSTATE
-+	PTRACE_IO         = C.PT_IO
-+	PTRACE_KILL       = C.PT_KILL
-+	PTRACE_LWPEVENTS  = C.PT_LWP_EVENTS
-+	PTRACE_LWPINFO    = C.PT_LWPINFO
-+	PTRACE_SETFPREGS  = C.PT_SETFPREGS
-+	PTRACE_SETREGS    = C.PT_SETREGS
-+	PTRACE_SINGLESTEP = C.PT_STEP
-+	PTRACE_TRACEME    = C.PT_TRACE_ME
-+)
-+
-+const (
-+	PIOD_READ_D  = C.PIOD_READ_D
-+	PIOD_WRITE_D = C.PIOD_WRITE_D
-+	PIOD_READ_I  = C.PIOD_READ_I
-+	PIOD_WRITE_I = C.PIOD_WRITE_I
-+)
-+
-+const (
-+	PL_FLAG_BORN   = C.PL_FLAG_BORN
-+	PL_FLAG_EXITED = C.PL_FLAG_EXITED
-+	PL_FLAG_SI     = C.PL_FLAG_SI
-+)
-+
-+const (
-+	TRAP_BRKPT = C.TRAP_BRKPT
-+	TRAP_TRACE = C.TRAP_TRACE
- )
- 
-+type PtraceLwpInfoStruct C.struct_ptrace_lwpinfo
-+
-+type __Siginfo C.struct___siginfo
-+
-+type Sigset_t C.sigset_t
-+
-+type Reg C.struct_reg
-+
-+type FpReg C.struct_fpreg
-+
-+type PtraceIoDesc C.struct_ptrace_io_desc
-+
- // Events (kqueue, kevent)
- 
--type Kevent_t C.struct_kevent
-+type Kevent_t C.struct_kevent_freebsd11
- 
- // Select
- 
-@@ -367,6 +373,34 @@ const (
- 	AT_SYMLINK_NOFOLLOW = C.AT_SYMLINK_NOFOLLOW
- )
- 
-+// poll
-+
-+type PollFd C.struct_pollfd
-+
-+const (
-+	POLLERR      = C.POLLERR
-+	POLLHUP      = C.POLLHUP
-+	POLLIN       = C.POLLIN
-+	POLLINIGNEOF = C.POLLINIGNEOF
-+	POLLNVAL     = C.POLLNVAL
-+	POLLOUT      = C.POLLOUT
-+	POLLPRI      = C.POLLPRI
-+	POLLRDBAND   = C.POLLRDBAND
-+	POLLRDNORM   = C.POLLRDNORM
-+	POLLWRBAND   = C.POLLWRBAND
-+	POLLWRNORM   = C.POLLWRNORM
-+)
-+
- // Capabilities
- 
- type CapRights C.struct_cap_rights
-+
-+// Uname
-+
-+type Utsname C.struct_utsname
-+
-+// Clockinfo
-+
-+const SizeofClockinfo = C.sizeof_struct_clockinfo
-+
-+type Clockinfo C.struct_clockinfo
-diff --git a/vendor/golang.org/x/sys/unix/types_netbsd.go b/vendor/golang.org/x/sys/unix/types_netbsd.go
-index cb95c80a..0a81aadb 100644
---- a/vendor/golang.org/x/sys/unix/types_netbsd.go
-+++ b/vendor/golang.org/x/sys/unix/types_netbsd.go
-@@ -17,6 +17,7 @@ package unix
- #define KERNEL
- #include 
- #include 
-+#include 
- #include 
- #include 
- #include 
-@@ -32,10 +33,12 @@ package unix
- #include 
- #include 
- #include 
-+#include 
- #include 
- #include 
- #include 
- #include 
-+#include 
- #include 
- #include 
- #include 
-@@ -65,14 +68,14 @@ struct sockaddr_any {
- */
- import "C"
- 
--// Machine characteristics; for internal use.
-+// Machine characteristics
- 
- const (
--	sizeofPtr      = C.sizeofPtr
--	sizeofShort    = C.sizeof_short
--	sizeofInt      = C.sizeof_int
--	sizeofLong     = C.sizeof_long
--	sizeofLongLong = C.sizeof_longlong
-+	SizeofPtr      = C.sizeofPtr
-+	SizeofShort    = C.sizeof_short
-+	SizeofInt      = C.sizeof_int
-+	SizeofLong     = C.sizeof_long
-+	SizeofLongLong = C.sizeof_longlong
- )
- 
- // Basic types
-@@ -104,12 +107,38 @@ type Stat_t C.struct_stat
- 
- type Statfs_t C.struct_statfs
- 
-+type Statvfs_t C.struct_statvfs
-+
- type Flock_t C.struct_flock
- 
- type Dirent C.struct_dirent
- 
- type Fsid C.fsid_t
- 
-+// File system limits
-+
-+const (
-+	PathMax = C.PATH_MAX
-+)
-+
-+// Fstatvfs/Statvfs flags
-+
-+const (
-+	ST_WAIT   = C.ST_WAIT
-+	ST_NOWAIT = C.ST_NOWAIT
-+)
-+
-+// Advice to Fadvise
-+
-+const (
-+	FADV_NORMAL     = C.POSIX_FADV_NORMAL
-+	FADV_RANDOM     = C.POSIX_FADV_RANDOM
-+	FADV_SEQUENTIAL = C.POSIX_FADV_SEQUENTIAL
-+	FADV_WILLNEED   = C.POSIX_FADV_WILLNEED
-+	FADV_DONTNEED   = C.POSIX_FADV_DONTNEED
-+	FADV_NOREUSE    = C.POSIX_FADV_NOREUSE
-+)
-+
- // Sockets
- 
- type RawSockaddrInet4 C.struct_sockaddr_in
-@@ -227,13 +256,45 @@ type BpfTimeval C.struct_bpf_timeval
- 
- type Termios C.struct_termios
- 
-+type Winsize C.struct_winsize
-+
-+type Ptmget C.struct_ptmget
-+
- // fchmodat-like syscalls.
- 
- const (
- 	AT_FDCWD            = C.AT_FDCWD
-+	AT_SYMLINK_FOLLOW   = C.AT_SYMLINK_FOLLOW
- 	AT_SYMLINK_NOFOLLOW = C.AT_SYMLINK_NOFOLLOW
- )
- 
-+// poll
-+
-+type PollFd C.struct_pollfd
-+
-+const (
-+	POLLERR    = C.POLLERR
-+	POLLHUP    = C.POLLHUP
-+	POLLIN     = C.POLLIN
-+	POLLNVAL   = C.POLLNVAL
-+	POLLOUT    = C.POLLOUT
-+	POLLPRI    = C.POLLPRI
-+	POLLRDBAND = C.POLLRDBAND
-+	POLLRDNORM = C.POLLRDNORM
-+	POLLWRBAND = C.POLLWRBAND
-+	POLLWRNORM = C.POLLWRNORM
-+)
-+
- // Sysctl
- 
- type Sysctlnode C.struct_sysctlnode
-+
-+// Uname
-+
-+type Utsname C.struct_utsname
-+
-+// Clockinfo
-+
-+const SizeofClockinfo = C.sizeof_struct_clockinfo
-+
-+type Clockinfo C.struct_clockinfo
-diff --git a/vendor/golang.org/x/sys/unix/types_openbsd.go b/vendor/golang.org/x/sys/unix/types_openbsd.go
-index 392da69b..775cb57d 100644
---- a/vendor/golang.org/x/sys/unix/types_openbsd.go
-+++ b/vendor/golang.org/x/sys/unix/types_openbsd.go
-@@ -17,6 +17,7 @@ package unix
- #define KERNEL
- #include 
- #include 
-+#include 
- #include 
- #include 
- #include 
-@@ -35,7 +36,9 @@ package unix
- #include 
- #include 
- #include 
-+#include 
- #include 
-+#include 
- #include 
- #include 
- #include 
-@@ -64,14 +67,14 @@ struct sockaddr_any {
- */
- import "C"
- 
--// Machine characteristics; for internal use.
-+// Machine characteristics
- 
- const (
--	sizeofPtr      = C.sizeofPtr
--	sizeofShort    = C.sizeof_short
--	sizeofInt      = C.sizeof_int
--	sizeofLong     = C.sizeof_long
--	sizeofLongLong = C.sizeof_longlong
-+	SizeofPtr      = C.sizeofPtr
-+	SizeofShort    = C.sizeof_short
-+	SizeofInt      = C.sizeof_int
-+	SizeofLong     = C.sizeof_long
-+	SizeofLongLong = C.sizeof_longlong
- )
- 
- // Basic types
-@@ -99,23 +102,6 @@ type _Gid_t C.gid_t
- 
- // Files
- 
--const ( // Directory mode bits
--	S_IFMT   = C.S_IFMT
--	S_IFIFO  = C.S_IFIFO
--	S_IFCHR  = C.S_IFCHR
--	S_IFDIR  = C.S_IFDIR
--	S_IFBLK  = C.S_IFBLK
--	S_IFREG  = C.S_IFREG
--	S_IFLNK  = C.S_IFLNK
--	S_IFSOCK = C.S_IFSOCK
--	S_ISUID  = C.S_ISUID
--	S_ISGID  = C.S_ISGID
--	S_ISVTX  = C.S_ISVTX
--	S_IRUSR  = C.S_IRUSR
--	S_IWUSR  = C.S_IWUSR
--	S_IXUSR  = C.S_IXUSR
--)
--
- type Stat_t C.struct_stat
- 
- type Statfs_t C.struct_statfs
-@@ -126,6 +112,12 @@ type Dirent C.struct_dirent
- 
- type Fsid C.fsid_t
- 
-+// File system limits
-+
-+const (
-+	PathMax = C.PATH_MAX
-+)
-+
- // Sockets
- 
- type RawSockaddrInet4 C.struct_sockaddr_in
-@@ -243,9 +235,49 @@ type BpfTimeval C.struct_bpf_timeval
- 
- type Termios C.struct_termios
- 
-+type Winsize C.struct_winsize
-+
- // fchmodat-like syscalls.
- 
- const (
- 	AT_FDCWD            = C.AT_FDCWD
-+	AT_SYMLINK_FOLLOW   = C.AT_SYMLINK_FOLLOW
- 	AT_SYMLINK_NOFOLLOW = C.AT_SYMLINK_NOFOLLOW
- )
-+
-+// poll
-+
-+type PollFd C.struct_pollfd
-+
-+const (
-+	POLLERR    = C.POLLERR
-+	POLLHUP    = C.POLLHUP
-+	POLLIN     = C.POLLIN
-+	POLLNVAL   = C.POLLNVAL
-+	POLLOUT    = C.POLLOUT
-+	POLLPRI    = C.POLLPRI
-+	POLLRDBAND = C.POLLRDBAND
-+	POLLRDNORM = C.POLLRDNORM
-+	POLLWRBAND = C.POLLWRBAND
-+	POLLWRNORM = C.POLLWRNORM
-+)
-+
-+// Signal Sets
-+
-+type Sigset_t C.sigset_t
-+
-+// Uname
-+
-+type Utsname C.struct_utsname
-+
-+// Uvmexp
-+
-+const SizeofUvmexp = C.sizeof_struct_uvmexp
-+
-+type Uvmexp C.struct_uvmexp
-+
-+// Clockinfo
-+
-+const SizeofClockinfo = C.sizeof_struct_clockinfo
-+
-+type Clockinfo C.struct_clockinfo
-diff --git a/vendor/golang.org/x/sys/unix/types_solaris.go b/vendor/golang.org/x/sys/unix/types_solaris.go
-index 393c7f04..d713f09e 100644
---- a/vendor/golang.org/x/sys/unix/types_solaris.go
-+++ b/vendor/golang.org/x/sys/unix/types_solaris.go
-@@ -24,6 +24,7 @@ package unix
- #include 
- #include 
- #include 
-+#include 
- #include 
- #include 
- #include 
-@@ -74,14 +75,14 @@ struct sockaddr_any {
- */
- import "C"
- 
--// Machine characteristics; for internal use.
-+// Machine characteristics
- 
- const (
--	sizeofPtr      = C.sizeofPtr
--	sizeofShort    = C.sizeof_short
--	sizeofInt      = C.sizeof_int
--	sizeofLong     = C.sizeof_long
--	sizeofLongLong = C.sizeof_longlong
-+	SizeofPtr      = C.sizeofPtr
-+	SizeofShort    = C.sizeof_short
-+	SizeofInt      = C.sizeof_int
-+	SizeofLong     = C.sizeof_long
-+	SizeofLongLong = C.sizeof_longlong
- 	PathMax        = C.PATH_MAX
- 	MaxHostNameLen = C.MAXHOSTNAMELEN
- )
-@@ -117,23 +118,6 @@ type _Gid_t C.gid_t
- 
- // Files
- 
--const ( // Directory mode bits
--	S_IFMT   = C.S_IFMT
--	S_IFIFO  = C.S_IFIFO
--	S_IFCHR  = C.S_IFCHR
--	S_IFDIR  = C.S_IFDIR
--	S_IFBLK  = C.S_IFBLK
--	S_IFREG  = C.S_IFREG
--	S_IFLNK  = C.S_IFLNK
--	S_IFSOCK = C.S_IFSOCK
--	S_ISUID  = C.S_ISUID
--	S_ISGID  = C.S_ISGID
--	S_ISVTX  = C.S_ISVTX
--	S_IRUSR  = C.S_IRUSR
--	S_IWUSR  = C.S_IWUSR
--	S_IXUSR  = C.S_IXUSR
--)
--
- type Stat_t C.struct_stat
- 
- type Flock_t C.struct_flock
-@@ -174,6 +158,8 @@ type Msghdr C.struct_msghdr
- 
- type Cmsghdr C.struct_cmsghdr
- 
-+type Inet4Pktinfo C.struct_in_pktinfo
-+
- type Inet6Pktinfo C.struct_in6_pktinfo
- 
- type IPv6MTUInfo C.struct_ip6_mtuinfo
-@@ -191,6 +177,7 @@ const (
- 	SizeofIPv6Mreq         = C.sizeof_struct_ipv6_mreq
- 	SizeofMsghdr           = C.sizeof_struct_msghdr
- 	SizeofCmsghdr          = C.sizeof_struct_cmsghdr
-+	SizeofInet4Pktinfo     = C.sizeof_struct_in_pktinfo
- 	SizeofInet6Pktinfo     = C.sizeof_struct_in6_pktinfo
- 	SizeofIPv6MTUInfo      = C.sizeof_struct_ip6_mtuinfo
- 	SizeofICMPv6Filter     = C.sizeof_struct_icmp6_filter
-@@ -256,10 +243,6 @@ type BpfTimeval C.struct_bpf_timeval
- 
- type BpfHdr C.struct_bpf_hdr
- 
--// sysconf information
--
--const _SC_PAGESIZE = C._SC_PAGESIZE
--
- // Terminal handling
- 
- type Termios C.struct_termios
-@@ -267,3 +250,20 @@ type Termios C.struct_termios
- type Termio C.struct_termio
- 
- type Winsize C.struct_winsize
-+
-+// poll
-+
-+type PollFd C.struct_pollfd
-+
-+const (
-+	POLLERR    = C.POLLERR
-+	POLLHUP    = C.POLLHUP
-+	POLLIN     = C.POLLIN
-+	POLLNVAL   = C.POLLNVAL
-+	POLLOUT    = C.POLLOUT
-+	POLLPRI    = C.POLLPRI
-+	POLLRDBAND = C.POLLRDBAND
-+	POLLRDNORM = C.POLLRDNORM
-+	POLLWRBAND = C.POLLWRBAND
-+	POLLWRNORM = C.POLLWRNORM
-+)
-diff --git a/vendor/golang.org/x/sys/unix/unveil_openbsd.go b/vendor/golang.org/x/sys/unix/unveil_openbsd.go
-new file mode 100644
-index 00000000..168d5ae7
---- /dev/null
-+++ b/vendor/golang.org/x/sys/unix/unveil_openbsd.go
-@@ -0,0 +1,42 @@
-+// Copyright 2018 The Go Authors. All rights reserved.
-+// Use of this source code is governed by a BSD-style
-+// license that can be found in the LICENSE file.
-+
-+package unix
-+
-+import (
-+	"syscall"
-+	"unsafe"
-+)
-+
-+// Unveil implements the unveil syscall.
-+// For more information see unveil(2).
-+// Note that the special case of blocking further
-+// unveil calls is handled by UnveilBlock.
-+func Unveil(path string, flags string) error {
-+	pathPtr, err := syscall.BytePtrFromString(path)
-+	if err != nil {
-+		return err
-+	}
-+	flagsPtr, err := syscall.BytePtrFromString(flags)
-+	if err != nil {
-+		return err
-+	}
-+	_, _, e := syscall.Syscall(SYS_UNVEIL, uintptr(unsafe.Pointer(pathPtr)), uintptr(unsafe.Pointer(flagsPtr)), 0)
-+	if e != 0 {
-+		return e
-+	}
-+	return nil
-+}
-+
-+// UnveilBlock blocks future unveil calls.
-+// For more information see unveil(2).
-+func UnveilBlock() error {
-+	// Both pointers must be nil.
-+	var pathUnsafe, flagsUnsafe unsafe.Pointer
-+	_, _, e := syscall.Syscall(SYS_UNVEIL, uintptr(pathUnsafe), uintptr(flagsUnsafe), 0)
-+	if e != 0 {
-+		return e
-+	}
-+	return nil
-+}
-diff --git a/vendor/golang.org/x/sys/unix/xattr_bsd.go b/vendor/golang.org/x/sys/unix/xattr_bsd.go
-new file mode 100644
-index 00000000..30c1d71f
---- /dev/null
-+++ b/vendor/golang.org/x/sys/unix/xattr_bsd.go
-@@ -0,0 +1,240 @@
-+// Copyright 2018 The Go Authors. All rights reserved.
-+// Use of this source code is governed by a BSD-style
-+// license that can be found in the LICENSE file.
-+
-+// +build freebsd netbsd
-+
-+package unix
-+
-+import (
-+	"strings"
-+	"unsafe"
-+)
-+
-+// Derive extattr namespace and attribute name
-+
-+func xattrnamespace(fullattr string) (ns int, attr string, err error) {
-+	s := strings.IndexByte(fullattr, '.')
-+	if s == -1 {
-+		return -1, "", ENOATTR
-+	}
-+
-+	namespace := fullattr[0:s]
-+	attr = fullattr[s+1:]
-+
-+	switch namespace {
-+	case "user":
-+		return EXTATTR_NAMESPACE_USER, attr, nil
-+	case "system":
-+		return EXTATTR_NAMESPACE_SYSTEM, attr, nil
-+	default:
-+		return -1, "", ENOATTR
-+	}
-+}
-+
-+func initxattrdest(dest []byte, idx int) (d unsafe.Pointer) {
-+	if len(dest) > idx {
-+		return unsafe.Pointer(&dest[idx])
-+	} else {
-+		return unsafe.Pointer(_zero)
-+	}
-+}
-+
-+// FreeBSD and NetBSD implement their own syscalls to handle extended attributes
-+
-+func Getxattr(file string, attr string, dest []byte) (sz int, err error) {
-+	d := initxattrdest(dest, 0)
-+	destsize := len(dest)
-+
-+	nsid, a, err := xattrnamespace(attr)
-+	if err != nil {
-+		return -1, err
-+	}
-+
-+	return ExtattrGetFile(file, nsid, a, uintptr(d), destsize)
-+}
-+
-+func Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) {
-+	d := initxattrdest(dest, 0)
-+	destsize := len(dest)
-+
-+	nsid, a, err := xattrnamespace(attr)
-+	if err != nil {
-+		return -1, err
-+	}
-+
-+	return ExtattrGetFd(fd, nsid, a, uintptr(d), destsize)
-+}
-+
-+func Lgetxattr(link string, attr string, dest []byte) (sz int, err error) {
-+	d := initxattrdest(dest, 0)
-+	destsize := len(dest)
-+
-+	nsid, a, err := xattrnamespace(attr)
-+	if err != nil {
-+		return -1, err
-+	}
-+
-+	return ExtattrGetLink(link, nsid, a, uintptr(d), destsize)
-+}
-+
-+// flags are unused on FreeBSD
-+
-+func Fsetxattr(fd int, attr string, data []byte, flags int) (err error) {
-+	var d unsafe.Pointer
-+	if len(data) > 0 {
-+		d = unsafe.Pointer(&data[0])
-+	}
-+	datasiz := len(data)
-+
-+	nsid, a, err := xattrnamespace(attr)
-+	if err != nil {
-+		return
-+	}
-+
-+	_, err = ExtattrSetFd(fd, nsid, a, uintptr(d), datasiz)
-+	return
-+}
-+
-+func Setxattr(file string, attr string, data []byte, flags int) (err error) {
-+	var d unsafe.Pointer
-+	if len(data) > 0 {
-+		d = unsafe.Pointer(&data[0])
-+	}
-+	datasiz := len(data)
-+
-+	nsid, a, err := xattrnamespace(attr)
-+	if err != nil {
-+		return
-+	}
-+
-+	_, err = ExtattrSetFile(file, nsid, a, uintptr(d), datasiz)
-+	return
-+}
-+
-+func Lsetxattr(link string, attr string, data []byte, flags int) (err error) {
-+	var d unsafe.Pointer
-+	if len(data) > 0 {
-+		d = unsafe.Pointer(&data[0])
-+	}
-+	datasiz := len(data)
-+
-+	nsid, a, err := xattrnamespace(attr)
-+	if err != nil {
-+		return
-+	}
-+
-+	_, err = ExtattrSetLink(link, nsid, a, uintptr(d), datasiz)
-+	return
-+}
-+
-+func Removexattr(file string, attr string) (err error) {
-+	nsid, a, err := xattrnamespace(attr)
-+	if err != nil {
-+		return
-+	}
-+
-+	err = ExtattrDeleteFile(file, nsid, a)
-+	return
-+}
-+
-+func Fremovexattr(fd int, attr string) (err error) {
-+	nsid, a, err := xattrnamespace(attr)
-+	if err != nil {
-+		return
-+	}
-+
-+	err = ExtattrDeleteFd(fd, nsid, a)
-+	return
-+}
-+
-+func Lremovexattr(link string, attr string) (err error) {
-+	nsid, a, err := xattrnamespace(attr)
-+	if err != nil {
-+		return
-+	}
-+
-+	err = ExtattrDeleteLink(link, nsid, a)
-+	return
-+}
-+
-+func Listxattr(file string, dest []byte) (sz int, err error) {
-+	d := initxattrdest(dest, 0)
-+	destsiz := len(dest)
-+
-+	// FreeBSD won't allow you to list xattrs from multiple namespaces
-+	s := 0
-+	for _, nsid := range [...]int{EXTATTR_NAMESPACE_USER, EXTATTR_NAMESPACE_SYSTEM} {
-+		stmp, e := ExtattrListFile(file, nsid, uintptr(d), destsiz)
-+
-+		/* Errors accessing system attrs are ignored so that
-+		 * we can implement the Linux-like behavior of omitting errors that
-+		 * we don't have read permissions on
-+		 *
-+		 * Linux will still error if we ask for user attributes on a file that
-+		 * we don't have read permissions on, so don't ignore those errors
-+		 */
-+		if e != nil && e == EPERM && nsid != EXTATTR_NAMESPACE_USER {
-+			continue
-+		} else if e != nil {
-+			return s, e
-+		}
-+
-+		s += stmp
-+		destsiz -= s
-+		if destsiz < 0 {
-+			destsiz = 0
-+		}
-+		d = initxattrdest(dest, s)
-+	}
-+
-+	return s, nil
-+}
-+
-+func Flistxattr(fd int, dest []byte) (sz int, err error) {
-+	d := initxattrdest(dest, 0)
-+	destsiz := len(dest)
-+
-+	s := 0
-+	for _, nsid := range [...]int{EXTATTR_NAMESPACE_USER, EXTATTR_NAMESPACE_SYSTEM} {
-+		stmp, e := ExtattrListFd(fd, nsid, uintptr(d), destsiz)
-+		if e != nil && e == EPERM && nsid != EXTATTR_NAMESPACE_USER {
-+			continue
-+		} else if e != nil {
-+			return s, e
-+		}
-+
-+		s += stmp
-+		destsiz -= s
-+		if destsiz < 0 {
-+			destsiz = 0
-+		}
-+		d = initxattrdest(dest, s)
-+	}
-+
-+	return s, nil
-+}
-+
-+func Llistxattr(link string, dest []byte) (sz int, err error) {
-+	d := initxattrdest(dest, 0)
-+	destsiz := len(dest)
-+
-+	s := 0
-+	for _, nsid := range [...]int{EXTATTR_NAMESPACE_USER, EXTATTR_NAMESPACE_SYSTEM} {
-+		stmp, e := ExtattrListLink(link, nsid, uintptr(d), destsiz)
-+		if e != nil && e == EPERM && nsid != EXTATTR_NAMESPACE_USER {
-+			continue
-+		} else if e != nil {
-+			return s, e
-+		}
-+
-+		s += stmp
-+		destsiz -= s
-+		if destsiz < 0 {
-+			destsiz = 0
-+		}
-+		d = initxattrdest(dest, s)
-+	}
-+
-+	return s, nil
-+}
-diff --git a/vendor/golang.org/x/sys/unix/zerrors_aix_ppc.go b/vendor/golang.org/x/sys/unix/zerrors_aix_ppc.go
-new file mode 100644
-index 00000000..104994bc
---- /dev/null
-+++ b/vendor/golang.org/x/sys/unix/zerrors_aix_ppc.go
-@@ -0,0 +1,1384 @@
-+// mkerrors.sh -maix32
-+// Code generated by the command above; see README.md. DO NOT EDIT.
-+
-+// +build ppc,aix
-+
-+// Created by cgo -godefs - DO NOT EDIT
-+// cgo -godefs -- -maix32 _const.go
-+
-+package unix
-+
-+import "syscall"
-+
-+const (
-+	AF_APPLETALK                  = 0x10
-+	AF_BYPASS                     = 0x19
-+	AF_CCITT                      = 0xa
-+	AF_CHAOS                      = 0x5
-+	AF_DATAKIT                    = 0x9
-+	AF_DECnet                     = 0xc
-+	AF_DLI                        = 0xd
-+	AF_ECMA                       = 0x8
-+	AF_HYLINK                     = 0xf
-+	AF_IMPLINK                    = 0x3
-+	AF_INET                       = 0x2
-+	AF_INET6                      = 0x18
-+	AF_INTF                       = 0x14
-+	AF_ISO                        = 0x7
-+	AF_LAT                        = 0xe
-+	AF_LINK                       = 0x12
-+	AF_LOCAL                      = 0x1
-+	AF_MAX                        = 0x1e
-+	AF_NDD                        = 0x17
-+	AF_NETWARE                    = 0x16
-+	AF_NS                         = 0x6
-+	AF_OSI                        = 0x7
-+	AF_PUP                        = 0x4
-+	AF_RIF                        = 0x15
-+	AF_ROUTE                      = 0x11
-+	AF_SNA                        = 0xb
-+	AF_UNIX                       = 0x1
-+	AF_UNSPEC                     = 0x0
-+	ALTWERASE                     = 0x400000
-+	ARPHRD_802_3                  = 0x6
-+	ARPHRD_802_5                  = 0x6
-+	ARPHRD_ETHER                  = 0x1
-+	ARPHRD_FDDI                   = 0x1
-+	B0                            = 0x0
-+	B110                          = 0x3
-+	B1200                         = 0x9
-+	B134                          = 0x4
-+	B150                          = 0x5
-+	B1800                         = 0xa
-+	B19200                        = 0xe
-+	B200                          = 0x6
-+	B2400                         = 0xb
-+	B300                          = 0x7
-+	B38400                        = 0xf
-+	B4800                         = 0xc
-+	B50                           = 0x1
-+	B600                          = 0x8
-+	B75                           = 0x2
-+	B9600                         = 0xd
-+	BRKINT                        = 0x2
-+	BS0                           = 0x0
-+	BS1                           = 0x1000
-+	BSDLY                         = 0x1000
-+	CAP_AACCT                     = 0x6
-+	CAP_ARM_APPLICATION           = 0x5
-+	CAP_BYPASS_RAC_VMM            = 0x3
-+	CAP_CLEAR                     = 0x0
-+	CAP_CREDENTIALS               = 0x7
-+	CAP_EFFECTIVE                 = 0x1
-+	CAP_EWLM_AGENT                = 0x4
-+	CAP_INHERITABLE               = 0x2
-+	CAP_MAXIMUM                   = 0x7
-+	CAP_NUMA_ATTACH               = 0x2
-+	CAP_PERMITTED                 = 0x3
-+	CAP_PROPAGATE                 = 0x1
-+	CAP_PROPOGATE                 = 0x1
-+	CAP_SET                       = 0x1
-+	CBAUD                         = 0xf
-+	CFLUSH                        = 0xf
-+	CIBAUD                        = 0xf0000
-+	CLOCAL                        = 0x800
-+	CLOCK_MONOTONIC               = 0xa
-+	CLOCK_PROCESS_CPUTIME_ID      = 0xb
-+	CLOCK_REALTIME                = 0x9
-+	CLOCK_THREAD_CPUTIME_ID       = 0xc
-+	CR0                           = 0x0
-+	CR1                           = 0x100
-+	CR2                           = 0x200
-+	CR3                           = 0x300
-+	CRDLY                         = 0x300
-+	CREAD                         = 0x80
-+	CS5                           = 0x0
-+	CS6                           = 0x10
-+	CS7                           = 0x20
-+	CS8                           = 0x30
-+	CSIOCGIFCONF                  = -0x3ff796dc
-+	CSIZE                         = 0x30
-+	CSMAP_DIR                     = "/usr/lib/nls/csmap/"
-+	CSTART                        = '\021'
-+	CSTOP                         = '\023'
-+	CSTOPB                        = 0x40
-+	CSUSP                         = 0x1a
-+	ECHO                          = 0x8
-+	ECHOCTL                       = 0x20000
-+	ECHOE                         = 0x10
-+	ECHOK                         = 0x20
-+	ECHOKE                        = 0x80000
-+	ECHONL                        = 0x40
-+	ECHOPRT                       = 0x40000
-+	ECH_ICMPID                    = 0x2
-+	ETHERNET_CSMACD               = 0x6
-+	EVENP                         = 0x80
-+	EXCONTINUE                    = 0x0
-+	EXDLOK                        = 0x3
-+	EXIO                          = 0x2
-+	EXPGIO                        = 0x0
-+	EXRESUME                      = 0x2
-+	EXRETURN                      = 0x1
-+	EXSIG                         = 0x4
-+	EXTA                          = 0xe
-+	EXTB                          = 0xf
-+	EXTRAP                        = 0x1
-+	EYEC_RTENTRYA                 = 0x257274656e747241
-+	EYEC_RTENTRYF                 = 0x257274656e747246
-+	E_ACC                         = 0x0
-+	FD_CLOEXEC                    = 0x1
-+	FD_SETSIZE                    = 0xfffe
-+	FF0                           = 0x0
-+	FF1                           = 0x2000
-+	FFDLY                         = 0x2000
-+	FLUSHBAND                     = 0x40
-+	FLUSHLOW                      = 0x8
-+	FLUSHO                        = 0x100000
-+	FLUSHR                        = 0x1
-+	FLUSHRW                       = 0x3
-+	FLUSHW                        = 0x2
-+	F_CLOSEM                      = 0xa
-+	F_DUP2FD                      = 0xe
-+	F_DUPFD                       = 0x0
-+	F_GETFD                       = 0x1
-+	F_GETFL                       = 0x3
-+	F_GETLK                       = 0x5
-+	F_GETLK64                     = 0xb
-+	F_GETOWN                      = 0x8
-+	F_LOCK                        = 0x1
-+	F_OK                          = 0x0
-+	F_RDLCK                       = 0x1
-+	F_SETFD                       = 0x2
-+	F_SETFL                       = 0x4
-+	F_SETLK                       = 0x6
-+	F_SETLK64                     = 0xc
-+	F_SETLKW                      = 0x7
-+	F_SETLKW64                    = 0xd
-+	F_SETOWN                      = 0x9
-+	F_TEST                        = 0x3
-+	F_TLOCK                       = 0x2
-+	F_TSTLK                       = 0xf
-+	F_ULOCK                       = 0x0
-+	F_UNLCK                       = 0x3
-+	F_WRLCK                       = 0x2
-+	HUPCL                         = 0x400
-+	IBSHIFT                       = 0x10
-+	ICANON                        = 0x2
-+	ICMP6_FILTER                  = 0x26
-+	ICMP6_SEC_SEND_DEL            = 0x46
-+	ICMP6_SEC_SEND_GET            = 0x47
-+	ICMP6_SEC_SEND_SET            = 0x44
-+	ICMP6_SEC_SEND_SET_CGA_ADDR   = 0x45
-+	ICRNL                         = 0x100
-+	IEXTEN                        = 0x200000
-+	IFA_FIRSTALIAS                = 0x2000
-+	IFA_ROUTE                     = 0x1
-+	IFF_64BIT                     = 0x4000000
-+	IFF_ALLCAST                   = 0x20000
-+	IFF_ALLMULTI                  = 0x200
-+	IFF_BPF                       = 0x8000000
-+	IFF_BRIDGE                    = 0x40000
-+	IFF_BROADCAST                 = 0x2
-+	IFF_CANTCHANGE                = 0x80c52
-+	IFF_CHECKSUM_OFFLOAD          = 0x10000000
-+	IFF_D1                        = 0x8000
-+	IFF_D2                        = 0x4000
-+	IFF_D3                        = 0x2000
-+	IFF_D4                        = 0x1000
-+	IFF_DEBUG                     = 0x4
-+	IFF_DEVHEALTH                 = 0x4000
-+	IFF_DO_HW_LOOPBACK            = 0x10000
-+	IFF_GROUP_ROUTING             = 0x2000000
-+	IFF_IFBUFMGT                  = 0x800000
-+	IFF_LINK0                     = 0x100000
-+	IFF_LINK1                     = 0x200000
-+	IFF_LINK2                     = 0x400000
-+	IFF_LOOPBACK                  = 0x8
-+	IFF_MULTICAST                 = 0x80000
-+	IFF_NOARP                     = 0x80
-+	IFF_NOECHO                    = 0x800
-+	IFF_NOTRAILERS                = 0x20
-+	IFF_OACTIVE                   = 0x400
-+	IFF_POINTOPOINT               = 0x10
-+	IFF_PROMISC                   = 0x100
-+	IFF_PSEG                      = 0x40000000
-+	IFF_RUNNING                   = 0x40
-+	IFF_SIMPLEX                   = 0x800
-+	IFF_SNAP                      = 0x8000
-+	IFF_TCP_DISABLE_CKSUM         = 0x20000000
-+	IFF_TCP_NOCKSUM               = 0x1000000
-+	IFF_UP                        = 0x1
-+	IFF_VIPA                      = 0x80000000
-+	IFNAMSIZ                      = 0x10
-+	IFO_FLUSH                     = 0x1
-+	IFT_1822                      = 0x2
-+	IFT_AAL5                      = 0x31
-+	IFT_ARCNET                    = 0x23
-+	IFT_ARCNETPLUS                = 0x24
-+	IFT_ATM                       = 0x25
-+	IFT_CEPT                      = 0x13
-+	IFT_CLUSTER                   = 0x3e
-+	IFT_DS3                       = 0x1e
-+	IFT_EON                       = 0x19
-+	IFT_ETHER                     = 0x6
-+	IFT_FCS                       = 0x3a
-+	IFT_FDDI                      = 0xf
-+	IFT_FRELAY                    = 0x20
-+	IFT_FRELAYDCE                 = 0x2c
-+	IFT_GIFTUNNEL                 = 0x3c
-+	IFT_HDH1822                   = 0x3
-+	IFT_HF                        = 0x3d
-+	IFT_HIPPI                     = 0x2f
-+	IFT_HSSI                      = 0x2e
-+	IFT_HY                        = 0xe
-+	IFT_IB                        = 0xc7
-+	IFT_ISDNBASIC                 = 0x14
-+	IFT_ISDNPRIMARY               = 0x15
-+	IFT_ISO88022LLC               = 0x29
-+	IFT_ISO88023                  = 0x7
-+	IFT_ISO88024                  = 0x8
-+	IFT_ISO88025                  = 0x9
-+	IFT_ISO88026                  = 0xa
-+	IFT_LAPB                      = 0x10
-+	IFT_LOCALTALK                 = 0x2a
-+	IFT_LOOP                      = 0x18
-+	IFT_MIOX25                    = 0x26
-+	IFT_MODEM                     = 0x30
-+	IFT_NSIP                      = 0x1b
-+	IFT_OTHER                     = 0x1
-+	IFT_P10                       = 0xc
-+	IFT_P80                       = 0xd
-+	IFT_PARA                      = 0x22
-+	IFT_PPP                       = 0x17
-+	IFT_PROPMUX                   = 0x36
-+	IFT_PROPVIRTUAL               = 0x35
-+	IFT_PTPSERIAL                 = 0x16
-+	IFT_RS232                     = 0x21
-+	IFT_SDLC                      = 0x11
-+	IFT_SIP                       = 0x1f
-+	IFT_SLIP                      = 0x1c
-+	IFT_SMDSDXI                   = 0x2b
-+	IFT_SMDSICIP                  = 0x34
-+	IFT_SN                        = 0x38
-+	IFT_SONET                     = 0x27
-+	IFT_SONETPATH                 = 0x32
-+	IFT_SONETVT                   = 0x33
-+	IFT_SP                        = 0x39
-+	IFT_STARLAN                   = 0xb
-+	IFT_T1                        = 0x12
-+	IFT_TUNNEL                    = 0x3b
-+	IFT_ULTRA                     = 0x1d
-+	IFT_V35                       = 0x2d
-+	IFT_VIPA                      = 0x37
-+	IFT_X25                       = 0x5
-+	IFT_X25DDN                    = 0x4
-+	IFT_X25PLE                    = 0x28
-+	IFT_XETHER                    = 0x1a
-+	IGNBRK                        = 0x1
-+	IGNCR                         = 0x80
-+	IGNPAR                        = 0x4
-+	IMAXBEL                       = 0x10000
-+	INLCR                         = 0x40
-+	INPCK                         = 0x10
-+	IN_CLASSA_HOST                = 0xffffff
-+	IN_CLASSA_MAX                 = 0x80
-+	IN_CLASSA_NET                 = 0xff000000
-+	IN_CLASSA_NSHIFT              = 0x18
-+	IN_CLASSB_HOST                = 0xffff
-+	IN_CLASSB_MAX                 = 0x10000
-+	IN_CLASSB_NET                 = 0xffff0000
-+	IN_CLASSB_NSHIFT              = 0x10
-+	IN_CLASSC_HOST                = 0xff
-+	IN_CLASSC_NET                 = 0xffffff00
-+	IN_CLASSC_NSHIFT              = 0x8
-+	IN_CLASSD_HOST                = 0xfffffff
-+	IN_CLASSD_NET                 = 0xf0000000
-+	IN_CLASSD_NSHIFT              = 0x1c
-+	IN_LOOPBACKNET                = 0x7f
-+	IN_USE                        = 0x1
-+	IPPROTO_AH                    = 0x33
-+	IPPROTO_BIP                   = 0x53
-+	IPPROTO_DSTOPTS               = 0x3c
-+	IPPROTO_EGP                   = 0x8
-+	IPPROTO_EON                   = 0x50
-+	IPPROTO_ESP                   = 0x32
-+	IPPROTO_FRAGMENT              = 0x2c
-+	IPPROTO_GGP                   = 0x3
-+	IPPROTO_GIF                   = 0x8c
-+	IPPROTO_GRE                   = 0x2f
-+	IPPROTO_HOPOPTS               = 0x0
-+	IPPROTO_ICMP                  = 0x1
-+	IPPROTO_ICMPV6                = 0x3a
-+	IPPROTO_IDP                   = 0x16
-+	IPPROTO_IGMP                  = 0x2
-+	IPPROTO_IP                    = 0x0
-+	IPPROTO_IPIP                  = 0x4
-+	IPPROTO_IPV6                  = 0x29
-+	IPPROTO_LOCAL                 = 0x3f
-+	IPPROTO_MAX                   = 0x100
-+	IPPROTO_MH                    = 0x87
-+	IPPROTO_NONE                  = 0x3b
-+	IPPROTO_PUP                   = 0xc
-+	IPPROTO_QOS                   = 0x2d
-+	IPPROTO_RAW                   = 0xff
-+	IPPROTO_ROUTING               = 0x2b
-+	IPPROTO_RSVP                  = 0x2e
-+	IPPROTO_SCTP                  = 0x84
-+	IPPROTO_TCP                   = 0x6
-+	IPPROTO_TP                    = 0x1d
-+	IPPROTO_UDP                   = 0x11
-+	IPV6_ADDRFORM                 = 0x16
-+	IPV6_ADDR_PREFERENCES         = 0x4a
-+	IPV6_ADD_MEMBERSHIP           = 0xc
-+	IPV6_AIXRAWSOCKET             = 0x39
-+	IPV6_CHECKSUM                 = 0x27
-+	IPV6_DONTFRAG                 = 0x2d
-+	IPV6_DROP_MEMBERSHIP          = 0xd
-+	IPV6_DSTOPTS                  = 0x36
-+	IPV6_FLOWINFO_FLOWLABEL       = 0xffffff
-+	IPV6_FLOWINFO_PRIFLOW         = 0xfffffff
-+	IPV6_FLOWINFO_PRIORITY        = 0xf000000
-+	IPV6_FLOWINFO_SRFLAG          = 0x10000000
-+	IPV6_FLOWINFO_VERSION         = 0xf0000000
-+	IPV6_HOPLIMIT                 = 0x28
-+	IPV6_HOPOPTS                  = 0x34
-+	IPV6_JOIN_GROUP               = 0xc
-+	IPV6_LEAVE_GROUP              = 0xd
-+	IPV6_MIPDSTOPTS               = 0x36
-+	IPV6_MULTICAST_HOPS           = 0xa
-+	IPV6_MULTICAST_IF             = 0x9
-+	IPV6_MULTICAST_LOOP           = 0xb
-+	IPV6_NEXTHOP                  = 0x30
-+	IPV6_NOPROBE                  = 0x1c
-+	IPV6_PATHMTU                  = 0x2e
-+	IPV6_PKTINFO                  = 0x21
-+	IPV6_PKTOPTIONS               = 0x24
-+	IPV6_PRIORITY_10              = 0xa000000
-+	IPV6_PRIORITY_11              = 0xb000000
-+	IPV6_PRIORITY_12              = 0xc000000
-+	IPV6_PRIORITY_13              = 0xd000000
-+	IPV6_PRIORITY_14              = 0xe000000
-+	IPV6_PRIORITY_15              = 0xf000000
-+	IPV6_PRIORITY_8               = 0x8000000
-+	IPV6_PRIORITY_9               = 0x9000000
-+	IPV6_PRIORITY_BULK            = 0x4000000
-+	IPV6_PRIORITY_CONTROL         = 0x7000000
-+	IPV6_PRIORITY_FILLER          = 0x1000000
-+	IPV6_PRIORITY_INTERACTIVE     = 0x6000000
-+	IPV6_PRIORITY_RESERVED1       = 0x3000000
-+	IPV6_PRIORITY_RESERVED2       = 0x5000000
-+	IPV6_PRIORITY_UNATTENDED      = 0x2000000
-+	IPV6_PRIORITY_UNCHARACTERIZED = 0x0
-+	IPV6_RECVDSTOPTS              = 0x38
-+	IPV6_RECVHOPLIMIT             = 0x29
-+	IPV6_RECVHOPOPTS              = 0x35
-+	IPV6_RECVHOPS                 = 0x22
-+	IPV6_RECVIF                   = 0x1e
-+	IPV6_RECVPATHMTU              = 0x2f
-+	IPV6_RECVPKTINFO              = 0x23
-+	IPV6_RECVRTHDR                = 0x33
-+	IPV6_RECVSRCRT                = 0x1d
-+	IPV6_RECVTCLASS               = 0x2a
-+	IPV6_RTHDR                    = 0x32
-+	IPV6_RTHDRDSTOPTS             = 0x37
-+	IPV6_RTHDR_TYPE_0             = 0x0
-+	IPV6_RTHDR_TYPE_2             = 0x2
-+	IPV6_SENDIF                   = 0x1f
-+	IPV6_SRFLAG_LOOSE             = 0x0
-+	IPV6_SRFLAG_STRICT            = 0x10000000
-+	IPV6_TCLASS                   = 0x2b
-+	IPV6_TOKEN_LENGTH             = 0x40
-+	IPV6_UNICAST_HOPS             = 0x4
-+	IPV6_USE_MIN_MTU              = 0x2c
-+	IPV6_V6ONLY                   = 0x25
-+	IPV6_VERSION                  = 0x60000000
-+	IP_ADDRFORM                   = 0x16
-+	IP_ADD_MEMBERSHIP             = 0xc
-+	IP_ADD_SOURCE_MEMBERSHIP      = 0x3c
-+	IP_BLOCK_SOURCE               = 0x3a
-+	IP_BROADCAST_IF               = 0x10
-+	IP_CACHE_LINE_SIZE            = 0x80
-+	IP_DEFAULT_MULTICAST_LOOP     = 0x1
-+	IP_DEFAULT_MULTICAST_TTL      = 0x1
-+	IP_DF                         = 0x4000
-+	IP_DHCPMODE                   = 0x11
-+	IP_DONTFRAG                   = 0x19
-+	IP_DROP_MEMBERSHIP            = 0xd
-+	IP_DROP_SOURCE_MEMBERSHIP     = 0x3d
-+	IP_FINDPMTU                   = 0x1a
-+	IP_HDRINCL                    = 0x2
-+	IP_INC_MEMBERSHIPS            = 0x14
-+	IP_INIT_MEMBERSHIP            = 0x14
-+	IP_MAXPACKET                  = 0xffff
-+	IP_MF                         = 0x2000
-+	IP_MSS                        = 0x240
-+	IP_MULTICAST_HOPS             = 0xa
-+	IP_MULTICAST_IF               = 0x9
-+	IP_MULTICAST_LOOP             = 0xb
-+	IP_MULTICAST_TTL              = 0xa
-+	IP_OPT                        = 0x1b
-+	IP_OPTIONS                    = 0x1
-+	IP_PMTUAGE                    = 0x1b
-+	IP_RECVDSTADDR                = 0x7
-+	IP_RECVIF                     = 0x14
-+	IP_RECVIFINFO                 = 0xf
-+	IP_RECVINTERFACE              = 0x20
-+	IP_RECVMACHDR                 = 0xe
-+	IP_RECVOPTS                   = 0x5
-+	IP_RECVRETOPTS                = 0x6
-+	IP_RECVTTL                    = 0x22
-+	IP_RETOPTS                    = 0x8
-+	IP_SOURCE_FILTER              = 0x48
-+	IP_TOS                        = 0x3
-+	IP_TTL                        = 0x4
-+	IP_UNBLOCK_SOURCE             = 0x3b
-+	IP_UNICAST_HOPS               = 0x4
-+	ISIG                          = 0x1
-+	ISTRIP                        = 0x20
-+	IUCLC                         = 0x800
-+	IXANY                         = 0x1000
-+	IXOFF                         = 0x400
-+	IXON                          = 0x200
-+	I_FLUSH                       = 0x20005305
-+	LNOFLSH                       = 0x8000
-+	LOCK_EX                       = 0x2
-+	LOCK_NB                       = 0x4
-+	LOCK_SH                       = 0x1
-+	LOCK_UN                       = 0x8
-+	MADV_DONTNEED                 = 0x4
-+	MADV_NORMAL                   = 0x0
-+	MADV_RANDOM                   = 0x1
-+	MADV_SEQUENTIAL               = 0x2
-+	MADV_SPACEAVAIL               = 0x5
-+	MADV_WILLNEED                 = 0x3
-+	MAP_ANON                      = 0x10
-+	MAP_ANONYMOUS                 = 0x10
-+	MAP_FILE                      = 0x0
-+	MAP_FIXED                     = 0x100
-+	MAP_PRIVATE                   = 0x2
-+	MAP_SHARED                    = 0x1
-+	MAP_TYPE                      = 0xf0
-+	MAP_VARIABLE                  = 0x0
-+	MCAST_BLOCK_SOURCE            = 0x40
-+	MCAST_EXCLUDE                 = 0x2
-+	MCAST_INCLUDE                 = 0x1
-+	MCAST_JOIN_GROUP              = 0x3e
-+	MCAST_JOIN_SOURCE_GROUP       = 0x42
-+	MCAST_LEAVE_GROUP             = 0x3f
-+	MCAST_LEAVE_SOURCE_GROUP      = 0x43
-+	MCAST_SOURCE_FILTER           = 0x49
-+	MCAST_UNBLOCK_SOURCE          = 0x41
-+	MCL_CURRENT                   = 0x100
-+	MCL_FUTURE                    = 0x200
-+	MSG_ANY                       = 0x4
-+	MSG_ARGEXT                    = 0x400
-+	MSG_BAND                      = 0x2
-+	MSG_COMPAT                    = 0x8000
-+	MSG_CTRUNC                    = 0x20
-+	MSG_DONTROUTE                 = 0x4
-+	MSG_EOR                       = 0x8
-+	MSG_HIPRI                     = 0x1
-+	MSG_MAXIOVLEN                 = 0x10
-+	MSG_MPEG2                     = 0x80
-+	MSG_NONBLOCK                  = 0x4000
-+	MSG_NOSIGNAL                  = 0x100
-+	MSG_OOB                       = 0x1
-+	MSG_PEEK                      = 0x2
-+	MSG_TRUNC                     = 0x10
-+	MSG_WAITALL                   = 0x40
-+	MSG_WAITFORONE                = 0x200
-+	MS_ASYNC                      = 0x10
-+	MS_EINTR                      = 0x80
-+	MS_INVALIDATE                 = 0x40
-+	MS_PER_SEC                    = 0x3e8
-+	MS_SYNC                       = 0x20
-+	NFDBITS                       = 0x20
-+	NL0                           = 0x0
-+	NL1                           = 0x4000
-+	NL2                           = 0x8000
-+	NL3                           = 0xc000
-+	NLDLY                         = 0x4000
-+	NOFLSH                        = 0x80
-+	NOFLUSH                       = 0x80000000
-+	OCRNL                         = 0x8
-+	OFDEL                         = 0x80
-+	OFILL                         = 0x40
-+	OLCUC                         = 0x2
-+	ONLCR                         = 0x4
-+	ONLRET                        = 0x20
-+	ONOCR                         = 0x10
-+	ONOEOT                        = 0x80000
-+	OPOST                         = 0x1
-+	OXTABS                        = 0x40000
-+	O_ACCMODE                     = 0x23
-+	O_APPEND                      = 0x8
-+	O_CIO                         = 0x80
-+	O_CIOR                        = 0x800000000
-+	O_CLOEXEC                     = 0x800000
-+	O_CREAT                       = 0x100
-+	O_DEFER                       = 0x2000
-+	O_DELAY                       = 0x4000
-+	O_DIRECT                      = 0x8000000
-+	O_DIRECTORY                   = 0x80000
-+	O_DSYNC                       = 0x400000
-+	O_EFSOFF                      = 0x400000000
-+	O_EFSON                       = 0x200000000
-+	O_EXCL                        = 0x400
-+	O_EXEC                        = 0x20
-+	O_LARGEFILE                   = 0x4000000
-+	O_NDELAY                      = 0x8000
-+	O_NOCACHE                     = 0x100000
-+	O_NOCTTY                      = 0x800
-+	O_NOFOLLOW                    = 0x1000000
-+	O_NONBLOCK                    = 0x4
-+	O_NONE                        = 0x3
-+	O_NSHARE                      = 0x10000
-+	O_RAW                         = 0x100000000
-+	O_RDONLY                      = 0x0
-+	O_RDWR                        = 0x2
-+	O_RSHARE                      = 0x1000
-+	O_RSYNC                       = 0x200000
-+	O_SEARCH                      = 0x20
-+	O_SNAPSHOT                    = 0x40
-+	O_SYNC                        = 0x10
-+	O_TRUNC                       = 0x200
-+	O_TTY_INIT                    = 0x0
-+	O_WRONLY                      = 0x1
-+	PARENB                        = 0x100
-+	PAREXT                        = 0x100000
-+	PARMRK                        = 0x8
-+	PARODD                        = 0x200
-+	PENDIN                        = 0x20000000
-+	PRIO_PGRP                     = 0x1
-+	PRIO_PROCESS                  = 0x0
-+	PRIO_USER                     = 0x2
-+	PROT_EXEC                     = 0x4
-+	PROT_NONE                     = 0x0
-+	PROT_READ                     = 0x1
-+	PROT_WRITE                    = 0x2
-+	PR_64BIT                      = 0x20
-+	PR_ADDR                       = 0x2
-+	PR_ARGEXT                     = 0x400
-+	PR_ATOMIC                     = 0x1
-+	PR_CONNREQUIRED               = 0x4
-+	PR_FASTHZ                     = 0x5
-+	PR_INP                        = 0x40
-+	PR_INTRLEVEL                  = 0x8000
-+	PR_MLS                        = 0x100
-+	PR_MLS_1_LABEL                = 0x200
-+	PR_NOEOR                      = 0x4000
-+	PR_RIGHTS                     = 0x10
-+	PR_SLOWHZ                     = 0x2
-+	PR_WANTRCVD                   = 0x8
-+	RLIMIT_AS                     = 0x6
-+	RLIMIT_CORE                   = 0x4
-+	RLIMIT_CPU                    = 0x0
-+	RLIMIT_DATA                   = 0x2
-+	RLIMIT_FSIZE                  = 0x1
-+	RLIMIT_NOFILE                 = 0x7
-+	RLIMIT_NPROC                  = 0x9
-+	RLIMIT_RSS                    = 0x5
-+	RLIMIT_STACK                  = 0x3
-+	RLIM_INFINITY                 = 0x7fffffff
-+	RTAX_AUTHOR                   = 0x6
-+	RTAX_BRD                      = 0x7
-+	RTAX_DST                      = 0x0
-+	RTAX_GATEWAY                  = 0x1
-+	RTAX_GENMASK                  = 0x3
-+	RTAX_IFA                      = 0x5
-+	RTAX_IFP                      = 0x4
-+	RTAX_MAX                      = 0x8
-+	RTAX_NETMASK                  = 0x2
-+	RTA_AUTHOR                    = 0x40
-+	RTA_BRD                       = 0x80
-+	RTA_DOWNSTREAM                = 0x100
-+	RTA_DST                       = 0x1
-+	RTA_GATEWAY                   = 0x2
-+	RTA_GENMASK                   = 0x8
-+	RTA_IFA                       = 0x20
-+	RTA_IFP                       = 0x10
-+	RTA_NETMASK                   = 0x4
-+	RTC_IA64                      = 0x3
-+	RTC_POWER                     = 0x1
-+	RTC_POWER_PC                  = 0x2
-+	RTF_ACTIVE_DGD                = 0x1000000
-+	RTF_BCE                       = 0x80000
-+	RTF_BLACKHOLE                 = 0x1000
-+	RTF_BROADCAST                 = 0x400000
-+	RTF_BUL                       = 0x2000
-+	RTF_CLONE                     = 0x10000
-+	RTF_CLONED                    = 0x20000
-+	RTF_CLONING                   = 0x100
-+	RTF_DONE                      = 0x40
-+	RTF_DYNAMIC                   = 0x10
-+	RTF_FREE_IN_PROG              = 0x4000000
-+	RTF_GATEWAY                   = 0x2
-+	RTF_HOST                      = 0x4
-+	RTF_LLINFO                    = 0x400
-+	RTF_LOCAL                     = 0x200000
-+	RTF_MASK                      = 0x80
-+	RTF_MODIFIED                  = 0x20
-+	RTF_MULTICAST                 = 0x800000
-+	RTF_PERMANENT6                = 0x8000000
-+	RTF_PINNED                    = 0x100000
-+	RTF_PROTO1                    = 0x8000
-+	RTF_PROTO2                    = 0x4000
-+	RTF_PROTO3                    = 0x40000
-+	RTF_REJECT                    = 0x8
-+	RTF_SMALLMTU                  = 0x40000
-+	RTF_STATIC                    = 0x800
-+	RTF_STOPSRCH                  = 0x2000000
-+	RTF_UNREACHABLE               = 0x10000000
-+	RTF_UP                        = 0x1
-+	RTF_XRESOLVE                  = 0x200
-+	RTM_ADD                       = 0x1
-+	RTM_CHANGE                    = 0x3
-+	RTM_DELADDR                   = 0xd
-+	RTM_DELETE                    = 0x2
-+	RTM_EXPIRE                    = 0xf
-+	RTM_GET                       = 0x4
-+	RTM_GETNEXT                   = 0x11
-+	RTM_IFINFO                    = 0xe
-+	RTM_LOCK                      = 0x8
-+	RTM_LOSING                    = 0x5
-+	RTM_MISS                      = 0x7
-+	RTM_NEWADDR                   = 0xc
-+	RTM_OLDADD                    = 0x9
-+	RTM_OLDDEL                    = 0xa
-+	RTM_REDIRECT                  = 0x6
-+	RTM_RESOLVE                   = 0xb
-+	RTM_RTLOST                    = 0x10
-+	RTM_RTTUNIT                   = 0xf4240
-+	RTM_SAMEADDR                  = 0x12
-+	RTM_SET                       = 0x13
-+	RTM_VERSION                   = 0x2
-+	RTM_VERSION_GR                = 0x4
-+	RTM_VERSION_GR_COMPAT         = 0x3
-+	RTM_VERSION_POLICY            = 0x5
-+	RTM_VERSION_POLICY_EXT        = 0x6
-+	RTM_VERSION_POLICY_PRFN       = 0x7
-+	RTV_EXPIRE                    = 0x4
-+	RTV_HOPCOUNT                  = 0x2
-+	RTV_MTU                       = 0x1
-+	RTV_RPIPE                     = 0x8
-+	RTV_RTT                       = 0x40
-+	RTV_RTTVAR                    = 0x80
-+	RTV_SPIPE                     = 0x10
-+	RTV_SSTHRESH                  = 0x20
-+	RUSAGE_CHILDREN               = -0x1
-+	RUSAGE_SELF                   = 0x0
-+	RUSAGE_THREAD                 = 0x1
-+	SCM_RIGHTS                    = 0x1
-+	SHUT_RD                       = 0x0
-+	SHUT_RDWR                     = 0x2
-+	SHUT_WR                       = 0x1
-+	SIGMAX64                      = 0xff
-+	SIGQUEUE_MAX                  = 0x20
-+	SIOCADDIFVIPA                 = 0x20006942
-+	SIOCADDMTU                    = -0x7ffb9690
-+	SIOCADDMULTI                  = -0x7fdf96cf
-+	SIOCADDNETID                  = -0x7fd796a9
-+	SIOCADDRT                     = -0x7fcf8df6
-+	SIOCAIFADDR                   = -0x7fbf96e6
-+	SIOCATMARK                    = 0x40047307
-+	SIOCDARP                      = -0x7fb396e0
-+	SIOCDELIFVIPA                 = 0x20006943
-+	SIOCDELMTU                    = -0x7ffb968f
-+	SIOCDELMULTI                  = -0x7fdf96ce
-+	SIOCDELPMTU                   = -0x7fd78ff6
-+	SIOCDELRT                     = -0x7fcf8df5
-+	SIOCDIFADDR                   = -0x7fd796e7
-+	SIOCDNETOPT                   = -0x3ffe9680
-+	SIOCDX25XLATE                 = -0x7fd7969b
-+	SIOCFIFADDR                   = -0x7fdf966d
-+	SIOCGARP                      = -0x3fb396da
-+	SIOCGETMTUS                   = 0x2000696f
-+	SIOCGETSGCNT                  = -0x3feb8acc
-+	SIOCGETVIFCNT                 = -0x3feb8acd
-+	SIOCGHIWAT                    = 0x40047301
-+	SIOCGIFADDR                   = -0x3fd796df
-+	SIOCGIFADDRS                  = 0x2000698c
-+	SIOCGIFBAUDRATE               = -0x3fdf9669
-+	SIOCGIFBRDADDR                = -0x3fd796dd
-+	SIOCGIFCONF                   = -0x3ff796bb
-+	SIOCGIFCONFGLOB               = -0x3ff79670
-+	SIOCGIFDSTADDR                = -0x3fd796de
-+	SIOCGIFFLAGS                  = -0x3fd796ef
-+	SIOCGIFGIDLIST                = 0x20006968
-+	SIOCGIFHWADDR                 = -0x3fab966b
-+	SIOCGIFMETRIC                 = -0x3fd796e9
-+	SIOCGIFMTU                    = -0x3fd796aa
-+	SIOCGIFNETMASK                = -0x3fd796db
-+	SIOCGIFOPTIONS                = -0x3fd796d6
-+	SIOCGISNO                     = -0x3fd79695
-+	SIOCGLOADF                    = -0x3ffb967e
-+	SIOCGLOWAT                    = 0x40047303
-+	SIOCGNETOPT                   = -0x3ffe96a5
-+	SIOCGNETOPT1                  = -0x3fdf967f
-+	SIOCGNMTUS                    = 0x2000696e
-+	SIOCGPGRP                     = 0x40047309
-+	SIOCGSIZIFCONF                = 0x4004696a
-+	SIOCGSRCFILTER                = -0x3fe796cb
-+	SIOCGTUNEPHASE                = -0x3ffb9676
-+	SIOCGX25XLATE                 = -0x3fd7969c
-+	SIOCIFATTACH                  = -0x7fdf9699
-+	SIOCIFDETACH                  = -0x7fdf969a
-+	SIOCIFGETPKEY                 = -0x7fdf969b
-+	SIOCIF_ATM_DARP               = -0x7fdf9683
-+	SIOCIF_ATM_DUMPARP            = -0x7fdf9685
-+	SIOCIF_ATM_GARP               = -0x7fdf9682
-+	SIOCIF_ATM_IDLE               = -0x7fdf9686
-+	SIOCIF_ATM_SARP               = -0x7fdf9681
-+	SIOCIF_ATM_SNMPARP            = -0x7fdf9687
-+	SIOCIF_ATM_SVC                = -0x7fdf9684
-+	SIOCIF_ATM_UBR                = -0x7fdf9688
-+	SIOCIF_DEVHEALTH              = -0x7ffb966c
-+	SIOCIF_IB_ARP_INCOMP          = -0x7fdf9677
-+	SIOCIF_IB_ARP_TIMER           = -0x7fdf9678
-+	SIOCIF_IB_CLEAR_PINFO         = -0x3fdf966f
-+	SIOCIF_IB_DEL_ARP             = -0x7fdf967f
-+	SIOCIF_IB_DEL_PINFO           = -0x3fdf9670
-+	SIOCIF_IB_DUMP_ARP            = -0x7fdf9680
-+	SIOCIF_IB_GET_ARP             = -0x7fdf967e
-+	SIOCIF_IB_GET_INFO            = -0x3f879675
-+	SIOCIF_IB_GET_STATS           = -0x3f879672
-+	SIOCIF_IB_NOTIFY_ADDR_REM     = -0x3f87966a
-+	SIOCIF_IB_RESET_STATS         = -0x3f879671
-+	SIOCIF_IB_RESIZE_CQ           = -0x7fdf9679
-+	SIOCIF_IB_SET_ARP             = -0x7fdf967d
-+	SIOCIF_IB_SET_PKEY            = -0x7fdf967c
-+	SIOCIF_IB_SET_PORT            = -0x7fdf967b
-+	SIOCIF_IB_SET_QKEY            = -0x7fdf9676
-+	SIOCIF_IB_SET_QSIZE           = -0x7fdf967a
-+	SIOCLISTIFVIPA                = 0x20006944
-+	SIOCSARP                      = -0x7fb396e2
-+	SIOCSHIWAT                    = 0x80047300
-+	SIOCSIFADDR                   = -0x7fd796f4
-+	SIOCSIFADDRORI                = -0x7fdb9673
-+	SIOCSIFBRDADDR                = -0x7fd796ed
-+	SIOCSIFDSTADDR                = -0x7fd796f2
-+	SIOCSIFFLAGS                  = -0x7fd796f0
-+	SIOCSIFGIDLIST                = 0x20006969
-+	SIOCSIFMETRIC                 = -0x7fd796e8
-+	SIOCSIFMTU                    = -0x7fd796a8
-+	SIOCSIFNETDUMP                = -0x7fd796e4
-+	SIOCSIFNETMASK                = -0x7fd796ea
-+	SIOCSIFOPTIONS                = -0x7fd796d7
-+	SIOCSIFSUBCHAN                = -0x7fd796e5
-+	SIOCSISNO                     = -0x7fd79694
-+	SIOCSLOADF                    = -0x3ffb967d
-+	SIOCSLOWAT                    = 0x80047302
-+	SIOCSNETOPT                   = -0x7ffe96a6
-+	SIOCSPGRP                     = 0x80047308
-+	SIOCSX25XLATE                 = -0x7fd7969d
-+	SOCK_CONN_DGRAM               = 0x6
-+	SOCK_DGRAM                    = 0x2
-+	SOCK_RAW                      = 0x3
-+	SOCK_RDM                      = 0x4
-+	SOCK_SEQPACKET                = 0x5
-+	SOCK_STREAM                   = 0x1
-+	SOL_SOCKET                    = 0xffff
-+	SOMAXCONN                     = 0x400
-+	SO_ACCEPTCONN                 = 0x2
-+	SO_AUDIT                      = 0x8000
-+	SO_BROADCAST                  = 0x20
-+	SO_CKSUMRECV                  = 0x800
-+	SO_DEBUG                      = 0x1
-+	SO_DONTROUTE                  = 0x10
-+	SO_ERROR                      = 0x1007
-+	SO_KEEPALIVE                  = 0x8
-+	SO_KERNACCEPT                 = 0x2000
-+	SO_LINGER                     = 0x80
-+	SO_NOMULTIPATH                = 0x4000
-+	SO_NOREUSEADDR                = 0x1000
-+	SO_OOBINLINE                  = 0x100
-+	SO_PEERID                     = 0x1009
-+	SO_RCVBUF                     = 0x1002
-+	SO_RCVLOWAT                   = 0x1004
-+	SO_RCVTIMEO                   = 0x1006
-+	SO_REUSEADDR                  = 0x4
-+	SO_REUSEPORT                  = 0x200
-+	SO_SNDBUF                     = 0x1001
-+	SO_SNDLOWAT                   = 0x1003
-+	SO_SNDTIMEO                   = 0x1005
-+	SO_TIMESTAMPNS                = 0x100a
-+	SO_TYPE                       = 0x1008
-+	SO_USELOOPBACK                = 0x40
-+	SO_USE_IFBUFS                 = 0x400
-+	S_BANDURG                     = 0x400
-+	S_EMODFMT                     = 0x3c000000
-+	S_ENFMT                       = 0x400
-+	S_ERROR                       = 0x100
-+	S_HANGUP                      = 0x200
-+	S_HIPRI                       = 0x2
-+	S_ICRYPTO                     = 0x80000
-+	S_IEXEC                       = 0x40
-+	S_IFBLK                       = 0x6000
-+	S_IFCHR                       = 0x2000
-+	S_IFDIR                       = 0x4000
-+	S_IFIFO                       = 0x1000
-+	S_IFJOURNAL                   = 0x10000
-+	S_IFLNK                       = 0xa000
-+	S_IFMPX                       = 0x2200
-+	S_IFMT                        = 0xf000
-+	S_IFPDIR                      = 0x4000000
-+	S_IFPSDIR                     = 0x8000000
-+	S_IFPSSDIR                    = 0xc000000
-+	S_IFREG                       = 0x8000
-+	S_IFSOCK                      = 0xc000
-+	S_IFSYSEA                     = 0x30000000
-+	S_INPUT                       = 0x1
-+	S_IREAD                       = 0x100
-+	S_IRGRP                       = 0x20
-+	S_IROTH                       = 0x4
-+	S_IRUSR                       = 0x100
-+	S_IRWXG                       = 0x38
-+	S_IRWXO                       = 0x7
-+	S_IRWXU                       = 0x1c0
-+	S_ISGID                       = 0x400
-+	S_ISUID                       = 0x800
-+	S_ISVTX                       = 0x200
-+	S_ITCB                        = 0x1000000
-+	S_ITP                         = 0x800000
-+	S_IWGRP                       = 0x10
-+	S_IWOTH                       = 0x2
-+	S_IWRITE                      = 0x80
-+	S_IWUSR                       = 0x80
-+	S_IXACL                       = 0x2000000
-+	S_IXATTR                      = 0x40000
-+	S_IXGRP                       = 0x8
-+	S_IXINTERFACE                 = 0x100000
-+	S_IXMOD                       = 0x40000000
-+	S_IXOTH                       = 0x1
-+	S_IXUSR                       = 0x40
-+	S_MSG                         = 0x8
-+	S_OUTPUT                      = 0x4
-+	S_RDBAND                      = 0x20
-+	S_RDNORM                      = 0x10
-+	S_RESERVED1                   = 0x20000
-+	S_RESERVED2                   = 0x200000
-+	S_RESERVED3                   = 0x400000
-+	S_RESERVED4                   = 0x80000000
-+	S_RESFMT1                     = 0x10000000
-+	S_RESFMT10                    = 0x34000000
-+	S_RESFMT11                    = 0x38000000
-+	S_RESFMT12                    = 0x3c000000
-+	S_RESFMT2                     = 0x14000000
-+	S_RESFMT3                     = 0x18000000
-+	S_RESFMT4                     = 0x1c000000
-+	S_RESFMT5                     = 0x20000000
-+	S_RESFMT6                     = 0x24000000
-+	S_RESFMT7                     = 0x28000000
-+	S_RESFMT8                     = 0x2c000000
-+	S_WRBAND                      = 0x80
-+	S_WRNORM                      = 0x40
-+	TAB0                          = 0x0
-+	TAB1                          = 0x400
-+	TAB2                          = 0x800
-+	TAB3                          = 0xc00
-+	TABDLY                        = 0xc00
-+	TCFLSH                        = 0x540c
-+	TCGETA                        = 0x5405
-+	TCGETS                        = 0x5401
-+	TCIFLUSH                      = 0x0
-+	TCIOFF                        = 0x2
-+	TCIOFLUSH                     = 0x2
-+	TCION                         = 0x3
-+	TCOFLUSH                      = 0x1
-+	TCOOFF                        = 0x0
-+	TCOON                         = 0x1
-+	TCP_24DAYS_WORTH_OF_SLOWTICKS = 0x3f4800
-+	TCP_ACLADD                    = 0x23
-+	TCP_ACLBIND                   = 0x26
-+	TCP_ACLCLEAR                  = 0x22
-+	TCP_ACLDEL                    = 0x24
-+	TCP_ACLDENY                   = 0x8
-+	TCP_ACLFLUSH                  = 0x21
-+	TCP_ACLGID                    = 0x1
-+	TCP_ACLLS                     = 0x25
-+	TCP_ACLSUBNET                 = 0x4
-+	TCP_ACLUID                    = 0x2
-+	TCP_CWND_DF                   = 0x16
-+	TCP_CWND_IF                   = 0x15
-+	TCP_DELAY_ACK_FIN             = 0x2
-+	TCP_DELAY_ACK_SYN             = 0x1
-+	TCP_FASTNAME                  = 0x101080a
-+	TCP_KEEPCNT                   = 0x13
-+	TCP_KEEPIDLE                  = 0x11
-+	TCP_KEEPINTVL                 = 0x12
-+	TCP_LSPRIV                    = 0x29
-+	TCP_LUID                      = 0x20
-+	TCP_MAXBURST                  = 0x8
-+	TCP_MAXDF                     = 0x64
-+	TCP_MAXIF                     = 0x64
-+	TCP_MAXSEG                    = 0x2
-+	TCP_MAXWIN                    = 0xffff
-+	TCP_MAXWINDOWSCALE            = 0xe
-+	TCP_MAX_SACK                  = 0x4
-+	TCP_MSS                       = 0x5b4
-+	TCP_NODELAY                   = 0x1
-+	TCP_NODELAYACK                = 0x14
-+	TCP_NOREDUCE_CWND_EXIT_FRXMT  = 0x19
-+	TCP_NOREDUCE_CWND_IN_FRXMT    = 0x18
-+	TCP_NOTENTER_SSTART           = 0x17
-+	TCP_OPT                       = 0x19
-+	TCP_RFC1323                   = 0x4
-+	TCP_SETPRIV                   = 0x27
-+	TCP_STDURG                    = 0x10
-+	TCP_TIMESTAMP_OPTLEN          = 0xc
-+	TCP_UNSETPRIV                 = 0x28
-+	TCSAFLUSH                     = 0x2
-+	TCSBRK                        = 0x5409
-+	TCSETA                        = 0x5406
-+	TCSETAF                       = 0x5408
-+	TCSETAW                       = 0x5407
-+	TCSETS                        = 0x5402
-+	TCSETSF                       = 0x5404
-+	TCSETSW                       = 0x5403
-+	TCXONC                        = 0x540b
-+	TIMER_ABSTIME                 = 0x3e7
-+	TIMER_MAX                     = 0x20
-+	TIOC                          = 0x5400
-+	TIOCCBRK                      = 0x2000747a
-+	TIOCCDTR                      = 0x20007478
-+	TIOCCONS                      = 0x80047462
-+	TIOCEXCL                      = 0x2000740d
-+	TIOCFLUSH                     = 0x80047410
-+	TIOCGETC                      = 0x40067412
-+	TIOCGETD                      = 0x40047400
-+	TIOCGETP                      = 0x40067408
-+	TIOCGLTC                      = 0x40067474
-+	TIOCGPGRP                     = 0x40047477
-+	TIOCGSID                      = 0x40047448
-+	TIOCGSIZE                     = 0x40087468
-+	TIOCGWINSZ                    = 0x40087468
-+	TIOCHPCL                      = 0x20007402
-+	TIOCLBIC                      = 0x8004747e
-+	TIOCLBIS                      = 0x8004747f
-+	TIOCLGET                      = 0x4004747c
-+	TIOCLSET                      = 0x8004747d
-+	TIOCMBIC                      = 0x8004746b
-+	TIOCMBIS                      = 0x8004746c
-+	TIOCMGET                      = 0x4004746a
-+	TIOCMIWAIT                    = 0x80047464
-+	TIOCMODG                      = 0x40047403
-+	TIOCMODS                      = 0x80047404
-+	TIOCMSET                      = 0x8004746d
-+	TIOCM_CAR                     = 0x40
-+	TIOCM_CD                      = 0x40
-+	TIOCM_CTS                     = 0x20
-+	TIOCM_DSR                     = 0x100
-+	TIOCM_DTR                     = 0x2
-+	TIOCM_LE                      = 0x1
-+	TIOCM_RI                      = 0x80
-+	TIOCM_RNG                     = 0x80
-+	TIOCM_RTS                     = 0x4
-+	TIOCM_SR                      = 0x10
-+	TIOCM_ST                      = 0x8
-+	TIOCNOTTY                     = 0x20007471
-+	TIOCNXCL                      = 0x2000740e
-+	TIOCOUTQ                      = 0x40047473
-+	TIOCPKT                       = 0x80047470
-+	TIOCPKT_DATA                  = 0x0
-+	TIOCPKT_DOSTOP                = 0x20
-+	TIOCPKT_FLUSHREAD             = 0x1
-+	TIOCPKT_FLUSHWRITE            = 0x2
-+	TIOCPKT_NOSTOP                = 0x10
-+	TIOCPKT_START                 = 0x8
-+	TIOCPKT_STOP                  = 0x4
-+	TIOCREMOTE                    = 0x80047469
-+	TIOCSBRK                      = 0x2000747b
-+	TIOCSDTR                      = 0x20007479
-+	TIOCSETC                      = 0x80067411
-+	TIOCSETD                      = 0x80047401
-+	TIOCSETN                      = 0x8006740a
-+	TIOCSETP                      = 0x80067409
-+	TIOCSLTC                      = 0x80067475
-+	TIOCSPGRP                     = 0x80047476
-+	TIOCSSIZE                     = 0x80087467
-+	TIOCSTART                     = 0x2000746e
-+	TIOCSTI                       = 0x80017472
-+	TIOCSTOP                      = 0x2000746f
-+	TIOCSWINSZ                    = 0x80087467
-+	TIOCUCNTL                     = 0x80047466
-+	TOSTOP                        = 0x10000
-+	UTIME_NOW                     = -0x2
-+	UTIME_OMIT                    = -0x3
-+	VDISCRD                       = 0xc
-+	VDSUSP                        = 0xa
-+	VEOF                          = 0x4
-+	VEOL                          = 0x5
-+	VEOL2                         = 0x6
-+	VERASE                        = 0x2
-+	VINTR                         = 0x0
-+	VKILL                         = 0x3
-+	VLNEXT                        = 0xe
-+	VMIN                          = 0x4
-+	VQUIT                         = 0x1
-+	VREPRINT                      = 0xb
-+	VSTART                        = 0x7
-+	VSTOP                         = 0x8
-+	VSTRT                         = 0x7
-+	VSUSP                         = 0x9
-+	VT0                           = 0x0
-+	VT1                           = 0x8000
-+	VTDELAY                       = 0x2000
-+	VTDLY                         = 0x8000
-+	VTIME                         = 0x5
-+	VWERSE                        = 0xd
-+	WPARSTART                     = 0x1
-+	WPARSTOP                      = 0x2
-+	WPARTTYNAME                   = "Global"
-+	XCASE                         = 0x4
-+	XTABS                         = 0xc00
-+	_FDATAFLUSH                   = 0x2000000000
-+)
-+
-+// Errors
-+const (
-+	E2BIG           = syscall.Errno(0x7)
-+	EACCES          = syscall.Errno(0xd)
-+	EADDRINUSE      = syscall.Errno(0x43)
-+	EADDRNOTAVAIL   = syscall.Errno(0x44)
-+	EAFNOSUPPORT    = syscall.Errno(0x42)
-+	EAGAIN          = syscall.Errno(0xb)
-+	EALREADY        = syscall.Errno(0x38)
-+	EBADF           = syscall.Errno(0x9)
-+	EBADMSG         = syscall.Errno(0x78)
-+	EBUSY           = syscall.Errno(0x10)
-+	ECANCELED       = syscall.Errno(0x75)
-+	ECHILD          = syscall.Errno(0xa)
-+	ECHRNG          = syscall.Errno(0x25)
-+	ECLONEME        = syscall.Errno(0x52)
-+	ECONNABORTED    = syscall.Errno(0x48)
-+	ECONNREFUSED    = syscall.Errno(0x4f)
-+	ECONNRESET      = syscall.Errno(0x49)
-+	ECORRUPT        = syscall.Errno(0x59)
-+	EDEADLK         = syscall.Errno(0x2d)
-+	EDESTADDREQ     = syscall.Errno(0x3a)
-+	EDESTADDRREQ    = syscall.Errno(0x3a)
-+	EDIST           = syscall.Errno(0x35)
-+	EDOM            = syscall.Errno(0x21)
-+	EDQUOT          = syscall.Errno(0x58)
-+	EEXIST          = syscall.Errno(0x11)
-+	EFAULT          = syscall.Errno(0xe)
-+	EFBIG           = syscall.Errno(0x1b)
-+	EFORMAT         = syscall.Errno(0x30)
-+	EHOSTDOWN       = syscall.Errno(0x50)
-+	EHOSTUNREACH    = syscall.Errno(0x51)
-+	EIDRM           = syscall.Errno(0x24)
-+	EILSEQ          = syscall.Errno(0x74)
-+	EINPROGRESS     = syscall.Errno(0x37)
-+	EINTR           = syscall.Errno(0x4)
-+	EINVAL          = syscall.Errno(0x16)
-+	EIO             = syscall.Errno(0x5)
-+	EISCONN         = syscall.Errno(0x4b)
-+	EISDIR          = syscall.Errno(0x15)
-+	EL2HLT          = syscall.Errno(0x2c)
-+	EL2NSYNC        = syscall.Errno(0x26)
-+	EL3HLT          = syscall.Errno(0x27)
-+	EL3RST          = syscall.Errno(0x28)
-+	ELNRNG          = syscall.Errno(0x29)
-+	ELOOP           = syscall.Errno(0x55)
-+	EMEDIA          = syscall.Errno(0x6e)
-+	EMFILE          = syscall.Errno(0x18)
-+	EMLINK          = syscall.Errno(0x1f)
-+	EMSGSIZE        = syscall.Errno(0x3b)
-+	EMULTIHOP       = syscall.Errno(0x7d)
-+	ENAMETOOLONG    = syscall.Errno(0x56)
-+	ENETDOWN        = syscall.Errno(0x45)
-+	ENETRESET       = syscall.Errno(0x47)
-+	ENETUNREACH     = syscall.Errno(0x46)
-+	ENFILE          = syscall.Errno(0x17)
-+	ENOATTR         = syscall.Errno(0x70)
-+	ENOBUFS         = syscall.Errno(0x4a)
-+	ENOCONNECT      = syscall.Errno(0x32)
-+	ENOCSI          = syscall.Errno(0x2b)
-+	ENODATA         = syscall.Errno(0x7a)
-+	ENODEV          = syscall.Errno(0x13)
-+	ENOENT          = syscall.Errno(0x2)
-+	ENOEXEC         = syscall.Errno(0x8)
-+	ENOLCK          = syscall.Errno(0x31)
-+	ENOLINK         = syscall.Errno(0x7e)
-+	ENOMEM          = syscall.Errno(0xc)
-+	ENOMSG          = syscall.Errno(0x23)
-+	ENOPROTOOPT     = syscall.Errno(0x3d)
-+	ENOSPC          = syscall.Errno(0x1c)
-+	ENOSR           = syscall.Errno(0x76)
-+	ENOSTR          = syscall.Errno(0x7b)
-+	ENOSYS          = syscall.Errno(0x6d)
-+	ENOTBLK         = syscall.Errno(0xf)
-+	ENOTCONN        = syscall.Errno(0x4c)
-+	ENOTDIR         = syscall.Errno(0x14)
-+	ENOTEMPTY       = syscall.Errno(0x11)
-+	ENOTREADY       = syscall.Errno(0x2e)
-+	ENOTRECOVERABLE = syscall.Errno(0x5e)
-+	ENOTRUST        = syscall.Errno(0x72)
-+	ENOTSOCK        = syscall.Errno(0x39)
-+	ENOTSUP         = syscall.Errno(0x7c)
-+	ENOTTY          = syscall.Errno(0x19)
-+	ENXIO           = syscall.Errno(0x6)
-+	EOPNOTSUPP      = syscall.Errno(0x40)
-+	EOVERFLOW       = syscall.Errno(0x7f)
-+	EOWNERDEAD      = syscall.Errno(0x5f)
-+	EPERM           = syscall.Errno(0x1)
-+	EPFNOSUPPORT    = syscall.Errno(0x41)
-+	EPIPE           = syscall.Errno(0x20)
-+	EPROCLIM        = syscall.Errno(0x53)
-+	EPROTO          = syscall.Errno(0x79)
-+	EPROTONOSUPPORT = syscall.Errno(0x3e)
-+	EPROTOTYPE      = syscall.Errno(0x3c)
-+	ERANGE          = syscall.Errno(0x22)
-+	EREMOTE         = syscall.Errno(0x5d)
-+	ERESTART        = syscall.Errno(0x52)
-+	EROFS           = syscall.Errno(0x1e)
-+	ESAD            = syscall.Errno(0x71)
-+	ESHUTDOWN       = syscall.Errno(0x4d)
-+	ESOCKTNOSUPPORT = syscall.Errno(0x3f)
-+	ESOFT           = syscall.Errno(0x6f)
-+	ESPIPE          = syscall.Errno(0x1d)
-+	ESRCH           = syscall.Errno(0x3)
-+	ESTALE          = syscall.Errno(0x34)
-+	ESYSERROR       = syscall.Errno(0x5a)
-+	ETIME           = syscall.Errno(0x77)
-+	ETIMEDOUT       = syscall.Errno(0x4e)
-+	ETOOMANYREFS    = syscall.Errno(0x73)
-+	ETXTBSY         = syscall.Errno(0x1a)
-+	EUNATCH         = syscall.Errno(0x2a)
-+	EUSERS          = syscall.Errno(0x54)
-+	EWOULDBLOCK     = syscall.Errno(0xb)
-+	EWRPROTECT      = syscall.Errno(0x2f)
-+	EXDEV           = syscall.Errno(0x12)
-+)
-+
-+// Signals
-+const (
-+	SIGABRT     = syscall.Signal(0x6)
-+	SIGAIO      = syscall.Signal(0x17)
-+	SIGALRM     = syscall.Signal(0xe)
-+	SIGALRM1    = syscall.Signal(0x26)
-+	SIGBUS      = syscall.Signal(0xa)
-+	SIGCAPI     = syscall.Signal(0x31)
-+	SIGCHLD     = syscall.Signal(0x14)
-+	SIGCLD      = syscall.Signal(0x14)
-+	SIGCONT     = syscall.Signal(0x13)
-+	SIGCPUFAIL  = syscall.Signal(0x3b)
-+	SIGDANGER   = syscall.Signal(0x21)
-+	SIGEMT      = syscall.Signal(0x7)
-+	SIGFPE      = syscall.Signal(0x8)
-+	SIGGRANT    = syscall.Signal(0x3c)
-+	SIGHUP      = syscall.Signal(0x1)
-+	SIGILL      = syscall.Signal(0x4)
-+	SIGINT      = syscall.Signal(0x2)
-+	SIGIO       = syscall.Signal(0x17)
-+	SIGIOINT    = syscall.Signal(0x10)
-+	SIGIOT      = syscall.Signal(0x6)
-+	SIGKAP      = syscall.Signal(0x3c)
-+	SIGKILL     = syscall.Signal(0x9)
-+	SIGLOST     = syscall.Signal(0x6)
-+	SIGMAX      = syscall.Signal(0x3f)
-+	SIGMAX32    = syscall.Signal(0x3f)
-+	SIGMIGRATE  = syscall.Signal(0x23)
-+	SIGMSG      = syscall.Signal(0x1b)
-+	SIGPIPE     = syscall.Signal(0xd)
-+	SIGPOLL     = syscall.Signal(0x17)
-+	SIGPRE      = syscall.Signal(0x24)
-+	SIGPROF     = syscall.Signal(0x20)
-+	SIGPTY      = syscall.Signal(0x17)
-+	SIGPWR      = syscall.Signal(0x1d)
-+	SIGQUIT     = syscall.Signal(0x3)
-+	SIGRECONFIG = syscall.Signal(0x3a)
-+	SIGRETRACT  = syscall.Signal(0x3d)
-+	SIGSAK      = syscall.Signal(0x3f)
-+	SIGSEGV     = syscall.Signal(0xb)
-+	SIGSOUND    = syscall.Signal(0x3e)
-+	SIGSTOP     = syscall.Signal(0x11)
-+	SIGSYS      = syscall.Signal(0xc)
-+	SIGSYSERROR = syscall.Signal(0x30)
-+	SIGTALRM    = syscall.Signal(0x26)
-+	SIGTERM     = syscall.Signal(0xf)
-+	SIGTRAP     = syscall.Signal(0x5)
-+	SIGTSTP     = syscall.Signal(0x12)
-+	SIGTTIN     = syscall.Signal(0x15)
-+	SIGTTOU     = syscall.Signal(0x16)
-+	SIGURG      = syscall.Signal(0x10)
-+	SIGUSR1     = syscall.Signal(0x1e)
-+	SIGUSR2     = syscall.Signal(0x1f)
-+	SIGVIRT     = syscall.Signal(0x25)
-+	SIGVTALRM   = syscall.Signal(0x22)
-+	SIGWAITING  = syscall.Signal(0x27)
-+	SIGWINCH    = syscall.Signal(0x1c)
-+	SIGXCPU     = syscall.Signal(0x18)
-+	SIGXFSZ     = syscall.Signal(0x19)
-+)
-+
-+// Error table
-+var errorList = [...]struct {
-+	num  syscall.Errno
-+	name string
-+	desc string
-+}{
-+	{1, "EPERM", "not owner"},
-+	{2, "ENOENT", "no such file or directory"},
-+	{3, "ESRCH", "no such process"},
-+	{4, "EINTR", "interrupted system call"},
-+	{5, "EIO", "I/O error"},
-+	{6, "ENXIO", "no such device or address"},
-+	{7, "E2BIG", "arg list too long"},
-+	{8, "ENOEXEC", "exec format error"},
-+	{9, "EBADF", "bad file number"},
-+	{10, "ECHILD", "no child processes"},
-+	{11, "EWOULDBLOCK", "resource temporarily unavailable"},
-+	{12, "ENOMEM", "not enough space"},
-+	{13, "EACCES", "permission denied"},
-+	{14, "EFAULT", "bad address"},
-+	{15, "ENOTBLK", "block device required"},
-+	{16, "EBUSY", "device busy"},
-+	{17, "ENOTEMPTY", "file exists"},
-+	{18, "EXDEV", "cross-device link"},
-+	{19, "ENODEV", "no such device"},
-+	{20, "ENOTDIR", "not a directory"},
-+	{21, "EISDIR", "is a directory"},
-+	{22, "EINVAL", "invalid argument"},
-+	{23, "ENFILE", "file table overflow"},
-+	{24, "EMFILE", "too many open files"},
-+	{25, "ENOTTY", "not a typewriter"},
-+	{26, "ETXTBSY", "text file busy"},
-+	{27, "EFBIG", "file too large"},
-+	{28, "ENOSPC", "no space left on device"},
-+	{29, "ESPIPE", "illegal seek"},
-+	{30, "EROFS", "read-only file system"},
-+	{31, "EMLINK", "too many links"},
-+	{32, "EPIPE", "broken pipe"},
-+	{33, "EDOM", "argument out of domain"},
-+	{34, "ERANGE", "result too large"},
-+	{35, "ENOMSG", "no message of desired type"},
-+	{36, "EIDRM", "identifier removed"},
-+	{37, "ECHRNG", "channel number out of range"},
-+	{38, "EL2NSYNC", "level 2 not synchronized"},
-+	{39, "EL3HLT", "level 3 halted"},
-+	{40, "EL3RST", "level 3 reset"},
-+	{41, "ELNRNG", "link number out of range"},
-+	{42, "EUNATCH", "protocol driver not attached"},
-+	{43, "ENOCSI", "no CSI structure available"},
-+	{44, "EL2HLT", "level 2 halted"},
-+	{45, "EDEADLK", "deadlock condition if locked"},
-+	{46, "ENOTREADY", "device not ready"},
-+	{47, "EWRPROTECT", "write-protected media"},
-+	{48, "EFORMAT", "unformatted or incompatible media"},
-+	{49, "ENOLCK", "no locks available"},
-+	{50, "ENOCONNECT", "cannot Establish Connection"},
-+	{52, "ESTALE", "missing file or filesystem"},
-+	{53, "EDIST", "requests blocked by Administrator"},
-+	{55, "EINPROGRESS", "operation now in progress"},
-+	{56, "EALREADY", "operation already in progress"},
-+	{57, "ENOTSOCK", "socket operation on non-socket"},
-+	{58, "EDESTADDREQ", "destination address required"},
-+	{59, "EMSGSIZE", "message too long"},
-+	{60, "EPROTOTYPE", "protocol wrong type for socket"},
-+	{61, "ENOPROTOOPT", "protocol not available"},
-+	{62, "EPROTONOSUPPORT", "protocol not supported"},
-+	{63, "ESOCKTNOSUPPORT", "socket type not supported"},
-+	{64, "EOPNOTSUPP", "operation not supported on socket"},
-+	{65, "EPFNOSUPPORT", "protocol family not supported"},
-+	{66, "EAFNOSUPPORT", "addr family not supported by protocol"},
-+	{67, "EADDRINUSE", "address already in use"},
-+	{68, "EADDRNOTAVAIL", "can't assign requested address"},
-+	{69, "ENETDOWN", "network is down"},
-+	{70, "ENETUNREACH", "network is unreachable"},
-+	{71, "ENETRESET", "network dropped connection on reset"},
-+	{72, "ECONNABORTED", "software caused connection abort"},
-+	{73, "ECONNRESET", "connection reset by peer"},
-+	{74, "ENOBUFS", "no buffer space available"},
-+	{75, "EISCONN", "socket is already connected"},
-+	{76, "ENOTCONN", "socket is not connected"},
-+	{77, "ESHUTDOWN", "can't send after socket shutdown"},
-+	{78, "ETIMEDOUT", "connection timed out"},
-+	{79, "ECONNREFUSED", "connection refused"},
-+	{80, "EHOSTDOWN", "host is down"},
-+	{81, "EHOSTUNREACH", "no route to host"},
-+	{82, "ERESTART", "restart the system call"},
-+	{83, "EPROCLIM", "too many processes"},
-+	{84, "EUSERS", "too many users"},
-+	{85, "ELOOP", "too many levels of symbolic links"},
-+	{86, "ENAMETOOLONG", "file name too long"},
-+	{88, "EDQUOT", "disk quota exceeded"},
-+	{89, "ECORRUPT", "invalid file system control data detected"},
-+	{90, "ESYSERROR", "for future use "},
-+	{93, "EREMOTE", "item is not local to host"},
-+	{94, "ENOTRECOVERABLE", "state not recoverable "},
-+	{95, "EOWNERDEAD", "previous owner died "},
-+	{109, "ENOSYS", "function not implemented"},
-+	{110, "EMEDIA", "media surface error"},
-+	{111, "ESOFT", "I/O completed, but needs relocation"},
-+	{112, "ENOATTR", "no attribute found"},
-+	{113, "ESAD", "security Authentication Denied"},
-+	{114, "ENOTRUST", "not a Trusted Program"},
-+	{115, "ETOOMANYREFS", "too many references: can't splice"},
-+	{116, "EILSEQ", "invalid wide character"},
-+	{117, "ECANCELED", "asynchronous I/O cancelled"},
-+	{118, "ENOSR", "out of STREAMS resources"},
-+	{119, "ETIME", "system call timed out"},
-+	{120, "EBADMSG", "next message has wrong type"},
-+	{121, "EPROTO", "error in protocol"},
-+	{122, "ENODATA", "no message on stream head read q"},
-+	{123, "ENOSTR", "fd not associated with a stream"},
-+	{124, "ENOTSUP", "unsupported attribute value"},
-+	{125, "EMULTIHOP", "multihop is not allowed"},
-+	{126, "ENOLINK", "the server link has been severed"},
-+	{127, "EOVERFLOW", "value too large to be stored in data type"},
-+}
-+
-+// Signal table
-+var signalList = [...]struct {
-+	num  syscall.Signal
-+	name string
-+	desc string
-+}{
-+	{1, "SIGHUP", "hangup"},
-+	{2, "SIGINT", "interrupt"},
-+	{3, "SIGQUIT", "quit"},
-+	{4, "SIGILL", "illegal instruction"},
-+	{5, "SIGTRAP", "trace/BPT trap"},
-+	{6, "SIGIOT", "IOT/Abort trap"},
-+	{7, "SIGEMT", "EMT trap"},
-+	{8, "SIGFPE", "floating point exception"},
-+	{9, "SIGKILL", "killed"},
-+	{10, "SIGBUS", "bus error"},
-+	{11, "SIGSEGV", "segmentation fault"},
-+	{12, "SIGSYS", "bad system call"},
-+	{13, "SIGPIPE", "broken pipe"},
-+	{14, "SIGALRM", "alarm clock"},
-+	{15, "SIGTERM", "terminated"},
-+	{16, "SIGURG", "urgent I/O condition"},
-+	{17, "SIGSTOP", "stopped (signal)"},
-+	{18, "SIGTSTP", "stopped"},
-+	{19, "SIGCONT", "continued"},
-+	{20, "SIGCHLD", "child exited"},
-+	{21, "SIGTTIN", "stopped (tty input)"},
-+	{22, "SIGTTOU", "stopped (tty output)"},
-+	{23, "SIGIO", "I/O possible/complete"},
-+	{24, "SIGXCPU", "cputime limit exceeded"},
-+	{25, "SIGXFSZ", "filesize limit exceeded"},
-+	{27, "SIGMSG", "input device data"},
-+	{28, "SIGWINCH", "window size changes"},
-+	{29, "SIGPWR", "power-failure"},
-+	{30, "SIGUSR1", "user defined signal 1"},
-+	{31, "SIGUSR2", "user defined signal 2"},
-+	{32, "SIGPROF", "profiling timer expired"},
-+	{33, "SIGDANGER", "paging space low"},
-+	{34, "SIGVTALRM", "virtual timer expired"},
-+	{35, "SIGMIGRATE", "signal 35"},
-+	{36, "SIGPRE", "signal 36"},
-+	{37, "SIGVIRT", "signal 37"},
-+	{38, "SIGTALRM", "signal 38"},
-+	{39, "SIGWAITING", "signal 39"},
-+	{48, "SIGSYSERROR", "signal 48"},
-+	{49, "SIGCAPI", "signal 49"},
-+	{58, "SIGRECONFIG", "signal 58"},
-+	{59, "SIGCPUFAIL", "CPU Failure Predicted"},
-+	{60, "SIGKAP", "monitor mode granted"},
-+	{61, "SIGRETRACT", "monitor mode retracted"},
-+	{62, "SIGSOUND", "sound completed"},
-+	{63, "SIGSAK", "secure attention"},
-+}
-diff --git a/vendor/golang.org/x/sys/unix/zerrors_aix_ppc64.go b/vendor/golang.org/x/sys/unix/zerrors_aix_ppc64.go
-new file mode 100644
-index 00000000..4fc8d306
---- /dev/null
-+++ b/vendor/golang.org/x/sys/unix/zerrors_aix_ppc64.go
-@@ -0,0 +1,1385 @@
-+// mkerrors.sh -maix64
-+// Code generated by the command above; see README.md. DO NOT EDIT.
-+
-+// +build ppc64,aix
-+
-+// Code generated by cmd/cgo -godefs; DO NOT EDIT.
-+// cgo -godefs -- -maix64 _const.go
-+
-+package unix
-+
-+import "syscall"
-+
-+const (
-+	AF_APPLETALK                  = 0x10
-+	AF_BYPASS                     = 0x19
-+	AF_CCITT                      = 0xa
-+	AF_CHAOS                      = 0x5
-+	AF_DATAKIT                    = 0x9
-+	AF_DECnet                     = 0xc
-+	AF_DLI                        = 0xd
-+	AF_ECMA                       = 0x8
-+	AF_HYLINK                     = 0xf
-+	AF_IMPLINK                    = 0x3
-+	AF_INET                       = 0x2
-+	AF_INET6                      = 0x18
-+	AF_INTF                       = 0x14
-+	AF_ISO                        = 0x7
-+	AF_LAT                        = 0xe
-+	AF_LINK                       = 0x12
-+	AF_LOCAL                      = 0x1
-+	AF_MAX                        = 0x1e
-+	AF_NDD                        = 0x17
-+	AF_NETWARE                    = 0x16
-+	AF_NS                         = 0x6
-+	AF_OSI                        = 0x7
-+	AF_PUP                        = 0x4
-+	AF_RIF                        = 0x15
-+	AF_ROUTE                      = 0x11
-+	AF_SNA                        = 0xb
-+	AF_UNIX                       = 0x1
-+	AF_UNSPEC                     = 0x0
-+	ALTWERASE                     = 0x400000
-+	ARPHRD_802_3                  = 0x6
-+	ARPHRD_802_5                  = 0x6
-+	ARPHRD_ETHER                  = 0x1
-+	ARPHRD_FDDI                   = 0x1
-+	B0                            = 0x0
-+	B110                          = 0x3
-+	B1200                         = 0x9
-+	B134                          = 0x4
-+	B150                          = 0x5
-+	B1800                         = 0xa
-+	B19200                        = 0xe
-+	B200                          = 0x6
-+	B2400                         = 0xb
-+	B300                          = 0x7
-+	B38400                        = 0xf
-+	B4800                         = 0xc
-+	B50                           = 0x1
-+	B600                          = 0x8
-+	B75                           = 0x2
-+	B9600                         = 0xd
-+	BRKINT                        = 0x2
-+	BS0                           = 0x0
-+	BS1                           = 0x1000
-+	BSDLY                         = 0x1000
-+	CAP_AACCT                     = 0x6
-+	CAP_ARM_APPLICATION           = 0x5
-+	CAP_BYPASS_RAC_VMM            = 0x3
-+	CAP_CLEAR                     = 0x0
-+	CAP_CREDENTIALS               = 0x7
-+	CAP_EFFECTIVE                 = 0x1
-+	CAP_EWLM_AGENT                = 0x4
-+	CAP_INHERITABLE               = 0x2
-+	CAP_MAXIMUM                   = 0x7
-+	CAP_NUMA_ATTACH               = 0x2
-+	CAP_PERMITTED                 = 0x3
-+	CAP_PROPAGATE                 = 0x1
-+	CAP_PROPOGATE                 = 0x1
-+	CAP_SET                       = 0x1
-+	CBAUD                         = 0xf
-+	CFLUSH                        = 0xf
-+	CIBAUD                        = 0xf0000
-+	CLOCAL                        = 0x800
-+	CLOCK_MONOTONIC               = 0xa
-+	CLOCK_PROCESS_CPUTIME_ID      = 0xb
-+	CLOCK_REALTIME                = 0x9
-+	CLOCK_THREAD_CPUTIME_ID       = 0xc
-+	CR0                           = 0x0
-+	CR1                           = 0x100
-+	CR2                           = 0x200
-+	CR3                           = 0x300
-+	CRDLY                         = 0x300
-+	CREAD                         = 0x80
-+	CS5                           = 0x0
-+	CS6                           = 0x10
-+	CS7                           = 0x20
-+	CS8                           = 0x30
-+	CSIOCGIFCONF                  = -0x3fef96dc
-+	CSIZE                         = 0x30
-+	CSMAP_DIR                     = "/usr/lib/nls/csmap/"
-+	CSTART                        = '\021'
-+	CSTOP                         = '\023'
-+	CSTOPB                        = 0x40
-+	CSUSP                         = 0x1a
-+	ECHO                          = 0x8
-+	ECHOCTL                       = 0x20000
-+	ECHOE                         = 0x10
-+	ECHOK                         = 0x20
-+	ECHOKE                        = 0x80000
-+	ECHONL                        = 0x40
-+	ECHOPRT                       = 0x40000
-+	ECH_ICMPID                    = 0x2
-+	ETHERNET_CSMACD               = 0x6
-+	EVENP                         = 0x80
-+	EXCONTINUE                    = 0x0
-+	EXDLOK                        = 0x3
-+	EXIO                          = 0x2
-+	EXPGIO                        = 0x0
-+	EXRESUME                      = 0x2
-+	EXRETURN                      = 0x1
-+	EXSIG                         = 0x4
-+	EXTA                          = 0xe
-+	EXTB                          = 0xf
-+	EXTRAP                        = 0x1
-+	EYEC_RTENTRYA                 = 0x257274656e747241
-+	EYEC_RTENTRYF                 = 0x257274656e747246
-+	E_ACC                         = 0x0
-+	FD_CLOEXEC                    = 0x1
-+	FD_SETSIZE                    = 0xfffe
-+	FF0                           = 0x0
-+	FF1                           = 0x2000
-+	FFDLY                         = 0x2000
-+	FLUSHBAND                     = 0x40
-+	FLUSHLOW                      = 0x8
-+	FLUSHO                        = 0x100000
-+	FLUSHR                        = 0x1
-+	FLUSHRW                       = 0x3
-+	FLUSHW                        = 0x2
-+	F_CLOSEM                      = 0xa
-+	F_DUP2FD                      = 0xe
-+	F_DUPFD                       = 0x0
-+	F_GETFD                       = 0x1
-+	F_GETFL                       = 0x3
-+	F_GETLK                       = 0xb
-+	F_GETLK64                     = 0xb
-+	F_GETOWN                      = 0x8
-+	F_LOCK                        = 0x1
-+	F_OK                          = 0x0
-+	F_RDLCK                       = 0x1
-+	F_SETFD                       = 0x2
-+	F_SETFL                       = 0x4
-+	F_SETLK                       = 0xc
-+	F_SETLK64                     = 0xc
-+	F_SETLKW                      = 0xd
-+	F_SETLKW64                    = 0xd
-+	F_SETOWN                      = 0x9
-+	F_TEST                        = 0x3
-+	F_TLOCK                       = 0x2
-+	F_TSTLK                       = 0xf
-+	F_ULOCK                       = 0x0
-+	F_UNLCK                       = 0x3
-+	F_WRLCK                       = 0x2
-+	HUPCL                         = 0x400
-+	IBSHIFT                       = 0x10
-+	ICANON                        = 0x2
-+	ICMP6_FILTER                  = 0x26
-+	ICMP6_SEC_SEND_DEL            = 0x46
-+	ICMP6_SEC_SEND_GET            = 0x47
-+	ICMP6_SEC_SEND_SET            = 0x44
-+	ICMP6_SEC_SEND_SET_CGA_ADDR   = 0x45
-+	ICRNL                         = 0x100
-+	IEXTEN                        = 0x200000
-+	IFA_FIRSTALIAS                = 0x2000
-+	IFA_ROUTE                     = 0x1
-+	IFF_64BIT                     = 0x4000000
-+	IFF_ALLCAST                   = 0x20000
-+	IFF_ALLMULTI                  = 0x200
-+	IFF_BPF                       = 0x8000000
-+	IFF_BRIDGE                    = 0x40000
-+	IFF_BROADCAST                 = 0x2
-+	IFF_CANTCHANGE                = 0x80c52
-+	IFF_CHECKSUM_OFFLOAD          = 0x10000000
-+	IFF_D1                        = 0x8000
-+	IFF_D2                        = 0x4000
-+	IFF_D3                        = 0x2000
-+	IFF_D4                        = 0x1000
-+	IFF_DEBUG                     = 0x4
-+	IFF_DEVHEALTH                 = 0x4000
-+	IFF_DO_HW_LOOPBACK            = 0x10000
-+	IFF_GROUP_ROUTING             = 0x2000000
-+	IFF_IFBUFMGT                  = 0x800000
-+	IFF_LINK0                     = 0x100000
-+	IFF_LINK1                     = 0x200000
-+	IFF_LINK2                     = 0x400000
-+	IFF_LOOPBACK                  = 0x8
-+	IFF_MULTICAST                 = 0x80000
-+	IFF_NOARP                     = 0x80
-+	IFF_NOECHO                    = 0x800
-+	IFF_NOTRAILERS                = 0x20
-+	IFF_OACTIVE                   = 0x400
-+	IFF_POINTOPOINT               = 0x10
-+	IFF_PROMISC                   = 0x100
-+	IFF_PSEG                      = 0x40000000
-+	IFF_RUNNING                   = 0x40
-+	IFF_SIMPLEX                   = 0x800
-+	IFF_SNAP                      = 0x8000
-+	IFF_TCP_DISABLE_CKSUM         = 0x20000000
-+	IFF_TCP_NOCKSUM               = 0x1000000
-+	IFF_UP                        = 0x1
-+	IFF_VIPA                      = 0x80000000
-+	IFNAMSIZ                      = 0x10
-+	IFO_FLUSH                     = 0x1
-+	IFT_1822                      = 0x2
-+	IFT_AAL5                      = 0x31
-+	IFT_ARCNET                    = 0x23
-+	IFT_ARCNETPLUS                = 0x24
-+	IFT_ATM                       = 0x25
-+	IFT_CEPT                      = 0x13
-+	IFT_CLUSTER                   = 0x3e
-+	IFT_DS3                       = 0x1e
-+	IFT_EON                       = 0x19
-+	IFT_ETHER                     = 0x6
-+	IFT_FCS                       = 0x3a
-+	IFT_FDDI                      = 0xf
-+	IFT_FRELAY                    = 0x20
-+	IFT_FRELAYDCE                 = 0x2c
-+	IFT_GIFTUNNEL                 = 0x3c
-+	IFT_HDH1822                   = 0x3
-+	IFT_HF                        = 0x3d
-+	IFT_HIPPI                     = 0x2f
-+	IFT_HSSI                      = 0x2e
-+	IFT_HY                        = 0xe
-+	IFT_IB                        = 0xc7
-+	IFT_ISDNBASIC                 = 0x14
-+	IFT_ISDNPRIMARY               = 0x15
-+	IFT_ISO88022LLC               = 0x29
-+	IFT_ISO88023                  = 0x7
-+	IFT_ISO88024                  = 0x8
-+	IFT_ISO88025                  = 0x9
-+	IFT_ISO88026                  = 0xa
-+	IFT_LAPB                      = 0x10
-+	IFT_LOCALTALK                 = 0x2a
-+	IFT_LOOP                      = 0x18
-+	IFT_MIOX25                    = 0x26
-+	IFT_MODEM                     = 0x30
-+	IFT_NSIP                      = 0x1b
-+	IFT_OTHER                     = 0x1
-+	IFT_P10                       = 0xc
-+	IFT_P80                       = 0xd
-+	IFT_PARA                      = 0x22
-+	IFT_PPP                       = 0x17
-+	IFT_PROPMUX                   = 0x36
-+	IFT_PROPVIRTUAL               = 0x35
-+	IFT_PTPSERIAL                 = 0x16
-+	IFT_RS232                     = 0x21
-+	IFT_SDLC                      = 0x11
-+	IFT_SIP                       = 0x1f
-+	IFT_SLIP                      = 0x1c
-+	IFT_SMDSDXI                   = 0x2b
-+	IFT_SMDSICIP                  = 0x34
-+	IFT_SN                        = 0x38
-+	IFT_SONET                     = 0x27
-+	IFT_SONETPATH                 = 0x32
-+	IFT_SONETVT                   = 0x33
-+	IFT_SP                        = 0x39
-+	IFT_STARLAN                   = 0xb
-+	IFT_T1                        = 0x12
-+	IFT_TUNNEL                    = 0x3b
-+	IFT_ULTRA                     = 0x1d
-+	IFT_V35                       = 0x2d
-+	IFT_VIPA                      = 0x37
-+	IFT_X25                       = 0x5
-+	IFT_X25DDN                    = 0x4
-+	IFT_X25PLE                    = 0x28
-+	IFT_XETHER                    = 0x1a
-+	IGNBRK                        = 0x1
-+	IGNCR                         = 0x80
-+	IGNPAR                        = 0x4
-+	IMAXBEL                       = 0x10000
-+	INLCR                         = 0x40
-+	INPCK                         = 0x10
-+	IN_CLASSA_HOST                = 0xffffff
-+	IN_CLASSA_MAX                 = 0x80
-+	IN_CLASSA_NET                 = 0xff000000
-+	IN_CLASSA_NSHIFT              = 0x18
-+	IN_CLASSB_HOST                = 0xffff
-+	IN_CLASSB_MAX                 = 0x10000
-+	IN_CLASSB_NET                 = 0xffff0000
-+	IN_CLASSB_NSHIFT              = 0x10
-+	IN_CLASSC_HOST                = 0xff
-+	IN_CLASSC_NET                 = 0xffffff00
-+	IN_CLASSC_NSHIFT              = 0x8
-+	IN_CLASSD_HOST                = 0xfffffff
-+	IN_CLASSD_NET                 = 0xf0000000
-+	IN_CLASSD_NSHIFT              = 0x1c
-+	IN_LOOPBACKNET                = 0x7f
-+	IN_USE                        = 0x1
-+	IPPROTO_AH                    = 0x33
-+	IPPROTO_BIP                   = 0x53
-+	IPPROTO_DSTOPTS               = 0x3c
-+	IPPROTO_EGP                   = 0x8
-+	IPPROTO_EON                   = 0x50
-+	IPPROTO_ESP                   = 0x32
-+	IPPROTO_FRAGMENT              = 0x2c
-+	IPPROTO_GGP                   = 0x3
-+	IPPROTO_GIF                   = 0x8c
-+	IPPROTO_GRE                   = 0x2f
-+	IPPROTO_HOPOPTS               = 0x0
-+	IPPROTO_ICMP                  = 0x1
-+	IPPROTO_ICMPV6                = 0x3a
-+	IPPROTO_IDP                   = 0x16
-+	IPPROTO_IGMP                  = 0x2
-+	IPPROTO_IP                    = 0x0
-+	IPPROTO_IPIP                  = 0x4
-+	IPPROTO_IPV6                  = 0x29
-+	IPPROTO_LOCAL                 = 0x3f
-+	IPPROTO_MAX                   = 0x100
-+	IPPROTO_MH                    = 0x87
-+	IPPROTO_NONE                  = 0x3b
-+	IPPROTO_PUP                   = 0xc
-+	IPPROTO_QOS                   = 0x2d
-+	IPPROTO_RAW                   = 0xff
-+	IPPROTO_ROUTING               = 0x2b
-+	IPPROTO_RSVP                  = 0x2e
-+	IPPROTO_SCTP                  = 0x84
-+	IPPROTO_TCP                   = 0x6
-+	IPPROTO_TP                    = 0x1d
-+	IPPROTO_UDP                   = 0x11
-+	IPV6_ADDRFORM                 = 0x16
-+	IPV6_ADDR_PREFERENCES         = 0x4a
-+	IPV6_ADD_MEMBERSHIP           = 0xc
-+	IPV6_AIXRAWSOCKET             = 0x39
-+	IPV6_CHECKSUM                 = 0x27
-+	IPV6_DONTFRAG                 = 0x2d
-+	IPV6_DROP_MEMBERSHIP          = 0xd
-+	IPV6_DSTOPTS                  = 0x36
-+	IPV6_FLOWINFO_FLOWLABEL       = 0xffffff
-+	IPV6_FLOWINFO_PRIFLOW         = 0xfffffff
-+	IPV6_FLOWINFO_PRIORITY        = 0xf000000
-+	IPV6_FLOWINFO_SRFLAG          = 0x10000000
-+	IPV6_FLOWINFO_VERSION         = 0xf0000000
-+	IPV6_HOPLIMIT                 = 0x28
-+	IPV6_HOPOPTS                  = 0x34
-+	IPV6_JOIN_GROUP               = 0xc
-+	IPV6_LEAVE_GROUP              = 0xd
-+	IPV6_MIPDSTOPTS               = 0x36
-+	IPV6_MULTICAST_HOPS           = 0xa
-+	IPV6_MULTICAST_IF             = 0x9
-+	IPV6_MULTICAST_LOOP           = 0xb
-+	IPV6_NEXTHOP                  = 0x30
-+	IPV6_NOPROBE                  = 0x1c
-+	IPV6_PATHMTU                  = 0x2e
-+	IPV6_PKTINFO                  = 0x21
-+	IPV6_PKTOPTIONS               = 0x24
-+	IPV6_PRIORITY_10              = 0xa000000
-+	IPV6_PRIORITY_11              = 0xb000000
-+	IPV6_PRIORITY_12              = 0xc000000
-+	IPV6_PRIORITY_13              = 0xd000000
-+	IPV6_PRIORITY_14              = 0xe000000
-+	IPV6_PRIORITY_15              = 0xf000000
-+	IPV6_PRIORITY_8               = 0x8000000
-+	IPV6_PRIORITY_9               = 0x9000000
-+	IPV6_PRIORITY_BULK            = 0x4000000
-+	IPV6_PRIORITY_CONTROL         = 0x7000000
-+	IPV6_PRIORITY_FILLER          = 0x1000000
-+	IPV6_PRIORITY_INTERACTIVE     = 0x6000000
-+	IPV6_PRIORITY_RESERVED1       = 0x3000000
-+	IPV6_PRIORITY_RESERVED2       = 0x5000000
-+	IPV6_PRIORITY_UNATTENDED      = 0x2000000
-+	IPV6_PRIORITY_UNCHARACTERIZED = 0x0
-+	IPV6_RECVDSTOPTS              = 0x38
-+	IPV6_RECVHOPLIMIT             = 0x29
-+	IPV6_RECVHOPOPTS              = 0x35
-+	IPV6_RECVHOPS                 = 0x22
-+	IPV6_RECVIF                   = 0x1e
-+	IPV6_RECVPATHMTU              = 0x2f
-+	IPV6_RECVPKTINFO              = 0x23
-+	IPV6_RECVRTHDR                = 0x33
-+	IPV6_RECVSRCRT                = 0x1d
-+	IPV6_RECVTCLASS               = 0x2a
-+	IPV6_RTHDR                    = 0x32
-+	IPV6_RTHDRDSTOPTS             = 0x37
-+	IPV6_RTHDR_TYPE_0             = 0x0
-+	IPV6_RTHDR_TYPE_2             = 0x2
-+	IPV6_SENDIF                   = 0x1f
-+	IPV6_SRFLAG_LOOSE             = 0x0
-+	IPV6_SRFLAG_STRICT            = 0x10000000
-+	IPV6_TCLASS                   = 0x2b
-+	IPV6_TOKEN_LENGTH             = 0x40
-+	IPV6_UNICAST_HOPS             = 0x4
-+	IPV6_USE_MIN_MTU              = 0x2c
-+	IPV6_V6ONLY                   = 0x25
-+	IPV6_VERSION                  = 0x60000000
-+	IP_ADDRFORM                   = 0x16
-+	IP_ADD_MEMBERSHIP             = 0xc
-+	IP_ADD_SOURCE_MEMBERSHIP      = 0x3c
-+	IP_BLOCK_SOURCE               = 0x3a
-+	IP_BROADCAST_IF               = 0x10
-+	IP_CACHE_LINE_SIZE            = 0x80
-+	IP_DEFAULT_MULTICAST_LOOP     = 0x1
-+	IP_DEFAULT_MULTICAST_TTL      = 0x1
-+	IP_DF                         = 0x4000
-+	IP_DHCPMODE                   = 0x11
-+	IP_DONTFRAG                   = 0x19
-+	IP_DROP_MEMBERSHIP            = 0xd
-+	IP_DROP_SOURCE_MEMBERSHIP     = 0x3d
-+	IP_FINDPMTU                   = 0x1a
-+	IP_HDRINCL                    = 0x2
-+	IP_INC_MEMBERSHIPS            = 0x14
-+	IP_INIT_MEMBERSHIP            = 0x14
-+	IP_MAXPACKET                  = 0xffff
-+	IP_MF                         = 0x2000
-+	IP_MSS                        = 0x240
-+	IP_MULTICAST_HOPS             = 0xa
-+	IP_MULTICAST_IF               = 0x9
-+	IP_MULTICAST_LOOP             = 0xb
-+	IP_MULTICAST_TTL              = 0xa
-+	IP_OPT                        = 0x1b
-+	IP_OPTIONS                    = 0x1
-+	IP_PMTUAGE                    = 0x1b
-+	IP_RECVDSTADDR                = 0x7
-+	IP_RECVIF                     = 0x14
-+	IP_RECVIFINFO                 = 0xf
-+	IP_RECVINTERFACE              = 0x20
-+	IP_RECVMACHDR                 = 0xe
-+	IP_RECVOPTS                   = 0x5
-+	IP_RECVRETOPTS                = 0x6
-+	IP_RECVTTL                    = 0x22
-+	IP_RETOPTS                    = 0x8
-+	IP_SOURCE_FILTER              = 0x48
-+	IP_TOS                        = 0x3
-+	IP_TTL                        = 0x4
-+	IP_UNBLOCK_SOURCE             = 0x3b
-+	IP_UNICAST_HOPS               = 0x4
-+	ISIG                          = 0x1
-+	ISTRIP                        = 0x20
-+	IUCLC                         = 0x800
-+	IXANY                         = 0x1000
-+	IXOFF                         = 0x400
-+	IXON                          = 0x200
-+	I_FLUSH                       = 0x20005305
-+	LNOFLSH                       = 0x8000
-+	LOCK_EX                       = 0x2
-+	LOCK_NB                       = 0x4
-+	LOCK_SH                       = 0x1
-+	LOCK_UN                       = 0x8
-+	MADV_DONTNEED                 = 0x4
-+	MADV_NORMAL                   = 0x0
-+	MADV_RANDOM                   = 0x1
-+	MADV_SEQUENTIAL               = 0x2
-+	MADV_SPACEAVAIL               = 0x5
-+	MADV_WILLNEED                 = 0x3
-+	MAP_ANON                      = 0x10
-+	MAP_ANONYMOUS                 = 0x10
-+	MAP_FILE                      = 0x0
-+	MAP_FIXED                     = 0x100
-+	MAP_PRIVATE                   = 0x2
-+	MAP_SHARED                    = 0x1
-+	MAP_TYPE                      = 0xf0
-+	MAP_VARIABLE                  = 0x0
-+	MCAST_BLOCK_SOURCE            = 0x40
-+	MCAST_EXCLUDE                 = 0x2
-+	MCAST_INCLUDE                 = 0x1
-+	MCAST_JOIN_GROUP              = 0x3e
-+	MCAST_JOIN_SOURCE_GROUP       = 0x42
-+	MCAST_LEAVE_GROUP             = 0x3f
-+	MCAST_LEAVE_SOURCE_GROUP      = 0x43
-+	MCAST_SOURCE_FILTER           = 0x49
-+	MCAST_UNBLOCK_SOURCE          = 0x41
-+	MCL_CURRENT                   = 0x100
-+	MCL_FUTURE                    = 0x200
-+	MSG_ANY                       = 0x4
-+	MSG_ARGEXT                    = 0x400
-+	MSG_BAND                      = 0x2
-+	MSG_COMPAT                    = 0x8000
-+	MSG_CTRUNC                    = 0x20
-+	MSG_DONTROUTE                 = 0x4
-+	MSG_EOR                       = 0x8
-+	MSG_HIPRI                     = 0x1
-+	MSG_MAXIOVLEN                 = 0x10
-+	MSG_MPEG2                     = 0x80
-+	MSG_NONBLOCK                  = 0x4000
-+	MSG_NOSIGNAL                  = 0x100
-+	MSG_OOB                       = 0x1
-+	MSG_PEEK                      = 0x2
-+	MSG_TRUNC                     = 0x10
-+	MSG_WAITALL                   = 0x40
-+	MSG_WAITFORONE                = 0x200
-+	MS_ASYNC                      = 0x10
-+	MS_EINTR                      = 0x80
-+	MS_INVALIDATE                 = 0x40
-+	MS_PER_SEC                    = 0x3e8
-+	MS_SYNC                       = 0x20
-+	NFDBITS                       = 0x40
-+	NL0                           = 0x0
-+	NL1                           = 0x4000
-+	NL2                           = 0x8000
-+	NL3                           = 0xc000
-+	NLDLY                         = 0x4000
-+	NOFLSH                        = 0x80
-+	NOFLUSH                       = 0x80000000
-+	OCRNL                         = 0x8
-+	OFDEL                         = 0x80
-+	OFILL                         = 0x40
-+	OLCUC                         = 0x2
-+	ONLCR                         = 0x4
-+	ONLRET                        = 0x20
-+	ONOCR                         = 0x10
-+	ONOEOT                        = 0x80000
-+	OPOST                         = 0x1
-+	OXTABS                        = 0x40000
-+	O_ACCMODE                     = 0x23
-+	O_APPEND                      = 0x8
-+	O_CIO                         = 0x80
-+	O_CIOR                        = 0x800000000
-+	O_CLOEXEC                     = 0x800000
-+	O_CREAT                       = 0x100
-+	O_DEFER                       = 0x2000
-+	O_DELAY                       = 0x4000
-+	O_DIRECT                      = 0x8000000
-+	O_DIRECTORY                   = 0x80000
-+	O_DSYNC                       = 0x400000
-+	O_EFSOFF                      = 0x400000000
-+	O_EFSON                       = 0x200000000
-+	O_EXCL                        = 0x400
-+	O_EXEC                        = 0x20
-+	O_LARGEFILE                   = 0x4000000
-+	O_NDELAY                      = 0x8000
-+	O_NOCACHE                     = 0x100000
-+	O_NOCTTY                      = 0x800
-+	O_NOFOLLOW                    = 0x1000000
-+	O_NONBLOCK                    = 0x4
-+	O_NONE                        = 0x3
-+	O_NSHARE                      = 0x10000
-+	O_RAW                         = 0x100000000
-+	O_RDONLY                      = 0x0
-+	O_RDWR                        = 0x2
-+	O_RSHARE                      = 0x1000
-+	O_RSYNC                       = 0x200000
-+	O_SEARCH                      = 0x20
-+	O_SNAPSHOT                    = 0x40
-+	O_SYNC                        = 0x10
-+	O_TRUNC                       = 0x200
-+	O_TTY_INIT                    = 0x0
-+	O_WRONLY                      = 0x1
-+	PARENB                        = 0x100
-+	PAREXT                        = 0x100000
-+	PARMRK                        = 0x8
-+	PARODD                        = 0x200
-+	PENDIN                        = 0x20000000
-+	PRIO_PGRP                     = 0x1
-+	PRIO_PROCESS                  = 0x0
-+	PRIO_USER                     = 0x2
-+	PROT_EXEC                     = 0x4
-+	PROT_NONE                     = 0x0
-+	PROT_READ                     = 0x1
-+	PROT_WRITE                    = 0x2
-+	PR_64BIT                      = 0x20
-+	PR_ADDR                       = 0x2
-+	PR_ARGEXT                     = 0x400
-+	PR_ATOMIC                     = 0x1
-+	PR_CONNREQUIRED               = 0x4
-+	PR_FASTHZ                     = 0x5
-+	PR_INP                        = 0x40
-+	PR_INTRLEVEL                  = 0x8000
-+	PR_MLS                        = 0x100
-+	PR_MLS_1_LABEL                = 0x200
-+	PR_NOEOR                      = 0x4000
-+	PR_RIGHTS                     = 0x10
-+	PR_SLOWHZ                     = 0x2
-+	PR_WANTRCVD                   = 0x8
-+	RLIMIT_AS                     = 0x6
-+	RLIMIT_CORE                   = 0x4
-+	RLIMIT_CPU                    = 0x0
-+	RLIMIT_DATA                   = 0x2
-+	RLIMIT_FSIZE                  = 0x1
-+	RLIMIT_NOFILE                 = 0x7
-+	RLIMIT_NPROC                  = 0x9
-+	RLIMIT_RSS                    = 0x5
-+	RLIMIT_STACK                  = 0x3
-+	RLIM_INFINITY                 = 0x7fffffffffffffff
-+	RTAX_AUTHOR                   = 0x6
-+	RTAX_BRD                      = 0x7
-+	RTAX_DST                      = 0x0
-+	RTAX_GATEWAY                  = 0x1
-+	RTAX_GENMASK                  = 0x3
-+	RTAX_IFA                      = 0x5
-+	RTAX_IFP                      = 0x4
-+	RTAX_MAX                      = 0x8
-+	RTAX_NETMASK                  = 0x2
-+	RTA_AUTHOR                    = 0x40
-+	RTA_BRD                       = 0x80
-+	RTA_DOWNSTREAM                = 0x100
-+	RTA_DST                       = 0x1
-+	RTA_GATEWAY                   = 0x2
-+	RTA_GENMASK                   = 0x8
-+	RTA_IFA                       = 0x20
-+	RTA_IFP                       = 0x10
-+	RTA_NETMASK                   = 0x4
-+	RTC_IA64                      = 0x3
-+	RTC_POWER                     = 0x1
-+	RTC_POWER_PC                  = 0x2
-+	RTF_ACTIVE_DGD                = 0x1000000
-+	RTF_BCE                       = 0x80000
-+	RTF_BLACKHOLE                 = 0x1000
-+	RTF_BROADCAST                 = 0x400000
-+	RTF_BUL                       = 0x2000
-+	RTF_CLONE                     = 0x10000
-+	RTF_CLONED                    = 0x20000
-+	RTF_CLONING                   = 0x100
-+	RTF_DONE                      = 0x40
-+	RTF_DYNAMIC                   = 0x10
-+	RTF_FREE_IN_PROG              = 0x4000000
-+	RTF_GATEWAY                   = 0x2
-+	RTF_HOST                      = 0x4
-+	RTF_LLINFO                    = 0x400
-+	RTF_LOCAL                     = 0x200000
-+	RTF_MASK                      = 0x80
-+	RTF_MODIFIED                  = 0x20
-+	RTF_MULTICAST                 = 0x800000
-+	RTF_PERMANENT6                = 0x8000000
-+	RTF_PINNED                    = 0x100000
-+	RTF_PROTO1                    = 0x8000
-+	RTF_PROTO2                    = 0x4000
-+	RTF_PROTO3                    = 0x40000
-+	RTF_REJECT                    = 0x8
-+	RTF_SMALLMTU                  = 0x40000
-+	RTF_STATIC                    = 0x800
-+	RTF_STOPSRCH                  = 0x2000000
-+	RTF_UNREACHABLE               = 0x10000000
-+	RTF_UP                        = 0x1
-+	RTF_XRESOLVE                  = 0x200
-+	RTM_ADD                       = 0x1
-+	RTM_CHANGE                    = 0x3
-+	RTM_DELADDR                   = 0xd
-+	RTM_DELETE                    = 0x2
-+	RTM_EXPIRE                    = 0xf
-+	RTM_GET                       = 0x4
-+	RTM_GETNEXT                   = 0x11
-+	RTM_IFINFO                    = 0xe
-+	RTM_LOCK                      = 0x8
-+	RTM_LOSING                    = 0x5
-+	RTM_MISS                      = 0x7
-+	RTM_NEWADDR                   = 0xc
-+	RTM_OLDADD                    = 0x9
-+	RTM_OLDDEL                    = 0xa
-+	RTM_REDIRECT                  = 0x6
-+	RTM_RESOLVE                   = 0xb
-+	RTM_RTLOST                    = 0x10
-+	RTM_RTTUNIT                   = 0xf4240
-+	RTM_SAMEADDR                  = 0x12
-+	RTM_SET                       = 0x13
-+	RTM_VERSION                   = 0x2
-+	RTM_VERSION_GR                = 0x4
-+	RTM_VERSION_GR_COMPAT         = 0x3
-+	RTM_VERSION_POLICY            = 0x5
-+	RTM_VERSION_POLICY_EXT        = 0x6
-+	RTM_VERSION_POLICY_PRFN       = 0x7
-+	RTV_EXPIRE                    = 0x4
-+	RTV_HOPCOUNT                  = 0x2
-+	RTV_MTU                       = 0x1
-+	RTV_RPIPE                     = 0x8
-+	RTV_RTT                       = 0x40
-+	RTV_RTTVAR                    = 0x80
-+	RTV_SPIPE                     = 0x10
-+	RTV_SSTHRESH                  = 0x20
-+	RUSAGE_CHILDREN               = -0x1
-+	RUSAGE_SELF                   = 0x0
-+	RUSAGE_THREAD                 = 0x1
-+	SCM_RIGHTS                    = 0x1
-+	SHUT_RD                       = 0x0
-+	SHUT_RDWR                     = 0x2
-+	SHUT_WR                       = 0x1
-+	SIGMAX64                      = 0xff
-+	SIGQUEUE_MAX                  = 0x20
-+	SIOCADDIFVIPA                 = 0x20006942
-+	SIOCADDMTU                    = -0x7ffb9690
-+	SIOCADDMULTI                  = -0x7fdf96cf
-+	SIOCADDNETID                  = -0x7fd796a9
-+	SIOCADDRT                     = -0x7fc78df6
-+	SIOCAIFADDR                   = -0x7fbf96e6
-+	SIOCATMARK                    = 0x40047307
-+	SIOCDARP                      = -0x7fb396e0
-+	SIOCDELIFVIPA                 = 0x20006943
-+	SIOCDELMTU                    = -0x7ffb968f
-+	SIOCDELMULTI                  = -0x7fdf96ce
-+	SIOCDELPMTU                   = -0x7fd78ff6
-+	SIOCDELRT                     = -0x7fc78df5
-+	SIOCDIFADDR                   = -0x7fd796e7
-+	SIOCDNETOPT                   = -0x3ffe9680
-+	SIOCDX25XLATE                 = -0x7fd7969b
-+	SIOCFIFADDR                   = -0x7fdf966d
-+	SIOCGARP                      = -0x3fb396da
-+	SIOCGETMTUS                   = 0x2000696f
-+	SIOCGETSGCNT                  = -0x3feb8acc
-+	SIOCGETVIFCNT                 = -0x3feb8acd
-+	SIOCGHIWAT                    = 0x40047301
-+	SIOCGIFADDR                   = -0x3fd796df
-+	SIOCGIFADDRS                  = 0x2000698c
-+	SIOCGIFBAUDRATE               = -0x3fdf9669
-+	SIOCGIFBRDADDR                = -0x3fd796dd
-+	SIOCGIFCONF                   = -0x3fef96bb
-+	SIOCGIFCONFGLOB               = -0x3fef9670
-+	SIOCGIFDSTADDR                = -0x3fd796de
-+	SIOCGIFFLAGS                  = -0x3fd796ef
-+	SIOCGIFGIDLIST                = 0x20006968
-+	SIOCGIFHWADDR                 = -0x3fab966b
-+	SIOCGIFMETRIC                 = -0x3fd796e9
-+	SIOCGIFMTU                    = -0x3fd796aa
-+	SIOCGIFNETMASK                = -0x3fd796db
-+	SIOCGIFOPTIONS                = -0x3fd796d6
-+	SIOCGISNO                     = -0x3fd79695
-+	SIOCGLOADF                    = -0x3ffb967e
-+	SIOCGLOWAT                    = 0x40047303
-+	SIOCGNETOPT                   = -0x3ffe96a5
-+	SIOCGNETOPT1                  = -0x3fdf967f
-+	SIOCGNMTUS                    = 0x2000696e
-+	SIOCGPGRP                     = 0x40047309
-+	SIOCGSIZIFCONF                = 0x4004696a
-+	SIOCGSRCFILTER                = -0x3fe796cb
-+	SIOCGTUNEPHASE                = -0x3ffb9676
-+	SIOCGX25XLATE                 = -0x3fd7969c
-+	SIOCIFATTACH                  = -0x7fdf9699
-+	SIOCIFDETACH                  = -0x7fdf969a
-+	SIOCIFGETPKEY                 = -0x7fdf969b
-+	SIOCIF_ATM_DARP               = -0x7fdf9683
-+	SIOCIF_ATM_DUMPARP            = -0x7fdf9685
-+	SIOCIF_ATM_GARP               = -0x7fdf9682
-+	SIOCIF_ATM_IDLE               = -0x7fdf9686
-+	SIOCIF_ATM_SARP               = -0x7fdf9681
-+	SIOCIF_ATM_SNMPARP            = -0x7fdf9687
-+	SIOCIF_ATM_SVC                = -0x7fdf9684
-+	SIOCIF_ATM_UBR                = -0x7fdf9688
-+	SIOCIF_DEVHEALTH              = -0x7ffb966c
-+	SIOCIF_IB_ARP_INCOMP          = -0x7fdf9677
-+	SIOCIF_IB_ARP_TIMER           = -0x7fdf9678
-+	SIOCIF_IB_CLEAR_PINFO         = -0x3fdf966f
-+	SIOCIF_IB_DEL_ARP             = -0x7fdf967f
-+	SIOCIF_IB_DEL_PINFO           = -0x3fdf9670
-+	SIOCIF_IB_DUMP_ARP            = -0x7fdf9680
-+	SIOCIF_IB_GET_ARP             = -0x7fdf967e
-+	SIOCIF_IB_GET_INFO            = -0x3f879675
-+	SIOCIF_IB_GET_STATS           = -0x3f879672
-+	SIOCIF_IB_NOTIFY_ADDR_REM     = -0x3f87966a
-+	SIOCIF_IB_RESET_STATS         = -0x3f879671
-+	SIOCIF_IB_RESIZE_CQ           = -0x7fdf9679
-+	SIOCIF_IB_SET_ARP             = -0x7fdf967d
-+	SIOCIF_IB_SET_PKEY            = -0x7fdf967c
-+	SIOCIF_IB_SET_PORT            = -0x7fdf967b
-+	SIOCIF_IB_SET_QKEY            = -0x7fdf9676
-+	SIOCIF_IB_SET_QSIZE           = -0x7fdf967a
-+	SIOCLISTIFVIPA                = 0x20006944
-+	SIOCSARP                      = -0x7fb396e2
-+	SIOCSHIWAT                    = 0xffffffff80047300
-+	SIOCSIFADDR                   = -0x7fd796f4
-+	SIOCSIFADDRORI                = -0x7fdb9673
-+	SIOCSIFBRDADDR                = -0x7fd796ed
-+	SIOCSIFDSTADDR                = -0x7fd796f2
-+	SIOCSIFFLAGS                  = -0x7fd796f0
-+	SIOCSIFGIDLIST                = 0x20006969
-+	SIOCSIFMETRIC                 = -0x7fd796e8
-+	SIOCSIFMTU                    = -0x7fd796a8
-+	SIOCSIFNETDUMP                = -0x7fd796e4
-+	SIOCSIFNETMASK                = -0x7fd796ea
-+	SIOCSIFOPTIONS                = -0x7fd796d7
-+	SIOCSIFSUBCHAN                = -0x7fd796e5
-+	SIOCSISNO                     = -0x7fd79694
-+	SIOCSLOADF                    = -0x3ffb967d
-+	SIOCSLOWAT                    = 0xffffffff80047302
-+	SIOCSNETOPT                   = -0x7ffe96a6
-+	SIOCSPGRP                     = 0xffffffff80047308
-+	SIOCSX25XLATE                 = -0x7fd7969d
-+	SOCK_CONN_DGRAM               = 0x6
-+	SOCK_DGRAM                    = 0x2
-+	SOCK_RAW                      = 0x3
-+	SOCK_RDM                      = 0x4
-+	SOCK_SEQPACKET                = 0x5
-+	SOCK_STREAM                   = 0x1
-+	SOL_SOCKET                    = 0xffff
-+	SOMAXCONN                     = 0x400
-+	SO_ACCEPTCONN                 = 0x2
-+	SO_AUDIT                      = 0x8000
-+	SO_BROADCAST                  = 0x20
-+	SO_CKSUMRECV                  = 0x800
-+	SO_DEBUG                      = 0x1
-+	SO_DONTROUTE                  = 0x10
-+	SO_ERROR                      = 0x1007
-+	SO_KEEPALIVE                  = 0x8
-+	SO_KERNACCEPT                 = 0x2000
-+	SO_LINGER                     = 0x80
-+	SO_NOMULTIPATH                = 0x4000
-+	SO_NOREUSEADDR                = 0x1000
-+	SO_OOBINLINE                  = 0x100
-+	SO_PEERID                     = 0x1009
-+	SO_RCVBUF                     = 0x1002
-+	SO_RCVLOWAT                   = 0x1004
-+	SO_RCVTIMEO                   = 0x1006
-+	SO_REUSEADDR                  = 0x4
-+	SO_REUSEPORT                  = 0x200
-+	SO_SNDBUF                     = 0x1001
-+	SO_SNDLOWAT                   = 0x1003
-+	SO_SNDTIMEO                   = 0x1005
-+	SO_TIMESTAMPNS                = 0x100a
-+	SO_TYPE                       = 0x1008
-+	SO_USELOOPBACK                = 0x40
-+	SO_USE_IFBUFS                 = 0x400
-+	S_BANDURG                     = 0x400
-+	S_EMODFMT                     = 0x3c000000
-+	S_ENFMT                       = 0x400
-+	S_ERROR                       = 0x100
-+	S_HANGUP                      = 0x200
-+	S_HIPRI                       = 0x2
-+	S_ICRYPTO                     = 0x80000
-+	S_IEXEC                       = 0x40
-+	S_IFBLK                       = 0x6000
-+	S_IFCHR                       = 0x2000
-+	S_IFDIR                       = 0x4000
-+	S_IFIFO                       = 0x1000
-+	S_IFJOURNAL                   = 0x10000
-+	S_IFLNK                       = 0xa000
-+	S_IFMPX                       = 0x2200
-+	S_IFMT                        = 0xf000
-+	S_IFPDIR                      = 0x4000000
-+	S_IFPSDIR                     = 0x8000000
-+	S_IFPSSDIR                    = 0xc000000
-+	S_IFREG                       = 0x8000
-+	S_IFSOCK                      = 0xc000
-+	S_IFSYSEA                     = 0x30000000
-+	S_INPUT                       = 0x1
-+	S_IREAD                       = 0x100
-+	S_IRGRP                       = 0x20
-+	S_IROTH                       = 0x4
-+	S_IRUSR                       = 0x100
-+	S_IRWXG                       = 0x38
-+	S_IRWXO                       = 0x7
-+	S_IRWXU                       = 0x1c0
-+	S_ISGID                       = 0x400
-+	S_ISUID                       = 0x800
-+	S_ISVTX                       = 0x200
-+	S_ITCB                        = 0x1000000
-+	S_ITP                         = 0x800000
-+	S_IWGRP                       = 0x10
-+	S_IWOTH                       = 0x2
-+	S_IWRITE                      = 0x80
-+	S_IWUSR                       = 0x80
-+	S_IXACL                       = 0x2000000
-+	S_IXATTR                      = 0x40000
-+	S_IXGRP                       = 0x8
-+	S_IXINTERFACE                 = 0x100000
-+	S_IXMOD                       = 0x40000000
-+	S_IXOTH                       = 0x1
-+	S_IXUSR                       = 0x40
-+	S_MSG                         = 0x8
-+	S_OUTPUT                      = 0x4
-+	S_RDBAND                      = 0x20
-+	S_RDNORM                      = 0x10
-+	S_RESERVED1                   = 0x20000
-+	S_RESERVED2                   = 0x200000
-+	S_RESERVED3                   = 0x400000
-+	S_RESERVED4                   = 0x80000000
-+	S_RESFMT1                     = 0x10000000
-+	S_RESFMT10                    = 0x34000000
-+	S_RESFMT11                    = 0x38000000
-+	S_RESFMT12                    = 0x3c000000
-+	S_RESFMT2                     = 0x14000000
-+	S_RESFMT3                     = 0x18000000
-+	S_RESFMT4                     = 0x1c000000
-+	S_RESFMT5                     = 0x20000000
-+	S_RESFMT6                     = 0x24000000
-+	S_RESFMT7                     = 0x28000000
-+	S_RESFMT8                     = 0x2c000000
-+	S_WRBAND                      = 0x80
-+	S_WRNORM                      = 0x40
-+	TAB0                          = 0x0
-+	TAB1                          = 0x400
-+	TAB2                          = 0x800
-+	TAB3                          = 0xc00
-+	TABDLY                        = 0xc00
-+	TCFLSH                        = 0x540c
-+	TCGETA                        = 0x5405
-+	TCGETS                        = 0x5401
-+	TCIFLUSH                      = 0x0
-+	TCIOFF                        = 0x2
-+	TCIOFLUSH                     = 0x2
-+	TCION                         = 0x3
-+	TCOFLUSH                      = 0x1
-+	TCOOFF                        = 0x0
-+	TCOON                         = 0x1
-+	TCP_24DAYS_WORTH_OF_SLOWTICKS = 0x3f4800
-+	TCP_ACLADD                    = 0x23
-+	TCP_ACLBIND                   = 0x26
-+	TCP_ACLCLEAR                  = 0x22
-+	TCP_ACLDEL                    = 0x24
-+	TCP_ACLDENY                   = 0x8
-+	TCP_ACLFLUSH                  = 0x21
-+	TCP_ACLGID                    = 0x1
-+	TCP_ACLLS                     = 0x25
-+	TCP_ACLSUBNET                 = 0x4
-+	TCP_ACLUID                    = 0x2
-+	TCP_CWND_DF                   = 0x16
-+	TCP_CWND_IF                   = 0x15
-+	TCP_DELAY_ACK_FIN             = 0x2
-+	TCP_DELAY_ACK_SYN             = 0x1
-+	TCP_FASTNAME                  = 0x101080a
-+	TCP_KEEPCNT                   = 0x13
-+	TCP_KEEPIDLE                  = 0x11
-+	TCP_KEEPINTVL                 = 0x12
-+	TCP_LSPRIV                    = 0x29
-+	TCP_LUID                      = 0x20
-+	TCP_MAXBURST                  = 0x8
-+	TCP_MAXDF                     = 0x64
-+	TCP_MAXIF                     = 0x64
-+	TCP_MAXSEG                    = 0x2
-+	TCP_MAXWIN                    = 0xffff
-+	TCP_MAXWINDOWSCALE            = 0xe
-+	TCP_MAX_SACK                  = 0x4
-+	TCP_MSS                       = 0x5b4
-+	TCP_NODELAY                   = 0x1
-+	TCP_NODELAYACK                = 0x14
-+	TCP_NOREDUCE_CWND_EXIT_FRXMT  = 0x19
-+	TCP_NOREDUCE_CWND_IN_FRXMT    = 0x18
-+	TCP_NOTENTER_SSTART           = 0x17
-+	TCP_OPT                       = 0x19
-+	TCP_RFC1323                   = 0x4
-+	TCP_SETPRIV                   = 0x27
-+	TCP_STDURG                    = 0x10
-+	TCP_TIMESTAMP_OPTLEN          = 0xc
-+	TCP_UNSETPRIV                 = 0x28
-+	TCSAFLUSH                     = 0x2
-+	TCSBRK                        = 0x5409
-+	TCSETA                        = 0x5406
-+	TCSETAF                       = 0x5408
-+	TCSETAW                       = 0x5407
-+	TCSETS                        = 0x5402
-+	TCSETSF                       = 0x5404
-+	TCSETSW                       = 0x5403
-+	TCXONC                        = 0x540b
-+	TIMER_ABSTIME                 = 0x3e7
-+	TIMER_MAX                     = 0x20
-+	TIOC                          = 0x5400
-+	TIOCCBRK                      = 0x2000747a
-+	TIOCCDTR                      = 0x20007478
-+	TIOCCONS                      = 0xffffffff80047462
-+	TIOCEXCL                      = 0x2000740d
-+	TIOCFLUSH                     = 0xffffffff80047410
-+	TIOCGETC                      = 0x40067412
-+	TIOCGETD                      = 0x40047400
-+	TIOCGETP                      = 0x40067408
-+	TIOCGLTC                      = 0x40067474
-+	TIOCGPGRP                     = 0x40047477
-+	TIOCGSID                      = 0x40047448
-+	TIOCGSIZE                     = 0x40087468
-+	TIOCGWINSZ                    = 0x40087468
-+	TIOCHPCL                      = 0x20007402
-+	TIOCLBIC                      = 0xffffffff8004747e
-+	TIOCLBIS                      = 0xffffffff8004747f
-+	TIOCLGET                      = 0x4004747c
-+	TIOCLSET                      = 0xffffffff8004747d
-+	TIOCMBIC                      = 0xffffffff8004746b
-+	TIOCMBIS                      = 0xffffffff8004746c
-+	TIOCMGET                      = 0x4004746a
-+	TIOCMIWAIT                    = 0xffffffff80047464
-+	TIOCMODG                      = 0x40047403
-+	TIOCMODS                      = 0xffffffff80047404
-+	TIOCMSET                      = 0xffffffff8004746d
-+	TIOCM_CAR                     = 0x40
-+	TIOCM_CD                      = 0x40
-+	TIOCM_CTS                     = 0x20
-+	TIOCM_DSR                     = 0x100
-+	TIOCM_DTR                     = 0x2
-+	TIOCM_LE                      = 0x1
-+	TIOCM_RI                      = 0x80
-+	TIOCM_RNG                     = 0x80
-+	TIOCM_RTS                     = 0x4
-+	TIOCM_SR                      = 0x10
-+	TIOCM_ST                      = 0x8
-+	TIOCNOTTY                     = 0x20007471
-+	TIOCNXCL                      = 0x2000740e
-+	TIOCOUTQ                      = 0x40047473
-+	TIOCPKT                       = 0xffffffff80047470
-+	TIOCPKT_DATA                  = 0x0
-+	TIOCPKT_DOSTOP                = 0x20
-+	TIOCPKT_FLUSHREAD             = 0x1
-+	TIOCPKT_FLUSHWRITE            = 0x2
-+	TIOCPKT_NOSTOP                = 0x10
-+	TIOCPKT_START                 = 0x8
-+	TIOCPKT_STOP                  = 0x4
-+	TIOCREMOTE                    = 0xffffffff80047469
-+	TIOCSBRK                      = 0x2000747b
-+	TIOCSDTR                      = 0x20007479
-+	TIOCSETC                      = 0xffffffff80067411
-+	TIOCSETD                      = 0xffffffff80047401
-+	TIOCSETN                      = 0xffffffff8006740a
-+	TIOCSETP                      = 0xffffffff80067409
-+	TIOCSLTC                      = 0xffffffff80067475
-+	TIOCSPGRP                     = 0xffffffff80047476
-+	TIOCSSIZE                     = 0xffffffff80087467
-+	TIOCSTART                     = 0x2000746e
-+	TIOCSTI                       = 0xffffffff80017472
-+	TIOCSTOP                      = 0x2000746f
-+	TIOCSWINSZ                    = 0xffffffff80087467
-+	TIOCUCNTL                     = 0xffffffff80047466
-+	TOSTOP                        = 0x10000
-+	UTIME_NOW                     = -0x2
-+	UTIME_OMIT                    = -0x3
-+	VDISCRD                       = 0xc
-+	VDSUSP                        = 0xa
-+	VEOF                          = 0x4
-+	VEOL                          = 0x5
-+	VEOL2                         = 0x6
-+	VERASE                        = 0x2
-+	VINTR                         = 0x0
-+	VKILL                         = 0x3
-+	VLNEXT                        = 0xe
-+	VMIN                          = 0x4
-+	VQUIT                         = 0x1
-+	VREPRINT                      = 0xb
-+	VSTART                        = 0x7
-+	VSTOP                         = 0x8
-+	VSTRT                         = 0x7
-+	VSUSP                         = 0x9
-+	VT0                           = 0x0
-+	VT1                           = 0x8000
-+	VTDELAY                       = 0x2000
-+	VTDLY                         = 0x8000
-+	VTIME                         = 0x5
-+	VWERSE                        = 0xd
-+	WPARSTART                     = 0x1
-+	WPARSTOP                      = 0x2
-+	WPARTTYNAME                   = "Global"
-+	XCASE                         = 0x4
-+	XTABS                         = 0xc00
-+	_FDATAFLUSH                   = 0x2000000000
-+)
-+
-+// Errors
-+const (
-+	E2BIG           = syscall.Errno(0x7)
-+	EACCES          = syscall.Errno(0xd)
-+	EADDRINUSE      = syscall.Errno(0x43)
-+	EADDRNOTAVAIL   = syscall.Errno(0x44)
-+	EAFNOSUPPORT    = syscall.Errno(0x42)
-+	EAGAIN          = syscall.Errno(0xb)
-+	EALREADY        = syscall.Errno(0x38)
-+	EBADF           = syscall.Errno(0x9)
-+	EBADMSG         = syscall.Errno(0x78)
-+	EBUSY           = syscall.Errno(0x10)
-+	ECANCELED       = syscall.Errno(0x75)
-+	ECHILD          = syscall.Errno(0xa)
-+	ECHRNG          = syscall.Errno(0x25)
-+	ECLONEME        = syscall.Errno(0x52)
-+	ECONNABORTED    = syscall.Errno(0x48)
-+	ECONNREFUSED    = syscall.Errno(0x4f)
-+	ECONNRESET      = syscall.Errno(0x49)
-+	ECORRUPT        = syscall.Errno(0x59)
-+	EDEADLK         = syscall.Errno(0x2d)
-+	EDESTADDREQ     = syscall.Errno(0x3a)
-+	EDESTADDRREQ    = syscall.Errno(0x3a)
-+	EDIST           = syscall.Errno(0x35)
-+	EDOM            = syscall.Errno(0x21)
-+	EDQUOT          = syscall.Errno(0x58)
-+	EEXIST          = syscall.Errno(0x11)
-+	EFAULT          = syscall.Errno(0xe)
-+	EFBIG           = syscall.Errno(0x1b)
-+	EFORMAT         = syscall.Errno(0x30)
-+	EHOSTDOWN       = syscall.Errno(0x50)
-+	EHOSTUNREACH    = syscall.Errno(0x51)
-+	EIDRM           = syscall.Errno(0x24)
-+	EILSEQ          = syscall.Errno(0x74)
-+	EINPROGRESS     = syscall.Errno(0x37)
-+	EINTR           = syscall.Errno(0x4)
-+	EINVAL          = syscall.Errno(0x16)
-+	EIO             = syscall.Errno(0x5)
-+	EISCONN         = syscall.Errno(0x4b)
-+	EISDIR          = syscall.Errno(0x15)
-+	EL2HLT          = syscall.Errno(0x2c)
-+	EL2NSYNC        = syscall.Errno(0x26)
-+	EL3HLT          = syscall.Errno(0x27)
-+	EL3RST          = syscall.Errno(0x28)
-+	ELNRNG          = syscall.Errno(0x29)
-+	ELOOP           = syscall.Errno(0x55)
-+	EMEDIA          = syscall.Errno(0x6e)
-+	EMFILE          = syscall.Errno(0x18)
-+	EMLINK          = syscall.Errno(0x1f)
-+	EMSGSIZE        = syscall.Errno(0x3b)
-+	EMULTIHOP       = syscall.Errno(0x7d)
-+	ENAMETOOLONG    = syscall.Errno(0x56)
-+	ENETDOWN        = syscall.Errno(0x45)
-+	ENETRESET       = syscall.Errno(0x47)
-+	ENETUNREACH     = syscall.Errno(0x46)
-+	ENFILE          = syscall.Errno(0x17)
-+	ENOATTR         = syscall.Errno(0x70)
-+	ENOBUFS         = syscall.Errno(0x4a)
-+	ENOCONNECT      = syscall.Errno(0x32)
-+	ENOCSI          = syscall.Errno(0x2b)
-+	ENODATA         = syscall.Errno(0x7a)
-+	ENODEV          = syscall.Errno(0x13)
-+	ENOENT          = syscall.Errno(0x2)
-+	ENOEXEC         = syscall.Errno(0x8)
-+	ENOLCK          = syscall.Errno(0x31)
-+	ENOLINK         = syscall.Errno(0x7e)
-+	ENOMEM          = syscall.Errno(0xc)
-+	ENOMSG          = syscall.Errno(0x23)
-+	ENOPROTOOPT     = syscall.Errno(0x3d)
-+	ENOSPC          = syscall.Errno(0x1c)
-+	ENOSR           = syscall.Errno(0x76)
-+	ENOSTR          = syscall.Errno(0x7b)
-+	ENOSYS          = syscall.Errno(0x6d)
-+	ENOTBLK         = syscall.Errno(0xf)
-+	ENOTCONN        = syscall.Errno(0x4c)
-+	ENOTDIR         = syscall.Errno(0x14)
-+	ENOTEMPTY       = syscall.Errno(0x11)
-+	ENOTREADY       = syscall.Errno(0x2e)
-+	ENOTRECOVERABLE = syscall.Errno(0x5e)
-+	ENOTRUST        = syscall.Errno(0x72)
-+	ENOTSOCK        = syscall.Errno(0x39)
-+	ENOTSUP         = syscall.Errno(0x7c)
-+	ENOTTY          = syscall.Errno(0x19)
-+	ENXIO           = syscall.Errno(0x6)
-+	EOPNOTSUPP      = syscall.Errno(0x40)
-+	EOVERFLOW       = syscall.Errno(0x7f)
-+	EOWNERDEAD      = syscall.Errno(0x5f)
-+	EPERM           = syscall.Errno(0x1)
-+	EPFNOSUPPORT    = syscall.Errno(0x41)
-+	EPIPE           = syscall.Errno(0x20)
-+	EPROCLIM        = syscall.Errno(0x53)
-+	EPROTO          = syscall.Errno(0x79)
-+	EPROTONOSUPPORT = syscall.Errno(0x3e)
-+	EPROTOTYPE      = syscall.Errno(0x3c)
-+	ERANGE          = syscall.Errno(0x22)
-+	EREMOTE         = syscall.Errno(0x5d)
-+	ERESTART        = syscall.Errno(0x52)
-+	EROFS           = syscall.Errno(0x1e)
-+	ESAD            = syscall.Errno(0x71)
-+	ESHUTDOWN       = syscall.Errno(0x4d)
-+	ESOCKTNOSUPPORT = syscall.Errno(0x3f)
-+	ESOFT           = syscall.Errno(0x6f)
-+	ESPIPE          = syscall.Errno(0x1d)
-+	ESRCH           = syscall.Errno(0x3)
-+	ESTALE          = syscall.Errno(0x34)
-+	ESYSERROR       = syscall.Errno(0x5a)
-+	ETIME           = syscall.Errno(0x77)
-+	ETIMEDOUT       = syscall.Errno(0x4e)
-+	ETOOMANYREFS    = syscall.Errno(0x73)
-+	ETXTBSY         = syscall.Errno(0x1a)
-+	EUNATCH         = syscall.Errno(0x2a)
-+	EUSERS          = syscall.Errno(0x54)
-+	EWOULDBLOCK     = syscall.Errno(0xb)
-+	EWRPROTECT      = syscall.Errno(0x2f)
-+	EXDEV           = syscall.Errno(0x12)
-+)
-+
-+// Signals
-+const (
-+	SIGABRT     = syscall.Signal(0x6)
-+	SIGAIO      = syscall.Signal(0x17)
-+	SIGALRM     = syscall.Signal(0xe)
-+	SIGALRM1    = syscall.Signal(0x26)
-+	SIGBUS      = syscall.Signal(0xa)
-+	SIGCAPI     = syscall.Signal(0x31)
-+	SIGCHLD     = syscall.Signal(0x14)
-+	SIGCLD      = syscall.Signal(0x14)
-+	SIGCONT     = syscall.Signal(0x13)
-+	SIGCPUFAIL  = syscall.Signal(0x3b)
-+	SIGDANGER   = syscall.Signal(0x21)
-+	SIGEMT      = syscall.Signal(0x7)
-+	SIGFPE      = syscall.Signal(0x8)
-+	SIGGRANT    = syscall.Signal(0x3c)
-+	SIGHUP      = syscall.Signal(0x1)
-+	SIGILL      = syscall.Signal(0x4)
-+	SIGINT      = syscall.Signal(0x2)
-+	SIGIO       = syscall.Signal(0x17)
-+	SIGIOINT    = syscall.Signal(0x10)
-+	SIGIOT      = syscall.Signal(0x6)
-+	SIGKAP      = syscall.Signal(0x3c)
-+	SIGKILL     = syscall.Signal(0x9)
-+	SIGLOST     = syscall.Signal(0x6)
-+	SIGMAX      = syscall.Signal(0xff)
-+	SIGMAX32    = syscall.Signal(0x3f)
-+	SIGMIGRATE  = syscall.Signal(0x23)
-+	SIGMSG      = syscall.Signal(0x1b)
-+	SIGPIPE     = syscall.Signal(0xd)
-+	SIGPOLL     = syscall.Signal(0x17)
-+	SIGPRE      = syscall.Signal(0x24)
-+	SIGPROF     = syscall.Signal(0x20)
-+	SIGPTY      = syscall.Signal(0x17)
-+	SIGPWR      = syscall.Signal(0x1d)
-+	SIGQUIT     = syscall.Signal(0x3)
-+	SIGRECONFIG = syscall.Signal(0x3a)
-+	SIGRETRACT  = syscall.Signal(0x3d)
-+	SIGSAK      = syscall.Signal(0x3f)
-+	SIGSEGV     = syscall.Signal(0xb)
-+	SIGSOUND    = syscall.Signal(0x3e)
-+	SIGSTOP     = syscall.Signal(0x11)
-+	SIGSYS      = syscall.Signal(0xc)
-+	SIGSYSERROR = syscall.Signal(0x30)
-+	SIGTALRM    = syscall.Signal(0x26)
-+	SIGTERM     = syscall.Signal(0xf)
-+	SIGTRAP     = syscall.Signal(0x5)
-+	SIGTSTP     = syscall.Signal(0x12)
-+	SIGTTIN     = syscall.Signal(0x15)
-+	SIGTTOU     = syscall.Signal(0x16)
-+	SIGURG      = syscall.Signal(0x10)
-+	SIGUSR1     = syscall.Signal(0x1e)
-+	SIGUSR2     = syscall.Signal(0x1f)
-+	SIGVIRT     = syscall.Signal(0x25)
-+	SIGVTALRM   = syscall.Signal(0x22)
-+	SIGWAITING  = syscall.Signal(0x27)
-+	SIGWINCH    = syscall.Signal(0x1c)
-+	SIGXCPU     = syscall.Signal(0x18)
-+	SIGXFSZ     = syscall.Signal(0x19)
-+)
-+
-+// Error table
-+var errorList = [...]struct {
-+	num  syscall.Errno
-+	name string
-+	desc string
-+}{
-+	{1, "EPERM", "not owner"},
-+	{2, "ENOENT", "no such file or directory"},
-+	{3, "ESRCH", "no such process"},
-+	{4, "EINTR", "interrupted system call"},
-+	{5, "EIO", "I/O error"},
-+	{6, "ENXIO", "no such device or address"},
-+	{7, "E2BIG", "arg list too long"},
-+	{8, "ENOEXEC", "exec format error"},
-+	{9, "EBADF", "bad file number"},
-+	{10, "ECHILD", "no child processes"},
-+	{11, "EWOULDBLOCK", "resource temporarily unavailable"},
-+	{12, "ENOMEM", "not enough space"},
-+	{13, "EACCES", "permission denied"},
-+	{14, "EFAULT", "bad address"},
-+	{15, "ENOTBLK", "block device required"},
-+	{16, "EBUSY", "device busy"},
-+	{17, "ENOTEMPTY", "file exists"},
-+	{18, "EXDEV", "cross-device link"},
-+	{19, "ENODEV", "no such device"},
-+	{20, "ENOTDIR", "not a directory"},
-+	{21, "EISDIR", "is a directory"},
-+	{22, "EINVAL", "invalid argument"},
-+	{23, "ENFILE", "file table overflow"},
-+	{24, "EMFILE", "too many open files"},
-+	{25, "ENOTTY", "not a typewriter"},
-+	{26, "ETXTBSY", "text file busy"},
-+	{27, "EFBIG", "file too large"},
-+	{28, "ENOSPC", "no space left on device"},
-+	{29, "ESPIPE", "illegal seek"},
-+	{30, "EROFS", "read-only file system"},
-+	{31, "EMLINK", "too many links"},
-+	{32, "EPIPE", "broken pipe"},
-+	{33, "EDOM", "argument out of domain"},
-+	{34, "ERANGE", "result too large"},
-+	{35, "ENOMSG", "no message of desired type"},
-+	{36, "EIDRM", "identifier removed"},
-+	{37, "ECHRNG", "channel number out of range"},
-+	{38, "EL2NSYNC", "level 2 not synchronized"},
-+	{39, "EL3HLT", "level 3 halted"},
-+	{40, "EL3RST", "level 3 reset"},
-+	{41, "ELNRNG", "link number out of range"},
-+	{42, "EUNATCH", "protocol driver not attached"},
-+	{43, "ENOCSI", "no CSI structure available"},
-+	{44, "EL2HLT", "level 2 halted"},
-+	{45, "EDEADLK", "deadlock condition if locked"},
-+	{46, "ENOTREADY", "device not ready"},
-+	{47, "EWRPROTECT", "write-protected media"},
-+	{48, "EFORMAT", "unformatted or incompatible media"},
-+	{49, "ENOLCK", "no locks available"},
-+	{50, "ENOCONNECT", "cannot Establish Connection"},
-+	{52, "ESTALE", "missing file or filesystem"},
-+	{53, "EDIST", "requests blocked by Administrator"},
-+	{55, "EINPROGRESS", "operation now in progress"},
-+	{56, "EALREADY", "operation already in progress"},
-+	{57, "ENOTSOCK", "socket operation on non-socket"},
-+	{58, "EDESTADDREQ", "destination address required"},
-+	{59, "EMSGSIZE", "message too long"},
-+	{60, "EPROTOTYPE", "protocol wrong type for socket"},
-+	{61, "ENOPROTOOPT", "protocol not available"},
-+	{62, "EPROTONOSUPPORT", "protocol not supported"},
-+	{63, "ESOCKTNOSUPPORT", "socket type not supported"},
-+	{64, "EOPNOTSUPP", "operation not supported on socket"},
-+	{65, "EPFNOSUPPORT", "protocol family not supported"},
-+	{66, "EAFNOSUPPORT", "addr family not supported by protocol"},
-+	{67, "EADDRINUSE", "address already in use"},
-+	{68, "EADDRNOTAVAIL", "can't assign requested address"},
-+	{69, "ENETDOWN", "network is down"},
-+	{70, "ENETUNREACH", "network is unreachable"},
-+	{71, "ENETRESET", "network dropped connection on reset"},
-+	{72, "ECONNABORTED", "software caused connection abort"},
-+	{73, "ECONNRESET", "connection reset by peer"},
-+	{74, "ENOBUFS", "no buffer space available"},
-+	{75, "EISCONN", "socket is already connected"},
-+	{76, "ENOTCONN", "socket is not connected"},
-+	{77, "ESHUTDOWN", "can't send after socket shutdown"},
-+	{78, "ETIMEDOUT", "connection timed out"},
-+	{79, "ECONNREFUSED", "connection refused"},
-+	{80, "EHOSTDOWN", "host is down"},
-+	{81, "EHOSTUNREACH", "no route to host"},
-+	{82, "ERESTART", "restart the system call"},
-+	{83, "EPROCLIM", "too many processes"},
-+	{84, "EUSERS", "too many users"},
-+	{85, "ELOOP", "too many levels of symbolic links"},
-+	{86, "ENAMETOOLONG", "file name too long"},
-+	{88, "EDQUOT", "disk quota exceeded"},
-+	{89, "ECORRUPT", "invalid file system control data detected"},
-+	{90, "ESYSERROR", "for future use "},
-+	{93, "EREMOTE", "item is not local to host"},
-+	{94, "ENOTRECOVERABLE", "state not recoverable "},
-+	{95, "EOWNERDEAD", "previous owner died "},
-+	{109, "ENOSYS", "function not implemented"},
-+	{110, "EMEDIA", "media surface error"},
-+	{111, "ESOFT", "I/O completed, but needs relocation"},
-+	{112, "ENOATTR", "no attribute found"},
-+	{113, "ESAD", "security Authentication Denied"},
-+	{114, "ENOTRUST", "not a Trusted Program"},
-+	{115, "ETOOMANYREFS", "too many references: can't splice"},
-+	{116, "EILSEQ", "invalid wide character"},
-+	{117, "ECANCELED", "asynchronous I/O cancelled"},
-+	{118, "ENOSR", "out of STREAMS resources"},
-+	{119, "ETIME", "system call timed out"},
-+	{120, "EBADMSG", "next message has wrong type"},
-+	{121, "EPROTO", "error in protocol"},
-+	{122, "ENODATA", "no message on stream head read q"},
-+	{123, "ENOSTR", "fd not associated with a stream"},
-+	{124, "ENOTSUP", "unsupported attribute value"},
-+	{125, "EMULTIHOP", "multihop is not allowed"},
-+	{126, "ENOLINK", "the server link has been severed"},
-+	{127, "EOVERFLOW", "value too large to be stored in data type"},
-+}
-+
-+// Signal table
-+var signalList = [...]struct {
-+	num  syscall.Signal
-+	name string
-+	desc string
-+}{
-+	{1, "SIGHUP", "hangup"},
-+	{2, "SIGINT", "interrupt"},
-+	{3, "SIGQUIT", "quit"},
-+	{4, "SIGILL", "illegal instruction"},
-+	{5, "SIGTRAP", "trace/BPT trap"},
-+	{6, "SIGIOT", "IOT/Abort trap"},
-+	{7, "SIGEMT", "EMT trap"},
-+	{8, "SIGFPE", "floating point exception"},
-+	{9, "SIGKILL", "killed"},
-+	{10, "SIGBUS", "bus error"},
-+	{11, "SIGSEGV", "segmentation fault"},
-+	{12, "SIGSYS", "bad system call"},
-+	{13, "SIGPIPE", "broken pipe"},
-+	{14, "SIGALRM", "alarm clock"},
-+	{15, "SIGTERM", "terminated"},
-+	{16, "SIGURG", "urgent I/O condition"},
-+	{17, "SIGSTOP", "stopped (signal)"},
-+	{18, "SIGTSTP", "stopped"},
-+	{19, "SIGCONT", "continued"},
-+	{20, "SIGCHLD", "child exited"},
-+	{21, "SIGTTIN", "stopped (tty input)"},
-+	{22, "SIGTTOU", "stopped (tty output)"},
-+	{23, "SIGIO", "I/O possible/complete"},
-+	{24, "SIGXCPU", "cputime limit exceeded"},
-+	{25, "SIGXFSZ", "filesize limit exceeded"},
-+	{27, "SIGMSG", "input device data"},
-+	{28, "SIGWINCH", "window size changes"},
-+	{29, "SIGPWR", "power-failure"},
-+	{30, "SIGUSR1", "user defined signal 1"},
-+	{31, "SIGUSR2", "user defined signal 2"},
-+	{32, "SIGPROF", "profiling timer expired"},
-+	{33, "SIGDANGER", "paging space low"},
-+	{34, "SIGVTALRM", "virtual timer expired"},
-+	{35, "SIGMIGRATE", "signal 35"},
-+	{36, "SIGPRE", "signal 36"},
-+	{37, "SIGVIRT", "signal 37"},
-+	{38, "SIGTALRM", "signal 38"},
-+	{39, "SIGWAITING", "signal 39"},
-+	{48, "SIGSYSERROR", "signal 48"},
-+	{49, "SIGCAPI", "signal 49"},
-+	{58, "SIGRECONFIG", "signal 58"},
-+	{59, "SIGCPUFAIL", "CPU Failure Predicted"},
-+	{60, "SIGGRANT", "monitor mode granted"},
-+	{61, "SIGRETRACT", "monitor mode retracted"},
-+	{62, "SIGSOUND", "sound completed"},
-+	{63, "SIGMAX32", "secure attention"},
-+	{255, "SIGMAX", "signal 255"},
-+}
-diff --git a/vendor/golang.org/x/sys/unix/zerrors_darwin_386.go b/vendor/golang.org/x/sys/unix/zerrors_darwin_386.go
-index 1c68758b..6217cdba 100644
---- a/vendor/golang.org/x/sys/unix/zerrors_darwin_386.go
-+++ b/vendor/golang.org/x/sys/unix/zerrors_darwin_386.go
-@@ -3,7 +3,7 @@
- 
- // +build 386,darwin
- 
--// Created by cgo -godefs - DO NOT EDIT
-+// Code generated by cmd/cgo -godefs; DO NOT EDIT.
- // cgo -godefs -- -m32 _const.go
- 
- package unix
-@@ -49,6 +49,86 @@ const (
- 	AF_UNSPEC                         = 0x0
- 	AF_UTUN                           = 0x26
- 	ALTWERASE                         = 0x200
-+	ATTR_BIT_MAP_COUNT                = 0x5
-+	ATTR_CMN_ACCESSMASK               = 0x20000
-+	ATTR_CMN_ACCTIME                  = 0x1000
-+	ATTR_CMN_ADDEDTIME                = 0x10000000
-+	ATTR_CMN_BKUPTIME                 = 0x2000
-+	ATTR_CMN_CHGTIME                  = 0x800
-+	ATTR_CMN_CRTIME                   = 0x200
-+	ATTR_CMN_DATA_PROTECT_FLAGS       = 0x40000000
-+	ATTR_CMN_DEVID                    = 0x2
-+	ATTR_CMN_DOCUMENT_ID              = 0x100000
-+	ATTR_CMN_ERROR                    = 0x20000000
-+	ATTR_CMN_EXTENDED_SECURITY        = 0x400000
-+	ATTR_CMN_FILEID                   = 0x2000000
-+	ATTR_CMN_FLAGS                    = 0x40000
-+	ATTR_CMN_FNDRINFO                 = 0x4000
-+	ATTR_CMN_FSID                     = 0x4
-+	ATTR_CMN_FULLPATH                 = 0x8000000
-+	ATTR_CMN_GEN_COUNT                = 0x80000
-+	ATTR_CMN_GRPID                    = 0x10000
-+	ATTR_CMN_GRPUUID                  = 0x1000000
-+	ATTR_CMN_MODTIME                  = 0x400
-+	ATTR_CMN_NAME                     = 0x1
-+	ATTR_CMN_NAMEDATTRCOUNT           = 0x80000
-+	ATTR_CMN_NAMEDATTRLIST            = 0x100000
-+	ATTR_CMN_OBJID                    = 0x20
-+	ATTR_CMN_OBJPERMANENTID           = 0x40
-+	ATTR_CMN_OBJTAG                   = 0x10
-+	ATTR_CMN_OBJTYPE                  = 0x8
-+	ATTR_CMN_OWNERID                  = 0x8000
-+	ATTR_CMN_PARENTID                 = 0x4000000
-+	ATTR_CMN_PAROBJID                 = 0x80
-+	ATTR_CMN_RETURNED_ATTRS           = 0x80000000
-+	ATTR_CMN_SCRIPT                   = 0x100
-+	ATTR_CMN_SETMASK                  = 0x41c7ff00
-+	ATTR_CMN_USERACCESS               = 0x200000
-+	ATTR_CMN_UUID                     = 0x800000
-+	ATTR_CMN_VALIDMASK                = 0xffffffff
-+	ATTR_CMN_VOLSETMASK               = 0x6700
-+	ATTR_FILE_ALLOCSIZE               = 0x4
-+	ATTR_FILE_CLUMPSIZE               = 0x10
-+	ATTR_FILE_DATAALLOCSIZE           = 0x400
-+	ATTR_FILE_DATAEXTENTS             = 0x800
-+	ATTR_FILE_DATALENGTH              = 0x200
-+	ATTR_FILE_DEVTYPE                 = 0x20
-+	ATTR_FILE_FILETYPE                = 0x40
-+	ATTR_FILE_FORKCOUNT               = 0x80
-+	ATTR_FILE_FORKLIST                = 0x100
-+	ATTR_FILE_IOBLOCKSIZE             = 0x8
-+	ATTR_FILE_LINKCOUNT               = 0x1
-+	ATTR_FILE_RSRCALLOCSIZE           = 0x2000
-+	ATTR_FILE_RSRCEXTENTS             = 0x4000
-+	ATTR_FILE_RSRCLENGTH              = 0x1000
-+	ATTR_FILE_SETMASK                 = 0x20
-+	ATTR_FILE_TOTALSIZE               = 0x2
-+	ATTR_FILE_VALIDMASK               = 0x37ff
-+	ATTR_VOL_ALLOCATIONCLUMP          = 0x40
-+	ATTR_VOL_ATTRIBUTES               = 0x40000000
-+	ATTR_VOL_CAPABILITIES             = 0x20000
-+	ATTR_VOL_DIRCOUNT                 = 0x400
-+	ATTR_VOL_ENCODINGSUSED            = 0x10000
-+	ATTR_VOL_FILECOUNT                = 0x200
-+	ATTR_VOL_FSTYPE                   = 0x1
-+	ATTR_VOL_INFO                     = 0x80000000
-+	ATTR_VOL_IOBLOCKSIZE              = 0x80
-+	ATTR_VOL_MAXOBJCOUNT              = 0x800
-+	ATTR_VOL_MINALLOCATION            = 0x20
-+	ATTR_VOL_MOUNTEDDEVICE            = 0x8000
-+	ATTR_VOL_MOUNTFLAGS               = 0x4000
-+	ATTR_VOL_MOUNTPOINT               = 0x1000
-+	ATTR_VOL_NAME                     = 0x2000
-+	ATTR_VOL_OBJCOUNT                 = 0x100
-+	ATTR_VOL_QUOTA_SIZE               = 0x10000000
-+	ATTR_VOL_RESERVED_SIZE            = 0x20000000
-+	ATTR_VOL_SETMASK                  = 0x80002000
-+	ATTR_VOL_SIGNATURE                = 0x2
-+	ATTR_VOL_SIZE                     = 0x4
-+	ATTR_VOL_SPACEAVAIL               = 0x10
-+	ATTR_VOL_SPACEFREE                = 0x8
-+	ATTR_VOL_UUID                     = 0x40000
-+	ATTR_VOL_VALIDMASK                = 0xf007ffff
- 	B0                                = 0x0
- 	B110                              = 0x6e
- 	B115200                           = 0x1c200
-@@ -169,6 +249,8 @@ const (
- 	CSTOP                             = 0x13
- 	CSTOPB                            = 0x400
- 	CSUSP                             = 0x1a
-+	CTL_HW                            = 0x6
-+	CTL_KERN                          = 0x1
- 	CTL_MAXNAME                       = 0xc
- 	CTL_NET                           = 0x4
- 	DLT_A429                          = 0xb8
-@@ -390,6 +472,11 @@ const (
- 	FF1                               = 0x4000
- 	FFDLY                             = 0x4000
- 	FLUSHO                            = 0x800000
-+	FSOPT_ATTR_CMN_EXTENDED           = 0x20
-+	FSOPT_NOFOLLOW                    = 0x1
-+	FSOPT_NOINMEMUPDATE               = 0x2
-+	FSOPT_PACK_INVAL_ATTRS            = 0x8
-+	FSOPT_REPORT_FULLSIZE             = 0x4
- 	F_ADDFILESIGS                     = 0x3d
- 	F_ADDFILESIGS_FOR_DYLD_SIM        = 0x53
- 	F_ADDFILESIGS_RETURN              = 0x61
-@@ -425,6 +512,7 @@ const (
- 	F_PATHPKG_CHECK                   = 0x34
- 	F_PEOFPOSMODE                     = 0x3
- 	F_PREALLOCATE                     = 0x2a
-+	F_PUNCHHOLE                       = 0x63
- 	F_RDADVISE                        = 0x2c
- 	F_RDAHEAD                         = 0x2d
- 	F_RDLCK                           = 0x1
-@@ -441,10 +529,12 @@ const (
- 	F_SINGLE_WRITER                   = 0x4c
- 	F_THAW_FS                         = 0x36
- 	F_TRANSCODEKEY                    = 0x4b
-+	F_TRIM_ACTIVE_FILE                = 0x64
- 	F_UNLCK                           = 0x2
- 	F_VOLPOSMODE                      = 0x4
- 	F_WRLCK                           = 0x3
- 	HUPCL                             = 0x4000
-+	HW_MACHINE                        = 0x1
- 	ICANON                            = 0x100
- 	ICMP6_FILTER                      = 0x12
- 	ICRNL                             = 0x100
-@@ -681,6 +771,7 @@ const (
- 	IPV6_FAITH                        = 0x1d
- 	IPV6_FLOWINFO_MASK                = 0xffffff0f
- 	IPV6_FLOWLABEL_MASK               = 0xffff0f00
-+	IPV6_FLOW_ECN_MASK                = 0x300
- 	IPV6_FRAGTTL                      = 0x3c
- 	IPV6_FW_ADD                       = 0x1e
- 	IPV6_FW_DEL                       = 0x1f
-@@ -771,6 +862,7 @@ const (
- 	IP_RECVOPTS                       = 0x5
- 	IP_RECVPKTINFO                    = 0x1a
- 	IP_RECVRETOPTS                    = 0x6
-+	IP_RECVTOS                        = 0x1b
- 	IP_RECVTTL                        = 0x18
- 	IP_RETOPTS                        = 0x8
- 	IP_RF                             = 0x8000
-@@ -789,6 +881,10 @@ const (
- 	IXANY                             = 0x800
- 	IXOFF                             = 0x400
- 	IXON                              = 0x200
-+	KERN_HOSTNAME                     = 0xa
-+	KERN_OSRELEASE                    = 0x2
-+	KERN_OSTYPE                       = 0x1
-+	KERN_VERSION                      = 0x4
- 	LOCK_EX                           = 0x2
- 	LOCK_NB                           = 0x4
- 	LOCK_SH                           = 0x1
-@@ -884,6 +980,7 @@ const (
- 	NET_RT_MAXID                      = 0xa
- 	NET_RT_STAT                       = 0x4
- 	NET_RT_TRASH                      = 0x5
-+	NFDBITS                           = 0x20
- 	NL0                               = 0x0
- 	NL1                               = 0x100
- 	NL2                               = 0x200
-@@ -1377,6 +1474,12 @@ const (
- 	WORDSIZE                          = 0x20
- 	WSTOPPED                          = 0x8
- 	WUNTRACED                         = 0x2
-+	XATTR_CREATE                      = 0x2
-+	XATTR_NODEFAULT                   = 0x10
-+	XATTR_NOFOLLOW                    = 0x1
-+	XATTR_NOSECURITY                  = 0x8
-+	XATTR_REPLACE                     = 0x4
-+	XATTR_SHOWCOMPRESSION             = 0x20
- )
- 
- // Errors
-@@ -1528,146 +1631,154 @@ const (
- )
- 
- // Error table
--var errors = [...]string{
--	1:   "operation not permitted",
--	2:   "no such file or directory",
--	3:   "no such process",
--	4:   "interrupted system call",
--	5:   "input/output error",
--	6:   "device not configured",
--	7:   "argument list too long",
--	8:   "exec format error",
--	9:   "bad file descriptor",
--	10:  "no child processes",
--	11:  "resource deadlock avoided",
--	12:  "cannot allocate memory",
--	13:  "permission denied",
--	14:  "bad address",
--	15:  "block device required",
--	16:  "resource busy",
--	17:  "file exists",
--	18:  "cross-device link",
--	19:  "operation not supported by device",
--	20:  "not a directory",
--	21:  "is a directory",
--	22:  "invalid argument",
--	23:  "too many open files in system",
--	24:  "too many open files",
--	25:  "inappropriate ioctl for device",
--	26:  "text file busy",
--	27:  "file too large",
--	28:  "no space left on device",
--	29:  "illegal seek",
--	30:  "read-only file system",
--	31:  "too many links",
--	32:  "broken pipe",
--	33:  "numerical argument out of domain",
--	34:  "result too large",
--	35:  "resource temporarily unavailable",
--	36:  "operation now in progress",
--	37:  "operation already in progress",
--	38:  "socket operation on non-socket",
--	39:  "destination address required",
--	40:  "message too long",
--	41:  "protocol wrong type for socket",
--	42:  "protocol not available",
--	43:  "protocol not supported",
--	44:  "socket type not supported",
--	45:  "operation not supported",
--	46:  "protocol family not supported",
--	47:  "address family not supported by protocol family",
--	48:  "address already in use",
--	49:  "can't assign requested address",
--	50:  "network is down",
--	51:  "network is unreachable",
--	52:  "network dropped connection on reset",
--	53:  "software caused connection abort",
--	54:  "connection reset by peer",
--	55:  "no buffer space available",
--	56:  "socket is already connected",
--	57:  "socket is not connected",
--	58:  "can't send after socket shutdown",
--	59:  "too many references: can't splice",
--	60:  "operation timed out",
--	61:  "connection refused",
--	62:  "too many levels of symbolic links",
--	63:  "file name too long",
--	64:  "host is down",
--	65:  "no route to host",
--	66:  "directory not empty",
--	67:  "too many processes",
--	68:  "too many users",
--	69:  "disc quota exceeded",
--	70:  "stale NFS file handle",
--	71:  "too many levels of remote in path",
--	72:  "RPC struct is bad",
--	73:  "RPC version wrong",
--	74:  "RPC prog. not avail",
--	75:  "program version wrong",
--	76:  "bad procedure for program",
--	77:  "no locks available",
--	78:  "function not implemented",
--	79:  "inappropriate file type or format",
--	80:  "authentication error",
--	81:  "need authenticator",
--	82:  "device power is off",
--	83:  "device error",
--	84:  "value too large to be stored in data type",
--	85:  "bad executable (or shared library)",
--	86:  "bad CPU type in executable",
--	87:  "shared library version mismatch",
--	88:  "malformed Mach-o file",
--	89:  "operation canceled",
--	90:  "identifier removed",
--	91:  "no message of desired type",
--	92:  "illegal byte sequence",
--	93:  "attribute not found",
--	94:  "bad message",
--	95:  "EMULTIHOP (Reserved)",
--	96:  "no message available on STREAM",
--	97:  "ENOLINK (Reserved)",
--	98:  "no STREAM resources",
--	99:  "not a STREAM",
--	100: "protocol error",
--	101: "STREAM ioctl timeout",
--	102: "operation not supported on socket",
--	103: "policy not found",
--	104: "state not recoverable",
--	105: "previous owner died",
--	106: "interface output queue is full",
-+var errorList = [...]struct {
-+	num  syscall.Errno
-+	name string
-+	desc string
-+}{
-+	{1, "EPERM", "operation not permitted"},
-+	{2, "ENOENT", "no such file or directory"},
-+	{3, "ESRCH", "no such process"},
-+	{4, "EINTR", "interrupted system call"},
-+	{5, "EIO", "input/output error"},
-+	{6, "ENXIO", "device not configured"},
-+	{7, "E2BIG", "argument list too long"},
-+	{8, "ENOEXEC", "exec format error"},
-+	{9, "EBADF", "bad file descriptor"},
-+	{10, "ECHILD", "no child processes"},
-+	{11, "EDEADLK", "resource deadlock avoided"},
-+	{12, "ENOMEM", "cannot allocate memory"},
-+	{13, "EACCES", "permission denied"},
-+	{14, "EFAULT", "bad address"},
-+	{15, "ENOTBLK", "block device required"},
-+	{16, "EBUSY", "resource busy"},
-+	{17, "EEXIST", "file exists"},
-+	{18, "EXDEV", "cross-device link"},
-+	{19, "ENODEV", "operation not supported by device"},
-+	{20, "ENOTDIR", "not a directory"},
-+	{21, "EISDIR", "is a directory"},
-+	{22, "EINVAL", "invalid argument"},
-+	{23, "ENFILE", "too many open files in system"},
-+	{24, "EMFILE", "too many open files"},
-+	{25, "ENOTTY", "inappropriate ioctl for device"},
-+	{26, "ETXTBSY", "text file busy"},
-+	{27, "EFBIG", "file too large"},
-+	{28, "ENOSPC", "no space left on device"},
-+	{29, "ESPIPE", "illegal seek"},
-+	{30, "EROFS", "read-only file system"},
-+	{31, "EMLINK", "too many links"},
-+	{32, "EPIPE", "broken pipe"},
-+	{33, "EDOM", "numerical argument out of domain"},
-+	{34, "ERANGE", "result too large"},
-+	{35, "EAGAIN", "resource temporarily unavailable"},
-+	{36, "EINPROGRESS", "operation now in progress"},
-+	{37, "EALREADY", "operation already in progress"},
-+	{38, "ENOTSOCK", "socket operation on non-socket"},
-+	{39, "EDESTADDRREQ", "destination address required"},
-+	{40, "EMSGSIZE", "message too long"},
-+	{41, "EPROTOTYPE", "protocol wrong type for socket"},
-+	{42, "ENOPROTOOPT", "protocol not available"},
-+	{43, "EPROTONOSUPPORT", "protocol not supported"},
-+	{44, "ESOCKTNOSUPPORT", "socket type not supported"},
-+	{45, "ENOTSUP", "operation not supported"},
-+	{46, "EPFNOSUPPORT", "protocol family not supported"},
-+	{47, "EAFNOSUPPORT", "address family not supported by protocol family"},
-+	{48, "EADDRINUSE", "address already in use"},
-+	{49, "EADDRNOTAVAIL", "can't assign requested address"},
-+	{50, "ENETDOWN", "network is down"},
-+	{51, "ENETUNREACH", "network is unreachable"},
-+	{52, "ENETRESET", "network dropped connection on reset"},
-+	{53, "ECONNABORTED", "software caused connection abort"},
-+	{54, "ECONNRESET", "connection reset by peer"},
-+	{55, "ENOBUFS", "no buffer space available"},
-+	{56, "EISCONN", "socket is already connected"},
-+	{57, "ENOTCONN", "socket is not connected"},
-+	{58, "ESHUTDOWN", "can't send after socket shutdown"},
-+	{59, "ETOOMANYREFS", "too many references: can't splice"},
-+	{60, "ETIMEDOUT", "operation timed out"},
-+	{61, "ECONNREFUSED", "connection refused"},
-+	{62, "ELOOP", "too many levels of symbolic links"},
-+	{63, "ENAMETOOLONG", "file name too long"},
-+	{64, "EHOSTDOWN", "host is down"},
-+	{65, "EHOSTUNREACH", "no route to host"},
-+	{66, "ENOTEMPTY", "directory not empty"},
-+	{67, "EPROCLIM", "too many processes"},
-+	{68, "EUSERS", "too many users"},
-+	{69, "EDQUOT", "disc quota exceeded"},
-+	{70, "ESTALE", "stale NFS file handle"},
-+	{71, "EREMOTE", "too many levels of remote in path"},
-+	{72, "EBADRPC", "RPC struct is bad"},
-+	{73, "ERPCMISMATCH", "RPC version wrong"},
-+	{74, "EPROGUNAVAIL", "RPC prog. not avail"},
-+	{75, "EPROGMISMATCH", "program version wrong"},
-+	{76, "EPROCUNAVAIL", "bad procedure for program"},
-+	{77, "ENOLCK", "no locks available"},
-+	{78, "ENOSYS", "function not implemented"},
-+	{79, "EFTYPE", "inappropriate file type or format"},
-+	{80, "EAUTH", "authentication error"},
-+	{81, "ENEEDAUTH", "need authenticator"},
-+	{82, "EPWROFF", "device power is off"},
-+	{83, "EDEVERR", "device error"},
-+	{84, "EOVERFLOW", "value too large to be stored in data type"},
-+	{85, "EBADEXEC", "bad executable (or shared library)"},
-+	{86, "EBADARCH", "bad CPU type in executable"},
-+	{87, "ESHLIBVERS", "shared library version mismatch"},
-+	{88, "EBADMACHO", "malformed Mach-o file"},
-+	{89, "ECANCELED", "operation canceled"},
-+	{90, "EIDRM", "identifier removed"},
-+	{91, "ENOMSG", "no message of desired type"},
-+	{92, "EILSEQ", "illegal byte sequence"},
-+	{93, "ENOATTR", "attribute not found"},
-+	{94, "EBADMSG", "bad message"},
-+	{95, "EMULTIHOP", "EMULTIHOP (Reserved)"},
-+	{96, "ENODATA", "no message available on STREAM"},
-+	{97, "ENOLINK", "ENOLINK (Reserved)"},
-+	{98, "ENOSR", "no STREAM resources"},
-+	{99, "ENOSTR", "not a STREAM"},
-+	{100, "EPROTO", "protocol error"},
-+	{101, "ETIME", "STREAM ioctl timeout"},
-+	{102, "EOPNOTSUPP", "operation not supported on socket"},
-+	{103, "ENOPOLICY", "policy not found"},
-+	{104, "ENOTRECOVERABLE", "state not recoverable"},
-+	{105, "EOWNERDEAD", "previous owner died"},
-+	{106, "EQFULL", "interface output queue is full"},
- }
- 
- // Signal table
--var signals = [...]string{
--	1:  "hangup",
--	2:  "interrupt",
--	3:  "quit",
--	4:  "illegal instruction",
--	5:  "trace/BPT trap",
--	6:  "abort trap",
--	7:  "EMT trap",
--	8:  "floating point exception",
--	9:  "killed",
--	10: "bus error",
--	11: "segmentation fault",
--	12: "bad system call",
--	13: "broken pipe",
--	14: "alarm clock",
--	15: "terminated",
--	16: "urgent I/O condition",
--	17: "suspended (signal)",
--	18: "suspended",
--	19: "continued",
--	20: "child exited",
--	21: "stopped (tty input)",
--	22: "stopped (tty output)",
--	23: "I/O possible",
--	24: "cputime limit exceeded",
--	25: "filesize limit exceeded",
--	26: "virtual timer expired",
--	27: "profiling timer expired",
--	28: "window size changes",
--	29: "information request",
--	30: "user defined signal 1",
--	31: "user defined signal 2",
-+var signalList = [...]struct {
-+	num  syscall.Signal
-+	name string
-+	desc string
-+}{
-+	{1, "SIGHUP", "hangup"},
-+	{2, "SIGINT", "interrupt"},
-+	{3, "SIGQUIT", "quit"},
-+	{4, "SIGILL", "illegal instruction"},
-+	{5, "SIGTRAP", "trace/BPT trap"},
-+	{6, "SIGABRT", "abort trap"},
-+	{7, "SIGEMT", "EMT trap"},
-+	{8, "SIGFPE", "floating point exception"},
-+	{9, "SIGKILL", "killed"},
-+	{10, "SIGBUS", "bus error"},
-+	{11, "SIGSEGV", "segmentation fault"},
-+	{12, "SIGSYS", "bad system call"},
-+	{13, "SIGPIPE", "broken pipe"},
-+	{14, "SIGALRM", "alarm clock"},
-+	{15, "SIGTERM", "terminated"},
-+	{16, "SIGURG", "urgent I/O condition"},
-+	{17, "SIGSTOP", "suspended (signal)"},
-+	{18, "SIGTSTP", "suspended"},
-+	{19, "SIGCONT", "continued"},
-+	{20, "SIGCHLD", "child exited"},
-+	{21, "SIGTTIN", "stopped (tty input)"},
-+	{22, "SIGTTOU", "stopped (tty output)"},
-+	{23, "SIGIO", "I/O possible"},
-+	{24, "SIGXCPU", "cputime limit exceeded"},
-+	{25, "SIGXFSZ", "filesize limit exceeded"},
-+	{26, "SIGVTALRM", "virtual timer expired"},
-+	{27, "SIGPROF", "profiling timer expired"},
-+	{28, "SIGWINCH", "window size changes"},
-+	{29, "SIGINFO", "information request"},
-+	{30, "SIGUSR1", "user defined signal 1"},
-+	{31, "SIGUSR2", "user defined signal 2"},
- }
-diff --git a/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go
-index 48f63d4f..e3ff2ee3 100644
---- a/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go
-+++ b/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go
-@@ -3,7 +3,7 @@
- 
- // +build amd64,darwin
- 
--// Created by cgo -godefs - DO NOT EDIT
-+// Code generated by cmd/cgo -godefs; DO NOT EDIT.
- // cgo -godefs -- -m64 _const.go
- 
- package unix
-@@ -49,6 +49,86 @@ const (
- 	AF_UNSPEC                         = 0x0
- 	AF_UTUN                           = 0x26
- 	ALTWERASE                         = 0x200
-+	ATTR_BIT_MAP_COUNT                = 0x5
-+	ATTR_CMN_ACCESSMASK               = 0x20000
-+	ATTR_CMN_ACCTIME                  = 0x1000
-+	ATTR_CMN_ADDEDTIME                = 0x10000000
-+	ATTR_CMN_BKUPTIME                 = 0x2000
-+	ATTR_CMN_CHGTIME                  = 0x800
-+	ATTR_CMN_CRTIME                   = 0x200
-+	ATTR_CMN_DATA_PROTECT_FLAGS       = 0x40000000
-+	ATTR_CMN_DEVID                    = 0x2
-+	ATTR_CMN_DOCUMENT_ID              = 0x100000
-+	ATTR_CMN_ERROR                    = 0x20000000
-+	ATTR_CMN_EXTENDED_SECURITY        = 0x400000
-+	ATTR_CMN_FILEID                   = 0x2000000
-+	ATTR_CMN_FLAGS                    = 0x40000
-+	ATTR_CMN_FNDRINFO                 = 0x4000
-+	ATTR_CMN_FSID                     = 0x4
-+	ATTR_CMN_FULLPATH                 = 0x8000000
-+	ATTR_CMN_GEN_COUNT                = 0x80000
-+	ATTR_CMN_GRPID                    = 0x10000
-+	ATTR_CMN_GRPUUID                  = 0x1000000
-+	ATTR_CMN_MODTIME                  = 0x400
-+	ATTR_CMN_NAME                     = 0x1
-+	ATTR_CMN_NAMEDATTRCOUNT           = 0x80000
-+	ATTR_CMN_NAMEDATTRLIST            = 0x100000
-+	ATTR_CMN_OBJID                    = 0x20
-+	ATTR_CMN_OBJPERMANENTID           = 0x40
-+	ATTR_CMN_OBJTAG                   = 0x10
-+	ATTR_CMN_OBJTYPE                  = 0x8
-+	ATTR_CMN_OWNERID                  = 0x8000
-+	ATTR_CMN_PARENTID                 = 0x4000000
-+	ATTR_CMN_PAROBJID                 = 0x80
-+	ATTR_CMN_RETURNED_ATTRS           = 0x80000000
-+	ATTR_CMN_SCRIPT                   = 0x100
-+	ATTR_CMN_SETMASK                  = 0x41c7ff00
-+	ATTR_CMN_USERACCESS               = 0x200000
-+	ATTR_CMN_UUID                     = 0x800000
-+	ATTR_CMN_VALIDMASK                = 0xffffffff
-+	ATTR_CMN_VOLSETMASK               = 0x6700
-+	ATTR_FILE_ALLOCSIZE               = 0x4
-+	ATTR_FILE_CLUMPSIZE               = 0x10
-+	ATTR_FILE_DATAALLOCSIZE           = 0x400
-+	ATTR_FILE_DATAEXTENTS             = 0x800
-+	ATTR_FILE_DATALENGTH              = 0x200
-+	ATTR_FILE_DEVTYPE                 = 0x20
-+	ATTR_FILE_FILETYPE                = 0x40
-+	ATTR_FILE_FORKCOUNT               = 0x80
-+	ATTR_FILE_FORKLIST                = 0x100
-+	ATTR_FILE_IOBLOCKSIZE             = 0x8
-+	ATTR_FILE_LINKCOUNT               = 0x1
-+	ATTR_FILE_RSRCALLOCSIZE           = 0x2000
-+	ATTR_FILE_RSRCEXTENTS             = 0x4000
-+	ATTR_FILE_RSRCLENGTH              = 0x1000
-+	ATTR_FILE_SETMASK                 = 0x20
-+	ATTR_FILE_TOTALSIZE               = 0x2
-+	ATTR_FILE_VALIDMASK               = 0x37ff
-+	ATTR_VOL_ALLOCATIONCLUMP          = 0x40
-+	ATTR_VOL_ATTRIBUTES               = 0x40000000
-+	ATTR_VOL_CAPABILITIES             = 0x20000
-+	ATTR_VOL_DIRCOUNT                 = 0x400
-+	ATTR_VOL_ENCODINGSUSED            = 0x10000
-+	ATTR_VOL_FILECOUNT                = 0x200
-+	ATTR_VOL_FSTYPE                   = 0x1
-+	ATTR_VOL_INFO                     = 0x80000000
-+	ATTR_VOL_IOBLOCKSIZE              = 0x80
-+	ATTR_VOL_MAXOBJCOUNT              = 0x800
-+	ATTR_VOL_MINALLOCATION            = 0x20
-+	ATTR_VOL_MOUNTEDDEVICE            = 0x8000
-+	ATTR_VOL_MOUNTFLAGS               = 0x4000
-+	ATTR_VOL_MOUNTPOINT               = 0x1000
-+	ATTR_VOL_NAME                     = 0x2000
-+	ATTR_VOL_OBJCOUNT                 = 0x100
-+	ATTR_VOL_QUOTA_SIZE               = 0x10000000
-+	ATTR_VOL_RESERVED_SIZE            = 0x20000000
-+	ATTR_VOL_SETMASK                  = 0x80002000
-+	ATTR_VOL_SIGNATURE                = 0x2
-+	ATTR_VOL_SIZE                     = 0x4
-+	ATTR_VOL_SPACEAVAIL               = 0x10
-+	ATTR_VOL_SPACEFREE                = 0x8
-+	ATTR_VOL_UUID                     = 0x40000
-+	ATTR_VOL_VALIDMASK                = 0xf007ffff
- 	B0                                = 0x0
- 	B110                              = 0x6e
- 	B115200                           = 0x1c200
-@@ -169,6 +249,8 @@ const (
- 	CSTOP                             = 0x13
- 	CSTOPB                            = 0x400
- 	CSUSP                             = 0x1a
-+	CTL_HW                            = 0x6
-+	CTL_KERN                          = 0x1
- 	CTL_MAXNAME                       = 0xc
- 	CTL_NET                           = 0x4
- 	DLT_A429                          = 0xb8
-@@ -390,6 +472,11 @@ const (
- 	FF1                               = 0x4000
- 	FFDLY                             = 0x4000
- 	FLUSHO                            = 0x800000
-+	FSOPT_ATTR_CMN_EXTENDED           = 0x20
-+	FSOPT_NOFOLLOW                    = 0x1
-+	FSOPT_NOINMEMUPDATE               = 0x2
-+	FSOPT_PACK_INVAL_ATTRS            = 0x8
-+	FSOPT_REPORT_FULLSIZE             = 0x4
- 	F_ADDFILESIGS                     = 0x3d
- 	F_ADDFILESIGS_FOR_DYLD_SIM        = 0x53
- 	F_ADDFILESIGS_RETURN              = 0x61
-@@ -425,6 +512,7 @@ const (
- 	F_PATHPKG_CHECK                   = 0x34
- 	F_PEOFPOSMODE                     = 0x3
- 	F_PREALLOCATE                     = 0x2a
-+	F_PUNCHHOLE                       = 0x63
- 	F_RDADVISE                        = 0x2c
- 	F_RDAHEAD                         = 0x2d
- 	F_RDLCK                           = 0x1
-@@ -441,10 +529,12 @@ const (
- 	F_SINGLE_WRITER                   = 0x4c
- 	F_THAW_FS                         = 0x36
- 	F_TRANSCODEKEY                    = 0x4b
-+	F_TRIM_ACTIVE_FILE                = 0x64
- 	F_UNLCK                           = 0x2
- 	F_VOLPOSMODE                      = 0x4
- 	F_WRLCK                           = 0x3
- 	HUPCL                             = 0x4000
-+	HW_MACHINE                        = 0x1
- 	ICANON                            = 0x100
- 	ICMP6_FILTER                      = 0x12
- 	ICRNL                             = 0x100
-@@ -681,6 +771,7 @@ const (
- 	IPV6_FAITH                        = 0x1d
- 	IPV6_FLOWINFO_MASK                = 0xffffff0f
- 	IPV6_FLOWLABEL_MASK               = 0xffff0f00
-+	IPV6_FLOW_ECN_MASK                = 0x300
- 	IPV6_FRAGTTL                      = 0x3c
- 	IPV6_FW_ADD                       = 0x1e
- 	IPV6_FW_DEL                       = 0x1f
-@@ -771,6 +862,7 @@ const (
- 	IP_RECVOPTS                       = 0x5
- 	IP_RECVPKTINFO                    = 0x1a
- 	IP_RECVRETOPTS                    = 0x6
-+	IP_RECVTOS                        = 0x1b
- 	IP_RECVTTL                        = 0x18
- 	IP_RETOPTS                        = 0x8
- 	IP_RF                             = 0x8000
-@@ -789,6 +881,10 @@ const (
- 	IXANY                             = 0x800
- 	IXOFF                             = 0x400
- 	IXON                              = 0x200
-+	KERN_HOSTNAME                     = 0xa
-+	KERN_OSRELEASE                    = 0x2
-+	KERN_OSTYPE                       = 0x1
-+	KERN_VERSION                      = 0x4
- 	LOCK_EX                           = 0x2
- 	LOCK_NB                           = 0x4
- 	LOCK_SH                           = 0x1
-@@ -884,6 +980,7 @@ const (
- 	NET_RT_MAXID                      = 0xa
- 	NET_RT_STAT                       = 0x4
- 	NET_RT_TRASH                      = 0x5
-+	NFDBITS                           = 0x20
- 	NL0                               = 0x0
- 	NL1                               = 0x100
- 	NL2                               = 0x200
-@@ -1377,6 +1474,12 @@ const (
- 	WORDSIZE                          = 0x40
- 	WSTOPPED                          = 0x8
- 	WUNTRACED                         = 0x2
-+	XATTR_CREATE                      = 0x2
-+	XATTR_NODEFAULT                   = 0x10
-+	XATTR_NOFOLLOW                    = 0x1
-+	XATTR_NOSECURITY                  = 0x8
-+	XATTR_REPLACE                     = 0x4
-+	XATTR_SHOWCOMPRESSION             = 0x20
- )
- 
- // Errors
-@@ -1528,146 +1631,154 @@ const (
- )
- 
- // Error table
--var errors = [...]string{
--	1:   "operation not permitted",
--	2:   "no such file or directory",
--	3:   "no such process",
--	4:   "interrupted system call",
--	5:   "input/output error",
--	6:   "device not configured",
--	7:   "argument list too long",
--	8:   "exec format error",
--	9:   "bad file descriptor",
--	10:  "no child processes",
--	11:  "resource deadlock avoided",
--	12:  "cannot allocate memory",
--	13:  "permission denied",
--	14:  "bad address",
--	15:  "block device required",
--	16:  "resource busy",
--	17:  "file exists",
--	18:  "cross-device link",
--	19:  "operation not supported by device",
--	20:  "not a directory",
--	21:  "is a directory",
--	22:  "invalid argument",
--	23:  "too many open files in system",
--	24:  "too many open files",
--	25:  "inappropriate ioctl for device",
--	26:  "text file busy",
--	27:  "file too large",
--	28:  "no space left on device",
--	29:  "illegal seek",
--	30:  "read-only file system",
--	31:  "too many links",
--	32:  "broken pipe",
--	33:  "numerical argument out of domain",
--	34:  "result too large",
--	35:  "resource temporarily unavailable",
--	36:  "operation now in progress",
--	37:  "operation already in progress",
--	38:  "socket operation on non-socket",
--	39:  "destination address required",
--	40:  "message too long",
--	41:  "protocol wrong type for socket",
--	42:  "protocol not available",
--	43:  "protocol not supported",
--	44:  "socket type not supported",
--	45:  "operation not supported",
--	46:  "protocol family not supported",
--	47:  "address family not supported by protocol family",
--	48:  "address already in use",
--	49:  "can't assign requested address",
--	50:  "network is down",
--	51:  "network is unreachable",
--	52:  "network dropped connection on reset",
--	53:  "software caused connection abort",
--	54:  "connection reset by peer",
--	55:  "no buffer space available",
--	56:  "socket is already connected",
--	57:  "socket is not connected",
--	58:  "can't send after socket shutdown",
--	59:  "too many references: can't splice",
--	60:  "operation timed out",
--	61:  "connection refused",
--	62:  "too many levels of symbolic links",
--	63:  "file name too long",
--	64:  "host is down",
--	65:  "no route to host",
--	66:  "directory not empty",
--	67:  "too many processes",
--	68:  "too many users",
--	69:  "disc quota exceeded",
--	70:  "stale NFS file handle",
--	71:  "too many levels of remote in path",
--	72:  "RPC struct is bad",
--	73:  "RPC version wrong",
--	74:  "RPC prog. not avail",
--	75:  "program version wrong",
--	76:  "bad procedure for program",
--	77:  "no locks available",
--	78:  "function not implemented",
--	79:  "inappropriate file type or format",
--	80:  "authentication error",
--	81:  "need authenticator",
--	82:  "device power is off",
--	83:  "device error",
--	84:  "value too large to be stored in data type",
--	85:  "bad executable (or shared library)",
--	86:  "bad CPU type in executable",
--	87:  "shared library version mismatch",
--	88:  "malformed Mach-o file",
--	89:  "operation canceled",
--	90:  "identifier removed",
--	91:  "no message of desired type",
--	92:  "illegal byte sequence",
--	93:  "attribute not found",
--	94:  "bad message",
--	95:  "EMULTIHOP (Reserved)",
--	96:  "no message available on STREAM",
--	97:  "ENOLINK (Reserved)",
--	98:  "no STREAM resources",
--	99:  "not a STREAM",
--	100: "protocol error",
--	101: "STREAM ioctl timeout",
--	102: "operation not supported on socket",
--	103: "policy not found",
--	104: "state not recoverable",
--	105: "previous owner died",
--	106: "interface output queue is full",
-+var errorList = [...]struct {
-+	num  syscall.Errno
-+	name string
-+	desc string
-+}{
-+	{1, "EPERM", "operation not permitted"},
-+	{2, "ENOENT", "no such file or directory"},
-+	{3, "ESRCH", "no such process"},
-+	{4, "EINTR", "interrupted system call"},
-+	{5, "EIO", "input/output error"},
-+	{6, "ENXIO", "device not configured"},
-+	{7, "E2BIG", "argument list too long"},
-+	{8, "ENOEXEC", "exec format error"},
-+	{9, "EBADF", "bad file descriptor"},
-+	{10, "ECHILD", "no child processes"},
-+	{11, "EDEADLK", "resource deadlock avoided"},
-+	{12, "ENOMEM", "cannot allocate memory"},
-+	{13, "EACCES", "permission denied"},
-+	{14, "EFAULT", "bad address"},
-+	{15, "ENOTBLK", "block device required"},
-+	{16, "EBUSY", "resource busy"},
-+	{17, "EEXIST", "file exists"},
-+	{18, "EXDEV", "cross-device link"},
-+	{19, "ENODEV", "operation not supported by device"},
-+	{20, "ENOTDIR", "not a directory"},
-+	{21, "EISDIR", "is a directory"},
-+	{22, "EINVAL", "invalid argument"},
-+	{23, "ENFILE", "too many open files in system"},
-+	{24, "EMFILE", "too many open files"},
-+	{25, "ENOTTY", "inappropriate ioctl for device"},
-+	{26, "ETXTBSY", "text file busy"},
-+	{27, "EFBIG", "file too large"},
-+	{28, "ENOSPC", "no space left on device"},
-+	{29, "ESPIPE", "illegal seek"},
-+	{30, "EROFS", "read-only file system"},
-+	{31, "EMLINK", "too many links"},
-+	{32, "EPIPE", "broken pipe"},
-+	{33, "EDOM", "numerical argument out of domain"},
-+	{34, "ERANGE", "result too large"},
-+	{35, "EAGAIN", "resource temporarily unavailable"},
-+	{36, "EINPROGRESS", "operation now in progress"},
-+	{37, "EALREADY", "operation already in progress"},
-+	{38, "ENOTSOCK", "socket operation on non-socket"},
-+	{39, "EDESTADDRREQ", "destination address required"},
-+	{40, "EMSGSIZE", "message too long"},
-+	{41, "EPROTOTYPE", "protocol wrong type for socket"},
-+	{42, "ENOPROTOOPT", "protocol not available"},
-+	{43, "EPROTONOSUPPORT", "protocol not supported"},
-+	{44, "ESOCKTNOSUPPORT", "socket type not supported"},
-+	{45, "ENOTSUP", "operation not supported"},
-+	{46, "EPFNOSUPPORT", "protocol family not supported"},
-+	{47, "EAFNOSUPPORT", "address family not supported by protocol family"},
-+	{48, "EADDRINUSE", "address already in use"},
-+	{49, "EADDRNOTAVAIL", "can't assign requested address"},
-+	{50, "ENETDOWN", "network is down"},
-+	{51, "ENETUNREACH", "network is unreachable"},
-+	{52, "ENETRESET", "network dropped connection on reset"},
-+	{53, "ECONNABORTED", "software caused connection abort"},
-+	{54, "ECONNRESET", "connection reset by peer"},
-+	{55, "ENOBUFS", "no buffer space available"},
-+	{56, "EISCONN", "socket is already connected"},
-+	{57, "ENOTCONN", "socket is not connected"},
-+	{58, "ESHUTDOWN", "can't send after socket shutdown"},
-+	{59, "ETOOMANYREFS", "too many references: can't splice"},
-+	{60, "ETIMEDOUT", "operation timed out"},
-+	{61, "ECONNREFUSED", "connection refused"},
-+	{62, "ELOOP", "too many levels of symbolic links"},
-+	{63, "ENAMETOOLONG", "file name too long"},
-+	{64, "EHOSTDOWN", "host is down"},
-+	{65, "EHOSTUNREACH", "no route to host"},
-+	{66, "ENOTEMPTY", "directory not empty"},
-+	{67, "EPROCLIM", "too many processes"},
-+	{68, "EUSERS", "too many users"},
-+	{69, "EDQUOT", "disc quota exceeded"},
-+	{70, "ESTALE", "stale NFS file handle"},
-+	{71, "EREMOTE", "too many levels of remote in path"},
-+	{72, "EBADRPC", "RPC struct is bad"},
-+	{73, "ERPCMISMATCH", "RPC version wrong"},
-+	{74, "EPROGUNAVAIL", "RPC prog. not avail"},
-+	{75, "EPROGMISMATCH", "program version wrong"},
-+	{76, "EPROCUNAVAIL", "bad procedure for program"},
-+	{77, "ENOLCK", "no locks available"},
-+	{78, "ENOSYS", "function not implemented"},
-+	{79, "EFTYPE", "inappropriate file type or format"},
-+	{80, "EAUTH", "authentication error"},
-+	{81, "ENEEDAUTH", "need authenticator"},
-+	{82, "EPWROFF", "device power is off"},
-+	{83, "EDEVERR", "device error"},
-+	{84, "EOVERFLOW", "value too large to be stored in data type"},
-+	{85, "EBADEXEC", "bad executable (or shared library)"},
-+	{86, "EBADARCH", "bad CPU type in executable"},
-+	{87, "ESHLIBVERS", "shared library version mismatch"},
-+	{88, "EBADMACHO", "malformed Mach-o file"},
-+	{89, "ECANCELED", "operation canceled"},
-+	{90, "EIDRM", "identifier removed"},
-+	{91, "ENOMSG", "no message of desired type"},
-+	{92, "EILSEQ", "illegal byte sequence"},
-+	{93, "ENOATTR", "attribute not found"},
-+	{94, "EBADMSG", "bad message"},
-+	{95, "EMULTIHOP", "EMULTIHOP (Reserved)"},
-+	{96, "ENODATA", "no message available on STREAM"},
-+	{97, "ENOLINK", "ENOLINK (Reserved)"},
-+	{98, "ENOSR", "no STREAM resources"},
-+	{99, "ENOSTR", "not a STREAM"},
-+	{100, "EPROTO", "protocol error"},
-+	{101, "ETIME", "STREAM ioctl timeout"},
-+	{102, "EOPNOTSUPP", "operation not supported on socket"},
-+	{103, "ENOPOLICY", "policy not found"},
-+	{104, "ENOTRECOVERABLE", "state not recoverable"},
-+	{105, "EOWNERDEAD", "previous owner died"},
-+	{106, "EQFULL", "interface output queue is full"},
- }
- 
- // Signal table
--var signals = [...]string{
--	1:  "hangup",
--	2:  "interrupt",
--	3:  "quit",
--	4:  "illegal instruction",
--	5:  "trace/BPT trap",
--	6:  "abort trap",
--	7:  "EMT trap",
--	8:  "floating point exception",
--	9:  "killed",
--	10: "bus error",
--	11: "segmentation fault",
--	12: "bad system call",
--	13: "broken pipe",
--	14: "alarm clock",
--	15: "terminated",
--	16: "urgent I/O condition",
--	17: "suspended (signal)",
--	18: "suspended",
--	19: "continued",
--	20: "child exited",
--	21: "stopped (tty input)",
--	22: "stopped (tty output)",
--	23: "I/O possible",
--	24: "cputime limit exceeded",
--	25: "filesize limit exceeded",
--	26: "virtual timer expired",
--	27: "profiling timer expired",
--	28: "window size changes",
--	29: "information request",
--	30: "user defined signal 1",
--	31: "user defined signal 2",
-+var signalList = [...]struct {
-+	num  syscall.Signal
-+	name string
-+	desc string
-+}{
-+	{1, "SIGHUP", "hangup"},
-+	{2, "SIGINT", "interrupt"},
-+	{3, "SIGQUIT", "quit"},
-+	{4, "SIGILL", "illegal instruction"},
-+	{5, "SIGTRAP", "trace/BPT trap"},
-+	{6, "SIGABRT", "abort trap"},
-+	{7, "SIGEMT", "EMT trap"},
-+	{8, "SIGFPE", "floating point exception"},
-+	{9, "SIGKILL", "killed"},
-+	{10, "SIGBUS", "bus error"},
-+	{11, "SIGSEGV", "segmentation fault"},
-+	{12, "SIGSYS", "bad system call"},
-+	{13, "SIGPIPE", "broken pipe"},
-+	{14, "SIGALRM", "alarm clock"},
-+	{15, "SIGTERM", "terminated"},
-+	{16, "SIGURG", "urgent I/O condition"},
-+	{17, "SIGSTOP", "suspended (signal)"},
-+	{18, "SIGTSTP", "suspended"},
-+	{19, "SIGCONT", "continued"},
-+	{20, "SIGCHLD", "child exited"},
-+	{21, "SIGTTIN", "stopped (tty input)"},
-+	{22, "SIGTTOU", "stopped (tty output)"},
-+	{23, "SIGIO", "I/O possible"},
-+	{24, "SIGXCPU", "cputime limit exceeded"},
-+	{25, "SIGXFSZ", "filesize limit exceeded"},
-+	{26, "SIGVTALRM", "virtual timer expired"},
-+	{27, "SIGPROF", "profiling timer expired"},
-+	{28, "SIGWINCH", "window size changes"},
-+	{29, "SIGINFO", "information request"},
-+	{30, "SIGUSR1", "user defined signal 1"},
-+	{31, "SIGUSR2", "user defined signal 2"},
- }
-diff --git a/vendor/golang.org/x/sys/unix/zerrors_darwin_arm.go b/vendor/golang.org/x/sys/unix/zerrors_darwin_arm.go
-index 24cb522d..3e417571 100644
---- a/vendor/golang.org/x/sys/unix/zerrors_darwin_arm.go
-+++ b/vendor/golang.org/x/sys/unix/zerrors_darwin_arm.go
-@@ -3,7 +3,7 @@
- 
- // +build arm,darwin
- 
--// Created by cgo -godefs - DO NOT EDIT
-+// Code generated by cmd/cgo -godefs; DO NOT EDIT.
- // cgo -godefs -- _const.go
- 
- package unix
-@@ -49,6 +49,86 @@ const (
- 	AF_UNSPEC                         = 0x0
- 	AF_UTUN                           = 0x26
- 	ALTWERASE                         = 0x200
-+	ATTR_BIT_MAP_COUNT                = 0x5
-+	ATTR_CMN_ACCESSMASK               = 0x20000
-+	ATTR_CMN_ACCTIME                  = 0x1000
-+	ATTR_CMN_ADDEDTIME                = 0x10000000
-+	ATTR_CMN_BKUPTIME                 = 0x2000
-+	ATTR_CMN_CHGTIME                  = 0x800
-+	ATTR_CMN_CRTIME                   = 0x200
-+	ATTR_CMN_DATA_PROTECT_FLAGS       = 0x40000000
-+	ATTR_CMN_DEVID                    = 0x2
-+	ATTR_CMN_DOCUMENT_ID              = 0x100000
-+	ATTR_CMN_ERROR                    = 0x20000000
-+	ATTR_CMN_EXTENDED_SECURITY        = 0x400000
-+	ATTR_CMN_FILEID                   = 0x2000000
-+	ATTR_CMN_FLAGS                    = 0x40000
-+	ATTR_CMN_FNDRINFO                 = 0x4000
-+	ATTR_CMN_FSID                     = 0x4
-+	ATTR_CMN_FULLPATH                 = 0x8000000
-+	ATTR_CMN_GEN_COUNT                = 0x80000
-+	ATTR_CMN_GRPID                    = 0x10000
-+	ATTR_CMN_GRPUUID                  = 0x1000000
-+	ATTR_CMN_MODTIME                  = 0x400
-+	ATTR_CMN_NAME                     = 0x1
-+	ATTR_CMN_NAMEDATTRCOUNT           = 0x80000
-+	ATTR_CMN_NAMEDATTRLIST            = 0x100000
-+	ATTR_CMN_OBJID                    = 0x20
-+	ATTR_CMN_OBJPERMANENTID           = 0x40
-+	ATTR_CMN_OBJTAG                   = 0x10
-+	ATTR_CMN_OBJTYPE                  = 0x8
-+	ATTR_CMN_OWNERID                  = 0x8000
-+	ATTR_CMN_PARENTID                 = 0x4000000
-+	ATTR_CMN_PAROBJID                 = 0x80
-+	ATTR_CMN_RETURNED_ATTRS           = 0x80000000
-+	ATTR_CMN_SCRIPT                   = 0x100
-+	ATTR_CMN_SETMASK                  = 0x41c7ff00
-+	ATTR_CMN_USERACCESS               = 0x200000
-+	ATTR_CMN_UUID                     = 0x800000
-+	ATTR_CMN_VALIDMASK                = 0xffffffff
-+	ATTR_CMN_VOLSETMASK               = 0x6700
-+	ATTR_FILE_ALLOCSIZE               = 0x4
-+	ATTR_FILE_CLUMPSIZE               = 0x10
-+	ATTR_FILE_DATAALLOCSIZE           = 0x400
-+	ATTR_FILE_DATAEXTENTS             = 0x800
-+	ATTR_FILE_DATALENGTH              = 0x200
-+	ATTR_FILE_DEVTYPE                 = 0x20
-+	ATTR_FILE_FILETYPE                = 0x40
-+	ATTR_FILE_FORKCOUNT               = 0x80
-+	ATTR_FILE_FORKLIST                = 0x100
-+	ATTR_FILE_IOBLOCKSIZE             = 0x8
-+	ATTR_FILE_LINKCOUNT               = 0x1
-+	ATTR_FILE_RSRCALLOCSIZE           = 0x2000
-+	ATTR_FILE_RSRCEXTENTS             = 0x4000
-+	ATTR_FILE_RSRCLENGTH              = 0x1000
-+	ATTR_FILE_SETMASK                 = 0x20
-+	ATTR_FILE_TOTALSIZE               = 0x2
-+	ATTR_FILE_VALIDMASK               = 0x37ff
-+	ATTR_VOL_ALLOCATIONCLUMP          = 0x40
-+	ATTR_VOL_ATTRIBUTES               = 0x40000000
-+	ATTR_VOL_CAPABILITIES             = 0x20000
-+	ATTR_VOL_DIRCOUNT                 = 0x400
-+	ATTR_VOL_ENCODINGSUSED            = 0x10000
-+	ATTR_VOL_FILECOUNT                = 0x200
-+	ATTR_VOL_FSTYPE                   = 0x1
-+	ATTR_VOL_INFO                     = 0x80000000
-+	ATTR_VOL_IOBLOCKSIZE              = 0x80
-+	ATTR_VOL_MAXOBJCOUNT              = 0x800
-+	ATTR_VOL_MINALLOCATION            = 0x20
-+	ATTR_VOL_MOUNTEDDEVICE            = 0x8000
-+	ATTR_VOL_MOUNTFLAGS               = 0x4000
-+	ATTR_VOL_MOUNTPOINT               = 0x1000
-+	ATTR_VOL_NAME                     = 0x2000
-+	ATTR_VOL_OBJCOUNT                 = 0x100
-+	ATTR_VOL_QUOTA_SIZE               = 0x10000000
-+	ATTR_VOL_RESERVED_SIZE            = 0x20000000
-+	ATTR_VOL_SETMASK                  = 0x80002000
-+	ATTR_VOL_SIGNATURE                = 0x2
-+	ATTR_VOL_SIZE                     = 0x4
-+	ATTR_VOL_SPACEAVAIL               = 0x10
-+	ATTR_VOL_SPACEFREE                = 0x8
-+	ATTR_VOL_UUID                     = 0x40000
-+	ATTR_VOL_VALIDMASK                = 0xf007ffff
- 	B0                                = 0x0
- 	B110                              = 0x6e
- 	B115200                           = 0x1c200
-@@ -169,6 +249,8 @@ const (
- 	CSTOP                             = 0x13
- 	CSTOPB                            = 0x400
- 	CSUSP                             = 0x1a
-+	CTL_HW                            = 0x6
-+	CTL_KERN                          = 0x1
- 	CTL_MAXNAME                       = 0xc
- 	CTL_NET                           = 0x4
- 	DLT_A429                          = 0xb8
-@@ -390,6 +472,11 @@ const (
- 	FF1                               = 0x4000
- 	FFDLY                             = 0x4000
- 	FLUSHO                            = 0x800000
-+	FSOPT_ATTR_CMN_EXTENDED           = 0x20
-+	FSOPT_NOFOLLOW                    = 0x1
-+	FSOPT_NOINMEMUPDATE               = 0x2
-+	FSOPT_PACK_INVAL_ATTRS            = 0x8
-+	FSOPT_REPORT_FULLSIZE             = 0x4
- 	F_ADDFILESIGS                     = 0x3d
- 	F_ADDFILESIGS_FOR_DYLD_SIM        = 0x53
- 	F_ADDFILESIGS_RETURN              = 0x61
-@@ -425,6 +512,7 @@ const (
- 	F_PATHPKG_CHECK                   = 0x34
- 	F_PEOFPOSMODE                     = 0x3
- 	F_PREALLOCATE                     = 0x2a
-+	F_PUNCHHOLE                       = 0x63
- 	F_RDADVISE                        = 0x2c
- 	F_RDAHEAD                         = 0x2d
- 	F_RDLCK                           = 0x1
-@@ -441,10 +529,12 @@ const (
- 	F_SINGLE_WRITER                   = 0x4c
- 	F_THAW_FS                         = 0x36
- 	F_TRANSCODEKEY                    = 0x4b
-+	F_TRIM_ACTIVE_FILE                = 0x64
- 	F_UNLCK                           = 0x2
- 	F_VOLPOSMODE                      = 0x4
- 	F_WRLCK                           = 0x3
- 	HUPCL                             = 0x4000
-+	HW_MACHINE                        = 0x1
- 	ICANON                            = 0x100
- 	ICMP6_FILTER                      = 0x12
- 	ICRNL                             = 0x100
-@@ -681,6 +771,7 @@ const (
- 	IPV6_FAITH                        = 0x1d
- 	IPV6_FLOWINFO_MASK                = 0xffffff0f
- 	IPV6_FLOWLABEL_MASK               = 0xffff0f00
-+	IPV6_FLOW_ECN_MASK                = 0x300
- 	IPV6_FRAGTTL                      = 0x3c
- 	IPV6_FW_ADD                       = 0x1e
- 	IPV6_FW_DEL                       = 0x1f
-@@ -771,6 +862,7 @@ const (
- 	IP_RECVOPTS                       = 0x5
- 	IP_RECVPKTINFO                    = 0x1a
- 	IP_RECVRETOPTS                    = 0x6
-+	IP_RECVTOS                        = 0x1b
- 	IP_RECVTTL                        = 0x18
- 	IP_RETOPTS                        = 0x8
- 	IP_RF                             = 0x8000
-@@ -789,6 +881,10 @@ const (
- 	IXANY                             = 0x800
- 	IXOFF                             = 0x400
- 	IXON                              = 0x200
-+	KERN_HOSTNAME                     = 0xa
-+	KERN_OSRELEASE                    = 0x2
-+	KERN_OSTYPE                       = 0x1
-+	KERN_VERSION                      = 0x4
- 	LOCK_EX                           = 0x2
- 	LOCK_NB                           = 0x4
- 	LOCK_SH                           = 0x1
-@@ -884,6 +980,7 @@ const (
- 	NET_RT_MAXID                      = 0xa
- 	NET_RT_STAT                       = 0x4
- 	NET_RT_TRASH                      = 0x5
-+	NFDBITS                           = 0x20
- 	NL0                               = 0x0
- 	NL1                               = 0x100
- 	NL2                               = 0x200
-@@ -1377,6 +1474,12 @@ const (
- 	WORDSIZE                          = 0x40
- 	WSTOPPED                          = 0x8
- 	WUNTRACED                         = 0x2
-+	XATTR_CREATE                      = 0x2
-+	XATTR_NODEFAULT                   = 0x10
-+	XATTR_NOFOLLOW                    = 0x1
-+	XATTR_NOSECURITY                  = 0x8
-+	XATTR_REPLACE                     = 0x4
-+	XATTR_SHOWCOMPRESSION             = 0x20
- )
- 
- // Errors
-@@ -1528,146 +1631,154 @@ const (
- )
- 
- // Error table
--var errors = [...]string{
--	1:   "operation not permitted",
--	2:   "no such file or directory",
--	3:   "no such process",
--	4:   "interrupted system call",
--	5:   "input/output error",
--	6:   "device not configured",
--	7:   "argument list too long",
--	8:   "exec format error",
--	9:   "bad file descriptor",
--	10:  "no child processes",
--	11:  "resource deadlock avoided",
--	12:  "cannot allocate memory",
--	13:  "permission denied",
--	14:  "bad address",
--	15:  "block device required",
--	16:  "resource busy",
--	17:  "file exists",
--	18:  "cross-device link",
--	19:  "operation not supported by device",
--	20:  "not a directory",
--	21:  "is a directory",
--	22:  "invalid argument",
--	23:  "too many open files in system",
--	24:  "too many open files",
--	25:  "inappropriate ioctl for device",
--	26:  "text file busy",
--	27:  "file too large",
--	28:  "no space left on device",
--	29:  "illegal seek",
--	30:  "read-only file system",
--	31:  "too many links",
--	32:  "broken pipe",
--	33:  "numerical argument out of domain",
--	34:  "result too large",
--	35:  "resource temporarily unavailable",
--	36:  "operation now in progress",
--	37:  "operation already in progress",
--	38:  "socket operation on non-socket",
--	39:  "destination address required",
--	40:  "message too long",
--	41:  "protocol wrong type for socket",
--	42:  "protocol not available",
--	43:  "protocol not supported",
--	44:  "socket type not supported",
--	45:  "operation not supported",
--	46:  "protocol family not supported",
--	47:  "address family not supported by protocol family",
--	48:  "address already in use",
--	49:  "can't assign requested address",
--	50:  "network is down",
--	51:  "network is unreachable",
--	52:  "network dropped connection on reset",
--	53:  "software caused connection abort",
--	54:  "connection reset by peer",
--	55:  "no buffer space available",
--	56:  "socket is already connected",
--	57:  "socket is not connected",
--	58:  "can't send after socket shutdown",
--	59:  "too many references: can't splice",
--	60:  "operation timed out",
--	61:  "connection refused",
--	62:  "too many levels of symbolic links",
--	63:  "file name too long",
--	64:  "host is down",
--	65:  "no route to host",
--	66:  "directory not empty",
--	67:  "too many processes",
--	68:  "too many users",
--	69:  "disc quota exceeded",
--	70:  "stale NFS file handle",
--	71:  "too many levels of remote in path",
--	72:  "RPC struct is bad",
--	73:  "RPC version wrong",
--	74:  "RPC prog. not avail",
--	75:  "program version wrong",
--	76:  "bad procedure for program",
--	77:  "no locks available",
--	78:  "function not implemented",
--	79:  "inappropriate file type or format",
--	80:  "authentication error",
--	81:  "need authenticator",
--	82:  "device power is off",
--	83:  "device error",
--	84:  "value too large to be stored in data type",
--	85:  "bad executable (or shared library)",
--	86:  "bad CPU type in executable",
--	87:  "shared library version mismatch",
--	88:  "malformed Mach-o file",
--	89:  "operation canceled",
--	90:  "identifier removed",
--	91:  "no message of desired type",
--	92:  "illegal byte sequence",
--	93:  "attribute not found",
--	94:  "bad message",
--	95:  "EMULTIHOP (Reserved)",
--	96:  "no message available on STREAM",
--	97:  "ENOLINK (Reserved)",
--	98:  "no STREAM resources",
--	99:  "not a STREAM",
--	100: "protocol error",
--	101: "STREAM ioctl timeout",
--	102: "operation not supported on socket",
--	103: "policy not found",
--	104: "state not recoverable",
--	105: "previous owner died",
--	106: "interface output queue is full",
-+var errorList = [...]struct {
-+	num  syscall.Errno
-+	name string
-+	desc string
-+}{
-+	{1, "EPERM", "operation not permitted"},
-+	{2, "ENOENT", "no such file or directory"},
-+	{3, "ESRCH", "no such process"},
-+	{4, "EINTR", "interrupted system call"},
-+	{5, "EIO", "input/output error"},
-+	{6, "ENXIO", "device not configured"},
-+	{7, "E2BIG", "argument list too long"},
-+	{8, "ENOEXEC", "exec format error"},
-+	{9, "EBADF", "bad file descriptor"},
-+	{10, "ECHILD", "no child processes"},
-+	{11, "EDEADLK", "resource deadlock avoided"},
-+	{12, "ENOMEM", "cannot allocate memory"},
-+	{13, "EACCES", "permission denied"},
-+	{14, "EFAULT", "bad address"},
-+	{15, "ENOTBLK", "block device required"},
-+	{16, "EBUSY", "resource busy"},
-+	{17, "EEXIST", "file exists"},
-+	{18, "EXDEV", "cross-device link"},
-+	{19, "ENODEV", "operation not supported by device"},
-+	{20, "ENOTDIR", "not a directory"},
-+	{21, "EISDIR", "is a directory"},
-+	{22, "EINVAL", "invalid argument"},
-+	{23, "ENFILE", "too many open files in system"},
-+	{24, "EMFILE", "too many open files"},
-+	{25, "ENOTTY", "inappropriate ioctl for device"},
-+	{26, "ETXTBSY", "text file busy"},
-+	{27, "EFBIG", "file too large"},
-+	{28, "ENOSPC", "no space left on device"},
-+	{29, "ESPIPE", "illegal seek"},
-+	{30, "EROFS", "read-only file system"},
-+	{31, "EMLINK", "too many links"},
-+	{32, "EPIPE", "broken pipe"},
-+	{33, "EDOM", "numerical argument out of domain"},
-+	{34, "ERANGE", "result too large"},
-+	{35, "EAGAIN", "resource temporarily unavailable"},
-+	{36, "EINPROGRESS", "operation now in progress"},
-+	{37, "EALREADY", "operation already in progress"},
-+	{38, "ENOTSOCK", "socket operation on non-socket"},
-+	{39, "EDESTADDRREQ", "destination address required"},
-+	{40, "EMSGSIZE", "message too long"},
-+	{41, "EPROTOTYPE", "protocol wrong type for socket"},
-+	{42, "ENOPROTOOPT", "protocol not available"},
-+	{43, "EPROTONOSUPPORT", "protocol not supported"},
-+	{44, "ESOCKTNOSUPPORT", "socket type not supported"},
-+	{45, "ENOTSUP", "operation not supported"},
-+	{46, "EPFNOSUPPORT", "protocol family not supported"},
-+	{47, "EAFNOSUPPORT", "address family not supported by protocol family"},
-+	{48, "EADDRINUSE", "address already in use"},
-+	{49, "EADDRNOTAVAIL", "can't assign requested address"},
-+	{50, "ENETDOWN", "network is down"},
-+	{51, "ENETUNREACH", "network is unreachable"},
-+	{52, "ENETRESET", "network dropped connection on reset"},
-+	{53, "ECONNABORTED", "software caused connection abort"},
-+	{54, "ECONNRESET", "connection reset by peer"},
-+	{55, "ENOBUFS", "no buffer space available"},
-+	{56, "EISCONN", "socket is already connected"},
-+	{57, "ENOTCONN", "socket is not connected"},
-+	{58, "ESHUTDOWN", "can't send after socket shutdown"},
-+	{59, "ETOOMANYREFS", "too many references: can't splice"},
-+	{60, "ETIMEDOUT", "operation timed out"},
-+	{61, "ECONNREFUSED", "connection refused"},
-+	{62, "ELOOP", "too many levels of symbolic links"},
-+	{63, "ENAMETOOLONG", "file name too long"},
-+	{64, "EHOSTDOWN", "host is down"},
-+	{65, "EHOSTUNREACH", "no route to host"},
-+	{66, "ENOTEMPTY", "directory not empty"},
-+	{67, "EPROCLIM", "too many processes"},
-+	{68, "EUSERS", "too many users"},
-+	{69, "EDQUOT", "disc quota exceeded"},
-+	{70, "ESTALE", "stale NFS file handle"},
-+	{71, "EREMOTE", "too many levels of remote in path"},
-+	{72, "EBADRPC", "RPC struct is bad"},
-+	{73, "ERPCMISMATCH", "RPC version wrong"},
-+	{74, "EPROGUNAVAIL", "RPC prog. not avail"},
-+	{75, "EPROGMISMATCH", "program version wrong"},
-+	{76, "EPROCUNAVAIL", "bad procedure for program"},
-+	{77, "ENOLCK", "no locks available"},
-+	{78, "ENOSYS", "function not implemented"},
-+	{79, "EFTYPE", "inappropriate file type or format"},
-+	{80, "EAUTH", "authentication error"},
-+	{81, "ENEEDAUTH", "need authenticator"},
-+	{82, "EPWROFF", "device power is off"},
-+	{83, "EDEVERR", "device error"},
-+	{84, "EOVERFLOW", "value too large to be stored in data type"},
-+	{85, "EBADEXEC", "bad executable (or shared library)"},
-+	{86, "EBADARCH", "bad CPU type in executable"},
-+	{87, "ESHLIBVERS", "shared library version mismatch"},
-+	{88, "EBADMACHO", "malformed Mach-o file"},
-+	{89, "ECANCELED", "operation canceled"},
-+	{90, "EIDRM", "identifier removed"},
-+	{91, "ENOMSG", "no message of desired type"},
-+	{92, "EILSEQ", "illegal byte sequence"},
-+	{93, "ENOATTR", "attribute not found"},
-+	{94, "EBADMSG", "bad message"},
-+	{95, "EMULTIHOP", "EMULTIHOP (Reserved)"},
-+	{96, "ENODATA", "no message available on STREAM"},
-+	{97, "ENOLINK", "ENOLINK (Reserved)"},
-+	{98, "ENOSR", "no STREAM resources"},
-+	{99, "ENOSTR", "not a STREAM"},
-+	{100, "EPROTO", "protocol error"},
-+	{101, "ETIME", "STREAM ioctl timeout"},
-+	{102, "EOPNOTSUPP", "operation not supported on socket"},
-+	{103, "ENOPOLICY", "policy not found"},
-+	{104, "ENOTRECOVERABLE", "state not recoverable"},
-+	{105, "EOWNERDEAD", "previous owner died"},
-+	{106, "EQFULL", "interface output queue is full"},
- }
- 
- // Signal table
--var signals = [...]string{
--	1:  "hangup",
--	2:  "interrupt",
--	3:  "quit",
--	4:  "illegal instruction",
--	5:  "trace/BPT trap",
--	6:  "abort trap",
--	7:  "EMT trap",
--	8:  "floating point exception",
--	9:  "killed",
--	10: "bus error",
--	11: "segmentation fault",
--	12: "bad system call",
--	13: "broken pipe",
--	14: "alarm clock",
--	15: "terminated",
--	16: "urgent I/O condition",
--	17: "suspended (signal)",
--	18: "suspended",
--	19: "continued",
--	20: "child exited",
--	21: "stopped (tty input)",
--	22: "stopped (tty output)",
--	23: "I/O possible",
--	24: "cputime limit exceeded",
--	25: "filesize limit exceeded",
--	26: "virtual timer expired",
--	27: "profiling timer expired",
--	28: "window size changes",
--	29: "information request",
--	30: "user defined signal 1",
--	31: "user defined signal 2",
-+var signalList = [...]struct {
-+	num  syscall.Signal
-+	name string
-+	desc string
-+}{
-+	{1, "SIGHUP", "hangup"},
-+	{2, "SIGINT", "interrupt"},
-+	{3, "SIGQUIT", "quit"},
-+	{4, "SIGILL", "illegal instruction"},
-+	{5, "SIGTRAP", "trace/BPT trap"},
-+	{6, "SIGABRT", "abort trap"},
-+	{7, "SIGEMT", "EMT trap"},
-+	{8, "SIGFPE", "floating point exception"},
-+	{9, "SIGKILL", "killed"},
-+	{10, "SIGBUS", "bus error"},
-+	{11, "SIGSEGV", "segmentation fault"},
-+	{12, "SIGSYS", "bad system call"},
-+	{13, "SIGPIPE", "broken pipe"},
-+	{14, "SIGALRM", "alarm clock"},
-+	{15, "SIGTERM", "terminated"},
-+	{16, "SIGURG", "urgent I/O condition"},
-+	{17, "SIGSTOP", "suspended (signal)"},
-+	{18, "SIGTSTP", "suspended"},
-+	{19, "SIGCONT", "continued"},
-+	{20, "SIGCHLD", "child exited"},
-+	{21, "SIGTTIN", "stopped (tty input)"},
-+	{22, "SIGTTOU", "stopped (tty output)"},
-+	{23, "SIGIO", "I/O possible"},
-+	{24, "SIGXCPU", "cputime limit exceeded"},
-+	{25, "SIGXFSZ", "filesize limit exceeded"},
-+	{26, "SIGVTALRM", "virtual timer expired"},
-+	{27, "SIGPROF", "profiling timer expired"},
-+	{28, "SIGWINCH", "window size changes"},
-+	{29, "SIGINFO", "information request"},
-+	{30, "SIGUSR1", "user defined signal 1"},
-+	{31, "SIGUSR2", "user defined signal 2"},
- }
-diff --git a/vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go b/vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go
-index cc8cc5b5..cbd8ed18 100644
---- a/vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go
-+++ b/vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go
-@@ -3,7 +3,7 @@
- 
- // +build arm64,darwin
- 
--// Created by cgo -godefs - DO NOT EDIT
-+// Code generated by cmd/cgo -godefs; DO NOT EDIT.
- // cgo -godefs -- -m64 _const.go
- 
- package unix
-@@ -49,6 +49,86 @@ const (
- 	AF_UNSPEC                         = 0x0
- 	AF_UTUN                           = 0x26
- 	ALTWERASE                         = 0x200
-+	ATTR_BIT_MAP_COUNT                = 0x5
-+	ATTR_CMN_ACCESSMASK               = 0x20000
-+	ATTR_CMN_ACCTIME                  = 0x1000
-+	ATTR_CMN_ADDEDTIME                = 0x10000000
-+	ATTR_CMN_BKUPTIME                 = 0x2000
-+	ATTR_CMN_CHGTIME                  = 0x800
-+	ATTR_CMN_CRTIME                   = 0x200
-+	ATTR_CMN_DATA_PROTECT_FLAGS       = 0x40000000
-+	ATTR_CMN_DEVID                    = 0x2
-+	ATTR_CMN_DOCUMENT_ID              = 0x100000
-+	ATTR_CMN_ERROR                    = 0x20000000
-+	ATTR_CMN_EXTENDED_SECURITY        = 0x400000
-+	ATTR_CMN_FILEID                   = 0x2000000
-+	ATTR_CMN_FLAGS                    = 0x40000
-+	ATTR_CMN_FNDRINFO                 = 0x4000
-+	ATTR_CMN_FSID                     = 0x4
-+	ATTR_CMN_FULLPATH                 = 0x8000000
-+	ATTR_CMN_GEN_COUNT                = 0x80000
-+	ATTR_CMN_GRPID                    = 0x10000
-+	ATTR_CMN_GRPUUID                  = 0x1000000
-+	ATTR_CMN_MODTIME                  = 0x400
-+	ATTR_CMN_NAME                     = 0x1
-+	ATTR_CMN_NAMEDATTRCOUNT           = 0x80000
-+	ATTR_CMN_NAMEDATTRLIST            = 0x100000
-+	ATTR_CMN_OBJID                    = 0x20
-+	ATTR_CMN_OBJPERMANENTID           = 0x40
-+	ATTR_CMN_OBJTAG                   = 0x10
-+	ATTR_CMN_OBJTYPE                  = 0x8
-+	ATTR_CMN_OWNERID                  = 0x8000
-+	ATTR_CMN_PARENTID                 = 0x4000000
-+	ATTR_CMN_PAROBJID                 = 0x80
-+	ATTR_CMN_RETURNED_ATTRS           = 0x80000000
-+	ATTR_CMN_SCRIPT                   = 0x100
-+	ATTR_CMN_SETMASK                  = 0x41c7ff00
-+	ATTR_CMN_USERACCESS               = 0x200000
-+	ATTR_CMN_UUID                     = 0x800000
-+	ATTR_CMN_VALIDMASK                = 0xffffffff
-+	ATTR_CMN_VOLSETMASK               = 0x6700
-+	ATTR_FILE_ALLOCSIZE               = 0x4
-+	ATTR_FILE_CLUMPSIZE               = 0x10
-+	ATTR_FILE_DATAALLOCSIZE           = 0x400
-+	ATTR_FILE_DATAEXTENTS             = 0x800
-+	ATTR_FILE_DATALENGTH              = 0x200
-+	ATTR_FILE_DEVTYPE                 = 0x20
-+	ATTR_FILE_FILETYPE                = 0x40
-+	ATTR_FILE_FORKCOUNT               = 0x80
-+	ATTR_FILE_FORKLIST                = 0x100
-+	ATTR_FILE_IOBLOCKSIZE             = 0x8
-+	ATTR_FILE_LINKCOUNT               = 0x1
-+	ATTR_FILE_RSRCALLOCSIZE           = 0x2000
-+	ATTR_FILE_RSRCEXTENTS             = 0x4000
-+	ATTR_FILE_RSRCLENGTH              = 0x1000
-+	ATTR_FILE_SETMASK                 = 0x20
-+	ATTR_FILE_TOTALSIZE               = 0x2
-+	ATTR_FILE_VALIDMASK               = 0x37ff
-+	ATTR_VOL_ALLOCATIONCLUMP          = 0x40
-+	ATTR_VOL_ATTRIBUTES               = 0x40000000
-+	ATTR_VOL_CAPABILITIES             = 0x20000
-+	ATTR_VOL_DIRCOUNT                 = 0x400
-+	ATTR_VOL_ENCODINGSUSED            = 0x10000
-+	ATTR_VOL_FILECOUNT                = 0x200
-+	ATTR_VOL_FSTYPE                   = 0x1
-+	ATTR_VOL_INFO                     = 0x80000000
-+	ATTR_VOL_IOBLOCKSIZE              = 0x80
-+	ATTR_VOL_MAXOBJCOUNT              = 0x800
-+	ATTR_VOL_MINALLOCATION            = 0x20
-+	ATTR_VOL_MOUNTEDDEVICE            = 0x8000
-+	ATTR_VOL_MOUNTFLAGS               = 0x4000
-+	ATTR_VOL_MOUNTPOINT               = 0x1000
-+	ATTR_VOL_NAME                     = 0x2000
-+	ATTR_VOL_OBJCOUNT                 = 0x100
-+	ATTR_VOL_QUOTA_SIZE               = 0x10000000
-+	ATTR_VOL_RESERVED_SIZE            = 0x20000000
-+	ATTR_VOL_SETMASK                  = 0x80002000
-+	ATTR_VOL_SIGNATURE                = 0x2
-+	ATTR_VOL_SIZE                     = 0x4
-+	ATTR_VOL_SPACEAVAIL               = 0x10
-+	ATTR_VOL_SPACEFREE                = 0x8
-+	ATTR_VOL_UUID                     = 0x40000
-+	ATTR_VOL_VALIDMASK                = 0xf007ffff
- 	B0                                = 0x0
- 	B110                              = 0x6e
- 	B115200                           = 0x1c200
-@@ -169,6 +249,8 @@ const (
- 	CSTOP                             = 0x13
- 	CSTOPB                            = 0x400
- 	CSUSP                             = 0x1a
-+	CTL_HW                            = 0x6
-+	CTL_KERN                          = 0x1
- 	CTL_MAXNAME                       = 0xc
- 	CTL_NET                           = 0x4
- 	DLT_A429                          = 0xb8
-@@ -390,6 +472,11 @@ const (
- 	FF1                               = 0x4000
- 	FFDLY                             = 0x4000
- 	FLUSHO                            = 0x800000
-+	FSOPT_ATTR_CMN_EXTENDED           = 0x20
-+	FSOPT_NOFOLLOW                    = 0x1
-+	FSOPT_NOINMEMUPDATE               = 0x2
-+	FSOPT_PACK_INVAL_ATTRS            = 0x8
-+	FSOPT_REPORT_FULLSIZE             = 0x4
- 	F_ADDFILESIGS                     = 0x3d
- 	F_ADDFILESIGS_FOR_DYLD_SIM        = 0x53
- 	F_ADDFILESIGS_RETURN              = 0x61
-@@ -425,6 +512,7 @@ const (
- 	F_PATHPKG_CHECK                   = 0x34
- 	F_PEOFPOSMODE                     = 0x3
- 	F_PREALLOCATE                     = 0x2a
-+	F_PUNCHHOLE                       = 0x63
- 	F_RDADVISE                        = 0x2c
- 	F_RDAHEAD                         = 0x2d
- 	F_RDLCK                           = 0x1
-@@ -441,10 +529,12 @@ const (
- 	F_SINGLE_WRITER                   = 0x4c
- 	F_THAW_FS                         = 0x36
- 	F_TRANSCODEKEY                    = 0x4b
-+	F_TRIM_ACTIVE_FILE                = 0x64
- 	F_UNLCK                           = 0x2
- 	F_VOLPOSMODE                      = 0x4
- 	F_WRLCK                           = 0x3
- 	HUPCL                             = 0x4000
-+	HW_MACHINE                        = 0x1
- 	ICANON                            = 0x100
- 	ICMP6_FILTER                      = 0x12
- 	ICRNL                             = 0x100
-@@ -681,6 +771,7 @@ const (
- 	IPV6_FAITH                        = 0x1d
- 	IPV6_FLOWINFO_MASK                = 0xffffff0f
- 	IPV6_FLOWLABEL_MASK               = 0xffff0f00
-+	IPV6_FLOW_ECN_MASK                = 0x300
- 	IPV6_FRAGTTL                      = 0x3c
- 	IPV6_FW_ADD                       = 0x1e
- 	IPV6_FW_DEL                       = 0x1f
-@@ -771,6 +862,7 @@ const (
- 	IP_RECVOPTS                       = 0x5
- 	IP_RECVPKTINFO                    = 0x1a
- 	IP_RECVRETOPTS                    = 0x6
-+	IP_RECVTOS                        = 0x1b
- 	IP_RECVTTL                        = 0x18
- 	IP_RETOPTS                        = 0x8
- 	IP_RF                             = 0x8000
-@@ -789,6 +881,10 @@ const (
- 	IXANY                             = 0x800
- 	IXOFF                             = 0x400
- 	IXON                              = 0x200
-+	KERN_HOSTNAME                     = 0xa
-+	KERN_OSRELEASE                    = 0x2
-+	KERN_OSTYPE                       = 0x1
-+	KERN_VERSION                      = 0x4
- 	LOCK_EX                           = 0x2
- 	LOCK_NB                           = 0x4
- 	LOCK_SH                           = 0x1
-@@ -884,6 +980,7 @@ const (
- 	NET_RT_MAXID                      = 0xa
- 	NET_RT_STAT                       = 0x4
- 	NET_RT_TRASH                      = 0x5
-+	NFDBITS                           = 0x20
- 	NL0                               = 0x0
- 	NL1                               = 0x100
- 	NL2                               = 0x200
-@@ -1377,6 +1474,12 @@ const (
- 	WORDSIZE                          = 0x40
- 	WSTOPPED                          = 0x8
- 	WUNTRACED                         = 0x2
-+	XATTR_CREATE                      = 0x2
-+	XATTR_NODEFAULT                   = 0x10
-+	XATTR_NOFOLLOW                    = 0x1
-+	XATTR_NOSECURITY                  = 0x8
-+	XATTR_REPLACE                     = 0x4
-+	XATTR_SHOWCOMPRESSION             = 0x20
- )
- 
- // Errors
-@@ -1528,146 +1631,154 @@ const (
- )
- 
- // Error table
--var errors = [...]string{
--	1:   "operation not permitted",
--	2:   "no such file or directory",
--	3:   "no such process",
--	4:   "interrupted system call",
--	5:   "input/output error",
--	6:   "device not configured",
--	7:   "argument list too long",
--	8:   "exec format error",
--	9:   "bad file descriptor",
--	10:  "no child processes",
--	11:  "resource deadlock avoided",
--	12:  "cannot allocate memory",
--	13:  "permission denied",
--	14:  "bad address",
--	15:  "block device required",
--	16:  "resource busy",
--	17:  "file exists",
--	18:  "cross-device link",
--	19:  "operation not supported by device",
--	20:  "not a directory",
--	21:  "is a directory",
--	22:  "invalid argument",
--	23:  "too many open files in system",
--	24:  "too many open files",
--	25:  "inappropriate ioctl for device",
--	26:  "text file busy",
--	27:  "file too large",
--	28:  "no space left on device",
--	29:  "illegal seek",
--	30:  "read-only file system",
--	31:  "too many links",
--	32:  "broken pipe",
--	33:  "numerical argument out of domain",
--	34:  "result too large",
--	35:  "resource temporarily unavailable",
--	36:  "operation now in progress",
--	37:  "operation already in progress",
--	38:  "socket operation on non-socket",
--	39:  "destination address required",
--	40:  "message too long",
--	41:  "protocol wrong type for socket",
--	42:  "protocol not available",
--	43:  "protocol not supported",
--	44:  "socket type not supported",
--	45:  "operation not supported",
--	46:  "protocol family not supported",
--	47:  "address family not supported by protocol family",
--	48:  "address already in use",
--	49:  "can't assign requested address",
--	50:  "network is down",
--	51:  "network is unreachable",
--	52:  "network dropped connection on reset",
--	53:  "software caused connection abort",
--	54:  "connection reset by peer",
--	55:  "no buffer space available",
--	56:  "socket is already connected",
--	57:  "socket is not connected",
--	58:  "can't send after socket shutdown",
--	59:  "too many references: can't splice",
--	60:  "operation timed out",
--	61:  "connection refused",
--	62:  "too many levels of symbolic links",
--	63:  "file name too long",
--	64:  "host is down",
--	65:  "no route to host",
--	66:  "directory not empty",
--	67:  "too many processes",
--	68:  "too many users",
--	69:  "disc quota exceeded",
--	70:  "stale NFS file handle",
--	71:  "too many levels of remote in path",
--	72:  "RPC struct is bad",
--	73:  "RPC version wrong",
--	74:  "RPC prog. not avail",
--	75:  "program version wrong",
--	76:  "bad procedure for program",
--	77:  "no locks available",
--	78:  "function not implemented",
--	79:  "inappropriate file type or format",
--	80:  "authentication error",
--	81:  "need authenticator",
--	82:  "device power is off",
--	83:  "device error",
--	84:  "value too large to be stored in data type",
--	85:  "bad executable (or shared library)",
--	86:  "bad CPU type in executable",
--	87:  "shared library version mismatch",
--	88:  "malformed Mach-o file",
--	89:  "operation canceled",
--	90:  "identifier removed",
--	91:  "no message of desired type",
--	92:  "illegal byte sequence",
--	93:  "attribute not found",
--	94:  "bad message",
--	95:  "EMULTIHOP (Reserved)",
--	96:  "no message available on STREAM",
--	97:  "ENOLINK (Reserved)",
--	98:  "no STREAM resources",
--	99:  "not a STREAM",
--	100: "protocol error",
--	101: "STREAM ioctl timeout",
--	102: "operation not supported on socket",
--	103: "policy not found",
--	104: "state not recoverable",
--	105: "previous owner died",
--	106: "interface output queue is full",
-+var errorList = [...]struct {
-+	num  syscall.Errno
-+	name string
-+	desc string
-+}{
-+	{1, "EPERM", "operation not permitted"},
-+	{2, "ENOENT", "no such file or directory"},
-+	{3, "ESRCH", "no such process"},
-+	{4, "EINTR", "interrupted system call"},
-+	{5, "EIO", "input/output error"},
-+	{6, "ENXIO", "device not configured"},
-+	{7, "E2BIG", "argument list too long"},
-+	{8, "ENOEXEC", "exec format error"},
-+	{9, "EBADF", "bad file descriptor"},
-+	{10, "ECHILD", "no child processes"},
-+	{11, "EDEADLK", "resource deadlock avoided"},
-+	{12, "ENOMEM", "cannot allocate memory"},
-+	{13, "EACCES", "permission denied"},
-+	{14, "EFAULT", "bad address"},
-+	{15, "ENOTBLK", "block device required"},
-+	{16, "EBUSY", "resource busy"},
-+	{17, "EEXIST", "file exists"},
-+	{18, "EXDEV", "cross-device link"},
-+	{19, "ENODEV", "operation not supported by device"},
-+	{20, "ENOTDIR", "not a directory"},
-+	{21, "EISDIR", "is a directory"},
-+	{22, "EINVAL", "invalid argument"},
-+	{23, "ENFILE", "too many open files in system"},
-+	{24, "EMFILE", "too many open files"},
-+	{25, "ENOTTY", "inappropriate ioctl for device"},
-+	{26, "ETXTBSY", "text file busy"},
-+	{27, "EFBIG", "file too large"},
-+	{28, "ENOSPC", "no space left on device"},
-+	{29, "ESPIPE", "illegal seek"},
-+	{30, "EROFS", "read-only file system"},
-+	{31, "EMLINK", "too many links"},
-+	{32, "EPIPE", "broken pipe"},
-+	{33, "EDOM", "numerical argument out of domain"},
-+	{34, "ERANGE", "result too large"},
-+	{35, "EAGAIN", "resource temporarily unavailable"},
-+	{36, "EINPROGRESS", "operation now in progress"},
-+	{37, "EALREADY", "operation already in progress"},
-+	{38, "ENOTSOCK", "socket operation on non-socket"},
-+	{39, "EDESTADDRREQ", "destination address required"},
-+	{40, "EMSGSIZE", "message too long"},
-+	{41, "EPROTOTYPE", "protocol wrong type for socket"},
-+	{42, "ENOPROTOOPT", "protocol not available"},
-+	{43, "EPROTONOSUPPORT", "protocol not supported"},
-+	{44, "ESOCKTNOSUPPORT", "socket type not supported"},
-+	{45, "ENOTSUP", "operation not supported"},
-+	{46, "EPFNOSUPPORT", "protocol family not supported"},
-+	{47, "EAFNOSUPPORT", "address family not supported by protocol family"},
-+	{48, "EADDRINUSE", "address already in use"},
-+	{49, "EADDRNOTAVAIL", "can't assign requested address"},
-+	{50, "ENETDOWN", "network is down"},
-+	{51, "ENETUNREACH", "network is unreachable"},
-+	{52, "ENETRESET", "network dropped connection on reset"},
-+	{53, "ECONNABORTED", "software caused connection abort"},
-+	{54, "ECONNRESET", "connection reset by peer"},
-+	{55, "ENOBUFS", "no buffer space available"},
-+	{56, "EISCONN", "socket is already connected"},
-+	{57, "ENOTCONN", "socket is not connected"},
-+	{58, "ESHUTDOWN", "can't send after socket shutdown"},
-+	{59, "ETOOMANYREFS", "too many references: can't splice"},
-+	{60, "ETIMEDOUT", "operation timed out"},
-+	{61, "ECONNREFUSED", "connection refused"},
-+	{62, "ELOOP", "too many levels of symbolic links"},
-+	{63, "ENAMETOOLONG", "file name too long"},
-+	{64, "EHOSTDOWN", "host is down"},
-+	{65, "EHOSTUNREACH", "no route to host"},
-+	{66, "ENOTEMPTY", "directory not empty"},
-+	{67, "EPROCLIM", "too many processes"},
-+	{68, "EUSERS", "too many users"},
-+	{69, "EDQUOT", "disc quota exceeded"},
-+	{70, "ESTALE", "stale NFS file handle"},
-+	{71, "EREMOTE", "too many levels of remote in path"},
-+	{72, "EBADRPC", "RPC struct is bad"},
-+	{73, "ERPCMISMATCH", "RPC version wrong"},
-+	{74, "EPROGUNAVAIL", "RPC prog. not avail"},
-+	{75, "EPROGMISMATCH", "program version wrong"},
-+	{76, "EPROCUNAVAIL", "bad procedure for program"},
-+	{77, "ENOLCK", "no locks available"},
-+	{78, "ENOSYS", "function not implemented"},
-+	{79, "EFTYPE", "inappropriate file type or format"},
-+	{80, "EAUTH", "authentication error"},
-+	{81, "ENEEDAUTH", "need authenticator"},
-+	{82, "EPWROFF", "device power is off"},
-+	{83, "EDEVERR", "device error"},
-+	{84, "EOVERFLOW", "value too large to be stored in data type"},
-+	{85, "EBADEXEC", "bad executable (or shared library)"},
-+	{86, "EBADARCH", "bad CPU type in executable"},
-+	{87, "ESHLIBVERS", "shared library version mismatch"},
-+	{88, "EBADMACHO", "malformed Mach-o file"},
-+	{89, "ECANCELED", "operation canceled"},
-+	{90, "EIDRM", "identifier removed"},
-+	{91, "ENOMSG", "no message of desired type"},
-+	{92, "EILSEQ", "illegal byte sequence"},
-+	{93, "ENOATTR", "attribute not found"},
-+	{94, "EBADMSG", "bad message"},
-+	{95, "EMULTIHOP", "EMULTIHOP (Reserved)"},
-+	{96, "ENODATA", "no message available on STREAM"},
-+	{97, "ENOLINK", "ENOLINK (Reserved)"},
-+	{98, "ENOSR", "no STREAM resources"},
-+	{99, "ENOSTR", "not a STREAM"},
-+	{100, "EPROTO", "protocol error"},
-+	{101, "ETIME", "STREAM ioctl timeout"},
-+	{102, "EOPNOTSUPP", "operation not supported on socket"},
-+	{103, "ENOPOLICY", "policy not found"},
-+	{104, "ENOTRECOVERABLE", "state not recoverable"},
-+	{105, "EOWNERDEAD", "previous owner died"},
-+	{106, "EQFULL", "interface output queue is full"},
- }
- 
- // Signal table
--var signals = [...]string{
--	1:  "hangup",
--	2:  "interrupt",
--	3:  "quit",
--	4:  "illegal instruction",
--	5:  "trace/BPT trap",
--	6:  "abort trap",
--	7:  "EMT trap",
--	8:  "floating point exception",
--	9:  "killed",
--	10: "bus error",
--	11: "segmentation fault",
--	12: "bad system call",
--	13: "broken pipe",
--	14: "alarm clock",
--	15: "terminated",
--	16: "urgent I/O condition",
--	17: "suspended (signal)",
--	18: "suspended",
--	19: "continued",
--	20: "child exited",
--	21: "stopped (tty input)",
--	22: "stopped (tty output)",
--	23: "I/O possible",
--	24: "cputime limit exceeded",
--	25: "filesize limit exceeded",
--	26: "virtual timer expired",
--	27: "profiling timer expired",
--	28: "window size changes",
--	29: "information request",
--	30: "user defined signal 1",
--	31: "user defined signal 2",
-+var signalList = [...]struct {
-+	num  syscall.Signal
-+	name string
-+	desc string
-+}{
-+	{1, "SIGHUP", "hangup"},
-+	{2, "SIGINT", "interrupt"},
-+	{3, "SIGQUIT", "quit"},
-+	{4, "SIGILL", "illegal instruction"},
-+	{5, "SIGTRAP", "trace/BPT trap"},
-+	{6, "SIGABRT", "abort trap"},
-+	{7, "SIGEMT", "EMT trap"},
-+	{8, "SIGFPE", "floating point exception"},
-+	{9, "SIGKILL", "killed"},
-+	{10, "SIGBUS", "bus error"},
-+	{11, "SIGSEGV", "segmentation fault"},
-+	{12, "SIGSYS", "bad system call"},
-+	{13, "SIGPIPE", "broken pipe"},
-+	{14, "SIGALRM", "alarm clock"},
-+	{15, "SIGTERM", "terminated"},
-+	{16, "SIGURG", "urgent I/O condition"},
-+	{17, "SIGSTOP", "suspended (signal)"},
-+	{18, "SIGTSTP", "suspended"},
-+	{19, "SIGCONT", "continued"},
-+	{20, "SIGCHLD", "child exited"},
-+	{21, "SIGTTIN", "stopped (tty input)"},
-+	{22, "SIGTTOU", "stopped (tty output)"},
-+	{23, "SIGIO", "I/O possible"},
-+	{24, "SIGXCPU", "cputime limit exceeded"},
-+	{25, "SIGXFSZ", "filesize limit exceeded"},
-+	{26, "SIGVTALRM", "virtual timer expired"},
-+	{27, "SIGPROF", "profiling timer expired"},
-+	{28, "SIGWINCH", "window size changes"},
-+	{29, "SIGINFO", "information request"},
-+	{30, "SIGUSR1", "user defined signal 1"},
-+	{31, "SIGUSR2", "user defined signal 2"},
- }
-diff --git a/vendor/golang.org/x/sys/unix/zerrors_dragonfly_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_dragonfly_amd64.go
-index 8f40598b..61304717 100644
---- a/vendor/golang.org/x/sys/unix/zerrors_dragonfly_amd64.go
-+++ b/vendor/golang.org/x/sys/unix/zerrors_dragonfly_amd64.go
-@@ -3,7 +3,7 @@
- 
- // +build amd64,dragonfly
- 
--// Created by cgo -godefs - DO NOT EDIT
-+// Code generated by cmd/cgo -godefs; DO NOT EDIT.
- // cgo -godefs -- -m64 _const.go
- 
- package unix
-@@ -168,6 +168,8 @@ const (
- 	CSTOP                             = 0x13
- 	CSTOPB                            = 0x400
- 	CSUSP                             = 0x1a
-+	CTL_HW                            = 0x6
-+	CTL_KERN                          = 0x1
- 	CTL_MAXNAME                       = 0xc
- 	CTL_NET                           = 0x4
- 	DLT_A429                          = 0xb8
-@@ -353,6 +355,7 @@ const (
- 	F_UNLCK                           = 0x2
- 	F_WRLCK                           = 0x3
- 	HUPCL                             = 0x4000
-+	HW_MACHINE                        = 0x1
- 	ICANON                            = 0x100
- 	ICMP6_FILTER                      = 0x12
- 	ICRNL                             = 0x100
-@@ -835,6 +838,10 @@ const (
- 	IXANY                             = 0x800
- 	IXOFF                             = 0x400
- 	IXON                              = 0x200
-+	KERN_HOSTNAME                     = 0xa
-+	KERN_OSRELEASE                    = 0x2
-+	KERN_OSTYPE                       = 0x1
-+	KERN_VERSION                      = 0x4
- 	LOCK_EX                           = 0x2
- 	LOCK_NB                           = 0x4
- 	LOCK_SH                           = 0x1
-@@ -873,6 +880,40 @@ const (
- 	MAP_VPAGETABLE                    = 0x2000
- 	MCL_CURRENT                       = 0x1
- 	MCL_FUTURE                        = 0x2
-+	MNT_ASYNC                         = 0x40
-+	MNT_AUTOMOUNTED                   = 0x20
-+	MNT_CMDFLAGS                      = 0xf0000
-+	MNT_DEFEXPORTED                   = 0x200
-+	MNT_DELEXPORT                     = 0x20000
-+	MNT_EXKERB                        = 0x800
-+	MNT_EXPORTANON                    = 0x400
-+	MNT_EXPORTED                      = 0x100
-+	MNT_EXPUBLIC                      = 0x20000000
-+	MNT_EXRDONLY                      = 0x80
-+	MNT_FORCE                         = 0x80000
-+	MNT_IGNORE                        = 0x800000
-+	MNT_LAZY                          = 0x4
-+	MNT_LOCAL                         = 0x1000
-+	MNT_NOATIME                       = 0x10000000
-+	MNT_NOCLUSTERR                    = 0x40000000
-+	MNT_NOCLUSTERW                    = 0x80000000
-+	MNT_NODEV                         = 0x10
-+	MNT_NOEXEC                        = 0x4
-+	MNT_NOSUID                        = 0x8
-+	MNT_NOSYMFOLLOW                   = 0x400000
-+	MNT_NOWAIT                        = 0x2
-+	MNT_QUOTA                         = 0x2000
-+	MNT_RDONLY                        = 0x1
-+	MNT_RELOAD                        = 0x40000
-+	MNT_ROOTFS                        = 0x4000
-+	MNT_SOFTDEP                       = 0x200000
-+	MNT_SUIDDIR                       = 0x100000
-+	MNT_SYNCHRONOUS                   = 0x2
-+	MNT_TRIM                          = 0x1000000
-+	MNT_UPDATE                        = 0x10000
-+	MNT_USER                          = 0x8000
-+	MNT_VISFLAGMASK                   = 0xf1f0ffff
-+	MNT_WAIT                          = 0x1
- 	MSG_CMSG_CLOEXEC                  = 0x1000
- 	MSG_CTRUNC                        = 0x20
- 	MSG_DONTROUTE                     = 0x4
-@@ -897,6 +938,7 @@ const (
- 	NET_RT_FLAGS                      = 0x2
- 	NET_RT_IFLIST                     = 0x3
- 	NET_RT_MAXID                      = 0x4
-+	NFDBITS                           = 0x40
- 	NOFLSH                            = 0x80000000
- 	NOKERNINFO                        = 0x2000000
- 	NOTE_ATTRIB                       = 0x8
-@@ -973,7 +1015,10 @@ const (
- 	RLIMIT_CPU                        = 0x0
- 	RLIMIT_DATA                       = 0x2
- 	RLIMIT_FSIZE                      = 0x1
-+	RLIMIT_MEMLOCK                    = 0x6
- 	RLIMIT_NOFILE                     = 0x8
-+	RLIMIT_NPROC                      = 0x7
-+	RLIMIT_RSS                        = 0x5
- 	RLIMIT_STACK                      = 0x3
- 	RLIM_INFINITY                     = 0x7fffffffffffffff
- 	RTAX_AUTHOR                       = 0x6
-@@ -1158,6 +1203,36 @@ const (
- 	SO_TIMESTAMP                      = 0x400
- 	SO_TYPE                           = 0x1008
- 	SO_USELOOPBACK                    = 0x40
-+	S_BLKSIZE                         = 0x200
-+	S_IEXEC                           = 0x40
-+	S_IFBLK                           = 0x6000
-+	S_IFCHR                           = 0x2000
-+	S_IFDB                            = 0x9000
-+	S_IFDIR                           = 0x4000
-+	S_IFIFO                           = 0x1000
-+	S_IFLNK                           = 0xa000
-+	S_IFMT                            = 0xf000
-+	S_IFREG                           = 0x8000
-+	S_IFSOCK                          = 0xc000
-+	S_IFWHT                           = 0xe000
-+	S_IREAD                           = 0x100
-+	S_IRGRP                           = 0x20
-+	S_IROTH                           = 0x4
-+	S_IRUSR                           = 0x100
-+	S_IRWXG                           = 0x38
-+	S_IRWXO                           = 0x7
-+	S_IRWXU                           = 0x1c0
-+	S_ISGID                           = 0x400
-+	S_ISTXT                           = 0x200
-+	S_ISUID                           = 0x800
-+	S_ISVTX                           = 0x200
-+	S_IWGRP                           = 0x10
-+	S_IWOTH                           = 0x2
-+	S_IWRITE                          = 0x80
-+	S_IWUSR                           = 0x80
-+	S_IXGRP                           = 0x8
-+	S_IXOTH                           = 0x1
-+	S_IXUSR                           = 0x40
- 	TCIFLUSH                          = 0x1
- 	TCIOFF                            = 0x3
- 	TCIOFLUSH                         = 0x3
-@@ -1427,142 +1502,150 @@ const (
- )
- 
- // Error table
--var errors = [...]string{
--	1:  "operation not permitted",
--	2:  "no such file or directory",
--	3:  "no such process",
--	4:  "interrupted system call",
--	5:  "input/output error",
--	6:  "device not configured",
--	7:  "argument list too long",
--	8:  "exec format error",
--	9:  "bad file descriptor",
--	10: "no child processes",
--	11: "resource deadlock avoided",
--	12: "cannot allocate memory",
--	13: "permission denied",
--	14: "bad address",
--	15: "block device required",
--	16: "device busy",
--	17: "file exists",
--	18: "cross-device link",
--	19: "operation not supported by device",
--	20: "not a directory",
--	21: "is a directory",
--	22: "invalid argument",
--	23: "too many open files in system",
--	24: "too many open files",
--	25: "inappropriate ioctl for device",
--	26: "text file busy",
--	27: "file too large",
--	28: "no space left on device",
--	29: "illegal seek",
--	30: "read-only file system",
--	31: "too many links",
--	32: "broken pipe",
--	33: "numerical argument out of domain",
--	34: "result too large",
--	35: "resource temporarily unavailable",
--	36: "operation now in progress",
--	37: "operation already in progress",
--	38: "socket operation on non-socket",
--	39: "destination address required",
--	40: "message too long",
--	41: "protocol wrong type for socket",
--	42: "protocol not available",
--	43: "protocol not supported",
--	44: "socket type not supported",
--	45: "operation not supported",
--	46: "protocol family not supported",
--	47: "address family not supported by protocol family",
--	48: "address already in use",
--	49: "can't assign requested address",
--	50: "network is down",
--	51: "network is unreachable",
--	52: "network dropped connection on reset",
--	53: "software caused connection abort",
--	54: "connection reset by peer",
--	55: "no buffer space available",
--	56: "socket is already connected",
--	57: "socket is not connected",
--	58: "can't send after socket shutdown",
--	59: "too many references: can't splice",
--	60: "operation timed out",
--	61: "connection refused",
--	62: "too many levels of symbolic links",
--	63: "file name too long",
--	64: "host is down",
--	65: "no route to host",
--	66: "directory not empty",
--	67: "too many processes",
--	68: "too many users",
--	69: "disc quota exceeded",
--	70: "stale NFS file handle",
--	71: "too many levels of remote in path",
--	72: "RPC struct is bad",
--	73: "RPC version wrong",
--	74: "RPC prog. not avail",
--	75: "program version wrong",
--	76: "bad procedure for program",
--	77: "no locks available",
--	78: "function not implemented",
--	79: "inappropriate file type or format",
--	80: "authentication error",
--	81: "need authenticator",
--	82: "identifier removed",
--	83: "no message of desired type",
--	84: "value too large to be stored in data type",
--	85: "operation canceled",
--	86: "illegal byte sequence",
--	87: "attribute not found",
--	88: "programming error",
--	89: "bad message",
--	90: "multihop attempted",
--	91: "link has been severed",
--	92: "protocol error",
--	93: "no medium found",
--	94: "unknown error: 94",
--	95: "unknown error: 95",
--	96: "unknown error: 96",
--	97: "unknown error: 97",
--	98: "unknown error: 98",
--	99: "unknown error: 99",
-+var errorList = [...]struct {
-+	num  syscall.Errno
-+	name string
-+	desc string
-+}{
-+	{1, "EPERM", "operation not permitted"},
-+	{2, "ENOENT", "no such file or directory"},
-+	{3, "ESRCH", "no such process"},
-+	{4, "EINTR", "interrupted system call"},
-+	{5, "EIO", "input/output error"},
-+	{6, "ENXIO", "device not configured"},
-+	{7, "E2BIG", "argument list too long"},
-+	{8, "ENOEXEC", "exec format error"},
-+	{9, "EBADF", "bad file descriptor"},
-+	{10, "ECHILD", "no child processes"},
-+	{11, "EDEADLK", "resource deadlock avoided"},
-+	{12, "ENOMEM", "cannot allocate memory"},
-+	{13, "EACCES", "permission denied"},
-+	{14, "EFAULT", "bad address"},
-+	{15, "ENOTBLK", "block device required"},
-+	{16, "EBUSY", "device busy"},
-+	{17, "EEXIST", "file exists"},
-+	{18, "EXDEV", "cross-device link"},
-+	{19, "ENODEV", "operation not supported by device"},
-+	{20, "ENOTDIR", "not a directory"},
-+	{21, "EISDIR", "is a directory"},
-+	{22, "EINVAL", "invalid argument"},
-+	{23, "ENFILE", "too many open files in system"},
-+	{24, "EMFILE", "too many open files"},
-+	{25, "ENOTTY", "inappropriate ioctl for device"},
-+	{26, "ETXTBSY", "text file busy"},
-+	{27, "EFBIG", "file too large"},
-+	{28, "ENOSPC", "no space left on device"},
-+	{29, "ESPIPE", "illegal seek"},
-+	{30, "EROFS", "read-only file system"},
-+	{31, "EMLINK", "too many links"},
-+	{32, "EPIPE", "broken pipe"},
-+	{33, "EDOM", "numerical argument out of domain"},
-+	{34, "ERANGE", "result too large"},
-+	{35, "EWOULDBLOCK", "resource temporarily unavailable"},
-+	{36, "EINPROGRESS", "operation now in progress"},
-+	{37, "EALREADY", "operation already in progress"},
-+	{38, "ENOTSOCK", "socket operation on non-socket"},
-+	{39, "EDESTADDRREQ", "destination address required"},
-+	{40, "EMSGSIZE", "message too long"},
-+	{41, "EPROTOTYPE", "protocol wrong type for socket"},
-+	{42, "ENOPROTOOPT", "protocol not available"},
-+	{43, "EPROTONOSUPPORT", "protocol not supported"},
-+	{44, "ESOCKTNOSUPPORT", "socket type not supported"},
-+	{45, "EOPNOTSUPP", "operation not supported"},
-+	{46, "EPFNOSUPPORT", "protocol family not supported"},
-+	{47, "EAFNOSUPPORT", "address family not supported by protocol family"},
-+	{48, "EADDRINUSE", "address already in use"},
-+	{49, "EADDRNOTAVAIL", "can't assign requested address"},
-+	{50, "ENETDOWN", "network is down"},
-+	{51, "ENETUNREACH", "network is unreachable"},
-+	{52, "ENETRESET", "network dropped connection on reset"},
-+	{53, "ECONNABORTED", "software caused connection abort"},
-+	{54, "ECONNRESET", "connection reset by peer"},
-+	{55, "ENOBUFS", "no buffer space available"},
-+	{56, "EISCONN", "socket is already connected"},
-+	{57, "ENOTCONN", "socket is not connected"},
-+	{58, "ESHUTDOWN", "can't send after socket shutdown"},
-+	{59, "ETOOMANYREFS", "too many references: can't splice"},
-+	{60, "ETIMEDOUT", "operation timed out"},
-+	{61, "ECONNREFUSED", "connection refused"},
-+	{62, "ELOOP", "too many levels of symbolic links"},
-+	{63, "ENAMETOOLONG", "file name too long"},
-+	{64, "EHOSTDOWN", "host is down"},
-+	{65, "EHOSTUNREACH", "no route to host"},
-+	{66, "ENOTEMPTY", "directory not empty"},
-+	{67, "EPROCLIM", "too many processes"},
-+	{68, "EUSERS", "too many users"},
-+	{69, "EDQUOT", "disc quota exceeded"},
-+	{70, "ESTALE", "stale NFS file handle"},
-+	{71, "EREMOTE", "too many levels of remote in path"},
-+	{72, "EBADRPC", "RPC struct is bad"},
-+	{73, "ERPCMISMATCH", "RPC version wrong"},
-+	{74, "EPROGUNAVAIL", "RPC prog. not avail"},
-+	{75, "EPROGMISMATCH", "program version wrong"},
-+	{76, "EPROCUNAVAIL", "bad procedure for program"},
-+	{77, "ENOLCK", "no locks available"},
-+	{78, "ENOSYS", "function not implemented"},
-+	{79, "EFTYPE", "inappropriate file type or format"},
-+	{80, "EAUTH", "authentication error"},
-+	{81, "ENEEDAUTH", "need authenticator"},
-+	{82, "EIDRM", "identifier removed"},
-+	{83, "ENOMSG", "no message of desired type"},
-+	{84, "EOVERFLOW", "value too large to be stored in data type"},
-+	{85, "ECANCELED", "operation canceled"},
-+	{86, "EILSEQ", "illegal byte sequence"},
-+	{87, "ENOATTR", "attribute not found"},
-+	{88, "EDOOFUS", "programming error"},
-+	{89, "EBADMSG", "bad message"},
-+	{90, "EMULTIHOP", "multihop attempted"},
-+	{91, "ENOLINK", "link has been severed"},
-+	{92, "EPROTO", "protocol error"},
-+	{93, "ENOMEDIUM", "no medium found"},
-+	{94, "EUNUSED94", "unknown error: 94"},
-+	{95, "EUNUSED95", "unknown error: 95"},
-+	{96, "EUNUSED96", "unknown error: 96"},
-+	{97, "EUNUSED97", "unknown error: 97"},
-+	{98, "EUNUSED98", "unknown error: 98"},
-+	{99, "ELAST", "unknown error: 99"},
- }
- 
- // Signal table
--var signals = [...]string{
--	1:  "hangup",
--	2:  "interrupt",
--	3:  "quit",
--	4:  "illegal instruction",
--	5:  "trace/BPT trap",
--	6:  "abort trap",
--	7:  "EMT trap",
--	8:  "floating point exception",
--	9:  "killed",
--	10: "bus error",
--	11: "segmentation fault",
--	12: "bad system call",
--	13: "broken pipe",
--	14: "alarm clock",
--	15: "terminated",
--	16: "urgent I/O condition",
--	17: "suspended (signal)",
--	18: "suspended",
--	19: "continued",
--	20: "child exited",
--	21: "stopped (tty input)",
--	22: "stopped (tty output)",
--	23: "I/O possible",
--	24: "cputime limit exceeded",
--	25: "filesize limit exceeded",
--	26: "virtual timer expired",
--	27: "profiling timer expired",
--	28: "window size changes",
--	29: "information request",
--	30: "user defined signal 1",
--	31: "user defined signal 2",
--	32: "thread Scheduler",
--	33: "checkPoint",
--	34: "checkPointExit",
-+var signalList = [...]struct {
-+	num  syscall.Signal
-+	name string
-+	desc string
-+}{
-+	{1, "SIGHUP", "hangup"},
-+	{2, "SIGINT", "interrupt"},
-+	{3, "SIGQUIT", "quit"},
-+	{4, "SIGILL", "illegal instruction"},
-+	{5, "SIGTRAP", "trace/BPT trap"},
-+	{6, "SIGIOT", "abort trap"},
-+	{7, "SIGEMT", "EMT trap"},
-+	{8, "SIGFPE", "floating point exception"},
-+	{9, "SIGKILL", "killed"},
-+	{10, "SIGBUS", "bus error"},
-+	{11, "SIGSEGV", "segmentation fault"},
-+	{12, "SIGSYS", "bad system call"},
-+	{13, "SIGPIPE", "broken pipe"},
-+	{14, "SIGALRM", "alarm clock"},
-+	{15, "SIGTERM", "terminated"},
-+	{16, "SIGURG", "urgent I/O condition"},
-+	{17, "SIGSTOP", "suspended (signal)"},
-+	{18, "SIGTSTP", "suspended"},
-+	{19, "SIGCONT", "continued"},
-+	{20, "SIGCHLD", "child exited"},
-+	{21, "SIGTTIN", "stopped (tty input)"},
-+	{22, "SIGTTOU", "stopped (tty output)"},
-+	{23, "SIGIO", "I/O possible"},
-+	{24, "SIGXCPU", "cputime limit exceeded"},
-+	{25, "SIGXFSZ", "filesize limit exceeded"},
-+	{26, "SIGVTALRM", "virtual timer expired"},
-+	{27, "SIGPROF", "profiling timer expired"},
-+	{28, "SIGWINCH", "window size changes"},
-+	{29, "SIGINFO", "information request"},
-+	{30, "SIGUSR1", "user defined signal 1"},
-+	{31, "SIGUSR2", "user defined signal 2"},
-+	{32, "SIGTHR", "thread Scheduler"},
-+	{33, "SIGCKPT", "checkPoint"},
-+	{34, "SIGCKPTEXIT", "checkPointExit"},
- }
-diff --git a/vendor/golang.org/x/sys/unix/zerrors_freebsd_386.go b/vendor/golang.org/x/sys/unix/zerrors_freebsd_386.go
-index 1d3eec44..84824587 100644
---- a/vendor/golang.org/x/sys/unix/zerrors_freebsd_386.go
-+++ b/vendor/golang.org/x/sys/unix/zerrors_freebsd_386.go
-@@ -3,7 +3,7 @@
- 
- // +build 386,freebsd
- 
--// Created by cgo -godefs - DO NOT EDIT
-+// Code generated by cmd/cgo -godefs; DO NOT EDIT.
- // cgo -godefs -- -m32 _const.go
- 
- package unix
-@@ -351,8 +351,26 @@ const (
- 	CSTOP                          = 0x13
- 	CSTOPB                         = 0x400
- 	CSUSP                          = 0x1a
-+	CTL_HW                         = 0x6
-+	CTL_KERN                       = 0x1
- 	CTL_MAXNAME                    = 0x18
- 	CTL_NET                        = 0x4
-+	DIOCGATTR                      = 0xc144648e
-+	DIOCGDELETE                    = 0x80106488
-+	DIOCGFLUSH                     = 0x20006487
-+	DIOCGFRONTSTUFF                = 0x40086486
-+	DIOCGFWHEADS                   = 0x40046483
-+	DIOCGFWSECTORS                 = 0x40046482
-+	DIOCGIDENT                     = 0x41006489
-+	DIOCGMEDIASIZE                 = 0x40086481
-+	DIOCGPHYSPATH                  = 0x4400648d
-+	DIOCGPROVIDERNAME              = 0x4400648a
-+	DIOCGSECTORSIZE                = 0x40046480
-+	DIOCGSTRIPEOFFSET              = 0x4008648c
-+	DIOCGSTRIPESIZE                = 0x4008648b
-+	DIOCSKERNELDUMP                = 0x804c6490
-+	DIOCSKERNELDUMP_FREEBSD11      = 0x80046485
-+	DIOCZONECMD                    = 0xc06c648f
- 	DLT_A429                       = 0xb8
- 	DLT_A653_ICM                   = 0xb9
- 	DLT_AIRONET_HEADER             = 0x78
-@@ -377,11 +395,14 @@ const (
- 	DLT_CHAOS                      = 0x5
- 	DLT_CHDLC                      = 0x68
- 	DLT_CISCO_IOS                  = 0x76
-+	DLT_CLASS_NETBSD_RAWAF         = 0x2240000
- 	DLT_C_HDLC                     = 0x68
- 	DLT_C_HDLC_WITH_DIR            = 0xcd
- 	DLT_DBUS                       = 0xe7
- 	DLT_DECT                       = 0xdd
-+	DLT_DISPLAYPORT_AUX            = 0x113
- 	DLT_DOCSIS                     = 0x8f
-+	DLT_DOCSIS31_XRA31             = 0x111
- 	DLT_DVB_CI                     = 0xeb
- 	DLT_ECONET                     = 0x73
- 	DLT_EN10MB                     = 0x1
-@@ -391,6 +412,7 @@ const (
- 	DLT_ERF                        = 0xc5
- 	DLT_ERF_ETH                    = 0xaf
- 	DLT_ERF_POS                    = 0xb0
-+	DLT_ETHERNET_MPACKET           = 0x112
- 	DLT_FC_2                       = 0xe0
- 	DLT_FC_2_WITH_FRAME_DELIMS     = 0xe1
- 	DLT_FDDI                       = 0xa
-@@ -404,7 +426,6 @@ const (
- 	DLT_GPRS_LLC                   = 0xa9
- 	DLT_GSMTAP_ABIS                = 0xda
- 	DLT_GSMTAP_UM                  = 0xd9
--	DLT_HHDLC                      = 0x79
- 	DLT_IBM_SN                     = 0x92
- 	DLT_IBM_SP                     = 0x91
- 	DLT_IEEE802                    = 0x6
-@@ -427,6 +448,7 @@ const (
- 	DLT_IPV4                       = 0xe4
- 	DLT_IPV6                       = 0xe5
- 	DLT_IP_OVER_FC                 = 0x7a
-+	DLT_ISO_14443                  = 0x108
- 	DLT_JUNIPER_ATM1               = 0x89
- 	DLT_JUNIPER_ATM2               = 0x87
- 	DLT_JUNIPER_ATM_CEMIC          = 0xee
-@@ -459,8 +481,9 @@ const (
- 	DLT_LINUX_PPP_WITHDIRECTION    = 0xa6
- 	DLT_LINUX_SLL                  = 0x71
- 	DLT_LOOP                       = 0x6c
-+	DLT_LORATAP                    = 0x10e
- 	DLT_LTALK                      = 0x72
--	DLT_MATCHING_MAX               = 0x104
-+	DLT_MATCHING_MAX               = 0x113
- 	DLT_MATCHING_MIN               = 0x68
- 	DLT_MFR                        = 0xb6
- 	DLT_MOST                       = 0xd3
-@@ -476,14 +499,16 @@ const (
- 	DLT_NFC_LLCP                   = 0xf5
- 	DLT_NFLOG                      = 0xef
- 	DLT_NG40                       = 0xf4
-+	DLT_NORDIC_BLE                 = 0x110
- 	DLT_NULL                       = 0x0
-+	DLT_OPENFLOW                   = 0x10b
- 	DLT_PCI_EXP                    = 0x7d
- 	DLT_PFLOG                      = 0x75
- 	DLT_PFSYNC                     = 0x79
- 	DLT_PKTAP                      = 0x102
- 	DLT_PPI                        = 0xc0
- 	DLT_PPP                        = 0x9
--	DLT_PPP_BSDOS                  = 0x10
-+	DLT_PPP_BSDOS                  = 0xe
- 	DLT_PPP_ETHER                  = 0x33
- 	DLT_PPP_PPPD                   = 0xa6
- 	DLT_PPP_SERIAL                 = 0x32
-@@ -494,19 +519,25 @@ const (
- 	DLT_PRONET                     = 0x4
- 	DLT_RAIF1                      = 0xc6
- 	DLT_RAW                        = 0xc
-+	DLT_RDS                        = 0x109
-+	DLT_REDBACK_SMARTEDGE          = 0x20
- 	DLT_RIO                        = 0x7c
- 	DLT_RTAC_SERIAL                = 0xfa
- 	DLT_SCCP                       = 0x8e
- 	DLT_SCTP                       = 0xf8
-+	DLT_SDLC                       = 0x10c
- 	DLT_SITA                       = 0xc4
- 	DLT_SLIP                       = 0x8
--	DLT_SLIP_BSDOS                 = 0xf
-+	DLT_SLIP_BSDOS                 = 0xd
- 	DLT_STANAG_5066_D_PDU          = 0xed
- 	DLT_SUNATM                     = 0x7b
- 	DLT_SYMANTEC_FIREWALL          = 0x63
-+	DLT_TI_LLN_SNIFFER             = 0x10d
- 	DLT_TZSP                       = 0x80
- 	DLT_USB                        = 0xba
- 	DLT_USBPCAP                    = 0xf9
-+	DLT_USB_DARWIN                 = 0x10a
-+	DLT_USB_FREEBSD                = 0xba
- 	DLT_USB_LINUX                  = 0xbd
- 	DLT_USB_LINUX_MMAPPED          = 0xdc
- 	DLT_USER0                      = 0x93
-@@ -525,10 +556,14 @@ const (
- 	DLT_USER7                      = 0x9a
- 	DLT_USER8                      = 0x9b
- 	DLT_USER9                      = 0x9c
-+	DLT_VSOCK                      = 0x10f
-+	DLT_WATTSTOPPER_DLM            = 0x107
- 	DLT_WIHART                     = 0xdf
- 	DLT_WIRESHARK_UPPER_PDU        = 0xfc
- 	DLT_X2E_SERIAL                 = 0xd5
- 	DLT_X2E_XORAYA                 = 0xd6
-+	DLT_ZWAVE_R1_R2                = 0x105
-+	DLT_ZWAVE_R3                   = 0x106
- 	DT_BLK                         = 0x6
- 	DT_CHR                         = 0x2
- 	DT_DIR                         = 0x4
-@@ -546,6 +581,7 @@ const (
- 	ECHONL                         = 0x10
- 	ECHOPRT                        = 0x20
- 	EVFILT_AIO                     = -0x3
-+	EVFILT_EMPTY                   = -0xd
- 	EVFILT_FS                      = -0x9
- 	EVFILT_LIO                     = -0xa
- 	EVFILT_PROC                    = -0x5
-@@ -553,11 +589,12 @@ const (
- 	EVFILT_READ                    = -0x1
- 	EVFILT_SENDFILE                = -0xc
- 	EVFILT_SIGNAL                  = -0x6
--	EVFILT_SYSCOUNT                = 0xc
-+	EVFILT_SYSCOUNT                = 0xd
- 	EVFILT_TIMER                   = -0x7
- 	EVFILT_USER                    = -0xb
- 	EVFILT_VNODE                   = -0x4
- 	EVFILT_WRITE                   = -0x2
-+	EVNAMEMAP_NAME_SIZE            = 0x40
- 	EV_ADD                         = 0x1
- 	EV_CLEAR                       = 0x20
- 	EV_DELETE                      = 0x2
-@@ -574,6 +611,7 @@ const (
- 	EV_RECEIPT                     = 0x40
- 	EV_SYSFLAGS                    = 0xf000
- 	EXTA                           = 0x4b00
-+	EXTATTR_MAXNAMELEN             = 0xff
- 	EXTATTR_NAMESPACE_EMPTY        = 0x0
- 	EXTATTR_NAMESPACE_SYSTEM       = 0x2
- 	EXTATTR_NAMESPACE_USER         = 0x1
-@@ -608,12 +646,14 @@ const (
- 	F_UNLCKSYS                     = 0x4
- 	F_WRLCK                        = 0x3
- 	HUPCL                          = 0x4000
-+	HW_MACHINE                     = 0x1
- 	ICANON                         = 0x100
- 	ICMP6_FILTER                   = 0x12
- 	ICRNL                          = 0x100
- 	IEXTEN                         = 0x400
- 	IFAN_ARRIVAL                   = 0x0
- 	IFAN_DEPARTURE                 = 0x1
-+	IFCAP_WOL_MAGIC                = 0x2000
- 	IFF_ALLMULTI                   = 0x200
- 	IFF_ALTPHYS                    = 0x4000
- 	IFF_BROADCAST                  = 0x2
-@@ -630,6 +670,7 @@ const (
- 	IFF_MONITOR                    = 0x40000
- 	IFF_MULTICAST                  = 0x8000
- 	IFF_NOARP                      = 0x80
-+	IFF_NOGROUP                    = 0x800000
- 	IFF_OACTIVE                    = 0x400
- 	IFF_POINTOPOINT                = 0x10
- 	IFF_PPROMISC                   = 0x20000
-@@ -804,6 +845,7 @@ const (
- 	IPV6_DSTOPTS                   = 0x32
- 	IPV6_FLOWID                    = 0x43
- 	IPV6_FLOWINFO_MASK             = 0xffffff0f
-+	IPV6_FLOWLABEL_LEN             = 0x14
- 	IPV6_FLOWLABEL_MASK            = 0xffff0f00
- 	IPV6_FLOWTYPE                  = 0x44
- 	IPV6_FRAGTTL                   = 0x78
-@@ -824,13 +866,13 @@ const (
- 	IPV6_MAX_GROUP_SRC_FILTER      = 0x200
- 	IPV6_MAX_MEMBERSHIPS           = 0xfff
- 	IPV6_MAX_SOCK_SRC_FILTER       = 0x80
--	IPV6_MIN_MEMBERSHIPS           = 0x1f
- 	IPV6_MMTU                      = 0x500
- 	IPV6_MSFILTER                  = 0x4a
- 	IPV6_MULTICAST_HOPS            = 0xa
- 	IPV6_MULTICAST_IF              = 0x9
- 	IPV6_MULTICAST_LOOP            = 0xb
- 	IPV6_NEXTHOP                   = 0x30
-+	IPV6_ORIGDSTADDR               = 0x48
- 	IPV6_PATHMTU                   = 0x2c
- 	IPV6_PKTINFO                   = 0x2e
- 	IPV6_PORTRANGE                 = 0xe
-@@ -842,6 +884,7 @@ const (
- 	IPV6_RECVFLOWID                = 0x46
- 	IPV6_RECVHOPLIMIT              = 0x25
- 	IPV6_RECVHOPOPTS               = 0x27
-+	IPV6_RECVORIGDSTADDR           = 0x48
- 	IPV6_RECVPATHMTU               = 0x2b
- 	IPV6_RECVPKTINFO               = 0x24
- 	IPV6_RECVRSSBUCKETID           = 0x47
-@@ -902,10 +945,8 @@ const (
- 	IP_MAX_MEMBERSHIPS             = 0xfff
- 	IP_MAX_SOCK_MUTE_FILTER        = 0x80
- 	IP_MAX_SOCK_SRC_FILTER         = 0x80
--	IP_MAX_SOURCE_FILTER           = 0x400
- 	IP_MF                          = 0x2000
- 	IP_MINTTL                      = 0x42
--	IP_MIN_MEMBERSHIPS             = 0x1f
- 	IP_MSFILTER                    = 0x4a
- 	IP_MSS                         = 0x240
- 	IP_MULTICAST_IF                = 0x9
-@@ -915,6 +956,7 @@ const (
- 	IP_OFFMASK                     = 0x1fff
- 	IP_ONESBCAST                   = 0x17
- 	IP_OPTIONS                     = 0x1
-+	IP_ORIGDSTADDR                 = 0x1b
- 	IP_PORTRANGE                   = 0x13
- 	IP_PORTRANGE_DEFAULT           = 0x0
- 	IP_PORTRANGE_HIGH              = 0x1
-@@ -923,6 +965,7 @@ const (
- 	IP_RECVFLOWID                  = 0x5d
- 	IP_RECVIF                      = 0x14
- 	IP_RECVOPTS                    = 0x5
-+	IP_RECVORIGDSTADDR             = 0x1b
- 	IP_RECVRETOPTS                 = 0x6
- 	IP_RECVRSSBUCKETID             = 0x5e
- 	IP_RECVTOS                     = 0x44
-@@ -944,6 +987,10 @@ const (
- 	IXANY                          = 0x800
- 	IXOFF                          = 0x400
- 	IXON                           = 0x200
-+	KERN_HOSTNAME                  = 0xa
-+	KERN_OSRELEASE                 = 0x2
-+	KERN_OSTYPE                    = 0x1
-+	KERN_VERSION                   = 0x4
- 	LOCK_EX                        = 0x2
- 	LOCK_NB                        = 0x4
- 	LOCK_SH                        = 0x1
-@@ -968,6 +1015,7 @@ const (
- 	MAP_EXCL                       = 0x4000
- 	MAP_FILE                       = 0x0
- 	MAP_FIXED                      = 0x10
-+	MAP_GUARD                      = 0x2000
- 	MAP_HASSEMAPHORE               = 0x200
- 	MAP_NOCORE                     = 0x20000
- 	MAP_NOSYNC                     = 0x800
-@@ -979,8 +1027,62 @@ const (
- 	MAP_RESERVED0100               = 0x100
- 	MAP_SHARED                     = 0x1
- 	MAP_STACK                      = 0x400
-+	MCAST_BLOCK_SOURCE             = 0x54
-+	MCAST_EXCLUDE                  = 0x2
-+	MCAST_INCLUDE                  = 0x1
-+	MCAST_JOIN_GROUP               = 0x50
-+	MCAST_JOIN_SOURCE_GROUP        = 0x52
-+	MCAST_LEAVE_GROUP              = 0x51
-+	MCAST_LEAVE_SOURCE_GROUP       = 0x53
-+	MCAST_UNBLOCK_SOURCE           = 0x55
-+	MCAST_UNDEFINED                = 0x0
- 	MCL_CURRENT                    = 0x1
- 	MCL_FUTURE                     = 0x2
-+	MNT_ACLS                       = 0x8000000
-+	MNT_ASYNC                      = 0x40
-+	MNT_AUTOMOUNTED                = 0x200000000
-+	MNT_BYFSID                     = 0x8000000
-+	MNT_CMDFLAGS                   = 0xd0f0000
-+	MNT_DEFEXPORTED                = 0x200
-+	MNT_DELEXPORT                  = 0x20000
-+	MNT_EXKERB                     = 0x800
-+	MNT_EXPORTANON                 = 0x400
-+	MNT_EXPORTED                   = 0x100
-+	MNT_EXPUBLIC                   = 0x20000000
-+	MNT_EXRDONLY                   = 0x80
-+	MNT_FORCE                      = 0x80000
-+	MNT_GJOURNAL                   = 0x2000000
-+	MNT_IGNORE                     = 0x800000
-+	MNT_LAZY                       = 0x3
-+	MNT_LOCAL                      = 0x1000
-+	MNT_MULTILABEL                 = 0x4000000
-+	MNT_NFS4ACLS                   = 0x10
-+	MNT_NOATIME                    = 0x10000000
-+	MNT_NOCLUSTERR                 = 0x40000000
-+	MNT_NOCLUSTERW                 = 0x80000000
-+	MNT_NOEXEC                     = 0x4
-+	MNT_NONBUSY                    = 0x4000000
-+	MNT_NOSUID                     = 0x8
-+	MNT_NOSYMFOLLOW                = 0x400000
-+	MNT_NOWAIT                     = 0x2
-+	MNT_QUOTA                      = 0x2000
-+	MNT_RDONLY                     = 0x1
-+	MNT_RELOAD                     = 0x40000
-+	MNT_ROOTFS                     = 0x4000
-+	MNT_SNAPSHOT                   = 0x1000000
-+	MNT_SOFTDEP                    = 0x200000
-+	MNT_SUIDDIR                    = 0x100000
-+	MNT_SUJ                        = 0x100000000
-+	MNT_SUSPEND                    = 0x4
-+	MNT_SYNCHRONOUS                = 0x2
-+	MNT_UNION                      = 0x20
-+	MNT_UNTRUSTED                  = 0x800000000
-+	MNT_UPDATE                     = 0x10000
-+	MNT_UPDATEMASK                 = 0xad8d0807e
-+	MNT_USER                       = 0x8000
-+	MNT_VERIFIED                   = 0x400000000
-+	MNT_VISFLAGMASK                = 0xffef0ffff
-+	MNT_WAIT                       = 0x1
- 	MSG_CMSG_CLOEXEC               = 0x40000
- 	MSG_COMPAT                     = 0x8000
- 	MSG_CTRUNC                     = 0x20
-@@ -1005,8 +1107,10 @@ const (
- 	NET_RT_IFLIST                  = 0x3
- 	NET_RT_IFLISTL                 = 0x5
- 	NET_RT_IFMALIST                = 0x4
-+	NFDBITS                        = 0x20
- 	NOFLSH                         = 0x80000000
- 	NOKERNINFO                     = 0x2000000
-+	NOTE_ABSTIME                   = 0x10
- 	NOTE_ATTRIB                    = 0x8
- 	NOTE_CHILD                     = 0x4
- 	NOTE_CLOSE                     = 0x100
-@@ -1161,7 +1265,6 @@ const (
- 	RTV_WEIGHT                     = 0x100
- 	RT_ALL_FIBS                    = -0x1
- 	RT_BLACKHOLE                   = 0x40
--	RT_CACHING_CONTEXT             = 0x1
- 	RT_DEFAULT_FIB                 = 0x0
- 	RT_HAS_GW                      = 0x80
- 	RT_HAS_HEADER                  = 0x10
-@@ -1171,15 +1274,17 @@ const (
- 	RT_LLE_CACHE                   = 0x100
- 	RT_MAY_LOOP                    = 0x8
- 	RT_MAY_LOOP_BIT                = 0x3
--	RT_NORTREF                     = 0x2
- 	RT_REJECT                      = 0x20
- 	RUSAGE_CHILDREN                = -0x1
- 	RUSAGE_SELF                    = 0x0
- 	RUSAGE_THREAD                  = 0x1
- 	SCM_BINTIME                    = 0x4
- 	SCM_CREDS                      = 0x3
-+	SCM_MONOTONIC                  = 0x6
-+	SCM_REALTIME                   = 0x5
- 	SCM_RIGHTS                     = 0x1
- 	SCM_TIMESTAMP                  = 0x2
-+	SCM_TIME_INFO                  = 0x7
- 	SHUT_RD                        = 0x0
- 	SHUT_RDWR                      = 0x2
- 	SHUT_WR                        = 0x1
-@@ -1195,6 +1300,7 @@ const (
- 	SIOCGETSGCNT                   = 0xc0147210
- 	SIOCGETVIFCNT                  = 0xc014720f
- 	SIOCGHIWAT                     = 0x40047301
-+	SIOCGHWADDR                    = 0xc020693e
- 	SIOCGI2C                       = 0xc020693d
- 	SIOCGIFADDR                    = 0xc0206921
- 	SIOCGIFBRDADDR                 = 0xc0206923
-@@ -1216,8 +1322,11 @@ const (
- 	SIOCGIFPDSTADDR                = 0xc0206948
- 	SIOCGIFPHYS                    = 0xc0206935
- 	SIOCGIFPSRCADDR                = 0xc0206947
-+	SIOCGIFRSSHASH                 = 0xc0186997
-+	SIOCGIFRSSKEY                  = 0xc0946996
- 	SIOCGIFSTATUS                  = 0xc331693b
- 	SIOCGIFXMEDIA                  = 0xc028698b
-+	SIOCGLANPCP                    = 0xc0206998
- 	SIOCGLOWAT                     = 0x40047303
- 	SIOCGPGRP                      = 0x40047309
- 	SIOCGPRIVATE_0                 = 0xc0206950
-@@ -1248,6 +1357,7 @@ const (
- 	SIOCSIFPHYS                    = 0x80206936
- 	SIOCSIFRVNET                   = 0xc020695b
- 	SIOCSIFVNET                    = 0xc020695a
-+	SIOCSLANPCP                    = 0x80206999
- 	SIOCSLOWAT                     = 0x80047302
- 	SIOCSPGRP                      = 0x80047308
- 	SIOCSTUNFIB                    = 0x8020695f
-@@ -1266,6 +1376,7 @@ const (
- 	SO_BINTIME                     = 0x2000
- 	SO_BROADCAST                   = 0x20
- 	SO_DEBUG                       = 0x1
-+	SO_DOMAIN                      = 0x1019
- 	SO_DONTROUTE                   = 0x10
- 	SO_ERROR                       = 0x1007
- 	SO_KEEPALIVE                   = 0x8
-@@ -1274,6 +1385,7 @@ const (
- 	SO_LISTENINCQLEN               = 0x1013
- 	SO_LISTENQLEN                  = 0x1012
- 	SO_LISTENQLIMIT                = 0x1011
-+	SO_MAX_PACING_RATE             = 0x1018
- 	SO_NOSIGPIPE                   = 0x800
- 	SO_NO_DDP                      = 0x8000
- 	SO_NO_OFFLOAD                  = 0x4000
-@@ -1286,15 +1398,52 @@ const (
- 	SO_RCVTIMEO                    = 0x1006
- 	SO_REUSEADDR                   = 0x4
- 	SO_REUSEPORT                   = 0x200
-+	SO_REUSEPORT_LB                = 0x10000
- 	SO_SETFIB                      = 0x1014
- 	SO_SNDBUF                      = 0x1001
- 	SO_SNDLOWAT                    = 0x1003
- 	SO_SNDTIMEO                    = 0x1005
- 	SO_TIMESTAMP                   = 0x400
-+	SO_TS_BINTIME                  = 0x1
-+	SO_TS_CLOCK                    = 0x1017
-+	SO_TS_CLOCK_MAX                = 0x3
-+	SO_TS_DEFAULT                  = 0x0
-+	SO_TS_MONOTONIC                = 0x3
-+	SO_TS_REALTIME                 = 0x2
-+	SO_TS_REALTIME_MICRO           = 0x0
- 	SO_TYPE                        = 0x1008
- 	SO_USELOOPBACK                 = 0x40
- 	SO_USER_COOKIE                 = 0x1015
- 	SO_VENDOR                      = 0x80000000
-+	S_BLKSIZE                      = 0x200
-+	S_IEXEC                        = 0x40
-+	S_IFBLK                        = 0x6000
-+	S_IFCHR                        = 0x2000
-+	S_IFDIR                        = 0x4000
-+	S_IFIFO                        = 0x1000
-+	S_IFLNK                        = 0xa000
-+	S_IFMT                         = 0xf000
-+	S_IFREG                        = 0x8000
-+	S_IFSOCK                       = 0xc000
-+	S_IFWHT                        = 0xe000
-+	S_IREAD                        = 0x100
-+	S_IRGRP                        = 0x20
-+	S_IROTH                        = 0x4
-+	S_IRUSR                        = 0x100
-+	S_IRWXG                        = 0x38
-+	S_IRWXO                        = 0x7
-+	S_IRWXU                        = 0x1c0
-+	S_ISGID                        = 0x400
-+	S_ISTXT                        = 0x200
-+	S_ISUID                        = 0x800
-+	S_ISVTX                        = 0x200
-+	S_IWGRP                        = 0x10
-+	S_IWOTH                        = 0x2
-+	S_IWRITE                       = 0x80
-+	S_IWUSR                        = 0x80
-+	S_IXGRP                        = 0x8
-+	S_IXOTH                        = 0x1
-+	S_IXUSR                        = 0x40
- 	TAB0                           = 0x0
- 	TAB3                           = 0x4
- 	TABDLY                         = 0x4
-@@ -1305,10 +1454,45 @@ const (
- 	TCOFLUSH                       = 0x2
- 	TCOOFF                         = 0x1
- 	TCOON                          = 0x2
-+	TCP_BBR_ACK_COMP_ALG           = 0x448
-+	TCP_BBR_DRAIN_INC_EXTRA        = 0x43c
-+	TCP_BBR_DRAIN_PG               = 0x42e
-+	TCP_BBR_EXTRA_GAIN             = 0x449
-+	TCP_BBR_IWINTSO                = 0x42b
-+	TCP_BBR_LOWGAIN_FD             = 0x436
-+	TCP_BBR_LOWGAIN_HALF           = 0x435
-+	TCP_BBR_LOWGAIN_THRESH         = 0x434
-+	TCP_BBR_MAX_RTO                = 0x439
-+	TCP_BBR_MIN_RTO                = 0x438
-+	TCP_BBR_ONE_RETRAN             = 0x431
-+	TCP_BBR_PACE_CROSS             = 0x442
-+	TCP_BBR_PACE_DEL_TAR           = 0x43f
-+	TCP_BBR_PACE_PER_SEC           = 0x43e
-+	TCP_BBR_PACE_SEG_MAX           = 0x440
-+	TCP_BBR_PACE_SEG_MIN           = 0x441
-+	TCP_BBR_PROBE_RTT_GAIN         = 0x44d
-+	TCP_BBR_PROBE_RTT_INT          = 0x430
-+	TCP_BBR_PROBE_RTT_LEN          = 0x44e
-+	TCP_BBR_RACK_RTT_USE           = 0x44a
-+	TCP_BBR_RECFORCE               = 0x42c
-+	TCP_BBR_REC_OVER_HPTS          = 0x43a
-+	TCP_BBR_RETRAN_WTSO            = 0x44b
-+	TCP_BBR_RWND_IS_APP            = 0x42f
-+	TCP_BBR_STARTUP_EXIT_EPOCH     = 0x43d
-+	TCP_BBR_STARTUP_LOSS_EXIT      = 0x432
-+	TCP_BBR_STARTUP_PG             = 0x42d
-+	TCP_BBR_UNLIMITED              = 0x43b
-+	TCP_BBR_USEDEL_RATE            = 0x437
-+	TCP_BBR_USE_LOWGAIN            = 0x433
- 	TCP_CA_NAME_MAX                = 0x10
- 	TCP_CCALGOOPT                  = 0x41
- 	TCP_CONGESTION                 = 0x40
-+	TCP_DATA_AFTER_CLOSE           = 0x44c
-+	TCP_DELACK                     = 0x48
- 	TCP_FASTOPEN                   = 0x401
-+	TCP_FASTOPEN_MAX_COOKIE_LEN    = 0x10
-+	TCP_FASTOPEN_MIN_COOKIE_LEN    = 0x4
-+	TCP_FASTOPEN_PSK_LEN           = 0x10
- 	TCP_FUNCTION_BLK               = 0x2000
- 	TCP_FUNCTION_NAME_LEN_MAX      = 0x20
- 	TCP_INFO                       = 0x20
-@@ -1316,6 +1500,12 @@ const (
- 	TCP_KEEPIDLE                   = 0x100
- 	TCP_KEEPINIT                   = 0x80
- 	TCP_KEEPINTVL                  = 0x200
-+	TCP_LOG                        = 0x22
-+	TCP_LOGBUF                     = 0x23
-+	TCP_LOGDUMP                    = 0x25
-+	TCP_LOGDUMPID                  = 0x26
-+	TCP_LOGID                      = 0x24
-+	TCP_LOG_ID_LEN                 = 0x40
- 	TCP_MAXBURST                   = 0x4
- 	TCP_MAXHLEN                    = 0x3c
- 	TCP_MAXOLEN                    = 0x28
-@@ -1331,8 +1521,30 @@ const (
- 	TCP_NOPUSH                     = 0x4
- 	TCP_PCAP_IN                    = 0x1000
- 	TCP_PCAP_OUT                   = 0x800
-+	TCP_RACK_EARLY_RECOV           = 0x423
-+	TCP_RACK_EARLY_SEG             = 0x424
-+	TCP_RACK_IDLE_REDUCE_HIGH      = 0x444
-+	TCP_RACK_MIN_PACE              = 0x445
-+	TCP_RACK_MIN_PACE_SEG          = 0x446
-+	TCP_RACK_MIN_TO                = 0x422
-+	TCP_RACK_PACE_ALWAYS           = 0x41f
-+	TCP_RACK_PACE_MAX_SEG          = 0x41e
-+	TCP_RACK_PACE_REDUCE           = 0x41d
-+	TCP_RACK_PKT_DELAY             = 0x428
-+	TCP_RACK_PROP                  = 0x41b
-+	TCP_RACK_PROP_RATE             = 0x420
-+	TCP_RACK_PRR_SENDALOT          = 0x421
-+	TCP_RACK_REORD_FADE            = 0x426
-+	TCP_RACK_REORD_THRESH          = 0x425
-+	TCP_RACK_SESS_CWV              = 0x42a
-+	TCP_RACK_TLP_INC_VAR           = 0x429
-+	TCP_RACK_TLP_REDUCE            = 0x41c
-+	TCP_RACK_TLP_THRESH            = 0x427
-+	TCP_RACK_TLP_USE               = 0x447
- 	TCP_VENDOR                     = 0x80000000
- 	TCSAFLUSH                      = 0x2
-+	TIMER_ABSTIME                  = 0x1
-+	TIMER_RELTIME                  = 0x0
- 	TIOCCBRK                       = 0x2000747a
- 	TIOCCDTR                       = 0x20007478
- 	TIOCCONS                       = 0x80047462
-@@ -1396,6 +1608,8 @@ const (
- 	TIOCTIMESTAMP                  = 0x40087459
- 	TIOCUCNTL                      = 0x80047466
- 	TOSTOP                         = 0x400000
-+	UTIME_NOW                      = -0x1
-+	UTIME_OMIT                     = -0x2
- 	VDISCARD                       = 0xf
- 	VDSUSP                         = 0xb
- 	VEOF                           = 0x0
-@@ -1407,6 +1621,8 @@ const (
- 	VKILL                          = 0x5
- 	VLNEXT                         = 0xe
- 	VMIN                           = 0x10
-+	VM_BCACHE_SIZE_MAX             = 0x70e0000
-+	VM_SWZONE_SIZE_MAX             = 0x2280000
- 	VQUIT                          = 0x9
- 	VREPRINT                       = 0x6
- 	VSTART                         = 0xc
-@@ -1569,138 +1785,146 @@ const (
- )
- 
- // Error table
--var errors = [...]string{
--	1:  "operation not permitted",
--	2:  "no such file or directory",
--	3:  "no such process",
--	4:  "interrupted system call",
--	5:  "input/output error",
--	6:  "device not configured",
--	7:  "argument list too long",
--	8:  "exec format error",
--	9:  "bad file descriptor",
--	10: "no child processes",
--	11: "resource deadlock avoided",
--	12: "cannot allocate memory",
--	13: "permission denied",
--	14: "bad address",
--	15: "block device required",
--	16: "device busy",
--	17: "file exists",
--	18: "cross-device link",
--	19: "operation not supported by device",
--	20: "not a directory",
--	21: "is a directory",
--	22: "invalid argument",
--	23: "too many open files in system",
--	24: "too many open files",
--	25: "inappropriate ioctl for device",
--	26: "text file busy",
--	27: "file too large",
--	28: "no space left on device",
--	29: "illegal seek",
--	30: "read-only file system",
--	31: "too many links",
--	32: "broken pipe",
--	33: "numerical argument out of domain",
--	34: "result too large",
--	35: "resource temporarily unavailable",
--	36: "operation now in progress",
--	37: "operation already in progress",
--	38: "socket operation on non-socket",
--	39: "destination address required",
--	40: "message too long",
--	41: "protocol wrong type for socket",
--	42: "protocol not available",
--	43: "protocol not supported",
--	44: "socket type not supported",
--	45: "operation not supported",
--	46: "protocol family not supported",
--	47: "address family not supported by protocol family",
--	48: "address already in use",
--	49: "can't assign requested address",
--	50: "network is down",
--	51: "network is unreachable",
--	52: "network dropped connection on reset",
--	53: "software caused connection abort",
--	54: "connection reset by peer",
--	55: "no buffer space available",
--	56: "socket is already connected",
--	57: "socket is not connected",
--	58: "can't send after socket shutdown",
--	59: "too many references: can't splice",
--	60: "operation timed out",
--	61: "connection refused",
--	62: "too many levels of symbolic links",
--	63: "file name too long",
--	64: "host is down",
--	65: "no route to host",
--	66: "directory not empty",
--	67: "too many processes",
--	68: "too many users",
--	69: "disc quota exceeded",
--	70: "stale NFS file handle",
--	71: "too many levels of remote in path",
--	72: "RPC struct is bad",
--	73: "RPC version wrong",
--	74: "RPC prog. not avail",
--	75: "program version wrong",
--	76: "bad procedure for program",
--	77: "no locks available",
--	78: "function not implemented",
--	79: "inappropriate file type or format",
--	80: "authentication error",
--	81: "need authenticator",
--	82: "identifier removed",
--	83: "no message of desired type",
--	84: "value too large to be stored in data type",
--	85: "operation canceled",
--	86: "illegal byte sequence",
--	87: "attribute not found",
--	88: "programming error",
--	89: "bad message",
--	90: "multihop attempted",
--	91: "link has been severed",
--	92: "protocol error",
--	93: "capabilities insufficient",
--	94: "not permitted in capability mode",
--	95: "state not recoverable",
--	96: "previous owner died",
-+var errorList = [...]struct {
-+	num  syscall.Errno
-+	name string
-+	desc string
-+}{
-+	{1, "EPERM", "operation not permitted"},
-+	{2, "ENOENT", "no such file or directory"},
-+	{3, "ESRCH", "no such process"},
-+	{4, "EINTR", "interrupted system call"},
-+	{5, "EIO", "input/output error"},
-+	{6, "ENXIO", "device not configured"},
-+	{7, "E2BIG", "argument list too long"},
-+	{8, "ENOEXEC", "exec format error"},
-+	{9, "EBADF", "bad file descriptor"},
-+	{10, "ECHILD", "no child processes"},
-+	{11, "EDEADLK", "resource deadlock avoided"},
-+	{12, "ENOMEM", "cannot allocate memory"},
-+	{13, "EACCES", "permission denied"},
-+	{14, "EFAULT", "bad address"},
-+	{15, "ENOTBLK", "block device required"},
-+	{16, "EBUSY", "device busy"},
-+	{17, "EEXIST", "file exists"},
-+	{18, "EXDEV", "cross-device link"},
-+	{19, "ENODEV", "operation not supported by device"},
-+	{20, "ENOTDIR", "not a directory"},
-+	{21, "EISDIR", "is a directory"},
-+	{22, "EINVAL", "invalid argument"},
-+	{23, "ENFILE", "too many open files in system"},
-+	{24, "EMFILE", "too many open files"},
-+	{25, "ENOTTY", "inappropriate ioctl for device"},
-+	{26, "ETXTBSY", "text file busy"},
-+	{27, "EFBIG", "file too large"},
-+	{28, "ENOSPC", "no space left on device"},
-+	{29, "ESPIPE", "illegal seek"},
-+	{30, "EROFS", "read-only file system"},
-+	{31, "EMLINK", "too many links"},
-+	{32, "EPIPE", "broken pipe"},
-+	{33, "EDOM", "numerical argument out of domain"},
-+	{34, "ERANGE", "result too large"},
-+	{35, "EAGAIN", "resource temporarily unavailable"},
-+	{36, "EINPROGRESS", "operation now in progress"},
-+	{37, "EALREADY", "operation already in progress"},
-+	{38, "ENOTSOCK", "socket operation on non-socket"},
-+	{39, "EDESTADDRREQ", "destination address required"},
-+	{40, "EMSGSIZE", "message too long"},
-+	{41, "EPROTOTYPE", "protocol wrong type for socket"},
-+	{42, "ENOPROTOOPT", "protocol not available"},
-+	{43, "EPROTONOSUPPORT", "protocol not supported"},
-+	{44, "ESOCKTNOSUPPORT", "socket type not supported"},
-+	{45, "EOPNOTSUPP", "operation not supported"},
-+	{46, "EPFNOSUPPORT", "protocol family not supported"},
-+	{47, "EAFNOSUPPORT", "address family not supported by protocol family"},
-+	{48, "EADDRINUSE", "address already in use"},
-+	{49, "EADDRNOTAVAIL", "can't assign requested address"},
-+	{50, "ENETDOWN", "network is down"},
-+	{51, "ENETUNREACH", "network is unreachable"},
-+	{52, "ENETRESET", "network dropped connection on reset"},
-+	{53, "ECONNABORTED", "software caused connection abort"},
-+	{54, "ECONNRESET", "connection reset by peer"},
-+	{55, "ENOBUFS", "no buffer space available"},
-+	{56, "EISCONN", "socket is already connected"},
-+	{57, "ENOTCONN", "socket is not connected"},
-+	{58, "ESHUTDOWN", "can't send after socket shutdown"},
-+	{59, "ETOOMANYREFS", "too many references: can't splice"},
-+	{60, "ETIMEDOUT", "operation timed out"},
-+	{61, "ECONNREFUSED", "connection refused"},
-+	{62, "ELOOP", "too many levels of symbolic links"},
-+	{63, "ENAMETOOLONG", "file name too long"},
-+	{64, "EHOSTDOWN", "host is down"},
-+	{65, "EHOSTUNREACH", "no route to host"},
-+	{66, "ENOTEMPTY", "directory not empty"},
-+	{67, "EPROCLIM", "too many processes"},
-+	{68, "EUSERS", "too many users"},
-+	{69, "EDQUOT", "disc quota exceeded"},
-+	{70, "ESTALE", "stale NFS file handle"},
-+	{71, "EREMOTE", "too many levels of remote in path"},
-+	{72, "EBADRPC", "RPC struct is bad"},
-+	{73, "ERPCMISMATCH", "RPC version wrong"},
-+	{74, "EPROGUNAVAIL", "RPC prog. not avail"},
-+	{75, "EPROGMISMATCH", "program version wrong"},
-+	{76, "EPROCUNAVAIL", "bad procedure for program"},
-+	{77, "ENOLCK", "no locks available"},
-+	{78, "ENOSYS", "function not implemented"},
-+	{79, "EFTYPE", "inappropriate file type or format"},
-+	{80, "EAUTH", "authentication error"},
-+	{81, "ENEEDAUTH", "need authenticator"},
-+	{82, "EIDRM", "identifier removed"},
-+	{83, "ENOMSG", "no message of desired type"},
-+	{84, "EOVERFLOW", "value too large to be stored in data type"},
-+	{85, "ECANCELED", "operation canceled"},
-+	{86, "EILSEQ", "illegal byte sequence"},
-+	{87, "ENOATTR", "attribute not found"},
-+	{88, "EDOOFUS", "programming error"},
-+	{89, "EBADMSG", "bad message"},
-+	{90, "EMULTIHOP", "multihop attempted"},
-+	{91, "ENOLINK", "link has been severed"},
-+	{92, "EPROTO", "protocol error"},
-+	{93, "ENOTCAPABLE", "capabilities insufficient"},
-+	{94, "ECAPMODE", "not permitted in capability mode"},
-+	{95, "ENOTRECOVERABLE", "state not recoverable"},
-+	{96, "EOWNERDEAD", "previous owner died"},
- }
- 
- // Signal table
--var signals = [...]string{
--	1:  "hangup",
--	2:  "interrupt",
--	3:  "quit",
--	4:  "illegal instruction",
--	5:  "trace/BPT trap",
--	6:  "abort trap",
--	7:  "EMT trap",
--	8:  "floating point exception",
--	9:  "killed",
--	10: "bus error",
--	11: "segmentation fault",
--	12: "bad system call",
--	13: "broken pipe",
--	14: "alarm clock",
--	15: "terminated",
--	16: "urgent I/O condition",
--	17: "suspended (signal)",
--	18: "suspended",
--	19: "continued",
--	20: "child exited",
--	21: "stopped (tty input)",
--	22: "stopped (tty output)",
--	23: "I/O possible",
--	24: "cputime limit exceeded",
--	25: "filesize limit exceeded",
--	26: "virtual timer expired",
--	27: "profiling timer expired",
--	28: "window size changes",
--	29: "information request",
--	30: "user defined signal 1",
--	31: "user defined signal 2",
--	32: "unknown signal",
--	33: "unknown signal",
-+var signalList = [...]struct {
-+	num  syscall.Signal
-+	name string
-+	desc string
-+}{
-+	{1, "SIGHUP", "hangup"},
-+	{2, "SIGINT", "interrupt"},
-+	{3, "SIGQUIT", "quit"},
-+	{4, "SIGILL", "illegal instruction"},
-+	{5, "SIGTRAP", "trace/BPT trap"},
-+	{6, "SIGIOT", "abort trap"},
-+	{7, "SIGEMT", "EMT trap"},
-+	{8, "SIGFPE", "floating point exception"},
-+	{9, "SIGKILL", "killed"},
-+	{10, "SIGBUS", "bus error"},
-+	{11, "SIGSEGV", "segmentation fault"},
-+	{12, "SIGSYS", "bad system call"},
-+	{13, "SIGPIPE", "broken pipe"},
-+	{14, "SIGALRM", "alarm clock"},
-+	{15, "SIGTERM", "terminated"},
-+	{16, "SIGURG", "urgent I/O condition"},
-+	{17, "SIGSTOP", "suspended (signal)"},
-+	{18, "SIGTSTP", "suspended"},
-+	{19, "SIGCONT", "continued"},
-+	{20, "SIGCHLD", "child exited"},
-+	{21, "SIGTTIN", "stopped (tty input)"},
-+	{22, "SIGTTOU", "stopped (tty output)"},
-+	{23, "SIGIO", "I/O possible"},
-+	{24, "SIGXCPU", "cputime limit exceeded"},
-+	{25, "SIGXFSZ", "filesize limit exceeded"},
-+	{26, "SIGVTALRM", "virtual timer expired"},
-+	{27, "SIGPROF", "profiling timer expired"},
-+	{28, "SIGWINCH", "window size changes"},
-+	{29, "SIGINFO", "information request"},
-+	{30, "SIGUSR1", "user defined signal 1"},
-+	{31, "SIGUSR2", "user defined signal 2"},
-+	{32, "SIGTHR", "unknown signal"},
-+	{33, "SIGLIBRT", "unknown signal"},
- }
-diff --git a/vendor/golang.org/x/sys/unix/zerrors_freebsd_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_freebsd_amd64.go
-index ac094f9c..4acd101c 100644
---- a/vendor/golang.org/x/sys/unix/zerrors_freebsd_amd64.go
-+++ b/vendor/golang.org/x/sys/unix/zerrors_freebsd_amd64.go
-@@ -3,7 +3,7 @@
- 
- // +build amd64,freebsd
- 
--// Created by cgo -godefs - DO NOT EDIT
-+// Code generated by cmd/cgo -godefs; DO NOT EDIT.
- // cgo -godefs -- -m64 _const.go
- 
- package unix
-@@ -351,8 +351,26 @@ const (
- 	CSTOP                          = 0x13
- 	CSTOPB                         = 0x400
- 	CSUSP                          = 0x1a
-+	CTL_HW                         = 0x6
-+	CTL_KERN                       = 0x1
- 	CTL_MAXNAME                    = 0x18
- 	CTL_NET                        = 0x4
-+	DIOCGATTR                      = 0xc148648e
-+	DIOCGDELETE                    = 0x80106488
-+	DIOCGFLUSH                     = 0x20006487
-+	DIOCGFRONTSTUFF                = 0x40086486
-+	DIOCGFWHEADS                   = 0x40046483
-+	DIOCGFWSECTORS                 = 0x40046482
-+	DIOCGIDENT                     = 0x41006489
-+	DIOCGMEDIASIZE                 = 0x40086481
-+	DIOCGPHYSPATH                  = 0x4400648d
-+	DIOCGPROVIDERNAME              = 0x4400648a
-+	DIOCGSECTORSIZE                = 0x40046480
-+	DIOCGSTRIPEOFFSET              = 0x4008648c
-+	DIOCGSTRIPESIZE                = 0x4008648b
-+	DIOCSKERNELDUMP                = 0x80506490
-+	DIOCSKERNELDUMP_FREEBSD11      = 0x80046485
-+	DIOCZONECMD                    = 0xc080648f
- 	DLT_A429                       = 0xb8
- 	DLT_A653_ICM                   = 0xb9
- 	DLT_AIRONET_HEADER             = 0x78
-@@ -377,11 +395,14 @@ const (
- 	DLT_CHAOS                      = 0x5
- 	DLT_CHDLC                      = 0x68
- 	DLT_CISCO_IOS                  = 0x76
-+	DLT_CLASS_NETBSD_RAWAF         = 0x2240000
- 	DLT_C_HDLC                     = 0x68
- 	DLT_C_HDLC_WITH_DIR            = 0xcd
- 	DLT_DBUS                       = 0xe7
- 	DLT_DECT                       = 0xdd
-+	DLT_DISPLAYPORT_AUX            = 0x113
- 	DLT_DOCSIS                     = 0x8f
-+	DLT_DOCSIS31_XRA31             = 0x111
- 	DLT_DVB_CI                     = 0xeb
- 	DLT_ECONET                     = 0x73
- 	DLT_EN10MB                     = 0x1
-@@ -391,6 +412,7 @@ const (
- 	DLT_ERF                        = 0xc5
- 	DLT_ERF_ETH                    = 0xaf
- 	DLT_ERF_POS                    = 0xb0
-+	DLT_ETHERNET_MPACKET           = 0x112
- 	DLT_FC_2                       = 0xe0
- 	DLT_FC_2_WITH_FRAME_DELIMS     = 0xe1
- 	DLT_FDDI                       = 0xa
-@@ -404,7 +426,6 @@ const (
- 	DLT_GPRS_LLC                   = 0xa9
- 	DLT_GSMTAP_ABIS                = 0xda
- 	DLT_GSMTAP_UM                  = 0xd9
--	DLT_HHDLC                      = 0x79
- 	DLT_IBM_SN                     = 0x92
- 	DLT_IBM_SP                     = 0x91
- 	DLT_IEEE802                    = 0x6
-@@ -427,6 +448,7 @@ const (
- 	DLT_IPV4                       = 0xe4
- 	DLT_IPV6                       = 0xe5
- 	DLT_IP_OVER_FC                 = 0x7a
-+	DLT_ISO_14443                  = 0x108
- 	DLT_JUNIPER_ATM1               = 0x89
- 	DLT_JUNIPER_ATM2               = 0x87
- 	DLT_JUNIPER_ATM_CEMIC          = 0xee
-@@ -459,8 +481,9 @@ const (
- 	DLT_LINUX_PPP_WITHDIRECTION    = 0xa6
- 	DLT_LINUX_SLL                  = 0x71
- 	DLT_LOOP                       = 0x6c
-+	DLT_LORATAP                    = 0x10e
- 	DLT_LTALK                      = 0x72
--	DLT_MATCHING_MAX               = 0x104
-+	DLT_MATCHING_MAX               = 0x113
- 	DLT_MATCHING_MIN               = 0x68
- 	DLT_MFR                        = 0xb6
- 	DLT_MOST                       = 0xd3
-@@ -476,14 +499,16 @@ const (
- 	DLT_NFC_LLCP                   = 0xf5
- 	DLT_NFLOG                      = 0xef
- 	DLT_NG40                       = 0xf4
-+	DLT_NORDIC_BLE                 = 0x110
- 	DLT_NULL                       = 0x0
-+	DLT_OPENFLOW                   = 0x10b
- 	DLT_PCI_EXP                    = 0x7d
- 	DLT_PFLOG                      = 0x75
- 	DLT_PFSYNC                     = 0x79
- 	DLT_PKTAP                      = 0x102
- 	DLT_PPI                        = 0xc0
- 	DLT_PPP                        = 0x9
--	DLT_PPP_BSDOS                  = 0x10
-+	DLT_PPP_BSDOS                  = 0xe
- 	DLT_PPP_ETHER                  = 0x33
- 	DLT_PPP_PPPD                   = 0xa6
- 	DLT_PPP_SERIAL                 = 0x32
-@@ -494,19 +519,25 @@ const (
- 	DLT_PRONET                     = 0x4
- 	DLT_RAIF1                      = 0xc6
- 	DLT_RAW                        = 0xc
-+	DLT_RDS                        = 0x109
-+	DLT_REDBACK_SMARTEDGE          = 0x20
- 	DLT_RIO                        = 0x7c
- 	DLT_RTAC_SERIAL                = 0xfa
- 	DLT_SCCP                       = 0x8e
- 	DLT_SCTP                       = 0xf8
-+	DLT_SDLC                       = 0x10c
- 	DLT_SITA                       = 0xc4
- 	DLT_SLIP                       = 0x8
--	DLT_SLIP_BSDOS                 = 0xf
-+	DLT_SLIP_BSDOS                 = 0xd
- 	DLT_STANAG_5066_D_PDU          = 0xed
- 	DLT_SUNATM                     = 0x7b
- 	DLT_SYMANTEC_FIREWALL          = 0x63
-+	DLT_TI_LLN_SNIFFER             = 0x10d
- 	DLT_TZSP                       = 0x80
- 	DLT_USB                        = 0xba
- 	DLT_USBPCAP                    = 0xf9
-+	DLT_USB_DARWIN                 = 0x10a
-+	DLT_USB_FREEBSD                = 0xba
- 	DLT_USB_LINUX                  = 0xbd
- 	DLT_USB_LINUX_MMAPPED          = 0xdc
- 	DLT_USER0                      = 0x93
-@@ -525,10 +556,14 @@ const (
- 	DLT_USER7                      = 0x9a
- 	DLT_USER8                      = 0x9b
- 	DLT_USER9                      = 0x9c
-+	DLT_VSOCK                      = 0x10f
-+	DLT_WATTSTOPPER_DLM            = 0x107
- 	DLT_WIHART                     = 0xdf
- 	DLT_WIRESHARK_UPPER_PDU        = 0xfc
- 	DLT_X2E_SERIAL                 = 0xd5
- 	DLT_X2E_XORAYA                 = 0xd6
-+	DLT_ZWAVE_R1_R2                = 0x105
-+	DLT_ZWAVE_R3                   = 0x106
- 	DT_BLK                         = 0x6
- 	DT_CHR                         = 0x2
- 	DT_DIR                         = 0x4
-@@ -546,6 +581,7 @@ const (
- 	ECHONL                         = 0x10
- 	ECHOPRT                        = 0x20
- 	EVFILT_AIO                     = -0x3
-+	EVFILT_EMPTY                   = -0xd
- 	EVFILT_FS                      = -0x9
- 	EVFILT_LIO                     = -0xa
- 	EVFILT_PROC                    = -0x5
-@@ -553,11 +589,12 @@ const (
- 	EVFILT_READ                    = -0x1
- 	EVFILT_SENDFILE                = -0xc
- 	EVFILT_SIGNAL                  = -0x6
--	EVFILT_SYSCOUNT                = 0xc
-+	EVFILT_SYSCOUNT                = 0xd
- 	EVFILT_TIMER                   = -0x7
- 	EVFILT_USER                    = -0xb
- 	EVFILT_VNODE                   = -0x4
- 	EVFILT_WRITE                   = -0x2
-+	EVNAMEMAP_NAME_SIZE            = 0x40
- 	EV_ADD                         = 0x1
- 	EV_CLEAR                       = 0x20
- 	EV_DELETE                      = 0x2
-@@ -574,6 +611,7 @@ const (
- 	EV_RECEIPT                     = 0x40
- 	EV_SYSFLAGS                    = 0xf000
- 	EXTA                           = 0x4b00
-+	EXTATTR_MAXNAMELEN             = 0xff
- 	EXTATTR_NAMESPACE_EMPTY        = 0x0
- 	EXTATTR_NAMESPACE_SYSTEM       = 0x2
- 	EXTATTR_NAMESPACE_USER         = 0x1
-@@ -608,12 +646,14 @@ const (
- 	F_UNLCKSYS                     = 0x4
- 	F_WRLCK                        = 0x3
- 	HUPCL                          = 0x4000
-+	HW_MACHINE                     = 0x1
- 	ICANON                         = 0x100
- 	ICMP6_FILTER                   = 0x12
- 	ICRNL                          = 0x100
- 	IEXTEN                         = 0x400
- 	IFAN_ARRIVAL                   = 0x0
- 	IFAN_DEPARTURE                 = 0x1
-+	IFCAP_WOL_MAGIC                = 0x2000
- 	IFF_ALLMULTI                   = 0x200
- 	IFF_ALTPHYS                    = 0x4000
- 	IFF_BROADCAST                  = 0x2
-@@ -630,6 +670,7 @@ const (
- 	IFF_MONITOR                    = 0x40000
- 	IFF_MULTICAST                  = 0x8000
- 	IFF_NOARP                      = 0x80
-+	IFF_NOGROUP                    = 0x800000
- 	IFF_OACTIVE                    = 0x400
- 	IFF_POINTOPOINT                = 0x10
- 	IFF_PPROMISC                   = 0x20000
-@@ -804,6 +845,7 @@ const (
- 	IPV6_DSTOPTS                   = 0x32
- 	IPV6_FLOWID                    = 0x43
- 	IPV6_FLOWINFO_MASK             = 0xffffff0f
-+	IPV6_FLOWLABEL_LEN             = 0x14
- 	IPV6_FLOWLABEL_MASK            = 0xffff0f00
- 	IPV6_FLOWTYPE                  = 0x44
- 	IPV6_FRAGTTL                   = 0x78
-@@ -824,13 +866,13 @@ const (
- 	IPV6_MAX_GROUP_SRC_FILTER      = 0x200
- 	IPV6_MAX_MEMBERSHIPS           = 0xfff
- 	IPV6_MAX_SOCK_SRC_FILTER       = 0x80
--	IPV6_MIN_MEMBERSHIPS           = 0x1f
- 	IPV6_MMTU                      = 0x500
- 	IPV6_MSFILTER                  = 0x4a
- 	IPV6_MULTICAST_HOPS            = 0xa
- 	IPV6_MULTICAST_IF              = 0x9
- 	IPV6_MULTICAST_LOOP            = 0xb
- 	IPV6_NEXTHOP                   = 0x30
-+	IPV6_ORIGDSTADDR               = 0x48
- 	IPV6_PATHMTU                   = 0x2c
- 	IPV6_PKTINFO                   = 0x2e
- 	IPV6_PORTRANGE                 = 0xe
-@@ -842,6 +884,7 @@ const (
- 	IPV6_RECVFLOWID                = 0x46
- 	IPV6_RECVHOPLIMIT              = 0x25
- 	IPV6_RECVHOPOPTS               = 0x27
-+	IPV6_RECVORIGDSTADDR           = 0x48
- 	IPV6_RECVPATHMTU               = 0x2b
- 	IPV6_RECVPKTINFO               = 0x24
- 	IPV6_RECVRSSBUCKETID           = 0x47
-@@ -902,10 +945,8 @@ const (
- 	IP_MAX_MEMBERSHIPS             = 0xfff
- 	IP_MAX_SOCK_MUTE_FILTER        = 0x80
- 	IP_MAX_SOCK_SRC_FILTER         = 0x80
--	IP_MAX_SOURCE_FILTER           = 0x400
- 	IP_MF                          = 0x2000
- 	IP_MINTTL                      = 0x42
--	IP_MIN_MEMBERSHIPS             = 0x1f
- 	IP_MSFILTER                    = 0x4a
- 	IP_MSS                         = 0x240
- 	IP_MULTICAST_IF                = 0x9
-@@ -915,6 +956,7 @@ const (
- 	IP_OFFMASK                     = 0x1fff
- 	IP_ONESBCAST                   = 0x17
- 	IP_OPTIONS                     = 0x1
-+	IP_ORIGDSTADDR                 = 0x1b
- 	IP_PORTRANGE                   = 0x13
- 	IP_PORTRANGE_DEFAULT           = 0x0
- 	IP_PORTRANGE_HIGH              = 0x1
-@@ -923,6 +965,7 @@ const (
- 	IP_RECVFLOWID                  = 0x5d
- 	IP_RECVIF                      = 0x14
- 	IP_RECVOPTS                    = 0x5
-+	IP_RECVORIGDSTADDR             = 0x1b
- 	IP_RECVRETOPTS                 = 0x6
- 	IP_RECVRSSBUCKETID             = 0x5e
- 	IP_RECVTOS                     = 0x44
-@@ -944,6 +987,10 @@ const (
- 	IXANY                          = 0x800
- 	IXOFF                          = 0x400
- 	IXON                           = 0x200
-+	KERN_HOSTNAME                  = 0xa
-+	KERN_OSRELEASE                 = 0x2
-+	KERN_OSTYPE                    = 0x1
-+	KERN_VERSION                   = 0x4
- 	LOCK_EX                        = 0x2
- 	LOCK_NB                        = 0x4
- 	LOCK_SH                        = 0x1
-@@ -969,6 +1016,7 @@ const (
- 	MAP_EXCL                       = 0x4000
- 	MAP_FILE                       = 0x0
- 	MAP_FIXED                      = 0x10
-+	MAP_GUARD                      = 0x2000
- 	MAP_HASSEMAPHORE               = 0x200
- 	MAP_NOCORE                     = 0x20000
- 	MAP_NOSYNC                     = 0x800
-@@ -980,8 +1028,62 @@ const (
- 	MAP_RESERVED0100               = 0x100
- 	MAP_SHARED                     = 0x1
- 	MAP_STACK                      = 0x400
-+	MCAST_BLOCK_SOURCE             = 0x54
-+	MCAST_EXCLUDE                  = 0x2
-+	MCAST_INCLUDE                  = 0x1
-+	MCAST_JOIN_GROUP               = 0x50
-+	MCAST_JOIN_SOURCE_GROUP        = 0x52
-+	MCAST_LEAVE_GROUP              = 0x51
-+	MCAST_LEAVE_SOURCE_GROUP       = 0x53
-+	MCAST_UNBLOCK_SOURCE           = 0x55
-+	MCAST_UNDEFINED                = 0x0
- 	MCL_CURRENT                    = 0x1
- 	MCL_FUTURE                     = 0x2
-+	MNT_ACLS                       = 0x8000000
-+	MNT_ASYNC                      = 0x40
-+	MNT_AUTOMOUNTED                = 0x200000000
-+	MNT_BYFSID                     = 0x8000000
-+	MNT_CMDFLAGS                   = 0xd0f0000
-+	MNT_DEFEXPORTED                = 0x200
-+	MNT_DELEXPORT                  = 0x20000
-+	MNT_EXKERB                     = 0x800
-+	MNT_EXPORTANON                 = 0x400
-+	MNT_EXPORTED                   = 0x100
-+	MNT_EXPUBLIC                   = 0x20000000
-+	MNT_EXRDONLY                   = 0x80
-+	MNT_FORCE                      = 0x80000
-+	MNT_GJOURNAL                   = 0x2000000
-+	MNT_IGNORE                     = 0x800000
-+	MNT_LAZY                       = 0x3
-+	MNT_LOCAL                      = 0x1000
-+	MNT_MULTILABEL                 = 0x4000000
-+	MNT_NFS4ACLS                   = 0x10
-+	MNT_NOATIME                    = 0x10000000
-+	MNT_NOCLUSTERR                 = 0x40000000
-+	MNT_NOCLUSTERW                 = 0x80000000
-+	MNT_NOEXEC                     = 0x4
-+	MNT_NONBUSY                    = 0x4000000
-+	MNT_NOSUID                     = 0x8
-+	MNT_NOSYMFOLLOW                = 0x400000
-+	MNT_NOWAIT                     = 0x2
-+	MNT_QUOTA                      = 0x2000
-+	MNT_RDONLY                     = 0x1
-+	MNT_RELOAD                     = 0x40000
-+	MNT_ROOTFS                     = 0x4000
-+	MNT_SNAPSHOT                   = 0x1000000
-+	MNT_SOFTDEP                    = 0x200000
-+	MNT_SUIDDIR                    = 0x100000
-+	MNT_SUJ                        = 0x100000000
-+	MNT_SUSPEND                    = 0x4
-+	MNT_SYNCHRONOUS                = 0x2
-+	MNT_UNION                      = 0x20
-+	MNT_UNTRUSTED                  = 0x800000000
-+	MNT_UPDATE                     = 0x10000
-+	MNT_UPDATEMASK                 = 0xad8d0807e
-+	MNT_USER                       = 0x8000
-+	MNT_VERIFIED                   = 0x400000000
-+	MNT_VISFLAGMASK                = 0xffef0ffff
-+	MNT_WAIT                       = 0x1
- 	MSG_CMSG_CLOEXEC               = 0x40000
- 	MSG_COMPAT                     = 0x8000
- 	MSG_CTRUNC                     = 0x20
-@@ -1006,8 +1108,10 @@ const (
- 	NET_RT_IFLIST                  = 0x3
- 	NET_RT_IFLISTL                 = 0x5
- 	NET_RT_IFMALIST                = 0x4
-+	NFDBITS                        = 0x40
- 	NOFLSH                         = 0x80000000
- 	NOKERNINFO                     = 0x2000000
-+	NOTE_ABSTIME                   = 0x10
- 	NOTE_ATTRIB                    = 0x8
- 	NOTE_CHILD                     = 0x4
- 	NOTE_CLOSE                     = 0x100
-@@ -1162,7 +1266,6 @@ const (
- 	RTV_WEIGHT                     = 0x100
- 	RT_ALL_FIBS                    = -0x1
- 	RT_BLACKHOLE                   = 0x40
--	RT_CACHING_CONTEXT             = 0x1
- 	RT_DEFAULT_FIB                 = 0x0
- 	RT_HAS_GW                      = 0x80
- 	RT_HAS_HEADER                  = 0x10
-@@ -1172,15 +1275,17 @@ const (
- 	RT_LLE_CACHE                   = 0x100
- 	RT_MAY_LOOP                    = 0x8
- 	RT_MAY_LOOP_BIT                = 0x3
--	RT_NORTREF                     = 0x2
- 	RT_REJECT                      = 0x20
- 	RUSAGE_CHILDREN                = -0x1
- 	RUSAGE_SELF                    = 0x0
- 	RUSAGE_THREAD                  = 0x1
- 	SCM_BINTIME                    = 0x4
- 	SCM_CREDS                      = 0x3
-+	SCM_MONOTONIC                  = 0x6
-+	SCM_REALTIME                   = 0x5
- 	SCM_RIGHTS                     = 0x1
- 	SCM_TIMESTAMP                  = 0x2
-+	SCM_TIME_INFO                  = 0x7
- 	SHUT_RD                        = 0x0
- 	SHUT_RDWR                      = 0x2
- 	SHUT_WR                        = 0x1
-@@ -1196,6 +1301,7 @@ const (
- 	SIOCGETSGCNT                   = 0xc0207210
- 	SIOCGETVIFCNT                  = 0xc028720f
- 	SIOCGHIWAT                     = 0x40047301
-+	SIOCGHWADDR                    = 0xc020693e
- 	SIOCGI2C                       = 0xc020693d
- 	SIOCGIFADDR                    = 0xc0206921
- 	SIOCGIFBRDADDR                 = 0xc0206923
-@@ -1217,8 +1323,11 @@ const (
- 	SIOCGIFPDSTADDR                = 0xc0206948
- 	SIOCGIFPHYS                    = 0xc0206935
- 	SIOCGIFPSRCADDR                = 0xc0206947
-+	SIOCGIFRSSHASH                 = 0xc0186997
-+	SIOCGIFRSSKEY                  = 0xc0946996
- 	SIOCGIFSTATUS                  = 0xc331693b
- 	SIOCGIFXMEDIA                  = 0xc030698b
-+	SIOCGLANPCP                    = 0xc0206998
- 	SIOCGLOWAT                     = 0x40047303
- 	SIOCGPGRP                      = 0x40047309
- 	SIOCGPRIVATE_0                 = 0xc0206950
-@@ -1249,6 +1358,7 @@ const (
- 	SIOCSIFPHYS                    = 0x80206936
- 	SIOCSIFRVNET                   = 0xc020695b
- 	SIOCSIFVNET                    = 0xc020695a
-+	SIOCSLANPCP                    = 0x80206999
- 	SIOCSLOWAT                     = 0x80047302
- 	SIOCSPGRP                      = 0x80047308
- 	SIOCSTUNFIB                    = 0x8020695f
-@@ -1267,6 +1377,7 @@ const (
- 	SO_BINTIME                     = 0x2000
- 	SO_BROADCAST                   = 0x20
- 	SO_DEBUG                       = 0x1
-+	SO_DOMAIN                      = 0x1019
- 	SO_DONTROUTE                   = 0x10
- 	SO_ERROR                       = 0x1007
- 	SO_KEEPALIVE                   = 0x8
-@@ -1275,6 +1386,7 @@ const (
- 	SO_LISTENINCQLEN               = 0x1013
- 	SO_LISTENQLEN                  = 0x1012
- 	SO_LISTENQLIMIT                = 0x1011
-+	SO_MAX_PACING_RATE             = 0x1018
- 	SO_NOSIGPIPE                   = 0x800
- 	SO_NO_DDP                      = 0x8000
- 	SO_NO_OFFLOAD                  = 0x4000
-@@ -1287,15 +1399,52 @@ const (
- 	SO_RCVTIMEO                    = 0x1006
- 	SO_REUSEADDR                   = 0x4
- 	SO_REUSEPORT                   = 0x200
-+	SO_REUSEPORT_LB                = 0x10000
- 	SO_SETFIB                      = 0x1014
- 	SO_SNDBUF                      = 0x1001
- 	SO_SNDLOWAT                    = 0x1003
- 	SO_SNDTIMEO                    = 0x1005
- 	SO_TIMESTAMP                   = 0x400
-+	SO_TS_BINTIME                  = 0x1
-+	SO_TS_CLOCK                    = 0x1017
-+	SO_TS_CLOCK_MAX                = 0x3
-+	SO_TS_DEFAULT                  = 0x0
-+	SO_TS_MONOTONIC                = 0x3
-+	SO_TS_REALTIME                 = 0x2
-+	SO_TS_REALTIME_MICRO           = 0x0
- 	SO_TYPE                        = 0x1008
- 	SO_USELOOPBACK                 = 0x40
- 	SO_USER_COOKIE                 = 0x1015
- 	SO_VENDOR                      = 0x80000000
-+	S_BLKSIZE                      = 0x200
-+	S_IEXEC                        = 0x40
-+	S_IFBLK                        = 0x6000
-+	S_IFCHR                        = 0x2000
-+	S_IFDIR                        = 0x4000
-+	S_IFIFO                        = 0x1000
-+	S_IFLNK                        = 0xa000
-+	S_IFMT                         = 0xf000
-+	S_IFREG                        = 0x8000
-+	S_IFSOCK                       = 0xc000
-+	S_IFWHT                        = 0xe000
-+	S_IREAD                        = 0x100
-+	S_IRGRP                        = 0x20
-+	S_IROTH                        = 0x4
-+	S_IRUSR                        = 0x100
-+	S_IRWXG                        = 0x38
-+	S_IRWXO                        = 0x7
-+	S_IRWXU                        = 0x1c0
-+	S_ISGID                        = 0x400
-+	S_ISTXT                        = 0x200
-+	S_ISUID                        = 0x800
-+	S_ISVTX                        = 0x200
-+	S_IWGRP                        = 0x10
-+	S_IWOTH                        = 0x2
-+	S_IWRITE                       = 0x80
-+	S_IWUSR                        = 0x80
-+	S_IXGRP                        = 0x8
-+	S_IXOTH                        = 0x1
-+	S_IXUSR                        = 0x40
- 	TAB0                           = 0x0
- 	TAB3                           = 0x4
- 	TABDLY                         = 0x4
-@@ -1306,10 +1455,45 @@ const (
- 	TCOFLUSH                       = 0x2
- 	TCOOFF                         = 0x1
- 	TCOON                          = 0x2
-+	TCP_BBR_ACK_COMP_ALG           = 0x448
-+	TCP_BBR_DRAIN_INC_EXTRA        = 0x43c
-+	TCP_BBR_DRAIN_PG               = 0x42e
-+	TCP_BBR_EXTRA_GAIN             = 0x449
-+	TCP_BBR_IWINTSO                = 0x42b
-+	TCP_BBR_LOWGAIN_FD             = 0x436
-+	TCP_BBR_LOWGAIN_HALF           = 0x435
-+	TCP_BBR_LOWGAIN_THRESH         = 0x434
-+	TCP_BBR_MAX_RTO                = 0x439
-+	TCP_BBR_MIN_RTO                = 0x438
-+	TCP_BBR_ONE_RETRAN             = 0x431
-+	TCP_BBR_PACE_CROSS             = 0x442
-+	TCP_BBR_PACE_DEL_TAR           = 0x43f
-+	TCP_BBR_PACE_PER_SEC           = 0x43e
-+	TCP_BBR_PACE_SEG_MAX           = 0x440
-+	TCP_BBR_PACE_SEG_MIN           = 0x441
-+	TCP_BBR_PROBE_RTT_GAIN         = 0x44d
-+	TCP_BBR_PROBE_RTT_INT          = 0x430
-+	TCP_BBR_PROBE_RTT_LEN          = 0x44e
-+	TCP_BBR_RACK_RTT_USE           = 0x44a
-+	TCP_BBR_RECFORCE               = 0x42c
-+	TCP_BBR_REC_OVER_HPTS          = 0x43a
-+	TCP_BBR_RETRAN_WTSO            = 0x44b
-+	TCP_BBR_RWND_IS_APP            = 0x42f
-+	TCP_BBR_STARTUP_EXIT_EPOCH     = 0x43d
-+	TCP_BBR_STARTUP_LOSS_EXIT      = 0x432
-+	TCP_BBR_STARTUP_PG             = 0x42d
-+	TCP_BBR_UNLIMITED              = 0x43b
-+	TCP_BBR_USEDEL_RATE            = 0x437
-+	TCP_BBR_USE_LOWGAIN            = 0x433
- 	TCP_CA_NAME_MAX                = 0x10
- 	TCP_CCALGOOPT                  = 0x41
- 	TCP_CONGESTION                 = 0x40
-+	TCP_DATA_AFTER_CLOSE           = 0x44c
-+	TCP_DELACK                     = 0x48
- 	TCP_FASTOPEN                   = 0x401
-+	TCP_FASTOPEN_MAX_COOKIE_LEN    = 0x10
-+	TCP_FASTOPEN_MIN_COOKIE_LEN    = 0x4
-+	TCP_FASTOPEN_PSK_LEN           = 0x10
- 	TCP_FUNCTION_BLK               = 0x2000
- 	TCP_FUNCTION_NAME_LEN_MAX      = 0x20
- 	TCP_INFO                       = 0x20
-@@ -1317,6 +1501,12 @@ const (
- 	TCP_KEEPIDLE                   = 0x100
- 	TCP_KEEPINIT                   = 0x80
- 	TCP_KEEPINTVL                  = 0x200
-+	TCP_LOG                        = 0x22
-+	TCP_LOGBUF                     = 0x23
-+	TCP_LOGDUMP                    = 0x25
-+	TCP_LOGDUMPID                  = 0x26
-+	TCP_LOGID                      = 0x24
-+	TCP_LOG_ID_LEN                 = 0x40
- 	TCP_MAXBURST                   = 0x4
- 	TCP_MAXHLEN                    = 0x3c
- 	TCP_MAXOLEN                    = 0x28
-@@ -1332,8 +1522,30 @@ const (
- 	TCP_NOPUSH                     = 0x4
- 	TCP_PCAP_IN                    = 0x1000
- 	TCP_PCAP_OUT                   = 0x800
-+	TCP_RACK_EARLY_RECOV           = 0x423
-+	TCP_RACK_EARLY_SEG             = 0x424
-+	TCP_RACK_IDLE_REDUCE_HIGH      = 0x444
-+	TCP_RACK_MIN_PACE              = 0x445
-+	TCP_RACK_MIN_PACE_SEG          = 0x446
-+	TCP_RACK_MIN_TO                = 0x422
-+	TCP_RACK_PACE_ALWAYS           = 0x41f
-+	TCP_RACK_PACE_MAX_SEG          = 0x41e
-+	TCP_RACK_PACE_REDUCE           = 0x41d
-+	TCP_RACK_PKT_DELAY             = 0x428
-+	TCP_RACK_PROP                  = 0x41b
-+	TCP_RACK_PROP_RATE             = 0x420
-+	TCP_RACK_PRR_SENDALOT          = 0x421
-+	TCP_RACK_REORD_FADE            = 0x426
-+	TCP_RACK_REORD_THRESH          = 0x425
-+	TCP_RACK_SESS_CWV              = 0x42a
-+	TCP_RACK_TLP_INC_VAR           = 0x429
-+	TCP_RACK_TLP_REDUCE            = 0x41c
-+	TCP_RACK_TLP_THRESH            = 0x427
-+	TCP_RACK_TLP_USE               = 0x447
- 	TCP_VENDOR                     = 0x80000000
- 	TCSAFLUSH                      = 0x2
-+	TIMER_ABSTIME                  = 0x1
-+	TIMER_RELTIME                  = 0x0
- 	TIOCCBRK                       = 0x2000747a
- 	TIOCCDTR                       = 0x20007478
- 	TIOCCONS                       = 0x80047462
-@@ -1397,6 +1609,8 @@ const (
- 	TIOCTIMESTAMP                  = 0x40107459
- 	TIOCUCNTL                      = 0x80047466
- 	TOSTOP                         = 0x400000
-+	UTIME_NOW                      = -0x1
-+	UTIME_OMIT                     = -0x2
- 	VDISCARD                       = 0xf
- 	VDSUSP                         = 0xb
- 	VEOF                           = 0x0
-@@ -1570,138 +1784,146 @@ const (
- )
- 
- // Error table
--var errors = [...]string{
--	1:  "operation not permitted",
--	2:  "no such file or directory",
--	3:  "no such process",
--	4:  "interrupted system call",
--	5:  "input/output error",
--	6:  "device not configured",
--	7:  "argument list too long",
--	8:  "exec format error",
--	9:  "bad file descriptor",
--	10: "no child processes",
--	11: "resource deadlock avoided",
--	12: "cannot allocate memory",
--	13: "permission denied",
--	14: "bad address",
--	15: "block device required",
--	16: "device busy",
--	17: "file exists",
--	18: "cross-device link",
--	19: "operation not supported by device",
--	20: "not a directory",
--	21: "is a directory",
--	22: "invalid argument",
--	23: "too many open files in system",
--	24: "too many open files",
--	25: "inappropriate ioctl for device",
--	26: "text file busy",
--	27: "file too large",
--	28: "no space left on device",
--	29: "illegal seek",
--	30: "read-only file system",
--	31: "too many links",
--	32: "broken pipe",
--	33: "numerical argument out of domain",
--	34: "result too large",
--	35: "resource temporarily unavailable",
--	36: "operation now in progress",
--	37: "operation already in progress",
--	38: "socket operation on non-socket",
--	39: "destination address required",
--	40: "message too long",
--	41: "protocol wrong type for socket",
--	42: "protocol not available",
--	43: "protocol not supported",
--	44: "socket type not supported",
--	45: "operation not supported",
--	46: "protocol family not supported",
--	47: "address family not supported by protocol family",
--	48: "address already in use",
--	49: "can't assign requested address",
--	50: "network is down",
--	51: "network is unreachable",
--	52: "network dropped connection on reset",
--	53: "software caused connection abort",
--	54: "connection reset by peer",
--	55: "no buffer space available",
--	56: "socket is already connected",
--	57: "socket is not connected",
--	58: "can't send after socket shutdown",
--	59: "too many references: can't splice",
--	60: "operation timed out",
--	61: "connection refused",
--	62: "too many levels of symbolic links",
--	63: "file name too long",
--	64: "host is down",
--	65: "no route to host",
--	66: "directory not empty",
--	67: "too many processes",
--	68: "too many users",
--	69: "disc quota exceeded",
--	70: "stale NFS file handle",
--	71: "too many levels of remote in path",
--	72: "RPC struct is bad",
--	73: "RPC version wrong",
--	74: "RPC prog. not avail",
--	75: "program version wrong",
--	76: "bad procedure for program",
--	77: "no locks available",
--	78: "function not implemented",
--	79: "inappropriate file type or format",
--	80: "authentication error",
--	81: "need authenticator",
--	82: "identifier removed",
--	83: "no message of desired type",
--	84: "value too large to be stored in data type",
--	85: "operation canceled",
--	86: "illegal byte sequence",
--	87: "attribute not found",
--	88: "programming error",
--	89: "bad message",
--	90: "multihop attempted",
--	91: "link has been severed",
--	92: "protocol error",
--	93: "capabilities insufficient",
--	94: "not permitted in capability mode",
--	95: "state not recoverable",
--	96: "previous owner died",
-+var errorList = [...]struct {
-+	num  syscall.Errno
-+	name string
-+	desc string
-+}{
-+	{1, "EPERM", "operation not permitted"},
-+	{2, "ENOENT", "no such file or directory"},
-+	{3, "ESRCH", "no such process"},
-+	{4, "EINTR", "interrupted system call"},
-+	{5, "EIO", "input/output error"},
-+	{6, "ENXIO", "device not configured"},
-+	{7, "E2BIG", "argument list too long"},
-+	{8, "ENOEXEC", "exec format error"},
-+	{9, "EBADF", "bad file descriptor"},
-+	{10, "ECHILD", "no child processes"},
-+	{11, "EDEADLK", "resource deadlock avoided"},
-+	{12, "ENOMEM", "cannot allocate memory"},
-+	{13, "EACCES", "permission denied"},
-+	{14, "EFAULT", "bad address"},
-+	{15, "ENOTBLK", "block device required"},
-+	{16, "EBUSY", "device busy"},
-+	{17, "EEXIST", "file exists"},
-+	{18, "EXDEV", "cross-device link"},
-+	{19, "ENODEV", "operation not supported by device"},
-+	{20, "ENOTDIR", "not a directory"},
-+	{21, "EISDIR", "is a directory"},
-+	{22, "EINVAL", "invalid argument"},
-+	{23, "ENFILE", "too many open files in system"},
-+	{24, "EMFILE", "too many open files"},
-+	{25, "ENOTTY", "inappropriate ioctl for device"},
-+	{26, "ETXTBSY", "text file busy"},
-+	{27, "EFBIG", "file too large"},
-+	{28, "ENOSPC", "no space left on device"},
-+	{29, "ESPIPE", "illegal seek"},
-+	{30, "EROFS", "read-only file system"},
-+	{31, "EMLINK", "too many links"},
-+	{32, "EPIPE", "broken pipe"},
-+	{33, "EDOM", "numerical argument out of domain"},
-+	{34, "ERANGE", "result too large"},
-+	{35, "EAGAIN", "resource temporarily unavailable"},
-+	{36, "EINPROGRESS", "operation now in progress"},
-+	{37, "EALREADY", "operation already in progress"},
-+	{38, "ENOTSOCK", "socket operation on non-socket"},
-+	{39, "EDESTADDRREQ", "destination address required"},
-+	{40, "EMSGSIZE", "message too long"},
-+	{41, "EPROTOTYPE", "protocol wrong type for socket"},
-+	{42, "ENOPROTOOPT", "protocol not available"},
-+	{43, "EPROTONOSUPPORT", "protocol not supported"},
-+	{44, "ESOCKTNOSUPPORT", "socket type not supported"},
-+	{45, "EOPNOTSUPP", "operation not supported"},
-+	{46, "EPFNOSUPPORT", "protocol family not supported"},
-+	{47, "EAFNOSUPPORT", "address family not supported by protocol family"},
-+	{48, "EADDRINUSE", "address already in use"},
-+	{49, "EADDRNOTAVAIL", "can't assign requested address"},
-+	{50, "ENETDOWN", "network is down"},
-+	{51, "ENETUNREACH", "network is unreachable"},
-+	{52, "ENETRESET", "network dropped connection on reset"},
-+	{53, "ECONNABORTED", "software caused connection abort"},
-+	{54, "ECONNRESET", "connection reset by peer"},
-+	{55, "ENOBUFS", "no buffer space available"},
-+	{56, "EISCONN", "socket is already connected"},
-+	{57, "ENOTCONN", "socket is not connected"},
-+	{58, "ESHUTDOWN", "can't send after socket shutdown"},
-+	{59, "ETOOMANYREFS", "too many references: can't splice"},
-+	{60, "ETIMEDOUT", "operation timed out"},
-+	{61, "ECONNREFUSED", "connection refused"},
-+	{62, "ELOOP", "too many levels of symbolic links"},
-+	{63, "ENAMETOOLONG", "file name too long"},
-+	{64, "EHOSTDOWN", "host is down"},
-+	{65, "EHOSTUNREACH", "no route to host"},
-+	{66, "ENOTEMPTY", "directory not empty"},
-+	{67, "EPROCLIM", "too many processes"},
-+	{68, "EUSERS", "too many users"},
-+	{69, "EDQUOT", "disc quota exceeded"},
-+	{70, "ESTALE", "stale NFS file handle"},
-+	{71, "EREMOTE", "too many levels of remote in path"},
-+	{72, "EBADRPC", "RPC struct is bad"},
-+	{73, "ERPCMISMATCH", "RPC version wrong"},
-+	{74, "EPROGUNAVAIL", "RPC prog. not avail"},
-+	{75, "EPROGMISMATCH", "program version wrong"},
-+	{76, "EPROCUNAVAIL", "bad procedure for program"},
-+	{77, "ENOLCK", "no locks available"},
-+	{78, "ENOSYS", "function not implemented"},
-+	{79, "EFTYPE", "inappropriate file type or format"},
-+	{80, "EAUTH", "authentication error"},
-+	{81, "ENEEDAUTH", "need authenticator"},
-+	{82, "EIDRM", "identifier removed"},
-+	{83, "ENOMSG", "no message of desired type"},
-+	{84, "EOVERFLOW", "value too large to be stored in data type"},
-+	{85, "ECANCELED", "operation canceled"},
-+	{86, "EILSEQ", "illegal byte sequence"},
-+	{87, "ENOATTR", "attribute not found"},
-+	{88, "EDOOFUS", "programming error"},
-+	{89, "EBADMSG", "bad message"},
-+	{90, "EMULTIHOP", "multihop attempted"},
-+	{91, "ENOLINK", "link has been severed"},
-+	{92, "EPROTO", "protocol error"},
-+	{93, "ENOTCAPABLE", "capabilities insufficient"},
-+	{94, "ECAPMODE", "not permitted in capability mode"},
-+	{95, "ENOTRECOVERABLE", "state not recoverable"},
-+	{96, "EOWNERDEAD", "previous owner died"},
- }
- 
- // Signal table
--var signals = [...]string{
--	1:  "hangup",
--	2:  "interrupt",
--	3:  "quit",
--	4:  "illegal instruction",
--	5:  "trace/BPT trap",
--	6:  "abort trap",
--	7:  "EMT trap",
--	8:  "floating point exception",
--	9:  "killed",
--	10: "bus error",
--	11: "segmentation fault",
--	12: "bad system call",
--	13: "broken pipe",
--	14: "alarm clock",
--	15: "terminated",
--	16: "urgent I/O condition",
--	17: "suspended (signal)",
--	18: "suspended",
--	19: "continued",
--	20: "child exited",
--	21: "stopped (tty input)",
--	22: "stopped (tty output)",
--	23: "I/O possible",
--	24: "cputime limit exceeded",
--	25: "filesize limit exceeded",
--	26: "virtual timer expired",
--	27: "profiling timer expired",
--	28: "window size changes",
--	29: "information request",
--	30: "user defined signal 1",
--	31: "user defined signal 2",
--	32: "unknown signal",
--	33: "unknown signal",
-+var signalList = [...]struct {
-+	num  syscall.Signal
-+	name string
-+	desc string
-+}{
-+	{1, "SIGHUP", "hangup"},
-+	{2, "SIGINT", "interrupt"},
-+	{3, "SIGQUIT", "quit"},
-+	{4, "SIGILL", "illegal instruction"},
-+	{5, "SIGTRAP", "trace/BPT trap"},
-+	{6, "SIGIOT", "abort trap"},
-+	{7, "SIGEMT", "EMT trap"},
-+	{8, "SIGFPE", "floating point exception"},
-+	{9, "SIGKILL", "killed"},
-+	{10, "SIGBUS", "bus error"},
-+	{11, "SIGSEGV", "segmentation fault"},
-+	{12, "SIGSYS", "bad system call"},
-+	{13, "SIGPIPE", "broken pipe"},
-+	{14, "SIGALRM", "alarm clock"},
-+	{15, "SIGTERM", "terminated"},
-+	{16, "SIGURG", "urgent I/O condition"},
-+	{17, "SIGSTOP", "suspended (signal)"},
-+	{18, "SIGTSTP", "suspended"},
-+	{19, "SIGCONT", "continued"},
-+	{20, "SIGCHLD", "child exited"},
-+	{21, "SIGTTIN", "stopped (tty input)"},
-+	{22, "SIGTTOU", "stopped (tty output)"},
-+	{23, "SIGIO", "I/O possible"},
-+	{24, "SIGXCPU", "cputime limit exceeded"},
-+	{25, "SIGXFSZ", "filesize limit exceeded"},
-+	{26, "SIGVTALRM", "virtual timer expired"},
-+	{27, "SIGPROF", "profiling timer expired"},
-+	{28, "SIGWINCH", "window size changes"},
-+	{29, "SIGINFO", "information request"},
-+	{30, "SIGUSR1", "user defined signal 1"},
-+	{31, "SIGUSR2", "user defined signal 2"},
-+	{32, "SIGTHR", "unknown signal"},
-+	{33, "SIGLIBRT", "unknown signal"},
- }
-diff --git a/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm.go b/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm.go
-index c5c6f13e..e4719873 100644
---- a/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm.go
-+++ b/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm.go
-@@ -3,7 +3,7 @@
- 
- // +build arm,freebsd
- 
--// Created by cgo -godefs - DO NOT EDIT
-+// Code generated by cmd/cgo -godefs; DO NOT EDIT.
- // cgo -godefs -- _const.go
- 
- package unix
-@@ -351,8 +351,26 @@ const (
- 	CSTOP                          = 0x13
- 	CSTOPB                         = 0x400
- 	CSUSP                          = 0x1a
-+	CTL_HW                         = 0x6
-+	CTL_KERN                       = 0x1
- 	CTL_MAXNAME                    = 0x18
- 	CTL_NET                        = 0x4
-+	DIOCGATTR                      = 0xc144648e
-+	DIOCGDELETE                    = 0x80106488
-+	DIOCGFLUSH                     = 0x20006487
-+	DIOCGFRONTSTUFF                = 0x40086486
-+	DIOCGFWHEADS                   = 0x40046483
-+	DIOCGFWSECTORS                 = 0x40046482
-+	DIOCGIDENT                     = 0x41006489
-+	DIOCGMEDIASIZE                 = 0x40086481
-+	DIOCGPHYSPATH                  = 0x4400648d
-+	DIOCGPROVIDERNAME              = 0x4400648a
-+	DIOCGSECTORSIZE                = 0x40046480
-+	DIOCGSTRIPEOFFSET              = 0x4008648c
-+	DIOCGSTRIPESIZE                = 0x4008648b
-+	DIOCSKERNELDUMP                = 0x804c6490
-+	DIOCSKERNELDUMP_FREEBSD11      = 0x80046485
-+	DIOCZONECMD                    = 0xc06c648f
- 	DLT_A429                       = 0xb8
- 	DLT_A653_ICM                   = 0xb9
- 	DLT_AIRONET_HEADER             = 0x78
-@@ -615,6 +633,7 @@ const (
- 	F_UNLCKSYS                     = 0x4
- 	F_WRLCK                        = 0x3
- 	HUPCL                          = 0x4000
-+	HW_MACHINE                     = 0x1
- 	ICANON                         = 0x100
- 	ICMP6_FILTER                   = 0x12
- 	ICRNL                          = 0x100
-@@ -951,6 +970,10 @@ const (
- 	IXANY                          = 0x800
- 	IXOFF                          = 0x400
- 	IXON                           = 0x200
-+	KERN_HOSTNAME                  = 0xa
-+	KERN_OSRELEASE                 = 0x2
-+	KERN_OSTYPE                    = 0x1
-+	KERN_VERSION                   = 0x4
- 	LOCK_EX                        = 0x2
- 	LOCK_NB                        = 0x4
- 	LOCK_SH                        = 0x1
-@@ -989,6 +1012,49 @@ const (
- 	MAP_STACK                      = 0x400
- 	MCL_CURRENT                    = 0x1
- 	MCL_FUTURE                     = 0x2
-+	MNT_ACLS                       = 0x8000000
-+	MNT_ASYNC                      = 0x40
-+	MNT_AUTOMOUNTED                = 0x200000000
-+	MNT_BYFSID                     = 0x8000000
-+	MNT_CMDFLAGS                   = 0xd0f0000
-+	MNT_DEFEXPORTED                = 0x200
-+	MNT_DELEXPORT                  = 0x20000
-+	MNT_EXKERB                     = 0x800
-+	MNT_EXPORTANON                 = 0x400
-+	MNT_EXPORTED                   = 0x100
-+	MNT_EXPUBLIC                   = 0x20000000
-+	MNT_EXRDONLY                   = 0x80
-+	MNT_FORCE                      = 0x80000
-+	MNT_GJOURNAL                   = 0x2000000
-+	MNT_IGNORE                     = 0x800000
-+	MNT_LAZY                       = 0x3
-+	MNT_LOCAL                      = 0x1000
-+	MNT_MULTILABEL                 = 0x4000000
-+	MNT_NFS4ACLS                   = 0x10
-+	MNT_NOATIME                    = 0x10000000
-+	MNT_NOCLUSTERR                 = 0x40000000
-+	MNT_NOCLUSTERW                 = 0x80000000
-+	MNT_NOEXEC                     = 0x4
-+	MNT_NONBUSY                    = 0x4000000
-+	MNT_NOSUID                     = 0x8
-+	MNT_NOSYMFOLLOW                = 0x400000
-+	MNT_NOWAIT                     = 0x2
-+	MNT_QUOTA                      = 0x2000
-+	MNT_RDONLY                     = 0x1
-+	MNT_RELOAD                     = 0x40000
-+	MNT_ROOTFS                     = 0x4000
-+	MNT_SNAPSHOT                   = 0x1000000
-+	MNT_SOFTDEP                    = 0x200000
-+	MNT_SUIDDIR                    = 0x100000
-+	MNT_SUJ                        = 0x100000000
-+	MNT_SUSPEND                    = 0x4
-+	MNT_SYNCHRONOUS                = 0x2
-+	MNT_UNION                      = 0x20
-+	MNT_UPDATE                     = 0x10000
-+	MNT_UPDATEMASK                 = 0x2d8d0807e
-+	MNT_USER                       = 0x8000
-+	MNT_VISFLAGMASK                = 0x3fef0ffff
-+	MNT_WAIT                       = 0x1
- 	MSG_CMSG_CLOEXEC               = 0x40000
- 	MSG_COMPAT                     = 0x8000
- 	MSG_CTRUNC                     = 0x20
-@@ -1013,6 +1079,7 @@ const (
- 	NET_RT_IFLIST                  = 0x3
- 	NET_RT_IFLISTL                 = 0x5
- 	NET_RT_IFMALIST                = 0x4
-+	NFDBITS                        = 0x20
- 	NOFLSH                         = 0x80000000
- 	NOKERNINFO                     = 0x2000000
- 	NOTE_ATTRIB                    = 0x8
-@@ -1304,6 +1371,35 @@ const (
- 	SO_USELOOPBACK                 = 0x40
- 	SO_USER_COOKIE                 = 0x1015
- 	SO_VENDOR                      = 0x80000000
-+	S_BLKSIZE                      = 0x200
-+	S_IEXEC                        = 0x40
-+	S_IFBLK                        = 0x6000
-+	S_IFCHR                        = 0x2000
-+	S_IFDIR                        = 0x4000
-+	S_IFIFO                        = 0x1000
-+	S_IFLNK                        = 0xa000
-+	S_IFMT                         = 0xf000
-+	S_IFREG                        = 0x8000
-+	S_IFSOCK                       = 0xc000
-+	S_IFWHT                        = 0xe000
-+	S_IREAD                        = 0x100
-+	S_IRGRP                        = 0x20
-+	S_IROTH                        = 0x4
-+	S_IRUSR                        = 0x100
-+	S_IRWXG                        = 0x38
-+	S_IRWXO                        = 0x7
-+	S_IRWXU                        = 0x1c0
-+	S_ISGID                        = 0x400
-+	S_ISTXT                        = 0x200
-+	S_ISUID                        = 0x800
-+	S_ISVTX                        = 0x200
-+	S_IWGRP                        = 0x10
-+	S_IWOTH                        = 0x2
-+	S_IWRITE                       = 0x80
-+	S_IWUSR                        = 0x80
-+	S_IXGRP                        = 0x8
-+	S_IXOTH                        = 0x1
-+	S_IXUSR                        = 0x40
- 	TAB0                           = 0x0
- 	TAB3                           = 0x4
- 	TABDLY                         = 0x4
-@@ -1578,138 +1674,146 @@ const (
- )
- 
- // Error table
--var errors = [...]string{
--	1:  "operation not permitted",
--	2:  "no such file or directory",
--	3:  "no such process",
--	4:  "interrupted system call",
--	5:  "input/output error",
--	6:  "device not configured",
--	7:  "argument list too long",
--	8:  "exec format error",
--	9:  "bad file descriptor",
--	10: "no child processes",
--	11: "resource deadlock avoided",
--	12: "cannot allocate memory",
--	13: "permission denied",
--	14: "bad address",
--	15: "block device required",
--	16: "device busy",
--	17: "file exists",
--	18: "cross-device link",
--	19: "operation not supported by device",
--	20: "not a directory",
--	21: "is a directory",
--	22: "invalid argument",
--	23: "too many open files in system",
--	24: "too many open files",
--	25: "inappropriate ioctl for device",
--	26: "text file busy",
--	27: "file too large",
--	28: "no space left on device",
--	29: "illegal seek",
--	30: "read-only file system",
--	31: "too many links",
--	32: "broken pipe",
--	33: "numerical argument out of domain",
--	34: "result too large",
--	35: "resource temporarily unavailable",
--	36: "operation now in progress",
--	37: "operation already in progress",
--	38: "socket operation on non-socket",
--	39: "destination address required",
--	40: "message too long",
--	41: "protocol wrong type for socket",
--	42: "protocol not available",
--	43: "protocol not supported",
--	44: "socket type not supported",
--	45: "operation not supported",
--	46: "protocol family not supported",
--	47: "address family not supported by protocol family",
--	48: "address already in use",
--	49: "can't assign requested address",
--	50: "network is down",
--	51: "network is unreachable",
--	52: "network dropped connection on reset",
--	53: "software caused connection abort",
--	54: "connection reset by peer",
--	55: "no buffer space available",
--	56: "socket is already connected",
--	57: "socket is not connected",
--	58: "can't send after socket shutdown",
--	59: "too many references: can't splice",
--	60: "operation timed out",
--	61: "connection refused",
--	62: "too many levels of symbolic links",
--	63: "file name too long",
--	64: "host is down",
--	65: "no route to host",
--	66: "directory not empty",
--	67: "too many processes",
--	68: "too many users",
--	69: "disc quota exceeded",
--	70: "stale NFS file handle",
--	71: "too many levels of remote in path",
--	72: "RPC struct is bad",
--	73: "RPC version wrong",
--	74: "RPC prog. not avail",
--	75: "program version wrong",
--	76: "bad procedure for program",
--	77: "no locks available",
--	78: "function not implemented",
--	79: "inappropriate file type or format",
--	80: "authentication error",
--	81: "need authenticator",
--	82: "identifier removed",
--	83: "no message of desired type",
--	84: "value too large to be stored in data type",
--	85: "operation canceled",
--	86: "illegal byte sequence",
--	87: "attribute not found",
--	88: "programming error",
--	89: "bad message",
--	90: "multihop attempted",
--	91: "link has been severed",
--	92: "protocol error",
--	93: "capabilities insufficient",
--	94: "not permitted in capability mode",
--	95: "state not recoverable",
--	96: "previous owner died",
-+var errorList = [...]struct {
-+	num  syscall.Errno
-+	name string
-+	desc string
-+}{
-+	{1, "EPERM", "operation not permitted"},
-+	{2, "ENOENT", "no such file or directory"},
-+	{3, "ESRCH", "no such process"},
-+	{4, "EINTR", "interrupted system call"},
-+	{5, "EIO", "input/output error"},
-+	{6, "ENXIO", "device not configured"},
-+	{7, "E2BIG", "argument list too long"},
-+	{8, "ENOEXEC", "exec format error"},
-+	{9, "EBADF", "bad file descriptor"},
-+	{10, "ECHILD", "no child processes"},
-+	{11, "EDEADLK", "resource deadlock avoided"},
-+	{12, "ENOMEM", "cannot allocate memory"},
-+	{13, "EACCES", "permission denied"},
-+	{14, "EFAULT", "bad address"},
-+	{15, "ENOTBLK", "block device required"},
-+	{16, "EBUSY", "device busy"},
-+	{17, "EEXIST", "file exists"},
-+	{18, "EXDEV", "cross-device link"},
-+	{19, "ENODEV", "operation not supported by device"},
-+	{20, "ENOTDIR", "not a directory"},
-+	{21, "EISDIR", "is a directory"},
-+	{22, "EINVAL", "invalid argument"},
-+	{23, "ENFILE", "too many open files in system"},
-+	{24, "EMFILE", "too many open files"},
-+	{25, "ENOTTY", "inappropriate ioctl for device"},
-+	{26, "ETXTBSY", "text file busy"},
-+	{27, "EFBIG", "file too large"},
-+	{28, "ENOSPC", "no space left on device"},
-+	{29, "ESPIPE", "illegal seek"},
-+	{30, "EROFS", "read-only file system"},
-+	{31, "EMLINK", "too many links"},
-+	{32, "EPIPE", "broken pipe"},
-+	{33, "EDOM", "numerical argument out of domain"},
-+	{34, "ERANGE", "result too large"},
-+	{35, "EAGAIN", "resource temporarily unavailable"},
-+	{36, "EINPROGRESS", "operation now in progress"},
-+	{37, "EALREADY", "operation already in progress"},
-+	{38, "ENOTSOCK", "socket operation on non-socket"},
-+	{39, "EDESTADDRREQ", "destination address required"},
-+	{40, "EMSGSIZE", "message too long"},
-+	{41, "EPROTOTYPE", "protocol wrong type for socket"},
-+	{42, "ENOPROTOOPT", "protocol not available"},
-+	{43, "EPROTONOSUPPORT", "protocol not supported"},
-+	{44, "ESOCKTNOSUPPORT", "socket type not supported"},
-+	{45, "EOPNOTSUPP", "operation not supported"},
-+	{46, "EPFNOSUPPORT", "protocol family not supported"},
-+	{47, "EAFNOSUPPORT", "address family not supported by protocol family"},
-+	{48, "EADDRINUSE", "address already in use"},
-+	{49, "EADDRNOTAVAIL", "can't assign requested address"},
-+	{50, "ENETDOWN", "network is down"},
-+	{51, "ENETUNREACH", "network is unreachable"},
-+	{52, "ENETRESET", "network dropped connection on reset"},
-+	{53, "ECONNABORTED", "software caused connection abort"},
-+	{54, "ECONNRESET", "connection reset by peer"},
-+	{55, "ENOBUFS", "no buffer space available"},
-+	{56, "EISCONN", "socket is already connected"},
-+	{57, "ENOTCONN", "socket is not connected"},
-+	{58, "ESHUTDOWN", "can't send after socket shutdown"},
-+	{59, "ETOOMANYREFS", "too many references: can't splice"},
-+	{60, "ETIMEDOUT", "operation timed out"},
-+	{61, "ECONNREFUSED", "connection refused"},
-+	{62, "ELOOP", "too many levels of symbolic links"},
-+	{63, "ENAMETOOLONG", "file name too long"},
-+	{64, "EHOSTDOWN", "host is down"},
-+	{65, "EHOSTUNREACH", "no route to host"},
-+	{66, "ENOTEMPTY", "directory not empty"},
-+	{67, "EPROCLIM", "too many processes"},
-+	{68, "EUSERS", "too many users"},
-+	{69, "EDQUOT", "disc quota exceeded"},
-+	{70, "ESTALE", "stale NFS file handle"},
-+	{71, "EREMOTE", "too many levels of remote in path"},
-+	{72, "EBADRPC", "RPC struct is bad"},
-+	{73, "ERPCMISMATCH", "RPC version wrong"},
-+	{74, "EPROGUNAVAIL", "RPC prog. not avail"},
-+	{75, "EPROGMISMATCH", "program version wrong"},
-+	{76, "EPROCUNAVAIL", "bad procedure for program"},
-+	{77, "ENOLCK", "no locks available"},
-+	{78, "ENOSYS", "function not implemented"},
-+	{79, "EFTYPE", "inappropriate file type or format"},
-+	{80, "EAUTH", "authentication error"},
-+	{81, "ENEEDAUTH", "need authenticator"},
-+	{82, "EIDRM", "identifier removed"},
-+	{83, "ENOMSG", "no message of desired type"},
-+	{84, "EOVERFLOW", "value too large to be stored in data type"},
-+	{85, "ECANCELED", "operation canceled"},
-+	{86, "EILSEQ", "illegal byte sequence"},
-+	{87, "ENOATTR", "attribute not found"},
-+	{88, "EDOOFUS", "programming error"},
-+	{89, "EBADMSG", "bad message"},
-+	{90, "EMULTIHOP", "multihop attempted"},
-+	{91, "ENOLINK", "link has been severed"},
-+	{92, "EPROTO", "protocol error"},
-+	{93, "ENOTCAPABLE", "capabilities insufficient"},
-+	{94, "ECAPMODE", "not permitted in capability mode"},
-+	{95, "ENOTRECOVERABLE", "state not recoverable"},
-+	{96, "EOWNERDEAD", "previous owner died"},
- }
- 
- // Signal table
--var signals = [...]string{
--	1:  "hangup",
--	2:  "interrupt",
--	3:  "quit",
--	4:  "illegal instruction",
--	5:  "trace/BPT trap",
--	6:  "abort trap",
--	7:  "EMT trap",
--	8:  "floating point exception",
--	9:  "killed",
--	10: "bus error",
--	11: "segmentation fault",
--	12: "bad system call",
--	13: "broken pipe",
--	14: "alarm clock",
--	15: "terminated",
--	16: "urgent I/O condition",
--	17: "suspended (signal)",
--	18: "suspended",
--	19: "continued",
--	20: "child exited",
--	21: "stopped (tty input)",
--	22: "stopped (tty output)",
--	23: "I/O possible",
--	24: "cputime limit exceeded",
--	25: "filesize limit exceeded",
--	26: "virtual timer expired",
--	27: "profiling timer expired",
--	28: "window size changes",
--	29: "information request",
--	30: "user defined signal 1",
--	31: "user defined signal 2",
--	32: "unknown signal",
--	33: "unknown signal",
-+var signalList = [...]struct {
-+	num  syscall.Signal
-+	name string
-+	desc string
-+}{
-+	{1, "SIGHUP", "hangup"},
-+	{2, "SIGINT", "interrupt"},
-+	{3, "SIGQUIT", "quit"},
-+	{4, "SIGILL", "illegal instruction"},
-+	{5, "SIGTRAP", "trace/BPT trap"},
-+	{6, "SIGIOT", "abort trap"},
-+	{7, "SIGEMT", "EMT trap"},
-+	{8, "SIGFPE", "floating point exception"},
-+	{9, "SIGKILL", "killed"},
-+	{10, "SIGBUS", "bus error"},
-+	{11, "SIGSEGV", "segmentation fault"},
-+	{12, "SIGSYS", "bad system call"},
-+	{13, "SIGPIPE", "broken pipe"},
-+	{14, "SIGALRM", "alarm clock"},
-+	{15, "SIGTERM", "terminated"},
-+	{16, "SIGURG", "urgent I/O condition"},
-+	{17, "SIGSTOP", "suspended (signal)"},
-+	{18, "SIGTSTP", "suspended"},
-+	{19, "SIGCONT", "continued"},
-+	{20, "SIGCHLD", "child exited"},
-+	{21, "SIGTTIN", "stopped (tty input)"},
-+	{22, "SIGTTOU", "stopped (tty output)"},
-+	{23, "SIGIO", "I/O possible"},
-+	{24, "SIGXCPU", "cputime limit exceeded"},
-+	{25, "SIGXFSZ", "filesize limit exceeded"},
-+	{26, "SIGVTALRM", "virtual timer expired"},
-+	{27, "SIGPROF", "profiling timer expired"},
-+	{28, "SIGWINCH", "window size changes"},
-+	{29, "SIGINFO", "information request"},
-+	{30, "SIGUSR1", "user defined signal 1"},
-+	{31, "SIGUSR2", "user defined signal 2"},
-+	{32, "SIGTHR", "unknown signal"},
-+	{33, "SIGLIBRT", "unknown signal"},
- }
-diff --git a/vendor/golang.org/x/sys/unix/zerrors_freebsd_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm64.go
-similarity index 80%
-copy from vendor/golang.org/x/sys/unix/zerrors_freebsd_amd64.go
-copy to vendor/golang.org/x/sys/unix/zerrors_freebsd_arm64.go
-index ac094f9c..5e49769d 100644
---- a/vendor/golang.org/x/sys/unix/zerrors_freebsd_amd64.go
-+++ b/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm64.go
-@@ -1,9 +1,9 @@
- // mkerrors.sh -m64
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
--// +build amd64,freebsd
-+// +build arm64,freebsd
- 
--// Created by cgo -godefs - DO NOT EDIT
-+// Code generated by cmd/cgo -godefs; DO NOT EDIT.
- // cgo -godefs -- -m64 _const.go
- 
- package unix
-@@ -351,8 +351,26 @@ const (
- 	CSTOP                          = 0x13
- 	CSTOPB                         = 0x400
- 	CSUSP                          = 0x1a
-+	CTL_HW                         = 0x6
-+	CTL_KERN                       = 0x1
- 	CTL_MAXNAME                    = 0x18
- 	CTL_NET                        = 0x4
-+	DIOCGATTR                      = 0xc148648e
-+	DIOCGDELETE                    = 0x80106488
-+	DIOCGFLUSH                     = 0x20006487
-+	DIOCGFRONTSTUFF                = 0x40086486
-+	DIOCGFWHEADS                   = 0x40046483
-+	DIOCGFWSECTORS                 = 0x40046482
-+	DIOCGIDENT                     = 0x41006489
-+	DIOCGMEDIASIZE                 = 0x40086481
-+	DIOCGPHYSPATH                  = 0x4400648d
-+	DIOCGPROVIDERNAME              = 0x4400648a
-+	DIOCGSECTORSIZE                = 0x40046480
-+	DIOCGSTRIPEOFFSET              = 0x4008648c
-+	DIOCGSTRIPESIZE                = 0x4008648b
-+	DIOCSKERNELDUMP                = 0x80506490
-+	DIOCSKERNELDUMP_FREEBSD11      = 0x80046485
-+	DIOCZONECMD                    = 0xc080648f
- 	DLT_A429                       = 0xb8
- 	DLT_A653_ICM                   = 0xb9
- 	DLT_AIRONET_HEADER             = 0x78
-@@ -377,11 +395,14 @@ const (
- 	DLT_CHAOS                      = 0x5
- 	DLT_CHDLC                      = 0x68
- 	DLT_CISCO_IOS                  = 0x76
-+	DLT_CLASS_NETBSD_RAWAF         = 0x2240000
- 	DLT_C_HDLC                     = 0x68
- 	DLT_C_HDLC_WITH_DIR            = 0xcd
- 	DLT_DBUS                       = 0xe7
- 	DLT_DECT                       = 0xdd
-+	DLT_DISPLAYPORT_AUX            = 0x113
- 	DLT_DOCSIS                     = 0x8f
-+	DLT_DOCSIS31_XRA31             = 0x111
- 	DLT_DVB_CI                     = 0xeb
- 	DLT_ECONET                     = 0x73
- 	DLT_EN10MB                     = 0x1
-@@ -391,6 +412,7 @@ const (
- 	DLT_ERF                        = 0xc5
- 	DLT_ERF_ETH                    = 0xaf
- 	DLT_ERF_POS                    = 0xb0
-+	DLT_ETHERNET_MPACKET           = 0x112
- 	DLT_FC_2                       = 0xe0
- 	DLT_FC_2_WITH_FRAME_DELIMS     = 0xe1
- 	DLT_FDDI                       = 0xa
-@@ -404,7 +426,6 @@ const (
- 	DLT_GPRS_LLC                   = 0xa9
- 	DLT_GSMTAP_ABIS                = 0xda
- 	DLT_GSMTAP_UM                  = 0xd9
--	DLT_HHDLC                      = 0x79
- 	DLT_IBM_SN                     = 0x92
- 	DLT_IBM_SP                     = 0x91
- 	DLT_IEEE802                    = 0x6
-@@ -427,6 +448,7 @@ const (
- 	DLT_IPV4                       = 0xe4
- 	DLT_IPV6                       = 0xe5
- 	DLT_IP_OVER_FC                 = 0x7a
-+	DLT_ISO_14443                  = 0x108
- 	DLT_JUNIPER_ATM1               = 0x89
- 	DLT_JUNIPER_ATM2               = 0x87
- 	DLT_JUNIPER_ATM_CEMIC          = 0xee
-@@ -459,8 +481,9 @@ const (
- 	DLT_LINUX_PPP_WITHDIRECTION    = 0xa6
- 	DLT_LINUX_SLL                  = 0x71
- 	DLT_LOOP                       = 0x6c
-+	DLT_LORATAP                    = 0x10e
- 	DLT_LTALK                      = 0x72
--	DLT_MATCHING_MAX               = 0x104
-+	DLT_MATCHING_MAX               = 0x113
- 	DLT_MATCHING_MIN               = 0x68
- 	DLT_MFR                        = 0xb6
- 	DLT_MOST                       = 0xd3
-@@ -476,14 +499,16 @@ const (
- 	DLT_NFC_LLCP                   = 0xf5
- 	DLT_NFLOG                      = 0xef
- 	DLT_NG40                       = 0xf4
-+	DLT_NORDIC_BLE                 = 0x110
- 	DLT_NULL                       = 0x0
-+	DLT_OPENFLOW                   = 0x10b
- 	DLT_PCI_EXP                    = 0x7d
- 	DLT_PFLOG                      = 0x75
- 	DLT_PFSYNC                     = 0x79
- 	DLT_PKTAP                      = 0x102
- 	DLT_PPI                        = 0xc0
- 	DLT_PPP                        = 0x9
--	DLT_PPP_BSDOS                  = 0x10
-+	DLT_PPP_BSDOS                  = 0xe
- 	DLT_PPP_ETHER                  = 0x33
- 	DLT_PPP_PPPD                   = 0xa6
- 	DLT_PPP_SERIAL                 = 0x32
-@@ -494,19 +519,25 @@ const (
- 	DLT_PRONET                     = 0x4
- 	DLT_RAIF1                      = 0xc6
- 	DLT_RAW                        = 0xc
-+	DLT_RDS                        = 0x109
-+	DLT_REDBACK_SMARTEDGE          = 0x20
- 	DLT_RIO                        = 0x7c
- 	DLT_RTAC_SERIAL                = 0xfa
- 	DLT_SCCP                       = 0x8e
- 	DLT_SCTP                       = 0xf8
-+	DLT_SDLC                       = 0x10c
- 	DLT_SITA                       = 0xc4
- 	DLT_SLIP                       = 0x8
--	DLT_SLIP_BSDOS                 = 0xf
-+	DLT_SLIP_BSDOS                 = 0xd
- 	DLT_STANAG_5066_D_PDU          = 0xed
- 	DLT_SUNATM                     = 0x7b
- 	DLT_SYMANTEC_FIREWALL          = 0x63
-+	DLT_TI_LLN_SNIFFER             = 0x10d
- 	DLT_TZSP                       = 0x80
- 	DLT_USB                        = 0xba
- 	DLT_USBPCAP                    = 0xf9
-+	DLT_USB_DARWIN                 = 0x10a
-+	DLT_USB_FREEBSD                = 0xba
- 	DLT_USB_LINUX                  = 0xbd
- 	DLT_USB_LINUX_MMAPPED          = 0xdc
- 	DLT_USER0                      = 0x93
-@@ -525,10 +556,14 @@ const (
- 	DLT_USER7                      = 0x9a
- 	DLT_USER8                      = 0x9b
- 	DLT_USER9                      = 0x9c
-+	DLT_VSOCK                      = 0x10f
-+	DLT_WATTSTOPPER_DLM            = 0x107
- 	DLT_WIHART                     = 0xdf
- 	DLT_WIRESHARK_UPPER_PDU        = 0xfc
- 	DLT_X2E_SERIAL                 = 0xd5
- 	DLT_X2E_XORAYA                 = 0xd6
-+	DLT_ZWAVE_R1_R2                = 0x105
-+	DLT_ZWAVE_R3                   = 0x106
- 	DT_BLK                         = 0x6
- 	DT_CHR                         = 0x2
- 	DT_DIR                         = 0x4
-@@ -546,6 +581,7 @@ const (
- 	ECHONL                         = 0x10
- 	ECHOPRT                        = 0x20
- 	EVFILT_AIO                     = -0x3
-+	EVFILT_EMPTY                   = -0xd
- 	EVFILT_FS                      = -0x9
- 	EVFILT_LIO                     = -0xa
- 	EVFILT_PROC                    = -0x5
-@@ -553,11 +589,12 @@ const (
- 	EVFILT_READ                    = -0x1
- 	EVFILT_SENDFILE                = -0xc
- 	EVFILT_SIGNAL                  = -0x6
--	EVFILT_SYSCOUNT                = 0xc
-+	EVFILT_SYSCOUNT                = 0xd
- 	EVFILT_TIMER                   = -0x7
- 	EVFILT_USER                    = -0xb
- 	EVFILT_VNODE                   = -0x4
- 	EVFILT_WRITE                   = -0x2
-+	EVNAMEMAP_NAME_SIZE            = 0x40
- 	EV_ADD                         = 0x1
- 	EV_CLEAR                       = 0x20
- 	EV_DELETE                      = 0x2
-@@ -574,6 +611,7 @@ const (
- 	EV_RECEIPT                     = 0x40
- 	EV_SYSFLAGS                    = 0xf000
- 	EXTA                           = 0x4b00
-+	EXTATTR_MAXNAMELEN             = 0xff
- 	EXTATTR_NAMESPACE_EMPTY        = 0x0
- 	EXTATTR_NAMESPACE_SYSTEM       = 0x2
- 	EXTATTR_NAMESPACE_USER         = 0x1
-@@ -608,12 +646,14 @@ const (
- 	F_UNLCKSYS                     = 0x4
- 	F_WRLCK                        = 0x3
- 	HUPCL                          = 0x4000
-+	HW_MACHINE                     = 0x1
- 	ICANON                         = 0x100
- 	ICMP6_FILTER                   = 0x12
- 	ICRNL                          = 0x100
- 	IEXTEN                         = 0x400
- 	IFAN_ARRIVAL                   = 0x0
- 	IFAN_DEPARTURE                 = 0x1
-+	IFCAP_WOL_MAGIC                = 0x2000
- 	IFF_ALLMULTI                   = 0x200
- 	IFF_ALTPHYS                    = 0x4000
- 	IFF_BROADCAST                  = 0x2
-@@ -630,6 +670,7 @@ const (
- 	IFF_MONITOR                    = 0x40000
- 	IFF_MULTICAST                  = 0x8000
- 	IFF_NOARP                      = 0x80
-+	IFF_NOGROUP                    = 0x800000
- 	IFF_OACTIVE                    = 0x400
- 	IFF_POINTOPOINT                = 0x10
- 	IFF_PPROMISC                   = 0x20000
-@@ -804,6 +845,7 @@ const (
- 	IPV6_DSTOPTS                   = 0x32
- 	IPV6_FLOWID                    = 0x43
- 	IPV6_FLOWINFO_MASK             = 0xffffff0f
-+	IPV6_FLOWLABEL_LEN             = 0x14
- 	IPV6_FLOWLABEL_MASK            = 0xffff0f00
- 	IPV6_FLOWTYPE                  = 0x44
- 	IPV6_FRAGTTL                   = 0x78
-@@ -824,13 +866,13 @@ const (
- 	IPV6_MAX_GROUP_SRC_FILTER      = 0x200
- 	IPV6_MAX_MEMBERSHIPS           = 0xfff
- 	IPV6_MAX_SOCK_SRC_FILTER       = 0x80
--	IPV6_MIN_MEMBERSHIPS           = 0x1f
- 	IPV6_MMTU                      = 0x500
- 	IPV6_MSFILTER                  = 0x4a
- 	IPV6_MULTICAST_HOPS            = 0xa
- 	IPV6_MULTICAST_IF              = 0x9
- 	IPV6_MULTICAST_LOOP            = 0xb
- 	IPV6_NEXTHOP                   = 0x30
-+	IPV6_ORIGDSTADDR               = 0x48
- 	IPV6_PATHMTU                   = 0x2c
- 	IPV6_PKTINFO                   = 0x2e
- 	IPV6_PORTRANGE                 = 0xe
-@@ -842,6 +884,7 @@ const (
- 	IPV6_RECVFLOWID                = 0x46
- 	IPV6_RECVHOPLIMIT              = 0x25
- 	IPV6_RECVHOPOPTS               = 0x27
-+	IPV6_RECVORIGDSTADDR           = 0x48
- 	IPV6_RECVPATHMTU               = 0x2b
- 	IPV6_RECVPKTINFO               = 0x24
- 	IPV6_RECVRSSBUCKETID           = 0x47
-@@ -902,10 +945,8 @@ const (
- 	IP_MAX_MEMBERSHIPS             = 0xfff
- 	IP_MAX_SOCK_MUTE_FILTER        = 0x80
- 	IP_MAX_SOCK_SRC_FILTER         = 0x80
--	IP_MAX_SOURCE_FILTER           = 0x400
- 	IP_MF                          = 0x2000
- 	IP_MINTTL                      = 0x42
--	IP_MIN_MEMBERSHIPS             = 0x1f
- 	IP_MSFILTER                    = 0x4a
- 	IP_MSS                         = 0x240
- 	IP_MULTICAST_IF                = 0x9
-@@ -915,6 +956,7 @@ const (
- 	IP_OFFMASK                     = 0x1fff
- 	IP_ONESBCAST                   = 0x17
- 	IP_OPTIONS                     = 0x1
-+	IP_ORIGDSTADDR                 = 0x1b
- 	IP_PORTRANGE                   = 0x13
- 	IP_PORTRANGE_DEFAULT           = 0x0
- 	IP_PORTRANGE_HIGH              = 0x1
-@@ -923,6 +965,7 @@ const (
- 	IP_RECVFLOWID                  = 0x5d
- 	IP_RECVIF                      = 0x14
- 	IP_RECVOPTS                    = 0x5
-+	IP_RECVORIGDSTADDR             = 0x1b
- 	IP_RECVRETOPTS                 = 0x6
- 	IP_RECVRSSBUCKETID             = 0x5e
- 	IP_RECVTOS                     = 0x44
-@@ -944,6 +987,10 @@ const (
- 	IXANY                          = 0x800
- 	IXOFF                          = 0x400
- 	IXON                           = 0x200
-+	KERN_HOSTNAME                  = 0xa
-+	KERN_OSRELEASE                 = 0x2
-+	KERN_OSTYPE                    = 0x1
-+	KERN_VERSION                   = 0x4
- 	LOCK_EX                        = 0x2
- 	LOCK_NB                        = 0x4
- 	LOCK_SH                        = 0x1
-@@ -969,6 +1016,7 @@ const (
- 	MAP_EXCL                       = 0x4000
- 	MAP_FILE                       = 0x0
- 	MAP_FIXED                      = 0x10
-+	MAP_GUARD                      = 0x2000
- 	MAP_HASSEMAPHORE               = 0x200
- 	MAP_NOCORE                     = 0x20000
- 	MAP_NOSYNC                     = 0x800
-@@ -980,8 +1028,62 @@ const (
- 	MAP_RESERVED0100               = 0x100
- 	MAP_SHARED                     = 0x1
- 	MAP_STACK                      = 0x400
-+	MCAST_BLOCK_SOURCE             = 0x54
-+	MCAST_EXCLUDE                  = 0x2
-+	MCAST_INCLUDE                  = 0x1
-+	MCAST_JOIN_GROUP               = 0x50
-+	MCAST_JOIN_SOURCE_GROUP        = 0x52
-+	MCAST_LEAVE_GROUP              = 0x51
-+	MCAST_LEAVE_SOURCE_GROUP       = 0x53
-+	MCAST_UNBLOCK_SOURCE           = 0x55
-+	MCAST_UNDEFINED                = 0x0
- 	MCL_CURRENT                    = 0x1
- 	MCL_FUTURE                     = 0x2
-+	MNT_ACLS                       = 0x8000000
-+	MNT_ASYNC                      = 0x40
-+	MNT_AUTOMOUNTED                = 0x200000000
-+	MNT_BYFSID                     = 0x8000000
-+	MNT_CMDFLAGS                   = 0xd0f0000
-+	MNT_DEFEXPORTED                = 0x200
-+	MNT_DELEXPORT                  = 0x20000
-+	MNT_EXKERB                     = 0x800
-+	MNT_EXPORTANON                 = 0x400
-+	MNT_EXPORTED                   = 0x100
-+	MNT_EXPUBLIC                   = 0x20000000
-+	MNT_EXRDONLY                   = 0x80
-+	MNT_FORCE                      = 0x80000
-+	MNT_GJOURNAL                   = 0x2000000
-+	MNT_IGNORE                     = 0x800000
-+	MNT_LAZY                       = 0x3
-+	MNT_LOCAL                      = 0x1000
-+	MNT_MULTILABEL                 = 0x4000000
-+	MNT_NFS4ACLS                   = 0x10
-+	MNT_NOATIME                    = 0x10000000
-+	MNT_NOCLUSTERR                 = 0x40000000
-+	MNT_NOCLUSTERW                 = 0x80000000
-+	MNT_NOEXEC                     = 0x4
-+	MNT_NONBUSY                    = 0x4000000
-+	MNT_NOSUID                     = 0x8
-+	MNT_NOSYMFOLLOW                = 0x400000
-+	MNT_NOWAIT                     = 0x2
-+	MNT_QUOTA                      = 0x2000
-+	MNT_RDONLY                     = 0x1
-+	MNT_RELOAD                     = 0x40000
-+	MNT_ROOTFS                     = 0x4000
-+	MNT_SNAPSHOT                   = 0x1000000
-+	MNT_SOFTDEP                    = 0x200000
-+	MNT_SUIDDIR                    = 0x100000
-+	MNT_SUJ                        = 0x100000000
-+	MNT_SUSPEND                    = 0x4
-+	MNT_SYNCHRONOUS                = 0x2
-+	MNT_UNION                      = 0x20
-+	MNT_UNTRUSTED                  = 0x800000000
-+	MNT_UPDATE                     = 0x10000
-+	MNT_UPDATEMASK                 = 0xad8d0807e
-+	MNT_USER                       = 0x8000
-+	MNT_VERIFIED                   = 0x400000000
-+	MNT_VISFLAGMASK                = 0xffef0ffff
-+	MNT_WAIT                       = 0x1
- 	MSG_CMSG_CLOEXEC               = 0x40000
- 	MSG_COMPAT                     = 0x8000
- 	MSG_CTRUNC                     = 0x20
-@@ -1006,8 +1108,10 @@ const (
- 	NET_RT_IFLIST                  = 0x3
- 	NET_RT_IFLISTL                 = 0x5
- 	NET_RT_IFMALIST                = 0x4
-+	NFDBITS                        = 0x40
- 	NOFLSH                         = 0x80000000
- 	NOKERNINFO                     = 0x2000000
-+	NOTE_ABSTIME                   = 0x10
- 	NOTE_ATTRIB                    = 0x8
- 	NOTE_CHILD                     = 0x4
- 	NOTE_CLOSE                     = 0x100
-@@ -1162,7 +1266,6 @@ const (
- 	RTV_WEIGHT                     = 0x100
- 	RT_ALL_FIBS                    = -0x1
- 	RT_BLACKHOLE                   = 0x40
--	RT_CACHING_CONTEXT             = 0x1
- 	RT_DEFAULT_FIB                 = 0x0
- 	RT_HAS_GW                      = 0x80
- 	RT_HAS_HEADER                  = 0x10
-@@ -1172,15 +1275,17 @@ const (
- 	RT_LLE_CACHE                   = 0x100
- 	RT_MAY_LOOP                    = 0x8
- 	RT_MAY_LOOP_BIT                = 0x3
--	RT_NORTREF                     = 0x2
- 	RT_REJECT                      = 0x20
- 	RUSAGE_CHILDREN                = -0x1
- 	RUSAGE_SELF                    = 0x0
- 	RUSAGE_THREAD                  = 0x1
- 	SCM_BINTIME                    = 0x4
- 	SCM_CREDS                      = 0x3
-+	SCM_MONOTONIC                  = 0x6
-+	SCM_REALTIME                   = 0x5
- 	SCM_RIGHTS                     = 0x1
- 	SCM_TIMESTAMP                  = 0x2
-+	SCM_TIME_INFO                  = 0x7
- 	SHUT_RD                        = 0x0
- 	SHUT_RDWR                      = 0x2
- 	SHUT_WR                        = 0x1
-@@ -1196,6 +1301,7 @@ const (
- 	SIOCGETSGCNT                   = 0xc0207210
- 	SIOCGETVIFCNT                  = 0xc028720f
- 	SIOCGHIWAT                     = 0x40047301
-+	SIOCGHWADDR                    = 0xc020693e
- 	SIOCGI2C                       = 0xc020693d
- 	SIOCGIFADDR                    = 0xc0206921
- 	SIOCGIFBRDADDR                 = 0xc0206923
-@@ -1217,8 +1323,11 @@ const (
- 	SIOCGIFPDSTADDR                = 0xc0206948
- 	SIOCGIFPHYS                    = 0xc0206935
- 	SIOCGIFPSRCADDR                = 0xc0206947
-+	SIOCGIFRSSHASH                 = 0xc0186997
-+	SIOCGIFRSSKEY                  = 0xc0946996
- 	SIOCGIFSTATUS                  = 0xc331693b
- 	SIOCGIFXMEDIA                  = 0xc030698b
-+	SIOCGLANPCP                    = 0xc0206998
- 	SIOCGLOWAT                     = 0x40047303
- 	SIOCGPGRP                      = 0x40047309
- 	SIOCGPRIVATE_0                 = 0xc0206950
-@@ -1249,6 +1358,7 @@ const (
- 	SIOCSIFPHYS                    = 0x80206936
- 	SIOCSIFRVNET                   = 0xc020695b
- 	SIOCSIFVNET                    = 0xc020695a
-+	SIOCSLANPCP                    = 0x80206999
- 	SIOCSLOWAT                     = 0x80047302
- 	SIOCSPGRP                      = 0x80047308
- 	SIOCSTUNFIB                    = 0x8020695f
-@@ -1267,6 +1377,7 @@ const (
- 	SO_BINTIME                     = 0x2000
- 	SO_BROADCAST                   = 0x20
- 	SO_DEBUG                       = 0x1
-+	SO_DOMAIN                      = 0x1019
- 	SO_DONTROUTE                   = 0x10
- 	SO_ERROR                       = 0x1007
- 	SO_KEEPALIVE                   = 0x8
-@@ -1275,6 +1386,7 @@ const (
- 	SO_LISTENINCQLEN               = 0x1013
- 	SO_LISTENQLEN                  = 0x1012
- 	SO_LISTENQLIMIT                = 0x1011
-+	SO_MAX_PACING_RATE             = 0x1018
- 	SO_NOSIGPIPE                   = 0x800
- 	SO_NO_DDP                      = 0x8000
- 	SO_NO_OFFLOAD                  = 0x4000
-@@ -1287,15 +1399,52 @@ const (
- 	SO_RCVTIMEO                    = 0x1006
- 	SO_REUSEADDR                   = 0x4
- 	SO_REUSEPORT                   = 0x200
-+	SO_REUSEPORT_LB                = 0x10000
- 	SO_SETFIB                      = 0x1014
- 	SO_SNDBUF                      = 0x1001
- 	SO_SNDLOWAT                    = 0x1003
- 	SO_SNDTIMEO                    = 0x1005
- 	SO_TIMESTAMP                   = 0x400
-+	SO_TS_BINTIME                  = 0x1
-+	SO_TS_CLOCK                    = 0x1017
-+	SO_TS_CLOCK_MAX                = 0x3
-+	SO_TS_DEFAULT                  = 0x0
-+	SO_TS_MONOTONIC                = 0x3
-+	SO_TS_REALTIME                 = 0x2
-+	SO_TS_REALTIME_MICRO           = 0x0
- 	SO_TYPE                        = 0x1008
- 	SO_USELOOPBACK                 = 0x40
- 	SO_USER_COOKIE                 = 0x1015
- 	SO_VENDOR                      = 0x80000000
-+	S_BLKSIZE                      = 0x200
-+	S_IEXEC                        = 0x40
-+	S_IFBLK                        = 0x6000
-+	S_IFCHR                        = 0x2000
-+	S_IFDIR                        = 0x4000
-+	S_IFIFO                        = 0x1000
-+	S_IFLNK                        = 0xa000
-+	S_IFMT                         = 0xf000
-+	S_IFREG                        = 0x8000
-+	S_IFSOCK                       = 0xc000
-+	S_IFWHT                        = 0xe000
-+	S_IREAD                        = 0x100
-+	S_IRGRP                        = 0x20
-+	S_IROTH                        = 0x4
-+	S_IRUSR                        = 0x100
-+	S_IRWXG                        = 0x38
-+	S_IRWXO                        = 0x7
-+	S_IRWXU                        = 0x1c0
-+	S_ISGID                        = 0x400
-+	S_ISTXT                        = 0x200
-+	S_ISUID                        = 0x800
-+	S_ISVTX                        = 0x200
-+	S_IWGRP                        = 0x10
-+	S_IWOTH                        = 0x2
-+	S_IWRITE                       = 0x80
-+	S_IWUSR                        = 0x80
-+	S_IXGRP                        = 0x8
-+	S_IXOTH                        = 0x1
-+	S_IXUSR                        = 0x40
- 	TAB0                           = 0x0
- 	TAB3                           = 0x4
- 	TABDLY                         = 0x4
-@@ -1306,10 +1455,45 @@ const (
- 	TCOFLUSH                       = 0x2
- 	TCOOFF                         = 0x1
- 	TCOON                          = 0x2
-+	TCP_BBR_ACK_COMP_ALG           = 0x448
-+	TCP_BBR_DRAIN_INC_EXTRA        = 0x43c
-+	TCP_BBR_DRAIN_PG               = 0x42e
-+	TCP_BBR_EXTRA_GAIN             = 0x449
-+	TCP_BBR_IWINTSO                = 0x42b
-+	TCP_BBR_LOWGAIN_FD             = 0x436
-+	TCP_BBR_LOWGAIN_HALF           = 0x435
-+	TCP_BBR_LOWGAIN_THRESH         = 0x434
-+	TCP_BBR_MAX_RTO                = 0x439
-+	TCP_BBR_MIN_RTO                = 0x438
-+	TCP_BBR_ONE_RETRAN             = 0x431
-+	TCP_BBR_PACE_CROSS             = 0x442
-+	TCP_BBR_PACE_DEL_TAR           = 0x43f
-+	TCP_BBR_PACE_PER_SEC           = 0x43e
-+	TCP_BBR_PACE_SEG_MAX           = 0x440
-+	TCP_BBR_PACE_SEG_MIN           = 0x441
-+	TCP_BBR_PROBE_RTT_GAIN         = 0x44d
-+	TCP_BBR_PROBE_RTT_INT          = 0x430
-+	TCP_BBR_PROBE_RTT_LEN          = 0x44e
-+	TCP_BBR_RACK_RTT_USE           = 0x44a
-+	TCP_BBR_RECFORCE               = 0x42c
-+	TCP_BBR_REC_OVER_HPTS          = 0x43a
-+	TCP_BBR_RETRAN_WTSO            = 0x44b
-+	TCP_BBR_RWND_IS_APP            = 0x42f
-+	TCP_BBR_STARTUP_EXIT_EPOCH     = 0x43d
-+	TCP_BBR_STARTUP_LOSS_EXIT      = 0x432
-+	TCP_BBR_STARTUP_PG             = 0x42d
-+	TCP_BBR_UNLIMITED              = 0x43b
-+	TCP_BBR_USEDEL_RATE            = 0x437
-+	TCP_BBR_USE_LOWGAIN            = 0x433
- 	TCP_CA_NAME_MAX                = 0x10
- 	TCP_CCALGOOPT                  = 0x41
- 	TCP_CONGESTION                 = 0x40
-+	TCP_DATA_AFTER_CLOSE           = 0x44c
-+	TCP_DELACK                     = 0x48
- 	TCP_FASTOPEN                   = 0x401
-+	TCP_FASTOPEN_MAX_COOKIE_LEN    = 0x10
-+	TCP_FASTOPEN_MIN_COOKIE_LEN    = 0x4
-+	TCP_FASTOPEN_PSK_LEN           = 0x10
- 	TCP_FUNCTION_BLK               = 0x2000
- 	TCP_FUNCTION_NAME_LEN_MAX      = 0x20
- 	TCP_INFO                       = 0x20
-@@ -1317,6 +1501,12 @@ const (
- 	TCP_KEEPIDLE                   = 0x100
- 	TCP_KEEPINIT                   = 0x80
- 	TCP_KEEPINTVL                  = 0x200
-+	TCP_LOG                        = 0x22
-+	TCP_LOGBUF                     = 0x23
-+	TCP_LOGDUMP                    = 0x25
-+	TCP_LOGDUMPID                  = 0x26
-+	TCP_LOGID                      = 0x24
-+	TCP_LOG_ID_LEN                 = 0x40
- 	TCP_MAXBURST                   = 0x4
- 	TCP_MAXHLEN                    = 0x3c
- 	TCP_MAXOLEN                    = 0x28
-@@ -1332,8 +1522,30 @@ const (
- 	TCP_NOPUSH                     = 0x4
- 	TCP_PCAP_IN                    = 0x1000
- 	TCP_PCAP_OUT                   = 0x800
-+	TCP_RACK_EARLY_RECOV           = 0x423
-+	TCP_RACK_EARLY_SEG             = 0x424
-+	TCP_RACK_IDLE_REDUCE_HIGH      = 0x444
-+	TCP_RACK_MIN_PACE              = 0x445
-+	TCP_RACK_MIN_PACE_SEG          = 0x446
-+	TCP_RACK_MIN_TO                = 0x422
-+	TCP_RACK_PACE_ALWAYS           = 0x41f
-+	TCP_RACK_PACE_MAX_SEG          = 0x41e
-+	TCP_RACK_PACE_REDUCE           = 0x41d
-+	TCP_RACK_PKT_DELAY             = 0x428
-+	TCP_RACK_PROP                  = 0x41b
-+	TCP_RACK_PROP_RATE             = 0x420
-+	TCP_RACK_PRR_SENDALOT          = 0x421
-+	TCP_RACK_REORD_FADE            = 0x426
-+	TCP_RACK_REORD_THRESH          = 0x425
-+	TCP_RACK_SESS_CWV              = 0x42a
-+	TCP_RACK_TLP_INC_VAR           = 0x429
-+	TCP_RACK_TLP_REDUCE            = 0x41c
-+	TCP_RACK_TLP_THRESH            = 0x427
-+	TCP_RACK_TLP_USE               = 0x447
- 	TCP_VENDOR                     = 0x80000000
- 	TCSAFLUSH                      = 0x2
-+	TIMER_ABSTIME                  = 0x1
-+	TIMER_RELTIME                  = 0x0
- 	TIOCCBRK                       = 0x2000747a
- 	TIOCCDTR                       = 0x20007478
- 	TIOCCONS                       = 0x80047462
-@@ -1397,6 +1609,8 @@ const (
- 	TIOCTIMESTAMP                  = 0x40107459
- 	TIOCUCNTL                      = 0x80047466
- 	TOSTOP                         = 0x400000
-+	UTIME_NOW                      = -0x1
-+	UTIME_OMIT                     = -0x2
- 	VDISCARD                       = 0xf
- 	VDSUSP                         = 0xb
- 	VEOF                           = 0x0
-@@ -1408,6 +1622,7 @@ const (
- 	VKILL                          = 0x5
- 	VLNEXT                         = 0xe
- 	VMIN                           = 0x10
-+	VM_BCACHE_SIZE_MAX             = 0x19000000
- 	VQUIT                          = 0x9
- 	VREPRINT                       = 0x6
- 	VSTART                         = 0xc
-@@ -1570,138 +1785,146 @@ const (
- )
- 
- // Error table
--var errors = [...]string{
--	1:  "operation not permitted",
--	2:  "no such file or directory",
--	3:  "no such process",
--	4:  "interrupted system call",
--	5:  "input/output error",
--	6:  "device not configured",
--	7:  "argument list too long",
--	8:  "exec format error",
--	9:  "bad file descriptor",
--	10: "no child processes",
--	11: "resource deadlock avoided",
--	12: "cannot allocate memory",
--	13: "permission denied",
--	14: "bad address",
--	15: "block device required",
--	16: "device busy",
--	17: "file exists",
--	18: "cross-device link",
--	19: "operation not supported by device",
--	20: "not a directory",
--	21: "is a directory",
--	22: "invalid argument",
--	23: "too many open files in system",
--	24: "too many open files",
--	25: "inappropriate ioctl for device",
--	26: "text file busy",
--	27: "file too large",
--	28: "no space left on device",
--	29: "illegal seek",
--	30: "read-only file system",
--	31: "too many links",
--	32: "broken pipe",
--	33: "numerical argument out of domain",
--	34: "result too large",
--	35: "resource temporarily unavailable",
--	36: "operation now in progress",
--	37: "operation already in progress",
--	38: "socket operation on non-socket",
--	39: "destination address required",
--	40: "message too long",
--	41: "protocol wrong type for socket",
--	42: "protocol not available",
--	43: "protocol not supported",
--	44: "socket type not supported",
--	45: "operation not supported",
--	46: "protocol family not supported",
--	47: "address family not supported by protocol family",
--	48: "address already in use",
--	49: "can't assign requested address",
--	50: "network is down",
--	51: "network is unreachable",
--	52: "network dropped connection on reset",
--	53: "software caused connection abort",
--	54: "connection reset by peer",
--	55: "no buffer space available",
--	56: "socket is already connected",
--	57: "socket is not connected",
--	58: "can't send after socket shutdown",
--	59: "too many references: can't splice",
--	60: "operation timed out",
--	61: "connection refused",
--	62: "too many levels of symbolic links",
--	63: "file name too long",
--	64: "host is down",
--	65: "no route to host",
--	66: "directory not empty",
--	67: "too many processes",
--	68: "too many users",
--	69: "disc quota exceeded",
--	70: "stale NFS file handle",
--	71: "too many levels of remote in path",
--	72: "RPC struct is bad",
--	73: "RPC version wrong",
--	74: "RPC prog. not avail",
--	75: "program version wrong",
--	76: "bad procedure for program",
--	77: "no locks available",
--	78: "function not implemented",
--	79: "inappropriate file type or format",
--	80: "authentication error",
--	81: "need authenticator",
--	82: "identifier removed",
--	83: "no message of desired type",
--	84: "value too large to be stored in data type",
--	85: "operation canceled",
--	86: "illegal byte sequence",
--	87: "attribute not found",
--	88: "programming error",
--	89: "bad message",
--	90: "multihop attempted",
--	91: "link has been severed",
--	92: "protocol error",
--	93: "capabilities insufficient",
--	94: "not permitted in capability mode",
--	95: "state not recoverable",
--	96: "previous owner died",
-+var errorList = [...]struct {
-+	num  syscall.Errno
-+	name string
-+	desc string
-+}{
-+	{1, "EPERM", "operation not permitted"},
-+	{2, "ENOENT", "no such file or directory"},
-+	{3, "ESRCH", "no such process"},
-+	{4, "EINTR", "interrupted system call"},
-+	{5, "EIO", "input/output error"},
-+	{6, "ENXIO", "device not configured"},
-+	{7, "E2BIG", "argument list too long"},
-+	{8, "ENOEXEC", "exec format error"},
-+	{9, "EBADF", "bad file descriptor"},
-+	{10, "ECHILD", "no child processes"},
-+	{11, "EDEADLK", "resource deadlock avoided"},
-+	{12, "ENOMEM", "cannot allocate memory"},
-+	{13, "EACCES", "permission denied"},
-+	{14, "EFAULT", "bad address"},
-+	{15, "ENOTBLK", "block device required"},
-+	{16, "EBUSY", "device busy"},
-+	{17, "EEXIST", "file exists"},
-+	{18, "EXDEV", "cross-device link"},
-+	{19, "ENODEV", "operation not supported by device"},
-+	{20, "ENOTDIR", "not a directory"},
-+	{21, "EISDIR", "is a directory"},
-+	{22, "EINVAL", "invalid argument"},
-+	{23, "ENFILE", "too many open files in system"},
-+	{24, "EMFILE", "too many open files"},
-+	{25, "ENOTTY", "inappropriate ioctl for device"},
-+	{26, "ETXTBSY", "text file busy"},
-+	{27, "EFBIG", "file too large"},
-+	{28, "ENOSPC", "no space left on device"},
-+	{29, "ESPIPE", "illegal seek"},
-+	{30, "EROFS", "read-only file system"},
-+	{31, "EMLINK", "too many links"},
-+	{32, "EPIPE", "broken pipe"},
-+	{33, "EDOM", "numerical argument out of domain"},
-+	{34, "ERANGE", "result too large"},
-+	{35, "EAGAIN", "resource temporarily unavailable"},
-+	{36, "EINPROGRESS", "operation now in progress"},
-+	{37, "EALREADY", "operation already in progress"},
-+	{38, "ENOTSOCK", "socket operation on non-socket"},
-+	{39, "EDESTADDRREQ", "destination address required"},
-+	{40, "EMSGSIZE", "message too long"},
-+	{41, "EPROTOTYPE", "protocol wrong type for socket"},
-+	{42, "ENOPROTOOPT", "protocol not available"},
-+	{43, "EPROTONOSUPPORT", "protocol not supported"},
-+	{44, "ESOCKTNOSUPPORT", "socket type not supported"},
-+	{45, "EOPNOTSUPP", "operation not supported"},
-+	{46, "EPFNOSUPPORT", "protocol family not supported"},
-+	{47, "EAFNOSUPPORT", "address family not supported by protocol family"},
-+	{48, "EADDRINUSE", "address already in use"},
-+	{49, "EADDRNOTAVAIL", "can't assign requested address"},
-+	{50, "ENETDOWN", "network is down"},
-+	{51, "ENETUNREACH", "network is unreachable"},
-+	{52, "ENETRESET", "network dropped connection on reset"},
-+	{53, "ECONNABORTED", "software caused connection abort"},
-+	{54, "ECONNRESET", "connection reset by peer"},
-+	{55, "ENOBUFS", "no buffer space available"},
-+	{56, "EISCONN", "socket is already connected"},
-+	{57, "ENOTCONN", "socket is not connected"},
-+	{58, "ESHUTDOWN", "can't send after socket shutdown"},
-+	{59, "ETOOMANYREFS", "too many references: can't splice"},
-+	{60, "ETIMEDOUT", "operation timed out"},
-+	{61, "ECONNREFUSED", "connection refused"},
-+	{62, "ELOOP", "too many levels of symbolic links"},
-+	{63, "ENAMETOOLONG", "file name too long"},
-+	{64, "EHOSTDOWN", "host is down"},
-+	{65, "EHOSTUNREACH", "no route to host"},
-+	{66, "ENOTEMPTY", "directory not empty"},
-+	{67, "EPROCLIM", "too many processes"},
-+	{68, "EUSERS", "too many users"},
-+	{69, "EDQUOT", "disc quota exceeded"},
-+	{70, "ESTALE", "stale NFS file handle"},
-+	{71, "EREMOTE", "too many levels of remote in path"},
-+	{72, "EBADRPC", "RPC struct is bad"},
-+	{73, "ERPCMISMATCH", "RPC version wrong"},
-+	{74, "EPROGUNAVAIL", "RPC prog. not avail"},
-+	{75, "EPROGMISMATCH", "program version wrong"},
-+	{76, "EPROCUNAVAIL", "bad procedure for program"},
-+	{77, "ENOLCK", "no locks available"},
-+	{78, "ENOSYS", "function not implemented"},
-+	{79, "EFTYPE", "inappropriate file type or format"},
-+	{80, "EAUTH", "authentication error"},
-+	{81, "ENEEDAUTH", "need authenticator"},
-+	{82, "EIDRM", "identifier removed"},
-+	{83, "ENOMSG", "no message of desired type"},
-+	{84, "EOVERFLOW", "value too large to be stored in data type"},
-+	{85, "ECANCELED", "operation canceled"},
-+	{86, "EILSEQ", "illegal byte sequence"},
-+	{87, "ENOATTR", "attribute not found"},
-+	{88, "EDOOFUS", "programming error"},
-+	{89, "EBADMSG", "bad message"},
-+	{90, "EMULTIHOP", "multihop attempted"},
-+	{91, "ENOLINK", "link has been severed"},
-+	{92, "EPROTO", "protocol error"},
-+	{93, "ENOTCAPABLE", "capabilities insufficient"},
-+	{94, "ECAPMODE", "not permitted in capability mode"},
-+	{95, "ENOTRECOVERABLE", "state not recoverable"},
-+	{96, "EOWNERDEAD", "previous owner died"},
- }
- 
- // Signal table
--var signals = [...]string{
--	1:  "hangup",
--	2:  "interrupt",
--	3:  "quit",
--	4:  "illegal instruction",
--	5:  "trace/BPT trap",
--	6:  "abort trap",
--	7:  "EMT trap",
--	8:  "floating point exception",
--	9:  "killed",
--	10: "bus error",
--	11: "segmentation fault",
--	12: "bad system call",
--	13: "broken pipe",
--	14: "alarm clock",
--	15: "terminated",
--	16: "urgent I/O condition",
--	17: "suspended (signal)",
--	18: "suspended",
--	19: "continued",
--	20: "child exited",
--	21: "stopped (tty input)",
--	22: "stopped (tty output)",
--	23: "I/O possible",
--	24: "cputime limit exceeded",
--	25: "filesize limit exceeded",
--	26: "virtual timer expired",
--	27: "profiling timer expired",
--	28: "window size changes",
--	29: "information request",
--	30: "user defined signal 1",
--	31: "user defined signal 2",
--	32: "unknown signal",
--	33: "unknown signal",
-+var signalList = [...]struct {
-+	num  syscall.Signal
-+	name string
-+	desc string
-+}{
-+	{1, "SIGHUP", "hangup"},
-+	{2, "SIGINT", "interrupt"},
-+	{3, "SIGQUIT", "quit"},
-+	{4, "SIGILL", "illegal instruction"},
-+	{5, "SIGTRAP", "trace/BPT trap"},
-+	{6, "SIGIOT", "abort trap"},
-+	{7, "SIGEMT", "EMT trap"},
-+	{8, "SIGFPE", "floating point exception"},
-+	{9, "SIGKILL", "killed"},
-+	{10, "SIGBUS", "bus error"},
-+	{11, "SIGSEGV", "segmentation fault"},
-+	{12, "SIGSYS", "bad system call"},
-+	{13, "SIGPIPE", "broken pipe"},
-+	{14, "SIGALRM", "alarm clock"},
-+	{15, "SIGTERM", "terminated"},
-+	{16, "SIGURG", "urgent I/O condition"},
-+	{17, "SIGSTOP", "suspended (signal)"},
-+	{18, "SIGTSTP", "suspended"},
-+	{19, "SIGCONT", "continued"},
-+	{20, "SIGCHLD", "child exited"},
-+	{21, "SIGTTIN", "stopped (tty input)"},
-+	{22, "SIGTTOU", "stopped (tty output)"},
-+	{23, "SIGIO", "I/O possible"},
-+	{24, "SIGXCPU", "cputime limit exceeded"},
-+	{25, "SIGXFSZ", "filesize limit exceeded"},
-+	{26, "SIGVTALRM", "virtual timer expired"},
-+	{27, "SIGPROF", "profiling timer expired"},
-+	{28, "SIGWINCH", "window size changes"},
-+	{29, "SIGINFO", "information request"},
-+	{30, "SIGUSR1", "user defined signal 1"},
-+	{31, "SIGUSR2", "user defined signal 2"},
-+	{32, "SIGTHR", "unknown signal"},
-+	{33, "SIGLIBRT", "unknown signal"},
- }
-diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux.go b/vendor/golang.org/x/sys/unix/zerrors_linux.go
-new file mode 100644
-index 00000000..21973940
---- /dev/null
-+++ b/vendor/golang.org/x/sys/unix/zerrors_linux.go
-@@ -0,0 +1,2469 @@
-+// Code generated by mkmerge.go; DO NOT EDIT.
-+
-+// +build linux
-+
-+package unix
-+
-+import "syscall"
-+
-+const (
-+	AAFS_MAGIC                                  = 0x5a3c69f0
-+	ADFS_SUPER_MAGIC                            = 0xadf5
-+	AFFS_SUPER_MAGIC                            = 0xadff
-+	AFS_FS_MAGIC                                = 0x6b414653
-+	AFS_SUPER_MAGIC                             = 0x5346414f
-+	AF_ALG                                      = 0x26
-+	AF_APPLETALK                                = 0x5
-+	AF_ASH                                      = 0x12
-+	AF_ATMPVC                                   = 0x8
-+	AF_ATMSVC                                   = 0x14
-+	AF_AX25                                     = 0x3
-+	AF_BLUETOOTH                                = 0x1f
-+	AF_BRIDGE                                   = 0x7
-+	AF_CAIF                                     = 0x25
-+	AF_CAN                                      = 0x1d
-+	AF_DECnet                                   = 0xc
-+	AF_ECONET                                   = 0x13
-+	AF_FILE                                     = 0x1
-+	AF_IB                                       = 0x1b
-+	AF_IEEE802154                               = 0x24
-+	AF_INET                                     = 0x2
-+	AF_INET6                                    = 0xa
-+	AF_IPX                                      = 0x4
-+	AF_IRDA                                     = 0x17
-+	AF_ISDN                                     = 0x22
-+	AF_IUCV                                     = 0x20
-+	AF_KCM                                      = 0x29
-+	AF_KEY                                      = 0xf
-+	AF_LLC                                      = 0x1a
-+	AF_LOCAL                                    = 0x1
-+	AF_MAX                                      = 0x2d
-+	AF_MPLS                                     = 0x1c
-+	AF_NETBEUI                                  = 0xd
-+	AF_NETLINK                                  = 0x10
-+	AF_NETROM                                   = 0x6
-+	AF_NFC                                      = 0x27
-+	AF_PACKET                                   = 0x11
-+	AF_PHONET                                   = 0x23
-+	AF_PPPOX                                    = 0x18
-+	AF_QIPCRTR                                  = 0x2a
-+	AF_RDS                                      = 0x15
-+	AF_ROSE                                     = 0xb
-+	AF_ROUTE                                    = 0x10
-+	AF_RXRPC                                    = 0x21
-+	AF_SECURITY                                 = 0xe
-+	AF_SMC                                      = 0x2b
-+	AF_SNA                                      = 0x16
-+	AF_TIPC                                     = 0x1e
-+	AF_UNIX                                     = 0x1
-+	AF_UNSPEC                                   = 0x0
-+	AF_VSOCK                                    = 0x28
-+	AF_WANPIPE                                  = 0x19
-+	AF_X25                                      = 0x9
-+	AF_XDP                                      = 0x2c
-+	ALG_OP_DECRYPT                              = 0x0
-+	ALG_OP_ENCRYPT                              = 0x1
-+	ALG_SET_AEAD_ASSOCLEN                       = 0x4
-+	ALG_SET_AEAD_AUTHSIZE                       = 0x5
-+	ALG_SET_IV                                  = 0x2
-+	ALG_SET_KEY                                 = 0x1
-+	ALG_SET_OP                                  = 0x3
-+	ANON_INODE_FS_MAGIC                         = 0x9041934
-+	ARPHRD_6LOWPAN                              = 0x339
-+	ARPHRD_ADAPT                                = 0x108
-+	ARPHRD_APPLETLK                             = 0x8
-+	ARPHRD_ARCNET                               = 0x7
-+	ARPHRD_ASH                                  = 0x30d
-+	ARPHRD_ATM                                  = 0x13
-+	ARPHRD_AX25                                 = 0x3
-+	ARPHRD_BIF                                  = 0x307
-+	ARPHRD_CAIF                                 = 0x336
-+	ARPHRD_CAN                                  = 0x118
-+	ARPHRD_CHAOS                                = 0x5
-+	ARPHRD_CISCO                                = 0x201
-+	ARPHRD_CSLIP                                = 0x101
-+	ARPHRD_CSLIP6                               = 0x103
-+	ARPHRD_DDCMP                                = 0x205
-+	ARPHRD_DLCI                                 = 0xf
-+	ARPHRD_ECONET                               = 0x30e
-+	ARPHRD_EETHER                               = 0x2
-+	ARPHRD_ETHER                                = 0x1
-+	ARPHRD_EUI64                                = 0x1b
-+	ARPHRD_FCAL                                 = 0x311
-+	ARPHRD_FCFABRIC                             = 0x313
-+	ARPHRD_FCPL                                 = 0x312
-+	ARPHRD_FCPP                                 = 0x310
-+	ARPHRD_FDDI                                 = 0x306
-+	ARPHRD_FRAD                                 = 0x302
-+	ARPHRD_HDLC                                 = 0x201
-+	ARPHRD_HIPPI                                = 0x30c
-+	ARPHRD_HWX25                                = 0x110
-+	ARPHRD_IEEE1394                             = 0x18
-+	ARPHRD_IEEE802                              = 0x6
-+	ARPHRD_IEEE80211                            = 0x321
-+	ARPHRD_IEEE80211_PRISM                      = 0x322
-+	ARPHRD_IEEE80211_RADIOTAP                   = 0x323
-+	ARPHRD_IEEE802154                           = 0x324
-+	ARPHRD_IEEE802154_MONITOR                   = 0x325
-+	ARPHRD_IEEE802_TR                           = 0x320
-+	ARPHRD_INFINIBAND                           = 0x20
-+	ARPHRD_IP6GRE                               = 0x337
-+	ARPHRD_IPDDP                                = 0x309
-+	ARPHRD_IPGRE                                = 0x30a
-+	ARPHRD_IRDA                                 = 0x30f
-+	ARPHRD_LAPB                                 = 0x204
-+	ARPHRD_LOCALTLK                             = 0x305
-+	ARPHRD_LOOPBACK                             = 0x304
-+	ARPHRD_METRICOM                             = 0x17
-+	ARPHRD_NETLINK                              = 0x338
-+	ARPHRD_NETROM                               = 0x0
-+	ARPHRD_NONE                                 = 0xfffe
-+	ARPHRD_PHONET                               = 0x334
-+	ARPHRD_PHONET_PIPE                          = 0x335
-+	ARPHRD_PIMREG                               = 0x30b
-+	ARPHRD_PPP                                  = 0x200
-+	ARPHRD_PRONET                               = 0x4
-+	ARPHRD_RAWHDLC                              = 0x206
-+	ARPHRD_RAWIP                                = 0x207
-+	ARPHRD_ROSE                                 = 0x10e
-+	ARPHRD_RSRVD                                = 0x104
-+	ARPHRD_SIT                                  = 0x308
-+	ARPHRD_SKIP                                 = 0x303
-+	ARPHRD_SLIP                                 = 0x100
-+	ARPHRD_SLIP6                                = 0x102
-+	ARPHRD_TUNNEL                               = 0x300
-+	ARPHRD_TUNNEL6                              = 0x301
-+	ARPHRD_VOID                                 = 0xffff
-+	ARPHRD_VSOCKMON                             = 0x33a
-+	ARPHRD_X25                                  = 0x10f
-+	AUTOFS_SUPER_MAGIC                          = 0x187
-+	B0                                          = 0x0
-+	B110                                        = 0x3
-+	B1200                                       = 0x9
-+	B134                                        = 0x4
-+	B150                                        = 0x5
-+	B1800                                       = 0xa
-+	B19200                                      = 0xe
-+	B200                                        = 0x6
-+	B2400                                       = 0xb
-+	B300                                        = 0x7
-+	B38400                                      = 0xf
-+	B4800                                       = 0xc
-+	B50                                         = 0x1
-+	B600                                        = 0x8
-+	B75                                         = 0x2
-+	B9600                                       = 0xd
-+	BALLOON_KVM_MAGIC                           = 0x13661366
-+	BDEVFS_MAGIC                                = 0x62646576
-+	BINDERFS_SUPER_MAGIC                        = 0x6c6f6f70
-+	BINFMTFS_MAGIC                              = 0x42494e4d
-+	BPF_A                                       = 0x10
-+	BPF_ABS                                     = 0x20
-+	BPF_ADD                                     = 0x0
-+	BPF_ADJ_ROOM_ENCAP_L2_MASK                  = 0xff
-+	BPF_ADJ_ROOM_ENCAP_L2_SHIFT                 = 0x38
-+	BPF_ALU                                     = 0x4
-+	BPF_ALU64                                   = 0x7
-+	BPF_AND                                     = 0x50
-+	BPF_ANY                                     = 0x0
-+	BPF_ARSH                                    = 0xc0
-+	BPF_B                                       = 0x10
-+	BPF_BUILD_ID_SIZE                           = 0x14
-+	BPF_CALL                                    = 0x80
-+	BPF_DEVCG_ACC_MKNOD                         = 0x1
-+	BPF_DEVCG_ACC_READ                          = 0x2
-+	BPF_DEVCG_ACC_WRITE                         = 0x4
-+	BPF_DEVCG_DEV_BLOCK                         = 0x1
-+	BPF_DEVCG_DEV_CHAR                          = 0x2
-+	BPF_DIV                                     = 0x30
-+	BPF_DW                                      = 0x18
-+	BPF_END                                     = 0xd0
-+	BPF_EXIST                                   = 0x2
-+	BPF_EXIT                                    = 0x90
-+	BPF_FLOW_DISSECTOR_F_PARSE_1ST_FRAG         = 0x1
-+	BPF_FLOW_DISSECTOR_F_STOP_AT_ENCAP          = 0x4
-+	BPF_FLOW_DISSECTOR_F_STOP_AT_FLOW_LABEL     = 0x2
-+	BPF_FROM_BE                                 = 0x8
-+	BPF_FROM_LE                                 = 0x0
-+	BPF_FS_MAGIC                                = 0xcafe4a11
-+	BPF_F_ADJ_ROOM_ENCAP_L3_IPV4                = 0x2
-+	BPF_F_ADJ_ROOM_ENCAP_L3_IPV6                = 0x4
-+	BPF_F_ADJ_ROOM_ENCAP_L4_GRE                 = 0x8
-+	BPF_F_ADJ_ROOM_ENCAP_L4_UDP                 = 0x10
-+	BPF_F_ADJ_ROOM_FIXED_GSO                    = 0x1
-+	BPF_F_ALLOW_MULTI                           = 0x2
-+	BPF_F_ALLOW_OVERRIDE                        = 0x1
-+	BPF_F_ANY_ALIGNMENT                         = 0x2
-+	BPF_F_CLONE                                 = 0x200
-+	BPF_F_CTXLEN_MASK                           = 0xfffff00000000
-+	BPF_F_CURRENT_CPU                           = 0xffffffff
-+	BPF_F_CURRENT_NETNS                         = -0x1
-+	BPF_F_DONT_FRAGMENT                         = 0x4
-+	BPF_F_FAST_STACK_CMP                        = 0x200
-+	BPF_F_HDR_FIELD_MASK                        = 0xf
-+	BPF_F_INDEX_MASK                            = 0xffffffff
-+	BPF_F_INGRESS                               = 0x1
-+	BPF_F_INVALIDATE_HASH                       = 0x2
-+	BPF_F_LOCK                                  = 0x4
-+	BPF_F_MARK_ENFORCE                          = 0x40
-+	BPF_F_MARK_MANGLED_0                        = 0x20
-+	BPF_F_MMAPABLE                              = 0x400
-+	BPF_F_NO_COMMON_LRU                         = 0x2
-+	BPF_F_NO_PREALLOC                           = 0x1
-+	BPF_F_NUMA_NODE                             = 0x4
-+	BPF_F_PSEUDO_HDR                            = 0x10
-+	BPF_F_QUERY_EFFECTIVE                       = 0x1
-+	BPF_F_RDONLY                                = 0x8
-+	BPF_F_RDONLY_PROG                           = 0x80
-+	BPF_F_RECOMPUTE_CSUM                        = 0x1
-+	BPF_F_REPLACE                               = 0x4
-+	BPF_F_REUSE_STACKID                         = 0x400
-+	BPF_F_SEQ_NUMBER                            = 0x8
-+	BPF_F_SKIP_FIELD_MASK                       = 0xff
-+	BPF_F_STACK_BUILD_ID                        = 0x20
-+	BPF_F_STRICT_ALIGNMENT                      = 0x1
-+	BPF_F_SYSCTL_BASE_NAME                      = 0x1
-+	BPF_F_TEST_RND_HI32                         = 0x4
-+	BPF_F_TEST_STATE_FREQ                       = 0x8
-+	BPF_F_TUNINFO_IPV6                          = 0x1
-+	BPF_F_USER_BUILD_ID                         = 0x800
-+	BPF_F_USER_STACK                            = 0x100
-+	BPF_F_WRONLY                                = 0x10
-+	BPF_F_WRONLY_PROG                           = 0x100
-+	BPF_F_ZERO_CSUM_TX                          = 0x2
-+	BPF_F_ZERO_SEED                             = 0x40
-+	BPF_H                                       = 0x8
-+	BPF_IMM                                     = 0x0
-+	BPF_IND                                     = 0x40
-+	BPF_JA                                      = 0x0
-+	BPF_JEQ                                     = 0x10
-+	BPF_JGE                                     = 0x30
-+	BPF_JGT                                     = 0x20
-+	BPF_JLE                                     = 0xb0
-+	BPF_JLT                                     = 0xa0
-+	BPF_JMP                                     = 0x5
-+	BPF_JMP32                                   = 0x6
-+	BPF_JNE                                     = 0x50
-+	BPF_JSET                                    = 0x40
-+	BPF_JSGE                                    = 0x70
-+	BPF_JSGT                                    = 0x60
-+	BPF_JSLE                                    = 0xd0
-+	BPF_JSLT                                    = 0xc0
-+	BPF_K                                       = 0x0
-+	BPF_LD                                      = 0x0
-+	BPF_LDX                                     = 0x1
-+	BPF_LEN                                     = 0x80
-+	BPF_LL_OFF                                  = -0x200000
-+	BPF_LSH                                     = 0x60
-+	BPF_MAJOR_VERSION                           = 0x1
-+	BPF_MAXINSNS                                = 0x1000
-+	BPF_MEM                                     = 0x60
-+	BPF_MEMWORDS                                = 0x10
-+	BPF_MINOR_VERSION                           = 0x1
-+	BPF_MISC                                    = 0x7
-+	BPF_MOD                                     = 0x90
-+	BPF_MOV                                     = 0xb0
-+	BPF_MSH                                     = 0xa0
-+	BPF_MUL                                     = 0x20
-+	BPF_NEG                                     = 0x80
-+	BPF_NET_OFF                                 = -0x100000
-+	BPF_NOEXIST                                 = 0x1
-+	BPF_OBJ_NAME_LEN                            = 0x10
-+	BPF_OR                                      = 0x40
-+	BPF_PSEUDO_CALL                             = 0x1
-+	BPF_PSEUDO_MAP_FD                           = 0x1
-+	BPF_PSEUDO_MAP_VALUE                        = 0x2
-+	BPF_RET                                     = 0x6
-+	BPF_RSH                                     = 0x70
-+	BPF_SK_STORAGE_GET_F_CREATE                 = 0x1
-+	BPF_SOCK_OPS_ALL_CB_FLAGS                   = 0xf
-+	BPF_SOCK_OPS_RETRANS_CB_FLAG                = 0x2
-+	BPF_SOCK_OPS_RTO_CB_FLAG                    = 0x1
-+	BPF_SOCK_OPS_RTT_CB_FLAG                    = 0x8
-+	BPF_SOCK_OPS_STATE_CB_FLAG                  = 0x4
-+	BPF_ST                                      = 0x2
-+	BPF_STX                                     = 0x3
-+	BPF_SUB                                     = 0x10
-+	BPF_TAG_SIZE                                = 0x8
-+	BPF_TAX                                     = 0x0
-+	BPF_TO_BE                                   = 0x8
-+	BPF_TO_LE                                   = 0x0
-+	BPF_TXA                                     = 0x80
-+	BPF_W                                       = 0x0
-+	BPF_X                                       = 0x8
-+	BPF_XADD                                    = 0xc0
-+	BPF_XOR                                     = 0xa0
-+	BRKINT                                      = 0x2
-+	BS0                                         = 0x0
-+	BTRFS_SUPER_MAGIC                           = 0x9123683e
-+	BTRFS_TEST_MAGIC                            = 0x73727279
-+	CAN_BCM                                     = 0x2
-+	CAN_EFF_FLAG                                = 0x80000000
-+	CAN_EFF_ID_BITS                             = 0x1d
-+	CAN_EFF_MASK                                = 0x1fffffff
-+	CAN_ERR_FLAG                                = 0x20000000
-+	CAN_ERR_MASK                                = 0x1fffffff
-+	CAN_INV_FILTER                              = 0x20000000
-+	CAN_ISOTP                                   = 0x6
-+	CAN_J1939                                   = 0x7
-+	CAN_MAX_DLC                                 = 0x8
-+	CAN_MAX_DLEN                                = 0x8
-+	CAN_MCNET                                   = 0x5
-+	CAN_MTU                                     = 0x10
-+	CAN_NPROTO                                  = 0x8
-+	CAN_RAW                                     = 0x1
-+	CAN_RAW_FILTER_MAX                          = 0x200
-+	CAN_RTR_FLAG                                = 0x40000000
-+	CAN_SFF_ID_BITS                             = 0xb
-+	CAN_SFF_MASK                                = 0x7ff
-+	CAN_TP16                                    = 0x3
-+	CAN_TP20                                    = 0x4
-+	CAP_AUDIT_CONTROL                           = 0x1e
-+	CAP_AUDIT_READ                              = 0x25
-+	CAP_AUDIT_WRITE                             = 0x1d
-+	CAP_BLOCK_SUSPEND                           = 0x24
-+	CAP_CHOWN                                   = 0x0
-+	CAP_DAC_OVERRIDE                            = 0x1
-+	CAP_DAC_READ_SEARCH                         = 0x2
-+	CAP_FOWNER                                  = 0x3
-+	CAP_FSETID                                  = 0x4
-+	CAP_IPC_LOCK                                = 0xe
-+	CAP_IPC_OWNER                               = 0xf
-+	CAP_KILL                                    = 0x5
-+	CAP_LAST_CAP                                = 0x25
-+	CAP_LEASE                                   = 0x1c
-+	CAP_LINUX_IMMUTABLE                         = 0x9
-+	CAP_MAC_ADMIN                               = 0x21
-+	CAP_MAC_OVERRIDE                            = 0x20
-+	CAP_MKNOD                                   = 0x1b
-+	CAP_NET_ADMIN                               = 0xc
-+	CAP_NET_BIND_SERVICE                        = 0xa
-+	CAP_NET_BROADCAST                           = 0xb
-+	CAP_NET_RAW                                 = 0xd
-+	CAP_SETFCAP                                 = 0x1f
-+	CAP_SETGID                                  = 0x6
-+	CAP_SETPCAP                                 = 0x8
-+	CAP_SETUID                                  = 0x7
-+	CAP_SYSLOG                                  = 0x22
-+	CAP_SYS_ADMIN                               = 0x15
-+	CAP_SYS_BOOT                                = 0x16
-+	CAP_SYS_CHROOT                              = 0x12
-+	CAP_SYS_MODULE                              = 0x10
-+	CAP_SYS_NICE                                = 0x17
-+	CAP_SYS_PACCT                               = 0x14
-+	CAP_SYS_PTRACE                              = 0x13
-+	CAP_SYS_RAWIO                               = 0x11
-+	CAP_SYS_RESOURCE                            = 0x18
-+	CAP_SYS_TIME                                = 0x19
-+	CAP_SYS_TTY_CONFIG                          = 0x1a
-+	CAP_WAKE_ALARM                              = 0x23
-+	CFLUSH                                      = 0xf
-+	CGROUP2_SUPER_MAGIC                         = 0x63677270
-+	CGROUP_SUPER_MAGIC                          = 0x27e0eb
-+	CLOCK_BOOTTIME                              = 0x7
-+	CLOCK_BOOTTIME_ALARM                        = 0x9
-+	CLOCK_DEFAULT                               = 0x0
-+	CLOCK_EXT                                   = 0x1
-+	CLOCK_INT                                   = 0x2
-+	CLOCK_MONOTONIC                             = 0x1
-+	CLOCK_MONOTONIC_COARSE                      = 0x6
-+	CLOCK_MONOTONIC_RAW                         = 0x4
-+	CLOCK_PROCESS_CPUTIME_ID                    = 0x2
-+	CLOCK_REALTIME                              = 0x0
-+	CLOCK_REALTIME_ALARM                        = 0x8
-+	CLOCK_REALTIME_COARSE                       = 0x5
-+	CLOCK_TAI                                   = 0xb
-+	CLOCK_THREAD_CPUTIME_ID                     = 0x3
-+	CLOCK_TXFROMRX                              = 0x4
-+	CLOCK_TXINT                                 = 0x3
-+	CLONE_ARGS_SIZE_VER0                        = 0x40
-+	CLONE_ARGS_SIZE_VER1                        = 0x50
-+	CLONE_CHILD_CLEARTID                        = 0x200000
-+	CLONE_CHILD_SETTID                          = 0x1000000
-+	CLONE_CLEAR_SIGHAND                         = 0x100000000
-+	CLONE_DETACHED                              = 0x400000
-+	CLONE_FILES                                 = 0x400
-+	CLONE_FS                                    = 0x200
-+	CLONE_IO                                    = 0x80000000
-+	CLONE_NEWCGROUP                             = 0x2000000
-+	CLONE_NEWIPC                                = 0x8000000
-+	CLONE_NEWNET                                = 0x40000000
-+	CLONE_NEWNS                                 = 0x20000
-+	CLONE_NEWPID                                = 0x20000000
-+	CLONE_NEWTIME                               = 0x80
-+	CLONE_NEWUSER                               = 0x10000000
-+	CLONE_NEWUTS                                = 0x4000000
-+	CLONE_PARENT                                = 0x8000
-+	CLONE_PARENT_SETTID                         = 0x100000
-+	CLONE_PIDFD                                 = 0x1000
-+	CLONE_PTRACE                                = 0x2000
-+	CLONE_SETTLS                                = 0x80000
-+	CLONE_SIGHAND                               = 0x800
-+	CLONE_SYSVSEM                               = 0x40000
-+	CLONE_THREAD                                = 0x10000
-+	CLONE_UNTRACED                              = 0x800000
-+	CLONE_VFORK                                 = 0x4000
-+	CLONE_VM                                    = 0x100
-+	CMSPAR                                      = 0x40000000
-+	CODA_SUPER_MAGIC                            = 0x73757245
-+	CR0                                         = 0x0
-+	CRAMFS_MAGIC                                = 0x28cd3d45
-+	CRTSCTS                                     = 0x80000000
-+	CRYPTO_MAX_NAME                             = 0x40
-+	CRYPTO_MSG_MAX                              = 0x15
-+	CRYPTO_NR_MSGTYPES                          = 0x6
-+	CRYPTO_REPORT_MAXSIZE                       = 0x160
-+	CS5                                         = 0x0
-+	CSIGNAL                                     = 0xff
-+	CSTART                                      = 0x11
-+	CSTATUS                                     = 0x0
-+	CSTOP                                       = 0x13
-+	CSUSP                                       = 0x1a
-+	DAXFS_MAGIC                                 = 0x64646178
-+	DEBUGFS_MAGIC                               = 0x64626720
-+	DEVLINK_CMD_ESWITCH_MODE_GET                = 0x1d
-+	DEVLINK_CMD_ESWITCH_MODE_SET                = 0x1e
-+	DEVLINK_GENL_MCGRP_CONFIG_NAME              = "config"
-+	DEVLINK_GENL_NAME                           = "devlink"
-+	DEVLINK_GENL_VERSION                        = 0x1
-+	DEVLINK_SB_THRESHOLD_TO_ALPHA_MAX           = 0x14
-+	DEVPTS_SUPER_MAGIC                          = 0x1cd1
-+	DMA_BUF_MAGIC                               = 0x444d4142
-+	DT_BLK                                      = 0x6
-+	DT_CHR                                      = 0x2
-+	DT_DIR                                      = 0x4
-+	DT_FIFO                                     = 0x1
-+	DT_LNK                                      = 0xa
-+	DT_REG                                      = 0x8
-+	DT_SOCK                                     = 0xc
-+	DT_UNKNOWN                                  = 0x0
-+	DT_WHT                                      = 0xe
-+	ECHO                                        = 0x8
-+	ECRYPTFS_SUPER_MAGIC                        = 0xf15f
-+	EFD_SEMAPHORE                               = 0x1
-+	EFIVARFS_MAGIC                              = 0xde5e81e4
-+	EFS_SUPER_MAGIC                             = 0x414a53
-+	ENCODING_DEFAULT                            = 0x0
-+	ENCODING_FM_MARK                            = 0x3
-+	ENCODING_FM_SPACE                           = 0x4
-+	ENCODING_MANCHESTER                         = 0x5
-+	ENCODING_NRZ                                = 0x1
-+	ENCODING_NRZI                               = 0x2
-+	EPOLLERR                                    = 0x8
-+	EPOLLET                                     = 0x80000000
-+	EPOLLEXCLUSIVE                              = 0x10000000
-+	EPOLLHUP                                    = 0x10
-+	EPOLLIN                                     = 0x1
-+	EPOLLMSG                                    = 0x400
-+	EPOLLONESHOT                                = 0x40000000
-+	EPOLLOUT                                    = 0x4
-+	EPOLLPRI                                    = 0x2
-+	EPOLLRDBAND                                 = 0x80
-+	EPOLLRDHUP                                  = 0x2000
-+	EPOLLRDNORM                                 = 0x40
-+	EPOLLWAKEUP                                 = 0x20000000
-+	EPOLLWRBAND                                 = 0x200
-+	EPOLLWRNORM                                 = 0x100
-+	EPOLL_CTL_ADD                               = 0x1
-+	EPOLL_CTL_DEL                               = 0x2
-+	EPOLL_CTL_MOD                               = 0x3
-+	EROFS_SUPER_MAGIC_V1                        = 0xe0f5e1e2
-+	ETH_P_1588                                  = 0x88f7
-+	ETH_P_8021AD                                = 0x88a8
-+	ETH_P_8021AH                                = 0x88e7
-+	ETH_P_8021Q                                 = 0x8100
-+	ETH_P_80221                                 = 0x8917
-+	ETH_P_802_2                                 = 0x4
-+	ETH_P_802_3                                 = 0x1
-+	ETH_P_802_3_MIN                             = 0x600
-+	ETH_P_802_EX1                               = 0x88b5
-+	ETH_P_AARP                                  = 0x80f3
-+	ETH_P_AF_IUCV                               = 0xfbfb
-+	ETH_P_ALL                                   = 0x3
-+	ETH_P_AOE                                   = 0x88a2
-+	ETH_P_ARCNET                                = 0x1a
-+	ETH_P_ARP                                   = 0x806
-+	ETH_P_ATALK                                 = 0x809b
-+	ETH_P_ATMFATE                               = 0x8884
-+	ETH_P_ATMMPOA                               = 0x884c
-+	ETH_P_AX25                                  = 0x2
-+	ETH_P_BATMAN                                = 0x4305
-+	ETH_P_BPQ                                   = 0x8ff
-+	ETH_P_CAIF                                  = 0xf7
-+	ETH_P_CAN                                   = 0xc
-+	ETH_P_CANFD                                 = 0xd
-+	ETH_P_CONTROL                               = 0x16
-+	ETH_P_CUST                                  = 0x6006
-+	ETH_P_DDCMP                                 = 0x6
-+	ETH_P_DEC                                   = 0x6000
-+	ETH_P_DIAG                                  = 0x6005
-+	ETH_P_DNA_DL                                = 0x6001
-+	ETH_P_DNA_RC                                = 0x6002
-+	ETH_P_DNA_RT                                = 0x6003
-+	ETH_P_DSA                                   = 0x1b
-+	ETH_P_DSA_8021Q                             = 0xdadb
-+	ETH_P_ECONET                                = 0x18
-+	ETH_P_EDSA                                  = 0xdada
-+	ETH_P_ERSPAN                                = 0x88be
-+	ETH_P_ERSPAN2                               = 0x22eb
-+	ETH_P_FCOE                                  = 0x8906
-+	ETH_P_FIP                                   = 0x8914
-+	ETH_P_HDLC                                  = 0x19
-+	ETH_P_HSR                                   = 0x892f
-+	ETH_P_IBOE                                  = 0x8915
-+	ETH_P_IEEE802154                            = 0xf6
-+	ETH_P_IEEEPUP                               = 0xa00
-+	ETH_P_IEEEPUPAT                             = 0xa01
-+	ETH_P_IFE                                   = 0xed3e
-+	ETH_P_IP                                    = 0x800
-+	ETH_P_IPV6                                  = 0x86dd
-+	ETH_P_IPX                                   = 0x8137
-+	ETH_P_IRDA                                  = 0x17
-+	ETH_P_LAT                                   = 0x6004
-+	ETH_P_LINK_CTL                              = 0x886c
-+	ETH_P_LLDP                                  = 0x88cc
-+	ETH_P_LOCALTALK                             = 0x9
-+	ETH_P_LOOP                                  = 0x60
-+	ETH_P_LOOPBACK                              = 0x9000
-+	ETH_P_MACSEC                                = 0x88e5
-+	ETH_P_MAP                                   = 0xf9
-+	ETH_P_MOBITEX                               = 0x15
-+	ETH_P_MPLS_MC                               = 0x8848
-+	ETH_P_MPLS_UC                               = 0x8847
-+	ETH_P_MVRP                                  = 0x88f5
-+	ETH_P_NCSI                                  = 0x88f8
-+	ETH_P_NSH                                   = 0x894f
-+	ETH_P_PAE                                   = 0x888e
-+	ETH_P_PAUSE                                 = 0x8808
-+	ETH_P_PHONET                                = 0xf5
-+	ETH_P_PPPTALK                               = 0x10
-+	ETH_P_PPP_DISC                              = 0x8863
-+	ETH_P_PPP_MP                                = 0x8
-+	ETH_P_PPP_SES                               = 0x8864
-+	ETH_P_PREAUTH                               = 0x88c7
-+	ETH_P_PRP                                   = 0x88fb
-+	ETH_P_PUP                                   = 0x200
-+	ETH_P_PUPAT                                 = 0x201
-+	ETH_P_QINQ1                                 = 0x9100
-+	ETH_P_QINQ2                                 = 0x9200
-+	ETH_P_QINQ3                                 = 0x9300
-+	ETH_P_RARP                                  = 0x8035
-+	ETH_P_SCA                                   = 0x6007
-+	ETH_P_SLOW                                  = 0x8809
-+	ETH_P_SNAP                                  = 0x5
-+	ETH_P_TDLS                                  = 0x890d
-+	ETH_P_TEB                                   = 0x6558
-+	ETH_P_TIPC                                  = 0x88ca
-+	ETH_P_TRAILER                               = 0x1c
-+	ETH_P_TR_802_2                              = 0x11
-+	ETH_P_TSN                                   = 0x22f0
-+	ETH_P_WAN_PPP                               = 0x7
-+	ETH_P_WCCP                                  = 0x883e
-+	ETH_P_X25                                   = 0x805
-+	ETH_P_XDSA                                  = 0xf8
-+	EXABYTE_ENABLE_NEST                         = 0xf0
-+	EXT2_SUPER_MAGIC                            = 0xef53
-+	EXT3_SUPER_MAGIC                            = 0xef53
-+	EXT4_SUPER_MAGIC                            = 0xef53
-+	EXTA                                        = 0xe
-+	EXTB                                        = 0xf
-+	F2FS_SUPER_MAGIC                            = 0xf2f52010
-+	FALLOC_FL_COLLAPSE_RANGE                    = 0x8
-+	FALLOC_FL_INSERT_RANGE                      = 0x20
-+	FALLOC_FL_KEEP_SIZE                         = 0x1
-+	FALLOC_FL_NO_HIDE_STALE                     = 0x4
-+	FALLOC_FL_PUNCH_HOLE                        = 0x2
-+	FALLOC_FL_UNSHARE_RANGE                     = 0x40
-+	FALLOC_FL_ZERO_RANGE                        = 0x10
-+	FANOTIFY_METADATA_VERSION                   = 0x3
-+	FAN_ACCESS                                  = 0x1
-+	FAN_ACCESS_PERM                             = 0x20000
-+	FAN_ALLOW                                   = 0x1
-+	FAN_ALL_CLASS_BITS                          = 0xc
-+	FAN_ALL_EVENTS                              = 0x3b
-+	FAN_ALL_INIT_FLAGS                          = 0x3f
-+	FAN_ALL_MARK_FLAGS                          = 0xff
-+	FAN_ALL_OUTGOING_EVENTS                     = 0x3403b
-+	FAN_ALL_PERM_EVENTS                         = 0x30000
-+	FAN_ATTRIB                                  = 0x4
-+	FAN_AUDIT                                   = 0x10
-+	FAN_CLASS_CONTENT                           = 0x4
-+	FAN_CLASS_NOTIF                             = 0x0
-+	FAN_CLASS_PRE_CONTENT                       = 0x8
-+	FAN_CLOEXEC                                 = 0x1
-+	FAN_CLOSE                                   = 0x18
-+	FAN_CLOSE_NOWRITE                           = 0x10
-+	FAN_CLOSE_WRITE                             = 0x8
-+	FAN_CREATE                                  = 0x100
-+	FAN_DELETE                                  = 0x200
-+	FAN_DELETE_SELF                             = 0x400
-+	FAN_DENY                                    = 0x2
-+	FAN_ENABLE_AUDIT                            = 0x40
-+	FAN_EVENT_INFO_TYPE_FID                     = 0x1
-+	FAN_EVENT_METADATA_LEN                      = 0x18
-+	FAN_EVENT_ON_CHILD                          = 0x8000000
-+	FAN_MARK_ADD                                = 0x1
-+	FAN_MARK_DONT_FOLLOW                        = 0x4
-+	FAN_MARK_FILESYSTEM                         = 0x100
-+	FAN_MARK_FLUSH                              = 0x80
-+	FAN_MARK_IGNORED_MASK                       = 0x20
-+	FAN_MARK_IGNORED_SURV_MODIFY                = 0x40
-+	FAN_MARK_INODE                              = 0x0
-+	FAN_MARK_MOUNT                              = 0x10
-+	FAN_MARK_ONLYDIR                            = 0x8
-+	FAN_MARK_REMOVE                             = 0x2
-+	FAN_MODIFY                                  = 0x2
-+	FAN_MOVE                                    = 0xc0
-+	FAN_MOVED_FROM                              = 0x40
-+	FAN_MOVED_TO                                = 0x80
-+	FAN_MOVE_SELF                               = 0x800
-+	FAN_NOFD                                    = -0x1
-+	FAN_NONBLOCK                                = 0x2
-+	FAN_ONDIR                                   = 0x40000000
-+	FAN_OPEN                                    = 0x20
-+	FAN_OPEN_EXEC                               = 0x1000
-+	FAN_OPEN_EXEC_PERM                          = 0x40000
-+	FAN_OPEN_PERM                               = 0x10000
-+	FAN_Q_OVERFLOW                              = 0x4000
-+	FAN_REPORT_FID                              = 0x200
-+	FAN_REPORT_TID                              = 0x100
-+	FAN_UNLIMITED_MARKS                         = 0x20
-+	FAN_UNLIMITED_QUEUE                         = 0x10
-+	FD_CLOEXEC                                  = 0x1
-+	FD_SETSIZE                                  = 0x400
-+	FF0                                         = 0x0
-+	FSCRYPT_KEY_DESCRIPTOR_SIZE                 = 0x8
-+	FSCRYPT_KEY_DESC_PREFIX                     = "fscrypt:"
-+	FSCRYPT_KEY_DESC_PREFIX_SIZE                = 0x8
-+	FSCRYPT_KEY_IDENTIFIER_SIZE                 = 0x10
-+	FSCRYPT_KEY_REMOVAL_STATUS_FLAG_FILES_BUSY  = 0x1
-+	FSCRYPT_KEY_REMOVAL_STATUS_FLAG_OTHER_USERS = 0x2
-+	FSCRYPT_KEY_SPEC_TYPE_DESCRIPTOR            = 0x1
-+	FSCRYPT_KEY_SPEC_TYPE_IDENTIFIER            = 0x2
-+	FSCRYPT_KEY_STATUS_ABSENT                   = 0x1
-+	FSCRYPT_KEY_STATUS_FLAG_ADDED_BY_SELF       = 0x1
-+	FSCRYPT_KEY_STATUS_INCOMPLETELY_REMOVED     = 0x3
-+	FSCRYPT_KEY_STATUS_PRESENT                  = 0x2
-+	FSCRYPT_MAX_KEY_SIZE                        = 0x40
-+	FSCRYPT_MODE_ADIANTUM                       = 0x9
-+	FSCRYPT_MODE_AES_128_CBC                    = 0x5
-+	FSCRYPT_MODE_AES_128_CTS                    = 0x6
-+	FSCRYPT_MODE_AES_256_CTS                    = 0x4
-+	FSCRYPT_MODE_AES_256_XTS                    = 0x1
-+	FSCRYPT_POLICY_FLAGS_PAD_16                 = 0x2
-+	FSCRYPT_POLICY_FLAGS_PAD_32                 = 0x3
-+	FSCRYPT_POLICY_FLAGS_PAD_4                  = 0x0
-+	FSCRYPT_POLICY_FLAGS_PAD_8                  = 0x1
-+	FSCRYPT_POLICY_FLAGS_PAD_MASK               = 0x3
-+	FSCRYPT_POLICY_FLAGS_VALID                  = 0xf
-+	FSCRYPT_POLICY_FLAG_DIRECT_KEY              = 0x4
-+	FSCRYPT_POLICY_FLAG_IV_INO_LBLK_64          = 0x8
-+	FSCRYPT_POLICY_V1                           = 0x0
-+	FSCRYPT_POLICY_V2                           = 0x2
-+	FS_ENCRYPTION_MODE_ADIANTUM                 = 0x9
-+	FS_ENCRYPTION_MODE_AES_128_CBC              = 0x5
-+	FS_ENCRYPTION_MODE_AES_128_CTS              = 0x6
-+	FS_ENCRYPTION_MODE_AES_256_CBC              = 0x3
-+	FS_ENCRYPTION_MODE_AES_256_CTS              = 0x4
-+	FS_ENCRYPTION_MODE_AES_256_GCM              = 0x2
-+	FS_ENCRYPTION_MODE_AES_256_XTS              = 0x1
-+	FS_ENCRYPTION_MODE_INVALID                  = 0x0
-+	FS_ENCRYPTION_MODE_SPECK128_256_CTS         = 0x8
-+	FS_ENCRYPTION_MODE_SPECK128_256_XTS         = 0x7
-+	FS_IOC_ADD_ENCRYPTION_KEY                   = 0xc0506617
-+	FS_IOC_GET_ENCRYPTION_KEY_STATUS            = 0xc080661a
-+	FS_IOC_GET_ENCRYPTION_POLICY_EX             = 0xc0096616
-+	FS_IOC_MEASURE_VERITY                       = 0xc0046686
-+	FS_IOC_REMOVE_ENCRYPTION_KEY                = 0xc0406618
-+	FS_IOC_REMOVE_ENCRYPTION_KEY_ALL_USERS      = 0xc0406619
-+	FS_KEY_DESCRIPTOR_SIZE                      = 0x8
-+	FS_KEY_DESC_PREFIX                          = "fscrypt:"
-+	FS_KEY_DESC_PREFIX_SIZE                     = 0x8
-+	FS_MAX_KEY_SIZE                             = 0x40
-+	FS_POLICY_FLAGS_PAD_16                      = 0x2
-+	FS_POLICY_FLAGS_PAD_32                      = 0x3
-+	FS_POLICY_FLAGS_PAD_4                       = 0x0
-+	FS_POLICY_FLAGS_PAD_8                       = 0x1
-+	FS_POLICY_FLAGS_PAD_MASK                    = 0x3
-+	FS_POLICY_FLAGS_VALID                       = 0xf
-+	FS_VERITY_FL                                = 0x100000
-+	FS_VERITY_HASH_ALG_SHA256                   = 0x1
-+	FS_VERITY_HASH_ALG_SHA512                   = 0x2
-+	FUTEXFS_SUPER_MAGIC                         = 0xbad1dea
-+	F_ADD_SEALS                                 = 0x409
-+	F_DUPFD                                     = 0x0
-+	F_DUPFD_CLOEXEC                             = 0x406
-+	F_EXLCK                                     = 0x4
-+	F_GETFD                                     = 0x1
-+	F_GETFL                                     = 0x3
-+	F_GETLEASE                                  = 0x401
-+	F_GETOWN_EX                                 = 0x10
-+	F_GETPIPE_SZ                                = 0x408
-+	F_GETSIG                                    = 0xb
-+	F_GET_FILE_RW_HINT                          = 0x40d
-+	F_GET_RW_HINT                               = 0x40b
-+	F_GET_SEALS                                 = 0x40a
-+	F_LOCK                                      = 0x1
-+	F_NOTIFY                                    = 0x402
-+	F_OFD_GETLK                                 = 0x24
-+	F_OFD_SETLK                                 = 0x25
-+	F_OFD_SETLKW                                = 0x26
-+	F_OK                                        = 0x0
-+	F_SEAL_FUTURE_WRITE                         = 0x10
-+	F_SEAL_GROW                                 = 0x4
-+	F_SEAL_SEAL                                 = 0x1
-+	F_SEAL_SHRINK                               = 0x2
-+	F_SEAL_WRITE                                = 0x8
-+	F_SETFD                                     = 0x2
-+	F_SETFL                                     = 0x4
-+	F_SETLEASE                                  = 0x400
-+	F_SETOWN_EX                                 = 0xf
-+	F_SETPIPE_SZ                                = 0x407
-+	F_SETSIG                                    = 0xa
-+	F_SET_FILE_RW_HINT                          = 0x40e
-+	F_SET_RW_HINT                               = 0x40c
-+	F_SHLCK                                     = 0x8
-+	F_TEST                                      = 0x3
-+	F_TLOCK                                     = 0x2
-+	F_ULOCK                                     = 0x0
-+	GENL_ADMIN_PERM                             = 0x1
-+	GENL_CMD_CAP_DO                             = 0x2
-+	GENL_CMD_CAP_DUMP                           = 0x4
-+	GENL_CMD_CAP_HASPOL                         = 0x8
-+	GENL_HDRLEN                                 = 0x4
-+	GENL_ID_CTRL                                = 0x10
-+	GENL_ID_PMCRAID                             = 0x12
-+	GENL_ID_VFS_DQUOT                           = 0x11
-+	GENL_MAX_ID                                 = 0x3ff
-+	GENL_MIN_ID                                 = 0x10
-+	GENL_NAMSIZ                                 = 0x10
-+	GENL_START_ALLOC                            = 0x13
-+	GENL_UNS_ADMIN_PERM                         = 0x10
-+	GRND_INSECURE                               = 0x4
-+	GRND_NONBLOCK                               = 0x1
-+	GRND_RANDOM                                 = 0x2
-+	HDIO_DRIVE_CMD                              = 0x31f
-+	HDIO_DRIVE_CMD_AEB                          = 0x31e
-+	HDIO_DRIVE_CMD_HDR_SIZE                     = 0x4
-+	HDIO_DRIVE_HOB_HDR_SIZE                     = 0x8
-+	HDIO_DRIVE_RESET                            = 0x31c
-+	HDIO_DRIVE_TASK                             = 0x31e
-+	HDIO_DRIVE_TASKFILE                         = 0x31d
-+	HDIO_DRIVE_TASK_HDR_SIZE                    = 0x8
-+	HDIO_GETGEO                                 = 0x301
-+	HDIO_GET_32BIT                              = 0x309
-+	HDIO_GET_ACOUSTIC                           = 0x30f
-+	HDIO_GET_ADDRESS                            = 0x310
-+	HDIO_GET_BUSSTATE                           = 0x31a
-+	HDIO_GET_DMA                                = 0x30b
-+	HDIO_GET_IDENTITY                           = 0x30d
-+	HDIO_GET_KEEPSETTINGS                       = 0x308
-+	HDIO_GET_MULTCOUNT                          = 0x304
-+	HDIO_GET_NICE                               = 0x30c
-+	HDIO_GET_NOWERR                             = 0x30a
-+	HDIO_GET_QDMA                               = 0x305
-+	HDIO_GET_UNMASKINTR                         = 0x302
-+	HDIO_GET_WCACHE                             = 0x30e
-+	HDIO_OBSOLETE_IDENTITY                      = 0x307
-+	HDIO_SCAN_HWIF                              = 0x328
-+	HDIO_SET_32BIT                              = 0x324
-+	HDIO_SET_ACOUSTIC                           = 0x32c
-+	HDIO_SET_ADDRESS                            = 0x32f
-+	HDIO_SET_BUSSTATE                           = 0x32d
-+	HDIO_SET_DMA                                = 0x326
-+	HDIO_SET_KEEPSETTINGS                       = 0x323
-+	HDIO_SET_MULTCOUNT                          = 0x321
-+	HDIO_SET_NICE                               = 0x329
-+	HDIO_SET_NOWERR                             = 0x325
-+	HDIO_SET_PIO_MODE                           = 0x327
-+	HDIO_SET_QDMA                               = 0x32e
-+	HDIO_SET_UNMASKINTR                         = 0x322
-+	HDIO_SET_WCACHE                             = 0x32b
-+	HDIO_SET_XFER                               = 0x306
-+	HDIO_TRISTATE_HWIF                          = 0x31b
-+	HDIO_UNREGISTER_HWIF                        = 0x32a
-+	HOSTFS_SUPER_MAGIC                          = 0xc0ffee
-+	HPFS_SUPER_MAGIC                            = 0xf995e849
-+	HUGETLBFS_MAGIC                             = 0x958458f6
-+	IBSHIFT                                     = 0x10
-+	ICMPV6_FILTER                               = 0x1
-+	ICRNL                                       = 0x100
-+	IFA_F_DADFAILED                             = 0x8
-+	IFA_F_DEPRECATED                            = 0x20
-+	IFA_F_HOMEADDRESS                           = 0x10
-+	IFA_F_MANAGETEMPADDR                        = 0x100
-+	IFA_F_MCAUTOJOIN                            = 0x400
-+	IFA_F_NODAD                                 = 0x2
-+	IFA_F_NOPREFIXROUTE                         = 0x200
-+	IFA_F_OPTIMISTIC                            = 0x4
-+	IFA_F_PERMANENT                             = 0x80
-+	IFA_F_SECONDARY                             = 0x1
-+	IFA_F_STABLE_PRIVACY                        = 0x800
-+	IFA_F_TEMPORARY                             = 0x1
-+	IFA_F_TENTATIVE                             = 0x40
-+	IFA_MAX                                     = 0xa
-+	IFF_ALLMULTI                                = 0x200
-+	IFF_ATTACH_QUEUE                            = 0x200
-+	IFF_AUTOMEDIA                               = 0x4000
-+	IFF_BROADCAST                               = 0x2
-+	IFF_DEBUG                                   = 0x4
-+	IFF_DETACH_QUEUE                            = 0x400
-+	IFF_DORMANT                                 = 0x20000
-+	IFF_DYNAMIC                                 = 0x8000
-+	IFF_ECHO                                    = 0x40000
-+	IFF_LOOPBACK                                = 0x8
-+	IFF_LOWER_UP                                = 0x10000
-+	IFF_MASTER                                  = 0x400
-+	IFF_MULTICAST                               = 0x1000
-+	IFF_MULTI_QUEUE                             = 0x100
-+	IFF_NAPI                                    = 0x10
-+	IFF_NAPI_FRAGS                              = 0x20
-+	IFF_NOARP                                   = 0x80
-+	IFF_NOFILTER                                = 0x1000
-+	IFF_NOTRAILERS                              = 0x20
-+	IFF_NO_PI                                   = 0x1000
-+	IFF_ONE_QUEUE                               = 0x2000
-+	IFF_PERSIST                                 = 0x800
-+	IFF_POINTOPOINT                             = 0x10
-+	IFF_PORTSEL                                 = 0x2000
-+	IFF_PROMISC                                 = 0x100
-+	IFF_RUNNING                                 = 0x40
-+	IFF_SLAVE                                   = 0x800
-+	IFF_TAP                                     = 0x2
-+	IFF_TUN                                     = 0x1
-+	IFF_TUN_EXCL                                = 0x8000
-+	IFF_UP                                      = 0x1
-+	IFF_VNET_HDR                                = 0x4000
-+	IFF_VOLATILE                                = 0x70c5a
-+	IFNAMSIZ                                    = 0x10
-+	IGNBRK                                      = 0x1
-+	IGNCR                                       = 0x80
-+	IGNPAR                                      = 0x4
-+	IMAXBEL                                     = 0x2000
-+	INLCR                                       = 0x40
-+	INPCK                                       = 0x10
-+	IN_ACCESS                                   = 0x1
-+	IN_ALL_EVENTS                               = 0xfff
-+	IN_ATTRIB                                   = 0x4
-+	IN_CLASSA_HOST                              = 0xffffff
-+	IN_CLASSA_MAX                               = 0x80
-+	IN_CLASSA_NET                               = 0xff000000
-+	IN_CLASSA_NSHIFT                            = 0x18
-+	IN_CLASSB_HOST                              = 0xffff
-+	IN_CLASSB_MAX                               = 0x10000
-+	IN_CLASSB_NET                               = 0xffff0000
-+	IN_CLASSB_NSHIFT                            = 0x10
-+	IN_CLASSC_HOST                              = 0xff
-+	IN_CLASSC_NET                               = 0xffffff00
-+	IN_CLASSC_NSHIFT                            = 0x8
-+	IN_CLOSE                                    = 0x18
-+	IN_CLOSE_NOWRITE                            = 0x10
-+	IN_CLOSE_WRITE                              = 0x8
-+	IN_CREATE                                   = 0x100
-+	IN_DELETE                                   = 0x200
-+	IN_DELETE_SELF                              = 0x400
-+	IN_DONT_FOLLOW                              = 0x2000000
-+	IN_EXCL_UNLINK                              = 0x4000000
-+	IN_IGNORED                                  = 0x8000
-+	IN_ISDIR                                    = 0x40000000
-+	IN_LOOPBACKNET                              = 0x7f
-+	IN_MASK_ADD                                 = 0x20000000
-+	IN_MASK_CREATE                              = 0x10000000
-+	IN_MODIFY                                   = 0x2
-+	IN_MOVE                                     = 0xc0
-+	IN_MOVED_FROM                               = 0x40
-+	IN_MOVED_TO                                 = 0x80
-+	IN_MOVE_SELF                                = 0x800
-+	IN_ONESHOT                                  = 0x80000000
-+	IN_ONLYDIR                                  = 0x1000000
-+	IN_OPEN                                     = 0x20
-+	IN_Q_OVERFLOW                               = 0x4000
-+	IN_UNMOUNT                                  = 0x2000
-+	IPPROTO_AH                                  = 0x33
-+	IPPROTO_BEETPH                              = 0x5e
-+	IPPROTO_COMP                                = 0x6c
-+	IPPROTO_DCCP                                = 0x21
-+	IPPROTO_DSTOPTS                             = 0x3c
-+	IPPROTO_EGP                                 = 0x8
-+	IPPROTO_ENCAP                               = 0x62
-+	IPPROTO_ESP                                 = 0x32
-+	IPPROTO_FRAGMENT                            = 0x2c
-+	IPPROTO_GRE                                 = 0x2f
-+	IPPROTO_HOPOPTS                             = 0x0
-+	IPPROTO_ICMP                                = 0x1
-+	IPPROTO_ICMPV6                              = 0x3a
-+	IPPROTO_IDP                                 = 0x16
-+	IPPROTO_IGMP                                = 0x2
-+	IPPROTO_IP                                  = 0x0
-+	IPPROTO_IPIP                                = 0x4
-+	IPPROTO_IPV6                                = 0x29
-+	IPPROTO_L2TP                                = 0x73
-+	IPPROTO_MH                                  = 0x87
-+	IPPROTO_MPLS                                = 0x89
-+	IPPROTO_MTP                                 = 0x5c
-+	IPPROTO_NONE                                = 0x3b
-+	IPPROTO_PIM                                 = 0x67
-+	IPPROTO_PUP                                 = 0xc
-+	IPPROTO_RAW                                 = 0xff
-+	IPPROTO_ROUTING                             = 0x2b
-+	IPPROTO_RSVP                                = 0x2e
-+	IPPROTO_SCTP                                = 0x84
-+	IPPROTO_TCP                                 = 0x6
-+	IPPROTO_TP                                  = 0x1d
-+	IPPROTO_UDP                                 = 0x11
-+	IPPROTO_UDPLITE                             = 0x88
-+	IPV6_2292DSTOPTS                            = 0x4
-+	IPV6_2292HOPLIMIT                           = 0x8
-+	IPV6_2292HOPOPTS                            = 0x3
-+	IPV6_2292PKTINFO                            = 0x2
-+	IPV6_2292PKTOPTIONS                         = 0x6
-+	IPV6_2292RTHDR                              = 0x5
-+	IPV6_ADDRFORM                               = 0x1
-+	IPV6_ADDR_PREFERENCES                       = 0x48
-+	IPV6_ADD_MEMBERSHIP                         = 0x14
-+	IPV6_AUTHHDR                                = 0xa
-+	IPV6_AUTOFLOWLABEL                          = 0x46
-+	IPV6_CHECKSUM                               = 0x7
-+	IPV6_DONTFRAG                               = 0x3e
-+	IPV6_DROP_MEMBERSHIP                        = 0x15
-+	IPV6_DSTOPTS                                = 0x3b
-+	IPV6_FREEBIND                               = 0x4e
-+	IPV6_HDRINCL                                = 0x24
-+	IPV6_HOPLIMIT                               = 0x34
-+	IPV6_HOPOPTS                                = 0x36
-+	IPV6_IPSEC_POLICY                           = 0x22
-+	IPV6_JOIN_ANYCAST                           = 0x1b
-+	IPV6_JOIN_GROUP                             = 0x14
-+	IPV6_LEAVE_ANYCAST                          = 0x1c
-+	IPV6_LEAVE_GROUP                            = 0x15
-+	IPV6_MINHOPCOUNT                            = 0x49
-+	IPV6_MTU                                    = 0x18
-+	IPV6_MTU_DISCOVER                           = 0x17
-+	IPV6_MULTICAST_ALL                          = 0x1d
-+	IPV6_MULTICAST_HOPS                         = 0x12
-+	IPV6_MULTICAST_IF                           = 0x11
-+	IPV6_MULTICAST_LOOP                         = 0x13
-+	IPV6_NEXTHOP                                = 0x9
-+	IPV6_ORIGDSTADDR                            = 0x4a
-+	IPV6_PATHMTU                                = 0x3d
-+	IPV6_PKTINFO                                = 0x32
-+	IPV6_PMTUDISC_DO                            = 0x2
-+	IPV6_PMTUDISC_DONT                          = 0x0
-+	IPV6_PMTUDISC_INTERFACE                     = 0x4
-+	IPV6_PMTUDISC_OMIT                          = 0x5
-+	IPV6_PMTUDISC_PROBE                         = 0x3
-+	IPV6_PMTUDISC_WANT                          = 0x1
-+	IPV6_RECVDSTOPTS                            = 0x3a
-+	IPV6_RECVERR                                = 0x19
-+	IPV6_RECVFRAGSIZE                           = 0x4d
-+	IPV6_RECVHOPLIMIT                           = 0x33
-+	IPV6_RECVHOPOPTS                            = 0x35
-+	IPV6_RECVORIGDSTADDR                        = 0x4a
-+	IPV6_RECVPATHMTU                            = 0x3c
-+	IPV6_RECVPKTINFO                            = 0x31
-+	IPV6_RECVRTHDR                              = 0x38
-+	IPV6_RECVTCLASS                             = 0x42
-+	IPV6_ROUTER_ALERT                           = 0x16
-+	IPV6_ROUTER_ALERT_ISOLATE                   = 0x1e
-+	IPV6_RTHDR                                  = 0x39
-+	IPV6_RTHDRDSTOPTS                           = 0x37
-+	IPV6_RTHDR_LOOSE                            = 0x0
-+	IPV6_RTHDR_STRICT                           = 0x1
-+	IPV6_RTHDR_TYPE_0                           = 0x0
-+	IPV6_RXDSTOPTS                              = 0x3b
-+	IPV6_RXHOPOPTS                              = 0x36
-+	IPV6_TCLASS                                 = 0x43
-+	IPV6_TRANSPARENT                            = 0x4b
-+	IPV6_UNICAST_HOPS                           = 0x10
-+	IPV6_UNICAST_IF                             = 0x4c
-+	IPV6_V6ONLY                                 = 0x1a
-+	IPV6_XFRM_POLICY                            = 0x23
-+	IP_ADD_MEMBERSHIP                           = 0x23
-+	IP_ADD_SOURCE_MEMBERSHIP                    = 0x27
-+	IP_BIND_ADDRESS_NO_PORT                     = 0x18
-+	IP_BLOCK_SOURCE                             = 0x26
-+	IP_CHECKSUM                                 = 0x17
-+	IP_DEFAULT_MULTICAST_LOOP                   = 0x1
-+	IP_DEFAULT_MULTICAST_TTL                    = 0x1
-+	IP_DF                                       = 0x4000
-+	IP_DROP_MEMBERSHIP                          = 0x24
-+	IP_DROP_SOURCE_MEMBERSHIP                   = 0x28
-+	IP_FREEBIND                                 = 0xf
-+	IP_HDRINCL                                  = 0x3
-+	IP_IPSEC_POLICY                             = 0x10
-+	IP_MAXPACKET                                = 0xffff
-+	IP_MAX_MEMBERSHIPS                          = 0x14
-+	IP_MF                                       = 0x2000
-+	IP_MINTTL                                   = 0x15
-+	IP_MSFILTER                                 = 0x29
-+	IP_MSS                                      = 0x240
-+	IP_MTU                                      = 0xe
-+	IP_MTU_DISCOVER                             = 0xa
-+	IP_MULTICAST_ALL                            = 0x31
-+	IP_MULTICAST_IF                             = 0x20
-+	IP_MULTICAST_LOOP                           = 0x22
-+	IP_MULTICAST_TTL                            = 0x21
-+	IP_NODEFRAG                                 = 0x16
-+	IP_OFFMASK                                  = 0x1fff
-+	IP_OPTIONS                                  = 0x4
-+	IP_ORIGDSTADDR                              = 0x14
-+	IP_PASSSEC                                  = 0x12
-+	IP_PKTINFO                                  = 0x8
-+	IP_PKTOPTIONS                               = 0x9
-+	IP_PMTUDISC                                 = 0xa
-+	IP_PMTUDISC_DO                              = 0x2
-+	IP_PMTUDISC_DONT                            = 0x0
-+	IP_PMTUDISC_INTERFACE                       = 0x4
-+	IP_PMTUDISC_OMIT                            = 0x5
-+	IP_PMTUDISC_PROBE                           = 0x3
-+	IP_PMTUDISC_WANT                            = 0x1
-+	IP_RECVERR                                  = 0xb
-+	IP_RECVFRAGSIZE                             = 0x19
-+	IP_RECVOPTS                                 = 0x6
-+	IP_RECVORIGDSTADDR                          = 0x14
-+	IP_RECVRETOPTS                              = 0x7
-+	IP_RECVTOS                                  = 0xd
-+	IP_RECVTTL                                  = 0xc
-+	IP_RETOPTS                                  = 0x7
-+	IP_RF                                       = 0x8000
-+	IP_ROUTER_ALERT                             = 0x5
-+	IP_TOS                                      = 0x1
-+	IP_TRANSPARENT                              = 0x13
-+	IP_TTL                                      = 0x2
-+	IP_UNBLOCK_SOURCE                           = 0x25
-+	IP_UNICAST_IF                               = 0x32
-+	IP_XFRM_POLICY                              = 0x11
-+	ISOFS_SUPER_MAGIC                           = 0x9660
-+	ISTRIP                                      = 0x20
-+	IUTF8                                       = 0x4000
-+	IXANY                                       = 0x800
-+	JFFS2_SUPER_MAGIC                           = 0x72b6
-+	KEXEC_ARCH_386                              = 0x30000
-+	KEXEC_ARCH_68K                              = 0x40000
-+	KEXEC_ARCH_AARCH64                          = 0xb70000
-+	KEXEC_ARCH_ARM                              = 0x280000
-+	KEXEC_ARCH_DEFAULT                          = 0x0
-+	KEXEC_ARCH_IA_64                            = 0x320000
-+	KEXEC_ARCH_MASK                             = 0xffff0000
-+	KEXEC_ARCH_MIPS                             = 0x80000
-+	KEXEC_ARCH_MIPS_LE                          = 0xa0000
-+	KEXEC_ARCH_PARISC                           = 0xf0000
-+	KEXEC_ARCH_PPC                              = 0x140000
-+	KEXEC_ARCH_PPC64                            = 0x150000
-+	KEXEC_ARCH_S390                             = 0x160000
-+	KEXEC_ARCH_SH                               = 0x2a0000
-+	KEXEC_ARCH_X86_64                           = 0x3e0000
-+	KEXEC_FILE_NO_INITRAMFS                     = 0x4
-+	KEXEC_FILE_ON_CRASH                         = 0x2
-+	KEXEC_FILE_UNLOAD                           = 0x1
-+	KEXEC_ON_CRASH                              = 0x1
-+	KEXEC_PRESERVE_CONTEXT                      = 0x2
-+	KEXEC_SEGMENT_MAX                           = 0x10
-+	KEYCTL_ASSUME_AUTHORITY                     = 0x10
-+	KEYCTL_CAPABILITIES                         = 0x1f
-+	KEYCTL_CAPS0_BIG_KEY                        = 0x10
-+	KEYCTL_CAPS0_CAPABILITIES                   = 0x1
-+	KEYCTL_CAPS0_DIFFIE_HELLMAN                 = 0x4
-+	KEYCTL_CAPS0_INVALIDATE                     = 0x20
-+	KEYCTL_CAPS0_MOVE                           = 0x80
-+	KEYCTL_CAPS0_PERSISTENT_KEYRINGS            = 0x2
-+	KEYCTL_CAPS0_PUBLIC_KEY                     = 0x8
-+	KEYCTL_CAPS0_RESTRICT_KEYRING               = 0x40
-+	KEYCTL_CAPS1_NS_KEYRING_NAME                = 0x1
-+	KEYCTL_CAPS1_NS_KEY_TAG                     = 0x2
-+	KEYCTL_CHOWN                                = 0x4
-+	KEYCTL_CLEAR                                = 0x7
-+	KEYCTL_DESCRIBE                             = 0x6
-+	KEYCTL_DH_COMPUTE                           = 0x17
-+	KEYCTL_GET_KEYRING_ID                       = 0x0
-+	KEYCTL_GET_PERSISTENT                       = 0x16
-+	KEYCTL_GET_SECURITY                         = 0x11
-+	KEYCTL_INSTANTIATE                          = 0xc
-+	KEYCTL_INSTANTIATE_IOV                      = 0x14
-+	KEYCTL_INVALIDATE                           = 0x15
-+	KEYCTL_JOIN_SESSION_KEYRING                 = 0x1
-+	KEYCTL_LINK                                 = 0x8
-+	KEYCTL_MOVE                                 = 0x1e
-+	KEYCTL_MOVE_EXCL                            = 0x1
-+	KEYCTL_NEGATE                               = 0xd
-+	KEYCTL_PKEY_DECRYPT                         = 0x1a
-+	KEYCTL_PKEY_ENCRYPT                         = 0x19
-+	KEYCTL_PKEY_QUERY                           = 0x18
-+	KEYCTL_PKEY_SIGN                            = 0x1b
-+	KEYCTL_PKEY_VERIFY                          = 0x1c
-+	KEYCTL_READ                                 = 0xb
-+	KEYCTL_REJECT                               = 0x13
-+	KEYCTL_RESTRICT_KEYRING                     = 0x1d
-+	KEYCTL_REVOKE                               = 0x3
-+	KEYCTL_SEARCH                               = 0xa
-+	KEYCTL_SESSION_TO_PARENT                    = 0x12
-+	KEYCTL_SETPERM                              = 0x5
-+	KEYCTL_SET_REQKEY_KEYRING                   = 0xe
-+	KEYCTL_SET_TIMEOUT                          = 0xf
-+	KEYCTL_SUPPORTS_DECRYPT                     = 0x2
-+	KEYCTL_SUPPORTS_ENCRYPT                     = 0x1
-+	KEYCTL_SUPPORTS_SIGN                        = 0x4
-+	KEYCTL_SUPPORTS_VERIFY                      = 0x8
-+	KEYCTL_UNLINK                               = 0x9
-+	KEYCTL_UPDATE                               = 0x2
-+	KEY_REQKEY_DEFL_DEFAULT                     = 0x0
-+	KEY_REQKEY_DEFL_GROUP_KEYRING               = 0x6
-+	KEY_REQKEY_DEFL_NO_CHANGE                   = -0x1
-+	KEY_REQKEY_DEFL_PROCESS_KEYRING             = 0x2
-+	KEY_REQKEY_DEFL_REQUESTOR_KEYRING           = 0x7
-+	KEY_REQKEY_DEFL_SESSION_KEYRING             = 0x3
-+	KEY_REQKEY_DEFL_THREAD_KEYRING              = 0x1
-+	KEY_REQKEY_DEFL_USER_KEYRING                = 0x4
-+	KEY_REQKEY_DEFL_USER_SESSION_KEYRING        = 0x5
-+	KEY_SPEC_GROUP_KEYRING                      = -0x6
-+	KEY_SPEC_PROCESS_KEYRING                    = -0x2
-+	KEY_SPEC_REQKEY_AUTH_KEY                    = -0x7
-+	KEY_SPEC_REQUESTOR_KEYRING                  = -0x8
-+	KEY_SPEC_SESSION_KEYRING                    = -0x3
-+	KEY_SPEC_THREAD_KEYRING                     = -0x1
-+	KEY_SPEC_USER_KEYRING                       = -0x4
-+	KEY_SPEC_USER_SESSION_KEYRING               = -0x5
-+	LINUX_REBOOT_CMD_CAD_OFF                    = 0x0
-+	LINUX_REBOOT_CMD_CAD_ON                     = 0x89abcdef
-+	LINUX_REBOOT_CMD_HALT                       = 0xcdef0123
-+	LINUX_REBOOT_CMD_KEXEC                      = 0x45584543
-+	LINUX_REBOOT_CMD_POWER_OFF                  = 0x4321fedc
-+	LINUX_REBOOT_CMD_RESTART                    = 0x1234567
-+	LINUX_REBOOT_CMD_RESTART2                   = 0xa1b2c3d4
-+	LINUX_REBOOT_CMD_SW_SUSPEND                 = 0xd000fce2
-+	LINUX_REBOOT_MAGIC1                         = 0xfee1dead
-+	LINUX_REBOOT_MAGIC2                         = 0x28121969
-+	LOCK_EX                                     = 0x2
-+	LOCK_NB                                     = 0x4
-+	LOCK_SH                                     = 0x1
-+	LOCK_UN                                     = 0x8
-+	LOOP_CLR_FD                                 = 0x4c01
-+	LOOP_CTL_ADD                                = 0x4c80
-+	LOOP_CTL_GET_FREE                           = 0x4c82
-+	LOOP_CTL_REMOVE                             = 0x4c81
-+	LOOP_GET_STATUS                             = 0x4c03
-+	LOOP_GET_STATUS64                           = 0x4c05
-+	LOOP_SET_BLOCK_SIZE                         = 0x4c09
-+	LOOP_SET_CAPACITY                           = 0x4c07
-+	LOOP_SET_DIRECT_IO                          = 0x4c08
-+	LOOP_SET_FD                                 = 0x4c00
-+	LOOP_SET_STATUS                             = 0x4c02
-+	LOOP_SET_STATUS64                           = 0x4c04
-+	LO_KEY_SIZE                                 = 0x20
-+	LO_NAME_SIZE                                = 0x40
-+	MADV_COLD                                   = 0x14
-+	MADV_DODUMP                                 = 0x11
-+	MADV_DOFORK                                 = 0xb
-+	MADV_DONTDUMP                               = 0x10
-+	MADV_DONTFORK                               = 0xa
-+	MADV_DONTNEED                               = 0x4
-+	MADV_FREE                                   = 0x8
-+	MADV_HUGEPAGE                               = 0xe
-+	MADV_HWPOISON                               = 0x64
-+	MADV_KEEPONFORK                             = 0x13
-+	MADV_MERGEABLE                              = 0xc
-+	MADV_NOHUGEPAGE                             = 0xf
-+	MADV_NORMAL                                 = 0x0
-+	MADV_PAGEOUT                                = 0x15
-+	MADV_RANDOM                                 = 0x1
-+	MADV_REMOVE                                 = 0x9
-+	MADV_SEQUENTIAL                             = 0x2
-+	MADV_UNMERGEABLE                            = 0xd
-+	MADV_WILLNEED                               = 0x3
-+	MADV_WIPEONFORK                             = 0x12
-+	MAP_FILE                                    = 0x0
-+	MAP_FIXED                                   = 0x10
-+	MAP_FIXED_NOREPLACE                         = 0x100000
-+	MAP_HUGE_MASK                               = 0x3f
-+	MAP_HUGE_SHIFT                              = 0x1a
-+	MAP_PRIVATE                                 = 0x2
-+	MAP_SHARED                                  = 0x1
-+	MAP_SHARED_VALIDATE                         = 0x3
-+	MAP_TYPE                                    = 0xf
-+	MCAST_BLOCK_SOURCE                          = 0x2b
-+	MCAST_EXCLUDE                               = 0x0
-+	MCAST_INCLUDE                               = 0x1
-+	MCAST_JOIN_GROUP                            = 0x2a
-+	MCAST_JOIN_SOURCE_GROUP                     = 0x2e
-+	MCAST_LEAVE_GROUP                           = 0x2d
-+	MCAST_LEAVE_SOURCE_GROUP                    = 0x2f
-+	MCAST_MSFILTER                              = 0x30
-+	MCAST_UNBLOCK_SOURCE                        = 0x2c
-+	MFD_ALLOW_SEALING                           = 0x2
-+	MFD_CLOEXEC                                 = 0x1
-+	MFD_HUGETLB                                 = 0x4
-+	MFD_HUGE_16GB                               = -0x78000000
-+	MFD_HUGE_16MB                               = 0x60000000
-+	MFD_HUGE_1GB                                = 0x78000000
-+	MFD_HUGE_1MB                                = 0x50000000
-+	MFD_HUGE_256MB                              = 0x70000000
-+	MFD_HUGE_2GB                                = 0x7c000000
-+	MFD_HUGE_2MB                                = 0x54000000
-+	MFD_HUGE_32MB                               = 0x64000000
-+	MFD_HUGE_512KB                              = 0x4c000000
-+	MFD_HUGE_512MB                              = 0x74000000
-+	MFD_HUGE_64KB                               = 0x40000000
-+	MFD_HUGE_8MB                                = 0x5c000000
-+	MFD_HUGE_MASK                               = 0x3f
-+	MFD_HUGE_SHIFT                              = 0x1a
-+	MINIX2_SUPER_MAGIC                          = 0x2468
-+	MINIX2_SUPER_MAGIC2                         = 0x2478
-+	MINIX3_SUPER_MAGIC                          = 0x4d5a
-+	MINIX_SUPER_MAGIC                           = 0x137f
-+	MINIX_SUPER_MAGIC2                          = 0x138f
-+	MNT_DETACH                                  = 0x2
-+	MNT_EXPIRE                                  = 0x4
-+	MNT_FORCE                                   = 0x1
-+	MODULE_INIT_IGNORE_MODVERSIONS              = 0x1
-+	MODULE_INIT_IGNORE_VERMAGIC                 = 0x2
-+	MSDOS_SUPER_MAGIC                           = 0x4d44
-+	MSG_BATCH                                   = 0x40000
-+	MSG_CMSG_CLOEXEC                            = 0x40000000
-+	MSG_CONFIRM                                 = 0x800
-+	MSG_CTRUNC                                  = 0x8
-+	MSG_DONTROUTE                               = 0x4
-+	MSG_DONTWAIT                                = 0x40
-+	MSG_EOR                                     = 0x80
-+	MSG_ERRQUEUE                                = 0x2000
-+	MSG_FASTOPEN                                = 0x20000000
-+	MSG_FIN                                     = 0x200
-+	MSG_MORE                                    = 0x8000
-+	MSG_NOSIGNAL                                = 0x4000
-+	MSG_OOB                                     = 0x1
-+	MSG_PEEK                                    = 0x2
-+	MSG_PROXY                                   = 0x10
-+	MSG_RST                                     = 0x1000
-+	MSG_SYN                                     = 0x400
-+	MSG_TRUNC                                   = 0x20
-+	MSG_TRYHARD                                 = 0x4
-+	MSG_WAITALL                                 = 0x100
-+	MSG_WAITFORONE                              = 0x10000
-+	MSG_ZEROCOPY                                = 0x4000000
-+	MS_ACTIVE                                   = 0x40000000
-+	MS_ASYNC                                    = 0x1
-+	MS_BIND                                     = 0x1000
-+	MS_BORN                                     = 0x20000000
-+	MS_DIRSYNC                                  = 0x80
-+	MS_INVALIDATE                               = 0x2
-+	MS_I_VERSION                                = 0x800000
-+	MS_KERNMOUNT                                = 0x400000
-+	MS_LAZYTIME                                 = 0x2000000
-+	MS_MANDLOCK                                 = 0x40
-+	MS_MGC_MSK                                  = 0xffff0000
-+	MS_MGC_VAL                                  = 0xc0ed0000
-+	MS_MOVE                                     = 0x2000
-+	MS_NOATIME                                  = 0x400
-+	MS_NODEV                                    = 0x4
-+	MS_NODIRATIME                               = 0x800
-+	MS_NOEXEC                                   = 0x8
-+	MS_NOREMOTELOCK                             = 0x8000000
-+	MS_NOSEC                                    = 0x10000000
-+	MS_NOSUID                                   = 0x2
-+	MS_NOUSER                                   = -0x80000000
-+	MS_POSIXACL                                 = 0x10000
-+	MS_PRIVATE                                  = 0x40000
-+	MS_RDONLY                                   = 0x1
-+	MS_REC                                      = 0x4000
-+	MS_RELATIME                                 = 0x200000
-+	MS_REMOUNT                                  = 0x20
-+	MS_RMT_MASK                                 = 0x2800051
-+	MS_SHARED                                   = 0x100000
-+	MS_SILENT                                   = 0x8000
-+	MS_SLAVE                                    = 0x80000
-+	MS_STRICTATIME                              = 0x1000000
-+	MS_SUBMOUNT                                 = 0x4000000
-+	MS_SYNC                                     = 0x4
-+	MS_SYNCHRONOUS                              = 0x10
-+	MS_UNBINDABLE                               = 0x20000
-+	MS_VERBOSE                                  = 0x8000
-+	MTD_INODE_FS_MAGIC                          = 0x11307854
-+	NAME_MAX                                    = 0xff
-+	NCP_SUPER_MAGIC                             = 0x564c
-+	NETLINK_ADD_MEMBERSHIP                      = 0x1
-+	NETLINK_AUDIT                               = 0x9
-+	NETLINK_BROADCAST_ERROR                     = 0x4
-+	NETLINK_CAP_ACK                             = 0xa
-+	NETLINK_CONNECTOR                           = 0xb
-+	NETLINK_CRYPTO                              = 0x15
-+	NETLINK_DNRTMSG                             = 0xe
-+	NETLINK_DROP_MEMBERSHIP                     = 0x2
-+	NETLINK_ECRYPTFS                            = 0x13
-+	NETLINK_EXT_ACK                             = 0xb
-+	NETLINK_FIB_LOOKUP                          = 0xa
-+	NETLINK_FIREWALL                            = 0x3
-+	NETLINK_GENERIC                             = 0x10
-+	NETLINK_GET_STRICT_CHK                      = 0xc
-+	NETLINK_INET_DIAG                           = 0x4
-+	NETLINK_IP6_FW                              = 0xd
-+	NETLINK_ISCSI                               = 0x8
-+	NETLINK_KOBJECT_UEVENT                      = 0xf
-+	NETLINK_LISTEN_ALL_NSID                     = 0x8
-+	NETLINK_LIST_MEMBERSHIPS                    = 0x9
-+	NETLINK_NETFILTER                           = 0xc
-+	NETLINK_NFLOG                               = 0x5
-+	NETLINK_NO_ENOBUFS                          = 0x5
-+	NETLINK_PKTINFO                             = 0x3
-+	NETLINK_RDMA                                = 0x14
-+	NETLINK_ROUTE                               = 0x0
-+	NETLINK_RX_RING                             = 0x6
-+	NETLINK_SCSITRANSPORT                       = 0x12
-+	NETLINK_SELINUX                             = 0x7
-+	NETLINK_SMC                                 = 0x16
-+	NETLINK_SOCK_DIAG                           = 0x4
-+	NETLINK_TX_RING                             = 0x7
-+	NETLINK_UNUSED                              = 0x1
-+	NETLINK_USERSOCK                            = 0x2
-+	NETLINK_XFRM                                = 0x6
-+	NETNSA_MAX                                  = 0x5
-+	NETNSA_NSID_NOT_ASSIGNED                    = -0x1
-+	NFNETLINK_V0                                = 0x0
-+	NFNLGRP_ACCT_QUOTA                          = 0x8
-+	NFNLGRP_CONNTRACK_DESTROY                   = 0x3
-+	NFNLGRP_CONNTRACK_EXP_DESTROY               = 0x6
-+	NFNLGRP_CONNTRACK_EXP_NEW                   = 0x4
-+	NFNLGRP_CONNTRACK_EXP_UPDATE                = 0x5
-+	NFNLGRP_CONNTRACK_NEW                       = 0x1
-+	NFNLGRP_CONNTRACK_UPDATE                    = 0x2
-+	NFNLGRP_MAX                                 = 0x9
-+	NFNLGRP_NFTABLES                            = 0x7
-+	NFNLGRP_NFTRACE                             = 0x9
-+	NFNLGRP_NONE                                = 0x0
-+	NFNL_BATCH_MAX                              = 0x1
-+	NFNL_MSG_BATCH_BEGIN                        = 0x10
-+	NFNL_MSG_BATCH_END                          = 0x11
-+	NFNL_NFA_NEST                               = 0x8000
-+	NFNL_SUBSYS_ACCT                            = 0x7
-+	NFNL_SUBSYS_COUNT                           = 0xc
-+	NFNL_SUBSYS_CTHELPER                        = 0x9
-+	NFNL_SUBSYS_CTNETLINK                       = 0x1
-+	NFNL_SUBSYS_CTNETLINK_EXP                   = 0x2
-+	NFNL_SUBSYS_CTNETLINK_TIMEOUT               = 0x8
-+	NFNL_SUBSYS_IPSET                           = 0x6
-+	NFNL_SUBSYS_NFTABLES                        = 0xa
-+	NFNL_SUBSYS_NFT_COMPAT                      = 0xb
-+	NFNL_SUBSYS_NONE                            = 0x0
-+	NFNL_SUBSYS_OSF                             = 0x5
-+	NFNL_SUBSYS_QUEUE                           = 0x3
-+	NFNL_SUBSYS_ULOG                            = 0x4
-+	NFS_SUPER_MAGIC                             = 0x6969
-+	NILFS_SUPER_MAGIC                           = 0x3434
-+	NL0                                         = 0x0
-+	NL1                                         = 0x100
-+	NLA_ALIGNTO                                 = 0x4
-+	NLA_F_NESTED                                = 0x8000
-+	NLA_F_NET_BYTEORDER                         = 0x4000
-+	NLA_HDRLEN                                  = 0x4
-+	NLMSG_ALIGNTO                               = 0x4
-+	NLMSG_DONE                                  = 0x3
-+	NLMSG_ERROR                                 = 0x2
-+	NLMSG_HDRLEN                                = 0x10
-+	NLMSG_MIN_TYPE                              = 0x10
-+	NLMSG_NOOP                                  = 0x1
-+	NLMSG_OVERRUN                               = 0x4
-+	NLM_F_ACK                                   = 0x4
-+	NLM_F_ACK_TLVS                              = 0x200
-+	NLM_F_APPEND                                = 0x800
-+	NLM_F_ATOMIC                                = 0x400
-+	NLM_F_CAPPED                                = 0x100
-+	NLM_F_CREATE                                = 0x400
-+	NLM_F_DUMP                                  = 0x300
-+	NLM_F_DUMP_FILTERED                         = 0x20
-+	NLM_F_DUMP_INTR                             = 0x10
-+	NLM_F_ECHO                                  = 0x8
-+	NLM_F_EXCL                                  = 0x200
-+	NLM_F_MATCH                                 = 0x200
-+	NLM_F_MULTI                                 = 0x2
-+	NLM_F_NONREC                                = 0x100
-+	NLM_F_REPLACE                               = 0x100
-+	NLM_F_REQUEST                               = 0x1
-+	NLM_F_ROOT                                  = 0x100
-+	NSFS_MAGIC                                  = 0x6e736673
-+	OCFS2_SUPER_MAGIC                           = 0x7461636f
-+	OCRNL                                       = 0x8
-+	OFDEL                                       = 0x80
-+	OFILL                                       = 0x40
-+	ONLRET                                      = 0x20
-+	ONOCR                                       = 0x10
-+	OPENPROM_SUPER_MAGIC                        = 0x9fa1
-+	OPOST                                       = 0x1
-+	OVERLAYFS_SUPER_MAGIC                       = 0x794c7630
-+	O_ACCMODE                                   = 0x3
-+	O_RDONLY                                    = 0x0
-+	O_RDWR                                      = 0x2
-+	O_WRONLY                                    = 0x1
-+	PACKET_ADD_MEMBERSHIP                       = 0x1
-+	PACKET_AUXDATA                              = 0x8
-+	PACKET_BROADCAST                            = 0x1
-+	PACKET_COPY_THRESH                          = 0x7
-+	PACKET_DROP_MEMBERSHIP                      = 0x2
-+	PACKET_FANOUT                               = 0x12
-+	PACKET_FANOUT_CBPF                          = 0x6
-+	PACKET_FANOUT_CPU                           = 0x2
-+	PACKET_FANOUT_DATA                          = 0x16
-+	PACKET_FANOUT_EBPF                          = 0x7
-+	PACKET_FANOUT_FLAG_DEFRAG                   = 0x8000
-+	PACKET_FANOUT_FLAG_ROLLOVER                 = 0x1000
-+	PACKET_FANOUT_FLAG_UNIQUEID                 = 0x2000
-+	PACKET_FANOUT_HASH                          = 0x0
-+	PACKET_FANOUT_LB                            = 0x1
-+	PACKET_FANOUT_QM                            = 0x5
-+	PACKET_FANOUT_RND                           = 0x4
-+	PACKET_FANOUT_ROLLOVER                      = 0x3
-+	PACKET_FASTROUTE                            = 0x6
-+	PACKET_HDRLEN                               = 0xb
-+	PACKET_HOST                                 = 0x0
-+	PACKET_IGNORE_OUTGOING                      = 0x17
-+	PACKET_KERNEL                               = 0x7
-+	PACKET_LOOPBACK                             = 0x5
-+	PACKET_LOSS                                 = 0xe
-+	PACKET_MR_ALLMULTI                          = 0x2
-+	PACKET_MR_MULTICAST                         = 0x0
-+	PACKET_MR_PROMISC                           = 0x1
-+	PACKET_MR_UNICAST                           = 0x3
-+	PACKET_MULTICAST                            = 0x2
-+	PACKET_ORIGDEV                              = 0x9
-+	PACKET_OTHERHOST                            = 0x3
-+	PACKET_OUTGOING                             = 0x4
-+	PACKET_QDISC_BYPASS                         = 0x14
-+	PACKET_RECV_OUTPUT                          = 0x3
-+	PACKET_RESERVE                              = 0xc
-+	PACKET_ROLLOVER_STATS                       = 0x15
-+	PACKET_RX_RING                              = 0x5
-+	PACKET_STATISTICS                           = 0x6
-+	PACKET_TIMESTAMP                            = 0x11
-+	PACKET_TX_HAS_OFF                           = 0x13
-+	PACKET_TX_RING                              = 0xd
-+	PACKET_TX_TIMESTAMP                         = 0x10
-+	PACKET_USER                                 = 0x6
-+	PACKET_VERSION                              = 0xa
-+	PACKET_VNET_HDR                             = 0xf
-+	PARITY_CRC16_PR0                            = 0x2
-+	PARITY_CRC16_PR0_CCITT                      = 0x4
-+	PARITY_CRC16_PR1                            = 0x3
-+	PARITY_CRC16_PR1_CCITT                      = 0x5
-+	PARITY_CRC32_PR0_CCITT                      = 0x6
-+	PARITY_CRC32_PR1_CCITT                      = 0x7
-+	PARITY_DEFAULT                              = 0x0
-+	PARITY_NONE                                 = 0x1
-+	PARMRK                                      = 0x8
-+	PIPEFS_MAGIC                                = 0x50495045
-+	PPC_CMM_MAGIC                               = 0xc7571590
-+	PPPIOCGNPMODE                               = 0xc008744c
-+	PPPIOCNEWUNIT                               = 0xc004743e
-+	PRIO_PGRP                                   = 0x1
-+	PRIO_PROCESS                                = 0x0
-+	PRIO_USER                                   = 0x2
-+	PROC_SUPER_MAGIC                            = 0x9fa0
-+	PROT_EXEC                                   = 0x4
-+	PROT_GROWSDOWN                              = 0x1000000
-+	PROT_GROWSUP                                = 0x2000000
-+	PROT_NONE                                   = 0x0
-+	PROT_READ                                   = 0x1
-+	PROT_WRITE                                  = 0x2
-+	PR_CAPBSET_DROP                             = 0x18
-+	PR_CAPBSET_READ                             = 0x17
-+	PR_CAP_AMBIENT                              = 0x2f
-+	PR_CAP_AMBIENT_CLEAR_ALL                    = 0x4
-+	PR_CAP_AMBIENT_IS_SET                       = 0x1
-+	PR_CAP_AMBIENT_LOWER                        = 0x3
-+	PR_CAP_AMBIENT_RAISE                        = 0x2
-+	PR_ENDIAN_BIG                               = 0x0
-+	PR_ENDIAN_LITTLE                            = 0x1
-+	PR_ENDIAN_PPC_LITTLE                        = 0x2
-+	PR_FPEMU_NOPRINT                            = 0x1
-+	PR_FPEMU_SIGFPE                             = 0x2
-+	PR_FP_EXC_ASYNC                             = 0x2
-+	PR_FP_EXC_DISABLED                          = 0x0
-+	PR_FP_EXC_DIV                               = 0x10000
-+	PR_FP_EXC_INV                               = 0x100000
-+	PR_FP_EXC_NONRECOV                          = 0x1
-+	PR_FP_EXC_OVF                               = 0x20000
-+	PR_FP_EXC_PRECISE                           = 0x3
-+	PR_FP_EXC_RES                               = 0x80000
-+	PR_FP_EXC_SW_ENABLE                         = 0x80
-+	PR_FP_EXC_UND                               = 0x40000
-+	PR_FP_MODE_FR                               = 0x1
-+	PR_FP_MODE_FRE                              = 0x2
-+	PR_GET_CHILD_SUBREAPER                      = 0x25
-+	PR_GET_DUMPABLE                             = 0x3
-+	PR_GET_ENDIAN                               = 0x13
-+	PR_GET_FPEMU                                = 0x9
-+	PR_GET_FPEXC                                = 0xb
-+	PR_GET_FP_MODE                              = 0x2e
-+	PR_GET_IO_FLUSHER                           = 0x3a
-+	PR_GET_KEEPCAPS                             = 0x7
-+	PR_GET_NAME                                 = 0x10
-+	PR_GET_NO_NEW_PRIVS                         = 0x27
-+	PR_GET_PDEATHSIG                            = 0x2
-+	PR_GET_SECCOMP                              = 0x15
-+	PR_GET_SECUREBITS                           = 0x1b
-+	PR_GET_SPECULATION_CTRL                     = 0x34
-+	PR_GET_TAGGED_ADDR_CTRL                     = 0x38
-+	PR_GET_THP_DISABLE                          = 0x2a
-+	PR_GET_TID_ADDRESS                          = 0x28
-+	PR_GET_TIMERSLACK                           = 0x1e
-+	PR_GET_TIMING                               = 0xd
-+	PR_GET_TSC                                  = 0x19
-+	PR_GET_UNALIGN                              = 0x5
-+	PR_MCE_KILL                                 = 0x21
-+	PR_MCE_KILL_CLEAR                           = 0x0
-+	PR_MCE_KILL_DEFAULT                         = 0x2
-+	PR_MCE_KILL_EARLY                           = 0x1
-+	PR_MCE_KILL_GET                             = 0x22
-+	PR_MCE_KILL_LATE                            = 0x0
-+	PR_MCE_KILL_SET                             = 0x1
-+	PR_MPX_DISABLE_MANAGEMENT                   = 0x2c
-+	PR_MPX_ENABLE_MANAGEMENT                    = 0x2b
-+	PR_PAC_APDAKEY                              = 0x4
-+	PR_PAC_APDBKEY                              = 0x8
-+	PR_PAC_APGAKEY                              = 0x10
-+	PR_PAC_APIAKEY                              = 0x1
-+	PR_PAC_APIBKEY                              = 0x2
-+	PR_PAC_RESET_KEYS                           = 0x36
-+	PR_SET_CHILD_SUBREAPER                      = 0x24
-+	PR_SET_DUMPABLE                             = 0x4
-+	PR_SET_ENDIAN                               = 0x14
-+	PR_SET_FPEMU                                = 0xa
-+	PR_SET_FPEXC                                = 0xc
-+	PR_SET_FP_MODE                              = 0x2d
-+	PR_SET_IO_FLUSHER                           = 0x39
-+	PR_SET_KEEPCAPS                             = 0x8
-+	PR_SET_MM                                   = 0x23
-+	PR_SET_MM_ARG_END                           = 0x9
-+	PR_SET_MM_ARG_START                         = 0x8
-+	PR_SET_MM_AUXV                              = 0xc
-+	PR_SET_MM_BRK                               = 0x7
-+	PR_SET_MM_END_CODE                          = 0x2
-+	PR_SET_MM_END_DATA                          = 0x4
-+	PR_SET_MM_ENV_END                           = 0xb
-+	PR_SET_MM_ENV_START                         = 0xa
-+	PR_SET_MM_EXE_FILE                          = 0xd
-+	PR_SET_MM_MAP                               = 0xe
-+	PR_SET_MM_MAP_SIZE                          = 0xf
-+	PR_SET_MM_START_BRK                         = 0x6
-+	PR_SET_MM_START_CODE                        = 0x1
-+	PR_SET_MM_START_DATA                        = 0x3
-+	PR_SET_MM_START_STACK                       = 0x5
-+	PR_SET_NAME                                 = 0xf
-+	PR_SET_NO_NEW_PRIVS                         = 0x26
-+	PR_SET_PDEATHSIG                            = 0x1
-+	PR_SET_PTRACER                              = 0x59616d61
-+	PR_SET_SECCOMP                              = 0x16
-+	PR_SET_SECUREBITS                           = 0x1c
-+	PR_SET_SPECULATION_CTRL                     = 0x35
-+	PR_SET_TAGGED_ADDR_CTRL                     = 0x37
-+	PR_SET_THP_DISABLE                          = 0x29
-+	PR_SET_TIMERSLACK                           = 0x1d
-+	PR_SET_TIMING                               = 0xe
-+	PR_SET_TSC                                  = 0x1a
-+	PR_SET_UNALIGN                              = 0x6
-+	PR_SPEC_DISABLE                             = 0x4
-+	PR_SPEC_DISABLE_NOEXEC                      = 0x10
-+	PR_SPEC_ENABLE                              = 0x2
-+	PR_SPEC_FORCE_DISABLE                       = 0x8
-+	PR_SPEC_INDIRECT_BRANCH                     = 0x1
-+	PR_SPEC_NOT_AFFECTED                        = 0x0
-+	PR_SPEC_PRCTL                               = 0x1
-+	PR_SPEC_STORE_BYPASS                        = 0x0
-+	PR_SVE_GET_VL                               = 0x33
-+	PR_SVE_SET_VL                               = 0x32
-+	PR_SVE_SET_VL_ONEXEC                        = 0x40000
-+	PR_SVE_VL_INHERIT                           = 0x20000
-+	PR_SVE_VL_LEN_MASK                          = 0xffff
-+	PR_TAGGED_ADDR_ENABLE                       = 0x1
-+	PR_TASK_PERF_EVENTS_DISABLE                 = 0x1f
-+	PR_TASK_PERF_EVENTS_ENABLE                  = 0x20
-+	PR_TIMING_STATISTICAL                       = 0x0
-+	PR_TIMING_TIMESTAMP                         = 0x1
-+	PR_TSC_ENABLE                               = 0x1
-+	PR_TSC_SIGSEGV                              = 0x2
-+	PR_UNALIGN_NOPRINT                          = 0x1
-+	PR_UNALIGN_SIGBUS                           = 0x2
-+	PSTOREFS_MAGIC                              = 0x6165676c
-+	PTRACE_ATTACH                               = 0x10
-+	PTRACE_CONT                                 = 0x7
-+	PTRACE_DETACH                               = 0x11
-+	PTRACE_EVENTMSG_SYSCALL_ENTRY               = 0x1
-+	PTRACE_EVENTMSG_SYSCALL_EXIT                = 0x2
-+	PTRACE_EVENT_CLONE                          = 0x3
-+	PTRACE_EVENT_EXEC                           = 0x4
-+	PTRACE_EVENT_EXIT                           = 0x6
-+	PTRACE_EVENT_FORK                           = 0x1
-+	PTRACE_EVENT_SECCOMP                        = 0x7
-+	PTRACE_EVENT_STOP                           = 0x80
-+	PTRACE_EVENT_VFORK                          = 0x2
-+	PTRACE_EVENT_VFORK_DONE                     = 0x5
-+	PTRACE_GETEVENTMSG                          = 0x4201
-+	PTRACE_GETREGS                              = 0xc
-+	PTRACE_GETREGSET                            = 0x4204
-+	PTRACE_GETSIGINFO                           = 0x4202
-+	PTRACE_GETSIGMASK                           = 0x420a
-+	PTRACE_GET_SYSCALL_INFO                     = 0x420e
-+	PTRACE_INTERRUPT                            = 0x4207
-+	PTRACE_KILL                                 = 0x8
-+	PTRACE_LISTEN                               = 0x4208
-+	PTRACE_O_EXITKILL                           = 0x100000
-+	PTRACE_O_MASK                               = 0x3000ff
-+	PTRACE_O_SUSPEND_SECCOMP                    = 0x200000
-+	PTRACE_O_TRACECLONE                         = 0x8
-+	PTRACE_O_TRACEEXEC                          = 0x10
-+	PTRACE_O_TRACEEXIT                          = 0x40
-+	PTRACE_O_TRACEFORK                          = 0x2
-+	PTRACE_O_TRACESECCOMP                       = 0x80
-+	PTRACE_O_TRACESYSGOOD                       = 0x1
-+	PTRACE_O_TRACEVFORK                         = 0x4
-+	PTRACE_O_TRACEVFORKDONE                     = 0x20
-+	PTRACE_PEEKDATA                             = 0x2
-+	PTRACE_PEEKSIGINFO                          = 0x4209
-+	PTRACE_PEEKSIGINFO_SHARED                   = 0x1
-+	PTRACE_PEEKTEXT                             = 0x1
-+	PTRACE_PEEKUSR                              = 0x3
-+	PTRACE_POKEDATA                             = 0x5
-+	PTRACE_POKETEXT                             = 0x4
-+	PTRACE_POKEUSR                              = 0x6
-+	PTRACE_SECCOMP_GET_FILTER                   = 0x420c
-+	PTRACE_SECCOMP_GET_METADATA                 = 0x420d
-+	PTRACE_SEIZE                                = 0x4206
-+	PTRACE_SETOPTIONS                           = 0x4200
-+	PTRACE_SETREGS                              = 0xd
-+	PTRACE_SETREGSET                            = 0x4205
-+	PTRACE_SETSIGINFO                           = 0x4203
-+	PTRACE_SETSIGMASK                           = 0x420b
-+	PTRACE_SINGLESTEP                           = 0x9
-+	PTRACE_SYSCALL                              = 0x18
-+	PTRACE_SYSCALL_INFO_ENTRY                   = 0x1
-+	PTRACE_SYSCALL_INFO_EXIT                    = 0x2
-+	PTRACE_SYSCALL_INFO_NONE                    = 0x0
-+	PTRACE_SYSCALL_INFO_SECCOMP                 = 0x3
-+	PTRACE_TRACEME                              = 0x0
-+	QNX4_SUPER_MAGIC                            = 0x2f
-+	QNX6_SUPER_MAGIC                            = 0x68191122
-+	RAMFS_MAGIC                                 = 0x858458f6
-+	RDTGROUP_SUPER_MAGIC                        = 0x7655821
-+	REISERFS_SUPER_MAGIC                        = 0x52654973
-+	RENAME_EXCHANGE                             = 0x2
-+	RENAME_NOREPLACE                            = 0x1
-+	RENAME_WHITEOUT                             = 0x4
-+	RLIMIT_CORE                                 = 0x4
-+	RLIMIT_CPU                                  = 0x0
-+	RLIMIT_DATA                                 = 0x2
-+	RLIMIT_FSIZE                                = 0x1
-+	RLIMIT_LOCKS                                = 0xa
-+	RLIMIT_MSGQUEUE                             = 0xc
-+	RLIMIT_NICE                                 = 0xd
-+	RLIMIT_RTPRIO                               = 0xe
-+	RLIMIT_RTTIME                               = 0xf
-+	RLIMIT_SIGPENDING                           = 0xb
-+	RLIMIT_STACK                                = 0x3
-+	RLIM_INFINITY                               = 0xffffffffffffffff
-+	RTAX_ADVMSS                                 = 0x8
-+	RTAX_CC_ALGO                                = 0x10
-+	RTAX_CWND                                   = 0x7
-+	RTAX_FASTOPEN_NO_COOKIE                     = 0x11
-+	RTAX_FEATURES                               = 0xc
-+	RTAX_FEATURE_ALLFRAG                        = 0x8
-+	RTAX_FEATURE_ECN                            = 0x1
-+	RTAX_FEATURE_MASK                           = 0xf
-+	RTAX_FEATURE_SACK                           = 0x2
-+	RTAX_FEATURE_TIMESTAMP                      = 0x4
-+	RTAX_HOPLIMIT                               = 0xa
-+	RTAX_INITCWND                               = 0xb
-+	RTAX_INITRWND                               = 0xe
-+	RTAX_LOCK                                   = 0x1
-+	RTAX_MAX                                    = 0x11
-+	RTAX_MTU                                    = 0x2
-+	RTAX_QUICKACK                               = 0xf
-+	RTAX_REORDERING                             = 0x9
-+	RTAX_RTO_MIN                                = 0xd
-+	RTAX_RTT                                    = 0x4
-+	RTAX_RTTVAR                                 = 0x5
-+	RTAX_SSTHRESH                               = 0x6
-+	RTAX_UNSPEC                                 = 0x0
-+	RTAX_WINDOW                                 = 0x3
-+	RTA_ALIGNTO                                 = 0x4
-+	RTA_MAX                                     = 0x1e
-+	RTCF_DIRECTSRC                              = 0x4000000
-+	RTCF_DOREDIRECT                             = 0x1000000
-+	RTCF_LOG                                    = 0x2000000
-+	RTCF_MASQ                                   = 0x400000
-+	RTCF_NAT                                    = 0x800000
-+	RTCF_VALVE                                  = 0x200000
-+	RTC_AF                                      = 0x20
-+	RTC_IRQF                                    = 0x80
-+	RTC_MAX_FREQ                                = 0x2000
-+	RTC_PF                                      = 0x40
-+	RTC_UF                                      = 0x10
-+	RTF_ADDRCLASSMASK                           = 0xf8000000
-+	RTF_ADDRCONF                                = 0x40000
-+	RTF_ALLONLINK                               = 0x20000
-+	RTF_BROADCAST                               = 0x10000000
-+	RTF_CACHE                                   = 0x1000000
-+	RTF_DEFAULT                                 = 0x10000
-+	RTF_DYNAMIC                                 = 0x10
-+	RTF_FLOW                                    = 0x2000000
-+	RTF_GATEWAY                                 = 0x2
-+	RTF_HOST                                    = 0x4
-+	RTF_INTERFACE                               = 0x40000000
-+	RTF_IRTT                                    = 0x100
-+	RTF_LINKRT                                  = 0x100000
-+	RTF_LOCAL                                   = 0x80000000
-+	RTF_MODIFIED                                = 0x20
-+	RTF_MSS                                     = 0x40
-+	RTF_MTU                                     = 0x40
-+	RTF_MULTICAST                               = 0x20000000
-+	RTF_NAT                                     = 0x8000000
-+	RTF_NOFORWARD                               = 0x1000
-+	RTF_NONEXTHOP                               = 0x200000
-+	RTF_NOPMTUDISC                              = 0x4000
-+	RTF_POLICY                                  = 0x4000000
-+	RTF_REINSTATE                               = 0x8
-+	RTF_REJECT                                  = 0x200
-+	RTF_STATIC                                  = 0x400
-+	RTF_THROW                                   = 0x2000
-+	RTF_UP                                      = 0x1
-+	RTF_WINDOW                                  = 0x80
-+	RTF_XRESOLVE                                = 0x800
-+	RTMGRP_DECnet_IFADDR                        = 0x1000
-+	RTMGRP_DECnet_ROUTE                         = 0x4000
-+	RTMGRP_IPV4_IFADDR                          = 0x10
-+	RTMGRP_IPV4_MROUTE                          = 0x20
-+	RTMGRP_IPV4_ROUTE                           = 0x40
-+	RTMGRP_IPV4_RULE                            = 0x80
-+	RTMGRP_IPV6_IFADDR                          = 0x100
-+	RTMGRP_IPV6_IFINFO                          = 0x800
-+	RTMGRP_IPV6_MROUTE                          = 0x200
-+	RTMGRP_IPV6_PREFIX                          = 0x20000
-+	RTMGRP_IPV6_ROUTE                           = 0x400
-+	RTMGRP_LINK                                 = 0x1
-+	RTMGRP_NEIGH                                = 0x4
-+	RTMGRP_NOTIFY                               = 0x2
-+	RTMGRP_TC                                   = 0x8
-+	RTM_BASE                                    = 0x10
-+	RTM_DELACTION                               = 0x31
-+	RTM_DELADDR                                 = 0x15
-+	RTM_DELADDRLABEL                            = 0x49
-+	RTM_DELCHAIN                                = 0x65
-+	RTM_DELLINK                                 = 0x11
-+	RTM_DELLINKPROP                             = 0x6d
-+	RTM_DELMDB                                  = 0x55
-+	RTM_DELNEIGH                                = 0x1d
-+	RTM_DELNETCONF                              = 0x51
-+	RTM_DELNEXTHOP                              = 0x69
-+	RTM_DELNSID                                 = 0x59
-+	RTM_DELQDISC                                = 0x25
-+	RTM_DELROUTE                                = 0x19
-+	RTM_DELRULE                                 = 0x21
-+	RTM_DELTCLASS                               = 0x29
-+	RTM_DELTFILTER                              = 0x2d
-+	RTM_DELVLAN                                 = 0x71
-+	RTM_F_CLONED                                = 0x200
-+	RTM_F_EQUALIZE                              = 0x400
-+	RTM_F_FIB_MATCH                             = 0x2000
-+	RTM_F_LOOKUP_TABLE                          = 0x1000
-+	RTM_F_NOTIFY                                = 0x100
-+	RTM_F_OFFLOAD                               = 0x4000
-+	RTM_F_PREFIX                                = 0x800
-+	RTM_F_TRAP                                  = 0x8000
-+	RTM_GETACTION                               = 0x32
-+	RTM_GETADDR                                 = 0x16
-+	RTM_GETADDRLABEL                            = 0x4a
-+	RTM_GETANYCAST                              = 0x3e
-+	RTM_GETCHAIN                                = 0x66
-+	RTM_GETDCB                                  = 0x4e
-+	RTM_GETLINK                                 = 0x12
-+	RTM_GETLINKPROP                             = 0x6e
-+	RTM_GETMDB                                  = 0x56
-+	RTM_GETMULTICAST                            = 0x3a
-+	RTM_GETNEIGH                                = 0x1e
-+	RTM_GETNEIGHTBL                             = 0x42
-+	RTM_GETNETCONF                              = 0x52
-+	RTM_GETNEXTHOP                              = 0x6a
-+	RTM_GETNSID                                 = 0x5a
-+	RTM_GETQDISC                                = 0x26
-+	RTM_GETROUTE                                = 0x1a
-+	RTM_GETRULE                                 = 0x22
-+	RTM_GETSTATS                                = 0x5e
-+	RTM_GETTCLASS                               = 0x2a
-+	RTM_GETTFILTER                              = 0x2e
-+	RTM_GETVLAN                                 = 0x72
-+	RTM_MAX                                     = 0x73
-+	RTM_NEWACTION                               = 0x30
-+	RTM_NEWADDR                                 = 0x14
-+	RTM_NEWADDRLABEL                            = 0x48
-+	RTM_NEWCACHEREPORT                          = 0x60
-+	RTM_NEWCHAIN                                = 0x64
-+	RTM_NEWLINK                                 = 0x10
-+	RTM_NEWLINKPROP                             = 0x6c
-+	RTM_NEWMDB                                  = 0x54
-+	RTM_NEWNDUSEROPT                            = 0x44
-+	RTM_NEWNEIGH                                = 0x1c
-+	RTM_NEWNEIGHTBL                             = 0x40
-+	RTM_NEWNETCONF                              = 0x50
-+	RTM_NEWNEXTHOP                              = 0x68
-+	RTM_NEWNSID                                 = 0x58
-+	RTM_NEWNVLAN                                = 0x70
-+	RTM_NEWPREFIX                               = 0x34
-+	RTM_NEWQDISC                                = 0x24
-+	RTM_NEWROUTE                                = 0x18
-+	RTM_NEWRULE                                 = 0x20
-+	RTM_NEWSTATS                                = 0x5c
-+	RTM_NEWTCLASS                               = 0x28
-+	RTM_NEWTFILTER                              = 0x2c
-+	RTM_NR_FAMILIES                             = 0x19
-+	RTM_NR_MSGTYPES                             = 0x64
-+	RTM_SETDCB                                  = 0x4f
-+	RTM_SETLINK                                 = 0x13
-+	RTM_SETNEIGHTBL                             = 0x43
-+	RTNH_ALIGNTO                                = 0x4
-+	RTNH_COMPARE_MASK                           = 0x19
-+	RTNH_F_DEAD                                 = 0x1
-+	RTNH_F_LINKDOWN                             = 0x10
-+	RTNH_F_OFFLOAD                              = 0x8
-+	RTNH_F_ONLINK                               = 0x4
-+	RTNH_F_PERVASIVE                            = 0x2
-+	RTNH_F_UNRESOLVED                           = 0x20
-+	RTN_MAX                                     = 0xb
-+	RTPROT_BABEL                                = 0x2a
-+	RTPROT_BGP                                  = 0xba
-+	RTPROT_BIRD                                 = 0xc
-+	RTPROT_BOOT                                 = 0x3
-+	RTPROT_DHCP                                 = 0x10
-+	RTPROT_DNROUTED                             = 0xd
-+	RTPROT_EIGRP                                = 0xc0
-+	RTPROT_GATED                                = 0x8
-+	RTPROT_ISIS                                 = 0xbb
-+	RTPROT_KERNEL                               = 0x2
-+	RTPROT_MROUTED                              = 0x11
-+	RTPROT_MRT                                  = 0xa
-+	RTPROT_NTK                                  = 0xf
-+	RTPROT_OSPF                                 = 0xbc
-+	RTPROT_RA                                   = 0x9
-+	RTPROT_REDIRECT                             = 0x1
-+	RTPROT_RIP                                  = 0xbd
-+	RTPROT_STATIC                               = 0x4
-+	RTPROT_UNSPEC                               = 0x0
-+	RTPROT_XORP                                 = 0xe
-+	RTPROT_ZEBRA                                = 0xb
-+	RT_CLASS_DEFAULT                            = 0xfd
-+	RT_CLASS_LOCAL                              = 0xff
-+	RT_CLASS_MAIN                               = 0xfe
-+	RT_CLASS_MAX                                = 0xff
-+	RT_CLASS_UNSPEC                             = 0x0
-+	RUSAGE_CHILDREN                             = -0x1
-+	RUSAGE_SELF                                 = 0x0
-+	RUSAGE_THREAD                               = 0x1
-+	RWF_APPEND                                  = 0x10
-+	RWF_DSYNC                                   = 0x2
-+	RWF_HIPRI                                   = 0x1
-+	RWF_NOWAIT                                  = 0x8
-+	RWF_SUPPORTED                               = 0x1f
-+	RWF_SYNC                                    = 0x4
-+	RWF_WRITE_LIFE_NOT_SET                      = 0x0
-+	SCM_CREDENTIALS                             = 0x2
-+	SCM_RIGHTS                                  = 0x1
-+	SCM_TIMESTAMP                               = 0x1d
-+	SC_LOG_FLUSH                                = 0x100000
-+	SECCOMP_MODE_DISABLED                       = 0x0
-+	SECCOMP_MODE_FILTER                         = 0x2
-+	SECCOMP_MODE_STRICT                         = 0x1
-+	SECURITYFS_MAGIC                            = 0x73636673
-+	SELINUX_MAGIC                               = 0xf97cff8c
-+	SHUT_RD                                     = 0x0
-+	SHUT_RDWR                                   = 0x2
-+	SHUT_WR                                     = 0x1
-+	SIOCADDDLCI                                 = 0x8980
-+	SIOCADDMULTI                                = 0x8931
-+	SIOCADDRT                                   = 0x890b
-+	SIOCBONDCHANGEACTIVE                        = 0x8995
-+	SIOCBONDENSLAVE                             = 0x8990
-+	SIOCBONDINFOQUERY                           = 0x8994
-+	SIOCBONDRELEASE                             = 0x8991
-+	SIOCBONDSETHWADDR                           = 0x8992
-+	SIOCBONDSLAVEINFOQUERY                      = 0x8993
-+	SIOCBRADDBR                                 = 0x89a0
-+	SIOCBRADDIF                                 = 0x89a2
-+	SIOCBRDELBR                                 = 0x89a1
-+	SIOCBRDELIF                                 = 0x89a3
-+	SIOCDARP                                    = 0x8953
-+	SIOCDELDLCI                                 = 0x8981
-+	SIOCDELMULTI                                = 0x8932
-+	SIOCDELRT                                   = 0x890c
-+	SIOCDEVPRIVATE                              = 0x89f0
-+	SIOCDIFADDR                                 = 0x8936
-+	SIOCDRARP                                   = 0x8960
-+	SIOCETHTOOL                                 = 0x8946
-+	SIOCGARP                                    = 0x8954
-+	SIOCGETLINKNAME                             = 0x89e0
-+	SIOCGETNODEID                               = 0x89e1
-+	SIOCGHWTSTAMP                               = 0x89b1
-+	SIOCGIFADDR                                 = 0x8915
-+	SIOCGIFBR                                   = 0x8940
-+	SIOCGIFBRDADDR                              = 0x8919
-+	SIOCGIFCONF                                 = 0x8912
-+	SIOCGIFCOUNT                                = 0x8938
-+	SIOCGIFDSTADDR                              = 0x8917
-+	SIOCGIFENCAP                                = 0x8925
-+	SIOCGIFFLAGS                                = 0x8913
-+	SIOCGIFHWADDR                               = 0x8927
-+	SIOCGIFINDEX                                = 0x8933
-+	SIOCGIFMAP                                  = 0x8970
-+	SIOCGIFMEM                                  = 0x891f
-+	SIOCGIFMETRIC                               = 0x891d
-+	SIOCGIFMTU                                  = 0x8921
-+	SIOCGIFNAME                                 = 0x8910
-+	SIOCGIFNETMASK                              = 0x891b
-+	SIOCGIFPFLAGS                               = 0x8935
-+	SIOCGIFSLAVE                                = 0x8929
-+	SIOCGIFTXQLEN                               = 0x8942
-+	SIOCGIFVLAN                                 = 0x8982
-+	SIOCGMIIPHY                                 = 0x8947
-+	SIOCGMIIREG                                 = 0x8948
-+	SIOCGPPPCSTATS                              = 0x89f2
-+	SIOCGPPPSTATS                               = 0x89f0
-+	SIOCGPPPVER                                 = 0x89f1
-+	SIOCGRARP                                   = 0x8961
-+	SIOCGSKNS                                   = 0x894c
-+	SIOCGSTAMP                                  = 0x8906
-+	SIOCGSTAMPNS                                = 0x8907
-+	SIOCGSTAMPNS_OLD                            = 0x8907
-+	SIOCGSTAMP_OLD                              = 0x8906
-+	SIOCOUTQNSD                                 = 0x894b
-+	SIOCPROTOPRIVATE                            = 0x89e0
-+	SIOCRTMSG                                   = 0x890d
-+	SIOCSARP                                    = 0x8955
-+	SIOCSHWTSTAMP                               = 0x89b0
-+	SIOCSIFADDR                                 = 0x8916
-+	SIOCSIFBR                                   = 0x8941
-+	SIOCSIFBRDADDR                              = 0x891a
-+	SIOCSIFDSTADDR                              = 0x8918
-+	SIOCSIFENCAP                                = 0x8926
-+	SIOCSIFFLAGS                                = 0x8914
-+	SIOCSIFHWADDR                               = 0x8924
-+	SIOCSIFHWBROADCAST                          = 0x8937
-+	SIOCSIFLINK                                 = 0x8911
-+	SIOCSIFMAP                                  = 0x8971
-+	SIOCSIFMEM                                  = 0x8920
-+	SIOCSIFMETRIC                               = 0x891e
-+	SIOCSIFMTU                                  = 0x8922
-+	SIOCSIFNAME                                 = 0x8923
-+	SIOCSIFNETMASK                              = 0x891c
-+	SIOCSIFPFLAGS                               = 0x8934
-+	SIOCSIFSLAVE                                = 0x8930
-+	SIOCSIFTXQLEN                               = 0x8943
-+	SIOCSIFVLAN                                 = 0x8983
-+	SIOCSMIIREG                                 = 0x8949
-+	SIOCSRARP                                   = 0x8962
-+	SIOCWANDEV                                  = 0x894a
-+	SMACK_MAGIC                                 = 0x43415d53
-+	SMART_AUTOSAVE                              = 0xd2
-+	SMART_AUTO_OFFLINE                          = 0xdb
-+	SMART_DISABLE                               = 0xd9
-+	SMART_ENABLE                                = 0xd8
-+	SMART_HCYL_PASS                             = 0xc2
-+	SMART_IMMEDIATE_OFFLINE                     = 0xd4
-+	SMART_LCYL_PASS                             = 0x4f
-+	SMART_READ_LOG_SECTOR                       = 0xd5
-+	SMART_READ_THRESHOLDS                       = 0xd1
-+	SMART_READ_VALUES                           = 0xd0
-+	SMART_SAVE                                  = 0xd3
-+	SMART_STATUS                                = 0xda
-+	SMART_WRITE_LOG_SECTOR                      = 0xd6
-+	SMART_WRITE_THRESHOLDS                      = 0xd7
-+	SMB_SUPER_MAGIC                             = 0x517b
-+	SOCKFS_MAGIC                                = 0x534f434b
-+	SOCK_DCCP                                   = 0x6
-+	SOCK_IOC_TYPE                               = 0x89
-+	SOCK_PACKET                                 = 0xa
-+	SOCK_RAW                                    = 0x3
-+	SOCK_RDM                                    = 0x4
-+	SOCK_SEQPACKET                              = 0x5
-+	SOL_AAL                                     = 0x109
-+	SOL_ALG                                     = 0x117
-+	SOL_ATM                                     = 0x108
-+	SOL_CAIF                                    = 0x116
-+	SOL_CAN_BASE                                = 0x64
-+	SOL_DCCP                                    = 0x10d
-+	SOL_DECNET                                  = 0x105
-+	SOL_ICMPV6                                  = 0x3a
-+	SOL_IP                                      = 0x0
-+	SOL_IPV6                                    = 0x29
-+	SOL_IRDA                                    = 0x10a
-+	SOL_IUCV                                    = 0x115
-+	SOL_KCM                                     = 0x119
-+	SOL_LLC                                     = 0x10c
-+	SOL_NETBEUI                                 = 0x10b
-+	SOL_NETLINK                                 = 0x10e
-+	SOL_NFC                                     = 0x118
-+	SOL_PACKET                                  = 0x107
-+	SOL_PNPIPE                                  = 0x113
-+	SOL_PPPOL2TP                                = 0x111
-+	SOL_RAW                                     = 0xff
-+	SOL_RDS                                     = 0x114
-+	SOL_RXRPC                                   = 0x110
-+	SOL_TCP                                     = 0x6
-+	SOL_TIPC                                    = 0x10f
-+	SOL_TLS                                     = 0x11a
-+	SOL_X25                                     = 0x106
-+	SOL_XDP                                     = 0x11b
-+	SOMAXCONN                                   = 0x1000
-+	SO_ATTACH_FILTER                            = 0x1a
-+	SO_DEBUG                                    = 0x1
-+	SO_DETACH_BPF                               = 0x1b
-+	SO_DETACH_FILTER                            = 0x1b
-+	SO_EE_CODE_TXTIME_INVALID_PARAM             = 0x1
-+	SO_EE_CODE_TXTIME_MISSED                    = 0x2
-+	SO_EE_CODE_ZEROCOPY_COPIED                  = 0x1
-+	SO_EE_ORIGIN_ICMP                           = 0x2
-+	SO_EE_ORIGIN_ICMP6                          = 0x3
-+	SO_EE_ORIGIN_LOCAL                          = 0x1
-+	SO_EE_ORIGIN_NONE                           = 0x0
-+	SO_EE_ORIGIN_TIMESTAMPING                   = 0x4
-+	SO_EE_ORIGIN_TXSTATUS                       = 0x4
-+	SO_EE_ORIGIN_TXTIME                         = 0x6
-+	SO_EE_ORIGIN_ZEROCOPY                       = 0x5
-+	SO_GET_FILTER                               = 0x1a
-+	SO_NO_CHECK                                 = 0xb
-+	SO_PEERNAME                                 = 0x1c
-+	SO_PRIORITY                                 = 0xc
-+	SO_TIMESTAMP                                = 0x1d
-+	SO_TIMESTAMP_OLD                            = 0x1d
-+	SO_VM_SOCKETS_BUFFER_MAX_SIZE               = 0x2
-+	SO_VM_SOCKETS_BUFFER_MIN_SIZE               = 0x1
-+	SO_VM_SOCKETS_BUFFER_SIZE                   = 0x0
-+	SO_VM_SOCKETS_CONNECT_TIMEOUT               = 0x6
-+	SO_VM_SOCKETS_NONBLOCK_TXRX                 = 0x7
-+	SO_VM_SOCKETS_PEER_HOST_VM_ID               = 0x3
-+	SO_VM_SOCKETS_TRUSTED                       = 0x5
-+	SPLICE_F_GIFT                               = 0x8
-+	SPLICE_F_MORE                               = 0x4
-+	SPLICE_F_MOVE                               = 0x1
-+	SPLICE_F_NONBLOCK                           = 0x2
-+	SQUASHFS_MAGIC                              = 0x73717368
-+	STACK_END_MAGIC                             = 0x57ac6e9d
-+	STATX_ALL                                   = 0xfff
-+	STATX_ATIME                                 = 0x20
-+	STATX_ATTR_APPEND                           = 0x20
-+	STATX_ATTR_AUTOMOUNT                        = 0x1000
-+	STATX_ATTR_COMPRESSED                       = 0x4
-+	STATX_ATTR_ENCRYPTED                        = 0x800
-+	STATX_ATTR_IMMUTABLE                        = 0x10
-+	STATX_ATTR_NODUMP                           = 0x40
-+	STATX_ATTR_VERITY                           = 0x100000
-+	STATX_BASIC_STATS                           = 0x7ff
-+	STATX_BLOCKS                                = 0x400
-+	STATX_BTIME                                 = 0x800
-+	STATX_CTIME                                 = 0x80
-+	STATX_GID                                   = 0x10
-+	STATX_INO                                   = 0x100
-+	STATX_MODE                                  = 0x2
-+	STATX_MTIME                                 = 0x40
-+	STATX_NLINK                                 = 0x4
-+	STATX_SIZE                                  = 0x200
-+	STATX_TYPE                                  = 0x1
-+	STATX_UID                                   = 0x8
-+	STATX__RESERVED                             = 0x80000000
-+	SYNC_FILE_RANGE_WAIT_AFTER                  = 0x4
-+	SYNC_FILE_RANGE_WAIT_BEFORE                 = 0x1
-+	SYNC_FILE_RANGE_WRITE                       = 0x2
-+	SYNC_FILE_RANGE_WRITE_AND_WAIT              = 0x7
-+	SYSFS_MAGIC                                 = 0x62656572
-+	S_BLKSIZE                                   = 0x200
-+	S_IEXEC                                     = 0x40
-+	S_IFBLK                                     = 0x6000
-+	S_IFCHR                                     = 0x2000
-+	S_IFDIR                                     = 0x4000
-+	S_IFIFO                                     = 0x1000
-+	S_IFLNK                                     = 0xa000
-+	S_IFMT                                      = 0xf000
-+	S_IFREG                                     = 0x8000
-+	S_IFSOCK                                    = 0xc000
-+	S_IREAD                                     = 0x100
-+	S_IRGRP                                     = 0x20
-+	S_IROTH                                     = 0x4
-+	S_IRUSR                                     = 0x100
-+	S_IRWXG                                     = 0x38
-+	S_IRWXO                                     = 0x7
-+	S_IRWXU                                     = 0x1c0
-+	S_ISGID                                     = 0x400
-+	S_ISUID                                     = 0x800
-+	S_ISVTX                                     = 0x200
-+	S_IWGRP                                     = 0x10
-+	S_IWOTH                                     = 0x2
-+	S_IWRITE                                    = 0x80
-+	S_IWUSR                                     = 0x80
-+	S_IXGRP                                     = 0x8
-+	S_IXOTH                                     = 0x1
-+	S_IXUSR                                     = 0x40
-+	TAB0                                        = 0x0
-+	TASKSTATS_CMD_ATTR_MAX                      = 0x4
-+	TASKSTATS_CMD_MAX                           = 0x2
-+	TASKSTATS_GENL_NAME                         = "TASKSTATS"
-+	TASKSTATS_GENL_VERSION                      = 0x1
-+	TASKSTATS_TYPE_MAX                          = 0x6
-+	TASKSTATS_VERSION                           = 0xa
-+	TCIFLUSH                                    = 0x0
-+	TCIOFF                                      = 0x2
-+	TCIOFLUSH                                   = 0x2
-+	TCION                                       = 0x3
-+	TCOFLUSH                                    = 0x1
-+	TCOOFF                                      = 0x0
-+	TCOON                                       = 0x1
-+	TCP_BPF_IW                                  = 0x3e9
-+	TCP_BPF_SNDCWND_CLAMP                       = 0x3ea
-+	TCP_CC_INFO                                 = 0x1a
-+	TCP_CM_INQ                                  = 0x24
-+	TCP_CONGESTION                              = 0xd
-+	TCP_COOKIE_IN_ALWAYS                        = 0x1
-+	TCP_COOKIE_MAX                              = 0x10
-+	TCP_COOKIE_MIN                              = 0x8
-+	TCP_COOKIE_OUT_NEVER                        = 0x2
-+	TCP_COOKIE_PAIR_SIZE                        = 0x20
-+	TCP_COOKIE_TRANSACTIONS                     = 0xf
-+	TCP_CORK                                    = 0x3
-+	TCP_DEFER_ACCEPT                            = 0x9
-+	TCP_FASTOPEN                                = 0x17
-+	TCP_FASTOPEN_CONNECT                        = 0x1e
-+	TCP_FASTOPEN_KEY                            = 0x21
-+	TCP_FASTOPEN_NO_COOKIE                      = 0x22
-+	TCP_INFO                                    = 0xb
-+	TCP_INQ                                     = 0x24
-+	TCP_KEEPCNT                                 = 0x6
-+	TCP_KEEPIDLE                                = 0x4
-+	TCP_KEEPINTVL                               = 0x5
-+	TCP_LINGER2                                 = 0x8
-+	TCP_MAXSEG                                  = 0x2
-+	TCP_MAXWIN                                  = 0xffff
-+	TCP_MAX_WINSHIFT                            = 0xe
-+	TCP_MD5SIG                                  = 0xe
-+	TCP_MD5SIG_EXT                              = 0x20
-+	TCP_MD5SIG_FLAG_PREFIX                      = 0x1
-+	TCP_MD5SIG_MAXKEYLEN                        = 0x50
-+	TCP_MSS                                     = 0x200
-+	TCP_MSS_DEFAULT                             = 0x218
-+	TCP_MSS_DESIRED                             = 0x4c4
-+	TCP_NODELAY                                 = 0x1
-+	TCP_NOTSENT_LOWAT                           = 0x19
-+	TCP_QUEUE_SEQ                               = 0x15
-+	TCP_QUICKACK                                = 0xc
-+	TCP_REPAIR                                  = 0x13
-+	TCP_REPAIR_OFF                              = 0x0
-+	TCP_REPAIR_OFF_NO_WP                        = -0x1
-+	TCP_REPAIR_ON                               = 0x1
-+	TCP_REPAIR_OPTIONS                          = 0x16
-+	TCP_REPAIR_QUEUE                            = 0x14
-+	TCP_REPAIR_WINDOW                           = 0x1d
-+	TCP_SAVED_SYN                               = 0x1c
-+	TCP_SAVE_SYN                                = 0x1b
-+	TCP_SYNCNT                                  = 0x7
-+	TCP_S_DATA_IN                               = 0x4
-+	TCP_S_DATA_OUT                              = 0x8
-+	TCP_THIN_DUPACK                             = 0x11
-+	TCP_THIN_LINEAR_TIMEOUTS                    = 0x10
-+	TCP_TIMESTAMP                               = 0x18
-+	TCP_TX_DELAY                                = 0x25
-+	TCP_ULP                                     = 0x1f
-+	TCP_USER_TIMEOUT                            = 0x12
-+	TCP_WINDOW_CLAMP                            = 0xa
-+	TCP_ZEROCOPY_RECEIVE                        = 0x23
-+	TIMER_ABSTIME                               = 0x1
-+	TIOCM_DTR                                   = 0x2
-+	TIOCM_LE                                    = 0x1
-+	TIOCM_RTS                                   = 0x4
-+	TIOCPKT_DATA                                = 0x0
-+	TIOCPKT_DOSTOP                              = 0x20
-+	TIOCPKT_FLUSHREAD                           = 0x1
-+	TIOCPKT_FLUSHWRITE                          = 0x2
-+	TIOCPKT_IOCTL                               = 0x40
-+	TIOCPKT_NOSTOP                              = 0x10
-+	TIOCPKT_START                               = 0x8
-+	TIOCPKT_STOP                                = 0x4
-+	TIPC_ADDR_ID                                = 0x3
-+	TIPC_ADDR_MCAST                             = 0x1
-+	TIPC_ADDR_NAME                              = 0x2
-+	TIPC_ADDR_NAMESEQ                           = 0x1
-+	TIPC_AEAD_ALG_NAME                          = 0x20
-+	TIPC_AEAD_KEYLEN_MAX                        = 0x24
-+	TIPC_AEAD_KEYLEN_MIN                        = 0x14
-+	TIPC_AEAD_KEY_SIZE_MAX                      = 0x48
-+	TIPC_CFG_SRV                                = 0x0
-+	TIPC_CLUSTER_BITS                           = 0xc
-+	TIPC_CLUSTER_MASK                           = 0xfff000
-+	TIPC_CLUSTER_OFFSET                         = 0xc
-+	TIPC_CLUSTER_SIZE                           = 0xfff
-+	TIPC_CONN_SHUTDOWN                          = 0x5
-+	TIPC_CONN_TIMEOUT                           = 0x82
-+	TIPC_CRITICAL_IMPORTANCE                    = 0x3
-+	TIPC_DESTNAME                               = 0x3
-+	TIPC_DEST_DROPPABLE                         = 0x81
-+	TIPC_ERRINFO                                = 0x1
-+	TIPC_ERR_NO_NAME                            = 0x1
-+	TIPC_ERR_NO_NODE                            = 0x3
-+	TIPC_ERR_NO_PORT                            = 0x2
-+	TIPC_ERR_OVERLOAD                           = 0x4
-+	TIPC_GROUP_JOIN                             = 0x87
-+	TIPC_GROUP_LEAVE                            = 0x88
-+	TIPC_GROUP_LOOPBACK                         = 0x1
-+	TIPC_GROUP_MEMBER_EVTS                      = 0x2
-+	TIPC_HIGH_IMPORTANCE                        = 0x2
-+	TIPC_IMPORTANCE                             = 0x7f
-+	TIPC_LINK_STATE                             = 0x2
-+	TIPC_LOW_IMPORTANCE                         = 0x0
-+	TIPC_MAX_BEARER_NAME                        = 0x20
-+	TIPC_MAX_IF_NAME                            = 0x10
-+	TIPC_MAX_LINK_NAME                          = 0x44
-+	TIPC_MAX_MEDIA_NAME                         = 0x10
-+	TIPC_MAX_USER_MSG_SIZE                      = 0x101d0
-+	TIPC_MCAST_BROADCAST                        = 0x85
-+	TIPC_MCAST_REPLICAST                        = 0x86
-+	TIPC_MEDIUM_IMPORTANCE                      = 0x1
-+	TIPC_NODEID_LEN                             = 0x10
-+	TIPC_NODELAY                                = 0x8a
-+	TIPC_NODE_BITS                              = 0xc
-+	TIPC_NODE_MASK                              = 0xfff
-+	TIPC_NODE_OFFSET                            = 0x0
-+	TIPC_NODE_RECVQ_DEPTH                       = 0x83
-+	TIPC_NODE_SIZE                              = 0xfff
-+	TIPC_NODE_STATE                             = 0x0
-+	TIPC_OK                                     = 0x0
-+	TIPC_PUBLISHED                              = 0x1
-+	TIPC_RESERVED_TYPES                         = 0x40
-+	TIPC_RETDATA                                = 0x2
-+	TIPC_SERVICE_ADDR                           = 0x2
-+	TIPC_SERVICE_RANGE                          = 0x1
-+	TIPC_SOCKET_ADDR                            = 0x3
-+	TIPC_SOCK_RECVQ_DEPTH                       = 0x84
-+	TIPC_SOCK_RECVQ_USED                        = 0x89
-+	TIPC_SRC_DROPPABLE                          = 0x80
-+	TIPC_SUBSCR_TIMEOUT                         = 0x3
-+	TIPC_SUB_CANCEL                             = 0x4
-+	TIPC_SUB_PORTS                              = 0x1
-+	TIPC_SUB_SERVICE                            = 0x2
-+	TIPC_TOP_SRV                                = 0x1
-+	TIPC_WAIT_FOREVER                           = 0xffffffff
-+	TIPC_WITHDRAWN                              = 0x2
-+	TIPC_ZONE_BITS                              = 0x8
-+	TIPC_ZONE_CLUSTER_MASK                      = 0xfffff000
-+	TIPC_ZONE_MASK                              = 0xff000000
-+	TIPC_ZONE_OFFSET                            = 0x18
-+	TIPC_ZONE_SCOPE                             = 0x1
-+	TIPC_ZONE_SIZE                              = 0xff
-+	TMPFS_MAGIC                                 = 0x1021994
-+	TPACKET_ALIGNMENT                           = 0x10
-+	TPACKET_HDRLEN                              = 0x34
-+	TP_STATUS_AVAILABLE                         = 0x0
-+	TP_STATUS_BLK_TMO                           = 0x20
-+	TP_STATUS_COPY                              = 0x2
-+	TP_STATUS_CSUMNOTREADY                      = 0x8
-+	TP_STATUS_CSUM_VALID                        = 0x80
-+	TP_STATUS_KERNEL                            = 0x0
-+	TP_STATUS_LOSING                            = 0x4
-+	TP_STATUS_SENDING                           = 0x2
-+	TP_STATUS_SEND_REQUEST                      = 0x1
-+	TP_STATUS_TS_RAW_HARDWARE                   = 0x80000000
-+	TP_STATUS_TS_SOFTWARE                       = 0x20000000
-+	TP_STATUS_TS_SYS_HARDWARE                   = 0x40000000
-+	TP_STATUS_USER                              = 0x1
-+	TP_STATUS_VLAN_TPID_VALID                   = 0x40
-+	TP_STATUS_VLAN_VALID                        = 0x10
-+	TP_STATUS_WRONG_FORMAT                      = 0x4
-+	TRACEFS_MAGIC                               = 0x74726163
-+	TS_COMM_LEN                                 = 0x20
-+	UDF_SUPER_MAGIC                             = 0x15013346
-+	UMOUNT_NOFOLLOW                             = 0x8
-+	USBDEVICE_SUPER_MAGIC                       = 0x9fa2
-+	UTIME_NOW                                   = 0x3fffffff
-+	UTIME_OMIT                                  = 0x3ffffffe
-+	V9FS_MAGIC                                  = 0x1021997
-+	VERASE                                      = 0x2
-+	VINTR                                       = 0x0
-+	VKILL                                       = 0x3
-+	VLNEXT                                      = 0xf
-+	VMADDR_CID_ANY                              = 0xffffffff
-+	VMADDR_CID_HOST                             = 0x2
-+	VMADDR_CID_HYPERVISOR                       = 0x0
-+	VMADDR_CID_LOCAL                            = 0x1
-+	VMADDR_PORT_ANY                             = 0xffffffff
-+	VM_SOCKETS_INVALID_VERSION                  = 0xffffffff
-+	VQUIT                                       = 0x1
-+	VT0                                         = 0x0
-+	WALL                                        = 0x40000000
-+	WCLONE                                      = 0x80000000
-+	WCONTINUED                                  = 0x8
-+	WDIOC_SETPRETIMEOUT                         = 0xc0045708
-+	WDIOC_SETTIMEOUT                            = 0xc0045706
-+	WEXITED                                     = 0x4
-+	WIN_ACKMEDIACHANGE                          = 0xdb
-+	WIN_CHECKPOWERMODE1                         = 0xe5
-+	WIN_CHECKPOWERMODE2                         = 0x98
-+	WIN_DEVICE_RESET                            = 0x8
-+	WIN_DIAGNOSE                                = 0x90
-+	WIN_DOORLOCK                                = 0xde
-+	WIN_DOORUNLOCK                              = 0xdf
-+	WIN_DOWNLOAD_MICROCODE                      = 0x92
-+	WIN_FLUSH_CACHE                             = 0xe7
-+	WIN_FLUSH_CACHE_EXT                         = 0xea
-+	WIN_FORMAT                                  = 0x50
-+	WIN_GETMEDIASTATUS                          = 0xda
-+	WIN_IDENTIFY                                = 0xec
-+	WIN_IDENTIFY_DMA                            = 0xee
-+	WIN_IDLEIMMEDIATE                           = 0xe1
-+	WIN_INIT                                    = 0x60
-+	WIN_MEDIAEJECT                              = 0xed
-+	WIN_MULTREAD                                = 0xc4
-+	WIN_MULTREAD_EXT                            = 0x29
-+	WIN_MULTWRITE                               = 0xc5
-+	WIN_MULTWRITE_EXT                           = 0x39
-+	WIN_NOP                                     = 0x0
-+	WIN_PACKETCMD                               = 0xa0
-+	WIN_PIDENTIFY                               = 0xa1
-+	WIN_POSTBOOT                                = 0xdc
-+	WIN_PREBOOT                                 = 0xdd
-+	WIN_QUEUED_SERVICE                          = 0xa2
-+	WIN_READ                                    = 0x20
-+	WIN_READDMA                                 = 0xc8
-+	WIN_READDMA_EXT                             = 0x25
-+	WIN_READDMA_ONCE                            = 0xc9
-+	WIN_READDMA_QUEUED                          = 0xc7
-+	WIN_READDMA_QUEUED_EXT                      = 0x26
-+	WIN_READ_BUFFER                             = 0xe4
-+	WIN_READ_EXT                                = 0x24
-+	WIN_READ_LONG                               = 0x22
-+	WIN_READ_LONG_ONCE                          = 0x23
-+	WIN_READ_NATIVE_MAX                         = 0xf8
-+	WIN_READ_NATIVE_MAX_EXT                     = 0x27
-+	WIN_READ_ONCE                               = 0x21
-+	WIN_RECAL                                   = 0x10
-+	WIN_RESTORE                                 = 0x10
-+	WIN_SECURITY_DISABLE                        = 0xf6
-+	WIN_SECURITY_ERASE_PREPARE                  = 0xf3
-+	WIN_SECURITY_ERASE_UNIT                     = 0xf4
-+	WIN_SECURITY_FREEZE_LOCK                    = 0xf5
-+	WIN_SECURITY_SET_PASS                       = 0xf1
-+	WIN_SECURITY_UNLOCK                         = 0xf2
-+	WIN_SEEK                                    = 0x70
-+	WIN_SETFEATURES                             = 0xef
-+	WIN_SETIDLE1                                = 0xe3
-+	WIN_SETIDLE2                                = 0x97
-+	WIN_SETMULT                                 = 0xc6
-+	WIN_SET_MAX                                 = 0xf9
-+	WIN_SET_MAX_EXT                             = 0x37
-+	WIN_SLEEPNOW1                               = 0xe6
-+	WIN_SLEEPNOW2                               = 0x99
-+	WIN_SMART                                   = 0xb0
-+	WIN_SPECIFY                                 = 0x91
-+	WIN_SRST                                    = 0x8
-+	WIN_STANDBY                                 = 0xe2
-+	WIN_STANDBY2                                = 0x96
-+	WIN_STANDBYNOW1                             = 0xe0
-+	WIN_STANDBYNOW2                             = 0x94
-+	WIN_VERIFY                                  = 0x40
-+	WIN_VERIFY_EXT                              = 0x42
-+	WIN_VERIFY_ONCE                             = 0x41
-+	WIN_WRITE                                   = 0x30
-+	WIN_WRITEDMA                                = 0xca
-+	WIN_WRITEDMA_EXT                            = 0x35
-+	WIN_WRITEDMA_ONCE                           = 0xcb
-+	WIN_WRITEDMA_QUEUED                         = 0xcc
-+	WIN_WRITEDMA_QUEUED_EXT                     = 0x36
-+	WIN_WRITE_BUFFER                            = 0xe8
-+	WIN_WRITE_EXT                               = 0x34
-+	WIN_WRITE_LONG                              = 0x32
-+	WIN_WRITE_LONG_ONCE                         = 0x33
-+	WIN_WRITE_ONCE                              = 0x31
-+	WIN_WRITE_SAME                              = 0xe9
-+	WIN_WRITE_VERIFY                            = 0x3c
-+	WNOHANG                                     = 0x1
-+	WNOTHREAD                                   = 0x20000000
-+	WNOWAIT                                     = 0x1000000
-+	WSTOPPED                                    = 0x2
-+	WUNTRACED                                   = 0x2
-+	XATTR_CREATE                                = 0x1
-+	XATTR_REPLACE                               = 0x2
-+	XDP_COPY                                    = 0x2
-+	XDP_FLAGS_DRV_MODE                          = 0x4
-+	XDP_FLAGS_HW_MODE                           = 0x8
-+	XDP_FLAGS_MASK                              = 0xf
-+	XDP_FLAGS_MODES                             = 0xe
-+	XDP_FLAGS_SKB_MODE                          = 0x2
-+	XDP_FLAGS_UPDATE_IF_NOEXIST                 = 0x1
-+	XDP_MMAP_OFFSETS                            = 0x1
-+	XDP_OPTIONS                                 = 0x8
-+	XDP_OPTIONS_ZEROCOPY                        = 0x1
-+	XDP_PACKET_HEADROOM                         = 0x100
-+	XDP_PGOFF_RX_RING                           = 0x0
-+	XDP_PGOFF_TX_RING                           = 0x80000000
-+	XDP_RING_NEED_WAKEUP                        = 0x1
-+	XDP_RX_RING                                 = 0x2
-+	XDP_SHARED_UMEM                             = 0x1
-+	XDP_STATISTICS                              = 0x7
-+	XDP_TX_RING                                 = 0x3
-+	XDP_UMEM_COMPLETION_RING                    = 0x6
-+	XDP_UMEM_FILL_RING                          = 0x5
-+	XDP_UMEM_PGOFF_COMPLETION_RING              = 0x180000000
-+	XDP_UMEM_PGOFF_FILL_RING                    = 0x100000000
-+	XDP_UMEM_REG                                = 0x4
-+	XDP_UMEM_UNALIGNED_CHUNK_FLAG               = 0x1
-+	XDP_USE_NEED_WAKEUP                         = 0x8
-+	XDP_ZEROCOPY                                = 0x4
-+	XENFS_SUPER_MAGIC                           = 0xabba1974
-+	XFS_SUPER_MAGIC                             = 0x58465342
-+	Z3FOLD_MAGIC                                = 0x33
-+	ZONEFS_MAGIC                                = 0x5a4f4653
-+	ZSMALLOC_MAGIC                              = 0x58295829
-+)
-+
-+// Errors
-+const (
-+	E2BIG       = syscall.Errno(0x7)
-+	EACCES      = syscall.Errno(0xd)
-+	EAGAIN      = syscall.Errno(0xb)
-+	EBADF       = syscall.Errno(0x9)
-+	EBUSY       = syscall.Errno(0x10)
-+	ECHILD      = syscall.Errno(0xa)
-+	EDOM        = syscall.Errno(0x21)
-+	EEXIST      = syscall.Errno(0x11)
-+	EFAULT      = syscall.Errno(0xe)
-+	EFBIG       = syscall.Errno(0x1b)
-+	EINTR       = syscall.Errno(0x4)
-+	EINVAL      = syscall.Errno(0x16)
-+	EIO         = syscall.Errno(0x5)
-+	EISDIR      = syscall.Errno(0x15)
-+	EMFILE      = syscall.Errno(0x18)
-+	EMLINK      = syscall.Errno(0x1f)
-+	ENFILE      = syscall.Errno(0x17)
-+	ENODEV      = syscall.Errno(0x13)
-+	ENOENT      = syscall.Errno(0x2)
-+	ENOEXEC     = syscall.Errno(0x8)
-+	ENOMEM      = syscall.Errno(0xc)
-+	ENOSPC      = syscall.Errno(0x1c)
-+	ENOTBLK     = syscall.Errno(0xf)
-+	ENOTDIR     = syscall.Errno(0x14)
-+	ENOTTY      = syscall.Errno(0x19)
-+	ENXIO       = syscall.Errno(0x6)
-+	EPERM       = syscall.Errno(0x1)
-+	EPIPE       = syscall.Errno(0x20)
-+	ERANGE      = syscall.Errno(0x22)
-+	EROFS       = syscall.Errno(0x1e)
-+	ESPIPE      = syscall.Errno(0x1d)
-+	ESRCH       = syscall.Errno(0x3)
-+	ETXTBSY     = syscall.Errno(0x1a)
-+	EWOULDBLOCK = syscall.Errno(0xb)
-+	EXDEV       = syscall.Errno(0x12)
-+)
-+
-+// Signals
-+const (
-+	SIGABRT = syscall.Signal(0x6)
-+	SIGALRM = syscall.Signal(0xe)
-+	SIGFPE  = syscall.Signal(0x8)
-+	SIGHUP  = syscall.Signal(0x1)
-+	SIGILL  = syscall.Signal(0x4)
-+	SIGINT  = syscall.Signal(0x2)
-+	SIGIOT  = syscall.Signal(0x6)
-+	SIGKILL = syscall.Signal(0x9)
-+	SIGPIPE = syscall.Signal(0xd)
-+	SIGQUIT = syscall.Signal(0x3)
-+	SIGSEGV = syscall.Signal(0xb)
-+	SIGTERM = syscall.Signal(0xf)
-+	SIGTRAP = syscall.Signal(0x5)
-+)
-diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_386.go b/vendor/golang.org/x/sys/unix/zerrors_linux_386.go
-index 33ced1ae..028c9d87 100644
---- a/vendor/golang.org/x/sys/unix/zerrors_linux_386.go
-+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_386.go
-@@ -3,7 +3,7 @@
- 
- // +build 386,linux
- 
--// Created by cgo -godefs - DO NOT EDIT
-+// Code generated by cmd/cgo -godefs; DO NOT EDIT.
- // cgo -godefs -- -Wall -Werror -static -I/tmp/include -m32 _const.go
- 
- package unix
-@@ -11,1868 +11,487 @@ package unix
- import "syscall"
- 
- const (
--	AF_ALG                               = 0x26
--	AF_APPLETALK                         = 0x5
--	AF_ASH                               = 0x12
--	AF_ATMPVC                            = 0x8
--	AF_ATMSVC                            = 0x14
--	AF_AX25                              = 0x3
--	AF_BLUETOOTH                         = 0x1f
--	AF_BRIDGE                            = 0x7
--	AF_CAIF                              = 0x25
--	AF_CAN                               = 0x1d
--	AF_DECnet                            = 0xc
--	AF_ECONET                            = 0x13
--	AF_FILE                              = 0x1
--	AF_IB                                = 0x1b
--	AF_IEEE802154                        = 0x24
--	AF_INET                              = 0x2
--	AF_INET6                             = 0xa
--	AF_IPX                               = 0x4
--	AF_IRDA                              = 0x17
--	AF_ISDN                              = 0x22
--	AF_IUCV                              = 0x20
--	AF_KCM                               = 0x29
--	AF_KEY                               = 0xf
--	AF_LLC                               = 0x1a
--	AF_LOCAL                             = 0x1
--	AF_MAX                               = 0x2b
--	AF_MPLS                              = 0x1c
--	AF_NETBEUI                           = 0xd
--	AF_NETLINK                           = 0x10
--	AF_NETROM                            = 0x6
--	AF_NFC                               = 0x27
--	AF_PACKET                            = 0x11
--	AF_PHONET                            = 0x23
--	AF_PPPOX                             = 0x18
--	AF_QIPCRTR                           = 0x2a
--	AF_RDS                               = 0x15
--	AF_ROSE                              = 0xb
--	AF_ROUTE                             = 0x10
--	AF_RXRPC                             = 0x21
--	AF_SECURITY                          = 0xe
--	AF_SNA                               = 0x16
--	AF_TIPC                              = 0x1e
--	AF_UNIX                              = 0x1
--	AF_UNSPEC                            = 0x0
--	AF_VSOCK                             = 0x28
--	AF_WANPIPE                           = 0x19
--	AF_X25                               = 0x9
--	ALG_OP_DECRYPT                       = 0x0
--	ALG_OP_ENCRYPT                       = 0x1
--	ALG_SET_AEAD_ASSOCLEN                = 0x4
--	ALG_SET_AEAD_AUTHSIZE                = 0x5
--	ALG_SET_IV                           = 0x2
--	ALG_SET_KEY                          = 0x1
--	ALG_SET_OP                           = 0x3
--	ARPHRD_6LOWPAN                       = 0x339
--	ARPHRD_ADAPT                         = 0x108
--	ARPHRD_APPLETLK                      = 0x8
--	ARPHRD_ARCNET                        = 0x7
--	ARPHRD_ASH                           = 0x30d
--	ARPHRD_ATM                           = 0x13
--	ARPHRD_AX25                          = 0x3
--	ARPHRD_BIF                           = 0x307
--	ARPHRD_CAIF                          = 0x336
--	ARPHRD_CAN                           = 0x118
--	ARPHRD_CHAOS                         = 0x5
--	ARPHRD_CISCO                         = 0x201
--	ARPHRD_CSLIP                         = 0x101
--	ARPHRD_CSLIP6                        = 0x103
--	ARPHRD_DDCMP                         = 0x205
--	ARPHRD_DLCI                          = 0xf
--	ARPHRD_ECONET                        = 0x30e
--	ARPHRD_EETHER                        = 0x2
--	ARPHRD_ETHER                         = 0x1
--	ARPHRD_EUI64                         = 0x1b
--	ARPHRD_FCAL                          = 0x311
--	ARPHRD_FCFABRIC                      = 0x313
--	ARPHRD_FCPL                          = 0x312
--	ARPHRD_FCPP                          = 0x310
--	ARPHRD_FDDI                          = 0x306
--	ARPHRD_FRAD                          = 0x302
--	ARPHRD_HDLC                          = 0x201
--	ARPHRD_HIPPI                         = 0x30c
--	ARPHRD_HWX25                         = 0x110
--	ARPHRD_IEEE1394                      = 0x18
--	ARPHRD_IEEE802                       = 0x6
--	ARPHRD_IEEE80211                     = 0x321
--	ARPHRD_IEEE80211_PRISM               = 0x322
--	ARPHRD_IEEE80211_RADIOTAP            = 0x323
--	ARPHRD_IEEE802154                    = 0x324
--	ARPHRD_IEEE802154_MONITOR            = 0x325
--	ARPHRD_IEEE802_TR                    = 0x320
--	ARPHRD_INFINIBAND                    = 0x20
--	ARPHRD_IP6GRE                        = 0x337
--	ARPHRD_IPDDP                         = 0x309
--	ARPHRD_IPGRE                         = 0x30a
--	ARPHRD_IRDA                          = 0x30f
--	ARPHRD_LAPB                          = 0x204
--	ARPHRD_LOCALTLK                      = 0x305
--	ARPHRD_LOOPBACK                      = 0x304
--	ARPHRD_METRICOM                      = 0x17
--	ARPHRD_NETLINK                       = 0x338
--	ARPHRD_NETROM                        = 0x0
--	ARPHRD_NONE                          = 0xfffe
--	ARPHRD_PHONET                        = 0x334
--	ARPHRD_PHONET_PIPE                   = 0x335
--	ARPHRD_PIMREG                        = 0x30b
--	ARPHRD_PPP                           = 0x200
--	ARPHRD_PRONET                        = 0x4
--	ARPHRD_RAWHDLC                       = 0x206
--	ARPHRD_ROSE                          = 0x10e
--	ARPHRD_RSRVD                         = 0x104
--	ARPHRD_SIT                           = 0x308
--	ARPHRD_SKIP                          = 0x303
--	ARPHRD_SLIP                          = 0x100
--	ARPHRD_SLIP6                         = 0x102
--	ARPHRD_TUNNEL                        = 0x300
--	ARPHRD_TUNNEL6                       = 0x301
--	ARPHRD_VOID                          = 0xffff
--	ARPHRD_X25                           = 0x10f
--	B0                                   = 0x0
--	B1000000                             = 0x1008
--	B110                                 = 0x3
--	B115200                              = 0x1002
--	B1152000                             = 0x1009
--	B1200                                = 0x9
--	B134                                 = 0x4
--	B150                                 = 0x5
--	B1500000                             = 0x100a
--	B1800                                = 0xa
--	B19200                               = 0xe
--	B200                                 = 0x6
--	B2000000                             = 0x100b
--	B230400                              = 0x1003
--	B2400                                = 0xb
--	B2500000                             = 0x100c
--	B300                                 = 0x7
--	B3000000                             = 0x100d
--	B3500000                             = 0x100e
--	B38400                               = 0xf
--	B4000000                             = 0x100f
--	B460800                              = 0x1004
--	B4800                                = 0xc
--	B50                                  = 0x1
--	B500000                              = 0x1005
--	B57600                               = 0x1001
--	B576000                              = 0x1006
--	B600                                 = 0x8
--	B75                                  = 0x2
--	B921600                              = 0x1007
--	B9600                                = 0xd
--	BLKBSZGET                            = 0x80041270
--	BLKBSZSET                            = 0x40041271
--	BLKFLSBUF                            = 0x1261
--	BLKFRAGET                            = 0x1265
--	BLKFRASET                            = 0x1264
--	BLKGETSIZE                           = 0x1260
--	BLKGETSIZE64                         = 0x80041272
--	BLKPBSZGET                           = 0x127b
--	BLKRAGET                             = 0x1263
--	BLKRASET                             = 0x1262
--	BLKROGET                             = 0x125e
--	BLKROSET                             = 0x125d
--	BLKRRPART                            = 0x125f
--	BLKSECTGET                           = 0x1267
--	BLKSECTSET                           = 0x1266
--	BLKSSZGET                            = 0x1268
--	BOTHER                               = 0x1000
--	BPF_A                                = 0x10
--	BPF_ABS                              = 0x20
--	BPF_ADD                              = 0x0
--	BPF_ALU                              = 0x4
--	BPF_AND                              = 0x50
--	BPF_B                                = 0x10
--	BPF_DIV                              = 0x30
--	BPF_H                                = 0x8
--	BPF_IMM                              = 0x0
--	BPF_IND                              = 0x40
--	BPF_JA                               = 0x0
--	BPF_JEQ                              = 0x10
--	BPF_JGE                              = 0x30
--	BPF_JGT                              = 0x20
--	BPF_JMP                              = 0x5
--	BPF_JSET                             = 0x40
--	BPF_K                                = 0x0
--	BPF_LD                               = 0x0
--	BPF_LDX                              = 0x1
--	BPF_LEN                              = 0x80
--	BPF_LL_OFF                           = -0x200000
--	BPF_LSH                              = 0x60
--	BPF_MAJOR_VERSION                    = 0x1
--	BPF_MAXINSNS                         = 0x1000
--	BPF_MEM                              = 0x60
--	BPF_MEMWORDS                         = 0x10
--	BPF_MINOR_VERSION                    = 0x1
--	BPF_MISC                             = 0x7
--	BPF_MOD                              = 0x90
--	BPF_MSH                              = 0xa0
--	BPF_MUL                              = 0x20
--	BPF_NEG                              = 0x80
--	BPF_NET_OFF                          = -0x100000
--	BPF_OR                               = 0x40
--	BPF_RET                              = 0x6
--	BPF_RSH                              = 0x70
--	BPF_ST                               = 0x2
--	BPF_STX                              = 0x3
--	BPF_SUB                              = 0x10
--	BPF_TAX                              = 0x0
--	BPF_TXA                              = 0x80
--	BPF_W                                = 0x0
--	BPF_X                                = 0x8
--	BPF_XOR                              = 0xa0
--	BRKINT                               = 0x2
--	BS0                                  = 0x0
--	BS1                                  = 0x2000
--	BSDLY                                = 0x2000
--	CAN_BCM                              = 0x2
--	CAN_EFF_FLAG                         = 0x80000000
--	CAN_EFF_ID_BITS                      = 0x1d
--	CAN_EFF_MASK                         = 0x1fffffff
--	CAN_ERR_FLAG                         = 0x20000000
--	CAN_ERR_MASK                         = 0x1fffffff
--	CAN_INV_FILTER                       = 0x20000000
--	CAN_ISOTP                            = 0x6
--	CAN_MAX_DLC                          = 0x8
--	CAN_MAX_DLEN                         = 0x8
--	CAN_MCNET                            = 0x5
--	CAN_MTU                              = 0x10
--	CAN_NPROTO                           = 0x7
--	CAN_RAW                              = 0x1
--	CAN_RAW_FILTER_MAX                   = 0x200
--	CAN_RTR_FLAG                         = 0x40000000
--	CAN_SFF_ID_BITS                      = 0xb
--	CAN_SFF_MASK                         = 0x7ff
--	CAN_TP16                             = 0x3
--	CAN_TP20                             = 0x4
--	CBAUD                                = 0x100f
--	CBAUDEX                              = 0x1000
--	CFLUSH                               = 0xf
--	CIBAUD                               = 0x100f0000
--	CLOCAL                               = 0x800
--	CLOCK_BOOTTIME                       = 0x7
--	CLOCK_BOOTTIME_ALARM                 = 0x9
--	CLOCK_DEFAULT                        = 0x0
--	CLOCK_EXT                            = 0x1
--	CLOCK_INT                            = 0x2
--	CLOCK_MONOTONIC                      = 0x1
--	CLOCK_MONOTONIC_COARSE               = 0x6
--	CLOCK_MONOTONIC_RAW                  = 0x4
--	CLOCK_PROCESS_CPUTIME_ID             = 0x2
--	CLOCK_REALTIME                       = 0x0
--	CLOCK_REALTIME_ALARM                 = 0x8
--	CLOCK_REALTIME_COARSE                = 0x5
--	CLOCK_TAI                            = 0xb
--	CLOCK_THREAD_CPUTIME_ID              = 0x3
--	CLOCK_TXFROMRX                       = 0x4
--	CLOCK_TXINT                          = 0x3
--	CLONE_CHILD_CLEARTID                 = 0x200000
--	CLONE_CHILD_SETTID                   = 0x1000000
--	CLONE_DETACHED                       = 0x400000
--	CLONE_FILES                          = 0x400
--	CLONE_FS                             = 0x200
--	CLONE_IO                             = 0x80000000
--	CLONE_NEWCGROUP                      = 0x2000000
--	CLONE_NEWIPC                         = 0x8000000
--	CLONE_NEWNET                         = 0x40000000
--	CLONE_NEWNS                          = 0x20000
--	CLONE_NEWPID                         = 0x20000000
--	CLONE_NEWUSER                        = 0x10000000
--	CLONE_NEWUTS                         = 0x4000000
--	CLONE_PARENT                         = 0x8000
--	CLONE_PARENT_SETTID                  = 0x100000
--	CLONE_PTRACE                         = 0x2000
--	CLONE_SETTLS                         = 0x80000
--	CLONE_SIGHAND                        = 0x800
--	CLONE_SYSVSEM                        = 0x40000
--	CLONE_THREAD                         = 0x10000
--	CLONE_UNTRACED                       = 0x800000
--	CLONE_VFORK                          = 0x4000
--	CLONE_VM                             = 0x100
--	CMSPAR                               = 0x40000000
--	CR0                                  = 0x0
--	CR1                                  = 0x200
--	CR2                                  = 0x400
--	CR3                                  = 0x600
--	CRDLY                                = 0x600
--	CREAD                                = 0x80
--	CRTSCTS                              = 0x80000000
--	CS5                                  = 0x0
--	CS6                                  = 0x10
--	CS7                                  = 0x20
--	CS8                                  = 0x30
--	CSIGNAL                              = 0xff
--	CSIZE                                = 0x30
--	CSTART                               = 0x11
--	CSTATUS                              = 0x0
--	CSTOP                                = 0x13
--	CSTOPB                               = 0x40
--	CSUSP                                = 0x1a
--	DT_BLK                               = 0x6
--	DT_CHR                               = 0x2
--	DT_DIR                               = 0x4
--	DT_FIFO                              = 0x1
--	DT_LNK                               = 0xa
--	DT_REG                               = 0x8
--	DT_SOCK                              = 0xc
--	DT_UNKNOWN                           = 0x0
--	DT_WHT                               = 0xe
--	ECHO                                 = 0x8
--	ECHOCTL                              = 0x200
--	ECHOE                                = 0x10
--	ECHOK                                = 0x20
--	ECHOKE                               = 0x800
--	ECHONL                               = 0x40
--	ECHOPRT                              = 0x400
--	EFD_CLOEXEC                          = 0x80000
--	EFD_NONBLOCK                         = 0x800
--	EFD_SEMAPHORE                        = 0x1
--	ENCODING_DEFAULT                     = 0x0
--	ENCODING_FM_MARK                     = 0x3
--	ENCODING_FM_SPACE                    = 0x4
--	ENCODING_MANCHESTER                  = 0x5
--	ENCODING_NRZ                         = 0x1
--	ENCODING_NRZI                        = 0x2
--	EPOLLERR                             = 0x8
--	EPOLLET                              = 0x80000000
--	EPOLLEXCLUSIVE                       = 0x10000000
--	EPOLLHUP                             = 0x10
--	EPOLLIN                              = 0x1
--	EPOLLMSG                             = 0x400
--	EPOLLONESHOT                         = 0x40000000
--	EPOLLOUT                             = 0x4
--	EPOLLPRI                             = 0x2
--	EPOLLRDBAND                          = 0x80
--	EPOLLRDHUP                           = 0x2000
--	EPOLLRDNORM                          = 0x40
--	EPOLLWAKEUP                          = 0x20000000
--	EPOLLWRBAND                          = 0x200
--	EPOLLWRNORM                          = 0x100
--	EPOLL_CLOEXEC                        = 0x80000
--	EPOLL_CTL_ADD                        = 0x1
--	EPOLL_CTL_DEL                        = 0x2
--	EPOLL_CTL_MOD                        = 0x3
--	ETH_P_1588                           = 0x88f7
--	ETH_P_8021AD                         = 0x88a8
--	ETH_P_8021AH                         = 0x88e7
--	ETH_P_8021Q                          = 0x8100
--	ETH_P_80221                          = 0x8917
--	ETH_P_802_2                          = 0x4
--	ETH_P_802_3                          = 0x1
--	ETH_P_802_3_MIN                      = 0x600
--	ETH_P_802_EX1                        = 0x88b5
--	ETH_P_AARP                           = 0x80f3
--	ETH_P_AF_IUCV                        = 0xfbfb
--	ETH_P_ALL                            = 0x3
--	ETH_P_AOE                            = 0x88a2
--	ETH_P_ARCNET                         = 0x1a
--	ETH_P_ARP                            = 0x806
--	ETH_P_ATALK                          = 0x809b
--	ETH_P_ATMFATE                        = 0x8884
--	ETH_P_ATMMPOA                        = 0x884c
--	ETH_P_AX25                           = 0x2
--	ETH_P_BATMAN                         = 0x4305
--	ETH_P_BPQ                            = 0x8ff
--	ETH_P_CAIF                           = 0xf7
--	ETH_P_CAN                            = 0xc
--	ETH_P_CANFD                          = 0xd
--	ETH_P_CONTROL                        = 0x16
--	ETH_P_CUST                           = 0x6006
--	ETH_P_DDCMP                          = 0x6
--	ETH_P_DEC                            = 0x6000
--	ETH_P_DIAG                           = 0x6005
--	ETH_P_DNA_DL                         = 0x6001
--	ETH_P_DNA_RC                         = 0x6002
--	ETH_P_DNA_RT                         = 0x6003
--	ETH_P_DSA                            = 0x1b
--	ETH_P_ECONET                         = 0x18
--	ETH_P_EDSA                           = 0xdada
--	ETH_P_FCOE                           = 0x8906
--	ETH_P_FIP                            = 0x8914
--	ETH_P_HDLC                           = 0x19
--	ETH_P_HSR                            = 0x892f
--	ETH_P_IEEE802154                     = 0xf6
--	ETH_P_IEEEPUP                        = 0xa00
--	ETH_P_IEEEPUPAT                      = 0xa01
--	ETH_P_IP                             = 0x800
--	ETH_P_IPV6                           = 0x86dd
--	ETH_P_IPX                            = 0x8137
--	ETH_P_IRDA                           = 0x17
--	ETH_P_LAT                            = 0x6004
--	ETH_P_LINK_CTL                       = 0x886c
--	ETH_P_LOCALTALK                      = 0x9
--	ETH_P_LOOP                           = 0x60
--	ETH_P_LOOPBACK                       = 0x9000
--	ETH_P_MACSEC                         = 0x88e5
--	ETH_P_MOBITEX                        = 0x15
--	ETH_P_MPLS_MC                        = 0x8848
--	ETH_P_MPLS_UC                        = 0x8847
--	ETH_P_MVRP                           = 0x88f5
--	ETH_P_NCSI                           = 0x88f8
--	ETH_P_PAE                            = 0x888e
--	ETH_P_PAUSE                          = 0x8808
--	ETH_P_PHONET                         = 0xf5
--	ETH_P_PPPTALK                        = 0x10
--	ETH_P_PPP_DISC                       = 0x8863
--	ETH_P_PPP_MP                         = 0x8
--	ETH_P_PPP_SES                        = 0x8864
--	ETH_P_PRP                            = 0x88fb
--	ETH_P_PUP                            = 0x200
--	ETH_P_PUPAT                          = 0x201
--	ETH_P_QINQ1                          = 0x9100
--	ETH_P_QINQ2                          = 0x9200
--	ETH_P_QINQ3                          = 0x9300
--	ETH_P_RARP                           = 0x8035
--	ETH_P_SCA                            = 0x6007
--	ETH_P_SLOW                           = 0x8809
--	ETH_P_SNAP                           = 0x5
--	ETH_P_TDLS                           = 0x890d
--	ETH_P_TEB                            = 0x6558
--	ETH_P_TIPC                           = 0x88ca
--	ETH_P_TRAILER                        = 0x1c
--	ETH_P_TR_802_2                       = 0x11
--	ETH_P_TSN                            = 0x22f0
--	ETH_P_WAN_PPP                        = 0x7
--	ETH_P_WCCP                           = 0x883e
--	ETH_P_X25                            = 0x805
--	ETH_P_XDSA                           = 0xf8
--	EXTA                                 = 0xe
--	EXTB                                 = 0xf
--	EXTPROC                              = 0x10000
--	FALLOC_FL_COLLAPSE_RANGE             = 0x8
--	FALLOC_FL_INSERT_RANGE               = 0x20
--	FALLOC_FL_KEEP_SIZE                  = 0x1
--	FALLOC_FL_NO_HIDE_STALE              = 0x4
--	FALLOC_FL_PUNCH_HOLE                 = 0x2
--	FALLOC_FL_UNSHARE_RANGE              = 0x40
--	FALLOC_FL_ZERO_RANGE                 = 0x10
--	FD_CLOEXEC                           = 0x1
--	FD_SETSIZE                           = 0x400
--	FF0                                  = 0x0
--	FF1                                  = 0x8000
--	FFDLY                                = 0x8000
--	FLUSHO                               = 0x1000
--	FS_ENCRYPTION_MODE_AES_256_CBC       = 0x3
--	FS_ENCRYPTION_MODE_AES_256_CTS       = 0x4
--	FS_ENCRYPTION_MODE_AES_256_GCM       = 0x2
--	FS_ENCRYPTION_MODE_AES_256_XTS       = 0x1
--	FS_ENCRYPTION_MODE_INVALID           = 0x0
--	FS_IOC_GET_ENCRYPTION_POLICY         = 0x400c6615
--	FS_IOC_GET_ENCRYPTION_PWSALT         = 0x40106614
--	FS_IOC_SET_ENCRYPTION_POLICY         = 0x800c6613
--	FS_KEY_DESCRIPTOR_SIZE               = 0x8
--	FS_KEY_DESC_PREFIX                   = "fscrypt:"
--	FS_KEY_DESC_PREFIX_SIZE              = 0x8
--	FS_MAX_KEY_SIZE                      = 0x40
--	FS_POLICY_FLAGS_PAD_16               = 0x2
--	FS_POLICY_FLAGS_PAD_32               = 0x3
--	FS_POLICY_FLAGS_PAD_4                = 0x0
--	FS_POLICY_FLAGS_PAD_8                = 0x1
--	FS_POLICY_FLAGS_PAD_MASK             = 0x3
--	FS_POLICY_FLAGS_VALID                = 0x3
--	F_DUPFD                              = 0x0
--	F_DUPFD_CLOEXEC                      = 0x406
--	F_EXLCK                              = 0x4
--	F_GETFD                              = 0x1
--	F_GETFL                              = 0x3
--	F_GETLEASE                           = 0x401
--	F_GETLK                              = 0xc
--	F_GETLK64                            = 0xc
--	F_GETOWN                             = 0x9
--	F_GETOWN_EX                          = 0x10
--	F_GETPIPE_SZ                         = 0x408
--	F_GETSIG                             = 0xb
--	F_LOCK                               = 0x1
--	F_NOTIFY                             = 0x402
--	F_OFD_GETLK                          = 0x24
--	F_OFD_SETLK                          = 0x25
--	F_OFD_SETLKW                         = 0x26
--	F_OK                                 = 0x0
--	F_RDLCK                              = 0x0
--	F_SETFD                              = 0x2
--	F_SETFL                              = 0x4
--	F_SETLEASE                           = 0x400
--	F_SETLK                              = 0xd
--	F_SETLK64                            = 0xd
--	F_SETLKW                             = 0xe
--	F_SETLKW64                           = 0xe
--	F_SETOWN                             = 0x8
--	F_SETOWN_EX                          = 0xf
--	F_SETPIPE_SZ                         = 0x407
--	F_SETSIG                             = 0xa
--	F_SHLCK                              = 0x8
--	F_TEST                               = 0x3
--	F_TLOCK                              = 0x2
--	F_ULOCK                              = 0x0
--	F_UNLCK                              = 0x2
--	F_WRLCK                              = 0x1
--	GENL_ADMIN_PERM                      = 0x1
--	GENL_CMD_CAP_DO                      = 0x2
--	GENL_CMD_CAP_DUMP                    = 0x4
--	GENL_CMD_CAP_HASPOL                  = 0x8
--	GENL_HDRLEN                          = 0x4
--	GENL_ID_CTRL                         = 0x10
--	GENL_ID_PMCRAID                      = 0x12
--	GENL_ID_VFS_DQUOT                    = 0x11
--	GENL_MAX_ID                          = 0x3ff
--	GENL_MIN_ID                          = 0x10
--	GENL_NAMSIZ                          = 0x10
--	GENL_START_ALLOC                     = 0x13
--	GENL_UNS_ADMIN_PERM                  = 0x10
--	GRND_NONBLOCK                        = 0x1
--	GRND_RANDOM                          = 0x2
--	HUPCL                                = 0x400
--	IBSHIFT                              = 0x10
--	ICANON                               = 0x2
--	ICMPV6_FILTER                        = 0x1
--	ICRNL                                = 0x100
--	IEXTEN                               = 0x8000
--	IFA_F_DADFAILED                      = 0x8
--	IFA_F_DEPRECATED                     = 0x20
--	IFA_F_HOMEADDRESS                    = 0x10
--	IFA_F_MANAGETEMPADDR                 = 0x100
--	IFA_F_MCAUTOJOIN                     = 0x400
--	IFA_F_NODAD                          = 0x2
--	IFA_F_NOPREFIXROUTE                  = 0x200
--	IFA_F_OPTIMISTIC                     = 0x4
--	IFA_F_PERMANENT                      = 0x80
--	IFA_F_SECONDARY                      = 0x1
--	IFA_F_STABLE_PRIVACY                 = 0x800
--	IFA_F_TEMPORARY                      = 0x1
--	IFA_F_TENTATIVE                      = 0x40
--	IFA_MAX                              = 0x8
--	IFF_ALLMULTI                         = 0x200
--	IFF_ATTACH_QUEUE                     = 0x200
--	IFF_AUTOMEDIA                        = 0x4000
--	IFF_BROADCAST                        = 0x2
--	IFF_DEBUG                            = 0x4
--	IFF_DETACH_QUEUE                     = 0x400
--	IFF_DORMANT                          = 0x20000
--	IFF_DYNAMIC                          = 0x8000
--	IFF_ECHO                             = 0x40000
--	IFF_LOOPBACK                         = 0x8
--	IFF_LOWER_UP                         = 0x10000
--	IFF_MASTER                           = 0x400
--	IFF_MULTICAST                        = 0x1000
--	IFF_MULTI_QUEUE                      = 0x100
--	IFF_NOARP                            = 0x80
--	IFF_NOFILTER                         = 0x1000
--	IFF_NOTRAILERS                       = 0x20
--	IFF_NO_PI                            = 0x1000
--	IFF_ONE_QUEUE                        = 0x2000
--	IFF_PERSIST                          = 0x800
--	IFF_POINTOPOINT                      = 0x10
--	IFF_PORTSEL                          = 0x2000
--	IFF_PROMISC                          = 0x100
--	IFF_RUNNING                          = 0x40
--	IFF_SLAVE                            = 0x800
--	IFF_TAP                              = 0x2
--	IFF_TUN                              = 0x1
--	IFF_TUN_EXCL                         = 0x8000
--	IFF_UP                               = 0x1
--	IFF_VNET_HDR                         = 0x4000
--	IFF_VOLATILE                         = 0x70c5a
--	IFNAMSIZ                             = 0x10
--	IGNBRK                               = 0x1
--	IGNCR                                = 0x80
--	IGNPAR                               = 0x4
--	IMAXBEL                              = 0x2000
--	INLCR                                = 0x40
--	INPCK                                = 0x10
--	IN_ACCESS                            = 0x1
--	IN_ALL_EVENTS                        = 0xfff
--	IN_ATTRIB                            = 0x4
--	IN_CLASSA_HOST                       = 0xffffff
--	IN_CLASSA_MAX                        = 0x80
--	IN_CLASSA_NET                        = 0xff000000
--	IN_CLASSA_NSHIFT                     = 0x18
--	IN_CLASSB_HOST                       = 0xffff
--	IN_CLASSB_MAX                        = 0x10000
--	IN_CLASSB_NET                        = 0xffff0000
--	IN_CLASSB_NSHIFT                     = 0x10
--	IN_CLASSC_HOST                       = 0xff
--	IN_CLASSC_NET                        = 0xffffff00
--	IN_CLASSC_NSHIFT                     = 0x8
--	IN_CLOEXEC                           = 0x80000
--	IN_CLOSE                             = 0x18
--	IN_CLOSE_NOWRITE                     = 0x10
--	IN_CLOSE_WRITE                       = 0x8
--	IN_CREATE                            = 0x100
--	IN_DELETE                            = 0x200
--	IN_DELETE_SELF                       = 0x400
--	IN_DONT_FOLLOW                       = 0x2000000
--	IN_EXCL_UNLINK                       = 0x4000000
--	IN_IGNORED                           = 0x8000
--	IN_ISDIR                             = 0x40000000
--	IN_LOOPBACKNET                       = 0x7f
--	IN_MASK_ADD                          = 0x20000000
--	IN_MODIFY                            = 0x2
--	IN_MOVE                              = 0xc0
--	IN_MOVED_FROM                        = 0x40
--	IN_MOVED_TO                          = 0x80
--	IN_MOVE_SELF                         = 0x800
--	IN_NONBLOCK                          = 0x800
--	IN_ONESHOT                           = 0x80000000
--	IN_ONLYDIR                           = 0x1000000
--	IN_OPEN                              = 0x20
--	IN_Q_OVERFLOW                        = 0x4000
--	IN_UNMOUNT                           = 0x2000
--	IPPROTO_AH                           = 0x33
--	IPPROTO_BEETPH                       = 0x5e
--	IPPROTO_COMP                         = 0x6c
--	IPPROTO_DCCP                         = 0x21
--	IPPROTO_DSTOPTS                      = 0x3c
--	IPPROTO_EGP                          = 0x8
--	IPPROTO_ENCAP                        = 0x62
--	IPPROTO_ESP                          = 0x32
--	IPPROTO_FRAGMENT                     = 0x2c
--	IPPROTO_GRE                          = 0x2f
--	IPPROTO_HOPOPTS                      = 0x0
--	IPPROTO_ICMP                         = 0x1
--	IPPROTO_ICMPV6                       = 0x3a
--	IPPROTO_IDP                          = 0x16
--	IPPROTO_IGMP                         = 0x2
--	IPPROTO_IP                           = 0x0
--	IPPROTO_IPIP                         = 0x4
--	IPPROTO_IPV6                         = 0x29
--	IPPROTO_MH                           = 0x87
--	IPPROTO_MPLS                         = 0x89
--	IPPROTO_MTP                          = 0x5c
--	IPPROTO_NONE                         = 0x3b
--	IPPROTO_PIM                          = 0x67
--	IPPROTO_PUP                          = 0xc
--	IPPROTO_RAW                          = 0xff
--	IPPROTO_ROUTING                      = 0x2b
--	IPPROTO_RSVP                         = 0x2e
--	IPPROTO_SCTP                         = 0x84
--	IPPROTO_TCP                          = 0x6
--	IPPROTO_TP                           = 0x1d
--	IPPROTO_UDP                          = 0x11
--	IPPROTO_UDPLITE                      = 0x88
--	IPV6_2292DSTOPTS                     = 0x4
--	IPV6_2292HOPLIMIT                    = 0x8
--	IPV6_2292HOPOPTS                     = 0x3
--	IPV6_2292PKTINFO                     = 0x2
--	IPV6_2292PKTOPTIONS                  = 0x6
--	IPV6_2292RTHDR                       = 0x5
--	IPV6_ADDRFORM                        = 0x1
--	IPV6_ADD_MEMBERSHIP                  = 0x14
--	IPV6_AUTHHDR                         = 0xa
--	IPV6_CHECKSUM                        = 0x7
--	IPV6_DONTFRAG                        = 0x3e
--	IPV6_DROP_MEMBERSHIP                 = 0x15
--	IPV6_DSTOPTS                         = 0x3b
--	IPV6_HDRINCL                         = 0x24
--	IPV6_HOPLIMIT                        = 0x34
--	IPV6_HOPOPTS                         = 0x36
--	IPV6_IPSEC_POLICY                    = 0x22
--	IPV6_JOIN_ANYCAST                    = 0x1b
--	IPV6_JOIN_GROUP                      = 0x14
--	IPV6_LEAVE_ANYCAST                   = 0x1c
--	IPV6_LEAVE_GROUP                     = 0x15
--	IPV6_MTU                             = 0x18
--	IPV6_MTU_DISCOVER                    = 0x17
--	IPV6_MULTICAST_HOPS                  = 0x12
--	IPV6_MULTICAST_IF                    = 0x11
--	IPV6_MULTICAST_LOOP                  = 0x13
--	IPV6_NEXTHOP                         = 0x9
--	IPV6_PATHMTU                         = 0x3d
--	IPV6_PKTINFO                         = 0x32
--	IPV6_PMTUDISC_DO                     = 0x2
--	IPV6_PMTUDISC_DONT                   = 0x0
--	IPV6_PMTUDISC_INTERFACE              = 0x4
--	IPV6_PMTUDISC_OMIT                   = 0x5
--	IPV6_PMTUDISC_PROBE                  = 0x3
--	IPV6_PMTUDISC_WANT                   = 0x1
--	IPV6_RECVDSTOPTS                     = 0x3a
--	IPV6_RECVERR                         = 0x19
--	IPV6_RECVHOPLIMIT                    = 0x33
--	IPV6_RECVHOPOPTS                     = 0x35
--	IPV6_RECVPATHMTU                     = 0x3c
--	IPV6_RECVPKTINFO                     = 0x31
--	IPV6_RECVRTHDR                       = 0x38
--	IPV6_RECVTCLASS                      = 0x42
--	IPV6_ROUTER_ALERT                    = 0x16
--	IPV6_RTHDR                           = 0x39
--	IPV6_RTHDRDSTOPTS                    = 0x37
--	IPV6_RTHDR_LOOSE                     = 0x0
--	IPV6_RTHDR_STRICT                    = 0x1
--	IPV6_RTHDR_TYPE_0                    = 0x0
--	IPV6_RXDSTOPTS                       = 0x3b
--	IPV6_RXHOPOPTS                       = 0x36
--	IPV6_TCLASS                          = 0x43
--	IPV6_UNICAST_HOPS                    = 0x10
--	IPV6_V6ONLY                          = 0x1a
--	IPV6_XFRM_POLICY                     = 0x23
--	IP_ADD_MEMBERSHIP                    = 0x23
--	IP_ADD_SOURCE_MEMBERSHIP             = 0x27
--	IP_BIND_ADDRESS_NO_PORT              = 0x18
--	IP_BLOCK_SOURCE                      = 0x26
--	IP_CHECKSUM                          = 0x17
--	IP_DEFAULT_MULTICAST_LOOP            = 0x1
--	IP_DEFAULT_MULTICAST_TTL             = 0x1
--	IP_DF                                = 0x4000
--	IP_DROP_MEMBERSHIP                   = 0x24
--	IP_DROP_SOURCE_MEMBERSHIP            = 0x28
--	IP_FREEBIND                          = 0xf
--	IP_HDRINCL                           = 0x3
--	IP_IPSEC_POLICY                      = 0x10
--	IP_MAXPACKET                         = 0xffff
--	IP_MAX_MEMBERSHIPS                   = 0x14
--	IP_MF                                = 0x2000
--	IP_MINTTL                            = 0x15
--	IP_MSFILTER                          = 0x29
--	IP_MSS                               = 0x240
--	IP_MTU                               = 0xe
--	IP_MTU_DISCOVER                      = 0xa
--	IP_MULTICAST_ALL                     = 0x31
--	IP_MULTICAST_IF                      = 0x20
--	IP_MULTICAST_LOOP                    = 0x22
--	IP_MULTICAST_TTL                     = 0x21
--	IP_NODEFRAG                          = 0x16
--	IP_OFFMASK                           = 0x1fff
--	IP_OPTIONS                           = 0x4
--	IP_ORIGDSTADDR                       = 0x14
--	IP_PASSSEC                           = 0x12
--	IP_PKTINFO                           = 0x8
--	IP_PKTOPTIONS                        = 0x9
--	IP_PMTUDISC                          = 0xa
--	IP_PMTUDISC_DO                       = 0x2
--	IP_PMTUDISC_DONT                     = 0x0
--	IP_PMTUDISC_INTERFACE                = 0x4
--	IP_PMTUDISC_OMIT                     = 0x5
--	IP_PMTUDISC_PROBE                    = 0x3
--	IP_PMTUDISC_WANT                     = 0x1
--	IP_RECVERR                           = 0xb
--	IP_RECVOPTS                          = 0x6
--	IP_RECVORIGDSTADDR                   = 0x14
--	IP_RECVRETOPTS                       = 0x7
--	IP_RECVTOS                           = 0xd
--	IP_RECVTTL                           = 0xc
--	IP_RETOPTS                           = 0x7
--	IP_RF                                = 0x8000
--	IP_ROUTER_ALERT                      = 0x5
--	IP_TOS                               = 0x1
--	IP_TRANSPARENT                       = 0x13
--	IP_TTL                               = 0x2
--	IP_UNBLOCK_SOURCE                    = 0x25
--	IP_UNICAST_IF                        = 0x32
--	IP_XFRM_POLICY                       = 0x11
--	ISIG                                 = 0x1
--	ISTRIP                               = 0x20
--	IUCLC                                = 0x200
--	IUTF8                                = 0x4000
--	IXANY                                = 0x800
--	IXOFF                                = 0x1000
--	IXON                                 = 0x400
--	KEYCTL_ASSUME_AUTHORITY              = 0x10
--	KEYCTL_CHOWN                         = 0x4
--	KEYCTL_CLEAR                         = 0x7
--	KEYCTL_DESCRIBE                      = 0x6
--	KEYCTL_DH_COMPUTE                    = 0x17
--	KEYCTL_GET_KEYRING_ID                = 0x0
--	KEYCTL_GET_PERSISTENT                = 0x16
--	KEYCTL_GET_SECURITY                  = 0x11
--	KEYCTL_INSTANTIATE                   = 0xc
--	KEYCTL_INSTANTIATE_IOV               = 0x14
--	KEYCTL_INVALIDATE                    = 0x15
--	KEYCTL_JOIN_SESSION_KEYRING          = 0x1
--	KEYCTL_LINK                          = 0x8
--	KEYCTL_NEGATE                        = 0xd
--	KEYCTL_READ                          = 0xb
--	KEYCTL_REJECT                        = 0x13
--	KEYCTL_REVOKE                        = 0x3
--	KEYCTL_SEARCH                        = 0xa
--	KEYCTL_SESSION_TO_PARENT             = 0x12
--	KEYCTL_SETPERM                       = 0x5
--	KEYCTL_SET_REQKEY_KEYRING            = 0xe
--	KEYCTL_SET_TIMEOUT                   = 0xf
--	KEYCTL_UNLINK                        = 0x9
--	KEYCTL_UPDATE                        = 0x2
--	KEY_REQKEY_DEFL_DEFAULT              = 0x0
--	KEY_REQKEY_DEFL_GROUP_KEYRING        = 0x6
--	KEY_REQKEY_DEFL_NO_CHANGE            = -0x1
--	KEY_REQKEY_DEFL_PROCESS_KEYRING      = 0x2
--	KEY_REQKEY_DEFL_REQUESTOR_KEYRING    = 0x7
--	KEY_REQKEY_DEFL_SESSION_KEYRING      = 0x3
--	KEY_REQKEY_DEFL_THREAD_KEYRING       = 0x1
--	KEY_REQKEY_DEFL_USER_KEYRING         = 0x4
--	KEY_REQKEY_DEFL_USER_SESSION_KEYRING = 0x5
--	KEY_SPEC_GROUP_KEYRING               = -0x6
--	KEY_SPEC_PROCESS_KEYRING             = -0x2
--	KEY_SPEC_REQKEY_AUTH_KEY             = -0x7
--	KEY_SPEC_REQUESTOR_KEYRING           = -0x8
--	KEY_SPEC_SESSION_KEYRING             = -0x3
--	KEY_SPEC_THREAD_KEYRING              = -0x1
--	KEY_SPEC_USER_KEYRING                = -0x4
--	KEY_SPEC_USER_SESSION_KEYRING        = -0x5
--	LINUX_REBOOT_CMD_CAD_OFF             = 0x0
--	LINUX_REBOOT_CMD_CAD_ON              = 0x89abcdef
--	LINUX_REBOOT_CMD_HALT                = 0xcdef0123
--	LINUX_REBOOT_CMD_KEXEC               = 0x45584543
--	LINUX_REBOOT_CMD_POWER_OFF           = 0x4321fedc
--	LINUX_REBOOT_CMD_RESTART             = 0x1234567
--	LINUX_REBOOT_CMD_RESTART2            = 0xa1b2c3d4
--	LINUX_REBOOT_CMD_SW_SUSPEND          = 0xd000fce2
--	LINUX_REBOOT_MAGIC1                  = 0xfee1dead
--	LINUX_REBOOT_MAGIC2                  = 0x28121969
--	LOCK_EX                              = 0x2
--	LOCK_NB                              = 0x4
--	LOCK_SH                              = 0x1
--	LOCK_UN                              = 0x8
--	MADV_DODUMP                          = 0x11
--	MADV_DOFORK                          = 0xb
--	MADV_DONTDUMP                        = 0x10
--	MADV_DONTFORK                        = 0xa
--	MADV_DONTNEED                        = 0x4
--	MADV_FREE                            = 0x8
--	MADV_HUGEPAGE                        = 0xe
--	MADV_HWPOISON                        = 0x64
--	MADV_MERGEABLE                       = 0xc
--	MADV_NOHUGEPAGE                      = 0xf
--	MADV_NORMAL                          = 0x0
--	MADV_RANDOM                          = 0x1
--	MADV_REMOVE                          = 0x9
--	MADV_SEQUENTIAL                      = 0x2
--	MADV_UNMERGEABLE                     = 0xd
--	MADV_WILLNEED                        = 0x3
--	MAP_32BIT                            = 0x40
--	MAP_ANON                             = 0x20
--	MAP_ANONYMOUS                        = 0x20
--	MAP_DENYWRITE                        = 0x800
--	MAP_EXECUTABLE                       = 0x1000
--	MAP_FILE                             = 0x0
--	MAP_FIXED                            = 0x10
--	MAP_GROWSDOWN                        = 0x100
--	MAP_HUGETLB                          = 0x40000
--	MAP_HUGE_MASK                        = 0x3f
--	MAP_HUGE_SHIFT                       = 0x1a
--	MAP_LOCKED                           = 0x2000
--	MAP_NONBLOCK                         = 0x10000
--	MAP_NORESERVE                        = 0x4000
--	MAP_POPULATE                         = 0x8000
--	MAP_PRIVATE                          = 0x2
--	MAP_SHARED                           = 0x1
--	MAP_STACK                            = 0x20000
--	MAP_TYPE                             = 0xf
--	MCL_CURRENT                          = 0x1
--	MCL_FUTURE                           = 0x2
--	MCL_ONFAULT                          = 0x4
--	MNT_DETACH                           = 0x2
--	MNT_EXPIRE                           = 0x4
--	MNT_FORCE                            = 0x1
--	MSG_BATCH                            = 0x40000
--	MSG_CMSG_CLOEXEC                     = 0x40000000
--	MSG_CONFIRM                          = 0x800
--	MSG_CTRUNC                           = 0x8
--	MSG_DONTROUTE                        = 0x4
--	MSG_DONTWAIT                         = 0x40
--	MSG_EOR                              = 0x80
--	MSG_ERRQUEUE                         = 0x2000
--	MSG_FASTOPEN                         = 0x20000000
--	MSG_FIN                              = 0x200
--	MSG_MORE                             = 0x8000
--	MSG_NOSIGNAL                         = 0x4000
--	MSG_OOB                              = 0x1
--	MSG_PEEK                             = 0x2
--	MSG_PROXY                            = 0x10
--	MSG_RST                              = 0x1000
--	MSG_SYN                              = 0x400
--	MSG_TRUNC                            = 0x20
--	MSG_TRYHARD                          = 0x4
--	MSG_WAITALL                          = 0x100
--	MSG_WAITFORONE                       = 0x10000
--	MS_ACTIVE                            = 0x40000000
--	MS_ASYNC                             = 0x1
--	MS_BIND                              = 0x1000
--	MS_BORN                              = 0x20000000
--	MS_DIRSYNC                           = 0x80
--	MS_INVALIDATE                        = 0x2
--	MS_I_VERSION                         = 0x800000
--	MS_KERNMOUNT                         = 0x400000
--	MS_LAZYTIME                          = 0x2000000
--	MS_MANDLOCK                          = 0x40
--	MS_MGC_MSK                           = 0xffff0000
--	MS_MGC_VAL                           = 0xc0ed0000
--	MS_MOVE                              = 0x2000
--	MS_NOATIME                           = 0x400
--	MS_NODEV                             = 0x4
--	MS_NODIRATIME                        = 0x800
--	MS_NOEXEC                            = 0x8
--	MS_NOREMOTELOCK                      = 0x8000000
--	MS_NOSEC                             = 0x10000000
--	MS_NOSUID                            = 0x2
--	MS_NOUSER                            = -0x80000000
--	MS_POSIXACL                          = 0x10000
--	MS_PRIVATE                           = 0x40000
--	MS_RDONLY                            = 0x1
--	MS_REC                               = 0x4000
--	MS_RELATIME                          = 0x200000
--	MS_REMOUNT                           = 0x20
--	MS_RMT_MASK                          = 0x2800051
--	MS_SHARED                            = 0x100000
--	MS_SILENT                            = 0x8000
--	MS_SLAVE                             = 0x80000
--	MS_STRICTATIME                       = 0x1000000
--	MS_SYNC                              = 0x4
--	MS_SYNCHRONOUS                       = 0x10
--	MS_UNBINDABLE                        = 0x20000
--	MS_VERBOSE                           = 0x8000
--	NAME_MAX                             = 0xff
--	NETLINK_ADD_MEMBERSHIP               = 0x1
--	NETLINK_AUDIT                        = 0x9
--	NETLINK_BROADCAST_ERROR              = 0x4
--	NETLINK_CAP_ACK                      = 0xa
--	NETLINK_CONNECTOR                    = 0xb
--	NETLINK_CRYPTO                       = 0x15
--	NETLINK_DNRTMSG                      = 0xe
--	NETLINK_DROP_MEMBERSHIP              = 0x2
--	NETLINK_ECRYPTFS                     = 0x13
--	NETLINK_FIB_LOOKUP                   = 0xa
--	NETLINK_FIREWALL                     = 0x3
--	NETLINK_GENERIC                      = 0x10
--	NETLINK_INET_DIAG                    = 0x4
--	NETLINK_IP6_FW                       = 0xd
--	NETLINK_ISCSI                        = 0x8
--	NETLINK_KOBJECT_UEVENT               = 0xf
--	NETLINK_LISTEN_ALL_NSID              = 0x8
--	NETLINK_LIST_MEMBERSHIPS             = 0x9
--	NETLINK_NETFILTER                    = 0xc
--	NETLINK_NFLOG                        = 0x5
--	NETLINK_NO_ENOBUFS                   = 0x5
--	NETLINK_PKTINFO                      = 0x3
--	NETLINK_RDMA                         = 0x14
--	NETLINK_ROUTE                        = 0x0
--	NETLINK_RX_RING                      = 0x6
--	NETLINK_SCSITRANSPORT                = 0x12
--	NETLINK_SELINUX                      = 0x7
--	NETLINK_SOCK_DIAG                    = 0x4
--	NETLINK_TX_RING                      = 0x7
--	NETLINK_UNUSED                       = 0x1
--	NETLINK_USERSOCK                     = 0x2
--	NETLINK_XFRM                         = 0x6
--	NL0                                  = 0x0
--	NL1                                  = 0x100
--	NLA_ALIGNTO                          = 0x4
--	NLA_F_NESTED                         = 0x8000
--	NLA_F_NET_BYTEORDER                  = 0x4000
--	NLA_HDRLEN                           = 0x4
--	NLDLY                                = 0x100
--	NLMSG_ALIGNTO                        = 0x4
--	NLMSG_DONE                           = 0x3
--	NLMSG_ERROR                          = 0x2
--	NLMSG_HDRLEN                         = 0x10
--	NLMSG_MIN_TYPE                       = 0x10
--	NLMSG_NOOP                           = 0x1
--	NLMSG_OVERRUN                        = 0x4
--	NLM_F_ACK                            = 0x4
--	NLM_F_APPEND                         = 0x800
--	NLM_F_ATOMIC                         = 0x400
--	NLM_F_CREATE                         = 0x400
--	NLM_F_DUMP                           = 0x300
--	NLM_F_DUMP_FILTERED                  = 0x20
--	NLM_F_DUMP_INTR                      = 0x10
--	NLM_F_ECHO                           = 0x8
--	NLM_F_EXCL                           = 0x200
--	NLM_F_MATCH                          = 0x200
--	NLM_F_MULTI                          = 0x2
--	NLM_F_REPLACE                        = 0x100
--	NLM_F_REQUEST                        = 0x1
--	NLM_F_ROOT                           = 0x100
--	NOFLSH                               = 0x80
--	OCRNL                                = 0x8
--	OFDEL                                = 0x80
--	OFILL                                = 0x40
--	OLCUC                                = 0x2
--	ONLCR                                = 0x4
--	ONLRET                               = 0x20
--	ONOCR                                = 0x10
--	OPOST                                = 0x1
--	O_ACCMODE                            = 0x3
--	O_APPEND                             = 0x400
--	O_ASYNC                              = 0x2000
--	O_CLOEXEC                            = 0x80000
--	O_CREAT                              = 0x40
--	O_DIRECT                             = 0x4000
--	O_DIRECTORY                          = 0x10000
--	O_DSYNC                              = 0x1000
--	O_EXCL                               = 0x80
--	O_FSYNC                              = 0x101000
--	O_LARGEFILE                          = 0x8000
--	O_NDELAY                             = 0x800
--	O_NOATIME                            = 0x40000
--	O_NOCTTY                             = 0x100
--	O_NOFOLLOW                           = 0x20000
--	O_NONBLOCK                           = 0x800
--	O_PATH                               = 0x200000
--	O_RDONLY                             = 0x0
--	O_RDWR                               = 0x2
--	O_RSYNC                              = 0x101000
--	O_SYNC                               = 0x101000
--	O_TMPFILE                            = 0x410000
--	O_TRUNC                              = 0x200
--	O_WRONLY                             = 0x1
--	PACKET_ADD_MEMBERSHIP                = 0x1
--	PACKET_AUXDATA                       = 0x8
--	PACKET_BROADCAST                     = 0x1
--	PACKET_COPY_THRESH                   = 0x7
--	PACKET_DROP_MEMBERSHIP               = 0x2
--	PACKET_FANOUT                        = 0x12
--	PACKET_FANOUT_CBPF                   = 0x6
--	PACKET_FANOUT_CPU                    = 0x2
--	PACKET_FANOUT_DATA                   = 0x16
--	PACKET_FANOUT_EBPF                   = 0x7
--	PACKET_FANOUT_FLAG_DEFRAG            = 0x8000
--	PACKET_FANOUT_FLAG_ROLLOVER          = 0x1000
--	PACKET_FANOUT_HASH                   = 0x0
--	PACKET_FANOUT_LB                     = 0x1
--	PACKET_FANOUT_QM                     = 0x5
--	PACKET_FANOUT_RND                    = 0x4
--	PACKET_FANOUT_ROLLOVER               = 0x3
--	PACKET_FASTROUTE                     = 0x6
--	PACKET_HDRLEN                        = 0xb
--	PACKET_HOST                          = 0x0
--	PACKET_KERNEL                        = 0x7
--	PACKET_LOOPBACK                      = 0x5
--	PACKET_LOSS                          = 0xe
--	PACKET_MR_ALLMULTI                   = 0x2
--	PACKET_MR_MULTICAST                  = 0x0
--	PACKET_MR_PROMISC                    = 0x1
--	PACKET_MR_UNICAST                    = 0x3
--	PACKET_MULTICAST                     = 0x2
--	PACKET_ORIGDEV                       = 0x9
--	PACKET_OTHERHOST                     = 0x3
--	PACKET_OUTGOING                      = 0x4
--	PACKET_QDISC_BYPASS                  = 0x14
--	PACKET_RECV_OUTPUT                   = 0x3
--	PACKET_RESERVE                       = 0xc
--	PACKET_ROLLOVER_STATS                = 0x15
--	PACKET_RX_RING                       = 0x5
--	PACKET_STATISTICS                    = 0x6
--	PACKET_TIMESTAMP                     = 0x11
--	PACKET_TX_HAS_OFF                    = 0x13
--	PACKET_TX_RING                       = 0xd
--	PACKET_TX_TIMESTAMP                  = 0x10
--	PACKET_USER                          = 0x6
--	PACKET_VERSION                       = 0xa
--	PACKET_VNET_HDR                      = 0xf
--	PARENB                               = 0x100
--	PARITY_CRC16_PR0                     = 0x2
--	PARITY_CRC16_PR0_CCITT               = 0x4
--	PARITY_CRC16_PR1                     = 0x3
--	PARITY_CRC16_PR1_CCITT               = 0x5
--	PARITY_CRC32_PR0_CCITT               = 0x6
--	PARITY_CRC32_PR1_CCITT               = 0x7
--	PARITY_DEFAULT                       = 0x0
--	PARITY_NONE                          = 0x1
--	PARMRK                               = 0x8
--	PARODD                               = 0x200
--	PENDIN                               = 0x4000
--	PERF_EVENT_IOC_DISABLE               = 0x2401
--	PERF_EVENT_IOC_ENABLE                = 0x2400
--	PERF_EVENT_IOC_ID                    = 0x80042407
--	PERF_EVENT_IOC_PAUSE_OUTPUT          = 0x40042409
--	PERF_EVENT_IOC_PERIOD                = 0x40082404
--	PERF_EVENT_IOC_REFRESH               = 0x2402
--	PERF_EVENT_IOC_RESET                 = 0x2403
--	PERF_EVENT_IOC_SET_BPF               = 0x40042408
--	PERF_EVENT_IOC_SET_FILTER            = 0x40042406
--	PERF_EVENT_IOC_SET_OUTPUT            = 0x2405
--	PRIO_PGRP                            = 0x1
--	PRIO_PROCESS                         = 0x0
--	PRIO_USER                            = 0x2
--	PROT_EXEC                            = 0x4
--	PROT_GROWSDOWN                       = 0x1000000
--	PROT_GROWSUP                         = 0x2000000
--	PROT_NONE                            = 0x0
--	PROT_READ                            = 0x1
--	PROT_WRITE                           = 0x2
--	PR_CAPBSET_DROP                      = 0x18
--	PR_CAPBSET_READ                      = 0x17
--	PR_CAP_AMBIENT                       = 0x2f
--	PR_CAP_AMBIENT_CLEAR_ALL             = 0x4
--	PR_CAP_AMBIENT_IS_SET                = 0x1
--	PR_CAP_AMBIENT_LOWER                 = 0x3
--	PR_CAP_AMBIENT_RAISE                 = 0x2
--	PR_ENDIAN_BIG                        = 0x0
--	PR_ENDIAN_LITTLE                     = 0x1
--	PR_ENDIAN_PPC_LITTLE                 = 0x2
--	PR_FPEMU_NOPRINT                     = 0x1
--	PR_FPEMU_SIGFPE                      = 0x2
--	PR_FP_EXC_ASYNC                      = 0x2
--	PR_FP_EXC_DISABLED                   = 0x0
--	PR_FP_EXC_DIV                        = 0x10000
--	PR_FP_EXC_INV                        = 0x100000
--	PR_FP_EXC_NONRECOV                   = 0x1
--	PR_FP_EXC_OVF                        = 0x20000
--	PR_FP_EXC_PRECISE                    = 0x3
--	PR_FP_EXC_RES                        = 0x80000
--	PR_FP_EXC_SW_ENABLE                  = 0x80
--	PR_FP_EXC_UND                        = 0x40000
--	PR_FP_MODE_FR                        = 0x1
--	PR_FP_MODE_FRE                       = 0x2
--	PR_GET_CHILD_SUBREAPER               = 0x25
--	PR_GET_DUMPABLE                      = 0x3
--	PR_GET_ENDIAN                        = 0x13
--	PR_GET_FPEMU                         = 0x9
--	PR_GET_FPEXC                         = 0xb
--	PR_GET_FP_MODE                       = 0x2e
--	PR_GET_KEEPCAPS                      = 0x7
--	PR_GET_NAME                          = 0x10
--	PR_GET_NO_NEW_PRIVS                  = 0x27
--	PR_GET_PDEATHSIG                     = 0x2
--	PR_GET_SECCOMP                       = 0x15
--	PR_GET_SECUREBITS                    = 0x1b
--	PR_GET_THP_DISABLE                   = 0x2a
--	PR_GET_TID_ADDRESS                   = 0x28
--	PR_GET_TIMERSLACK                    = 0x1e
--	PR_GET_TIMING                        = 0xd
--	PR_GET_TSC                           = 0x19
--	PR_GET_UNALIGN                       = 0x5
--	PR_MCE_KILL                          = 0x21
--	PR_MCE_KILL_CLEAR                    = 0x0
--	PR_MCE_KILL_DEFAULT                  = 0x2
--	PR_MCE_KILL_EARLY                    = 0x1
--	PR_MCE_KILL_GET                      = 0x22
--	PR_MCE_KILL_LATE                     = 0x0
--	PR_MCE_KILL_SET                      = 0x1
--	PR_MPX_DISABLE_MANAGEMENT            = 0x2c
--	PR_MPX_ENABLE_MANAGEMENT             = 0x2b
--	PR_SET_CHILD_SUBREAPER               = 0x24
--	PR_SET_DUMPABLE                      = 0x4
--	PR_SET_ENDIAN                        = 0x14
--	PR_SET_FPEMU                         = 0xa
--	PR_SET_FPEXC                         = 0xc
--	PR_SET_FP_MODE                       = 0x2d
--	PR_SET_KEEPCAPS                      = 0x8
--	PR_SET_MM                            = 0x23
--	PR_SET_MM_ARG_END                    = 0x9
--	PR_SET_MM_ARG_START                  = 0x8
--	PR_SET_MM_AUXV                       = 0xc
--	PR_SET_MM_BRK                        = 0x7
--	PR_SET_MM_END_CODE                   = 0x2
--	PR_SET_MM_END_DATA                   = 0x4
--	PR_SET_MM_ENV_END                    = 0xb
--	PR_SET_MM_ENV_START                  = 0xa
--	PR_SET_MM_EXE_FILE                   = 0xd
--	PR_SET_MM_MAP                        = 0xe
--	PR_SET_MM_MAP_SIZE                   = 0xf
--	PR_SET_MM_START_BRK                  = 0x6
--	PR_SET_MM_START_CODE                 = 0x1
--	PR_SET_MM_START_DATA                 = 0x3
--	PR_SET_MM_START_STACK                = 0x5
--	PR_SET_NAME                          = 0xf
--	PR_SET_NO_NEW_PRIVS                  = 0x26
--	PR_SET_PDEATHSIG                     = 0x1
--	PR_SET_PTRACER                       = 0x59616d61
--	PR_SET_PTRACER_ANY                   = 0xffffffff
--	PR_SET_SECCOMP                       = 0x16
--	PR_SET_SECUREBITS                    = 0x1c
--	PR_SET_THP_DISABLE                   = 0x29
--	PR_SET_TIMERSLACK                    = 0x1d
--	PR_SET_TIMING                        = 0xe
--	PR_SET_TSC                           = 0x1a
--	PR_SET_UNALIGN                       = 0x6
--	PR_TASK_PERF_EVENTS_DISABLE          = 0x1f
--	PR_TASK_PERF_EVENTS_ENABLE           = 0x20
--	PR_TIMING_STATISTICAL                = 0x0
--	PR_TIMING_TIMESTAMP                  = 0x1
--	PR_TSC_ENABLE                        = 0x1
--	PR_TSC_SIGSEGV                       = 0x2
--	PR_UNALIGN_NOPRINT                   = 0x1
--	PR_UNALIGN_SIGBUS                    = 0x2
--	PTRACE_ATTACH                        = 0x10
--	PTRACE_CONT                          = 0x7
--	PTRACE_DETACH                        = 0x11
--	PTRACE_EVENT_CLONE                   = 0x3
--	PTRACE_EVENT_EXEC                    = 0x4
--	PTRACE_EVENT_EXIT                    = 0x6
--	PTRACE_EVENT_FORK                    = 0x1
--	PTRACE_EVENT_SECCOMP                 = 0x7
--	PTRACE_EVENT_STOP                    = 0x80
--	PTRACE_EVENT_VFORK                   = 0x2
--	PTRACE_EVENT_VFORK_DONE              = 0x5
--	PTRACE_GETEVENTMSG                   = 0x4201
--	PTRACE_GETFPREGS                     = 0xe
--	PTRACE_GETFPXREGS                    = 0x12
--	PTRACE_GETREGS                       = 0xc
--	PTRACE_GETREGSET                     = 0x4204
--	PTRACE_GETSIGINFO                    = 0x4202
--	PTRACE_GETSIGMASK                    = 0x420a
--	PTRACE_GET_THREAD_AREA               = 0x19
--	PTRACE_INTERRUPT                     = 0x4207
--	PTRACE_KILL                          = 0x8
--	PTRACE_LISTEN                        = 0x4208
--	PTRACE_OLDSETOPTIONS                 = 0x15
--	PTRACE_O_EXITKILL                    = 0x100000
--	PTRACE_O_MASK                        = 0x3000ff
--	PTRACE_O_SUSPEND_SECCOMP             = 0x200000
--	PTRACE_O_TRACECLONE                  = 0x8
--	PTRACE_O_TRACEEXEC                   = 0x10
--	PTRACE_O_TRACEEXIT                   = 0x40
--	PTRACE_O_TRACEFORK                   = 0x2
--	PTRACE_O_TRACESECCOMP                = 0x80
--	PTRACE_O_TRACESYSGOOD                = 0x1
--	PTRACE_O_TRACEVFORK                  = 0x4
--	PTRACE_O_TRACEVFORKDONE              = 0x20
--	PTRACE_PEEKDATA                      = 0x2
--	PTRACE_PEEKSIGINFO                   = 0x4209
--	PTRACE_PEEKSIGINFO_SHARED            = 0x1
--	PTRACE_PEEKTEXT                      = 0x1
--	PTRACE_PEEKUSR                       = 0x3
--	PTRACE_POKEDATA                      = 0x5
--	PTRACE_POKETEXT                      = 0x4
--	PTRACE_POKEUSR                       = 0x6
--	PTRACE_SECCOMP_GET_FILTER            = 0x420c
--	PTRACE_SEIZE                         = 0x4206
--	PTRACE_SETFPREGS                     = 0xf
--	PTRACE_SETFPXREGS                    = 0x13
--	PTRACE_SETOPTIONS                    = 0x4200
--	PTRACE_SETREGS                       = 0xd
--	PTRACE_SETREGSET                     = 0x4205
--	PTRACE_SETSIGINFO                    = 0x4203
--	PTRACE_SETSIGMASK                    = 0x420b
--	PTRACE_SET_THREAD_AREA               = 0x1a
--	PTRACE_SINGLEBLOCK                   = 0x21
--	PTRACE_SINGLESTEP                    = 0x9
--	PTRACE_SYSCALL                       = 0x18
--	PTRACE_SYSEMU                        = 0x1f
--	PTRACE_SYSEMU_SINGLESTEP             = 0x20
--	PTRACE_TRACEME                       = 0x0
--	RLIMIT_AS                            = 0x9
--	RLIMIT_CORE                          = 0x4
--	RLIMIT_CPU                           = 0x0
--	RLIMIT_DATA                          = 0x2
--	RLIMIT_FSIZE                         = 0x1
--	RLIMIT_LOCKS                         = 0xa
--	RLIMIT_MEMLOCK                       = 0x8
--	RLIMIT_MSGQUEUE                      = 0xc
--	RLIMIT_NICE                          = 0xd
--	RLIMIT_NOFILE                        = 0x7
--	RLIMIT_NPROC                         = 0x6
--	RLIMIT_RSS                           = 0x5
--	RLIMIT_RTPRIO                        = 0xe
--	RLIMIT_RTTIME                        = 0xf
--	RLIMIT_SIGPENDING                    = 0xb
--	RLIMIT_STACK                         = 0x3
--	RLIM_INFINITY                        = -0x1
--	RTAX_ADVMSS                          = 0x8
--	RTAX_CC_ALGO                         = 0x10
--	RTAX_CWND                            = 0x7
--	RTAX_FEATURES                        = 0xc
--	RTAX_FEATURE_ALLFRAG                 = 0x8
--	RTAX_FEATURE_ECN                     = 0x1
--	RTAX_FEATURE_MASK                    = 0xf
--	RTAX_FEATURE_SACK                    = 0x2
--	RTAX_FEATURE_TIMESTAMP               = 0x4
--	RTAX_HOPLIMIT                        = 0xa
--	RTAX_INITCWND                        = 0xb
--	RTAX_INITRWND                        = 0xe
--	RTAX_LOCK                            = 0x1
--	RTAX_MAX                             = 0x10
--	RTAX_MTU                             = 0x2
--	RTAX_QUICKACK                        = 0xf
--	RTAX_REORDERING                      = 0x9
--	RTAX_RTO_MIN                         = 0xd
--	RTAX_RTT                             = 0x4
--	RTAX_RTTVAR                          = 0x5
--	RTAX_SSTHRESH                        = 0x6
--	RTAX_UNSPEC                          = 0x0
--	RTAX_WINDOW                          = 0x3
--	RTA_ALIGNTO                          = 0x4
--	RTA_MAX                              = 0x19
--	RTCF_DIRECTSRC                       = 0x4000000
--	RTCF_DOREDIRECT                      = 0x1000000
--	RTCF_LOG                             = 0x2000000
--	RTCF_MASQ                            = 0x400000
--	RTCF_NAT                             = 0x800000
--	RTCF_VALVE                           = 0x200000
--	RTF_ADDRCLASSMASK                    = 0xf8000000
--	RTF_ADDRCONF                         = 0x40000
--	RTF_ALLONLINK                        = 0x20000
--	RTF_BROADCAST                        = 0x10000000
--	RTF_CACHE                            = 0x1000000
--	RTF_DEFAULT                          = 0x10000
--	RTF_DYNAMIC                          = 0x10
--	RTF_FLOW                             = 0x2000000
--	RTF_GATEWAY                          = 0x2
--	RTF_HOST                             = 0x4
--	RTF_INTERFACE                        = 0x40000000
--	RTF_IRTT                             = 0x100
--	RTF_LINKRT                           = 0x100000
--	RTF_LOCAL                            = 0x80000000
--	RTF_MODIFIED                         = 0x20
--	RTF_MSS                              = 0x40
--	RTF_MTU                              = 0x40
--	RTF_MULTICAST                        = 0x20000000
--	RTF_NAT                              = 0x8000000
--	RTF_NOFORWARD                        = 0x1000
--	RTF_NONEXTHOP                        = 0x200000
--	RTF_NOPMTUDISC                       = 0x4000
--	RTF_POLICY                           = 0x4000000
--	RTF_REINSTATE                        = 0x8
--	RTF_REJECT                           = 0x200
--	RTF_STATIC                           = 0x400
--	RTF_THROW                            = 0x2000
--	RTF_UP                               = 0x1
--	RTF_WINDOW                           = 0x80
--	RTF_XRESOLVE                         = 0x800
--	RTM_BASE                             = 0x10
--	RTM_DELACTION                        = 0x31
--	RTM_DELADDR                          = 0x15
--	RTM_DELADDRLABEL                     = 0x49
--	RTM_DELLINK                          = 0x11
--	RTM_DELMDB                           = 0x55
--	RTM_DELNEIGH                         = 0x1d
--	RTM_DELNSID                          = 0x59
--	RTM_DELQDISC                         = 0x25
--	RTM_DELROUTE                         = 0x19
--	RTM_DELRULE                          = 0x21
--	RTM_DELTCLASS                        = 0x29
--	RTM_DELTFILTER                       = 0x2d
--	RTM_F_CLONED                         = 0x200
--	RTM_F_EQUALIZE                       = 0x400
--	RTM_F_LOOKUP_TABLE                   = 0x1000
--	RTM_F_NOTIFY                         = 0x100
--	RTM_F_PREFIX                         = 0x800
--	RTM_GETACTION                        = 0x32
--	RTM_GETADDR                          = 0x16
--	RTM_GETADDRLABEL                     = 0x4a
--	RTM_GETANYCAST                       = 0x3e
--	RTM_GETDCB                           = 0x4e
--	RTM_GETLINK                          = 0x12
--	RTM_GETMDB                           = 0x56
--	RTM_GETMULTICAST                     = 0x3a
--	RTM_GETNEIGH                         = 0x1e
--	RTM_GETNEIGHTBL                      = 0x42
--	RTM_GETNETCONF                       = 0x52
--	RTM_GETNSID                          = 0x5a
--	RTM_GETQDISC                         = 0x26
--	RTM_GETROUTE                         = 0x1a
--	RTM_GETRULE                          = 0x22
--	RTM_GETSTATS                         = 0x5e
--	RTM_GETTCLASS                        = 0x2a
--	RTM_GETTFILTER                       = 0x2e
--	RTM_MAX                              = 0x5f
--	RTM_NEWACTION                        = 0x30
--	RTM_NEWADDR                          = 0x14
--	RTM_NEWADDRLABEL                     = 0x48
--	RTM_NEWLINK                          = 0x10
--	RTM_NEWMDB                           = 0x54
--	RTM_NEWNDUSEROPT                     = 0x44
--	RTM_NEWNEIGH                         = 0x1c
--	RTM_NEWNEIGHTBL                      = 0x40
--	RTM_NEWNETCONF                       = 0x50
--	RTM_NEWNSID                          = 0x58
--	RTM_NEWPREFIX                        = 0x34
--	RTM_NEWQDISC                         = 0x24
--	RTM_NEWROUTE                         = 0x18
--	RTM_NEWRULE                          = 0x20
--	RTM_NEWSTATS                         = 0x5c
--	RTM_NEWTCLASS                        = 0x28
--	RTM_NEWTFILTER                       = 0x2c
--	RTM_NR_FAMILIES                      = 0x14
--	RTM_NR_MSGTYPES                      = 0x50
--	RTM_SETDCB                           = 0x4f
--	RTM_SETLINK                          = 0x13
--	RTM_SETNEIGHTBL                      = 0x43
--	RTNH_ALIGNTO                         = 0x4
--	RTNH_COMPARE_MASK                    = 0x19
--	RTNH_F_DEAD                          = 0x1
--	RTNH_F_LINKDOWN                      = 0x10
--	RTNH_F_OFFLOAD                       = 0x8
--	RTNH_F_ONLINK                        = 0x4
--	RTNH_F_PERVASIVE                     = 0x2
--	RTN_MAX                              = 0xb
--	RTPROT_BABEL                         = 0x2a
--	RTPROT_BIRD                          = 0xc
--	RTPROT_BOOT                          = 0x3
--	RTPROT_DHCP                          = 0x10
--	RTPROT_DNROUTED                      = 0xd
--	RTPROT_GATED                         = 0x8
--	RTPROT_KERNEL                        = 0x2
--	RTPROT_MROUTED                       = 0x11
--	RTPROT_MRT                           = 0xa
--	RTPROT_NTK                           = 0xf
--	RTPROT_RA                            = 0x9
--	RTPROT_REDIRECT                      = 0x1
--	RTPROT_STATIC                        = 0x4
--	RTPROT_UNSPEC                        = 0x0
--	RTPROT_XORP                          = 0xe
--	RTPROT_ZEBRA                         = 0xb
--	RT_CLASS_DEFAULT                     = 0xfd
--	RT_CLASS_LOCAL                       = 0xff
--	RT_CLASS_MAIN                        = 0xfe
--	RT_CLASS_MAX                         = 0xff
--	RT_CLASS_UNSPEC                      = 0x0
--	RUSAGE_CHILDREN                      = -0x1
--	RUSAGE_SELF                          = 0x0
--	RUSAGE_THREAD                        = 0x1
--	SCM_CREDENTIALS                      = 0x2
--	SCM_RIGHTS                           = 0x1
--	SCM_TIMESTAMP                        = 0x1d
--	SCM_TIMESTAMPING                     = 0x25
--	SCM_TIMESTAMPING_OPT_STATS           = 0x36
--	SCM_TIMESTAMPNS                      = 0x23
--	SCM_WIFI_STATUS                      = 0x29
--	SECCOMP_MODE_DISABLED                = 0x0
--	SECCOMP_MODE_FILTER                  = 0x2
--	SECCOMP_MODE_STRICT                  = 0x1
--	SHUT_RD                              = 0x0
--	SHUT_RDWR                            = 0x2
--	SHUT_WR                              = 0x1
--	SIOCADDDLCI                          = 0x8980
--	SIOCADDMULTI                         = 0x8931
--	SIOCADDRT                            = 0x890b
--	SIOCATMARK                           = 0x8905
--	SIOCBONDCHANGEACTIVE                 = 0x8995
--	SIOCBONDENSLAVE                      = 0x8990
--	SIOCBONDINFOQUERY                    = 0x8994
--	SIOCBONDRELEASE                      = 0x8991
--	SIOCBONDSETHWADDR                    = 0x8992
--	SIOCBONDSLAVEINFOQUERY               = 0x8993
--	SIOCBRADDBR                          = 0x89a0
--	SIOCBRADDIF                          = 0x89a2
--	SIOCBRDELBR                          = 0x89a1
--	SIOCBRDELIF                          = 0x89a3
--	SIOCDARP                             = 0x8953
--	SIOCDELDLCI                          = 0x8981
--	SIOCDELMULTI                         = 0x8932
--	SIOCDELRT                            = 0x890c
--	SIOCDEVPRIVATE                       = 0x89f0
--	SIOCDIFADDR                          = 0x8936
--	SIOCDRARP                            = 0x8960
--	SIOCETHTOOL                          = 0x8946
--	SIOCGARP                             = 0x8954
--	SIOCGHWTSTAMP                        = 0x89b1
--	SIOCGIFADDR                          = 0x8915
--	SIOCGIFBR                            = 0x8940
--	SIOCGIFBRDADDR                       = 0x8919
--	SIOCGIFCONF                          = 0x8912
--	SIOCGIFCOUNT                         = 0x8938
--	SIOCGIFDSTADDR                       = 0x8917
--	SIOCGIFENCAP                         = 0x8925
--	SIOCGIFFLAGS                         = 0x8913
--	SIOCGIFHWADDR                        = 0x8927
--	SIOCGIFINDEX                         = 0x8933
--	SIOCGIFMAP                           = 0x8970
--	SIOCGIFMEM                           = 0x891f
--	SIOCGIFMETRIC                        = 0x891d
--	SIOCGIFMTU                           = 0x8921
--	SIOCGIFNAME                          = 0x8910
--	SIOCGIFNETMASK                       = 0x891b
--	SIOCGIFPFLAGS                        = 0x8935
--	SIOCGIFSLAVE                         = 0x8929
--	SIOCGIFTXQLEN                        = 0x8942
--	SIOCGIFVLAN                          = 0x8982
--	SIOCGMIIPHY                          = 0x8947
--	SIOCGMIIREG                          = 0x8948
--	SIOCGPGRP                            = 0x8904
--	SIOCGRARP                            = 0x8961
--	SIOCGSKNS                            = 0x894c
--	SIOCGSTAMP                           = 0x8906
--	SIOCGSTAMPNS                         = 0x8907
--	SIOCINQ                              = 0x541b
--	SIOCOUTQ                             = 0x5411
--	SIOCOUTQNSD                          = 0x894b
--	SIOCPROTOPRIVATE                     = 0x89e0
--	SIOCRTMSG                            = 0x890d
--	SIOCSARP                             = 0x8955
--	SIOCSHWTSTAMP                        = 0x89b0
--	SIOCSIFADDR                          = 0x8916
--	SIOCSIFBR                            = 0x8941
--	SIOCSIFBRDADDR                       = 0x891a
--	SIOCSIFDSTADDR                       = 0x8918
--	SIOCSIFENCAP                         = 0x8926
--	SIOCSIFFLAGS                         = 0x8914
--	SIOCSIFHWADDR                        = 0x8924
--	SIOCSIFHWBROADCAST                   = 0x8937
--	SIOCSIFLINK                          = 0x8911
--	SIOCSIFMAP                           = 0x8971
--	SIOCSIFMEM                           = 0x8920
--	SIOCSIFMETRIC                        = 0x891e
--	SIOCSIFMTU                           = 0x8922
--	SIOCSIFNAME                          = 0x8923
--	SIOCSIFNETMASK                       = 0x891c
--	SIOCSIFPFLAGS                        = 0x8934
--	SIOCSIFSLAVE                         = 0x8930
--	SIOCSIFTXQLEN                        = 0x8943
--	SIOCSIFVLAN                          = 0x8983
--	SIOCSMIIREG                          = 0x8949
--	SIOCSPGRP                            = 0x8902
--	SIOCSRARP                            = 0x8962
--	SIOCWANDEV                           = 0x894a
--	SOCK_CLOEXEC                         = 0x80000
--	SOCK_DCCP                            = 0x6
--	SOCK_DGRAM                           = 0x2
--	SOCK_IOC_TYPE                        = 0x89
--	SOCK_NONBLOCK                        = 0x800
--	SOCK_PACKET                          = 0xa
--	SOCK_RAW                             = 0x3
--	SOCK_RDM                             = 0x4
--	SOCK_SEQPACKET                       = 0x5
--	SOCK_STREAM                          = 0x1
--	SOL_AAL                              = 0x109
--	SOL_ALG                              = 0x117
--	SOL_ATM                              = 0x108
--	SOL_CAIF                             = 0x116
--	SOL_CAN_BASE                         = 0x64
--	SOL_DCCP                             = 0x10d
--	SOL_DECNET                           = 0x105
--	SOL_ICMPV6                           = 0x3a
--	SOL_IP                               = 0x0
--	SOL_IPV6                             = 0x29
--	SOL_IRDA                             = 0x10a
--	SOL_IUCV                             = 0x115
--	SOL_KCM                              = 0x119
--	SOL_LLC                              = 0x10c
--	SOL_NETBEUI                          = 0x10b
--	SOL_NETLINK                          = 0x10e
--	SOL_NFC                              = 0x118
--	SOL_PACKET                           = 0x107
--	SOL_PNPIPE                           = 0x113
--	SOL_PPPOL2TP                         = 0x111
--	SOL_RAW                              = 0xff
--	SOL_RDS                              = 0x114
--	SOL_RXRPC                            = 0x110
--	SOL_SOCKET                           = 0x1
--	SOL_TCP                              = 0x6
--	SOL_TIPC                             = 0x10f
--	SOL_X25                              = 0x106
--	SOMAXCONN                            = 0x80
--	SO_ACCEPTCONN                        = 0x1e
--	SO_ATTACH_BPF                        = 0x32
--	SO_ATTACH_FILTER                     = 0x1a
--	SO_ATTACH_REUSEPORT_CBPF             = 0x33
--	SO_ATTACH_REUSEPORT_EBPF             = 0x34
--	SO_BINDTODEVICE                      = 0x19
--	SO_BPF_EXTENSIONS                    = 0x30
--	SO_BROADCAST                         = 0x6
--	SO_BSDCOMPAT                         = 0xe
--	SO_BUSY_POLL                         = 0x2e
--	SO_CNX_ADVICE                        = 0x35
--	SO_DEBUG                             = 0x1
--	SO_DETACH_BPF                        = 0x1b
--	SO_DETACH_FILTER                     = 0x1b
--	SO_DOMAIN                            = 0x27
--	SO_DONTROUTE                         = 0x5
--	SO_ERROR                             = 0x4
--	SO_GET_FILTER                        = 0x1a
--	SO_INCOMING_CPU                      = 0x31
--	SO_KEEPALIVE                         = 0x9
--	SO_LINGER                            = 0xd
--	SO_LOCK_FILTER                       = 0x2c
--	SO_MARK                              = 0x24
--	SO_MAX_PACING_RATE                   = 0x2f
--	SO_NOFCS                             = 0x2b
--	SO_NO_CHECK                          = 0xb
--	SO_OOBINLINE                         = 0xa
--	SO_PASSCRED                          = 0x10
--	SO_PASSSEC                           = 0x22
--	SO_PEEK_OFF                          = 0x2a
--	SO_PEERCRED                          = 0x11
--	SO_PEERNAME                          = 0x1c
--	SO_PEERSEC                           = 0x1f
--	SO_PRIORITY                          = 0xc
--	SO_PROTOCOL                          = 0x26
--	SO_RCVBUF                            = 0x8
--	SO_RCVBUFFORCE                       = 0x21
--	SO_RCVLOWAT                          = 0x12
--	SO_RCVTIMEO                          = 0x14
--	SO_REUSEADDR                         = 0x2
--	SO_REUSEPORT                         = 0xf
--	SO_RXQ_OVFL                          = 0x28
--	SO_SECURITY_AUTHENTICATION           = 0x16
--	SO_SECURITY_ENCRYPTION_NETWORK       = 0x18
--	SO_SECURITY_ENCRYPTION_TRANSPORT     = 0x17
--	SO_SELECT_ERR_QUEUE                  = 0x2d
--	SO_SNDBUF                            = 0x7
--	SO_SNDBUFFORCE                       = 0x20
--	SO_SNDLOWAT                          = 0x13
--	SO_SNDTIMEO                          = 0x15
--	SO_TIMESTAMP                         = 0x1d
--	SO_TIMESTAMPING                      = 0x25
--	SO_TIMESTAMPNS                       = 0x23
--	SO_TYPE                              = 0x3
--	SO_VM_SOCKETS_BUFFER_MAX_SIZE        = 0x2
--	SO_VM_SOCKETS_BUFFER_MIN_SIZE        = 0x1
--	SO_VM_SOCKETS_BUFFER_SIZE            = 0x0
--	SO_VM_SOCKETS_CONNECT_TIMEOUT        = 0x6
--	SO_VM_SOCKETS_NONBLOCK_TXRX          = 0x7
--	SO_VM_SOCKETS_PEER_HOST_VM_ID        = 0x3
--	SO_VM_SOCKETS_TRUSTED                = 0x5
--	SO_WIFI_STATUS                       = 0x29
--	SPLICE_F_GIFT                        = 0x8
--	SPLICE_F_MORE                        = 0x4
--	SPLICE_F_MOVE                        = 0x1
--	SPLICE_F_NONBLOCK                    = 0x2
--	S_BLKSIZE                            = 0x200
--	S_IEXEC                              = 0x40
--	S_IFBLK                              = 0x6000
--	S_IFCHR                              = 0x2000
--	S_IFDIR                              = 0x4000
--	S_IFIFO                              = 0x1000
--	S_IFLNK                              = 0xa000
--	S_IFMT                               = 0xf000
--	S_IFREG                              = 0x8000
--	S_IFSOCK                             = 0xc000
--	S_IREAD                              = 0x100
--	S_IRGRP                              = 0x20
--	S_IROTH                              = 0x4
--	S_IRUSR                              = 0x100
--	S_IRWXG                              = 0x38
--	S_IRWXO                              = 0x7
--	S_IRWXU                              = 0x1c0
--	S_ISGID                              = 0x400
--	S_ISUID                              = 0x800
--	S_ISVTX                              = 0x200
--	S_IWGRP                              = 0x10
--	S_IWOTH                              = 0x2
--	S_IWRITE                             = 0x80
--	S_IWUSR                              = 0x80
--	S_IXGRP                              = 0x8
--	S_IXOTH                              = 0x1
--	S_IXUSR                              = 0x40
--	TAB0                                 = 0x0
--	TAB1                                 = 0x800
--	TAB2                                 = 0x1000
--	TAB3                                 = 0x1800
--	TABDLY                               = 0x1800
--	TASKSTATS_CMD_ATTR_MAX               = 0x4
--	TASKSTATS_CMD_MAX                    = 0x2
--	TASKSTATS_GENL_NAME                  = "TASKSTATS"
--	TASKSTATS_GENL_VERSION               = 0x1
--	TASKSTATS_TYPE_MAX                   = 0x6
--	TASKSTATS_VERSION                    = 0x8
--	TCFLSH                               = 0x540b
--	TCGETA                               = 0x5405
--	TCGETS                               = 0x5401
--	TCGETS2                              = 0x802c542a
--	TCGETX                               = 0x5432
--	TCIFLUSH                             = 0x0
--	TCIOFF                               = 0x2
--	TCIOFLUSH                            = 0x2
--	TCION                                = 0x3
--	TCOFLUSH                             = 0x1
--	TCOOFF                               = 0x0
--	TCOON                                = 0x1
--	TCP_CC_INFO                          = 0x1a
--	TCP_CONGESTION                       = 0xd
--	TCP_COOKIE_IN_ALWAYS                 = 0x1
--	TCP_COOKIE_MAX                       = 0x10
--	TCP_COOKIE_MIN                       = 0x8
--	TCP_COOKIE_OUT_NEVER                 = 0x2
--	TCP_COOKIE_PAIR_SIZE                 = 0x20
--	TCP_COOKIE_TRANSACTIONS              = 0xf
--	TCP_CORK                             = 0x3
--	TCP_DEFER_ACCEPT                     = 0x9
--	TCP_FASTOPEN                         = 0x17
--	TCP_INFO                             = 0xb
--	TCP_KEEPCNT                          = 0x6
--	TCP_KEEPIDLE                         = 0x4
--	TCP_KEEPINTVL                        = 0x5
--	TCP_LINGER2                          = 0x8
--	TCP_MAXSEG                           = 0x2
--	TCP_MAXWIN                           = 0xffff
--	TCP_MAX_WINSHIFT                     = 0xe
--	TCP_MD5SIG                           = 0xe
--	TCP_MD5SIG_MAXKEYLEN                 = 0x50
--	TCP_MSS                              = 0x200
--	TCP_MSS_DEFAULT                      = 0x218
--	TCP_MSS_DESIRED                      = 0x4c4
--	TCP_NODELAY                          = 0x1
--	TCP_NOTSENT_LOWAT                    = 0x19
--	TCP_QUEUE_SEQ                        = 0x15
--	TCP_QUICKACK                         = 0xc
--	TCP_REPAIR                           = 0x13
--	TCP_REPAIR_OPTIONS                   = 0x16
--	TCP_REPAIR_QUEUE                     = 0x14
--	TCP_REPAIR_WINDOW                    = 0x1d
--	TCP_SAVED_SYN                        = 0x1c
--	TCP_SAVE_SYN                         = 0x1b
--	TCP_SYNCNT                           = 0x7
--	TCP_S_DATA_IN                        = 0x4
--	TCP_S_DATA_OUT                       = 0x8
--	TCP_THIN_DUPACK                      = 0x11
--	TCP_THIN_LINEAR_TIMEOUTS             = 0x10
--	TCP_TIMESTAMP                        = 0x18
--	TCP_USER_TIMEOUT                     = 0x12
--	TCP_WINDOW_CLAMP                     = 0xa
--	TCSAFLUSH                            = 0x2
--	TCSBRK                               = 0x5409
--	TCSBRKP                              = 0x5425
--	TCSETA                               = 0x5406
--	TCSETAF                              = 0x5408
--	TCSETAW                              = 0x5407
--	TCSETS                               = 0x5402
--	TCSETS2                              = 0x402c542b
--	TCSETSF                              = 0x5404
--	TCSETSF2                             = 0x402c542d
--	TCSETSW                              = 0x5403
--	TCSETSW2                             = 0x402c542c
--	TCSETX                               = 0x5433
--	TCSETXF                              = 0x5434
--	TCSETXW                              = 0x5435
--	TCXONC                               = 0x540a
--	TIOCCBRK                             = 0x5428
--	TIOCCONS                             = 0x541d
--	TIOCEXCL                             = 0x540c
--	TIOCGDEV                             = 0x80045432
--	TIOCGETD                             = 0x5424
--	TIOCGEXCL                            = 0x80045440
--	TIOCGICOUNT                          = 0x545d
--	TIOCGLCKTRMIOS                       = 0x5456
--	TIOCGPGRP                            = 0x540f
--	TIOCGPKT                             = 0x80045438
--	TIOCGPTLCK                           = 0x80045439
--	TIOCGPTN                             = 0x80045430
--	TIOCGRS485                           = 0x542e
--	TIOCGSERIAL                          = 0x541e
--	TIOCGSID                             = 0x5429
--	TIOCGSOFTCAR                         = 0x5419
--	TIOCGWINSZ                           = 0x5413
--	TIOCINQ                              = 0x541b
--	TIOCLINUX                            = 0x541c
--	TIOCMBIC                             = 0x5417
--	TIOCMBIS                             = 0x5416
--	TIOCMGET                             = 0x5415
--	TIOCMIWAIT                           = 0x545c
--	TIOCMSET                             = 0x5418
--	TIOCM_CAR                            = 0x40
--	TIOCM_CD                             = 0x40
--	TIOCM_CTS                            = 0x20
--	TIOCM_DSR                            = 0x100
--	TIOCM_DTR                            = 0x2
--	TIOCM_LE                             = 0x1
--	TIOCM_RI                             = 0x80
--	TIOCM_RNG                            = 0x80
--	TIOCM_RTS                            = 0x4
--	TIOCM_SR                             = 0x10
--	TIOCM_ST                             = 0x8
--	TIOCNOTTY                            = 0x5422
--	TIOCNXCL                             = 0x540d
--	TIOCOUTQ                             = 0x5411
--	TIOCPKT                              = 0x5420
--	TIOCPKT_DATA                         = 0x0
--	TIOCPKT_DOSTOP                       = 0x20
--	TIOCPKT_FLUSHREAD                    = 0x1
--	TIOCPKT_FLUSHWRITE                   = 0x2
--	TIOCPKT_IOCTL                        = 0x40
--	TIOCPKT_NOSTOP                       = 0x10
--	TIOCPKT_START                        = 0x8
--	TIOCPKT_STOP                         = 0x4
--	TIOCSBRK                             = 0x5427
--	TIOCSCTTY                            = 0x540e
--	TIOCSERCONFIG                        = 0x5453
--	TIOCSERGETLSR                        = 0x5459
--	TIOCSERGETMULTI                      = 0x545a
--	TIOCSERGSTRUCT                       = 0x5458
--	TIOCSERGWILD                         = 0x5454
--	TIOCSERSETMULTI                      = 0x545b
--	TIOCSERSWILD                         = 0x5455
--	TIOCSER_TEMT                         = 0x1
--	TIOCSETD                             = 0x5423
--	TIOCSIG                              = 0x40045436
--	TIOCSLCKTRMIOS                       = 0x5457
--	TIOCSPGRP                            = 0x5410
--	TIOCSPTLCK                           = 0x40045431
--	TIOCSRS485                           = 0x542f
--	TIOCSSERIAL                          = 0x541f
--	TIOCSSOFTCAR                         = 0x541a
--	TIOCSTI                              = 0x5412
--	TIOCSWINSZ                           = 0x5414
--	TIOCVHANGUP                          = 0x5437
--	TOSTOP                               = 0x100
--	TS_COMM_LEN                          = 0x20
--	TUNATTACHFILTER                      = 0x400854d5
--	TUNDETACHFILTER                      = 0x400854d6
--	TUNGETFEATURES                       = 0x800454cf
--	TUNGETFILTER                         = 0x800854db
--	TUNGETIFF                            = 0x800454d2
--	TUNGETSNDBUF                         = 0x800454d3
--	TUNGETVNETBE                         = 0x800454df
--	TUNGETVNETHDRSZ                      = 0x800454d7
--	TUNGETVNETLE                         = 0x800454dd
--	TUNSETDEBUG                          = 0x400454c9
--	TUNSETGROUP                          = 0x400454ce
--	TUNSETIFF                            = 0x400454ca
--	TUNSETIFINDEX                        = 0x400454da
--	TUNSETLINK                           = 0x400454cd
--	TUNSETNOCSUM                         = 0x400454c8
--	TUNSETOFFLOAD                        = 0x400454d0
--	TUNSETOWNER                          = 0x400454cc
--	TUNSETPERSIST                        = 0x400454cb
--	TUNSETQUEUE                          = 0x400454d9
--	TUNSETSNDBUF                         = 0x400454d4
--	TUNSETTXFILTER                       = 0x400454d1
--	TUNSETVNETBE                         = 0x400454de
--	TUNSETVNETHDRSZ                      = 0x400454d8
--	TUNSETVNETLE                         = 0x400454dc
--	UMOUNT_NOFOLLOW                      = 0x8
--	VDISCARD                             = 0xd
--	VEOF                                 = 0x4
--	VEOL                                 = 0xb
--	VEOL2                                = 0x10
--	VERASE                               = 0x2
--	VINTR                                = 0x0
--	VKILL                                = 0x3
--	VLNEXT                               = 0xf
--	VMADDR_CID_ANY                       = 0xffffffff
--	VMADDR_CID_HOST                      = 0x2
--	VMADDR_CID_HYPERVISOR                = 0x0
--	VMADDR_CID_RESERVED                  = 0x1
--	VMADDR_PORT_ANY                      = 0xffffffff
--	VMIN                                 = 0x6
--	VM_SOCKETS_INVALID_VERSION           = 0xffffffff
--	VQUIT                                = 0x1
--	VREPRINT                             = 0xc
--	VSTART                               = 0x8
--	VSTOP                                = 0x9
--	VSUSP                                = 0xa
--	VSWTC                                = 0x7
--	VT0                                  = 0x0
--	VT1                                  = 0x4000
--	VTDLY                                = 0x4000
--	VTIME                                = 0x5
--	VWERASE                              = 0xe
--	WALL                                 = 0x40000000
--	WCLONE                               = 0x80000000
--	WCONTINUED                           = 0x8
--	WEXITED                              = 0x4
--	WNOHANG                              = 0x1
--	WNOTHREAD                            = 0x20000000
--	WNOWAIT                              = 0x1000000
--	WORDSIZE                             = 0x20
--	WSTOPPED                             = 0x2
--	WUNTRACED                            = 0x2
--	XATTR_CREATE                         = 0x1
--	XATTR_REPLACE                        = 0x2
--	XCASE                                = 0x4
--	XTABS                                = 0x1800
-+	B1000000                         = 0x1008
-+	B115200                          = 0x1002
-+	B1152000                         = 0x1009
-+	B1500000                         = 0x100a
-+	B2000000                         = 0x100b
-+	B230400                          = 0x1003
-+	B2500000                         = 0x100c
-+	B3000000                         = 0x100d
-+	B3500000                         = 0x100e
-+	B4000000                         = 0x100f
-+	B460800                          = 0x1004
-+	B500000                          = 0x1005
-+	B57600                           = 0x1001
-+	B576000                          = 0x1006
-+	B921600                          = 0x1007
-+	BLKBSZGET                        = 0x80041270
-+	BLKBSZSET                        = 0x40041271
-+	BLKFLSBUF                        = 0x1261
-+	BLKFRAGET                        = 0x1265
-+	BLKFRASET                        = 0x1264
-+	BLKGETSIZE                       = 0x1260
-+	BLKGETSIZE64                     = 0x80041272
-+	BLKPBSZGET                       = 0x127b
-+	BLKRAGET                         = 0x1263
-+	BLKRASET                         = 0x1262
-+	BLKROGET                         = 0x125e
-+	BLKROSET                         = 0x125d
-+	BLKRRPART                        = 0x125f
-+	BLKSECTGET                       = 0x1267
-+	BLKSECTSET                       = 0x1266
-+	BLKSSZGET                        = 0x1268
-+	BOTHER                           = 0x1000
-+	BS1                              = 0x2000
-+	BSDLY                            = 0x2000
-+	CBAUD                            = 0x100f
-+	CBAUDEX                          = 0x1000
-+	CIBAUD                           = 0x100f0000
-+	CLOCAL                           = 0x800
-+	CR1                              = 0x200
-+	CR2                              = 0x400
-+	CR3                              = 0x600
-+	CRDLY                            = 0x600
-+	CREAD                            = 0x80
-+	CS6                              = 0x10
-+	CS7                              = 0x20
-+	CS8                              = 0x30
-+	CSIZE                            = 0x30
-+	CSTOPB                           = 0x40
-+	ECHOCTL                          = 0x200
-+	ECHOE                            = 0x10
-+	ECHOK                            = 0x20
-+	ECHOKE                           = 0x800
-+	ECHONL                           = 0x40
-+	ECHOPRT                          = 0x400
-+	EFD_CLOEXEC                      = 0x80000
-+	EFD_NONBLOCK                     = 0x800
-+	EPOLL_CLOEXEC                    = 0x80000
-+	EXTPROC                          = 0x10000
-+	FF1                              = 0x8000
-+	FFDLY                            = 0x8000
-+	FLUSHO                           = 0x1000
-+	FP_XSTATE_MAGIC2                 = 0x46505845
-+	FS_IOC_ENABLE_VERITY             = 0x40806685
-+	FS_IOC_GETFLAGS                  = 0x80046601
-+	FS_IOC_GET_ENCRYPTION_POLICY     = 0x400c6615
-+	FS_IOC_GET_ENCRYPTION_PWSALT     = 0x40106614
-+	FS_IOC_SET_ENCRYPTION_POLICY     = 0x800c6613
-+	F_GETLK                          = 0xc
-+	F_GETLK64                        = 0xc
-+	F_GETOWN                         = 0x9
-+	F_RDLCK                          = 0x0
-+	F_SETLK                          = 0xd
-+	F_SETLK64                        = 0xd
-+	F_SETLKW                         = 0xe
-+	F_SETLKW64                       = 0xe
-+	F_SETOWN                         = 0x8
-+	F_UNLCK                          = 0x2
-+	F_WRLCK                          = 0x1
-+	HUPCL                            = 0x400
-+	ICANON                           = 0x2
-+	IEXTEN                           = 0x8000
-+	IN_CLOEXEC                       = 0x80000
-+	IN_NONBLOCK                      = 0x800
-+	IOCTL_VM_SOCKETS_GET_LOCAL_CID   = 0x7b9
-+	ISIG                             = 0x1
-+	IUCLC                            = 0x200
-+	IXOFF                            = 0x1000
-+	IXON                             = 0x400
-+	MAP_32BIT                        = 0x40
-+	MAP_ANON                         = 0x20
-+	MAP_ANONYMOUS                    = 0x20
-+	MAP_DENYWRITE                    = 0x800
-+	MAP_EXECUTABLE                   = 0x1000
-+	MAP_GROWSDOWN                    = 0x100
-+	MAP_HUGETLB                      = 0x40000
-+	MAP_LOCKED                       = 0x2000
-+	MAP_NONBLOCK                     = 0x10000
-+	MAP_NORESERVE                    = 0x4000
-+	MAP_POPULATE                     = 0x8000
-+	MAP_STACK                        = 0x20000
-+	MAP_SYNC                         = 0x80000
-+	MCL_CURRENT                      = 0x1
-+	MCL_FUTURE                       = 0x2
-+	MCL_ONFAULT                      = 0x4
-+	NFDBITS                          = 0x20
-+	NLDLY                            = 0x100
-+	NOFLSH                           = 0x80
-+	NS_GET_NSTYPE                    = 0xb703
-+	NS_GET_OWNER_UID                 = 0xb704
-+	NS_GET_PARENT                    = 0xb702
-+	NS_GET_USERNS                    = 0xb701
-+	OLCUC                            = 0x2
-+	ONLCR                            = 0x4
-+	O_APPEND                         = 0x400
-+	O_ASYNC                          = 0x2000
-+	O_CLOEXEC                        = 0x80000
-+	O_CREAT                          = 0x40
-+	O_DIRECT                         = 0x4000
-+	O_DIRECTORY                      = 0x10000
-+	O_DSYNC                          = 0x1000
-+	O_EXCL                           = 0x80
-+	O_FSYNC                          = 0x101000
-+	O_LARGEFILE                      = 0x8000
-+	O_NDELAY                         = 0x800
-+	O_NOATIME                        = 0x40000
-+	O_NOCTTY                         = 0x100
-+	O_NOFOLLOW                       = 0x20000
-+	O_NONBLOCK                       = 0x800
-+	O_PATH                           = 0x200000
-+	O_RSYNC                          = 0x101000
-+	O_SYNC                           = 0x101000
-+	O_TMPFILE                        = 0x410000
-+	O_TRUNC                          = 0x200
-+	PARENB                           = 0x100
-+	PARODD                           = 0x200
-+	PENDIN                           = 0x4000
-+	PERF_EVENT_IOC_DISABLE           = 0x2401
-+	PERF_EVENT_IOC_ENABLE            = 0x2400
-+	PERF_EVENT_IOC_ID                = 0x80042407
-+	PERF_EVENT_IOC_MODIFY_ATTRIBUTES = 0x4004240b
-+	PERF_EVENT_IOC_PAUSE_OUTPUT      = 0x40042409
-+	PERF_EVENT_IOC_PERIOD            = 0x40082404
-+	PERF_EVENT_IOC_QUERY_BPF         = 0xc004240a
-+	PERF_EVENT_IOC_REFRESH           = 0x2402
-+	PERF_EVENT_IOC_RESET             = 0x2403
-+	PERF_EVENT_IOC_SET_BPF           = 0x40042408
-+	PERF_EVENT_IOC_SET_FILTER        = 0x40042406
-+	PERF_EVENT_IOC_SET_OUTPUT        = 0x2405
-+	PPPIOCATTACH                     = 0x4004743d
-+	PPPIOCATTCHAN                    = 0x40047438
-+	PPPIOCCONNECT                    = 0x4004743a
-+	PPPIOCDETACH                     = 0x4004743c
-+	PPPIOCDISCONN                    = 0x7439
-+	PPPIOCGASYNCMAP                  = 0x80047458
-+	PPPIOCGCHAN                      = 0x80047437
-+	PPPIOCGDEBUG                     = 0x80047441
-+	PPPIOCGFLAGS                     = 0x8004745a
-+	PPPIOCGIDLE                      = 0x8008743f
-+	PPPIOCGIDLE32                    = 0x8008743f
-+	PPPIOCGIDLE64                    = 0x8010743f
-+	PPPIOCGL2TPSTATS                 = 0x80487436
-+	PPPIOCGMRU                       = 0x80047453
-+	PPPIOCGRASYNCMAP                 = 0x80047455
-+	PPPIOCGUNIT                      = 0x80047456
-+	PPPIOCGXASYNCMAP                 = 0x80207450
-+	PPPIOCSACTIVE                    = 0x40087446
-+	PPPIOCSASYNCMAP                  = 0x40047457
-+	PPPIOCSCOMPRESS                  = 0x400c744d
-+	PPPIOCSDEBUG                     = 0x40047440
-+	PPPIOCSFLAGS                     = 0x40047459
-+	PPPIOCSMAXCID                    = 0x40047451
-+	PPPIOCSMRRU                      = 0x4004743b
-+	PPPIOCSMRU                       = 0x40047452
-+	PPPIOCSNPMODE                    = 0x4008744b
-+	PPPIOCSPASS                      = 0x40087447
-+	PPPIOCSRASYNCMAP                 = 0x40047454
-+	PPPIOCSXASYNCMAP                 = 0x4020744f
-+	PPPIOCXFERUNIT                   = 0x744e
-+	PR_SET_PTRACER_ANY               = 0xffffffff
-+	PTRACE_GETFPREGS                 = 0xe
-+	PTRACE_GETFPXREGS                = 0x12
-+	PTRACE_GET_THREAD_AREA           = 0x19
-+	PTRACE_OLDSETOPTIONS             = 0x15
-+	PTRACE_SETFPREGS                 = 0xf
-+	PTRACE_SETFPXREGS                = 0x13
-+	PTRACE_SET_THREAD_AREA           = 0x1a
-+	PTRACE_SINGLEBLOCK               = 0x21
-+	PTRACE_SYSEMU                    = 0x1f
-+	PTRACE_SYSEMU_SINGLESTEP         = 0x20
-+	RLIMIT_AS                        = 0x9
-+	RLIMIT_MEMLOCK                   = 0x8
-+	RLIMIT_NOFILE                    = 0x7
-+	RLIMIT_NPROC                     = 0x6
-+	RLIMIT_RSS                       = 0x5
-+	RNDADDENTROPY                    = 0x40085203
-+	RNDADDTOENTCNT                   = 0x40045201
-+	RNDCLEARPOOL                     = 0x5206
-+	RNDGETENTCNT                     = 0x80045200
-+	RNDGETPOOL                       = 0x80085202
-+	RNDRESEEDCRNG                    = 0x5207
-+	RNDZAPENTCNT                     = 0x5204
-+	RTC_AIE_OFF                      = 0x7002
-+	RTC_AIE_ON                       = 0x7001
-+	RTC_ALM_READ                     = 0x80247008
-+	RTC_ALM_SET                      = 0x40247007
-+	RTC_EPOCH_READ                   = 0x8004700d
-+	RTC_EPOCH_SET                    = 0x4004700e
-+	RTC_IRQP_READ                    = 0x8004700b
-+	RTC_IRQP_SET                     = 0x4004700c
-+	RTC_PIE_OFF                      = 0x7006
-+	RTC_PIE_ON                       = 0x7005
-+	RTC_PLL_GET                      = 0x801c7011
-+	RTC_PLL_SET                      = 0x401c7012
-+	RTC_RD_TIME                      = 0x80247009
-+	RTC_SET_TIME                     = 0x4024700a
-+	RTC_UIE_OFF                      = 0x7004
-+	RTC_UIE_ON                       = 0x7003
-+	RTC_VL_CLR                       = 0x7014
-+	RTC_VL_READ                      = 0x80047013
-+	RTC_WIE_OFF                      = 0x7010
-+	RTC_WIE_ON                       = 0x700f
-+	RTC_WKALM_RD                     = 0x80287010
-+	RTC_WKALM_SET                    = 0x4028700f
-+	SCM_TIMESTAMPING                 = 0x25
-+	SCM_TIMESTAMPING_OPT_STATS       = 0x36
-+	SCM_TIMESTAMPING_PKTINFO         = 0x3a
-+	SCM_TIMESTAMPNS                  = 0x23
-+	SCM_TXTIME                       = 0x3d
-+	SCM_WIFI_STATUS                  = 0x29
-+	SFD_CLOEXEC                      = 0x80000
-+	SFD_NONBLOCK                     = 0x800
-+	SIOCATMARK                       = 0x8905
-+	SIOCGPGRP                        = 0x8904
-+	SIOCGSTAMPNS_NEW                 = 0x80108907
-+	SIOCGSTAMP_NEW                   = 0x80108906
-+	SIOCINQ                          = 0x541b
-+	SIOCOUTQ                         = 0x5411
-+	SIOCSPGRP                        = 0x8902
-+	SOCK_CLOEXEC                     = 0x80000
-+	SOCK_DGRAM                       = 0x2
-+	SOCK_NONBLOCK                    = 0x800
-+	SOCK_STREAM                      = 0x1
-+	SOL_SOCKET                       = 0x1
-+	SO_ACCEPTCONN                    = 0x1e
-+	SO_ATTACH_BPF                    = 0x32
-+	SO_ATTACH_REUSEPORT_CBPF         = 0x33
-+	SO_ATTACH_REUSEPORT_EBPF         = 0x34
-+	SO_BINDTODEVICE                  = 0x19
-+	SO_BINDTOIFINDEX                 = 0x3e
-+	SO_BPF_EXTENSIONS                = 0x30
-+	SO_BROADCAST                     = 0x6
-+	SO_BSDCOMPAT                     = 0xe
-+	SO_BUSY_POLL                     = 0x2e
-+	SO_CNX_ADVICE                    = 0x35
-+	SO_COOKIE                        = 0x39
-+	SO_DETACH_REUSEPORT_BPF          = 0x44
-+	SO_DOMAIN                        = 0x27
-+	SO_DONTROUTE                     = 0x5
-+	SO_ERROR                         = 0x4
-+	SO_INCOMING_CPU                  = 0x31
-+	SO_INCOMING_NAPI_ID              = 0x38
-+	SO_KEEPALIVE                     = 0x9
-+	SO_LINGER                        = 0xd
-+	SO_LOCK_FILTER                   = 0x2c
-+	SO_MARK                          = 0x24
-+	SO_MAX_PACING_RATE               = 0x2f
-+	SO_MEMINFO                       = 0x37
-+	SO_NOFCS                         = 0x2b
-+	SO_OOBINLINE                     = 0xa
-+	SO_PASSCRED                      = 0x10
-+	SO_PASSSEC                       = 0x22
-+	SO_PEEK_OFF                      = 0x2a
-+	SO_PEERCRED                      = 0x11
-+	SO_PEERGROUPS                    = 0x3b
-+	SO_PEERSEC                       = 0x1f
-+	SO_PROTOCOL                      = 0x26
-+	SO_RCVBUF                        = 0x8
-+	SO_RCVBUFFORCE                   = 0x21
-+	SO_RCVLOWAT                      = 0x12
-+	SO_RCVTIMEO                      = 0x14
-+	SO_RCVTIMEO_NEW                  = 0x42
-+	SO_RCVTIMEO_OLD                  = 0x14
-+	SO_REUSEADDR                     = 0x2
-+	SO_REUSEPORT                     = 0xf
-+	SO_RXQ_OVFL                      = 0x28
-+	SO_SECURITY_AUTHENTICATION       = 0x16
-+	SO_SECURITY_ENCRYPTION_NETWORK   = 0x18
-+	SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17
-+	SO_SELECT_ERR_QUEUE              = 0x2d
-+	SO_SNDBUF                        = 0x7
-+	SO_SNDBUFFORCE                   = 0x20
-+	SO_SNDLOWAT                      = 0x13
-+	SO_SNDTIMEO                      = 0x15
-+	SO_SNDTIMEO_NEW                  = 0x43
-+	SO_SNDTIMEO_OLD                  = 0x15
-+	SO_TIMESTAMPING                  = 0x25
-+	SO_TIMESTAMPING_NEW              = 0x41
-+	SO_TIMESTAMPING_OLD              = 0x25
-+	SO_TIMESTAMPNS                   = 0x23
-+	SO_TIMESTAMPNS_NEW               = 0x40
-+	SO_TIMESTAMPNS_OLD               = 0x23
-+	SO_TIMESTAMP_NEW                 = 0x3f
-+	SO_TXTIME                        = 0x3d
-+	SO_TYPE                          = 0x3
-+	SO_WIFI_STATUS                   = 0x29
-+	SO_ZEROCOPY                      = 0x3c
-+	TAB1                             = 0x800
-+	TAB2                             = 0x1000
-+	TAB3                             = 0x1800
-+	TABDLY                           = 0x1800
-+	TCFLSH                           = 0x540b
-+	TCGETA                           = 0x5405
-+	TCGETS                           = 0x5401
-+	TCGETS2                          = 0x802c542a
-+	TCGETX                           = 0x5432
-+	TCSAFLUSH                        = 0x2
-+	TCSBRK                           = 0x5409
-+	TCSBRKP                          = 0x5425
-+	TCSETA                           = 0x5406
-+	TCSETAF                          = 0x5408
-+	TCSETAW                          = 0x5407
-+	TCSETS                           = 0x5402
-+	TCSETS2                          = 0x402c542b
-+	TCSETSF                          = 0x5404
-+	TCSETSF2                         = 0x402c542d
-+	TCSETSW                          = 0x5403
-+	TCSETSW2                         = 0x402c542c
-+	TCSETX                           = 0x5433
-+	TCSETXF                          = 0x5434
-+	TCSETXW                          = 0x5435
-+	TCXONC                           = 0x540a
-+	TIOCCBRK                         = 0x5428
-+	TIOCCONS                         = 0x541d
-+	TIOCEXCL                         = 0x540c
-+	TIOCGDEV                         = 0x80045432
-+	TIOCGETD                         = 0x5424
-+	TIOCGEXCL                        = 0x80045440
-+	TIOCGICOUNT                      = 0x545d
-+	TIOCGISO7816                     = 0x80285442
-+	TIOCGLCKTRMIOS                   = 0x5456
-+	TIOCGPGRP                        = 0x540f
-+	TIOCGPKT                         = 0x80045438
-+	TIOCGPTLCK                       = 0x80045439
-+	TIOCGPTN                         = 0x80045430
-+	TIOCGPTPEER                      = 0x5441
-+	TIOCGRS485                       = 0x542e
-+	TIOCGSERIAL                      = 0x541e
-+	TIOCGSID                         = 0x5429
-+	TIOCGSOFTCAR                     = 0x5419
-+	TIOCGWINSZ                       = 0x5413
-+	TIOCINQ                          = 0x541b
-+	TIOCLINUX                        = 0x541c
-+	TIOCMBIC                         = 0x5417
-+	TIOCMBIS                         = 0x5416
-+	TIOCMGET                         = 0x5415
-+	TIOCMIWAIT                       = 0x545c
-+	TIOCMSET                         = 0x5418
-+	TIOCM_CAR                        = 0x40
-+	TIOCM_CD                         = 0x40
-+	TIOCM_CTS                        = 0x20
-+	TIOCM_DSR                        = 0x100
-+	TIOCM_RI                         = 0x80
-+	TIOCM_RNG                        = 0x80
-+	TIOCM_SR                         = 0x10
-+	TIOCM_ST                         = 0x8
-+	TIOCNOTTY                        = 0x5422
-+	TIOCNXCL                         = 0x540d
-+	TIOCOUTQ                         = 0x5411
-+	TIOCPKT                          = 0x5420
-+	TIOCSBRK                         = 0x5427
-+	TIOCSCTTY                        = 0x540e
-+	TIOCSERCONFIG                    = 0x5453
-+	TIOCSERGETLSR                    = 0x5459
-+	TIOCSERGETMULTI                  = 0x545a
-+	TIOCSERGSTRUCT                   = 0x5458
-+	TIOCSERGWILD                     = 0x5454
-+	TIOCSERSETMULTI                  = 0x545b
-+	TIOCSERSWILD                     = 0x5455
-+	TIOCSER_TEMT                     = 0x1
-+	TIOCSETD                         = 0x5423
-+	TIOCSIG                          = 0x40045436
-+	TIOCSISO7816                     = 0xc0285443
-+	TIOCSLCKTRMIOS                   = 0x5457
-+	TIOCSPGRP                        = 0x5410
-+	TIOCSPTLCK                       = 0x40045431
-+	TIOCSRS485                       = 0x542f
-+	TIOCSSERIAL                      = 0x541f
-+	TIOCSSOFTCAR                     = 0x541a
-+	TIOCSTI                          = 0x5412
-+	TIOCSWINSZ                       = 0x5414
-+	TIOCVHANGUP                      = 0x5437
-+	TOSTOP                           = 0x100
-+	TUNATTACHFILTER                  = 0x400854d5
-+	TUNDETACHFILTER                  = 0x400854d6
-+	TUNGETDEVNETNS                   = 0x54e3
-+	TUNGETFEATURES                   = 0x800454cf
-+	TUNGETFILTER                     = 0x800854db
-+	TUNGETIFF                        = 0x800454d2
-+	TUNGETSNDBUF                     = 0x800454d3
-+	TUNGETVNETBE                     = 0x800454df
-+	TUNGETVNETHDRSZ                  = 0x800454d7
-+	TUNGETVNETLE                     = 0x800454dd
-+	TUNSETCARRIER                    = 0x400454e2
-+	TUNSETDEBUG                      = 0x400454c9
-+	TUNSETFILTEREBPF                 = 0x800454e1
-+	TUNSETGROUP                      = 0x400454ce
-+	TUNSETIFF                        = 0x400454ca
-+	TUNSETIFINDEX                    = 0x400454da
-+	TUNSETLINK                       = 0x400454cd
-+	TUNSETNOCSUM                     = 0x400454c8
-+	TUNSETOFFLOAD                    = 0x400454d0
-+	TUNSETOWNER                      = 0x400454cc
-+	TUNSETPERSIST                    = 0x400454cb
-+	TUNSETQUEUE                      = 0x400454d9
-+	TUNSETSNDBUF                     = 0x400454d4
-+	TUNSETSTEERINGEBPF               = 0x800454e0
-+	TUNSETTXFILTER                   = 0x400454d1
-+	TUNSETVNETBE                     = 0x400454de
-+	TUNSETVNETHDRSZ                  = 0x400454d8
-+	TUNSETVNETLE                     = 0x400454dc
-+	UBI_IOCATT                       = 0x40186f40
-+	UBI_IOCDET                       = 0x40046f41
-+	UBI_IOCEBCH                      = 0x40044f02
-+	UBI_IOCEBER                      = 0x40044f01
-+	UBI_IOCEBISMAP                   = 0x80044f05
-+	UBI_IOCEBMAP                     = 0x40084f03
-+	UBI_IOCEBUNMAP                   = 0x40044f04
-+	UBI_IOCMKVOL                     = 0x40986f00
-+	UBI_IOCRMVOL                     = 0x40046f01
-+	UBI_IOCRNVOL                     = 0x51106f03
-+	UBI_IOCRPEB                      = 0x40046f04
-+	UBI_IOCRSVOL                     = 0x400c6f02
-+	UBI_IOCSETVOLPROP                = 0x40104f06
-+	UBI_IOCSPEB                      = 0x40046f05
-+	UBI_IOCVOLCRBLK                  = 0x40804f07
-+	UBI_IOCVOLRMBLK                  = 0x4f08
-+	UBI_IOCVOLUP                     = 0x40084f00
-+	VDISCARD                         = 0xd
-+	VEOF                             = 0x4
-+	VEOL                             = 0xb
-+	VEOL2                            = 0x10
-+	VMIN                             = 0x6
-+	VREPRINT                         = 0xc
-+	VSTART                           = 0x8
-+	VSTOP                            = 0x9
-+	VSUSP                            = 0xa
-+	VSWTC                            = 0x7
-+	VT1                              = 0x4000
-+	VTDLY                            = 0x4000
-+	VTIME                            = 0x5
-+	VWERASE                          = 0xe
-+	WDIOC_GETBOOTSTATUS              = 0x80045702
-+	WDIOC_GETPRETIMEOUT              = 0x80045709
-+	WDIOC_GETSTATUS                  = 0x80045701
-+	WDIOC_GETSUPPORT                 = 0x80285700
-+	WDIOC_GETTEMP                    = 0x80045703
-+	WDIOC_GETTIMELEFT                = 0x8004570a
-+	WDIOC_GETTIMEOUT                 = 0x80045707
-+	WDIOC_KEEPALIVE                  = 0x80045705
-+	WDIOC_SETOPTIONS                 = 0x80045704
-+	WORDSIZE                         = 0x20
-+	X86_FXSR_MAGIC                   = 0x0
-+	XCASE                            = 0x4
-+	XTABS                            = 0x1800
- )
- 
- // Errors
- const (
--	E2BIG           = syscall.Errno(0x7)
--	EACCES          = syscall.Errno(0xd)
- 	EADDRINUSE      = syscall.Errno(0x62)
- 	EADDRNOTAVAIL   = syscall.Errno(0x63)
- 	EADV            = syscall.Errno(0x44)
- 	EAFNOSUPPORT    = syscall.Errno(0x61)
--	EAGAIN          = syscall.Errno(0xb)
- 	EALREADY        = syscall.Errno(0x72)
- 	EBADE           = syscall.Errno(0x34)
--	EBADF           = syscall.Errno(0x9)
- 	EBADFD          = syscall.Errno(0x4d)
- 	EBADMSG         = syscall.Errno(0x4a)
- 	EBADR           = syscall.Errno(0x35)
- 	EBADRQC         = syscall.Errno(0x38)
- 	EBADSLT         = syscall.Errno(0x39)
- 	EBFONT          = syscall.Errno(0x3b)
--	EBUSY           = syscall.Errno(0x10)
- 	ECANCELED       = syscall.Errno(0x7d)
--	ECHILD          = syscall.Errno(0xa)
- 	ECHRNG          = syscall.Errno(0x2c)
- 	ECOMM           = syscall.Errno(0x46)
- 	ECONNABORTED    = syscall.Errno(0x67)
-@@ -1881,23 +500,15 @@ const (
- 	EDEADLK         = syscall.Errno(0x23)
- 	EDEADLOCK       = syscall.Errno(0x23)
- 	EDESTADDRREQ    = syscall.Errno(0x59)
--	EDOM            = syscall.Errno(0x21)
- 	EDOTDOT         = syscall.Errno(0x49)
- 	EDQUOT          = syscall.Errno(0x7a)
--	EEXIST          = syscall.Errno(0x11)
--	EFAULT          = syscall.Errno(0xe)
--	EFBIG           = syscall.Errno(0x1b)
- 	EHOSTDOWN       = syscall.Errno(0x70)
- 	EHOSTUNREACH    = syscall.Errno(0x71)
- 	EHWPOISON       = syscall.Errno(0x85)
- 	EIDRM           = syscall.Errno(0x2b)
- 	EILSEQ          = syscall.Errno(0x54)
- 	EINPROGRESS     = syscall.Errno(0x73)
--	EINTR           = syscall.Errno(0x4)
--	EINVAL          = syscall.Errno(0x16)
--	EIO             = syscall.Errno(0x5)
- 	EISCONN         = syscall.Errno(0x6a)
--	EISDIR          = syscall.Errno(0x15)
- 	EISNAM          = syscall.Errno(0x78)
- 	EKEYEXPIRED     = syscall.Errno(0x7f)
- 	EKEYREJECTED    = syscall.Errno(0x81)
-@@ -1914,8 +525,6 @@ const (
- 	ELNRNG          = syscall.Errno(0x30)
- 	ELOOP           = syscall.Errno(0x28)
- 	EMEDIUMTYPE     = syscall.Errno(0x7c)
--	EMFILE          = syscall.Errno(0x18)
--	EMLINK          = syscall.Errno(0x1f)
- 	EMSGSIZE        = syscall.Errno(0x5a)
- 	EMULTIHOP       = syscall.Errno(0x48)
- 	ENAMETOOLONG    = syscall.Errno(0x24)
-@@ -1923,103 +532,70 @@ const (
- 	ENETDOWN        = syscall.Errno(0x64)
- 	ENETRESET       = syscall.Errno(0x66)
- 	ENETUNREACH     = syscall.Errno(0x65)
--	ENFILE          = syscall.Errno(0x17)
- 	ENOANO          = syscall.Errno(0x37)
- 	ENOBUFS         = syscall.Errno(0x69)
- 	ENOCSI          = syscall.Errno(0x32)
- 	ENODATA         = syscall.Errno(0x3d)
--	ENODEV          = syscall.Errno(0x13)
--	ENOENT          = syscall.Errno(0x2)
--	ENOEXEC         = syscall.Errno(0x8)
- 	ENOKEY          = syscall.Errno(0x7e)
- 	ENOLCK          = syscall.Errno(0x25)
- 	ENOLINK         = syscall.Errno(0x43)
- 	ENOMEDIUM       = syscall.Errno(0x7b)
--	ENOMEM          = syscall.Errno(0xc)
- 	ENOMSG          = syscall.Errno(0x2a)
- 	ENONET          = syscall.Errno(0x40)
- 	ENOPKG          = syscall.Errno(0x41)
- 	ENOPROTOOPT     = syscall.Errno(0x5c)
--	ENOSPC          = syscall.Errno(0x1c)
- 	ENOSR           = syscall.Errno(0x3f)
- 	ENOSTR          = syscall.Errno(0x3c)
- 	ENOSYS          = syscall.Errno(0x26)
--	ENOTBLK         = syscall.Errno(0xf)
- 	ENOTCONN        = syscall.Errno(0x6b)
--	ENOTDIR         = syscall.Errno(0x14)
- 	ENOTEMPTY       = syscall.Errno(0x27)
- 	ENOTNAM         = syscall.Errno(0x76)
- 	ENOTRECOVERABLE = syscall.Errno(0x83)
- 	ENOTSOCK        = syscall.Errno(0x58)
- 	ENOTSUP         = syscall.Errno(0x5f)
--	ENOTTY          = syscall.Errno(0x19)
- 	ENOTUNIQ        = syscall.Errno(0x4c)
--	ENXIO           = syscall.Errno(0x6)
- 	EOPNOTSUPP      = syscall.Errno(0x5f)
- 	EOVERFLOW       = syscall.Errno(0x4b)
- 	EOWNERDEAD      = syscall.Errno(0x82)
--	EPERM           = syscall.Errno(0x1)
- 	EPFNOSUPPORT    = syscall.Errno(0x60)
--	EPIPE           = syscall.Errno(0x20)
- 	EPROTO          = syscall.Errno(0x47)
- 	EPROTONOSUPPORT = syscall.Errno(0x5d)
- 	EPROTOTYPE      = syscall.Errno(0x5b)
--	ERANGE          = syscall.Errno(0x22)
- 	EREMCHG         = syscall.Errno(0x4e)
- 	EREMOTE         = syscall.Errno(0x42)
- 	EREMOTEIO       = syscall.Errno(0x79)
- 	ERESTART        = syscall.Errno(0x55)
- 	ERFKILL         = syscall.Errno(0x84)
--	EROFS           = syscall.Errno(0x1e)
- 	ESHUTDOWN       = syscall.Errno(0x6c)
- 	ESOCKTNOSUPPORT = syscall.Errno(0x5e)
--	ESPIPE          = syscall.Errno(0x1d)
--	ESRCH           = syscall.Errno(0x3)
- 	ESRMNT          = syscall.Errno(0x45)
- 	ESTALE          = syscall.Errno(0x74)
- 	ESTRPIPE        = syscall.Errno(0x56)
- 	ETIME           = syscall.Errno(0x3e)
- 	ETIMEDOUT       = syscall.Errno(0x6e)
- 	ETOOMANYREFS    = syscall.Errno(0x6d)
--	ETXTBSY         = syscall.Errno(0x1a)
- 	EUCLEAN         = syscall.Errno(0x75)
- 	EUNATCH         = syscall.Errno(0x31)
- 	EUSERS          = syscall.Errno(0x57)
--	EWOULDBLOCK     = syscall.Errno(0xb)
--	EXDEV           = syscall.Errno(0x12)
- 	EXFULL          = syscall.Errno(0x36)
- )
- 
- // Signals
- const (
--	SIGABRT   = syscall.Signal(0x6)
--	SIGALRM   = syscall.Signal(0xe)
- 	SIGBUS    = syscall.Signal(0x7)
- 	SIGCHLD   = syscall.Signal(0x11)
- 	SIGCLD    = syscall.Signal(0x11)
- 	SIGCONT   = syscall.Signal(0x12)
--	SIGFPE    = syscall.Signal(0x8)
--	SIGHUP    = syscall.Signal(0x1)
--	SIGILL    = syscall.Signal(0x4)
--	SIGINT    = syscall.Signal(0x2)
- 	SIGIO     = syscall.Signal(0x1d)
--	SIGIOT    = syscall.Signal(0x6)
--	SIGKILL   = syscall.Signal(0x9)
--	SIGPIPE   = syscall.Signal(0xd)
- 	SIGPOLL   = syscall.Signal(0x1d)
- 	SIGPROF   = syscall.Signal(0x1b)
- 	SIGPWR    = syscall.Signal(0x1e)
--	SIGQUIT   = syscall.Signal(0x3)
--	SIGSEGV   = syscall.Signal(0xb)
- 	SIGSTKFLT = syscall.Signal(0x10)
- 	SIGSTOP   = syscall.Signal(0x13)
- 	SIGSYS    = syscall.Signal(0x1f)
--	SIGTERM   = syscall.Signal(0xf)
--	SIGTRAP   = syscall.Signal(0x5)
- 	SIGTSTP   = syscall.Signal(0x14)
- 	SIGTTIN   = syscall.Signal(0x15)
- 	SIGTTOU   = syscall.Signal(0x16)
--	SIGUNUSED = syscall.Signal(0x1f)
- 	SIGURG    = syscall.Signal(0x17)
- 	SIGUSR1   = syscall.Signal(0xa)
- 	SIGUSR2   = syscall.Signal(0xc)
-@@ -2030,171 +606,179 @@ const (
- )
- 
- // Error table
--var errors = [...]string{
--	1:   "operation not permitted",
--	2:   "no such file or directory",
--	3:   "no such process",
--	4:   "interrupted system call",
--	5:   "input/output error",
--	6:   "no such device or address",
--	7:   "argument list too long",
--	8:   "exec format error",
--	9:   "bad file descriptor",
--	10:  "no child processes",
--	11:  "resource temporarily unavailable",
--	12:  "cannot allocate memory",
--	13:  "permission denied",
--	14:  "bad address",
--	15:  "block device required",
--	16:  "device or resource busy",
--	17:  "file exists",
--	18:  "invalid cross-device link",
--	19:  "no such device",
--	20:  "not a directory",
--	21:  "is a directory",
--	22:  "invalid argument",
--	23:  "too many open files in system",
--	24:  "too many open files",
--	25:  "inappropriate ioctl for device",
--	26:  "text file busy",
--	27:  "file too large",
--	28:  "no space left on device",
--	29:  "illegal seek",
--	30:  "read-only file system",
--	31:  "too many links",
--	32:  "broken pipe",
--	33:  "numerical argument out of domain",
--	34:  "numerical result out of range",
--	35:  "resource deadlock avoided",
--	36:  "file name too long",
--	37:  "no locks available",
--	38:  "function not implemented",
--	39:  "directory not empty",
--	40:  "too many levels of symbolic links",
--	42:  "no message of desired type",
--	43:  "identifier removed",
--	44:  "channel number out of range",
--	45:  "level 2 not synchronized",
--	46:  "level 3 halted",
--	47:  "level 3 reset",
--	48:  "link number out of range",
--	49:  "protocol driver not attached",
--	50:  "no CSI structure available",
--	51:  "level 2 halted",
--	52:  "invalid exchange",
--	53:  "invalid request descriptor",
--	54:  "exchange full",
--	55:  "no anode",
--	56:  "invalid request code",
--	57:  "invalid slot",
--	59:  "bad font file format",
--	60:  "device not a stream",
--	61:  "no data available",
--	62:  "timer expired",
--	63:  "out of streams resources",
--	64:  "machine is not on the network",
--	65:  "package not installed",
--	66:  "object is remote",
--	67:  "link has been severed",
--	68:  "advertise error",
--	69:  "srmount error",
--	70:  "communication error on send",
--	71:  "protocol error",
--	72:  "multihop attempted",
--	73:  "RFS specific error",
--	74:  "bad message",
--	75:  "value too large for defined data type",
--	76:  "name not unique on network",
--	77:  "file descriptor in bad state",
--	78:  "remote address changed",
--	79:  "can not access a needed shared library",
--	80:  "accessing a corrupted shared library",
--	81:  ".lib section in a.out corrupted",
--	82:  "attempting to link in too many shared libraries",
--	83:  "cannot exec a shared library directly",
--	84:  "invalid or incomplete multibyte or wide character",
--	85:  "interrupted system call should be restarted",
--	86:  "streams pipe error",
--	87:  "too many users",
--	88:  "socket operation on non-socket",
--	89:  "destination address required",
--	90:  "message too long",
--	91:  "protocol wrong type for socket",
--	92:  "protocol not available",
--	93:  "protocol not supported",
--	94:  "socket type not supported",
--	95:  "operation not supported",
--	96:  "protocol family not supported",
--	97:  "address family not supported by protocol",
--	98:  "address already in use",
--	99:  "cannot assign requested address",
--	100: "network is down",
--	101: "network is unreachable",
--	102: "network dropped connection on reset",
--	103: "software caused connection abort",
--	104: "connection reset by peer",
--	105: "no buffer space available",
--	106: "transport endpoint is already connected",
--	107: "transport endpoint is not connected",
--	108: "cannot send after transport endpoint shutdown",
--	109: "too many references: cannot splice",
--	110: "connection timed out",
--	111: "connection refused",
--	112: "host is down",
--	113: "no route to host",
--	114: "operation already in progress",
--	115: "operation now in progress",
--	116: "stale file handle",
--	117: "structure needs cleaning",
--	118: "not a XENIX named type file",
--	119: "no XENIX semaphores available",
--	120: "is a named type file",
--	121: "remote I/O error",
--	122: "disk quota exceeded",
--	123: "no medium found",
--	124: "wrong medium type",
--	125: "operation canceled",
--	126: "required key not available",
--	127: "key has expired",
--	128: "key has been revoked",
--	129: "key was rejected by service",
--	130: "owner died",
--	131: "state not recoverable",
--	132: "operation not possible due to RF-kill",
--	133: "memory page has hardware error",
-+var errorList = [...]struct {
-+	num  syscall.Errno
-+	name string
-+	desc string
-+}{
-+	{1, "EPERM", "operation not permitted"},
-+	{2, "ENOENT", "no such file or directory"},
-+	{3, "ESRCH", "no such process"},
-+	{4, "EINTR", "interrupted system call"},
-+	{5, "EIO", "input/output error"},
-+	{6, "ENXIO", "no such device or address"},
-+	{7, "E2BIG", "argument list too long"},
-+	{8, "ENOEXEC", "exec format error"},
-+	{9, "EBADF", "bad file descriptor"},
-+	{10, "ECHILD", "no child processes"},
-+	{11, "EAGAIN", "resource temporarily unavailable"},
-+	{12, "ENOMEM", "cannot allocate memory"},
-+	{13, "EACCES", "permission denied"},
-+	{14, "EFAULT", "bad address"},
-+	{15, "ENOTBLK", "block device required"},
-+	{16, "EBUSY", "device or resource busy"},
-+	{17, "EEXIST", "file exists"},
-+	{18, "EXDEV", "invalid cross-device link"},
-+	{19, "ENODEV", "no such device"},
-+	{20, "ENOTDIR", "not a directory"},
-+	{21, "EISDIR", "is a directory"},
-+	{22, "EINVAL", "invalid argument"},
-+	{23, "ENFILE", "too many open files in system"},
-+	{24, "EMFILE", "too many open files"},
-+	{25, "ENOTTY", "inappropriate ioctl for device"},
-+	{26, "ETXTBSY", "text file busy"},
-+	{27, "EFBIG", "file too large"},
-+	{28, "ENOSPC", "no space left on device"},
-+	{29, "ESPIPE", "illegal seek"},
-+	{30, "EROFS", "read-only file system"},
-+	{31, "EMLINK", "too many links"},
-+	{32, "EPIPE", "broken pipe"},
-+	{33, "EDOM", "numerical argument out of domain"},
-+	{34, "ERANGE", "numerical result out of range"},
-+	{35, "EDEADLK", "resource deadlock avoided"},
-+	{36, "ENAMETOOLONG", "file name too long"},
-+	{37, "ENOLCK", "no locks available"},
-+	{38, "ENOSYS", "function not implemented"},
-+	{39, "ENOTEMPTY", "directory not empty"},
-+	{40, "ELOOP", "too many levels of symbolic links"},
-+	{42, "ENOMSG", "no message of desired type"},
-+	{43, "EIDRM", "identifier removed"},
-+	{44, "ECHRNG", "channel number out of range"},
-+	{45, "EL2NSYNC", "level 2 not synchronized"},
-+	{46, "EL3HLT", "level 3 halted"},
-+	{47, "EL3RST", "level 3 reset"},
-+	{48, "ELNRNG", "link number out of range"},
-+	{49, "EUNATCH", "protocol driver not attached"},
-+	{50, "ENOCSI", "no CSI structure available"},
-+	{51, "EL2HLT", "level 2 halted"},
-+	{52, "EBADE", "invalid exchange"},
-+	{53, "EBADR", "invalid request descriptor"},
-+	{54, "EXFULL", "exchange full"},
-+	{55, "ENOANO", "no anode"},
-+	{56, "EBADRQC", "invalid request code"},
-+	{57, "EBADSLT", "invalid slot"},
-+	{59, "EBFONT", "bad font file format"},
-+	{60, "ENOSTR", "device not a stream"},
-+	{61, "ENODATA", "no data available"},
-+	{62, "ETIME", "timer expired"},
-+	{63, "ENOSR", "out of streams resources"},
-+	{64, "ENONET", "machine is not on the network"},
-+	{65, "ENOPKG", "package not installed"},
-+	{66, "EREMOTE", "object is remote"},
-+	{67, "ENOLINK", "link has been severed"},
-+	{68, "EADV", "advertise error"},
-+	{69, "ESRMNT", "srmount error"},
-+	{70, "ECOMM", "communication error on send"},
-+	{71, "EPROTO", "protocol error"},
-+	{72, "EMULTIHOP", "multihop attempted"},
-+	{73, "EDOTDOT", "RFS specific error"},
-+	{74, "EBADMSG", "bad message"},
-+	{75, "EOVERFLOW", "value too large for defined data type"},
-+	{76, "ENOTUNIQ", "name not unique on network"},
-+	{77, "EBADFD", "file descriptor in bad state"},
-+	{78, "EREMCHG", "remote address changed"},
-+	{79, "ELIBACC", "can not access a needed shared library"},
-+	{80, "ELIBBAD", "accessing a corrupted shared library"},
-+	{81, "ELIBSCN", ".lib section in a.out corrupted"},
-+	{82, "ELIBMAX", "attempting to link in too many shared libraries"},
-+	{83, "ELIBEXEC", "cannot exec a shared library directly"},
-+	{84, "EILSEQ", "invalid or incomplete multibyte or wide character"},
-+	{85, "ERESTART", "interrupted system call should be restarted"},
-+	{86, "ESTRPIPE", "streams pipe error"},
-+	{87, "EUSERS", "too many users"},
-+	{88, "ENOTSOCK", "socket operation on non-socket"},
-+	{89, "EDESTADDRREQ", "destination address required"},
-+	{90, "EMSGSIZE", "message too long"},
-+	{91, "EPROTOTYPE", "protocol wrong type for socket"},
-+	{92, "ENOPROTOOPT", "protocol not available"},
-+	{93, "EPROTONOSUPPORT", "protocol not supported"},
-+	{94, "ESOCKTNOSUPPORT", "socket type not supported"},
-+	{95, "ENOTSUP", "operation not supported"},
-+	{96, "EPFNOSUPPORT", "protocol family not supported"},
-+	{97, "EAFNOSUPPORT", "address family not supported by protocol"},
-+	{98, "EADDRINUSE", "address already in use"},
-+	{99, "EADDRNOTAVAIL", "cannot assign requested address"},
-+	{100, "ENETDOWN", "network is down"},
-+	{101, "ENETUNREACH", "network is unreachable"},
-+	{102, "ENETRESET", "network dropped connection on reset"},
-+	{103, "ECONNABORTED", "software caused connection abort"},
-+	{104, "ECONNRESET", "connection reset by peer"},
-+	{105, "ENOBUFS", "no buffer space available"},
-+	{106, "EISCONN", "transport endpoint is already connected"},
-+	{107, "ENOTCONN", "transport endpoint is not connected"},
-+	{108, "ESHUTDOWN", "cannot send after transport endpoint shutdown"},
-+	{109, "ETOOMANYREFS", "too many references: cannot splice"},
-+	{110, "ETIMEDOUT", "connection timed out"},
-+	{111, "ECONNREFUSED", "connection refused"},
-+	{112, "EHOSTDOWN", "host is down"},
-+	{113, "EHOSTUNREACH", "no route to host"},
-+	{114, "EALREADY", "operation already in progress"},
-+	{115, "EINPROGRESS", "operation now in progress"},
-+	{116, "ESTALE", "stale file handle"},
-+	{117, "EUCLEAN", "structure needs cleaning"},
-+	{118, "ENOTNAM", "not a XENIX named type file"},
-+	{119, "ENAVAIL", "no XENIX semaphores available"},
-+	{120, "EISNAM", "is a named type file"},
-+	{121, "EREMOTEIO", "remote I/O error"},
-+	{122, "EDQUOT", "disk quota exceeded"},
-+	{123, "ENOMEDIUM", "no medium found"},
-+	{124, "EMEDIUMTYPE", "wrong medium type"},
-+	{125, "ECANCELED", "operation canceled"},
-+	{126, "ENOKEY", "required key not available"},
-+	{127, "EKEYEXPIRED", "key has expired"},
-+	{128, "EKEYREVOKED", "key has been revoked"},
-+	{129, "EKEYREJECTED", "key was rejected by service"},
-+	{130, "EOWNERDEAD", "owner died"},
-+	{131, "ENOTRECOVERABLE", "state not recoverable"},
-+	{132, "ERFKILL", "operation not possible due to RF-kill"},
-+	{133, "EHWPOISON", "memory page has hardware error"},
- }
- 
- // Signal table
--var signals = [...]string{
--	1:  "hangup",
--	2:  "interrupt",
--	3:  "quit",
--	4:  "illegal instruction",
--	5:  "trace/breakpoint trap",
--	6:  "aborted",
--	7:  "bus error",
--	8:  "floating point exception",
--	9:  "killed",
--	10: "user defined signal 1",
--	11: "segmentation fault",
--	12: "user defined signal 2",
--	13: "broken pipe",
--	14: "alarm clock",
--	15: "terminated",
--	16: "stack fault",
--	17: "child exited",
--	18: "continued",
--	19: "stopped (signal)",
--	20: "stopped",
--	21: "stopped (tty input)",
--	22: "stopped (tty output)",
--	23: "urgent I/O condition",
--	24: "CPU time limit exceeded",
--	25: "file size limit exceeded",
--	26: "virtual timer expired",
--	27: "profiling timer expired",
--	28: "window changed",
--	29: "I/O possible",
--	30: "power failure",
--	31: "bad system call",
-+var signalList = [...]struct {
-+	num  syscall.Signal
-+	name string
-+	desc string
-+}{
-+	{1, "SIGHUP", "hangup"},
-+	{2, "SIGINT", "interrupt"},
-+	{3, "SIGQUIT", "quit"},
-+	{4, "SIGILL", "illegal instruction"},
-+	{5, "SIGTRAP", "trace/breakpoint trap"},
-+	{6, "SIGABRT", "aborted"},
-+	{7, "SIGBUS", "bus error"},
-+	{8, "SIGFPE", "floating point exception"},
-+	{9, "SIGKILL", "killed"},
-+	{10, "SIGUSR1", "user defined signal 1"},
-+	{11, "SIGSEGV", "segmentation fault"},
-+	{12, "SIGUSR2", "user defined signal 2"},
-+	{13, "SIGPIPE", "broken pipe"},
-+	{14, "SIGALRM", "alarm clock"},
-+	{15, "SIGTERM", "terminated"},
-+	{16, "SIGSTKFLT", "stack fault"},
-+	{17, "SIGCHLD", "child exited"},
-+	{18, "SIGCONT", "continued"},
-+	{19, "SIGSTOP", "stopped (signal)"},
-+	{20, "SIGTSTP", "stopped"},
-+	{21, "SIGTTIN", "stopped (tty input)"},
-+	{22, "SIGTTOU", "stopped (tty output)"},
-+	{23, "SIGURG", "urgent I/O condition"},
-+	{24, "SIGXCPU", "CPU time limit exceeded"},
-+	{25, "SIGXFSZ", "file size limit exceeded"},
-+	{26, "SIGVTALRM", "virtual timer expired"},
-+	{27, "SIGPROF", "profiling timer expired"},
-+	{28, "SIGWINCH", "window changed"},
-+	{29, "SIGIO", "I/O possible"},
-+	{30, "SIGPWR", "power failure"},
-+	{31, "SIGSYS", "bad system call"},
- }
-diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go
-index a6618fc1..005970f7 100644
---- a/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go
-+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go
-@@ -3,7 +3,7 @@
- 
- // +build amd64,linux
- 
--// Created by cgo -godefs - DO NOT EDIT
-+// Code generated by cmd/cgo -godefs; DO NOT EDIT.
- // cgo -godefs -- -Wall -Werror -static -I/tmp/include -m64 _const.go
- 
- package unix
-@@ -11,1869 +11,487 @@ package unix
- import "syscall"
- 
- const (
--	AF_ALG                               = 0x26
--	AF_APPLETALK                         = 0x5
--	AF_ASH                               = 0x12
--	AF_ATMPVC                            = 0x8
--	AF_ATMSVC                            = 0x14
--	AF_AX25                              = 0x3
--	AF_BLUETOOTH                         = 0x1f
--	AF_BRIDGE                            = 0x7
--	AF_CAIF                              = 0x25
--	AF_CAN                               = 0x1d
--	AF_DECnet                            = 0xc
--	AF_ECONET                            = 0x13
--	AF_FILE                              = 0x1
--	AF_IB                                = 0x1b
--	AF_IEEE802154                        = 0x24
--	AF_INET                              = 0x2
--	AF_INET6                             = 0xa
--	AF_IPX                               = 0x4
--	AF_IRDA                              = 0x17
--	AF_ISDN                              = 0x22
--	AF_IUCV                              = 0x20
--	AF_KCM                               = 0x29
--	AF_KEY                               = 0xf
--	AF_LLC                               = 0x1a
--	AF_LOCAL                             = 0x1
--	AF_MAX                               = 0x2b
--	AF_MPLS                              = 0x1c
--	AF_NETBEUI                           = 0xd
--	AF_NETLINK                           = 0x10
--	AF_NETROM                            = 0x6
--	AF_NFC                               = 0x27
--	AF_PACKET                            = 0x11
--	AF_PHONET                            = 0x23
--	AF_PPPOX                             = 0x18
--	AF_QIPCRTR                           = 0x2a
--	AF_RDS                               = 0x15
--	AF_ROSE                              = 0xb
--	AF_ROUTE                             = 0x10
--	AF_RXRPC                             = 0x21
--	AF_SECURITY                          = 0xe
--	AF_SNA                               = 0x16
--	AF_TIPC                              = 0x1e
--	AF_UNIX                              = 0x1
--	AF_UNSPEC                            = 0x0
--	AF_VSOCK                             = 0x28
--	AF_WANPIPE                           = 0x19
--	AF_X25                               = 0x9
--	ALG_OP_DECRYPT                       = 0x0
--	ALG_OP_ENCRYPT                       = 0x1
--	ALG_SET_AEAD_ASSOCLEN                = 0x4
--	ALG_SET_AEAD_AUTHSIZE                = 0x5
--	ALG_SET_IV                           = 0x2
--	ALG_SET_KEY                          = 0x1
--	ALG_SET_OP                           = 0x3
--	ARPHRD_6LOWPAN                       = 0x339
--	ARPHRD_ADAPT                         = 0x108
--	ARPHRD_APPLETLK                      = 0x8
--	ARPHRD_ARCNET                        = 0x7
--	ARPHRD_ASH                           = 0x30d
--	ARPHRD_ATM                           = 0x13
--	ARPHRD_AX25                          = 0x3
--	ARPHRD_BIF                           = 0x307
--	ARPHRD_CAIF                          = 0x336
--	ARPHRD_CAN                           = 0x118
--	ARPHRD_CHAOS                         = 0x5
--	ARPHRD_CISCO                         = 0x201
--	ARPHRD_CSLIP                         = 0x101
--	ARPHRD_CSLIP6                        = 0x103
--	ARPHRD_DDCMP                         = 0x205
--	ARPHRD_DLCI                          = 0xf
--	ARPHRD_ECONET                        = 0x30e
--	ARPHRD_EETHER                        = 0x2
--	ARPHRD_ETHER                         = 0x1
--	ARPHRD_EUI64                         = 0x1b
--	ARPHRD_FCAL                          = 0x311
--	ARPHRD_FCFABRIC                      = 0x313
--	ARPHRD_FCPL                          = 0x312
--	ARPHRD_FCPP                          = 0x310
--	ARPHRD_FDDI                          = 0x306
--	ARPHRD_FRAD                          = 0x302
--	ARPHRD_HDLC                          = 0x201
--	ARPHRD_HIPPI                         = 0x30c
--	ARPHRD_HWX25                         = 0x110
--	ARPHRD_IEEE1394                      = 0x18
--	ARPHRD_IEEE802                       = 0x6
--	ARPHRD_IEEE80211                     = 0x321
--	ARPHRD_IEEE80211_PRISM               = 0x322
--	ARPHRD_IEEE80211_RADIOTAP            = 0x323
--	ARPHRD_IEEE802154                    = 0x324
--	ARPHRD_IEEE802154_MONITOR            = 0x325
--	ARPHRD_IEEE802_TR                    = 0x320
--	ARPHRD_INFINIBAND                    = 0x20
--	ARPHRD_IP6GRE                        = 0x337
--	ARPHRD_IPDDP                         = 0x309
--	ARPHRD_IPGRE                         = 0x30a
--	ARPHRD_IRDA                          = 0x30f
--	ARPHRD_LAPB                          = 0x204
--	ARPHRD_LOCALTLK                      = 0x305
--	ARPHRD_LOOPBACK                      = 0x304
--	ARPHRD_METRICOM                      = 0x17
--	ARPHRD_NETLINK                       = 0x338
--	ARPHRD_NETROM                        = 0x0
--	ARPHRD_NONE                          = 0xfffe
--	ARPHRD_PHONET                        = 0x334
--	ARPHRD_PHONET_PIPE                   = 0x335
--	ARPHRD_PIMREG                        = 0x30b
--	ARPHRD_PPP                           = 0x200
--	ARPHRD_PRONET                        = 0x4
--	ARPHRD_RAWHDLC                       = 0x206
--	ARPHRD_ROSE                          = 0x10e
--	ARPHRD_RSRVD                         = 0x104
--	ARPHRD_SIT                           = 0x308
--	ARPHRD_SKIP                          = 0x303
--	ARPHRD_SLIP                          = 0x100
--	ARPHRD_SLIP6                         = 0x102
--	ARPHRD_TUNNEL                        = 0x300
--	ARPHRD_TUNNEL6                       = 0x301
--	ARPHRD_VOID                          = 0xffff
--	ARPHRD_X25                           = 0x10f
--	B0                                   = 0x0
--	B1000000                             = 0x1008
--	B110                                 = 0x3
--	B115200                              = 0x1002
--	B1152000                             = 0x1009
--	B1200                                = 0x9
--	B134                                 = 0x4
--	B150                                 = 0x5
--	B1500000                             = 0x100a
--	B1800                                = 0xa
--	B19200                               = 0xe
--	B200                                 = 0x6
--	B2000000                             = 0x100b
--	B230400                              = 0x1003
--	B2400                                = 0xb
--	B2500000                             = 0x100c
--	B300                                 = 0x7
--	B3000000                             = 0x100d
--	B3500000                             = 0x100e
--	B38400                               = 0xf
--	B4000000                             = 0x100f
--	B460800                              = 0x1004
--	B4800                                = 0xc
--	B50                                  = 0x1
--	B500000                              = 0x1005
--	B57600                               = 0x1001
--	B576000                              = 0x1006
--	B600                                 = 0x8
--	B75                                  = 0x2
--	B921600                              = 0x1007
--	B9600                                = 0xd
--	BLKBSZGET                            = 0x80081270
--	BLKBSZSET                            = 0x40081271
--	BLKFLSBUF                            = 0x1261
--	BLKFRAGET                            = 0x1265
--	BLKFRASET                            = 0x1264
--	BLKGETSIZE                           = 0x1260
--	BLKGETSIZE64                         = 0x80081272
--	BLKPBSZGET                           = 0x127b
--	BLKRAGET                             = 0x1263
--	BLKRASET                             = 0x1262
--	BLKROGET                             = 0x125e
--	BLKROSET                             = 0x125d
--	BLKRRPART                            = 0x125f
--	BLKSECTGET                           = 0x1267
--	BLKSECTSET                           = 0x1266
--	BLKSSZGET                            = 0x1268
--	BOTHER                               = 0x1000
--	BPF_A                                = 0x10
--	BPF_ABS                              = 0x20
--	BPF_ADD                              = 0x0
--	BPF_ALU                              = 0x4
--	BPF_AND                              = 0x50
--	BPF_B                                = 0x10
--	BPF_DIV                              = 0x30
--	BPF_H                                = 0x8
--	BPF_IMM                              = 0x0
--	BPF_IND                              = 0x40
--	BPF_JA                               = 0x0
--	BPF_JEQ                              = 0x10
--	BPF_JGE                              = 0x30
--	BPF_JGT                              = 0x20
--	BPF_JMP                              = 0x5
--	BPF_JSET                             = 0x40
--	BPF_K                                = 0x0
--	BPF_LD                               = 0x0
--	BPF_LDX                              = 0x1
--	BPF_LEN                              = 0x80
--	BPF_LL_OFF                           = -0x200000
--	BPF_LSH                              = 0x60
--	BPF_MAJOR_VERSION                    = 0x1
--	BPF_MAXINSNS                         = 0x1000
--	BPF_MEM                              = 0x60
--	BPF_MEMWORDS                         = 0x10
--	BPF_MINOR_VERSION                    = 0x1
--	BPF_MISC                             = 0x7
--	BPF_MOD                              = 0x90
--	BPF_MSH                              = 0xa0
--	BPF_MUL                              = 0x20
--	BPF_NEG                              = 0x80
--	BPF_NET_OFF                          = -0x100000
--	BPF_OR                               = 0x40
--	BPF_RET                              = 0x6
--	BPF_RSH                              = 0x70
--	BPF_ST                               = 0x2
--	BPF_STX                              = 0x3
--	BPF_SUB                              = 0x10
--	BPF_TAX                              = 0x0
--	BPF_TXA                              = 0x80
--	BPF_W                                = 0x0
--	BPF_X                                = 0x8
--	BPF_XOR                              = 0xa0
--	BRKINT                               = 0x2
--	BS0                                  = 0x0
--	BS1                                  = 0x2000
--	BSDLY                                = 0x2000
--	CAN_BCM                              = 0x2
--	CAN_EFF_FLAG                         = 0x80000000
--	CAN_EFF_ID_BITS                      = 0x1d
--	CAN_EFF_MASK                         = 0x1fffffff
--	CAN_ERR_FLAG                         = 0x20000000
--	CAN_ERR_MASK                         = 0x1fffffff
--	CAN_INV_FILTER                       = 0x20000000
--	CAN_ISOTP                            = 0x6
--	CAN_MAX_DLC                          = 0x8
--	CAN_MAX_DLEN                         = 0x8
--	CAN_MCNET                            = 0x5
--	CAN_MTU                              = 0x10
--	CAN_NPROTO                           = 0x7
--	CAN_RAW                              = 0x1
--	CAN_RAW_FILTER_MAX                   = 0x200
--	CAN_RTR_FLAG                         = 0x40000000
--	CAN_SFF_ID_BITS                      = 0xb
--	CAN_SFF_MASK                         = 0x7ff
--	CAN_TP16                             = 0x3
--	CAN_TP20                             = 0x4
--	CBAUD                                = 0x100f
--	CBAUDEX                              = 0x1000
--	CFLUSH                               = 0xf
--	CIBAUD                               = 0x100f0000
--	CLOCAL                               = 0x800
--	CLOCK_BOOTTIME                       = 0x7
--	CLOCK_BOOTTIME_ALARM                 = 0x9
--	CLOCK_DEFAULT                        = 0x0
--	CLOCK_EXT                            = 0x1
--	CLOCK_INT                            = 0x2
--	CLOCK_MONOTONIC                      = 0x1
--	CLOCK_MONOTONIC_COARSE               = 0x6
--	CLOCK_MONOTONIC_RAW                  = 0x4
--	CLOCK_PROCESS_CPUTIME_ID             = 0x2
--	CLOCK_REALTIME                       = 0x0
--	CLOCK_REALTIME_ALARM                 = 0x8
--	CLOCK_REALTIME_COARSE                = 0x5
--	CLOCK_TAI                            = 0xb
--	CLOCK_THREAD_CPUTIME_ID              = 0x3
--	CLOCK_TXFROMRX                       = 0x4
--	CLOCK_TXINT                          = 0x3
--	CLONE_CHILD_CLEARTID                 = 0x200000
--	CLONE_CHILD_SETTID                   = 0x1000000
--	CLONE_DETACHED                       = 0x400000
--	CLONE_FILES                          = 0x400
--	CLONE_FS                             = 0x200
--	CLONE_IO                             = 0x80000000
--	CLONE_NEWCGROUP                      = 0x2000000
--	CLONE_NEWIPC                         = 0x8000000
--	CLONE_NEWNET                         = 0x40000000
--	CLONE_NEWNS                          = 0x20000
--	CLONE_NEWPID                         = 0x20000000
--	CLONE_NEWUSER                        = 0x10000000
--	CLONE_NEWUTS                         = 0x4000000
--	CLONE_PARENT                         = 0x8000
--	CLONE_PARENT_SETTID                  = 0x100000
--	CLONE_PTRACE                         = 0x2000
--	CLONE_SETTLS                         = 0x80000
--	CLONE_SIGHAND                        = 0x800
--	CLONE_SYSVSEM                        = 0x40000
--	CLONE_THREAD                         = 0x10000
--	CLONE_UNTRACED                       = 0x800000
--	CLONE_VFORK                          = 0x4000
--	CLONE_VM                             = 0x100
--	CMSPAR                               = 0x40000000
--	CR0                                  = 0x0
--	CR1                                  = 0x200
--	CR2                                  = 0x400
--	CR3                                  = 0x600
--	CRDLY                                = 0x600
--	CREAD                                = 0x80
--	CRTSCTS                              = 0x80000000
--	CS5                                  = 0x0
--	CS6                                  = 0x10
--	CS7                                  = 0x20
--	CS8                                  = 0x30
--	CSIGNAL                              = 0xff
--	CSIZE                                = 0x30
--	CSTART                               = 0x11
--	CSTATUS                              = 0x0
--	CSTOP                                = 0x13
--	CSTOPB                               = 0x40
--	CSUSP                                = 0x1a
--	DT_BLK                               = 0x6
--	DT_CHR                               = 0x2
--	DT_DIR                               = 0x4
--	DT_FIFO                              = 0x1
--	DT_LNK                               = 0xa
--	DT_REG                               = 0x8
--	DT_SOCK                              = 0xc
--	DT_UNKNOWN                           = 0x0
--	DT_WHT                               = 0xe
--	ECHO                                 = 0x8
--	ECHOCTL                              = 0x200
--	ECHOE                                = 0x10
--	ECHOK                                = 0x20
--	ECHOKE                               = 0x800
--	ECHONL                               = 0x40
--	ECHOPRT                              = 0x400
--	EFD_CLOEXEC                          = 0x80000
--	EFD_NONBLOCK                         = 0x800
--	EFD_SEMAPHORE                        = 0x1
--	ENCODING_DEFAULT                     = 0x0
--	ENCODING_FM_MARK                     = 0x3
--	ENCODING_FM_SPACE                    = 0x4
--	ENCODING_MANCHESTER                  = 0x5
--	ENCODING_NRZ                         = 0x1
--	ENCODING_NRZI                        = 0x2
--	EPOLLERR                             = 0x8
--	EPOLLET                              = 0x80000000
--	EPOLLEXCLUSIVE                       = 0x10000000
--	EPOLLHUP                             = 0x10
--	EPOLLIN                              = 0x1
--	EPOLLMSG                             = 0x400
--	EPOLLONESHOT                         = 0x40000000
--	EPOLLOUT                             = 0x4
--	EPOLLPRI                             = 0x2
--	EPOLLRDBAND                          = 0x80
--	EPOLLRDHUP                           = 0x2000
--	EPOLLRDNORM                          = 0x40
--	EPOLLWAKEUP                          = 0x20000000
--	EPOLLWRBAND                          = 0x200
--	EPOLLWRNORM                          = 0x100
--	EPOLL_CLOEXEC                        = 0x80000
--	EPOLL_CTL_ADD                        = 0x1
--	EPOLL_CTL_DEL                        = 0x2
--	EPOLL_CTL_MOD                        = 0x3
--	ETH_P_1588                           = 0x88f7
--	ETH_P_8021AD                         = 0x88a8
--	ETH_P_8021AH                         = 0x88e7
--	ETH_P_8021Q                          = 0x8100
--	ETH_P_80221                          = 0x8917
--	ETH_P_802_2                          = 0x4
--	ETH_P_802_3                          = 0x1
--	ETH_P_802_3_MIN                      = 0x600
--	ETH_P_802_EX1                        = 0x88b5
--	ETH_P_AARP                           = 0x80f3
--	ETH_P_AF_IUCV                        = 0xfbfb
--	ETH_P_ALL                            = 0x3
--	ETH_P_AOE                            = 0x88a2
--	ETH_P_ARCNET                         = 0x1a
--	ETH_P_ARP                            = 0x806
--	ETH_P_ATALK                          = 0x809b
--	ETH_P_ATMFATE                        = 0x8884
--	ETH_P_ATMMPOA                        = 0x884c
--	ETH_P_AX25                           = 0x2
--	ETH_P_BATMAN                         = 0x4305
--	ETH_P_BPQ                            = 0x8ff
--	ETH_P_CAIF                           = 0xf7
--	ETH_P_CAN                            = 0xc
--	ETH_P_CANFD                          = 0xd
--	ETH_P_CONTROL                        = 0x16
--	ETH_P_CUST                           = 0x6006
--	ETH_P_DDCMP                          = 0x6
--	ETH_P_DEC                            = 0x6000
--	ETH_P_DIAG                           = 0x6005
--	ETH_P_DNA_DL                         = 0x6001
--	ETH_P_DNA_RC                         = 0x6002
--	ETH_P_DNA_RT                         = 0x6003
--	ETH_P_DSA                            = 0x1b
--	ETH_P_ECONET                         = 0x18
--	ETH_P_EDSA                           = 0xdada
--	ETH_P_FCOE                           = 0x8906
--	ETH_P_FIP                            = 0x8914
--	ETH_P_HDLC                           = 0x19
--	ETH_P_HSR                            = 0x892f
--	ETH_P_IEEE802154                     = 0xf6
--	ETH_P_IEEEPUP                        = 0xa00
--	ETH_P_IEEEPUPAT                      = 0xa01
--	ETH_P_IP                             = 0x800
--	ETH_P_IPV6                           = 0x86dd
--	ETH_P_IPX                            = 0x8137
--	ETH_P_IRDA                           = 0x17
--	ETH_P_LAT                            = 0x6004
--	ETH_P_LINK_CTL                       = 0x886c
--	ETH_P_LOCALTALK                      = 0x9
--	ETH_P_LOOP                           = 0x60
--	ETH_P_LOOPBACK                       = 0x9000
--	ETH_P_MACSEC                         = 0x88e5
--	ETH_P_MOBITEX                        = 0x15
--	ETH_P_MPLS_MC                        = 0x8848
--	ETH_P_MPLS_UC                        = 0x8847
--	ETH_P_MVRP                           = 0x88f5
--	ETH_P_NCSI                           = 0x88f8
--	ETH_P_PAE                            = 0x888e
--	ETH_P_PAUSE                          = 0x8808
--	ETH_P_PHONET                         = 0xf5
--	ETH_P_PPPTALK                        = 0x10
--	ETH_P_PPP_DISC                       = 0x8863
--	ETH_P_PPP_MP                         = 0x8
--	ETH_P_PPP_SES                        = 0x8864
--	ETH_P_PRP                            = 0x88fb
--	ETH_P_PUP                            = 0x200
--	ETH_P_PUPAT                          = 0x201
--	ETH_P_QINQ1                          = 0x9100
--	ETH_P_QINQ2                          = 0x9200
--	ETH_P_QINQ3                          = 0x9300
--	ETH_P_RARP                           = 0x8035
--	ETH_P_SCA                            = 0x6007
--	ETH_P_SLOW                           = 0x8809
--	ETH_P_SNAP                           = 0x5
--	ETH_P_TDLS                           = 0x890d
--	ETH_P_TEB                            = 0x6558
--	ETH_P_TIPC                           = 0x88ca
--	ETH_P_TRAILER                        = 0x1c
--	ETH_P_TR_802_2                       = 0x11
--	ETH_P_TSN                            = 0x22f0
--	ETH_P_WAN_PPP                        = 0x7
--	ETH_P_WCCP                           = 0x883e
--	ETH_P_X25                            = 0x805
--	ETH_P_XDSA                           = 0xf8
--	EXTA                                 = 0xe
--	EXTB                                 = 0xf
--	EXTPROC                              = 0x10000
--	FALLOC_FL_COLLAPSE_RANGE             = 0x8
--	FALLOC_FL_INSERT_RANGE               = 0x20
--	FALLOC_FL_KEEP_SIZE                  = 0x1
--	FALLOC_FL_NO_HIDE_STALE              = 0x4
--	FALLOC_FL_PUNCH_HOLE                 = 0x2
--	FALLOC_FL_UNSHARE_RANGE              = 0x40
--	FALLOC_FL_ZERO_RANGE                 = 0x10
--	FD_CLOEXEC                           = 0x1
--	FD_SETSIZE                           = 0x400
--	FF0                                  = 0x0
--	FF1                                  = 0x8000
--	FFDLY                                = 0x8000
--	FLUSHO                               = 0x1000
--	FS_ENCRYPTION_MODE_AES_256_CBC       = 0x3
--	FS_ENCRYPTION_MODE_AES_256_CTS       = 0x4
--	FS_ENCRYPTION_MODE_AES_256_GCM       = 0x2
--	FS_ENCRYPTION_MODE_AES_256_XTS       = 0x1
--	FS_ENCRYPTION_MODE_INVALID           = 0x0
--	FS_IOC_GET_ENCRYPTION_POLICY         = 0x400c6615
--	FS_IOC_GET_ENCRYPTION_PWSALT         = 0x40106614
--	FS_IOC_SET_ENCRYPTION_POLICY         = 0x800c6613
--	FS_KEY_DESCRIPTOR_SIZE               = 0x8
--	FS_KEY_DESC_PREFIX                   = "fscrypt:"
--	FS_KEY_DESC_PREFIX_SIZE              = 0x8
--	FS_MAX_KEY_SIZE                      = 0x40
--	FS_POLICY_FLAGS_PAD_16               = 0x2
--	FS_POLICY_FLAGS_PAD_32               = 0x3
--	FS_POLICY_FLAGS_PAD_4                = 0x0
--	FS_POLICY_FLAGS_PAD_8                = 0x1
--	FS_POLICY_FLAGS_PAD_MASK             = 0x3
--	FS_POLICY_FLAGS_VALID                = 0x3
--	F_DUPFD                              = 0x0
--	F_DUPFD_CLOEXEC                      = 0x406
--	F_EXLCK                              = 0x4
--	F_GETFD                              = 0x1
--	F_GETFL                              = 0x3
--	F_GETLEASE                           = 0x401
--	F_GETLK                              = 0x5
--	F_GETLK64                            = 0x5
--	F_GETOWN                             = 0x9
--	F_GETOWN_EX                          = 0x10
--	F_GETPIPE_SZ                         = 0x408
--	F_GETSIG                             = 0xb
--	F_LOCK                               = 0x1
--	F_NOTIFY                             = 0x402
--	F_OFD_GETLK                          = 0x24
--	F_OFD_SETLK                          = 0x25
--	F_OFD_SETLKW                         = 0x26
--	F_OK                                 = 0x0
--	F_RDLCK                              = 0x0
--	F_SETFD                              = 0x2
--	F_SETFL                              = 0x4
--	F_SETLEASE                           = 0x400
--	F_SETLK                              = 0x6
--	F_SETLK64                            = 0x6
--	F_SETLKW                             = 0x7
--	F_SETLKW64                           = 0x7
--	F_SETOWN                             = 0x8
--	F_SETOWN_EX                          = 0xf
--	F_SETPIPE_SZ                         = 0x407
--	F_SETSIG                             = 0xa
--	F_SHLCK                              = 0x8
--	F_TEST                               = 0x3
--	F_TLOCK                              = 0x2
--	F_ULOCK                              = 0x0
--	F_UNLCK                              = 0x2
--	F_WRLCK                              = 0x1
--	GENL_ADMIN_PERM                      = 0x1
--	GENL_CMD_CAP_DO                      = 0x2
--	GENL_CMD_CAP_DUMP                    = 0x4
--	GENL_CMD_CAP_HASPOL                  = 0x8
--	GENL_HDRLEN                          = 0x4
--	GENL_ID_CTRL                         = 0x10
--	GENL_ID_PMCRAID                      = 0x12
--	GENL_ID_VFS_DQUOT                    = 0x11
--	GENL_MAX_ID                          = 0x3ff
--	GENL_MIN_ID                          = 0x10
--	GENL_NAMSIZ                          = 0x10
--	GENL_START_ALLOC                     = 0x13
--	GENL_UNS_ADMIN_PERM                  = 0x10
--	GRND_NONBLOCK                        = 0x1
--	GRND_RANDOM                          = 0x2
--	HUPCL                                = 0x400
--	IBSHIFT                              = 0x10
--	ICANON                               = 0x2
--	ICMPV6_FILTER                        = 0x1
--	ICRNL                                = 0x100
--	IEXTEN                               = 0x8000
--	IFA_F_DADFAILED                      = 0x8
--	IFA_F_DEPRECATED                     = 0x20
--	IFA_F_HOMEADDRESS                    = 0x10
--	IFA_F_MANAGETEMPADDR                 = 0x100
--	IFA_F_MCAUTOJOIN                     = 0x400
--	IFA_F_NODAD                          = 0x2
--	IFA_F_NOPREFIXROUTE                  = 0x200
--	IFA_F_OPTIMISTIC                     = 0x4
--	IFA_F_PERMANENT                      = 0x80
--	IFA_F_SECONDARY                      = 0x1
--	IFA_F_STABLE_PRIVACY                 = 0x800
--	IFA_F_TEMPORARY                      = 0x1
--	IFA_F_TENTATIVE                      = 0x40
--	IFA_MAX                              = 0x8
--	IFF_ALLMULTI                         = 0x200
--	IFF_ATTACH_QUEUE                     = 0x200
--	IFF_AUTOMEDIA                        = 0x4000
--	IFF_BROADCAST                        = 0x2
--	IFF_DEBUG                            = 0x4
--	IFF_DETACH_QUEUE                     = 0x400
--	IFF_DORMANT                          = 0x20000
--	IFF_DYNAMIC                          = 0x8000
--	IFF_ECHO                             = 0x40000
--	IFF_LOOPBACK                         = 0x8
--	IFF_LOWER_UP                         = 0x10000
--	IFF_MASTER                           = 0x400
--	IFF_MULTICAST                        = 0x1000
--	IFF_MULTI_QUEUE                      = 0x100
--	IFF_NOARP                            = 0x80
--	IFF_NOFILTER                         = 0x1000
--	IFF_NOTRAILERS                       = 0x20
--	IFF_NO_PI                            = 0x1000
--	IFF_ONE_QUEUE                        = 0x2000
--	IFF_PERSIST                          = 0x800
--	IFF_POINTOPOINT                      = 0x10
--	IFF_PORTSEL                          = 0x2000
--	IFF_PROMISC                          = 0x100
--	IFF_RUNNING                          = 0x40
--	IFF_SLAVE                            = 0x800
--	IFF_TAP                              = 0x2
--	IFF_TUN                              = 0x1
--	IFF_TUN_EXCL                         = 0x8000
--	IFF_UP                               = 0x1
--	IFF_VNET_HDR                         = 0x4000
--	IFF_VOLATILE                         = 0x70c5a
--	IFNAMSIZ                             = 0x10
--	IGNBRK                               = 0x1
--	IGNCR                                = 0x80
--	IGNPAR                               = 0x4
--	IMAXBEL                              = 0x2000
--	INLCR                                = 0x40
--	INPCK                                = 0x10
--	IN_ACCESS                            = 0x1
--	IN_ALL_EVENTS                        = 0xfff
--	IN_ATTRIB                            = 0x4
--	IN_CLASSA_HOST                       = 0xffffff
--	IN_CLASSA_MAX                        = 0x80
--	IN_CLASSA_NET                        = 0xff000000
--	IN_CLASSA_NSHIFT                     = 0x18
--	IN_CLASSB_HOST                       = 0xffff
--	IN_CLASSB_MAX                        = 0x10000
--	IN_CLASSB_NET                        = 0xffff0000
--	IN_CLASSB_NSHIFT                     = 0x10
--	IN_CLASSC_HOST                       = 0xff
--	IN_CLASSC_NET                        = 0xffffff00
--	IN_CLASSC_NSHIFT                     = 0x8
--	IN_CLOEXEC                           = 0x80000
--	IN_CLOSE                             = 0x18
--	IN_CLOSE_NOWRITE                     = 0x10
--	IN_CLOSE_WRITE                       = 0x8
--	IN_CREATE                            = 0x100
--	IN_DELETE                            = 0x200
--	IN_DELETE_SELF                       = 0x400
--	IN_DONT_FOLLOW                       = 0x2000000
--	IN_EXCL_UNLINK                       = 0x4000000
--	IN_IGNORED                           = 0x8000
--	IN_ISDIR                             = 0x40000000
--	IN_LOOPBACKNET                       = 0x7f
--	IN_MASK_ADD                          = 0x20000000
--	IN_MODIFY                            = 0x2
--	IN_MOVE                              = 0xc0
--	IN_MOVED_FROM                        = 0x40
--	IN_MOVED_TO                          = 0x80
--	IN_MOVE_SELF                         = 0x800
--	IN_NONBLOCK                          = 0x800
--	IN_ONESHOT                           = 0x80000000
--	IN_ONLYDIR                           = 0x1000000
--	IN_OPEN                              = 0x20
--	IN_Q_OVERFLOW                        = 0x4000
--	IN_UNMOUNT                           = 0x2000
--	IPPROTO_AH                           = 0x33
--	IPPROTO_BEETPH                       = 0x5e
--	IPPROTO_COMP                         = 0x6c
--	IPPROTO_DCCP                         = 0x21
--	IPPROTO_DSTOPTS                      = 0x3c
--	IPPROTO_EGP                          = 0x8
--	IPPROTO_ENCAP                        = 0x62
--	IPPROTO_ESP                          = 0x32
--	IPPROTO_FRAGMENT                     = 0x2c
--	IPPROTO_GRE                          = 0x2f
--	IPPROTO_HOPOPTS                      = 0x0
--	IPPROTO_ICMP                         = 0x1
--	IPPROTO_ICMPV6                       = 0x3a
--	IPPROTO_IDP                          = 0x16
--	IPPROTO_IGMP                         = 0x2
--	IPPROTO_IP                           = 0x0
--	IPPROTO_IPIP                         = 0x4
--	IPPROTO_IPV6                         = 0x29
--	IPPROTO_MH                           = 0x87
--	IPPROTO_MPLS                         = 0x89
--	IPPROTO_MTP                          = 0x5c
--	IPPROTO_NONE                         = 0x3b
--	IPPROTO_PIM                          = 0x67
--	IPPROTO_PUP                          = 0xc
--	IPPROTO_RAW                          = 0xff
--	IPPROTO_ROUTING                      = 0x2b
--	IPPROTO_RSVP                         = 0x2e
--	IPPROTO_SCTP                         = 0x84
--	IPPROTO_TCP                          = 0x6
--	IPPROTO_TP                           = 0x1d
--	IPPROTO_UDP                          = 0x11
--	IPPROTO_UDPLITE                      = 0x88
--	IPV6_2292DSTOPTS                     = 0x4
--	IPV6_2292HOPLIMIT                    = 0x8
--	IPV6_2292HOPOPTS                     = 0x3
--	IPV6_2292PKTINFO                     = 0x2
--	IPV6_2292PKTOPTIONS                  = 0x6
--	IPV6_2292RTHDR                       = 0x5
--	IPV6_ADDRFORM                        = 0x1
--	IPV6_ADD_MEMBERSHIP                  = 0x14
--	IPV6_AUTHHDR                         = 0xa
--	IPV6_CHECKSUM                        = 0x7
--	IPV6_DONTFRAG                        = 0x3e
--	IPV6_DROP_MEMBERSHIP                 = 0x15
--	IPV6_DSTOPTS                         = 0x3b
--	IPV6_HDRINCL                         = 0x24
--	IPV6_HOPLIMIT                        = 0x34
--	IPV6_HOPOPTS                         = 0x36
--	IPV6_IPSEC_POLICY                    = 0x22
--	IPV6_JOIN_ANYCAST                    = 0x1b
--	IPV6_JOIN_GROUP                      = 0x14
--	IPV6_LEAVE_ANYCAST                   = 0x1c
--	IPV6_LEAVE_GROUP                     = 0x15
--	IPV6_MTU                             = 0x18
--	IPV6_MTU_DISCOVER                    = 0x17
--	IPV6_MULTICAST_HOPS                  = 0x12
--	IPV6_MULTICAST_IF                    = 0x11
--	IPV6_MULTICAST_LOOP                  = 0x13
--	IPV6_NEXTHOP                         = 0x9
--	IPV6_PATHMTU                         = 0x3d
--	IPV6_PKTINFO                         = 0x32
--	IPV6_PMTUDISC_DO                     = 0x2
--	IPV6_PMTUDISC_DONT                   = 0x0
--	IPV6_PMTUDISC_INTERFACE              = 0x4
--	IPV6_PMTUDISC_OMIT                   = 0x5
--	IPV6_PMTUDISC_PROBE                  = 0x3
--	IPV6_PMTUDISC_WANT                   = 0x1
--	IPV6_RECVDSTOPTS                     = 0x3a
--	IPV6_RECVERR                         = 0x19
--	IPV6_RECVHOPLIMIT                    = 0x33
--	IPV6_RECVHOPOPTS                     = 0x35
--	IPV6_RECVPATHMTU                     = 0x3c
--	IPV6_RECVPKTINFO                     = 0x31
--	IPV6_RECVRTHDR                       = 0x38
--	IPV6_RECVTCLASS                      = 0x42
--	IPV6_ROUTER_ALERT                    = 0x16
--	IPV6_RTHDR                           = 0x39
--	IPV6_RTHDRDSTOPTS                    = 0x37
--	IPV6_RTHDR_LOOSE                     = 0x0
--	IPV6_RTHDR_STRICT                    = 0x1
--	IPV6_RTHDR_TYPE_0                    = 0x0
--	IPV6_RXDSTOPTS                       = 0x3b
--	IPV6_RXHOPOPTS                       = 0x36
--	IPV6_TCLASS                          = 0x43
--	IPV6_UNICAST_HOPS                    = 0x10
--	IPV6_V6ONLY                          = 0x1a
--	IPV6_XFRM_POLICY                     = 0x23
--	IP_ADD_MEMBERSHIP                    = 0x23
--	IP_ADD_SOURCE_MEMBERSHIP             = 0x27
--	IP_BIND_ADDRESS_NO_PORT              = 0x18
--	IP_BLOCK_SOURCE                      = 0x26
--	IP_CHECKSUM                          = 0x17
--	IP_DEFAULT_MULTICAST_LOOP            = 0x1
--	IP_DEFAULT_MULTICAST_TTL             = 0x1
--	IP_DF                                = 0x4000
--	IP_DROP_MEMBERSHIP                   = 0x24
--	IP_DROP_SOURCE_MEMBERSHIP            = 0x28
--	IP_FREEBIND                          = 0xf
--	IP_HDRINCL                           = 0x3
--	IP_IPSEC_POLICY                      = 0x10
--	IP_MAXPACKET                         = 0xffff
--	IP_MAX_MEMBERSHIPS                   = 0x14
--	IP_MF                                = 0x2000
--	IP_MINTTL                            = 0x15
--	IP_MSFILTER                          = 0x29
--	IP_MSS                               = 0x240
--	IP_MTU                               = 0xe
--	IP_MTU_DISCOVER                      = 0xa
--	IP_MULTICAST_ALL                     = 0x31
--	IP_MULTICAST_IF                      = 0x20
--	IP_MULTICAST_LOOP                    = 0x22
--	IP_MULTICAST_TTL                     = 0x21
--	IP_NODEFRAG                          = 0x16
--	IP_OFFMASK                           = 0x1fff
--	IP_OPTIONS                           = 0x4
--	IP_ORIGDSTADDR                       = 0x14
--	IP_PASSSEC                           = 0x12
--	IP_PKTINFO                           = 0x8
--	IP_PKTOPTIONS                        = 0x9
--	IP_PMTUDISC                          = 0xa
--	IP_PMTUDISC_DO                       = 0x2
--	IP_PMTUDISC_DONT                     = 0x0
--	IP_PMTUDISC_INTERFACE                = 0x4
--	IP_PMTUDISC_OMIT                     = 0x5
--	IP_PMTUDISC_PROBE                    = 0x3
--	IP_PMTUDISC_WANT                     = 0x1
--	IP_RECVERR                           = 0xb
--	IP_RECVOPTS                          = 0x6
--	IP_RECVORIGDSTADDR                   = 0x14
--	IP_RECVRETOPTS                       = 0x7
--	IP_RECVTOS                           = 0xd
--	IP_RECVTTL                           = 0xc
--	IP_RETOPTS                           = 0x7
--	IP_RF                                = 0x8000
--	IP_ROUTER_ALERT                      = 0x5
--	IP_TOS                               = 0x1
--	IP_TRANSPARENT                       = 0x13
--	IP_TTL                               = 0x2
--	IP_UNBLOCK_SOURCE                    = 0x25
--	IP_UNICAST_IF                        = 0x32
--	IP_XFRM_POLICY                       = 0x11
--	ISIG                                 = 0x1
--	ISTRIP                               = 0x20
--	IUCLC                                = 0x200
--	IUTF8                                = 0x4000
--	IXANY                                = 0x800
--	IXOFF                                = 0x1000
--	IXON                                 = 0x400
--	KEYCTL_ASSUME_AUTHORITY              = 0x10
--	KEYCTL_CHOWN                         = 0x4
--	KEYCTL_CLEAR                         = 0x7
--	KEYCTL_DESCRIBE                      = 0x6
--	KEYCTL_DH_COMPUTE                    = 0x17
--	KEYCTL_GET_KEYRING_ID                = 0x0
--	KEYCTL_GET_PERSISTENT                = 0x16
--	KEYCTL_GET_SECURITY                  = 0x11
--	KEYCTL_INSTANTIATE                   = 0xc
--	KEYCTL_INSTANTIATE_IOV               = 0x14
--	KEYCTL_INVALIDATE                    = 0x15
--	KEYCTL_JOIN_SESSION_KEYRING          = 0x1
--	KEYCTL_LINK                          = 0x8
--	KEYCTL_NEGATE                        = 0xd
--	KEYCTL_READ                          = 0xb
--	KEYCTL_REJECT                        = 0x13
--	KEYCTL_REVOKE                        = 0x3
--	KEYCTL_SEARCH                        = 0xa
--	KEYCTL_SESSION_TO_PARENT             = 0x12
--	KEYCTL_SETPERM                       = 0x5
--	KEYCTL_SET_REQKEY_KEYRING            = 0xe
--	KEYCTL_SET_TIMEOUT                   = 0xf
--	KEYCTL_UNLINK                        = 0x9
--	KEYCTL_UPDATE                        = 0x2
--	KEY_REQKEY_DEFL_DEFAULT              = 0x0
--	KEY_REQKEY_DEFL_GROUP_KEYRING        = 0x6
--	KEY_REQKEY_DEFL_NO_CHANGE            = -0x1
--	KEY_REQKEY_DEFL_PROCESS_KEYRING      = 0x2
--	KEY_REQKEY_DEFL_REQUESTOR_KEYRING    = 0x7
--	KEY_REQKEY_DEFL_SESSION_KEYRING      = 0x3
--	KEY_REQKEY_DEFL_THREAD_KEYRING       = 0x1
--	KEY_REQKEY_DEFL_USER_KEYRING         = 0x4
--	KEY_REQKEY_DEFL_USER_SESSION_KEYRING = 0x5
--	KEY_SPEC_GROUP_KEYRING               = -0x6
--	KEY_SPEC_PROCESS_KEYRING             = -0x2
--	KEY_SPEC_REQKEY_AUTH_KEY             = -0x7
--	KEY_SPEC_REQUESTOR_KEYRING           = -0x8
--	KEY_SPEC_SESSION_KEYRING             = -0x3
--	KEY_SPEC_THREAD_KEYRING              = -0x1
--	KEY_SPEC_USER_KEYRING                = -0x4
--	KEY_SPEC_USER_SESSION_KEYRING        = -0x5
--	LINUX_REBOOT_CMD_CAD_OFF             = 0x0
--	LINUX_REBOOT_CMD_CAD_ON              = 0x89abcdef
--	LINUX_REBOOT_CMD_HALT                = 0xcdef0123
--	LINUX_REBOOT_CMD_KEXEC               = 0x45584543
--	LINUX_REBOOT_CMD_POWER_OFF           = 0x4321fedc
--	LINUX_REBOOT_CMD_RESTART             = 0x1234567
--	LINUX_REBOOT_CMD_RESTART2            = 0xa1b2c3d4
--	LINUX_REBOOT_CMD_SW_SUSPEND          = 0xd000fce2
--	LINUX_REBOOT_MAGIC1                  = 0xfee1dead
--	LINUX_REBOOT_MAGIC2                  = 0x28121969
--	LOCK_EX                              = 0x2
--	LOCK_NB                              = 0x4
--	LOCK_SH                              = 0x1
--	LOCK_UN                              = 0x8
--	MADV_DODUMP                          = 0x11
--	MADV_DOFORK                          = 0xb
--	MADV_DONTDUMP                        = 0x10
--	MADV_DONTFORK                        = 0xa
--	MADV_DONTNEED                        = 0x4
--	MADV_FREE                            = 0x8
--	MADV_HUGEPAGE                        = 0xe
--	MADV_HWPOISON                        = 0x64
--	MADV_MERGEABLE                       = 0xc
--	MADV_NOHUGEPAGE                      = 0xf
--	MADV_NORMAL                          = 0x0
--	MADV_RANDOM                          = 0x1
--	MADV_REMOVE                          = 0x9
--	MADV_SEQUENTIAL                      = 0x2
--	MADV_UNMERGEABLE                     = 0xd
--	MADV_WILLNEED                        = 0x3
--	MAP_32BIT                            = 0x40
--	MAP_ANON                             = 0x20
--	MAP_ANONYMOUS                        = 0x20
--	MAP_DENYWRITE                        = 0x800
--	MAP_EXECUTABLE                       = 0x1000
--	MAP_FILE                             = 0x0
--	MAP_FIXED                            = 0x10
--	MAP_GROWSDOWN                        = 0x100
--	MAP_HUGETLB                          = 0x40000
--	MAP_HUGE_MASK                        = 0x3f
--	MAP_HUGE_SHIFT                       = 0x1a
--	MAP_LOCKED                           = 0x2000
--	MAP_NONBLOCK                         = 0x10000
--	MAP_NORESERVE                        = 0x4000
--	MAP_POPULATE                         = 0x8000
--	MAP_PRIVATE                          = 0x2
--	MAP_SHARED                           = 0x1
--	MAP_STACK                            = 0x20000
--	MAP_TYPE                             = 0xf
--	MCL_CURRENT                          = 0x1
--	MCL_FUTURE                           = 0x2
--	MCL_ONFAULT                          = 0x4
--	MNT_DETACH                           = 0x2
--	MNT_EXPIRE                           = 0x4
--	MNT_FORCE                            = 0x1
--	MSG_BATCH                            = 0x40000
--	MSG_CMSG_CLOEXEC                     = 0x40000000
--	MSG_CONFIRM                          = 0x800
--	MSG_CTRUNC                           = 0x8
--	MSG_DONTROUTE                        = 0x4
--	MSG_DONTWAIT                         = 0x40
--	MSG_EOR                              = 0x80
--	MSG_ERRQUEUE                         = 0x2000
--	MSG_FASTOPEN                         = 0x20000000
--	MSG_FIN                              = 0x200
--	MSG_MORE                             = 0x8000
--	MSG_NOSIGNAL                         = 0x4000
--	MSG_OOB                              = 0x1
--	MSG_PEEK                             = 0x2
--	MSG_PROXY                            = 0x10
--	MSG_RST                              = 0x1000
--	MSG_SYN                              = 0x400
--	MSG_TRUNC                            = 0x20
--	MSG_TRYHARD                          = 0x4
--	MSG_WAITALL                          = 0x100
--	MSG_WAITFORONE                       = 0x10000
--	MS_ACTIVE                            = 0x40000000
--	MS_ASYNC                             = 0x1
--	MS_BIND                              = 0x1000
--	MS_BORN                              = 0x20000000
--	MS_DIRSYNC                           = 0x80
--	MS_INVALIDATE                        = 0x2
--	MS_I_VERSION                         = 0x800000
--	MS_KERNMOUNT                         = 0x400000
--	MS_LAZYTIME                          = 0x2000000
--	MS_MANDLOCK                          = 0x40
--	MS_MGC_MSK                           = 0xffff0000
--	MS_MGC_VAL                           = 0xc0ed0000
--	MS_MOVE                              = 0x2000
--	MS_NOATIME                           = 0x400
--	MS_NODEV                             = 0x4
--	MS_NODIRATIME                        = 0x800
--	MS_NOEXEC                            = 0x8
--	MS_NOREMOTELOCK                      = 0x8000000
--	MS_NOSEC                             = 0x10000000
--	MS_NOSUID                            = 0x2
--	MS_NOUSER                            = -0x80000000
--	MS_POSIXACL                          = 0x10000
--	MS_PRIVATE                           = 0x40000
--	MS_RDONLY                            = 0x1
--	MS_REC                               = 0x4000
--	MS_RELATIME                          = 0x200000
--	MS_REMOUNT                           = 0x20
--	MS_RMT_MASK                          = 0x2800051
--	MS_SHARED                            = 0x100000
--	MS_SILENT                            = 0x8000
--	MS_SLAVE                             = 0x80000
--	MS_STRICTATIME                       = 0x1000000
--	MS_SYNC                              = 0x4
--	MS_SYNCHRONOUS                       = 0x10
--	MS_UNBINDABLE                        = 0x20000
--	MS_VERBOSE                           = 0x8000
--	NAME_MAX                             = 0xff
--	NETLINK_ADD_MEMBERSHIP               = 0x1
--	NETLINK_AUDIT                        = 0x9
--	NETLINK_BROADCAST_ERROR              = 0x4
--	NETLINK_CAP_ACK                      = 0xa
--	NETLINK_CONNECTOR                    = 0xb
--	NETLINK_CRYPTO                       = 0x15
--	NETLINK_DNRTMSG                      = 0xe
--	NETLINK_DROP_MEMBERSHIP              = 0x2
--	NETLINK_ECRYPTFS                     = 0x13
--	NETLINK_FIB_LOOKUP                   = 0xa
--	NETLINK_FIREWALL                     = 0x3
--	NETLINK_GENERIC                      = 0x10
--	NETLINK_INET_DIAG                    = 0x4
--	NETLINK_IP6_FW                       = 0xd
--	NETLINK_ISCSI                        = 0x8
--	NETLINK_KOBJECT_UEVENT               = 0xf
--	NETLINK_LISTEN_ALL_NSID              = 0x8
--	NETLINK_LIST_MEMBERSHIPS             = 0x9
--	NETLINK_NETFILTER                    = 0xc
--	NETLINK_NFLOG                        = 0x5
--	NETLINK_NO_ENOBUFS                   = 0x5
--	NETLINK_PKTINFO                      = 0x3
--	NETLINK_RDMA                         = 0x14
--	NETLINK_ROUTE                        = 0x0
--	NETLINK_RX_RING                      = 0x6
--	NETLINK_SCSITRANSPORT                = 0x12
--	NETLINK_SELINUX                      = 0x7
--	NETLINK_SOCK_DIAG                    = 0x4
--	NETLINK_TX_RING                      = 0x7
--	NETLINK_UNUSED                       = 0x1
--	NETLINK_USERSOCK                     = 0x2
--	NETLINK_XFRM                         = 0x6
--	NL0                                  = 0x0
--	NL1                                  = 0x100
--	NLA_ALIGNTO                          = 0x4
--	NLA_F_NESTED                         = 0x8000
--	NLA_F_NET_BYTEORDER                  = 0x4000
--	NLA_HDRLEN                           = 0x4
--	NLDLY                                = 0x100
--	NLMSG_ALIGNTO                        = 0x4
--	NLMSG_DONE                           = 0x3
--	NLMSG_ERROR                          = 0x2
--	NLMSG_HDRLEN                         = 0x10
--	NLMSG_MIN_TYPE                       = 0x10
--	NLMSG_NOOP                           = 0x1
--	NLMSG_OVERRUN                        = 0x4
--	NLM_F_ACK                            = 0x4
--	NLM_F_APPEND                         = 0x800
--	NLM_F_ATOMIC                         = 0x400
--	NLM_F_CREATE                         = 0x400
--	NLM_F_DUMP                           = 0x300
--	NLM_F_DUMP_FILTERED                  = 0x20
--	NLM_F_DUMP_INTR                      = 0x10
--	NLM_F_ECHO                           = 0x8
--	NLM_F_EXCL                           = 0x200
--	NLM_F_MATCH                          = 0x200
--	NLM_F_MULTI                          = 0x2
--	NLM_F_REPLACE                        = 0x100
--	NLM_F_REQUEST                        = 0x1
--	NLM_F_ROOT                           = 0x100
--	NOFLSH                               = 0x80
--	OCRNL                                = 0x8
--	OFDEL                                = 0x80
--	OFILL                                = 0x40
--	OLCUC                                = 0x2
--	ONLCR                                = 0x4
--	ONLRET                               = 0x20
--	ONOCR                                = 0x10
--	OPOST                                = 0x1
--	O_ACCMODE                            = 0x3
--	O_APPEND                             = 0x400
--	O_ASYNC                              = 0x2000
--	O_CLOEXEC                            = 0x80000
--	O_CREAT                              = 0x40
--	O_DIRECT                             = 0x4000
--	O_DIRECTORY                          = 0x10000
--	O_DSYNC                              = 0x1000
--	O_EXCL                               = 0x80
--	O_FSYNC                              = 0x101000
--	O_LARGEFILE                          = 0x0
--	O_NDELAY                             = 0x800
--	O_NOATIME                            = 0x40000
--	O_NOCTTY                             = 0x100
--	O_NOFOLLOW                           = 0x20000
--	O_NONBLOCK                           = 0x800
--	O_PATH                               = 0x200000
--	O_RDONLY                             = 0x0
--	O_RDWR                               = 0x2
--	O_RSYNC                              = 0x101000
--	O_SYNC                               = 0x101000
--	O_TMPFILE                            = 0x410000
--	O_TRUNC                              = 0x200
--	O_WRONLY                             = 0x1
--	PACKET_ADD_MEMBERSHIP                = 0x1
--	PACKET_AUXDATA                       = 0x8
--	PACKET_BROADCAST                     = 0x1
--	PACKET_COPY_THRESH                   = 0x7
--	PACKET_DROP_MEMBERSHIP               = 0x2
--	PACKET_FANOUT                        = 0x12
--	PACKET_FANOUT_CBPF                   = 0x6
--	PACKET_FANOUT_CPU                    = 0x2
--	PACKET_FANOUT_DATA                   = 0x16
--	PACKET_FANOUT_EBPF                   = 0x7
--	PACKET_FANOUT_FLAG_DEFRAG            = 0x8000
--	PACKET_FANOUT_FLAG_ROLLOVER          = 0x1000
--	PACKET_FANOUT_HASH                   = 0x0
--	PACKET_FANOUT_LB                     = 0x1
--	PACKET_FANOUT_QM                     = 0x5
--	PACKET_FANOUT_RND                    = 0x4
--	PACKET_FANOUT_ROLLOVER               = 0x3
--	PACKET_FASTROUTE                     = 0x6
--	PACKET_HDRLEN                        = 0xb
--	PACKET_HOST                          = 0x0
--	PACKET_KERNEL                        = 0x7
--	PACKET_LOOPBACK                      = 0x5
--	PACKET_LOSS                          = 0xe
--	PACKET_MR_ALLMULTI                   = 0x2
--	PACKET_MR_MULTICAST                  = 0x0
--	PACKET_MR_PROMISC                    = 0x1
--	PACKET_MR_UNICAST                    = 0x3
--	PACKET_MULTICAST                     = 0x2
--	PACKET_ORIGDEV                       = 0x9
--	PACKET_OTHERHOST                     = 0x3
--	PACKET_OUTGOING                      = 0x4
--	PACKET_QDISC_BYPASS                  = 0x14
--	PACKET_RECV_OUTPUT                   = 0x3
--	PACKET_RESERVE                       = 0xc
--	PACKET_ROLLOVER_STATS                = 0x15
--	PACKET_RX_RING                       = 0x5
--	PACKET_STATISTICS                    = 0x6
--	PACKET_TIMESTAMP                     = 0x11
--	PACKET_TX_HAS_OFF                    = 0x13
--	PACKET_TX_RING                       = 0xd
--	PACKET_TX_TIMESTAMP                  = 0x10
--	PACKET_USER                          = 0x6
--	PACKET_VERSION                       = 0xa
--	PACKET_VNET_HDR                      = 0xf
--	PARENB                               = 0x100
--	PARITY_CRC16_PR0                     = 0x2
--	PARITY_CRC16_PR0_CCITT               = 0x4
--	PARITY_CRC16_PR1                     = 0x3
--	PARITY_CRC16_PR1_CCITT               = 0x5
--	PARITY_CRC32_PR0_CCITT               = 0x6
--	PARITY_CRC32_PR1_CCITT               = 0x7
--	PARITY_DEFAULT                       = 0x0
--	PARITY_NONE                          = 0x1
--	PARMRK                               = 0x8
--	PARODD                               = 0x200
--	PENDIN                               = 0x4000
--	PERF_EVENT_IOC_DISABLE               = 0x2401
--	PERF_EVENT_IOC_ENABLE                = 0x2400
--	PERF_EVENT_IOC_ID                    = 0x80082407
--	PERF_EVENT_IOC_PAUSE_OUTPUT          = 0x40042409
--	PERF_EVENT_IOC_PERIOD                = 0x40082404
--	PERF_EVENT_IOC_REFRESH               = 0x2402
--	PERF_EVENT_IOC_RESET                 = 0x2403
--	PERF_EVENT_IOC_SET_BPF               = 0x40042408
--	PERF_EVENT_IOC_SET_FILTER            = 0x40082406
--	PERF_EVENT_IOC_SET_OUTPUT            = 0x2405
--	PRIO_PGRP                            = 0x1
--	PRIO_PROCESS                         = 0x0
--	PRIO_USER                            = 0x2
--	PROT_EXEC                            = 0x4
--	PROT_GROWSDOWN                       = 0x1000000
--	PROT_GROWSUP                         = 0x2000000
--	PROT_NONE                            = 0x0
--	PROT_READ                            = 0x1
--	PROT_WRITE                           = 0x2
--	PR_CAPBSET_DROP                      = 0x18
--	PR_CAPBSET_READ                      = 0x17
--	PR_CAP_AMBIENT                       = 0x2f
--	PR_CAP_AMBIENT_CLEAR_ALL             = 0x4
--	PR_CAP_AMBIENT_IS_SET                = 0x1
--	PR_CAP_AMBIENT_LOWER                 = 0x3
--	PR_CAP_AMBIENT_RAISE                 = 0x2
--	PR_ENDIAN_BIG                        = 0x0
--	PR_ENDIAN_LITTLE                     = 0x1
--	PR_ENDIAN_PPC_LITTLE                 = 0x2
--	PR_FPEMU_NOPRINT                     = 0x1
--	PR_FPEMU_SIGFPE                      = 0x2
--	PR_FP_EXC_ASYNC                      = 0x2
--	PR_FP_EXC_DISABLED                   = 0x0
--	PR_FP_EXC_DIV                        = 0x10000
--	PR_FP_EXC_INV                        = 0x100000
--	PR_FP_EXC_NONRECOV                   = 0x1
--	PR_FP_EXC_OVF                        = 0x20000
--	PR_FP_EXC_PRECISE                    = 0x3
--	PR_FP_EXC_RES                        = 0x80000
--	PR_FP_EXC_SW_ENABLE                  = 0x80
--	PR_FP_EXC_UND                        = 0x40000
--	PR_FP_MODE_FR                        = 0x1
--	PR_FP_MODE_FRE                       = 0x2
--	PR_GET_CHILD_SUBREAPER               = 0x25
--	PR_GET_DUMPABLE                      = 0x3
--	PR_GET_ENDIAN                        = 0x13
--	PR_GET_FPEMU                         = 0x9
--	PR_GET_FPEXC                         = 0xb
--	PR_GET_FP_MODE                       = 0x2e
--	PR_GET_KEEPCAPS                      = 0x7
--	PR_GET_NAME                          = 0x10
--	PR_GET_NO_NEW_PRIVS                  = 0x27
--	PR_GET_PDEATHSIG                     = 0x2
--	PR_GET_SECCOMP                       = 0x15
--	PR_GET_SECUREBITS                    = 0x1b
--	PR_GET_THP_DISABLE                   = 0x2a
--	PR_GET_TID_ADDRESS                   = 0x28
--	PR_GET_TIMERSLACK                    = 0x1e
--	PR_GET_TIMING                        = 0xd
--	PR_GET_TSC                           = 0x19
--	PR_GET_UNALIGN                       = 0x5
--	PR_MCE_KILL                          = 0x21
--	PR_MCE_KILL_CLEAR                    = 0x0
--	PR_MCE_KILL_DEFAULT                  = 0x2
--	PR_MCE_KILL_EARLY                    = 0x1
--	PR_MCE_KILL_GET                      = 0x22
--	PR_MCE_KILL_LATE                     = 0x0
--	PR_MCE_KILL_SET                      = 0x1
--	PR_MPX_DISABLE_MANAGEMENT            = 0x2c
--	PR_MPX_ENABLE_MANAGEMENT             = 0x2b
--	PR_SET_CHILD_SUBREAPER               = 0x24
--	PR_SET_DUMPABLE                      = 0x4
--	PR_SET_ENDIAN                        = 0x14
--	PR_SET_FPEMU                         = 0xa
--	PR_SET_FPEXC                         = 0xc
--	PR_SET_FP_MODE                       = 0x2d
--	PR_SET_KEEPCAPS                      = 0x8
--	PR_SET_MM                            = 0x23
--	PR_SET_MM_ARG_END                    = 0x9
--	PR_SET_MM_ARG_START                  = 0x8
--	PR_SET_MM_AUXV                       = 0xc
--	PR_SET_MM_BRK                        = 0x7
--	PR_SET_MM_END_CODE                   = 0x2
--	PR_SET_MM_END_DATA                   = 0x4
--	PR_SET_MM_ENV_END                    = 0xb
--	PR_SET_MM_ENV_START                  = 0xa
--	PR_SET_MM_EXE_FILE                   = 0xd
--	PR_SET_MM_MAP                        = 0xe
--	PR_SET_MM_MAP_SIZE                   = 0xf
--	PR_SET_MM_START_BRK                  = 0x6
--	PR_SET_MM_START_CODE                 = 0x1
--	PR_SET_MM_START_DATA                 = 0x3
--	PR_SET_MM_START_STACK                = 0x5
--	PR_SET_NAME                          = 0xf
--	PR_SET_NO_NEW_PRIVS                  = 0x26
--	PR_SET_PDEATHSIG                     = 0x1
--	PR_SET_PTRACER                       = 0x59616d61
--	PR_SET_PTRACER_ANY                   = -0x1
--	PR_SET_SECCOMP                       = 0x16
--	PR_SET_SECUREBITS                    = 0x1c
--	PR_SET_THP_DISABLE                   = 0x29
--	PR_SET_TIMERSLACK                    = 0x1d
--	PR_SET_TIMING                        = 0xe
--	PR_SET_TSC                           = 0x1a
--	PR_SET_UNALIGN                       = 0x6
--	PR_TASK_PERF_EVENTS_DISABLE          = 0x1f
--	PR_TASK_PERF_EVENTS_ENABLE           = 0x20
--	PR_TIMING_STATISTICAL                = 0x0
--	PR_TIMING_TIMESTAMP                  = 0x1
--	PR_TSC_ENABLE                        = 0x1
--	PR_TSC_SIGSEGV                       = 0x2
--	PR_UNALIGN_NOPRINT                   = 0x1
--	PR_UNALIGN_SIGBUS                    = 0x2
--	PTRACE_ARCH_PRCTL                    = 0x1e
--	PTRACE_ATTACH                        = 0x10
--	PTRACE_CONT                          = 0x7
--	PTRACE_DETACH                        = 0x11
--	PTRACE_EVENT_CLONE                   = 0x3
--	PTRACE_EVENT_EXEC                    = 0x4
--	PTRACE_EVENT_EXIT                    = 0x6
--	PTRACE_EVENT_FORK                    = 0x1
--	PTRACE_EVENT_SECCOMP                 = 0x7
--	PTRACE_EVENT_STOP                    = 0x80
--	PTRACE_EVENT_VFORK                   = 0x2
--	PTRACE_EVENT_VFORK_DONE              = 0x5
--	PTRACE_GETEVENTMSG                   = 0x4201
--	PTRACE_GETFPREGS                     = 0xe
--	PTRACE_GETFPXREGS                    = 0x12
--	PTRACE_GETREGS                       = 0xc
--	PTRACE_GETREGSET                     = 0x4204
--	PTRACE_GETSIGINFO                    = 0x4202
--	PTRACE_GETSIGMASK                    = 0x420a
--	PTRACE_GET_THREAD_AREA               = 0x19
--	PTRACE_INTERRUPT                     = 0x4207
--	PTRACE_KILL                          = 0x8
--	PTRACE_LISTEN                        = 0x4208
--	PTRACE_OLDSETOPTIONS                 = 0x15
--	PTRACE_O_EXITKILL                    = 0x100000
--	PTRACE_O_MASK                        = 0x3000ff
--	PTRACE_O_SUSPEND_SECCOMP             = 0x200000
--	PTRACE_O_TRACECLONE                  = 0x8
--	PTRACE_O_TRACEEXEC                   = 0x10
--	PTRACE_O_TRACEEXIT                   = 0x40
--	PTRACE_O_TRACEFORK                   = 0x2
--	PTRACE_O_TRACESECCOMP                = 0x80
--	PTRACE_O_TRACESYSGOOD                = 0x1
--	PTRACE_O_TRACEVFORK                  = 0x4
--	PTRACE_O_TRACEVFORKDONE              = 0x20
--	PTRACE_PEEKDATA                      = 0x2
--	PTRACE_PEEKSIGINFO                   = 0x4209
--	PTRACE_PEEKSIGINFO_SHARED            = 0x1
--	PTRACE_PEEKTEXT                      = 0x1
--	PTRACE_PEEKUSR                       = 0x3
--	PTRACE_POKEDATA                      = 0x5
--	PTRACE_POKETEXT                      = 0x4
--	PTRACE_POKEUSR                       = 0x6
--	PTRACE_SECCOMP_GET_FILTER            = 0x420c
--	PTRACE_SEIZE                         = 0x4206
--	PTRACE_SETFPREGS                     = 0xf
--	PTRACE_SETFPXREGS                    = 0x13
--	PTRACE_SETOPTIONS                    = 0x4200
--	PTRACE_SETREGS                       = 0xd
--	PTRACE_SETREGSET                     = 0x4205
--	PTRACE_SETSIGINFO                    = 0x4203
--	PTRACE_SETSIGMASK                    = 0x420b
--	PTRACE_SET_THREAD_AREA               = 0x1a
--	PTRACE_SINGLEBLOCK                   = 0x21
--	PTRACE_SINGLESTEP                    = 0x9
--	PTRACE_SYSCALL                       = 0x18
--	PTRACE_SYSEMU                        = 0x1f
--	PTRACE_SYSEMU_SINGLESTEP             = 0x20
--	PTRACE_TRACEME                       = 0x0
--	RLIMIT_AS                            = 0x9
--	RLIMIT_CORE                          = 0x4
--	RLIMIT_CPU                           = 0x0
--	RLIMIT_DATA                          = 0x2
--	RLIMIT_FSIZE                         = 0x1
--	RLIMIT_LOCKS                         = 0xa
--	RLIMIT_MEMLOCK                       = 0x8
--	RLIMIT_MSGQUEUE                      = 0xc
--	RLIMIT_NICE                          = 0xd
--	RLIMIT_NOFILE                        = 0x7
--	RLIMIT_NPROC                         = 0x6
--	RLIMIT_RSS                           = 0x5
--	RLIMIT_RTPRIO                        = 0xe
--	RLIMIT_RTTIME                        = 0xf
--	RLIMIT_SIGPENDING                    = 0xb
--	RLIMIT_STACK                         = 0x3
--	RLIM_INFINITY                        = -0x1
--	RTAX_ADVMSS                          = 0x8
--	RTAX_CC_ALGO                         = 0x10
--	RTAX_CWND                            = 0x7
--	RTAX_FEATURES                        = 0xc
--	RTAX_FEATURE_ALLFRAG                 = 0x8
--	RTAX_FEATURE_ECN                     = 0x1
--	RTAX_FEATURE_MASK                    = 0xf
--	RTAX_FEATURE_SACK                    = 0x2
--	RTAX_FEATURE_TIMESTAMP               = 0x4
--	RTAX_HOPLIMIT                        = 0xa
--	RTAX_INITCWND                        = 0xb
--	RTAX_INITRWND                        = 0xe
--	RTAX_LOCK                            = 0x1
--	RTAX_MAX                             = 0x10
--	RTAX_MTU                             = 0x2
--	RTAX_QUICKACK                        = 0xf
--	RTAX_REORDERING                      = 0x9
--	RTAX_RTO_MIN                         = 0xd
--	RTAX_RTT                             = 0x4
--	RTAX_RTTVAR                          = 0x5
--	RTAX_SSTHRESH                        = 0x6
--	RTAX_UNSPEC                          = 0x0
--	RTAX_WINDOW                          = 0x3
--	RTA_ALIGNTO                          = 0x4
--	RTA_MAX                              = 0x19
--	RTCF_DIRECTSRC                       = 0x4000000
--	RTCF_DOREDIRECT                      = 0x1000000
--	RTCF_LOG                             = 0x2000000
--	RTCF_MASQ                            = 0x400000
--	RTCF_NAT                             = 0x800000
--	RTCF_VALVE                           = 0x200000
--	RTF_ADDRCLASSMASK                    = 0xf8000000
--	RTF_ADDRCONF                         = 0x40000
--	RTF_ALLONLINK                        = 0x20000
--	RTF_BROADCAST                        = 0x10000000
--	RTF_CACHE                            = 0x1000000
--	RTF_DEFAULT                          = 0x10000
--	RTF_DYNAMIC                          = 0x10
--	RTF_FLOW                             = 0x2000000
--	RTF_GATEWAY                          = 0x2
--	RTF_HOST                             = 0x4
--	RTF_INTERFACE                        = 0x40000000
--	RTF_IRTT                             = 0x100
--	RTF_LINKRT                           = 0x100000
--	RTF_LOCAL                            = 0x80000000
--	RTF_MODIFIED                         = 0x20
--	RTF_MSS                              = 0x40
--	RTF_MTU                              = 0x40
--	RTF_MULTICAST                        = 0x20000000
--	RTF_NAT                              = 0x8000000
--	RTF_NOFORWARD                        = 0x1000
--	RTF_NONEXTHOP                        = 0x200000
--	RTF_NOPMTUDISC                       = 0x4000
--	RTF_POLICY                           = 0x4000000
--	RTF_REINSTATE                        = 0x8
--	RTF_REJECT                           = 0x200
--	RTF_STATIC                           = 0x400
--	RTF_THROW                            = 0x2000
--	RTF_UP                               = 0x1
--	RTF_WINDOW                           = 0x80
--	RTF_XRESOLVE                         = 0x800
--	RTM_BASE                             = 0x10
--	RTM_DELACTION                        = 0x31
--	RTM_DELADDR                          = 0x15
--	RTM_DELADDRLABEL                     = 0x49
--	RTM_DELLINK                          = 0x11
--	RTM_DELMDB                           = 0x55
--	RTM_DELNEIGH                         = 0x1d
--	RTM_DELNSID                          = 0x59
--	RTM_DELQDISC                         = 0x25
--	RTM_DELROUTE                         = 0x19
--	RTM_DELRULE                          = 0x21
--	RTM_DELTCLASS                        = 0x29
--	RTM_DELTFILTER                       = 0x2d
--	RTM_F_CLONED                         = 0x200
--	RTM_F_EQUALIZE                       = 0x400
--	RTM_F_LOOKUP_TABLE                   = 0x1000
--	RTM_F_NOTIFY                         = 0x100
--	RTM_F_PREFIX                         = 0x800
--	RTM_GETACTION                        = 0x32
--	RTM_GETADDR                          = 0x16
--	RTM_GETADDRLABEL                     = 0x4a
--	RTM_GETANYCAST                       = 0x3e
--	RTM_GETDCB                           = 0x4e
--	RTM_GETLINK                          = 0x12
--	RTM_GETMDB                           = 0x56
--	RTM_GETMULTICAST                     = 0x3a
--	RTM_GETNEIGH                         = 0x1e
--	RTM_GETNEIGHTBL                      = 0x42
--	RTM_GETNETCONF                       = 0x52
--	RTM_GETNSID                          = 0x5a
--	RTM_GETQDISC                         = 0x26
--	RTM_GETROUTE                         = 0x1a
--	RTM_GETRULE                          = 0x22
--	RTM_GETSTATS                         = 0x5e
--	RTM_GETTCLASS                        = 0x2a
--	RTM_GETTFILTER                       = 0x2e
--	RTM_MAX                              = 0x5f
--	RTM_NEWACTION                        = 0x30
--	RTM_NEWADDR                          = 0x14
--	RTM_NEWADDRLABEL                     = 0x48
--	RTM_NEWLINK                          = 0x10
--	RTM_NEWMDB                           = 0x54
--	RTM_NEWNDUSEROPT                     = 0x44
--	RTM_NEWNEIGH                         = 0x1c
--	RTM_NEWNEIGHTBL                      = 0x40
--	RTM_NEWNETCONF                       = 0x50
--	RTM_NEWNSID                          = 0x58
--	RTM_NEWPREFIX                        = 0x34
--	RTM_NEWQDISC                         = 0x24
--	RTM_NEWROUTE                         = 0x18
--	RTM_NEWRULE                          = 0x20
--	RTM_NEWSTATS                         = 0x5c
--	RTM_NEWTCLASS                        = 0x28
--	RTM_NEWTFILTER                       = 0x2c
--	RTM_NR_FAMILIES                      = 0x14
--	RTM_NR_MSGTYPES                      = 0x50
--	RTM_SETDCB                           = 0x4f
--	RTM_SETLINK                          = 0x13
--	RTM_SETNEIGHTBL                      = 0x43
--	RTNH_ALIGNTO                         = 0x4
--	RTNH_COMPARE_MASK                    = 0x19
--	RTNH_F_DEAD                          = 0x1
--	RTNH_F_LINKDOWN                      = 0x10
--	RTNH_F_OFFLOAD                       = 0x8
--	RTNH_F_ONLINK                        = 0x4
--	RTNH_F_PERVASIVE                     = 0x2
--	RTN_MAX                              = 0xb
--	RTPROT_BABEL                         = 0x2a
--	RTPROT_BIRD                          = 0xc
--	RTPROT_BOOT                          = 0x3
--	RTPROT_DHCP                          = 0x10
--	RTPROT_DNROUTED                      = 0xd
--	RTPROT_GATED                         = 0x8
--	RTPROT_KERNEL                        = 0x2
--	RTPROT_MROUTED                       = 0x11
--	RTPROT_MRT                           = 0xa
--	RTPROT_NTK                           = 0xf
--	RTPROT_RA                            = 0x9
--	RTPROT_REDIRECT                      = 0x1
--	RTPROT_STATIC                        = 0x4
--	RTPROT_UNSPEC                        = 0x0
--	RTPROT_XORP                          = 0xe
--	RTPROT_ZEBRA                         = 0xb
--	RT_CLASS_DEFAULT                     = 0xfd
--	RT_CLASS_LOCAL                       = 0xff
--	RT_CLASS_MAIN                        = 0xfe
--	RT_CLASS_MAX                         = 0xff
--	RT_CLASS_UNSPEC                      = 0x0
--	RUSAGE_CHILDREN                      = -0x1
--	RUSAGE_SELF                          = 0x0
--	RUSAGE_THREAD                        = 0x1
--	SCM_CREDENTIALS                      = 0x2
--	SCM_RIGHTS                           = 0x1
--	SCM_TIMESTAMP                        = 0x1d
--	SCM_TIMESTAMPING                     = 0x25
--	SCM_TIMESTAMPING_OPT_STATS           = 0x36
--	SCM_TIMESTAMPNS                      = 0x23
--	SCM_WIFI_STATUS                      = 0x29
--	SECCOMP_MODE_DISABLED                = 0x0
--	SECCOMP_MODE_FILTER                  = 0x2
--	SECCOMP_MODE_STRICT                  = 0x1
--	SHUT_RD                              = 0x0
--	SHUT_RDWR                            = 0x2
--	SHUT_WR                              = 0x1
--	SIOCADDDLCI                          = 0x8980
--	SIOCADDMULTI                         = 0x8931
--	SIOCADDRT                            = 0x890b
--	SIOCATMARK                           = 0x8905
--	SIOCBONDCHANGEACTIVE                 = 0x8995
--	SIOCBONDENSLAVE                      = 0x8990
--	SIOCBONDINFOQUERY                    = 0x8994
--	SIOCBONDRELEASE                      = 0x8991
--	SIOCBONDSETHWADDR                    = 0x8992
--	SIOCBONDSLAVEINFOQUERY               = 0x8993
--	SIOCBRADDBR                          = 0x89a0
--	SIOCBRADDIF                          = 0x89a2
--	SIOCBRDELBR                          = 0x89a1
--	SIOCBRDELIF                          = 0x89a3
--	SIOCDARP                             = 0x8953
--	SIOCDELDLCI                          = 0x8981
--	SIOCDELMULTI                         = 0x8932
--	SIOCDELRT                            = 0x890c
--	SIOCDEVPRIVATE                       = 0x89f0
--	SIOCDIFADDR                          = 0x8936
--	SIOCDRARP                            = 0x8960
--	SIOCETHTOOL                          = 0x8946
--	SIOCGARP                             = 0x8954
--	SIOCGHWTSTAMP                        = 0x89b1
--	SIOCGIFADDR                          = 0x8915
--	SIOCGIFBR                            = 0x8940
--	SIOCGIFBRDADDR                       = 0x8919
--	SIOCGIFCONF                          = 0x8912
--	SIOCGIFCOUNT                         = 0x8938
--	SIOCGIFDSTADDR                       = 0x8917
--	SIOCGIFENCAP                         = 0x8925
--	SIOCGIFFLAGS                         = 0x8913
--	SIOCGIFHWADDR                        = 0x8927
--	SIOCGIFINDEX                         = 0x8933
--	SIOCGIFMAP                           = 0x8970
--	SIOCGIFMEM                           = 0x891f
--	SIOCGIFMETRIC                        = 0x891d
--	SIOCGIFMTU                           = 0x8921
--	SIOCGIFNAME                          = 0x8910
--	SIOCGIFNETMASK                       = 0x891b
--	SIOCGIFPFLAGS                        = 0x8935
--	SIOCGIFSLAVE                         = 0x8929
--	SIOCGIFTXQLEN                        = 0x8942
--	SIOCGIFVLAN                          = 0x8982
--	SIOCGMIIPHY                          = 0x8947
--	SIOCGMIIREG                          = 0x8948
--	SIOCGPGRP                            = 0x8904
--	SIOCGRARP                            = 0x8961
--	SIOCGSKNS                            = 0x894c
--	SIOCGSTAMP                           = 0x8906
--	SIOCGSTAMPNS                         = 0x8907
--	SIOCINQ                              = 0x541b
--	SIOCOUTQ                             = 0x5411
--	SIOCOUTQNSD                          = 0x894b
--	SIOCPROTOPRIVATE                     = 0x89e0
--	SIOCRTMSG                            = 0x890d
--	SIOCSARP                             = 0x8955
--	SIOCSHWTSTAMP                        = 0x89b0
--	SIOCSIFADDR                          = 0x8916
--	SIOCSIFBR                            = 0x8941
--	SIOCSIFBRDADDR                       = 0x891a
--	SIOCSIFDSTADDR                       = 0x8918
--	SIOCSIFENCAP                         = 0x8926
--	SIOCSIFFLAGS                         = 0x8914
--	SIOCSIFHWADDR                        = 0x8924
--	SIOCSIFHWBROADCAST                   = 0x8937
--	SIOCSIFLINK                          = 0x8911
--	SIOCSIFMAP                           = 0x8971
--	SIOCSIFMEM                           = 0x8920
--	SIOCSIFMETRIC                        = 0x891e
--	SIOCSIFMTU                           = 0x8922
--	SIOCSIFNAME                          = 0x8923
--	SIOCSIFNETMASK                       = 0x891c
--	SIOCSIFPFLAGS                        = 0x8934
--	SIOCSIFSLAVE                         = 0x8930
--	SIOCSIFTXQLEN                        = 0x8943
--	SIOCSIFVLAN                          = 0x8983
--	SIOCSMIIREG                          = 0x8949
--	SIOCSPGRP                            = 0x8902
--	SIOCSRARP                            = 0x8962
--	SIOCWANDEV                           = 0x894a
--	SOCK_CLOEXEC                         = 0x80000
--	SOCK_DCCP                            = 0x6
--	SOCK_DGRAM                           = 0x2
--	SOCK_IOC_TYPE                        = 0x89
--	SOCK_NONBLOCK                        = 0x800
--	SOCK_PACKET                          = 0xa
--	SOCK_RAW                             = 0x3
--	SOCK_RDM                             = 0x4
--	SOCK_SEQPACKET                       = 0x5
--	SOCK_STREAM                          = 0x1
--	SOL_AAL                              = 0x109
--	SOL_ALG                              = 0x117
--	SOL_ATM                              = 0x108
--	SOL_CAIF                             = 0x116
--	SOL_CAN_BASE                         = 0x64
--	SOL_DCCP                             = 0x10d
--	SOL_DECNET                           = 0x105
--	SOL_ICMPV6                           = 0x3a
--	SOL_IP                               = 0x0
--	SOL_IPV6                             = 0x29
--	SOL_IRDA                             = 0x10a
--	SOL_IUCV                             = 0x115
--	SOL_KCM                              = 0x119
--	SOL_LLC                              = 0x10c
--	SOL_NETBEUI                          = 0x10b
--	SOL_NETLINK                          = 0x10e
--	SOL_NFC                              = 0x118
--	SOL_PACKET                           = 0x107
--	SOL_PNPIPE                           = 0x113
--	SOL_PPPOL2TP                         = 0x111
--	SOL_RAW                              = 0xff
--	SOL_RDS                              = 0x114
--	SOL_RXRPC                            = 0x110
--	SOL_SOCKET                           = 0x1
--	SOL_TCP                              = 0x6
--	SOL_TIPC                             = 0x10f
--	SOL_X25                              = 0x106
--	SOMAXCONN                            = 0x80
--	SO_ACCEPTCONN                        = 0x1e
--	SO_ATTACH_BPF                        = 0x32
--	SO_ATTACH_FILTER                     = 0x1a
--	SO_ATTACH_REUSEPORT_CBPF             = 0x33
--	SO_ATTACH_REUSEPORT_EBPF             = 0x34
--	SO_BINDTODEVICE                      = 0x19
--	SO_BPF_EXTENSIONS                    = 0x30
--	SO_BROADCAST                         = 0x6
--	SO_BSDCOMPAT                         = 0xe
--	SO_BUSY_POLL                         = 0x2e
--	SO_CNX_ADVICE                        = 0x35
--	SO_DEBUG                             = 0x1
--	SO_DETACH_BPF                        = 0x1b
--	SO_DETACH_FILTER                     = 0x1b
--	SO_DOMAIN                            = 0x27
--	SO_DONTROUTE                         = 0x5
--	SO_ERROR                             = 0x4
--	SO_GET_FILTER                        = 0x1a
--	SO_INCOMING_CPU                      = 0x31
--	SO_KEEPALIVE                         = 0x9
--	SO_LINGER                            = 0xd
--	SO_LOCK_FILTER                       = 0x2c
--	SO_MARK                              = 0x24
--	SO_MAX_PACING_RATE                   = 0x2f
--	SO_NOFCS                             = 0x2b
--	SO_NO_CHECK                          = 0xb
--	SO_OOBINLINE                         = 0xa
--	SO_PASSCRED                          = 0x10
--	SO_PASSSEC                           = 0x22
--	SO_PEEK_OFF                          = 0x2a
--	SO_PEERCRED                          = 0x11
--	SO_PEERNAME                          = 0x1c
--	SO_PEERSEC                           = 0x1f
--	SO_PRIORITY                          = 0xc
--	SO_PROTOCOL                          = 0x26
--	SO_RCVBUF                            = 0x8
--	SO_RCVBUFFORCE                       = 0x21
--	SO_RCVLOWAT                          = 0x12
--	SO_RCVTIMEO                          = 0x14
--	SO_REUSEADDR                         = 0x2
--	SO_REUSEPORT                         = 0xf
--	SO_RXQ_OVFL                          = 0x28
--	SO_SECURITY_AUTHENTICATION           = 0x16
--	SO_SECURITY_ENCRYPTION_NETWORK       = 0x18
--	SO_SECURITY_ENCRYPTION_TRANSPORT     = 0x17
--	SO_SELECT_ERR_QUEUE                  = 0x2d
--	SO_SNDBUF                            = 0x7
--	SO_SNDBUFFORCE                       = 0x20
--	SO_SNDLOWAT                          = 0x13
--	SO_SNDTIMEO                          = 0x15
--	SO_TIMESTAMP                         = 0x1d
--	SO_TIMESTAMPING                      = 0x25
--	SO_TIMESTAMPNS                       = 0x23
--	SO_TYPE                              = 0x3
--	SO_VM_SOCKETS_BUFFER_MAX_SIZE        = 0x2
--	SO_VM_SOCKETS_BUFFER_MIN_SIZE        = 0x1
--	SO_VM_SOCKETS_BUFFER_SIZE            = 0x0
--	SO_VM_SOCKETS_CONNECT_TIMEOUT        = 0x6
--	SO_VM_SOCKETS_NONBLOCK_TXRX          = 0x7
--	SO_VM_SOCKETS_PEER_HOST_VM_ID        = 0x3
--	SO_VM_SOCKETS_TRUSTED                = 0x5
--	SO_WIFI_STATUS                       = 0x29
--	SPLICE_F_GIFT                        = 0x8
--	SPLICE_F_MORE                        = 0x4
--	SPLICE_F_MOVE                        = 0x1
--	SPLICE_F_NONBLOCK                    = 0x2
--	S_BLKSIZE                            = 0x200
--	S_IEXEC                              = 0x40
--	S_IFBLK                              = 0x6000
--	S_IFCHR                              = 0x2000
--	S_IFDIR                              = 0x4000
--	S_IFIFO                              = 0x1000
--	S_IFLNK                              = 0xa000
--	S_IFMT                               = 0xf000
--	S_IFREG                              = 0x8000
--	S_IFSOCK                             = 0xc000
--	S_IREAD                              = 0x100
--	S_IRGRP                              = 0x20
--	S_IROTH                              = 0x4
--	S_IRUSR                              = 0x100
--	S_IRWXG                              = 0x38
--	S_IRWXO                              = 0x7
--	S_IRWXU                              = 0x1c0
--	S_ISGID                              = 0x400
--	S_ISUID                              = 0x800
--	S_ISVTX                              = 0x200
--	S_IWGRP                              = 0x10
--	S_IWOTH                              = 0x2
--	S_IWRITE                             = 0x80
--	S_IWUSR                              = 0x80
--	S_IXGRP                              = 0x8
--	S_IXOTH                              = 0x1
--	S_IXUSR                              = 0x40
--	TAB0                                 = 0x0
--	TAB1                                 = 0x800
--	TAB2                                 = 0x1000
--	TAB3                                 = 0x1800
--	TABDLY                               = 0x1800
--	TASKSTATS_CMD_ATTR_MAX               = 0x4
--	TASKSTATS_CMD_MAX                    = 0x2
--	TASKSTATS_GENL_NAME                  = "TASKSTATS"
--	TASKSTATS_GENL_VERSION               = 0x1
--	TASKSTATS_TYPE_MAX                   = 0x6
--	TASKSTATS_VERSION                    = 0x8
--	TCFLSH                               = 0x540b
--	TCGETA                               = 0x5405
--	TCGETS                               = 0x5401
--	TCGETS2                              = 0x802c542a
--	TCGETX                               = 0x5432
--	TCIFLUSH                             = 0x0
--	TCIOFF                               = 0x2
--	TCIOFLUSH                            = 0x2
--	TCION                                = 0x3
--	TCOFLUSH                             = 0x1
--	TCOOFF                               = 0x0
--	TCOON                                = 0x1
--	TCP_CC_INFO                          = 0x1a
--	TCP_CONGESTION                       = 0xd
--	TCP_COOKIE_IN_ALWAYS                 = 0x1
--	TCP_COOKIE_MAX                       = 0x10
--	TCP_COOKIE_MIN                       = 0x8
--	TCP_COOKIE_OUT_NEVER                 = 0x2
--	TCP_COOKIE_PAIR_SIZE                 = 0x20
--	TCP_COOKIE_TRANSACTIONS              = 0xf
--	TCP_CORK                             = 0x3
--	TCP_DEFER_ACCEPT                     = 0x9
--	TCP_FASTOPEN                         = 0x17
--	TCP_INFO                             = 0xb
--	TCP_KEEPCNT                          = 0x6
--	TCP_KEEPIDLE                         = 0x4
--	TCP_KEEPINTVL                        = 0x5
--	TCP_LINGER2                          = 0x8
--	TCP_MAXSEG                           = 0x2
--	TCP_MAXWIN                           = 0xffff
--	TCP_MAX_WINSHIFT                     = 0xe
--	TCP_MD5SIG                           = 0xe
--	TCP_MD5SIG_MAXKEYLEN                 = 0x50
--	TCP_MSS                              = 0x200
--	TCP_MSS_DEFAULT                      = 0x218
--	TCP_MSS_DESIRED                      = 0x4c4
--	TCP_NODELAY                          = 0x1
--	TCP_NOTSENT_LOWAT                    = 0x19
--	TCP_QUEUE_SEQ                        = 0x15
--	TCP_QUICKACK                         = 0xc
--	TCP_REPAIR                           = 0x13
--	TCP_REPAIR_OPTIONS                   = 0x16
--	TCP_REPAIR_QUEUE                     = 0x14
--	TCP_REPAIR_WINDOW                    = 0x1d
--	TCP_SAVED_SYN                        = 0x1c
--	TCP_SAVE_SYN                         = 0x1b
--	TCP_SYNCNT                           = 0x7
--	TCP_S_DATA_IN                        = 0x4
--	TCP_S_DATA_OUT                       = 0x8
--	TCP_THIN_DUPACK                      = 0x11
--	TCP_THIN_LINEAR_TIMEOUTS             = 0x10
--	TCP_TIMESTAMP                        = 0x18
--	TCP_USER_TIMEOUT                     = 0x12
--	TCP_WINDOW_CLAMP                     = 0xa
--	TCSAFLUSH                            = 0x2
--	TCSBRK                               = 0x5409
--	TCSBRKP                              = 0x5425
--	TCSETA                               = 0x5406
--	TCSETAF                              = 0x5408
--	TCSETAW                              = 0x5407
--	TCSETS                               = 0x5402
--	TCSETS2                              = 0x402c542b
--	TCSETSF                              = 0x5404
--	TCSETSF2                             = 0x402c542d
--	TCSETSW                              = 0x5403
--	TCSETSW2                             = 0x402c542c
--	TCSETX                               = 0x5433
--	TCSETXF                              = 0x5434
--	TCSETXW                              = 0x5435
--	TCXONC                               = 0x540a
--	TIOCCBRK                             = 0x5428
--	TIOCCONS                             = 0x541d
--	TIOCEXCL                             = 0x540c
--	TIOCGDEV                             = 0x80045432
--	TIOCGETD                             = 0x5424
--	TIOCGEXCL                            = 0x80045440
--	TIOCGICOUNT                          = 0x545d
--	TIOCGLCKTRMIOS                       = 0x5456
--	TIOCGPGRP                            = 0x540f
--	TIOCGPKT                             = 0x80045438
--	TIOCGPTLCK                           = 0x80045439
--	TIOCGPTN                             = 0x80045430
--	TIOCGRS485                           = 0x542e
--	TIOCGSERIAL                          = 0x541e
--	TIOCGSID                             = 0x5429
--	TIOCGSOFTCAR                         = 0x5419
--	TIOCGWINSZ                           = 0x5413
--	TIOCINQ                              = 0x541b
--	TIOCLINUX                            = 0x541c
--	TIOCMBIC                             = 0x5417
--	TIOCMBIS                             = 0x5416
--	TIOCMGET                             = 0x5415
--	TIOCMIWAIT                           = 0x545c
--	TIOCMSET                             = 0x5418
--	TIOCM_CAR                            = 0x40
--	TIOCM_CD                             = 0x40
--	TIOCM_CTS                            = 0x20
--	TIOCM_DSR                            = 0x100
--	TIOCM_DTR                            = 0x2
--	TIOCM_LE                             = 0x1
--	TIOCM_RI                             = 0x80
--	TIOCM_RNG                            = 0x80
--	TIOCM_RTS                            = 0x4
--	TIOCM_SR                             = 0x10
--	TIOCM_ST                             = 0x8
--	TIOCNOTTY                            = 0x5422
--	TIOCNXCL                             = 0x540d
--	TIOCOUTQ                             = 0x5411
--	TIOCPKT                              = 0x5420
--	TIOCPKT_DATA                         = 0x0
--	TIOCPKT_DOSTOP                       = 0x20
--	TIOCPKT_FLUSHREAD                    = 0x1
--	TIOCPKT_FLUSHWRITE                   = 0x2
--	TIOCPKT_IOCTL                        = 0x40
--	TIOCPKT_NOSTOP                       = 0x10
--	TIOCPKT_START                        = 0x8
--	TIOCPKT_STOP                         = 0x4
--	TIOCSBRK                             = 0x5427
--	TIOCSCTTY                            = 0x540e
--	TIOCSERCONFIG                        = 0x5453
--	TIOCSERGETLSR                        = 0x5459
--	TIOCSERGETMULTI                      = 0x545a
--	TIOCSERGSTRUCT                       = 0x5458
--	TIOCSERGWILD                         = 0x5454
--	TIOCSERSETMULTI                      = 0x545b
--	TIOCSERSWILD                         = 0x5455
--	TIOCSER_TEMT                         = 0x1
--	TIOCSETD                             = 0x5423
--	TIOCSIG                              = 0x40045436
--	TIOCSLCKTRMIOS                       = 0x5457
--	TIOCSPGRP                            = 0x5410
--	TIOCSPTLCK                           = 0x40045431
--	TIOCSRS485                           = 0x542f
--	TIOCSSERIAL                          = 0x541f
--	TIOCSSOFTCAR                         = 0x541a
--	TIOCSTI                              = 0x5412
--	TIOCSWINSZ                           = 0x5414
--	TIOCVHANGUP                          = 0x5437
--	TOSTOP                               = 0x100
--	TS_COMM_LEN                          = 0x20
--	TUNATTACHFILTER                      = 0x401054d5
--	TUNDETACHFILTER                      = 0x401054d6
--	TUNGETFEATURES                       = 0x800454cf
--	TUNGETFILTER                         = 0x801054db
--	TUNGETIFF                            = 0x800454d2
--	TUNGETSNDBUF                         = 0x800454d3
--	TUNGETVNETBE                         = 0x800454df
--	TUNGETVNETHDRSZ                      = 0x800454d7
--	TUNGETVNETLE                         = 0x800454dd
--	TUNSETDEBUG                          = 0x400454c9
--	TUNSETGROUP                          = 0x400454ce
--	TUNSETIFF                            = 0x400454ca
--	TUNSETIFINDEX                        = 0x400454da
--	TUNSETLINK                           = 0x400454cd
--	TUNSETNOCSUM                         = 0x400454c8
--	TUNSETOFFLOAD                        = 0x400454d0
--	TUNSETOWNER                          = 0x400454cc
--	TUNSETPERSIST                        = 0x400454cb
--	TUNSETQUEUE                          = 0x400454d9
--	TUNSETSNDBUF                         = 0x400454d4
--	TUNSETTXFILTER                       = 0x400454d1
--	TUNSETVNETBE                         = 0x400454de
--	TUNSETVNETHDRSZ                      = 0x400454d8
--	TUNSETVNETLE                         = 0x400454dc
--	UMOUNT_NOFOLLOW                      = 0x8
--	VDISCARD                             = 0xd
--	VEOF                                 = 0x4
--	VEOL                                 = 0xb
--	VEOL2                                = 0x10
--	VERASE                               = 0x2
--	VINTR                                = 0x0
--	VKILL                                = 0x3
--	VLNEXT                               = 0xf
--	VMADDR_CID_ANY                       = 0xffffffff
--	VMADDR_CID_HOST                      = 0x2
--	VMADDR_CID_HYPERVISOR                = 0x0
--	VMADDR_CID_RESERVED                  = 0x1
--	VMADDR_PORT_ANY                      = 0xffffffff
--	VMIN                                 = 0x6
--	VM_SOCKETS_INVALID_VERSION           = 0xffffffff
--	VQUIT                                = 0x1
--	VREPRINT                             = 0xc
--	VSTART                               = 0x8
--	VSTOP                                = 0x9
--	VSUSP                                = 0xa
--	VSWTC                                = 0x7
--	VT0                                  = 0x0
--	VT1                                  = 0x4000
--	VTDLY                                = 0x4000
--	VTIME                                = 0x5
--	VWERASE                              = 0xe
--	WALL                                 = 0x40000000
--	WCLONE                               = 0x80000000
--	WCONTINUED                           = 0x8
--	WEXITED                              = 0x4
--	WNOHANG                              = 0x1
--	WNOTHREAD                            = 0x20000000
--	WNOWAIT                              = 0x1000000
--	WORDSIZE                             = 0x40
--	WSTOPPED                             = 0x2
--	WUNTRACED                            = 0x2
--	XATTR_CREATE                         = 0x1
--	XATTR_REPLACE                        = 0x2
--	XCASE                                = 0x4
--	XTABS                                = 0x1800
-+	B1000000                         = 0x1008
-+	B115200                          = 0x1002
-+	B1152000                         = 0x1009
-+	B1500000                         = 0x100a
-+	B2000000                         = 0x100b
-+	B230400                          = 0x1003
-+	B2500000                         = 0x100c
-+	B3000000                         = 0x100d
-+	B3500000                         = 0x100e
-+	B4000000                         = 0x100f
-+	B460800                          = 0x1004
-+	B500000                          = 0x1005
-+	B57600                           = 0x1001
-+	B576000                          = 0x1006
-+	B921600                          = 0x1007
-+	BLKBSZGET                        = 0x80081270
-+	BLKBSZSET                        = 0x40081271
-+	BLKFLSBUF                        = 0x1261
-+	BLKFRAGET                        = 0x1265
-+	BLKFRASET                        = 0x1264
-+	BLKGETSIZE                       = 0x1260
-+	BLKGETSIZE64                     = 0x80081272
-+	BLKPBSZGET                       = 0x127b
-+	BLKRAGET                         = 0x1263
-+	BLKRASET                         = 0x1262
-+	BLKROGET                         = 0x125e
-+	BLKROSET                         = 0x125d
-+	BLKRRPART                        = 0x125f
-+	BLKSECTGET                       = 0x1267
-+	BLKSECTSET                       = 0x1266
-+	BLKSSZGET                        = 0x1268
-+	BOTHER                           = 0x1000
-+	BS1                              = 0x2000
-+	BSDLY                            = 0x2000
-+	CBAUD                            = 0x100f
-+	CBAUDEX                          = 0x1000
-+	CIBAUD                           = 0x100f0000
-+	CLOCAL                           = 0x800
-+	CR1                              = 0x200
-+	CR2                              = 0x400
-+	CR3                              = 0x600
-+	CRDLY                            = 0x600
-+	CREAD                            = 0x80
-+	CS6                              = 0x10
-+	CS7                              = 0x20
-+	CS8                              = 0x30
-+	CSIZE                            = 0x30
-+	CSTOPB                           = 0x40
-+	ECHOCTL                          = 0x200
-+	ECHOE                            = 0x10
-+	ECHOK                            = 0x20
-+	ECHOKE                           = 0x800
-+	ECHONL                           = 0x40
-+	ECHOPRT                          = 0x400
-+	EFD_CLOEXEC                      = 0x80000
-+	EFD_NONBLOCK                     = 0x800
-+	EPOLL_CLOEXEC                    = 0x80000
-+	EXTPROC                          = 0x10000
-+	FF1                              = 0x8000
-+	FFDLY                            = 0x8000
-+	FLUSHO                           = 0x1000
-+	FP_XSTATE_MAGIC2                 = 0x46505845
-+	FS_IOC_ENABLE_VERITY             = 0x40806685
-+	FS_IOC_GETFLAGS                  = 0x80086601
-+	FS_IOC_GET_ENCRYPTION_POLICY     = 0x400c6615
-+	FS_IOC_GET_ENCRYPTION_PWSALT     = 0x40106614
-+	FS_IOC_SET_ENCRYPTION_POLICY     = 0x800c6613
-+	F_GETLK                          = 0x5
-+	F_GETLK64                        = 0x5
-+	F_GETOWN                         = 0x9
-+	F_RDLCK                          = 0x0
-+	F_SETLK                          = 0x6
-+	F_SETLK64                        = 0x6
-+	F_SETLKW                         = 0x7
-+	F_SETLKW64                       = 0x7
-+	F_SETOWN                         = 0x8
-+	F_UNLCK                          = 0x2
-+	F_WRLCK                          = 0x1
-+	HUPCL                            = 0x400
-+	ICANON                           = 0x2
-+	IEXTEN                           = 0x8000
-+	IN_CLOEXEC                       = 0x80000
-+	IN_NONBLOCK                      = 0x800
-+	IOCTL_VM_SOCKETS_GET_LOCAL_CID   = 0x7b9
-+	ISIG                             = 0x1
-+	IUCLC                            = 0x200
-+	IXOFF                            = 0x1000
-+	IXON                             = 0x400
-+	MAP_32BIT                        = 0x40
-+	MAP_ANON                         = 0x20
-+	MAP_ANONYMOUS                    = 0x20
-+	MAP_DENYWRITE                    = 0x800
-+	MAP_EXECUTABLE                   = 0x1000
-+	MAP_GROWSDOWN                    = 0x100
-+	MAP_HUGETLB                      = 0x40000
-+	MAP_LOCKED                       = 0x2000
-+	MAP_NONBLOCK                     = 0x10000
-+	MAP_NORESERVE                    = 0x4000
-+	MAP_POPULATE                     = 0x8000
-+	MAP_STACK                        = 0x20000
-+	MAP_SYNC                         = 0x80000
-+	MCL_CURRENT                      = 0x1
-+	MCL_FUTURE                       = 0x2
-+	MCL_ONFAULT                      = 0x4
-+	NFDBITS                          = 0x40
-+	NLDLY                            = 0x100
-+	NOFLSH                           = 0x80
-+	NS_GET_NSTYPE                    = 0xb703
-+	NS_GET_OWNER_UID                 = 0xb704
-+	NS_GET_PARENT                    = 0xb702
-+	NS_GET_USERNS                    = 0xb701
-+	OLCUC                            = 0x2
-+	ONLCR                            = 0x4
-+	O_APPEND                         = 0x400
-+	O_ASYNC                          = 0x2000
-+	O_CLOEXEC                        = 0x80000
-+	O_CREAT                          = 0x40
-+	O_DIRECT                         = 0x4000
-+	O_DIRECTORY                      = 0x10000
-+	O_DSYNC                          = 0x1000
-+	O_EXCL                           = 0x80
-+	O_FSYNC                          = 0x101000
-+	O_LARGEFILE                      = 0x0
-+	O_NDELAY                         = 0x800
-+	O_NOATIME                        = 0x40000
-+	O_NOCTTY                         = 0x100
-+	O_NOFOLLOW                       = 0x20000
-+	O_NONBLOCK                       = 0x800
-+	O_PATH                           = 0x200000
-+	O_RSYNC                          = 0x101000
-+	O_SYNC                           = 0x101000
-+	O_TMPFILE                        = 0x410000
-+	O_TRUNC                          = 0x200
-+	PARENB                           = 0x100
-+	PARODD                           = 0x200
-+	PENDIN                           = 0x4000
-+	PERF_EVENT_IOC_DISABLE           = 0x2401
-+	PERF_EVENT_IOC_ENABLE            = 0x2400
-+	PERF_EVENT_IOC_ID                = 0x80082407
-+	PERF_EVENT_IOC_MODIFY_ATTRIBUTES = 0x4008240b
-+	PERF_EVENT_IOC_PAUSE_OUTPUT      = 0x40042409
-+	PERF_EVENT_IOC_PERIOD            = 0x40082404
-+	PERF_EVENT_IOC_QUERY_BPF         = 0xc008240a
-+	PERF_EVENT_IOC_REFRESH           = 0x2402
-+	PERF_EVENT_IOC_RESET             = 0x2403
-+	PERF_EVENT_IOC_SET_BPF           = 0x40042408
-+	PERF_EVENT_IOC_SET_FILTER        = 0x40082406
-+	PERF_EVENT_IOC_SET_OUTPUT        = 0x2405
-+	PPPIOCATTACH                     = 0x4004743d
-+	PPPIOCATTCHAN                    = 0x40047438
-+	PPPIOCCONNECT                    = 0x4004743a
-+	PPPIOCDETACH                     = 0x4004743c
-+	PPPIOCDISCONN                    = 0x7439
-+	PPPIOCGASYNCMAP                  = 0x80047458
-+	PPPIOCGCHAN                      = 0x80047437
-+	PPPIOCGDEBUG                     = 0x80047441
-+	PPPIOCGFLAGS                     = 0x8004745a
-+	PPPIOCGIDLE                      = 0x8010743f
-+	PPPIOCGIDLE32                    = 0x8008743f
-+	PPPIOCGIDLE64                    = 0x8010743f
-+	PPPIOCGL2TPSTATS                 = 0x80487436
-+	PPPIOCGMRU                       = 0x80047453
-+	PPPIOCGRASYNCMAP                 = 0x80047455
-+	PPPIOCGUNIT                      = 0x80047456
-+	PPPIOCGXASYNCMAP                 = 0x80207450
-+	PPPIOCSACTIVE                    = 0x40107446
-+	PPPIOCSASYNCMAP                  = 0x40047457
-+	PPPIOCSCOMPRESS                  = 0x4010744d
-+	PPPIOCSDEBUG                     = 0x40047440
-+	PPPIOCSFLAGS                     = 0x40047459
-+	PPPIOCSMAXCID                    = 0x40047451
-+	PPPIOCSMRRU                      = 0x4004743b
-+	PPPIOCSMRU                       = 0x40047452
-+	PPPIOCSNPMODE                    = 0x4008744b
-+	PPPIOCSPASS                      = 0x40107447
-+	PPPIOCSRASYNCMAP                 = 0x40047454
-+	PPPIOCSXASYNCMAP                 = 0x4020744f
-+	PPPIOCXFERUNIT                   = 0x744e
-+	PR_SET_PTRACER_ANY               = 0xffffffffffffffff
-+	PTRACE_ARCH_PRCTL                = 0x1e
-+	PTRACE_GETFPREGS                 = 0xe
-+	PTRACE_GETFPXREGS                = 0x12
-+	PTRACE_GET_THREAD_AREA           = 0x19
-+	PTRACE_OLDSETOPTIONS             = 0x15
-+	PTRACE_SETFPREGS                 = 0xf
-+	PTRACE_SETFPXREGS                = 0x13
-+	PTRACE_SET_THREAD_AREA           = 0x1a
-+	PTRACE_SINGLEBLOCK               = 0x21
-+	PTRACE_SYSEMU                    = 0x1f
-+	PTRACE_SYSEMU_SINGLESTEP         = 0x20
-+	RLIMIT_AS                        = 0x9
-+	RLIMIT_MEMLOCK                   = 0x8
-+	RLIMIT_NOFILE                    = 0x7
-+	RLIMIT_NPROC                     = 0x6
-+	RLIMIT_RSS                       = 0x5
-+	RNDADDENTROPY                    = 0x40085203
-+	RNDADDTOENTCNT                   = 0x40045201
-+	RNDCLEARPOOL                     = 0x5206
-+	RNDGETENTCNT                     = 0x80045200
-+	RNDGETPOOL                       = 0x80085202
-+	RNDRESEEDCRNG                    = 0x5207
-+	RNDZAPENTCNT                     = 0x5204
-+	RTC_AIE_OFF                      = 0x7002
-+	RTC_AIE_ON                       = 0x7001
-+	RTC_ALM_READ                     = 0x80247008
-+	RTC_ALM_SET                      = 0x40247007
-+	RTC_EPOCH_READ                   = 0x8008700d
-+	RTC_EPOCH_SET                    = 0x4008700e
-+	RTC_IRQP_READ                    = 0x8008700b
-+	RTC_IRQP_SET                     = 0x4008700c
-+	RTC_PIE_OFF                      = 0x7006
-+	RTC_PIE_ON                       = 0x7005
-+	RTC_PLL_GET                      = 0x80207011
-+	RTC_PLL_SET                      = 0x40207012
-+	RTC_RD_TIME                      = 0x80247009
-+	RTC_SET_TIME                     = 0x4024700a
-+	RTC_UIE_OFF                      = 0x7004
-+	RTC_UIE_ON                       = 0x7003
-+	RTC_VL_CLR                       = 0x7014
-+	RTC_VL_READ                      = 0x80047013
-+	RTC_WIE_OFF                      = 0x7010
-+	RTC_WIE_ON                       = 0x700f
-+	RTC_WKALM_RD                     = 0x80287010
-+	RTC_WKALM_SET                    = 0x4028700f
-+	SCM_TIMESTAMPING                 = 0x25
-+	SCM_TIMESTAMPING_OPT_STATS       = 0x36
-+	SCM_TIMESTAMPING_PKTINFO         = 0x3a
-+	SCM_TIMESTAMPNS                  = 0x23
-+	SCM_TXTIME                       = 0x3d
-+	SCM_WIFI_STATUS                  = 0x29
-+	SFD_CLOEXEC                      = 0x80000
-+	SFD_NONBLOCK                     = 0x800
-+	SIOCATMARK                       = 0x8905
-+	SIOCGPGRP                        = 0x8904
-+	SIOCGSTAMPNS_NEW                 = 0x80108907
-+	SIOCGSTAMP_NEW                   = 0x80108906
-+	SIOCINQ                          = 0x541b
-+	SIOCOUTQ                         = 0x5411
-+	SIOCSPGRP                        = 0x8902
-+	SOCK_CLOEXEC                     = 0x80000
-+	SOCK_DGRAM                       = 0x2
-+	SOCK_NONBLOCK                    = 0x800
-+	SOCK_STREAM                      = 0x1
-+	SOL_SOCKET                       = 0x1
-+	SO_ACCEPTCONN                    = 0x1e
-+	SO_ATTACH_BPF                    = 0x32
-+	SO_ATTACH_REUSEPORT_CBPF         = 0x33
-+	SO_ATTACH_REUSEPORT_EBPF         = 0x34
-+	SO_BINDTODEVICE                  = 0x19
-+	SO_BINDTOIFINDEX                 = 0x3e
-+	SO_BPF_EXTENSIONS                = 0x30
-+	SO_BROADCAST                     = 0x6
-+	SO_BSDCOMPAT                     = 0xe
-+	SO_BUSY_POLL                     = 0x2e
-+	SO_CNX_ADVICE                    = 0x35
-+	SO_COOKIE                        = 0x39
-+	SO_DETACH_REUSEPORT_BPF          = 0x44
-+	SO_DOMAIN                        = 0x27
-+	SO_DONTROUTE                     = 0x5
-+	SO_ERROR                         = 0x4
-+	SO_INCOMING_CPU                  = 0x31
-+	SO_INCOMING_NAPI_ID              = 0x38
-+	SO_KEEPALIVE                     = 0x9
-+	SO_LINGER                        = 0xd
-+	SO_LOCK_FILTER                   = 0x2c
-+	SO_MARK                          = 0x24
-+	SO_MAX_PACING_RATE               = 0x2f
-+	SO_MEMINFO                       = 0x37
-+	SO_NOFCS                         = 0x2b
-+	SO_OOBINLINE                     = 0xa
-+	SO_PASSCRED                      = 0x10
-+	SO_PASSSEC                       = 0x22
-+	SO_PEEK_OFF                      = 0x2a
-+	SO_PEERCRED                      = 0x11
-+	SO_PEERGROUPS                    = 0x3b
-+	SO_PEERSEC                       = 0x1f
-+	SO_PROTOCOL                      = 0x26
-+	SO_RCVBUF                        = 0x8
-+	SO_RCVBUFFORCE                   = 0x21
-+	SO_RCVLOWAT                      = 0x12
-+	SO_RCVTIMEO                      = 0x14
-+	SO_RCVTIMEO_NEW                  = 0x42
-+	SO_RCVTIMEO_OLD                  = 0x14
-+	SO_REUSEADDR                     = 0x2
-+	SO_REUSEPORT                     = 0xf
-+	SO_RXQ_OVFL                      = 0x28
-+	SO_SECURITY_AUTHENTICATION       = 0x16
-+	SO_SECURITY_ENCRYPTION_NETWORK   = 0x18
-+	SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17
-+	SO_SELECT_ERR_QUEUE              = 0x2d
-+	SO_SNDBUF                        = 0x7
-+	SO_SNDBUFFORCE                   = 0x20
-+	SO_SNDLOWAT                      = 0x13
-+	SO_SNDTIMEO                      = 0x15
-+	SO_SNDTIMEO_NEW                  = 0x43
-+	SO_SNDTIMEO_OLD                  = 0x15
-+	SO_TIMESTAMPING                  = 0x25
-+	SO_TIMESTAMPING_NEW              = 0x41
-+	SO_TIMESTAMPING_OLD              = 0x25
-+	SO_TIMESTAMPNS                   = 0x23
-+	SO_TIMESTAMPNS_NEW               = 0x40
-+	SO_TIMESTAMPNS_OLD               = 0x23
-+	SO_TIMESTAMP_NEW                 = 0x3f
-+	SO_TXTIME                        = 0x3d
-+	SO_TYPE                          = 0x3
-+	SO_WIFI_STATUS                   = 0x29
-+	SO_ZEROCOPY                      = 0x3c
-+	TAB1                             = 0x800
-+	TAB2                             = 0x1000
-+	TAB3                             = 0x1800
-+	TABDLY                           = 0x1800
-+	TCFLSH                           = 0x540b
-+	TCGETA                           = 0x5405
-+	TCGETS                           = 0x5401
-+	TCGETS2                          = 0x802c542a
-+	TCGETX                           = 0x5432
-+	TCSAFLUSH                        = 0x2
-+	TCSBRK                           = 0x5409
-+	TCSBRKP                          = 0x5425
-+	TCSETA                           = 0x5406
-+	TCSETAF                          = 0x5408
-+	TCSETAW                          = 0x5407
-+	TCSETS                           = 0x5402
-+	TCSETS2                          = 0x402c542b
-+	TCSETSF                          = 0x5404
-+	TCSETSF2                         = 0x402c542d
-+	TCSETSW                          = 0x5403
-+	TCSETSW2                         = 0x402c542c
-+	TCSETX                           = 0x5433
-+	TCSETXF                          = 0x5434
-+	TCSETXW                          = 0x5435
-+	TCXONC                           = 0x540a
-+	TIOCCBRK                         = 0x5428
-+	TIOCCONS                         = 0x541d
-+	TIOCEXCL                         = 0x540c
-+	TIOCGDEV                         = 0x80045432
-+	TIOCGETD                         = 0x5424
-+	TIOCGEXCL                        = 0x80045440
-+	TIOCGICOUNT                      = 0x545d
-+	TIOCGISO7816                     = 0x80285442
-+	TIOCGLCKTRMIOS                   = 0x5456
-+	TIOCGPGRP                        = 0x540f
-+	TIOCGPKT                         = 0x80045438
-+	TIOCGPTLCK                       = 0x80045439
-+	TIOCGPTN                         = 0x80045430
-+	TIOCGPTPEER                      = 0x5441
-+	TIOCGRS485                       = 0x542e
-+	TIOCGSERIAL                      = 0x541e
-+	TIOCGSID                         = 0x5429
-+	TIOCGSOFTCAR                     = 0x5419
-+	TIOCGWINSZ                       = 0x5413
-+	TIOCINQ                          = 0x541b
-+	TIOCLINUX                        = 0x541c
-+	TIOCMBIC                         = 0x5417
-+	TIOCMBIS                         = 0x5416
-+	TIOCMGET                         = 0x5415
-+	TIOCMIWAIT                       = 0x545c
-+	TIOCMSET                         = 0x5418
-+	TIOCM_CAR                        = 0x40
-+	TIOCM_CD                         = 0x40
-+	TIOCM_CTS                        = 0x20
-+	TIOCM_DSR                        = 0x100
-+	TIOCM_RI                         = 0x80
-+	TIOCM_RNG                        = 0x80
-+	TIOCM_SR                         = 0x10
-+	TIOCM_ST                         = 0x8
-+	TIOCNOTTY                        = 0x5422
-+	TIOCNXCL                         = 0x540d
-+	TIOCOUTQ                         = 0x5411
-+	TIOCPKT                          = 0x5420
-+	TIOCSBRK                         = 0x5427
-+	TIOCSCTTY                        = 0x540e
-+	TIOCSERCONFIG                    = 0x5453
-+	TIOCSERGETLSR                    = 0x5459
-+	TIOCSERGETMULTI                  = 0x545a
-+	TIOCSERGSTRUCT                   = 0x5458
-+	TIOCSERGWILD                     = 0x5454
-+	TIOCSERSETMULTI                  = 0x545b
-+	TIOCSERSWILD                     = 0x5455
-+	TIOCSER_TEMT                     = 0x1
-+	TIOCSETD                         = 0x5423
-+	TIOCSIG                          = 0x40045436
-+	TIOCSISO7816                     = 0xc0285443
-+	TIOCSLCKTRMIOS                   = 0x5457
-+	TIOCSPGRP                        = 0x5410
-+	TIOCSPTLCK                       = 0x40045431
-+	TIOCSRS485                       = 0x542f
-+	TIOCSSERIAL                      = 0x541f
-+	TIOCSSOFTCAR                     = 0x541a
-+	TIOCSTI                          = 0x5412
-+	TIOCSWINSZ                       = 0x5414
-+	TIOCVHANGUP                      = 0x5437
-+	TOSTOP                           = 0x100
-+	TUNATTACHFILTER                  = 0x401054d5
-+	TUNDETACHFILTER                  = 0x401054d6
-+	TUNGETDEVNETNS                   = 0x54e3
-+	TUNGETFEATURES                   = 0x800454cf
-+	TUNGETFILTER                     = 0x801054db
-+	TUNGETIFF                        = 0x800454d2
-+	TUNGETSNDBUF                     = 0x800454d3
-+	TUNGETVNETBE                     = 0x800454df
-+	TUNGETVNETHDRSZ                  = 0x800454d7
-+	TUNGETVNETLE                     = 0x800454dd
-+	TUNSETCARRIER                    = 0x400454e2
-+	TUNSETDEBUG                      = 0x400454c9
-+	TUNSETFILTEREBPF                 = 0x800454e1
-+	TUNSETGROUP                      = 0x400454ce
-+	TUNSETIFF                        = 0x400454ca
-+	TUNSETIFINDEX                    = 0x400454da
-+	TUNSETLINK                       = 0x400454cd
-+	TUNSETNOCSUM                     = 0x400454c8
-+	TUNSETOFFLOAD                    = 0x400454d0
-+	TUNSETOWNER                      = 0x400454cc
-+	TUNSETPERSIST                    = 0x400454cb
-+	TUNSETQUEUE                      = 0x400454d9
-+	TUNSETSNDBUF                     = 0x400454d4
-+	TUNSETSTEERINGEBPF               = 0x800454e0
-+	TUNSETTXFILTER                   = 0x400454d1
-+	TUNSETVNETBE                     = 0x400454de
-+	TUNSETVNETHDRSZ                  = 0x400454d8
-+	TUNSETVNETLE                     = 0x400454dc
-+	UBI_IOCATT                       = 0x40186f40
-+	UBI_IOCDET                       = 0x40046f41
-+	UBI_IOCEBCH                      = 0x40044f02
-+	UBI_IOCEBER                      = 0x40044f01
-+	UBI_IOCEBISMAP                   = 0x80044f05
-+	UBI_IOCEBMAP                     = 0x40084f03
-+	UBI_IOCEBUNMAP                   = 0x40044f04
-+	UBI_IOCMKVOL                     = 0x40986f00
-+	UBI_IOCRMVOL                     = 0x40046f01
-+	UBI_IOCRNVOL                     = 0x51106f03
-+	UBI_IOCRPEB                      = 0x40046f04
-+	UBI_IOCRSVOL                     = 0x400c6f02
-+	UBI_IOCSETVOLPROP                = 0x40104f06
-+	UBI_IOCSPEB                      = 0x40046f05
-+	UBI_IOCVOLCRBLK                  = 0x40804f07
-+	UBI_IOCVOLRMBLK                  = 0x4f08
-+	UBI_IOCVOLUP                     = 0x40084f00
-+	VDISCARD                         = 0xd
-+	VEOF                             = 0x4
-+	VEOL                             = 0xb
-+	VEOL2                            = 0x10
-+	VMIN                             = 0x6
-+	VREPRINT                         = 0xc
-+	VSTART                           = 0x8
-+	VSTOP                            = 0x9
-+	VSUSP                            = 0xa
-+	VSWTC                            = 0x7
-+	VT1                              = 0x4000
-+	VTDLY                            = 0x4000
-+	VTIME                            = 0x5
-+	VWERASE                          = 0xe
-+	WDIOC_GETBOOTSTATUS              = 0x80045702
-+	WDIOC_GETPRETIMEOUT              = 0x80045709
-+	WDIOC_GETSTATUS                  = 0x80045701
-+	WDIOC_GETSUPPORT                 = 0x80285700
-+	WDIOC_GETTEMP                    = 0x80045703
-+	WDIOC_GETTIMELEFT                = 0x8004570a
-+	WDIOC_GETTIMEOUT                 = 0x80045707
-+	WDIOC_KEEPALIVE                  = 0x80045705
-+	WDIOC_SETOPTIONS                 = 0x80045704
-+	WORDSIZE                         = 0x40
-+	XCASE                            = 0x4
-+	XTABS                            = 0x1800
- )
- 
- // Errors
- const (
--	E2BIG           = syscall.Errno(0x7)
--	EACCES          = syscall.Errno(0xd)
- 	EADDRINUSE      = syscall.Errno(0x62)
- 	EADDRNOTAVAIL   = syscall.Errno(0x63)
- 	EADV            = syscall.Errno(0x44)
- 	EAFNOSUPPORT    = syscall.Errno(0x61)
--	EAGAIN          = syscall.Errno(0xb)
- 	EALREADY        = syscall.Errno(0x72)
- 	EBADE           = syscall.Errno(0x34)
--	EBADF           = syscall.Errno(0x9)
- 	EBADFD          = syscall.Errno(0x4d)
- 	EBADMSG         = syscall.Errno(0x4a)
- 	EBADR           = syscall.Errno(0x35)
- 	EBADRQC         = syscall.Errno(0x38)
- 	EBADSLT         = syscall.Errno(0x39)
- 	EBFONT          = syscall.Errno(0x3b)
--	EBUSY           = syscall.Errno(0x10)
- 	ECANCELED       = syscall.Errno(0x7d)
--	ECHILD          = syscall.Errno(0xa)
- 	ECHRNG          = syscall.Errno(0x2c)
- 	ECOMM           = syscall.Errno(0x46)
- 	ECONNABORTED    = syscall.Errno(0x67)
-@@ -1882,23 +500,15 @@ const (
- 	EDEADLK         = syscall.Errno(0x23)
- 	EDEADLOCK       = syscall.Errno(0x23)
- 	EDESTADDRREQ    = syscall.Errno(0x59)
--	EDOM            = syscall.Errno(0x21)
- 	EDOTDOT         = syscall.Errno(0x49)
- 	EDQUOT          = syscall.Errno(0x7a)
--	EEXIST          = syscall.Errno(0x11)
--	EFAULT          = syscall.Errno(0xe)
--	EFBIG           = syscall.Errno(0x1b)
- 	EHOSTDOWN       = syscall.Errno(0x70)
- 	EHOSTUNREACH    = syscall.Errno(0x71)
- 	EHWPOISON       = syscall.Errno(0x85)
- 	EIDRM           = syscall.Errno(0x2b)
- 	EILSEQ          = syscall.Errno(0x54)
- 	EINPROGRESS     = syscall.Errno(0x73)
--	EINTR           = syscall.Errno(0x4)
--	EINVAL          = syscall.Errno(0x16)
--	EIO             = syscall.Errno(0x5)
- 	EISCONN         = syscall.Errno(0x6a)
--	EISDIR          = syscall.Errno(0x15)
- 	EISNAM          = syscall.Errno(0x78)
- 	EKEYEXPIRED     = syscall.Errno(0x7f)
- 	EKEYREJECTED    = syscall.Errno(0x81)
-@@ -1915,8 +525,6 @@ const (
- 	ELNRNG          = syscall.Errno(0x30)
- 	ELOOP           = syscall.Errno(0x28)
- 	EMEDIUMTYPE     = syscall.Errno(0x7c)
--	EMFILE          = syscall.Errno(0x18)
--	EMLINK          = syscall.Errno(0x1f)
- 	EMSGSIZE        = syscall.Errno(0x5a)
- 	EMULTIHOP       = syscall.Errno(0x48)
- 	ENAMETOOLONG    = syscall.Errno(0x24)
-@@ -1924,103 +532,70 @@ const (
- 	ENETDOWN        = syscall.Errno(0x64)
- 	ENETRESET       = syscall.Errno(0x66)
- 	ENETUNREACH     = syscall.Errno(0x65)
--	ENFILE          = syscall.Errno(0x17)
- 	ENOANO          = syscall.Errno(0x37)
- 	ENOBUFS         = syscall.Errno(0x69)
- 	ENOCSI          = syscall.Errno(0x32)
- 	ENODATA         = syscall.Errno(0x3d)
--	ENODEV          = syscall.Errno(0x13)
--	ENOENT          = syscall.Errno(0x2)
--	ENOEXEC         = syscall.Errno(0x8)
- 	ENOKEY          = syscall.Errno(0x7e)
- 	ENOLCK          = syscall.Errno(0x25)
- 	ENOLINK         = syscall.Errno(0x43)
- 	ENOMEDIUM       = syscall.Errno(0x7b)
--	ENOMEM          = syscall.Errno(0xc)
- 	ENOMSG          = syscall.Errno(0x2a)
- 	ENONET          = syscall.Errno(0x40)
- 	ENOPKG          = syscall.Errno(0x41)
- 	ENOPROTOOPT     = syscall.Errno(0x5c)
--	ENOSPC          = syscall.Errno(0x1c)
- 	ENOSR           = syscall.Errno(0x3f)
- 	ENOSTR          = syscall.Errno(0x3c)
- 	ENOSYS          = syscall.Errno(0x26)
--	ENOTBLK         = syscall.Errno(0xf)
- 	ENOTCONN        = syscall.Errno(0x6b)
--	ENOTDIR         = syscall.Errno(0x14)
- 	ENOTEMPTY       = syscall.Errno(0x27)
- 	ENOTNAM         = syscall.Errno(0x76)
- 	ENOTRECOVERABLE = syscall.Errno(0x83)
- 	ENOTSOCK        = syscall.Errno(0x58)
- 	ENOTSUP         = syscall.Errno(0x5f)
--	ENOTTY          = syscall.Errno(0x19)
- 	ENOTUNIQ        = syscall.Errno(0x4c)
--	ENXIO           = syscall.Errno(0x6)
- 	EOPNOTSUPP      = syscall.Errno(0x5f)
- 	EOVERFLOW       = syscall.Errno(0x4b)
- 	EOWNERDEAD      = syscall.Errno(0x82)
--	EPERM           = syscall.Errno(0x1)
- 	EPFNOSUPPORT    = syscall.Errno(0x60)
--	EPIPE           = syscall.Errno(0x20)
- 	EPROTO          = syscall.Errno(0x47)
- 	EPROTONOSUPPORT = syscall.Errno(0x5d)
- 	EPROTOTYPE      = syscall.Errno(0x5b)
--	ERANGE          = syscall.Errno(0x22)
- 	EREMCHG         = syscall.Errno(0x4e)
- 	EREMOTE         = syscall.Errno(0x42)
- 	EREMOTEIO       = syscall.Errno(0x79)
- 	ERESTART        = syscall.Errno(0x55)
- 	ERFKILL         = syscall.Errno(0x84)
--	EROFS           = syscall.Errno(0x1e)
- 	ESHUTDOWN       = syscall.Errno(0x6c)
- 	ESOCKTNOSUPPORT = syscall.Errno(0x5e)
--	ESPIPE          = syscall.Errno(0x1d)
--	ESRCH           = syscall.Errno(0x3)
- 	ESRMNT          = syscall.Errno(0x45)
- 	ESTALE          = syscall.Errno(0x74)
- 	ESTRPIPE        = syscall.Errno(0x56)
- 	ETIME           = syscall.Errno(0x3e)
- 	ETIMEDOUT       = syscall.Errno(0x6e)
- 	ETOOMANYREFS    = syscall.Errno(0x6d)
--	ETXTBSY         = syscall.Errno(0x1a)
- 	EUCLEAN         = syscall.Errno(0x75)
- 	EUNATCH         = syscall.Errno(0x31)
- 	EUSERS          = syscall.Errno(0x57)
--	EWOULDBLOCK     = syscall.Errno(0xb)
--	EXDEV           = syscall.Errno(0x12)
- 	EXFULL          = syscall.Errno(0x36)
- )
- 
- // Signals
- const (
--	SIGABRT   = syscall.Signal(0x6)
--	SIGALRM   = syscall.Signal(0xe)
- 	SIGBUS    = syscall.Signal(0x7)
- 	SIGCHLD   = syscall.Signal(0x11)
- 	SIGCLD    = syscall.Signal(0x11)
- 	SIGCONT   = syscall.Signal(0x12)
--	SIGFPE    = syscall.Signal(0x8)
--	SIGHUP    = syscall.Signal(0x1)
--	SIGILL    = syscall.Signal(0x4)
--	SIGINT    = syscall.Signal(0x2)
- 	SIGIO     = syscall.Signal(0x1d)
--	SIGIOT    = syscall.Signal(0x6)
--	SIGKILL   = syscall.Signal(0x9)
--	SIGPIPE   = syscall.Signal(0xd)
- 	SIGPOLL   = syscall.Signal(0x1d)
- 	SIGPROF   = syscall.Signal(0x1b)
- 	SIGPWR    = syscall.Signal(0x1e)
--	SIGQUIT   = syscall.Signal(0x3)
--	SIGSEGV   = syscall.Signal(0xb)
- 	SIGSTKFLT = syscall.Signal(0x10)
- 	SIGSTOP   = syscall.Signal(0x13)
- 	SIGSYS    = syscall.Signal(0x1f)
--	SIGTERM   = syscall.Signal(0xf)
--	SIGTRAP   = syscall.Signal(0x5)
- 	SIGTSTP   = syscall.Signal(0x14)
- 	SIGTTIN   = syscall.Signal(0x15)
- 	SIGTTOU   = syscall.Signal(0x16)
--	SIGUNUSED = syscall.Signal(0x1f)
- 	SIGURG    = syscall.Signal(0x17)
- 	SIGUSR1   = syscall.Signal(0xa)
- 	SIGUSR2   = syscall.Signal(0xc)
-@@ -2031,171 +606,179 @@ const (
- )
- 
- // Error table
--var errors = [...]string{
--	1:   "operation not permitted",
--	2:   "no such file or directory",
--	3:   "no such process",
--	4:   "interrupted system call",
--	5:   "input/output error",
--	6:   "no such device or address",
--	7:   "argument list too long",
--	8:   "exec format error",
--	9:   "bad file descriptor",
--	10:  "no child processes",
--	11:  "resource temporarily unavailable",
--	12:  "cannot allocate memory",
--	13:  "permission denied",
--	14:  "bad address",
--	15:  "block device required",
--	16:  "device or resource busy",
--	17:  "file exists",
--	18:  "invalid cross-device link",
--	19:  "no such device",
--	20:  "not a directory",
--	21:  "is a directory",
--	22:  "invalid argument",
--	23:  "too many open files in system",
--	24:  "too many open files",
--	25:  "inappropriate ioctl for device",
--	26:  "text file busy",
--	27:  "file too large",
--	28:  "no space left on device",
--	29:  "illegal seek",
--	30:  "read-only file system",
--	31:  "too many links",
--	32:  "broken pipe",
--	33:  "numerical argument out of domain",
--	34:  "numerical result out of range",
--	35:  "resource deadlock avoided",
--	36:  "file name too long",
--	37:  "no locks available",
--	38:  "function not implemented",
--	39:  "directory not empty",
--	40:  "too many levels of symbolic links",
--	42:  "no message of desired type",
--	43:  "identifier removed",
--	44:  "channel number out of range",
--	45:  "level 2 not synchronized",
--	46:  "level 3 halted",
--	47:  "level 3 reset",
--	48:  "link number out of range",
--	49:  "protocol driver not attached",
--	50:  "no CSI structure available",
--	51:  "level 2 halted",
--	52:  "invalid exchange",
--	53:  "invalid request descriptor",
--	54:  "exchange full",
--	55:  "no anode",
--	56:  "invalid request code",
--	57:  "invalid slot",
--	59:  "bad font file format",
--	60:  "device not a stream",
--	61:  "no data available",
--	62:  "timer expired",
--	63:  "out of streams resources",
--	64:  "machine is not on the network",
--	65:  "package not installed",
--	66:  "object is remote",
--	67:  "link has been severed",
--	68:  "advertise error",
--	69:  "srmount error",
--	70:  "communication error on send",
--	71:  "protocol error",
--	72:  "multihop attempted",
--	73:  "RFS specific error",
--	74:  "bad message",
--	75:  "value too large for defined data type",
--	76:  "name not unique on network",
--	77:  "file descriptor in bad state",
--	78:  "remote address changed",
--	79:  "can not access a needed shared library",
--	80:  "accessing a corrupted shared library",
--	81:  ".lib section in a.out corrupted",
--	82:  "attempting to link in too many shared libraries",
--	83:  "cannot exec a shared library directly",
--	84:  "invalid or incomplete multibyte or wide character",
--	85:  "interrupted system call should be restarted",
--	86:  "streams pipe error",
--	87:  "too many users",
--	88:  "socket operation on non-socket",
--	89:  "destination address required",
--	90:  "message too long",
--	91:  "protocol wrong type for socket",
--	92:  "protocol not available",
--	93:  "protocol not supported",
--	94:  "socket type not supported",
--	95:  "operation not supported",
--	96:  "protocol family not supported",
--	97:  "address family not supported by protocol",
--	98:  "address already in use",
--	99:  "cannot assign requested address",
--	100: "network is down",
--	101: "network is unreachable",
--	102: "network dropped connection on reset",
--	103: "software caused connection abort",
--	104: "connection reset by peer",
--	105: "no buffer space available",
--	106: "transport endpoint is already connected",
--	107: "transport endpoint is not connected",
--	108: "cannot send after transport endpoint shutdown",
--	109: "too many references: cannot splice",
--	110: "connection timed out",
--	111: "connection refused",
--	112: "host is down",
--	113: "no route to host",
--	114: "operation already in progress",
--	115: "operation now in progress",
--	116: "stale file handle",
--	117: "structure needs cleaning",
--	118: "not a XENIX named type file",
--	119: "no XENIX semaphores available",
--	120: "is a named type file",
--	121: "remote I/O error",
--	122: "disk quota exceeded",
--	123: "no medium found",
--	124: "wrong medium type",
--	125: "operation canceled",
--	126: "required key not available",
--	127: "key has expired",
--	128: "key has been revoked",
--	129: "key was rejected by service",
--	130: "owner died",
--	131: "state not recoverable",
--	132: "operation not possible due to RF-kill",
--	133: "memory page has hardware error",
-+var errorList = [...]struct {
-+	num  syscall.Errno
-+	name string
-+	desc string
-+}{
-+	{1, "EPERM", "operation not permitted"},
-+	{2, "ENOENT", "no such file or directory"},
-+	{3, "ESRCH", "no such process"},
-+	{4, "EINTR", "interrupted system call"},
-+	{5, "EIO", "input/output error"},
-+	{6, "ENXIO", "no such device or address"},
-+	{7, "E2BIG", "argument list too long"},
-+	{8, "ENOEXEC", "exec format error"},
-+	{9, "EBADF", "bad file descriptor"},
-+	{10, "ECHILD", "no child processes"},
-+	{11, "EAGAIN", "resource temporarily unavailable"},
-+	{12, "ENOMEM", "cannot allocate memory"},
-+	{13, "EACCES", "permission denied"},
-+	{14, "EFAULT", "bad address"},
-+	{15, "ENOTBLK", "block device required"},
-+	{16, "EBUSY", "device or resource busy"},
-+	{17, "EEXIST", "file exists"},
-+	{18, "EXDEV", "invalid cross-device link"},
-+	{19, "ENODEV", "no such device"},
-+	{20, "ENOTDIR", "not a directory"},
-+	{21, "EISDIR", "is a directory"},
-+	{22, "EINVAL", "invalid argument"},
-+	{23, "ENFILE", "too many open files in system"},
-+	{24, "EMFILE", "too many open files"},
-+	{25, "ENOTTY", "inappropriate ioctl for device"},
-+	{26, "ETXTBSY", "text file busy"},
-+	{27, "EFBIG", "file too large"},
-+	{28, "ENOSPC", "no space left on device"},
-+	{29, "ESPIPE", "illegal seek"},
-+	{30, "EROFS", "read-only file system"},
-+	{31, "EMLINK", "too many links"},
-+	{32, "EPIPE", "broken pipe"},
-+	{33, "EDOM", "numerical argument out of domain"},
-+	{34, "ERANGE", "numerical result out of range"},
-+	{35, "EDEADLK", "resource deadlock avoided"},
-+	{36, "ENAMETOOLONG", "file name too long"},
-+	{37, "ENOLCK", "no locks available"},
-+	{38, "ENOSYS", "function not implemented"},
-+	{39, "ENOTEMPTY", "directory not empty"},
-+	{40, "ELOOP", "too many levels of symbolic links"},
-+	{42, "ENOMSG", "no message of desired type"},
-+	{43, "EIDRM", "identifier removed"},
-+	{44, "ECHRNG", "channel number out of range"},
-+	{45, "EL2NSYNC", "level 2 not synchronized"},
-+	{46, "EL3HLT", "level 3 halted"},
-+	{47, "EL3RST", "level 3 reset"},
-+	{48, "ELNRNG", "link number out of range"},
-+	{49, "EUNATCH", "protocol driver not attached"},
-+	{50, "ENOCSI", "no CSI structure available"},
-+	{51, "EL2HLT", "level 2 halted"},
-+	{52, "EBADE", "invalid exchange"},
-+	{53, "EBADR", "invalid request descriptor"},
-+	{54, "EXFULL", "exchange full"},
-+	{55, "ENOANO", "no anode"},
-+	{56, "EBADRQC", "invalid request code"},
-+	{57, "EBADSLT", "invalid slot"},
-+	{59, "EBFONT", "bad font file format"},
-+	{60, "ENOSTR", "device not a stream"},
-+	{61, "ENODATA", "no data available"},
-+	{62, "ETIME", "timer expired"},
-+	{63, "ENOSR", "out of streams resources"},
-+	{64, "ENONET", "machine is not on the network"},
-+	{65, "ENOPKG", "package not installed"},
-+	{66, "EREMOTE", "object is remote"},
-+	{67, "ENOLINK", "link has been severed"},
-+	{68, "EADV", "advertise error"},
-+	{69, "ESRMNT", "srmount error"},
-+	{70, "ECOMM", "communication error on send"},
-+	{71, "EPROTO", "protocol error"},
-+	{72, "EMULTIHOP", "multihop attempted"},
-+	{73, "EDOTDOT", "RFS specific error"},
-+	{74, "EBADMSG", "bad message"},
-+	{75, "EOVERFLOW", "value too large for defined data type"},
-+	{76, "ENOTUNIQ", "name not unique on network"},
-+	{77, "EBADFD", "file descriptor in bad state"},
-+	{78, "EREMCHG", "remote address changed"},
-+	{79, "ELIBACC", "can not access a needed shared library"},
-+	{80, "ELIBBAD", "accessing a corrupted shared library"},
-+	{81, "ELIBSCN", ".lib section in a.out corrupted"},
-+	{82, "ELIBMAX", "attempting to link in too many shared libraries"},
-+	{83, "ELIBEXEC", "cannot exec a shared library directly"},
-+	{84, "EILSEQ", "invalid or incomplete multibyte or wide character"},
-+	{85, "ERESTART", "interrupted system call should be restarted"},
-+	{86, "ESTRPIPE", "streams pipe error"},
-+	{87, "EUSERS", "too many users"},
-+	{88, "ENOTSOCK", "socket operation on non-socket"},
-+	{89, "EDESTADDRREQ", "destination address required"},
-+	{90, "EMSGSIZE", "message too long"},
-+	{91, "EPROTOTYPE", "protocol wrong type for socket"},
-+	{92, "ENOPROTOOPT", "protocol not available"},
-+	{93, "EPROTONOSUPPORT", "protocol not supported"},
-+	{94, "ESOCKTNOSUPPORT", "socket type not supported"},
-+	{95, "ENOTSUP", "operation not supported"},
-+	{96, "EPFNOSUPPORT", "protocol family not supported"},
-+	{97, "EAFNOSUPPORT", "address family not supported by protocol"},
-+	{98, "EADDRINUSE", "address already in use"},
-+	{99, "EADDRNOTAVAIL", "cannot assign requested address"},
-+	{100, "ENETDOWN", "network is down"},
-+	{101, "ENETUNREACH", "network is unreachable"},
-+	{102, "ENETRESET", "network dropped connection on reset"},
-+	{103, "ECONNABORTED", "software caused connection abort"},
-+	{104, "ECONNRESET", "connection reset by peer"},
-+	{105, "ENOBUFS", "no buffer space available"},
-+	{106, "EISCONN", "transport endpoint is already connected"},
-+	{107, "ENOTCONN", "transport endpoint is not connected"},
-+	{108, "ESHUTDOWN", "cannot send after transport endpoint shutdown"},
-+	{109, "ETOOMANYREFS", "too many references: cannot splice"},
-+	{110, "ETIMEDOUT", "connection timed out"},
-+	{111, "ECONNREFUSED", "connection refused"},
-+	{112, "EHOSTDOWN", "host is down"},
-+	{113, "EHOSTUNREACH", "no route to host"},
-+	{114, "EALREADY", "operation already in progress"},
-+	{115, "EINPROGRESS", "operation now in progress"},
-+	{116, "ESTALE", "stale file handle"},
-+	{117, "EUCLEAN", "structure needs cleaning"},
-+	{118, "ENOTNAM", "not a XENIX named type file"},
-+	{119, "ENAVAIL", "no XENIX semaphores available"},
-+	{120, "EISNAM", "is a named type file"},
-+	{121, "EREMOTEIO", "remote I/O error"},
-+	{122, "EDQUOT", "disk quota exceeded"},
-+	{123, "ENOMEDIUM", "no medium found"},
-+	{124, "EMEDIUMTYPE", "wrong medium type"},
-+	{125, "ECANCELED", "operation canceled"},
-+	{126, "ENOKEY", "required key not available"},
-+	{127, "EKEYEXPIRED", "key has expired"},
-+	{128, "EKEYREVOKED", "key has been revoked"},
-+	{129, "EKEYREJECTED", "key was rejected by service"},
-+	{130, "EOWNERDEAD", "owner died"},
-+	{131, "ENOTRECOVERABLE", "state not recoverable"},
-+	{132, "ERFKILL", "operation not possible due to RF-kill"},
-+	{133, "EHWPOISON", "memory page has hardware error"},
- }
- 
- // Signal table
--var signals = [...]string{
--	1:  "hangup",
--	2:  "interrupt",
--	3:  "quit",
--	4:  "illegal instruction",
--	5:  "trace/breakpoint trap",
--	6:  "aborted",
--	7:  "bus error",
--	8:  "floating point exception",
--	9:  "killed",
--	10: "user defined signal 1",
--	11: "segmentation fault",
--	12: "user defined signal 2",
--	13: "broken pipe",
--	14: "alarm clock",
--	15: "terminated",
--	16: "stack fault",
--	17: "child exited",
--	18: "continued",
--	19: "stopped (signal)",
--	20: "stopped",
--	21: "stopped (tty input)",
--	22: "stopped (tty output)",
--	23: "urgent I/O condition",
--	24: "CPU time limit exceeded",
--	25: "file size limit exceeded",
--	26: "virtual timer expired",
--	27: "profiling timer expired",
--	28: "window changed",
--	29: "I/O possible",
--	30: "power failure",
--	31: "bad system call",
-+var signalList = [...]struct {
-+	num  syscall.Signal
-+	name string
-+	desc string
-+}{
-+	{1, "SIGHUP", "hangup"},
-+	{2, "SIGINT", "interrupt"},
-+	{3, "SIGQUIT", "quit"},
-+	{4, "SIGILL", "illegal instruction"},
-+	{5, "SIGTRAP", "trace/breakpoint trap"},
-+	{6, "SIGABRT", "aborted"},
-+	{7, "SIGBUS", "bus error"},
-+	{8, "SIGFPE", "floating point exception"},
-+	{9, "SIGKILL", "killed"},
-+	{10, "SIGUSR1", "user defined signal 1"},
-+	{11, "SIGSEGV", "segmentation fault"},
-+	{12, "SIGUSR2", "user defined signal 2"},
-+	{13, "SIGPIPE", "broken pipe"},
-+	{14, "SIGALRM", "alarm clock"},
-+	{15, "SIGTERM", "terminated"},
-+	{16, "SIGSTKFLT", "stack fault"},
-+	{17, "SIGCHLD", "child exited"},
-+	{18, "SIGCONT", "continued"},
-+	{19, "SIGSTOP", "stopped (signal)"},
-+	{20, "SIGTSTP", "stopped"},
-+	{21, "SIGTTIN", "stopped (tty input)"},
-+	{22, "SIGTTOU", "stopped (tty output)"},
-+	{23, "SIGURG", "urgent I/O condition"},
-+	{24, "SIGXCPU", "CPU time limit exceeded"},
-+	{25, "SIGXFSZ", "file size limit exceeded"},
-+	{26, "SIGVTALRM", "virtual timer expired"},
-+	{27, "SIGPROF", "profiling timer expired"},
-+	{28, "SIGWINCH", "window changed"},
-+	{29, "SIGIO", "I/O possible"},
-+	{30, "SIGPWR", "power failure"},
-+	{31, "SIGSYS", "bad system call"},
- }
-diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go b/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go
-index 1adff0b2..0541f36e 100644
---- a/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go
-+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go
-@@ -3,7 +3,7 @@
- 
- // +build arm,linux
- 
--// Created by cgo -godefs - DO NOT EDIT
-+// Code generated by cmd/cgo -godefs; DO NOT EDIT.
- // cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go
- 
- package unix
-@@ -11,1873 +11,493 @@ package unix
- import "syscall"
- 
- const (
--	AF_ALG                               = 0x26
--	AF_APPLETALK                         = 0x5
--	AF_ASH                               = 0x12
--	AF_ATMPVC                            = 0x8
--	AF_ATMSVC                            = 0x14
--	AF_AX25                              = 0x3
--	AF_BLUETOOTH                         = 0x1f
--	AF_BRIDGE                            = 0x7
--	AF_CAIF                              = 0x25
--	AF_CAN                               = 0x1d
--	AF_DECnet                            = 0xc
--	AF_ECONET                            = 0x13
--	AF_FILE                              = 0x1
--	AF_IB                                = 0x1b
--	AF_IEEE802154                        = 0x24
--	AF_INET                              = 0x2
--	AF_INET6                             = 0xa
--	AF_IPX                               = 0x4
--	AF_IRDA                              = 0x17
--	AF_ISDN                              = 0x22
--	AF_IUCV                              = 0x20
--	AF_KCM                               = 0x29
--	AF_KEY                               = 0xf
--	AF_LLC                               = 0x1a
--	AF_LOCAL                             = 0x1
--	AF_MAX                               = 0x2b
--	AF_MPLS                              = 0x1c
--	AF_NETBEUI                           = 0xd
--	AF_NETLINK                           = 0x10
--	AF_NETROM                            = 0x6
--	AF_NFC                               = 0x27
--	AF_PACKET                            = 0x11
--	AF_PHONET                            = 0x23
--	AF_PPPOX                             = 0x18
--	AF_QIPCRTR                           = 0x2a
--	AF_RDS                               = 0x15
--	AF_ROSE                              = 0xb
--	AF_ROUTE                             = 0x10
--	AF_RXRPC                             = 0x21
--	AF_SECURITY                          = 0xe
--	AF_SNA                               = 0x16
--	AF_TIPC                              = 0x1e
--	AF_UNIX                              = 0x1
--	AF_UNSPEC                            = 0x0
--	AF_VSOCK                             = 0x28
--	AF_WANPIPE                           = 0x19
--	AF_X25                               = 0x9
--	ALG_OP_DECRYPT                       = 0x0
--	ALG_OP_ENCRYPT                       = 0x1
--	ALG_SET_AEAD_ASSOCLEN                = 0x4
--	ALG_SET_AEAD_AUTHSIZE                = 0x5
--	ALG_SET_IV                           = 0x2
--	ALG_SET_KEY                          = 0x1
--	ALG_SET_OP                           = 0x3
--	ARPHRD_6LOWPAN                       = 0x339
--	ARPHRD_ADAPT                         = 0x108
--	ARPHRD_APPLETLK                      = 0x8
--	ARPHRD_ARCNET                        = 0x7
--	ARPHRD_ASH                           = 0x30d
--	ARPHRD_ATM                           = 0x13
--	ARPHRD_AX25                          = 0x3
--	ARPHRD_BIF                           = 0x307
--	ARPHRD_CAIF                          = 0x336
--	ARPHRD_CAN                           = 0x118
--	ARPHRD_CHAOS                         = 0x5
--	ARPHRD_CISCO                         = 0x201
--	ARPHRD_CSLIP                         = 0x101
--	ARPHRD_CSLIP6                        = 0x103
--	ARPHRD_DDCMP                         = 0x205
--	ARPHRD_DLCI                          = 0xf
--	ARPHRD_ECONET                        = 0x30e
--	ARPHRD_EETHER                        = 0x2
--	ARPHRD_ETHER                         = 0x1
--	ARPHRD_EUI64                         = 0x1b
--	ARPHRD_FCAL                          = 0x311
--	ARPHRD_FCFABRIC                      = 0x313
--	ARPHRD_FCPL                          = 0x312
--	ARPHRD_FCPP                          = 0x310
--	ARPHRD_FDDI                          = 0x306
--	ARPHRD_FRAD                          = 0x302
--	ARPHRD_HDLC                          = 0x201
--	ARPHRD_HIPPI                         = 0x30c
--	ARPHRD_HWX25                         = 0x110
--	ARPHRD_IEEE1394                      = 0x18
--	ARPHRD_IEEE802                       = 0x6
--	ARPHRD_IEEE80211                     = 0x321
--	ARPHRD_IEEE80211_PRISM               = 0x322
--	ARPHRD_IEEE80211_RADIOTAP            = 0x323
--	ARPHRD_IEEE802154                    = 0x324
--	ARPHRD_IEEE802154_MONITOR            = 0x325
--	ARPHRD_IEEE802_TR                    = 0x320
--	ARPHRD_INFINIBAND                    = 0x20
--	ARPHRD_IP6GRE                        = 0x337
--	ARPHRD_IPDDP                         = 0x309
--	ARPHRD_IPGRE                         = 0x30a
--	ARPHRD_IRDA                          = 0x30f
--	ARPHRD_LAPB                          = 0x204
--	ARPHRD_LOCALTLK                      = 0x305
--	ARPHRD_LOOPBACK                      = 0x304
--	ARPHRD_METRICOM                      = 0x17
--	ARPHRD_NETLINK                       = 0x338
--	ARPHRD_NETROM                        = 0x0
--	ARPHRD_NONE                          = 0xfffe
--	ARPHRD_PHONET                        = 0x334
--	ARPHRD_PHONET_PIPE                   = 0x335
--	ARPHRD_PIMREG                        = 0x30b
--	ARPHRD_PPP                           = 0x200
--	ARPHRD_PRONET                        = 0x4
--	ARPHRD_RAWHDLC                       = 0x206
--	ARPHRD_ROSE                          = 0x10e
--	ARPHRD_RSRVD                         = 0x104
--	ARPHRD_SIT                           = 0x308
--	ARPHRD_SKIP                          = 0x303
--	ARPHRD_SLIP                          = 0x100
--	ARPHRD_SLIP6                         = 0x102
--	ARPHRD_TUNNEL                        = 0x300
--	ARPHRD_TUNNEL6                       = 0x301
--	ARPHRD_VOID                          = 0xffff
--	ARPHRD_X25                           = 0x10f
--	B0                                   = 0x0
--	B1000000                             = 0x1008
--	B110                                 = 0x3
--	B115200                              = 0x1002
--	B1152000                             = 0x1009
--	B1200                                = 0x9
--	B134                                 = 0x4
--	B150                                 = 0x5
--	B1500000                             = 0x100a
--	B1800                                = 0xa
--	B19200                               = 0xe
--	B200                                 = 0x6
--	B2000000                             = 0x100b
--	B230400                              = 0x1003
--	B2400                                = 0xb
--	B2500000                             = 0x100c
--	B300                                 = 0x7
--	B3000000                             = 0x100d
--	B3500000                             = 0x100e
--	B38400                               = 0xf
--	B4000000                             = 0x100f
--	B460800                              = 0x1004
--	B4800                                = 0xc
--	B50                                  = 0x1
--	B500000                              = 0x1005
--	B57600                               = 0x1001
--	B576000                              = 0x1006
--	B600                                 = 0x8
--	B75                                  = 0x2
--	B921600                              = 0x1007
--	B9600                                = 0xd
--	BLKBSZGET                            = 0x80041270
--	BLKBSZSET                            = 0x40041271
--	BLKFLSBUF                            = 0x1261
--	BLKFRAGET                            = 0x1265
--	BLKFRASET                            = 0x1264
--	BLKGETSIZE                           = 0x1260
--	BLKGETSIZE64                         = 0x80041272
--	BLKPBSZGET                           = 0x127b
--	BLKRAGET                             = 0x1263
--	BLKRASET                             = 0x1262
--	BLKROGET                             = 0x125e
--	BLKROSET                             = 0x125d
--	BLKRRPART                            = 0x125f
--	BLKSECTGET                           = 0x1267
--	BLKSECTSET                           = 0x1266
--	BLKSSZGET                            = 0x1268
--	BOTHER                               = 0x1000
--	BPF_A                                = 0x10
--	BPF_ABS                              = 0x20
--	BPF_ADD                              = 0x0
--	BPF_ALU                              = 0x4
--	BPF_AND                              = 0x50
--	BPF_B                                = 0x10
--	BPF_DIV                              = 0x30
--	BPF_H                                = 0x8
--	BPF_IMM                              = 0x0
--	BPF_IND                              = 0x40
--	BPF_JA                               = 0x0
--	BPF_JEQ                              = 0x10
--	BPF_JGE                              = 0x30
--	BPF_JGT                              = 0x20
--	BPF_JMP                              = 0x5
--	BPF_JSET                             = 0x40
--	BPF_K                                = 0x0
--	BPF_LD                               = 0x0
--	BPF_LDX                              = 0x1
--	BPF_LEN                              = 0x80
--	BPF_LL_OFF                           = -0x200000
--	BPF_LSH                              = 0x60
--	BPF_MAJOR_VERSION                    = 0x1
--	BPF_MAXINSNS                         = 0x1000
--	BPF_MEM                              = 0x60
--	BPF_MEMWORDS                         = 0x10
--	BPF_MINOR_VERSION                    = 0x1
--	BPF_MISC                             = 0x7
--	BPF_MOD                              = 0x90
--	BPF_MSH                              = 0xa0
--	BPF_MUL                              = 0x20
--	BPF_NEG                              = 0x80
--	BPF_NET_OFF                          = -0x100000
--	BPF_OR                               = 0x40
--	BPF_RET                              = 0x6
--	BPF_RSH                              = 0x70
--	BPF_ST                               = 0x2
--	BPF_STX                              = 0x3
--	BPF_SUB                              = 0x10
--	BPF_TAX                              = 0x0
--	BPF_TXA                              = 0x80
--	BPF_W                                = 0x0
--	BPF_X                                = 0x8
--	BPF_XOR                              = 0xa0
--	BRKINT                               = 0x2
--	BS0                                  = 0x0
--	BS1                                  = 0x2000
--	BSDLY                                = 0x2000
--	CAN_BCM                              = 0x2
--	CAN_EFF_FLAG                         = 0x80000000
--	CAN_EFF_ID_BITS                      = 0x1d
--	CAN_EFF_MASK                         = 0x1fffffff
--	CAN_ERR_FLAG                         = 0x20000000
--	CAN_ERR_MASK                         = 0x1fffffff
--	CAN_INV_FILTER                       = 0x20000000
--	CAN_ISOTP                            = 0x6
--	CAN_MAX_DLC                          = 0x8
--	CAN_MAX_DLEN                         = 0x8
--	CAN_MCNET                            = 0x5
--	CAN_MTU                              = 0x10
--	CAN_NPROTO                           = 0x7
--	CAN_RAW                              = 0x1
--	CAN_RAW_FILTER_MAX                   = 0x200
--	CAN_RTR_FLAG                         = 0x40000000
--	CAN_SFF_ID_BITS                      = 0xb
--	CAN_SFF_MASK                         = 0x7ff
--	CAN_TP16                             = 0x3
--	CAN_TP20                             = 0x4
--	CBAUD                                = 0x100f
--	CBAUDEX                              = 0x1000
--	CFLUSH                               = 0xf
--	CIBAUD                               = 0x100f0000
--	CLOCAL                               = 0x800
--	CLOCK_BOOTTIME                       = 0x7
--	CLOCK_BOOTTIME_ALARM                 = 0x9
--	CLOCK_DEFAULT                        = 0x0
--	CLOCK_EXT                            = 0x1
--	CLOCK_INT                            = 0x2
--	CLOCK_MONOTONIC                      = 0x1
--	CLOCK_MONOTONIC_COARSE               = 0x6
--	CLOCK_MONOTONIC_RAW                  = 0x4
--	CLOCK_PROCESS_CPUTIME_ID             = 0x2
--	CLOCK_REALTIME                       = 0x0
--	CLOCK_REALTIME_ALARM                 = 0x8
--	CLOCK_REALTIME_COARSE                = 0x5
--	CLOCK_TAI                            = 0xb
--	CLOCK_THREAD_CPUTIME_ID              = 0x3
--	CLOCK_TXFROMRX                       = 0x4
--	CLOCK_TXINT                          = 0x3
--	CLONE_CHILD_CLEARTID                 = 0x200000
--	CLONE_CHILD_SETTID                   = 0x1000000
--	CLONE_DETACHED                       = 0x400000
--	CLONE_FILES                          = 0x400
--	CLONE_FS                             = 0x200
--	CLONE_IO                             = 0x80000000
--	CLONE_NEWCGROUP                      = 0x2000000
--	CLONE_NEWIPC                         = 0x8000000
--	CLONE_NEWNET                         = 0x40000000
--	CLONE_NEWNS                          = 0x20000
--	CLONE_NEWPID                         = 0x20000000
--	CLONE_NEWUSER                        = 0x10000000
--	CLONE_NEWUTS                         = 0x4000000
--	CLONE_PARENT                         = 0x8000
--	CLONE_PARENT_SETTID                  = 0x100000
--	CLONE_PTRACE                         = 0x2000
--	CLONE_SETTLS                         = 0x80000
--	CLONE_SIGHAND                        = 0x800
--	CLONE_SYSVSEM                        = 0x40000
--	CLONE_THREAD                         = 0x10000
--	CLONE_UNTRACED                       = 0x800000
--	CLONE_VFORK                          = 0x4000
--	CLONE_VM                             = 0x100
--	CMSPAR                               = 0x40000000
--	CR0                                  = 0x0
--	CR1                                  = 0x200
--	CR2                                  = 0x400
--	CR3                                  = 0x600
--	CRDLY                                = 0x600
--	CREAD                                = 0x80
--	CRTSCTS                              = 0x80000000
--	CS5                                  = 0x0
--	CS6                                  = 0x10
--	CS7                                  = 0x20
--	CS8                                  = 0x30
--	CSIGNAL                              = 0xff
--	CSIZE                                = 0x30
--	CSTART                               = 0x11
--	CSTATUS                              = 0x0
--	CSTOP                                = 0x13
--	CSTOPB                               = 0x40
--	CSUSP                                = 0x1a
--	DT_BLK                               = 0x6
--	DT_CHR                               = 0x2
--	DT_DIR                               = 0x4
--	DT_FIFO                              = 0x1
--	DT_LNK                               = 0xa
--	DT_REG                               = 0x8
--	DT_SOCK                              = 0xc
--	DT_UNKNOWN                           = 0x0
--	DT_WHT                               = 0xe
--	ECHO                                 = 0x8
--	ECHOCTL                              = 0x200
--	ECHOE                                = 0x10
--	ECHOK                                = 0x20
--	ECHOKE                               = 0x800
--	ECHONL                               = 0x40
--	ECHOPRT                              = 0x400
--	EFD_CLOEXEC                          = 0x80000
--	EFD_NONBLOCK                         = 0x800
--	EFD_SEMAPHORE                        = 0x1
--	ENCODING_DEFAULT                     = 0x0
--	ENCODING_FM_MARK                     = 0x3
--	ENCODING_FM_SPACE                    = 0x4
--	ENCODING_MANCHESTER                  = 0x5
--	ENCODING_NRZ                         = 0x1
--	ENCODING_NRZI                        = 0x2
--	EPOLLERR                             = 0x8
--	EPOLLET                              = 0x80000000
--	EPOLLEXCLUSIVE                       = 0x10000000
--	EPOLLHUP                             = 0x10
--	EPOLLIN                              = 0x1
--	EPOLLMSG                             = 0x400
--	EPOLLONESHOT                         = 0x40000000
--	EPOLLOUT                             = 0x4
--	EPOLLPRI                             = 0x2
--	EPOLLRDBAND                          = 0x80
--	EPOLLRDHUP                           = 0x2000
--	EPOLLRDNORM                          = 0x40
--	EPOLLWAKEUP                          = 0x20000000
--	EPOLLWRBAND                          = 0x200
--	EPOLLWRNORM                          = 0x100
--	EPOLL_CLOEXEC                        = 0x80000
--	EPOLL_CTL_ADD                        = 0x1
--	EPOLL_CTL_DEL                        = 0x2
--	EPOLL_CTL_MOD                        = 0x3
--	ETH_P_1588                           = 0x88f7
--	ETH_P_8021AD                         = 0x88a8
--	ETH_P_8021AH                         = 0x88e7
--	ETH_P_8021Q                          = 0x8100
--	ETH_P_80221                          = 0x8917
--	ETH_P_802_2                          = 0x4
--	ETH_P_802_3                          = 0x1
--	ETH_P_802_3_MIN                      = 0x600
--	ETH_P_802_EX1                        = 0x88b5
--	ETH_P_AARP                           = 0x80f3
--	ETH_P_AF_IUCV                        = 0xfbfb
--	ETH_P_ALL                            = 0x3
--	ETH_P_AOE                            = 0x88a2
--	ETH_P_ARCNET                         = 0x1a
--	ETH_P_ARP                            = 0x806
--	ETH_P_ATALK                          = 0x809b
--	ETH_P_ATMFATE                        = 0x8884
--	ETH_P_ATMMPOA                        = 0x884c
--	ETH_P_AX25                           = 0x2
--	ETH_P_BATMAN                         = 0x4305
--	ETH_P_BPQ                            = 0x8ff
--	ETH_P_CAIF                           = 0xf7
--	ETH_P_CAN                            = 0xc
--	ETH_P_CANFD                          = 0xd
--	ETH_P_CONTROL                        = 0x16
--	ETH_P_CUST                           = 0x6006
--	ETH_P_DDCMP                          = 0x6
--	ETH_P_DEC                            = 0x6000
--	ETH_P_DIAG                           = 0x6005
--	ETH_P_DNA_DL                         = 0x6001
--	ETH_P_DNA_RC                         = 0x6002
--	ETH_P_DNA_RT                         = 0x6003
--	ETH_P_DSA                            = 0x1b
--	ETH_P_ECONET                         = 0x18
--	ETH_P_EDSA                           = 0xdada
--	ETH_P_FCOE                           = 0x8906
--	ETH_P_FIP                            = 0x8914
--	ETH_P_HDLC                           = 0x19
--	ETH_P_HSR                            = 0x892f
--	ETH_P_IEEE802154                     = 0xf6
--	ETH_P_IEEEPUP                        = 0xa00
--	ETH_P_IEEEPUPAT                      = 0xa01
--	ETH_P_IP                             = 0x800
--	ETH_P_IPV6                           = 0x86dd
--	ETH_P_IPX                            = 0x8137
--	ETH_P_IRDA                           = 0x17
--	ETH_P_LAT                            = 0x6004
--	ETH_P_LINK_CTL                       = 0x886c
--	ETH_P_LOCALTALK                      = 0x9
--	ETH_P_LOOP                           = 0x60
--	ETH_P_LOOPBACK                       = 0x9000
--	ETH_P_MACSEC                         = 0x88e5
--	ETH_P_MOBITEX                        = 0x15
--	ETH_P_MPLS_MC                        = 0x8848
--	ETH_P_MPLS_UC                        = 0x8847
--	ETH_P_MVRP                           = 0x88f5
--	ETH_P_NCSI                           = 0x88f8
--	ETH_P_PAE                            = 0x888e
--	ETH_P_PAUSE                          = 0x8808
--	ETH_P_PHONET                         = 0xf5
--	ETH_P_PPPTALK                        = 0x10
--	ETH_P_PPP_DISC                       = 0x8863
--	ETH_P_PPP_MP                         = 0x8
--	ETH_P_PPP_SES                        = 0x8864
--	ETH_P_PRP                            = 0x88fb
--	ETH_P_PUP                            = 0x200
--	ETH_P_PUPAT                          = 0x201
--	ETH_P_QINQ1                          = 0x9100
--	ETH_P_QINQ2                          = 0x9200
--	ETH_P_QINQ3                          = 0x9300
--	ETH_P_RARP                           = 0x8035
--	ETH_P_SCA                            = 0x6007
--	ETH_P_SLOW                           = 0x8809
--	ETH_P_SNAP                           = 0x5
--	ETH_P_TDLS                           = 0x890d
--	ETH_P_TEB                            = 0x6558
--	ETH_P_TIPC                           = 0x88ca
--	ETH_P_TRAILER                        = 0x1c
--	ETH_P_TR_802_2                       = 0x11
--	ETH_P_TSN                            = 0x22f0
--	ETH_P_WAN_PPP                        = 0x7
--	ETH_P_WCCP                           = 0x883e
--	ETH_P_X25                            = 0x805
--	ETH_P_XDSA                           = 0xf8
--	EXTA                                 = 0xe
--	EXTB                                 = 0xf
--	EXTPROC                              = 0x10000
--	FALLOC_FL_COLLAPSE_RANGE             = 0x8
--	FALLOC_FL_INSERT_RANGE               = 0x20
--	FALLOC_FL_KEEP_SIZE                  = 0x1
--	FALLOC_FL_NO_HIDE_STALE              = 0x4
--	FALLOC_FL_PUNCH_HOLE                 = 0x2
--	FALLOC_FL_UNSHARE_RANGE              = 0x40
--	FALLOC_FL_ZERO_RANGE                 = 0x10
--	FD_CLOEXEC                           = 0x1
--	FD_SETSIZE                           = 0x400
--	FF0                                  = 0x0
--	FF1                                  = 0x8000
--	FFDLY                                = 0x8000
--	FLUSHO                               = 0x1000
--	FS_ENCRYPTION_MODE_AES_256_CBC       = 0x3
--	FS_ENCRYPTION_MODE_AES_256_CTS       = 0x4
--	FS_ENCRYPTION_MODE_AES_256_GCM       = 0x2
--	FS_ENCRYPTION_MODE_AES_256_XTS       = 0x1
--	FS_ENCRYPTION_MODE_INVALID           = 0x0
--	FS_IOC_GET_ENCRYPTION_POLICY         = 0x400c6615
--	FS_IOC_GET_ENCRYPTION_PWSALT         = 0x40106614
--	FS_IOC_SET_ENCRYPTION_POLICY         = 0x800c6613
--	FS_KEY_DESCRIPTOR_SIZE               = 0x8
--	FS_KEY_DESC_PREFIX                   = "fscrypt:"
--	FS_KEY_DESC_PREFIX_SIZE              = 0x8
--	FS_MAX_KEY_SIZE                      = 0x40
--	FS_POLICY_FLAGS_PAD_16               = 0x2
--	FS_POLICY_FLAGS_PAD_32               = 0x3
--	FS_POLICY_FLAGS_PAD_4                = 0x0
--	FS_POLICY_FLAGS_PAD_8                = 0x1
--	FS_POLICY_FLAGS_PAD_MASK             = 0x3
--	FS_POLICY_FLAGS_VALID                = 0x3
--	F_DUPFD                              = 0x0
--	F_DUPFD_CLOEXEC                      = 0x406
--	F_EXLCK                              = 0x4
--	F_GETFD                              = 0x1
--	F_GETFL                              = 0x3
--	F_GETLEASE                           = 0x401
--	F_GETLK                              = 0xc
--	F_GETLK64                            = 0xc
--	F_GETOWN                             = 0x9
--	F_GETOWN_EX                          = 0x10
--	F_GETPIPE_SZ                         = 0x408
--	F_GETSIG                             = 0xb
--	F_LOCK                               = 0x1
--	F_NOTIFY                             = 0x402
--	F_OFD_GETLK                          = 0x24
--	F_OFD_SETLK                          = 0x25
--	F_OFD_SETLKW                         = 0x26
--	F_OK                                 = 0x0
--	F_RDLCK                              = 0x0
--	F_SETFD                              = 0x2
--	F_SETFL                              = 0x4
--	F_SETLEASE                           = 0x400
--	F_SETLK                              = 0xd
--	F_SETLK64                            = 0xd
--	F_SETLKW                             = 0xe
--	F_SETLKW64                           = 0xe
--	F_SETOWN                             = 0x8
--	F_SETOWN_EX                          = 0xf
--	F_SETPIPE_SZ                         = 0x407
--	F_SETSIG                             = 0xa
--	F_SHLCK                              = 0x8
--	F_TEST                               = 0x3
--	F_TLOCK                              = 0x2
--	F_ULOCK                              = 0x0
--	F_UNLCK                              = 0x2
--	F_WRLCK                              = 0x1
--	GENL_ADMIN_PERM                      = 0x1
--	GENL_CMD_CAP_DO                      = 0x2
--	GENL_CMD_CAP_DUMP                    = 0x4
--	GENL_CMD_CAP_HASPOL                  = 0x8
--	GENL_HDRLEN                          = 0x4
--	GENL_ID_CTRL                         = 0x10
--	GENL_ID_PMCRAID                      = 0x12
--	GENL_ID_VFS_DQUOT                    = 0x11
--	GENL_MAX_ID                          = 0x3ff
--	GENL_MIN_ID                          = 0x10
--	GENL_NAMSIZ                          = 0x10
--	GENL_START_ALLOC                     = 0x13
--	GENL_UNS_ADMIN_PERM                  = 0x10
--	GRND_NONBLOCK                        = 0x1
--	GRND_RANDOM                          = 0x2
--	HUPCL                                = 0x400
--	IBSHIFT                              = 0x10
--	ICANON                               = 0x2
--	ICMPV6_FILTER                        = 0x1
--	ICRNL                                = 0x100
--	IEXTEN                               = 0x8000
--	IFA_F_DADFAILED                      = 0x8
--	IFA_F_DEPRECATED                     = 0x20
--	IFA_F_HOMEADDRESS                    = 0x10
--	IFA_F_MANAGETEMPADDR                 = 0x100
--	IFA_F_MCAUTOJOIN                     = 0x400
--	IFA_F_NODAD                          = 0x2
--	IFA_F_NOPREFIXROUTE                  = 0x200
--	IFA_F_OPTIMISTIC                     = 0x4
--	IFA_F_PERMANENT                      = 0x80
--	IFA_F_SECONDARY                      = 0x1
--	IFA_F_STABLE_PRIVACY                 = 0x800
--	IFA_F_TEMPORARY                      = 0x1
--	IFA_F_TENTATIVE                      = 0x40
--	IFA_MAX                              = 0x8
--	IFF_ALLMULTI                         = 0x200
--	IFF_ATTACH_QUEUE                     = 0x200
--	IFF_AUTOMEDIA                        = 0x4000
--	IFF_BROADCAST                        = 0x2
--	IFF_DEBUG                            = 0x4
--	IFF_DETACH_QUEUE                     = 0x400
--	IFF_DORMANT                          = 0x20000
--	IFF_DYNAMIC                          = 0x8000
--	IFF_ECHO                             = 0x40000
--	IFF_LOOPBACK                         = 0x8
--	IFF_LOWER_UP                         = 0x10000
--	IFF_MASTER                           = 0x400
--	IFF_MULTICAST                        = 0x1000
--	IFF_MULTI_QUEUE                      = 0x100
--	IFF_NOARP                            = 0x80
--	IFF_NOFILTER                         = 0x1000
--	IFF_NOTRAILERS                       = 0x20
--	IFF_NO_PI                            = 0x1000
--	IFF_ONE_QUEUE                        = 0x2000
--	IFF_PERSIST                          = 0x800
--	IFF_POINTOPOINT                      = 0x10
--	IFF_PORTSEL                          = 0x2000
--	IFF_PROMISC                          = 0x100
--	IFF_RUNNING                          = 0x40
--	IFF_SLAVE                            = 0x800
--	IFF_TAP                              = 0x2
--	IFF_TUN                              = 0x1
--	IFF_TUN_EXCL                         = 0x8000
--	IFF_UP                               = 0x1
--	IFF_VNET_HDR                         = 0x4000
--	IFF_VOLATILE                         = 0x70c5a
--	IFNAMSIZ                             = 0x10
--	IGNBRK                               = 0x1
--	IGNCR                                = 0x80
--	IGNPAR                               = 0x4
--	IMAXBEL                              = 0x2000
--	INLCR                                = 0x40
--	INPCK                                = 0x10
--	IN_ACCESS                            = 0x1
--	IN_ALL_EVENTS                        = 0xfff
--	IN_ATTRIB                            = 0x4
--	IN_CLASSA_HOST                       = 0xffffff
--	IN_CLASSA_MAX                        = 0x80
--	IN_CLASSA_NET                        = 0xff000000
--	IN_CLASSA_NSHIFT                     = 0x18
--	IN_CLASSB_HOST                       = 0xffff
--	IN_CLASSB_MAX                        = 0x10000
--	IN_CLASSB_NET                        = 0xffff0000
--	IN_CLASSB_NSHIFT                     = 0x10
--	IN_CLASSC_HOST                       = 0xff
--	IN_CLASSC_NET                        = 0xffffff00
--	IN_CLASSC_NSHIFT                     = 0x8
--	IN_CLOEXEC                           = 0x80000
--	IN_CLOSE                             = 0x18
--	IN_CLOSE_NOWRITE                     = 0x10
--	IN_CLOSE_WRITE                       = 0x8
--	IN_CREATE                            = 0x100
--	IN_DELETE                            = 0x200
--	IN_DELETE_SELF                       = 0x400
--	IN_DONT_FOLLOW                       = 0x2000000
--	IN_EXCL_UNLINK                       = 0x4000000
--	IN_IGNORED                           = 0x8000
--	IN_ISDIR                             = 0x40000000
--	IN_LOOPBACKNET                       = 0x7f
--	IN_MASK_ADD                          = 0x20000000
--	IN_MODIFY                            = 0x2
--	IN_MOVE                              = 0xc0
--	IN_MOVED_FROM                        = 0x40
--	IN_MOVED_TO                          = 0x80
--	IN_MOVE_SELF                         = 0x800
--	IN_NONBLOCK                          = 0x800
--	IN_ONESHOT                           = 0x80000000
--	IN_ONLYDIR                           = 0x1000000
--	IN_OPEN                              = 0x20
--	IN_Q_OVERFLOW                        = 0x4000
--	IN_UNMOUNT                           = 0x2000
--	IPPROTO_AH                           = 0x33
--	IPPROTO_BEETPH                       = 0x5e
--	IPPROTO_COMP                         = 0x6c
--	IPPROTO_DCCP                         = 0x21
--	IPPROTO_DSTOPTS                      = 0x3c
--	IPPROTO_EGP                          = 0x8
--	IPPROTO_ENCAP                        = 0x62
--	IPPROTO_ESP                          = 0x32
--	IPPROTO_FRAGMENT                     = 0x2c
--	IPPROTO_GRE                          = 0x2f
--	IPPROTO_HOPOPTS                      = 0x0
--	IPPROTO_ICMP                         = 0x1
--	IPPROTO_ICMPV6                       = 0x3a
--	IPPROTO_IDP                          = 0x16
--	IPPROTO_IGMP                         = 0x2
--	IPPROTO_IP                           = 0x0
--	IPPROTO_IPIP                         = 0x4
--	IPPROTO_IPV6                         = 0x29
--	IPPROTO_MH                           = 0x87
--	IPPROTO_MPLS                         = 0x89
--	IPPROTO_MTP                          = 0x5c
--	IPPROTO_NONE                         = 0x3b
--	IPPROTO_PIM                          = 0x67
--	IPPROTO_PUP                          = 0xc
--	IPPROTO_RAW                          = 0xff
--	IPPROTO_ROUTING                      = 0x2b
--	IPPROTO_RSVP                         = 0x2e
--	IPPROTO_SCTP                         = 0x84
--	IPPROTO_TCP                          = 0x6
--	IPPROTO_TP                           = 0x1d
--	IPPROTO_UDP                          = 0x11
--	IPPROTO_UDPLITE                      = 0x88
--	IPV6_2292DSTOPTS                     = 0x4
--	IPV6_2292HOPLIMIT                    = 0x8
--	IPV6_2292HOPOPTS                     = 0x3
--	IPV6_2292PKTINFO                     = 0x2
--	IPV6_2292PKTOPTIONS                  = 0x6
--	IPV6_2292RTHDR                       = 0x5
--	IPV6_ADDRFORM                        = 0x1
--	IPV6_ADD_MEMBERSHIP                  = 0x14
--	IPV6_AUTHHDR                         = 0xa
--	IPV6_CHECKSUM                        = 0x7
--	IPV6_DONTFRAG                        = 0x3e
--	IPV6_DROP_MEMBERSHIP                 = 0x15
--	IPV6_DSTOPTS                         = 0x3b
--	IPV6_HDRINCL                         = 0x24
--	IPV6_HOPLIMIT                        = 0x34
--	IPV6_HOPOPTS                         = 0x36
--	IPV6_IPSEC_POLICY                    = 0x22
--	IPV6_JOIN_ANYCAST                    = 0x1b
--	IPV6_JOIN_GROUP                      = 0x14
--	IPV6_LEAVE_ANYCAST                   = 0x1c
--	IPV6_LEAVE_GROUP                     = 0x15
--	IPV6_MTU                             = 0x18
--	IPV6_MTU_DISCOVER                    = 0x17
--	IPV6_MULTICAST_HOPS                  = 0x12
--	IPV6_MULTICAST_IF                    = 0x11
--	IPV6_MULTICAST_LOOP                  = 0x13
--	IPV6_NEXTHOP                         = 0x9
--	IPV6_PATHMTU                         = 0x3d
--	IPV6_PKTINFO                         = 0x32
--	IPV6_PMTUDISC_DO                     = 0x2
--	IPV6_PMTUDISC_DONT                   = 0x0
--	IPV6_PMTUDISC_INTERFACE              = 0x4
--	IPV6_PMTUDISC_OMIT                   = 0x5
--	IPV6_PMTUDISC_PROBE                  = 0x3
--	IPV6_PMTUDISC_WANT                   = 0x1
--	IPV6_RECVDSTOPTS                     = 0x3a
--	IPV6_RECVERR                         = 0x19
--	IPV6_RECVHOPLIMIT                    = 0x33
--	IPV6_RECVHOPOPTS                     = 0x35
--	IPV6_RECVPATHMTU                     = 0x3c
--	IPV6_RECVPKTINFO                     = 0x31
--	IPV6_RECVRTHDR                       = 0x38
--	IPV6_RECVTCLASS                      = 0x42
--	IPV6_ROUTER_ALERT                    = 0x16
--	IPV6_RTHDR                           = 0x39
--	IPV6_RTHDRDSTOPTS                    = 0x37
--	IPV6_RTHDR_LOOSE                     = 0x0
--	IPV6_RTHDR_STRICT                    = 0x1
--	IPV6_RTHDR_TYPE_0                    = 0x0
--	IPV6_RXDSTOPTS                       = 0x3b
--	IPV6_RXHOPOPTS                       = 0x36
--	IPV6_TCLASS                          = 0x43
--	IPV6_UNICAST_HOPS                    = 0x10
--	IPV6_V6ONLY                          = 0x1a
--	IPV6_XFRM_POLICY                     = 0x23
--	IP_ADD_MEMBERSHIP                    = 0x23
--	IP_ADD_SOURCE_MEMBERSHIP             = 0x27
--	IP_BIND_ADDRESS_NO_PORT              = 0x18
--	IP_BLOCK_SOURCE                      = 0x26
--	IP_CHECKSUM                          = 0x17
--	IP_DEFAULT_MULTICAST_LOOP            = 0x1
--	IP_DEFAULT_MULTICAST_TTL             = 0x1
--	IP_DF                                = 0x4000
--	IP_DROP_MEMBERSHIP                   = 0x24
--	IP_DROP_SOURCE_MEMBERSHIP            = 0x28
--	IP_FREEBIND                          = 0xf
--	IP_HDRINCL                           = 0x3
--	IP_IPSEC_POLICY                      = 0x10
--	IP_MAXPACKET                         = 0xffff
--	IP_MAX_MEMBERSHIPS                   = 0x14
--	IP_MF                                = 0x2000
--	IP_MINTTL                            = 0x15
--	IP_MSFILTER                          = 0x29
--	IP_MSS                               = 0x240
--	IP_MTU                               = 0xe
--	IP_MTU_DISCOVER                      = 0xa
--	IP_MULTICAST_ALL                     = 0x31
--	IP_MULTICAST_IF                      = 0x20
--	IP_MULTICAST_LOOP                    = 0x22
--	IP_MULTICAST_TTL                     = 0x21
--	IP_NODEFRAG                          = 0x16
--	IP_OFFMASK                           = 0x1fff
--	IP_OPTIONS                           = 0x4
--	IP_ORIGDSTADDR                       = 0x14
--	IP_PASSSEC                           = 0x12
--	IP_PKTINFO                           = 0x8
--	IP_PKTOPTIONS                        = 0x9
--	IP_PMTUDISC                          = 0xa
--	IP_PMTUDISC_DO                       = 0x2
--	IP_PMTUDISC_DONT                     = 0x0
--	IP_PMTUDISC_INTERFACE                = 0x4
--	IP_PMTUDISC_OMIT                     = 0x5
--	IP_PMTUDISC_PROBE                    = 0x3
--	IP_PMTUDISC_WANT                     = 0x1
--	IP_RECVERR                           = 0xb
--	IP_RECVOPTS                          = 0x6
--	IP_RECVORIGDSTADDR                   = 0x14
--	IP_RECVRETOPTS                       = 0x7
--	IP_RECVTOS                           = 0xd
--	IP_RECVTTL                           = 0xc
--	IP_RETOPTS                           = 0x7
--	IP_RF                                = 0x8000
--	IP_ROUTER_ALERT                      = 0x5
--	IP_TOS                               = 0x1
--	IP_TRANSPARENT                       = 0x13
--	IP_TTL                               = 0x2
--	IP_UNBLOCK_SOURCE                    = 0x25
--	IP_UNICAST_IF                        = 0x32
--	IP_XFRM_POLICY                       = 0x11
--	ISIG                                 = 0x1
--	ISTRIP                               = 0x20
--	IUCLC                                = 0x200
--	IUTF8                                = 0x4000
--	IXANY                                = 0x800
--	IXOFF                                = 0x1000
--	IXON                                 = 0x400
--	KEYCTL_ASSUME_AUTHORITY              = 0x10
--	KEYCTL_CHOWN                         = 0x4
--	KEYCTL_CLEAR                         = 0x7
--	KEYCTL_DESCRIBE                      = 0x6
--	KEYCTL_DH_COMPUTE                    = 0x17
--	KEYCTL_GET_KEYRING_ID                = 0x0
--	KEYCTL_GET_PERSISTENT                = 0x16
--	KEYCTL_GET_SECURITY                  = 0x11
--	KEYCTL_INSTANTIATE                   = 0xc
--	KEYCTL_INSTANTIATE_IOV               = 0x14
--	KEYCTL_INVALIDATE                    = 0x15
--	KEYCTL_JOIN_SESSION_KEYRING          = 0x1
--	KEYCTL_LINK                          = 0x8
--	KEYCTL_NEGATE                        = 0xd
--	KEYCTL_READ                          = 0xb
--	KEYCTL_REJECT                        = 0x13
--	KEYCTL_REVOKE                        = 0x3
--	KEYCTL_SEARCH                        = 0xa
--	KEYCTL_SESSION_TO_PARENT             = 0x12
--	KEYCTL_SETPERM                       = 0x5
--	KEYCTL_SET_REQKEY_KEYRING            = 0xe
--	KEYCTL_SET_TIMEOUT                   = 0xf
--	KEYCTL_UNLINK                        = 0x9
--	KEYCTL_UPDATE                        = 0x2
--	KEY_REQKEY_DEFL_DEFAULT              = 0x0
--	KEY_REQKEY_DEFL_GROUP_KEYRING        = 0x6
--	KEY_REQKEY_DEFL_NO_CHANGE            = -0x1
--	KEY_REQKEY_DEFL_PROCESS_KEYRING      = 0x2
--	KEY_REQKEY_DEFL_REQUESTOR_KEYRING    = 0x7
--	KEY_REQKEY_DEFL_SESSION_KEYRING      = 0x3
--	KEY_REQKEY_DEFL_THREAD_KEYRING       = 0x1
--	KEY_REQKEY_DEFL_USER_KEYRING         = 0x4
--	KEY_REQKEY_DEFL_USER_SESSION_KEYRING = 0x5
--	KEY_SPEC_GROUP_KEYRING               = -0x6
--	KEY_SPEC_PROCESS_KEYRING             = -0x2
--	KEY_SPEC_REQKEY_AUTH_KEY             = -0x7
--	KEY_SPEC_REQUESTOR_KEYRING           = -0x8
--	KEY_SPEC_SESSION_KEYRING             = -0x3
--	KEY_SPEC_THREAD_KEYRING              = -0x1
--	KEY_SPEC_USER_KEYRING                = -0x4
--	KEY_SPEC_USER_SESSION_KEYRING        = -0x5
--	LINUX_REBOOT_CMD_CAD_OFF             = 0x0
--	LINUX_REBOOT_CMD_CAD_ON              = 0x89abcdef
--	LINUX_REBOOT_CMD_HALT                = 0xcdef0123
--	LINUX_REBOOT_CMD_KEXEC               = 0x45584543
--	LINUX_REBOOT_CMD_POWER_OFF           = 0x4321fedc
--	LINUX_REBOOT_CMD_RESTART             = 0x1234567
--	LINUX_REBOOT_CMD_RESTART2            = 0xa1b2c3d4
--	LINUX_REBOOT_CMD_SW_SUSPEND          = 0xd000fce2
--	LINUX_REBOOT_MAGIC1                  = 0xfee1dead
--	LINUX_REBOOT_MAGIC2                  = 0x28121969
--	LOCK_EX                              = 0x2
--	LOCK_NB                              = 0x4
--	LOCK_SH                              = 0x1
--	LOCK_UN                              = 0x8
--	MADV_DODUMP                          = 0x11
--	MADV_DOFORK                          = 0xb
--	MADV_DONTDUMP                        = 0x10
--	MADV_DONTFORK                        = 0xa
--	MADV_DONTNEED                        = 0x4
--	MADV_FREE                            = 0x8
--	MADV_HUGEPAGE                        = 0xe
--	MADV_HWPOISON                        = 0x64
--	MADV_MERGEABLE                       = 0xc
--	MADV_NOHUGEPAGE                      = 0xf
--	MADV_NORMAL                          = 0x0
--	MADV_RANDOM                          = 0x1
--	MADV_REMOVE                          = 0x9
--	MADV_SEQUENTIAL                      = 0x2
--	MADV_UNMERGEABLE                     = 0xd
--	MADV_WILLNEED                        = 0x3
--	MAP_ANON                             = 0x20
--	MAP_ANONYMOUS                        = 0x20
--	MAP_DENYWRITE                        = 0x800
--	MAP_EXECUTABLE                       = 0x1000
--	MAP_FILE                             = 0x0
--	MAP_FIXED                            = 0x10
--	MAP_GROWSDOWN                        = 0x100
--	MAP_HUGETLB                          = 0x40000
--	MAP_HUGE_MASK                        = 0x3f
--	MAP_HUGE_SHIFT                       = 0x1a
--	MAP_LOCKED                           = 0x2000
--	MAP_NONBLOCK                         = 0x10000
--	MAP_NORESERVE                        = 0x4000
--	MAP_POPULATE                         = 0x8000
--	MAP_PRIVATE                          = 0x2
--	MAP_SHARED                           = 0x1
--	MAP_STACK                            = 0x20000
--	MAP_TYPE                             = 0xf
--	MCL_CURRENT                          = 0x1
--	MCL_FUTURE                           = 0x2
--	MCL_ONFAULT                          = 0x4
--	MNT_DETACH                           = 0x2
--	MNT_EXPIRE                           = 0x4
--	MNT_FORCE                            = 0x1
--	MSG_BATCH                            = 0x40000
--	MSG_CMSG_CLOEXEC                     = 0x40000000
--	MSG_CONFIRM                          = 0x800
--	MSG_CTRUNC                           = 0x8
--	MSG_DONTROUTE                        = 0x4
--	MSG_DONTWAIT                         = 0x40
--	MSG_EOR                              = 0x80
--	MSG_ERRQUEUE                         = 0x2000
--	MSG_FASTOPEN                         = 0x20000000
--	MSG_FIN                              = 0x200
--	MSG_MORE                             = 0x8000
--	MSG_NOSIGNAL                         = 0x4000
--	MSG_OOB                              = 0x1
--	MSG_PEEK                             = 0x2
--	MSG_PROXY                            = 0x10
--	MSG_RST                              = 0x1000
--	MSG_SYN                              = 0x400
--	MSG_TRUNC                            = 0x20
--	MSG_TRYHARD                          = 0x4
--	MSG_WAITALL                          = 0x100
--	MSG_WAITFORONE                       = 0x10000
--	MS_ACTIVE                            = 0x40000000
--	MS_ASYNC                             = 0x1
--	MS_BIND                              = 0x1000
--	MS_BORN                              = 0x20000000
--	MS_DIRSYNC                           = 0x80
--	MS_INVALIDATE                        = 0x2
--	MS_I_VERSION                         = 0x800000
--	MS_KERNMOUNT                         = 0x400000
--	MS_LAZYTIME                          = 0x2000000
--	MS_MANDLOCK                          = 0x40
--	MS_MGC_MSK                           = 0xffff0000
--	MS_MGC_VAL                           = 0xc0ed0000
--	MS_MOVE                              = 0x2000
--	MS_NOATIME                           = 0x400
--	MS_NODEV                             = 0x4
--	MS_NODIRATIME                        = 0x800
--	MS_NOEXEC                            = 0x8
--	MS_NOREMOTELOCK                      = 0x8000000
--	MS_NOSEC                             = 0x10000000
--	MS_NOSUID                            = 0x2
--	MS_NOUSER                            = -0x80000000
--	MS_POSIXACL                          = 0x10000
--	MS_PRIVATE                           = 0x40000
--	MS_RDONLY                            = 0x1
--	MS_REC                               = 0x4000
--	MS_RELATIME                          = 0x200000
--	MS_REMOUNT                           = 0x20
--	MS_RMT_MASK                          = 0x2800051
--	MS_SHARED                            = 0x100000
--	MS_SILENT                            = 0x8000
--	MS_SLAVE                             = 0x80000
--	MS_STRICTATIME                       = 0x1000000
--	MS_SYNC                              = 0x4
--	MS_SYNCHRONOUS                       = 0x10
--	MS_UNBINDABLE                        = 0x20000
--	MS_VERBOSE                           = 0x8000
--	NAME_MAX                             = 0xff
--	NETLINK_ADD_MEMBERSHIP               = 0x1
--	NETLINK_AUDIT                        = 0x9
--	NETLINK_BROADCAST_ERROR              = 0x4
--	NETLINK_CAP_ACK                      = 0xa
--	NETLINK_CONNECTOR                    = 0xb
--	NETLINK_CRYPTO                       = 0x15
--	NETLINK_DNRTMSG                      = 0xe
--	NETLINK_DROP_MEMBERSHIP              = 0x2
--	NETLINK_ECRYPTFS                     = 0x13
--	NETLINK_FIB_LOOKUP                   = 0xa
--	NETLINK_FIREWALL                     = 0x3
--	NETLINK_GENERIC                      = 0x10
--	NETLINK_INET_DIAG                    = 0x4
--	NETLINK_IP6_FW                       = 0xd
--	NETLINK_ISCSI                        = 0x8
--	NETLINK_KOBJECT_UEVENT               = 0xf
--	NETLINK_LISTEN_ALL_NSID              = 0x8
--	NETLINK_LIST_MEMBERSHIPS             = 0x9
--	NETLINK_NETFILTER                    = 0xc
--	NETLINK_NFLOG                        = 0x5
--	NETLINK_NO_ENOBUFS                   = 0x5
--	NETLINK_PKTINFO                      = 0x3
--	NETLINK_RDMA                         = 0x14
--	NETLINK_ROUTE                        = 0x0
--	NETLINK_RX_RING                      = 0x6
--	NETLINK_SCSITRANSPORT                = 0x12
--	NETLINK_SELINUX                      = 0x7
--	NETLINK_SOCK_DIAG                    = 0x4
--	NETLINK_TX_RING                      = 0x7
--	NETLINK_UNUSED                       = 0x1
--	NETLINK_USERSOCK                     = 0x2
--	NETLINK_XFRM                         = 0x6
--	NL0                                  = 0x0
--	NL1                                  = 0x100
--	NLA_ALIGNTO                          = 0x4
--	NLA_F_NESTED                         = 0x8000
--	NLA_F_NET_BYTEORDER                  = 0x4000
--	NLA_HDRLEN                           = 0x4
--	NLDLY                                = 0x100
--	NLMSG_ALIGNTO                        = 0x4
--	NLMSG_DONE                           = 0x3
--	NLMSG_ERROR                          = 0x2
--	NLMSG_HDRLEN                         = 0x10
--	NLMSG_MIN_TYPE                       = 0x10
--	NLMSG_NOOP                           = 0x1
--	NLMSG_OVERRUN                        = 0x4
--	NLM_F_ACK                            = 0x4
--	NLM_F_APPEND                         = 0x800
--	NLM_F_ATOMIC                         = 0x400
--	NLM_F_CREATE                         = 0x400
--	NLM_F_DUMP                           = 0x300
--	NLM_F_DUMP_FILTERED                  = 0x20
--	NLM_F_DUMP_INTR                      = 0x10
--	NLM_F_ECHO                           = 0x8
--	NLM_F_EXCL                           = 0x200
--	NLM_F_MATCH                          = 0x200
--	NLM_F_MULTI                          = 0x2
--	NLM_F_REPLACE                        = 0x100
--	NLM_F_REQUEST                        = 0x1
--	NLM_F_ROOT                           = 0x100
--	NOFLSH                               = 0x80
--	OCRNL                                = 0x8
--	OFDEL                                = 0x80
--	OFILL                                = 0x40
--	OLCUC                                = 0x2
--	ONLCR                                = 0x4
--	ONLRET                               = 0x20
--	ONOCR                                = 0x10
--	OPOST                                = 0x1
--	O_ACCMODE                            = 0x3
--	O_APPEND                             = 0x400
--	O_ASYNC                              = 0x2000
--	O_CLOEXEC                            = 0x80000
--	O_CREAT                              = 0x40
--	O_DIRECT                             = 0x10000
--	O_DIRECTORY                          = 0x4000
--	O_DSYNC                              = 0x1000
--	O_EXCL                               = 0x80
--	O_FSYNC                              = 0x101000
--	O_LARGEFILE                          = 0x20000
--	O_NDELAY                             = 0x800
--	O_NOATIME                            = 0x40000
--	O_NOCTTY                             = 0x100
--	O_NOFOLLOW                           = 0x8000
--	O_NONBLOCK                           = 0x800
--	O_PATH                               = 0x200000
--	O_RDONLY                             = 0x0
--	O_RDWR                               = 0x2
--	O_RSYNC                              = 0x101000
--	O_SYNC                               = 0x101000
--	O_TMPFILE                            = 0x404000
--	O_TRUNC                              = 0x200
--	O_WRONLY                             = 0x1
--	PACKET_ADD_MEMBERSHIP                = 0x1
--	PACKET_AUXDATA                       = 0x8
--	PACKET_BROADCAST                     = 0x1
--	PACKET_COPY_THRESH                   = 0x7
--	PACKET_DROP_MEMBERSHIP               = 0x2
--	PACKET_FANOUT                        = 0x12
--	PACKET_FANOUT_CBPF                   = 0x6
--	PACKET_FANOUT_CPU                    = 0x2
--	PACKET_FANOUT_DATA                   = 0x16
--	PACKET_FANOUT_EBPF                   = 0x7
--	PACKET_FANOUT_FLAG_DEFRAG            = 0x8000
--	PACKET_FANOUT_FLAG_ROLLOVER          = 0x1000
--	PACKET_FANOUT_HASH                   = 0x0
--	PACKET_FANOUT_LB                     = 0x1
--	PACKET_FANOUT_QM                     = 0x5
--	PACKET_FANOUT_RND                    = 0x4
--	PACKET_FANOUT_ROLLOVER               = 0x3
--	PACKET_FASTROUTE                     = 0x6
--	PACKET_HDRLEN                        = 0xb
--	PACKET_HOST                          = 0x0
--	PACKET_KERNEL                        = 0x7
--	PACKET_LOOPBACK                      = 0x5
--	PACKET_LOSS                          = 0xe
--	PACKET_MR_ALLMULTI                   = 0x2
--	PACKET_MR_MULTICAST                  = 0x0
--	PACKET_MR_PROMISC                    = 0x1
--	PACKET_MR_UNICAST                    = 0x3
--	PACKET_MULTICAST                     = 0x2
--	PACKET_ORIGDEV                       = 0x9
--	PACKET_OTHERHOST                     = 0x3
--	PACKET_OUTGOING                      = 0x4
--	PACKET_QDISC_BYPASS                  = 0x14
--	PACKET_RECV_OUTPUT                   = 0x3
--	PACKET_RESERVE                       = 0xc
--	PACKET_ROLLOVER_STATS                = 0x15
--	PACKET_RX_RING                       = 0x5
--	PACKET_STATISTICS                    = 0x6
--	PACKET_TIMESTAMP                     = 0x11
--	PACKET_TX_HAS_OFF                    = 0x13
--	PACKET_TX_RING                       = 0xd
--	PACKET_TX_TIMESTAMP                  = 0x10
--	PACKET_USER                          = 0x6
--	PACKET_VERSION                       = 0xa
--	PACKET_VNET_HDR                      = 0xf
--	PARENB                               = 0x100
--	PARITY_CRC16_PR0                     = 0x2
--	PARITY_CRC16_PR0_CCITT               = 0x4
--	PARITY_CRC16_PR1                     = 0x3
--	PARITY_CRC16_PR1_CCITT               = 0x5
--	PARITY_CRC32_PR0_CCITT               = 0x6
--	PARITY_CRC32_PR1_CCITT               = 0x7
--	PARITY_DEFAULT                       = 0x0
--	PARITY_NONE                          = 0x1
--	PARMRK                               = 0x8
--	PARODD                               = 0x200
--	PENDIN                               = 0x4000
--	PERF_EVENT_IOC_DISABLE               = 0x2401
--	PERF_EVENT_IOC_ENABLE                = 0x2400
--	PERF_EVENT_IOC_ID                    = 0x80042407
--	PERF_EVENT_IOC_PAUSE_OUTPUT          = 0x40042409
--	PERF_EVENT_IOC_PERIOD                = 0x40082404
--	PERF_EVENT_IOC_REFRESH               = 0x2402
--	PERF_EVENT_IOC_RESET                 = 0x2403
--	PERF_EVENT_IOC_SET_BPF               = 0x40042408
--	PERF_EVENT_IOC_SET_FILTER            = 0x40042406
--	PERF_EVENT_IOC_SET_OUTPUT            = 0x2405
--	PRIO_PGRP                            = 0x1
--	PRIO_PROCESS                         = 0x0
--	PRIO_USER                            = 0x2
--	PROT_EXEC                            = 0x4
--	PROT_GROWSDOWN                       = 0x1000000
--	PROT_GROWSUP                         = 0x2000000
--	PROT_NONE                            = 0x0
--	PROT_READ                            = 0x1
--	PROT_WRITE                           = 0x2
--	PR_CAPBSET_DROP                      = 0x18
--	PR_CAPBSET_READ                      = 0x17
--	PR_CAP_AMBIENT                       = 0x2f
--	PR_CAP_AMBIENT_CLEAR_ALL             = 0x4
--	PR_CAP_AMBIENT_IS_SET                = 0x1
--	PR_CAP_AMBIENT_LOWER                 = 0x3
--	PR_CAP_AMBIENT_RAISE                 = 0x2
--	PR_ENDIAN_BIG                        = 0x0
--	PR_ENDIAN_LITTLE                     = 0x1
--	PR_ENDIAN_PPC_LITTLE                 = 0x2
--	PR_FPEMU_NOPRINT                     = 0x1
--	PR_FPEMU_SIGFPE                      = 0x2
--	PR_FP_EXC_ASYNC                      = 0x2
--	PR_FP_EXC_DISABLED                   = 0x0
--	PR_FP_EXC_DIV                        = 0x10000
--	PR_FP_EXC_INV                        = 0x100000
--	PR_FP_EXC_NONRECOV                   = 0x1
--	PR_FP_EXC_OVF                        = 0x20000
--	PR_FP_EXC_PRECISE                    = 0x3
--	PR_FP_EXC_RES                        = 0x80000
--	PR_FP_EXC_SW_ENABLE                  = 0x80
--	PR_FP_EXC_UND                        = 0x40000
--	PR_FP_MODE_FR                        = 0x1
--	PR_FP_MODE_FRE                       = 0x2
--	PR_GET_CHILD_SUBREAPER               = 0x25
--	PR_GET_DUMPABLE                      = 0x3
--	PR_GET_ENDIAN                        = 0x13
--	PR_GET_FPEMU                         = 0x9
--	PR_GET_FPEXC                         = 0xb
--	PR_GET_FP_MODE                       = 0x2e
--	PR_GET_KEEPCAPS                      = 0x7
--	PR_GET_NAME                          = 0x10
--	PR_GET_NO_NEW_PRIVS                  = 0x27
--	PR_GET_PDEATHSIG                     = 0x2
--	PR_GET_SECCOMP                       = 0x15
--	PR_GET_SECUREBITS                    = 0x1b
--	PR_GET_THP_DISABLE                   = 0x2a
--	PR_GET_TID_ADDRESS                   = 0x28
--	PR_GET_TIMERSLACK                    = 0x1e
--	PR_GET_TIMING                        = 0xd
--	PR_GET_TSC                           = 0x19
--	PR_GET_UNALIGN                       = 0x5
--	PR_MCE_KILL                          = 0x21
--	PR_MCE_KILL_CLEAR                    = 0x0
--	PR_MCE_KILL_DEFAULT                  = 0x2
--	PR_MCE_KILL_EARLY                    = 0x1
--	PR_MCE_KILL_GET                      = 0x22
--	PR_MCE_KILL_LATE                     = 0x0
--	PR_MCE_KILL_SET                      = 0x1
--	PR_MPX_DISABLE_MANAGEMENT            = 0x2c
--	PR_MPX_ENABLE_MANAGEMENT             = 0x2b
--	PR_SET_CHILD_SUBREAPER               = 0x24
--	PR_SET_DUMPABLE                      = 0x4
--	PR_SET_ENDIAN                        = 0x14
--	PR_SET_FPEMU                         = 0xa
--	PR_SET_FPEXC                         = 0xc
--	PR_SET_FP_MODE                       = 0x2d
--	PR_SET_KEEPCAPS                      = 0x8
--	PR_SET_MM                            = 0x23
--	PR_SET_MM_ARG_END                    = 0x9
--	PR_SET_MM_ARG_START                  = 0x8
--	PR_SET_MM_AUXV                       = 0xc
--	PR_SET_MM_BRK                        = 0x7
--	PR_SET_MM_END_CODE                   = 0x2
--	PR_SET_MM_END_DATA                   = 0x4
--	PR_SET_MM_ENV_END                    = 0xb
--	PR_SET_MM_ENV_START                  = 0xa
--	PR_SET_MM_EXE_FILE                   = 0xd
--	PR_SET_MM_MAP                        = 0xe
--	PR_SET_MM_MAP_SIZE                   = 0xf
--	PR_SET_MM_START_BRK                  = 0x6
--	PR_SET_MM_START_CODE                 = 0x1
--	PR_SET_MM_START_DATA                 = 0x3
--	PR_SET_MM_START_STACK                = 0x5
--	PR_SET_NAME                          = 0xf
--	PR_SET_NO_NEW_PRIVS                  = 0x26
--	PR_SET_PDEATHSIG                     = 0x1
--	PR_SET_PTRACER                       = 0x59616d61
--	PR_SET_PTRACER_ANY                   = 0xffffffff
--	PR_SET_SECCOMP                       = 0x16
--	PR_SET_SECUREBITS                    = 0x1c
--	PR_SET_THP_DISABLE                   = 0x29
--	PR_SET_TIMERSLACK                    = 0x1d
--	PR_SET_TIMING                        = 0xe
--	PR_SET_TSC                           = 0x1a
--	PR_SET_UNALIGN                       = 0x6
--	PR_TASK_PERF_EVENTS_DISABLE          = 0x1f
--	PR_TASK_PERF_EVENTS_ENABLE           = 0x20
--	PR_TIMING_STATISTICAL                = 0x0
--	PR_TIMING_TIMESTAMP                  = 0x1
--	PR_TSC_ENABLE                        = 0x1
--	PR_TSC_SIGSEGV                       = 0x2
--	PR_UNALIGN_NOPRINT                   = 0x1
--	PR_UNALIGN_SIGBUS                    = 0x2
--	PTRACE_ATTACH                        = 0x10
--	PTRACE_CONT                          = 0x7
--	PTRACE_DETACH                        = 0x11
--	PTRACE_EVENT_CLONE                   = 0x3
--	PTRACE_EVENT_EXEC                    = 0x4
--	PTRACE_EVENT_EXIT                    = 0x6
--	PTRACE_EVENT_FORK                    = 0x1
--	PTRACE_EVENT_SECCOMP                 = 0x7
--	PTRACE_EVENT_STOP                    = 0x80
--	PTRACE_EVENT_VFORK                   = 0x2
--	PTRACE_EVENT_VFORK_DONE              = 0x5
--	PTRACE_GETCRUNCHREGS                 = 0x19
--	PTRACE_GETEVENTMSG                   = 0x4201
--	PTRACE_GETFPREGS                     = 0xe
--	PTRACE_GETHBPREGS                    = 0x1d
--	PTRACE_GETREGS                       = 0xc
--	PTRACE_GETREGSET                     = 0x4204
--	PTRACE_GETSIGINFO                    = 0x4202
--	PTRACE_GETSIGMASK                    = 0x420a
--	PTRACE_GETVFPREGS                    = 0x1b
--	PTRACE_GETWMMXREGS                   = 0x12
--	PTRACE_GET_THREAD_AREA               = 0x16
--	PTRACE_INTERRUPT                     = 0x4207
--	PTRACE_KILL                          = 0x8
--	PTRACE_LISTEN                        = 0x4208
--	PTRACE_OLDSETOPTIONS                 = 0x15
--	PTRACE_O_EXITKILL                    = 0x100000
--	PTRACE_O_MASK                        = 0x3000ff
--	PTRACE_O_SUSPEND_SECCOMP             = 0x200000
--	PTRACE_O_TRACECLONE                  = 0x8
--	PTRACE_O_TRACEEXEC                   = 0x10
--	PTRACE_O_TRACEEXIT                   = 0x40
--	PTRACE_O_TRACEFORK                   = 0x2
--	PTRACE_O_TRACESECCOMP                = 0x80
--	PTRACE_O_TRACESYSGOOD                = 0x1
--	PTRACE_O_TRACEVFORK                  = 0x4
--	PTRACE_O_TRACEVFORKDONE              = 0x20
--	PTRACE_PEEKDATA                      = 0x2
--	PTRACE_PEEKSIGINFO                   = 0x4209
--	PTRACE_PEEKSIGINFO_SHARED            = 0x1
--	PTRACE_PEEKTEXT                      = 0x1
--	PTRACE_PEEKUSR                       = 0x3
--	PTRACE_POKEDATA                      = 0x5
--	PTRACE_POKETEXT                      = 0x4
--	PTRACE_POKEUSR                       = 0x6
--	PTRACE_SECCOMP_GET_FILTER            = 0x420c
--	PTRACE_SEIZE                         = 0x4206
--	PTRACE_SETCRUNCHREGS                 = 0x1a
--	PTRACE_SETFPREGS                     = 0xf
--	PTRACE_SETHBPREGS                    = 0x1e
--	PTRACE_SETOPTIONS                    = 0x4200
--	PTRACE_SETREGS                       = 0xd
--	PTRACE_SETREGSET                     = 0x4205
--	PTRACE_SETSIGINFO                    = 0x4203
--	PTRACE_SETSIGMASK                    = 0x420b
--	PTRACE_SETVFPREGS                    = 0x1c
--	PTRACE_SETWMMXREGS                   = 0x13
--	PTRACE_SET_SYSCALL                   = 0x17
--	PTRACE_SINGLESTEP                    = 0x9
--	PTRACE_SYSCALL                       = 0x18
--	PTRACE_TRACEME                       = 0x0
--	PT_DATA_ADDR                         = 0x10004
--	PT_TEXT_ADDR                         = 0x10000
--	PT_TEXT_END_ADDR                     = 0x10008
--	RLIMIT_AS                            = 0x9
--	RLIMIT_CORE                          = 0x4
--	RLIMIT_CPU                           = 0x0
--	RLIMIT_DATA                          = 0x2
--	RLIMIT_FSIZE                         = 0x1
--	RLIMIT_LOCKS                         = 0xa
--	RLIMIT_MEMLOCK                       = 0x8
--	RLIMIT_MSGQUEUE                      = 0xc
--	RLIMIT_NICE                          = 0xd
--	RLIMIT_NOFILE                        = 0x7
--	RLIMIT_NPROC                         = 0x6
--	RLIMIT_RSS                           = 0x5
--	RLIMIT_RTPRIO                        = 0xe
--	RLIMIT_RTTIME                        = 0xf
--	RLIMIT_SIGPENDING                    = 0xb
--	RLIMIT_STACK                         = 0x3
--	RLIM_INFINITY                        = -0x1
--	RTAX_ADVMSS                          = 0x8
--	RTAX_CC_ALGO                         = 0x10
--	RTAX_CWND                            = 0x7
--	RTAX_FEATURES                        = 0xc
--	RTAX_FEATURE_ALLFRAG                 = 0x8
--	RTAX_FEATURE_ECN                     = 0x1
--	RTAX_FEATURE_MASK                    = 0xf
--	RTAX_FEATURE_SACK                    = 0x2
--	RTAX_FEATURE_TIMESTAMP               = 0x4
--	RTAX_HOPLIMIT                        = 0xa
--	RTAX_INITCWND                        = 0xb
--	RTAX_INITRWND                        = 0xe
--	RTAX_LOCK                            = 0x1
--	RTAX_MAX                             = 0x10
--	RTAX_MTU                             = 0x2
--	RTAX_QUICKACK                        = 0xf
--	RTAX_REORDERING                      = 0x9
--	RTAX_RTO_MIN                         = 0xd
--	RTAX_RTT                             = 0x4
--	RTAX_RTTVAR                          = 0x5
--	RTAX_SSTHRESH                        = 0x6
--	RTAX_UNSPEC                          = 0x0
--	RTAX_WINDOW                          = 0x3
--	RTA_ALIGNTO                          = 0x4
--	RTA_MAX                              = 0x19
--	RTCF_DIRECTSRC                       = 0x4000000
--	RTCF_DOREDIRECT                      = 0x1000000
--	RTCF_LOG                             = 0x2000000
--	RTCF_MASQ                            = 0x400000
--	RTCF_NAT                             = 0x800000
--	RTCF_VALVE                           = 0x200000
--	RTF_ADDRCLASSMASK                    = 0xf8000000
--	RTF_ADDRCONF                         = 0x40000
--	RTF_ALLONLINK                        = 0x20000
--	RTF_BROADCAST                        = 0x10000000
--	RTF_CACHE                            = 0x1000000
--	RTF_DEFAULT                          = 0x10000
--	RTF_DYNAMIC                          = 0x10
--	RTF_FLOW                             = 0x2000000
--	RTF_GATEWAY                          = 0x2
--	RTF_HOST                             = 0x4
--	RTF_INTERFACE                        = 0x40000000
--	RTF_IRTT                             = 0x100
--	RTF_LINKRT                           = 0x100000
--	RTF_LOCAL                            = 0x80000000
--	RTF_MODIFIED                         = 0x20
--	RTF_MSS                              = 0x40
--	RTF_MTU                              = 0x40
--	RTF_MULTICAST                        = 0x20000000
--	RTF_NAT                              = 0x8000000
--	RTF_NOFORWARD                        = 0x1000
--	RTF_NONEXTHOP                        = 0x200000
--	RTF_NOPMTUDISC                       = 0x4000
--	RTF_POLICY                           = 0x4000000
--	RTF_REINSTATE                        = 0x8
--	RTF_REJECT                           = 0x200
--	RTF_STATIC                           = 0x400
--	RTF_THROW                            = 0x2000
--	RTF_UP                               = 0x1
--	RTF_WINDOW                           = 0x80
--	RTF_XRESOLVE                         = 0x800
--	RTM_BASE                             = 0x10
--	RTM_DELACTION                        = 0x31
--	RTM_DELADDR                          = 0x15
--	RTM_DELADDRLABEL                     = 0x49
--	RTM_DELLINK                          = 0x11
--	RTM_DELMDB                           = 0x55
--	RTM_DELNEIGH                         = 0x1d
--	RTM_DELNSID                          = 0x59
--	RTM_DELQDISC                         = 0x25
--	RTM_DELROUTE                         = 0x19
--	RTM_DELRULE                          = 0x21
--	RTM_DELTCLASS                        = 0x29
--	RTM_DELTFILTER                       = 0x2d
--	RTM_F_CLONED                         = 0x200
--	RTM_F_EQUALIZE                       = 0x400
--	RTM_F_LOOKUP_TABLE                   = 0x1000
--	RTM_F_NOTIFY                         = 0x100
--	RTM_F_PREFIX                         = 0x800
--	RTM_GETACTION                        = 0x32
--	RTM_GETADDR                          = 0x16
--	RTM_GETADDRLABEL                     = 0x4a
--	RTM_GETANYCAST                       = 0x3e
--	RTM_GETDCB                           = 0x4e
--	RTM_GETLINK                          = 0x12
--	RTM_GETMDB                           = 0x56
--	RTM_GETMULTICAST                     = 0x3a
--	RTM_GETNEIGH                         = 0x1e
--	RTM_GETNEIGHTBL                      = 0x42
--	RTM_GETNETCONF                       = 0x52
--	RTM_GETNSID                          = 0x5a
--	RTM_GETQDISC                         = 0x26
--	RTM_GETROUTE                         = 0x1a
--	RTM_GETRULE                          = 0x22
--	RTM_GETSTATS                         = 0x5e
--	RTM_GETTCLASS                        = 0x2a
--	RTM_GETTFILTER                       = 0x2e
--	RTM_MAX                              = 0x5f
--	RTM_NEWACTION                        = 0x30
--	RTM_NEWADDR                          = 0x14
--	RTM_NEWADDRLABEL                     = 0x48
--	RTM_NEWLINK                          = 0x10
--	RTM_NEWMDB                           = 0x54
--	RTM_NEWNDUSEROPT                     = 0x44
--	RTM_NEWNEIGH                         = 0x1c
--	RTM_NEWNEIGHTBL                      = 0x40
--	RTM_NEWNETCONF                       = 0x50
--	RTM_NEWNSID                          = 0x58
--	RTM_NEWPREFIX                        = 0x34
--	RTM_NEWQDISC                         = 0x24
--	RTM_NEWROUTE                         = 0x18
--	RTM_NEWRULE                          = 0x20
--	RTM_NEWSTATS                         = 0x5c
--	RTM_NEWTCLASS                        = 0x28
--	RTM_NEWTFILTER                       = 0x2c
--	RTM_NR_FAMILIES                      = 0x14
--	RTM_NR_MSGTYPES                      = 0x50
--	RTM_SETDCB                           = 0x4f
--	RTM_SETLINK                          = 0x13
--	RTM_SETNEIGHTBL                      = 0x43
--	RTNH_ALIGNTO                         = 0x4
--	RTNH_COMPARE_MASK                    = 0x19
--	RTNH_F_DEAD                          = 0x1
--	RTNH_F_LINKDOWN                      = 0x10
--	RTNH_F_OFFLOAD                       = 0x8
--	RTNH_F_ONLINK                        = 0x4
--	RTNH_F_PERVASIVE                     = 0x2
--	RTN_MAX                              = 0xb
--	RTPROT_BABEL                         = 0x2a
--	RTPROT_BIRD                          = 0xc
--	RTPROT_BOOT                          = 0x3
--	RTPROT_DHCP                          = 0x10
--	RTPROT_DNROUTED                      = 0xd
--	RTPROT_GATED                         = 0x8
--	RTPROT_KERNEL                        = 0x2
--	RTPROT_MROUTED                       = 0x11
--	RTPROT_MRT                           = 0xa
--	RTPROT_NTK                           = 0xf
--	RTPROT_RA                            = 0x9
--	RTPROT_REDIRECT                      = 0x1
--	RTPROT_STATIC                        = 0x4
--	RTPROT_UNSPEC                        = 0x0
--	RTPROT_XORP                          = 0xe
--	RTPROT_ZEBRA                         = 0xb
--	RT_CLASS_DEFAULT                     = 0xfd
--	RT_CLASS_LOCAL                       = 0xff
--	RT_CLASS_MAIN                        = 0xfe
--	RT_CLASS_MAX                         = 0xff
--	RT_CLASS_UNSPEC                      = 0x0
--	RUSAGE_CHILDREN                      = -0x1
--	RUSAGE_SELF                          = 0x0
--	RUSAGE_THREAD                        = 0x1
--	SCM_CREDENTIALS                      = 0x2
--	SCM_RIGHTS                           = 0x1
--	SCM_TIMESTAMP                        = 0x1d
--	SCM_TIMESTAMPING                     = 0x25
--	SCM_TIMESTAMPING_OPT_STATS           = 0x36
--	SCM_TIMESTAMPNS                      = 0x23
--	SCM_WIFI_STATUS                      = 0x29
--	SECCOMP_MODE_DISABLED                = 0x0
--	SECCOMP_MODE_FILTER                  = 0x2
--	SECCOMP_MODE_STRICT                  = 0x1
--	SHUT_RD                              = 0x0
--	SHUT_RDWR                            = 0x2
--	SHUT_WR                              = 0x1
--	SIOCADDDLCI                          = 0x8980
--	SIOCADDMULTI                         = 0x8931
--	SIOCADDRT                            = 0x890b
--	SIOCATMARK                           = 0x8905
--	SIOCBONDCHANGEACTIVE                 = 0x8995
--	SIOCBONDENSLAVE                      = 0x8990
--	SIOCBONDINFOQUERY                    = 0x8994
--	SIOCBONDRELEASE                      = 0x8991
--	SIOCBONDSETHWADDR                    = 0x8992
--	SIOCBONDSLAVEINFOQUERY               = 0x8993
--	SIOCBRADDBR                          = 0x89a0
--	SIOCBRADDIF                          = 0x89a2
--	SIOCBRDELBR                          = 0x89a1
--	SIOCBRDELIF                          = 0x89a3
--	SIOCDARP                             = 0x8953
--	SIOCDELDLCI                          = 0x8981
--	SIOCDELMULTI                         = 0x8932
--	SIOCDELRT                            = 0x890c
--	SIOCDEVPRIVATE                       = 0x89f0
--	SIOCDIFADDR                          = 0x8936
--	SIOCDRARP                            = 0x8960
--	SIOCETHTOOL                          = 0x8946
--	SIOCGARP                             = 0x8954
--	SIOCGHWTSTAMP                        = 0x89b1
--	SIOCGIFADDR                          = 0x8915
--	SIOCGIFBR                            = 0x8940
--	SIOCGIFBRDADDR                       = 0x8919
--	SIOCGIFCONF                          = 0x8912
--	SIOCGIFCOUNT                         = 0x8938
--	SIOCGIFDSTADDR                       = 0x8917
--	SIOCGIFENCAP                         = 0x8925
--	SIOCGIFFLAGS                         = 0x8913
--	SIOCGIFHWADDR                        = 0x8927
--	SIOCGIFINDEX                         = 0x8933
--	SIOCGIFMAP                           = 0x8970
--	SIOCGIFMEM                           = 0x891f
--	SIOCGIFMETRIC                        = 0x891d
--	SIOCGIFMTU                           = 0x8921
--	SIOCGIFNAME                          = 0x8910
--	SIOCGIFNETMASK                       = 0x891b
--	SIOCGIFPFLAGS                        = 0x8935
--	SIOCGIFSLAVE                         = 0x8929
--	SIOCGIFTXQLEN                        = 0x8942
--	SIOCGIFVLAN                          = 0x8982
--	SIOCGMIIPHY                          = 0x8947
--	SIOCGMIIREG                          = 0x8948
--	SIOCGPGRP                            = 0x8904
--	SIOCGRARP                            = 0x8961
--	SIOCGSKNS                            = 0x894c
--	SIOCGSTAMP                           = 0x8906
--	SIOCGSTAMPNS                         = 0x8907
--	SIOCINQ                              = 0x541b
--	SIOCOUTQ                             = 0x5411
--	SIOCOUTQNSD                          = 0x894b
--	SIOCPROTOPRIVATE                     = 0x89e0
--	SIOCRTMSG                            = 0x890d
--	SIOCSARP                             = 0x8955
--	SIOCSHWTSTAMP                        = 0x89b0
--	SIOCSIFADDR                          = 0x8916
--	SIOCSIFBR                            = 0x8941
--	SIOCSIFBRDADDR                       = 0x891a
--	SIOCSIFDSTADDR                       = 0x8918
--	SIOCSIFENCAP                         = 0x8926
--	SIOCSIFFLAGS                         = 0x8914
--	SIOCSIFHWADDR                        = 0x8924
--	SIOCSIFHWBROADCAST                   = 0x8937
--	SIOCSIFLINK                          = 0x8911
--	SIOCSIFMAP                           = 0x8971
--	SIOCSIFMEM                           = 0x8920
--	SIOCSIFMETRIC                        = 0x891e
--	SIOCSIFMTU                           = 0x8922
--	SIOCSIFNAME                          = 0x8923
--	SIOCSIFNETMASK                       = 0x891c
--	SIOCSIFPFLAGS                        = 0x8934
--	SIOCSIFSLAVE                         = 0x8930
--	SIOCSIFTXQLEN                        = 0x8943
--	SIOCSIFVLAN                          = 0x8983
--	SIOCSMIIREG                          = 0x8949
--	SIOCSPGRP                            = 0x8902
--	SIOCSRARP                            = 0x8962
--	SIOCWANDEV                           = 0x894a
--	SOCK_CLOEXEC                         = 0x80000
--	SOCK_DCCP                            = 0x6
--	SOCK_DGRAM                           = 0x2
--	SOCK_IOC_TYPE                        = 0x89
--	SOCK_NONBLOCK                        = 0x800
--	SOCK_PACKET                          = 0xa
--	SOCK_RAW                             = 0x3
--	SOCK_RDM                             = 0x4
--	SOCK_SEQPACKET                       = 0x5
--	SOCK_STREAM                          = 0x1
--	SOL_AAL                              = 0x109
--	SOL_ALG                              = 0x117
--	SOL_ATM                              = 0x108
--	SOL_CAIF                             = 0x116
--	SOL_CAN_BASE                         = 0x64
--	SOL_DCCP                             = 0x10d
--	SOL_DECNET                           = 0x105
--	SOL_ICMPV6                           = 0x3a
--	SOL_IP                               = 0x0
--	SOL_IPV6                             = 0x29
--	SOL_IRDA                             = 0x10a
--	SOL_IUCV                             = 0x115
--	SOL_KCM                              = 0x119
--	SOL_LLC                              = 0x10c
--	SOL_NETBEUI                          = 0x10b
--	SOL_NETLINK                          = 0x10e
--	SOL_NFC                              = 0x118
--	SOL_PACKET                           = 0x107
--	SOL_PNPIPE                           = 0x113
--	SOL_PPPOL2TP                         = 0x111
--	SOL_RAW                              = 0xff
--	SOL_RDS                              = 0x114
--	SOL_RXRPC                            = 0x110
--	SOL_SOCKET                           = 0x1
--	SOL_TCP                              = 0x6
--	SOL_TIPC                             = 0x10f
--	SOL_X25                              = 0x106
--	SOMAXCONN                            = 0x80
--	SO_ACCEPTCONN                        = 0x1e
--	SO_ATTACH_BPF                        = 0x32
--	SO_ATTACH_FILTER                     = 0x1a
--	SO_ATTACH_REUSEPORT_CBPF             = 0x33
--	SO_ATTACH_REUSEPORT_EBPF             = 0x34
--	SO_BINDTODEVICE                      = 0x19
--	SO_BPF_EXTENSIONS                    = 0x30
--	SO_BROADCAST                         = 0x6
--	SO_BSDCOMPAT                         = 0xe
--	SO_BUSY_POLL                         = 0x2e
--	SO_CNX_ADVICE                        = 0x35
--	SO_DEBUG                             = 0x1
--	SO_DETACH_BPF                        = 0x1b
--	SO_DETACH_FILTER                     = 0x1b
--	SO_DOMAIN                            = 0x27
--	SO_DONTROUTE                         = 0x5
--	SO_ERROR                             = 0x4
--	SO_GET_FILTER                        = 0x1a
--	SO_INCOMING_CPU                      = 0x31
--	SO_KEEPALIVE                         = 0x9
--	SO_LINGER                            = 0xd
--	SO_LOCK_FILTER                       = 0x2c
--	SO_MARK                              = 0x24
--	SO_MAX_PACING_RATE                   = 0x2f
--	SO_NOFCS                             = 0x2b
--	SO_NO_CHECK                          = 0xb
--	SO_OOBINLINE                         = 0xa
--	SO_PASSCRED                          = 0x10
--	SO_PASSSEC                           = 0x22
--	SO_PEEK_OFF                          = 0x2a
--	SO_PEERCRED                          = 0x11
--	SO_PEERNAME                          = 0x1c
--	SO_PEERSEC                           = 0x1f
--	SO_PRIORITY                          = 0xc
--	SO_PROTOCOL                          = 0x26
--	SO_RCVBUF                            = 0x8
--	SO_RCVBUFFORCE                       = 0x21
--	SO_RCVLOWAT                          = 0x12
--	SO_RCVTIMEO                          = 0x14
--	SO_REUSEADDR                         = 0x2
--	SO_REUSEPORT                         = 0xf
--	SO_RXQ_OVFL                          = 0x28
--	SO_SECURITY_AUTHENTICATION           = 0x16
--	SO_SECURITY_ENCRYPTION_NETWORK       = 0x18
--	SO_SECURITY_ENCRYPTION_TRANSPORT     = 0x17
--	SO_SELECT_ERR_QUEUE                  = 0x2d
--	SO_SNDBUF                            = 0x7
--	SO_SNDBUFFORCE                       = 0x20
--	SO_SNDLOWAT                          = 0x13
--	SO_SNDTIMEO                          = 0x15
--	SO_TIMESTAMP                         = 0x1d
--	SO_TIMESTAMPING                      = 0x25
--	SO_TIMESTAMPNS                       = 0x23
--	SO_TYPE                              = 0x3
--	SO_VM_SOCKETS_BUFFER_MAX_SIZE        = 0x2
--	SO_VM_SOCKETS_BUFFER_MIN_SIZE        = 0x1
--	SO_VM_SOCKETS_BUFFER_SIZE            = 0x0
--	SO_VM_SOCKETS_CONNECT_TIMEOUT        = 0x6
--	SO_VM_SOCKETS_NONBLOCK_TXRX          = 0x7
--	SO_VM_SOCKETS_PEER_HOST_VM_ID        = 0x3
--	SO_VM_SOCKETS_TRUSTED                = 0x5
--	SO_WIFI_STATUS                       = 0x29
--	SPLICE_F_GIFT                        = 0x8
--	SPLICE_F_MORE                        = 0x4
--	SPLICE_F_MOVE                        = 0x1
--	SPLICE_F_NONBLOCK                    = 0x2
--	S_BLKSIZE                            = 0x200
--	S_IEXEC                              = 0x40
--	S_IFBLK                              = 0x6000
--	S_IFCHR                              = 0x2000
--	S_IFDIR                              = 0x4000
--	S_IFIFO                              = 0x1000
--	S_IFLNK                              = 0xa000
--	S_IFMT                               = 0xf000
--	S_IFREG                              = 0x8000
--	S_IFSOCK                             = 0xc000
--	S_IREAD                              = 0x100
--	S_IRGRP                              = 0x20
--	S_IROTH                              = 0x4
--	S_IRUSR                              = 0x100
--	S_IRWXG                              = 0x38
--	S_IRWXO                              = 0x7
--	S_IRWXU                              = 0x1c0
--	S_ISGID                              = 0x400
--	S_ISUID                              = 0x800
--	S_ISVTX                              = 0x200
--	S_IWGRP                              = 0x10
--	S_IWOTH                              = 0x2
--	S_IWRITE                             = 0x80
--	S_IWUSR                              = 0x80
--	S_IXGRP                              = 0x8
--	S_IXOTH                              = 0x1
--	S_IXUSR                              = 0x40
--	TAB0                                 = 0x0
--	TAB1                                 = 0x800
--	TAB2                                 = 0x1000
--	TAB3                                 = 0x1800
--	TABDLY                               = 0x1800
--	TASKSTATS_CMD_ATTR_MAX               = 0x4
--	TASKSTATS_CMD_MAX                    = 0x2
--	TASKSTATS_GENL_NAME                  = "TASKSTATS"
--	TASKSTATS_GENL_VERSION               = 0x1
--	TASKSTATS_TYPE_MAX                   = 0x6
--	TASKSTATS_VERSION                    = 0x8
--	TCFLSH                               = 0x540b
--	TCGETA                               = 0x5405
--	TCGETS                               = 0x5401
--	TCGETS2                              = 0x802c542a
--	TCGETX                               = 0x5432
--	TCIFLUSH                             = 0x0
--	TCIOFF                               = 0x2
--	TCIOFLUSH                            = 0x2
--	TCION                                = 0x3
--	TCOFLUSH                             = 0x1
--	TCOOFF                               = 0x0
--	TCOON                                = 0x1
--	TCP_CC_INFO                          = 0x1a
--	TCP_CONGESTION                       = 0xd
--	TCP_COOKIE_IN_ALWAYS                 = 0x1
--	TCP_COOKIE_MAX                       = 0x10
--	TCP_COOKIE_MIN                       = 0x8
--	TCP_COOKIE_OUT_NEVER                 = 0x2
--	TCP_COOKIE_PAIR_SIZE                 = 0x20
--	TCP_COOKIE_TRANSACTIONS              = 0xf
--	TCP_CORK                             = 0x3
--	TCP_DEFER_ACCEPT                     = 0x9
--	TCP_FASTOPEN                         = 0x17
--	TCP_INFO                             = 0xb
--	TCP_KEEPCNT                          = 0x6
--	TCP_KEEPIDLE                         = 0x4
--	TCP_KEEPINTVL                        = 0x5
--	TCP_LINGER2                          = 0x8
--	TCP_MAXSEG                           = 0x2
--	TCP_MAXWIN                           = 0xffff
--	TCP_MAX_WINSHIFT                     = 0xe
--	TCP_MD5SIG                           = 0xe
--	TCP_MD5SIG_MAXKEYLEN                 = 0x50
--	TCP_MSS                              = 0x200
--	TCP_MSS_DEFAULT                      = 0x218
--	TCP_MSS_DESIRED                      = 0x4c4
--	TCP_NODELAY                          = 0x1
--	TCP_NOTSENT_LOWAT                    = 0x19
--	TCP_QUEUE_SEQ                        = 0x15
--	TCP_QUICKACK                         = 0xc
--	TCP_REPAIR                           = 0x13
--	TCP_REPAIR_OPTIONS                   = 0x16
--	TCP_REPAIR_QUEUE                     = 0x14
--	TCP_REPAIR_WINDOW                    = 0x1d
--	TCP_SAVED_SYN                        = 0x1c
--	TCP_SAVE_SYN                         = 0x1b
--	TCP_SYNCNT                           = 0x7
--	TCP_S_DATA_IN                        = 0x4
--	TCP_S_DATA_OUT                       = 0x8
--	TCP_THIN_DUPACK                      = 0x11
--	TCP_THIN_LINEAR_TIMEOUTS             = 0x10
--	TCP_TIMESTAMP                        = 0x18
--	TCP_USER_TIMEOUT                     = 0x12
--	TCP_WINDOW_CLAMP                     = 0xa
--	TCSAFLUSH                            = 0x2
--	TCSBRK                               = 0x5409
--	TCSBRKP                              = 0x5425
--	TCSETA                               = 0x5406
--	TCSETAF                              = 0x5408
--	TCSETAW                              = 0x5407
--	TCSETS                               = 0x5402
--	TCSETS2                              = 0x402c542b
--	TCSETSF                              = 0x5404
--	TCSETSF2                             = 0x402c542d
--	TCSETSW                              = 0x5403
--	TCSETSW2                             = 0x402c542c
--	TCSETX                               = 0x5433
--	TCSETXF                              = 0x5434
--	TCSETXW                              = 0x5435
--	TCXONC                               = 0x540a
--	TIOCCBRK                             = 0x5428
--	TIOCCONS                             = 0x541d
--	TIOCEXCL                             = 0x540c
--	TIOCGDEV                             = 0x80045432
--	TIOCGETD                             = 0x5424
--	TIOCGEXCL                            = 0x80045440
--	TIOCGICOUNT                          = 0x545d
--	TIOCGLCKTRMIOS                       = 0x5456
--	TIOCGPGRP                            = 0x540f
--	TIOCGPKT                             = 0x80045438
--	TIOCGPTLCK                           = 0x80045439
--	TIOCGPTN                             = 0x80045430
--	TIOCGRS485                           = 0x542e
--	TIOCGSERIAL                          = 0x541e
--	TIOCGSID                             = 0x5429
--	TIOCGSOFTCAR                         = 0x5419
--	TIOCGWINSZ                           = 0x5413
--	TIOCINQ                              = 0x541b
--	TIOCLINUX                            = 0x541c
--	TIOCMBIC                             = 0x5417
--	TIOCMBIS                             = 0x5416
--	TIOCMGET                             = 0x5415
--	TIOCMIWAIT                           = 0x545c
--	TIOCMSET                             = 0x5418
--	TIOCM_CAR                            = 0x40
--	TIOCM_CD                             = 0x40
--	TIOCM_CTS                            = 0x20
--	TIOCM_DSR                            = 0x100
--	TIOCM_DTR                            = 0x2
--	TIOCM_LE                             = 0x1
--	TIOCM_RI                             = 0x80
--	TIOCM_RNG                            = 0x80
--	TIOCM_RTS                            = 0x4
--	TIOCM_SR                             = 0x10
--	TIOCM_ST                             = 0x8
--	TIOCNOTTY                            = 0x5422
--	TIOCNXCL                             = 0x540d
--	TIOCOUTQ                             = 0x5411
--	TIOCPKT                              = 0x5420
--	TIOCPKT_DATA                         = 0x0
--	TIOCPKT_DOSTOP                       = 0x20
--	TIOCPKT_FLUSHREAD                    = 0x1
--	TIOCPKT_FLUSHWRITE                   = 0x2
--	TIOCPKT_IOCTL                        = 0x40
--	TIOCPKT_NOSTOP                       = 0x10
--	TIOCPKT_START                        = 0x8
--	TIOCPKT_STOP                         = 0x4
--	TIOCSBRK                             = 0x5427
--	TIOCSCTTY                            = 0x540e
--	TIOCSERCONFIG                        = 0x5453
--	TIOCSERGETLSR                        = 0x5459
--	TIOCSERGETMULTI                      = 0x545a
--	TIOCSERGSTRUCT                       = 0x5458
--	TIOCSERGWILD                         = 0x5454
--	TIOCSERSETMULTI                      = 0x545b
--	TIOCSERSWILD                         = 0x5455
--	TIOCSER_TEMT                         = 0x1
--	TIOCSETD                             = 0x5423
--	TIOCSIG                              = 0x40045436
--	TIOCSLCKTRMIOS                       = 0x5457
--	TIOCSPGRP                            = 0x5410
--	TIOCSPTLCK                           = 0x40045431
--	TIOCSRS485                           = 0x542f
--	TIOCSSERIAL                          = 0x541f
--	TIOCSSOFTCAR                         = 0x541a
--	TIOCSTI                              = 0x5412
--	TIOCSWINSZ                           = 0x5414
--	TIOCVHANGUP                          = 0x5437
--	TOSTOP                               = 0x100
--	TS_COMM_LEN                          = 0x20
--	TUNATTACHFILTER                      = 0x400854d5
--	TUNDETACHFILTER                      = 0x400854d6
--	TUNGETFEATURES                       = 0x800454cf
--	TUNGETFILTER                         = 0x800854db
--	TUNGETIFF                            = 0x800454d2
--	TUNGETSNDBUF                         = 0x800454d3
--	TUNGETVNETBE                         = 0x800454df
--	TUNGETVNETHDRSZ                      = 0x800454d7
--	TUNGETVNETLE                         = 0x800454dd
--	TUNSETDEBUG                          = 0x400454c9
--	TUNSETGROUP                          = 0x400454ce
--	TUNSETIFF                            = 0x400454ca
--	TUNSETIFINDEX                        = 0x400454da
--	TUNSETLINK                           = 0x400454cd
--	TUNSETNOCSUM                         = 0x400454c8
--	TUNSETOFFLOAD                        = 0x400454d0
--	TUNSETOWNER                          = 0x400454cc
--	TUNSETPERSIST                        = 0x400454cb
--	TUNSETQUEUE                          = 0x400454d9
--	TUNSETSNDBUF                         = 0x400454d4
--	TUNSETTXFILTER                       = 0x400454d1
--	TUNSETVNETBE                         = 0x400454de
--	TUNSETVNETHDRSZ                      = 0x400454d8
--	TUNSETVNETLE                         = 0x400454dc
--	UMOUNT_NOFOLLOW                      = 0x8
--	VDISCARD                             = 0xd
--	VEOF                                 = 0x4
--	VEOL                                 = 0xb
--	VEOL2                                = 0x10
--	VERASE                               = 0x2
--	VINTR                                = 0x0
--	VKILL                                = 0x3
--	VLNEXT                               = 0xf
--	VMADDR_CID_ANY                       = 0xffffffff
--	VMADDR_CID_HOST                      = 0x2
--	VMADDR_CID_HYPERVISOR                = 0x0
--	VMADDR_CID_RESERVED                  = 0x1
--	VMADDR_PORT_ANY                      = 0xffffffff
--	VMIN                                 = 0x6
--	VM_SOCKETS_INVALID_VERSION           = 0xffffffff
--	VQUIT                                = 0x1
--	VREPRINT                             = 0xc
--	VSTART                               = 0x8
--	VSTOP                                = 0x9
--	VSUSP                                = 0xa
--	VSWTC                                = 0x7
--	VT0                                  = 0x0
--	VT1                                  = 0x4000
--	VTDLY                                = 0x4000
--	VTIME                                = 0x5
--	VWERASE                              = 0xe
--	WALL                                 = 0x40000000
--	WCLONE                               = 0x80000000
--	WCONTINUED                           = 0x8
--	WEXITED                              = 0x4
--	WNOHANG                              = 0x1
--	WNOTHREAD                            = 0x20000000
--	WNOWAIT                              = 0x1000000
--	WORDSIZE                             = 0x20
--	WSTOPPED                             = 0x2
--	WUNTRACED                            = 0x2
--	XATTR_CREATE                         = 0x1
--	XATTR_REPLACE                        = 0x2
--	XCASE                                = 0x4
--	XTABS                                = 0x1800
-+	B1000000                         = 0x1008
-+	B115200                          = 0x1002
-+	B1152000                         = 0x1009
-+	B1500000                         = 0x100a
-+	B2000000                         = 0x100b
-+	B230400                          = 0x1003
-+	B2500000                         = 0x100c
-+	B3000000                         = 0x100d
-+	B3500000                         = 0x100e
-+	B4000000                         = 0x100f
-+	B460800                          = 0x1004
-+	B500000                          = 0x1005
-+	B57600                           = 0x1001
-+	B576000                          = 0x1006
-+	B921600                          = 0x1007
-+	BLKBSZGET                        = 0x80041270
-+	BLKBSZSET                        = 0x40041271
-+	BLKFLSBUF                        = 0x1261
-+	BLKFRAGET                        = 0x1265
-+	BLKFRASET                        = 0x1264
-+	BLKGETSIZE                       = 0x1260
-+	BLKGETSIZE64                     = 0x80041272
-+	BLKPBSZGET                       = 0x127b
-+	BLKRAGET                         = 0x1263
-+	BLKRASET                         = 0x1262
-+	BLKROGET                         = 0x125e
-+	BLKROSET                         = 0x125d
-+	BLKRRPART                        = 0x125f
-+	BLKSECTGET                       = 0x1267
-+	BLKSECTSET                       = 0x1266
-+	BLKSSZGET                        = 0x1268
-+	BOTHER                           = 0x1000
-+	BS1                              = 0x2000
-+	BSDLY                            = 0x2000
-+	CBAUD                            = 0x100f
-+	CBAUDEX                          = 0x1000
-+	CIBAUD                           = 0x100f0000
-+	CLOCAL                           = 0x800
-+	CR1                              = 0x200
-+	CR2                              = 0x400
-+	CR3                              = 0x600
-+	CRDLY                            = 0x600
-+	CREAD                            = 0x80
-+	CS6                              = 0x10
-+	CS7                              = 0x20
-+	CS8                              = 0x30
-+	CSIZE                            = 0x30
-+	CSTOPB                           = 0x40
-+	ECHOCTL                          = 0x200
-+	ECHOE                            = 0x10
-+	ECHOK                            = 0x20
-+	ECHOKE                           = 0x800
-+	ECHONL                           = 0x40
-+	ECHOPRT                          = 0x400
-+	EFD_CLOEXEC                      = 0x80000
-+	EFD_NONBLOCK                     = 0x800
-+	EPOLL_CLOEXEC                    = 0x80000
-+	EXTPROC                          = 0x10000
-+	FF1                              = 0x8000
-+	FFDLY                            = 0x8000
-+	FLUSHO                           = 0x1000
-+	FS_IOC_ENABLE_VERITY             = 0x40806685
-+	FS_IOC_GETFLAGS                  = 0x80046601
-+	FS_IOC_GET_ENCRYPTION_POLICY     = 0x400c6615
-+	FS_IOC_GET_ENCRYPTION_PWSALT     = 0x40106614
-+	FS_IOC_SET_ENCRYPTION_POLICY     = 0x800c6613
-+	F_GETLK                          = 0xc
-+	F_GETLK64                        = 0xc
-+	F_GETOWN                         = 0x9
-+	F_RDLCK                          = 0x0
-+	F_SETLK                          = 0xd
-+	F_SETLK64                        = 0xd
-+	F_SETLKW                         = 0xe
-+	F_SETLKW64                       = 0xe
-+	F_SETOWN                         = 0x8
-+	F_UNLCK                          = 0x2
-+	F_WRLCK                          = 0x1
-+	HUPCL                            = 0x400
-+	ICANON                           = 0x2
-+	IEXTEN                           = 0x8000
-+	IN_CLOEXEC                       = 0x80000
-+	IN_NONBLOCK                      = 0x800
-+	IOCTL_VM_SOCKETS_GET_LOCAL_CID   = 0x7b9
-+	ISIG                             = 0x1
-+	IUCLC                            = 0x200
-+	IXOFF                            = 0x1000
-+	IXON                             = 0x400
-+	MAP_ANON                         = 0x20
-+	MAP_ANONYMOUS                    = 0x20
-+	MAP_DENYWRITE                    = 0x800
-+	MAP_EXECUTABLE                   = 0x1000
-+	MAP_GROWSDOWN                    = 0x100
-+	MAP_HUGETLB                      = 0x40000
-+	MAP_LOCKED                       = 0x2000
-+	MAP_NONBLOCK                     = 0x10000
-+	MAP_NORESERVE                    = 0x4000
-+	MAP_POPULATE                     = 0x8000
-+	MAP_STACK                        = 0x20000
-+	MAP_SYNC                         = 0x80000
-+	MCL_CURRENT                      = 0x1
-+	MCL_FUTURE                       = 0x2
-+	MCL_ONFAULT                      = 0x4
-+	NFDBITS                          = 0x20
-+	NLDLY                            = 0x100
-+	NOFLSH                           = 0x80
-+	NS_GET_NSTYPE                    = 0xb703
-+	NS_GET_OWNER_UID                 = 0xb704
-+	NS_GET_PARENT                    = 0xb702
-+	NS_GET_USERNS                    = 0xb701
-+	OLCUC                            = 0x2
-+	ONLCR                            = 0x4
-+	O_APPEND                         = 0x400
-+	O_ASYNC                          = 0x2000
-+	O_CLOEXEC                        = 0x80000
-+	O_CREAT                          = 0x40
-+	O_DIRECT                         = 0x10000
-+	O_DIRECTORY                      = 0x4000
-+	O_DSYNC                          = 0x1000
-+	O_EXCL                           = 0x80
-+	O_FSYNC                          = 0x101000
-+	O_LARGEFILE                      = 0x20000
-+	O_NDELAY                         = 0x800
-+	O_NOATIME                        = 0x40000
-+	O_NOCTTY                         = 0x100
-+	O_NOFOLLOW                       = 0x8000
-+	O_NONBLOCK                       = 0x800
-+	O_PATH                           = 0x200000
-+	O_RSYNC                          = 0x101000
-+	O_SYNC                           = 0x101000
-+	O_TMPFILE                        = 0x404000
-+	O_TRUNC                          = 0x200
-+	PARENB                           = 0x100
-+	PARODD                           = 0x200
-+	PENDIN                           = 0x4000
-+	PERF_EVENT_IOC_DISABLE           = 0x2401
-+	PERF_EVENT_IOC_ENABLE            = 0x2400
-+	PERF_EVENT_IOC_ID                = 0x80042407
-+	PERF_EVENT_IOC_MODIFY_ATTRIBUTES = 0x4004240b
-+	PERF_EVENT_IOC_PAUSE_OUTPUT      = 0x40042409
-+	PERF_EVENT_IOC_PERIOD            = 0x40082404
-+	PERF_EVENT_IOC_QUERY_BPF         = 0xc004240a
-+	PERF_EVENT_IOC_REFRESH           = 0x2402
-+	PERF_EVENT_IOC_RESET             = 0x2403
-+	PERF_EVENT_IOC_SET_BPF           = 0x40042408
-+	PERF_EVENT_IOC_SET_FILTER        = 0x40042406
-+	PERF_EVENT_IOC_SET_OUTPUT        = 0x2405
-+	PPPIOCATTACH                     = 0x4004743d
-+	PPPIOCATTCHAN                    = 0x40047438
-+	PPPIOCCONNECT                    = 0x4004743a
-+	PPPIOCDETACH                     = 0x4004743c
-+	PPPIOCDISCONN                    = 0x7439
-+	PPPIOCGASYNCMAP                  = 0x80047458
-+	PPPIOCGCHAN                      = 0x80047437
-+	PPPIOCGDEBUG                     = 0x80047441
-+	PPPIOCGFLAGS                     = 0x8004745a
-+	PPPIOCGIDLE                      = 0x8008743f
-+	PPPIOCGIDLE32                    = 0x8008743f
-+	PPPIOCGIDLE64                    = 0x8010743f
-+	PPPIOCGL2TPSTATS                 = 0x80487436
-+	PPPIOCGMRU                       = 0x80047453
-+	PPPIOCGRASYNCMAP                 = 0x80047455
-+	PPPIOCGUNIT                      = 0x80047456
-+	PPPIOCGXASYNCMAP                 = 0x80207450
-+	PPPIOCSACTIVE                    = 0x40087446
-+	PPPIOCSASYNCMAP                  = 0x40047457
-+	PPPIOCSCOMPRESS                  = 0x400c744d
-+	PPPIOCSDEBUG                     = 0x40047440
-+	PPPIOCSFLAGS                     = 0x40047459
-+	PPPIOCSMAXCID                    = 0x40047451
-+	PPPIOCSMRRU                      = 0x4004743b
-+	PPPIOCSMRU                       = 0x40047452
-+	PPPIOCSNPMODE                    = 0x4008744b
-+	PPPIOCSPASS                      = 0x40087447
-+	PPPIOCSRASYNCMAP                 = 0x40047454
-+	PPPIOCSXASYNCMAP                 = 0x4020744f
-+	PPPIOCXFERUNIT                   = 0x744e
-+	PR_SET_PTRACER_ANY               = 0xffffffff
-+	PTRACE_GETCRUNCHREGS             = 0x19
-+	PTRACE_GETFDPIC                  = 0x1f
-+	PTRACE_GETFDPIC_EXEC             = 0x0
-+	PTRACE_GETFDPIC_INTERP           = 0x1
-+	PTRACE_GETFPREGS                 = 0xe
-+	PTRACE_GETHBPREGS                = 0x1d
-+	PTRACE_GETVFPREGS                = 0x1b
-+	PTRACE_GETWMMXREGS               = 0x12
-+	PTRACE_GET_THREAD_AREA           = 0x16
-+	PTRACE_OLDSETOPTIONS             = 0x15
-+	PTRACE_SETCRUNCHREGS             = 0x1a
-+	PTRACE_SETFPREGS                 = 0xf
-+	PTRACE_SETHBPREGS                = 0x1e
-+	PTRACE_SETVFPREGS                = 0x1c
-+	PTRACE_SETWMMXREGS               = 0x13
-+	PTRACE_SET_SYSCALL               = 0x17
-+	PT_DATA_ADDR                     = 0x10004
-+	PT_TEXT_ADDR                     = 0x10000
-+	PT_TEXT_END_ADDR                 = 0x10008
-+	RLIMIT_AS                        = 0x9
-+	RLIMIT_MEMLOCK                   = 0x8
-+	RLIMIT_NOFILE                    = 0x7
-+	RLIMIT_NPROC                     = 0x6
-+	RLIMIT_RSS                       = 0x5
-+	RNDADDENTROPY                    = 0x40085203
-+	RNDADDTOENTCNT                   = 0x40045201
-+	RNDCLEARPOOL                     = 0x5206
-+	RNDGETENTCNT                     = 0x80045200
-+	RNDGETPOOL                       = 0x80085202
-+	RNDRESEEDCRNG                    = 0x5207
-+	RNDZAPENTCNT                     = 0x5204
-+	RTC_AIE_OFF                      = 0x7002
-+	RTC_AIE_ON                       = 0x7001
-+	RTC_ALM_READ                     = 0x80247008
-+	RTC_ALM_SET                      = 0x40247007
-+	RTC_EPOCH_READ                   = 0x8004700d
-+	RTC_EPOCH_SET                    = 0x4004700e
-+	RTC_IRQP_READ                    = 0x8004700b
-+	RTC_IRQP_SET                     = 0x4004700c
-+	RTC_PIE_OFF                      = 0x7006
-+	RTC_PIE_ON                       = 0x7005
-+	RTC_PLL_GET                      = 0x801c7011
-+	RTC_PLL_SET                      = 0x401c7012
-+	RTC_RD_TIME                      = 0x80247009
-+	RTC_SET_TIME                     = 0x4024700a
-+	RTC_UIE_OFF                      = 0x7004
-+	RTC_UIE_ON                       = 0x7003
-+	RTC_VL_CLR                       = 0x7014
-+	RTC_VL_READ                      = 0x80047013
-+	RTC_WIE_OFF                      = 0x7010
-+	RTC_WIE_ON                       = 0x700f
-+	RTC_WKALM_RD                     = 0x80287010
-+	RTC_WKALM_SET                    = 0x4028700f
-+	SCM_TIMESTAMPING                 = 0x25
-+	SCM_TIMESTAMPING_OPT_STATS       = 0x36
-+	SCM_TIMESTAMPING_PKTINFO         = 0x3a
-+	SCM_TIMESTAMPNS                  = 0x23
-+	SCM_TXTIME                       = 0x3d
-+	SCM_WIFI_STATUS                  = 0x29
-+	SFD_CLOEXEC                      = 0x80000
-+	SFD_NONBLOCK                     = 0x800
-+	SIOCATMARK                       = 0x8905
-+	SIOCGPGRP                        = 0x8904
-+	SIOCGSTAMPNS_NEW                 = 0x80108907
-+	SIOCGSTAMP_NEW                   = 0x80108906
-+	SIOCINQ                          = 0x541b
-+	SIOCOUTQ                         = 0x5411
-+	SIOCSPGRP                        = 0x8902
-+	SOCK_CLOEXEC                     = 0x80000
-+	SOCK_DGRAM                       = 0x2
-+	SOCK_NONBLOCK                    = 0x800
-+	SOCK_STREAM                      = 0x1
-+	SOL_SOCKET                       = 0x1
-+	SO_ACCEPTCONN                    = 0x1e
-+	SO_ATTACH_BPF                    = 0x32
-+	SO_ATTACH_REUSEPORT_CBPF         = 0x33
-+	SO_ATTACH_REUSEPORT_EBPF         = 0x34
-+	SO_BINDTODEVICE                  = 0x19
-+	SO_BINDTOIFINDEX                 = 0x3e
-+	SO_BPF_EXTENSIONS                = 0x30
-+	SO_BROADCAST                     = 0x6
-+	SO_BSDCOMPAT                     = 0xe
-+	SO_BUSY_POLL                     = 0x2e
-+	SO_CNX_ADVICE                    = 0x35
-+	SO_COOKIE                        = 0x39
-+	SO_DETACH_REUSEPORT_BPF          = 0x44
-+	SO_DOMAIN                        = 0x27
-+	SO_DONTROUTE                     = 0x5
-+	SO_ERROR                         = 0x4
-+	SO_INCOMING_CPU                  = 0x31
-+	SO_INCOMING_NAPI_ID              = 0x38
-+	SO_KEEPALIVE                     = 0x9
-+	SO_LINGER                        = 0xd
-+	SO_LOCK_FILTER                   = 0x2c
-+	SO_MARK                          = 0x24
-+	SO_MAX_PACING_RATE               = 0x2f
-+	SO_MEMINFO                       = 0x37
-+	SO_NOFCS                         = 0x2b
-+	SO_OOBINLINE                     = 0xa
-+	SO_PASSCRED                      = 0x10
-+	SO_PASSSEC                       = 0x22
-+	SO_PEEK_OFF                      = 0x2a
-+	SO_PEERCRED                      = 0x11
-+	SO_PEERGROUPS                    = 0x3b
-+	SO_PEERSEC                       = 0x1f
-+	SO_PROTOCOL                      = 0x26
-+	SO_RCVBUF                        = 0x8
-+	SO_RCVBUFFORCE                   = 0x21
-+	SO_RCVLOWAT                      = 0x12
-+	SO_RCVTIMEO                      = 0x14
-+	SO_RCVTIMEO_NEW                  = 0x42
-+	SO_RCVTIMEO_OLD                  = 0x14
-+	SO_REUSEADDR                     = 0x2
-+	SO_REUSEPORT                     = 0xf
-+	SO_RXQ_OVFL                      = 0x28
-+	SO_SECURITY_AUTHENTICATION       = 0x16
-+	SO_SECURITY_ENCRYPTION_NETWORK   = 0x18
-+	SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17
-+	SO_SELECT_ERR_QUEUE              = 0x2d
-+	SO_SNDBUF                        = 0x7
-+	SO_SNDBUFFORCE                   = 0x20
-+	SO_SNDLOWAT                      = 0x13
-+	SO_SNDTIMEO                      = 0x15
-+	SO_SNDTIMEO_NEW                  = 0x43
-+	SO_SNDTIMEO_OLD                  = 0x15
-+	SO_TIMESTAMPING                  = 0x25
-+	SO_TIMESTAMPING_NEW              = 0x41
-+	SO_TIMESTAMPING_OLD              = 0x25
-+	SO_TIMESTAMPNS                   = 0x23
-+	SO_TIMESTAMPNS_NEW               = 0x40
-+	SO_TIMESTAMPNS_OLD               = 0x23
-+	SO_TIMESTAMP_NEW                 = 0x3f
-+	SO_TXTIME                        = 0x3d
-+	SO_TYPE                          = 0x3
-+	SO_WIFI_STATUS                   = 0x29
-+	SO_ZEROCOPY                      = 0x3c
-+	TAB1                             = 0x800
-+	TAB2                             = 0x1000
-+	TAB3                             = 0x1800
-+	TABDLY                           = 0x1800
-+	TCFLSH                           = 0x540b
-+	TCGETA                           = 0x5405
-+	TCGETS                           = 0x5401
-+	TCGETS2                          = 0x802c542a
-+	TCGETX                           = 0x5432
-+	TCSAFLUSH                        = 0x2
-+	TCSBRK                           = 0x5409
-+	TCSBRKP                          = 0x5425
-+	TCSETA                           = 0x5406
-+	TCSETAF                          = 0x5408
-+	TCSETAW                          = 0x5407
-+	TCSETS                           = 0x5402
-+	TCSETS2                          = 0x402c542b
-+	TCSETSF                          = 0x5404
-+	TCSETSF2                         = 0x402c542d
-+	TCSETSW                          = 0x5403
-+	TCSETSW2                         = 0x402c542c
-+	TCSETX                           = 0x5433
-+	TCSETXF                          = 0x5434
-+	TCSETXW                          = 0x5435
-+	TCXONC                           = 0x540a
-+	TIOCCBRK                         = 0x5428
-+	TIOCCONS                         = 0x541d
-+	TIOCEXCL                         = 0x540c
-+	TIOCGDEV                         = 0x80045432
-+	TIOCGETD                         = 0x5424
-+	TIOCGEXCL                        = 0x80045440
-+	TIOCGICOUNT                      = 0x545d
-+	TIOCGISO7816                     = 0x80285442
-+	TIOCGLCKTRMIOS                   = 0x5456
-+	TIOCGPGRP                        = 0x540f
-+	TIOCGPKT                         = 0x80045438
-+	TIOCGPTLCK                       = 0x80045439
-+	TIOCGPTN                         = 0x80045430
-+	TIOCGPTPEER                      = 0x5441
-+	TIOCGRS485                       = 0x542e
-+	TIOCGSERIAL                      = 0x541e
-+	TIOCGSID                         = 0x5429
-+	TIOCGSOFTCAR                     = 0x5419
-+	TIOCGWINSZ                       = 0x5413
-+	TIOCINQ                          = 0x541b
-+	TIOCLINUX                        = 0x541c
-+	TIOCMBIC                         = 0x5417
-+	TIOCMBIS                         = 0x5416
-+	TIOCMGET                         = 0x5415
-+	TIOCMIWAIT                       = 0x545c
-+	TIOCMSET                         = 0x5418
-+	TIOCM_CAR                        = 0x40
-+	TIOCM_CD                         = 0x40
-+	TIOCM_CTS                        = 0x20
-+	TIOCM_DSR                        = 0x100
-+	TIOCM_RI                         = 0x80
-+	TIOCM_RNG                        = 0x80
-+	TIOCM_SR                         = 0x10
-+	TIOCM_ST                         = 0x8
-+	TIOCNOTTY                        = 0x5422
-+	TIOCNXCL                         = 0x540d
-+	TIOCOUTQ                         = 0x5411
-+	TIOCPKT                          = 0x5420
-+	TIOCSBRK                         = 0x5427
-+	TIOCSCTTY                        = 0x540e
-+	TIOCSERCONFIG                    = 0x5453
-+	TIOCSERGETLSR                    = 0x5459
-+	TIOCSERGETMULTI                  = 0x545a
-+	TIOCSERGSTRUCT                   = 0x5458
-+	TIOCSERGWILD                     = 0x5454
-+	TIOCSERSETMULTI                  = 0x545b
-+	TIOCSERSWILD                     = 0x5455
-+	TIOCSER_TEMT                     = 0x1
-+	TIOCSETD                         = 0x5423
-+	TIOCSIG                          = 0x40045436
-+	TIOCSISO7816                     = 0xc0285443
-+	TIOCSLCKTRMIOS                   = 0x5457
-+	TIOCSPGRP                        = 0x5410
-+	TIOCSPTLCK                       = 0x40045431
-+	TIOCSRS485                       = 0x542f
-+	TIOCSSERIAL                      = 0x541f
-+	TIOCSSOFTCAR                     = 0x541a
-+	TIOCSTI                          = 0x5412
-+	TIOCSWINSZ                       = 0x5414
-+	TIOCVHANGUP                      = 0x5437
-+	TOSTOP                           = 0x100
-+	TUNATTACHFILTER                  = 0x400854d5
-+	TUNDETACHFILTER                  = 0x400854d6
-+	TUNGETDEVNETNS                   = 0x54e3
-+	TUNGETFEATURES                   = 0x800454cf
-+	TUNGETFILTER                     = 0x800854db
-+	TUNGETIFF                        = 0x800454d2
-+	TUNGETSNDBUF                     = 0x800454d3
-+	TUNGETVNETBE                     = 0x800454df
-+	TUNGETVNETHDRSZ                  = 0x800454d7
-+	TUNGETVNETLE                     = 0x800454dd
-+	TUNSETCARRIER                    = 0x400454e2
-+	TUNSETDEBUG                      = 0x400454c9
-+	TUNSETFILTEREBPF                 = 0x800454e1
-+	TUNSETGROUP                      = 0x400454ce
-+	TUNSETIFF                        = 0x400454ca
-+	TUNSETIFINDEX                    = 0x400454da
-+	TUNSETLINK                       = 0x400454cd
-+	TUNSETNOCSUM                     = 0x400454c8
-+	TUNSETOFFLOAD                    = 0x400454d0
-+	TUNSETOWNER                      = 0x400454cc
-+	TUNSETPERSIST                    = 0x400454cb
-+	TUNSETQUEUE                      = 0x400454d9
-+	TUNSETSNDBUF                     = 0x400454d4
-+	TUNSETSTEERINGEBPF               = 0x800454e0
-+	TUNSETTXFILTER                   = 0x400454d1
-+	TUNSETVNETBE                     = 0x400454de
-+	TUNSETVNETHDRSZ                  = 0x400454d8
-+	TUNSETVNETLE                     = 0x400454dc
-+	UBI_IOCATT                       = 0x40186f40
-+	UBI_IOCDET                       = 0x40046f41
-+	UBI_IOCEBCH                      = 0x40044f02
-+	UBI_IOCEBER                      = 0x40044f01
-+	UBI_IOCEBISMAP                   = 0x80044f05
-+	UBI_IOCEBMAP                     = 0x40084f03
-+	UBI_IOCEBUNMAP                   = 0x40044f04
-+	UBI_IOCMKVOL                     = 0x40986f00
-+	UBI_IOCRMVOL                     = 0x40046f01
-+	UBI_IOCRNVOL                     = 0x51106f03
-+	UBI_IOCRPEB                      = 0x40046f04
-+	UBI_IOCRSVOL                     = 0x400c6f02
-+	UBI_IOCSETVOLPROP                = 0x40104f06
-+	UBI_IOCSPEB                      = 0x40046f05
-+	UBI_IOCVOLCRBLK                  = 0x40804f07
-+	UBI_IOCVOLRMBLK                  = 0x4f08
-+	UBI_IOCVOLUP                     = 0x40084f00
-+	VDISCARD                         = 0xd
-+	VEOF                             = 0x4
-+	VEOL                             = 0xb
-+	VEOL2                            = 0x10
-+	VMIN                             = 0x6
-+	VREPRINT                         = 0xc
-+	VSTART                           = 0x8
-+	VSTOP                            = 0x9
-+	VSUSP                            = 0xa
-+	VSWTC                            = 0x7
-+	VT1                              = 0x4000
-+	VTDLY                            = 0x4000
-+	VTIME                            = 0x5
-+	VWERASE                          = 0xe
-+	WDIOC_GETBOOTSTATUS              = 0x80045702
-+	WDIOC_GETPRETIMEOUT              = 0x80045709
-+	WDIOC_GETSTATUS                  = 0x80045701
-+	WDIOC_GETSUPPORT                 = 0x80285700
-+	WDIOC_GETTEMP                    = 0x80045703
-+	WDIOC_GETTIMELEFT                = 0x8004570a
-+	WDIOC_GETTIMEOUT                 = 0x80045707
-+	WDIOC_KEEPALIVE                  = 0x80045705
-+	WDIOC_SETOPTIONS                 = 0x80045704
-+	WORDSIZE                         = 0x20
-+	XCASE                            = 0x4
-+	XTABS                            = 0x1800
- )
- 
- // Errors
- const (
--	E2BIG           = syscall.Errno(0x7)
--	EACCES          = syscall.Errno(0xd)
- 	EADDRINUSE      = syscall.Errno(0x62)
- 	EADDRNOTAVAIL   = syscall.Errno(0x63)
- 	EADV            = syscall.Errno(0x44)
- 	EAFNOSUPPORT    = syscall.Errno(0x61)
--	EAGAIN          = syscall.Errno(0xb)
- 	EALREADY        = syscall.Errno(0x72)
- 	EBADE           = syscall.Errno(0x34)
--	EBADF           = syscall.Errno(0x9)
- 	EBADFD          = syscall.Errno(0x4d)
- 	EBADMSG         = syscall.Errno(0x4a)
- 	EBADR           = syscall.Errno(0x35)
- 	EBADRQC         = syscall.Errno(0x38)
- 	EBADSLT         = syscall.Errno(0x39)
- 	EBFONT          = syscall.Errno(0x3b)
--	EBUSY           = syscall.Errno(0x10)
- 	ECANCELED       = syscall.Errno(0x7d)
--	ECHILD          = syscall.Errno(0xa)
- 	ECHRNG          = syscall.Errno(0x2c)
- 	ECOMM           = syscall.Errno(0x46)
- 	ECONNABORTED    = syscall.Errno(0x67)
-@@ -1886,23 +506,15 @@ const (
- 	EDEADLK         = syscall.Errno(0x23)
- 	EDEADLOCK       = syscall.Errno(0x23)
- 	EDESTADDRREQ    = syscall.Errno(0x59)
--	EDOM            = syscall.Errno(0x21)
- 	EDOTDOT         = syscall.Errno(0x49)
- 	EDQUOT          = syscall.Errno(0x7a)
--	EEXIST          = syscall.Errno(0x11)
--	EFAULT          = syscall.Errno(0xe)
--	EFBIG           = syscall.Errno(0x1b)
- 	EHOSTDOWN       = syscall.Errno(0x70)
- 	EHOSTUNREACH    = syscall.Errno(0x71)
- 	EHWPOISON       = syscall.Errno(0x85)
- 	EIDRM           = syscall.Errno(0x2b)
- 	EILSEQ          = syscall.Errno(0x54)
- 	EINPROGRESS     = syscall.Errno(0x73)
--	EINTR           = syscall.Errno(0x4)
--	EINVAL          = syscall.Errno(0x16)
--	EIO             = syscall.Errno(0x5)
- 	EISCONN         = syscall.Errno(0x6a)
--	EISDIR          = syscall.Errno(0x15)
- 	EISNAM          = syscall.Errno(0x78)
- 	EKEYEXPIRED     = syscall.Errno(0x7f)
- 	EKEYREJECTED    = syscall.Errno(0x81)
-@@ -1919,8 +531,6 @@ const (
- 	ELNRNG          = syscall.Errno(0x30)
- 	ELOOP           = syscall.Errno(0x28)
- 	EMEDIUMTYPE     = syscall.Errno(0x7c)
--	EMFILE          = syscall.Errno(0x18)
--	EMLINK          = syscall.Errno(0x1f)
- 	EMSGSIZE        = syscall.Errno(0x5a)
- 	EMULTIHOP       = syscall.Errno(0x48)
- 	ENAMETOOLONG    = syscall.Errno(0x24)
-@@ -1928,103 +538,70 @@ const (
- 	ENETDOWN        = syscall.Errno(0x64)
- 	ENETRESET       = syscall.Errno(0x66)
- 	ENETUNREACH     = syscall.Errno(0x65)
--	ENFILE          = syscall.Errno(0x17)
- 	ENOANO          = syscall.Errno(0x37)
- 	ENOBUFS         = syscall.Errno(0x69)
- 	ENOCSI          = syscall.Errno(0x32)
- 	ENODATA         = syscall.Errno(0x3d)
--	ENODEV          = syscall.Errno(0x13)
--	ENOENT          = syscall.Errno(0x2)
--	ENOEXEC         = syscall.Errno(0x8)
- 	ENOKEY          = syscall.Errno(0x7e)
- 	ENOLCK          = syscall.Errno(0x25)
- 	ENOLINK         = syscall.Errno(0x43)
- 	ENOMEDIUM       = syscall.Errno(0x7b)
--	ENOMEM          = syscall.Errno(0xc)
- 	ENOMSG          = syscall.Errno(0x2a)
- 	ENONET          = syscall.Errno(0x40)
- 	ENOPKG          = syscall.Errno(0x41)
- 	ENOPROTOOPT     = syscall.Errno(0x5c)
--	ENOSPC          = syscall.Errno(0x1c)
- 	ENOSR           = syscall.Errno(0x3f)
- 	ENOSTR          = syscall.Errno(0x3c)
- 	ENOSYS          = syscall.Errno(0x26)
--	ENOTBLK         = syscall.Errno(0xf)
- 	ENOTCONN        = syscall.Errno(0x6b)
--	ENOTDIR         = syscall.Errno(0x14)
- 	ENOTEMPTY       = syscall.Errno(0x27)
- 	ENOTNAM         = syscall.Errno(0x76)
- 	ENOTRECOVERABLE = syscall.Errno(0x83)
- 	ENOTSOCK        = syscall.Errno(0x58)
- 	ENOTSUP         = syscall.Errno(0x5f)
--	ENOTTY          = syscall.Errno(0x19)
- 	ENOTUNIQ        = syscall.Errno(0x4c)
--	ENXIO           = syscall.Errno(0x6)
- 	EOPNOTSUPP      = syscall.Errno(0x5f)
- 	EOVERFLOW       = syscall.Errno(0x4b)
- 	EOWNERDEAD      = syscall.Errno(0x82)
--	EPERM           = syscall.Errno(0x1)
- 	EPFNOSUPPORT    = syscall.Errno(0x60)
--	EPIPE           = syscall.Errno(0x20)
- 	EPROTO          = syscall.Errno(0x47)
- 	EPROTONOSUPPORT = syscall.Errno(0x5d)
- 	EPROTOTYPE      = syscall.Errno(0x5b)
--	ERANGE          = syscall.Errno(0x22)
- 	EREMCHG         = syscall.Errno(0x4e)
- 	EREMOTE         = syscall.Errno(0x42)
- 	EREMOTEIO       = syscall.Errno(0x79)
- 	ERESTART        = syscall.Errno(0x55)
- 	ERFKILL         = syscall.Errno(0x84)
--	EROFS           = syscall.Errno(0x1e)
- 	ESHUTDOWN       = syscall.Errno(0x6c)
- 	ESOCKTNOSUPPORT = syscall.Errno(0x5e)
--	ESPIPE          = syscall.Errno(0x1d)
--	ESRCH           = syscall.Errno(0x3)
- 	ESRMNT          = syscall.Errno(0x45)
- 	ESTALE          = syscall.Errno(0x74)
- 	ESTRPIPE        = syscall.Errno(0x56)
- 	ETIME           = syscall.Errno(0x3e)
- 	ETIMEDOUT       = syscall.Errno(0x6e)
- 	ETOOMANYREFS    = syscall.Errno(0x6d)
--	ETXTBSY         = syscall.Errno(0x1a)
- 	EUCLEAN         = syscall.Errno(0x75)
- 	EUNATCH         = syscall.Errno(0x31)
- 	EUSERS          = syscall.Errno(0x57)
--	EWOULDBLOCK     = syscall.Errno(0xb)
--	EXDEV           = syscall.Errno(0x12)
- 	EXFULL          = syscall.Errno(0x36)
- )
- 
- // Signals
- const (
--	SIGABRT   = syscall.Signal(0x6)
--	SIGALRM   = syscall.Signal(0xe)
- 	SIGBUS    = syscall.Signal(0x7)
- 	SIGCHLD   = syscall.Signal(0x11)
- 	SIGCLD    = syscall.Signal(0x11)
- 	SIGCONT   = syscall.Signal(0x12)
--	SIGFPE    = syscall.Signal(0x8)
--	SIGHUP    = syscall.Signal(0x1)
--	SIGILL    = syscall.Signal(0x4)
--	SIGINT    = syscall.Signal(0x2)
- 	SIGIO     = syscall.Signal(0x1d)
--	SIGIOT    = syscall.Signal(0x6)
--	SIGKILL   = syscall.Signal(0x9)
--	SIGPIPE   = syscall.Signal(0xd)
- 	SIGPOLL   = syscall.Signal(0x1d)
- 	SIGPROF   = syscall.Signal(0x1b)
- 	SIGPWR    = syscall.Signal(0x1e)
--	SIGQUIT   = syscall.Signal(0x3)
--	SIGSEGV   = syscall.Signal(0xb)
- 	SIGSTKFLT = syscall.Signal(0x10)
- 	SIGSTOP   = syscall.Signal(0x13)
- 	SIGSYS    = syscall.Signal(0x1f)
--	SIGTERM   = syscall.Signal(0xf)
--	SIGTRAP   = syscall.Signal(0x5)
- 	SIGTSTP   = syscall.Signal(0x14)
- 	SIGTTIN   = syscall.Signal(0x15)
- 	SIGTTOU   = syscall.Signal(0x16)
--	SIGUNUSED = syscall.Signal(0x1f)
- 	SIGURG    = syscall.Signal(0x17)
- 	SIGUSR1   = syscall.Signal(0xa)
- 	SIGUSR2   = syscall.Signal(0xc)
-@@ -2035,171 +612,179 @@ const (
- )
- 
- // Error table
--var errors = [...]string{
--	1:   "operation not permitted",
--	2:   "no such file or directory",
--	3:   "no such process",
--	4:   "interrupted system call",
--	5:   "input/output error",
--	6:   "no such device or address",
--	7:   "argument list too long",
--	8:   "exec format error",
--	9:   "bad file descriptor",
--	10:  "no child processes",
--	11:  "resource temporarily unavailable",
--	12:  "cannot allocate memory",
--	13:  "permission denied",
--	14:  "bad address",
--	15:  "block device required",
--	16:  "device or resource busy",
--	17:  "file exists",
--	18:  "invalid cross-device link",
--	19:  "no such device",
--	20:  "not a directory",
--	21:  "is a directory",
--	22:  "invalid argument",
--	23:  "too many open files in system",
--	24:  "too many open files",
--	25:  "inappropriate ioctl for device",
--	26:  "text file busy",
--	27:  "file too large",
--	28:  "no space left on device",
--	29:  "illegal seek",
--	30:  "read-only file system",
--	31:  "too many links",
--	32:  "broken pipe",
--	33:  "numerical argument out of domain",
--	34:  "numerical result out of range",
--	35:  "resource deadlock avoided",
--	36:  "file name too long",
--	37:  "no locks available",
--	38:  "function not implemented",
--	39:  "directory not empty",
--	40:  "too many levels of symbolic links",
--	42:  "no message of desired type",
--	43:  "identifier removed",
--	44:  "channel number out of range",
--	45:  "level 2 not synchronized",
--	46:  "level 3 halted",
--	47:  "level 3 reset",
--	48:  "link number out of range",
--	49:  "protocol driver not attached",
--	50:  "no CSI structure available",
--	51:  "level 2 halted",
--	52:  "invalid exchange",
--	53:  "invalid request descriptor",
--	54:  "exchange full",
--	55:  "no anode",
--	56:  "invalid request code",
--	57:  "invalid slot",
--	59:  "bad font file format",
--	60:  "device not a stream",
--	61:  "no data available",
--	62:  "timer expired",
--	63:  "out of streams resources",
--	64:  "machine is not on the network",
--	65:  "package not installed",
--	66:  "object is remote",
--	67:  "link has been severed",
--	68:  "advertise error",
--	69:  "srmount error",
--	70:  "communication error on send",
--	71:  "protocol error",
--	72:  "multihop attempted",
--	73:  "RFS specific error",
--	74:  "bad message",
--	75:  "value too large for defined data type",
--	76:  "name not unique on network",
--	77:  "file descriptor in bad state",
--	78:  "remote address changed",
--	79:  "can not access a needed shared library",
--	80:  "accessing a corrupted shared library",
--	81:  ".lib section in a.out corrupted",
--	82:  "attempting to link in too many shared libraries",
--	83:  "cannot exec a shared library directly",
--	84:  "invalid or incomplete multibyte or wide character",
--	85:  "interrupted system call should be restarted",
--	86:  "streams pipe error",
--	87:  "too many users",
--	88:  "socket operation on non-socket",
--	89:  "destination address required",
--	90:  "message too long",
--	91:  "protocol wrong type for socket",
--	92:  "protocol not available",
--	93:  "protocol not supported",
--	94:  "socket type not supported",
--	95:  "operation not supported",
--	96:  "protocol family not supported",
--	97:  "address family not supported by protocol",
--	98:  "address already in use",
--	99:  "cannot assign requested address",
--	100: "network is down",
--	101: "network is unreachable",
--	102: "network dropped connection on reset",
--	103: "software caused connection abort",
--	104: "connection reset by peer",
--	105: "no buffer space available",
--	106: "transport endpoint is already connected",
--	107: "transport endpoint is not connected",
--	108: "cannot send after transport endpoint shutdown",
--	109: "too many references: cannot splice",
--	110: "connection timed out",
--	111: "connection refused",
--	112: "host is down",
--	113: "no route to host",
--	114: "operation already in progress",
--	115: "operation now in progress",
--	116: "stale file handle",
--	117: "structure needs cleaning",
--	118: "not a XENIX named type file",
--	119: "no XENIX semaphores available",
--	120: "is a named type file",
--	121: "remote I/O error",
--	122: "disk quota exceeded",
--	123: "no medium found",
--	124: "wrong medium type",
--	125: "operation canceled",
--	126: "required key not available",
--	127: "key has expired",
--	128: "key has been revoked",
--	129: "key was rejected by service",
--	130: "owner died",
--	131: "state not recoverable",
--	132: "operation not possible due to RF-kill",
--	133: "memory page has hardware error",
-+var errorList = [...]struct {
-+	num  syscall.Errno
-+	name string
-+	desc string
-+}{
-+	{1, "EPERM", "operation not permitted"},
-+	{2, "ENOENT", "no such file or directory"},
-+	{3, "ESRCH", "no such process"},
-+	{4, "EINTR", "interrupted system call"},
-+	{5, "EIO", "input/output error"},
-+	{6, "ENXIO", "no such device or address"},
-+	{7, "E2BIG", "argument list too long"},
-+	{8, "ENOEXEC", "exec format error"},
-+	{9, "EBADF", "bad file descriptor"},
-+	{10, "ECHILD", "no child processes"},
-+	{11, "EAGAIN", "resource temporarily unavailable"},
-+	{12, "ENOMEM", "cannot allocate memory"},
-+	{13, "EACCES", "permission denied"},
-+	{14, "EFAULT", "bad address"},
-+	{15, "ENOTBLK", "block device required"},
-+	{16, "EBUSY", "device or resource busy"},
-+	{17, "EEXIST", "file exists"},
-+	{18, "EXDEV", "invalid cross-device link"},
-+	{19, "ENODEV", "no such device"},
-+	{20, "ENOTDIR", "not a directory"},
-+	{21, "EISDIR", "is a directory"},
-+	{22, "EINVAL", "invalid argument"},
-+	{23, "ENFILE", "too many open files in system"},
-+	{24, "EMFILE", "too many open files"},
-+	{25, "ENOTTY", "inappropriate ioctl for device"},
-+	{26, "ETXTBSY", "text file busy"},
-+	{27, "EFBIG", "file too large"},
-+	{28, "ENOSPC", "no space left on device"},
-+	{29, "ESPIPE", "illegal seek"},
-+	{30, "EROFS", "read-only file system"},
-+	{31, "EMLINK", "too many links"},
-+	{32, "EPIPE", "broken pipe"},
-+	{33, "EDOM", "numerical argument out of domain"},
-+	{34, "ERANGE", "numerical result out of range"},
-+	{35, "EDEADLK", "resource deadlock avoided"},
-+	{36, "ENAMETOOLONG", "file name too long"},
-+	{37, "ENOLCK", "no locks available"},
-+	{38, "ENOSYS", "function not implemented"},
-+	{39, "ENOTEMPTY", "directory not empty"},
-+	{40, "ELOOP", "too many levels of symbolic links"},
-+	{42, "ENOMSG", "no message of desired type"},
-+	{43, "EIDRM", "identifier removed"},
-+	{44, "ECHRNG", "channel number out of range"},
-+	{45, "EL2NSYNC", "level 2 not synchronized"},
-+	{46, "EL3HLT", "level 3 halted"},
-+	{47, "EL3RST", "level 3 reset"},
-+	{48, "ELNRNG", "link number out of range"},
-+	{49, "EUNATCH", "protocol driver not attached"},
-+	{50, "ENOCSI", "no CSI structure available"},
-+	{51, "EL2HLT", "level 2 halted"},
-+	{52, "EBADE", "invalid exchange"},
-+	{53, "EBADR", "invalid request descriptor"},
-+	{54, "EXFULL", "exchange full"},
-+	{55, "ENOANO", "no anode"},
-+	{56, "EBADRQC", "invalid request code"},
-+	{57, "EBADSLT", "invalid slot"},
-+	{59, "EBFONT", "bad font file format"},
-+	{60, "ENOSTR", "device not a stream"},
-+	{61, "ENODATA", "no data available"},
-+	{62, "ETIME", "timer expired"},
-+	{63, "ENOSR", "out of streams resources"},
-+	{64, "ENONET", "machine is not on the network"},
-+	{65, "ENOPKG", "package not installed"},
-+	{66, "EREMOTE", "object is remote"},
-+	{67, "ENOLINK", "link has been severed"},
-+	{68, "EADV", "advertise error"},
-+	{69, "ESRMNT", "srmount error"},
-+	{70, "ECOMM", "communication error on send"},
-+	{71, "EPROTO", "protocol error"},
-+	{72, "EMULTIHOP", "multihop attempted"},
-+	{73, "EDOTDOT", "RFS specific error"},
-+	{74, "EBADMSG", "bad message"},
-+	{75, "EOVERFLOW", "value too large for defined data type"},
-+	{76, "ENOTUNIQ", "name not unique on network"},
-+	{77, "EBADFD", "file descriptor in bad state"},
-+	{78, "EREMCHG", "remote address changed"},
-+	{79, "ELIBACC", "can not access a needed shared library"},
-+	{80, "ELIBBAD", "accessing a corrupted shared library"},
-+	{81, "ELIBSCN", ".lib section in a.out corrupted"},
-+	{82, "ELIBMAX", "attempting to link in too many shared libraries"},
-+	{83, "ELIBEXEC", "cannot exec a shared library directly"},
-+	{84, "EILSEQ", "invalid or incomplete multibyte or wide character"},
-+	{85, "ERESTART", "interrupted system call should be restarted"},
-+	{86, "ESTRPIPE", "streams pipe error"},
-+	{87, "EUSERS", "too many users"},
-+	{88, "ENOTSOCK", "socket operation on non-socket"},
-+	{89, "EDESTADDRREQ", "destination address required"},
-+	{90, "EMSGSIZE", "message too long"},
-+	{91, "EPROTOTYPE", "protocol wrong type for socket"},
-+	{92, "ENOPROTOOPT", "protocol not available"},
-+	{93, "EPROTONOSUPPORT", "protocol not supported"},
-+	{94, "ESOCKTNOSUPPORT", "socket type not supported"},
-+	{95, "ENOTSUP", "operation not supported"},
-+	{96, "EPFNOSUPPORT", "protocol family not supported"},
-+	{97, "EAFNOSUPPORT", "address family not supported by protocol"},
-+	{98, "EADDRINUSE", "address already in use"},
-+	{99, "EADDRNOTAVAIL", "cannot assign requested address"},
-+	{100, "ENETDOWN", "network is down"},
-+	{101, "ENETUNREACH", "network is unreachable"},
-+	{102, "ENETRESET", "network dropped connection on reset"},
-+	{103, "ECONNABORTED", "software caused connection abort"},
-+	{104, "ECONNRESET", "connection reset by peer"},
-+	{105, "ENOBUFS", "no buffer space available"},
-+	{106, "EISCONN", "transport endpoint is already connected"},
-+	{107, "ENOTCONN", "transport endpoint is not connected"},
-+	{108, "ESHUTDOWN", "cannot send after transport endpoint shutdown"},
-+	{109, "ETOOMANYREFS", "too many references: cannot splice"},
-+	{110, "ETIMEDOUT", "connection timed out"},
-+	{111, "ECONNREFUSED", "connection refused"},
-+	{112, "EHOSTDOWN", "host is down"},
-+	{113, "EHOSTUNREACH", "no route to host"},
-+	{114, "EALREADY", "operation already in progress"},
-+	{115, "EINPROGRESS", "operation now in progress"},
-+	{116, "ESTALE", "stale file handle"},
-+	{117, "EUCLEAN", "structure needs cleaning"},
-+	{118, "ENOTNAM", "not a XENIX named type file"},
-+	{119, "ENAVAIL", "no XENIX semaphores available"},
-+	{120, "EISNAM", "is a named type file"},
-+	{121, "EREMOTEIO", "remote I/O error"},
-+	{122, "EDQUOT", "disk quota exceeded"},
-+	{123, "ENOMEDIUM", "no medium found"},
-+	{124, "EMEDIUMTYPE", "wrong medium type"},
-+	{125, "ECANCELED", "operation canceled"},
-+	{126, "ENOKEY", "required key not available"},
-+	{127, "EKEYEXPIRED", "key has expired"},
-+	{128, "EKEYREVOKED", "key has been revoked"},
-+	{129, "EKEYREJECTED", "key was rejected by service"},
-+	{130, "EOWNERDEAD", "owner died"},
-+	{131, "ENOTRECOVERABLE", "state not recoverable"},
-+	{132, "ERFKILL", "operation not possible due to RF-kill"},
-+	{133, "EHWPOISON", "memory page has hardware error"},
- }
- 
- // Signal table
--var signals = [...]string{
--	1:  "hangup",
--	2:  "interrupt",
--	3:  "quit",
--	4:  "illegal instruction",
--	5:  "trace/breakpoint trap",
--	6:  "aborted",
--	7:  "bus error",
--	8:  "floating point exception",
--	9:  "killed",
--	10: "user defined signal 1",
--	11: "segmentation fault",
--	12: "user defined signal 2",
--	13: "broken pipe",
--	14: "alarm clock",
--	15: "terminated",
--	16: "stack fault",
--	17: "child exited",
--	18: "continued",
--	19: "stopped (signal)",
--	20: "stopped",
--	21: "stopped (tty input)",
--	22: "stopped (tty output)",
--	23: "urgent I/O condition",
--	24: "CPU time limit exceeded",
--	25: "file size limit exceeded",
--	26: "virtual timer expired",
--	27: "profiling timer expired",
--	28: "window changed",
--	29: "I/O possible",
--	30: "power failure",
--	31: "bad system call",
-+var signalList = [...]struct {
-+	num  syscall.Signal
-+	name string
-+	desc string
-+}{
-+	{1, "SIGHUP", "hangup"},
-+	{2, "SIGINT", "interrupt"},
-+	{3, "SIGQUIT", "quit"},
-+	{4, "SIGILL", "illegal instruction"},
-+	{5, "SIGTRAP", "trace/breakpoint trap"},
-+	{6, "SIGABRT", "aborted"},
-+	{7, "SIGBUS", "bus error"},
-+	{8, "SIGFPE", "floating point exception"},
-+	{9, "SIGKILL", "killed"},
-+	{10, "SIGUSR1", "user defined signal 1"},
-+	{11, "SIGSEGV", "segmentation fault"},
-+	{12, "SIGUSR2", "user defined signal 2"},
-+	{13, "SIGPIPE", "broken pipe"},
-+	{14, "SIGALRM", "alarm clock"},
-+	{15, "SIGTERM", "terminated"},
-+	{16, "SIGSTKFLT", "stack fault"},
-+	{17, "SIGCHLD", "child exited"},
-+	{18, "SIGCONT", "continued"},
-+	{19, "SIGSTOP", "stopped (signal)"},
-+	{20, "SIGTSTP", "stopped"},
-+	{21, "SIGTTIN", "stopped (tty input)"},
-+	{22, "SIGTTOU", "stopped (tty output)"},
-+	{23, "SIGURG", "urgent I/O condition"},
-+	{24, "SIGXCPU", "CPU time limit exceeded"},
-+	{25, "SIGXFSZ", "file size limit exceeded"},
-+	{26, "SIGVTALRM", "virtual timer expired"},
-+	{27, "SIGPROF", "profiling timer expired"},
-+	{28, "SIGWINCH", "window changed"},
-+	{29, "SIGIO", "I/O possible"},
-+	{30, "SIGPWR", "power failure"},
-+	{31, "SIGSYS", "bad system call"},
- }
-diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go
-index c0ecd47c..9ee8d1bc 100644
---- a/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go
-+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go
-@@ -3,7 +3,7 @@
- 
- // +build arm64,linux
- 
--// Created by cgo -godefs - DO NOT EDIT
-+// Code generated by cmd/cgo -godefs; DO NOT EDIT.
- // cgo -godefs -- -Wall -Werror -static -I/tmp/include -fsigned-char _const.go
- 
- package unix
-@@ -11,1858 +11,480 @@ package unix
- import "syscall"
- 
- const (
--	AF_ALG                               = 0x26
--	AF_APPLETALK                         = 0x5
--	AF_ASH                               = 0x12
--	AF_ATMPVC                            = 0x8
--	AF_ATMSVC                            = 0x14
--	AF_AX25                              = 0x3
--	AF_BLUETOOTH                         = 0x1f
--	AF_BRIDGE                            = 0x7
--	AF_CAIF                              = 0x25
--	AF_CAN                               = 0x1d
--	AF_DECnet                            = 0xc
--	AF_ECONET                            = 0x13
--	AF_FILE                              = 0x1
--	AF_IB                                = 0x1b
--	AF_IEEE802154                        = 0x24
--	AF_INET                              = 0x2
--	AF_INET6                             = 0xa
--	AF_IPX                               = 0x4
--	AF_IRDA                              = 0x17
--	AF_ISDN                              = 0x22
--	AF_IUCV                              = 0x20
--	AF_KCM                               = 0x29
--	AF_KEY                               = 0xf
--	AF_LLC                               = 0x1a
--	AF_LOCAL                             = 0x1
--	AF_MAX                               = 0x2b
--	AF_MPLS                              = 0x1c
--	AF_NETBEUI                           = 0xd
--	AF_NETLINK                           = 0x10
--	AF_NETROM                            = 0x6
--	AF_NFC                               = 0x27
--	AF_PACKET                            = 0x11
--	AF_PHONET                            = 0x23
--	AF_PPPOX                             = 0x18
--	AF_QIPCRTR                           = 0x2a
--	AF_RDS                               = 0x15
--	AF_ROSE                              = 0xb
--	AF_ROUTE                             = 0x10
--	AF_RXRPC                             = 0x21
--	AF_SECURITY                          = 0xe
--	AF_SNA                               = 0x16
--	AF_TIPC                              = 0x1e
--	AF_UNIX                              = 0x1
--	AF_UNSPEC                            = 0x0
--	AF_VSOCK                             = 0x28
--	AF_WANPIPE                           = 0x19
--	AF_X25                               = 0x9
--	ALG_OP_DECRYPT                       = 0x0
--	ALG_OP_ENCRYPT                       = 0x1
--	ALG_SET_AEAD_ASSOCLEN                = 0x4
--	ALG_SET_AEAD_AUTHSIZE                = 0x5
--	ALG_SET_IV                           = 0x2
--	ALG_SET_KEY                          = 0x1
--	ALG_SET_OP                           = 0x3
--	ARPHRD_6LOWPAN                       = 0x339
--	ARPHRD_ADAPT                         = 0x108
--	ARPHRD_APPLETLK                      = 0x8
--	ARPHRD_ARCNET                        = 0x7
--	ARPHRD_ASH                           = 0x30d
--	ARPHRD_ATM                           = 0x13
--	ARPHRD_AX25                          = 0x3
--	ARPHRD_BIF                           = 0x307
--	ARPHRD_CAIF                          = 0x336
--	ARPHRD_CAN                           = 0x118
--	ARPHRD_CHAOS                         = 0x5
--	ARPHRD_CISCO                         = 0x201
--	ARPHRD_CSLIP                         = 0x101
--	ARPHRD_CSLIP6                        = 0x103
--	ARPHRD_DDCMP                         = 0x205
--	ARPHRD_DLCI                          = 0xf
--	ARPHRD_ECONET                        = 0x30e
--	ARPHRD_EETHER                        = 0x2
--	ARPHRD_ETHER                         = 0x1
--	ARPHRD_EUI64                         = 0x1b
--	ARPHRD_FCAL                          = 0x311
--	ARPHRD_FCFABRIC                      = 0x313
--	ARPHRD_FCPL                          = 0x312
--	ARPHRD_FCPP                          = 0x310
--	ARPHRD_FDDI                          = 0x306
--	ARPHRD_FRAD                          = 0x302
--	ARPHRD_HDLC                          = 0x201
--	ARPHRD_HIPPI                         = 0x30c
--	ARPHRD_HWX25                         = 0x110
--	ARPHRD_IEEE1394                      = 0x18
--	ARPHRD_IEEE802                       = 0x6
--	ARPHRD_IEEE80211                     = 0x321
--	ARPHRD_IEEE80211_PRISM               = 0x322
--	ARPHRD_IEEE80211_RADIOTAP            = 0x323
--	ARPHRD_IEEE802154                    = 0x324
--	ARPHRD_IEEE802154_MONITOR            = 0x325
--	ARPHRD_IEEE802_TR                    = 0x320
--	ARPHRD_INFINIBAND                    = 0x20
--	ARPHRD_IP6GRE                        = 0x337
--	ARPHRD_IPDDP                         = 0x309
--	ARPHRD_IPGRE                         = 0x30a
--	ARPHRD_IRDA                          = 0x30f
--	ARPHRD_LAPB                          = 0x204
--	ARPHRD_LOCALTLK                      = 0x305
--	ARPHRD_LOOPBACK                      = 0x304
--	ARPHRD_METRICOM                      = 0x17
--	ARPHRD_NETLINK                       = 0x338
--	ARPHRD_NETROM                        = 0x0
--	ARPHRD_NONE                          = 0xfffe
--	ARPHRD_PHONET                        = 0x334
--	ARPHRD_PHONET_PIPE                   = 0x335
--	ARPHRD_PIMREG                        = 0x30b
--	ARPHRD_PPP                           = 0x200
--	ARPHRD_PRONET                        = 0x4
--	ARPHRD_RAWHDLC                       = 0x206
--	ARPHRD_ROSE                          = 0x10e
--	ARPHRD_RSRVD                         = 0x104
--	ARPHRD_SIT                           = 0x308
--	ARPHRD_SKIP                          = 0x303
--	ARPHRD_SLIP                          = 0x100
--	ARPHRD_SLIP6                         = 0x102
--	ARPHRD_TUNNEL                        = 0x300
--	ARPHRD_TUNNEL6                       = 0x301
--	ARPHRD_VOID                          = 0xffff
--	ARPHRD_X25                           = 0x10f
--	B0                                   = 0x0
--	B1000000                             = 0x1008
--	B110                                 = 0x3
--	B115200                              = 0x1002
--	B1152000                             = 0x1009
--	B1200                                = 0x9
--	B134                                 = 0x4
--	B150                                 = 0x5
--	B1500000                             = 0x100a
--	B1800                                = 0xa
--	B19200                               = 0xe
--	B200                                 = 0x6
--	B2000000                             = 0x100b
--	B230400                              = 0x1003
--	B2400                                = 0xb
--	B2500000                             = 0x100c
--	B300                                 = 0x7
--	B3000000                             = 0x100d
--	B3500000                             = 0x100e
--	B38400                               = 0xf
--	B4000000                             = 0x100f
--	B460800                              = 0x1004
--	B4800                                = 0xc
--	B50                                  = 0x1
--	B500000                              = 0x1005
--	B57600                               = 0x1001
--	B576000                              = 0x1006
--	B600                                 = 0x8
--	B75                                  = 0x2
--	B921600                              = 0x1007
--	B9600                                = 0xd
--	BLKBSZGET                            = 0x80081270
--	BLKBSZSET                            = 0x40081271
--	BLKFLSBUF                            = 0x1261
--	BLKFRAGET                            = 0x1265
--	BLKFRASET                            = 0x1264
--	BLKGETSIZE                           = 0x1260
--	BLKGETSIZE64                         = 0x80081272
--	BLKPBSZGET                           = 0x127b
--	BLKRAGET                             = 0x1263
--	BLKRASET                             = 0x1262
--	BLKROGET                             = 0x125e
--	BLKROSET                             = 0x125d
--	BLKRRPART                            = 0x125f
--	BLKSECTGET                           = 0x1267
--	BLKSECTSET                           = 0x1266
--	BLKSSZGET                            = 0x1268
--	BOTHER                               = 0x1000
--	BPF_A                                = 0x10
--	BPF_ABS                              = 0x20
--	BPF_ADD                              = 0x0
--	BPF_ALU                              = 0x4
--	BPF_AND                              = 0x50
--	BPF_B                                = 0x10
--	BPF_DIV                              = 0x30
--	BPF_H                                = 0x8
--	BPF_IMM                              = 0x0
--	BPF_IND                              = 0x40
--	BPF_JA                               = 0x0
--	BPF_JEQ                              = 0x10
--	BPF_JGE                              = 0x30
--	BPF_JGT                              = 0x20
--	BPF_JMP                              = 0x5
--	BPF_JSET                             = 0x40
--	BPF_K                                = 0x0
--	BPF_LD                               = 0x0
--	BPF_LDX                              = 0x1
--	BPF_LEN                              = 0x80
--	BPF_LL_OFF                           = -0x200000
--	BPF_LSH                              = 0x60
--	BPF_MAJOR_VERSION                    = 0x1
--	BPF_MAXINSNS                         = 0x1000
--	BPF_MEM                              = 0x60
--	BPF_MEMWORDS                         = 0x10
--	BPF_MINOR_VERSION                    = 0x1
--	BPF_MISC                             = 0x7
--	BPF_MOD                              = 0x90
--	BPF_MSH                              = 0xa0
--	BPF_MUL                              = 0x20
--	BPF_NEG                              = 0x80
--	BPF_NET_OFF                          = -0x100000
--	BPF_OR                               = 0x40
--	BPF_RET                              = 0x6
--	BPF_RSH                              = 0x70
--	BPF_ST                               = 0x2
--	BPF_STX                              = 0x3
--	BPF_SUB                              = 0x10
--	BPF_TAX                              = 0x0
--	BPF_TXA                              = 0x80
--	BPF_W                                = 0x0
--	BPF_X                                = 0x8
--	BPF_XOR                              = 0xa0
--	BRKINT                               = 0x2
--	BS0                                  = 0x0
--	BS1                                  = 0x2000
--	BSDLY                                = 0x2000
--	CAN_BCM                              = 0x2
--	CAN_EFF_FLAG                         = 0x80000000
--	CAN_EFF_ID_BITS                      = 0x1d
--	CAN_EFF_MASK                         = 0x1fffffff
--	CAN_ERR_FLAG                         = 0x20000000
--	CAN_ERR_MASK                         = 0x1fffffff
--	CAN_INV_FILTER                       = 0x20000000
--	CAN_ISOTP                            = 0x6
--	CAN_MAX_DLC                          = 0x8
--	CAN_MAX_DLEN                         = 0x8
--	CAN_MCNET                            = 0x5
--	CAN_MTU                              = 0x10
--	CAN_NPROTO                           = 0x7
--	CAN_RAW                              = 0x1
--	CAN_RAW_FILTER_MAX                   = 0x200
--	CAN_RTR_FLAG                         = 0x40000000
--	CAN_SFF_ID_BITS                      = 0xb
--	CAN_SFF_MASK                         = 0x7ff
--	CAN_TP16                             = 0x3
--	CAN_TP20                             = 0x4
--	CBAUD                                = 0x100f
--	CBAUDEX                              = 0x1000
--	CFLUSH                               = 0xf
--	CIBAUD                               = 0x100f0000
--	CLOCAL                               = 0x800
--	CLOCK_BOOTTIME                       = 0x7
--	CLOCK_BOOTTIME_ALARM                 = 0x9
--	CLOCK_DEFAULT                        = 0x0
--	CLOCK_EXT                            = 0x1
--	CLOCK_INT                            = 0x2
--	CLOCK_MONOTONIC                      = 0x1
--	CLOCK_MONOTONIC_COARSE               = 0x6
--	CLOCK_MONOTONIC_RAW                  = 0x4
--	CLOCK_PROCESS_CPUTIME_ID             = 0x2
--	CLOCK_REALTIME                       = 0x0
--	CLOCK_REALTIME_ALARM                 = 0x8
--	CLOCK_REALTIME_COARSE                = 0x5
--	CLOCK_TAI                            = 0xb
--	CLOCK_THREAD_CPUTIME_ID              = 0x3
--	CLOCK_TXFROMRX                       = 0x4
--	CLOCK_TXINT                          = 0x3
--	CLONE_CHILD_CLEARTID                 = 0x200000
--	CLONE_CHILD_SETTID                   = 0x1000000
--	CLONE_DETACHED                       = 0x400000
--	CLONE_FILES                          = 0x400
--	CLONE_FS                             = 0x200
--	CLONE_IO                             = 0x80000000
--	CLONE_NEWCGROUP                      = 0x2000000
--	CLONE_NEWIPC                         = 0x8000000
--	CLONE_NEWNET                         = 0x40000000
--	CLONE_NEWNS                          = 0x20000
--	CLONE_NEWPID                         = 0x20000000
--	CLONE_NEWUSER                        = 0x10000000
--	CLONE_NEWUTS                         = 0x4000000
--	CLONE_PARENT                         = 0x8000
--	CLONE_PARENT_SETTID                  = 0x100000
--	CLONE_PTRACE                         = 0x2000
--	CLONE_SETTLS                         = 0x80000
--	CLONE_SIGHAND                        = 0x800
--	CLONE_SYSVSEM                        = 0x40000
--	CLONE_THREAD                         = 0x10000
--	CLONE_UNTRACED                       = 0x800000
--	CLONE_VFORK                          = 0x4000
--	CLONE_VM                             = 0x100
--	CMSPAR                               = 0x40000000
--	CR0                                  = 0x0
--	CR1                                  = 0x200
--	CR2                                  = 0x400
--	CR3                                  = 0x600
--	CRDLY                                = 0x600
--	CREAD                                = 0x80
--	CRTSCTS                              = 0x80000000
--	CS5                                  = 0x0
--	CS6                                  = 0x10
--	CS7                                  = 0x20
--	CS8                                  = 0x30
--	CSIGNAL                              = 0xff
--	CSIZE                                = 0x30
--	CSTART                               = 0x11
--	CSTATUS                              = 0x0
--	CSTOP                                = 0x13
--	CSTOPB                               = 0x40
--	CSUSP                                = 0x1a
--	DT_BLK                               = 0x6
--	DT_CHR                               = 0x2
--	DT_DIR                               = 0x4
--	DT_FIFO                              = 0x1
--	DT_LNK                               = 0xa
--	DT_REG                               = 0x8
--	DT_SOCK                              = 0xc
--	DT_UNKNOWN                           = 0x0
--	DT_WHT                               = 0xe
--	ECHO                                 = 0x8
--	ECHOCTL                              = 0x200
--	ECHOE                                = 0x10
--	ECHOK                                = 0x20
--	ECHOKE                               = 0x800
--	ECHONL                               = 0x40
--	ECHOPRT                              = 0x400
--	EFD_CLOEXEC                          = 0x80000
--	EFD_NONBLOCK                         = 0x800
--	EFD_SEMAPHORE                        = 0x1
--	ENCODING_DEFAULT                     = 0x0
--	ENCODING_FM_MARK                     = 0x3
--	ENCODING_FM_SPACE                    = 0x4
--	ENCODING_MANCHESTER                  = 0x5
--	ENCODING_NRZ                         = 0x1
--	ENCODING_NRZI                        = 0x2
--	EPOLLERR                             = 0x8
--	EPOLLET                              = 0x80000000
--	EPOLLEXCLUSIVE                       = 0x10000000
--	EPOLLHUP                             = 0x10
--	EPOLLIN                              = 0x1
--	EPOLLMSG                             = 0x400
--	EPOLLONESHOT                         = 0x40000000
--	EPOLLOUT                             = 0x4
--	EPOLLPRI                             = 0x2
--	EPOLLRDBAND                          = 0x80
--	EPOLLRDHUP                           = 0x2000
--	EPOLLRDNORM                          = 0x40
--	EPOLLWAKEUP                          = 0x20000000
--	EPOLLWRBAND                          = 0x200
--	EPOLLWRNORM                          = 0x100
--	EPOLL_CLOEXEC                        = 0x80000
--	EPOLL_CTL_ADD                        = 0x1
--	EPOLL_CTL_DEL                        = 0x2
--	EPOLL_CTL_MOD                        = 0x3
--	ESR_MAGIC                            = 0x45535201
--	ETH_P_1588                           = 0x88f7
--	ETH_P_8021AD                         = 0x88a8
--	ETH_P_8021AH                         = 0x88e7
--	ETH_P_8021Q                          = 0x8100
--	ETH_P_80221                          = 0x8917
--	ETH_P_802_2                          = 0x4
--	ETH_P_802_3                          = 0x1
--	ETH_P_802_3_MIN                      = 0x600
--	ETH_P_802_EX1                        = 0x88b5
--	ETH_P_AARP                           = 0x80f3
--	ETH_P_AF_IUCV                        = 0xfbfb
--	ETH_P_ALL                            = 0x3
--	ETH_P_AOE                            = 0x88a2
--	ETH_P_ARCNET                         = 0x1a
--	ETH_P_ARP                            = 0x806
--	ETH_P_ATALK                          = 0x809b
--	ETH_P_ATMFATE                        = 0x8884
--	ETH_P_ATMMPOA                        = 0x884c
--	ETH_P_AX25                           = 0x2
--	ETH_P_BATMAN                         = 0x4305
--	ETH_P_BPQ                            = 0x8ff
--	ETH_P_CAIF                           = 0xf7
--	ETH_P_CAN                            = 0xc
--	ETH_P_CANFD                          = 0xd
--	ETH_P_CONTROL                        = 0x16
--	ETH_P_CUST                           = 0x6006
--	ETH_P_DDCMP                          = 0x6
--	ETH_P_DEC                            = 0x6000
--	ETH_P_DIAG                           = 0x6005
--	ETH_P_DNA_DL                         = 0x6001
--	ETH_P_DNA_RC                         = 0x6002
--	ETH_P_DNA_RT                         = 0x6003
--	ETH_P_DSA                            = 0x1b
--	ETH_P_ECONET                         = 0x18
--	ETH_P_EDSA                           = 0xdada
--	ETH_P_FCOE                           = 0x8906
--	ETH_P_FIP                            = 0x8914
--	ETH_P_HDLC                           = 0x19
--	ETH_P_HSR                            = 0x892f
--	ETH_P_IEEE802154                     = 0xf6
--	ETH_P_IEEEPUP                        = 0xa00
--	ETH_P_IEEEPUPAT                      = 0xa01
--	ETH_P_IP                             = 0x800
--	ETH_P_IPV6                           = 0x86dd
--	ETH_P_IPX                            = 0x8137
--	ETH_P_IRDA                           = 0x17
--	ETH_P_LAT                            = 0x6004
--	ETH_P_LINK_CTL                       = 0x886c
--	ETH_P_LOCALTALK                      = 0x9
--	ETH_P_LOOP                           = 0x60
--	ETH_P_LOOPBACK                       = 0x9000
--	ETH_P_MACSEC                         = 0x88e5
--	ETH_P_MOBITEX                        = 0x15
--	ETH_P_MPLS_MC                        = 0x8848
--	ETH_P_MPLS_UC                        = 0x8847
--	ETH_P_MVRP                           = 0x88f5
--	ETH_P_NCSI                           = 0x88f8
--	ETH_P_PAE                            = 0x888e
--	ETH_P_PAUSE                          = 0x8808
--	ETH_P_PHONET                         = 0xf5
--	ETH_P_PPPTALK                        = 0x10
--	ETH_P_PPP_DISC                       = 0x8863
--	ETH_P_PPP_MP                         = 0x8
--	ETH_P_PPP_SES                        = 0x8864
--	ETH_P_PRP                            = 0x88fb
--	ETH_P_PUP                            = 0x200
--	ETH_P_PUPAT                          = 0x201
--	ETH_P_QINQ1                          = 0x9100
--	ETH_P_QINQ2                          = 0x9200
--	ETH_P_QINQ3                          = 0x9300
--	ETH_P_RARP                           = 0x8035
--	ETH_P_SCA                            = 0x6007
--	ETH_P_SLOW                           = 0x8809
--	ETH_P_SNAP                           = 0x5
--	ETH_P_TDLS                           = 0x890d
--	ETH_P_TEB                            = 0x6558
--	ETH_P_TIPC                           = 0x88ca
--	ETH_P_TRAILER                        = 0x1c
--	ETH_P_TR_802_2                       = 0x11
--	ETH_P_TSN                            = 0x22f0
--	ETH_P_WAN_PPP                        = 0x7
--	ETH_P_WCCP                           = 0x883e
--	ETH_P_X25                            = 0x805
--	ETH_P_XDSA                           = 0xf8
--	EXTA                                 = 0xe
--	EXTB                                 = 0xf
--	EXTPROC                              = 0x10000
--	FALLOC_FL_COLLAPSE_RANGE             = 0x8
--	FALLOC_FL_INSERT_RANGE               = 0x20
--	FALLOC_FL_KEEP_SIZE                  = 0x1
--	FALLOC_FL_NO_HIDE_STALE              = 0x4
--	FALLOC_FL_PUNCH_HOLE                 = 0x2
--	FALLOC_FL_UNSHARE_RANGE              = 0x40
--	FALLOC_FL_ZERO_RANGE                 = 0x10
--	FD_CLOEXEC                           = 0x1
--	FD_SETSIZE                           = 0x400
--	FF0                                  = 0x0
--	FF1                                  = 0x8000
--	FFDLY                                = 0x8000
--	FLUSHO                               = 0x1000
--	FS_ENCRYPTION_MODE_AES_256_CBC       = 0x3
--	FS_ENCRYPTION_MODE_AES_256_CTS       = 0x4
--	FS_ENCRYPTION_MODE_AES_256_GCM       = 0x2
--	FS_ENCRYPTION_MODE_AES_256_XTS       = 0x1
--	FS_ENCRYPTION_MODE_INVALID           = 0x0
--	FS_IOC_GET_ENCRYPTION_POLICY         = 0x400c6615
--	FS_IOC_GET_ENCRYPTION_PWSALT         = 0x40106614
--	FS_IOC_SET_ENCRYPTION_POLICY         = 0x800c6613
--	FS_KEY_DESCRIPTOR_SIZE               = 0x8
--	FS_KEY_DESC_PREFIX                   = "fscrypt:"
--	FS_KEY_DESC_PREFIX_SIZE              = 0x8
--	FS_MAX_KEY_SIZE                      = 0x40
--	FS_POLICY_FLAGS_PAD_16               = 0x2
--	FS_POLICY_FLAGS_PAD_32               = 0x3
--	FS_POLICY_FLAGS_PAD_4                = 0x0
--	FS_POLICY_FLAGS_PAD_8                = 0x1
--	FS_POLICY_FLAGS_PAD_MASK             = 0x3
--	FS_POLICY_FLAGS_VALID                = 0x3
--	F_DUPFD                              = 0x0
--	F_DUPFD_CLOEXEC                      = 0x406
--	F_EXLCK                              = 0x4
--	F_GETFD                              = 0x1
--	F_GETFL                              = 0x3
--	F_GETLEASE                           = 0x401
--	F_GETLK                              = 0x5
--	F_GETLK64                            = 0x5
--	F_GETOWN                             = 0x9
--	F_GETOWN_EX                          = 0x10
--	F_GETPIPE_SZ                         = 0x408
--	F_GETSIG                             = 0xb
--	F_LOCK                               = 0x1
--	F_NOTIFY                             = 0x402
--	F_OFD_GETLK                          = 0x24
--	F_OFD_SETLK                          = 0x25
--	F_OFD_SETLKW                         = 0x26
--	F_OK                                 = 0x0
--	F_RDLCK                              = 0x0
--	F_SETFD                              = 0x2
--	F_SETFL                              = 0x4
--	F_SETLEASE                           = 0x400
--	F_SETLK                              = 0x6
--	F_SETLK64                            = 0x6
--	F_SETLKW                             = 0x7
--	F_SETLKW64                           = 0x7
--	F_SETOWN                             = 0x8
--	F_SETOWN_EX                          = 0xf
--	F_SETPIPE_SZ                         = 0x407
--	F_SETSIG                             = 0xa
--	F_SHLCK                              = 0x8
--	F_TEST                               = 0x3
--	F_TLOCK                              = 0x2
--	F_ULOCK                              = 0x0
--	F_UNLCK                              = 0x2
--	F_WRLCK                              = 0x1
--	GENL_ADMIN_PERM                      = 0x1
--	GENL_CMD_CAP_DO                      = 0x2
--	GENL_CMD_CAP_DUMP                    = 0x4
--	GENL_CMD_CAP_HASPOL                  = 0x8
--	GENL_HDRLEN                          = 0x4
--	GENL_ID_CTRL                         = 0x10
--	GENL_ID_PMCRAID                      = 0x12
--	GENL_ID_VFS_DQUOT                    = 0x11
--	GENL_MAX_ID                          = 0x3ff
--	GENL_MIN_ID                          = 0x10
--	GENL_NAMSIZ                          = 0x10
--	GENL_START_ALLOC                     = 0x13
--	GENL_UNS_ADMIN_PERM                  = 0x10
--	GRND_NONBLOCK                        = 0x1
--	GRND_RANDOM                          = 0x2
--	HUPCL                                = 0x400
--	IBSHIFT                              = 0x10
--	ICANON                               = 0x2
--	ICMPV6_FILTER                        = 0x1
--	ICRNL                                = 0x100
--	IEXTEN                               = 0x8000
--	IFA_F_DADFAILED                      = 0x8
--	IFA_F_DEPRECATED                     = 0x20
--	IFA_F_HOMEADDRESS                    = 0x10
--	IFA_F_MANAGETEMPADDR                 = 0x100
--	IFA_F_MCAUTOJOIN                     = 0x400
--	IFA_F_NODAD                          = 0x2
--	IFA_F_NOPREFIXROUTE                  = 0x200
--	IFA_F_OPTIMISTIC                     = 0x4
--	IFA_F_PERMANENT                      = 0x80
--	IFA_F_SECONDARY                      = 0x1
--	IFA_F_STABLE_PRIVACY                 = 0x800
--	IFA_F_TEMPORARY                      = 0x1
--	IFA_F_TENTATIVE                      = 0x40
--	IFA_MAX                              = 0x8
--	IFF_ALLMULTI                         = 0x200
--	IFF_ATTACH_QUEUE                     = 0x200
--	IFF_AUTOMEDIA                        = 0x4000
--	IFF_BROADCAST                        = 0x2
--	IFF_DEBUG                            = 0x4
--	IFF_DETACH_QUEUE                     = 0x400
--	IFF_DORMANT                          = 0x20000
--	IFF_DYNAMIC                          = 0x8000
--	IFF_ECHO                             = 0x40000
--	IFF_LOOPBACK                         = 0x8
--	IFF_LOWER_UP                         = 0x10000
--	IFF_MASTER                           = 0x400
--	IFF_MULTICAST                        = 0x1000
--	IFF_MULTI_QUEUE                      = 0x100
--	IFF_NOARP                            = 0x80
--	IFF_NOFILTER                         = 0x1000
--	IFF_NOTRAILERS                       = 0x20
--	IFF_NO_PI                            = 0x1000
--	IFF_ONE_QUEUE                        = 0x2000
--	IFF_PERSIST                          = 0x800
--	IFF_POINTOPOINT                      = 0x10
--	IFF_PORTSEL                          = 0x2000
--	IFF_PROMISC                          = 0x100
--	IFF_RUNNING                          = 0x40
--	IFF_SLAVE                            = 0x800
--	IFF_TAP                              = 0x2
--	IFF_TUN                              = 0x1
--	IFF_TUN_EXCL                         = 0x8000
--	IFF_UP                               = 0x1
--	IFF_VNET_HDR                         = 0x4000
--	IFF_VOLATILE                         = 0x70c5a
--	IFNAMSIZ                             = 0x10
--	IGNBRK                               = 0x1
--	IGNCR                                = 0x80
--	IGNPAR                               = 0x4
--	IMAXBEL                              = 0x2000
--	INLCR                                = 0x40
--	INPCK                                = 0x10
--	IN_ACCESS                            = 0x1
--	IN_ALL_EVENTS                        = 0xfff
--	IN_ATTRIB                            = 0x4
--	IN_CLASSA_HOST                       = 0xffffff
--	IN_CLASSA_MAX                        = 0x80
--	IN_CLASSA_NET                        = 0xff000000
--	IN_CLASSA_NSHIFT                     = 0x18
--	IN_CLASSB_HOST                       = 0xffff
--	IN_CLASSB_MAX                        = 0x10000
--	IN_CLASSB_NET                        = 0xffff0000
--	IN_CLASSB_NSHIFT                     = 0x10
--	IN_CLASSC_HOST                       = 0xff
--	IN_CLASSC_NET                        = 0xffffff00
--	IN_CLASSC_NSHIFT                     = 0x8
--	IN_CLOEXEC                           = 0x80000
--	IN_CLOSE                             = 0x18
--	IN_CLOSE_NOWRITE                     = 0x10
--	IN_CLOSE_WRITE                       = 0x8
--	IN_CREATE                            = 0x100
--	IN_DELETE                            = 0x200
--	IN_DELETE_SELF                       = 0x400
--	IN_DONT_FOLLOW                       = 0x2000000
--	IN_EXCL_UNLINK                       = 0x4000000
--	IN_IGNORED                           = 0x8000
--	IN_ISDIR                             = 0x40000000
--	IN_LOOPBACKNET                       = 0x7f
--	IN_MASK_ADD                          = 0x20000000
--	IN_MODIFY                            = 0x2
--	IN_MOVE                              = 0xc0
--	IN_MOVED_FROM                        = 0x40
--	IN_MOVED_TO                          = 0x80
--	IN_MOVE_SELF                         = 0x800
--	IN_NONBLOCK                          = 0x800
--	IN_ONESHOT                           = 0x80000000
--	IN_ONLYDIR                           = 0x1000000
--	IN_OPEN                              = 0x20
--	IN_Q_OVERFLOW                        = 0x4000
--	IN_UNMOUNT                           = 0x2000
--	IPPROTO_AH                           = 0x33
--	IPPROTO_BEETPH                       = 0x5e
--	IPPROTO_COMP                         = 0x6c
--	IPPROTO_DCCP                         = 0x21
--	IPPROTO_DSTOPTS                      = 0x3c
--	IPPROTO_EGP                          = 0x8
--	IPPROTO_ENCAP                        = 0x62
--	IPPROTO_ESP                          = 0x32
--	IPPROTO_FRAGMENT                     = 0x2c
--	IPPROTO_GRE                          = 0x2f
--	IPPROTO_HOPOPTS                      = 0x0
--	IPPROTO_ICMP                         = 0x1
--	IPPROTO_ICMPV6                       = 0x3a
--	IPPROTO_IDP                          = 0x16
--	IPPROTO_IGMP                         = 0x2
--	IPPROTO_IP                           = 0x0
--	IPPROTO_IPIP                         = 0x4
--	IPPROTO_IPV6                         = 0x29
--	IPPROTO_MH                           = 0x87
--	IPPROTO_MPLS                         = 0x89
--	IPPROTO_MTP                          = 0x5c
--	IPPROTO_NONE                         = 0x3b
--	IPPROTO_PIM                          = 0x67
--	IPPROTO_PUP                          = 0xc
--	IPPROTO_RAW                          = 0xff
--	IPPROTO_ROUTING                      = 0x2b
--	IPPROTO_RSVP                         = 0x2e
--	IPPROTO_SCTP                         = 0x84
--	IPPROTO_TCP                          = 0x6
--	IPPROTO_TP                           = 0x1d
--	IPPROTO_UDP                          = 0x11
--	IPPROTO_UDPLITE                      = 0x88
--	IPV6_2292DSTOPTS                     = 0x4
--	IPV6_2292HOPLIMIT                    = 0x8
--	IPV6_2292HOPOPTS                     = 0x3
--	IPV6_2292PKTINFO                     = 0x2
--	IPV6_2292PKTOPTIONS                  = 0x6
--	IPV6_2292RTHDR                       = 0x5
--	IPV6_ADDRFORM                        = 0x1
--	IPV6_ADD_MEMBERSHIP                  = 0x14
--	IPV6_AUTHHDR                         = 0xa
--	IPV6_CHECKSUM                        = 0x7
--	IPV6_DONTFRAG                        = 0x3e
--	IPV6_DROP_MEMBERSHIP                 = 0x15
--	IPV6_DSTOPTS                         = 0x3b
--	IPV6_HDRINCL                         = 0x24
--	IPV6_HOPLIMIT                        = 0x34
--	IPV6_HOPOPTS                         = 0x36
--	IPV6_IPSEC_POLICY                    = 0x22
--	IPV6_JOIN_ANYCAST                    = 0x1b
--	IPV6_JOIN_GROUP                      = 0x14
--	IPV6_LEAVE_ANYCAST                   = 0x1c
--	IPV6_LEAVE_GROUP                     = 0x15
--	IPV6_MTU                             = 0x18
--	IPV6_MTU_DISCOVER                    = 0x17
--	IPV6_MULTICAST_HOPS                  = 0x12
--	IPV6_MULTICAST_IF                    = 0x11
--	IPV6_MULTICAST_LOOP                  = 0x13
--	IPV6_NEXTHOP                         = 0x9
--	IPV6_PATHMTU                         = 0x3d
--	IPV6_PKTINFO                         = 0x32
--	IPV6_PMTUDISC_DO                     = 0x2
--	IPV6_PMTUDISC_DONT                   = 0x0
--	IPV6_PMTUDISC_INTERFACE              = 0x4
--	IPV6_PMTUDISC_OMIT                   = 0x5
--	IPV6_PMTUDISC_PROBE                  = 0x3
--	IPV6_PMTUDISC_WANT                   = 0x1
--	IPV6_RECVDSTOPTS                     = 0x3a
--	IPV6_RECVERR                         = 0x19
--	IPV6_RECVHOPLIMIT                    = 0x33
--	IPV6_RECVHOPOPTS                     = 0x35
--	IPV6_RECVPATHMTU                     = 0x3c
--	IPV6_RECVPKTINFO                     = 0x31
--	IPV6_RECVRTHDR                       = 0x38
--	IPV6_RECVTCLASS                      = 0x42
--	IPV6_ROUTER_ALERT                    = 0x16
--	IPV6_RTHDR                           = 0x39
--	IPV6_RTHDRDSTOPTS                    = 0x37
--	IPV6_RTHDR_LOOSE                     = 0x0
--	IPV6_RTHDR_STRICT                    = 0x1
--	IPV6_RTHDR_TYPE_0                    = 0x0
--	IPV6_RXDSTOPTS                       = 0x3b
--	IPV6_RXHOPOPTS                       = 0x36
--	IPV6_TCLASS                          = 0x43
--	IPV6_UNICAST_HOPS                    = 0x10
--	IPV6_V6ONLY                          = 0x1a
--	IPV6_XFRM_POLICY                     = 0x23
--	IP_ADD_MEMBERSHIP                    = 0x23
--	IP_ADD_SOURCE_MEMBERSHIP             = 0x27
--	IP_BIND_ADDRESS_NO_PORT              = 0x18
--	IP_BLOCK_SOURCE                      = 0x26
--	IP_CHECKSUM                          = 0x17
--	IP_DEFAULT_MULTICAST_LOOP            = 0x1
--	IP_DEFAULT_MULTICAST_TTL             = 0x1
--	IP_DF                                = 0x4000
--	IP_DROP_MEMBERSHIP                   = 0x24
--	IP_DROP_SOURCE_MEMBERSHIP            = 0x28
--	IP_FREEBIND                          = 0xf
--	IP_HDRINCL                           = 0x3
--	IP_IPSEC_POLICY                      = 0x10
--	IP_MAXPACKET                         = 0xffff
--	IP_MAX_MEMBERSHIPS                   = 0x14
--	IP_MF                                = 0x2000
--	IP_MINTTL                            = 0x15
--	IP_MSFILTER                          = 0x29
--	IP_MSS                               = 0x240
--	IP_MTU                               = 0xe
--	IP_MTU_DISCOVER                      = 0xa
--	IP_MULTICAST_ALL                     = 0x31
--	IP_MULTICAST_IF                      = 0x20
--	IP_MULTICAST_LOOP                    = 0x22
--	IP_MULTICAST_TTL                     = 0x21
--	IP_NODEFRAG                          = 0x16
--	IP_OFFMASK                           = 0x1fff
--	IP_OPTIONS                           = 0x4
--	IP_ORIGDSTADDR                       = 0x14
--	IP_PASSSEC                           = 0x12
--	IP_PKTINFO                           = 0x8
--	IP_PKTOPTIONS                        = 0x9
--	IP_PMTUDISC                          = 0xa
--	IP_PMTUDISC_DO                       = 0x2
--	IP_PMTUDISC_DONT                     = 0x0
--	IP_PMTUDISC_INTERFACE                = 0x4
--	IP_PMTUDISC_OMIT                     = 0x5
--	IP_PMTUDISC_PROBE                    = 0x3
--	IP_PMTUDISC_WANT                     = 0x1
--	IP_RECVERR                           = 0xb
--	IP_RECVOPTS                          = 0x6
--	IP_RECVORIGDSTADDR                   = 0x14
--	IP_RECVRETOPTS                       = 0x7
--	IP_RECVTOS                           = 0xd
--	IP_RECVTTL                           = 0xc
--	IP_RETOPTS                           = 0x7
--	IP_RF                                = 0x8000
--	IP_ROUTER_ALERT                      = 0x5
--	IP_TOS                               = 0x1
--	IP_TRANSPARENT                       = 0x13
--	IP_TTL                               = 0x2
--	IP_UNBLOCK_SOURCE                    = 0x25
--	IP_UNICAST_IF                        = 0x32
--	IP_XFRM_POLICY                       = 0x11
--	ISIG                                 = 0x1
--	ISTRIP                               = 0x20
--	IUCLC                                = 0x200
--	IUTF8                                = 0x4000
--	IXANY                                = 0x800
--	IXOFF                                = 0x1000
--	IXON                                 = 0x400
--	KEYCTL_ASSUME_AUTHORITY              = 0x10
--	KEYCTL_CHOWN                         = 0x4
--	KEYCTL_CLEAR                         = 0x7
--	KEYCTL_DESCRIBE                      = 0x6
--	KEYCTL_DH_COMPUTE                    = 0x17
--	KEYCTL_GET_KEYRING_ID                = 0x0
--	KEYCTL_GET_PERSISTENT                = 0x16
--	KEYCTL_GET_SECURITY                  = 0x11
--	KEYCTL_INSTANTIATE                   = 0xc
--	KEYCTL_INSTANTIATE_IOV               = 0x14
--	KEYCTL_INVALIDATE                    = 0x15
--	KEYCTL_JOIN_SESSION_KEYRING          = 0x1
--	KEYCTL_LINK                          = 0x8
--	KEYCTL_NEGATE                        = 0xd
--	KEYCTL_READ                          = 0xb
--	KEYCTL_REJECT                        = 0x13
--	KEYCTL_REVOKE                        = 0x3
--	KEYCTL_SEARCH                        = 0xa
--	KEYCTL_SESSION_TO_PARENT             = 0x12
--	KEYCTL_SETPERM                       = 0x5
--	KEYCTL_SET_REQKEY_KEYRING            = 0xe
--	KEYCTL_SET_TIMEOUT                   = 0xf
--	KEYCTL_UNLINK                        = 0x9
--	KEYCTL_UPDATE                        = 0x2
--	KEY_REQKEY_DEFL_DEFAULT              = 0x0
--	KEY_REQKEY_DEFL_GROUP_KEYRING        = 0x6
--	KEY_REQKEY_DEFL_NO_CHANGE            = -0x1
--	KEY_REQKEY_DEFL_PROCESS_KEYRING      = 0x2
--	KEY_REQKEY_DEFL_REQUESTOR_KEYRING    = 0x7
--	KEY_REQKEY_DEFL_SESSION_KEYRING      = 0x3
--	KEY_REQKEY_DEFL_THREAD_KEYRING       = 0x1
--	KEY_REQKEY_DEFL_USER_KEYRING         = 0x4
--	KEY_REQKEY_DEFL_USER_SESSION_KEYRING = 0x5
--	KEY_SPEC_GROUP_KEYRING               = -0x6
--	KEY_SPEC_PROCESS_KEYRING             = -0x2
--	KEY_SPEC_REQKEY_AUTH_KEY             = -0x7
--	KEY_SPEC_REQUESTOR_KEYRING           = -0x8
--	KEY_SPEC_SESSION_KEYRING             = -0x3
--	KEY_SPEC_THREAD_KEYRING              = -0x1
--	KEY_SPEC_USER_KEYRING                = -0x4
--	KEY_SPEC_USER_SESSION_KEYRING        = -0x5
--	LINUX_REBOOT_CMD_CAD_OFF             = 0x0
--	LINUX_REBOOT_CMD_CAD_ON              = 0x89abcdef
--	LINUX_REBOOT_CMD_HALT                = 0xcdef0123
--	LINUX_REBOOT_CMD_KEXEC               = 0x45584543
--	LINUX_REBOOT_CMD_POWER_OFF           = 0x4321fedc
--	LINUX_REBOOT_CMD_RESTART             = 0x1234567
--	LINUX_REBOOT_CMD_RESTART2            = 0xa1b2c3d4
--	LINUX_REBOOT_CMD_SW_SUSPEND          = 0xd000fce2
--	LINUX_REBOOT_MAGIC1                  = 0xfee1dead
--	LINUX_REBOOT_MAGIC2                  = 0x28121969
--	LOCK_EX                              = 0x2
--	LOCK_NB                              = 0x4
--	LOCK_SH                              = 0x1
--	LOCK_UN                              = 0x8
--	MADV_DODUMP                          = 0x11
--	MADV_DOFORK                          = 0xb
--	MADV_DONTDUMP                        = 0x10
--	MADV_DONTFORK                        = 0xa
--	MADV_DONTNEED                        = 0x4
--	MADV_FREE                            = 0x8
--	MADV_HUGEPAGE                        = 0xe
--	MADV_HWPOISON                        = 0x64
--	MADV_MERGEABLE                       = 0xc
--	MADV_NOHUGEPAGE                      = 0xf
--	MADV_NORMAL                          = 0x0
--	MADV_RANDOM                          = 0x1
--	MADV_REMOVE                          = 0x9
--	MADV_SEQUENTIAL                      = 0x2
--	MADV_UNMERGEABLE                     = 0xd
--	MADV_WILLNEED                        = 0x3
--	MAP_ANON                             = 0x20
--	MAP_ANONYMOUS                        = 0x20
--	MAP_DENYWRITE                        = 0x800
--	MAP_EXECUTABLE                       = 0x1000
--	MAP_FILE                             = 0x0
--	MAP_FIXED                            = 0x10
--	MAP_GROWSDOWN                        = 0x100
--	MAP_HUGETLB                          = 0x40000
--	MAP_HUGE_MASK                        = 0x3f
--	MAP_HUGE_SHIFT                       = 0x1a
--	MAP_LOCKED                           = 0x2000
--	MAP_NONBLOCK                         = 0x10000
--	MAP_NORESERVE                        = 0x4000
--	MAP_POPULATE                         = 0x8000
--	MAP_PRIVATE                          = 0x2
--	MAP_SHARED                           = 0x1
--	MAP_STACK                            = 0x20000
--	MAP_TYPE                             = 0xf
--	MCL_CURRENT                          = 0x1
--	MCL_FUTURE                           = 0x2
--	MCL_ONFAULT                          = 0x4
--	MNT_DETACH                           = 0x2
--	MNT_EXPIRE                           = 0x4
--	MNT_FORCE                            = 0x1
--	MSG_BATCH                            = 0x40000
--	MSG_CMSG_CLOEXEC                     = 0x40000000
--	MSG_CONFIRM                          = 0x800
--	MSG_CTRUNC                           = 0x8
--	MSG_DONTROUTE                        = 0x4
--	MSG_DONTWAIT                         = 0x40
--	MSG_EOR                              = 0x80
--	MSG_ERRQUEUE                         = 0x2000
--	MSG_FASTOPEN                         = 0x20000000
--	MSG_FIN                              = 0x200
--	MSG_MORE                             = 0x8000
--	MSG_NOSIGNAL                         = 0x4000
--	MSG_OOB                              = 0x1
--	MSG_PEEK                             = 0x2
--	MSG_PROXY                            = 0x10
--	MSG_RST                              = 0x1000
--	MSG_SYN                              = 0x400
--	MSG_TRUNC                            = 0x20
--	MSG_TRYHARD                          = 0x4
--	MSG_WAITALL                          = 0x100
--	MSG_WAITFORONE                       = 0x10000
--	MS_ACTIVE                            = 0x40000000
--	MS_ASYNC                             = 0x1
--	MS_BIND                              = 0x1000
--	MS_BORN                              = 0x20000000
--	MS_DIRSYNC                           = 0x80
--	MS_INVALIDATE                        = 0x2
--	MS_I_VERSION                         = 0x800000
--	MS_KERNMOUNT                         = 0x400000
--	MS_LAZYTIME                          = 0x2000000
--	MS_MANDLOCK                          = 0x40
--	MS_MGC_MSK                           = 0xffff0000
--	MS_MGC_VAL                           = 0xc0ed0000
--	MS_MOVE                              = 0x2000
--	MS_NOATIME                           = 0x400
--	MS_NODEV                             = 0x4
--	MS_NODIRATIME                        = 0x800
--	MS_NOEXEC                            = 0x8
--	MS_NOREMOTELOCK                      = 0x8000000
--	MS_NOSEC                             = 0x10000000
--	MS_NOSUID                            = 0x2
--	MS_NOUSER                            = -0x80000000
--	MS_POSIXACL                          = 0x10000
--	MS_PRIVATE                           = 0x40000
--	MS_RDONLY                            = 0x1
--	MS_REC                               = 0x4000
--	MS_RELATIME                          = 0x200000
--	MS_REMOUNT                           = 0x20
--	MS_RMT_MASK                          = 0x2800051
--	MS_SHARED                            = 0x100000
--	MS_SILENT                            = 0x8000
--	MS_SLAVE                             = 0x80000
--	MS_STRICTATIME                       = 0x1000000
--	MS_SYNC                              = 0x4
--	MS_SYNCHRONOUS                       = 0x10
--	MS_UNBINDABLE                        = 0x20000
--	MS_VERBOSE                           = 0x8000
--	NAME_MAX                             = 0xff
--	NETLINK_ADD_MEMBERSHIP               = 0x1
--	NETLINK_AUDIT                        = 0x9
--	NETLINK_BROADCAST_ERROR              = 0x4
--	NETLINK_CAP_ACK                      = 0xa
--	NETLINK_CONNECTOR                    = 0xb
--	NETLINK_CRYPTO                       = 0x15
--	NETLINK_DNRTMSG                      = 0xe
--	NETLINK_DROP_MEMBERSHIP              = 0x2
--	NETLINK_ECRYPTFS                     = 0x13
--	NETLINK_FIB_LOOKUP                   = 0xa
--	NETLINK_FIREWALL                     = 0x3
--	NETLINK_GENERIC                      = 0x10
--	NETLINK_INET_DIAG                    = 0x4
--	NETLINK_IP6_FW                       = 0xd
--	NETLINK_ISCSI                        = 0x8
--	NETLINK_KOBJECT_UEVENT               = 0xf
--	NETLINK_LISTEN_ALL_NSID              = 0x8
--	NETLINK_LIST_MEMBERSHIPS             = 0x9
--	NETLINK_NETFILTER                    = 0xc
--	NETLINK_NFLOG                        = 0x5
--	NETLINK_NO_ENOBUFS                   = 0x5
--	NETLINK_PKTINFO                      = 0x3
--	NETLINK_RDMA                         = 0x14
--	NETLINK_ROUTE                        = 0x0
--	NETLINK_RX_RING                      = 0x6
--	NETLINK_SCSITRANSPORT                = 0x12
--	NETLINK_SELINUX                      = 0x7
--	NETLINK_SOCK_DIAG                    = 0x4
--	NETLINK_TX_RING                      = 0x7
--	NETLINK_UNUSED                       = 0x1
--	NETLINK_USERSOCK                     = 0x2
--	NETLINK_XFRM                         = 0x6
--	NL0                                  = 0x0
--	NL1                                  = 0x100
--	NLA_ALIGNTO                          = 0x4
--	NLA_F_NESTED                         = 0x8000
--	NLA_F_NET_BYTEORDER                  = 0x4000
--	NLA_HDRLEN                           = 0x4
--	NLDLY                                = 0x100
--	NLMSG_ALIGNTO                        = 0x4
--	NLMSG_DONE                           = 0x3
--	NLMSG_ERROR                          = 0x2
--	NLMSG_HDRLEN                         = 0x10
--	NLMSG_MIN_TYPE                       = 0x10
--	NLMSG_NOOP                           = 0x1
--	NLMSG_OVERRUN                        = 0x4
--	NLM_F_ACK                            = 0x4
--	NLM_F_APPEND                         = 0x800
--	NLM_F_ATOMIC                         = 0x400
--	NLM_F_CREATE                         = 0x400
--	NLM_F_DUMP                           = 0x300
--	NLM_F_DUMP_FILTERED                  = 0x20
--	NLM_F_DUMP_INTR                      = 0x10
--	NLM_F_ECHO                           = 0x8
--	NLM_F_EXCL                           = 0x200
--	NLM_F_MATCH                          = 0x200
--	NLM_F_MULTI                          = 0x2
--	NLM_F_REPLACE                        = 0x100
--	NLM_F_REQUEST                        = 0x1
--	NLM_F_ROOT                           = 0x100
--	NOFLSH                               = 0x80
--	OCRNL                                = 0x8
--	OFDEL                                = 0x80
--	OFILL                                = 0x40
--	OLCUC                                = 0x2
--	ONLCR                                = 0x4
--	ONLRET                               = 0x20
--	ONOCR                                = 0x10
--	OPOST                                = 0x1
--	O_ACCMODE                            = 0x3
--	O_APPEND                             = 0x400
--	O_ASYNC                              = 0x2000
--	O_CLOEXEC                            = 0x80000
--	O_CREAT                              = 0x40
--	O_DIRECT                             = 0x10000
--	O_DIRECTORY                          = 0x4000
--	O_DSYNC                              = 0x1000
--	O_EXCL                               = 0x80
--	O_FSYNC                              = 0x101000
--	O_LARGEFILE                          = 0x0
--	O_NDELAY                             = 0x800
--	O_NOATIME                            = 0x40000
--	O_NOCTTY                             = 0x100
--	O_NOFOLLOW                           = 0x8000
--	O_NONBLOCK                           = 0x800
--	O_PATH                               = 0x200000
--	O_RDONLY                             = 0x0
--	O_RDWR                               = 0x2
--	O_RSYNC                              = 0x101000
--	O_SYNC                               = 0x101000
--	O_TMPFILE                            = 0x404000
--	O_TRUNC                              = 0x200
--	O_WRONLY                             = 0x1
--	PACKET_ADD_MEMBERSHIP                = 0x1
--	PACKET_AUXDATA                       = 0x8
--	PACKET_BROADCAST                     = 0x1
--	PACKET_COPY_THRESH                   = 0x7
--	PACKET_DROP_MEMBERSHIP               = 0x2
--	PACKET_FANOUT                        = 0x12
--	PACKET_FANOUT_CBPF                   = 0x6
--	PACKET_FANOUT_CPU                    = 0x2
--	PACKET_FANOUT_DATA                   = 0x16
--	PACKET_FANOUT_EBPF                   = 0x7
--	PACKET_FANOUT_FLAG_DEFRAG            = 0x8000
--	PACKET_FANOUT_FLAG_ROLLOVER          = 0x1000
--	PACKET_FANOUT_HASH                   = 0x0
--	PACKET_FANOUT_LB                     = 0x1
--	PACKET_FANOUT_QM                     = 0x5
--	PACKET_FANOUT_RND                    = 0x4
--	PACKET_FANOUT_ROLLOVER               = 0x3
--	PACKET_FASTROUTE                     = 0x6
--	PACKET_HDRLEN                        = 0xb
--	PACKET_HOST                          = 0x0
--	PACKET_KERNEL                        = 0x7
--	PACKET_LOOPBACK                      = 0x5
--	PACKET_LOSS                          = 0xe
--	PACKET_MR_ALLMULTI                   = 0x2
--	PACKET_MR_MULTICAST                  = 0x0
--	PACKET_MR_PROMISC                    = 0x1
--	PACKET_MR_UNICAST                    = 0x3
--	PACKET_MULTICAST                     = 0x2
--	PACKET_ORIGDEV                       = 0x9
--	PACKET_OTHERHOST                     = 0x3
--	PACKET_OUTGOING                      = 0x4
--	PACKET_QDISC_BYPASS                  = 0x14
--	PACKET_RECV_OUTPUT                   = 0x3
--	PACKET_RESERVE                       = 0xc
--	PACKET_ROLLOVER_STATS                = 0x15
--	PACKET_RX_RING                       = 0x5
--	PACKET_STATISTICS                    = 0x6
--	PACKET_TIMESTAMP                     = 0x11
--	PACKET_TX_HAS_OFF                    = 0x13
--	PACKET_TX_RING                       = 0xd
--	PACKET_TX_TIMESTAMP                  = 0x10
--	PACKET_USER                          = 0x6
--	PACKET_VERSION                       = 0xa
--	PACKET_VNET_HDR                      = 0xf
--	PARENB                               = 0x100
--	PARITY_CRC16_PR0                     = 0x2
--	PARITY_CRC16_PR0_CCITT               = 0x4
--	PARITY_CRC16_PR1                     = 0x3
--	PARITY_CRC16_PR1_CCITT               = 0x5
--	PARITY_CRC32_PR0_CCITT               = 0x6
--	PARITY_CRC32_PR1_CCITT               = 0x7
--	PARITY_DEFAULT                       = 0x0
--	PARITY_NONE                          = 0x1
--	PARMRK                               = 0x8
--	PARODD                               = 0x200
--	PENDIN                               = 0x4000
--	PERF_EVENT_IOC_DISABLE               = 0x2401
--	PERF_EVENT_IOC_ENABLE                = 0x2400
--	PERF_EVENT_IOC_ID                    = 0x80082407
--	PERF_EVENT_IOC_PAUSE_OUTPUT          = 0x40042409
--	PERF_EVENT_IOC_PERIOD                = 0x40082404
--	PERF_EVENT_IOC_REFRESH               = 0x2402
--	PERF_EVENT_IOC_RESET                 = 0x2403
--	PERF_EVENT_IOC_SET_BPF               = 0x40042408
--	PERF_EVENT_IOC_SET_FILTER            = 0x40082406
--	PERF_EVENT_IOC_SET_OUTPUT            = 0x2405
--	PRIO_PGRP                            = 0x1
--	PRIO_PROCESS                         = 0x0
--	PRIO_USER                            = 0x2
--	PROT_EXEC                            = 0x4
--	PROT_GROWSDOWN                       = 0x1000000
--	PROT_GROWSUP                         = 0x2000000
--	PROT_NONE                            = 0x0
--	PROT_READ                            = 0x1
--	PROT_WRITE                           = 0x2
--	PR_CAPBSET_DROP                      = 0x18
--	PR_CAPBSET_READ                      = 0x17
--	PR_CAP_AMBIENT                       = 0x2f
--	PR_CAP_AMBIENT_CLEAR_ALL             = 0x4
--	PR_CAP_AMBIENT_IS_SET                = 0x1
--	PR_CAP_AMBIENT_LOWER                 = 0x3
--	PR_CAP_AMBIENT_RAISE                 = 0x2
--	PR_ENDIAN_BIG                        = 0x0
--	PR_ENDIAN_LITTLE                     = 0x1
--	PR_ENDIAN_PPC_LITTLE                 = 0x2
--	PR_FPEMU_NOPRINT                     = 0x1
--	PR_FPEMU_SIGFPE                      = 0x2
--	PR_FP_EXC_ASYNC                      = 0x2
--	PR_FP_EXC_DISABLED                   = 0x0
--	PR_FP_EXC_DIV                        = 0x10000
--	PR_FP_EXC_INV                        = 0x100000
--	PR_FP_EXC_NONRECOV                   = 0x1
--	PR_FP_EXC_OVF                        = 0x20000
--	PR_FP_EXC_PRECISE                    = 0x3
--	PR_FP_EXC_RES                        = 0x80000
--	PR_FP_EXC_SW_ENABLE                  = 0x80
--	PR_FP_EXC_UND                        = 0x40000
--	PR_FP_MODE_FR                        = 0x1
--	PR_FP_MODE_FRE                       = 0x2
--	PR_GET_CHILD_SUBREAPER               = 0x25
--	PR_GET_DUMPABLE                      = 0x3
--	PR_GET_ENDIAN                        = 0x13
--	PR_GET_FPEMU                         = 0x9
--	PR_GET_FPEXC                         = 0xb
--	PR_GET_FP_MODE                       = 0x2e
--	PR_GET_KEEPCAPS                      = 0x7
--	PR_GET_NAME                          = 0x10
--	PR_GET_NO_NEW_PRIVS                  = 0x27
--	PR_GET_PDEATHSIG                     = 0x2
--	PR_GET_SECCOMP                       = 0x15
--	PR_GET_SECUREBITS                    = 0x1b
--	PR_GET_THP_DISABLE                   = 0x2a
--	PR_GET_TID_ADDRESS                   = 0x28
--	PR_GET_TIMERSLACK                    = 0x1e
--	PR_GET_TIMING                        = 0xd
--	PR_GET_TSC                           = 0x19
--	PR_GET_UNALIGN                       = 0x5
--	PR_MCE_KILL                          = 0x21
--	PR_MCE_KILL_CLEAR                    = 0x0
--	PR_MCE_KILL_DEFAULT                  = 0x2
--	PR_MCE_KILL_EARLY                    = 0x1
--	PR_MCE_KILL_GET                      = 0x22
--	PR_MCE_KILL_LATE                     = 0x0
--	PR_MCE_KILL_SET                      = 0x1
--	PR_MPX_DISABLE_MANAGEMENT            = 0x2c
--	PR_MPX_ENABLE_MANAGEMENT             = 0x2b
--	PR_SET_CHILD_SUBREAPER               = 0x24
--	PR_SET_DUMPABLE                      = 0x4
--	PR_SET_ENDIAN                        = 0x14
--	PR_SET_FPEMU                         = 0xa
--	PR_SET_FPEXC                         = 0xc
--	PR_SET_FP_MODE                       = 0x2d
--	PR_SET_KEEPCAPS                      = 0x8
--	PR_SET_MM                            = 0x23
--	PR_SET_MM_ARG_END                    = 0x9
--	PR_SET_MM_ARG_START                  = 0x8
--	PR_SET_MM_AUXV                       = 0xc
--	PR_SET_MM_BRK                        = 0x7
--	PR_SET_MM_END_CODE                   = 0x2
--	PR_SET_MM_END_DATA                   = 0x4
--	PR_SET_MM_ENV_END                    = 0xb
--	PR_SET_MM_ENV_START                  = 0xa
--	PR_SET_MM_EXE_FILE                   = 0xd
--	PR_SET_MM_MAP                        = 0xe
--	PR_SET_MM_MAP_SIZE                   = 0xf
--	PR_SET_MM_START_BRK                  = 0x6
--	PR_SET_MM_START_CODE                 = 0x1
--	PR_SET_MM_START_DATA                 = 0x3
--	PR_SET_MM_START_STACK                = 0x5
--	PR_SET_NAME                          = 0xf
--	PR_SET_NO_NEW_PRIVS                  = 0x26
--	PR_SET_PDEATHSIG                     = 0x1
--	PR_SET_PTRACER                       = 0x59616d61
--	PR_SET_PTRACER_ANY                   = -0x1
--	PR_SET_SECCOMP                       = 0x16
--	PR_SET_SECUREBITS                    = 0x1c
--	PR_SET_THP_DISABLE                   = 0x29
--	PR_SET_TIMERSLACK                    = 0x1d
--	PR_SET_TIMING                        = 0xe
--	PR_SET_TSC                           = 0x1a
--	PR_SET_UNALIGN                       = 0x6
--	PR_TASK_PERF_EVENTS_DISABLE          = 0x1f
--	PR_TASK_PERF_EVENTS_ENABLE           = 0x20
--	PR_TIMING_STATISTICAL                = 0x0
--	PR_TIMING_TIMESTAMP                  = 0x1
--	PR_TSC_ENABLE                        = 0x1
--	PR_TSC_SIGSEGV                       = 0x2
--	PR_UNALIGN_NOPRINT                   = 0x1
--	PR_UNALIGN_SIGBUS                    = 0x2
--	PTRACE_ATTACH                        = 0x10
--	PTRACE_CONT                          = 0x7
--	PTRACE_DETACH                        = 0x11
--	PTRACE_EVENT_CLONE                   = 0x3
--	PTRACE_EVENT_EXEC                    = 0x4
--	PTRACE_EVENT_EXIT                    = 0x6
--	PTRACE_EVENT_FORK                    = 0x1
--	PTRACE_EVENT_SECCOMP                 = 0x7
--	PTRACE_EVENT_STOP                    = 0x80
--	PTRACE_EVENT_VFORK                   = 0x2
--	PTRACE_EVENT_VFORK_DONE              = 0x5
--	PTRACE_GETEVENTMSG                   = 0x4201
--	PTRACE_GETREGS                       = 0xc
--	PTRACE_GETREGSET                     = 0x4204
--	PTRACE_GETSIGINFO                    = 0x4202
--	PTRACE_GETSIGMASK                    = 0x420a
--	PTRACE_INTERRUPT                     = 0x4207
--	PTRACE_KILL                          = 0x8
--	PTRACE_LISTEN                        = 0x4208
--	PTRACE_O_EXITKILL                    = 0x100000
--	PTRACE_O_MASK                        = 0x3000ff
--	PTRACE_O_SUSPEND_SECCOMP             = 0x200000
--	PTRACE_O_TRACECLONE                  = 0x8
--	PTRACE_O_TRACEEXEC                   = 0x10
--	PTRACE_O_TRACEEXIT                   = 0x40
--	PTRACE_O_TRACEFORK                   = 0x2
--	PTRACE_O_TRACESECCOMP                = 0x80
--	PTRACE_O_TRACESYSGOOD                = 0x1
--	PTRACE_O_TRACEVFORK                  = 0x4
--	PTRACE_O_TRACEVFORKDONE              = 0x20
--	PTRACE_PEEKDATA                      = 0x2
--	PTRACE_PEEKSIGINFO                   = 0x4209
--	PTRACE_PEEKSIGINFO_SHARED            = 0x1
--	PTRACE_PEEKTEXT                      = 0x1
--	PTRACE_PEEKUSR                       = 0x3
--	PTRACE_POKEDATA                      = 0x5
--	PTRACE_POKETEXT                      = 0x4
--	PTRACE_POKEUSR                       = 0x6
--	PTRACE_SECCOMP_GET_FILTER            = 0x420c
--	PTRACE_SEIZE                         = 0x4206
--	PTRACE_SETOPTIONS                    = 0x4200
--	PTRACE_SETREGS                       = 0xd
--	PTRACE_SETREGSET                     = 0x4205
--	PTRACE_SETSIGINFO                    = 0x4203
--	PTRACE_SETSIGMASK                    = 0x420b
--	PTRACE_SINGLESTEP                    = 0x9
--	PTRACE_SYSCALL                       = 0x18
--	PTRACE_TRACEME                       = 0x0
--	RLIMIT_AS                            = 0x9
--	RLIMIT_CORE                          = 0x4
--	RLIMIT_CPU                           = 0x0
--	RLIMIT_DATA                          = 0x2
--	RLIMIT_FSIZE                         = 0x1
--	RLIMIT_LOCKS                         = 0xa
--	RLIMIT_MEMLOCK                       = 0x8
--	RLIMIT_MSGQUEUE                      = 0xc
--	RLIMIT_NICE                          = 0xd
--	RLIMIT_NOFILE                        = 0x7
--	RLIMIT_NPROC                         = 0x6
--	RLIMIT_RSS                           = 0x5
--	RLIMIT_RTPRIO                        = 0xe
--	RLIMIT_RTTIME                        = 0xf
--	RLIMIT_SIGPENDING                    = 0xb
--	RLIMIT_STACK                         = 0x3
--	RLIM_INFINITY                        = -0x1
--	RTAX_ADVMSS                          = 0x8
--	RTAX_CC_ALGO                         = 0x10
--	RTAX_CWND                            = 0x7
--	RTAX_FEATURES                        = 0xc
--	RTAX_FEATURE_ALLFRAG                 = 0x8
--	RTAX_FEATURE_ECN                     = 0x1
--	RTAX_FEATURE_MASK                    = 0xf
--	RTAX_FEATURE_SACK                    = 0x2
--	RTAX_FEATURE_TIMESTAMP               = 0x4
--	RTAX_HOPLIMIT                        = 0xa
--	RTAX_INITCWND                        = 0xb
--	RTAX_INITRWND                        = 0xe
--	RTAX_LOCK                            = 0x1
--	RTAX_MAX                             = 0x10
--	RTAX_MTU                             = 0x2
--	RTAX_QUICKACK                        = 0xf
--	RTAX_REORDERING                      = 0x9
--	RTAX_RTO_MIN                         = 0xd
--	RTAX_RTT                             = 0x4
--	RTAX_RTTVAR                          = 0x5
--	RTAX_SSTHRESH                        = 0x6
--	RTAX_UNSPEC                          = 0x0
--	RTAX_WINDOW                          = 0x3
--	RTA_ALIGNTO                          = 0x4
--	RTA_MAX                              = 0x19
--	RTCF_DIRECTSRC                       = 0x4000000
--	RTCF_DOREDIRECT                      = 0x1000000
--	RTCF_LOG                             = 0x2000000
--	RTCF_MASQ                            = 0x400000
--	RTCF_NAT                             = 0x800000
--	RTCF_VALVE                           = 0x200000
--	RTF_ADDRCLASSMASK                    = 0xf8000000
--	RTF_ADDRCONF                         = 0x40000
--	RTF_ALLONLINK                        = 0x20000
--	RTF_BROADCAST                        = 0x10000000
--	RTF_CACHE                            = 0x1000000
--	RTF_DEFAULT                          = 0x10000
--	RTF_DYNAMIC                          = 0x10
--	RTF_FLOW                             = 0x2000000
--	RTF_GATEWAY                          = 0x2
--	RTF_HOST                             = 0x4
--	RTF_INTERFACE                        = 0x40000000
--	RTF_IRTT                             = 0x100
--	RTF_LINKRT                           = 0x100000
--	RTF_LOCAL                            = 0x80000000
--	RTF_MODIFIED                         = 0x20
--	RTF_MSS                              = 0x40
--	RTF_MTU                              = 0x40
--	RTF_MULTICAST                        = 0x20000000
--	RTF_NAT                              = 0x8000000
--	RTF_NOFORWARD                        = 0x1000
--	RTF_NONEXTHOP                        = 0x200000
--	RTF_NOPMTUDISC                       = 0x4000
--	RTF_POLICY                           = 0x4000000
--	RTF_REINSTATE                        = 0x8
--	RTF_REJECT                           = 0x200
--	RTF_STATIC                           = 0x400
--	RTF_THROW                            = 0x2000
--	RTF_UP                               = 0x1
--	RTF_WINDOW                           = 0x80
--	RTF_XRESOLVE                         = 0x800
--	RTM_BASE                             = 0x10
--	RTM_DELACTION                        = 0x31
--	RTM_DELADDR                          = 0x15
--	RTM_DELADDRLABEL                     = 0x49
--	RTM_DELLINK                          = 0x11
--	RTM_DELMDB                           = 0x55
--	RTM_DELNEIGH                         = 0x1d
--	RTM_DELNSID                          = 0x59
--	RTM_DELQDISC                         = 0x25
--	RTM_DELROUTE                         = 0x19
--	RTM_DELRULE                          = 0x21
--	RTM_DELTCLASS                        = 0x29
--	RTM_DELTFILTER                       = 0x2d
--	RTM_F_CLONED                         = 0x200
--	RTM_F_EQUALIZE                       = 0x400
--	RTM_F_LOOKUP_TABLE                   = 0x1000
--	RTM_F_NOTIFY                         = 0x100
--	RTM_F_PREFIX                         = 0x800
--	RTM_GETACTION                        = 0x32
--	RTM_GETADDR                          = 0x16
--	RTM_GETADDRLABEL                     = 0x4a
--	RTM_GETANYCAST                       = 0x3e
--	RTM_GETDCB                           = 0x4e
--	RTM_GETLINK                          = 0x12
--	RTM_GETMDB                           = 0x56
--	RTM_GETMULTICAST                     = 0x3a
--	RTM_GETNEIGH                         = 0x1e
--	RTM_GETNEIGHTBL                      = 0x42
--	RTM_GETNETCONF                       = 0x52
--	RTM_GETNSID                          = 0x5a
--	RTM_GETQDISC                         = 0x26
--	RTM_GETROUTE                         = 0x1a
--	RTM_GETRULE                          = 0x22
--	RTM_GETSTATS                         = 0x5e
--	RTM_GETTCLASS                        = 0x2a
--	RTM_GETTFILTER                       = 0x2e
--	RTM_MAX                              = 0x5f
--	RTM_NEWACTION                        = 0x30
--	RTM_NEWADDR                          = 0x14
--	RTM_NEWADDRLABEL                     = 0x48
--	RTM_NEWLINK                          = 0x10
--	RTM_NEWMDB                           = 0x54
--	RTM_NEWNDUSEROPT                     = 0x44
--	RTM_NEWNEIGH                         = 0x1c
--	RTM_NEWNEIGHTBL                      = 0x40
--	RTM_NEWNETCONF                       = 0x50
--	RTM_NEWNSID                          = 0x58
--	RTM_NEWPREFIX                        = 0x34
--	RTM_NEWQDISC                         = 0x24
--	RTM_NEWROUTE                         = 0x18
--	RTM_NEWRULE                          = 0x20
--	RTM_NEWSTATS                         = 0x5c
--	RTM_NEWTCLASS                        = 0x28
--	RTM_NEWTFILTER                       = 0x2c
--	RTM_NR_FAMILIES                      = 0x14
--	RTM_NR_MSGTYPES                      = 0x50
--	RTM_SETDCB                           = 0x4f
--	RTM_SETLINK                          = 0x13
--	RTM_SETNEIGHTBL                      = 0x43
--	RTNH_ALIGNTO                         = 0x4
--	RTNH_COMPARE_MASK                    = 0x19
--	RTNH_F_DEAD                          = 0x1
--	RTNH_F_LINKDOWN                      = 0x10
--	RTNH_F_OFFLOAD                       = 0x8
--	RTNH_F_ONLINK                        = 0x4
--	RTNH_F_PERVASIVE                     = 0x2
--	RTN_MAX                              = 0xb
--	RTPROT_BABEL                         = 0x2a
--	RTPROT_BIRD                          = 0xc
--	RTPROT_BOOT                          = 0x3
--	RTPROT_DHCP                          = 0x10
--	RTPROT_DNROUTED                      = 0xd
--	RTPROT_GATED                         = 0x8
--	RTPROT_KERNEL                        = 0x2
--	RTPROT_MROUTED                       = 0x11
--	RTPROT_MRT                           = 0xa
--	RTPROT_NTK                           = 0xf
--	RTPROT_RA                            = 0x9
--	RTPROT_REDIRECT                      = 0x1
--	RTPROT_STATIC                        = 0x4
--	RTPROT_UNSPEC                        = 0x0
--	RTPROT_XORP                          = 0xe
--	RTPROT_ZEBRA                         = 0xb
--	RT_CLASS_DEFAULT                     = 0xfd
--	RT_CLASS_LOCAL                       = 0xff
--	RT_CLASS_MAIN                        = 0xfe
--	RT_CLASS_MAX                         = 0xff
--	RT_CLASS_UNSPEC                      = 0x0
--	RUSAGE_CHILDREN                      = -0x1
--	RUSAGE_SELF                          = 0x0
--	RUSAGE_THREAD                        = 0x1
--	SCM_CREDENTIALS                      = 0x2
--	SCM_RIGHTS                           = 0x1
--	SCM_TIMESTAMP                        = 0x1d
--	SCM_TIMESTAMPING                     = 0x25
--	SCM_TIMESTAMPING_OPT_STATS           = 0x36
--	SCM_TIMESTAMPNS                      = 0x23
--	SCM_WIFI_STATUS                      = 0x29
--	SECCOMP_MODE_DISABLED                = 0x0
--	SECCOMP_MODE_FILTER                  = 0x2
--	SECCOMP_MODE_STRICT                  = 0x1
--	SHUT_RD                              = 0x0
--	SHUT_RDWR                            = 0x2
--	SHUT_WR                              = 0x1
--	SIOCADDDLCI                          = 0x8980
--	SIOCADDMULTI                         = 0x8931
--	SIOCADDRT                            = 0x890b
--	SIOCATMARK                           = 0x8905
--	SIOCBONDCHANGEACTIVE                 = 0x8995
--	SIOCBONDENSLAVE                      = 0x8990
--	SIOCBONDINFOQUERY                    = 0x8994
--	SIOCBONDRELEASE                      = 0x8991
--	SIOCBONDSETHWADDR                    = 0x8992
--	SIOCBONDSLAVEINFOQUERY               = 0x8993
--	SIOCBRADDBR                          = 0x89a0
--	SIOCBRADDIF                          = 0x89a2
--	SIOCBRDELBR                          = 0x89a1
--	SIOCBRDELIF                          = 0x89a3
--	SIOCDARP                             = 0x8953
--	SIOCDELDLCI                          = 0x8981
--	SIOCDELMULTI                         = 0x8932
--	SIOCDELRT                            = 0x890c
--	SIOCDEVPRIVATE                       = 0x89f0
--	SIOCDIFADDR                          = 0x8936
--	SIOCDRARP                            = 0x8960
--	SIOCETHTOOL                          = 0x8946
--	SIOCGARP                             = 0x8954
--	SIOCGHWTSTAMP                        = 0x89b1
--	SIOCGIFADDR                          = 0x8915
--	SIOCGIFBR                            = 0x8940
--	SIOCGIFBRDADDR                       = 0x8919
--	SIOCGIFCONF                          = 0x8912
--	SIOCGIFCOUNT                         = 0x8938
--	SIOCGIFDSTADDR                       = 0x8917
--	SIOCGIFENCAP                         = 0x8925
--	SIOCGIFFLAGS                         = 0x8913
--	SIOCGIFHWADDR                        = 0x8927
--	SIOCGIFINDEX                         = 0x8933
--	SIOCGIFMAP                           = 0x8970
--	SIOCGIFMEM                           = 0x891f
--	SIOCGIFMETRIC                        = 0x891d
--	SIOCGIFMTU                           = 0x8921
--	SIOCGIFNAME                          = 0x8910
--	SIOCGIFNETMASK                       = 0x891b
--	SIOCGIFPFLAGS                        = 0x8935
--	SIOCGIFSLAVE                         = 0x8929
--	SIOCGIFTXQLEN                        = 0x8942
--	SIOCGIFVLAN                          = 0x8982
--	SIOCGMIIPHY                          = 0x8947
--	SIOCGMIIREG                          = 0x8948
--	SIOCGPGRP                            = 0x8904
--	SIOCGRARP                            = 0x8961
--	SIOCGSKNS                            = 0x894c
--	SIOCGSTAMP                           = 0x8906
--	SIOCGSTAMPNS                         = 0x8907
--	SIOCINQ                              = 0x541b
--	SIOCOUTQ                             = 0x5411
--	SIOCOUTQNSD                          = 0x894b
--	SIOCPROTOPRIVATE                     = 0x89e0
--	SIOCRTMSG                            = 0x890d
--	SIOCSARP                             = 0x8955
--	SIOCSHWTSTAMP                        = 0x89b0
--	SIOCSIFADDR                          = 0x8916
--	SIOCSIFBR                            = 0x8941
--	SIOCSIFBRDADDR                       = 0x891a
--	SIOCSIFDSTADDR                       = 0x8918
--	SIOCSIFENCAP                         = 0x8926
--	SIOCSIFFLAGS                         = 0x8914
--	SIOCSIFHWADDR                        = 0x8924
--	SIOCSIFHWBROADCAST                   = 0x8937
--	SIOCSIFLINK                          = 0x8911
--	SIOCSIFMAP                           = 0x8971
--	SIOCSIFMEM                           = 0x8920
--	SIOCSIFMETRIC                        = 0x891e
--	SIOCSIFMTU                           = 0x8922
--	SIOCSIFNAME                          = 0x8923
--	SIOCSIFNETMASK                       = 0x891c
--	SIOCSIFPFLAGS                        = 0x8934
--	SIOCSIFSLAVE                         = 0x8930
--	SIOCSIFTXQLEN                        = 0x8943
--	SIOCSIFVLAN                          = 0x8983
--	SIOCSMIIREG                          = 0x8949
--	SIOCSPGRP                            = 0x8902
--	SIOCSRARP                            = 0x8962
--	SIOCWANDEV                           = 0x894a
--	SOCK_CLOEXEC                         = 0x80000
--	SOCK_DCCP                            = 0x6
--	SOCK_DGRAM                           = 0x2
--	SOCK_IOC_TYPE                        = 0x89
--	SOCK_NONBLOCK                        = 0x800
--	SOCK_PACKET                          = 0xa
--	SOCK_RAW                             = 0x3
--	SOCK_RDM                             = 0x4
--	SOCK_SEQPACKET                       = 0x5
--	SOCK_STREAM                          = 0x1
--	SOL_AAL                              = 0x109
--	SOL_ALG                              = 0x117
--	SOL_ATM                              = 0x108
--	SOL_CAIF                             = 0x116
--	SOL_CAN_BASE                         = 0x64
--	SOL_DCCP                             = 0x10d
--	SOL_DECNET                           = 0x105
--	SOL_ICMPV6                           = 0x3a
--	SOL_IP                               = 0x0
--	SOL_IPV6                             = 0x29
--	SOL_IRDA                             = 0x10a
--	SOL_IUCV                             = 0x115
--	SOL_KCM                              = 0x119
--	SOL_LLC                              = 0x10c
--	SOL_NETBEUI                          = 0x10b
--	SOL_NETLINK                          = 0x10e
--	SOL_NFC                              = 0x118
--	SOL_PACKET                           = 0x107
--	SOL_PNPIPE                           = 0x113
--	SOL_PPPOL2TP                         = 0x111
--	SOL_RAW                              = 0xff
--	SOL_RDS                              = 0x114
--	SOL_RXRPC                            = 0x110
--	SOL_SOCKET                           = 0x1
--	SOL_TCP                              = 0x6
--	SOL_TIPC                             = 0x10f
--	SOL_X25                              = 0x106
--	SOMAXCONN                            = 0x80
--	SO_ACCEPTCONN                        = 0x1e
--	SO_ATTACH_BPF                        = 0x32
--	SO_ATTACH_FILTER                     = 0x1a
--	SO_ATTACH_REUSEPORT_CBPF             = 0x33
--	SO_ATTACH_REUSEPORT_EBPF             = 0x34
--	SO_BINDTODEVICE                      = 0x19
--	SO_BPF_EXTENSIONS                    = 0x30
--	SO_BROADCAST                         = 0x6
--	SO_BSDCOMPAT                         = 0xe
--	SO_BUSY_POLL                         = 0x2e
--	SO_CNX_ADVICE                        = 0x35
--	SO_DEBUG                             = 0x1
--	SO_DETACH_BPF                        = 0x1b
--	SO_DETACH_FILTER                     = 0x1b
--	SO_DOMAIN                            = 0x27
--	SO_DONTROUTE                         = 0x5
--	SO_ERROR                             = 0x4
--	SO_GET_FILTER                        = 0x1a
--	SO_INCOMING_CPU                      = 0x31
--	SO_KEEPALIVE                         = 0x9
--	SO_LINGER                            = 0xd
--	SO_LOCK_FILTER                       = 0x2c
--	SO_MARK                              = 0x24
--	SO_MAX_PACING_RATE                   = 0x2f
--	SO_NOFCS                             = 0x2b
--	SO_NO_CHECK                          = 0xb
--	SO_OOBINLINE                         = 0xa
--	SO_PASSCRED                          = 0x10
--	SO_PASSSEC                           = 0x22
--	SO_PEEK_OFF                          = 0x2a
--	SO_PEERCRED                          = 0x11
--	SO_PEERNAME                          = 0x1c
--	SO_PEERSEC                           = 0x1f
--	SO_PRIORITY                          = 0xc
--	SO_PROTOCOL                          = 0x26
--	SO_RCVBUF                            = 0x8
--	SO_RCVBUFFORCE                       = 0x21
--	SO_RCVLOWAT                          = 0x12
--	SO_RCVTIMEO                          = 0x14
--	SO_REUSEADDR                         = 0x2
--	SO_REUSEPORT                         = 0xf
--	SO_RXQ_OVFL                          = 0x28
--	SO_SECURITY_AUTHENTICATION           = 0x16
--	SO_SECURITY_ENCRYPTION_NETWORK       = 0x18
--	SO_SECURITY_ENCRYPTION_TRANSPORT     = 0x17
--	SO_SELECT_ERR_QUEUE                  = 0x2d
--	SO_SNDBUF                            = 0x7
--	SO_SNDBUFFORCE                       = 0x20
--	SO_SNDLOWAT                          = 0x13
--	SO_SNDTIMEO                          = 0x15
--	SO_TIMESTAMP                         = 0x1d
--	SO_TIMESTAMPING                      = 0x25
--	SO_TIMESTAMPNS                       = 0x23
--	SO_TYPE                              = 0x3
--	SO_VM_SOCKETS_BUFFER_MAX_SIZE        = 0x2
--	SO_VM_SOCKETS_BUFFER_MIN_SIZE        = 0x1
--	SO_VM_SOCKETS_BUFFER_SIZE            = 0x0
--	SO_VM_SOCKETS_CONNECT_TIMEOUT        = 0x6
--	SO_VM_SOCKETS_NONBLOCK_TXRX          = 0x7
--	SO_VM_SOCKETS_PEER_HOST_VM_ID        = 0x3
--	SO_VM_SOCKETS_TRUSTED                = 0x5
--	SO_WIFI_STATUS                       = 0x29
--	SPLICE_F_GIFT                        = 0x8
--	SPLICE_F_MORE                        = 0x4
--	SPLICE_F_MOVE                        = 0x1
--	SPLICE_F_NONBLOCK                    = 0x2
--	S_BLKSIZE                            = 0x200
--	S_IEXEC                              = 0x40
--	S_IFBLK                              = 0x6000
--	S_IFCHR                              = 0x2000
--	S_IFDIR                              = 0x4000
--	S_IFIFO                              = 0x1000
--	S_IFLNK                              = 0xa000
--	S_IFMT                               = 0xf000
--	S_IFREG                              = 0x8000
--	S_IFSOCK                             = 0xc000
--	S_IREAD                              = 0x100
--	S_IRGRP                              = 0x20
--	S_IROTH                              = 0x4
--	S_IRUSR                              = 0x100
--	S_IRWXG                              = 0x38
--	S_IRWXO                              = 0x7
--	S_IRWXU                              = 0x1c0
--	S_ISGID                              = 0x400
--	S_ISUID                              = 0x800
--	S_ISVTX                              = 0x200
--	S_IWGRP                              = 0x10
--	S_IWOTH                              = 0x2
--	S_IWRITE                             = 0x80
--	S_IWUSR                              = 0x80
--	S_IXGRP                              = 0x8
--	S_IXOTH                              = 0x1
--	S_IXUSR                              = 0x40
--	TAB0                                 = 0x0
--	TAB1                                 = 0x800
--	TAB2                                 = 0x1000
--	TAB3                                 = 0x1800
--	TABDLY                               = 0x1800
--	TASKSTATS_CMD_ATTR_MAX               = 0x4
--	TASKSTATS_CMD_MAX                    = 0x2
--	TASKSTATS_GENL_NAME                  = "TASKSTATS"
--	TASKSTATS_GENL_VERSION               = 0x1
--	TASKSTATS_TYPE_MAX                   = 0x6
--	TASKSTATS_VERSION                    = 0x8
--	TCFLSH                               = 0x540b
--	TCGETA                               = 0x5405
--	TCGETS                               = 0x5401
--	TCGETS2                              = 0x802c542a
--	TCGETX                               = 0x5432
--	TCIFLUSH                             = 0x0
--	TCIOFF                               = 0x2
--	TCIOFLUSH                            = 0x2
--	TCION                                = 0x3
--	TCOFLUSH                             = 0x1
--	TCOOFF                               = 0x0
--	TCOON                                = 0x1
--	TCP_CC_INFO                          = 0x1a
--	TCP_CONGESTION                       = 0xd
--	TCP_COOKIE_IN_ALWAYS                 = 0x1
--	TCP_COOKIE_MAX                       = 0x10
--	TCP_COOKIE_MIN                       = 0x8
--	TCP_COOKIE_OUT_NEVER                 = 0x2
--	TCP_COOKIE_PAIR_SIZE                 = 0x20
--	TCP_COOKIE_TRANSACTIONS              = 0xf
--	TCP_CORK                             = 0x3
--	TCP_DEFER_ACCEPT                     = 0x9
--	TCP_FASTOPEN                         = 0x17
--	TCP_INFO                             = 0xb
--	TCP_KEEPCNT                          = 0x6
--	TCP_KEEPIDLE                         = 0x4
--	TCP_KEEPINTVL                        = 0x5
--	TCP_LINGER2                          = 0x8
--	TCP_MAXSEG                           = 0x2
--	TCP_MAXWIN                           = 0xffff
--	TCP_MAX_WINSHIFT                     = 0xe
--	TCP_MD5SIG                           = 0xe
--	TCP_MD5SIG_MAXKEYLEN                 = 0x50
--	TCP_MSS                              = 0x200
--	TCP_MSS_DEFAULT                      = 0x218
--	TCP_MSS_DESIRED                      = 0x4c4
--	TCP_NODELAY                          = 0x1
--	TCP_NOTSENT_LOWAT                    = 0x19
--	TCP_QUEUE_SEQ                        = 0x15
--	TCP_QUICKACK                         = 0xc
--	TCP_REPAIR                           = 0x13
--	TCP_REPAIR_OPTIONS                   = 0x16
--	TCP_REPAIR_QUEUE                     = 0x14
--	TCP_REPAIR_WINDOW                    = 0x1d
--	TCP_SAVED_SYN                        = 0x1c
--	TCP_SAVE_SYN                         = 0x1b
--	TCP_SYNCNT                           = 0x7
--	TCP_S_DATA_IN                        = 0x4
--	TCP_S_DATA_OUT                       = 0x8
--	TCP_THIN_DUPACK                      = 0x11
--	TCP_THIN_LINEAR_TIMEOUTS             = 0x10
--	TCP_TIMESTAMP                        = 0x18
--	TCP_USER_TIMEOUT                     = 0x12
--	TCP_WINDOW_CLAMP                     = 0xa
--	TCSAFLUSH                            = 0x2
--	TCSBRK                               = 0x5409
--	TCSBRKP                              = 0x5425
--	TCSETA                               = 0x5406
--	TCSETAF                              = 0x5408
--	TCSETAW                              = 0x5407
--	TCSETS                               = 0x5402
--	TCSETS2                              = 0x402c542b
--	TCSETSF                              = 0x5404
--	TCSETSF2                             = 0x402c542d
--	TCSETSW                              = 0x5403
--	TCSETSW2                             = 0x402c542c
--	TCSETX                               = 0x5433
--	TCSETXF                              = 0x5434
--	TCSETXW                              = 0x5435
--	TCXONC                               = 0x540a
--	TIOCCBRK                             = 0x5428
--	TIOCCONS                             = 0x541d
--	TIOCEXCL                             = 0x540c
--	TIOCGDEV                             = 0x80045432
--	TIOCGETD                             = 0x5424
--	TIOCGEXCL                            = 0x80045440
--	TIOCGICOUNT                          = 0x545d
--	TIOCGLCKTRMIOS                       = 0x5456
--	TIOCGPGRP                            = 0x540f
--	TIOCGPKT                             = 0x80045438
--	TIOCGPTLCK                           = 0x80045439
--	TIOCGPTN                             = 0x80045430
--	TIOCGRS485                           = 0x542e
--	TIOCGSERIAL                          = 0x541e
--	TIOCGSID                             = 0x5429
--	TIOCGSOFTCAR                         = 0x5419
--	TIOCGWINSZ                           = 0x5413
--	TIOCINQ                              = 0x541b
--	TIOCLINUX                            = 0x541c
--	TIOCMBIC                             = 0x5417
--	TIOCMBIS                             = 0x5416
--	TIOCMGET                             = 0x5415
--	TIOCMIWAIT                           = 0x545c
--	TIOCMSET                             = 0x5418
--	TIOCM_CAR                            = 0x40
--	TIOCM_CD                             = 0x40
--	TIOCM_CTS                            = 0x20
--	TIOCM_DSR                            = 0x100
--	TIOCM_DTR                            = 0x2
--	TIOCM_LE                             = 0x1
--	TIOCM_RI                             = 0x80
--	TIOCM_RNG                            = 0x80
--	TIOCM_RTS                            = 0x4
--	TIOCM_SR                             = 0x10
--	TIOCM_ST                             = 0x8
--	TIOCNOTTY                            = 0x5422
--	TIOCNXCL                             = 0x540d
--	TIOCOUTQ                             = 0x5411
--	TIOCPKT                              = 0x5420
--	TIOCPKT_DATA                         = 0x0
--	TIOCPKT_DOSTOP                       = 0x20
--	TIOCPKT_FLUSHREAD                    = 0x1
--	TIOCPKT_FLUSHWRITE                   = 0x2
--	TIOCPKT_IOCTL                        = 0x40
--	TIOCPKT_NOSTOP                       = 0x10
--	TIOCPKT_START                        = 0x8
--	TIOCPKT_STOP                         = 0x4
--	TIOCSBRK                             = 0x5427
--	TIOCSCTTY                            = 0x540e
--	TIOCSERCONFIG                        = 0x5453
--	TIOCSERGETLSR                        = 0x5459
--	TIOCSERGETMULTI                      = 0x545a
--	TIOCSERGSTRUCT                       = 0x5458
--	TIOCSERGWILD                         = 0x5454
--	TIOCSERSETMULTI                      = 0x545b
--	TIOCSERSWILD                         = 0x5455
--	TIOCSER_TEMT                         = 0x1
--	TIOCSETD                             = 0x5423
--	TIOCSIG                              = 0x40045436
--	TIOCSLCKTRMIOS                       = 0x5457
--	TIOCSPGRP                            = 0x5410
--	TIOCSPTLCK                           = 0x40045431
--	TIOCSRS485                           = 0x542f
--	TIOCSSERIAL                          = 0x541f
--	TIOCSSOFTCAR                         = 0x541a
--	TIOCSTI                              = 0x5412
--	TIOCSWINSZ                           = 0x5414
--	TIOCVHANGUP                          = 0x5437
--	TOSTOP                               = 0x100
--	TS_COMM_LEN                          = 0x20
--	TUNATTACHFILTER                      = 0x401054d5
--	TUNDETACHFILTER                      = 0x401054d6
--	TUNGETFEATURES                       = 0x800454cf
--	TUNGETFILTER                         = 0x801054db
--	TUNGETIFF                            = 0x800454d2
--	TUNGETSNDBUF                         = 0x800454d3
--	TUNGETVNETBE                         = 0x800454df
--	TUNGETVNETHDRSZ                      = 0x800454d7
--	TUNGETVNETLE                         = 0x800454dd
--	TUNSETDEBUG                          = 0x400454c9
--	TUNSETGROUP                          = 0x400454ce
--	TUNSETIFF                            = 0x400454ca
--	TUNSETIFINDEX                        = 0x400454da
--	TUNSETLINK                           = 0x400454cd
--	TUNSETNOCSUM                         = 0x400454c8
--	TUNSETOFFLOAD                        = 0x400454d0
--	TUNSETOWNER                          = 0x400454cc
--	TUNSETPERSIST                        = 0x400454cb
--	TUNSETQUEUE                          = 0x400454d9
--	TUNSETSNDBUF                         = 0x400454d4
--	TUNSETTXFILTER                       = 0x400454d1
--	TUNSETVNETBE                         = 0x400454de
--	TUNSETVNETHDRSZ                      = 0x400454d8
--	TUNSETVNETLE                         = 0x400454dc
--	UMOUNT_NOFOLLOW                      = 0x8
--	VDISCARD                             = 0xd
--	VEOF                                 = 0x4
--	VEOL                                 = 0xb
--	VEOL2                                = 0x10
--	VERASE                               = 0x2
--	VINTR                                = 0x0
--	VKILL                                = 0x3
--	VLNEXT                               = 0xf
--	VMADDR_CID_ANY                       = 0xffffffff
--	VMADDR_CID_HOST                      = 0x2
--	VMADDR_CID_HYPERVISOR                = 0x0
--	VMADDR_CID_RESERVED                  = 0x1
--	VMADDR_PORT_ANY                      = 0xffffffff
--	VMIN                                 = 0x6
--	VM_SOCKETS_INVALID_VERSION           = 0xffffffff
--	VQUIT                                = 0x1
--	VREPRINT                             = 0xc
--	VSTART                               = 0x8
--	VSTOP                                = 0x9
--	VSUSP                                = 0xa
--	VSWTC                                = 0x7
--	VT0                                  = 0x0
--	VT1                                  = 0x4000
--	VTDLY                                = 0x4000
--	VTIME                                = 0x5
--	VWERASE                              = 0xe
--	WALL                                 = 0x40000000
--	WCLONE                               = 0x80000000
--	WCONTINUED                           = 0x8
--	WEXITED                              = 0x4
--	WNOHANG                              = 0x1
--	WNOTHREAD                            = 0x20000000
--	WNOWAIT                              = 0x1000000
--	WORDSIZE                             = 0x40
--	WSTOPPED                             = 0x2
--	WUNTRACED                            = 0x2
--	XATTR_CREATE                         = 0x1
--	XATTR_REPLACE                        = 0x2
--	XCASE                                = 0x4
--	XTABS                                = 0x1800
-+	B1000000                         = 0x1008
-+	B115200                          = 0x1002
-+	B1152000                         = 0x1009
-+	B1500000                         = 0x100a
-+	B2000000                         = 0x100b
-+	B230400                          = 0x1003
-+	B2500000                         = 0x100c
-+	B3000000                         = 0x100d
-+	B3500000                         = 0x100e
-+	B4000000                         = 0x100f
-+	B460800                          = 0x1004
-+	B500000                          = 0x1005
-+	B57600                           = 0x1001
-+	B576000                          = 0x1006
-+	B921600                          = 0x1007
-+	BLKBSZGET                        = 0x80081270
-+	BLKBSZSET                        = 0x40081271
-+	BLKFLSBUF                        = 0x1261
-+	BLKFRAGET                        = 0x1265
-+	BLKFRASET                        = 0x1264
-+	BLKGETSIZE                       = 0x1260
-+	BLKGETSIZE64                     = 0x80081272
-+	BLKPBSZGET                       = 0x127b
-+	BLKRAGET                         = 0x1263
-+	BLKRASET                         = 0x1262
-+	BLKROGET                         = 0x125e
-+	BLKROSET                         = 0x125d
-+	BLKRRPART                        = 0x125f
-+	BLKSECTGET                       = 0x1267
-+	BLKSECTSET                       = 0x1266
-+	BLKSSZGET                        = 0x1268
-+	BOTHER                           = 0x1000
-+	BS1                              = 0x2000
-+	BSDLY                            = 0x2000
-+	CBAUD                            = 0x100f
-+	CBAUDEX                          = 0x1000
-+	CIBAUD                           = 0x100f0000
-+	CLOCAL                           = 0x800
-+	CR1                              = 0x200
-+	CR2                              = 0x400
-+	CR3                              = 0x600
-+	CRDLY                            = 0x600
-+	CREAD                            = 0x80
-+	CS6                              = 0x10
-+	CS7                              = 0x20
-+	CS8                              = 0x30
-+	CSIZE                            = 0x30
-+	CSTOPB                           = 0x40
-+	ECHOCTL                          = 0x200
-+	ECHOE                            = 0x10
-+	ECHOK                            = 0x20
-+	ECHOKE                           = 0x800
-+	ECHONL                           = 0x40
-+	ECHOPRT                          = 0x400
-+	EFD_CLOEXEC                      = 0x80000
-+	EFD_NONBLOCK                     = 0x800
-+	EPOLL_CLOEXEC                    = 0x80000
-+	ESR_MAGIC                        = 0x45535201
-+	EXTPROC                          = 0x10000
-+	EXTRA_MAGIC                      = 0x45585401
-+	FF1                              = 0x8000
-+	FFDLY                            = 0x8000
-+	FLUSHO                           = 0x1000
-+	FPSIMD_MAGIC                     = 0x46508001
-+	FS_IOC_ENABLE_VERITY             = 0x40806685
-+	FS_IOC_GETFLAGS                  = 0x80086601
-+	FS_IOC_GET_ENCRYPTION_POLICY     = 0x400c6615
-+	FS_IOC_GET_ENCRYPTION_PWSALT     = 0x40106614
-+	FS_IOC_SET_ENCRYPTION_POLICY     = 0x800c6613
-+	F_GETLK                          = 0x5
-+	F_GETLK64                        = 0x5
-+	F_GETOWN                         = 0x9
-+	F_RDLCK                          = 0x0
-+	F_SETLK                          = 0x6
-+	F_SETLK64                        = 0x6
-+	F_SETLKW                         = 0x7
-+	F_SETLKW64                       = 0x7
-+	F_SETOWN                         = 0x8
-+	F_UNLCK                          = 0x2
-+	F_WRLCK                          = 0x1
-+	HUPCL                            = 0x400
-+	ICANON                           = 0x2
-+	IEXTEN                           = 0x8000
-+	IN_CLOEXEC                       = 0x80000
-+	IN_NONBLOCK                      = 0x800
-+	IOCTL_VM_SOCKETS_GET_LOCAL_CID   = 0x7b9
-+	ISIG                             = 0x1
-+	IUCLC                            = 0x200
-+	IXOFF                            = 0x1000
-+	IXON                             = 0x400
-+	MAP_ANON                         = 0x20
-+	MAP_ANONYMOUS                    = 0x20
-+	MAP_DENYWRITE                    = 0x800
-+	MAP_EXECUTABLE                   = 0x1000
-+	MAP_GROWSDOWN                    = 0x100
-+	MAP_HUGETLB                      = 0x40000
-+	MAP_LOCKED                       = 0x2000
-+	MAP_NONBLOCK                     = 0x10000
-+	MAP_NORESERVE                    = 0x4000
-+	MAP_POPULATE                     = 0x8000
-+	MAP_STACK                        = 0x20000
-+	MAP_SYNC                         = 0x80000
-+	MCL_CURRENT                      = 0x1
-+	MCL_FUTURE                       = 0x2
-+	MCL_ONFAULT                      = 0x4
-+	NFDBITS                          = 0x40
-+	NLDLY                            = 0x100
-+	NOFLSH                           = 0x80
-+	NS_GET_NSTYPE                    = 0xb703
-+	NS_GET_OWNER_UID                 = 0xb704
-+	NS_GET_PARENT                    = 0xb702
-+	NS_GET_USERNS                    = 0xb701
-+	OLCUC                            = 0x2
-+	ONLCR                            = 0x4
-+	O_APPEND                         = 0x400
-+	O_ASYNC                          = 0x2000
-+	O_CLOEXEC                        = 0x80000
-+	O_CREAT                          = 0x40
-+	O_DIRECT                         = 0x10000
-+	O_DIRECTORY                      = 0x4000
-+	O_DSYNC                          = 0x1000
-+	O_EXCL                           = 0x80
-+	O_FSYNC                          = 0x101000
-+	O_LARGEFILE                      = 0x0
-+	O_NDELAY                         = 0x800
-+	O_NOATIME                        = 0x40000
-+	O_NOCTTY                         = 0x100
-+	O_NOFOLLOW                       = 0x8000
-+	O_NONBLOCK                       = 0x800
-+	O_PATH                           = 0x200000
-+	O_RSYNC                          = 0x101000
-+	O_SYNC                           = 0x101000
-+	O_TMPFILE                        = 0x404000
-+	O_TRUNC                          = 0x200
-+	PARENB                           = 0x100
-+	PARODD                           = 0x200
-+	PENDIN                           = 0x4000
-+	PERF_EVENT_IOC_DISABLE           = 0x2401
-+	PERF_EVENT_IOC_ENABLE            = 0x2400
-+	PERF_EVENT_IOC_ID                = 0x80082407
-+	PERF_EVENT_IOC_MODIFY_ATTRIBUTES = 0x4008240b
-+	PERF_EVENT_IOC_PAUSE_OUTPUT      = 0x40042409
-+	PERF_EVENT_IOC_PERIOD            = 0x40082404
-+	PERF_EVENT_IOC_QUERY_BPF         = 0xc008240a
-+	PERF_EVENT_IOC_REFRESH           = 0x2402
-+	PERF_EVENT_IOC_RESET             = 0x2403
-+	PERF_EVENT_IOC_SET_BPF           = 0x40042408
-+	PERF_EVENT_IOC_SET_FILTER        = 0x40082406
-+	PERF_EVENT_IOC_SET_OUTPUT        = 0x2405
-+	PPPIOCATTACH                     = 0x4004743d
-+	PPPIOCATTCHAN                    = 0x40047438
-+	PPPIOCCONNECT                    = 0x4004743a
-+	PPPIOCDETACH                     = 0x4004743c
-+	PPPIOCDISCONN                    = 0x7439
-+	PPPIOCGASYNCMAP                  = 0x80047458
-+	PPPIOCGCHAN                      = 0x80047437
-+	PPPIOCGDEBUG                     = 0x80047441
-+	PPPIOCGFLAGS                     = 0x8004745a
-+	PPPIOCGIDLE                      = 0x8010743f
-+	PPPIOCGIDLE32                    = 0x8008743f
-+	PPPIOCGIDLE64                    = 0x8010743f
-+	PPPIOCGL2TPSTATS                 = 0x80487436
-+	PPPIOCGMRU                       = 0x80047453
-+	PPPIOCGRASYNCMAP                 = 0x80047455
-+	PPPIOCGUNIT                      = 0x80047456
-+	PPPIOCGXASYNCMAP                 = 0x80207450
-+	PPPIOCSACTIVE                    = 0x40107446
-+	PPPIOCSASYNCMAP                  = 0x40047457
-+	PPPIOCSCOMPRESS                  = 0x4010744d
-+	PPPIOCSDEBUG                     = 0x40047440
-+	PPPIOCSFLAGS                     = 0x40047459
-+	PPPIOCSMAXCID                    = 0x40047451
-+	PPPIOCSMRRU                      = 0x4004743b
-+	PPPIOCSMRU                       = 0x40047452
-+	PPPIOCSNPMODE                    = 0x4008744b
-+	PPPIOCSPASS                      = 0x40107447
-+	PPPIOCSRASYNCMAP                 = 0x40047454
-+	PPPIOCSXASYNCMAP                 = 0x4020744f
-+	PPPIOCXFERUNIT                   = 0x744e
-+	PR_SET_PTRACER_ANY               = 0xffffffffffffffff
-+	PTRACE_SYSEMU                    = 0x1f
-+	PTRACE_SYSEMU_SINGLESTEP         = 0x20
-+	RLIMIT_AS                        = 0x9
-+	RLIMIT_MEMLOCK                   = 0x8
-+	RLIMIT_NOFILE                    = 0x7
-+	RLIMIT_NPROC                     = 0x6
-+	RLIMIT_RSS                       = 0x5
-+	RNDADDENTROPY                    = 0x40085203
-+	RNDADDTOENTCNT                   = 0x40045201
-+	RNDCLEARPOOL                     = 0x5206
-+	RNDGETENTCNT                     = 0x80045200
-+	RNDGETPOOL                       = 0x80085202
-+	RNDRESEEDCRNG                    = 0x5207
-+	RNDZAPENTCNT                     = 0x5204
-+	RTC_AIE_OFF                      = 0x7002
-+	RTC_AIE_ON                       = 0x7001
-+	RTC_ALM_READ                     = 0x80247008
-+	RTC_ALM_SET                      = 0x40247007
-+	RTC_EPOCH_READ                   = 0x8008700d
-+	RTC_EPOCH_SET                    = 0x4008700e
-+	RTC_IRQP_READ                    = 0x8008700b
-+	RTC_IRQP_SET                     = 0x4008700c
-+	RTC_PIE_OFF                      = 0x7006
-+	RTC_PIE_ON                       = 0x7005
-+	RTC_PLL_GET                      = 0x80207011
-+	RTC_PLL_SET                      = 0x40207012
-+	RTC_RD_TIME                      = 0x80247009
-+	RTC_SET_TIME                     = 0x4024700a
-+	RTC_UIE_OFF                      = 0x7004
-+	RTC_UIE_ON                       = 0x7003
-+	RTC_VL_CLR                       = 0x7014
-+	RTC_VL_READ                      = 0x80047013
-+	RTC_WIE_OFF                      = 0x7010
-+	RTC_WIE_ON                       = 0x700f
-+	RTC_WKALM_RD                     = 0x80287010
-+	RTC_WKALM_SET                    = 0x4028700f
-+	SCM_TIMESTAMPING                 = 0x25
-+	SCM_TIMESTAMPING_OPT_STATS       = 0x36
-+	SCM_TIMESTAMPING_PKTINFO         = 0x3a
-+	SCM_TIMESTAMPNS                  = 0x23
-+	SCM_TXTIME                       = 0x3d
-+	SCM_WIFI_STATUS                  = 0x29
-+	SFD_CLOEXEC                      = 0x80000
-+	SFD_NONBLOCK                     = 0x800
-+	SIOCATMARK                       = 0x8905
-+	SIOCGPGRP                        = 0x8904
-+	SIOCGSTAMPNS_NEW                 = 0x80108907
-+	SIOCGSTAMP_NEW                   = 0x80108906
-+	SIOCINQ                          = 0x541b
-+	SIOCOUTQ                         = 0x5411
-+	SIOCSPGRP                        = 0x8902
-+	SOCK_CLOEXEC                     = 0x80000
-+	SOCK_DGRAM                       = 0x2
-+	SOCK_NONBLOCK                    = 0x800
-+	SOCK_STREAM                      = 0x1
-+	SOL_SOCKET                       = 0x1
-+	SO_ACCEPTCONN                    = 0x1e
-+	SO_ATTACH_BPF                    = 0x32
-+	SO_ATTACH_REUSEPORT_CBPF         = 0x33
-+	SO_ATTACH_REUSEPORT_EBPF         = 0x34
-+	SO_BINDTODEVICE                  = 0x19
-+	SO_BINDTOIFINDEX                 = 0x3e
-+	SO_BPF_EXTENSIONS                = 0x30
-+	SO_BROADCAST                     = 0x6
-+	SO_BSDCOMPAT                     = 0xe
-+	SO_BUSY_POLL                     = 0x2e
-+	SO_CNX_ADVICE                    = 0x35
-+	SO_COOKIE                        = 0x39
-+	SO_DETACH_REUSEPORT_BPF          = 0x44
-+	SO_DOMAIN                        = 0x27
-+	SO_DONTROUTE                     = 0x5
-+	SO_ERROR                         = 0x4
-+	SO_INCOMING_CPU                  = 0x31
-+	SO_INCOMING_NAPI_ID              = 0x38
-+	SO_KEEPALIVE                     = 0x9
-+	SO_LINGER                        = 0xd
-+	SO_LOCK_FILTER                   = 0x2c
-+	SO_MARK                          = 0x24
-+	SO_MAX_PACING_RATE               = 0x2f
-+	SO_MEMINFO                       = 0x37
-+	SO_NOFCS                         = 0x2b
-+	SO_OOBINLINE                     = 0xa
-+	SO_PASSCRED                      = 0x10
-+	SO_PASSSEC                       = 0x22
-+	SO_PEEK_OFF                      = 0x2a
-+	SO_PEERCRED                      = 0x11
-+	SO_PEERGROUPS                    = 0x3b
-+	SO_PEERSEC                       = 0x1f
-+	SO_PROTOCOL                      = 0x26
-+	SO_RCVBUF                        = 0x8
-+	SO_RCVBUFFORCE                   = 0x21
-+	SO_RCVLOWAT                      = 0x12
-+	SO_RCVTIMEO                      = 0x14
-+	SO_RCVTIMEO_NEW                  = 0x42
-+	SO_RCVTIMEO_OLD                  = 0x14
-+	SO_REUSEADDR                     = 0x2
-+	SO_REUSEPORT                     = 0xf
-+	SO_RXQ_OVFL                      = 0x28
-+	SO_SECURITY_AUTHENTICATION       = 0x16
-+	SO_SECURITY_ENCRYPTION_NETWORK   = 0x18
-+	SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17
-+	SO_SELECT_ERR_QUEUE              = 0x2d
-+	SO_SNDBUF                        = 0x7
-+	SO_SNDBUFFORCE                   = 0x20
-+	SO_SNDLOWAT                      = 0x13
-+	SO_SNDTIMEO                      = 0x15
-+	SO_SNDTIMEO_NEW                  = 0x43
-+	SO_SNDTIMEO_OLD                  = 0x15
-+	SO_TIMESTAMPING                  = 0x25
-+	SO_TIMESTAMPING_NEW              = 0x41
-+	SO_TIMESTAMPING_OLD              = 0x25
-+	SO_TIMESTAMPNS                   = 0x23
-+	SO_TIMESTAMPNS_NEW               = 0x40
-+	SO_TIMESTAMPNS_OLD               = 0x23
-+	SO_TIMESTAMP_NEW                 = 0x3f
-+	SO_TXTIME                        = 0x3d
-+	SO_TYPE                          = 0x3
-+	SO_WIFI_STATUS                   = 0x29
-+	SO_ZEROCOPY                      = 0x3c
-+	SVE_MAGIC                        = 0x53564501
-+	TAB1                             = 0x800
-+	TAB2                             = 0x1000
-+	TAB3                             = 0x1800
-+	TABDLY                           = 0x1800
-+	TCFLSH                           = 0x540b
-+	TCGETA                           = 0x5405
-+	TCGETS                           = 0x5401
-+	TCGETS2                          = 0x802c542a
-+	TCGETX                           = 0x5432
-+	TCSAFLUSH                        = 0x2
-+	TCSBRK                           = 0x5409
-+	TCSBRKP                          = 0x5425
-+	TCSETA                           = 0x5406
-+	TCSETAF                          = 0x5408
-+	TCSETAW                          = 0x5407
-+	TCSETS                           = 0x5402
-+	TCSETS2                          = 0x402c542b
-+	TCSETSF                          = 0x5404
-+	TCSETSF2                         = 0x402c542d
-+	TCSETSW                          = 0x5403
-+	TCSETSW2                         = 0x402c542c
-+	TCSETX                           = 0x5433
-+	TCSETXF                          = 0x5434
-+	TCSETXW                          = 0x5435
-+	TCXONC                           = 0x540a
-+	TIOCCBRK                         = 0x5428
-+	TIOCCONS                         = 0x541d
-+	TIOCEXCL                         = 0x540c
-+	TIOCGDEV                         = 0x80045432
-+	TIOCGETD                         = 0x5424
-+	TIOCGEXCL                        = 0x80045440
-+	TIOCGICOUNT                      = 0x545d
-+	TIOCGISO7816                     = 0x80285442
-+	TIOCGLCKTRMIOS                   = 0x5456
-+	TIOCGPGRP                        = 0x540f
-+	TIOCGPKT                         = 0x80045438
-+	TIOCGPTLCK                       = 0x80045439
-+	TIOCGPTN                         = 0x80045430
-+	TIOCGPTPEER                      = 0x5441
-+	TIOCGRS485                       = 0x542e
-+	TIOCGSERIAL                      = 0x541e
-+	TIOCGSID                         = 0x5429
-+	TIOCGSOFTCAR                     = 0x5419
-+	TIOCGWINSZ                       = 0x5413
-+	TIOCINQ                          = 0x541b
-+	TIOCLINUX                        = 0x541c
-+	TIOCMBIC                         = 0x5417
-+	TIOCMBIS                         = 0x5416
-+	TIOCMGET                         = 0x5415
-+	TIOCMIWAIT                       = 0x545c
-+	TIOCMSET                         = 0x5418
-+	TIOCM_CAR                        = 0x40
-+	TIOCM_CD                         = 0x40
-+	TIOCM_CTS                        = 0x20
-+	TIOCM_DSR                        = 0x100
-+	TIOCM_RI                         = 0x80
-+	TIOCM_RNG                        = 0x80
-+	TIOCM_SR                         = 0x10
-+	TIOCM_ST                         = 0x8
-+	TIOCNOTTY                        = 0x5422
-+	TIOCNXCL                         = 0x540d
-+	TIOCOUTQ                         = 0x5411
-+	TIOCPKT                          = 0x5420
-+	TIOCSBRK                         = 0x5427
-+	TIOCSCTTY                        = 0x540e
-+	TIOCSERCONFIG                    = 0x5453
-+	TIOCSERGETLSR                    = 0x5459
-+	TIOCSERGETMULTI                  = 0x545a
-+	TIOCSERGSTRUCT                   = 0x5458
-+	TIOCSERGWILD                     = 0x5454
-+	TIOCSERSETMULTI                  = 0x545b
-+	TIOCSERSWILD                     = 0x5455
-+	TIOCSER_TEMT                     = 0x1
-+	TIOCSETD                         = 0x5423
-+	TIOCSIG                          = 0x40045436
-+	TIOCSISO7816                     = 0xc0285443
-+	TIOCSLCKTRMIOS                   = 0x5457
-+	TIOCSPGRP                        = 0x5410
-+	TIOCSPTLCK                       = 0x40045431
-+	TIOCSRS485                       = 0x542f
-+	TIOCSSERIAL                      = 0x541f
-+	TIOCSSOFTCAR                     = 0x541a
-+	TIOCSTI                          = 0x5412
-+	TIOCSWINSZ                       = 0x5414
-+	TIOCVHANGUP                      = 0x5437
-+	TOSTOP                           = 0x100
-+	TUNATTACHFILTER                  = 0x401054d5
-+	TUNDETACHFILTER                  = 0x401054d6
-+	TUNGETDEVNETNS                   = 0x54e3
-+	TUNGETFEATURES                   = 0x800454cf
-+	TUNGETFILTER                     = 0x801054db
-+	TUNGETIFF                        = 0x800454d2
-+	TUNGETSNDBUF                     = 0x800454d3
-+	TUNGETVNETBE                     = 0x800454df
-+	TUNGETVNETHDRSZ                  = 0x800454d7
-+	TUNGETVNETLE                     = 0x800454dd
-+	TUNSETCARRIER                    = 0x400454e2
-+	TUNSETDEBUG                      = 0x400454c9
-+	TUNSETFILTEREBPF                 = 0x800454e1
-+	TUNSETGROUP                      = 0x400454ce
-+	TUNSETIFF                        = 0x400454ca
-+	TUNSETIFINDEX                    = 0x400454da
-+	TUNSETLINK                       = 0x400454cd
-+	TUNSETNOCSUM                     = 0x400454c8
-+	TUNSETOFFLOAD                    = 0x400454d0
-+	TUNSETOWNER                      = 0x400454cc
-+	TUNSETPERSIST                    = 0x400454cb
-+	TUNSETQUEUE                      = 0x400454d9
-+	TUNSETSNDBUF                     = 0x400454d4
-+	TUNSETSTEERINGEBPF               = 0x800454e0
-+	TUNSETTXFILTER                   = 0x400454d1
-+	TUNSETVNETBE                     = 0x400454de
-+	TUNSETVNETHDRSZ                  = 0x400454d8
-+	TUNSETVNETLE                     = 0x400454dc
-+	UBI_IOCATT                       = 0x40186f40
-+	UBI_IOCDET                       = 0x40046f41
-+	UBI_IOCEBCH                      = 0x40044f02
-+	UBI_IOCEBER                      = 0x40044f01
-+	UBI_IOCEBISMAP                   = 0x80044f05
-+	UBI_IOCEBMAP                     = 0x40084f03
-+	UBI_IOCEBUNMAP                   = 0x40044f04
-+	UBI_IOCMKVOL                     = 0x40986f00
-+	UBI_IOCRMVOL                     = 0x40046f01
-+	UBI_IOCRNVOL                     = 0x51106f03
-+	UBI_IOCRPEB                      = 0x40046f04
-+	UBI_IOCRSVOL                     = 0x400c6f02
-+	UBI_IOCSETVOLPROP                = 0x40104f06
-+	UBI_IOCSPEB                      = 0x40046f05
-+	UBI_IOCVOLCRBLK                  = 0x40804f07
-+	UBI_IOCVOLRMBLK                  = 0x4f08
-+	UBI_IOCVOLUP                     = 0x40084f00
-+	VDISCARD                         = 0xd
-+	VEOF                             = 0x4
-+	VEOL                             = 0xb
-+	VEOL2                            = 0x10
-+	VMIN                             = 0x6
-+	VREPRINT                         = 0xc
-+	VSTART                           = 0x8
-+	VSTOP                            = 0x9
-+	VSUSP                            = 0xa
-+	VSWTC                            = 0x7
-+	VT1                              = 0x4000
-+	VTDLY                            = 0x4000
-+	VTIME                            = 0x5
-+	VWERASE                          = 0xe
-+	WDIOC_GETBOOTSTATUS              = 0x80045702
-+	WDIOC_GETPRETIMEOUT              = 0x80045709
-+	WDIOC_GETSTATUS                  = 0x80045701
-+	WDIOC_GETSUPPORT                 = 0x80285700
-+	WDIOC_GETTEMP                    = 0x80045703
-+	WDIOC_GETTIMELEFT                = 0x8004570a
-+	WDIOC_GETTIMEOUT                 = 0x80045707
-+	WDIOC_KEEPALIVE                  = 0x80045705
-+	WDIOC_SETOPTIONS                 = 0x80045704
-+	WORDSIZE                         = 0x40
-+	XCASE                            = 0x4
-+	XTABS                            = 0x1800
- )
- 
- // Errors
- const (
--	E2BIG           = syscall.Errno(0x7)
--	EACCES          = syscall.Errno(0xd)
- 	EADDRINUSE      = syscall.Errno(0x62)
- 	EADDRNOTAVAIL   = syscall.Errno(0x63)
- 	EADV            = syscall.Errno(0x44)
- 	EAFNOSUPPORT    = syscall.Errno(0x61)
--	EAGAIN          = syscall.Errno(0xb)
- 	EALREADY        = syscall.Errno(0x72)
- 	EBADE           = syscall.Errno(0x34)
--	EBADF           = syscall.Errno(0x9)
- 	EBADFD          = syscall.Errno(0x4d)
- 	EBADMSG         = syscall.Errno(0x4a)
- 	EBADR           = syscall.Errno(0x35)
- 	EBADRQC         = syscall.Errno(0x38)
- 	EBADSLT         = syscall.Errno(0x39)
- 	EBFONT          = syscall.Errno(0x3b)
--	EBUSY           = syscall.Errno(0x10)
- 	ECANCELED       = syscall.Errno(0x7d)
--	ECHILD          = syscall.Errno(0xa)
- 	ECHRNG          = syscall.Errno(0x2c)
- 	ECOMM           = syscall.Errno(0x46)
- 	ECONNABORTED    = syscall.Errno(0x67)
-@@ -1871,23 +493,15 @@ const (
- 	EDEADLK         = syscall.Errno(0x23)
- 	EDEADLOCK       = syscall.Errno(0x23)
- 	EDESTADDRREQ    = syscall.Errno(0x59)
--	EDOM            = syscall.Errno(0x21)
- 	EDOTDOT         = syscall.Errno(0x49)
- 	EDQUOT          = syscall.Errno(0x7a)
--	EEXIST          = syscall.Errno(0x11)
--	EFAULT          = syscall.Errno(0xe)
--	EFBIG           = syscall.Errno(0x1b)
- 	EHOSTDOWN       = syscall.Errno(0x70)
- 	EHOSTUNREACH    = syscall.Errno(0x71)
- 	EHWPOISON       = syscall.Errno(0x85)
- 	EIDRM           = syscall.Errno(0x2b)
- 	EILSEQ          = syscall.Errno(0x54)
- 	EINPROGRESS     = syscall.Errno(0x73)
--	EINTR           = syscall.Errno(0x4)
--	EINVAL          = syscall.Errno(0x16)
--	EIO             = syscall.Errno(0x5)
- 	EISCONN         = syscall.Errno(0x6a)
--	EISDIR          = syscall.Errno(0x15)
- 	EISNAM          = syscall.Errno(0x78)
- 	EKEYEXPIRED     = syscall.Errno(0x7f)
- 	EKEYREJECTED    = syscall.Errno(0x81)
-@@ -1904,8 +518,6 @@ const (
- 	ELNRNG          = syscall.Errno(0x30)
- 	ELOOP           = syscall.Errno(0x28)
- 	EMEDIUMTYPE     = syscall.Errno(0x7c)
--	EMFILE          = syscall.Errno(0x18)
--	EMLINK          = syscall.Errno(0x1f)
- 	EMSGSIZE        = syscall.Errno(0x5a)
- 	EMULTIHOP       = syscall.Errno(0x48)
- 	ENAMETOOLONG    = syscall.Errno(0x24)
-@@ -1913,103 +525,70 @@ const (
- 	ENETDOWN        = syscall.Errno(0x64)
- 	ENETRESET       = syscall.Errno(0x66)
- 	ENETUNREACH     = syscall.Errno(0x65)
--	ENFILE          = syscall.Errno(0x17)
- 	ENOANO          = syscall.Errno(0x37)
- 	ENOBUFS         = syscall.Errno(0x69)
- 	ENOCSI          = syscall.Errno(0x32)
- 	ENODATA         = syscall.Errno(0x3d)
--	ENODEV          = syscall.Errno(0x13)
--	ENOENT          = syscall.Errno(0x2)
--	ENOEXEC         = syscall.Errno(0x8)
- 	ENOKEY          = syscall.Errno(0x7e)
- 	ENOLCK          = syscall.Errno(0x25)
- 	ENOLINK         = syscall.Errno(0x43)
- 	ENOMEDIUM       = syscall.Errno(0x7b)
--	ENOMEM          = syscall.Errno(0xc)
- 	ENOMSG          = syscall.Errno(0x2a)
- 	ENONET          = syscall.Errno(0x40)
- 	ENOPKG          = syscall.Errno(0x41)
- 	ENOPROTOOPT     = syscall.Errno(0x5c)
--	ENOSPC          = syscall.Errno(0x1c)
- 	ENOSR           = syscall.Errno(0x3f)
- 	ENOSTR          = syscall.Errno(0x3c)
- 	ENOSYS          = syscall.Errno(0x26)
--	ENOTBLK         = syscall.Errno(0xf)
- 	ENOTCONN        = syscall.Errno(0x6b)
--	ENOTDIR         = syscall.Errno(0x14)
- 	ENOTEMPTY       = syscall.Errno(0x27)
- 	ENOTNAM         = syscall.Errno(0x76)
- 	ENOTRECOVERABLE = syscall.Errno(0x83)
- 	ENOTSOCK        = syscall.Errno(0x58)
- 	ENOTSUP         = syscall.Errno(0x5f)
--	ENOTTY          = syscall.Errno(0x19)
- 	ENOTUNIQ        = syscall.Errno(0x4c)
--	ENXIO           = syscall.Errno(0x6)
- 	EOPNOTSUPP      = syscall.Errno(0x5f)
- 	EOVERFLOW       = syscall.Errno(0x4b)
- 	EOWNERDEAD      = syscall.Errno(0x82)
--	EPERM           = syscall.Errno(0x1)
- 	EPFNOSUPPORT    = syscall.Errno(0x60)
--	EPIPE           = syscall.Errno(0x20)
- 	EPROTO          = syscall.Errno(0x47)
- 	EPROTONOSUPPORT = syscall.Errno(0x5d)
- 	EPROTOTYPE      = syscall.Errno(0x5b)
--	ERANGE          = syscall.Errno(0x22)
- 	EREMCHG         = syscall.Errno(0x4e)
- 	EREMOTE         = syscall.Errno(0x42)
- 	EREMOTEIO       = syscall.Errno(0x79)
- 	ERESTART        = syscall.Errno(0x55)
- 	ERFKILL         = syscall.Errno(0x84)
--	EROFS           = syscall.Errno(0x1e)
- 	ESHUTDOWN       = syscall.Errno(0x6c)
- 	ESOCKTNOSUPPORT = syscall.Errno(0x5e)
--	ESPIPE          = syscall.Errno(0x1d)
--	ESRCH           = syscall.Errno(0x3)
- 	ESRMNT          = syscall.Errno(0x45)
- 	ESTALE          = syscall.Errno(0x74)
- 	ESTRPIPE        = syscall.Errno(0x56)
- 	ETIME           = syscall.Errno(0x3e)
- 	ETIMEDOUT       = syscall.Errno(0x6e)
- 	ETOOMANYREFS    = syscall.Errno(0x6d)
--	ETXTBSY         = syscall.Errno(0x1a)
- 	EUCLEAN         = syscall.Errno(0x75)
- 	EUNATCH         = syscall.Errno(0x31)
- 	EUSERS          = syscall.Errno(0x57)
--	EWOULDBLOCK     = syscall.Errno(0xb)
--	EXDEV           = syscall.Errno(0x12)
- 	EXFULL          = syscall.Errno(0x36)
- )
- 
- // Signals
- const (
--	SIGABRT   = syscall.Signal(0x6)
--	SIGALRM   = syscall.Signal(0xe)
- 	SIGBUS    = syscall.Signal(0x7)
- 	SIGCHLD   = syscall.Signal(0x11)
- 	SIGCLD    = syscall.Signal(0x11)
- 	SIGCONT   = syscall.Signal(0x12)
--	SIGFPE    = syscall.Signal(0x8)
--	SIGHUP    = syscall.Signal(0x1)
--	SIGILL    = syscall.Signal(0x4)
--	SIGINT    = syscall.Signal(0x2)
- 	SIGIO     = syscall.Signal(0x1d)
--	SIGIOT    = syscall.Signal(0x6)
--	SIGKILL   = syscall.Signal(0x9)
--	SIGPIPE   = syscall.Signal(0xd)
- 	SIGPOLL   = syscall.Signal(0x1d)
- 	SIGPROF   = syscall.Signal(0x1b)
- 	SIGPWR    = syscall.Signal(0x1e)
--	SIGQUIT   = syscall.Signal(0x3)
--	SIGSEGV   = syscall.Signal(0xb)
- 	SIGSTKFLT = syscall.Signal(0x10)
- 	SIGSTOP   = syscall.Signal(0x13)
- 	SIGSYS    = syscall.Signal(0x1f)
--	SIGTERM   = syscall.Signal(0xf)
--	SIGTRAP   = syscall.Signal(0x5)
- 	SIGTSTP   = syscall.Signal(0x14)
- 	SIGTTIN   = syscall.Signal(0x15)
- 	SIGTTOU   = syscall.Signal(0x16)
--	SIGUNUSED = syscall.Signal(0x1f)
- 	SIGURG    = syscall.Signal(0x17)
- 	SIGUSR1   = syscall.Signal(0xa)
- 	SIGUSR2   = syscall.Signal(0xc)
-@@ -2020,171 +599,179 @@ const (
- )
- 
- // Error table
--var errors = [...]string{
--	1:   "operation not permitted",
--	2:   "no such file or directory",
--	3:   "no such process",
--	4:   "interrupted system call",
--	5:   "input/output error",
--	6:   "no such device or address",
--	7:   "argument list too long",
--	8:   "exec format error",
--	9:   "bad file descriptor",
--	10:  "no child processes",
--	11:  "resource temporarily unavailable",
--	12:  "cannot allocate memory",
--	13:  "permission denied",
--	14:  "bad address",
--	15:  "block device required",
--	16:  "device or resource busy",
--	17:  "file exists",
--	18:  "invalid cross-device link",
--	19:  "no such device",
--	20:  "not a directory",
--	21:  "is a directory",
--	22:  "invalid argument",
--	23:  "too many open files in system",
--	24:  "too many open files",
--	25:  "inappropriate ioctl for device",
--	26:  "text file busy",
--	27:  "file too large",
--	28:  "no space left on device",
--	29:  "illegal seek",
--	30:  "read-only file system",
--	31:  "too many links",
--	32:  "broken pipe",
--	33:  "numerical argument out of domain",
--	34:  "numerical result out of range",
--	35:  "resource deadlock avoided",
--	36:  "file name too long",
--	37:  "no locks available",
--	38:  "function not implemented",
--	39:  "directory not empty",
--	40:  "too many levels of symbolic links",
--	42:  "no message of desired type",
--	43:  "identifier removed",
--	44:  "channel number out of range",
--	45:  "level 2 not synchronized",
--	46:  "level 3 halted",
--	47:  "level 3 reset",
--	48:  "link number out of range",
--	49:  "protocol driver not attached",
--	50:  "no CSI structure available",
--	51:  "level 2 halted",
--	52:  "invalid exchange",
--	53:  "invalid request descriptor",
--	54:  "exchange full",
--	55:  "no anode",
--	56:  "invalid request code",
--	57:  "invalid slot",
--	59:  "bad font file format",
--	60:  "device not a stream",
--	61:  "no data available",
--	62:  "timer expired",
--	63:  "out of streams resources",
--	64:  "machine is not on the network",
--	65:  "package not installed",
--	66:  "object is remote",
--	67:  "link has been severed",
--	68:  "advertise error",
--	69:  "srmount error",
--	70:  "communication error on send",
--	71:  "protocol error",
--	72:  "multihop attempted",
--	73:  "RFS specific error",
--	74:  "bad message",
--	75:  "value too large for defined data type",
--	76:  "name not unique on network",
--	77:  "file descriptor in bad state",
--	78:  "remote address changed",
--	79:  "can not access a needed shared library",
--	80:  "accessing a corrupted shared library",
--	81:  ".lib section in a.out corrupted",
--	82:  "attempting to link in too many shared libraries",
--	83:  "cannot exec a shared library directly",
--	84:  "invalid or incomplete multibyte or wide character",
--	85:  "interrupted system call should be restarted",
--	86:  "streams pipe error",
--	87:  "too many users",
--	88:  "socket operation on non-socket",
--	89:  "destination address required",
--	90:  "message too long",
--	91:  "protocol wrong type for socket",
--	92:  "protocol not available",
--	93:  "protocol not supported",
--	94:  "socket type not supported",
--	95:  "operation not supported",
--	96:  "protocol family not supported",
--	97:  "address family not supported by protocol",
--	98:  "address already in use",
--	99:  "cannot assign requested address",
--	100: "network is down",
--	101: "network is unreachable",
--	102: "network dropped connection on reset",
--	103: "software caused connection abort",
--	104: "connection reset by peer",
--	105: "no buffer space available",
--	106: "transport endpoint is already connected",
--	107: "transport endpoint is not connected",
--	108: "cannot send after transport endpoint shutdown",
--	109: "too many references: cannot splice",
--	110: "connection timed out",
--	111: "connection refused",
--	112: "host is down",
--	113: "no route to host",
--	114: "operation already in progress",
--	115: "operation now in progress",
--	116: "stale file handle",
--	117: "structure needs cleaning",
--	118: "not a XENIX named type file",
--	119: "no XENIX semaphores available",
--	120: "is a named type file",
--	121: "remote I/O error",
--	122: "disk quota exceeded",
--	123: "no medium found",
--	124: "wrong medium type",
--	125: "operation canceled",
--	126: "required key not available",
--	127: "key has expired",
--	128: "key has been revoked",
--	129: "key was rejected by service",
--	130: "owner died",
--	131: "state not recoverable",
--	132: "operation not possible due to RF-kill",
--	133: "memory page has hardware error",
-+var errorList = [...]struct {
-+	num  syscall.Errno
-+	name string
-+	desc string
-+}{
-+	{1, "EPERM", "operation not permitted"},
-+	{2, "ENOENT", "no such file or directory"},
-+	{3, "ESRCH", "no such process"},
-+	{4, "EINTR", "interrupted system call"},
-+	{5, "EIO", "input/output error"},
-+	{6, "ENXIO", "no such device or address"},
-+	{7, "E2BIG", "argument list too long"},
-+	{8, "ENOEXEC", "exec format error"},
-+	{9, "EBADF", "bad file descriptor"},
-+	{10, "ECHILD", "no child processes"},
-+	{11, "EAGAIN", "resource temporarily unavailable"},
-+	{12, "ENOMEM", "cannot allocate memory"},
-+	{13, "EACCES", "permission denied"},
-+	{14, "EFAULT", "bad address"},
-+	{15, "ENOTBLK", "block device required"},
-+	{16, "EBUSY", "device or resource busy"},
-+	{17, "EEXIST", "file exists"},
-+	{18, "EXDEV", "invalid cross-device link"},
-+	{19, "ENODEV", "no such device"},
-+	{20, "ENOTDIR", "not a directory"},
-+	{21, "EISDIR", "is a directory"},
-+	{22, "EINVAL", "invalid argument"},
-+	{23, "ENFILE", "too many open files in system"},
-+	{24, "EMFILE", "too many open files"},
-+	{25, "ENOTTY", "inappropriate ioctl for device"},
-+	{26, "ETXTBSY", "text file busy"},
-+	{27, "EFBIG", "file too large"},
-+	{28, "ENOSPC", "no space left on device"},
-+	{29, "ESPIPE", "illegal seek"},
-+	{30, "EROFS", "read-only file system"},
-+	{31, "EMLINK", "too many links"},
-+	{32, "EPIPE", "broken pipe"},
-+	{33, "EDOM", "numerical argument out of domain"},
-+	{34, "ERANGE", "numerical result out of range"},
-+	{35, "EDEADLK", "resource deadlock avoided"},
-+	{36, "ENAMETOOLONG", "file name too long"},
-+	{37, "ENOLCK", "no locks available"},
-+	{38, "ENOSYS", "function not implemented"},
-+	{39, "ENOTEMPTY", "directory not empty"},
-+	{40, "ELOOP", "too many levels of symbolic links"},
-+	{42, "ENOMSG", "no message of desired type"},
-+	{43, "EIDRM", "identifier removed"},
-+	{44, "ECHRNG", "channel number out of range"},
-+	{45, "EL2NSYNC", "level 2 not synchronized"},
-+	{46, "EL3HLT", "level 3 halted"},
-+	{47, "EL3RST", "level 3 reset"},
-+	{48, "ELNRNG", "link number out of range"},
-+	{49, "EUNATCH", "protocol driver not attached"},
-+	{50, "ENOCSI", "no CSI structure available"},
-+	{51, "EL2HLT", "level 2 halted"},
-+	{52, "EBADE", "invalid exchange"},
-+	{53, "EBADR", "invalid request descriptor"},
-+	{54, "EXFULL", "exchange full"},
-+	{55, "ENOANO", "no anode"},
-+	{56, "EBADRQC", "invalid request code"},
-+	{57, "EBADSLT", "invalid slot"},
-+	{59, "EBFONT", "bad font file format"},
-+	{60, "ENOSTR", "device not a stream"},
-+	{61, "ENODATA", "no data available"},
-+	{62, "ETIME", "timer expired"},
-+	{63, "ENOSR", "out of streams resources"},
-+	{64, "ENONET", "machine is not on the network"},
-+	{65, "ENOPKG", "package not installed"},
-+	{66, "EREMOTE", "object is remote"},
-+	{67, "ENOLINK", "link has been severed"},
-+	{68, "EADV", "advertise error"},
-+	{69, "ESRMNT", "srmount error"},
-+	{70, "ECOMM", "communication error on send"},
-+	{71, "EPROTO", "protocol error"},
-+	{72, "EMULTIHOP", "multihop attempted"},
-+	{73, "EDOTDOT", "RFS specific error"},
-+	{74, "EBADMSG", "bad message"},
-+	{75, "EOVERFLOW", "value too large for defined data type"},
-+	{76, "ENOTUNIQ", "name not unique on network"},
-+	{77, "EBADFD", "file descriptor in bad state"},
-+	{78, "EREMCHG", "remote address changed"},
-+	{79, "ELIBACC", "can not access a needed shared library"},
-+	{80, "ELIBBAD", "accessing a corrupted shared library"},
-+	{81, "ELIBSCN", ".lib section in a.out corrupted"},
-+	{82, "ELIBMAX", "attempting to link in too many shared libraries"},
-+	{83, "ELIBEXEC", "cannot exec a shared library directly"},
-+	{84, "EILSEQ", "invalid or incomplete multibyte or wide character"},
-+	{85, "ERESTART", "interrupted system call should be restarted"},
-+	{86, "ESTRPIPE", "streams pipe error"},
-+	{87, "EUSERS", "too many users"},
-+	{88, "ENOTSOCK", "socket operation on non-socket"},
-+	{89, "EDESTADDRREQ", "destination address required"},
-+	{90, "EMSGSIZE", "message too long"},
-+	{91, "EPROTOTYPE", "protocol wrong type for socket"},
-+	{92, "ENOPROTOOPT", "protocol not available"},
-+	{93, "EPROTONOSUPPORT", "protocol not supported"},
-+	{94, "ESOCKTNOSUPPORT", "socket type not supported"},
-+	{95, "ENOTSUP", "operation not supported"},
-+	{96, "EPFNOSUPPORT", "protocol family not supported"},
-+	{97, "EAFNOSUPPORT", "address family not supported by protocol"},
-+	{98, "EADDRINUSE", "address already in use"},
-+	{99, "EADDRNOTAVAIL", "cannot assign requested address"},
-+	{100, "ENETDOWN", "network is down"},
-+	{101, "ENETUNREACH", "network is unreachable"},
-+	{102, "ENETRESET", "network dropped connection on reset"},
-+	{103, "ECONNABORTED", "software caused connection abort"},
-+	{104, "ECONNRESET", "connection reset by peer"},
-+	{105, "ENOBUFS", "no buffer space available"},
-+	{106, "EISCONN", "transport endpoint is already connected"},
-+	{107, "ENOTCONN", "transport endpoint is not connected"},
-+	{108, "ESHUTDOWN", "cannot send after transport endpoint shutdown"},
-+	{109, "ETOOMANYREFS", "too many references: cannot splice"},
-+	{110, "ETIMEDOUT", "connection timed out"},
-+	{111, "ECONNREFUSED", "connection refused"},
-+	{112, "EHOSTDOWN", "host is down"},
-+	{113, "EHOSTUNREACH", "no route to host"},
-+	{114, "EALREADY", "operation already in progress"},
-+	{115, "EINPROGRESS", "operation now in progress"},
-+	{116, "ESTALE", "stale file handle"},
-+	{117, "EUCLEAN", "structure needs cleaning"},
-+	{118, "ENOTNAM", "not a XENIX named type file"},
-+	{119, "ENAVAIL", "no XENIX semaphores available"},
-+	{120, "EISNAM", "is a named type file"},
-+	{121, "EREMOTEIO", "remote I/O error"},
-+	{122, "EDQUOT", "disk quota exceeded"},
-+	{123, "ENOMEDIUM", "no medium found"},
-+	{124, "EMEDIUMTYPE", "wrong medium type"},
-+	{125, "ECANCELED", "operation canceled"},
-+	{126, "ENOKEY", "required key not available"},
-+	{127, "EKEYEXPIRED", "key has expired"},
-+	{128, "EKEYREVOKED", "key has been revoked"},
-+	{129, "EKEYREJECTED", "key was rejected by service"},
-+	{130, "EOWNERDEAD", "owner died"},
-+	{131, "ENOTRECOVERABLE", "state not recoverable"},
-+	{132, "ERFKILL", "operation not possible due to RF-kill"},
-+	{133, "EHWPOISON", "memory page has hardware error"},
- }
- 
- // Signal table
--var signals = [...]string{
--	1:  "hangup",
--	2:  "interrupt",
--	3:  "quit",
--	4:  "illegal instruction",
--	5:  "trace/breakpoint trap",
--	6:  "aborted",
--	7:  "bus error",
--	8:  "floating point exception",
--	9:  "killed",
--	10: "user defined signal 1",
--	11: "segmentation fault",
--	12: "user defined signal 2",
--	13: "broken pipe",
--	14: "alarm clock",
--	15: "terminated",
--	16: "stack fault",
--	17: "child exited",
--	18: "continued",
--	19: "stopped (signal)",
--	20: "stopped",
--	21: "stopped (tty input)",
--	22: "stopped (tty output)",
--	23: "urgent I/O condition",
--	24: "CPU time limit exceeded",
--	25: "file size limit exceeded",
--	26: "virtual timer expired",
--	27: "profiling timer expired",
--	28: "window changed",
--	29: "I/O possible",
--	30: "power failure",
--	31: "bad system call",
-+var signalList = [...]struct {
-+	num  syscall.Signal
-+	name string
-+	desc string
-+}{
-+	{1, "SIGHUP", "hangup"},
-+	{2, "SIGINT", "interrupt"},
-+	{3, "SIGQUIT", "quit"},
-+	{4, "SIGILL", "illegal instruction"},
-+	{5, "SIGTRAP", "trace/breakpoint trap"},
-+	{6, "SIGABRT", "aborted"},
-+	{7, "SIGBUS", "bus error"},
-+	{8, "SIGFPE", "floating point exception"},
-+	{9, "SIGKILL", "killed"},
-+	{10, "SIGUSR1", "user defined signal 1"},
-+	{11, "SIGSEGV", "segmentation fault"},
-+	{12, "SIGUSR2", "user defined signal 2"},
-+	{13, "SIGPIPE", "broken pipe"},
-+	{14, "SIGALRM", "alarm clock"},
-+	{15, "SIGTERM", "terminated"},
-+	{16, "SIGSTKFLT", "stack fault"},
-+	{17, "SIGCHLD", "child exited"},
-+	{18, "SIGCONT", "continued"},
-+	{19, "SIGSTOP", "stopped (signal)"},
-+	{20, "SIGTSTP", "stopped"},
-+	{21, "SIGTTIN", "stopped (tty input)"},
-+	{22, "SIGTTOU", "stopped (tty output)"},
-+	{23, "SIGURG", "urgent I/O condition"},
-+	{24, "SIGXCPU", "CPU time limit exceeded"},
-+	{25, "SIGXFSZ", "file size limit exceeded"},
-+	{26, "SIGVTALRM", "virtual timer expired"},
-+	{27, "SIGPROF", "profiling timer expired"},
-+	{28, "SIGWINCH", "window changed"},
-+	{29, "SIGIO", "I/O possible"},
-+	{30, "SIGPWR", "power failure"},
-+	{31, "SIGSYS", "bad system call"},
- }
-diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go b/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go
-index 900f568a..4826bd70 100644
---- a/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go
-+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go
-@@ -3,7 +3,7 @@
- 
- // +build mips,linux
- 
--// Created by cgo -godefs - DO NOT EDIT
-+// Code generated by cmd/cgo -godefs; DO NOT EDIT.
- // cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go
- 
- package unix
-@@ -11,1873 +11,489 @@ package unix
- import "syscall"
- 
- const (
--	AF_ALG                               = 0x26
--	AF_APPLETALK                         = 0x5
--	AF_ASH                               = 0x12
--	AF_ATMPVC                            = 0x8
--	AF_ATMSVC                            = 0x14
--	AF_AX25                              = 0x3
--	AF_BLUETOOTH                         = 0x1f
--	AF_BRIDGE                            = 0x7
--	AF_CAIF                              = 0x25
--	AF_CAN                               = 0x1d
--	AF_DECnet                            = 0xc
--	AF_ECONET                            = 0x13
--	AF_FILE                              = 0x1
--	AF_IB                                = 0x1b
--	AF_IEEE802154                        = 0x24
--	AF_INET                              = 0x2
--	AF_INET6                             = 0xa
--	AF_IPX                               = 0x4
--	AF_IRDA                              = 0x17
--	AF_ISDN                              = 0x22
--	AF_IUCV                              = 0x20
--	AF_KCM                               = 0x29
--	AF_KEY                               = 0xf
--	AF_LLC                               = 0x1a
--	AF_LOCAL                             = 0x1
--	AF_MAX                               = 0x2b
--	AF_MPLS                              = 0x1c
--	AF_NETBEUI                           = 0xd
--	AF_NETLINK                           = 0x10
--	AF_NETROM                            = 0x6
--	AF_NFC                               = 0x27
--	AF_PACKET                            = 0x11
--	AF_PHONET                            = 0x23
--	AF_PPPOX                             = 0x18
--	AF_QIPCRTR                           = 0x2a
--	AF_RDS                               = 0x15
--	AF_ROSE                              = 0xb
--	AF_ROUTE                             = 0x10
--	AF_RXRPC                             = 0x21
--	AF_SECURITY                          = 0xe
--	AF_SNA                               = 0x16
--	AF_TIPC                              = 0x1e
--	AF_UNIX                              = 0x1
--	AF_UNSPEC                            = 0x0
--	AF_VSOCK                             = 0x28
--	AF_WANPIPE                           = 0x19
--	AF_X25                               = 0x9
--	ALG_OP_DECRYPT                       = 0x0
--	ALG_OP_ENCRYPT                       = 0x1
--	ALG_SET_AEAD_ASSOCLEN                = 0x4
--	ALG_SET_AEAD_AUTHSIZE                = 0x5
--	ALG_SET_IV                           = 0x2
--	ALG_SET_KEY                          = 0x1
--	ALG_SET_OP                           = 0x3
--	ARPHRD_6LOWPAN                       = 0x339
--	ARPHRD_ADAPT                         = 0x108
--	ARPHRD_APPLETLK                      = 0x8
--	ARPHRD_ARCNET                        = 0x7
--	ARPHRD_ASH                           = 0x30d
--	ARPHRD_ATM                           = 0x13
--	ARPHRD_AX25                          = 0x3
--	ARPHRD_BIF                           = 0x307
--	ARPHRD_CAIF                          = 0x336
--	ARPHRD_CAN                           = 0x118
--	ARPHRD_CHAOS                         = 0x5
--	ARPHRD_CISCO                         = 0x201
--	ARPHRD_CSLIP                         = 0x101
--	ARPHRD_CSLIP6                        = 0x103
--	ARPHRD_DDCMP                         = 0x205
--	ARPHRD_DLCI                          = 0xf
--	ARPHRD_ECONET                        = 0x30e
--	ARPHRD_EETHER                        = 0x2
--	ARPHRD_ETHER                         = 0x1
--	ARPHRD_EUI64                         = 0x1b
--	ARPHRD_FCAL                          = 0x311
--	ARPHRD_FCFABRIC                      = 0x313
--	ARPHRD_FCPL                          = 0x312
--	ARPHRD_FCPP                          = 0x310
--	ARPHRD_FDDI                          = 0x306
--	ARPHRD_FRAD                          = 0x302
--	ARPHRD_HDLC                          = 0x201
--	ARPHRD_HIPPI                         = 0x30c
--	ARPHRD_HWX25                         = 0x110
--	ARPHRD_IEEE1394                      = 0x18
--	ARPHRD_IEEE802                       = 0x6
--	ARPHRD_IEEE80211                     = 0x321
--	ARPHRD_IEEE80211_PRISM               = 0x322
--	ARPHRD_IEEE80211_RADIOTAP            = 0x323
--	ARPHRD_IEEE802154                    = 0x324
--	ARPHRD_IEEE802154_MONITOR            = 0x325
--	ARPHRD_IEEE802_TR                    = 0x320
--	ARPHRD_INFINIBAND                    = 0x20
--	ARPHRD_IP6GRE                        = 0x337
--	ARPHRD_IPDDP                         = 0x309
--	ARPHRD_IPGRE                         = 0x30a
--	ARPHRD_IRDA                          = 0x30f
--	ARPHRD_LAPB                          = 0x204
--	ARPHRD_LOCALTLK                      = 0x305
--	ARPHRD_LOOPBACK                      = 0x304
--	ARPHRD_METRICOM                      = 0x17
--	ARPHRD_NETLINK                       = 0x338
--	ARPHRD_NETROM                        = 0x0
--	ARPHRD_NONE                          = 0xfffe
--	ARPHRD_PHONET                        = 0x334
--	ARPHRD_PHONET_PIPE                   = 0x335
--	ARPHRD_PIMREG                        = 0x30b
--	ARPHRD_PPP                           = 0x200
--	ARPHRD_PRONET                        = 0x4
--	ARPHRD_RAWHDLC                       = 0x206
--	ARPHRD_ROSE                          = 0x10e
--	ARPHRD_RSRVD                         = 0x104
--	ARPHRD_SIT                           = 0x308
--	ARPHRD_SKIP                          = 0x303
--	ARPHRD_SLIP                          = 0x100
--	ARPHRD_SLIP6                         = 0x102
--	ARPHRD_TUNNEL                        = 0x300
--	ARPHRD_TUNNEL6                       = 0x301
--	ARPHRD_VOID                          = 0xffff
--	ARPHRD_X25                           = 0x10f
--	B0                                   = 0x0
--	B1000000                             = 0x1008
--	B110                                 = 0x3
--	B115200                              = 0x1002
--	B1152000                             = 0x1009
--	B1200                                = 0x9
--	B134                                 = 0x4
--	B150                                 = 0x5
--	B1500000                             = 0x100a
--	B1800                                = 0xa
--	B19200                               = 0xe
--	B200                                 = 0x6
--	B2000000                             = 0x100b
--	B230400                              = 0x1003
--	B2400                                = 0xb
--	B2500000                             = 0x100c
--	B300                                 = 0x7
--	B3000000                             = 0x100d
--	B3500000                             = 0x100e
--	B38400                               = 0xf
--	B4000000                             = 0x100f
--	B460800                              = 0x1004
--	B4800                                = 0xc
--	B50                                  = 0x1
--	B500000                              = 0x1005
--	B57600                               = 0x1001
--	B576000                              = 0x1006
--	B600                                 = 0x8
--	B75                                  = 0x2
--	B921600                              = 0x1007
--	B9600                                = 0xd
--	BLKBSZGET                            = 0x40041270
--	BLKBSZSET                            = 0x80041271
--	BLKFLSBUF                            = 0x20001261
--	BLKFRAGET                            = 0x20001265
--	BLKFRASET                            = 0x20001264
--	BLKGETSIZE                           = 0x20001260
--	BLKGETSIZE64                         = 0x40041272
--	BLKPBSZGET                           = 0x2000127b
--	BLKRAGET                             = 0x20001263
--	BLKRASET                             = 0x20001262
--	BLKROGET                             = 0x2000125e
--	BLKROSET                             = 0x2000125d
--	BLKRRPART                            = 0x2000125f
--	BLKSECTGET                           = 0x20001267
--	BLKSECTSET                           = 0x20001266
--	BLKSSZGET                            = 0x20001268
--	BOTHER                               = 0x1000
--	BPF_A                                = 0x10
--	BPF_ABS                              = 0x20
--	BPF_ADD                              = 0x0
--	BPF_ALU                              = 0x4
--	BPF_AND                              = 0x50
--	BPF_B                                = 0x10
--	BPF_DIV                              = 0x30
--	BPF_H                                = 0x8
--	BPF_IMM                              = 0x0
--	BPF_IND                              = 0x40
--	BPF_JA                               = 0x0
--	BPF_JEQ                              = 0x10
--	BPF_JGE                              = 0x30
--	BPF_JGT                              = 0x20
--	BPF_JMP                              = 0x5
--	BPF_JSET                             = 0x40
--	BPF_K                                = 0x0
--	BPF_LD                               = 0x0
--	BPF_LDX                              = 0x1
--	BPF_LEN                              = 0x80
--	BPF_LL_OFF                           = -0x200000
--	BPF_LSH                              = 0x60
--	BPF_MAJOR_VERSION                    = 0x1
--	BPF_MAXINSNS                         = 0x1000
--	BPF_MEM                              = 0x60
--	BPF_MEMWORDS                         = 0x10
--	BPF_MINOR_VERSION                    = 0x1
--	BPF_MISC                             = 0x7
--	BPF_MOD                              = 0x90
--	BPF_MSH                              = 0xa0
--	BPF_MUL                              = 0x20
--	BPF_NEG                              = 0x80
--	BPF_NET_OFF                          = -0x100000
--	BPF_OR                               = 0x40
--	BPF_RET                              = 0x6
--	BPF_RSH                              = 0x70
--	BPF_ST                               = 0x2
--	BPF_STX                              = 0x3
--	BPF_SUB                              = 0x10
--	BPF_TAX                              = 0x0
--	BPF_TXA                              = 0x80
--	BPF_W                                = 0x0
--	BPF_X                                = 0x8
--	BPF_XOR                              = 0xa0
--	BRKINT                               = 0x2
--	BS0                                  = 0x0
--	BS1                                  = 0x2000
--	BSDLY                                = 0x2000
--	CAN_BCM                              = 0x2
--	CAN_EFF_FLAG                         = 0x80000000
--	CAN_EFF_ID_BITS                      = 0x1d
--	CAN_EFF_MASK                         = 0x1fffffff
--	CAN_ERR_FLAG                         = 0x20000000
--	CAN_ERR_MASK                         = 0x1fffffff
--	CAN_INV_FILTER                       = 0x20000000
--	CAN_ISOTP                            = 0x6
--	CAN_MAX_DLC                          = 0x8
--	CAN_MAX_DLEN                         = 0x8
--	CAN_MCNET                            = 0x5
--	CAN_MTU                              = 0x10
--	CAN_NPROTO                           = 0x7
--	CAN_RAW                              = 0x1
--	CAN_RAW_FILTER_MAX                   = 0x200
--	CAN_RTR_FLAG                         = 0x40000000
--	CAN_SFF_ID_BITS                      = 0xb
--	CAN_SFF_MASK                         = 0x7ff
--	CAN_TP16                             = 0x3
--	CAN_TP20                             = 0x4
--	CBAUD                                = 0x100f
--	CBAUDEX                              = 0x1000
--	CFLUSH                               = 0xf
--	CIBAUD                               = 0x100f0000
--	CLOCAL                               = 0x800
--	CLOCK_BOOTTIME                       = 0x7
--	CLOCK_BOOTTIME_ALARM                 = 0x9
--	CLOCK_DEFAULT                        = 0x0
--	CLOCK_EXT                            = 0x1
--	CLOCK_INT                            = 0x2
--	CLOCK_MONOTONIC                      = 0x1
--	CLOCK_MONOTONIC_COARSE               = 0x6
--	CLOCK_MONOTONIC_RAW                  = 0x4
--	CLOCK_PROCESS_CPUTIME_ID             = 0x2
--	CLOCK_REALTIME                       = 0x0
--	CLOCK_REALTIME_ALARM                 = 0x8
--	CLOCK_REALTIME_COARSE                = 0x5
--	CLOCK_TAI                            = 0xb
--	CLOCK_THREAD_CPUTIME_ID              = 0x3
--	CLOCK_TXFROMRX                       = 0x4
--	CLOCK_TXINT                          = 0x3
--	CLONE_CHILD_CLEARTID                 = 0x200000
--	CLONE_CHILD_SETTID                   = 0x1000000
--	CLONE_DETACHED                       = 0x400000
--	CLONE_FILES                          = 0x400
--	CLONE_FS                             = 0x200
--	CLONE_IO                             = 0x80000000
--	CLONE_NEWCGROUP                      = 0x2000000
--	CLONE_NEWIPC                         = 0x8000000
--	CLONE_NEWNET                         = 0x40000000
--	CLONE_NEWNS                          = 0x20000
--	CLONE_NEWPID                         = 0x20000000
--	CLONE_NEWUSER                        = 0x10000000
--	CLONE_NEWUTS                         = 0x4000000
--	CLONE_PARENT                         = 0x8000
--	CLONE_PARENT_SETTID                  = 0x100000
--	CLONE_PTRACE                         = 0x2000
--	CLONE_SETTLS                         = 0x80000
--	CLONE_SIGHAND                        = 0x800
--	CLONE_SYSVSEM                        = 0x40000
--	CLONE_THREAD                         = 0x10000
--	CLONE_UNTRACED                       = 0x800000
--	CLONE_VFORK                          = 0x4000
--	CLONE_VM                             = 0x100
--	CMSPAR                               = 0x40000000
--	CR0                                  = 0x0
--	CR1                                  = 0x200
--	CR2                                  = 0x400
--	CR3                                  = 0x600
--	CRDLY                                = 0x600
--	CREAD                                = 0x80
--	CRTSCTS                              = 0x80000000
--	CS5                                  = 0x0
--	CS6                                  = 0x10
--	CS7                                  = 0x20
--	CS8                                  = 0x30
--	CSIGNAL                              = 0xff
--	CSIZE                                = 0x30
--	CSTART                               = 0x11
--	CSTATUS                              = 0x0
--	CSTOP                                = 0x13
--	CSTOPB                               = 0x40
--	CSUSP                                = 0x1a
--	DT_BLK                               = 0x6
--	DT_CHR                               = 0x2
--	DT_DIR                               = 0x4
--	DT_FIFO                              = 0x1
--	DT_LNK                               = 0xa
--	DT_REG                               = 0x8
--	DT_SOCK                              = 0xc
--	DT_UNKNOWN                           = 0x0
--	DT_WHT                               = 0xe
--	ECHO                                 = 0x8
--	ECHOCTL                              = 0x200
--	ECHOE                                = 0x10
--	ECHOK                                = 0x20
--	ECHOKE                               = 0x800
--	ECHONL                               = 0x40
--	ECHOPRT                              = 0x400
--	EFD_CLOEXEC                          = 0x80000
--	EFD_NONBLOCK                         = 0x80
--	EFD_SEMAPHORE                        = 0x1
--	ENCODING_DEFAULT                     = 0x0
--	ENCODING_FM_MARK                     = 0x3
--	ENCODING_FM_SPACE                    = 0x4
--	ENCODING_MANCHESTER                  = 0x5
--	ENCODING_NRZ                         = 0x1
--	ENCODING_NRZI                        = 0x2
--	EPOLLERR                             = 0x8
--	EPOLLET                              = 0x80000000
--	EPOLLEXCLUSIVE                       = 0x10000000
--	EPOLLHUP                             = 0x10
--	EPOLLIN                              = 0x1
--	EPOLLMSG                             = 0x400
--	EPOLLONESHOT                         = 0x40000000
--	EPOLLOUT                             = 0x4
--	EPOLLPRI                             = 0x2
--	EPOLLRDBAND                          = 0x80
--	EPOLLRDHUP                           = 0x2000
--	EPOLLRDNORM                          = 0x40
--	EPOLLWAKEUP                          = 0x20000000
--	EPOLLWRBAND                          = 0x200
--	EPOLLWRNORM                          = 0x100
--	EPOLL_CLOEXEC                        = 0x80000
--	EPOLL_CTL_ADD                        = 0x1
--	EPOLL_CTL_DEL                        = 0x2
--	EPOLL_CTL_MOD                        = 0x3
--	ETH_P_1588                           = 0x88f7
--	ETH_P_8021AD                         = 0x88a8
--	ETH_P_8021AH                         = 0x88e7
--	ETH_P_8021Q                          = 0x8100
--	ETH_P_80221                          = 0x8917
--	ETH_P_802_2                          = 0x4
--	ETH_P_802_3                          = 0x1
--	ETH_P_802_3_MIN                      = 0x600
--	ETH_P_802_EX1                        = 0x88b5
--	ETH_P_AARP                           = 0x80f3
--	ETH_P_AF_IUCV                        = 0xfbfb
--	ETH_P_ALL                            = 0x3
--	ETH_P_AOE                            = 0x88a2
--	ETH_P_ARCNET                         = 0x1a
--	ETH_P_ARP                            = 0x806
--	ETH_P_ATALK                          = 0x809b
--	ETH_P_ATMFATE                        = 0x8884
--	ETH_P_ATMMPOA                        = 0x884c
--	ETH_P_AX25                           = 0x2
--	ETH_P_BATMAN                         = 0x4305
--	ETH_P_BPQ                            = 0x8ff
--	ETH_P_CAIF                           = 0xf7
--	ETH_P_CAN                            = 0xc
--	ETH_P_CANFD                          = 0xd
--	ETH_P_CONTROL                        = 0x16
--	ETH_P_CUST                           = 0x6006
--	ETH_P_DDCMP                          = 0x6
--	ETH_P_DEC                            = 0x6000
--	ETH_P_DIAG                           = 0x6005
--	ETH_P_DNA_DL                         = 0x6001
--	ETH_P_DNA_RC                         = 0x6002
--	ETH_P_DNA_RT                         = 0x6003
--	ETH_P_DSA                            = 0x1b
--	ETH_P_ECONET                         = 0x18
--	ETH_P_EDSA                           = 0xdada
--	ETH_P_FCOE                           = 0x8906
--	ETH_P_FIP                            = 0x8914
--	ETH_P_HDLC                           = 0x19
--	ETH_P_HSR                            = 0x892f
--	ETH_P_IEEE802154                     = 0xf6
--	ETH_P_IEEEPUP                        = 0xa00
--	ETH_P_IEEEPUPAT                      = 0xa01
--	ETH_P_IP                             = 0x800
--	ETH_P_IPV6                           = 0x86dd
--	ETH_P_IPX                            = 0x8137
--	ETH_P_IRDA                           = 0x17
--	ETH_P_LAT                            = 0x6004
--	ETH_P_LINK_CTL                       = 0x886c
--	ETH_P_LOCALTALK                      = 0x9
--	ETH_P_LOOP                           = 0x60
--	ETH_P_LOOPBACK                       = 0x9000
--	ETH_P_MACSEC                         = 0x88e5
--	ETH_P_MOBITEX                        = 0x15
--	ETH_P_MPLS_MC                        = 0x8848
--	ETH_P_MPLS_UC                        = 0x8847
--	ETH_P_MVRP                           = 0x88f5
--	ETH_P_NCSI                           = 0x88f8
--	ETH_P_PAE                            = 0x888e
--	ETH_P_PAUSE                          = 0x8808
--	ETH_P_PHONET                         = 0xf5
--	ETH_P_PPPTALK                        = 0x10
--	ETH_P_PPP_DISC                       = 0x8863
--	ETH_P_PPP_MP                         = 0x8
--	ETH_P_PPP_SES                        = 0x8864
--	ETH_P_PRP                            = 0x88fb
--	ETH_P_PUP                            = 0x200
--	ETH_P_PUPAT                          = 0x201
--	ETH_P_QINQ1                          = 0x9100
--	ETH_P_QINQ2                          = 0x9200
--	ETH_P_QINQ3                          = 0x9300
--	ETH_P_RARP                           = 0x8035
--	ETH_P_SCA                            = 0x6007
--	ETH_P_SLOW                           = 0x8809
--	ETH_P_SNAP                           = 0x5
--	ETH_P_TDLS                           = 0x890d
--	ETH_P_TEB                            = 0x6558
--	ETH_P_TIPC                           = 0x88ca
--	ETH_P_TRAILER                        = 0x1c
--	ETH_P_TR_802_2                       = 0x11
--	ETH_P_TSN                            = 0x22f0
--	ETH_P_WAN_PPP                        = 0x7
--	ETH_P_WCCP                           = 0x883e
--	ETH_P_X25                            = 0x805
--	ETH_P_XDSA                           = 0xf8
--	EXTA                                 = 0xe
--	EXTB                                 = 0xf
--	EXTPROC                              = 0x10000
--	FALLOC_FL_COLLAPSE_RANGE             = 0x8
--	FALLOC_FL_INSERT_RANGE               = 0x20
--	FALLOC_FL_KEEP_SIZE                  = 0x1
--	FALLOC_FL_NO_HIDE_STALE              = 0x4
--	FALLOC_FL_PUNCH_HOLE                 = 0x2
--	FALLOC_FL_UNSHARE_RANGE              = 0x40
--	FALLOC_FL_ZERO_RANGE                 = 0x10
--	FD_CLOEXEC                           = 0x1
--	FD_SETSIZE                           = 0x400
--	FF0                                  = 0x0
--	FF1                                  = 0x8000
--	FFDLY                                = 0x8000
--	FLUSHO                               = 0x2000
--	FS_ENCRYPTION_MODE_AES_256_CBC       = 0x3
--	FS_ENCRYPTION_MODE_AES_256_CTS       = 0x4
--	FS_ENCRYPTION_MODE_AES_256_GCM       = 0x2
--	FS_ENCRYPTION_MODE_AES_256_XTS       = 0x1
--	FS_ENCRYPTION_MODE_INVALID           = 0x0
--	FS_IOC_GET_ENCRYPTION_POLICY         = 0x800c6615
--	FS_IOC_GET_ENCRYPTION_PWSALT         = 0x80106614
--	FS_IOC_SET_ENCRYPTION_POLICY         = 0x400c6613
--	FS_KEY_DESCRIPTOR_SIZE               = 0x8
--	FS_KEY_DESC_PREFIX                   = "fscrypt:"
--	FS_KEY_DESC_PREFIX_SIZE              = 0x8
--	FS_MAX_KEY_SIZE                      = 0x40
--	FS_POLICY_FLAGS_PAD_16               = 0x2
--	FS_POLICY_FLAGS_PAD_32               = 0x3
--	FS_POLICY_FLAGS_PAD_4                = 0x0
--	FS_POLICY_FLAGS_PAD_8                = 0x1
--	FS_POLICY_FLAGS_PAD_MASK             = 0x3
--	FS_POLICY_FLAGS_VALID                = 0x3
--	F_DUPFD                              = 0x0
--	F_DUPFD_CLOEXEC                      = 0x406
--	F_EXLCK                              = 0x4
--	F_GETFD                              = 0x1
--	F_GETFL                              = 0x3
--	F_GETLEASE                           = 0x401
--	F_GETLK                              = 0x21
--	F_GETLK64                            = 0x21
--	F_GETOWN                             = 0x17
--	F_GETOWN_EX                          = 0x10
--	F_GETPIPE_SZ                         = 0x408
--	F_GETSIG                             = 0xb
--	F_LOCK                               = 0x1
--	F_NOTIFY                             = 0x402
--	F_OFD_GETLK                          = 0x24
--	F_OFD_SETLK                          = 0x25
--	F_OFD_SETLKW                         = 0x26
--	F_OK                                 = 0x0
--	F_RDLCK                              = 0x0
--	F_SETFD                              = 0x2
--	F_SETFL                              = 0x4
--	F_SETLEASE                           = 0x400
--	F_SETLK                              = 0x22
--	F_SETLK64                            = 0x22
--	F_SETLKW                             = 0x23
--	F_SETLKW64                           = 0x23
--	F_SETOWN                             = 0x18
--	F_SETOWN_EX                          = 0xf
--	F_SETPIPE_SZ                         = 0x407
--	F_SETSIG                             = 0xa
--	F_SHLCK                              = 0x8
--	F_TEST                               = 0x3
--	F_TLOCK                              = 0x2
--	F_ULOCK                              = 0x0
--	F_UNLCK                              = 0x2
--	F_WRLCK                              = 0x1
--	GENL_ADMIN_PERM                      = 0x1
--	GENL_CMD_CAP_DO                      = 0x2
--	GENL_CMD_CAP_DUMP                    = 0x4
--	GENL_CMD_CAP_HASPOL                  = 0x8
--	GENL_HDRLEN                          = 0x4
--	GENL_ID_CTRL                         = 0x10
--	GENL_ID_PMCRAID                      = 0x12
--	GENL_ID_VFS_DQUOT                    = 0x11
--	GENL_MAX_ID                          = 0x3ff
--	GENL_MIN_ID                          = 0x10
--	GENL_NAMSIZ                          = 0x10
--	GENL_START_ALLOC                     = 0x13
--	GENL_UNS_ADMIN_PERM                  = 0x10
--	GRND_NONBLOCK                        = 0x1
--	GRND_RANDOM                          = 0x2
--	HUPCL                                = 0x400
--	IBSHIFT                              = 0x10
--	ICANON                               = 0x2
--	ICMPV6_FILTER                        = 0x1
--	ICRNL                                = 0x100
--	IEXTEN                               = 0x100
--	IFA_F_DADFAILED                      = 0x8
--	IFA_F_DEPRECATED                     = 0x20
--	IFA_F_HOMEADDRESS                    = 0x10
--	IFA_F_MANAGETEMPADDR                 = 0x100
--	IFA_F_MCAUTOJOIN                     = 0x400
--	IFA_F_NODAD                          = 0x2
--	IFA_F_NOPREFIXROUTE                  = 0x200
--	IFA_F_OPTIMISTIC                     = 0x4
--	IFA_F_PERMANENT                      = 0x80
--	IFA_F_SECONDARY                      = 0x1
--	IFA_F_STABLE_PRIVACY                 = 0x800
--	IFA_F_TEMPORARY                      = 0x1
--	IFA_F_TENTATIVE                      = 0x40
--	IFA_MAX                              = 0x8
--	IFF_ALLMULTI                         = 0x200
--	IFF_ATTACH_QUEUE                     = 0x200
--	IFF_AUTOMEDIA                        = 0x4000
--	IFF_BROADCAST                        = 0x2
--	IFF_DEBUG                            = 0x4
--	IFF_DETACH_QUEUE                     = 0x400
--	IFF_DORMANT                          = 0x20000
--	IFF_DYNAMIC                          = 0x8000
--	IFF_ECHO                             = 0x40000
--	IFF_LOOPBACK                         = 0x8
--	IFF_LOWER_UP                         = 0x10000
--	IFF_MASTER                           = 0x400
--	IFF_MULTICAST                        = 0x1000
--	IFF_MULTI_QUEUE                      = 0x100
--	IFF_NOARP                            = 0x80
--	IFF_NOFILTER                         = 0x1000
--	IFF_NOTRAILERS                       = 0x20
--	IFF_NO_PI                            = 0x1000
--	IFF_ONE_QUEUE                        = 0x2000
--	IFF_PERSIST                          = 0x800
--	IFF_POINTOPOINT                      = 0x10
--	IFF_PORTSEL                          = 0x2000
--	IFF_PROMISC                          = 0x100
--	IFF_RUNNING                          = 0x40
--	IFF_SLAVE                            = 0x800
--	IFF_TAP                              = 0x2
--	IFF_TUN                              = 0x1
--	IFF_TUN_EXCL                         = 0x8000
--	IFF_UP                               = 0x1
--	IFF_VNET_HDR                         = 0x4000
--	IFF_VOLATILE                         = 0x70c5a
--	IFNAMSIZ                             = 0x10
--	IGNBRK                               = 0x1
--	IGNCR                                = 0x80
--	IGNPAR                               = 0x4
--	IMAXBEL                              = 0x2000
--	INLCR                                = 0x40
--	INPCK                                = 0x10
--	IN_ACCESS                            = 0x1
--	IN_ALL_EVENTS                        = 0xfff
--	IN_ATTRIB                            = 0x4
--	IN_CLASSA_HOST                       = 0xffffff
--	IN_CLASSA_MAX                        = 0x80
--	IN_CLASSA_NET                        = 0xff000000
--	IN_CLASSA_NSHIFT                     = 0x18
--	IN_CLASSB_HOST                       = 0xffff
--	IN_CLASSB_MAX                        = 0x10000
--	IN_CLASSB_NET                        = 0xffff0000
--	IN_CLASSB_NSHIFT                     = 0x10
--	IN_CLASSC_HOST                       = 0xff
--	IN_CLASSC_NET                        = 0xffffff00
--	IN_CLASSC_NSHIFT                     = 0x8
--	IN_CLOEXEC                           = 0x80000
--	IN_CLOSE                             = 0x18
--	IN_CLOSE_NOWRITE                     = 0x10
--	IN_CLOSE_WRITE                       = 0x8
--	IN_CREATE                            = 0x100
--	IN_DELETE                            = 0x200
--	IN_DELETE_SELF                       = 0x400
--	IN_DONT_FOLLOW                       = 0x2000000
--	IN_EXCL_UNLINK                       = 0x4000000
--	IN_IGNORED                           = 0x8000
--	IN_ISDIR                             = 0x40000000
--	IN_LOOPBACKNET                       = 0x7f
--	IN_MASK_ADD                          = 0x20000000
--	IN_MODIFY                            = 0x2
--	IN_MOVE                              = 0xc0
--	IN_MOVED_FROM                        = 0x40
--	IN_MOVED_TO                          = 0x80
--	IN_MOVE_SELF                         = 0x800
--	IN_NONBLOCK                          = 0x80
--	IN_ONESHOT                           = 0x80000000
--	IN_ONLYDIR                           = 0x1000000
--	IN_OPEN                              = 0x20
--	IN_Q_OVERFLOW                        = 0x4000
--	IN_UNMOUNT                           = 0x2000
--	IPPROTO_AH                           = 0x33
--	IPPROTO_BEETPH                       = 0x5e
--	IPPROTO_COMP                         = 0x6c
--	IPPROTO_DCCP                         = 0x21
--	IPPROTO_DSTOPTS                      = 0x3c
--	IPPROTO_EGP                          = 0x8
--	IPPROTO_ENCAP                        = 0x62
--	IPPROTO_ESP                          = 0x32
--	IPPROTO_FRAGMENT                     = 0x2c
--	IPPROTO_GRE                          = 0x2f
--	IPPROTO_HOPOPTS                      = 0x0
--	IPPROTO_ICMP                         = 0x1
--	IPPROTO_ICMPV6                       = 0x3a
--	IPPROTO_IDP                          = 0x16
--	IPPROTO_IGMP                         = 0x2
--	IPPROTO_IP                           = 0x0
--	IPPROTO_IPIP                         = 0x4
--	IPPROTO_IPV6                         = 0x29
--	IPPROTO_MH                           = 0x87
--	IPPROTO_MPLS                         = 0x89
--	IPPROTO_MTP                          = 0x5c
--	IPPROTO_NONE                         = 0x3b
--	IPPROTO_PIM                          = 0x67
--	IPPROTO_PUP                          = 0xc
--	IPPROTO_RAW                          = 0xff
--	IPPROTO_ROUTING                      = 0x2b
--	IPPROTO_RSVP                         = 0x2e
--	IPPROTO_SCTP                         = 0x84
--	IPPROTO_TCP                          = 0x6
--	IPPROTO_TP                           = 0x1d
--	IPPROTO_UDP                          = 0x11
--	IPPROTO_UDPLITE                      = 0x88
--	IPV6_2292DSTOPTS                     = 0x4
--	IPV6_2292HOPLIMIT                    = 0x8
--	IPV6_2292HOPOPTS                     = 0x3
--	IPV6_2292PKTINFO                     = 0x2
--	IPV6_2292PKTOPTIONS                  = 0x6
--	IPV6_2292RTHDR                       = 0x5
--	IPV6_ADDRFORM                        = 0x1
--	IPV6_ADD_MEMBERSHIP                  = 0x14
--	IPV6_AUTHHDR                         = 0xa
--	IPV6_CHECKSUM                        = 0x7
--	IPV6_DONTFRAG                        = 0x3e
--	IPV6_DROP_MEMBERSHIP                 = 0x15
--	IPV6_DSTOPTS                         = 0x3b
--	IPV6_HDRINCL                         = 0x24
--	IPV6_HOPLIMIT                        = 0x34
--	IPV6_HOPOPTS                         = 0x36
--	IPV6_IPSEC_POLICY                    = 0x22
--	IPV6_JOIN_ANYCAST                    = 0x1b
--	IPV6_JOIN_GROUP                      = 0x14
--	IPV6_LEAVE_ANYCAST                   = 0x1c
--	IPV6_LEAVE_GROUP                     = 0x15
--	IPV6_MTU                             = 0x18
--	IPV6_MTU_DISCOVER                    = 0x17
--	IPV6_MULTICAST_HOPS                  = 0x12
--	IPV6_MULTICAST_IF                    = 0x11
--	IPV6_MULTICAST_LOOP                  = 0x13
--	IPV6_NEXTHOP                         = 0x9
--	IPV6_PATHMTU                         = 0x3d
--	IPV6_PKTINFO                         = 0x32
--	IPV6_PMTUDISC_DO                     = 0x2
--	IPV6_PMTUDISC_DONT                   = 0x0
--	IPV6_PMTUDISC_INTERFACE              = 0x4
--	IPV6_PMTUDISC_OMIT                   = 0x5
--	IPV6_PMTUDISC_PROBE                  = 0x3
--	IPV6_PMTUDISC_WANT                   = 0x1
--	IPV6_RECVDSTOPTS                     = 0x3a
--	IPV6_RECVERR                         = 0x19
--	IPV6_RECVHOPLIMIT                    = 0x33
--	IPV6_RECVHOPOPTS                     = 0x35
--	IPV6_RECVPATHMTU                     = 0x3c
--	IPV6_RECVPKTINFO                     = 0x31
--	IPV6_RECVRTHDR                       = 0x38
--	IPV6_RECVTCLASS                      = 0x42
--	IPV6_ROUTER_ALERT                    = 0x16
--	IPV6_RTHDR                           = 0x39
--	IPV6_RTHDRDSTOPTS                    = 0x37
--	IPV6_RTHDR_LOOSE                     = 0x0
--	IPV6_RTHDR_STRICT                    = 0x1
--	IPV6_RTHDR_TYPE_0                    = 0x0
--	IPV6_RXDSTOPTS                       = 0x3b
--	IPV6_RXHOPOPTS                       = 0x36
--	IPV6_TCLASS                          = 0x43
--	IPV6_UNICAST_HOPS                    = 0x10
--	IPV6_V6ONLY                          = 0x1a
--	IPV6_XFRM_POLICY                     = 0x23
--	IP_ADD_MEMBERSHIP                    = 0x23
--	IP_ADD_SOURCE_MEMBERSHIP             = 0x27
--	IP_BIND_ADDRESS_NO_PORT              = 0x18
--	IP_BLOCK_SOURCE                      = 0x26
--	IP_CHECKSUM                          = 0x17
--	IP_DEFAULT_MULTICAST_LOOP            = 0x1
--	IP_DEFAULT_MULTICAST_TTL             = 0x1
--	IP_DF                                = 0x4000
--	IP_DROP_MEMBERSHIP                   = 0x24
--	IP_DROP_SOURCE_MEMBERSHIP            = 0x28
--	IP_FREEBIND                          = 0xf
--	IP_HDRINCL                           = 0x3
--	IP_IPSEC_POLICY                      = 0x10
--	IP_MAXPACKET                         = 0xffff
--	IP_MAX_MEMBERSHIPS                   = 0x14
--	IP_MF                                = 0x2000
--	IP_MINTTL                            = 0x15
--	IP_MSFILTER                          = 0x29
--	IP_MSS                               = 0x240
--	IP_MTU                               = 0xe
--	IP_MTU_DISCOVER                      = 0xa
--	IP_MULTICAST_ALL                     = 0x31
--	IP_MULTICAST_IF                      = 0x20
--	IP_MULTICAST_LOOP                    = 0x22
--	IP_MULTICAST_TTL                     = 0x21
--	IP_NODEFRAG                          = 0x16
--	IP_OFFMASK                           = 0x1fff
--	IP_OPTIONS                           = 0x4
--	IP_ORIGDSTADDR                       = 0x14
--	IP_PASSSEC                           = 0x12
--	IP_PKTINFO                           = 0x8
--	IP_PKTOPTIONS                        = 0x9
--	IP_PMTUDISC                          = 0xa
--	IP_PMTUDISC_DO                       = 0x2
--	IP_PMTUDISC_DONT                     = 0x0
--	IP_PMTUDISC_INTERFACE                = 0x4
--	IP_PMTUDISC_OMIT                     = 0x5
--	IP_PMTUDISC_PROBE                    = 0x3
--	IP_PMTUDISC_WANT                     = 0x1
--	IP_RECVERR                           = 0xb
--	IP_RECVOPTS                          = 0x6
--	IP_RECVORIGDSTADDR                   = 0x14
--	IP_RECVRETOPTS                       = 0x7
--	IP_RECVTOS                           = 0xd
--	IP_RECVTTL                           = 0xc
--	IP_RETOPTS                           = 0x7
--	IP_RF                                = 0x8000
--	IP_ROUTER_ALERT                      = 0x5
--	IP_TOS                               = 0x1
--	IP_TRANSPARENT                       = 0x13
--	IP_TTL                               = 0x2
--	IP_UNBLOCK_SOURCE                    = 0x25
--	IP_UNICAST_IF                        = 0x32
--	IP_XFRM_POLICY                       = 0x11
--	ISIG                                 = 0x1
--	ISTRIP                               = 0x20
--	IUCLC                                = 0x200
--	IUTF8                                = 0x4000
--	IXANY                                = 0x800
--	IXOFF                                = 0x1000
--	IXON                                 = 0x400
--	KEYCTL_ASSUME_AUTHORITY              = 0x10
--	KEYCTL_CHOWN                         = 0x4
--	KEYCTL_CLEAR                         = 0x7
--	KEYCTL_DESCRIBE                      = 0x6
--	KEYCTL_DH_COMPUTE                    = 0x17
--	KEYCTL_GET_KEYRING_ID                = 0x0
--	KEYCTL_GET_PERSISTENT                = 0x16
--	KEYCTL_GET_SECURITY                  = 0x11
--	KEYCTL_INSTANTIATE                   = 0xc
--	KEYCTL_INSTANTIATE_IOV               = 0x14
--	KEYCTL_INVALIDATE                    = 0x15
--	KEYCTL_JOIN_SESSION_KEYRING          = 0x1
--	KEYCTL_LINK                          = 0x8
--	KEYCTL_NEGATE                        = 0xd
--	KEYCTL_READ                          = 0xb
--	KEYCTL_REJECT                        = 0x13
--	KEYCTL_REVOKE                        = 0x3
--	KEYCTL_SEARCH                        = 0xa
--	KEYCTL_SESSION_TO_PARENT             = 0x12
--	KEYCTL_SETPERM                       = 0x5
--	KEYCTL_SET_REQKEY_KEYRING            = 0xe
--	KEYCTL_SET_TIMEOUT                   = 0xf
--	KEYCTL_UNLINK                        = 0x9
--	KEYCTL_UPDATE                        = 0x2
--	KEY_REQKEY_DEFL_DEFAULT              = 0x0
--	KEY_REQKEY_DEFL_GROUP_KEYRING        = 0x6
--	KEY_REQKEY_DEFL_NO_CHANGE            = -0x1
--	KEY_REQKEY_DEFL_PROCESS_KEYRING      = 0x2
--	KEY_REQKEY_DEFL_REQUESTOR_KEYRING    = 0x7
--	KEY_REQKEY_DEFL_SESSION_KEYRING      = 0x3
--	KEY_REQKEY_DEFL_THREAD_KEYRING       = 0x1
--	KEY_REQKEY_DEFL_USER_KEYRING         = 0x4
--	KEY_REQKEY_DEFL_USER_SESSION_KEYRING = 0x5
--	KEY_SPEC_GROUP_KEYRING               = -0x6
--	KEY_SPEC_PROCESS_KEYRING             = -0x2
--	KEY_SPEC_REQKEY_AUTH_KEY             = -0x7
--	KEY_SPEC_REQUESTOR_KEYRING           = -0x8
--	KEY_SPEC_SESSION_KEYRING             = -0x3
--	KEY_SPEC_THREAD_KEYRING              = -0x1
--	KEY_SPEC_USER_KEYRING                = -0x4
--	KEY_SPEC_USER_SESSION_KEYRING        = -0x5
--	LINUX_REBOOT_CMD_CAD_OFF             = 0x0
--	LINUX_REBOOT_CMD_CAD_ON              = 0x89abcdef
--	LINUX_REBOOT_CMD_HALT                = 0xcdef0123
--	LINUX_REBOOT_CMD_KEXEC               = 0x45584543
--	LINUX_REBOOT_CMD_POWER_OFF           = 0x4321fedc
--	LINUX_REBOOT_CMD_RESTART             = 0x1234567
--	LINUX_REBOOT_CMD_RESTART2            = 0xa1b2c3d4
--	LINUX_REBOOT_CMD_SW_SUSPEND          = 0xd000fce2
--	LINUX_REBOOT_MAGIC1                  = 0xfee1dead
--	LINUX_REBOOT_MAGIC2                  = 0x28121969
--	LOCK_EX                              = 0x2
--	LOCK_NB                              = 0x4
--	LOCK_SH                              = 0x1
--	LOCK_UN                              = 0x8
--	MADV_DODUMP                          = 0x11
--	MADV_DOFORK                          = 0xb
--	MADV_DONTDUMP                        = 0x10
--	MADV_DONTFORK                        = 0xa
--	MADV_DONTNEED                        = 0x4
--	MADV_FREE                            = 0x8
--	MADV_HUGEPAGE                        = 0xe
--	MADV_HWPOISON                        = 0x64
--	MADV_MERGEABLE                       = 0xc
--	MADV_NOHUGEPAGE                      = 0xf
--	MADV_NORMAL                          = 0x0
--	MADV_RANDOM                          = 0x1
--	MADV_REMOVE                          = 0x9
--	MADV_SEQUENTIAL                      = 0x2
--	MADV_UNMERGEABLE                     = 0xd
--	MADV_WILLNEED                        = 0x3
--	MAP_ANON                             = 0x800
--	MAP_ANONYMOUS                        = 0x800
--	MAP_DENYWRITE                        = 0x2000
--	MAP_EXECUTABLE                       = 0x4000
--	MAP_FILE                             = 0x0
--	MAP_FIXED                            = 0x10
--	MAP_GROWSDOWN                        = 0x1000
--	MAP_HUGETLB                          = 0x80000
--	MAP_HUGE_MASK                        = 0x3f
--	MAP_HUGE_SHIFT                       = 0x1a
--	MAP_LOCKED                           = 0x8000
--	MAP_NONBLOCK                         = 0x20000
--	MAP_NORESERVE                        = 0x400
--	MAP_POPULATE                         = 0x10000
--	MAP_PRIVATE                          = 0x2
--	MAP_RENAME                           = 0x800
--	MAP_SHARED                           = 0x1
--	MAP_STACK                            = 0x40000
--	MAP_TYPE                             = 0xf
--	MCL_CURRENT                          = 0x1
--	MCL_FUTURE                           = 0x2
--	MCL_ONFAULT                          = 0x4
--	MNT_DETACH                           = 0x2
--	MNT_EXPIRE                           = 0x4
--	MNT_FORCE                            = 0x1
--	MSG_BATCH                            = 0x40000
--	MSG_CMSG_CLOEXEC                     = 0x40000000
--	MSG_CONFIRM                          = 0x800
--	MSG_CTRUNC                           = 0x8
--	MSG_DONTROUTE                        = 0x4
--	MSG_DONTWAIT                         = 0x40
--	MSG_EOR                              = 0x80
--	MSG_ERRQUEUE                         = 0x2000
--	MSG_FASTOPEN                         = 0x20000000
--	MSG_FIN                              = 0x200
--	MSG_MORE                             = 0x8000
--	MSG_NOSIGNAL                         = 0x4000
--	MSG_OOB                              = 0x1
--	MSG_PEEK                             = 0x2
--	MSG_PROXY                            = 0x10
--	MSG_RST                              = 0x1000
--	MSG_SYN                              = 0x400
--	MSG_TRUNC                            = 0x20
--	MSG_TRYHARD                          = 0x4
--	MSG_WAITALL                          = 0x100
--	MSG_WAITFORONE                       = 0x10000
--	MS_ACTIVE                            = 0x40000000
--	MS_ASYNC                             = 0x1
--	MS_BIND                              = 0x1000
--	MS_BORN                              = 0x20000000
--	MS_DIRSYNC                           = 0x80
--	MS_INVALIDATE                        = 0x2
--	MS_I_VERSION                         = 0x800000
--	MS_KERNMOUNT                         = 0x400000
--	MS_LAZYTIME                          = 0x2000000
--	MS_MANDLOCK                          = 0x40
--	MS_MGC_MSK                           = 0xffff0000
--	MS_MGC_VAL                           = 0xc0ed0000
--	MS_MOVE                              = 0x2000
--	MS_NOATIME                           = 0x400
--	MS_NODEV                             = 0x4
--	MS_NODIRATIME                        = 0x800
--	MS_NOEXEC                            = 0x8
--	MS_NOREMOTELOCK                      = 0x8000000
--	MS_NOSEC                             = 0x10000000
--	MS_NOSUID                            = 0x2
--	MS_NOUSER                            = -0x80000000
--	MS_POSIXACL                          = 0x10000
--	MS_PRIVATE                           = 0x40000
--	MS_RDONLY                            = 0x1
--	MS_REC                               = 0x4000
--	MS_RELATIME                          = 0x200000
--	MS_REMOUNT                           = 0x20
--	MS_RMT_MASK                          = 0x2800051
--	MS_SHARED                            = 0x100000
--	MS_SILENT                            = 0x8000
--	MS_SLAVE                             = 0x80000
--	MS_STRICTATIME                       = 0x1000000
--	MS_SYNC                              = 0x4
--	MS_SYNCHRONOUS                       = 0x10
--	MS_UNBINDABLE                        = 0x20000
--	MS_VERBOSE                           = 0x8000
--	NAME_MAX                             = 0xff
--	NETLINK_ADD_MEMBERSHIP               = 0x1
--	NETLINK_AUDIT                        = 0x9
--	NETLINK_BROADCAST_ERROR              = 0x4
--	NETLINK_CAP_ACK                      = 0xa
--	NETLINK_CONNECTOR                    = 0xb
--	NETLINK_CRYPTO                       = 0x15
--	NETLINK_DNRTMSG                      = 0xe
--	NETLINK_DROP_MEMBERSHIP              = 0x2
--	NETLINK_ECRYPTFS                     = 0x13
--	NETLINK_FIB_LOOKUP                   = 0xa
--	NETLINK_FIREWALL                     = 0x3
--	NETLINK_GENERIC                      = 0x10
--	NETLINK_INET_DIAG                    = 0x4
--	NETLINK_IP6_FW                       = 0xd
--	NETLINK_ISCSI                        = 0x8
--	NETLINK_KOBJECT_UEVENT               = 0xf
--	NETLINK_LISTEN_ALL_NSID              = 0x8
--	NETLINK_LIST_MEMBERSHIPS             = 0x9
--	NETLINK_NETFILTER                    = 0xc
--	NETLINK_NFLOG                        = 0x5
--	NETLINK_NO_ENOBUFS                   = 0x5
--	NETLINK_PKTINFO                      = 0x3
--	NETLINK_RDMA                         = 0x14
--	NETLINK_ROUTE                        = 0x0
--	NETLINK_RX_RING                      = 0x6
--	NETLINK_SCSITRANSPORT                = 0x12
--	NETLINK_SELINUX                      = 0x7
--	NETLINK_SOCK_DIAG                    = 0x4
--	NETLINK_TX_RING                      = 0x7
--	NETLINK_UNUSED                       = 0x1
--	NETLINK_USERSOCK                     = 0x2
--	NETLINK_XFRM                         = 0x6
--	NL0                                  = 0x0
--	NL1                                  = 0x100
--	NLA_ALIGNTO                          = 0x4
--	NLA_F_NESTED                         = 0x8000
--	NLA_F_NET_BYTEORDER                  = 0x4000
--	NLA_HDRLEN                           = 0x4
--	NLDLY                                = 0x100
--	NLMSG_ALIGNTO                        = 0x4
--	NLMSG_DONE                           = 0x3
--	NLMSG_ERROR                          = 0x2
--	NLMSG_HDRLEN                         = 0x10
--	NLMSG_MIN_TYPE                       = 0x10
--	NLMSG_NOOP                           = 0x1
--	NLMSG_OVERRUN                        = 0x4
--	NLM_F_ACK                            = 0x4
--	NLM_F_APPEND                         = 0x800
--	NLM_F_ATOMIC                         = 0x400
--	NLM_F_CREATE                         = 0x400
--	NLM_F_DUMP                           = 0x300
--	NLM_F_DUMP_FILTERED                  = 0x20
--	NLM_F_DUMP_INTR                      = 0x10
--	NLM_F_ECHO                           = 0x8
--	NLM_F_EXCL                           = 0x200
--	NLM_F_MATCH                          = 0x200
--	NLM_F_MULTI                          = 0x2
--	NLM_F_REPLACE                        = 0x100
--	NLM_F_REQUEST                        = 0x1
--	NLM_F_ROOT                           = 0x100
--	NOFLSH                               = 0x80
--	OCRNL                                = 0x8
--	OFDEL                                = 0x80
--	OFILL                                = 0x40
--	OLCUC                                = 0x2
--	ONLCR                                = 0x4
--	ONLRET                               = 0x20
--	ONOCR                                = 0x10
--	OPOST                                = 0x1
--	O_ACCMODE                            = 0x3
--	O_APPEND                             = 0x8
--	O_ASYNC                              = 0x1000
--	O_CLOEXEC                            = 0x80000
--	O_CREAT                              = 0x100
--	O_DIRECT                             = 0x8000
--	O_DIRECTORY                          = 0x10000
--	O_DSYNC                              = 0x10
--	O_EXCL                               = 0x400
--	O_FSYNC                              = 0x4010
--	O_LARGEFILE                          = 0x2000
--	O_NDELAY                             = 0x80
--	O_NOATIME                            = 0x40000
--	O_NOCTTY                             = 0x800
--	O_NOFOLLOW                           = 0x20000
--	O_NONBLOCK                           = 0x80
--	O_PATH                               = 0x200000
--	O_RDONLY                             = 0x0
--	O_RDWR                               = 0x2
--	O_RSYNC                              = 0x4010
--	O_SYNC                               = 0x4010
--	O_TMPFILE                            = 0x410000
--	O_TRUNC                              = 0x200
--	O_WRONLY                             = 0x1
--	PACKET_ADD_MEMBERSHIP                = 0x1
--	PACKET_AUXDATA                       = 0x8
--	PACKET_BROADCAST                     = 0x1
--	PACKET_COPY_THRESH                   = 0x7
--	PACKET_DROP_MEMBERSHIP               = 0x2
--	PACKET_FANOUT                        = 0x12
--	PACKET_FANOUT_CBPF                   = 0x6
--	PACKET_FANOUT_CPU                    = 0x2
--	PACKET_FANOUT_DATA                   = 0x16
--	PACKET_FANOUT_EBPF                   = 0x7
--	PACKET_FANOUT_FLAG_DEFRAG            = 0x8000
--	PACKET_FANOUT_FLAG_ROLLOVER          = 0x1000
--	PACKET_FANOUT_HASH                   = 0x0
--	PACKET_FANOUT_LB                     = 0x1
--	PACKET_FANOUT_QM                     = 0x5
--	PACKET_FANOUT_RND                    = 0x4
--	PACKET_FANOUT_ROLLOVER               = 0x3
--	PACKET_FASTROUTE                     = 0x6
--	PACKET_HDRLEN                        = 0xb
--	PACKET_HOST                          = 0x0
--	PACKET_KERNEL                        = 0x7
--	PACKET_LOOPBACK                      = 0x5
--	PACKET_LOSS                          = 0xe
--	PACKET_MR_ALLMULTI                   = 0x2
--	PACKET_MR_MULTICAST                  = 0x0
--	PACKET_MR_PROMISC                    = 0x1
--	PACKET_MR_UNICAST                    = 0x3
--	PACKET_MULTICAST                     = 0x2
--	PACKET_ORIGDEV                       = 0x9
--	PACKET_OTHERHOST                     = 0x3
--	PACKET_OUTGOING                      = 0x4
--	PACKET_QDISC_BYPASS                  = 0x14
--	PACKET_RECV_OUTPUT                   = 0x3
--	PACKET_RESERVE                       = 0xc
--	PACKET_ROLLOVER_STATS                = 0x15
--	PACKET_RX_RING                       = 0x5
--	PACKET_STATISTICS                    = 0x6
--	PACKET_TIMESTAMP                     = 0x11
--	PACKET_TX_HAS_OFF                    = 0x13
--	PACKET_TX_RING                       = 0xd
--	PACKET_TX_TIMESTAMP                  = 0x10
--	PACKET_USER                          = 0x6
--	PACKET_VERSION                       = 0xa
--	PACKET_VNET_HDR                      = 0xf
--	PARENB                               = 0x100
--	PARITY_CRC16_PR0                     = 0x2
--	PARITY_CRC16_PR0_CCITT               = 0x4
--	PARITY_CRC16_PR1                     = 0x3
--	PARITY_CRC16_PR1_CCITT               = 0x5
--	PARITY_CRC32_PR0_CCITT               = 0x6
--	PARITY_CRC32_PR1_CCITT               = 0x7
--	PARITY_DEFAULT                       = 0x0
--	PARITY_NONE                          = 0x1
--	PARMRK                               = 0x8
--	PARODD                               = 0x200
--	PENDIN                               = 0x4000
--	PERF_EVENT_IOC_DISABLE               = 0x20002401
--	PERF_EVENT_IOC_ENABLE                = 0x20002400
--	PERF_EVENT_IOC_ID                    = 0x40042407
--	PERF_EVENT_IOC_PAUSE_OUTPUT          = 0x80042409
--	PERF_EVENT_IOC_PERIOD                = 0x80082404
--	PERF_EVENT_IOC_REFRESH               = 0x20002402
--	PERF_EVENT_IOC_RESET                 = 0x20002403
--	PERF_EVENT_IOC_SET_BPF               = 0x80042408
--	PERF_EVENT_IOC_SET_FILTER            = 0x80042406
--	PERF_EVENT_IOC_SET_OUTPUT            = 0x20002405
--	PRIO_PGRP                            = 0x1
--	PRIO_PROCESS                         = 0x0
--	PRIO_USER                            = 0x2
--	PROT_EXEC                            = 0x4
--	PROT_GROWSDOWN                       = 0x1000000
--	PROT_GROWSUP                         = 0x2000000
--	PROT_NONE                            = 0x0
--	PROT_READ                            = 0x1
--	PROT_WRITE                           = 0x2
--	PR_CAPBSET_DROP                      = 0x18
--	PR_CAPBSET_READ                      = 0x17
--	PR_CAP_AMBIENT                       = 0x2f
--	PR_CAP_AMBIENT_CLEAR_ALL             = 0x4
--	PR_CAP_AMBIENT_IS_SET                = 0x1
--	PR_CAP_AMBIENT_LOWER                 = 0x3
--	PR_CAP_AMBIENT_RAISE                 = 0x2
--	PR_ENDIAN_BIG                        = 0x0
--	PR_ENDIAN_LITTLE                     = 0x1
--	PR_ENDIAN_PPC_LITTLE                 = 0x2
--	PR_FPEMU_NOPRINT                     = 0x1
--	PR_FPEMU_SIGFPE                      = 0x2
--	PR_FP_EXC_ASYNC                      = 0x2
--	PR_FP_EXC_DISABLED                   = 0x0
--	PR_FP_EXC_DIV                        = 0x10000
--	PR_FP_EXC_INV                        = 0x100000
--	PR_FP_EXC_NONRECOV                   = 0x1
--	PR_FP_EXC_OVF                        = 0x20000
--	PR_FP_EXC_PRECISE                    = 0x3
--	PR_FP_EXC_RES                        = 0x80000
--	PR_FP_EXC_SW_ENABLE                  = 0x80
--	PR_FP_EXC_UND                        = 0x40000
--	PR_FP_MODE_FR                        = 0x1
--	PR_FP_MODE_FRE                       = 0x2
--	PR_GET_CHILD_SUBREAPER               = 0x25
--	PR_GET_DUMPABLE                      = 0x3
--	PR_GET_ENDIAN                        = 0x13
--	PR_GET_FPEMU                         = 0x9
--	PR_GET_FPEXC                         = 0xb
--	PR_GET_FP_MODE                       = 0x2e
--	PR_GET_KEEPCAPS                      = 0x7
--	PR_GET_NAME                          = 0x10
--	PR_GET_NO_NEW_PRIVS                  = 0x27
--	PR_GET_PDEATHSIG                     = 0x2
--	PR_GET_SECCOMP                       = 0x15
--	PR_GET_SECUREBITS                    = 0x1b
--	PR_GET_THP_DISABLE                   = 0x2a
--	PR_GET_TID_ADDRESS                   = 0x28
--	PR_GET_TIMERSLACK                    = 0x1e
--	PR_GET_TIMING                        = 0xd
--	PR_GET_TSC                           = 0x19
--	PR_GET_UNALIGN                       = 0x5
--	PR_MCE_KILL                          = 0x21
--	PR_MCE_KILL_CLEAR                    = 0x0
--	PR_MCE_KILL_DEFAULT                  = 0x2
--	PR_MCE_KILL_EARLY                    = 0x1
--	PR_MCE_KILL_GET                      = 0x22
--	PR_MCE_KILL_LATE                     = 0x0
--	PR_MCE_KILL_SET                      = 0x1
--	PR_MPX_DISABLE_MANAGEMENT            = 0x2c
--	PR_MPX_ENABLE_MANAGEMENT             = 0x2b
--	PR_SET_CHILD_SUBREAPER               = 0x24
--	PR_SET_DUMPABLE                      = 0x4
--	PR_SET_ENDIAN                        = 0x14
--	PR_SET_FPEMU                         = 0xa
--	PR_SET_FPEXC                         = 0xc
--	PR_SET_FP_MODE                       = 0x2d
--	PR_SET_KEEPCAPS                      = 0x8
--	PR_SET_MM                            = 0x23
--	PR_SET_MM_ARG_END                    = 0x9
--	PR_SET_MM_ARG_START                  = 0x8
--	PR_SET_MM_AUXV                       = 0xc
--	PR_SET_MM_BRK                        = 0x7
--	PR_SET_MM_END_CODE                   = 0x2
--	PR_SET_MM_END_DATA                   = 0x4
--	PR_SET_MM_ENV_END                    = 0xb
--	PR_SET_MM_ENV_START                  = 0xa
--	PR_SET_MM_EXE_FILE                   = 0xd
--	PR_SET_MM_MAP                        = 0xe
--	PR_SET_MM_MAP_SIZE                   = 0xf
--	PR_SET_MM_START_BRK                  = 0x6
--	PR_SET_MM_START_CODE                 = 0x1
--	PR_SET_MM_START_DATA                 = 0x3
--	PR_SET_MM_START_STACK                = 0x5
--	PR_SET_NAME                          = 0xf
--	PR_SET_NO_NEW_PRIVS                  = 0x26
--	PR_SET_PDEATHSIG                     = 0x1
--	PR_SET_PTRACER                       = 0x59616d61
--	PR_SET_PTRACER_ANY                   = 0xffffffff
--	PR_SET_SECCOMP                       = 0x16
--	PR_SET_SECUREBITS                    = 0x1c
--	PR_SET_THP_DISABLE                   = 0x29
--	PR_SET_TIMERSLACK                    = 0x1d
--	PR_SET_TIMING                        = 0xe
--	PR_SET_TSC                           = 0x1a
--	PR_SET_UNALIGN                       = 0x6
--	PR_TASK_PERF_EVENTS_DISABLE          = 0x1f
--	PR_TASK_PERF_EVENTS_ENABLE           = 0x20
--	PR_TIMING_STATISTICAL                = 0x0
--	PR_TIMING_TIMESTAMP                  = 0x1
--	PR_TSC_ENABLE                        = 0x1
--	PR_TSC_SIGSEGV                       = 0x2
--	PR_UNALIGN_NOPRINT                   = 0x1
--	PR_UNALIGN_SIGBUS                    = 0x2
--	PTRACE_ATTACH                        = 0x10
--	PTRACE_CONT                          = 0x7
--	PTRACE_DETACH                        = 0x11
--	PTRACE_EVENT_CLONE                   = 0x3
--	PTRACE_EVENT_EXEC                    = 0x4
--	PTRACE_EVENT_EXIT                    = 0x6
--	PTRACE_EVENT_FORK                    = 0x1
--	PTRACE_EVENT_SECCOMP                 = 0x7
--	PTRACE_EVENT_STOP                    = 0x80
--	PTRACE_EVENT_VFORK                   = 0x2
--	PTRACE_EVENT_VFORK_DONE              = 0x5
--	PTRACE_GETEVENTMSG                   = 0x4201
--	PTRACE_GETFPREGS                     = 0xe
--	PTRACE_GETREGS                       = 0xc
--	PTRACE_GETREGSET                     = 0x4204
--	PTRACE_GETSIGINFO                    = 0x4202
--	PTRACE_GETSIGMASK                    = 0x420a
--	PTRACE_GET_THREAD_AREA               = 0x19
--	PTRACE_GET_THREAD_AREA_3264          = 0xc4
--	PTRACE_GET_WATCH_REGS                = 0xd0
--	PTRACE_INTERRUPT                     = 0x4207
--	PTRACE_KILL                          = 0x8
--	PTRACE_LISTEN                        = 0x4208
--	PTRACE_OLDSETOPTIONS                 = 0x15
--	PTRACE_O_EXITKILL                    = 0x100000
--	PTRACE_O_MASK                        = 0x3000ff
--	PTRACE_O_SUSPEND_SECCOMP             = 0x200000
--	PTRACE_O_TRACECLONE                  = 0x8
--	PTRACE_O_TRACEEXEC                   = 0x10
--	PTRACE_O_TRACEEXIT                   = 0x40
--	PTRACE_O_TRACEFORK                   = 0x2
--	PTRACE_O_TRACESECCOMP                = 0x80
--	PTRACE_O_TRACESYSGOOD                = 0x1
--	PTRACE_O_TRACEVFORK                  = 0x4
--	PTRACE_O_TRACEVFORKDONE              = 0x20
--	PTRACE_PEEKDATA                      = 0x2
--	PTRACE_PEEKDATA_3264                 = 0xc1
--	PTRACE_PEEKSIGINFO                   = 0x4209
--	PTRACE_PEEKSIGINFO_SHARED            = 0x1
--	PTRACE_PEEKTEXT                      = 0x1
--	PTRACE_PEEKTEXT_3264                 = 0xc0
--	PTRACE_PEEKUSR                       = 0x3
--	PTRACE_POKEDATA                      = 0x5
--	PTRACE_POKEDATA_3264                 = 0xc3
--	PTRACE_POKETEXT                      = 0x4
--	PTRACE_POKETEXT_3264                 = 0xc2
--	PTRACE_POKEUSR                       = 0x6
--	PTRACE_SECCOMP_GET_FILTER            = 0x420c
--	PTRACE_SEIZE                         = 0x4206
--	PTRACE_SETFPREGS                     = 0xf
--	PTRACE_SETOPTIONS                    = 0x4200
--	PTRACE_SETREGS                       = 0xd
--	PTRACE_SETREGSET                     = 0x4205
--	PTRACE_SETSIGINFO                    = 0x4203
--	PTRACE_SETSIGMASK                    = 0x420b
--	PTRACE_SET_THREAD_AREA               = 0x1a
--	PTRACE_SET_WATCH_REGS                = 0xd1
--	PTRACE_SINGLESTEP                    = 0x9
--	PTRACE_SYSCALL                       = 0x18
--	PTRACE_TRACEME                       = 0x0
--	RLIMIT_AS                            = 0x6
--	RLIMIT_CORE                          = 0x4
--	RLIMIT_CPU                           = 0x0
--	RLIMIT_DATA                          = 0x2
--	RLIMIT_FSIZE                         = 0x1
--	RLIMIT_LOCKS                         = 0xa
--	RLIMIT_MEMLOCK                       = 0x9
--	RLIMIT_MSGQUEUE                      = 0xc
--	RLIMIT_NICE                          = 0xd
--	RLIMIT_NOFILE                        = 0x5
--	RLIMIT_NPROC                         = 0x8
--	RLIMIT_RSS                           = 0x7
--	RLIMIT_RTPRIO                        = 0xe
--	RLIMIT_RTTIME                        = 0xf
--	RLIMIT_SIGPENDING                    = 0xb
--	RLIMIT_STACK                         = 0x3
--	RLIM_INFINITY                        = -0x1
--	RTAX_ADVMSS                          = 0x8
--	RTAX_CC_ALGO                         = 0x10
--	RTAX_CWND                            = 0x7
--	RTAX_FEATURES                        = 0xc
--	RTAX_FEATURE_ALLFRAG                 = 0x8
--	RTAX_FEATURE_ECN                     = 0x1
--	RTAX_FEATURE_MASK                    = 0xf
--	RTAX_FEATURE_SACK                    = 0x2
--	RTAX_FEATURE_TIMESTAMP               = 0x4
--	RTAX_HOPLIMIT                        = 0xa
--	RTAX_INITCWND                        = 0xb
--	RTAX_INITRWND                        = 0xe
--	RTAX_LOCK                            = 0x1
--	RTAX_MAX                             = 0x10
--	RTAX_MTU                             = 0x2
--	RTAX_QUICKACK                        = 0xf
--	RTAX_REORDERING                      = 0x9
--	RTAX_RTO_MIN                         = 0xd
--	RTAX_RTT                             = 0x4
--	RTAX_RTTVAR                          = 0x5
--	RTAX_SSTHRESH                        = 0x6
--	RTAX_UNSPEC                          = 0x0
--	RTAX_WINDOW                          = 0x3
--	RTA_ALIGNTO                          = 0x4
--	RTA_MAX                              = 0x19
--	RTCF_DIRECTSRC                       = 0x4000000
--	RTCF_DOREDIRECT                      = 0x1000000
--	RTCF_LOG                             = 0x2000000
--	RTCF_MASQ                            = 0x400000
--	RTCF_NAT                             = 0x800000
--	RTCF_VALVE                           = 0x200000
--	RTF_ADDRCLASSMASK                    = 0xf8000000
--	RTF_ADDRCONF                         = 0x40000
--	RTF_ALLONLINK                        = 0x20000
--	RTF_BROADCAST                        = 0x10000000
--	RTF_CACHE                            = 0x1000000
--	RTF_DEFAULT                          = 0x10000
--	RTF_DYNAMIC                          = 0x10
--	RTF_FLOW                             = 0x2000000
--	RTF_GATEWAY                          = 0x2
--	RTF_HOST                             = 0x4
--	RTF_INTERFACE                        = 0x40000000
--	RTF_IRTT                             = 0x100
--	RTF_LINKRT                           = 0x100000
--	RTF_LOCAL                            = 0x80000000
--	RTF_MODIFIED                         = 0x20
--	RTF_MSS                              = 0x40
--	RTF_MTU                              = 0x40
--	RTF_MULTICAST                        = 0x20000000
--	RTF_NAT                              = 0x8000000
--	RTF_NOFORWARD                        = 0x1000
--	RTF_NONEXTHOP                        = 0x200000
--	RTF_NOPMTUDISC                       = 0x4000
--	RTF_POLICY                           = 0x4000000
--	RTF_REINSTATE                        = 0x8
--	RTF_REJECT                           = 0x200
--	RTF_STATIC                           = 0x400
--	RTF_THROW                            = 0x2000
--	RTF_UP                               = 0x1
--	RTF_WINDOW                           = 0x80
--	RTF_XRESOLVE                         = 0x800
--	RTM_BASE                             = 0x10
--	RTM_DELACTION                        = 0x31
--	RTM_DELADDR                          = 0x15
--	RTM_DELADDRLABEL                     = 0x49
--	RTM_DELLINK                          = 0x11
--	RTM_DELMDB                           = 0x55
--	RTM_DELNEIGH                         = 0x1d
--	RTM_DELNSID                          = 0x59
--	RTM_DELQDISC                         = 0x25
--	RTM_DELROUTE                         = 0x19
--	RTM_DELRULE                          = 0x21
--	RTM_DELTCLASS                        = 0x29
--	RTM_DELTFILTER                       = 0x2d
--	RTM_F_CLONED                         = 0x200
--	RTM_F_EQUALIZE                       = 0x400
--	RTM_F_LOOKUP_TABLE                   = 0x1000
--	RTM_F_NOTIFY                         = 0x100
--	RTM_F_PREFIX                         = 0x800
--	RTM_GETACTION                        = 0x32
--	RTM_GETADDR                          = 0x16
--	RTM_GETADDRLABEL                     = 0x4a
--	RTM_GETANYCAST                       = 0x3e
--	RTM_GETDCB                           = 0x4e
--	RTM_GETLINK                          = 0x12
--	RTM_GETMDB                           = 0x56
--	RTM_GETMULTICAST                     = 0x3a
--	RTM_GETNEIGH                         = 0x1e
--	RTM_GETNEIGHTBL                      = 0x42
--	RTM_GETNETCONF                       = 0x52
--	RTM_GETNSID                          = 0x5a
--	RTM_GETQDISC                         = 0x26
--	RTM_GETROUTE                         = 0x1a
--	RTM_GETRULE                          = 0x22
--	RTM_GETSTATS                         = 0x5e
--	RTM_GETTCLASS                        = 0x2a
--	RTM_GETTFILTER                       = 0x2e
--	RTM_MAX                              = 0x5f
--	RTM_NEWACTION                        = 0x30
--	RTM_NEWADDR                          = 0x14
--	RTM_NEWADDRLABEL                     = 0x48
--	RTM_NEWLINK                          = 0x10
--	RTM_NEWMDB                           = 0x54
--	RTM_NEWNDUSEROPT                     = 0x44
--	RTM_NEWNEIGH                         = 0x1c
--	RTM_NEWNEIGHTBL                      = 0x40
--	RTM_NEWNETCONF                       = 0x50
--	RTM_NEWNSID                          = 0x58
--	RTM_NEWPREFIX                        = 0x34
--	RTM_NEWQDISC                         = 0x24
--	RTM_NEWROUTE                         = 0x18
--	RTM_NEWRULE                          = 0x20
--	RTM_NEWSTATS                         = 0x5c
--	RTM_NEWTCLASS                        = 0x28
--	RTM_NEWTFILTER                       = 0x2c
--	RTM_NR_FAMILIES                      = 0x14
--	RTM_NR_MSGTYPES                      = 0x50
--	RTM_SETDCB                           = 0x4f
--	RTM_SETLINK                          = 0x13
--	RTM_SETNEIGHTBL                      = 0x43
--	RTNH_ALIGNTO                         = 0x4
--	RTNH_COMPARE_MASK                    = 0x19
--	RTNH_F_DEAD                          = 0x1
--	RTNH_F_LINKDOWN                      = 0x10
--	RTNH_F_OFFLOAD                       = 0x8
--	RTNH_F_ONLINK                        = 0x4
--	RTNH_F_PERVASIVE                     = 0x2
--	RTN_MAX                              = 0xb
--	RTPROT_BABEL                         = 0x2a
--	RTPROT_BIRD                          = 0xc
--	RTPROT_BOOT                          = 0x3
--	RTPROT_DHCP                          = 0x10
--	RTPROT_DNROUTED                      = 0xd
--	RTPROT_GATED                         = 0x8
--	RTPROT_KERNEL                        = 0x2
--	RTPROT_MROUTED                       = 0x11
--	RTPROT_MRT                           = 0xa
--	RTPROT_NTK                           = 0xf
--	RTPROT_RA                            = 0x9
--	RTPROT_REDIRECT                      = 0x1
--	RTPROT_STATIC                        = 0x4
--	RTPROT_UNSPEC                        = 0x0
--	RTPROT_XORP                          = 0xe
--	RTPROT_ZEBRA                         = 0xb
--	RT_CLASS_DEFAULT                     = 0xfd
--	RT_CLASS_LOCAL                       = 0xff
--	RT_CLASS_MAIN                        = 0xfe
--	RT_CLASS_MAX                         = 0xff
--	RT_CLASS_UNSPEC                      = 0x0
--	RUSAGE_CHILDREN                      = -0x1
--	RUSAGE_SELF                          = 0x0
--	RUSAGE_THREAD                        = 0x1
--	SCM_CREDENTIALS                      = 0x2
--	SCM_RIGHTS                           = 0x1
--	SCM_TIMESTAMP                        = 0x1d
--	SCM_TIMESTAMPING                     = 0x25
--	SCM_TIMESTAMPING_OPT_STATS           = 0x36
--	SCM_TIMESTAMPNS                      = 0x23
--	SCM_WIFI_STATUS                      = 0x29
--	SECCOMP_MODE_DISABLED                = 0x0
--	SECCOMP_MODE_FILTER                  = 0x2
--	SECCOMP_MODE_STRICT                  = 0x1
--	SHUT_RD                              = 0x0
--	SHUT_RDWR                            = 0x2
--	SHUT_WR                              = 0x1
--	SIOCADDDLCI                          = 0x8980
--	SIOCADDMULTI                         = 0x8931
--	SIOCADDRT                            = 0x890b
--	SIOCATMARK                           = 0x40047307
--	SIOCBONDCHANGEACTIVE                 = 0x8995
--	SIOCBONDENSLAVE                      = 0x8990
--	SIOCBONDINFOQUERY                    = 0x8994
--	SIOCBONDRELEASE                      = 0x8991
--	SIOCBONDSETHWADDR                    = 0x8992
--	SIOCBONDSLAVEINFOQUERY               = 0x8993
--	SIOCBRADDBR                          = 0x89a0
--	SIOCBRADDIF                          = 0x89a2
--	SIOCBRDELBR                          = 0x89a1
--	SIOCBRDELIF                          = 0x89a3
--	SIOCDARP                             = 0x8953
--	SIOCDELDLCI                          = 0x8981
--	SIOCDELMULTI                         = 0x8932
--	SIOCDELRT                            = 0x890c
--	SIOCDEVPRIVATE                       = 0x89f0
--	SIOCDIFADDR                          = 0x8936
--	SIOCDRARP                            = 0x8960
--	SIOCETHTOOL                          = 0x8946
--	SIOCGARP                             = 0x8954
--	SIOCGHWTSTAMP                        = 0x89b1
--	SIOCGIFADDR                          = 0x8915
--	SIOCGIFBR                            = 0x8940
--	SIOCGIFBRDADDR                       = 0x8919
--	SIOCGIFCONF                          = 0x8912
--	SIOCGIFCOUNT                         = 0x8938
--	SIOCGIFDSTADDR                       = 0x8917
--	SIOCGIFENCAP                         = 0x8925
--	SIOCGIFFLAGS                         = 0x8913
--	SIOCGIFHWADDR                        = 0x8927
--	SIOCGIFINDEX                         = 0x8933
--	SIOCGIFMAP                           = 0x8970
--	SIOCGIFMEM                           = 0x891f
--	SIOCGIFMETRIC                        = 0x891d
--	SIOCGIFMTU                           = 0x8921
--	SIOCGIFNAME                          = 0x8910
--	SIOCGIFNETMASK                       = 0x891b
--	SIOCGIFPFLAGS                        = 0x8935
--	SIOCGIFSLAVE                         = 0x8929
--	SIOCGIFTXQLEN                        = 0x8942
--	SIOCGIFVLAN                          = 0x8982
--	SIOCGMIIPHY                          = 0x8947
--	SIOCGMIIREG                          = 0x8948
--	SIOCGPGRP                            = 0x40047309
--	SIOCGRARP                            = 0x8961
--	SIOCGSKNS                            = 0x894c
--	SIOCGSTAMP                           = 0x8906
--	SIOCGSTAMPNS                         = 0x8907
--	SIOCINQ                              = 0x467f
--	SIOCOUTQ                             = 0x7472
--	SIOCOUTQNSD                          = 0x894b
--	SIOCPROTOPRIVATE                     = 0x89e0
--	SIOCRTMSG                            = 0x890d
--	SIOCSARP                             = 0x8955
--	SIOCSHWTSTAMP                        = 0x89b0
--	SIOCSIFADDR                          = 0x8916
--	SIOCSIFBR                            = 0x8941
--	SIOCSIFBRDADDR                       = 0x891a
--	SIOCSIFDSTADDR                       = 0x8918
--	SIOCSIFENCAP                         = 0x8926
--	SIOCSIFFLAGS                         = 0x8914
--	SIOCSIFHWADDR                        = 0x8924
--	SIOCSIFHWBROADCAST                   = 0x8937
--	SIOCSIFLINK                          = 0x8911
--	SIOCSIFMAP                           = 0x8971
--	SIOCSIFMEM                           = 0x8920
--	SIOCSIFMETRIC                        = 0x891e
--	SIOCSIFMTU                           = 0x8922
--	SIOCSIFNAME                          = 0x8923
--	SIOCSIFNETMASK                       = 0x891c
--	SIOCSIFPFLAGS                        = 0x8934
--	SIOCSIFSLAVE                         = 0x8930
--	SIOCSIFTXQLEN                        = 0x8943
--	SIOCSIFVLAN                          = 0x8983
--	SIOCSMIIREG                          = 0x8949
--	SIOCSPGRP                            = 0x80047308
--	SIOCSRARP                            = 0x8962
--	SIOCWANDEV                           = 0x894a
--	SOCK_CLOEXEC                         = 0x80000
--	SOCK_DCCP                            = 0x6
--	SOCK_DGRAM                           = 0x1
--	SOCK_IOC_TYPE                        = 0x89
--	SOCK_NONBLOCK                        = 0x80
--	SOCK_PACKET                          = 0xa
--	SOCK_RAW                             = 0x3
--	SOCK_RDM                             = 0x4
--	SOCK_SEQPACKET                       = 0x5
--	SOCK_STREAM                          = 0x2
--	SOL_AAL                              = 0x109
--	SOL_ALG                              = 0x117
--	SOL_ATM                              = 0x108
--	SOL_CAIF                             = 0x116
--	SOL_CAN_BASE                         = 0x64
--	SOL_DCCP                             = 0x10d
--	SOL_DECNET                           = 0x105
--	SOL_ICMPV6                           = 0x3a
--	SOL_IP                               = 0x0
--	SOL_IPV6                             = 0x29
--	SOL_IRDA                             = 0x10a
--	SOL_IUCV                             = 0x115
--	SOL_KCM                              = 0x119
--	SOL_LLC                              = 0x10c
--	SOL_NETBEUI                          = 0x10b
--	SOL_NETLINK                          = 0x10e
--	SOL_NFC                              = 0x118
--	SOL_PACKET                           = 0x107
--	SOL_PNPIPE                           = 0x113
--	SOL_PPPOL2TP                         = 0x111
--	SOL_RAW                              = 0xff
--	SOL_RDS                              = 0x114
--	SOL_RXRPC                            = 0x110
--	SOL_SOCKET                           = 0xffff
--	SOL_TCP                              = 0x6
--	SOL_TIPC                             = 0x10f
--	SOL_X25                              = 0x106
--	SOMAXCONN                            = 0x80
--	SO_ACCEPTCONN                        = 0x1009
--	SO_ATTACH_BPF                        = 0x32
--	SO_ATTACH_FILTER                     = 0x1a
--	SO_ATTACH_REUSEPORT_CBPF             = 0x33
--	SO_ATTACH_REUSEPORT_EBPF             = 0x34
--	SO_BINDTODEVICE                      = 0x19
--	SO_BPF_EXTENSIONS                    = 0x30
--	SO_BROADCAST                         = 0x20
--	SO_BSDCOMPAT                         = 0xe
--	SO_BUSY_POLL                         = 0x2e
--	SO_CNX_ADVICE                        = 0x35
--	SO_DEBUG                             = 0x1
--	SO_DETACH_BPF                        = 0x1b
--	SO_DETACH_FILTER                     = 0x1b
--	SO_DOMAIN                            = 0x1029
--	SO_DONTROUTE                         = 0x10
--	SO_ERROR                             = 0x1007
--	SO_GET_FILTER                        = 0x1a
--	SO_INCOMING_CPU                      = 0x31
--	SO_KEEPALIVE                         = 0x8
--	SO_LINGER                            = 0x80
--	SO_LOCK_FILTER                       = 0x2c
--	SO_MARK                              = 0x24
--	SO_MAX_PACING_RATE                   = 0x2f
--	SO_NOFCS                             = 0x2b
--	SO_NO_CHECK                          = 0xb
--	SO_OOBINLINE                         = 0x100
--	SO_PASSCRED                          = 0x11
--	SO_PASSSEC                           = 0x22
--	SO_PEEK_OFF                          = 0x2a
--	SO_PEERCRED                          = 0x12
--	SO_PEERNAME                          = 0x1c
--	SO_PEERSEC                           = 0x1e
--	SO_PRIORITY                          = 0xc
--	SO_PROTOCOL                          = 0x1028
--	SO_RCVBUF                            = 0x1002
--	SO_RCVBUFFORCE                       = 0x21
--	SO_RCVLOWAT                          = 0x1004
--	SO_RCVTIMEO                          = 0x1006
--	SO_REUSEADDR                         = 0x4
--	SO_REUSEPORT                         = 0x200
--	SO_RXQ_OVFL                          = 0x28
--	SO_SECURITY_AUTHENTICATION           = 0x16
--	SO_SECURITY_ENCRYPTION_NETWORK       = 0x18
--	SO_SECURITY_ENCRYPTION_TRANSPORT     = 0x17
--	SO_SELECT_ERR_QUEUE                  = 0x2d
--	SO_SNDBUF                            = 0x1001
--	SO_SNDBUFFORCE                       = 0x1f
--	SO_SNDLOWAT                          = 0x1003
--	SO_SNDTIMEO                          = 0x1005
--	SO_STYLE                             = 0x1008
--	SO_TIMESTAMP                         = 0x1d
--	SO_TIMESTAMPING                      = 0x25
--	SO_TIMESTAMPNS                       = 0x23
--	SO_TYPE                              = 0x1008
--	SO_VM_SOCKETS_BUFFER_MAX_SIZE        = 0x2
--	SO_VM_SOCKETS_BUFFER_MIN_SIZE        = 0x1
--	SO_VM_SOCKETS_BUFFER_SIZE            = 0x0
--	SO_VM_SOCKETS_CONNECT_TIMEOUT        = 0x6
--	SO_VM_SOCKETS_NONBLOCK_TXRX          = 0x7
--	SO_VM_SOCKETS_PEER_HOST_VM_ID        = 0x3
--	SO_VM_SOCKETS_TRUSTED                = 0x5
--	SO_WIFI_STATUS                       = 0x29
--	SPLICE_F_GIFT                        = 0x8
--	SPLICE_F_MORE                        = 0x4
--	SPLICE_F_MOVE                        = 0x1
--	SPLICE_F_NONBLOCK                    = 0x2
--	S_BLKSIZE                            = 0x200
--	S_IEXEC                              = 0x40
--	S_IFBLK                              = 0x6000
--	S_IFCHR                              = 0x2000
--	S_IFDIR                              = 0x4000
--	S_IFIFO                              = 0x1000
--	S_IFLNK                              = 0xa000
--	S_IFMT                               = 0xf000
--	S_IFREG                              = 0x8000
--	S_IFSOCK                             = 0xc000
--	S_IREAD                              = 0x100
--	S_IRGRP                              = 0x20
--	S_IROTH                              = 0x4
--	S_IRUSR                              = 0x100
--	S_IRWXG                              = 0x38
--	S_IRWXO                              = 0x7
--	S_IRWXU                              = 0x1c0
--	S_ISGID                              = 0x400
--	S_ISUID                              = 0x800
--	S_ISVTX                              = 0x200
--	S_IWGRP                              = 0x10
--	S_IWOTH                              = 0x2
--	S_IWRITE                             = 0x80
--	S_IWUSR                              = 0x80
--	S_IXGRP                              = 0x8
--	S_IXOTH                              = 0x1
--	S_IXUSR                              = 0x40
--	TAB0                                 = 0x0
--	TAB1                                 = 0x800
--	TAB2                                 = 0x1000
--	TAB3                                 = 0x1800
--	TABDLY                               = 0x1800
--	TASKSTATS_CMD_ATTR_MAX               = 0x4
--	TASKSTATS_CMD_MAX                    = 0x2
--	TASKSTATS_GENL_NAME                  = "TASKSTATS"
--	TASKSTATS_GENL_VERSION               = 0x1
--	TASKSTATS_TYPE_MAX                   = 0x6
--	TASKSTATS_VERSION                    = 0x8
--	TCFLSH                               = 0x5407
--	TCGETA                               = 0x5401
--	TCGETS                               = 0x540d
--	TCGETS2                              = 0x4030542a
--	TCIFLUSH                             = 0x0
--	TCIOFF                               = 0x2
--	TCIOFLUSH                            = 0x2
--	TCION                                = 0x3
--	TCOFLUSH                             = 0x1
--	TCOOFF                               = 0x0
--	TCOON                                = 0x1
--	TCP_CC_INFO                          = 0x1a
--	TCP_CONGESTION                       = 0xd
--	TCP_COOKIE_IN_ALWAYS                 = 0x1
--	TCP_COOKIE_MAX                       = 0x10
--	TCP_COOKIE_MIN                       = 0x8
--	TCP_COOKIE_OUT_NEVER                 = 0x2
--	TCP_COOKIE_PAIR_SIZE                 = 0x20
--	TCP_COOKIE_TRANSACTIONS              = 0xf
--	TCP_CORK                             = 0x3
--	TCP_DEFER_ACCEPT                     = 0x9
--	TCP_FASTOPEN                         = 0x17
--	TCP_INFO                             = 0xb
--	TCP_KEEPCNT                          = 0x6
--	TCP_KEEPIDLE                         = 0x4
--	TCP_KEEPINTVL                        = 0x5
--	TCP_LINGER2                          = 0x8
--	TCP_MAXSEG                           = 0x2
--	TCP_MAXWIN                           = 0xffff
--	TCP_MAX_WINSHIFT                     = 0xe
--	TCP_MD5SIG                           = 0xe
--	TCP_MD5SIG_MAXKEYLEN                 = 0x50
--	TCP_MSS                              = 0x200
--	TCP_MSS_DEFAULT                      = 0x218
--	TCP_MSS_DESIRED                      = 0x4c4
--	TCP_NODELAY                          = 0x1
--	TCP_NOTSENT_LOWAT                    = 0x19
--	TCP_QUEUE_SEQ                        = 0x15
--	TCP_QUICKACK                         = 0xc
--	TCP_REPAIR                           = 0x13
--	TCP_REPAIR_OPTIONS                   = 0x16
--	TCP_REPAIR_QUEUE                     = 0x14
--	TCP_REPAIR_WINDOW                    = 0x1d
--	TCP_SAVED_SYN                        = 0x1c
--	TCP_SAVE_SYN                         = 0x1b
--	TCP_SYNCNT                           = 0x7
--	TCP_S_DATA_IN                        = 0x4
--	TCP_S_DATA_OUT                       = 0x8
--	TCP_THIN_DUPACK                      = 0x11
--	TCP_THIN_LINEAR_TIMEOUTS             = 0x10
--	TCP_TIMESTAMP                        = 0x18
--	TCP_USER_TIMEOUT                     = 0x12
--	TCP_WINDOW_CLAMP                     = 0xa
--	TCSAFLUSH                            = 0x5410
--	TCSBRK                               = 0x5405
--	TCSBRKP                              = 0x5486
--	TCSETA                               = 0x5402
--	TCSETAF                              = 0x5404
--	TCSETAW                              = 0x5403
--	TCSETS                               = 0x540e
--	TCSETS2                              = 0x8030542b
--	TCSETSF                              = 0x5410
--	TCSETSF2                             = 0x8030542d
--	TCSETSW                              = 0x540f
--	TCSETSW2                             = 0x8030542c
--	TCXONC                               = 0x5406
--	TIOCCBRK                             = 0x5428
--	TIOCCONS                             = 0x80047478
--	TIOCEXCL                             = 0x740d
--	TIOCGDEV                             = 0x40045432
--	TIOCGETD                             = 0x7400
--	TIOCGETP                             = 0x7408
--	TIOCGEXCL                            = 0x40045440
--	TIOCGICOUNT                          = 0x5492
--	TIOCGLCKTRMIOS                       = 0x548b
--	TIOCGLTC                             = 0x7474
--	TIOCGPGRP                            = 0x40047477
--	TIOCGPKT                             = 0x40045438
--	TIOCGPTLCK                           = 0x40045439
--	TIOCGPTN                             = 0x40045430
--	TIOCGRS485                           = 0x4020542e
--	TIOCGSERIAL                          = 0x5484
--	TIOCGSID                             = 0x7416
--	TIOCGSOFTCAR                         = 0x5481
--	TIOCGWINSZ                           = 0x40087468
--	TIOCINQ                              = 0x467f
--	TIOCLINUX                            = 0x5483
--	TIOCMBIC                             = 0x741c
--	TIOCMBIS                             = 0x741b
--	TIOCMGET                             = 0x741d
--	TIOCMIWAIT                           = 0x5491
--	TIOCMSET                             = 0x741a
--	TIOCM_CAR                            = 0x100
--	TIOCM_CD                             = 0x100
--	TIOCM_CTS                            = 0x40
--	TIOCM_DSR                            = 0x400
--	TIOCM_DTR                            = 0x2
--	TIOCM_LE                             = 0x1
--	TIOCM_RI                             = 0x200
--	TIOCM_RNG                            = 0x200
--	TIOCM_RTS                            = 0x4
--	TIOCM_SR                             = 0x20
--	TIOCM_ST                             = 0x10
--	TIOCNOTTY                            = 0x5471
--	TIOCNXCL                             = 0x740e
--	TIOCOUTQ                             = 0x7472
--	TIOCPKT                              = 0x5470
--	TIOCPKT_DATA                         = 0x0
--	TIOCPKT_DOSTOP                       = 0x20
--	TIOCPKT_FLUSHREAD                    = 0x1
--	TIOCPKT_FLUSHWRITE                   = 0x2
--	TIOCPKT_IOCTL                        = 0x40
--	TIOCPKT_NOSTOP                       = 0x10
--	TIOCPKT_START                        = 0x8
--	TIOCPKT_STOP                         = 0x4
--	TIOCSBRK                             = 0x5427
--	TIOCSCTTY                            = 0x5480
--	TIOCSERCONFIG                        = 0x5488
--	TIOCSERGETLSR                        = 0x548e
--	TIOCSERGETMULTI                      = 0x548f
--	TIOCSERGSTRUCT                       = 0x548d
--	TIOCSERGWILD                         = 0x5489
--	TIOCSERSETMULTI                      = 0x5490
--	TIOCSERSWILD                         = 0x548a
--	TIOCSER_TEMT                         = 0x1
--	TIOCSETD                             = 0x7401
--	TIOCSETN                             = 0x740a
--	TIOCSETP                             = 0x7409
--	TIOCSIG                              = 0x80045436
--	TIOCSLCKTRMIOS                       = 0x548c
--	TIOCSLTC                             = 0x7475
--	TIOCSPGRP                            = 0x80047476
--	TIOCSPTLCK                           = 0x80045431
--	TIOCSRS485                           = 0xc020542f
--	TIOCSSERIAL                          = 0x5485
--	TIOCSSOFTCAR                         = 0x5482
--	TIOCSTI                              = 0x5472
--	TIOCSWINSZ                           = 0x80087467
--	TIOCVHANGUP                          = 0x5437
--	TOSTOP                               = 0x8000
--	TS_COMM_LEN                          = 0x20
--	TUNATTACHFILTER                      = 0x800854d5
--	TUNDETACHFILTER                      = 0x800854d6
--	TUNGETFEATURES                       = 0x400454cf
--	TUNGETFILTER                         = 0x400854db
--	TUNGETIFF                            = 0x400454d2
--	TUNGETSNDBUF                         = 0x400454d3
--	TUNGETVNETBE                         = 0x400454df
--	TUNGETVNETHDRSZ                      = 0x400454d7
--	TUNGETVNETLE                         = 0x400454dd
--	TUNSETDEBUG                          = 0x800454c9
--	TUNSETGROUP                          = 0x800454ce
--	TUNSETIFF                            = 0x800454ca
--	TUNSETIFINDEX                        = 0x800454da
--	TUNSETLINK                           = 0x800454cd
--	TUNSETNOCSUM                         = 0x800454c8
--	TUNSETOFFLOAD                        = 0x800454d0
--	TUNSETOWNER                          = 0x800454cc
--	TUNSETPERSIST                        = 0x800454cb
--	TUNSETQUEUE                          = 0x800454d9
--	TUNSETSNDBUF                         = 0x800454d4
--	TUNSETTXFILTER                       = 0x800454d1
--	TUNSETVNETBE                         = 0x800454de
--	TUNSETVNETHDRSZ                      = 0x800454d8
--	TUNSETVNETLE                         = 0x800454dc
--	UMOUNT_NOFOLLOW                      = 0x8
--	VDISCARD                             = 0xd
--	VEOF                                 = 0x10
--	VEOL                                 = 0x11
--	VEOL2                                = 0x6
--	VERASE                               = 0x2
--	VINTR                                = 0x0
--	VKILL                                = 0x3
--	VLNEXT                               = 0xf
--	VMADDR_CID_ANY                       = 0xffffffff
--	VMADDR_CID_HOST                      = 0x2
--	VMADDR_CID_HYPERVISOR                = 0x0
--	VMADDR_CID_RESERVED                  = 0x1
--	VMADDR_PORT_ANY                      = 0xffffffff
--	VMIN                                 = 0x4
--	VM_SOCKETS_INVALID_VERSION           = 0xffffffff
--	VQUIT                                = 0x1
--	VREPRINT                             = 0xc
--	VSTART                               = 0x8
--	VSTOP                                = 0x9
--	VSUSP                                = 0xa
--	VSWTC                                = 0x7
--	VSWTCH                               = 0x7
--	VT0                                  = 0x0
--	VT1                                  = 0x4000
--	VTDLY                                = 0x4000
--	VTIME                                = 0x5
--	VWERASE                              = 0xe
--	WALL                                 = 0x40000000
--	WCLONE                               = 0x80000000
--	WCONTINUED                           = 0x8
--	WEXITED                              = 0x4
--	WNOHANG                              = 0x1
--	WNOTHREAD                            = 0x20000000
--	WNOWAIT                              = 0x1000000
--	WORDSIZE                             = 0x20
--	WSTOPPED                             = 0x2
--	WUNTRACED                            = 0x2
--	XATTR_CREATE                         = 0x1
--	XATTR_REPLACE                        = 0x2
--	XCASE                                = 0x4
--	XTABS                                = 0x1800
-+	B1000000                         = 0x1008
-+	B115200                          = 0x1002
-+	B1152000                         = 0x1009
-+	B1500000                         = 0x100a
-+	B2000000                         = 0x100b
-+	B230400                          = 0x1003
-+	B2500000                         = 0x100c
-+	B3000000                         = 0x100d
-+	B3500000                         = 0x100e
-+	B4000000                         = 0x100f
-+	B460800                          = 0x1004
-+	B500000                          = 0x1005
-+	B57600                           = 0x1001
-+	B576000                          = 0x1006
-+	B921600                          = 0x1007
-+	BLKBSZGET                        = 0x40041270
-+	BLKBSZSET                        = 0x80041271
-+	BLKFLSBUF                        = 0x20001261
-+	BLKFRAGET                        = 0x20001265
-+	BLKFRASET                        = 0x20001264
-+	BLKGETSIZE                       = 0x20001260
-+	BLKGETSIZE64                     = 0x40041272
-+	BLKPBSZGET                       = 0x2000127b
-+	BLKRAGET                         = 0x20001263
-+	BLKRASET                         = 0x20001262
-+	BLKROGET                         = 0x2000125e
-+	BLKROSET                         = 0x2000125d
-+	BLKRRPART                        = 0x2000125f
-+	BLKSECTGET                       = 0x20001267
-+	BLKSECTSET                       = 0x20001266
-+	BLKSSZGET                        = 0x20001268
-+	BOTHER                           = 0x1000
-+	BS1                              = 0x2000
-+	BSDLY                            = 0x2000
-+	CBAUD                            = 0x100f
-+	CBAUDEX                          = 0x1000
-+	CIBAUD                           = 0x100f0000
-+	CLOCAL                           = 0x800
-+	CR1                              = 0x200
-+	CR2                              = 0x400
-+	CR3                              = 0x600
-+	CRDLY                            = 0x600
-+	CREAD                            = 0x80
-+	CS6                              = 0x10
-+	CS7                              = 0x20
-+	CS8                              = 0x30
-+	CSIZE                            = 0x30
-+	CSTOPB                           = 0x40
-+	ECHOCTL                          = 0x200
-+	ECHOE                            = 0x10
-+	ECHOK                            = 0x20
-+	ECHOKE                           = 0x800
-+	ECHONL                           = 0x40
-+	ECHOPRT                          = 0x400
-+	EFD_CLOEXEC                      = 0x80000
-+	EFD_NONBLOCK                     = 0x80
-+	EPOLL_CLOEXEC                    = 0x80000
-+	EXTPROC                          = 0x10000
-+	FF1                              = 0x8000
-+	FFDLY                            = 0x8000
-+	FLUSHO                           = 0x2000
-+	FS_IOC_ENABLE_VERITY             = 0x80806685
-+	FS_IOC_GETFLAGS                  = 0x40046601
-+	FS_IOC_GET_ENCRYPTION_POLICY     = 0x800c6615
-+	FS_IOC_GET_ENCRYPTION_PWSALT     = 0x80106614
-+	FS_IOC_SET_ENCRYPTION_POLICY     = 0x400c6613
-+	F_GETLK                          = 0x21
-+	F_GETLK64                        = 0x21
-+	F_GETOWN                         = 0x17
-+	F_RDLCK                          = 0x0
-+	F_SETLK                          = 0x22
-+	F_SETLK64                        = 0x22
-+	F_SETLKW                         = 0x23
-+	F_SETLKW64                       = 0x23
-+	F_SETOWN                         = 0x18
-+	F_UNLCK                          = 0x2
-+	F_WRLCK                          = 0x1
-+	HUPCL                            = 0x400
-+	ICANON                           = 0x2
-+	IEXTEN                           = 0x100
-+	IN_CLOEXEC                       = 0x80000
-+	IN_NONBLOCK                      = 0x80
-+	IOCTL_VM_SOCKETS_GET_LOCAL_CID   = 0x200007b9
-+	ISIG                             = 0x1
-+	IUCLC                            = 0x200
-+	IXOFF                            = 0x1000
-+	IXON                             = 0x400
-+	MAP_ANON                         = 0x800
-+	MAP_ANONYMOUS                    = 0x800
-+	MAP_DENYWRITE                    = 0x2000
-+	MAP_EXECUTABLE                   = 0x4000
-+	MAP_GROWSDOWN                    = 0x1000
-+	MAP_HUGETLB                      = 0x80000
-+	MAP_LOCKED                       = 0x8000
-+	MAP_NONBLOCK                     = 0x20000
-+	MAP_NORESERVE                    = 0x400
-+	MAP_POPULATE                     = 0x10000
-+	MAP_RENAME                       = 0x800
-+	MAP_STACK                        = 0x40000
-+	MCL_CURRENT                      = 0x1
-+	MCL_FUTURE                       = 0x2
-+	MCL_ONFAULT                      = 0x4
-+	NFDBITS                          = 0x20
-+	NLDLY                            = 0x100
-+	NOFLSH                           = 0x80
-+	NS_GET_NSTYPE                    = 0x2000b703
-+	NS_GET_OWNER_UID                 = 0x2000b704
-+	NS_GET_PARENT                    = 0x2000b702
-+	NS_GET_USERNS                    = 0x2000b701
-+	OLCUC                            = 0x2
-+	ONLCR                            = 0x4
-+	O_APPEND                         = 0x8
-+	O_ASYNC                          = 0x1000
-+	O_CLOEXEC                        = 0x80000
-+	O_CREAT                          = 0x100
-+	O_DIRECT                         = 0x8000
-+	O_DIRECTORY                      = 0x10000
-+	O_DSYNC                          = 0x10
-+	O_EXCL                           = 0x400
-+	O_FSYNC                          = 0x4010
-+	O_LARGEFILE                      = 0x2000
-+	O_NDELAY                         = 0x80
-+	O_NOATIME                        = 0x40000
-+	O_NOCTTY                         = 0x800
-+	O_NOFOLLOW                       = 0x20000
-+	O_NONBLOCK                       = 0x80
-+	O_PATH                           = 0x200000
-+	O_RSYNC                          = 0x4010
-+	O_SYNC                           = 0x4010
-+	O_TMPFILE                        = 0x410000
-+	O_TRUNC                          = 0x200
-+	PARENB                           = 0x100
-+	PARODD                           = 0x200
-+	PENDIN                           = 0x4000
-+	PERF_EVENT_IOC_DISABLE           = 0x20002401
-+	PERF_EVENT_IOC_ENABLE            = 0x20002400
-+	PERF_EVENT_IOC_ID                = 0x40042407
-+	PERF_EVENT_IOC_MODIFY_ATTRIBUTES = 0x8004240b
-+	PERF_EVENT_IOC_PAUSE_OUTPUT      = 0x80042409
-+	PERF_EVENT_IOC_PERIOD            = 0x80082404
-+	PERF_EVENT_IOC_QUERY_BPF         = 0xc004240a
-+	PERF_EVENT_IOC_REFRESH           = 0x20002402
-+	PERF_EVENT_IOC_RESET             = 0x20002403
-+	PERF_EVENT_IOC_SET_BPF           = 0x80042408
-+	PERF_EVENT_IOC_SET_FILTER        = 0x80042406
-+	PERF_EVENT_IOC_SET_OUTPUT        = 0x20002405
-+	PPPIOCATTACH                     = 0x8004743d
-+	PPPIOCATTCHAN                    = 0x80047438
-+	PPPIOCCONNECT                    = 0x8004743a
-+	PPPIOCDETACH                     = 0x8004743c
-+	PPPIOCDISCONN                    = 0x20007439
-+	PPPIOCGASYNCMAP                  = 0x40047458
-+	PPPIOCGCHAN                      = 0x40047437
-+	PPPIOCGDEBUG                     = 0x40047441
-+	PPPIOCGFLAGS                     = 0x4004745a
-+	PPPIOCGIDLE                      = 0x4008743f
-+	PPPIOCGIDLE32                    = 0x4008743f
-+	PPPIOCGIDLE64                    = 0x4010743f
-+	PPPIOCGL2TPSTATS                 = 0x40487436
-+	PPPIOCGMRU                       = 0x40047453
-+	PPPIOCGRASYNCMAP                 = 0x40047455
-+	PPPIOCGUNIT                      = 0x40047456
-+	PPPIOCGXASYNCMAP                 = 0x40207450
-+	PPPIOCSACTIVE                    = 0x80087446
-+	PPPIOCSASYNCMAP                  = 0x80047457
-+	PPPIOCSCOMPRESS                  = 0x800c744d
-+	PPPIOCSDEBUG                     = 0x80047440
-+	PPPIOCSFLAGS                     = 0x80047459
-+	PPPIOCSMAXCID                    = 0x80047451
-+	PPPIOCSMRRU                      = 0x8004743b
-+	PPPIOCSMRU                       = 0x80047452
-+	PPPIOCSNPMODE                    = 0x8008744b
-+	PPPIOCSPASS                      = 0x80087447
-+	PPPIOCSRASYNCMAP                 = 0x80047454
-+	PPPIOCSXASYNCMAP                 = 0x8020744f
-+	PPPIOCXFERUNIT                   = 0x2000744e
-+	PR_SET_PTRACER_ANY               = 0xffffffff
-+	PTRACE_GETFPREGS                 = 0xe
-+	PTRACE_GET_THREAD_AREA           = 0x19
-+	PTRACE_GET_THREAD_AREA_3264      = 0xc4
-+	PTRACE_GET_WATCH_REGS            = 0xd0
-+	PTRACE_OLDSETOPTIONS             = 0x15
-+	PTRACE_PEEKDATA_3264             = 0xc1
-+	PTRACE_PEEKTEXT_3264             = 0xc0
-+	PTRACE_POKEDATA_3264             = 0xc3
-+	PTRACE_POKETEXT_3264             = 0xc2
-+	PTRACE_SETFPREGS                 = 0xf
-+	PTRACE_SET_THREAD_AREA           = 0x1a
-+	PTRACE_SET_WATCH_REGS            = 0xd1
-+	RLIMIT_AS                        = 0x6
-+	RLIMIT_MEMLOCK                   = 0x9
-+	RLIMIT_NOFILE                    = 0x5
-+	RLIMIT_NPROC                     = 0x8
-+	RLIMIT_RSS                       = 0x7
-+	RNDADDENTROPY                    = 0x80085203
-+	RNDADDTOENTCNT                   = 0x80045201
-+	RNDCLEARPOOL                     = 0x20005206
-+	RNDGETENTCNT                     = 0x40045200
-+	RNDGETPOOL                       = 0x40085202
-+	RNDRESEEDCRNG                    = 0x20005207
-+	RNDZAPENTCNT                     = 0x20005204
-+	RTC_AIE_OFF                      = 0x20007002
-+	RTC_AIE_ON                       = 0x20007001
-+	RTC_ALM_READ                     = 0x40247008
-+	RTC_ALM_SET                      = 0x80247007
-+	RTC_EPOCH_READ                   = 0x4004700d
-+	RTC_EPOCH_SET                    = 0x8004700e
-+	RTC_IRQP_READ                    = 0x4004700b
-+	RTC_IRQP_SET                     = 0x8004700c
-+	RTC_PIE_OFF                      = 0x20007006
-+	RTC_PIE_ON                       = 0x20007005
-+	RTC_PLL_GET                      = 0x401c7011
-+	RTC_PLL_SET                      = 0x801c7012
-+	RTC_RD_TIME                      = 0x40247009
-+	RTC_SET_TIME                     = 0x8024700a
-+	RTC_UIE_OFF                      = 0x20007004
-+	RTC_UIE_ON                       = 0x20007003
-+	RTC_VL_CLR                       = 0x20007014
-+	RTC_VL_READ                      = 0x40047013
-+	RTC_WIE_OFF                      = 0x20007010
-+	RTC_WIE_ON                       = 0x2000700f
-+	RTC_WKALM_RD                     = 0x40287010
-+	RTC_WKALM_SET                    = 0x8028700f
-+	SCM_TIMESTAMPING                 = 0x25
-+	SCM_TIMESTAMPING_OPT_STATS       = 0x36
-+	SCM_TIMESTAMPING_PKTINFO         = 0x3a
-+	SCM_TIMESTAMPNS                  = 0x23
-+	SCM_TXTIME                       = 0x3d
-+	SCM_WIFI_STATUS                  = 0x29
-+	SFD_CLOEXEC                      = 0x80000
-+	SFD_NONBLOCK                     = 0x80
-+	SIOCATMARK                       = 0x40047307
-+	SIOCGPGRP                        = 0x40047309
-+	SIOCGSTAMPNS_NEW                 = 0x40108907
-+	SIOCGSTAMP_NEW                   = 0x40108906
-+	SIOCINQ                          = 0x467f
-+	SIOCOUTQ                         = 0x7472
-+	SIOCSPGRP                        = 0x80047308
-+	SOCK_CLOEXEC                     = 0x80000
-+	SOCK_DGRAM                       = 0x1
-+	SOCK_NONBLOCK                    = 0x80
-+	SOCK_STREAM                      = 0x2
-+	SOL_SOCKET                       = 0xffff
-+	SO_ACCEPTCONN                    = 0x1009
-+	SO_ATTACH_BPF                    = 0x32
-+	SO_ATTACH_REUSEPORT_CBPF         = 0x33
-+	SO_ATTACH_REUSEPORT_EBPF         = 0x34
-+	SO_BINDTODEVICE                  = 0x19
-+	SO_BINDTOIFINDEX                 = 0x3e
-+	SO_BPF_EXTENSIONS                = 0x30
-+	SO_BROADCAST                     = 0x20
-+	SO_BSDCOMPAT                     = 0xe
-+	SO_BUSY_POLL                     = 0x2e
-+	SO_CNX_ADVICE                    = 0x35
-+	SO_COOKIE                        = 0x39
-+	SO_DETACH_REUSEPORT_BPF          = 0x44
-+	SO_DOMAIN                        = 0x1029
-+	SO_DONTROUTE                     = 0x10
-+	SO_ERROR                         = 0x1007
-+	SO_INCOMING_CPU                  = 0x31
-+	SO_INCOMING_NAPI_ID              = 0x38
-+	SO_KEEPALIVE                     = 0x8
-+	SO_LINGER                        = 0x80
-+	SO_LOCK_FILTER                   = 0x2c
-+	SO_MARK                          = 0x24
-+	SO_MAX_PACING_RATE               = 0x2f
-+	SO_MEMINFO                       = 0x37
-+	SO_NOFCS                         = 0x2b
-+	SO_OOBINLINE                     = 0x100
-+	SO_PASSCRED                      = 0x11
-+	SO_PASSSEC                       = 0x22
-+	SO_PEEK_OFF                      = 0x2a
-+	SO_PEERCRED                      = 0x12
-+	SO_PEERGROUPS                    = 0x3b
-+	SO_PEERSEC                       = 0x1e
-+	SO_PROTOCOL                      = 0x1028
-+	SO_RCVBUF                        = 0x1002
-+	SO_RCVBUFFORCE                   = 0x21
-+	SO_RCVLOWAT                      = 0x1004
-+	SO_RCVTIMEO                      = 0x1006
-+	SO_RCVTIMEO_NEW                  = 0x42
-+	SO_RCVTIMEO_OLD                  = 0x1006
-+	SO_REUSEADDR                     = 0x4
-+	SO_REUSEPORT                     = 0x200
-+	SO_RXQ_OVFL                      = 0x28
-+	SO_SECURITY_AUTHENTICATION       = 0x16
-+	SO_SECURITY_ENCRYPTION_NETWORK   = 0x18
-+	SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17
-+	SO_SELECT_ERR_QUEUE              = 0x2d
-+	SO_SNDBUF                        = 0x1001
-+	SO_SNDBUFFORCE                   = 0x1f
-+	SO_SNDLOWAT                      = 0x1003
-+	SO_SNDTIMEO                      = 0x1005
-+	SO_SNDTIMEO_NEW                  = 0x43
-+	SO_SNDTIMEO_OLD                  = 0x1005
-+	SO_STYLE                         = 0x1008
-+	SO_TIMESTAMPING                  = 0x25
-+	SO_TIMESTAMPING_NEW              = 0x41
-+	SO_TIMESTAMPING_OLD              = 0x25
-+	SO_TIMESTAMPNS                   = 0x23
-+	SO_TIMESTAMPNS_NEW               = 0x40
-+	SO_TIMESTAMPNS_OLD               = 0x23
-+	SO_TIMESTAMP_NEW                 = 0x3f
-+	SO_TXTIME                        = 0x3d
-+	SO_TYPE                          = 0x1008
-+	SO_WIFI_STATUS                   = 0x29
-+	SO_ZEROCOPY                      = 0x3c
-+	TAB1                             = 0x800
-+	TAB2                             = 0x1000
-+	TAB3                             = 0x1800
-+	TABDLY                           = 0x1800
-+	TCFLSH                           = 0x5407
-+	TCGETA                           = 0x5401
-+	TCGETS                           = 0x540d
-+	TCGETS2                          = 0x4030542a
-+	TCSAFLUSH                        = 0x5410
-+	TCSBRK                           = 0x5405
-+	TCSBRKP                          = 0x5486
-+	TCSETA                           = 0x5402
-+	TCSETAF                          = 0x5404
-+	TCSETAW                          = 0x5403
-+	TCSETS                           = 0x540e
-+	TCSETS2                          = 0x8030542b
-+	TCSETSF                          = 0x5410
-+	TCSETSF2                         = 0x8030542d
-+	TCSETSW                          = 0x540f
-+	TCSETSW2                         = 0x8030542c
-+	TCXONC                           = 0x5406
-+	TIOCCBRK                         = 0x5428
-+	TIOCCONS                         = 0x80047478
-+	TIOCEXCL                         = 0x740d
-+	TIOCGDEV                         = 0x40045432
-+	TIOCGETD                         = 0x7400
-+	TIOCGETP                         = 0x7408
-+	TIOCGEXCL                        = 0x40045440
-+	TIOCGICOUNT                      = 0x5492
-+	TIOCGISO7816                     = 0x40285442
-+	TIOCGLCKTRMIOS                   = 0x548b
-+	TIOCGLTC                         = 0x7474
-+	TIOCGPGRP                        = 0x40047477
-+	TIOCGPKT                         = 0x40045438
-+	TIOCGPTLCK                       = 0x40045439
-+	TIOCGPTN                         = 0x40045430
-+	TIOCGPTPEER                      = 0x20005441
-+	TIOCGRS485                       = 0x4020542e
-+	TIOCGSERIAL                      = 0x5484
-+	TIOCGSID                         = 0x7416
-+	TIOCGSOFTCAR                     = 0x5481
-+	TIOCGWINSZ                       = 0x40087468
-+	TIOCINQ                          = 0x467f
-+	TIOCLINUX                        = 0x5483
-+	TIOCMBIC                         = 0x741c
-+	TIOCMBIS                         = 0x741b
-+	TIOCMGET                         = 0x741d
-+	TIOCMIWAIT                       = 0x5491
-+	TIOCMSET                         = 0x741a
-+	TIOCM_CAR                        = 0x100
-+	TIOCM_CD                         = 0x100
-+	TIOCM_CTS                        = 0x40
-+	TIOCM_DSR                        = 0x400
-+	TIOCM_RI                         = 0x200
-+	TIOCM_RNG                        = 0x200
-+	TIOCM_SR                         = 0x20
-+	TIOCM_ST                         = 0x10
-+	TIOCNOTTY                        = 0x5471
-+	TIOCNXCL                         = 0x740e
-+	TIOCOUTQ                         = 0x7472
-+	TIOCPKT                          = 0x5470
-+	TIOCSBRK                         = 0x5427
-+	TIOCSCTTY                        = 0x5480
-+	TIOCSERCONFIG                    = 0x5488
-+	TIOCSERGETLSR                    = 0x548e
-+	TIOCSERGETMULTI                  = 0x548f
-+	TIOCSERGSTRUCT                   = 0x548d
-+	TIOCSERGWILD                     = 0x5489
-+	TIOCSERSETMULTI                  = 0x5490
-+	TIOCSERSWILD                     = 0x548a
-+	TIOCSER_TEMT                     = 0x1
-+	TIOCSETD                         = 0x7401
-+	TIOCSETN                         = 0x740a
-+	TIOCSETP                         = 0x7409
-+	TIOCSIG                          = 0x80045436
-+	TIOCSISO7816                     = 0xc0285443
-+	TIOCSLCKTRMIOS                   = 0x548c
-+	TIOCSLTC                         = 0x7475
-+	TIOCSPGRP                        = 0x80047476
-+	TIOCSPTLCK                       = 0x80045431
-+	TIOCSRS485                       = 0xc020542f
-+	TIOCSSERIAL                      = 0x5485
-+	TIOCSSOFTCAR                     = 0x5482
-+	TIOCSTI                          = 0x5472
-+	TIOCSWINSZ                       = 0x80087467
-+	TIOCVHANGUP                      = 0x5437
-+	TOSTOP                           = 0x8000
-+	TUNATTACHFILTER                  = 0x800854d5
-+	TUNDETACHFILTER                  = 0x800854d6
-+	TUNGETDEVNETNS                   = 0x200054e3
-+	TUNGETFEATURES                   = 0x400454cf
-+	TUNGETFILTER                     = 0x400854db
-+	TUNGETIFF                        = 0x400454d2
-+	TUNGETSNDBUF                     = 0x400454d3
-+	TUNGETVNETBE                     = 0x400454df
-+	TUNGETVNETHDRSZ                  = 0x400454d7
-+	TUNGETVNETLE                     = 0x400454dd
-+	TUNSETCARRIER                    = 0x800454e2
-+	TUNSETDEBUG                      = 0x800454c9
-+	TUNSETFILTEREBPF                 = 0x400454e1
-+	TUNSETGROUP                      = 0x800454ce
-+	TUNSETIFF                        = 0x800454ca
-+	TUNSETIFINDEX                    = 0x800454da
-+	TUNSETLINK                       = 0x800454cd
-+	TUNSETNOCSUM                     = 0x800454c8
-+	TUNSETOFFLOAD                    = 0x800454d0
-+	TUNSETOWNER                      = 0x800454cc
-+	TUNSETPERSIST                    = 0x800454cb
-+	TUNSETQUEUE                      = 0x800454d9
-+	TUNSETSNDBUF                     = 0x800454d4
-+	TUNSETSTEERINGEBPF               = 0x400454e0
-+	TUNSETTXFILTER                   = 0x800454d1
-+	TUNSETVNETBE                     = 0x800454de
-+	TUNSETVNETHDRSZ                  = 0x800454d8
-+	TUNSETVNETLE                     = 0x800454dc
-+	UBI_IOCATT                       = 0x80186f40
-+	UBI_IOCDET                       = 0x80046f41
-+	UBI_IOCEBCH                      = 0x80044f02
-+	UBI_IOCEBER                      = 0x80044f01
-+	UBI_IOCEBISMAP                   = 0x40044f05
-+	UBI_IOCEBMAP                     = 0x80084f03
-+	UBI_IOCEBUNMAP                   = 0x80044f04
-+	UBI_IOCMKVOL                     = 0x80986f00
-+	UBI_IOCRMVOL                     = 0x80046f01
-+	UBI_IOCRNVOL                     = 0x91106f03
-+	UBI_IOCRPEB                      = 0x80046f04
-+	UBI_IOCRSVOL                     = 0x800c6f02
-+	UBI_IOCSETVOLPROP                = 0x80104f06
-+	UBI_IOCSPEB                      = 0x80046f05
-+	UBI_IOCVOLCRBLK                  = 0x80804f07
-+	UBI_IOCVOLRMBLK                  = 0x20004f08
-+	UBI_IOCVOLUP                     = 0x80084f00
-+	VDISCARD                         = 0xd
-+	VEOF                             = 0x10
-+	VEOL                             = 0x11
-+	VEOL2                            = 0x6
-+	VMIN                             = 0x4
-+	VREPRINT                         = 0xc
-+	VSTART                           = 0x8
-+	VSTOP                            = 0x9
-+	VSUSP                            = 0xa
-+	VSWTC                            = 0x7
-+	VSWTCH                           = 0x7
-+	VT1                              = 0x4000
-+	VTDLY                            = 0x4000
-+	VTIME                            = 0x5
-+	VWERASE                          = 0xe
-+	WDIOC_GETBOOTSTATUS              = 0x40045702
-+	WDIOC_GETPRETIMEOUT              = 0x40045709
-+	WDIOC_GETSTATUS                  = 0x40045701
-+	WDIOC_GETSUPPORT                 = 0x40285700
-+	WDIOC_GETTEMP                    = 0x40045703
-+	WDIOC_GETTIMELEFT                = 0x4004570a
-+	WDIOC_GETTIMEOUT                 = 0x40045707
-+	WDIOC_KEEPALIVE                  = 0x40045705
-+	WDIOC_SETOPTIONS                 = 0x40045704
-+	WORDSIZE                         = 0x20
-+	XCASE                            = 0x4
-+	XTABS                            = 0x1800
- )
- 
- // Errors
- const (
--	E2BIG           = syscall.Errno(0x7)
--	EACCES          = syscall.Errno(0xd)
- 	EADDRINUSE      = syscall.Errno(0x7d)
- 	EADDRNOTAVAIL   = syscall.Errno(0x7e)
- 	EADV            = syscall.Errno(0x44)
- 	EAFNOSUPPORT    = syscall.Errno(0x7c)
--	EAGAIN          = syscall.Errno(0xb)
- 	EALREADY        = syscall.Errno(0x95)
- 	EBADE           = syscall.Errno(0x32)
--	EBADF           = syscall.Errno(0x9)
- 	EBADFD          = syscall.Errno(0x51)
- 	EBADMSG         = syscall.Errno(0x4d)
- 	EBADR           = syscall.Errno(0x33)
- 	EBADRQC         = syscall.Errno(0x36)
- 	EBADSLT         = syscall.Errno(0x37)
- 	EBFONT          = syscall.Errno(0x3b)
--	EBUSY           = syscall.Errno(0x10)
- 	ECANCELED       = syscall.Errno(0x9e)
--	ECHILD          = syscall.Errno(0xa)
- 	ECHRNG          = syscall.Errno(0x25)
- 	ECOMM           = syscall.Errno(0x46)
- 	ECONNABORTED    = syscall.Errno(0x82)
-@@ -1886,12 +502,8 @@ const (
- 	EDEADLK         = syscall.Errno(0x2d)
- 	EDEADLOCK       = syscall.Errno(0x38)
- 	EDESTADDRREQ    = syscall.Errno(0x60)
--	EDOM            = syscall.Errno(0x21)
- 	EDOTDOT         = syscall.Errno(0x49)
- 	EDQUOT          = syscall.Errno(0x46d)
--	EEXIST          = syscall.Errno(0x11)
--	EFAULT          = syscall.Errno(0xe)
--	EFBIG           = syscall.Errno(0x1b)
- 	EHOSTDOWN       = syscall.Errno(0x93)
- 	EHOSTUNREACH    = syscall.Errno(0x94)
- 	EHWPOISON       = syscall.Errno(0xa8)
-@@ -1899,11 +511,7 @@ const (
- 	EILSEQ          = syscall.Errno(0x58)
- 	EINIT           = syscall.Errno(0x8d)
- 	EINPROGRESS     = syscall.Errno(0x96)
--	EINTR           = syscall.Errno(0x4)
--	EINVAL          = syscall.Errno(0x16)
--	EIO             = syscall.Errno(0x5)
- 	EISCONN         = syscall.Errno(0x85)
--	EISDIR          = syscall.Errno(0x15)
- 	EISNAM          = syscall.Errno(0x8b)
- 	EKEYEXPIRED     = syscall.Errno(0xa2)
- 	EKEYREJECTED    = syscall.Errno(0xa4)
-@@ -1920,8 +528,6 @@ const (
- 	ELNRNG          = syscall.Errno(0x29)
- 	ELOOP           = syscall.Errno(0x5a)
- 	EMEDIUMTYPE     = syscall.Errno(0xa0)
--	EMFILE          = syscall.Errno(0x18)
--	EMLINK          = syscall.Errno(0x1f)
- 	EMSGSIZE        = syscall.Errno(0x61)
- 	EMULTIHOP       = syscall.Errno(0x4a)
- 	ENAMETOOLONG    = syscall.Errno(0x4e)
-@@ -1929,100 +535,68 @@ const (
- 	ENETDOWN        = syscall.Errno(0x7f)
- 	ENETRESET       = syscall.Errno(0x81)
- 	ENETUNREACH     = syscall.Errno(0x80)
--	ENFILE          = syscall.Errno(0x17)
- 	ENOANO          = syscall.Errno(0x35)
- 	ENOBUFS         = syscall.Errno(0x84)
- 	ENOCSI          = syscall.Errno(0x2b)
- 	ENODATA         = syscall.Errno(0x3d)
--	ENODEV          = syscall.Errno(0x13)
--	ENOENT          = syscall.Errno(0x2)
--	ENOEXEC         = syscall.Errno(0x8)
- 	ENOKEY          = syscall.Errno(0xa1)
- 	ENOLCK          = syscall.Errno(0x2e)
- 	ENOLINK         = syscall.Errno(0x43)
- 	ENOMEDIUM       = syscall.Errno(0x9f)
--	ENOMEM          = syscall.Errno(0xc)
- 	ENOMSG          = syscall.Errno(0x23)
- 	ENONET          = syscall.Errno(0x40)
- 	ENOPKG          = syscall.Errno(0x41)
- 	ENOPROTOOPT     = syscall.Errno(0x63)
--	ENOSPC          = syscall.Errno(0x1c)
- 	ENOSR           = syscall.Errno(0x3f)
- 	ENOSTR          = syscall.Errno(0x3c)
- 	ENOSYS          = syscall.Errno(0x59)
--	ENOTBLK         = syscall.Errno(0xf)
- 	ENOTCONN        = syscall.Errno(0x86)
--	ENOTDIR         = syscall.Errno(0x14)
- 	ENOTEMPTY       = syscall.Errno(0x5d)
- 	ENOTNAM         = syscall.Errno(0x89)
- 	ENOTRECOVERABLE = syscall.Errno(0xa6)
- 	ENOTSOCK        = syscall.Errno(0x5f)
- 	ENOTSUP         = syscall.Errno(0x7a)
--	ENOTTY          = syscall.Errno(0x19)
- 	ENOTUNIQ        = syscall.Errno(0x50)
--	ENXIO           = syscall.Errno(0x6)
- 	EOPNOTSUPP      = syscall.Errno(0x7a)
- 	EOVERFLOW       = syscall.Errno(0x4f)
- 	EOWNERDEAD      = syscall.Errno(0xa5)
--	EPERM           = syscall.Errno(0x1)
- 	EPFNOSUPPORT    = syscall.Errno(0x7b)
--	EPIPE           = syscall.Errno(0x20)
- 	EPROTO          = syscall.Errno(0x47)
- 	EPROTONOSUPPORT = syscall.Errno(0x78)
- 	EPROTOTYPE      = syscall.Errno(0x62)
--	ERANGE          = syscall.Errno(0x22)
- 	EREMCHG         = syscall.Errno(0x52)
- 	EREMDEV         = syscall.Errno(0x8e)
- 	EREMOTE         = syscall.Errno(0x42)
- 	EREMOTEIO       = syscall.Errno(0x8c)
- 	ERESTART        = syscall.Errno(0x5b)
- 	ERFKILL         = syscall.Errno(0xa7)
--	EROFS           = syscall.Errno(0x1e)
- 	ESHUTDOWN       = syscall.Errno(0x8f)
- 	ESOCKTNOSUPPORT = syscall.Errno(0x79)
--	ESPIPE          = syscall.Errno(0x1d)
--	ESRCH           = syscall.Errno(0x3)
- 	ESRMNT          = syscall.Errno(0x45)
- 	ESTALE          = syscall.Errno(0x97)
- 	ESTRPIPE        = syscall.Errno(0x5c)
- 	ETIME           = syscall.Errno(0x3e)
- 	ETIMEDOUT       = syscall.Errno(0x91)
- 	ETOOMANYREFS    = syscall.Errno(0x90)
--	ETXTBSY         = syscall.Errno(0x1a)
- 	EUCLEAN         = syscall.Errno(0x87)
- 	EUNATCH         = syscall.Errno(0x2a)
- 	EUSERS          = syscall.Errno(0x5e)
--	EWOULDBLOCK     = syscall.Errno(0xb)
--	EXDEV           = syscall.Errno(0x12)
- 	EXFULL          = syscall.Errno(0x34)
- )
- 
- // Signals
- const (
--	SIGABRT   = syscall.Signal(0x6)
--	SIGALRM   = syscall.Signal(0xe)
- 	SIGBUS    = syscall.Signal(0xa)
- 	SIGCHLD   = syscall.Signal(0x12)
- 	SIGCLD    = syscall.Signal(0x12)
- 	SIGCONT   = syscall.Signal(0x19)
- 	SIGEMT    = syscall.Signal(0x7)
--	SIGFPE    = syscall.Signal(0x8)
--	SIGHUP    = syscall.Signal(0x1)
--	SIGILL    = syscall.Signal(0x4)
--	SIGINT    = syscall.Signal(0x2)
- 	SIGIO     = syscall.Signal(0x16)
--	SIGIOT    = syscall.Signal(0x6)
--	SIGKILL   = syscall.Signal(0x9)
--	SIGPIPE   = syscall.Signal(0xd)
- 	SIGPOLL   = syscall.Signal(0x16)
- 	SIGPROF   = syscall.Signal(0x1d)
- 	SIGPWR    = syscall.Signal(0x13)
--	SIGQUIT   = syscall.Signal(0x3)
--	SIGSEGV   = syscall.Signal(0xb)
- 	SIGSTOP   = syscall.Signal(0x17)
- 	SIGSYS    = syscall.Signal(0xc)
--	SIGTERM   = syscall.Signal(0xf)
--	SIGTRAP   = syscall.Signal(0x5)
- 	SIGTSTP   = syscall.Signal(0x18)
- 	SIGTTIN   = syscall.Signal(0x1a)
- 	SIGTTOU   = syscall.Signal(0x1b)
-@@ -2036,174 +610,182 @@ const (
- )
- 
- // Error table
--var errors = [...]string{
--	1:    "operation not permitted",
--	2:    "no such file or directory",
--	3:    "no such process",
--	4:    "interrupted system call",
--	5:    "input/output error",
--	6:    "no such device or address",
--	7:    "argument list too long",
--	8:    "exec format error",
--	9:    "bad file descriptor",
--	10:   "no child processes",
--	11:   "resource temporarily unavailable",
--	12:   "cannot allocate memory",
--	13:   "permission denied",
--	14:   "bad address",
--	15:   "block device required",
--	16:   "device or resource busy",
--	17:   "file exists",
--	18:   "invalid cross-device link",
--	19:   "no such device",
--	20:   "not a directory",
--	21:   "is a directory",
--	22:   "invalid argument",
--	23:   "too many open files in system",
--	24:   "too many open files",
--	25:   "inappropriate ioctl for device",
--	26:   "text file busy",
--	27:   "file too large",
--	28:   "no space left on device",
--	29:   "illegal seek",
--	30:   "read-only file system",
--	31:   "too many links",
--	32:   "broken pipe",
--	33:   "numerical argument out of domain",
--	34:   "numerical result out of range",
--	35:   "no message of desired type",
--	36:   "identifier removed",
--	37:   "channel number out of range",
--	38:   "level 2 not synchronized",
--	39:   "level 3 halted",
--	40:   "level 3 reset",
--	41:   "link number out of range",
--	42:   "protocol driver not attached",
--	43:   "no CSI structure available",
--	44:   "level 2 halted",
--	45:   "resource deadlock avoided",
--	46:   "no locks available",
--	50:   "invalid exchange",
--	51:   "invalid request descriptor",
--	52:   "exchange full",
--	53:   "no anode",
--	54:   "invalid request code",
--	55:   "invalid slot",
--	56:   "file locking deadlock error",
--	59:   "bad font file format",
--	60:   "device not a stream",
--	61:   "no data available",
--	62:   "timer expired",
--	63:   "out of streams resources",
--	64:   "machine is not on the network",
--	65:   "package not installed",
--	66:   "object is remote",
--	67:   "link has been severed",
--	68:   "advertise error",
--	69:   "srmount error",
--	70:   "communication error on send",
--	71:   "protocol error",
--	73:   "RFS specific error",
--	74:   "multihop attempted",
--	77:   "bad message",
--	78:   "file name too long",
--	79:   "value too large for defined data type",
--	80:   "name not unique on network",
--	81:   "file descriptor in bad state",
--	82:   "remote address changed",
--	83:   "can not access a needed shared library",
--	84:   "accessing a corrupted shared library",
--	85:   ".lib section in a.out corrupted",
--	86:   "attempting to link in too many shared libraries",
--	87:   "cannot exec a shared library directly",
--	88:   "invalid or incomplete multibyte or wide character",
--	89:   "function not implemented",
--	90:   "too many levels of symbolic links",
--	91:   "interrupted system call should be restarted",
--	92:   "streams pipe error",
--	93:   "directory not empty",
--	94:   "too many users",
--	95:   "socket operation on non-socket",
--	96:   "destination address required",
--	97:   "message too long",
--	98:   "protocol wrong type for socket",
--	99:   "protocol not available",
--	120:  "protocol not supported",
--	121:  "socket type not supported",
--	122:  "operation not supported",
--	123:  "protocol family not supported",
--	124:  "address family not supported by protocol",
--	125:  "address already in use",
--	126:  "cannot assign requested address",
--	127:  "network is down",
--	128:  "network is unreachable",
--	129:  "network dropped connection on reset",
--	130:  "software caused connection abort",
--	131:  "connection reset by peer",
--	132:  "no buffer space available",
--	133:  "transport endpoint is already connected",
--	134:  "transport endpoint is not connected",
--	135:  "structure needs cleaning",
--	137:  "not a XENIX named type file",
--	138:  "no XENIX semaphores available",
--	139:  "is a named type file",
--	140:  "remote I/O error",
--	141:  "unknown error 141",
--	142:  "unknown error 142",
--	143:  "cannot send after transport endpoint shutdown",
--	144:  "too many references: cannot splice",
--	145:  "connection timed out",
--	146:  "connection refused",
--	147:  "host is down",
--	148:  "no route to host",
--	149:  "operation already in progress",
--	150:  "operation now in progress",
--	151:  "stale file handle",
--	158:  "operation canceled",
--	159:  "no medium found",
--	160:  "wrong medium type",
--	161:  "required key not available",
--	162:  "key has expired",
--	163:  "key has been revoked",
--	164:  "key was rejected by service",
--	165:  "owner died",
--	166:  "state not recoverable",
--	167:  "operation not possible due to RF-kill",
--	168:  "memory page has hardware error",
--	1133: "disk quota exceeded",
-+var errorList = [...]struct {
-+	num  syscall.Errno
-+	name string
-+	desc string
-+}{
-+	{1, "EPERM", "operation not permitted"},
-+	{2, "ENOENT", "no such file or directory"},
-+	{3, "ESRCH", "no such process"},
-+	{4, "EINTR", "interrupted system call"},
-+	{5, "EIO", "input/output error"},
-+	{6, "ENXIO", "no such device or address"},
-+	{7, "E2BIG", "argument list too long"},
-+	{8, "ENOEXEC", "exec format error"},
-+	{9, "EBADF", "bad file descriptor"},
-+	{10, "ECHILD", "no child processes"},
-+	{11, "EAGAIN", "resource temporarily unavailable"},
-+	{12, "ENOMEM", "cannot allocate memory"},
-+	{13, "EACCES", "permission denied"},
-+	{14, "EFAULT", "bad address"},
-+	{15, "ENOTBLK", "block device required"},
-+	{16, "EBUSY", "device or resource busy"},
-+	{17, "EEXIST", "file exists"},
-+	{18, "EXDEV", "invalid cross-device link"},
-+	{19, "ENODEV", "no such device"},
-+	{20, "ENOTDIR", "not a directory"},
-+	{21, "EISDIR", "is a directory"},
-+	{22, "EINVAL", "invalid argument"},
-+	{23, "ENFILE", "too many open files in system"},
-+	{24, "EMFILE", "too many open files"},
-+	{25, "ENOTTY", "inappropriate ioctl for device"},
-+	{26, "ETXTBSY", "text file busy"},
-+	{27, "EFBIG", "file too large"},
-+	{28, "ENOSPC", "no space left on device"},
-+	{29, "ESPIPE", "illegal seek"},
-+	{30, "EROFS", "read-only file system"},
-+	{31, "EMLINK", "too many links"},
-+	{32, "EPIPE", "broken pipe"},
-+	{33, "EDOM", "numerical argument out of domain"},
-+	{34, "ERANGE", "numerical result out of range"},
-+	{35, "ENOMSG", "no message of desired type"},
-+	{36, "EIDRM", "identifier removed"},
-+	{37, "ECHRNG", "channel number out of range"},
-+	{38, "EL2NSYNC", "level 2 not synchronized"},
-+	{39, "EL3HLT", "level 3 halted"},
-+	{40, "EL3RST", "level 3 reset"},
-+	{41, "ELNRNG", "link number out of range"},
-+	{42, "EUNATCH", "protocol driver not attached"},
-+	{43, "ENOCSI", "no CSI structure available"},
-+	{44, "EL2HLT", "level 2 halted"},
-+	{45, "EDEADLK", "resource deadlock avoided"},
-+	{46, "ENOLCK", "no locks available"},
-+	{50, "EBADE", "invalid exchange"},
-+	{51, "EBADR", "invalid request descriptor"},
-+	{52, "EXFULL", "exchange full"},
-+	{53, "ENOANO", "no anode"},
-+	{54, "EBADRQC", "invalid request code"},
-+	{55, "EBADSLT", "invalid slot"},
-+	{56, "EDEADLOCK", "file locking deadlock error"},
-+	{59, "EBFONT", "bad font file format"},
-+	{60, "ENOSTR", "device not a stream"},
-+	{61, "ENODATA", "no data available"},
-+	{62, "ETIME", "timer expired"},
-+	{63, "ENOSR", "out of streams resources"},
-+	{64, "ENONET", "machine is not on the network"},
-+	{65, "ENOPKG", "package not installed"},
-+	{66, "EREMOTE", "object is remote"},
-+	{67, "ENOLINK", "link has been severed"},
-+	{68, "EADV", "advertise error"},
-+	{69, "ESRMNT", "srmount error"},
-+	{70, "ECOMM", "communication error on send"},
-+	{71, "EPROTO", "protocol error"},
-+	{73, "EDOTDOT", "RFS specific error"},
-+	{74, "EMULTIHOP", "multihop attempted"},
-+	{77, "EBADMSG", "bad message"},
-+	{78, "ENAMETOOLONG", "file name too long"},
-+	{79, "EOVERFLOW", "value too large for defined data type"},
-+	{80, "ENOTUNIQ", "name not unique on network"},
-+	{81, "EBADFD", "file descriptor in bad state"},
-+	{82, "EREMCHG", "remote address changed"},
-+	{83, "ELIBACC", "can not access a needed shared library"},
-+	{84, "ELIBBAD", "accessing a corrupted shared library"},
-+	{85, "ELIBSCN", ".lib section in a.out corrupted"},
-+	{86, "ELIBMAX", "attempting to link in too many shared libraries"},
-+	{87, "ELIBEXEC", "cannot exec a shared library directly"},
-+	{88, "EILSEQ", "invalid or incomplete multibyte or wide character"},
-+	{89, "ENOSYS", "function not implemented"},
-+	{90, "ELOOP", "too many levels of symbolic links"},
-+	{91, "ERESTART", "interrupted system call should be restarted"},
-+	{92, "ESTRPIPE", "streams pipe error"},
-+	{93, "ENOTEMPTY", "directory not empty"},
-+	{94, "EUSERS", "too many users"},
-+	{95, "ENOTSOCK", "socket operation on non-socket"},
-+	{96, "EDESTADDRREQ", "destination address required"},
-+	{97, "EMSGSIZE", "message too long"},
-+	{98, "EPROTOTYPE", "protocol wrong type for socket"},
-+	{99, "ENOPROTOOPT", "protocol not available"},
-+	{120, "EPROTONOSUPPORT", "protocol not supported"},
-+	{121, "ESOCKTNOSUPPORT", "socket type not supported"},
-+	{122, "ENOTSUP", "operation not supported"},
-+	{123, "EPFNOSUPPORT", "protocol family not supported"},
-+	{124, "EAFNOSUPPORT", "address family not supported by protocol"},
-+	{125, "EADDRINUSE", "address already in use"},
-+	{126, "EADDRNOTAVAIL", "cannot assign requested address"},
-+	{127, "ENETDOWN", "network is down"},
-+	{128, "ENETUNREACH", "network is unreachable"},
-+	{129, "ENETRESET", "network dropped connection on reset"},
-+	{130, "ECONNABORTED", "software caused connection abort"},
-+	{131, "ECONNRESET", "connection reset by peer"},
-+	{132, "ENOBUFS", "no buffer space available"},
-+	{133, "EISCONN", "transport endpoint is already connected"},
-+	{134, "ENOTCONN", "transport endpoint is not connected"},
-+	{135, "EUCLEAN", "structure needs cleaning"},
-+	{137, "ENOTNAM", "not a XENIX named type file"},
-+	{138, "ENAVAIL", "no XENIX semaphores available"},
-+	{139, "EISNAM", "is a named type file"},
-+	{140, "EREMOTEIO", "remote I/O error"},
-+	{141, "EINIT", "unknown error 141"},
-+	{142, "EREMDEV", "unknown error 142"},
-+	{143, "ESHUTDOWN", "cannot send after transport endpoint shutdown"},
-+	{144, "ETOOMANYREFS", "too many references: cannot splice"},
-+	{145, "ETIMEDOUT", "connection timed out"},
-+	{146, "ECONNREFUSED", "connection refused"},
-+	{147, "EHOSTDOWN", "host is down"},
-+	{148, "EHOSTUNREACH", "no route to host"},
-+	{149, "EALREADY", "operation already in progress"},
-+	{150, "EINPROGRESS", "operation now in progress"},
-+	{151, "ESTALE", "stale file handle"},
-+	{158, "ECANCELED", "operation canceled"},
-+	{159, "ENOMEDIUM", "no medium found"},
-+	{160, "EMEDIUMTYPE", "wrong medium type"},
-+	{161, "ENOKEY", "required key not available"},
-+	{162, "EKEYEXPIRED", "key has expired"},
-+	{163, "EKEYREVOKED", "key has been revoked"},
-+	{164, "EKEYREJECTED", "key was rejected by service"},
-+	{165, "EOWNERDEAD", "owner died"},
-+	{166, "ENOTRECOVERABLE", "state not recoverable"},
-+	{167, "ERFKILL", "operation not possible due to RF-kill"},
-+	{168, "EHWPOISON", "memory page has hardware error"},
-+	{1133, "EDQUOT", "disk quota exceeded"},
- }
- 
- // Signal table
--var signals = [...]string{
--	1:  "hangup",
--	2:  "interrupt",
--	3:  "quit",
--	4:  "illegal instruction",
--	5:  "trace/breakpoint trap",
--	6:  "aborted",
--	7:  "EMT trap",
--	8:  "floating point exception",
--	9:  "killed",
--	10: "bus error",
--	11: "segmentation fault",
--	12: "bad system call",
--	13: "broken pipe",
--	14: "alarm clock",
--	15: "terminated",
--	16: "user defined signal 1",
--	17: "user defined signal 2",
--	18: "child exited",
--	19: "power failure",
--	20: "window changed",
--	21: "urgent I/O condition",
--	22: "I/O possible",
--	23: "stopped (signal)",
--	24: "stopped",
--	25: "continued",
--	26: "stopped (tty input)",
--	27: "stopped (tty output)",
--	28: "virtual timer expired",
--	29: "profiling timer expired",
--	30: "CPU time limit exceeded",
--	31: "file size limit exceeded",
-+var signalList = [...]struct {
-+	num  syscall.Signal
-+	name string
-+	desc string
-+}{
-+	{1, "SIGHUP", "hangup"},
-+	{2, "SIGINT", "interrupt"},
-+	{3, "SIGQUIT", "quit"},
-+	{4, "SIGILL", "illegal instruction"},
-+	{5, "SIGTRAP", "trace/breakpoint trap"},
-+	{6, "SIGABRT", "aborted"},
-+	{7, "SIGEMT", "EMT trap"},
-+	{8, "SIGFPE", "floating point exception"},
-+	{9, "SIGKILL", "killed"},
-+	{10, "SIGBUS", "bus error"},
-+	{11, "SIGSEGV", "segmentation fault"},
-+	{12, "SIGSYS", "bad system call"},
-+	{13, "SIGPIPE", "broken pipe"},
-+	{14, "SIGALRM", "alarm clock"},
-+	{15, "SIGTERM", "terminated"},
-+	{16, "SIGUSR1", "user defined signal 1"},
-+	{17, "SIGUSR2", "user defined signal 2"},
-+	{18, "SIGCHLD", "child exited"},
-+	{19, "SIGPWR", "power failure"},
-+	{20, "SIGWINCH", "window changed"},
-+	{21, "SIGURG", "urgent I/O condition"},
-+	{22, "SIGIO", "I/O possible"},
-+	{23, "SIGSTOP", "stopped (signal)"},
-+	{24, "SIGTSTP", "stopped"},
-+	{25, "SIGCONT", "continued"},
-+	{26, "SIGTTIN", "stopped (tty input)"},
-+	{27, "SIGTTOU", "stopped (tty output)"},
-+	{28, "SIGVTALRM", "virtual timer expired"},
-+	{29, "SIGPROF", "profiling timer expired"},
-+	{30, "SIGXCPU", "CPU time limit exceeded"},
-+	{31, "SIGXFSZ", "file size limit exceeded"},
- }
-diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go
-index 4148f277..2346dc55 100644
---- a/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go
-+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go
-@@ -3,7 +3,7 @@
- 
- // +build mips64,linux
- 
--// Created by cgo -godefs - DO NOT EDIT
-+// Code generated by cmd/cgo -godefs; DO NOT EDIT.
- // cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go
- 
- package unix
-@@ -11,1873 +11,489 @@ package unix
- import "syscall"
- 
- const (
--	AF_ALG                               = 0x26
--	AF_APPLETALK                         = 0x5
--	AF_ASH                               = 0x12
--	AF_ATMPVC                            = 0x8
--	AF_ATMSVC                            = 0x14
--	AF_AX25                              = 0x3
--	AF_BLUETOOTH                         = 0x1f
--	AF_BRIDGE                            = 0x7
--	AF_CAIF                              = 0x25
--	AF_CAN                               = 0x1d
--	AF_DECnet                            = 0xc
--	AF_ECONET                            = 0x13
--	AF_FILE                              = 0x1
--	AF_IB                                = 0x1b
--	AF_IEEE802154                        = 0x24
--	AF_INET                              = 0x2
--	AF_INET6                             = 0xa
--	AF_IPX                               = 0x4
--	AF_IRDA                              = 0x17
--	AF_ISDN                              = 0x22
--	AF_IUCV                              = 0x20
--	AF_KCM                               = 0x29
--	AF_KEY                               = 0xf
--	AF_LLC                               = 0x1a
--	AF_LOCAL                             = 0x1
--	AF_MAX                               = 0x2b
--	AF_MPLS                              = 0x1c
--	AF_NETBEUI                           = 0xd
--	AF_NETLINK                           = 0x10
--	AF_NETROM                            = 0x6
--	AF_NFC                               = 0x27
--	AF_PACKET                            = 0x11
--	AF_PHONET                            = 0x23
--	AF_PPPOX                             = 0x18
--	AF_QIPCRTR                           = 0x2a
--	AF_RDS                               = 0x15
--	AF_ROSE                              = 0xb
--	AF_ROUTE                             = 0x10
--	AF_RXRPC                             = 0x21
--	AF_SECURITY                          = 0xe
--	AF_SNA                               = 0x16
--	AF_TIPC                              = 0x1e
--	AF_UNIX                              = 0x1
--	AF_UNSPEC                            = 0x0
--	AF_VSOCK                             = 0x28
--	AF_WANPIPE                           = 0x19
--	AF_X25                               = 0x9
--	ALG_OP_DECRYPT                       = 0x0
--	ALG_OP_ENCRYPT                       = 0x1
--	ALG_SET_AEAD_ASSOCLEN                = 0x4
--	ALG_SET_AEAD_AUTHSIZE                = 0x5
--	ALG_SET_IV                           = 0x2
--	ALG_SET_KEY                          = 0x1
--	ALG_SET_OP                           = 0x3
--	ARPHRD_6LOWPAN                       = 0x339
--	ARPHRD_ADAPT                         = 0x108
--	ARPHRD_APPLETLK                      = 0x8
--	ARPHRD_ARCNET                        = 0x7
--	ARPHRD_ASH                           = 0x30d
--	ARPHRD_ATM                           = 0x13
--	ARPHRD_AX25                          = 0x3
--	ARPHRD_BIF                           = 0x307
--	ARPHRD_CAIF                          = 0x336
--	ARPHRD_CAN                           = 0x118
--	ARPHRD_CHAOS                         = 0x5
--	ARPHRD_CISCO                         = 0x201
--	ARPHRD_CSLIP                         = 0x101
--	ARPHRD_CSLIP6                        = 0x103
--	ARPHRD_DDCMP                         = 0x205
--	ARPHRD_DLCI                          = 0xf
--	ARPHRD_ECONET                        = 0x30e
--	ARPHRD_EETHER                        = 0x2
--	ARPHRD_ETHER                         = 0x1
--	ARPHRD_EUI64                         = 0x1b
--	ARPHRD_FCAL                          = 0x311
--	ARPHRD_FCFABRIC                      = 0x313
--	ARPHRD_FCPL                          = 0x312
--	ARPHRD_FCPP                          = 0x310
--	ARPHRD_FDDI                          = 0x306
--	ARPHRD_FRAD                          = 0x302
--	ARPHRD_HDLC                          = 0x201
--	ARPHRD_HIPPI                         = 0x30c
--	ARPHRD_HWX25                         = 0x110
--	ARPHRD_IEEE1394                      = 0x18
--	ARPHRD_IEEE802                       = 0x6
--	ARPHRD_IEEE80211                     = 0x321
--	ARPHRD_IEEE80211_PRISM               = 0x322
--	ARPHRD_IEEE80211_RADIOTAP            = 0x323
--	ARPHRD_IEEE802154                    = 0x324
--	ARPHRD_IEEE802154_MONITOR            = 0x325
--	ARPHRD_IEEE802_TR                    = 0x320
--	ARPHRD_INFINIBAND                    = 0x20
--	ARPHRD_IP6GRE                        = 0x337
--	ARPHRD_IPDDP                         = 0x309
--	ARPHRD_IPGRE                         = 0x30a
--	ARPHRD_IRDA                          = 0x30f
--	ARPHRD_LAPB                          = 0x204
--	ARPHRD_LOCALTLK                      = 0x305
--	ARPHRD_LOOPBACK                      = 0x304
--	ARPHRD_METRICOM                      = 0x17
--	ARPHRD_NETLINK                       = 0x338
--	ARPHRD_NETROM                        = 0x0
--	ARPHRD_NONE                          = 0xfffe
--	ARPHRD_PHONET                        = 0x334
--	ARPHRD_PHONET_PIPE                   = 0x335
--	ARPHRD_PIMREG                        = 0x30b
--	ARPHRD_PPP                           = 0x200
--	ARPHRD_PRONET                        = 0x4
--	ARPHRD_RAWHDLC                       = 0x206
--	ARPHRD_ROSE                          = 0x10e
--	ARPHRD_RSRVD                         = 0x104
--	ARPHRD_SIT                           = 0x308
--	ARPHRD_SKIP                          = 0x303
--	ARPHRD_SLIP                          = 0x100
--	ARPHRD_SLIP6                         = 0x102
--	ARPHRD_TUNNEL                        = 0x300
--	ARPHRD_TUNNEL6                       = 0x301
--	ARPHRD_VOID                          = 0xffff
--	ARPHRD_X25                           = 0x10f
--	B0                                   = 0x0
--	B1000000                             = 0x1008
--	B110                                 = 0x3
--	B115200                              = 0x1002
--	B1152000                             = 0x1009
--	B1200                                = 0x9
--	B134                                 = 0x4
--	B150                                 = 0x5
--	B1500000                             = 0x100a
--	B1800                                = 0xa
--	B19200                               = 0xe
--	B200                                 = 0x6
--	B2000000                             = 0x100b
--	B230400                              = 0x1003
--	B2400                                = 0xb
--	B2500000                             = 0x100c
--	B300                                 = 0x7
--	B3000000                             = 0x100d
--	B3500000                             = 0x100e
--	B38400                               = 0xf
--	B4000000                             = 0x100f
--	B460800                              = 0x1004
--	B4800                                = 0xc
--	B50                                  = 0x1
--	B500000                              = 0x1005
--	B57600                               = 0x1001
--	B576000                              = 0x1006
--	B600                                 = 0x8
--	B75                                  = 0x2
--	B921600                              = 0x1007
--	B9600                                = 0xd
--	BLKBSZGET                            = 0x40081270
--	BLKBSZSET                            = 0x80081271
--	BLKFLSBUF                            = 0x20001261
--	BLKFRAGET                            = 0x20001265
--	BLKFRASET                            = 0x20001264
--	BLKGETSIZE                           = 0x20001260
--	BLKGETSIZE64                         = 0x40081272
--	BLKPBSZGET                           = 0x2000127b
--	BLKRAGET                             = 0x20001263
--	BLKRASET                             = 0x20001262
--	BLKROGET                             = 0x2000125e
--	BLKROSET                             = 0x2000125d
--	BLKRRPART                            = 0x2000125f
--	BLKSECTGET                           = 0x20001267
--	BLKSECTSET                           = 0x20001266
--	BLKSSZGET                            = 0x20001268
--	BOTHER                               = 0x1000
--	BPF_A                                = 0x10
--	BPF_ABS                              = 0x20
--	BPF_ADD                              = 0x0
--	BPF_ALU                              = 0x4
--	BPF_AND                              = 0x50
--	BPF_B                                = 0x10
--	BPF_DIV                              = 0x30
--	BPF_H                                = 0x8
--	BPF_IMM                              = 0x0
--	BPF_IND                              = 0x40
--	BPF_JA                               = 0x0
--	BPF_JEQ                              = 0x10
--	BPF_JGE                              = 0x30
--	BPF_JGT                              = 0x20
--	BPF_JMP                              = 0x5
--	BPF_JSET                             = 0x40
--	BPF_K                                = 0x0
--	BPF_LD                               = 0x0
--	BPF_LDX                              = 0x1
--	BPF_LEN                              = 0x80
--	BPF_LL_OFF                           = -0x200000
--	BPF_LSH                              = 0x60
--	BPF_MAJOR_VERSION                    = 0x1
--	BPF_MAXINSNS                         = 0x1000
--	BPF_MEM                              = 0x60
--	BPF_MEMWORDS                         = 0x10
--	BPF_MINOR_VERSION                    = 0x1
--	BPF_MISC                             = 0x7
--	BPF_MOD                              = 0x90
--	BPF_MSH                              = 0xa0
--	BPF_MUL                              = 0x20
--	BPF_NEG                              = 0x80
--	BPF_NET_OFF                          = -0x100000
--	BPF_OR                               = 0x40
--	BPF_RET                              = 0x6
--	BPF_RSH                              = 0x70
--	BPF_ST                               = 0x2
--	BPF_STX                              = 0x3
--	BPF_SUB                              = 0x10
--	BPF_TAX                              = 0x0
--	BPF_TXA                              = 0x80
--	BPF_W                                = 0x0
--	BPF_X                                = 0x8
--	BPF_XOR                              = 0xa0
--	BRKINT                               = 0x2
--	BS0                                  = 0x0
--	BS1                                  = 0x2000
--	BSDLY                                = 0x2000
--	CAN_BCM                              = 0x2
--	CAN_EFF_FLAG                         = 0x80000000
--	CAN_EFF_ID_BITS                      = 0x1d
--	CAN_EFF_MASK                         = 0x1fffffff
--	CAN_ERR_FLAG                         = 0x20000000
--	CAN_ERR_MASK                         = 0x1fffffff
--	CAN_INV_FILTER                       = 0x20000000
--	CAN_ISOTP                            = 0x6
--	CAN_MAX_DLC                          = 0x8
--	CAN_MAX_DLEN                         = 0x8
--	CAN_MCNET                            = 0x5
--	CAN_MTU                              = 0x10
--	CAN_NPROTO                           = 0x7
--	CAN_RAW                              = 0x1
--	CAN_RAW_FILTER_MAX                   = 0x200
--	CAN_RTR_FLAG                         = 0x40000000
--	CAN_SFF_ID_BITS                      = 0xb
--	CAN_SFF_MASK                         = 0x7ff
--	CAN_TP16                             = 0x3
--	CAN_TP20                             = 0x4
--	CBAUD                                = 0x100f
--	CBAUDEX                              = 0x1000
--	CFLUSH                               = 0xf
--	CIBAUD                               = 0x100f0000
--	CLOCAL                               = 0x800
--	CLOCK_BOOTTIME                       = 0x7
--	CLOCK_BOOTTIME_ALARM                 = 0x9
--	CLOCK_DEFAULT                        = 0x0
--	CLOCK_EXT                            = 0x1
--	CLOCK_INT                            = 0x2
--	CLOCK_MONOTONIC                      = 0x1
--	CLOCK_MONOTONIC_COARSE               = 0x6
--	CLOCK_MONOTONIC_RAW                  = 0x4
--	CLOCK_PROCESS_CPUTIME_ID             = 0x2
--	CLOCK_REALTIME                       = 0x0
--	CLOCK_REALTIME_ALARM                 = 0x8
--	CLOCK_REALTIME_COARSE                = 0x5
--	CLOCK_TAI                            = 0xb
--	CLOCK_THREAD_CPUTIME_ID              = 0x3
--	CLOCK_TXFROMRX                       = 0x4
--	CLOCK_TXINT                          = 0x3
--	CLONE_CHILD_CLEARTID                 = 0x200000
--	CLONE_CHILD_SETTID                   = 0x1000000
--	CLONE_DETACHED                       = 0x400000
--	CLONE_FILES                          = 0x400
--	CLONE_FS                             = 0x200
--	CLONE_IO                             = 0x80000000
--	CLONE_NEWCGROUP                      = 0x2000000
--	CLONE_NEWIPC                         = 0x8000000
--	CLONE_NEWNET                         = 0x40000000
--	CLONE_NEWNS                          = 0x20000
--	CLONE_NEWPID                         = 0x20000000
--	CLONE_NEWUSER                        = 0x10000000
--	CLONE_NEWUTS                         = 0x4000000
--	CLONE_PARENT                         = 0x8000
--	CLONE_PARENT_SETTID                  = 0x100000
--	CLONE_PTRACE                         = 0x2000
--	CLONE_SETTLS                         = 0x80000
--	CLONE_SIGHAND                        = 0x800
--	CLONE_SYSVSEM                        = 0x40000
--	CLONE_THREAD                         = 0x10000
--	CLONE_UNTRACED                       = 0x800000
--	CLONE_VFORK                          = 0x4000
--	CLONE_VM                             = 0x100
--	CMSPAR                               = 0x40000000
--	CR0                                  = 0x0
--	CR1                                  = 0x200
--	CR2                                  = 0x400
--	CR3                                  = 0x600
--	CRDLY                                = 0x600
--	CREAD                                = 0x80
--	CRTSCTS                              = 0x80000000
--	CS5                                  = 0x0
--	CS6                                  = 0x10
--	CS7                                  = 0x20
--	CS8                                  = 0x30
--	CSIGNAL                              = 0xff
--	CSIZE                                = 0x30
--	CSTART                               = 0x11
--	CSTATUS                              = 0x0
--	CSTOP                                = 0x13
--	CSTOPB                               = 0x40
--	CSUSP                                = 0x1a
--	DT_BLK                               = 0x6
--	DT_CHR                               = 0x2
--	DT_DIR                               = 0x4
--	DT_FIFO                              = 0x1
--	DT_LNK                               = 0xa
--	DT_REG                               = 0x8
--	DT_SOCK                              = 0xc
--	DT_UNKNOWN                           = 0x0
--	DT_WHT                               = 0xe
--	ECHO                                 = 0x8
--	ECHOCTL                              = 0x200
--	ECHOE                                = 0x10
--	ECHOK                                = 0x20
--	ECHOKE                               = 0x800
--	ECHONL                               = 0x40
--	ECHOPRT                              = 0x400
--	EFD_CLOEXEC                          = 0x80000
--	EFD_NONBLOCK                         = 0x80
--	EFD_SEMAPHORE                        = 0x1
--	ENCODING_DEFAULT                     = 0x0
--	ENCODING_FM_MARK                     = 0x3
--	ENCODING_FM_SPACE                    = 0x4
--	ENCODING_MANCHESTER                  = 0x5
--	ENCODING_NRZ                         = 0x1
--	ENCODING_NRZI                        = 0x2
--	EPOLLERR                             = 0x8
--	EPOLLET                              = 0x80000000
--	EPOLLEXCLUSIVE                       = 0x10000000
--	EPOLLHUP                             = 0x10
--	EPOLLIN                              = 0x1
--	EPOLLMSG                             = 0x400
--	EPOLLONESHOT                         = 0x40000000
--	EPOLLOUT                             = 0x4
--	EPOLLPRI                             = 0x2
--	EPOLLRDBAND                          = 0x80
--	EPOLLRDHUP                           = 0x2000
--	EPOLLRDNORM                          = 0x40
--	EPOLLWAKEUP                          = 0x20000000
--	EPOLLWRBAND                          = 0x200
--	EPOLLWRNORM                          = 0x100
--	EPOLL_CLOEXEC                        = 0x80000
--	EPOLL_CTL_ADD                        = 0x1
--	EPOLL_CTL_DEL                        = 0x2
--	EPOLL_CTL_MOD                        = 0x3
--	ETH_P_1588                           = 0x88f7
--	ETH_P_8021AD                         = 0x88a8
--	ETH_P_8021AH                         = 0x88e7
--	ETH_P_8021Q                          = 0x8100
--	ETH_P_80221                          = 0x8917
--	ETH_P_802_2                          = 0x4
--	ETH_P_802_3                          = 0x1
--	ETH_P_802_3_MIN                      = 0x600
--	ETH_P_802_EX1                        = 0x88b5
--	ETH_P_AARP                           = 0x80f3
--	ETH_P_AF_IUCV                        = 0xfbfb
--	ETH_P_ALL                            = 0x3
--	ETH_P_AOE                            = 0x88a2
--	ETH_P_ARCNET                         = 0x1a
--	ETH_P_ARP                            = 0x806
--	ETH_P_ATALK                          = 0x809b
--	ETH_P_ATMFATE                        = 0x8884
--	ETH_P_ATMMPOA                        = 0x884c
--	ETH_P_AX25                           = 0x2
--	ETH_P_BATMAN                         = 0x4305
--	ETH_P_BPQ                            = 0x8ff
--	ETH_P_CAIF                           = 0xf7
--	ETH_P_CAN                            = 0xc
--	ETH_P_CANFD                          = 0xd
--	ETH_P_CONTROL                        = 0x16
--	ETH_P_CUST                           = 0x6006
--	ETH_P_DDCMP                          = 0x6
--	ETH_P_DEC                            = 0x6000
--	ETH_P_DIAG                           = 0x6005
--	ETH_P_DNA_DL                         = 0x6001
--	ETH_P_DNA_RC                         = 0x6002
--	ETH_P_DNA_RT                         = 0x6003
--	ETH_P_DSA                            = 0x1b
--	ETH_P_ECONET                         = 0x18
--	ETH_P_EDSA                           = 0xdada
--	ETH_P_FCOE                           = 0x8906
--	ETH_P_FIP                            = 0x8914
--	ETH_P_HDLC                           = 0x19
--	ETH_P_HSR                            = 0x892f
--	ETH_P_IEEE802154                     = 0xf6
--	ETH_P_IEEEPUP                        = 0xa00
--	ETH_P_IEEEPUPAT                      = 0xa01
--	ETH_P_IP                             = 0x800
--	ETH_P_IPV6                           = 0x86dd
--	ETH_P_IPX                            = 0x8137
--	ETH_P_IRDA                           = 0x17
--	ETH_P_LAT                            = 0x6004
--	ETH_P_LINK_CTL                       = 0x886c
--	ETH_P_LOCALTALK                      = 0x9
--	ETH_P_LOOP                           = 0x60
--	ETH_P_LOOPBACK                       = 0x9000
--	ETH_P_MACSEC                         = 0x88e5
--	ETH_P_MOBITEX                        = 0x15
--	ETH_P_MPLS_MC                        = 0x8848
--	ETH_P_MPLS_UC                        = 0x8847
--	ETH_P_MVRP                           = 0x88f5
--	ETH_P_NCSI                           = 0x88f8
--	ETH_P_PAE                            = 0x888e
--	ETH_P_PAUSE                          = 0x8808
--	ETH_P_PHONET                         = 0xf5
--	ETH_P_PPPTALK                        = 0x10
--	ETH_P_PPP_DISC                       = 0x8863
--	ETH_P_PPP_MP                         = 0x8
--	ETH_P_PPP_SES                        = 0x8864
--	ETH_P_PRP                            = 0x88fb
--	ETH_P_PUP                            = 0x200
--	ETH_P_PUPAT                          = 0x201
--	ETH_P_QINQ1                          = 0x9100
--	ETH_P_QINQ2                          = 0x9200
--	ETH_P_QINQ3                          = 0x9300
--	ETH_P_RARP                           = 0x8035
--	ETH_P_SCA                            = 0x6007
--	ETH_P_SLOW                           = 0x8809
--	ETH_P_SNAP                           = 0x5
--	ETH_P_TDLS                           = 0x890d
--	ETH_P_TEB                            = 0x6558
--	ETH_P_TIPC                           = 0x88ca
--	ETH_P_TRAILER                        = 0x1c
--	ETH_P_TR_802_2                       = 0x11
--	ETH_P_TSN                            = 0x22f0
--	ETH_P_WAN_PPP                        = 0x7
--	ETH_P_WCCP                           = 0x883e
--	ETH_P_X25                            = 0x805
--	ETH_P_XDSA                           = 0xf8
--	EXTA                                 = 0xe
--	EXTB                                 = 0xf
--	EXTPROC                              = 0x10000
--	FALLOC_FL_COLLAPSE_RANGE             = 0x8
--	FALLOC_FL_INSERT_RANGE               = 0x20
--	FALLOC_FL_KEEP_SIZE                  = 0x1
--	FALLOC_FL_NO_HIDE_STALE              = 0x4
--	FALLOC_FL_PUNCH_HOLE                 = 0x2
--	FALLOC_FL_UNSHARE_RANGE              = 0x40
--	FALLOC_FL_ZERO_RANGE                 = 0x10
--	FD_CLOEXEC                           = 0x1
--	FD_SETSIZE                           = 0x400
--	FF0                                  = 0x0
--	FF1                                  = 0x8000
--	FFDLY                                = 0x8000
--	FLUSHO                               = 0x2000
--	FS_ENCRYPTION_MODE_AES_256_CBC       = 0x3
--	FS_ENCRYPTION_MODE_AES_256_CTS       = 0x4
--	FS_ENCRYPTION_MODE_AES_256_GCM       = 0x2
--	FS_ENCRYPTION_MODE_AES_256_XTS       = 0x1
--	FS_ENCRYPTION_MODE_INVALID           = 0x0
--	FS_IOC_GET_ENCRYPTION_POLICY         = 0x800c6615
--	FS_IOC_GET_ENCRYPTION_PWSALT         = 0x80106614
--	FS_IOC_SET_ENCRYPTION_POLICY         = 0x400c6613
--	FS_KEY_DESCRIPTOR_SIZE               = 0x8
--	FS_KEY_DESC_PREFIX                   = "fscrypt:"
--	FS_KEY_DESC_PREFIX_SIZE              = 0x8
--	FS_MAX_KEY_SIZE                      = 0x40
--	FS_POLICY_FLAGS_PAD_16               = 0x2
--	FS_POLICY_FLAGS_PAD_32               = 0x3
--	FS_POLICY_FLAGS_PAD_4                = 0x0
--	FS_POLICY_FLAGS_PAD_8                = 0x1
--	FS_POLICY_FLAGS_PAD_MASK             = 0x3
--	FS_POLICY_FLAGS_VALID                = 0x3
--	F_DUPFD                              = 0x0
--	F_DUPFD_CLOEXEC                      = 0x406
--	F_EXLCK                              = 0x4
--	F_GETFD                              = 0x1
--	F_GETFL                              = 0x3
--	F_GETLEASE                           = 0x401
--	F_GETLK                              = 0xe
--	F_GETLK64                            = 0xe
--	F_GETOWN                             = 0x17
--	F_GETOWN_EX                          = 0x10
--	F_GETPIPE_SZ                         = 0x408
--	F_GETSIG                             = 0xb
--	F_LOCK                               = 0x1
--	F_NOTIFY                             = 0x402
--	F_OFD_GETLK                          = 0x24
--	F_OFD_SETLK                          = 0x25
--	F_OFD_SETLKW                         = 0x26
--	F_OK                                 = 0x0
--	F_RDLCK                              = 0x0
--	F_SETFD                              = 0x2
--	F_SETFL                              = 0x4
--	F_SETLEASE                           = 0x400
--	F_SETLK                              = 0x6
--	F_SETLK64                            = 0x6
--	F_SETLKW                             = 0x7
--	F_SETLKW64                           = 0x7
--	F_SETOWN                             = 0x18
--	F_SETOWN_EX                          = 0xf
--	F_SETPIPE_SZ                         = 0x407
--	F_SETSIG                             = 0xa
--	F_SHLCK                              = 0x8
--	F_TEST                               = 0x3
--	F_TLOCK                              = 0x2
--	F_ULOCK                              = 0x0
--	F_UNLCK                              = 0x2
--	F_WRLCK                              = 0x1
--	GENL_ADMIN_PERM                      = 0x1
--	GENL_CMD_CAP_DO                      = 0x2
--	GENL_CMD_CAP_DUMP                    = 0x4
--	GENL_CMD_CAP_HASPOL                  = 0x8
--	GENL_HDRLEN                          = 0x4
--	GENL_ID_CTRL                         = 0x10
--	GENL_ID_PMCRAID                      = 0x12
--	GENL_ID_VFS_DQUOT                    = 0x11
--	GENL_MAX_ID                          = 0x3ff
--	GENL_MIN_ID                          = 0x10
--	GENL_NAMSIZ                          = 0x10
--	GENL_START_ALLOC                     = 0x13
--	GENL_UNS_ADMIN_PERM                  = 0x10
--	GRND_NONBLOCK                        = 0x1
--	GRND_RANDOM                          = 0x2
--	HUPCL                                = 0x400
--	IBSHIFT                              = 0x10
--	ICANON                               = 0x2
--	ICMPV6_FILTER                        = 0x1
--	ICRNL                                = 0x100
--	IEXTEN                               = 0x100
--	IFA_F_DADFAILED                      = 0x8
--	IFA_F_DEPRECATED                     = 0x20
--	IFA_F_HOMEADDRESS                    = 0x10
--	IFA_F_MANAGETEMPADDR                 = 0x100
--	IFA_F_MCAUTOJOIN                     = 0x400
--	IFA_F_NODAD                          = 0x2
--	IFA_F_NOPREFIXROUTE                  = 0x200
--	IFA_F_OPTIMISTIC                     = 0x4
--	IFA_F_PERMANENT                      = 0x80
--	IFA_F_SECONDARY                      = 0x1
--	IFA_F_STABLE_PRIVACY                 = 0x800
--	IFA_F_TEMPORARY                      = 0x1
--	IFA_F_TENTATIVE                      = 0x40
--	IFA_MAX                              = 0x8
--	IFF_ALLMULTI                         = 0x200
--	IFF_ATTACH_QUEUE                     = 0x200
--	IFF_AUTOMEDIA                        = 0x4000
--	IFF_BROADCAST                        = 0x2
--	IFF_DEBUG                            = 0x4
--	IFF_DETACH_QUEUE                     = 0x400
--	IFF_DORMANT                          = 0x20000
--	IFF_DYNAMIC                          = 0x8000
--	IFF_ECHO                             = 0x40000
--	IFF_LOOPBACK                         = 0x8
--	IFF_LOWER_UP                         = 0x10000
--	IFF_MASTER                           = 0x400
--	IFF_MULTICAST                        = 0x1000
--	IFF_MULTI_QUEUE                      = 0x100
--	IFF_NOARP                            = 0x80
--	IFF_NOFILTER                         = 0x1000
--	IFF_NOTRAILERS                       = 0x20
--	IFF_NO_PI                            = 0x1000
--	IFF_ONE_QUEUE                        = 0x2000
--	IFF_PERSIST                          = 0x800
--	IFF_POINTOPOINT                      = 0x10
--	IFF_PORTSEL                          = 0x2000
--	IFF_PROMISC                          = 0x100
--	IFF_RUNNING                          = 0x40
--	IFF_SLAVE                            = 0x800
--	IFF_TAP                              = 0x2
--	IFF_TUN                              = 0x1
--	IFF_TUN_EXCL                         = 0x8000
--	IFF_UP                               = 0x1
--	IFF_VNET_HDR                         = 0x4000
--	IFF_VOLATILE                         = 0x70c5a
--	IFNAMSIZ                             = 0x10
--	IGNBRK                               = 0x1
--	IGNCR                                = 0x80
--	IGNPAR                               = 0x4
--	IMAXBEL                              = 0x2000
--	INLCR                                = 0x40
--	INPCK                                = 0x10
--	IN_ACCESS                            = 0x1
--	IN_ALL_EVENTS                        = 0xfff
--	IN_ATTRIB                            = 0x4
--	IN_CLASSA_HOST                       = 0xffffff
--	IN_CLASSA_MAX                        = 0x80
--	IN_CLASSA_NET                        = 0xff000000
--	IN_CLASSA_NSHIFT                     = 0x18
--	IN_CLASSB_HOST                       = 0xffff
--	IN_CLASSB_MAX                        = 0x10000
--	IN_CLASSB_NET                        = 0xffff0000
--	IN_CLASSB_NSHIFT                     = 0x10
--	IN_CLASSC_HOST                       = 0xff
--	IN_CLASSC_NET                        = 0xffffff00
--	IN_CLASSC_NSHIFT                     = 0x8
--	IN_CLOEXEC                           = 0x80000
--	IN_CLOSE                             = 0x18
--	IN_CLOSE_NOWRITE                     = 0x10
--	IN_CLOSE_WRITE                       = 0x8
--	IN_CREATE                            = 0x100
--	IN_DELETE                            = 0x200
--	IN_DELETE_SELF                       = 0x400
--	IN_DONT_FOLLOW                       = 0x2000000
--	IN_EXCL_UNLINK                       = 0x4000000
--	IN_IGNORED                           = 0x8000
--	IN_ISDIR                             = 0x40000000
--	IN_LOOPBACKNET                       = 0x7f
--	IN_MASK_ADD                          = 0x20000000
--	IN_MODIFY                            = 0x2
--	IN_MOVE                              = 0xc0
--	IN_MOVED_FROM                        = 0x40
--	IN_MOVED_TO                          = 0x80
--	IN_MOVE_SELF                         = 0x800
--	IN_NONBLOCK                          = 0x80
--	IN_ONESHOT                           = 0x80000000
--	IN_ONLYDIR                           = 0x1000000
--	IN_OPEN                              = 0x20
--	IN_Q_OVERFLOW                        = 0x4000
--	IN_UNMOUNT                           = 0x2000
--	IPPROTO_AH                           = 0x33
--	IPPROTO_BEETPH                       = 0x5e
--	IPPROTO_COMP                         = 0x6c
--	IPPROTO_DCCP                         = 0x21
--	IPPROTO_DSTOPTS                      = 0x3c
--	IPPROTO_EGP                          = 0x8
--	IPPROTO_ENCAP                        = 0x62
--	IPPROTO_ESP                          = 0x32
--	IPPROTO_FRAGMENT                     = 0x2c
--	IPPROTO_GRE                          = 0x2f
--	IPPROTO_HOPOPTS                      = 0x0
--	IPPROTO_ICMP                         = 0x1
--	IPPROTO_ICMPV6                       = 0x3a
--	IPPROTO_IDP                          = 0x16
--	IPPROTO_IGMP                         = 0x2
--	IPPROTO_IP                           = 0x0
--	IPPROTO_IPIP                         = 0x4
--	IPPROTO_IPV6                         = 0x29
--	IPPROTO_MH                           = 0x87
--	IPPROTO_MPLS                         = 0x89
--	IPPROTO_MTP                          = 0x5c
--	IPPROTO_NONE                         = 0x3b
--	IPPROTO_PIM                          = 0x67
--	IPPROTO_PUP                          = 0xc
--	IPPROTO_RAW                          = 0xff
--	IPPROTO_ROUTING                      = 0x2b
--	IPPROTO_RSVP                         = 0x2e
--	IPPROTO_SCTP                         = 0x84
--	IPPROTO_TCP                          = 0x6
--	IPPROTO_TP                           = 0x1d
--	IPPROTO_UDP                          = 0x11
--	IPPROTO_UDPLITE                      = 0x88
--	IPV6_2292DSTOPTS                     = 0x4
--	IPV6_2292HOPLIMIT                    = 0x8
--	IPV6_2292HOPOPTS                     = 0x3
--	IPV6_2292PKTINFO                     = 0x2
--	IPV6_2292PKTOPTIONS                  = 0x6
--	IPV6_2292RTHDR                       = 0x5
--	IPV6_ADDRFORM                        = 0x1
--	IPV6_ADD_MEMBERSHIP                  = 0x14
--	IPV6_AUTHHDR                         = 0xa
--	IPV6_CHECKSUM                        = 0x7
--	IPV6_DONTFRAG                        = 0x3e
--	IPV6_DROP_MEMBERSHIP                 = 0x15
--	IPV6_DSTOPTS                         = 0x3b
--	IPV6_HDRINCL                         = 0x24
--	IPV6_HOPLIMIT                        = 0x34
--	IPV6_HOPOPTS                         = 0x36
--	IPV6_IPSEC_POLICY                    = 0x22
--	IPV6_JOIN_ANYCAST                    = 0x1b
--	IPV6_JOIN_GROUP                      = 0x14
--	IPV6_LEAVE_ANYCAST                   = 0x1c
--	IPV6_LEAVE_GROUP                     = 0x15
--	IPV6_MTU                             = 0x18
--	IPV6_MTU_DISCOVER                    = 0x17
--	IPV6_MULTICAST_HOPS                  = 0x12
--	IPV6_MULTICAST_IF                    = 0x11
--	IPV6_MULTICAST_LOOP                  = 0x13
--	IPV6_NEXTHOP                         = 0x9
--	IPV6_PATHMTU                         = 0x3d
--	IPV6_PKTINFO                         = 0x32
--	IPV6_PMTUDISC_DO                     = 0x2
--	IPV6_PMTUDISC_DONT                   = 0x0
--	IPV6_PMTUDISC_INTERFACE              = 0x4
--	IPV6_PMTUDISC_OMIT                   = 0x5
--	IPV6_PMTUDISC_PROBE                  = 0x3
--	IPV6_PMTUDISC_WANT                   = 0x1
--	IPV6_RECVDSTOPTS                     = 0x3a
--	IPV6_RECVERR                         = 0x19
--	IPV6_RECVHOPLIMIT                    = 0x33
--	IPV6_RECVHOPOPTS                     = 0x35
--	IPV6_RECVPATHMTU                     = 0x3c
--	IPV6_RECVPKTINFO                     = 0x31
--	IPV6_RECVRTHDR                       = 0x38
--	IPV6_RECVTCLASS                      = 0x42
--	IPV6_ROUTER_ALERT                    = 0x16
--	IPV6_RTHDR                           = 0x39
--	IPV6_RTHDRDSTOPTS                    = 0x37
--	IPV6_RTHDR_LOOSE                     = 0x0
--	IPV6_RTHDR_STRICT                    = 0x1
--	IPV6_RTHDR_TYPE_0                    = 0x0
--	IPV6_RXDSTOPTS                       = 0x3b
--	IPV6_RXHOPOPTS                       = 0x36
--	IPV6_TCLASS                          = 0x43
--	IPV6_UNICAST_HOPS                    = 0x10
--	IPV6_V6ONLY                          = 0x1a
--	IPV6_XFRM_POLICY                     = 0x23
--	IP_ADD_MEMBERSHIP                    = 0x23
--	IP_ADD_SOURCE_MEMBERSHIP             = 0x27
--	IP_BIND_ADDRESS_NO_PORT              = 0x18
--	IP_BLOCK_SOURCE                      = 0x26
--	IP_CHECKSUM                          = 0x17
--	IP_DEFAULT_MULTICAST_LOOP            = 0x1
--	IP_DEFAULT_MULTICAST_TTL             = 0x1
--	IP_DF                                = 0x4000
--	IP_DROP_MEMBERSHIP                   = 0x24
--	IP_DROP_SOURCE_MEMBERSHIP            = 0x28
--	IP_FREEBIND                          = 0xf
--	IP_HDRINCL                           = 0x3
--	IP_IPSEC_POLICY                      = 0x10
--	IP_MAXPACKET                         = 0xffff
--	IP_MAX_MEMBERSHIPS                   = 0x14
--	IP_MF                                = 0x2000
--	IP_MINTTL                            = 0x15
--	IP_MSFILTER                          = 0x29
--	IP_MSS                               = 0x240
--	IP_MTU                               = 0xe
--	IP_MTU_DISCOVER                      = 0xa
--	IP_MULTICAST_ALL                     = 0x31
--	IP_MULTICAST_IF                      = 0x20
--	IP_MULTICAST_LOOP                    = 0x22
--	IP_MULTICAST_TTL                     = 0x21
--	IP_NODEFRAG                          = 0x16
--	IP_OFFMASK                           = 0x1fff
--	IP_OPTIONS                           = 0x4
--	IP_ORIGDSTADDR                       = 0x14
--	IP_PASSSEC                           = 0x12
--	IP_PKTINFO                           = 0x8
--	IP_PKTOPTIONS                        = 0x9
--	IP_PMTUDISC                          = 0xa
--	IP_PMTUDISC_DO                       = 0x2
--	IP_PMTUDISC_DONT                     = 0x0
--	IP_PMTUDISC_INTERFACE                = 0x4
--	IP_PMTUDISC_OMIT                     = 0x5
--	IP_PMTUDISC_PROBE                    = 0x3
--	IP_PMTUDISC_WANT                     = 0x1
--	IP_RECVERR                           = 0xb
--	IP_RECVOPTS                          = 0x6
--	IP_RECVORIGDSTADDR                   = 0x14
--	IP_RECVRETOPTS                       = 0x7
--	IP_RECVTOS                           = 0xd
--	IP_RECVTTL                           = 0xc
--	IP_RETOPTS                           = 0x7
--	IP_RF                                = 0x8000
--	IP_ROUTER_ALERT                      = 0x5
--	IP_TOS                               = 0x1
--	IP_TRANSPARENT                       = 0x13
--	IP_TTL                               = 0x2
--	IP_UNBLOCK_SOURCE                    = 0x25
--	IP_UNICAST_IF                        = 0x32
--	IP_XFRM_POLICY                       = 0x11
--	ISIG                                 = 0x1
--	ISTRIP                               = 0x20
--	IUCLC                                = 0x200
--	IUTF8                                = 0x4000
--	IXANY                                = 0x800
--	IXOFF                                = 0x1000
--	IXON                                 = 0x400
--	KEYCTL_ASSUME_AUTHORITY              = 0x10
--	KEYCTL_CHOWN                         = 0x4
--	KEYCTL_CLEAR                         = 0x7
--	KEYCTL_DESCRIBE                      = 0x6
--	KEYCTL_DH_COMPUTE                    = 0x17
--	KEYCTL_GET_KEYRING_ID                = 0x0
--	KEYCTL_GET_PERSISTENT                = 0x16
--	KEYCTL_GET_SECURITY                  = 0x11
--	KEYCTL_INSTANTIATE                   = 0xc
--	KEYCTL_INSTANTIATE_IOV               = 0x14
--	KEYCTL_INVALIDATE                    = 0x15
--	KEYCTL_JOIN_SESSION_KEYRING          = 0x1
--	KEYCTL_LINK                          = 0x8
--	KEYCTL_NEGATE                        = 0xd
--	KEYCTL_READ                          = 0xb
--	KEYCTL_REJECT                        = 0x13
--	KEYCTL_REVOKE                        = 0x3
--	KEYCTL_SEARCH                        = 0xa
--	KEYCTL_SESSION_TO_PARENT             = 0x12
--	KEYCTL_SETPERM                       = 0x5
--	KEYCTL_SET_REQKEY_KEYRING            = 0xe
--	KEYCTL_SET_TIMEOUT                   = 0xf
--	KEYCTL_UNLINK                        = 0x9
--	KEYCTL_UPDATE                        = 0x2
--	KEY_REQKEY_DEFL_DEFAULT              = 0x0
--	KEY_REQKEY_DEFL_GROUP_KEYRING        = 0x6
--	KEY_REQKEY_DEFL_NO_CHANGE            = -0x1
--	KEY_REQKEY_DEFL_PROCESS_KEYRING      = 0x2
--	KEY_REQKEY_DEFL_REQUESTOR_KEYRING    = 0x7
--	KEY_REQKEY_DEFL_SESSION_KEYRING      = 0x3
--	KEY_REQKEY_DEFL_THREAD_KEYRING       = 0x1
--	KEY_REQKEY_DEFL_USER_KEYRING         = 0x4
--	KEY_REQKEY_DEFL_USER_SESSION_KEYRING = 0x5
--	KEY_SPEC_GROUP_KEYRING               = -0x6
--	KEY_SPEC_PROCESS_KEYRING             = -0x2
--	KEY_SPEC_REQKEY_AUTH_KEY             = -0x7
--	KEY_SPEC_REQUESTOR_KEYRING           = -0x8
--	KEY_SPEC_SESSION_KEYRING             = -0x3
--	KEY_SPEC_THREAD_KEYRING              = -0x1
--	KEY_SPEC_USER_KEYRING                = -0x4
--	KEY_SPEC_USER_SESSION_KEYRING        = -0x5
--	LINUX_REBOOT_CMD_CAD_OFF             = 0x0
--	LINUX_REBOOT_CMD_CAD_ON              = 0x89abcdef
--	LINUX_REBOOT_CMD_HALT                = 0xcdef0123
--	LINUX_REBOOT_CMD_KEXEC               = 0x45584543
--	LINUX_REBOOT_CMD_POWER_OFF           = 0x4321fedc
--	LINUX_REBOOT_CMD_RESTART             = 0x1234567
--	LINUX_REBOOT_CMD_RESTART2            = 0xa1b2c3d4
--	LINUX_REBOOT_CMD_SW_SUSPEND          = 0xd000fce2
--	LINUX_REBOOT_MAGIC1                  = 0xfee1dead
--	LINUX_REBOOT_MAGIC2                  = 0x28121969
--	LOCK_EX                              = 0x2
--	LOCK_NB                              = 0x4
--	LOCK_SH                              = 0x1
--	LOCK_UN                              = 0x8
--	MADV_DODUMP                          = 0x11
--	MADV_DOFORK                          = 0xb
--	MADV_DONTDUMP                        = 0x10
--	MADV_DONTFORK                        = 0xa
--	MADV_DONTNEED                        = 0x4
--	MADV_FREE                            = 0x8
--	MADV_HUGEPAGE                        = 0xe
--	MADV_HWPOISON                        = 0x64
--	MADV_MERGEABLE                       = 0xc
--	MADV_NOHUGEPAGE                      = 0xf
--	MADV_NORMAL                          = 0x0
--	MADV_RANDOM                          = 0x1
--	MADV_REMOVE                          = 0x9
--	MADV_SEQUENTIAL                      = 0x2
--	MADV_UNMERGEABLE                     = 0xd
--	MADV_WILLNEED                        = 0x3
--	MAP_ANON                             = 0x800
--	MAP_ANONYMOUS                        = 0x800
--	MAP_DENYWRITE                        = 0x2000
--	MAP_EXECUTABLE                       = 0x4000
--	MAP_FILE                             = 0x0
--	MAP_FIXED                            = 0x10
--	MAP_GROWSDOWN                        = 0x1000
--	MAP_HUGETLB                          = 0x80000
--	MAP_HUGE_MASK                        = 0x3f
--	MAP_HUGE_SHIFT                       = 0x1a
--	MAP_LOCKED                           = 0x8000
--	MAP_NONBLOCK                         = 0x20000
--	MAP_NORESERVE                        = 0x400
--	MAP_POPULATE                         = 0x10000
--	MAP_PRIVATE                          = 0x2
--	MAP_RENAME                           = 0x800
--	MAP_SHARED                           = 0x1
--	MAP_STACK                            = 0x40000
--	MAP_TYPE                             = 0xf
--	MCL_CURRENT                          = 0x1
--	MCL_FUTURE                           = 0x2
--	MCL_ONFAULT                          = 0x4
--	MNT_DETACH                           = 0x2
--	MNT_EXPIRE                           = 0x4
--	MNT_FORCE                            = 0x1
--	MSG_BATCH                            = 0x40000
--	MSG_CMSG_CLOEXEC                     = 0x40000000
--	MSG_CONFIRM                          = 0x800
--	MSG_CTRUNC                           = 0x8
--	MSG_DONTROUTE                        = 0x4
--	MSG_DONTWAIT                         = 0x40
--	MSG_EOR                              = 0x80
--	MSG_ERRQUEUE                         = 0x2000
--	MSG_FASTOPEN                         = 0x20000000
--	MSG_FIN                              = 0x200
--	MSG_MORE                             = 0x8000
--	MSG_NOSIGNAL                         = 0x4000
--	MSG_OOB                              = 0x1
--	MSG_PEEK                             = 0x2
--	MSG_PROXY                            = 0x10
--	MSG_RST                              = 0x1000
--	MSG_SYN                              = 0x400
--	MSG_TRUNC                            = 0x20
--	MSG_TRYHARD                          = 0x4
--	MSG_WAITALL                          = 0x100
--	MSG_WAITFORONE                       = 0x10000
--	MS_ACTIVE                            = 0x40000000
--	MS_ASYNC                             = 0x1
--	MS_BIND                              = 0x1000
--	MS_BORN                              = 0x20000000
--	MS_DIRSYNC                           = 0x80
--	MS_INVALIDATE                        = 0x2
--	MS_I_VERSION                         = 0x800000
--	MS_KERNMOUNT                         = 0x400000
--	MS_LAZYTIME                          = 0x2000000
--	MS_MANDLOCK                          = 0x40
--	MS_MGC_MSK                           = 0xffff0000
--	MS_MGC_VAL                           = 0xc0ed0000
--	MS_MOVE                              = 0x2000
--	MS_NOATIME                           = 0x400
--	MS_NODEV                             = 0x4
--	MS_NODIRATIME                        = 0x800
--	MS_NOEXEC                            = 0x8
--	MS_NOREMOTELOCK                      = 0x8000000
--	MS_NOSEC                             = 0x10000000
--	MS_NOSUID                            = 0x2
--	MS_NOUSER                            = -0x80000000
--	MS_POSIXACL                          = 0x10000
--	MS_PRIVATE                           = 0x40000
--	MS_RDONLY                            = 0x1
--	MS_REC                               = 0x4000
--	MS_RELATIME                          = 0x200000
--	MS_REMOUNT                           = 0x20
--	MS_RMT_MASK                          = 0x2800051
--	MS_SHARED                            = 0x100000
--	MS_SILENT                            = 0x8000
--	MS_SLAVE                             = 0x80000
--	MS_STRICTATIME                       = 0x1000000
--	MS_SYNC                              = 0x4
--	MS_SYNCHRONOUS                       = 0x10
--	MS_UNBINDABLE                        = 0x20000
--	MS_VERBOSE                           = 0x8000
--	NAME_MAX                             = 0xff
--	NETLINK_ADD_MEMBERSHIP               = 0x1
--	NETLINK_AUDIT                        = 0x9
--	NETLINK_BROADCAST_ERROR              = 0x4
--	NETLINK_CAP_ACK                      = 0xa
--	NETLINK_CONNECTOR                    = 0xb
--	NETLINK_CRYPTO                       = 0x15
--	NETLINK_DNRTMSG                      = 0xe
--	NETLINK_DROP_MEMBERSHIP              = 0x2
--	NETLINK_ECRYPTFS                     = 0x13
--	NETLINK_FIB_LOOKUP                   = 0xa
--	NETLINK_FIREWALL                     = 0x3
--	NETLINK_GENERIC                      = 0x10
--	NETLINK_INET_DIAG                    = 0x4
--	NETLINK_IP6_FW                       = 0xd
--	NETLINK_ISCSI                        = 0x8
--	NETLINK_KOBJECT_UEVENT               = 0xf
--	NETLINK_LISTEN_ALL_NSID              = 0x8
--	NETLINK_LIST_MEMBERSHIPS             = 0x9
--	NETLINK_NETFILTER                    = 0xc
--	NETLINK_NFLOG                        = 0x5
--	NETLINK_NO_ENOBUFS                   = 0x5
--	NETLINK_PKTINFO                      = 0x3
--	NETLINK_RDMA                         = 0x14
--	NETLINK_ROUTE                        = 0x0
--	NETLINK_RX_RING                      = 0x6
--	NETLINK_SCSITRANSPORT                = 0x12
--	NETLINK_SELINUX                      = 0x7
--	NETLINK_SOCK_DIAG                    = 0x4
--	NETLINK_TX_RING                      = 0x7
--	NETLINK_UNUSED                       = 0x1
--	NETLINK_USERSOCK                     = 0x2
--	NETLINK_XFRM                         = 0x6
--	NL0                                  = 0x0
--	NL1                                  = 0x100
--	NLA_ALIGNTO                          = 0x4
--	NLA_F_NESTED                         = 0x8000
--	NLA_F_NET_BYTEORDER                  = 0x4000
--	NLA_HDRLEN                           = 0x4
--	NLDLY                                = 0x100
--	NLMSG_ALIGNTO                        = 0x4
--	NLMSG_DONE                           = 0x3
--	NLMSG_ERROR                          = 0x2
--	NLMSG_HDRLEN                         = 0x10
--	NLMSG_MIN_TYPE                       = 0x10
--	NLMSG_NOOP                           = 0x1
--	NLMSG_OVERRUN                        = 0x4
--	NLM_F_ACK                            = 0x4
--	NLM_F_APPEND                         = 0x800
--	NLM_F_ATOMIC                         = 0x400
--	NLM_F_CREATE                         = 0x400
--	NLM_F_DUMP                           = 0x300
--	NLM_F_DUMP_FILTERED                  = 0x20
--	NLM_F_DUMP_INTR                      = 0x10
--	NLM_F_ECHO                           = 0x8
--	NLM_F_EXCL                           = 0x200
--	NLM_F_MATCH                          = 0x200
--	NLM_F_MULTI                          = 0x2
--	NLM_F_REPLACE                        = 0x100
--	NLM_F_REQUEST                        = 0x1
--	NLM_F_ROOT                           = 0x100
--	NOFLSH                               = 0x80
--	OCRNL                                = 0x8
--	OFDEL                                = 0x80
--	OFILL                                = 0x40
--	OLCUC                                = 0x2
--	ONLCR                                = 0x4
--	ONLRET                               = 0x20
--	ONOCR                                = 0x10
--	OPOST                                = 0x1
--	O_ACCMODE                            = 0x3
--	O_APPEND                             = 0x8
--	O_ASYNC                              = 0x1000
--	O_CLOEXEC                            = 0x80000
--	O_CREAT                              = 0x100
--	O_DIRECT                             = 0x8000
--	O_DIRECTORY                          = 0x10000
--	O_DSYNC                              = 0x10
--	O_EXCL                               = 0x400
--	O_FSYNC                              = 0x4010
--	O_LARGEFILE                          = 0x0
--	O_NDELAY                             = 0x80
--	O_NOATIME                            = 0x40000
--	O_NOCTTY                             = 0x800
--	O_NOFOLLOW                           = 0x20000
--	O_NONBLOCK                           = 0x80
--	O_PATH                               = 0x200000
--	O_RDONLY                             = 0x0
--	O_RDWR                               = 0x2
--	O_RSYNC                              = 0x4010
--	O_SYNC                               = 0x4010
--	O_TMPFILE                            = 0x410000
--	O_TRUNC                              = 0x200
--	O_WRONLY                             = 0x1
--	PACKET_ADD_MEMBERSHIP                = 0x1
--	PACKET_AUXDATA                       = 0x8
--	PACKET_BROADCAST                     = 0x1
--	PACKET_COPY_THRESH                   = 0x7
--	PACKET_DROP_MEMBERSHIP               = 0x2
--	PACKET_FANOUT                        = 0x12
--	PACKET_FANOUT_CBPF                   = 0x6
--	PACKET_FANOUT_CPU                    = 0x2
--	PACKET_FANOUT_DATA                   = 0x16
--	PACKET_FANOUT_EBPF                   = 0x7
--	PACKET_FANOUT_FLAG_DEFRAG            = 0x8000
--	PACKET_FANOUT_FLAG_ROLLOVER          = 0x1000
--	PACKET_FANOUT_HASH                   = 0x0
--	PACKET_FANOUT_LB                     = 0x1
--	PACKET_FANOUT_QM                     = 0x5
--	PACKET_FANOUT_RND                    = 0x4
--	PACKET_FANOUT_ROLLOVER               = 0x3
--	PACKET_FASTROUTE                     = 0x6
--	PACKET_HDRLEN                        = 0xb
--	PACKET_HOST                          = 0x0
--	PACKET_KERNEL                        = 0x7
--	PACKET_LOOPBACK                      = 0x5
--	PACKET_LOSS                          = 0xe
--	PACKET_MR_ALLMULTI                   = 0x2
--	PACKET_MR_MULTICAST                  = 0x0
--	PACKET_MR_PROMISC                    = 0x1
--	PACKET_MR_UNICAST                    = 0x3
--	PACKET_MULTICAST                     = 0x2
--	PACKET_ORIGDEV                       = 0x9
--	PACKET_OTHERHOST                     = 0x3
--	PACKET_OUTGOING                      = 0x4
--	PACKET_QDISC_BYPASS                  = 0x14
--	PACKET_RECV_OUTPUT                   = 0x3
--	PACKET_RESERVE                       = 0xc
--	PACKET_ROLLOVER_STATS                = 0x15
--	PACKET_RX_RING                       = 0x5
--	PACKET_STATISTICS                    = 0x6
--	PACKET_TIMESTAMP                     = 0x11
--	PACKET_TX_HAS_OFF                    = 0x13
--	PACKET_TX_RING                       = 0xd
--	PACKET_TX_TIMESTAMP                  = 0x10
--	PACKET_USER                          = 0x6
--	PACKET_VERSION                       = 0xa
--	PACKET_VNET_HDR                      = 0xf
--	PARENB                               = 0x100
--	PARITY_CRC16_PR0                     = 0x2
--	PARITY_CRC16_PR0_CCITT               = 0x4
--	PARITY_CRC16_PR1                     = 0x3
--	PARITY_CRC16_PR1_CCITT               = 0x5
--	PARITY_CRC32_PR0_CCITT               = 0x6
--	PARITY_CRC32_PR1_CCITT               = 0x7
--	PARITY_DEFAULT                       = 0x0
--	PARITY_NONE                          = 0x1
--	PARMRK                               = 0x8
--	PARODD                               = 0x200
--	PENDIN                               = 0x4000
--	PERF_EVENT_IOC_DISABLE               = 0x20002401
--	PERF_EVENT_IOC_ENABLE                = 0x20002400
--	PERF_EVENT_IOC_ID                    = 0x40082407
--	PERF_EVENT_IOC_PAUSE_OUTPUT          = 0x80042409
--	PERF_EVENT_IOC_PERIOD                = 0x80082404
--	PERF_EVENT_IOC_REFRESH               = 0x20002402
--	PERF_EVENT_IOC_RESET                 = 0x20002403
--	PERF_EVENT_IOC_SET_BPF               = 0x80042408
--	PERF_EVENT_IOC_SET_FILTER            = 0x80082406
--	PERF_EVENT_IOC_SET_OUTPUT            = 0x20002405
--	PRIO_PGRP                            = 0x1
--	PRIO_PROCESS                         = 0x0
--	PRIO_USER                            = 0x2
--	PROT_EXEC                            = 0x4
--	PROT_GROWSDOWN                       = 0x1000000
--	PROT_GROWSUP                         = 0x2000000
--	PROT_NONE                            = 0x0
--	PROT_READ                            = 0x1
--	PROT_WRITE                           = 0x2
--	PR_CAPBSET_DROP                      = 0x18
--	PR_CAPBSET_READ                      = 0x17
--	PR_CAP_AMBIENT                       = 0x2f
--	PR_CAP_AMBIENT_CLEAR_ALL             = 0x4
--	PR_CAP_AMBIENT_IS_SET                = 0x1
--	PR_CAP_AMBIENT_LOWER                 = 0x3
--	PR_CAP_AMBIENT_RAISE                 = 0x2
--	PR_ENDIAN_BIG                        = 0x0
--	PR_ENDIAN_LITTLE                     = 0x1
--	PR_ENDIAN_PPC_LITTLE                 = 0x2
--	PR_FPEMU_NOPRINT                     = 0x1
--	PR_FPEMU_SIGFPE                      = 0x2
--	PR_FP_EXC_ASYNC                      = 0x2
--	PR_FP_EXC_DISABLED                   = 0x0
--	PR_FP_EXC_DIV                        = 0x10000
--	PR_FP_EXC_INV                        = 0x100000
--	PR_FP_EXC_NONRECOV                   = 0x1
--	PR_FP_EXC_OVF                        = 0x20000
--	PR_FP_EXC_PRECISE                    = 0x3
--	PR_FP_EXC_RES                        = 0x80000
--	PR_FP_EXC_SW_ENABLE                  = 0x80
--	PR_FP_EXC_UND                        = 0x40000
--	PR_FP_MODE_FR                        = 0x1
--	PR_FP_MODE_FRE                       = 0x2
--	PR_GET_CHILD_SUBREAPER               = 0x25
--	PR_GET_DUMPABLE                      = 0x3
--	PR_GET_ENDIAN                        = 0x13
--	PR_GET_FPEMU                         = 0x9
--	PR_GET_FPEXC                         = 0xb
--	PR_GET_FP_MODE                       = 0x2e
--	PR_GET_KEEPCAPS                      = 0x7
--	PR_GET_NAME                          = 0x10
--	PR_GET_NO_NEW_PRIVS                  = 0x27
--	PR_GET_PDEATHSIG                     = 0x2
--	PR_GET_SECCOMP                       = 0x15
--	PR_GET_SECUREBITS                    = 0x1b
--	PR_GET_THP_DISABLE                   = 0x2a
--	PR_GET_TID_ADDRESS                   = 0x28
--	PR_GET_TIMERSLACK                    = 0x1e
--	PR_GET_TIMING                        = 0xd
--	PR_GET_TSC                           = 0x19
--	PR_GET_UNALIGN                       = 0x5
--	PR_MCE_KILL                          = 0x21
--	PR_MCE_KILL_CLEAR                    = 0x0
--	PR_MCE_KILL_DEFAULT                  = 0x2
--	PR_MCE_KILL_EARLY                    = 0x1
--	PR_MCE_KILL_GET                      = 0x22
--	PR_MCE_KILL_LATE                     = 0x0
--	PR_MCE_KILL_SET                      = 0x1
--	PR_MPX_DISABLE_MANAGEMENT            = 0x2c
--	PR_MPX_ENABLE_MANAGEMENT             = 0x2b
--	PR_SET_CHILD_SUBREAPER               = 0x24
--	PR_SET_DUMPABLE                      = 0x4
--	PR_SET_ENDIAN                        = 0x14
--	PR_SET_FPEMU                         = 0xa
--	PR_SET_FPEXC                         = 0xc
--	PR_SET_FP_MODE                       = 0x2d
--	PR_SET_KEEPCAPS                      = 0x8
--	PR_SET_MM                            = 0x23
--	PR_SET_MM_ARG_END                    = 0x9
--	PR_SET_MM_ARG_START                  = 0x8
--	PR_SET_MM_AUXV                       = 0xc
--	PR_SET_MM_BRK                        = 0x7
--	PR_SET_MM_END_CODE                   = 0x2
--	PR_SET_MM_END_DATA                   = 0x4
--	PR_SET_MM_ENV_END                    = 0xb
--	PR_SET_MM_ENV_START                  = 0xa
--	PR_SET_MM_EXE_FILE                   = 0xd
--	PR_SET_MM_MAP                        = 0xe
--	PR_SET_MM_MAP_SIZE                   = 0xf
--	PR_SET_MM_START_BRK                  = 0x6
--	PR_SET_MM_START_CODE                 = 0x1
--	PR_SET_MM_START_DATA                 = 0x3
--	PR_SET_MM_START_STACK                = 0x5
--	PR_SET_NAME                          = 0xf
--	PR_SET_NO_NEW_PRIVS                  = 0x26
--	PR_SET_PDEATHSIG                     = 0x1
--	PR_SET_PTRACER                       = 0x59616d61
--	PR_SET_PTRACER_ANY                   = -0x1
--	PR_SET_SECCOMP                       = 0x16
--	PR_SET_SECUREBITS                    = 0x1c
--	PR_SET_THP_DISABLE                   = 0x29
--	PR_SET_TIMERSLACK                    = 0x1d
--	PR_SET_TIMING                        = 0xe
--	PR_SET_TSC                           = 0x1a
--	PR_SET_UNALIGN                       = 0x6
--	PR_TASK_PERF_EVENTS_DISABLE          = 0x1f
--	PR_TASK_PERF_EVENTS_ENABLE           = 0x20
--	PR_TIMING_STATISTICAL                = 0x0
--	PR_TIMING_TIMESTAMP                  = 0x1
--	PR_TSC_ENABLE                        = 0x1
--	PR_TSC_SIGSEGV                       = 0x2
--	PR_UNALIGN_NOPRINT                   = 0x1
--	PR_UNALIGN_SIGBUS                    = 0x2
--	PTRACE_ATTACH                        = 0x10
--	PTRACE_CONT                          = 0x7
--	PTRACE_DETACH                        = 0x11
--	PTRACE_EVENT_CLONE                   = 0x3
--	PTRACE_EVENT_EXEC                    = 0x4
--	PTRACE_EVENT_EXIT                    = 0x6
--	PTRACE_EVENT_FORK                    = 0x1
--	PTRACE_EVENT_SECCOMP                 = 0x7
--	PTRACE_EVENT_STOP                    = 0x80
--	PTRACE_EVENT_VFORK                   = 0x2
--	PTRACE_EVENT_VFORK_DONE              = 0x5
--	PTRACE_GETEVENTMSG                   = 0x4201
--	PTRACE_GETFPREGS                     = 0xe
--	PTRACE_GETREGS                       = 0xc
--	PTRACE_GETREGSET                     = 0x4204
--	PTRACE_GETSIGINFO                    = 0x4202
--	PTRACE_GETSIGMASK                    = 0x420a
--	PTRACE_GET_THREAD_AREA               = 0x19
--	PTRACE_GET_THREAD_AREA_3264          = 0xc4
--	PTRACE_GET_WATCH_REGS                = 0xd0
--	PTRACE_INTERRUPT                     = 0x4207
--	PTRACE_KILL                          = 0x8
--	PTRACE_LISTEN                        = 0x4208
--	PTRACE_OLDSETOPTIONS                 = 0x15
--	PTRACE_O_EXITKILL                    = 0x100000
--	PTRACE_O_MASK                        = 0x3000ff
--	PTRACE_O_SUSPEND_SECCOMP             = 0x200000
--	PTRACE_O_TRACECLONE                  = 0x8
--	PTRACE_O_TRACEEXEC                   = 0x10
--	PTRACE_O_TRACEEXIT                   = 0x40
--	PTRACE_O_TRACEFORK                   = 0x2
--	PTRACE_O_TRACESECCOMP                = 0x80
--	PTRACE_O_TRACESYSGOOD                = 0x1
--	PTRACE_O_TRACEVFORK                  = 0x4
--	PTRACE_O_TRACEVFORKDONE              = 0x20
--	PTRACE_PEEKDATA                      = 0x2
--	PTRACE_PEEKDATA_3264                 = 0xc1
--	PTRACE_PEEKSIGINFO                   = 0x4209
--	PTRACE_PEEKSIGINFO_SHARED            = 0x1
--	PTRACE_PEEKTEXT                      = 0x1
--	PTRACE_PEEKTEXT_3264                 = 0xc0
--	PTRACE_PEEKUSR                       = 0x3
--	PTRACE_POKEDATA                      = 0x5
--	PTRACE_POKEDATA_3264                 = 0xc3
--	PTRACE_POKETEXT                      = 0x4
--	PTRACE_POKETEXT_3264                 = 0xc2
--	PTRACE_POKEUSR                       = 0x6
--	PTRACE_SECCOMP_GET_FILTER            = 0x420c
--	PTRACE_SEIZE                         = 0x4206
--	PTRACE_SETFPREGS                     = 0xf
--	PTRACE_SETOPTIONS                    = 0x4200
--	PTRACE_SETREGS                       = 0xd
--	PTRACE_SETREGSET                     = 0x4205
--	PTRACE_SETSIGINFO                    = 0x4203
--	PTRACE_SETSIGMASK                    = 0x420b
--	PTRACE_SET_THREAD_AREA               = 0x1a
--	PTRACE_SET_WATCH_REGS                = 0xd1
--	PTRACE_SINGLESTEP                    = 0x9
--	PTRACE_SYSCALL                       = 0x18
--	PTRACE_TRACEME                       = 0x0
--	RLIMIT_AS                            = 0x6
--	RLIMIT_CORE                          = 0x4
--	RLIMIT_CPU                           = 0x0
--	RLIMIT_DATA                          = 0x2
--	RLIMIT_FSIZE                         = 0x1
--	RLIMIT_LOCKS                         = 0xa
--	RLIMIT_MEMLOCK                       = 0x9
--	RLIMIT_MSGQUEUE                      = 0xc
--	RLIMIT_NICE                          = 0xd
--	RLIMIT_NOFILE                        = 0x5
--	RLIMIT_NPROC                         = 0x8
--	RLIMIT_RSS                           = 0x7
--	RLIMIT_RTPRIO                        = 0xe
--	RLIMIT_RTTIME                        = 0xf
--	RLIMIT_SIGPENDING                    = 0xb
--	RLIMIT_STACK                         = 0x3
--	RLIM_INFINITY                        = -0x1
--	RTAX_ADVMSS                          = 0x8
--	RTAX_CC_ALGO                         = 0x10
--	RTAX_CWND                            = 0x7
--	RTAX_FEATURES                        = 0xc
--	RTAX_FEATURE_ALLFRAG                 = 0x8
--	RTAX_FEATURE_ECN                     = 0x1
--	RTAX_FEATURE_MASK                    = 0xf
--	RTAX_FEATURE_SACK                    = 0x2
--	RTAX_FEATURE_TIMESTAMP               = 0x4
--	RTAX_HOPLIMIT                        = 0xa
--	RTAX_INITCWND                        = 0xb
--	RTAX_INITRWND                        = 0xe
--	RTAX_LOCK                            = 0x1
--	RTAX_MAX                             = 0x10
--	RTAX_MTU                             = 0x2
--	RTAX_QUICKACK                        = 0xf
--	RTAX_REORDERING                      = 0x9
--	RTAX_RTO_MIN                         = 0xd
--	RTAX_RTT                             = 0x4
--	RTAX_RTTVAR                          = 0x5
--	RTAX_SSTHRESH                        = 0x6
--	RTAX_UNSPEC                          = 0x0
--	RTAX_WINDOW                          = 0x3
--	RTA_ALIGNTO                          = 0x4
--	RTA_MAX                              = 0x19
--	RTCF_DIRECTSRC                       = 0x4000000
--	RTCF_DOREDIRECT                      = 0x1000000
--	RTCF_LOG                             = 0x2000000
--	RTCF_MASQ                            = 0x400000
--	RTCF_NAT                             = 0x800000
--	RTCF_VALVE                           = 0x200000
--	RTF_ADDRCLASSMASK                    = 0xf8000000
--	RTF_ADDRCONF                         = 0x40000
--	RTF_ALLONLINK                        = 0x20000
--	RTF_BROADCAST                        = 0x10000000
--	RTF_CACHE                            = 0x1000000
--	RTF_DEFAULT                          = 0x10000
--	RTF_DYNAMIC                          = 0x10
--	RTF_FLOW                             = 0x2000000
--	RTF_GATEWAY                          = 0x2
--	RTF_HOST                             = 0x4
--	RTF_INTERFACE                        = 0x40000000
--	RTF_IRTT                             = 0x100
--	RTF_LINKRT                           = 0x100000
--	RTF_LOCAL                            = 0x80000000
--	RTF_MODIFIED                         = 0x20
--	RTF_MSS                              = 0x40
--	RTF_MTU                              = 0x40
--	RTF_MULTICAST                        = 0x20000000
--	RTF_NAT                              = 0x8000000
--	RTF_NOFORWARD                        = 0x1000
--	RTF_NONEXTHOP                        = 0x200000
--	RTF_NOPMTUDISC                       = 0x4000
--	RTF_POLICY                           = 0x4000000
--	RTF_REINSTATE                        = 0x8
--	RTF_REJECT                           = 0x200
--	RTF_STATIC                           = 0x400
--	RTF_THROW                            = 0x2000
--	RTF_UP                               = 0x1
--	RTF_WINDOW                           = 0x80
--	RTF_XRESOLVE                         = 0x800
--	RTM_BASE                             = 0x10
--	RTM_DELACTION                        = 0x31
--	RTM_DELADDR                          = 0x15
--	RTM_DELADDRLABEL                     = 0x49
--	RTM_DELLINK                          = 0x11
--	RTM_DELMDB                           = 0x55
--	RTM_DELNEIGH                         = 0x1d
--	RTM_DELNSID                          = 0x59
--	RTM_DELQDISC                         = 0x25
--	RTM_DELROUTE                         = 0x19
--	RTM_DELRULE                          = 0x21
--	RTM_DELTCLASS                        = 0x29
--	RTM_DELTFILTER                       = 0x2d
--	RTM_F_CLONED                         = 0x200
--	RTM_F_EQUALIZE                       = 0x400
--	RTM_F_LOOKUP_TABLE                   = 0x1000
--	RTM_F_NOTIFY                         = 0x100
--	RTM_F_PREFIX                         = 0x800
--	RTM_GETACTION                        = 0x32
--	RTM_GETADDR                          = 0x16
--	RTM_GETADDRLABEL                     = 0x4a
--	RTM_GETANYCAST                       = 0x3e
--	RTM_GETDCB                           = 0x4e
--	RTM_GETLINK                          = 0x12
--	RTM_GETMDB                           = 0x56
--	RTM_GETMULTICAST                     = 0x3a
--	RTM_GETNEIGH                         = 0x1e
--	RTM_GETNEIGHTBL                      = 0x42
--	RTM_GETNETCONF                       = 0x52
--	RTM_GETNSID                          = 0x5a
--	RTM_GETQDISC                         = 0x26
--	RTM_GETROUTE                         = 0x1a
--	RTM_GETRULE                          = 0x22
--	RTM_GETSTATS                         = 0x5e
--	RTM_GETTCLASS                        = 0x2a
--	RTM_GETTFILTER                       = 0x2e
--	RTM_MAX                              = 0x5f
--	RTM_NEWACTION                        = 0x30
--	RTM_NEWADDR                          = 0x14
--	RTM_NEWADDRLABEL                     = 0x48
--	RTM_NEWLINK                          = 0x10
--	RTM_NEWMDB                           = 0x54
--	RTM_NEWNDUSEROPT                     = 0x44
--	RTM_NEWNEIGH                         = 0x1c
--	RTM_NEWNEIGHTBL                      = 0x40
--	RTM_NEWNETCONF                       = 0x50
--	RTM_NEWNSID                          = 0x58
--	RTM_NEWPREFIX                        = 0x34
--	RTM_NEWQDISC                         = 0x24
--	RTM_NEWROUTE                         = 0x18
--	RTM_NEWRULE                          = 0x20
--	RTM_NEWSTATS                         = 0x5c
--	RTM_NEWTCLASS                        = 0x28
--	RTM_NEWTFILTER                       = 0x2c
--	RTM_NR_FAMILIES                      = 0x14
--	RTM_NR_MSGTYPES                      = 0x50
--	RTM_SETDCB                           = 0x4f
--	RTM_SETLINK                          = 0x13
--	RTM_SETNEIGHTBL                      = 0x43
--	RTNH_ALIGNTO                         = 0x4
--	RTNH_COMPARE_MASK                    = 0x19
--	RTNH_F_DEAD                          = 0x1
--	RTNH_F_LINKDOWN                      = 0x10
--	RTNH_F_OFFLOAD                       = 0x8
--	RTNH_F_ONLINK                        = 0x4
--	RTNH_F_PERVASIVE                     = 0x2
--	RTN_MAX                              = 0xb
--	RTPROT_BABEL                         = 0x2a
--	RTPROT_BIRD                          = 0xc
--	RTPROT_BOOT                          = 0x3
--	RTPROT_DHCP                          = 0x10
--	RTPROT_DNROUTED                      = 0xd
--	RTPROT_GATED                         = 0x8
--	RTPROT_KERNEL                        = 0x2
--	RTPROT_MROUTED                       = 0x11
--	RTPROT_MRT                           = 0xa
--	RTPROT_NTK                           = 0xf
--	RTPROT_RA                            = 0x9
--	RTPROT_REDIRECT                      = 0x1
--	RTPROT_STATIC                        = 0x4
--	RTPROT_UNSPEC                        = 0x0
--	RTPROT_XORP                          = 0xe
--	RTPROT_ZEBRA                         = 0xb
--	RT_CLASS_DEFAULT                     = 0xfd
--	RT_CLASS_LOCAL                       = 0xff
--	RT_CLASS_MAIN                        = 0xfe
--	RT_CLASS_MAX                         = 0xff
--	RT_CLASS_UNSPEC                      = 0x0
--	RUSAGE_CHILDREN                      = -0x1
--	RUSAGE_SELF                          = 0x0
--	RUSAGE_THREAD                        = 0x1
--	SCM_CREDENTIALS                      = 0x2
--	SCM_RIGHTS                           = 0x1
--	SCM_TIMESTAMP                        = 0x1d
--	SCM_TIMESTAMPING                     = 0x25
--	SCM_TIMESTAMPING_OPT_STATS           = 0x36
--	SCM_TIMESTAMPNS                      = 0x23
--	SCM_WIFI_STATUS                      = 0x29
--	SECCOMP_MODE_DISABLED                = 0x0
--	SECCOMP_MODE_FILTER                  = 0x2
--	SECCOMP_MODE_STRICT                  = 0x1
--	SHUT_RD                              = 0x0
--	SHUT_RDWR                            = 0x2
--	SHUT_WR                              = 0x1
--	SIOCADDDLCI                          = 0x8980
--	SIOCADDMULTI                         = 0x8931
--	SIOCADDRT                            = 0x890b
--	SIOCATMARK                           = 0x40047307
--	SIOCBONDCHANGEACTIVE                 = 0x8995
--	SIOCBONDENSLAVE                      = 0x8990
--	SIOCBONDINFOQUERY                    = 0x8994
--	SIOCBONDRELEASE                      = 0x8991
--	SIOCBONDSETHWADDR                    = 0x8992
--	SIOCBONDSLAVEINFOQUERY               = 0x8993
--	SIOCBRADDBR                          = 0x89a0
--	SIOCBRADDIF                          = 0x89a2
--	SIOCBRDELBR                          = 0x89a1
--	SIOCBRDELIF                          = 0x89a3
--	SIOCDARP                             = 0x8953
--	SIOCDELDLCI                          = 0x8981
--	SIOCDELMULTI                         = 0x8932
--	SIOCDELRT                            = 0x890c
--	SIOCDEVPRIVATE                       = 0x89f0
--	SIOCDIFADDR                          = 0x8936
--	SIOCDRARP                            = 0x8960
--	SIOCETHTOOL                          = 0x8946
--	SIOCGARP                             = 0x8954
--	SIOCGHWTSTAMP                        = 0x89b1
--	SIOCGIFADDR                          = 0x8915
--	SIOCGIFBR                            = 0x8940
--	SIOCGIFBRDADDR                       = 0x8919
--	SIOCGIFCONF                          = 0x8912
--	SIOCGIFCOUNT                         = 0x8938
--	SIOCGIFDSTADDR                       = 0x8917
--	SIOCGIFENCAP                         = 0x8925
--	SIOCGIFFLAGS                         = 0x8913
--	SIOCGIFHWADDR                        = 0x8927
--	SIOCGIFINDEX                         = 0x8933
--	SIOCGIFMAP                           = 0x8970
--	SIOCGIFMEM                           = 0x891f
--	SIOCGIFMETRIC                        = 0x891d
--	SIOCGIFMTU                           = 0x8921
--	SIOCGIFNAME                          = 0x8910
--	SIOCGIFNETMASK                       = 0x891b
--	SIOCGIFPFLAGS                        = 0x8935
--	SIOCGIFSLAVE                         = 0x8929
--	SIOCGIFTXQLEN                        = 0x8942
--	SIOCGIFVLAN                          = 0x8982
--	SIOCGMIIPHY                          = 0x8947
--	SIOCGMIIREG                          = 0x8948
--	SIOCGPGRP                            = 0x40047309
--	SIOCGRARP                            = 0x8961
--	SIOCGSKNS                            = 0x894c
--	SIOCGSTAMP                           = 0x8906
--	SIOCGSTAMPNS                         = 0x8907
--	SIOCINQ                              = 0x467f
--	SIOCOUTQ                             = 0x7472
--	SIOCOUTQNSD                          = 0x894b
--	SIOCPROTOPRIVATE                     = 0x89e0
--	SIOCRTMSG                            = 0x890d
--	SIOCSARP                             = 0x8955
--	SIOCSHWTSTAMP                        = 0x89b0
--	SIOCSIFADDR                          = 0x8916
--	SIOCSIFBR                            = 0x8941
--	SIOCSIFBRDADDR                       = 0x891a
--	SIOCSIFDSTADDR                       = 0x8918
--	SIOCSIFENCAP                         = 0x8926
--	SIOCSIFFLAGS                         = 0x8914
--	SIOCSIFHWADDR                        = 0x8924
--	SIOCSIFHWBROADCAST                   = 0x8937
--	SIOCSIFLINK                          = 0x8911
--	SIOCSIFMAP                           = 0x8971
--	SIOCSIFMEM                           = 0x8920
--	SIOCSIFMETRIC                        = 0x891e
--	SIOCSIFMTU                           = 0x8922
--	SIOCSIFNAME                          = 0x8923
--	SIOCSIFNETMASK                       = 0x891c
--	SIOCSIFPFLAGS                        = 0x8934
--	SIOCSIFSLAVE                         = 0x8930
--	SIOCSIFTXQLEN                        = 0x8943
--	SIOCSIFVLAN                          = 0x8983
--	SIOCSMIIREG                          = 0x8949
--	SIOCSPGRP                            = 0x80047308
--	SIOCSRARP                            = 0x8962
--	SIOCWANDEV                           = 0x894a
--	SOCK_CLOEXEC                         = 0x80000
--	SOCK_DCCP                            = 0x6
--	SOCK_DGRAM                           = 0x1
--	SOCK_IOC_TYPE                        = 0x89
--	SOCK_NONBLOCK                        = 0x80
--	SOCK_PACKET                          = 0xa
--	SOCK_RAW                             = 0x3
--	SOCK_RDM                             = 0x4
--	SOCK_SEQPACKET                       = 0x5
--	SOCK_STREAM                          = 0x2
--	SOL_AAL                              = 0x109
--	SOL_ALG                              = 0x117
--	SOL_ATM                              = 0x108
--	SOL_CAIF                             = 0x116
--	SOL_CAN_BASE                         = 0x64
--	SOL_DCCP                             = 0x10d
--	SOL_DECNET                           = 0x105
--	SOL_ICMPV6                           = 0x3a
--	SOL_IP                               = 0x0
--	SOL_IPV6                             = 0x29
--	SOL_IRDA                             = 0x10a
--	SOL_IUCV                             = 0x115
--	SOL_KCM                              = 0x119
--	SOL_LLC                              = 0x10c
--	SOL_NETBEUI                          = 0x10b
--	SOL_NETLINK                          = 0x10e
--	SOL_NFC                              = 0x118
--	SOL_PACKET                           = 0x107
--	SOL_PNPIPE                           = 0x113
--	SOL_PPPOL2TP                         = 0x111
--	SOL_RAW                              = 0xff
--	SOL_RDS                              = 0x114
--	SOL_RXRPC                            = 0x110
--	SOL_SOCKET                           = 0xffff
--	SOL_TCP                              = 0x6
--	SOL_TIPC                             = 0x10f
--	SOL_X25                              = 0x106
--	SOMAXCONN                            = 0x80
--	SO_ACCEPTCONN                        = 0x1009
--	SO_ATTACH_BPF                        = 0x32
--	SO_ATTACH_FILTER                     = 0x1a
--	SO_ATTACH_REUSEPORT_CBPF             = 0x33
--	SO_ATTACH_REUSEPORT_EBPF             = 0x34
--	SO_BINDTODEVICE                      = 0x19
--	SO_BPF_EXTENSIONS                    = 0x30
--	SO_BROADCAST                         = 0x20
--	SO_BSDCOMPAT                         = 0xe
--	SO_BUSY_POLL                         = 0x2e
--	SO_CNX_ADVICE                        = 0x35
--	SO_DEBUG                             = 0x1
--	SO_DETACH_BPF                        = 0x1b
--	SO_DETACH_FILTER                     = 0x1b
--	SO_DOMAIN                            = 0x1029
--	SO_DONTROUTE                         = 0x10
--	SO_ERROR                             = 0x1007
--	SO_GET_FILTER                        = 0x1a
--	SO_INCOMING_CPU                      = 0x31
--	SO_KEEPALIVE                         = 0x8
--	SO_LINGER                            = 0x80
--	SO_LOCK_FILTER                       = 0x2c
--	SO_MARK                              = 0x24
--	SO_MAX_PACING_RATE                   = 0x2f
--	SO_NOFCS                             = 0x2b
--	SO_NO_CHECK                          = 0xb
--	SO_OOBINLINE                         = 0x100
--	SO_PASSCRED                          = 0x11
--	SO_PASSSEC                           = 0x22
--	SO_PEEK_OFF                          = 0x2a
--	SO_PEERCRED                          = 0x12
--	SO_PEERNAME                          = 0x1c
--	SO_PEERSEC                           = 0x1e
--	SO_PRIORITY                          = 0xc
--	SO_PROTOCOL                          = 0x1028
--	SO_RCVBUF                            = 0x1002
--	SO_RCVBUFFORCE                       = 0x21
--	SO_RCVLOWAT                          = 0x1004
--	SO_RCVTIMEO                          = 0x1006
--	SO_REUSEADDR                         = 0x4
--	SO_REUSEPORT                         = 0x200
--	SO_RXQ_OVFL                          = 0x28
--	SO_SECURITY_AUTHENTICATION           = 0x16
--	SO_SECURITY_ENCRYPTION_NETWORK       = 0x18
--	SO_SECURITY_ENCRYPTION_TRANSPORT     = 0x17
--	SO_SELECT_ERR_QUEUE                  = 0x2d
--	SO_SNDBUF                            = 0x1001
--	SO_SNDBUFFORCE                       = 0x1f
--	SO_SNDLOWAT                          = 0x1003
--	SO_SNDTIMEO                          = 0x1005
--	SO_STYLE                             = 0x1008
--	SO_TIMESTAMP                         = 0x1d
--	SO_TIMESTAMPING                      = 0x25
--	SO_TIMESTAMPNS                       = 0x23
--	SO_TYPE                              = 0x1008
--	SO_VM_SOCKETS_BUFFER_MAX_SIZE        = 0x2
--	SO_VM_SOCKETS_BUFFER_MIN_SIZE        = 0x1
--	SO_VM_SOCKETS_BUFFER_SIZE            = 0x0
--	SO_VM_SOCKETS_CONNECT_TIMEOUT        = 0x6
--	SO_VM_SOCKETS_NONBLOCK_TXRX          = 0x7
--	SO_VM_SOCKETS_PEER_HOST_VM_ID        = 0x3
--	SO_VM_SOCKETS_TRUSTED                = 0x5
--	SO_WIFI_STATUS                       = 0x29
--	SPLICE_F_GIFT                        = 0x8
--	SPLICE_F_MORE                        = 0x4
--	SPLICE_F_MOVE                        = 0x1
--	SPLICE_F_NONBLOCK                    = 0x2
--	S_BLKSIZE                            = 0x200
--	S_IEXEC                              = 0x40
--	S_IFBLK                              = 0x6000
--	S_IFCHR                              = 0x2000
--	S_IFDIR                              = 0x4000
--	S_IFIFO                              = 0x1000
--	S_IFLNK                              = 0xa000
--	S_IFMT                               = 0xf000
--	S_IFREG                              = 0x8000
--	S_IFSOCK                             = 0xc000
--	S_IREAD                              = 0x100
--	S_IRGRP                              = 0x20
--	S_IROTH                              = 0x4
--	S_IRUSR                              = 0x100
--	S_IRWXG                              = 0x38
--	S_IRWXO                              = 0x7
--	S_IRWXU                              = 0x1c0
--	S_ISGID                              = 0x400
--	S_ISUID                              = 0x800
--	S_ISVTX                              = 0x200
--	S_IWGRP                              = 0x10
--	S_IWOTH                              = 0x2
--	S_IWRITE                             = 0x80
--	S_IWUSR                              = 0x80
--	S_IXGRP                              = 0x8
--	S_IXOTH                              = 0x1
--	S_IXUSR                              = 0x40
--	TAB0                                 = 0x0
--	TAB1                                 = 0x800
--	TAB2                                 = 0x1000
--	TAB3                                 = 0x1800
--	TABDLY                               = 0x1800
--	TASKSTATS_CMD_ATTR_MAX               = 0x4
--	TASKSTATS_CMD_MAX                    = 0x2
--	TASKSTATS_GENL_NAME                  = "TASKSTATS"
--	TASKSTATS_GENL_VERSION               = 0x1
--	TASKSTATS_TYPE_MAX                   = 0x6
--	TASKSTATS_VERSION                    = 0x8
--	TCFLSH                               = 0x5407
--	TCGETA                               = 0x5401
--	TCGETS                               = 0x540d
--	TCGETS2                              = 0x4030542a
--	TCIFLUSH                             = 0x0
--	TCIOFF                               = 0x2
--	TCIOFLUSH                            = 0x2
--	TCION                                = 0x3
--	TCOFLUSH                             = 0x1
--	TCOOFF                               = 0x0
--	TCOON                                = 0x1
--	TCP_CC_INFO                          = 0x1a
--	TCP_CONGESTION                       = 0xd
--	TCP_COOKIE_IN_ALWAYS                 = 0x1
--	TCP_COOKIE_MAX                       = 0x10
--	TCP_COOKIE_MIN                       = 0x8
--	TCP_COOKIE_OUT_NEVER                 = 0x2
--	TCP_COOKIE_PAIR_SIZE                 = 0x20
--	TCP_COOKIE_TRANSACTIONS              = 0xf
--	TCP_CORK                             = 0x3
--	TCP_DEFER_ACCEPT                     = 0x9
--	TCP_FASTOPEN                         = 0x17
--	TCP_INFO                             = 0xb
--	TCP_KEEPCNT                          = 0x6
--	TCP_KEEPIDLE                         = 0x4
--	TCP_KEEPINTVL                        = 0x5
--	TCP_LINGER2                          = 0x8
--	TCP_MAXSEG                           = 0x2
--	TCP_MAXWIN                           = 0xffff
--	TCP_MAX_WINSHIFT                     = 0xe
--	TCP_MD5SIG                           = 0xe
--	TCP_MD5SIG_MAXKEYLEN                 = 0x50
--	TCP_MSS                              = 0x200
--	TCP_MSS_DEFAULT                      = 0x218
--	TCP_MSS_DESIRED                      = 0x4c4
--	TCP_NODELAY                          = 0x1
--	TCP_NOTSENT_LOWAT                    = 0x19
--	TCP_QUEUE_SEQ                        = 0x15
--	TCP_QUICKACK                         = 0xc
--	TCP_REPAIR                           = 0x13
--	TCP_REPAIR_OPTIONS                   = 0x16
--	TCP_REPAIR_QUEUE                     = 0x14
--	TCP_REPAIR_WINDOW                    = 0x1d
--	TCP_SAVED_SYN                        = 0x1c
--	TCP_SAVE_SYN                         = 0x1b
--	TCP_SYNCNT                           = 0x7
--	TCP_S_DATA_IN                        = 0x4
--	TCP_S_DATA_OUT                       = 0x8
--	TCP_THIN_DUPACK                      = 0x11
--	TCP_THIN_LINEAR_TIMEOUTS             = 0x10
--	TCP_TIMESTAMP                        = 0x18
--	TCP_USER_TIMEOUT                     = 0x12
--	TCP_WINDOW_CLAMP                     = 0xa
--	TCSAFLUSH                            = 0x5410
--	TCSBRK                               = 0x5405
--	TCSBRKP                              = 0x5486
--	TCSETA                               = 0x5402
--	TCSETAF                              = 0x5404
--	TCSETAW                              = 0x5403
--	TCSETS                               = 0x540e
--	TCSETS2                              = 0x8030542b
--	TCSETSF                              = 0x5410
--	TCSETSF2                             = 0x8030542d
--	TCSETSW                              = 0x540f
--	TCSETSW2                             = 0x8030542c
--	TCXONC                               = 0x5406
--	TIOCCBRK                             = 0x5428
--	TIOCCONS                             = 0x80047478
--	TIOCEXCL                             = 0x740d
--	TIOCGDEV                             = 0x40045432
--	TIOCGETD                             = 0x7400
--	TIOCGETP                             = 0x7408
--	TIOCGEXCL                            = 0x40045440
--	TIOCGICOUNT                          = 0x5492
--	TIOCGLCKTRMIOS                       = 0x548b
--	TIOCGLTC                             = 0x7474
--	TIOCGPGRP                            = 0x40047477
--	TIOCGPKT                             = 0x40045438
--	TIOCGPTLCK                           = 0x40045439
--	TIOCGPTN                             = 0x40045430
--	TIOCGRS485                           = 0x4020542e
--	TIOCGSERIAL                          = 0x5484
--	TIOCGSID                             = 0x7416
--	TIOCGSOFTCAR                         = 0x5481
--	TIOCGWINSZ                           = 0x40087468
--	TIOCINQ                              = 0x467f
--	TIOCLINUX                            = 0x5483
--	TIOCMBIC                             = 0x741c
--	TIOCMBIS                             = 0x741b
--	TIOCMGET                             = 0x741d
--	TIOCMIWAIT                           = 0x5491
--	TIOCMSET                             = 0x741a
--	TIOCM_CAR                            = 0x100
--	TIOCM_CD                             = 0x100
--	TIOCM_CTS                            = 0x40
--	TIOCM_DSR                            = 0x400
--	TIOCM_DTR                            = 0x2
--	TIOCM_LE                             = 0x1
--	TIOCM_RI                             = 0x200
--	TIOCM_RNG                            = 0x200
--	TIOCM_RTS                            = 0x4
--	TIOCM_SR                             = 0x20
--	TIOCM_ST                             = 0x10
--	TIOCNOTTY                            = 0x5471
--	TIOCNXCL                             = 0x740e
--	TIOCOUTQ                             = 0x7472
--	TIOCPKT                              = 0x5470
--	TIOCPKT_DATA                         = 0x0
--	TIOCPKT_DOSTOP                       = 0x20
--	TIOCPKT_FLUSHREAD                    = 0x1
--	TIOCPKT_FLUSHWRITE                   = 0x2
--	TIOCPKT_IOCTL                        = 0x40
--	TIOCPKT_NOSTOP                       = 0x10
--	TIOCPKT_START                        = 0x8
--	TIOCPKT_STOP                         = 0x4
--	TIOCSBRK                             = 0x5427
--	TIOCSCTTY                            = 0x5480
--	TIOCSERCONFIG                        = 0x5488
--	TIOCSERGETLSR                        = 0x548e
--	TIOCSERGETMULTI                      = 0x548f
--	TIOCSERGSTRUCT                       = 0x548d
--	TIOCSERGWILD                         = 0x5489
--	TIOCSERSETMULTI                      = 0x5490
--	TIOCSERSWILD                         = 0x548a
--	TIOCSER_TEMT                         = 0x1
--	TIOCSETD                             = 0x7401
--	TIOCSETN                             = 0x740a
--	TIOCSETP                             = 0x7409
--	TIOCSIG                              = 0x80045436
--	TIOCSLCKTRMIOS                       = 0x548c
--	TIOCSLTC                             = 0x7475
--	TIOCSPGRP                            = 0x80047476
--	TIOCSPTLCK                           = 0x80045431
--	TIOCSRS485                           = 0xc020542f
--	TIOCSSERIAL                          = 0x5485
--	TIOCSSOFTCAR                         = 0x5482
--	TIOCSTI                              = 0x5472
--	TIOCSWINSZ                           = 0x80087467
--	TIOCVHANGUP                          = 0x5437
--	TOSTOP                               = 0x8000
--	TS_COMM_LEN                          = 0x20
--	TUNATTACHFILTER                      = 0x801054d5
--	TUNDETACHFILTER                      = 0x801054d6
--	TUNGETFEATURES                       = 0x400454cf
--	TUNGETFILTER                         = 0x401054db
--	TUNGETIFF                            = 0x400454d2
--	TUNGETSNDBUF                         = 0x400454d3
--	TUNGETVNETBE                         = 0x400454df
--	TUNGETVNETHDRSZ                      = 0x400454d7
--	TUNGETVNETLE                         = 0x400454dd
--	TUNSETDEBUG                          = 0x800454c9
--	TUNSETGROUP                          = 0x800454ce
--	TUNSETIFF                            = 0x800454ca
--	TUNSETIFINDEX                        = 0x800454da
--	TUNSETLINK                           = 0x800454cd
--	TUNSETNOCSUM                         = 0x800454c8
--	TUNSETOFFLOAD                        = 0x800454d0
--	TUNSETOWNER                          = 0x800454cc
--	TUNSETPERSIST                        = 0x800454cb
--	TUNSETQUEUE                          = 0x800454d9
--	TUNSETSNDBUF                         = 0x800454d4
--	TUNSETTXFILTER                       = 0x800454d1
--	TUNSETVNETBE                         = 0x800454de
--	TUNSETVNETHDRSZ                      = 0x800454d8
--	TUNSETVNETLE                         = 0x800454dc
--	UMOUNT_NOFOLLOW                      = 0x8
--	VDISCARD                             = 0xd
--	VEOF                                 = 0x10
--	VEOL                                 = 0x11
--	VEOL2                                = 0x6
--	VERASE                               = 0x2
--	VINTR                                = 0x0
--	VKILL                                = 0x3
--	VLNEXT                               = 0xf
--	VMADDR_CID_ANY                       = 0xffffffff
--	VMADDR_CID_HOST                      = 0x2
--	VMADDR_CID_HYPERVISOR                = 0x0
--	VMADDR_CID_RESERVED                  = 0x1
--	VMADDR_PORT_ANY                      = 0xffffffff
--	VMIN                                 = 0x4
--	VM_SOCKETS_INVALID_VERSION           = 0xffffffff
--	VQUIT                                = 0x1
--	VREPRINT                             = 0xc
--	VSTART                               = 0x8
--	VSTOP                                = 0x9
--	VSUSP                                = 0xa
--	VSWTC                                = 0x7
--	VSWTCH                               = 0x7
--	VT0                                  = 0x0
--	VT1                                  = 0x4000
--	VTDLY                                = 0x4000
--	VTIME                                = 0x5
--	VWERASE                              = 0xe
--	WALL                                 = 0x40000000
--	WCLONE                               = 0x80000000
--	WCONTINUED                           = 0x8
--	WEXITED                              = 0x4
--	WNOHANG                              = 0x1
--	WNOTHREAD                            = 0x20000000
--	WNOWAIT                              = 0x1000000
--	WORDSIZE                             = 0x40
--	WSTOPPED                             = 0x2
--	WUNTRACED                            = 0x2
--	XATTR_CREATE                         = 0x1
--	XATTR_REPLACE                        = 0x2
--	XCASE                                = 0x4
--	XTABS                                = 0x1800
-+	B1000000                         = 0x1008
-+	B115200                          = 0x1002
-+	B1152000                         = 0x1009
-+	B1500000                         = 0x100a
-+	B2000000                         = 0x100b
-+	B230400                          = 0x1003
-+	B2500000                         = 0x100c
-+	B3000000                         = 0x100d
-+	B3500000                         = 0x100e
-+	B4000000                         = 0x100f
-+	B460800                          = 0x1004
-+	B500000                          = 0x1005
-+	B57600                           = 0x1001
-+	B576000                          = 0x1006
-+	B921600                          = 0x1007
-+	BLKBSZGET                        = 0x40081270
-+	BLKBSZSET                        = 0x80081271
-+	BLKFLSBUF                        = 0x20001261
-+	BLKFRAGET                        = 0x20001265
-+	BLKFRASET                        = 0x20001264
-+	BLKGETSIZE                       = 0x20001260
-+	BLKGETSIZE64                     = 0x40081272
-+	BLKPBSZGET                       = 0x2000127b
-+	BLKRAGET                         = 0x20001263
-+	BLKRASET                         = 0x20001262
-+	BLKROGET                         = 0x2000125e
-+	BLKROSET                         = 0x2000125d
-+	BLKRRPART                        = 0x2000125f
-+	BLKSECTGET                       = 0x20001267
-+	BLKSECTSET                       = 0x20001266
-+	BLKSSZGET                        = 0x20001268
-+	BOTHER                           = 0x1000
-+	BS1                              = 0x2000
-+	BSDLY                            = 0x2000
-+	CBAUD                            = 0x100f
-+	CBAUDEX                          = 0x1000
-+	CIBAUD                           = 0x100f0000
-+	CLOCAL                           = 0x800
-+	CR1                              = 0x200
-+	CR2                              = 0x400
-+	CR3                              = 0x600
-+	CRDLY                            = 0x600
-+	CREAD                            = 0x80
-+	CS6                              = 0x10
-+	CS7                              = 0x20
-+	CS8                              = 0x30
-+	CSIZE                            = 0x30
-+	CSTOPB                           = 0x40
-+	ECHOCTL                          = 0x200
-+	ECHOE                            = 0x10
-+	ECHOK                            = 0x20
-+	ECHOKE                           = 0x800
-+	ECHONL                           = 0x40
-+	ECHOPRT                          = 0x400
-+	EFD_CLOEXEC                      = 0x80000
-+	EFD_NONBLOCK                     = 0x80
-+	EPOLL_CLOEXEC                    = 0x80000
-+	EXTPROC                          = 0x10000
-+	FF1                              = 0x8000
-+	FFDLY                            = 0x8000
-+	FLUSHO                           = 0x2000
-+	FS_IOC_ENABLE_VERITY             = 0x80806685
-+	FS_IOC_GETFLAGS                  = 0x40086601
-+	FS_IOC_GET_ENCRYPTION_POLICY     = 0x800c6615
-+	FS_IOC_GET_ENCRYPTION_PWSALT     = 0x80106614
-+	FS_IOC_SET_ENCRYPTION_POLICY     = 0x400c6613
-+	F_GETLK                          = 0xe
-+	F_GETLK64                        = 0xe
-+	F_GETOWN                         = 0x17
-+	F_RDLCK                          = 0x0
-+	F_SETLK                          = 0x6
-+	F_SETLK64                        = 0x6
-+	F_SETLKW                         = 0x7
-+	F_SETLKW64                       = 0x7
-+	F_SETOWN                         = 0x18
-+	F_UNLCK                          = 0x2
-+	F_WRLCK                          = 0x1
-+	HUPCL                            = 0x400
-+	ICANON                           = 0x2
-+	IEXTEN                           = 0x100
-+	IN_CLOEXEC                       = 0x80000
-+	IN_NONBLOCK                      = 0x80
-+	IOCTL_VM_SOCKETS_GET_LOCAL_CID   = 0x200007b9
-+	ISIG                             = 0x1
-+	IUCLC                            = 0x200
-+	IXOFF                            = 0x1000
-+	IXON                             = 0x400
-+	MAP_ANON                         = 0x800
-+	MAP_ANONYMOUS                    = 0x800
-+	MAP_DENYWRITE                    = 0x2000
-+	MAP_EXECUTABLE                   = 0x4000
-+	MAP_GROWSDOWN                    = 0x1000
-+	MAP_HUGETLB                      = 0x80000
-+	MAP_LOCKED                       = 0x8000
-+	MAP_NONBLOCK                     = 0x20000
-+	MAP_NORESERVE                    = 0x400
-+	MAP_POPULATE                     = 0x10000
-+	MAP_RENAME                       = 0x800
-+	MAP_STACK                        = 0x40000
-+	MCL_CURRENT                      = 0x1
-+	MCL_FUTURE                       = 0x2
-+	MCL_ONFAULT                      = 0x4
-+	NFDBITS                          = 0x40
-+	NLDLY                            = 0x100
-+	NOFLSH                           = 0x80
-+	NS_GET_NSTYPE                    = 0x2000b703
-+	NS_GET_OWNER_UID                 = 0x2000b704
-+	NS_GET_PARENT                    = 0x2000b702
-+	NS_GET_USERNS                    = 0x2000b701
-+	OLCUC                            = 0x2
-+	ONLCR                            = 0x4
-+	O_APPEND                         = 0x8
-+	O_ASYNC                          = 0x1000
-+	O_CLOEXEC                        = 0x80000
-+	O_CREAT                          = 0x100
-+	O_DIRECT                         = 0x8000
-+	O_DIRECTORY                      = 0x10000
-+	O_DSYNC                          = 0x10
-+	O_EXCL                           = 0x400
-+	O_FSYNC                          = 0x4010
-+	O_LARGEFILE                      = 0x0
-+	O_NDELAY                         = 0x80
-+	O_NOATIME                        = 0x40000
-+	O_NOCTTY                         = 0x800
-+	O_NOFOLLOW                       = 0x20000
-+	O_NONBLOCK                       = 0x80
-+	O_PATH                           = 0x200000
-+	O_RSYNC                          = 0x4010
-+	O_SYNC                           = 0x4010
-+	O_TMPFILE                        = 0x410000
-+	O_TRUNC                          = 0x200
-+	PARENB                           = 0x100
-+	PARODD                           = 0x200
-+	PENDIN                           = 0x4000
-+	PERF_EVENT_IOC_DISABLE           = 0x20002401
-+	PERF_EVENT_IOC_ENABLE            = 0x20002400
-+	PERF_EVENT_IOC_ID                = 0x40082407
-+	PERF_EVENT_IOC_MODIFY_ATTRIBUTES = 0x8008240b
-+	PERF_EVENT_IOC_PAUSE_OUTPUT      = 0x80042409
-+	PERF_EVENT_IOC_PERIOD            = 0x80082404
-+	PERF_EVENT_IOC_QUERY_BPF         = 0xc008240a
-+	PERF_EVENT_IOC_REFRESH           = 0x20002402
-+	PERF_EVENT_IOC_RESET             = 0x20002403
-+	PERF_EVENT_IOC_SET_BPF           = 0x80042408
-+	PERF_EVENT_IOC_SET_FILTER        = 0x80082406
-+	PERF_EVENT_IOC_SET_OUTPUT        = 0x20002405
-+	PPPIOCATTACH                     = 0x8004743d
-+	PPPIOCATTCHAN                    = 0x80047438
-+	PPPIOCCONNECT                    = 0x8004743a
-+	PPPIOCDETACH                     = 0x8004743c
-+	PPPIOCDISCONN                    = 0x20007439
-+	PPPIOCGASYNCMAP                  = 0x40047458
-+	PPPIOCGCHAN                      = 0x40047437
-+	PPPIOCGDEBUG                     = 0x40047441
-+	PPPIOCGFLAGS                     = 0x4004745a
-+	PPPIOCGIDLE                      = 0x4010743f
-+	PPPIOCGIDLE32                    = 0x4008743f
-+	PPPIOCGIDLE64                    = 0x4010743f
-+	PPPIOCGL2TPSTATS                 = 0x40487436
-+	PPPIOCGMRU                       = 0x40047453
-+	PPPIOCGRASYNCMAP                 = 0x40047455
-+	PPPIOCGUNIT                      = 0x40047456
-+	PPPIOCGXASYNCMAP                 = 0x40207450
-+	PPPIOCSACTIVE                    = 0x80107446
-+	PPPIOCSASYNCMAP                  = 0x80047457
-+	PPPIOCSCOMPRESS                  = 0x8010744d
-+	PPPIOCSDEBUG                     = 0x80047440
-+	PPPIOCSFLAGS                     = 0x80047459
-+	PPPIOCSMAXCID                    = 0x80047451
-+	PPPIOCSMRRU                      = 0x8004743b
-+	PPPIOCSMRU                       = 0x80047452
-+	PPPIOCSNPMODE                    = 0x8008744b
-+	PPPIOCSPASS                      = 0x80107447
-+	PPPIOCSRASYNCMAP                 = 0x80047454
-+	PPPIOCSXASYNCMAP                 = 0x8020744f
-+	PPPIOCXFERUNIT                   = 0x2000744e
-+	PR_SET_PTRACER_ANY               = 0xffffffffffffffff
-+	PTRACE_GETFPREGS                 = 0xe
-+	PTRACE_GET_THREAD_AREA           = 0x19
-+	PTRACE_GET_THREAD_AREA_3264      = 0xc4
-+	PTRACE_GET_WATCH_REGS            = 0xd0
-+	PTRACE_OLDSETOPTIONS             = 0x15
-+	PTRACE_PEEKDATA_3264             = 0xc1
-+	PTRACE_PEEKTEXT_3264             = 0xc0
-+	PTRACE_POKEDATA_3264             = 0xc3
-+	PTRACE_POKETEXT_3264             = 0xc2
-+	PTRACE_SETFPREGS                 = 0xf
-+	PTRACE_SET_THREAD_AREA           = 0x1a
-+	PTRACE_SET_WATCH_REGS            = 0xd1
-+	RLIMIT_AS                        = 0x6
-+	RLIMIT_MEMLOCK                   = 0x9
-+	RLIMIT_NOFILE                    = 0x5
-+	RLIMIT_NPROC                     = 0x8
-+	RLIMIT_RSS                       = 0x7
-+	RNDADDENTROPY                    = 0x80085203
-+	RNDADDTOENTCNT                   = 0x80045201
-+	RNDCLEARPOOL                     = 0x20005206
-+	RNDGETENTCNT                     = 0x40045200
-+	RNDGETPOOL                       = 0x40085202
-+	RNDRESEEDCRNG                    = 0x20005207
-+	RNDZAPENTCNT                     = 0x20005204
-+	RTC_AIE_OFF                      = 0x20007002
-+	RTC_AIE_ON                       = 0x20007001
-+	RTC_ALM_READ                     = 0x40247008
-+	RTC_ALM_SET                      = 0x80247007
-+	RTC_EPOCH_READ                   = 0x4008700d
-+	RTC_EPOCH_SET                    = 0x8008700e
-+	RTC_IRQP_READ                    = 0x4008700b
-+	RTC_IRQP_SET                     = 0x8008700c
-+	RTC_PIE_OFF                      = 0x20007006
-+	RTC_PIE_ON                       = 0x20007005
-+	RTC_PLL_GET                      = 0x40207011
-+	RTC_PLL_SET                      = 0x80207012
-+	RTC_RD_TIME                      = 0x40247009
-+	RTC_SET_TIME                     = 0x8024700a
-+	RTC_UIE_OFF                      = 0x20007004
-+	RTC_UIE_ON                       = 0x20007003
-+	RTC_VL_CLR                       = 0x20007014
-+	RTC_VL_READ                      = 0x40047013
-+	RTC_WIE_OFF                      = 0x20007010
-+	RTC_WIE_ON                       = 0x2000700f
-+	RTC_WKALM_RD                     = 0x40287010
-+	RTC_WKALM_SET                    = 0x8028700f
-+	SCM_TIMESTAMPING                 = 0x25
-+	SCM_TIMESTAMPING_OPT_STATS       = 0x36
-+	SCM_TIMESTAMPING_PKTINFO         = 0x3a
-+	SCM_TIMESTAMPNS                  = 0x23
-+	SCM_TXTIME                       = 0x3d
-+	SCM_WIFI_STATUS                  = 0x29
-+	SFD_CLOEXEC                      = 0x80000
-+	SFD_NONBLOCK                     = 0x80
-+	SIOCATMARK                       = 0x40047307
-+	SIOCGPGRP                        = 0x40047309
-+	SIOCGSTAMPNS_NEW                 = 0x40108907
-+	SIOCGSTAMP_NEW                   = 0x40108906
-+	SIOCINQ                          = 0x467f
-+	SIOCOUTQ                         = 0x7472
-+	SIOCSPGRP                        = 0x80047308
-+	SOCK_CLOEXEC                     = 0x80000
-+	SOCK_DGRAM                       = 0x1
-+	SOCK_NONBLOCK                    = 0x80
-+	SOCK_STREAM                      = 0x2
-+	SOL_SOCKET                       = 0xffff
-+	SO_ACCEPTCONN                    = 0x1009
-+	SO_ATTACH_BPF                    = 0x32
-+	SO_ATTACH_REUSEPORT_CBPF         = 0x33
-+	SO_ATTACH_REUSEPORT_EBPF         = 0x34
-+	SO_BINDTODEVICE                  = 0x19
-+	SO_BINDTOIFINDEX                 = 0x3e
-+	SO_BPF_EXTENSIONS                = 0x30
-+	SO_BROADCAST                     = 0x20
-+	SO_BSDCOMPAT                     = 0xe
-+	SO_BUSY_POLL                     = 0x2e
-+	SO_CNX_ADVICE                    = 0x35
-+	SO_COOKIE                        = 0x39
-+	SO_DETACH_REUSEPORT_BPF          = 0x44
-+	SO_DOMAIN                        = 0x1029
-+	SO_DONTROUTE                     = 0x10
-+	SO_ERROR                         = 0x1007
-+	SO_INCOMING_CPU                  = 0x31
-+	SO_INCOMING_NAPI_ID              = 0x38
-+	SO_KEEPALIVE                     = 0x8
-+	SO_LINGER                        = 0x80
-+	SO_LOCK_FILTER                   = 0x2c
-+	SO_MARK                          = 0x24
-+	SO_MAX_PACING_RATE               = 0x2f
-+	SO_MEMINFO                       = 0x37
-+	SO_NOFCS                         = 0x2b
-+	SO_OOBINLINE                     = 0x100
-+	SO_PASSCRED                      = 0x11
-+	SO_PASSSEC                       = 0x22
-+	SO_PEEK_OFF                      = 0x2a
-+	SO_PEERCRED                      = 0x12
-+	SO_PEERGROUPS                    = 0x3b
-+	SO_PEERSEC                       = 0x1e
-+	SO_PROTOCOL                      = 0x1028
-+	SO_RCVBUF                        = 0x1002
-+	SO_RCVBUFFORCE                   = 0x21
-+	SO_RCVLOWAT                      = 0x1004
-+	SO_RCVTIMEO                      = 0x1006
-+	SO_RCVTIMEO_NEW                  = 0x42
-+	SO_RCVTIMEO_OLD                  = 0x1006
-+	SO_REUSEADDR                     = 0x4
-+	SO_REUSEPORT                     = 0x200
-+	SO_RXQ_OVFL                      = 0x28
-+	SO_SECURITY_AUTHENTICATION       = 0x16
-+	SO_SECURITY_ENCRYPTION_NETWORK   = 0x18
-+	SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17
-+	SO_SELECT_ERR_QUEUE              = 0x2d
-+	SO_SNDBUF                        = 0x1001
-+	SO_SNDBUFFORCE                   = 0x1f
-+	SO_SNDLOWAT                      = 0x1003
-+	SO_SNDTIMEO                      = 0x1005
-+	SO_SNDTIMEO_NEW                  = 0x43
-+	SO_SNDTIMEO_OLD                  = 0x1005
-+	SO_STYLE                         = 0x1008
-+	SO_TIMESTAMPING                  = 0x25
-+	SO_TIMESTAMPING_NEW              = 0x41
-+	SO_TIMESTAMPING_OLD              = 0x25
-+	SO_TIMESTAMPNS                   = 0x23
-+	SO_TIMESTAMPNS_NEW               = 0x40
-+	SO_TIMESTAMPNS_OLD               = 0x23
-+	SO_TIMESTAMP_NEW                 = 0x3f
-+	SO_TXTIME                        = 0x3d
-+	SO_TYPE                          = 0x1008
-+	SO_WIFI_STATUS                   = 0x29
-+	SO_ZEROCOPY                      = 0x3c
-+	TAB1                             = 0x800
-+	TAB2                             = 0x1000
-+	TAB3                             = 0x1800
-+	TABDLY                           = 0x1800
-+	TCFLSH                           = 0x5407
-+	TCGETA                           = 0x5401
-+	TCGETS                           = 0x540d
-+	TCGETS2                          = 0x4030542a
-+	TCSAFLUSH                        = 0x5410
-+	TCSBRK                           = 0x5405
-+	TCSBRKP                          = 0x5486
-+	TCSETA                           = 0x5402
-+	TCSETAF                          = 0x5404
-+	TCSETAW                          = 0x5403
-+	TCSETS                           = 0x540e
-+	TCSETS2                          = 0x8030542b
-+	TCSETSF                          = 0x5410
-+	TCSETSF2                         = 0x8030542d
-+	TCSETSW                          = 0x540f
-+	TCSETSW2                         = 0x8030542c
-+	TCXONC                           = 0x5406
-+	TIOCCBRK                         = 0x5428
-+	TIOCCONS                         = 0x80047478
-+	TIOCEXCL                         = 0x740d
-+	TIOCGDEV                         = 0x40045432
-+	TIOCGETD                         = 0x7400
-+	TIOCGETP                         = 0x7408
-+	TIOCGEXCL                        = 0x40045440
-+	TIOCGICOUNT                      = 0x5492
-+	TIOCGISO7816                     = 0x40285442
-+	TIOCGLCKTRMIOS                   = 0x548b
-+	TIOCGLTC                         = 0x7474
-+	TIOCGPGRP                        = 0x40047477
-+	TIOCGPKT                         = 0x40045438
-+	TIOCGPTLCK                       = 0x40045439
-+	TIOCGPTN                         = 0x40045430
-+	TIOCGPTPEER                      = 0x20005441
-+	TIOCGRS485                       = 0x4020542e
-+	TIOCGSERIAL                      = 0x5484
-+	TIOCGSID                         = 0x7416
-+	TIOCGSOFTCAR                     = 0x5481
-+	TIOCGWINSZ                       = 0x40087468
-+	TIOCINQ                          = 0x467f
-+	TIOCLINUX                        = 0x5483
-+	TIOCMBIC                         = 0x741c
-+	TIOCMBIS                         = 0x741b
-+	TIOCMGET                         = 0x741d
-+	TIOCMIWAIT                       = 0x5491
-+	TIOCMSET                         = 0x741a
-+	TIOCM_CAR                        = 0x100
-+	TIOCM_CD                         = 0x100
-+	TIOCM_CTS                        = 0x40
-+	TIOCM_DSR                        = 0x400
-+	TIOCM_RI                         = 0x200
-+	TIOCM_RNG                        = 0x200
-+	TIOCM_SR                         = 0x20
-+	TIOCM_ST                         = 0x10
-+	TIOCNOTTY                        = 0x5471
-+	TIOCNXCL                         = 0x740e
-+	TIOCOUTQ                         = 0x7472
-+	TIOCPKT                          = 0x5470
-+	TIOCSBRK                         = 0x5427
-+	TIOCSCTTY                        = 0x5480
-+	TIOCSERCONFIG                    = 0x5488
-+	TIOCSERGETLSR                    = 0x548e
-+	TIOCSERGETMULTI                  = 0x548f
-+	TIOCSERGSTRUCT                   = 0x548d
-+	TIOCSERGWILD                     = 0x5489
-+	TIOCSERSETMULTI                  = 0x5490
-+	TIOCSERSWILD                     = 0x548a
-+	TIOCSER_TEMT                     = 0x1
-+	TIOCSETD                         = 0x7401
-+	TIOCSETN                         = 0x740a
-+	TIOCSETP                         = 0x7409
-+	TIOCSIG                          = 0x80045436
-+	TIOCSISO7816                     = 0xc0285443
-+	TIOCSLCKTRMIOS                   = 0x548c
-+	TIOCSLTC                         = 0x7475
-+	TIOCSPGRP                        = 0x80047476
-+	TIOCSPTLCK                       = 0x80045431
-+	TIOCSRS485                       = 0xc020542f
-+	TIOCSSERIAL                      = 0x5485
-+	TIOCSSOFTCAR                     = 0x5482
-+	TIOCSTI                          = 0x5472
-+	TIOCSWINSZ                       = 0x80087467
-+	TIOCVHANGUP                      = 0x5437
-+	TOSTOP                           = 0x8000
-+	TUNATTACHFILTER                  = 0x801054d5
-+	TUNDETACHFILTER                  = 0x801054d6
-+	TUNGETDEVNETNS                   = 0x200054e3
-+	TUNGETFEATURES                   = 0x400454cf
-+	TUNGETFILTER                     = 0x401054db
-+	TUNGETIFF                        = 0x400454d2
-+	TUNGETSNDBUF                     = 0x400454d3
-+	TUNGETVNETBE                     = 0x400454df
-+	TUNGETVNETHDRSZ                  = 0x400454d7
-+	TUNGETVNETLE                     = 0x400454dd
-+	TUNSETCARRIER                    = 0x800454e2
-+	TUNSETDEBUG                      = 0x800454c9
-+	TUNSETFILTEREBPF                 = 0x400454e1
-+	TUNSETGROUP                      = 0x800454ce
-+	TUNSETIFF                        = 0x800454ca
-+	TUNSETIFINDEX                    = 0x800454da
-+	TUNSETLINK                       = 0x800454cd
-+	TUNSETNOCSUM                     = 0x800454c8
-+	TUNSETOFFLOAD                    = 0x800454d0
-+	TUNSETOWNER                      = 0x800454cc
-+	TUNSETPERSIST                    = 0x800454cb
-+	TUNSETQUEUE                      = 0x800454d9
-+	TUNSETSNDBUF                     = 0x800454d4
-+	TUNSETSTEERINGEBPF               = 0x400454e0
-+	TUNSETTXFILTER                   = 0x800454d1
-+	TUNSETVNETBE                     = 0x800454de
-+	TUNSETVNETHDRSZ                  = 0x800454d8
-+	TUNSETVNETLE                     = 0x800454dc
-+	UBI_IOCATT                       = 0x80186f40
-+	UBI_IOCDET                       = 0x80046f41
-+	UBI_IOCEBCH                      = 0x80044f02
-+	UBI_IOCEBER                      = 0x80044f01
-+	UBI_IOCEBISMAP                   = 0x40044f05
-+	UBI_IOCEBMAP                     = 0x80084f03
-+	UBI_IOCEBUNMAP                   = 0x80044f04
-+	UBI_IOCMKVOL                     = 0x80986f00
-+	UBI_IOCRMVOL                     = 0x80046f01
-+	UBI_IOCRNVOL                     = 0x91106f03
-+	UBI_IOCRPEB                      = 0x80046f04
-+	UBI_IOCRSVOL                     = 0x800c6f02
-+	UBI_IOCSETVOLPROP                = 0x80104f06
-+	UBI_IOCSPEB                      = 0x80046f05
-+	UBI_IOCVOLCRBLK                  = 0x80804f07
-+	UBI_IOCVOLRMBLK                  = 0x20004f08
-+	UBI_IOCVOLUP                     = 0x80084f00
-+	VDISCARD                         = 0xd
-+	VEOF                             = 0x10
-+	VEOL                             = 0x11
-+	VEOL2                            = 0x6
-+	VMIN                             = 0x4
-+	VREPRINT                         = 0xc
-+	VSTART                           = 0x8
-+	VSTOP                            = 0x9
-+	VSUSP                            = 0xa
-+	VSWTC                            = 0x7
-+	VSWTCH                           = 0x7
-+	VT1                              = 0x4000
-+	VTDLY                            = 0x4000
-+	VTIME                            = 0x5
-+	VWERASE                          = 0xe
-+	WDIOC_GETBOOTSTATUS              = 0x40045702
-+	WDIOC_GETPRETIMEOUT              = 0x40045709
-+	WDIOC_GETSTATUS                  = 0x40045701
-+	WDIOC_GETSUPPORT                 = 0x40285700
-+	WDIOC_GETTEMP                    = 0x40045703
-+	WDIOC_GETTIMELEFT                = 0x4004570a
-+	WDIOC_GETTIMEOUT                 = 0x40045707
-+	WDIOC_KEEPALIVE                  = 0x40045705
-+	WDIOC_SETOPTIONS                 = 0x40045704
-+	WORDSIZE                         = 0x40
-+	XCASE                            = 0x4
-+	XTABS                            = 0x1800
- )
- 
- // Errors
- const (
--	E2BIG           = syscall.Errno(0x7)
--	EACCES          = syscall.Errno(0xd)
- 	EADDRINUSE      = syscall.Errno(0x7d)
- 	EADDRNOTAVAIL   = syscall.Errno(0x7e)
- 	EADV            = syscall.Errno(0x44)
- 	EAFNOSUPPORT    = syscall.Errno(0x7c)
--	EAGAIN          = syscall.Errno(0xb)
- 	EALREADY        = syscall.Errno(0x95)
- 	EBADE           = syscall.Errno(0x32)
--	EBADF           = syscall.Errno(0x9)
- 	EBADFD          = syscall.Errno(0x51)
- 	EBADMSG         = syscall.Errno(0x4d)
- 	EBADR           = syscall.Errno(0x33)
- 	EBADRQC         = syscall.Errno(0x36)
- 	EBADSLT         = syscall.Errno(0x37)
- 	EBFONT          = syscall.Errno(0x3b)
--	EBUSY           = syscall.Errno(0x10)
- 	ECANCELED       = syscall.Errno(0x9e)
--	ECHILD          = syscall.Errno(0xa)
- 	ECHRNG          = syscall.Errno(0x25)
- 	ECOMM           = syscall.Errno(0x46)
- 	ECONNABORTED    = syscall.Errno(0x82)
-@@ -1886,12 +502,8 @@ const (
- 	EDEADLK         = syscall.Errno(0x2d)
- 	EDEADLOCK       = syscall.Errno(0x38)
- 	EDESTADDRREQ    = syscall.Errno(0x60)
--	EDOM            = syscall.Errno(0x21)
- 	EDOTDOT         = syscall.Errno(0x49)
- 	EDQUOT          = syscall.Errno(0x46d)
--	EEXIST          = syscall.Errno(0x11)
--	EFAULT          = syscall.Errno(0xe)
--	EFBIG           = syscall.Errno(0x1b)
- 	EHOSTDOWN       = syscall.Errno(0x93)
- 	EHOSTUNREACH    = syscall.Errno(0x94)
- 	EHWPOISON       = syscall.Errno(0xa8)
-@@ -1899,11 +511,7 @@ const (
- 	EILSEQ          = syscall.Errno(0x58)
- 	EINIT           = syscall.Errno(0x8d)
- 	EINPROGRESS     = syscall.Errno(0x96)
--	EINTR           = syscall.Errno(0x4)
--	EINVAL          = syscall.Errno(0x16)
--	EIO             = syscall.Errno(0x5)
- 	EISCONN         = syscall.Errno(0x85)
--	EISDIR          = syscall.Errno(0x15)
- 	EISNAM          = syscall.Errno(0x8b)
- 	EKEYEXPIRED     = syscall.Errno(0xa2)
- 	EKEYREJECTED    = syscall.Errno(0xa4)
-@@ -1920,8 +528,6 @@ const (
- 	ELNRNG          = syscall.Errno(0x29)
- 	ELOOP           = syscall.Errno(0x5a)
- 	EMEDIUMTYPE     = syscall.Errno(0xa0)
--	EMFILE          = syscall.Errno(0x18)
--	EMLINK          = syscall.Errno(0x1f)
- 	EMSGSIZE        = syscall.Errno(0x61)
- 	EMULTIHOP       = syscall.Errno(0x4a)
- 	ENAMETOOLONG    = syscall.Errno(0x4e)
-@@ -1929,100 +535,68 @@ const (
- 	ENETDOWN        = syscall.Errno(0x7f)
- 	ENETRESET       = syscall.Errno(0x81)
- 	ENETUNREACH     = syscall.Errno(0x80)
--	ENFILE          = syscall.Errno(0x17)
- 	ENOANO          = syscall.Errno(0x35)
- 	ENOBUFS         = syscall.Errno(0x84)
- 	ENOCSI          = syscall.Errno(0x2b)
- 	ENODATA         = syscall.Errno(0x3d)
--	ENODEV          = syscall.Errno(0x13)
--	ENOENT          = syscall.Errno(0x2)
--	ENOEXEC         = syscall.Errno(0x8)
- 	ENOKEY          = syscall.Errno(0xa1)
- 	ENOLCK          = syscall.Errno(0x2e)
- 	ENOLINK         = syscall.Errno(0x43)
- 	ENOMEDIUM       = syscall.Errno(0x9f)
--	ENOMEM          = syscall.Errno(0xc)
- 	ENOMSG          = syscall.Errno(0x23)
- 	ENONET          = syscall.Errno(0x40)
- 	ENOPKG          = syscall.Errno(0x41)
- 	ENOPROTOOPT     = syscall.Errno(0x63)
--	ENOSPC          = syscall.Errno(0x1c)
- 	ENOSR           = syscall.Errno(0x3f)
- 	ENOSTR          = syscall.Errno(0x3c)
- 	ENOSYS          = syscall.Errno(0x59)
--	ENOTBLK         = syscall.Errno(0xf)
- 	ENOTCONN        = syscall.Errno(0x86)
--	ENOTDIR         = syscall.Errno(0x14)
- 	ENOTEMPTY       = syscall.Errno(0x5d)
- 	ENOTNAM         = syscall.Errno(0x89)
- 	ENOTRECOVERABLE = syscall.Errno(0xa6)
- 	ENOTSOCK        = syscall.Errno(0x5f)
- 	ENOTSUP         = syscall.Errno(0x7a)
--	ENOTTY          = syscall.Errno(0x19)
- 	ENOTUNIQ        = syscall.Errno(0x50)
--	ENXIO           = syscall.Errno(0x6)
- 	EOPNOTSUPP      = syscall.Errno(0x7a)
- 	EOVERFLOW       = syscall.Errno(0x4f)
- 	EOWNERDEAD      = syscall.Errno(0xa5)
--	EPERM           = syscall.Errno(0x1)
- 	EPFNOSUPPORT    = syscall.Errno(0x7b)
--	EPIPE           = syscall.Errno(0x20)
- 	EPROTO          = syscall.Errno(0x47)
- 	EPROTONOSUPPORT = syscall.Errno(0x78)
- 	EPROTOTYPE      = syscall.Errno(0x62)
--	ERANGE          = syscall.Errno(0x22)
- 	EREMCHG         = syscall.Errno(0x52)
- 	EREMDEV         = syscall.Errno(0x8e)
- 	EREMOTE         = syscall.Errno(0x42)
- 	EREMOTEIO       = syscall.Errno(0x8c)
- 	ERESTART        = syscall.Errno(0x5b)
- 	ERFKILL         = syscall.Errno(0xa7)
--	EROFS           = syscall.Errno(0x1e)
- 	ESHUTDOWN       = syscall.Errno(0x8f)
- 	ESOCKTNOSUPPORT = syscall.Errno(0x79)
--	ESPIPE          = syscall.Errno(0x1d)
--	ESRCH           = syscall.Errno(0x3)
- 	ESRMNT          = syscall.Errno(0x45)
- 	ESTALE          = syscall.Errno(0x97)
- 	ESTRPIPE        = syscall.Errno(0x5c)
- 	ETIME           = syscall.Errno(0x3e)
- 	ETIMEDOUT       = syscall.Errno(0x91)
- 	ETOOMANYREFS    = syscall.Errno(0x90)
--	ETXTBSY         = syscall.Errno(0x1a)
- 	EUCLEAN         = syscall.Errno(0x87)
- 	EUNATCH         = syscall.Errno(0x2a)
- 	EUSERS          = syscall.Errno(0x5e)
--	EWOULDBLOCK     = syscall.Errno(0xb)
--	EXDEV           = syscall.Errno(0x12)
- 	EXFULL          = syscall.Errno(0x34)
- )
- 
- // Signals
- const (
--	SIGABRT   = syscall.Signal(0x6)
--	SIGALRM   = syscall.Signal(0xe)
- 	SIGBUS    = syscall.Signal(0xa)
- 	SIGCHLD   = syscall.Signal(0x12)
- 	SIGCLD    = syscall.Signal(0x12)
- 	SIGCONT   = syscall.Signal(0x19)
- 	SIGEMT    = syscall.Signal(0x7)
--	SIGFPE    = syscall.Signal(0x8)
--	SIGHUP    = syscall.Signal(0x1)
--	SIGILL    = syscall.Signal(0x4)
--	SIGINT    = syscall.Signal(0x2)
- 	SIGIO     = syscall.Signal(0x16)
--	SIGIOT    = syscall.Signal(0x6)
--	SIGKILL   = syscall.Signal(0x9)
--	SIGPIPE   = syscall.Signal(0xd)
- 	SIGPOLL   = syscall.Signal(0x16)
- 	SIGPROF   = syscall.Signal(0x1d)
- 	SIGPWR    = syscall.Signal(0x13)
--	SIGQUIT   = syscall.Signal(0x3)
--	SIGSEGV   = syscall.Signal(0xb)
- 	SIGSTOP   = syscall.Signal(0x17)
- 	SIGSYS    = syscall.Signal(0xc)
--	SIGTERM   = syscall.Signal(0xf)
--	SIGTRAP   = syscall.Signal(0x5)
- 	SIGTSTP   = syscall.Signal(0x18)
- 	SIGTTIN   = syscall.Signal(0x1a)
- 	SIGTTOU   = syscall.Signal(0x1b)
-@@ -2036,174 +610,182 @@ const (
- )
- 
- // Error table
--var errors = [...]string{
--	1:    "operation not permitted",
--	2:    "no such file or directory",
--	3:    "no such process",
--	4:    "interrupted system call",
--	5:    "input/output error",
--	6:    "no such device or address",
--	7:    "argument list too long",
--	8:    "exec format error",
--	9:    "bad file descriptor",
--	10:   "no child processes",
--	11:   "resource temporarily unavailable",
--	12:   "cannot allocate memory",
--	13:   "permission denied",
--	14:   "bad address",
--	15:   "block device required",
--	16:   "device or resource busy",
--	17:   "file exists",
--	18:   "invalid cross-device link",
--	19:   "no such device",
--	20:   "not a directory",
--	21:   "is a directory",
--	22:   "invalid argument",
--	23:   "too many open files in system",
--	24:   "too many open files",
--	25:   "inappropriate ioctl for device",
--	26:   "text file busy",
--	27:   "file too large",
--	28:   "no space left on device",
--	29:   "illegal seek",
--	30:   "read-only file system",
--	31:   "too many links",
--	32:   "broken pipe",
--	33:   "numerical argument out of domain",
--	34:   "numerical result out of range",
--	35:   "no message of desired type",
--	36:   "identifier removed",
--	37:   "channel number out of range",
--	38:   "level 2 not synchronized",
--	39:   "level 3 halted",
--	40:   "level 3 reset",
--	41:   "link number out of range",
--	42:   "protocol driver not attached",
--	43:   "no CSI structure available",
--	44:   "level 2 halted",
--	45:   "resource deadlock avoided",
--	46:   "no locks available",
--	50:   "invalid exchange",
--	51:   "invalid request descriptor",
--	52:   "exchange full",
--	53:   "no anode",
--	54:   "invalid request code",
--	55:   "invalid slot",
--	56:   "file locking deadlock error",
--	59:   "bad font file format",
--	60:   "device not a stream",
--	61:   "no data available",
--	62:   "timer expired",
--	63:   "out of streams resources",
--	64:   "machine is not on the network",
--	65:   "package not installed",
--	66:   "object is remote",
--	67:   "link has been severed",
--	68:   "advertise error",
--	69:   "srmount error",
--	70:   "communication error on send",
--	71:   "protocol error",
--	73:   "RFS specific error",
--	74:   "multihop attempted",
--	77:   "bad message",
--	78:   "file name too long",
--	79:   "value too large for defined data type",
--	80:   "name not unique on network",
--	81:   "file descriptor in bad state",
--	82:   "remote address changed",
--	83:   "can not access a needed shared library",
--	84:   "accessing a corrupted shared library",
--	85:   ".lib section in a.out corrupted",
--	86:   "attempting to link in too many shared libraries",
--	87:   "cannot exec a shared library directly",
--	88:   "invalid or incomplete multibyte or wide character",
--	89:   "function not implemented",
--	90:   "too many levels of symbolic links",
--	91:   "interrupted system call should be restarted",
--	92:   "streams pipe error",
--	93:   "directory not empty",
--	94:   "too many users",
--	95:   "socket operation on non-socket",
--	96:   "destination address required",
--	97:   "message too long",
--	98:   "protocol wrong type for socket",
--	99:   "protocol not available",
--	120:  "protocol not supported",
--	121:  "socket type not supported",
--	122:  "operation not supported",
--	123:  "protocol family not supported",
--	124:  "address family not supported by protocol",
--	125:  "address already in use",
--	126:  "cannot assign requested address",
--	127:  "network is down",
--	128:  "network is unreachable",
--	129:  "network dropped connection on reset",
--	130:  "software caused connection abort",
--	131:  "connection reset by peer",
--	132:  "no buffer space available",
--	133:  "transport endpoint is already connected",
--	134:  "transport endpoint is not connected",
--	135:  "structure needs cleaning",
--	137:  "not a XENIX named type file",
--	138:  "no XENIX semaphores available",
--	139:  "is a named type file",
--	140:  "remote I/O error",
--	141:  "unknown error 141",
--	142:  "unknown error 142",
--	143:  "cannot send after transport endpoint shutdown",
--	144:  "too many references: cannot splice",
--	145:  "connection timed out",
--	146:  "connection refused",
--	147:  "host is down",
--	148:  "no route to host",
--	149:  "operation already in progress",
--	150:  "operation now in progress",
--	151:  "stale file handle",
--	158:  "operation canceled",
--	159:  "no medium found",
--	160:  "wrong medium type",
--	161:  "required key not available",
--	162:  "key has expired",
--	163:  "key has been revoked",
--	164:  "key was rejected by service",
--	165:  "owner died",
--	166:  "state not recoverable",
--	167:  "operation not possible due to RF-kill",
--	168:  "memory page has hardware error",
--	1133: "disk quota exceeded",
-+var errorList = [...]struct {
-+	num  syscall.Errno
-+	name string
-+	desc string
-+}{
-+	{1, "EPERM", "operation not permitted"},
-+	{2, "ENOENT", "no such file or directory"},
-+	{3, "ESRCH", "no such process"},
-+	{4, "EINTR", "interrupted system call"},
-+	{5, "EIO", "input/output error"},
-+	{6, "ENXIO", "no such device or address"},
-+	{7, "E2BIG", "argument list too long"},
-+	{8, "ENOEXEC", "exec format error"},
-+	{9, "EBADF", "bad file descriptor"},
-+	{10, "ECHILD", "no child processes"},
-+	{11, "EAGAIN", "resource temporarily unavailable"},
-+	{12, "ENOMEM", "cannot allocate memory"},
-+	{13, "EACCES", "permission denied"},
-+	{14, "EFAULT", "bad address"},
-+	{15, "ENOTBLK", "block device required"},
-+	{16, "EBUSY", "device or resource busy"},
-+	{17, "EEXIST", "file exists"},
-+	{18, "EXDEV", "invalid cross-device link"},
-+	{19, "ENODEV", "no such device"},
-+	{20, "ENOTDIR", "not a directory"},
-+	{21, "EISDIR", "is a directory"},
-+	{22, "EINVAL", "invalid argument"},
-+	{23, "ENFILE", "too many open files in system"},
-+	{24, "EMFILE", "too many open files"},
-+	{25, "ENOTTY", "inappropriate ioctl for device"},
-+	{26, "ETXTBSY", "text file busy"},
-+	{27, "EFBIG", "file too large"},
-+	{28, "ENOSPC", "no space left on device"},
-+	{29, "ESPIPE", "illegal seek"},
-+	{30, "EROFS", "read-only file system"},
-+	{31, "EMLINK", "too many links"},
-+	{32, "EPIPE", "broken pipe"},
-+	{33, "EDOM", "numerical argument out of domain"},
-+	{34, "ERANGE", "numerical result out of range"},
-+	{35, "ENOMSG", "no message of desired type"},
-+	{36, "EIDRM", "identifier removed"},
-+	{37, "ECHRNG", "channel number out of range"},
-+	{38, "EL2NSYNC", "level 2 not synchronized"},
-+	{39, "EL3HLT", "level 3 halted"},
-+	{40, "EL3RST", "level 3 reset"},
-+	{41, "ELNRNG", "link number out of range"},
-+	{42, "EUNATCH", "protocol driver not attached"},
-+	{43, "ENOCSI", "no CSI structure available"},
-+	{44, "EL2HLT", "level 2 halted"},
-+	{45, "EDEADLK", "resource deadlock avoided"},
-+	{46, "ENOLCK", "no locks available"},
-+	{50, "EBADE", "invalid exchange"},
-+	{51, "EBADR", "invalid request descriptor"},
-+	{52, "EXFULL", "exchange full"},
-+	{53, "ENOANO", "no anode"},
-+	{54, "EBADRQC", "invalid request code"},
-+	{55, "EBADSLT", "invalid slot"},
-+	{56, "EDEADLOCK", "file locking deadlock error"},
-+	{59, "EBFONT", "bad font file format"},
-+	{60, "ENOSTR", "device not a stream"},
-+	{61, "ENODATA", "no data available"},
-+	{62, "ETIME", "timer expired"},
-+	{63, "ENOSR", "out of streams resources"},
-+	{64, "ENONET", "machine is not on the network"},
-+	{65, "ENOPKG", "package not installed"},
-+	{66, "EREMOTE", "object is remote"},
-+	{67, "ENOLINK", "link has been severed"},
-+	{68, "EADV", "advertise error"},
-+	{69, "ESRMNT", "srmount error"},
-+	{70, "ECOMM", "communication error on send"},
-+	{71, "EPROTO", "protocol error"},
-+	{73, "EDOTDOT", "RFS specific error"},
-+	{74, "EMULTIHOP", "multihop attempted"},
-+	{77, "EBADMSG", "bad message"},
-+	{78, "ENAMETOOLONG", "file name too long"},
-+	{79, "EOVERFLOW", "value too large for defined data type"},
-+	{80, "ENOTUNIQ", "name not unique on network"},
-+	{81, "EBADFD", "file descriptor in bad state"},
-+	{82, "EREMCHG", "remote address changed"},
-+	{83, "ELIBACC", "can not access a needed shared library"},
-+	{84, "ELIBBAD", "accessing a corrupted shared library"},
-+	{85, "ELIBSCN", ".lib section in a.out corrupted"},
-+	{86, "ELIBMAX", "attempting to link in too many shared libraries"},
-+	{87, "ELIBEXEC", "cannot exec a shared library directly"},
-+	{88, "EILSEQ", "invalid or incomplete multibyte or wide character"},
-+	{89, "ENOSYS", "function not implemented"},
-+	{90, "ELOOP", "too many levels of symbolic links"},
-+	{91, "ERESTART", "interrupted system call should be restarted"},
-+	{92, "ESTRPIPE", "streams pipe error"},
-+	{93, "ENOTEMPTY", "directory not empty"},
-+	{94, "EUSERS", "too many users"},
-+	{95, "ENOTSOCK", "socket operation on non-socket"},
-+	{96, "EDESTADDRREQ", "destination address required"},
-+	{97, "EMSGSIZE", "message too long"},
-+	{98, "EPROTOTYPE", "protocol wrong type for socket"},
-+	{99, "ENOPROTOOPT", "protocol not available"},
-+	{120, "EPROTONOSUPPORT", "protocol not supported"},
-+	{121, "ESOCKTNOSUPPORT", "socket type not supported"},
-+	{122, "ENOTSUP", "operation not supported"},
-+	{123, "EPFNOSUPPORT", "protocol family not supported"},
-+	{124, "EAFNOSUPPORT", "address family not supported by protocol"},
-+	{125, "EADDRINUSE", "address already in use"},
-+	{126, "EADDRNOTAVAIL", "cannot assign requested address"},
-+	{127, "ENETDOWN", "network is down"},
-+	{128, "ENETUNREACH", "network is unreachable"},
-+	{129, "ENETRESET", "network dropped connection on reset"},
-+	{130, "ECONNABORTED", "software caused connection abort"},
-+	{131, "ECONNRESET", "connection reset by peer"},
-+	{132, "ENOBUFS", "no buffer space available"},
-+	{133, "EISCONN", "transport endpoint is already connected"},
-+	{134, "ENOTCONN", "transport endpoint is not connected"},
-+	{135, "EUCLEAN", "structure needs cleaning"},
-+	{137, "ENOTNAM", "not a XENIX named type file"},
-+	{138, "ENAVAIL", "no XENIX semaphores available"},
-+	{139, "EISNAM", "is a named type file"},
-+	{140, "EREMOTEIO", "remote I/O error"},
-+	{141, "EINIT", "unknown error 141"},
-+	{142, "EREMDEV", "unknown error 142"},
-+	{143, "ESHUTDOWN", "cannot send after transport endpoint shutdown"},
-+	{144, "ETOOMANYREFS", "too many references: cannot splice"},
-+	{145, "ETIMEDOUT", "connection timed out"},
-+	{146, "ECONNREFUSED", "connection refused"},
-+	{147, "EHOSTDOWN", "host is down"},
-+	{148, "EHOSTUNREACH", "no route to host"},
-+	{149, "EALREADY", "operation already in progress"},
-+	{150, "EINPROGRESS", "operation now in progress"},
-+	{151, "ESTALE", "stale file handle"},
-+	{158, "ECANCELED", "operation canceled"},
-+	{159, "ENOMEDIUM", "no medium found"},
-+	{160, "EMEDIUMTYPE", "wrong medium type"},
-+	{161, "ENOKEY", "required key not available"},
-+	{162, "EKEYEXPIRED", "key has expired"},
-+	{163, "EKEYREVOKED", "key has been revoked"},
-+	{164, "EKEYREJECTED", "key was rejected by service"},
-+	{165, "EOWNERDEAD", "owner died"},
-+	{166, "ENOTRECOVERABLE", "state not recoverable"},
-+	{167, "ERFKILL", "operation not possible due to RF-kill"},
-+	{168, "EHWPOISON", "memory page has hardware error"},
-+	{1133, "EDQUOT", "disk quota exceeded"},
- }
- 
- // Signal table
--var signals = [...]string{
--	1:  "hangup",
--	2:  "interrupt",
--	3:  "quit",
--	4:  "illegal instruction",
--	5:  "trace/breakpoint trap",
--	6:  "aborted",
--	7:  "EMT trap",
--	8:  "floating point exception",
--	9:  "killed",
--	10: "bus error",
--	11: "segmentation fault",
--	12: "bad system call",
--	13: "broken pipe",
--	14: "alarm clock",
--	15: "terminated",
--	16: "user defined signal 1",
--	17: "user defined signal 2",
--	18: "child exited",
--	19: "power failure",
--	20: "window changed",
--	21: "urgent I/O condition",
--	22: "I/O possible",
--	23: "stopped (signal)",
--	24: "stopped",
--	25: "continued",
--	26: "stopped (tty input)",
--	27: "stopped (tty output)",
--	28: "virtual timer expired",
--	29: "profiling timer expired",
--	30: "CPU time limit exceeded",
--	31: "file size limit exceeded",
-+var signalList = [...]struct {
-+	num  syscall.Signal
-+	name string
-+	desc string
-+}{
-+	{1, "SIGHUP", "hangup"},
-+	{2, "SIGINT", "interrupt"},
-+	{3, "SIGQUIT", "quit"},
-+	{4, "SIGILL", "illegal instruction"},
-+	{5, "SIGTRAP", "trace/breakpoint trap"},
-+	{6, "SIGABRT", "aborted"},
-+	{7, "SIGEMT", "EMT trap"},
-+	{8, "SIGFPE", "floating point exception"},
-+	{9, "SIGKILL", "killed"},
-+	{10, "SIGBUS", "bus error"},
-+	{11, "SIGSEGV", "segmentation fault"},
-+	{12, "SIGSYS", "bad system call"},
-+	{13, "SIGPIPE", "broken pipe"},
-+	{14, "SIGALRM", "alarm clock"},
-+	{15, "SIGTERM", "terminated"},
-+	{16, "SIGUSR1", "user defined signal 1"},
-+	{17, "SIGUSR2", "user defined signal 2"},
-+	{18, "SIGCHLD", "child exited"},
-+	{19, "SIGPWR", "power failure"},
-+	{20, "SIGWINCH", "window changed"},
-+	{21, "SIGURG", "urgent I/O condition"},
-+	{22, "SIGIO", "I/O possible"},
-+	{23, "SIGSTOP", "stopped (signal)"},
-+	{24, "SIGTSTP", "stopped"},
-+	{25, "SIGCONT", "continued"},
-+	{26, "SIGTTIN", "stopped (tty input)"},
-+	{27, "SIGTTOU", "stopped (tty output)"},
-+	{28, "SIGVTALRM", "virtual timer expired"},
-+	{29, "SIGPROF", "profiling timer expired"},
-+	{30, "SIGXCPU", "CPU time limit exceeded"},
-+	{31, "SIGXFSZ", "file size limit exceeded"},
- }
-diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go b/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go
-index 2310beeb..e758b61e 100644
---- a/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go
-+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go
-@@ -3,7 +3,7 @@
- 
- // +build mips64le,linux
- 
--// Created by cgo -godefs - DO NOT EDIT
-+// Code generated by cmd/cgo -godefs; DO NOT EDIT.
- // cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go
- 
- package unix
-@@ -11,1873 +11,489 @@ package unix
- import "syscall"
- 
- const (
--	AF_ALG                               = 0x26
--	AF_APPLETALK                         = 0x5
--	AF_ASH                               = 0x12
--	AF_ATMPVC                            = 0x8
--	AF_ATMSVC                            = 0x14
--	AF_AX25                              = 0x3
--	AF_BLUETOOTH                         = 0x1f
--	AF_BRIDGE                            = 0x7
--	AF_CAIF                              = 0x25
--	AF_CAN                               = 0x1d
--	AF_DECnet                            = 0xc
--	AF_ECONET                            = 0x13
--	AF_FILE                              = 0x1
--	AF_IB                                = 0x1b
--	AF_IEEE802154                        = 0x24
--	AF_INET                              = 0x2
--	AF_INET6                             = 0xa
--	AF_IPX                               = 0x4
--	AF_IRDA                              = 0x17
--	AF_ISDN                              = 0x22
--	AF_IUCV                              = 0x20
--	AF_KCM                               = 0x29
--	AF_KEY                               = 0xf
--	AF_LLC                               = 0x1a
--	AF_LOCAL                             = 0x1
--	AF_MAX                               = 0x2b
--	AF_MPLS                              = 0x1c
--	AF_NETBEUI                           = 0xd
--	AF_NETLINK                           = 0x10
--	AF_NETROM                            = 0x6
--	AF_NFC                               = 0x27
--	AF_PACKET                            = 0x11
--	AF_PHONET                            = 0x23
--	AF_PPPOX                             = 0x18
--	AF_QIPCRTR                           = 0x2a
--	AF_RDS                               = 0x15
--	AF_ROSE                              = 0xb
--	AF_ROUTE                             = 0x10
--	AF_RXRPC                             = 0x21
--	AF_SECURITY                          = 0xe
--	AF_SNA                               = 0x16
--	AF_TIPC                              = 0x1e
--	AF_UNIX                              = 0x1
--	AF_UNSPEC                            = 0x0
--	AF_VSOCK                             = 0x28
--	AF_WANPIPE                           = 0x19
--	AF_X25                               = 0x9
--	ALG_OP_DECRYPT                       = 0x0
--	ALG_OP_ENCRYPT                       = 0x1
--	ALG_SET_AEAD_ASSOCLEN                = 0x4
--	ALG_SET_AEAD_AUTHSIZE                = 0x5
--	ALG_SET_IV                           = 0x2
--	ALG_SET_KEY                          = 0x1
--	ALG_SET_OP                           = 0x3
--	ARPHRD_6LOWPAN                       = 0x339
--	ARPHRD_ADAPT                         = 0x108
--	ARPHRD_APPLETLK                      = 0x8
--	ARPHRD_ARCNET                        = 0x7
--	ARPHRD_ASH                           = 0x30d
--	ARPHRD_ATM                           = 0x13
--	ARPHRD_AX25                          = 0x3
--	ARPHRD_BIF                           = 0x307
--	ARPHRD_CAIF                          = 0x336
--	ARPHRD_CAN                           = 0x118
--	ARPHRD_CHAOS                         = 0x5
--	ARPHRD_CISCO                         = 0x201
--	ARPHRD_CSLIP                         = 0x101
--	ARPHRD_CSLIP6                        = 0x103
--	ARPHRD_DDCMP                         = 0x205
--	ARPHRD_DLCI                          = 0xf
--	ARPHRD_ECONET                        = 0x30e
--	ARPHRD_EETHER                        = 0x2
--	ARPHRD_ETHER                         = 0x1
--	ARPHRD_EUI64                         = 0x1b
--	ARPHRD_FCAL                          = 0x311
--	ARPHRD_FCFABRIC                      = 0x313
--	ARPHRD_FCPL                          = 0x312
--	ARPHRD_FCPP                          = 0x310
--	ARPHRD_FDDI                          = 0x306
--	ARPHRD_FRAD                          = 0x302
--	ARPHRD_HDLC                          = 0x201
--	ARPHRD_HIPPI                         = 0x30c
--	ARPHRD_HWX25                         = 0x110
--	ARPHRD_IEEE1394                      = 0x18
--	ARPHRD_IEEE802                       = 0x6
--	ARPHRD_IEEE80211                     = 0x321
--	ARPHRD_IEEE80211_PRISM               = 0x322
--	ARPHRD_IEEE80211_RADIOTAP            = 0x323
--	ARPHRD_IEEE802154                    = 0x324
--	ARPHRD_IEEE802154_MONITOR            = 0x325
--	ARPHRD_IEEE802_TR                    = 0x320
--	ARPHRD_INFINIBAND                    = 0x20
--	ARPHRD_IP6GRE                        = 0x337
--	ARPHRD_IPDDP                         = 0x309
--	ARPHRD_IPGRE                         = 0x30a
--	ARPHRD_IRDA                          = 0x30f
--	ARPHRD_LAPB                          = 0x204
--	ARPHRD_LOCALTLK                      = 0x305
--	ARPHRD_LOOPBACK                      = 0x304
--	ARPHRD_METRICOM                      = 0x17
--	ARPHRD_NETLINK                       = 0x338
--	ARPHRD_NETROM                        = 0x0
--	ARPHRD_NONE                          = 0xfffe
--	ARPHRD_PHONET                        = 0x334
--	ARPHRD_PHONET_PIPE                   = 0x335
--	ARPHRD_PIMREG                        = 0x30b
--	ARPHRD_PPP                           = 0x200
--	ARPHRD_PRONET                        = 0x4
--	ARPHRD_RAWHDLC                       = 0x206
--	ARPHRD_ROSE                          = 0x10e
--	ARPHRD_RSRVD                         = 0x104
--	ARPHRD_SIT                           = 0x308
--	ARPHRD_SKIP                          = 0x303
--	ARPHRD_SLIP                          = 0x100
--	ARPHRD_SLIP6                         = 0x102
--	ARPHRD_TUNNEL                        = 0x300
--	ARPHRD_TUNNEL6                       = 0x301
--	ARPHRD_VOID                          = 0xffff
--	ARPHRD_X25                           = 0x10f
--	B0                                   = 0x0
--	B1000000                             = 0x1008
--	B110                                 = 0x3
--	B115200                              = 0x1002
--	B1152000                             = 0x1009
--	B1200                                = 0x9
--	B134                                 = 0x4
--	B150                                 = 0x5
--	B1500000                             = 0x100a
--	B1800                                = 0xa
--	B19200                               = 0xe
--	B200                                 = 0x6
--	B2000000                             = 0x100b
--	B230400                              = 0x1003
--	B2400                                = 0xb
--	B2500000                             = 0x100c
--	B300                                 = 0x7
--	B3000000                             = 0x100d
--	B3500000                             = 0x100e
--	B38400                               = 0xf
--	B4000000                             = 0x100f
--	B460800                              = 0x1004
--	B4800                                = 0xc
--	B50                                  = 0x1
--	B500000                              = 0x1005
--	B57600                               = 0x1001
--	B576000                              = 0x1006
--	B600                                 = 0x8
--	B75                                  = 0x2
--	B921600                              = 0x1007
--	B9600                                = 0xd
--	BLKBSZGET                            = 0x40081270
--	BLKBSZSET                            = 0x80081271
--	BLKFLSBUF                            = 0x20001261
--	BLKFRAGET                            = 0x20001265
--	BLKFRASET                            = 0x20001264
--	BLKGETSIZE                           = 0x20001260
--	BLKGETSIZE64                         = 0x40081272
--	BLKPBSZGET                           = 0x2000127b
--	BLKRAGET                             = 0x20001263
--	BLKRASET                             = 0x20001262
--	BLKROGET                             = 0x2000125e
--	BLKROSET                             = 0x2000125d
--	BLKRRPART                            = 0x2000125f
--	BLKSECTGET                           = 0x20001267
--	BLKSECTSET                           = 0x20001266
--	BLKSSZGET                            = 0x20001268
--	BOTHER                               = 0x1000
--	BPF_A                                = 0x10
--	BPF_ABS                              = 0x20
--	BPF_ADD                              = 0x0
--	BPF_ALU                              = 0x4
--	BPF_AND                              = 0x50
--	BPF_B                                = 0x10
--	BPF_DIV                              = 0x30
--	BPF_H                                = 0x8
--	BPF_IMM                              = 0x0
--	BPF_IND                              = 0x40
--	BPF_JA                               = 0x0
--	BPF_JEQ                              = 0x10
--	BPF_JGE                              = 0x30
--	BPF_JGT                              = 0x20
--	BPF_JMP                              = 0x5
--	BPF_JSET                             = 0x40
--	BPF_K                                = 0x0
--	BPF_LD                               = 0x0
--	BPF_LDX                              = 0x1
--	BPF_LEN                              = 0x80
--	BPF_LL_OFF                           = -0x200000
--	BPF_LSH                              = 0x60
--	BPF_MAJOR_VERSION                    = 0x1
--	BPF_MAXINSNS                         = 0x1000
--	BPF_MEM                              = 0x60
--	BPF_MEMWORDS                         = 0x10
--	BPF_MINOR_VERSION                    = 0x1
--	BPF_MISC                             = 0x7
--	BPF_MOD                              = 0x90
--	BPF_MSH                              = 0xa0
--	BPF_MUL                              = 0x20
--	BPF_NEG                              = 0x80
--	BPF_NET_OFF                          = -0x100000
--	BPF_OR                               = 0x40
--	BPF_RET                              = 0x6
--	BPF_RSH                              = 0x70
--	BPF_ST                               = 0x2
--	BPF_STX                              = 0x3
--	BPF_SUB                              = 0x10
--	BPF_TAX                              = 0x0
--	BPF_TXA                              = 0x80
--	BPF_W                                = 0x0
--	BPF_X                                = 0x8
--	BPF_XOR                              = 0xa0
--	BRKINT                               = 0x2
--	BS0                                  = 0x0
--	BS1                                  = 0x2000
--	BSDLY                                = 0x2000
--	CAN_BCM                              = 0x2
--	CAN_EFF_FLAG                         = 0x80000000
--	CAN_EFF_ID_BITS                      = 0x1d
--	CAN_EFF_MASK                         = 0x1fffffff
--	CAN_ERR_FLAG                         = 0x20000000
--	CAN_ERR_MASK                         = 0x1fffffff
--	CAN_INV_FILTER                       = 0x20000000
--	CAN_ISOTP                            = 0x6
--	CAN_MAX_DLC                          = 0x8
--	CAN_MAX_DLEN                         = 0x8
--	CAN_MCNET                            = 0x5
--	CAN_MTU                              = 0x10
--	CAN_NPROTO                           = 0x7
--	CAN_RAW                              = 0x1
--	CAN_RAW_FILTER_MAX                   = 0x200
--	CAN_RTR_FLAG                         = 0x40000000
--	CAN_SFF_ID_BITS                      = 0xb
--	CAN_SFF_MASK                         = 0x7ff
--	CAN_TP16                             = 0x3
--	CAN_TP20                             = 0x4
--	CBAUD                                = 0x100f
--	CBAUDEX                              = 0x1000
--	CFLUSH                               = 0xf
--	CIBAUD                               = 0x100f0000
--	CLOCAL                               = 0x800
--	CLOCK_BOOTTIME                       = 0x7
--	CLOCK_BOOTTIME_ALARM                 = 0x9
--	CLOCK_DEFAULT                        = 0x0
--	CLOCK_EXT                            = 0x1
--	CLOCK_INT                            = 0x2
--	CLOCK_MONOTONIC                      = 0x1
--	CLOCK_MONOTONIC_COARSE               = 0x6
--	CLOCK_MONOTONIC_RAW                  = 0x4
--	CLOCK_PROCESS_CPUTIME_ID             = 0x2
--	CLOCK_REALTIME                       = 0x0
--	CLOCK_REALTIME_ALARM                 = 0x8
--	CLOCK_REALTIME_COARSE                = 0x5
--	CLOCK_TAI                            = 0xb
--	CLOCK_THREAD_CPUTIME_ID              = 0x3
--	CLOCK_TXFROMRX                       = 0x4
--	CLOCK_TXINT                          = 0x3
--	CLONE_CHILD_CLEARTID                 = 0x200000
--	CLONE_CHILD_SETTID                   = 0x1000000
--	CLONE_DETACHED                       = 0x400000
--	CLONE_FILES                          = 0x400
--	CLONE_FS                             = 0x200
--	CLONE_IO                             = 0x80000000
--	CLONE_NEWCGROUP                      = 0x2000000
--	CLONE_NEWIPC                         = 0x8000000
--	CLONE_NEWNET                         = 0x40000000
--	CLONE_NEWNS                          = 0x20000
--	CLONE_NEWPID                         = 0x20000000
--	CLONE_NEWUSER                        = 0x10000000
--	CLONE_NEWUTS                         = 0x4000000
--	CLONE_PARENT                         = 0x8000
--	CLONE_PARENT_SETTID                  = 0x100000
--	CLONE_PTRACE                         = 0x2000
--	CLONE_SETTLS                         = 0x80000
--	CLONE_SIGHAND                        = 0x800
--	CLONE_SYSVSEM                        = 0x40000
--	CLONE_THREAD                         = 0x10000
--	CLONE_UNTRACED                       = 0x800000
--	CLONE_VFORK                          = 0x4000
--	CLONE_VM                             = 0x100
--	CMSPAR                               = 0x40000000
--	CR0                                  = 0x0
--	CR1                                  = 0x200
--	CR2                                  = 0x400
--	CR3                                  = 0x600
--	CRDLY                                = 0x600
--	CREAD                                = 0x80
--	CRTSCTS                              = 0x80000000
--	CS5                                  = 0x0
--	CS6                                  = 0x10
--	CS7                                  = 0x20
--	CS8                                  = 0x30
--	CSIGNAL                              = 0xff
--	CSIZE                                = 0x30
--	CSTART                               = 0x11
--	CSTATUS                              = 0x0
--	CSTOP                                = 0x13
--	CSTOPB                               = 0x40
--	CSUSP                                = 0x1a
--	DT_BLK                               = 0x6
--	DT_CHR                               = 0x2
--	DT_DIR                               = 0x4
--	DT_FIFO                              = 0x1
--	DT_LNK                               = 0xa
--	DT_REG                               = 0x8
--	DT_SOCK                              = 0xc
--	DT_UNKNOWN                           = 0x0
--	DT_WHT                               = 0xe
--	ECHO                                 = 0x8
--	ECHOCTL                              = 0x200
--	ECHOE                                = 0x10
--	ECHOK                                = 0x20
--	ECHOKE                               = 0x800
--	ECHONL                               = 0x40
--	ECHOPRT                              = 0x400
--	EFD_CLOEXEC                          = 0x80000
--	EFD_NONBLOCK                         = 0x80
--	EFD_SEMAPHORE                        = 0x1
--	ENCODING_DEFAULT                     = 0x0
--	ENCODING_FM_MARK                     = 0x3
--	ENCODING_FM_SPACE                    = 0x4
--	ENCODING_MANCHESTER                  = 0x5
--	ENCODING_NRZ                         = 0x1
--	ENCODING_NRZI                        = 0x2
--	EPOLLERR                             = 0x8
--	EPOLLET                              = 0x80000000
--	EPOLLEXCLUSIVE                       = 0x10000000
--	EPOLLHUP                             = 0x10
--	EPOLLIN                              = 0x1
--	EPOLLMSG                             = 0x400
--	EPOLLONESHOT                         = 0x40000000
--	EPOLLOUT                             = 0x4
--	EPOLLPRI                             = 0x2
--	EPOLLRDBAND                          = 0x80
--	EPOLLRDHUP                           = 0x2000
--	EPOLLRDNORM                          = 0x40
--	EPOLLWAKEUP                          = 0x20000000
--	EPOLLWRBAND                          = 0x200
--	EPOLLWRNORM                          = 0x100
--	EPOLL_CLOEXEC                        = 0x80000
--	EPOLL_CTL_ADD                        = 0x1
--	EPOLL_CTL_DEL                        = 0x2
--	EPOLL_CTL_MOD                        = 0x3
--	ETH_P_1588                           = 0x88f7
--	ETH_P_8021AD                         = 0x88a8
--	ETH_P_8021AH                         = 0x88e7
--	ETH_P_8021Q                          = 0x8100
--	ETH_P_80221                          = 0x8917
--	ETH_P_802_2                          = 0x4
--	ETH_P_802_3                          = 0x1
--	ETH_P_802_3_MIN                      = 0x600
--	ETH_P_802_EX1                        = 0x88b5
--	ETH_P_AARP                           = 0x80f3
--	ETH_P_AF_IUCV                        = 0xfbfb
--	ETH_P_ALL                            = 0x3
--	ETH_P_AOE                            = 0x88a2
--	ETH_P_ARCNET                         = 0x1a
--	ETH_P_ARP                            = 0x806
--	ETH_P_ATALK                          = 0x809b
--	ETH_P_ATMFATE                        = 0x8884
--	ETH_P_ATMMPOA                        = 0x884c
--	ETH_P_AX25                           = 0x2
--	ETH_P_BATMAN                         = 0x4305
--	ETH_P_BPQ                            = 0x8ff
--	ETH_P_CAIF                           = 0xf7
--	ETH_P_CAN                            = 0xc
--	ETH_P_CANFD                          = 0xd
--	ETH_P_CONTROL                        = 0x16
--	ETH_P_CUST                           = 0x6006
--	ETH_P_DDCMP                          = 0x6
--	ETH_P_DEC                            = 0x6000
--	ETH_P_DIAG                           = 0x6005
--	ETH_P_DNA_DL                         = 0x6001
--	ETH_P_DNA_RC                         = 0x6002
--	ETH_P_DNA_RT                         = 0x6003
--	ETH_P_DSA                            = 0x1b
--	ETH_P_ECONET                         = 0x18
--	ETH_P_EDSA                           = 0xdada
--	ETH_P_FCOE                           = 0x8906
--	ETH_P_FIP                            = 0x8914
--	ETH_P_HDLC                           = 0x19
--	ETH_P_HSR                            = 0x892f
--	ETH_P_IEEE802154                     = 0xf6
--	ETH_P_IEEEPUP                        = 0xa00
--	ETH_P_IEEEPUPAT                      = 0xa01
--	ETH_P_IP                             = 0x800
--	ETH_P_IPV6                           = 0x86dd
--	ETH_P_IPX                            = 0x8137
--	ETH_P_IRDA                           = 0x17
--	ETH_P_LAT                            = 0x6004
--	ETH_P_LINK_CTL                       = 0x886c
--	ETH_P_LOCALTALK                      = 0x9
--	ETH_P_LOOP                           = 0x60
--	ETH_P_LOOPBACK                       = 0x9000
--	ETH_P_MACSEC                         = 0x88e5
--	ETH_P_MOBITEX                        = 0x15
--	ETH_P_MPLS_MC                        = 0x8848
--	ETH_P_MPLS_UC                        = 0x8847
--	ETH_P_MVRP                           = 0x88f5
--	ETH_P_NCSI                           = 0x88f8
--	ETH_P_PAE                            = 0x888e
--	ETH_P_PAUSE                          = 0x8808
--	ETH_P_PHONET                         = 0xf5
--	ETH_P_PPPTALK                        = 0x10
--	ETH_P_PPP_DISC                       = 0x8863
--	ETH_P_PPP_MP                         = 0x8
--	ETH_P_PPP_SES                        = 0x8864
--	ETH_P_PRP                            = 0x88fb
--	ETH_P_PUP                            = 0x200
--	ETH_P_PUPAT                          = 0x201
--	ETH_P_QINQ1                          = 0x9100
--	ETH_P_QINQ2                          = 0x9200
--	ETH_P_QINQ3                          = 0x9300
--	ETH_P_RARP                           = 0x8035
--	ETH_P_SCA                            = 0x6007
--	ETH_P_SLOW                           = 0x8809
--	ETH_P_SNAP                           = 0x5
--	ETH_P_TDLS                           = 0x890d
--	ETH_P_TEB                            = 0x6558
--	ETH_P_TIPC                           = 0x88ca
--	ETH_P_TRAILER                        = 0x1c
--	ETH_P_TR_802_2                       = 0x11
--	ETH_P_TSN                            = 0x22f0
--	ETH_P_WAN_PPP                        = 0x7
--	ETH_P_WCCP                           = 0x883e
--	ETH_P_X25                            = 0x805
--	ETH_P_XDSA                           = 0xf8
--	EXTA                                 = 0xe
--	EXTB                                 = 0xf
--	EXTPROC                              = 0x10000
--	FALLOC_FL_COLLAPSE_RANGE             = 0x8
--	FALLOC_FL_INSERT_RANGE               = 0x20
--	FALLOC_FL_KEEP_SIZE                  = 0x1
--	FALLOC_FL_NO_HIDE_STALE              = 0x4
--	FALLOC_FL_PUNCH_HOLE                 = 0x2
--	FALLOC_FL_UNSHARE_RANGE              = 0x40
--	FALLOC_FL_ZERO_RANGE                 = 0x10
--	FD_CLOEXEC                           = 0x1
--	FD_SETSIZE                           = 0x400
--	FF0                                  = 0x0
--	FF1                                  = 0x8000
--	FFDLY                                = 0x8000
--	FLUSHO                               = 0x2000
--	FS_ENCRYPTION_MODE_AES_256_CBC       = 0x3
--	FS_ENCRYPTION_MODE_AES_256_CTS       = 0x4
--	FS_ENCRYPTION_MODE_AES_256_GCM       = 0x2
--	FS_ENCRYPTION_MODE_AES_256_XTS       = 0x1
--	FS_ENCRYPTION_MODE_INVALID           = 0x0
--	FS_IOC_GET_ENCRYPTION_POLICY         = 0x800c6615
--	FS_IOC_GET_ENCRYPTION_PWSALT         = 0x80106614
--	FS_IOC_SET_ENCRYPTION_POLICY         = 0x400c6613
--	FS_KEY_DESCRIPTOR_SIZE               = 0x8
--	FS_KEY_DESC_PREFIX                   = "fscrypt:"
--	FS_KEY_DESC_PREFIX_SIZE              = 0x8
--	FS_MAX_KEY_SIZE                      = 0x40
--	FS_POLICY_FLAGS_PAD_16               = 0x2
--	FS_POLICY_FLAGS_PAD_32               = 0x3
--	FS_POLICY_FLAGS_PAD_4                = 0x0
--	FS_POLICY_FLAGS_PAD_8                = 0x1
--	FS_POLICY_FLAGS_PAD_MASK             = 0x3
--	FS_POLICY_FLAGS_VALID                = 0x3
--	F_DUPFD                              = 0x0
--	F_DUPFD_CLOEXEC                      = 0x406
--	F_EXLCK                              = 0x4
--	F_GETFD                              = 0x1
--	F_GETFL                              = 0x3
--	F_GETLEASE                           = 0x401
--	F_GETLK                              = 0xe
--	F_GETLK64                            = 0xe
--	F_GETOWN                             = 0x17
--	F_GETOWN_EX                          = 0x10
--	F_GETPIPE_SZ                         = 0x408
--	F_GETSIG                             = 0xb
--	F_LOCK                               = 0x1
--	F_NOTIFY                             = 0x402
--	F_OFD_GETLK                          = 0x24
--	F_OFD_SETLK                          = 0x25
--	F_OFD_SETLKW                         = 0x26
--	F_OK                                 = 0x0
--	F_RDLCK                              = 0x0
--	F_SETFD                              = 0x2
--	F_SETFL                              = 0x4
--	F_SETLEASE                           = 0x400
--	F_SETLK                              = 0x6
--	F_SETLK64                            = 0x6
--	F_SETLKW                             = 0x7
--	F_SETLKW64                           = 0x7
--	F_SETOWN                             = 0x18
--	F_SETOWN_EX                          = 0xf
--	F_SETPIPE_SZ                         = 0x407
--	F_SETSIG                             = 0xa
--	F_SHLCK                              = 0x8
--	F_TEST                               = 0x3
--	F_TLOCK                              = 0x2
--	F_ULOCK                              = 0x0
--	F_UNLCK                              = 0x2
--	F_WRLCK                              = 0x1
--	GENL_ADMIN_PERM                      = 0x1
--	GENL_CMD_CAP_DO                      = 0x2
--	GENL_CMD_CAP_DUMP                    = 0x4
--	GENL_CMD_CAP_HASPOL                  = 0x8
--	GENL_HDRLEN                          = 0x4
--	GENL_ID_CTRL                         = 0x10
--	GENL_ID_PMCRAID                      = 0x12
--	GENL_ID_VFS_DQUOT                    = 0x11
--	GENL_MAX_ID                          = 0x3ff
--	GENL_MIN_ID                          = 0x10
--	GENL_NAMSIZ                          = 0x10
--	GENL_START_ALLOC                     = 0x13
--	GENL_UNS_ADMIN_PERM                  = 0x10
--	GRND_NONBLOCK                        = 0x1
--	GRND_RANDOM                          = 0x2
--	HUPCL                                = 0x400
--	IBSHIFT                              = 0x10
--	ICANON                               = 0x2
--	ICMPV6_FILTER                        = 0x1
--	ICRNL                                = 0x100
--	IEXTEN                               = 0x100
--	IFA_F_DADFAILED                      = 0x8
--	IFA_F_DEPRECATED                     = 0x20
--	IFA_F_HOMEADDRESS                    = 0x10
--	IFA_F_MANAGETEMPADDR                 = 0x100
--	IFA_F_MCAUTOJOIN                     = 0x400
--	IFA_F_NODAD                          = 0x2
--	IFA_F_NOPREFIXROUTE                  = 0x200
--	IFA_F_OPTIMISTIC                     = 0x4
--	IFA_F_PERMANENT                      = 0x80
--	IFA_F_SECONDARY                      = 0x1
--	IFA_F_STABLE_PRIVACY                 = 0x800
--	IFA_F_TEMPORARY                      = 0x1
--	IFA_F_TENTATIVE                      = 0x40
--	IFA_MAX                              = 0x8
--	IFF_ALLMULTI                         = 0x200
--	IFF_ATTACH_QUEUE                     = 0x200
--	IFF_AUTOMEDIA                        = 0x4000
--	IFF_BROADCAST                        = 0x2
--	IFF_DEBUG                            = 0x4
--	IFF_DETACH_QUEUE                     = 0x400
--	IFF_DORMANT                          = 0x20000
--	IFF_DYNAMIC                          = 0x8000
--	IFF_ECHO                             = 0x40000
--	IFF_LOOPBACK                         = 0x8
--	IFF_LOWER_UP                         = 0x10000
--	IFF_MASTER                           = 0x400
--	IFF_MULTICAST                        = 0x1000
--	IFF_MULTI_QUEUE                      = 0x100
--	IFF_NOARP                            = 0x80
--	IFF_NOFILTER                         = 0x1000
--	IFF_NOTRAILERS                       = 0x20
--	IFF_NO_PI                            = 0x1000
--	IFF_ONE_QUEUE                        = 0x2000
--	IFF_PERSIST                          = 0x800
--	IFF_POINTOPOINT                      = 0x10
--	IFF_PORTSEL                          = 0x2000
--	IFF_PROMISC                          = 0x100
--	IFF_RUNNING                          = 0x40
--	IFF_SLAVE                            = 0x800
--	IFF_TAP                              = 0x2
--	IFF_TUN                              = 0x1
--	IFF_TUN_EXCL                         = 0x8000
--	IFF_UP                               = 0x1
--	IFF_VNET_HDR                         = 0x4000
--	IFF_VOLATILE                         = 0x70c5a
--	IFNAMSIZ                             = 0x10
--	IGNBRK                               = 0x1
--	IGNCR                                = 0x80
--	IGNPAR                               = 0x4
--	IMAXBEL                              = 0x2000
--	INLCR                                = 0x40
--	INPCK                                = 0x10
--	IN_ACCESS                            = 0x1
--	IN_ALL_EVENTS                        = 0xfff
--	IN_ATTRIB                            = 0x4
--	IN_CLASSA_HOST                       = 0xffffff
--	IN_CLASSA_MAX                        = 0x80
--	IN_CLASSA_NET                        = 0xff000000
--	IN_CLASSA_NSHIFT                     = 0x18
--	IN_CLASSB_HOST                       = 0xffff
--	IN_CLASSB_MAX                        = 0x10000
--	IN_CLASSB_NET                        = 0xffff0000
--	IN_CLASSB_NSHIFT                     = 0x10
--	IN_CLASSC_HOST                       = 0xff
--	IN_CLASSC_NET                        = 0xffffff00
--	IN_CLASSC_NSHIFT                     = 0x8
--	IN_CLOEXEC                           = 0x80000
--	IN_CLOSE                             = 0x18
--	IN_CLOSE_NOWRITE                     = 0x10
--	IN_CLOSE_WRITE                       = 0x8
--	IN_CREATE                            = 0x100
--	IN_DELETE                            = 0x200
--	IN_DELETE_SELF                       = 0x400
--	IN_DONT_FOLLOW                       = 0x2000000
--	IN_EXCL_UNLINK                       = 0x4000000
--	IN_IGNORED                           = 0x8000
--	IN_ISDIR                             = 0x40000000
--	IN_LOOPBACKNET                       = 0x7f
--	IN_MASK_ADD                          = 0x20000000
--	IN_MODIFY                            = 0x2
--	IN_MOVE                              = 0xc0
--	IN_MOVED_FROM                        = 0x40
--	IN_MOVED_TO                          = 0x80
--	IN_MOVE_SELF                         = 0x800
--	IN_NONBLOCK                          = 0x80
--	IN_ONESHOT                           = 0x80000000
--	IN_ONLYDIR                           = 0x1000000
--	IN_OPEN                              = 0x20
--	IN_Q_OVERFLOW                        = 0x4000
--	IN_UNMOUNT                           = 0x2000
--	IPPROTO_AH                           = 0x33
--	IPPROTO_BEETPH                       = 0x5e
--	IPPROTO_COMP                         = 0x6c
--	IPPROTO_DCCP                         = 0x21
--	IPPROTO_DSTOPTS                      = 0x3c
--	IPPROTO_EGP                          = 0x8
--	IPPROTO_ENCAP                        = 0x62
--	IPPROTO_ESP                          = 0x32
--	IPPROTO_FRAGMENT                     = 0x2c
--	IPPROTO_GRE                          = 0x2f
--	IPPROTO_HOPOPTS                      = 0x0
--	IPPROTO_ICMP                         = 0x1
--	IPPROTO_ICMPV6                       = 0x3a
--	IPPROTO_IDP                          = 0x16
--	IPPROTO_IGMP                         = 0x2
--	IPPROTO_IP                           = 0x0
--	IPPROTO_IPIP                         = 0x4
--	IPPROTO_IPV6                         = 0x29
--	IPPROTO_MH                           = 0x87
--	IPPROTO_MPLS                         = 0x89
--	IPPROTO_MTP                          = 0x5c
--	IPPROTO_NONE                         = 0x3b
--	IPPROTO_PIM                          = 0x67
--	IPPROTO_PUP                          = 0xc
--	IPPROTO_RAW                          = 0xff
--	IPPROTO_ROUTING                      = 0x2b
--	IPPROTO_RSVP                         = 0x2e
--	IPPROTO_SCTP                         = 0x84
--	IPPROTO_TCP                          = 0x6
--	IPPROTO_TP                           = 0x1d
--	IPPROTO_UDP                          = 0x11
--	IPPROTO_UDPLITE                      = 0x88
--	IPV6_2292DSTOPTS                     = 0x4
--	IPV6_2292HOPLIMIT                    = 0x8
--	IPV6_2292HOPOPTS                     = 0x3
--	IPV6_2292PKTINFO                     = 0x2
--	IPV6_2292PKTOPTIONS                  = 0x6
--	IPV6_2292RTHDR                       = 0x5
--	IPV6_ADDRFORM                        = 0x1
--	IPV6_ADD_MEMBERSHIP                  = 0x14
--	IPV6_AUTHHDR                         = 0xa
--	IPV6_CHECKSUM                        = 0x7
--	IPV6_DONTFRAG                        = 0x3e
--	IPV6_DROP_MEMBERSHIP                 = 0x15
--	IPV6_DSTOPTS                         = 0x3b
--	IPV6_HDRINCL                         = 0x24
--	IPV6_HOPLIMIT                        = 0x34
--	IPV6_HOPOPTS                         = 0x36
--	IPV6_IPSEC_POLICY                    = 0x22
--	IPV6_JOIN_ANYCAST                    = 0x1b
--	IPV6_JOIN_GROUP                      = 0x14
--	IPV6_LEAVE_ANYCAST                   = 0x1c
--	IPV6_LEAVE_GROUP                     = 0x15
--	IPV6_MTU                             = 0x18
--	IPV6_MTU_DISCOVER                    = 0x17
--	IPV6_MULTICAST_HOPS                  = 0x12
--	IPV6_MULTICAST_IF                    = 0x11
--	IPV6_MULTICAST_LOOP                  = 0x13
--	IPV6_NEXTHOP                         = 0x9
--	IPV6_PATHMTU                         = 0x3d
--	IPV6_PKTINFO                         = 0x32
--	IPV6_PMTUDISC_DO                     = 0x2
--	IPV6_PMTUDISC_DONT                   = 0x0
--	IPV6_PMTUDISC_INTERFACE              = 0x4
--	IPV6_PMTUDISC_OMIT                   = 0x5
--	IPV6_PMTUDISC_PROBE                  = 0x3
--	IPV6_PMTUDISC_WANT                   = 0x1
--	IPV6_RECVDSTOPTS                     = 0x3a
--	IPV6_RECVERR                         = 0x19
--	IPV6_RECVHOPLIMIT                    = 0x33
--	IPV6_RECVHOPOPTS                     = 0x35
--	IPV6_RECVPATHMTU                     = 0x3c
--	IPV6_RECVPKTINFO                     = 0x31
--	IPV6_RECVRTHDR                       = 0x38
--	IPV6_RECVTCLASS                      = 0x42
--	IPV6_ROUTER_ALERT                    = 0x16
--	IPV6_RTHDR                           = 0x39
--	IPV6_RTHDRDSTOPTS                    = 0x37
--	IPV6_RTHDR_LOOSE                     = 0x0
--	IPV6_RTHDR_STRICT                    = 0x1
--	IPV6_RTHDR_TYPE_0                    = 0x0
--	IPV6_RXDSTOPTS                       = 0x3b
--	IPV6_RXHOPOPTS                       = 0x36
--	IPV6_TCLASS                          = 0x43
--	IPV6_UNICAST_HOPS                    = 0x10
--	IPV6_V6ONLY                          = 0x1a
--	IPV6_XFRM_POLICY                     = 0x23
--	IP_ADD_MEMBERSHIP                    = 0x23
--	IP_ADD_SOURCE_MEMBERSHIP             = 0x27
--	IP_BIND_ADDRESS_NO_PORT              = 0x18
--	IP_BLOCK_SOURCE                      = 0x26
--	IP_CHECKSUM                          = 0x17
--	IP_DEFAULT_MULTICAST_LOOP            = 0x1
--	IP_DEFAULT_MULTICAST_TTL             = 0x1
--	IP_DF                                = 0x4000
--	IP_DROP_MEMBERSHIP                   = 0x24
--	IP_DROP_SOURCE_MEMBERSHIP            = 0x28
--	IP_FREEBIND                          = 0xf
--	IP_HDRINCL                           = 0x3
--	IP_IPSEC_POLICY                      = 0x10
--	IP_MAXPACKET                         = 0xffff
--	IP_MAX_MEMBERSHIPS                   = 0x14
--	IP_MF                                = 0x2000
--	IP_MINTTL                            = 0x15
--	IP_MSFILTER                          = 0x29
--	IP_MSS                               = 0x240
--	IP_MTU                               = 0xe
--	IP_MTU_DISCOVER                      = 0xa
--	IP_MULTICAST_ALL                     = 0x31
--	IP_MULTICAST_IF                      = 0x20
--	IP_MULTICAST_LOOP                    = 0x22
--	IP_MULTICAST_TTL                     = 0x21
--	IP_NODEFRAG                          = 0x16
--	IP_OFFMASK                           = 0x1fff
--	IP_OPTIONS                           = 0x4
--	IP_ORIGDSTADDR                       = 0x14
--	IP_PASSSEC                           = 0x12
--	IP_PKTINFO                           = 0x8
--	IP_PKTOPTIONS                        = 0x9
--	IP_PMTUDISC                          = 0xa
--	IP_PMTUDISC_DO                       = 0x2
--	IP_PMTUDISC_DONT                     = 0x0
--	IP_PMTUDISC_INTERFACE                = 0x4
--	IP_PMTUDISC_OMIT                     = 0x5
--	IP_PMTUDISC_PROBE                    = 0x3
--	IP_PMTUDISC_WANT                     = 0x1
--	IP_RECVERR                           = 0xb
--	IP_RECVOPTS                          = 0x6
--	IP_RECVORIGDSTADDR                   = 0x14
--	IP_RECVRETOPTS                       = 0x7
--	IP_RECVTOS                           = 0xd
--	IP_RECVTTL                           = 0xc
--	IP_RETOPTS                           = 0x7
--	IP_RF                                = 0x8000
--	IP_ROUTER_ALERT                      = 0x5
--	IP_TOS                               = 0x1
--	IP_TRANSPARENT                       = 0x13
--	IP_TTL                               = 0x2
--	IP_UNBLOCK_SOURCE                    = 0x25
--	IP_UNICAST_IF                        = 0x32
--	IP_XFRM_POLICY                       = 0x11
--	ISIG                                 = 0x1
--	ISTRIP                               = 0x20
--	IUCLC                                = 0x200
--	IUTF8                                = 0x4000
--	IXANY                                = 0x800
--	IXOFF                                = 0x1000
--	IXON                                 = 0x400
--	KEYCTL_ASSUME_AUTHORITY              = 0x10
--	KEYCTL_CHOWN                         = 0x4
--	KEYCTL_CLEAR                         = 0x7
--	KEYCTL_DESCRIBE                      = 0x6
--	KEYCTL_DH_COMPUTE                    = 0x17
--	KEYCTL_GET_KEYRING_ID                = 0x0
--	KEYCTL_GET_PERSISTENT                = 0x16
--	KEYCTL_GET_SECURITY                  = 0x11
--	KEYCTL_INSTANTIATE                   = 0xc
--	KEYCTL_INSTANTIATE_IOV               = 0x14
--	KEYCTL_INVALIDATE                    = 0x15
--	KEYCTL_JOIN_SESSION_KEYRING          = 0x1
--	KEYCTL_LINK                          = 0x8
--	KEYCTL_NEGATE                        = 0xd
--	KEYCTL_READ                          = 0xb
--	KEYCTL_REJECT                        = 0x13
--	KEYCTL_REVOKE                        = 0x3
--	KEYCTL_SEARCH                        = 0xa
--	KEYCTL_SESSION_TO_PARENT             = 0x12
--	KEYCTL_SETPERM                       = 0x5
--	KEYCTL_SET_REQKEY_KEYRING            = 0xe
--	KEYCTL_SET_TIMEOUT                   = 0xf
--	KEYCTL_UNLINK                        = 0x9
--	KEYCTL_UPDATE                        = 0x2
--	KEY_REQKEY_DEFL_DEFAULT              = 0x0
--	KEY_REQKEY_DEFL_GROUP_KEYRING        = 0x6
--	KEY_REQKEY_DEFL_NO_CHANGE            = -0x1
--	KEY_REQKEY_DEFL_PROCESS_KEYRING      = 0x2
--	KEY_REQKEY_DEFL_REQUESTOR_KEYRING    = 0x7
--	KEY_REQKEY_DEFL_SESSION_KEYRING      = 0x3
--	KEY_REQKEY_DEFL_THREAD_KEYRING       = 0x1
--	KEY_REQKEY_DEFL_USER_KEYRING         = 0x4
--	KEY_REQKEY_DEFL_USER_SESSION_KEYRING = 0x5
--	KEY_SPEC_GROUP_KEYRING               = -0x6
--	KEY_SPEC_PROCESS_KEYRING             = -0x2
--	KEY_SPEC_REQKEY_AUTH_KEY             = -0x7
--	KEY_SPEC_REQUESTOR_KEYRING           = -0x8
--	KEY_SPEC_SESSION_KEYRING             = -0x3
--	KEY_SPEC_THREAD_KEYRING              = -0x1
--	KEY_SPEC_USER_KEYRING                = -0x4
--	KEY_SPEC_USER_SESSION_KEYRING        = -0x5
--	LINUX_REBOOT_CMD_CAD_OFF             = 0x0
--	LINUX_REBOOT_CMD_CAD_ON              = 0x89abcdef
--	LINUX_REBOOT_CMD_HALT                = 0xcdef0123
--	LINUX_REBOOT_CMD_KEXEC               = 0x45584543
--	LINUX_REBOOT_CMD_POWER_OFF           = 0x4321fedc
--	LINUX_REBOOT_CMD_RESTART             = 0x1234567
--	LINUX_REBOOT_CMD_RESTART2            = 0xa1b2c3d4
--	LINUX_REBOOT_CMD_SW_SUSPEND          = 0xd000fce2
--	LINUX_REBOOT_MAGIC1                  = 0xfee1dead
--	LINUX_REBOOT_MAGIC2                  = 0x28121969
--	LOCK_EX                              = 0x2
--	LOCK_NB                              = 0x4
--	LOCK_SH                              = 0x1
--	LOCK_UN                              = 0x8
--	MADV_DODUMP                          = 0x11
--	MADV_DOFORK                          = 0xb
--	MADV_DONTDUMP                        = 0x10
--	MADV_DONTFORK                        = 0xa
--	MADV_DONTNEED                        = 0x4
--	MADV_FREE                            = 0x8
--	MADV_HUGEPAGE                        = 0xe
--	MADV_HWPOISON                        = 0x64
--	MADV_MERGEABLE                       = 0xc
--	MADV_NOHUGEPAGE                      = 0xf
--	MADV_NORMAL                          = 0x0
--	MADV_RANDOM                          = 0x1
--	MADV_REMOVE                          = 0x9
--	MADV_SEQUENTIAL                      = 0x2
--	MADV_UNMERGEABLE                     = 0xd
--	MADV_WILLNEED                        = 0x3
--	MAP_ANON                             = 0x800
--	MAP_ANONYMOUS                        = 0x800
--	MAP_DENYWRITE                        = 0x2000
--	MAP_EXECUTABLE                       = 0x4000
--	MAP_FILE                             = 0x0
--	MAP_FIXED                            = 0x10
--	MAP_GROWSDOWN                        = 0x1000
--	MAP_HUGETLB                          = 0x80000
--	MAP_HUGE_MASK                        = 0x3f
--	MAP_HUGE_SHIFT                       = 0x1a
--	MAP_LOCKED                           = 0x8000
--	MAP_NONBLOCK                         = 0x20000
--	MAP_NORESERVE                        = 0x400
--	MAP_POPULATE                         = 0x10000
--	MAP_PRIVATE                          = 0x2
--	MAP_RENAME                           = 0x800
--	MAP_SHARED                           = 0x1
--	MAP_STACK                            = 0x40000
--	MAP_TYPE                             = 0xf
--	MCL_CURRENT                          = 0x1
--	MCL_FUTURE                           = 0x2
--	MCL_ONFAULT                          = 0x4
--	MNT_DETACH                           = 0x2
--	MNT_EXPIRE                           = 0x4
--	MNT_FORCE                            = 0x1
--	MSG_BATCH                            = 0x40000
--	MSG_CMSG_CLOEXEC                     = 0x40000000
--	MSG_CONFIRM                          = 0x800
--	MSG_CTRUNC                           = 0x8
--	MSG_DONTROUTE                        = 0x4
--	MSG_DONTWAIT                         = 0x40
--	MSG_EOR                              = 0x80
--	MSG_ERRQUEUE                         = 0x2000
--	MSG_FASTOPEN                         = 0x20000000
--	MSG_FIN                              = 0x200
--	MSG_MORE                             = 0x8000
--	MSG_NOSIGNAL                         = 0x4000
--	MSG_OOB                              = 0x1
--	MSG_PEEK                             = 0x2
--	MSG_PROXY                            = 0x10
--	MSG_RST                              = 0x1000
--	MSG_SYN                              = 0x400
--	MSG_TRUNC                            = 0x20
--	MSG_TRYHARD                          = 0x4
--	MSG_WAITALL                          = 0x100
--	MSG_WAITFORONE                       = 0x10000
--	MS_ACTIVE                            = 0x40000000
--	MS_ASYNC                             = 0x1
--	MS_BIND                              = 0x1000
--	MS_BORN                              = 0x20000000
--	MS_DIRSYNC                           = 0x80
--	MS_INVALIDATE                        = 0x2
--	MS_I_VERSION                         = 0x800000
--	MS_KERNMOUNT                         = 0x400000
--	MS_LAZYTIME                          = 0x2000000
--	MS_MANDLOCK                          = 0x40
--	MS_MGC_MSK                           = 0xffff0000
--	MS_MGC_VAL                           = 0xc0ed0000
--	MS_MOVE                              = 0x2000
--	MS_NOATIME                           = 0x400
--	MS_NODEV                             = 0x4
--	MS_NODIRATIME                        = 0x800
--	MS_NOEXEC                            = 0x8
--	MS_NOREMOTELOCK                      = 0x8000000
--	MS_NOSEC                             = 0x10000000
--	MS_NOSUID                            = 0x2
--	MS_NOUSER                            = -0x80000000
--	MS_POSIXACL                          = 0x10000
--	MS_PRIVATE                           = 0x40000
--	MS_RDONLY                            = 0x1
--	MS_REC                               = 0x4000
--	MS_RELATIME                          = 0x200000
--	MS_REMOUNT                           = 0x20
--	MS_RMT_MASK                          = 0x2800051
--	MS_SHARED                            = 0x100000
--	MS_SILENT                            = 0x8000
--	MS_SLAVE                             = 0x80000
--	MS_STRICTATIME                       = 0x1000000
--	MS_SYNC                              = 0x4
--	MS_SYNCHRONOUS                       = 0x10
--	MS_UNBINDABLE                        = 0x20000
--	MS_VERBOSE                           = 0x8000
--	NAME_MAX                             = 0xff
--	NETLINK_ADD_MEMBERSHIP               = 0x1
--	NETLINK_AUDIT                        = 0x9
--	NETLINK_BROADCAST_ERROR              = 0x4
--	NETLINK_CAP_ACK                      = 0xa
--	NETLINK_CONNECTOR                    = 0xb
--	NETLINK_CRYPTO                       = 0x15
--	NETLINK_DNRTMSG                      = 0xe
--	NETLINK_DROP_MEMBERSHIP              = 0x2
--	NETLINK_ECRYPTFS                     = 0x13
--	NETLINK_FIB_LOOKUP                   = 0xa
--	NETLINK_FIREWALL                     = 0x3
--	NETLINK_GENERIC                      = 0x10
--	NETLINK_INET_DIAG                    = 0x4
--	NETLINK_IP6_FW                       = 0xd
--	NETLINK_ISCSI                        = 0x8
--	NETLINK_KOBJECT_UEVENT               = 0xf
--	NETLINK_LISTEN_ALL_NSID              = 0x8
--	NETLINK_LIST_MEMBERSHIPS             = 0x9
--	NETLINK_NETFILTER                    = 0xc
--	NETLINK_NFLOG                        = 0x5
--	NETLINK_NO_ENOBUFS                   = 0x5
--	NETLINK_PKTINFO                      = 0x3
--	NETLINK_RDMA                         = 0x14
--	NETLINK_ROUTE                        = 0x0
--	NETLINK_RX_RING                      = 0x6
--	NETLINK_SCSITRANSPORT                = 0x12
--	NETLINK_SELINUX                      = 0x7
--	NETLINK_SOCK_DIAG                    = 0x4
--	NETLINK_TX_RING                      = 0x7
--	NETLINK_UNUSED                       = 0x1
--	NETLINK_USERSOCK                     = 0x2
--	NETLINK_XFRM                         = 0x6
--	NL0                                  = 0x0
--	NL1                                  = 0x100
--	NLA_ALIGNTO                          = 0x4
--	NLA_F_NESTED                         = 0x8000
--	NLA_F_NET_BYTEORDER                  = 0x4000
--	NLA_HDRLEN                           = 0x4
--	NLDLY                                = 0x100
--	NLMSG_ALIGNTO                        = 0x4
--	NLMSG_DONE                           = 0x3
--	NLMSG_ERROR                          = 0x2
--	NLMSG_HDRLEN                         = 0x10
--	NLMSG_MIN_TYPE                       = 0x10
--	NLMSG_NOOP                           = 0x1
--	NLMSG_OVERRUN                        = 0x4
--	NLM_F_ACK                            = 0x4
--	NLM_F_APPEND                         = 0x800
--	NLM_F_ATOMIC                         = 0x400
--	NLM_F_CREATE                         = 0x400
--	NLM_F_DUMP                           = 0x300
--	NLM_F_DUMP_FILTERED                  = 0x20
--	NLM_F_DUMP_INTR                      = 0x10
--	NLM_F_ECHO                           = 0x8
--	NLM_F_EXCL                           = 0x200
--	NLM_F_MATCH                          = 0x200
--	NLM_F_MULTI                          = 0x2
--	NLM_F_REPLACE                        = 0x100
--	NLM_F_REQUEST                        = 0x1
--	NLM_F_ROOT                           = 0x100
--	NOFLSH                               = 0x80
--	OCRNL                                = 0x8
--	OFDEL                                = 0x80
--	OFILL                                = 0x40
--	OLCUC                                = 0x2
--	ONLCR                                = 0x4
--	ONLRET                               = 0x20
--	ONOCR                                = 0x10
--	OPOST                                = 0x1
--	O_ACCMODE                            = 0x3
--	O_APPEND                             = 0x8
--	O_ASYNC                              = 0x1000
--	O_CLOEXEC                            = 0x80000
--	O_CREAT                              = 0x100
--	O_DIRECT                             = 0x8000
--	O_DIRECTORY                          = 0x10000
--	O_DSYNC                              = 0x10
--	O_EXCL                               = 0x400
--	O_FSYNC                              = 0x4010
--	O_LARGEFILE                          = 0x0
--	O_NDELAY                             = 0x80
--	O_NOATIME                            = 0x40000
--	O_NOCTTY                             = 0x800
--	O_NOFOLLOW                           = 0x20000
--	O_NONBLOCK                           = 0x80
--	O_PATH                               = 0x200000
--	O_RDONLY                             = 0x0
--	O_RDWR                               = 0x2
--	O_RSYNC                              = 0x4010
--	O_SYNC                               = 0x4010
--	O_TMPFILE                            = 0x410000
--	O_TRUNC                              = 0x200
--	O_WRONLY                             = 0x1
--	PACKET_ADD_MEMBERSHIP                = 0x1
--	PACKET_AUXDATA                       = 0x8
--	PACKET_BROADCAST                     = 0x1
--	PACKET_COPY_THRESH                   = 0x7
--	PACKET_DROP_MEMBERSHIP               = 0x2
--	PACKET_FANOUT                        = 0x12
--	PACKET_FANOUT_CBPF                   = 0x6
--	PACKET_FANOUT_CPU                    = 0x2
--	PACKET_FANOUT_DATA                   = 0x16
--	PACKET_FANOUT_EBPF                   = 0x7
--	PACKET_FANOUT_FLAG_DEFRAG            = 0x8000
--	PACKET_FANOUT_FLAG_ROLLOVER          = 0x1000
--	PACKET_FANOUT_HASH                   = 0x0
--	PACKET_FANOUT_LB                     = 0x1
--	PACKET_FANOUT_QM                     = 0x5
--	PACKET_FANOUT_RND                    = 0x4
--	PACKET_FANOUT_ROLLOVER               = 0x3
--	PACKET_FASTROUTE                     = 0x6
--	PACKET_HDRLEN                        = 0xb
--	PACKET_HOST                          = 0x0
--	PACKET_KERNEL                        = 0x7
--	PACKET_LOOPBACK                      = 0x5
--	PACKET_LOSS                          = 0xe
--	PACKET_MR_ALLMULTI                   = 0x2
--	PACKET_MR_MULTICAST                  = 0x0
--	PACKET_MR_PROMISC                    = 0x1
--	PACKET_MR_UNICAST                    = 0x3
--	PACKET_MULTICAST                     = 0x2
--	PACKET_ORIGDEV                       = 0x9
--	PACKET_OTHERHOST                     = 0x3
--	PACKET_OUTGOING                      = 0x4
--	PACKET_QDISC_BYPASS                  = 0x14
--	PACKET_RECV_OUTPUT                   = 0x3
--	PACKET_RESERVE                       = 0xc
--	PACKET_ROLLOVER_STATS                = 0x15
--	PACKET_RX_RING                       = 0x5
--	PACKET_STATISTICS                    = 0x6
--	PACKET_TIMESTAMP                     = 0x11
--	PACKET_TX_HAS_OFF                    = 0x13
--	PACKET_TX_RING                       = 0xd
--	PACKET_TX_TIMESTAMP                  = 0x10
--	PACKET_USER                          = 0x6
--	PACKET_VERSION                       = 0xa
--	PACKET_VNET_HDR                      = 0xf
--	PARENB                               = 0x100
--	PARITY_CRC16_PR0                     = 0x2
--	PARITY_CRC16_PR0_CCITT               = 0x4
--	PARITY_CRC16_PR1                     = 0x3
--	PARITY_CRC16_PR1_CCITT               = 0x5
--	PARITY_CRC32_PR0_CCITT               = 0x6
--	PARITY_CRC32_PR1_CCITT               = 0x7
--	PARITY_DEFAULT                       = 0x0
--	PARITY_NONE                          = 0x1
--	PARMRK                               = 0x8
--	PARODD                               = 0x200
--	PENDIN                               = 0x4000
--	PERF_EVENT_IOC_DISABLE               = 0x20002401
--	PERF_EVENT_IOC_ENABLE                = 0x20002400
--	PERF_EVENT_IOC_ID                    = 0x40082407
--	PERF_EVENT_IOC_PAUSE_OUTPUT          = 0x80042409
--	PERF_EVENT_IOC_PERIOD                = 0x80082404
--	PERF_EVENT_IOC_REFRESH               = 0x20002402
--	PERF_EVENT_IOC_RESET                 = 0x20002403
--	PERF_EVENT_IOC_SET_BPF               = 0x80042408
--	PERF_EVENT_IOC_SET_FILTER            = 0x80082406
--	PERF_EVENT_IOC_SET_OUTPUT            = 0x20002405
--	PRIO_PGRP                            = 0x1
--	PRIO_PROCESS                         = 0x0
--	PRIO_USER                            = 0x2
--	PROT_EXEC                            = 0x4
--	PROT_GROWSDOWN                       = 0x1000000
--	PROT_GROWSUP                         = 0x2000000
--	PROT_NONE                            = 0x0
--	PROT_READ                            = 0x1
--	PROT_WRITE                           = 0x2
--	PR_CAPBSET_DROP                      = 0x18
--	PR_CAPBSET_READ                      = 0x17
--	PR_CAP_AMBIENT                       = 0x2f
--	PR_CAP_AMBIENT_CLEAR_ALL             = 0x4
--	PR_CAP_AMBIENT_IS_SET                = 0x1
--	PR_CAP_AMBIENT_LOWER                 = 0x3
--	PR_CAP_AMBIENT_RAISE                 = 0x2
--	PR_ENDIAN_BIG                        = 0x0
--	PR_ENDIAN_LITTLE                     = 0x1
--	PR_ENDIAN_PPC_LITTLE                 = 0x2
--	PR_FPEMU_NOPRINT                     = 0x1
--	PR_FPEMU_SIGFPE                      = 0x2
--	PR_FP_EXC_ASYNC                      = 0x2
--	PR_FP_EXC_DISABLED                   = 0x0
--	PR_FP_EXC_DIV                        = 0x10000
--	PR_FP_EXC_INV                        = 0x100000
--	PR_FP_EXC_NONRECOV                   = 0x1
--	PR_FP_EXC_OVF                        = 0x20000
--	PR_FP_EXC_PRECISE                    = 0x3
--	PR_FP_EXC_RES                        = 0x80000
--	PR_FP_EXC_SW_ENABLE                  = 0x80
--	PR_FP_EXC_UND                        = 0x40000
--	PR_FP_MODE_FR                        = 0x1
--	PR_FP_MODE_FRE                       = 0x2
--	PR_GET_CHILD_SUBREAPER               = 0x25
--	PR_GET_DUMPABLE                      = 0x3
--	PR_GET_ENDIAN                        = 0x13
--	PR_GET_FPEMU                         = 0x9
--	PR_GET_FPEXC                         = 0xb
--	PR_GET_FP_MODE                       = 0x2e
--	PR_GET_KEEPCAPS                      = 0x7
--	PR_GET_NAME                          = 0x10
--	PR_GET_NO_NEW_PRIVS                  = 0x27
--	PR_GET_PDEATHSIG                     = 0x2
--	PR_GET_SECCOMP                       = 0x15
--	PR_GET_SECUREBITS                    = 0x1b
--	PR_GET_THP_DISABLE                   = 0x2a
--	PR_GET_TID_ADDRESS                   = 0x28
--	PR_GET_TIMERSLACK                    = 0x1e
--	PR_GET_TIMING                        = 0xd
--	PR_GET_TSC                           = 0x19
--	PR_GET_UNALIGN                       = 0x5
--	PR_MCE_KILL                          = 0x21
--	PR_MCE_KILL_CLEAR                    = 0x0
--	PR_MCE_KILL_DEFAULT                  = 0x2
--	PR_MCE_KILL_EARLY                    = 0x1
--	PR_MCE_KILL_GET                      = 0x22
--	PR_MCE_KILL_LATE                     = 0x0
--	PR_MCE_KILL_SET                      = 0x1
--	PR_MPX_DISABLE_MANAGEMENT            = 0x2c
--	PR_MPX_ENABLE_MANAGEMENT             = 0x2b
--	PR_SET_CHILD_SUBREAPER               = 0x24
--	PR_SET_DUMPABLE                      = 0x4
--	PR_SET_ENDIAN                        = 0x14
--	PR_SET_FPEMU                         = 0xa
--	PR_SET_FPEXC                         = 0xc
--	PR_SET_FP_MODE                       = 0x2d
--	PR_SET_KEEPCAPS                      = 0x8
--	PR_SET_MM                            = 0x23
--	PR_SET_MM_ARG_END                    = 0x9
--	PR_SET_MM_ARG_START                  = 0x8
--	PR_SET_MM_AUXV                       = 0xc
--	PR_SET_MM_BRK                        = 0x7
--	PR_SET_MM_END_CODE                   = 0x2
--	PR_SET_MM_END_DATA                   = 0x4
--	PR_SET_MM_ENV_END                    = 0xb
--	PR_SET_MM_ENV_START                  = 0xa
--	PR_SET_MM_EXE_FILE                   = 0xd
--	PR_SET_MM_MAP                        = 0xe
--	PR_SET_MM_MAP_SIZE                   = 0xf
--	PR_SET_MM_START_BRK                  = 0x6
--	PR_SET_MM_START_CODE                 = 0x1
--	PR_SET_MM_START_DATA                 = 0x3
--	PR_SET_MM_START_STACK                = 0x5
--	PR_SET_NAME                          = 0xf
--	PR_SET_NO_NEW_PRIVS                  = 0x26
--	PR_SET_PDEATHSIG                     = 0x1
--	PR_SET_PTRACER                       = 0x59616d61
--	PR_SET_PTRACER_ANY                   = -0x1
--	PR_SET_SECCOMP                       = 0x16
--	PR_SET_SECUREBITS                    = 0x1c
--	PR_SET_THP_DISABLE                   = 0x29
--	PR_SET_TIMERSLACK                    = 0x1d
--	PR_SET_TIMING                        = 0xe
--	PR_SET_TSC                           = 0x1a
--	PR_SET_UNALIGN                       = 0x6
--	PR_TASK_PERF_EVENTS_DISABLE          = 0x1f
--	PR_TASK_PERF_EVENTS_ENABLE           = 0x20
--	PR_TIMING_STATISTICAL                = 0x0
--	PR_TIMING_TIMESTAMP                  = 0x1
--	PR_TSC_ENABLE                        = 0x1
--	PR_TSC_SIGSEGV                       = 0x2
--	PR_UNALIGN_NOPRINT                   = 0x1
--	PR_UNALIGN_SIGBUS                    = 0x2
--	PTRACE_ATTACH                        = 0x10
--	PTRACE_CONT                          = 0x7
--	PTRACE_DETACH                        = 0x11
--	PTRACE_EVENT_CLONE                   = 0x3
--	PTRACE_EVENT_EXEC                    = 0x4
--	PTRACE_EVENT_EXIT                    = 0x6
--	PTRACE_EVENT_FORK                    = 0x1
--	PTRACE_EVENT_SECCOMP                 = 0x7
--	PTRACE_EVENT_STOP                    = 0x80
--	PTRACE_EVENT_VFORK                   = 0x2
--	PTRACE_EVENT_VFORK_DONE              = 0x5
--	PTRACE_GETEVENTMSG                   = 0x4201
--	PTRACE_GETFPREGS                     = 0xe
--	PTRACE_GETREGS                       = 0xc
--	PTRACE_GETREGSET                     = 0x4204
--	PTRACE_GETSIGINFO                    = 0x4202
--	PTRACE_GETSIGMASK                    = 0x420a
--	PTRACE_GET_THREAD_AREA               = 0x19
--	PTRACE_GET_THREAD_AREA_3264          = 0xc4
--	PTRACE_GET_WATCH_REGS                = 0xd0
--	PTRACE_INTERRUPT                     = 0x4207
--	PTRACE_KILL                          = 0x8
--	PTRACE_LISTEN                        = 0x4208
--	PTRACE_OLDSETOPTIONS                 = 0x15
--	PTRACE_O_EXITKILL                    = 0x100000
--	PTRACE_O_MASK                        = 0x3000ff
--	PTRACE_O_SUSPEND_SECCOMP             = 0x200000
--	PTRACE_O_TRACECLONE                  = 0x8
--	PTRACE_O_TRACEEXEC                   = 0x10
--	PTRACE_O_TRACEEXIT                   = 0x40
--	PTRACE_O_TRACEFORK                   = 0x2
--	PTRACE_O_TRACESECCOMP                = 0x80
--	PTRACE_O_TRACESYSGOOD                = 0x1
--	PTRACE_O_TRACEVFORK                  = 0x4
--	PTRACE_O_TRACEVFORKDONE              = 0x20
--	PTRACE_PEEKDATA                      = 0x2
--	PTRACE_PEEKDATA_3264                 = 0xc1
--	PTRACE_PEEKSIGINFO                   = 0x4209
--	PTRACE_PEEKSIGINFO_SHARED            = 0x1
--	PTRACE_PEEKTEXT                      = 0x1
--	PTRACE_PEEKTEXT_3264                 = 0xc0
--	PTRACE_PEEKUSR                       = 0x3
--	PTRACE_POKEDATA                      = 0x5
--	PTRACE_POKEDATA_3264                 = 0xc3
--	PTRACE_POKETEXT                      = 0x4
--	PTRACE_POKETEXT_3264                 = 0xc2
--	PTRACE_POKEUSR                       = 0x6
--	PTRACE_SECCOMP_GET_FILTER            = 0x420c
--	PTRACE_SEIZE                         = 0x4206
--	PTRACE_SETFPREGS                     = 0xf
--	PTRACE_SETOPTIONS                    = 0x4200
--	PTRACE_SETREGS                       = 0xd
--	PTRACE_SETREGSET                     = 0x4205
--	PTRACE_SETSIGINFO                    = 0x4203
--	PTRACE_SETSIGMASK                    = 0x420b
--	PTRACE_SET_THREAD_AREA               = 0x1a
--	PTRACE_SET_WATCH_REGS                = 0xd1
--	PTRACE_SINGLESTEP                    = 0x9
--	PTRACE_SYSCALL                       = 0x18
--	PTRACE_TRACEME                       = 0x0
--	RLIMIT_AS                            = 0x6
--	RLIMIT_CORE                          = 0x4
--	RLIMIT_CPU                           = 0x0
--	RLIMIT_DATA                          = 0x2
--	RLIMIT_FSIZE                         = 0x1
--	RLIMIT_LOCKS                         = 0xa
--	RLIMIT_MEMLOCK                       = 0x9
--	RLIMIT_MSGQUEUE                      = 0xc
--	RLIMIT_NICE                          = 0xd
--	RLIMIT_NOFILE                        = 0x5
--	RLIMIT_NPROC                         = 0x8
--	RLIMIT_RSS                           = 0x7
--	RLIMIT_RTPRIO                        = 0xe
--	RLIMIT_RTTIME                        = 0xf
--	RLIMIT_SIGPENDING                    = 0xb
--	RLIMIT_STACK                         = 0x3
--	RLIM_INFINITY                        = -0x1
--	RTAX_ADVMSS                          = 0x8
--	RTAX_CC_ALGO                         = 0x10
--	RTAX_CWND                            = 0x7
--	RTAX_FEATURES                        = 0xc
--	RTAX_FEATURE_ALLFRAG                 = 0x8
--	RTAX_FEATURE_ECN                     = 0x1
--	RTAX_FEATURE_MASK                    = 0xf
--	RTAX_FEATURE_SACK                    = 0x2
--	RTAX_FEATURE_TIMESTAMP               = 0x4
--	RTAX_HOPLIMIT                        = 0xa
--	RTAX_INITCWND                        = 0xb
--	RTAX_INITRWND                        = 0xe
--	RTAX_LOCK                            = 0x1
--	RTAX_MAX                             = 0x10
--	RTAX_MTU                             = 0x2
--	RTAX_QUICKACK                        = 0xf
--	RTAX_REORDERING                      = 0x9
--	RTAX_RTO_MIN                         = 0xd
--	RTAX_RTT                             = 0x4
--	RTAX_RTTVAR                          = 0x5
--	RTAX_SSTHRESH                        = 0x6
--	RTAX_UNSPEC                          = 0x0
--	RTAX_WINDOW                          = 0x3
--	RTA_ALIGNTO                          = 0x4
--	RTA_MAX                              = 0x19
--	RTCF_DIRECTSRC                       = 0x4000000
--	RTCF_DOREDIRECT                      = 0x1000000
--	RTCF_LOG                             = 0x2000000
--	RTCF_MASQ                            = 0x400000
--	RTCF_NAT                             = 0x800000
--	RTCF_VALVE                           = 0x200000
--	RTF_ADDRCLASSMASK                    = 0xf8000000
--	RTF_ADDRCONF                         = 0x40000
--	RTF_ALLONLINK                        = 0x20000
--	RTF_BROADCAST                        = 0x10000000
--	RTF_CACHE                            = 0x1000000
--	RTF_DEFAULT                          = 0x10000
--	RTF_DYNAMIC                          = 0x10
--	RTF_FLOW                             = 0x2000000
--	RTF_GATEWAY                          = 0x2
--	RTF_HOST                             = 0x4
--	RTF_INTERFACE                        = 0x40000000
--	RTF_IRTT                             = 0x100
--	RTF_LINKRT                           = 0x100000
--	RTF_LOCAL                            = 0x80000000
--	RTF_MODIFIED                         = 0x20
--	RTF_MSS                              = 0x40
--	RTF_MTU                              = 0x40
--	RTF_MULTICAST                        = 0x20000000
--	RTF_NAT                              = 0x8000000
--	RTF_NOFORWARD                        = 0x1000
--	RTF_NONEXTHOP                        = 0x200000
--	RTF_NOPMTUDISC                       = 0x4000
--	RTF_POLICY                           = 0x4000000
--	RTF_REINSTATE                        = 0x8
--	RTF_REJECT                           = 0x200
--	RTF_STATIC                           = 0x400
--	RTF_THROW                            = 0x2000
--	RTF_UP                               = 0x1
--	RTF_WINDOW                           = 0x80
--	RTF_XRESOLVE                         = 0x800
--	RTM_BASE                             = 0x10
--	RTM_DELACTION                        = 0x31
--	RTM_DELADDR                          = 0x15
--	RTM_DELADDRLABEL                     = 0x49
--	RTM_DELLINK                          = 0x11
--	RTM_DELMDB                           = 0x55
--	RTM_DELNEIGH                         = 0x1d
--	RTM_DELNSID                          = 0x59
--	RTM_DELQDISC                         = 0x25
--	RTM_DELROUTE                         = 0x19
--	RTM_DELRULE                          = 0x21
--	RTM_DELTCLASS                        = 0x29
--	RTM_DELTFILTER                       = 0x2d
--	RTM_F_CLONED                         = 0x200
--	RTM_F_EQUALIZE                       = 0x400
--	RTM_F_LOOKUP_TABLE                   = 0x1000
--	RTM_F_NOTIFY                         = 0x100
--	RTM_F_PREFIX                         = 0x800
--	RTM_GETACTION                        = 0x32
--	RTM_GETADDR                          = 0x16
--	RTM_GETADDRLABEL                     = 0x4a
--	RTM_GETANYCAST                       = 0x3e
--	RTM_GETDCB                           = 0x4e
--	RTM_GETLINK                          = 0x12
--	RTM_GETMDB                           = 0x56
--	RTM_GETMULTICAST                     = 0x3a
--	RTM_GETNEIGH                         = 0x1e
--	RTM_GETNEIGHTBL                      = 0x42
--	RTM_GETNETCONF                       = 0x52
--	RTM_GETNSID                          = 0x5a
--	RTM_GETQDISC                         = 0x26
--	RTM_GETROUTE                         = 0x1a
--	RTM_GETRULE                          = 0x22
--	RTM_GETSTATS                         = 0x5e
--	RTM_GETTCLASS                        = 0x2a
--	RTM_GETTFILTER                       = 0x2e
--	RTM_MAX                              = 0x5f
--	RTM_NEWACTION                        = 0x30
--	RTM_NEWADDR                          = 0x14
--	RTM_NEWADDRLABEL                     = 0x48
--	RTM_NEWLINK                          = 0x10
--	RTM_NEWMDB                           = 0x54
--	RTM_NEWNDUSEROPT                     = 0x44
--	RTM_NEWNEIGH                         = 0x1c
--	RTM_NEWNEIGHTBL                      = 0x40
--	RTM_NEWNETCONF                       = 0x50
--	RTM_NEWNSID                          = 0x58
--	RTM_NEWPREFIX                        = 0x34
--	RTM_NEWQDISC                         = 0x24
--	RTM_NEWROUTE                         = 0x18
--	RTM_NEWRULE                          = 0x20
--	RTM_NEWSTATS                         = 0x5c
--	RTM_NEWTCLASS                        = 0x28
--	RTM_NEWTFILTER                       = 0x2c
--	RTM_NR_FAMILIES                      = 0x14
--	RTM_NR_MSGTYPES                      = 0x50
--	RTM_SETDCB                           = 0x4f
--	RTM_SETLINK                          = 0x13
--	RTM_SETNEIGHTBL                      = 0x43
--	RTNH_ALIGNTO                         = 0x4
--	RTNH_COMPARE_MASK                    = 0x19
--	RTNH_F_DEAD                          = 0x1
--	RTNH_F_LINKDOWN                      = 0x10
--	RTNH_F_OFFLOAD                       = 0x8
--	RTNH_F_ONLINK                        = 0x4
--	RTNH_F_PERVASIVE                     = 0x2
--	RTN_MAX                              = 0xb
--	RTPROT_BABEL                         = 0x2a
--	RTPROT_BIRD                          = 0xc
--	RTPROT_BOOT                          = 0x3
--	RTPROT_DHCP                          = 0x10
--	RTPROT_DNROUTED                      = 0xd
--	RTPROT_GATED                         = 0x8
--	RTPROT_KERNEL                        = 0x2
--	RTPROT_MROUTED                       = 0x11
--	RTPROT_MRT                           = 0xa
--	RTPROT_NTK                           = 0xf
--	RTPROT_RA                            = 0x9
--	RTPROT_REDIRECT                      = 0x1
--	RTPROT_STATIC                        = 0x4
--	RTPROT_UNSPEC                        = 0x0
--	RTPROT_XORP                          = 0xe
--	RTPROT_ZEBRA                         = 0xb
--	RT_CLASS_DEFAULT                     = 0xfd
--	RT_CLASS_LOCAL                       = 0xff
--	RT_CLASS_MAIN                        = 0xfe
--	RT_CLASS_MAX                         = 0xff
--	RT_CLASS_UNSPEC                      = 0x0
--	RUSAGE_CHILDREN                      = -0x1
--	RUSAGE_SELF                          = 0x0
--	RUSAGE_THREAD                        = 0x1
--	SCM_CREDENTIALS                      = 0x2
--	SCM_RIGHTS                           = 0x1
--	SCM_TIMESTAMP                        = 0x1d
--	SCM_TIMESTAMPING                     = 0x25
--	SCM_TIMESTAMPING_OPT_STATS           = 0x36
--	SCM_TIMESTAMPNS                      = 0x23
--	SCM_WIFI_STATUS                      = 0x29
--	SECCOMP_MODE_DISABLED                = 0x0
--	SECCOMP_MODE_FILTER                  = 0x2
--	SECCOMP_MODE_STRICT                  = 0x1
--	SHUT_RD                              = 0x0
--	SHUT_RDWR                            = 0x2
--	SHUT_WR                              = 0x1
--	SIOCADDDLCI                          = 0x8980
--	SIOCADDMULTI                         = 0x8931
--	SIOCADDRT                            = 0x890b
--	SIOCATMARK                           = 0x40047307
--	SIOCBONDCHANGEACTIVE                 = 0x8995
--	SIOCBONDENSLAVE                      = 0x8990
--	SIOCBONDINFOQUERY                    = 0x8994
--	SIOCBONDRELEASE                      = 0x8991
--	SIOCBONDSETHWADDR                    = 0x8992
--	SIOCBONDSLAVEINFOQUERY               = 0x8993
--	SIOCBRADDBR                          = 0x89a0
--	SIOCBRADDIF                          = 0x89a2
--	SIOCBRDELBR                          = 0x89a1
--	SIOCBRDELIF                          = 0x89a3
--	SIOCDARP                             = 0x8953
--	SIOCDELDLCI                          = 0x8981
--	SIOCDELMULTI                         = 0x8932
--	SIOCDELRT                            = 0x890c
--	SIOCDEVPRIVATE                       = 0x89f0
--	SIOCDIFADDR                          = 0x8936
--	SIOCDRARP                            = 0x8960
--	SIOCETHTOOL                          = 0x8946
--	SIOCGARP                             = 0x8954
--	SIOCGHWTSTAMP                        = 0x89b1
--	SIOCGIFADDR                          = 0x8915
--	SIOCGIFBR                            = 0x8940
--	SIOCGIFBRDADDR                       = 0x8919
--	SIOCGIFCONF                          = 0x8912
--	SIOCGIFCOUNT                         = 0x8938
--	SIOCGIFDSTADDR                       = 0x8917
--	SIOCGIFENCAP                         = 0x8925
--	SIOCGIFFLAGS                         = 0x8913
--	SIOCGIFHWADDR                        = 0x8927
--	SIOCGIFINDEX                         = 0x8933
--	SIOCGIFMAP                           = 0x8970
--	SIOCGIFMEM                           = 0x891f
--	SIOCGIFMETRIC                        = 0x891d
--	SIOCGIFMTU                           = 0x8921
--	SIOCGIFNAME                          = 0x8910
--	SIOCGIFNETMASK                       = 0x891b
--	SIOCGIFPFLAGS                        = 0x8935
--	SIOCGIFSLAVE                         = 0x8929
--	SIOCGIFTXQLEN                        = 0x8942
--	SIOCGIFVLAN                          = 0x8982
--	SIOCGMIIPHY                          = 0x8947
--	SIOCGMIIREG                          = 0x8948
--	SIOCGPGRP                            = 0x40047309
--	SIOCGRARP                            = 0x8961
--	SIOCGSKNS                            = 0x894c
--	SIOCGSTAMP                           = 0x8906
--	SIOCGSTAMPNS                         = 0x8907
--	SIOCINQ                              = 0x467f
--	SIOCOUTQ                             = 0x7472
--	SIOCOUTQNSD                          = 0x894b
--	SIOCPROTOPRIVATE                     = 0x89e0
--	SIOCRTMSG                            = 0x890d
--	SIOCSARP                             = 0x8955
--	SIOCSHWTSTAMP                        = 0x89b0
--	SIOCSIFADDR                          = 0x8916
--	SIOCSIFBR                            = 0x8941
--	SIOCSIFBRDADDR                       = 0x891a
--	SIOCSIFDSTADDR                       = 0x8918
--	SIOCSIFENCAP                         = 0x8926
--	SIOCSIFFLAGS                         = 0x8914
--	SIOCSIFHWADDR                        = 0x8924
--	SIOCSIFHWBROADCAST                   = 0x8937
--	SIOCSIFLINK                          = 0x8911
--	SIOCSIFMAP                           = 0x8971
--	SIOCSIFMEM                           = 0x8920
--	SIOCSIFMETRIC                        = 0x891e
--	SIOCSIFMTU                           = 0x8922
--	SIOCSIFNAME                          = 0x8923
--	SIOCSIFNETMASK                       = 0x891c
--	SIOCSIFPFLAGS                        = 0x8934
--	SIOCSIFSLAVE                         = 0x8930
--	SIOCSIFTXQLEN                        = 0x8943
--	SIOCSIFVLAN                          = 0x8983
--	SIOCSMIIREG                          = 0x8949
--	SIOCSPGRP                            = 0x80047308
--	SIOCSRARP                            = 0x8962
--	SIOCWANDEV                           = 0x894a
--	SOCK_CLOEXEC                         = 0x80000
--	SOCK_DCCP                            = 0x6
--	SOCK_DGRAM                           = 0x1
--	SOCK_IOC_TYPE                        = 0x89
--	SOCK_NONBLOCK                        = 0x80
--	SOCK_PACKET                          = 0xa
--	SOCK_RAW                             = 0x3
--	SOCK_RDM                             = 0x4
--	SOCK_SEQPACKET                       = 0x5
--	SOCK_STREAM                          = 0x2
--	SOL_AAL                              = 0x109
--	SOL_ALG                              = 0x117
--	SOL_ATM                              = 0x108
--	SOL_CAIF                             = 0x116
--	SOL_CAN_BASE                         = 0x64
--	SOL_DCCP                             = 0x10d
--	SOL_DECNET                           = 0x105
--	SOL_ICMPV6                           = 0x3a
--	SOL_IP                               = 0x0
--	SOL_IPV6                             = 0x29
--	SOL_IRDA                             = 0x10a
--	SOL_IUCV                             = 0x115
--	SOL_KCM                              = 0x119
--	SOL_LLC                              = 0x10c
--	SOL_NETBEUI                          = 0x10b
--	SOL_NETLINK                          = 0x10e
--	SOL_NFC                              = 0x118
--	SOL_PACKET                           = 0x107
--	SOL_PNPIPE                           = 0x113
--	SOL_PPPOL2TP                         = 0x111
--	SOL_RAW                              = 0xff
--	SOL_RDS                              = 0x114
--	SOL_RXRPC                            = 0x110
--	SOL_SOCKET                           = 0xffff
--	SOL_TCP                              = 0x6
--	SOL_TIPC                             = 0x10f
--	SOL_X25                              = 0x106
--	SOMAXCONN                            = 0x80
--	SO_ACCEPTCONN                        = 0x1009
--	SO_ATTACH_BPF                        = 0x32
--	SO_ATTACH_FILTER                     = 0x1a
--	SO_ATTACH_REUSEPORT_CBPF             = 0x33
--	SO_ATTACH_REUSEPORT_EBPF             = 0x34
--	SO_BINDTODEVICE                      = 0x19
--	SO_BPF_EXTENSIONS                    = 0x30
--	SO_BROADCAST                         = 0x20
--	SO_BSDCOMPAT                         = 0xe
--	SO_BUSY_POLL                         = 0x2e
--	SO_CNX_ADVICE                        = 0x35
--	SO_DEBUG                             = 0x1
--	SO_DETACH_BPF                        = 0x1b
--	SO_DETACH_FILTER                     = 0x1b
--	SO_DOMAIN                            = 0x1029
--	SO_DONTROUTE                         = 0x10
--	SO_ERROR                             = 0x1007
--	SO_GET_FILTER                        = 0x1a
--	SO_INCOMING_CPU                      = 0x31
--	SO_KEEPALIVE                         = 0x8
--	SO_LINGER                            = 0x80
--	SO_LOCK_FILTER                       = 0x2c
--	SO_MARK                              = 0x24
--	SO_MAX_PACING_RATE                   = 0x2f
--	SO_NOFCS                             = 0x2b
--	SO_NO_CHECK                          = 0xb
--	SO_OOBINLINE                         = 0x100
--	SO_PASSCRED                          = 0x11
--	SO_PASSSEC                           = 0x22
--	SO_PEEK_OFF                          = 0x2a
--	SO_PEERCRED                          = 0x12
--	SO_PEERNAME                          = 0x1c
--	SO_PEERSEC                           = 0x1e
--	SO_PRIORITY                          = 0xc
--	SO_PROTOCOL                          = 0x1028
--	SO_RCVBUF                            = 0x1002
--	SO_RCVBUFFORCE                       = 0x21
--	SO_RCVLOWAT                          = 0x1004
--	SO_RCVTIMEO                          = 0x1006
--	SO_REUSEADDR                         = 0x4
--	SO_REUSEPORT                         = 0x200
--	SO_RXQ_OVFL                          = 0x28
--	SO_SECURITY_AUTHENTICATION           = 0x16
--	SO_SECURITY_ENCRYPTION_NETWORK       = 0x18
--	SO_SECURITY_ENCRYPTION_TRANSPORT     = 0x17
--	SO_SELECT_ERR_QUEUE                  = 0x2d
--	SO_SNDBUF                            = 0x1001
--	SO_SNDBUFFORCE                       = 0x1f
--	SO_SNDLOWAT                          = 0x1003
--	SO_SNDTIMEO                          = 0x1005
--	SO_STYLE                             = 0x1008
--	SO_TIMESTAMP                         = 0x1d
--	SO_TIMESTAMPING                      = 0x25
--	SO_TIMESTAMPNS                       = 0x23
--	SO_TYPE                              = 0x1008
--	SO_VM_SOCKETS_BUFFER_MAX_SIZE        = 0x2
--	SO_VM_SOCKETS_BUFFER_MIN_SIZE        = 0x1
--	SO_VM_SOCKETS_BUFFER_SIZE            = 0x0
--	SO_VM_SOCKETS_CONNECT_TIMEOUT        = 0x6
--	SO_VM_SOCKETS_NONBLOCK_TXRX          = 0x7
--	SO_VM_SOCKETS_PEER_HOST_VM_ID        = 0x3
--	SO_VM_SOCKETS_TRUSTED                = 0x5
--	SO_WIFI_STATUS                       = 0x29
--	SPLICE_F_GIFT                        = 0x8
--	SPLICE_F_MORE                        = 0x4
--	SPLICE_F_MOVE                        = 0x1
--	SPLICE_F_NONBLOCK                    = 0x2
--	S_BLKSIZE                            = 0x200
--	S_IEXEC                              = 0x40
--	S_IFBLK                              = 0x6000
--	S_IFCHR                              = 0x2000
--	S_IFDIR                              = 0x4000
--	S_IFIFO                              = 0x1000
--	S_IFLNK                              = 0xa000
--	S_IFMT                               = 0xf000
--	S_IFREG                              = 0x8000
--	S_IFSOCK                             = 0xc000
--	S_IREAD                              = 0x100
--	S_IRGRP                              = 0x20
--	S_IROTH                              = 0x4
--	S_IRUSR                              = 0x100
--	S_IRWXG                              = 0x38
--	S_IRWXO                              = 0x7
--	S_IRWXU                              = 0x1c0
--	S_ISGID                              = 0x400
--	S_ISUID                              = 0x800
--	S_ISVTX                              = 0x200
--	S_IWGRP                              = 0x10
--	S_IWOTH                              = 0x2
--	S_IWRITE                             = 0x80
--	S_IWUSR                              = 0x80
--	S_IXGRP                              = 0x8
--	S_IXOTH                              = 0x1
--	S_IXUSR                              = 0x40
--	TAB0                                 = 0x0
--	TAB1                                 = 0x800
--	TAB2                                 = 0x1000
--	TAB3                                 = 0x1800
--	TABDLY                               = 0x1800
--	TASKSTATS_CMD_ATTR_MAX               = 0x4
--	TASKSTATS_CMD_MAX                    = 0x2
--	TASKSTATS_GENL_NAME                  = "TASKSTATS"
--	TASKSTATS_GENL_VERSION               = 0x1
--	TASKSTATS_TYPE_MAX                   = 0x6
--	TASKSTATS_VERSION                    = 0x8
--	TCFLSH                               = 0x5407
--	TCGETA                               = 0x5401
--	TCGETS                               = 0x540d
--	TCGETS2                              = 0x4030542a
--	TCIFLUSH                             = 0x0
--	TCIOFF                               = 0x2
--	TCIOFLUSH                            = 0x2
--	TCION                                = 0x3
--	TCOFLUSH                             = 0x1
--	TCOOFF                               = 0x0
--	TCOON                                = 0x1
--	TCP_CC_INFO                          = 0x1a
--	TCP_CONGESTION                       = 0xd
--	TCP_COOKIE_IN_ALWAYS                 = 0x1
--	TCP_COOKIE_MAX                       = 0x10
--	TCP_COOKIE_MIN                       = 0x8
--	TCP_COOKIE_OUT_NEVER                 = 0x2
--	TCP_COOKIE_PAIR_SIZE                 = 0x20
--	TCP_COOKIE_TRANSACTIONS              = 0xf
--	TCP_CORK                             = 0x3
--	TCP_DEFER_ACCEPT                     = 0x9
--	TCP_FASTOPEN                         = 0x17
--	TCP_INFO                             = 0xb
--	TCP_KEEPCNT                          = 0x6
--	TCP_KEEPIDLE                         = 0x4
--	TCP_KEEPINTVL                        = 0x5
--	TCP_LINGER2                          = 0x8
--	TCP_MAXSEG                           = 0x2
--	TCP_MAXWIN                           = 0xffff
--	TCP_MAX_WINSHIFT                     = 0xe
--	TCP_MD5SIG                           = 0xe
--	TCP_MD5SIG_MAXKEYLEN                 = 0x50
--	TCP_MSS                              = 0x200
--	TCP_MSS_DEFAULT                      = 0x218
--	TCP_MSS_DESIRED                      = 0x4c4
--	TCP_NODELAY                          = 0x1
--	TCP_NOTSENT_LOWAT                    = 0x19
--	TCP_QUEUE_SEQ                        = 0x15
--	TCP_QUICKACK                         = 0xc
--	TCP_REPAIR                           = 0x13
--	TCP_REPAIR_OPTIONS                   = 0x16
--	TCP_REPAIR_QUEUE                     = 0x14
--	TCP_REPAIR_WINDOW                    = 0x1d
--	TCP_SAVED_SYN                        = 0x1c
--	TCP_SAVE_SYN                         = 0x1b
--	TCP_SYNCNT                           = 0x7
--	TCP_S_DATA_IN                        = 0x4
--	TCP_S_DATA_OUT                       = 0x8
--	TCP_THIN_DUPACK                      = 0x11
--	TCP_THIN_LINEAR_TIMEOUTS             = 0x10
--	TCP_TIMESTAMP                        = 0x18
--	TCP_USER_TIMEOUT                     = 0x12
--	TCP_WINDOW_CLAMP                     = 0xa
--	TCSAFLUSH                            = 0x5410
--	TCSBRK                               = 0x5405
--	TCSBRKP                              = 0x5486
--	TCSETA                               = 0x5402
--	TCSETAF                              = 0x5404
--	TCSETAW                              = 0x5403
--	TCSETS                               = 0x540e
--	TCSETS2                              = 0x8030542b
--	TCSETSF                              = 0x5410
--	TCSETSF2                             = 0x8030542d
--	TCSETSW                              = 0x540f
--	TCSETSW2                             = 0x8030542c
--	TCXONC                               = 0x5406
--	TIOCCBRK                             = 0x5428
--	TIOCCONS                             = 0x80047478
--	TIOCEXCL                             = 0x740d
--	TIOCGDEV                             = 0x40045432
--	TIOCGETD                             = 0x7400
--	TIOCGETP                             = 0x7408
--	TIOCGEXCL                            = 0x40045440
--	TIOCGICOUNT                          = 0x5492
--	TIOCGLCKTRMIOS                       = 0x548b
--	TIOCGLTC                             = 0x7474
--	TIOCGPGRP                            = 0x40047477
--	TIOCGPKT                             = 0x40045438
--	TIOCGPTLCK                           = 0x40045439
--	TIOCGPTN                             = 0x40045430
--	TIOCGRS485                           = 0x4020542e
--	TIOCGSERIAL                          = 0x5484
--	TIOCGSID                             = 0x7416
--	TIOCGSOFTCAR                         = 0x5481
--	TIOCGWINSZ                           = 0x40087468
--	TIOCINQ                              = 0x467f
--	TIOCLINUX                            = 0x5483
--	TIOCMBIC                             = 0x741c
--	TIOCMBIS                             = 0x741b
--	TIOCMGET                             = 0x741d
--	TIOCMIWAIT                           = 0x5491
--	TIOCMSET                             = 0x741a
--	TIOCM_CAR                            = 0x100
--	TIOCM_CD                             = 0x100
--	TIOCM_CTS                            = 0x40
--	TIOCM_DSR                            = 0x400
--	TIOCM_DTR                            = 0x2
--	TIOCM_LE                             = 0x1
--	TIOCM_RI                             = 0x200
--	TIOCM_RNG                            = 0x200
--	TIOCM_RTS                            = 0x4
--	TIOCM_SR                             = 0x20
--	TIOCM_ST                             = 0x10
--	TIOCNOTTY                            = 0x5471
--	TIOCNXCL                             = 0x740e
--	TIOCOUTQ                             = 0x7472
--	TIOCPKT                              = 0x5470
--	TIOCPKT_DATA                         = 0x0
--	TIOCPKT_DOSTOP                       = 0x20
--	TIOCPKT_FLUSHREAD                    = 0x1
--	TIOCPKT_FLUSHWRITE                   = 0x2
--	TIOCPKT_IOCTL                        = 0x40
--	TIOCPKT_NOSTOP                       = 0x10
--	TIOCPKT_START                        = 0x8
--	TIOCPKT_STOP                         = 0x4
--	TIOCSBRK                             = 0x5427
--	TIOCSCTTY                            = 0x5480
--	TIOCSERCONFIG                        = 0x5488
--	TIOCSERGETLSR                        = 0x548e
--	TIOCSERGETMULTI                      = 0x548f
--	TIOCSERGSTRUCT                       = 0x548d
--	TIOCSERGWILD                         = 0x5489
--	TIOCSERSETMULTI                      = 0x5490
--	TIOCSERSWILD                         = 0x548a
--	TIOCSER_TEMT                         = 0x1
--	TIOCSETD                             = 0x7401
--	TIOCSETN                             = 0x740a
--	TIOCSETP                             = 0x7409
--	TIOCSIG                              = 0x80045436
--	TIOCSLCKTRMIOS                       = 0x548c
--	TIOCSLTC                             = 0x7475
--	TIOCSPGRP                            = 0x80047476
--	TIOCSPTLCK                           = 0x80045431
--	TIOCSRS485                           = 0xc020542f
--	TIOCSSERIAL                          = 0x5485
--	TIOCSSOFTCAR                         = 0x5482
--	TIOCSTI                              = 0x5472
--	TIOCSWINSZ                           = 0x80087467
--	TIOCVHANGUP                          = 0x5437
--	TOSTOP                               = 0x8000
--	TS_COMM_LEN                          = 0x20
--	TUNATTACHFILTER                      = 0x801054d5
--	TUNDETACHFILTER                      = 0x801054d6
--	TUNGETFEATURES                       = 0x400454cf
--	TUNGETFILTER                         = 0x401054db
--	TUNGETIFF                            = 0x400454d2
--	TUNGETSNDBUF                         = 0x400454d3
--	TUNGETVNETBE                         = 0x400454df
--	TUNGETVNETHDRSZ                      = 0x400454d7
--	TUNGETVNETLE                         = 0x400454dd
--	TUNSETDEBUG                          = 0x800454c9
--	TUNSETGROUP                          = 0x800454ce
--	TUNSETIFF                            = 0x800454ca
--	TUNSETIFINDEX                        = 0x800454da
--	TUNSETLINK                           = 0x800454cd
--	TUNSETNOCSUM                         = 0x800454c8
--	TUNSETOFFLOAD                        = 0x800454d0
--	TUNSETOWNER                          = 0x800454cc
--	TUNSETPERSIST                        = 0x800454cb
--	TUNSETQUEUE                          = 0x800454d9
--	TUNSETSNDBUF                         = 0x800454d4
--	TUNSETTXFILTER                       = 0x800454d1
--	TUNSETVNETBE                         = 0x800454de
--	TUNSETVNETHDRSZ                      = 0x800454d8
--	TUNSETVNETLE                         = 0x800454dc
--	UMOUNT_NOFOLLOW                      = 0x8
--	VDISCARD                             = 0xd
--	VEOF                                 = 0x10
--	VEOL                                 = 0x11
--	VEOL2                                = 0x6
--	VERASE                               = 0x2
--	VINTR                                = 0x0
--	VKILL                                = 0x3
--	VLNEXT                               = 0xf
--	VMADDR_CID_ANY                       = 0xffffffff
--	VMADDR_CID_HOST                      = 0x2
--	VMADDR_CID_HYPERVISOR                = 0x0
--	VMADDR_CID_RESERVED                  = 0x1
--	VMADDR_PORT_ANY                      = 0xffffffff
--	VMIN                                 = 0x4
--	VM_SOCKETS_INVALID_VERSION           = 0xffffffff
--	VQUIT                                = 0x1
--	VREPRINT                             = 0xc
--	VSTART                               = 0x8
--	VSTOP                                = 0x9
--	VSUSP                                = 0xa
--	VSWTC                                = 0x7
--	VSWTCH                               = 0x7
--	VT0                                  = 0x0
--	VT1                                  = 0x4000
--	VTDLY                                = 0x4000
--	VTIME                                = 0x5
--	VWERASE                              = 0xe
--	WALL                                 = 0x40000000
--	WCLONE                               = 0x80000000
--	WCONTINUED                           = 0x8
--	WEXITED                              = 0x4
--	WNOHANG                              = 0x1
--	WNOTHREAD                            = 0x20000000
--	WNOWAIT                              = 0x1000000
--	WORDSIZE                             = 0x40
--	WSTOPPED                             = 0x2
--	WUNTRACED                            = 0x2
--	XATTR_CREATE                         = 0x1
--	XATTR_REPLACE                        = 0x2
--	XCASE                                = 0x4
--	XTABS                                = 0x1800
-+	B1000000                         = 0x1008
-+	B115200                          = 0x1002
-+	B1152000                         = 0x1009
-+	B1500000                         = 0x100a
-+	B2000000                         = 0x100b
-+	B230400                          = 0x1003
-+	B2500000                         = 0x100c
-+	B3000000                         = 0x100d
-+	B3500000                         = 0x100e
-+	B4000000                         = 0x100f
-+	B460800                          = 0x1004
-+	B500000                          = 0x1005
-+	B57600                           = 0x1001
-+	B576000                          = 0x1006
-+	B921600                          = 0x1007
-+	BLKBSZGET                        = 0x40081270
-+	BLKBSZSET                        = 0x80081271
-+	BLKFLSBUF                        = 0x20001261
-+	BLKFRAGET                        = 0x20001265
-+	BLKFRASET                        = 0x20001264
-+	BLKGETSIZE                       = 0x20001260
-+	BLKGETSIZE64                     = 0x40081272
-+	BLKPBSZGET                       = 0x2000127b
-+	BLKRAGET                         = 0x20001263
-+	BLKRASET                         = 0x20001262
-+	BLKROGET                         = 0x2000125e
-+	BLKROSET                         = 0x2000125d
-+	BLKRRPART                        = 0x2000125f
-+	BLKSECTGET                       = 0x20001267
-+	BLKSECTSET                       = 0x20001266
-+	BLKSSZGET                        = 0x20001268
-+	BOTHER                           = 0x1000
-+	BS1                              = 0x2000
-+	BSDLY                            = 0x2000
-+	CBAUD                            = 0x100f
-+	CBAUDEX                          = 0x1000
-+	CIBAUD                           = 0x100f0000
-+	CLOCAL                           = 0x800
-+	CR1                              = 0x200
-+	CR2                              = 0x400
-+	CR3                              = 0x600
-+	CRDLY                            = 0x600
-+	CREAD                            = 0x80
-+	CS6                              = 0x10
-+	CS7                              = 0x20
-+	CS8                              = 0x30
-+	CSIZE                            = 0x30
-+	CSTOPB                           = 0x40
-+	ECHOCTL                          = 0x200
-+	ECHOE                            = 0x10
-+	ECHOK                            = 0x20
-+	ECHOKE                           = 0x800
-+	ECHONL                           = 0x40
-+	ECHOPRT                          = 0x400
-+	EFD_CLOEXEC                      = 0x80000
-+	EFD_NONBLOCK                     = 0x80
-+	EPOLL_CLOEXEC                    = 0x80000
-+	EXTPROC                          = 0x10000
-+	FF1                              = 0x8000
-+	FFDLY                            = 0x8000
-+	FLUSHO                           = 0x2000
-+	FS_IOC_ENABLE_VERITY             = 0x80806685
-+	FS_IOC_GETFLAGS                  = 0x40086601
-+	FS_IOC_GET_ENCRYPTION_POLICY     = 0x800c6615
-+	FS_IOC_GET_ENCRYPTION_PWSALT     = 0x80106614
-+	FS_IOC_SET_ENCRYPTION_POLICY     = 0x400c6613
-+	F_GETLK                          = 0xe
-+	F_GETLK64                        = 0xe
-+	F_GETOWN                         = 0x17
-+	F_RDLCK                          = 0x0
-+	F_SETLK                          = 0x6
-+	F_SETLK64                        = 0x6
-+	F_SETLKW                         = 0x7
-+	F_SETLKW64                       = 0x7
-+	F_SETOWN                         = 0x18
-+	F_UNLCK                          = 0x2
-+	F_WRLCK                          = 0x1
-+	HUPCL                            = 0x400
-+	ICANON                           = 0x2
-+	IEXTEN                           = 0x100
-+	IN_CLOEXEC                       = 0x80000
-+	IN_NONBLOCK                      = 0x80
-+	IOCTL_VM_SOCKETS_GET_LOCAL_CID   = 0x200007b9
-+	ISIG                             = 0x1
-+	IUCLC                            = 0x200
-+	IXOFF                            = 0x1000
-+	IXON                             = 0x400
-+	MAP_ANON                         = 0x800
-+	MAP_ANONYMOUS                    = 0x800
-+	MAP_DENYWRITE                    = 0x2000
-+	MAP_EXECUTABLE                   = 0x4000
-+	MAP_GROWSDOWN                    = 0x1000
-+	MAP_HUGETLB                      = 0x80000
-+	MAP_LOCKED                       = 0x8000
-+	MAP_NONBLOCK                     = 0x20000
-+	MAP_NORESERVE                    = 0x400
-+	MAP_POPULATE                     = 0x10000
-+	MAP_RENAME                       = 0x800
-+	MAP_STACK                        = 0x40000
-+	MCL_CURRENT                      = 0x1
-+	MCL_FUTURE                       = 0x2
-+	MCL_ONFAULT                      = 0x4
-+	NFDBITS                          = 0x40
-+	NLDLY                            = 0x100
-+	NOFLSH                           = 0x80
-+	NS_GET_NSTYPE                    = 0x2000b703
-+	NS_GET_OWNER_UID                 = 0x2000b704
-+	NS_GET_PARENT                    = 0x2000b702
-+	NS_GET_USERNS                    = 0x2000b701
-+	OLCUC                            = 0x2
-+	ONLCR                            = 0x4
-+	O_APPEND                         = 0x8
-+	O_ASYNC                          = 0x1000
-+	O_CLOEXEC                        = 0x80000
-+	O_CREAT                          = 0x100
-+	O_DIRECT                         = 0x8000
-+	O_DIRECTORY                      = 0x10000
-+	O_DSYNC                          = 0x10
-+	O_EXCL                           = 0x400
-+	O_FSYNC                          = 0x4010
-+	O_LARGEFILE                      = 0x0
-+	O_NDELAY                         = 0x80
-+	O_NOATIME                        = 0x40000
-+	O_NOCTTY                         = 0x800
-+	O_NOFOLLOW                       = 0x20000
-+	O_NONBLOCK                       = 0x80
-+	O_PATH                           = 0x200000
-+	O_RSYNC                          = 0x4010
-+	O_SYNC                           = 0x4010
-+	O_TMPFILE                        = 0x410000
-+	O_TRUNC                          = 0x200
-+	PARENB                           = 0x100
-+	PARODD                           = 0x200
-+	PENDIN                           = 0x4000
-+	PERF_EVENT_IOC_DISABLE           = 0x20002401
-+	PERF_EVENT_IOC_ENABLE            = 0x20002400
-+	PERF_EVENT_IOC_ID                = 0x40082407
-+	PERF_EVENT_IOC_MODIFY_ATTRIBUTES = 0x8008240b
-+	PERF_EVENT_IOC_PAUSE_OUTPUT      = 0x80042409
-+	PERF_EVENT_IOC_PERIOD            = 0x80082404
-+	PERF_EVENT_IOC_QUERY_BPF         = 0xc008240a
-+	PERF_EVENT_IOC_REFRESH           = 0x20002402
-+	PERF_EVENT_IOC_RESET             = 0x20002403
-+	PERF_EVENT_IOC_SET_BPF           = 0x80042408
-+	PERF_EVENT_IOC_SET_FILTER        = 0x80082406
-+	PERF_EVENT_IOC_SET_OUTPUT        = 0x20002405
-+	PPPIOCATTACH                     = 0x8004743d
-+	PPPIOCATTCHAN                    = 0x80047438
-+	PPPIOCCONNECT                    = 0x8004743a
-+	PPPIOCDETACH                     = 0x8004743c
-+	PPPIOCDISCONN                    = 0x20007439
-+	PPPIOCGASYNCMAP                  = 0x40047458
-+	PPPIOCGCHAN                      = 0x40047437
-+	PPPIOCGDEBUG                     = 0x40047441
-+	PPPIOCGFLAGS                     = 0x4004745a
-+	PPPIOCGIDLE                      = 0x4010743f
-+	PPPIOCGIDLE32                    = 0x4008743f
-+	PPPIOCGIDLE64                    = 0x4010743f
-+	PPPIOCGL2TPSTATS                 = 0x40487436
-+	PPPIOCGMRU                       = 0x40047453
-+	PPPIOCGRASYNCMAP                 = 0x40047455
-+	PPPIOCGUNIT                      = 0x40047456
-+	PPPIOCGXASYNCMAP                 = 0x40207450
-+	PPPIOCSACTIVE                    = 0x80107446
-+	PPPIOCSASYNCMAP                  = 0x80047457
-+	PPPIOCSCOMPRESS                  = 0x8010744d
-+	PPPIOCSDEBUG                     = 0x80047440
-+	PPPIOCSFLAGS                     = 0x80047459
-+	PPPIOCSMAXCID                    = 0x80047451
-+	PPPIOCSMRRU                      = 0x8004743b
-+	PPPIOCSMRU                       = 0x80047452
-+	PPPIOCSNPMODE                    = 0x8008744b
-+	PPPIOCSPASS                      = 0x80107447
-+	PPPIOCSRASYNCMAP                 = 0x80047454
-+	PPPIOCSXASYNCMAP                 = 0x8020744f
-+	PPPIOCXFERUNIT                   = 0x2000744e
-+	PR_SET_PTRACER_ANY               = 0xffffffffffffffff
-+	PTRACE_GETFPREGS                 = 0xe
-+	PTRACE_GET_THREAD_AREA           = 0x19
-+	PTRACE_GET_THREAD_AREA_3264      = 0xc4
-+	PTRACE_GET_WATCH_REGS            = 0xd0
-+	PTRACE_OLDSETOPTIONS             = 0x15
-+	PTRACE_PEEKDATA_3264             = 0xc1
-+	PTRACE_PEEKTEXT_3264             = 0xc0
-+	PTRACE_POKEDATA_3264             = 0xc3
-+	PTRACE_POKETEXT_3264             = 0xc2
-+	PTRACE_SETFPREGS                 = 0xf
-+	PTRACE_SET_THREAD_AREA           = 0x1a
-+	PTRACE_SET_WATCH_REGS            = 0xd1
-+	RLIMIT_AS                        = 0x6
-+	RLIMIT_MEMLOCK                   = 0x9
-+	RLIMIT_NOFILE                    = 0x5
-+	RLIMIT_NPROC                     = 0x8
-+	RLIMIT_RSS                       = 0x7
-+	RNDADDENTROPY                    = 0x80085203
-+	RNDADDTOENTCNT                   = 0x80045201
-+	RNDCLEARPOOL                     = 0x20005206
-+	RNDGETENTCNT                     = 0x40045200
-+	RNDGETPOOL                       = 0x40085202
-+	RNDRESEEDCRNG                    = 0x20005207
-+	RNDZAPENTCNT                     = 0x20005204
-+	RTC_AIE_OFF                      = 0x20007002
-+	RTC_AIE_ON                       = 0x20007001
-+	RTC_ALM_READ                     = 0x40247008
-+	RTC_ALM_SET                      = 0x80247007
-+	RTC_EPOCH_READ                   = 0x4008700d
-+	RTC_EPOCH_SET                    = 0x8008700e
-+	RTC_IRQP_READ                    = 0x4008700b
-+	RTC_IRQP_SET                     = 0x8008700c
-+	RTC_PIE_OFF                      = 0x20007006
-+	RTC_PIE_ON                       = 0x20007005
-+	RTC_PLL_GET                      = 0x40207011
-+	RTC_PLL_SET                      = 0x80207012
-+	RTC_RD_TIME                      = 0x40247009
-+	RTC_SET_TIME                     = 0x8024700a
-+	RTC_UIE_OFF                      = 0x20007004
-+	RTC_UIE_ON                       = 0x20007003
-+	RTC_VL_CLR                       = 0x20007014
-+	RTC_VL_READ                      = 0x40047013
-+	RTC_WIE_OFF                      = 0x20007010
-+	RTC_WIE_ON                       = 0x2000700f
-+	RTC_WKALM_RD                     = 0x40287010
-+	RTC_WKALM_SET                    = 0x8028700f
-+	SCM_TIMESTAMPING                 = 0x25
-+	SCM_TIMESTAMPING_OPT_STATS       = 0x36
-+	SCM_TIMESTAMPING_PKTINFO         = 0x3a
-+	SCM_TIMESTAMPNS                  = 0x23
-+	SCM_TXTIME                       = 0x3d
-+	SCM_WIFI_STATUS                  = 0x29
-+	SFD_CLOEXEC                      = 0x80000
-+	SFD_NONBLOCK                     = 0x80
-+	SIOCATMARK                       = 0x40047307
-+	SIOCGPGRP                        = 0x40047309
-+	SIOCGSTAMPNS_NEW                 = 0x40108907
-+	SIOCGSTAMP_NEW                   = 0x40108906
-+	SIOCINQ                          = 0x467f
-+	SIOCOUTQ                         = 0x7472
-+	SIOCSPGRP                        = 0x80047308
-+	SOCK_CLOEXEC                     = 0x80000
-+	SOCK_DGRAM                       = 0x1
-+	SOCK_NONBLOCK                    = 0x80
-+	SOCK_STREAM                      = 0x2
-+	SOL_SOCKET                       = 0xffff
-+	SO_ACCEPTCONN                    = 0x1009
-+	SO_ATTACH_BPF                    = 0x32
-+	SO_ATTACH_REUSEPORT_CBPF         = 0x33
-+	SO_ATTACH_REUSEPORT_EBPF         = 0x34
-+	SO_BINDTODEVICE                  = 0x19
-+	SO_BINDTOIFINDEX                 = 0x3e
-+	SO_BPF_EXTENSIONS                = 0x30
-+	SO_BROADCAST                     = 0x20
-+	SO_BSDCOMPAT                     = 0xe
-+	SO_BUSY_POLL                     = 0x2e
-+	SO_CNX_ADVICE                    = 0x35
-+	SO_COOKIE                        = 0x39
-+	SO_DETACH_REUSEPORT_BPF          = 0x44
-+	SO_DOMAIN                        = 0x1029
-+	SO_DONTROUTE                     = 0x10
-+	SO_ERROR                         = 0x1007
-+	SO_INCOMING_CPU                  = 0x31
-+	SO_INCOMING_NAPI_ID              = 0x38
-+	SO_KEEPALIVE                     = 0x8
-+	SO_LINGER                        = 0x80
-+	SO_LOCK_FILTER                   = 0x2c
-+	SO_MARK                          = 0x24
-+	SO_MAX_PACING_RATE               = 0x2f
-+	SO_MEMINFO                       = 0x37
-+	SO_NOFCS                         = 0x2b
-+	SO_OOBINLINE                     = 0x100
-+	SO_PASSCRED                      = 0x11
-+	SO_PASSSEC                       = 0x22
-+	SO_PEEK_OFF                      = 0x2a
-+	SO_PEERCRED                      = 0x12
-+	SO_PEERGROUPS                    = 0x3b
-+	SO_PEERSEC                       = 0x1e
-+	SO_PROTOCOL                      = 0x1028
-+	SO_RCVBUF                        = 0x1002
-+	SO_RCVBUFFORCE                   = 0x21
-+	SO_RCVLOWAT                      = 0x1004
-+	SO_RCVTIMEO                      = 0x1006
-+	SO_RCVTIMEO_NEW                  = 0x42
-+	SO_RCVTIMEO_OLD                  = 0x1006
-+	SO_REUSEADDR                     = 0x4
-+	SO_REUSEPORT                     = 0x200
-+	SO_RXQ_OVFL                      = 0x28
-+	SO_SECURITY_AUTHENTICATION       = 0x16
-+	SO_SECURITY_ENCRYPTION_NETWORK   = 0x18
-+	SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17
-+	SO_SELECT_ERR_QUEUE              = 0x2d
-+	SO_SNDBUF                        = 0x1001
-+	SO_SNDBUFFORCE                   = 0x1f
-+	SO_SNDLOWAT                      = 0x1003
-+	SO_SNDTIMEO                      = 0x1005
-+	SO_SNDTIMEO_NEW                  = 0x43
-+	SO_SNDTIMEO_OLD                  = 0x1005
-+	SO_STYLE                         = 0x1008
-+	SO_TIMESTAMPING                  = 0x25
-+	SO_TIMESTAMPING_NEW              = 0x41
-+	SO_TIMESTAMPING_OLD              = 0x25
-+	SO_TIMESTAMPNS                   = 0x23
-+	SO_TIMESTAMPNS_NEW               = 0x40
-+	SO_TIMESTAMPNS_OLD               = 0x23
-+	SO_TIMESTAMP_NEW                 = 0x3f
-+	SO_TXTIME                        = 0x3d
-+	SO_TYPE                          = 0x1008
-+	SO_WIFI_STATUS                   = 0x29
-+	SO_ZEROCOPY                      = 0x3c
-+	TAB1                             = 0x800
-+	TAB2                             = 0x1000
-+	TAB3                             = 0x1800
-+	TABDLY                           = 0x1800
-+	TCFLSH                           = 0x5407
-+	TCGETA                           = 0x5401
-+	TCGETS                           = 0x540d
-+	TCGETS2                          = 0x4030542a
-+	TCSAFLUSH                        = 0x5410
-+	TCSBRK                           = 0x5405
-+	TCSBRKP                          = 0x5486
-+	TCSETA                           = 0x5402
-+	TCSETAF                          = 0x5404
-+	TCSETAW                          = 0x5403
-+	TCSETS                           = 0x540e
-+	TCSETS2                          = 0x8030542b
-+	TCSETSF                          = 0x5410
-+	TCSETSF2                         = 0x8030542d
-+	TCSETSW                          = 0x540f
-+	TCSETSW2                         = 0x8030542c
-+	TCXONC                           = 0x5406
-+	TIOCCBRK                         = 0x5428
-+	TIOCCONS                         = 0x80047478
-+	TIOCEXCL                         = 0x740d
-+	TIOCGDEV                         = 0x40045432
-+	TIOCGETD                         = 0x7400
-+	TIOCGETP                         = 0x7408
-+	TIOCGEXCL                        = 0x40045440
-+	TIOCGICOUNT                      = 0x5492
-+	TIOCGISO7816                     = 0x40285442
-+	TIOCGLCKTRMIOS                   = 0x548b
-+	TIOCGLTC                         = 0x7474
-+	TIOCGPGRP                        = 0x40047477
-+	TIOCGPKT                         = 0x40045438
-+	TIOCGPTLCK                       = 0x40045439
-+	TIOCGPTN                         = 0x40045430
-+	TIOCGPTPEER                      = 0x20005441
-+	TIOCGRS485                       = 0x4020542e
-+	TIOCGSERIAL                      = 0x5484
-+	TIOCGSID                         = 0x7416
-+	TIOCGSOFTCAR                     = 0x5481
-+	TIOCGWINSZ                       = 0x40087468
-+	TIOCINQ                          = 0x467f
-+	TIOCLINUX                        = 0x5483
-+	TIOCMBIC                         = 0x741c
-+	TIOCMBIS                         = 0x741b
-+	TIOCMGET                         = 0x741d
-+	TIOCMIWAIT                       = 0x5491
-+	TIOCMSET                         = 0x741a
-+	TIOCM_CAR                        = 0x100
-+	TIOCM_CD                         = 0x100
-+	TIOCM_CTS                        = 0x40
-+	TIOCM_DSR                        = 0x400
-+	TIOCM_RI                         = 0x200
-+	TIOCM_RNG                        = 0x200
-+	TIOCM_SR                         = 0x20
-+	TIOCM_ST                         = 0x10
-+	TIOCNOTTY                        = 0x5471
-+	TIOCNXCL                         = 0x740e
-+	TIOCOUTQ                         = 0x7472
-+	TIOCPKT                          = 0x5470
-+	TIOCSBRK                         = 0x5427
-+	TIOCSCTTY                        = 0x5480
-+	TIOCSERCONFIG                    = 0x5488
-+	TIOCSERGETLSR                    = 0x548e
-+	TIOCSERGETMULTI                  = 0x548f
-+	TIOCSERGSTRUCT                   = 0x548d
-+	TIOCSERGWILD                     = 0x5489
-+	TIOCSERSETMULTI                  = 0x5490
-+	TIOCSERSWILD                     = 0x548a
-+	TIOCSER_TEMT                     = 0x1
-+	TIOCSETD                         = 0x7401
-+	TIOCSETN                         = 0x740a
-+	TIOCSETP                         = 0x7409
-+	TIOCSIG                          = 0x80045436
-+	TIOCSISO7816                     = 0xc0285443
-+	TIOCSLCKTRMIOS                   = 0x548c
-+	TIOCSLTC                         = 0x7475
-+	TIOCSPGRP                        = 0x80047476
-+	TIOCSPTLCK                       = 0x80045431
-+	TIOCSRS485                       = 0xc020542f
-+	TIOCSSERIAL                      = 0x5485
-+	TIOCSSOFTCAR                     = 0x5482
-+	TIOCSTI                          = 0x5472
-+	TIOCSWINSZ                       = 0x80087467
-+	TIOCVHANGUP                      = 0x5437
-+	TOSTOP                           = 0x8000
-+	TUNATTACHFILTER                  = 0x801054d5
-+	TUNDETACHFILTER                  = 0x801054d6
-+	TUNGETDEVNETNS                   = 0x200054e3
-+	TUNGETFEATURES                   = 0x400454cf
-+	TUNGETFILTER                     = 0x401054db
-+	TUNGETIFF                        = 0x400454d2
-+	TUNGETSNDBUF                     = 0x400454d3
-+	TUNGETVNETBE                     = 0x400454df
-+	TUNGETVNETHDRSZ                  = 0x400454d7
-+	TUNGETVNETLE                     = 0x400454dd
-+	TUNSETCARRIER                    = 0x800454e2
-+	TUNSETDEBUG                      = 0x800454c9
-+	TUNSETFILTEREBPF                 = 0x400454e1
-+	TUNSETGROUP                      = 0x800454ce
-+	TUNSETIFF                        = 0x800454ca
-+	TUNSETIFINDEX                    = 0x800454da
-+	TUNSETLINK                       = 0x800454cd
-+	TUNSETNOCSUM                     = 0x800454c8
-+	TUNSETOFFLOAD                    = 0x800454d0
-+	TUNSETOWNER                      = 0x800454cc
-+	TUNSETPERSIST                    = 0x800454cb
-+	TUNSETQUEUE                      = 0x800454d9
-+	TUNSETSNDBUF                     = 0x800454d4
-+	TUNSETSTEERINGEBPF               = 0x400454e0
-+	TUNSETTXFILTER                   = 0x800454d1
-+	TUNSETVNETBE                     = 0x800454de
-+	TUNSETVNETHDRSZ                  = 0x800454d8
-+	TUNSETVNETLE                     = 0x800454dc
-+	UBI_IOCATT                       = 0x80186f40
-+	UBI_IOCDET                       = 0x80046f41
-+	UBI_IOCEBCH                      = 0x80044f02
-+	UBI_IOCEBER                      = 0x80044f01
-+	UBI_IOCEBISMAP                   = 0x40044f05
-+	UBI_IOCEBMAP                     = 0x80084f03
-+	UBI_IOCEBUNMAP                   = 0x80044f04
-+	UBI_IOCMKVOL                     = 0x80986f00
-+	UBI_IOCRMVOL                     = 0x80046f01
-+	UBI_IOCRNVOL                     = 0x91106f03
-+	UBI_IOCRPEB                      = 0x80046f04
-+	UBI_IOCRSVOL                     = 0x800c6f02
-+	UBI_IOCSETVOLPROP                = 0x80104f06
-+	UBI_IOCSPEB                      = 0x80046f05
-+	UBI_IOCVOLCRBLK                  = 0x80804f07
-+	UBI_IOCVOLRMBLK                  = 0x20004f08
-+	UBI_IOCVOLUP                     = 0x80084f00
-+	VDISCARD                         = 0xd
-+	VEOF                             = 0x10
-+	VEOL                             = 0x11
-+	VEOL2                            = 0x6
-+	VMIN                             = 0x4
-+	VREPRINT                         = 0xc
-+	VSTART                           = 0x8
-+	VSTOP                            = 0x9
-+	VSUSP                            = 0xa
-+	VSWTC                            = 0x7
-+	VSWTCH                           = 0x7
-+	VT1                              = 0x4000
-+	VTDLY                            = 0x4000
-+	VTIME                            = 0x5
-+	VWERASE                          = 0xe
-+	WDIOC_GETBOOTSTATUS              = 0x40045702
-+	WDIOC_GETPRETIMEOUT              = 0x40045709
-+	WDIOC_GETSTATUS                  = 0x40045701
-+	WDIOC_GETSUPPORT                 = 0x40285700
-+	WDIOC_GETTEMP                    = 0x40045703
-+	WDIOC_GETTIMELEFT                = 0x4004570a
-+	WDIOC_GETTIMEOUT                 = 0x40045707
-+	WDIOC_KEEPALIVE                  = 0x40045705
-+	WDIOC_SETOPTIONS                 = 0x40045704
-+	WORDSIZE                         = 0x40
-+	XCASE                            = 0x4
-+	XTABS                            = 0x1800
- )
- 
- // Errors
- const (
--	E2BIG           = syscall.Errno(0x7)
--	EACCES          = syscall.Errno(0xd)
- 	EADDRINUSE      = syscall.Errno(0x7d)
- 	EADDRNOTAVAIL   = syscall.Errno(0x7e)
- 	EADV            = syscall.Errno(0x44)
- 	EAFNOSUPPORT    = syscall.Errno(0x7c)
--	EAGAIN          = syscall.Errno(0xb)
- 	EALREADY        = syscall.Errno(0x95)
- 	EBADE           = syscall.Errno(0x32)
--	EBADF           = syscall.Errno(0x9)
- 	EBADFD          = syscall.Errno(0x51)
- 	EBADMSG         = syscall.Errno(0x4d)
- 	EBADR           = syscall.Errno(0x33)
- 	EBADRQC         = syscall.Errno(0x36)
- 	EBADSLT         = syscall.Errno(0x37)
- 	EBFONT          = syscall.Errno(0x3b)
--	EBUSY           = syscall.Errno(0x10)
- 	ECANCELED       = syscall.Errno(0x9e)
--	ECHILD          = syscall.Errno(0xa)
- 	ECHRNG          = syscall.Errno(0x25)
- 	ECOMM           = syscall.Errno(0x46)
- 	ECONNABORTED    = syscall.Errno(0x82)
-@@ -1886,12 +502,8 @@ const (
- 	EDEADLK         = syscall.Errno(0x2d)
- 	EDEADLOCK       = syscall.Errno(0x38)
- 	EDESTADDRREQ    = syscall.Errno(0x60)
--	EDOM            = syscall.Errno(0x21)
- 	EDOTDOT         = syscall.Errno(0x49)
- 	EDQUOT          = syscall.Errno(0x46d)
--	EEXIST          = syscall.Errno(0x11)
--	EFAULT          = syscall.Errno(0xe)
--	EFBIG           = syscall.Errno(0x1b)
- 	EHOSTDOWN       = syscall.Errno(0x93)
- 	EHOSTUNREACH    = syscall.Errno(0x94)
- 	EHWPOISON       = syscall.Errno(0xa8)
-@@ -1899,11 +511,7 @@ const (
- 	EILSEQ          = syscall.Errno(0x58)
- 	EINIT           = syscall.Errno(0x8d)
- 	EINPROGRESS     = syscall.Errno(0x96)
--	EINTR           = syscall.Errno(0x4)
--	EINVAL          = syscall.Errno(0x16)
--	EIO             = syscall.Errno(0x5)
- 	EISCONN         = syscall.Errno(0x85)
--	EISDIR          = syscall.Errno(0x15)
- 	EISNAM          = syscall.Errno(0x8b)
- 	EKEYEXPIRED     = syscall.Errno(0xa2)
- 	EKEYREJECTED    = syscall.Errno(0xa4)
-@@ -1920,8 +528,6 @@ const (
- 	ELNRNG          = syscall.Errno(0x29)
- 	ELOOP           = syscall.Errno(0x5a)
- 	EMEDIUMTYPE     = syscall.Errno(0xa0)
--	EMFILE          = syscall.Errno(0x18)
--	EMLINK          = syscall.Errno(0x1f)
- 	EMSGSIZE        = syscall.Errno(0x61)
- 	EMULTIHOP       = syscall.Errno(0x4a)
- 	ENAMETOOLONG    = syscall.Errno(0x4e)
-@@ -1929,100 +535,68 @@ const (
- 	ENETDOWN        = syscall.Errno(0x7f)
- 	ENETRESET       = syscall.Errno(0x81)
- 	ENETUNREACH     = syscall.Errno(0x80)
--	ENFILE          = syscall.Errno(0x17)
- 	ENOANO          = syscall.Errno(0x35)
- 	ENOBUFS         = syscall.Errno(0x84)
- 	ENOCSI          = syscall.Errno(0x2b)
- 	ENODATA         = syscall.Errno(0x3d)
--	ENODEV          = syscall.Errno(0x13)
--	ENOENT          = syscall.Errno(0x2)
--	ENOEXEC         = syscall.Errno(0x8)
- 	ENOKEY          = syscall.Errno(0xa1)
- 	ENOLCK          = syscall.Errno(0x2e)
- 	ENOLINK         = syscall.Errno(0x43)
- 	ENOMEDIUM       = syscall.Errno(0x9f)
--	ENOMEM          = syscall.Errno(0xc)
- 	ENOMSG          = syscall.Errno(0x23)
- 	ENONET          = syscall.Errno(0x40)
- 	ENOPKG          = syscall.Errno(0x41)
- 	ENOPROTOOPT     = syscall.Errno(0x63)
--	ENOSPC          = syscall.Errno(0x1c)
- 	ENOSR           = syscall.Errno(0x3f)
- 	ENOSTR          = syscall.Errno(0x3c)
- 	ENOSYS          = syscall.Errno(0x59)
--	ENOTBLK         = syscall.Errno(0xf)
- 	ENOTCONN        = syscall.Errno(0x86)
--	ENOTDIR         = syscall.Errno(0x14)
- 	ENOTEMPTY       = syscall.Errno(0x5d)
- 	ENOTNAM         = syscall.Errno(0x89)
- 	ENOTRECOVERABLE = syscall.Errno(0xa6)
- 	ENOTSOCK        = syscall.Errno(0x5f)
- 	ENOTSUP         = syscall.Errno(0x7a)
--	ENOTTY          = syscall.Errno(0x19)
- 	ENOTUNIQ        = syscall.Errno(0x50)
--	ENXIO           = syscall.Errno(0x6)
- 	EOPNOTSUPP      = syscall.Errno(0x7a)
- 	EOVERFLOW       = syscall.Errno(0x4f)
- 	EOWNERDEAD      = syscall.Errno(0xa5)
--	EPERM           = syscall.Errno(0x1)
- 	EPFNOSUPPORT    = syscall.Errno(0x7b)
--	EPIPE           = syscall.Errno(0x20)
- 	EPROTO          = syscall.Errno(0x47)
- 	EPROTONOSUPPORT = syscall.Errno(0x78)
- 	EPROTOTYPE      = syscall.Errno(0x62)
--	ERANGE          = syscall.Errno(0x22)
- 	EREMCHG         = syscall.Errno(0x52)
- 	EREMDEV         = syscall.Errno(0x8e)
- 	EREMOTE         = syscall.Errno(0x42)
- 	EREMOTEIO       = syscall.Errno(0x8c)
- 	ERESTART        = syscall.Errno(0x5b)
- 	ERFKILL         = syscall.Errno(0xa7)
--	EROFS           = syscall.Errno(0x1e)
- 	ESHUTDOWN       = syscall.Errno(0x8f)
- 	ESOCKTNOSUPPORT = syscall.Errno(0x79)
--	ESPIPE          = syscall.Errno(0x1d)
--	ESRCH           = syscall.Errno(0x3)
- 	ESRMNT          = syscall.Errno(0x45)
- 	ESTALE          = syscall.Errno(0x97)
- 	ESTRPIPE        = syscall.Errno(0x5c)
- 	ETIME           = syscall.Errno(0x3e)
- 	ETIMEDOUT       = syscall.Errno(0x91)
- 	ETOOMANYREFS    = syscall.Errno(0x90)
--	ETXTBSY         = syscall.Errno(0x1a)
- 	EUCLEAN         = syscall.Errno(0x87)
- 	EUNATCH         = syscall.Errno(0x2a)
- 	EUSERS          = syscall.Errno(0x5e)
--	EWOULDBLOCK     = syscall.Errno(0xb)
--	EXDEV           = syscall.Errno(0x12)
- 	EXFULL          = syscall.Errno(0x34)
- )
- 
- // Signals
- const (
--	SIGABRT   = syscall.Signal(0x6)
--	SIGALRM   = syscall.Signal(0xe)
- 	SIGBUS    = syscall.Signal(0xa)
- 	SIGCHLD   = syscall.Signal(0x12)
- 	SIGCLD    = syscall.Signal(0x12)
- 	SIGCONT   = syscall.Signal(0x19)
- 	SIGEMT    = syscall.Signal(0x7)
--	SIGFPE    = syscall.Signal(0x8)
--	SIGHUP    = syscall.Signal(0x1)
--	SIGILL    = syscall.Signal(0x4)
--	SIGINT    = syscall.Signal(0x2)
- 	SIGIO     = syscall.Signal(0x16)
--	SIGIOT    = syscall.Signal(0x6)
--	SIGKILL   = syscall.Signal(0x9)
--	SIGPIPE   = syscall.Signal(0xd)
- 	SIGPOLL   = syscall.Signal(0x16)
- 	SIGPROF   = syscall.Signal(0x1d)
- 	SIGPWR    = syscall.Signal(0x13)
--	SIGQUIT   = syscall.Signal(0x3)
--	SIGSEGV   = syscall.Signal(0xb)
- 	SIGSTOP   = syscall.Signal(0x17)
- 	SIGSYS    = syscall.Signal(0xc)
--	SIGTERM   = syscall.Signal(0xf)
--	SIGTRAP   = syscall.Signal(0x5)
- 	SIGTSTP   = syscall.Signal(0x18)
- 	SIGTTIN   = syscall.Signal(0x1a)
- 	SIGTTOU   = syscall.Signal(0x1b)
-@@ -2036,174 +610,182 @@ const (
- )
- 
- // Error table
--var errors = [...]string{
--	1:    "operation not permitted",
--	2:    "no such file or directory",
--	3:    "no such process",
--	4:    "interrupted system call",
--	5:    "input/output error",
--	6:    "no such device or address",
--	7:    "argument list too long",
--	8:    "exec format error",
--	9:    "bad file descriptor",
--	10:   "no child processes",
--	11:   "resource temporarily unavailable",
--	12:   "cannot allocate memory",
--	13:   "permission denied",
--	14:   "bad address",
--	15:   "block device required",
--	16:   "device or resource busy",
--	17:   "file exists",
--	18:   "invalid cross-device link",
--	19:   "no such device",
--	20:   "not a directory",
--	21:   "is a directory",
--	22:   "invalid argument",
--	23:   "too many open files in system",
--	24:   "too many open files",
--	25:   "inappropriate ioctl for device",
--	26:   "text file busy",
--	27:   "file too large",
--	28:   "no space left on device",
--	29:   "illegal seek",
--	30:   "read-only file system",
--	31:   "too many links",
--	32:   "broken pipe",
--	33:   "numerical argument out of domain",
--	34:   "numerical result out of range",
--	35:   "no message of desired type",
--	36:   "identifier removed",
--	37:   "channel number out of range",
--	38:   "level 2 not synchronized",
--	39:   "level 3 halted",
--	40:   "level 3 reset",
--	41:   "link number out of range",
--	42:   "protocol driver not attached",
--	43:   "no CSI structure available",
--	44:   "level 2 halted",
--	45:   "resource deadlock avoided",
--	46:   "no locks available",
--	50:   "invalid exchange",
--	51:   "invalid request descriptor",
--	52:   "exchange full",
--	53:   "no anode",
--	54:   "invalid request code",
--	55:   "invalid slot",
--	56:   "file locking deadlock error",
--	59:   "bad font file format",
--	60:   "device not a stream",
--	61:   "no data available",
--	62:   "timer expired",
--	63:   "out of streams resources",
--	64:   "machine is not on the network",
--	65:   "package not installed",
--	66:   "object is remote",
--	67:   "link has been severed",
--	68:   "advertise error",
--	69:   "srmount error",
--	70:   "communication error on send",
--	71:   "protocol error",
--	73:   "RFS specific error",
--	74:   "multihop attempted",
--	77:   "bad message",
--	78:   "file name too long",
--	79:   "value too large for defined data type",
--	80:   "name not unique on network",
--	81:   "file descriptor in bad state",
--	82:   "remote address changed",
--	83:   "can not access a needed shared library",
--	84:   "accessing a corrupted shared library",
--	85:   ".lib section in a.out corrupted",
--	86:   "attempting to link in too many shared libraries",
--	87:   "cannot exec a shared library directly",
--	88:   "invalid or incomplete multibyte or wide character",
--	89:   "function not implemented",
--	90:   "too many levels of symbolic links",
--	91:   "interrupted system call should be restarted",
--	92:   "streams pipe error",
--	93:   "directory not empty",
--	94:   "too many users",
--	95:   "socket operation on non-socket",
--	96:   "destination address required",
--	97:   "message too long",
--	98:   "protocol wrong type for socket",
--	99:   "protocol not available",
--	120:  "protocol not supported",
--	121:  "socket type not supported",
--	122:  "operation not supported",
--	123:  "protocol family not supported",
--	124:  "address family not supported by protocol",
--	125:  "address already in use",
--	126:  "cannot assign requested address",
--	127:  "network is down",
--	128:  "network is unreachable",
--	129:  "network dropped connection on reset",
--	130:  "software caused connection abort",
--	131:  "connection reset by peer",
--	132:  "no buffer space available",
--	133:  "transport endpoint is already connected",
--	134:  "transport endpoint is not connected",
--	135:  "structure needs cleaning",
--	137:  "not a XENIX named type file",
--	138:  "no XENIX semaphores available",
--	139:  "is a named type file",
--	140:  "remote I/O error",
--	141:  "unknown error 141",
--	142:  "unknown error 142",
--	143:  "cannot send after transport endpoint shutdown",
--	144:  "too many references: cannot splice",
--	145:  "connection timed out",
--	146:  "connection refused",
--	147:  "host is down",
--	148:  "no route to host",
--	149:  "operation already in progress",
--	150:  "operation now in progress",
--	151:  "stale file handle",
--	158:  "operation canceled",
--	159:  "no medium found",
--	160:  "wrong medium type",
--	161:  "required key not available",
--	162:  "key has expired",
--	163:  "key has been revoked",
--	164:  "key was rejected by service",
--	165:  "owner died",
--	166:  "state not recoverable",
--	167:  "operation not possible due to RF-kill",
--	168:  "memory page has hardware error",
--	1133: "disk quota exceeded",
-+var errorList = [...]struct {
-+	num  syscall.Errno
-+	name string
-+	desc string
-+}{
-+	{1, "EPERM", "operation not permitted"},
-+	{2, "ENOENT", "no such file or directory"},
-+	{3, "ESRCH", "no such process"},
-+	{4, "EINTR", "interrupted system call"},
-+	{5, "EIO", "input/output error"},
-+	{6, "ENXIO", "no such device or address"},
-+	{7, "E2BIG", "argument list too long"},
-+	{8, "ENOEXEC", "exec format error"},
-+	{9, "EBADF", "bad file descriptor"},
-+	{10, "ECHILD", "no child processes"},
-+	{11, "EAGAIN", "resource temporarily unavailable"},
-+	{12, "ENOMEM", "cannot allocate memory"},
-+	{13, "EACCES", "permission denied"},
-+	{14, "EFAULT", "bad address"},
-+	{15, "ENOTBLK", "block device required"},
-+	{16, "EBUSY", "device or resource busy"},
-+	{17, "EEXIST", "file exists"},
-+	{18, "EXDEV", "invalid cross-device link"},
-+	{19, "ENODEV", "no such device"},
-+	{20, "ENOTDIR", "not a directory"},
-+	{21, "EISDIR", "is a directory"},
-+	{22, "EINVAL", "invalid argument"},
-+	{23, "ENFILE", "too many open files in system"},
-+	{24, "EMFILE", "too many open files"},
-+	{25, "ENOTTY", "inappropriate ioctl for device"},
-+	{26, "ETXTBSY", "text file busy"},
-+	{27, "EFBIG", "file too large"},
-+	{28, "ENOSPC", "no space left on device"},
-+	{29, "ESPIPE", "illegal seek"},
-+	{30, "EROFS", "read-only file system"},
-+	{31, "EMLINK", "too many links"},
-+	{32, "EPIPE", "broken pipe"},
-+	{33, "EDOM", "numerical argument out of domain"},
-+	{34, "ERANGE", "numerical result out of range"},
-+	{35, "ENOMSG", "no message of desired type"},
-+	{36, "EIDRM", "identifier removed"},
-+	{37, "ECHRNG", "channel number out of range"},
-+	{38, "EL2NSYNC", "level 2 not synchronized"},
-+	{39, "EL3HLT", "level 3 halted"},
-+	{40, "EL3RST", "level 3 reset"},
-+	{41, "ELNRNG", "link number out of range"},
-+	{42, "EUNATCH", "protocol driver not attached"},
-+	{43, "ENOCSI", "no CSI structure available"},
-+	{44, "EL2HLT", "level 2 halted"},
-+	{45, "EDEADLK", "resource deadlock avoided"},
-+	{46, "ENOLCK", "no locks available"},
-+	{50, "EBADE", "invalid exchange"},
-+	{51, "EBADR", "invalid request descriptor"},
-+	{52, "EXFULL", "exchange full"},
-+	{53, "ENOANO", "no anode"},
-+	{54, "EBADRQC", "invalid request code"},
-+	{55, "EBADSLT", "invalid slot"},
-+	{56, "EDEADLOCK", "file locking deadlock error"},
-+	{59, "EBFONT", "bad font file format"},
-+	{60, "ENOSTR", "device not a stream"},
-+	{61, "ENODATA", "no data available"},
-+	{62, "ETIME", "timer expired"},
-+	{63, "ENOSR", "out of streams resources"},
-+	{64, "ENONET", "machine is not on the network"},
-+	{65, "ENOPKG", "package not installed"},
-+	{66, "EREMOTE", "object is remote"},
-+	{67, "ENOLINK", "link has been severed"},
-+	{68, "EADV", "advertise error"},
-+	{69, "ESRMNT", "srmount error"},
-+	{70, "ECOMM", "communication error on send"},
-+	{71, "EPROTO", "protocol error"},
-+	{73, "EDOTDOT", "RFS specific error"},
-+	{74, "EMULTIHOP", "multihop attempted"},
-+	{77, "EBADMSG", "bad message"},
-+	{78, "ENAMETOOLONG", "file name too long"},
-+	{79, "EOVERFLOW", "value too large for defined data type"},
-+	{80, "ENOTUNIQ", "name not unique on network"},
-+	{81, "EBADFD", "file descriptor in bad state"},
-+	{82, "EREMCHG", "remote address changed"},
-+	{83, "ELIBACC", "can not access a needed shared library"},
-+	{84, "ELIBBAD", "accessing a corrupted shared library"},
-+	{85, "ELIBSCN", ".lib section in a.out corrupted"},
-+	{86, "ELIBMAX", "attempting to link in too many shared libraries"},
-+	{87, "ELIBEXEC", "cannot exec a shared library directly"},
-+	{88, "EILSEQ", "invalid or incomplete multibyte or wide character"},
-+	{89, "ENOSYS", "function not implemented"},
-+	{90, "ELOOP", "too many levels of symbolic links"},
-+	{91, "ERESTART", "interrupted system call should be restarted"},
-+	{92, "ESTRPIPE", "streams pipe error"},
-+	{93, "ENOTEMPTY", "directory not empty"},
-+	{94, "EUSERS", "too many users"},
-+	{95, "ENOTSOCK", "socket operation on non-socket"},
-+	{96, "EDESTADDRREQ", "destination address required"},
-+	{97, "EMSGSIZE", "message too long"},
-+	{98, "EPROTOTYPE", "protocol wrong type for socket"},
-+	{99, "ENOPROTOOPT", "protocol not available"},
-+	{120, "EPROTONOSUPPORT", "protocol not supported"},
-+	{121, "ESOCKTNOSUPPORT", "socket type not supported"},
-+	{122, "ENOTSUP", "operation not supported"},
-+	{123, "EPFNOSUPPORT", "protocol family not supported"},
-+	{124, "EAFNOSUPPORT", "address family not supported by protocol"},
-+	{125, "EADDRINUSE", "address already in use"},
-+	{126, "EADDRNOTAVAIL", "cannot assign requested address"},
-+	{127, "ENETDOWN", "network is down"},
-+	{128, "ENETUNREACH", "network is unreachable"},
-+	{129, "ENETRESET", "network dropped connection on reset"},
-+	{130, "ECONNABORTED", "software caused connection abort"},
-+	{131, "ECONNRESET", "connection reset by peer"},
-+	{132, "ENOBUFS", "no buffer space available"},
-+	{133, "EISCONN", "transport endpoint is already connected"},
-+	{134, "ENOTCONN", "transport endpoint is not connected"},
-+	{135, "EUCLEAN", "structure needs cleaning"},
-+	{137, "ENOTNAM", "not a XENIX named type file"},
-+	{138, "ENAVAIL", "no XENIX semaphores available"},
-+	{139, "EISNAM", "is a named type file"},
-+	{140, "EREMOTEIO", "remote I/O error"},
-+	{141, "EINIT", "unknown error 141"},
-+	{142, "EREMDEV", "unknown error 142"},
-+	{143, "ESHUTDOWN", "cannot send after transport endpoint shutdown"},
-+	{144, "ETOOMANYREFS", "too many references: cannot splice"},
-+	{145, "ETIMEDOUT", "connection timed out"},
-+	{146, "ECONNREFUSED", "connection refused"},
-+	{147, "EHOSTDOWN", "host is down"},
-+	{148, "EHOSTUNREACH", "no route to host"},
-+	{149, "EALREADY", "operation already in progress"},
-+	{150, "EINPROGRESS", "operation now in progress"},
-+	{151, "ESTALE", "stale file handle"},
-+	{158, "ECANCELED", "operation canceled"},
-+	{159, "ENOMEDIUM", "no medium found"},
-+	{160, "EMEDIUMTYPE", "wrong medium type"},
-+	{161, "ENOKEY", "required key not available"},
-+	{162, "EKEYEXPIRED", "key has expired"},
-+	{163, "EKEYREVOKED", "key has been revoked"},
-+	{164, "EKEYREJECTED", "key was rejected by service"},
-+	{165, "EOWNERDEAD", "owner died"},
-+	{166, "ENOTRECOVERABLE", "state not recoverable"},
-+	{167, "ERFKILL", "operation not possible due to RF-kill"},
-+	{168, "EHWPOISON", "memory page has hardware error"},
-+	{1133, "EDQUOT", "disk quota exceeded"},
- }
- 
- // Signal table
--var signals = [...]string{
--	1:  "hangup",
--	2:  "interrupt",
--	3:  "quit",
--	4:  "illegal instruction",
--	5:  "trace/breakpoint trap",
--	6:  "aborted",
--	7:  "EMT trap",
--	8:  "floating point exception",
--	9:  "killed",
--	10: "bus error",
--	11: "segmentation fault",
--	12: "bad system call",
--	13: "broken pipe",
--	14: "alarm clock",
--	15: "terminated",
--	16: "user defined signal 1",
--	17: "user defined signal 2",
--	18: "child exited",
--	19: "power failure",
--	20: "window changed",
--	21: "urgent I/O condition",
--	22: "I/O possible",
--	23: "stopped (signal)",
--	24: "stopped",
--	25: "continued",
--	26: "stopped (tty input)",
--	27: "stopped (tty output)",
--	28: "virtual timer expired",
--	29: "profiling timer expired",
--	30: "CPU time limit exceeded",
--	31: "file size limit exceeded",
-+var signalList = [...]struct {
-+	num  syscall.Signal
-+	name string
-+	desc string
-+}{
-+	{1, "SIGHUP", "hangup"},
-+	{2, "SIGINT", "interrupt"},
-+	{3, "SIGQUIT", "quit"},
-+	{4, "SIGILL", "illegal instruction"},
-+	{5, "SIGTRAP", "trace/breakpoint trap"},
-+	{6, "SIGABRT", "aborted"},
-+	{7, "SIGEMT", "EMT trap"},
-+	{8, "SIGFPE", "floating point exception"},
-+	{9, "SIGKILL", "killed"},
-+	{10, "SIGBUS", "bus error"},
-+	{11, "SIGSEGV", "segmentation fault"},
-+	{12, "SIGSYS", "bad system call"},
-+	{13, "SIGPIPE", "broken pipe"},
-+	{14, "SIGALRM", "alarm clock"},
-+	{15, "SIGTERM", "terminated"},
-+	{16, "SIGUSR1", "user defined signal 1"},
-+	{17, "SIGUSR2", "user defined signal 2"},
-+	{18, "SIGCHLD", "child exited"},
-+	{19, "SIGPWR", "power failure"},
-+	{20, "SIGWINCH", "window changed"},
-+	{21, "SIGURG", "urgent I/O condition"},
-+	{22, "SIGIO", "I/O possible"},
-+	{23, "SIGSTOP", "stopped (signal)"},
-+	{24, "SIGTSTP", "stopped"},
-+	{25, "SIGCONT", "continued"},
-+	{26, "SIGTTIN", "stopped (tty input)"},
-+	{27, "SIGTTOU", "stopped (tty output)"},
-+	{28, "SIGVTALRM", "virtual timer expired"},
-+	{29, "SIGPROF", "profiling timer expired"},
-+	{30, "SIGXCPU", "CPU time limit exceeded"},
-+	{31, "SIGXFSZ", "file size limit exceeded"},
- }
-diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go b/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go
-index 44191b0c..2dfe6bba 100644
---- a/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go
-+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go
-@@ -3,7 +3,7 @@
- 
- // +build mipsle,linux
- 
--// Created by cgo -godefs - DO NOT EDIT
-+// Code generated by cmd/cgo -godefs; DO NOT EDIT.
- // cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go
- 
- package unix
-@@ -11,1873 +11,489 @@ package unix
- import "syscall"
- 
- const (
--	AF_ALG                               = 0x26
--	AF_APPLETALK                         = 0x5
--	AF_ASH                               = 0x12
--	AF_ATMPVC                            = 0x8
--	AF_ATMSVC                            = 0x14
--	AF_AX25                              = 0x3
--	AF_BLUETOOTH                         = 0x1f
--	AF_BRIDGE                            = 0x7
--	AF_CAIF                              = 0x25
--	AF_CAN                               = 0x1d
--	AF_DECnet                            = 0xc
--	AF_ECONET                            = 0x13
--	AF_FILE                              = 0x1
--	AF_IB                                = 0x1b
--	AF_IEEE802154                        = 0x24
--	AF_INET                              = 0x2
--	AF_INET6                             = 0xa
--	AF_IPX                               = 0x4
--	AF_IRDA                              = 0x17
--	AF_ISDN                              = 0x22
--	AF_IUCV                              = 0x20
--	AF_KCM                               = 0x29
--	AF_KEY                               = 0xf
--	AF_LLC                               = 0x1a
--	AF_LOCAL                             = 0x1
--	AF_MAX                               = 0x2b
--	AF_MPLS                              = 0x1c
--	AF_NETBEUI                           = 0xd
--	AF_NETLINK                           = 0x10
--	AF_NETROM                            = 0x6
--	AF_NFC                               = 0x27
--	AF_PACKET                            = 0x11
--	AF_PHONET                            = 0x23
--	AF_PPPOX                             = 0x18
--	AF_QIPCRTR                           = 0x2a
--	AF_RDS                               = 0x15
--	AF_ROSE                              = 0xb
--	AF_ROUTE                             = 0x10
--	AF_RXRPC                             = 0x21
--	AF_SECURITY                          = 0xe
--	AF_SNA                               = 0x16
--	AF_TIPC                              = 0x1e
--	AF_UNIX                              = 0x1
--	AF_UNSPEC                            = 0x0
--	AF_VSOCK                             = 0x28
--	AF_WANPIPE                           = 0x19
--	AF_X25                               = 0x9
--	ALG_OP_DECRYPT                       = 0x0
--	ALG_OP_ENCRYPT                       = 0x1
--	ALG_SET_AEAD_ASSOCLEN                = 0x4
--	ALG_SET_AEAD_AUTHSIZE                = 0x5
--	ALG_SET_IV                           = 0x2
--	ALG_SET_KEY                          = 0x1
--	ALG_SET_OP                           = 0x3
--	ARPHRD_6LOWPAN                       = 0x339
--	ARPHRD_ADAPT                         = 0x108
--	ARPHRD_APPLETLK                      = 0x8
--	ARPHRD_ARCNET                        = 0x7
--	ARPHRD_ASH                           = 0x30d
--	ARPHRD_ATM                           = 0x13
--	ARPHRD_AX25                          = 0x3
--	ARPHRD_BIF                           = 0x307
--	ARPHRD_CAIF                          = 0x336
--	ARPHRD_CAN                           = 0x118
--	ARPHRD_CHAOS                         = 0x5
--	ARPHRD_CISCO                         = 0x201
--	ARPHRD_CSLIP                         = 0x101
--	ARPHRD_CSLIP6                        = 0x103
--	ARPHRD_DDCMP                         = 0x205
--	ARPHRD_DLCI                          = 0xf
--	ARPHRD_ECONET                        = 0x30e
--	ARPHRD_EETHER                        = 0x2
--	ARPHRD_ETHER                         = 0x1
--	ARPHRD_EUI64                         = 0x1b
--	ARPHRD_FCAL                          = 0x311
--	ARPHRD_FCFABRIC                      = 0x313
--	ARPHRD_FCPL                          = 0x312
--	ARPHRD_FCPP                          = 0x310
--	ARPHRD_FDDI                          = 0x306
--	ARPHRD_FRAD                          = 0x302
--	ARPHRD_HDLC                          = 0x201
--	ARPHRD_HIPPI                         = 0x30c
--	ARPHRD_HWX25                         = 0x110
--	ARPHRD_IEEE1394                      = 0x18
--	ARPHRD_IEEE802                       = 0x6
--	ARPHRD_IEEE80211                     = 0x321
--	ARPHRD_IEEE80211_PRISM               = 0x322
--	ARPHRD_IEEE80211_RADIOTAP            = 0x323
--	ARPHRD_IEEE802154                    = 0x324
--	ARPHRD_IEEE802154_MONITOR            = 0x325
--	ARPHRD_IEEE802_TR                    = 0x320
--	ARPHRD_INFINIBAND                    = 0x20
--	ARPHRD_IP6GRE                        = 0x337
--	ARPHRD_IPDDP                         = 0x309
--	ARPHRD_IPGRE                         = 0x30a
--	ARPHRD_IRDA                          = 0x30f
--	ARPHRD_LAPB                          = 0x204
--	ARPHRD_LOCALTLK                      = 0x305
--	ARPHRD_LOOPBACK                      = 0x304
--	ARPHRD_METRICOM                      = 0x17
--	ARPHRD_NETLINK                       = 0x338
--	ARPHRD_NETROM                        = 0x0
--	ARPHRD_NONE                          = 0xfffe
--	ARPHRD_PHONET                        = 0x334
--	ARPHRD_PHONET_PIPE                   = 0x335
--	ARPHRD_PIMREG                        = 0x30b
--	ARPHRD_PPP                           = 0x200
--	ARPHRD_PRONET                        = 0x4
--	ARPHRD_RAWHDLC                       = 0x206
--	ARPHRD_ROSE                          = 0x10e
--	ARPHRD_RSRVD                         = 0x104
--	ARPHRD_SIT                           = 0x308
--	ARPHRD_SKIP                          = 0x303
--	ARPHRD_SLIP                          = 0x100
--	ARPHRD_SLIP6                         = 0x102
--	ARPHRD_TUNNEL                        = 0x300
--	ARPHRD_TUNNEL6                       = 0x301
--	ARPHRD_VOID                          = 0xffff
--	ARPHRD_X25                           = 0x10f
--	B0                                   = 0x0
--	B1000000                             = 0x1008
--	B110                                 = 0x3
--	B115200                              = 0x1002
--	B1152000                             = 0x1009
--	B1200                                = 0x9
--	B134                                 = 0x4
--	B150                                 = 0x5
--	B1500000                             = 0x100a
--	B1800                                = 0xa
--	B19200                               = 0xe
--	B200                                 = 0x6
--	B2000000                             = 0x100b
--	B230400                              = 0x1003
--	B2400                                = 0xb
--	B2500000                             = 0x100c
--	B300                                 = 0x7
--	B3000000                             = 0x100d
--	B3500000                             = 0x100e
--	B38400                               = 0xf
--	B4000000                             = 0x100f
--	B460800                              = 0x1004
--	B4800                                = 0xc
--	B50                                  = 0x1
--	B500000                              = 0x1005
--	B57600                               = 0x1001
--	B576000                              = 0x1006
--	B600                                 = 0x8
--	B75                                  = 0x2
--	B921600                              = 0x1007
--	B9600                                = 0xd
--	BLKBSZGET                            = 0x40041270
--	BLKBSZSET                            = 0x80041271
--	BLKFLSBUF                            = 0x20001261
--	BLKFRAGET                            = 0x20001265
--	BLKFRASET                            = 0x20001264
--	BLKGETSIZE                           = 0x20001260
--	BLKGETSIZE64                         = 0x40041272
--	BLKPBSZGET                           = 0x2000127b
--	BLKRAGET                             = 0x20001263
--	BLKRASET                             = 0x20001262
--	BLKROGET                             = 0x2000125e
--	BLKROSET                             = 0x2000125d
--	BLKRRPART                            = 0x2000125f
--	BLKSECTGET                           = 0x20001267
--	BLKSECTSET                           = 0x20001266
--	BLKSSZGET                            = 0x20001268
--	BOTHER                               = 0x1000
--	BPF_A                                = 0x10
--	BPF_ABS                              = 0x20
--	BPF_ADD                              = 0x0
--	BPF_ALU                              = 0x4
--	BPF_AND                              = 0x50
--	BPF_B                                = 0x10
--	BPF_DIV                              = 0x30
--	BPF_H                                = 0x8
--	BPF_IMM                              = 0x0
--	BPF_IND                              = 0x40
--	BPF_JA                               = 0x0
--	BPF_JEQ                              = 0x10
--	BPF_JGE                              = 0x30
--	BPF_JGT                              = 0x20
--	BPF_JMP                              = 0x5
--	BPF_JSET                             = 0x40
--	BPF_K                                = 0x0
--	BPF_LD                               = 0x0
--	BPF_LDX                              = 0x1
--	BPF_LEN                              = 0x80
--	BPF_LL_OFF                           = -0x200000
--	BPF_LSH                              = 0x60
--	BPF_MAJOR_VERSION                    = 0x1
--	BPF_MAXINSNS                         = 0x1000
--	BPF_MEM                              = 0x60
--	BPF_MEMWORDS                         = 0x10
--	BPF_MINOR_VERSION                    = 0x1
--	BPF_MISC                             = 0x7
--	BPF_MOD                              = 0x90
--	BPF_MSH                              = 0xa0
--	BPF_MUL                              = 0x20
--	BPF_NEG                              = 0x80
--	BPF_NET_OFF                          = -0x100000
--	BPF_OR                               = 0x40
--	BPF_RET                              = 0x6
--	BPF_RSH                              = 0x70
--	BPF_ST                               = 0x2
--	BPF_STX                              = 0x3
--	BPF_SUB                              = 0x10
--	BPF_TAX                              = 0x0
--	BPF_TXA                              = 0x80
--	BPF_W                                = 0x0
--	BPF_X                                = 0x8
--	BPF_XOR                              = 0xa0
--	BRKINT                               = 0x2
--	BS0                                  = 0x0
--	BS1                                  = 0x2000
--	BSDLY                                = 0x2000
--	CAN_BCM                              = 0x2
--	CAN_EFF_FLAG                         = 0x80000000
--	CAN_EFF_ID_BITS                      = 0x1d
--	CAN_EFF_MASK                         = 0x1fffffff
--	CAN_ERR_FLAG                         = 0x20000000
--	CAN_ERR_MASK                         = 0x1fffffff
--	CAN_INV_FILTER                       = 0x20000000
--	CAN_ISOTP                            = 0x6
--	CAN_MAX_DLC                          = 0x8
--	CAN_MAX_DLEN                         = 0x8
--	CAN_MCNET                            = 0x5
--	CAN_MTU                              = 0x10
--	CAN_NPROTO                           = 0x7
--	CAN_RAW                              = 0x1
--	CAN_RAW_FILTER_MAX                   = 0x200
--	CAN_RTR_FLAG                         = 0x40000000
--	CAN_SFF_ID_BITS                      = 0xb
--	CAN_SFF_MASK                         = 0x7ff
--	CAN_TP16                             = 0x3
--	CAN_TP20                             = 0x4
--	CBAUD                                = 0x100f
--	CBAUDEX                              = 0x1000
--	CFLUSH                               = 0xf
--	CIBAUD                               = 0x100f0000
--	CLOCAL                               = 0x800
--	CLOCK_BOOTTIME                       = 0x7
--	CLOCK_BOOTTIME_ALARM                 = 0x9
--	CLOCK_DEFAULT                        = 0x0
--	CLOCK_EXT                            = 0x1
--	CLOCK_INT                            = 0x2
--	CLOCK_MONOTONIC                      = 0x1
--	CLOCK_MONOTONIC_COARSE               = 0x6
--	CLOCK_MONOTONIC_RAW                  = 0x4
--	CLOCK_PROCESS_CPUTIME_ID             = 0x2
--	CLOCK_REALTIME                       = 0x0
--	CLOCK_REALTIME_ALARM                 = 0x8
--	CLOCK_REALTIME_COARSE                = 0x5
--	CLOCK_TAI                            = 0xb
--	CLOCK_THREAD_CPUTIME_ID              = 0x3
--	CLOCK_TXFROMRX                       = 0x4
--	CLOCK_TXINT                          = 0x3
--	CLONE_CHILD_CLEARTID                 = 0x200000
--	CLONE_CHILD_SETTID                   = 0x1000000
--	CLONE_DETACHED                       = 0x400000
--	CLONE_FILES                          = 0x400
--	CLONE_FS                             = 0x200
--	CLONE_IO                             = 0x80000000
--	CLONE_NEWCGROUP                      = 0x2000000
--	CLONE_NEWIPC                         = 0x8000000
--	CLONE_NEWNET                         = 0x40000000
--	CLONE_NEWNS                          = 0x20000
--	CLONE_NEWPID                         = 0x20000000
--	CLONE_NEWUSER                        = 0x10000000
--	CLONE_NEWUTS                         = 0x4000000
--	CLONE_PARENT                         = 0x8000
--	CLONE_PARENT_SETTID                  = 0x100000
--	CLONE_PTRACE                         = 0x2000
--	CLONE_SETTLS                         = 0x80000
--	CLONE_SIGHAND                        = 0x800
--	CLONE_SYSVSEM                        = 0x40000
--	CLONE_THREAD                         = 0x10000
--	CLONE_UNTRACED                       = 0x800000
--	CLONE_VFORK                          = 0x4000
--	CLONE_VM                             = 0x100
--	CMSPAR                               = 0x40000000
--	CR0                                  = 0x0
--	CR1                                  = 0x200
--	CR2                                  = 0x400
--	CR3                                  = 0x600
--	CRDLY                                = 0x600
--	CREAD                                = 0x80
--	CRTSCTS                              = 0x80000000
--	CS5                                  = 0x0
--	CS6                                  = 0x10
--	CS7                                  = 0x20
--	CS8                                  = 0x30
--	CSIGNAL                              = 0xff
--	CSIZE                                = 0x30
--	CSTART                               = 0x11
--	CSTATUS                              = 0x0
--	CSTOP                                = 0x13
--	CSTOPB                               = 0x40
--	CSUSP                                = 0x1a
--	DT_BLK                               = 0x6
--	DT_CHR                               = 0x2
--	DT_DIR                               = 0x4
--	DT_FIFO                              = 0x1
--	DT_LNK                               = 0xa
--	DT_REG                               = 0x8
--	DT_SOCK                              = 0xc
--	DT_UNKNOWN                           = 0x0
--	DT_WHT                               = 0xe
--	ECHO                                 = 0x8
--	ECHOCTL                              = 0x200
--	ECHOE                                = 0x10
--	ECHOK                                = 0x20
--	ECHOKE                               = 0x800
--	ECHONL                               = 0x40
--	ECHOPRT                              = 0x400
--	EFD_CLOEXEC                          = 0x80000
--	EFD_NONBLOCK                         = 0x80
--	EFD_SEMAPHORE                        = 0x1
--	ENCODING_DEFAULT                     = 0x0
--	ENCODING_FM_MARK                     = 0x3
--	ENCODING_FM_SPACE                    = 0x4
--	ENCODING_MANCHESTER                  = 0x5
--	ENCODING_NRZ                         = 0x1
--	ENCODING_NRZI                        = 0x2
--	EPOLLERR                             = 0x8
--	EPOLLET                              = 0x80000000
--	EPOLLEXCLUSIVE                       = 0x10000000
--	EPOLLHUP                             = 0x10
--	EPOLLIN                              = 0x1
--	EPOLLMSG                             = 0x400
--	EPOLLONESHOT                         = 0x40000000
--	EPOLLOUT                             = 0x4
--	EPOLLPRI                             = 0x2
--	EPOLLRDBAND                          = 0x80
--	EPOLLRDHUP                           = 0x2000
--	EPOLLRDNORM                          = 0x40
--	EPOLLWAKEUP                          = 0x20000000
--	EPOLLWRBAND                          = 0x200
--	EPOLLWRNORM                          = 0x100
--	EPOLL_CLOEXEC                        = 0x80000
--	EPOLL_CTL_ADD                        = 0x1
--	EPOLL_CTL_DEL                        = 0x2
--	EPOLL_CTL_MOD                        = 0x3
--	ETH_P_1588                           = 0x88f7
--	ETH_P_8021AD                         = 0x88a8
--	ETH_P_8021AH                         = 0x88e7
--	ETH_P_8021Q                          = 0x8100
--	ETH_P_80221                          = 0x8917
--	ETH_P_802_2                          = 0x4
--	ETH_P_802_3                          = 0x1
--	ETH_P_802_3_MIN                      = 0x600
--	ETH_P_802_EX1                        = 0x88b5
--	ETH_P_AARP                           = 0x80f3
--	ETH_P_AF_IUCV                        = 0xfbfb
--	ETH_P_ALL                            = 0x3
--	ETH_P_AOE                            = 0x88a2
--	ETH_P_ARCNET                         = 0x1a
--	ETH_P_ARP                            = 0x806
--	ETH_P_ATALK                          = 0x809b
--	ETH_P_ATMFATE                        = 0x8884
--	ETH_P_ATMMPOA                        = 0x884c
--	ETH_P_AX25                           = 0x2
--	ETH_P_BATMAN                         = 0x4305
--	ETH_P_BPQ                            = 0x8ff
--	ETH_P_CAIF                           = 0xf7
--	ETH_P_CAN                            = 0xc
--	ETH_P_CANFD                          = 0xd
--	ETH_P_CONTROL                        = 0x16
--	ETH_P_CUST                           = 0x6006
--	ETH_P_DDCMP                          = 0x6
--	ETH_P_DEC                            = 0x6000
--	ETH_P_DIAG                           = 0x6005
--	ETH_P_DNA_DL                         = 0x6001
--	ETH_P_DNA_RC                         = 0x6002
--	ETH_P_DNA_RT                         = 0x6003
--	ETH_P_DSA                            = 0x1b
--	ETH_P_ECONET                         = 0x18
--	ETH_P_EDSA                           = 0xdada
--	ETH_P_FCOE                           = 0x8906
--	ETH_P_FIP                            = 0x8914
--	ETH_P_HDLC                           = 0x19
--	ETH_P_HSR                            = 0x892f
--	ETH_P_IEEE802154                     = 0xf6
--	ETH_P_IEEEPUP                        = 0xa00
--	ETH_P_IEEEPUPAT                      = 0xa01
--	ETH_P_IP                             = 0x800
--	ETH_P_IPV6                           = 0x86dd
--	ETH_P_IPX                            = 0x8137
--	ETH_P_IRDA                           = 0x17
--	ETH_P_LAT                            = 0x6004
--	ETH_P_LINK_CTL                       = 0x886c
--	ETH_P_LOCALTALK                      = 0x9
--	ETH_P_LOOP                           = 0x60
--	ETH_P_LOOPBACK                       = 0x9000
--	ETH_P_MACSEC                         = 0x88e5
--	ETH_P_MOBITEX                        = 0x15
--	ETH_P_MPLS_MC                        = 0x8848
--	ETH_P_MPLS_UC                        = 0x8847
--	ETH_P_MVRP                           = 0x88f5
--	ETH_P_NCSI                           = 0x88f8
--	ETH_P_PAE                            = 0x888e
--	ETH_P_PAUSE                          = 0x8808
--	ETH_P_PHONET                         = 0xf5
--	ETH_P_PPPTALK                        = 0x10
--	ETH_P_PPP_DISC                       = 0x8863
--	ETH_P_PPP_MP                         = 0x8
--	ETH_P_PPP_SES                        = 0x8864
--	ETH_P_PRP                            = 0x88fb
--	ETH_P_PUP                            = 0x200
--	ETH_P_PUPAT                          = 0x201
--	ETH_P_QINQ1                          = 0x9100
--	ETH_P_QINQ2                          = 0x9200
--	ETH_P_QINQ3                          = 0x9300
--	ETH_P_RARP                           = 0x8035
--	ETH_P_SCA                            = 0x6007
--	ETH_P_SLOW                           = 0x8809
--	ETH_P_SNAP                           = 0x5
--	ETH_P_TDLS                           = 0x890d
--	ETH_P_TEB                            = 0x6558
--	ETH_P_TIPC                           = 0x88ca
--	ETH_P_TRAILER                        = 0x1c
--	ETH_P_TR_802_2                       = 0x11
--	ETH_P_TSN                            = 0x22f0
--	ETH_P_WAN_PPP                        = 0x7
--	ETH_P_WCCP                           = 0x883e
--	ETH_P_X25                            = 0x805
--	ETH_P_XDSA                           = 0xf8
--	EXTA                                 = 0xe
--	EXTB                                 = 0xf
--	EXTPROC                              = 0x10000
--	FALLOC_FL_COLLAPSE_RANGE             = 0x8
--	FALLOC_FL_INSERT_RANGE               = 0x20
--	FALLOC_FL_KEEP_SIZE                  = 0x1
--	FALLOC_FL_NO_HIDE_STALE              = 0x4
--	FALLOC_FL_PUNCH_HOLE                 = 0x2
--	FALLOC_FL_UNSHARE_RANGE              = 0x40
--	FALLOC_FL_ZERO_RANGE                 = 0x10
--	FD_CLOEXEC                           = 0x1
--	FD_SETSIZE                           = 0x400
--	FF0                                  = 0x0
--	FF1                                  = 0x8000
--	FFDLY                                = 0x8000
--	FLUSHO                               = 0x2000
--	FS_ENCRYPTION_MODE_AES_256_CBC       = 0x3
--	FS_ENCRYPTION_MODE_AES_256_CTS       = 0x4
--	FS_ENCRYPTION_MODE_AES_256_GCM       = 0x2
--	FS_ENCRYPTION_MODE_AES_256_XTS       = 0x1
--	FS_ENCRYPTION_MODE_INVALID           = 0x0
--	FS_IOC_GET_ENCRYPTION_POLICY         = 0x800c6615
--	FS_IOC_GET_ENCRYPTION_PWSALT         = 0x80106614
--	FS_IOC_SET_ENCRYPTION_POLICY         = 0x400c6613
--	FS_KEY_DESCRIPTOR_SIZE               = 0x8
--	FS_KEY_DESC_PREFIX                   = "fscrypt:"
--	FS_KEY_DESC_PREFIX_SIZE              = 0x8
--	FS_MAX_KEY_SIZE                      = 0x40
--	FS_POLICY_FLAGS_PAD_16               = 0x2
--	FS_POLICY_FLAGS_PAD_32               = 0x3
--	FS_POLICY_FLAGS_PAD_4                = 0x0
--	FS_POLICY_FLAGS_PAD_8                = 0x1
--	FS_POLICY_FLAGS_PAD_MASK             = 0x3
--	FS_POLICY_FLAGS_VALID                = 0x3
--	F_DUPFD                              = 0x0
--	F_DUPFD_CLOEXEC                      = 0x406
--	F_EXLCK                              = 0x4
--	F_GETFD                              = 0x1
--	F_GETFL                              = 0x3
--	F_GETLEASE                           = 0x401
--	F_GETLK                              = 0x21
--	F_GETLK64                            = 0x21
--	F_GETOWN                             = 0x17
--	F_GETOWN_EX                          = 0x10
--	F_GETPIPE_SZ                         = 0x408
--	F_GETSIG                             = 0xb
--	F_LOCK                               = 0x1
--	F_NOTIFY                             = 0x402
--	F_OFD_GETLK                          = 0x24
--	F_OFD_SETLK                          = 0x25
--	F_OFD_SETLKW                         = 0x26
--	F_OK                                 = 0x0
--	F_RDLCK                              = 0x0
--	F_SETFD                              = 0x2
--	F_SETFL                              = 0x4
--	F_SETLEASE                           = 0x400
--	F_SETLK                              = 0x22
--	F_SETLK64                            = 0x22
--	F_SETLKW                             = 0x23
--	F_SETLKW64                           = 0x23
--	F_SETOWN                             = 0x18
--	F_SETOWN_EX                          = 0xf
--	F_SETPIPE_SZ                         = 0x407
--	F_SETSIG                             = 0xa
--	F_SHLCK                              = 0x8
--	F_TEST                               = 0x3
--	F_TLOCK                              = 0x2
--	F_ULOCK                              = 0x0
--	F_UNLCK                              = 0x2
--	F_WRLCK                              = 0x1
--	GENL_ADMIN_PERM                      = 0x1
--	GENL_CMD_CAP_DO                      = 0x2
--	GENL_CMD_CAP_DUMP                    = 0x4
--	GENL_CMD_CAP_HASPOL                  = 0x8
--	GENL_HDRLEN                          = 0x4
--	GENL_ID_CTRL                         = 0x10
--	GENL_ID_PMCRAID                      = 0x12
--	GENL_ID_VFS_DQUOT                    = 0x11
--	GENL_MAX_ID                          = 0x3ff
--	GENL_MIN_ID                          = 0x10
--	GENL_NAMSIZ                          = 0x10
--	GENL_START_ALLOC                     = 0x13
--	GENL_UNS_ADMIN_PERM                  = 0x10
--	GRND_NONBLOCK                        = 0x1
--	GRND_RANDOM                          = 0x2
--	HUPCL                                = 0x400
--	IBSHIFT                              = 0x10
--	ICANON                               = 0x2
--	ICMPV6_FILTER                        = 0x1
--	ICRNL                                = 0x100
--	IEXTEN                               = 0x100
--	IFA_F_DADFAILED                      = 0x8
--	IFA_F_DEPRECATED                     = 0x20
--	IFA_F_HOMEADDRESS                    = 0x10
--	IFA_F_MANAGETEMPADDR                 = 0x100
--	IFA_F_MCAUTOJOIN                     = 0x400
--	IFA_F_NODAD                          = 0x2
--	IFA_F_NOPREFIXROUTE                  = 0x200
--	IFA_F_OPTIMISTIC                     = 0x4
--	IFA_F_PERMANENT                      = 0x80
--	IFA_F_SECONDARY                      = 0x1
--	IFA_F_STABLE_PRIVACY                 = 0x800
--	IFA_F_TEMPORARY                      = 0x1
--	IFA_F_TENTATIVE                      = 0x40
--	IFA_MAX                              = 0x8
--	IFF_ALLMULTI                         = 0x200
--	IFF_ATTACH_QUEUE                     = 0x200
--	IFF_AUTOMEDIA                        = 0x4000
--	IFF_BROADCAST                        = 0x2
--	IFF_DEBUG                            = 0x4
--	IFF_DETACH_QUEUE                     = 0x400
--	IFF_DORMANT                          = 0x20000
--	IFF_DYNAMIC                          = 0x8000
--	IFF_ECHO                             = 0x40000
--	IFF_LOOPBACK                         = 0x8
--	IFF_LOWER_UP                         = 0x10000
--	IFF_MASTER                           = 0x400
--	IFF_MULTICAST                        = 0x1000
--	IFF_MULTI_QUEUE                      = 0x100
--	IFF_NOARP                            = 0x80
--	IFF_NOFILTER                         = 0x1000
--	IFF_NOTRAILERS                       = 0x20
--	IFF_NO_PI                            = 0x1000
--	IFF_ONE_QUEUE                        = 0x2000
--	IFF_PERSIST                          = 0x800
--	IFF_POINTOPOINT                      = 0x10
--	IFF_PORTSEL                          = 0x2000
--	IFF_PROMISC                          = 0x100
--	IFF_RUNNING                          = 0x40
--	IFF_SLAVE                            = 0x800
--	IFF_TAP                              = 0x2
--	IFF_TUN                              = 0x1
--	IFF_TUN_EXCL                         = 0x8000
--	IFF_UP                               = 0x1
--	IFF_VNET_HDR                         = 0x4000
--	IFF_VOLATILE                         = 0x70c5a
--	IFNAMSIZ                             = 0x10
--	IGNBRK                               = 0x1
--	IGNCR                                = 0x80
--	IGNPAR                               = 0x4
--	IMAXBEL                              = 0x2000
--	INLCR                                = 0x40
--	INPCK                                = 0x10
--	IN_ACCESS                            = 0x1
--	IN_ALL_EVENTS                        = 0xfff
--	IN_ATTRIB                            = 0x4
--	IN_CLASSA_HOST                       = 0xffffff
--	IN_CLASSA_MAX                        = 0x80
--	IN_CLASSA_NET                        = 0xff000000
--	IN_CLASSA_NSHIFT                     = 0x18
--	IN_CLASSB_HOST                       = 0xffff
--	IN_CLASSB_MAX                        = 0x10000
--	IN_CLASSB_NET                        = 0xffff0000
--	IN_CLASSB_NSHIFT                     = 0x10
--	IN_CLASSC_HOST                       = 0xff
--	IN_CLASSC_NET                        = 0xffffff00
--	IN_CLASSC_NSHIFT                     = 0x8
--	IN_CLOEXEC                           = 0x80000
--	IN_CLOSE                             = 0x18
--	IN_CLOSE_NOWRITE                     = 0x10
--	IN_CLOSE_WRITE                       = 0x8
--	IN_CREATE                            = 0x100
--	IN_DELETE                            = 0x200
--	IN_DELETE_SELF                       = 0x400
--	IN_DONT_FOLLOW                       = 0x2000000
--	IN_EXCL_UNLINK                       = 0x4000000
--	IN_IGNORED                           = 0x8000
--	IN_ISDIR                             = 0x40000000
--	IN_LOOPBACKNET                       = 0x7f
--	IN_MASK_ADD                          = 0x20000000
--	IN_MODIFY                            = 0x2
--	IN_MOVE                              = 0xc0
--	IN_MOVED_FROM                        = 0x40
--	IN_MOVED_TO                          = 0x80
--	IN_MOVE_SELF                         = 0x800
--	IN_NONBLOCK                          = 0x80
--	IN_ONESHOT                           = 0x80000000
--	IN_ONLYDIR                           = 0x1000000
--	IN_OPEN                              = 0x20
--	IN_Q_OVERFLOW                        = 0x4000
--	IN_UNMOUNT                           = 0x2000
--	IPPROTO_AH                           = 0x33
--	IPPROTO_BEETPH                       = 0x5e
--	IPPROTO_COMP                         = 0x6c
--	IPPROTO_DCCP                         = 0x21
--	IPPROTO_DSTOPTS                      = 0x3c
--	IPPROTO_EGP                          = 0x8
--	IPPROTO_ENCAP                        = 0x62
--	IPPROTO_ESP                          = 0x32
--	IPPROTO_FRAGMENT                     = 0x2c
--	IPPROTO_GRE                          = 0x2f
--	IPPROTO_HOPOPTS                      = 0x0
--	IPPROTO_ICMP                         = 0x1
--	IPPROTO_ICMPV6                       = 0x3a
--	IPPROTO_IDP                          = 0x16
--	IPPROTO_IGMP                         = 0x2
--	IPPROTO_IP                           = 0x0
--	IPPROTO_IPIP                         = 0x4
--	IPPROTO_IPV6                         = 0x29
--	IPPROTO_MH                           = 0x87
--	IPPROTO_MPLS                         = 0x89
--	IPPROTO_MTP                          = 0x5c
--	IPPROTO_NONE                         = 0x3b
--	IPPROTO_PIM                          = 0x67
--	IPPROTO_PUP                          = 0xc
--	IPPROTO_RAW                          = 0xff
--	IPPROTO_ROUTING                      = 0x2b
--	IPPROTO_RSVP                         = 0x2e
--	IPPROTO_SCTP                         = 0x84
--	IPPROTO_TCP                          = 0x6
--	IPPROTO_TP                           = 0x1d
--	IPPROTO_UDP                          = 0x11
--	IPPROTO_UDPLITE                      = 0x88
--	IPV6_2292DSTOPTS                     = 0x4
--	IPV6_2292HOPLIMIT                    = 0x8
--	IPV6_2292HOPOPTS                     = 0x3
--	IPV6_2292PKTINFO                     = 0x2
--	IPV6_2292PKTOPTIONS                  = 0x6
--	IPV6_2292RTHDR                       = 0x5
--	IPV6_ADDRFORM                        = 0x1
--	IPV6_ADD_MEMBERSHIP                  = 0x14
--	IPV6_AUTHHDR                         = 0xa
--	IPV6_CHECKSUM                        = 0x7
--	IPV6_DONTFRAG                        = 0x3e
--	IPV6_DROP_MEMBERSHIP                 = 0x15
--	IPV6_DSTOPTS                         = 0x3b
--	IPV6_HDRINCL                         = 0x24
--	IPV6_HOPLIMIT                        = 0x34
--	IPV6_HOPOPTS                         = 0x36
--	IPV6_IPSEC_POLICY                    = 0x22
--	IPV6_JOIN_ANYCAST                    = 0x1b
--	IPV6_JOIN_GROUP                      = 0x14
--	IPV6_LEAVE_ANYCAST                   = 0x1c
--	IPV6_LEAVE_GROUP                     = 0x15
--	IPV6_MTU                             = 0x18
--	IPV6_MTU_DISCOVER                    = 0x17
--	IPV6_MULTICAST_HOPS                  = 0x12
--	IPV6_MULTICAST_IF                    = 0x11
--	IPV6_MULTICAST_LOOP                  = 0x13
--	IPV6_NEXTHOP                         = 0x9
--	IPV6_PATHMTU                         = 0x3d
--	IPV6_PKTINFO                         = 0x32
--	IPV6_PMTUDISC_DO                     = 0x2
--	IPV6_PMTUDISC_DONT                   = 0x0
--	IPV6_PMTUDISC_INTERFACE              = 0x4
--	IPV6_PMTUDISC_OMIT                   = 0x5
--	IPV6_PMTUDISC_PROBE                  = 0x3
--	IPV6_PMTUDISC_WANT                   = 0x1
--	IPV6_RECVDSTOPTS                     = 0x3a
--	IPV6_RECVERR                         = 0x19
--	IPV6_RECVHOPLIMIT                    = 0x33
--	IPV6_RECVHOPOPTS                     = 0x35
--	IPV6_RECVPATHMTU                     = 0x3c
--	IPV6_RECVPKTINFO                     = 0x31
--	IPV6_RECVRTHDR                       = 0x38
--	IPV6_RECVTCLASS                      = 0x42
--	IPV6_ROUTER_ALERT                    = 0x16
--	IPV6_RTHDR                           = 0x39
--	IPV6_RTHDRDSTOPTS                    = 0x37
--	IPV6_RTHDR_LOOSE                     = 0x0
--	IPV6_RTHDR_STRICT                    = 0x1
--	IPV6_RTHDR_TYPE_0                    = 0x0
--	IPV6_RXDSTOPTS                       = 0x3b
--	IPV6_RXHOPOPTS                       = 0x36
--	IPV6_TCLASS                          = 0x43
--	IPV6_UNICAST_HOPS                    = 0x10
--	IPV6_V6ONLY                          = 0x1a
--	IPV6_XFRM_POLICY                     = 0x23
--	IP_ADD_MEMBERSHIP                    = 0x23
--	IP_ADD_SOURCE_MEMBERSHIP             = 0x27
--	IP_BIND_ADDRESS_NO_PORT              = 0x18
--	IP_BLOCK_SOURCE                      = 0x26
--	IP_CHECKSUM                          = 0x17
--	IP_DEFAULT_MULTICAST_LOOP            = 0x1
--	IP_DEFAULT_MULTICAST_TTL             = 0x1
--	IP_DF                                = 0x4000
--	IP_DROP_MEMBERSHIP                   = 0x24
--	IP_DROP_SOURCE_MEMBERSHIP            = 0x28
--	IP_FREEBIND                          = 0xf
--	IP_HDRINCL                           = 0x3
--	IP_IPSEC_POLICY                      = 0x10
--	IP_MAXPACKET                         = 0xffff
--	IP_MAX_MEMBERSHIPS                   = 0x14
--	IP_MF                                = 0x2000
--	IP_MINTTL                            = 0x15
--	IP_MSFILTER                          = 0x29
--	IP_MSS                               = 0x240
--	IP_MTU                               = 0xe
--	IP_MTU_DISCOVER                      = 0xa
--	IP_MULTICAST_ALL                     = 0x31
--	IP_MULTICAST_IF                      = 0x20
--	IP_MULTICAST_LOOP                    = 0x22
--	IP_MULTICAST_TTL                     = 0x21
--	IP_NODEFRAG                          = 0x16
--	IP_OFFMASK                           = 0x1fff
--	IP_OPTIONS                           = 0x4
--	IP_ORIGDSTADDR                       = 0x14
--	IP_PASSSEC                           = 0x12
--	IP_PKTINFO                           = 0x8
--	IP_PKTOPTIONS                        = 0x9
--	IP_PMTUDISC                          = 0xa
--	IP_PMTUDISC_DO                       = 0x2
--	IP_PMTUDISC_DONT                     = 0x0
--	IP_PMTUDISC_INTERFACE                = 0x4
--	IP_PMTUDISC_OMIT                     = 0x5
--	IP_PMTUDISC_PROBE                    = 0x3
--	IP_PMTUDISC_WANT                     = 0x1
--	IP_RECVERR                           = 0xb
--	IP_RECVOPTS                          = 0x6
--	IP_RECVORIGDSTADDR                   = 0x14
--	IP_RECVRETOPTS                       = 0x7
--	IP_RECVTOS                           = 0xd
--	IP_RECVTTL                           = 0xc
--	IP_RETOPTS                           = 0x7
--	IP_RF                                = 0x8000
--	IP_ROUTER_ALERT                      = 0x5
--	IP_TOS                               = 0x1
--	IP_TRANSPARENT                       = 0x13
--	IP_TTL                               = 0x2
--	IP_UNBLOCK_SOURCE                    = 0x25
--	IP_UNICAST_IF                        = 0x32
--	IP_XFRM_POLICY                       = 0x11
--	ISIG                                 = 0x1
--	ISTRIP                               = 0x20
--	IUCLC                                = 0x200
--	IUTF8                                = 0x4000
--	IXANY                                = 0x800
--	IXOFF                                = 0x1000
--	IXON                                 = 0x400
--	KEYCTL_ASSUME_AUTHORITY              = 0x10
--	KEYCTL_CHOWN                         = 0x4
--	KEYCTL_CLEAR                         = 0x7
--	KEYCTL_DESCRIBE                      = 0x6
--	KEYCTL_DH_COMPUTE                    = 0x17
--	KEYCTL_GET_KEYRING_ID                = 0x0
--	KEYCTL_GET_PERSISTENT                = 0x16
--	KEYCTL_GET_SECURITY                  = 0x11
--	KEYCTL_INSTANTIATE                   = 0xc
--	KEYCTL_INSTANTIATE_IOV               = 0x14
--	KEYCTL_INVALIDATE                    = 0x15
--	KEYCTL_JOIN_SESSION_KEYRING          = 0x1
--	KEYCTL_LINK                          = 0x8
--	KEYCTL_NEGATE                        = 0xd
--	KEYCTL_READ                          = 0xb
--	KEYCTL_REJECT                        = 0x13
--	KEYCTL_REVOKE                        = 0x3
--	KEYCTL_SEARCH                        = 0xa
--	KEYCTL_SESSION_TO_PARENT             = 0x12
--	KEYCTL_SETPERM                       = 0x5
--	KEYCTL_SET_REQKEY_KEYRING            = 0xe
--	KEYCTL_SET_TIMEOUT                   = 0xf
--	KEYCTL_UNLINK                        = 0x9
--	KEYCTL_UPDATE                        = 0x2
--	KEY_REQKEY_DEFL_DEFAULT              = 0x0
--	KEY_REQKEY_DEFL_GROUP_KEYRING        = 0x6
--	KEY_REQKEY_DEFL_NO_CHANGE            = -0x1
--	KEY_REQKEY_DEFL_PROCESS_KEYRING      = 0x2
--	KEY_REQKEY_DEFL_REQUESTOR_KEYRING    = 0x7
--	KEY_REQKEY_DEFL_SESSION_KEYRING      = 0x3
--	KEY_REQKEY_DEFL_THREAD_KEYRING       = 0x1
--	KEY_REQKEY_DEFL_USER_KEYRING         = 0x4
--	KEY_REQKEY_DEFL_USER_SESSION_KEYRING = 0x5
--	KEY_SPEC_GROUP_KEYRING               = -0x6
--	KEY_SPEC_PROCESS_KEYRING             = -0x2
--	KEY_SPEC_REQKEY_AUTH_KEY             = -0x7
--	KEY_SPEC_REQUESTOR_KEYRING           = -0x8
--	KEY_SPEC_SESSION_KEYRING             = -0x3
--	KEY_SPEC_THREAD_KEYRING              = -0x1
--	KEY_SPEC_USER_KEYRING                = -0x4
--	KEY_SPEC_USER_SESSION_KEYRING        = -0x5
--	LINUX_REBOOT_CMD_CAD_OFF             = 0x0
--	LINUX_REBOOT_CMD_CAD_ON              = 0x89abcdef
--	LINUX_REBOOT_CMD_HALT                = 0xcdef0123
--	LINUX_REBOOT_CMD_KEXEC               = 0x45584543
--	LINUX_REBOOT_CMD_POWER_OFF           = 0x4321fedc
--	LINUX_REBOOT_CMD_RESTART             = 0x1234567
--	LINUX_REBOOT_CMD_RESTART2            = 0xa1b2c3d4
--	LINUX_REBOOT_CMD_SW_SUSPEND          = 0xd000fce2
--	LINUX_REBOOT_MAGIC1                  = 0xfee1dead
--	LINUX_REBOOT_MAGIC2                  = 0x28121969
--	LOCK_EX                              = 0x2
--	LOCK_NB                              = 0x4
--	LOCK_SH                              = 0x1
--	LOCK_UN                              = 0x8
--	MADV_DODUMP                          = 0x11
--	MADV_DOFORK                          = 0xb
--	MADV_DONTDUMP                        = 0x10
--	MADV_DONTFORK                        = 0xa
--	MADV_DONTNEED                        = 0x4
--	MADV_FREE                            = 0x8
--	MADV_HUGEPAGE                        = 0xe
--	MADV_HWPOISON                        = 0x64
--	MADV_MERGEABLE                       = 0xc
--	MADV_NOHUGEPAGE                      = 0xf
--	MADV_NORMAL                          = 0x0
--	MADV_RANDOM                          = 0x1
--	MADV_REMOVE                          = 0x9
--	MADV_SEQUENTIAL                      = 0x2
--	MADV_UNMERGEABLE                     = 0xd
--	MADV_WILLNEED                        = 0x3
--	MAP_ANON                             = 0x800
--	MAP_ANONYMOUS                        = 0x800
--	MAP_DENYWRITE                        = 0x2000
--	MAP_EXECUTABLE                       = 0x4000
--	MAP_FILE                             = 0x0
--	MAP_FIXED                            = 0x10
--	MAP_GROWSDOWN                        = 0x1000
--	MAP_HUGETLB                          = 0x80000
--	MAP_HUGE_MASK                        = 0x3f
--	MAP_HUGE_SHIFT                       = 0x1a
--	MAP_LOCKED                           = 0x8000
--	MAP_NONBLOCK                         = 0x20000
--	MAP_NORESERVE                        = 0x400
--	MAP_POPULATE                         = 0x10000
--	MAP_PRIVATE                          = 0x2
--	MAP_RENAME                           = 0x800
--	MAP_SHARED                           = 0x1
--	MAP_STACK                            = 0x40000
--	MAP_TYPE                             = 0xf
--	MCL_CURRENT                          = 0x1
--	MCL_FUTURE                           = 0x2
--	MCL_ONFAULT                          = 0x4
--	MNT_DETACH                           = 0x2
--	MNT_EXPIRE                           = 0x4
--	MNT_FORCE                            = 0x1
--	MSG_BATCH                            = 0x40000
--	MSG_CMSG_CLOEXEC                     = 0x40000000
--	MSG_CONFIRM                          = 0x800
--	MSG_CTRUNC                           = 0x8
--	MSG_DONTROUTE                        = 0x4
--	MSG_DONTWAIT                         = 0x40
--	MSG_EOR                              = 0x80
--	MSG_ERRQUEUE                         = 0x2000
--	MSG_FASTOPEN                         = 0x20000000
--	MSG_FIN                              = 0x200
--	MSG_MORE                             = 0x8000
--	MSG_NOSIGNAL                         = 0x4000
--	MSG_OOB                              = 0x1
--	MSG_PEEK                             = 0x2
--	MSG_PROXY                            = 0x10
--	MSG_RST                              = 0x1000
--	MSG_SYN                              = 0x400
--	MSG_TRUNC                            = 0x20
--	MSG_TRYHARD                          = 0x4
--	MSG_WAITALL                          = 0x100
--	MSG_WAITFORONE                       = 0x10000
--	MS_ACTIVE                            = 0x40000000
--	MS_ASYNC                             = 0x1
--	MS_BIND                              = 0x1000
--	MS_BORN                              = 0x20000000
--	MS_DIRSYNC                           = 0x80
--	MS_INVALIDATE                        = 0x2
--	MS_I_VERSION                         = 0x800000
--	MS_KERNMOUNT                         = 0x400000
--	MS_LAZYTIME                          = 0x2000000
--	MS_MANDLOCK                          = 0x40
--	MS_MGC_MSK                           = 0xffff0000
--	MS_MGC_VAL                           = 0xc0ed0000
--	MS_MOVE                              = 0x2000
--	MS_NOATIME                           = 0x400
--	MS_NODEV                             = 0x4
--	MS_NODIRATIME                        = 0x800
--	MS_NOEXEC                            = 0x8
--	MS_NOREMOTELOCK                      = 0x8000000
--	MS_NOSEC                             = 0x10000000
--	MS_NOSUID                            = 0x2
--	MS_NOUSER                            = -0x80000000
--	MS_POSIXACL                          = 0x10000
--	MS_PRIVATE                           = 0x40000
--	MS_RDONLY                            = 0x1
--	MS_REC                               = 0x4000
--	MS_RELATIME                          = 0x200000
--	MS_REMOUNT                           = 0x20
--	MS_RMT_MASK                          = 0x2800051
--	MS_SHARED                            = 0x100000
--	MS_SILENT                            = 0x8000
--	MS_SLAVE                             = 0x80000
--	MS_STRICTATIME                       = 0x1000000
--	MS_SYNC                              = 0x4
--	MS_SYNCHRONOUS                       = 0x10
--	MS_UNBINDABLE                        = 0x20000
--	MS_VERBOSE                           = 0x8000
--	NAME_MAX                             = 0xff
--	NETLINK_ADD_MEMBERSHIP               = 0x1
--	NETLINK_AUDIT                        = 0x9
--	NETLINK_BROADCAST_ERROR              = 0x4
--	NETLINK_CAP_ACK                      = 0xa
--	NETLINK_CONNECTOR                    = 0xb
--	NETLINK_CRYPTO                       = 0x15
--	NETLINK_DNRTMSG                      = 0xe
--	NETLINK_DROP_MEMBERSHIP              = 0x2
--	NETLINK_ECRYPTFS                     = 0x13
--	NETLINK_FIB_LOOKUP                   = 0xa
--	NETLINK_FIREWALL                     = 0x3
--	NETLINK_GENERIC                      = 0x10
--	NETLINK_INET_DIAG                    = 0x4
--	NETLINK_IP6_FW                       = 0xd
--	NETLINK_ISCSI                        = 0x8
--	NETLINK_KOBJECT_UEVENT               = 0xf
--	NETLINK_LISTEN_ALL_NSID              = 0x8
--	NETLINK_LIST_MEMBERSHIPS             = 0x9
--	NETLINK_NETFILTER                    = 0xc
--	NETLINK_NFLOG                        = 0x5
--	NETLINK_NO_ENOBUFS                   = 0x5
--	NETLINK_PKTINFO                      = 0x3
--	NETLINK_RDMA                         = 0x14
--	NETLINK_ROUTE                        = 0x0
--	NETLINK_RX_RING                      = 0x6
--	NETLINK_SCSITRANSPORT                = 0x12
--	NETLINK_SELINUX                      = 0x7
--	NETLINK_SOCK_DIAG                    = 0x4
--	NETLINK_TX_RING                      = 0x7
--	NETLINK_UNUSED                       = 0x1
--	NETLINK_USERSOCK                     = 0x2
--	NETLINK_XFRM                         = 0x6
--	NL0                                  = 0x0
--	NL1                                  = 0x100
--	NLA_ALIGNTO                          = 0x4
--	NLA_F_NESTED                         = 0x8000
--	NLA_F_NET_BYTEORDER                  = 0x4000
--	NLA_HDRLEN                           = 0x4
--	NLDLY                                = 0x100
--	NLMSG_ALIGNTO                        = 0x4
--	NLMSG_DONE                           = 0x3
--	NLMSG_ERROR                          = 0x2
--	NLMSG_HDRLEN                         = 0x10
--	NLMSG_MIN_TYPE                       = 0x10
--	NLMSG_NOOP                           = 0x1
--	NLMSG_OVERRUN                        = 0x4
--	NLM_F_ACK                            = 0x4
--	NLM_F_APPEND                         = 0x800
--	NLM_F_ATOMIC                         = 0x400
--	NLM_F_CREATE                         = 0x400
--	NLM_F_DUMP                           = 0x300
--	NLM_F_DUMP_FILTERED                  = 0x20
--	NLM_F_DUMP_INTR                      = 0x10
--	NLM_F_ECHO                           = 0x8
--	NLM_F_EXCL                           = 0x200
--	NLM_F_MATCH                          = 0x200
--	NLM_F_MULTI                          = 0x2
--	NLM_F_REPLACE                        = 0x100
--	NLM_F_REQUEST                        = 0x1
--	NLM_F_ROOT                           = 0x100
--	NOFLSH                               = 0x80
--	OCRNL                                = 0x8
--	OFDEL                                = 0x80
--	OFILL                                = 0x40
--	OLCUC                                = 0x2
--	ONLCR                                = 0x4
--	ONLRET                               = 0x20
--	ONOCR                                = 0x10
--	OPOST                                = 0x1
--	O_ACCMODE                            = 0x3
--	O_APPEND                             = 0x8
--	O_ASYNC                              = 0x1000
--	O_CLOEXEC                            = 0x80000
--	O_CREAT                              = 0x100
--	O_DIRECT                             = 0x8000
--	O_DIRECTORY                          = 0x10000
--	O_DSYNC                              = 0x10
--	O_EXCL                               = 0x400
--	O_FSYNC                              = 0x4010
--	O_LARGEFILE                          = 0x2000
--	O_NDELAY                             = 0x80
--	O_NOATIME                            = 0x40000
--	O_NOCTTY                             = 0x800
--	O_NOFOLLOW                           = 0x20000
--	O_NONBLOCK                           = 0x80
--	O_PATH                               = 0x200000
--	O_RDONLY                             = 0x0
--	O_RDWR                               = 0x2
--	O_RSYNC                              = 0x4010
--	O_SYNC                               = 0x4010
--	O_TMPFILE                            = 0x410000
--	O_TRUNC                              = 0x200
--	O_WRONLY                             = 0x1
--	PACKET_ADD_MEMBERSHIP                = 0x1
--	PACKET_AUXDATA                       = 0x8
--	PACKET_BROADCAST                     = 0x1
--	PACKET_COPY_THRESH                   = 0x7
--	PACKET_DROP_MEMBERSHIP               = 0x2
--	PACKET_FANOUT                        = 0x12
--	PACKET_FANOUT_CBPF                   = 0x6
--	PACKET_FANOUT_CPU                    = 0x2
--	PACKET_FANOUT_DATA                   = 0x16
--	PACKET_FANOUT_EBPF                   = 0x7
--	PACKET_FANOUT_FLAG_DEFRAG            = 0x8000
--	PACKET_FANOUT_FLAG_ROLLOVER          = 0x1000
--	PACKET_FANOUT_HASH                   = 0x0
--	PACKET_FANOUT_LB                     = 0x1
--	PACKET_FANOUT_QM                     = 0x5
--	PACKET_FANOUT_RND                    = 0x4
--	PACKET_FANOUT_ROLLOVER               = 0x3
--	PACKET_FASTROUTE                     = 0x6
--	PACKET_HDRLEN                        = 0xb
--	PACKET_HOST                          = 0x0
--	PACKET_KERNEL                        = 0x7
--	PACKET_LOOPBACK                      = 0x5
--	PACKET_LOSS                          = 0xe
--	PACKET_MR_ALLMULTI                   = 0x2
--	PACKET_MR_MULTICAST                  = 0x0
--	PACKET_MR_PROMISC                    = 0x1
--	PACKET_MR_UNICAST                    = 0x3
--	PACKET_MULTICAST                     = 0x2
--	PACKET_ORIGDEV                       = 0x9
--	PACKET_OTHERHOST                     = 0x3
--	PACKET_OUTGOING                      = 0x4
--	PACKET_QDISC_BYPASS                  = 0x14
--	PACKET_RECV_OUTPUT                   = 0x3
--	PACKET_RESERVE                       = 0xc
--	PACKET_ROLLOVER_STATS                = 0x15
--	PACKET_RX_RING                       = 0x5
--	PACKET_STATISTICS                    = 0x6
--	PACKET_TIMESTAMP                     = 0x11
--	PACKET_TX_HAS_OFF                    = 0x13
--	PACKET_TX_RING                       = 0xd
--	PACKET_TX_TIMESTAMP                  = 0x10
--	PACKET_USER                          = 0x6
--	PACKET_VERSION                       = 0xa
--	PACKET_VNET_HDR                      = 0xf
--	PARENB                               = 0x100
--	PARITY_CRC16_PR0                     = 0x2
--	PARITY_CRC16_PR0_CCITT               = 0x4
--	PARITY_CRC16_PR1                     = 0x3
--	PARITY_CRC16_PR1_CCITT               = 0x5
--	PARITY_CRC32_PR0_CCITT               = 0x6
--	PARITY_CRC32_PR1_CCITT               = 0x7
--	PARITY_DEFAULT                       = 0x0
--	PARITY_NONE                          = 0x1
--	PARMRK                               = 0x8
--	PARODD                               = 0x200
--	PENDIN                               = 0x4000
--	PERF_EVENT_IOC_DISABLE               = 0x20002401
--	PERF_EVENT_IOC_ENABLE                = 0x20002400
--	PERF_EVENT_IOC_ID                    = 0x40042407
--	PERF_EVENT_IOC_PAUSE_OUTPUT          = 0x80042409
--	PERF_EVENT_IOC_PERIOD                = 0x80082404
--	PERF_EVENT_IOC_REFRESH               = 0x20002402
--	PERF_EVENT_IOC_RESET                 = 0x20002403
--	PERF_EVENT_IOC_SET_BPF               = 0x80042408
--	PERF_EVENT_IOC_SET_FILTER            = 0x80042406
--	PERF_EVENT_IOC_SET_OUTPUT            = 0x20002405
--	PRIO_PGRP                            = 0x1
--	PRIO_PROCESS                         = 0x0
--	PRIO_USER                            = 0x2
--	PROT_EXEC                            = 0x4
--	PROT_GROWSDOWN                       = 0x1000000
--	PROT_GROWSUP                         = 0x2000000
--	PROT_NONE                            = 0x0
--	PROT_READ                            = 0x1
--	PROT_WRITE                           = 0x2
--	PR_CAPBSET_DROP                      = 0x18
--	PR_CAPBSET_READ                      = 0x17
--	PR_CAP_AMBIENT                       = 0x2f
--	PR_CAP_AMBIENT_CLEAR_ALL             = 0x4
--	PR_CAP_AMBIENT_IS_SET                = 0x1
--	PR_CAP_AMBIENT_LOWER                 = 0x3
--	PR_CAP_AMBIENT_RAISE                 = 0x2
--	PR_ENDIAN_BIG                        = 0x0
--	PR_ENDIAN_LITTLE                     = 0x1
--	PR_ENDIAN_PPC_LITTLE                 = 0x2
--	PR_FPEMU_NOPRINT                     = 0x1
--	PR_FPEMU_SIGFPE                      = 0x2
--	PR_FP_EXC_ASYNC                      = 0x2
--	PR_FP_EXC_DISABLED                   = 0x0
--	PR_FP_EXC_DIV                        = 0x10000
--	PR_FP_EXC_INV                        = 0x100000
--	PR_FP_EXC_NONRECOV                   = 0x1
--	PR_FP_EXC_OVF                        = 0x20000
--	PR_FP_EXC_PRECISE                    = 0x3
--	PR_FP_EXC_RES                        = 0x80000
--	PR_FP_EXC_SW_ENABLE                  = 0x80
--	PR_FP_EXC_UND                        = 0x40000
--	PR_FP_MODE_FR                        = 0x1
--	PR_FP_MODE_FRE                       = 0x2
--	PR_GET_CHILD_SUBREAPER               = 0x25
--	PR_GET_DUMPABLE                      = 0x3
--	PR_GET_ENDIAN                        = 0x13
--	PR_GET_FPEMU                         = 0x9
--	PR_GET_FPEXC                         = 0xb
--	PR_GET_FP_MODE                       = 0x2e
--	PR_GET_KEEPCAPS                      = 0x7
--	PR_GET_NAME                          = 0x10
--	PR_GET_NO_NEW_PRIVS                  = 0x27
--	PR_GET_PDEATHSIG                     = 0x2
--	PR_GET_SECCOMP                       = 0x15
--	PR_GET_SECUREBITS                    = 0x1b
--	PR_GET_THP_DISABLE                   = 0x2a
--	PR_GET_TID_ADDRESS                   = 0x28
--	PR_GET_TIMERSLACK                    = 0x1e
--	PR_GET_TIMING                        = 0xd
--	PR_GET_TSC                           = 0x19
--	PR_GET_UNALIGN                       = 0x5
--	PR_MCE_KILL                          = 0x21
--	PR_MCE_KILL_CLEAR                    = 0x0
--	PR_MCE_KILL_DEFAULT                  = 0x2
--	PR_MCE_KILL_EARLY                    = 0x1
--	PR_MCE_KILL_GET                      = 0x22
--	PR_MCE_KILL_LATE                     = 0x0
--	PR_MCE_KILL_SET                      = 0x1
--	PR_MPX_DISABLE_MANAGEMENT            = 0x2c
--	PR_MPX_ENABLE_MANAGEMENT             = 0x2b
--	PR_SET_CHILD_SUBREAPER               = 0x24
--	PR_SET_DUMPABLE                      = 0x4
--	PR_SET_ENDIAN                        = 0x14
--	PR_SET_FPEMU                         = 0xa
--	PR_SET_FPEXC                         = 0xc
--	PR_SET_FP_MODE                       = 0x2d
--	PR_SET_KEEPCAPS                      = 0x8
--	PR_SET_MM                            = 0x23
--	PR_SET_MM_ARG_END                    = 0x9
--	PR_SET_MM_ARG_START                  = 0x8
--	PR_SET_MM_AUXV                       = 0xc
--	PR_SET_MM_BRK                        = 0x7
--	PR_SET_MM_END_CODE                   = 0x2
--	PR_SET_MM_END_DATA                   = 0x4
--	PR_SET_MM_ENV_END                    = 0xb
--	PR_SET_MM_ENV_START                  = 0xa
--	PR_SET_MM_EXE_FILE                   = 0xd
--	PR_SET_MM_MAP                        = 0xe
--	PR_SET_MM_MAP_SIZE                   = 0xf
--	PR_SET_MM_START_BRK                  = 0x6
--	PR_SET_MM_START_CODE                 = 0x1
--	PR_SET_MM_START_DATA                 = 0x3
--	PR_SET_MM_START_STACK                = 0x5
--	PR_SET_NAME                          = 0xf
--	PR_SET_NO_NEW_PRIVS                  = 0x26
--	PR_SET_PDEATHSIG                     = 0x1
--	PR_SET_PTRACER                       = 0x59616d61
--	PR_SET_PTRACER_ANY                   = 0xffffffff
--	PR_SET_SECCOMP                       = 0x16
--	PR_SET_SECUREBITS                    = 0x1c
--	PR_SET_THP_DISABLE                   = 0x29
--	PR_SET_TIMERSLACK                    = 0x1d
--	PR_SET_TIMING                        = 0xe
--	PR_SET_TSC                           = 0x1a
--	PR_SET_UNALIGN                       = 0x6
--	PR_TASK_PERF_EVENTS_DISABLE          = 0x1f
--	PR_TASK_PERF_EVENTS_ENABLE           = 0x20
--	PR_TIMING_STATISTICAL                = 0x0
--	PR_TIMING_TIMESTAMP                  = 0x1
--	PR_TSC_ENABLE                        = 0x1
--	PR_TSC_SIGSEGV                       = 0x2
--	PR_UNALIGN_NOPRINT                   = 0x1
--	PR_UNALIGN_SIGBUS                    = 0x2
--	PTRACE_ATTACH                        = 0x10
--	PTRACE_CONT                          = 0x7
--	PTRACE_DETACH                        = 0x11
--	PTRACE_EVENT_CLONE                   = 0x3
--	PTRACE_EVENT_EXEC                    = 0x4
--	PTRACE_EVENT_EXIT                    = 0x6
--	PTRACE_EVENT_FORK                    = 0x1
--	PTRACE_EVENT_SECCOMP                 = 0x7
--	PTRACE_EVENT_STOP                    = 0x80
--	PTRACE_EVENT_VFORK                   = 0x2
--	PTRACE_EVENT_VFORK_DONE              = 0x5
--	PTRACE_GETEVENTMSG                   = 0x4201
--	PTRACE_GETFPREGS                     = 0xe
--	PTRACE_GETREGS                       = 0xc
--	PTRACE_GETREGSET                     = 0x4204
--	PTRACE_GETSIGINFO                    = 0x4202
--	PTRACE_GETSIGMASK                    = 0x420a
--	PTRACE_GET_THREAD_AREA               = 0x19
--	PTRACE_GET_THREAD_AREA_3264          = 0xc4
--	PTRACE_GET_WATCH_REGS                = 0xd0
--	PTRACE_INTERRUPT                     = 0x4207
--	PTRACE_KILL                          = 0x8
--	PTRACE_LISTEN                        = 0x4208
--	PTRACE_OLDSETOPTIONS                 = 0x15
--	PTRACE_O_EXITKILL                    = 0x100000
--	PTRACE_O_MASK                        = 0x3000ff
--	PTRACE_O_SUSPEND_SECCOMP             = 0x200000
--	PTRACE_O_TRACECLONE                  = 0x8
--	PTRACE_O_TRACEEXEC                   = 0x10
--	PTRACE_O_TRACEEXIT                   = 0x40
--	PTRACE_O_TRACEFORK                   = 0x2
--	PTRACE_O_TRACESECCOMP                = 0x80
--	PTRACE_O_TRACESYSGOOD                = 0x1
--	PTRACE_O_TRACEVFORK                  = 0x4
--	PTRACE_O_TRACEVFORKDONE              = 0x20
--	PTRACE_PEEKDATA                      = 0x2
--	PTRACE_PEEKDATA_3264                 = 0xc1
--	PTRACE_PEEKSIGINFO                   = 0x4209
--	PTRACE_PEEKSIGINFO_SHARED            = 0x1
--	PTRACE_PEEKTEXT                      = 0x1
--	PTRACE_PEEKTEXT_3264                 = 0xc0
--	PTRACE_PEEKUSR                       = 0x3
--	PTRACE_POKEDATA                      = 0x5
--	PTRACE_POKEDATA_3264                 = 0xc3
--	PTRACE_POKETEXT                      = 0x4
--	PTRACE_POKETEXT_3264                 = 0xc2
--	PTRACE_POKEUSR                       = 0x6
--	PTRACE_SECCOMP_GET_FILTER            = 0x420c
--	PTRACE_SEIZE                         = 0x4206
--	PTRACE_SETFPREGS                     = 0xf
--	PTRACE_SETOPTIONS                    = 0x4200
--	PTRACE_SETREGS                       = 0xd
--	PTRACE_SETREGSET                     = 0x4205
--	PTRACE_SETSIGINFO                    = 0x4203
--	PTRACE_SETSIGMASK                    = 0x420b
--	PTRACE_SET_THREAD_AREA               = 0x1a
--	PTRACE_SET_WATCH_REGS                = 0xd1
--	PTRACE_SINGLESTEP                    = 0x9
--	PTRACE_SYSCALL                       = 0x18
--	PTRACE_TRACEME                       = 0x0
--	RLIMIT_AS                            = 0x6
--	RLIMIT_CORE                          = 0x4
--	RLIMIT_CPU                           = 0x0
--	RLIMIT_DATA                          = 0x2
--	RLIMIT_FSIZE                         = 0x1
--	RLIMIT_LOCKS                         = 0xa
--	RLIMIT_MEMLOCK                       = 0x9
--	RLIMIT_MSGQUEUE                      = 0xc
--	RLIMIT_NICE                          = 0xd
--	RLIMIT_NOFILE                        = 0x5
--	RLIMIT_NPROC                         = 0x8
--	RLIMIT_RSS                           = 0x7
--	RLIMIT_RTPRIO                        = 0xe
--	RLIMIT_RTTIME                        = 0xf
--	RLIMIT_SIGPENDING                    = 0xb
--	RLIMIT_STACK                         = 0x3
--	RLIM_INFINITY                        = -0x1
--	RTAX_ADVMSS                          = 0x8
--	RTAX_CC_ALGO                         = 0x10
--	RTAX_CWND                            = 0x7
--	RTAX_FEATURES                        = 0xc
--	RTAX_FEATURE_ALLFRAG                 = 0x8
--	RTAX_FEATURE_ECN                     = 0x1
--	RTAX_FEATURE_MASK                    = 0xf
--	RTAX_FEATURE_SACK                    = 0x2
--	RTAX_FEATURE_TIMESTAMP               = 0x4
--	RTAX_HOPLIMIT                        = 0xa
--	RTAX_INITCWND                        = 0xb
--	RTAX_INITRWND                        = 0xe
--	RTAX_LOCK                            = 0x1
--	RTAX_MAX                             = 0x10
--	RTAX_MTU                             = 0x2
--	RTAX_QUICKACK                        = 0xf
--	RTAX_REORDERING                      = 0x9
--	RTAX_RTO_MIN                         = 0xd
--	RTAX_RTT                             = 0x4
--	RTAX_RTTVAR                          = 0x5
--	RTAX_SSTHRESH                        = 0x6
--	RTAX_UNSPEC                          = 0x0
--	RTAX_WINDOW                          = 0x3
--	RTA_ALIGNTO                          = 0x4
--	RTA_MAX                              = 0x19
--	RTCF_DIRECTSRC                       = 0x4000000
--	RTCF_DOREDIRECT                      = 0x1000000
--	RTCF_LOG                             = 0x2000000
--	RTCF_MASQ                            = 0x400000
--	RTCF_NAT                             = 0x800000
--	RTCF_VALVE                           = 0x200000
--	RTF_ADDRCLASSMASK                    = 0xf8000000
--	RTF_ADDRCONF                         = 0x40000
--	RTF_ALLONLINK                        = 0x20000
--	RTF_BROADCAST                        = 0x10000000
--	RTF_CACHE                            = 0x1000000
--	RTF_DEFAULT                          = 0x10000
--	RTF_DYNAMIC                          = 0x10
--	RTF_FLOW                             = 0x2000000
--	RTF_GATEWAY                          = 0x2
--	RTF_HOST                             = 0x4
--	RTF_INTERFACE                        = 0x40000000
--	RTF_IRTT                             = 0x100
--	RTF_LINKRT                           = 0x100000
--	RTF_LOCAL                            = 0x80000000
--	RTF_MODIFIED                         = 0x20
--	RTF_MSS                              = 0x40
--	RTF_MTU                              = 0x40
--	RTF_MULTICAST                        = 0x20000000
--	RTF_NAT                              = 0x8000000
--	RTF_NOFORWARD                        = 0x1000
--	RTF_NONEXTHOP                        = 0x200000
--	RTF_NOPMTUDISC                       = 0x4000
--	RTF_POLICY                           = 0x4000000
--	RTF_REINSTATE                        = 0x8
--	RTF_REJECT                           = 0x200
--	RTF_STATIC                           = 0x400
--	RTF_THROW                            = 0x2000
--	RTF_UP                               = 0x1
--	RTF_WINDOW                           = 0x80
--	RTF_XRESOLVE                         = 0x800
--	RTM_BASE                             = 0x10
--	RTM_DELACTION                        = 0x31
--	RTM_DELADDR                          = 0x15
--	RTM_DELADDRLABEL                     = 0x49
--	RTM_DELLINK                          = 0x11
--	RTM_DELMDB                           = 0x55
--	RTM_DELNEIGH                         = 0x1d
--	RTM_DELNSID                          = 0x59
--	RTM_DELQDISC                         = 0x25
--	RTM_DELROUTE                         = 0x19
--	RTM_DELRULE                          = 0x21
--	RTM_DELTCLASS                        = 0x29
--	RTM_DELTFILTER                       = 0x2d
--	RTM_F_CLONED                         = 0x200
--	RTM_F_EQUALIZE                       = 0x400
--	RTM_F_LOOKUP_TABLE                   = 0x1000
--	RTM_F_NOTIFY                         = 0x100
--	RTM_F_PREFIX                         = 0x800
--	RTM_GETACTION                        = 0x32
--	RTM_GETADDR                          = 0x16
--	RTM_GETADDRLABEL                     = 0x4a
--	RTM_GETANYCAST                       = 0x3e
--	RTM_GETDCB                           = 0x4e
--	RTM_GETLINK                          = 0x12
--	RTM_GETMDB                           = 0x56
--	RTM_GETMULTICAST                     = 0x3a
--	RTM_GETNEIGH                         = 0x1e
--	RTM_GETNEIGHTBL                      = 0x42
--	RTM_GETNETCONF                       = 0x52
--	RTM_GETNSID                          = 0x5a
--	RTM_GETQDISC                         = 0x26
--	RTM_GETROUTE                         = 0x1a
--	RTM_GETRULE                          = 0x22
--	RTM_GETSTATS                         = 0x5e
--	RTM_GETTCLASS                        = 0x2a
--	RTM_GETTFILTER                       = 0x2e
--	RTM_MAX                              = 0x5f
--	RTM_NEWACTION                        = 0x30
--	RTM_NEWADDR                          = 0x14
--	RTM_NEWADDRLABEL                     = 0x48
--	RTM_NEWLINK                          = 0x10
--	RTM_NEWMDB                           = 0x54
--	RTM_NEWNDUSEROPT                     = 0x44
--	RTM_NEWNEIGH                         = 0x1c
--	RTM_NEWNEIGHTBL                      = 0x40
--	RTM_NEWNETCONF                       = 0x50
--	RTM_NEWNSID                          = 0x58
--	RTM_NEWPREFIX                        = 0x34
--	RTM_NEWQDISC                         = 0x24
--	RTM_NEWROUTE                         = 0x18
--	RTM_NEWRULE                          = 0x20
--	RTM_NEWSTATS                         = 0x5c
--	RTM_NEWTCLASS                        = 0x28
--	RTM_NEWTFILTER                       = 0x2c
--	RTM_NR_FAMILIES                      = 0x14
--	RTM_NR_MSGTYPES                      = 0x50
--	RTM_SETDCB                           = 0x4f
--	RTM_SETLINK                          = 0x13
--	RTM_SETNEIGHTBL                      = 0x43
--	RTNH_ALIGNTO                         = 0x4
--	RTNH_COMPARE_MASK                    = 0x19
--	RTNH_F_DEAD                          = 0x1
--	RTNH_F_LINKDOWN                      = 0x10
--	RTNH_F_OFFLOAD                       = 0x8
--	RTNH_F_ONLINK                        = 0x4
--	RTNH_F_PERVASIVE                     = 0x2
--	RTN_MAX                              = 0xb
--	RTPROT_BABEL                         = 0x2a
--	RTPROT_BIRD                          = 0xc
--	RTPROT_BOOT                          = 0x3
--	RTPROT_DHCP                          = 0x10
--	RTPROT_DNROUTED                      = 0xd
--	RTPROT_GATED                         = 0x8
--	RTPROT_KERNEL                        = 0x2
--	RTPROT_MROUTED                       = 0x11
--	RTPROT_MRT                           = 0xa
--	RTPROT_NTK                           = 0xf
--	RTPROT_RA                            = 0x9
--	RTPROT_REDIRECT                      = 0x1
--	RTPROT_STATIC                        = 0x4
--	RTPROT_UNSPEC                        = 0x0
--	RTPROT_XORP                          = 0xe
--	RTPROT_ZEBRA                         = 0xb
--	RT_CLASS_DEFAULT                     = 0xfd
--	RT_CLASS_LOCAL                       = 0xff
--	RT_CLASS_MAIN                        = 0xfe
--	RT_CLASS_MAX                         = 0xff
--	RT_CLASS_UNSPEC                      = 0x0
--	RUSAGE_CHILDREN                      = -0x1
--	RUSAGE_SELF                          = 0x0
--	RUSAGE_THREAD                        = 0x1
--	SCM_CREDENTIALS                      = 0x2
--	SCM_RIGHTS                           = 0x1
--	SCM_TIMESTAMP                        = 0x1d
--	SCM_TIMESTAMPING                     = 0x25
--	SCM_TIMESTAMPING_OPT_STATS           = 0x36
--	SCM_TIMESTAMPNS                      = 0x23
--	SCM_WIFI_STATUS                      = 0x29
--	SECCOMP_MODE_DISABLED                = 0x0
--	SECCOMP_MODE_FILTER                  = 0x2
--	SECCOMP_MODE_STRICT                  = 0x1
--	SHUT_RD                              = 0x0
--	SHUT_RDWR                            = 0x2
--	SHUT_WR                              = 0x1
--	SIOCADDDLCI                          = 0x8980
--	SIOCADDMULTI                         = 0x8931
--	SIOCADDRT                            = 0x890b
--	SIOCATMARK                           = 0x40047307
--	SIOCBONDCHANGEACTIVE                 = 0x8995
--	SIOCBONDENSLAVE                      = 0x8990
--	SIOCBONDINFOQUERY                    = 0x8994
--	SIOCBONDRELEASE                      = 0x8991
--	SIOCBONDSETHWADDR                    = 0x8992
--	SIOCBONDSLAVEINFOQUERY               = 0x8993
--	SIOCBRADDBR                          = 0x89a0
--	SIOCBRADDIF                          = 0x89a2
--	SIOCBRDELBR                          = 0x89a1
--	SIOCBRDELIF                          = 0x89a3
--	SIOCDARP                             = 0x8953
--	SIOCDELDLCI                          = 0x8981
--	SIOCDELMULTI                         = 0x8932
--	SIOCDELRT                            = 0x890c
--	SIOCDEVPRIVATE                       = 0x89f0
--	SIOCDIFADDR                          = 0x8936
--	SIOCDRARP                            = 0x8960
--	SIOCETHTOOL                          = 0x8946
--	SIOCGARP                             = 0x8954
--	SIOCGHWTSTAMP                        = 0x89b1
--	SIOCGIFADDR                          = 0x8915
--	SIOCGIFBR                            = 0x8940
--	SIOCGIFBRDADDR                       = 0x8919
--	SIOCGIFCONF                          = 0x8912
--	SIOCGIFCOUNT                         = 0x8938
--	SIOCGIFDSTADDR                       = 0x8917
--	SIOCGIFENCAP                         = 0x8925
--	SIOCGIFFLAGS                         = 0x8913
--	SIOCGIFHWADDR                        = 0x8927
--	SIOCGIFINDEX                         = 0x8933
--	SIOCGIFMAP                           = 0x8970
--	SIOCGIFMEM                           = 0x891f
--	SIOCGIFMETRIC                        = 0x891d
--	SIOCGIFMTU                           = 0x8921
--	SIOCGIFNAME                          = 0x8910
--	SIOCGIFNETMASK                       = 0x891b
--	SIOCGIFPFLAGS                        = 0x8935
--	SIOCGIFSLAVE                         = 0x8929
--	SIOCGIFTXQLEN                        = 0x8942
--	SIOCGIFVLAN                          = 0x8982
--	SIOCGMIIPHY                          = 0x8947
--	SIOCGMIIREG                          = 0x8948
--	SIOCGPGRP                            = 0x40047309
--	SIOCGRARP                            = 0x8961
--	SIOCGSKNS                            = 0x894c
--	SIOCGSTAMP                           = 0x8906
--	SIOCGSTAMPNS                         = 0x8907
--	SIOCINQ                              = 0x467f
--	SIOCOUTQ                             = 0x7472
--	SIOCOUTQNSD                          = 0x894b
--	SIOCPROTOPRIVATE                     = 0x89e0
--	SIOCRTMSG                            = 0x890d
--	SIOCSARP                             = 0x8955
--	SIOCSHWTSTAMP                        = 0x89b0
--	SIOCSIFADDR                          = 0x8916
--	SIOCSIFBR                            = 0x8941
--	SIOCSIFBRDADDR                       = 0x891a
--	SIOCSIFDSTADDR                       = 0x8918
--	SIOCSIFENCAP                         = 0x8926
--	SIOCSIFFLAGS                         = 0x8914
--	SIOCSIFHWADDR                        = 0x8924
--	SIOCSIFHWBROADCAST                   = 0x8937
--	SIOCSIFLINK                          = 0x8911
--	SIOCSIFMAP                           = 0x8971
--	SIOCSIFMEM                           = 0x8920
--	SIOCSIFMETRIC                        = 0x891e
--	SIOCSIFMTU                           = 0x8922
--	SIOCSIFNAME                          = 0x8923
--	SIOCSIFNETMASK                       = 0x891c
--	SIOCSIFPFLAGS                        = 0x8934
--	SIOCSIFSLAVE                         = 0x8930
--	SIOCSIFTXQLEN                        = 0x8943
--	SIOCSIFVLAN                          = 0x8983
--	SIOCSMIIREG                          = 0x8949
--	SIOCSPGRP                            = 0x80047308
--	SIOCSRARP                            = 0x8962
--	SIOCWANDEV                           = 0x894a
--	SOCK_CLOEXEC                         = 0x80000
--	SOCK_DCCP                            = 0x6
--	SOCK_DGRAM                           = 0x1
--	SOCK_IOC_TYPE                        = 0x89
--	SOCK_NONBLOCK                        = 0x80
--	SOCK_PACKET                          = 0xa
--	SOCK_RAW                             = 0x3
--	SOCK_RDM                             = 0x4
--	SOCK_SEQPACKET                       = 0x5
--	SOCK_STREAM                          = 0x2
--	SOL_AAL                              = 0x109
--	SOL_ALG                              = 0x117
--	SOL_ATM                              = 0x108
--	SOL_CAIF                             = 0x116
--	SOL_CAN_BASE                         = 0x64
--	SOL_DCCP                             = 0x10d
--	SOL_DECNET                           = 0x105
--	SOL_ICMPV6                           = 0x3a
--	SOL_IP                               = 0x0
--	SOL_IPV6                             = 0x29
--	SOL_IRDA                             = 0x10a
--	SOL_IUCV                             = 0x115
--	SOL_KCM                              = 0x119
--	SOL_LLC                              = 0x10c
--	SOL_NETBEUI                          = 0x10b
--	SOL_NETLINK                          = 0x10e
--	SOL_NFC                              = 0x118
--	SOL_PACKET                           = 0x107
--	SOL_PNPIPE                           = 0x113
--	SOL_PPPOL2TP                         = 0x111
--	SOL_RAW                              = 0xff
--	SOL_RDS                              = 0x114
--	SOL_RXRPC                            = 0x110
--	SOL_SOCKET                           = 0xffff
--	SOL_TCP                              = 0x6
--	SOL_TIPC                             = 0x10f
--	SOL_X25                              = 0x106
--	SOMAXCONN                            = 0x80
--	SO_ACCEPTCONN                        = 0x1009
--	SO_ATTACH_BPF                        = 0x32
--	SO_ATTACH_FILTER                     = 0x1a
--	SO_ATTACH_REUSEPORT_CBPF             = 0x33
--	SO_ATTACH_REUSEPORT_EBPF             = 0x34
--	SO_BINDTODEVICE                      = 0x19
--	SO_BPF_EXTENSIONS                    = 0x30
--	SO_BROADCAST                         = 0x20
--	SO_BSDCOMPAT                         = 0xe
--	SO_BUSY_POLL                         = 0x2e
--	SO_CNX_ADVICE                        = 0x35
--	SO_DEBUG                             = 0x1
--	SO_DETACH_BPF                        = 0x1b
--	SO_DETACH_FILTER                     = 0x1b
--	SO_DOMAIN                            = 0x1029
--	SO_DONTROUTE                         = 0x10
--	SO_ERROR                             = 0x1007
--	SO_GET_FILTER                        = 0x1a
--	SO_INCOMING_CPU                      = 0x31
--	SO_KEEPALIVE                         = 0x8
--	SO_LINGER                            = 0x80
--	SO_LOCK_FILTER                       = 0x2c
--	SO_MARK                              = 0x24
--	SO_MAX_PACING_RATE                   = 0x2f
--	SO_NOFCS                             = 0x2b
--	SO_NO_CHECK                          = 0xb
--	SO_OOBINLINE                         = 0x100
--	SO_PASSCRED                          = 0x11
--	SO_PASSSEC                           = 0x22
--	SO_PEEK_OFF                          = 0x2a
--	SO_PEERCRED                          = 0x12
--	SO_PEERNAME                          = 0x1c
--	SO_PEERSEC                           = 0x1e
--	SO_PRIORITY                          = 0xc
--	SO_PROTOCOL                          = 0x1028
--	SO_RCVBUF                            = 0x1002
--	SO_RCVBUFFORCE                       = 0x21
--	SO_RCVLOWAT                          = 0x1004
--	SO_RCVTIMEO                          = 0x1006
--	SO_REUSEADDR                         = 0x4
--	SO_REUSEPORT                         = 0x200
--	SO_RXQ_OVFL                          = 0x28
--	SO_SECURITY_AUTHENTICATION           = 0x16
--	SO_SECURITY_ENCRYPTION_NETWORK       = 0x18
--	SO_SECURITY_ENCRYPTION_TRANSPORT     = 0x17
--	SO_SELECT_ERR_QUEUE                  = 0x2d
--	SO_SNDBUF                            = 0x1001
--	SO_SNDBUFFORCE                       = 0x1f
--	SO_SNDLOWAT                          = 0x1003
--	SO_SNDTIMEO                          = 0x1005
--	SO_STYLE                             = 0x1008
--	SO_TIMESTAMP                         = 0x1d
--	SO_TIMESTAMPING                      = 0x25
--	SO_TIMESTAMPNS                       = 0x23
--	SO_TYPE                              = 0x1008
--	SO_VM_SOCKETS_BUFFER_MAX_SIZE        = 0x2
--	SO_VM_SOCKETS_BUFFER_MIN_SIZE        = 0x1
--	SO_VM_SOCKETS_BUFFER_SIZE            = 0x0
--	SO_VM_SOCKETS_CONNECT_TIMEOUT        = 0x6
--	SO_VM_SOCKETS_NONBLOCK_TXRX          = 0x7
--	SO_VM_SOCKETS_PEER_HOST_VM_ID        = 0x3
--	SO_VM_SOCKETS_TRUSTED                = 0x5
--	SO_WIFI_STATUS                       = 0x29
--	SPLICE_F_GIFT                        = 0x8
--	SPLICE_F_MORE                        = 0x4
--	SPLICE_F_MOVE                        = 0x1
--	SPLICE_F_NONBLOCK                    = 0x2
--	S_BLKSIZE                            = 0x200
--	S_IEXEC                              = 0x40
--	S_IFBLK                              = 0x6000
--	S_IFCHR                              = 0x2000
--	S_IFDIR                              = 0x4000
--	S_IFIFO                              = 0x1000
--	S_IFLNK                              = 0xa000
--	S_IFMT                               = 0xf000
--	S_IFREG                              = 0x8000
--	S_IFSOCK                             = 0xc000
--	S_IREAD                              = 0x100
--	S_IRGRP                              = 0x20
--	S_IROTH                              = 0x4
--	S_IRUSR                              = 0x100
--	S_IRWXG                              = 0x38
--	S_IRWXO                              = 0x7
--	S_IRWXU                              = 0x1c0
--	S_ISGID                              = 0x400
--	S_ISUID                              = 0x800
--	S_ISVTX                              = 0x200
--	S_IWGRP                              = 0x10
--	S_IWOTH                              = 0x2
--	S_IWRITE                             = 0x80
--	S_IWUSR                              = 0x80
--	S_IXGRP                              = 0x8
--	S_IXOTH                              = 0x1
--	S_IXUSR                              = 0x40
--	TAB0                                 = 0x0
--	TAB1                                 = 0x800
--	TAB2                                 = 0x1000
--	TAB3                                 = 0x1800
--	TABDLY                               = 0x1800
--	TASKSTATS_CMD_ATTR_MAX               = 0x4
--	TASKSTATS_CMD_MAX                    = 0x2
--	TASKSTATS_GENL_NAME                  = "TASKSTATS"
--	TASKSTATS_GENL_VERSION               = 0x1
--	TASKSTATS_TYPE_MAX                   = 0x6
--	TASKSTATS_VERSION                    = 0x8
--	TCFLSH                               = 0x5407
--	TCGETA                               = 0x5401
--	TCGETS                               = 0x540d
--	TCGETS2                              = 0x4030542a
--	TCIFLUSH                             = 0x0
--	TCIOFF                               = 0x2
--	TCIOFLUSH                            = 0x2
--	TCION                                = 0x3
--	TCOFLUSH                             = 0x1
--	TCOOFF                               = 0x0
--	TCOON                                = 0x1
--	TCP_CC_INFO                          = 0x1a
--	TCP_CONGESTION                       = 0xd
--	TCP_COOKIE_IN_ALWAYS                 = 0x1
--	TCP_COOKIE_MAX                       = 0x10
--	TCP_COOKIE_MIN                       = 0x8
--	TCP_COOKIE_OUT_NEVER                 = 0x2
--	TCP_COOKIE_PAIR_SIZE                 = 0x20
--	TCP_COOKIE_TRANSACTIONS              = 0xf
--	TCP_CORK                             = 0x3
--	TCP_DEFER_ACCEPT                     = 0x9
--	TCP_FASTOPEN                         = 0x17
--	TCP_INFO                             = 0xb
--	TCP_KEEPCNT                          = 0x6
--	TCP_KEEPIDLE                         = 0x4
--	TCP_KEEPINTVL                        = 0x5
--	TCP_LINGER2                          = 0x8
--	TCP_MAXSEG                           = 0x2
--	TCP_MAXWIN                           = 0xffff
--	TCP_MAX_WINSHIFT                     = 0xe
--	TCP_MD5SIG                           = 0xe
--	TCP_MD5SIG_MAXKEYLEN                 = 0x50
--	TCP_MSS                              = 0x200
--	TCP_MSS_DEFAULT                      = 0x218
--	TCP_MSS_DESIRED                      = 0x4c4
--	TCP_NODELAY                          = 0x1
--	TCP_NOTSENT_LOWAT                    = 0x19
--	TCP_QUEUE_SEQ                        = 0x15
--	TCP_QUICKACK                         = 0xc
--	TCP_REPAIR                           = 0x13
--	TCP_REPAIR_OPTIONS                   = 0x16
--	TCP_REPAIR_QUEUE                     = 0x14
--	TCP_REPAIR_WINDOW                    = 0x1d
--	TCP_SAVED_SYN                        = 0x1c
--	TCP_SAVE_SYN                         = 0x1b
--	TCP_SYNCNT                           = 0x7
--	TCP_S_DATA_IN                        = 0x4
--	TCP_S_DATA_OUT                       = 0x8
--	TCP_THIN_DUPACK                      = 0x11
--	TCP_THIN_LINEAR_TIMEOUTS             = 0x10
--	TCP_TIMESTAMP                        = 0x18
--	TCP_USER_TIMEOUT                     = 0x12
--	TCP_WINDOW_CLAMP                     = 0xa
--	TCSAFLUSH                            = 0x5410
--	TCSBRK                               = 0x5405
--	TCSBRKP                              = 0x5486
--	TCSETA                               = 0x5402
--	TCSETAF                              = 0x5404
--	TCSETAW                              = 0x5403
--	TCSETS                               = 0x540e
--	TCSETS2                              = 0x8030542b
--	TCSETSF                              = 0x5410
--	TCSETSF2                             = 0x8030542d
--	TCSETSW                              = 0x540f
--	TCSETSW2                             = 0x8030542c
--	TCXONC                               = 0x5406
--	TIOCCBRK                             = 0x5428
--	TIOCCONS                             = 0x80047478
--	TIOCEXCL                             = 0x740d
--	TIOCGDEV                             = 0x40045432
--	TIOCGETD                             = 0x7400
--	TIOCGETP                             = 0x7408
--	TIOCGEXCL                            = 0x40045440
--	TIOCGICOUNT                          = 0x5492
--	TIOCGLCKTRMIOS                       = 0x548b
--	TIOCGLTC                             = 0x7474
--	TIOCGPGRP                            = 0x40047477
--	TIOCGPKT                             = 0x40045438
--	TIOCGPTLCK                           = 0x40045439
--	TIOCGPTN                             = 0x40045430
--	TIOCGRS485                           = 0x4020542e
--	TIOCGSERIAL                          = 0x5484
--	TIOCGSID                             = 0x7416
--	TIOCGSOFTCAR                         = 0x5481
--	TIOCGWINSZ                           = 0x40087468
--	TIOCINQ                              = 0x467f
--	TIOCLINUX                            = 0x5483
--	TIOCMBIC                             = 0x741c
--	TIOCMBIS                             = 0x741b
--	TIOCMGET                             = 0x741d
--	TIOCMIWAIT                           = 0x5491
--	TIOCMSET                             = 0x741a
--	TIOCM_CAR                            = 0x100
--	TIOCM_CD                             = 0x100
--	TIOCM_CTS                            = 0x40
--	TIOCM_DSR                            = 0x400
--	TIOCM_DTR                            = 0x2
--	TIOCM_LE                             = 0x1
--	TIOCM_RI                             = 0x200
--	TIOCM_RNG                            = 0x200
--	TIOCM_RTS                            = 0x4
--	TIOCM_SR                             = 0x20
--	TIOCM_ST                             = 0x10
--	TIOCNOTTY                            = 0x5471
--	TIOCNXCL                             = 0x740e
--	TIOCOUTQ                             = 0x7472
--	TIOCPKT                              = 0x5470
--	TIOCPKT_DATA                         = 0x0
--	TIOCPKT_DOSTOP                       = 0x20
--	TIOCPKT_FLUSHREAD                    = 0x1
--	TIOCPKT_FLUSHWRITE                   = 0x2
--	TIOCPKT_IOCTL                        = 0x40
--	TIOCPKT_NOSTOP                       = 0x10
--	TIOCPKT_START                        = 0x8
--	TIOCPKT_STOP                         = 0x4
--	TIOCSBRK                             = 0x5427
--	TIOCSCTTY                            = 0x5480
--	TIOCSERCONFIG                        = 0x5488
--	TIOCSERGETLSR                        = 0x548e
--	TIOCSERGETMULTI                      = 0x548f
--	TIOCSERGSTRUCT                       = 0x548d
--	TIOCSERGWILD                         = 0x5489
--	TIOCSERSETMULTI                      = 0x5490
--	TIOCSERSWILD                         = 0x548a
--	TIOCSER_TEMT                         = 0x1
--	TIOCSETD                             = 0x7401
--	TIOCSETN                             = 0x740a
--	TIOCSETP                             = 0x7409
--	TIOCSIG                              = 0x80045436
--	TIOCSLCKTRMIOS                       = 0x548c
--	TIOCSLTC                             = 0x7475
--	TIOCSPGRP                            = 0x80047476
--	TIOCSPTLCK                           = 0x80045431
--	TIOCSRS485                           = 0xc020542f
--	TIOCSSERIAL                          = 0x5485
--	TIOCSSOFTCAR                         = 0x5482
--	TIOCSTI                              = 0x5472
--	TIOCSWINSZ                           = 0x80087467
--	TIOCVHANGUP                          = 0x5437
--	TOSTOP                               = 0x8000
--	TS_COMM_LEN                          = 0x20
--	TUNATTACHFILTER                      = 0x800854d5
--	TUNDETACHFILTER                      = 0x800854d6
--	TUNGETFEATURES                       = 0x400454cf
--	TUNGETFILTER                         = 0x400854db
--	TUNGETIFF                            = 0x400454d2
--	TUNGETSNDBUF                         = 0x400454d3
--	TUNGETVNETBE                         = 0x400454df
--	TUNGETVNETHDRSZ                      = 0x400454d7
--	TUNGETVNETLE                         = 0x400454dd
--	TUNSETDEBUG                          = 0x800454c9
--	TUNSETGROUP                          = 0x800454ce
--	TUNSETIFF                            = 0x800454ca
--	TUNSETIFINDEX                        = 0x800454da
--	TUNSETLINK                           = 0x800454cd
--	TUNSETNOCSUM                         = 0x800454c8
--	TUNSETOFFLOAD                        = 0x800454d0
--	TUNSETOWNER                          = 0x800454cc
--	TUNSETPERSIST                        = 0x800454cb
--	TUNSETQUEUE                          = 0x800454d9
--	TUNSETSNDBUF                         = 0x800454d4
--	TUNSETTXFILTER                       = 0x800454d1
--	TUNSETVNETBE                         = 0x800454de
--	TUNSETVNETHDRSZ                      = 0x800454d8
--	TUNSETVNETLE                         = 0x800454dc
--	UMOUNT_NOFOLLOW                      = 0x8
--	VDISCARD                             = 0xd
--	VEOF                                 = 0x10
--	VEOL                                 = 0x11
--	VEOL2                                = 0x6
--	VERASE                               = 0x2
--	VINTR                                = 0x0
--	VKILL                                = 0x3
--	VLNEXT                               = 0xf
--	VMADDR_CID_ANY                       = 0xffffffff
--	VMADDR_CID_HOST                      = 0x2
--	VMADDR_CID_HYPERVISOR                = 0x0
--	VMADDR_CID_RESERVED                  = 0x1
--	VMADDR_PORT_ANY                      = 0xffffffff
--	VMIN                                 = 0x4
--	VM_SOCKETS_INVALID_VERSION           = 0xffffffff
--	VQUIT                                = 0x1
--	VREPRINT                             = 0xc
--	VSTART                               = 0x8
--	VSTOP                                = 0x9
--	VSUSP                                = 0xa
--	VSWTC                                = 0x7
--	VSWTCH                               = 0x7
--	VT0                                  = 0x0
--	VT1                                  = 0x4000
--	VTDLY                                = 0x4000
--	VTIME                                = 0x5
--	VWERASE                              = 0xe
--	WALL                                 = 0x40000000
--	WCLONE                               = 0x80000000
--	WCONTINUED                           = 0x8
--	WEXITED                              = 0x4
--	WNOHANG                              = 0x1
--	WNOTHREAD                            = 0x20000000
--	WNOWAIT                              = 0x1000000
--	WORDSIZE                             = 0x20
--	WSTOPPED                             = 0x2
--	WUNTRACED                            = 0x2
--	XATTR_CREATE                         = 0x1
--	XATTR_REPLACE                        = 0x2
--	XCASE                                = 0x4
--	XTABS                                = 0x1800
-+	B1000000                         = 0x1008
-+	B115200                          = 0x1002
-+	B1152000                         = 0x1009
-+	B1500000                         = 0x100a
-+	B2000000                         = 0x100b
-+	B230400                          = 0x1003
-+	B2500000                         = 0x100c
-+	B3000000                         = 0x100d
-+	B3500000                         = 0x100e
-+	B4000000                         = 0x100f
-+	B460800                          = 0x1004
-+	B500000                          = 0x1005
-+	B57600                           = 0x1001
-+	B576000                          = 0x1006
-+	B921600                          = 0x1007
-+	BLKBSZGET                        = 0x40041270
-+	BLKBSZSET                        = 0x80041271
-+	BLKFLSBUF                        = 0x20001261
-+	BLKFRAGET                        = 0x20001265
-+	BLKFRASET                        = 0x20001264
-+	BLKGETSIZE                       = 0x20001260
-+	BLKGETSIZE64                     = 0x40041272
-+	BLKPBSZGET                       = 0x2000127b
-+	BLKRAGET                         = 0x20001263
-+	BLKRASET                         = 0x20001262
-+	BLKROGET                         = 0x2000125e
-+	BLKROSET                         = 0x2000125d
-+	BLKRRPART                        = 0x2000125f
-+	BLKSECTGET                       = 0x20001267
-+	BLKSECTSET                       = 0x20001266
-+	BLKSSZGET                        = 0x20001268
-+	BOTHER                           = 0x1000
-+	BS1                              = 0x2000
-+	BSDLY                            = 0x2000
-+	CBAUD                            = 0x100f
-+	CBAUDEX                          = 0x1000
-+	CIBAUD                           = 0x100f0000
-+	CLOCAL                           = 0x800
-+	CR1                              = 0x200
-+	CR2                              = 0x400
-+	CR3                              = 0x600
-+	CRDLY                            = 0x600
-+	CREAD                            = 0x80
-+	CS6                              = 0x10
-+	CS7                              = 0x20
-+	CS8                              = 0x30
-+	CSIZE                            = 0x30
-+	CSTOPB                           = 0x40
-+	ECHOCTL                          = 0x200
-+	ECHOE                            = 0x10
-+	ECHOK                            = 0x20
-+	ECHOKE                           = 0x800
-+	ECHONL                           = 0x40
-+	ECHOPRT                          = 0x400
-+	EFD_CLOEXEC                      = 0x80000
-+	EFD_NONBLOCK                     = 0x80
-+	EPOLL_CLOEXEC                    = 0x80000
-+	EXTPROC                          = 0x10000
-+	FF1                              = 0x8000
-+	FFDLY                            = 0x8000
-+	FLUSHO                           = 0x2000
-+	FS_IOC_ENABLE_VERITY             = 0x80806685
-+	FS_IOC_GETFLAGS                  = 0x40046601
-+	FS_IOC_GET_ENCRYPTION_POLICY     = 0x800c6615
-+	FS_IOC_GET_ENCRYPTION_PWSALT     = 0x80106614
-+	FS_IOC_SET_ENCRYPTION_POLICY     = 0x400c6613
-+	F_GETLK                          = 0x21
-+	F_GETLK64                        = 0x21
-+	F_GETOWN                         = 0x17
-+	F_RDLCK                          = 0x0
-+	F_SETLK                          = 0x22
-+	F_SETLK64                        = 0x22
-+	F_SETLKW                         = 0x23
-+	F_SETLKW64                       = 0x23
-+	F_SETOWN                         = 0x18
-+	F_UNLCK                          = 0x2
-+	F_WRLCK                          = 0x1
-+	HUPCL                            = 0x400
-+	ICANON                           = 0x2
-+	IEXTEN                           = 0x100
-+	IN_CLOEXEC                       = 0x80000
-+	IN_NONBLOCK                      = 0x80
-+	IOCTL_VM_SOCKETS_GET_LOCAL_CID   = 0x200007b9
-+	ISIG                             = 0x1
-+	IUCLC                            = 0x200
-+	IXOFF                            = 0x1000
-+	IXON                             = 0x400
-+	MAP_ANON                         = 0x800
-+	MAP_ANONYMOUS                    = 0x800
-+	MAP_DENYWRITE                    = 0x2000
-+	MAP_EXECUTABLE                   = 0x4000
-+	MAP_GROWSDOWN                    = 0x1000
-+	MAP_HUGETLB                      = 0x80000
-+	MAP_LOCKED                       = 0x8000
-+	MAP_NONBLOCK                     = 0x20000
-+	MAP_NORESERVE                    = 0x400
-+	MAP_POPULATE                     = 0x10000
-+	MAP_RENAME                       = 0x800
-+	MAP_STACK                        = 0x40000
-+	MCL_CURRENT                      = 0x1
-+	MCL_FUTURE                       = 0x2
-+	MCL_ONFAULT                      = 0x4
-+	NFDBITS                          = 0x20
-+	NLDLY                            = 0x100
-+	NOFLSH                           = 0x80
-+	NS_GET_NSTYPE                    = 0x2000b703
-+	NS_GET_OWNER_UID                 = 0x2000b704
-+	NS_GET_PARENT                    = 0x2000b702
-+	NS_GET_USERNS                    = 0x2000b701
-+	OLCUC                            = 0x2
-+	ONLCR                            = 0x4
-+	O_APPEND                         = 0x8
-+	O_ASYNC                          = 0x1000
-+	O_CLOEXEC                        = 0x80000
-+	O_CREAT                          = 0x100
-+	O_DIRECT                         = 0x8000
-+	O_DIRECTORY                      = 0x10000
-+	O_DSYNC                          = 0x10
-+	O_EXCL                           = 0x400
-+	O_FSYNC                          = 0x4010
-+	O_LARGEFILE                      = 0x2000
-+	O_NDELAY                         = 0x80
-+	O_NOATIME                        = 0x40000
-+	O_NOCTTY                         = 0x800
-+	O_NOFOLLOW                       = 0x20000
-+	O_NONBLOCK                       = 0x80
-+	O_PATH                           = 0x200000
-+	O_RSYNC                          = 0x4010
-+	O_SYNC                           = 0x4010
-+	O_TMPFILE                        = 0x410000
-+	O_TRUNC                          = 0x200
-+	PARENB                           = 0x100
-+	PARODD                           = 0x200
-+	PENDIN                           = 0x4000
-+	PERF_EVENT_IOC_DISABLE           = 0x20002401
-+	PERF_EVENT_IOC_ENABLE            = 0x20002400
-+	PERF_EVENT_IOC_ID                = 0x40042407
-+	PERF_EVENT_IOC_MODIFY_ATTRIBUTES = 0x8004240b
-+	PERF_EVENT_IOC_PAUSE_OUTPUT      = 0x80042409
-+	PERF_EVENT_IOC_PERIOD            = 0x80082404
-+	PERF_EVENT_IOC_QUERY_BPF         = 0xc004240a
-+	PERF_EVENT_IOC_REFRESH           = 0x20002402
-+	PERF_EVENT_IOC_RESET             = 0x20002403
-+	PERF_EVENT_IOC_SET_BPF           = 0x80042408
-+	PERF_EVENT_IOC_SET_FILTER        = 0x80042406
-+	PERF_EVENT_IOC_SET_OUTPUT        = 0x20002405
-+	PPPIOCATTACH                     = 0x8004743d
-+	PPPIOCATTCHAN                    = 0x80047438
-+	PPPIOCCONNECT                    = 0x8004743a
-+	PPPIOCDETACH                     = 0x8004743c
-+	PPPIOCDISCONN                    = 0x20007439
-+	PPPIOCGASYNCMAP                  = 0x40047458
-+	PPPIOCGCHAN                      = 0x40047437
-+	PPPIOCGDEBUG                     = 0x40047441
-+	PPPIOCGFLAGS                     = 0x4004745a
-+	PPPIOCGIDLE                      = 0x4008743f
-+	PPPIOCGIDLE32                    = 0x4008743f
-+	PPPIOCGIDLE64                    = 0x4010743f
-+	PPPIOCGL2TPSTATS                 = 0x40487436
-+	PPPIOCGMRU                       = 0x40047453
-+	PPPIOCGRASYNCMAP                 = 0x40047455
-+	PPPIOCGUNIT                      = 0x40047456
-+	PPPIOCGXASYNCMAP                 = 0x40207450
-+	PPPIOCSACTIVE                    = 0x80087446
-+	PPPIOCSASYNCMAP                  = 0x80047457
-+	PPPIOCSCOMPRESS                  = 0x800c744d
-+	PPPIOCSDEBUG                     = 0x80047440
-+	PPPIOCSFLAGS                     = 0x80047459
-+	PPPIOCSMAXCID                    = 0x80047451
-+	PPPIOCSMRRU                      = 0x8004743b
-+	PPPIOCSMRU                       = 0x80047452
-+	PPPIOCSNPMODE                    = 0x8008744b
-+	PPPIOCSPASS                      = 0x80087447
-+	PPPIOCSRASYNCMAP                 = 0x80047454
-+	PPPIOCSXASYNCMAP                 = 0x8020744f
-+	PPPIOCXFERUNIT                   = 0x2000744e
-+	PR_SET_PTRACER_ANY               = 0xffffffff
-+	PTRACE_GETFPREGS                 = 0xe
-+	PTRACE_GET_THREAD_AREA           = 0x19
-+	PTRACE_GET_THREAD_AREA_3264      = 0xc4
-+	PTRACE_GET_WATCH_REGS            = 0xd0
-+	PTRACE_OLDSETOPTIONS             = 0x15
-+	PTRACE_PEEKDATA_3264             = 0xc1
-+	PTRACE_PEEKTEXT_3264             = 0xc0
-+	PTRACE_POKEDATA_3264             = 0xc3
-+	PTRACE_POKETEXT_3264             = 0xc2
-+	PTRACE_SETFPREGS                 = 0xf
-+	PTRACE_SET_THREAD_AREA           = 0x1a
-+	PTRACE_SET_WATCH_REGS            = 0xd1
-+	RLIMIT_AS                        = 0x6
-+	RLIMIT_MEMLOCK                   = 0x9
-+	RLIMIT_NOFILE                    = 0x5
-+	RLIMIT_NPROC                     = 0x8
-+	RLIMIT_RSS                       = 0x7
-+	RNDADDENTROPY                    = 0x80085203
-+	RNDADDTOENTCNT                   = 0x80045201
-+	RNDCLEARPOOL                     = 0x20005206
-+	RNDGETENTCNT                     = 0x40045200
-+	RNDGETPOOL                       = 0x40085202
-+	RNDRESEEDCRNG                    = 0x20005207
-+	RNDZAPENTCNT                     = 0x20005204
-+	RTC_AIE_OFF                      = 0x20007002
-+	RTC_AIE_ON                       = 0x20007001
-+	RTC_ALM_READ                     = 0x40247008
-+	RTC_ALM_SET                      = 0x80247007
-+	RTC_EPOCH_READ                   = 0x4004700d
-+	RTC_EPOCH_SET                    = 0x8004700e
-+	RTC_IRQP_READ                    = 0x4004700b
-+	RTC_IRQP_SET                     = 0x8004700c
-+	RTC_PIE_OFF                      = 0x20007006
-+	RTC_PIE_ON                       = 0x20007005
-+	RTC_PLL_GET                      = 0x401c7011
-+	RTC_PLL_SET                      = 0x801c7012
-+	RTC_RD_TIME                      = 0x40247009
-+	RTC_SET_TIME                     = 0x8024700a
-+	RTC_UIE_OFF                      = 0x20007004
-+	RTC_UIE_ON                       = 0x20007003
-+	RTC_VL_CLR                       = 0x20007014
-+	RTC_VL_READ                      = 0x40047013
-+	RTC_WIE_OFF                      = 0x20007010
-+	RTC_WIE_ON                       = 0x2000700f
-+	RTC_WKALM_RD                     = 0x40287010
-+	RTC_WKALM_SET                    = 0x8028700f
-+	SCM_TIMESTAMPING                 = 0x25
-+	SCM_TIMESTAMPING_OPT_STATS       = 0x36
-+	SCM_TIMESTAMPING_PKTINFO         = 0x3a
-+	SCM_TIMESTAMPNS                  = 0x23
-+	SCM_TXTIME                       = 0x3d
-+	SCM_WIFI_STATUS                  = 0x29
-+	SFD_CLOEXEC                      = 0x80000
-+	SFD_NONBLOCK                     = 0x80
-+	SIOCATMARK                       = 0x40047307
-+	SIOCGPGRP                        = 0x40047309
-+	SIOCGSTAMPNS_NEW                 = 0x40108907
-+	SIOCGSTAMP_NEW                   = 0x40108906
-+	SIOCINQ                          = 0x467f
-+	SIOCOUTQ                         = 0x7472
-+	SIOCSPGRP                        = 0x80047308
-+	SOCK_CLOEXEC                     = 0x80000
-+	SOCK_DGRAM                       = 0x1
-+	SOCK_NONBLOCK                    = 0x80
-+	SOCK_STREAM                      = 0x2
-+	SOL_SOCKET                       = 0xffff
-+	SO_ACCEPTCONN                    = 0x1009
-+	SO_ATTACH_BPF                    = 0x32
-+	SO_ATTACH_REUSEPORT_CBPF         = 0x33
-+	SO_ATTACH_REUSEPORT_EBPF         = 0x34
-+	SO_BINDTODEVICE                  = 0x19
-+	SO_BINDTOIFINDEX                 = 0x3e
-+	SO_BPF_EXTENSIONS                = 0x30
-+	SO_BROADCAST                     = 0x20
-+	SO_BSDCOMPAT                     = 0xe
-+	SO_BUSY_POLL                     = 0x2e
-+	SO_CNX_ADVICE                    = 0x35
-+	SO_COOKIE                        = 0x39
-+	SO_DETACH_REUSEPORT_BPF          = 0x44
-+	SO_DOMAIN                        = 0x1029
-+	SO_DONTROUTE                     = 0x10
-+	SO_ERROR                         = 0x1007
-+	SO_INCOMING_CPU                  = 0x31
-+	SO_INCOMING_NAPI_ID              = 0x38
-+	SO_KEEPALIVE                     = 0x8
-+	SO_LINGER                        = 0x80
-+	SO_LOCK_FILTER                   = 0x2c
-+	SO_MARK                          = 0x24
-+	SO_MAX_PACING_RATE               = 0x2f
-+	SO_MEMINFO                       = 0x37
-+	SO_NOFCS                         = 0x2b
-+	SO_OOBINLINE                     = 0x100
-+	SO_PASSCRED                      = 0x11
-+	SO_PASSSEC                       = 0x22
-+	SO_PEEK_OFF                      = 0x2a
-+	SO_PEERCRED                      = 0x12
-+	SO_PEERGROUPS                    = 0x3b
-+	SO_PEERSEC                       = 0x1e
-+	SO_PROTOCOL                      = 0x1028
-+	SO_RCVBUF                        = 0x1002
-+	SO_RCVBUFFORCE                   = 0x21
-+	SO_RCVLOWAT                      = 0x1004
-+	SO_RCVTIMEO                      = 0x1006
-+	SO_RCVTIMEO_NEW                  = 0x42
-+	SO_RCVTIMEO_OLD                  = 0x1006
-+	SO_REUSEADDR                     = 0x4
-+	SO_REUSEPORT                     = 0x200
-+	SO_RXQ_OVFL                      = 0x28
-+	SO_SECURITY_AUTHENTICATION       = 0x16
-+	SO_SECURITY_ENCRYPTION_NETWORK   = 0x18
-+	SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17
-+	SO_SELECT_ERR_QUEUE              = 0x2d
-+	SO_SNDBUF                        = 0x1001
-+	SO_SNDBUFFORCE                   = 0x1f
-+	SO_SNDLOWAT                      = 0x1003
-+	SO_SNDTIMEO                      = 0x1005
-+	SO_SNDTIMEO_NEW                  = 0x43
-+	SO_SNDTIMEO_OLD                  = 0x1005
-+	SO_STYLE                         = 0x1008
-+	SO_TIMESTAMPING                  = 0x25
-+	SO_TIMESTAMPING_NEW              = 0x41
-+	SO_TIMESTAMPING_OLD              = 0x25
-+	SO_TIMESTAMPNS                   = 0x23
-+	SO_TIMESTAMPNS_NEW               = 0x40
-+	SO_TIMESTAMPNS_OLD               = 0x23
-+	SO_TIMESTAMP_NEW                 = 0x3f
-+	SO_TXTIME                        = 0x3d
-+	SO_TYPE                          = 0x1008
-+	SO_WIFI_STATUS                   = 0x29
-+	SO_ZEROCOPY                      = 0x3c
-+	TAB1                             = 0x800
-+	TAB2                             = 0x1000
-+	TAB3                             = 0x1800
-+	TABDLY                           = 0x1800
-+	TCFLSH                           = 0x5407
-+	TCGETA                           = 0x5401
-+	TCGETS                           = 0x540d
-+	TCGETS2                          = 0x4030542a
-+	TCSAFLUSH                        = 0x5410
-+	TCSBRK                           = 0x5405
-+	TCSBRKP                          = 0x5486
-+	TCSETA                           = 0x5402
-+	TCSETAF                          = 0x5404
-+	TCSETAW                          = 0x5403
-+	TCSETS                           = 0x540e
-+	TCSETS2                          = 0x8030542b
-+	TCSETSF                          = 0x5410
-+	TCSETSF2                         = 0x8030542d
-+	TCSETSW                          = 0x540f
-+	TCSETSW2                         = 0x8030542c
-+	TCXONC                           = 0x5406
-+	TIOCCBRK                         = 0x5428
-+	TIOCCONS                         = 0x80047478
-+	TIOCEXCL                         = 0x740d
-+	TIOCGDEV                         = 0x40045432
-+	TIOCGETD                         = 0x7400
-+	TIOCGETP                         = 0x7408
-+	TIOCGEXCL                        = 0x40045440
-+	TIOCGICOUNT                      = 0x5492
-+	TIOCGISO7816                     = 0x40285442
-+	TIOCGLCKTRMIOS                   = 0x548b
-+	TIOCGLTC                         = 0x7474
-+	TIOCGPGRP                        = 0x40047477
-+	TIOCGPKT                         = 0x40045438
-+	TIOCGPTLCK                       = 0x40045439
-+	TIOCGPTN                         = 0x40045430
-+	TIOCGPTPEER                      = 0x20005441
-+	TIOCGRS485                       = 0x4020542e
-+	TIOCGSERIAL                      = 0x5484
-+	TIOCGSID                         = 0x7416
-+	TIOCGSOFTCAR                     = 0x5481
-+	TIOCGWINSZ                       = 0x40087468
-+	TIOCINQ                          = 0x467f
-+	TIOCLINUX                        = 0x5483
-+	TIOCMBIC                         = 0x741c
-+	TIOCMBIS                         = 0x741b
-+	TIOCMGET                         = 0x741d
-+	TIOCMIWAIT                       = 0x5491
-+	TIOCMSET                         = 0x741a
-+	TIOCM_CAR                        = 0x100
-+	TIOCM_CD                         = 0x100
-+	TIOCM_CTS                        = 0x40
-+	TIOCM_DSR                        = 0x400
-+	TIOCM_RI                         = 0x200
-+	TIOCM_RNG                        = 0x200
-+	TIOCM_SR                         = 0x20
-+	TIOCM_ST                         = 0x10
-+	TIOCNOTTY                        = 0x5471
-+	TIOCNXCL                         = 0x740e
-+	TIOCOUTQ                         = 0x7472
-+	TIOCPKT                          = 0x5470
-+	TIOCSBRK                         = 0x5427
-+	TIOCSCTTY                        = 0x5480
-+	TIOCSERCONFIG                    = 0x5488
-+	TIOCSERGETLSR                    = 0x548e
-+	TIOCSERGETMULTI                  = 0x548f
-+	TIOCSERGSTRUCT                   = 0x548d
-+	TIOCSERGWILD                     = 0x5489
-+	TIOCSERSETMULTI                  = 0x5490
-+	TIOCSERSWILD                     = 0x548a
-+	TIOCSER_TEMT                     = 0x1
-+	TIOCSETD                         = 0x7401
-+	TIOCSETN                         = 0x740a
-+	TIOCSETP                         = 0x7409
-+	TIOCSIG                          = 0x80045436
-+	TIOCSISO7816                     = 0xc0285443
-+	TIOCSLCKTRMIOS                   = 0x548c
-+	TIOCSLTC                         = 0x7475
-+	TIOCSPGRP                        = 0x80047476
-+	TIOCSPTLCK                       = 0x80045431
-+	TIOCSRS485                       = 0xc020542f
-+	TIOCSSERIAL                      = 0x5485
-+	TIOCSSOFTCAR                     = 0x5482
-+	TIOCSTI                          = 0x5472
-+	TIOCSWINSZ                       = 0x80087467
-+	TIOCVHANGUP                      = 0x5437
-+	TOSTOP                           = 0x8000
-+	TUNATTACHFILTER                  = 0x800854d5
-+	TUNDETACHFILTER                  = 0x800854d6
-+	TUNGETDEVNETNS                   = 0x200054e3
-+	TUNGETFEATURES                   = 0x400454cf
-+	TUNGETFILTER                     = 0x400854db
-+	TUNGETIFF                        = 0x400454d2
-+	TUNGETSNDBUF                     = 0x400454d3
-+	TUNGETVNETBE                     = 0x400454df
-+	TUNGETVNETHDRSZ                  = 0x400454d7
-+	TUNGETVNETLE                     = 0x400454dd
-+	TUNSETCARRIER                    = 0x800454e2
-+	TUNSETDEBUG                      = 0x800454c9
-+	TUNSETFILTEREBPF                 = 0x400454e1
-+	TUNSETGROUP                      = 0x800454ce
-+	TUNSETIFF                        = 0x800454ca
-+	TUNSETIFINDEX                    = 0x800454da
-+	TUNSETLINK                       = 0x800454cd
-+	TUNSETNOCSUM                     = 0x800454c8
-+	TUNSETOFFLOAD                    = 0x800454d0
-+	TUNSETOWNER                      = 0x800454cc
-+	TUNSETPERSIST                    = 0x800454cb
-+	TUNSETQUEUE                      = 0x800454d9
-+	TUNSETSNDBUF                     = 0x800454d4
-+	TUNSETSTEERINGEBPF               = 0x400454e0
-+	TUNSETTXFILTER                   = 0x800454d1
-+	TUNSETVNETBE                     = 0x800454de
-+	TUNSETVNETHDRSZ                  = 0x800454d8
-+	TUNSETVNETLE                     = 0x800454dc
-+	UBI_IOCATT                       = 0x80186f40
-+	UBI_IOCDET                       = 0x80046f41
-+	UBI_IOCEBCH                      = 0x80044f02
-+	UBI_IOCEBER                      = 0x80044f01
-+	UBI_IOCEBISMAP                   = 0x40044f05
-+	UBI_IOCEBMAP                     = 0x80084f03
-+	UBI_IOCEBUNMAP                   = 0x80044f04
-+	UBI_IOCMKVOL                     = 0x80986f00
-+	UBI_IOCRMVOL                     = 0x80046f01
-+	UBI_IOCRNVOL                     = 0x91106f03
-+	UBI_IOCRPEB                      = 0x80046f04
-+	UBI_IOCRSVOL                     = 0x800c6f02
-+	UBI_IOCSETVOLPROP                = 0x80104f06
-+	UBI_IOCSPEB                      = 0x80046f05
-+	UBI_IOCVOLCRBLK                  = 0x80804f07
-+	UBI_IOCVOLRMBLK                  = 0x20004f08
-+	UBI_IOCVOLUP                     = 0x80084f00
-+	VDISCARD                         = 0xd
-+	VEOF                             = 0x10
-+	VEOL                             = 0x11
-+	VEOL2                            = 0x6
-+	VMIN                             = 0x4
-+	VREPRINT                         = 0xc
-+	VSTART                           = 0x8
-+	VSTOP                            = 0x9
-+	VSUSP                            = 0xa
-+	VSWTC                            = 0x7
-+	VSWTCH                           = 0x7
-+	VT1                              = 0x4000
-+	VTDLY                            = 0x4000
-+	VTIME                            = 0x5
-+	VWERASE                          = 0xe
-+	WDIOC_GETBOOTSTATUS              = 0x40045702
-+	WDIOC_GETPRETIMEOUT              = 0x40045709
-+	WDIOC_GETSTATUS                  = 0x40045701
-+	WDIOC_GETSUPPORT                 = 0x40285700
-+	WDIOC_GETTEMP                    = 0x40045703
-+	WDIOC_GETTIMELEFT                = 0x4004570a
-+	WDIOC_GETTIMEOUT                 = 0x40045707
-+	WDIOC_KEEPALIVE                  = 0x40045705
-+	WDIOC_SETOPTIONS                 = 0x40045704
-+	WORDSIZE                         = 0x20
-+	XCASE                            = 0x4
-+	XTABS                            = 0x1800
- )
- 
- // Errors
- const (
--	E2BIG           = syscall.Errno(0x7)
--	EACCES          = syscall.Errno(0xd)
- 	EADDRINUSE      = syscall.Errno(0x7d)
- 	EADDRNOTAVAIL   = syscall.Errno(0x7e)
- 	EADV            = syscall.Errno(0x44)
- 	EAFNOSUPPORT    = syscall.Errno(0x7c)
--	EAGAIN          = syscall.Errno(0xb)
- 	EALREADY        = syscall.Errno(0x95)
- 	EBADE           = syscall.Errno(0x32)
--	EBADF           = syscall.Errno(0x9)
- 	EBADFD          = syscall.Errno(0x51)
- 	EBADMSG         = syscall.Errno(0x4d)
- 	EBADR           = syscall.Errno(0x33)
- 	EBADRQC         = syscall.Errno(0x36)
- 	EBADSLT         = syscall.Errno(0x37)
- 	EBFONT          = syscall.Errno(0x3b)
--	EBUSY           = syscall.Errno(0x10)
- 	ECANCELED       = syscall.Errno(0x9e)
--	ECHILD          = syscall.Errno(0xa)
- 	ECHRNG          = syscall.Errno(0x25)
- 	ECOMM           = syscall.Errno(0x46)
- 	ECONNABORTED    = syscall.Errno(0x82)
-@@ -1886,12 +502,8 @@ const (
- 	EDEADLK         = syscall.Errno(0x2d)
- 	EDEADLOCK       = syscall.Errno(0x38)
- 	EDESTADDRREQ    = syscall.Errno(0x60)
--	EDOM            = syscall.Errno(0x21)
- 	EDOTDOT         = syscall.Errno(0x49)
- 	EDQUOT          = syscall.Errno(0x46d)
--	EEXIST          = syscall.Errno(0x11)
--	EFAULT          = syscall.Errno(0xe)
--	EFBIG           = syscall.Errno(0x1b)
- 	EHOSTDOWN       = syscall.Errno(0x93)
- 	EHOSTUNREACH    = syscall.Errno(0x94)
- 	EHWPOISON       = syscall.Errno(0xa8)
-@@ -1899,11 +511,7 @@ const (
- 	EILSEQ          = syscall.Errno(0x58)
- 	EINIT           = syscall.Errno(0x8d)
- 	EINPROGRESS     = syscall.Errno(0x96)
--	EINTR           = syscall.Errno(0x4)
--	EINVAL          = syscall.Errno(0x16)
--	EIO             = syscall.Errno(0x5)
- 	EISCONN         = syscall.Errno(0x85)
--	EISDIR          = syscall.Errno(0x15)
- 	EISNAM          = syscall.Errno(0x8b)
- 	EKEYEXPIRED     = syscall.Errno(0xa2)
- 	EKEYREJECTED    = syscall.Errno(0xa4)
-@@ -1920,8 +528,6 @@ const (
- 	ELNRNG          = syscall.Errno(0x29)
- 	ELOOP           = syscall.Errno(0x5a)
- 	EMEDIUMTYPE     = syscall.Errno(0xa0)
--	EMFILE          = syscall.Errno(0x18)
--	EMLINK          = syscall.Errno(0x1f)
- 	EMSGSIZE        = syscall.Errno(0x61)
- 	EMULTIHOP       = syscall.Errno(0x4a)
- 	ENAMETOOLONG    = syscall.Errno(0x4e)
-@@ -1929,100 +535,68 @@ const (
- 	ENETDOWN        = syscall.Errno(0x7f)
- 	ENETRESET       = syscall.Errno(0x81)
- 	ENETUNREACH     = syscall.Errno(0x80)
--	ENFILE          = syscall.Errno(0x17)
- 	ENOANO          = syscall.Errno(0x35)
- 	ENOBUFS         = syscall.Errno(0x84)
- 	ENOCSI          = syscall.Errno(0x2b)
- 	ENODATA         = syscall.Errno(0x3d)
--	ENODEV          = syscall.Errno(0x13)
--	ENOENT          = syscall.Errno(0x2)
--	ENOEXEC         = syscall.Errno(0x8)
- 	ENOKEY          = syscall.Errno(0xa1)
- 	ENOLCK          = syscall.Errno(0x2e)
- 	ENOLINK         = syscall.Errno(0x43)
- 	ENOMEDIUM       = syscall.Errno(0x9f)
--	ENOMEM          = syscall.Errno(0xc)
- 	ENOMSG          = syscall.Errno(0x23)
- 	ENONET          = syscall.Errno(0x40)
- 	ENOPKG          = syscall.Errno(0x41)
- 	ENOPROTOOPT     = syscall.Errno(0x63)
--	ENOSPC          = syscall.Errno(0x1c)
- 	ENOSR           = syscall.Errno(0x3f)
- 	ENOSTR          = syscall.Errno(0x3c)
- 	ENOSYS          = syscall.Errno(0x59)
--	ENOTBLK         = syscall.Errno(0xf)
- 	ENOTCONN        = syscall.Errno(0x86)
--	ENOTDIR         = syscall.Errno(0x14)
- 	ENOTEMPTY       = syscall.Errno(0x5d)
- 	ENOTNAM         = syscall.Errno(0x89)
- 	ENOTRECOVERABLE = syscall.Errno(0xa6)
- 	ENOTSOCK        = syscall.Errno(0x5f)
- 	ENOTSUP         = syscall.Errno(0x7a)
--	ENOTTY          = syscall.Errno(0x19)
- 	ENOTUNIQ        = syscall.Errno(0x50)
--	ENXIO           = syscall.Errno(0x6)
- 	EOPNOTSUPP      = syscall.Errno(0x7a)
- 	EOVERFLOW       = syscall.Errno(0x4f)
- 	EOWNERDEAD      = syscall.Errno(0xa5)
--	EPERM           = syscall.Errno(0x1)
- 	EPFNOSUPPORT    = syscall.Errno(0x7b)
--	EPIPE           = syscall.Errno(0x20)
- 	EPROTO          = syscall.Errno(0x47)
- 	EPROTONOSUPPORT = syscall.Errno(0x78)
- 	EPROTOTYPE      = syscall.Errno(0x62)
--	ERANGE          = syscall.Errno(0x22)
- 	EREMCHG         = syscall.Errno(0x52)
- 	EREMDEV         = syscall.Errno(0x8e)
- 	EREMOTE         = syscall.Errno(0x42)
- 	EREMOTEIO       = syscall.Errno(0x8c)
- 	ERESTART        = syscall.Errno(0x5b)
- 	ERFKILL         = syscall.Errno(0xa7)
--	EROFS           = syscall.Errno(0x1e)
- 	ESHUTDOWN       = syscall.Errno(0x8f)
- 	ESOCKTNOSUPPORT = syscall.Errno(0x79)
--	ESPIPE          = syscall.Errno(0x1d)
--	ESRCH           = syscall.Errno(0x3)
- 	ESRMNT          = syscall.Errno(0x45)
- 	ESTALE          = syscall.Errno(0x97)
- 	ESTRPIPE        = syscall.Errno(0x5c)
- 	ETIME           = syscall.Errno(0x3e)
- 	ETIMEDOUT       = syscall.Errno(0x91)
- 	ETOOMANYREFS    = syscall.Errno(0x90)
--	ETXTBSY         = syscall.Errno(0x1a)
- 	EUCLEAN         = syscall.Errno(0x87)
- 	EUNATCH         = syscall.Errno(0x2a)
- 	EUSERS          = syscall.Errno(0x5e)
--	EWOULDBLOCK     = syscall.Errno(0xb)
--	EXDEV           = syscall.Errno(0x12)
- 	EXFULL          = syscall.Errno(0x34)
- )
- 
- // Signals
- const (
--	SIGABRT   = syscall.Signal(0x6)
--	SIGALRM   = syscall.Signal(0xe)
- 	SIGBUS    = syscall.Signal(0xa)
- 	SIGCHLD   = syscall.Signal(0x12)
- 	SIGCLD    = syscall.Signal(0x12)
- 	SIGCONT   = syscall.Signal(0x19)
- 	SIGEMT    = syscall.Signal(0x7)
--	SIGFPE    = syscall.Signal(0x8)
--	SIGHUP    = syscall.Signal(0x1)
--	SIGILL    = syscall.Signal(0x4)
--	SIGINT    = syscall.Signal(0x2)
- 	SIGIO     = syscall.Signal(0x16)
--	SIGIOT    = syscall.Signal(0x6)
--	SIGKILL   = syscall.Signal(0x9)
--	SIGPIPE   = syscall.Signal(0xd)
- 	SIGPOLL   = syscall.Signal(0x16)
- 	SIGPROF   = syscall.Signal(0x1d)
- 	SIGPWR    = syscall.Signal(0x13)
--	SIGQUIT   = syscall.Signal(0x3)
--	SIGSEGV   = syscall.Signal(0xb)
- 	SIGSTOP   = syscall.Signal(0x17)
- 	SIGSYS    = syscall.Signal(0xc)
--	SIGTERM   = syscall.Signal(0xf)
--	SIGTRAP   = syscall.Signal(0x5)
- 	SIGTSTP   = syscall.Signal(0x18)
- 	SIGTTIN   = syscall.Signal(0x1a)
- 	SIGTTOU   = syscall.Signal(0x1b)
-@@ -2036,174 +610,182 @@ const (
- )
- 
- // Error table
--var errors = [...]string{
--	1:    "operation not permitted",
--	2:    "no such file or directory",
--	3:    "no such process",
--	4:    "interrupted system call",
--	5:    "input/output error",
--	6:    "no such device or address",
--	7:    "argument list too long",
--	8:    "exec format error",
--	9:    "bad file descriptor",
--	10:   "no child processes",
--	11:   "resource temporarily unavailable",
--	12:   "cannot allocate memory",
--	13:   "permission denied",
--	14:   "bad address",
--	15:   "block device required",
--	16:   "device or resource busy",
--	17:   "file exists",
--	18:   "invalid cross-device link",
--	19:   "no such device",
--	20:   "not a directory",
--	21:   "is a directory",
--	22:   "invalid argument",
--	23:   "too many open files in system",
--	24:   "too many open files",
--	25:   "inappropriate ioctl for device",
--	26:   "text file busy",
--	27:   "file too large",
--	28:   "no space left on device",
--	29:   "illegal seek",
--	30:   "read-only file system",
--	31:   "too many links",
--	32:   "broken pipe",
--	33:   "numerical argument out of domain",
--	34:   "numerical result out of range",
--	35:   "no message of desired type",
--	36:   "identifier removed",
--	37:   "channel number out of range",
--	38:   "level 2 not synchronized",
--	39:   "level 3 halted",
--	40:   "level 3 reset",
--	41:   "link number out of range",
--	42:   "protocol driver not attached",
--	43:   "no CSI structure available",
--	44:   "level 2 halted",
--	45:   "resource deadlock avoided",
--	46:   "no locks available",
--	50:   "invalid exchange",
--	51:   "invalid request descriptor",
--	52:   "exchange full",
--	53:   "no anode",
--	54:   "invalid request code",
--	55:   "invalid slot",
--	56:   "file locking deadlock error",
--	59:   "bad font file format",
--	60:   "device not a stream",
--	61:   "no data available",
--	62:   "timer expired",
--	63:   "out of streams resources",
--	64:   "machine is not on the network",
--	65:   "package not installed",
--	66:   "object is remote",
--	67:   "link has been severed",
--	68:   "advertise error",
--	69:   "srmount error",
--	70:   "communication error on send",
--	71:   "protocol error",
--	73:   "RFS specific error",
--	74:   "multihop attempted",
--	77:   "bad message",
--	78:   "file name too long",
--	79:   "value too large for defined data type",
--	80:   "name not unique on network",
--	81:   "file descriptor in bad state",
--	82:   "remote address changed",
--	83:   "can not access a needed shared library",
--	84:   "accessing a corrupted shared library",
--	85:   ".lib section in a.out corrupted",
--	86:   "attempting to link in too many shared libraries",
--	87:   "cannot exec a shared library directly",
--	88:   "invalid or incomplete multibyte or wide character",
--	89:   "function not implemented",
--	90:   "too many levels of symbolic links",
--	91:   "interrupted system call should be restarted",
--	92:   "streams pipe error",
--	93:   "directory not empty",
--	94:   "too many users",
--	95:   "socket operation on non-socket",
--	96:   "destination address required",
--	97:   "message too long",
--	98:   "protocol wrong type for socket",
--	99:   "protocol not available",
--	120:  "protocol not supported",
--	121:  "socket type not supported",
--	122:  "operation not supported",
--	123:  "protocol family not supported",
--	124:  "address family not supported by protocol",
--	125:  "address already in use",
--	126:  "cannot assign requested address",
--	127:  "network is down",
--	128:  "network is unreachable",
--	129:  "network dropped connection on reset",
--	130:  "software caused connection abort",
--	131:  "connection reset by peer",
--	132:  "no buffer space available",
--	133:  "transport endpoint is already connected",
--	134:  "transport endpoint is not connected",
--	135:  "structure needs cleaning",
--	137:  "not a XENIX named type file",
--	138:  "no XENIX semaphores available",
--	139:  "is a named type file",
--	140:  "remote I/O error",
--	141:  "unknown error 141",
--	142:  "unknown error 142",
--	143:  "cannot send after transport endpoint shutdown",
--	144:  "too many references: cannot splice",
--	145:  "connection timed out",
--	146:  "connection refused",
--	147:  "host is down",
--	148:  "no route to host",
--	149:  "operation already in progress",
--	150:  "operation now in progress",
--	151:  "stale file handle",
--	158:  "operation canceled",
--	159:  "no medium found",
--	160:  "wrong medium type",
--	161:  "required key not available",
--	162:  "key has expired",
--	163:  "key has been revoked",
--	164:  "key was rejected by service",
--	165:  "owner died",
--	166:  "state not recoverable",
--	167:  "operation not possible due to RF-kill",
--	168:  "memory page has hardware error",
--	1133: "disk quota exceeded",
-+var errorList = [...]struct {
-+	num  syscall.Errno
-+	name string
-+	desc string
-+}{
-+	{1, "EPERM", "operation not permitted"},
-+	{2, "ENOENT", "no such file or directory"},
-+	{3, "ESRCH", "no such process"},
-+	{4, "EINTR", "interrupted system call"},
-+	{5, "EIO", "input/output error"},
-+	{6, "ENXIO", "no such device or address"},
-+	{7, "E2BIG", "argument list too long"},
-+	{8, "ENOEXEC", "exec format error"},
-+	{9, "EBADF", "bad file descriptor"},
-+	{10, "ECHILD", "no child processes"},
-+	{11, "EAGAIN", "resource temporarily unavailable"},
-+	{12, "ENOMEM", "cannot allocate memory"},
-+	{13, "EACCES", "permission denied"},
-+	{14, "EFAULT", "bad address"},
-+	{15, "ENOTBLK", "block device required"},
-+	{16, "EBUSY", "device or resource busy"},
-+	{17, "EEXIST", "file exists"},
-+	{18, "EXDEV", "invalid cross-device link"},
-+	{19, "ENODEV", "no such device"},
-+	{20, "ENOTDIR", "not a directory"},
-+	{21, "EISDIR", "is a directory"},
-+	{22, "EINVAL", "invalid argument"},
-+	{23, "ENFILE", "too many open files in system"},
-+	{24, "EMFILE", "too many open files"},
-+	{25, "ENOTTY", "inappropriate ioctl for device"},
-+	{26, "ETXTBSY", "text file busy"},
-+	{27, "EFBIG", "file too large"},
-+	{28, "ENOSPC", "no space left on device"},
-+	{29, "ESPIPE", "illegal seek"},
-+	{30, "EROFS", "read-only file system"},
-+	{31, "EMLINK", "too many links"},
-+	{32, "EPIPE", "broken pipe"},
-+	{33, "EDOM", "numerical argument out of domain"},
-+	{34, "ERANGE", "numerical result out of range"},
-+	{35, "ENOMSG", "no message of desired type"},
-+	{36, "EIDRM", "identifier removed"},
-+	{37, "ECHRNG", "channel number out of range"},
-+	{38, "EL2NSYNC", "level 2 not synchronized"},
-+	{39, "EL3HLT", "level 3 halted"},
-+	{40, "EL3RST", "level 3 reset"},
-+	{41, "ELNRNG", "link number out of range"},
-+	{42, "EUNATCH", "protocol driver not attached"},
-+	{43, "ENOCSI", "no CSI structure available"},
-+	{44, "EL2HLT", "level 2 halted"},
-+	{45, "EDEADLK", "resource deadlock avoided"},
-+	{46, "ENOLCK", "no locks available"},
-+	{50, "EBADE", "invalid exchange"},
-+	{51, "EBADR", "invalid request descriptor"},
-+	{52, "EXFULL", "exchange full"},
-+	{53, "ENOANO", "no anode"},
-+	{54, "EBADRQC", "invalid request code"},
-+	{55, "EBADSLT", "invalid slot"},
-+	{56, "EDEADLOCK", "file locking deadlock error"},
-+	{59, "EBFONT", "bad font file format"},
-+	{60, "ENOSTR", "device not a stream"},
-+	{61, "ENODATA", "no data available"},
-+	{62, "ETIME", "timer expired"},
-+	{63, "ENOSR", "out of streams resources"},
-+	{64, "ENONET", "machine is not on the network"},
-+	{65, "ENOPKG", "package not installed"},
-+	{66, "EREMOTE", "object is remote"},
-+	{67, "ENOLINK", "link has been severed"},
-+	{68, "EADV", "advertise error"},
-+	{69, "ESRMNT", "srmount error"},
-+	{70, "ECOMM", "communication error on send"},
-+	{71, "EPROTO", "protocol error"},
-+	{73, "EDOTDOT", "RFS specific error"},
-+	{74, "EMULTIHOP", "multihop attempted"},
-+	{77, "EBADMSG", "bad message"},
-+	{78, "ENAMETOOLONG", "file name too long"},
-+	{79, "EOVERFLOW", "value too large for defined data type"},
-+	{80, "ENOTUNIQ", "name not unique on network"},
-+	{81, "EBADFD", "file descriptor in bad state"},
-+	{82, "EREMCHG", "remote address changed"},
-+	{83, "ELIBACC", "can not access a needed shared library"},
-+	{84, "ELIBBAD", "accessing a corrupted shared library"},
-+	{85, "ELIBSCN", ".lib section in a.out corrupted"},
-+	{86, "ELIBMAX", "attempting to link in too many shared libraries"},
-+	{87, "ELIBEXEC", "cannot exec a shared library directly"},
-+	{88, "EILSEQ", "invalid or incomplete multibyte or wide character"},
-+	{89, "ENOSYS", "function not implemented"},
-+	{90, "ELOOP", "too many levels of symbolic links"},
-+	{91, "ERESTART", "interrupted system call should be restarted"},
-+	{92, "ESTRPIPE", "streams pipe error"},
-+	{93, "ENOTEMPTY", "directory not empty"},
-+	{94, "EUSERS", "too many users"},
-+	{95, "ENOTSOCK", "socket operation on non-socket"},
-+	{96, "EDESTADDRREQ", "destination address required"},
-+	{97, "EMSGSIZE", "message too long"},
-+	{98, "EPROTOTYPE", "protocol wrong type for socket"},
-+	{99, "ENOPROTOOPT", "protocol not available"},
-+	{120, "EPROTONOSUPPORT", "protocol not supported"},
-+	{121, "ESOCKTNOSUPPORT", "socket type not supported"},
-+	{122, "ENOTSUP", "operation not supported"},
-+	{123, "EPFNOSUPPORT", "protocol family not supported"},
-+	{124, "EAFNOSUPPORT", "address family not supported by protocol"},
-+	{125, "EADDRINUSE", "address already in use"},
-+	{126, "EADDRNOTAVAIL", "cannot assign requested address"},
-+	{127, "ENETDOWN", "network is down"},
-+	{128, "ENETUNREACH", "network is unreachable"},
-+	{129, "ENETRESET", "network dropped connection on reset"},
-+	{130, "ECONNABORTED", "software caused connection abort"},
-+	{131, "ECONNRESET", "connection reset by peer"},
-+	{132, "ENOBUFS", "no buffer space available"},
-+	{133, "EISCONN", "transport endpoint is already connected"},
-+	{134, "ENOTCONN", "transport endpoint is not connected"},
-+	{135, "EUCLEAN", "structure needs cleaning"},
-+	{137, "ENOTNAM", "not a XENIX named type file"},
-+	{138, "ENAVAIL", "no XENIX semaphores available"},
-+	{139, "EISNAM", "is a named type file"},
-+	{140, "EREMOTEIO", "remote I/O error"},
-+	{141, "EINIT", "unknown error 141"},
-+	{142, "EREMDEV", "unknown error 142"},
-+	{143, "ESHUTDOWN", "cannot send after transport endpoint shutdown"},
-+	{144, "ETOOMANYREFS", "too many references: cannot splice"},
-+	{145, "ETIMEDOUT", "connection timed out"},
-+	{146, "ECONNREFUSED", "connection refused"},
-+	{147, "EHOSTDOWN", "host is down"},
-+	{148, "EHOSTUNREACH", "no route to host"},
-+	{149, "EALREADY", "operation already in progress"},
-+	{150, "EINPROGRESS", "operation now in progress"},
-+	{151, "ESTALE", "stale file handle"},
-+	{158, "ECANCELED", "operation canceled"},
-+	{159, "ENOMEDIUM", "no medium found"},
-+	{160, "EMEDIUMTYPE", "wrong medium type"},
-+	{161, "ENOKEY", "required key not available"},
-+	{162, "EKEYEXPIRED", "key has expired"},
-+	{163, "EKEYREVOKED", "key has been revoked"},
-+	{164, "EKEYREJECTED", "key was rejected by service"},
-+	{165, "EOWNERDEAD", "owner died"},
-+	{166, "ENOTRECOVERABLE", "state not recoverable"},
-+	{167, "ERFKILL", "operation not possible due to RF-kill"},
-+	{168, "EHWPOISON", "memory page has hardware error"},
-+	{1133, "EDQUOT", "disk quota exceeded"},
- }
- 
- // Signal table
--var signals = [...]string{
--	1:  "hangup",
--	2:  "interrupt",
--	3:  "quit",
--	4:  "illegal instruction",
--	5:  "trace/breakpoint trap",
--	6:  "aborted",
--	7:  "EMT trap",
--	8:  "floating point exception",
--	9:  "killed",
--	10: "bus error",
--	11: "segmentation fault",
--	12: "bad system call",
--	13: "broken pipe",
--	14: "alarm clock",
--	15: "terminated",
--	16: "user defined signal 1",
--	17: "user defined signal 2",
--	18: "child exited",
--	19: "power failure",
--	20: "window changed",
--	21: "urgent I/O condition",
--	22: "I/O possible",
--	23: "stopped (signal)",
--	24: "stopped",
--	25: "continued",
--	26: "stopped (tty input)",
--	27: "stopped (tty output)",
--	28: "virtual timer expired",
--	29: "profiling timer expired",
--	30: "CPU time limit exceeded",
--	31: "file size limit exceeded",
-+var signalList = [...]struct {
-+	num  syscall.Signal
-+	name string
-+	desc string
-+}{
-+	{1, "SIGHUP", "hangup"},
-+	{2, "SIGINT", "interrupt"},
-+	{3, "SIGQUIT", "quit"},
-+	{4, "SIGILL", "illegal instruction"},
-+	{5, "SIGTRAP", "trace/breakpoint trap"},
-+	{6, "SIGABRT", "aborted"},
-+	{7, "SIGEMT", "EMT trap"},
-+	{8, "SIGFPE", "floating point exception"},
-+	{9, "SIGKILL", "killed"},
-+	{10, "SIGBUS", "bus error"},
-+	{11, "SIGSEGV", "segmentation fault"},
-+	{12, "SIGSYS", "bad system call"},
-+	{13, "SIGPIPE", "broken pipe"},
-+	{14, "SIGALRM", "alarm clock"},
-+	{15, "SIGTERM", "terminated"},
-+	{16, "SIGUSR1", "user defined signal 1"},
-+	{17, "SIGUSR2", "user defined signal 2"},
-+	{18, "SIGCHLD", "child exited"},
-+	{19, "SIGPWR", "power failure"},
-+	{20, "SIGWINCH", "window changed"},
-+	{21, "SIGURG", "urgent I/O condition"},
-+	{22, "SIGIO", "I/O possible"},
-+	{23, "SIGSTOP", "stopped (signal)"},
-+	{24, "SIGTSTP", "stopped"},
-+	{25, "SIGCONT", "continued"},
-+	{26, "SIGTTIN", "stopped (tty input)"},
-+	{27, "SIGTTOU", "stopped (tty output)"},
-+	{28, "SIGVTALRM", "virtual timer expired"},
-+	{29, "SIGPROF", "profiling timer expired"},
-+	{30, "SIGXCPU", "CPU time limit exceeded"},
-+	{31, "SIGXFSZ", "file size limit exceeded"},
- }
-diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go
-index 6772a59b..51858667 100644
---- a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go
-+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go
-@@ -3,7 +3,7 @@
- 
- // +build ppc64,linux
- 
--// Created by cgo -godefs - DO NOT EDIT
-+// Code generated by cmd/cgo -godefs; DO NOT EDIT.
- // cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go
- 
- package unix
-@@ -11,1930 +11,549 @@ package unix
- import "syscall"
- 
- const (
--	AF_ALG                               = 0x26
--	AF_APPLETALK                         = 0x5
--	AF_ASH                               = 0x12
--	AF_ATMPVC                            = 0x8
--	AF_ATMSVC                            = 0x14
--	AF_AX25                              = 0x3
--	AF_BLUETOOTH                         = 0x1f
--	AF_BRIDGE                            = 0x7
--	AF_CAIF                              = 0x25
--	AF_CAN                               = 0x1d
--	AF_DECnet                            = 0xc
--	AF_ECONET                            = 0x13
--	AF_FILE                              = 0x1
--	AF_IB                                = 0x1b
--	AF_IEEE802154                        = 0x24
--	AF_INET                              = 0x2
--	AF_INET6                             = 0xa
--	AF_IPX                               = 0x4
--	AF_IRDA                              = 0x17
--	AF_ISDN                              = 0x22
--	AF_IUCV                              = 0x20
--	AF_KCM                               = 0x29
--	AF_KEY                               = 0xf
--	AF_LLC                               = 0x1a
--	AF_LOCAL                             = 0x1
--	AF_MAX                               = 0x2b
--	AF_MPLS                              = 0x1c
--	AF_NETBEUI                           = 0xd
--	AF_NETLINK                           = 0x10
--	AF_NETROM                            = 0x6
--	AF_NFC                               = 0x27
--	AF_PACKET                            = 0x11
--	AF_PHONET                            = 0x23
--	AF_PPPOX                             = 0x18
--	AF_QIPCRTR                           = 0x2a
--	AF_RDS                               = 0x15
--	AF_ROSE                              = 0xb
--	AF_ROUTE                             = 0x10
--	AF_RXRPC                             = 0x21
--	AF_SECURITY                          = 0xe
--	AF_SNA                               = 0x16
--	AF_TIPC                              = 0x1e
--	AF_UNIX                              = 0x1
--	AF_UNSPEC                            = 0x0
--	AF_VSOCK                             = 0x28
--	AF_WANPIPE                           = 0x19
--	AF_X25                               = 0x9
--	ALG_OP_DECRYPT                       = 0x0
--	ALG_OP_ENCRYPT                       = 0x1
--	ALG_SET_AEAD_ASSOCLEN                = 0x4
--	ALG_SET_AEAD_AUTHSIZE                = 0x5
--	ALG_SET_IV                           = 0x2
--	ALG_SET_KEY                          = 0x1
--	ALG_SET_OP                           = 0x3
--	ARPHRD_6LOWPAN                       = 0x339
--	ARPHRD_ADAPT                         = 0x108
--	ARPHRD_APPLETLK                      = 0x8
--	ARPHRD_ARCNET                        = 0x7
--	ARPHRD_ASH                           = 0x30d
--	ARPHRD_ATM                           = 0x13
--	ARPHRD_AX25                          = 0x3
--	ARPHRD_BIF                           = 0x307
--	ARPHRD_CAIF                          = 0x336
--	ARPHRD_CAN                           = 0x118
--	ARPHRD_CHAOS                         = 0x5
--	ARPHRD_CISCO                         = 0x201
--	ARPHRD_CSLIP                         = 0x101
--	ARPHRD_CSLIP6                        = 0x103
--	ARPHRD_DDCMP                         = 0x205
--	ARPHRD_DLCI                          = 0xf
--	ARPHRD_ECONET                        = 0x30e
--	ARPHRD_EETHER                        = 0x2
--	ARPHRD_ETHER                         = 0x1
--	ARPHRD_EUI64                         = 0x1b
--	ARPHRD_FCAL                          = 0x311
--	ARPHRD_FCFABRIC                      = 0x313
--	ARPHRD_FCPL                          = 0x312
--	ARPHRD_FCPP                          = 0x310
--	ARPHRD_FDDI                          = 0x306
--	ARPHRD_FRAD                          = 0x302
--	ARPHRD_HDLC                          = 0x201
--	ARPHRD_HIPPI                         = 0x30c
--	ARPHRD_HWX25                         = 0x110
--	ARPHRD_IEEE1394                      = 0x18
--	ARPHRD_IEEE802                       = 0x6
--	ARPHRD_IEEE80211                     = 0x321
--	ARPHRD_IEEE80211_PRISM               = 0x322
--	ARPHRD_IEEE80211_RADIOTAP            = 0x323
--	ARPHRD_IEEE802154                    = 0x324
--	ARPHRD_IEEE802154_MONITOR            = 0x325
--	ARPHRD_IEEE802_TR                    = 0x320
--	ARPHRD_INFINIBAND                    = 0x20
--	ARPHRD_IP6GRE                        = 0x337
--	ARPHRD_IPDDP                         = 0x309
--	ARPHRD_IPGRE                         = 0x30a
--	ARPHRD_IRDA                          = 0x30f
--	ARPHRD_LAPB                          = 0x204
--	ARPHRD_LOCALTLK                      = 0x305
--	ARPHRD_LOOPBACK                      = 0x304
--	ARPHRD_METRICOM                      = 0x17
--	ARPHRD_NETLINK                       = 0x338
--	ARPHRD_NETROM                        = 0x0
--	ARPHRD_NONE                          = 0xfffe
--	ARPHRD_PHONET                        = 0x334
--	ARPHRD_PHONET_PIPE                   = 0x335
--	ARPHRD_PIMREG                        = 0x30b
--	ARPHRD_PPP                           = 0x200
--	ARPHRD_PRONET                        = 0x4
--	ARPHRD_RAWHDLC                       = 0x206
--	ARPHRD_ROSE                          = 0x10e
--	ARPHRD_RSRVD                         = 0x104
--	ARPHRD_SIT                           = 0x308
--	ARPHRD_SKIP                          = 0x303
--	ARPHRD_SLIP                          = 0x100
--	ARPHRD_SLIP6                         = 0x102
--	ARPHRD_TUNNEL                        = 0x300
--	ARPHRD_TUNNEL6                       = 0x301
--	ARPHRD_VOID                          = 0xffff
--	ARPHRD_X25                           = 0x10f
--	B0                                   = 0x0
--	B1000000                             = 0x17
--	B110                                 = 0x3
--	B115200                              = 0x11
--	B1152000                             = 0x18
--	B1200                                = 0x9
--	B134                                 = 0x4
--	B150                                 = 0x5
--	B1500000                             = 0x19
--	B1800                                = 0xa
--	B19200                               = 0xe
--	B200                                 = 0x6
--	B2000000                             = 0x1a
--	B230400                              = 0x12
--	B2400                                = 0xb
--	B2500000                             = 0x1b
--	B300                                 = 0x7
--	B3000000                             = 0x1c
--	B3500000                             = 0x1d
--	B38400                               = 0xf
--	B4000000                             = 0x1e
--	B460800                              = 0x13
--	B4800                                = 0xc
--	B50                                  = 0x1
--	B500000                              = 0x14
--	B57600                               = 0x10
--	B576000                              = 0x15
--	B600                                 = 0x8
--	B75                                  = 0x2
--	B921600                              = 0x16
--	B9600                                = 0xd
--	BLKBSZGET                            = 0x40081270
--	BLKBSZSET                            = 0x80081271
--	BLKFLSBUF                            = 0x20001261
--	BLKFRAGET                            = 0x20001265
--	BLKFRASET                            = 0x20001264
--	BLKGETSIZE                           = 0x20001260
--	BLKGETSIZE64                         = 0x40081272
--	BLKPBSZGET                           = 0x2000127b
--	BLKRAGET                             = 0x20001263
--	BLKRASET                             = 0x20001262
--	BLKROGET                             = 0x2000125e
--	BLKROSET                             = 0x2000125d
--	BLKRRPART                            = 0x2000125f
--	BLKSECTGET                           = 0x20001267
--	BLKSECTSET                           = 0x20001266
--	BLKSSZGET                            = 0x20001268
--	BOTHER                               = 0x1f
--	BPF_A                                = 0x10
--	BPF_ABS                              = 0x20
--	BPF_ADD                              = 0x0
--	BPF_ALU                              = 0x4
--	BPF_AND                              = 0x50
--	BPF_B                                = 0x10
--	BPF_DIV                              = 0x30
--	BPF_H                                = 0x8
--	BPF_IMM                              = 0x0
--	BPF_IND                              = 0x40
--	BPF_JA                               = 0x0
--	BPF_JEQ                              = 0x10
--	BPF_JGE                              = 0x30
--	BPF_JGT                              = 0x20
--	BPF_JMP                              = 0x5
--	BPF_JSET                             = 0x40
--	BPF_K                                = 0x0
--	BPF_LD                               = 0x0
--	BPF_LDX                              = 0x1
--	BPF_LEN                              = 0x80
--	BPF_LL_OFF                           = -0x200000
--	BPF_LSH                              = 0x60
--	BPF_MAJOR_VERSION                    = 0x1
--	BPF_MAXINSNS                         = 0x1000
--	BPF_MEM                              = 0x60
--	BPF_MEMWORDS                         = 0x10
--	BPF_MINOR_VERSION                    = 0x1
--	BPF_MISC                             = 0x7
--	BPF_MOD                              = 0x90
--	BPF_MSH                              = 0xa0
--	BPF_MUL                              = 0x20
--	BPF_NEG                              = 0x80
--	BPF_NET_OFF                          = -0x100000
--	BPF_OR                               = 0x40
--	BPF_RET                              = 0x6
--	BPF_RSH                              = 0x70
--	BPF_ST                               = 0x2
--	BPF_STX                              = 0x3
--	BPF_SUB                              = 0x10
--	BPF_TAX                              = 0x0
--	BPF_TXA                              = 0x80
--	BPF_W                                = 0x0
--	BPF_X                                = 0x8
--	BPF_XOR                              = 0xa0
--	BRKINT                               = 0x2
--	BS0                                  = 0x0
--	BS1                                  = 0x8000
--	BSDLY                                = 0x8000
--	CAN_BCM                              = 0x2
--	CAN_EFF_FLAG                         = 0x80000000
--	CAN_EFF_ID_BITS                      = 0x1d
--	CAN_EFF_MASK                         = 0x1fffffff
--	CAN_ERR_FLAG                         = 0x20000000
--	CAN_ERR_MASK                         = 0x1fffffff
--	CAN_INV_FILTER                       = 0x20000000
--	CAN_ISOTP                            = 0x6
--	CAN_MAX_DLC                          = 0x8
--	CAN_MAX_DLEN                         = 0x8
--	CAN_MCNET                            = 0x5
--	CAN_MTU                              = 0x10
--	CAN_NPROTO                           = 0x7
--	CAN_RAW                              = 0x1
--	CAN_RAW_FILTER_MAX                   = 0x200
--	CAN_RTR_FLAG                         = 0x40000000
--	CAN_SFF_ID_BITS                      = 0xb
--	CAN_SFF_MASK                         = 0x7ff
--	CAN_TP16                             = 0x3
--	CAN_TP20                             = 0x4
--	CBAUD                                = 0xff
--	CBAUDEX                              = 0x0
--	CFLUSH                               = 0xf
--	CIBAUD                               = 0xff0000
--	CLOCAL                               = 0x8000
--	CLOCK_BOOTTIME                       = 0x7
--	CLOCK_BOOTTIME_ALARM                 = 0x9
--	CLOCK_DEFAULT                        = 0x0
--	CLOCK_EXT                            = 0x1
--	CLOCK_INT                            = 0x2
--	CLOCK_MONOTONIC                      = 0x1
--	CLOCK_MONOTONIC_COARSE               = 0x6
--	CLOCK_MONOTONIC_RAW                  = 0x4
--	CLOCK_PROCESS_CPUTIME_ID             = 0x2
--	CLOCK_REALTIME                       = 0x0
--	CLOCK_REALTIME_ALARM                 = 0x8
--	CLOCK_REALTIME_COARSE                = 0x5
--	CLOCK_TAI                            = 0xb
--	CLOCK_THREAD_CPUTIME_ID              = 0x3
--	CLOCK_TXFROMRX                       = 0x4
--	CLOCK_TXINT                          = 0x3
--	CLONE_CHILD_CLEARTID                 = 0x200000
--	CLONE_CHILD_SETTID                   = 0x1000000
--	CLONE_DETACHED                       = 0x400000
--	CLONE_FILES                          = 0x400
--	CLONE_FS                             = 0x200
--	CLONE_IO                             = 0x80000000
--	CLONE_NEWCGROUP                      = 0x2000000
--	CLONE_NEWIPC                         = 0x8000000
--	CLONE_NEWNET                         = 0x40000000
--	CLONE_NEWNS                          = 0x20000
--	CLONE_NEWPID                         = 0x20000000
--	CLONE_NEWUSER                        = 0x10000000
--	CLONE_NEWUTS                         = 0x4000000
--	CLONE_PARENT                         = 0x8000
--	CLONE_PARENT_SETTID                  = 0x100000
--	CLONE_PTRACE                         = 0x2000
--	CLONE_SETTLS                         = 0x80000
--	CLONE_SIGHAND                        = 0x800
--	CLONE_SYSVSEM                        = 0x40000
--	CLONE_THREAD                         = 0x10000
--	CLONE_UNTRACED                       = 0x800000
--	CLONE_VFORK                          = 0x4000
--	CLONE_VM                             = 0x100
--	CMSPAR                               = 0x40000000
--	CR0                                  = 0x0
--	CR1                                  = 0x1000
--	CR2                                  = 0x2000
--	CR3                                  = 0x3000
--	CRDLY                                = 0x3000
--	CREAD                                = 0x800
--	CRTSCTS                              = 0x80000000
--	CS5                                  = 0x0
--	CS6                                  = 0x100
--	CS7                                  = 0x200
--	CS8                                  = 0x300
--	CSIGNAL                              = 0xff
--	CSIZE                                = 0x300
--	CSTART                               = 0x11
--	CSTATUS                              = 0x0
--	CSTOP                                = 0x13
--	CSTOPB                               = 0x400
--	CSUSP                                = 0x1a
--	DT_BLK                               = 0x6
--	DT_CHR                               = 0x2
--	DT_DIR                               = 0x4
--	DT_FIFO                              = 0x1
--	DT_LNK                               = 0xa
--	DT_REG                               = 0x8
--	DT_SOCK                              = 0xc
--	DT_UNKNOWN                           = 0x0
--	DT_WHT                               = 0xe
--	ECHO                                 = 0x8
--	ECHOCTL                              = 0x40
--	ECHOE                                = 0x2
--	ECHOK                                = 0x4
--	ECHOKE                               = 0x1
--	ECHONL                               = 0x10
--	ECHOPRT                              = 0x20
--	EFD_CLOEXEC                          = 0x80000
--	EFD_NONBLOCK                         = 0x800
--	EFD_SEMAPHORE                        = 0x1
--	ENCODING_DEFAULT                     = 0x0
--	ENCODING_FM_MARK                     = 0x3
--	ENCODING_FM_SPACE                    = 0x4
--	ENCODING_MANCHESTER                  = 0x5
--	ENCODING_NRZ                         = 0x1
--	ENCODING_NRZI                        = 0x2
--	EPOLLERR                             = 0x8
--	EPOLLET                              = 0x80000000
--	EPOLLEXCLUSIVE                       = 0x10000000
--	EPOLLHUP                             = 0x10
--	EPOLLIN                              = 0x1
--	EPOLLMSG                             = 0x400
--	EPOLLONESHOT                         = 0x40000000
--	EPOLLOUT                             = 0x4
--	EPOLLPRI                             = 0x2
--	EPOLLRDBAND                          = 0x80
--	EPOLLRDHUP                           = 0x2000
--	EPOLLRDNORM                          = 0x40
--	EPOLLWAKEUP                          = 0x20000000
--	EPOLLWRBAND                          = 0x200
--	EPOLLWRNORM                          = 0x100
--	EPOLL_CLOEXEC                        = 0x80000
--	EPOLL_CTL_ADD                        = 0x1
--	EPOLL_CTL_DEL                        = 0x2
--	EPOLL_CTL_MOD                        = 0x3
--	ETH_P_1588                           = 0x88f7
--	ETH_P_8021AD                         = 0x88a8
--	ETH_P_8021AH                         = 0x88e7
--	ETH_P_8021Q                          = 0x8100
--	ETH_P_80221                          = 0x8917
--	ETH_P_802_2                          = 0x4
--	ETH_P_802_3                          = 0x1
--	ETH_P_802_3_MIN                      = 0x600
--	ETH_P_802_EX1                        = 0x88b5
--	ETH_P_AARP                           = 0x80f3
--	ETH_P_AF_IUCV                        = 0xfbfb
--	ETH_P_ALL                            = 0x3
--	ETH_P_AOE                            = 0x88a2
--	ETH_P_ARCNET                         = 0x1a
--	ETH_P_ARP                            = 0x806
--	ETH_P_ATALK                          = 0x809b
--	ETH_P_ATMFATE                        = 0x8884
--	ETH_P_ATMMPOA                        = 0x884c
--	ETH_P_AX25                           = 0x2
--	ETH_P_BATMAN                         = 0x4305
--	ETH_P_BPQ                            = 0x8ff
--	ETH_P_CAIF                           = 0xf7
--	ETH_P_CAN                            = 0xc
--	ETH_P_CANFD                          = 0xd
--	ETH_P_CONTROL                        = 0x16
--	ETH_P_CUST                           = 0x6006
--	ETH_P_DDCMP                          = 0x6
--	ETH_P_DEC                            = 0x6000
--	ETH_P_DIAG                           = 0x6005
--	ETH_P_DNA_DL                         = 0x6001
--	ETH_P_DNA_RC                         = 0x6002
--	ETH_P_DNA_RT                         = 0x6003
--	ETH_P_DSA                            = 0x1b
--	ETH_P_ECONET                         = 0x18
--	ETH_P_EDSA                           = 0xdada
--	ETH_P_FCOE                           = 0x8906
--	ETH_P_FIP                            = 0x8914
--	ETH_P_HDLC                           = 0x19
--	ETH_P_HSR                            = 0x892f
--	ETH_P_IEEE802154                     = 0xf6
--	ETH_P_IEEEPUP                        = 0xa00
--	ETH_P_IEEEPUPAT                      = 0xa01
--	ETH_P_IP                             = 0x800
--	ETH_P_IPV6                           = 0x86dd
--	ETH_P_IPX                            = 0x8137
--	ETH_P_IRDA                           = 0x17
--	ETH_P_LAT                            = 0x6004
--	ETH_P_LINK_CTL                       = 0x886c
--	ETH_P_LOCALTALK                      = 0x9
--	ETH_P_LOOP                           = 0x60
--	ETH_P_LOOPBACK                       = 0x9000
--	ETH_P_MACSEC                         = 0x88e5
--	ETH_P_MOBITEX                        = 0x15
--	ETH_P_MPLS_MC                        = 0x8848
--	ETH_P_MPLS_UC                        = 0x8847
--	ETH_P_MVRP                           = 0x88f5
--	ETH_P_NCSI                           = 0x88f8
--	ETH_P_PAE                            = 0x888e
--	ETH_P_PAUSE                          = 0x8808
--	ETH_P_PHONET                         = 0xf5
--	ETH_P_PPPTALK                        = 0x10
--	ETH_P_PPP_DISC                       = 0x8863
--	ETH_P_PPP_MP                         = 0x8
--	ETH_P_PPP_SES                        = 0x8864
--	ETH_P_PRP                            = 0x88fb
--	ETH_P_PUP                            = 0x200
--	ETH_P_PUPAT                          = 0x201
--	ETH_P_QINQ1                          = 0x9100
--	ETH_P_QINQ2                          = 0x9200
--	ETH_P_QINQ3                          = 0x9300
--	ETH_P_RARP                           = 0x8035
--	ETH_P_SCA                            = 0x6007
--	ETH_P_SLOW                           = 0x8809
--	ETH_P_SNAP                           = 0x5
--	ETH_P_TDLS                           = 0x890d
--	ETH_P_TEB                            = 0x6558
--	ETH_P_TIPC                           = 0x88ca
--	ETH_P_TRAILER                        = 0x1c
--	ETH_P_TR_802_2                       = 0x11
--	ETH_P_TSN                            = 0x22f0
--	ETH_P_WAN_PPP                        = 0x7
--	ETH_P_WCCP                           = 0x883e
--	ETH_P_X25                            = 0x805
--	ETH_P_XDSA                           = 0xf8
--	EXTA                                 = 0xe
--	EXTB                                 = 0xf
--	EXTPROC                              = 0x10000000
--	FALLOC_FL_COLLAPSE_RANGE             = 0x8
--	FALLOC_FL_INSERT_RANGE               = 0x20
--	FALLOC_FL_KEEP_SIZE                  = 0x1
--	FALLOC_FL_NO_HIDE_STALE              = 0x4
--	FALLOC_FL_PUNCH_HOLE                 = 0x2
--	FALLOC_FL_UNSHARE_RANGE              = 0x40
--	FALLOC_FL_ZERO_RANGE                 = 0x10
--	FD_CLOEXEC                           = 0x1
--	FD_SETSIZE                           = 0x400
--	FF0                                  = 0x0
--	FF1                                  = 0x4000
--	FFDLY                                = 0x4000
--	FLUSHO                               = 0x800000
--	FS_ENCRYPTION_MODE_AES_256_CBC       = 0x3
--	FS_ENCRYPTION_MODE_AES_256_CTS       = 0x4
--	FS_ENCRYPTION_MODE_AES_256_GCM       = 0x2
--	FS_ENCRYPTION_MODE_AES_256_XTS       = 0x1
--	FS_ENCRYPTION_MODE_INVALID           = 0x0
--	FS_IOC_GET_ENCRYPTION_POLICY         = 0x800c6615
--	FS_IOC_GET_ENCRYPTION_PWSALT         = 0x80106614
--	FS_IOC_SET_ENCRYPTION_POLICY         = 0x400c6613
--	FS_KEY_DESCRIPTOR_SIZE               = 0x8
--	FS_KEY_DESC_PREFIX                   = "fscrypt:"
--	FS_KEY_DESC_PREFIX_SIZE              = 0x8
--	FS_MAX_KEY_SIZE                      = 0x40
--	FS_POLICY_FLAGS_PAD_16               = 0x2
--	FS_POLICY_FLAGS_PAD_32               = 0x3
--	FS_POLICY_FLAGS_PAD_4                = 0x0
--	FS_POLICY_FLAGS_PAD_8                = 0x1
--	FS_POLICY_FLAGS_PAD_MASK             = 0x3
--	FS_POLICY_FLAGS_VALID                = 0x3
--	F_DUPFD                              = 0x0
--	F_DUPFD_CLOEXEC                      = 0x406
--	F_EXLCK                              = 0x4
--	F_GETFD                              = 0x1
--	F_GETFL                              = 0x3
--	F_GETLEASE                           = 0x401
--	F_GETLK                              = 0x5
--	F_GETLK64                            = 0xc
--	F_GETOWN                             = 0x9
--	F_GETOWN_EX                          = 0x10
--	F_GETPIPE_SZ                         = 0x408
--	F_GETSIG                             = 0xb
--	F_LOCK                               = 0x1
--	F_NOTIFY                             = 0x402
--	F_OFD_GETLK                          = 0x24
--	F_OFD_SETLK                          = 0x25
--	F_OFD_SETLKW                         = 0x26
--	F_OK                                 = 0x0
--	F_RDLCK                              = 0x0
--	F_SETFD                              = 0x2
--	F_SETFL                              = 0x4
--	F_SETLEASE                           = 0x400
--	F_SETLK                              = 0x6
--	F_SETLK64                            = 0xd
--	F_SETLKW                             = 0x7
--	F_SETLKW64                           = 0xe
--	F_SETOWN                             = 0x8
--	F_SETOWN_EX                          = 0xf
--	F_SETPIPE_SZ                         = 0x407
--	F_SETSIG                             = 0xa
--	F_SHLCK                              = 0x8
--	F_TEST                               = 0x3
--	F_TLOCK                              = 0x2
--	F_ULOCK                              = 0x0
--	F_UNLCK                              = 0x2
--	F_WRLCK                              = 0x1
--	GENL_ADMIN_PERM                      = 0x1
--	GENL_CMD_CAP_DO                      = 0x2
--	GENL_CMD_CAP_DUMP                    = 0x4
--	GENL_CMD_CAP_HASPOL                  = 0x8
--	GENL_HDRLEN                          = 0x4
--	GENL_ID_CTRL                         = 0x10
--	GENL_ID_PMCRAID                      = 0x12
--	GENL_ID_VFS_DQUOT                    = 0x11
--	GENL_MAX_ID                          = 0x3ff
--	GENL_MIN_ID                          = 0x10
--	GENL_NAMSIZ                          = 0x10
--	GENL_START_ALLOC                     = 0x13
--	GENL_UNS_ADMIN_PERM                  = 0x10
--	GRND_NONBLOCK                        = 0x1
--	GRND_RANDOM                          = 0x2
--	HUPCL                                = 0x4000
--	IBSHIFT                              = 0x10
--	ICANON                               = 0x100
--	ICMPV6_FILTER                        = 0x1
--	ICRNL                                = 0x100
--	IEXTEN                               = 0x400
--	IFA_F_DADFAILED                      = 0x8
--	IFA_F_DEPRECATED                     = 0x20
--	IFA_F_HOMEADDRESS                    = 0x10
--	IFA_F_MANAGETEMPADDR                 = 0x100
--	IFA_F_MCAUTOJOIN                     = 0x400
--	IFA_F_NODAD                          = 0x2
--	IFA_F_NOPREFIXROUTE                  = 0x200
--	IFA_F_OPTIMISTIC                     = 0x4
--	IFA_F_PERMANENT                      = 0x80
--	IFA_F_SECONDARY                      = 0x1
--	IFA_F_STABLE_PRIVACY                 = 0x800
--	IFA_F_TEMPORARY                      = 0x1
--	IFA_F_TENTATIVE                      = 0x40
--	IFA_MAX                              = 0x8
--	IFF_ALLMULTI                         = 0x200
--	IFF_ATTACH_QUEUE                     = 0x200
--	IFF_AUTOMEDIA                        = 0x4000
--	IFF_BROADCAST                        = 0x2
--	IFF_DEBUG                            = 0x4
--	IFF_DETACH_QUEUE                     = 0x400
--	IFF_DORMANT                          = 0x20000
--	IFF_DYNAMIC                          = 0x8000
--	IFF_ECHO                             = 0x40000
--	IFF_LOOPBACK                         = 0x8
--	IFF_LOWER_UP                         = 0x10000
--	IFF_MASTER                           = 0x400
--	IFF_MULTICAST                        = 0x1000
--	IFF_MULTI_QUEUE                      = 0x100
--	IFF_NOARP                            = 0x80
--	IFF_NOFILTER                         = 0x1000
--	IFF_NOTRAILERS                       = 0x20
--	IFF_NO_PI                            = 0x1000
--	IFF_ONE_QUEUE                        = 0x2000
--	IFF_PERSIST                          = 0x800
--	IFF_POINTOPOINT                      = 0x10
--	IFF_PORTSEL                          = 0x2000
--	IFF_PROMISC                          = 0x100
--	IFF_RUNNING                          = 0x40
--	IFF_SLAVE                            = 0x800
--	IFF_TAP                              = 0x2
--	IFF_TUN                              = 0x1
--	IFF_TUN_EXCL                         = 0x8000
--	IFF_UP                               = 0x1
--	IFF_VNET_HDR                         = 0x4000
--	IFF_VOLATILE                         = 0x70c5a
--	IFNAMSIZ                             = 0x10
--	IGNBRK                               = 0x1
--	IGNCR                                = 0x80
--	IGNPAR                               = 0x4
--	IMAXBEL                              = 0x2000
--	INLCR                                = 0x40
--	INPCK                                = 0x10
--	IN_ACCESS                            = 0x1
--	IN_ALL_EVENTS                        = 0xfff
--	IN_ATTRIB                            = 0x4
--	IN_CLASSA_HOST                       = 0xffffff
--	IN_CLASSA_MAX                        = 0x80
--	IN_CLASSA_NET                        = 0xff000000
--	IN_CLASSA_NSHIFT                     = 0x18
--	IN_CLASSB_HOST                       = 0xffff
--	IN_CLASSB_MAX                        = 0x10000
--	IN_CLASSB_NET                        = 0xffff0000
--	IN_CLASSB_NSHIFT                     = 0x10
--	IN_CLASSC_HOST                       = 0xff
--	IN_CLASSC_NET                        = 0xffffff00
--	IN_CLASSC_NSHIFT                     = 0x8
--	IN_CLOEXEC                           = 0x80000
--	IN_CLOSE                             = 0x18
--	IN_CLOSE_NOWRITE                     = 0x10
--	IN_CLOSE_WRITE                       = 0x8
--	IN_CREATE                            = 0x100
--	IN_DELETE                            = 0x200
--	IN_DELETE_SELF                       = 0x400
--	IN_DONT_FOLLOW                       = 0x2000000
--	IN_EXCL_UNLINK                       = 0x4000000
--	IN_IGNORED                           = 0x8000
--	IN_ISDIR                             = 0x40000000
--	IN_LOOPBACKNET                       = 0x7f
--	IN_MASK_ADD                          = 0x20000000
--	IN_MODIFY                            = 0x2
--	IN_MOVE                              = 0xc0
--	IN_MOVED_FROM                        = 0x40
--	IN_MOVED_TO                          = 0x80
--	IN_MOVE_SELF                         = 0x800
--	IN_NONBLOCK                          = 0x800
--	IN_ONESHOT                           = 0x80000000
--	IN_ONLYDIR                           = 0x1000000
--	IN_OPEN                              = 0x20
--	IN_Q_OVERFLOW                        = 0x4000
--	IN_UNMOUNT                           = 0x2000
--	IPPROTO_AH                           = 0x33
--	IPPROTO_BEETPH                       = 0x5e
--	IPPROTO_COMP                         = 0x6c
--	IPPROTO_DCCP                         = 0x21
--	IPPROTO_DSTOPTS                      = 0x3c
--	IPPROTO_EGP                          = 0x8
--	IPPROTO_ENCAP                        = 0x62
--	IPPROTO_ESP                          = 0x32
--	IPPROTO_FRAGMENT                     = 0x2c
--	IPPROTO_GRE                          = 0x2f
--	IPPROTO_HOPOPTS                      = 0x0
--	IPPROTO_ICMP                         = 0x1
--	IPPROTO_ICMPV6                       = 0x3a
--	IPPROTO_IDP                          = 0x16
--	IPPROTO_IGMP                         = 0x2
--	IPPROTO_IP                           = 0x0
--	IPPROTO_IPIP                         = 0x4
--	IPPROTO_IPV6                         = 0x29
--	IPPROTO_MH                           = 0x87
--	IPPROTO_MPLS                         = 0x89
--	IPPROTO_MTP                          = 0x5c
--	IPPROTO_NONE                         = 0x3b
--	IPPROTO_PIM                          = 0x67
--	IPPROTO_PUP                          = 0xc
--	IPPROTO_RAW                          = 0xff
--	IPPROTO_ROUTING                      = 0x2b
--	IPPROTO_RSVP                         = 0x2e
--	IPPROTO_SCTP                         = 0x84
--	IPPROTO_TCP                          = 0x6
--	IPPROTO_TP                           = 0x1d
--	IPPROTO_UDP                          = 0x11
--	IPPROTO_UDPLITE                      = 0x88
--	IPV6_2292DSTOPTS                     = 0x4
--	IPV6_2292HOPLIMIT                    = 0x8
--	IPV6_2292HOPOPTS                     = 0x3
--	IPV6_2292PKTINFO                     = 0x2
--	IPV6_2292PKTOPTIONS                  = 0x6
--	IPV6_2292RTHDR                       = 0x5
--	IPV6_ADDRFORM                        = 0x1
--	IPV6_ADD_MEMBERSHIP                  = 0x14
--	IPV6_AUTHHDR                         = 0xa
--	IPV6_CHECKSUM                        = 0x7
--	IPV6_DONTFRAG                        = 0x3e
--	IPV6_DROP_MEMBERSHIP                 = 0x15
--	IPV6_DSTOPTS                         = 0x3b
--	IPV6_HDRINCL                         = 0x24
--	IPV6_HOPLIMIT                        = 0x34
--	IPV6_HOPOPTS                         = 0x36
--	IPV6_IPSEC_POLICY                    = 0x22
--	IPV6_JOIN_ANYCAST                    = 0x1b
--	IPV6_JOIN_GROUP                      = 0x14
--	IPV6_LEAVE_ANYCAST                   = 0x1c
--	IPV6_LEAVE_GROUP                     = 0x15
--	IPV6_MTU                             = 0x18
--	IPV6_MTU_DISCOVER                    = 0x17
--	IPV6_MULTICAST_HOPS                  = 0x12
--	IPV6_MULTICAST_IF                    = 0x11
--	IPV6_MULTICAST_LOOP                  = 0x13
--	IPV6_NEXTHOP                         = 0x9
--	IPV6_PATHMTU                         = 0x3d
--	IPV6_PKTINFO                         = 0x32
--	IPV6_PMTUDISC_DO                     = 0x2
--	IPV6_PMTUDISC_DONT                   = 0x0
--	IPV6_PMTUDISC_INTERFACE              = 0x4
--	IPV6_PMTUDISC_OMIT                   = 0x5
--	IPV6_PMTUDISC_PROBE                  = 0x3
--	IPV6_PMTUDISC_WANT                   = 0x1
--	IPV6_RECVDSTOPTS                     = 0x3a
--	IPV6_RECVERR                         = 0x19
--	IPV6_RECVHOPLIMIT                    = 0x33
--	IPV6_RECVHOPOPTS                     = 0x35
--	IPV6_RECVPATHMTU                     = 0x3c
--	IPV6_RECVPKTINFO                     = 0x31
--	IPV6_RECVRTHDR                       = 0x38
--	IPV6_RECVTCLASS                      = 0x42
--	IPV6_ROUTER_ALERT                    = 0x16
--	IPV6_RTHDR                           = 0x39
--	IPV6_RTHDRDSTOPTS                    = 0x37
--	IPV6_RTHDR_LOOSE                     = 0x0
--	IPV6_RTHDR_STRICT                    = 0x1
--	IPV6_RTHDR_TYPE_0                    = 0x0
--	IPV6_RXDSTOPTS                       = 0x3b
--	IPV6_RXHOPOPTS                       = 0x36
--	IPV6_TCLASS                          = 0x43
--	IPV6_UNICAST_HOPS                    = 0x10
--	IPV6_V6ONLY                          = 0x1a
--	IPV6_XFRM_POLICY                     = 0x23
--	IP_ADD_MEMBERSHIP                    = 0x23
--	IP_ADD_SOURCE_MEMBERSHIP             = 0x27
--	IP_BIND_ADDRESS_NO_PORT              = 0x18
--	IP_BLOCK_SOURCE                      = 0x26
--	IP_CHECKSUM                          = 0x17
--	IP_DEFAULT_MULTICAST_LOOP            = 0x1
--	IP_DEFAULT_MULTICAST_TTL             = 0x1
--	IP_DF                                = 0x4000
--	IP_DROP_MEMBERSHIP                   = 0x24
--	IP_DROP_SOURCE_MEMBERSHIP            = 0x28
--	IP_FREEBIND                          = 0xf
--	IP_HDRINCL                           = 0x3
--	IP_IPSEC_POLICY                      = 0x10
--	IP_MAXPACKET                         = 0xffff
--	IP_MAX_MEMBERSHIPS                   = 0x14
--	IP_MF                                = 0x2000
--	IP_MINTTL                            = 0x15
--	IP_MSFILTER                          = 0x29
--	IP_MSS                               = 0x240
--	IP_MTU                               = 0xe
--	IP_MTU_DISCOVER                      = 0xa
--	IP_MULTICAST_ALL                     = 0x31
--	IP_MULTICAST_IF                      = 0x20
--	IP_MULTICAST_LOOP                    = 0x22
--	IP_MULTICAST_TTL                     = 0x21
--	IP_NODEFRAG                          = 0x16
--	IP_OFFMASK                           = 0x1fff
--	IP_OPTIONS                           = 0x4
--	IP_ORIGDSTADDR                       = 0x14
--	IP_PASSSEC                           = 0x12
--	IP_PKTINFO                           = 0x8
--	IP_PKTOPTIONS                        = 0x9
--	IP_PMTUDISC                          = 0xa
--	IP_PMTUDISC_DO                       = 0x2
--	IP_PMTUDISC_DONT                     = 0x0
--	IP_PMTUDISC_INTERFACE                = 0x4
--	IP_PMTUDISC_OMIT                     = 0x5
--	IP_PMTUDISC_PROBE                    = 0x3
--	IP_PMTUDISC_WANT                     = 0x1
--	IP_RECVERR                           = 0xb
--	IP_RECVOPTS                          = 0x6
--	IP_RECVORIGDSTADDR                   = 0x14
--	IP_RECVRETOPTS                       = 0x7
--	IP_RECVTOS                           = 0xd
--	IP_RECVTTL                           = 0xc
--	IP_RETOPTS                           = 0x7
--	IP_RF                                = 0x8000
--	IP_ROUTER_ALERT                      = 0x5
--	IP_TOS                               = 0x1
--	IP_TRANSPARENT                       = 0x13
--	IP_TTL                               = 0x2
--	IP_UNBLOCK_SOURCE                    = 0x25
--	IP_UNICAST_IF                        = 0x32
--	IP_XFRM_POLICY                       = 0x11
--	ISIG                                 = 0x80
--	ISTRIP                               = 0x20
--	IUCLC                                = 0x1000
--	IUTF8                                = 0x4000
--	IXANY                                = 0x800
--	IXOFF                                = 0x400
--	IXON                                 = 0x200
--	KEYCTL_ASSUME_AUTHORITY              = 0x10
--	KEYCTL_CHOWN                         = 0x4
--	KEYCTL_CLEAR                         = 0x7
--	KEYCTL_DESCRIBE                      = 0x6
--	KEYCTL_DH_COMPUTE                    = 0x17
--	KEYCTL_GET_KEYRING_ID                = 0x0
--	KEYCTL_GET_PERSISTENT                = 0x16
--	KEYCTL_GET_SECURITY                  = 0x11
--	KEYCTL_INSTANTIATE                   = 0xc
--	KEYCTL_INSTANTIATE_IOV               = 0x14
--	KEYCTL_INVALIDATE                    = 0x15
--	KEYCTL_JOIN_SESSION_KEYRING          = 0x1
--	KEYCTL_LINK                          = 0x8
--	KEYCTL_NEGATE                        = 0xd
--	KEYCTL_READ                          = 0xb
--	KEYCTL_REJECT                        = 0x13
--	KEYCTL_REVOKE                        = 0x3
--	KEYCTL_SEARCH                        = 0xa
--	KEYCTL_SESSION_TO_PARENT             = 0x12
--	KEYCTL_SETPERM                       = 0x5
--	KEYCTL_SET_REQKEY_KEYRING            = 0xe
--	KEYCTL_SET_TIMEOUT                   = 0xf
--	KEYCTL_UNLINK                        = 0x9
--	KEYCTL_UPDATE                        = 0x2
--	KEY_REQKEY_DEFL_DEFAULT              = 0x0
--	KEY_REQKEY_DEFL_GROUP_KEYRING        = 0x6
--	KEY_REQKEY_DEFL_NO_CHANGE            = -0x1
--	KEY_REQKEY_DEFL_PROCESS_KEYRING      = 0x2
--	KEY_REQKEY_DEFL_REQUESTOR_KEYRING    = 0x7
--	KEY_REQKEY_DEFL_SESSION_KEYRING      = 0x3
--	KEY_REQKEY_DEFL_THREAD_KEYRING       = 0x1
--	KEY_REQKEY_DEFL_USER_KEYRING         = 0x4
--	KEY_REQKEY_DEFL_USER_SESSION_KEYRING = 0x5
--	KEY_SPEC_GROUP_KEYRING               = -0x6
--	KEY_SPEC_PROCESS_KEYRING             = -0x2
--	KEY_SPEC_REQKEY_AUTH_KEY             = -0x7
--	KEY_SPEC_REQUESTOR_KEYRING           = -0x8
--	KEY_SPEC_SESSION_KEYRING             = -0x3
--	KEY_SPEC_THREAD_KEYRING              = -0x1
--	KEY_SPEC_USER_KEYRING                = -0x4
--	KEY_SPEC_USER_SESSION_KEYRING        = -0x5
--	LINUX_REBOOT_CMD_CAD_OFF             = 0x0
--	LINUX_REBOOT_CMD_CAD_ON              = 0x89abcdef
--	LINUX_REBOOT_CMD_HALT                = 0xcdef0123
--	LINUX_REBOOT_CMD_KEXEC               = 0x45584543
--	LINUX_REBOOT_CMD_POWER_OFF           = 0x4321fedc
--	LINUX_REBOOT_CMD_RESTART             = 0x1234567
--	LINUX_REBOOT_CMD_RESTART2            = 0xa1b2c3d4
--	LINUX_REBOOT_CMD_SW_SUSPEND          = 0xd000fce2
--	LINUX_REBOOT_MAGIC1                  = 0xfee1dead
--	LINUX_REBOOT_MAGIC2                  = 0x28121969
--	LOCK_EX                              = 0x2
--	LOCK_NB                              = 0x4
--	LOCK_SH                              = 0x1
--	LOCK_UN                              = 0x8
--	MADV_DODUMP                          = 0x11
--	MADV_DOFORK                          = 0xb
--	MADV_DONTDUMP                        = 0x10
--	MADV_DONTFORK                        = 0xa
--	MADV_DONTNEED                        = 0x4
--	MADV_FREE                            = 0x8
--	MADV_HUGEPAGE                        = 0xe
--	MADV_HWPOISON                        = 0x64
--	MADV_MERGEABLE                       = 0xc
--	MADV_NOHUGEPAGE                      = 0xf
--	MADV_NORMAL                          = 0x0
--	MADV_RANDOM                          = 0x1
--	MADV_REMOVE                          = 0x9
--	MADV_SEQUENTIAL                      = 0x2
--	MADV_UNMERGEABLE                     = 0xd
--	MADV_WILLNEED                        = 0x3
--	MAP_ANON                             = 0x20
--	MAP_ANONYMOUS                        = 0x20
--	MAP_DENYWRITE                        = 0x800
--	MAP_EXECUTABLE                       = 0x1000
--	MAP_FILE                             = 0x0
--	MAP_FIXED                            = 0x10
--	MAP_GROWSDOWN                        = 0x100
--	MAP_HUGETLB                          = 0x40000
--	MAP_HUGE_MASK                        = 0x3f
--	MAP_HUGE_SHIFT                       = 0x1a
--	MAP_LOCKED                           = 0x80
--	MAP_NONBLOCK                         = 0x10000
--	MAP_NORESERVE                        = 0x40
--	MAP_POPULATE                         = 0x8000
--	MAP_PRIVATE                          = 0x2
--	MAP_SHARED                           = 0x1
--	MAP_STACK                            = 0x20000
--	MAP_TYPE                             = 0xf
--	MCL_CURRENT                          = 0x2000
--	MCL_FUTURE                           = 0x4000
--	MCL_ONFAULT                          = 0x8000
--	MNT_DETACH                           = 0x2
--	MNT_EXPIRE                           = 0x4
--	MNT_FORCE                            = 0x1
--	MSG_BATCH                            = 0x40000
--	MSG_CMSG_CLOEXEC                     = 0x40000000
--	MSG_CONFIRM                          = 0x800
--	MSG_CTRUNC                           = 0x8
--	MSG_DONTROUTE                        = 0x4
--	MSG_DONTWAIT                         = 0x40
--	MSG_EOR                              = 0x80
--	MSG_ERRQUEUE                         = 0x2000
--	MSG_FASTOPEN                         = 0x20000000
--	MSG_FIN                              = 0x200
--	MSG_MORE                             = 0x8000
--	MSG_NOSIGNAL                         = 0x4000
--	MSG_OOB                              = 0x1
--	MSG_PEEK                             = 0x2
--	MSG_PROXY                            = 0x10
--	MSG_RST                              = 0x1000
--	MSG_SYN                              = 0x400
--	MSG_TRUNC                            = 0x20
--	MSG_TRYHARD                          = 0x4
--	MSG_WAITALL                          = 0x100
--	MSG_WAITFORONE                       = 0x10000
--	MS_ACTIVE                            = 0x40000000
--	MS_ASYNC                             = 0x1
--	MS_BIND                              = 0x1000
--	MS_BORN                              = 0x20000000
--	MS_DIRSYNC                           = 0x80
--	MS_INVALIDATE                        = 0x2
--	MS_I_VERSION                         = 0x800000
--	MS_KERNMOUNT                         = 0x400000
--	MS_LAZYTIME                          = 0x2000000
--	MS_MANDLOCK                          = 0x40
--	MS_MGC_MSK                           = 0xffff0000
--	MS_MGC_VAL                           = 0xc0ed0000
--	MS_MOVE                              = 0x2000
--	MS_NOATIME                           = 0x400
--	MS_NODEV                             = 0x4
--	MS_NODIRATIME                        = 0x800
--	MS_NOEXEC                            = 0x8
--	MS_NOREMOTELOCK                      = 0x8000000
--	MS_NOSEC                             = 0x10000000
--	MS_NOSUID                            = 0x2
--	MS_NOUSER                            = -0x80000000
--	MS_POSIXACL                          = 0x10000
--	MS_PRIVATE                           = 0x40000
--	MS_RDONLY                            = 0x1
--	MS_REC                               = 0x4000
--	MS_RELATIME                          = 0x200000
--	MS_REMOUNT                           = 0x20
--	MS_RMT_MASK                          = 0x2800051
--	MS_SHARED                            = 0x100000
--	MS_SILENT                            = 0x8000
--	MS_SLAVE                             = 0x80000
--	MS_STRICTATIME                       = 0x1000000
--	MS_SYNC                              = 0x4
--	MS_SYNCHRONOUS                       = 0x10
--	MS_UNBINDABLE                        = 0x20000
--	MS_VERBOSE                           = 0x8000
--	NAME_MAX                             = 0xff
--	NETLINK_ADD_MEMBERSHIP               = 0x1
--	NETLINK_AUDIT                        = 0x9
--	NETLINK_BROADCAST_ERROR              = 0x4
--	NETLINK_CAP_ACK                      = 0xa
--	NETLINK_CONNECTOR                    = 0xb
--	NETLINK_CRYPTO                       = 0x15
--	NETLINK_DNRTMSG                      = 0xe
--	NETLINK_DROP_MEMBERSHIP              = 0x2
--	NETLINK_ECRYPTFS                     = 0x13
--	NETLINK_FIB_LOOKUP                   = 0xa
--	NETLINK_FIREWALL                     = 0x3
--	NETLINK_GENERIC                      = 0x10
--	NETLINK_INET_DIAG                    = 0x4
--	NETLINK_IP6_FW                       = 0xd
--	NETLINK_ISCSI                        = 0x8
--	NETLINK_KOBJECT_UEVENT               = 0xf
--	NETLINK_LISTEN_ALL_NSID              = 0x8
--	NETLINK_LIST_MEMBERSHIPS             = 0x9
--	NETLINK_NETFILTER                    = 0xc
--	NETLINK_NFLOG                        = 0x5
--	NETLINK_NO_ENOBUFS                   = 0x5
--	NETLINK_PKTINFO                      = 0x3
--	NETLINK_RDMA                         = 0x14
--	NETLINK_ROUTE                        = 0x0
--	NETLINK_RX_RING                      = 0x6
--	NETLINK_SCSITRANSPORT                = 0x12
--	NETLINK_SELINUX                      = 0x7
--	NETLINK_SOCK_DIAG                    = 0x4
--	NETLINK_TX_RING                      = 0x7
--	NETLINK_UNUSED                       = 0x1
--	NETLINK_USERSOCK                     = 0x2
--	NETLINK_XFRM                         = 0x6
--	NL0                                  = 0x0
--	NL1                                  = 0x100
--	NL2                                  = 0x200
--	NL3                                  = 0x300
--	NLA_ALIGNTO                          = 0x4
--	NLA_F_NESTED                         = 0x8000
--	NLA_F_NET_BYTEORDER                  = 0x4000
--	NLA_HDRLEN                           = 0x4
--	NLDLY                                = 0x300
--	NLMSG_ALIGNTO                        = 0x4
--	NLMSG_DONE                           = 0x3
--	NLMSG_ERROR                          = 0x2
--	NLMSG_HDRLEN                         = 0x10
--	NLMSG_MIN_TYPE                       = 0x10
--	NLMSG_NOOP                           = 0x1
--	NLMSG_OVERRUN                        = 0x4
--	NLM_F_ACK                            = 0x4
--	NLM_F_APPEND                         = 0x800
--	NLM_F_ATOMIC                         = 0x400
--	NLM_F_CREATE                         = 0x400
--	NLM_F_DUMP                           = 0x300
--	NLM_F_DUMP_FILTERED                  = 0x20
--	NLM_F_DUMP_INTR                      = 0x10
--	NLM_F_ECHO                           = 0x8
--	NLM_F_EXCL                           = 0x200
--	NLM_F_MATCH                          = 0x200
--	NLM_F_MULTI                          = 0x2
--	NLM_F_REPLACE                        = 0x100
--	NLM_F_REQUEST                        = 0x1
--	NLM_F_ROOT                           = 0x100
--	NOFLSH                               = 0x80000000
--	OCRNL                                = 0x8
--	OFDEL                                = 0x80
--	OFILL                                = 0x40
--	OLCUC                                = 0x4
--	ONLCR                                = 0x2
--	ONLRET                               = 0x20
--	ONOCR                                = 0x10
--	OPOST                                = 0x1
--	O_ACCMODE                            = 0x3
--	O_APPEND                             = 0x400
--	O_ASYNC                              = 0x2000
--	O_CLOEXEC                            = 0x80000
--	O_CREAT                              = 0x40
--	O_DIRECT                             = 0x20000
--	O_DIRECTORY                          = 0x4000
--	O_DSYNC                              = 0x1000
--	O_EXCL                               = 0x80
--	O_FSYNC                              = 0x101000
--	O_LARGEFILE                          = 0x0
--	O_NDELAY                             = 0x800
--	O_NOATIME                            = 0x40000
--	O_NOCTTY                             = 0x100
--	O_NOFOLLOW                           = 0x8000
--	O_NONBLOCK                           = 0x800
--	O_PATH                               = 0x200000
--	O_RDONLY                             = 0x0
--	O_RDWR                               = 0x2
--	O_RSYNC                              = 0x101000
--	O_SYNC                               = 0x101000
--	O_TMPFILE                            = 0x404000
--	O_TRUNC                              = 0x200
--	O_WRONLY                             = 0x1
--	PACKET_ADD_MEMBERSHIP                = 0x1
--	PACKET_AUXDATA                       = 0x8
--	PACKET_BROADCAST                     = 0x1
--	PACKET_COPY_THRESH                   = 0x7
--	PACKET_DROP_MEMBERSHIP               = 0x2
--	PACKET_FANOUT                        = 0x12
--	PACKET_FANOUT_CBPF                   = 0x6
--	PACKET_FANOUT_CPU                    = 0x2
--	PACKET_FANOUT_DATA                   = 0x16
--	PACKET_FANOUT_EBPF                   = 0x7
--	PACKET_FANOUT_FLAG_DEFRAG            = 0x8000
--	PACKET_FANOUT_FLAG_ROLLOVER          = 0x1000
--	PACKET_FANOUT_HASH                   = 0x0
--	PACKET_FANOUT_LB                     = 0x1
--	PACKET_FANOUT_QM                     = 0x5
--	PACKET_FANOUT_RND                    = 0x4
--	PACKET_FANOUT_ROLLOVER               = 0x3
--	PACKET_FASTROUTE                     = 0x6
--	PACKET_HDRLEN                        = 0xb
--	PACKET_HOST                          = 0x0
--	PACKET_KERNEL                        = 0x7
--	PACKET_LOOPBACK                      = 0x5
--	PACKET_LOSS                          = 0xe
--	PACKET_MR_ALLMULTI                   = 0x2
--	PACKET_MR_MULTICAST                  = 0x0
--	PACKET_MR_PROMISC                    = 0x1
--	PACKET_MR_UNICAST                    = 0x3
--	PACKET_MULTICAST                     = 0x2
--	PACKET_ORIGDEV                       = 0x9
--	PACKET_OTHERHOST                     = 0x3
--	PACKET_OUTGOING                      = 0x4
--	PACKET_QDISC_BYPASS                  = 0x14
--	PACKET_RECV_OUTPUT                   = 0x3
--	PACKET_RESERVE                       = 0xc
--	PACKET_ROLLOVER_STATS                = 0x15
--	PACKET_RX_RING                       = 0x5
--	PACKET_STATISTICS                    = 0x6
--	PACKET_TIMESTAMP                     = 0x11
--	PACKET_TX_HAS_OFF                    = 0x13
--	PACKET_TX_RING                       = 0xd
--	PACKET_TX_TIMESTAMP                  = 0x10
--	PACKET_USER                          = 0x6
--	PACKET_VERSION                       = 0xa
--	PACKET_VNET_HDR                      = 0xf
--	PARENB                               = 0x1000
--	PARITY_CRC16_PR0                     = 0x2
--	PARITY_CRC16_PR0_CCITT               = 0x4
--	PARITY_CRC16_PR1                     = 0x3
--	PARITY_CRC16_PR1_CCITT               = 0x5
--	PARITY_CRC32_PR0_CCITT               = 0x6
--	PARITY_CRC32_PR1_CCITT               = 0x7
--	PARITY_DEFAULT                       = 0x0
--	PARITY_NONE                          = 0x1
--	PARMRK                               = 0x8
--	PARODD                               = 0x2000
--	PENDIN                               = 0x20000000
--	PERF_EVENT_IOC_DISABLE               = 0x20002401
--	PERF_EVENT_IOC_ENABLE                = 0x20002400
--	PERF_EVENT_IOC_ID                    = 0x40082407
--	PERF_EVENT_IOC_PAUSE_OUTPUT          = 0x80042409
--	PERF_EVENT_IOC_PERIOD                = 0x80082404
--	PERF_EVENT_IOC_REFRESH               = 0x20002402
--	PERF_EVENT_IOC_RESET                 = 0x20002403
--	PERF_EVENT_IOC_SET_BPF               = 0x80042408
--	PERF_EVENT_IOC_SET_FILTER            = 0x80082406
--	PERF_EVENT_IOC_SET_OUTPUT            = 0x20002405
--	PRIO_PGRP                            = 0x1
--	PRIO_PROCESS                         = 0x0
--	PRIO_USER                            = 0x2
--	PROT_EXEC                            = 0x4
--	PROT_GROWSDOWN                       = 0x1000000
--	PROT_GROWSUP                         = 0x2000000
--	PROT_NONE                            = 0x0
--	PROT_READ                            = 0x1
--	PROT_SAO                             = 0x10
--	PROT_WRITE                           = 0x2
--	PR_CAPBSET_DROP                      = 0x18
--	PR_CAPBSET_READ                      = 0x17
--	PR_CAP_AMBIENT                       = 0x2f
--	PR_CAP_AMBIENT_CLEAR_ALL             = 0x4
--	PR_CAP_AMBIENT_IS_SET                = 0x1
--	PR_CAP_AMBIENT_LOWER                 = 0x3
--	PR_CAP_AMBIENT_RAISE                 = 0x2
--	PR_ENDIAN_BIG                        = 0x0
--	PR_ENDIAN_LITTLE                     = 0x1
--	PR_ENDIAN_PPC_LITTLE                 = 0x2
--	PR_FPEMU_NOPRINT                     = 0x1
--	PR_FPEMU_SIGFPE                      = 0x2
--	PR_FP_EXC_ASYNC                      = 0x2
--	PR_FP_EXC_DISABLED                   = 0x0
--	PR_FP_EXC_DIV                        = 0x10000
--	PR_FP_EXC_INV                        = 0x100000
--	PR_FP_EXC_NONRECOV                   = 0x1
--	PR_FP_EXC_OVF                        = 0x20000
--	PR_FP_EXC_PRECISE                    = 0x3
--	PR_FP_EXC_RES                        = 0x80000
--	PR_FP_EXC_SW_ENABLE                  = 0x80
--	PR_FP_EXC_UND                        = 0x40000
--	PR_FP_MODE_FR                        = 0x1
--	PR_FP_MODE_FRE                       = 0x2
--	PR_GET_CHILD_SUBREAPER               = 0x25
--	PR_GET_DUMPABLE                      = 0x3
--	PR_GET_ENDIAN                        = 0x13
--	PR_GET_FPEMU                         = 0x9
--	PR_GET_FPEXC                         = 0xb
--	PR_GET_FP_MODE                       = 0x2e
--	PR_GET_KEEPCAPS                      = 0x7
--	PR_GET_NAME                          = 0x10
--	PR_GET_NO_NEW_PRIVS                  = 0x27
--	PR_GET_PDEATHSIG                     = 0x2
--	PR_GET_SECCOMP                       = 0x15
--	PR_GET_SECUREBITS                    = 0x1b
--	PR_GET_THP_DISABLE                   = 0x2a
--	PR_GET_TID_ADDRESS                   = 0x28
--	PR_GET_TIMERSLACK                    = 0x1e
--	PR_GET_TIMING                        = 0xd
--	PR_GET_TSC                           = 0x19
--	PR_GET_UNALIGN                       = 0x5
--	PR_MCE_KILL                          = 0x21
--	PR_MCE_KILL_CLEAR                    = 0x0
--	PR_MCE_KILL_DEFAULT                  = 0x2
--	PR_MCE_KILL_EARLY                    = 0x1
--	PR_MCE_KILL_GET                      = 0x22
--	PR_MCE_KILL_LATE                     = 0x0
--	PR_MCE_KILL_SET                      = 0x1
--	PR_MPX_DISABLE_MANAGEMENT            = 0x2c
--	PR_MPX_ENABLE_MANAGEMENT             = 0x2b
--	PR_SET_CHILD_SUBREAPER               = 0x24
--	PR_SET_DUMPABLE                      = 0x4
--	PR_SET_ENDIAN                        = 0x14
--	PR_SET_FPEMU                         = 0xa
--	PR_SET_FPEXC                         = 0xc
--	PR_SET_FP_MODE                       = 0x2d
--	PR_SET_KEEPCAPS                      = 0x8
--	PR_SET_MM                            = 0x23
--	PR_SET_MM_ARG_END                    = 0x9
--	PR_SET_MM_ARG_START                  = 0x8
--	PR_SET_MM_AUXV                       = 0xc
--	PR_SET_MM_BRK                        = 0x7
--	PR_SET_MM_END_CODE                   = 0x2
--	PR_SET_MM_END_DATA                   = 0x4
--	PR_SET_MM_ENV_END                    = 0xb
--	PR_SET_MM_ENV_START                  = 0xa
--	PR_SET_MM_EXE_FILE                   = 0xd
--	PR_SET_MM_MAP                        = 0xe
--	PR_SET_MM_MAP_SIZE                   = 0xf
--	PR_SET_MM_START_BRK                  = 0x6
--	PR_SET_MM_START_CODE                 = 0x1
--	PR_SET_MM_START_DATA                 = 0x3
--	PR_SET_MM_START_STACK                = 0x5
--	PR_SET_NAME                          = 0xf
--	PR_SET_NO_NEW_PRIVS                  = 0x26
--	PR_SET_PDEATHSIG                     = 0x1
--	PR_SET_PTRACER                       = 0x59616d61
--	PR_SET_PTRACER_ANY                   = -0x1
--	PR_SET_SECCOMP                       = 0x16
--	PR_SET_SECUREBITS                    = 0x1c
--	PR_SET_THP_DISABLE                   = 0x29
--	PR_SET_TIMERSLACK                    = 0x1d
--	PR_SET_TIMING                        = 0xe
--	PR_SET_TSC                           = 0x1a
--	PR_SET_UNALIGN                       = 0x6
--	PR_TASK_PERF_EVENTS_DISABLE          = 0x1f
--	PR_TASK_PERF_EVENTS_ENABLE           = 0x20
--	PR_TIMING_STATISTICAL                = 0x0
--	PR_TIMING_TIMESTAMP                  = 0x1
--	PR_TSC_ENABLE                        = 0x1
--	PR_TSC_SIGSEGV                       = 0x2
--	PR_UNALIGN_NOPRINT                   = 0x1
--	PR_UNALIGN_SIGBUS                    = 0x2
--	PTRACE_ATTACH                        = 0x10
--	PTRACE_CONT                          = 0x7
--	PTRACE_DETACH                        = 0x11
--	PTRACE_EVENT_CLONE                   = 0x3
--	PTRACE_EVENT_EXEC                    = 0x4
--	PTRACE_EVENT_EXIT                    = 0x6
--	PTRACE_EVENT_FORK                    = 0x1
--	PTRACE_EVENT_SECCOMP                 = 0x7
--	PTRACE_EVENT_STOP                    = 0x80
--	PTRACE_EVENT_VFORK                   = 0x2
--	PTRACE_EVENT_VFORK_DONE              = 0x5
--	PTRACE_GETEVENTMSG                   = 0x4201
--	PTRACE_GETEVRREGS                    = 0x14
--	PTRACE_GETFPREGS                     = 0xe
--	PTRACE_GETREGS                       = 0xc
--	PTRACE_GETREGS64                     = 0x16
--	PTRACE_GETREGSET                     = 0x4204
--	PTRACE_GETSIGINFO                    = 0x4202
--	PTRACE_GETSIGMASK                    = 0x420a
--	PTRACE_GETVRREGS                     = 0x12
--	PTRACE_GETVSRREGS                    = 0x1b
--	PTRACE_GET_DEBUGREG                  = 0x19
--	PTRACE_INTERRUPT                     = 0x4207
--	PTRACE_KILL                          = 0x8
--	PTRACE_LISTEN                        = 0x4208
--	PTRACE_O_EXITKILL                    = 0x100000
--	PTRACE_O_MASK                        = 0x3000ff
--	PTRACE_O_SUSPEND_SECCOMP             = 0x200000
--	PTRACE_O_TRACECLONE                  = 0x8
--	PTRACE_O_TRACEEXEC                   = 0x10
--	PTRACE_O_TRACEEXIT                   = 0x40
--	PTRACE_O_TRACEFORK                   = 0x2
--	PTRACE_O_TRACESECCOMP                = 0x80
--	PTRACE_O_TRACESYSGOOD                = 0x1
--	PTRACE_O_TRACEVFORK                  = 0x4
--	PTRACE_O_TRACEVFORKDONE              = 0x20
--	PTRACE_PEEKDATA                      = 0x2
--	PTRACE_PEEKSIGINFO                   = 0x4209
--	PTRACE_PEEKSIGINFO_SHARED            = 0x1
--	PTRACE_PEEKTEXT                      = 0x1
--	PTRACE_PEEKUSR                       = 0x3
--	PTRACE_POKEDATA                      = 0x5
--	PTRACE_POKETEXT                      = 0x4
--	PTRACE_POKEUSR                       = 0x6
--	PTRACE_SECCOMP_GET_FILTER            = 0x420c
--	PTRACE_SEIZE                         = 0x4206
--	PTRACE_SETEVRREGS                    = 0x15
--	PTRACE_SETFPREGS                     = 0xf
--	PTRACE_SETOPTIONS                    = 0x4200
--	PTRACE_SETREGS                       = 0xd
--	PTRACE_SETREGS64                     = 0x17
--	PTRACE_SETREGSET                     = 0x4205
--	PTRACE_SETSIGINFO                    = 0x4203
--	PTRACE_SETSIGMASK                    = 0x420b
--	PTRACE_SETVRREGS                     = 0x13
--	PTRACE_SETVSRREGS                    = 0x1c
--	PTRACE_SET_DEBUGREG                  = 0x1a
--	PTRACE_SINGLEBLOCK                   = 0x100
--	PTRACE_SINGLESTEP                    = 0x9
--	PTRACE_SYSCALL                       = 0x18
--	PTRACE_TRACEME                       = 0x0
--	PT_CCR                               = 0x26
--	PT_CTR                               = 0x23
--	PT_DAR                               = 0x29
--	PT_DSCR                              = 0x2c
--	PT_DSISR                             = 0x2a
--	PT_FPR0                              = 0x30
--	PT_FPSCR                             = 0x50
--	PT_LNK                               = 0x24
--	PT_MSR                               = 0x21
--	PT_NIP                               = 0x20
--	PT_ORIG_R3                           = 0x22
--	PT_R0                                = 0x0
--	PT_R1                                = 0x1
--	PT_R10                               = 0xa
--	PT_R11                               = 0xb
--	PT_R12                               = 0xc
--	PT_R13                               = 0xd
--	PT_R14                               = 0xe
--	PT_R15                               = 0xf
--	PT_R16                               = 0x10
--	PT_R17                               = 0x11
--	PT_R18                               = 0x12
--	PT_R19                               = 0x13
--	PT_R2                                = 0x2
--	PT_R20                               = 0x14
--	PT_R21                               = 0x15
--	PT_R22                               = 0x16
--	PT_R23                               = 0x17
--	PT_R24                               = 0x18
--	PT_R25                               = 0x19
--	PT_R26                               = 0x1a
--	PT_R27                               = 0x1b
--	PT_R28                               = 0x1c
--	PT_R29                               = 0x1d
--	PT_R3                                = 0x3
--	PT_R30                               = 0x1e
--	PT_R31                               = 0x1f
--	PT_R4                                = 0x4
--	PT_R5                                = 0x5
--	PT_R6                                = 0x6
--	PT_R7                                = 0x7
--	PT_R8                                = 0x8
--	PT_R9                                = 0x9
--	PT_REGS_COUNT                        = 0x2c
--	PT_RESULT                            = 0x2b
--	PT_SOFTE                             = 0x27
--	PT_TRAP                              = 0x28
--	PT_VR0                               = 0x52
--	PT_VRSAVE                            = 0x94
--	PT_VSCR                              = 0x93
--	PT_VSR0                              = 0x96
--	PT_VSR31                             = 0xd4
--	PT_XER                               = 0x25
--	RLIMIT_AS                            = 0x9
--	RLIMIT_CORE                          = 0x4
--	RLIMIT_CPU                           = 0x0
--	RLIMIT_DATA                          = 0x2
--	RLIMIT_FSIZE                         = 0x1
--	RLIMIT_LOCKS                         = 0xa
--	RLIMIT_MEMLOCK                       = 0x8
--	RLIMIT_MSGQUEUE                      = 0xc
--	RLIMIT_NICE                          = 0xd
--	RLIMIT_NOFILE                        = 0x7
--	RLIMIT_NPROC                         = 0x6
--	RLIMIT_RSS                           = 0x5
--	RLIMIT_RTPRIO                        = 0xe
--	RLIMIT_RTTIME                        = 0xf
--	RLIMIT_SIGPENDING                    = 0xb
--	RLIMIT_STACK                         = 0x3
--	RLIM_INFINITY                        = -0x1
--	RTAX_ADVMSS                          = 0x8
--	RTAX_CC_ALGO                         = 0x10
--	RTAX_CWND                            = 0x7
--	RTAX_FEATURES                        = 0xc
--	RTAX_FEATURE_ALLFRAG                 = 0x8
--	RTAX_FEATURE_ECN                     = 0x1
--	RTAX_FEATURE_MASK                    = 0xf
--	RTAX_FEATURE_SACK                    = 0x2
--	RTAX_FEATURE_TIMESTAMP               = 0x4
--	RTAX_HOPLIMIT                        = 0xa
--	RTAX_INITCWND                        = 0xb
--	RTAX_INITRWND                        = 0xe
--	RTAX_LOCK                            = 0x1
--	RTAX_MAX                             = 0x10
--	RTAX_MTU                             = 0x2
--	RTAX_QUICKACK                        = 0xf
--	RTAX_REORDERING                      = 0x9
--	RTAX_RTO_MIN                         = 0xd
--	RTAX_RTT                             = 0x4
--	RTAX_RTTVAR                          = 0x5
--	RTAX_SSTHRESH                        = 0x6
--	RTAX_UNSPEC                          = 0x0
--	RTAX_WINDOW                          = 0x3
--	RTA_ALIGNTO                          = 0x4
--	RTA_MAX                              = 0x19
--	RTCF_DIRECTSRC                       = 0x4000000
--	RTCF_DOREDIRECT                      = 0x1000000
--	RTCF_LOG                             = 0x2000000
--	RTCF_MASQ                            = 0x400000
--	RTCF_NAT                             = 0x800000
--	RTCF_VALVE                           = 0x200000
--	RTF_ADDRCLASSMASK                    = 0xf8000000
--	RTF_ADDRCONF                         = 0x40000
--	RTF_ALLONLINK                        = 0x20000
--	RTF_BROADCAST                        = 0x10000000
--	RTF_CACHE                            = 0x1000000
--	RTF_DEFAULT                          = 0x10000
--	RTF_DYNAMIC                          = 0x10
--	RTF_FLOW                             = 0x2000000
--	RTF_GATEWAY                          = 0x2
--	RTF_HOST                             = 0x4
--	RTF_INTERFACE                        = 0x40000000
--	RTF_IRTT                             = 0x100
--	RTF_LINKRT                           = 0x100000
--	RTF_LOCAL                            = 0x80000000
--	RTF_MODIFIED                         = 0x20
--	RTF_MSS                              = 0x40
--	RTF_MTU                              = 0x40
--	RTF_MULTICAST                        = 0x20000000
--	RTF_NAT                              = 0x8000000
--	RTF_NOFORWARD                        = 0x1000
--	RTF_NONEXTHOP                        = 0x200000
--	RTF_NOPMTUDISC                       = 0x4000
--	RTF_POLICY                           = 0x4000000
--	RTF_REINSTATE                        = 0x8
--	RTF_REJECT                           = 0x200
--	RTF_STATIC                           = 0x400
--	RTF_THROW                            = 0x2000
--	RTF_UP                               = 0x1
--	RTF_WINDOW                           = 0x80
--	RTF_XRESOLVE                         = 0x800
--	RTM_BASE                             = 0x10
--	RTM_DELACTION                        = 0x31
--	RTM_DELADDR                          = 0x15
--	RTM_DELADDRLABEL                     = 0x49
--	RTM_DELLINK                          = 0x11
--	RTM_DELMDB                           = 0x55
--	RTM_DELNEIGH                         = 0x1d
--	RTM_DELNSID                          = 0x59
--	RTM_DELQDISC                         = 0x25
--	RTM_DELROUTE                         = 0x19
--	RTM_DELRULE                          = 0x21
--	RTM_DELTCLASS                        = 0x29
--	RTM_DELTFILTER                       = 0x2d
--	RTM_F_CLONED                         = 0x200
--	RTM_F_EQUALIZE                       = 0x400
--	RTM_F_LOOKUP_TABLE                   = 0x1000
--	RTM_F_NOTIFY                         = 0x100
--	RTM_F_PREFIX                         = 0x800
--	RTM_GETACTION                        = 0x32
--	RTM_GETADDR                          = 0x16
--	RTM_GETADDRLABEL                     = 0x4a
--	RTM_GETANYCAST                       = 0x3e
--	RTM_GETDCB                           = 0x4e
--	RTM_GETLINK                          = 0x12
--	RTM_GETMDB                           = 0x56
--	RTM_GETMULTICAST                     = 0x3a
--	RTM_GETNEIGH                         = 0x1e
--	RTM_GETNEIGHTBL                      = 0x42
--	RTM_GETNETCONF                       = 0x52
--	RTM_GETNSID                          = 0x5a
--	RTM_GETQDISC                         = 0x26
--	RTM_GETROUTE                         = 0x1a
--	RTM_GETRULE                          = 0x22
--	RTM_GETSTATS                         = 0x5e
--	RTM_GETTCLASS                        = 0x2a
--	RTM_GETTFILTER                       = 0x2e
--	RTM_MAX                              = 0x5f
--	RTM_NEWACTION                        = 0x30
--	RTM_NEWADDR                          = 0x14
--	RTM_NEWADDRLABEL                     = 0x48
--	RTM_NEWLINK                          = 0x10
--	RTM_NEWMDB                           = 0x54
--	RTM_NEWNDUSEROPT                     = 0x44
--	RTM_NEWNEIGH                         = 0x1c
--	RTM_NEWNEIGHTBL                      = 0x40
--	RTM_NEWNETCONF                       = 0x50
--	RTM_NEWNSID                          = 0x58
--	RTM_NEWPREFIX                        = 0x34
--	RTM_NEWQDISC                         = 0x24
--	RTM_NEWROUTE                         = 0x18
--	RTM_NEWRULE                          = 0x20
--	RTM_NEWSTATS                         = 0x5c
--	RTM_NEWTCLASS                        = 0x28
--	RTM_NEWTFILTER                       = 0x2c
--	RTM_NR_FAMILIES                      = 0x14
--	RTM_NR_MSGTYPES                      = 0x50
--	RTM_SETDCB                           = 0x4f
--	RTM_SETLINK                          = 0x13
--	RTM_SETNEIGHTBL                      = 0x43
--	RTNH_ALIGNTO                         = 0x4
--	RTNH_COMPARE_MASK                    = 0x19
--	RTNH_F_DEAD                          = 0x1
--	RTNH_F_LINKDOWN                      = 0x10
--	RTNH_F_OFFLOAD                       = 0x8
--	RTNH_F_ONLINK                        = 0x4
--	RTNH_F_PERVASIVE                     = 0x2
--	RTN_MAX                              = 0xb
--	RTPROT_BABEL                         = 0x2a
--	RTPROT_BIRD                          = 0xc
--	RTPROT_BOOT                          = 0x3
--	RTPROT_DHCP                          = 0x10
--	RTPROT_DNROUTED                      = 0xd
--	RTPROT_GATED                         = 0x8
--	RTPROT_KERNEL                        = 0x2
--	RTPROT_MROUTED                       = 0x11
--	RTPROT_MRT                           = 0xa
--	RTPROT_NTK                           = 0xf
--	RTPROT_RA                            = 0x9
--	RTPROT_REDIRECT                      = 0x1
--	RTPROT_STATIC                        = 0x4
--	RTPROT_UNSPEC                        = 0x0
--	RTPROT_XORP                          = 0xe
--	RTPROT_ZEBRA                         = 0xb
--	RT_CLASS_DEFAULT                     = 0xfd
--	RT_CLASS_LOCAL                       = 0xff
--	RT_CLASS_MAIN                        = 0xfe
--	RT_CLASS_MAX                         = 0xff
--	RT_CLASS_UNSPEC                      = 0x0
--	RUSAGE_CHILDREN                      = -0x1
--	RUSAGE_SELF                          = 0x0
--	RUSAGE_THREAD                        = 0x1
--	SCM_CREDENTIALS                      = 0x2
--	SCM_RIGHTS                           = 0x1
--	SCM_TIMESTAMP                        = 0x1d
--	SCM_TIMESTAMPING                     = 0x25
--	SCM_TIMESTAMPING_OPT_STATS           = 0x36
--	SCM_TIMESTAMPNS                      = 0x23
--	SCM_WIFI_STATUS                      = 0x29
--	SECCOMP_MODE_DISABLED                = 0x0
--	SECCOMP_MODE_FILTER                  = 0x2
--	SECCOMP_MODE_STRICT                  = 0x1
--	SHUT_RD                              = 0x0
--	SHUT_RDWR                            = 0x2
--	SHUT_WR                              = 0x1
--	SIOCADDDLCI                          = 0x8980
--	SIOCADDMULTI                         = 0x8931
--	SIOCADDRT                            = 0x890b
--	SIOCATMARK                           = 0x8905
--	SIOCBONDCHANGEACTIVE                 = 0x8995
--	SIOCBONDENSLAVE                      = 0x8990
--	SIOCBONDINFOQUERY                    = 0x8994
--	SIOCBONDRELEASE                      = 0x8991
--	SIOCBONDSETHWADDR                    = 0x8992
--	SIOCBONDSLAVEINFOQUERY               = 0x8993
--	SIOCBRADDBR                          = 0x89a0
--	SIOCBRADDIF                          = 0x89a2
--	SIOCBRDELBR                          = 0x89a1
--	SIOCBRDELIF                          = 0x89a3
--	SIOCDARP                             = 0x8953
--	SIOCDELDLCI                          = 0x8981
--	SIOCDELMULTI                         = 0x8932
--	SIOCDELRT                            = 0x890c
--	SIOCDEVPRIVATE                       = 0x89f0
--	SIOCDIFADDR                          = 0x8936
--	SIOCDRARP                            = 0x8960
--	SIOCETHTOOL                          = 0x8946
--	SIOCGARP                             = 0x8954
--	SIOCGHWTSTAMP                        = 0x89b1
--	SIOCGIFADDR                          = 0x8915
--	SIOCGIFBR                            = 0x8940
--	SIOCGIFBRDADDR                       = 0x8919
--	SIOCGIFCONF                          = 0x8912
--	SIOCGIFCOUNT                         = 0x8938
--	SIOCGIFDSTADDR                       = 0x8917
--	SIOCGIFENCAP                         = 0x8925
--	SIOCGIFFLAGS                         = 0x8913
--	SIOCGIFHWADDR                        = 0x8927
--	SIOCGIFINDEX                         = 0x8933
--	SIOCGIFMAP                           = 0x8970
--	SIOCGIFMEM                           = 0x891f
--	SIOCGIFMETRIC                        = 0x891d
--	SIOCGIFMTU                           = 0x8921
--	SIOCGIFNAME                          = 0x8910
--	SIOCGIFNETMASK                       = 0x891b
--	SIOCGIFPFLAGS                        = 0x8935
--	SIOCGIFSLAVE                         = 0x8929
--	SIOCGIFTXQLEN                        = 0x8942
--	SIOCGIFVLAN                          = 0x8982
--	SIOCGMIIPHY                          = 0x8947
--	SIOCGMIIREG                          = 0x8948
--	SIOCGPGRP                            = 0x8904
--	SIOCGRARP                            = 0x8961
--	SIOCGSKNS                            = 0x894c
--	SIOCGSTAMP                           = 0x8906
--	SIOCGSTAMPNS                         = 0x8907
--	SIOCINQ                              = 0x4004667f
--	SIOCOUTQ                             = 0x40047473
--	SIOCOUTQNSD                          = 0x894b
--	SIOCPROTOPRIVATE                     = 0x89e0
--	SIOCRTMSG                            = 0x890d
--	SIOCSARP                             = 0x8955
--	SIOCSHWTSTAMP                        = 0x89b0
--	SIOCSIFADDR                          = 0x8916
--	SIOCSIFBR                            = 0x8941
--	SIOCSIFBRDADDR                       = 0x891a
--	SIOCSIFDSTADDR                       = 0x8918
--	SIOCSIFENCAP                         = 0x8926
--	SIOCSIFFLAGS                         = 0x8914
--	SIOCSIFHWADDR                        = 0x8924
--	SIOCSIFHWBROADCAST                   = 0x8937
--	SIOCSIFLINK                          = 0x8911
--	SIOCSIFMAP                           = 0x8971
--	SIOCSIFMEM                           = 0x8920
--	SIOCSIFMETRIC                        = 0x891e
--	SIOCSIFMTU                           = 0x8922
--	SIOCSIFNAME                          = 0x8923
--	SIOCSIFNETMASK                       = 0x891c
--	SIOCSIFPFLAGS                        = 0x8934
--	SIOCSIFSLAVE                         = 0x8930
--	SIOCSIFTXQLEN                        = 0x8943
--	SIOCSIFVLAN                          = 0x8983
--	SIOCSMIIREG                          = 0x8949
--	SIOCSPGRP                            = 0x8902
--	SIOCSRARP                            = 0x8962
--	SIOCWANDEV                           = 0x894a
--	SOCK_CLOEXEC                         = 0x80000
--	SOCK_DCCP                            = 0x6
--	SOCK_DGRAM                           = 0x2
--	SOCK_IOC_TYPE                        = 0x89
--	SOCK_NONBLOCK                        = 0x800
--	SOCK_PACKET                          = 0xa
--	SOCK_RAW                             = 0x3
--	SOCK_RDM                             = 0x4
--	SOCK_SEQPACKET                       = 0x5
--	SOCK_STREAM                          = 0x1
--	SOL_AAL                              = 0x109
--	SOL_ALG                              = 0x117
--	SOL_ATM                              = 0x108
--	SOL_CAIF                             = 0x116
--	SOL_CAN_BASE                         = 0x64
--	SOL_DCCP                             = 0x10d
--	SOL_DECNET                           = 0x105
--	SOL_ICMPV6                           = 0x3a
--	SOL_IP                               = 0x0
--	SOL_IPV6                             = 0x29
--	SOL_IRDA                             = 0x10a
--	SOL_IUCV                             = 0x115
--	SOL_KCM                              = 0x119
--	SOL_LLC                              = 0x10c
--	SOL_NETBEUI                          = 0x10b
--	SOL_NETLINK                          = 0x10e
--	SOL_NFC                              = 0x118
--	SOL_PACKET                           = 0x107
--	SOL_PNPIPE                           = 0x113
--	SOL_PPPOL2TP                         = 0x111
--	SOL_RAW                              = 0xff
--	SOL_RDS                              = 0x114
--	SOL_RXRPC                            = 0x110
--	SOL_SOCKET                           = 0x1
--	SOL_TCP                              = 0x6
--	SOL_TIPC                             = 0x10f
--	SOL_X25                              = 0x106
--	SOMAXCONN                            = 0x80
--	SO_ACCEPTCONN                        = 0x1e
--	SO_ATTACH_BPF                        = 0x32
--	SO_ATTACH_FILTER                     = 0x1a
--	SO_ATTACH_REUSEPORT_CBPF             = 0x33
--	SO_ATTACH_REUSEPORT_EBPF             = 0x34
--	SO_BINDTODEVICE                      = 0x19
--	SO_BPF_EXTENSIONS                    = 0x30
--	SO_BROADCAST                         = 0x6
--	SO_BSDCOMPAT                         = 0xe
--	SO_BUSY_POLL                         = 0x2e
--	SO_CNX_ADVICE                        = 0x35
--	SO_DEBUG                             = 0x1
--	SO_DETACH_BPF                        = 0x1b
--	SO_DETACH_FILTER                     = 0x1b
--	SO_DOMAIN                            = 0x27
--	SO_DONTROUTE                         = 0x5
--	SO_ERROR                             = 0x4
--	SO_GET_FILTER                        = 0x1a
--	SO_INCOMING_CPU                      = 0x31
--	SO_KEEPALIVE                         = 0x9
--	SO_LINGER                            = 0xd
--	SO_LOCK_FILTER                       = 0x2c
--	SO_MARK                              = 0x24
--	SO_MAX_PACING_RATE                   = 0x2f
--	SO_NOFCS                             = 0x2b
--	SO_NO_CHECK                          = 0xb
--	SO_OOBINLINE                         = 0xa
--	SO_PASSCRED                          = 0x14
--	SO_PASSSEC                           = 0x22
--	SO_PEEK_OFF                          = 0x2a
--	SO_PEERCRED                          = 0x15
--	SO_PEERNAME                          = 0x1c
--	SO_PEERSEC                           = 0x1f
--	SO_PRIORITY                          = 0xc
--	SO_PROTOCOL                          = 0x26
--	SO_RCVBUF                            = 0x8
--	SO_RCVBUFFORCE                       = 0x21
--	SO_RCVLOWAT                          = 0x10
--	SO_RCVTIMEO                          = 0x12
--	SO_REUSEADDR                         = 0x2
--	SO_REUSEPORT                         = 0xf
--	SO_RXQ_OVFL                          = 0x28
--	SO_SECURITY_AUTHENTICATION           = 0x16
--	SO_SECURITY_ENCRYPTION_NETWORK       = 0x18
--	SO_SECURITY_ENCRYPTION_TRANSPORT     = 0x17
--	SO_SELECT_ERR_QUEUE                  = 0x2d
--	SO_SNDBUF                            = 0x7
--	SO_SNDBUFFORCE                       = 0x20
--	SO_SNDLOWAT                          = 0x11
--	SO_SNDTIMEO                          = 0x13
--	SO_TIMESTAMP                         = 0x1d
--	SO_TIMESTAMPING                      = 0x25
--	SO_TIMESTAMPNS                       = 0x23
--	SO_TYPE                              = 0x3
--	SO_VM_SOCKETS_BUFFER_MAX_SIZE        = 0x2
--	SO_VM_SOCKETS_BUFFER_MIN_SIZE        = 0x1
--	SO_VM_SOCKETS_BUFFER_SIZE            = 0x0
--	SO_VM_SOCKETS_CONNECT_TIMEOUT        = 0x6
--	SO_VM_SOCKETS_NONBLOCK_TXRX          = 0x7
--	SO_VM_SOCKETS_PEER_HOST_VM_ID        = 0x3
--	SO_VM_SOCKETS_TRUSTED                = 0x5
--	SO_WIFI_STATUS                       = 0x29
--	SPLICE_F_GIFT                        = 0x8
--	SPLICE_F_MORE                        = 0x4
--	SPLICE_F_MOVE                        = 0x1
--	SPLICE_F_NONBLOCK                    = 0x2
--	S_BLKSIZE                            = 0x200
--	S_IEXEC                              = 0x40
--	S_IFBLK                              = 0x6000
--	S_IFCHR                              = 0x2000
--	S_IFDIR                              = 0x4000
--	S_IFIFO                              = 0x1000
--	S_IFLNK                              = 0xa000
--	S_IFMT                               = 0xf000
--	S_IFREG                              = 0x8000
--	S_IFSOCK                             = 0xc000
--	S_IREAD                              = 0x100
--	S_IRGRP                              = 0x20
--	S_IROTH                              = 0x4
--	S_IRUSR                              = 0x100
--	S_IRWXG                              = 0x38
--	S_IRWXO                              = 0x7
--	S_IRWXU                              = 0x1c0
--	S_ISGID                              = 0x400
--	S_ISUID                              = 0x800
--	S_ISVTX                              = 0x200
--	S_IWGRP                              = 0x10
--	S_IWOTH                              = 0x2
--	S_IWRITE                             = 0x80
--	S_IWUSR                              = 0x80
--	S_IXGRP                              = 0x8
--	S_IXOTH                              = 0x1
--	S_IXUSR                              = 0x40
--	TAB0                                 = 0x0
--	TAB1                                 = 0x400
--	TAB2                                 = 0x800
--	TAB3                                 = 0xc00
--	TABDLY                               = 0xc00
--	TASKSTATS_CMD_ATTR_MAX               = 0x4
--	TASKSTATS_CMD_MAX                    = 0x2
--	TASKSTATS_GENL_NAME                  = "TASKSTATS"
--	TASKSTATS_GENL_VERSION               = 0x1
--	TASKSTATS_TYPE_MAX                   = 0x6
--	TASKSTATS_VERSION                    = 0x8
--	TCFLSH                               = 0x2000741f
--	TCGETA                               = 0x40147417
--	TCGETS                               = 0x402c7413
--	TCIFLUSH                             = 0x0
--	TCIOFF                               = 0x2
--	TCIOFLUSH                            = 0x2
--	TCION                                = 0x3
--	TCOFLUSH                             = 0x1
--	TCOOFF                               = 0x0
--	TCOON                                = 0x1
--	TCP_CC_INFO                          = 0x1a
--	TCP_CONGESTION                       = 0xd
--	TCP_COOKIE_IN_ALWAYS                 = 0x1
--	TCP_COOKIE_MAX                       = 0x10
--	TCP_COOKIE_MIN                       = 0x8
--	TCP_COOKIE_OUT_NEVER                 = 0x2
--	TCP_COOKIE_PAIR_SIZE                 = 0x20
--	TCP_COOKIE_TRANSACTIONS              = 0xf
--	TCP_CORK                             = 0x3
--	TCP_DEFER_ACCEPT                     = 0x9
--	TCP_FASTOPEN                         = 0x17
--	TCP_INFO                             = 0xb
--	TCP_KEEPCNT                          = 0x6
--	TCP_KEEPIDLE                         = 0x4
--	TCP_KEEPINTVL                        = 0x5
--	TCP_LINGER2                          = 0x8
--	TCP_MAXSEG                           = 0x2
--	TCP_MAXWIN                           = 0xffff
--	TCP_MAX_WINSHIFT                     = 0xe
--	TCP_MD5SIG                           = 0xe
--	TCP_MD5SIG_MAXKEYLEN                 = 0x50
--	TCP_MSS                              = 0x200
--	TCP_MSS_DEFAULT                      = 0x218
--	TCP_MSS_DESIRED                      = 0x4c4
--	TCP_NODELAY                          = 0x1
--	TCP_NOTSENT_LOWAT                    = 0x19
--	TCP_QUEUE_SEQ                        = 0x15
--	TCP_QUICKACK                         = 0xc
--	TCP_REPAIR                           = 0x13
--	TCP_REPAIR_OPTIONS                   = 0x16
--	TCP_REPAIR_QUEUE                     = 0x14
--	TCP_REPAIR_WINDOW                    = 0x1d
--	TCP_SAVED_SYN                        = 0x1c
--	TCP_SAVE_SYN                         = 0x1b
--	TCP_SYNCNT                           = 0x7
--	TCP_S_DATA_IN                        = 0x4
--	TCP_S_DATA_OUT                       = 0x8
--	TCP_THIN_DUPACK                      = 0x11
--	TCP_THIN_LINEAR_TIMEOUTS             = 0x10
--	TCP_TIMESTAMP                        = 0x18
--	TCP_USER_TIMEOUT                     = 0x12
--	TCP_WINDOW_CLAMP                     = 0xa
--	TCSAFLUSH                            = 0x2
--	TCSBRK                               = 0x2000741d
--	TCSBRKP                              = 0x5425
--	TCSETA                               = 0x80147418
--	TCSETAF                              = 0x8014741c
--	TCSETAW                              = 0x80147419
--	TCSETS                               = 0x802c7414
--	TCSETSF                              = 0x802c7416
--	TCSETSW                              = 0x802c7415
--	TCXONC                               = 0x2000741e
--	TIOCCBRK                             = 0x5428
--	TIOCCONS                             = 0x541d
--	TIOCEXCL                             = 0x540c
--	TIOCGDEV                             = 0x40045432
--	TIOCGETC                             = 0x40067412
--	TIOCGETD                             = 0x5424
--	TIOCGETP                             = 0x40067408
--	TIOCGEXCL                            = 0x40045440
--	TIOCGICOUNT                          = 0x545d
--	TIOCGLCKTRMIOS                       = 0x5456
--	TIOCGLTC                             = 0x40067474
--	TIOCGPGRP                            = 0x40047477
--	TIOCGPKT                             = 0x40045438
--	TIOCGPTLCK                           = 0x40045439
--	TIOCGPTN                             = 0x40045430
--	TIOCGRS485                           = 0x542e
--	TIOCGSERIAL                          = 0x541e
--	TIOCGSID                             = 0x5429
--	TIOCGSOFTCAR                         = 0x5419
--	TIOCGWINSZ                           = 0x40087468
--	TIOCINQ                              = 0x4004667f
--	TIOCLINUX                            = 0x541c
--	TIOCMBIC                             = 0x5417
--	TIOCMBIS                             = 0x5416
--	TIOCMGET                             = 0x5415
--	TIOCMIWAIT                           = 0x545c
--	TIOCMSET                             = 0x5418
--	TIOCM_CAR                            = 0x40
--	TIOCM_CD                             = 0x40
--	TIOCM_CTS                            = 0x20
--	TIOCM_DSR                            = 0x100
--	TIOCM_DTR                            = 0x2
--	TIOCM_LE                             = 0x1
--	TIOCM_LOOP                           = 0x8000
--	TIOCM_OUT1                           = 0x2000
--	TIOCM_OUT2                           = 0x4000
--	TIOCM_RI                             = 0x80
--	TIOCM_RNG                            = 0x80
--	TIOCM_RTS                            = 0x4
--	TIOCM_SR                             = 0x10
--	TIOCM_ST                             = 0x8
--	TIOCNOTTY                            = 0x5422
--	TIOCNXCL                             = 0x540d
--	TIOCOUTQ                             = 0x40047473
--	TIOCPKT                              = 0x5420
--	TIOCPKT_DATA                         = 0x0
--	TIOCPKT_DOSTOP                       = 0x20
--	TIOCPKT_FLUSHREAD                    = 0x1
--	TIOCPKT_FLUSHWRITE                   = 0x2
--	TIOCPKT_IOCTL                        = 0x40
--	TIOCPKT_NOSTOP                       = 0x10
--	TIOCPKT_START                        = 0x8
--	TIOCPKT_STOP                         = 0x4
--	TIOCSBRK                             = 0x5427
--	TIOCSCTTY                            = 0x540e
--	TIOCSERCONFIG                        = 0x5453
--	TIOCSERGETLSR                        = 0x5459
--	TIOCSERGETMULTI                      = 0x545a
--	TIOCSERGSTRUCT                       = 0x5458
--	TIOCSERGWILD                         = 0x5454
--	TIOCSERSETMULTI                      = 0x545b
--	TIOCSERSWILD                         = 0x5455
--	TIOCSER_TEMT                         = 0x1
--	TIOCSETC                             = 0x80067411
--	TIOCSETD                             = 0x5423
--	TIOCSETN                             = 0x8006740a
--	TIOCSETP                             = 0x80067409
--	TIOCSIG                              = 0x80045436
--	TIOCSLCKTRMIOS                       = 0x5457
--	TIOCSLTC                             = 0x80067475
--	TIOCSPGRP                            = 0x80047476
--	TIOCSPTLCK                           = 0x80045431
--	TIOCSRS485                           = 0x542f
--	TIOCSSERIAL                          = 0x541f
--	TIOCSSOFTCAR                         = 0x541a
--	TIOCSTART                            = 0x2000746e
--	TIOCSTI                              = 0x5412
--	TIOCSTOP                             = 0x2000746f
--	TIOCSWINSZ                           = 0x80087467
--	TIOCVHANGUP                          = 0x5437
--	TOSTOP                               = 0x400000
--	TS_COMM_LEN                          = 0x20
--	TUNATTACHFILTER                      = 0x801054d5
--	TUNDETACHFILTER                      = 0x801054d6
--	TUNGETFEATURES                       = 0x400454cf
--	TUNGETFILTER                         = 0x401054db
--	TUNGETIFF                            = 0x400454d2
--	TUNGETSNDBUF                         = 0x400454d3
--	TUNGETVNETBE                         = 0x400454df
--	TUNGETVNETHDRSZ                      = 0x400454d7
--	TUNGETVNETLE                         = 0x400454dd
--	TUNSETDEBUG                          = 0x800454c9
--	TUNSETGROUP                          = 0x800454ce
--	TUNSETIFF                            = 0x800454ca
--	TUNSETIFINDEX                        = 0x800454da
--	TUNSETLINK                           = 0x800454cd
--	TUNSETNOCSUM                         = 0x800454c8
--	TUNSETOFFLOAD                        = 0x800454d0
--	TUNSETOWNER                          = 0x800454cc
--	TUNSETPERSIST                        = 0x800454cb
--	TUNSETQUEUE                          = 0x800454d9
--	TUNSETSNDBUF                         = 0x800454d4
--	TUNSETTXFILTER                       = 0x800454d1
--	TUNSETVNETBE                         = 0x800454de
--	TUNSETVNETHDRSZ                      = 0x800454d8
--	TUNSETVNETLE                         = 0x800454dc
--	UMOUNT_NOFOLLOW                      = 0x8
--	VDISCARD                             = 0x10
--	VEOF                                 = 0x4
--	VEOL                                 = 0x6
--	VEOL2                                = 0x8
--	VERASE                               = 0x2
--	VINTR                                = 0x0
--	VKILL                                = 0x3
--	VLNEXT                               = 0xf
--	VMADDR_CID_ANY                       = 0xffffffff
--	VMADDR_CID_HOST                      = 0x2
--	VMADDR_CID_HYPERVISOR                = 0x0
--	VMADDR_CID_RESERVED                  = 0x1
--	VMADDR_PORT_ANY                      = 0xffffffff
--	VMIN                                 = 0x5
--	VM_SOCKETS_INVALID_VERSION           = 0xffffffff
--	VQUIT                                = 0x1
--	VREPRINT                             = 0xb
--	VSTART                               = 0xd
--	VSTOP                                = 0xe
--	VSUSP                                = 0xc
--	VSWTC                                = 0x9
--	VT0                                  = 0x0
--	VT1                                  = 0x10000
--	VTDLY                                = 0x10000
--	VTIME                                = 0x7
--	VWERASE                              = 0xa
--	WALL                                 = 0x40000000
--	WCLONE                               = 0x80000000
--	WCONTINUED                           = 0x8
--	WEXITED                              = 0x4
--	WNOHANG                              = 0x1
--	WNOTHREAD                            = 0x20000000
--	WNOWAIT                              = 0x1000000
--	WORDSIZE                             = 0x40
--	WSTOPPED                             = 0x2
--	WUNTRACED                            = 0x2
--	XATTR_CREATE                         = 0x1
--	XATTR_REPLACE                        = 0x2
--	XCASE                                = 0x4000
--	XTABS                                = 0xc00
-+	B1000000                         = 0x17
-+	B115200                          = 0x11
-+	B1152000                         = 0x18
-+	B1500000                         = 0x19
-+	B2000000                         = 0x1a
-+	B230400                          = 0x12
-+	B2500000                         = 0x1b
-+	B3000000                         = 0x1c
-+	B3500000                         = 0x1d
-+	B4000000                         = 0x1e
-+	B460800                          = 0x13
-+	B500000                          = 0x14
-+	B57600                           = 0x10
-+	B576000                          = 0x15
-+	B921600                          = 0x16
-+	BLKBSZGET                        = 0x40081270
-+	BLKBSZSET                        = 0x80081271
-+	BLKFLSBUF                        = 0x20001261
-+	BLKFRAGET                        = 0x20001265
-+	BLKFRASET                        = 0x20001264
-+	BLKGETSIZE                       = 0x20001260
-+	BLKGETSIZE64                     = 0x40081272
-+	BLKPBSZGET                       = 0x2000127b
-+	BLKRAGET                         = 0x20001263
-+	BLKRASET                         = 0x20001262
-+	BLKROGET                         = 0x2000125e
-+	BLKROSET                         = 0x2000125d
-+	BLKRRPART                        = 0x2000125f
-+	BLKSECTGET                       = 0x20001267
-+	BLKSECTSET                       = 0x20001266
-+	BLKSSZGET                        = 0x20001268
-+	BOTHER                           = 0x1f
-+	BS1                              = 0x8000
-+	BSDLY                            = 0x8000
-+	CBAUD                            = 0xff
-+	CBAUDEX                          = 0x0
-+	CIBAUD                           = 0xff0000
-+	CLOCAL                           = 0x8000
-+	CR1                              = 0x1000
-+	CR2                              = 0x2000
-+	CR3                              = 0x3000
-+	CRDLY                            = 0x3000
-+	CREAD                            = 0x800
-+	CS6                              = 0x100
-+	CS7                              = 0x200
-+	CS8                              = 0x300
-+	CSIZE                            = 0x300
-+	CSTOPB                           = 0x400
-+	ECHOCTL                          = 0x40
-+	ECHOE                            = 0x2
-+	ECHOK                            = 0x4
-+	ECHOKE                           = 0x1
-+	ECHONL                           = 0x10
-+	ECHOPRT                          = 0x20
-+	EFD_CLOEXEC                      = 0x80000
-+	EFD_NONBLOCK                     = 0x800
-+	EPOLL_CLOEXEC                    = 0x80000
-+	EXTPROC                          = 0x10000000
-+	FF1                              = 0x4000
-+	FFDLY                            = 0x4000
-+	FLUSHO                           = 0x800000
-+	FS_IOC_ENABLE_VERITY             = 0x80806685
-+	FS_IOC_GETFLAGS                  = 0x40086601
-+	FS_IOC_GET_ENCRYPTION_POLICY     = 0x800c6615
-+	FS_IOC_GET_ENCRYPTION_PWSALT     = 0x80106614
-+	FS_IOC_SET_ENCRYPTION_POLICY     = 0x400c6613
-+	F_GETLK                          = 0x5
-+	F_GETLK64                        = 0xc
-+	F_GETOWN                         = 0x9
-+	F_RDLCK                          = 0x0
-+	F_SETLK                          = 0x6
-+	F_SETLK64                        = 0xd
-+	F_SETLKW                         = 0x7
-+	F_SETLKW64                       = 0xe
-+	F_SETOWN                         = 0x8
-+	F_UNLCK                          = 0x2
-+	F_WRLCK                          = 0x1
-+	HUPCL                            = 0x4000
-+	ICANON                           = 0x100
-+	IEXTEN                           = 0x400
-+	IN_CLOEXEC                       = 0x80000
-+	IN_NONBLOCK                      = 0x800
-+	IOCTL_VM_SOCKETS_GET_LOCAL_CID   = 0x200007b9
-+	ISIG                             = 0x80
-+	IUCLC                            = 0x1000
-+	IXOFF                            = 0x400
-+	IXON                             = 0x200
-+	MAP_ANON                         = 0x20
-+	MAP_ANONYMOUS                    = 0x20
-+	MAP_DENYWRITE                    = 0x800
-+	MAP_EXECUTABLE                   = 0x1000
-+	MAP_GROWSDOWN                    = 0x100
-+	MAP_HUGETLB                      = 0x40000
-+	MAP_LOCKED                       = 0x80
-+	MAP_NONBLOCK                     = 0x10000
-+	MAP_NORESERVE                    = 0x40
-+	MAP_POPULATE                     = 0x8000
-+	MAP_STACK                        = 0x20000
-+	MAP_SYNC                         = 0x80000
-+	MCL_CURRENT                      = 0x2000
-+	MCL_FUTURE                       = 0x4000
-+	MCL_ONFAULT                      = 0x8000
-+	NFDBITS                          = 0x40
-+	NL2                              = 0x200
-+	NL3                              = 0x300
-+	NLDLY                            = 0x300
-+	NOFLSH                           = 0x80000000
-+	NS_GET_NSTYPE                    = 0x2000b703
-+	NS_GET_OWNER_UID                 = 0x2000b704
-+	NS_GET_PARENT                    = 0x2000b702
-+	NS_GET_USERNS                    = 0x2000b701
-+	OLCUC                            = 0x4
-+	ONLCR                            = 0x2
-+	O_APPEND                         = 0x400
-+	O_ASYNC                          = 0x2000
-+	O_CLOEXEC                        = 0x80000
-+	O_CREAT                          = 0x40
-+	O_DIRECT                         = 0x20000
-+	O_DIRECTORY                      = 0x4000
-+	O_DSYNC                          = 0x1000
-+	O_EXCL                           = 0x80
-+	O_FSYNC                          = 0x101000
-+	O_LARGEFILE                      = 0x0
-+	O_NDELAY                         = 0x800
-+	O_NOATIME                        = 0x40000
-+	O_NOCTTY                         = 0x100
-+	O_NOFOLLOW                       = 0x8000
-+	O_NONBLOCK                       = 0x800
-+	O_PATH                           = 0x200000
-+	O_RSYNC                          = 0x101000
-+	O_SYNC                           = 0x101000
-+	O_TMPFILE                        = 0x404000
-+	O_TRUNC                          = 0x200
-+	PARENB                           = 0x1000
-+	PARODD                           = 0x2000
-+	PENDIN                           = 0x20000000
-+	PERF_EVENT_IOC_DISABLE           = 0x20002401
-+	PERF_EVENT_IOC_ENABLE            = 0x20002400
-+	PERF_EVENT_IOC_ID                = 0x40082407
-+	PERF_EVENT_IOC_MODIFY_ATTRIBUTES = 0x8008240b
-+	PERF_EVENT_IOC_PAUSE_OUTPUT      = 0x80042409
-+	PERF_EVENT_IOC_PERIOD            = 0x80082404
-+	PERF_EVENT_IOC_QUERY_BPF         = 0xc008240a
-+	PERF_EVENT_IOC_REFRESH           = 0x20002402
-+	PERF_EVENT_IOC_RESET             = 0x20002403
-+	PERF_EVENT_IOC_SET_BPF           = 0x80042408
-+	PERF_EVENT_IOC_SET_FILTER        = 0x80082406
-+	PERF_EVENT_IOC_SET_OUTPUT        = 0x20002405
-+	PPPIOCATTACH                     = 0x8004743d
-+	PPPIOCATTCHAN                    = 0x80047438
-+	PPPIOCCONNECT                    = 0x8004743a
-+	PPPIOCDETACH                     = 0x8004743c
-+	PPPIOCDISCONN                    = 0x20007439
-+	PPPIOCGASYNCMAP                  = 0x40047458
-+	PPPIOCGCHAN                      = 0x40047437
-+	PPPIOCGDEBUG                     = 0x40047441
-+	PPPIOCGFLAGS                     = 0x4004745a
-+	PPPIOCGIDLE                      = 0x4010743f
-+	PPPIOCGIDLE32                    = 0x4008743f
-+	PPPIOCGIDLE64                    = 0x4010743f
-+	PPPIOCGL2TPSTATS                 = 0x40487436
-+	PPPIOCGMRU                       = 0x40047453
-+	PPPIOCGRASYNCMAP                 = 0x40047455
-+	PPPIOCGUNIT                      = 0x40047456
-+	PPPIOCGXASYNCMAP                 = 0x40207450
-+	PPPIOCSACTIVE                    = 0x80107446
-+	PPPIOCSASYNCMAP                  = 0x80047457
-+	PPPIOCSCOMPRESS                  = 0x8010744d
-+	PPPIOCSDEBUG                     = 0x80047440
-+	PPPIOCSFLAGS                     = 0x80047459
-+	PPPIOCSMAXCID                    = 0x80047451
-+	PPPIOCSMRRU                      = 0x8004743b
-+	PPPIOCSMRU                       = 0x80047452
-+	PPPIOCSNPMODE                    = 0x8008744b
-+	PPPIOCSPASS                      = 0x80107447
-+	PPPIOCSRASYNCMAP                 = 0x80047454
-+	PPPIOCSXASYNCMAP                 = 0x8020744f
-+	PPPIOCXFERUNIT                   = 0x2000744e
-+	PROT_SAO                         = 0x10
-+	PR_SET_PTRACER_ANY               = 0xffffffffffffffff
-+	PTRACE_GETEVRREGS                = 0x14
-+	PTRACE_GETFPREGS                 = 0xe
-+	PTRACE_GETREGS64                 = 0x16
-+	PTRACE_GETVRREGS                 = 0x12
-+	PTRACE_GETVSRREGS                = 0x1b
-+	PTRACE_GET_DEBUGREG              = 0x19
-+	PTRACE_SETEVRREGS                = 0x15
-+	PTRACE_SETFPREGS                 = 0xf
-+	PTRACE_SETREGS64                 = 0x17
-+	PTRACE_SETVRREGS                 = 0x13
-+	PTRACE_SETVSRREGS                = 0x1c
-+	PTRACE_SET_DEBUGREG              = 0x1a
-+	PTRACE_SINGLEBLOCK               = 0x100
-+	PTRACE_SYSEMU                    = 0x1d
-+	PTRACE_SYSEMU_SINGLESTEP         = 0x1e
-+	PT_CCR                           = 0x26
-+	PT_CTR                           = 0x23
-+	PT_DAR                           = 0x29
-+	PT_DSCR                          = 0x2c
-+	PT_DSISR                         = 0x2a
-+	PT_FPR0                          = 0x30
-+	PT_FPSCR                         = 0x50
-+	PT_LNK                           = 0x24
-+	PT_MSR                           = 0x21
-+	PT_NIP                           = 0x20
-+	PT_ORIG_R3                       = 0x22
-+	PT_R0                            = 0x0
-+	PT_R1                            = 0x1
-+	PT_R10                           = 0xa
-+	PT_R11                           = 0xb
-+	PT_R12                           = 0xc
-+	PT_R13                           = 0xd
-+	PT_R14                           = 0xe
-+	PT_R15                           = 0xf
-+	PT_R16                           = 0x10
-+	PT_R17                           = 0x11
-+	PT_R18                           = 0x12
-+	PT_R19                           = 0x13
-+	PT_R2                            = 0x2
-+	PT_R20                           = 0x14
-+	PT_R21                           = 0x15
-+	PT_R22                           = 0x16
-+	PT_R23                           = 0x17
-+	PT_R24                           = 0x18
-+	PT_R25                           = 0x19
-+	PT_R26                           = 0x1a
-+	PT_R27                           = 0x1b
-+	PT_R28                           = 0x1c
-+	PT_R29                           = 0x1d
-+	PT_R3                            = 0x3
-+	PT_R30                           = 0x1e
-+	PT_R31                           = 0x1f
-+	PT_R4                            = 0x4
-+	PT_R5                            = 0x5
-+	PT_R6                            = 0x6
-+	PT_R7                            = 0x7
-+	PT_R8                            = 0x8
-+	PT_R9                            = 0x9
-+	PT_REGS_COUNT                    = 0x2c
-+	PT_RESULT                        = 0x2b
-+	PT_SOFTE                         = 0x27
-+	PT_TRAP                          = 0x28
-+	PT_VR0                           = 0x52
-+	PT_VRSAVE                        = 0x94
-+	PT_VSCR                          = 0x93
-+	PT_VSR0                          = 0x96
-+	PT_VSR31                         = 0xd4
-+	PT_XER                           = 0x25
-+	RLIMIT_AS                        = 0x9
-+	RLIMIT_MEMLOCK                   = 0x8
-+	RLIMIT_NOFILE                    = 0x7
-+	RLIMIT_NPROC                     = 0x6
-+	RLIMIT_RSS                       = 0x5
-+	RNDADDENTROPY                    = 0x80085203
-+	RNDADDTOENTCNT                   = 0x80045201
-+	RNDCLEARPOOL                     = 0x20005206
-+	RNDGETENTCNT                     = 0x40045200
-+	RNDGETPOOL                       = 0x40085202
-+	RNDRESEEDCRNG                    = 0x20005207
-+	RNDZAPENTCNT                     = 0x20005204
-+	RTC_AIE_OFF                      = 0x20007002
-+	RTC_AIE_ON                       = 0x20007001
-+	RTC_ALM_READ                     = 0x40247008
-+	RTC_ALM_SET                      = 0x80247007
-+	RTC_EPOCH_READ                   = 0x4008700d
-+	RTC_EPOCH_SET                    = 0x8008700e
-+	RTC_IRQP_READ                    = 0x4008700b
-+	RTC_IRQP_SET                     = 0x8008700c
-+	RTC_PIE_OFF                      = 0x20007006
-+	RTC_PIE_ON                       = 0x20007005
-+	RTC_PLL_GET                      = 0x40207011
-+	RTC_PLL_SET                      = 0x80207012
-+	RTC_RD_TIME                      = 0x40247009
-+	RTC_SET_TIME                     = 0x8024700a
-+	RTC_UIE_OFF                      = 0x20007004
-+	RTC_UIE_ON                       = 0x20007003
-+	RTC_VL_CLR                       = 0x20007014
-+	RTC_VL_READ                      = 0x40047013
-+	RTC_WIE_OFF                      = 0x20007010
-+	RTC_WIE_ON                       = 0x2000700f
-+	RTC_WKALM_RD                     = 0x40287010
-+	RTC_WKALM_SET                    = 0x8028700f
-+	SCM_TIMESTAMPING                 = 0x25
-+	SCM_TIMESTAMPING_OPT_STATS       = 0x36
-+	SCM_TIMESTAMPING_PKTINFO         = 0x3a
-+	SCM_TIMESTAMPNS                  = 0x23
-+	SCM_TXTIME                       = 0x3d
-+	SCM_WIFI_STATUS                  = 0x29
-+	SFD_CLOEXEC                      = 0x80000
-+	SFD_NONBLOCK                     = 0x800
-+	SIOCATMARK                       = 0x8905
-+	SIOCGPGRP                        = 0x8904
-+	SIOCGSTAMPNS_NEW                 = 0x40108907
-+	SIOCGSTAMP_NEW                   = 0x40108906
-+	SIOCINQ                          = 0x4004667f
-+	SIOCOUTQ                         = 0x40047473
-+	SIOCSPGRP                        = 0x8902
-+	SOCK_CLOEXEC                     = 0x80000
-+	SOCK_DGRAM                       = 0x2
-+	SOCK_NONBLOCK                    = 0x800
-+	SOCK_STREAM                      = 0x1
-+	SOL_SOCKET                       = 0x1
-+	SO_ACCEPTCONN                    = 0x1e
-+	SO_ATTACH_BPF                    = 0x32
-+	SO_ATTACH_REUSEPORT_CBPF         = 0x33
-+	SO_ATTACH_REUSEPORT_EBPF         = 0x34
-+	SO_BINDTODEVICE                  = 0x19
-+	SO_BINDTOIFINDEX                 = 0x3e
-+	SO_BPF_EXTENSIONS                = 0x30
-+	SO_BROADCAST                     = 0x6
-+	SO_BSDCOMPAT                     = 0xe
-+	SO_BUSY_POLL                     = 0x2e
-+	SO_CNX_ADVICE                    = 0x35
-+	SO_COOKIE                        = 0x39
-+	SO_DETACH_REUSEPORT_BPF          = 0x44
-+	SO_DOMAIN                        = 0x27
-+	SO_DONTROUTE                     = 0x5
-+	SO_ERROR                         = 0x4
-+	SO_INCOMING_CPU                  = 0x31
-+	SO_INCOMING_NAPI_ID              = 0x38
-+	SO_KEEPALIVE                     = 0x9
-+	SO_LINGER                        = 0xd
-+	SO_LOCK_FILTER                   = 0x2c
-+	SO_MARK                          = 0x24
-+	SO_MAX_PACING_RATE               = 0x2f
-+	SO_MEMINFO                       = 0x37
-+	SO_NOFCS                         = 0x2b
-+	SO_OOBINLINE                     = 0xa
-+	SO_PASSCRED                      = 0x14
-+	SO_PASSSEC                       = 0x22
-+	SO_PEEK_OFF                      = 0x2a
-+	SO_PEERCRED                      = 0x15
-+	SO_PEERGROUPS                    = 0x3b
-+	SO_PEERSEC                       = 0x1f
-+	SO_PROTOCOL                      = 0x26
-+	SO_RCVBUF                        = 0x8
-+	SO_RCVBUFFORCE                   = 0x21
-+	SO_RCVLOWAT                      = 0x10
-+	SO_RCVTIMEO                      = 0x12
-+	SO_RCVTIMEO_NEW                  = 0x42
-+	SO_RCVTIMEO_OLD                  = 0x12
-+	SO_REUSEADDR                     = 0x2
-+	SO_REUSEPORT                     = 0xf
-+	SO_RXQ_OVFL                      = 0x28
-+	SO_SECURITY_AUTHENTICATION       = 0x16
-+	SO_SECURITY_ENCRYPTION_NETWORK   = 0x18
-+	SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17
-+	SO_SELECT_ERR_QUEUE              = 0x2d
-+	SO_SNDBUF                        = 0x7
-+	SO_SNDBUFFORCE                   = 0x20
-+	SO_SNDLOWAT                      = 0x11
-+	SO_SNDTIMEO                      = 0x13
-+	SO_SNDTIMEO_NEW                  = 0x43
-+	SO_SNDTIMEO_OLD                  = 0x13
-+	SO_TIMESTAMPING                  = 0x25
-+	SO_TIMESTAMPING_NEW              = 0x41
-+	SO_TIMESTAMPING_OLD              = 0x25
-+	SO_TIMESTAMPNS                   = 0x23
-+	SO_TIMESTAMPNS_NEW               = 0x40
-+	SO_TIMESTAMPNS_OLD               = 0x23
-+	SO_TIMESTAMP_NEW                 = 0x3f
-+	SO_TXTIME                        = 0x3d
-+	SO_TYPE                          = 0x3
-+	SO_WIFI_STATUS                   = 0x29
-+	SO_ZEROCOPY                      = 0x3c
-+	TAB1                             = 0x400
-+	TAB2                             = 0x800
-+	TAB3                             = 0xc00
-+	TABDLY                           = 0xc00
-+	TCFLSH                           = 0x2000741f
-+	TCGETA                           = 0x40147417
-+	TCGETS                           = 0x402c7413
-+	TCSAFLUSH                        = 0x2
-+	TCSBRK                           = 0x2000741d
-+	TCSBRKP                          = 0x5425
-+	TCSETA                           = 0x80147418
-+	TCSETAF                          = 0x8014741c
-+	TCSETAW                          = 0x80147419
-+	TCSETS                           = 0x802c7414
-+	TCSETSF                          = 0x802c7416
-+	TCSETSW                          = 0x802c7415
-+	TCXONC                           = 0x2000741e
-+	TIOCCBRK                         = 0x5428
-+	TIOCCONS                         = 0x541d
-+	TIOCEXCL                         = 0x540c
-+	TIOCGDEV                         = 0x40045432
-+	TIOCGETC                         = 0x40067412
-+	TIOCGETD                         = 0x5424
-+	TIOCGETP                         = 0x40067408
-+	TIOCGEXCL                        = 0x40045440
-+	TIOCGICOUNT                      = 0x545d
-+	TIOCGISO7816                     = 0x40285442
-+	TIOCGLCKTRMIOS                   = 0x5456
-+	TIOCGLTC                         = 0x40067474
-+	TIOCGPGRP                        = 0x40047477
-+	TIOCGPKT                         = 0x40045438
-+	TIOCGPTLCK                       = 0x40045439
-+	TIOCGPTN                         = 0x40045430
-+	TIOCGPTPEER                      = 0x20005441
-+	TIOCGRS485                       = 0x542e
-+	TIOCGSERIAL                      = 0x541e
-+	TIOCGSID                         = 0x5429
-+	TIOCGSOFTCAR                     = 0x5419
-+	TIOCGWINSZ                       = 0x40087468
-+	TIOCINQ                          = 0x4004667f
-+	TIOCLINUX                        = 0x541c
-+	TIOCMBIC                         = 0x5417
-+	TIOCMBIS                         = 0x5416
-+	TIOCMGET                         = 0x5415
-+	TIOCMIWAIT                       = 0x545c
-+	TIOCMSET                         = 0x5418
-+	TIOCM_CAR                        = 0x40
-+	TIOCM_CD                         = 0x40
-+	TIOCM_CTS                        = 0x20
-+	TIOCM_DSR                        = 0x100
-+	TIOCM_LOOP                       = 0x8000
-+	TIOCM_OUT1                       = 0x2000
-+	TIOCM_OUT2                       = 0x4000
-+	TIOCM_RI                         = 0x80
-+	TIOCM_RNG                        = 0x80
-+	TIOCM_SR                         = 0x10
-+	TIOCM_ST                         = 0x8
-+	TIOCNOTTY                        = 0x5422
-+	TIOCNXCL                         = 0x540d
-+	TIOCOUTQ                         = 0x40047473
-+	TIOCPKT                          = 0x5420
-+	TIOCSBRK                         = 0x5427
-+	TIOCSCTTY                        = 0x540e
-+	TIOCSERCONFIG                    = 0x5453
-+	TIOCSERGETLSR                    = 0x5459
-+	TIOCSERGETMULTI                  = 0x545a
-+	TIOCSERGSTRUCT                   = 0x5458
-+	TIOCSERGWILD                     = 0x5454
-+	TIOCSERSETMULTI                  = 0x545b
-+	TIOCSERSWILD                     = 0x5455
-+	TIOCSER_TEMT                     = 0x1
-+	TIOCSETC                         = 0x80067411
-+	TIOCSETD                         = 0x5423
-+	TIOCSETN                         = 0x8006740a
-+	TIOCSETP                         = 0x80067409
-+	TIOCSIG                          = 0x80045436
-+	TIOCSISO7816                     = 0xc0285443
-+	TIOCSLCKTRMIOS                   = 0x5457
-+	TIOCSLTC                         = 0x80067475
-+	TIOCSPGRP                        = 0x80047476
-+	TIOCSPTLCK                       = 0x80045431
-+	TIOCSRS485                       = 0x542f
-+	TIOCSSERIAL                      = 0x541f
-+	TIOCSSOFTCAR                     = 0x541a
-+	TIOCSTART                        = 0x2000746e
-+	TIOCSTI                          = 0x5412
-+	TIOCSTOP                         = 0x2000746f
-+	TIOCSWINSZ                       = 0x80087467
-+	TIOCVHANGUP                      = 0x5437
-+	TOSTOP                           = 0x400000
-+	TUNATTACHFILTER                  = 0x801054d5
-+	TUNDETACHFILTER                  = 0x801054d6
-+	TUNGETDEVNETNS                   = 0x200054e3
-+	TUNGETFEATURES                   = 0x400454cf
-+	TUNGETFILTER                     = 0x401054db
-+	TUNGETIFF                        = 0x400454d2
-+	TUNGETSNDBUF                     = 0x400454d3
-+	TUNGETVNETBE                     = 0x400454df
-+	TUNGETVNETHDRSZ                  = 0x400454d7
-+	TUNGETVNETLE                     = 0x400454dd
-+	TUNSETCARRIER                    = 0x800454e2
-+	TUNSETDEBUG                      = 0x800454c9
-+	TUNSETFILTEREBPF                 = 0x400454e1
-+	TUNSETGROUP                      = 0x800454ce
-+	TUNSETIFF                        = 0x800454ca
-+	TUNSETIFINDEX                    = 0x800454da
-+	TUNSETLINK                       = 0x800454cd
-+	TUNSETNOCSUM                     = 0x800454c8
-+	TUNSETOFFLOAD                    = 0x800454d0
-+	TUNSETOWNER                      = 0x800454cc
-+	TUNSETPERSIST                    = 0x800454cb
-+	TUNSETQUEUE                      = 0x800454d9
-+	TUNSETSNDBUF                     = 0x800454d4
-+	TUNSETSTEERINGEBPF               = 0x400454e0
-+	TUNSETTXFILTER                   = 0x800454d1
-+	TUNSETVNETBE                     = 0x800454de
-+	TUNSETVNETHDRSZ                  = 0x800454d8
-+	TUNSETVNETLE                     = 0x800454dc
-+	UBI_IOCATT                       = 0x80186f40
-+	UBI_IOCDET                       = 0x80046f41
-+	UBI_IOCEBCH                      = 0x80044f02
-+	UBI_IOCEBER                      = 0x80044f01
-+	UBI_IOCEBISMAP                   = 0x40044f05
-+	UBI_IOCEBMAP                     = 0x80084f03
-+	UBI_IOCEBUNMAP                   = 0x80044f04
-+	UBI_IOCMKVOL                     = 0x80986f00
-+	UBI_IOCRMVOL                     = 0x80046f01
-+	UBI_IOCRNVOL                     = 0x91106f03
-+	UBI_IOCRPEB                      = 0x80046f04
-+	UBI_IOCRSVOL                     = 0x800c6f02
-+	UBI_IOCSETVOLPROP                = 0x80104f06
-+	UBI_IOCSPEB                      = 0x80046f05
-+	UBI_IOCVOLCRBLK                  = 0x80804f07
-+	UBI_IOCVOLRMBLK                  = 0x20004f08
-+	UBI_IOCVOLUP                     = 0x80084f00
-+	VDISCARD                         = 0x10
-+	VEOF                             = 0x4
-+	VEOL                             = 0x6
-+	VEOL2                            = 0x8
-+	VMIN                             = 0x5
-+	VREPRINT                         = 0xb
-+	VSTART                           = 0xd
-+	VSTOP                            = 0xe
-+	VSUSP                            = 0xc
-+	VSWTC                            = 0x9
-+	VT1                              = 0x10000
-+	VTDLY                            = 0x10000
-+	VTIME                            = 0x7
-+	VWERASE                          = 0xa
-+	WDIOC_GETBOOTSTATUS              = 0x40045702
-+	WDIOC_GETPRETIMEOUT              = 0x40045709
-+	WDIOC_GETSTATUS                  = 0x40045701
-+	WDIOC_GETSUPPORT                 = 0x40285700
-+	WDIOC_GETTEMP                    = 0x40045703
-+	WDIOC_GETTIMELEFT                = 0x4004570a
-+	WDIOC_GETTIMEOUT                 = 0x40045707
-+	WDIOC_KEEPALIVE                  = 0x40045705
-+	WDIOC_SETOPTIONS                 = 0x40045704
-+	WORDSIZE                         = 0x40
-+	XCASE                            = 0x4000
-+	XTABS                            = 0xc00
- )
- 
- // Errors
- const (
--	E2BIG           = syscall.Errno(0x7)
--	EACCES          = syscall.Errno(0xd)
- 	EADDRINUSE      = syscall.Errno(0x62)
- 	EADDRNOTAVAIL   = syscall.Errno(0x63)
- 	EADV            = syscall.Errno(0x44)
- 	EAFNOSUPPORT    = syscall.Errno(0x61)
--	EAGAIN          = syscall.Errno(0xb)
- 	EALREADY        = syscall.Errno(0x72)
- 	EBADE           = syscall.Errno(0x34)
--	EBADF           = syscall.Errno(0x9)
- 	EBADFD          = syscall.Errno(0x4d)
- 	EBADMSG         = syscall.Errno(0x4a)
- 	EBADR           = syscall.Errno(0x35)
- 	EBADRQC         = syscall.Errno(0x38)
- 	EBADSLT         = syscall.Errno(0x39)
- 	EBFONT          = syscall.Errno(0x3b)
--	EBUSY           = syscall.Errno(0x10)
- 	ECANCELED       = syscall.Errno(0x7d)
--	ECHILD          = syscall.Errno(0xa)
- 	ECHRNG          = syscall.Errno(0x2c)
- 	ECOMM           = syscall.Errno(0x46)
- 	ECONNABORTED    = syscall.Errno(0x67)
-@@ -1943,23 +562,15 @@ const (
- 	EDEADLK         = syscall.Errno(0x23)
- 	EDEADLOCK       = syscall.Errno(0x3a)
- 	EDESTADDRREQ    = syscall.Errno(0x59)
--	EDOM            = syscall.Errno(0x21)
- 	EDOTDOT         = syscall.Errno(0x49)
- 	EDQUOT          = syscall.Errno(0x7a)
--	EEXIST          = syscall.Errno(0x11)
--	EFAULT          = syscall.Errno(0xe)
--	EFBIG           = syscall.Errno(0x1b)
- 	EHOSTDOWN       = syscall.Errno(0x70)
- 	EHOSTUNREACH    = syscall.Errno(0x71)
- 	EHWPOISON       = syscall.Errno(0x85)
- 	EIDRM           = syscall.Errno(0x2b)
- 	EILSEQ          = syscall.Errno(0x54)
- 	EINPROGRESS     = syscall.Errno(0x73)
--	EINTR           = syscall.Errno(0x4)
--	EINVAL          = syscall.Errno(0x16)
--	EIO             = syscall.Errno(0x5)
- 	EISCONN         = syscall.Errno(0x6a)
--	EISDIR          = syscall.Errno(0x15)
- 	EISNAM          = syscall.Errno(0x78)
- 	EKEYEXPIRED     = syscall.Errno(0x7f)
- 	EKEYREJECTED    = syscall.Errno(0x81)
-@@ -1976,8 +587,6 @@ const (
- 	ELNRNG          = syscall.Errno(0x30)
- 	ELOOP           = syscall.Errno(0x28)
- 	EMEDIUMTYPE     = syscall.Errno(0x7c)
--	EMFILE          = syscall.Errno(0x18)
--	EMLINK          = syscall.Errno(0x1f)
- 	EMSGSIZE        = syscall.Errno(0x5a)
- 	EMULTIHOP       = syscall.Errno(0x48)
- 	ENAMETOOLONG    = syscall.Errno(0x24)
-@@ -1985,103 +594,70 @@ const (
- 	ENETDOWN        = syscall.Errno(0x64)
- 	ENETRESET       = syscall.Errno(0x66)
- 	ENETUNREACH     = syscall.Errno(0x65)
--	ENFILE          = syscall.Errno(0x17)
- 	ENOANO          = syscall.Errno(0x37)
- 	ENOBUFS         = syscall.Errno(0x69)
- 	ENOCSI          = syscall.Errno(0x32)
- 	ENODATA         = syscall.Errno(0x3d)
--	ENODEV          = syscall.Errno(0x13)
--	ENOENT          = syscall.Errno(0x2)
--	ENOEXEC         = syscall.Errno(0x8)
- 	ENOKEY          = syscall.Errno(0x7e)
- 	ENOLCK          = syscall.Errno(0x25)
- 	ENOLINK         = syscall.Errno(0x43)
- 	ENOMEDIUM       = syscall.Errno(0x7b)
--	ENOMEM          = syscall.Errno(0xc)
- 	ENOMSG          = syscall.Errno(0x2a)
- 	ENONET          = syscall.Errno(0x40)
- 	ENOPKG          = syscall.Errno(0x41)
- 	ENOPROTOOPT     = syscall.Errno(0x5c)
--	ENOSPC          = syscall.Errno(0x1c)
- 	ENOSR           = syscall.Errno(0x3f)
- 	ENOSTR          = syscall.Errno(0x3c)
- 	ENOSYS          = syscall.Errno(0x26)
--	ENOTBLK         = syscall.Errno(0xf)
- 	ENOTCONN        = syscall.Errno(0x6b)
--	ENOTDIR         = syscall.Errno(0x14)
- 	ENOTEMPTY       = syscall.Errno(0x27)
- 	ENOTNAM         = syscall.Errno(0x76)
- 	ENOTRECOVERABLE = syscall.Errno(0x83)
- 	ENOTSOCK        = syscall.Errno(0x58)
- 	ENOTSUP         = syscall.Errno(0x5f)
--	ENOTTY          = syscall.Errno(0x19)
- 	ENOTUNIQ        = syscall.Errno(0x4c)
--	ENXIO           = syscall.Errno(0x6)
- 	EOPNOTSUPP      = syscall.Errno(0x5f)
- 	EOVERFLOW       = syscall.Errno(0x4b)
- 	EOWNERDEAD      = syscall.Errno(0x82)
--	EPERM           = syscall.Errno(0x1)
- 	EPFNOSUPPORT    = syscall.Errno(0x60)
--	EPIPE           = syscall.Errno(0x20)
- 	EPROTO          = syscall.Errno(0x47)
- 	EPROTONOSUPPORT = syscall.Errno(0x5d)
- 	EPROTOTYPE      = syscall.Errno(0x5b)
--	ERANGE          = syscall.Errno(0x22)
- 	EREMCHG         = syscall.Errno(0x4e)
- 	EREMOTE         = syscall.Errno(0x42)
- 	EREMOTEIO       = syscall.Errno(0x79)
- 	ERESTART        = syscall.Errno(0x55)
- 	ERFKILL         = syscall.Errno(0x84)
--	EROFS           = syscall.Errno(0x1e)
- 	ESHUTDOWN       = syscall.Errno(0x6c)
- 	ESOCKTNOSUPPORT = syscall.Errno(0x5e)
--	ESPIPE          = syscall.Errno(0x1d)
--	ESRCH           = syscall.Errno(0x3)
- 	ESRMNT          = syscall.Errno(0x45)
- 	ESTALE          = syscall.Errno(0x74)
- 	ESTRPIPE        = syscall.Errno(0x56)
- 	ETIME           = syscall.Errno(0x3e)
- 	ETIMEDOUT       = syscall.Errno(0x6e)
- 	ETOOMANYREFS    = syscall.Errno(0x6d)
--	ETXTBSY         = syscall.Errno(0x1a)
- 	EUCLEAN         = syscall.Errno(0x75)
- 	EUNATCH         = syscall.Errno(0x31)
- 	EUSERS          = syscall.Errno(0x57)
--	EWOULDBLOCK     = syscall.Errno(0xb)
--	EXDEV           = syscall.Errno(0x12)
- 	EXFULL          = syscall.Errno(0x36)
- )
- 
- // Signals
- const (
--	SIGABRT   = syscall.Signal(0x6)
--	SIGALRM   = syscall.Signal(0xe)
- 	SIGBUS    = syscall.Signal(0x7)
- 	SIGCHLD   = syscall.Signal(0x11)
- 	SIGCLD    = syscall.Signal(0x11)
- 	SIGCONT   = syscall.Signal(0x12)
--	SIGFPE    = syscall.Signal(0x8)
--	SIGHUP    = syscall.Signal(0x1)
--	SIGILL    = syscall.Signal(0x4)
--	SIGINT    = syscall.Signal(0x2)
- 	SIGIO     = syscall.Signal(0x1d)
--	SIGIOT    = syscall.Signal(0x6)
--	SIGKILL   = syscall.Signal(0x9)
--	SIGPIPE   = syscall.Signal(0xd)
- 	SIGPOLL   = syscall.Signal(0x1d)
- 	SIGPROF   = syscall.Signal(0x1b)
- 	SIGPWR    = syscall.Signal(0x1e)
--	SIGQUIT   = syscall.Signal(0x3)
--	SIGSEGV   = syscall.Signal(0xb)
- 	SIGSTKFLT = syscall.Signal(0x10)
- 	SIGSTOP   = syscall.Signal(0x13)
- 	SIGSYS    = syscall.Signal(0x1f)
--	SIGTERM   = syscall.Signal(0xf)
--	SIGTRAP   = syscall.Signal(0x5)
- 	SIGTSTP   = syscall.Signal(0x14)
- 	SIGTTIN   = syscall.Signal(0x15)
- 	SIGTTOU   = syscall.Signal(0x16)
--	SIGUNUSED = syscall.Signal(0x1f)
- 	SIGURG    = syscall.Signal(0x17)
- 	SIGUSR1   = syscall.Signal(0xa)
- 	SIGUSR2   = syscall.Signal(0xc)
-@@ -2092,172 +668,180 @@ const (
- )
- 
- // Error table
--var errors = [...]string{
--	1:   "operation not permitted",
--	2:   "no such file or directory",
--	3:   "no such process",
--	4:   "interrupted system call",
--	5:   "input/output error",
--	6:   "no such device or address",
--	7:   "argument list too long",
--	8:   "exec format error",
--	9:   "bad file descriptor",
--	10:  "no child processes",
--	11:  "resource temporarily unavailable",
--	12:  "cannot allocate memory",
--	13:  "permission denied",
--	14:  "bad address",
--	15:  "block device required",
--	16:  "device or resource busy",
--	17:  "file exists",
--	18:  "invalid cross-device link",
--	19:  "no such device",
--	20:  "not a directory",
--	21:  "is a directory",
--	22:  "invalid argument",
--	23:  "too many open files in system",
--	24:  "too many open files",
--	25:  "inappropriate ioctl for device",
--	26:  "text file busy",
--	27:  "file too large",
--	28:  "no space left on device",
--	29:  "illegal seek",
--	30:  "read-only file system",
--	31:  "too many links",
--	32:  "broken pipe",
--	33:  "numerical argument out of domain",
--	34:  "numerical result out of range",
--	35:  "resource deadlock avoided",
--	36:  "file name too long",
--	37:  "no locks available",
--	38:  "function not implemented",
--	39:  "directory not empty",
--	40:  "too many levels of symbolic links",
--	42:  "no message of desired type",
--	43:  "identifier removed",
--	44:  "channel number out of range",
--	45:  "level 2 not synchronized",
--	46:  "level 3 halted",
--	47:  "level 3 reset",
--	48:  "link number out of range",
--	49:  "protocol driver not attached",
--	50:  "no CSI structure available",
--	51:  "level 2 halted",
--	52:  "invalid exchange",
--	53:  "invalid request descriptor",
--	54:  "exchange full",
--	55:  "no anode",
--	56:  "invalid request code",
--	57:  "invalid slot",
--	58:  "file locking deadlock error",
--	59:  "bad font file format",
--	60:  "device not a stream",
--	61:  "no data available",
--	62:  "timer expired",
--	63:  "out of streams resources",
--	64:  "machine is not on the network",
--	65:  "package not installed",
--	66:  "object is remote",
--	67:  "link has been severed",
--	68:  "advertise error",
--	69:  "srmount error",
--	70:  "communication error on send",
--	71:  "protocol error",
--	72:  "multihop attempted",
--	73:  "RFS specific error",
--	74:  "bad message",
--	75:  "value too large for defined data type",
--	76:  "name not unique on network",
--	77:  "file descriptor in bad state",
--	78:  "remote address changed",
--	79:  "can not access a needed shared library",
--	80:  "accessing a corrupted shared library",
--	81:  ".lib section in a.out corrupted",
--	82:  "attempting to link in too many shared libraries",
--	83:  "cannot exec a shared library directly",
--	84:  "invalid or incomplete multibyte or wide character",
--	85:  "interrupted system call should be restarted",
--	86:  "streams pipe error",
--	87:  "too many users",
--	88:  "socket operation on non-socket",
--	89:  "destination address required",
--	90:  "message too long",
--	91:  "protocol wrong type for socket",
--	92:  "protocol not available",
--	93:  "protocol not supported",
--	94:  "socket type not supported",
--	95:  "operation not supported",
--	96:  "protocol family not supported",
--	97:  "address family not supported by protocol",
--	98:  "address already in use",
--	99:  "cannot assign requested address",
--	100: "network is down",
--	101: "network is unreachable",
--	102: "network dropped connection on reset",
--	103: "software caused connection abort",
--	104: "connection reset by peer",
--	105: "no buffer space available",
--	106: "transport endpoint is already connected",
--	107: "transport endpoint is not connected",
--	108: "cannot send after transport endpoint shutdown",
--	109: "too many references: cannot splice",
--	110: "connection timed out",
--	111: "connection refused",
--	112: "host is down",
--	113: "no route to host",
--	114: "operation already in progress",
--	115: "operation now in progress",
--	116: "stale file handle",
--	117: "structure needs cleaning",
--	118: "not a XENIX named type file",
--	119: "no XENIX semaphores available",
--	120: "is a named type file",
--	121: "remote I/O error",
--	122: "disk quota exceeded",
--	123: "no medium found",
--	124: "wrong medium type",
--	125: "operation canceled",
--	126: "required key not available",
--	127: "key has expired",
--	128: "key has been revoked",
--	129: "key was rejected by service",
--	130: "owner died",
--	131: "state not recoverable",
--	132: "operation not possible due to RF-kill",
--	133: "memory page has hardware error",
-+var errorList = [...]struct {
-+	num  syscall.Errno
-+	name string
-+	desc string
-+}{
-+	{1, "EPERM", "operation not permitted"},
-+	{2, "ENOENT", "no such file or directory"},
-+	{3, "ESRCH", "no such process"},
-+	{4, "EINTR", "interrupted system call"},
-+	{5, "EIO", "input/output error"},
-+	{6, "ENXIO", "no such device or address"},
-+	{7, "E2BIG", "argument list too long"},
-+	{8, "ENOEXEC", "exec format error"},
-+	{9, "EBADF", "bad file descriptor"},
-+	{10, "ECHILD", "no child processes"},
-+	{11, "EAGAIN", "resource temporarily unavailable"},
-+	{12, "ENOMEM", "cannot allocate memory"},
-+	{13, "EACCES", "permission denied"},
-+	{14, "EFAULT", "bad address"},
-+	{15, "ENOTBLK", "block device required"},
-+	{16, "EBUSY", "device or resource busy"},
-+	{17, "EEXIST", "file exists"},
-+	{18, "EXDEV", "invalid cross-device link"},
-+	{19, "ENODEV", "no such device"},
-+	{20, "ENOTDIR", "not a directory"},
-+	{21, "EISDIR", "is a directory"},
-+	{22, "EINVAL", "invalid argument"},
-+	{23, "ENFILE", "too many open files in system"},
-+	{24, "EMFILE", "too many open files"},
-+	{25, "ENOTTY", "inappropriate ioctl for device"},
-+	{26, "ETXTBSY", "text file busy"},
-+	{27, "EFBIG", "file too large"},
-+	{28, "ENOSPC", "no space left on device"},
-+	{29, "ESPIPE", "illegal seek"},
-+	{30, "EROFS", "read-only file system"},
-+	{31, "EMLINK", "too many links"},
-+	{32, "EPIPE", "broken pipe"},
-+	{33, "EDOM", "numerical argument out of domain"},
-+	{34, "ERANGE", "numerical result out of range"},
-+	{35, "EDEADLK", "resource deadlock avoided"},
-+	{36, "ENAMETOOLONG", "file name too long"},
-+	{37, "ENOLCK", "no locks available"},
-+	{38, "ENOSYS", "function not implemented"},
-+	{39, "ENOTEMPTY", "directory not empty"},
-+	{40, "ELOOP", "too many levels of symbolic links"},
-+	{42, "ENOMSG", "no message of desired type"},
-+	{43, "EIDRM", "identifier removed"},
-+	{44, "ECHRNG", "channel number out of range"},
-+	{45, "EL2NSYNC", "level 2 not synchronized"},
-+	{46, "EL3HLT", "level 3 halted"},
-+	{47, "EL3RST", "level 3 reset"},
-+	{48, "ELNRNG", "link number out of range"},
-+	{49, "EUNATCH", "protocol driver not attached"},
-+	{50, "ENOCSI", "no CSI structure available"},
-+	{51, "EL2HLT", "level 2 halted"},
-+	{52, "EBADE", "invalid exchange"},
-+	{53, "EBADR", "invalid request descriptor"},
-+	{54, "EXFULL", "exchange full"},
-+	{55, "ENOANO", "no anode"},
-+	{56, "EBADRQC", "invalid request code"},
-+	{57, "EBADSLT", "invalid slot"},
-+	{58, "EDEADLOCK", "file locking deadlock error"},
-+	{59, "EBFONT", "bad font file format"},
-+	{60, "ENOSTR", "device not a stream"},
-+	{61, "ENODATA", "no data available"},
-+	{62, "ETIME", "timer expired"},
-+	{63, "ENOSR", "out of streams resources"},
-+	{64, "ENONET", "machine is not on the network"},
-+	{65, "ENOPKG", "package not installed"},
-+	{66, "EREMOTE", "object is remote"},
-+	{67, "ENOLINK", "link has been severed"},
-+	{68, "EADV", "advertise error"},
-+	{69, "ESRMNT", "srmount error"},
-+	{70, "ECOMM", "communication error on send"},
-+	{71, "EPROTO", "protocol error"},
-+	{72, "EMULTIHOP", "multihop attempted"},
-+	{73, "EDOTDOT", "RFS specific error"},
-+	{74, "EBADMSG", "bad message"},
-+	{75, "EOVERFLOW", "value too large for defined data type"},
-+	{76, "ENOTUNIQ", "name not unique on network"},
-+	{77, "EBADFD", "file descriptor in bad state"},
-+	{78, "EREMCHG", "remote address changed"},
-+	{79, "ELIBACC", "can not access a needed shared library"},
-+	{80, "ELIBBAD", "accessing a corrupted shared library"},
-+	{81, "ELIBSCN", ".lib section in a.out corrupted"},
-+	{82, "ELIBMAX", "attempting to link in too many shared libraries"},
-+	{83, "ELIBEXEC", "cannot exec a shared library directly"},
-+	{84, "EILSEQ", "invalid or incomplete multibyte or wide character"},
-+	{85, "ERESTART", "interrupted system call should be restarted"},
-+	{86, "ESTRPIPE", "streams pipe error"},
-+	{87, "EUSERS", "too many users"},
-+	{88, "ENOTSOCK", "socket operation on non-socket"},
-+	{89, "EDESTADDRREQ", "destination address required"},
-+	{90, "EMSGSIZE", "message too long"},
-+	{91, "EPROTOTYPE", "protocol wrong type for socket"},
-+	{92, "ENOPROTOOPT", "protocol not available"},
-+	{93, "EPROTONOSUPPORT", "protocol not supported"},
-+	{94, "ESOCKTNOSUPPORT", "socket type not supported"},
-+	{95, "ENOTSUP", "operation not supported"},
-+	{96, "EPFNOSUPPORT", "protocol family not supported"},
-+	{97, "EAFNOSUPPORT", "address family not supported by protocol"},
-+	{98, "EADDRINUSE", "address already in use"},
-+	{99, "EADDRNOTAVAIL", "cannot assign requested address"},
-+	{100, "ENETDOWN", "network is down"},
-+	{101, "ENETUNREACH", "network is unreachable"},
-+	{102, "ENETRESET", "network dropped connection on reset"},
-+	{103, "ECONNABORTED", "software caused connection abort"},
-+	{104, "ECONNRESET", "connection reset by peer"},
-+	{105, "ENOBUFS", "no buffer space available"},
-+	{106, "EISCONN", "transport endpoint is already connected"},
-+	{107, "ENOTCONN", "transport endpoint is not connected"},
-+	{108, "ESHUTDOWN", "cannot send after transport endpoint shutdown"},
-+	{109, "ETOOMANYREFS", "too many references: cannot splice"},
-+	{110, "ETIMEDOUT", "connection timed out"},
-+	{111, "ECONNREFUSED", "connection refused"},
-+	{112, "EHOSTDOWN", "host is down"},
-+	{113, "EHOSTUNREACH", "no route to host"},
-+	{114, "EALREADY", "operation already in progress"},
-+	{115, "EINPROGRESS", "operation now in progress"},
-+	{116, "ESTALE", "stale file handle"},
-+	{117, "EUCLEAN", "structure needs cleaning"},
-+	{118, "ENOTNAM", "not a XENIX named type file"},
-+	{119, "ENAVAIL", "no XENIX semaphores available"},
-+	{120, "EISNAM", "is a named type file"},
-+	{121, "EREMOTEIO", "remote I/O error"},
-+	{122, "EDQUOT", "disk quota exceeded"},
-+	{123, "ENOMEDIUM", "no medium found"},
-+	{124, "EMEDIUMTYPE", "wrong medium type"},
-+	{125, "ECANCELED", "operation canceled"},
-+	{126, "ENOKEY", "required key not available"},
-+	{127, "EKEYEXPIRED", "key has expired"},
-+	{128, "EKEYREVOKED", "key has been revoked"},
-+	{129, "EKEYREJECTED", "key was rejected by service"},
-+	{130, "EOWNERDEAD", "owner died"},
-+	{131, "ENOTRECOVERABLE", "state not recoverable"},
-+	{132, "ERFKILL", "operation not possible due to RF-kill"},
-+	{133, "EHWPOISON", "memory page has hardware error"},
- }
- 
- // Signal table
--var signals = [...]string{
--	1:  "hangup",
--	2:  "interrupt",
--	3:  "quit",
--	4:  "illegal instruction",
--	5:  "trace/breakpoint trap",
--	6:  "aborted",
--	7:  "bus error",
--	8:  "floating point exception",
--	9:  "killed",
--	10: "user defined signal 1",
--	11: "segmentation fault",
--	12: "user defined signal 2",
--	13: "broken pipe",
--	14: "alarm clock",
--	15: "terminated",
--	16: "stack fault",
--	17: "child exited",
--	18: "continued",
--	19: "stopped (signal)",
--	20: "stopped",
--	21: "stopped (tty input)",
--	22: "stopped (tty output)",
--	23: "urgent I/O condition",
--	24: "CPU time limit exceeded",
--	25: "file size limit exceeded",
--	26: "virtual timer expired",
--	27: "profiling timer expired",
--	28: "window changed",
--	29: "I/O possible",
--	30: "power failure",
--	31: "bad system call",
-+var signalList = [...]struct {
-+	num  syscall.Signal
-+	name string
-+	desc string
-+}{
-+	{1, "SIGHUP", "hangup"},
-+	{2, "SIGINT", "interrupt"},
-+	{3, "SIGQUIT", "quit"},
-+	{4, "SIGILL", "illegal instruction"},
-+	{5, "SIGTRAP", "trace/breakpoint trap"},
-+	{6, "SIGABRT", "aborted"},
-+	{7, "SIGBUS", "bus error"},
-+	{8, "SIGFPE", "floating point exception"},
-+	{9, "SIGKILL", "killed"},
-+	{10, "SIGUSR1", "user defined signal 1"},
-+	{11, "SIGSEGV", "segmentation fault"},
-+	{12, "SIGUSR2", "user defined signal 2"},
-+	{13, "SIGPIPE", "broken pipe"},
-+	{14, "SIGALRM", "alarm clock"},
-+	{15, "SIGTERM", "terminated"},
-+	{16, "SIGSTKFLT", "stack fault"},
-+	{17, "SIGCHLD", "child exited"},
-+	{18, "SIGCONT", "continued"},
-+	{19, "SIGSTOP", "stopped (signal)"},
-+	{20, "SIGTSTP", "stopped"},
-+	{21, "SIGTTIN", "stopped (tty input)"},
-+	{22, "SIGTTOU", "stopped (tty output)"},
-+	{23, "SIGURG", "urgent I/O condition"},
-+	{24, "SIGXCPU", "CPU time limit exceeded"},
-+	{25, "SIGXFSZ", "file size limit exceeded"},
-+	{26, "SIGVTALRM", "virtual timer expired"},
-+	{27, "SIGPROF", "profiling timer expired"},
-+	{28, "SIGWINCH", "window changed"},
-+	{29, "SIGIO", "I/O possible"},
-+	{30, "SIGPWR", "power failure"},
-+	{31, "SIGSYS", "bad system call"},
- }
-diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go
-index ad29c3d3..4231b20b 100644
---- a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go
-+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go
-@@ -3,7 +3,7 @@
- 
- // +build ppc64le,linux
- 
--// Created by cgo -godefs - DO NOT EDIT
-+// Code generated by cmd/cgo -godefs; DO NOT EDIT.
- // cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go
- 
- package unix
-@@ -11,1930 +11,549 @@ package unix
- import "syscall"
- 
- const (
--	AF_ALG                               = 0x26
--	AF_APPLETALK                         = 0x5
--	AF_ASH                               = 0x12
--	AF_ATMPVC                            = 0x8
--	AF_ATMSVC                            = 0x14
--	AF_AX25                              = 0x3
--	AF_BLUETOOTH                         = 0x1f
--	AF_BRIDGE                            = 0x7
--	AF_CAIF                              = 0x25
--	AF_CAN                               = 0x1d
--	AF_DECnet                            = 0xc
--	AF_ECONET                            = 0x13
--	AF_FILE                              = 0x1
--	AF_IB                                = 0x1b
--	AF_IEEE802154                        = 0x24
--	AF_INET                              = 0x2
--	AF_INET6                             = 0xa
--	AF_IPX                               = 0x4
--	AF_IRDA                              = 0x17
--	AF_ISDN                              = 0x22
--	AF_IUCV                              = 0x20
--	AF_KCM                               = 0x29
--	AF_KEY                               = 0xf
--	AF_LLC                               = 0x1a
--	AF_LOCAL                             = 0x1
--	AF_MAX                               = 0x2b
--	AF_MPLS                              = 0x1c
--	AF_NETBEUI                           = 0xd
--	AF_NETLINK                           = 0x10
--	AF_NETROM                            = 0x6
--	AF_NFC                               = 0x27
--	AF_PACKET                            = 0x11
--	AF_PHONET                            = 0x23
--	AF_PPPOX                             = 0x18
--	AF_QIPCRTR                           = 0x2a
--	AF_RDS                               = 0x15
--	AF_ROSE                              = 0xb
--	AF_ROUTE                             = 0x10
--	AF_RXRPC                             = 0x21
--	AF_SECURITY                          = 0xe
--	AF_SNA                               = 0x16
--	AF_TIPC                              = 0x1e
--	AF_UNIX                              = 0x1
--	AF_UNSPEC                            = 0x0
--	AF_VSOCK                             = 0x28
--	AF_WANPIPE                           = 0x19
--	AF_X25                               = 0x9
--	ALG_OP_DECRYPT                       = 0x0
--	ALG_OP_ENCRYPT                       = 0x1
--	ALG_SET_AEAD_ASSOCLEN                = 0x4
--	ALG_SET_AEAD_AUTHSIZE                = 0x5
--	ALG_SET_IV                           = 0x2
--	ALG_SET_KEY                          = 0x1
--	ALG_SET_OP                           = 0x3
--	ARPHRD_6LOWPAN                       = 0x339
--	ARPHRD_ADAPT                         = 0x108
--	ARPHRD_APPLETLK                      = 0x8
--	ARPHRD_ARCNET                        = 0x7
--	ARPHRD_ASH                           = 0x30d
--	ARPHRD_ATM                           = 0x13
--	ARPHRD_AX25                          = 0x3
--	ARPHRD_BIF                           = 0x307
--	ARPHRD_CAIF                          = 0x336
--	ARPHRD_CAN                           = 0x118
--	ARPHRD_CHAOS                         = 0x5
--	ARPHRD_CISCO                         = 0x201
--	ARPHRD_CSLIP                         = 0x101
--	ARPHRD_CSLIP6                        = 0x103
--	ARPHRD_DDCMP                         = 0x205
--	ARPHRD_DLCI                          = 0xf
--	ARPHRD_ECONET                        = 0x30e
--	ARPHRD_EETHER                        = 0x2
--	ARPHRD_ETHER                         = 0x1
--	ARPHRD_EUI64                         = 0x1b
--	ARPHRD_FCAL                          = 0x311
--	ARPHRD_FCFABRIC                      = 0x313
--	ARPHRD_FCPL                          = 0x312
--	ARPHRD_FCPP                          = 0x310
--	ARPHRD_FDDI                          = 0x306
--	ARPHRD_FRAD                          = 0x302
--	ARPHRD_HDLC                          = 0x201
--	ARPHRD_HIPPI                         = 0x30c
--	ARPHRD_HWX25                         = 0x110
--	ARPHRD_IEEE1394                      = 0x18
--	ARPHRD_IEEE802                       = 0x6
--	ARPHRD_IEEE80211                     = 0x321
--	ARPHRD_IEEE80211_PRISM               = 0x322
--	ARPHRD_IEEE80211_RADIOTAP            = 0x323
--	ARPHRD_IEEE802154                    = 0x324
--	ARPHRD_IEEE802154_MONITOR            = 0x325
--	ARPHRD_IEEE802_TR                    = 0x320
--	ARPHRD_INFINIBAND                    = 0x20
--	ARPHRD_IP6GRE                        = 0x337
--	ARPHRD_IPDDP                         = 0x309
--	ARPHRD_IPGRE                         = 0x30a
--	ARPHRD_IRDA                          = 0x30f
--	ARPHRD_LAPB                          = 0x204
--	ARPHRD_LOCALTLK                      = 0x305
--	ARPHRD_LOOPBACK                      = 0x304
--	ARPHRD_METRICOM                      = 0x17
--	ARPHRD_NETLINK                       = 0x338
--	ARPHRD_NETROM                        = 0x0
--	ARPHRD_NONE                          = 0xfffe
--	ARPHRD_PHONET                        = 0x334
--	ARPHRD_PHONET_PIPE                   = 0x335
--	ARPHRD_PIMREG                        = 0x30b
--	ARPHRD_PPP                           = 0x200
--	ARPHRD_PRONET                        = 0x4
--	ARPHRD_RAWHDLC                       = 0x206
--	ARPHRD_ROSE                          = 0x10e
--	ARPHRD_RSRVD                         = 0x104
--	ARPHRD_SIT                           = 0x308
--	ARPHRD_SKIP                          = 0x303
--	ARPHRD_SLIP                          = 0x100
--	ARPHRD_SLIP6                         = 0x102
--	ARPHRD_TUNNEL                        = 0x300
--	ARPHRD_TUNNEL6                       = 0x301
--	ARPHRD_VOID                          = 0xffff
--	ARPHRD_X25                           = 0x10f
--	B0                                   = 0x0
--	B1000000                             = 0x17
--	B110                                 = 0x3
--	B115200                              = 0x11
--	B1152000                             = 0x18
--	B1200                                = 0x9
--	B134                                 = 0x4
--	B150                                 = 0x5
--	B1500000                             = 0x19
--	B1800                                = 0xa
--	B19200                               = 0xe
--	B200                                 = 0x6
--	B2000000                             = 0x1a
--	B230400                              = 0x12
--	B2400                                = 0xb
--	B2500000                             = 0x1b
--	B300                                 = 0x7
--	B3000000                             = 0x1c
--	B3500000                             = 0x1d
--	B38400                               = 0xf
--	B4000000                             = 0x1e
--	B460800                              = 0x13
--	B4800                                = 0xc
--	B50                                  = 0x1
--	B500000                              = 0x14
--	B57600                               = 0x10
--	B576000                              = 0x15
--	B600                                 = 0x8
--	B75                                  = 0x2
--	B921600                              = 0x16
--	B9600                                = 0xd
--	BLKBSZGET                            = 0x40081270
--	BLKBSZSET                            = 0x80081271
--	BLKFLSBUF                            = 0x20001261
--	BLKFRAGET                            = 0x20001265
--	BLKFRASET                            = 0x20001264
--	BLKGETSIZE                           = 0x20001260
--	BLKGETSIZE64                         = 0x40081272
--	BLKPBSZGET                           = 0x2000127b
--	BLKRAGET                             = 0x20001263
--	BLKRASET                             = 0x20001262
--	BLKROGET                             = 0x2000125e
--	BLKROSET                             = 0x2000125d
--	BLKRRPART                            = 0x2000125f
--	BLKSECTGET                           = 0x20001267
--	BLKSECTSET                           = 0x20001266
--	BLKSSZGET                            = 0x20001268
--	BOTHER                               = 0x1f
--	BPF_A                                = 0x10
--	BPF_ABS                              = 0x20
--	BPF_ADD                              = 0x0
--	BPF_ALU                              = 0x4
--	BPF_AND                              = 0x50
--	BPF_B                                = 0x10
--	BPF_DIV                              = 0x30
--	BPF_H                                = 0x8
--	BPF_IMM                              = 0x0
--	BPF_IND                              = 0x40
--	BPF_JA                               = 0x0
--	BPF_JEQ                              = 0x10
--	BPF_JGE                              = 0x30
--	BPF_JGT                              = 0x20
--	BPF_JMP                              = 0x5
--	BPF_JSET                             = 0x40
--	BPF_K                                = 0x0
--	BPF_LD                               = 0x0
--	BPF_LDX                              = 0x1
--	BPF_LEN                              = 0x80
--	BPF_LL_OFF                           = -0x200000
--	BPF_LSH                              = 0x60
--	BPF_MAJOR_VERSION                    = 0x1
--	BPF_MAXINSNS                         = 0x1000
--	BPF_MEM                              = 0x60
--	BPF_MEMWORDS                         = 0x10
--	BPF_MINOR_VERSION                    = 0x1
--	BPF_MISC                             = 0x7
--	BPF_MOD                              = 0x90
--	BPF_MSH                              = 0xa0
--	BPF_MUL                              = 0x20
--	BPF_NEG                              = 0x80
--	BPF_NET_OFF                          = -0x100000
--	BPF_OR                               = 0x40
--	BPF_RET                              = 0x6
--	BPF_RSH                              = 0x70
--	BPF_ST                               = 0x2
--	BPF_STX                              = 0x3
--	BPF_SUB                              = 0x10
--	BPF_TAX                              = 0x0
--	BPF_TXA                              = 0x80
--	BPF_W                                = 0x0
--	BPF_X                                = 0x8
--	BPF_XOR                              = 0xa0
--	BRKINT                               = 0x2
--	BS0                                  = 0x0
--	BS1                                  = 0x8000
--	BSDLY                                = 0x8000
--	CAN_BCM                              = 0x2
--	CAN_EFF_FLAG                         = 0x80000000
--	CAN_EFF_ID_BITS                      = 0x1d
--	CAN_EFF_MASK                         = 0x1fffffff
--	CAN_ERR_FLAG                         = 0x20000000
--	CAN_ERR_MASK                         = 0x1fffffff
--	CAN_INV_FILTER                       = 0x20000000
--	CAN_ISOTP                            = 0x6
--	CAN_MAX_DLC                          = 0x8
--	CAN_MAX_DLEN                         = 0x8
--	CAN_MCNET                            = 0x5
--	CAN_MTU                              = 0x10
--	CAN_NPROTO                           = 0x7
--	CAN_RAW                              = 0x1
--	CAN_RAW_FILTER_MAX                   = 0x200
--	CAN_RTR_FLAG                         = 0x40000000
--	CAN_SFF_ID_BITS                      = 0xb
--	CAN_SFF_MASK                         = 0x7ff
--	CAN_TP16                             = 0x3
--	CAN_TP20                             = 0x4
--	CBAUD                                = 0xff
--	CBAUDEX                              = 0x0
--	CFLUSH                               = 0xf
--	CIBAUD                               = 0xff0000
--	CLOCAL                               = 0x8000
--	CLOCK_BOOTTIME                       = 0x7
--	CLOCK_BOOTTIME_ALARM                 = 0x9
--	CLOCK_DEFAULT                        = 0x0
--	CLOCK_EXT                            = 0x1
--	CLOCK_INT                            = 0x2
--	CLOCK_MONOTONIC                      = 0x1
--	CLOCK_MONOTONIC_COARSE               = 0x6
--	CLOCK_MONOTONIC_RAW                  = 0x4
--	CLOCK_PROCESS_CPUTIME_ID             = 0x2
--	CLOCK_REALTIME                       = 0x0
--	CLOCK_REALTIME_ALARM                 = 0x8
--	CLOCK_REALTIME_COARSE                = 0x5
--	CLOCK_TAI                            = 0xb
--	CLOCK_THREAD_CPUTIME_ID              = 0x3
--	CLOCK_TXFROMRX                       = 0x4
--	CLOCK_TXINT                          = 0x3
--	CLONE_CHILD_CLEARTID                 = 0x200000
--	CLONE_CHILD_SETTID                   = 0x1000000
--	CLONE_DETACHED                       = 0x400000
--	CLONE_FILES                          = 0x400
--	CLONE_FS                             = 0x200
--	CLONE_IO                             = 0x80000000
--	CLONE_NEWCGROUP                      = 0x2000000
--	CLONE_NEWIPC                         = 0x8000000
--	CLONE_NEWNET                         = 0x40000000
--	CLONE_NEWNS                          = 0x20000
--	CLONE_NEWPID                         = 0x20000000
--	CLONE_NEWUSER                        = 0x10000000
--	CLONE_NEWUTS                         = 0x4000000
--	CLONE_PARENT                         = 0x8000
--	CLONE_PARENT_SETTID                  = 0x100000
--	CLONE_PTRACE                         = 0x2000
--	CLONE_SETTLS                         = 0x80000
--	CLONE_SIGHAND                        = 0x800
--	CLONE_SYSVSEM                        = 0x40000
--	CLONE_THREAD                         = 0x10000
--	CLONE_UNTRACED                       = 0x800000
--	CLONE_VFORK                          = 0x4000
--	CLONE_VM                             = 0x100
--	CMSPAR                               = 0x40000000
--	CR0                                  = 0x0
--	CR1                                  = 0x1000
--	CR2                                  = 0x2000
--	CR3                                  = 0x3000
--	CRDLY                                = 0x3000
--	CREAD                                = 0x800
--	CRTSCTS                              = 0x80000000
--	CS5                                  = 0x0
--	CS6                                  = 0x100
--	CS7                                  = 0x200
--	CS8                                  = 0x300
--	CSIGNAL                              = 0xff
--	CSIZE                                = 0x300
--	CSTART                               = 0x11
--	CSTATUS                              = 0x0
--	CSTOP                                = 0x13
--	CSTOPB                               = 0x400
--	CSUSP                                = 0x1a
--	DT_BLK                               = 0x6
--	DT_CHR                               = 0x2
--	DT_DIR                               = 0x4
--	DT_FIFO                              = 0x1
--	DT_LNK                               = 0xa
--	DT_REG                               = 0x8
--	DT_SOCK                              = 0xc
--	DT_UNKNOWN                           = 0x0
--	DT_WHT                               = 0xe
--	ECHO                                 = 0x8
--	ECHOCTL                              = 0x40
--	ECHOE                                = 0x2
--	ECHOK                                = 0x4
--	ECHOKE                               = 0x1
--	ECHONL                               = 0x10
--	ECHOPRT                              = 0x20
--	EFD_CLOEXEC                          = 0x80000
--	EFD_NONBLOCK                         = 0x800
--	EFD_SEMAPHORE                        = 0x1
--	ENCODING_DEFAULT                     = 0x0
--	ENCODING_FM_MARK                     = 0x3
--	ENCODING_FM_SPACE                    = 0x4
--	ENCODING_MANCHESTER                  = 0x5
--	ENCODING_NRZ                         = 0x1
--	ENCODING_NRZI                        = 0x2
--	EPOLLERR                             = 0x8
--	EPOLLET                              = 0x80000000
--	EPOLLEXCLUSIVE                       = 0x10000000
--	EPOLLHUP                             = 0x10
--	EPOLLIN                              = 0x1
--	EPOLLMSG                             = 0x400
--	EPOLLONESHOT                         = 0x40000000
--	EPOLLOUT                             = 0x4
--	EPOLLPRI                             = 0x2
--	EPOLLRDBAND                          = 0x80
--	EPOLLRDHUP                           = 0x2000
--	EPOLLRDNORM                          = 0x40
--	EPOLLWAKEUP                          = 0x20000000
--	EPOLLWRBAND                          = 0x200
--	EPOLLWRNORM                          = 0x100
--	EPOLL_CLOEXEC                        = 0x80000
--	EPOLL_CTL_ADD                        = 0x1
--	EPOLL_CTL_DEL                        = 0x2
--	EPOLL_CTL_MOD                        = 0x3
--	ETH_P_1588                           = 0x88f7
--	ETH_P_8021AD                         = 0x88a8
--	ETH_P_8021AH                         = 0x88e7
--	ETH_P_8021Q                          = 0x8100
--	ETH_P_80221                          = 0x8917
--	ETH_P_802_2                          = 0x4
--	ETH_P_802_3                          = 0x1
--	ETH_P_802_3_MIN                      = 0x600
--	ETH_P_802_EX1                        = 0x88b5
--	ETH_P_AARP                           = 0x80f3
--	ETH_P_AF_IUCV                        = 0xfbfb
--	ETH_P_ALL                            = 0x3
--	ETH_P_AOE                            = 0x88a2
--	ETH_P_ARCNET                         = 0x1a
--	ETH_P_ARP                            = 0x806
--	ETH_P_ATALK                          = 0x809b
--	ETH_P_ATMFATE                        = 0x8884
--	ETH_P_ATMMPOA                        = 0x884c
--	ETH_P_AX25                           = 0x2
--	ETH_P_BATMAN                         = 0x4305
--	ETH_P_BPQ                            = 0x8ff
--	ETH_P_CAIF                           = 0xf7
--	ETH_P_CAN                            = 0xc
--	ETH_P_CANFD                          = 0xd
--	ETH_P_CONTROL                        = 0x16
--	ETH_P_CUST                           = 0x6006
--	ETH_P_DDCMP                          = 0x6
--	ETH_P_DEC                            = 0x6000
--	ETH_P_DIAG                           = 0x6005
--	ETH_P_DNA_DL                         = 0x6001
--	ETH_P_DNA_RC                         = 0x6002
--	ETH_P_DNA_RT                         = 0x6003
--	ETH_P_DSA                            = 0x1b
--	ETH_P_ECONET                         = 0x18
--	ETH_P_EDSA                           = 0xdada
--	ETH_P_FCOE                           = 0x8906
--	ETH_P_FIP                            = 0x8914
--	ETH_P_HDLC                           = 0x19
--	ETH_P_HSR                            = 0x892f
--	ETH_P_IEEE802154                     = 0xf6
--	ETH_P_IEEEPUP                        = 0xa00
--	ETH_P_IEEEPUPAT                      = 0xa01
--	ETH_P_IP                             = 0x800
--	ETH_P_IPV6                           = 0x86dd
--	ETH_P_IPX                            = 0x8137
--	ETH_P_IRDA                           = 0x17
--	ETH_P_LAT                            = 0x6004
--	ETH_P_LINK_CTL                       = 0x886c
--	ETH_P_LOCALTALK                      = 0x9
--	ETH_P_LOOP                           = 0x60
--	ETH_P_LOOPBACK                       = 0x9000
--	ETH_P_MACSEC                         = 0x88e5
--	ETH_P_MOBITEX                        = 0x15
--	ETH_P_MPLS_MC                        = 0x8848
--	ETH_P_MPLS_UC                        = 0x8847
--	ETH_P_MVRP                           = 0x88f5
--	ETH_P_NCSI                           = 0x88f8
--	ETH_P_PAE                            = 0x888e
--	ETH_P_PAUSE                          = 0x8808
--	ETH_P_PHONET                         = 0xf5
--	ETH_P_PPPTALK                        = 0x10
--	ETH_P_PPP_DISC                       = 0x8863
--	ETH_P_PPP_MP                         = 0x8
--	ETH_P_PPP_SES                        = 0x8864
--	ETH_P_PRP                            = 0x88fb
--	ETH_P_PUP                            = 0x200
--	ETH_P_PUPAT                          = 0x201
--	ETH_P_QINQ1                          = 0x9100
--	ETH_P_QINQ2                          = 0x9200
--	ETH_P_QINQ3                          = 0x9300
--	ETH_P_RARP                           = 0x8035
--	ETH_P_SCA                            = 0x6007
--	ETH_P_SLOW                           = 0x8809
--	ETH_P_SNAP                           = 0x5
--	ETH_P_TDLS                           = 0x890d
--	ETH_P_TEB                            = 0x6558
--	ETH_P_TIPC                           = 0x88ca
--	ETH_P_TRAILER                        = 0x1c
--	ETH_P_TR_802_2                       = 0x11
--	ETH_P_TSN                            = 0x22f0
--	ETH_P_WAN_PPP                        = 0x7
--	ETH_P_WCCP                           = 0x883e
--	ETH_P_X25                            = 0x805
--	ETH_P_XDSA                           = 0xf8
--	EXTA                                 = 0xe
--	EXTB                                 = 0xf
--	EXTPROC                              = 0x10000000
--	FALLOC_FL_COLLAPSE_RANGE             = 0x8
--	FALLOC_FL_INSERT_RANGE               = 0x20
--	FALLOC_FL_KEEP_SIZE                  = 0x1
--	FALLOC_FL_NO_HIDE_STALE              = 0x4
--	FALLOC_FL_PUNCH_HOLE                 = 0x2
--	FALLOC_FL_UNSHARE_RANGE              = 0x40
--	FALLOC_FL_ZERO_RANGE                 = 0x10
--	FD_CLOEXEC                           = 0x1
--	FD_SETSIZE                           = 0x400
--	FF0                                  = 0x0
--	FF1                                  = 0x4000
--	FFDLY                                = 0x4000
--	FLUSHO                               = 0x800000
--	FS_ENCRYPTION_MODE_AES_256_CBC       = 0x3
--	FS_ENCRYPTION_MODE_AES_256_CTS       = 0x4
--	FS_ENCRYPTION_MODE_AES_256_GCM       = 0x2
--	FS_ENCRYPTION_MODE_AES_256_XTS       = 0x1
--	FS_ENCRYPTION_MODE_INVALID           = 0x0
--	FS_IOC_GET_ENCRYPTION_POLICY         = 0x800c6615
--	FS_IOC_GET_ENCRYPTION_PWSALT         = 0x80106614
--	FS_IOC_SET_ENCRYPTION_POLICY         = 0x400c6613
--	FS_KEY_DESCRIPTOR_SIZE               = 0x8
--	FS_KEY_DESC_PREFIX                   = "fscrypt:"
--	FS_KEY_DESC_PREFIX_SIZE              = 0x8
--	FS_MAX_KEY_SIZE                      = 0x40
--	FS_POLICY_FLAGS_PAD_16               = 0x2
--	FS_POLICY_FLAGS_PAD_32               = 0x3
--	FS_POLICY_FLAGS_PAD_4                = 0x0
--	FS_POLICY_FLAGS_PAD_8                = 0x1
--	FS_POLICY_FLAGS_PAD_MASK             = 0x3
--	FS_POLICY_FLAGS_VALID                = 0x3
--	F_DUPFD                              = 0x0
--	F_DUPFD_CLOEXEC                      = 0x406
--	F_EXLCK                              = 0x4
--	F_GETFD                              = 0x1
--	F_GETFL                              = 0x3
--	F_GETLEASE                           = 0x401
--	F_GETLK                              = 0x5
--	F_GETLK64                            = 0xc
--	F_GETOWN                             = 0x9
--	F_GETOWN_EX                          = 0x10
--	F_GETPIPE_SZ                         = 0x408
--	F_GETSIG                             = 0xb
--	F_LOCK                               = 0x1
--	F_NOTIFY                             = 0x402
--	F_OFD_GETLK                          = 0x24
--	F_OFD_SETLK                          = 0x25
--	F_OFD_SETLKW                         = 0x26
--	F_OK                                 = 0x0
--	F_RDLCK                              = 0x0
--	F_SETFD                              = 0x2
--	F_SETFL                              = 0x4
--	F_SETLEASE                           = 0x400
--	F_SETLK                              = 0x6
--	F_SETLK64                            = 0xd
--	F_SETLKW                             = 0x7
--	F_SETLKW64                           = 0xe
--	F_SETOWN                             = 0x8
--	F_SETOWN_EX                          = 0xf
--	F_SETPIPE_SZ                         = 0x407
--	F_SETSIG                             = 0xa
--	F_SHLCK                              = 0x8
--	F_TEST                               = 0x3
--	F_TLOCK                              = 0x2
--	F_ULOCK                              = 0x0
--	F_UNLCK                              = 0x2
--	F_WRLCK                              = 0x1
--	GENL_ADMIN_PERM                      = 0x1
--	GENL_CMD_CAP_DO                      = 0x2
--	GENL_CMD_CAP_DUMP                    = 0x4
--	GENL_CMD_CAP_HASPOL                  = 0x8
--	GENL_HDRLEN                          = 0x4
--	GENL_ID_CTRL                         = 0x10
--	GENL_ID_PMCRAID                      = 0x12
--	GENL_ID_VFS_DQUOT                    = 0x11
--	GENL_MAX_ID                          = 0x3ff
--	GENL_MIN_ID                          = 0x10
--	GENL_NAMSIZ                          = 0x10
--	GENL_START_ALLOC                     = 0x13
--	GENL_UNS_ADMIN_PERM                  = 0x10
--	GRND_NONBLOCK                        = 0x1
--	GRND_RANDOM                          = 0x2
--	HUPCL                                = 0x4000
--	IBSHIFT                              = 0x10
--	ICANON                               = 0x100
--	ICMPV6_FILTER                        = 0x1
--	ICRNL                                = 0x100
--	IEXTEN                               = 0x400
--	IFA_F_DADFAILED                      = 0x8
--	IFA_F_DEPRECATED                     = 0x20
--	IFA_F_HOMEADDRESS                    = 0x10
--	IFA_F_MANAGETEMPADDR                 = 0x100
--	IFA_F_MCAUTOJOIN                     = 0x400
--	IFA_F_NODAD                          = 0x2
--	IFA_F_NOPREFIXROUTE                  = 0x200
--	IFA_F_OPTIMISTIC                     = 0x4
--	IFA_F_PERMANENT                      = 0x80
--	IFA_F_SECONDARY                      = 0x1
--	IFA_F_STABLE_PRIVACY                 = 0x800
--	IFA_F_TEMPORARY                      = 0x1
--	IFA_F_TENTATIVE                      = 0x40
--	IFA_MAX                              = 0x8
--	IFF_ALLMULTI                         = 0x200
--	IFF_ATTACH_QUEUE                     = 0x200
--	IFF_AUTOMEDIA                        = 0x4000
--	IFF_BROADCAST                        = 0x2
--	IFF_DEBUG                            = 0x4
--	IFF_DETACH_QUEUE                     = 0x400
--	IFF_DORMANT                          = 0x20000
--	IFF_DYNAMIC                          = 0x8000
--	IFF_ECHO                             = 0x40000
--	IFF_LOOPBACK                         = 0x8
--	IFF_LOWER_UP                         = 0x10000
--	IFF_MASTER                           = 0x400
--	IFF_MULTICAST                        = 0x1000
--	IFF_MULTI_QUEUE                      = 0x100
--	IFF_NOARP                            = 0x80
--	IFF_NOFILTER                         = 0x1000
--	IFF_NOTRAILERS                       = 0x20
--	IFF_NO_PI                            = 0x1000
--	IFF_ONE_QUEUE                        = 0x2000
--	IFF_PERSIST                          = 0x800
--	IFF_POINTOPOINT                      = 0x10
--	IFF_PORTSEL                          = 0x2000
--	IFF_PROMISC                          = 0x100
--	IFF_RUNNING                          = 0x40
--	IFF_SLAVE                            = 0x800
--	IFF_TAP                              = 0x2
--	IFF_TUN                              = 0x1
--	IFF_TUN_EXCL                         = 0x8000
--	IFF_UP                               = 0x1
--	IFF_VNET_HDR                         = 0x4000
--	IFF_VOLATILE                         = 0x70c5a
--	IFNAMSIZ                             = 0x10
--	IGNBRK                               = 0x1
--	IGNCR                                = 0x80
--	IGNPAR                               = 0x4
--	IMAXBEL                              = 0x2000
--	INLCR                                = 0x40
--	INPCK                                = 0x10
--	IN_ACCESS                            = 0x1
--	IN_ALL_EVENTS                        = 0xfff
--	IN_ATTRIB                            = 0x4
--	IN_CLASSA_HOST                       = 0xffffff
--	IN_CLASSA_MAX                        = 0x80
--	IN_CLASSA_NET                        = 0xff000000
--	IN_CLASSA_NSHIFT                     = 0x18
--	IN_CLASSB_HOST                       = 0xffff
--	IN_CLASSB_MAX                        = 0x10000
--	IN_CLASSB_NET                        = 0xffff0000
--	IN_CLASSB_NSHIFT                     = 0x10
--	IN_CLASSC_HOST                       = 0xff
--	IN_CLASSC_NET                        = 0xffffff00
--	IN_CLASSC_NSHIFT                     = 0x8
--	IN_CLOEXEC                           = 0x80000
--	IN_CLOSE                             = 0x18
--	IN_CLOSE_NOWRITE                     = 0x10
--	IN_CLOSE_WRITE                       = 0x8
--	IN_CREATE                            = 0x100
--	IN_DELETE                            = 0x200
--	IN_DELETE_SELF                       = 0x400
--	IN_DONT_FOLLOW                       = 0x2000000
--	IN_EXCL_UNLINK                       = 0x4000000
--	IN_IGNORED                           = 0x8000
--	IN_ISDIR                             = 0x40000000
--	IN_LOOPBACKNET                       = 0x7f
--	IN_MASK_ADD                          = 0x20000000
--	IN_MODIFY                            = 0x2
--	IN_MOVE                              = 0xc0
--	IN_MOVED_FROM                        = 0x40
--	IN_MOVED_TO                          = 0x80
--	IN_MOVE_SELF                         = 0x800
--	IN_NONBLOCK                          = 0x800
--	IN_ONESHOT                           = 0x80000000
--	IN_ONLYDIR                           = 0x1000000
--	IN_OPEN                              = 0x20
--	IN_Q_OVERFLOW                        = 0x4000
--	IN_UNMOUNT                           = 0x2000
--	IPPROTO_AH                           = 0x33
--	IPPROTO_BEETPH                       = 0x5e
--	IPPROTO_COMP                         = 0x6c
--	IPPROTO_DCCP                         = 0x21
--	IPPROTO_DSTOPTS                      = 0x3c
--	IPPROTO_EGP                          = 0x8
--	IPPROTO_ENCAP                        = 0x62
--	IPPROTO_ESP                          = 0x32
--	IPPROTO_FRAGMENT                     = 0x2c
--	IPPROTO_GRE                          = 0x2f
--	IPPROTO_HOPOPTS                      = 0x0
--	IPPROTO_ICMP                         = 0x1
--	IPPROTO_ICMPV6                       = 0x3a
--	IPPROTO_IDP                          = 0x16
--	IPPROTO_IGMP                         = 0x2
--	IPPROTO_IP                           = 0x0
--	IPPROTO_IPIP                         = 0x4
--	IPPROTO_IPV6                         = 0x29
--	IPPROTO_MH                           = 0x87
--	IPPROTO_MPLS                         = 0x89
--	IPPROTO_MTP                          = 0x5c
--	IPPROTO_NONE                         = 0x3b
--	IPPROTO_PIM                          = 0x67
--	IPPROTO_PUP                          = 0xc
--	IPPROTO_RAW                          = 0xff
--	IPPROTO_ROUTING                      = 0x2b
--	IPPROTO_RSVP                         = 0x2e
--	IPPROTO_SCTP                         = 0x84
--	IPPROTO_TCP                          = 0x6
--	IPPROTO_TP                           = 0x1d
--	IPPROTO_UDP                          = 0x11
--	IPPROTO_UDPLITE                      = 0x88
--	IPV6_2292DSTOPTS                     = 0x4
--	IPV6_2292HOPLIMIT                    = 0x8
--	IPV6_2292HOPOPTS                     = 0x3
--	IPV6_2292PKTINFO                     = 0x2
--	IPV6_2292PKTOPTIONS                  = 0x6
--	IPV6_2292RTHDR                       = 0x5
--	IPV6_ADDRFORM                        = 0x1
--	IPV6_ADD_MEMBERSHIP                  = 0x14
--	IPV6_AUTHHDR                         = 0xa
--	IPV6_CHECKSUM                        = 0x7
--	IPV6_DONTFRAG                        = 0x3e
--	IPV6_DROP_MEMBERSHIP                 = 0x15
--	IPV6_DSTOPTS                         = 0x3b
--	IPV6_HDRINCL                         = 0x24
--	IPV6_HOPLIMIT                        = 0x34
--	IPV6_HOPOPTS                         = 0x36
--	IPV6_IPSEC_POLICY                    = 0x22
--	IPV6_JOIN_ANYCAST                    = 0x1b
--	IPV6_JOIN_GROUP                      = 0x14
--	IPV6_LEAVE_ANYCAST                   = 0x1c
--	IPV6_LEAVE_GROUP                     = 0x15
--	IPV6_MTU                             = 0x18
--	IPV6_MTU_DISCOVER                    = 0x17
--	IPV6_MULTICAST_HOPS                  = 0x12
--	IPV6_MULTICAST_IF                    = 0x11
--	IPV6_MULTICAST_LOOP                  = 0x13
--	IPV6_NEXTHOP                         = 0x9
--	IPV6_PATHMTU                         = 0x3d
--	IPV6_PKTINFO                         = 0x32
--	IPV6_PMTUDISC_DO                     = 0x2
--	IPV6_PMTUDISC_DONT                   = 0x0
--	IPV6_PMTUDISC_INTERFACE              = 0x4
--	IPV6_PMTUDISC_OMIT                   = 0x5
--	IPV6_PMTUDISC_PROBE                  = 0x3
--	IPV6_PMTUDISC_WANT                   = 0x1
--	IPV6_RECVDSTOPTS                     = 0x3a
--	IPV6_RECVERR                         = 0x19
--	IPV6_RECVHOPLIMIT                    = 0x33
--	IPV6_RECVHOPOPTS                     = 0x35
--	IPV6_RECVPATHMTU                     = 0x3c
--	IPV6_RECVPKTINFO                     = 0x31
--	IPV6_RECVRTHDR                       = 0x38
--	IPV6_RECVTCLASS                      = 0x42
--	IPV6_ROUTER_ALERT                    = 0x16
--	IPV6_RTHDR                           = 0x39
--	IPV6_RTHDRDSTOPTS                    = 0x37
--	IPV6_RTHDR_LOOSE                     = 0x0
--	IPV6_RTHDR_STRICT                    = 0x1
--	IPV6_RTHDR_TYPE_0                    = 0x0
--	IPV6_RXDSTOPTS                       = 0x3b
--	IPV6_RXHOPOPTS                       = 0x36
--	IPV6_TCLASS                          = 0x43
--	IPV6_UNICAST_HOPS                    = 0x10
--	IPV6_V6ONLY                          = 0x1a
--	IPV6_XFRM_POLICY                     = 0x23
--	IP_ADD_MEMBERSHIP                    = 0x23
--	IP_ADD_SOURCE_MEMBERSHIP             = 0x27
--	IP_BIND_ADDRESS_NO_PORT              = 0x18
--	IP_BLOCK_SOURCE                      = 0x26
--	IP_CHECKSUM                          = 0x17
--	IP_DEFAULT_MULTICAST_LOOP            = 0x1
--	IP_DEFAULT_MULTICAST_TTL             = 0x1
--	IP_DF                                = 0x4000
--	IP_DROP_MEMBERSHIP                   = 0x24
--	IP_DROP_SOURCE_MEMBERSHIP            = 0x28
--	IP_FREEBIND                          = 0xf
--	IP_HDRINCL                           = 0x3
--	IP_IPSEC_POLICY                      = 0x10
--	IP_MAXPACKET                         = 0xffff
--	IP_MAX_MEMBERSHIPS                   = 0x14
--	IP_MF                                = 0x2000
--	IP_MINTTL                            = 0x15
--	IP_MSFILTER                          = 0x29
--	IP_MSS                               = 0x240
--	IP_MTU                               = 0xe
--	IP_MTU_DISCOVER                      = 0xa
--	IP_MULTICAST_ALL                     = 0x31
--	IP_MULTICAST_IF                      = 0x20
--	IP_MULTICAST_LOOP                    = 0x22
--	IP_MULTICAST_TTL                     = 0x21
--	IP_NODEFRAG                          = 0x16
--	IP_OFFMASK                           = 0x1fff
--	IP_OPTIONS                           = 0x4
--	IP_ORIGDSTADDR                       = 0x14
--	IP_PASSSEC                           = 0x12
--	IP_PKTINFO                           = 0x8
--	IP_PKTOPTIONS                        = 0x9
--	IP_PMTUDISC                          = 0xa
--	IP_PMTUDISC_DO                       = 0x2
--	IP_PMTUDISC_DONT                     = 0x0
--	IP_PMTUDISC_INTERFACE                = 0x4
--	IP_PMTUDISC_OMIT                     = 0x5
--	IP_PMTUDISC_PROBE                    = 0x3
--	IP_PMTUDISC_WANT                     = 0x1
--	IP_RECVERR                           = 0xb
--	IP_RECVOPTS                          = 0x6
--	IP_RECVORIGDSTADDR                   = 0x14
--	IP_RECVRETOPTS                       = 0x7
--	IP_RECVTOS                           = 0xd
--	IP_RECVTTL                           = 0xc
--	IP_RETOPTS                           = 0x7
--	IP_RF                                = 0x8000
--	IP_ROUTER_ALERT                      = 0x5
--	IP_TOS                               = 0x1
--	IP_TRANSPARENT                       = 0x13
--	IP_TTL                               = 0x2
--	IP_UNBLOCK_SOURCE                    = 0x25
--	IP_UNICAST_IF                        = 0x32
--	IP_XFRM_POLICY                       = 0x11
--	ISIG                                 = 0x80
--	ISTRIP                               = 0x20
--	IUCLC                                = 0x1000
--	IUTF8                                = 0x4000
--	IXANY                                = 0x800
--	IXOFF                                = 0x400
--	IXON                                 = 0x200
--	KEYCTL_ASSUME_AUTHORITY              = 0x10
--	KEYCTL_CHOWN                         = 0x4
--	KEYCTL_CLEAR                         = 0x7
--	KEYCTL_DESCRIBE                      = 0x6
--	KEYCTL_DH_COMPUTE                    = 0x17
--	KEYCTL_GET_KEYRING_ID                = 0x0
--	KEYCTL_GET_PERSISTENT                = 0x16
--	KEYCTL_GET_SECURITY                  = 0x11
--	KEYCTL_INSTANTIATE                   = 0xc
--	KEYCTL_INSTANTIATE_IOV               = 0x14
--	KEYCTL_INVALIDATE                    = 0x15
--	KEYCTL_JOIN_SESSION_KEYRING          = 0x1
--	KEYCTL_LINK                          = 0x8
--	KEYCTL_NEGATE                        = 0xd
--	KEYCTL_READ                          = 0xb
--	KEYCTL_REJECT                        = 0x13
--	KEYCTL_REVOKE                        = 0x3
--	KEYCTL_SEARCH                        = 0xa
--	KEYCTL_SESSION_TO_PARENT             = 0x12
--	KEYCTL_SETPERM                       = 0x5
--	KEYCTL_SET_REQKEY_KEYRING            = 0xe
--	KEYCTL_SET_TIMEOUT                   = 0xf
--	KEYCTL_UNLINK                        = 0x9
--	KEYCTL_UPDATE                        = 0x2
--	KEY_REQKEY_DEFL_DEFAULT              = 0x0
--	KEY_REQKEY_DEFL_GROUP_KEYRING        = 0x6
--	KEY_REQKEY_DEFL_NO_CHANGE            = -0x1
--	KEY_REQKEY_DEFL_PROCESS_KEYRING      = 0x2
--	KEY_REQKEY_DEFL_REQUESTOR_KEYRING    = 0x7
--	KEY_REQKEY_DEFL_SESSION_KEYRING      = 0x3
--	KEY_REQKEY_DEFL_THREAD_KEYRING       = 0x1
--	KEY_REQKEY_DEFL_USER_KEYRING         = 0x4
--	KEY_REQKEY_DEFL_USER_SESSION_KEYRING = 0x5
--	KEY_SPEC_GROUP_KEYRING               = -0x6
--	KEY_SPEC_PROCESS_KEYRING             = -0x2
--	KEY_SPEC_REQKEY_AUTH_KEY             = -0x7
--	KEY_SPEC_REQUESTOR_KEYRING           = -0x8
--	KEY_SPEC_SESSION_KEYRING             = -0x3
--	KEY_SPEC_THREAD_KEYRING              = -0x1
--	KEY_SPEC_USER_KEYRING                = -0x4
--	KEY_SPEC_USER_SESSION_KEYRING        = -0x5
--	LINUX_REBOOT_CMD_CAD_OFF             = 0x0
--	LINUX_REBOOT_CMD_CAD_ON              = 0x89abcdef
--	LINUX_REBOOT_CMD_HALT                = 0xcdef0123
--	LINUX_REBOOT_CMD_KEXEC               = 0x45584543
--	LINUX_REBOOT_CMD_POWER_OFF           = 0x4321fedc
--	LINUX_REBOOT_CMD_RESTART             = 0x1234567
--	LINUX_REBOOT_CMD_RESTART2            = 0xa1b2c3d4
--	LINUX_REBOOT_CMD_SW_SUSPEND          = 0xd000fce2
--	LINUX_REBOOT_MAGIC1                  = 0xfee1dead
--	LINUX_REBOOT_MAGIC2                  = 0x28121969
--	LOCK_EX                              = 0x2
--	LOCK_NB                              = 0x4
--	LOCK_SH                              = 0x1
--	LOCK_UN                              = 0x8
--	MADV_DODUMP                          = 0x11
--	MADV_DOFORK                          = 0xb
--	MADV_DONTDUMP                        = 0x10
--	MADV_DONTFORK                        = 0xa
--	MADV_DONTNEED                        = 0x4
--	MADV_FREE                            = 0x8
--	MADV_HUGEPAGE                        = 0xe
--	MADV_HWPOISON                        = 0x64
--	MADV_MERGEABLE                       = 0xc
--	MADV_NOHUGEPAGE                      = 0xf
--	MADV_NORMAL                          = 0x0
--	MADV_RANDOM                          = 0x1
--	MADV_REMOVE                          = 0x9
--	MADV_SEQUENTIAL                      = 0x2
--	MADV_UNMERGEABLE                     = 0xd
--	MADV_WILLNEED                        = 0x3
--	MAP_ANON                             = 0x20
--	MAP_ANONYMOUS                        = 0x20
--	MAP_DENYWRITE                        = 0x800
--	MAP_EXECUTABLE                       = 0x1000
--	MAP_FILE                             = 0x0
--	MAP_FIXED                            = 0x10
--	MAP_GROWSDOWN                        = 0x100
--	MAP_HUGETLB                          = 0x40000
--	MAP_HUGE_MASK                        = 0x3f
--	MAP_HUGE_SHIFT                       = 0x1a
--	MAP_LOCKED                           = 0x80
--	MAP_NONBLOCK                         = 0x10000
--	MAP_NORESERVE                        = 0x40
--	MAP_POPULATE                         = 0x8000
--	MAP_PRIVATE                          = 0x2
--	MAP_SHARED                           = 0x1
--	MAP_STACK                            = 0x20000
--	MAP_TYPE                             = 0xf
--	MCL_CURRENT                          = 0x2000
--	MCL_FUTURE                           = 0x4000
--	MCL_ONFAULT                          = 0x8000
--	MNT_DETACH                           = 0x2
--	MNT_EXPIRE                           = 0x4
--	MNT_FORCE                            = 0x1
--	MSG_BATCH                            = 0x40000
--	MSG_CMSG_CLOEXEC                     = 0x40000000
--	MSG_CONFIRM                          = 0x800
--	MSG_CTRUNC                           = 0x8
--	MSG_DONTROUTE                        = 0x4
--	MSG_DONTWAIT                         = 0x40
--	MSG_EOR                              = 0x80
--	MSG_ERRQUEUE                         = 0x2000
--	MSG_FASTOPEN                         = 0x20000000
--	MSG_FIN                              = 0x200
--	MSG_MORE                             = 0x8000
--	MSG_NOSIGNAL                         = 0x4000
--	MSG_OOB                              = 0x1
--	MSG_PEEK                             = 0x2
--	MSG_PROXY                            = 0x10
--	MSG_RST                              = 0x1000
--	MSG_SYN                              = 0x400
--	MSG_TRUNC                            = 0x20
--	MSG_TRYHARD                          = 0x4
--	MSG_WAITALL                          = 0x100
--	MSG_WAITFORONE                       = 0x10000
--	MS_ACTIVE                            = 0x40000000
--	MS_ASYNC                             = 0x1
--	MS_BIND                              = 0x1000
--	MS_BORN                              = 0x20000000
--	MS_DIRSYNC                           = 0x80
--	MS_INVALIDATE                        = 0x2
--	MS_I_VERSION                         = 0x800000
--	MS_KERNMOUNT                         = 0x400000
--	MS_LAZYTIME                          = 0x2000000
--	MS_MANDLOCK                          = 0x40
--	MS_MGC_MSK                           = 0xffff0000
--	MS_MGC_VAL                           = 0xc0ed0000
--	MS_MOVE                              = 0x2000
--	MS_NOATIME                           = 0x400
--	MS_NODEV                             = 0x4
--	MS_NODIRATIME                        = 0x800
--	MS_NOEXEC                            = 0x8
--	MS_NOREMOTELOCK                      = 0x8000000
--	MS_NOSEC                             = 0x10000000
--	MS_NOSUID                            = 0x2
--	MS_NOUSER                            = -0x80000000
--	MS_POSIXACL                          = 0x10000
--	MS_PRIVATE                           = 0x40000
--	MS_RDONLY                            = 0x1
--	MS_REC                               = 0x4000
--	MS_RELATIME                          = 0x200000
--	MS_REMOUNT                           = 0x20
--	MS_RMT_MASK                          = 0x2800051
--	MS_SHARED                            = 0x100000
--	MS_SILENT                            = 0x8000
--	MS_SLAVE                             = 0x80000
--	MS_STRICTATIME                       = 0x1000000
--	MS_SYNC                              = 0x4
--	MS_SYNCHRONOUS                       = 0x10
--	MS_UNBINDABLE                        = 0x20000
--	MS_VERBOSE                           = 0x8000
--	NAME_MAX                             = 0xff
--	NETLINK_ADD_MEMBERSHIP               = 0x1
--	NETLINK_AUDIT                        = 0x9
--	NETLINK_BROADCAST_ERROR              = 0x4
--	NETLINK_CAP_ACK                      = 0xa
--	NETLINK_CONNECTOR                    = 0xb
--	NETLINK_CRYPTO                       = 0x15
--	NETLINK_DNRTMSG                      = 0xe
--	NETLINK_DROP_MEMBERSHIP              = 0x2
--	NETLINK_ECRYPTFS                     = 0x13
--	NETLINK_FIB_LOOKUP                   = 0xa
--	NETLINK_FIREWALL                     = 0x3
--	NETLINK_GENERIC                      = 0x10
--	NETLINK_INET_DIAG                    = 0x4
--	NETLINK_IP6_FW                       = 0xd
--	NETLINK_ISCSI                        = 0x8
--	NETLINK_KOBJECT_UEVENT               = 0xf
--	NETLINK_LISTEN_ALL_NSID              = 0x8
--	NETLINK_LIST_MEMBERSHIPS             = 0x9
--	NETLINK_NETFILTER                    = 0xc
--	NETLINK_NFLOG                        = 0x5
--	NETLINK_NO_ENOBUFS                   = 0x5
--	NETLINK_PKTINFO                      = 0x3
--	NETLINK_RDMA                         = 0x14
--	NETLINK_ROUTE                        = 0x0
--	NETLINK_RX_RING                      = 0x6
--	NETLINK_SCSITRANSPORT                = 0x12
--	NETLINK_SELINUX                      = 0x7
--	NETLINK_SOCK_DIAG                    = 0x4
--	NETLINK_TX_RING                      = 0x7
--	NETLINK_UNUSED                       = 0x1
--	NETLINK_USERSOCK                     = 0x2
--	NETLINK_XFRM                         = 0x6
--	NL0                                  = 0x0
--	NL1                                  = 0x100
--	NL2                                  = 0x200
--	NL3                                  = 0x300
--	NLA_ALIGNTO                          = 0x4
--	NLA_F_NESTED                         = 0x8000
--	NLA_F_NET_BYTEORDER                  = 0x4000
--	NLA_HDRLEN                           = 0x4
--	NLDLY                                = 0x300
--	NLMSG_ALIGNTO                        = 0x4
--	NLMSG_DONE                           = 0x3
--	NLMSG_ERROR                          = 0x2
--	NLMSG_HDRLEN                         = 0x10
--	NLMSG_MIN_TYPE                       = 0x10
--	NLMSG_NOOP                           = 0x1
--	NLMSG_OVERRUN                        = 0x4
--	NLM_F_ACK                            = 0x4
--	NLM_F_APPEND                         = 0x800
--	NLM_F_ATOMIC                         = 0x400
--	NLM_F_CREATE                         = 0x400
--	NLM_F_DUMP                           = 0x300
--	NLM_F_DUMP_FILTERED                  = 0x20
--	NLM_F_DUMP_INTR                      = 0x10
--	NLM_F_ECHO                           = 0x8
--	NLM_F_EXCL                           = 0x200
--	NLM_F_MATCH                          = 0x200
--	NLM_F_MULTI                          = 0x2
--	NLM_F_REPLACE                        = 0x100
--	NLM_F_REQUEST                        = 0x1
--	NLM_F_ROOT                           = 0x100
--	NOFLSH                               = 0x80000000
--	OCRNL                                = 0x8
--	OFDEL                                = 0x80
--	OFILL                                = 0x40
--	OLCUC                                = 0x4
--	ONLCR                                = 0x2
--	ONLRET                               = 0x20
--	ONOCR                                = 0x10
--	OPOST                                = 0x1
--	O_ACCMODE                            = 0x3
--	O_APPEND                             = 0x400
--	O_ASYNC                              = 0x2000
--	O_CLOEXEC                            = 0x80000
--	O_CREAT                              = 0x40
--	O_DIRECT                             = 0x20000
--	O_DIRECTORY                          = 0x4000
--	O_DSYNC                              = 0x1000
--	O_EXCL                               = 0x80
--	O_FSYNC                              = 0x101000
--	O_LARGEFILE                          = 0x0
--	O_NDELAY                             = 0x800
--	O_NOATIME                            = 0x40000
--	O_NOCTTY                             = 0x100
--	O_NOFOLLOW                           = 0x8000
--	O_NONBLOCK                           = 0x800
--	O_PATH                               = 0x200000
--	O_RDONLY                             = 0x0
--	O_RDWR                               = 0x2
--	O_RSYNC                              = 0x101000
--	O_SYNC                               = 0x101000
--	O_TMPFILE                            = 0x404000
--	O_TRUNC                              = 0x200
--	O_WRONLY                             = 0x1
--	PACKET_ADD_MEMBERSHIP                = 0x1
--	PACKET_AUXDATA                       = 0x8
--	PACKET_BROADCAST                     = 0x1
--	PACKET_COPY_THRESH                   = 0x7
--	PACKET_DROP_MEMBERSHIP               = 0x2
--	PACKET_FANOUT                        = 0x12
--	PACKET_FANOUT_CBPF                   = 0x6
--	PACKET_FANOUT_CPU                    = 0x2
--	PACKET_FANOUT_DATA                   = 0x16
--	PACKET_FANOUT_EBPF                   = 0x7
--	PACKET_FANOUT_FLAG_DEFRAG            = 0x8000
--	PACKET_FANOUT_FLAG_ROLLOVER          = 0x1000
--	PACKET_FANOUT_HASH                   = 0x0
--	PACKET_FANOUT_LB                     = 0x1
--	PACKET_FANOUT_QM                     = 0x5
--	PACKET_FANOUT_RND                    = 0x4
--	PACKET_FANOUT_ROLLOVER               = 0x3
--	PACKET_FASTROUTE                     = 0x6
--	PACKET_HDRLEN                        = 0xb
--	PACKET_HOST                          = 0x0
--	PACKET_KERNEL                        = 0x7
--	PACKET_LOOPBACK                      = 0x5
--	PACKET_LOSS                          = 0xe
--	PACKET_MR_ALLMULTI                   = 0x2
--	PACKET_MR_MULTICAST                  = 0x0
--	PACKET_MR_PROMISC                    = 0x1
--	PACKET_MR_UNICAST                    = 0x3
--	PACKET_MULTICAST                     = 0x2
--	PACKET_ORIGDEV                       = 0x9
--	PACKET_OTHERHOST                     = 0x3
--	PACKET_OUTGOING                      = 0x4
--	PACKET_QDISC_BYPASS                  = 0x14
--	PACKET_RECV_OUTPUT                   = 0x3
--	PACKET_RESERVE                       = 0xc
--	PACKET_ROLLOVER_STATS                = 0x15
--	PACKET_RX_RING                       = 0x5
--	PACKET_STATISTICS                    = 0x6
--	PACKET_TIMESTAMP                     = 0x11
--	PACKET_TX_HAS_OFF                    = 0x13
--	PACKET_TX_RING                       = 0xd
--	PACKET_TX_TIMESTAMP                  = 0x10
--	PACKET_USER                          = 0x6
--	PACKET_VERSION                       = 0xa
--	PACKET_VNET_HDR                      = 0xf
--	PARENB                               = 0x1000
--	PARITY_CRC16_PR0                     = 0x2
--	PARITY_CRC16_PR0_CCITT               = 0x4
--	PARITY_CRC16_PR1                     = 0x3
--	PARITY_CRC16_PR1_CCITT               = 0x5
--	PARITY_CRC32_PR0_CCITT               = 0x6
--	PARITY_CRC32_PR1_CCITT               = 0x7
--	PARITY_DEFAULT                       = 0x0
--	PARITY_NONE                          = 0x1
--	PARMRK                               = 0x8
--	PARODD                               = 0x2000
--	PENDIN                               = 0x20000000
--	PERF_EVENT_IOC_DISABLE               = 0x20002401
--	PERF_EVENT_IOC_ENABLE                = 0x20002400
--	PERF_EVENT_IOC_ID                    = 0x40082407
--	PERF_EVENT_IOC_PAUSE_OUTPUT          = 0x80042409
--	PERF_EVENT_IOC_PERIOD                = 0x80082404
--	PERF_EVENT_IOC_REFRESH               = 0x20002402
--	PERF_EVENT_IOC_RESET                 = 0x20002403
--	PERF_EVENT_IOC_SET_BPF               = 0x80042408
--	PERF_EVENT_IOC_SET_FILTER            = 0x80082406
--	PERF_EVENT_IOC_SET_OUTPUT            = 0x20002405
--	PRIO_PGRP                            = 0x1
--	PRIO_PROCESS                         = 0x0
--	PRIO_USER                            = 0x2
--	PROT_EXEC                            = 0x4
--	PROT_GROWSDOWN                       = 0x1000000
--	PROT_GROWSUP                         = 0x2000000
--	PROT_NONE                            = 0x0
--	PROT_READ                            = 0x1
--	PROT_SAO                             = 0x10
--	PROT_WRITE                           = 0x2
--	PR_CAPBSET_DROP                      = 0x18
--	PR_CAPBSET_READ                      = 0x17
--	PR_CAP_AMBIENT                       = 0x2f
--	PR_CAP_AMBIENT_CLEAR_ALL             = 0x4
--	PR_CAP_AMBIENT_IS_SET                = 0x1
--	PR_CAP_AMBIENT_LOWER                 = 0x3
--	PR_CAP_AMBIENT_RAISE                 = 0x2
--	PR_ENDIAN_BIG                        = 0x0
--	PR_ENDIAN_LITTLE                     = 0x1
--	PR_ENDIAN_PPC_LITTLE                 = 0x2
--	PR_FPEMU_NOPRINT                     = 0x1
--	PR_FPEMU_SIGFPE                      = 0x2
--	PR_FP_EXC_ASYNC                      = 0x2
--	PR_FP_EXC_DISABLED                   = 0x0
--	PR_FP_EXC_DIV                        = 0x10000
--	PR_FP_EXC_INV                        = 0x100000
--	PR_FP_EXC_NONRECOV                   = 0x1
--	PR_FP_EXC_OVF                        = 0x20000
--	PR_FP_EXC_PRECISE                    = 0x3
--	PR_FP_EXC_RES                        = 0x80000
--	PR_FP_EXC_SW_ENABLE                  = 0x80
--	PR_FP_EXC_UND                        = 0x40000
--	PR_FP_MODE_FR                        = 0x1
--	PR_FP_MODE_FRE                       = 0x2
--	PR_GET_CHILD_SUBREAPER               = 0x25
--	PR_GET_DUMPABLE                      = 0x3
--	PR_GET_ENDIAN                        = 0x13
--	PR_GET_FPEMU                         = 0x9
--	PR_GET_FPEXC                         = 0xb
--	PR_GET_FP_MODE                       = 0x2e
--	PR_GET_KEEPCAPS                      = 0x7
--	PR_GET_NAME                          = 0x10
--	PR_GET_NO_NEW_PRIVS                  = 0x27
--	PR_GET_PDEATHSIG                     = 0x2
--	PR_GET_SECCOMP                       = 0x15
--	PR_GET_SECUREBITS                    = 0x1b
--	PR_GET_THP_DISABLE                   = 0x2a
--	PR_GET_TID_ADDRESS                   = 0x28
--	PR_GET_TIMERSLACK                    = 0x1e
--	PR_GET_TIMING                        = 0xd
--	PR_GET_TSC                           = 0x19
--	PR_GET_UNALIGN                       = 0x5
--	PR_MCE_KILL                          = 0x21
--	PR_MCE_KILL_CLEAR                    = 0x0
--	PR_MCE_KILL_DEFAULT                  = 0x2
--	PR_MCE_KILL_EARLY                    = 0x1
--	PR_MCE_KILL_GET                      = 0x22
--	PR_MCE_KILL_LATE                     = 0x0
--	PR_MCE_KILL_SET                      = 0x1
--	PR_MPX_DISABLE_MANAGEMENT            = 0x2c
--	PR_MPX_ENABLE_MANAGEMENT             = 0x2b
--	PR_SET_CHILD_SUBREAPER               = 0x24
--	PR_SET_DUMPABLE                      = 0x4
--	PR_SET_ENDIAN                        = 0x14
--	PR_SET_FPEMU                         = 0xa
--	PR_SET_FPEXC                         = 0xc
--	PR_SET_FP_MODE                       = 0x2d
--	PR_SET_KEEPCAPS                      = 0x8
--	PR_SET_MM                            = 0x23
--	PR_SET_MM_ARG_END                    = 0x9
--	PR_SET_MM_ARG_START                  = 0x8
--	PR_SET_MM_AUXV                       = 0xc
--	PR_SET_MM_BRK                        = 0x7
--	PR_SET_MM_END_CODE                   = 0x2
--	PR_SET_MM_END_DATA                   = 0x4
--	PR_SET_MM_ENV_END                    = 0xb
--	PR_SET_MM_ENV_START                  = 0xa
--	PR_SET_MM_EXE_FILE                   = 0xd
--	PR_SET_MM_MAP                        = 0xe
--	PR_SET_MM_MAP_SIZE                   = 0xf
--	PR_SET_MM_START_BRK                  = 0x6
--	PR_SET_MM_START_CODE                 = 0x1
--	PR_SET_MM_START_DATA                 = 0x3
--	PR_SET_MM_START_STACK                = 0x5
--	PR_SET_NAME                          = 0xf
--	PR_SET_NO_NEW_PRIVS                  = 0x26
--	PR_SET_PDEATHSIG                     = 0x1
--	PR_SET_PTRACER                       = 0x59616d61
--	PR_SET_PTRACER_ANY                   = -0x1
--	PR_SET_SECCOMP                       = 0x16
--	PR_SET_SECUREBITS                    = 0x1c
--	PR_SET_THP_DISABLE                   = 0x29
--	PR_SET_TIMERSLACK                    = 0x1d
--	PR_SET_TIMING                        = 0xe
--	PR_SET_TSC                           = 0x1a
--	PR_SET_UNALIGN                       = 0x6
--	PR_TASK_PERF_EVENTS_DISABLE          = 0x1f
--	PR_TASK_PERF_EVENTS_ENABLE           = 0x20
--	PR_TIMING_STATISTICAL                = 0x0
--	PR_TIMING_TIMESTAMP                  = 0x1
--	PR_TSC_ENABLE                        = 0x1
--	PR_TSC_SIGSEGV                       = 0x2
--	PR_UNALIGN_NOPRINT                   = 0x1
--	PR_UNALIGN_SIGBUS                    = 0x2
--	PTRACE_ATTACH                        = 0x10
--	PTRACE_CONT                          = 0x7
--	PTRACE_DETACH                        = 0x11
--	PTRACE_EVENT_CLONE                   = 0x3
--	PTRACE_EVENT_EXEC                    = 0x4
--	PTRACE_EVENT_EXIT                    = 0x6
--	PTRACE_EVENT_FORK                    = 0x1
--	PTRACE_EVENT_SECCOMP                 = 0x7
--	PTRACE_EVENT_STOP                    = 0x80
--	PTRACE_EVENT_VFORK                   = 0x2
--	PTRACE_EVENT_VFORK_DONE              = 0x5
--	PTRACE_GETEVENTMSG                   = 0x4201
--	PTRACE_GETEVRREGS                    = 0x14
--	PTRACE_GETFPREGS                     = 0xe
--	PTRACE_GETREGS                       = 0xc
--	PTRACE_GETREGS64                     = 0x16
--	PTRACE_GETREGSET                     = 0x4204
--	PTRACE_GETSIGINFO                    = 0x4202
--	PTRACE_GETSIGMASK                    = 0x420a
--	PTRACE_GETVRREGS                     = 0x12
--	PTRACE_GETVSRREGS                    = 0x1b
--	PTRACE_GET_DEBUGREG                  = 0x19
--	PTRACE_INTERRUPT                     = 0x4207
--	PTRACE_KILL                          = 0x8
--	PTRACE_LISTEN                        = 0x4208
--	PTRACE_O_EXITKILL                    = 0x100000
--	PTRACE_O_MASK                        = 0x3000ff
--	PTRACE_O_SUSPEND_SECCOMP             = 0x200000
--	PTRACE_O_TRACECLONE                  = 0x8
--	PTRACE_O_TRACEEXEC                   = 0x10
--	PTRACE_O_TRACEEXIT                   = 0x40
--	PTRACE_O_TRACEFORK                   = 0x2
--	PTRACE_O_TRACESECCOMP                = 0x80
--	PTRACE_O_TRACESYSGOOD                = 0x1
--	PTRACE_O_TRACEVFORK                  = 0x4
--	PTRACE_O_TRACEVFORKDONE              = 0x20
--	PTRACE_PEEKDATA                      = 0x2
--	PTRACE_PEEKSIGINFO                   = 0x4209
--	PTRACE_PEEKSIGINFO_SHARED            = 0x1
--	PTRACE_PEEKTEXT                      = 0x1
--	PTRACE_PEEKUSR                       = 0x3
--	PTRACE_POKEDATA                      = 0x5
--	PTRACE_POKETEXT                      = 0x4
--	PTRACE_POKEUSR                       = 0x6
--	PTRACE_SECCOMP_GET_FILTER            = 0x420c
--	PTRACE_SEIZE                         = 0x4206
--	PTRACE_SETEVRREGS                    = 0x15
--	PTRACE_SETFPREGS                     = 0xf
--	PTRACE_SETOPTIONS                    = 0x4200
--	PTRACE_SETREGS                       = 0xd
--	PTRACE_SETREGS64                     = 0x17
--	PTRACE_SETREGSET                     = 0x4205
--	PTRACE_SETSIGINFO                    = 0x4203
--	PTRACE_SETSIGMASK                    = 0x420b
--	PTRACE_SETVRREGS                     = 0x13
--	PTRACE_SETVSRREGS                    = 0x1c
--	PTRACE_SET_DEBUGREG                  = 0x1a
--	PTRACE_SINGLEBLOCK                   = 0x100
--	PTRACE_SINGLESTEP                    = 0x9
--	PTRACE_SYSCALL                       = 0x18
--	PTRACE_TRACEME                       = 0x0
--	PT_CCR                               = 0x26
--	PT_CTR                               = 0x23
--	PT_DAR                               = 0x29
--	PT_DSCR                              = 0x2c
--	PT_DSISR                             = 0x2a
--	PT_FPR0                              = 0x30
--	PT_FPSCR                             = 0x50
--	PT_LNK                               = 0x24
--	PT_MSR                               = 0x21
--	PT_NIP                               = 0x20
--	PT_ORIG_R3                           = 0x22
--	PT_R0                                = 0x0
--	PT_R1                                = 0x1
--	PT_R10                               = 0xa
--	PT_R11                               = 0xb
--	PT_R12                               = 0xc
--	PT_R13                               = 0xd
--	PT_R14                               = 0xe
--	PT_R15                               = 0xf
--	PT_R16                               = 0x10
--	PT_R17                               = 0x11
--	PT_R18                               = 0x12
--	PT_R19                               = 0x13
--	PT_R2                                = 0x2
--	PT_R20                               = 0x14
--	PT_R21                               = 0x15
--	PT_R22                               = 0x16
--	PT_R23                               = 0x17
--	PT_R24                               = 0x18
--	PT_R25                               = 0x19
--	PT_R26                               = 0x1a
--	PT_R27                               = 0x1b
--	PT_R28                               = 0x1c
--	PT_R29                               = 0x1d
--	PT_R3                                = 0x3
--	PT_R30                               = 0x1e
--	PT_R31                               = 0x1f
--	PT_R4                                = 0x4
--	PT_R5                                = 0x5
--	PT_R6                                = 0x6
--	PT_R7                                = 0x7
--	PT_R8                                = 0x8
--	PT_R9                                = 0x9
--	PT_REGS_COUNT                        = 0x2c
--	PT_RESULT                            = 0x2b
--	PT_SOFTE                             = 0x27
--	PT_TRAP                              = 0x28
--	PT_VR0                               = 0x52
--	PT_VRSAVE                            = 0x94
--	PT_VSCR                              = 0x93
--	PT_VSR0                              = 0x96
--	PT_VSR31                             = 0xd4
--	PT_XER                               = 0x25
--	RLIMIT_AS                            = 0x9
--	RLIMIT_CORE                          = 0x4
--	RLIMIT_CPU                           = 0x0
--	RLIMIT_DATA                          = 0x2
--	RLIMIT_FSIZE                         = 0x1
--	RLIMIT_LOCKS                         = 0xa
--	RLIMIT_MEMLOCK                       = 0x8
--	RLIMIT_MSGQUEUE                      = 0xc
--	RLIMIT_NICE                          = 0xd
--	RLIMIT_NOFILE                        = 0x7
--	RLIMIT_NPROC                         = 0x6
--	RLIMIT_RSS                           = 0x5
--	RLIMIT_RTPRIO                        = 0xe
--	RLIMIT_RTTIME                        = 0xf
--	RLIMIT_SIGPENDING                    = 0xb
--	RLIMIT_STACK                         = 0x3
--	RLIM_INFINITY                        = -0x1
--	RTAX_ADVMSS                          = 0x8
--	RTAX_CC_ALGO                         = 0x10
--	RTAX_CWND                            = 0x7
--	RTAX_FEATURES                        = 0xc
--	RTAX_FEATURE_ALLFRAG                 = 0x8
--	RTAX_FEATURE_ECN                     = 0x1
--	RTAX_FEATURE_MASK                    = 0xf
--	RTAX_FEATURE_SACK                    = 0x2
--	RTAX_FEATURE_TIMESTAMP               = 0x4
--	RTAX_HOPLIMIT                        = 0xa
--	RTAX_INITCWND                        = 0xb
--	RTAX_INITRWND                        = 0xe
--	RTAX_LOCK                            = 0x1
--	RTAX_MAX                             = 0x10
--	RTAX_MTU                             = 0x2
--	RTAX_QUICKACK                        = 0xf
--	RTAX_REORDERING                      = 0x9
--	RTAX_RTO_MIN                         = 0xd
--	RTAX_RTT                             = 0x4
--	RTAX_RTTVAR                          = 0x5
--	RTAX_SSTHRESH                        = 0x6
--	RTAX_UNSPEC                          = 0x0
--	RTAX_WINDOW                          = 0x3
--	RTA_ALIGNTO                          = 0x4
--	RTA_MAX                              = 0x19
--	RTCF_DIRECTSRC                       = 0x4000000
--	RTCF_DOREDIRECT                      = 0x1000000
--	RTCF_LOG                             = 0x2000000
--	RTCF_MASQ                            = 0x400000
--	RTCF_NAT                             = 0x800000
--	RTCF_VALVE                           = 0x200000
--	RTF_ADDRCLASSMASK                    = 0xf8000000
--	RTF_ADDRCONF                         = 0x40000
--	RTF_ALLONLINK                        = 0x20000
--	RTF_BROADCAST                        = 0x10000000
--	RTF_CACHE                            = 0x1000000
--	RTF_DEFAULT                          = 0x10000
--	RTF_DYNAMIC                          = 0x10
--	RTF_FLOW                             = 0x2000000
--	RTF_GATEWAY                          = 0x2
--	RTF_HOST                             = 0x4
--	RTF_INTERFACE                        = 0x40000000
--	RTF_IRTT                             = 0x100
--	RTF_LINKRT                           = 0x100000
--	RTF_LOCAL                            = 0x80000000
--	RTF_MODIFIED                         = 0x20
--	RTF_MSS                              = 0x40
--	RTF_MTU                              = 0x40
--	RTF_MULTICAST                        = 0x20000000
--	RTF_NAT                              = 0x8000000
--	RTF_NOFORWARD                        = 0x1000
--	RTF_NONEXTHOP                        = 0x200000
--	RTF_NOPMTUDISC                       = 0x4000
--	RTF_POLICY                           = 0x4000000
--	RTF_REINSTATE                        = 0x8
--	RTF_REJECT                           = 0x200
--	RTF_STATIC                           = 0x400
--	RTF_THROW                            = 0x2000
--	RTF_UP                               = 0x1
--	RTF_WINDOW                           = 0x80
--	RTF_XRESOLVE                         = 0x800
--	RTM_BASE                             = 0x10
--	RTM_DELACTION                        = 0x31
--	RTM_DELADDR                          = 0x15
--	RTM_DELADDRLABEL                     = 0x49
--	RTM_DELLINK                          = 0x11
--	RTM_DELMDB                           = 0x55
--	RTM_DELNEIGH                         = 0x1d
--	RTM_DELNSID                          = 0x59
--	RTM_DELQDISC                         = 0x25
--	RTM_DELROUTE                         = 0x19
--	RTM_DELRULE                          = 0x21
--	RTM_DELTCLASS                        = 0x29
--	RTM_DELTFILTER                       = 0x2d
--	RTM_F_CLONED                         = 0x200
--	RTM_F_EQUALIZE                       = 0x400
--	RTM_F_LOOKUP_TABLE                   = 0x1000
--	RTM_F_NOTIFY                         = 0x100
--	RTM_F_PREFIX                         = 0x800
--	RTM_GETACTION                        = 0x32
--	RTM_GETADDR                          = 0x16
--	RTM_GETADDRLABEL                     = 0x4a
--	RTM_GETANYCAST                       = 0x3e
--	RTM_GETDCB                           = 0x4e
--	RTM_GETLINK                          = 0x12
--	RTM_GETMDB                           = 0x56
--	RTM_GETMULTICAST                     = 0x3a
--	RTM_GETNEIGH                         = 0x1e
--	RTM_GETNEIGHTBL                      = 0x42
--	RTM_GETNETCONF                       = 0x52
--	RTM_GETNSID                          = 0x5a
--	RTM_GETQDISC                         = 0x26
--	RTM_GETROUTE                         = 0x1a
--	RTM_GETRULE                          = 0x22
--	RTM_GETSTATS                         = 0x5e
--	RTM_GETTCLASS                        = 0x2a
--	RTM_GETTFILTER                       = 0x2e
--	RTM_MAX                              = 0x5f
--	RTM_NEWACTION                        = 0x30
--	RTM_NEWADDR                          = 0x14
--	RTM_NEWADDRLABEL                     = 0x48
--	RTM_NEWLINK                          = 0x10
--	RTM_NEWMDB                           = 0x54
--	RTM_NEWNDUSEROPT                     = 0x44
--	RTM_NEWNEIGH                         = 0x1c
--	RTM_NEWNEIGHTBL                      = 0x40
--	RTM_NEWNETCONF                       = 0x50
--	RTM_NEWNSID                          = 0x58
--	RTM_NEWPREFIX                        = 0x34
--	RTM_NEWQDISC                         = 0x24
--	RTM_NEWROUTE                         = 0x18
--	RTM_NEWRULE                          = 0x20
--	RTM_NEWSTATS                         = 0x5c
--	RTM_NEWTCLASS                        = 0x28
--	RTM_NEWTFILTER                       = 0x2c
--	RTM_NR_FAMILIES                      = 0x14
--	RTM_NR_MSGTYPES                      = 0x50
--	RTM_SETDCB                           = 0x4f
--	RTM_SETLINK                          = 0x13
--	RTM_SETNEIGHTBL                      = 0x43
--	RTNH_ALIGNTO                         = 0x4
--	RTNH_COMPARE_MASK                    = 0x19
--	RTNH_F_DEAD                          = 0x1
--	RTNH_F_LINKDOWN                      = 0x10
--	RTNH_F_OFFLOAD                       = 0x8
--	RTNH_F_ONLINK                        = 0x4
--	RTNH_F_PERVASIVE                     = 0x2
--	RTN_MAX                              = 0xb
--	RTPROT_BABEL                         = 0x2a
--	RTPROT_BIRD                          = 0xc
--	RTPROT_BOOT                          = 0x3
--	RTPROT_DHCP                          = 0x10
--	RTPROT_DNROUTED                      = 0xd
--	RTPROT_GATED                         = 0x8
--	RTPROT_KERNEL                        = 0x2
--	RTPROT_MROUTED                       = 0x11
--	RTPROT_MRT                           = 0xa
--	RTPROT_NTK                           = 0xf
--	RTPROT_RA                            = 0x9
--	RTPROT_REDIRECT                      = 0x1
--	RTPROT_STATIC                        = 0x4
--	RTPROT_UNSPEC                        = 0x0
--	RTPROT_XORP                          = 0xe
--	RTPROT_ZEBRA                         = 0xb
--	RT_CLASS_DEFAULT                     = 0xfd
--	RT_CLASS_LOCAL                       = 0xff
--	RT_CLASS_MAIN                        = 0xfe
--	RT_CLASS_MAX                         = 0xff
--	RT_CLASS_UNSPEC                      = 0x0
--	RUSAGE_CHILDREN                      = -0x1
--	RUSAGE_SELF                          = 0x0
--	RUSAGE_THREAD                        = 0x1
--	SCM_CREDENTIALS                      = 0x2
--	SCM_RIGHTS                           = 0x1
--	SCM_TIMESTAMP                        = 0x1d
--	SCM_TIMESTAMPING                     = 0x25
--	SCM_TIMESTAMPING_OPT_STATS           = 0x36
--	SCM_TIMESTAMPNS                      = 0x23
--	SCM_WIFI_STATUS                      = 0x29
--	SECCOMP_MODE_DISABLED                = 0x0
--	SECCOMP_MODE_FILTER                  = 0x2
--	SECCOMP_MODE_STRICT                  = 0x1
--	SHUT_RD                              = 0x0
--	SHUT_RDWR                            = 0x2
--	SHUT_WR                              = 0x1
--	SIOCADDDLCI                          = 0x8980
--	SIOCADDMULTI                         = 0x8931
--	SIOCADDRT                            = 0x890b
--	SIOCATMARK                           = 0x8905
--	SIOCBONDCHANGEACTIVE                 = 0x8995
--	SIOCBONDENSLAVE                      = 0x8990
--	SIOCBONDINFOQUERY                    = 0x8994
--	SIOCBONDRELEASE                      = 0x8991
--	SIOCBONDSETHWADDR                    = 0x8992
--	SIOCBONDSLAVEINFOQUERY               = 0x8993
--	SIOCBRADDBR                          = 0x89a0
--	SIOCBRADDIF                          = 0x89a2
--	SIOCBRDELBR                          = 0x89a1
--	SIOCBRDELIF                          = 0x89a3
--	SIOCDARP                             = 0x8953
--	SIOCDELDLCI                          = 0x8981
--	SIOCDELMULTI                         = 0x8932
--	SIOCDELRT                            = 0x890c
--	SIOCDEVPRIVATE                       = 0x89f0
--	SIOCDIFADDR                          = 0x8936
--	SIOCDRARP                            = 0x8960
--	SIOCETHTOOL                          = 0x8946
--	SIOCGARP                             = 0x8954
--	SIOCGHWTSTAMP                        = 0x89b1
--	SIOCGIFADDR                          = 0x8915
--	SIOCGIFBR                            = 0x8940
--	SIOCGIFBRDADDR                       = 0x8919
--	SIOCGIFCONF                          = 0x8912
--	SIOCGIFCOUNT                         = 0x8938
--	SIOCGIFDSTADDR                       = 0x8917
--	SIOCGIFENCAP                         = 0x8925
--	SIOCGIFFLAGS                         = 0x8913
--	SIOCGIFHWADDR                        = 0x8927
--	SIOCGIFINDEX                         = 0x8933
--	SIOCGIFMAP                           = 0x8970
--	SIOCGIFMEM                           = 0x891f
--	SIOCGIFMETRIC                        = 0x891d
--	SIOCGIFMTU                           = 0x8921
--	SIOCGIFNAME                          = 0x8910
--	SIOCGIFNETMASK                       = 0x891b
--	SIOCGIFPFLAGS                        = 0x8935
--	SIOCGIFSLAVE                         = 0x8929
--	SIOCGIFTXQLEN                        = 0x8942
--	SIOCGIFVLAN                          = 0x8982
--	SIOCGMIIPHY                          = 0x8947
--	SIOCGMIIREG                          = 0x8948
--	SIOCGPGRP                            = 0x8904
--	SIOCGRARP                            = 0x8961
--	SIOCGSKNS                            = 0x894c
--	SIOCGSTAMP                           = 0x8906
--	SIOCGSTAMPNS                         = 0x8907
--	SIOCINQ                              = 0x4004667f
--	SIOCOUTQ                             = 0x40047473
--	SIOCOUTQNSD                          = 0x894b
--	SIOCPROTOPRIVATE                     = 0x89e0
--	SIOCRTMSG                            = 0x890d
--	SIOCSARP                             = 0x8955
--	SIOCSHWTSTAMP                        = 0x89b0
--	SIOCSIFADDR                          = 0x8916
--	SIOCSIFBR                            = 0x8941
--	SIOCSIFBRDADDR                       = 0x891a
--	SIOCSIFDSTADDR                       = 0x8918
--	SIOCSIFENCAP                         = 0x8926
--	SIOCSIFFLAGS                         = 0x8914
--	SIOCSIFHWADDR                        = 0x8924
--	SIOCSIFHWBROADCAST                   = 0x8937
--	SIOCSIFLINK                          = 0x8911
--	SIOCSIFMAP                           = 0x8971
--	SIOCSIFMEM                           = 0x8920
--	SIOCSIFMETRIC                        = 0x891e
--	SIOCSIFMTU                           = 0x8922
--	SIOCSIFNAME                          = 0x8923
--	SIOCSIFNETMASK                       = 0x891c
--	SIOCSIFPFLAGS                        = 0x8934
--	SIOCSIFSLAVE                         = 0x8930
--	SIOCSIFTXQLEN                        = 0x8943
--	SIOCSIFVLAN                          = 0x8983
--	SIOCSMIIREG                          = 0x8949
--	SIOCSPGRP                            = 0x8902
--	SIOCSRARP                            = 0x8962
--	SIOCWANDEV                           = 0x894a
--	SOCK_CLOEXEC                         = 0x80000
--	SOCK_DCCP                            = 0x6
--	SOCK_DGRAM                           = 0x2
--	SOCK_IOC_TYPE                        = 0x89
--	SOCK_NONBLOCK                        = 0x800
--	SOCK_PACKET                          = 0xa
--	SOCK_RAW                             = 0x3
--	SOCK_RDM                             = 0x4
--	SOCK_SEQPACKET                       = 0x5
--	SOCK_STREAM                          = 0x1
--	SOL_AAL                              = 0x109
--	SOL_ALG                              = 0x117
--	SOL_ATM                              = 0x108
--	SOL_CAIF                             = 0x116
--	SOL_CAN_BASE                         = 0x64
--	SOL_DCCP                             = 0x10d
--	SOL_DECNET                           = 0x105
--	SOL_ICMPV6                           = 0x3a
--	SOL_IP                               = 0x0
--	SOL_IPV6                             = 0x29
--	SOL_IRDA                             = 0x10a
--	SOL_IUCV                             = 0x115
--	SOL_KCM                              = 0x119
--	SOL_LLC                              = 0x10c
--	SOL_NETBEUI                          = 0x10b
--	SOL_NETLINK                          = 0x10e
--	SOL_NFC                              = 0x118
--	SOL_PACKET                           = 0x107
--	SOL_PNPIPE                           = 0x113
--	SOL_PPPOL2TP                         = 0x111
--	SOL_RAW                              = 0xff
--	SOL_RDS                              = 0x114
--	SOL_RXRPC                            = 0x110
--	SOL_SOCKET                           = 0x1
--	SOL_TCP                              = 0x6
--	SOL_TIPC                             = 0x10f
--	SOL_X25                              = 0x106
--	SOMAXCONN                            = 0x80
--	SO_ACCEPTCONN                        = 0x1e
--	SO_ATTACH_BPF                        = 0x32
--	SO_ATTACH_FILTER                     = 0x1a
--	SO_ATTACH_REUSEPORT_CBPF             = 0x33
--	SO_ATTACH_REUSEPORT_EBPF             = 0x34
--	SO_BINDTODEVICE                      = 0x19
--	SO_BPF_EXTENSIONS                    = 0x30
--	SO_BROADCAST                         = 0x6
--	SO_BSDCOMPAT                         = 0xe
--	SO_BUSY_POLL                         = 0x2e
--	SO_CNX_ADVICE                        = 0x35
--	SO_DEBUG                             = 0x1
--	SO_DETACH_BPF                        = 0x1b
--	SO_DETACH_FILTER                     = 0x1b
--	SO_DOMAIN                            = 0x27
--	SO_DONTROUTE                         = 0x5
--	SO_ERROR                             = 0x4
--	SO_GET_FILTER                        = 0x1a
--	SO_INCOMING_CPU                      = 0x31
--	SO_KEEPALIVE                         = 0x9
--	SO_LINGER                            = 0xd
--	SO_LOCK_FILTER                       = 0x2c
--	SO_MARK                              = 0x24
--	SO_MAX_PACING_RATE                   = 0x2f
--	SO_NOFCS                             = 0x2b
--	SO_NO_CHECK                          = 0xb
--	SO_OOBINLINE                         = 0xa
--	SO_PASSCRED                          = 0x14
--	SO_PASSSEC                           = 0x22
--	SO_PEEK_OFF                          = 0x2a
--	SO_PEERCRED                          = 0x15
--	SO_PEERNAME                          = 0x1c
--	SO_PEERSEC                           = 0x1f
--	SO_PRIORITY                          = 0xc
--	SO_PROTOCOL                          = 0x26
--	SO_RCVBUF                            = 0x8
--	SO_RCVBUFFORCE                       = 0x21
--	SO_RCVLOWAT                          = 0x10
--	SO_RCVTIMEO                          = 0x12
--	SO_REUSEADDR                         = 0x2
--	SO_REUSEPORT                         = 0xf
--	SO_RXQ_OVFL                          = 0x28
--	SO_SECURITY_AUTHENTICATION           = 0x16
--	SO_SECURITY_ENCRYPTION_NETWORK       = 0x18
--	SO_SECURITY_ENCRYPTION_TRANSPORT     = 0x17
--	SO_SELECT_ERR_QUEUE                  = 0x2d
--	SO_SNDBUF                            = 0x7
--	SO_SNDBUFFORCE                       = 0x20
--	SO_SNDLOWAT                          = 0x11
--	SO_SNDTIMEO                          = 0x13
--	SO_TIMESTAMP                         = 0x1d
--	SO_TIMESTAMPING                      = 0x25
--	SO_TIMESTAMPNS                       = 0x23
--	SO_TYPE                              = 0x3
--	SO_VM_SOCKETS_BUFFER_MAX_SIZE        = 0x2
--	SO_VM_SOCKETS_BUFFER_MIN_SIZE        = 0x1
--	SO_VM_SOCKETS_BUFFER_SIZE            = 0x0
--	SO_VM_SOCKETS_CONNECT_TIMEOUT        = 0x6
--	SO_VM_SOCKETS_NONBLOCK_TXRX          = 0x7
--	SO_VM_SOCKETS_PEER_HOST_VM_ID        = 0x3
--	SO_VM_SOCKETS_TRUSTED                = 0x5
--	SO_WIFI_STATUS                       = 0x29
--	SPLICE_F_GIFT                        = 0x8
--	SPLICE_F_MORE                        = 0x4
--	SPLICE_F_MOVE                        = 0x1
--	SPLICE_F_NONBLOCK                    = 0x2
--	S_BLKSIZE                            = 0x200
--	S_IEXEC                              = 0x40
--	S_IFBLK                              = 0x6000
--	S_IFCHR                              = 0x2000
--	S_IFDIR                              = 0x4000
--	S_IFIFO                              = 0x1000
--	S_IFLNK                              = 0xa000
--	S_IFMT                               = 0xf000
--	S_IFREG                              = 0x8000
--	S_IFSOCK                             = 0xc000
--	S_IREAD                              = 0x100
--	S_IRGRP                              = 0x20
--	S_IROTH                              = 0x4
--	S_IRUSR                              = 0x100
--	S_IRWXG                              = 0x38
--	S_IRWXO                              = 0x7
--	S_IRWXU                              = 0x1c0
--	S_ISGID                              = 0x400
--	S_ISUID                              = 0x800
--	S_ISVTX                              = 0x200
--	S_IWGRP                              = 0x10
--	S_IWOTH                              = 0x2
--	S_IWRITE                             = 0x80
--	S_IWUSR                              = 0x80
--	S_IXGRP                              = 0x8
--	S_IXOTH                              = 0x1
--	S_IXUSR                              = 0x40
--	TAB0                                 = 0x0
--	TAB1                                 = 0x400
--	TAB2                                 = 0x800
--	TAB3                                 = 0xc00
--	TABDLY                               = 0xc00
--	TASKSTATS_CMD_ATTR_MAX               = 0x4
--	TASKSTATS_CMD_MAX                    = 0x2
--	TASKSTATS_GENL_NAME                  = "TASKSTATS"
--	TASKSTATS_GENL_VERSION               = 0x1
--	TASKSTATS_TYPE_MAX                   = 0x6
--	TASKSTATS_VERSION                    = 0x8
--	TCFLSH                               = 0x2000741f
--	TCGETA                               = 0x40147417
--	TCGETS                               = 0x402c7413
--	TCIFLUSH                             = 0x0
--	TCIOFF                               = 0x2
--	TCIOFLUSH                            = 0x2
--	TCION                                = 0x3
--	TCOFLUSH                             = 0x1
--	TCOOFF                               = 0x0
--	TCOON                                = 0x1
--	TCP_CC_INFO                          = 0x1a
--	TCP_CONGESTION                       = 0xd
--	TCP_COOKIE_IN_ALWAYS                 = 0x1
--	TCP_COOKIE_MAX                       = 0x10
--	TCP_COOKIE_MIN                       = 0x8
--	TCP_COOKIE_OUT_NEVER                 = 0x2
--	TCP_COOKIE_PAIR_SIZE                 = 0x20
--	TCP_COOKIE_TRANSACTIONS              = 0xf
--	TCP_CORK                             = 0x3
--	TCP_DEFER_ACCEPT                     = 0x9
--	TCP_FASTOPEN                         = 0x17
--	TCP_INFO                             = 0xb
--	TCP_KEEPCNT                          = 0x6
--	TCP_KEEPIDLE                         = 0x4
--	TCP_KEEPINTVL                        = 0x5
--	TCP_LINGER2                          = 0x8
--	TCP_MAXSEG                           = 0x2
--	TCP_MAXWIN                           = 0xffff
--	TCP_MAX_WINSHIFT                     = 0xe
--	TCP_MD5SIG                           = 0xe
--	TCP_MD5SIG_MAXKEYLEN                 = 0x50
--	TCP_MSS                              = 0x200
--	TCP_MSS_DEFAULT                      = 0x218
--	TCP_MSS_DESIRED                      = 0x4c4
--	TCP_NODELAY                          = 0x1
--	TCP_NOTSENT_LOWAT                    = 0x19
--	TCP_QUEUE_SEQ                        = 0x15
--	TCP_QUICKACK                         = 0xc
--	TCP_REPAIR                           = 0x13
--	TCP_REPAIR_OPTIONS                   = 0x16
--	TCP_REPAIR_QUEUE                     = 0x14
--	TCP_REPAIR_WINDOW                    = 0x1d
--	TCP_SAVED_SYN                        = 0x1c
--	TCP_SAVE_SYN                         = 0x1b
--	TCP_SYNCNT                           = 0x7
--	TCP_S_DATA_IN                        = 0x4
--	TCP_S_DATA_OUT                       = 0x8
--	TCP_THIN_DUPACK                      = 0x11
--	TCP_THIN_LINEAR_TIMEOUTS             = 0x10
--	TCP_TIMESTAMP                        = 0x18
--	TCP_USER_TIMEOUT                     = 0x12
--	TCP_WINDOW_CLAMP                     = 0xa
--	TCSAFLUSH                            = 0x2
--	TCSBRK                               = 0x2000741d
--	TCSBRKP                              = 0x5425
--	TCSETA                               = 0x80147418
--	TCSETAF                              = 0x8014741c
--	TCSETAW                              = 0x80147419
--	TCSETS                               = 0x802c7414
--	TCSETSF                              = 0x802c7416
--	TCSETSW                              = 0x802c7415
--	TCXONC                               = 0x2000741e
--	TIOCCBRK                             = 0x5428
--	TIOCCONS                             = 0x541d
--	TIOCEXCL                             = 0x540c
--	TIOCGDEV                             = 0x40045432
--	TIOCGETC                             = 0x40067412
--	TIOCGETD                             = 0x5424
--	TIOCGETP                             = 0x40067408
--	TIOCGEXCL                            = 0x40045440
--	TIOCGICOUNT                          = 0x545d
--	TIOCGLCKTRMIOS                       = 0x5456
--	TIOCGLTC                             = 0x40067474
--	TIOCGPGRP                            = 0x40047477
--	TIOCGPKT                             = 0x40045438
--	TIOCGPTLCK                           = 0x40045439
--	TIOCGPTN                             = 0x40045430
--	TIOCGRS485                           = 0x542e
--	TIOCGSERIAL                          = 0x541e
--	TIOCGSID                             = 0x5429
--	TIOCGSOFTCAR                         = 0x5419
--	TIOCGWINSZ                           = 0x40087468
--	TIOCINQ                              = 0x4004667f
--	TIOCLINUX                            = 0x541c
--	TIOCMBIC                             = 0x5417
--	TIOCMBIS                             = 0x5416
--	TIOCMGET                             = 0x5415
--	TIOCMIWAIT                           = 0x545c
--	TIOCMSET                             = 0x5418
--	TIOCM_CAR                            = 0x40
--	TIOCM_CD                             = 0x40
--	TIOCM_CTS                            = 0x20
--	TIOCM_DSR                            = 0x100
--	TIOCM_DTR                            = 0x2
--	TIOCM_LE                             = 0x1
--	TIOCM_LOOP                           = 0x8000
--	TIOCM_OUT1                           = 0x2000
--	TIOCM_OUT2                           = 0x4000
--	TIOCM_RI                             = 0x80
--	TIOCM_RNG                            = 0x80
--	TIOCM_RTS                            = 0x4
--	TIOCM_SR                             = 0x10
--	TIOCM_ST                             = 0x8
--	TIOCNOTTY                            = 0x5422
--	TIOCNXCL                             = 0x540d
--	TIOCOUTQ                             = 0x40047473
--	TIOCPKT                              = 0x5420
--	TIOCPKT_DATA                         = 0x0
--	TIOCPKT_DOSTOP                       = 0x20
--	TIOCPKT_FLUSHREAD                    = 0x1
--	TIOCPKT_FLUSHWRITE                   = 0x2
--	TIOCPKT_IOCTL                        = 0x40
--	TIOCPKT_NOSTOP                       = 0x10
--	TIOCPKT_START                        = 0x8
--	TIOCPKT_STOP                         = 0x4
--	TIOCSBRK                             = 0x5427
--	TIOCSCTTY                            = 0x540e
--	TIOCSERCONFIG                        = 0x5453
--	TIOCSERGETLSR                        = 0x5459
--	TIOCSERGETMULTI                      = 0x545a
--	TIOCSERGSTRUCT                       = 0x5458
--	TIOCSERGWILD                         = 0x5454
--	TIOCSERSETMULTI                      = 0x545b
--	TIOCSERSWILD                         = 0x5455
--	TIOCSER_TEMT                         = 0x1
--	TIOCSETC                             = 0x80067411
--	TIOCSETD                             = 0x5423
--	TIOCSETN                             = 0x8006740a
--	TIOCSETP                             = 0x80067409
--	TIOCSIG                              = 0x80045436
--	TIOCSLCKTRMIOS                       = 0x5457
--	TIOCSLTC                             = 0x80067475
--	TIOCSPGRP                            = 0x80047476
--	TIOCSPTLCK                           = 0x80045431
--	TIOCSRS485                           = 0x542f
--	TIOCSSERIAL                          = 0x541f
--	TIOCSSOFTCAR                         = 0x541a
--	TIOCSTART                            = 0x2000746e
--	TIOCSTI                              = 0x5412
--	TIOCSTOP                             = 0x2000746f
--	TIOCSWINSZ                           = 0x80087467
--	TIOCVHANGUP                          = 0x5437
--	TOSTOP                               = 0x400000
--	TS_COMM_LEN                          = 0x20
--	TUNATTACHFILTER                      = 0x801054d5
--	TUNDETACHFILTER                      = 0x801054d6
--	TUNGETFEATURES                       = 0x400454cf
--	TUNGETFILTER                         = 0x401054db
--	TUNGETIFF                            = 0x400454d2
--	TUNGETSNDBUF                         = 0x400454d3
--	TUNGETVNETBE                         = 0x400454df
--	TUNGETVNETHDRSZ                      = 0x400454d7
--	TUNGETVNETLE                         = 0x400454dd
--	TUNSETDEBUG                          = 0x800454c9
--	TUNSETGROUP                          = 0x800454ce
--	TUNSETIFF                            = 0x800454ca
--	TUNSETIFINDEX                        = 0x800454da
--	TUNSETLINK                           = 0x800454cd
--	TUNSETNOCSUM                         = 0x800454c8
--	TUNSETOFFLOAD                        = 0x800454d0
--	TUNSETOWNER                          = 0x800454cc
--	TUNSETPERSIST                        = 0x800454cb
--	TUNSETQUEUE                          = 0x800454d9
--	TUNSETSNDBUF                         = 0x800454d4
--	TUNSETTXFILTER                       = 0x800454d1
--	TUNSETVNETBE                         = 0x800454de
--	TUNSETVNETHDRSZ                      = 0x800454d8
--	TUNSETVNETLE                         = 0x800454dc
--	UMOUNT_NOFOLLOW                      = 0x8
--	VDISCARD                             = 0x10
--	VEOF                                 = 0x4
--	VEOL                                 = 0x6
--	VEOL2                                = 0x8
--	VERASE                               = 0x2
--	VINTR                                = 0x0
--	VKILL                                = 0x3
--	VLNEXT                               = 0xf
--	VMADDR_CID_ANY                       = 0xffffffff
--	VMADDR_CID_HOST                      = 0x2
--	VMADDR_CID_HYPERVISOR                = 0x0
--	VMADDR_CID_RESERVED                  = 0x1
--	VMADDR_PORT_ANY                      = 0xffffffff
--	VMIN                                 = 0x5
--	VM_SOCKETS_INVALID_VERSION           = 0xffffffff
--	VQUIT                                = 0x1
--	VREPRINT                             = 0xb
--	VSTART                               = 0xd
--	VSTOP                                = 0xe
--	VSUSP                                = 0xc
--	VSWTC                                = 0x9
--	VT0                                  = 0x0
--	VT1                                  = 0x10000
--	VTDLY                                = 0x10000
--	VTIME                                = 0x7
--	VWERASE                              = 0xa
--	WALL                                 = 0x40000000
--	WCLONE                               = 0x80000000
--	WCONTINUED                           = 0x8
--	WEXITED                              = 0x4
--	WNOHANG                              = 0x1
--	WNOTHREAD                            = 0x20000000
--	WNOWAIT                              = 0x1000000
--	WORDSIZE                             = 0x40
--	WSTOPPED                             = 0x2
--	WUNTRACED                            = 0x2
--	XATTR_CREATE                         = 0x1
--	XATTR_REPLACE                        = 0x2
--	XCASE                                = 0x4000
--	XTABS                                = 0xc00
-+	B1000000                         = 0x17
-+	B115200                          = 0x11
-+	B1152000                         = 0x18
-+	B1500000                         = 0x19
-+	B2000000                         = 0x1a
-+	B230400                          = 0x12
-+	B2500000                         = 0x1b
-+	B3000000                         = 0x1c
-+	B3500000                         = 0x1d
-+	B4000000                         = 0x1e
-+	B460800                          = 0x13
-+	B500000                          = 0x14
-+	B57600                           = 0x10
-+	B576000                          = 0x15
-+	B921600                          = 0x16
-+	BLKBSZGET                        = 0x40081270
-+	BLKBSZSET                        = 0x80081271
-+	BLKFLSBUF                        = 0x20001261
-+	BLKFRAGET                        = 0x20001265
-+	BLKFRASET                        = 0x20001264
-+	BLKGETSIZE                       = 0x20001260
-+	BLKGETSIZE64                     = 0x40081272
-+	BLKPBSZGET                       = 0x2000127b
-+	BLKRAGET                         = 0x20001263
-+	BLKRASET                         = 0x20001262
-+	BLKROGET                         = 0x2000125e
-+	BLKROSET                         = 0x2000125d
-+	BLKRRPART                        = 0x2000125f
-+	BLKSECTGET                       = 0x20001267
-+	BLKSECTSET                       = 0x20001266
-+	BLKSSZGET                        = 0x20001268
-+	BOTHER                           = 0x1f
-+	BS1                              = 0x8000
-+	BSDLY                            = 0x8000
-+	CBAUD                            = 0xff
-+	CBAUDEX                          = 0x0
-+	CIBAUD                           = 0xff0000
-+	CLOCAL                           = 0x8000
-+	CR1                              = 0x1000
-+	CR2                              = 0x2000
-+	CR3                              = 0x3000
-+	CRDLY                            = 0x3000
-+	CREAD                            = 0x800
-+	CS6                              = 0x100
-+	CS7                              = 0x200
-+	CS8                              = 0x300
-+	CSIZE                            = 0x300
-+	CSTOPB                           = 0x400
-+	ECHOCTL                          = 0x40
-+	ECHOE                            = 0x2
-+	ECHOK                            = 0x4
-+	ECHOKE                           = 0x1
-+	ECHONL                           = 0x10
-+	ECHOPRT                          = 0x20
-+	EFD_CLOEXEC                      = 0x80000
-+	EFD_NONBLOCK                     = 0x800
-+	EPOLL_CLOEXEC                    = 0x80000
-+	EXTPROC                          = 0x10000000
-+	FF1                              = 0x4000
-+	FFDLY                            = 0x4000
-+	FLUSHO                           = 0x800000
-+	FS_IOC_ENABLE_VERITY             = 0x80806685
-+	FS_IOC_GETFLAGS                  = 0x40086601
-+	FS_IOC_GET_ENCRYPTION_POLICY     = 0x800c6615
-+	FS_IOC_GET_ENCRYPTION_PWSALT     = 0x80106614
-+	FS_IOC_SET_ENCRYPTION_POLICY     = 0x400c6613
-+	F_GETLK                          = 0x5
-+	F_GETLK64                        = 0xc
-+	F_GETOWN                         = 0x9
-+	F_RDLCK                          = 0x0
-+	F_SETLK                          = 0x6
-+	F_SETLK64                        = 0xd
-+	F_SETLKW                         = 0x7
-+	F_SETLKW64                       = 0xe
-+	F_SETOWN                         = 0x8
-+	F_UNLCK                          = 0x2
-+	F_WRLCK                          = 0x1
-+	HUPCL                            = 0x4000
-+	ICANON                           = 0x100
-+	IEXTEN                           = 0x400
-+	IN_CLOEXEC                       = 0x80000
-+	IN_NONBLOCK                      = 0x800
-+	IOCTL_VM_SOCKETS_GET_LOCAL_CID   = 0x200007b9
-+	ISIG                             = 0x80
-+	IUCLC                            = 0x1000
-+	IXOFF                            = 0x400
-+	IXON                             = 0x200
-+	MAP_ANON                         = 0x20
-+	MAP_ANONYMOUS                    = 0x20
-+	MAP_DENYWRITE                    = 0x800
-+	MAP_EXECUTABLE                   = 0x1000
-+	MAP_GROWSDOWN                    = 0x100
-+	MAP_HUGETLB                      = 0x40000
-+	MAP_LOCKED                       = 0x80
-+	MAP_NONBLOCK                     = 0x10000
-+	MAP_NORESERVE                    = 0x40
-+	MAP_POPULATE                     = 0x8000
-+	MAP_STACK                        = 0x20000
-+	MAP_SYNC                         = 0x80000
-+	MCL_CURRENT                      = 0x2000
-+	MCL_FUTURE                       = 0x4000
-+	MCL_ONFAULT                      = 0x8000
-+	NFDBITS                          = 0x40
-+	NL2                              = 0x200
-+	NL3                              = 0x300
-+	NLDLY                            = 0x300
-+	NOFLSH                           = 0x80000000
-+	NS_GET_NSTYPE                    = 0x2000b703
-+	NS_GET_OWNER_UID                 = 0x2000b704
-+	NS_GET_PARENT                    = 0x2000b702
-+	NS_GET_USERNS                    = 0x2000b701
-+	OLCUC                            = 0x4
-+	ONLCR                            = 0x2
-+	O_APPEND                         = 0x400
-+	O_ASYNC                          = 0x2000
-+	O_CLOEXEC                        = 0x80000
-+	O_CREAT                          = 0x40
-+	O_DIRECT                         = 0x20000
-+	O_DIRECTORY                      = 0x4000
-+	O_DSYNC                          = 0x1000
-+	O_EXCL                           = 0x80
-+	O_FSYNC                          = 0x101000
-+	O_LARGEFILE                      = 0x0
-+	O_NDELAY                         = 0x800
-+	O_NOATIME                        = 0x40000
-+	O_NOCTTY                         = 0x100
-+	O_NOFOLLOW                       = 0x8000
-+	O_NONBLOCK                       = 0x800
-+	O_PATH                           = 0x200000
-+	O_RSYNC                          = 0x101000
-+	O_SYNC                           = 0x101000
-+	O_TMPFILE                        = 0x404000
-+	O_TRUNC                          = 0x200
-+	PARENB                           = 0x1000
-+	PARODD                           = 0x2000
-+	PENDIN                           = 0x20000000
-+	PERF_EVENT_IOC_DISABLE           = 0x20002401
-+	PERF_EVENT_IOC_ENABLE            = 0x20002400
-+	PERF_EVENT_IOC_ID                = 0x40082407
-+	PERF_EVENT_IOC_MODIFY_ATTRIBUTES = 0x8008240b
-+	PERF_EVENT_IOC_PAUSE_OUTPUT      = 0x80042409
-+	PERF_EVENT_IOC_PERIOD            = 0x80082404
-+	PERF_EVENT_IOC_QUERY_BPF         = 0xc008240a
-+	PERF_EVENT_IOC_REFRESH           = 0x20002402
-+	PERF_EVENT_IOC_RESET             = 0x20002403
-+	PERF_EVENT_IOC_SET_BPF           = 0x80042408
-+	PERF_EVENT_IOC_SET_FILTER        = 0x80082406
-+	PERF_EVENT_IOC_SET_OUTPUT        = 0x20002405
-+	PPPIOCATTACH                     = 0x8004743d
-+	PPPIOCATTCHAN                    = 0x80047438
-+	PPPIOCCONNECT                    = 0x8004743a
-+	PPPIOCDETACH                     = 0x8004743c
-+	PPPIOCDISCONN                    = 0x20007439
-+	PPPIOCGASYNCMAP                  = 0x40047458
-+	PPPIOCGCHAN                      = 0x40047437
-+	PPPIOCGDEBUG                     = 0x40047441
-+	PPPIOCGFLAGS                     = 0x4004745a
-+	PPPIOCGIDLE                      = 0x4010743f
-+	PPPIOCGIDLE32                    = 0x4008743f
-+	PPPIOCGIDLE64                    = 0x4010743f
-+	PPPIOCGL2TPSTATS                 = 0x40487436
-+	PPPIOCGMRU                       = 0x40047453
-+	PPPIOCGRASYNCMAP                 = 0x40047455
-+	PPPIOCGUNIT                      = 0x40047456
-+	PPPIOCGXASYNCMAP                 = 0x40207450
-+	PPPIOCSACTIVE                    = 0x80107446
-+	PPPIOCSASYNCMAP                  = 0x80047457
-+	PPPIOCSCOMPRESS                  = 0x8010744d
-+	PPPIOCSDEBUG                     = 0x80047440
-+	PPPIOCSFLAGS                     = 0x80047459
-+	PPPIOCSMAXCID                    = 0x80047451
-+	PPPIOCSMRRU                      = 0x8004743b
-+	PPPIOCSMRU                       = 0x80047452
-+	PPPIOCSNPMODE                    = 0x8008744b
-+	PPPIOCSPASS                      = 0x80107447
-+	PPPIOCSRASYNCMAP                 = 0x80047454
-+	PPPIOCSXASYNCMAP                 = 0x8020744f
-+	PPPIOCXFERUNIT                   = 0x2000744e
-+	PROT_SAO                         = 0x10
-+	PR_SET_PTRACER_ANY               = 0xffffffffffffffff
-+	PTRACE_GETEVRREGS                = 0x14
-+	PTRACE_GETFPREGS                 = 0xe
-+	PTRACE_GETREGS64                 = 0x16
-+	PTRACE_GETVRREGS                 = 0x12
-+	PTRACE_GETVSRREGS                = 0x1b
-+	PTRACE_GET_DEBUGREG              = 0x19
-+	PTRACE_SETEVRREGS                = 0x15
-+	PTRACE_SETFPREGS                 = 0xf
-+	PTRACE_SETREGS64                 = 0x17
-+	PTRACE_SETVRREGS                 = 0x13
-+	PTRACE_SETVSRREGS                = 0x1c
-+	PTRACE_SET_DEBUGREG              = 0x1a
-+	PTRACE_SINGLEBLOCK               = 0x100
-+	PTRACE_SYSEMU                    = 0x1d
-+	PTRACE_SYSEMU_SINGLESTEP         = 0x1e
-+	PT_CCR                           = 0x26
-+	PT_CTR                           = 0x23
-+	PT_DAR                           = 0x29
-+	PT_DSCR                          = 0x2c
-+	PT_DSISR                         = 0x2a
-+	PT_FPR0                          = 0x30
-+	PT_FPSCR                         = 0x50
-+	PT_LNK                           = 0x24
-+	PT_MSR                           = 0x21
-+	PT_NIP                           = 0x20
-+	PT_ORIG_R3                       = 0x22
-+	PT_R0                            = 0x0
-+	PT_R1                            = 0x1
-+	PT_R10                           = 0xa
-+	PT_R11                           = 0xb
-+	PT_R12                           = 0xc
-+	PT_R13                           = 0xd
-+	PT_R14                           = 0xe
-+	PT_R15                           = 0xf
-+	PT_R16                           = 0x10
-+	PT_R17                           = 0x11
-+	PT_R18                           = 0x12
-+	PT_R19                           = 0x13
-+	PT_R2                            = 0x2
-+	PT_R20                           = 0x14
-+	PT_R21                           = 0x15
-+	PT_R22                           = 0x16
-+	PT_R23                           = 0x17
-+	PT_R24                           = 0x18
-+	PT_R25                           = 0x19
-+	PT_R26                           = 0x1a
-+	PT_R27                           = 0x1b
-+	PT_R28                           = 0x1c
-+	PT_R29                           = 0x1d
-+	PT_R3                            = 0x3
-+	PT_R30                           = 0x1e
-+	PT_R31                           = 0x1f
-+	PT_R4                            = 0x4
-+	PT_R5                            = 0x5
-+	PT_R6                            = 0x6
-+	PT_R7                            = 0x7
-+	PT_R8                            = 0x8
-+	PT_R9                            = 0x9
-+	PT_REGS_COUNT                    = 0x2c
-+	PT_RESULT                        = 0x2b
-+	PT_SOFTE                         = 0x27
-+	PT_TRAP                          = 0x28
-+	PT_VR0                           = 0x52
-+	PT_VRSAVE                        = 0x94
-+	PT_VSCR                          = 0x93
-+	PT_VSR0                          = 0x96
-+	PT_VSR31                         = 0xd4
-+	PT_XER                           = 0x25
-+	RLIMIT_AS                        = 0x9
-+	RLIMIT_MEMLOCK                   = 0x8
-+	RLIMIT_NOFILE                    = 0x7
-+	RLIMIT_NPROC                     = 0x6
-+	RLIMIT_RSS                       = 0x5
-+	RNDADDENTROPY                    = 0x80085203
-+	RNDADDTOENTCNT                   = 0x80045201
-+	RNDCLEARPOOL                     = 0x20005206
-+	RNDGETENTCNT                     = 0x40045200
-+	RNDGETPOOL                       = 0x40085202
-+	RNDRESEEDCRNG                    = 0x20005207
-+	RNDZAPENTCNT                     = 0x20005204
-+	RTC_AIE_OFF                      = 0x20007002
-+	RTC_AIE_ON                       = 0x20007001
-+	RTC_ALM_READ                     = 0x40247008
-+	RTC_ALM_SET                      = 0x80247007
-+	RTC_EPOCH_READ                   = 0x4008700d
-+	RTC_EPOCH_SET                    = 0x8008700e
-+	RTC_IRQP_READ                    = 0x4008700b
-+	RTC_IRQP_SET                     = 0x8008700c
-+	RTC_PIE_OFF                      = 0x20007006
-+	RTC_PIE_ON                       = 0x20007005
-+	RTC_PLL_GET                      = 0x40207011
-+	RTC_PLL_SET                      = 0x80207012
-+	RTC_RD_TIME                      = 0x40247009
-+	RTC_SET_TIME                     = 0x8024700a
-+	RTC_UIE_OFF                      = 0x20007004
-+	RTC_UIE_ON                       = 0x20007003
-+	RTC_VL_CLR                       = 0x20007014
-+	RTC_VL_READ                      = 0x40047013
-+	RTC_WIE_OFF                      = 0x20007010
-+	RTC_WIE_ON                       = 0x2000700f
-+	RTC_WKALM_RD                     = 0x40287010
-+	RTC_WKALM_SET                    = 0x8028700f
-+	SCM_TIMESTAMPING                 = 0x25
-+	SCM_TIMESTAMPING_OPT_STATS       = 0x36
-+	SCM_TIMESTAMPING_PKTINFO         = 0x3a
-+	SCM_TIMESTAMPNS                  = 0x23
-+	SCM_TXTIME                       = 0x3d
-+	SCM_WIFI_STATUS                  = 0x29
-+	SFD_CLOEXEC                      = 0x80000
-+	SFD_NONBLOCK                     = 0x800
-+	SIOCATMARK                       = 0x8905
-+	SIOCGPGRP                        = 0x8904
-+	SIOCGSTAMPNS_NEW                 = 0x40108907
-+	SIOCGSTAMP_NEW                   = 0x40108906
-+	SIOCINQ                          = 0x4004667f
-+	SIOCOUTQ                         = 0x40047473
-+	SIOCSPGRP                        = 0x8902
-+	SOCK_CLOEXEC                     = 0x80000
-+	SOCK_DGRAM                       = 0x2
-+	SOCK_NONBLOCK                    = 0x800
-+	SOCK_STREAM                      = 0x1
-+	SOL_SOCKET                       = 0x1
-+	SO_ACCEPTCONN                    = 0x1e
-+	SO_ATTACH_BPF                    = 0x32
-+	SO_ATTACH_REUSEPORT_CBPF         = 0x33
-+	SO_ATTACH_REUSEPORT_EBPF         = 0x34
-+	SO_BINDTODEVICE                  = 0x19
-+	SO_BINDTOIFINDEX                 = 0x3e
-+	SO_BPF_EXTENSIONS                = 0x30
-+	SO_BROADCAST                     = 0x6
-+	SO_BSDCOMPAT                     = 0xe
-+	SO_BUSY_POLL                     = 0x2e
-+	SO_CNX_ADVICE                    = 0x35
-+	SO_COOKIE                        = 0x39
-+	SO_DETACH_REUSEPORT_BPF          = 0x44
-+	SO_DOMAIN                        = 0x27
-+	SO_DONTROUTE                     = 0x5
-+	SO_ERROR                         = 0x4
-+	SO_INCOMING_CPU                  = 0x31
-+	SO_INCOMING_NAPI_ID              = 0x38
-+	SO_KEEPALIVE                     = 0x9
-+	SO_LINGER                        = 0xd
-+	SO_LOCK_FILTER                   = 0x2c
-+	SO_MARK                          = 0x24
-+	SO_MAX_PACING_RATE               = 0x2f
-+	SO_MEMINFO                       = 0x37
-+	SO_NOFCS                         = 0x2b
-+	SO_OOBINLINE                     = 0xa
-+	SO_PASSCRED                      = 0x14
-+	SO_PASSSEC                       = 0x22
-+	SO_PEEK_OFF                      = 0x2a
-+	SO_PEERCRED                      = 0x15
-+	SO_PEERGROUPS                    = 0x3b
-+	SO_PEERSEC                       = 0x1f
-+	SO_PROTOCOL                      = 0x26
-+	SO_RCVBUF                        = 0x8
-+	SO_RCVBUFFORCE                   = 0x21
-+	SO_RCVLOWAT                      = 0x10
-+	SO_RCVTIMEO                      = 0x12
-+	SO_RCVTIMEO_NEW                  = 0x42
-+	SO_RCVTIMEO_OLD                  = 0x12
-+	SO_REUSEADDR                     = 0x2
-+	SO_REUSEPORT                     = 0xf
-+	SO_RXQ_OVFL                      = 0x28
-+	SO_SECURITY_AUTHENTICATION       = 0x16
-+	SO_SECURITY_ENCRYPTION_NETWORK   = 0x18
-+	SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17
-+	SO_SELECT_ERR_QUEUE              = 0x2d
-+	SO_SNDBUF                        = 0x7
-+	SO_SNDBUFFORCE                   = 0x20
-+	SO_SNDLOWAT                      = 0x11
-+	SO_SNDTIMEO                      = 0x13
-+	SO_SNDTIMEO_NEW                  = 0x43
-+	SO_SNDTIMEO_OLD                  = 0x13
-+	SO_TIMESTAMPING                  = 0x25
-+	SO_TIMESTAMPING_NEW              = 0x41
-+	SO_TIMESTAMPING_OLD              = 0x25
-+	SO_TIMESTAMPNS                   = 0x23
-+	SO_TIMESTAMPNS_NEW               = 0x40
-+	SO_TIMESTAMPNS_OLD               = 0x23
-+	SO_TIMESTAMP_NEW                 = 0x3f
-+	SO_TXTIME                        = 0x3d
-+	SO_TYPE                          = 0x3
-+	SO_WIFI_STATUS                   = 0x29
-+	SO_ZEROCOPY                      = 0x3c
-+	TAB1                             = 0x400
-+	TAB2                             = 0x800
-+	TAB3                             = 0xc00
-+	TABDLY                           = 0xc00
-+	TCFLSH                           = 0x2000741f
-+	TCGETA                           = 0x40147417
-+	TCGETS                           = 0x402c7413
-+	TCSAFLUSH                        = 0x2
-+	TCSBRK                           = 0x2000741d
-+	TCSBRKP                          = 0x5425
-+	TCSETA                           = 0x80147418
-+	TCSETAF                          = 0x8014741c
-+	TCSETAW                          = 0x80147419
-+	TCSETS                           = 0x802c7414
-+	TCSETSF                          = 0x802c7416
-+	TCSETSW                          = 0x802c7415
-+	TCXONC                           = 0x2000741e
-+	TIOCCBRK                         = 0x5428
-+	TIOCCONS                         = 0x541d
-+	TIOCEXCL                         = 0x540c
-+	TIOCGDEV                         = 0x40045432
-+	TIOCGETC                         = 0x40067412
-+	TIOCGETD                         = 0x5424
-+	TIOCGETP                         = 0x40067408
-+	TIOCGEXCL                        = 0x40045440
-+	TIOCGICOUNT                      = 0x545d
-+	TIOCGISO7816                     = 0x40285442
-+	TIOCGLCKTRMIOS                   = 0x5456
-+	TIOCGLTC                         = 0x40067474
-+	TIOCGPGRP                        = 0x40047477
-+	TIOCGPKT                         = 0x40045438
-+	TIOCGPTLCK                       = 0x40045439
-+	TIOCGPTN                         = 0x40045430
-+	TIOCGPTPEER                      = 0x20005441
-+	TIOCGRS485                       = 0x542e
-+	TIOCGSERIAL                      = 0x541e
-+	TIOCGSID                         = 0x5429
-+	TIOCGSOFTCAR                     = 0x5419
-+	TIOCGWINSZ                       = 0x40087468
-+	TIOCINQ                          = 0x4004667f
-+	TIOCLINUX                        = 0x541c
-+	TIOCMBIC                         = 0x5417
-+	TIOCMBIS                         = 0x5416
-+	TIOCMGET                         = 0x5415
-+	TIOCMIWAIT                       = 0x545c
-+	TIOCMSET                         = 0x5418
-+	TIOCM_CAR                        = 0x40
-+	TIOCM_CD                         = 0x40
-+	TIOCM_CTS                        = 0x20
-+	TIOCM_DSR                        = 0x100
-+	TIOCM_LOOP                       = 0x8000
-+	TIOCM_OUT1                       = 0x2000
-+	TIOCM_OUT2                       = 0x4000
-+	TIOCM_RI                         = 0x80
-+	TIOCM_RNG                        = 0x80
-+	TIOCM_SR                         = 0x10
-+	TIOCM_ST                         = 0x8
-+	TIOCNOTTY                        = 0x5422
-+	TIOCNXCL                         = 0x540d
-+	TIOCOUTQ                         = 0x40047473
-+	TIOCPKT                          = 0x5420
-+	TIOCSBRK                         = 0x5427
-+	TIOCSCTTY                        = 0x540e
-+	TIOCSERCONFIG                    = 0x5453
-+	TIOCSERGETLSR                    = 0x5459
-+	TIOCSERGETMULTI                  = 0x545a
-+	TIOCSERGSTRUCT                   = 0x5458
-+	TIOCSERGWILD                     = 0x5454
-+	TIOCSERSETMULTI                  = 0x545b
-+	TIOCSERSWILD                     = 0x5455
-+	TIOCSER_TEMT                     = 0x1
-+	TIOCSETC                         = 0x80067411
-+	TIOCSETD                         = 0x5423
-+	TIOCSETN                         = 0x8006740a
-+	TIOCSETP                         = 0x80067409
-+	TIOCSIG                          = 0x80045436
-+	TIOCSISO7816                     = 0xc0285443
-+	TIOCSLCKTRMIOS                   = 0x5457
-+	TIOCSLTC                         = 0x80067475
-+	TIOCSPGRP                        = 0x80047476
-+	TIOCSPTLCK                       = 0x80045431
-+	TIOCSRS485                       = 0x542f
-+	TIOCSSERIAL                      = 0x541f
-+	TIOCSSOFTCAR                     = 0x541a
-+	TIOCSTART                        = 0x2000746e
-+	TIOCSTI                          = 0x5412
-+	TIOCSTOP                         = 0x2000746f
-+	TIOCSWINSZ                       = 0x80087467
-+	TIOCVHANGUP                      = 0x5437
-+	TOSTOP                           = 0x400000
-+	TUNATTACHFILTER                  = 0x801054d5
-+	TUNDETACHFILTER                  = 0x801054d6
-+	TUNGETDEVNETNS                   = 0x200054e3
-+	TUNGETFEATURES                   = 0x400454cf
-+	TUNGETFILTER                     = 0x401054db
-+	TUNGETIFF                        = 0x400454d2
-+	TUNGETSNDBUF                     = 0x400454d3
-+	TUNGETVNETBE                     = 0x400454df
-+	TUNGETVNETHDRSZ                  = 0x400454d7
-+	TUNGETVNETLE                     = 0x400454dd
-+	TUNSETCARRIER                    = 0x800454e2
-+	TUNSETDEBUG                      = 0x800454c9
-+	TUNSETFILTEREBPF                 = 0x400454e1
-+	TUNSETGROUP                      = 0x800454ce
-+	TUNSETIFF                        = 0x800454ca
-+	TUNSETIFINDEX                    = 0x800454da
-+	TUNSETLINK                       = 0x800454cd
-+	TUNSETNOCSUM                     = 0x800454c8
-+	TUNSETOFFLOAD                    = 0x800454d0
-+	TUNSETOWNER                      = 0x800454cc
-+	TUNSETPERSIST                    = 0x800454cb
-+	TUNSETQUEUE                      = 0x800454d9
-+	TUNSETSNDBUF                     = 0x800454d4
-+	TUNSETSTEERINGEBPF               = 0x400454e0
-+	TUNSETTXFILTER                   = 0x800454d1
-+	TUNSETVNETBE                     = 0x800454de
-+	TUNSETVNETHDRSZ                  = 0x800454d8
-+	TUNSETVNETLE                     = 0x800454dc
-+	UBI_IOCATT                       = 0x80186f40
-+	UBI_IOCDET                       = 0x80046f41
-+	UBI_IOCEBCH                      = 0x80044f02
-+	UBI_IOCEBER                      = 0x80044f01
-+	UBI_IOCEBISMAP                   = 0x40044f05
-+	UBI_IOCEBMAP                     = 0x80084f03
-+	UBI_IOCEBUNMAP                   = 0x80044f04
-+	UBI_IOCMKVOL                     = 0x80986f00
-+	UBI_IOCRMVOL                     = 0x80046f01
-+	UBI_IOCRNVOL                     = 0x91106f03
-+	UBI_IOCRPEB                      = 0x80046f04
-+	UBI_IOCRSVOL                     = 0x800c6f02
-+	UBI_IOCSETVOLPROP                = 0x80104f06
-+	UBI_IOCSPEB                      = 0x80046f05
-+	UBI_IOCVOLCRBLK                  = 0x80804f07
-+	UBI_IOCVOLRMBLK                  = 0x20004f08
-+	UBI_IOCVOLUP                     = 0x80084f00
-+	VDISCARD                         = 0x10
-+	VEOF                             = 0x4
-+	VEOL                             = 0x6
-+	VEOL2                            = 0x8
-+	VMIN                             = 0x5
-+	VREPRINT                         = 0xb
-+	VSTART                           = 0xd
-+	VSTOP                            = 0xe
-+	VSUSP                            = 0xc
-+	VSWTC                            = 0x9
-+	VT1                              = 0x10000
-+	VTDLY                            = 0x10000
-+	VTIME                            = 0x7
-+	VWERASE                          = 0xa
-+	WDIOC_GETBOOTSTATUS              = 0x40045702
-+	WDIOC_GETPRETIMEOUT              = 0x40045709
-+	WDIOC_GETSTATUS                  = 0x40045701
-+	WDIOC_GETSUPPORT                 = 0x40285700
-+	WDIOC_GETTEMP                    = 0x40045703
-+	WDIOC_GETTIMELEFT                = 0x4004570a
-+	WDIOC_GETTIMEOUT                 = 0x40045707
-+	WDIOC_KEEPALIVE                  = 0x40045705
-+	WDIOC_SETOPTIONS                 = 0x40045704
-+	WORDSIZE                         = 0x40
-+	XCASE                            = 0x4000
-+	XTABS                            = 0xc00
- )
- 
- // Errors
- const (
--	E2BIG           = syscall.Errno(0x7)
--	EACCES          = syscall.Errno(0xd)
- 	EADDRINUSE      = syscall.Errno(0x62)
- 	EADDRNOTAVAIL   = syscall.Errno(0x63)
- 	EADV            = syscall.Errno(0x44)
- 	EAFNOSUPPORT    = syscall.Errno(0x61)
--	EAGAIN          = syscall.Errno(0xb)
- 	EALREADY        = syscall.Errno(0x72)
- 	EBADE           = syscall.Errno(0x34)
--	EBADF           = syscall.Errno(0x9)
- 	EBADFD          = syscall.Errno(0x4d)
- 	EBADMSG         = syscall.Errno(0x4a)
- 	EBADR           = syscall.Errno(0x35)
- 	EBADRQC         = syscall.Errno(0x38)
- 	EBADSLT         = syscall.Errno(0x39)
- 	EBFONT          = syscall.Errno(0x3b)
--	EBUSY           = syscall.Errno(0x10)
- 	ECANCELED       = syscall.Errno(0x7d)
--	ECHILD          = syscall.Errno(0xa)
- 	ECHRNG          = syscall.Errno(0x2c)
- 	ECOMM           = syscall.Errno(0x46)
- 	ECONNABORTED    = syscall.Errno(0x67)
-@@ -1943,23 +562,15 @@ const (
- 	EDEADLK         = syscall.Errno(0x23)
- 	EDEADLOCK       = syscall.Errno(0x3a)
- 	EDESTADDRREQ    = syscall.Errno(0x59)
--	EDOM            = syscall.Errno(0x21)
- 	EDOTDOT         = syscall.Errno(0x49)
- 	EDQUOT          = syscall.Errno(0x7a)
--	EEXIST          = syscall.Errno(0x11)
--	EFAULT          = syscall.Errno(0xe)
--	EFBIG           = syscall.Errno(0x1b)
- 	EHOSTDOWN       = syscall.Errno(0x70)
- 	EHOSTUNREACH    = syscall.Errno(0x71)
- 	EHWPOISON       = syscall.Errno(0x85)
- 	EIDRM           = syscall.Errno(0x2b)
- 	EILSEQ          = syscall.Errno(0x54)
- 	EINPROGRESS     = syscall.Errno(0x73)
--	EINTR           = syscall.Errno(0x4)
--	EINVAL          = syscall.Errno(0x16)
--	EIO             = syscall.Errno(0x5)
- 	EISCONN         = syscall.Errno(0x6a)
--	EISDIR          = syscall.Errno(0x15)
- 	EISNAM          = syscall.Errno(0x78)
- 	EKEYEXPIRED     = syscall.Errno(0x7f)
- 	EKEYREJECTED    = syscall.Errno(0x81)
-@@ -1976,8 +587,6 @@ const (
- 	ELNRNG          = syscall.Errno(0x30)
- 	ELOOP           = syscall.Errno(0x28)
- 	EMEDIUMTYPE     = syscall.Errno(0x7c)
--	EMFILE          = syscall.Errno(0x18)
--	EMLINK          = syscall.Errno(0x1f)
- 	EMSGSIZE        = syscall.Errno(0x5a)
- 	EMULTIHOP       = syscall.Errno(0x48)
- 	ENAMETOOLONG    = syscall.Errno(0x24)
-@@ -1985,103 +594,70 @@ const (
- 	ENETDOWN        = syscall.Errno(0x64)
- 	ENETRESET       = syscall.Errno(0x66)
- 	ENETUNREACH     = syscall.Errno(0x65)
--	ENFILE          = syscall.Errno(0x17)
- 	ENOANO          = syscall.Errno(0x37)
- 	ENOBUFS         = syscall.Errno(0x69)
- 	ENOCSI          = syscall.Errno(0x32)
- 	ENODATA         = syscall.Errno(0x3d)
--	ENODEV          = syscall.Errno(0x13)
--	ENOENT          = syscall.Errno(0x2)
--	ENOEXEC         = syscall.Errno(0x8)
- 	ENOKEY          = syscall.Errno(0x7e)
- 	ENOLCK          = syscall.Errno(0x25)
- 	ENOLINK         = syscall.Errno(0x43)
- 	ENOMEDIUM       = syscall.Errno(0x7b)
--	ENOMEM          = syscall.Errno(0xc)
- 	ENOMSG          = syscall.Errno(0x2a)
- 	ENONET          = syscall.Errno(0x40)
- 	ENOPKG          = syscall.Errno(0x41)
- 	ENOPROTOOPT     = syscall.Errno(0x5c)
--	ENOSPC          = syscall.Errno(0x1c)
- 	ENOSR           = syscall.Errno(0x3f)
- 	ENOSTR          = syscall.Errno(0x3c)
- 	ENOSYS          = syscall.Errno(0x26)
--	ENOTBLK         = syscall.Errno(0xf)
- 	ENOTCONN        = syscall.Errno(0x6b)
--	ENOTDIR         = syscall.Errno(0x14)
- 	ENOTEMPTY       = syscall.Errno(0x27)
- 	ENOTNAM         = syscall.Errno(0x76)
- 	ENOTRECOVERABLE = syscall.Errno(0x83)
- 	ENOTSOCK        = syscall.Errno(0x58)
- 	ENOTSUP         = syscall.Errno(0x5f)
--	ENOTTY          = syscall.Errno(0x19)
- 	ENOTUNIQ        = syscall.Errno(0x4c)
--	ENXIO           = syscall.Errno(0x6)
- 	EOPNOTSUPP      = syscall.Errno(0x5f)
- 	EOVERFLOW       = syscall.Errno(0x4b)
- 	EOWNERDEAD      = syscall.Errno(0x82)
--	EPERM           = syscall.Errno(0x1)
- 	EPFNOSUPPORT    = syscall.Errno(0x60)
--	EPIPE           = syscall.Errno(0x20)
- 	EPROTO          = syscall.Errno(0x47)
- 	EPROTONOSUPPORT = syscall.Errno(0x5d)
- 	EPROTOTYPE      = syscall.Errno(0x5b)
--	ERANGE          = syscall.Errno(0x22)
- 	EREMCHG         = syscall.Errno(0x4e)
- 	EREMOTE         = syscall.Errno(0x42)
- 	EREMOTEIO       = syscall.Errno(0x79)
- 	ERESTART        = syscall.Errno(0x55)
- 	ERFKILL         = syscall.Errno(0x84)
--	EROFS           = syscall.Errno(0x1e)
- 	ESHUTDOWN       = syscall.Errno(0x6c)
- 	ESOCKTNOSUPPORT = syscall.Errno(0x5e)
--	ESPIPE          = syscall.Errno(0x1d)
--	ESRCH           = syscall.Errno(0x3)
- 	ESRMNT          = syscall.Errno(0x45)
- 	ESTALE          = syscall.Errno(0x74)
- 	ESTRPIPE        = syscall.Errno(0x56)
- 	ETIME           = syscall.Errno(0x3e)
- 	ETIMEDOUT       = syscall.Errno(0x6e)
- 	ETOOMANYREFS    = syscall.Errno(0x6d)
--	ETXTBSY         = syscall.Errno(0x1a)
- 	EUCLEAN         = syscall.Errno(0x75)
- 	EUNATCH         = syscall.Errno(0x31)
- 	EUSERS          = syscall.Errno(0x57)
--	EWOULDBLOCK     = syscall.Errno(0xb)
--	EXDEV           = syscall.Errno(0x12)
- 	EXFULL          = syscall.Errno(0x36)
- )
- 
- // Signals
- const (
--	SIGABRT   = syscall.Signal(0x6)
--	SIGALRM   = syscall.Signal(0xe)
- 	SIGBUS    = syscall.Signal(0x7)
- 	SIGCHLD   = syscall.Signal(0x11)
- 	SIGCLD    = syscall.Signal(0x11)
- 	SIGCONT   = syscall.Signal(0x12)
--	SIGFPE    = syscall.Signal(0x8)
--	SIGHUP    = syscall.Signal(0x1)
--	SIGILL    = syscall.Signal(0x4)
--	SIGINT    = syscall.Signal(0x2)
- 	SIGIO     = syscall.Signal(0x1d)
--	SIGIOT    = syscall.Signal(0x6)
--	SIGKILL   = syscall.Signal(0x9)
--	SIGPIPE   = syscall.Signal(0xd)
- 	SIGPOLL   = syscall.Signal(0x1d)
- 	SIGPROF   = syscall.Signal(0x1b)
- 	SIGPWR    = syscall.Signal(0x1e)
--	SIGQUIT   = syscall.Signal(0x3)
--	SIGSEGV   = syscall.Signal(0xb)
- 	SIGSTKFLT = syscall.Signal(0x10)
- 	SIGSTOP   = syscall.Signal(0x13)
- 	SIGSYS    = syscall.Signal(0x1f)
--	SIGTERM   = syscall.Signal(0xf)
--	SIGTRAP   = syscall.Signal(0x5)
- 	SIGTSTP   = syscall.Signal(0x14)
- 	SIGTTIN   = syscall.Signal(0x15)
- 	SIGTTOU   = syscall.Signal(0x16)
--	SIGUNUSED = syscall.Signal(0x1f)
- 	SIGURG    = syscall.Signal(0x17)
- 	SIGUSR1   = syscall.Signal(0xa)
- 	SIGUSR2   = syscall.Signal(0xc)
-@@ -2092,172 +668,180 @@ const (
- )
- 
- // Error table
--var errors = [...]string{
--	1:   "operation not permitted",
--	2:   "no such file or directory",
--	3:   "no such process",
--	4:   "interrupted system call",
--	5:   "input/output error",
--	6:   "no such device or address",
--	7:   "argument list too long",
--	8:   "exec format error",
--	9:   "bad file descriptor",
--	10:  "no child processes",
--	11:  "resource temporarily unavailable",
--	12:  "cannot allocate memory",
--	13:  "permission denied",
--	14:  "bad address",
--	15:  "block device required",
--	16:  "device or resource busy",
--	17:  "file exists",
--	18:  "invalid cross-device link",
--	19:  "no such device",
--	20:  "not a directory",
--	21:  "is a directory",
--	22:  "invalid argument",
--	23:  "too many open files in system",
--	24:  "too many open files",
--	25:  "inappropriate ioctl for device",
--	26:  "text file busy",
--	27:  "file too large",
--	28:  "no space left on device",
--	29:  "illegal seek",
--	30:  "read-only file system",
--	31:  "too many links",
--	32:  "broken pipe",
--	33:  "numerical argument out of domain",
--	34:  "numerical result out of range",
--	35:  "resource deadlock avoided",
--	36:  "file name too long",
--	37:  "no locks available",
--	38:  "function not implemented",
--	39:  "directory not empty",
--	40:  "too many levels of symbolic links",
--	42:  "no message of desired type",
--	43:  "identifier removed",
--	44:  "channel number out of range",
--	45:  "level 2 not synchronized",
--	46:  "level 3 halted",
--	47:  "level 3 reset",
--	48:  "link number out of range",
--	49:  "protocol driver not attached",
--	50:  "no CSI structure available",
--	51:  "level 2 halted",
--	52:  "invalid exchange",
--	53:  "invalid request descriptor",
--	54:  "exchange full",
--	55:  "no anode",
--	56:  "invalid request code",
--	57:  "invalid slot",
--	58:  "file locking deadlock error",
--	59:  "bad font file format",
--	60:  "device not a stream",
--	61:  "no data available",
--	62:  "timer expired",
--	63:  "out of streams resources",
--	64:  "machine is not on the network",
--	65:  "package not installed",
--	66:  "object is remote",
--	67:  "link has been severed",
--	68:  "advertise error",
--	69:  "srmount error",
--	70:  "communication error on send",
--	71:  "protocol error",
--	72:  "multihop attempted",
--	73:  "RFS specific error",
--	74:  "bad message",
--	75:  "value too large for defined data type",
--	76:  "name not unique on network",
--	77:  "file descriptor in bad state",
--	78:  "remote address changed",
--	79:  "can not access a needed shared library",
--	80:  "accessing a corrupted shared library",
--	81:  ".lib section in a.out corrupted",
--	82:  "attempting to link in too many shared libraries",
--	83:  "cannot exec a shared library directly",
--	84:  "invalid or incomplete multibyte or wide character",
--	85:  "interrupted system call should be restarted",
--	86:  "streams pipe error",
--	87:  "too many users",
--	88:  "socket operation on non-socket",
--	89:  "destination address required",
--	90:  "message too long",
--	91:  "protocol wrong type for socket",
--	92:  "protocol not available",
--	93:  "protocol not supported",
--	94:  "socket type not supported",
--	95:  "operation not supported",
--	96:  "protocol family not supported",
--	97:  "address family not supported by protocol",
--	98:  "address already in use",
--	99:  "cannot assign requested address",
--	100: "network is down",
--	101: "network is unreachable",
--	102: "network dropped connection on reset",
--	103: "software caused connection abort",
--	104: "connection reset by peer",
--	105: "no buffer space available",
--	106: "transport endpoint is already connected",
--	107: "transport endpoint is not connected",
--	108: "cannot send after transport endpoint shutdown",
--	109: "too many references: cannot splice",
--	110: "connection timed out",
--	111: "connection refused",
--	112: "host is down",
--	113: "no route to host",
--	114: "operation already in progress",
--	115: "operation now in progress",
--	116: "stale file handle",
--	117: "structure needs cleaning",
--	118: "not a XENIX named type file",
--	119: "no XENIX semaphores available",
--	120: "is a named type file",
--	121: "remote I/O error",
--	122: "disk quota exceeded",
--	123: "no medium found",
--	124: "wrong medium type",
--	125: "operation canceled",
--	126: "required key not available",
--	127: "key has expired",
--	128: "key has been revoked",
--	129: "key was rejected by service",
--	130: "owner died",
--	131: "state not recoverable",
--	132: "operation not possible due to RF-kill",
--	133: "memory page has hardware error",
-+var errorList = [...]struct {
-+	num  syscall.Errno
-+	name string
-+	desc string
-+}{
-+	{1, "EPERM", "operation not permitted"},
-+	{2, "ENOENT", "no such file or directory"},
-+	{3, "ESRCH", "no such process"},
-+	{4, "EINTR", "interrupted system call"},
-+	{5, "EIO", "input/output error"},
-+	{6, "ENXIO", "no such device or address"},
-+	{7, "E2BIG", "argument list too long"},
-+	{8, "ENOEXEC", "exec format error"},
-+	{9, "EBADF", "bad file descriptor"},
-+	{10, "ECHILD", "no child processes"},
-+	{11, "EAGAIN", "resource temporarily unavailable"},
-+	{12, "ENOMEM", "cannot allocate memory"},
-+	{13, "EACCES", "permission denied"},
-+	{14, "EFAULT", "bad address"},
-+	{15, "ENOTBLK", "block device required"},
-+	{16, "EBUSY", "device or resource busy"},
-+	{17, "EEXIST", "file exists"},
-+	{18, "EXDEV", "invalid cross-device link"},
-+	{19, "ENODEV", "no such device"},
-+	{20, "ENOTDIR", "not a directory"},
-+	{21, "EISDIR", "is a directory"},
-+	{22, "EINVAL", "invalid argument"},
-+	{23, "ENFILE", "too many open files in system"},
-+	{24, "EMFILE", "too many open files"},
-+	{25, "ENOTTY", "inappropriate ioctl for device"},
-+	{26, "ETXTBSY", "text file busy"},
-+	{27, "EFBIG", "file too large"},
-+	{28, "ENOSPC", "no space left on device"},
-+	{29, "ESPIPE", "illegal seek"},
-+	{30, "EROFS", "read-only file system"},
-+	{31, "EMLINK", "too many links"},
-+	{32, "EPIPE", "broken pipe"},
-+	{33, "EDOM", "numerical argument out of domain"},
-+	{34, "ERANGE", "numerical result out of range"},
-+	{35, "EDEADLK", "resource deadlock avoided"},
-+	{36, "ENAMETOOLONG", "file name too long"},
-+	{37, "ENOLCK", "no locks available"},
-+	{38, "ENOSYS", "function not implemented"},
-+	{39, "ENOTEMPTY", "directory not empty"},
-+	{40, "ELOOP", "too many levels of symbolic links"},
-+	{42, "ENOMSG", "no message of desired type"},
-+	{43, "EIDRM", "identifier removed"},
-+	{44, "ECHRNG", "channel number out of range"},
-+	{45, "EL2NSYNC", "level 2 not synchronized"},
-+	{46, "EL3HLT", "level 3 halted"},
-+	{47, "EL3RST", "level 3 reset"},
-+	{48, "ELNRNG", "link number out of range"},
-+	{49, "EUNATCH", "protocol driver not attached"},
-+	{50, "ENOCSI", "no CSI structure available"},
-+	{51, "EL2HLT", "level 2 halted"},
-+	{52, "EBADE", "invalid exchange"},
-+	{53, "EBADR", "invalid request descriptor"},
-+	{54, "EXFULL", "exchange full"},
-+	{55, "ENOANO", "no anode"},
-+	{56, "EBADRQC", "invalid request code"},
-+	{57, "EBADSLT", "invalid slot"},
-+	{58, "EDEADLOCK", "file locking deadlock error"},
-+	{59, "EBFONT", "bad font file format"},
-+	{60, "ENOSTR", "device not a stream"},
-+	{61, "ENODATA", "no data available"},
-+	{62, "ETIME", "timer expired"},
-+	{63, "ENOSR", "out of streams resources"},
-+	{64, "ENONET", "machine is not on the network"},
-+	{65, "ENOPKG", "package not installed"},
-+	{66, "EREMOTE", "object is remote"},
-+	{67, "ENOLINK", "link has been severed"},
-+	{68, "EADV", "advertise error"},
-+	{69, "ESRMNT", "srmount error"},
-+	{70, "ECOMM", "communication error on send"},
-+	{71, "EPROTO", "protocol error"},
-+	{72, "EMULTIHOP", "multihop attempted"},
-+	{73, "EDOTDOT", "RFS specific error"},
-+	{74, "EBADMSG", "bad message"},
-+	{75, "EOVERFLOW", "value too large for defined data type"},
-+	{76, "ENOTUNIQ", "name not unique on network"},
-+	{77, "EBADFD", "file descriptor in bad state"},
-+	{78, "EREMCHG", "remote address changed"},
-+	{79, "ELIBACC", "can not access a needed shared library"},
-+	{80, "ELIBBAD", "accessing a corrupted shared library"},
-+	{81, "ELIBSCN", ".lib section in a.out corrupted"},
-+	{82, "ELIBMAX", "attempting to link in too many shared libraries"},
-+	{83, "ELIBEXEC", "cannot exec a shared library directly"},
-+	{84, "EILSEQ", "invalid or incomplete multibyte or wide character"},
-+	{85, "ERESTART", "interrupted system call should be restarted"},
-+	{86, "ESTRPIPE", "streams pipe error"},
-+	{87, "EUSERS", "too many users"},
-+	{88, "ENOTSOCK", "socket operation on non-socket"},
-+	{89, "EDESTADDRREQ", "destination address required"},
-+	{90, "EMSGSIZE", "message too long"},
-+	{91, "EPROTOTYPE", "protocol wrong type for socket"},
-+	{92, "ENOPROTOOPT", "protocol not available"},
-+	{93, "EPROTONOSUPPORT", "protocol not supported"},
-+	{94, "ESOCKTNOSUPPORT", "socket type not supported"},
-+	{95, "ENOTSUP", "operation not supported"},
-+	{96, "EPFNOSUPPORT", "protocol family not supported"},
-+	{97, "EAFNOSUPPORT", "address family not supported by protocol"},
-+	{98, "EADDRINUSE", "address already in use"},
-+	{99, "EADDRNOTAVAIL", "cannot assign requested address"},
-+	{100, "ENETDOWN", "network is down"},
-+	{101, "ENETUNREACH", "network is unreachable"},
-+	{102, "ENETRESET", "network dropped connection on reset"},
-+	{103, "ECONNABORTED", "software caused connection abort"},
-+	{104, "ECONNRESET", "connection reset by peer"},
-+	{105, "ENOBUFS", "no buffer space available"},
-+	{106, "EISCONN", "transport endpoint is already connected"},
-+	{107, "ENOTCONN", "transport endpoint is not connected"},
-+	{108, "ESHUTDOWN", "cannot send after transport endpoint shutdown"},
-+	{109, "ETOOMANYREFS", "too many references: cannot splice"},
-+	{110, "ETIMEDOUT", "connection timed out"},
-+	{111, "ECONNREFUSED", "connection refused"},
-+	{112, "EHOSTDOWN", "host is down"},
-+	{113, "EHOSTUNREACH", "no route to host"},
-+	{114, "EALREADY", "operation already in progress"},
-+	{115, "EINPROGRESS", "operation now in progress"},
-+	{116, "ESTALE", "stale file handle"},
-+	{117, "EUCLEAN", "structure needs cleaning"},
-+	{118, "ENOTNAM", "not a XENIX named type file"},
-+	{119, "ENAVAIL", "no XENIX semaphores available"},
-+	{120, "EISNAM", "is a named type file"},
-+	{121, "EREMOTEIO", "remote I/O error"},
-+	{122, "EDQUOT", "disk quota exceeded"},
-+	{123, "ENOMEDIUM", "no medium found"},
-+	{124, "EMEDIUMTYPE", "wrong medium type"},
-+	{125, "ECANCELED", "operation canceled"},
-+	{126, "ENOKEY", "required key not available"},
-+	{127, "EKEYEXPIRED", "key has expired"},
-+	{128, "EKEYREVOKED", "key has been revoked"},
-+	{129, "EKEYREJECTED", "key was rejected by service"},
-+	{130, "EOWNERDEAD", "owner died"},
-+	{131, "ENOTRECOVERABLE", "state not recoverable"},
-+	{132, "ERFKILL", "operation not possible due to RF-kill"},
-+	{133, "EHWPOISON", "memory page has hardware error"},
- }
- 
- // Signal table
--var signals = [...]string{
--	1:  "hangup",
--	2:  "interrupt",
--	3:  "quit",
--	4:  "illegal instruction",
--	5:  "trace/breakpoint trap",
--	6:  "aborted",
--	7:  "bus error",
--	8:  "floating point exception",
--	9:  "killed",
--	10: "user defined signal 1",
--	11: "segmentation fault",
--	12: "user defined signal 2",
--	13: "broken pipe",
--	14: "alarm clock",
--	15: "terminated",
--	16: "stack fault",
--	17: "child exited",
--	18: "continued",
--	19: "stopped (signal)",
--	20: "stopped",
--	21: "stopped (tty input)",
--	22: "stopped (tty output)",
--	23: "urgent I/O condition",
--	24: "CPU time limit exceeded",
--	25: "file size limit exceeded",
--	26: "virtual timer expired",
--	27: "profiling timer expired",
--	28: "window changed",
--	29: "I/O possible",
--	30: "power failure",
--	31: "bad system call",
-+var signalList = [...]struct {
-+	num  syscall.Signal
-+	name string
-+	desc string
-+}{
-+	{1, "SIGHUP", "hangup"},
-+	{2, "SIGINT", "interrupt"},
-+	{3, "SIGQUIT", "quit"},
-+	{4, "SIGILL", "illegal instruction"},
-+	{5, "SIGTRAP", "trace/breakpoint trap"},
-+	{6, "SIGABRT", "aborted"},
-+	{7, "SIGBUS", "bus error"},
-+	{8, "SIGFPE", "floating point exception"},
-+	{9, "SIGKILL", "killed"},
-+	{10, "SIGUSR1", "user defined signal 1"},
-+	{11, "SIGSEGV", "segmentation fault"},
-+	{12, "SIGUSR2", "user defined signal 2"},
-+	{13, "SIGPIPE", "broken pipe"},
-+	{14, "SIGALRM", "alarm clock"},
-+	{15, "SIGTERM", "terminated"},
-+	{16, "SIGSTKFLT", "stack fault"},
-+	{17, "SIGCHLD", "child exited"},
-+	{18, "SIGCONT", "continued"},
-+	{19, "SIGSTOP", "stopped (signal)"},
-+	{20, "SIGTSTP", "stopped"},
-+	{21, "SIGTTIN", "stopped (tty input)"},
-+	{22, "SIGTTOU", "stopped (tty output)"},
-+	{23, "SIGURG", "urgent I/O condition"},
-+	{24, "SIGXCPU", "CPU time limit exceeded"},
-+	{25, "SIGXFSZ", "file size limit exceeded"},
-+	{26, "SIGVTALRM", "virtual timer expired"},
-+	{27, "SIGPROF", "profiling timer expired"},
-+	{28, "SIGWINCH", "window changed"},
-+	{29, "SIGIO", "I/O possible"},
-+	{30, "SIGPWR", "power failure"},
-+	{31, "SIGSYS", "bad system call"},
- }
-diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go
-new file mode 100644
-index 00000000..6a0b2d29
---- /dev/null
-+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go
-@@ -0,0 +1,771 @@
-+// mkerrors.sh -Wall -Werror -static -I/tmp/include
-+// Code generated by the command above; see README.md. DO NOT EDIT.
-+
-+// +build riscv64,linux
-+
-+// Code generated by cmd/cgo -godefs; DO NOT EDIT.
-+// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go
-+
-+package unix
-+
-+import "syscall"
-+
-+const (
-+	B1000000                         = 0x1008
-+	B115200                          = 0x1002
-+	B1152000                         = 0x1009
-+	B1500000                         = 0x100a
-+	B2000000                         = 0x100b
-+	B230400                          = 0x1003
-+	B2500000                         = 0x100c
-+	B3000000                         = 0x100d
-+	B3500000                         = 0x100e
-+	B4000000                         = 0x100f
-+	B460800                          = 0x1004
-+	B500000                          = 0x1005
-+	B57600                           = 0x1001
-+	B576000                          = 0x1006
-+	B921600                          = 0x1007
-+	BLKBSZGET                        = 0x80081270
-+	BLKBSZSET                        = 0x40081271
-+	BLKFLSBUF                        = 0x1261
-+	BLKFRAGET                        = 0x1265
-+	BLKFRASET                        = 0x1264
-+	BLKGETSIZE                       = 0x1260
-+	BLKGETSIZE64                     = 0x80081272
-+	BLKPBSZGET                       = 0x127b
-+	BLKRAGET                         = 0x1263
-+	BLKRASET                         = 0x1262
-+	BLKROGET                         = 0x125e
-+	BLKROSET                         = 0x125d
-+	BLKRRPART                        = 0x125f
-+	BLKSECTGET                       = 0x1267
-+	BLKSECTSET                       = 0x1266
-+	BLKSSZGET                        = 0x1268
-+	BOTHER                           = 0x1000
-+	BS1                              = 0x2000
-+	BSDLY                            = 0x2000
-+	CBAUD                            = 0x100f
-+	CBAUDEX                          = 0x1000
-+	CIBAUD                           = 0x100f0000
-+	CLOCAL                           = 0x800
-+	CR1                              = 0x200
-+	CR2                              = 0x400
-+	CR3                              = 0x600
-+	CRDLY                            = 0x600
-+	CREAD                            = 0x80
-+	CS6                              = 0x10
-+	CS7                              = 0x20
-+	CS8                              = 0x30
-+	CSIZE                            = 0x30
-+	CSTOPB                           = 0x40
-+	ECHOCTL                          = 0x200
-+	ECHOE                            = 0x10
-+	ECHOK                            = 0x20
-+	ECHOKE                           = 0x800
-+	ECHONL                           = 0x40
-+	ECHOPRT                          = 0x400
-+	EFD_CLOEXEC                      = 0x80000
-+	EFD_NONBLOCK                     = 0x800
-+	EPOLL_CLOEXEC                    = 0x80000
-+	EXTPROC                          = 0x10000
-+	FF1                              = 0x8000
-+	FFDLY                            = 0x8000
-+	FLUSHO                           = 0x1000
-+	FS_IOC_ENABLE_VERITY             = 0x40806685
-+	FS_IOC_GETFLAGS                  = 0x80086601
-+	FS_IOC_GET_ENCRYPTION_POLICY     = 0x400c6615
-+	FS_IOC_GET_ENCRYPTION_PWSALT     = 0x40106614
-+	FS_IOC_SET_ENCRYPTION_POLICY     = 0x800c6613
-+	F_GETLK                          = 0x5
-+	F_GETLK64                        = 0x5
-+	F_GETOWN                         = 0x9
-+	F_RDLCK                          = 0x0
-+	F_SETLK                          = 0x6
-+	F_SETLK64                        = 0x6
-+	F_SETLKW                         = 0x7
-+	F_SETLKW64                       = 0x7
-+	F_SETOWN                         = 0x8
-+	F_UNLCK                          = 0x2
-+	F_WRLCK                          = 0x1
-+	HUPCL                            = 0x400
-+	ICANON                           = 0x2
-+	IEXTEN                           = 0x8000
-+	IN_CLOEXEC                       = 0x80000
-+	IN_NONBLOCK                      = 0x800
-+	IOCTL_VM_SOCKETS_GET_LOCAL_CID   = 0x7b9
-+	ISIG                             = 0x1
-+	IUCLC                            = 0x200
-+	IXOFF                            = 0x1000
-+	IXON                             = 0x400
-+	MAP_ANON                         = 0x20
-+	MAP_ANONYMOUS                    = 0x20
-+	MAP_DENYWRITE                    = 0x800
-+	MAP_EXECUTABLE                   = 0x1000
-+	MAP_GROWSDOWN                    = 0x100
-+	MAP_HUGETLB                      = 0x40000
-+	MAP_LOCKED                       = 0x2000
-+	MAP_NONBLOCK                     = 0x10000
-+	MAP_NORESERVE                    = 0x4000
-+	MAP_POPULATE                     = 0x8000
-+	MAP_STACK                        = 0x20000
-+	MAP_SYNC                         = 0x80000
-+	MCL_CURRENT                      = 0x1
-+	MCL_FUTURE                       = 0x2
-+	MCL_ONFAULT                      = 0x4
-+	NFDBITS                          = 0x40
-+	NLDLY                            = 0x100
-+	NOFLSH                           = 0x80
-+	NS_GET_NSTYPE                    = 0xb703
-+	NS_GET_OWNER_UID                 = 0xb704
-+	NS_GET_PARENT                    = 0xb702
-+	NS_GET_USERNS                    = 0xb701
-+	OLCUC                            = 0x2
-+	ONLCR                            = 0x4
-+	O_APPEND                         = 0x400
-+	O_ASYNC                          = 0x2000
-+	O_CLOEXEC                        = 0x80000
-+	O_CREAT                          = 0x40
-+	O_DIRECT                         = 0x4000
-+	O_DIRECTORY                      = 0x10000
-+	O_DSYNC                          = 0x1000
-+	O_EXCL                           = 0x80
-+	O_FSYNC                          = 0x101000
-+	O_LARGEFILE                      = 0x0
-+	O_NDELAY                         = 0x800
-+	O_NOATIME                        = 0x40000
-+	O_NOCTTY                         = 0x100
-+	O_NOFOLLOW                       = 0x20000
-+	O_NONBLOCK                       = 0x800
-+	O_PATH                           = 0x200000
-+	O_RSYNC                          = 0x101000
-+	O_SYNC                           = 0x101000
-+	O_TMPFILE                        = 0x410000
-+	O_TRUNC                          = 0x200
-+	PARENB                           = 0x100
-+	PARODD                           = 0x200
-+	PENDIN                           = 0x4000
-+	PERF_EVENT_IOC_DISABLE           = 0x2401
-+	PERF_EVENT_IOC_ENABLE            = 0x2400
-+	PERF_EVENT_IOC_ID                = 0x80082407
-+	PERF_EVENT_IOC_MODIFY_ATTRIBUTES = 0x4008240b
-+	PERF_EVENT_IOC_PAUSE_OUTPUT      = 0x40042409
-+	PERF_EVENT_IOC_PERIOD            = 0x40082404
-+	PERF_EVENT_IOC_QUERY_BPF         = 0xc008240a
-+	PERF_EVENT_IOC_REFRESH           = 0x2402
-+	PERF_EVENT_IOC_RESET             = 0x2403
-+	PERF_EVENT_IOC_SET_BPF           = 0x40042408
-+	PERF_EVENT_IOC_SET_FILTER        = 0x40082406
-+	PERF_EVENT_IOC_SET_OUTPUT        = 0x2405
-+	PPPIOCATTACH                     = 0x4004743d
-+	PPPIOCATTCHAN                    = 0x40047438
-+	PPPIOCCONNECT                    = 0x4004743a
-+	PPPIOCDETACH                     = 0x4004743c
-+	PPPIOCDISCONN                    = 0x7439
-+	PPPIOCGASYNCMAP                  = 0x80047458
-+	PPPIOCGCHAN                      = 0x80047437
-+	PPPIOCGDEBUG                     = 0x80047441
-+	PPPIOCGFLAGS                     = 0x8004745a
-+	PPPIOCGIDLE                      = 0x8010743f
-+	PPPIOCGIDLE32                    = 0x8008743f
-+	PPPIOCGIDLE64                    = 0x8010743f
-+	PPPIOCGL2TPSTATS                 = 0x80487436
-+	PPPIOCGMRU                       = 0x80047453
-+	PPPIOCGRASYNCMAP                 = 0x80047455
-+	PPPIOCGUNIT                      = 0x80047456
-+	PPPIOCGXASYNCMAP                 = 0x80207450
-+	PPPIOCSACTIVE                    = 0x40107446
-+	PPPIOCSASYNCMAP                  = 0x40047457
-+	PPPIOCSCOMPRESS                  = 0x4010744d
-+	PPPIOCSDEBUG                     = 0x40047440
-+	PPPIOCSFLAGS                     = 0x40047459
-+	PPPIOCSMAXCID                    = 0x40047451
-+	PPPIOCSMRRU                      = 0x4004743b
-+	PPPIOCSMRU                       = 0x40047452
-+	PPPIOCSNPMODE                    = 0x4008744b
-+	PPPIOCSPASS                      = 0x40107447
-+	PPPIOCSRASYNCMAP                 = 0x40047454
-+	PPPIOCSXASYNCMAP                 = 0x4020744f
-+	PPPIOCXFERUNIT                   = 0x744e
-+	PR_SET_PTRACER_ANY               = 0xffffffffffffffff
-+	RLIMIT_AS                        = 0x9
-+	RLIMIT_MEMLOCK                   = 0x8
-+	RLIMIT_NOFILE                    = 0x7
-+	RLIMIT_NPROC                     = 0x6
-+	RLIMIT_RSS                       = 0x5
-+	RNDADDENTROPY                    = 0x40085203
-+	RNDADDTOENTCNT                   = 0x40045201
-+	RNDCLEARPOOL                     = 0x5206
-+	RNDGETENTCNT                     = 0x80045200
-+	RNDGETPOOL                       = 0x80085202
-+	RNDRESEEDCRNG                    = 0x5207
-+	RNDZAPENTCNT                     = 0x5204
-+	RTC_AIE_OFF                      = 0x7002
-+	RTC_AIE_ON                       = 0x7001
-+	RTC_ALM_READ                     = 0x80247008
-+	RTC_ALM_SET                      = 0x40247007
-+	RTC_EPOCH_READ                   = 0x8008700d
-+	RTC_EPOCH_SET                    = 0x4008700e
-+	RTC_IRQP_READ                    = 0x8008700b
-+	RTC_IRQP_SET                     = 0x4008700c
-+	RTC_PIE_OFF                      = 0x7006
-+	RTC_PIE_ON                       = 0x7005
-+	RTC_PLL_GET                      = 0x80207011
-+	RTC_PLL_SET                      = 0x40207012
-+	RTC_RD_TIME                      = 0x80247009
-+	RTC_SET_TIME                     = 0x4024700a
-+	RTC_UIE_OFF                      = 0x7004
-+	RTC_UIE_ON                       = 0x7003
-+	RTC_VL_CLR                       = 0x7014
-+	RTC_VL_READ                      = 0x80047013
-+	RTC_WIE_OFF                      = 0x7010
-+	RTC_WIE_ON                       = 0x700f
-+	RTC_WKALM_RD                     = 0x80287010
-+	RTC_WKALM_SET                    = 0x4028700f
-+	SCM_TIMESTAMPING                 = 0x25
-+	SCM_TIMESTAMPING_OPT_STATS       = 0x36
-+	SCM_TIMESTAMPING_PKTINFO         = 0x3a
-+	SCM_TIMESTAMPNS                  = 0x23
-+	SCM_TXTIME                       = 0x3d
-+	SCM_WIFI_STATUS                  = 0x29
-+	SFD_CLOEXEC                      = 0x80000
-+	SFD_NONBLOCK                     = 0x800
-+	SIOCATMARK                       = 0x8905
-+	SIOCGPGRP                        = 0x8904
-+	SIOCGSTAMPNS_NEW                 = 0x80108907
-+	SIOCGSTAMP_NEW                   = 0x80108906
-+	SIOCINQ                          = 0x541b
-+	SIOCOUTQ                         = 0x5411
-+	SIOCSPGRP                        = 0x8902
-+	SOCK_CLOEXEC                     = 0x80000
-+	SOCK_DGRAM                       = 0x2
-+	SOCK_NONBLOCK                    = 0x800
-+	SOCK_STREAM                      = 0x1
-+	SOL_SOCKET                       = 0x1
-+	SO_ACCEPTCONN                    = 0x1e
-+	SO_ATTACH_BPF                    = 0x32
-+	SO_ATTACH_REUSEPORT_CBPF         = 0x33
-+	SO_ATTACH_REUSEPORT_EBPF         = 0x34
-+	SO_BINDTODEVICE                  = 0x19
-+	SO_BINDTOIFINDEX                 = 0x3e
-+	SO_BPF_EXTENSIONS                = 0x30
-+	SO_BROADCAST                     = 0x6
-+	SO_BSDCOMPAT                     = 0xe
-+	SO_BUSY_POLL                     = 0x2e
-+	SO_CNX_ADVICE                    = 0x35
-+	SO_COOKIE                        = 0x39
-+	SO_DETACH_REUSEPORT_BPF          = 0x44
-+	SO_DOMAIN                        = 0x27
-+	SO_DONTROUTE                     = 0x5
-+	SO_ERROR                         = 0x4
-+	SO_INCOMING_CPU                  = 0x31
-+	SO_INCOMING_NAPI_ID              = 0x38
-+	SO_KEEPALIVE                     = 0x9
-+	SO_LINGER                        = 0xd
-+	SO_LOCK_FILTER                   = 0x2c
-+	SO_MARK                          = 0x24
-+	SO_MAX_PACING_RATE               = 0x2f
-+	SO_MEMINFO                       = 0x37
-+	SO_NOFCS                         = 0x2b
-+	SO_OOBINLINE                     = 0xa
-+	SO_PASSCRED                      = 0x10
-+	SO_PASSSEC                       = 0x22
-+	SO_PEEK_OFF                      = 0x2a
-+	SO_PEERCRED                      = 0x11
-+	SO_PEERGROUPS                    = 0x3b
-+	SO_PEERSEC                       = 0x1f
-+	SO_PROTOCOL                      = 0x26
-+	SO_RCVBUF                        = 0x8
-+	SO_RCVBUFFORCE                   = 0x21
-+	SO_RCVLOWAT                      = 0x12
-+	SO_RCVTIMEO                      = 0x14
-+	SO_RCVTIMEO_NEW                  = 0x42
-+	SO_RCVTIMEO_OLD                  = 0x14
-+	SO_REUSEADDR                     = 0x2
-+	SO_REUSEPORT                     = 0xf
-+	SO_RXQ_OVFL                      = 0x28
-+	SO_SECURITY_AUTHENTICATION       = 0x16
-+	SO_SECURITY_ENCRYPTION_NETWORK   = 0x18
-+	SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17
-+	SO_SELECT_ERR_QUEUE              = 0x2d
-+	SO_SNDBUF                        = 0x7
-+	SO_SNDBUFFORCE                   = 0x20
-+	SO_SNDLOWAT                      = 0x13
-+	SO_SNDTIMEO                      = 0x15
-+	SO_SNDTIMEO_NEW                  = 0x43
-+	SO_SNDTIMEO_OLD                  = 0x15
-+	SO_TIMESTAMPING                  = 0x25
-+	SO_TIMESTAMPING_NEW              = 0x41
-+	SO_TIMESTAMPING_OLD              = 0x25
-+	SO_TIMESTAMPNS                   = 0x23
-+	SO_TIMESTAMPNS_NEW               = 0x40
-+	SO_TIMESTAMPNS_OLD               = 0x23
-+	SO_TIMESTAMP_NEW                 = 0x3f
-+	SO_TXTIME                        = 0x3d
-+	SO_TYPE                          = 0x3
-+	SO_WIFI_STATUS                   = 0x29
-+	SO_ZEROCOPY                      = 0x3c
-+	TAB1                             = 0x800
-+	TAB2                             = 0x1000
-+	TAB3                             = 0x1800
-+	TABDLY                           = 0x1800
-+	TCFLSH                           = 0x540b
-+	TCGETA                           = 0x5405
-+	TCGETS                           = 0x5401
-+	TCGETS2                          = 0x802c542a
-+	TCGETX                           = 0x5432
-+	TCSAFLUSH                        = 0x2
-+	TCSBRK                           = 0x5409
-+	TCSBRKP                          = 0x5425
-+	TCSETA                           = 0x5406
-+	TCSETAF                          = 0x5408
-+	TCSETAW                          = 0x5407
-+	TCSETS                           = 0x5402
-+	TCSETS2                          = 0x402c542b
-+	TCSETSF                          = 0x5404
-+	TCSETSF2                         = 0x402c542d
-+	TCSETSW                          = 0x5403
-+	TCSETSW2                         = 0x402c542c
-+	TCSETX                           = 0x5433
-+	TCSETXF                          = 0x5434
-+	TCSETXW                          = 0x5435
-+	TCXONC                           = 0x540a
-+	TIOCCBRK                         = 0x5428
-+	TIOCCONS                         = 0x541d
-+	TIOCEXCL                         = 0x540c
-+	TIOCGDEV                         = 0x80045432
-+	TIOCGETD                         = 0x5424
-+	TIOCGEXCL                        = 0x80045440
-+	TIOCGICOUNT                      = 0x545d
-+	TIOCGISO7816                     = 0x80285442
-+	TIOCGLCKTRMIOS                   = 0x5456
-+	TIOCGPGRP                        = 0x540f
-+	TIOCGPKT                         = 0x80045438
-+	TIOCGPTLCK                       = 0x80045439
-+	TIOCGPTN                         = 0x80045430
-+	TIOCGPTPEER                      = 0x5441
-+	TIOCGRS485                       = 0x542e
-+	TIOCGSERIAL                      = 0x541e
-+	TIOCGSID                         = 0x5429
-+	TIOCGSOFTCAR                     = 0x5419
-+	TIOCGWINSZ                       = 0x5413
-+	TIOCINQ                          = 0x541b
-+	TIOCLINUX                        = 0x541c
-+	TIOCMBIC                         = 0x5417
-+	TIOCMBIS                         = 0x5416
-+	TIOCMGET                         = 0x5415
-+	TIOCMIWAIT                       = 0x545c
-+	TIOCMSET                         = 0x5418
-+	TIOCM_CAR                        = 0x40
-+	TIOCM_CD                         = 0x40
-+	TIOCM_CTS                        = 0x20
-+	TIOCM_DSR                        = 0x100
-+	TIOCM_RI                         = 0x80
-+	TIOCM_RNG                        = 0x80
-+	TIOCM_SR                         = 0x10
-+	TIOCM_ST                         = 0x8
-+	TIOCNOTTY                        = 0x5422
-+	TIOCNXCL                         = 0x540d
-+	TIOCOUTQ                         = 0x5411
-+	TIOCPKT                          = 0x5420
-+	TIOCSBRK                         = 0x5427
-+	TIOCSCTTY                        = 0x540e
-+	TIOCSERCONFIG                    = 0x5453
-+	TIOCSERGETLSR                    = 0x5459
-+	TIOCSERGETMULTI                  = 0x545a
-+	TIOCSERGSTRUCT                   = 0x5458
-+	TIOCSERGWILD                     = 0x5454
-+	TIOCSERSETMULTI                  = 0x545b
-+	TIOCSERSWILD                     = 0x5455
-+	TIOCSER_TEMT                     = 0x1
-+	TIOCSETD                         = 0x5423
-+	TIOCSIG                          = 0x40045436
-+	TIOCSISO7816                     = 0xc0285443
-+	TIOCSLCKTRMIOS                   = 0x5457
-+	TIOCSPGRP                        = 0x5410
-+	TIOCSPTLCK                       = 0x40045431
-+	TIOCSRS485                       = 0x542f
-+	TIOCSSERIAL                      = 0x541f
-+	TIOCSSOFTCAR                     = 0x541a
-+	TIOCSTI                          = 0x5412
-+	TIOCSWINSZ                       = 0x5414
-+	TIOCVHANGUP                      = 0x5437
-+	TOSTOP                           = 0x100
-+	TUNATTACHFILTER                  = 0x401054d5
-+	TUNDETACHFILTER                  = 0x401054d6
-+	TUNGETDEVNETNS                   = 0x54e3
-+	TUNGETFEATURES                   = 0x800454cf
-+	TUNGETFILTER                     = 0x801054db
-+	TUNGETIFF                        = 0x800454d2
-+	TUNGETSNDBUF                     = 0x800454d3
-+	TUNGETVNETBE                     = 0x800454df
-+	TUNGETVNETHDRSZ                  = 0x800454d7
-+	TUNGETVNETLE                     = 0x800454dd
-+	TUNSETCARRIER                    = 0x400454e2
-+	TUNSETDEBUG                      = 0x400454c9
-+	TUNSETFILTEREBPF                 = 0x800454e1
-+	TUNSETGROUP                      = 0x400454ce
-+	TUNSETIFF                        = 0x400454ca
-+	TUNSETIFINDEX                    = 0x400454da
-+	TUNSETLINK                       = 0x400454cd
-+	TUNSETNOCSUM                     = 0x400454c8
-+	TUNSETOFFLOAD                    = 0x400454d0
-+	TUNSETOWNER                      = 0x400454cc
-+	TUNSETPERSIST                    = 0x400454cb
-+	TUNSETQUEUE                      = 0x400454d9
-+	TUNSETSNDBUF                     = 0x400454d4
-+	TUNSETSTEERINGEBPF               = 0x800454e0
-+	TUNSETTXFILTER                   = 0x400454d1
-+	TUNSETVNETBE                     = 0x400454de
-+	TUNSETVNETHDRSZ                  = 0x400454d8
-+	TUNSETVNETLE                     = 0x400454dc
-+	UBI_IOCATT                       = 0x40186f40
-+	UBI_IOCDET                       = 0x40046f41
-+	UBI_IOCEBCH                      = 0x40044f02
-+	UBI_IOCEBER                      = 0x40044f01
-+	UBI_IOCEBISMAP                   = 0x80044f05
-+	UBI_IOCEBMAP                     = 0x40084f03
-+	UBI_IOCEBUNMAP                   = 0x40044f04
-+	UBI_IOCMKVOL                     = 0x40986f00
-+	UBI_IOCRMVOL                     = 0x40046f01
-+	UBI_IOCRNVOL                     = 0x51106f03
-+	UBI_IOCRPEB                      = 0x40046f04
-+	UBI_IOCRSVOL                     = 0x400c6f02
-+	UBI_IOCSETVOLPROP                = 0x40104f06
-+	UBI_IOCSPEB                      = 0x40046f05
-+	UBI_IOCVOLCRBLK                  = 0x40804f07
-+	UBI_IOCVOLRMBLK                  = 0x4f08
-+	UBI_IOCVOLUP                     = 0x40084f00
-+	VDISCARD                         = 0xd
-+	VEOF                             = 0x4
-+	VEOL                             = 0xb
-+	VEOL2                            = 0x10
-+	VMIN                             = 0x6
-+	VREPRINT                         = 0xc
-+	VSTART                           = 0x8
-+	VSTOP                            = 0x9
-+	VSUSP                            = 0xa
-+	VSWTC                            = 0x7
-+	VT1                              = 0x4000
-+	VTDLY                            = 0x4000
-+	VTIME                            = 0x5
-+	VWERASE                          = 0xe
-+	WDIOC_GETBOOTSTATUS              = 0x80045702
-+	WDIOC_GETPRETIMEOUT              = 0x80045709
-+	WDIOC_GETSTATUS                  = 0x80045701
-+	WDIOC_GETSUPPORT                 = 0x80285700
-+	WDIOC_GETTEMP                    = 0x80045703
-+	WDIOC_GETTIMELEFT                = 0x8004570a
-+	WDIOC_GETTIMEOUT                 = 0x80045707
-+	WDIOC_KEEPALIVE                  = 0x80045705
-+	WDIOC_SETOPTIONS                 = 0x80045704
-+	WORDSIZE                         = 0x40
-+	XCASE                            = 0x4
-+	XTABS                            = 0x1800
-+)
-+
-+// Errors
-+const (
-+	EADDRINUSE      = syscall.Errno(0x62)
-+	EADDRNOTAVAIL   = syscall.Errno(0x63)
-+	EADV            = syscall.Errno(0x44)
-+	EAFNOSUPPORT    = syscall.Errno(0x61)
-+	EALREADY        = syscall.Errno(0x72)
-+	EBADE           = syscall.Errno(0x34)
-+	EBADFD          = syscall.Errno(0x4d)
-+	EBADMSG         = syscall.Errno(0x4a)
-+	EBADR           = syscall.Errno(0x35)
-+	EBADRQC         = syscall.Errno(0x38)
-+	EBADSLT         = syscall.Errno(0x39)
-+	EBFONT          = syscall.Errno(0x3b)
-+	ECANCELED       = syscall.Errno(0x7d)
-+	ECHRNG          = syscall.Errno(0x2c)
-+	ECOMM           = syscall.Errno(0x46)
-+	ECONNABORTED    = syscall.Errno(0x67)
-+	ECONNREFUSED    = syscall.Errno(0x6f)
-+	ECONNRESET      = syscall.Errno(0x68)
-+	EDEADLK         = syscall.Errno(0x23)
-+	EDEADLOCK       = syscall.Errno(0x23)
-+	EDESTADDRREQ    = syscall.Errno(0x59)
-+	EDOTDOT         = syscall.Errno(0x49)
-+	EDQUOT          = syscall.Errno(0x7a)
-+	EHOSTDOWN       = syscall.Errno(0x70)
-+	EHOSTUNREACH    = syscall.Errno(0x71)
-+	EHWPOISON       = syscall.Errno(0x85)
-+	EIDRM           = syscall.Errno(0x2b)
-+	EILSEQ          = syscall.Errno(0x54)
-+	EINPROGRESS     = syscall.Errno(0x73)
-+	EISCONN         = syscall.Errno(0x6a)
-+	EISNAM          = syscall.Errno(0x78)
-+	EKEYEXPIRED     = syscall.Errno(0x7f)
-+	EKEYREJECTED    = syscall.Errno(0x81)
-+	EKEYREVOKED     = syscall.Errno(0x80)
-+	EL2HLT          = syscall.Errno(0x33)
-+	EL2NSYNC        = syscall.Errno(0x2d)
-+	EL3HLT          = syscall.Errno(0x2e)
-+	EL3RST          = syscall.Errno(0x2f)
-+	ELIBACC         = syscall.Errno(0x4f)
-+	ELIBBAD         = syscall.Errno(0x50)
-+	ELIBEXEC        = syscall.Errno(0x53)
-+	ELIBMAX         = syscall.Errno(0x52)
-+	ELIBSCN         = syscall.Errno(0x51)
-+	ELNRNG          = syscall.Errno(0x30)
-+	ELOOP           = syscall.Errno(0x28)
-+	EMEDIUMTYPE     = syscall.Errno(0x7c)
-+	EMSGSIZE        = syscall.Errno(0x5a)
-+	EMULTIHOP       = syscall.Errno(0x48)
-+	ENAMETOOLONG    = syscall.Errno(0x24)
-+	ENAVAIL         = syscall.Errno(0x77)
-+	ENETDOWN        = syscall.Errno(0x64)
-+	ENETRESET       = syscall.Errno(0x66)
-+	ENETUNREACH     = syscall.Errno(0x65)
-+	ENOANO          = syscall.Errno(0x37)
-+	ENOBUFS         = syscall.Errno(0x69)
-+	ENOCSI          = syscall.Errno(0x32)
-+	ENODATA         = syscall.Errno(0x3d)
-+	ENOKEY          = syscall.Errno(0x7e)
-+	ENOLCK          = syscall.Errno(0x25)
-+	ENOLINK         = syscall.Errno(0x43)
-+	ENOMEDIUM       = syscall.Errno(0x7b)
-+	ENOMSG          = syscall.Errno(0x2a)
-+	ENONET          = syscall.Errno(0x40)
-+	ENOPKG          = syscall.Errno(0x41)
-+	ENOPROTOOPT     = syscall.Errno(0x5c)
-+	ENOSR           = syscall.Errno(0x3f)
-+	ENOSTR          = syscall.Errno(0x3c)
-+	ENOSYS          = syscall.Errno(0x26)
-+	ENOTCONN        = syscall.Errno(0x6b)
-+	ENOTEMPTY       = syscall.Errno(0x27)
-+	ENOTNAM         = syscall.Errno(0x76)
-+	ENOTRECOVERABLE = syscall.Errno(0x83)
-+	ENOTSOCK        = syscall.Errno(0x58)
-+	ENOTSUP         = syscall.Errno(0x5f)
-+	ENOTUNIQ        = syscall.Errno(0x4c)
-+	EOPNOTSUPP      = syscall.Errno(0x5f)
-+	EOVERFLOW       = syscall.Errno(0x4b)
-+	EOWNERDEAD      = syscall.Errno(0x82)
-+	EPFNOSUPPORT    = syscall.Errno(0x60)
-+	EPROTO          = syscall.Errno(0x47)
-+	EPROTONOSUPPORT = syscall.Errno(0x5d)
-+	EPROTOTYPE      = syscall.Errno(0x5b)
-+	EREMCHG         = syscall.Errno(0x4e)
-+	EREMOTE         = syscall.Errno(0x42)
-+	EREMOTEIO       = syscall.Errno(0x79)
-+	ERESTART        = syscall.Errno(0x55)
-+	ERFKILL         = syscall.Errno(0x84)
-+	ESHUTDOWN       = syscall.Errno(0x6c)
-+	ESOCKTNOSUPPORT = syscall.Errno(0x5e)
-+	ESRMNT          = syscall.Errno(0x45)
-+	ESTALE          = syscall.Errno(0x74)
-+	ESTRPIPE        = syscall.Errno(0x56)
-+	ETIME           = syscall.Errno(0x3e)
-+	ETIMEDOUT       = syscall.Errno(0x6e)
-+	ETOOMANYREFS    = syscall.Errno(0x6d)
-+	EUCLEAN         = syscall.Errno(0x75)
-+	EUNATCH         = syscall.Errno(0x31)
-+	EUSERS          = syscall.Errno(0x57)
-+	EXFULL          = syscall.Errno(0x36)
-+)
-+
-+// Signals
-+const (
-+	SIGBUS    = syscall.Signal(0x7)
-+	SIGCHLD   = syscall.Signal(0x11)
-+	SIGCLD    = syscall.Signal(0x11)
-+	SIGCONT   = syscall.Signal(0x12)
-+	SIGIO     = syscall.Signal(0x1d)
-+	SIGPOLL   = syscall.Signal(0x1d)
-+	SIGPROF   = syscall.Signal(0x1b)
-+	SIGPWR    = syscall.Signal(0x1e)
-+	SIGSTKFLT = syscall.Signal(0x10)
-+	SIGSTOP   = syscall.Signal(0x13)
-+	SIGSYS    = syscall.Signal(0x1f)
-+	SIGTSTP   = syscall.Signal(0x14)
-+	SIGTTIN   = syscall.Signal(0x15)
-+	SIGTTOU   = syscall.Signal(0x16)
-+	SIGURG    = syscall.Signal(0x17)
-+	SIGUSR1   = syscall.Signal(0xa)
-+	SIGUSR2   = syscall.Signal(0xc)
-+	SIGVTALRM = syscall.Signal(0x1a)
-+	SIGWINCH  = syscall.Signal(0x1c)
-+	SIGXCPU   = syscall.Signal(0x18)
-+	SIGXFSZ   = syscall.Signal(0x19)
-+)
-+
-+// Error table
-+var errorList = [...]struct {
-+	num  syscall.Errno
-+	name string
-+	desc string
-+}{
-+	{1, "EPERM", "operation not permitted"},
-+	{2, "ENOENT", "no such file or directory"},
-+	{3, "ESRCH", "no such process"},
-+	{4, "EINTR", "interrupted system call"},
-+	{5, "EIO", "input/output error"},
-+	{6, "ENXIO", "no such device or address"},
-+	{7, "E2BIG", "argument list too long"},
-+	{8, "ENOEXEC", "exec format error"},
-+	{9, "EBADF", "bad file descriptor"},
-+	{10, "ECHILD", "no child processes"},
-+	{11, "EAGAIN", "resource temporarily unavailable"},
-+	{12, "ENOMEM", "cannot allocate memory"},
-+	{13, "EACCES", "permission denied"},
-+	{14, "EFAULT", "bad address"},
-+	{15, "ENOTBLK", "block device required"},
-+	{16, "EBUSY", "device or resource busy"},
-+	{17, "EEXIST", "file exists"},
-+	{18, "EXDEV", "invalid cross-device link"},
-+	{19, "ENODEV", "no such device"},
-+	{20, "ENOTDIR", "not a directory"},
-+	{21, "EISDIR", "is a directory"},
-+	{22, "EINVAL", "invalid argument"},
-+	{23, "ENFILE", "too many open files in system"},
-+	{24, "EMFILE", "too many open files"},
-+	{25, "ENOTTY", "inappropriate ioctl for device"},
-+	{26, "ETXTBSY", "text file busy"},
-+	{27, "EFBIG", "file too large"},
-+	{28, "ENOSPC", "no space left on device"},
-+	{29, "ESPIPE", "illegal seek"},
-+	{30, "EROFS", "read-only file system"},
-+	{31, "EMLINK", "too many links"},
-+	{32, "EPIPE", "broken pipe"},
-+	{33, "EDOM", "numerical argument out of domain"},
-+	{34, "ERANGE", "numerical result out of range"},
-+	{35, "EDEADLK", "resource deadlock avoided"},
-+	{36, "ENAMETOOLONG", "file name too long"},
-+	{37, "ENOLCK", "no locks available"},
-+	{38, "ENOSYS", "function not implemented"},
-+	{39, "ENOTEMPTY", "directory not empty"},
-+	{40, "ELOOP", "too many levels of symbolic links"},
-+	{42, "ENOMSG", "no message of desired type"},
-+	{43, "EIDRM", "identifier removed"},
-+	{44, "ECHRNG", "channel number out of range"},
-+	{45, "EL2NSYNC", "level 2 not synchronized"},
-+	{46, "EL3HLT", "level 3 halted"},
-+	{47, "EL3RST", "level 3 reset"},
-+	{48, "ELNRNG", "link number out of range"},
-+	{49, "EUNATCH", "protocol driver not attached"},
-+	{50, "ENOCSI", "no CSI structure available"},
-+	{51, "EL2HLT", "level 2 halted"},
-+	{52, "EBADE", "invalid exchange"},
-+	{53, "EBADR", "invalid request descriptor"},
-+	{54, "EXFULL", "exchange full"},
-+	{55, "ENOANO", "no anode"},
-+	{56, "EBADRQC", "invalid request code"},
-+	{57, "EBADSLT", "invalid slot"},
-+	{59, "EBFONT", "bad font file format"},
-+	{60, "ENOSTR", "device not a stream"},
-+	{61, "ENODATA", "no data available"},
-+	{62, "ETIME", "timer expired"},
-+	{63, "ENOSR", "out of streams resources"},
-+	{64, "ENONET", "machine is not on the network"},
-+	{65, "ENOPKG", "package not installed"},
-+	{66, "EREMOTE", "object is remote"},
-+	{67, "ENOLINK", "link has been severed"},
-+	{68, "EADV", "advertise error"},
-+	{69, "ESRMNT", "srmount error"},
-+	{70, "ECOMM", "communication error on send"},
-+	{71, "EPROTO", "protocol error"},
-+	{72, "EMULTIHOP", "multihop attempted"},
-+	{73, "EDOTDOT", "RFS specific error"},
-+	{74, "EBADMSG", "bad message"},
-+	{75, "EOVERFLOW", "value too large for defined data type"},
-+	{76, "ENOTUNIQ", "name not unique on network"},
-+	{77, "EBADFD", "file descriptor in bad state"},
-+	{78, "EREMCHG", "remote address changed"},
-+	{79, "ELIBACC", "can not access a needed shared library"},
-+	{80, "ELIBBAD", "accessing a corrupted shared library"},
-+	{81, "ELIBSCN", ".lib section in a.out corrupted"},
-+	{82, "ELIBMAX", "attempting to link in too many shared libraries"},
-+	{83, "ELIBEXEC", "cannot exec a shared library directly"},
-+	{84, "EILSEQ", "invalid or incomplete multibyte or wide character"},
-+	{85, "ERESTART", "interrupted system call should be restarted"},
-+	{86, "ESTRPIPE", "streams pipe error"},
-+	{87, "EUSERS", "too many users"},
-+	{88, "ENOTSOCK", "socket operation on non-socket"},
-+	{89, "EDESTADDRREQ", "destination address required"},
-+	{90, "EMSGSIZE", "message too long"},
-+	{91, "EPROTOTYPE", "protocol wrong type for socket"},
-+	{92, "ENOPROTOOPT", "protocol not available"},
-+	{93, "EPROTONOSUPPORT", "protocol not supported"},
-+	{94, "ESOCKTNOSUPPORT", "socket type not supported"},
-+	{95, "ENOTSUP", "operation not supported"},
-+	{96, "EPFNOSUPPORT", "protocol family not supported"},
-+	{97, "EAFNOSUPPORT", "address family not supported by protocol"},
-+	{98, "EADDRINUSE", "address already in use"},
-+	{99, "EADDRNOTAVAIL", "cannot assign requested address"},
-+	{100, "ENETDOWN", "network is down"},
-+	{101, "ENETUNREACH", "network is unreachable"},
-+	{102, "ENETRESET", "network dropped connection on reset"},
-+	{103, "ECONNABORTED", "software caused connection abort"},
-+	{104, "ECONNRESET", "connection reset by peer"},
-+	{105, "ENOBUFS", "no buffer space available"},
-+	{106, "EISCONN", "transport endpoint is already connected"},
-+	{107, "ENOTCONN", "transport endpoint is not connected"},
-+	{108, "ESHUTDOWN", "cannot send after transport endpoint shutdown"},
-+	{109, "ETOOMANYREFS", "too many references: cannot splice"},
-+	{110, "ETIMEDOUT", "connection timed out"},
-+	{111, "ECONNREFUSED", "connection refused"},
-+	{112, "EHOSTDOWN", "host is down"},
-+	{113, "EHOSTUNREACH", "no route to host"},
-+	{114, "EALREADY", "operation already in progress"},
-+	{115, "EINPROGRESS", "operation now in progress"},
-+	{116, "ESTALE", "stale file handle"},
-+	{117, "EUCLEAN", "structure needs cleaning"},
-+	{118, "ENOTNAM", "not a XENIX named type file"},
-+	{119, "ENAVAIL", "no XENIX semaphores available"},
-+	{120, "EISNAM", "is a named type file"},
-+	{121, "EREMOTEIO", "remote I/O error"},
-+	{122, "EDQUOT", "disk quota exceeded"},
-+	{123, "ENOMEDIUM", "no medium found"},
-+	{124, "EMEDIUMTYPE", "wrong medium type"},
-+	{125, "ECANCELED", "operation canceled"},
-+	{126, "ENOKEY", "required key not available"},
-+	{127, "EKEYEXPIRED", "key has expired"},
-+	{128, "EKEYREVOKED", "key has been revoked"},
-+	{129, "EKEYREJECTED", "key was rejected by service"},
-+	{130, "EOWNERDEAD", "owner died"},
-+	{131, "ENOTRECOVERABLE", "state not recoverable"},
-+	{132, "ERFKILL", "operation not possible due to RF-kill"},
-+	{133, "EHWPOISON", "memory page has hardware error"},
-+}
-+
-+// Signal table
-+var signalList = [...]struct {
-+	num  syscall.Signal
-+	name string
-+	desc string
-+}{
-+	{1, "SIGHUP", "hangup"},
-+	{2, "SIGINT", "interrupt"},
-+	{3, "SIGQUIT", "quit"},
-+	{4, "SIGILL", "illegal instruction"},
-+	{5, "SIGTRAP", "trace/breakpoint trap"},
-+	{6, "SIGABRT", "aborted"},
-+	{7, "SIGBUS", "bus error"},
-+	{8, "SIGFPE", "floating point exception"},
-+	{9, "SIGKILL", "killed"},
-+	{10, "SIGUSR1", "user defined signal 1"},
-+	{11, "SIGSEGV", "segmentation fault"},
-+	{12, "SIGUSR2", "user defined signal 2"},
-+	{13, "SIGPIPE", "broken pipe"},
-+	{14, "SIGALRM", "alarm clock"},
-+	{15, "SIGTERM", "terminated"},
-+	{16, "SIGSTKFLT", "stack fault"},
-+	{17, "SIGCHLD", "child exited"},
-+	{18, "SIGCONT", "continued"},
-+	{19, "SIGSTOP", "stopped (signal)"},
-+	{20, "SIGTSTP", "stopped"},
-+	{21, "SIGTTIN", "stopped (tty input)"},
-+	{22, "SIGTTOU", "stopped (tty output)"},
-+	{23, "SIGURG", "urgent I/O condition"},
-+	{24, "SIGXCPU", "CPU time limit exceeded"},
-+	{25, "SIGXFSZ", "file size limit exceeded"},
-+	{26, "SIGVTALRM", "virtual timer expired"},
-+	{27, "SIGPROF", "profiling timer expired"},
-+	{28, "SIGWINCH", "window changed"},
-+	{29, "SIGIO", "I/O possible"},
-+	{30, "SIGPWR", "power failure"},
-+	{31, "SIGSYS", "bad system call"},
-+}
-diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go b/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go
-index 3b570754..95e950fc 100644
---- a/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go
-+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go
-@@ -3,7 +3,7 @@
- 
- // +build s390x,linux
- 
--// Created by cgo -godefs - DO NOT EDIT
-+// Code generated by cmd/cgo -godefs; DO NOT EDIT.
- // cgo -godefs -- -Wall -Werror -static -I/tmp/include -fsigned-char _const.go
- 
- package unix
-@@ -11,1930 +11,547 @@ package unix
- import "syscall"
- 
- const (
--	AF_ALG                               = 0x26
--	AF_APPLETALK                         = 0x5
--	AF_ASH                               = 0x12
--	AF_ATMPVC                            = 0x8
--	AF_ATMSVC                            = 0x14
--	AF_AX25                              = 0x3
--	AF_BLUETOOTH                         = 0x1f
--	AF_BRIDGE                            = 0x7
--	AF_CAIF                              = 0x25
--	AF_CAN                               = 0x1d
--	AF_DECnet                            = 0xc
--	AF_ECONET                            = 0x13
--	AF_FILE                              = 0x1
--	AF_IB                                = 0x1b
--	AF_IEEE802154                        = 0x24
--	AF_INET                              = 0x2
--	AF_INET6                             = 0xa
--	AF_IPX                               = 0x4
--	AF_IRDA                              = 0x17
--	AF_ISDN                              = 0x22
--	AF_IUCV                              = 0x20
--	AF_KCM                               = 0x29
--	AF_KEY                               = 0xf
--	AF_LLC                               = 0x1a
--	AF_LOCAL                             = 0x1
--	AF_MAX                               = 0x2b
--	AF_MPLS                              = 0x1c
--	AF_NETBEUI                           = 0xd
--	AF_NETLINK                           = 0x10
--	AF_NETROM                            = 0x6
--	AF_NFC                               = 0x27
--	AF_PACKET                            = 0x11
--	AF_PHONET                            = 0x23
--	AF_PPPOX                             = 0x18
--	AF_QIPCRTR                           = 0x2a
--	AF_RDS                               = 0x15
--	AF_ROSE                              = 0xb
--	AF_ROUTE                             = 0x10
--	AF_RXRPC                             = 0x21
--	AF_SECURITY                          = 0xe
--	AF_SNA                               = 0x16
--	AF_TIPC                              = 0x1e
--	AF_UNIX                              = 0x1
--	AF_UNSPEC                            = 0x0
--	AF_VSOCK                             = 0x28
--	AF_WANPIPE                           = 0x19
--	AF_X25                               = 0x9
--	ALG_OP_DECRYPT                       = 0x0
--	ALG_OP_ENCRYPT                       = 0x1
--	ALG_SET_AEAD_ASSOCLEN                = 0x4
--	ALG_SET_AEAD_AUTHSIZE                = 0x5
--	ALG_SET_IV                           = 0x2
--	ALG_SET_KEY                          = 0x1
--	ALG_SET_OP                           = 0x3
--	ARPHRD_6LOWPAN                       = 0x339
--	ARPHRD_ADAPT                         = 0x108
--	ARPHRD_APPLETLK                      = 0x8
--	ARPHRD_ARCNET                        = 0x7
--	ARPHRD_ASH                           = 0x30d
--	ARPHRD_ATM                           = 0x13
--	ARPHRD_AX25                          = 0x3
--	ARPHRD_BIF                           = 0x307
--	ARPHRD_CAIF                          = 0x336
--	ARPHRD_CAN                           = 0x118
--	ARPHRD_CHAOS                         = 0x5
--	ARPHRD_CISCO                         = 0x201
--	ARPHRD_CSLIP                         = 0x101
--	ARPHRD_CSLIP6                        = 0x103
--	ARPHRD_DDCMP                         = 0x205
--	ARPHRD_DLCI                          = 0xf
--	ARPHRD_ECONET                        = 0x30e
--	ARPHRD_EETHER                        = 0x2
--	ARPHRD_ETHER                         = 0x1
--	ARPHRD_EUI64                         = 0x1b
--	ARPHRD_FCAL                          = 0x311
--	ARPHRD_FCFABRIC                      = 0x313
--	ARPHRD_FCPL                          = 0x312
--	ARPHRD_FCPP                          = 0x310
--	ARPHRD_FDDI                          = 0x306
--	ARPHRD_FRAD                          = 0x302
--	ARPHRD_HDLC                          = 0x201
--	ARPHRD_HIPPI                         = 0x30c
--	ARPHRD_HWX25                         = 0x110
--	ARPHRD_IEEE1394                      = 0x18
--	ARPHRD_IEEE802                       = 0x6
--	ARPHRD_IEEE80211                     = 0x321
--	ARPHRD_IEEE80211_PRISM               = 0x322
--	ARPHRD_IEEE80211_RADIOTAP            = 0x323
--	ARPHRD_IEEE802154                    = 0x324
--	ARPHRD_IEEE802154_MONITOR            = 0x325
--	ARPHRD_IEEE802_TR                    = 0x320
--	ARPHRD_INFINIBAND                    = 0x20
--	ARPHRD_IP6GRE                        = 0x337
--	ARPHRD_IPDDP                         = 0x309
--	ARPHRD_IPGRE                         = 0x30a
--	ARPHRD_IRDA                          = 0x30f
--	ARPHRD_LAPB                          = 0x204
--	ARPHRD_LOCALTLK                      = 0x305
--	ARPHRD_LOOPBACK                      = 0x304
--	ARPHRD_METRICOM                      = 0x17
--	ARPHRD_NETLINK                       = 0x338
--	ARPHRD_NETROM                        = 0x0
--	ARPHRD_NONE                          = 0xfffe
--	ARPHRD_PHONET                        = 0x334
--	ARPHRD_PHONET_PIPE                   = 0x335
--	ARPHRD_PIMREG                        = 0x30b
--	ARPHRD_PPP                           = 0x200
--	ARPHRD_PRONET                        = 0x4
--	ARPHRD_RAWHDLC                       = 0x206
--	ARPHRD_ROSE                          = 0x10e
--	ARPHRD_RSRVD                         = 0x104
--	ARPHRD_SIT                           = 0x308
--	ARPHRD_SKIP                          = 0x303
--	ARPHRD_SLIP                          = 0x100
--	ARPHRD_SLIP6                         = 0x102
--	ARPHRD_TUNNEL                        = 0x300
--	ARPHRD_TUNNEL6                       = 0x301
--	ARPHRD_VOID                          = 0xffff
--	ARPHRD_X25                           = 0x10f
--	B0                                   = 0x0
--	B1000000                             = 0x1008
--	B110                                 = 0x3
--	B115200                              = 0x1002
--	B1152000                             = 0x1009
--	B1200                                = 0x9
--	B134                                 = 0x4
--	B150                                 = 0x5
--	B1500000                             = 0x100a
--	B1800                                = 0xa
--	B19200                               = 0xe
--	B200                                 = 0x6
--	B2000000                             = 0x100b
--	B230400                              = 0x1003
--	B2400                                = 0xb
--	B2500000                             = 0x100c
--	B300                                 = 0x7
--	B3000000                             = 0x100d
--	B3500000                             = 0x100e
--	B38400                               = 0xf
--	B4000000                             = 0x100f
--	B460800                              = 0x1004
--	B4800                                = 0xc
--	B50                                  = 0x1
--	B500000                              = 0x1005
--	B57600                               = 0x1001
--	B576000                              = 0x1006
--	B600                                 = 0x8
--	B75                                  = 0x2
--	B921600                              = 0x1007
--	B9600                                = 0xd
--	BLKBSZGET                            = 0x80081270
--	BLKBSZSET                            = 0x40081271
--	BLKFLSBUF                            = 0x1261
--	BLKFRAGET                            = 0x1265
--	BLKFRASET                            = 0x1264
--	BLKGETSIZE                           = 0x1260
--	BLKGETSIZE64                         = 0x80081272
--	BLKPBSZGET                           = 0x127b
--	BLKRAGET                             = 0x1263
--	BLKRASET                             = 0x1262
--	BLKROGET                             = 0x125e
--	BLKROSET                             = 0x125d
--	BLKRRPART                            = 0x125f
--	BLKSECTGET                           = 0x1267
--	BLKSECTSET                           = 0x1266
--	BLKSSZGET                            = 0x1268
--	BOTHER                               = 0x1000
--	BPF_A                                = 0x10
--	BPF_ABS                              = 0x20
--	BPF_ADD                              = 0x0
--	BPF_ALU                              = 0x4
--	BPF_AND                              = 0x50
--	BPF_B                                = 0x10
--	BPF_DIV                              = 0x30
--	BPF_H                                = 0x8
--	BPF_IMM                              = 0x0
--	BPF_IND                              = 0x40
--	BPF_JA                               = 0x0
--	BPF_JEQ                              = 0x10
--	BPF_JGE                              = 0x30
--	BPF_JGT                              = 0x20
--	BPF_JMP                              = 0x5
--	BPF_JSET                             = 0x40
--	BPF_K                                = 0x0
--	BPF_LD                               = 0x0
--	BPF_LDX                              = 0x1
--	BPF_LEN                              = 0x80
--	BPF_LL_OFF                           = -0x200000
--	BPF_LSH                              = 0x60
--	BPF_MAJOR_VERSION                    = 0x1
--	BPF_MAXINSNS                         = 0x1000
--	BPF_MEM                              = 0x60
--	BPF_MEMWORDS                         = 0x10
--	BPF_MINOR_VERSION                    = 0x1
--	BPF_MISC                             = 0x7
--	BPF_MOD                              = 0x90
--	BPF_MSH                              = 0xa0
--	BPF_MUL                              = 0x20
--	BPF_NEG                              = 0x80
--	BPF_NET_OFF                          = -0x100000
--	BPF_OR                               = 0x40
--	BPF_RET                              = 0x6
--	BPF_RSH                              = 0x70
--	BPF_ST                               = 0x2
--	BPF_STX                              = 0x3
--	BPF_SUB                              = 0x10
--	BPF_TAX                              = 0x0
--	BPF_TXA                              = 0x80
--	BPF_W                                = 0x0
--	BPF_X                                = 0x8
--	BPF_XOR                              = 0xa0
--	BRKINT                               = 0x2
--	BS0                                  = 0x0
--	BS1                                  = 0x2000
--	BSDLY                                = 0x2000
--	CAN_BCM                              = 0x2
--	CAN_EFF_FLAG                         = 0x80000000
--	CAN_EFF_ID_BITS                      = 0x1d
--	CAN_EFF_MASK                         = 0x1fffffff
--	CAN_ERR_FLAG                         = 0x20000000
--	CAN_ERR_MASK                         = 0x1fffffff
--	CAN_INV_FILTER                       = 0x20000000
--	CAN_ISOTP                            = 0x6
--	CAN_MAX_DLC                          = 0x8
--	CAN_MAX_DLEN                         = 0x8
--	CAN_MCNET                            = 0x5
--	CAN_MTU                              = 0x10
--	CAN_NPROTO                           = 0x7
--	CAN_RAW                              = 0x1
--	CAN_RAW_FILTER_MAX                   = 0x200
--	CAN_RTR_FLAG                         = 0x40000000
--	CAN_SFF_ID_BITS                      = 0xb
--	CAN_SFF_MASK                         = 0x7ff
--	CAN_TP16                             = 0x3
--	CAN_TP20                             = 0x4
--	CBAUD                                = 0x100f
--	CBAUDEX                              = 0x1000
--	CFLUSH                               = 0xf
--	CIBAUD                               = 0x100f0000
--	CLOCAL                               = 0x800
--	CLOCK_BOOTTIME                       = 0x7
--	CLOCK_BOOTTIME_ALARM                 = 0x9
--	CLOCK_DEFAULT                        = 0x0
--	CLOCK_EXT                            = 0x1
--	CLOCK_INT                            = 0x2
--	CLOCK_MONOTONIC                      = 0x1
--	CLOCK_MONOTONIC_COARSE               = 0x6
--	CLOCK_MONOTONIC_RAW                  = 0x4
--	CLOCK_PROCESS_CPUTIME_ID             = 0x2
--	CLOCK_REALTIME                       = 0x0
--	CLOCK_REALTIME_ALARM                 = 0x8
--	CLOCK_REALTIME_COARSE                = 0x5
--	CLOCK_TAI                            = 0xb
--	CLOCK_THREAD_CPUTIME_ID              = 0x3
--	CLOCK_TXFROMRX                       = 0x4
--	CLOCK_TXINT                          = 0x3
--	CLONE_CHILD_CLEARTID                 = 0x200000
--	CLONE_CHILD_SETTID                   = 0x1000000
--	CLONE_DETACHED                       = 0x400000
--	CLONE_FILES                          = 0x400
--	CLONE_FS                             = 0x200
--	CLONE_IO                             = 0x80000000
--	CLONE_NEWCGROUP                      = 0x2000000
--	CLONE_NEWIPC                         = 0x8000000
--	CLONE_NEWNET                         = 0x40000000
--	CLONE_NEWNS                          = 0x20000
--	CLONE_NEWPID                         = 0x20000000
--	CLONE_NEWUSER                        = 0x10000000
--	CLONE_NEWUTS                         = 0x4000000
--	CLONE_PARENT                         = 0x8000
--	CLONE_PARENT_SETTID                  = 0x100000
--	CLONE_PTRACE                         = 0x2000
--	CLONE_SETTLS                         = 0x80000
--	CLONE_SIGHAND                        = 0x800
--	CLONE_SYSVSEM                        = 0x40000
--	CLONE_THREAD                         = 0x10000
--	CLONE_UNTRACED                       = 0x800000
--	CLONE_VFORK                          = 0x4000
--	CLONE_VM                             = 0x100
--	CMSPAR                               = 0x40000000
--	CR0                                  = 0x0
--	CR1                                  = 0x200
--	CR2                                  = 0x400
--	CR3                                  = 0x600
--	CRDLY                                = 0x600
--	CREAD                                = 0x80
--	CRTSCTS                              = 0x80000000
--	CS5                                  = 0x0
--	CS6                                  = 0x10
--	CS7                                  = 0x20
--	CS8                                  = 0x30
--	CSIGNAL                              = 0xff
--	CSIZE                                = 0x30
--	CSTART                               = 0x11
--	CSTATUS                              = 0x0
--	CSTOP                                = 0x13
--	CSTOPB                               = 0x40
--	CSUSP                                = 0x1a
--	DT_BLK                               = 0x6
--	DT_CHR                               = 0x2
--	DT_DIR                               = 0x4
--	DT_FIFO                              = 0x1
--	DT_LNK                               = 0xa
--	DT_REG                               = 0x8
--	DT_SOCK                              = 0xc
--	DT_UNKNOWN                           = 0x0
--	DT_WHT                               = 0xe
--	ECHO                                 = 0x8
--	ECHOCTL                              = 0x200
--	ECHOE                                = 0x10
--	ECHOK                                = 0x20
--	ECHOKE                               = 0x800
--	ECHONL                               = 0x40
--	ECHOPRT                              = 0x400
--	EFD_CLOEXEC                          = 0x80000
--	EFD_NONBLOCK                         = 0x800
--	EFD_SEMAPHORE                        = 0x1
--	ENCODING_DEFAULT                     = 0x0
--	ENCODING_FM_MARK                     = 0x3
--	ENCODING_FM_SPACE                    = 0x4
--	ENCODING_MANCHESTER                  = 0x5
--	ENCODING_NRZ                         = 0x1
--	ENCODING_NRZI                        = 0x2
--	EPOLLERR                             = 0x8
--	EPOLLET                              = 0x80000000
--	EPOLLEXCLUSIVE                       = 0x10000000
--	EPOLLHUP                             = 0x10
--	EPOLLIN                              = 0x1
--	EPOLLMSG                             = 0x400
--	EPOLLONESHOT                         = 0x40000000
--	EPOLLOUT                             = 0x4
--	EPOLLPRI                             = 0x2
--	EPOLLRDBAND                          = 0x80
--	EPOLLRDHUP                           = 0x2000
--	EPOLLRDNORM                          = 0x40
--	EPOLLWAKEUP                          = 0x20000000
--	EPOLLWRBAND                          = 0x200
--	EPOLLWRNORM                          = 0x100
--	EPOLL_CLOEXEC                        = 0x80000
--	EPOLL_CTL_ADD                        = 0x1
--	EPOLL_CTL_DEL                        = 0x2
--	EPOLL_CTL_MOD                        = 0x3
--	ETH_P_1588                           = 0x88f7
--	ETH_P_8021AD                         = 0x88a8
--	ETH_P_8021AH                         = 0x88e7
--	ETH_P_8021Q                          = 0x8100
--	ETH_P_80221                          = 0x8917
--	ETH_P_802_2                          = 0x4
--	ETH_P_802_3                          = 0x1
--	ETH_P_802_3_MIN                      = 0x600
--	ETH_P_802_EX1                        = 0x88b5
--	ETH_P_AARP                           = 0x80f3
--	ETH_P_AF_IUCV                        = 0xfbfb
--	ETH_P_ALL                            = 0x3
--	ETH_P_AOE                            = 0x88a2
--	ETH_P_ARCNET                         = 0x1a
--	ETH_P_ARP                            = 0x806
--	ETH_P_ATALK                          = 0x809b
--	ETH_P_ATMFATE                        = 0x8884
--	ETH_P_ATMMPOA                        = 0x884c
--	ETH_P_AX25                           = 0x2
--	ETH_P_BATMAN                         = 0x4305
--	ETH_P_BPQ                            = 0x8ff
--	ETH_P_CAIF                           = 0xf7
--	ETH_P_CAN                            = 0xc
--	ETH_P_CANFD                          = 0xd
--	ETH_P_CONTROL                        = 0x16
--	ETH_P_CUST                           = 0x6006
--	ETH_P_DDCMP                          = 0x6
--	ETH_P_DEC                            = 0x6000
--	ETH_P_DIAG                           = 0x6005
--	ETH_P_DNA_DL                         = 0x6001
--	ETH_P_DNA_RC                         = 0x6002
--	ETH_P_DNA_RT                         = 0x6003
--	ETH_P_DSA                            = 0x1b
--	ETH_P_ECONET                         = 0x18
--	ETH_P_EDSA                           = 0xdada
--	ETH_P_FCOE                           = 0x8906
--	ETH_P_FIP                            = 0x8914
--	ETH_P_HDLC                           = 0x19
--	ETH_P_HSR                            = 0x892f
--	ETH_P_IEEE802154                     = 0xf6
--	ETH_P_IEEEPUP                        = 0xa00
--	ETH_P_IEEEPUPAT                      = 0xa01
--	ETH_P_IP                             = 0x800
--	ETH_P_IPV6                           = 0x86dd
--	ETH_P_IPX                            = 0x8137
--	ETH_P_IRDA                           = 0x17
--	ETH_P_LAT                            = 0x6004
--	ETH_P_LINK_CTL                       = 0x886c
--	ETH_P_LOCALTALK                      = 0x9
--	ETH_P_LOOP                           = 0x60
--	ETH_P_LOOPBACK                       = 0x9000
--	ETH_P_MACSEC                         = 0x88e5
--	ETH_P_MOBITEX                        = 0x15
--	ETH_P_MPLS_MC                        = 0x8848
--	ETH_P_MPLS_UC                        = 0x8847
--	ETH_P_MVRP                           = 0x88f5
--	ETH_P_NCSI                           = 0x88f8
--	ETH_P_PAE                            = 0x888e
--	ETH_P_PAUSE                          = 0x8808
--	ETH_P_PHONET                         = 0xf5
--	ETH_P_PPPTALK                        = 0x10
--	ETH_P_PPP_DISC                       = 0x8863
--	ETH_P_PPP_MP                         = 0x8
--	ETH_P_PPP_SES                        = 0x8864
--	ETH_P_PRP                            = 0x88fb
--	ETH_P_PUP                            = 0x200
--	ETH_P_PUPAT                          = 0x201
--	ETH_P_QINQ1                          = 0x9100
--	ETH_P_QINQ2                          = 0x9200
--	ETH_P_QINQ3                          = 0x9300
--	ETH_P_RARP                           = 0x8035
--	ETH_P_SCA                            = 0x6007
--	ETH_P_SLOW                           = 0x8809
--	ETH_P_SNAP                           = 0x5
--	ETH_P_TDLS                           = 0x890d
--	ETH_P_TEB                            = 0x6558
--	ETH_P_TIPC                           = 0x88ca
--	ETH_P_TRAILER                        = 0x1c
--	ETH_P_TR_802_2                       = 0x11
--	ETH_P_TSN                            = 0x22f0
--	ETH_P_WAN_PPP                        = 0x7
--	ETH_P_WCCP                           = 0x883e
--	ETH_P_X25                            = 0x805
--	ETH_P_XDSA                           = 0xf8
--	EXTA                                 = 0xe
--	EXTB                                 = 0xf
--	EXTPROC                              = 0x10000
--	FALLOC_FL_COLLAPSE_RANGE             = 0x8
--	FALLOC_FL_INSERT_RANGE               = 0x20
--	FALLOC_FL_KEEP_SIZE                  = 0x1
--	FALLOC_FL_NO_HIDE_STALE              = 0x4
--	FALLOC_FL_PUNCH_HOLE                 = 0x2
--	FALLOC_FL_UNSHARE_RANGE              = 0x40
--	FALLOC_FL_ZERO_RANGE                 = 0x10
--	FD_CLOEXEC                           = 0x1
--	FD_SETSIZE                           = 0x400
--	FF0                                  = 0x0
--	FF1                                  = 0x8000
--	FFDLY                                = 0x8000
--	FLUSHO                               = 0x1000
--	FS_ENCRYPTION_MODE_AES_256_CBC       = 0x3
--	FS_ENCRYPTION_MODE_AES_256_CTS       = 0x4
--	FS_ENCRYPTION_MODE_AES_256_GCM       = 0x2
--	FS_ENCRYPTION_MODE_AES_256_XTS       = 0x1
--	FS_ENCRYPTION_MODE_INVALID           = 0x0
--	FS_IOC_GET_ENCRYPTION_POLICY         = 0x400c6615
--	FS_IOC_GET_ENCRYPTION_PWSALT         = 0x40106614
--	FS_IOC_SET_ENCRYPTION_POLICY         = 0x800c6613
--	FS_KEY_DESCRIPTOR_SIZE               = 0x8
--	FS_KEY_DESC_PREFIX                   = "fscrypt:"
--	FS_KEY_DESC_PREFIX_SIZE              = 0x8
--	FS_MAX_KEY_SIZE                      = 0x40
--	FS_POLICY_FLAGS_PAD_16               = 0x2
--	FS_POLICY_FLAGS_PAD_32               = 0x3
--	FS_POLICY_FLAGS_PAD_4                = 0x0
--	FS_POLICY_FLAGS_PAD_8                = 0x1
--	FS_POLICY_FLAGS_PAD_MASK             = 0x3
--	FS_POLICY_FLAGS_VALID                = 0x3
--	F_DUPFD                              = 0x0
--	F_DUPFD_CLOEXEC                      = 0x406
--	F_EXLCK                              = 0x4
--	F_GETFD                              = 0x1
--	F_GETFL                              = 0x3
--	F_GETLEASE                           = 0x401
--	F_GETLK                              = 0x5
--	F_GETLK64                            = 0x5
--	F_GETOWN                             = 0x9
--	F_GETOWN_EX                          = 0x10
--	F_GETPIPE_SZ                         = 0x408
--	F_GETSIG                             = 0xb
--	F_LOCK                               = 0x1
--	F_NOTIFY                             = 0x402
--	F_OFD_GETLK                          = 0x24
--	F_OFD_SETLK                          = 0x25
--	F_OFD_SETLKW                         = 0x26
--	F_OK                                 = 0x0
--	F_RDLCK                              = 0x0
--	F_SETFD                              = 0x2
--	F_SETFL                              = 0x4
--	F_SETLEASE                           = 0x400
--	F_SETLK                              = 0x6
--	F_SETLK64                            = 0x6
--	F_SETLKW                             = 0x7
--	F_SETLKW64                           = 0x7
--	F_SETOWN                             = 0x8
--	F_SETOWN_EX                          = 0xf
--	F_SETPIPE_SZ                         = 0x407
--	F_SETSIG                             = 0xa
--	F_SHLCK                              = 0x8
--	F_TEST                               = 0x3
--	F_TLOCK                              = 0x2
--	F_ULOCK                              = 0x0
--	F_UNLCK                              = 0x2
--	F_WRLCK                              = 0x1
--	GENL_ADMIN_PERM                      = 0x1
--	GENL_CMD_CAP_DO                      = 0x2
--	GENL_CMD_CAP_DUMP                    = 0x4
--	GENL_CMD_CAP_HASPOL                  = 0x8
--	GENL_HDRLEN                          = 0x4
--	GENL_ID_CTRL                         = 0x10
--	GENL_ID_PMCRAID                      = 0x12
--	GENL_ID_VFS_DQUOT                    = 0x11
--	GENL_MAX_ID                          = 0x3ff
--	GENL_MIN_ID                          = 0x10
--	GENL_NAMSIZ                          = 0x10
--	GENL_START_ALLOC                     = 0x13
--	GENL_UNS_ADMIN_PERM                  = 0x10
--	GRND_NONBLOCK                        = 0x1
--	GRND_RANDOM                          = 0x2
--	HUPCL                                = 0x400
--	IBSHIFT                              = 0x10
--	ICANON                               = 0x2
--	ICMPV6_FILTER                        = 0x1
--	ICRNL                                = 0x100
--	IEXTEN                               = 0x8000
--	IFA_F_DADFAILED                      = 0x8
--	IFA_F_DEPRECATED                     = 0x20
--	IFA_F_HOMEADDRESS                    = 0x10
--	IFA_F_MANAGETEMPADDR                 = 0x100
--	IFA_F_MCAUTOJOIN                     = 0x400
--	IFA_F_NODAD                          = 0x2
--	IFA_F_NOPREFIXROUTE                  = 0x200
--	IFA_F_OPTIMISTIC                     = 0x4
--	IFA_F_PERMANENT                      = 0x80
--	IFA_F_SECONDARY                      = 0x1
--	IFA_F_STABLE_PRIVACY                 = 0x800
--	IFA_F_TEMPORARY                      = 0x1
--	IFA_F_TENTATIVE                      = 0x40
--	IFA_MAX                              = 0x8
--	IFF_ALLMULTI                         = 0x200
--	IFF_ATTACH_QUEUE                     = 0x200
--	IFF_AUTOMEDIA                        = 0x4000
--	IFF_BROADCAST                        = 0x2
--	IFF_DEBUG                            = 0x4
--	IFF_DETACH_QUEUE                     = 0x400
--	IFF_DORMANT                          = 0x20000
--	IFF_DYNAMIC                          = 0x8000
--	IFF_ECHO                             = 0x40000
--	IFF_LOOPBACK                         = 0x8
--	IFF_LOWER_UP                         = 0x10000
--	IFF_MASTER                           = 0x400
--	IFF_MULTICAST                        = 0x1000
--	IFF_MULTI_QUEUE                      = 0x100
--	IFF_NOARP                            = 0x80
--	IFF_NOFILTER                         = 0x1000
--	IFF_NOTRAILERS                       = 0x20
--	IFF_NO_PI                            = 0x1000
--	IFF_ONE_QUEUE                        = 0x2000
--	IFF_PERSIST                          = 0x800
--	IFF_POINTOPOINT                      = 0x10
--	IFF_PORTSEL                          = 0x2000
--	IFF_PROMISC                          = 0x100
--	IFF_RUNNING                          = 0x40
--	IFF_SLAVE                            = 0x800
--	IFF_TAP                              = 0x2
--	IFF_TUN                              = 0x1
--	IFF_TUN_EXCL                         = 0x8000
--	IFF_UP                               = 0x1
--	IFF_VNET_HDR                         = 0x4000
--	IFF_VOLATILE                         = 0x70c5a
--	IFNAMSIZ                             = 0x10
--	IGNBRK                               = 0x1
--	IGNCR                                = 0x80
--	IGNPAR                               = 0x4
--	IMAXBEL                              = 0x2000
--	INLCR                                = 0x40
--	INPCK                                = 0x10
--	IN_ACCESS                            = 0x1
--	IN_ALL_EVENTS                        = 0xfff
--	IN_ATTRIB                            = 0x4
--	IN_CLASSA_HOST                       = 0xffffff
--	IN_CLASSA_MAX                        = 0x80
--	IN_CLASSA_NET                        = 0xff000000
--	IN_CLASSA_NSHIFT                     = 0x18
--	IN_CLASSB_HOST                       = 0xffff
--	IN_CLASSB_MAX                        = 0x10000
--	IN_CLASSB_NET                        = 0xffff0000
--	IN_CLASSB_NSHIFT                     = 0x10
--	IN_CLASSC_HOST                       = 0xff
--	IN_CLASSC_NET                        = 0xffffff00
--	IN_CLASSC_NSHIFT                     = 0x8
--	IN_CLOEXEC                           = 0x80000
--	IN_CLOSE                             = 0x18
--	IN_CLOSE_NOWRITE                     = 0x10
--	IN_CLOSE_WRITE                       = 0x8
--	IN_CREATE                            = 0x100
--	IN_DELETE                            = 0x200
--	IN_DELETE_SELF                       = 0x400
--	IN_DONT_FOLLOW                       = 0x2000000
--	IN_EXCL_UNLINK                       = 0x4000000
--	IN_IGNORED                           = 0x8000
--	IN_ISDIR                             = 0x40000000
--	IN_LOOPBACKNET                       = 0x7f
--	IN_MASK_ADD                          = 0x20000000
--	IN_MODIFY                            = 0x2
--	IN_MOVE                              = 0xc0
--	IN_MOVED_FROM                        = 0x40
--	IN_MOVED_TO                          = 0x80
--	IN_MOVE_SELF                         = 0x800
--	IN_NONBLOCK                          = 0x800
--	IN_ONESHOT                           = 0x80000000
--	IN_ONLYDIR                           = 0x1000000
--	IN_OPEN                              = 0x20
--	IN_Q_OVERFLOW                        = 0x4000
--	IN_UNMOUNT                           = 0x2000
--	IPPROTO_AH                           = 0x33
--	IPPROTO_BEETPH                       = 0x5e
--	IPPROTO_COMP                         = 0x6c
--	IPPROTO_DCCP                         = 0x21
--	IPPROTO_DSTOPTS                      = 0x3c
--	IPPROTO_EGP                          = 0x8
--	IPPROTO_ENCAP                        = 0x62
--	IPPROTO_ESP                          = 0x32
--	IPPROTO_FRAGMENT                     = 0x2c
--	IPPROTO_GRE                          = 0x2f
--	IPPROTO_HOPOPTS                      = 0x0
--	IPPROTO_ICMP                         = 0x1
--	IPPROTO_ICMPV6                       = 0x3a
--	IPPROTO_IDP                          = 0x16
--	IPPROTO_IGMP                         = 0x2
--	IPPROTO_IP                           = 0x0
--	IPPROTO_IPIP                         = 0x4
--	IPPROTO_IPV6                         = 0x29
--	IPPROTO_MH                           = 0x87
--	IPPROTO_MPLS                         = 0x89
--	IPPROTO_MTP                          = 0x5c
--	IPPROTO_NONE                         = 0x3b
--	IPPROTO_PIM                          = 0x67
--	IPPROTO_PUP                          = 0xc
--	IPPROTO_RAW                          = 0xff
--	IPPROTO_ROUTING                      = 0x2b
--	IPPROTO_RSVP                         = 0x2e
--	IPPROTO_SCTP                         = 0x84
--	IPPROTO_TCP                          = 0x6
--	IPPROTO_TP                           = 0x1d
--	IPPROTO_UDP                          = 0x11
--	IPPROTO_UDPLITE                      = 0x88
--	IPV6_2292DSTOPTS                     = 0x4
--	IPV6_2292HOPLIMIT                    = 0x8
--	IPV6_2292HOPOPTS                     = 0x3
--	IPV6_2292PKTINFO                     = 0x2
--	IPV6_2292PKTOPTIONS                  = 0x6
--	IPV6_2292RTHDR                       = 0x5
--	IPV6_ADDRFORM                        = 0x1
--	IPV6_ADD_MEMBERSHIP                  = 0x14
--	IPV6_AUTHHDR                         = 0xa
--	IPV6_CHECKSUM                        = 0x7
--	IPV6_DONTFRAG                        = 0x3e
--	IPV6_DROP_MEMBERSHIP                 = 0x15
--	IPV6_DSTOPTS                         = 0x3b
--	IPV6_HDRINCL                         = 0x24
--	IPV6_HOPLIMIT                        = 0x34
--	IPV6_HOPOPTS                         = 0x36
--	IPV6_IPSEC_POLICY                    = 0x22
--	IPV6_JOIN_ANYCAST                    = 0x1b
--	IPV6_JOIN_GROUP                      = 0x14
--	IPV6_LEAVE_ANYCAST                   = 0x1c
--	IPV6_LEAVE_GROUP                     = 0x15
--	IPV6_MTU                             = 0x18
--	IPV6_MTU_DISCOVER                    = 0x17
--	IPV6_MULTICAST_HOPS                  = 0x12
--	IPV6_MULTICAST_IF                    = 0x11
--	IPV6_MULTICAST_LOOP                  = 0x13
--	IPV6_NEXTHOP                         = 0x9
--	IPV6_PATHMTU                         = 0x3d
--	IPV6_PKTINFO                         = 0x32
--	IPV6_PMTUDISC_DO                     = 0x2
--	IPV6_PMTUDISC_DONT                   = 0x0
--	IPV6_PMTUDISC_INTERFACE              = 0x4
--	IPV6_PMTUDISC_OMIT                   = 0x5
--	IPV6_PMTUDISC_PROBE                  = 0x3
--	IPV6_PMTUDISC_WANT                   = 0x1
--	IPV6_RECVDSTOPTS                     = 0x3a
--	IPV6_RECVERR                         = 0x19
--	IPV6_RECVHOPLIMIT                    = 0x33
--	IPV6_RECVHOPOPTS                     = 0x35
--	IPV6_RECVPATHMTU                     = 0x3c
--	IPV6_RECVPKTINFO                     = 0x31
--	IPV6_RECVRTHDR                       = 0x38
--	IPV6_RECVTCLASS                      = 0x42
--	IPV6_ROUTER_ALERT                    = 0x16
--	IPV6_RTHDR                           = 0x39
--	IPV6_RTHDRDSTOPTS                    = 0x37
--	IPV6_RTHDR_LOOSE                     = 0x0
--	IPV6_RTHDR_STRICT                    = 0x1
--	IPV6_RTHDR_TYPE_0                    = 0x0
--	IPV6_RXDSTOPTS                       = 0x3b
--	IPV6_RXHOPOPTS                       = 0x36
--	IPV6_TCLASS                          = 0x43
--	IPV6_UNICAST_HOPS                    = 0x10
--	IPV6_V6ONLY                          = 0x1a
--	IPV6_XFRM_POLICY                     = 0x23
--	IP_ADD_MEMBERSHIP                    = 0x23
--	IP_ADD_SOURCE_MEMBERSHIP             = 0x27
--	IP_BIND_ADDRESS_NO_PORT              = 0x18
--	IP_BLOCK_SOURCE                      = 0x26
--	IP_CHECKSUM                          = 0x17
--	IP_DEFAULT_MULTICAST_LOOP            = 0x1
--	IP_DEFAULT_MULTICAST_TTL             = 0x1
--	IP_DF                                = 0x4000
--	IP_DROP_MEMBERSHIP                   = 0x24
--	IP_DROP_SOURCE_MEMBERSHIP            = 0x28
--	IP_FREEBIND                          = 0xf
--	IP_HDRINCL                           = 0x3
--	IP_IPSEC_POLICY                      = 0x10
--	IP_MAXPACKET                         = 0xffff
--	IP_MAX_MEMBERSHIPS                   = 0x14
--	IP_MF                                = 0x2000
--	IP_MINTTL                            = 0x15
--	IP_MSFILTER                          = 0x29
--	IP_MSS                               = 0x240
--	IP_MTU                               = 0xe
--	IP_MTU_DISCOVER                      = 0xa
--	IP_MULTICAST_ALL                     = 0x31
--	IP_MULTICAST_IF                      = 0x20
--	IP_MULTICAST_LOOP                    = 0x22
--	IP_MULTICAST_TTL                     = 0x21
--	IP_NODEFRAG                          = 0x16
--	IP_OFFMASK                           = 0x1fff
--	IP_OPTIONS                           = 0x4
--	IP_ORIGDSTADDR                       = 0x14
--	IP_PASSSEC                           = 0x12
--	IP_PKTINFO                           = 0x8
--	IP_PKTOPTIONS                        = 0x9
--	IP_PMTUDISC                          = 0xa
--	IP_PMTUDISC_DO                       = 0x2
--	IP_PMTUDISC_DONT                     = 0x0
--	IP_PMTUDISC_INTERFACE                = 0x4
--	IP_PMTUDISC_OMIT                     = 0x5
--	IP_PMTUDISC_PROBE                    = 0x3
--	IP_PMTUDISC_WANT                     = 0x1
--	IP_RECVERR                           = 0xb
--	IP_RECVOPTS                          = 0x6
--	IP_RECVORIGDSTADDR                   = 0x14
--	IP_RECVRETOPTS                       = 0x7
--	IP_RECVTOS                           = 0xd
--	IP_RECVTTL                           = 0xc
--	IP_RETOPTS                           = 0x7
--	IP_RF                                = 0x8000
--	IP_ROUTER_ALERT                      = 0x5
--	IP_TOS                               = 0x1
--	IP_TRANSPARENT                       = 0x13
--	IP_TTL                               = 0x2
--	IP_UNBLOCK_SOURCE                    = 0x25
--	IP_UNICAST_IF                        = 0x32
--	IP_XFRM_POLICY                       = 0x11
--	ISIG                                 = 0x1
--	ISTRIP                               = 0x20
--	IUCLC                                = 0x200
--	IUTF8                                = 0x4000
--	IXANY                                = 0x800
--	IXOFF                                = 0x1000
--	IXON                                 = 0x400
--	KEYCTL_ASSUME_AUTHORITY              = 0x10
--	KEYCTL_CHOWN                         = 0x4
--	KEYCTL_CLEAR                         = 0x7
--	KEYCTL_DESCRIBE                      = 0x6
--	KEYCTL_DH_COMPUTE                    = 0x17
--	KEYCTL_GET_KEYRING_ID                = 0x0
--	KEYCTL_GET_PERSISTENT                = 0x16
--	KEYCTL_GET_SECURITY                  = 0x11
--	KEYCTL_INSTANTIATE                   = 0xc
--	KEYCTL_INSTANTIATE_IOV               = 0x14
--	KEYCTL_INVALIDATE                    = 0x15
--	KEYCTL_JOIN_SESSION_KEYRING          = 0x1
--	KEYCTL_LINK                          = 0x8
--	KEYCTL_NEGATE                        = 0xd
--	KEYCTL_READ                          = 0xb
--	KEYCTL_REJECT                        = 0x13
--	KEYCTL_REVOKE                        = 0x3
--	KEYCTL_SEARCH                        = 0xa
--	KEYCTL_SESSION_TO_PARENT             = 0x12
--	KEYCTL_SETPERM                       = 0x5
--	KEYCTL_SET_REQKEY_KEYRING            = 0xe
--	KEYCTL_SET_TIMEOUT                   = 0xf
--	KEYCTL_UNLINK                        = 0x9
--	KEYCTL_UPDATE                        = 0x2
--	KEY_REQKEY_DEFL_DEFAULT              = 0x0
--	KEY_REQKEY_DEFL_GROUP_KEYRING        = 0x6
--	KEY_REQKEY_DEFL_NO_CHANGE            = -0x1
--	KEY_REQKEY_DEFL_PROCESS_KEYRING      = 0x2
--	KEY_REQKEY_DEFL_REQUESTOR_KEYRING    = 0x7
--	KEY_REQKEY_DEFL_SESSION_KEYRING      = 0x3
--	KEY_REQKEY_DEFL_THREAD_KEYRING       = 0x1
--	KEY_REQKEY_DEFL_USER_KEYRING         = 0x4
--	KEY_REQKEY_DEFL_USER_SESSION_KEYRING = 0x5
--	KEY_SPEC_GROUP_KEYRING               = -0x6
--	KEY_SPEC_PROCESS_KEYRING             = -0x2
--	KEY_SPEC_REQKEY_AUTH_KEY             = -0x7
--	KEY_SPEC_REQUESTOR_KEYRING           = -0x8
--	KEY_SPEC_SESSION_KEYRING             = -0x3
--	KEY_SPEC_THREAD_KEYRING              = -0x1
--	KEY_SPEC_USER_KEYRING                = -0x4
--	KEY_SPEC_USER_SESSION_KEYRING        = -0x5
--	LINUX_REBOOT_CMD_CAD_OFF             = 0x0
--	LINUX_REBOOT_CMD_CAD_ON              = 0x89abcdef
--	LINUX_REBOOT_CMD_HALT                = 0xcdef0123
--	LINUX_REBOOT_CMD_KEXEC               = 0x45584543
--	LINUX_REBOOT_CMD_POWER_OFF           = 0x4321fedc
--	LINUX_REBOOT_CMD_RESTART             = 0x1234567
--	LINUX_REBOOT_CMD_RESTART2            = 0xa1b2c3d4
--	LINUX_REBOOT_CMD_SW_SUSPEND          = 0xd000fce2
--	LINUX_REBOOT_MAGIC1                  = 0xfee1dead
--	LINUX_REBOOT_MAGIC2                  = 0x28121969
--	LOCK_EX                              = 0x2
--	LOCK_NB                              = 0x4
--	LOCK_SH                              = 0x1
--	LOCK_UN                              = 0x8
--	MADV_DODUMP                          = 0x11
--	MADV_DOFORK                          = 0xb
--	MADV_DONTDUMP                        = 0x10
--	MADV_DONTFORK                        = 0xa
--	MADV_DONTNEED                        = 0x4
--	MADV_FREE                            = 0x8
--	MADV_HUGEPAGE                        = 0xe
--	MADV_HWPOISON                        = 0x64
--	MADV_MERGEABLE                       = 0xc
--	MADV_NOHUGEPAGE                      = 0xf
--	MADV_NORMAL                          = 0x0
--	MADV_RANDOM                          = 0x1
--	MADV_REMOVE                          = 0x9
--	MADV_SEQUENTIAL                      = 0x2
--	MADV_UNMERGEABLE                     = 0xd
--	MADV_WILLNEED                        = 0x3
--	MAP_ANON                             = 0x20
--	MAP_ANONYMOUS                        = 0x20
--	MAP_DENYWRITE                        = 0x800
--	MAP_EXECUTABLE                       = 0x1000
--	MAP_FILE                             = 0x0
--	MAP_FIXED                            = 0x10
--	MAP_GROWSDOWN                        = 0x100
--	MAP_HUGETLB                          = 0x40000
--	MAP_HUGE_MASK                        = 0x3f
--	MAP_HUGE_SHIFT                       = 0x1a
--	MAP_LOCKED                           = 0x2000
--	MAP_NONBLOCK                         = 0x10000
--	MAP_NORESERVE                        = 0x4000
--	MAP_POPULATE                         = 0x8000
--	MAP_PRIVATE                          = 0x2
--	MAP_SHARED                           = 0x1
--	MAP_STACK                            = 0x20000
--	MAP_TYPE                             = 0xf
--	MCL_CURRENT                          = 0x1
--	MCL_FUTURE                           = 0x2
--	MCL_ONFAULT                          = 0x4
--	MNT_DETACH                           = 0x2
--	MNT_EXPIRE                           = 0x4
--	MNT_FORCE                            = 0x1
--	MSG_BATCH                            = 0x40000
--	MSG_CMSG_CLOEXEC                     = 0x40000000
--	MSG_CONFIRM                          = 0x800
--	MSG_CTRUNC                           = 0x8
--	MSG_DONTROUTE                        = 0x4
--	MSG_DONTWAIT                         = 0x40
--	MSG_EOR                              = 0x80
--	MSG_ERRQUEUE                         = 0x2000
--	MSG_FASTOPEN                         = 0x20000000
--	MSG_FIN                              = 0x200
--	MSG_MORE                             = 0x8000
--	MSG_NOSIGNAL                         = 0x4000
--	MSG_OOB                              = 0x1
--	MSG_PEEK                             = 0x2
--	MSG_PROXY                            = 0x10
--	MSG_RST                              = 0x1000
--	MSG_SYN                              = 0x400
--	MSG_TRUNC                            = 0x20
--	MSG_TRYHARD                          = 0x4
--	MSG_WAITALL                          = 0x100
--	MSG_WAITFORONE                       = 0x10000
--	MS_ACTIVE                            = 0x40000000
--	MS_ASYNC                             = 0x1
--	MS_BIND                              = 0x1000
--	MS_BORN                              = 0x20000000
--	MS_DIRSYNC                           = 0x80
--	MS_INVALIDATE                        = 0x2
--	MS_I_VERSION                         = 0x800000
--	MS_KERNMOUNT                         = 0x400000
--	MS_LAZYTIME                          = 0x2000000
--	MS_MANDLOCK                          = 0x40
--	MS_MGC_MSK                           = 0xffff0000
--	MS_MGC_VAL                           = 0xc0ed0000
--	MS_MOVE                              = 0x2000
--	MS_NOATIME                           = 0x400
--	MS_NODEV                             = 0x4
--	MS_NODIRATIME                        = 0x800
--	MS_NOEXEC                            = 0x8
--	MS_NOREMOTELOCK                      = 0x8000000
--	MS_NOSEC                             = 0x10000000
--	MS_NOSUID                            = 0x2
--	MS_NOUSER                            = -0x80000000
--	MS_POSIXACL                          = 0x10000
--	MS_PRIVATE                           = 0x40000
--	MS_RDONLY                            = 0x1
--	MS_REC                               = 0x4000
--	MS_RELATIME                          = 0x200000
--	MS_REMOUNT                           = 0x20
--	MS_RMT_MASK                          = 0x2800051
--	MS_SHARED                            = 0x100000
--	MS_SILENT                            = 0x8000
--	MS_SLAVE                             = 0x80000
--	MS_STRICTATIME                       = 0x1000000
--	MS_SYNC                              = 0x4
--	MS_SYNCHRONOUS                       = 0x10
--	MS_UNBINDABLE                        = 0x20000
--	MS_VERBOSE                           = 0x8000
--	NAME_MAX                             = 0xff
--	NETLINK_ADD_MEMBERSHIP               = 0x1
--	NETLINK_AUDIT                        = 0x9
--	NETLINK_BROADCAST_ERROR              = 0x4
--	NETLINK_CAP_ACK                      = 0xa
--	NETLINK_CONNECTOR                    = 0xb
--	NETLINK_CRYPTO                       = 0x15
--	NETLINK_DNRTMSG                      = 0xe
--	NETLINK_DROP_MEMBERSHIP              = 0x2
--	NETLINK_ECRYPTFS                     = 0x13
--	NETLINK_FIB_LOOKUP                   = 0xa
--	NETLINK_FIREWALL                     = 0x3
--	NETLINK_GENERIC                      = 0x10
--	NETLINK_INET_DIAG                    = 0x4
--	NETLINK_IP6_FW                       = 0xd
--	NETLINK_ISCSI                        = 0x8
--	NETLINK_KOBJECT_UEVENT               = 0xf
--	NETLINK_LISTEN_ALL_NSID              = 0x8
--	NETLINK_LIST_MEMBERSHIPS             = 0x9
--	NETLINK_NETFILTER                    = 0xc
--	NETLINK_NFLOG                        = 0x5
--	NETLINK_NO_ENOBUFS                   = 0x5
--	NETLINK_PKTINFO                      = 0x3
--	NETLINK_RDMA                         = 0x14
--	NETLINK_ROUTE                        = 0x0
--	NETLINK_RX_RING                      = 0x6
--	NETLINK_SCSITRANSPORT                = 0x12
--	NETLINK_SELINUX                      = 0x7
--	NETLINK_SOCK_DIAG                    = 0x4
--	NETLINK_TX_RING                      = 0x7
--	NETLINK_UNUSED                       = 0x1
--	NETLINK_USERSOCK                     = 0x2
--	NETLINK_XFRM                         = 0x6
--	NL0                                  = 0x0
--	NL1                                  = 0x100
--	NLA_ALIGNTO                          = 0x4
--	NLA_F_NESTED                         = 0x8000
--	NLA_F_NET_BYTEORDER                  = 0x4000
--	NLA_HDRLEN                           = 0x4
--	NLDLY                                = 0x100
--	NLMSG_ALIGNTO                        = 0x4
--	NLMSG_DONE                           = 0x3
--	NLMSG_ERROR                          = 0x2
--	NLMSG_HDRLEN                         = 0x10
--	NLMSG_MIN_TYPE                       = 0x10
--	NLMSG_NOOP                           = 0x1
--	NLMSG_OVERRUN                        = 0x4
--	NLM_F_ACK                            = 0x4
--	NLM_F_APPEND                         = 0x800
--	NLM_F_ATOMIC                         = 0x400
--	NLM_F_CREATE                         = 0x400
--	NLM_F_DUMP                           = 0x300
--	NLM_F_DUMP_FILTERED                  = 0x20
--	NLM_F_DUMP_INTR                      = 0x10
--	NLM_F_ECHO                           = 0x8
--	NLM_F_EXCL                           = 0x200
--	NLM_F_MATCH                          = 0x200
--	NLM_F_MULTI                          = 0x2
--	NLM_F_REPLACE                        = 0x100
--	NLM_F_REQUEST                        = 0x1
--	NLM_F_ROOT                           = 0x100
--	NOFLSH                               = 0x80
--	OCRNL                                = 0x8
--	OFDEL                                = 0x80
--	OFILL                                = 0x40
--	OLCUC                                = 0x2
--	ONLCR                                = 0x4
--	ONLRET                               = 0x20
--	ONOCR                                = 0x10
--	OPOST                                = 0x1
--	O_ACCMODE                            = 0x3
--	O_APPEND                             = 0x400
--	O_ASYNC                              = 0x2000
--	O_CLOEXEC                            = 0x80000
--	O_CREAT                              = 0x40
--	O_DIRECT                             = 0x4000
--	O_DIRECTORY                          = 0x10000
--	O_DSYNC                              = 0x1000
--	O_EXCL                               = 0x80
--	O_FSYNC                              = 0x101000
--	O_LARGEFILE                          = 0x0
--	O_NDELAY                             = 0x800
--	O_NOATIME                            = 0x40000
--	O_NOCTTY                             = 0x100
--	O_NOFOLLOW                           = 0x20000
--	O_NONBLOCK                           = 0x800
--	O_PATH                               = 0x200000
--	O_RDONLY                             = 0x0
--	O_RDWR                               = 0x2
--	O_RSYNC                              = 0x101000
--	O_SYNC                               = 0x101000
--	O_TMPFILE                            = 0x410000
--	O_TRUNC                              = 0x200
--	O_WRONLY                             = 0x1
--	PACKET_ADD_MEMBERSHIP                = 0x1
--	PACKET_AUXDATA                       = 0x8
--	PACKET_BROADCAST                     = 0x1
--	PACKET_COPY_THRESH                   = 0x7
--	PACKET_DROP_MEMBERSHIP               = 0x2
--	PACKET_FANOUT                        = 0x12
--	PACKET_FANOUT_CBPF                   = 0x6
--	PACKET_FANOUT_CPU                    = 0x2
--	PACKET_FANOUT_DATA                   = 0x16
--	PACKET_FANOUT_EBPF                   = 0x7
--	PACKET_FANOUT_FLAG_DEFRAG            = 0x8000
--	PACKET_FANOUT_FLAG_ROLLOVER          = 0x1000
--	PACKET_FANOUT_HASH                   = 0x0
--	PACKET_FANOUT_LB                     = 0x1
--	PACKET_FANOUT_QM                     = 0x5
--	PACKET_FANOUT_RND                    = 0x4
--	PACKET_FANOUT_ROLLOVER               = 0x3
--	PACKET_FASTROUTE                     = 0x6
--	PACKET_HDRLEN                        = 0xb
--	PACKET_HOST                          = 0x0
--	PACKET_KERNEL                        = 0x7
--	PACKET_LOOPBACK                      = 0x5
--	PACKET_LOSS                          = 0xe
--	PACKET_MR_ALLMULTI                   = 0x2
--	PACKET_MR_MULTICAST                  = 0x0
--	PACKET_MR_PROMISC                    = 0x1
--	PACKET_MR_UNICAST                    = 0x3
--	PACKET_MULTICAST                     = 0x2
--	PACKET_ORIGDEV                       = 0x9
--	PACKET_OTHERHOST                     = 0x3
--	PACKET_OUTGOING                      = 0x4
--	PACKET_QDISC_BYPASS                  = 0x14
--	PACKET_RECV_OUTPUT                   = 0x3
--	PACKET_RESERVE                       = 0xc
--	PACKET_ROLLOVER_STATS                = 0x15
--	PACKET_RX_RING                       = 0x5
--	PACKET_STATISTICS                    = 0x6
--	PACKET_TIMESTAMP                     = 0x11
--	PACKET_TX_HAS_OFF                    = 0x13
--	PACKET_TX_RING                       = 0xd
--	PACKET_TX_TIMESTAMP                  = 0x10
--	PACKET_USER                          = 0x6
--	PACKET_VERSION                       = 0xa
--	PACKET_VNET_HDR                      = 0xf
--	PARENB                               = 0x100
--	PARITY_CRC16_PR0                     = 0x2
--	PARITY_CRC16_PR0_CCITT               = 0x4
--	PARITY_CRC16_PR1                     = 0x3
--	PARITY_CRC16_PR1_CCITT               = 0x5
--	PARITY_CRC32_PR0_CCITT               = 0x6
--	PARITY_CRC32_PR1_CCITT               = 0x7
--	PARITY_DEFAULT                       = 0x0
--	PARITY_NONE                          = 0x1
--	PARMRK                               = 0x8
--	PARODD                               = 0x200
--	PENDIN                               = 0x4000
--	PERF_EVENT_IOC_DISABLE               = 0x2401
--	PERF_EVENT_IOC_ENABLE                = 0x2400
--	PERF_EVENT_IOC_ID                    = 0x80082407
--	PERF_EVENT_IOC_PAUSE_OUTPUT          = 0x40042409
--	PERF_EVENT_IOC_PERIOD                = 0x40082404
--	PERF_EVENT_IOC_REFRESH               = 0x2402
--	PERF_EVENT_IOC_RESET                 = 0x2403
--	PERF_EVENT_IOC_SET_BPF               = 0x40042408
--	PERF_EVENT_IOC_SET_FILTER            = 0x40082406
--	PERF_EVENT_IOC_SET_OUTPUT            = 0x2405
--	PRIO_PGRP                            = 0x1
--	PRIO_PROCESS                         = 0x0
--	PRIO_USER                            = 0x2
--	PROT_EXEC                            = 0x4
--	PROT_GROWSDOWN                       = 0x1000000
--	PROT_GROWSUP                         = 0x2000000
--	PROT_NONE                            = 0x0
--	PROT_READ                            = 0x1
--	PROT_WRITE                           = 0x2
--	PR_CAPBSET_DROP                      = 0x18
--	PR_CAPBSET_READ                      = 0x17
--	PR_CAP_AMBIENT                       = 0x2f
--	PR_CAP_AMBIENT_CLEAR_ALL             = 0x4
--	PR_CAP_AMBIENT_IS_SET                = 0x1
--	PR_CAP_AMBIENT_LOWER                 = 0x3
--	PR_CAP_AMBIENT_RAISE                 = 0x2
--	PR_ENDIAN_BIG                        = 0x0
--	PR_ENDIAN_LITTLE                     = 0x1
--	PR_ENDIAN_PPC_LITTLE                 = 0x2
--	PR_FPEMU_NOPRINT                     = 0x1
--	PR_FPEMU_SIGFPE                      = 0x2
--	PR_FP_EXC_ASYNC                      = 0x2
--	PR_FP_EXC_DISABLED                   = 0x0
--	PR_FP_EXC_DIV                        = 0x10000
--	PR_FP_EXC_INV                        = 0x100000
--	PR_FP_EXC_NONRECOV                   = 0x1
--	PR_FP_EXC_OVF                        = 0x20000
--	PR_FP_EXC_PRECISE                    = 0x3
--	PR_FP_EXC_RES                        = 0x80000
--	PR_FP_EXC_SW_ENABLE                  = 0x80
--	PR_FP_EXC_UND                        = 0x40000
--	PR_FP_MODE_FR                        = 0x1
--	PR_FP_MODE_FRE                       = 0x2
--	PR_GET_CHILD_SUBREAPER               = 0x25
--	PR_GET_DUMPABLE                      = 0x3
--	PR_GET_ENDIAN                        = 0x13
--	PR_GET_FPEMU                         = 0x9
--	PR_GET_FPEXC                         = 0xb
--	PR_GET_FP_MODE                       = 0x2e
--	PR_GET_KEEPCAPS                      = 0x7
--	PR_GET_NAME                          = 0x10
--	PR_GET_NO_NEW_PRIVS                  = 0x27
--	PR_GET_PDEATHSIG                     = 0x2
--	PR_GET_SECCOMP                       = 0x15
--	PR_GET_SECUREBITS                    = 0x1b
--	PR_GET_THP_DISABLE                   = 0x2a
--	PR_GET_TID_ADDRESS                   = 0x28
--	PR_GET_TIMERSLACK                    = 0x1e
--	PR_GET_TIMING                        = 0xd
--	PR_GET_TSC                           = 0x19
--	PR_GET_UNALIGN                       = 0x5
--	PR_MCE_KILL                          = 0x21
--	PR_MCE_KILL_CLEAR                    = 0x0
--	PR_MCE_KILL_DEFAULT                  = 0x2
--	PR_MCE_KILL_EARLY                    = 0x1
--	PR_MCE_KILL_GET                      = 0x22
--	PR_MCE_KILL_LATE                     = 0x0
--	PR_MCE_KILL_SET                      = 0x1
--	PR_MPX_DISABLE_MANAGEMENT            = 0x2c
--	PR_MPX_ENABLE_MANAGEMENT             = 0x2b
--	PR_SET_CHILD_SUBREAPER               = 0x24
--	PR_SET_DUMPABLE                      = 0x4
--	PR_SET_ENDIAN                        = 0x14
--	PR_SET_FPEMU                         = 0xa
--	PR_SET_FPEXC                         = 0xc
--	PR_SET_FP_MODE                       = 0x2d
--	PR_SET_KEEPCAPS                      = 0x8
--	PR_SET_MM                            = 0x23
--	PR_SET_MM_ARG_END                    = 0x9
--	PR_SET_MM_ARG_START                  = 0x8
--	PR_SET_MM_AUXV                       = 0xc
--	PR_SET_MM_BRK                        = 0x7
--	PR_SET_MM_END_CODE                   = 0x2
--	PR_SET_MM_END_DATA                   = 0x4
--	PR_SET_MM_ENV_END                    = 0xb
--	PR_SET_MM_ENV_START                  = 0xa
--	PR_SET_MM_EXE_FILE                   = 0xd
--	PR_SET_MM_MAP                        = 0xe
--	PR_SET_MM_MAP_SIZE                   = 0xf
--	PR_SET_MM_START_BRK                  = 0x6
--	PR_SET_MM_START_CODE                 = 0x1
--	PR_SET_MM_START_DATA                 = 0x3
--	PR_SET_MM_START_STACK                = 0x5
--	PR_SET_NAME                          = 0xf
--	PR_SET_NO_NEW_PRIVS                  = 0x26
--	PR_SET_PDEATHSIG                     = 0x1
--	PR_SET_PTRACER                       = 0x59616d61
--	PR_SET_PTRACER_ANY                   = -0x1
--	PR_SET_SECCOMP                       = 0x16
--	PR_SET_SECUREBITS                    = 0x1c
--	PR_SET_THP_DISABLE                   = 0x29
--	PR_SET_TIMERSLACK                    = 0x1d
--	PR_SET_TIMING                        = 0xe
--	PR_SET_TSC                           = 0x1a
--	PR_SET_UNALIGN                       = 0x6
--	PR_TASK_PERF_EVENTS_DISABLE          = 0x1f
--	PR_TASK_PERF_EVENTS_ENABLE           = 0x20
--	PR_TIMING_STATISTICAL                = 0x0
--	PR_TIMING_TIMESTAMP                  = 0x1
--	PR_TSC_ENABLE                        = 0x1
--	PR_TSC_SIGSEGV                       = 0x2
--	PR_UNALIGN_NOPRINT                   = 0x1
--	PR_UNALIGN_SIGBUS                    = 0x2
--	PTRACE_ATTACH                        = 0x10
--	PTRACE_CONT                          = 0x7
--	PTRACE_DETACH                        = 0x11
--	PTRACE_DISABLE_TE                    = 0x5010
--	PTRACE_ENABLE_TE                     = 0x5009
--	PTRACE_EVENT_CLONE                   = 0x3
--	PTRACE_EVENT_EXEC                    = 0x4
--	PTRACE_EVENT_EXIT                    = 0x6
--	PTRACE_EVENT_FORK                    = 0x1
--	PTRACE_EVENT_SECCOMP                 = 0x7
--	PTRACE_EVENT_STOP                    = 0x80
--	PTRACE_EVENT_VFORK                   = 0x2
--	PTRACE_EVENT_VFORK_DONE              = 0x5
--	PTRACE_GETEVENTMSG                   = 0x4201
--	PTRACE_GETREGS                       = 0xc
--	PTRACE_GETREGSET                     = 0x4204
--	PTRACE_GETSIGINFO                    = 0x4202
--	PTRACE_GETSIGMASK                    = 0x420a
--	PTRACE_GET_LAST_BREAK                = 0x5006
--	PTRACE_INTERRUPT                     = 0x4207
--	PTRACE_KILL                          = 0x8
--	PTRACE_LISTEN                        = 0x4208
--	PTRACE_OLDSETOPTIONS                 = 0x15
--	PTRACE_O_EXITKILL                    = 0x100000
--	PTRACE_O_MASK                        = 0x3000ff
--	PTRACE_O_SUSPEND_SECCOMP             = 0x200000
--	PTRACE_O_TRACECLONE                  = 0x8
--	PTRACE_O_TRACEEXEC                   = 0x10
--	PTRACE_O_TRACEEXIT                   = 0x40
--	PTRACE_O_TRACEFORK                   = 0x2
--	PTRACE_O_TRACESECCOMP                = 0x80
--	PTRACE_O_TRACESYSGOOD                = 0x1
--	PTRACE_O_TRACEVFORK                  = 0x4
--	PTRACE_O_TRACEVFORKDONE              = 0x20
--	PTRACE_PEEKDATA                      = 0x2
--	PTRACE_PEEKDATA_AREA                 = 0x5003
--	PTRACE_PEEKSIGINFO                   = 0x4209
--	PTRACE_PEEKSIGINFO_SHARED            = 0x1
--	PTRACE_PEEKTEXT                      = 0x1
--	PTRACE_PEEKTEXT_AREA                 = 0x5002
--	PTRACE_PEEKUSR                       = 0x3
--	PTRACE_PEEKUSR_AREA                  = 0x5000
--	PTRACE_PEEK_SYSTEM_CALL              = 0x5007
--	PTRACE_POKEDATA                      = 0x5
--	PTRACE_POKEDATA_AREA                 = 0x5005
--	PTRACE_POKETEXT                      = 0x4
--	PTRACE_POKETEXT_AREA                 = 0x5004
--	PTRACE_POKEUSR                       = 0x6
--	PTRACE_POKEUSR_AREA                  = 0x5001
--	PTRACE_POKE_SYSTEM_CALL              = 0x5008
--	PTRACE_PROT                          = 0x15
--	PTRACE_SECCOMP_GET_FILTER            = 0x420c
--	PTRACE_SEIZE                         = 0x4206
--	PTRACE_SETOPTIONS                    = 0x4200
--	PTRACE_SETREGS                       = 0xd
--	PTRACE_SETREGSET                     = 0x4205
--	PTRACE_SETSIGINFO                    = 0x4203
--	PTRACE_SETSIGMASK                    = 0x420b
--	PTRACE_SINGLEBLOCK                   = 0xc
--	PTRACE_SINGLESTEP                    = 0x9
--	PTRACE_SYSCALL                       = 0x18
--	PTRACE_TE_ABORT_RAND                 = 0x5011
--	PTRACE_TRACEME                       = 0x0
--	PT_ACR0                              = 0x90
--	PT_ACR1                              = 0x94
--	PT_ACR10                             = 0xb8
--	PT_ACR11                             = 0xbc
--	PT_ACR12                             = 0xc0
--	PT_ACR13                             = 0xc4
--	PT_ACR14                             = 0xc8
--	PT_ACR15                             = 0xcc
--	PT_ACR2                              = 0x98
--	PT_ACR3                              = 0x9c
--	PT_ACR4                              = 0xa0
--	PT_ACR5                              = 0xa4
--	PT_ACR6                              = 0xa8
--	PT_ACR7                              = 0xac
--	PT_ACR8                              = 0xb0
--	PT_ACR9                              = 0xb4
--	PT_CR_10                             = 0x168
--	PT_CR_11                             = 0x170
--	PT_CR_9                              = 0x160
--	PT_ENDREGS                           = 0x1af
--	PT_FPC                               = 0xd8
--	PT_FPR0                              = 0xe0
--	PT_FPR1                              = 0xe8
--	PT_FPR10                             = 0x130
--	PT_FPR11                             = 0x138
--	PT_FPR12                             = 0x140
--	PT_FPR13                             = 0x148
--	PT_FPR14                             = 0x150
--	PT_FPR15                             = 0x158
--	PT_FPR2                              = 0xf0
--	PT_FPR3                              = 0xf8
--	PT_FPR4                              = 0x100
--	PT_FPR5                              = 0x108
--	PT_FPR6                              = 0x110
--	PT_FPR7                              = 0x118
--	PT_FPR8                              = 0x120
--	PT_FPR9                              = 0x128
--	PT_GPR0                              = 0x10
--	PT_GPR1                              = 0x18
--	PT_GPR10                             = 0x60
--	PT_GPR11                             = 0x68
--	PT_GPR12                             = 0x70
--	PT_GPR13                             = 0x78
--	PT_GPR14                             = 0x80
--	PT_GPR15                             = 0x88
--	PT_GPR2                              = 0x20
--	PT_GPR3                              = 0x28
--	PT_GPR4                              = 0x30
--	PT_GPR5                              = 0x38
--	PT_GPR6                              = 0x40
--	PT_GPR7                              = 0x48
--	PT_GPR8                              = 0x50
--	PT_GPR9                              = 0x58
--	PT_IEEE_IP                           = 0x1a8
--	PT_LASTOFF                           = 0x1a8
--	PT_ORIGGPR2                          = 0xd0
--	PT_PSWADDR                           = 0x8
--	PT_PSWMASK                           = 0x0
--	RLIMIT_AS                            = 0x9
--	RLIMIT_CORE                          = 0x4
--	RLIMIT_CPU                           = 0x0
--	RLIMIT_DATA                          = 0x2
--	RLIMIT_FSIZE                         = 0x1
--	RLIMIT_LOCKS                         = 0xa
--	RLIMIT_MEMLOCK                       = 0x8
--	RLIMIT_MSGQUEUE                      = 0xc
--	RLIMIT_NICE                          = 0xd
--	RLIMIT_NOFILE                        = 0x7
--	RLIMIT_NPROC                         = 0x6
--	RLIMIT_RSS                           = 0x5
--	RLIMIT_RTPRIO                        = 0xe
--	RLIMIT_RTTIME                        = 0xf
--	RLIMIT_SIGPENDING                    = 0xb
--	RLIMIT_STACK                         = 0x3
--	RLIM_INFINITY                        = -0x1
--	RTAX_ADVMSS                          = 0x8
--	RTAX_CC_ALGO                         = 0x10
--	RTAX_CWND                            = 0x7
--	RTAX_FEATURES                        = 0xc
--	RTAX_FEATURE_ALLFRAG                 = 0x8
--	RTAX_FEATURE_ECN                     = 0x1
--	RTAX_FEATURE_MASK                    = 0xf
--	RTAX_FEATURE_SACK                    = 0x2
--	RTAX_FEATURE_TIMESTAMP               = 0x4
--	RTAX_HOPLIMIT                        = 0xa
--	RTAX_INITCWND                        = 0xb
--	RTAX_INITRWND                        = 0xe
--	RTAX_LOCK                            = 0x1
--	RTAX_MAX                             = 0x10
--	RTAX_MTU                             = 0x2
--	RTAX_QUICKACK                        = 0xf
--	RTAX_REORDERING                      = 0x9
--	RTAX_RTO_MIN                         = 0xd
--	RTAX_RTT                             = 0x4
--	RTAX_RTTVAR                          = 0x5
--	RTAX_SSTHRESH                        = 0x6
--	RTAX_UNSPEC                          = 0x0
--	RTAX_WINDOW                          = 0x3
--	RTA_ALIGNTO                          = 0x4
--	RTA_MAX                              = 0x19
--	RTCF_DIRECTSRC                       = 0x4000000
--	RTCF_DOREDIRECT                      = 0x1000000
--	RTCF_LOG                             = 0x2000000
--	RTCF_MASQ                            = 0x400000
--	RTCF_NAT                             = 0x800000
--	RTCF_VALVE                           = 0x200000
--	RTF_ADDRCLASSMASK                    = 0xf8000000
--	RTF_ADDRCONF                         = 0x40000
--	RTF_ALLONLINK                        = 0x20000
--	RTF_BROADCAST                        = 0x10000000
--	RTF_CACHE                            = 0x1000000
--	RTF_DEFAULT                          = 0x10000
--	RTF_DYNAMIC                          = 0x10
--	RTF_FLOW                             = 0x2000000
--	RTF_GATEWAY                          = 0x2
--	RTF_HOST                             = 0x4
--	RTF_INTERFACE                        = 0x40000000
--	RTF_IRTT                             = 0x100
--	RTF_LINKRT                           = 0x100000
--	RTF_LOCAL                            = 0x80000000
--	RTF_MODIFIED                         = 0x20
--	RTF_MSS                              = 0x40
--	RTF_MTU                              = 0x40
--	RTF_MULTICAST                        = 0x20000000
--	RTF_NAT                              = 0x8000000
--	RTF_NOFORWARD                        = 0x1000
--	RTF_NONEXTHOP                        = 0x200000
--	RTF_NOPMTUDISC                       = 0x4000
--	RTF_POLICY                           = 0x4000000
--	RTF_REINSTATE                        = 0x8
--	RTF_REJECT                           = 0x200
--	RTF_STATIC                           = 0x400
--	RTF_THROW                            = 0x2000
--	RTF_UP                               = 0x1
--	RTF_WINDOW                           = 0x80
--	RTF_XRESOLVE                         = 0x800
--	RTM_BASE                             = 0x10
--	RTM_DELACTION                        = 0x31
--	RTM_DELADDR                          = 0x15
--	RTM_DELADDRLABEL                     = 0x49
--	RTM_DELLINK                          = 0x11
--	RTM_DELMDB                           = 0x55
--	RTM_DELNEIGH                         = 0x1d
--	RTM_DELNSID                          = 0x59
--	RTM_DELQDISC                         = 0x25
--	RTM_DELROUTE                         = 0x19
--	RTM_DELRULE                          = 0x21
--	RTM_DELTCLASS                        = 0x29
--	RTM_DELTFILTER                       = 0x2d
--	RTM_F_CLONED                         = 0x200
--	RTM_F_EQUALIZE                       = 0x400
--	RTM_F_LOOKUP_TABLE                   = 0x1000
--	RTM_F_NOTIFY                         = 0x100
--	RTM_F_PREFIX                         = 0x800
--	RTM_GETACTION                        = 0x32
--	RTM_GETADDR                          = 0x16
--	RTM_GETADDRLABEL                     = 0x4a
--	RTM_GETANYCAST                       = 0x3e
--	RTM_GETDCB                           = 0x4e
--	RTM_GETLINK                          = 0x12
--	RTM_GETMDB                           = 0x56
--	RTM_GETMULTICAST                     = 0x3a
--	RTM_GETNEIGH                         = 0x1e
--	RTM_GETNEIGHTBL                      = 0x42
--	RTM_GETNETCONF                       = 0x52
--	RTM_GETNSID                          = 0x5a
--	RTM_GETQDISC                         = 0x26
--	RTM_GETROUTE                         = 0x1a
--	RTM_GETRULE                          = 0x22
--	RTM_GETSTATS                         = 0x5e
--	RTM_GETTCLASS                        = 0x2a
--	RTM_GETTFILTER                       = 0x2e
--	RTM_MAX                              = 0x5f
--	RTM_NEWACTION                        = 0x30
--	RTM_NEWADDR                          = 0x14
--	RTM_NEWADDRLABEL                     = 0x48
--	RTM_NEWLINK                          = 0x10
--	RTM_NEWMDB                           = 0x54
--	RTM_NEWNDUSEROPT                     = 0x44
--	RTM_NEWNEIGH                         = 0x1c
--	RTM_NEWNEIGHTBL                      = 0x40
--	RTM_NEWNETCONF                       = 0x50
--	RTM_NEWNSID                          = 0x58
--	RTM_NEWPREFIX                        = 0x34
--	RTM_NEWQDISC                         = 0x24
--	RTM_NEWROUTE                         = 0x18
--	RTM_NEWRULE                          = 0x20
--	RTM_NEWSTATS                         = 0x5c
--	RTM_NEWTCLASS                        = 0x28
--	RTM_NEWTFILTER                       = 0x2c
--	RTM_NR_FAMILIES                      = 0x14
--	RTM_NR_MSGTYPES                      = 0x50
--	RTM_SETDCB                           = 0x4f
--	RTM_SETLINK                          = 0x13
--	RTM_SETNEIGHTBL                      = 0x43
--	RTNH_ALIGNTO                         = 0x4
--	RTNH_COMPARE_MASK                    = 0x19
--	RTNH_F_DEAD                          = 0x1
--	RTNH_F_LINKDOWN                      = 0x10
--	RTNH_F_OFFLOAD                       = 0x8
--	RTNH_F_ONLINK                        = 0x4
--	RTNH_F_PERVASIVE                     = 0x2
--	RTN_MAX                              = 0xb
--	RTPROT_BABEL                         = 0x2a
--	RTPROT_BIRD                          = 0xc
--	RTPROT_BOOT                          = 0x3
--	RTPROT_DHCP                          = 0x10
--	RTPROT_DNROUTED                      = 0xd
--	RTPROT_GATED                         = 0x8
--	RTPROT_KERNEL                        = 0x2
--	RTPROT_MROUTED                       = 0x11
--	RTPROT_MRT                           = 0xa
--	RTPROT_NTK                           = 0xf
--	RTPROT_RA                            = 0x9
--	RTPROT_REDIRECT                      = 0x1
--	RTPROT_STATIC                        = 0x4
--	RTPROT_UNSPEC                        = 0x0
--	RTPROT_XORP                          = 0xe
--	RTPROT_ZEBRA                         = 0xb
--	RT_CLASS_DEFAULT                     = 0xfd
--	RT_CLASS_LOCAL                       = 0xff
--	RT_CLASS_MAIN                        = 0xfe
--	RT_CLASS_MAX                         = 0xff
--	RT_CLASS_UNSPEC                      = 0x0
--	RUSAGE_CHILDREN                      = -0x1
--	RUSAGE_SELF                          = 0x0
--	RUSAGE_THREAD                        = 0x1
--	SCM_CREDENTIALS                      = 0x2
--	SCM_RIGHTS                           = 0x1
--	SCM_TIMESTAMP                        = 0x1d
--	SCM_TIMESTAMPING                     = 0x25
--	SCM_TIMESTAMPING_OPT_STATS           = 0x36
--	SCM_TIMESTAMPNS                      = 0x23
--	SCM_WIFI_STATUS                      = 0x29
--	SECCOMP_MODE_DISABLED                = 0x0
--	SECCOMP_MODE_FILTER                  = 0x2
--	SECCOMP_MODE_STRICT                  = 0x1
--	SHUT_RD                              = 0x0
--	SHUT_RDWR                            = 0x2
--	SHUT_WR                              = 0x1
--	SIOCADDDLCI                          = 0x8980
--	SIOCADDMULTI                         = 0x8931
--	SIOCADDRT                            = 0x890b
--	SIOCATMARK                           = 0x8905
--	SIOCBONDCHANGEACTIVE                 = 0x8995
--	SIOCBONDENSLAVE                      = 0x8990
--	SIOCBONDINFOQUERY                    = 0x8994
--	SIOCBONDRELEASE                      = 0x8991
--	SIOCBONDSETHWADDR                    = 0x8992
--	SIOCBONDSLAVEINFOQUERY               = 0x8993
--	SIOCBRADDBR                          = 0x89a0
--	SIOCBRADDIF                          = 0x89a2
--	SIOCBRDELBR                          = 0x89a1
--	SIOCBRDELIF                          = 0x89a3
--	SIOCDARP                             = 0x8953
--	SIOCDELDLCI                          = 0x8981
--	SIOCDELMULTI                         = 0x8932
--	SIOCDELRT                            = 0x890c
--	SIOCDEVPRIVATE                       = 0x89f0
--	SIOCDIFADDR                          = 0x8936
--	SIOCDRARP                            = 0x8960
--	SIOCETHTOOL                          = 0x8946
--	SIOCGARP                             = 0x8954
--	SIOCGHWTSTAMP                        = 0x89b1
--	SIOCGIFADDR                          = 0x8915
--	SIOCGIFBR                            = 0x8940
--	SIOCGIFBRDADDR                       = 0x8919
--	SIOCGIFCONF                          = 0x8912
--	SIOCGIFCOUNT                         = 0x8938
--	SIOCGIFDSTADDR                       = 0x8917
--	SIOCGIFENCAP                         = 0x8925
--	SIOCGIFFLAGS                         = 0x8913
--	SIOCGIFHWADDR                        = 0x8927
--	SIOCGIFINDEX                         = 0x8933
--	SIOCGIFMAP                           = 0x8970
--	SIOCGIFMEM                           = 0x891f
--	SIOCGIFMETRIC                        = 0x891d
--	SIOCGIFMTU                           = 0x8921
--	SIOCGIFNAME                          = 0x8910
--	SIOCGIFNETMASK                       = 0x891b
--	SIOCGIFPFLAGS                        = 0x8935
--	SIOCGIFSLAVE                         = 0x8929
--	SIOCGIFTXQLEN                        = 0x8942
--	SIOCGIFVLAN                          = 0x8982
--	SIOCGMIIPHY                          = 0x8947
--	SIOCGMIIREG                          = 0x8948
--	SIOCGPGRP                            = 0x8904
--	SIOCGRARP                            = 0x8961
--	SIOCGSKNS                            = 0x894c
--	SIOCGSTAMP                           = 0x8906
--	SIOCGSTAMPNS                         = 0x8907
--	SIOCINQ                              = 0x541b
--	SIOCOUTQ                             = 0x5411
--	SIOCOUTQNSD                          = 0x894b
--	SIOCPROTOPRIVATE                     = 0x89e0
--	SIOCRTMSG                            = 0x890d
--	SIOCSARP                             = 0x8955
--	SIOCSHWTSTAMP                        = 0x89b0
--	SIOCSIFADDR                          = 0x8916
--	SIOCSIFBR                            = 0x8941
--	SIOCSIFBRDADDR                       = 0x891a
--	SIOCSIFDSTADDR                       = 0x8918
--	SIOCSIFENCAP                         = 0x8926
--	SIOCSIFFLAGS                         = 0x8914
--	SIOCSIFHWADDR                        = 0x8924
--	SIOCSIFHWBROADCAST                   = 0x8937
--	SIOCSIFLINK                          = 0x8911
--	SIOCSIFMAP                           = 0x8971
--	SIOCSIFMEM                           = 0x8920
--	SIOCSIFMETRIC                        = 0x891e
--	SIOCSIFMTU                           = 0x8922
--	SIOCSIFNAME                          = 0x8923
--	SIOCSIFNETMASK                       = 0x891c
--	SIOCSIFPFLAGS                        = 0x8934
--	SIOCSIFSLAVE                         = 0x8930
--	SIOCSIFTXQLEN                        = 0x8943
--	SIOCSIFVLAN                          = 0x8983
--	SIOCSMIIREG                          = 0x8949
--	SIOCSPGRP                            = 0x8902
--	SIOCSRARP                            = 0x8962
--	SIOCWANDEV                           = 0x894a
--	SOCK_CLOEXEC                         = 0x80000
--	SOCK_DCCP                            = 0x6
--	SOCK_DGRAM                           = 0x2
--	SOCK_IOC_TYPE                        = 0x89
--	SOCK_NONBLOCK                        = 0x800
--	SOCK_PACKET                          = 0xa
--	SOCK_RAW                             = 0x3
--	SOCK_RDM                             = 0x4
--	SOCK_SEQPACKET                       = 0x5
--	SOCK_STREAM                          = 0x1
--	SOL_AAL                              = 0x109
--	SOL_ALG                              = 0x117
--	SOL_ATM                              = 0x108
--	SOL_CAIF                             = 0x116
--	SOL_CAN_BASE                         = 0x64
--	SOL_DCCP                             = 0x10d
--	SOL_DECNET                           = 0x105
--	SOL_ICMPV6                           = 0x3a
--	SOL_IP                               = 0x0
--	SOL_IPV6                             = 0x29
--	SOL_IRDA                             = 0x10a
--	SOL_IUCV                             = 0x115
--	SOL_KCM                              = 0x119
--	SOL_LLC                              = 0x10c
--	SOL_NETBEUI                          = 0x10b
--	SOL_NETLINK                          = 0x10e
--	SOL_NFC                              = 0x118
--	SOL_PACKET                           = 0x107
--	SOL_PNPIPE                           = 0x113
--	SOL_PPPOL2TP                         = 0x111
--	SOL_RAW                              = 0xff
--	SOL_RDS                              = 0x114
--	SOL_RXRPC                            = 0x110
--	SOL_SOCKET                           = 0x1
--	SOL_TCP                              = 0x6
--	SOL_TIPC                             = 0x10f
--	SOL_X25                              = 0x106
--	SOMAXCONN                            = 0x80
--	SO_ACCEPTCONN                        = 0x1e
--	SO_ATTACH_BPF                        = 0x32
--	SO_ATTACH_FILTER                     = 0x1a
--	SO_ATTACH_REUSEPORT_CBPF             = 0x33
--	SO_ATTACH_REUSEPORT_EBPF             = 0x34
--	SO_BINDTODEVICE                      = 0x19
--	SO_BPF_EXTENSIONS                    = 0x30
--	SO_BROADCAST                         = 0x6
--	SO_BSDCOMPAT                         = 0xe
--	SO_BUSY_POLL                         = 0x2e
--	SO_CNX_ADVICE                        = 0x35
--	SO_DEBUG                             = 0x1
--	SO_DETACH_BPF                        = 0x1b
--	SO_DETACH_FILTER                     = 0x1b
--	SO_DOMAIN                            = 0x27
--	SO_DONTROUTE                         = 0x5
--	SO_ERROR                             = 0x4
--	SO_GET_FILTER                        = 0x1a
--	SO_INCOMING_CPU                      = 0x31
--	SO_KEEPALIVE                         = 0x9
--	SO_LINGER                            = 0xd
--	SO_LOCK_FILTER                       = 0x2c
--	SO_MARK                              = 0x24
--	SO_MAX_PACING_RATE                   = 0x2f
--	SO_NOFCS                             = 0x2b
--	SO_NO_CHECK                          = 0xb
--	SO_OOBINLINE                         = 0xa
--	SO_PASSCRED                          = 0x10
--	SO_PASSSEC                           = 0x22
--	SO_PEEK_OFF                          = 0x2a
--	SO_PEERCRED                          = 0x11
--	SO_PEERNAME                          = 0x1c
--	SO_PEERSEC                           = 0x1f
--	SO_PRIORITY                          = 0xc
--	SO_PROTOCOL                          = 0x26
--	SO_RCVBUF                            = 0x8
--	SO_RCVBUFFORCE                       = 0x21
--	SO_RCVLOWAT                          = 0x12
--	SO_RCVTIMEO                          = 0x14
--	SO_REUSEADDR                         = 0x2
--	SO_REUSEPORT                         = 0xf
--	SO_RXQ_OVFL                          = 0x28
--	SO_SECURITY_AUTHENTICATION           = 0x16
--	SO_SECURITY_ENCRYPTION_NETWORK       = 0x18
--	SO_SECURITY_ENCRYPTION_TRANSPORT     = 0x17
--	SO_SELECT_ERR_QUEUE                  = 0x2d
--	SO_SNDBUF                            = 0x7
--	SO_SNDBUFFORCE                       = 0x20
--	SO_SNDLOWAT                          = 0x13
--	SO_SNDTIMEO                          = 0x15
--	SO_TIMESTAMP                         = 0x1d
--	SO_TIMESTAMPING                      = 0x25
--	SO_TIMESTAMPNS                       = 0x23
--	SO_TYPE                              = 0x3
--	SO_VM_SOCKETS_BUFFER_MAX_SIZE        = 0x2
--	SO_VM_SOCKETS_BUFFER_MIN_SIZE        = 0x1
--	SO_VM_SOCKETS_BUFFER_SIZE            = 0x0
--	SO_VM_SOCKETS_CONNECT_TIMEOUT        = 0x6
--	SO_VM_SOCKETS_NONBLOCK_TXRX          = 0x7
--	SO_VM_SOCKETS_PEER_HOST_VM_ID        = 0x3
--	SO_VM_SOCKETS_TRUSTED                = 0x5
--	SO_WIFI_STATUS                       = 0x29
--	SPLICE_F_GIFT                        = 0x8
--	SPLICE_F_MORE                        = 0x4
--	SPLICE_F_MOVE                        = 0x1
--	SPLICE_F_NONBLOCK                    = 0x2
--	S_BLKSIZE                            = 0x200
--	S_IEXEC                              = 0x40
--	S_IFBLK                              = 0x6000
--	S_IFCHR                              = 0x2000
--	S_IFDIR                              = 0x4000
--	S_IFIFO                              = 0x1000
--	S_IFLNK                              = 0xa000
--	S_IFMT                               = 0xf000
--	S_IFREG                              = 0x8000
--	S_IFSOCK                             = 0xc000
--	S_IREAD                              = 0x100
--	S_IRGRP                              = 0x20
--	S_IROTH                              = 0x4
--	S_IRUSR                              = 0x100
--	S_IRWXG                              = 0x38
--	S_IRWXO                              = 0x7
--	S_IRWXU                              = 0x1c0
--	S_ISGID                              = 0x400
--	S_ISUID                              = 0x800
--	S_ISVTX                              = 0x200
--	S_IWGRP                              = 0x10
--	S_IWOTH                              = 0x2
--	S_IWRITE                             = 0x80
--	S_IWUSR                              = 0x80
--	S_IXGRP                              = 0x8
--	S_IXOTH                              = 0x1
--	S_IXUSR                              = 0x40
--	TAB0                                 = 0x0
--	TAB1                                 = 0x800
--	TAB2                                 = 0x1000
--	TAB3                                 = 0x1800
--	TABDLY                               = 0x1800
--	TASKSTATS_CMD_ATTR_MAX               = 0x4
--	TASKSTATS_CMD_MAX                    = 0x2
--	TASKSTATS_GENL_NAME                  = "TASKSTATS"
--	TASKSTATS_GENL_VERSION               = 0x1
--	TASKSTATS_TYPE_MAX                   = 0x6
--	TASKSTATS_VERSION                    = 0x8
--	TCFLSH                               = 0x540b
--	TCGETA                               = 0x5405
--	TCGETS                               = 0x5401
--	TCGETS2                              = 0x802c542a
--	TCGETX                               = 0x5432
--	TCIFLUSH                             = 0x0
--	TCIOFF                               = 0x2
--	TCIOFLUSH                            = 0x2
--	TCION                                = 0x3
--	TCOFLUSH                             = 0x1
--	TCOOFF                               = 0x0
--	TCOON                                = 0x1
--	TCP_CC_INFO                          = 0x1a
--	TCP_CONGESTION                       = 0xd
--	TCP_COOKIE_IN_ALWAYS                 = 0x1
--	TCP_COOKIE_MAX                       = 0x10
--	TCP_COOKIE_MIN                       = 0x8
--	TCP_COOKIE_OUT_NEVER                 = 0x2
--	TCP_COOKIE_PAIR_SIZE                 = 0x20
--	TCP_COOKIE_TRANSACTIONS              = 0xf
--	TCP_CORK                             = 0x3
--	TCP_DEFER_ACCEPT                     = 0x9
--	TCP_FASTOPEN                         = 0x17
--	TCP_INFO                             = 0xb
--	TCP_KEEPCNT                          = 0x6
--	TCP_KEEPIDLE                         = 0x4
--	TCP_KEEPINTVL                        = 0x5
--	TCP_LINGER2                          = 0x8
--	TCP_MAXSEG                           = 0x2
--	TCP_MAXWIN                           = 0xffff
--	TCP_MAX_WINSHIFT                     = 0xe
--	TCP_MD5SIG                           = 0xe
--	TCP_MD5SIG_MAXKEYLEN                 = 0x50
--	TCP_MSS                              = 0x200
--	TCP_MSS_DEFAULT                      = 0x218
--	TCP_MSS_DESIRED                      = 0x4c4
--	TCP_NODELAY                          = 0x1
--	TCP_NOTSENT_LOWAT                    = 0x19
--	TCP_QUEUE_SEQ                        = 0x15
--	TCP_QUICKACK                         = 0xc
--	TCP_REPAIR                           = 0x13
--	TCP_REPAIR_OPTIONS                   = 0x16
--	TCP_REPAIR_QUEUE                     = 0x14
--	TCP_REPAIR_WINDOW                    = 0x1d
--	TCP_SAVED_SYN                        = 0x1c
--	TCP_SAVE_SYN                         = 0x1b
--	TCP_SYNCNT                           = 0x7
--	TCP_S_DATA_IN                        = 0x4
--	TCP_S_DATA_OUT                       = 0x8
--	TCP_THIN_DUPACK                      = 0x11
--	TCP_THIN_LINEAR_TIMEOUTS             = 0x10
--	TCP_TIMESTAMP                        = 0x18
--	TCP_USER_TIMEOUT                     = 0x12
--	TCP_WINDOW_CLAMP                     = 0xa
--	TCSAFLUSH                            = 0x2
--	TCSBRK                               = 0x5409
--	TCSBRKP                              = 0x5425
--	TCSETA                               = 0x5406
--	TCSETAF                              = 0x5408
--	TCSETAW                              = 0x5407
--	TCSETS                               = 0x5402
--	TCSETS2                              = 0x402c542b
--	TCSETSF                              = 0x5404
--	TCSETSF2                             = 0x402c542d
--	TCSETSW                              = 0x5403
--	TCSETSW2                             = 0x402c542c
--	TCSETX                               = 0x5433
--	TCSETXF                              = 0x5434
--	TCSETXW                              = 0x5435
--	TCXONC                               = 0x540a
--	TIOCCBRK                             = 0x5428
--	TIOCCONS                             = 0x541d
--	TIOCEXCL                             = 0x540c
--	TIOCGDEV                             = 0x80045432
--	TIOCGETD                             = 0x5424
--	TIOCGEXCL                            = 0x80045440
--	TIOCGICOUNT                          = 0x545d
--	TIOCGLCKTRMIOS                       = 0x5456
--	TIOCGPGRP                            = 0x540f
--	TIOCGPKT                             = 0x80045438
--	TIOCGPTLCK                           = 0x80045439
--	TIOCGPTN                             = 0x80045430
--	TIOCGRS485                           = 0x542e
--	TIOCGSERIAL                          = 0x541e
--	TIOCGSID                             = 0x5429
--	TIOCGSOFTCAR                         = 0x5419
--	TIOCGWINSZ                           = 0x5413
--	TIOCINQ                              = 0x541b
--	TIOCLINUX                            = 0x541c
--	TIOCMBIC                             = 0x5417
--	TIOCMBIS                             = 0x5416
--	TIOCMGET                             = 0x5415
--	TIOCMIWAIT                           = 0x545c
--	TIOCMSET                             = 0x5418
--	TIOCM_CAR                            = 0x40
--	TIOCM_CD                             = 0x40
--	TIOCM_CTS                            = 0x20
--	TIOCM_DSR                            = 0x100
--	TIOCM_DTR                            = 0x2
--	TIOCM_LE                             = 0x1
--	TIOCM_RI                             = 0x80
--	TIOCM_RNG                            = 0x80
--	TIOCM_RTS                            = 0x4
--	TIOCM_SR                             = 0x10
--	TIOCM_ST                             = 0x8
--	TIOCNOTTY                            = 0x5422
--	TIOCNXCL                             = 0x540d
--	TIOCOUTQ                             = 0x5411
--	TIOCPKT                              = 0x5420
--	TIOCPKT_DATA                         = 0x0
--	TIOCPKT_DOSTOP                       = 0x20
--	TIOCPKT_FLUSHREAD                    = 0x1
--	TIOCPKT_FLUSHWRITE                   = 0x2
--	TIOCPKT_IOCTL                        = 0x40
--	TIOCPKT_NOSTOP                       = 0x10
--	TIOCPKT_START                        = 0x8
--	TIOCPKT_STOP                         = 0x4
--	TIOCSBRK                             = 0x5427
--	TIOCSCTTY                            = 0x540e
--	TIOCSERCONFIG                        = 0x5453
--	TIOCSERGETLSR                        = 0x5459
--	TIOCSERGETMULTI                      = 0x545a
--	TIOCSERGSTRUCT                       = 0x5458
--	TIOCSERGWILD                         = 0x5454
--	TIOCSERSETMULTI                      = 0x545b
--	TIOCSERSWILD                         = 0x5455
--	TIOCSER_TEMT                         = 0x1
--	TIOCSETD                             = 0x5423
--	TIOCSIG                              = 0x40045436
--	TIOCSLCKTRMIOS                       = 0x5457
--	TIOCSPGRP                            = 0x5410
--	TIOCSPTLCK                           = 0x40045431
--	TIOCSRS485                           = 0x542f
--	TIOCSSERIAL                          = 0x541f
--	TIOCSSOFTCAR                         = 0x541a
--	TIOCSTI                              = 0x5412
--	TIOCSWINSZ                           = 0x5414
--	TIOCVHANGUP                          = 0x5437
--	TOSTOP                               = 0x100
--	TS_COMM_LEN                          = 0x20
--	TUNATTACHFILTER                      = 0x401054d5
--	TUNDETACHFILTER                      = 0x401054d6
--	TUNGETFEATURES                       = 0x800454cf
--	TUNGETFILTER                         = 0x801054db
--	TUNGETIFF                            = 0x800454d2
--	TUNGETSNDBUF                         = 0x800454d3
--	TUNGETVNETBE                         = 0x800454df
--	TUNGETVNETHDRSZ                      = 0x800454d7
--	TUNGETVNETLE                         = 0x800454dd
--	TUNSETDEBUG                          = 0x400454c9
--	TUNSETGROUP                          = 0x400454ce
--	TUNSETIFF                            = 0x400454ca
--	TUNSETIFINDEX                        = 0x400454da
--	TUNSETLINK                           = 0x400454cd
--	TUNSETNOCSUM                         = 0x400454c8
--	TUNSETOFFLOAD                        = 0x400454d0
--	TUNSETOWNER                          = 0x400454cc
--	TUNSETPERSIST                        = 0x400454cb
--	TUNSETQUEUE                          = 0x400454d9
--	TUNSETSNDBUF                         = 0x400454d4
--	TUNSETTXFILTER                       = 0x400454d1
--	TUNSETVNETBE                         = 0x400454de
--	TUNSETVNETHDRSZ                      = 0x400454d8
--	TUNSETVNETLE                         = 0x400454dc
--	UMOUNT_NOFOLLOW                      = 0x8
--	VDISCARD                             = 0xd
--	VEOF                                 = 0x4
--	VEOL                                 = 0xb
--	VEOL2                                = 0x10
--	VERASE                               = 0x2
--	VINTR                                = 0x0
--	VKILL                                = 0x3
--	VLNEXT                               = 0xf
--	VMADDR_CID_ANY                       = 0xffffffff
--	VMADDR_CID_HOST                      = 0x2
--	VMADDR_CID_HYPERVISOR                = 0x0
--	VMADDR_CID_RESERVED                  = 0x1
--	VMADDR_PORT_ANY                      = 0xffffffff
--	VMIN                                 = 0x6
--	VM_SOCKETS_INVALID_VERSION           = 0xffffffff
--	VQUIT                                = 0x1
--	VREPRINT                             = 0xc
--	VSTART                               = 0x8
--	VSTOP                                = 0x9
--	VSUSP                                = 0xa
--	VSWTC                                = 0x7
--	VT0                                  = 0x0
--	VT1                                  = 0x4000
--	VTDLY                                = 0x4000
--	VTIME                                = 0x5
--	VWERASE                              = 0xe
--	WALL                                 = 0x40000000
--	WCLONE                               = 0x80000000
--	WCONTINUED                           = 0x8
--	WEXITED                              = 0x4
--	WNOHANG                              = 0x1
--	WNOTHREAD                            = 0x20000000
--	WNOWAIT                              = 0x1000000
--	WORDSIZE                             = 0x40
--	WSTOPPED                             = 0x2
--	WUNTRACED                            = 0x2
--	XATTR_CREATE                         = 0x1
--	XATTR_REPLACE                        = 0x2
--	XCASE                                = 0x4
--	XTABS                                = 0x1800
-+	B1000000                         = 0x1008
-+	B115200                          = 0x1002
-+	B1152000                         = 0x1009
-+	B1500000                         = 0x100a
-+	B2000000                         = 0x100b
-+	B230400                          = 0x1003
-+	B2500000                         = 0x100c
-+	B3000000                         = 0x100d
-+	B3500000                         = 0x100e
-+	B4000000                         = 0x100f
-+	B460800                          = 0x1004
-+	B500000                          = 0x1005
-+	B57600                           = 0x1001
-+	B576000                          = 0x1006
-+	B921600                          = 0x1007
-+	BLKBSZGET                        = 0x80081270
-+	BLKBSZSET                        = 0x40081271
-+	BLKFLSBUF                        = 0x1261
-+	BLKFRAGET                        = 0x1265
-+	BLKFRASET                        = 0x1264
-+	BLKGETSIZE                       = 0x1260
-+	BLKGETSIZE64                     = 0x80081272
-+	BLKPBSZGET                       = 0x127b
-+	BLKRAGET                         = 0x1263
-+	BLKRASET                         = 0x1262
-+	BLKROGET                         = 0x125e
-+	BLKROSET                         = 0x125d
-+	BLKRRPART                        = 0x125f
-+	BLKSECTGET                       = 0x1267
-+	BLKSECTSET                       = 0x1266
-+	BLKSSZGET                        = 0x1268
-+	BOTHER                           = 0x1000
-+	BS1                              = 0x2000
-+	BSDLY                            = 0x2000
-+	CBAUD                            = 0x100f
-+	CBAUDEX                          = 0x1000
-+	CIBAUD                           = 0x100f0000
-+	CLOCAL                           = 0x800
-+	CR1                              = 0x200
-+	CR2                              = 0x400
-+	CR3                              = 0x600
-+	CRDLY                            = 0x600
-+	CREAD                            = 0x80
-+	CS6                              = 0x10
-+	CS7                              = 0x20
-+	CS8                              = 0x30
-+	CSIZE                            = 0x30
-+	CSTOPB                           = 0x40
-+	ECHOCTL                          = 0x200
-+	ECHOE                            = 0x10
-+	ECHOK                            = 0x20
-+	ECHOKE                           = 0x800
-+	ECHONL                           = 0x40
-+	ECHOPRT                          = 0x400
-+	EFD_CLOEXEC                      = 0x80000
-+	EFD_NONBLOCK                     = 0x800
-+	EPOLL_CLOEXEC                    = 0x80000
-+	EXTPROC                          = 0x10000
-+	FF1                              = 0x8000
-+	FFDLY                            = 0x8000
-+	FLUSHO                           = 0x1000
-+	FS_IOC_ENABLE_VERITY             = 0x40806685
-+	FS_IOC_GETFLAGS                  = 0x80086601
-+	FS_IOC_GET_ENCRYPTION_POLICY     = 0x400c6615
-+	FS_IOC_GET_ENCRYPTION_PWSALT     = 0x40106614
-+	FS_IOC_SET_ENCRYPTION_POLICY     = 0x800c6613
-+	F_GETLK                          = 0x5
-+	F_GETLK64                        = 0x5
-+	F_GETOWN                         = 0x9
-+	F_RDLCK                          = 0x0
-+	F_SETLK                          = 0x6
-+	F_SETLK64                        = 0x6
-+	F_SETLKW                         = 0x7
-+	F_SETLKW64                       = 0x7
-+	F_SETOWN                         = 0x8
-+	F_UNLCK                          = 0x2
-+	F_WRLCK                          = 0x1
-+	HUPCL                            = 0x400
-+	ICANON                           = 0x2
-+	IEXTEN                           = 0x8000
-+	IN_CLOEXEC                       = 0x80000
-+	IN_NONBLOCK                      = 0x800
-+	IOCTL_VM_SOCKETS_GET_LOCAL_CID   = 0x7b9
-+	ISIG                             = 0x1
-+	IUCLC                            = 0x200
-+	IXOFF                            = 0x1000
-+	IXON                             = 0x400
-+	MAP_ANON                         = 0x20
-+	MAP_ANONYMOUS                    = 0x20
-+	MAP_DENYWRITE                    = 0x800
-+	MAP_EXECUTABLE                   = 0x1000
-+	MAP_GROWSDOWN                    = 0x100
-+	MAP_HUGETLB                      = 0x40000
-+	MAP_LOCKED                       = 0x2000
-+	MAP_NONBLOCK                     = 0x10000
-+	MAP_NORESERVE                    = 0x4000
-+	MAP_POPULATE                     = 0x8000
-+	MAP_STACK                        = 0x20000
-+	MAP_SYNC                         = 0x80000
-+	MCL_CURRENT                      = 0x1
-+	MCL_FUTURE                       = 0x2
-+	MCL_ONFAULT                      = 0x4
-+	NFDBITS                          = 0x40
-+	NLDLY                            = 0x100
-+	NOFLSH                           = 0x80
-+	NS_GET_NSTYPE                    = 0xb703
-+	NS_GET_OWNER_UID                 = 0xb704
-+	NS_GET_PARENT                    = 0xb702
-+	NS_GET_USERNS                    = 0xb701
-+	OLCUC                            = 0x2
-+	ONLCR                            = 0x4
-+	O_APPEND                         = 0x400
-+	O_ASYNC                          = 0x2000
-+	O_CLOEXEC                        = 0x80000
-+	O_CREAT                          = 0x40
-+	O_DIRECT                         = 0x4000
-+	O_DIRECTORY                      = 0x10000
-+	O_DSYNC                          = 0x1000
-+	O_EXCL                           = 0x80
-+	O_FSYNC                          = 0x101000
-+	O_LARGEFILE                      = 0x0
-+	O_NDELAY                         = 0x800
-+	O_NOATIME                        = 0x40000
-+	O_NOCTTY                         = 0x100
-+	O_NOFOLLOW                       = 0x20000
-+	O_NONBLOCK                       = 0x800
-+	O_PATH                           = 0x200000
-+	O_RSYNC                          = 0x101000
-+	O_SYNC                           = 0x101000
-+	O_TMPFILE                        = 0x410000
-+	O_TRUNC                          = 0x200
-+	PARENB                           = 0x100
-+	PARODD                           = 0x200
-+	PENDIN                           = 0x4000
-+	PERF_EVENT_IOC_DISABLE           = 0x2401
-+	PERF_EVENT_IOC_ENABLE            = 0x2400
-+	PERF_EVENT_IOC_ID                = 0x80082407
-+	PERF_EVENT_IOC_MODIFY_ATTRIBUTES = 0x4008240b
-+	PERF_EVENT_IOC_PAUSE_OUTPUT      = 0x40042409
-+	PERF_EVENT_IOC_PERIOD            = 0x40082404
-+	PERF_EVENT_IOC_QUERY_BPF         = 0xc008240a
-+	PERF_EVENT_IOC_REFRESH           = 0x2402
-+	PERF_EVENT_IOC_RESET             = 0x2403
-+	PERF_EVENT_IOC_SET_BPF           = 0x40042408
-+	PERF_EVENT_IOC_SET_FILTER        = 0x40082406
-+	PERF_EVENT_IOC_SET_OUTPUT        = 0x2405
-+	PPPIOCATTACH                     = 0x4004743d
-+	PPPIOCATTCHAN                    = 0x40047438
-+	PPPIOCCONNECT                    = 0x4004743a
-+	PPPIOCDETACH                     = 0x4004743c
-+	PPPIOCDISCONN                    = 0x7439
-+	PPPIOCGASYNCMAP                  = 0x80047458
-+	PPPIOCGCHAN                      = 0x80047437
-+	PPPIOCGDEBUG                     = 0x80047441
-+	PPPIOCGFLAGS                     = 0x8004745a
-+	PPPIOCGIDLE                      = 0x8010743f
-+	PPPIOCGIDLE32                    = 0x8008743f
-+	PPPIOCGIDLE64                    = 0x8010743f
-+	PPPIOCGL2TPSTATS                 = 0x80487436
-+	PPPIOCGMRU                       = 0x80047453
-+	PPPIOCGRASYNCMAP                 = 0x80047455
-+	PPPIOCGUNIT                      = 0x80047456
-+	PPPIOCGXASYNCMAP                 = 0x80207450
-+	PPPIOCSACTIVE                    = 0x40107446
-+	PPPIOCSASYNCMAP                  = 0x40047457
-+	PPPIOCSCOMPRESS                  = 0x4010744d
-+	PPPIOCSDEBUG                     = 0x40047440
-+	PPPIOCSFLAGS                     = 0x40047459
-+	PPPIOCSMAXCID                    = 0x40047451
-+	PPPIOCSMRRU                      = 0x4004743b
-+	PPPIOCSMRU                       = 0x40047452
-+	PPPIOCSNPMODE                    = 0x4008744b
-+	PPPIOCSPASS                      = 0x40107447
-+	PPPIOCSRASYNCMAP                 = 0x40047454
-+	PPPIOCSXASYNCMAP                 = 0x4020744f
-+	PPPIOCXFERUNIT                   = 0x744e
-+	PR_SET_PTRACER_ANY               = 0xffffffffffffffff
-+	PTRACE_DISABLE_TE                = 0x5010
-+	PTRACE_ENABLE_TE                 = 0x5009
-+	PTRACE_GET_LAST_BREAK            = 0x5006
-+	PTRACE_OLDSETOPTIONS             = 0x15
-+	PTRACE_PEEKDATA_AREA             = 0x5003
-+	PTRACE_PEEKTEXT_AREA             = 0x5002
-+	PTRACE_PEEKUSR_AREA              = 0x5000
-+	PTRACE_PEEK_SYSTEM_CALL          = 0x5007
-+	PTRACE_POKEDATA_AREA             = 0x5005
-+	PTRACE_POKETEXT_AREA             = 0x5004
-+	PTRACE_POKEUSR_AREA              = 0x5001
-+	PTRACE_POKE_SYSTEM_CALL          = 0x5008
-+	PTRACE_PROT                      = 0x15
-+	PTRACE_SINGLEBLOCK               = 0xc
-+	PTRACE_TE_ABORT_RAND             = 0x5011
-+	PT_ACR0                          = 0x90
-+	PT_ACR1                          = 0x94
-+	PT_ACR10                         = 0xb8
-+	PT_ACR11                         = 0xbc
-+	PT_ACR12                         = 0xc0
-+	PT_ACR13                         = 0xc4
-+	PT_ACR14                         = 0xc8
-+	PT_ACR15                         = 0xcc
-+	PT_ACR2                          = 0x98
-+	PT_ACR3                          = 0x9c
-+	PT_ACR4                          = 0xa0
-+	PT_ACR5                          = 0xa4
-+	PT_ACR6                          = 0xa8
-+	PT_ACR7                          = 0xac
-+	PT_ACR8                          = 0xb0
-+	PT_ACR9                          = 0xb4
-+	PT_CR_10                         = 0x168
-+	PT_CR_11                         = 0x170
-+	PT_CR_9                          = 0x160
-+	PT_ENDREGS                       = 0x1af
-+	PT_FPC                           = 0xd8
-+	PT_FPR0                          = 0xe0
-+	PT_FPR1                          = 0xe8
-+	PT_FPR10                         = 0x130
-+	PT_FPR11                         = 0x138
-+	PT_FPR12                         = 0x140
-+	PT_FPR13                         = 0x148
-+	PT_FPR14                         = 0x150
-+	PT_FPR15                         = 0x158
-+	PT_FPR2                          = 0xf0
-+	PT_FPR3                          = 0xf8
-+	PT_FPR4                          = 0x100
-+	PT_FPR5                          = 0x108
-+	PT_FPR6                          = 0x110
-+	PT_FPR7                          = 0x118
-+	PT_FPR8                          = 0x120
-+	PT_FPR9                          = 0x128
-+	PT_GPR0                          = 0x10
-+	PT_GPR1                          = 0x18
-+	PT_GPR10                         = 0x60
-+	PT_GPR11                         = 0x68
-+	PT_GPR12                         = 0x70
-+	PT_GPR13                         = 0x78
-+	PT_GPR14                         = 0x80
-+	PT_GPR15                         = 0x88
-+	PT_GPR2                          = 0x20
-+	PT_GPR3                          = 0x28
-+	PT_GPR4                          = 0x30
-+	PT_GPR5                          = 0x38
-+	PT_GPR6                          = 0x40
-+	PT_GPR7                          = 0x48
-+	PT_GPR8                          = 0x50
-+	PT_GPR9                          = 0x58
-+	PT_IEEE_IP                       = 0x1a8
-+	PT_LASTOFF                       = 0x1a8
-+	PT_ORIGGPR2                      = 0xd0
-+	PT_PSWADDR                       = 0x8
-+	PT_PSWMASK                       = 0x0
-+	RLIMIT_AS                        = 0x9
-+	RLIMIT_MEMLOCK                   = 0x8
-+	RLIMIT_NOFILE                    = 0x7
-+	RLIMIT_NPROC                     = 0x6
-+	RLIMIT_RSS                       = 0x5
-+	RNDADDENTROPY                    = 0x40085203
-+	RNDADDTOENTCNT                   = 0x40045201
-+	RNDCLEARPOOL                     = 0x5206
-+	RNDGETENTCNT                     = 0x80045200
-+	RNDGETPOOL                       = 0x80085202
-+	RNDRESEEDCRNG                    = 0x5207
-+	RNDZAPENTCNT                     = 0x5204
-+	RTC_AIE_OFF                      = 0x7002
-+	RTC_AIE_ON                       = 0x7001
-+	RTC_ALM_READ                     = 0x80247008
-+	RTC_ALM_SET                      = 0x40247007
-+	RTC_EPOCH_READ                   = 0x8008700d
-+	RTC_EPOCH_SET                    = 0x4008700e
-+	RTC_IRQP_READ                    = 0x8008700b
-+	RTC_IRQP_SET                     = 0x4008700c
-+	RTC_PIE_OFF                      = 0x7006
-+	RTC_PIE_ON                       = 0x7005
-+	RTC_PLL_GET                      = 0x80207011
-+	RTC_PLL_SET                      = 0x40207012
-+	RTC_RD_TIME                      = 0x80247009
-+	RTC_SET_TIME                     = 0x4024700a
-+	RTC_UIE_OFF                      = 0x7004
-+	RTC_UIE_ON                       = 0x7003
-+	RTC_VL_CLR                       = 0x7014
-+	RTC_VL_READ                      = 0x80047013
-+	RTC_WIE_OFF                      = 0x7010
-+	RTC_WIE_ON                       = 0x700f
-+	RTC_WKALM_RD                     = 0x80287010
-+	RTC_WKALM_SET                    = 0x4028700f
-+	SCM_TIMESTAMPING                 = 0x25
-+	SCM_TIMESTAMPING_OPT_STATS       = 0x36
-+	SCM_TIMESTAMPING_PKTINFO         = 0x3a
-+	SCM_TIMESTAMPNS                  = 0x23
-+	SCM_TXTIME                       = 0x3d
-+	SCM_WIFI_STATUS                  = 0x29
-+	SFD_CLOEXEC                      = 0x80000
-+	SFD_NONBLOCK                     = 0x800
-+	SIOCATMARK                       = 0x8905
-+	SIOCGPGRP                        = 0x8904
-+	SIOCGSTAMPNS_NEW                 = 0x80108907
-+	SIOCGSTAMP_NEW                   = 0x80108906
-+	SIOCINQ                          = 0x541b
-+	SIOCOUTQ                         = 0x5411
-+	SIOCSPGRP                        = 0x8902
-+	SOCK_CLOEXEC                     = 0x80000
-+	SOCK_DGRAM                       = 0x2
-+	SOCK_NONBLOCK                    = 0x800
-+	SOCK_STREAM                      = 0x1
-+	SOL_SOCKET                       = 0x1
-+	SO_ACCEPTCONN                    = 0x1e
-+	SO_ATTACH_BPF                    = 0x32
-+	SO_ATTACH_REUSEPORT_CBPF         = 0x33
-+	SO_ATTACH_REUSEPORT_EBPF         = 0x34
-+	SO_BINDTODEVICE                  = 0x19
-+	SO_BINDTOIFINDEX                 = 0x3e
-+	SO_BPF_EXTENSIONS                = 0x30
-+	SO_BROADCAST                     = 0x6
-+	SO_BSDCOMPAT                     = 0xe
-+	SO_BUSY_POLL                     = 0x2e
-+	SO_CNX_ADVICE                    = 0x35
-+	SO_COOKIE                        = 0x39
-+	SO_DETACH_REUSEPORT_BPF          = 0x44
-+	SO_DOMAIN                        = 0x27
-+	SO_DONTROUTE                     = 0x5
-+	SO_ERROR                         = 0x4
-+	SO_INCOMING_CPU                  = 0x31
-+	SO_INCOMING_NAPI_ID              = 0x38
-+	SO_KEEPALIVE                     = 0x9
-+	SO_LINGER                        = 0xd
-+	SO_LOCK_FILTER                   = 0x2c
-+	SO_MARK                          = 0x24
-+	SO_MAX_PACING_RATE               = 0x2f
-+	SO_MEMINFO                       = 0x37
-+	SO_NOFCS                         = 0x2b
-+	SO_OOBINLINE                     = 0xa
-+	SO_PASSCRED                      = 0x10
-+	SO_PASSSEC                       = 0x22
-+	SO_PEEK_OFF                      = 0x2a
-+	SO_PEERCRED                      = 0x11
-+	SO_PEERGROUPS                    = 0x3b
-+	SO_PEERSEC                       = 0x1f
-+	SO_PROTOCOL                      = 0x26
-+	SO_RCVBUF                        = 0x8
-+	SO_RCVBUFFORCE                   = 0x21
-+	SO_RCVLOWAT                      = 0x12
-+	SO_RCVTIMEO                      = 0x14
-+	SO_RCVTIMEO_NEW                  = 0x42
-+	SO_RCVTIMEO_OLD                  = 0x14
-+	SO_REUSEADDR                     = 0x2
-+	SO_REUSEPORT                     = 0xf
-+	SO_RXQ_OVFL                      = 0x28
-+	SO_SECURITY_AUTHENTICATION       = 0x16
-+	SO_SECURITY_ENCRYPTION_NETWORK   = 0x18
-+	SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17
-+	SO_SELECT_ERR_QUEUE              = 0x2d
-+	SO_SNDBUF                        = 0x7
-+	SO_SNDBUFFORCE                   = 0x20
-+	SO_SNDLOWAT                      = 0x13
-+	SO_SNDTIMEO                      = 0x15
-+	SO_SNDTIMEO_NEW                  = 0x43
-+	SO_SNDTIMEO_OLD                  = 0x15
-+	SO_TIMESTAMPING                  = 0x25
-+	SO_TIMESTAMPING_NEW              = 0x41
-+	SO_TIMESTAMPING_OLD              = 0x25
-+	SO_TIMESTAMPNS                   = 0x23
-+	SO_TIMESTAMPNS_NEW               = 0x40
-+	SO_TIMESTAMPNS_OLD               = 0x23
-+	SO_TIMESTAMP_NEW                 = 0x3f
-+	SO_TXTIME                        = 0x3d
-+	SO_TYPE                          = 0x3
-+	SO_WIFI_STATUS                   = 0x29
-+	SO_ZEROCOPY                      = 0x3c
-+	TAB1                             = 0x800
-+	TAB2                             = 0x1000
-+	TAB3                             = 0x1800
-+	TABDLY                           = 0x1800
-+	TCFLSH                           = 0x540b
-+	TCGETA                           = 0x5405
-+	TCGETS                           = 0x5401
-+	TCGETS2                          = 0x802c542a
-+	TCGETX                           = 0x5432
-+	TCSAFLUSH                        = 0x2
-+	TCSBRK                           = 0x5409
-+	TCSBRKP                          = 0x5425
-+	TCSETA                           = 0x5406
-+	TCSETAF                          = 0x5408
-+	TCSETAW                          = 0x5407
-+	TCSETS                           = 0x5402
-+	TCSETS2                          = 0x402c542b
-+	TCSETSF                          = 0x5404
-+	TCSETSF2                         = 0x402c542d
-+	TCSETSW                          = 0x5403
-+	TCSETSW2                         = 0x402c542c
-+	TCSETX                           = 0x5433
-+	TCSETXF                          = 0x5434
-+	TCSETXW                          = 0x5435
-+	TCXONC                           = 0x540a
-+	TIOCCBRK                         = 0x5428
-+	TIOCCONS                         = 0x541d
-+	TIOCEXCL                         = 0x540c
-+	TIOCGDEV                         = 0x80045432
-+	TIOCGETD                         = 0x5424
-+	TIOCGEXCL                        = 0x80045440
-+	TIOCGICOUNT                      = 0x545d
-+	TIOCGISO7816                     = 0x80285442
-+	TIOCGLCKTRMIOS                   = 0x5456
-+	TIOCGPGRP                        = 0x540f
-+	TIOCGPKT                         = 0x80045438
-+	TIOCGPTLCK                       = 0x80045439
-+	TIOCGPTN                         = 0x80045430
-+	TIOCGPTPEER                      = 0x5441
-+	TIOCGRS485                       = 0x542e
-+	TIOCGSERIAL                      = 0x541e
-+	TIOCGSID                         = 0x5429
-+	TIOCGSOFTCAR                     = 0x5419
-+	TIOCGWINSZ                       = 0x5413
-+	TIOCINQ                          = 0x541b
-+	TIOCLINUX                        = 0x541c
-+	TIOCMBIC                         = 0x5417
-+	TIOCMBIS                         = 0x5416
-+	TIOCMGET                         = 0x5415
-+	TIOCMIWAIT                       = 0x545c
-+	TIOCMSET                         = 0x5418
-+	TIOCM_CAR                        = 0x40
-+	TIOCM_CD                         = 0x40
-+	TIOCM_CTS                        = 0x20
-+	TIOCM_DSR                        = 0x100
-+	TIOCM_RI                         = 0x80
-+	TIOCM_RNG                        = 0x80
-+	TIOCM_SR                         = 0x10
-+	TIOCM_ST                         = 0x8
-+	TIOCNOTTY                        = 0x5422
-+	TIOCNXCL                         = 0x540d
-+	TIOCOUTQ                         = 0x5411
-+	TIOCPKT                          = 0x5420
-+	TIOCSBRK                         = 0x5427
-+	TIOCSCTTY                        = 0x540e
-+	TIOCSERCONFIG                    = 0x5453
-+	TIOCSERGETLSR                    = 0x5459
-+	TIOCSERGETMULTI                  = 0x545a
-+	TIOCSERGSTRUCT                   = 0x5458
-+	TIOCSERGWILD                     = 0x5454
-+	TIOCSERSETMULTI                  = 0x545b
-+	TIOCSERSWILD                     = 0x5455
-+	TIOCSER_TEMT                     = 0x1
-+	TIOCSETD                         = 0x5423
-+	TIOCSIG                          = 0x40045436
-+	TIOCSISO7816                     = 0xc0285443
-+	TIOCSLCKTRMIOS                   = 0x5457
-+	TIOCSPGRP                        = 0x5410
-+	TIOCSPTLCK                       = 0x40045431
-+	TIOCSRS485                       = 0x542f
-+	TIOCSSERIAL                      = 0x541f
-+	TIOCSSOFTCAR                     = 0x541a
-+	TIOCSTI                          = 0x5412
-+	TIOCSWINSZ                       = 0x5414
-+	TIOCVHANGUP                      = 0x5437
-+	TOSTOP                           = 0x100
-+	TUNATTACHFILTER                  = 0x401054d5
-+	TUNDETACHFILTER                  = 0x401054d6
-+	TUNGETDEVNETNS                   = 0x54e3
-+	TUNGETFEATURES                   = 0x800454cf
-+	TUNGETFILTER                     = 0x801054db
-+	TUNGETIFF                        = 0x800454d2
-+	TUNGETSNDBUF                     = 0x800454d3
-+	TUNGETVNETBE                     = 0x800454df
-+	TUNGETVNETHDRSZ                  = 0x800454d7
-+	TUNGETVNETLE                     = 0x800454dd
-+	TUNSETCARRIER                    = 0x400454e2
-+	TUNSETDEBUG                      = 0x400454c9
-+	TUNSETFILTEREBPF                 = 0x800454e1
-+	TUNSETGROUP                      = 0x400454ce
-+	TUNSETIFF                        = 0x400454ca
-+	TUNSETIFINDEX                    = 0x400454da
-+	TUNSETLINK                       = 0x400454cd
-+	TUNSETNOCSUM                     = 0x400454c8
-+	TUNSETOFFLOAD                    = 0x400454d0
-+	TUNSETOWNER                      = 0x400454cc
-+	TUNSETPERSIST                    = 0x400454cb
-+	TUNSETQUEUE                      = 0x400454d9
-+	TUNSETSNDBUF                     = 0x400454d4
-+	TUNSETSTEERINGEBPF               = 0x800454e0
-+	TUNSETTXFILTER                   = 0x400454d1
-+	TUNSETVNETBE                     = 0x400454de
-+	TUNSETVNETHDRSZ                  = 0x400454d8
-+	TUNSETVNETLE                     = 0x400454dc
-+	UBI_IOCATT                       = 0x40186f40
-+	UBI_IOCDET                       = 0x40046f41
-+	UBI_IOCEBCH                      = 0x40044f02
-+	UBI_IOCEBER                      = 0x40044f01
-+	UBI_IOCEBISMAP                   = 0x80044f05
-+	UBI_IOCEBMAP                     = 0x40084f03
-+	UBI_IOCEBUNMAP                   = 0x40044f04
-+	UBI_IOCMKVOL                     = 0x40986f00
-+	UBI_IOCRMVOL                     = 0x40046f01
-+	UBI_IOCRNVOL                     = 0x51106f03
-+	UBI_IOCRPEB                      = 0x40046f04
-+	UBI_IOCRSVOL                     = 0x400c6f02
-+	UBI_IOCSETVOLPROP                = 0x40104f06
-+	UBI_IOCSPEB                      = 0x40046f05
-+	UBI_IOCVOLCRBLK                  = 0x40804f07
-+	UBI_IOCVOLRMBLK                  = 0x4f08
-+	UBI_IOCVOLUP                     = 0x40084f00
-+	VDISCARD                         = 0xd
-+	VEOF                             = 0x4
-+	VEOL                             = 0xb
-+	VEOL2                            = 0x10
-+	VMIN                             = 0x6
-+	VREPRINT                         = 0xc
-+	VSTART                           = 0x8
-+	VSTOP                            = 0x9
-+	VSUSP                            = 0xa
-+	VSWTC                            = 0x7
-+	VT1                              = 0x4000
-+	VTDLY                            = 0x4000
-+	VTIME                            = 0x5
-+	VWERASE                          = 0xe
-+	WDIOC_GETBOOTSTATUS              = 0x80045702
-+	WDIOC_GETPRETIMEOUT              = 0x80045709
-+	WDIOC_GETSTATUS                  = 0x80045701
-+	WDIOC_GETSUPPORT                 = 0x80285700
-+	WDIOC_GETTEMP                    = 0x80045703
-+	WDIOC_GETTIMELEFT                = 0x8004570a
-+	WDIOC_GETTIMEOUT                 = 0x80045707
-+	WDIOC_KEEPALIVE                  = 0x80045705
-+	WDIOC_SETOPTIONS                 = 0x80045704
-+	WORDSIZE                         = 0x40
-+	XCASE                            = 0x4
-+	XTABS                            = 0x1800
- )
- 
- // Errors
- const (
--	E2BIG           = syscall.Errno(0x7)
--	EACCES          = syscall.Errno(0xd)
- 	EADDRINUSE      = syscall.Errno(0x62)
- 	EADDRNOTAVAIL   = syscall.Errno(0x63)
- 	EADV            = syscall.Errno(0x44)
- 	EAFNOSUPPORT    = syscall.Errno(0x61)
--	EAGAIN          = syscall.Errno(0xb)
- 	EALREADY        = syscall.Errno(0x72)
- 	EBADE           = syscall.Errno(0x34)
--	EBADF           = syscall.Errno(0x9)
- 	EBADFD          = syscall.Errno(0x4d)
- 	EBADMSG         = syscall.Errno(0x4a)
- 	EBADR           = syscall.Errno(0x35)
- 	EBADRQC         = syscall.Errno(0x38)
- 	EBADSLT         = syscall.Errno(0x39)
- 	EBFONT          = syscall.Errno(0x3b)
--	EBUSY           = syscall.Errno(0x10)
- 	ECANCELED       = syscall.Errno(0x7d)
--	ECHILD          = syscall.Errno(0xa)
- 	ECHRNG          = syscall.Errno(0x2c)
- 	ECOMM           = syscall.Errno(0x46)
- 	ECONNABORTED    = syscall.Errno(0x67)
-@@ -1943,23 +560,15 @@ const (
- 	EDEADLK         = syscall.Errno(0x23)
- 	EDEADLOCK       = syscall.Errno(0x23)
- 	EDESTADDRREQ    = syscall.Errno(0x59)
--	EDOM            = syscall.Errno(0x21)
- 	EDOTDOT         = syscall.Errno(0x49)
- 	EDQUOT          = syscall.Errno(0x7a)
--	EEXIST          = syscall.Errno(0x11)
--	EFAULT          = syscall.Errno(0xe)
--	EFBIG           = syscall.Errno(0x1b)
- 	EHOSTDOWN       = syscall.Errno(0x70)
- 	EHOSTUNREACH    = syscall.Errno(0x71)
- 	EHWPOISON       = syscall.Errno(0x85)
- 	EIDRM           = syscall.Errno(0x2b)
- 	EILSEQ          = syscall.Errno(0x54)
- 	EINPROGRESS     = syscall.Errno(0x73)
--	EINTR           = syscall.Errno(0x4)
--	EINVAL          = syscall.Errno(0x16)
--	EIO             = syscall.Errno(0x5)
- 	EISCONN         = syscall.Errno(0x6a)
--	EISDIR          = syscall.Errno(0x15)
- 	EISNAM          = syscall.Errno(0x78)
- 	EKEYEXPIRED     = syscall.Errno(0x7f)
- 	EKEYREJECTED    = syscall.Errno(0x81)
-@@ -1976,8 +585,6 @@ const (
- 	ELNRNG          = syscall.Errno(0x30)
- 	ELOOP           = syscall.Errno(0x28)
- 	EMEDIUMTYPE     = syscall.Errno(0x7c)
--	EMFILE          = syscall.Errno(0x18)
--	EMLINK          = syscall.Errno(0x1f)
- 	EMSGSIZE        = syscall.Errno(0x5a)
- 	EMULTIHOP       = syscall.Errno(0x48)
- 	ENAMETOOLONG    = syscall.Errno(0x24)
-@@ -1985,103 +592,70 @@ const (
- 	ENETDOWN        = syscall.Errno(0x64)
- 	ENETRESET       = syscall.Errno(0x66)
- 	ENETUNREACH     = syscall.Errno(0x65)
--	ENFILE          = syscall.Errno(0x17)
- 	ENOANO          = syscall.Errno(0x37)
- 	ENOBUFS         = syscall.Errno(0x69)
- 	ENOCSI          = syscall.Errno(0x32)
- 	ENODATA         = syscall.Errno(0x3d)
--	ENODEV          = syscall.Errno(0x13)
--	ENOENT          = syscall.Errno(0x2)
--	ENOEXEC         = syscall.Errno(0x8)
- 	ENOKEY          = syscall.Errno(0x7e)
- 	ENOLCK          = syscall.Errno(0x25)
- 	ENOLINK         = syscall.Errno(0x43)
- 	ENOMEDIUM       = syscall.Errno(0x7b)
--	ENOMEM          = syscall.Errno(0xc)
- 	ENOMSG          = syscall.Errno(0x2a)
- 	ENONET          = syscall.Errno(0x40)
- 	ENOPKG          = syscall.Errno(0x41)
- 	ENOPROTOOPT     = syscall.Errno(0x5c)
--	ENOSPC          = syscall.Errno(0x1c)
- 	ENOSR           = syscall.Errno(0x3f)
- 	ENOSTR          = syscall.Errno(0x3c)
- 	ENOSYS          = syscall.Errno(0x26)
--	ENOTBLK         = syscall.Errno(0xf)
- 	ENOTCONN        = syscall.Errno(0x6b)
--	ENOTDIR         = syscall.Errno(0x14)
- 	ENOTEMPTY       = syscall.Errno(0x27)
- 	ENOTNAM         = syscall.Errno(0x76)
- 	ENOTRECOVERABLE = syscall.Errno(0x83)
- 	ENOTSOCK        = syscall.Errno(0x58)
- 	ENOTSUP         = syscall.Errno(0x5f)
--	ENOTTY          = syscall.Errno(0x19)
- 	ENOTUNIQ        = syscall.Errno(0x4c)
--	ENXIO           = syscall.Errno(0x6)
- 	EOPNOTSUPP      = syscall.Errno(0x5f)
- 	EOVERFLOW       = syscall.Errno(0x4b)
- 	EOWNERDEAD      = syscall.Errno(0x82)
--	EPERM           = syscall.Errno(0x1)
- 	EPFNOSUPPORT    = syscall.Errno(0x60)
--	EPIPE           = syscall.Errno(0x20)
- 	EPROTO          = syscall.Errno(0x47)
- 	EPROTONOSUPPORT = syscall.Errno(0x5d)
- 	EPROTOTYPE      = syscall.Errno(0x5b)
--	ERANGE          = syscall.Errno(0x22)
- 	EREMCHG         = syscall.Errno(0x4e)
- 	EREMOTE         = syscall.Errno(0x42)
- 	EREMOTEIO       = syscall.Errno(0x79)
- 	ERESTART        = syscall.Errno(0x55)
- 	ERFKILL         = syscall.Errno(0x84)
--	EROFS           = syscall.Errno(0x1e)
- 	ESHUTDOWN       = syscall.Errno(0x6c)
- 	ESOCKTNOSUPPORT = syscall.Errno(0x5e)
--	ESPIPE          = syscall.Errno(0x1d)
--	ESRCH           = syscall.Errno(0x3)
- 	ESRMNT          = syscall.Errno(0x45)
- 	ESTALE          = syscall.Errno(0x74)
- 	ESTRPIPE        = syscall.Errno(0x56)
- 	ETIME           = syscall.Errno(0x3e)
- 	ETIMEDOUT       = syscall.Errno(0x6e)
- 	ETOOMANYREFS    = syscall.Errno(0x6d)
--	ETXTBSY         = syscall.Errno(0x1a)
- 	EUCLEAN         = syscall.Errno(0x75)
- 	EUNATCH         = syscall.Errno(0x31)
- 	EUSERS          = syscall.Errno(0x57)
--	EWOULDBLOCK     = syscall.Errno(0xb)
--	EXDEV           = syscall.Errno(0x12)
- 	EXFULL          = syscall.Errno(0x36)
- )
- 
- // Signals
- const (
--	SIGABRT   = syscall.Signal(0x6)
--	SIGALRM   = syscall.Signal(0xe)
- 	SIGBUS    = syscall.Signal(0x7)
- 	SIGCHLD   = syscall.Signal(0x11)
- 	SIGCLD    = syscall.Signal(0x11)
- 	SIGCONT   = syscall.Signal(0x12)
--	SIGFPE    = syscall.Signal(0x8)
--	SIGHUP    = syscall.Signal(0x1)
--	SIGILL    = syscall.Signal(0x4)
--	SIGINT    = syscall.Signal(0x2)
- 	SIGIO     = syscall.Signal(0x1d)
--	SIGIOT    = syscall.Signal(0x6)
--	SIGKILL   = syscall.Signal(0x9)
--	SIGPIPE   = syscall.Signal(0xd)
- 	SIGPOLL   = syscall.Signal(0x1d)
- 	SIGPROF   = syscall.Signal(0x1b)
- 	SIGPWR    = syscall.Signal(0x1e)
--	SIGQUIT   = syscall.Signal(0x3)
--	SIGSEGV   = syscall.Signal(0xb)
- 	SIGSTKFLT = syscall.Signal(0x10)
- 	SIGSTOP   = syscall.Signal(0x13)
- 	SIGSYS    = syscall.Signal(0x1f)
--	SIGTERM   = syscall.Signal(0xf)
--	SIGTRAP   = syscall.Signal(0x5)
- 	SIGTSTP   = syscall.Signal(0x14)
- 	SIGTTIN   = syscall.Signal(0x15)
- 	SIGTTOU   = syscall.Signal(0x16)
--	SIGUNUSED = syscall.Signal(0x1f)
- 	SIGURG    = syscall.Signal(0x17)
- 	SIGUSR1   = syscall.Signal(0xa)
- 	SIGUSR2   = syscall.Signal(0xc)
-@@ -2092,171 +666,179 @@ const (
- )
- 
- // Error table
--var errors = [...]string{
--	1:   "operation not permitted",
--	2:   "no such file or directory",
--	3:   "no such process",
--	4:   "interrupted system call",
--	5:   "input/output error",
--	6:   "no such device or address",
--	7:   "argument list too long",
--	8:   "exec format error",
--	9:   "bad file descriptor",
--	10:  "no child processes",
--	11:  "resource temporarily unavailable",
--	12:  "cannot allocate memory",
--	13:  "permission denied",
--	14:  "bad address",
--	15:  "block device required",
--	16:  "device or resource busy",
--	17:  "file exists",
--	18:  "invalid cross-device link",
--	19:  "no such device",
--	20:  "not a directory",
--	21:  "is a directory",
--	22:  "invalid argument",
--	23:  "too many open files in system",
--	24:  "too many open files",
--	25:  "inappropriate ioctl for device",
--	26:  "text file busy",
--	27:  "file too large",
--	28:  "no space left on device",
--	29:  "illegal seek",
--	30:  "read-only file system",
--	31:  "too many links",
--	32:  "broken pipe",
--	33:  "numerical argument out of domain",
--	34:  "numerical result out of range",
--	35:  "resource deadlock avoided",
--	36:  "file name too long",
--	37:  "no locks available",
--	38:  "function not implemented",
--	39:  "directory not empty",
--	40:  "too many levels of symbolic links",
--	42:  "no message of desired type",
--	43:  "identifier removed",
--	44:  "channel number out of range",
--	45:  "level 2 not synchronized",
--	46:  "level 3 halted",
--	47:  "level 3 reset",
--	48:  "link number out of range",
--	49:  "protocol driver not attached",
--	50:  "no CSI structure available",
--	51:  "level 2 halted",
--	52:  "invalid exchange",
--	53:  "invalid request descriptor",
--	54:  "exchange full",
--	55:  "no anode",
--	56:  "invalid request code",
--	57:  "invalid slot",
--	59:  "bad font file format",
--	60:  "device not a stream",
--	61:  "no data available",
--	62:  "timer expired",
--	63:  "out of streams resources",
--	64:  "machine is not on the network",
--	65:  "package not installed",
--	66:  "object is remote",
--	67:  "link has been severed",
--	68:  "advertise error",
--	69:  "srmount error",
--	70:  "communication error on send",
--	71:  "protocol error",
--	72:  "multihop attempted",
--	73:  "RFS specific error",
--	74:  "bad message",
--	75:  "value too large for defined data type",
--	76:  "name not unique on network",
--	77:  "file descriptor in bad state",
--	78:  "remote address changed",
--	79:  "can not access a needed shared library",
--	80:  "accessing a corrupted shared library",
--	81:  ".lib section in a.out corrupted",
--	82:  "attempting to link in too many shared libraries",
--	83:  "cannot exec a shared library directly",
--	84:  "invalid or incomplete multibyte or wide character",
--	85:  "interrupted system call should be restarted",
--	86:  "streams pipe error",
--	87:  "too many users",
--	88:  "socket operation on non-socket",
--	89:  "destination address required",
--	90:  "message too long",
--	91:  "protocol wrong type for socket",
--	92:  "protocol not available",
--	93:  "protocol not supported",
--	94:  "socket type not supported",
--	95:  "operation not supported",
--	96:  "protocol family not supported",
--	97:  "address family not supported by protocol",
--	98:  "address already in use",
--	99:  "cannot assign requested address",
--	100: "network is down",
--	101: "network is unreachable",
--	102: "network dropped connection on reset",
--	103: "software caused connection abort",
--	104: "connection reset by peer",
--	105: "no buffer space available",
--	106: "transport endpoint is already connected",
--	107: "transport endpoint is not connected",
--	108: "cannot send after transport endpoint shutdown",
--	109: "too many references: cannot splice",
--	110: "connection timed out",
--	111: "connection refused",
--	112: "host is down",
--	113: "no route to host",
--	114: "operation already in progress",
--	115: "operation now in progress",
--	116: "stale file handle",
--	117: "structure needs cleaning",
--	118: "not a XENIX named type file",
--	119: "no XENIX semaphores available",
--	120: "is a named type file",
--	121: "remote I/O error",
--	122: "disk quota exceeded",
--	123: "no medium found",
--	124: "wrong medium type",
--	125: "operation canceled",
--	126: "required key not available",
--	127: "key has expired",
--	128: "key has been revoked",
--	129: "key was rejected by service",
--	130: "owner died",
--	131: "state not recoverable",
--	132: "operation not possible due to RF-kill",
--	133: "memory page has hardware error",
-+var errorList = [...]struct {
-+	num  syscall.Errno
-+	name string
-+	desc string
-+}{
-+	{1, "EPERM", "operation not permitted"},
-+	{2, "ENOENT", "no such file or directory"},
-+	{3, "ESRCH", "no such process"},
-+	{4, "EINTR", "interrupted system call"},
-+	{5, "EIO", "input/output error"},
-+	{6, "ENXIO", "no such device or address"},
-+	{7, "E2BIG", "argument list too long"},
-+	{8, "ENOEXEC", "exec format error"},
-+	{9, "EBADF", "bad file descriptor"},
-+	{10, "ECHILD", "no child processes"},
-+	{11, "EAGAIN", "resource temporarily unavailable"},
-+	{12, "ENOMEM", "cannot allocate memory"},
-+	{13, "EACCES", "permission denied"},
-+	{14, "EFAULT", "bad address"},
-+	{15, "ENOTBLK", "block device required"},
-+	{16, "EBUSY", "device or resource busy"},
-+	{17, "EEXIST", "file exists"},
-+	{18, "EXDEV", "invalid cross-device link"},
-+	{19, "ENODEV", "no such device"},
-+	{20, "ENOTDIR", "not a directory"},
-+	{21, "EISDIR", "is a directory"},
-+	{22, "EINVAL", "invalid argument"},
-+	{23, "ENFILE", "too many open files in system"},
-+	{24, "EMFILE", "too many open files"},
-+	{25, "ENOTTY", "inappropriate ioctl for device"},
-+	{26, "ETXTBSY", "text file busy"},
-+	{27, "EFBIG", "file too large"},
-+	{28, "ENOSPC", "no space left on device"},
-+	{29, "ESPIPE", "illegal seek"},
-+	{30, "EROFS", "read-only file system"},
-+	{31, "EMLINK", "too many links"},
-+	{32, "EPIPE", "broken pipe"},
-+	{33, "EDOM", "numerical argument out of domain"},
-+	{34, "ERANGE", "numerical result out of range"},
-+	{35, "EDEADLK", "resource deadlock avoided"},
-+	{36, "ENAMETOOLONG", "file name too long"},
-+	{37, "ENOLCK", "no locks available"},
-+	{38, "ENOSYS", "function not implemented"},
-+	{39, "ENOTEMPTY", "directory not empty"},
-+	{40, "ELOOP", "too many levels of symbolic links"},
-+	{42, "ENOMSG", "no message of desired type"},
-+	{43, "EIDRM", "identifier removed"},
-+	{44, "ECHRNG", "channel number out of range"},
-+	{45, "EL2NSYNC", "level 2 not synchronized"},
-+	{46, "EL3HLT", "level 3 halted"},
-+	{47, "EL3RST", "level 3 reset"},
-+	{48, "ELNRNG", "link number out of range"},
-+	{49, "EUNATCH", "protocol driver not attached"},
-+	{50, "ENOCSI", "no CSI structure available"},
-+	{51, "EL2HLT", "level 2 halted"},
-+	{52, "EBADE", "invalid exchange"},
-+	{53, "EBADR", "invalid request descriptor"},
-+	{54, "EXFULL", "exchange full"},
-+	{55, "ENOANO", "no anode"},
-+	{56, "EBADRQC", "invalid request code"},
-+	{57, "EBADSLT", "invalid slot"},
-+	{59, "EBFONT", "bad font file format"},
-+	{60, "ENOSTR", "device not a stream"},
-+	{61, "ENODATA", "no data available"},
-+	{62, "ETIME", "timer expired"},
-+	{63, "ENOSR", "out of streams resources"},
-+	{64, "ENONET", "machine is not on the network"},
-+	{65, "ENOPKG", "package not installed"},
-+	{66, "EREMOTE", "object is remote"},
-+	{67, "ENOLINK", "link has been severed"},
-+	{68, "EADV", "advertise error"},
-+	{69, "ESRMNT", "srmount error"},
-+	{70, "ECOMM", "communication error on send"},
-+	{71, "EPROTO", "protocol error"},
-+	{72, "EMULTIHOP", "multihop attempted"},
-+	{73, "EDOTDOT", "RFS specific error"},
-+	{74, "EBADMSG", "bad message"},
-+	{75, "EOVERFLOW", "value too large for defined data type"},
-+	{76, "ENOTUNIQ", "name not unique on network"},
-+	{77, "EBADFD", "file descriptor in bad state"},
-+	{78, "EREMCHG", "remote address changed"},
-+	{79, "ELIBACC", "can not access a needed shared library"},
-+	{80, "ELIBBAD", "accessing a corrupted shared library"},
-+	{81, "ELIBSCN", ".lib section in a.out corrupted"},
-+	{82, "ELIBMAX", "attempting to link in too many shared libraries"},
-+	{83, "ELIBEXEC", "cannot exec a shared library directly"},
-+	{84, "EILSEQ", "invalid or incomplete multibyte or wide character"},
-+	{85, "ERESTART", "interrupted system call should be restarted"},
-+	{86, "ESTRPIPE", "streams pipe error"},
-+	{87, "EUSERS", "too many users"},
-+	{88, "ENOTSOCK", "socket operation on non-socket"},
-+	{89, "EDESTADDRREQ", "destination address required"},
-+	{90, "EMSGSIZE", "message too long"},
-+	{91, "EPROTOTYPE", "protocol wrong type for socket"},
-+	{92, "ENOPROTOOPT", "protocol not available"},
-+	{93, "EPROTONOSUPPORT", "protocol not supported"},
-+	{94, "ESOCKTNOSUPPORT", "socket type not supported"},
-+	{95, "ENOTSUP", "operation not supported"},
-+	{96, "EPFNOSUPPORT", "protocol family not supported"},
-+	{97, "EAFNOSUPPORT", "address family not supported by protocol"},
-+	{98, "EADDRINUSE", "address already in use"},
-+	{99, "EADDRNOTAVAIL", "cannot assign requested address"},
-+	{100, "ENETDOWN", "network is down"},
-+	{101, "ENETUNREACH", "network is unreachable"},
-+	{102, "ENETRESET", "network dropped connection on reset"},
-+	{103, "ECONNABORTED", "software caused connection abort"},
-+	{104, "ECONNRESET", "connection reset by peer"},
-+	{105, "ENOBUFS", "no buffer space available"},
-+	{106, "EISCONN", "transport endpoint is already connected"},
-+	{107, "ENOTCONN", "transport endpoint is not connected"},
-+	{108, "ESHUTDOWN", "cannot send after transport endpoint shutdown"},
-+	{109, "ETOOMANYREFS", "too many references: cannot splice"},
-+	{110, "ETIMEDOUT", "connection timed out"},
-+	{111, "ECONNREFUSED", "connection refused"},
-+	{112, "EHOSTDOWN", "host is down"},
-+	{113, "EHOSTUNREACH", "no route to host"},
-+	{114, "EALREADY", "operation already in progress"},
-+	{115, "EINPROGRESS", "operation now in progress"},
-+	{116, "ESTALE", "stale file handle"},
-+	{117, "EUCLEAN", "structure needs cleaning"},
-+	{118, "ENOTNAM", "not a XENIX named type file"},
-+	{119, "ENAVAIL", "no XENIX semaphores available"},
-+	{120, "EISNAM", "is a named type file"},
-+	{121, "EREMOTEIO", "remote I/O error"},
-+	{122, "EDQUOT", "disk quota exceeded"},
-+	{123, "ENOMEDIUM", "no medium found"},
-+	{124, "EMEDIUMTYPE", "wrong medium type"},
-+	{125, "ECANCELED", "operation canceled"},
-+	{126, "ENOKEY", "required key not available"},
-+	{127, "EKEYEXPIRED", "key has expired"},
-+	{128, "EKEYREVOKED", "key has been revoked"},
-+	{129, "EKEYREJECTED", "key was rejected by service"},
-+	{130, "EOWNERDEAD", "owner died"},
-+	{131, "ENOTRECOVERABLE", "state not recoverable"},
-+	{132, "ERFKILL", "operation not possible due to RF-kill"},
-+	{133, "EHWPOISON", "memory page has hardware error"},
- }
- 
- // Signal table
--var signals = [...]string{
--	1:  "hangup",
--	2:  "interrupt",
--	3:  "quit",
--	4:  "illegal instruction",
--	5:  "trace/breakpoint trap",
--	6:  "aborted",
--	7:  "bus error",
--	8:  "floating point exception",
--	9:  "killed",
--	10: "user defined signal 1",
--	11: "segmentation fault",
--	12: "user defined signal 2",
--	13: "broken pipe",
--	14: "alarm clock",
--	15: "terminated",
--	16: "stack fault",
--	17: "child exited",
--	18: "continued",
--	19: "stopped (signal)",
--	20: "stopped",
--	21: "stopped (tty input)",
--	22: "stopped (tty output)",
--	23: "urgent I/O condition",
--	24: "CPU time limit exceeded",
--	25: "file size limit exceeded",
--	26: "virtual timer expired",
--	27: "profiling timer expired",
--	28: "window changed",
--	29: "I/O possible",
--	30: "power failure",
--	31: "bad system call",
-+var signalList = [...]struct {
-+	num  syscall.Signal
-+	name string
-+	desc string
-+}{
-+	{1, "SIGHUP", "hangup"},
-+	{2, "SIGINT", "interrupt"},
-+	{3, "SIGQUIT", "quit"},
-+	{4, "SIGILL", "illegal instruction"},
-+	{5, "SIGTRAP", "trace/breakpoint trap"},
-+	{6, "SIGABRT", "aborted"},
-+	{7, "SIGBUS", "bus error"},
-+	{8, "SIGFPE", "floating point exception"},
-+	{9, "SIGKILL", "killed"},
-+	{10, "SIGUSR1", "user defined signal 1"},
-+	{11, "SIGSEGV", "segmentation fault"},
-+	{12, "SIGUSR2", "user defined signal 2"},
-+	{13, "SIGPIPE", "broken pipe"},
-+	{14, "SIGALRM", "alarm clock"},
-+	{15, "SIGTERM", "terminated"},
-+	{16, "SIGSTKFLT", "stack fault"},
-+	{17, "SIGCHLD", "child exited"},
-+	{18, "SIGCONT", "continued"},
-+	{19, "SIGSTOP", "stopped (signal)"},
-+	{20, "SIGTSTP", "stopped"},
-+	{21, "SIGTTIN", "stopped (tty input)"},
-+	{22, "SIGTTOU", "stopped (tty output)"},
-+	{23, "SIGURG", "urgent I/O condition"},
-+	{24, "SIGXCPU", "CPU time limit exceeded"},
-+	{25, "SIGXFSZ", "file size limit exceeded"},
-+	{26, "SIGVTALRM", "virtual timer expired"},
-+	{27, "SIGPROF", "profiling timer expired"},
-+	{28, "SIGWINCH", "window changed"},
-+	{29, "SIGIO", "I/O possible"},
-+	{30, "SIGPWR", "power failure"},
-+	{31, "SIGSYS", "bad system call"},
- }
-diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go
-index 95de199f..079762fa 100644
---- a/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go
-+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go
-@@ -1,915 +1,132 @@
--// mkerrors.sh -m64
--// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
-+// mkerrors.sh -Wall -Werror -static -I/tmp/include
-+// Code generated by the command above; see README.md. DO NOT EDIT.
- 
- // +build sparc64,linux
- 
--// Created by cgo -godefs - DO NOT EDIT
--// cgo -godefs -- -m64 _const.go
-+// Code generated by cmd/cgo -godefs; DO NOT EDIT.
-+// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go
- 
- package unix
- 
- import "syscall"
- 
- const (
--	AF_ALG                           = 0x26
--	AF_APPLETALK                     = 0x5
--	AF_ASH                           = 0x12
--	AF_ATMPVC                        = 0x8
--	AF_ATMSVC                        = 0x14
--	AF_AX25                          = 0x3
--	AF_BLUETOOTH                     = 0x1f
--	AF_BRIDGE                        = 0x7
--	AF_CAIF                          = 0x25
--	AF_CAN                           = 0x1d
--	AF_DECnet                        = 0xc
--	AF_ECONET                        = 0x13
--	AF_FILE                          = 0x1
--	AF_IB                            = 0x1b
--	AF_IEEE802154                    = 0x24
--	AF_INET                          = 0x2
--	AF_INET6                         = 0xa
--	AF_IPX                           = 0x4
--	AF_IRDA                          = 0x17
--	AF_ISDN                          = 0x22
--	AF_IUCV                          = 0x20
--	AF_KCM                           = 0x29
--	AF_KEY                           = 0xf
--	AF_LLC                           = 0x1a
--	AF_LOCAL                         = 0x1
--	AF_MAX                           = 0x2a
--	AF_MPLS                          = 0x1c
--	AF_NETBEUI                       = 0xd
--	AF_NETLINK                       = 0x10
--	AF_NETROM                        = 0x6
--	AF_NFC                           = 0x27
--	AF_PACKET                        = 0x11
--	AF_PHONET                        = 0x23
--	AF_PPPOX                         = 0x18
--	AF_RDS                           = 0x15
--	AF_ROSE                          = 0xb
--	AF_ROUTE                         = 0x10
--	AF_RXRPC                         = 0x21
--	AF_SECURITY                      = 0xe
--	AF_SNA                           = 0x16
--	AF_TIPC                          = 0x1e
--	AF_UNIX                          = 0x1
--	AF_UNSPEC                        = 0x0
--	AF_VSOCK                         = 0x28
--	AF_WANPIPE                       = 0x19
--	AF_X25                           = 0x9
--	ALG_OP_DECRYPT                   = 0x0
--	ALG_OP_ENCRYPT                   = 0x1
--	ALG_SET_AEAD_ASSOCLEN            = 0x4
--	ALG_SET_AEAD_AUTHSIZE            = 0x5
--	ALG_SET_IV                       = 0x2
--	ALG_SET_KEY                      = 0x1
--	ALG_SET_OP                       = 0x3
--	ARPHRD_6LOWPAN                   = 0x339
--	ARPHRD_ADAPT                     = 0x108
--	ARPHRD_APPLETLK                  = 0x8
--	ARPHRD_ARCNET                    = 0x7
--	ARPHRD_ASH                       = 0x30d
--	ARPHRD_ATM                       = 0x13
--	ARPHRD_AX25                      = 0x3
--	ARPHRD_BIF                       = 0x307
--	ARPHRD_CAIF                      = 0x336
--	ARPHRD_CAN                       = 0x118
--	ARPHRD_CHAOS                     = 0x5
--	ARPHRD_CISCO                     = 0x201
--	ARPHRD_CSLIP                     = 0x101
--	ARPHRD_CSLIP6                    = 0x103
--	ARPHRD_DDCMP                     = 0x205
--	ARPHRD_DLCI                      = 0xf
--	ARPHRD_ECONET                    = 0x30e
--	ARPHRD_EETHER                    = 0x2
--	ARPHRD_ETHER                     = 0x1
--	ARPHRD_EUI64                     = 0x1b
--	ARPHRD_FCAL                      = 0x311
--	ARPHRD_FCFABRIC                  = 0x313
--	ARPHRD_FCPL                      = 0x312
--	ARPHRD_FCPP                      = 0x310
--	ARPHRD_FDDI                      = 0x306
--	ARPHRD_FRAD                      = 0x302
--	ARPHRD_HDLC                      = 0x201
--	ARPHRD_HIPPI                     = 0x30c
--	ARPHRD_HWX25                     = 0x110
--	ARPHRD_IEEE1394                  = 0x18
--	ARPHRD_IEEE802                   = 0x6
--	ARPHRD_IEEE80211                 = 0x321
--	ARPHRD_IEEE80211_PRISM           = 0x322
--	ARPHRD_IEEE80211_RADIOTAP        = 0x323
--	ARPHRD_IEEE802154                = 0x324
--	ARPHRD_IEEE802154_MONITOR        = 0x325
--	ARPHRD_IEEE802_TR                = 0x320
--	ARPHRD_INFINIBAND                = 0x20
--	ARPHRD_IP6GRE                    = 0x337
--	ARPHRD_IPDDP                     = 0x309
--	ARPHRD_IPGRE                     = 0x30a
--	ARPHRD_IRDA                      = 0x30f
--	ARPHRD_LAPB                      = 0x204
--	ARPHRD_LOCALTLK                  = 0x305
--	ARPHRD_LOOPBACK                  = 0x304
--	ARPHRD_METRICOM                  = 0x17
--	ARPHRD_NETLINK                   = 0x338
--	ARPHRD_NETROM                    = 0x0
--	ARPHRD_NONE                      = 0xfffe
--	ARPHRD_PHONET                    = 0x334
--	ARPHRD_PHONET_PIPE               = 0x335
--	ARPHRD_PIMREG                    = 0x30b
--	ARPHRD_PPP                       = 0x200
--	ARPHRD_PRONET                    = 0x4
--	ARPHRD_RAWHDLC                   = 0x206
--	ARPHRD_ROSE                      = 0x10e
--	ARPHRD_RSRVD                     = 0x104
--	ARPHRD_SIT                       = 0x308
--	ARPHRD_SKIP                      = 0x303
--	ARPHRD_SLIP                      = 0x100
--	ARPHRD_SLIP6                     = 0x102
--	ARPHRD_TUNNEL                    = 0x300
--	ARPHRD_TUNNEL6                   = 0x301
--	ARPHRD_VOID                      = 0xffff
--	ARPHRD_X25                       = 0x10f
- 	ASI_LEON_DFLUSH                  = 0x11
- 	ASI_LEON_IFLUSH                  = 0x10
- 	ASI_LEON_MMUFLUSH                = 0x18
--	B0                               = 0x0
--	B1000000                         = 0x100c
--	B110                             = 0x3
-+	B1000000                         = 0x1008
- 	B115200                          = 0x1002
--	B1152000                         = 0x100d
--	B1200                            = 0x9
--	B134                             = 0x4
--	B150                             = 0x5
--	B1500000                         = 0x100e
--	B153600                          = 0x1006
--	B1800                            = 0xa
--	B19200                           = 0xe
--	B200                             = 0x6
--	B2000000                         = 0x100f
-+	B1152000                         = 0x1009
-+	B1500000                         = 0x100a
-+	B2000000                         = 0x100b
- 	B230400                          = 0x1003
--	B2400                            = 0xb
--	B300                             = 0x7
--	B307200                          = 0x1007
--	B38400                           = 0xf
-+	B2500000                         = 0x100c
-+	B3000000                         = 0x100d
-+	B3500000                         = 0x100e
-+	B4000000                         = 0x100f
- 	B460800                          = 0x1004
--	B4800                            = 0xc
--	B50                              = 0x1
--	B500000                          = 0x100a
-+	B500000                          = 0x1005
- 	B57600                           = 0x1001
--	B576000                          = 0x100b
--	B600                             = 0x8
--	B614400                          = 0x1008
--	B75                              = 0x2
--	B76800                           = 0x1005
--	B921600                          = 0x1009
--	B9600                            = 0xd
--	BLKBSZGET                        = 0x80081270
--	BLKBSZSET                        = 0x40081271
--	BLKFLSBUF                        = 0x1261
--	BLKFRAGET                        = 0x1265
--	BLKFRASET                        = 0x1264
--	BLKGETSIZE                       = 0x1260
--	BLKGETSIZE64                     = 0x80081272
--	BLKRAGET                         = 0x1263
--	BLKRASET                         = 0x1262
--	BLKROGET                         = 0x125e
--	BLKROSET                         = 0x125d
--	BLKRRPART                        = 0x125f
--	BLKSECTGET                       = 0x1267
--	BLKSECTSET                       = 0x1266
--	BLKSSZGET                        = 0x1268
-+	B576000                          = 0x1006
-+	B921600                          = 0x1007
-+	BLKBSZGET                        = 0x40081270
-+	BLKBSZSET                        = 0x80081271
-+	BLKFLSBUF                        = 0x20001261
-+	BLKFRAGET                        = 0x20001265
-+	BLKFRASET                        = 0x20001264
-+	BLKGETSIZE                       = 0x20001260
-+	BLKGETSIZE64                     = 0x40081272
-+	BLKPBSZGET                       = 0x2000127b
-+	BLKRAGET                         = 0x20001263
-+	BLKRASET                         = 0x20001262
-+	BLKROGET                         = 0x2000125e
-+	BLKROSET                         = 0x2000125d
-+	BLKRRPART                        = 0x2000125f
-+	BLKSECTGET                       = 0x20001267
-+	BLKSECTSET                       = 0x20001266
-+	BLKSSZGET                        = 0x20001268
- 	BOTHER                           = 0x1000
--	BPF_A                            = 0x10
--	BPF_ABS                          = 0x20
--	BPF_ADD                          = 0x0
--	BPF_ALU                          = 0x4
--	BPF_AND                          = 0x50
--	BPF_B                            = 0x10
--	BPF_DIV                          = 0x30
--	BPF_H                            = 0x8
--	BPF_IMM                          = 0x0
--	BPF_IND                          = 0x40
--	BPF_JA                           = 0x0
--	BPF_JEQ                          = 0x10
--	BPF_JGE                          = 0x30
--	BPF_JGT                          = 0x20
--	BPF_JMP                          = 0x5
--	BPF_JSET                         = 0x40
--	BPF_K                            = 0x0
--	BPF_LD                           = 0x0
--	BPF_LDX                          = 0x1
--	BPF_LEN                          = 0x80
--	BPF_LL_OFF                       = -0x200000
--	BPF_LSH                          = 0x60
--	BPF_MAJOR_VERSION                = 0x1
--	BPF_MAXINSNS                     = 0x1000
--	BPF_MEM                          = 0x60
--	BPF_MEMWORDS                     = 0x10
--	BPF_MINOR_VERSION                = 0x1
--	BPF_MISC                         = 0x7
--	BPF_MOD                          = 0x90
--	BPF_MSH                          = 0xa0
--	BPF_MUL                          = 0x20
--	BPF_NEG                          = 0x80
--	BPF_NET_OFF                      = -0x100000
--	BPF_OR                           = 0x40
--	BPF_RET                          = 0x6
--	BPF_RSH                          = 0x70
--	BPF_ST                           = 0x2
--	BPF_STX                          = 0x3
--	BPF_SUB                          = 0x10
--	BPF_TAX                          = 0x0
--	BPF_TXA                          = 0x80
--	BPF_W                            = 0x0
--	BPF_X                            = 0x8
--	BPF_XOR                          = 0xa0
--	BRKINT                           = 0x2
--	BS0                              = 0x0
- 	BS1                              = 0x2000
- 	BSDLY                            = 0x2000
--	CAN_BCM                          = 0x2
--	CAN_EFF_FLAG                     = 0x80000000
--	CAN_EFF_ID_BITS                  = 0x1d
--	CAN_EFF_MASK                     = 0x1fffffff
--	CAN_ERR_FLAG                     = 0x20000000
--	CAN_ERR_MASK                     = 0x1fffffff
--	CAN_INV_FILTER                   = 0x20000000
--	CAN_ISOTP                        = 0x6
--	CAN_MAX_DLC                      = 0x8
--	CAN_MAX_DLEN                     = 0x8
--	CAN_MCNET                        = 0x5
--	CAN_MTU                          = 0x10
--	CAN_NPROTO                       = 0x7
--	CAN_RAW                          = 0x1
--	CAN_RTR_FLAG                     = 0x40000000
--	CAN_SFF_ID_BITS                  = 0xb
--	CAN_SFF_MASK                     = 0x7ff
--	CAN_TP16                         = 0x3
--	CAN_TP20                         = 0x4
- 	CBAUD                            = 0x100f
- 	CBAUDEX                          = 0x1000
--	CFLUSH                           = 0xf
- 	CIBAUD                           = 0x100f0000
- 	CLOCAL                           = 0x800
--	CLOCK_BOOTTIME                   = 0x7
--	CLOCK_BOOTTIME_ALARM             = 0x9
--	CLOCK_DEFAULT                    = 0x0
--	CLOCK_EXT                        = 0x1
--	CLOCK_INT                        = 0x2
--	CLOCK_MONOTONIC                  = 0x1
--	CLOCK_MONOTONIC_COARSE           = 0x6
--	CLOCK_MONOTONIC_RAW              = 0x4
--	CLOCK_PROCESS_CPUTIME_ID         = 0x2
--	CLOCK_REALTIME                   = 0x0
--	CLOCK_REALTIME_ALARM             = 0x8
--	CLOCK_REALTIME_COARSE            = 0x5
--	CLOCK_TAI                        = 0xb
--	CLOCK_THREAD_CPUTIME_ID          = 0x3
--	CLOCK_TXFROMRX                   = 0x4
--	CLOCK_TXINT                      = 0x3
--	CLONE_CHILD_CLEARTID             = 0x200000
--	CLONE_CHILD_SETTID               = 0x1000000
--	CLONE_DETACHED                   = 0x400000
--	CLONE_FILES                      = 0x400
--	CLONE_FS                         = 0x200
--	CLONE_IO                         = 0x80000000
--	CLONE_NEWCGROUP                  = 0x2000000
--	CLONE_NEWIPC                     = 0x8000000
--	CLONE_NEWNET                     = 0x40000000
--	CLONE_NEWNS                      = 0x20000
--	CLONE_NEWPID                     = 0x20000000
--	CLONE_NEWUSER                    = 0x10000000
--	CLONE_NEWUTS                     = 0x4000000
--	CLONE_PARENT                     = 0x8000
--	CLONE_PARENT_SETTID              = 0x100000
--	CLONE_PTRACE                     = 0x2000
--	CLONE_SETTLS                     = 0x80000
--	CLONE_SIGHAND                    = 0x800
--	CLONE_SYSVSEM                    = 0x40000
--	CLONE_THREAD                     = 0x10000
--	CLONE_UNTRACED                   = 0x800000
--	CLONE_VFORK                      = 0x4000
--	CLONE_VM                         = 0x100
--	CMSPAR                           = 0x40000000
--	CR0                              = 0x0
- 	CR1                              = 0x200
- 	CR2                              = 0x400
- 	CR3                              = 0x600
- 	CRDLY                            = 0x600
- 	CREAD                            = 0x80
--	CRTSCTS                          = 0x80000000
--	CS5                              = 0x0
- 	CS6                              = 0x10
- 	CS7                              = 0x20
- 	CS8                              = 0x30
--	CSIGNAL                          = 0xff
- 	CSIZE                            = 0x30
--	CSTART                           = 0x11
--	CSTATUS                          = 0x0
--	CSTOP                            = 0x13
- 	CSTOPB                           = 0x40
--	CSUSP                            = 0x1a
--	DT_BLK                           = 0x6
--	DT_CHR                           = 0x2
--	DT_DIR                           = 0x4
--	DT_FIFO                          = 0x1
--	DT_LNK                           = 0xa
--	DT_REG                           = 0x8
--	DT_SOCK                          = 0xc
--	DT_UNKNOWN                       = 0x0
--	DT_WHT                           = 0xe
--	ECHO                             = 0x8
- 	ECHOCTL                          = 0x200
- 	ECHOE                            = 0x10
- 	ECHOK                            = 0x20
- 	ECHOKE                           = 0x800
- 	ECHONL                           = 0x40
- 	ECHOPRT                          = 0x400
-+	EFD_CLOEXEC                      = 0x400000
-+	EFD_NONBLOCK                     = 0x4000
- 	EMT_TAGOVF                       = 0x1
--	ENCODING_DEFAULT                 = 0x0
--	ENCODING_FM_MARK                 = 0x3
--	ENCODING_FM_SPACE                = 0x4
--	ENCODING_MANCHESTER              = 0x5
--	ENCODING_NRZ                     = 0x1
--	ENCODING_NRZI                    = 0x2
--	EPOLLERR                         = 0x8
--	EPOLLET                          = 0x80000000
--	EPOLLEXCLUSIVE                   = 0x10000000
--	EPOLLHUP                         = 0x10
--	EPOLLIN                          = 0x1
--	EPOLLMSG                         = 0x400
--	EPOLLONESHOT                     = 0x40000000
--	EPOLLOUT                         = 0x4
--	EPOLLPRI                         = 0x2
--	EPOLLRDBAND                      = 0x80
--	EPOLLRDHUP                       = 0x2000
--	EPOLLRDNORM                      = 0x40
--	EPOLLWAKEUP                      = 0x20000000
--	EPOLLWRBAND                      = 0x200
--	EPOLLWRNORM                      = 0x100
- 	EPOLL_CLOEXEC                    = 0x400000
--	EPOLL_CTL_ADD                    = 0x1
--	EPOLL_CTL_DEL                    = 0x2
--	EPOLL_CTL_MOD                    = 0x3
--	ETH_P_1588                       = 0x88f7
--	ETH_P_8021AD                     = 0x88a8
--	ETH_P_8021AH                     = 0x88e7
--	ETH_P_8021Q                      = 0x8100
--	ETH_P_80221                      = 0x8917
--	ETH_P_802_2                      = 0x4
--	ETH_P_802_3                      = 0x1
--	ETH_P_802_3_MIN                  = 0x600
--	ETH_P_802_EX1                    = 0x88b5
--	ETH_P_AARP                       = 0x80f3
--	ETH_P_AF_IUCV                    = 0xfbfb
--	ETH_P_ALL                        = 0x3
--	ETH_P_AOE                        = 0x88a2
--	ETH_P_ARCNET                     = 0x1a
--	ETH_P_ARP                        = 0x806
--	ETH_P_ATALK                      = 0x809b
--	ETH_P_ATMFATE                    = 0x8884
--	ETH_P_ATMMPOA                    = 0x884c
--	ETH_P_AX25                       = 0x2
--	ETH_P_BATMAN                     = 0x4305
--	ETH_P_BPQ                        = 0x8ff
--	ETH_P_CAIF                       = 0xf7
--	ETH_P_CAN                        = 0xc
--	ETH_P_CANFD                      = 0xd
--	ETH_P_CONTROL                    = 0x16
--	ETH_P_CUST                       = 0x6006
--	ETH_P_DDCMP                      = 0x6
--	ETH_P_DEC                        = 0x6000
--	ETH_P_DIAG                       = 0x6005
--	ETH_P_DNA_DL                     = 0x6001
--	ETH_P_DNA_RC                     = 0x6002
--	ETH_P_DNA_RT                     = 0x6003
--	ETH_P_DSA                        = 0x1b
--	ETH_P_ECONET                     = 0x18
--	ETH_P_EDSA                       = 0xdada
--	ETH_P_FCOE                       = 0x8906
--	ETH_P_FIP                        = 0x8914
--	ETH_P_HDLC                       = 0x19
--	ETH_P_HSR                        = 0x892f
--	ETH_P_IEEE802154                 = 0xf6
--	ETH_P_IEEEPUP                    = 0xa00
--	ETH_P_IEEEPUPAT                  = 0xa01
--	ETH_P_IP                         = 0x800
--	ETH_P_IPV6                       = 0x86dd
--	ETH_P_IPX                        = 0x8137
--	ETH_P_IRDA                       = 0x17
--	ETH_P_LAT                        = 0x6004
--	ETH_P_LINK_CTL                   = 0x886c
--	ETH_P_LOCALTALK                  = 0x9
--	ETH_P_LOOP                       = 0x60
--	ETH_P_LOOPBACK                   = 0x9000
--	ETH_P_MACSEC                     = 0x88e5
--	ETH_P_MOBITEX                    = 0x15
--	ETH_P_MPLS_MC                    = 0x8848
--	ETH_P_MPLS_UC                    = 0x8847
--	ETH_P_MVRP                       = 0x88f5
--	ETH_P_PAE                        = 0x888e
--	ETH_P_PAUSE                      = 0x8808
--	ETH_P_PHONET                     = 0xf5
--	ETH_P_PPPTALK                    = 0x10
--	ETH_P_PPP_DISC                   = 0x8863
--	ETH_P_PPP_MP                     = 0x8
--	ETH_P_PPP_SES                    = 0x8864
--	ETH_P_PRP                        = 0x88fb
--	ETH_P_PUP                        = 0x200
--	ETH_P_PUPAT                      = 0x201
--	ETH_P_QINQ1                      = 0x9100
--	ETH_P_QINQ2                      = 0x9200
--	ETH_P_QINQ3                      = 0x9300
--	ETH_P_RARP                       = 0x8035
--	ETH_P_SCA                        = 0x6007
--	ETH_P_SLOW                       = 0x8809
--	ETH_P_SNAP                       = 0x5
--	ETH_P_TDLS                       = 0x890d
--	ETH_P_TEB                        = 0x6558
--	ETH_P_TIPC                       = 0x88ca
--	ETH_P_TRAILER                    = 0x1c
--	ETH_P_TR_802_2                   = 0x11
--	ETH_P_TSN                        = 0x22f0
--	ETH_P_WAN_PPP                    = 0x7
--	ETH_P_WCCP                       = 0x883e
--	ETH_P_X25                        = 0x805
--	ETH_P_XDSA                       = 0xf8
--	EXTA                             = 0xe
--	EXTB                             = 0xf
- 	EXTPROC                          = 0x10000
--	FALLOC_FL_COLLAPSE_RANGE         = 0x8
--	FALLOC_FL_INSERT_RANGE           = 0x20
--	FALLOC_FL_KEEP_SIZE              = 0x1
--	FALLOC_FL_NO_HIDE_STALE          = 0x4
--	FALLOC_FL_PUNCH_HOLE             = 0x2
--	FALLOC_FL_ZERO_RANGE             = 0x10
--	FD_CLOEXEC                       = 0x1
--	FD_SETSIZE                       = 0x400
--	FF0                              = 0x0
- 	FF1                              = 0x8000
- 	FFDLY                            = 0x8000
--	FLUSHO                           = 0x2000
--	F_DUPFD                          = 0x0
--	F_DUPFD_CLOEXEC                  = 0x406
--	F_EXLCK                          = 0x4
--	F_GETFD                          = 0x1
--	F_GETFL                          = 0x3
--	F_GETLEASE                       = 0x401
-+	FLUSHO                           = 0x1000
-+	FS_IOC_ENABLE_VERITY             = 0x80806685
-+	FS_IOC_GETFLAGS                  = 0x40086601
-+	FS_IOC_GET_ENCRYPTION_POLICY     = 0x800c6615
-+	FS_IOC_GET_ENCRYPTION_PWSALT     = 0x80106614
-+	FS_IOC_SET_ENCRYPTION_POLICY     = 0x400c6613
- 	F_GETLK                          = 0x7
- 	F_GETLK64                        = 0x7
- 	F_GETOWN                         = 0x5
--	F_GETOWN_EX                      = 0x10
--	F_GETPIPE_SZ                     = 0x408
--	F_GETSIG                         = 0xb
--	F_LOCK                           = 0x1
--	F_NOTIFY                         = 0x402
--	F_OFD_GETLK                      = 0x24
--	F_OFD_SETLK                      = 0x25
--	F_OFD_SETLKW                     = 0x26
--	F_OK                             = 0x0
- 	F_RDLCK                          = 0x1
--	F_SETFD                          = 0x2
--	F_SETFL                          = 0x4
--	F_SETLEASE                       = 0x400
- 	F_SETLK                          = 0x8
- 	F_SETLK64                        = 0x8
- 	F_SETLKW                         = 0x9
- 	F_SETLKW64                       = 0x9
- 	F_SETOWN                         = 0x6
--	F_SETOWN_EX                      = 0xf
--	F_SETPIPE_SZ                     = 0x407
--	F_SETSIG                         = 0xa
--	F_SHLCK                          = 0x8
--	F_TEST                           = 0x3
--	F_TLOCK                          = 0x2
--	F_ULOCK                          = 0x0
- 	F_UNLCK                          = 0x3
- 	F_WRLCK                          = 0x2
--	GRND_NONBLOCK                    = 0x1
--	GRND_RANDOM                      = 0x2
- 	HUPCL                            = 0x400
--	IBSHIFT                          = 0x10
- 	ICANON                           = 0x2
--	ICMPV6_FILTER                    = 0x1
--	ICRNL                            = 0x100
- 	IEXTEN                           = 0x8000
--	IFA_F_DADFAILED                  = 0x8
--	IFA_F_DEPRECATED                 = 0x20
--	IFA_F_HOMEADDRESS                = 0x10
--	IFA_F_MANAGETEMPADDR             = 0x100
--	IFA_F_MCAUTOJOIN                 = 0x400
--	IFA_F_NODAD                      = 0x2
--	IFA_F_NOPREFIXROUTE              = 0x200
--	IFA_F_OPTIMISTIC                 = 0x4
--	IFA_F_PERMANENT                  = 0x80
--	IFA_F_SECONDARY                  = 0x1
--	IFA_F_STABLE_PRIVACY             = 0x800
--	IFA_F_TEMPORARY                  = 0x1
--	IFA_F_TENTATIVE                  = 0x40
--	IFA_MAX                          = 0x8
--	IFF_ALLMULTI                     = 0x200
--	IFF_ATTACH_QUEUE                 = 0x200
--	IFF_AUTOMEDIA                    = 0x4000
--	IFF_BROADCAST                    = 0x2
--	IFF_DEBUG                        = 0x4
--	IFF_DETACH_QUEUE                 = 0x400
--	IFF_DORMANT                      = 0x20000
--	IFF_DYNAMIC                      = 0x8000
--	IFF_ECHO                         = 0x40000
--	IFF_LOOPBACK                     = 0x8
--	IFF_LOWER_UP                     = 0x10000
--	IFF_MASTER                       = 0x400
--	IFF_MULTICAST                    = 0x1000
--	IFF_MULTI_QUEUE                  = 0x100
--	IFF_NOARP                        = 0x80
--	IFF_NOFILTER                     = 0x1000
--	IFF_NOTRAILERS                   = 0x20
--	IFF_NO_PI                        = 0x1000
--	IFF_ONE_QUEUE                    = 0x2000
--	IFF_PERSIST                      = 0x800
--	IFF_POINTOPOINT                  = 0x10
--	IFF_PORTSEL                      = 0x2000
--	IFF_PROMISC                      = 0x100
--	IFF_RUNNING                      = 0x40
--	IFF_SLAVE                        = 0x800
--	IFF_TAP                          = 0x2
--	IFF_TUN                          = 0x1
--	IFF_TUN_EXCL                     = 0x8000
--	IFF_UP                           = 0x1
--	IFF_VNET_HDR                     = 0x4000
--	IFF_VOLATILE                     = 0x70c5a
--	IFNAMSIZ                         = 0x10
--	IGNBRK                           = 0x1
--	IGNCR                            = 0x80
--	IGNPAR                           = 0x4
--	IMAXBEL                          = 0x2000
--	INLCR                            = 0x40
--	INPCK                            = 0x10
--	IN_ACCESS                        = 0x1
--	IN_ALL_EVENTS                    = 0xfff
--	IN_ATTRIB                        = 0x4
--	IN_CLASSA_HOST                   = 0xffffff
--	IN_CLASSA_MAX                    = 0x80
--	IN_CLASSA_NET                    = 0xff000000
--	IN_CLASSA_NSHIFT                 = 0x18
--	IN_CLASSB_HOST                   = 0xffff
--	IN_CLASSB_MAX                    = 0x10000
--	IN_CLASSB_NET                    = 0xffff0000
--	IN_CLASSB_NSHIFT                 = 0x10
--	IN_CLASSC_HOST                   = 0xff
--	IN_CLASSC_NET                    = 0xffffff00
--	IN_CLASSC_NSHIFT                 = 0x8
- 	IN_CLOEXEC                       = 0x400000
--	IN_CLOSE                         = 0x18
--	IN_CLOSE_NOWRITE                 = 0x10
--	IN_CLOSE_WRITE                   = 0x8
--	IN_CREATE                        = 0x100
--	IN_DELETE                        = 0x200
--	IN_DELETE_SELF                   = 0x400
--	IN_DONT_FOLLOW                   = 0x2000000
--	IN_EXCL_UNLINK                   = 0x4000000
--	IN_IGNORED                       = 0x8000
--	IN_ISDIR                         = 0x40000000
--	IN_LOOPBACKNET                   = 0x7f
--	IN_MASK_ADD                      = 0x20000000
--	IN_MODIFY                        = 0x2
--	IN_MOVE                          = 0xc0
--	IN_MOVED_FROM                    = 0x40
--	IN_MOVED_TO                      = 0x80
--	IN_MOVE_SELF                     = 0x800
- 	IN_NONBLOCK                      = 0x4000
--	IN_ONESHOT                       = 0x80000000
--	IN_ONLYDIR                       = 0x1000000
--	IN_OPEN                          = 0x20
--	IN_Q_OVERFLOW                    = 0x4000
--	IN_UNMOUNT                       = 0x2000
--	IPPROTO_AH                       = 0x33
--	IPPROTO_BEETPH                   = 0x5e
--	IPPROTO_COMP                     = 0x6c
--	IPPROTO_DCCP                     = 0x21
--	IPPROTO_DSTOPTS                  = 0x3c
--	IPPROTO_EGP                      = 0x8
--	IPPROTO_ENCAP                    = 0x62
--	IPPROTO_ESP                      = 0x32
--	IPPROTO_FRAGMENT                 = 0x2c
--	IPPROTO_GRE                      = 0x2f
--	IPPROTO_HOPOPTS                  = 0x0
--	IPPROTO_ICMP                     = 0x1
--	IPPROTO_ICMPV6                   = 0x3a
--	IPPROTO_IDP                      = 0x16
--	IPPROTO_IGMP                     = 0x2
--	IPPROTO_IP                       = 0x0
--	IPPROTO_IPIP                     = 0x4
--	IPPROTO_IPV6                     = 0x29
--	IPPROTO_MH                       = 0x87
--	IPPROTO_MPLS                     = 0x89
--	IPPROTO_MTP                      = 0x5c
--	IPPROTO_NONE                     = 0x3b
--	IPPROTO_PIM                      = 0x67
--	IPPROTO_PUP                      = 0xc
--	IPPROTO_RAW                      = 0xff
--	IPPROTO_ROUTING                  = 0x2b
--	IPPROTO_RSVP                     = 0x2e
--	IPPROTO_SCTP                     = 0x84
--	IPPROTO_TCP                      = 0x6
--	IPPROTO_TP                       = 0x1d
--	IPPROTO_UDP                      = 0x11
--	IPPROTO_UDPLITE                  = 0x88
--	IPV6_2292DSTOPTS                 = 0x4
--	IPV6_2292HOPLIMIT                = 0x8
--	IPV6_2292HOPOPTS                 = 0x3
--	IPV6_2292PKTINFO                 = 0x2
--	IPV6_2292PKTOPTIONS              = 0x6
--	IPV6_2292RTHDR                   = 0x5
--	IPV6_ADDRFORM                    = 0x1
--	IPV6_ADD_MEMBERSHIP              = 0x14
--	IPV6_AUTHHDR                     = 0xa
--	IPV6_CHECKSUM                    = 0x7
--	IPV6_DONTFRAG                    = 0x3e
--	IPV6_DROP_MEMBERSHIP             = 0x15
--	IPV6_DSTOPTS                     = 0x3b
--	IPV6_HDRINCL                     = 0x24
--	IPV6_HOPLIMIT                    = 0x34
--	IPV6_HOPOPTS                     = 0x36
--	IPV6_IPSEC_POLICY                = 0x22
--	IPV6_JOIN_ANYCAST                = 0x1b
--	IPV6_JOIN_GROUP                  = 0x14
--	IPV6_LEAVE_ANYCAST               = 0x1c
--	IPV6_LEAVE_GROUP                 = 0x15
--	IPV6_MTU                         = 0x18
--	IPV6_MTU_DISCOVER                = 0x17
--	IPV6_MULTICAST_HOPS              = 0x12
--	IPV6_MULTICAST_IF                = 0x11
--	IPV6_MULTICAST_LOOP              = 0x13
--	IPV6_NEXTHOP                     = 0x9
--	IPV6_PATHMTU                     = 0x3d
--	IPV6_PKTINFO                     = 0x32
--	IPV6_PMTUDISC_DO                 = 0x2
--	IPV6_PMTUDISC_DONT               = 0x0
--	IPV6_PMTUDISC_INTERFACE          = 0x4
--	IPV6_PMTUDISC_OMIT               = 0x5
--	IPV6_PMTUDISC_PROBE              = 0x3
--	IPV6_PMTUDISC_WANT               = 0x1
--	IPV6_RECVDSTOPTS                 = 0x3a
--	IPV6_RECVERR                     = 0x19
--	IPV6_RECVHOPLIMIT                = 0x33
--	IPV6_RECVHOPOPTS                 = 0x35
--	IPV6_RECVPATHMTU                 = 0x3c
--	IPV6_RECVPKTINFO                 = 0x31
--	IPV6_RECVRTHDR                   = 0x38
--	IPV6_RECVTCLASS                  = 0x42
--	IPV6_ROUTER_ALERT                = 0x16
--	IPV6_RTHDR                       = 0x39
--	IPV6_RTHDRDSTOPTS                = 0x37
--	IPV6_RTHDR_LOOSE                 = 0x0
--	IPV6_RTHDR_STRICT                = 0x1
--	IPV6_RTHDR_TYPE_0                = 0x0
--	IPV6_RXDSTOPTS                   = 0x3b
--	IPV6_RXHOPOPTS                   = 0x36
--	IPV6_TCLASS                      = 0x43
--	IPV6_UNICAST_HOPS                = 0x10
--	IPV6_V6ONLY                      = 0x1a
--	IPV6_XFRM_POLICY                 = 0x23
--	IP_ADD_MEMBERSHIP                = 0x23
--	IP_ADD_SOURCE_MEMBERSHIP         = 0x27
--	IP_BIND_ADDRESS_NO_PORT          = 0x18
--	IP_BLOCK_SOURCE                  = 0x26
--	IP_CHECKSUM                      = 0x17
--	IP_DEFAULT_MULTICAST_LOOP        = 0x1
--	IP_DEFAULT_MULTICAST_TTL         = 0x1
--	IP_DF                            = 0x4000
--	IP_DROP_MEMBERSHIP               = 0x24
--	IP_DROP_SOURCE_MEMBERSHIP        = 0x28
--	IP_FREEBIND                      = 0xf
--	IP_HDRINCL                       = 0x3
--	IP_IPSEC_POLICY                  = 0x10
--	IP_MAXPACKET                     = 0xffff
--	IP_MAX_MEMBERSHIPS               = 0x14
--	IP_MF                            = 0x2000
--	IP_MINTTL                        = 0x15
--	IP_MSFILTER                      = 0x29
--	IP_MSS                           = 0x240
--	IP_MTU                           = 0xe
--	IP_MTU_DISCOVER                  = 0xa
--	IP_MULTICAST_ALL                 = 0x31
--	IP_MULTICAST_IF                  = 0x20
--	IP_MULTICAST_LOOP                = 0x22
--	IP_MULTICAST_TTL                 = 0x21
--	IP_NODEFRAG                      = 0x16
--	IP_OFFMASK                       = 0x1fff
--	IP_OPTIONS                       = 0x4
--	IP_ORIGDSTADDR                   = 0x14
--	IP_PASSSEC                       = 0x12
--	IP_PKTINFO                       = 0x8
--	IP_PKTOPTIONS                    = 0x9
--	IP_PMTUDISC                      = 0xa
--	IP_PMTUDISC_DO                   = 0x2
--	IP_PMTUDISC_DONT                 = 0x0
--	IP_PMTUDISC_INTERFACE            = 0x4
--	IP_PMTUDISC_OMIT                 = 0x5
--	IP_PMTUDISC_PROBE                = 0x3
--	IP_PMTUDISC_WANT                 = 0x1
--	IP_RECVERR                       = 0xb
--	IP_RECVOPTS                      = 0x6
--	IP_RECVORIGDSTADDR               = 0x14
--	IP_RECVRETOPTS                   = 0x7
--	IP_RECVTOS                       = 0xd
--	IP_RECVTTL                       = 0xc
--	IP_RETOPTS                       = 0x7
--	IP_RF                            = 0x8000
--	IP_ROUTER_ALERT                  = 0x5
--	IP_TOS                           = 0x1
--	IP_TRANSPARENT                   = 0x13
--	IP_TTL                           = 0x2
--	IP_UNBLOCK_SOURCE                = 0x25
--	IP_UNICAST_IF                    = 0x32
--	IP_XFRM_POLICY                   = 0x11
-+	IOCTL_VM_SOCKETS_GET_LOCAL_CID   = 0x200007b9
- 	ISIG                             = 0x1
--	ISTRIP                           = 0x20
- 	IUCLC                            = 0x200
--	IUTF8                            = 0x4000
--	IXANY                            = 0x800
- 	IXOFF                            = 0x1000
- 	IXON                             = 0x400
--	LINUX_REBOOT_CMD_CAD_OFF         = 0x0
--	LINUX_REBOOT_CMD_CAD_ON          = 0x89abcdef
--	LINUX_REBOOT_CMD_HALT            = 0xcdef0123
--	LINUX_REBOOT_CMD_KEXEC           = 0x45584543
--	LINUX_REBOOT_CMD_POWER_OFF       = 0x4321fedc
--	LINUX_REBOOT_CMD_RESTART         = 0x1234567
--	LINUX_REBOOT_CMD_RESTART2        = 0xa1b2c3d4
--	LINUX_REBOOT_CMD_SW_SUSPEND      = 0xd000fce2
--	LINUX_REBOOT_MAGIC1              = 0xfee1dead
--	LINUX_REBOOT_MAGIC2              = 0x28121969
--	LOCK_EX                          = 0x2
--	LOCK_NB                          = 0x4
--	LOCK_SH                          = 0x1
--	LOCK_UN                          = 0x8
--	MADV_DODUMP                      = 0x11
--	MADV_DOFORK                      = 0xb
--	MADV_DONTDUMP                    = 0x10
--	MADV_DONTFORK                    = 0xa
--	MADV_DONTNEED                    = 0x4
--	MADV_FREE                        = 0x8
--	MADV_HUGEPAGE                    = 0xe
--	MADV_HWPOISON                    = 0x64
--	MADV_MERGEABLE                   = 0xc
--	MADV_NOHUGEPAGE                  = 0xf
--	MADV_NORMAL                      = 0x0
--	MADV_RANDOM                      = 0x1
--	MADV_REMOVE                      = 0x9
--	MADV_SEQUENTIAL                  = 0x2
--	MADV_UNMERGEABLE                 = 0xd
--	MADV_WILLNEED                    = 0x3
- 	MAP_ANON                         = 0x20
- 	MAP_ANONYMOUS                    = 0x20
- 	MAP_DENYWRITE                    = 0x800
- 	MAP_EXECUTABLE                   = 0x1000
--	MAP_FILE                         = 0x0
--	MAP_FIXED                        = 0x10
- 	MAP_GROWSDOWN                    = 0x200
- 	MAP_HUGETLB                      = 0x40000
--	MAP_HUGE_MASK                    = 0x3f
--	MAP_HUGE_SHIFT                   = 0x1a
- 	MAP_LOCKED                       = 0x100
- 	MAP_NONBLOCK                     = 0x10000
- 	MAP_NORESERVE                    = 0x40
- 	MAP_POPULATE                     = 0x8000
--	MAP_PRIVATE                      = 0x2
- 	MAP_RENAME                       = 0x20
--	MAP_SHARED                       = 0x1
- 	MAP_STACK                        = 0x20000
--	MAP_TYPE                         = 0xf
-+	MAP_SYNC                         = 0x80000
- 	MCL_CURRENT                      = 0x2000
- 	MCL_FUTURE                       = 0x4000
- 	MCL_ONFAULT                      = 0x8000
--	MNT_DETACH                       = 0x2
--	MNT_EXPIRE                       = 0x4
--	MNT_FORCE                        = 0x1
--	MSG_BATCH                        = 0x40000
--	MSG_CMSG_CLOEXEC                 = 0x40000000
--	MSG_CONFIRM                      = 0x800
--	MSG_CTRUNC                       = 0x8
--	MSG_DONTROUTE                    = 0x4
--	MSG_DONTWAIT                     = 0x40
--	MSG_EOR                          = 0x80
--	MSG_ERRQUEUE                     = 0x2000
--	MSG_FASTOPEN                     = 0x20000000
--	MSG_FIN                          = 0x200
--	MSG_MORE                         = 0x8000
--	MSG_NOSIGNAL                     = 0x4000
--	MSG_OOB                          = 0x1
--	MSG_PEEK                         = 0x2
--	MSG_PROXY                        = 0x10
--	MSG_RST                          = 0x1000
--	MSG_SYN                          = 0x400
--	MSG_TRUNC                        = 0x20
--	MSG_TRYHARD                      = 0x4
--	MSG_WAITALL                      = 0x100
--	MSG_WAITFORONE                   = 0x10000
--	MS_ACTIVE                        = 0x40000000
--	MS_ASYNC                         = 0x1
--	MS_BIND                          = 0x1000
--	MS_DIRSYNC                       = 0x80
--	MS_INVALIDATE                    = 0x2
--	MS_I_VERSION                     = 0x800000
--	MS_KERNMOUNT                     = 0x400000
--	MS_LAZYTIME                      = 0x2000000
--	MS_MANDLOCK                      = 0x40
--	MS_MGC_MSK                       = 0xffff0000
--	MS_MGC_VAL                       = 0xc0ed0000
--	MS_MOVE                          = 0x2000
--	MS_NOATIME                       = 0x400
--	MS_NODEV                         = 0x4
--	MS_NODIRATIME                    = 0x800
--	MS_NOEXEC                        = 0x8
--	MS_NOSUID                        = 0x2
--	MS_NOUSER                        = -0x80000000
--	MS_POSIXACL                      = 0x10000
--	MS_PRIVATE                       = 0x40000
--	MS_RDONLY                        = 0x1
--	MS_REC                           = 0x4000
--	MS_RELATIME                      = 0x200000
--	MS_REMOUNT                       = 0x20
--	MS_RMT_MASK                      = 0x2800051
--	MS_SHARED                        = 0x100000
--	MS_SILENT                        = 0x8000
--	MS_SLAVE                         = 0x80000
--	MS_STRICTATIME                   = 0x1000000
--	MS_SYNC                          = 0x4
--	MS_SYNCHRONOUS                   = 0x10
--	MS_UNBINDABLE                    = 0x20000
--	NAME_MAX                         = 0xff
--	NETLINK_ADD_MEMBERSHIP           = 0x1
--	NETLINK_AUDIT                    = 0x9
--	NETLINK_BROADCAST_ERROR          = 0x4
--	NETLINK_CAP_ACK                  = 0xa
--	NETLINK_CONNECTOR                = 0xb
--	NETLINK_CRYPTO                   = 0x15
--	NETLINK_DNRTMSG                  = 0xe
--	NETLINK_DROP_MEMBERSHIP          = 0x2
--	NETLINK_ECRYPTFS                 = 0x13
--	NETLINK_FIB_LOOKUP               = 0xa
--	NETLINK_FIREWALL                 = 0x3
--	NETLINK_GENERIC                  = 0x10
--	NETLINK_INET_DIAG                = 0x4
--	NETLINK_IP6_FW                   = 0xd
--	NETLINK_ISCSI                    = 0x8
--	NETLINK_KOBJECT_UEVENT           = 0xf
--	NETLINK_LISTEN_ALL_NSID          = 0x8
--	NETLINK_LIST_MEMBERSHIPS         = 0x9
--	NETLINK_NETFILTER                = 0xc
--	NETLINK_NFLOG                    = 0x5
--	NETLINK_NO_ENOBUFS               = 0x5
--	NETLINK_PKTINFO                  = 0x3
--	NETLINK_RDMA                     = 0x14
--	NETLINK_ROUTE                    = 0x0
--	NETLINK_RX_RING                  = 0x6
--	NETLINK_SCSITRANSPORT            = 0x12
--	NETLINK_SELINUX                  = 0x7
--	NETLINK_SOCK_DIAG                = 0x4
--	NETLINK_TX_RING                  = 0x7
--	NETLINK_UNUSED                   = 0x1
--	NETLINK_USERSOCK                 = 0x2
--	NETLINK_XFRM                     = 0x6
--	NL0                              = 0x0
--	NL1                              = 0x100
--	NLA_ALIGNTO                      = 0x4
--	NLA_F_NESTED                     = 0x8000
--	NLA_F_NET_BYTEORDER              = 0x4000
--	NLA_HDRLEN                       = 0x4
-+	NFDBITS                          = 0x40
- 	NLDLY                            = 0x100
--	NLMSG_ALIGNTO                    = 0x4
--	NLMSG_DONE                       = 0x3
--	NLMSG_ERROR                      = 0x2
--	NLMSG_HDRLEN                     = 0x10
--	NLMSG_MIN_TYPE                   = 0x10
--	NLMSG_NOOP                       = 0x1
--	NLMSG_OVERRUN                    = 0x4
--	NLM_F_ACK                        = 0x4
--	NLM_F_APPEND                     = 0x800
--	NLM_F_ATOMIC                     = 0x400
--	NLM_F_CREATE                     = 0x400
--	NLM_F_DUMP                       = 0x300
--	NLM_F_DUMP_FILTERED              = 0x20
--	NLM_F_DUMP_INTR                  = 0x10
--	NLM_F_ECHO                       = 0x8
--	NLM_F_EXCL                       = 0x200
--	NLM_F_MATCH                      = 0x200
--	NLM_F_MULTI                      = 0x2
--	NLM_F_REPLACE                    = 0x100
--	NLM_F_REQUEST                    = 0x1
--	NLM_F_ROOT                       = 0x100
- 	NOFLSH                           = 0x80
--	OCRNL                            = 0x8
--	OFDEL                            = 0x80
--	OFILL                            = 0x40
-+	NS_GET_NSTYPE                    = 0x2000b703
-+	NS_GET_OWNER_UID                 = 0x2000b704
-+	NS_GET_PARENT                    = 0x2000b702
-+	NS_GET_USERNS                    = 0x2000b701
- 	OLCUC                            = 0x2
- 	ONLCR                            = 0x4
--	ONLRET                           = 0x20
--	ONOCR                            = 0x10
--	OPOST                            = 0x1
--	O_ACCMODE                        = 0x3
- 	O_APPEND                         = 0x8
- 	O_ASYNC                          = 0x40
- 	O_CLOEXEC                        = 0x400000
-@@ -926,231 +143,67 @@ const (
- 	O_NOFOLLOW                       = 0x20000
- 	O_NONBLOCK                       = 0x4000
- 	O_PATH                           = 0x1000000
--	O_RDONLY                         = 0x0
--	O_RDWR                           = 0x2
- 	O_RSYNC                          = 0x802000
- 	O_SYNC                           = 0x802000
- 	O_TMPFILE                        = 0x2010000
- 	O_TRUNC                          = 0x400
--	O_WRONLY                         = 0x1
--	PACKET_ADD_MEMBERSHIP            = 0x1
--	PACKET_AUXDATA                   = 0x8
--	PACKET_BROADCAST                 = 0x1
--	PACKET_COPY_THRESH               = 0x7
--	PACKET_DROP_MEMBERSHIP           = 0x2
--	PACKET_FANOUT                    = 0x12
--	PACKET_FANOUT_CBPF               = 0x6
--	PACKET_FANOUT_CPU                = 0x2
--	PACKET_FANOUT_DATA               = 0x16
--	PACKET_FANOUT_EBPF               = 0x7
--	PACKET_FANOUT_FLAG_DEFRAG        = 0x8000
--	PACKET_FANOUT_FLAG_ROLLOVER      = 0x1000
--	PACKET_FANOUT_HASH               = 0x0
--	PACKET_FANOUT_LB                 = 0x1
--	PACKET_FANOUT_QM                 = 0x5
--	PACKET_FANOUT_RND                = 0x4
--	PACKET_FANOUT_ROLLOVER           = 0x3
--	PACKET_FASTROUTE                 = 0x6
--	PACKET_HDRLEN                    = 0xb
--	PACKET_HOST                      = 0x0
--	PACKET_KERNEL                    = 0x7
--	PACKET_LOOPBACK                  = 0x5
--	PACKET_LOSS                      = 0xe
--	PACKET_MR_ALLMULTI               = 0x2
--	PACKET_MR_MULTICAST              = 0x0
--	PACKET_MR_PROMISC                = 0x1
--	PACKET_MR_UNICAST                = 0x3
--	PACKET_MULTICAST                 = 0x2
--	PACKET_ORIGDEV                   = 0x9
--	PACKET_OTHERHOST                 = 0x3
--	PACKET_OUTGOING                  = 0x4
--	PACKET_QDISC_BYPASS              = 0x14
--	PACKET_RECV_OUTPUT               = 0x3
--	PACKET_RESERVE                   = 0xc
--	PACKET_ROLLOVER_STATS            = 0x15
--	PACKET_RX_RING                   = 0x5
--	PACKET_STATISTICS                = 0x6
--	PACKET_TIMESTAMP                 = 0x11
--	PACKET_TX_HAS_OFF                = 0x13
--	PACKET_TX_RING                   = 0xd
--	PACKET_TX_TIMESTAMP              = 0x10
--	PACKET_USER                      = 0x6
--	PACKET_VERSION                   = 0xa
--	PACKET_VNET_HDR                  = 0xf
- 	PARENB                           = 0x100
--	PARITY_CRC16_PR0                 = 0x2
--	PARITY_CRC16_PR0_CCITT           = 0x4
--	PARITY_CRC16_PR1                 = 0x3
--	PARITY_CRC16_PR1_CCITT           = 0x5
--	PARITY_CRC32_PR0_CCITT           = 0x6
--	PARITY_CRC32_PR1_CCITT           = 0x7
--	PARITY_DEFAULT                   = 0x0
--	PARITY_NONE                      = 0x1
--	PARMRK                           = 0x8
- 	PARODD                           = 0x200
- 	PENDIN                           = 0x4000
--	PRIO_PGRP                        = 0x1
--	PRIO_PROCESS                     = 0x0
--	PRIO_USER                        = 0x2
--	PROT_EXEC                        = 0x4
--	PROT_GROWSDOWN                   = 0x1000000
--	PROT_GROWSUP                     = 0x2000000
--	PROT_NONE                        = 0x0
--	PROT_READ                        = 0x1
--	PROT_WRITE                       = 0x2
--	PR_CAPBSET_DROP                  = 0x18
--	PR_CAPBSET_READ                  = 0x17
--	PR_CAP_AMBIENT                   = 0x2f
--	PR_CAP_AMBIENT_CLEAR_ALL         = 0x4
--	PR_CAP_AMBIENT_IS_SET            = 0x1
--	PR_CAP_AMBIENT_LOWER             = 0x3
--	PR_CAP_AMBIENT_RAISE             = 0x2
--	PR_ENDIAN_BIG                    = 0x0
--	PR_ENDIAN_LITTLE                 = 0x1
--	PR_ENDIAN_PPC_LITTLE             = 0x2
--	PR_FPEMU_NOPRINT                 = 0x1
--	PR_FPEMU_SIGFPE                  = 0x2
--	PR_FP_EXC_ASYNC                  = 0x2
--	PR_FP_EXC_DISABLED               = 0x0
--	PR_FP_EXC_DIV                    = 0x10000
--	PR_FP_EXC_INV                    = 0x100000
--	PR_FP_EXC_NONRECOV               = 0x1
--	PR_FP_EXC_OVF                    = 0x20000
--	PR_FP_EXC_PRECISE                = 0x3
--	PR_FP_EXC_RES                    = 0x80000
--	PR_FP_EXC_SW_ENABLE              = 0x80
--	PR_FP_EXC_UND                    = 0x40000
--	PR_FP_MODE_FR                    = 0x1
--	PR_FP_MODE_FRE                   = 0x2
--	PR_GET_CHILD_SUBREAPER           = 0x25
--	PR_GET_DUMPABLE                  = 0x3
--	PR_GET_ENDIAN                    = 0x13
--	PR_GET_FPEMU                     = 0x9
--	PR_GET_FPEXC                     = 0xb
--	PR_GET_FP_MODE                   = 0x2e
--	PR_GET_KEEPCAPS                  = 0x7
--	PR_GET_NAME                      = 0x10
--	PR_GET_NO_NEW_PRIVS              = 0x27
--	PR_GET_PDEATHSIG                 = 0x2
--	PR_GET_SECCOMP                   = 0x15
--	PR_GET_SECUREBITS                = 0x1b
--	PR_GET_THP_DISABLE               = 0x2a
--	PR_GET_TID_ADDRESS               = 0x28
--	PR_GET_TIMERSLACK                = 0x1e
--	PR_GET_TIMING                    = 0xd
--	PR_GET_TSC                       = 0x19
--	PR_GET_UNALIGN                   = 0x5
--	PR_MCE_KILL                      = 0x21
--	PR_MCE_KILL_CLEAR                = 0x0
--	PR_MCE_KILL_DEFAULT              = 0x2
--	PR_MCE_KILL_EARLY                = 0x1
--	PR_MCE_KILL_GET                  = 0x22
--	PR_MCE_KILL_LATE                 = 0x0
--	PR_MCE_KILL_SET                  = 0x1
--	PR_MPX_DISABLE_MANAGEMENT        = 0x2c
--	PR_MPX_ENABLE_MANAGEMENT         = 0x2b
--	PR_SET_CHILD_SUBREAPER           = 0x24
--	PR_SET_DUMPABLE                  = 0x4
--	PR_SET_ENDIAN                    = 0x14
--	PR_SET_FPEMU                     = 0xa
--	PR_SET_FPEXC                     = 0xc
--	PR_SET_FP_MODE                   = 0x2d
--	PR_SET_KEEPCAPS                  = 0x8
--	PR_SET_MM                        = 0x23
--	PR_SET_MM_ARG_END                = 0x9
--	PR_SET_MM_ARG_START              = 0x8
--	PR_SET_MM_AUXV                   = 0xc
--	PR_SET_MM_BRK                    = 0x7
--	PR_SET_MM_END_CODE               = 0x2
--	PR_SET_MM_END_DATA               = 0x4
--	PR_SET_MM_ENV_END                = 0xb
--	PR_SET_MM_ENV_START              = 0xa
--	PR_SET_MM_EXE_FILE               = 0xd
--	PR_SET_MM_MAP                    = 0xe
--	PR_SET_MM_MAP_SIZE               = 0xf
--	PR_SET_MM_START_BRK              = 0x6
--	PR_SET_MM_START_CODE             = 0x1
--	PR_SET_MM_START_DATA             = 0x3
--	PR_SET_MM_START_STACK            = 0x5
--	PR_SET_NAME                      = 0xf
--	PR_SET_NO_NEW_PRIVS              = 0x26
--	PR_SET_PDEATHSIG                 = 0x1
--	PR_SET_PTRACER                   = 0x59616d61
--	PR_SET_PTRACER_ANY               = -0x1
--	PR_SET_SECCOMP                   = 0x16
--	PR_SET_SECUREBITS                = 0x1c
--	PR_SET_THP_DISABLE               = 0x29
--	PR_SET_TIMERSLACK                = 0x1d
--	PR_SET_TIMING                    = 0xe
--	PR_SET_TSC                       = 0x1a
--	PR_SET_UNALIGN                   = 0x6
--	PR_TASK_PERF_EVENTS_DISABLE      = 0x1f
--	PR_TASK_PERF_EVENTS_ENABLE       = 0x20
--	PR_TIMING_STATISTICAL            = 0x0
--	PR_TIMING_TIMESTAMP              = 0x1
--	PR_TSC_ENABLE                    = 0x1
--	PR_TSC_SIGSEGV                   = 0x2
--	PR_UNALIGN_NOPRINT               = 0x1
--	PR_UNALIGN_SIGBUS                = 0x2
--	PTRACE_ATTACH                    = 0x10
--	PTRACE_CONT                      = 0x7
--	PTRACE_DETACH                    = 0x11
--	PTRACE_EVENT_CLONE               = 0x3
--	PTRACE_EVENT_EXEC                = 0x4
--	PTRACE_EVENT_EXIT                = 0x6
--	PTRACE_EVENT_FORK                = 0x1
--	PTRACE_EVENT_SECCOMP             = 0x7
--	PTRACE_EVENT_STOP                = 0x80
--	PTRACE_EVENT_VFORK               = 0x2
--	PTRACE_EVENT_VFORK_DONE          = 0x5
--	PTRACE_GETEVENTMSG               = 0x4201
-+	PERF_EVENT_IOC_DISABLE           = 0x20002401
-+	PERF_EVENT_IOC_ENABLE            = 0x20002400
-+	PERF_EVENT_IOC_ID                = 0x40082407
-+	PERF_EVENT_IOC_MODIFY_ATTRIBUTES = 0x8008240b
-+	PERF_EVENT_IOC_PAUSE_OUTPUT      = 0x80042409
-+	PERF_EVENT_IOC_PERIOD            = 0x80082404
-+	PERF_EVENT_IOC_QUERY_BPF         = 0xc008240a
-+	PERF_EVENT_IOC_REFRESH           = 0x20002402
-+	PERF_EVENT_IOC_RESET             = 0x20002403
-+	PERF_EVENT_IOC_SET_BPF           = 0x80042408
-+	PERF_EVENT_IOC_SET_FILTER        = 0x80082406
-+	PERF_EVENT_IOC_SET_OUTPUT        = 0x20002405
-+	PPPIOCATTACH                     = 0x8004743d
-+	PPPIOCATTCHAN                    = 0x80047438
-+	PPPIOCCONNECT                    = 0x8004743a
-+	PPPIOCDETACH                     = 0x8004743c
-+	PPPIOCDISCONN                    = 0x20007439
-+	PPPIOCGASYNCMAP                  = 0x40047458
-+	PPPIOCGCHAN                      = 0x40047437
-+	PPPIOCGDEBUG                     = 0x40047441
-+	PPPIOCGFLAGS                     = 0x4004745a
-+	PPPIOCGIDLE                      = 0x4010743f
-+	PPPIOCGIDLE32                    = 0x4008743f
-+	PPPIOCGIDLE64                    = 0x4010743f
-+	PPPIOCGL2TPSTATS                 = 0x40487436
-+	PPPIOCGMRU                       = 0x40047453
-+	PPPIOCGRASYNCMAP                 = 0x40047455
-+	PPPIOCGUNIT                      = 0x40047456
-+	PPPIOCGXASYNCMAP                 = 0x40207450
-+	PPPIOCSACTIVE                    = 0x80107446
-+	PPPIOCSASYNCMAP                  = 0x80047457
-+	PPPIOCSCOMPRESS                  = 0x8010744d
-+	PPPIOCSDEBUG                     = 0x80047440
-+	PPPIOCSFLAGS                     = 0x80047459
-+	PPPIOCSMAXCID                    = 0x80047451
-+	PPPIOCSMRRU                      = 0x8004743b
-+	PPPIOCSMRU                       = 0x80047452
-+	PPPIOCSNPMODE                    = 0x8008744b
-+	PPPIOCSPASS                      = 0x80107447
-+	PPPIOCSRASYNCMAP                 = 0x80047454
-+	PPPIOCSXASYNCMAP                 = 0x8020744f
-+	PPPIOCXFERUNIT                   = 0x2000744e
-+	PR_SET_PTRACER_ANY               = 0xffffffffffffffff
- 	PTRACE_GETFPAREGS                = 0x14
- 	PTRACE_GETFPREGS                 = 0xe
- 	PTRACE_GETFPREGS64               = 0x19
--	PTRACE_GETREGS                   = 0xc
- 	PTRACE_GETREGS64                 = 0x16
--	PTRACE_GETREGSET                 = 0x4204
--	PTRACE_GETSIGINFO                = 0x4202
--	PTRACE_GETSIGMASK                = 0x420a
--	PTRACE_INTERRUPT                 = 0x4207
--	PTRACE_KILL                      = 0x8
--	PTRACE_LISTEN                    = 0x4208
--	PTRACE_O_EXITKILL                = 0x100000
--	PTRACE_O_MASK                    = 0x3000ff
--	PTRACE_O_SUSPEND_SECCOMP         = 0x200000
--	PTRACE_O_TRACECLONE              = 0x8
--	PTRACE_O_TRACEEXEC               = 0x10
--	PTRACE_O_TRACEEXIT               = 0x40
--	PTRACE_O_TRACEFORK               = 0x2
--	PTRACE_O_TRACESECCOMP            = 0x80
--	PTRACE_O_TRACESYSGOOD            = 0x1
--	PTRACE_O_TRACEVFORK              = 0x4
--	PTRACE_O_TRACEVFORKDONE          = 0x20
--	PTRACE_PEEKDATA                  = 0x2
--	PTRACE_PEEKSIGINFO               = 0x4209
--	PTRACE_PEEKSIGINFO_SHARED        = 0x1
--	PTRACE_PEEKTEXT                  = 0x1
--	PTRACE_PEEKUSR                   = 0x3
--	PTRACE_POKEDATA                  = 0x5
--	PTRACE_POKETEXT                  = 0x4
--	PTRACE_POKEUSR                   = 0x6
- 	PTRACE_READDATA                  = 0x10
- 	PTRACE_READTEXT                  = 0x12
--	PTRACE_SECCOMP_GET_FILTER        = 0x420c
--	PTRACE_SEIZE                     = 0x4206
- 	PTRACE_SETFPAREGS                = 0x15
- 	PTRACE_SETFPREGS                 = 0xf
- 	PTRACE_SETFPREGS64               = 0x1a
--	PTRACE_SETOPTIONS                = 0x4200
--	PTRACE_SETREGS                   = 0xd
- 	PTRACE_SETREGS64                 = 0x17
--	PTRACE_SETREGSET                 = 0x4205
--	PTRACE_SETSIGINFO                = 0x4203
--	PTRACE_SETSIGMASK                = 0x420b
--	PTRACE_SINGLESTEP                = 0x9
- 	PTRACE_SPARC_DETACH              = 0xb
--	PTRACE_SYSCALL                   = 0x18
--	PTRACE_TRACEME                   = 0x0
- 	PTRACE_WRITEDATA                 = 0x11
- 	PTRACE_WRITETEXT                 = 0x13
- 	PT_FP                            = 0x48
-@@ -1202,329 +255,98 @@ const (
- 	PT_WIM                           = 0x10
- 	PT_Y                             = 0xc
- 	RLIMIT_AS                        = 0x9
--	RLIMIT_CORE                      = 0x4
--	RLIMIT_CPU                       = 0x0
--	RLIMIT_DATA                      = 0x2
--	RLIMIT_FSIZE                     = 0x1
-+	RLIMIT_MEMLOCK                   = 0x8
- 	RLIMIT_NOFILE                    = 0x6
--	RLIMIT_STACK                     = 0x3
--	RLIM_INFINITY                    = -0x1
--	RTAX_ADVMSS                      = 0x8
--	RTAX_CC_ALGO                     = 0x10
--	RTAX_CWND                        = 0x7
--	RTAX_FEATURES                    = 0xc
--	RTAX_FEATURE_ALLFRAG             = 0x8
--	RTAX_FEATURE_ECN                 = 0x1
--	RTAX_FEATURE_MASK                = 0xf
--	RTAX_FEATURE_SACK                = 0x2
--	RTAX_FEATURE_TIMESTAMP           = 0x4
--	RTAX_HOPLIMIT                    = 0xa
--	RTAX_INITCWND                    = 0xb
--	RTAX_INITRWND                    = 0xe
--	RTAX_LOCK                        = 0x1
--	RTAX_MAX                         = 0x10
--	RTAX_MTU                         = 0x2
--	RTAX_QUICKACK                    = 0xf
--	RTAX_REORDERING                  = 0x9
--	RTAX_RTO_MIN                     = 0xd
--	RTAX_RTT                         = 0x4
--	RTAX_RTTVAR                      = 0x5
--	RTAX_SSTHRESH                    = 0x6
--	RTAX_UNSPEC                      = 0x0
--	RTAX_WINDOW                      = 0x3
--	RTA_ALIGNTO                      = 0x4
--	RTA_MAX                          = 0x18
--	RTCF_DIRECTSRC                   = 0x4000000
--	RTCF_DOREDIRECT                  = 0x1000000
--	RTCF_LOG                         = 0x2000000
--	RTCF_MASQ                        = 0x400000
--	RTCF_NAT                         = 0x800000
--	RTCF_VALVE                       = 0x200000
--	RTF_ADDRCLASSMASK                = 0xf8000000
--	RTF_ADDRCONF                     = 0x40000
--	RTF_ALLONLINK                    = 0x20000
--	RTF_BROADCAST                    = 0x10000000
--	RTF_CACHE                        = 0x1000000
--	RTF_DEFAULT                      = 0x10000
--	RTF_DYNAMIC                      = 0x10
--	RTF_FLOW                         = 0x2000000
--	RTF_GATEWAY                      = 0x2
--	RTF_HOST                         = 0x4
--	RTF_INTERFACE                    = 0x40000000
--	RTF_IRTT                         = 0x100
--	RTF_LINKRT                       = 0x100000
--	RTF_LOCAL                        = 0x80000000
--	RTF_MODIFIED                     = 0x20
--	RTF_MSS                          = 0x40
--	RTF_MTU                          = 0x40
--	RTF_MULTICAST                    = 0x20000000
--	RTF_NAT                          = 0x8000000
--	RTF_NOFORWARD                    = 0x1000
--	RTF_NONEXTHOP                    = 0x200000
--	RTF_NOPMTUDISC                   = 0x4000
--	RTF_POLICY                       = 0x4000000
--	RTF_REINSTATE                    = 0x8
--	RTF_REJECT                       = 0x200
--	RTF_STATIC                       = 0x400
--	RTF_THROW                        = 0x2000
--	RTF_UP                           = 0x1
--	RTF_WINDOW                       = 0x80
--	RTF_XRESOLVE                     = 0x800
--	RTM_BASE                         = 0x10
--	RTM_DELACTION                    = 0x31
--	RTM_DELADDR                      = 0x15
--	RTM_DELADDRLABEL                 = 0x49
--	RTM_DELLINK                      = 0x11
--	RTM_DELMDB                       = 0x55
--	RTM_DELNEIGH                     = 0x1d
--	RTM_DELNSID                      = 0x59
--	RTM_DELQDISC                     = 0x25
--	RTM_DELROUTE                     = 0x19
--	RTM_DELRULE                      = 0x21
--	RTM_DELTCLASS                    = 0x29
--	RTM_DELTFILTER                   = 0x2d
--	RTM_F_CLONED                     = 0x200
--	RTM_F_EQUALIZE                   = 0x400
--	RTM_F_LOOKUP_TABLE               = 0x1000
--	RTM_F_NOTIFY                     = 0x100
--	RTM_F_PREFIX                     = 0x800
--	RTM_GETACTION                    = 0x32
--	RTM_GETADDR                      = 0x16
--	RTM_GETADDRLABEL                 = 0x4a
--	RTM_GETANYCAST                   = 0x3e
--	RTM_GETDCB                       = 0x4e
--	RTM_GETLINK                      = 0x12
--	RTM_GETMDB                       = 0x56
--	RTM_GETMULTICAST                 = 0x3a
--	RTM_GETNEIGH                     = 0x1e
--	RTM_GETNEIGHTBL                  = 0x42
--	RTM_GETNETCONF                   = 0x52
--	RTM_GETNSID                      = 0x5a
--	RTM_GETQDISC                     = 0x26
--	RTM_GETROUTE                     = 0x1a
--	RTM_GETRULE                      = 0x22
--	RTM_GETSTATS                     = 0x5e
--	RTM_GETTCLASS                    = 0x2a
--	RTM_GETTFILTER                   = 0x2e
--	RTM_MAX                          = 0x5f
--	RTM_NEWACTION                    = 0x30
--	RTM_NEWADDR                      = 0x14
--	RTM_NEWADDRLABEL                 = 0x48
--	RTM_NEWLINK                      = 0x10
--	RTM_NEWMDB                       = 0x54
--	RTM_NEWNDUSEROPT                 = 0x44
--	RTM_NEWNEIGH                     = 0x1c
--	RTM_NEWNEIGHTBL                  = 0x40
--	RTM_NEWNETCONF                   = 0x50
--	RTM_NEWNSID                      = 0x58
--	RTM_NEWPREFIX                    = 0x34
--	RTM_NEWQDISC                     = 0x24
--	RTM_NEWROUTE                     = 0x18
--	RTM_NEWRULE                      = 0x20
--	RTM_NEWSTATS                     = 0x5c
--	RTM_NEWTCLASS                    = 0x28
--	RTM_NEWTFILTER                   = 0x2c
--	RTM_NR_FAMILIES                  = 0x14
--	RTM_NR_MSGTYPES                  = 0x50
--	RTM_SETDCB                       = 0x4f
--	RTM_SETLINK                      = 0x13
--	RTM_SETNEIGHTBL                  = 0x43
--	RTNH_ALIGNTO                     = 0x4
--	RTNH_COMPARE_MASK                = 0x11
--	RTNH_F_DEAD                      = 0x1
--	RTNH_F_LINKDOWN                  = 0x10
--	RTNH_F_OFFLOAD                   = 0x8
--	RTNH_F_ONLINK                    = 0x4
--	RTNH_F_PERVASIVE                 = 0x2
--	RTN_MAX                          = 0xb
--	RTPROT_BABEL                     = 0x2a
--	RTPROT_BIRD                      = 0xc
--	RTPROT_BOOT                      = 0x3
--	RTPROT_DHCP                      = 0x10
--	RTPROT_DNROUTED                  = 0xd
--	RTPROT_GATED                     = 0x8
--	RTPROT_KERNEL                    = 0x2
--	RTPROT_MROUTED                   = 0x11
--	RTPROT_MRT                       = 0xa
--	RTPROT_NTK                       = 0xf
--	RTPROT_RA                        = 0x9
--	RTPROT_REDIRECT                  = 0x1
--	RTPROT_STATIC                    = 0x4
--	RTPROT_UNSPEC                    = 0x0
--	RTPROT_XORP                      = 0xe
--	RTPROT_ZEBRA                     = 0xb
--	RT_CLASS_DEFAULT                 = 0xfd
--	RT_CLASS_LOCAL                   = 0xff
--	RT_CLASS_MAIN                    = 0xfe
--	RT_CLASS_MAX                     = 0xff
--	RT_CLASS_UNSPEC                  = 0x0
--	RUSAGE_CHILDREN                  = -0x1
--	RUSAGE_SELF                      = 0x0
--	RUSAGE_THREAD                    = 0x1
--	SCM_CREDENTIALS                  = 0x2
--	SCM_RIGHTS                       = 0x1
--	SCM_TIMESTAMP                    = 0x1d
-+	RLIMIT_NPROC                     = 0x7
-+	RLIMIT_RSS                       = 0x5
-+	RNDADDENTROPY                    = 0x80085203
-+	RNDADDTOENTCNT                   = 0x80045201
-+	RNDCLEARPOOL                     = 0x20005206
-+	RNDGETENTCNT                     = 0x40045200
-+	RNDGETPOOL                       = 0x40085202
-+	RNDRESEEDCRNG                    = 0x20005207
-+	RNDZAPENTCNT                     = 0x20005204
-+	RTC_AIE_OFF                      = 0x20007002
-+	RTC_AIE_ON                       = 0x20007001
-+	RTC_ALM_READ                     = 0x40247008
-+	RTC_ALM_SET                      = 0x80247007
-+	RTC_EPOCH_READ                   = 0x4008700d
-+	RTC_EPOCH_SET                    = 0x8008700e
-+	RTC_IRQP_READ                    = 0x4008700b
-+	RTC_IRQP_SET                     = 0x8008700c
-+	RTC_PIE_OFF                      = 0x20007006
-+	RTC_PIE_ON                       = 0x20007005
-+	RTC_PLL_GET                      = 0x40207011
-+	RTC_PLL_SET                      = 0x80207012
-+	RTC_RD_TIME                      = 0x40247009
-+	RTC_SET_TIME                     = 0x8024700a
-+	RTC_UIE_OFF                      = 0x20007004
-+	RTC_UIE_ON                       = 0x20007003
-+	RTC_VL_CLR                       = 0x20007014
-+	RTC_VL_READ                      = 0x40047013
-+	RTC_WIE_OFF                      = 0x20007010
-+	RTC_WIE_ON                       = 0x2000700f
-+	RTC_WKALM_RD                     = 0x40287010
-+	RTC_WKALM_SET                    = 0x8028700f
- 	SCM_TIMESTAMPING                 = 0x23
-+	SCM_TIMESTAMPING_OPT_STATS       = 0x38
-+	SCM_TIMESTAMPING_PKTINFO         = 0x3c
- 	SCM_TIMESTAMPNS                  = 0x21
-+	SCM_TXTIME                       = 0x3f
- 	SCM_WIFI_STATUS                  = 0x25
--	SHUT_RD                          = 0x0
--	SHUT_RDWR                        = 0x2
--	SHUT_WR                          = 0x1
--	SIOCADDDLCI                      = 0x8980
--	SIOCADDMULTI                     = 0x8931
--	SIOCADDRT                        = 0x890b
-+	SFD_CLOEXEC                      = 0x400000
-+	SFD_NONBLOCK                     = 0x4000
- 	SIOCATMARK                       = 0x8905
--	SIOCBONDCHANGEACTIVE             = 0x8995
--	SIOCBONDENSLAVE                  = 0x8990
--	SIOCBONDINFOQUERY                = 0x8994
--	SIOCBONDRELEASE                  = 0x8991
--	SIOCBONDSETHWADDR                = 0x8992
--	SIOCBONDSLAVEINFOQUERY           = 0x8993
--	SIOCBRADDBR                      = 0x89a0
--	SIOCBRADDIF                      = 0x89a2
--	SIOCBRDELBR                      = 0x89a1
--	SIOCBRDELIF                      = 0x89a3
--	SIOCDARP                         = 0x8953
--	SIOCDELDLCI                      = 0x8981
--	SIOCDELMULTI                     = 0x8932
--	SIOCDELRT                        = 0x890c
--	SIOCDEVPRIVATE                   = 0x89f0
--	SIOCDIFADDR                      = 0x8936
--	SIOCDRARP                        = 0x8960
--	SIOCETHTOOL                      = 0x8946
--	SIOCGARP                         = 0x8954
--	SIOCGHWTSTAMP                    = 0x89b1
--	SIOCGIFADDR                      = 0x8915
--	SIOCGIFBR                        = 0x8940
--	SIOCGIFBRDADDR                   = 0x8919
--	SIOCGIFCONF                      = 0x8912
--	SIOCGIFCOUNT                     = 0x8938
--	SIOCGIFDSTADDR                   = 0x8917
--	SIOCGIFENCAP                     = 0x8925
--	SIOCGIFFLAGS                     = 0x8913
--	SIOCGIFHWADDR                    = 0x8927
--	SIOCGIFINDEX                     = 0x8933
--	SIOCGIFMAP                       = 0x8970
--	SIOCGIFMEM                       = 0x891f
--	SIOCGIFMETRIC                    = 0x891d
--	SIOCGIFMTU                       = 0x8921
--	SIOCGIFNAME                      = 0x8910
--	SIOCGIFNETMASK                   = 0x891b
--	SIOCGIFPFLAGS                    = 0x8935
--	SIOCGIFSLAVE                     = 0x8929
--	SIOCGIFTXQLEN                    = 0x8942
--	SIOCGIFVLAN                      = 0x8982
--	SIOCGMIIPHY                      = 0x8947
--	SIOCGMIIREG                      = 0x8948
- 	SIOCGPGRP                        = 0x8904
--	SIOCGRARP                        = 0x8961
--	SIOCGSTAMP                       = 0x8906
--	SIOCGSTAMPNS                     = 0x8907
-+	SIOCGSTAMPNS_NEW                 = 0x40108907
-+	SIOCGSTAMP_NEW                   = 0x40108906
- 	SIOCINQ                          = 0x4004667f
- 	SIOCOUTQ                         = 0x40047473
--	SIOCOUTQNSD                      = 0x894b
--	SIOCPROTOPRIVATE                 = 0x89e0
--	SIOCRTMSG                        = 0x890d
--	SIOCSARP                         = 0x8955
--	SIOCSHWTSTAMP                    = 0x89b0
--	SIOCSIFADDR                      = 0x8916
--	SIOCSIFBR                        = 0x8941
--	SIOCSIFBRDADDR                   = 0x891a
--	SIOCSIFDSTADDR                   = 0x8918
--	SIOCSIFENCAP                     = 0x8926
--	SIOCSIFFLAGS                     = 0x8914
--	SIOCSIFHWADDR                    = 0x8924
--	SIOCSIFHWBROADCAST               = 0x8937
--	SIOCSIFLINK                      = 0x8911
--	SIOCSIFMAP                       = 0x8971
--	SIOCSIFMEM                       = 0x8920
--	SIOCSIFMETRIC                    = 0x891e
--	SIOCSIFMTU                       = 0x8922
--	SIOCSIFNAME                      = 0x8923
--	SIOCSIFNETMASK                   = 0x891c
--	SIOCSIFPFLAGS                    = 0x8934
--	SIOCSIFSLAVE                     = 0x8930
--	SIOCSIFTXQLEN                    = 0x8943
--	SIOCSIFVLAN                      = 0x8983
--	SIOCSMIIREG                      = 0x8949
- 	SIOCSPGRP                        = 0x8902
--	SIOCSRARP                        = 0x8962
--	SIOCWANDEV                       = 0x894a
- 	SOCK_CLOEXEC                     = 0x400000
--	SOCK_DCCP                        = 0x6
- 	SOCK_DGRAM                       = 0x2
- 	SOCK_NONBLOCK                    = 0x4000
--	SOCK_PACKET                      = 0xa
--	SOCK_RAW                         = 0x3
--	SOCK_RDM                         = 0x4
--	SOCK_SEQPACKET                   = 0x5
- 	SOCK_STREAM                      = 0x1
--	SOL_AAL                          = 0x109
--	SOL_ALG                          = 0x117
--	SOL_ATM                          = 0x108
--	SOL_CAIF                         = 0x116
--	SOL_DCCP                         = 0x10d
--	SOL_DECNET                       = 0x105
--	SOL_ICMPV6                       = 0x3a
--	SOL_IP                           = 0x0
--	SOL_IPV6                         = 0x29
--	SOL_IRDA                         = 0x10a
--	SOL_IUCV                         = 0x115
--	SOL_KCM                          = 0x119
--	SOL_LLC                          = 0x10c
--	SOL_NETBEUI                      = 0x10b
--	SOL_NETLINK                      = 0x10e
--	SOL_NFC                          = 0x118
--	SOL_PACKET                       = 0x107
--	SOL_PNPIPE                       = 0x113
--	SOL_PPPOL2TP                     = 0x111
--	SOL_RAW                          = 0xff
--	SOL_RDS                          = 0x114
--	SOL_RXRPC                        = 0x110
- 	SOL_SOCKET                       = 0xffff
--	SOL_TCP                          = 0x6
--	SOL_TIPC                         = 0x10f
--	SOL_X25                          = 0x106
--	SOMAXCONN                        = 0x80
- 	SO_ACCEPTCONN                    = 0x8000
- 	SO_ATTACH_BPF                    = 0x34
--	SO_ATTACH_FILTER                 = 0x1a
- 	SO_ATTACH_REUSEPORT_CBPF         = 0x35
- 	SO_ATTACH_REUSEPORT_EBPF         = 0x36
- 	SO_BINDTODEVICE                  = 0xd
-+	SO_BINDTOIFINDEX                 = 0x41
- 	SO_BPF_EXTENSIONS                = 0x32
- 	SO_BROADCAST                     = 0x20
- 	SO_BSDCOMPAT                     = 0x400
- 	SO_BUSY_POLL                     = 0x30
- 	SO_CNX_ADVICE                    = 0x37
--	SO_DEBUG                         = 0x1
--	SO_DETACH_BPF                    = 0x1b
--	SO_DETACH_FILTER                 = 0x1b
-+	SO_COOKIE                        = 0x3b
-+	SO_DETACH_REUSEPORT_BPF          = 0x47
- 	SO_DOMAIN                        = 0x1029
- 	SO_DONTROUTE                     = 0x10
- 	SO_ERROR                         = 0x1007
--	SO_GET_FILTER                    = 0x1a
- 	SO_INCOMING_CPU                  = 0x33
-+	SO_INCOMING_NAPI_ID              = 0x3a
- 	SO_KEEPALIVE                     = 0x8
- 	SO_LINGER                        = 0x80
- 	SO_LOCK_FILTER                   = 0x28
- 	SO_MARK                          = 0x22
- 	SO_MAX_PACING_RATE               = 0x31
-+	SO_MEMINFO                       = 0x39
- 	SO_NOFCS                         = 0x27
--	SO_NO_CHECK                      = 0xb
- 	SO_OOBINLINE                     = 0x100
- 	SO_PASSCRED                      = 0x2
- 	SO_PASSSEC                       = 0x1f
- 	SO_PEEK_OFF                      = 0x26
- 	SO_PEERCRED                      = 0x40
--	SO_PEERNAME                      = 0x1c
-+	SO_PEERGROUPS                    = 0x3d
- 	SO_PEERSEC                       = 0x1e
--	SO_PRIORITY                      = 0xc
- 	SO_PROTOCOL                      = 0x1028
- 	SO_RCVBUF                        = 0x1002
- 	SO_RCVBUFFORCE                   = 0x100b
- 	SO_RCVLOWAT                      = 0x800
- 	SO_RCVTIMEO                      = 0x2000
-+	SO_RCVTIMEO_NEW                  = 0x44
-+	SO_RCVTIMEO_OLD                  = 0x2000
- 	SO_REUSEADDR                     = 0x4
- 	SO_REUSEPORT                     = 0x200
- 	SO_RXQ_OVFL                      = 0x24
-@@ -1536,50 +358,19 @@ const (
- 	SO_SNDBUFFORCE                   = 0x100a
- 	SO_SNDLOWAT                      = 0x1000
- 	SO_SNDTIMEO                      = 0x4000
--	SO_TIMESTAMP                     = 0x1d
-+	SO_SNDTIMEO_NEW                  = 0x45
-+	SO_SNDTIMEO_OLD                  = 0x4000
- 	SO_TIMESTAMPING                  = 0x23
-+	SO_TIMESTAMPING_NEW              = 0x43
-+	SO_TIMESTAMPING_OLD              = 0x23
- 	SO_TIMESTAMPNS                   = 0x21
-+	SO_TIMESTAMPNS_NEW               = 0x42
-+	SO_TIMESTAMPNS_OLD               = 0x21
-+	SO_TIMESTAMP_NEW                 = 0x46
-+	SO_TXTIME                        = 0x3f
- 	SO_TYPE                          = 0x1008
--	SO_VM_SOCKETS_BUFFER_MAX_SIZE    = 0x2
--	SO_VM_SOCKETS_BUFFER_MIN_SIZE    = 0x1
--	SO_VM_SOCKETS_BUFFER_SIZE        = 0x0
--	SO_VM_SOCKETS_CONNECT_TIMEOUT    = 0x6
--	SO_VM_SOCKETS_NONBLOCK_TXRX      = 0x7
--	SO_VM_SOCKETS_PEER_HOST_VM_ID    = 0x3
--	SO_VM_SOCKETS_TRUSTED            = 0x5
- 	SO_WIFI_STATUS                   = 0x25
--	SPLICE_F_GIFT                    = 0x8
--	SPLICE_F_MORE                    = 0x4
--	SPLICE_F_MOVE                    = 0x1
--	SPLICE_F_NONBLOCK                = 0x2
--	S_BLKSIZE                        = 0x200
--	S_IEXEC                          = 0x40
--	S_IFBLK                          = 0x6000
--	S_IFCHR                          = 0x2000
--	S_IFDIR                          = 0x4000
--	S_IFIFO                          = 0x1000
--	S_IFLNK                          = 0xa000
--	S_IFMT                           = 0xf000
--	S_IFREG                          = 0x8000
--	S_IFSOCK                         = 0xc000
--	S_IREAD                          = 0x100
--	S_IRGRP                          = 0x20
--	S_IROTH                          = 0x4
--	S_IRUSR                          = 0x100
--	S_IRWXG                          = 0x38
--	S_IRWXO                          = 0x7
--	S_IRWXU                          = 0x1c0
--	S_ISGID                          = 0x400
--	S_ISUID                          = 0x800
--	S_ISVTX                          = 0x200
--	S_IWGRP                          = 0x10
--	S_IWOTH                          = 0x2
--	S_IWRITE                         = 0x80
--	S_IWUSR                          = 0x80
--	S_IXGRP                          = 0x8
--	S_IXOTH                          = 0x1
--	S_IXUSR                          = 0x40
--	TAB0                             = 0x0
-+	SO_ZEROCOPY                      = 0x3e
- 	TAB1                             = 0x800
- 	TAB2                             = 0x1000
- 	TAB3                             = 0x1800
-@@ -1588,54 +379,6 @@ const (
- 	TCGETA                           = 0x40125401
- 	TCGETS                           = 0x40245408
- 	TCGETS2                          = 0x402c540c
--	TCIFLUSH                         = 0x0
--	TCIOFF                           = 0x2
--	TCIOFLUSH                        = 0x2
--	TCION                            = 0x3
--	TCOFLUSH                         = 0x1
--	TCOOFF                           = 0x0
--	TCOON                            = 0x1
--	TCP_CC_INFO                      = 0x1a
--	TCP_CONGESTION                   = 0xd
--	TCP_COOKIE_IN_ALWAYS             = 0x1
--	TCP_COOKIE_MAX                   = 0x10
--	TCP_COOKIE_MIN                   = 0x8
--	TCP_COOKIE_OUT_NEVER             = 0x2
--	TCP_COOKIE_PAIR_SIZE             = 0x20
--	TCP_COOKIE_TRANSACTIONS          = 0xf
--	TCP_CORK                         = 0x3
--	TCP_DEFER_ACCEPT                 = 0x9
--	TCP_FASTOPEN                     = 0x17
--	TCP_INFO                         = 0xb
--	TCP_KEEPCNT                      = 0x6
--	TCP_KEEPIDLE                     = 0x4
--	TCP_KEEPINTVL                    = 0x5
--	TCP_LINGER2                      = 0x8
--	TCP_MAXSEG                       = 0x2
--	TCP_MAXWIN                       = 0xffff
--	TCP_MAX_WINSHIFT                 = 0xe
--	TCP_MD5SIG                       = 0xe
--	TCP_MD5SIG_MAXKEYLEN             = 0x50
--	TCP_MSS                          = 0x200
--	TCP_MSS_DEFAULT                  = 0x218
--	TCP_MSS_DESIRED                  = 0x4c4
--	TCP_NODELAY                      = 0x1
--	TCP_NOTSENT_LOWAT                = 0x19
--	TCP_QUEUE_SEQ                    = 0x15
--	TCP_QUICKACK                     = 0xc
--	TCP_REPAIR                       = 0x13
--	TCP_REPAIR_OPTIONS               = 0x16
--	TCP_REPAIR_QUEUE                 = 0x14
--	TCP_SAVED_SYN                    = 0x1c
--	TCP_SAVE_SYN                     = 0x1b
--	TCP_SYNCNT                       = 0x7
--	TCP_S_DATA_IN                    = 0x4
--	TCP_S_DATA_OUT                   = 0x8
--	TCP_THIN_DUPACK                  = 0x11
--	TCP_THIN_LINEAR_TIMEOUTS         = 0x10
--	TCP_TIMESTAMP                    = 0x18
--	TCP_USER_TIMEOUT                 = 0x12
--	TCP_WINDOW_CLAMP                 = 0xa
- 	TCSAFLUSH                        = 0x2
- 	TCSBRK                           = 0x20005405
- 	TCSBRKP                          = 0x5425
-@@ -1656,11 +399,13 @@ const (
- 	TIOCGETD                         = 0x40047400
- 	TIOCGEXCL                        = 0x40045440
- 	TIOCGICOUNT                      = 0x545d
-+	TIOCGISO7816                     = 0x40285443
- 	TIOCGLCKTRMIOS                   = 0x5456
- 	TIOCGPGRP                        = 0x40047483
- 	TIOCGPKT                         = 0x40045438
- 	TIOCGPTLCK                       = 0x40045439
- 	TIOCGPTN                         = 0x40047486
-+	TIOCGPTPEER                      = 0x20007489
- 	TIOCGRS485                       = 0x40205441
- 	TIOCGSERIAL                      = 0x541e
- 	TIOCGSID                         = 0x40047485
-@@ -1677,28 +422,14 @@ const (
- 	TIOCM_CD                         = 0x40
- 	TIOCM_CTS                        = 0x20
- 	TIOCM_DSR                        = 0x100
--	TIOCM_DTR                        = 0x2
--	TIOCM_LE                         = 0x1
--	TIOCM_LOOP                       = 0x8000
--	TIOCM_OUT1                       = 0x2000
--	TIOCM_OUT2                       = 0x4000
- 	TIOCM_RI                         = 0x80
- 	TIOCM_RNG                        = 0x80
--	TIOCM_RTS                        = 0x4
- 	TIOCM_SR                         = 0x10
- 	TIOCM_ST                         = 0x8
- 	TIOCNOTTY                        = 0x20007471
- 	TIOCNXCL                         = 0x2000740e
- 	TIOCOUTQ                         = 0x40047473
- 	TIOCPKT                          = 0x80047470
--	TIOCPKT_DATA                     = 0x0
--	TIOCPKT_DOSTOP                   = 0x20
--	TIOCPKT_FLUSHREAD                = 0x1
--	TIOCPKT_FLUSHWRITE               = 0x2
--	TIOCPKT_IOCTL                    = 0x40
--	TIOCPKT_NOSTOP                   = 0x10
--	TIOCPKT_START                    = 0x8
--	TIOCPKT_STOP                     = 0x4
- 	TIOCSBRK                         = 0x2000747b
- 	TIOCSCTTY                        = 0x20007484
- 	TIOCSERCONFIG                    = 0x5453
-@@ -1708,9 +439,9 @@ const (
- 	TIOCSERGWILD                     = 0x5454
- 	TIOCSERSETMULTI                  = 0x545b
- 	TIOCSERSWILD                     = 0x5455
--	TIOCSER_TEMT                     = 0x1
- 	TIOCSETD                         = 0x80047401
- 	TIOCSIG                          = 0x80047488
-+	TIOCSISO7816                     = 0xc0285444
- 	TIOCSLCKTRMIOS                   = 0x5457
- 	TIOCSPGRP                        = 0x80047482
- 	TIOCSPTLCK                       = 0x80047487
-@@ -1725,6 +456,7 @@ const (
- 	TOSTOP                           = 0x100
- 	TUNATTACHFILTER                  = 0x801054d5
- 	TUNDETACHFILTER                  = 0x801054d6
-+	TUNGETDEVNETNS                   = 0x200054e3
- 	TUNGETFEATURES                   = 0x400454cf
- 	TUNGETFILTER                     = 0x401054db
- 	TUNGETIFF                        = 0x400454d2
-@@ -1732,7 +464,9 @@ const (
- 	TUNGETVNETBE                     = 0x400454df
- 	TUNGETVNETHDRSZ                  = 0x400454d7
- 	TUNGETVNETLE                     = 0x400454dd
-+	TUNSETCARRIER                    = 0x800454e2
- 	TUNSETDEBUG                      = 0x800454c9
-+	TUNSETFILTEREBPF                 = 0x400454e1
- 	TUNSETGROUP                      = 0x800454ce
- 	TUNSETIFF                        = 0x800454ca
- 	TUNSETIFINDEX                    = 0x800454da
-@@ -1743,47 +477,52 @@ const (
- 	TUNSETPERSIST                    = 0x800454cb
- 	TUNSETQUEUE                      = 0x800454d9
- 	TUNSETSNDBUF                     = 0x800454d4
-+	TUNSETSTEERINGEBPF               = 0x400454e0
- 	TUNSETTXFILTER                   = 0x800454d1
- 	TUNSETVNETBE                     = 0x800454de
- 	TUNSETVNETHDRSZ                  = 0x800454d8
- 	TUNSETVNETLE                     = 0x800454dc
-+	UBI_IOCATT                       = 0x80186f40
-+	UBI_IOCDET                       = 0x80046f41
-+	UBI_IOCEBCH                      = 0x80044f02
-+	UBI_IOCEBER                      = 0x80044f01
-+	UBI_IOCEBISMAP                   = 0x40044f05
-+	UBI_IOCEBMAP                     = 0x80084f03
-+	UBI_IOCEBUNMAP                   = 0x80044f04
-+	UBI_IOCMKVOL                     = 0x80986f00
-+	UBI_IOCRMVOL                     = 0x80046f01
-+	UBI_IOCRNVOL                     = 0x91106f03
-+	UBI_IOCRPEB                      = 0x80046f04
-+	UBI_IOCRSVOL                     = 0x800c6f02
-+	UBI_IOCSETVOLPROP                = 0x80104f06
-+	UBI_IOCSPEB                      = 0x80046f05
-+	UBI_IOCVOLCRBLK                  = 0x80804f07
-+	UBI_IOCVOLRMBLK                  = 0x20004f08
-+	UBI_IOCVOLUP                     = 0x80084f00
- 	VDISCARD                         = 0xd
--	VDSUSP                           = 0xb
- 	VEOF                             = 0x4
--	VEOL                             = 0x5
--	VEOL2                            = 0x6
--	VERASE                           = 0x2
--	VINTR                            = 0x0
--	VKILL                            = 0x3
--	VLNEXT                           = 0xf
--	VMADDR_CID_ANY                   = 0xffffffff
--	VMADDR_CID_HOST                  = 0x2
--	VMADDR_CID_HYPERVISOR            = 0x0
--	VMADDR_CID_RESERVED              = 0x1
--	VMADDR_PORT_ANY                  = 0xffffffff
--	VMIN                             = 0x4
--	VQUIT                            = 0x1
-+	VEOL                             = 0xb
-+	VEOL2                            = 0x10
-+	VMIN                             = 0x6
- 	VREPRINT                         = 0xc
- 	VSTART                           = 0x8
- 	VSTOP                            = 0x9
- 	VSUSP                            = 0xa
- 	VSWTC                            = 0x7
--	VT0                              = 0x0
- 	VT1                              = 0x4000
- 	VTDLY                            = 0x4000
- 	VTIME                            = 0x5
- 	VWERASE                          = 0xe
--	WALL                             = 0x40000000
--	WCLONE                           = 0x80000000
--	WCONTINUED                       = 0x8
--	WEXITED                          = 0x4
--	WNOHANG                          = 0x1
--	WNOTHREAD                        = 0x20000000
--	WNOWAIT                          = 0x1000000
-+	WDIOC_GETBOOTSTATUS              = 0x40045702
-+	WDIOC_GETPRETIMEOUT              = 0x40045709
-+	WDIOC_GETSTATUS                  = 0x40045701
-+	WDIOC_GETSUPPORT                 = 0x40285700
-+	WDIOC_GETTEMP                    = 0x40045703
-+	WDIOC_GETTIMELEFT                = 0x4004570a
-+	WDIOC_GETTIMEOUT                 = 0x40045707
-+	WDIOC_KEEPALIVE                  = 0x40045705
-+	WDIOC_SETOPTIONS                 = 0x40045704
- 	WORDSIZE                         = 0x40
--	WRAP                             = 0x20000
--	WSTOPPED                         = 0x2
--	WUNTRACED                        = 0x2
- 	XCASE                            = 0x4
- 	XTABS                            = 0x1800
- 	__TIOCFLUSH                      = 0x80047410
-@@ -1791,25 +530,19 @@ const (
- 
- // Errors
- const (
--	E2BIG           = syscall.Errno(0x7)
--	EACCES          = syscall.Errno(0xd)
- 	EADDRINUSE      = syscall.Errno(0x30)
- 	EADDRNOTAVAIL   = syscall.Errno(0x31)
- 	EADV            = syscall.Errno(0x53)
- 	EAFNOSUPPORT    = syscall.Errno(0x2f)
--	EAGAIN          = syscall.Errno(0xb)
- 	EALREADY        = syscall.Errno(0x25)
- 	EBADE           = syscall.Errno(0x66)
--	EBADF           = syscall.Errno(0x9)
- 	EBADFD          = syscall.Errno(0x5d)
- 	EBADMSG         = syscall.Errno(0x4c)
- 	EBADR           = syscall.Errno(0x67)
- 	EBADRQC         = syscall.Errno(0x6a)
- 	EBADSLT         = syscall.Errno(0x6b)
- 	EBFONT          = syscall.Errno(0x6d)
--	EBUSY           = syscall.Errno(0x10)
- 	ECANCELED       = syscall.Errno(0x7f)
--	ECHILD          = syscall.Errno(0xa)
- 	ECHRNG          = syscall.Errno(0x5e)
- 	ECOMM           = syscall.Errno(0x55)
- 	ECONNABORTED    = syscall.Errno(0x35)
-@@ -1818,23 +551,15 @@ const (
- 	EDEADLK         = syscall.Errno(0x4e)
- 	EDEADLOCK       = syscall.Errno(0x6c)
- 	EDESTADDRREQ    = syscall.Errno(0x27)
--	EDOM            = syscall.Errno(0x21)
- 	EDOTDOT         = syscall.Errno(0x58)
- 	EDQUOT          = syscall.Errno(0x45)
--	EEXIST          = syscall.Errno(0x11)
--	EFAULT          = syscall.Errno(0xe)
--	EFBIG           = syscall.Errno(0x1b)
- 	EHOSTDOWN       = syscall.Errno(0x40)
- 	EHOSTUNREACH    = syscall.Errno(0x41)
- 	EHWPOISON       = syscall.Errno(0x87)
- 	EIDRM           = syscall.Errno(0x4d)
- 	EILSEQ          = syscall.Errno(0x7a)
- 	EINPROGRESS     = syscall.Errno(0x24)
--	EINTR           = syscall.Errno(0x4)
--	EINVAL          = syscall.Errno(0x16)
--	EIO             = syscall.Errno(0x5)
- 	EISCONN         = syscall.Errno(0x38)
--	EISDIR          = syscall.Errno(0x15)
- 	EISNAM          = syscall.Errno(0x78)
- 	EKEYEXPIRED     = syscall.Errno(0x81)
- 	EKEYREJECTED    = syscall.Errno(0x83)
-@@ -1851,8 +576,6 @@ const (
- 	ELNRNG          = syscall.Errno(0x62)
- 	ELOOP           = syscall.Errno(0x3e)
- 	EMEDIUMTYPE     = syscall.Errno(0x7e)
--	EMFILE          = syscall.Errno(0x18)
--	EMLINK          = syscall.Errno(0x1f)
- 	EMSGSIZE        = syscall.Errno(0x28)
- 	EMULTIHOP       = syscall.Errno(0x57)
- 	ENAMETOOLONG    = syscall.Errno(0x3f)
-@@ -1860,102 +583,70 @@ const (
- 	ENETDOWN        = syscall.Errno(0x32)
- 	ENETRESET       = syscall.Errno(0x34)
- 	ENETUNREACH     = syscall.Errno(0x33)
--	ENFILE          = syscall.Errno(0x17)
- 	ENOANO          = syscall.Errno(0x69)
- 	ENOBUFS         = syscall.Errno(0x37)
- 	ENOCSI          = syscall.Errno(0x64)
- 	ENODATA         = syscall.Errno(0x6f)
--	ENODEV          = syscall.Errno(0x13)
--	ENOENT          = syscall.Errno(0x2)
--	ENOEXEC         = syscall.Errno(0x8)
- 	ENOKEY          = syscall.Errno(0x80)
- 	ENOLCK          = syscall.Errno(0x4f)
- 	ENOLINK         = syscall.Errno(0x52)
- 	ENOMEDIUM       = syscall.Errno(0x7d)
--	ENOMEM          = syscall.Errno(0xc)
- 	ENOMSG          = syscall.Errno(0x4b)
- 	ENONET          = syscall.Errno(0x50)
- 	ENOPKG          = syscall.Errno(0x71)
- 	ENOPROTOOPT     = syscall.Errno(0x2a)
--	ENOSPC          = syscall.Errno(0x1c)
- 	ENOSR           = syscall.Errno(0x4a)
- 	ENOSTR          = syscall.Errno(0x48)
- 	ENOSYS          = syscall.Errno(0x5a)
--	ENOTBLK         = syscall.Errno(0xf)
- 	ENOTCONN        = syscall.Errno(0x39)
--	ENOTDIR         = syscall.Errno(0x14)
- 	ENOTEMPTY       = syscall.Errno(0x42)
- 	ENOTNAM         = syscall.Errno(0x76)
- 	ENOTRECOVERABLE = syscall.Errno(0x85)
- 	ENOTSOCK        = syscall.Errno(0x26)
- 	ENOTSUP         = syscall.Errno(0x2d)
--	ENOTTY          = syscall.Errno(0x19)
- 	ENOTUNIQ        = syscall.Errno(0x73)
--	ENXIO           = syscall.Errno(0x6)
- 	EOPNOTSUPP      = syscall.Errno(0x2d)
- 	EOVERFLOW       = syscall.Errno(0x5c)
- 	EOWNERDEAD      = syscall.Errno(0x84)
--	EPERM           = syscall.Errno(0x1)
- 	EPFNOSUPPORT    = syscall.Errno(0x2e)
--	EPIPE           = syscall.Errno(0x20)
- 	EPROCLIM        = syscall.Errno(0x43)
- 	EPROTO          = syscall.Errno(0x56)
- 	EPROTONOSUPPORT = syscall.Errno(0x2b)
- 	EPROTOTYPE      = syscall.Errno(0x29)
--	ERANGE          = syscall.Errno(0x22)
- 	EREMCHG         = syscall.Errno(0x59)
- 	EREMOTE         = syscall.Errno(0x47)
- 	EREMOTEIO       = syscall.Errno(0x79)
- 	ERESTART        = syscall.Errno(0x74)
- 	ERFKILL         = syscall.Errno(0x86)
--	EROFS           = syscall.Errno(0x1e)
- 	ERREMOTE        = syscall.Errno(0x51)
- 	ESHUTDOWN       = syscall.Errno(0x3a)
- 	ESOCKTNOSUPPORT = syscall.Errno(0x2c)
--	ESPIPE          = syscall.Errno(0x1d)
--	ESRCH           = syscall.Errno(0x3)
- 	ESRMNT          = syscall.Errno(0x54)
- 	ESTALE          = syscall.Errno(0x46)
- 	ESTRPIPE        = syscall.Errno(0x5b)
- 	ETIME           = syscall.Errno(0x49)
- 	ETIMEDOUT       = syscall.Errno(0x3c)
- 	ETOOMANYREFS    = syscall.Errno(0x3b)
--	ETXTBSY         = syscall.Errno(0x1a)
- 	EUCLEAN         = syscall.Errno(0x75)
- 	EUNATCH         = syscall.Errno(0x63)
- 	EUSERS          = syscall.Errno(0x44)
--	EWOULDBLOCK     = syscall.Errno(0xb)
--	EXDEV           = syscall.Errno(0x12)
- 	EXFULL          = syscall.Errno(0x68)
- )
- 
- // Signals
- const (
--	SIGABRT   = syscall.Signal(0x6)
--	SIGALRM   = syscall.Signal(0xe)
- 	SIGBUS    = syscall.Signal(0xa)
- 	SIGCHLD   = syscall.Signal(0x14)
- 	SIGCLD    = syscall.Signal(0x14)
- 	SIGCONT   = syscall.Signal(0x13)
- 	SIGEMT    = syscall.Signal(0x7)
--	SIGFPE    = syscall.Signal(0x8)
--	SIGHUP    = syscall.Signal(0x1)
--	SIGILL    = syscall.Signal(0x4)
--	SIGINT    = syscall.Signal(0x2)
- 	SIGIO     = syscall.Signal(0x17)
--	SIGIOT    = syscall.Signal(0x6)
--	SIGKILL   = syscall.Signal(0x9)
- 	SIGLOST   = syscall.Signal(0x1d)
--	SIGPIPE   = syscall.Signal(0xd)
- 	SIGPOLL   = syscall.Signal(0x17)
- 	SIGPROF   = syscall.Signal(0x1b)
- 	SIGPWR    = syscall.Signal(0x1d)
--	SIGQUIT   = syscall.Signal(0x3)
--	SIGSEGV   = syscall.Signal(0xb)
- 	SIGSTOP   = syscall.Signal(0x11)
- 	SIGSYS    = syscall.Signal(0xc)
--	SIGTERM   = syscall.Signal(0xf)
--	SIGTRAP   = syscall.Signal(0x5)
- 	SIGTSTP   = syscall.Signal(0x12)
- 	SIGTTIN   = syscall.Signal(0x15)
- 	SIGTTOU   = syscall.Signal(0x16)
-@@ -1969,174 +660,182 @@ const (
- )
- 
- // Error table
--var errors = [...]string{
--	1:   "operation not permitted",
--	2:   "no such file or directory",
--	3:   "no such process",
--	4:   "interrupted system call",
--	5:   "input/output error",
--	6:   "no such device or address",
--	7:   "argument list too long",
--	8:   "exec format error",
--	9:   "bad file descriptor",
--	10:  "no child processes",
--	11:  "resource temporarily unavailable",
--	12:  "cannot allocate memory",
--	13:  "permission denied",
--	14:  "bad address",
--	15:  "block device required",
--	16:  "device or resource busy",
--	17:  "file exists",
--	18:  "invalid cross-device link",
--	19:  "no such device",
--	20:  "not a directory",
--	21:  "is a directory",
--	22:  "invalid argument",
--	23:  "too many open files in system",
--	24:  "too many open files",
--	25:  "inappropriate ioctl for device",
--	26:  "text file busy",
--	27:  "file too large",
--	28:  "no space left on device",
--	29:  "illegal seek",
--	30:  "read-only file system",
--	31:  "too many links",
--	32:  "broken pipe",
--	33:  "numerical argument out of domain",
--	34:  "numerical result out of range",
--	36:  "operation now in progress",
--	37:  "operation already in progress",
--	38:  "socket operation on non-socket",
--	39:  "destination address required",
--	40:  "message too long",
--	41:  "protocol wrong type for socket",
--	42:  "protocol not available",
--	43:  "protocol not supported",
--	44:  "socket type not supported",
--	45:  "operation not supported",
--	46:  "protocol family not supported",
--	47:  "address family not supported by protocol",
--	48:  "address already in use",
--	49:  "cannot assign requested address",
--	50:  "network is down",
--	51:  "network is unreachable",
--	52:  "network dropped connection on reset",
--	53:  "software caused connection abort",
--	54:  "connection reset by peer",
--	55:  "no buffer space available",
--	56:  "transport endpoint is already connected",
--	57:  "transport endpoint is not connected",
--	58:  "cannot send after transport endpoint shutdown",
--	59:  "too many references: cannot splice",
--	60:  "connection timed out",
--	61:  "connection refused",
--	62:  "too many levels of symbolic links",
--	63:  "file name too long",
--	64:  "host is down",
--	65:  "no route to host",
--	66:  "directory not empty",
--	67:  "too many processes",
--	68:  "too many users",
--	69:  "disk quota exceeded",
--	70:  "stale file handle",
--	71:  "object is remote",
--	72:  "device not a stream",
--	73:  "timer expired",
--	74:  "out of streams resources",
--	75:  "no message of desired type",
--	76:  "bad message",
--	77:  "identifier removed",
--	78:  "resource deadlock avoided",
--	79:  "no locks available",
--	80:  "machine is not on the network",
--	81:  "unknown error 81",
--	82:  "link has been severed",
--	83:  "advertise error",
--	84:  "srmount error",
--	85:  "communication error on send",
--	86:  "protocol error",
--	87:  "multihop attempted",
--	88:  "RFS specific error",
--	89:  "remote address changed",
--	90:  "function not implemented",
--	91:  "streams pipe error",
--	92:  "value too large for defined data type",
--	93:  "file descriptor in bad state",
--	94:  "channel number out of range",
--	95:  "level 2 not synchronized",
--	96:  "level 3 halted",
--	97:  "level 3 reset",
--	98:  "link number out of range",
--	99:  "protocol driver not attached",
--	100: "no CSI structure available",
--	101: "level 2 halted",
--	102: "invalid exchange",
--	103: "invalid request descriptor",
--	104: "exchange full",
--	105: "no anode",
--	106: "invalid request code",
--	107: "invalid slot",
--	108: "file locking deadlock error",
--	109: "bad font file format",
--	110: "cannot exec a shared library directly",
--	111: "no data available",
--	112: "accessing a corrupted shared library",
--	113: "package not installed",
--	114: "can not access a needed shared library",
--	115: "name not unique on network",
--	116: "interrupted system call should be restarted",
--	117: "structure needs cleaning",
--	118: "not a XENIX named type file",
--	119: "no XENIX semaphores available",
--	120: "is a named type file",
--	121: "remote I/O error",
--	122: "invalid or incomplete multibyte or wide character",
--	123: "attempting to link in too many shared libraries",
--	124: ".lib section in a.out corrupted",
--	125: "no medium found",
--	126: "wrong medium type",
--	127: "operation canceled",
--	128: "required key not available",
--	129: "key has expired",
--	130: "key has been revoked",
--	131: "key was rejected by service",
--	132: "owner died",
--	133: "state not recoverable",
--	134: "operation not possible due to RF-kill",
--	135: "memory page has hardware error",
-+var errorList = [...]struct {
-+	num  syscall.Errno
-+	name string
-+	desc string
-+}{
-+	{1, "EPERM", "operation not permitted"},
-+	{2, "ENOENT", "no such file or directory"},
-+	{3, "ESRCH", "no such process"},
-+	{4, "EINTR", "interrupted system call"},
-+	{5, "EIO", "input/output error"},
-+	{6, "ENXIO", "no such device or address"},
-+	{7, "E2BIG", "argument list too long"},
-+	{8, "ENOEXEC", "exec format error"},
-+	{9, "EBADF", "bad file descriptor"},
-+	{10, "ECHILD", "no child processes"},
-+	{11, "EAGAIN", "resource temporarily unavailable"},
-+	{12, "ENOMEM", "cannot allocate memory"},
-+	{13, "EACCES", "permission denied"},
-+	{14, "EFAULT", "bad address"},
-+	{15, "ENOTBLK", "block device required"},
-+	{16, "EBUSY", "device or resource busy"},
-+	{17, "EEXIST", "file exists"},
-+	{18, "EXDEV", "invalid cross-device link"},
-+	{19, "ENODEV", "no such device"},
-+	{20, "ENOTDIR", "not a directory"},
-+	{21, "EISDIR", "is a directory"},
-+	{22, "EINVAL", "invalid argument"},
-+	{23, "ENFILE", "too many open files in system"},
-+	{24, "EMFILE", "too many open files"},
-+	{25, "ENOTTY", "inappropriate ioctl for device"},
-+	{26, "ETXTBSY", "text file busy"},
-+	{27, "EFBIG", "file too large"},
-+	{28, "ENOSPC", "no space left on device"},
-+	{29, "ESPIPE", "illegal seek"},
-+	{30, "EROFS", "read-only file system"},
-+	{31, "EMLINK", "too many links"},
-+	{32, "EPIPE", "broken pipe"},
-+	{33, "EDOM", "numerical argument out of domain"},
-+	{34, "ERANGE", "numerical result out of range"},
-+	{36, "EINPROGRESS", "operation now in progress"},
-+	{37, "EALREADY", "operation already in progress"},
-+	{38, "ENOTSOCK", "socket operation on non-socket"},
-+	{39, "EDESTADDRREQ", "destination address required"},
-+	{40, "EMSGSIZE", "message too long"},
-+	{41, "EPROTOTYPE", "protocol wrong type for socket"},
-+	{42, "ENOPROTOOPT", "protocol not available"},
-+	{43, "EPROTONOSUPPORT", "protocol not supported"},
-+	{44, "ESOCKTNOSUPPORT", "socket type not supported"},
-+	{45, "ENOTSUP", "operation not supported"},
-+	{46, "EPFNOSUPPORT", "protocol family not supported"},
-+	{47, "EAFNOSUPPORT", "address family not supported by protocol"},
-+	{48, "EADDRINUSE", "address already in use"},
-+	{49, "EADDRNOTAVAIL", "cannot assign requested address"},
-+	{50, "ENETDOWN", "network is down"},
-+	{51, "ENETUNREACH", "network is unreachable"},
-+	{52, "ENETRESET", "network dropped connection on reset"},
-+	{53, "ECONNABORTED", "software caused connection abort"},
-+	{54, "ECONNRESET", "connection reset by peer"},
-+	{55, "ENOBUFS", "no buffer space available"},
-+	{56, "EISCONN", "transport endpoint is already connected"},
-+	{57, "ENOTCONN", "transport endpoint is not connected"},
-+	{58, "ESHUTDOWN", "cannot send after transport endpoint shutdown"},
-+	{59, "ETOOMANYREFS", "too many references: cannot splice"},
-+	{60, "ETIMEDOUT", "connection timed out"},
-+	{61, "ECONNREFUSED", "connection refused"},
-+	{62, "ELOOP", "too many levels of symbolic links"},
-+	{63, "ENAMETOOLONG", "file name too long"},
-+	{64, "EHOSTDOWN", "host is down"},
-+	{65, "EHOSTUNREACH", "no route to host"},
-+	{66, "ENOTEMPTY", "directory not empty"},
-+	{67, "EPROCLIM", "too many processes"},
-+	{68, "EUSERS", "too many users"},
-+	{69, "EDQUOT", "disk quota exceeded"},
-+	{70, "ESTALE", "stale file handle"},
-+	{71, "EREMOTE", "object is remote"},
-+	{72, "ENOSTR", "device not a stream"},
-+	{73, "ETIME", "timer expired"},
-+	{74, "ENOSR", "out of streams resources"},
-+	{75, "ENOMSG", "no message of desired type"},
-+	{76, "EBADMSG", "bad message"},
-+	{77, "EIDRM", "identifier removed"},
-+	{78, "EDEADLK", "resource deadlock avoided"},
-+	{79, "ENOLCK", "no locks available"},
-+	{80, "ENONET", "machine is not on the network"},
-+	{81, "ERREMOTE", "unknown error 81"},
-+	{82, "ENOLINK", "link has been severed"},
-+	{83, "EADV", "advertise error"},
-+	{84, "ESRMNT", "srmount error"},
-+	{85, "ECOMM", "communication error on send"},
-+	{86, "EPROTO", "protocol error"},
-+	{87, "EMULTIHOP", "multihop attempted"},
-+	{88, "EDOTDOT", "RFS specific error"},
-+	{89, "EREMCHG", "remote address changed"},
-+	{90, "ENOSYS", "function not implemented"},
-+	{91, "ESTRPIPE", "streams pipe error"},
-+	{92, "EOVERFLOW", "value too large for defined data type"},
-+	{93, "EBADFD", "file descriptor in bad state"},
-+	{94, "ECHRNG", "channel number out of range"},
-+	{95, "EL2NSYNC", "level 2 not synchronized"},
-+	{96, "EL3HLT", "level 3 halted"},
-+	{97, "EL3RST", "level 3 reset"},
-+	{98, "ELNRNG", "link number out of range"},
-+	{99, "EUNATCH", "protocol driver not attached"},
-+	{100, "ENOCSI", "no CSI structure available"},
-+	{101, "EL2HLT", "level 2 halted"},
-+	{102, "EBADE", "invalid exchange"},
-+	{103, "EBADR", "invalid request descriptor"},
-+	{104, "EXFULL", "exchange full"},
-+	{105, "ENOANO", "no anode"},
-+	{106, "EBADRQC", "invalid request code"},
-+	{107, "EBADSLT", "invalid slot"},
-+	{108, "EDEADLOCK", "file locking deadlock error"},
-+	{109, "EBFONT", "bad font file format"},
-+	{110, "ELIBEXEC", "cannot exec a shared library directly"},
-+	{111, "ENODATA", "no data available"},
-+	{112, "ELIBBAD", "accessing a corrupted shared library"},
-+	{113, "ENOPKG", "package not installed"},
-+	{114, "ELIBACC", "can not access a needed shared library"},
-+	{115, "ENOTUNIQ", "name not unique on network"},
-+	{116, "ERESTART", "interrupted system call should be restarted"},
-+	{117, "EUCLEAN", "structure needs cleaning"},
-+	{118, "ENOTNAM", "not a XENIX named type file"},
-+	{119, "ENAVAIL", "no XENIX semaphores available"},
-+	{120, "EISNAM", "is a named type file"},
-+	{121, "EREMOTEIO", "remote I/O error"},
-+	{122, "EILSEQ", "invalid or incomplete multibyte or wide character"},
-+	{123, "ELIBMAX", "attempting to link in too many shared libraries"},
-+	{124, "ELIBSCN", ".lib section in a.out corrupted"},
-+	{125, "ENOMEDIUM", "no medium found"},
-+	{126, "EMEDIUMTYPE", "wrong medium type"},
-+	{127, "ECANCELED", "operation canceled"},
-+	{128, "ENOKEY", "required key not available"},
-+	{129, "EKEYEXPIRED", "key has expired"},
-+	{130, "EKEYREVOKED", "key has been revoked"},
-+	{131, "EKEYREJECTED", "key was rejected by service"},
-+	{132, "EOWNERDEAD", "owner died"},
-+	{133, "ENOTRECOVERABLE", "state not recoverable"},
-+	{134, "ERFKILL", "operation not possible due to RF-kill"},
-+	{135, "EHWPOISON", "memory page has hardware error"},
- }
- 
- // Signal table
--var signals = [...]string{
--	1:  "hangup",
--	2:  "interrupt",
--	3:  "quit",
--	4:  "illegal instruction",
--	5:  "trace/breakpoint trap",
--	6:  "aborted",
--	7:  "EMT trap",
--	8:  "floating point exception",
--	9:  "killed",
--	10: "bus error",
--	11: "segmentation fault",
--	12: "bad system call",
--	13: "broken pipe",
--	14: "alarm clock",
--	15: "terminated",
--	16: "urgent I/O condition",
--	17: "stopped (signal)",
--	18: "stopped",
--	19: "continued",
--	20: "child exited",
--	21: "stopped (tty input)",
--	22: "stopped (tty output)",
--	23: "I/O possible",
--	24: "CPU time limit exceeded",
--	25: "file size limit exceeded",
--	26: "virtual timer expired",
--	27: "profiling timer expired",
--	28: "window changed",
--	29: "resource lost",
--	30: "user defined signal 1",
--	31: "user defined signal 2",
-+var signalList = [...]struct {
-+	num  syscall.Signal
-+	name string
-+	desc string
-+}{
-+	{1, "SIGHUP", "hangup"},
-+	{2, "SIGINT", "interrupt"},
-+	{3, "SIGQUIT", "quit"},
-+	{4, "SIGILL", "illegal instruction"},
-+	{5, "SIGTRAP", "trace/breakpoint trap"},
-+	{6, "SIGABRT", "aborted"},
-+	{7, "SIGEMT", "EMT trap"},
-+	{8, "SIGFPE", "floating point exception"},
-+	{9, "SIGKILL", "killed"},
-+	{10, "SIGBUS", "bus error"},
-+	{11, "SIGSEGV", "segmentation fault"},
-+	{12, "SIGSYS", "bad system call"},
-+	{13, "SIGPIPE", "broken pipe"},
-+	{14, "SIGALRM", "alarm clock"},
-+	{15, "SIGTERM", "terminated"},
-+	{16, "SIGURG", "urgent I/O condition"},
-+	{17, "SIGSTOP", "stopped (signal)"},
-+	{18, "SIGTSTP", "stopped"},
-+	{19, "SIGCONT", "continued"},
-+	{20, "SIGCHLD", "child exited"},
-+	{21, "SIGTTIN", "stopped (tty input)"},
-+	{22, "SIGTTOU", "stopped (tty output)"},
-+	{23, "SIGIO", "I/O possible"},
-+	{24, "SIGXCPU", "CPU time limit exceeded"},
-+	{25, "SIGXFSZ", "file size limit exceeded"},
-+	{26, "SIGVTALRM", "virtual timer expired"},
-+	{27, "SIGPROF", "profiling timer expired"},
-+	{28, "SIGWINCH", "window changed"},
-+	{29, "SIGLOST", "power failure"},
-+	{30, "SIGUSR1", "user defined signal 1"},
-+	{31, "SIGUSR2", "user defined signal 2"},
- }
-diff --git a/vendor/golang.org/x/sys/unix/zerrors_netbsd_386.go b/vendor/golang.org/x/sys/unix/zerrors_netbsd_386.go
-index b4338d5f..96b9b8ab 100644
---- a/vendor/golang.org/x/sys/unix/zerrors_netbsd_386.go
-+++ b/vendor/golang.org/x/sys/unix/zerrors_netbsd_386.go
-@@ -1,9 +1,9 @@
- // mkerrors.sh -m32
--// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
-+// Code generated by the command above; see README.md. DO NOT EDIT.
- 
- // +build 386,netbsd
- 
--// Created by cgo -godefs - DO NOT EDIT
-+// Code generated by cmd/cgo -godefs; DO NOT EDIT.
- // cgo -godefs -- -m32 _const.go
- 
- package unix
-@@ -159,6 +159,7 @@ const (
- 	CLONE_VFORK                       = 0x4000
- 	CLONE_VM                          = 0x100
- 	CREAD                             = 0x800
-+	CRTSCTS                           = 0x10000
- 	CS5                               = 0x0
- 	CS6                               = 0x100
- 	CS7                               = 0x200
-@@ -169,6 +170,8 @@ const (
- 	CSTOP                             = 0x13
- 	CSTOPB                            = 0x400
- 	CSUSP                             = 0x1a
-+	CTL_HW                            = 0x6
-+	CTL_KERN                          = 0x1
- 	CTL_MAXNAME                       = 0xc
- 	CTL_NET                           = 0x4
- 	CTL_QUERY                         = -0x2
-@@ -547,6 +550,10 @@ const (
- 	EV_ONESHOT                        = 0x10
- 	EV_SYSFLAGS                       = 0xf000
- 	EXTA                              = 0x4b00
-+	EXTATTR_CMD_START                 = 0x1
-+	EXTATTR_CMD_STOP                  = 0x2
-+	EXTATTR_NAMESPACE_SYSTEM          = 0x2
-+	EXTATTR_NAMESPACE_USER            = 0x1
- 	EXTB                              = 0x9600
- 	EXTPROC                           = 0x800
- 	FD_CLOEXEC                        = 0x1
-@@ -581,6 +588,7 @@ const (
- 	F_UNLCK                           = 0x2
- 	F_WRLCK                           = 0x3
- 	HUPCL                             = 0x4000
-+	HW_MACHINE                        = 0x1
- 	ICANON                            = 0x100
- 	ICMP6_FILTER                      = 0x12
- 	ICRNL                             = 0x100
-@@ -970,6 +978,10 @@ const (
- 	IXANY                             = 0x800
- 	IXOFF                             = 0x400
- 	IXON                              = 0x200
-+	KERN_HOSTNAME                     = 0xa
-+	KERN_OSRELEASE                    = 0x2
-+	KERN_OSTYPE                       = 0x1
-+	KERN_VERSION                      = 0x4
- 	LOCK_EX                           = 0x2
- 	LOCK_NB                           = 0x4
- 	LOCK_SH                           = 0x1
-@@ -1008,6 +1020,43 @@ const (
- 	MAP_WIRED                         = 0x800
- 	MCL_CURRENT                       = 0x1
- 	MCL_FUTURE                        = 0x2
-+	MNT_ASYNC                         = 0x40
-+	MNT_BASIC_FLAGS                   = 0xe782807f
-+	MNT_DEFEXPORTED                   = 0x200
-+	MNT_DISCARD                       = 0x800000
-+	MNT_EXKERB                        = 0x800
-+	MNT_EXNORESPORT                   = 0x8000000
-+	MNT_EXPORTANON                    = 0x400
-+	MNT_EXPORTED                      = 0x100
-+	MNT_EXPUBLIC                      = 0x10000000
-+	MNT_EXRDONLY                      = 0x80
-+	MNT_EXTATTR                       = 0x1000000
-+	MNT_FORCE                         = 0x80000
-+	MNT_GETARGS                       = 0x400000
-+	MNT_IGNORE                        = 0x100000
-+	MNT_LAZY                          = 0x3
-+	MNT_LOCAL                         = 0x1000
-+	MNT_LOG                           = 0x2000000
-+	MNT_NOATIME                       = 0x4000000
-+	MNT_NOCOREDUMP                    = 0x8000
-+	MNT_NODEV                         = 0x10
-+	MNT_NODEVMTIME                    = 0x40000000
-+	MNT_NOEXEC                        = 0x4
-+	MNT_NOSUID                        = 0x8
-+	MNT_NOWAIT                        = 0x2
-+	MNT_OP_FLAGS                      = 0x4d0000
-+	MNT_QUOTA                         = 0x2000
-+	MNT_RDONLY                        = 0x1
-+	MNT_RELATIME                      = 0x20000
-+	MNT_RELOAD                        = 0x40000
-+	MNT_ROOTFS                        = 0x4000
-+	MNT_SOFTDEP                       = 0x80000000
-+	MNT_SYMPERM                       = 0x20000000
-+	MNT_SYNCHRONOUS                   = 0x2
-+	MNT_UNION                         = 0x20
-+	MNT_UPDATE                        = 0x10000
-+	MNT_VISFLAGMASK                   = 0xff90ffff
-+	MNT_WAIT                          = 0x1
- 	MSG_BCAST                         = 0x100
- 	MSG_CMSG_CLOEXEC                  = 0x800
- 	MSG_CONTROLMBUF                   = 0x2000000
-@@ -1036,6 +1085,7 @@ const (
- 	NET_RT_MAXID                      = 0x6
- 	NET_RT_OIFLIST                    = 0x4
- 	NET_RT_OOIFLIST                   = 0x3
-+	NFDBITS                           = 0x20
- 	NOFLSH                            = 0x80000000
- 	NOTE_ATTRIB                       = 0x8
- 	NOTE_CHILD                        = 0x4
-@@ -1101,7 +1151,10 @@ const (
- 	RLIMIT_CPU                        = 0x0
- 	RLIMIT_DATA                       = 0x2
- 	RLIMIT_FSIZE                      = 0x1
-+	RLIMIT_MEMLOCK                    = 0x6
- 	RLIMIT_NOFILE                     = 0x8
-+	RLIMIT_NPROC                      = 0x7
-+	RLIMIT_RSS                        = 0x5
- 	RLIMIT_STACK                      = 0x3
- 	RLIM_INFINITY                     = 0x7fffffffffffffff
- 	RTAX_AUTHOR                       = 0x6
-@@ -1576,137 +1629,145 @@ const (
- )
- 
- // Error table
--var errors = [...]string{
--	1:  "operation not permitted",
--	2:  "no such file or directory",
--	3:  "no such process",
--	4:  "interrupted system call",
--	5:  "input/output error",
--	6:  "device not configured",
--	7:  "argument list too long",
--	8:  "exec format error",
--	9:  "bad file descriptor",
--	10: "no child processes",
--	11: "resource deadlock avoided",
--	12: "cannot allocate memory",
--	13: "permission denied",
--	14: "bad address",
--	15: "block device required",
--	16: "device busy",
--	17: "file exists",
--	18: "cross-device link",
--	19: "operation not supported by device",
--	20: "not a directory",
--	21: "is a directory",
--	22: "invalid argument",
--	23: "too many open files in system",
--	24: "too many open files",
--	25: "inappropriate ioctl for device",
--	26: "text file busy",
--	27: "file too large",
--	28: "no space left on device",
--	29: "illegal seek",
--	30: "read-only file system",
--	31: "too many links",
--	32: "broken pipe",
--	33: "numerical argument out of domain",
--	34: "result too large or too small",
--	35: "resource temporarily unavailable",
--	36: "operation now in progress",
--	37: "operation already in progress",
--	38: "socket operation on non-socket",
--	39: "destination address required",
--	40: "message too long",
--	41: "protocol wrong type for socket",
--	42: "protocol option not available",
--	43: "protocol not supported",
--	44: "socket type not supported",
--	45: "operation not supported",
--	46: "protocol family not supported",
--	47: "address family not supported by protocol family",
--	48: "address already in use",
--	49: "can't assign requested address",
--	50: "network is down",
--	51: "network is unreachable",
--	52: "network dropped connection on reset",
--	53: "software caused connection abort",
--	54: "connection reset by peer",
--	55: "no buffer space available",
--	56: "socket is already connected",
--	57: "socket is not connected",
--	58: "can't send after socket shutdown",
--	59: "too many references: can't splice",
--	60: "connection timed out",
--	61: "connection refused",
--	62: "too many levels of symbolic links",
--	63: "file name too long",
--	64: "host is down",
--	65: "no route to host",
--	66: "directory not empty",
--	67: "too many processes",
--	68: "too many users",
--	69: "disc quota exceeded",
--	70: "stale NFS file handle",
--	71: "too many levels of remote in path",
--	72: "RPC struct is bad",
--	73: "RPC version wrong",
--	74: "RPC prog. not avail",
--	75: "program version wrong",
--	76: "bad procedure for program",
--	77: "no locks available",
--	78: "function not implemented",
--	79: "inappropriate file type or format",
--	80: "authentication error",
--	81: "need authenticator",
--	82: "identifier removed",
--	83: "no message of desired type",
--	84: "value too large to be stored in data type",
--	85: "illegal byte sequence",
--	86: "not supported",
--	87: "operation Canceled",
--	88: "bad or Corrupt message",
--	89: "no message available",
--	90: "no STREAM resources",
--	91: "not a STREAM",
--	92: "STREAM ioctl timeout",
--	93: "attribute not found",
--	94: "multihop attempted",
--	95: "link has been severed",
--	96: "protocol error",
-+var errorList = [...]struct {
-+	num  syscall.Errno
-+	name string
-+	desc string
-+}{
-+	{1, "EPERM", "operation not permitted"},
-+	{2, "ENOENT", "no such file or directory"},
-+	{3, "ESRCH", "no such process"},
-+	{4, "EINTR", "interrupted system call"},
-+	{5, "EIO", "input/output error"},
-+	{6, "ENXIO", "device not configured"},
-+	{7, "E2BIG", "argument list too long"},
-+	{8, "ENOEXEC", "exec format error"},
-+	{9, "EBADF", "bad file descriptor"},
-+	{10, "ECHILD", "no child processes"},
-+	{11, "EDEADLK", "resource deadlock avoided"},
-+	{12, "ENOMEM", "cannot allocate memory"},
-+	{13, "EACCES", "permission denied"},
-+	{14, "EFAULT", "bad address"},
-+	{15, "ENOTBLK", "block device required"},
-+	{16, "EBUSY", "device busy"},
-+	{17, "EEXIST", "file exists"},
-+	{18, "EXDEV", "cross-device link"},
-+	{19, "ENODEV", "operation not supported by device"},
-+	{20, "ENOTDIR", "not a directory"},
-+	{21, "EISDIR", "is a directory"},
-+	{22, "EINVAL", "invalid argument"},
-+	{23, "ENFILE", "too many open files in system"},
-+	{24, "EMFILE", "too many open files"},
-+	{25, "ENOTTY", "inappropriate ioctl for device"},
-+	{26, "ETXTBSY", "text file busy"},
-+	{27, "EFBIG", "file too large"},
-+	{28, "ENOSPC", "no space left on device"},
-+	{29, "ESPIPE", "illegal seek"},
-+	{30, "EROFS", "read-only file system"},
-+	{31, "EMLINK", "too many links"},
-+	{32, "EPIPE", "broken pipe"},
-+	{33, "EDOM", "numerical argument out of domain"},
-+	{34, "ERANGE", "result too large or too small"},
-+	{35, "EAGAIN", "resource temporarily unavailable"},
-+	{36, "EINPROGRESS", "operation now in progress"},
-+	{37, "EALREADY", "operation already in progress"},
-+	{38, "ENOTSOCK", "socket operation on non-socket"},
-+	{39, "EDESTADDRREQ", "destination address required"},
-+	{40, "EMSGSIZE", "message too long"},
-+	{41, "EPROTOTYPE", "protocol wrong type for socket"},
-+	{42, "ENOPROTOOPT", "protocol option not available"},
-+	{43, "EPROTONOSUPPORT", "protocol not supported"},
-+	{44, "ESOCKTNOSUPPORT", "socket type not supported"},
-+	{45, "EOPNOTSUPP", "operation not supported"},
-+	{46, "EPFNOSUPPORT", "protocol family not supported"},
-+	{47, "EAFNOSUPPORT", "address family not supported by protocol family"},
-+	{48, "EADDRINUSE", "address already in use"},
-+	{49, "EADDRNOTAVAIL", "can't assign requested address"},
-+	{50, "ENETDOWN", "network is down"},
-+	{51, "ENETUNREACH", "network is unreachable"},
-+	{52, "ENETRESET", "network dropped connection on reset"},
-+	{53, "ECONNABORTED", "software caused connection abort"},
-+	{54, "ECONNRESET", "connection reset by peer"},
-+	{55, "ENOBUFS", "no buffer space available"},
-+	{56, "EISCONN", "socket is already connected"},
-+	{57, "ENOTCONN", "socket is not connected"},
-+	{58, "ESHUTDOWN", "can't send after socket shutdown"},
-+	{59, "ETOOMANYREFS", "too many references: can't splice"},
-+	{60, "ETIMEDOUT", "connection timed out"},
-+	{61, "ECONNREFUSED", "connection refused"},
-+	{62, "ELOOP", "too many levels of symbolic links"},
-+	{63, "ENAMETOOLONG", "file name too long"},
-+	{64, "EHOSTDOWN", "host is down"},
-+	{65, "EHOSTUNREACH", "no route to host"},
-+	{66, "ENOTEMPTY", "directory not empty"},
-+	{67, "EPROCLIM", "too many processes"},
-+	{68, "EUSERS", "too many users"},
-+	{69, "EDQUOT", "disc quota exceeded"},
-+	{70, "ESTALE", "stale NFS file handle"},
-+	{71, "EREMOTE", "too many levels of remote in path"},
-+	{72, "EBADRPC", "RPC struct is bad"},
-+	{73, "ERPCMISMATCH", "RPC version wrong"},
-+	{74, "EPROGUNAVAIL", "RPC prog. not avail"},
-+	{75, "EPROGMISMATCH", "program version wrong"},
-+	{76, "EPROCUNAVAIL", "bad procedure for program"},
-+	{77, "ENOLCK", "no locks available"},
-+	{78, "ENOSYS", "function not implemented"},
-+	{79, "EFTYPE", "inappropriate file type or format"},
-+	{80, "EAUTH", "authentication error"},
-+	{81, "ENEEDAUTH", "need authenticator"},
-+	{82, "EIDRM", "identifier removed"},
-+	{83, "ENOMSG", "no message of desired type"},
-+	{84, "EOVERFLOW", "value too large to be stored in data type"},
-+	{85, "EILSEQ", "illegal byte sequence"},
-+	{86, "ENOTSUP", "not supported"},
-+	{87, "ECANCELED", "operation Canceled"},
-+	{88, "EBADMSG", "bad or Corrupt message"},
-+	{89, "ENODATA", "no message available"},
-+	{90, "ENOSR", "no STREAM resources"},
-+	{91, "ENOSTR", "not a STREAM"},
-+	{92, "ETIME", "STREAM ioctl timeout"},
-+	{93, "ENOATTR", "attribute not found"},
-+	{94, "EMULTIHOP", "multihop attempted"},
-+	{95, "ENOLINK", "link has been severed"},
-+	{96, "ELAST", "protocol error"},
- }
- 
- // Signal table
--var signals = [...]string{
--	1:  "hangup",
--	2:  "interrupt",
--	3:  "quit",
--	4:  "illegal instruction",
--	5:  "trace/BPT trap",
--	6:  "abort trap",
--	7:  "EMT trap",
--	8:  "floating point exception",
--	9:  "killed",
--	10: "bus error",
--	11: "segmentation fault",
--	12: "bad system call",
--	13: "broken pipe",
--	14: "alarm clock",
--	15: "terminated",
--	16: "urgent I/O condition",
--	17: "stopped (signal)",
--	18: "stopped",
--	19: "continued",
--	20: "child exited",
--	21: "stopped (tty input)",
--	22: "stopped (tty output)",
--	23: "I/O possible",
--	24: "cputime limit exceeded",
--	25: "filesize limit exceeded",
--	26: "virtual timer expired",
--	27: "profiling timer expired",
--	28: "window size changes",
--	29: "information request",
--	30: "user defined signal 1",
--	31: "user defined signal 2",
--	32: "power fail/restart",
-+var signalList = [...]struct {
-+	num  syscall.Signal
-+	name string
-+	desc string
-+}{
-+	{1, "SIGHUP", "hangup"},
-+	{2, "SIGINT", "interrupt"},
-+	{3, "SIGQUIT", "quit"},
-+	{4, "SIGILL", "illegal instruction"},
-+	{5, "SIGTRAP", "trace/BPT trap"},
-+	{6, "SIGIOT", "abort trap"},
-+	{7, "SIGEMT", "EMT trap"},
-+	{8, "SIGFPE", "floating point exception"},
-+	{9, "SIGKILL", "killed"},
-+	{10, "SIGBUS", "bus error"},
-+	{11, "SIGSEGV", "segmentation fault"},
-+	{12, "SIGSYS", "bad system call"},
-+	{13, "SIGPIPE", "broken pipe"},
-+	{14, "SIGALRM", "alarm clock"},
-+	{15, "SIGTERM", "terminated"},
-+	{16, "SIGURG", "urgent I/O condition"},
-+	{17, "SIGSTOP", "stopped (signal)"},
-+	{18, "SIGTSTP", "stopped"},
-+	{19, "SIGCONT", "continued"},
-+	{20, "SIGCHLD", "child exited"},
-+	{21, "SIGTTIN", "stopped (tty input)"},
-+	{22, "SIGTTOU", "stopped (tty output)"},
-+	{23, "SIGIO", "I/O possible"},
-+	{24, "SIGXCPU", "cputime limit exceeded"},
-+	{25, "SIGXFSZ", "filesize limit exceeded"},
-+	{26, "SIGVTALRM", "virtual timer expired"},
-+	{27, "SIGPROF", "profiling timer expired"},
-+	{28, "SIGWINCH", "window size changes"},
-+	{29, "SIGINFO", "information request"},
-+	{30, "SIGUSR1", "user defined signal 1"},
-+	{31, "SIGUSR2", "user defined signal 2"},
-+	{32, "SIGPWR", "power fail/restart"},
- }
-diff --git a/vendor/golang.org/x/sys/unix/zerrors_netbsd_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_netbsd_amd64.go
-index 4994437b..ed522a84 100644
---- a/vendor/golang.org/x/sys/unix/zerrors_netbsd_amd64.go
-+++ b/vendor/golang.org/x/sys/unix/zerrors_netbsd_amd64.go
-@@ -1,9 +1,9 @@
- // mkerrors.sh -m64
--// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
-+// Code generated by the command above; see README.md. DO NOT EDIT.
- 
- // +build amd64,netbsd
- 
--// Created by cgo -godefs - DO NOT EDIT
-+// Code generated by cmd/cgo -godefs; DO NOT EDIT.
- // cgo -godefs -- -m64 _const.go
- 
- package unix
-@@ -159,6 +159,7 @@ const (
- 	CLONE_VFORK                       = 0x4000
- 	CLONE_VM                          = 0x100
- 	CREAD                             = 0x800
-+	CRTSCTS                           = 0x10000
- 	CS5                               = 0x0
- 	CS6                               = 0x100
- 	CS7                               = 0x200
-@@ -169,6 +170,8 @@ const (
- 	CSTOP                             = 0x13
- 	CSTOPB                            = 0x400
- 	CSUSP                             = 0x1a
-+	CTL_HW                            = 0x6
-+	CTL_KERN                          = 0x1
- 	CTL_MAXNAME                       = 0xc
- 	CTL_NET                           = 0x4
- 	CTL_QUERY                         = -0x2
-@@ -537,6 +540,10 @@ const (
- 	EV_ONESHOT                        = 0x10
- 	EV_SYSFLAGS                       = 0xf000
- 	EXTA                              = 0x4b00
-+	EXTATTR_CMD_START                 = 0x1
-+	EXTATTR_CMD_STOP                  = 0x2
-+	EXTATTR_NAMESPACE_SYSTEM          = 0x2
-+	EXTATTR_NAMESPACE_USER            = 0x1
- 	EXTB                              = 0x9600
- 	EXTPROC                           = 0x800
- 	FD_CLOEXEC                        = 0x1
-@@ -571,6 +578,7 @@ const (
- 	F_UNLCK                           = 0x2
- 	F_WRLCK                           = 0x3
- 	HUPCL                             = 0x4000
-+	HW_MACHINE                        = 0x1
- 	ICANON                            = 0x100
- 	ICMP6_FILTER                      = 0x12
- 	ICRNL                             = 0x100
-@@ -960,6 +968,10 @@ const (
- 	IXANY                             = 0x800
- 	IXOFF                             = 0x400
- 	IXON                              = 0x200
-+	KERN_HOSTNAME                     = 0xa
-+	KERN_OSRELEASE                    = 0x2
-+	KERN_OSTYPE                       = 0x1
-+	KERN_VERSION                      = 0x4
- 	LOCK_EX                           = 0x2
- 	LOCK_NB                           = 0x4
- 	LOCK_SH                           = 0x1
-@@ -998,6 +1010,43 @@ const (
- 	MAP_WIRED                         = 0x800
- 	MCL_CURRENT                       = 0x1
- 	MCL_FUTURE                        = 0x2
-+	MNT_ASYNC                         = 0x40
-+	MNT_BASIC_FLAGS                   = 0xe782807f
-+	MNT_DEFEXPORTED                   = 0x200
-+	MNT_DISCARD                       = 0x800000
-+	MNT_EXKERB                        = 0x800
-+	MNT_EXNORESPORT                   = 0x8000000
-+	MNT_EXPORTANON                    = 0x400
-+	MNT_EXPORTED                      = 0x100
-+	MNT_EXPUBLIC                      = 0x10000000
-+	MNT_EXRDONLY                      = 0x80
-+	MNT_EXTATTR                       = 0x1000000
-+	MNT_FORCE                         = 0x80000
-+	MNT_GETARGS                       = 0x400000
-+	MNT_IGNORE                        = 0x100000
-+	MNT_LAZY                          = 0x3
-+	MNT_LOCAL                         = 0x1000
-+	MNT_LOG                           = 0x2000000
-+	MNT_NOATIME                       = 0x4000000
-+	MNT_NOCOREDUMP                    = 0x8000
-+	MNT_NODEV                         = 0x10
-+	MNT_NODEVMTIME                    = 0x40000000
-+	MNT_NOEXEC                        = 0x4
-+	MNT_NOSUID                        = 0x8
-+	MNT_NOWAIT                        = 0x2
-+	MNT_OP_FLAGS                      = 0x4d0000
-+	MNT_QUOTA                         = 0x2000
-+	MNT_RDONLY                        = 0x1
-+	MNT_RELATIME                      = 0x20000
-+	MNT_RELOAD                        = 0x40000
-+	MNT_ROOTFS                        = 0x4000
-+	MNT_SOFTDEP                       = 0x80000000
-+	MNT_SYMPERM                       = 0x20000000
-+	MNT_SYNCHRONOUS                   = 0x2
-+	MNT_UNION                         = 0x20
-+	MNT_UPDATE                        = 0x10000
-+	MNT_VISFLAGMASK                   = 0xff90ffff
-+	MNT_WAIT                          = 0x1
- 	MSG_BCAST                         = 0x100
- 	MSG_CMSG_CLOEXEC                  = 0x800
- 	MSG_CONTROLMBUF                   = 0x2000000
-@@ -1026,6 +1075,7 @@ const (
- 	NET_RT_MAXID                      = 0x6
- 	NET_RT_OIFLIST                    = 0x4
- 	NET_RT_OOIFLIST                   = 0x3
-+	NFDBITS                           = 0x20
- 	NOFLSH                            = 0x80000000
- 	NOTE_ATTRIB                       = 0x8
- 	NOTE_CHILD                        = 0x4
-@@ -1091,7 +1141,10 @@ const (
- 	RLIMIT_CPU                        = 0x0
- 	RLIMIT_DATA                       = 0x2
- 	RLIMIT_FSIZE                      = 0x1
-+	RLIMIT_MEMLOCK                    = 0x6
- 	RLIMIT_NOFILE                     = 0x8
-+	RLIMIT_NPROC                      = 0x7
-+	RLIMIT_RSS                        = 0x5
- 	RLIMIT_STACK                      = 0x3
- 	RLIM_INFINITY                     = 0x7fffffffffffffff
- 	RTAX_AUTHOR                       = 0x6
-@@ -1566,137 +1619,145 @@ const (
- )
- 
- // Error table
--var errors = [...]string{
--	1:  "operation not permitted",
--	2:  "no such file or directory",
--	3:  "no such process",
--	4:  "interrupted system call",
--	5:  "input/output error",
--	6:  "device not configured",
--	7:  "argument list too long",
--	8:  "exec format error",
--	9:  "bad file descriptor",
--	10: "no child processes",
--	11: "resource deadlock avoided",
--	12: "cannot allocate memory",
--	13: "permission denied",
--	14: "bad address",
--	15: "block device required",
--	16: "device busy",
--	17: "file exists",
--	18: "cross-device link",
--	19: "operation not supported by device",
--	20: "not a directory",
--	21: "is a directory",
--	22: "invalid argument",
--	23: "too many open files in system",
--	24: "too many open files",
--	25: "inappropriate ioctl for device",
--	26: "text file busy",
--	27: "file too large",
--	28: "no space left on device",
--	29: "illegal seek",
--	30: "read-only file system",
--	31: "too many links",
--	32: "broken pipe",
--	33: "numerical argument out of domain",
--	34: "result too large or too small",
--	35: "resource temporarily unavailable",
--	36: "operation now in progress",
--	37: "operation already in progress",
--	38: "socket operation on non-socket",
--	39: "destination address required",
--	40: "message too long",
--	41: "protocol wrong type for socket",
--	42: "protocol option not available",
--	43: "protocol not supported",
--	44: "socket type not supported",
--	45: "operation not supported",
--	46: "protocol family not supported",
--	47: "address family not supported by protocol family",
--	48: "address already in use",
--	49: "can't assign requested address",
--	50: "network is down",
--	51: "network is unreachable",
--	52: "network dropped connection on reset",
--	53: "software caused connection abort",
--	54: "connection reset by peer",
--	55: "no buffer space available",
--	56: "socket is already connected",
--	57: "socket is not connected",
--	58: "can't send after socket shutdown",
--	59: "too many references: can't splice",
--	60: "connection timed out",
--	61: "connection refused",
--	62: "too many levels of symbolic links",
--	63: "file name too long",
--	64: "host is down",
--	65: "no route to host",
--	66: "directory not empty",
--	67: "too many processes",
--	68: "too many users",
--	69: "disc quota exceeded",
--	70: "stale NFS file handle",
--	71: "too many levels of remote in path",
--	72: "RPC struct is bad",
--	73: "RPC version wrong",
--	74: "RPC prog. not avail",
--	75: "program version wrong",
--	76: "bad procedure for program",
--	77: "no locks available",
--	78: "function not implemented",
--	79: "inappropriate file type or format",
--	80: "authentication error",
--	81: "need authenticator",
--	82: "identifier removed",
--	83: "no message of desired type",
--	84: "value too large to be stored in data type",
--	85: "illegal byte sequence",
--	86: "not supported",
--	87: "operation Canceled",
--	88: "bad or Corrupt message",
--	89: "no message available",
--	90: "no STREAM resources",
--	91: "not a STREAM",
--	92: "STREAM ioctl timeout",
--	93: "attribute not found",
--	94: "multihop attempted",
--	95: "link has been severed",
--	96: "protocol error",
-+var errorList = [...]struct {
-+	num  syscall.Errno
-+	name string
-+	desc string
-+}{
-+	{1, "EPERM", "operation not permitted"},
-+	{2, "ENOENT", "no such file or directory"},
-+	{3, "ESRCH", "no such process"},
-+	{4, "EINTR", "interrupted system call"},
-+	{5, "EIO", "input/output error"},
-+	{6, "ENXIO", "device not configured"},
-+	{7, "E2BIG", "argument list too long"},
-+	{8, "ENOEXEC", "exec format error"},
-+	{9, "EBADF", "bad file descriptor"},
-+	{10, "ECHILD", "no child processes"},
-+	{11, "EDEADLK", "resource deadlock avoided"},
-+	{12, "ENOMEM", "cannot allocate memory"},
-+	{13, "EACCES", "permission denied"},
-+	{14, "EFAULT", "bad address"},
-+	{15, "ENOTBLK", "block device required"},
-+	{16, "EBUSY", "device busy"},
-+	{17, "EEXIST", "file exists"},
-+	{18, "EXDEV", "cross-device link"},
-+	{19, "ENODEV", "operation not supported by device"},
-+	{20, "ENOTDIR", "not a directory"},
-+	{21, "EISDIR", "is a directory"},
-+	{22, "EINVAL", "invalid argument"},
-+	{23, "ENFILE", "too many open files in system"},
-+	{24, "EMFILE", "too many open files"},
-+	{25, "ENOTTY", "inappropriate ioctl for device"},
-+	{26, "ETXTBSY", "text file busy"},
-+	{27, "EFBIG", "file too large"},
-+	{28, "ENOSPC", "no space left on device"},
-+	{29, "ESPIPE", "illegal seek"},
-+	{30, "EROFS", "read-only file system"},
-+	{31, "EMLINK", "too many links"},
-+	{32, "EPIPE", "broken pipe"},
-+	{33, "EDOM", "numerical argument out of domain"},
-+	{34, "ERANGE", "result too large or too small"},
-+	{35, "EAGAIN", "resource temporarily unavailable"},
-+	{36, "EINPROGRESS", "operation now in progress"},
-+	{37, "EALREADY", "operation already in progress"},
-+	{38, "ENOTSOCK", "socket operation on non-socket"},
-+	{39, "EDESTADDRREQ", "destination address required"},
-+	{40, "EMSGSIZE", "message too long"},
-+	{41, "EPROTOTYPE", "protocol wrong type for socket"},
-+	{42, "ENOPROTOOPT", "protocol option not available"},
-+	{43, "EPROTONOSUPPORT", "protocol not supported"},
-+	{44, "ESOCKTNOSUPPORT", "socket type not supported"},
-+	{45, "EOPNOTSUPP", "operation not supported"},
-+	{46, "EPFNOSUPPORT", "protocol family not supported"},
-+	{47, "EAFNOSUPPORT", "address family not supported by protocol family"},
-+	{48, "EADDRINUSE", "address already in use"},
-+	{49, "EADDRNOTAVAIL", "can't assign requested address"},
-+	{50, "ENETDOWN", "network is down"},
-+	{51, "ENETUNREACH", "network is unreachable"},
-+	{52, "ENETRESET", "network dropped connection on reset"},
-+	{53, "ECONNABORTED", "software caused connection abort"},
-+	{54, "ECONNRESET", "connection reset by peer"},
-+	{55, "ENOBUFS", "no buffer space available"},
-+	{56, "EISCONN", "socket is already connected"},
-+	{57, "ENOTCONN", "socket is not connected"},
-+	{58, "ESHUTDOWN", "can't send after socket shutdown"},
-+	{59, "ETOOMANYREFS", "too many references: can't splice"},
-+	{60, "ETIMEDOUT", "connection timed out"},
-+	{61, "ECONNREFUSED", "connection refused"},
-+	{62, "ELOOP", "too many levels of symbolic links"},
-+	{63, "ENAMETOOLONG", "file name too long"},
-+	{64, "EHOSTDOWN", "host is down"},
-+	{65, "EHOSTUNREACH", "no route to host"},
-+	{66, "ENOTEMPTY", "directory not empty"},
-+	{67, "EPROCLIM", "too many processes"},
-+	{68, "EUSERS", "too many users"},
-+	{69, "EDQUOT", "disc quota exceeded"},
-+	{70, "ESTALE", "stale NFS file handle"},
-+	{71, "EREMOTE", "too many levels of remote in path"},
-+	{72, "EBADRPC", "RPC struct is bad"},
-+	{73, "ERPCMISMATCH", "RPC version wrong"},
-+	{74, "EPROGUNAVAIL", "RPC prog. not avail"},
-+	{75, "EPROGMISMATCH", "program version wrong"},
-+	{76, "EPROCUNAVAIL", "bad procedure for program"},
-+	{77, "ENOLCK", "no locks available"},
-+	{78, "ENOSYS", "function not implemented"},
-+	{79, "EFTYPE", "inappropriate file type or format"},
-+	{80, "EAUTH", "authentication error"},
-+	{81, "ENEEDAUTH", "need authenticator"},
-+	{82, "EIDRM", "identifier removed"},
-+	{83, "ENOMSG", "no message of desired type"},
-+	{84, "EOVERFLOW", "value too large to be stored in data type"},
-+	{85, "EILSEQ", "illegal byte sequence"},
-+	{86, "ENOTSUP", "not supported"},
-+	{87, "ECANCELED", "operation Canceled"},
-+	{88, "EBADMSG", "bad or Corrupt message"},
-+	{89, "ENODATA", "no message available"},
-+	{90, "ENOSR", "no STREAM resources"},
-+	{91, "ENOSTR", "not a STREAM"},
-+	{92, "ETIME", "STREAM ioctl timeout"},
-+	{93, "ENOATTR", "attribute not found"},
-+	{94, "EMULTIHOP", "multihop attempted"},
-+	{95, "ENOLINK", "link has been severed"},
-+	{96, "ELAST", "protocol error"},
- }
- 
- // Signal table
--var signals = [...]string{
--	1:  "hangup",
--	2:  "interrupt",
--	3:  "quit",
--	4:  "illegal instruction",
--	5:  "trace/BPT trap",
--	6:  "abort trap",
--	7:  "EMT trap",
--	8:  "floating point exception",
--	9:  "killed",
--	10: "bus error",
--	11: "segmentation fault",
--	12: "bad system call",
--	13: "broken pipe",
--	14: "alarm clock",
--	15: "terminated",
--	16: "urgent I/O condition",
--	17: "stopped (signal)",
--	18: "stopped",
--	19: "continued",
--	20: "child exited",
--	21: "stopped (tty input)",
--	22: "stopped (tty output)",
--	23: "I/O possible",
--	24: "cputime limit exceeded",
--	25: "filesize limit exceeded",
--	26: "virtual timer expired",
--	27: "profiling timer expired",
--	28: "window size changes",
--	29: "information request",
--	30: "user defined signal 1",
--	31: "user defined signal 2",
--	32: "power fail/restart",
-+var signalList = [...]struct {
-+	num  syscall.Signal
-+	name string
-+	desc string
-+}{
-+	{1, "SIGHUP", "hangup"},
-+	{2, "SIGINT", "interrupt"},
-+	{3, "SIGQUIT", "quit"},
-+	{4, "SIGILL", "illegal instruction"},
-+	{5, "SIGTRAP", "trace/BPT trap"},
-+	{6, "SIGIOT", "abort trap"},
-+	{7, "SIGEMT", "EMT trap"},
-+	{8, "SIGFPE", "floating point exception"},
-+	{9, "SIGKILL", "killed"},
-+	{10, "SIGBUS", "bus error"},
-+	{11, "SIGSEGV", "segmentation fault"},
-+	{12, "SIGSYS", "bad system call"},
-+	{13, "SIGPIPE", "broken pipe"},
-+	{14, "SIGALRM", "alarm clock"},
-+	{15, "SIGTERM", "terminated"},
-+	{16, "SIGURG", "urgent I/O condition"},
-+	{17, "SIGSTOP", "stopped (signal)"},
-+	{18, "SIGTSTP", "stopped"},
-+	{19, "SIGCONT", "continued"},
-+	{20, "SIGCHLD", "child exited"},
-+	{21, "SIGTTIN", "stopped (tty input)"},
-+	{22, "SIGTTOU", "stopped (tty output)"},
-+	{23, "SIGIO", "I/O possible"},
-+	{24, "SIGXCPU", "cputime limit exceeded"},
-+	{25, "SIGXFSZ", "filesize limit exceeded"},
-+	{26, "SIGVTALRM", "virtual timer expired"},
-+	{27, "SIGPROF", "profiling timer expired"},
-+	{28, "SIGWINCH", "window size changes"},
-+	{29, "SIGINFO", "information request"},
-+	{30, "SIGUSR1", "user defined signal 1"},
-+	{31, "SIGUSR2", "user defined signal 2"},
-+	{32, "SIGPWR", "power fail/restart"},
- }
-diff --git a/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm.go b/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm.go
-index 206c75f0..c8d36fe9 100644
---- a/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm.go
-+++ b/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm.go
-@@ -1,9 +1,9 @@
- // mkerrors.sh -marm
--// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
-+// Code generated by the command above; see README.md. DO NOT EDIT.
- 
- // +build arm,netbsd
- 
--// Created by cgo -godefs - DO NOT EDIT
-+// Code generated by cmd/cgo -godefs; DO NOT EDIT.
- // cgo -godefs -- -marm _const.go
- 
- package unix
-@@ -151,6 +151,7 @@ const (
- 	CFLUSH                            = 0xf
- 	CLOCAL                            = 0x8000
- 	CREAD                             = 0x800
-+	CRTSCTS                           = 0x10000
- 	CS5                               = 0x0
- 	CS6                               = 0x100
- 	CS7                               = 0x200
-@@ -161,6 +162,8 @@ const (
- 	CSTOP                             = 0x13
- 	CSTOPB                            = 0x400
- 	CSUSP                             = 0x1a
-+	CTL_HW                            = 0x6
-+	CTL_KERN                          = 0x1
- 	CTL_MAXNAME                       = 0xc
- 	CTL_NET                           = 0x4
- 	CTL_QUERY                         = -0x2
-@@ -529,6 +532,10 @@ const (
- 	EV_ONESHOT                        = 0x10
- 	EV_SYSFLAGS                       = 0xf000
- 	EXTA                              = 0x4b00
-+	EXTATTR_CMD_START                 = 0x1
-+	EXTATTR_CMD_STOP                  = 0x2
-+	EXTATTR_NAMESPACE_SYSTEM          = 0x2
-+	EXTATTR_NAMESPACE_USER            = 0x1
- 	EXTB                              = 0x9600
- 	EXTPROC                           = 0x800
- 	FD_CLOEXEC                        = 0x1
-@@ -563,6 +570,7 @@ const (
- 	F_UNLCK                           = 0x2
- 	F_WRLCK                           = 0x3
- 	HUPCL                             = 0x4000
-+	HW_MACHINE                        = 0x1
- 	ICANON                            = 0x100
- 	ICMP6_FILTER                      = 0x12
- 	ICRNL                             = 0x100
-@@ -952,6 +960,10 @@ const (
- 	IXANY                             = 0x800
- 	IXOFF                             = 0x400
- 	IXON                              = 0x200
-+	KERN_HOSTNAME                     = 0xa
-+	KERN_OSRELEASE                    = 0x2
-+	KERN_OSTYPE                       = 0x1
-+	KERN_VERSION                      = 0x4
- 	LOCK_EX                           = 0x2
- 	LOCK_NB                           = 0x4
- 	LOCK_SH                           = 0x1
-@@ -988,6 +1000,43 @@ const (
- 	MAP_STACK                         = 0x2000
- 	MAP_TRYFIXED                      = 0x400
- 	MAP_WIRED                         = 0x800
-+	MNT_ASYNC                         = 0x40
-+	MNT_BASIC_FLAGS                   = 0xe782807f
-+	MNT_DEFEXPORTED                   = 0x200
-+	MNT_DISCARD                       = 0x800000
-+	MNT_EXKERB                        = 0x800
-+	MNT_EXNORESPORT                   = 0x8000000
-+	MNT_EXPORTANON                    = 0x400
-+	MNT_EXPORTED                      = 0x100
-+	MNT_EXPUBLIC                      = 0x10000000
-+	MNT_EXRDONLY                      = 0x80
-+	MNT_EXTATTR                       = 0x1000000
-+	MNT_FORCE                         = 0x80000
-+	MNT_GETARGS                       = 0x400000
-+	MNT_IGNORE                        = 0x100000
-+	MNT_LAZY                          = 0x3
-+	MNT_LOCAL                         = 0x1000
-+	MNT_LOG                           = 0x2000000
-+	MNT_NOATIME                       = 0x4000000
-+	MNT_NOCOREDUMP                    = 0x8000
-+	MNT_NODEV                         = 0x10
-+	MNT_NODEVMTIME                    = 0x40000000
-+	MNT_NOEXEC                        = 0x4
-+	MNT_NOSUID                        = 0x8
-+	MNT_NOWAIT                        = 0x2
-+	MNT_OP_FLAGS                      = 0x4d0000
-+	MNT_QUOTA                         = 0x2000
-+	MNT_RDONLY                        = 0x1
-+	MNT_RELATIME                      = 0x20000
-+	MNT_RELOAD                        = 0x40000
-+	MNT_ROOTFS                        = 0x4000
-+	MNT_SOFTDEP                       = 0x80000000
-+	MNT_SYMPERM                       = 0x20000000
-+	MNT_SYNCHRONOUS                   = 0x2
-+	MNT_UNION                         = 0x20
-+	MNT_UPDATE                        = 0x10000
-+	MNT_VISFLAGMASK                   = 0xff90ffff
-+	MNT_WAIT                          = 0x1
- 	MSG_BCAST                         = 0x100
- 	MSG_CMSG_CLOEXEC                  = 0x800
- 	MSG_CONTROLMBUF                   = 0x2000000
-@@ -1016,6 +1065,7 @@ const (
- 	NET_RT_MAXID                      = 0x6
- 	NET_RT_OIFLIST                    = 0x4
- 	NET_RT_OOIFLIST                   = 0x3
-+	NFDBITS                           = 0x20
- 	NOFLSH                            = 0x80000000
- 	NOTE_ATTRIB                       = 0x8
- 	NOTE_CHILD                        = 0x4
-@@ -1081,7 +1131,10 @@ const (
- 	RLIMIT_CPU                        = 0x0
- 	RLIMIT_DATA                       = 0x2
- 	RLIMIT_FSIZE                      = 0x1
-+	RLIMIT_MEMLOCK                    = 0x6
- 	RLIMIT_NOFILE                     = 0x8
-+	RLIMIT_NPROC                      = 0x7
-+	RLIMIT_RSS                        = 0x5
- 	RLIMIT_STACK                      = 0x3
- 	RLIM_INFINITY                     = 0x7fffffffffffffff
- 	RTAX_AUTHOR                       = 0x6
-@@ -1555,137 +1608,145 @@ const (
- )
- 
- // Error table
--var errors = [...]string{
--	1:  "operation not permitted",
--	2:  "no such file or directory",
--	3:  "no such process",
--	4:  "interrupted system call",
--	5:  "input/output error",
--	6:  "device not configured",
--	7:  "argument list too long",
--	8:  "exec format error",
--	9:  "bad file descriptor",
--	10: "no child processes",
--	11: "resource deadlock avoided",
--	12: "cannot allocate memory",
--	13: "permission denied",
--	14: "bad address",
--	15: "block device required",
--	16: "device busy",
--	17: "file exists",
--	18: "cross-device link",
--	19: "operation not supported by device",
--	20: "not a directory",
--	21: "is a directory",
--	22: "invalid argument",
--	23: "too many open files in system",
--	24: "too many open files",
--	25: "inappropriate ioctl for device",
--	26: "text file busy",
--	27: "file too large",
--	28: "no space left on device",
--	29: "illegal seek",
--	30: "read-only file system",
--	31: "too many links",
--	32: "broken pipe",
--	33: "numerical argument out of domain",
--	34: "result too large or too small",
--	35: "resource temporarily unavailable",
--	36: "operation now in progress",
--	37: "operation already in progress",
--	38: "socket operation on non-socket",
--	39: "destination address required",
--	40: "message too long",
--	41: "protocol wrong type for socket",
--	42: "protocol option not available",
--	43: "protocol not supported",
--	44: "socket type not supported",
--	45: "operation not supported",
--	46: "protocol family not supported",
--	47: "address family not supported by protocol family",
--	48: "address already in use",
--	49: "can't assign requested address",
--	50: "network is down",
--	51: "network is unreachable",
--	52: "network dropped connection on reset",
--	53: "software caused connection abort",
--	54: "connection reset by peer",
--	55: "no buffer space available",
--	56: "socket is already connected",
--	57: "socket is not connected",
--	58: "can't send after socket shutdown",
--	59: "too many references: can't splice",
--	60: "connection timed out",
--	61: "connection refused",
--	62: "too many levels of symbolic links",
--	63: "file name too long",
--	64: "host is down",
--	65: "no route to host",
--	66: "directory not empty",
--	67: "too many processes",
--	68: "too many users",
--	69: "disc quota exceeded",
--	70: "stale NFS file handle",
--	71: "too many levels of remote in path",
--	72: "RPC struct is bad",
--	73: "RPC version wrong",
--	74: "RPC prog. not avail",
--	75: "program version wrong",
--	76: "bad procedure for program",
--	77: "no locks available",
--	78: "function not implemented",
--	79: "inappropriate file type or format",
--	80: "authentication error",
--	81: "need authenticator",
--	82: "identifier removed",
--	83: "no message of desired type",
--	84: "value too large to be stored in data type",
--	85: "illegal byte sequence",
--	86: "not supported",
--	87: "operation Canceled",
--	88: "bad or Corrupt message",
--	89: "no message available",
--	90: "no STREAM resources",
--	91: "not a STREAM",
--	92: "STREAM ioctl timeout",
--	93: "attribute not found",
--	94: "multihop attempted",
--	95: "link has been severed",
--	96: "protocol error",
-+var errorList = [...]struct {
-+	num  syscall.Errno
-+	name string
-+	desc string
-+}{
-+	{1, "EPERM", "operation not permitted"},
-+	{2, "ENOENT", "no such file or directory"},
-+	{3, "ESRCH", "no such process"},
-+	{4, "EINTR", "interrupted system call"},
-+	{5, "EIO", "input/output error"},
-+	{6, "ENXIO", "device not configured"},
-+	{7, "E2BIG", "argument list too long"},
-+	{8, "ENOEXEC", "exec format error"},
-+	{9, "EBADF", "bad file descriptor"},
-+	{10, "ECHILD", "no child processes"},
-+	{11, "EDEADLK", "resource deadlock avoided"},
-+	{12, "ENOMEM", "cannot allocate memory"},
-+	{13, "EACCES", "permission denied"},
-+	{14, "EFAULT", "bad address"},
-+	{15, "ENOTBLK", "block device required"},
-+	{16, "EBUSY", "device busy"},
-+	{17, "EEXIST", "file exists"},
-+	{18, "EXDEV", "cross-device link"},
-+	{19, "ENODEV", "operation not supported by device"},
-+	{20, "ENOTDIR", "not a directory"},
-+	{21, "EISDIR", "is a directory"},
-+	{22, "EINVAL", "invalid argument"},
-+	{23, "ENFILE", "too many open files in system"},
-+	{24, "EMFILE", "too many open files"},
-+	{25, "ENOTTY", "inappropriate ioctl for device"},
-+	{26, "ETXTBSY", "text file busy"},
-+	{27, "EFBIG", "file too large"},
-+	{28, "ENOSPC", "no space left on device"},
-+	{29, "ESPIPE", "illegal seek"},
-+	{30, "EROFS", "read-only file system"},
-+	{31, "EMLINK", "too many links"},
-+	{32, "EPIPE", "broken pipe"},
-+	{33, "EDOM", "numerical argument out of domain"},
-+	{34, "ERANGE", "result too large or too small"},
-+	{35, "EAGAIN", "resource temporarily unavailable"},
-+	{36, "EINPROGRESS", "operation now in progress"},
-+	{37, "EALREADY", "operation already in progress"},
-+	{38, "ENOTSOCK", "socket operation on non-socket"},
-+	{39, "EDESTADDRREQ", "destination address required"},
-+	{40, "EMSGSIZE", "message too long"},
-+	{41, "EPROTOTYPE", "protocol wrong type for socket"},
-+	{42, "ENOPROTOOPT", "protocol option not available"},
-+	{43, "EPROTONOSUPPORT", "protocol not supported"},
-+	{44, "ESOCKTNOSUPPORT", "socket type not supported"},
-+	{45, "EOPNOTSUPP", "operation not supported"},
-+	{46, "EPFNOSUPPORT", "protocol family not supported"},
-+	{47, "EAFNOSUPPORT", "address family not supported by protocol family"},
-+	{48, "EADDRINUSE", "address already in use"},
-+	{49, "EADDRNOTAVAIL", "can't assign requested address"},
-+	{50, "ENETDOWN", "network is down"},
-+	{51, "ENETUNREACH", "network is unreachable"},
-+	{52, "ENETRESET", "network dropped connection on reset"},
-+	{53, "ECONNABORTED", "software caused connection abort"},
-+	{54, "ECONNRESET", "connection reset by peer"},
-+	{55, "ENOBUFS", "no buffer space available"},
-+	{56, "EISCONN", "socket is already connected"},
-+	{57, "ENOTCONN", "socket is not connected"},
-+	{58, "ESHUTDOWN", "can't send after socket shutdown"},
-+	{59, "ETOOMANYREFS", "too many references: can't splice"},
-+	{60, "ETIMEDOUT", "connection timed out"},
-+	{61, "ECONNREFUSED", "connection refused"},
-+	{62, "ELOOP", "too many levels of symbolic links"},
-+	{63, "ENAMETOOLONG", "file name too long"},
-+	{64, "EHOSTDOWN", "host is down"},
-+	{65, "EHOSTUNREACH", "no route to host"},
-+	{66, "ENOTEMPTY", "directory not empty"},
-+	{67, "EPROCLIM", "too many processes"},
-+	{68, "EUSERS", "too many users"},
-+	{69, "EDQUOT", "disc quota exceeded"},
-+	{70, "ESTALE", "stale NFS file handle"},
-+	{71, "EREMOTE", "too many levels of remote in path"},
-+	{72, "EBADRPC", "RPC struct is bad"},
-+	{73, "ERPCMISMATCH", "RPC version wrong"},
-+	{74, "EPROGUNAVAIL", "RPC prog. not avail"},
-+	{75, "EPROGMISMATCH", "program version wrong"},
-+	{76, "EPROCUNAVAIL", "bad procedure for program"},
-+	{77, "ENOLCK", "no locks available"},
-+	{78, "ENOSYS", "function not implemented"},
-+	{79, "EFTYPE", "inappropriate file type or format"},
-+	{80, "EAUTH", "authentication error"},
-+	{81, "ENEEDAUTH", "need authenticator"},
-+	{82, "EIDRM", "identifier removed"},
-+	{83, "ENOMSG", "no message of desired type"},
-+	{84, "EOVERFLOW", "value too large to be stored in data type"},
-+	{85, "EILSEQ", "illegal byte sequence"},
-+	{86, "ENOTSUP", "not supported"},
-+	{87, "ECANCELED", "operation Canceled"},
-+	{88, "EBADMSG", "bad or Corrupt message"},
-+	{89, "ENODATA", "no message available"},
-+	{90, "ENOSR", "no STREAM resources"},
-+	{91, "ENOSTR", "not a STREAM"},
-+	{92, "ETIME", "STREAM ioctl timeout"},
-+	{93, "ENOATTR", "attribute not found"},
-+	{94, "EMULTIHOP", "multihop attempted"},
-+	{95, "ENOLINK", "link has been severed"},
-+	{96, "ELAST", "protocol error"},
- }
- 
- // Signal table
--var signals = [...]string{
--	1:  "hangup",
--	2:  "interrupt",
--	3:  "quit",
--	4:  "illegal instruction",
--	5:  "trace/BPT trap",
--	6:  "abort trap",
--	7:  "EMT trap",
--	8:  "floating point exception",
--	9:  "killed",
--	10: "bus error",
--	11: "segmentation fault",
--	12: "bad system call",
--	13: "broken pipe",
--	14: "alarm clock",
--	15: "terminated",
--	16: "urgent I/O condition",
--	17: "stopped (signal)",
--	18: "stopped",
--	19: "continued",
--	20: "child exited",
--	21: "stopped (tty input)",
--	22: "stopped (tty output)",
--	23: "I/O possible",
--	24: "cputime limit exceeded",
--	25: "filesize limit exceeded",
--	26: "virtual timer expired",
--	27: "profiling timer expired",
--	28: "window size changes",
--	29: "information request",
--	30: "user defined signal 1",
--	31: "user defined signal 2",
--	32: "power fail/restart",
-+var signalList = [...]struct {
-+	num  syscall.Signal
-+	name string
-+	desc string
-+}{
-+	{1, "SIGHUP", "hangup"},
-+	{2, "SIGINT", "interrupt"},
-+	{3, "SIGQUIT", "quit"},
-+	{4, "SIGILL", "illegal instruction"},
-+	{5, "SIGTRAP", "trace/BPT trap"},
-+	{6, "SIGIOT", "abort trap"},
-+	{7, "SIGEMT", "EMT trap"},
-+	{8, "SIGFPE", "floating point exception"},
-+	{9, "SIGKILL", "killed"},
-+	{10, "SIGBUS", "bus error"},
-+	{11, "SIGSEGV", "segmentation fault"},
-+	{12, "SIGSYS", "bad system call"},
-+	{13, "SIGPIPE", "broken pipe"},
-+	{14, "SIGALRM", "alarm clock"},
-+	{15, "SIGTERM", "terminated"},
-+	{16, "SIGURG", "urgent I/O condition"},
-+	{17, "SIGSTOP", "stopped (signal)"},
-+	{18, "SIGTSTP", "stopped"},
-+	{19, "SIGCONT", "continued"},
-+	{20, "SIGCHLD", "child exited"},
-+	{21, "SIGTTIN", "stopped (tty input)"},
-+	{22, "SIGTTOU", "stopped (tty output)"},
-+	{23, "SIGIO", "I/O possible"},
-+	{24, "SIGXCPU", "cputime limit exceeded"},
-+	{25, "SIGXFSZ", "filesize limit exceeded"},
-+	{26, "SIGVTALRM", "virtual timer expired"},
-+	{27, "SIGPROF", "profiling timer expired"},
-+	{28, "SIGWINCH", "window size changes"},
-+	{29, "SIGINFO", "information request"},
-+	{30, "SIGUSR1", "user defined signal 1"},
-+	{31, "SIGUSR2", "user defined signal 2"},
-+	{32, "SIGPWR", "power fail/restart"},
- }
-diff --git a/vendor/golang.org/x/sys/unix/zerrors_netbsd_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm64.go
-similarity index 89%
-copy from vendor/golang.org/x/sys/unix/zerrors_netbsd_amd64.go
-copy to vendor/golang.org/x/sys/unix/zerrors_netbsd_arm64.go
-index 4994437b..f1c146a7 100644
---- a/vendor/golang.org/x/sys/unix/zerrors_netbsd_amd64.go
-+++ b/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm64.go
-@@ -1,9 +1,9 @@
- // mkerrors.sh -m64
--// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
-+// Code generated by the command above; see README.md. DO NOT EDIT.
- 
--// +build amd64,netbsd
-+// +build arm64,netbsd
- 
--// Created by cgo -godefs - DO NOT EDIT
-+// Code generated by cmd/cgo -godefs; DO NOT EDIT.
- // cgo -godefs -- -m64 _const.go
- 
- package unix
-@@ -159,6 +159,7 @@ const (
- 	CLONE_VFORK                       = 0x4000
- 	CLONE_VM                          = 0x100
- 	CREAD                             = 0x800
-+	CRTSCTS                           = 0x10000
- 	CS5                               = 0x0
- 	CS6                               = 0x100
- 	CS7                               = 0x200
-@@ -169,6 +170,8 @@ const (
- 	CSTOP                             = 0x13
- 	CSTOPB                            = 0x400
- 	CSUSP                             = 0x1a
-+	CTL_HW                            = 0x6
-+	CTL_KERN                          = 0x1
- 	CTL_MAXNAME                       = 0xc
- 	CTL_NET                           = 0x4
- 	CTL_QUERY                         = -0x2
-@@ -537,6 +540,10 @@ const (
- 	EV_ONESHOT                        = 0x10
- 	EV_SYSFLAGS                       = 0xf000
- 	EXTA                              = 0x4b00
-+	EXTATTR_CMD_START                 = 0x1
-+	EXTATTR_CMD_STOP                  = 0x2
-+	EXTATTR_NAMESPACE_SYSTEM          = 0x2
-+	EXTATTR_NAMESPACE_USER            = 0x1
- 	EXTB                              = 0x9600
- 	EXTPROC                           = 0x800
- 	FD_CLOEXEC                        = 0x1
-@@ -571,6 +578,7 @@ const (
- 	F_UNLCK                           = 0x2
- 	F_WRLCK                           = 0x3
- 	HUPCL                             = 0x4000
-+	HW_MACHINE                        = 0x1
- 	ICANON                            = 0x100
- 	ICMP6_FILTER                      = 0x12
- 	ICRNL                             = 0x100
-@@ -960,6 +968,10 @@ const (
- 	IXANY                             = 0x800
- 	IXOFF                             = 0x400
- 	IXON                              = 0x200
-+	KERN_HOSTNAME                     = 0xa
-+	KERN_OSRELEASE                    = 0x2
-+	KERN_OSTYPE                       = 0x1
-+	KERN_VERSION                      = 0x4
- 	LOCK_EX                           = 0x2
- 	LOCK_NB                           = 0x4
- 	LOCK_SH                           = 0x1
-@@ -998,6 +1010,43 @@ const (
- 	MAP_WIRED                         = 0x800
- 	MCL_CURRENT                       = 0x1
- 	MCL_FUTURE                        = 0x2
-+	MNT_ASYNC                         = 0x40
-+	MNT_BASIC_FLAGS                   = 0xe782807f
-+	MNT_DEFEXPORTED                   = 0x200
-+	MNT_DISCARD                       = 0x800000
-+	MNT_EXKERB                        = 0x800
-+	MNT_EXNORESPORT                   = 0x8000000
-+	MNT_EXPORTANON                    = 0x400
-+	MNT_EXPORTED                      = 0x100
-+	MNT_EXPUBLIC                      = 0x10000000
-+	MNT_EXRDONLY                      = 0x80
-+	MNT_EXTATTR                       = 0x1000000
-+	MNT_FORCE                         = 0x80000
-+	MNT_GETARGS                       = 0x400000
-+	MNT_IGNORE                        = 0x100000
-+	MNT_LAZY                          = 0x3
-+	MNT_LOCAL                         = 0x1000
-+	MNT_LOG                           = 0x2000000
-+	MNT_NOATIME                       = 0x4000000
-+	MNT_NOCOREDUMP                    = 0x8000
-+	MNT_NODEV                         = 0x10
-+	MNT_NODEVMTIME                    = 0x40000000
-+	MNT_NOEXEC                        = 0x4
-+	MNT_NOSUID                        = 0x8
-+	MNT_NOWAIT                        = 0x2
-+	MNT_OP_FLAGS                      = 0x4d0000
-+	MNT_QUOTA                         = 0x2000
-+	MNT_RDONLY                        = 0x1
-+	MNT_RELATIME                      = 0x20000
-+	MNT_RELOAD                        = 0x40000
-+	MNT_ROOTFS                        = 0x4000
-+	MNT_SOFTDEP                       = 0x80000000
-+	MNT_SYMPERM                       = 0x20000000
-+	MNT_SYNCHRONOUS                   = 0x2
-+	MNT_UNION                         = 0x20
-+	MNT_UPDATE                        = 0x10000
-+	MNT_VISFLAGMASK                   = 0xff90ffff
-+	MNT_WAIT                          = 0x1
- 	MSG_BCAST                         = 0x100
- 	MSG_CMSG_CLOEXEC                  = 0x800
- 	MSG_CONTROLMBUF                   = 0x2000000
-@@ -1026,6 +1075,7 @@ const (
- 	NET_RT_MAXID                      = 0x6
- 	NET_RT_OIFLIST                    = 0x4
- 	NET_RT_OOIFLIST                   = 0x3
-+	NFDBITS                           = 0x20
- 	NOFLSH                            = 0x80000000
- 	NOTE_ATTRIB                       = 0x8
- 	NOTE_CHILD                        = 0x4
-@@ -1091,7 +1141,10 @@ const (
- 	RLIMIT_CPU                        = 0x0
- 	RLIMIT_DATA                       = 0x2
- 	RLIMIT_FSIZE                      = 0x1
-+	RLIMIT_MEMLOCK                    = 0x6
- 	RLIMIT_NOFILE                     = 0x8
-+	RLIMIT_NPROC                      = 0x7
-+	RLIMIT_RSS                        = 0x5
- 	RLIMIT_STACK                      = 0x3
- 	RLIM_INFINITY                     = 0x7fffffffffffffff
- 	RTAX_AUTHOR                       = 0x6
-@@ -1566,137 +1619,145 @@ const (
- )
- 
- // Error table
--var errors = [...]string{
--	1:  "operation not permitted",
--	2:  "no such file or directory",
--	3:  "no such process",
--	4:  "interrupted system call",
--	5:  "input/output error",
--	6:  "device not configured",
--	7:  "argument list too long",
--	8:  "exec format error",
--	9:  "bad file descriptor",
--	10: "no child processes",
--	11: "resource deadlock avoided",
--	12: "cannot allocate memory",
--	13: "permission denied",
--	14: "bad address",
--	15: "block device required",
--	16: "device busy",
--	17: "file exists",
--	18: "cross-device link",
--	19: "operation not supported by device",
--	20: "not a directory",
--	21: "is a directory",
--	22: "invalid argument",
--	23: "too many open files in system",
--	24: "too many open files",
--	25: "inappropriate ioctl for device",
--	26: "text file busy",
--	27: "file too large",
--	28: "no space left on device",
--	29: "illegal seek",
--	30: "read-only file system",
--	31: "too many links",
--	32: "broken pipe",
--	33: "numerical argument out of domain",
--	34: "result too large or too small",
--	35: "resource temporarily unavailable",
--	36: "operation now in progress",
--	37: "operation already in progress",
--	38: "socket operation on non-socket",
--	39: "destination address required",
--	40: "message too long",
--	41: "protocol wrong type for socket",
--	42: "protocol option not available",
--	43: "protocol not supported",
--	44: "socket type not supported",
--	45: "operation not supported",
--	46: "protocol family not supported",
--	47: "address family not supported by protocol family",
--	48: "address already in use",
--	49: "can't assign requested address",
--	50: "network is down",
--	51: "network is unreachable",
--	52: "network dropped connection on reset",
--	53: "software caused connection abort",
--	54: "connection reset by peer",
--	55: "no buffer space available",
--	56: "socket is already connected",
--	57: "socket is not connected",
--	58: "can't send after socket shutdown",
--	59: "too many references: can't splice",
--	60: "connection timed out",
--	61: "connection refused",
--	62: "too many levels of symbolic links",
--	63: "file name too long",
--	64: "host is down",
--	65: "no route to host",
--	66: "directory not empty",
--	67: "too many processes",
--	68: "too many users",
--	69: "disc quota exceeded",
--	70: "stale NFS file handle",
--	71: "too many levels of remote in path",
--	72: "RPC struct is bad",
--	73: "RPC version wrong",
--	74: "RPC prog. not avail",
--	75: "program version wrong",
--	76: "bad procedure for program",
--	77: "no locks available",
--	78: "function not implemented",
--	79: "inappropriate file type or format",
--	80: "authentication error",
--	81: "need authenticator",
--	82: "identifier removed",
--	83: "no message of desired type",
--	84: "value too large to be stored in data type",
--	85: "illegal byte sequence",
--	86: "not supported",
--	87: "operation Canceled",
--	88: "bad or Corrupt message",
--	89: "no message available",
--	90: "no STREAM resources",
--	91: "not a STREAM",
--	92: "STREAM ioctl timeout",
--	93: "attribute not found",
--	94: "multihop attempted",
--	95: "link has been severed",
--	96: "protocol error",
-+var errorList = [...]struct {
-+	num  syscall.Errno
-+	name string
-+	desc string
-+}{
-+	{1, "EPERM", "operation not permitted"},
-+	{2, "ENOENT", "no such file or directory"},
-+	{3, "ESRCH", "no such process"},
-+	{4, "EINTR", "interrupted system call"},
-+	{5, "EIO", "input/output error"},
-+	{6, "ENXIO", "device not configured"},
-+	{7, "E2BIG", "argument list too long"},
-+	{8, "ENOEXEC", "exec format error"},
-+	{9, "EBADF", "bad file descriptor"},
-+	{10, "ECHILD", "no child processes"},
-+	{11, "EDEADLK", "resource deadlock avoided"},
-+	{12, "ENOMEM", "cannot allocate memory"},
-+	{13, "EACCES", "permission denied"},
-+	{14, "EFAULT", "bad address"},
-+	{15, "ENOTBLK", "block device required"},
-+	{16, "EBUSY", "device busy"},
-+	{17, "EEXIST", "file exists"},
-+	{18, "EXDEV", "cross-device link"},
-+	{19, "ENODEV", "operation not supported by device"},
-+	{20, "ENOTDIR", "not a directory"},
-+	{21, "EISDIR", "is a directory"},
-+	{22, "EINVAL", "invalid argument"},
-+	{23, "ENFILE", "too many open files in system"},
-+	{24, "EMFILE", "too many open files"},
-+	{25, "ENOTTY", "inappropriate ioctl for device"},
-+	{26, "ETXTBSY", "text file busy"},
-+	{27, "EFBIG", "file too large"},
-+	{28, "ENOSPC", "no space left on device"},
-+	{29, "ESPIPE", "illegal seek"},
-+	{30, "EROFS", "read-only file system"},
-+	{31, "EMLINK", "too many links"},
-+	{32, "EPIPE", "broken pipe"},
-+	{33, "EDOM", "numerical argument out of domain"},
-+	{34, "ERANGE", "result too large or too small"},
-+	{35, "EAGAIN", "resource temporarily unavailable"},
-+	{36, "EINPROGRESS", "operation now in progress"},
-+	{37, "EALREADY", "operation already in progress"},
-+	{38, "ENOTSOCK", "socket operation on non-socket"},
-+	{39, "EDESTADDRREQ", "destination address required"},
-+	{40, "EMSGSIZE", "message too long"},
-+	{41, "EPROTOTYPE", "protocol wrong type for socket"},
-+	{42, "ENOPROTOOPT", "protocol option not available"},
-+	{43, "EPROTONOSUPPORT", "protocol not supported"},
-+	{44, "ESOCKTNOSUPPORT", "socket type not supported"},
-+	{45, "EOPNOTSUPP", "operation not supported"},
-+	{46, "EPFNOSUPPORT", "protocol family not supported"},
-+	{47, "EAFNOSUPPORT", "address family not supported by protocol family"},
-+	{48, "EADDRINUSE", "address already in use"},
-+	{49, "EADDRNOTAVAIL", "can't assign requested address"},
-+	{50, "ENETDOWN", "network is down"},
-+	{51, "ENETUNREACH", "network is unreachable"},
-+	{52, "ENETRESET", "network dropped connection on reset"},
-+	{53, "ECONNABORTED", "software caused connection abort"},
-+	{54, "ECONNRESET", "connection reset by peer"},
-+	{55, "ENOBUFS", "no buffer space available"},
-+	{56, "EISCONN", "socket is already connected"},
-+	{57, "ENOTCONN", "socket is not connected"},
-+	{58, "ESHUTDOWN", "can't send after socket shutdown"},
-+	{59, "ETOOMANYREFS", "too many references: can't splice"},
-+	{60, "ETIMEDOUT", "connection timed out"},
-+	{61, "ECONNREFUSED", "connection refused"},
-+	{62, "ELOOP", "too many levels of symbolic links"},
-+	{63, "ENAMETOOLONG", "file name too long"},
-+	{64, "EHOSTDOWN", "host is down"},
-+	{65, "EHOSTUNREACH", "no route to host"},
-+	{66, "ENOTEMPTY", "directory not empty"},
-+	{67, "EPROCLIM", "too many processes"},
-+	{68, "EUSERS", "too many users"},
-+	{69, "EDQUOT", "disc quota exceeded"},
-+	{70, "ESTALE", "stale NFS file handle"},
-+	{71, "EREMOTE", "too many levels of remote in path"},
-+	{72, "EBADRPC", "RPC struct is bad"},
-+	{73, "ERPCMISMATCH", "RPC version wrong"},
-+	{74, "EPROGUNAVAIL", "RPC prog. not avail"},
-+	{75, "EPROGMISMATCH", "program version wrong"},
-+	{76, "EPROCUNAVAIL", "bad procedure for program"},
-+	{77, "ENOLCK", "no locks available"},
-+	{78, "ENOSYS", "function not implemented"},
-+	{79, "EFTYPE", "inappropriate file type or format"},
-+	{80, "EAUTH", "authentication error"},
-+	{81, "ENEEDAUTH", "need authenticator"},
-+	{82, "EIDRM", "identifier removed"},
-+	{83, "ENOMSG", "no message of desired type"},
-+	{84, "EOVERFLOW", "value too large to be stored in data type"},
-+	{85, "EILSEQ", "illegal byte sequence"},
-+	{86, "ENOTSUP", "not supported"},
-+	{87, "ECANCELED", "operation Canceled"},
-+	{88, "EBADMSG", "bad or Corrupt message"},
-+	{89, "ENODATA", "no message available"},
-+	{90, "ENOSR", "no STREAM resources"},
-+	{91, "ENOSTR", "not a STREAM"},
-+	{92, "ETIME", "STREAM ioctl timeout"},
-+	{93, "ENOATTR", "attribute not found"},
-+	{94, "EMULTIHOP", "multihop attempted"},
-+	{95, "ENOLINK", "link has been severed"},
-+	{96, "ELAST", "protocol error"},
- }
- 
- // Signal table
--var signals = [...]string{
--	1:  "hangup",
--	2:  "interrupt",
--	3:  "quit",
--	4:  "illegal instruction",
--	5:  "trace/BPT trap",
--	6:  "abort trap",
--	7:  "EMT trap",
--	8:  "floating point exception",
--	9:  "killed",
--	10: "bus error",
--	11: "segmentation fault",
--	12: "bad system call",
--	13: "broken pipe",
--	14: "alarm clock",
--	15: "terminated",
--	16: "urgent I/O condition",
--	17: "stopped (signal)",
--	18: "stopped",
--	19: "continued",
--	20: "child exited",
--	21: "stopped (tty input)",
--	22: "stopped (tty output)",
--	23: "I/O possible",
--	24: "cputime limit exceeded",
--	25: "filesize limit exceeded",
--	26: "virtual timer expired",
--	27: "profiling timer expired",
--	28: "window size changes",
--	29: "information request",
--	30: "user defined signal 1",
--	31: "user defined signal 2",
--	32: "power fail/restart",
-+var signalList = [...]struct {
-+	num  syscall.Signal
-+	name string
-+	desc string
-+}{
-+	{1, "SIGHUP", "hangup"},
-+	{2, "SIGINT", "interrupt"},
-+	{3, "SIGQUIT", "quit"},
-+	{4, "SIGILL", "illegal instruction"},
-+	{5, "SIGTRAP", "trace/BPT trap"},
-+	{6, "SIGIOT", "abort trap"},
-+	{7, "SIGEMT", "EMT trap"},
-+	{8, "SIGFPE", "floating point exception"},
-+	{9, "SIGKILL", "killed"},
-+	{10, "SIGBUS", "bus error"},
-+	{11, "SIGSEGV", "segmentation fault"},
-+	{12, "SIGSYS", "bad system call"},
-+	{13, "SIGPIPE", "broken pipe"},
-+	{14, "SIGALRM", "alarm clock"},
-+	{15, "SIGTERM", "terminated"},
-+	{16, "SIGURG", "urgent I/O condition"},
-+	{17, "SIGSTOP", "stopped (signal)"},
-+	{18, "SIGTSTP", "stopped"},
-+	{19, "SIGCONT", "continued"},
-+	{20, "SIGCHLD", "child exited"},
-+	{21, "SIGTTIN", "stopped (tty input)"},
-+	{22, "SIGTTOU", "stopped (tty output)"},
-+	{23, "SIGIO", "I/O possible"},
-+	{24, "SIGXCPU", "cputime limit exceeded"},
-+	{25, "SIGXFSZ", "filesize limit exceeded"},
-+	{26, "SIGVTALRM", "virtual timer expired"},
-+	{27, "SIGPROF", "profiling timer expired"},
-+	{28, "SIGWINCH", "window size changes"},
-+	{29, "SIGINFO", "information request"},
-+	{30, "SIGUSR1", "user defined signal 1"},
-+	{31, "SIGUSR2", "user defined signal 2"},
-+	{32, "SIGPWR", "power fail/restart"},
- }
-diff --git a/vendor/golang.org/x/sys/unix/zerrors_openbsd_386.go b/vendor/golang.org/x/sys/unix/zerrors_openbsd_386.go
-index 3322e998..5402bd55 100644
---- a/vendor/golang.org/x/sys/unix/zerrors_openbsd_386.go
-+++ b/vendor/golang.org/x/sys/unix/zerrors_openbsd_386.go
-@@ -1,9 +1,9 @@
- // mkerrors.sh -m32
--// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
-+// Code generated by the command above; see README.md. DO NOT EDIT.
- 
- // +build 386,openbsd
- 
--// Created by cgo -godefs - DO NOT EDIT
-+// Code generated by cmd/cgo -godefs; DO NOT EDIT.
- // cgo -godefs -- -m32 _const.go
- 
- package unix
-@@ -147,6 +147,7 @@ const (
- 	CFLUSH                            = 0xf
- 	CLOCAL                            = 0x8000
- 	CREAD                             = 0x800
-+	CRTSCTS                           = 0x10000
- 	CS5                               = 0x0
- 	CS6                               = 0x100
- 	CS7                               = 0x200
-@@ -157,6 +158,8 @@ const (
- 	CSTOP                             = 0x13
- 	CSTOPB                            = 0x400
- 	CSUSP                             = 0x1a
-+	CTL_HW                            = 0x6
-+	CTL_KERN                          = 0x1
- 	CTL_MAXNAME                       = 0xc
- 	CTL_NET                           = 0x4
- 	DIOCOSFPFLUSH                     = 0x2000444e
-@@ -442,6 +445,7 @@ const (
- 	F_UNLCK                           = 0x2
- 	F_WRLCK                           = 0x3
- 	HUPCL                             = 0x4000
-+	HW_MACHINE                        = 0x1
- 	ICANON                            = 0x100
- 	ICMP6_FILTER                      = 0x12
- 	ICRNL                             = 0x100
-@@ -860,6 +864,10 @@ const (
- 	IXANY                             = 0x800
- 	IXOFF                             = 0x400
- 	IXON                              = 0x200
-+	KERN_HOSTNAME                     = 0xa
-+	KERN_OSRELEASE                    = 0x2
-+	KERN_OSTYPE                       = 0x1
-+	KERN_VERSION                      = 0x4
- 	LCNT_OVERLOAD_FLUSH               = 0x6
- 	LOCK_EX                           = 0x2
- 	LOCK_NB                           = 0x4
-@@ -873,14 +881,15 @@ const (
- 	MADV_SPACEAVAIL                   = 0x5
- 	MADV_WILLNEED                     = 0x3
- 	MAP_ANON                          = 0x1000
--	MAP_COPY                          = 0x4
-+	MAP_ANONYMOUS                     = 0x1000
-+	MAP_CONCEAL                       = 0x8000
-+	MAP_COPY                          = 0x2
- 	MAP_FILE                          = 0x0
- 	MAP_FIXED                         = 0x10
--	MAP_FLAGMASK                      = 0x1ff7
--	MAP_HASSEMAPHORE                  = 0x200
--	MAP_INHERIT                       = 0x80
-+	MAP_FLAGMASK                      = 0xfff7
-+	MAP_HASSEMAPHORE                  = 0x0
-+	MAP_INHERIT                       = 0x0
- 	MAP_INHERIT_COPY                  = 0x1
--	MAP_INHERIT_DONATE_COPY           = 0x3
- 	MAP_INHERIT_NONE                  = 0x2
- 	MAP_INHERIT_SHARE                 = 0x0
- 	MAP_NOEXTEND                      = 0x100
-@@ -888,9 +897,36 @@ const (
- 	MAP_PRIVATE                       = 0x2
- 	MAP_RENAME                        = 0x20
- 	MAP_SHARED                        = 0x1
--	MAP_TRYFIXED                      = 0x400
-+	MAP_STACK                         = 0x4000
-+	MAP_TRYFIXED                      = 0x0
- 	MCL_CURRENT                       = 0x1
- 	MCL_FUTURE                        = 0x2
-+	MNT_ASYNC                         = 0x40
-+	MNT_DEFEXPORTED                   = 0x200
-+	MNT_DELEXPORT                     = 0x20000
-+	MNT_DOOMED                        = 0x8000000
-+	MNT_EXPORTANON                    = 0x400
-+	MNT_EXPORTED                      = 0x100
-+	MNT_EXRDONLY                      = 0x80
-+	MNT_FORCE                         = 0x80000
-+	MNT_LAZY                          = 0x3
-+	MNT_LOCAL                         = 0x1000
-+	MNT_NOATIME                       = 0x8000
-+	MNT_NODEV                         = 0x10
-+	MNT_NOEXEC                        = 0x4
-+	MNT_NOSUID                        = 0x8
-+	MNT_NOWAIT                        = 0x2
-+	MNT_QUOTA                         = 0x2000
-+	MNT_RDONLY                        = 0x1
-+	MNT_RELOAD                        = 0x40000
-+	MNT_ROOTFS                        = 0x4000
-+	MNT_SOFTDEP                       = 0x4000000
-+	MNT_SYNCHRONOUS                   = 0x2
-+	MNT_UPDATE                        = 0x10000
-+	MNT_VISFLAGMASK                   = 0x400ffff
-+	MNT_WAIT                          = 0x1
-+	MNT_WANTRDWR                      = 0x2000000
-+	MNT_WXALLOWED                     = 0x800
- 	MSG_BCAST                         = 0x100
- 	MSG_CTRUNC                        = 0x20
- 	MSG_DONTROUTE                     = 0x4
-@@ -912,6 +948,7 @@ const (
- 	NET_RT_MAXID                      = 0x6
- 	NET_RT_STATS                      = 0x4
- 	NET_RT_TABLE                      = 0x5
-+	NFDBITS                           = 0x20
- 	NOFLSH                            = 0x80000000
- 	NOTE_ATTRIB                       = 0x8
- 	NOTE_CHILD                        = 0x4
-@@ -1210,6 +1247,34 @@ const (
- 	SO_TIMESTAMP                      = 0x800
- 	SO_TYPE                           = 0x1008
- 	SO_USELOOPBACK                    = 0x40
-+	S_BLKSIZE                         = 0x200
-+	S_IEXEC                           = 0x40
-+	S_IFBLK                           = 0x6000
-+	S_IFCHR                           = 0x2000
-+	S_IFDIR                           = 0x4000
-+	S_IFIFO                           = 0x1000
-+	S_IFLNK                           = 0xa000
-+	S_IFMT                            = 0xf000
-+	S_IFREG                           = 0x8000
-+	S_IFSOCK                          = 0xc000
-+	S_IREAD                           = 0x100
-+	S_IRGRP                           = 0x20
-+	S_IROTH                           = 0x4
-+	S_IRUSR                           = 0x100
-+	S_IRWXG                           = 0x38
-+	S_IRWXO                           = 0x7
-+	S_IRWXU                           = 0x1c0
-+	S_ISGID                           = 0x400
-+	S_ISTXT                           = 0x200
-+	S_ISUID                           = 0x800
-+	S_ISVTX                           = 0x200
-+	S_IWGRP                           = 0x10
-+	S_IWOTH                           = 0x2
-+	S_IWRITE                          = 0x80
-+	S_IWUSR                           = 0x80
-+	S_IXGRP                           = 0x8
-+	S_IXOTH                           = 0x1
-+	S_IXUSR                           = 0x40
- 	TCIFLUSH                          = 0x1
- 	TCIOFLUSH                         = 0x3
- 	TCOFLUSH                          = 0x2
-@@ -1453,132 +1518,140 @@ const (
- )
- 
- // Error table
--var errors = [...]string{
--	1:  "operation not permitted",
--	2:  "no such file or directory",
--	3:  "no such process",
--	4:  "interrupted system call",
--	5:  "input/output error",
--	6:  "device not configured",
--	7:  "argument list too long",
--	8:  "exec format error",
--	9:  "bad file descriptor",
--	10: "no child processes",
--	11: "resource deadlock avoided",
--	12: "cannot allocate memory",
--	13: "permission denied",
--	14: "bad address",
--	15: "block device required",
--	16: "device busy",
--	17: "file exists",
--	18: "cross-device link",
--	19: "operation not supported by device",
--	20: "not a directory",
--	21: "is a directory",
--	22: "invalid argument",
--	23: "too many open files in system",
--	24: "too many open files",
--	25: "inappropriate ioctl for device",
--	26: "text file busy",
--	27: "file too large",
--	28: "no space left on device",
--	29: "illegal seek",
--	30: "read-only file system",
--	31: "too many links",
--	32: "broken pipe",
--	33: "numerical argument out of domain",
--	34: "result too large",
--	35: "resource temporarily unavailable",
--	36: "operation now in progress",
--	37: "operation already in progress",
--	38: "socket operation on non-socket",
--	39: "destination address required",
--	40: "message too long",
--	41: "protocol wrong type for socket",
--	42: "protocol not available",
--	43: "protocol not supported",
--	44: "socket type not supported",
--	45: "operation not supported",
--	46: "protocol family not supported",
--	47: "address family not supported by protocol family",
--	48: "address already in use",
--	49: "can't assign requested address",
--	50: "network is down",
--	51: "network is unreachable",
--	52: "network dropped connection on reset",
--	53: "software caused connection abort",
--	54: "connection reset by peer",
--	55: "no buffer space available",
--	56: "socket is already connected",
--	57: "socket is not connected",
--	58: "can't send after socket shutdown",
--	59: "too many references: can't splice",
--	60: "connection timed out",
--	61: "connection refused",
--	62: "too many levels of symbolic links",
--	63: "file name too long",
--	64: "host is down",
--	65: "no route to host",
--	66: "directory not empty",
--	67: "too many processes",
--	68: "too many users",
--	69: "disc quota exceeded",
--	70: "stale NFS file handle",
--	71: "too many levels of remote in path",
--	72: "RPC struct is bad",
--	73: "RPC version wrong",
--	74: "RPC prog. not avail",
--	75: "program version wrong",
--	76: "bad procedure for program",
--	77: "no locks available",
--	78: "function not implemented",
--	79: "inappropriate file type or format",
--	80: "authentication error",
--	81: "need authenticator",
--	82: "IPsec processing failure",
--	83: "attribute not found",
--	84: "illegal byte sequence",
--	85: "no medium found",
--	86: "wrong medium type",
--	87: "value too large to be stored in data type",
--	88: "operation canceled",
--	89: "identifier removed",
--	90: "no message of desired type",
--	91: "not supported",
-+var errorList = [...]struct {
-+	num  syscall.Errno
-+	name string
-+	desc string
-+}{
-+	{1, "EPERM", "operation not permitted"},
-+	{2, "ENOENT", "no such file or directory"},
-+	{3, "ESRCH", "no such process"},
-+	{4, "EINTR", "interrupted system call"},
-+	{5, "EIO", "input/output error"},
-+	{6, "ENXIO", "device not configured"},
-+	{7, "E2BIG", "argument list too long"},
-+	{8, "ENOEXEC", "exec format error"},
-+	{9, "EBADF", "bad file descriptor"},
-+	{10, "ECHILD", "no child processes"},
-+	{11, "EDEADLK", "resource deadlock avoided"},
-+	{12, "ENOMEM", "cannot allocate memory"},
-+	{13, "EACCES", "permission denied"},
-+	{14, "EFAULT", "bad address"},
-+	{15, "ENOTBLK", "block device required"},
-+	{16, "EBUSY", "device busy"},
-+	{17, "EEXIST", "file exists"},
-+	{18, "EXDEV", "cross-device link"},
-+	{19, "ENODEV", "operation not supported by device"},
-+	{20, "ENOTDIR", "not a directory"},
-+	{21, "EISDIR", "is a directory"},
-+	{22, "EINVAL", "invalid argument"},
-+	{23, "ENFILE", "too many open files in system"},
-+	{24, "EMFILE", "too many open files"},
-+	{25, "ENOTTY", "inappropriate ioctl for device"},
-+	{26, "ETXTBSY", "text file busy"},
-+	{27, "EFBIG", "file too large"},
-+	{28, "ENOSPC", "no space left on device"},
-+	{29, "ESPIPE", "illegal seek"},
-+	{30, "EROFS", "read-only file system"},
-+	{31, "EMLINK", "too many links"},
-+	{32, "EPIPE", "broken pipe"},
-+	{33, "EDOM", "numerical argument out of domain"},
-+	{34, "ERANGE", "result too large"},
-+	{35, "EWOULDBLOCK", "resource temporarily unavailable"},
-+	{36, "EINPROGRESS", "operation now in progress"},
-+	{37, "EALREADY", "operation already in progress"},
-+	{38, "ENOTSOCK", "socket operation on non-socket"},
-+	{39, "EDESTADDRREQ", "destination address required"},
-+	{40, "EMSGSIZE", "message too long"},
-+	{41, "EPROTOTYPE", "protocol wrong type for socket"},
-+	{42, "ENOPROTOOPT", "protocol not available"},
-+	{43, "EPROTONOSUPPORT", "protocol not supported"},
-+	{44, "ESOCKTNOSUPPORT", "socket type not supported"},
-+	{45, "EOPNOTSUPP", "operation not supported"},
-+	{46, "EPFNOSUPPORT", "protocol family not supported"},
-+	{47, "EAFNOSUPPORT", "address family not supported by protocol family"},
-+	{48, "EADDRINUSE", "address already in use"},
-+	{49, "EADDRNOTAVAIL", "can't assign requested address"},
-+	{50, "ENETDOWN", "network is down"},
-+	{51, "ENETUNREACH", "network is unreachable"},
-+	{52, "ENETRESET", "network dropped connection on reset"},
-+	{53, "ECONNABORTED", "software caused connection abort"},
-+	{54, "ECONNRESET", "connection reset by peer"},
-+	{55, "ENOBUFS", "no buffer space available"},
-+	{56, "EISCONN", "socket is already connected"},
-+	{57, "ENOTCONN", "socket is not connected"},
-+	{58, "ESHUTDOWN", "can't send after socket shutdown"},
-+	{59, "ETOOMANYREFS", "too many references: can't splice"},
-+	{60, "ETIMEDOUT", "operation timed out"},
-+	{61, "ECONNREFUSED", "connection refused"},
-+	{62, "ELOOP", "too many levels of symbolic links"},
-+	{63, "ENAMETOOLONG", "file name too long"},
-+	{64, "EHOSTDOWN", "host is down"},
-+	{65, "EHOSTUNREACH", "no route to host"},
-+	{66, "ENOTEMPTY", "directory not empty"},
-+	{67, "EPROCLIM", "too many processes"},
-+	{68, "EUSERS", "too many users"},
-+	{69, "EDQUOT", "disk quota exceeded"},
-+	{70, "ESTALE", "stale NFS file handle"},
-+	{71, "EREMOTE", "too many levels of remote in path"},
-+	{72, "EBADRPC", "RPC struct is bad"},
-+	{73, "ERPCMISMATCH", "RPC version wrong"},
-+	{74, "EPROGUNAVAIL", "RPC program not available"},
-+	{75, "EPROGMISMATCH", "program version wrong"},
-+	{76, "EPROCUNAVAIL", "bad procedure for program"},
-+	{77, "ENOLCK", "no locks available"},
-+	{78, "ENOSYS", "function not implemented"},
-+	{79, "EFTYPE", "inappropriate file type or format"},
-+	{80, "EAUTH", "authentication error"},
-+	{81, "ENEEDAUTH", "need authenticator"},
-+	{82, "EIPSEC", "IPsec processing failure"},
-+	{83, "ENOATTR", "attribute not found"},
-+	{84, "EILSEQ", "illegal byte sequence"},
-+	{85, "ENOMEDIUM", "no medium found"},
-+	{86, "EMEDIUMTYPE", "wrong medium type"},
-+	{87, "EOVERFLOW", "value too large to be stored in data type"},
-+	{88, "ECANCELED", "operation canceled"},
-+	{89, "EIDRM", "identifier removed"},
-+	{90, "ENOMSG", "no message of desired type"},
-+	{91, "ELAST", "not supported"},
- }
- 
- // Signal table
--var signals = [...]string{
--	1:  "hangup",
--	2:  "interrupt",
--	3:  "quit",
--	4:  "illegal instruction",
--	5:  "trace/BPT trap",
--	6:  "abort trap",
--	7:  "EMT trap",
--	8:  "floating point exception",
--	9:  "killed",
--	10: "bus error",
--	11: "segmentation fault",
--	12: "bad system call",
--	13: "broken pipe",
--	14: "alarm clock",
--	15: "terminated",
--	16: "urgent I/O condition",
--	17: "stopped (signal)",
--	18: "stopped",
--	19: "continued",
--	20: "child exited",
--	21: "stopped (tty input)",
--	22: "stopped (tty output)",
--	23: "I/O possible",
--	24: "cputime limit exceeded",
--	25: "filesize limit exceeded",
--	26: "virtual timer expired",
--	27: "profiling timer expired",
--	28: "window size changes",
--	29: "information request",
--	30: "user defined signal 1",
--	31: "user defined signal 2",
--	32: "thread AST",
-+var signalList = [...]struct {
-+	num  syscall.Signal
-+	name string
-+	desc string
-+}{
-+	{1, "SIGHUP", "hangup"},
-+	{2, "SIGINT", "interrupt"},
-+	{3, "SIGQUIT", "quit"},
-+	{4, "SIGILL", "illegal instruction"},
-+	{5, "SIGTRAP", "trace/BPT trap"},
-+	{6, "SIGABRT", "abort trap"},
-+	{7, "SIGEMT", "EMT trap"},
-+	{8, "SIGFPE", "floating point exception"},
-+	{9, "SIGKILL", "killed"},
-+	{10, "SIGBUS", "bus error"},
-+	{11, "SIGSEGV", "segmentation fault"},
-+	{12, "SIGSYS", "bad system call"},
-+	{13, "SIGPIPE", "broken pipe"},
-+	{14, "SIGALRM", "alarm clock"},
-+	{15, "SIGTERM", "terminated"},
-+	{16, "SIGURG", "urgent I/O condition"},
-+	{17, "SIGSTOP", "suspended (signal)"},
-+	{18, "SIGTSTP", "suspended"},
-+	{19, "SIGCONT", "continued"},
-+	{20, "SIGCHLD", "child exited"},
-+	{21, "SIGTTIN", "stopped (tty input)"},
-+	{22, "SIGTTOU", "stopped (tty output)"},
-+	{23, "SIGIO", "I/O possible"},
-+	{24, "SIGXCPU", "cputime limit exceeded"},
-+	{25, "SIGXFSZ", "filesize limit exceeded"},
-+	{26, "SIGVTALRM", "virtual timer expired"},
-+	{27, "SIGPROF", "profiling timer expired"},
-+	{28, "SIGWINCH", "window size changes"},
-+	{29, "SIGINFO", "information request"},
-+	{30, "SIGUSR1", "user defined signal 1"},
-+	{31, "SIGUSR2", "user defined signal 2"},
-+	{32, "SIGTHR", "thread AST"},
- }
-diff --git a/vendor/golang.org/x/sys/unix/zerrors_openbsd_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_openbsd_amd64.go
-index 1758ecca..ffaf2d2f 100644
---- a/vendor/golang.org/x/sys/unix/zerrors_openbsd_amd64.go
-+++ b/vendor/golang.org/x/sys/unix/zerrors_openbsd_amd64.go
-@@ -1,9 +1,9 @@
- // mkerrors.sh -m64
--// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
-+// Code generated by the command above; see README.md. DO NOT EDIT.
- 
- // +build amd64,openbsd
- 
--// Created by cgo -godefs - DO NOT EDIT
-+// Code generated by cmd/cgo -godefs; DO NOT EDIT.
- // cgo -godefs -- -m64 _const.go
- 
- package unix
-@@ -45,6 +45,7 @@ const (
- 	AF_SNA                            = 0xb
- 	AF_UNIX                           = 0x1
- 	AF_UNSPEC                         = 0x0
-+	ALTWERASE                         = 0x200
- 	ARPHRD_ETHER                      = 0x1
- 	ARPHRD_FRELAY                     = 0xf
- 	ARPHRD_IEEE1394                   = 0x18
-@@ -146,7 +147,14 @@ const (
- 	BRKINT                            = 0x2
- 	CFLUSH                            = 0xf
- 	CLOCAL                            = 0x8000
-+	CLOCK_BOOTTIME                    = 0x6
-+	CLOCK_MONOTONIC                   = 0x3
-+	CLOCK_PROCESS_CPUTIME_ID          = 0x2
-+	CLOCK_REALTIME                    = 0x0
-+	CLOCK_THREAD_CPUTIME_ID           = 0x4
-+	CLOCK_UPTIME                      = 0x5
- 	CREAD                             = 0x800
-+	CRTSCTS                           = 0x10000
- 	CS5                               = 0x0
- 	CS6                               = 0x100
- 	CS7                               = 0x200
-@@ -157,6 +165,8 @@ const (
- 	CSTOP                             = 0x13
- 	CSTOPB                            = 0x400
- 	CSUSP                             = 0x1a
-+	CTL_HW                            = 0x6
-+	CTL_KERN                          = 0x1
- 	CTL_MAXNAME                       = 0xc
- 	CTL_NET                           = 0x4
- 	DIOCOSFPFLUSH                     = 0x2000444e
-@@ -175,6 +185,7 @@ const (
- 	DLT_LOOP                          = 0xc
- 	DLT_MPLS                          = 0xdb
- 	DLT_NULL                          = 0x0
-+	DLT_OPENFLOW                      = 0x10b
- 	DLT_PFLOG                         = 0x75
- 	DLT_PFSYNC                        = 0x12
- 	DLT_PPP                           = 0x9
-@@ -185,6 +196,23 @@ const (
- 	DLT_RAW                           = 0xe
- 	DLT_SLIP                          = 0x8
- 	DLT_SLIP_BSDOS                    = 0xf
-+	DLT_USBPCAP                       = 0xf9
-+	DLT_USER0                         = 0x93
-+	DLT_USER1                         = 0x94
-+	DLT_USER10                        = 0x9d
-+	DLT_USER11                        = 0x9e
-+	DLT_USER12                        = 0x9f
-+	DLT_USER13                        = 0xa0
-+	DLT_USER14                        = 0xa1
-+	DLT_USER15                        = 0xa2
-+	DLT_USER2                         = 0x95
-+	DLT_USER3                         = 0x96
-+	DLT_USER4                         = 0x97
-+	DLT_USER5                         = 0x98
-+	DLT_USER6                         = 0x99
-+	DLT_USER7                         = 0x9a
-+	DLT_USER8                         = 0x9b
-+	DLT_USER9                         = 0x9c
- 	DT_BLK                            = 0x6
- 	DT_CHR                            = 0x2
- 	DT_DIR                            = 0x4
-@@ -398,27 +426,38 @@ const (
- 	ETHER_CRC_POLY_LE                 = 0xedb88320
- 	ETHER_HDR_LEN                     = 0xe
- 	ETHER_MAX_DIX_LEN                 = 0x600
-+	ETHER_MAX_HARDMTU_LEN             = 0xff9b
- 	ETHER_MAX_LEN                     = 0x5ee
- 	ETHER_MIN_LEN                     = 0x40
- 	ETHER_TYPE_LEN                    = 0x2
- 	ETHER_VLAN_ENCAP_LEN              = 0x4
- 	EVFILT_AIO                        = -0x3
-+	EVFILT_DEVICE                     = -0x8
- 	EVFILT_PROC                       = -0x5
- 	EVFILT_READ                       = -0x1
- 	EVFILT_SIGNAL                     = -0x6
--	EVFILT_SYSCOUNT                   = 0x7
-+	EVFILT_SYSCOUNT                   = 0x8
- 	EVFILT_TIMER                      = -0x7
- 	EVFILT_VNODE                      = -0x4
- 	EVFILT_WRITE                      = -0x2
-+	EVL_ENCAPLEN                      = 0x4
-+	EVL_PRIO_BITS                     = 0xd
-+	EVL_PRIO_MAX                      = 0x7
-+	EVL_VLID_MASK                     = 0xfff
-+	EVL_VLID_MAX                      = 0xffe
-+	EVL_VLID_MIN                      = 0x1
-+	EVL_VLID_NULL                     = 0x0
- 	EV_ADD                            = 0x1
- 	EV_CLEAR                          = 0x20
- 	EV_DELETE                         = 0x2
- 	EV_DISABLE                        = 0x8
-+	EV_DISPATCH                       = 0x80
- 	EV_ENABLE                         = 0x4
- 	EV_EOF                            = 0x8000
- 	EV_ERROR                          = 0x4000
- 	EV_FLAG1                          = 0x2000
- 	EV_ONESHOT                        = 0x10
-+	EV_RECEIPT                        = 0x40
- 	EV_SYSFLAGS                       = 0xf000
- 	EXTA                              = 0x4b00
- 	EXTB                              = 0x9600
-@@ -432,6 +471,7 @@ const (
- 	F_GETFL                           = 0x3
- 	F_GETLK                           = 0x7
- 	F_GETOWN                          = 0x5
-+	F_ISATTY                          = 0xb
- 	F_OK                              = 0x0
- 	F_RDLCK                           = 0x1
- 	F_SETFD                           = 0x2
-@@ -442,13 +482,13 @@ const (
- 	F_UNLCK                           = 0x2
- 	F_WRLCK                           = 0x3
- 	HUPCL                             = 0x4000
-+	HW_MACHINE                        = 0x1
- 	ICANON                            = 0x100
- 	ICMP6_FILTER                      = 0x12
- 	ICRNL                             = 0x100
- 	IEXTEN                            = 0x400
- 	IFAN_ARRIVAL                      = 0x0
- 	IFAN_DEPARTURE                    = 0x1
--	IFA_ROUTE                         = 0x1
- 	IFF_ALLMULTI                      = 0x200
- 	IFF_BROADCAST                     = 0x2
- 	IFF_CANTCHANGE                    = 0x8e52
-@@ -459,12 +499,12 @@ const (
- 	IFF_LOOPBACK                      = 0x8
- 	IFF_MULTICAST                     = 0x8000
- 	IFF_NOARP                         = 0x80
--	IFF_NOTRAILERS                    = 0x20
- 	IFF_OACTIVE                       = 0x400
- 	IFF_POINTOPOINT                   = 0x10
- 	IFF_PROMISC                       = 0x100
- 	IFF_RUNNING                       = 0x40
- 	IFF_SIMPLEX                       = 0x800
-+	IFF_STATICARP                     = 0x20
- 	IFF_UP                            = 0x1
- 	IFNAMSIZ                          = 0x10
- 	IFT_1822                          = 0x2
-@@ -593,6 +633,7 @@ const (
- 	IFT_LINEGROUP                     = 0xd2
- 	IFT_LOCALTALK                     = 0x2a
- 	IFT_LOOP                          = 0x18
-+	IFT_MBIM                          = 0xfa
- 	IFT_MEDIAMAILOVERIP               = 0x8b
- 	IFT_MFSIGLINK                     = 0xa7
- 	IFT_MIOX25                        = 0x26
-@@ -717,8 +758,6 @@ const (
- 	IPPROTO_AH                        = 0x33
- 	IPPROTO_CARP                      = 0x70
- 	IPPROTO_DIVERT                    = 0x102
--	IPPROTO_DIVERT_INIT               = 0x2
--	IPPROTO_DIVERT_RESP               = 0x1
- 	IPPROTO_DONE                      = 0x101
- 	IPPROTO_DSTOPTS                   = 0x3c
- 	IPPROTO_EGP                       = 0x8
-@@ -775,6 +814,7 @@ const (
- 	IPV6_LEAVE_GROUP                  = 0xd
- 	IPV6_MAXHLIM                      = 0xff
- 	IPV6_MAXPACKET                    = 0xffff
-+	IPV6_MINHOPCOUNT                  = 0x41
- 	IPV6_MMTU                         = 0x500
- 	IPV6_MULTICAST_HOPS               = 0xa
- 	IPV6_MULTICAST_IF                 = 0x9
-@@ -814,12 +854,12 @@ const (
- 	IP_DEFAULT_MULTICAST_LOOP         = 0x1
- 	IP_DEFAULT_MULTICAST_TTL          = 0x1
- 	IP_DF                             = 0x4000
--	IP_DIVERTFL                       = 0x1022
- 	IP_DROP_MEMBERSHIP                = 0xd
- 	IP_ESP_NETWORK_LEVEL              = 0x16
- 	IP_ESP_TRANS_LEVEL                = 0x15
- 	IP_HDRINCL                        = 0x2
- 	IP_IPCOMP_LEVEL                   = 0x1d
-+	IP_IPDEFTTL                       = 0x25
- 	IP_IPSECFLOWINFO                  = 0x24
- 	IP_IPSEC_LOCAL_AUTH               = 0x1b
- 	IP_IPSEC_LOCAL_CRED               = 0x19
-@@ -853,13 +893,19 @@ const (
- 	IP_RETOPTS                        = 0x8
- 	IP_RF                             = 0x8000
- 	IP_RTABLE                         = 0x1021
-+	IP_SENDSRCADDR                    = 0x7
- 	IP_TOS                            = 0x3
- 	IP_TTL                            = 0x4
- 	ISIG                              = 0x80
- 	ISTRIP                            = 0x20
-+	IUCLC                             = 0x1000
- 	IXANY                             = 0x800
- 	IXOFF                             = 0x400
- 	IXON                              = 0x200
-+	KERN_HOSTNAME                     = 0xa
-+	KERN_OSRELEASE                    = 0x2
-+	KERN_OSTYPE                       = 0x1
-+	KERN_VERSION                      = 0x4
- 	LCNT_OVERLOAD_FLUSH               = 0x6
- 	LOCK_EX                           = 0x2
- 	LOCK_NB                           = 0x4
-@@ -873,25 +919,57 @@ const (
- 	MADV_SPACEAVAIL                   = 0x5
- 	MADV_WILLNEED                     = 0x3
- 	MAP_ANON                          = 0x1000
--	MAP_COPY                          = 0x4
-+	MAP_ANONYMOUS                     = 0x1000
-+	MAP_CONCEAL                       = 0x8000
-+	MAP_COPY                          = 0x2
- 	MAP_FILE                          = 0x0
- 	MAP_FIXED                         = 0x10
--	MAP_FLAGMASK                      = 0x1ff7
--	MAP_HASSEMAPHORE                  = 0x200
--	MAP_INHERIT                       = 0x80
-+	MAP_FLAGMASK                      = 0xfff7
-+	MAP_HASSEMAPHORE                  = 0x0
-+	MAP_INHERIT                       = 0x0
- 	MAP_INHERIT_COPY                  = 0x1
--	MAP_INHERIT_DONATE_COPY           = 0x3
- 	MAP_INHERIT_NONE                  = 0x2
- 	MAP_INHERIT_SHARE                 = 0x0
--	MAP_NOEXTEND                      = 0x100
--	MAP_NORESERVE                     = 0x40
-+	MAP_INHERIT_ZERO                  = 0x3
-+	MAP_NOEXTEND                      = 0x0
-+	MAP_NORESERVE                     = 0x0
- 	MAP_PRIVATE                       = 0x2
--	MAP_RENAME                        = 0x20
-+	MAP_RENAME                        = 0x0
- 	MAP_SHARED                        = 0x1
--	MAP_TRYFIXED                      = 0x400
-+	MAP_STACK                         = 0x4000
-+	MAP_TRYFIXED                      = 0x0
- 	MCL_CURRENT                       = 0x1
- 	MCL_FUTURE                        = 0x2
-+	MNT_ASYNC                         = 0x40
-+	MNT_DEFEXPORTED                   = 0x200
-+	MNT_DELEXPORT                     = 0x20000
-+	MNT_DOOMED                        = 0x8000000
-+	MNT_EXPORTANON                    = 0x400
-+	MNT_EXPORTED                      = 0x100
-+	MNT_EXRDONLY                      = 0x80
-+	MNT_FORCE                         = 0x80000
-+	MNT_LAZY                          = 0x3
-+	MNT_LOCAL                         = 0x1000
-+	MNT_NOATIME                       = 0x8000
-+	MNT_NODEV                         = 0x10
-+	MNT_NOEXEC                        = 0x4
-+	MNT_NOPERM                        = 0x20
-+	MNT_NOSUID                        = 0x8
-+	MNT_NOWAIT                        = 0x2
-+	MNT_QUOTA                         = 0x2000
-+	MNT_RDONLY                        = 0x1
-+	MNT_RELOAD                        = 0x40000
-+	MNT_ROOTFS                        = 0x4000
-+	MNT_SOFTDEP                       = 0x4000000
-+	MNT_STALLED                       = 0x100000
-+	MNT_SYNCHRONOUS                   = 0x2
-+	MNT_UPDATE                        = 0x10000
-+	MNT_VISFLAGMASK                   = 0x400ffff
-+	MNT_WAIT                          = 0x1
-+	MNT_WANTRDWR                      = 0x2000000
-+	MNT_WXALLOWED                     = 0x800
- 	MSG_BCAST                         = 0x100
-+	MSG_CMSG_CLOEXEC                  = 0x800
- 	MSG_CTRUNC                        = 0x20
- 	MSG_DONTROUTE                     = 0x4
- 	MSG_DONTWAIT                      = 0x80
-@@ -909,11 +987,15 @@ const (
- 	NET_RT_DUMP                       = 0x1
- 	NET_RT_FLAGS                      = 0x2
- 	NET_RT_IFLIST                     = 0x3
--	NET_RT_MAXID                      = 0x6
-+	NET_RT_IFNAMES                    = 0x6
-+	NET_RT_MAXID                      = 0x7
- 	NET_RT_STATS                      = 0x4
- 	NET_RT_TABLE                      = 0x5
-+	NFDBITS                           = 0x20
- 	NOFLSH                            = 0x80000000
-+	NOKERNINFO                        = 0x2000000
- 	NOTE_ATTRIB                       = 0x8
-+	NOTE_CHANGE                       = 0x1
- 	NOTE_CHILD                        = 0x4
- 	NOTE_DELETE                       = 0x1
- 	NOTE_EOF                          = 0x2
-@@ -932,11 +1014,13 @@ const (
- 	NOTE_TRUNCATE                     = 0x80
- 	NOTE_WRITE                        = 0x2
- 	OCRNL                             = 0x10
-+	OLCUC                             = 0x20
- 	ONLCR                             = 0x2
- 	ONLRET                            = 0x80
- 	ONOCR                             = 0x40
- 	ONOEOT                            = 0x8
- 	OPOST                             = 0x1
-+	OXTABS                            = 0x4
- 	O_ACCMODE                         = 0x3
- 	O_APPEND                          = 0x8
- 	O_ASYNC                           = 0x40
-@@ -974,23 +1058,32 @@ const (
- 	RLIMIT_CPU                        = 0x0
- 	RLIMIT_DATA                       = 0x2
- 	RLIMIT_FSIZE                      = 0x1
-+	RLIMIT_MEMLOCK                    = 0x6
- 	RLIMIT_NOFILE                     = 0x8
-+	RLIMIT_NPROC                      = 0x7
-+	RLIMIT_RSS                        = 0x5
- 	RLIMIT_STACK                      = 0x3
- 	RLIM_INFINITY                     = 0x7fffffffffffffff
- 	RTAX_AUTHOR                       = 0x6
-+	RTAX_BFD                          = 0xb
- 	RTAX_BRD                          = 0x7
-+	RTAX_DNS                          = 0xc
- 	RTAX_DST                          = 0x0
- 	RTAX_GATEWAY                      = 0x1
- 	RTAX_GENMASK                      = 0x3
- 	RTAX_IFA                          = 0x5
- 	RTAX_IFP                          = 0x4
- 	RTAX_LABEL                        = 0xa
--	RTAX_MAX                          = 0xb
-+	RTAX_MAX                          = 0xf
- 	RTAX_NETMASK                      = 0x2
-+	RTAX_SEARCH                       = 0xe
- 	RTAX_SRC                          = 0x8
- 	RTAX_SRCMASK                      = 0x9
-+	RTAX_STATIC                       = 0xd
- 	RTA_AUTHOR                        = 0x40
-+	RTA_BFD                           = 0x800
- 	RTA_BRD                           = 0x80
-+	RTA_DNS                           = 0x1000
- 	RTA_DST                           = 0x1
- 	RTA_GATEWAY                       = 0x2
- 	RTA_GENMASK                       = 0x8
-@@ -998,34 +1091,39 @@ const (
- 	RTA_IFP                           = 0x10
- 	RTA_LABEL                         = 0x400
- 	RTA_NETMASK                       = 0x4
-+	RTA_SEARCH                        = 0x4000
- 	RTA_SRC                           = 0x100
- 	RTA_SRCMASK                       = 0x200
-+	RTA_STATIC                        = 0x2000
- 	RTF_ANNOUNCE                      = 0x4000
-+	RTF_BFD                           = 0x1000000
- 	RTF_BLACKHOLE                     = 0x1000
-+	RTF_BROADCAST                     = 0x400000
-+	RTF_CACHED                        = 0x20000
- 	RTF_CLONED                        = 0x10000
- 	RTF_CLONING                       = 0x100
-+	RTF_CONNECTED                     = 0x800000
- 	RTF_DONE                          = 0x40
- 	RTF_DYNAMIC                       = 0x10
--	RTF_FMASK                         = 0x10f808
-+	RTF_FMASK                         = 0x110fc08
- 	RTF_GATEWAY                       = 0x2
- 	RTF_HOST                          = 0x4
- 	RTF_LLINFO                        = 0x400
--	RTF_MASK                          = 0x80
-+	RTF_LOCAL                         = 0x200000
- 	RTF_MODIFIED                      = 0x20
- 	RTF_MPATH                         = 0x40000
- 	RTF_MPLS                          = 0x100000
-+	RTF_MULTICAST                     = 0x200
- 	RTF_PERMANENT_ARP                 = 0x2000
- 	RTF_PROTO1                        = 0x8000
- 	RTF_PROTO2                        = 0x4000
- 	RTF_PROTO3                        = 0x2000
- 	RTF_REJECT                        = 0x8
--	RTF_SOURCE                        = 0x20000
- 	RTF_STATIC                        = 0x800
--	RTF_TUNNEL                        = 0x100000
- 	RTF_UP                            = 0x1
- 	RTF_USETRAILERS                   = 0x8000
--	RTF_XRESOLVE                      = 0x200
- 	RTM_ADD                           = 0x1
-+	RTM_BFD                           = 0x12
- 	RTM_CHANGE                        = 0x3
- 	RTM_DELADDR                       = 0xd
- 	RTM_DELETE                        = 0x2
-@@ -1033,11 +1131,13 @@ const (
- 	RTM_GET                           = 0x4
- 	RTM_IFANNOUNCE                    = 0xf
- 	RTM_IFINFO                        = 0xe
-+	RTM_INVALIDATE                    = 0x11
- 	RTM_LOCK                          = 0x8
- 	RTM_LOSING                        = 0x5
- 	RTM_MAXSIZE                       = 0x800
- 	RTM_MISS                          = 0x7
- 	RTM_NEWADDR                       = 0xc
-+	RTM_PROPOSAL                      = 0x13
- 	RTM_REDIRECT                      = 0x6
- 	RTM_RESOLVE                       = 0xb
- 	RTM_RTTUNIT                       = 0xf4240
-@@ -1050,6 +1150,8 @@ const (
- 	RTV_RTTVAR                        = 0x80
- 	RTV_SPIPE                         = 0x10
- 	RTV_SSTHRESH                      = 0x20
-+	RT_TABLEID_BITS                   = 0x8
-+	RT_TABLEID_MASK                   = 0xff
- 	RT_TABLEID_MAX                    = 0xff
- 	RUSAGE_CHILDREN                   = -0x1
- 	RUSAGE_SELF                       = 0x0
-@@ -1062,55 +1164,55 @@ const (
- 	SIOCADDMULTI                      = 0x80206931
- 	SIOCAIFADDR                       = 0x8040691a
- 	SIOCAIFGROUP                      = 0x80286987
--	SIOCALIFADDR                      = 0x8218691c
- 	SIOCATMARK                        = 0x40047307
--	SIOCBRDGADD                       = 0x8058693c
--	SIOCBRDGADDS                      = 0x80586941
--	SIOCBRDGARL                       = 0x806e694d
-+	SIOCBRDGADD                       = 0x8060693c
-+	SIOCBRDGADDL                      = 0x80606949
-+	SIOCBRDGADDS                      = 0x80606941
-+	SIOCBRDGARL                       = 0x808c694d
- 	SIOCBRDGDADDR                     = 0x81286947
--	SIOCBRDGDEL                       = 0x8058693d
--	SIOCBRDGDELS                      = 0x80586942
--	SIOCBRDGFLUSH                     = 0x80586948
--	SIOCBRDGFRL                       = 0x806e694e
--	SIOCBRDGGCACHE                    = 0xc0146941
--	SIOCBRDGGFD                       = 0xc0146952
--	SIOCBRDGGHT                       = 0xc0146951
--	SIOCBRDGGIFFLGS                   = 0xc058693e
--	SIOCBRDGGMA                       = 0xc0146953
-+	SIOCBRDGDEL                       = 0x8060693d
-+	SIOCBRDGDELS                      = 0x80606942
-+	SIOCBRDGFLUSH                     = 0x80606948
-+	SIOCBRDGFRL                       = 0x808c694e
-+	SIOCBRDGGCACHE                    = 0xc0186941
-+	SIOCBRDGGFD                       = 0xc0186952
-+	SIOCBRDGGHT                       = 0xc0186951
-+	SIOCBRDGGIFFLGS                   = 0xc060693e
-+	SIOCBRDGGMA                       = 0xc0186953
- 	SIOCBRDGGPARAM                    = 0xc0406958
--	SIOCBRDGGPRI                      = 0xc0146950
-+	SIOCBRDGGPRI                      = 0xc0186950
- 	SIOCBRDGGRL                       = 0xc030694f
--	SIOCBRDGGSIFS                     = 0xc058693c
--	SIOCBRDGGTO                       = 0xc0146946
--	SIOCBRDGIFS                       = 0xc0586942
-+	SIOCBRDGGTO                       = 0xc0186946
-+	SIOCBRDGIFS                       = 0xc0606942
- 	SIOCBRDGRTS                       = 0xc0206943
- 	SIOCBRDGSADDR                     = 0xc1286944
--	SIOCBRDGSCACHE                    = 0x80146940
--	SIOCBRDGSFD                       = 0x80146952
--	SIOCBRDGSHT                       = 0x80146951
--	SIOCBRDGSIFCOST                   = 0x80586955
--	SIOCBRDGSIFFLGS                   = 0x8058693f
--	SIOCBRDGSIFPRIO                   = 0x80586954
--	SIOCBRDGSMA                       = 0x80146953
--	SIOCBRDGSPRI                      = 0x80146950
--	SIOCBRDGSPROTO                    = 0x8014695a
--	SIOCBRDGSTO                       = 0x80146945
--	SIOCBRDGSTXHC                     = 0x80146959
-+	SIOCBRDGSCACHE                    = 0x80186940
-+	SIOCBRDGSFD                       = 0x80186952
-+	SIOCBRDGSHT                       = 0x80186951
-+	SIOCBRDGSIFCOST                   = 0x80606955
-+	SIOCBRDGSIFFLGS                   = 0x8060693f
-+	SIOCBRDGSIFPRIO                   = 0x80606954
-+	SIOCBRDGSIFPROT                   = 0x8060694a
-+	SIOCBRDGSMA                       = 0x80186953
-+	SIOCBRDGSPRI                      = 0x80186950
-+	SIOCBRDGSPROTO                    = 0x8018695a
-+	SIOCBRDGSTO                       = 0x80186945
-+	SIOCBRDGSTXHC                     = 0x80186959
- 	SIOCDELMULTI                      = 0x80206932
- 	SIOCDIFADDR                       = 0x80206919
- 	SIOCDIFGROUP                      = 0x80286989
-+	SIOCDIFPARENT                     = 0x802069b4
- 	SIOCDIFPHYADDR                    = 0x80206949
--	SIOCDLIFADDR                      = 0x8218691e
-+	SIOCDVNETID                       = 0x802069af
- 	SIOCGETKALIVE                     = 0xc01869a4
- 	SIOCGETLABEL                      = 0x8020699a
-+	SIOCGETMPWCFG                     = 0xc02069ae
- 	SIOCGETPFLOW                      = 0xc02069fe
- 	SIOCGETPFSYNC                     = 0xc02069f8
- 	SIOCGETSGCNT                      = 0xc0207534
- 	SIOCGETVIFCNT                     = 0xc0287533
- 	SIOCGETVLAN                       = 0xc0206990
--	SIOCGHIWAT                        = 0x40047301
- 	SIOCGIFADDR                       = 0xc0206921
--	SIOCGIFASYNCMAP                   = 0xc020697c
- 	SIOCGIFBRDADDR                    = 0xc0206923
- 	SIOCGIFCONF                       = 0xc0106924
- 	SIOCGIFDATA                       = 0xc020691b
-@@ -1122,37 +1224,41 @@ const (
- 	SIOCGIFGMEMB                      = 0xc028698a
- 	SIOCGIFGROUP                      = 0xc0286988
- 	SIOCGIFHARDMTU                    = 0xc02069a5
--	SIOCGIFMEDIA                      = 0xc0306936
-+	SIOCGIFLLPRIO                     = 0xc02069b6
-+	SIOCGIFMEDIA                      = 0xc0406938
- 	SIOCGIFMETRIC                     = 0xc0206917
- 	SIOCGIFMTU                        = 0xc020697e
- 	SIOCGIFNETMASK                    = 0xc0206925
--	SIOCGIFPDSTADDR                   = 0xc0206948
-+	SIOCGIFPAIR                       = 0xc02069b1
-+	SIOCGIFPARENT                     = 0xc02069b3
- 	SIOCGIFPRIORITY                   = 0xc020699c
--	SIOCGIFPSRCADDR                   = 0xc0206947
- 	SIOCGIFRDOMAIN                    = 0xc02069a0
- 	SIOCGIFRTLABEL                    = 0xc0206983
--	SIOCGIFTIMESLOT                   = 0xc0206986
-+	SIOCGIFRXR                        = 0x802069aa
- 	SIOCGIFXFLAGS                     = 0xc020699e
--	SIOCGLIFADDR                      = 0xc218691d
- 	SIOCGLIFPHYADDR                   = 0xc218694b
-+	SIOCGLIFPHYDF                     = 0xc02069c2
- 	SIOCGLIFPHYRTABLE                 = 0xc02069a2
- 	SIOCGLIFPHYTTL                    = 0xc02069a9
--	SIOCGLOWAT                        = 0x40047303
- 	SIOCGPGRP                         = 0x40047309
- 	SIOCGSPPPPARAMS                   = 0xc0206994
-+	SIOCGUMBINFO                      = 0xc02069be
-+	SIOCGUMBPARAM                     = 0xc02069c0
- 	SIOCGVH                           = 0xc02069f6
-+	SIOCGVNETFLOWID                   = 0xc02069c4
- 	SIOCGVNETID                       = 0xc02069a7
-+	SIOCIFAFATTACH                    = 0x801169ab
-+	SIOCIFAFDETACH                    = 0x801169ac
- 	SIOCIFCREATE                      = 0x8020697a
- 	SIOCIFDESTROY                     = 0x80206979
- 	SIOCIFGCLONERS                    = 0xc0106978
- 	SIOCSETKALIVE                     = 0x801869a3
- 	SIOCSETLABEL                      = 0x80206999
-+	SIOCSETMPWCFG                     = 0x802069ad
- 	SIOCSETPFLOW                      = 0x802069fd
- 	SIOCSETPFSYNC                     = 0x802069f7
- 	SIOCSETVLAN                       = 0x8020698f
--	SIOCSHIWAT                        = 0x80047300
- 	SIOCSIFADDR                       = 0x8020690c
--	SIOCSIFASYNCMAP                   = 0x8020697d
- 	SIOCSIFBRDADDR                    = 0x80206913
- 	SIOCSIFDESCR                      = 0x80206980
- 	SIOCSIFDSTADDR                    = 0x8020690e
-@@ -1160,25 +1266,36 @@ const (
- 	SIOCSIFGATTR                      = 0x8028698c
- 	SIOCSIFGENERIC                    = 0x80206939
- 	SIOCSIFLLADDR                     = 0x8020691f
--	SIOCSIFMEDIA                      = 0xc0206935
-+	SIOCSIFLLPRIO                     = 0x802069b5
-+	SIOCSIFMEDIA                      = 0xc0206937
- 	SIOCSIFMETRIC                     = 0x80206918
- 	SIOCSIFMTU                        = 0x8020697f
- 	SIOCSIFNETMASK                    = 0x80206916
--	SIOCSIFPHYADDR                    = 0x80406946
-+	SIOCSIFPAIR                       = 0x802069b0
-+	SIOCSIFPARENT                     = 0x802069b2
- 	SIOCSIFPRIORITY                   = 0x8020699b
- 	SIOCSIFRDOMAIN                    = 0x8020699f
- 	SIOCSIFRTLABEL                    = 0x80206982
--	SIOCSIFTIMESLOT                   = 0x80206985
- 	SIOCSIFXFLAGS                     = 0x8020699d
- 	SIOCSLIFPHYADDR                   = 0x8218694a
-+	SIOCSLIFPHYDF                     = 0x802069c1
- 	SIOCSLIFPHYRTABLE                 = 0x802069a1
- 	SIOCSLIFPHYTTL                    = 0x802069a8
--	SIOCSLOWAT                        = 0x80047302
- 	SIOCSPGRP                         = 0x80047308
- 	SIOCSSPPPPARAMS                   = 0x80206993
-+	SIOCSUMBPARAM                     = 0x802069bf
- 	SIOCSVH                           = 0xc02069f5
-+	SIOCSVNETFLOWID                   = 0x802069c3
- 	SIOCSVNETID                       = 0x802069a6
-+	SIOCSWGDPID                       = 0xc018695b
-+	SIOCSWGMAXFLOW                    = 0xc0186960
-+	SIOCSWGMAXGROUP                   = 0xc018695d
-+	SIOCSWSDPID                       = 0x8018695c
-+	SIOCSWSPORTNO                     = 0xc060695f
-+	SOCK_CLOEXEC                      = 0x8000
- 	SOCK_DGRAM                        = 0x2
-+	SOCK_DNS                          = 0x1000
-+	SOCK_NONBLOCK                     = 0x4000
- 	SOCK_RAW                          = 0x3
- 	SOCK_RDM                          = 0x4
- 	SOCK_SEQPACKET                    = 0x5
-@@ -1209,9 +1326,42 @@ const (
- 	SO_TIMESTAMP                      = 0x800
- 	SO_TYPE                           = 0x1008
- 	SO_USELOOPBACK                    = 0x40
-+	SO_ZEROIZE                        = 0x2000
-+	S_BLKSIZE                         = 0x200
-+	S_IEXEC                           = 0x40
-+	S_IFBLK                           = 0x6000
-+	S_IFCHR                           = 0x2000
-+	S_IFDIR                           = 0x4000
-+	S_IFIFO                           = 0x1000
-+	S_IFLNK                           = 0xa000
-+	S_IFMT                            = 0xf000
-+	S_IFREG                           = 0x8000
-+	S_IFSOCK                          = 0xc000
-+	S_IREAD                           = 0x100
-+	S_IRGRP                           = 0x20
-+	S_IROTH                           = 0x4
-+	S_IRUSR                           = 0x100
-+	S_IRWXG                           = 0x38
-+	S_IRWXO                           = 0x7
-+	S_IRWXU                           = 0x1c0
-+	S_ISGID                           = 0x400
-+	S_ISTXT                           = 0x200
-+	S_ISUID                           = 0x800
-+	S_ISVTX                           = 0x200
-+	S_IWGRP                           = 0x10
-+	S_IWOTH                           = 0x2
-+	S_IWRITE                          = 0x80
-+	S_IWUSR                           = 0x80
-+	S_IXGRP                           = 0x8
-+	S_IXOTH                           = 0x1
-+	S_IXUSR                           = 0x40
- 	TCIFLUSH                          = 0x1
-+	TCIOFF                            = 0x3
- 	TCIOFLUSH                         = 0x3
-+	TCION                             = 0x4
- 	TCOFLUSH                          = 0x2
-+	TCOOFF                            = 0x1
-+	TCOON                             = 0x2
- 	TCP_MAXBURST                      = 0x4
- 	TCP_MAXSEG                        = 0x2
- 	TCP_MAXWIN                        = 0xffff
-@@ -1221,11 +1371,12 @@ const (
- 	TCP_MSS                           = 0x200
- 	TCP_NODELAY                       = 0x1
- 	TCP_NOPUSH                        = 0x10
--	TCP_NSTATES                       = 0xb
- 	TCP_SACK_ENABLE                   = 0x8
- 	TCSAFLUSH                         = 0x2
- 	TIOCCBRK                          = 0x2000747a
- 	TIOCCDTR                          = 0x20007478
-+	TIOCCHKVERAUTH                    = 0x2000741e
-+	TIOCCLRVERAUTH                    = 0x2000741d
- 	TIOCCONS                          = 0x80047462
- 	TIOCDRAIN                         = 0x2000745e
- 	TIOCEXCL                          = 0x2000740d
-@@ -1280,17 +1431,22 @@ const (
- 	TIOCSETAF                         = 0x802c7416
- 	TIOCSETAW                         = 0x802c7415
- 	TIOCSETD                          = 0x8004741b
-+	TIOCSETVERAUTH                    = 0x8004741c
- 	TIOCSFLAGS                        = 0x8004745c
- 	TIOCSIG                           = 0x8004745f
- 	TIOCSPGRP                         = 0x80047476
- 	TIOCSTART                         = 0x2000746e
--	TIOCSTAT                          = 0x80047465
-+	TIOCSTAT                          = 0x20007465
- 	TIOCSTI                           = 0x80017472
- 	TIOCSTOP                          = 0x2000746f
- 	TIOCSTSTAMP                       = 0x8008745a
- 	TIOCSWINSZ                        = 0x80087467
- 	TIOCUCNTL                         = 0x80047466
-+	TIOCUCNTL_CBRK                    = 0x7a
-+	TIOCUCNTL_SBRK                    = 0x7b
- 	TOSTOP                            = 0x400000
-+	UTIME_NOW                         = -0x2
-+	UTIME_OMIT                        = -0x1
- 	VDISCARD                          = 0xf
- 	VDSUSP                            = 0xb
- 	VEOF                              = 0x0
-@@ -1301,6 +1457,18 @@ const (
- 	VKILL                             = 0x5
- 	VLNEXT                            = 0xe
- 	VMIN                              = 0x10
-+	VM_ANONMIN                        = 0x7
-+	VM_LOADAVG                        = 0x2
-+	VM_MAXID                          = 0xc
-+	VM_MAXSLP                         = 0xa
-+	VM_METER                          = 0x1
-+	VM_NKMEMPAGES                     = 0x6
-+	VM_PSSTRINGS                      = 0x3
-+	VM_SWAPENCRYPT                    = 0x5
-+	VM_USPACE                         = 0xb
-+	VM_UVMEXP                         = 0x4
-+	VM_VNODEMIN                       = 0x9
-+	VM_VTEXTMIN                       = 0x8
- 	VQUIT                             = 0x9
- 	VREPRINT                          = 0x6
- 	VSTART                            = 0xc
-@@ -1313,8 +1481,8 @@ const (
- 	WCONTINUED                        = 0x8
- 	WCOREFLAG                         = 0x80
- 	WNOHANG                           = 0x1
--	WSTOPPED                          = 0x7f
- 	WUNTRACED                         = 0x2
-+	XCASE                             = 0x1000000
- )
- 
- // Errors
-@@ -1328,6 +1496,7 @@ const (
- 	EALREADY        = syscall.Errno(0x25)
- 	EAUTH           = syscall.Errno(0x50)
- 	EBADF           = syscall.Errno(0x9)
-+	EBADMSG         = syscall.Errno(0x5c)
- 	EBADRPC         = syscall.Errno(0x48)
- 	EBUSY           = syscall.Errno(0x10)
- 	ECANCELED       = syscall.Errno(0x58)
-@@ -1354,7 +1523,7 @@ const (
- 	EIPSEC          = syscall.Errno(0x52)
- 	EISCONN         = syscall.Errno(0x38)
- 	EISDIR          = syscall.Errno(0x15)
--	ELAST           = syscall.Errno(0x5b)
-+	ELAST           = syscall.Errno(0x5f)
- 	ELOOP           = syscall.Errno(0x3e)
- 	EMEDIUMTYPE     = syscall.Errno(0x56)
- 	EMFILE          = syscall.Errno(0x18)
-@@ -1382,12 +1551,14 @@ const (
- 	ENOTCONN        = syscall.Errno(0x39)
- 	ENOTDIR         = syscall.Errno(0x14)
- 	ENOTEMPTY       = syscall.Errno(0x42)
-+	ENOTRECOVERABLE = syscall.Errno(0x5d)
- 	ENOTSOCK        = syscall.Errno(0x26)
- 	ENOTSUP         = syscall.Errno(0x5b)
- 	ENOTTY          = syscall.Errno(0x19)
- 	ENXIO           = syscall.Errno(0x6)
- 	EOPNOTSUPP      = syscall.Errno(0x2d)
- 	EOVERFLOW       = syscall.Errno(0x57)
-+	EOWNERDEAD      = syscall.Errno(0x5e)
- 	EPERM           = syscall.Errno(0x1)
- 	EPFNOSUPPORT    = syscall.Errno(0x2e)
- 	EPIPE           = syscall.Errno(0x20)
-@@ -1395,6 +1566,7 @@ const (
- 	EPROCUNAVAIL    = syscall.Errno(0x4c)
- 	EPROGMISMATCH   = syscall.Errno(0x4b)
- 	EPROGUNAVAIL    = syscall.Errno(0x4a)
-+	EPROTO          = syscall.Errno(0x5f)
- 	EPROTONOSUPPORT = syscall.Errno(0x2b)
- 	EPROTOTYPE      = syscall.Errno(0x29)
- 	ERANGE          = syscall.Errno(0x22)
-@@ -1452,132 +1624,144 @@ const (
- )
- 
- // Error table
--var errors = [...]string{
--	1:  "operation not permitted",
--	2:  "no such file or directory",
--	3:  "no such process",
--	4:  "interrupted system call",
--	5:  "input/output error",
--	6:  "device not configured",
--	7:  "argument list too long",
--	8:  "exec format error",
--	9:  "bad file descriptor",
--	10: "no child processes",
--	11: "resource deadlock avoided",
--	12: "cannot allocate memory",
--	13: "permission denied",
--	14: "bad address",
--	15: "block device required",
--	16: "device busy",
--	17: "file exists",
--	18: "cross-device link",
--	19: "operation not supported by device",
--	20: "not a directory",
--	21: "is a directory",
--	22: "invalid argument",
--	23: "too many open files in system",
--	24: "too many open files",
--	25: "inappropriate ioctl for device",
--	26: "text file busy",
--	27: "file too large",
--	28: "no space left on device",
--	29: "illegal seek",
--	30: "read-only file system",
--	31: "too many links",
--	32: "broken pipe",
--	33: "numerical argument out of domain",
--	34: "result too large",
--	35: "resource temporarily unavailable",
--	36: "operation now in progress",
--	37: "operation already in progress",
--	38: "socket operation on non-socket",
--	39: "destination address required",
--	40: "message too long",
--	41: "protocol wrong type for socket",
--	42: "protocol not available",
--	43: "protocol not supported",
--	44: "socket type not supported",
--	45: "operation not supported",
--	46: "protocol family not supported",
--	47: "address family not supported by protocol family",
--	48: "address already in use",
--	49: "can't assign requested address",
--	50: "network is down",
--	51: "network is unreachable",
--	52: "network dropped connection on reset",
--	53: "software caused connection abort",
--	54: "connection reset by peer",
--	55: "no buffer space available",
--	56: "socket is already connected",
--	57: "socket is not connected",
--	58: "can't send after socket shutdown",
--	59: "too many references: can't splice",
--	60: "connection timed out",
--	61: "connection refused",
--	62: "too many levels of symbolic links",
--	63: "file name too long",
--	64: "host is down",
--	65: "no route to host",
--	66: "directory not empty",
--	67: "too many processes",
--	68: "too many users",
--	69: "disc quota exceeded",
--	70: "stale NFS file handle",
--	71: "too many levels of remote in path",
--	72: "RPC struct is bad",
--	73: "RPC version wrong",
--	74: "RPC prog. not avail",
--	75: "program version wrong",
--	76: "bad procedure for program",
--	77: "no locks available",
--	78: "function not implemented",
--	79: "inappropriate file type or format",
--	80: "authentication error",
--	81: "need authenticator",
--	82: "IPsec processing failure",
--	83: "attribute not found",
--	84: "illegal byte sequence",
--	85: "no medium found",
--	86: "wrong medium type",
--	87: "value too large to be stored in data type",
--	88: "operation canceled",
--	89: "identifier removed",
--	90: "no message of desired type",
--	91: "not supported",
-+var errorList = [...]struct {
-+	num  syscall.Errno
-+	name string
-+	desc string
-+}{
-+	{1, "EPERM", "operation not permitted"},
-+	{2, "ENOENT", "no such file or directory"},
-+	{3, "ESRCH", "no such process"},
-+	{4, "EINTR", "interrupted system call"},
-+	{5, "EIO", "input/output error"},
-+	{6, "ENXIO", "device not configured"},
-+	{7, "E2BIG", "argument list too long"},
-+	{8, "ENOEXEC", "exec format error"},
-+	{9, "EBADF", "bad file descriptor"},
-+	{10, "ECHILD", "no child processes"},
-+	{11, "EDEADLK", "resource deadlock avoided"},
-+	{12, "ENOMEM", "cannot allocate memory"},
-+	{13, "EACCES", "permission denied"},
-+	{14, "EFAULT", "bad address"},
-+	{15, "ENOTBLK", "block device required"},
-+	{16, "EBUSY", "device busy"},
-+	{17, "EEXIST", "file exists"},
-+	{18, "EXDEV", "cross-device link"},
-+	{19, "ENODEV", "operation not supported by device"},
-+	{20, "ENOTDIR", "not a directory"},
-+	{21, "EISDIR", "is a directory"},
-+	{22, "EINVAL", "invalid argument"},
-+	{23, "ENFILE", "too many open files in system"},
-+	{24, "EMFILE", "too many open files"},
-+	{25, "ENOTTY", "inappropriate ioctl for device"},
-+	{26, "ETXTBSY", "text file busy"},
-+	{27, "EFBIG", "file too large"},
-+	{28, "ENOSPC", "no space left on device"},
-+	{29, "ESPIPE", "illegal seek"},
-+	{30, "EROFS", "read-only file system"},
-+	{31, "EMLINK", "too many links"},
-+	{32, "EPIPE", "broken pipe"},
-+	{33, "EDOM", "numerical argument out of domain"},
-+	{34, "ERANGE", "result too large"},
-+	{35, "EAGAIN", "resource temporarily unavailable"},
-+	{36, "EINPROGRESS", "operation now in progress"},
-+	{37, "EALREADY", "operation already in progress"},
-+	{38, "ENOTSOCK", "socket operation on non-socket"},
-+	{39, "EDESTADDRREQ", "destination address required"},
-+	{40, "EMSGSIZE", "message too long"},
-+	{41, "EPROTOTYPE", "protocol wrong type for socket"},
-+	{42, "ENOPROTOOPT", "protocol not available"},
-+	{43, "EPROTONOSUPPORT", "protocol not supported"},
-+	{44, "ESOCKTNOSUPPORT", "socket type not supported"},
-+	{45, "EOPNOTSUPP", "operation not supported"},
-+	{46, "EPFNOSUPPORT", "protocol family not supported"},
-+	{47, "EAFNOSUPPORT", "address family not supported by protocol family"},
-+	{48, "EADDRINUSE", "address already in use"},
-+	{49, "EADDRNOTAVAIL", "can't assign requested address"},
-+	{50, "ENETDOWN", "network is down"},
-+	{51, "ENETUNREACH", "network is unreachable"},
-+	{52, "ENETRESET", "network dropped connection on reset"},
-+	{53, "ECONNABORTED", "software caused connection abort"},
-+	{54, "ECONNRESET", "connection reset by peer"},
-+	{55, "ENOBUFS", "no buffer space available"},
-+	{56, "EISCONN", "socket is already connected"},
-+	{57, "ENOTCONN", "socket is not connected"},
-+	{58, "ESHUTDOWN", "can't send after socket shutdown"},
-+	{59, "ETOOMANYREFS", "too many references: can't splice"},
-+	{60, "ETIMEDOUT", "operation timed out"},
-+	{61, "ECONNREFUSED", "connection refused"},
-+	{62, "ELOOP", "too many levels of symbolic links"},
-+	{63, "ENAMETOOLONG", "file name too long"},
-+	{64, "EHOSTDOWN", "host is down"},
-+	{65, "EHOSTUNREACH", "no route to host"},
-+	{66, "ENOTEMPTY", "directory not empty"},
-+	{67, "EPROCLIM", "too many processes"},
-+	{68, "EUSERS", "too many users"},
-+	{69, "EDQUOT", "disk quota exceeded"},
-+	{70, "ESTALE", "stale NFS file handle"},
-+	{71, "EREMOTE", "too many levels of remote in path"},
-+	{72, "EBADRPC", "RPC struct is bad"},
-+	{73, "ERPCMISMATCH", "RPC version wrong"},
-+	{74, "EPROGUNAVAIL", "RPC program not available"},
-+	{75, "EPROGMISMATCH", "program version wrong"},
-+	{76, "EPROCUNAVAIL", "bad procedure for program"},
-+	{77, "ENOLCK", "no locks available"},
-+	{78, "ENOSYS", "function not implemented"},
-+	{79, "EFTYPE", "inappropriate file type or format"},
-+	{80, "EAUTH", "authentication error"},
-+	{81, "ENEEDAUTH", "need authenticator"},
-+	{82, "EIPSEC", "IPsec processing failure"},
-+	{83, "ENOATTR", "attribute not found"},
-+	{84, "EILSEQ", "illegal byte sequence"},
-+	{85, "ENOMEDIUM", "no medium found"},
-+	{86, "EMEDIUMTYPE", "wrong medium type"},
-+	{87, "EOVERFLOW", "value too large to be stored in data type"},
-+	{88, "ECANCELED", "operation canceled"},
-+	{89, "EIDRM", "identifier removed"},
-+	{90, "ENOMSG", "no message of desired type"},
-+	{91, "ENOTSUP", "not supported"},
-+	{92, "EBADMSG", "bad message"},
-+	{93, "ENOTRECOVERABLE", "state not recoverable"},
-+	{94, "EOWNERDEAD", "previous owner died"},
-+	{95, "ELAST", "protocol error"},
- }
- 
- // Signal table
--var signals = [...]string{
--	1:  "hangup",
--	2:  "interrupt",
--	3:  "quit",
--	4:  "illegal instruction",
--	5:  "trace/BPT trap",
--	6:  "abort trap",
--	7:  "EMT trap",
--	8:  "floating point exception",
--	9:  "killed",
--	10: "bus error",
--	11: "segmentation fault",
--	12: "bad system call",
--	13: "broken pipe",
--	14: "alarm clock",
--	15: "terminated",
--	16: "urgent I/O condition",
--	17: "stopped (signal)",
--	18: "stopped",
--	19: "continued",
--	20: "child exited",
--	21: "stopped (tty input)",
--	22: "stopped (tty output)",
--	23: "I/O possible",
--	24: "cputime limit exceeded",
--	25: "filesize limit exceeded",
--	26: "virtual timer expired",
--	27: "profiling timer expired",
--	28: "window size changes",
--	29: "information request",
--	30: "user defined signal 1",
--	31: "user defined signal 2",
--	32: "thread AST",
-+var signalList = [...]struct {
-+	num  syscall.Signal
-+	name string
-+	desc string
-+}{
-+	{1, "SIGHUP", "hangup"},
-+	{2, "SIGINT", "interrupt"},
-+	{3, "SIGQUIT", "quit"},
-+	{4, "SIGILL", "illegal instruction"},
-+	{5, "SIGTRAP", "trace/BPT trap"},
-+	{6, "SIGABRT", "abort trap"},
-+	{7, "SIGEMT", "EMT trap"},
-+	{8, "SIGFPE", "floating point exception"},
-+	{9, "SIGKILL", "killed"},
-+	{10, "SIGBUS", "bus error"},
-+	{11, "SIGSEGV", "segmentation fault"},
-+	{12, "SIGSYS", "bad system call"},
-+	{13, "SIGPIPE", "broken pipe"},
-+	{14, "SIGALRM", "alarm clock"},
-+	{15, "SIGTERM", "terminated"},
-+	{16, "SIGURG", "urgent I/O condition"},
-+	{17, "SIGSTOP", "suspended (signal)"},
-+	{18, "SIGTSTP", "suspended"},
-+	{19, "SIGCONT", "continued"},
-+	{20, "SIGCHLD", "child exited"},
-+	{21, "SIGTTIN", "stopped (tty input)"},
-+	{22, "SIGTTOU", "stopped (tty output)"},
-+	{23, "SIGIO", "I/O possible"},
-+	{24, "SIGXCPU", "cputime limit exceeded"},
-+	{25, "SIGXFSZ", "filesize limit exceeded"},
-+	{26, "SIGVTALRM", "virtual timer expired"},
-+	{27, "SIGPROF", "profiling timer expired"},
-+	{28, "SIGWINCH", "window size changes"},
-+	{29, "SIGINFO", "information request"},
-+	{30, "SIGUSR1", "user defined signal 1"},
-+	{31, "SIGUSR2", "user defined signal 2"},
-+	{32, "SIGTHR", "thread AST"},
- }
-diff --git a/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm.go b/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm.go
-index 3ed0b260..7aa796a6 100644
---- a/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm.go
-+++ b/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm.go
-@@ -1,11 +1,11 @@
- // mkerrors.sh
--// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
--
--// Created by cgo -godefs - DO NOT EDIT
--// cgo -godefs -- _const.go
-+// Code generated by the command above; see README.md. DO NOT EDIT.
- 
- // +build arm,openbsd
- 
-+// Code generated by cmd/cgo -godefs; DO NOT EDIT.
-+// cgo -godefs -- _const.go
-+
- package unix
- 
- import "syscall"
-@@ -147,6 +147,7 @@ const (
- 	CFLUSH                            = 0xf
- 	CLOCAL                            = 0x8000
- 	CREAD                             = 0x800
-+	CRTSCTS                           = 0x10000
- 	CS5                               = 0x0
- 	CS6                               = 0x100
- 	CS7                               = 0x200
-@@ -157,6 +158,8 @@ const (
- 	CSTOP                             = 0x13
- 	CSTOPB                            = 0x400
- 	CSUSP                             = 0x1a
-+	CTL_HW                            = 0x6
-+	CTL_KERN                          = 0x1
- 	CTL_MAXNAME                       = 0xc
- 	CTL_NET                           = 0x4
- 	DIOCOSFPFLUSH                     = 0x2000444e
-@@ -441,6 +444,7 @@ const (
- 	F_UNLCK                           = 0x2
- 	F_WRLCK                           = 0x3
- 	HUPCL                             = 0x4000
-+	HW_MACHINE                        = 0x1
- 	ICANON                            = 0x100
- 	ICMP6_FILTER                      = 0x12
- 	ICRNL                             = 0x100
-@@ -859,6 +863,10 @@ const (
- 	IXANY                             = 0x800
- 	IXOFF                             = 0x400
- 	IXON                              = 0x200
-+	KERN_HOSTNAME                     = 0xa
-+	KERN_OSRELEASE                    = 0x2
-+	KERN_OSTYPE                       = 0x1
-+	KERN_VERSION                      = 0x4
- 	LCNT_OVERLOAD_FLUSH               = 0x6
- 	LOCK_EX                           = 0x2
- 	LOCK_NB                           = 0x4
-@@ -873,10 +881,11 @@ const (
- 	MADV_WILLNEED                     = 0x3
- 	MAP_ANON                          = 0x1000
- 	MAP_ANONYMOUS                     = 0x1000
-+	MAP_CONCEAL                       = 0x8000
- 	MAP_COPY                          = 0x2
- 	MAP_FILE                          = 0x0
- 	MAP_FIXED                         = 0x10
--	MAP_FLAGMASK                      = 0x3ff7
-+	MAP_FLAGMASK                      = 0xfff7
- 	MAP_HASSEMAPHORE                  = 0x0
- 	MAP_INHERIT                       = 0x0
- 	MAP_INHERIT_COPY                  = 0x1
-@@ -888,9 +897,36 @@ const (
- 	MAP_PRIVATE                       = 0x2
- 	MAP_RENAME                        = 0x0
- 	MAP_SHARED                        = 0x1
-+	MAP_STACK                         = 0x4000
- 	MAP_TRYFIXED                      = 0x0
- 	MCL_CURRENT                       = 0x1
- 	MCL_FUTURE                        = 0x2
-+	MNT_ASYNC                         = 0x40
-+	MNT_DEFEXPORTED                   = 0x200
-+	MNT_DELEXPORT                     = 0x20000
-+	MNT_DOOMED                        = 0x8000000
-+	MNT_EXPORTANON                    = 0x400
-+	MNT_EXPORTED                      = 0x100
-+	MNT_EXRDONLY                      = 0x80
-+	MNT_FORCE                         = 0x80000
-+	MNT_LAZY                          = 0x3
-+	MNT_LOCAL                         = 0x1000
-+	MNT_NOATIME                       = 0x8000
-+	MNT_NODEV                         = 0x10
-+	MNT_NOEXEC                        = 0x4
-+	MNT_NOSUID                        = 0x8
-+	MNT_NOWAIT                        = 0x2
-+	MNT_QUOTA                         = 0x2000
-+	MNT_RDONLY                        = 0x1
-+	MNT_RELOAD                        = 0x40000
-+	MNT_ROOTFS                        = 0x4000
-+	MNT_SOFTDEP                       = 0x4000000
-+	MNT_SYNCHRONOUS                   = 0x2
-+	MNT_UPDATE                        = 0x10000
-+	MNT_VISFLAGMASK                   = 0x400ffff
-+	MNT_WAIT                          = 0x1
-+	MNT_WANTRDWR                      = 0x2000000
-+	MNT_WXALLOWED                     = 0x800
- 	MSG_BCAST                         = 0x100
- 	MSG_CMSG_CLOEXEC                  = 0x800
- 	MSG_CTRUNC                        = 0x20
-@@ -913,6 +949,7 @@ const (
- 	NET_RT_MAXID                      = 0x6
- 	NET_RT_STATS                      = 0x4
- 	NET_RT_TABLE                      = 0x5
-+	NFDBITS                           = 0x20
- 	NOFLSH                            = 0x80000000
- 	NOTE_ATTRIB                       = 0x8
- 	NOTE_CHILD                        = 0x4
-@@ -1213,6 +1250,34 @@ const (
- 	SO_TIMESTAMP                      = 0x800
- 	SO_TYPE                           = 0x1008
- 	SO_USELOOPBACK                    = 0x40
-+	S_BLKSIZE                         = 0x200
-+	S_IEXEC                           = 0x40
-+	S_IFBLK                           = 0x6000
-+	S_IFCHR                           = 0x2000
-+	S_IFDIR                           = 0x4000
-+	S_IFIFO                           = 0x1000
-+	S_IFLNK                           = 0xa000
-+	S_IFMT                            = 0xf000
-+	S_IFREG                           = 0x8000
-+	S_IFSOCK                          = 0xc000
-+	S_IREAD                           = 0x100
-+	S_IRGRP                           = 0x20
-+	S_IROTH                           = 0x4
-+	S_IRUSR                           = 0x100
-+	S_IRWXG                           = 0x38
-+	S_IRWXO                           = 0x7
-+	S_IRWXU                           = 0x1c0
-+	S_ISGID                           = 0x400
-+	S_ISTXT                           = 0x200
-+	S_ISUID                           = 0x800
-+	S_ISVTX                           = 0x200
-+	S_IWGRP                           = 0x10
-+	S_IWOTH                           = 0x2
-+	S_IWRITE                          = 0x80
-+	S_IWUSR                           = 0x80
-+	S_IXGRP                           = 0x8
-+	S_IXOTH                           = 0x1
-+	S_IXUSR                           = 0x40
- 	TCIFLUSH                          = 0x1
- 	TCIOFLUSH                         = 0x3
- 	TCOFLUSH                          = 0x2
-@@ -1455,132 +1520,140 @@ const (
- )
- 
- // Error table
--var errors = [...]string{
--	1:  "operation not permitted",
--	2:  "no such file or directory",
--	3:  "no such process",
--	4:  "interrupted system call",
--	5:  "input/output error",
--	6:  "device not configured",
--	7:  "argument list too long",
--	8:  "exec format error",
--	9:  "bad file descriptor",
--	10: "no child processes",
--	11: "resource deadlock avoided",
--	12: "cannot allocate memory",
--	13: "permission denied",
--	14: "bad address",
--	15: "block device required",
--	16: "device busy",
--	17: "file exists",
--	18: "cross-device link",
--	19: "operation not supported by device",
--	20: "not a directory",
--	21: "is a directory",
--	22: "invalid argument",
--	23: "too many open files in system",
--	24: "too many open files",
--	25: "inappropriate ioctl for device",
--	26: "text file busy",
--	27: "file too large",
--	28: "no space left on device",
--	29: "illegal seek",
--	30: "read-only file system",
--	31: "too many links",
--	32: "broken pipe",
--	33: "numerical argument out of domain",
--	34: "result too large",
--	35: "resource temporarily unavailable",
--	36: "operation now in progress",
--	37: "operation already in progress",
--	38: "socket operation on non-socket",
--	39: "destination address required",
--	40: "message too long",
--	41: "protocol wrong type for socket",
--	42: "protocol not available",
--	43: "protocol not supported",
--	44: "socket type not supported",
--	45: "operation not supported",
--	46: "protocol family not supported",
--	47: "address family not supported by protocol family",
--	48: "address already in use",
--	49: "can't assign requested address",
--	50: "network is down",
--	51: "network is unreachable",
--	52: "network dropped connection on reset",
--	53: "software caused connection abort",
--	54: "connection reset by peer",
--	55: "no buffer space available",
--	56: "socket is already connected",
--	57: "socket is not connected",
--	58: "can't send after socket shutdown",
--	59: "too many references: can't splice",
--	60: "connection timed out",
--	61: "connection refused",
--	62: "too many levels of symbolic links",
--	63: "file name too long",
--	64: "host is down",
--	65: "no route to host",
--	66: "directory not empty",
--	67: "too many processes",
--	68: "too many users",
--	69: "disc quota exceeded",
--	70: "stale NFS file handle",
--	71: "too many levels of remote in path",
--	72: "RPC struct is bad",
--	73: "RPC version wrong",
--	74: "RPC prog. not avail",
--	75: "program version wrong",
--	76: "bad procedure for program",
--	77: "no locks available",
--	78: "function not implemented",
--	79: "inappropriate file type or format",
--	80: "authentication error",
--	81: "need authenticator",
--	82: "IPsec processing failure",
--	83: "attribute not found",
--	84: "illegal byte sequence",
--	85: "no medium found",
--	86: "wrong medium type",
--	87: "value too large to be stored in data type",
--	88: "operation canceled",
--	89: "identifier removed",
--	90: "no message of desired type",
--	91: "not supported",
-+var errorList = [...]struct {
-+	num  syscall.Errno
-+	name string
-+	desc string
-+}{
-+	{1, "EPERM", "operation not permitted"},
-+	{2, "ENOENT", "no such file or directory"},
-+	{3, "ESRCH", "no such process"},
-+	{4, "EINTR", "interrupted system call"},
-+	{5, "EIO", "input/output error"},
-+	{6, "ENXIO", "device not configured"},
-+	{7, "E2BIG", "argument list too long"},
-+	{8, "ENOEXEC", "exec format error"},
-+	{9, "EBADF", "bad file descriptor"},
-+	{10, "ECHILD", "no child processes"},
-+	{11, "EDEADLK", "resource deadlock avoided"},
-+	{12, "ENOMEM", "cannot allocate memory"},
-+	{13, "EACCES", "permission denied"},
-+	{14, "EFAULT", "bad address"},
-+	{15, "ENOTBLK", "block device required"},
-+	{16, "EBUSY", "device busy"},
-+	{17, "EEXIST", "file exists"},
-+	{18, "EXDEV", "cross-device link"},
-+	{19, "ENODEV", "operation not supported by device"},
-+	{20, "ENOTDIR", "not a directory"},
-+	{21, "EISDIR", "is a directory"},
-+	{22, "EINVAL", "invalid argument"},
-+	{23, "ENFILE", "too many open files in system"},
-+	{24, "EMFILE", "too many open files"},
-+	{25, "ENOTTY", "inappropriate ioctl for device"},
-+	{26, "ETXTBSY", "text file busy"},
-+	{27, "EFBIG", "file too large"},
-+	{28, "ENOSPC", "no space left on device"},
-+	{29, "ESPIPE", "illegal seek"},
-+	{30, "EROFS", "read-only file system"},
-+	{31, "EMLINK", "too many links"},
-+	{32, "EPIPE", "broken pipe"},
-+	{33, "EDOM", "numerical argument out of domain"},
-+	{34, "ERANGE", "result too large"},
-+	{35, "EWOULDBLOCK", "resource temporarily unavailable"},
-+	{36, "EINPROGRESS", "operation now in progress"},
-+	{37, "EALREADY", "operation already in progress"},
-+	{38, "ENOTSOCK", "socket operation on non-socket"},
-+	{39, "EDESTADDRREQ", "destination address required"},
-+	{40, "EMSGSIZE", "message too long"},
-+	{41, "EPROTOTYPE", "protocol wrong type for socket"},
-+	{42, "ENOPROTOOPT", "protocol not available"},
-+	{43, "EPROTONOSUPPORT", "protocol not supported"},
-+	{44, "ESOCKTNOSUPPORT", "socket type not supported"},
-+	{45, "EOPNOTSUPP", "operation not supported"},
-+	{46, "EPFNOSUPPORT", "protocol family not supported"},
-+	{47, "EAFNOSUPPORT", "address family not supported by protocol family"},
-+	{48, "EADDRINUSE", "address already in use"},
-+	{49, "EADDRNOTAVAIL", "can't assign requested address"},
-+	{50, "ENETDOWN", "network is down"},
-+	{51, "ENETUNREACH", "network is unreachable"},
-+	{52, "ENETRESET", "network dropped connection on reset"},
-+	{53, "ECONNABORTED", "software caused connection abort"},
-+	{54, "ECONNRESET", "connection reset by peer"},
-+	{55, "ENOBUFS", "no buffer space available"},
-+	{56, "EISCONN", "socket is already connected"},
-+	{57, "ENOTCONN", "socket is not connected"},
-+	{58, "ESHUTDOWN", "can't send after socket shutdown"},
-+	{59, "ETOOMANYREFS", "too many references: can't splice"},
-+	{60, "ETIMEDOUT", "operation timed out"},
-+	{61, "ECONNREFUSED", "connection refused"},
-+	{62, "ELOOP", "too many levels of symbolic links"},
-+	{63, "ENAMETOOLONG", "file name too long"},
-+	{64, "EHOSTDOWN", "host is down"},
-+	{65, "EHOSTUNREACH", "no route to host"},
-+	{66, "ENOTEMPTY", "directory not empty"},
-+	{67, "EPROCLIM", "too many processes"},
-+	{68, "EUSERS", "too many users"},
-+	{69, "EDQUOT", "disk quota exceeded"},
-+	{70, "ESTALE", "stale NFS file handle"},
-+	{71, "EREMOTE", "too many levels of remote in path"},
-+	{72, "EBADRPC", "RPC struct is bad"},
-+	{73, "ERPCMISMATCH", "RPC version wrong"},
-+	{74, "EPROGUNAVAIL", "RPC program not available"},
-+	{75, "EPROGMISMATCH", "program version wrong"},
-+	{76, "EPROCUNAVAIL", "bad procedure for program"},
-+	{77, "ENOLCK", "no locks available"},
-+	{78, "ENOSYS", "function not implemented"},
-+	{79, "EFTYPE", "inappropriate file type or format"},
-+	{80, "EAUTH", "authentication error"},
-+	{81, "ENEEDAUTH", "need authenticator"},
-+	{82, "EIPSEC", "IPsec processing failure"},
-+	{83, "ENOATTR", "attribute not found"},
-+	{84, "EILSEQ", "illegal byte sequence"},
-+	{85, "ENOMEDIUM", "no medium found"},
-+	{86, "EMEDIUMTYPE", "wrong medium type"},
-+	{87, "EOVERFLOW", "value too large to be stored in data type"},
-+	{88, "ECANCELED", "operation canceled"},
-+	{89, "EIDRM", "identifier removed"},
-+	{90, "ENOMSG", "no message of desired type"},
-+	{91, "ELAST", "not supported"},
- }
- 
- // Signal table
--var signals = [...]string{
--	1:  "hangup",
--	2:  "interrupt",
--	3:  "quit",
--	4:  "illegal instruction",
--	5:  "trace/BPT trap",
--	6:  "abort trap",
--	7:  "EMT trap",
--	8:  "floating point exception",
--	9:  "killed",
--	10: "bus error",
--	11: "segmentation fault",
--	12: "bad system call",
--	13: "broken pipe",
--	14: "alarm clock",
--	15: "terminated",
--	16: "urgent I/O condition",
--	17: "stopped (signal)",
--	18: "stopped",
--	19: "continued",
--	20: "child exited",
--	21: "stopped (tty input)",
--	22: "stopped (tty output)",
--	23: "I/O possible",
--	24: "cputime limit exceeded",
--	25: "filesize limit exceeded",
--	26: "virtual timer expired",
--	27: "profiling timer expired",
--	28: "window size changes",
--	29: "information request",
--	30: "user defined signal 1",
--	31: "user defined signal 2",
--	32: "thread AST",
-+var signalList = [...]struct {
-+	num  syscall.Signal
-+	name string
-+	desc string
-+}{
-+	{1, "SIGHUP", "hangup"},
-+	{2, "SIGINT", "interrupt"},
-+	{3, "SIGQUIT", "quit"},
-+	{4, "SIGILL", "illegal instruction"},
-+	{5, "SIGTRAP", "trace/BPT trap"},
-+	{6, "SIGABRT", "abort trap"},
-+	{7, "SIGEMT", "EMT trap"},
-+	{8, "SIGFPE", "floating point exception"},
-+	{9, "SIGKILL", "killed"},
-+	{10, "SIGBUS", "bus error"},
-+	{11, "SIGSEGV", "segmentation fault"},
-+	{12, "SIGSYS", "bad system call"},
-+	{13, "SIGPIPE", "broken pipe"},
-+	{14, "SIGALRM", "alarm clock"},
-+	{15, "SIGTERM", "terminated"},
-+	{16, "SIGURG", "urgent I/O condition"},
-+	{17, "SIGSTOP", "suspended (signal)"},
-+	{18, "SIGTSTP", "suspended"},
-+	{19, "SIGCONT", "continued"},
-+	{20, "SIGCHLD", "child exited"},
-+	{21, "SIGTTIN", "stopped (tty input)"},
-+	{22, "SIGTTOU", "stopped (tty output)"},
-+	{23, "SIGIO", "I/O possible"},
-+	{24, "SIGXCPU", "cputime limit exceeded"},
-+	{25, "SIGXFSZ", "filesize limit exceeded"},
-+	{26, "SIGVTALRM", "virtual timer expired"},
-+	{27, "SIGPROF", "profiling timer expired"},
-+	{28, "SIGWINCH", "window size changes"},
-+	{29, "SIGINFO", "information request"},
-+	{30, "SIGUSR1", "user defined signal 1"},
-+	{31, "SIGUSR2", "user defined signal 2"},
-+	{32, "SIGTHR", "thread AST"},
- }
-diff --git a/vendor/golang.org/x/sys/unix/zerrors_openbsd_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm64.go
-similarity index 76%
-copy from vendor/golang.org/x/sys/unix/zerrors_openbsd_amd64.go
-copy to vendor/golang.org/x/sys/unix/zerrors_openbsd_arm64.go
-index 1758ecca..1792d3f1 100644
---- a/vendor/golang.org/x/sys/unix/zerrors_openbsd_amd64.go
-+++ b/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm64.go
-@@ -1,9 +1,9 @@
- // mkerrors.sh -m64
--// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
-+// Code generated by the command above; see README.md. DO NOT EDIT.
- 
--// +build amd64,openbsd
-+// +build arm64,openbsd
- 
--// Created by cgo -godefs - DO NOT EDIT
-+// Code generated by cmd/cgo -godefs; DO NOT EDIT.
- // cgo -godefs -- -m64 _const.go
- 
- package unix
-@@ -45,6 +45,7 @@ const (
- 	AF_SNA                            = 0xb
- 	AF_UNIX                           = 0x1
- 	AF_UNSPEC                         = 0x0
-+	ALTWERASE                         = 0x200
- 	ARPHRD_ETHER                      = 0x1
- 	ARPHRD_FRELAY                     = 0xf
- 	ARPHRD_IEEE1394                   = 0x18
-@@ -107,6 +108,9 @@ const (
- 	BPF_DIRECTION_IN                  = 0x1
- 	BPF_DIRECTION_OUT                 = 0x2
- 	BPF_DIV                           = 0x30
-+	BPF_FILDROP_CAPTURE               = 0x1
-+	BPF_FILDROP_DROP                  = 0x2
-+	BPF_FILDROP_PASS                  = 0x0
- 	BPF_H                             = 0x8
- 	BPF_IMM                           = 0x0
- 	BPF_IND                           = 0x40
-@@ -146,7 +150,14 @@ const (
- 	BRKINT                            = 0x2
- 	CFLUSH                            = 0xf
- 	CLOCAL                            = 0x8000
-+	CLOCK_BOOTTIME                    = 0x6
-+	CLOCK_MONOTONIC                   = 0x3
-+	CLOCK_PROCESS_CPUTIME_ID          = 0x2
-+	CLOCK_REALTIME                    = 0x0
-+	CLOCK_THREAD_CPUTIME_ID           = 0x4
-+	CLOCK_UPTIME                      = 0x5
- 	CREAD                             = 0x800
-+	CRTSCTS                           = 0x10000
- 	CS5                               = 0x0
- 	CS6                               = 0x100
- 	CS7                               = 0x200
-@@ -157,6 +168,8 @@ const (
- 	CSTOP                             = 0x13
- 	CSTOPB                            = 0x400
- 	CSUSP                             = 0x1a
-+	CTL_HW                            = 0x6
-+	CTL_KERN                          = 0x1
- 	CTL_MAXNAME                       = 0xc
- 	CTL_NET                           = 0x4
- 	DIOCOSFPFLUSH                     = 0x2000444e
-@@ -175,6 +188,7 @@ const (
- 	DLT_LOOP                          = 0xc
- 	DLT_MPLS                          = 0xdb
- 	DLT_NULL                          = 0x0
-+	DLT_OPENFLOW                      = 0x10b
- 	DLT_PFLOG                         = 0x75
- 	DLT_PFSYNC                        = 0x12
- 	DLT_PPP                           = 0x9
-@@ -185,6 +199,23 @@ const (
- 	DLT_RAW                           = 0xe
- 	DLT_SLIP                          = 0x8
- 	DLT_SLIP_BSDOS                    = 0xf
-+	DLT_USBPCAP                       = 0xf9
-+	DLT_USER0                         = 0x93
-+	DLT_USER1                         = 0x94
-+	DLT_USER10                        = 0x9d
-+	DLT_USER11                        = 0x9e
-+	DLT_USER12                        = 0x9f
-+	DLT_USER13                        = 0xa0
-+	DLT_USER14                        = 0xa1
-+	DLT_USER15                        = 0xa2
-+	DLT_USER2                         = 0x95
-+	DLT_USER3                         = 0x96
-+	DLT_USER4                         = 0x97
-+	DLT_USER5                         = 0x98
-+	DLT_USER6                         = 0x99
-+	DLT_USER7                         = 0x9a
-+	DLT_USER8                         = 0x9b
-+	DLT_USER9                         = 0x9c
- 	DT_BLK                            = 0x6
- 	DT_CHR                            = 0x2
- 	DT_DIR                            = 0x4
-@@ -324,6 +355,7 @@ const (
- 	ETHERTYPE_OS9NET                  = 0x7009
- 	ETHERTYPE_PACER                   = 0x80c6
- 	ETHERTYPE_PAE                     = 0x888e
-+	ETHERTYPE_PBB                     = 0x88e7
- 	ETHERTYPE_PCS                     = 0x4242
- 	ETHERTYPE_PLANNING                = 0x8044
- 	ETHERTYPE_PPP                     = 0x880b
-@@ -398,27 +430,38 @@ const (
- 	ETHER_CRC_POLY_LE                 = 0xedb88320
- 	ETHER_HDR_LEN                     = 0xe
- 	ETHER_MAX_DIX_LEN                 = 0x600
-+	ETHER_MAX_HARDMTU_LEN             = 0xff9b
- 	ETHER_MAX_LEN                     = 0x5ee
- 	ETHER_MIN_LEN                     = 0x40
- 	ETHER_TYPE_LEN                    = 0x2
- 	ETHER_VLAN_ENCAP_LEN              = 0x4
- 	EVFILT_AIO                        = -0x3
-+	EVFILT_DEVICE                     = -0x8
- 	EVFILT_PROC                       = -0x5
- 	EVFILT_READ                       = -0x1
- 	EVFILT_SIGNAL                     = -0x6
--	EVFILT_SYSCOUNT                   = 0x7
-+	EVFILT_SYSCOUNT                   = 0x8
- 	EVFILT_TIMER                      = -0x7
- 	EVFILT_VNODE                      = -0x4
- 	EVFILT_WRITE                      = -0x2
-+	EVL_ENCAPLEN                      = 0x4
-+	EVL_PRIO_BITS                     = 0xd
-+	EVL_PRIO_MAX                      = 0x7
-+	EVL_VLID_MASK                     = 0xfff
-+	EVL_VLID_MAX                      = 0xffe
-+	EVL_VLID_MIN                      = 0x1
-+	EVL_VLID_NULL                     = 0x0
- 	EV_ADD                            = 0x1
- 	EV_CLEAR                          = 0x20
- 	EV_DELETE                         = 0x2
- 	EV_DISABLE                        = 0x8
-+	EV_DISPATCH                       = 0x80
- 	EV_ENABLE                         = 0x4
- 	EV_EOF                            = 0x8000
- 	EV_ERROR                          = 0x4000
- 	EV_FLAG1                          = 0x2000
- 	EV_ONESHOT                        = 0x10
-+	EV_RECEIPT                        = 0x40
- 	EV_SYSFLAGS                       = 0xf000
- 	EXTA                              = 0x4b00
- 	EXTB                              = 0x9600
-@@ -432,6 +475,7 @@ const (
- 	F_GETFL                           = 0x3
- 	F_GETLK                           = 0x7
- 	F_GETOWN                          = 0x5
-+	F_ISATTY                          = 0xb
- 	F_OK                              = 0x0
- 	F_RDLCK                           = 0x1
- 	F_SETFD                           = 0x2
-@@ -442,13 +486,13 @@ const (
- 	F_UNLCK                           = 0x2
- 	F_WRLCK                           = 0x3
- 	HUPCL                             = 0x4000
-+	HW_MACHINE                        = 0x1
- 	ICANON                            = 0x100
- 	ICMP6_FILTER                      = 0x12
- 	ICRNL                             = 0x100
- 	IEXTEN                            = 0x400
- 	IFAN_ARRIVAL                      = 0x0
- 	IFAN_DEPARTURE                    = 0x1
--	IFA_ROUTE                         = 0x1
- 	IFF_ALLMULTI                      = 0x200
- 	IFF_BROADCAST                     = 0x2
- 	IFF_CANTCHANGE                    = 0x8e52
-@@ -459,12 +503,12 @@ const (
- 	IFF_LOOPBACK                      = 0x8
- 	IFF_MULTICAST                     = 0x8000
- 	IFF_NOARP                         = 0x80
--	IFF_NOTRAILERS                    = 0x20
- 	IFF_OACTIVE                       = 0x400
- 	IFF_POINTOPOINT                   = 0x10
- 	IFF_PROMISC                       = 0x100
- 	IFF_RUNNING                       = 0x40
- 	IFF_SIMPLEX                       = 0x800
-+	IFF_STATICARP                     = 0x20
- 	IFF_UP                            = 0x1
- 	IFNAMSIZ                          = 0x10
- 	IFT_1822                          = 0x2
-@@ -593,6 +637,7 @@ const (
- 	IFT_LINEGROUP                     = 0xd2
- 	IFT_LOCALTALK                     = 0x2a
- 	IFT_LOOP                          = 0x18
-+	IFT_MBIM                          = 0xfa
- 	IFT_MEDIAMAILOVERIP               = 0x8b
- 	IFT_MFSIGLINK                     = 0xa7
- 	IFT_MIOX25                        = 0x26
-@@ -717,8 +762,6 @@ const (
- 	IPPROTO_AH                        = 0x33
- 	IPPROTO_CARP                      = 0x70
- 	IPPROTO_DIVERT                    = 0x102
--	IPPROTO_DIVERT_INIT               = 0x2
--	IPPROTO_DIVERT_RESP               = 0x1
- 	IPPROTO_DONE                      = 0x101
- 	IPPROTO_DSTOPTS                   = 0x3c
- 	IPPROTO_EGP                       = 0x8
-@@ -775,6 +818,7 @@ const (
- 	IPV6_LEAVE_GROUP                  = 0xd
- 	IPV6_MAXHLIM                      = 0xff
- 	IPV6_MAXPACKET                    = 0xffff
-+	IPV6_MINHOPCOUNT                  = 0x41
- 	IPV6_MMTU                         = 0x500
- 	IPV6_MULTICAST_HOPS               = 0xa
- 	IPV6_MULTICAST_IF                 = 0x9
-@@ -814,12 +858,12 @@ const (
- 	IP_DEFAULT_MULTICAST_LOOP         = 0x1
- 	IP_DEFAULT_MULTICAST_TTL          = 0x1
- 	IP_DF                             = 0x4000
--	IP_DIVERTFL                       = 0x1022
- 	IP_DROP_MEMBERSHIP                = 0xd
- 	IP_ESP_NETWORK_LEVEL              = 0x16
- 	IP_ESP_TRANS_LEVEL                = 0x15
- 	IP_HDRINCL                        = 0x2
- 	IP_IPCOMP_LEVEL                   = 0x1d
-+	IP_IPDEFTTL                       = 0x25
- 	IP_IPSECFLOWINFO                  = 0x24
- 	IP_IPSEC_LOCAL_AUTH               = 0x1b
- 	IP_IPSEC_LOCAL_CRED               = 0x19
-@@ -853,13 +897,19 @@ const (
- 	IP_RETOPTS                        = 0x8
- 	IP_RF                             = 0x8000
- 	IP_RTABLE                         = 0x1021
-+	IP_SENDSRCADDR                    = 0x7
- 	IP_TOS                            = 0x3
- 	IP_TTL                            = 0x4
- 	ISIG                              = 0x80
- 	ISTRIP                            = 0x20
-+	IUCLC                             = 0x1000
- 	IXANY                             = 0x800
- 	IXOFF                             = 0x400
- 	IXON                              = 0x200
-+	KERN_HOSTNAME                     = 0xa
-+	KERN_OSRELEASE                    = 0x2
-+	KERN_OSTYPE                       = 0x1
-+	KERN_VERSION                      = 0x4
- 	LCNT_OVERLOAD_FLUSH               = 0x6
- 	LOCK_EX                           = 0x2
- 	LOCK_NB                           = 0x4
-@@ -873,25 +923,58 @@ const (
- 	MADV_SPACEAVAIL                   = 0x5
- 	MADV_WILLNEED                     = 0x3
- 	MAP_ANON                          = 0x1000
--	MAP_COPY                          = 0x4
-+	MAP_ANONYMOUS                     = 0x1000
-+	MAP_CONCEAL                       = 0x8000
-+	MAP_COPY                          = 0x2
- 	MAP_FILE                          = 0x0
- 	MAP_FIXED                         = 0x10
--	MAP_FLAGMASK                      = 0x1ff7
--	MAP_HASSEMAPHORE                  = 0x200
--	MAP_INHERIT                       = 0x80
-+	MAP_FLAGMASK                      = 0xfff7
-+	MAP_HASSEMAPHORE                  = 0x0
-+	MAP_INHERIT                       = 0x0
- 	MAP_INHERIT_COPY                  = 0x1
--	MAP_INHERIT_DONATE_COPY           = 0x3
- 	MAP_INHERIT_NONE                  = 0x2
- 	MAP_INHERIT_SHARE                 = 0x0
--	MAP_NOEXTEND                      = 0x100
--	MAP_NORESERVE                     = 0x40
-+	MAP_INHERIT_ZERO                  = 0x3
-+	MAP_NOEXTEND                      = 0x0
-+	MAP_NORESERVE                     = 0x0
- 	MAP_PRIVATE                       = 0x2
--	MAP_RENAME                        = 0x20
-+	MAP_RENAME                        = 0x0
- 	MAP_SHARED                        = 0x1
--	MAP_TRYFIXED                      = 0x400
-+	MAP_STACK                         = 0x4000
-+	MAP_TRYFIXED                      = 0x0
- 	MCL_CURRENT                       = 0x1
- 	MCL_FUTURE                        = 0x2
-+	MNT_ASYNC                         = 0x40
-+	MNT_DEFEXPORTED                   = 0x200
-+	MNT_DELEXPORT                     = 0x20000
-+	MNT_DOOMED                        = 0x8000000
-+	MNT_EXPORTANON                    = 0x400
-+	MNT_EXPORTED                      = 0x100
-+	MNT_EXRDONLY                      = 0x80
-+	MNT_FORCE                         = 0x80000
-+	MNT_LAZY                          = 0x3
-+	MNT_LOCAL                         = 0x1000
-+	MNT_NOATIME                       = 0x8000
-+	MNT_NODEV                         = 0x10
-+	MNT_NOEXEC                        = 0x4
-+	MNT_NOPERM                        = 0x20
-+	MNT_NOSUID                        = 0x8
-+	MNT_NOWAIT                        = 0x2
-+	MNT_QUOTA                         = 0x2000
-+	MNT_RDONLY                        = 0x1
-+	MNT_RELOAD                        = 0x40000
-+	MNT_ROOTFS                        = 0x4000
-+	MNT_SOFTDEP                       = 0x4000000
-+	MNT_STALLED                       = 0x100000
-+	MNT_SWAPPABLE                     = 0x200000
-+	MNT_SYNCHRONOUS                   = 0x2
-+	MNT_UPDATE                        = 0x10000
-+	MNT_VISFLAGMASK                   = 0x400ffff
-+	MNT_WAIT                          = 0x1
-+	MNT_WANTRDWR                      = 0x2000000
-+	MNT_WXALLOWED                     = 0x800
- 	MSG_BCAST                         = 0x100
-+	MSG_CMSG_CLOEXEC                  = 0x800
- 	MSG_CTRUNC                        = 0x20
- 	MSG_DONTROUTE                     = 0x4
- 	MSG_DONTWAIT                      = 0x80
-@@ -909,11 +992,15 @@ const (
- 	NET_RT_DUMP                       = 0x1
- 	NET_RT_FLAGS                      = 0x2
- 	NET_RT_IFLIST                     = 0x3
--	NET_RT_MAXID                      = 0x6
-+	NET_RT_IFNAMES                    = 0x6
-+	NET_RT_MAXID                      = 0x7
- 	NET_RT_STATS                      = 0x4
- 	NET_RT_TABLE                      = 0x5
-+	NFDBITS                           = 0x20
- 	NOFLSH                            = 0x80000000
-+	NOKERNINFO                        = 0x2000000
- 	NOTE_ATTRIB                       = 0x8
-+	NOTE_CHANGE                       = 0x1
- 	NOTE_CHILD                        = 0x4
- 	NOTE_DELETE                       = 0x1
- 	NOTE_EOF                          = 0x2
-@@ -932,11 +1019,13 @@ const (
- 	NOTE_TRUNCATE                     = 0x80
- 	NOTE_WRITE                        = 0x2
- 	OCRNL                             = 0x10
-+	OLCUC                             = 0x20
- 	ONLCR                             = 0x2
- 	ONLRET                            = 0x80
- 	ONOCR                             = 0x40
- 	ONOEOT                            = 0x8
- 	OPOST                             = 0x1
-+	OXTABS                            = 0x4
- 	O_ACCMODE                         = 0x3
- 	O_APPEND                          = 0x8
- 	O_ASYNC                           = 0x40
-@@ -974,23 +1063,32 @@ const (
- 	RLIMIT_CPU                        = 0x0
- 	RLIMIT_DATA                       = 0x2
- 	RLIMIT_FSIZE                      = 0x1
-+	RLIMIT_MEMLOCK                    = 0x6
- 	RLIMIT_NOFILE                     = 0x8
-+	RLIMIT_NPROC                      = 0x7
-+	RLIMIT_RSS                        = 0x5
- 	RLIMIT_STACK                      = 0x3
- 	RLIM_INFINITY                     = 0x7fffffffffffffff
- 	RTAX_AUTHOR                       = 0x6
-+	RTAX_BFD                          = 0xb
- 	RTAX_BRD                          = 0x7
-+	RTAX_DNS                          = 0xc
- 	RTAX_DST                          = 0x0
- 	RTAX_GATEWAY                      = 0x1
- 	RTAX_GENMASK                      = 0x3
- 	RTAX_IFA                          = 0x5
- 	RTAX_IFP                          = 0x4
- 	RTAX_LABEL                        = 0xa
--	RTAX_MAX                          = 0xb
-+	RTAX_MAX                          = 0xf
- 	RTAX_NETMASK                      = 0x2
-+	RTAX_SEARCH                       = 0xe
- 	RTAX_SRC                          = 0x8
- 	RTAX_SRCMASK                      = 0x9
-+	RTAX_STATIC                       = 0xd
- 	RTA_AUTHOR                        = 0x40
-+	RTA_BFD                           = 0x800
- 	RTA_BRD                           = 0x80
-+	RTA_DNS                           = 0x1000
- 	RTA_DST                           = 0x1
- 	RTA_GATEWAY                       = 0x2
- 	RTA_GENMASK                       = 0x8
-@@ -998,46 +1096,54 @@ const (
- 	RTA_IFP                           = 0x10
- 	RTA_LABEL                         = 0x400
- 	RTA_NETMASK                       = 0x4
-+	RTA_SEARCH                        = 0x4000
- 	RTA_SRC                           = 0x100
- 	RTA_SRCMASK                       = 0x200
-+	RTA_STATIC                        = 0x2000
- 	RTF_ANNOUNCE                      = 0x4000
-+	RTF_BFD                           = 0x1000000
- 	RTF_BLACKHOLE                     = 0x1000
-+	RTF_BROADCAST                     = 0x400000
-+	RTF_CACHED                        = 0x20000
- 	RTF_CLONED                        = 0x10000
- 	RTF_CLONING                       = 0x100
-+	RTF_CONNECTED                     = 0x800000
- 	RTF_DONE                          = 0x40
- 	RTF_DYNAMIC                       = 0x10
--	RTF_FMASK                         = 0x10f808
-+	RTF_FMASK                         = 0x110fc08
- 	RTF_GATEWAY                       = 0x2
- 	RTF_HOST                          = 0x4
- 	RTF_LLINFO                        = 0x400
--	RTF_MASK                          = 0x80
-+	RTF_LOCAL                         = 0x200000
- 	RTF_MODIFIED                      = 0x20
- 	RTF_MPATH                         = 0x40000
- 	RTF_MPLS                          = 0x100000
-+	RTF_MULTICAST                     = 0x200
- 	RTF_PERMANENT_ARP                 = 0x2000
- 	RTF_PROTO1                        = 0x8000
- 	RTF_PROTO2                        = 0x4000
- 	RTF_PROTO3                        = 0x2000
- 	RTF_REJECT                        = 0x8
--	RTF_SOURCE                        = 0x20000
- 	RTF_STATIC                        = 0x800
--	RTF_TUNNEL                        = 0x100000
- 	RTF_UP                            = 0x1
- 	RTF_USETRAILERS                   = 0x8000
--	RTF_XRESOLVE                      = 0x200
-+	RTM_80211INFO                     = 0x15
- 	RTM_ADD                           = 0x1
-+	RTM_BFD                           = 0x12
- 	RTM_CHANGE                        = 0x3
-+	RTM_CHGADDRATTR                   = 0x14
- 	RTM_DELADDR                       = 0xd
- 	RTM_DELETE                        = 0x2
- 	RTM_DESYNC                        = 0x10
- 	RTM_GET                           = 0x4
- 	RTM_IFANNOUNCE                    = 0xf
- 	RTM_IFINFO                        = 0xe
--	RTM_LOCK                          = 0x8
-+	RTM_INVALIDATE                    = 0x11
- 	RTM_LOSING                        = 0x5
- 	RTM_MAXSIZE                       = 0x800
- 	RTM_MISS                          = 0x7
- 	RTM_NEWADDR                       = 0xc
-+	RTM_PROPOSAL                      = 0x13
- 	RTM_REDIRECT                      = 0x6
- 	RTM_RESOLVE                       = 0xb
- 	RTM_RTTUNIT                       = 0xf4240
-@@ -1050,6 +1156,8 @@ const (
- 	RTV_RTTVAR                        = 0x80
- 	RTV_SPIPE                         = 0x10
- 	RTV_SSTHRESH                      = 0x20
-+	RT_TABLEID_BITS                   = 0x8
-+	RT_TABLEID_MASK                   = 0xff
- 	RT_TABLEID_MAX                    = 0xff
- 	RUSAGE_CHILDREN                   = -0x1
- 	RUSAGE_SELF                       = 0x0
-@@ -1062,55 +1170,57 @@ const (
- 	SIOCADDMULTI                      = 0x80206931
- 	SIOCAIFADDR                       = 0x8040691a
- 	SIOCAIFGROUP                      = 0x80286987
--	SIOCALIFADDR                      = 0x8218691c
- 	SIOCATMARK                        = 0x40047307
--	SIOCBRDGADD                       = 0x8058693c
--	SIOCBRDGADDS                      = 0x80586941
--	SIOCBRDGARL                       = 0x806e694d
-+	SIOCBRDGADD                       = 0x8060693c
-+	SIOCBRDGADDL                      = 0x80606949
-+	SIOCBRDGADDS                      = 0x80606941
-+	SIOCBRDGARL                       = 0x808c694d
- 	SIOCBRDGDADDR                     = 0x81286947
--	SIOCBRDGDEL                       = 0x8058693d
--	SIOCBRDGDELS                      = 0x80586942
--	SIOCBRDGFLUSH                     = 0x80586948
--	SIOCBRDGFRL                       = 0x806e694e
--	SIOCBRDGGCACHE                    = 0xc0146941
--	SIOCBRDGGFD                       = 0xc0146952
--	SIOCBRDGGHT                       = 0xc0146951
--	SIOCBRDGGIFFLGS                   = 0xc058693e
--	SIOCBRDGGMA                       = 0xc0146953
-+	SIOCBRDGDEL                       = 0x8060693d
-+	SIOCBRDGDELS                      = 0x80606942
-+	SIOCBRDGFLUSH                     = 0x80606948
-+	SIOCBRDGFRL                       = 0x808c694e
-+	SIOCBRDGGCACHE                    = 0xc0186941
-+	SIOCBRDGGFD                       = 0xc0186952
-+	SIOCBRDGGHT                       = 0xc0186951
-+	SIOCBRDGGIFFLGS                   = 0xc060693e
-+	SIOCBRDGGMA                       = 0xc0186953
- 	SIOCBRDGGPARAM                    = 0xc0406958
--	SIOCBRDGGPRI                      = 0xc0146950
-+	SIOCBRDGGPRI                      = 0xc0186950
- 	SIOCBRDGGRL                       = 0xc030694f
--	SIOCBRDGGSIFS                     = 0xc058693c
--	SIOCBRDGGTO                       = 0xc0146946
--	SIOCBRDGIFS                       = 0xc0586942
-+	SIOCBRDGGTO                       = 0xc0186946
-+	SIOCBRDGIFS                       = 0xc0606942
- 	SIOCBRDGRTS                       = 0xc0206943
- 	SIOCBRDGSADDR                     = 0xc1286944
--	SIOCBRDGSCACHE                    = 0x80146940
--	SIOCBRDGSFD                       = 0x80146952
--	SIOCBRDGSHT                       = 0x80146951
--	SIOCBRDGSIFCOST                   = 0x80586955
--	SIOCBRDGSIFFLGS                   = 0x8058693f
--	SIOCBRDGSIFPRIO                   = 0x80586954
--	SIOCBRDGSMA                       = 0x80146953
--	SIOCBRDGSPRI                      = 0x80146950
--	SIOCBRDGSPROTO                    = 0x8014695a
--	SIOCBRDGSTO                       = 0x80146945
--	SIOCBRDGSTXHC                     = 0x80146959
-+	SIOCBRDGSCACHE                    = 0x80186940
-+	SIOCBRDGSFD                       = 0x80186952
-+	SIOCBRDGSHT                       = 0x80186951
-+	SIOCBRDGSIFCOST                   = 0x80606955
-+	SIOCBRDGSIFFLGS                   = 0x8060693f
-+	SIOCBRDGSIFPRIO                   = 0x80606954
-+	SIOCBRDGSIFPROT                   = 0x8060694a
-+	SIOCBRDGSMA                       = 0x80186953
-+	SIOCBRDGSPRI                      = 0x80186950
-+	SIOCBRDGSPROTO                    = 0x8018695a
-+	SIOCBRDGSTO                       = 0x80186945
-+	SIOCBRDGSTXHC                     = 0x80186959
-+	SIOCDELLABEL                      = 0x80206997
- 	SIOCDELMULTI                      = 0x80206932
- 	SIOCDIFADDR                       = 0x80206919
- 	SIOCDIFGROUP                      = 0x80286989
-+	SIOCDIFPARENT                     = 0x802069b4
- 	SIOCDIFPHYADDR                    = 0x80206949
--	SIOCDLIFADDR                      = 0x8218691e
-+	SIOCDPWE3NEIGHBOR                 = 0x802069de
-+	SIOCDVNETID                       = 0x802069af
- 	SIOCGETKALIVE                     = 0xc01869a4
- 	SIOCGETLABEL                      = 0x8020699a
-+	SIOCGETMPWCFG                     = 0xc02069ae
- 	SIOCGETPFLOW                      = 0xc02069fe
- 	SIOCGETPFSYNC                     = 0xc02069f8
- 	SIOCGETSGCNT                      = 0xc0207534
- 	SIOCGETVIFCNT                     = 0xc0287533
- 	SIOCGETVLAN                       = 0xc0206990
--	SIOCGHIWAT                        = 0x40047301
- 	SIOCGIFADDR                       = 0xc0206921
--	SIOCGIFASYNCMAP                   = 0xc020697c
- 	SIOCGIFBRDADDR                    = 0xc0206923
- 	SIOCGIFCONF                       = 0xc0106924
- 	SIOCGIFDATA                       = 0xc020691b
-@@ -1119,40 +1229,52 @@ const (
- 	SIOCGIFFLAGS                      = 0xc0206911
- 	SIOCGIFGATTR                      = 0xc028698b
- 	SIOCGIFGENERIC                    = 0xc020693a
-+	SIOCGIFGLIST                      = 0xc028698d
- 	SIOCGIFGMEMB                      = 0xc028698a
- 	SIOCGIFGROUP                      = 0xc0286988
- 	SIOCGIFHARDMTU                    = 0xc02069a5
--	SIOCGIFMEDIA                      = 0xc0306936
-+	SIOCGIFLLPRIO                     = 0xc02069b6
-+	SIOCGIFMEDIA                      = 0xc0406938
- 	SIOCGIFMETRIC                     = 0xc0206917
- 	SIOCGIFMTU                        = 0xc020697e
- 	SIOCGIFNETMASK                    = 0xc0206925
--	SIOCGIFPDSTADDR                   = 0xc0206948
-+	SIOCGIFPAIR                       = 0xc02069b1
-+	SIOCGIFPARENT                     = 0xc02069b3
- 	SIOCGIFPRIORITY                   = 0xc020699c
--	SIOCGIFPSRCADDR                   = 0xc0206947
- 	SIOCGIFRDOMAIN                    = 0xc02069a0
- 	SIOCGIFRTLABEL                    = 0xc0206983
--	SIOCGIFTIMESLOT                   = 0xc0206986
-+	SIOCGIFRXR                        = 0x802069aa
-+	SIOCGIFSFFPAGE                    = 0xc1126939
- 	SIOCGIFXFLAGS                     = 0xc020699e
--	SIOCGLIFADDR                      = 0xc218691d
- 	SIOCGLIFPHYADDR                   = 0xc218694b
-+	SIOCGLIFPHYDF                     = 0xc02069c2
-+	SIOCGLIFPHYECN                    = 0xc02069c8
- 	SIOCGLIFPHYRTABLE                 = 0xc02069a2
- 	SIOCGLIFPHYTTL                    = 0xc02069a9
--	SIOCGLOWAT                        = 0x40047303
- 	SIOCGPGRP                         = 0x40047309
-+	SIOCGPWE3                         = 0xc0206998
-+	SIOCGPWE3CTRLWORD                 = 0xc02069dc
-+	SIOCGPWE3FAT                      = 0xc02069dd
-+	SIOCGPWE3NEIGHBOR                 = 0xc21869de
- 	SIOCGSPPPPARAMS                   = 0xc0206994
-+	SIOCGTXHPRIO                      = 0xc02069c6
-+	SIOCGUMBINFO                      = 0xc02069be
-+	SIOCGUMBPARAM                     = 0xc02069c0
- 	SIOCGVH                           = 0xc02069f6
-+	SIOCGVNETFLOWID                   = 0xc02069c4
- 	SIOCGVNETID                       = 0xc02069a7
-+	SIOCIFAFATTACH                    = 0x801169ab
-+	SIOCIFAFDETACH                    = 0x801169ac
- 	SIOCIFCREATE                      = 0x8020697a
- 	SIOCIFDESTROY                     = 0x80206979
- 	SIOCIFGCLONERS                    = 0xc0106978
- 	SIOCSETKALIVE                     = 0x801869a3
- 	SIOCSETLABEL                      = 0x80206999
-+	SIOCSETMPWCFG                     = 0x802069ad
- 	SIOCSETPFLOW                      = 0x802069fd
- 	SIOCSETPFSYNC                     = 0x802069f7
- 	SIOCSETVLAN                       = 0x8020698f
--	SIOCSHIWAT                        = 0x80047300
- 	SIOCSIFADDR                       = 0x8020690c
--	SIOCSIFASYNCMAP                   = 0x8020697d
- 	SIOCSIFBRDADDR                    = 0x80206913
- 	SIOCSIFDESCR                      = 0x80206980
- 	SIOCSIFDSTADDR                    = 0x8020690e
-@@ -1160,25 +1282,41 @@ const (
- 	SIOCSIFGATTR                      = 0x8028698c
- 	SIOCSIFGENERIC                    = 0x80206939
- 	SIOCSIFLLADDR                     = 0x8020691f
--	SIOCSIFMEDIA                      = 0xc0206935
-+	SIOCSIFLLPRIO                     = 0x802069b5
-+	SIOCSIFMEDIA                      = 0xc0206937
- 	SIOCSIFMETRIC                     = 0x80206918
- 	SIOCSIFMTU                        = 0x8020697f
- 	SIOCSIFNETMASK                    = 0x80206916
--	SIOCSIFPHYADDR                    = 0x80406946
-+	SIOCSIFPAIR                       = 0x802069b0
-+	SIOCSIFPARENT                     = 0x802069b2
- 	SIOCSIFPRIORITY                   = 0x8020699b
- 	SIOCSIFRDOMAIN                    = 0x8020699f
- 	SIOCSIFRTLABEL                    = 0x80206982
--	SIOCSIFTIMESLOT                   = 0x80206985
- 	SIOCSIFXFLAGS                     = 0x8020699d
- 	SIOCSLIFPHYADDR                   = 0x8218694a
-+	SIOCSLIFPHYDF                     = 0x802069c1
-+	SIOCSLIFPHYECN                    = 0x802069c7
- 	SIOCSLIFPHYRTABLE                 = 0x802069a1
- 	SIOCSLIFPHYTTL                    = 0x802069a8
--	SIOCSLOWAT                        = 0x80047302
- 	SIOCSPGRP                         = 0x80047308
-+	SIOCSPWE3CTRLWORD                 = 0x802069dc
-+	SIOCSPWE3FAT                      = 0x802069dd
-+	SIOCSPWE3NEIGHBOR                 = 0x821869de
- 	SIOCSSPPPPARAMS                   = 0x80206993
-+	SIOCSTXHPRIO                      = 0x802069c5
-+	SIOCSUMBPARAM                     = 0x802069bf
- 	SIOCSVH                           = 0xc02069f5
-+	SIOCSVNETFLOWID                   = 0x802069c3
- 	SIOCSVNETID                       = 0x802069a6
-+	SIOCSWGDPID                       = 0xc018695b
-+	SIOCSWGMAXFLOW                    = 0xc0186960
-+	SIOCSWGMAXGROUP                   = 0xc018695d
-+	SIOCSWSDPID                       = 0x8018695c
-+	SIOCSWSPORTNO                     = 0xc060695f
-+	SOCK_CLOEXEC                      = 0x8000
- 	SOCK_DGRAM                        = 0x2
-+	SOCK_DNS                          = 0x1000
-+	SOCK_NONBLOCK                     = 0x4000
- 	SOCK_RAW                          = 0x3
- 	SOCK_RDM                          = 0x4
- 	SOCK_SEQPACKET                    = 0x5
-@@ -1209,9 +1347,42 @@ const (
- 	SO_TIMESTAMP                      = 0x800
- 	SO_TYPE                           = 0x1008
- 	SO_USELOOPBACK                    = 0x40
-+	SO_ZEROIZE                        = 0x2000
-+	S_BLKSIZE                         = 0x200
-+	S_IEXEC                           = 0x40
-+	S_IFBLK                           = 0x6000
-+	S_IFCHR                           = 0x2000
-+	S_IFDIR                           = 0x4000
-+	S_IFIFO                           = 0x1000
-+	S_IFLNK                           = 0xa000
-+	S_IFMT                            = 0xf000
-+	S_IFREG                           = 0x8000
-+	S_IFSOCK                          = 0xc000
-+	S_IREAD                           = 0x100
-+	S_IRGRP                           = 0x20
-+	S_IROTH                           = 0x4
-+	S_IRUSR                           = 0x100
-+	S_IRWXG                           = 0x38
-+	S_IRWXO                           = 0x7
-+	S_IRWXU                           = 0x1c0
-+	S_ISGID                           = 0x400
-+	S_ISTXT                           = 0x200
-+	S_ISUID                           = 0x800
-+	S_ISVTX                           = 0x200
-+	S_IWGRP                           = 0x10
-+	S_IWOTH                           = 0x2
-+	S_IWRITE                          = 0x80
-+	S_IWUSR                           = 0x80
-+	S_IXGRP                           = 0x8
-+	S_IXOTH                           = 0x1
-+	S_IXUSR                           = 0x40
- 	TCIFLUSH                          = 0x1
-+	TCIOFF                            = 0x3
- 	TCIOFLUSH                         = 0x3
-+	TCION                             = 0x4
- 	TCOFLUSH                          = 0x2
-+	TCOOFF                            = 0x1
-+	TCOON                             = 0x2
- 	TCP_MAXBURST                      = 0x4
- 	TCP_MAXSEG                        = 0x2
- 	TCP_MAXWIN                        = 0xffff
-@@ -1221,11 +1392,14 @@ const (
- 	TCP_MSS                           = 0x200
- 	TCP_NODELAY                       = 0x1
- 	TCP_NOPUSH                        = 0x10
--	TCP_NSTATES                       = 0xb
- 	TCP_SACK_ENABLE                   = 0x8
- 	TCSAFLUSH                         = 0x2
-+	TIMER_ABSTIME                     = 0x1
-+	TIMER_RELTIME                     = 0x0
- 	TIOCCBRK                          = 0x2000747a
- 	TIOCCDTR                          = 0x20007478
-+	TIOCCHKVERAUTH                    = 0x2000741e
-+	TIOCCLRVERAUTH                    = 0x2000741d
- 	TIOCCONS                          = 0x80047462
- 	TIOCDRAIN                         = 0x2000745e
- 	TIOCEXCL                          = 0x2000740d
-@@ -1280,17 +1454,21 @@ const (
- 	TIOCSETAF                         = 0x802c7416
- 	TIOCSETAW                         = 0x802c7415
- 	TIOCSETD                          = 0x8004741b
-+	TIOCSETVERAUTH                    = 0x8004741c
- 	TIOCSFLAGS                        = 0x8004745c
- 	TIOCSIG                           = 0x8004745f
- 	TIOCSPGRP                         = 0x80047476
- 	TIOCSTART                         = 0x2000746e
--	TIOCSTAT                          = 0x80047465
--	TIOCSTI                           = 0x80017472
-+	TIOCSTAT                          = 0x20007465
- 	TIOCSTOP                          = 0x2000746f
- 	TIOCSTSTAMP                       = 0x8008745a
- 	TIOCSWINSZ                        = 0x80087467
- 	TIOCUCNTL                         = 0x80047466
-+	TIOCUCNTL_CBRK                    = 0x7a
-+	TIOCUCNTL_SBRK                    = 0x7b
- 	TOSTOP                            = 0x400000
-+	UTIME_NOW                         = -0x2
-+	UTIME_OMIT                        = -0x1
- 	VDISCARD                          = 0xf
- 	VDSUSP                            = 0xb
- 	VEOF                              = 0x0
-@@ -1301,6 +1479,19 @@ const (
- 	VKILL                             = 0x5
- 	VLNEXT                            = 0xe
- 	VMIN                              = 0x10
-+	VM_ANONMIN                        = 0x7
-+	VM_LOADAVG                        = 0x2
-+	VM_MALLOC_CONF                    = 0xc
-+	VM_MAXID                          = 0xd
-+	VM_MAXSLP                         = 0xa
-+	VM_METER                          = 0x1
-+	VM_NKMEMPAGES                     = 0x6
-+	VM_PSSTRINGS                      = 0x3
-+	VM_SWAPENCRYPT                    = 0x5
-+	VM_USPACE                         = 0xb
-+	VM_UVMEXP                         = 0x4
-+	VM_VNODEMIN                       = 0x9
-+	VM_VTEXTMIN                       = 0x8
- 	VQUIT                             = 0x9
- 	VREPRINT                          = 0x6
- 	VSTART                            = 0xc
-@@ -1313,8 +1504,8 @@ const (
- 	WCONTINUED                        = 0x8
- 	WCOREFLAG                         = 0x80
- 	WNOHANG                           = 0x1
--	WSTOPPED                          = 0x7f
- 	WUNTRACED                         = 0x2
-+	XCASE                             = 0x1000000
- )
- 
- // Errors
-@@ -1328,6 +1519,7 @@ const (
- 	EALREADY        = syscall.Errno(0x25)
- 	EAUTH           = syscall.Errno(0x50)
- 	EBADF           = syscall.Errno(0x9)
-+	EBADMSG         = syscall.Errno(0x5c)
- 	EBADRPC         = syscall.Errno(0x48)
- 	EBUSY           = syscall.Errno(0x10)
- 	ECANCELED       = syscall.Errno(0x58)
-@@ -1354,7 +1546,7 @@ const (
- 	EIPSEC          = syscall.Errno(0x52)
- 	EISCONN         = syscall.Errno(0x38)
- 	EISDIR          = syscall.Errno(0x15)
--	ELAST           = syscall.Errno(0x5b)
-+	ELAST           = syscall.Errno(0x5f)
- 	ELOOP           = syscall.Errno(0x3e)
- 	EMEDIUMTYPE     = syscall.Errno(0x56)
- 	EMFILE          = syscall.Errno(0x18)
-@@ -1382,12 +1574,14 @@ const (
- 	ENOTCONN        = syscall.Errno(0x39)
- 	ENOTDIR         = syscall.Errno(0x14)
- 	ENOTEMPTY       = syscall.Errno(0x42)
-+	ENOTRECOVERABLE = syscall.Errno(0x5d)
- 	ENOTSOCK        = syscall.Errno(0x26)
- 	ENOTSUP         = syscall.Errno(0x5b)
- 	ENOTTY          = syscall.Errno(0x19)
- 	ENXIO           = syscall.Errno(0x6)
- 	EOPNOTSUPP      = syscall.Errno(0x2d)
- 	EOVERFLOW       = syscall.Errno(0x57)
-+	EOWNERDEAD      = syscall.Errno(0x5e)
- 	EPERM           = syscall.Errno(0x1)
- 	EPFNOSUPPORT    = syscall.Errno(0x2e)
- 	EPIPE           = syscall.Errno(0x20)
-@@ -1395,6 +1589,7 @@ const (
- 	EPROCUNAVAIL    = syscall.Errno(0x4c)
- 	EPROGMISMATCH   = syscall.Errno(0x4b)
- 	EPROGUNAVAIL    = syscall.Errno(0x4a)
-+	EPROTO          = syscall.Errno(0x5f)
- 	EPROTONOSUPPORT = syscall.Errno(0x2b)
- 	EPROTOTYPE      = syscall.Errno(0x29)
- 	ERANGE          = syscall.Errno(0x22)
-@@ -1452,132 +1647,144 @@ const (
- )
- 
- // Error table
--var errors = [...]string{
--	1:  "operation not permitted",
--	2:  "no such file or directory",
--	3:  "no such process",
--	4:  "interrupted system call",
--	5:  "input/output error",
--	6:  "device not configured",
--	7:  "argument list too long",
--	8:  "exec format error",
--	9:  "bad file descriptor",
--	10: "no child processes",
--	11: "resource deadlock avoided",
--	12: "cannot allocate memory",
--	13: "permission denied",
--	14: "bad address",
--	15: "block device required",
--	16: "device busy",
--	17: "file exists",
--	18: "cross-device link",
--	19: "operation not supported by device",
--	20: "not a directory",
--	21: "is a directory",
--	22: "invalid argument",
--	23: "too many open files in system",
--	24: "too many open files",
--	25: "inappropriate ioctl for device",
--	26: "text file busy",
--	27: "file too large",
--	28: "no space left on device",
--	29: "illegal seek",
--	30: "read-only file system",
--	31: "too many links",
--	32: "broken pipe",
--	33: "numerical argument out of domain",
--	34: "result too large",
--	35: "resource temporarily unavailable",
--	36: "operation now in progress",
--	37: "operation already in progress",
--	38: "socket operation on non-socket",
--	39: "destination address required",
--	40: "message too long",
--	41: "protocol wrong type for socket",
--	42: "protocol not available",
--	43: "protocol not supported",
--	44: "socket type not supported",
--	45: "operation not supported",
--	46: "protocol family not supported",
--	47: "address family not supported by protocol family",
--	48: "address already in use",
--	49: "can't assign requested address",
--	50: "network is down",
--	51: "network is unreachable",
--	52: "network dropped connection on reset",
--	53: "software caused connection abort",
--	54: "connection reset by peer",
--	55: "no buffer space available",
--	56: "socket is already connected",
--	57: "socket is not connected",
--	58: "can't send after socket shutdown",
--	59: "too many references: can't splice",
--	60: "connection timed out",
--	61: "connection refused",
--	62: "too many levels of symbolic links",
--	63: "file name too long",
--	64: "host is down",
--	65: "no route to host",
--	66: "directory not empty",
--	67: "too many processes",
--	68: "too many users",
--	69: "disc quota exceeded",
--	70: "stale NFS file handle",
--	71: "too many levels of remote in path",
--	72: "RPC struct is bad",
--	73: "RPC version wrong",
--	74: "RPC prog. not avail",
--	75: "program version wrong",
--	76: "bad procedure for program",
--	77: "no locks available",
--	78: "function not implemented",
--	79: "inappropriate file type or format",
--	80: "authentication error",
--	81: "need authenticator",
--	82: "IPsec processing failure",
--	83: "attribute not found",
--	84: "illegal byte sequence",
--	85: "no medium found",
--	86: "wrong medium type",
--	87: "value too large to be stored in data type",
--	88: "operation canceled",
--	89: "identifier removed",
--	90: "no message of desired type",
--	91: "not supported",
-+var errorList = [...]struct {
-+	num  syscall.Errno
-+	name string
-+	desc string
-+}{
-+	{1, "EPERM", "operation not permitted"},
-+	{2, "ENOENT", "no such file or directory"},
-+	{3, "ESRCH", "no such process"},
-+	{4, "EINTR", "interrupted system call"},
-+	{5, "EIO", "input/output error"},
-+	{6, "ENXIO", "device not configured"},
-+	{7, "E2BIG", "argument list too long"},
-+	{8, "ENOEXEC", "exec format error"},
-+	{9, "EBADF", "bad file descriptor"},
-+	{10, "ECHILD", "no child processes"},
-+	{11, "EDEADLK", "resource deadlock avoided"},
-+	{12, "ENOMEM", "cannot allocate memory"},
-+	{13, "EACCES", "permission denied"},
-+	{14, "EFAULT", "bad address"},
-+	{15, "ENOTBLK", "block device required"},
-+	{16, "EBUSY", "device busy"},
-+	{17, "EEXIST", "file exists"},
-+	{18, "EXDEV", "cross-device link"},
-+	{19, "ENODEV", "operation not supported by device"},
-+	{20, "ENOTDIR", "not a directory"},
-+	{21, "EISDIR", "is a directory"},
-+	{22, "EINVAL", "invalid argument"},
-+	{23, "ENFILE", "too many open files in system"},
-+	{24, "EMFILE", "too many open files"},
-+	{25, "ENOTTY", "inappropriate ioctl for device"},
-+	{26, "ETXTBSY", "text file busy"},
-+	{27, "EFBIG", "file too large"},
-+	{28, "ENOSPC", "no space left on device"},
-+	{29, "ESPIPE", "illegal seek"},
-+	{30, "EROFS", "read-only file system"},
-+	{31, "EMLINK", "too many links"},
-+	{32, "EPIPE", "broken pipe"},
-+	{33, "EDOM", "numerical argument out of domain"},
-+	{34, "ERANGE", "result too large"},
-+	{35, "EAGAIN", "resource temporarily unavailable"},
-+	{36, "EINPROGRESS", "operation now in progress"},
-+	{37, "EALREADY", "operation already in progress"},
-+	{38, "ENOTSOCK", "socket operation on non-socket"},
-+	{39, "EDESTADDRREQ", "destination address required"},
-+	{40, "EMSGSIZE", "message too long"},
-+	{41, "EPROTOTYPE", "protocol wrong type for socket"},
-+	{42, "ENOPROTOOPT", "protocol not available"},
-+	{43, "EPROTONOSUPPORT", "protocol not supported"},
-+	{44, "ESOCKTNOSUPPORT", "socket type not supported"},
-+	{45, "EOPNOTSUPP", "operation not supported"},
-+	{46, "EPFNOSUPPORT", "protocol family not supported"},
-+	{47, "EAFNOSUPPORT", "address family not supported by protocol family"},
-+	{48, "EADDRINUSE", "address already in use"},
-+	{49, "EADDRNOTAVAIL", "can't assign requested address"},
-+	{50, "ENETDOWN", "network is down"},
-+	{51, "ENETUNREACH", "network is unreachable"},
-+	{52, "ENETRESET", "network dropped connection on reset"},
-+	{53, "ECONNABORTED", "software caused connection abort"},
-+	{54, "ECONNRESET", "connection reset by peer"},
-+	{55, "ENOBUFS", "no buffer space available"},
-+	{56, "EISCONN", "socket is already connected"},
-+	{57, "ENOTCONN", "socket is not connected"},
-+	{58, "ESHUTDOWN", "can't send after socket shutdown"},
-+	{59, "ETOOMANYREFS", "too many references: can't splice"},
-+	{60, "ETIMEDOUT", "operation timed out"},
-+	{61, "ECONNREFUSED", "connection refused"},
-+	{62, "ELOOP", "too many levels of symbolic links"},
-+	{63, "ENAMETOOLONG", "file name too long"},
-+	{64, "EHOSTDOWN", "host is down"},
-+	{65, "EHOSTUNREACH", "no route to host"},
-+	{66, "ENOTEMPTY", "directory not empty"},
-+	{67, "EPROCLIM", "too many processes"},
-+	{68, "EUSERS", "too many users"},
-+	{69, "EDQUOT", "disk quota exceeded"},
-+	{70, "ESTALE", "stale NFS file handle"},
-+	{71, "EREMOTE", "too many levels of remote in path"},
-+	{72, "EBADRPC", "RPC struct is bad"},
-+	{73, "ERPCMISMATCH", "RPC version wrong"},
-+	{74, "EPROGUNAVAIL", "RPC program not available"},
-+	{75, "EPROGMISMATCH", "program version wrong"},
-+	{76, "EPROCUNAVAIL", "bad procedure for program"},
-+	{77, "ENOLCK", "no locks available"},
-+	{78, "ENOSYS", "function not implemented"},
-+	{79, "EFTYPE", "inappropriate file type or format"},
-+	{80, "EAUTH", "authentication error"},
-+	{81, "ENEEDAUTH", "need authenticator"},
-+	{82, "EIPSEC", "IPsec processing failure"},
-+	{83, "ENOATTR", "attribute not found"},
-+	{84, "EILSEQ", "illegal byte sequence"},
-+	{85, "ENOMEDIUM", "no medium found"},
-+	{86, "EMEDIUMTYPE", "wrong medium type"},
-+	{87, "EOVERFLOW", "value too large to be stored in data type"},
-+	{88, "ECANCELED", "operation canceled"},
-+	{89, "EIDRM", "identifier removed"},
-+	{90, "ENOMSG", "no message of desired type"},
-+	{91, "ENOTSUP", "not supported"},
-+	{92, "EBADMSG", "bad message"},
-+	{93, "ENOTRECOVERABLE", "state not recoverable"},
-+	{94, "EOWNERDEAD", "previous owner died"},
-+	{95, "ELAST", "protocol error"},
- }
- 
- // Signal table
--var signals = [...]string{
--	1:  "hangup",
--	2:  "interrupt",
--	3:  "quit",
--	4:  "illegal instruction",
--	5:  "trace/BPT trap",
--	6:  "abort trap",
--	7:  "EMT trap",
--	8:  "floating point exception",
--	9:  "killed",
--	10: "bus error",
--	11: "segmentation fault",
--	12: "bad system call",
--	13: "broken pipe",
--	14: "alarm clock",
--	15: "terminated",
--	16: "urgent I/O condition",
--	17: "stopped (signal)",
--	18: "stopped",
--	19: "continued",
--	20: "child exited",
--	21: "stopped (tty input)",
--	22: "stopped (tty output)",
--	23: "I/O possible",
--	24: "cputime limit exceeded",
--	25: "filesize limit exceeded",
--	26: "virtual timer expired",
--	27: "profiling timer expired",
--	28: "window size changes",
--	29: "information request",
--	30: "user defined signal 1",
--	31: "user defined signal 2",
--	32: "thread AST",
-+var signalList = [...]struct {
-+	num  syscall.Signal
-+	name string
-+	desc string
-+}{
-+	{1, "SIGHUP", "hangup"},
-+	{2, "SIGINT", "interrupt"},
-+	{3, "SIGQUIT", "quit"},
-+	{4, "SIGILL", "illegal instruction"},
-+	{5, "SIGTRAP", "trace/BPT trap"},
-+	{6, "SIGABRT", "abort trap"},
-+	{7, "SIGEMT", "EMT trap"},
-+	{8, "SIGFPE", "floating point exception"},
-+	{9, "SIGKILL", "killed"},
-+	{10, "SIGBUS", "bus error"},
-+	{11, "SIGSEGV", "segmentation fault"},
-+	{12, "SIGSYS", "bad system call"},
-+	{13, "SIGPIPE", "broken pipe"},
-+	{14, "SIGALRM", "alarm clock"},
-+	{15, "SIGTERM", "terminated"},
-+	{16, "SIGURG", "urgent I/O condition"},
-+	{17, "SIGSTOP", "suspended (signal)"},
-+	{18, "SIGTSTP", "suspended"},
-+	{19, "SIGCONT", "continued"},
-+	{20, "SIGCHLD", "child exited"},
-+	{21, "SIGTTIN", "stopped (tty input)"},
-+	{22, "SIGTTOU", "stopped (tty output)"},
-+	{23, "SIGIO", "I/O possible"},
-+	{24, "SIGXCPU", "cputime limit exceeded"},
-+	{25, "SIGXFSZ", "filesize limit exceeded"},
-+	{26, "SIGVTALRM", "virtual timer expired"},
-+	{27, "SIGPROF", "profiling timer expired"},
-+	{28, "SIGWINCH", "window size changes"},
-+	{29, "SIGINFO", "information request"},
-+	{30, "SIGUSR1", "user defined signal 1"},
-+	{31, "SIGUSR2", "user defined signal 2"},
-+	{32, "SIGTHR", "thread AST"},
- }
-diff --git a/vendor/golang.org/x/sys/unix/zerrors_solaris_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_solaris_amd64.go
-index 81e83d78..46e054cc 100644
---- a/vendor/golang.org/x/sys/unix/zerrors_solaris_amd64.go
-+++ b/vendor/golang.org/x/sys/unix/zerrors_solaris_amd64.go
-@@ -3,7 +3,7 @@
- 
- // +build amd64,solaris
- 
--// Created by cgo -godefs - DO NOT EDIT
-+// Code generated by cmd/cgo -godefs; DO NOT EDIT.
- // cgo -godefs -- -m64 _const.go
- 
- package unix
-@@ -664,6 +664,9 @@ const (
- 	MS_OLDSYNC                    = 0x0
- 	MS_SYNC                       = 0x4
- 	M_FLUSH                       = 0x86
-+	NAME_MAX                      = 0xff
-+	NEWDEV                        = 0x1
-+	NFDBITS                       = 0x40
- 	NL0                           = 0x0
- 	NL1                           = 0x100
- 	NLDLY                         = 0x100
-@@ -672,6 +675,9 @@ const (
- 	OFDEL                         = 0x80
- 	OFILL                         = 0x40
- 	OLCUC                         = 0x2
-+	OLDDEV                        = 0x0
-+	ONBITSMAJOR                   = 0x7
-+	ONBITSMINOR                   = 0x8
- 	ONLCR                         = 0x4
- 	ONLRET                        = 0x20
- 	ONOCR                         = 0x10
-@@ -991,6 +997,39 @@ const (
- 	SO_USELOOPBACK                = 0x40
- 	SO_VRRP                       = 0x1017
- 	SO_WROFF                      = 0x2
-+	S_ENFMT                       = 0x400
-+	S_IAMB                        = 0x1ff
-+	S_IEXEC                       = 0x40
-+	S_IFBLK                       = 0x6000
-+	S_IFCHR                       = 0x2000
-+	S_IFDIR                       = 0x4000
-+	S_IFDOOR                      = 0xd000
-+	S_IFIFO                       = 0x1000
-+	S_IFLNK                       = 0xa000
-+	S_IFMT                        = 0xf000
-+	S_IFNAM                       = 0x5000
-+	S_IFPORT                      = 0xe000
-+	S_IFREG                       = 0x8000
-+	S_IFSOCK                      = 0xc000
-+	S_INSEM                       = 0x1
-+	S_INSHD                       = 0x2
-+	S_IREAD                       = 0x100
-+	S_IRGRP                       = 0x20
-+	S_IROTH                       = 0x4
-+	S_IRUSR                       = 0x100
-+	S_IRWXG                       = 0x38
-+	S_IRWXO                       = 0x7
-+	S_IRWXU                       = 0x1c0
-+	S_ISGID                       = 0x400
-+	S_ISUID                       = 0x800
-+	S_ISVTX                       = 0x200
-+	S_IWGRP                       = 0x10
-+	S_IWOTH                       = 0x2
-+	S_IWRITE                      = 0x80
-+	S_IWUSR                       = 0x80
-+	S_IXGRP                       = 0x8
-+	S_IXOTH                       = 0x1
-+	S_IXUSR                       = 0x40
- 	TAB0                          = 0x0
- 	TAB1                          = 0x800
- 	TAB2                          = 0x1000
-@@ -1097,6 +1136,8 @@ const (
- 	TIOCSTOP                      = 0x746f
- 	TIOCSWINSZ                    = 0x5467
- 	TOSTOP                        = 0x100
-+	UTIME_NOW                     = -0x1
-+	UTIME_OMIT                    = -0x2
- 	VCEOF                         = 0x8
- 	VCEOL                         = 0x9
- 	VDISCARD                      = 0xd
-@@ -1105,6 +1146,7 @@ const (
- 	VEOL                          = 0x5
- 	VEOL2                         = 0x6
- 	VERASE                        = 0x2
-+	VERASE2                       = 0x11
- 	VINTR                         = 0x0
- 	VKILL                         = 0x3
- 	VLNEXT                        = 0xf
-@@ -1313,171 +1355,179 @@ const (
- )
- 
- // Error table
--var errors = [...]string{
--	1:   "not owner",
--	2:   "no such file or directory",
--	3:   "no such process",
--	4:   "interrupted system call",
--	5:   "I/O error",
--	6:   "no such device or address",
--	7:   "arg list too long",
--	8:   "exec format error",
--	9:   "bad file number",
--	10:  "no child processes",
--	11:  "resource temporarily unavailable",
--	12:  "not enough space",
--	13:  "permission denied",
--	14:  "bad address",
--	15:  "block device required",
--	16:  "device busy",
--	17:  "file exists",
--	18:  "cross-device link",
--	19:  "no such device",
--	20:  "not a directory",
--	21:  "is a directory",
--	22:  "invalid argument",
--	23:  "file table overflow",
--	24:  "too many open files",
--	25:  "inappropriate ioctl for device",
--	26:  "text file busy",
--	27:  "file too large",
--	28:  "no space left on device",
--	29:  "illegal seek",
--	30:  "read-only file system",
--	31:  "too many links",
--	32:  "broken pipe",
--	33:  "argument out of domain",
--	34:  "result too large",
--	35:  "no message of desired type",
--	36:  "identifier removed",
--	37:  "channel number out of range",
--	38:  "level 2 not synchronized",
--	39:  "level 3 halted",
--	40:  "level 3 reset",
--	41:  "link number out of range",
--	42:  "protocol driver not attached",
--	43:  "no CSI structure available",
--	44:  "level 2 halted",
--	45:  "deadlock situation detected/avoided",
--	46:  "no record locks available",
--	47:  "operation canceled",
--	48:  "operation not supported",
--	49:  "disc quota exceeded",
--	50:  "bad exchange descriptor",
--	51:  "bad request descriptor",
--	52:  "message tables full",
--	53:  "anode table overflow",
--	54:  "bad request code",
--	55:  "invalid slot",
--	56:  "file locking deadlock",
--	57:  "bad font file format",
--	58:  "owner of the lock died",
--	59:  "lock is not recoverable",
--	60:  "not a stream device",
--	61:  "no data available",
--	62:  "timer expired",
--	63:  "out of stream resources",
--	64:  "machine is not on the network",
--	65:  "package not installed",
--	66:  "object is remote",
--	67:  "link has been severed",
--	68:  "advertise error",
--	69:  "srmount error",
--	70:  "communication error on send",
--	71:  "protocol error",
--	72:  "locked lock was unmapped ",
--	73:  "facility is not active",
--	74:  "multihop attempted",
--	77:  "not a data message",
--	78:  "file name too long",
--	79:  "value too large for defined data type",
--	80:  "name not unique on network",
--	81:  "file descriptor in bad state",
--	82:  "remote address changed",
--	83:  "can not access a needed shared library",
--	84:  "accessing a corrupted shared library",
--	85:  ".lib section in a.out corrupted",
--	86:  "attempting to link in more shared libraries than system limit",
--	87:  "can not exec a shared library directly",
--	88:  "illegal byte sequence",
--	89:  "operation not applicable",
--	90:  "number of symbolic links encountered during path name traversal exceeds MAXSYMLINKS",
--	91:  "error 91",
--	92:  "error 92",
--	93:  "directory not empty",
--	94:  "too many users",
--	95:  "socket operation on non-socket",
--	96:  "destination address required",
--	97:  "message too long",
--	98:  "protocol wrong type for socket",
--	99:  "option not supported by protocol",
--	120: "protocol not supported",
--	121: "socket type not supported",
--	122: "operation not supported on transport endpoint",
--	123: "protocol family not supported",
--	124: "address family not supported by protocol family",
--	125: "address already in use",
--	126: "cannot assign requested address",
--	127: "network is down",
--	128: "network is unreachable",
--	129: "network dropped connection because of reset",
--	130: "software caused connection abort",
--	131: "connection reset by peer",
--	132: "no buffer space available",
--	133: "transport endpoint is already connected",
--	134: "transport endpoint is not connected",
--	143: "cannot send after socket shutdown",
--	144: "too many references: cannot splice",
--	145: "connection timed out",
--	146: "connection refused",
--	147: "host is down",
--	148: "no route to host",
--	149: "operation already in progress",
--	150: "operation now in progress",
--	151: "stale NFS file handle",
-+var errorList = [...]struct {
-+	num  syscall.Errno
-+	name string
-+	desc string
-+}{
-+	{1, "EPERM", "not owner"},
-+	{2, "ENOENT", "no such file or directory"},
-+	{3, "ESRCH", "no such process"},
-+	{4, "EINTR", "interrupted system call"},
-+	{5, "EIO", "I/O error"},
-+	{6, "ENXIO", "no such device or address"},
-+	{7, "E2BIG", "arg list too long"},
-+	{8, "ENOEXEC", "exec format error"},
-+	{9, "EBADF", "bad file number"},
-+	{10, "ECHILD", "no child processes"},
-+	{11, "EAGAIN", "resource temporarily unavailable"},
-+	{12, "ENOMEM", "not enough space"},
-+	{13, "EACCES", "permission denied"},
-+	{14, "EFAULT", "bad address"},
-+	{15, "ENOTBLK", "block device required"},
-+	{16, "EBUSY", "device busy"},
-+	{17, "EEXIST", "file exists"},
-+	{18, "EXDEV", "cross-device link"},
-+	{19, "ENODEV", "no such device"},
-+	{20, "ENOTDIR", "not a directory"},
-+	{21, "EISDIR", "is a directory"},
-+	{22, "EINVAL", "invalid argument"},
-+	{23, "ENFILE", "file table overflow"},
-+	{24, "EMFILE", "too many open files"},
-+	{25, "ENOTTY", "inappropriate ioctl for device"},
-+	{26, "ETXTBSY", "text file busy"},
-+	{27, "EFBIG", "file too large"},
-+	{28, "ENOSPC", "no space left on device"},
-+	{29, "ESPIPE", "illegal seek"},
-+	{30, "EROFS", "read-only file system"},
-+	{31, "EMLINK", "too many links"},
-+	{32, "EPIPE", "broken pipe"},
-+	{33, "EDOM", "argument out of domain"},
-+	{34, "ERANGE", "result too large"},
-+	{35, "ENOMSG", "no message of desired type"},
-+	{36, "EIDRM", "identifier removed"},
-+	{37, "ECHRNG", "channel number out of range"},
-+	{38, "EL2NSYNC", "level 2 not synchronized"},
-+	{39, "EL3HLT", "level 3 halted"},
-+	{40, "EL3RST", "level 3 reset"},
-+	{41, "ELNRNG", "link number out of range"},
-+	{42, "EUNATCH", "protocol driver not attached"},
-+	{43, "ENOCSI", "no CSI structure available"},
-+	{44, "EL2HLT", "level 2 halted"},
-+	{45, "EDEADLK", "deadlock situation detected/avoided"},
-+	{46, "ENOLCK", "no record locks available"},
-+	{47, "ECANCELED", "operation canceled"},
-+	{48, "ENOTSUP", "operation not supported"},
-+	{49, "EDQUOT", "disc quota exceeded"},
-+	{50, "EBADE", "bad exchange descriptor"},
-+	{51, "EBADR", "bad request descriptor"},
-+	{52, "EXFULL", "message tables full"},
-+	{53, "ENOANO", "anode table overflow"},
-+	{54, "EBADRQC", "bad request code"},
-+	{55, "EBADSLT", "invalid slot"},
-+	{56, "EDEADLOCK", "file locking deadlock"},
-+	{57, "EBFONT", "bad font file format"},
-+	{58, "EOWNERDEAD", "owner of the lock died"},
-+	{59, "ENOTRECOVERABLE", "lock is not recoverable"},
-+	{60, "ENOSTR", "not a stream device"},
-+	{61, "ENODATA", "no data available"},
-+	{62, "ETIME", "timer expired"},
-+	{63, "ENOSR", "out of stream resources"},
-+	{64, "ENONET", "machine is not on the network"},
-+	{65, "ENOPKG", "package not installed"},
-+	{66, "EREMOTE", "object is remote"},
-+	{67, "ENOLINK", "link has been severed"},
-+	{68, "EADV", "advertise error"},
-+	{69, "ESRMNT", "srmount error"},
-+	{70, "ECOMM", "communication error on send"},
-+	{71, "EPROTO", "protocol error"},
-+	{72, "ELOCKUNMAPPED", "locked lock was unmapped "},
-+	{73, "ENOTACTIVE", "facility is not active"},
-+	{74, "EMULTIHOP", "multihop attempted"},
-+	{77, "EBADMSG", "not a data message"},
-+	{78, "ENAMETOOLONG", "file name too long"},
-+	{79, "EOVERFLOW", "value too large for defined data type"},
-+	{80, "ENOTUNIQ", "name not unique on network"},
-+	{81, "EBADFD", "file descriptor in bad state"},
-+	{82, "EREMCHG", "remote address changed"},
-+	{83, "ELIBACC", "can not access a needed shared library"},
-+	{84, "ELIBBAD", "accessing a corrupted shared library"},
-+	{85, "ELIBSCN", ".lib section in a.out corrupted"},
-+	{86, "ELIBMAX", "attempting to link in more shared libraries than system limit"},
-+	{87, "ELIBEXEC", "can not exec a shared library directly"},
-+	{88, "EILSEQ", "illegal byte sequence"},
-+	{89, "ENOSYS", "operation not applicable"},
-+	{90, "ELOOP", "number of symbolic links encountered during path name traversal exceeds MAXSYMLINKS"},
-+	{91, "ERESTART", "error 91"},
-+	{92, "ESTRPIPE", "error 92"},
-+	{93, "ENOTEMPTY", "directory not empty"},
-+	{94, "EUSERS", "too many users"},
-+	{95, "ENOTSOCK", "socket operation on non-socket"},
-+	{96, "EDESTADDRREQ", "destination address required"},
-+	{97, "EMSGSIZE", "message too long"},
-+	{98, "EPROTOTYPE", "protocol wrong type for socket"},
-+	{99, "ENOPROTOOPT", "option not supported by protocol"},
-+	{120, "EPROTONOSUPPORT", "protocol not supported"},
-+	{121, "ESOCKTNOSUPPORT", "socket type not supported"},
-+	{122, "EOPNOTSUPP", "operation not supported on transport endpoint"},
-+	{123, "EPFNOSUPPORT", "protocol family not supported"},
-+	{124, "EAFNOSUPPORT", "address family not supported by protocol family"},
-+	{125, "EADDRINUSE", "address already in use"},
-+	{126, "EADDRNOTAVAIL", "cannot assign requested address"},
-+	{127, "ENETDOWN", "network is down"},
-+	{128, "ENETUNREACH", "network is unreachable"},
-+	{129, "ENETRESET", "network dropped connection because of reset"},
-+	{130, "ECONNABORTED", "software caused connection abort"},
-+	{131, "ECONNRESET", "connection reset by peer"},
-+	{132, "ENOBUFS", "no buffer space available"},
-+	{133, "EISCONN", "transport endpoint is already connected"},
-+	{134, "ENOTCONN", "transport endpoint is not connected"},
-+	{143, "ESHUTDOWN", "cannot send after socket shutdown"},
-+	{144, "ETOOMANYREFS", "too many references: cannot splice"},
-+	{145, "ETIMEDOUT", "connection timed out"},
-+	{146, "ECONNREFUSED", "connection refused"},
-+	{147, "EHOSTDOWN", "host is down"},
-+	{148, "EHOSTUNREACH", "no route to host"},
-+	{149, "EALREADY", "operation already in progress"},
-+	{150, "EINPROGRESS", "operation now in progress"},
-+	{151, "ESTALE", "stale NFS file handle"},
- }
- 
- // Signal table
--var signals = [...]string{
--	1:  "hangup",
--	2:  "interrupt",
--	3:  "quit",
--	4:  "illegal Instruction",
--	5:  "trace/Breakpoint Trap",
--	6:  "abort",
--	7:  "emulation Trap",
--	8:  "arithmetic Exception",
--	9:  "killed",
--	10: "bus Error",
--	11: "segmentation Fault",
--	12: "bad System Call",
--	13: "broken Pipe",
--	14: "alarm Clock",
--	15: "terminated",
--	16: "user Signal 1",
--	17: "user Signal 2",
--	18: "child Status Changed",
--	19: "power-Fail/Restart",
--	20: "window Size Change",
--	21: "urgent Socket Condition",
--	22: "pollable Event",
--	23: "stopped (signal)",
--	24: "stopped (user)",
--	25: "continued",
--	26: "stopped (tty input)",
--	27: "stopped (tty output)",
--	28: "virtual Timer Expired",
--	29: "profiling Timer Expired",
--	30: "cpu Limit Exceeded",
--	31: "file Size Limit Exceeded",
--	32: "no runnable lwp",
--	33: "inter-lwp signal",
--	34: "checkpoint Freeze",
--	35: "checkpoint Thaw",
--	36: "thread Cancellation",
--	37: "resource Lost",
--	38: "resource Control Exceeded",
--	39: "reserved for JVM 1",
--	40: "reserved for JVM 2",
--	41: "information Request",
-+var signalList = [...]struct {
-+	num  syscall.Signal
-+	name string
-+	desc string
-+}{
-+	{1, "SIGHUP", "hangup"},
-+	{2, "SIGINT", "interrupt"},
-+	{3, "SIGQUIT", "quit"},
-+	{4, "SIGILL", "illegal Instruction"},
-+	{5, "SIGTRAP", "trace/Breakpoint Trap"},
-+	{6, "SIGABRT", "abort"},
-+	{7, "SIGEMT", "emulation Trap"},
-+	{8, "SIGFPE", "arithmetic Exception"},
-+	{9, "SIGKILL", "killed"},
-+	{10, "SIGBUS", "bus Error"},
-+	{11, "SIGSEGV", "segmentation Fault"},
-+	{12, "SIGSYS", "bad System Call"},
-+	{13, "SIGPIPE", "broken Pipe"},
-+	{14, "SIGALRM", "alarm Clock"},
-+	{15, "SIGTERM", "terminated"},
-+	{16, "SIGUSR1", "user Signal 1"},
-+	{17, "SIGUSR2", "user Signal 2"},
-+	{18, "SIGCHLD", "child Status Changed"},
-+	{19, "SIGPWR", "power-Fail/Restart"},
-+	{20, "SIGWINCH", "window Size Change"},
-+	{21, "SIGURG", "urgent Socket Condition"},
-+	{22, "SIGIO", "pollable Event"},
-+	{23, "SIGSTOP", "stopped (signal)"},
-+	{24, "SIGTSTP", "stopped (user)"},
-+	{25, "SIGCONT", "continued"},
-+	{26, "SIGTTIN", "stopped (tty input)"},
-+	{27, "SIGTTOU", "stopped (tty output)"},
-+	{28, "SIGVTALRM", "virtual Timer Expired"},
-+	{29, "SIGPROF", "profiling Timer Expired"},
-+	{30, "SIGXCPU", "cpu Limit Exceeded"},
-+	{31, "SIGXFSZ", "file Size Limit Exceeded"},
-+	{32, "SIGWAITING", "no runnable lwp"},
-+	{33, "SIGLWP", "inter-lwp signal"},
-+	{34, "SIGFREEZE", "checkpoint Freeze"},
-+	{35, "SIGTHAW", "checkpoint Thaw"},
-+	{36, "SIGCANCEL", "thread Cancellation"},
-+	{37, "SIGLOST", "resource Lost"},
-+	{38, "SIGXRES", "resource Control Exceeded"},
-+	{39, "SIGJVM1", "reserved for JVM 1"},
-+	{40, "SIGJVM2", "reserved for JVM 2"},
-+	{41, "SIGINFO", "information Request"},
- }
-diff --git a/vendor/golang.org/x/sys/unix/zptrace_armnn_linux.go b/vendor/golang.org/x/sys/unix/zptrace_armnn_linux.go
-new file mode 100644
-index 00000000..89c5920e
---- /dev/null
-+++ b/vendor/golang.org/x/sys/unix/zptrace_armnn_linux.go
-@@ -0,0 +1,41 @@
-+// Code generated by linux/mkall.go generatePtracePair("arm", "arm64"). DO NOT EDIT.
-+
-+// +build linux
-+// +build arm arm64
-+
-+package unix
-+
-+import "unsafe"
-+
-+// PtraceRegsArm is the registers used by arm binaries.
-+type PtraceRegsArm struct {
-+	Uregs [18]uint32
-+}
-+
-+// PtraceGetRegsArm fetches the registers used by arm binaries.
-+func PtraceGetRegsArm(pid int, regsout *PtraceRegsArm) error {
-+	return ptrace(PTRACE_GETREGS, pid, 0, uintptr(unsafe.Pointer(regsout)))
-+}
-+
-+// PtraceSetRegsArm sets the registers used by arm binaries.
-+func PtraceSetRegsArm(pid int, regs *PtraceRegsArm) error {
-+	return ptrace(PTRACE_SETREGS, pid, 0, uintptr(unsafe.Pointer(regs)))
-+}
-+
-+// PtraceRegsArm64 is the registers used by arm64 binaries.
-+type PtraceRegsArm64 struct {
-+	Regs   [31]uint64
-+	Sp     uint64
-+	Pc     uint64
-+	Pstate uint64
-+}
-+
-+// PtraceGetRegsArm64 fetches the registers used by arm64 binaries.
-+func PtraceGetRegsArm64(pid int, regsout *PtraceRegsArm64) error {
-+	return ptrace(PTRACE_GETREGS, pid, 0, uintptr(unsafe.Pointer(regsout)))
-+}
-+
-+// PtraceSetRegsArm64 sets the registers used by arm64 binaries.
-+func PtraceSetRegsArm64(pid int, regs *PtraceRegsArm64) error {
-+	return ptrace(PTRACE_SETREGS, pid, 0, uintptr(unsafe.Pointer(regs)))
-+}
-diff --git a/vendor/golang.org/x/sys/unix/zptrace_linux_arm64.go b/vendor/golang.org/x/sys/unix/zptrace_linux_arm64.go
-new file mode 100644
-index 00000000..6cb6d688
---- /dev/null
-+++ b/vendor/golang.org/x/sys/unix/zptrace_linux_arm64.go
-@@ -0,0 +1,17 @@
-+// Code generated by linux/mkall.go generatePtraceRegSet("arm64"). DO NOT EDIT.
-+
-+package unix
-+
-+import "unsafe"
-+
-+// PtraceGetRegSetArm64 fetches the registers used by arm64 binaries.
-+func PtraceGetRegSetArm64(pid, addr int, regsout *PtraceRegsArm64) error {
-+	iovec := Iovec{(*byte)(unsafe.Pointer(regsout)), uint64(unsafe.Sizeof(*regsout))}
-+	return ptrace(PTRACE_GETREGSET, pid, uintptr(addr), uintptr(unsafe.Pointer(&iovec)))
-+}
-+
-+// PtraceSetRegSetArm64 sets the registers used by arm64 binaries.
-+func PtraceSetRegSetArm64(pid, addr int, regs *PtraceRegsArm64) error {
-+	iovec := Iovec{(*byte)(unsafe.Pointer(regs)), uint64(unsafe.Sizeof(*regs))}
-+	return ptrace(PTRACE_SETREGSET, pid, uintptr(addr), uintptr(unsafe.Pointer(&iovec)))
-+}
-diff --git a/vendor/golang.org/x/sys/unix/zptrace_mipsnn_linux.go b/vendor/golang.org/x/sys/unix/zptrace_mipsnn_linux.go
-new file mode 100644
-index 00000000..24b841ee
---- /dev/null
-+++ b/vendor/golang.org/x/sys/unix/zptrace_mipsnn_linux.go
-@@ -0,0 +1,50 @@
-+// Code generated by linux/mkall.go generatePtracePair("mips", "mips64"). DO NOT EDIT.
-+
-+// +build linux
-+// +build mips mips64
-+
-+package unix
-+
-+import "unsafe"
-+
-+// PtraceRegsMips is the registers used by mips binaries.
-+type PtraceRegsMips struct {
-+	Regs     [32]uint64
-+	Lo       uint64
-+	Hi       uint64
-+	Epc      uint64
-+	Badvaddr uint64
-+	Status   uint64
-+	Cause    uint64
-+}
-+
-+// PtraceGetRegsMips fetches the registers used by mips binaries.
-+func PtraceGetRegsMips(pid int, regsout *PtraceRegsMips) error {
-+	return ptrace(PTRACE_GETREGS, pid, 0, uintptr(unsafe.Pointer(regsout)))
-+}
-+
-+// PtraceSetRegsMips sets the registers used by mips binaries.
-+func PtraceSetRegsMips(pid int, regs *PtraceRegsMips) error {
-+	return ptrace(PTRACE_SETREGS, pid, 0, uintptr(unsafe.Pointer(regs)))
-+}
-+
-+// PtraceRegsMips64 is the registers used by mips64 binaries.
-+type PtraceRegsMips64 struct {
-+	Regs     [32]uint64
-+	Lo       uint64
-+	Hi       uint64
-+	Epc      uint64
-+	Badvaddr uint64
-+	Status   uint64
-+	Cause    uint64
-+}
-+
-+// PtraceGetRegsMips64 fetches the registers used by mips64 binaries.
-+func PtraceGetRegsMips64(pid int, regsout *PtraceRegsMips64) error {
-+	return ptrace(PTRACE_GETREGS, pid, 0, uintptr(unsafe.Pointer(regsout)))
-+}
-+
-+// PtraceSetRegsMips64 sets the registers used by mips64 binaries.
-+func PtraceSetRegsMips64(pid int, regs *PtraceRegsMips64) error {
-+	return ptrace(PTRACE_SETREGS, pid, 0, uintptr(unsafe.Pointer(regs)))
-+}
-diff --git a/vendor/golang.org/x/sys/unix/zptrace_mipsnnle_linux.go b/vendor/golang.org/x/sys/unix/zptrace_mipsnnle_linux.go
-new file mode 100644
-index 00000000..47b04895
---- /dev/null
-+++ b/vendor/golang.org/x/sys/unix/zptrace_mipsnnle_linux.go
-@@ -0,0 +1,50 @@
-+// Code generated by linux/mkall.go generatePtracePair("mipsle", "mips64le"). DO NOT EDIT.
-+
-+// +build linux
-+// +build mipsle mips64le
-+
-+package unix
-+
-+import "unsafe"
-+
-+// PtraceRegsMipsle is the registers used by mipsle binaries.
-+type PtraceRegsMipsle struct {
-+	Regs     [32]uint64
-+	Lo       uint64
-+	Hi       uint64
-+	Epc      uint64
-+	Badvaddr uint64
-+	Status   uint64
-+	Cause    uint64
-+}
-+
-+// PtraceGetRegsMipsle fetches the registers used by mipsle binaries.
-+func PtraceGetRegsMipsle(pid int, regsout *PtraceRegsMipsle) error {
-+	return ptrace(PTRACE_GETREGS, pid, 0, uintptr(unsafe.Pointer(regsout)))
-+}
-+
-+// PtraceSetRegsMipsle sets the registers used by mipsle binaries.
-+func PtraceSetRegsMipsle(pid int, regs *PtraceRegsMipsle) error {
-+	return ptrace(PTRACE_SETREGS, pid, 0, uintptr(unsafe.Pointer(regs)))
-+}
-+
-+// PtraceRegsMips64le is the registers used by mips64le binaries.
-+type PtraceRegsMips64le struct {
-+	Regs     [32]uint64
-+	Lo       uint64
-+	Hi       uint64
-+	Epc      uint64
-+	Badvaddr uint64
-+	Status   uint64
-+	Cause    uint64
-+}
-+
-+// PtraceGetRegsMips64le fetches the registers used by mips64le binaries.
-+func PtraceGetRegsMips64le(pid int, regsout *PtraceRegsMips64le) error {
-+	return ptrace(PTRACE_GETREGS, pid, 0, uintptr(unsafe.Pointer(regsout)))
-+}
-+
-+// PtraceSetRegsMips64le sets the registers used by mips64le binaries.
-+func PtraceSetRegsMips64le(pid int, regs *PtraceRegsMips64le) error {
-+	return ptrace(PTRACE_SETREGS, pid, 0, uintptr(unsafe.Pointer(regs)))
-+}
-diff --git a/vendor/golang.org/x/sys/unix/zptrace_x86_linux.go b/vendor/golang.org/x/sys/unix/zptrace_x86_linux.go
-new file mode 100644
-index 00000000..ea5d9cb5
---- /dev/null
-+++ b/vendor/golang.org/x/sys/unix/zptrace_x86_linux.go
-@@ -0,0 +1,80 @@
-+// Code generated by linux/mkall.go generatePtracePair("386", "amd64"). DO NOT EDIT.
-+
-+// +build linux
-+// +build 386 amd64
-+
-+package unix
-+
-+import "unsafe"
-+
-+// PtraceRegs386 is the registers used by 386 binaries.
-+type PtraceRegs386 struct {
-+	Ebx      int32
-+	Ecx      int32
-+	Edx      int32
-+	Esi      int32
-+	Edi      int32
-+	Ebp      int32
-+	Eax      int32
-+	Xds      int32
-+	Xes      int32
-+	Xfs      int32
-+	Xgs      int32
-+	Orig_eax int32
-+	Eip      int32
-+	Xcs      int32
-+	Eflags   int32
-+	Esp      int32
-+	Xss      int32
-+}
-+
-+// PtraceGetRegs386 fetches the registers used by 386 binaries.
-+func PtraceGetRegs386(pid int, regsout *PtraceRegs386) error {
-+	return ptrace(PTRACE_GETREGS, pid, 0, uintptr(unsafe.Pointer(regsout)))
-+}
-+
-+// PtraceSetRegs386 sets the registers used by 386 binaries.
-+func PtraceSetRegs386(pid int, regs *PtraceRegs386) error {
-+	return ptrace(PTRACE_SETREGS, pid, 0, uintptr(unsafe.Pointer(regs)))
-+}
-+
-+// PtraceRegsAmd64 is the registers used by amd64 binaries.
-+type PtraceRegsAmd64 struct {
-+	R15      uint64
-+	R14      uint64
-+	R13      uint64
-+	R12      uint64
-+	Rbp      uint64
-+	Rbx      uint64
-+	R11      uint64
-+	R10      uint64
-+	R9       uint64
-+	R8       uint64
-+	Rax      uint64
-+	Rcx      uint64
-+	Rdx      uint64
-+	Rsi      uint64
-+	Rdi      uint64
-+	Orig_rax uint64
-+	Rip      uint64
-+	Cs       uint64
-+	Eflags   uint64
-+	Rsp      uint64
-+	Ss       uint64
-+	Fs_base  uint64
-+	Gs_base  uint64
-+	Ds       uint64
-+	Es       uint64
-+	Fs       uint64
-+	Gs       uint64
-+}
-+
-+// PtraceGetRegsAmd64 fetches the registers used by amd64 binaries.
-+func PtraceGetRegsAmd64(pid int, regsout *PtraceRegsAmd64) error {
-+	return ptrace(PTRACE_GETREGS, pid, 0, uintptr(unsafe.Pointer(regsout)))
-+}
-+
-+// PtraceSetRegsAmd64 sets the registers used by amd64 binaries.
-+func PtraceSetRegsAmd64(pid int, regs *PtraceRegsAmd64) error {
-+	return ptrace(PTRACE_SETREGS, pid, 0, uintptr(unsafe.Pointer(regs)))
-+}
-diff --git a/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc.go b/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc.go
-new file mode 100644
-index 00000000..ed657ff1
---- /dev/null
-+++ b/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc.go
-@@ -0,0 +1,1484 @@
-+// go run mksyscall_aix_ppc.go -aix -tags aix,ppc syscall_aix.go syscall_aix_ppc.go
-+// Code generated by the command above; see README.md. DO NOT EDIT.
-+
-+// +build aix,ppc
-+
-+package unix
-+
-+/*
-+#include 
-+#include 
-+int utimes(uintptr_t, uintptr_t);
-+int utimensat(int, uintptr_t, uintptr_t, int);
-+int getcwd(uintptr_t, size_t);
-+int accept(int, uintptr_t, uintptr_t);
-+int getdirent(int, uintptr_t, size_t);
-+int wait4(int, uintptr_t, int, uintptr_t);
-+int ioctl(int, int, uintptr_t);
-+int fcntl(uintptr_t, int, uintptr_t);
-+int acct(uintptr_t);
-+int chdir(uintptr_t);
-+int chroot(uintptr_t);
-+int close(int);
-+int dup(int);
-+void exit(int);
-+int faccessat(int, uintptr_t, unsigned int, int);
-+int fchdir(int);
-+int fchmod(int, unsigned int);
-+int fchmodat(int, uintptr_t, unsigned int, int);
-+int fchownat(int, uintptr_t, int, int, int);
-+int fdatasync(int);
-+int fsync(int);
-+int getpgid(int);
-+int getpgrp();
-+int getpid();
-+int getppid();
-+int getpriority(int, int);
-+int getrusage(int, uintptr_t);
-+int getsid(int);
-+int kill(int, int);
-+int syslog(int, uintptr_t, size_t);
-+int mkdir(int, uintptr_t, unsigned int);
-+int mkdirat(int, uintptr_t, unsigned int);
-+int mkfifo(uintptr_t, unsigned int);
-+int mknod(uintptr_t, unsigned int, int);
-+int mknodat(int, uintptr_t, unsigned int, int);
-+int nanosleep(uintptr_t, uintptr_t);
-+int open64(uintptr_t, int, unsigned int);
-+int openat(int, uintptr_t, int, unsigned int);
-+int read(int, uintptr_t, size_t);
-+int readlink(uintptr_t, uintptr_t, size_t);
-+int renameat(int, uintptr_t, int, uintptr_t);
-+int setdomainname(uintptr_t, size_t);
-+int sethostname(uintptr_t, size_t);
-+int setpgid(int, int);
-+int setsid();
-+int settimeofday(uintptr_t);
-+int setuid(int);
-+int setgid(int);
-+int setpriority(int, int, int);
-+int statx(int, uintptr_t, int, int, uintptr_t);
-+int sync();
-+uintptr_t times(uintptr_t);
-+int umask(int);
-+int uname(uintptr_t);
-+int unlink(uintptr_t);
-+int unlinkat(int, uintptr_t, int);
-+int ustat(int, uintptr_t);
-+int write(int, uintptr_t, size_t);
-+int dup2(int, int);
-+int posix_fadvise64(int, long long, long long, int);
-+int fchown(int, int, int);
-+int fstat(int, uintptr_t);
-+int fstatat(int, uintptr_t, uintptr_t, int);
-+int fstatfs(int, uintptr_t);
-+int ftruncate(int, long long);
-+int getegid();
-+int geteuid();
-+int getgid();
-+int getuid();
-+int lchown(uintptr_t, int, int);
-+int listen(int, int);
-+int lstat(uintptr_t, uintptr_t);
-+int pause();
-+int pread64(int, uintptr_t, size_t, long long);
-+int pwrite64(int, uintptr_t, size_t, long long);
-+#define c_select select
-+int select(int, uintptr_t, uintptr_t, uintptr_t, uintptr_t);
-+int pselect(int, uintptr_t, uintptr_t, uintptr_t, uintptr_t, uintptr_t);
-+int setregid(int, int);
-+int setreuid(int, int);
-+int shutdown(int, int);
-+long long splice(int, uintptr_t, int, uintptr_t, int, int);
-+int stat(uintptr_t, uintptr_t);
-+int statfs(uintptr_t, uintptr_t);
-+int truncate(uintptr_t, long long);
-+int bind(int, uintptr_t, uintptr_t);
-+int connect(int, uintptr_t, uintptr_t);
-+int getgroups(int, uintptr_t);
-+int setgroups(int, uintptr_t);
-+int getsockopt(int, int, int, uintptr_t, uintptr_t);
-+int setsockopt(int, int, int, uintptr_t, uintptr_t);
-+int socket(int, int, int);
-+int socketpair(int, int, int, uintptr_t);
-+int getpeername(int, uintptr_t, uintptr_t);
-+int getsockname(int, uintptr_t, uintptr_t);
-+int recvfrom(int, uintptr_t, size_t, int, uintptr_t, uintptr_t);
-+int sendto(int, uintptr_t, size_t, int, uintptr_t, uintptr_t);
-+int nrecvmsg(int, uintptr_t, int);
-+int nsendmsg(int, uintptr_t, int);
-+int munmap(uintptr_t, uintptr_t);
-+int madvise(uintptr_t, size_t, int);
-+int mprotect(uintptr_t, size_t, int);
-+int mlock(uintptr_t, size_t);
-+int mlockall(int);
-+int msync(uintptr_t, size_t, int);
-+int munlock(uintptr_t, size_t);
-+int munlockall();
-+int pipe(uintptr_t);
-+int poll(uintptr_t, int, int);
-+int gettimeofday(uintptr_t, uintptr_t);
-+int time(uintptr_t);
-+int utime(uintptr_t, uintptr_t);
-+unsigned long long getsystemcfg(int);
-+int umount(uintptr_t);
-+int getrlimit64(int, uintptr_t);
-+int setrlimit64(int, uintptr_t);
-+long long lseek64(int, long long, int);
-+uintptr_t mmap(uintptr_t, uintptr_t, int, int, int, long long);
-+
-+*/
-+import "C"
-+import (
-+	"unsafe"
-+)
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func utimes(path string, times *[2]Timeval) (err error) {
-+	_p0 := uintptr(unsafe.Pointer(C.CString(path)))
-+	r0, er := C.utimes(C.uintptr_t(_p0), C.uintptr_t(uintptr(unsafe.Pointer(times))))
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func utimensat(dirfd int, path string, times *[2]Timespec, flag int) (err error) {
-+	_p0 := uintptr(unsafe.Pointer(C.CString(path)))
-+	r0, er := C.utimensat(C.int(dirfd), C.uintptr_t(_p0), C.uintptr_t(uintptr(unsafe.Pointer(times))), C.int(flag))
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func getcwd(buf []byte) (err error) {
-+	var _p0 *byte
-+	if len(buf) > 0 {
-+		_p0 = &buf[0]
-+	}
-+	var _p1 int
-+	_p1 = len(buf)
-+	r0, er := C.getcwd(C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1))
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {
-+	r0, er := C.accept(C.int(s), C.uintptr_t(uintptr(unsafe.Pointer(rsa))), C.uintptr_t(uintptr(unsafe.Pointer(addrlen))))
-+	fd = int(r0)
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func getdirent(fd int, buf []byte) (n int, err error) {
-+	var _p0 *byte
-+	if len(buf) > 0 {
-+		_p0 = &buf[0]
-+	}
-+	var _p1 int
-+	_p1 = len(buf)
-+	r0, er := C.getdirent(C.int(fd), C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1))
-+	n = int(r0)
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func wait4(pid Pid_t, status *_C_int, options int, rusage *Rusage) (wpid Pid_t, err error) {
-+	r0, er := C.wait4(C.int(pid), C.uintptr_t(uintptr(unsafe.Pointer(status))), C.int(options), C.uintptr_t(uintptr(unsafe.Pointer(rusage))))
-+	wpid = Pid_t(r0)
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func ioctl(fd int, req uint, arg uintptr) (err error) {
-+	r0, er := C.ioctl(C.int(fd), C.int(req), C.uintptr_t(arg))
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func FcntlInt(fd uintptr, cmd int, arg int) (r int, err error) {
-+	r0, er := C.fcntl(C.uintptr_t(fd), C.int(cmd), C.uintptr_t(arg))
-+	r = int(r0)
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func FcntlFlock(fd uintptr, cmd int, lk *Flock_t) (err error) {
-+	r0, er := C.fcntl(C.uintptr_t(fd), C.int(cmd), C.uintptr_t(uintptr(unsafe.Pointer(lk))))
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func fcntl(fd int, cmd int, arg int) (val int, err error) {
-+	r0, er := C.fcntl(C.uintptr_t(fd), C.int(cmd), C.uintptr_t(arg))
-+	val = int(r0)
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Acct(path string) (err error) {
-+	_p0 := uintptr(unsafe.Pointer(C.CString(path)))
-+	r0, er := C.acct(C.uintptr_t(_p0))
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Chdir(path string) (err error) {
-+	_p0 := uintptr(unsafe.Pointer(C.CString(path)))
-+	r0, er := C.chdir(C.uintptr_t(_p0))
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Chroot(path string) (err error) {
-+	_p0 := uintptr(unsafe.Pointer(C.CString(path)))
-+	r0, er := C.chroot(C.uintptr_t(_p0))
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Close(fd int) (err error) {
-+	r0, er := C.close(C.int(fd))
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Dup(oldfd int) (fd int, err error) {
-+	r0, er := C.dup(C.int(oldfd))
-+	fd = int(r0)
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Exit(code int) {
-+	C.exit(C.int(code))
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {
-+	_p0 := uintptr(unsafe.Pointer(C.CString(path)))
-+	r0, er := C.faccessat(C.int(dirfd), C.uintptr_t(_p0), C.uint(mode), C.int(flags))
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Fchdir(fd int) (err error) {
-+	r0, er := C.fchdir(C.int(fd))
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Fchmod(fd int, mode uint32) (err error) {
-+	r0, er := C.fchmod(C.int(fd), C.uint(mode))
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) {
-+	_p0 := uintptr(unsafe.Pointer(C.CString(path)))
-+	r0, er := C.fchmodat(C.int(dirfd), C.uintptr_t(_p0), C.uint(mode), C.int(flags))
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) {
-+	_p0 := uintptr(unsafe.Pointer(C.CString(path)))
-+	r0, er := C.fchownat(C.int(dirfd), C.uintptr_t(_p0), C.int(uid), C.int(gid), C.int(flags))
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Fdatasync(fd int) (err error) {
-+	r0, er := C.fdatasync(C.int(fd))
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Fsync(fd int) (err error) {
-+	r0, er := C.fsync(C.int(fd))
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Getpgid(pid int) (pgid int, err error) {
-+	r0, er := C.getpgid(C.int(pid))
-+	pgid = int(r0)
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Getpgrp() (pid int) {
-+	r0, _ := C.getpgrp()
-+	pid = int(r0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Getpid() (pid int) {
-+	r0, _ := C.getpid()
-+	pid = int(r0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Getppid() (ppid int) {
-+	r0, _ := C.getppid()
-+	ppid = int(r0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Getpriority(which int, who int) (prio int, err error) {
-+	r0, er := C.getpriority(C.int(which), C.int(who))
-+	prio = int(r0)
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Getrusage(who int, rusage *Rusage) (err error) {
-+	r0, er := C.getrusage(C.int(who), C.uintptr_t(uintptr(unsafe.Pointer(rusage))))
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Getsid(pid int) (sid int, err error) {
-+	r0, er := C.getsid(C.int(pid))
-+	sid = int(r0)
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Kill(pid int, sig Signal) (err error) {
-+	r0, er := C.kill(C.int(pid), C.int(sig))
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Klogctl(typ int, buf []byte) (n int, err error) {
-+	var _p0 *byte
-+	if len(buf) > 0 {
-+		_p0 = &buf[0]
-+	}
-+	var _p1 int
-+	_p1 = len(buf)
-+	r0, er := C.syslog(C.int(typ), C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1))
-+	n = int(r0)
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Mkdir(dirfd int, path string, mode uint32) (err error) {
-+	_p0 := uintptr(unsafe.Pointer(C.CString(path)))
-+	r0, er := C.mkdir(C.int(dirfd), C.uintptr_t(_p0), C.uint(mode))
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Mkdirat(dirfd int, path string, mode uint32) (err error) {
-+	_p0 := uintptr(unsafe.Pointer(C.CString(path)))
-+	r0, er := C.mkdirat(C.int(dirfd), C.uintptr_t(_p0), C.uint(mode))
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Mkfifo(path string, mode uint32) (err error) {
-+	_p0 := uintptr(unsafe.Pointer(C.CString(path)))
-+	r0, er := C.mkfifo(C.uintptr_t(_p0), C.uint(mode))
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Mknod(path string, mode uint32, dev int) (err error) {
-+	_p0 := uintptr(unsafe.Pointer(C.CString(path)))
-+	r0, er := C.mknod(C.uintptr_t(_p0), C.uint(mode), C.int(dev))
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) {
-+	_p0 := uintptr(unsafe.Pointer(C.CString(path)))
-+	r0, er := C.mknodat(C.int(dirfd), C.uintptr_t(_p0), C.uint(mode), C.int(dev))
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Nanosleep(time *Timespec, leftover *Timespec) (err error) {
-+	r0, er := C.nanosleep(C.uintptr_t(uintptr(unsafe.Pointer(time))), C.uintptr_t(uintptr(unsafe.Pointer(leftover))))
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Open(path string, mode int, perm uint32) (fd int, err error) {
-+	_p0 := uintptr(unsafe.Pointer(C.CString(path)))
-+	r0, er := C.open64(C.uintptr_t(_p0), C.int(mode), C.uint(perm))
-+	fd = int(r0)
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) {
-+	_p0 := uintptr(unsafe.Pointer(C.CString(path)))
-+	r0, er := C.openat(C.int(dirfd), C.uintptr_t(_p0), C.int(flags), C.uint(mode))
-+	fd = int(r0)
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func read(fd int, p []byte) (n int, err error) {
-+	var _p0 *byte
-+	if len(p) > 0 {
-+		_p0 = &p[0]
-+	}
-+	var _p1 int
-+	_p1 = len(p)
-+	r0, er := C.read(C.int(fd), C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1))
-+	n = int(r0)
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Readlink(path string, buf []byte) (n int, err error) {
-+	_p0 := uintptr(unsafe.Pointer(C.CString(path)))
-+	var _p1 *byte
-+	if len(buf) > 0 {
-+		_p1 = &buf[0]
-+	}
-+	var _p2 int
-+	_p2 = len(buf)
-+	r0, er := C.readlink(C.uintptr_t(_p0), C.uintptr_t(uintptr(unsafe.Pointer(_p1))), C.size_t(_p2))
-+	n = int(r0)
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) {
-+	_p0 := uintptr(unsafe.Pointer(C.CString(oldpath)))
-+	_p1 := uintptr(unsafe.Pointer(C.CString(newpath)))
-+	r0, er := C.renameat(C.int(olddirfd), C.uintptr_t(_p0), C.int(newdirfd), C.uintptr_t(_p1))
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Setdomainname(p []byte) (err error) {
-+	var _p0 *byte
-+	if len(p) > 0 {
-+		_p0 = &p[0]
-+	}
-+	var _p1 int
-+	_p1 = len(p)
-+	r0, er := C.setdomainname(C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1))
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Sethostname(p []byte) (err error) {
-+	var _p0 *byte
-+	if len(p) > 0 {
-+		_p0 = &p[0]
-+	}
-+	var _p1 int
-+	_p1 = len(p)
-+	r0, er := C.sethostname(C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1))
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Setpgid(pid int, pgid int) (err error) {
-+	r0, er := C.setpgid(C.int(pid), C.int(pgid))
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Setsid() (pid int, err error) {
-+	r0, er := C.setsid()
-+	pid = int(r0)
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Settimeofday(tv *Timeval) (err error) {
-+	r0, er := C.settimeofday(C.uintptr_t(uintptr(unsafe.Pointer(tv))))
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Setuid(uid int) (err error) {
-+	r0, er := C.setuid(C.int(uid))
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Setgid(uid int) (err error) {
-+	r0, er := C.setgid(C.int(uid))
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Setpriority(which int, who int, prio int) (err error) {
-+	r0, er := C.setpriority(C.int(which), C.int(who), C.int(prio))
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error) {
-+	_p0 := uintptr(unsafe.Pointer(C.CString(path)))
-+	r0, er := C.statx(C.int(dirfd), C.uintptr_t(_p0), C.int(flags), C.int(mask), C.uintptr_t(uintptr(unsafe.Pointer(stat))))
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Sync() {
-+	C.sync()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Times(tms *Tms) (ticks uintptr, err error) {
-+	r0, er := C.times(C.uintptr_t(uintptr(unsafe.Pointer(tms))))
-+	ticks = uintptr(r0)
-+	if uintptr(r0) == ^uintptr(0) && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Umask(mask int) (oldmask int) {
-+	r0, _ := C.umask(C.int(mask))
-+	oldmask = int(r0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Uname(buf *Utsname) (err error) {
-+	r0, er := C.uname(C.uintptr_t(uintptr(unsafe.Pointer(buf))))
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Unlink(path string) (err error) {
-+	_p0 := uintptr(unsafe.Pointer(C.CString(path)))
-+	r0, er := C.unlink(C.uintptr_t(_p0))
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Unlinkat(dirfd int, path string, flags int) (err error) {
-+	_p0 := uintptr(unsafe.Pointer(C.CString(path)))
-+	r0, er := C.unlinkat(C.int(dirfd), C.uintptr_t(_p0), C.int(flags))
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Ustat(dev int, ubuf *Ustat_t) (err error) {
-+	r0, er := C.ustat(C.int(dev), C.uintptr_t(uintptr(unsafe.Pointer(ubuf))))
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func write(fd int, p []byte) (n int, err error) {
-+	var _p0 *byte
-+	if len(p) > 0 {
-+		_p0 = &p[0]
-+	}
-+	var _p1 int
-+	_p1 = len(p)
-+	r0, er := C.write(C.int(fd), C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1))
-+	n = int(r0)
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func readlen(fd int, p *byte, np int) (n int, err error) {
-+	r0, er := C.read(C.int(fd), C.uintptr_t(uintptr(unsafe.Pointer(p))), C.size_t(np))
-+	n = int(r0)
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func writelen(fd int, p *byte, np int) (n int, err error) {
-+	r0, er := C.write(C.int(fd), C.uintptr_t(uintptr(unsafe.Pointer(p))), C.size_t(np))
-+	n = int(r0)
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Dup2(oldfd int, newfd int) (err error) {
-+	r0, er := C.dup2(C.int(oldfd), C.int(newfd))
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Fadvise(fd int, offset int64, length int64, advice int) (err error) {
-+	r0, er := C.posix_fadvise64(C.int(fd), C.longlong(offset), C.longlong(length), C.int(advice))
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Fchown(fd int, uid int, gid int) (err error) {
-+	r0, er := C.fchown(C.int(fd), C.int(uid), C.int(gid))
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func fstat(fd int, stat *Stat_t) (err error) {
-+	r0, er := C.fstat(C.int(fd), C.uintptr_t(uintptr(unsafe.Pointer(stat))))
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) {
-+	_p0 := uintptr(unsafe.Pointer(C.CString(path)))
-+	r0, er := C.fstatat(C.int(dirfd), C.uintptr_t(_p0), C.uintptr_t(uintptr(unsafe.Pointer(stat))), C.int(flags))
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Fstatfs(fd int, buf *Statfs_t) (err error) {
-+	r0, er := C.fstatfs(C.int(fd), C.uintptr_t(uintptr(unsafe.Pointer(buf))))
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Ftruncate(fd int, length int64) (err error) {
-+	r0, er := C.ftruncate(C.int(fd), C.longlong(length))
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Getegid() (egid int) {
-+	r0, _ := C.getegid()
-+	egid = int(r0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Geteuid() (euid int) {
-+	r0, _ := C.geteuid()
-+	euid = int(r0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Getgid() (gid int) {
-+	r0, _ := C.getgid()
-+	gid = int(r0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Getuid() (uid int) {
-+	r0, _ := C.getuid()
-+	uid = int(r0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Lchown(path string, uid int, gid int) (err error) {
-+	_p0 := uintptr(unsafe.Pointer(C.CString(path)))
-+	r0, er := C.lchown(C.uintptr_t(_p0), C.int(uid), C.int(gid))
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Listen(s int, n int) (err error) {
-+	r0, er := C.listen(C.int(s), C.int(n))
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func lstat(path string, stat *Stat_t) (err error) {
-+	_p0 := uintptr(unsafe.Pointer(C.CString(path)))
-+	r0, er := C.lstat(C.uintptr_t(_p0), C.uintptr_t(uintptr(unsafe.Pointer(stat))))
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Pause() (err error) {
-+	r0, er := C.pause()
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Pread(fd int, p []byte, offset int64) (n int, err error) {
-+	var _p0 *byte
-+	if len(p) > 0 {
-+		_p0 = &p[0]
-+	}
-+	var _p1 int
-+	_p1 = len(p)
-+	r0, er := C.pread64(C.int(fd), C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1), C.longlong(offset))
-+	n = int(r0)
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Pwrite(fd int, p []byte, offset int64) (n int, err error) {
-+	var _p0 *byte
-+	if len(p) > 0 {
-+		_p0 = &p[0]
-+	}
-+	var _p1 int
-+	_p1 = len(p)
-+	r0, er := C.pwrite64(C.int(fd), C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1), C.longlong(offset))
-+	n = int(r0)
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) {
-+	r0, er := C.c_select(C.int(nfd), C.uintptr_t(uintptr(unsafe.Pointer(r))), C.uintptr_t(uintptr(unsafe.Pointer(w))), C.uintptr_t(uintptr(unsafe.Pointer(e))), C.uintptr_t(uintptr(unsafe.Pointer(timeout))))
-+	n = int(r0)
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {
-+	r0, er := C.pselect(C.int(nfd), C.uintptr_t(uintptr(unsafe.Pointer(r))), C.uintptr_t(uintptr(unsafe.Pointer(w))), C.uintptr_t(uintptr(unsafe.Pointer(e))), C.uintptr_t(uintptr(unsafe.Pointer(timeout))), C.uintptr_t(uintptr(unsafe.Pointer(sigmask))))
-+	n = int(r0)
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Setregid(rgid int, egid int) (err error) {
-+	r0, er := C.setregid(C.int(rgid), C.int(egid))
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Setreuid(ruid int, euid int) (err error) {
-+	r0, er := C.setreuid(C.int(ruid), C.int(euid))
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Shutdown(fd int, how int) (err error) {
-+	r0, er := C.shutdown(C.int(fd), C.int(how))
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) {
-+	r0, er := C.splice(C.int(rfd), C.uintptr_t(uintptr(unsafe.Pointer(roff))), C.int(wfd), C.uintptr_t(uintptr(unsafe.Pointer(woff))), C.int(len), C.int(flags))
-+	n = int64(r0)
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func stat(path string, statptr *Stat_t) (err error) {
-+	_p0 := uintptr(unsafe.Pointer(C.CString(path)))
-+	r0, er := C.stat(C.uintptr_t(_p0), C.uintptr_t(uintptr(unsafe.Pointer(statptr))))
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Statfs(path string, buf *Statfs_t) (err error) {
-+	_p0 := uintptr(unsafe.Pointer(C.CString(path)))
-+	r0, er := C.statfs(C.uintptr_t(_p0), C.uintptr_t(uintptr(unsafe.Pointer(buf))))
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Truncate(path string, length int64) (err error) {
-+	_p0 := uintptr(unsafe.Pointer(C.CString(path)))
-+	r0, er := C.truncate(C.uintptr_t(_p0), C.longlong(length))
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {
-+	r0, er := C.bind(C.int(s), C.uintptr_t(uintptr(addr)), C.uintptr_t(uintptr(addrlen)))
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {
-+	r0, er := C.connect(C.int(s), C.uintptr_t(uintptr(addr)), C.uintptr_t(uintptr(addrlen)))
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func getgroups(n int, list *_Gid_t) (nn int, err error) {
-+	r0, er := C.getgroups(C.int(n), C.uintptr_t(uintptr(unsafe.Pointer(list))))
-+	nn = int(r0)
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func setgroups(n int, list *_Gid_t) (err error) {
-+	r0, er := C.setgroups(C.int(n), C.uintptr_t(uintptr(unsafe.Pointer(list))))
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) {
-+	r0, er := C.getsockopt(C.int(s), C.int(level), C.int(name), C.uintptr_t(uintptr(val)), C.uintptr_t(uintptr(unsafe.Pointer(vallen))))
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) {
-+	r0, er := C.setsockopt(C.int(s), C.int(level), C.int(name), C.uintptr_t(uintptr(val)), C.uintptr_t(vallen))
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func socket(domain int, typ int, proto int) (fd int, err error) {
-+	r0, er := C.socket(C.int(domain), C.int(typ), C.int(proto))
-+	fd = int(r0)
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) {
-+	r0, er := C.socketpair(C.int(domain), C.int(typ), C.int(proto), C.uintptr_t(uintptr(unsafe.Pointer(fd))))
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {
-+	r0, er := C.getpeername(C.int(fd), C.uintptr_t(uintptr(unsafe.Pointer(rsa))), C.uintptr_t(uintptr(unsafe.Pointer(addrlen))))
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {
-+	r0, er := C.getsockname(C.int(fd), C.uintptr_t(uintptr(unsafe.Pointer(rsa))), C.uintptr_t(uintptr(unsafe.Pointer(addrlen))))
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) {
-+	var _p0 *byte
-+	if len(p) > 0 {
-+		_p0 = &p[0]
-+	}
-+	var _p1 int
-+	_p1 = len(p)
-+	r0, er := C.recvfrom(C.int(fd), C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1), C.int(flags), C.uintptr_t(uintptr(unsafe.Pointer(from))), C.uintptr_t(uintptr(unsafe.Pointer(fromlen))))
-+	n = int(r0)
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) {
-+	var _p0 *byte
-+	if len(buf) > 0 {
-+		_p0 = &buf[0]
-+	}
-+	var _p1 int
-+	_p1 = len(buf)
-+	r0, er := C.sendto(C.int(s), C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1), C.int(flags), C.uintptr_t(uintptr(to)), C.uintptr_t(uintptr(addrlen)))
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) {
-+	r0, er := C.nrecvmsg(C.int(s), C.uintptr_t(uintptr(unsafe.Pointer(msg))), C.int(flags))
-+	n = int(r0)
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) {
-+	r0, er := C.nsendmsg(C.int(s), C.uintptr_t(uintptr(unsafe.Pointer(msg))), C.int(flags))
-+	n = int(r0)
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func munmap(addr uintptr, length uintptr) (err error) {
-+	r0, er := C.munmap(C.uintptr_t(addr), C.uintptr_t(length))
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Madvise(b []byte, advice int) (err error) {
-+	var _p0 *byte
-+	if len(b) > 0 {
-+		_p0 = &b[0]
-+	}
-+	var _p1 int
-+	_p1 = len(b)
-+	r0, er := C.madvise(C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1), C.int(advice))
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Mprotect(b []byte, prot int) (err error) {
-+	var _p0 *byte
-+	if len(b) > 0 {
-+		_p0 = &b[0]
-+	}
-+	var _p1 int
-+	_p1 = len(b)
-+	r0, er := C.mprotect(C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1), C.int(prot))
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Mlock(b []byte) (err error) {
-+	var _p0 *byte
-+	if len(b) > 0 {
-+		_p0 = &b[0]
-+	}
-+	var _p1 int
-+	_p1 = len(b)
-+	r0, er := C.mlock(C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1))
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Mlockall(flags int) (err error) {
-+	r0, er := C.mlockall(C.int(flags))
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Msync(b []byte, flags int) (err error) {
-+	var _p0 *byte
-+	if len(b) > 0 {
-+		_p0 = &b[0]
-+	}
-+	var _p1 int
-+	_p1 = len(b)
-+	r0, er := C.msync(C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1), C.int(flags))
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Munlock(b []byte) (err error) {
-+	var _p0 *byte
-+	if len(b) > 0 {
-+		_p0 = &b[0]
-+	}
-+	var _p1 int
-+	_p1 = len(b)
-+	r0, er := C.munlock(C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1))
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Munlockall() (err error) {
-+	r0, er := C.munlockall()
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func pipe(p *[2]_C_int) (err error) {
-+	r0, er := C.pipe(C.uintptr_t(uintptr(unsafe.Pointer(p))))
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func poll(fds *PollFd, nfds int, timeout int) (n int, err error) {
-+	r0, er := C.poll(C.uintptr_t(uintptr(unsafe.Pointer(fds))), C.int(nfds), C.int(timeout))
-+	n = int(r0)
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func gettimeofday(tv *Timeval, tzp *Timezone) (err error) {
-+	r0, er := C.gettimeofday(C.uintptr_t(uintptr(unsafe.Pointer(tv))), C.uintptr_t(uintptr(unsafe.Pointer(tzp))))
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Time(t *Time_t) (tt Time_t, err error) {
-+	r0, er := C.time(C.uintptr_t(uintptr(unsafe.Pointer(t))))
-+	tt = Time_t(r0)
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Utime(path string, buf *Utimbuf) (err error) {
-+	_p0 := uintptr(unsafe.Pointer(C.CString(path)))
-+	r0, er := C.utime(C.uintptr_t(_p0), C.uintptr_t(uintptr(unsafe.Pointer(buf))))
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Getsystemcfg(label int) (n uint64) {
-+	r0, _ := C.getsystemcfg(C.int(label))
-+	n = uint64(r0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func umount(target string) (err error) {
-+	_p0 := uintptr(unsafe.Pointer(C.CString(target)))
-+	r0, er := C.umount(C.uintptr_t(_p0))
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Getrlimit(resource int, rlim *Rlimit) (err error) {
-+	r0, er := C.getrlimit64(C.int(resource), C.uintptr_t(uintptr(unsafe.Pointer(rlim))))
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Setrlimit(resource int, rlim *Rlimit) (err error) {
-+	r0, er := C.setrlimit64(C.int(resource), C.uintptr_t(uintptr(unsafe.Pointer(rlim))))
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Seek(fd int, offset int64, whence int) (off int64, err error) {
-+	r0, er := C.lseek64(C.int(fd), C.longlong(offset), C.int(whence))
-+	off = int64(r0)
-+	if r0 == -1 && er != nil {
-+		err = er
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) {
-+	r0, er := C.mmap(C.uintptr_t(addr), C.uintptr_t(length), C.int(prot), C.int(flags), C.int(fd), C.longlong(offset))
-+	xaddr = uintptr(r0)
-+	if uintptr(r0) == ^uintptr(0) && er != nil {
-+		err = er
-+	}
-+	return
-+}
-diff --git a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64.go
-similarity index 57%
-copy from vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go
-copy to vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64.go
-index 7b6c2c87..664b293b 100644
---- a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go
-+++ b/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64.go
-@@ -1,22 +1,23 @@
--// mksyscall.pl -netbsd -tags netbsd,amd64 syscall_bsd.go syscall_netbsd.go syscall_netbsd_amd64.go
-+// go run mksyscall_aix_ppc64.go -aix -tags aix,ppc64 syscall_aix.go syscall_aix_ppc64.go
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
--// +build netbsd,amd64
-+// +build aix,ppc64
- 
- package unix
- 
- import (
--	"syscall"
- 	"unsafe"
- )
- 
--var _ syscall.Errno
--
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func getgroups(ngid int, gid *_Gid_t) (n int, err error) {
--	r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0)
--	n = int(r0)
-+func utimes(path string, times *[2]Timeval) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, e1 := callutimes(uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -25,8 +26,13 @@ func getgroups(ngid int, gid *_Gid_t) (n int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func setgroups(ngid int, gid *_Gid_t) (err error) {
--	_, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0)
-+func utimensat(dirfd int, path string, times *[2]Timespec, flag int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, e1 := callutimensat(dirfd, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), flag)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -35,9 +41,12 @@ func setgroups(ngid int, gid *_Gid_t) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) {
--	r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0)
--	wpid = int(r0)
-+func getcwd(buf []byte) (err error) {
-+	var _p0 *byte
-+	if len(buf) > 0 {
-+		_p0 = &buf[0]
-+	}
-+	_, e1 := callgetcwd(uintptr(unsafe.Pointer(_p0)), len(buf))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -47,7 +56,7 @@ func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {
--	r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))
-+	r0, e1 := callaccept(s, uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))
- 	fd = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -57,8 +66,13 @@ func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {
--	_, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen))
-+func getdirent(fd int, buf []byte) (n int, err error) {
-+	var _p0 *byte
-+	if len(buf) > 0 {
-+		_p0 = &buf[0]
-+	}
-+	r0, e1 := callgetdirent(fd, uintptr(unsafe.Pointer(_p0)), len(buf))
-+	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -67,8 +81,9 @@ func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {
--	_, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen))
-+func wait4(pid Pid_t, status *_C_int, options int, rusage *Rusage) (wpid Pid_t, err error) {
-+	r0, e1 := callwait4(int(pid), uintptr(unsafe.Pointer(status)), options, uintptr(unsafe.Pointer(rusage)))
-+	wpid = Pid_t(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -77,9 +92,8 @@ func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func socket(domain int, typ int, proto int) (fd int, err error) {
--	r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto))
--	fd = int(r0)
-+func ioctl(fd int, req uint, arg uintptr) (err error) {
-+	_, e1 := callioctl(fd, int(req), arg)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -88,8 +102,9 @@ func socket(domain int, typ int, proto int) (fd int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) {
--	_, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0)
-+func FcntlInt(fd uintptr, cmd int, arg int) (r int, err error) {
-+	r0, e1 := callfcntl(fd, cmd, uintptr(arg))
-+	r = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -98,8 +113,8 @@ func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) {
--	_, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0)
-+func FcntlFlock(fd uintptr, cmd int, lk *Flock_t) (err error) {
-+	_, e1 := callfcntl(fd, cmd, uintptr(unsafe.Pointer(lk)))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -108,8 +123,9 @@ func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr)
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {
--	_, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))
-+func fcntl(fd int, cmd int, arg int) (val int, err error) {
-+	r0, e1 := callfcntl(uintptr(fd), cmd, uintptr(arg))
-+	val = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -118,8 +134,13 @@ func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {
--	_, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))
-+func Acct(path string) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, e1 := callacct(uintptr(unsafe.Pointer(_p0)))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -128,8 +149,13 @@ func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Shutdown(s int, how int) (err error) {
--	_, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0)
-+func Chdir(path string) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, e1 := callchdir(uintptr(unsafe.Pointer(_p0)))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -138,8 +164,13 @@ func Shutdown(s int, how int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) {
--	_, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0)
-+func Chroot(path string) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, e1 := callchroot(uintptr(unsafe.Pointer(_p0)))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -148,15 +179,8 @@ func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) {
--	var _p0 unsafe.Pointer
--	if len(p) > 0 {
--		_p0 = unsafe.Pointer(&p[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen)))
--	n = int(r0)
-+func Close(fd int) (err error) {
-+	_, e1 := callclose(fd)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -165,14 +189,9 @@ func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Sockl
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) {
--	var _p0 unsafe.Pointer
--	if len(buf) > 0 {
--		_p0 = unsafe.Pointer(&buf[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen))
-+func Dup(oldfd int) (fd int, err error) {
-+	r0, e1 := calldup(oldfd)
-+	fd = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -181,9 +200,20 @@ func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) {
--	r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))
--	n = int(r0)
-+func Exit(code int) {
-+	callexit(code)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, e1 := callfaccessat(dirfd, uintptr(unsafe.Pointer(_p0)), mode, flags)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -192,9 +222,8 @@ func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) {
--	r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))
--	n = int(r0)
-+func Fchdir(fd int) (err error) {
-+	_, e1 := callfchdir(fd)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -203,9 +232,8 @@ func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) {
--	r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout)))
--	n = int(r0)
-+func Fchmod(fd int, mode uint32) (err error) {
-+	_, e1 := callfchmod(fd, mode)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -214,14 +242,13 @@ func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, ne
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) {
--	var _p0 unsafe.Pointer
--	if len(mib) > 0 {
--		_p0 = unsafe.Pointer(&mib[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
-+func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
- 	}
--	_, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen))
-+	_, e1 := callfchmodat(dirfd, uintptr(unsafe.Pointer(_p0)), mode, flags)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -230,13 +257,13 @@ func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr)
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func utimes(path string, timeval *[2]Timeval) (err error) {
-+func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0)
-+	_, e1 := callfchownat(dirfd, uintptr(unsafe.Pointer(_p0)), uid, gid, flags)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -245,8 +272,8 @@ func utimes(path string, timeval *[2]Timeval) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func futimes(fd int, timeval *[2]Timeval) (err error) {
--	_, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0)
-+func Fdatasync(fd int) (err error) {
-+	_, e1 := callfdatasync(fd)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -255,9 +282,8 @@ func futimes(fd int, timeval *[2]Timeval) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func fcntl(fd int, cmd int, arg int) (val int, err error) {
--	r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg))
--	val = int(r0)
-+func Fsync(fd int) (err error) {
-+	_, e1 := callfsync(fd)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -266,14 +292,9 @@ func fcntl(fd int, cmd int, arg int) (val int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Madvise(b []byte, behav int) (err error) {
--	var _p0 unsafe.Pointer
--	if len(b) > 0 {
--		_p0 = unsafe.Pointer(&b[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav))
-+func Getpgid(pid int) (pgid int, err error) {
-+	r0, e1 := callgetpgid(pid)
-+	pgid = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -282,56 +303,33 @@ func Madvise(b []byte, behav int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Mlock(b []byte) (err error) {
--	var _p0 unsafe.Pointer
--	if len(b) > 0 {
--		_p0 = unsafe.Pointer(&b[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
-+func Getpgrp() (pid int) {
-+	r0, _ := callgetpgrp()
-+	pid = int(r0)
- 	return
- }
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Mlockall(flags int) (err error) {
--	_, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
-+func Getpid() (pid int) {
-+	r0, _ := callgetpid()
-+	pid = int(r0)
- 	return
- }
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Mprotect(b []byte, prot int) (err error) {
--	var _p0 unsafe.Pointer
--	if len(b) > 0 {
--		_p0 = unsafe.Pointer(&b[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
-+func Getppid() (ppid int) {
-+	r0, _ := callgetppid()
-+	ppid = int(r0)
- 	return
- }
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Msync(b []byte, flags int) (err error) {
--	var _p0 unsafe.Pointer
--	if len(b) > 0 {
--		_p0 = unsafe.Pointer(&b[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))
-+func Getpriority(which int, who int) (prio int, err error) {
-+	r0, e1 := callgetpriority(which, who)
-+	prio = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -340,14 +338,8 @@ func Msync(b []byte, flags int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Munlock(b []byte) (err error) {
--	var _p0 unsafe.Pointer
--	if len(b) > 0 {
--		_p0 = unsafe.Pointer(&b[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)
-+func Getrusage(who int, rusage *Rusage) (err error) {
-+	_, e1 := callgetrusage(who, uintptr(unsafe.Pointer(rusage)))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -356,8 +348,9 @@ func Munlock(b []byte) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Munlockall() (err error) {
--	_, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)
-+func Getsid(pid int) (sid int, err error) {
-+	r0, e1 := callgetsid(pid)
-+	sid = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -366,10 +359,8 @@ func Munlockall() (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func pipe() (fd1 int, fd2 int, err error) {
--	r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0)
--	fd1 = int(r0)
--	fd2 = int(r1)
-+func Kill(pid int, sig Signal) (err error) {
-+	_, e1 := callkill(pid, int(sig))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -378,14 +369,12 @@ func pipe() (fd1 int, fd2 int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func getdents(fd int, buf []byte) (n int, err error) {
--	var _p0 unsafe.Pointer
-+func Klogctl(typ int, buf []byte) (n int, err error) {
-+	var _p0 *byte
- 	if len(buf) > 0 {
--		_p0 = unsafe.Pointer(&buf[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
-+		_p0 = &buf[0]
- 	}
--	r0, _, e1 := Syscall(SYS_GETDENTS, uintptr(fd), uintptr(_p0), uintptr(len(buf)))
-+	r0, e1 := callsyslog(typ, uintptr(unsafe.Pointer(_p0)), len(buf))
- 	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -395,13 +384,13 @@ func getdents(fd int, buf []byte) (n int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Access(path string, mode uint32) (err error) {
-+func Mkdir(dirfd int, path string, mode uint32) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
-+	_, e1 := callmkdir(dirfd, uintptr(unsafe.Pointer(_p0)), mode)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -410,8 +399,13 @@ func Access(path string, mode uint32) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Adjtime(delta *Timeval, olddelta *Timeval) (err error) {
--	_, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0)
-+func Mkdirat(dirfd int, path string, mode uint32) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, e1 := callmkdirat(dirfd, uintptr(unsafe.Pointer(_p0)), mode)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -420,13 +414,13 @@ func Adjtime(delta *Timeval, olddelta *Timeval) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Chdir(path string) (err error) {
-+func Mkfifo(path string, mode uint32) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)
-+	_, e1 := callmkfifo(uintptr(unsafe.Pointer(_p0)), mode)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -435,13 +429,13 @@ func Chdir(path string) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Chflags(path string, flags int) (err error) {
-+func Mknod(path string, mode uint32, dev int) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
-+	_, e1 := callmknod(uintptr(unsafe.Pointer(_p0)), mode, dev)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -450,13 +444,13 @@ func Chflags(path string, flags int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Chmod(path string, mode uint32) (err error) {
-+func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
-+	_, e1 := callmknodat(dirfd, uintptr(unsafe.Pointer(_p0)), mode, dev)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -465,13 +459,8 @@ func Chmod(path string, mode uint32) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Chown(path string, uid int, gid int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))
-+func Nanosleep(time *Timespec, leftover *Timespec) (err error) {
-+	_, e1 := callnanosleep(uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -480,13 +469,14 @@ func Chown(path string, uid int, gid int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Chroot(path string) (err error) {
-+func Open(path string, mode int, perm uint32) (fd int, err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0)
-+	r0, e1 := callopen64(uintptr(unsafe.Pointer(_p0)), mode, perm)
-+	fd = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -495,8 +485,14 @@ func Chroot(path string) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Close(fd int) (err error) {
--	_, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0)
-+func Openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	r0, e1 := callopenat(dirfd, uintptr(unsafe.Pointer(_p0)), flags, mode)
-+	fd = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -505,9 +501,13 @@ func Close(fd int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Dup(fd int) (nfd int, err error) {
--	r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0)
--	nfd = int(r0)
-+func read(fd int, p []byte) (n int, err error) {
-+	var _p0 *byte
-+	if len(p) > 0 {
-+		_p0 = &p[0]
-+	}
-+	r0, e1 := callread(fd, uintptr(unsafe.Pointer(_p0)), len(p))
-+	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -516,8 +516,18 @@ func Dup(fd int) (nfd int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Dup2(from int, to int) (err error) {
--	_, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0)
-+func Readlink(path string, buf []byte) (n int, err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	var _p1 *byte
-+	if len(buf) > 0 {
-+		_p1 = &buf[0]
-+	}
-+	r0, e1 := callreadlink(uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), len(buf))
-+	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -526,15 +536,32 @@ func Dup2(from int, to int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Exit(code int) {
--	Syscall(SYS_EXIT, uintptr(code), 0, 0)
-+func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(oldpath)
-+	if err != nil {
-+		return
-+	}
-+	var _p1 *byte
-+	_p1, err = BytePtrFromString(newpath)
-+	if err != nil {
-+		return
-+	}
-+	_, e1 := callrenameat(olddirfd, uintptr(unsafe.Pointer(_p0)), newdirfd, uintptr(unsafe.Pointer(_p1)))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
- 	return
- }
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Fchdir(fd int) (err error) {
--	_, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0)
-+func Setdomainname(p []byte) (err error) {
-+	var _p0 *byte
-+	if len(p) > 0 {
-+		_p0 = &p[0]
-+	}
-+	_, e1 := callsetdomainname(uintptr(unsafe.Pointer(_p0)), len(p))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -543,8 +570,12 @@ func Fchdir(fd int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Fchflags(fd int, flags int) (err error) {
--	_, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0)
-+func Sethostname(p []byte) (err error) {
-+	var _p0 *byte
-+	if len(p) > 0 {
-+		_p0 = &p[0]
-+	}
-+	_, e1 := callsethostname(uintptr(unsafe.Pointer(_p0)), len(p))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -553,8 +584,8 @@ func Fchflags(fd int, flags int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Fchmod(fd int, mode uint32) (err error) {
--	_, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0)
-+func Setpgid(pid int, pgid int) (err error) {
-+	_, e1 := callsetpgid(pid, pgid)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -563,8 +594,9 @@ func Fchmod(fd int, mode uint32) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Fchown(fd int, uid int, gid int) (err error) {
--	_, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid))
-+func Setsid() (pid int, err error) {
-+	r0, e1 := callsetsid()
-+	pid = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -573,8 +605,8 @@ func Fchown(fd int, uid int, gid int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Flock(fd int, how int) (err error) {
--	_, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0)
-+func Settimeofday(tv *Timeval) (err error) {
-+	_, e1 := callsettimeofday(uintptr(unsafe.Pointer(tv)))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -583,9 +615,8 @@ func Flock(fd int, how int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Fpathconf(fd int, name int) (val int, err error) {
--	r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0)
--	val = int(r0)
-+func Setuid(uid int) (err error) {
-+	_, e1 := callsetuid(uid)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -594,8 +625,8 @@ func Fpathconf(fd int, name int) (val int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Fstat(fd int, stat *Stat_t) (err error) {
--	_, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)
-+func Setgid(uid int) (err error) {
-+	_, e1 := callsetgid(uid)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -604,8 +635,8 @@ func Fstat(fd int, stat *Stat_t) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Fsync(fd int) (err error) {
--	_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)
-+func Setpriority(which int, who int, prio int) (err error) {
-+	_, e1 := callsetpriority(which, who, prio)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -614,8 +645,13 @@ func Fsync(fd int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Ftruncate(fd int, length int64) (err error) {
--	_, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), 0, uintptr(length))
-+func Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, e1 := callstatx(dirfd, uintptr(unsafe.Pointer(_p0)), flags, mask, uintptr(unsafe.Pointer(stat)))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -624,33 +660,34 @@ func Ftruncate(fd int, length int64) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Getegid() (egid int) {
--	r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0)
--	egid = int(r0)
-+func Sync() {
-+	callsync()
- 	return
- }
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Geteuid() (uid int) {
--	r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0)
--	uid = int(r0)
-+func Times(tms *Tms) (ticks uintptr, err error) {
-+	r0, e1 := calltimes(uintptr(unsafe.Pointer(tms)))
-+	ticks = uintptr(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
- 	return
- }
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Getgid() (gid int) {
--	r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0)
--	gid = int(r0)
-+func Umask(mask int) (oldmask int) {
-+	r0, _ := callumask(mask)
-+	oldmask = int(r0)
- 	return
- }
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Getpgid(pid int) (pgid int, err error) {
--	r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0)
--	pgid = int(r0)
-+func Uname(buf *Utsname) (err error) {
-+	_, e1 := calluname(uintptr(unsafe.Pointer(buf)))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -659,33 +696,53 @@ func Getpgid(pid int) (pgid int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Getpgrp() (pgrp int) {
--	r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0)
--	pgrp = int(r0)
-+func Unlink(path string) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, e1 := callunlink(uintptr(unsafe.Pointer(_p0)))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
- 	return
- }
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Getpid() (pid int) {
--	r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0)
--	pid = int(r0)
-+func Unlinkat(dirfd int, path string, flags int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, e1 := callunlinkat(dirfd, uintptr(unsafe.Pointer(_p0)), flags)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
- 	return
- }
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Getppid() (ppid int) {
--	r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0)
--	ppid = int(r0)
-+func Ustat(dev int, ubuf *Ustat_t) (err error) {
-+	_, e1 := callustat(dev, uintptr(unsafe.Pointer(ubuf)))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
- 	return
- }
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Getpriority(which int, who int) (prio int, err error) {
--	r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0)
--	prio = int(r0)
-+func write(fd int, p []byte) (n int, err error) {
-+	var _p0 *byte
-+	if len(p) > 0 {
-+		_p0 = &p[0]
-+	}
-+	r0, e1 := callwrite(fd, uintptr(unsafe.Pointer(_p0)), len(p))
-+	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -694,8 +751,9 @@ func Getpriority(which int, who int) (prio int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Getrlimit(which int, lim *Rlimit) (err error) {
--	_, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)
-+func readlen(fd int, p *byte, np int) (n int, err error) {
-+	r0, e1 := callread(fd, uintptr(unsafe.Pointer(p)), np)
-+	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -704,8 +762,9 @@ func Getrlimit(which int, lim *Rlimit) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Getrusage(who int, rusage *Rusage) (err error) {
--	_, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0)
-+func writelen(fd int, p *byte, np int) (n int, err error) {
-+	r0, e1 := callwrite(fd, uintptr(unsafe.Pointer(p)), np)
-+	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -714,9 +773,8 @@ func Getrusage(who int, rusage *Rusage) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Getsid(pid int) (sid int, err error) {
--	r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0)
--	sid = int(r0)
-+func Dup2(oldfd int, newfd int) (err error) {
-+	_, e1 := calldup2(oldfd, newfd)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -725,8 +783,8 @@ func Getsid(pid int) (sid int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Gettimeofday(tv *Timeval) (err error) {
--	_, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)
-+func Fadvise(fd int, offset int64, length int64, advice int) (err error) {
-+	_, e1 := callposix_fadvise64(fd, offset, length, advice)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -735,24 +793,33 @@ func Gettimeofday(tv *Timeval) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Getuid() (uid int) {
--	r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0)
--	uid = int(r0)
-+func Fchown(fd int, uid int, gid int) (err error) {
-+	_, e1 := callfchown(fd, uid, gid)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
- 	return
- }
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Issetugid() (tainted bool) {
--	r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0)
--	tainted = bool(r0 != 0)
-+func fstat(fd int, stat *Stat_t) (err error) {
-+	_, e1 := callfstat(fd, uintptr(unsafe.Pointer(stat)))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
- 	return
- }
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Kill(pid int, signum syscall.Signal) (err error) {
--	_, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0)
-+func fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, e1 := callfstatat(dirfd, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), flags)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -761,9 +828,8 @@ func Kill(pid int, signum syscall.Signal) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Kqueue() (fd int, err error) {
--	r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0)
--	fd = int(r0)
-+func Fstatfs(fd int, buf *Statfs_t) (err error) {
-+	_, e1 := callfstatfs(fd, uintptr(unsafe.Pointer(buf)))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -772,13 +838,8 @@ func Kqueue() (fd int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Lchown(path string, uid int, gid int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))
-+func Ftruncate(fd int, length int64) (err error) {
-+	_, e1 := callftruncate(fd, length)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -787,18 +848,45 @@ func Lchown(path string, uid int, gid int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Link(path string, link string) (err error) {
-+func Getegid() (egid int) {
-+	r0, _ := callgetegid()
-+	egid = int(r0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Geteuid() (euid int) {
-+	r0, _ := callgeteuid()
-+	euid = int(r0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Getgid() (gid int) {
-+	r0, _ := callgetgid()
-+	gid = int(r0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Getuid() (uid int) {
-+	r0, _ := callgetuid()
-+	uid = int(r0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Lchown(path string, uid int, gid int) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
- 	if err != nil {
- 		return
- 	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(link)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
-+	_, e1 := calllchown(uintptr(unsafe.Pointer(_p0)), uid, gid)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -807,8 +895,8 @@ func Link(path string, link string) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Listen(s int, backlog int) (err error) {
--	_, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0)
-+func Listen(s int, n int) (err error) {
-+	_, e1 := calllisten(s, n)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -817,13 +905,13 @@ func Listen(s int, backlog int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Lstat(path string, stat *Stat_t) (err error) {
-+func lstat(path string, stat *Stat_t) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
-+	_, e1 := calllstat(uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -832,13 +920,8 @@ func Lstat(path string, stat *Stat_t) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Mkdir(path string, mode uint32) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
-+func Pause() (err error) {
-+	_, e1 := callpause()
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -847,13 +930,13 @@ func Mkdir(path string, mode uint32) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Mkfifo(path string, mode uint32) (err error) {
-+func Pread(fd int, p []byte, offset int64) (n int, err error) {
- 	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
-+	if len(p) > 0 {
-+		_p0 = &p[0]
- 	}
--	_, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
-+	r0, e1 := callpread64(fd, uintptr(unsafe.Pointer(_p0)), len(p), offset)
-+	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -862,13 +945,13 @@ func Mkfifo(path string, mode uint32) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Mknod(path string, mode uint32, dev int) (err error) {
-+func Pwrite(fd int, p []byte, offset int64) (n int, err error) {
- 	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
-+	if len(p) > 0 {
-+		_p0 = &p[0]
- 	}
--	_, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev))
-+	r0, e1 := callpwrite64(fd, uintptr(unsafe.Pointer(_p0)), len(p), offset)
-+	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -877,8 +960,9 @@ func Mknod(path string, mode uint32, dev int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Nanosleep(time *Timespec, leftover *Timespec) (err error) {
--	_, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0)
-+func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) {
-+	r0, e1 := callselect(nfd, uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)))
-+	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -887,14 +971,9 @@ func Nanosleep(time *Timespec, leftover *Timespec) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Open(path string, mode int, perm uint32) (fd int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm))
--	fd = int(r0)
-+func Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {
-+	r0, e1 := callpselect(nfd, uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)))
-+	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -903,14 +982,8 @@ func Open(path string, mode int, perm uint32) (fd int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Pathconf(path string, name int) (val int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0)
--	val = int(r0)
-+func Setregid(rgid int, egid int) (err error) {
-+	_, e1 := callsetregid(rgid, egid)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -919,15 +992,8 @@ func Pathconf(path string, name int) (val int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Pread(fd int, p []byte, offset int64) (n int, err error) {
--	var _p0 unsafe.Pointer
--	if len(p) > 0 {
--		_p0 = unsafe.Pointer(&p[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), 0)
--	n = int(r0)
-+func Setreuid(ruid int, euid int) (err error) {
-+	_, e1 := callsetreuid(ruid, euid)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -936,15 +1002,8 @@ func Pread(fd int, p []byte, offset int64) (n int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Pwrite(fd int, p []byte, offset int64) (n int, err error) {
--	var _p0 unsafe.Pointer
--	if len(p) > 0 {
--		_p0 = unsafe.Pointer(&p[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), 0)
--	n = int(r0)
-+func Shutdown(fd int, how int) (err error) {
-+	_, e1 := callshutdown(fd, how)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -953,15 +1012,9 @@ func Pwrite(fd int, p []byte, offset int64) (n int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func read(fd int, p []byte) (n int, err error) {
--	var _p0 unsafe.Pointer
--	if len(p) > 0 {
--		_p0 = unsafe.Pointer(&p[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p)))
--	n = int(r0)
-+func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) {
-+	r0, e1 := callsplice(rfd, uintptr(unsafe.Pointer(roff)), wfd, uintptr(unsafe.Pointer(woff)), len, flags)
-+	n = int64(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -970,20 +1023,13 @@ func read(fd int, p []byte) (n int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Readlink(path string, buf []byte) (n int, err error) {
-+func stat(path string, statptr *Stat_t) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
- 	if err != nil {
- 		return
- 	}
--	var _p1 unsafe.Pointer
--	if len(buf) > 0 {
--		_p1 = unsafe.Pointer(&buf[0])
--	} else {
--		_p1 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)))
--	n = int(r0)
-+	_, e1 := callstat(uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(statptr)))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -992,18 +1038,13 @@ func Readlink(path string, buf []byte) (n int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Rename(from string, to string) (err error) {
-+func Statfs(path string, buf *Statfs_t) (err error) {
- 	var _p0 *byte
--	_p0, err = BytePtrFromString(from)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(to)
-+	_p0, err = BytePtrFromString(path)
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
-+	_, e1 := callstatfs(uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1012,13 +1053,13 @@ func Rename(from string, to string) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Revoke(path string) (err error) {
-+func Truncate(path string, length int64) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0)
-+	_, e1 := calltruncate(uintptr(unsafe.Pointer(_p0)), length)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1027,13 +1068,8 @@ func Revoke(path string) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Rmdir(path string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)
-+func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {
-+	_, e1 := callbind(s, uintptr(addr), uintptr(addrlen))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1042,9 +1078,8 @@ func Rmdir(path string) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Seek(fd int, offset int64, whence int) (newoffset int64, err error) {
--	r0, _, e1 := Syscall6(SYS_LSEEK, uintptr(fd), 0, uintptr(offset), uintptr(whence), 0, 0)
--	newoffset = int64(r0)
-+func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {
-+	_, e1 := callconnect(s, uintptr(addr), uintptr(addrlen))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1053,8 +1088,9 @@ func Seek(fd int, offset int64, whence int) (newoffset int64, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) {
--	_, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)
-+func getgroups(n int, list *_Gid_t) (nn int, err error) {
-+	r0, e1 := callgetgroups(n, uintptr(unsafe.Pointer(list)))
-+	nn = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1063,8 +1099,8 @@ func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Setegid(egid int) (err error) {
--	_, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0)
-+func setgroups(n int, list *_Gid_t) (err error) {
-+	_, e1 := callsetgroups(n, uintptr(unsafe.Pointer(list)))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1073,8 +1109,8 @@ func Setegid(egid int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Seteuid(euid int) (err error) {
--	_, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0)
-+func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) {
-+	_, e1 := callgetsockopt(s, level, name, uintptr(val), uintptr(unsafe.Pointer(vallen)))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1083,8 +1119,8 @@ func Seteuid(euid int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Setgid(gid int) (err error) {
--	_, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0)
-+func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) {
-+	_, e1 := callsetsockopt(s, level, name, uintptr(val), vallen)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1093,8 +1129,9 @@ func Setgid(gid int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Setpgid(pid int, pgid int) (err error) {
--	_, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0)
-+func socket(domain int, typ int, proto int) (fd int, err error) {
-+	r0, e1 := callsocket(domain, typ, proto)
-+	fd = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1103,8 +1140,8 @@ func Setpgid(pid int, pgid int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Setpriority(which int, who int, prio int) (err error) {
--	_, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio))
-+func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) {
-+	_, e1 := callsocketpair(domain, typ, proto, uintptr(unsafe.Pointer(fd)))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1113,8 +1150,8 @@ func Setpriority(which int, who int, prio int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Setregid(rgid int, egid int) (err error) {
--	_, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0)
-+func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {
-+	_, e1 := callgetpeername(fd, uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1123,8 +1160,8 @@ func Setregid(rgid int, egid int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Setreuid(ruid int, euid int) (err error) {
--	_, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0)
-+func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {
-+	_, e1 := callgetsockname(fd, uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1133,8 +1170,13 @@ func Setreuid(ruid int, euid int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Setrlimit(which int, lim *Rlimit) (err error) {
--	_, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)
-+func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) {
-+	var _p0 *byte
-+	if len(p) > 0 {
-+		_p0 = &p[0]
-+	}
-+	r0, e1 := callrecvfrom(fd, uintptr(unsafe.Pointer(_p0)), len(p), flags, uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen)))
-+	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1143,9 +1185,12 @@ func Setrlimit(which int, lim *Rlimit) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Setsid() (pid int, err error) {
--	r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0)
--	pid = int(r0)
-+func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) {
-+	var _p0 *byte
-+	if len(buf) > 0 {
-+		_p0 = &buf[0]
-+	}
-+	_, e1 := callsendto(s, uintptr(unsafe.Pointer(_p0)), len(buf), flags, uintptr(to), uintptr(addrlen))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1154,8 +1199,9 @@ func Setsid() (pid int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Settimeofday(tp *Timeval) (err error) {
--	_, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0)
-+func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) {
-+	r0, e1 := callnrecvmsg(s, uintptr(unsafe.Pointer(msg)), flags)
-+	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1164,8 +1210,9 @@ func Settimeofday(tp *Timeval) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Setuid(uid int) (err error) {
--	_, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0)
-+func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) {
-+	r0, e1 := callnsendmsg(s, uintptr(unsafe.Pointer(msg)), flags)
-+	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1174,13 +1221,8 @@ func Setuid(uid int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Stat(path string, stat *Stat_t) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
-+func munmap(addr uintptr, length uintptr) (err error) {
-+	_, e1 := callmunmap(addr, length)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1189,18 +1231,12 @@ func Stat(path string, stat *Stat_t) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Symlink(path string, link string) (err error) {
-+func Madvise(b []byte, advice int) (err error) {
- 	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(link)
--	if err != nil {
--		return
-+	if len(b) > 0 {
-+		_p0 = &b[0]
- 	}
--	_, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
-+	_, e1 := callmadvise(uintptr(unsafe.Pointer(_p0)), len(b), advice)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1209,8 +1245,12 @@ func Symlink(path string, link string) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Sync() (err error) {
--	_, _, e1 := Syscall(SYS_SYNC, 0, 0, 0)
-+func Mprotect(b []byte, prot int) (err error) {
-+	var _p0 *byte
-+	if len(b) > 0 {
-+		_p0 = &b[0]
-+	}
-+	_, e1 := callmprotect(uintptr(unsafe.Pointer(_p0)), len(b), prot)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1219,13 +1259,12 @@ func Sync() (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Truncate(path string, length int64) (err error) {
-+func Mlock(b []byte) (err error) {
- 	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
-+	if len(b) > 0 {
-+		_p0 = &b[0]
- 	}
--	_, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length))
-+	_, e1 := callmlock(uintptr(unsafe.Pointer(_p0)), len(b))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1234,21 +1273,22 @@ func Truncate(path string, length int64) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Umask(newmask int) (oldmask int) {
--	r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0)
--	oldmask = int(r0)
-+func Mlockall(flags int) (err error) {
-+	_, e1 := callmlockall(flags)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
- 	return
- }
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Unlink(path string) (err error) {
-+func Msync(b []byte, flags int) (err error) {
- 	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
-+	if len(b) > 0 {
-+		_p0 = &b[0]
- 	}
--	_, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0)
-+	_, e1 := callmsync(uintptr(unsafe.Pointer(_p0)), len(b), flags)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1257,13 +1297,12 @@ func Unlink(path string) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Unmount(path string, flags int) (err error) {
-+func Munlock(b []byte) (err error) {
- 	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
-+	if len(b) > 0 {
-+		_p0 = &b[0]
- 	}
--	_, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
-+	_, e1 := callmunlock(uintptr(unsafe.Pointer(_p0)), len(b))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1272,15 +1311,8 @@ func Unmount(path string, flags int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func write(fd int, p []byte) (n int, err error) {
--	var _p0 unsafe.Pointer
--	if len(p) > 0 {
--		_p0 = unsafe.Pointer(&p[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)))
--	n = int(r0)
-+func Munlockall() (err error) {
-+	_, e1 := callmunlockall()
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1289,9 +1321,8 @@ func write(fd int, p []byte) (n int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) {
--	r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), 0, uintptr(pos), 0, 0)
--	ret = uintptr(r0)
-+func pipe(p *[2]_C_int) (err error) {
-+	_, e1 := callpipe(uintptr(unsafe.Pointer(p)))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1300,8 +1331,9 @@ func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func munmap(addr uintptr, length uintptr) (err error) {
--	_, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0)
-+func poll(fds *PollFd, nfds int, timeout int) (n int, err error) {
-+	r0, e1 := callpoll(uintptr(unsafe.Pointer(fds)), nfds, timeout)
-+	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1310,9 +1342,8 @@ func munmap(addr uintptr, length uintptr) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func readlen(fd int, buf *byte, nbuf int) (n int, err error) {
--	r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf))
--	n = int(r0)
-+func gettimeofday(tv *Timeval, tzp *Timezone) (err error) {
-+	_, e1 := callgettimeofday(uintptr(unsafe.Pointer(tv)), uintptr(unsafe.Pointer(tzp)))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1321,9 +1352,9 @@ func readlen(fd int, buf *byte, nbuf int) (n int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func writelen(fd int, buf *byte, nbuf int) (n int, err error) {
--	r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf))
--	n = int(r0)
-+func Time(t *Time_t) (tt Time_t, err error) {
-+	r0, e1 := calltime(uintptr(unsafe.Pointer(t)))
-+	tt = Time_t(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1332,13 +1363,78 @@ func writelen(fd int, buf *byte, nbuf int) (n int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) {
-+func Utime(path string, buf *Utimbuf) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0)
-+	_, e1 := callutime(uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Getsystemcfg(label int) (n uint64) {
-+	r0, _ := callgetsystemcfg(label)
-+	n = uint64(r0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func umount(target string) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(target)
-+	if err != nil {
-+		return
-+	}
-+	_, e1 := callumount(uintptr(unsafe.Pointer(_p0)))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Getrlimit(resource int, rlim *Rlimit) (err error) {
-+	_, e1 := callgetrlimit(resource, uintptr(unsafe.Pointer(rlim)))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Setrlimit(resource int, rlim *Rlimit) (err error) {
-+	_, e1 := callsetrlimit(resource, uintptr(unsafe.Pointer(rlim)))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Seek(fd int, offset int64, whence int) (off int64, err error) {
-+	r0, e1 := calllseek(fd, offset, whence)
-+	off = int64(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) {
-+	r0, e1 := callmmap64(addr, length, prot, flags, fd, offset)
-+	xaddr = uintptr(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-diff --git a/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gc.go b/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gc.go
-new file mode 100644
-index 00000000..4b3a8ad7
---- /dev/null
-+++ b/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gc.go
-@@ -0,0 +1,1192 @@
-+// go run mksyscall_aix_ppc64.go -aix -tags aix,ppc64 syscall_aix.go syscall_aix_ppc64.go
-+// Code generated by the command above; see README.md. DO NOT EDIT.
-+
-+// +build aix,ppc64
-+// +build !gccgo
-+
-+package unix
-+
-+import (
-+	"unsafe"
-+)
-+
-+//go:cgo_import_dynamic libc_utimes utimes "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_utimensat utimensat "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_getcwd getcwd "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_accept accept "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_getdirent getdirent "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_wait4 wait4 "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_ioctl ioctl "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_fcntl fcntl "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_acct acct "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_chdir chdir "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_chroot chroot "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_close close "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_dup dup "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_exit exit "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_faccessat faccessat "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_fchdir fchdir "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_fchmod fchmod "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_fchmodat fchmodat "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_fchownat fchownat "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_fdatasync fdatasync "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_fsync fsync "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_getpgid getpgid "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_getpgrp getpgrp "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_getpid getpid "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_getppid getppid "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_getpriority getpriority "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_getrusage getrusage "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_getsid getsid "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_kill kill "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_syslog syslog "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_mkdir mkdir "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_mkdirat mkdirat "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_mkfifo mkfifo "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_mknod mknod "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_mknodat mknodat "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_nanosleep nanosleep "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_open64 open64 "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_openat openat "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_read read "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_readlink readlink "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_renameat renameat "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_setdomainname setdomainname "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_sethostname sethostname "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_setpgid setpgid "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_setsid setsid "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_settimeofday settimeofday "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_setuid setuid "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_setgid setgid "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_setpriority setpriority "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_statx statx "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_sync sync "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_times times "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_umask umask "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_uname uname "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_unlink unlink "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_unlinkat unlinkat "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_ustat ustat "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_write write "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_dup2 dup2 "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_posix_fadvise64 posix_fadvise64 "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_fchown fchown "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_fstat fstat "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_fstatat fstatat "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_fstatfs fstatfs "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_ftruncate ftruncate "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_getegid getegid "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_geteuid geteuid "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_getgid getgid "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_getuid getuid "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_lchown lchown "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_listen listen "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_lstat lstat "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_pause pause "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_pread64 pread64 "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_pwrite64 pwrite64 "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_select select "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_pselect pselect "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_setregid setregid "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_setreuid setreuid "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_shutdown shutdown "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_splice splice "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_stat stat "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_statfs statfs "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_truncate truncate "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_bind bind "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_connect connect "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_getgroups getgroups "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_setgroups setgroups "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_getsockopt getsockopt "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_setsockopt setsockopt "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_socket socket "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_socketpair socketpair "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_getpeername getpeername "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_getsockname getsockname "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_recvfrom recvfrom "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_sendto sendto "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_nrecvmsg nrecvmsg "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_nsendmsg nsendmsg "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_munmap munmap "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_madvise madvise "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_mprotect mprotect "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_mlock mlock "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_mlockall mlockall "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_msync msync "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_munlock munlock "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_munlockall munlockall "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_pipe pipe "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_poll poll "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_gettimeofday gettimeofday "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_time time "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_utime utime "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_getsystemcfg getsystemcfg "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_umount umount "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_getrlimit getrlimit "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_setrlimit setrlimit "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_lseek lseek "libc.a/shr_64.o"
-+//go:cgo_import_dynamic libc_mmap64 mmap64 "libc.a/shr_64.o"
-+
-+//go:linkname libc_utimes libc_utimes
-+//go:linkname libc_utimensat libc_utimensat
-+//go:linkname libc_getcwd libc_getcwd
-+//go:linkname libc_accept libc_accept
-+//go:linkname libc_getdirent libc_getdirent
-+//go:linkname libc_wait4 libc_wait4
-+//go:linkname libc_ioctl libc_ioctl
-+//go:linkname libc_fcntl libc_fcntl
-+//go:linkname libc_acct libc_acct
-+//go:linkname libc_chdir libc_chdir
-+//go:linkname libc_chroot libc_chroot
-+//go:linkname libc_close libc_close
-+//go:linkname libc_dup libc_dup
-+//go:linkname libc_exit libc_exit
-+//go:linkname libc_faccessat libc_faccessat
-+//go:linkname libc_fchdir libc_fchdir
-+//go:linkname libc_fchmod libc_fchmod
-+//go:linkname libc_fchmodat libc_fchmodat
-+//go:linkname libc_fchownat libc_fchownat
-+//go:linkname libc_fdatasync libc_fdatasync
-+//go:linkname libc_fsync libc_fsync
-+//go:linkname libc_getpgid libc_getpgid
-+//go:linkname libc_getpgrp libc_getpgrp
-+//go:linkname libc_getpid libc_getpid
-+//go:linkname libc_getppid libc_getppid
-+//go:linkname libc_getpriority libc_getpriority
-+//go:linkname libc_getrusage libc_getrusage
-+//go:linkname libc_getsid libc_getsid
-+//go:linkname libc_kill libc_kill
-+//go:linkname libc_syslog libc_syslog
-+//go:linkname libc_mkdir libc_mkdir
-+//go:linkname libc_mkdirat libc_mkdirat
-+//go:linkname libc_mkfifo libc_mkfifo
-+//go:linkname libc_mknod libc_mknod
-+//go:linkname libc_mknodat libc_mknodat
-+//go:linkname libc_nanosleep libc_nanosleep
-+//go:linkname libc_open64 libc_open64
-+//go:linkname libc_openat libc_openat
-+//go:linkname libc_read libc_read
-+//go:linkname libc_readlink libc_readlink
-+//go:linkname libc_renameat libc_renameat
-+//go:linkname libc_setdomainname libc_setdomainname
-+//go:linkname libc_sethostname libc_sethostname
-+//go:linkname libc_setpgid libc_setpgid
-+//go:linkname libc_setsid libc_setsid
-+//go:linkname libc_settimeofday libc_settimeofday
-+//go:linkname libc_setuid libc_setuid
-+//go:linkname libc_setgid libc_setgid
-+//go:linkname libc_setpriority libc_setpriority
-+//go:linkname libc_statx libc_statx
-+//go:linkname libc_sync libc_sync
-+//go:linkname libc_times libc_times
-+//go:linkname libc_umask libc_umask
-+//go:linkname libc_uname libc_uname
-+//go:linkname libc_unlink libc_unlink
-+//go:linkname libc_unlinkat libc_unlinkat
-+//go:linkname libc_ustat libc_ustat
-+//go:linkname libc_write libc_write
-+//go:linkname libc_dup2 libc_dup2
-+//go:linkname libc_posix_fadvise64 libc_posix_fadvise64
-+//go:linkname libc_fchown libc_fchown
-+//go:linkname libc_fstat libc_fstat
-+//go:linkname libc_fstatat libc_fstatat
-+//go:linkname libc_fstatfs libc_fstatfs
-+//go:linkname libc_ftruncate libc_ftruncate
-+//go:linkname libc_getegid libc_getegid
-+//go:linkname libc_geteuid libc_geteuid
-+//go:linkname libc_getgid libc_getgid
-+//go:linkname libc_getuid libc_getuid
-+//go:linkname libc_lchown libc_lchown
-+//go:linkname libc_listen libc_listen
-+//go:linkname libc_lstat libc_lstat
-+//go:linkname libc_pause libc_pause
-+//go:linkname libc_pread64 libc_pread64
-+//go:linkname libc_pwrite64 libc_pwrite64
-+//go:linkname libc_select libc_select
-+//go:linkname libc_pselect libc_pselect
-+//go:linkname libc_setregid libc_setregid
-+//go:linkname libc_setreuid libc_setreuid
-+//go:linkname libc_shutdown libc_shutdown
-+//go:linkname libc_splice libc_splice
-+//go:linkname libc_stat libc_stat
-+//go:linkname libc_statfs libc_statfs
-+//go:linkname libc_truncate libc_truncate
-+//go:linkname libc_bind libc_bind
-+//go:linkname libc_connect libc_connect
-+//go:linkname libc_getgroups libc_getgroups
-+//go:linkname libc_setgroups libc_setgroups
-+//go:linkname libc_getsockopt libc_getsockopt
-+//go:linkname libc_setsockopt libc_setsockopt
-+//go:linkname libc_socket libc_socket
-+//go:linkname libc_socketpair libc_socketpair
-+//go:linkname libc_getpeername libc_getpeername
-+//go:linkname libc_getsockname libc_getsockname
-+//go:linkname libc_recvfrom libc_recvfrom
-+//go:linkname libc_sendto libc_sendto
-+//go:linkname libc_nrecvmsg libc_nrecvmsg
-+//go:linkname libc_nsendmsg libc_nsendmsg
-+//go:linkname libc_munmap libc_munmap
-+//go:linkname libc_madvise libc_madvise
-+//go:linkname libc_mprotect libc_mprotect
-+//go:linkname libc_mlock libc_mlock
-+//go:linkname libc_mlockall libc_mlockall
-+//go:linkname libc_msync libc_msync
-+//go:linkname libc_munlock libc_munlock
-+//go:linkname libc_munlockall libc_munlockall
-+//go:linkname libc_pipe libc_pipe
-+//go:linkname libc_poll libc_poll
-+//go:linkname libc_gettimeofday libc_gettimeofday
-+//go:linkname libc_time libc_time
-+//go:linkname libc_utime libc_utime
-+//go:linkname libc_getsystemcfg libc_getsystemcfg
-+//go:linkname libc_umount libc_umount
-+//go:linkname libc_getrlimit libc_getrlimit
-+//go:linkname libc_setrlimit libc_setrlimit
-+//go:linkname libc_lseek libc_lseek
-+//go:linkname libc_mmap64 libc_mmap64
-+
-+type syscallFunc uintptr
-+
-+var (
-+	libc_utimes,
-+	libc_utimensat,
-+	libc_getcwd,
-+	libc_accept,
-+	libc_getdirent,
-+	libc_wait4,
-+	libc_ioctl,
-+	libc_fcntl,
-+	libc_acct,
-+	libc_chdir,
-+	libc_chroot,
-+	libc_close,
-+	libc_dup,
-+	libc_exit,
-+	libc_faccessat,
-+	libc_fchdir,
-+	libc_fchmod,
-+	libc_fchmodat,
-+	libc_fchownat,
-+	libc_fdatasync,
-+	libc_fsync,
-+	libc_getpgid,
-+	libc_getpgrp,
-+	libc_getpid,
-+	libc_getppid,
-+	libc_getpriority,
-+	libc_getrusage,
-+	libc_getsid,
-+	libc_kill,
-+	libc_syslog,
-+	libc_mkdir,
-+	libc_mkdirat,
-+	libc_mkfifo,
-+	libc_mknod,
-+	libc_mknodat,
-+	libc_nanosleep,
-+	libc_open64,
-+	libc_openat,
-+	libc_read,
-+	libc_readlink,
-+	libc_renameat,
-+	libc_setdomainname,
-+	libc_sethostname,
-+	libc_setpgid,
-+	libc_setsid,
-+	libc_settimeofday,
-+	libc_setuid,
-+	libc_setgid,
-+	libc_setpriority,
-+	libc_statx,
-+	libc_sync,
-+	libc_times,
-+	libc_umask,
-+	libc_uname,
-+	libc_unlink,
-+	libc_unlinkat,
-+	libc_ustat,
-+	libc_write,
-+	libc_dup2,
-+	libc_posix_fadvise64,
-+	libc_fchown,
-+	libc_fstat,
-+	libc_fstatat,
-+	libc_fstatfs,
-+	libc_ftruncate,
-+	libc_getegid,
-+	libc_geteuid,
-+	libc_getgid,
-+	libc_getuid,
-+	libc_lchown,
-+	libc_listen,
-+	libc_lstat,
-+	libc_pause,
-+	libc_pread64,
-+	libc_pwrite64,
-+	libc_select,
-+	libc_pselect,
-+	libc_setregid,
-+	libc_setreuid,
-+	libc_shutdown,
-+	libc_splice,
-+	libc_stat,
-+	libc_statfs,
-+	libc_truncate,
-+	libc_bind,
-+	libc_connect,
-+	libc_getgroups,
-+	libc_setgroups,
-+	libc_getsockopt,
-+	libc_setsockopt,
-+	libc_socket,
-+	libc_socketpair,
-+	libc_getpeername,
-+	libc_getsockname,
-+	libc_recvfrom,
-+	libc_sendto,
-+	libc_nrecvmsg,
-+	libc_nsendmsg,
-+	libc_munmap,
-+	libc_madvise,
-+	libc_mprotect,
-+	libc_mlock,
-+	libc_mlockall,
-+	libc_msync,
-+	libc_munlock,
-+	libc_munlockall,
-+	libc_pipe,
-+	libc_poll,
-+	libc_gettimeofday,
-+	libc_time,
-+	libc_utime,
-+	libc_getsystemcfg,
-+	libc_umount,
-+	libc_getrlimit,
-+	libc_setrlimit,
-+	libc_lseek,
-+	libc_mmap64 syscallFunc
-+)
-+
-+// Implemented in runtime/syscall_aix.go.
-+func rawSyscall6(trap, nargs, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err Errno)
-+func syscall6(trap, nargs, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err Errno)
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callutimes(_p0 uintptr, times uintptr) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_utimes)), 2, _p0, times, 0, 0, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callutimensat(dirfd int, _p0 uintptr, times uintptr, flag int) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_utimensat)), 4, uintptr(dirfd), _p0, times, uintptr(flag), 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callgetcwd(_p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_getcwd)), 2, _p0, uintptr(_lenp0), 0, 0, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callaccept(s int, rsa uintptr, addrlen uintptr) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_accept)), 3, uintptr(s), rsa, addrlen, 0, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callgetdirent(fd int, _p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_getdirent)), 3, uintptr(fd), _p0, uintptr(_lenp0), 0, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callwait4(pid int, status uintptr, options int, rusage uintptr) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_wait4)), 4, uintptr(pid), status, uintptr(options), rusage, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callioctl(fd int, req int, arg uintptr) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_ioctl)), 3, uintptr(fd), uintptr(req), arg, 0, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callfcntl(fd uintptr, cmd int, arg uintptr) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_fcntl)), 3, fd, uintptr(cmd), arg, 0, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callacct(_p0 uintptr) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_acct)), 1, _p0, 0, 0, 0, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callchdir(_p0 uintptr) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_chdir)), 1, _p0, 0, 0, 0, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callchroot(_p0 uintptr) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_chroot)), 1, _p0, 0, 0, 0, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callclose(fd int) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_close)), 1, uintptr(fd), 0, 0, 0, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func calldup(oldfd int) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_dup)), 1, uintptr(oldfd), 0, 0, 0, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callexit(code int) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_exit)), 1, uintptr(code), 0, 0, 0, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callfaccessat(dirfd int, _p0 uintptr, mode uint32, flags int) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_faccessat)), 4, uintptr(dirfd), _p0, uintptr(mode), uintptr(flags), 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callfchdir(fd int) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_fchdir)), 1, uintptr(fd), 0, 0, 0, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callfchmod(fd int, mode uint32) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_fchmod)), 2, uintptr(fd), uintptr(mode), 0, 0, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callfchmodat(dirfd int, _p0 uintptr, mode uint32, flags int) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_fchmodat)), 4, uintptr(dirfd), _p0, uintptr(mode), uintptr(flags), 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callfchownat(dirfd int, _p0 uintptr, uid int, gid int, flags int) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_fchownat)), 5, uintptr(dirfd), _p0, uintptr(uid), uintptr(gid), uintptr(flags), 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callfdatasync(fd int) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_fdatasync)), 1, uintptr(fd), 0, 0, 0, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callfsync(fd int) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_fsync)), 1, uintptr(fd), 0, 0, 0, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callgetpgid(pid int) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_getpgid)), 1, uintptr(pid), 0, 0, 0, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callgetpgrp() (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_getpgrp)), 0, 0, 0, 0, 0, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callgetpid() (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_getpid)), 0, 0, 0, 0, 0, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callgetppid() (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_getppid)), 0, 0, 0, 0, 0, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callgetpriority(which int, who int) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_getpriority)), 2, uintptr(which), uintptr(who), 0, 0, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callgetrusage(who int, rusage uintptr) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_getrusage)), 2, uintptr(who), rusage, 0, 0, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callgetsid(pid int) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_getsid)), 1, uintptr(pid), 0, 0, 0, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callkill(pid int, sig int) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_kill)), 2, uintptr(pid), uintptr(sig), 0, 0, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callsyslog(typ int, _p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_syslog)), 3, uintptr(typ), _p0, uintptr(_lenp0), 0, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callmkdir(dirfd int, _p0 uintptr, mode uint32) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_mkdir)), 3, uintptr(dirfd), _p0, uintptr(mode), 0, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callmkdirat(dirfd int, _p0 uintptr, mode uint32) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_mkdirat)), 3, uintptr(dirfd), _p0, uintptr(mode), 0, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callmkfifo(_p0 uintptr, mode uint32) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_mkfifo)), 2, _p0, uintptr(mode), 0, 0, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callmknod(_p0 uintptr, mode uint32, dev int) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_mknod)), 3, _p0, uintptr(mode), uintptr(dev), 0, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callmknodat(dirfd int, _p0 uintptr, mode uint32, dev int) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_mknodat)), 4, uintptr(dirfd), _p0, uintptr(mode), uintptr(dev), 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callnanosleep(time uintptr, leftover uintptr) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_nanosleep)), 2, time, leftover, 0, 0, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callopen64(_p0 uintptr, mode int, perm uint32) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_open64)), 3, _p0, uintptr(mode), uintptr(perm), 0, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callopenat(dirfd int, _p0 uintptr, flags int, mode uint32) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_openat)), 4, uintptr(dirfd), _p0, uintptr(flags), uintptr(mode), 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callread(fd int, _p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_read)), 3, uintptr(fd), _p0, uintptr(_lenp0), 0, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callreadlink(_p0 uintptr, _p1 uintptr, _lenp1 int) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_readlink)), 3, _p0, _p1, uintptr(_lenp1), 0, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callrenameat(olddirfd int, _p0 uintptr, newdirfd int, _p1 uintptr) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_renameat)), 4, uintptr(olddirfd), _p0, uintptr(newdirfd), _p1, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callsetdomainname(_p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_setdomainname)), 2, _p0, uintptr(_lenp0), 0, 0, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callsethostname(_p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_sethostname)), 2, _p0, uintptr(_lenp0), 0, 0, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callsetpgid(pid int, pgid int) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_setpgid)), 2, uintptr(pid), uintptr(pgid), 0, 0, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callsetsid() (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_setsid)), 0, 0, 0, 0, 0, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callsettimeofday(tv uintptr) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_settimeofday)), 1, tv, 0, 0, 0, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callsetuid(uid int) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_setuid)), 1, uintptr(uid), 0, 0, 0, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callsetgid(uid int) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_setgid)), 1, uintptr(uid), 0, 0, 0, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callsetpriority(which int, who int, prio int) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_setpriority)), 3, uintptr(which), uintptr(who), uintptr(prio), 0, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callstatx(dirfd int, _p0 uintptr, flags int, mask int, stat uintptr) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_statx)), 5, uintptr(dirfd), _p0, uintptr(flags), uintptr(mask), stat, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callsync() (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_sync)), 0, 0, 0, 0, 0, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func calltimes(tms uintptr) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_times)), 1, tms, 0, 0, 0, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callumask(mask int) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_umask)), 1, uintptr(mask), 0, 0, 0, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func calluname(buf uintptr) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_uname)), 1, buf, 0, 0, 0, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callunlink(_p0 uintptr) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_unlink)), 1, _p0, 0, 0, 0, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callunlinkat(dirfd int, _p0 uintptr, flags int) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_unlinkat)), 3, uintptr(dirfd), _p0, uintptr(flags), 0, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callustat(dev int, ubuf uintptr) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_ustat)), 2, uintptr(dev), ubuf, 0, 0, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callwrite(fd int, _p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_write)), 3, uintptr(fd), _p0, uintptr(_lenp0), 0, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func calldup2(oldfd int, newfd int) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_dup2)), 2, uintptr(oldfd), uintptr(newfd), 0, 0, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callposix_fadvise64(fd int, offset int64, length int64, advice int) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_posix_fadvise64)), 4, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callfchown(fd int, uid int, gid int) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_fchown)), 3, uintptr(fd), uintptr(uid), uintptr(gid), 0, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callfstat(fd int, stat uintptr) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_fstat)), 2, uintptr(fd), stat, 0, 0, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callfstatat(dirfd int, _p0 uintptr, stat uintptr, flags int) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_fstatat)), 4, uintptr(dirfd), _p0, stat, uintptr(flags), 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callfstatfs(fd int, buf uintptr) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_fstatfs)), 2, uintptr(fd), buf, 0, 0, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callftruncate(fd int, length int64) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_ftruncate)), 2, uintptr(fd), uintptr(length), 0, 0, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callgetegid() (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_getegid)), 0, 0, 0, 0, 0, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callgeteuid() (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_geteuid)), 0, 0, 0, 0, 0, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callgetgid() (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_getgid)), 0, 0, 0, 0, 0, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callgetuid() (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_getuid)), 0, 0, 0, 0, 0, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func calllchown(_p0 uintptr, uid int, gid int) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_lchown)), 3, _p0, uintptr(uid), uintptr(gid), 0, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func calllisten(s int, n int) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_listen)), 2, uintptr(s), uintptr(n), 0, 0, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func calllstat(_p0 uintptr, stat uintptr) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_lstat)), 2, _p0, stat, 0, 0, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callpause() (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_pause)), 0, 0, 0, 0, 0, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callpread64(fd int, _p0 uintptr, _lenp0 int, offset int64) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_pread64)), 4, uintptr(fd), _p0, uintptr(_lenp0), uintptr(offset), 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callpwrite64(fd int, _p0 uintptr, _lenp0 int, offset int64) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_pwrite64)), 4, uintptr(fd), _p0, uintptr(_lenp0), uintptr(offset), 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callselect(nfd int, r uintptr, w uintptr, e uintptr, timeout uintptr) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_select)), 5, uintptr(nfd), r, w, e, timeout, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callpselect(nfd int, r uintptr, w uintptr, e uintptr, timeout uintptr, sigmask uintptr) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_pselect)), 6, uintptr(nfd), r, w, e, timeout, sigmask)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callsetregid(rgid int, egid int) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_setregid)), 2, uintptr(rgid), uintptr(egid), 0, 0, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callsetreuid(ruid int, euid int) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_setreuid)), 2, uintptr(ruid), uintptr(euid), 0, 0, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callshutdown(fd int, how int) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_shutdown)), 2, uintptr(fd), uintptr(how), 0, 0, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callsplice(rfd int, roff uintptr, wfd int, woff uintptr, len int, flags int) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_splice)), 6, uintptr(rfd), roff, uintptr(wfd), woff, uintptr(len), uintptr(flags))
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callstat(_p0 uintptr, statptr uintptr) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_stat)), 2, _p0, statptr, 0, 0, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callstatfs(_p0 uintptr, buf uintptr) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_statfs)), 2, _p0, buf, 0, 0, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func calltruncate(_p0 uintptr, length int64) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_truncate)), 2, _p0, uintptr(length), 0, 0, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callbind(s int, addr uintptr, addrlen uintptr) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_bind)), 3, uintptr(s), addr, addrlen, 0, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callconnect(s int, addr uintptr, addrlen uintptr) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_connect)), 3, uintptr(s), addr, addrlen, 0, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callgetgroups(n int, list uintptr) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_getgroups)), 2, uintptr(n), list, 0, 0, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callsetgroups(n int, list uintptr) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_setgroups)), 2, uintptr(n), list, 0, 0, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callgetsockopt(s int, level int, name int, val uintptr, vallen uintptr) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_getsockopt)), 5, uintptr(s), uintptr(level), uintptr(name), val, vallen, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callsetsockopt(s int, level int, name int, val uintptr, vallen uintptr) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_setsockopt)), 5, uintptr(s), uintptr(level), uintptr(name), val, vallen, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callsocket(domain int, typ int, proto int) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_socket)), 3, uintptr(domain), uintptr(typ), uintptr(proto), 0, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callsocketpair(domain int, typ int, proto int, fd uintptr) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_socketpair)), 4, uintptr(domain), uintptr(typ), uintptr(proto), fd, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callgetpeername(fd int, rsa uintptr, addrlen uintptr) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_getpeername)), 3, uintptr(fd), rsa, addrlen, 0, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callgetsockname(fd int, rsa uintptr, addrlen uintptr) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_getsockname)), 3, uintptr(fd), rsa, addrlen, 0, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callrecvfrom(fd int, _p0 uintptr, _lenp0 int, flags int, from uintptr, fromlen uintptr) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_recvfrom)), 6, uintptr(fd), _p0, uintptr(_lenp0), uintptr(flags), from, fromlen)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callsendto(s int, _p0 uintptr, _lenp0 int, flags int, to uintptr, addrlen uintptr) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_sendto)), 6, uintptr(s), _p0, uintptr(_lenp0), uintptr(flags), to, addrlen)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callnrecvmsg(s int, msg uintptr, flags int) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_nrecvmsg)), 3, uintptr(s), msg, uintptr(flags), 0, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callnsendmsg(s int, msg uintptr, flags int) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_nsendmsg)), 3, uintptr(s), msg, uintptr(flags), 0, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callmunmap(addr uintptr, length uintptr) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_munmap)), 2, addr, length, 0, 0, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callmadvise(_p0 uintptr, _lenp0 int, advice int) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_madvise)), 3, _p0, uintptr(_lenp0), uintptr(advice), 0, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callmprotect(_p0 uintptr, _lenp0 int, prot int) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_mprotect)), 3, _p0, uintptr(_lenp0), uintptr(prot), 0, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callmlock(_p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_mlock)), 2, _p0, uintptr(_lenp0), 0, 0, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callmlockall(flags int) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_mlockall)), 1, uintptr(flags), 0, 0, 0, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callmsync(_p0 uintptr, _lenp0 int, flags int) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_msync)), 3, _p0, uintptr(_lenp0), uintptr(flags), 0, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callmunlock(_p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_munlock)), 2, _p0, uintptr(_lenp0), 0, 0, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callmunlockall() (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_munlockall)), 0, 0, 0, 0, 0, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callpipe(p uintptr) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_pipe)), 1, p, 0, 0, 0, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callpoll(fds uintptr, nfds int, timeout int) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_poll)), 3, fds, uintptr(nfds), uintptr(timeout), 0, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callgettimeofday(tv uintptr, tzp uintptr) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_gettimeofday)), 2, tv, tzp, 0, 0, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func calltime(t uintptr) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_time)), 1, t, 0, 0, 0, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callutime(_p0 uintptr, buf uintptr) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_utime)), 2, _p0, buf, 0, 0, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callgetsystemcfg(label int) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_getsystemcfg)), 1, uintptr(label), 0, 0, 0, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callumount(_p0 uintptr) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_umount)), 1, _p0, 0, 0, 0, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callgetrlimit(resource int, rlim uintptr) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_getrlimit)), 2, uintptr(resource), rlim, 0, 0, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callsetrlimit(resource int, rlim uintptr) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_setrlimit)), 2, uintptr(resource), rlim, 0, 0, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func calllseek(fd int, offset int64, whence int) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_lseek)), 3, uintptr(fd), uintptr(offset), uintptr(whence), 0, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callmmap64(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (r1 uintptr, e1 Errno) {
-+	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_mmap64)), 6, addr, length, uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset))
-+	return
-+}
-diff --git a/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gccgo.go b/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gccgo.go
-new file mode 100644
-index 00000000..cde4dbc5
---- /dev/null
-+++ b/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gccgo.go
-@@ -0,0 +1,1070 @@
-+// go run mksyscall_aix_ppc64.go -aix -tags aix,ppc64 syscall_aix.go syscall_aix_ppc64.go
-+// Code generated by the command above; see README.md. DO NOT EDIT.
-+
-+// +build aix,ppc64
-+// +build gccgo
-+
-+package unix
-+
-+/*
-+#include 
-+int utimes(uintptr_t, uintptr_t);
-+int utimensat(int, uintptr_t, uintptr_t, int);
-+int getcwd(uintptr_t, size_t);
-+int accept(int, uintptr_t, uintptr_t);
-+int getdirent(int, uintptr_t, size_t);
-+int wait4(int, uintptr_t, int, uintptr_t);
-+int ioctl(int, int, uintptr_t);
-+int fcntl(uintptr_t, int, uintptr_t);
-+int acct(uintptr_t);
-+int chdir(uintptr_t);
-+int chroot(uintptr_t);
-+int close(int);
-+int dup(int);
-+void exit(int);
-+int faccessat(int, uintptr_t, unsigned int, int);
-+int fchdir(int);
-+int fchmod(int, unsigned int);
-+int fchmodat(int, uintptr_t, unsigned int, int);
-+int fchownat(int, uintptr_t, int, int, int);
-+int fdatasync(int);
-+int fsync(int);
-+int getpgid(int);
-+int getpgrp();
-+int getpid();
-+int getppid();
-+int getpriority(int, int);
-+int getrusage(int, uintptr_t);
-+int getsid(int);
-+int kill(int, int);
-+int syslog(int, uintptr_t, size_t);
-+int mkdir(int, uintptr_t, unsigned int);
-+int mkdirat(int, uintptr_t, unsigned int);
-+int mkfifo(uintptr_t, unsigned int);
-+int mknod(uintptr_t, unsigned int, int);
-+int mknodat(int, uintptr_t, unsigned int, int);
-+int nanosleep(uintptr_t, uintptr_t);
-+int open64(uintptr_t, int, unsigned int);
-+int openat(int, uintptr_t, int, unsigned int);
-+int read(int, uintptr_t, size_t);
-+int readlink(uintptr_t, uintptr_t, size_t);
-+int renameat(int, uintptr_t, int, uintptr_t);
-+int setdomainname(uintptr_t, size_t);
-+int sethostname(uintptr_t, size_t);
-+int setpgid(int, int);
-+int setsid();
-+int settimeofday(uintptr_t);
-+int setuid(int);
-+int setgid(int);
-+int setpriority(int, int, int);
-+int statx(int, uintptr_t, int, int, uintptr_t);
-+int sync();
-+uintptr_t times(uintptr_t);
-+int umask(int);
-+int uname(uintptr_t);
-+int unlink(uintptr_t);
-+int unlinkat(int, uintptr_t, int);
-+int ustat(int, uintptr_t);
-+int write(int, uintptr_t, size_t);
-+int dup2(int, int);
-+int posix_fadvise64(int, long long, long long, int);
-+int fchown(int, int, int);
-+int fstat(int, uintptr_t);
-+int fstatat(int, uintptr_t, uintptr_t, int);
-+int fstatfs(int, uintptr_t);
-+int ftruncate(int, long long);
-+int getegid();
-+int geteuid();
-+int getgid();
-+int getuid();
-+int lchown(uintptr_t, int, int);
-+int listen(int, int);
-+int lstat(uintptr_t, uintptr_t);
-+int pause();
-+int pread64(int, uintptr_t, size_t, long long);
-+int pwrite64(int, uintptr_t, size_t, long long);
-+#define c_select select
-+int select(int, uintptr_t, uintptr_t, uintptr_t, uintptr_t);
-+int pselect(int, uintptr_t, uintptr_t, uintptr_t, uintptr_t, uintptr_t);
-+int setregid(int, int);
-+int setreuid(int, int);
-+int shutdown(int, int);
-+long long splice(int, uintptr_t, int, uintptr_t, int, int);
-+int stat(uintptr_t, uintptr_t);
-+int statfs(uintptr_t, uintptr_t);
-+int truncate(uintptr_t, long long);
-+int bind(int, uintptr_t, uintptr_t);
-+int connect(int, uintptr_t, uintptr_t);
-+int getgroups(int, uintptr_t);
-+int setgroups(int, uintptr_t);
-+int getsockopt(int, int, int, uintptr_t, uintptr_t);
-+int setsockopt(int, int, int, uintptr_t, uintptr_t);
-+int socket(int, int, int);
-+int socketpair(int, int, int, uintptr_t);
-+int getpeername(int, uintptr_t, uintptr_t);
-+int getsockname(int, uintptr_t, uintptr_t);
-+int recvfrom(int, uintptr_t, size_t, int, uintptr_t, uintptr_t);
-+int sendto(int, uintptr_t, size_t, int, uintptr_t, uintptr_t);
-+int nrecvmsg(int, uintptr_t, int);
-+int nsendmsg(int, uintptr_t, int);
-+int munmap(uintptr_t, uintptr_t);
-+int madvise(uintptr_t, size_t, int);
-+int mprotect(uintptr_t, size_t, int);
-+int mlock(uintptr_t, size_t);
-+int mlockall(int);
-+int msync(uintptr_t, size_t, int);
-+int munlock(uintptr_t, size_t);
-+int munlockall();
-+int pipe(uintptr_t);
-+int poll(uintptr_t, int, int);
-+int gettimeofday(uintptr_t, uintptr_t);
-+int time(uintptr_t);
-+int utime(uintptr_t, uintptr_t);
-+unsigned long long getsystemcfg(int);
-+int umount(uintptr_t);
-+int getrlimit(int, uintptr_t);
-+int setrlimit(int, uintptr_t);
-+long long lseek(int, long long, int);
-+uintptr_t mmap64(uintptr_t, uintptr_t, int, int, int, long long);
-+
-+*/
-+import "C"
-+import (
-+	"syscall"
-+)
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callutimes(_p0 uintptr, times uintptr) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.utimes(C.uintptr_t(_p0), C.uintptr_t(times)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callutimensat(dirfd int, _p0 uintptr, times uintptr, flag int) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.utimensat(C.int(dirfd), C.uintptr_t(_p0), C.uintptr_t(times), C.int(flag)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callgetcwd(_p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.getcwd(C.uintptr_t(_p0), C.size_t(_lenp0)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callaccept(s int, rsa uintptr, addrlen uintptr) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.accept(C.int(s), C.uintptr_t(rsa), C.uintptr_t(addrlen)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callgetdirent(fd int, _p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.getdirent(C.int(fd), C.uintptr_t(_p0), C.size_t(_lenp0)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callwait4(pid int, status uintptr, options int, rusage uintptr) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.wait4(C.int(pid), C.uintptr_t(status), C.int(options), C.uintptr_t(rusage)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callioctl(fd int, req int, arg uintptr) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.ioctl(C.int(fd), C.int(req), C.uintptr_t(arg)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callfcntl(fd uintptr, cmd int, arg uintptr) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.fcntl(C.uintptr_t(fd), C.int(cmd), C.uintptr_t(arg)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callacct(_p0 uintptr) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.acct(C.uintptr_t(_p0)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callchdir(_p0 uintptr) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.chdir(C.uintptr_t(_p0)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callchroot(_p0 uintptr) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.chroot(C.uintptr_t(_p0)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callclose(fd int) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.close(C.int(fd)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func calldup(oldfd int) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.dup(C.int(oldfd)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callexit(code int) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.exit(C.int(code)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callfaccessat(dirfd int, _p0 uintptr, mode uint32, flags int) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.faccessat(C.int(dirfd), C.uintptr_t(_p0), C.uint(mode), C.int(flags)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callfchdir(fd int) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.fchdir(C.int(fd)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callfchmod(fd int, mode uint32) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.fchmod(C.int(fd), C.uint(mode)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callfchmodat(dirfd int, _p0 uintptr, mode uint32, flags int) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.fchmodat(C.int(dirfd), C.uintptr_t(_p0), C.uint(mode), C.int(flags)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callfchownat(dirfd int, _p0 uintptr, uid int, gid int, flags int) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.fchownat(C.int(dirfd), C.uintptr_t(_p0), C.int(uid), C.int(gid), C.int(flags)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callfdatasync(fd int) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.fdatasync(C.int(fd)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callfsync(fd int) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.fsync(C.int(fd)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callgetpgid(pid int) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.getpgid(C.int(pid)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callgetpgrp() (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.getpgrp())
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callgetpid() (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.getpid())
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callgetppid() (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.getppid())
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callgetpriority(which int, who int) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.getpriority(C.int(which), C.int(who)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callgetrusage(who int, rusage uintptr) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.getrusage(C.int(who), C.uintptr_t(rusage)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callgetsid(pid int) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.getsid(C.int(pid)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callkill(pid int, sig int) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.kill(C.int(pid), C.int(sig)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callsyslog(typ int, _p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.syslog(C.int(typ), C.uintptr_t(_p0), C.size_t(_lenp0)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callmkdir(dirfd int, _p0 uintptr, mode uint32) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.mkdir(C.int(dirfd), C.uintptr_t(_p0), C.uint(mode)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callmkdirat(dirfd int, _p0 uintptr, mode uint32) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.mkdirat(C.int(dirfd), C.uintptr_t(_p0), C.uint(mode)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callmkfifo(_p0 uintptr, mode uint32) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.mkfifo(C.uintptr_t(_p0), C.uint(mode)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callmknod(_p0 uintptr, mode uint32, dev int) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.mknod(C.uintptr_t(_p0), C.uint(mode), C.int(dev)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callmknodat(dirfd int, _p0 uintptr, mode uint32, dev int) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.mknodat(C.int(dirfd), C.uintptr_t(_p0), C.uint(mode), C.int(dev)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callnanosleep(time uintptr, leftover uintptr) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.nanosleep(C.uintptr_t(time), C.uintptr_t(leftover)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callopen64(_p0 uintptr, mode int, perm uint32) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.open64(C.uintptr_t(_p0), C.int(mode), C.uint(perm)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callopenat(dirfd int, _p0 uintptr, flags int, mode uint32) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.openat(C.int(dirfd), C.uintptr_t(_p0), C.int(flags), C.uint(mode)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callread(fd int, _p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.read(C.int(fd), C.uintptr_t(_p0), C.size_t(_lenp0)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callreadlink(_p0 uintptr, _p1 uintptr, _lenp1 int) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.readlink(C.uintptr_t(_p0), C.uintptr_t(_p1), C.size_t(_lenp1)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callrenameat(olddirfd int, _p0 uintptr, newdirfd int, _p1 uintptr) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.renameat(C.int(olddirfd), C.uintptr_t(_p0), C.int(newdirfd), C.uintptr_t(_p1)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callsetdomainname(_p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.setdomainname(C.uintptr_t(_p0), C.size_t(_lenp0)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callsethostname(_p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.sethostname(C.uintptr_t(_p0), C.size_t(_lenp0)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callsetpgid(pid int, pgid int) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.setpgid(C.int(pid), C.int(pgid)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callsetsid() (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.setsid())
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callsettimeofday(tv uintptr) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.settimeofday(C.uintptr_t(tv)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callsetuid(uid int) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.setuid(C.int(uid)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callsetgid(uid int) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.setgid(C.int(uid)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callsetpriority(which int, who int, prio int) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.setpriority(C.int(which), C.int(who), C.int(prio)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callstatx(dirfd int, _p0 uintptr, flags int, mask int, stat uintptr) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.statx(C.int(dirfd), C.uintptr_t(_p0), C.int(flags), C.int(mask), C.uintptr_t(stat)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callsync() (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.sync())
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func calltimes(tms uintptr) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.times(C.uintptr_t(tms)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callumask(mask int) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.umask(C.int(mask)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func calluname(buf uintptr) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.uname(C.uintptr_t(buf)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callunlink(_p0 uintptr) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.unlink(C.uintptr_t(_p0)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callunlinkat(dirfd int, _p0 uintptr, flags int) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.unlinkat(C.int(dirfd), C.uintptr_t(_p0), C.int(flags)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callustat(dev int, ubuf uintptr) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.ustat(C.int(dev), C.uintptr_t(ubuf)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callwrite(fd int, _p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.write(C.int(fd), C.uintptr_t(_p0), C.size_t(_lenp0)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func calldup2(oldfd int, newfd int) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.dup2(C.int(oldfd), C.int(newfd)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callposix_fadvise64(fd int, offset int64, length int64, advice int) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.posix_fadvise64(C.int(fd), C.longlong(offset), C.longlong(length), C.int(advice)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callfchown(fd int, uid int, gid int) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.fchown(C.int(fd), C.int(uid), C.int(gid)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callfstat(fd int, stat uintptr) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.fstat(C.int(fd), C.uintptr_t(stat)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callfstatat(dirfd int, _p0 uintptr, stat uintptr, flags int) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.fstatat(C.int(dirfd), C.uintptr_t(_p0), C.uintptr_t(stat), C.int(flags)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callfstatfs(fd int, buf uintptr) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.fstatfs(C.int(fd), C.uintptr_t(buf)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callftruncate(fd int, length int64) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.ftruncate(C.int(fd), C.longlong(length)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callgetegid() (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.getegid())
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callgeteuid() (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.geteuid())
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callgetgid() (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.getgid())
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callgetuid() (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.getuid())
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func calllchown(_p0 uintptr, uid int, gid int) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.lchown(C.uintptr_t(_p0), C.int(uid), C.int(gid)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func calllisten(s int, n int) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.listen(C.int(s), C.int(n)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func calllstat(_p0 uintptr, stat uintptr) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.lstat(C.uintptr_t(_p0), C.uintptr_t(stat)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callpause() (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.pause())
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callpread64(fd int, _p0 uintptr, _lenp0 int, offset int64) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.pread64(C.int(fd), C.uintptr_t(_p0), C.size_t(_lenp0), C.longlong(offset)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callpwrite64(fd int, _p0 uintptr, _lenp0 int, offset int64) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.pwrite64(C.int(fd), C.uintptr_t(_p0), C.size_t(_lenp0), C.longlong(offset)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callselect(nfd int, r uintptr, w uintptr, e uintptr, timeout uintptr) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.c_select(C.int(nfd), C.uintptr_t(r), C.uintptr_t(w), C.uintptr_t(e), C.uintptr_t(timeout)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callpselect(nfd int, r uintptr, w uintptr, e uintptr, timeout uintptr, sigmask uintptr) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.pselect(C.int(nfd), C.uintptr_t(r), C.uintptr_t(w), C.uintptr_t(e), C.uintptr_t(timeout), C.uintptr_t(sigmask)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callsetregid(rgid int, egid int) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.setregid(C.int(rgid), C.int(egid)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callsetreuid(ruid int, euid int) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.setreuid(C.int(ruid), C.int(euid)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callshutdown(fd int, how int) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.shutdown(C.int(fd), C.int(how)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callsplice(rfd int, roff uintptr, wfd int, woff uintptr, len int, flags int) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.splice(C.int(rfd), C.uintptr_t(roff), C.int(wfd), C.uintptr_t(woff), C.int(len), C.int(flags)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callstat(_p0 uintptr, statptr uintptr) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.stat(C.uintptr_t(_p0), C.uintptr_t(statptr)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callstatfs(_p0 uintptr, buf uintptr) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.statfs(C.uintptr_t(_p0), C.uintptr_t(buf)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func calltruncate(_p0 uintptr, length int64) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.truncate(C.uintptr_t(_p0), C.longlong(length)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callbind(s int, addr uintptr, addrlen uintptr) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.bind(C.int(s), C.uintptr_t(addr), C.uintptr_t(addrlen)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callconnect(s int, addr uintptr, addrlen uintptr) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.connect(C.int(s), C.uintptr_t(addr), C.uintptr_t(addrlen)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callgetgroups(n int, list uintptr) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.getgroups(C.int(n), C.uintptr_t(list)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callsetgroups(n int, list uintptr) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.setgroups(C.int(n), C.uintptr_t(list)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callgetsockopt(s int, level int, name int, val uintptr, vallen uintptr) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.getsockopt(C.int(s), C.int(level), C.int(name), C.uintptr_t(val), C.uintptr_t(vallen)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callsetsockopt(s int, level int, name int, val uintptr, vallen uintptr) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.setsockopt(C.int(s), C.int(level), C.int(name), C.uintptr_t(val), C.uintptr_t(vallen)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callsocket(domain int, typ int, proto int) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.socket(C.int(domain), C.int(typ), C.int(proto)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callsocketpair(domain int, typ int, proto int, fd uintptr) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.socketpair(C.int(domain), C.int(typ), C.int(proto), C.uintptr_t(fd)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callgetpeername(fd int, rsa uintptr, addrlen uintptr) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.getpeername(C.int(fd), C.uintptr_t(rsa), C.uintptr_t(addrlen)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callgetsockname(fd int, rsa uintptr, addrlen uintptr) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.getsockname(C.int(fd), C.uintptr_t(rsa), C.uintptr_t(addrlen)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callrecvfrom(fd int, _p0 uintptr, _lenp0 int, flags int, from uintptr, fromlen uintptr) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.recvfrom(C.int(fd), C.uintptr_t(_p0), C.size_t(_lenp0), C.int(flags), C.uintptr_t(from), C.uintptr_t(fromlen)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callsendto(s int, _p0 uintptr, _lenp0 int, flags int, to uintptr, addrlen uintptr) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.sendto(C.int(s), C.uintptr_t(_p0), C.size_t(_lenp0), C.int(flags), C.uintptr_t(to), C.uintptr_t(addrlen)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callnrecvmsg(s int, msg uintptr, flags int) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.nrecvmsg(C.int(s), C.uintptr_t(msg), C.int(flags)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callnsendmsg(s int, msg uintptr, flags int) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.nsendmsg(C.int(s), C.uintptr_t(msg), C.int(flags)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callmunmap(addr uintptr, length uintptr) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.munmap(C.uintptr_t(addr), C.uintptr_t(length)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callmadvise(_p0 uintptr, _lenp0 int, advice int) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.madvise(C.uintptr_t(_p0), C.size_t(_lenp0), C.int(advice)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callmprotect(_p0 uintptr, _lenp0 int, prot int) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.mprotect(C.uintptr_t(_p0), C.size_t(_lenp0), C.int(prot)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callmlock(_p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.mlock(C.uintptr_t(_p0), C.size_t(_lenp0)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callmlockall(flags int) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.mlockall(C.int(flags)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callmsync(_p0 uintptr, _lenp0 int, flags int) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.msync(C.uintptr_t(_p0), C.size_t(_lenp0), C.int(flags)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callmunlock(_p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.munlock(C.uintptr_t(_p0), C.size_t(_lenp0)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callmunlockall() (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.munlockall())
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callpipe(p uintptr) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.pipe(C.uintptr_t(p)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callpoll(fds uintptr, nfds int, timeout int) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.poll(C.uintptr_t(fds), C.int(nfds), C.int(timeout)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callgettimeofday(tv uintptr, tzp uintptr) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.gettimeofday(C.uintptr_t(tv), C.uintptr_t(tzp)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func calltime(t uintptr) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.time(C.uintptr_t(t)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callutime(_p0 uintptr, buf uintptr) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.utime(C.uintptr_t(_p0), C.uintptr_t(buf)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callgetsystemcfg(label int) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.getsystemcfg(C.int(label)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callumount(_p0 uintptr) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.umount(C.uintptr_t(_p0)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callgetrlimit(resource int, rlim uintptr) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.getrlimit(C.int(resource), C.uintptr_t(rlim)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callsetrlimit(resource int, rlim uintptr) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.setrlimit(C.int(resource), C.uintptr_t(rlim)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func calllseek(fd int, offset int64, whence int) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.lseek(C.int(fd), C.longlong(offset), C.int(whence)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func callmmap64(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (r1 uintptr, e1 Errno) {
-+	r1 = uintptr(C.mmap64(C.uintptr_t(addr), C.uintptr_t(length), C.int(prot), C.int(flags), C.int(fd), C.longlong(offset)))
-+	e1 = syscall.GetErrno()
-+	return
-+}
-diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.1_11.go
-similarity index 85%
-copy from vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.go
-copy to vendor/golang.org/x/sys/unix/zsyscall_darwin_386.1_11.go
-index 7a409745..c1cc0a41 100644
---- a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.go
-+++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.1_11.go
-@@ -1,7 +1,7 @@
--// mksyscall.pl -tags darwin,arm syscall_bsd.go syscall_darwin.go syscall_darwin_arm.go
-+// go run mksyscall.go -l32 -tags darwin,386,!go1.12 syscall_bsd.go syscall_darwin.go syscall_darwin_386.1_11.go syscall_darwin_386.go
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
--// +build darwin,arm
-+// +build darwin,386,!go1.12
- 
- package unix
- 
-@@ -214,22 +214,6 @@ func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, ne
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) {
--	var _p0 unsafe.Pointer
--	if len(mib) > 0 {
--		_p0 = unsafe.Pointer(&mib[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall6(SYS_SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
- func utimes(path string, timeval *[2]Timeval) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -255,9 +239,9 @@ func futimes(fd int, timeval *[2]Timeval) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func fcntl(fd int, cmd int, arg int) (val int, err error) {
--	r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg))
--	val = int(r0)
-+func poll(fds *PollFd, nfds int, timeout int) (n int, err error) {
-+	r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout))
-+	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -366,8 +350,8 @@ func Munlockall() (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) {
--	_, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0)
-+func getattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error) {
-+	_, _, e1 := Syscall6(SYS_GETATTRLIST, uintptr(unsafe.Pointer(path)), uintptr(list), uintptr(buf), uintptr(size), uintptr(options), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -388,6 +372,161 @@ func pipe() (r int, w int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func getxattr(path string, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	var _p1 *byte
-+	_p1, err = BytePtrFromString(attr)
-+	if err != nil {
-+		return
-+	}
-+	r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options))
-+	sz = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func fgetxattr(fd int, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(attr)
-+	if err != nil {
-+		return
-+	}
-+	r0, _, e1 := Syscall6(SYS_FGETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options))
-+	sz = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func setxattr(path string, attr string, data *byte, size int, position uint32, options int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	var _p1 *byte
-+	_p1, err = BytePtrFromString(attr)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func fsetxattr(fd int, attr string, data *byte, size int, position uint32, options int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(attr)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_FSETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func removexattr(path string, attr string, options int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	var _p1 *byte
-+	_p1, err = BytePtrFromString(attr)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func fremovexattr(fd int, attr string, options int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(attr)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall(SYS_FREMOVEXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(options))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func listxattr(path string, dest *byte, size int, options int) (sz int, err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	r0, _, e1 := Syscall6(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0)
-+	sz = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func flistxattr(fd int, dest *byte, size int, options int) (sz int, err error) {
-+	r0, _, e1 := Syscall6(SYS_FLISTXATTR, uintptr(fd), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0)
-+	sz = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func setattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error) {
-+	_, _, e1 := Syscall6(SYS_SETATTRLIST, uintptr(unsafe.Pointer(path)), uintptr(list), uintptr(buf), uintptr(size), uintptr(options), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func fcntl(fd int, cmd int, arg int) (val int, err error) {
-+	r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg))
-+	val = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func kill(pid int, signum int, posix int) (err error) {
- 	_, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), uintptr(posix))
- 	if e1 != 0 {
-@@ -408,6 +547,32 @@ func ioctl(fd int, req uint, arg uintptr) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) {
-+	var _p0 unsafe.Pointer
-+	if len(mib) > 0 {
-+		_p0 = unsafe.Pointer(&mib[0])
-+	} else {
-+		_p0 = unsafe.Pointer(&_zero)
-+	}
-+	_, _, e1 := Syscall6(SYS_SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func sendfile(infd int, outfd int, offset int64, len *int64, hdtr unsafe.Pointer, flags int) (err error) {
-+	_, _, e1 := Syscall9(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(offset), uintptr(offset>>32), uintptr(unsafe.Pointer(len)), uintptr(hdtr), uintptr(flags), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Access(path string, mode uint32) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -672,26 +837,6 @@ func Fpathconf(fd int, name int) (val int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Fstat(fd int, stat *Stat_t) (err error) {
--	_, _, e1 := Syscall(SYS_FSTAT64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Fstatfs(fd int, stat *Statfs_t) (err error) {
--	_, _, e1 := Syscall(SYS_FSTATFS64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
- func Fsync(fd int) (err error) {
- 	_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)
- 	if e1 != 0 {
-@@ -712,23 +857,6 @@ func Ftruncate(fd int, length int64) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {
--	var _p0 unsafe.Pointer
--	if len(buf) > 0 {
--		_p0 = unsafe.Pointer(&buf[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall6(SYS_GETDIRENTRIES64, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0)
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
- func Getdtablesize() (size int) {
- 	r0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0)
- 	size = int(r0)
-@@ -930,21 +1058,6 @@ func Listen(s int, backlog int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Lstat(path string, stat *Stat_t) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_LSTAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
- func Mkdir(path string, mode uint32) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -1229,8 +1342,9 @@ func Seek(fd int, offset int64, whence int) (newoffset int64, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) {
--	_, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)
-+func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) {
-+	r0, _, e1 := Syscall6(SYS_SELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)
-+	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1375,36 +1489,6 @@ func Setuid(uid int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Stat(path string, stat *Stat_t) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_STAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Statfs(path string, stat *Statfs_t) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_STATFS64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
- func Symlink(path string, link string) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -1598,6 +1682,33 @@ func writelen(fd int, buf *byte, nbuf int) (n int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {
-+	var _p0 unsafe.Pointer
-+	if len(buf) > 0 {
-+		_p0 = unsafe.Pointer(&buf[0])
-+	} else {
-+		_p0 = unsafe.Pointer(&_zero)
-+	}
-+	r0, _, e1 := Syscall6(SYS_GETDIRENTRIES64, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0)
-+	n = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) {
-+	_, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func gettimeofday(tp *Timeval) (sec int32, usec int32, err error) {
- 	r0, r1, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0)
- 	sec = int32(r0)
-@@ -1607,3 +1718,94 @@ func gettimeofday(tp *Timeval) (sec int32, usec int32, err error) {
- 	}
- 	return
- }
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Fstat(fd int, stat *Stat_t) (err error) {
-+	_, _, e1 := Syscall(SYS_FSTAT64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_FSTATAT64, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Fstatfs(fd int, stat *Statfs_t) (err error) {
-+	_, _, e1 := Syscall(SYS_FSTATFS64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func getfsstat(buf unsafe.Pointer, size uintptr, flags int) (n int, err error) {
-+	r0, _, e1 := Syscall(SYS_GETFSSTAT64, uintptr(buf), uintptr(size), uintptr(flags))
-+	n = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Lstat(path string, stat *Stat_t) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall(SYS_LSTAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Stat(path string, stat *Stat_t) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall(SYS_STAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Statfs(path string, stat *Statfs_t) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall(SYS_STATFS64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.1_13.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.1_13.go
-new file mode 100644
-index 00000000..e263fbdb
---- /dev/null
-+++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.1_13.go
-@@ -0,0 +1,41 @@
-+// go run mksyscall.go -l32 -tags darwin,386,go1.13 syscall_darwin.1_13.go
-+// Code generated by the command above; see README.md. DO NOT EDIT.
-+
-+// +build darwin,386,go1.13
-+
-+package unix
-+
-+import (
-+	"syscall"
-+	"unsafe"
-+)
-+
-+var _ syscall.Errno
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func closedir(dir uintptr) (err error) {
-+	_, _, e1 := syscall_syscall(funcPC(libc_closedir_trampoline), uintptr(dir), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+func libc_closedir_trampoline()
-+
-+//go:linkname libc_closedir libc_closedir
-+//go:cgo_import_dynamic libc_closedir closedir "/usr/lib/libSystem.B.dylib"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func readdir_r(dir uintptr, entry *Dirent, result **Dirent) (res Errno) {
-+	r0, _, _ := syscall_syscall(funcPC(libc_readdir_r_trampoline), uintptr(dir), uintptr(unsafe.Pointer(entry)), uintptr(unsafe.Pointer(result)))
-+	res = Errno(r0)
-+	return
-+}
-+
-+func libc_readdir_r_trampoline()
-+
-+//go:linkname libc_readdir_r libc_readdir_r
-+//go:cgo_import_dynamic libc_readdir_r readdir_r "/usr/lib/libSystem.B.dylib"
-diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.1_13.s b/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.1_13.s
-new file mode 100644
-index 00000000..00da1ebf
---- /dev/null
-+++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.1_13.s
-@@ -0,0 +1,12 @@
-+// go run mkasm_darwin.go 386
-+// Code generated by the command above; DO NOT EDIT.
-+
-+// +build go1.13
-+
-+#include "textflag.h"
-+TEXT ·libc_fdopendir_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_fdopendir(SB)
-+TEXT ·libc_closedir_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_closedir(SB)
-+TEXT ·libc_readdir_r_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_readdir_r(SB)
-diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.go
-index 10491e9e..a3fc4900 100644
---- a/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.go
-+++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.go
-@@ -1,7 +1,7 @@
--// mksyscall.pl -l32 -tags darwin,386 syscall_bsd.go syscall_darwin.go syscall_darwin_386.go
-+// go run mksyscall.go -l32 -tags darwin,386,go1.12 syscall_bsd.go syscall_darwin.go syscall_darwin_386.go
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
--// +build darwin,386
-+// +build darwin,386,go1.12
- 
- package unix
- 
-@@ -15,7 +15,7 @@ var _ syscall.Errno
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func getgroups(ngid int, gid *_Gid_t) (n int, err error) {
--	r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0)
-+	r0, _, e1 := syscall_rawSyscall(funcPC(libc_getgroups_trampoline), uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0)
- 	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -23,20 +23,30 @@ func getgroups(ngid int, gid *_Gid_t) (n int, err error) {
- 	return
- }
- 
-+func libc_getgroups_trampoline()
-+
-+//go:linkname libc_getgroups libc_getgroups
-+//go:cgo_import_dynamic libc_getgroups getgroups "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func setgroups(ngid int, gid *_Gid_t) (err error) {
--	_, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0)
-+	_, _, e1 := syscall_rawSyscall(funcPC(libc_setgroups_trampoline), uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_setgroups_trampoline()
-+
-+//go:linkname libc_setgroups libc_setgroups
-+//go:cgo_import_dynamic libc_setgroups setgroups "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) {
--	r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0)
-+	r0, _, e1 := syscall_syscall6(funcPC(libc_wait4_trampoline), uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0)
- 	wpid = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -44,10 +54,15 @@ func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err
- 	return
- }
- 
-+func libc_wait4_trampoline()
-+
-+//go:linkname libc_wait4 libc_wait4
-+//go:cgo_import_dynamic libc_wait4 wait4 "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {
--	r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))
-+	r0, _, e1 := syscall_syscall(funcPC(libc_accept_trampoline), uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))
- 	fd = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -55,30 +70,45 @@ func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {
- 	return
- }
- 
-+func libc_accept_trampoline()
-+
-+//go:linkname libc_accept libc_accept
-+//go:cgo_import_dynamic libc_accept accept "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {
--	_, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen))
-+	_, _, e1 := syscall_syscall(funcPC(libc_bind_trampoline), uintptr(s), uintptr(addr), uintptr(addrlen))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_bind_trampoline()
-+
-+//go:linkname libc_bind libc_bind
-+//go:cgo_import_dynamic libc_bind bind "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {
--	_, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen))
-+	_, _, e1 := syscall_syscall(funcPC(libc_connect_trampoline), uintptr(s), uintptr(addr), uintptr(addrlen))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_connect_trampoline()
-+
-+//go:linkname libc_connect libc_connect
-+//go:cgo_import_dynamic libc_connect connect "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func socket(domain int, typ int, proto int) (fd int, err error) {
--	r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto))
-+	r0, _, e1 := syscall_rawSyscall(funcPC(libc_socket_trampoline), uintptr(domain), uintptr(typ), uintptr(proto))
- 	fd = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -86,66 +116,101 @@ func socket(domain int, typ int, proto int) (fd int, err error) {
- 	return
- }
- 
-+func libc_socket_trampoline()
-+
-+//go:linkname libc_socket libc_socket
-+//go:cgo_import_dynamic libc_socket socket "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) {
--	_, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0)
-+	_, _, e1 := syscall_syscall6(funcPC(libc_getsockopt_trampoline), uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_getsockopt_trampoline()
-+
-+//go:linkname libc_getsockopt libc_getsockopt
-+//go:cgo_import_dynamic libc_getsockopt getsockopt "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) {
--	_, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0)
-+	_, _, e1 := syscall_syscall6(funcPC(libc_setsockopt_trampoline), uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_setsockopt_trampoline()
-+
-+//go:linkname libc_setsockopt libc_setsockopt
-+//go:cgo_import_dynamic libc_setsockopt setsockopt "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {
--	_, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))
-+	_, _, e1 := syscall_rawSyscall(funcPC(libc_getpeername_trampoline), uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_getpeername_trampoline()
-+
-+//go:linkname libc_getpeername libc_getpeername
-+//go:cgo_import_dynamic libc_getpeername getpeername "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {
--	_, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))
-+	_, _, e1 := syscall_rawSyscall(funcPC(libc_getsockname_trampoline), uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_getsockname_trampoline()
-+
-+//go:linkname libc_getsockname libc_getsockname
-+//go:cgo_import_dynamic libc_getsockname getsockname "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Shutdown(s int, how int) (err error) {
--	_, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_shutdown_trampoline), uintptr(s), uintptr(how), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_shutdown_trampoline()
-+
-+//go:linkname libc_shutdown libc_shutdown
-+//go:cgo_import_dynamic libc_shutdown shutdown "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) {
--	_, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0)
-+	_, _, e1 := syscall_rawSyscall6(funcPC(libc_socketpair_trampoline), uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_socketpair_trampoline()
-+
-+//go:linkname libc_socketpair libc_socketpair
-+//go:cgo_import_dynamic libc_socketpair socketpair "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) {
-@@ -155,7 +220,7 @@ func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Sockl
- 	} else {
- 		_p0 = unsafe.Pointer(&_zero)
- 	}
--	r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen)))
-+	r0, _, e1 := syscall_syscall6(funcPC(libc_recvfrom_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen)))
- 	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -163,6 +228,11 @@ func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Sockl
- 	return
- }
- 
-+func libc_recvfrom_trampoline()
-+
-+//go:linkname libc_recvfrom libc_recvfrom
-+//go:cgo_import_dynamic libc_recvfrom recvfrom "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) {
-@@ -172,17 +242,22 @@ func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (
- 	} else {
- 		_p0 = unsafe.Pointer(&_zero)
- 	}
--	_, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen))
-+	_, _, e1 := syscall_syscall6(funcPC(libc_sendto_trampoline), uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_sendto_trampoline()
-+
-+//go:linkname libc_sendto libc_sendto
-+//go:cgo_import_dynamic libc_sendto sendto "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) {
--	r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))
-+	r0, _, e1 := syscall_syscall(funcPC(libc_recvmsg_trampoline), uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))
- 	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -190,10 +265,15 @@ func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) {
- 	return
- }
- 
-+func libc_recvmsg_trampoline()
-+
-+//go:linkname libc_recvmsg libc_recvmsg
-+//go:cgo_import_dynamic libc_recvmsg recvmsg "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) {
--	r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))
-+	r0, _, e1 := syscall_syscall(funcPC(libc_sendmsg_trampoline), uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))
- 	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -201,10 +281,15 @@ func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) {
- 	return
- }
- 
-+func libc_sendmsg_trampoline()
-+
-+//go:linkname libc_sendmsg libc_sendmsg
-+//go:cgo_import_dynamic libc_sendmsg sendmsg "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) {
--	r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout)))
-+	r0, _, e1 := syscall_syscall6(funcPC(libc_kevent_trampoline), uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout)))
- 	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -212,21 +297,10 @@ func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, ne
- 	return
- }
- 
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+func libc_kevent_trampoline()
- 
--func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) {
--	var _p0 unsafe.Pointer
--	if len(mib) > 0 {
--		_p0 = unsafe.Pointer(&mib[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
-+//go:linkname libc_kevent libc_kevent
-+//go:cgo_import_dynamic libc_kevent kevent "/usr/lib/libSystem.B.dylib"
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-@@ -236,34 +310,49 @@ func utimes(path string, timeval *[2]Timeval) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_utimes_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_utimes_trampoline()
-+
-+//go:linkname libc_utimes libc_utimes
-+//go:cgo_import_dynamic libc_utimes utimes "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func futimes(fd int, timeval *[2]Timeval) (err error) {
--	_, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_futimes_trampoline), uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_futimes_trampoline()
-+
-+//go:linkname libc_futimes libc_futimes
-+//go:cgo_import_dynamic libc_futimes futimes "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func fcntl(fd int, cmd int, arg int) (val int, err error) {
--	r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg))
--	val = int(r0)
-+func poll(fds *PollFd, nfds int, timeout int) (n int, err error) {
-+	r0, _, e1 := syscall_syscall(funcPC(libc_poll_trampoline), uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout))
-+	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_poll_trampoline()
-+
-+//go:linkname libc_poll libc_poll
-+//go:cgo_import_dynamic libc_poll poll "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Madvise(b []byte, behav int) (err error) {
-@@ -273,13 +362,18 @@ func Madvise(b []byte, behav int) (err error) {
- 	} else {
- 		_p0 = unsafe.Pointer(&_zero)
- 	}
--	_, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav))
-+	_, _, e1 := syscall_syscall(funcPC(libc_madvise_trampoline), uintptr(_p0), uintptr(len(b)), uintptr(behav))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_madvise_trampoline()
-+
-+//go:linkname libc_madvise libc_madvise
-+//go:cgo_import_dynamic libc_madvise madvise "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Mlock(b []byte) (err error) {
-@@ -289,23 +383,33 @@ func Mlock(b []byte) (err error) {
- 	} else {
- 		_p0 = unsafe.Pointer(&_zero)
- 	}
--	_, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_mlock_trampoline), uintptr(_p0), uintptr(len(b)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_mlock_trampoline()
-+
-+//go:linkname libc_mlock libc_mlock
-+//go:cgo_import_dynamic libc_mlock mlock "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Mlockall(flags int) (err error) {
--	_, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_mlockall_trampoline), uintptr(flags), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_mlockall_trampoline()
-+
-+//go:linkname libc_mlockall libc_mlockall
-+//go:cgo_import_dynamic libc_mlockall mlockall "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Mprotect(b []byte, prot int) (err error) {
-@@ -315,13 +419,18 @@ func Mprotect(b []byte, prot int) (err error) {
- 	} else {
- 		_p0 = unsafe.Pointer(&_zero)
- 	}
--	_, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))
-+	_, _, e1 := syscall_syscall(funcPC(libc_mprotect_trampoline), uintptr(_p0), uintptr(len(b)), uintptr(prot))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_mprotect_trampoline()
-+
-+//go:linkname libc_mprotect libc_mprotect
-+//go:cgo_import_dynamic libc_mprotect mprotect "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Msync(b []byte, flags int) (err error) {
-@@ -331,13 +440,18 @@ func Msync(b []byte, flags int) (err error) {
- 	} else {
- 		_p0 = unsafe.Pointer(&_zero)
- 	}
--	_, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))
-+	_, _, e1 := syscall_syscall(funcPC(libc_msync_trampoline), uintptr(_p0), uintptr(len(b)), uintptr(flags))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_msync_trampoline()
-+
-+//go:linkname libc_msync libc_msync
-+//go:cgo_import_dynamic libc_msync msync "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Munlock(b []byte) (err error) {
-@@ -347,37 +461,52 @@ func Munlock(b []byte) (err error) {
- 	} else {
- 		_p0 = unsafe.Pointer(&_zero)
- 	}
--	_, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_munlock_trampoline), uintptr(_p0), uintptr(len(b)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_munlock_trampoline()
-+
-+//go:linkname libc_munlock libc_munlock
-+//go:cgo_import_dynamic libc_munlock munlock "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Munlockall() (err error) {
--	_, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_munlockall_trampoline), 0, 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_munlockall_trampoline()
-+
-+//go:linkname libc_munlockall libc_munlockall
-+//go:cgo_import_dynamic libc_munlockall munlockall "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) {
--	_, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0)
-+func getattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error) {
-+	_, _, e1 := syscall_syscall6(funcPC(libc_getattrlist_trampoline), uintptr(unsafe.Pointer(path)), uintptr(list), uintptr(buf), uintptr(size), uintptr(options), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_getattrlist_trampoline()
-+
-+//go:linkname libc_getattrlist libc_getattrlist
-+//go:cgo_import_dynamic libc_getattrlist getattrlist "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func pipe() (r int, w int, err error) {
--	r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0)
-+	r0, r1, e1 := syscall_rawSyscall(funcPC(libc_pipe_trampoline), 0, 0, 0)
- 	r = int(r0)
- 	w = int(r1)
- 	if e1 != 0 {
-@@ -386,26 +515,282 @@ func pipe() (r int, w int, err error) {
- 	return
- }
- 
-+func libc_pipe_trampoline()
-+
-+//go:linkname libc_pipe libc_pipe
-+//go:cgo_import_dynamic libc_pipe pipe "/usr/lib/libSystem.B.dylib"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func getxattr(path string, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	var _p1 *byte
-+	_p1, err = BytePtrFromString(attr)
-+	if err != nil {
-+		return
-+	}
-+	r0, _, e1 := syscall_syscall6(funcPC(libc_getxattr_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options))
-+	sz = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+func libc_getxattr_trampoline()
-+
-+//go:linkname libc_getxattr libc_getxattr
-+//go:cgo_import_dynamic libc_getxattr getxattr "/usr/lib/libSystem.B.dylib"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func fgetxattr(fd int, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(attr)
-+	if err != nil {
-+		return
-+	}
-+	r0, _, e1 := syscall_syscall6(funcPC(libc_fgetxattr_trampoline), uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options))
-+	sz = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+func libc_fgetxattr_trampoline()
-+
-+//go:linkname libc_fgetxattr libc_fgetxattr
-+//go:cgo_import_dynamic libc_fgetxattr fgetxattr "/usr/lib/libSystem.B.dylib"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func setxattr(path string, attr string, data *byte, size int, position uint32, options int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	var _p1 *byte
-+	_p1, err = BytePtrFromString(attr)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := syscall_syscall6(funcPC(libc_setxattr_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+func libc_setxattr_trampoline()
-+
-+//go:linkname libc_setxattr libc_setxattr
-+//go:cgo_import_dynamic libc_setxattr setxattr "/usr/lib/libSystem.B.dylib"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func fsetxattr(fd int, attr string, data *byte, size int, position uint32, options int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(attr)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := syscall_syscall6(funcPC(libc_fsetxattr_trampoline), uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+func libc_fsetxattr_trampoline()
-+
-+//go:linkname libc_fsetxattr libc_fsetxattr
-+//go:cgo_import_dynamic libc_fsetxattr fsetxattr "/usr/lib/libSystem.B.dylib"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func removexattr(path string, attr string, options int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	var _p1 *byte
-+	_p1, err = BytePtrFromString(attr)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := syscall_syscall(funcPC(libc_removexattr_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+func libc_removexattr_trampoline()
-+
-+//go:linkname libc_removexattr libc_removexattr
-+//go:cgo_import_dynamic libc_removexattr removexattr "/usr/lib/libSystem.B.dylib"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func fremovexattr(fd int, attr string, options int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(attr)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := syscall_syscall(funcPC(libc_fremovexattr_trampoline), uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(options))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+func libc_fremovexattr_trampoline()
-+
-+//go:linkname libc_fremovexattr libc_fremovexattr
-+//go:cgo_import_dynamic libc_fremovexattr fremovexattr "/usr/lib/libSystem.B.dylib"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func listxattr(path string, dest *byte, size int, options int) (sz int, err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	r0, _, e1 := syscall_syscall6(funcPC(libc_listxattr_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0)
-+	sz = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+func libc_listxattr_trampoline()
-+
-+//go:linkname libc_listxattr libc_listxattr
-+//go:cgo_import_dynamic libc_listxattr listxattr "/usr/lib/libSystem.B.dylib"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func flistxattr(fd int, dest *byte, size int, options int) (sz int, err error) {
-+	r0, _, e1 := syscall_syscall6(funcPC(libc_flistxattr_trampoline), uintptr(fd), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0)
-+	sz = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+func libc_flistxattr_trampoline()
-+
-+//go:linkname libc_flistxattr libc_flistxattr
-+//go:cgo_import_dynamic libc_flistxattr flistxattr "/usr/lib/libSystem.B.dylib"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func setattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error) {
-+	_, _, e1 := syscall_syscall6(funcPC(libc_setattrlist_trampoline), uintptr(unsafe.Pointer(path)), uintptr(list), uintptr(buf), uintptr(size), uintptr(options), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+func libc_setattrlist_trampoline()
-+
-+//go:linkname libc_setattrlist libc_setattrlist
-+//go:cgo_import_dynamic libc_setattrlist setattrlist "/usr/lib/libSystem.B.dylib"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func fcntl(fd int, cmd int, arg int) (val int, err error) {
-+	r0, _, e1 := syscall_syscall(funcPC(libc_fcntl_trampoline), uintptr(fd), uintptr(cmd), uintptr(arg))
-+	val = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+func libc_fcntl_trampoline()
-+
-+//go:linkname libc_fcntl libc_fcntl
-+//go:cgo_import_dynamic libc_fcntl fcntl "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func kill(pid int, signum int, posix int) (err error) {
--	_, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), uintptr(posix))
-+	_, _, e1 := syscall_syscall(funcPC(libc_kill_trampoline), uintptr(pid), uintptr(signum), uintptr(posix))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_kill_trampoline()
-+
-+//go:linkname libc_kill libc_kill
-+//go:cgo_import_dynamic libc_kill kill "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func ioctl(fd int, req uint, arg uintptr) (err error) {
--	_, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg))
-+	_, _, e1 := syscall_syscall(funcPC(libc_ioctl_trampoline), uintptr(fd), uintptr(req), uintptr(arg))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+func libc_ioctl_trampoline()
-+
-+//go:linkname libc_ioctl libc_ioctl
-+//go:cgo_import_dynamic libc_ioctl ioctl "/usr/lib/libSystem.B.dylib"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) {
-+	var _p0 unsafe.Pointer
-+	if len(mib) > 0 {
-+		_p0 = unsafe.Pointer(&mib[0])
-+	} else {
-+		_p0 = unsafe.Pointer(&_zero)
-+	}
-+	_, _, e1 := syscall_syscall6(funcPC(libc_sysctl_trampoline), uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_sysctl_trampoline()
-+
-+//go:linkname libc_sysctl libc_sysctl
-+//go:cgo_import_dynamic libc_sysctl sysctl "/usr/lib/libSystem.B.dylib"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func sendfile(infd int, outfd int, offset int64, len *int64, hdtr unsafe.Pointer, flags int) (err error) {
-+	_, _, e1 := syscall_syscall9(funcPC(libc_sendfile_trampoline), uintptr(infd), uintptr(outfd), uintptr(offset), uintptr(offset>>32), uintptr(unsafe.Pointer(len)), uintptr(hdtr), uintptr(flags), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+func libc_sendfile_trampoline()
-+
-+//go:linkname libc_sendfile libc_sendfile
-+//go:cgo_import_dynamic libc_sendfile sendfile "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Access(path string, mode uint32) (err error) {
-@@ -414,23 +799,33 @@ func Access(path string, mode uint32) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_access_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_access_trampoline()
-+
-+//go:linkname libc_access libc_access
-+//go:cgo_import_dynamic libc_access access "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Adjtime(delta *Timeval, olddelta *Timeval) (err error) {
--	_, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_adjtime_trampoline), uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_adjtime_trampoline()
-+
-+//go:linkname libc_adjtime libc_adjtime
-+//go:cgo_import_dynamic libc_adjtime adjtime "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Chdir(path string) (err error) {
-@@ -439,13 +834,18 @@ func Chdir(path string) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_chdir_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_chdir_trampoline()
-+
-+//go:linkname libc_chdir libc_chdir
-+//go:cgo_import_dynamic libc_chdir chdir "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Chflags(path string, flags int) (err error) {
-@@ -454,13 +854,18 @@ func Chflags(path string, flags int) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_chflags_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_chflags_trampoline()
-+
-+//go:linkname libc_chflags libc_chflags
-+//go:cgo_import_dynamic libc_chflags chflags "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Chmod(path string, mode uint32) (err error) {
-@@ -469,13 +874,18 @@ func Chmod(path string, mode uint32) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_chmod_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_chmod_trampoline()
-+
-+//go:linkname libc_chmod libc_chmod
-+//go:cgo_import_dynamic libc_chmod chmod "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Chown(path string, uid int, gid int) (err error) {
-@@ -484,13 +894,18 @@ func Chown(path string, uid int, gid int) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))
-+	_, _, e1 := syscall_syscall(funcPC(libc_chown_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_chown_trampoline()
-+
-+//go:linkname libc_chown libc_chown
-+//go:cgo_import_dynamic libc_chown chown "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Chroot(path string) (err error) {
-@@ -499,27 +914,52 @@ func Chroot(path string) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_chroot_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+func libc_chroot_trampoline()
-+
-+//go:linkname libc_chroot libc_chroot
-+//go:cgo_import_dynamic libc_chroot chroot "/usr/lib/libSystem.B.dylib"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func ClockGettime(clockid int32, time *Timespec) (err error) {
-+	_, _, e1 := syscall_syscall(funcPC(libc_clock_gettime_trampoline), uintptr(clockid), uintptr(unsafe.Pointer(time)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_clock_gettime_trampoline()
-+
-+//go:linkname libc_clock_gettime libc_clock_gettime
-+//go:cgo_import_dynamic libc_clock_gettime clock_gettime "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Close(fd int) (err error) {
--	_, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_close_trampoline), uintptr(fd), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_close_trampoline()
-+
-+//go:linkname libc_close libc_close
-+//go:cgo_import_dynamic libc_close close "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Dup(fd int) (nfd int, err error) {
--	r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0)
-+	r0, _, e1 := syscall_syscall(funcPC(libc_dup_trampoline), uintptr(fd), 0, 0)
- 	nfd = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -527,16 +967,26 @@ func Dup(fd int) (nfd int, err error) {
- 	return
- }
- 
-+func libc_dup_trampoline()
-+
-+//go:linkname libc_dup libc_dup
-+//go:cgo_import_dynamic libc_dup dup "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Dup2(from int, to int) (err error) {
--	_, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_dup2_trampoline), uintptr(from), uintptr(to), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_dup2_trampoline()
-+
-+//go:linkname libc_dup2 libc_dup2
-+//go:cgo_import_dynamic libc_dup2 dup2 "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Exchangedata(path1 string, path2 string, options int) (err error) {
-@@ -550,20 +1000,30 @@ func Exchangedata(path1 string, path2 string, options int) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_EXCHANGEDATA, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options))
-+	_, _, e1 := syscall_syscall(funcPC(libc_exchangedata_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_exchangedata_trampoline()
-+
-+//go:linkname libc_exchangedata libc_exchangedata
-+//go:cgo_import_dynamic libc_exchangedata exchangedata "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Exit(code int) {
--	Syscall(SYS_EXIT, uintptr(code), 0, 0)
-+	syscall_syscall(funcPC(libc_exit_trampoline), uintptr(code), 0, 0)
- 	return
- }
- 
-+func libc_exit_trampoline()
-+
-+//go:linkname libc_exit libc_exit
-+//go:cgo_import_dynamic libc_exit exit "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {
-@@ -572,43 +1032,63 @@ func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)
-+	_, _, e1 := syscall_syscall6(funcPC(libc_faccessat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_faccessat_trampoline()
-+
-+//go:linkname libc_faccessat libc_faccessat
-+//go:cgo_import_dynamic libc_faccessat faccessat "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Fchdir(fd int) (err error) {
--	_, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_fchdir_trampoline), uintptr(fd), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_fchdir_trampoline()
-+
-+//go:linkname libc_fchdir libc_fchdir
-+//go:cgo_import_dynamic libc_fchdir fchdir "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Fchflags(fd int, flags int) (err error) {
--	_, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_fchflags_trampoline), uintptr(fd), uintptr(flags), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_fchflags_trampoline()
-+
-+//go:linkname libc_fchflags libc_fchflags
-+//go:cgo_import_dynamic libc_fchflags fchflags "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Fchmod(fd int, mode uint32) (err error) {
--	_, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_fchmod_trampoline), uintptr(fd), uintptr(mode), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_fchmod_trampoline()
-+
-+//go:linkname libc_fchmod libc_fchmod
-+//go:cgo_import_dynamic libc_fchmod fchmod "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) {
-@@ -617,23 +1097,33 @@ func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)
-+	_, _, e1 := syscall_syscall6(funcPC(libc_fchmodat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_fchmodat_trampoline()
-+
-+//go:linkname libc_fchmodat libc_fchmodat
-+//go:cgo_import_dynamic libc_fchmodat fchmodat "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Fchown(fd int, uid int, gid int) (err error) {
--	_, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid))
-+	_, _, e1 := syscall_syscall(funcPC(libc_fchown_trampoline), uintptr(fd), uintptr(uid), uintptr(gid))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_fchown_trampoline()
-+
-+//go:linkname libc_fchown libc_fchown
-+//go:cgo_import_dynamic libc_fchown fchown "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) {
-@@ -642,27 +1132,37 @@ func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0)
-+	_, _, e1 := syscall_syscall6(funcPC(libc_fchownat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_fchownat_trampoline()
-+
-+//go:linkname libc_fchownat libc_fchownat
-+//go:cgo_import_dynamic libc_fchownat fchownat "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Flock(fd int, how int) (err error) {
--	_, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_flock_trampoline), uintptr(fd), uintptr(how), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_flock_trampoline()
-+
-+//go:linkname libc_flock libc_flock
-+//go:cgo_import_dynamic libc_flock flock "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Fpathconf(fd int, name int) (val int, err error) {
--	r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0)
-+	r0, _, e1 := syscall_syscall(funcPC(libc_fpathconf_trampoline), uintptr(fd), uintptr(name), 0)
- 	val = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -670,99 +1170,97 @@ func Fpathconf(fd int, name int) (val int, err error) {
- 	return
- }
- 
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+func libc_fpathconf_trampoline()
- 
--func Fstat(fd int, stat *Stat_t) (err error) {
--	_, _, e1 := Syscall(SYS_FSTAT64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
-+//go:linkname libc_fpathconf libc_fpathconf
-+//go:cgo_import_dynamic libc_fpathconf fpathconf "/usr/lib/libSystem.B.dylib"
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Fstatfs(fd int, stat *Statfs_t) (err error) {
--	_, _, e1 := Syscall(SYS_FSTATFS64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)
-+func Fsync(fd int) (err error) {
-+	_, _, e1 := syscall_syscall(funcPC(libc_fsync_trampoline), uintptr(fd), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+func libc_fsync_trampoline()
- 
--func Fsync(fd int) (err error) {
--	_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
-+//go:linkname libc_fsync libc_fsync
-+//go:cgo_import_dynamic libc_fsync fsync "/usr/lib/libSystem.B.dylib"
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Ftruncate(fd int, length int64) (err error) {
--	_, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), uintptr(length>>32))
-+	_, _, e1 := syscall_syscall(funcPC(libc_ftruncate_trampoline), uintptr(fd), uintptr(length), uintptr(length>>32))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+func libc_ftruncate_trampoline()
- 
--func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {
--	var _p0 unsafe.Pointer
--	if len(buf) > 0 {
--		_p0 = unsafe.Pointer(&buf[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall6(SYS_GETDIRENTRIES64, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0)
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
-+//go:linkname libc_ftruncate libc_ftruncate
-+//go:cgo_import_dynamic libc_ftruncate ftruncate "/usr/lib/libSystem.B.dylib"
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Getdtablesize() (size int) {
--	r0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0)
-+	r0, _, _ := syscall_syscall(funcPC(libc_getdtablesize_trampoline), 0, 0, 0)
- 	size = int(r0)
- 	return
- }
- 
-+func libc_getdtablesize_trampoline()
-+
-+//go:linkname libc_getdtablesize libc_getdtablesize
-+//go:cgo_import_dynamic libc_getdtablesize getdtablesize "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Getegid() (egid int) {
--	r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0)
-+	r0, _, _ := syscall_rawSyscall(funcPC(libc_getegid_trampoline), 0, 0, 0)
- 	egid = int(r0)
- 	return
- }
- 
-+func libc_getegid_trampoline()
-+
-+//go:linkname libc_getegid libc_getegid
-+//go:cgo_import_dynamic libc_getegid getegid "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Geteuid() (uid int) {
--	r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0)
-+	r0, _, _ := syscall_rawSyscall(funcPC(libc_geteuid_trampoline), 0, 0, 0)
- 	uid = int(r0)
- 	return
- }
- 
-+func libc_geteuid_trampoline()
-+
-+//go:linkname libc_geteuid libc_geteuid
-+//go:cgo_import_dynamic libc_geteuid geteuid "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Getgid() (gid int) {
--	r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0)
-+	r0, _, _ := syscall_rawSyscall(funcPC(libc_getgid_trampoline), 0, 0, 0)
- 	gid = int(r0)
- 	return
- }
- 
-+func libc_getgid_trampoline()
-+
-+//go:linkname libc_getgid libc_getgid
-+//go:cgo_import_dynamic libc_getgid getgid "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Getpgid(pid int) (pgid int, err error) {
--	r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0)
-+	r0, _, e1 := syscall_rawSyscall(funcPC(libc_getpgid_trampoline), uintptr(pid), 0, 0)
- 	pgid = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -770,34 +1268,54 @@ func Getpgid(pid int) (pgid int, err error) {
- 	return
- }
- 
-+func libc_getpgid_trampoline()
-+
-+//go:linkname libc_getpgid libc_getpgid
-+//go:cgo_import_dynamic libc_getpgid getpgid "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Getpgrp() (pgrp int) {
--	r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0)
-+	r0, _, _ := syscall_rawSyscall(funcPC(libc_getpgrp_trampoline), 0, 0, 0)
- 	pgrp = int(r0)
- 	return
- }
- 
-+func libc_getpgrp_trampoline()
-+
-+//go:linkname libc_getpgrp libc_getpgrp
-+//go:cgo_import_dynamic libc_getpgrp getpgrp "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Getpid() (pid int) {
--	r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0)
-+	r0, _, _ := syscall_rawSyscall(funcPC(libc_getpid_trampoline), 0, 0, 0)
- 	pid = int(r0)
- 	return
- }
- 
-+func libc_getpid_trampoline()
-+
-+//go:linkname libc_getpid libc_getpid
-+//go:cgo_import_dynamic libc_getpid getpid "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Getppid() (ppid int) {
--	r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0)
-+	r0, _, _ := syscall_rawSyscall(funcPC(libc_getppid_trampoline), 0, 0, 0)
- 	ppid = int(r0)
- 	return
- }
- 
-+func libc_getppid_trampoline()
-+
-+//go:linkname libc_getppid libc_getppid
-+//go:cgo_import_dynamic libc_getppid getppid "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Getpriority(which int, who int) (prio int, err error) {
--	r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0)
-+	r0, _, e1 := syscall_syscall(funcPC(libc_getpriority_trampoline), uintptr(which), uintptr(who), 0)
- 	prio = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -805,30 +1323,45 @@ func Getpriority(which int, who int) (prio int, err error) {
- 	return
- }
- 
-+func libc_getpriority_trampoline()
-+
-+//go:linkname libc_getpriority libc_getpriority
-+//go:cgo_import_dynamic libc_getpriority getpriority "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Getrlimit(which int, lim *Rlimit) (err error) {
--	_, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)
-+	_, _, e1 := syscall_rawSyscall(funcPC(libc_getrlimit_trampoline), uintptr(which), uintptr(unsafe.Pointer(lim)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_getrlimit_trampoline()
-+
-+//go:linkname libc_getrlimit libc_getrlimit
-+//go:cgo_import_dynamic libc_getrlimit getrlimit "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Getrusage(who int, rusage *Rusage) (err error) {
--	_, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0)
-+	_, _, e1 := syscall_rawSyscall(funcPC(libc_getrusage_trampoline), uintptr(who), uintptr(unsafe.Pointer(rusage)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_getrusage_trampoline()
-+
-+//go:linkname libc_getrusage libc_getrusage
-+//go:cgo_import_dynamic libc_getrusage getrusage "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Getsid(pid int) (sid int, err error) {
--	r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0)
-+	r0, _, e1 := syscall_rawSyscall(funcPC(libc_getsid_trampoline), uintptr(pid), 0, 0)
- 	sid = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -836,26 +1369,41 @@ func Getsid(pid int) (sid int, err error) {
- 	return
- }
- 
-+func libc_getsid_trampoline()
-+
-+//go:linkname libc_getsid libc_getsid
-+//go:cgo_import_dynamic libc_getsid getsid "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Getuid() (uid int) {
--	r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0)
-+	r0, _, _ := syscall_rawSyscall(funcPC(libc_getuid_trampoline), 0, 0, 0)
- 	uid = int(r0)
- 	return
- }
- 
-+func libc_getuid_trampoline()
-+
-+//go:linkname libc_getuid libc_getuid
-+//go:cgo_import_dynamic libc_getuid getuid "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Issetugid() (tainted bool) {
--	r0, _, _ := RawSyscall(SYS_ISSETUGID, 0, 0, 0)
-+	r0, _, _ := syscall_rawSyscall(funcPC(libc_issetugid_trampoline), 0, 0, 0)
- 	tainted = bool(r0 != 0)
- 	return
- }
- 
-+func libc_issetugid_trampoline()
-+
-+//go:linkname libc_issetugid libc_issetugid
-+//go:cgo_import_dynamic libc_issetugid issetugid "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Kqueue() (fd int, err error) {
--	r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0)
-+	r0, _, e1 := syscall_syscall(funcPC(libc_kqueue_trampoline), 0, 0, 0)
- 	fd = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -863,6 +1411,11 @@ func Kqueue() (fd int, err error) {
- 	return
- }
- 
-+func libc_kqueue_trampoline()
-+
-+//go:linkname libc_kqueue libc_kqueue
-+//go:cgo_import_dynamic libc_kqueue kqueue "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Lchown(path string, uid int, gid int) (err error) {
-@@ -871,13 +1424,18 @@ func Lchown(path string, uid int, gid int) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))
-+	_, _, e1 := syscall_syscall(funcPC(libc_lchown_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_lchown_trampoline()
-+
-+//go:linkname libc_lchown libc_lchown
-+//go:cgo_import_dynamic libc_lchown lchown "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Link(path string, link string) (err error) {
-@@ -891,13 +1449,18 @@ func Link(path string, link string) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_link_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_link_trampoline()
-+
-+//go:linkname libc_link libc_link
-+//go:cgo_import_dynamic libc_link link "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) {
-@@ -911,37 +1474,32 @@ func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err er
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)
-+	_, _, e1 := syscall_syscall6(funcPC(libc_linkat_trampoline), uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_linkat_trampoline()
-+
-+//go:linkname libc_linkat libc_linkat
-+//go:cgo_import_dynamic libc_linkat linkat "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Listen(s int, backlog int) (err error) {
--	_, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_listen_trampoline), uintptr(s), uintptr(backlog), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+func libc_listen_trampoline()
- 
--func Lstat(path string, stat *Stat_t) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_LSTAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
-+//go:linkname libc_listen libc_listen
-+//go:cgo_import_dynamic libc_listen listen "/usr/lib/libSystem.B.dylib"
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-@@ -951,13 +1509,18 @@ func Mkdir(path string, mode uint32) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_mkdir_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_mkdir_trampoline()
-+
-+//go:linkname libc_mkdir libc_mkdir
-+//go:cgo_import_dynamic libc_mkdir mkdir "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Mkdirat(dirfd int, path string, mode uint32) (err error) {
-@@ -966,13 +1529,18 @@ func Mkdirat(dirfd int, path string, mode uint32) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))
-+	_, _, e1 := syscall_syscall(funcPC(libc_mkdirat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_mkdirat_trampoline()
-+
-+//go:linkname libc_mkdirat libc_mkdirat
-+//go:cgo_import_dynamic libc_mkdirat mkdirat "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Mkfifo(path string, mode uint32) (err error) {
-@@ -981,13 +1549,18 @@ func Mkfifo(path string, mode uint32) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_mkfifo_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_mkfifo_trampoline()
-+
-+//go:linkname libc_mkfifo libc_mkfifo
-+//go:cgo_import_dynamic libc_mkfifo mkfifo "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Mknod(path string, mode uint32, dev int) (err error) {
-@@ -996,13 +1569,18 @@ func Mknod(path string, mode uint32, dev int) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev))
-+	_, _, e1 := syscall_syscall(funcPC(libc_mknod_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_mknod_trampoline()
-+
-+//go:linkname libc_mknod libc_mknod
-+//go:cgo_import_dynamic libc_mknod mknod "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Open(path string, mode int, perm uint32) (fd int, err error) {
-@@ -1011,7 +1589,7 @@ func Open(path string, mode int, perm uint32) (fd int, err error) {
- 	if err != nil {
- 		return
- 	}
--	r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm))
-+	r0, _, e1 := syscall_syscall(funcPC(libc_open_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm))
- 	fd = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -1019,6 +1597,11 @@ func Open(path string, mode int, perm uint32) (fd int, err error) {
- 	return
- }
- 
-+func libc_open_trampoline()
-+
-+//go:linkname libc_open libc_open
-+//go:cgo_import_dynamic libc_open open "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) {
-@@ -1027,7 +1610,7 @@ func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) {
- 	if err != nil {
- 		return
- 	}
--	r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0)
-+	r0, _, e1 := syscall_syscall6(funcPC(libc_openat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0)
- 	fd = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -1035,6 +1618,11 @@ func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) {
- 	return
- }
- 
-+func libc_openat_trampoline()
-+
-+//go:linkname libc_openat libc_openat
-+//go:cgo_import_dynamic libc_openat openat "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Pathconf(path string, name int) (val int, err error) {
-@@ -1043,7 +1631,7 @@ func Pathconf(path string, name int) (val int, err error) {
- 	if err != nil {
- 		return
- 	}
--	r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0)
-+	r0, _, e1 := syscall_syscall(funcPC(libc_pathconf_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(name), 0)
- 	val = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -1051,6 +1639,11 @@ func Pathconf(path string, name int) (val int, err error) {
- 	return
- }
- 
-+func libc_pathconf_trampoline()
-+
-+//go:linkname libc_pathconf libc_pathconf
-+//go:cgo_import_dynamic libc_pathconf pathconf "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Pread(fd int, p []byte, offset int64) (n int, err error) {
-@@ -1060,7 +1653,7 @@ func Pread(fd int, p []byte, offset int64) (n int, err error) {
- 	} else {
- 		_p0 = unsafe.Pointer(&_zero)
- 	}
--	r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0)
-+	r0, _, e1 := syscall_syscall6(funcPC(libc_pread_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0)
- 	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -1068,6 +1661,11 @@ func Pread(fd int, p []byte, offset int64) (n int, err error) {
- 	return
- }
- 
-+func libc_pread_trampoline()
-+
-+//go:linkname libc_pread libc_pread
-+//go:cgo_import_dynamic libc_pread pread "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Pwrite(fd int, p []byte, offset int64) (n int, err error) {
-@@ -1077,7 +1675,7 @@ func Pwrite(fd int, p []byte, offset int64) (n int, err error) {
- 	} else {
- 		_p0 = unsafe.Pointer(&_zero)
- 	}
--	r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0)
-+	r0, _, e1 := syscall_syscall6(funcPC(libc_pwrite_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0)
- 	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -1085,6 +1683,11 @@ func Pwrite(fd int, p []byte, offset int64) (n int, err error) {
- 	return
- }
- 
-+func libc_pwrite_trampoline()
-+
-+//go:linkname libc_pwrite libc_pwrite
-+//go:cgo_import_dynamic libc_pwrite pwrite "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func read(fd int, p []byte) (n int, err error) {
-@@ -1094,7 +1697,7 @@ func read(fd int, p []byte) (n int, err error) {
- 	} else {
- 		_p0 = unsafe.Pointer(&_zero)
- 	}
--	r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p)))
-+	r0, _, e1 := syscall_syscall(funcPC(libc_read_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p)))
- 	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -1102,6 +1705,11 @@ func read(fd int, p []byte) (n int, err error) {
- 	return
- }
- 
-+func libc_read_trampoline()
-+
-+//go:linkname libc_read libc_read
-+//go:cgo_import_dynamic libc_read read "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Readlink(path string, buf []byte) (n int, err error) {
-@@ -1116,7 +1724,7 @@ func Readlink(path string, buf []byte) (n int, err error) {
- 	} else {
- 		_p1 = unsafe.Pointer(&_zero)
- 	}
--	r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)))
-+	r0, _, e1 := syscall_syscall(funcPC(libc_readlink_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)))
- 	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -1124,6 +1732,11 @@ func Readlink(path string, buf []byte) (n int, err error) {
- 	return
- }
- 
-+func libc_readlink_trampoline()
-+
-+//go:linkname libc_readlink libc_readlink
-+//go:cgo_import_dynamic libc_readlink readlink "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) {
-@@ -1138,7 +1751,7 @@ func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) {
- 	} else {
- 		_p1 = unsafe.Pointer(&_zero)
- 	}
--	r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0)
-+	r0, _, e1 := syscall_syscall6(funcPC(libc_readlinkat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0)
- 	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -1146,6 +1759,11 @@ func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) {
- 	return
- }
- 
-+func libc_readlinkat_trampoline()
-+
-+//go:linkname libc_readlinkat libc_readlinkat
-+//go:cgo_import_dynamic libc_readlinkat readlinkat "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Rename(from string, to string) (err error) {
-@@ -1159,13 +1777,18 @@ func Rename(from string, to string) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_rename_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_rename_trampoline()
-+
-+//go:linkname libc_rename libc_rename
-+//go:cgo_import_dynamic libc_rename rename "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Renameat(fromfd int, from string, tofd int, to string) (err error) {
-@@ -1179,13 +1802,18 @@ func Renameat(fromfd int, from string, tofd int, to string) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0)
-+	_, _, e1 := syscall_syscall6(funcPC(libc_renameat_trampoline), uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_renameat_trampoline()
-+
-+//go:linkname libc_renameat libc_renameat
-+//go:cgo_import_dynamic libc_renameat renameat "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Revoke(path string) (err error) {
-@@ -1194,13 +1822,18 @@ func Revoke(path string) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_revoke_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_revoke_trampoline()
-+
-+//go:linkname libc_revoke libc_revoke
-+//go:cgo_import_dynamic libc_revoke revoke "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Rmdir(path string) (err error) {
-@@ -1209,17 +1842,22 @@ func Rmdir(path string) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_rmdir_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_rmdir_trampoline()
-+
-+//go:linkname libc_rmdir libc_rmdir
-+//go:cgo_import_dynamic libc_rmdir rmdir "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Seek(fd int, offset int64, whence int) (newoffset int64, err error) {
--	r0, r1, e1 := Syscall6(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(offset>>32), uintptr(whence), 0, 0)
-+	r0, r1, e1 := syscall_syscall6(funcPC(libc_lseek_trampoline), uintptr(fd), uintptr(offset), uintptr(offset>>32), uintptr(whence), 0, 0)
- 	newoffset = int64(int64(r1)<<32 | int64(r0))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -1227,46 +1865,72 @@ func Seek(fd int, offset int64, whence int) (newoffset int64, err error) {
- 	return
- }
- 
-+func libc_lseek_trampoline()
-+
-+//go:linkname libc_lseek libc_lseek
-+//go:cgo_import_dynamic libc_lseek lseek "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) {
--	_, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)
-+func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) {
-+	r0, _, e1 := syscall_syscall6(funcPC(libc_select_trampoline), uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)
-+	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_select_trampoline()
-+
-+//go:linkname libc_select libc_select
-+//go:cgo_import_dynamic libc_select select "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Setegid(egid int) (err error) {
--	_, _, e1 := Syscall(SYS_SETEGID, uintptr(egid), 0, 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_setegid_trampoline), uintptr(egid), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_setegid_trampoline()
-+
-+//go:linkname libc_setegid libc_setegid
-+//go:cgo_import_dynamic libc_setegid setegid "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Seteuid(euid int) (err error) {
--	_, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0)
-+	_, _, e1 := syscall_rawSyscall(funcPC(libc_seteuid_trampoline), uintptr(euid), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_seteuid_trampoline()
-+
-+//go:linkname libc_seteuid libc_seteuid
-+//go:cgo_import_dynamic libc_seteuid seteuid "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Setgid(gid int) (err error) {
--	_, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0)
-+	_, _, e1 := syscall_rawSyscall(funcPC(libc_setgid_trampoline), uintptr(gid), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_setgid_trampoline()
-+
-+//go:linkname libc_setgid libc_setgid
-+//go:cgo_import_dynamic libc_setgid setgid "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Setlogin(name string) (err error) {
-@@ -1275,77 +1939,112 @@ func Setlogin(name string) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_setlogin_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_setlogin_trampoline()
-+
-+//go:linkname libc_setlogin libc_setlogin
-+//go:cgo_import_dynamic libc_setlogin setlogin "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Setpgid(pid int, pgid int) (err error) {
--	_, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0)
-+	_, _, e1 := syscall_rawSyscall(funcPC(libc_setpgid_trampoline), uintptr(pid), uintptr(pgid), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_setpgid_trampoline()
-+
-+//go:linkname libc_setpgid libc_setpgid
-+//go:cgo_import_dynamic libc_setpgid setpgid "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Setpriority(which int, who int, prio int) (err error) {
--	_, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio))
-+	_, _, e1 := syscall_syscall(funcPC(libc_setpriority_trampoline), uintptr(which), uintptr(who), uintptr(prio))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_setpriority_trampoline()
-+
-+//go:linkname libc_setpriority libc_setpriority
-+//go:cgo_import_dynamic libc_setpriority setpriority "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Setprivexec(flag int) (err error) {
--	_, _, e1 := Syscall(SYS_SETPRIVEXEC, uintptr(flag), 0, 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_setprivexec_trampoline), uintptr(flag), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_setprivexec_trampoline()
-+
-+//go:linkname libc_setprivexec libc_setprivexec
-+//go:cgo_import_dynamic libc_setprivexec setprivexec "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Setregid(rgid int, egid int) (err error) {
--	_, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0)
-+	_, _, e1 := syscall_rawSyscall(funcPC(libc_setregid_trampoline), uintptr(rgid), uintptr(egid), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_setregid_trampoline()
-+
-+//go:linkname libc_setregid libc_setregid
-+//go:cgo_import_dynamic libc_setregid setregid "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Setreuid(ruid int, euid int) (err error) {
--	_, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0)
-+	_, _, e1 := syscall_rawSyscall(funcPC(libc_setreuid_trampoline), uintptr(ruid), uintptr(euid), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_setreuid_trampoline()
-+
-+//go:linkname libc_setreuid libc_setreuid
-+//go:cgo_import_dynamic libc_setreuid setreuid "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Setrlimit(which int, lim *Rlimit) (err error) {
--	_, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)
-+	_, _, e1 := syscall_rawSyscall(funcPC(libc_setrlimit_trampoline), uintptr(which), uintptr(unsafe.Pointer(lim)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_setrlimit_trampoline()
-+
-+//go:linkname libc_setrlimit libc_setrlimit
-+//go:cgo_import_dynamic libc_setrlimit setrlimit "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Setsid() (pid int, err error) {
--	r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0)
-+	r0, _, e1 := syscall_rawSyscall(funcPC(libc_setsid_trampoline), 0, 0, 0)
- 	pid = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -1353,55 +2052,40 @@ func Setsid() (pid int, err error) {
- 	return
- }
- 
-+func libc_setsid_trampoline()
-+
-+//go:linkname libc_setsid libc_setsid
-+//go:cgo_import_dynamic libc_setsid setsid "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Settimeofday(tp *Timeval) (err error) {
--	_, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0)
-+	_, _, e1 := syscall_rawSyscall(funcPC(libc_settimeofday_trampoline), uintptr(unsafe.Pointer(tp)), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+func libc_settimeofday_trampoline()
- 
--func Setuid(uid int) (err error) {
--	_, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
-+//go:linkname libc_settimeofday libc_settimeofday
-+//go:cgo_import_dynamic libc_settimeofday settimeofday "/usr/lib/libSystem.B.dylib"
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Stat(path string, stat *Stat_t) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_STAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
-+func Setuid(uid int) (err error) {
-+	_, _, e1 := syscall_rawSyscall(funcPC(libc_setuid_trampoline), uintptr(uid), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+func libc_setuid_trampoline()
- 
--func Statfs(path string, stat *Statfs_t) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_STATFS64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
-+//go:linkname libc_setuid libc_setuid
-+//go:cgo_import_dynamic libc_setuid setuid "/usr/lib/libSystem.B.dylib"
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-@@ -1416,13 +2100,18 @@ func Symlink(path string, link string) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_symlink_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_symlink_trampoline()
-+
-+//go:linkname libc_symlink libc_symlink
-+//go:cgo_import_dynamic libc_symlink symlink "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) {
-@@ -1436,23 +2125,33 @@ func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)))
-+	_, _, e1 := syscall_syscall(funcPC(libc_symlinkat_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_symlinkat_trampoline()
-+
-+//go:linkname libc_symlinkat libc_symlinkat
-+//go:cgo_import_dynamic libc_symlinkat symlinkat "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Sync() (err error) {
--	_, _, e1 := Syscall(SYS_SYNC, 0, 0, 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_sync_trampoline), 0, 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_sync_trampoline()
-+
-+//go:linkname libc_sync libc_sync
-+//go:cgo_import_dynamic libc_sync sync "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Truncate(path string, length int64) (err error) {
-@@ -1461,21 +2160,31 @@ func Truncate(path string, length int64) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), uintptr(length>>32))
-+	_, _, e1 := syscall_syscall(funcPC(libc_truncate_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(length), uintptr(length>>32))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_truncate_trampoline()
-+
-+//go:linkname libc_truncate libc_truncate
-+//go:cgo_import_dynamic libc_truncate truncate "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Umask(newmask int) (oldmask int) {
--	r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0)
-+	r0, _, _ := syscall_syscall(funcPC(libc_umask_trampoline), uintptr(newmask), 0, 0)
- 	oldmask = int(r0)
- 	return
- }
- 
-+func libc_umask_trampoline()
-+
-+//go:linkname libc_umask libc_umask
-+//go:cgo_import_dynamic libc_umask umask "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Undelete(path string) (err error) {
-@@ -1484,13 +2193,18 @@ func Undelete(path string) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(_p0)), 0, 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_undelete_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_undelete_trampoline()
-+
-+//go:linkname libc_undelete libc_undelete
-+//go:cgo_import_dynamic libc_undelete undelete "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Unlink(path string) (err error) {
-@@ -1499,13 +2213,18 @@ func Unlink(path string) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_unlink_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_unlink_trampoline()
-+
-+//go:linkname libc_unlink libc_unlink
-+//go:cgo_import_dynamic libc_unlink unlink "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Unlinkat(dirfd int, path string, flags int) (err error) {
-@@ -1514,13 +2233,18 @@ func Unlinkat(dirfd int, path string, flags int) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags))
-+	_, _, e1 := syscall_syscall(funcPC(libc_unlinkat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_unlinkat_trampoline()
-+
-+//go:linkname libc_unlinkat libc_unlinkat
-+//go:cgo_import_dynamic libc_unlinkat unlinkat "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Unmount(path string, flags int) (err error) {
-@@ -1529,13 +2253,18 @@ func Unmount(path string, flags int) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_unmount_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_unmount_trampoline()
-+
-+//go:linkname libc_unmount libc_unmount
-+//go:cgo_import_dynamic libc_unmount unmount "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func write(fd int, p []byte) (n int, err error) {
-@@ -1545,7 +2274,7 @@ func write(fd int, p []byte) (n int, err error) {
- 	} else {
- 		_p0 = unsafe.Pointer(&_zero)
- 	}
--	r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)))
-+	r0, _, e1 := syscall_syscall(funcPC(libc_write_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p)))
- 	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -1553,10 +2282,15 @@ func write(fd int, p []byte) (n int, err error) {
- 	return
- }
- 
-+func libc_write_trampoline()
-+
-+//go:linkname libc_write libc_write
-+//go:cgo_import_dynamic libc_write write "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) {
--	r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos), uintptr(pos>>32), 0, 0)
-+	r0, _, e1 := syscall_syscall9(funcPC(libc_mmap_trampoline), uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos), uintptr(pos>>32), 0, 0)
- 	ret = uintptr(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -1564,20 +2298,30 @@ func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (
- 	return
- }
- 
-+func libc_mmap_trampoline()
-+
-+//go:linkname libc_mmap libc_mmap
-+//go:cgo_import_dynamic libc_mmap mmap "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func munmap(addr uintptr, length uintptr) (err error) {
--	_, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_munmap_trampoline), uintptr(addr), uintptr(length), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_munmap_trampoline()
-+
-+//go:linkname libc_munmap libc_munmap
-+//go:cgo_import_dynamic libc_munmap munmap "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func readlen(fd int, buf *byte, nbuf int) (n int, err error) {
--	r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf))
-+	r0, _, e1 := syscall_syscall(funcPC(libc_read_trampoline), uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf))
- 	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -1588,7 +2332,7 @@ func readlen(fd int, buf *byte, nbuf int) (n int, err error) {
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func writelen(fd int, buf *byte, nbuf int) (n int, err error) {
--	r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf))
-+	r0, _, e1 := syscall_syscall(funcPC(libc_write_trampoline), uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf))
- 	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -1598,8 +2342,23 @@ func writelen(fd int, buf *byte, nbuf int) (n int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) {
-+	_, _, e1 := syscall_syscall6(funcPC(libc_ptrace_trampoline), uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+func libc_ptrace_trampoline()
-+
-+//go:linkname libc_ptrace libc_ptrace
-+//go:cgo_import_dynamic libc_ptrace ptrace "/usr/lib/libSystem.B.dylib"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func gettimeofday(tp *Timeval) (sec int32, usec int32, err error) {
--	r0, r1, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0)
-+	r0, r1, e1 := syscall_rawSyscall(funcPC(libc_gettimeofday_trampoline), uintptr(unsafe.Pointer(tp)), 0, 0)
- 	sec = int32(r0)
- 	usec = int32(r1)
- 	if e1 != 0 {
-@@ -1607,3 +2366,134 @@ func gettimeofday(tp *Timeval) (sec int32, usec int32, err error) {
- 	}
- 	return
- }
-+
-+func libc_gettimeofday_trampoline()
-+
-+//go:linkname libc_gettimeofday libc_gettimeofday
-+//go:cgo_import_dynamic libc_gettimeofday gettimeofday "/usr/lib/libSystem.B.dylib"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Fstat(fd int, stat *Stat_t) (err error) {
-+	_, _, e1 := syscall_syscall(funcPC(libc_fstat64_trampoline), uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+func libc_fstat64_trampoline()
-+
-+//go:linkname libc_fstat64 libc_fstat64
-+//go:cgo_import_dynamic libc_fstat64 fstat64 "/usr/lib/libSystem.B.dylib"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := syscall_syscall6(funcPC(libc_fstatat64_trampoline), uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+func libc_fstatat64_trampoline()
-+
-+//go:linkname libc_fstatat64 libc_fstatat64
-+//go:cgo_import_dynamic libc_fstatat64 fstatat64 "/usr/lib/libSystem.B.dylib"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Fstatfs(fd int, stat *Statfs_t) (err error) {
-+	_, _, e1 := syscall_syscall(funcPC(libc_fstatfs64_trampoline), uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+func libc_fstatfs64_trampoline()
-+
-+//go:linkname libc_fstatfs64 libc_fstatfs64
-+//go:cgo_import_dynamic libc_fstatfs64 fstatfs64 "/usr/lib/libSystem.B.dylib"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func getfsstat(buf unsafe.Pointer, size uintptr, flags int) (n int, err error) {
-+	r0, _, e1 := syscall_syscall(funcPC(libc_getfsstat64_trampoline), uintptr(buf), uintptr(size), uintptr(flags))
-+	n = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+func libc_getfsstat64_trampoline()
-+
-+//go:linkname libc_getfsstat64 libc_getfsstat64
-+//go:cgo_import_dynamic libc_getfsstat64 getfsstat64 "/usr/lib/libSystem.B.dylib"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Lstat(path string, stat *Stat_t) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := syscall_syscall(funcPC(libc_lstat64_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+func libc_lstat64_trampoline()
-+
-+//go:linkname libc_lstat64 libc_lstat64
-+//go:cgo_import_dynamic libc_lstat64 lstat64 "/usr/lib/libSystem.B.dylib"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Stat(path string, stat *Stat_t) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := syscall_syscall(funcPC(libc_stat64_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+func libc_stat64_trampoline()
-+
-+//go:linkname libc_stat64 libc_stat64
-+//go:cgo_import_dynamic libc_stat64 stat64 "/usr/lib/libSystem.B.dylib"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Statfs(path string, stat *Statfs_t) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := syscall_syscall(funcPC(libc_statfs64_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+func libc_statfs64_trampoline()
-+
-+//go:linkname libc_statfs64 libc_statfs64
-+//go:cgo_import_dynamic libc_statfs64 statfs64 "/usr/lib/libSystem.B.dylib"
-diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.s b/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.s
-new file mode 100644
-index 00000000..6836a412
---- /dev/null
-+++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.s
-@@ -0,0 +1,284 @@
-+// go run mkasm_darwin.go 386
-+// Code generated by the command above; DO NOT EDIT.
-+
-+// +build go1.12
-+
-+#include "textflag.h"
-+TEXT ·libc_getgroups_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_getgroups(SB)
-+TEXT ·libc_setgroups_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_setgroups(SB)
-+TEXT ·libc_wait4_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_wait4(SB)
-+TEXT ·libc_accept_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_accept(SB)
-+TEXT ·libc_bind_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_bind(SB)
-+TEXT ·libc_connect_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_connect(SB)
-+TEXT ·libc_socket_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_socket(SB)
-+TEXT ·libc_getsockopt_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_getsockopt(SB)
-+TEXT ·libc_setsockopt_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_setsockopt(SB)
-+TEXT ·libc_getpeername_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_getpeername(SB)
-+TEXT ·libc_getsockname_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_getsockname(SB)
-+TEXT ·libc_shutdown_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_shutdown(SB)
-+TEXT ·libc_socketpair_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_socketpair(SB)
-+TEXT ·libc_recvfrom_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_recvfrom(SB)
-+TEXT ·libc_sendto_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_sendto(SB)
-+TEXT ·libc_recvmsg_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_recvmsg(SB)
-+TEXT ·libc_sendmsg_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_sendmsg(SB)
-+TEXT ·libc_kevent_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_kevent(SB)
-+TEXT ·libc_utimes_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_utimes(SB)
-+TEXT ·libc_futimes_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_futimes(SB)
-+TEXT ·libc_poll_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_poll(SB)
-+TEXT ·libc_madvise_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_madvise(SB)
-+TEXT ·libc_mlock_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_mlock(SB)
-+TEXT ·libc_mlockall_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_mlockall(SB)
-+TEXT ·libc_mprotect_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_mprotect(SB)
-+TEXT ·libc_msync_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_msync(SB)
-+TEXT ·libc_munlock_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_munlock(SB)
-+TEXT ·libc_munlockall_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_munlockall(SB)
-+TEXT ·libc_getattrlist_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_getattrlist(SB)
-+TEXT ·libc_pipe_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_pipe(SB)
-+TEXT ·libc_getxattr_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_getxattr(SB)
-+TEXT ·libc_fgetxattr_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_fgetxattr(SB)
-+TEXT ·libc_setxattr_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_setxattr(SB)
-+TEXT ·libc_fsetxattr_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_fsetxattr(SB)
-+TEXT ·libc_removexattr_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_removexattr(SB)
-+TEXT ·libc_fremovexattr_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_fremovexattr(SB)
-+TEXT ·libc_listxattr_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_listxattr(SB)
-+TEXT ·libc_flistxattr_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_flistxattr(SB)
-+TEXT ·libc_setattrlist_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_setattrlist(SB)
-+TEXT ·libc_fcntl_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_fcntl(SB)
-+TEXT ·libc_kill_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_kill(SB)
-+TEXT ·libc_ioctl_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_ioctl(SB)
-+TEXT ·libc_sysctl_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_sysctl(SB)
-+TEXT ·libc_sendfile_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_sendfile(SB)
-+TEXT ·libc_access_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_access(SB)
-+TEXT ·libc_adjtime_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_adjtime(SB)
-+TEXT ·libc_chdir_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_chdir(SB)
-+TEXT ·libc_chflags_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_chflags(SB)
-+TEXT ·libc_chmod_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_chmod(SB)
-+TEXT ·libc_chown_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_chown(SB)
-+TEXT ·libc_chroot_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_chroot(SB)
-+TEXT ·libc_clock_gettime_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_clock_gettime(SB)
-+TEXT ·libc_close_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_close(SB)
-+TEXT ·libc_dup_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_dup(SB)
-+TEXT ·libc_dup2_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_dup2(SB)
-+TEXT ·libc_exchangedata_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_exchangedata(SB)
-+TEXT ·libc_exit_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_exit(SB)
-+TEXT ·libc_faccessat_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_faccessat(SB)
-+TEXT ·libc_fchdir_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_fchdir(SB)
-+TEXT ·libc_fchflags_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_fchflags(SB)
-+TEXT ·libc_fchmod_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_fchmod(SB)
-+TEXT ·libc_fchmodat_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_fchmodat(SB)
-+TEXT ·libc_fchown_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_fchown(SB)
-+TEXT ·libc_fchownat_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_fchownat(SB)
-+TEXT ·libc_flock_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_flock(SB)
-+TEXT ·libc_fpathconf_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_fpathconf(SB)
-+TEXT ·libc_fsync_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_fsync(SB)
-+TEXT ·libc_ftruncate_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_ftruncate(SB)
-+TEXT ·libc_getdtablesize_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_getdtablesize(SB)
-+TEXT ·libc_getegid_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_getegid(SB)
-+TEXT ·libc_geteuid_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_geteuid(SB)
-+TEXT ·libc_getgid_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_getgid(SB)
-+TEXT ·libc_getpgid_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_getpgid(SB)
-+TEXT ·libc_getpgrp_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_getpgrp(SB)
-+TEXT ·libc_getpid_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_getpid(SB)
-+TEXT ·libc_getppid_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_getppid(SB)
-+TEXT ·libc_getpriority_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_getpriority(SB)
-+TEXT ·libc_getrlimit_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_getrlimit(SB)
-+TEXT ·libc_getrusage_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_getrusage(SB)
-+TEXT ·libc_getsid_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_getsid(SB)
-+TEXT ·libc_getuid_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_getuid(SB)
-+TEXT ·libc_issetugid_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_issetugid(SB)
-+TEXT ·libc_kqueue_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_kqueue(SB)
-+TEXT ·libc_lchown_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_lchown(SB)
-+TEXT ·libc_link_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_link(SB)
-+TEXT ·libc_linkat_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_linkat(SB)
-+TEXT ·libc_listen_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_listen(SB)
-+TEXT ·libc_mkdir_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_mkdir(SB)
-+TEXT ·libc_mkdirat_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_mkdirat(SB)
-+TEXT ·libc_mkfifo_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_mkfifo(SB)
-+TEXT ·libc_mknod_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_mknod(SB)
-+TEXT ·libc_open_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_open(SB)
-+TEXT ·libc_openat_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_openat(SB)
-+TEXT ·libc_pathconf_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_pathconf(SB)
-+TEXT ·libc_pread_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_pread(SB)
-+TEXT ·libc_pwrite_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_pwrite(SB)
-+TEXT ·libc_read_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_read(SB)
-+TEXT ·libc_readlink_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_readlink(SB)
-+TEXT ·libc_readlinkat_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_readlinkat(SB)
-+TEXT ·libc_rename_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_rename(SB)
-+TEXT ·libc_renameat_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_renameat(SB)
-+TEXT ·libc_revoke_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_revoke(SB)
-+TEXT ·libc_rmdir_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_rmdir(SB)
-+TEXT ·libc_lseek_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_lseek(SB)
-+TEXT ·libc_select_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_select(SB)
-+TEXT ·libc_setegid_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_setegid(SB)
-+TEXT ·libc_seteuid_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_seteuid(SB)
-+TEXT ·libc_setgid_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_setgid(SB)
-+TEXT ·libc_setlogin_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_setlogin(SB)
-+TEXT ·libc_setpgid_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_setpgid(SB)
-+TEXT ·libc_setpriority_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_setpriority(SB)
-+TEXT ·libc_setprivexec_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_setprivexec(SB)
-+TEXT ·libc_setregid_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_setregid(SB)
-+TEXT ·libc_setreuid_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_setreuid(SB)
-+TEXT ·libc_setrlimit_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_setrlimit(SB)
-+TEXT ·libc_setsid_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_setsid(SB)
-+TEXT ·libc_settimeofday_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_settimeofday(SB)
-+TEXT ·libc_setuid_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_setuid(SB)
-+TEXT ·libc_symlink_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_symlink(SB)
-+TEXT ·libc_symlinkat_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_symlinkat(SB)
-+TEXT ·libc_sync_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_sync(SB)
-+TEXT ·libc_truncate_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_truncate(SB)
-+TEXT ·libc_umask_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_umask(SB)
-+TEXT ·libc_undelete_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_undelete(SB)
-+TEXT ·libc_unlink_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_unlink(SB)
-+TEXT ·libc_unlinkat_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_unlinkat(SB)
-+TEXT ·libc_unmount_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_unmount(SB)
-+TEXT ·libc_write_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_write(SB)
-+TEXT ·libc_mmap_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_mmap(SB)
-+TEXT ·libc_munmap_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_munmap(SB)
-+TEXT ·libc_ptrace_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_ptrace(SB)
-+TEXT ·libc_gettimeofday_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_gettimeofday(SB)
-+TEXT ·libc_fstat64_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_fstat64(SB)
-+TEXT ·libc_fstatat64_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_fstatat64(SB)
-+TEXT ·libc_fstatfs64_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_fstatfs64(SB)
-+TEXT ·libc_getfsstat64_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_getfsstat64(SB)
-+TEXT ·libc_lstat64_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_lstat64(SB)
-+TEXT ·libc_stat64_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_stat64(SB)
-+TEXT ·libc_statfs64_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_statfs64(SB)
-diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.1_11.go
-similarity index 85%
-copy from vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go
-copy to vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.1_11.go
-index 07c6ebc9..f8e5c37c 100644
---- a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go
-+++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.1_11.go
-@@ -1,7 +1,7 @@
--// mksyscall.pl -tags darwin,arm64 syscall_bsd.go syscall_darwin.go syscall_darwin_arm64.go
-+// go run mksyscall.go -tags darwin,amd64,!go1.12 syscall_bsd.go syscall_darwin.go syscall_darwin_amd64.1_11.go syscall_darwin_amd64.go
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
--// +build darwin,arm64
-+// +build darwin,amd64,!go1.12
- 
- package unix
- 
-@@ -214,22 +214,6 @@ func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, ne
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) {
--	var _p0 unsafe.Pointer
--	if len(mib) > 0 {
--		_p0 = unsafe.Pointer(&mib[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
- func utimes(path string, timeval *[2]Timeval) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -255,9 +239,9 @@ func futimes(fd int, timeval *[2]Timeval) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func fcntl(fd int, cmd int, arg int) (val int, err error) {
--	r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg))
--	val = int(r0)
-+func poll(fds *PollFd, nfds int, timeout int) (n int, err error) {
-+	r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout))
-+	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -366,8 +350,8 @@ func Munlockall() (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) {
--	_, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0)
-+func getattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error) {
-+	_, _, e1 := Syscall6(SYS_GETATTRLIST, uintptr(unsafe.Pointer(path)), uintptr(list), uintptr(buf), uintptr(size), uintptr(options), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -388,6 +372,161 @@ func pipe() (r int, w int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func getxattr(path string, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	var _p1 *byte
-+	_p1, err = BytePtrFromString(attr)
-+	if err != nil {
-+		return
-+	}
-+	r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options))
-+	sz = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func fgetxattr(fd int, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(attr)
-+	if err != nil {
-+		return
-+	}
-+	r0, _, e1 := Syscall6(SYS_FGETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options))
-+	sz = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func setxattr(path string, attr string, data *byte, size int, position uint32, options int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	var _p1 *byte
-+	_p1, err = BytePtrFromString(attr)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func fsetxattr(fd int, attr string, data *byte, size int, position uint32, options int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(attr)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_FSETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func removexattr(path string, attr string, options int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	var _p1 *byte
-+	_p1, err = BytePtrFromString(attr)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func fremovexattr(fd int, attr string, options int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(attr)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall(SYS_FREMOVEXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(options))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func listxattr(path string, dest *byte, size int, options int) (sz int, err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	r0, _, e1 := Syscall6(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0)
-+	sz = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func flistxattr(fd int, dest *byte, size int, options int) (sz int, err error) {
-+	r0, _, e1 := Syscall6(SYS_FLISTXATTR, uintptr(fd), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0)
-+	sz = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func setattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error) {
-+	_, _, e1 := Syscall6(SYS_SETATTRLIST, uintptr(unsafe.Pointer(path)), uintptr(list), uintptr(buf), uintptr(size), uintptr(options), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func fcntl(fd int, cmd int, arg int) (val int, err error) {
-+	r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg))
-+	val = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func kill(pid int, signum int, posix int) (err error) {
- 	_, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), uintptr(posix))
- 	if e1 != 0 {
-@@ -408,6 +547,32 @@ func ioctl(fd int, req uint, arg uintptr) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) {
-+	var _p0 unsafe.Pointer
-+	if len(mib) > 0 {
-+		_p0 = unsafe.Pointer(&mib[0])
-+	} else {
-+		_p0 = unsafe.Pointer(&_zero)
-+	}
-+	_, _, e1 := Syscall6(SYS_SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func sendfile(infd int, outfd int, offset int64, len *int64, hdtr unsafe.Pointer, flags int) (err error) {
-+	_, _, e1 := Syscall6(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(offset), uintptr(unsafe.Pointer(len)), uintptr(hdtr), uintptr(flags))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Access(path string, mode uint32) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -672,26 +837,6 @@ func Fpathconf(fd int, name int) (val int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Fstat(fd int, stat *Stat_t) (err error) {
--	_, _, e1 := Syscall(SYS_FSTAT64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Fstatfs(fd int, stat *Statfs_t) (err error) {
--	_, _, e1 := Syscall(SYS_FSTATFS64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
- func Fsync(fd int) (err error) {
- 	_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)
- 	if e1 != 0 {
-@@ -712,23 +857,6 @@ func Ftruncate(fd int, length int64) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {
--	var _p0 unsafe.Pointer
--	if len(buf) > 0 {
--		_p0 = unsafe.Pointer(&buf[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall6(SYS_GETDIRENTRIES64, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0)
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
- func Getdtablesize() (size int) {
- 	r0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0)
- 	size = int(r0)
-@@ -930,21 +1058,6 @@ func Listen(s int, backlog int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Lstat(path string, stat *Stat_t) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_LSTAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
- func Mkdir(path string, mode uint32) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -1229,8 +1342,9 @@ func Seek(fd int, offset int64, whence int) (newoffset int64, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) {
--	_, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)
-+func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) {
-+	r0, _, e1 := Syscall6(SYS_SELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)
-+	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1375,36 +1489,6 @@ func Setuid(uid int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Stat(path string, stat *Stat_t) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_STAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Statfs(path string, stat *Statfs_t) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_STATFS64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
- func Symlink(path string, link string) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -1598,6 +1682,33 @@ func writelen(fd int, buf *byte, nbuf int) (n int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {
-+	var _p0 unsafe.Pointer
-+	if len(buf) > 0 {
-+		_p0 = unsafe.Pointer(&buf[0])
-+	} else {
-+		_p0 = unsafe.Pointer(&_zero)
-+	}
-+	r0, _, e1 := Syscall6(SYS_GETDIRENTRIES64, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0)
-+	n = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) {
-+	_, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func gettimeofday(tp *Timeval) (sec int64, usec int32, err error) {
- 	r0, r1, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0)
- 	sec = int64(r0)
-@@ -1607,3 +1718,94 @@ func gettimeofday(tp *Timeval) (sec int64, usec int32, err error) {
- 	}
- 	return
- }
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Fstat(fd int, stat *Stat_t) (err error) {
-+	_, _, e1 := Syscall(SYS_FSTAT64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_FSTATAT64, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Fstatfs(fd int, stat *Statfs_t) (err error) {
-+	_, _, e1 := Syscall(SYS_FSTATFS64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func getfsstat(buf unsafe.Pointer, size uintptr, flags int) (n int, err error) {
-+	r0, _, e1 := Syscall(SYS_GETFSSTAT64, uintptr(buf), uintptr(size), uintptr(flags))
-+	n = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Lstat(path string, stat *Stat_t) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall(SYS_LSTAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Stat(path string, stat *Stat_t) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall(SYS_STAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Statfs(path string, stat *Statfs_t) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall(SYS_STATFS64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.1_13.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.1_13.go
-new file mode 100644
-index 00000000..314042a9
---- /dev/null
-+++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.1_13.go
-@@ -0,0 +1,41 @@
-+// go run mksyscall.go -tags darwin,amd64,go1.13 syscall_darwin.1_13.go
-+// Code generated by the command above; see README.md. DO NOT EDIT.
-+
-+// +build darwin,amd64,go1.13
-+
-+package unix
-+
-+import (
-+	"syscall"
-+	"unsafe"
-+)
-+
-+var _ syscall.Errno
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func closedir(dir uintptr) (err error) {
-+	_, _, e1 := syscall_syscall(funcPC(libc_closedir_trampoline), uintptr(dir), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+func libc_closedir_trampoline()
-+
-+//go:linkname libc_closedir libc_closedir
-+//go:cgo_import_dynamic libc_closedir closedir "/usr/lib/libSystem.B.dylib"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func readdir_r(dir uintptr, entry *Dirent, result **Dirent) (res Errno) {
-+	r0, _, _ := syscall_syscall(funcPC(libc_readdir_r_trampoline), uintptr(dir), uintptr(unsafe.Pointer(entry)), uintptr(unsafe.Pointer(result)))
-+	res = Errno(r0)
-+	return
-+}
-+
-+func libc_readdir_r_trampoline()
-+
-+//go:linkname libc_readdir_r libc_readdir_r
-+//go:cgo_import_dynamic libc_readdir_r readdir_r "/usr/lib/libSystem.B.dylib"
-diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.1_13.s b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.1_13.s
-new file mode 100644
-index 00000000..d671e831
---- /dev/null
-+++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.1_13.s
-@@ -0,0 +1,12 @@
-+// go run mkasm_darwin.go amd64
-+// Code generated by the command above; DO NOT EDIT.
-+
-+// +build go1.13
-+
-+#include "textflag.h"
-+TEXT ·libc_fdopendir_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_fdopendir(SB)
-+TEXT ·libc_closedir_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_closedir(SB)
-+TEXT ·libc_readdir_r_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_readdir_r(SB)
-diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go
-index 5f1f6bfe..50d6437e 100644
---- a/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go
-+++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go
-@@ -1,7 +1,7 @@
--// mksyscall.pl -tags darwin,amd64 syscall_bsd.go syscall_darwin.go syscall_darwin_amd64.go
-+// go run mksyscall.go -tags darwin,amd64,go1.12 syscall_bsd.go syscall_darwin.go syscall_darwin_amd64.go
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
--// +build darwin,amd64
-+// +build darwin,amd64,go1.12
- 
- package unix
- 
-@@ -15,7 +15,7 @@ var _ syscall.Errno
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func getgroups(ngid int, gid *_Gid_t) (n int, err error) {
--	r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0)
-+	r0, _, e1 := syscall_rawSyscall(funcPC(libc_getgroups_trampoline), uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0)
- 	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -23,20 +23,30 @@ func getgroups(ngid int, gid *_Gid_t) (n int, err error) {
- 	return
- }
- 
-+func libc_getgroups_trampoline()
-+
-+//go:linkname libc_getgroups libc_getgroups
-+//go:cgo_import_dynamic libc_getgroups getgroups "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func setgroups(ngid int, gid *_Gid_t) (err error) {
--	_, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0)
-+	_, _, e1 := syscall_rawSyscall(funcPC(libc_setgroups_trampoline), uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_setgroups_trampoline()
-+
-+//go:linkname libc_setgroups libc_setgroups
-+//go:cgo_import_dynamic libc_setgroups setgroups "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) {
--	r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0)
-+	r0, _, e1 := syscall_syscall6(funcPC(libc_wait4_trampoline), uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0)
- 	wpid = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -44,10 +54,15 @@ func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err
- 	return
- }
- 
-+func libc_wait4_trampoline()
-+
-+//go:linkname libc_wait4 libc_wait4
-+//go:cgo_import_dynamic libc_wait4 wait4 "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {
--	r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))
-+	r0, _, e1 := syscall_syscall(funcPC(libc_accept_trampoline), uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))
- 	fd = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -55,30 +70,45 @@ func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {
- 	return
- }
- 
-+func libc_accept_trampoline()
-+
-+//go:linkname libc_accept libc_accept
-+//go:cgo_import_dynamic libc_accept accept "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {
--	_, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen))
-+	_, _, e1 := syscall_syscall(funcPC(libc_bind_trampoline), uintptr(s), uintptr(addr), uintptr(addrlen))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_bind_trampoline()
-+
-+//go:linkname libc_bind libc_bind
-+//go:cgo_import_dynamic libc_bind bind "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {
--	_, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen))
-+	_, _, e1 := syscall_syscall(funcPC(libc_connect_trampoline), uintptr(s), uintptr(addr), uintptr(addrlen))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_connect_trampoline()
-+
-+//go:linkname libc_connect libc_connect
-+//go:cgo_import_dynamic libc_connect connect "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func socket(domain int, typ int, proto int) (fd int, err error) {
--	r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto))
-+	r0, _, e1 := syscall_rawSyscall(funcPC(libc_socket_trampoline), uintptr(domain), uintptr(typ), uintptr(proto))
- 	fd = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -86,66 +116,101 @@ func socket(domain int, typ int, proto int) (fd int, err error) {
- 	return
- }
- 
-+func libc_socket_trampoline()
-+
-+//go:linkname libc_socket libc_socket
-+//go:cgo_import_dynamic libc_socket socket "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) {
--	_, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0)
-+	_, _, e1 := syscall_syscall6(funcPC(libc_getsockopt_trampoline), uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_getsockopt_trampoline()
-+
-+//go:linkname libc_getsockopt libc_getsockopt
-+//go:cgo_import_dynamic libc_getsockopt getsockopt "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) {
--	_, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0)
-+	_, _, e1 := syscall_syscall6(funcPC(libc_setsockopt_trampoline), uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_setsockopt_trampoline()
-+
-+//go:linkname libc_setsockopt libc_setsockopt
-+//go:cgo_import_dynamic libc_setsockopt setsockopt "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {
--	_, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))
-+	_, _, e1 := syscall_rawSyscall(funcPC(libc_getpeername_trampoline), uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_getpeername_trampoline()
-+
-+//go:linkname libc_getpeername libc_getpeername
-+//go:cgo_import_dynamic libc_getpeername getpeername "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {
--	_, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))
-+	_, _, e1 := syscall_rawSyscall(funcPC(libc_getsockname_trampoline), uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_getsockname_trampoline()
-+
-+//go:linkname libc_getsockname libc_getsockname
-+//go:cgo_import_dynamic libc_getsockname getsockname "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Shutdown(s int, how int) (err error) {
--	_, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_shutdown_trampoline), uintptr(s), uintptr(how), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_shutdown_trampoline()
-+
-+//go:linkname libc_shutdown libc_shutdown
-+//go:cgo_import_dynamic libc_shutdown shutdown "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) {
--	_, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0)
-+	_, _, e1 := syscall_rawSyscall6(funcPC(libc_socketpair_trampoline), uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_socketpair_trampoline()
-+
-+//go:linkname libc_socketpair libc_socketpair
-+//go:cgo_import_dynamic libc_socketpair socketpair "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) {
-@@ -155,7 +220,7 @@ func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Sockl
- 	} else {
- 		_p0 = unsafe.Pointer(&_zero)
- 	}
--	r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen)))
-+	r0, _, e1 := syscall_syscall6(funcPC(libc_recvfrom_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen)))
- 	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -163,6 +228,11 @@ func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Sockl
- 	return
- }
- 
-+func libc_recvfrom_trampoline()
-+
-+//go:linkname libc_recvfrom libc_recvfrom
-+//go:cgo_import_dynamic libc_recvfrom recvfrom "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) {
-@@ -172,17 +242,22 @@ func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (
- 	} else {
- 		_p0 = unsafe.Pointer(&_zero)
- 	}
--	_, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen))
-+	_, _, e1 := syscall_syscall6(funcPC(libc_sendto_trampoline), uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_sendto_trampoline()
-+
-+//go:linkname libc_sendto libc_sendto
-+//go:cgo_import_dynamic libc_sendto sendto "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) {
--	r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))
-+	r0, _, e1 := syscall_syscall(funcPC(libc_recvmsg_trampoline), uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))
- 	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -190,10 +265,15 @@ func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) {
- 	return
- }
- 
-+func libc_recvmsg_trampoline()
-+
-+//go:linkname libc_recvmsg libc_recvmsg
-+//go:cgo_import_dynamic libc_recvmsg recvmsg "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) {
--	r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))
-+	r0, _, e1 := syscall_syscall(funcPC(libc_sendmsg_trampoline), uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))
- 	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -201,10 +281,15 @@ func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) {
- 	return
- }
- 
-+func libc_sendmsg_trampoline()
-+
-+//go:linkname libc_sendmsg libc_sendmsg
-+//go:cgo_import_dynamic libc_sendmsg sendmsg "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) {
--	r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout)))
-+	r0, _, e1 := syscall_syscall6(funcPC(libc_kevent_trampoline), uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout)))
- 	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -212,21 +297,10 @@ func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, ne
- 	return
- }
- 
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+func libc_kevent_trampoline()
- 
--func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) {
--	var _p0 unsafe.Pointer
--	if len(mib) > 0 {
--		_p0 = unsafe.Pointer(&mib[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
-+//go:linkname libc_kevent libc_kevent
-+//go:cgo_import_dynamic libc_kevent kevent "/usr/lib/libSystem.B.dylib"
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-@@ -236,34 +310,49 @@ func utimes(path string, timeval *[2]Timeval) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_utimes_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_utimes_trampoline()
-+
-+//go:linkname libc_utimes libc_utimes
-+//go:cgo_import_dynamic libc_utimes utimes "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func futimes(fd int, timeval *[2]Timeval) (err error) {
--	_, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_futimes_trampoline), uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_futimes_trampoline()
-+
-+//go:linkname libc_futimes libc_futimes
-+//go:cgo_import_dynamic libc_futimes futimes "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func fcntl(fd int, cmd int, arg int) (val int, err error) {
--	r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg))
--	val = int(r0)
-+func poll(fds *PollFd, nfds int, timeout int) (n int, err error) {
-+	r0, _, e1 := syscall_syscall(funcPC(libc_poll_trampoline), uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout))
-+	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_poll_trampoline()
-+
-+//go:linkname libc_poll libc_poll
-+//go:cgo_import_dynamic libc_poll poll "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Madvise(b []byte, behav int) (err error) {
-@@ -273,13 +362,18 @@ func Madvise(b []byte, behav int) (err error) {
- 	} else {
- 		_p0 = unsafe.Pointer(&_zero)
- 	}
--	_, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav))
-+	_, _, e1 := syscall_syscall(funcPC(libc_madvise_trampoline), uintptr(_p0), uintptr(len(b)), uintptr(behav))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_madvise_trampoline()
-+
-+//go:linkname libc_madvise libc_madvise
-+//go:cgo_import_dynamic libc_madvise madvise "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Mlock(b []byte) (err error) {
-@@ -289,23 +383,33 @@ func Mlock(b []byte) (err error) {
- 	} else {
- 		_p0 = unsafe.Pointer(&_zero)
- 	}
--	_, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_mlock_trampoline), uintptr(_p0), uintptr(len(b)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_mlock_trampoline()
-+
-+//go:linkname libc_mlock libc_mlock
-+//go:cgo_import_dynamic libc_mlock mlock "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Mlockall(flags int) (err error) {
--	_, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_mlockall_trampoline), uintptr(flags), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_mlockall_trampoline()
-+
-+//go:linkname libc_mlockall libc_mlockall
-+//go:cgo_import_dynamic libc_mlockall mlockall "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Mprotect(b []byte, prot int) (err error) {
-@@ -315,13 +419,18 @@ func Mprotect(b []byte, prot int) (err error) {
- 	} else {
- 		_p0 = unsafe.Pointer(&_zero)
- 	}
--	_, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))
-+	_, _, e1 := syscall_syscall(funcPC(libc_mprotect_trampoline), uintptr(_p0), uintptr(len(b)), uintptr(prot))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_mprotect_trampoline()
-+
-+//go:linkname libc_mprotect libc_mprotect
-+//go:cgo_import_dynamic libc_mprotect mprotect "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Msync(b []byte, flags int) (err error) {
-@@ -331,13 +440,18 @@ func Msync(b []byte, flags int) (err error) {
- 	} else {
- 		_p0 = unsafe.Pointer(&_zero)
- 	}
--	_, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))
-+	_, _, e1 := syscall_syscall(funcPC(libc_msync_trampoline), uintptr(_p0), uintptr(len(b)), uintptr(flags))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_msync_trampoline()
-+
-+//go:linkname libc_msync libc_msync
-+//go:cgo_import_dynamic libc_msync msync "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Munlock(b []byte) (err error) {
-@@ -347,37 +461,52 @@ func Munlock(b []byte) (err error) {
- 	} else {
- 		_p0 = unsafe.Pointer(&_zero)
- 	}
--	_, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_munlock_trampoline), uintptr(_p0), uintptr(len(b)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_munlock_trampoline()
-+
-+//go:linkname libc_munlock libc_munlock
-+//go:cgo_import_dynamic libc_munlock munlock "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Munlockall() (err error) {
--	_, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_munlockall_trampoline), 0, 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_munlockall_trampoline()
-+
-+//go:linkname libc_munlockall libc_munlockall
-+//go:cgo_import_dynamic libc_munlockall munlockall "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) {
--	_, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0)
-+func getattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error) {
-+	_, _, e1 := syscall_syscall6(funcPC(libc_getattrlist_trampoline), uintptr(unsafe.Pointer(path)), uintptr(list), uintptr(buf), uintptr(size), uintptr(options), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_getattrlist_trampoline()
-+
-+//go:linkname libc_getattrlist libc_getattrlist
-+//go:cgo_import_dynamic libc_getattrlist getattrlist "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func pipe() (r int, w int, err error) {
--	r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0)
-+	r0, r1, e1 := syscall_rawSyscall(funcPC(libc_pipe_trampoline), 0, 0, 0)
- 	r = int(r0)
- 	w = int(r1)
- 	if e1 != 0 {
-@@ -386,26 +515,282 @@ func pipe() (r int, w int, err error) {
- 	return
- }
- 
-+func libc_pipe_trampoline()
-+
-+//go:linkname libc_pipe libc_pipe
-+//go:cgo_import_dynamic libc_pipe pipe "/usr/lib/libSystem.B.dylib"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func getxattr(path string, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	var _p1 *byte
-+	_p1, err = BytePtrFromString(attr)
-+	if err != nil {
-+		return
-+	}
-+	r0, _, e1 := syscall_syscall6(funcPC(libc_getxattr_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options))
-+	sz = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+func libc_getxattr_trampoline()
-+
-+//go:linkname libc_getxattr libc_getxattr
-+//go:cgo_import_dynamic libc_getxattr getxattr "/usr/lib/libSystem.B.dylib"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func fgetxattr(fd int, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(attr)
-+	if err != nil {
-+		return
-+	}
-+	r0, _, e1 := syscall_syscall6(funcPC(libc_fgetxattr_trampoline), uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options))
-+	sz = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+func libc_fgetxattr_trampoline()
-+
-+//go:linkname libc_fgetxattr libc_fgetxattr
-+//go:cgo_import_dynamic libc_fgetxattr fgetxattr "/usr/lib/libSystem.B.dylib"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func setxattr(path string, attr string, data *byte, size int, position uint32, options int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	var _p1 *byte
-+	_p1, err = BytePtrFromString(attr)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := syscall_syscall6(funcPC(libc_setxattr_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+func libc_setxattr_trampoline()
-+
-+//go:linkname libc_setxattr libc_setxattr
-+//go:cgo_import_dynamic libc_setxattr setxattr "/usr/lib/libSystem.B.dylib"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func fsetxattr(fd int, attr string, data *byte, size int, position uint32, options int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(attr)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := syscall_syscall6(funcPC(libc_fsetxattr_trampoline), uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+func libc_fsetxattr_trampoline()
-+
-+//go:linkname libc_fsetxattr libc_fsetxattr
-+//go:cgo_import_dynamic libc_fsetxattr fsetxattr "/usr/lib/libSystem.B.dylib"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func removexattr(path string, attr string, options int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	var _p1 *byte
-+	_p1, err = BytePtrFromString(attr)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := syscall_syscall(funcPC(libc_removexattr_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+func libc_removexattr_trampoline()
-+
-+//go:linkname libc_removexattr libc_removexattr
-+//go:cgo_import_dynamic libc_removexattr removexattr "/usr/lib/libSystem.B.dylib"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func fremovexattr(fd int, attr string, options int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(attr)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := syscall_syscall(funcPC(libc_fremovexattr_trampoline), uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(options))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+func libc_fremovexattr_trampoline()
-+
-+//go:linkname libc_fremovexattr libc_fremovexattr
-+//go:cgo_import_dynamic libc_fremovexattr fremovexattr "/usr/lib/libSystem.B.dylib"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func listxattr(path string, dest *byte, size int, options int) (sz int, err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	r0, _, e1 := syscall_syscall6(funcPC(libc_listxattr_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0)
-+	sz = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+func libc_listxattr_trampoline()
-+
-+//go:linkname libc_listxattr libc_listxattr
-+//go:cgo_import_dynamic libc_listxattr listxattr "/usr/lib/libSystem.B.dylib"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func flistxattr(fd int, dest *byte, size int, options int) (sz int, err error) {
-+	r0, _, e1 := syscall_syscall6(funcPC(libc_flistxattr_trampoline), uintptr(fd), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0)
-+	sz = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+func libc_flistxattr_trampoline()
-+
-+//go:linkname libc_flistxattr libc_flistxattr
-+//go:cgo_import_dynamic libc_flistxattr flistxattr "/usr/lib/libSystem.B.dylib"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func setattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error) {
-+	_, _, e1 := syscall_syscall6(funcPC(libc_setattrlist_trampoline), uintptr(unsafe.Pointer(path)), uintptr(list), uintptr(buf), uintptr(size), uintptr(options), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+func libc_setattrlist_trampoline()
-+
-+//go:linkname libc_setattrlist libc_setattrlist
-+//go:cgo_import_dynamic libc_setattrlist setattrlist "/usr/lib/libSystem.B.dylib"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func fcntl(fd int, cmd int, arg int) (val int, err error) {
-+	r0, _, e1 := syscall_syscall(funcPC(libc_fcntl_trampoline), uintptr(fd), uintptr(cmd), uintptr(arg))
-+	val = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+func libc_fcntl_trampoline()
-+
-+//go:linkname libc_fcntl libc_fcntl
-+//go:cgo_import_dynamic libc_fcntl fcntl "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func kill(pid int, signum int, posix int) (err error) {
--	_, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), uintptr(posix))
-+	_, _, e1 := syscall_syscall(funcPC(libc_kill_trampoline), uintptr(pid), uintptr(signum), uintptr(posix))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_kill_trampoline()
-+
-+//go:linkname libc_kill libc_kill
-+//go:cgo_import_dynamic libc_kill kill "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func ioctl(fd int, req uint, arg uintptr) (err error) {
--	_, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg))
-+	_, _, e1 := syscall_syscall(funcPC(libc_ioctl_trampoline), uintptr(fd), uintptr(req), uintptr(arg))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+func libc_ioctl_trampoline()
-+
-+//go:linkname libc_ioctl libc_ioctl
-+//go:cgo_import_dynamic libc_ioctl ioctl "/usr/lib/libSystem.B.dylib"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) {
-+	var _p0 unsafe.Pointer
-+	if len(mib) > 0 {
-+		_p0 = unsafe.Pointer(&mib[0])
-+	} else {
-+		_p0 = unsafe.Pointer(&_zero)
-+	}
-+	_, _, e1 := syscall_syscall6(funcPC(libc_sysctl_trampoline), uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_sysctl_trampoline()
-+
-+//go:linkname libc_sysctl libc_sysctl
-+//go:cgo_import_dynamic libc_sysctl sysctl "/usr/lib/libSystem.B.dylib"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func sendfile(infd int, outfd int, offset int64, len *int64, hdtr unsafe.Pointer, flags int) (err error) {
-+	_, _, e1 := syscall_syscall6(funcPC(libc_sendfile_trampoline), uintptr(infd), uintptr(outfd), uintptr(offset), uintptr(unsafe.Pointer(len)), uintptr(hdtr), uintptr(flags))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+func libc_sendfile_trampoline()
-+
-+//go:linkname libc_sendfile libc_sendfile
-+//go:cgo_import_dynamic libc_sendfile sendfile "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Access(path string, mode uint32) (err error) {
-@@ -414,23 +799,33 @@ func Access(path string, mode uint32) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_access_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_access_trampoline()
-+
-+//go:linkname libc_access libc_access
-+//go:cgo_import_dynamic libc_access access "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Adjtime(delta *Timeval, olddelta *Timeval) (err error) {
--	_, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_adjtime_trampoline), uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_adjtime_trampoline()
-+
-+//go:linkname libc_adjtime libc_adjtime
-+//go:cgo_import_dynamic libc_adjtime adjtime "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Chdir(path string) (err error) {
-@@ -439,13 +834,18 @@ func Chdir(path string) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_chdir_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_chdir_trampoline()
-+
-+//go:linkname libc_chdir libc_chdir
-+//go:cgo_import_dynamic libc_chdir chdir "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Chflags(path string, flags int) (err error) {
-@@ -454,13 +854,18 @@ func Chflags(path string, flags int) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_chflags_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_chflags_trampoline()
-+
-+//go:linkname libc_chflags libc_chflags
-+//go:cgo_import_dynamic libc_chflags chflags "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Chmod(path string, mode uint32) (err error) {
-@@ -469,13 +874,18 @@ func Chmod(path string, mode uint32) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_chmod_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_chmod_trampoline()
-+
-+//go:linkname libc_chmod libc_chmod
-+//go:cgo_import_dynamic libc_chmod chmod "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Chown(path string, uid int, gid int) (err error) {
-@@ -484,13 +894,18 @@ func Chown(path string, uid int, gid int) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))
-+	_, _, e1 := syscall_syscall(funcPC(libc_chown_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_chown_trampoline()
-+
-+//go:linkname libc_chown libc_chown
-+//go:cgo_import_dynamic libc_chown chown "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Chroot(path string) (err error) {
-@@ -499,27 +914,52 @@ func Chroot(path string) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_chroot_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+func libc_chroot_trampoline()
-+
-+//go:linkname libc_chroot libc_chroot
-+//go:cgo_import_dynamic libc_chroot chroot "/usr/lib/libSystem.B.dylib"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func ClockGettime(clockid int32, time *Timespec) (err error) {
-+	_, _, e1 := syscall_syscall(funcPC(libc_clock_gettime_trampoline), uintptr(clockid), uintptr(unsafe.Pointer(time)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_clock_gettime_trampoline()
-+
-+//go:linkname libc_clock_gettime libc_clock_gettime
-+//go:cgo_import_dynamic libc_clock_gettime clock_gettime "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Close(fd int) (err error) {
--	_, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_close_trampoline), uintptr(fd), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_close_trampoline()
-+
-+//go:linkname libc_close libc_close
-+//go:cgo_import_dynamic libc_close close "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Dup(fd int) (nfd int, err error) {
--	r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0)
-+	r0, _, e1 := syscall_syscall(funcPC(libc_dup_trampoline), uintptr(fd), 0, 0)
- 	nfd = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -527,16 +967,26 @@ func Dup(fd int) (nfd int, err error) {
- 	return
- }
- 
-+func libc_dup_trampoline()
-+
-+//go:linkname libc_dup libc_dup
-+//go:cgo_import_dynamic libc_dup dup "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Dup2(from int, to int) (err error) {
--	_, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_dup2_trampoline), uintptr(from), uintptr(to), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_dup2_trampoline()
-+
-+//go:linkname libc_dup2 libc_dup2
-+//go:cgo_import_dynamic libc_dup2 dup2 "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Exchangedata(path1 string, path2 string, options int) (err error) {
-@@ -550,20 +1000,30 @@ func Exchangedata(path1 string, path2 string, options int) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_EXCHANGEDATA, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options))
-+	_, _, e1 := syscall_syscall(funcPC(libc_exchangedata_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_exchangedata_trampoline()
-+
-+//go:linkname libc_exchangedata libc_exchangedata
-+//go:cgo_import_dynamic libc_exchangedata exchangedata "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Exit(code int) {
--	Syscall(SYS_EXIT, uintptr(code), 0, 0)
-+	syscall_syscall(funcPC(libc_exit_trampoline), uintptr(code), 0, 0)
- 	return
- }
- 
-+func libc_exit_trampoline()
-+
-+//go:linkname libc_exit libc_exit
-+//go:cgo_import_dynamic libc_exit exit "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {
-@@ -572,43 +1032,63 @@ func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)
-+	_, _, e1 := syscall_syscall6(funcPC(libc_faccessat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_faccessat_trampoline()
-+
-+//go:linkname libc_faccessat libc_faccessat
-+//go:cgo_import_dynamic libc_faccessat faccessat "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Fchdir(fd int) (err error) {
--	_, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_fchdir_trampoline), uintptr(fd), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_fchdir_trampoline()
-+
-+//go:linkname libc_fchdir libc_fchdir
-+//go:cgo_import_dynamic libc_fchdir fchdir "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Fchflags(fd int, flags int) (err error) {
--	_, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_fchflags_trampoline), uintptr(fd), uintptr(flags), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_fchflags_trampoline()
-+
-+//go:linkname libc_fchflags libc_fchflags
-+//go:cgo_import_dynamic libc_fchflags fchflags "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Fchmod(fd int, mode uint32) (err error) {
--	_, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_fchmod_trampoline), uintptr(fd), uintptr(mode), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_fchmod_trampoline()
-+
-+//go:linkname libc_fchmod libc_fchmod
-+//go:cgo_import_dynamic libc_fchmod fchmod "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) {
-@@ -617,23 +1097,33 @@ func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)
-+	_, _, e1 := syscall_syscall6(funcPC(libc_fchmodat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_fchmodat_trampoline()
-+
-+//go:linkname libc_fchmodat libc_fchmodat
-+//go:cgo_import_dynamic libc_fchmodat fchmodat "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Fchown(fd int, uid int, gid int) (err error) {
--	_, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid))
-+	_, _, e1 := syscall_syscall(funcPC(libc_fchown_trampoline), uintptr(fd), uintptr(uid), uintptr(gid))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_fchown_trampoline()
-+
-+//go:linkname libc_fchown libc_fchown
-+//go:cgo_import_dynamic libc_fchown fchown "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) {
-@@ -642,27 +1132,37 @@ func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0)
-+	_, _, e1 := syscall_syscall6(funcPC(libc_fchownat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_fchownat_trampoline()
-+
-+//go:linkname libc_fchownat libc_fchownat
-+//go:cgo_import_dynamic libc_fchownat fchownat "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Flock(fd int, how int) (err error) {
--	_, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_flock_trampoline), uintptr(fd), uintptr(how), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_flock_trampoline()
-+
-+//go:linkname libc_flock libc_flock
-+//go:cgo_import_dynamic libc_flock flock "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Fpathconf(fd int, name int) (val int, err error) {
--	r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0)
-+	r0, _, e1 := syscall_syscall(funcPC(libc_fpathconf_trampoline), uintptr(fd), uintptr(name), 0)
- 	val = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -670,99 +1170,97 @@ func Fpathconf(fd int, name int) (val int, err error) {
- 	return
- }
- 
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+func libc_fpathconf_trampoline()
- 
--func Fstat(fd int, stat *Stat_t) (err error) {
--	_, _, e1 := Syscall(SYS_FSTAT64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
-+//go:linkname libc_fpathconf libc_fpathconf
-+//go:cgo_import_dynamic libc_fpathconf fpathconf "/usr/lib/libSystem.B.dylib"
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Fstatfs(fd int, stat *Statfs_t) (err error) {
--	_, _, e1 := Syscall(SYS_FSTATFS64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)
-+func Fsync(fd int) (err error) {
-+	_, _, e1 := syscall_syscall(funcPC(libc_fsync_trampoline), uintptr(fd), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+func libc_fsync_trampoline()
- 
--func Fsync(fd int) (err error) {
--	_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
-+//go:linkname libc_fsync libc_fsync
-+//go:cgo_import_dynamic libc_fsync fsync "/usr/lib/libSystem.B.dylib"
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Ftruncate(fd int, length int64) (err error) {
--	_, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_ftruncate_trampoline), uintptr(fd), uintptr(length), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+func libc_ftruncate_trampoline()
- 
--func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {
--	var _p0 unsafe.Pointer
--	if len(buf) > 0 {
--		_p0 = unsafe.Pointer(&buf[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall6(SYS_GETDIRENTRIES64, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0)
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
-+//go:linkname libc_ftruncate libc_ftruncate
-+//go:cgo_import_dynamic libc_ftruncate ftruncate "/usr/lib/libSystem.B.dylib"
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Getdtablesize() (size int) {
--	r0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0)
-+	r0, _, _ := syscall_syscall(funcPC(libc_getdtablesize_trampoline), 0, 0, 0)
- 	size = int(r0)
- 	return
- }
- 
-+func libc_getdtablesize_trampoline()
-+
-+//go:linkname libc_getdtablesize libc_getdtablesize
-+//go:cgo_import_dynamic libc_getdtablesize getdtablesize "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Getegid() (egid int) {
--	r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0)
-+	r0, _, _ := syscall_rawSyscall(funcPC(libc_getegid_trampoline), 0, 0, 0)
- 	egid = int(r0)
- 	return
- }
- 
-+func libc_getegid_trampoline()
-+
-+//go:linkname libc_getegid libc_getegid
-+//go:cgo_import_dynamic libc_getegid getegid "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Geteuid() (uid int) {
--	r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0)
-+	r0, _, _ := syscall_rawSyscall(funcPC(libc_geteuid_trampoline), 0, 0, 0)
- 	uid = int(r0)
- 	return
- }
- 
-+func libc_geteuid_trampoline()
-+
-+//go:linkname libc_geteuid libc_geteuid
-+//go:cgo_import_dynamic libc_geteuid geteuid "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Getgid() (gid int) {
--	r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0)
-+	r0, _, _ := syscall_rawSyscall(funcPC(libc_getgid_trampoline), 0, 0, 0)
- 	gid = int(r0)
- 	return
- }
- 
-+func libc_getgid_trampoline()
-+
-+//go:linkname libc_getgid libc_getgid
-+//go:cgo_import_dynamic libc_getgid getgid "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Getpgid(pid int) (pgid int, err error) {
--	r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0)
-+	r0, _, e1 := syscall_rawSyscall(funcPC(libc_getpgid_trampoline), uintptr(pid), 0, 0)
- 	pgid = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -770,34 +1268,54 @@ func Getpgid(pid int) (pgid int, err error) {
- 	return
- }
- 
-+func libc_getpgid_trampoline()
-+
-+//go:linkname libc_getpgid libc_getpgid
-+//go:cgo_import_dynamic libc_getpgid getpgid "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Getpgrp() (pgrp int) {
--	r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0)
-+	r0, _, _ := syscall_rawSyscall(funcPC(libc_getpgrp_trampoline), 0, 0, 0)
- 	pgrp = int(r0)
- 	return
- }
- 
-+func libc_getpgrp_trampoline()
-+
-+//go:linkname libc_getpgrp libc_getpgrp
-+//go:cgo_import_dynamic libc_getpgrp getpgrp "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Getpid() (pid int) {
--	r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0)
-+	r0, _, _ := syscall_rawSyscall(funcPC(libc_getpid_trampoline), 0, 0, 0)
- 	pid = int(r0)
- 	return
- }
- 
-+func libc_getpid_trampoline()
-+
-+//go:linkname libc_getpid libc_getpid
-+//go:cgo_import_dynamic libc_getpid getpid "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Getppid() (ppid int) {
--	r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0)
-+	r0, _, _ := syscall_rawSyscall(funcPC(libc_getppid_trampoline), 0, 0, 0)
- 	ppid = int(r0)
- 	return
- }
- 
-+func libc_getppid_trampoline()
-+
-+//go:linkname libc_getppid libc_getppid
-+//go:cgo_import_dynamic libc_getppid getppid "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Getpriority(which int, who int) (prio int, err error) {
--	r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0)
-+	r0, _, e1 := syscall_syscall(funcPC(libc_getpriority_trampoline), uintptr(which), uintptr(who), 0)
- 	prio = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -805,30 +1323,45 @@ func Getpriority(which int, who int) (prio int, err error) {
- 	return
- }
- 
-+func libc_getpriority_trampoline()
-+
-+//go:linkname libc_getpriority libc_getpriority
-+//go:cgo_import_dynamic libc_getpriority getpriority "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Getrlimit(which int, lim *Rlimit) (err error) {
--	_, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)
-+	_, _, e1 := syscall_rawSyscall(funcPC(libc_getrlimit_trampoline), uintptr(which), uintptr(unsafe.Pointer(lim)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_getrlimit_trampoline()
-+
-+//go:linkname libc_getrlimit libc_getrlimit
-+//go:cgo_import_dynamic libc_getrlimit getrlimit "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Getrusage(who int, rusage *Rusage) (err error) {
--	_, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0)
-+	_, _, e1 := syscall_rawSyscall(funcPC(libc_getrusage_trampoline), uintptr(who), uintptr(unsafe.Pointer(rusage)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_getrusage_trampoline()
-+
-+//go:linkname libc_getrusage libc_getrusage
-+//go:cgo_import_dynamic libc_getrusage getrusage "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Getsid(pid int) (sid int, err error) {
--	r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0)
-+	r0, _, e1 := syscall_rawSyscall(funcPC(libc_getsid_trampoline), uintptr(pid), 0, 0)
- 	sid = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -836,26 +1369,41 @@ func Getsid(pid int) (sid int, err error) {
- 	return
- }
- 
-+func libc_getsid_trampoline()
-+
-+//go:linkname libc_getsid libc_getsid
-+//go:cgo_import_dynamic libc_getsid getsid "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Getuid() (uid int) {
--	r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0)
-+	r0, _, _ := syscall_rawSyscall(funcPC(libc_getuid_trampoline), 0, 0, 0)
- 	uid = int(r0)
- 	return
- }
- 
-+func libc_getuid_trampoline()
-+
-+//go:linkname libc_getuid libc_getuid
-+//go:cgo_import_dynamic libc_getuid getuid "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Issetugid() (tainted bool) {
--	r0, _, _ := RawSyscall(SYS_ISSETUGID, 0, 0, 0)
-+	r0, _, _ := syscall_rawSyscall(funcPC(libc_issetugid_trampoline), 0, 0, 0)
- 	tainted = bool(r0 != 0)
- 	return
- }
- 
-+func libc_issetugid_trampoline()
-+
-+//go:linkname libc_issetugid libc_issetugid
-+//go:cgo_import_dynamic libc_issetugid issetugid "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Kqueue() (fd int, err error) {
--	r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0)
-+	r0, _, e1 := syscall_syscall(funcPC(libc_kqueue_trampoline), 0, 0, 0)
- 	fd = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -863,6 +1411,11 @@ func Kqueue() (fd int, err error) {
- 	return
- }
- 
-+func libc_kqueue_trampoline()
-+
-+//go:linkname libc_kqueue libc_kqueue
-+//go:cgo_import_dynamic libc_kqueue kqueue "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Lchown(path string, uid int, gid int) (err error) {
-@@ -871,13 +1424,18 @@ func Lchown(path string, uid int, gid int) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))
-+	_, _, e1 := syscall_syscall(funcPC(libc_lchown_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_lchown_trampoline()
-+
-+//go:linkname libc_lchown libc_lchown
-+//go:cgo_import_dynamic libc_lchown lchown "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Link(path string, link string) (err error) {
-@@ -891,13 +1449,18 @@ func Link(path string, link string) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_link_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_link_trampoline()
-+
-+//go:linkname libc_link libc_link
-+//go:cgo_import_dynamic libc_link link "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) {
-@@ -911,37 +1474,32 @@ func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err er
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)
-+	_, _, e1 := syscall_syscall6(funcPC(libc_linkat_trampoline), uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_linkat_trampoline()
-+
-+//go:linkname libc_linkat libc_linkat
-+//go:cgo_import_dynamic libc_linkat linkat "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Listen(s int, backlog int) (err error) {
--	_, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_listen_trampoline), uintptr(s), uintptr(backlog), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+func libc_listen_trampoline()
- 
--func Lstat(path string, stat *Stat_t) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_LSTAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
-+//go:linkname libc_listen libc_listen
-+//go:cgo_import_dynamic libc_listen listen "/usr/lib/libSystem.B.dylib"
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-@@ -951,13 +1509,18 @@ func Mkdir(path string, mode uint32) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_mkdir_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_mkdir_trampoline()
-+
-+//go:linkname libc_mkdir libc_mkdir
-+//go:cgo_import_dynamic libc_mkdir mkdir "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Mkdirat(dirfd int, path string, mode uint32) (err error) {
-@@ -966,13 +1529,18 @@ func Mkdirat(dirfd int, path string, mode uint32) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))
-+	_, _, e1 := syscall_syscall(funcPC(libc_mkdirat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_mkdirat_trampoline()
-+
-+//go:linkname libc_mkdirat libc_mkdirat
-+//go:cgo_import_dynamic libc_mkdirat mkdirat "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Mkfifo(path string, mode uint32) (err error) {
-@@ -981,13 +1549,18 @@ func Mkfifo(path string, mode uint32) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_mkfifo_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_mkfifo_trampoline()
-+
-+//go:linkname libc_mkfifo libc_mkfifo
-+//go:cgo_import_dynamic libc_mkfifo mkfifo "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Mknod(path string, mode uint32, dev int) (err error) {
-@@ -996,13 +1569,18 @@ func Mknod(path string, mode uint32, dev int) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev))
-+	_, _, e1 := syscall_syscall(funcPC(libc_mknod_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_mknod_trampoline()
-+
-+//go:linkname libc_mknod libc_mknod
-+//go:cgo_import_dynamic libc_mknod mknod "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Open(path string, mode int, perm uint32) (fd int, err error) {
-@@ -1011,7 +1589,7 @@ func Open(path string, mode int, perm uint32) (fd int, err error) {
- 	if err != nil {
- 		return
- 	}
--	r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm))
-+	r0, _, e1 := syscall_syscall(funcPC(libc_open_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm))
- 	fd = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -1019,6 +1597,11 @@ func Open(path string, mode int, perm uint32) (fd int, err error) {
- 	return
- }
- 
-+func libc_open_trampoline()
-+
-+//go:linkname libc_open libc_open
-+//go:cgo_import_dynamic libc_open open "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) {
-@@ -1027,7 +1610,7 @@ func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) {
- 	if err != nil {
- 		return
- 	}
--	r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0)
-+	r0, _, e1 := syscall_syscall6(funcPC(libc_openat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0)
- 	fd = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -1035,6 +1618,11 @@ func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) {
- 	return
- }
- 
-+func libc_openat_trampoline()
-+
-+//go:linkname libc_openat libc_openat
-+//go:cgo_import_dynamic libc_openat openat "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Pathconf(path string, name int) (val int, err error) {
-@@ -1043,7 +1631,7 @@ func Pathconf(path string, name int) (val int, err error) {
- 	if err != nil {
- 		return
- 	}
--	r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0)
-+	r0, _, e1 := syscall_syscall(funcPC(libc_pathconf_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(name), 0)
- 	val = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -1051,6 +1639,11 @@ func Pathconf(path string, name int) (val int, err error) {
- 	return
- }
- 
-+func libc_pathconf_trampoline()
-+
-+//go:linkname libc_pathconf libc_pathconf
-+//go:cgo_import_dynamic libc_pathconf pathconf "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Pread(fd int, p []byte, offset int64) (n int, err error) {
-@@ -1060,7 +1653,7 @@ func Pread(fd int, p []byte, offset int64) (n int, err error) {
- 	} else {
- 		_p0 = unsafe.Pointer(&_zero)
- 	}
--	r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0)
-+	r0, _, e1 := syscall_syscall6(funcPC(libc_pread_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0)
- 	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -1068,6 +1661,11 @@ func Pread(fd int, p []byte, offset int64) (n int, err error) {
- 	return
- }
- 
-+func libc_pread_trampoline()
-+
-+//go:linkname libc_pread libc_pread
-+//go:cgo_import_dynamic libc_pread pread "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Pwrite(fd int, p []byte, offset int64) (n int, err error) {
-@@ -1077,7 +1675,7 @@ func Pwrite(fd int, p []byte, offset int64) (n int, err error) {
- 	} else {
- 		_p0 = unsafe.Pointer(&_zero)
- 	}
--	r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0)
-+	r0, _, e1 := syscall_syscall6(funcPC(libc_pwrite_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0)
- 	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -1085,6 +1683,11 @@ func Pwrite(fd int, p []byte, offset int64) (n int, err error) {
- 	return
- }
- 
-+func libc_pwrite_trampoline()
-+
-+//go:linkname libc_pwrite libc_pwrite
-+//go:cgo_import_dynamic libc_pwrite pwrite "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func read(fd int, p []byte) (n int, err error) {
-@@ -1094,7 +1697,7 @@ func read(fd int, p []byte) (n int, err error) {
- 	} else {
- 		_p0 = unsafe.Pointer(&_zero)
- 	}
--	r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p)))
-+	r0, _, e1 := syscall_syscall(funcPC(libc_read_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p)))
- 	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -1102,6 +1705,11 @@ func read(fd int, p []byte) (n int, err error) {
- 	return
- }
- 
-+func libc_read_trampoline()
-+
-+//go:linkname libc_read libc_read
-+//go:cgo_import_dynamic libc_read read "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Readlink(path string, buf []byte) (n int, err error) {
-@@ -1116,7 +1724,7 @@ func Readlink(path string, buf []byte) (n int, err error) {
- 	} else {
- 		_p1 = unsafe.Pointer(&_zero)
- 	}
--	r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)))
-+	r0, _, e1 := syscall_syscall(funcPC(libc_readlink_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)))
- 	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -1124,6 +1732,11 @@ func Readlink(path string, buf []byte) (n int, err error) {
- 	return
- }
- 
-+func libc_readlink_trampoline()
-+
-+//go:linkname libc_readlink libc_readlink
-+//go:cgo_import_dynamic libc_readlink readlink "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) {
-@@ -1138,7 +1751,7 @@ func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) {
- 	} else {
- 		_p1 = unsafe.Pointer(&_zero)
- 	}
--	r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0)
-+	r0, _, e1 := syscall_syscall6(funcPC(libc_readlinkat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0)
- 	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -1146,6 +1759,11 @@ func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) {
- 	return
- }
- 
-+func libc_readlinkat_trampoline()
-+
-+//go:linkname libc_readlinkat libc_readlinkat
-+//go:cgo_import_dynamic libc_readlinkat readlinkat "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Rename(from string, to string) (err error) {
-@@ -1159,13 +1777,18 @@ func Rename(from string, to string) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_rename_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_rename_trampoline()
-+
-+//go:linkname libc_rename libc_rename
-+//go:cgo_import_dynamic libc_rename rename "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Renameat(fromfd int, from string, tofd int, to string) (err error) {
-@@ -1179,13 +1802,18 @@ func Renameat(fromfd int, from string, tofd int, to string) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0)
-+	_, _, e1 := syscall_syscall6(funcPC(libc_renameat_trampoline), uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_renameat_trampoline()
-+
-+//go:linkname libc_renameat libc_renameat
-+//go:cgo_import_dynamic libc_renameat renameat "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Revoke(path string) (err error) {
-@@ -1194,13 +1822,18 @@ func Revoke(path string) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_revoke_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_revoke_trampoline()
-+
-+//go:linkname libc_revoke libc_revoke
-+//go:cgo_import_dynamic libc_revoke revoke "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Rmdir(path string) (err error) {
-@@ -1209,17 +1842,22 @@ func Rmdir(path string) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_rmdir_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_rmdir_trampoline()
-+
-+//go:linkname libc_rmdir libc_rmdir
-+//go:cgo_import_dynamic libc_rmdir rmdir "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Seek(fd int, offset int64, whence int) (newoffset int64, err error) {
--	r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence))
-+	r0, _, e1 := syscall_syscall(funcPC(libc_lseek_trampoline), uintptr(fd), uintptr(offset), uintptr(whence))
- 	newoffset = int64(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -1227,46 +1865,72 @@ func Seek(fd int, offset int64, whence int) (newoffset int64, err error) {
- 	return
- }
- 
-+func libc_lseek_trampoline()
-+
-+//go:linkname libc_lseek libc_lseek
-+//go:cgo_import_dynamic libc_lseek lseek "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) {
--	_, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)
-+func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) {
-+	r0, _, e1 := syscall_syscall6(funcPC(libc_select_trampoline), uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)
-+	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_select_trampoline()
-+
-+//go:linkname libc_select libc_select
-+//go:cgo_import_dynamic libc_select select "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Setegid(egid int) (err error) {
--	_, _, e1 := Syscall(SYS_SETEGID, uintptr(egid), 0, 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_setegid_trampoline), uintptr(egid), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_setegid_trampoline()
-+
-+//go:linkname libc_setegid libc_setegid
-+//go:cgo_import_dynamic libc_setegid setegid "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Seteuid(euid int) (err error) {
--	_, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0)
-+	_, _, e1 := syscall_rawSyscall(funcPC(libc_seteuid_trampoline), uintptr(euid), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_seteuid_trampoline()
-+
-+//go:linkname libc_seteuid libc_seteuid
-+//go:cgo_import_dynamic libc_seteuid seteuid "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Setgid(gid int) (err error) {
--	_, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0)
-+	_, _, e1 := syscall_rawSyscall(funcPC(libc_setgid_trampoline), uintptr(gid), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_setgid_trampoline()
-+
-+//go:linkname libc_setgid libc_setgid
-+//go:cgo_import_dynamic libc_setgid setgid "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Setlogin(name string) (err error) {
-@@ -1275,77 +1939,112 @@ func Setlogin(name string) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_setlogin_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_setlogin_trampoline()
-+
-+//go:linkname libc_setlogin libc_setlogin
-+//go:cgo_import_dynamic libc_setlogin setlogin "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Setpgid(pid int, pgid int) (err error) {
--	_, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0)
-+	_, _, e1 := syscall_rawSyscall(funcPC(libc_setpgid_trampoline), uintptr(pid), uintptr(pgid), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_setpgid_trampoline()
-+
-+//go:linkname libc_setpgid libc_setpgid
-+//go:cgo_import_dynamic libc_setpgid setpgid "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Setpriority(which int, who int, prio int) (err error) {
--	_, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio))
-+	_, _, e1 := syscall_syscall(funcPC(libc_setpriority_trampoline), uintptr(which), uintptr(who), uintptr(prio))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_setpriority_trampoline()
-+
-+//go:linkname libc_setpriority libc_setpriority
-+//go:cgo_import_dynamic libc_setpriority setpriority "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Setprivexec(flag int) (err error) {
--	_, _, e1 := Syscall(SYS_SETPRIVEXEC, uintptr(flag), 0, 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_setprivexec_trampoline), uintptr(flag), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_setprivexec_trampoline()
-+
-+//go:linkname libc_setprivexec libc_setprivexec
-+//go:cgo_import_dynamic libc_setprivexec setprivexec "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Setregid(rgid int, egid int) (err error) {
--	_, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0)
-+	_, _, e1 := syscall_rawSyscall(funcPC(libc_setregid_trampoline), uintptr(rgid), uintptr(egid), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_setregid_trampoline()
-+
-+//go:linkname libc_setregid libc_setregid
-+//go:cgo_import_dynamic libc_setregid setregid "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Setreuid(ruid int, euid int) (err error) {
--	_, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0)
-+	_, _, e1 := syscall_rawSyscall(funcPC(libc_setreuid_trampoline), uintptr(ruid), uintptr(euid), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_setreuid_trampoline()
-+
-+//go:linkname libc_setreuid libc_setreuid
-+//go:cgo_import_dynamic libc_setreuid setreuid "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Setrlimit(which int, lim *Rlimit) (err error) {
--	_, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)
-+	_, _, e1 := syscall_rawSyscall(funcPC(libc_setrlimit_trampoline), uintptr(which), uintptr(unsafe.Pointer(lim)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_setrlimit_trampoline()
-+
-+//go:linkname libc_setrlimit libc_setrlimit
-+//go:cgo_import_dynamic libc_setrlimit setrlimit "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Setsid() (pid int, err error) {
--	r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0)
-+	r0, _, e1 := syscall_rawSyscall(funcPC(libc_setsid_trampoline), 0, 0, 0)
- 	pid = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -1353,55 +2052,40 @@ func Setsid() (pid int, err error) {
- 	return
- }
- 
-+func libc_setsid_trampoline()
-+
-+//go:linkname libc_setsid libc_setsid
-+//go:cgo_import_dynamic libc_setsid setsid "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Settimeofday(tp *Timeval) (err error) {
--	_, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0)
-+	_, _, e1 := syscall_rawSyscall(funcPC(libc_settimeofday_trampoline), uintptr(unsafe.Pointer(tp)), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+func libc_settimeofday_trampoline()
- 
--func Setuid(uid int) (err error) {
--	_, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
-+//go:linkname libc_settimeofday libc_settimeofday
-+//go:cgo_import_dynamic libc_settimeofday settimeofday "/usr/lib/libSystem.B.dylib"
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Stat(path string, stat *Stat_t) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_STAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
-+func Setuid(uid int) (err error) {
-+	_, _, e1 := syscall_rawSyscall(funcPC(libc_setuid_trampoline), uintptr(uid), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+func libc_setuid_trampoline()
- 
--func Statfs(path string, stat *Statfs_t) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_STATFS64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
-+//go:linkname libc_setuid libc_setuid
-+//go:cgo_import_dynamic libc_setuid setuid "/usr/lib/libSystem.B.dylib"
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-@@ -1416,13 +2100,18 @@ func Symlink(path string, link string) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_symlink_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_symlink_trampoline()
-+
-+//go:linkname libc_symlink libc_symlink
-+//go:cgo_import_dynamic libc_symlink symlink "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) {
-@@ -1436,23 +2125,33 @@ func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)))
-+	_, _, e1 := syscall_syscall(funcPC(libc_symlinkat_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_symlinkat_trampoline()
-+
-+//go:linkname libc_symlinkat libc_symlinkat
-+//go:cgo_import_dynamic libc_symlinkat symlinkat "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Sync() (err error) {
--	_, _, e1 := Syscall(SYS_SYNC, 0, 0, 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_sync_trampoline), 0, 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_sync_trampoline()
-+
-+//go:linkname libc_sync libc_sync
-+//go:cgo_import_dynamic libc_sync sync "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Truncate(path string, length int64) (err error) {
-@@ -1461,21 +2160,31 @@ func Truncate(path string, length int64) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_truncate_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(length), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_truncate_trampoline()
-+
-+//go:linkname libc_truncate libc_truncate
-+//go:cgo_import_dynamic libc_truncate truncate "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Umask(newmask int) (oldmask int) {
--	r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0)
-+	r0, _, _ := syscall_syscall(funcPC(libc_umask_trampoline), uintptr(newmask), 0, 0)
- 	oldmask = int(r0)
- 	return
- }
- 
-+func libc_umask_trampoline()
-+
-+//go:linkname libc_umask libc_umask
-+//go:cgo_import_dynamic libc_umask umask "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Undelete(path string) (err error) {
-@@ -1484,13 +2193,18 @@ func Undelete(path string) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(_p0)), 0, 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_undelete_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_undelete_trampoline()
-+
-+//go:linkname libc_undelete libc_undelete
-+//go:cgo_import_dynamic libc_undelete undelete "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Unlink(path string) (err error) {
-@@ -1499,13 +2213,18 @@ func Unlink(path string) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_unlink_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_unlink_trampoline()
-+
-+//go:linkname libc_unlink libc_unlink
-+//go:cgo_import_dynamic libc_unlink unlink "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Unlinkat(dirfd int, path string, flags int) (err error) {
-@@ -1514,13 +2233,18 @@ func Unlinkat(dirfd int, path string, flags int) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags))
-+	_, _, e1 := syscall_syscall(funcPC(libc_unlinkat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_unlinkat_trampoline()
-+
-+//go:linkname libc_unlinkat libc_unlinkat
-+//go:cgo_import_dynamic libc_unlinkat unlinkat "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Unmount(path string, flags int) (err error) {
-@@ -1529,13 +2253,18 @@ func Unmount(path string, flags int) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_unmount_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_unmount_trampoline()
-+
-+//go:linkname libc_unmount libc_unmount
-+//go:cgo_import_dynamic libc_unmount unmount "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func write(fd int, p []byte) (n int, err error) {
-@@ -1545,7 +2274,7 @@ func write(fd int, p []byte) (n int, err error) {
- 	} else {
- 		_p0 = unsafe.Pointer(&_zero)
- 	}
--	r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)))
-+	r0, _, e1 := syscall_syscall(funcPC(libc_write_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p)))
- 	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -1553,10 +2282,15 @@ func write(fd int, p []byte) (n int, err error) {
- 	return
- }
- 
-+func libc_write_trampoline()
-+
-+//go:linkname libc_write libc_write
-+//go:cgo_import_dynamic libc_write write "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) {
--	r0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos))
-+	r0, _, e1 := syscall_syscall6(funcPC(libc_mmap_trampoline), uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos))
- 	ret = uintptr(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -1564,20 +2298,30 @@ func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (
- 	return
- }
- 
-+func libc_mmap_trampoline()
-+
-+//go:linkname libc_mmap libc_mmap
-+//go:cgo_import_dynamic libc_mmap mmap "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func munmap(addr uintptr, length uintptr) (err error) {
--	_, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_munmap_trampoline), uintptr(addr), uintptr(length), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_munmap_trampoline()
-+
-+//go:linkname libc_munmap libc_munmap
-+//go:cgo_import_dynamic libc_munmap munmap "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func readlen(fd int, buf *byte, nbuf int) (n int, err error) {
--	r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf))
-+	r0, _, e1 := syscall_syscall(funcPC(libc_read_trampoline), uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf))
- 	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -1588,7 +2332,7 @@ func readlen(fd int, buf *byte, nbuf int) (n int, err error) {
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func writelen(fd int, buf *byte, nbuf int) (n int, err error) {
--	r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf))
-+	r0, _, e1 := syscall_syscall(funcPC(libc_write_trampoline), uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf))
- 	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -1598,8 +2342,23 @@ func writelen(fd int, buf *byte, nbuf int) (n int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) {
-+	_, _, e1 := syscall_syscall6(funcPC(libc_ptrace_trampoline), uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+func libc_ptrace_trampoline()
-+
-+//go:linkname libc_ptrace libc_ptrace
-+//go:cgo_import_dynamic libc_ptrace ptrace "/usr/lib/libSystem.B.dylib"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func gettimeofday(tp *Timeval) (sec int64, usec int32, err error) {
--	r0, r1, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0)
-+	r0, r1, e1 := syscall_rawSyscall(funcPC(libc_gettimeofday_trampoline), uintptr(unsafe.Pointer(tp)), 0, 0)
- 	sec = int64(r0)
- 	usec = int32(r1)
- 	if e1 != 0 {
-@@ -1607,3 +2366,134 @@ func gettimeofday(tp *Timeval) (sec int64, usec int32, err error) {
- 	}
- 	return
- }
-+
-+func libc_gettimeofday_trampoline()
-+
-+//go:linkname libc_gettimeofday libc_gettimeofday
-+//go:cgo_import_dynamic libc_gettimeofday gettimeofday "/usr/lib/libSystem.B.dylib"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Fstat(fd int, stat *Stat_t) (err error) {
-+	_, _, e1 := syscall_syscall(funcPC(libc_fstat64_trampoline), uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+func libc_fstat64_trampoline()
-+
-+//go:linkname libc_fstat64 libc_fstat64
-+//go:cgo_import_dynamic libc_fstat64 fstat64 "/usr/lib/libSystem.B.dylib"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := syscall_syscall6(funcPC(libc_fstatat64_trampoline), uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+func libc_fstatat64_trampoline()
-+
-+//go:linkname libc_fstatat64 libc_fstatat64
-+//go:cgo_import_dynamic libc_fstatat64 fstatat64 "/usr/lib/libSystem.B.dylib"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Fstatfs(fd int, stat *Statfs_t) (err error) {
-+	_, _, e1 := syscall_syscall(funcPC(libc_fstatfs64_trampoline), uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+func libc_fstatfs64_trampoline()
-+
-+//go:linkname libc_fstatfs64 libc_fstatfs64
-+//go:cgo_import_dynamic libc_fstatfs64 fstatfs64 "/usr/lib/libSystem.B.dylib"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func getfsstat(buf unsafe.Pointer, size uintptr, flags int) (n int, err error) {
-+	r0, _, e1 := syscall_syscall(funcPC(libc_getfsstat64_trampoline), uintptr(buf), uintptr(size), uintptr(flags))
-+	n = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+func libc_getfsstat64_trampoline()
-+
-+//go:linkname libc_getfsstat64 libc_getfsstat64
-+//go:cgo_import_dynamic libc_getfsstat64 getfsstat64 "/usr/lib/libSystem.B.dylib"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Lstat(path string, stat *Stat_t) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := syscall_syscall(funcPC(libc_lstat64_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+func libc_lstat64_trampoline()
-+
-+//go:linkname libc_lstat64 libc_lstat64
-+//go:cgo_import_dynamic libc_lstat64 lstat64 "/usr/lib/libSystem.B.dylib"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Stat(path string, stat *Stat_t) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := syscall_syscall(funcPC(libc_stat64_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+func libc_stat64_trampoline()
-+
-+//go:linkname libc_stat64 libc_stat64
-+//go:cgo_import_dynamic libc_stat64 stat64 "/usr/lib/libSystem.B.dylib"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Statfs(path string, stat *Statfs_t) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := syscall_syscall(funcPC(libc_statfs64_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+func libc_statfs64_trampoline()
-+
-+//go:linkname libc_statfs64 libc_statfs64
-+//go:cgo_import_dynamic libc_statfs64 statfs64 "/usr/lib/libSystem.B.dylib"
-diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s
-new file mode 100644
-index 00000000..a3fdf099
---- /dev/null
-+++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s
-@@ -0,0 +1,284 @@
-+// go run mkasm_darwin.go amd64
-+// Code generated by the command above; DO NOT EDIT.
-+
-+// +build go1.12
-+
-+#include "textflag.h"
-+TEXT ·libc_getgroups_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_getgroups(SB)
-+TEXT ·libc_setgroups_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_setgroups(SB)
-+TEXT ·libc_wait4_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_wait4(SB)
-+TEXT ·libc_accept_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_accept(SB)
-+TEXT ·libc_bind_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_bind(SB)
-+TEXT ·libc_connect_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_connect(SB)
-+TEXT ·libc_socket_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_socket(SB)
-+TEXT ·libc_getsockopt_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_getsockopt(SB)
-+TEXT ·libc_setsockopt_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_setsockopt(SB)
-+TEXT ·libc_getpeername_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_getpeername(SB)
-+TEXT ·libc_getsockname_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_getsockname(SB)
-+TEXT ·libc_shutdown_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_shutdown(SB)
-+TEXT ·libc_socketpair_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_socketpair(SB)
-+TEXT ·libc_recvfrom_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_recvfrom(SB)
-+TEXT ·libc_sendto_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_sendto(SB)
-+TEXT ·libc_recvmsg_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_recvmsg(SB)
-+TEXT ·libc_sendmsg_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_sendmsg(SB)
-+TEXT ·libc_kevent_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_kevent(SB)
-+TEXT ·libc_utimes_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_utimes(SB)
-+TEXT ·libc_futimes_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_futimes(SB)
-+TEXT ·libc_poll_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_poll(SB)
-+TEXT ·libc_madvise_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_madvise(SB)
-+TEXT ·libc_mlock_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_mlock(SB)
-+TEXT ·libc_mlockall_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_mlockall(SB)
-+TEXT ·libc_mprotect_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_mprotect(SB)
-+TEXT ·libc_msync_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_msync(SB)
-+TEXT ·libc_munlock_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_munlock(SB)
-+TEXT ·libc_munlockall_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_munlockall(SB)
-+TEXT ·libc_getattrlist_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_getattrlist(SB)
-+TEXT ·libc_pipe_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_pipe(SB)
-+TEXT ·libc_getxattr_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_getxattr(SB)
-+TEXT ·libc_fgetxattr_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_fgetxattr(SB)
-+TEXT ·libc_setxattr_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_setxattr(SB)
-+TEXT ·libc_fsetxattr_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_fsetxattr(SB)
-+TEXT ·libc_removexattr_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_removexattr(SB)
-+TEXT ·libc_fremovexattr_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_fremovexattr(SB)
-+TEXT ·libc_listxattr_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_listxattr(SB)
-+TEXT ·libc_flistxattr_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_flistxattr(SB)
-+TEXT ·libc_setattrlist_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_setattrlist(SB)
-+TEXT ·libc_fcntl_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_fcntl(SB)
-+TEXT ·libc_kill_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_kill(SB)
-+TEXT ·libc_ioctl_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_ioctl(SB)
-+TEXT ·libc_sysctl_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_sysctl(SB)
-+TEXT ·libc_sendfile_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_sendfile(SB)
-+TEXT ·libc_access_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_access(SB)
-+TEXT ·libc_adjtime_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_adjtime(SB)
-+TEXT ·libc_chdir_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_chdir(SB)
-+TEXT ·libc_chflags_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_chflags(SB)
-+TEXT ·libc_chmod_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_chmod(SB)
-+TEXT ·libc_chown_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_chown(SB)
-+TEXT ·libc_chroot_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_chroot(SB)
-+TEXT ·libc_clock_gettime_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_clock_gettime(SB)
-+TEXT ·libc_close_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_close(SB)
-+TEXT ·libc_dup_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_dup(SB)
-+TEXT ·libc_dup2_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_dup2(SB)
-+TEXT ·libc_exchangedata_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_exchangedata(SB)
-+TEXT ·libc_exit_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_exit(SB)
-+TEXT ·libc_faccessat_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_faccessat(SB)
-+TEXT ·libc_fchdir_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_fchdir(SB)
-+TEXT ·libc_fchflags_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_fchflags(SB)
-+TEXT ·libc_fchmod_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_fchmod(SB)
-+TEXT ·libc_fchmodat_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_fchmodat(SB)
-+TEXT ·libc_fchown_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_fchown(SB)
-+TEXT ·libc_fchownat_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_fchownat(SB)
-+TEXT ·libc_flock_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_flock(SB)
-+TEXT ·libc_fpathconf_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_fpathconf(SB)
-+TEXT ·libc_fsync_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_fsync(SB)
-+TEXT ·libc_ftruncate_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_ftruncate(SB)
-+TEXT ·libc_getdtablesize_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_getdtablesize(SB)
-+TEXT ·libc_getegid_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_getegid(SB)
-+TEXT ·libc_geteuid_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_geteuid(SB)
-+TEXT ·libc_getgid_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_getgid(SB)
-+TEXT ·libc_getpgid_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_getpgid(SB)
-+TEXT ·libc_getpgrp_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_getpgrp(SB)
-+TEXT ·libc_getpid_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_getpid(SB)
-+TEXT ·libc_getppid_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_getppid(SB)
-+TEXT ·libc_getpriority_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_getpriority(SB)
-+TEXT ·libc_getrlimit_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_getrlimit(SB)
-+TEXT ·libc_getrusage_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_getrusage(SB)
-+TEXT ·libc_getsid_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_getsid(SB)
-+TEXT ·libc_getuid_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_getuid(SB)
-+TEXT ·libc_issetugid_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_issetugid(SB)
-+TEXT ·libc_kqueue_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_kqueue(SB)
-+TEXT ·libc_lchown_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_lchown(SB)
-+TEXT ·libc_link_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_link(SB)
-+TEXT ·libc_linkat_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_linkat(SB)
-+TEXT ·libc_listen_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_listen(SB)
-+TEXT ·libc_mkdir_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_mkdir(SB)
-+TEXT ·libc_mkdirat_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_mkdirat(SB)
-+TEXT ·libc_mkfifo_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_mkfifo(SB)
-+TEXT ·libc_mknod_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_mknod(SB)
-+TEXT ·libc_open_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_open(SB)
-+TEXT ·libc_openat_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_openat(SB)
-+TEXT ·libc_pathconf_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_pathconf(SB)
-+TEXT ·libc_pread_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_pread(SB)
-+TEXT ·libc_pwrite_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_pwrite(SB)
-+TEXT ·libc_read_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_read(SB)
-+TEXT ·libc_readlink_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_readlink(SB)
-+TEXT ·libc_readlinkat_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_readlinkat(SB)
-+TEXT ·libc_rename_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_rename(SB)
-+TEXT ·libc_renameat_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_renameat(SB)
-+TEXT ·libc_revoke_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_revoke(SB)
-+TEXT ·libc_rmdir_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_rmdir(SB)
-+TEXT ·libc_lseek_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_lseek(SB)
-+TEXT ·libc_select_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_select(SB)
-+TEXT ·libc_setegid_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_setegid(SB)
-+TEXT ·libc_seteuid_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_seteuid(SB)
-+TEXT ·libc_setgid_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_setgid(SB)
-+TEXT ·libc_setlogin_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_setlogin(SB)
-+TEXT ·libc_setpgid_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_setpgid(SB)
-+TEXT ·libc_setpriority_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_setpriority(SB)
-+TEXT ·libc_setprivexec_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_setprivexec(SB)
-+TEXT ·libc_setregid_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_setregid(SB)
-+TEXT ·libc_setreuid_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_setreuid(SB)
-+TEXT ·libc_setrlimit_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_setrlimit(SB)
-+TEXT ·libc_setsid_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_setsid(SB)
-+TEXT ·libc_settimeofday_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_settimeofday(SB)
-+TEXT ·libc_setuid_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_setuid(SB)
-+TEXT ·libc_symlink_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_symlink(SB)
-+TEXT ·libc_symlinkat_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_symlinkat(SB)
-+TEXT ·libc_sync_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_sync(SB)
-+TEXT ·libc_truncate_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_truncate(SB)
-+TEXT ·libc_umask_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_umask(SB)
-+TEXT ·libc_undelete_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_undelete(SB)
-+TEXT ·libc_unlink_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_unlink(SB)
-+TEXT ·libc_unlinkat_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_unlinkat(SB)
-+TEXT ·libc_unmount_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_unmount(SB)
-+TEXT ·libc_write_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_write(SB)
-+TEXT ·libc_mmap_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_mmap(SB)
-+TEXT ·libc_munmap_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_munmap(SB)
-+TEXT ·libc_ptrace_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_ptrace(SB)
-+TEXT ·libc_gettimeofday_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_gettimeofday(SB)
-+TEXT ·libc_fstat64_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_fstat64(SB)
-+TEXT ·libc_fstatat64_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_fstatat64(SB)
-+TEXT ·libc_fstatfs64_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_fstatfs64(SB)
-+TEXT ·libc_getfsstat64_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_getfsstat64(SB)
-+TEXT ·libc_lstat64_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_lstat64(SB)
-+TEXT ·libc_stat64_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_stat64(SB)
-+TEXT ·libc_statfs64_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_statfs64(SB)
-diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.1_11.go
-similarity index 85%
-copy from vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.go
-copy to vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.1_11.go
-index 7a409745..cea04e04 100644
---- a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.go
-+++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.1_11.go
-@@ -1,7 +1,7 @@
--// mksyscall.pl -tags darwin,arm syscall_bsd.go syscall_darwin.go syscall_darwin_arm.go
-+// go run mksyscall.go -l32 -tags darwin,arm,!go1.12 syscall_bsd.go syscall_darwin.go syscall_darwin_arm.1_11.go syscall_darwin_arm.go
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
--// +build darwin,arm
-+// +build darwin,arm,!go1.12
- 
- package unix
- 
-@@ -214,22 +214,6 @@ func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, ne
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) {
--	var _p0 unsafe.Pointer
--	if len(mib) > 0 {
--		_p0 = unsafe.Pointer(&mib[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall6(SYS_SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
- func utimes(path string, timeval *[2]Timeval) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -255,9 +239,9 @@ func futimes(fd int, timeval *[2]Timeval) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func fcntl(fd int, cmd int, arg int) (val int, err error) {
--	r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg))
--	val = int(r0)
-+func poll(fds *PollFd, nfds int, timeout int) (n int, err error) {
-+	r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout))
-+	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -366,8 +350,8 @@ func Munlockall() (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) {
--	_, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0)
-+func getattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error) {
-+	_, _, e1 := Syscall6(SYS_GETATTRLIST, uintptr(unsafe.Pointer(path)), uintptr(list), uintptr(buf), uintptr(size), uintptr(options), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -388,6 +372,161 @@ func pipe() (r int, w int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func getxattr(path string, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	var _p1 *byte
-+	_p1, err = BytePtrFromString(attr)
-+	if err != nil {
-+		return
-+	}
-+	r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options))
-+	sz = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func fgetxattr(fd int, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(attr)
-+	if err != nil {
-+		return
-+	}
-+	r0, _, e1 := Syscall6(SYS_FGETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options))
-+	sz = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func setxattr(path string, attr string, data *byte, size int, position uint32, options int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	var _p1 *byte
-+	_p1, err = BytePtrFromString(attr)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func fsetxattr(fd int, attr string, data *byte, size int, position uint32, options int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(attr)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_FSETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func removexattr(path string, attr string, options int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	var _p1 *byte
-+	_p1, err = BytePtrFromString(attr)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func fremovexattr(fd int, attr string, options int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(attr)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall(SYS_FREMOVEXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(options))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func listxattr(path string, dest *byte, size int, options int) (sz int, err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	r0, _, e1 := Syscall6(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0)
-+	sz = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func flistxattr(fd int, dest *byte, size int, options int) (sz int, err error) {
-+	r0, _, e1 := Syscall6(SYS_FLISTXATTR, uintptr(fd), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0)
-+	sz = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func setattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error) {
-+	_, _, e1 := Syscall6(SYS_SETATTRLIST, uintptr(unsafe.Pointer(path)), uintptr(list), uintptr(buf), uintptr(size), uintptr(options), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func fcntl(fd int, cmd int, arg int) (val int, err error) {
-+	r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg))
-+	val = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func kill(pid int, signum int, posix int) (err error) {
- 	_, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), uintptr(posix))
- 	if e1 != 0 {
-@@ -408,6 +547,32 @@ func ioctl(fd int, req uint, arg uintptr) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) {
-+	var _p0 unsafe.Pointer
-+	if len(mib) > 0 {
-+		_p0 = unsafe.Pointer(&mib[0])
-+	} else {
-+		_p0 = unsafe.Pointer(&_zero)
-+	}
-+	_, _, e1 := Syscall6(SYS_SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func sendfile(infd int, outfd int, offset int64, len *int64, hdtr unsafe.Pointer, flags int) (err error) {
-+	_, _, e1 := Syscall9(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(offset), uintptr(offset>>32), uintptr(unsafe.Pointer(len)), uintptr(hdtr), uintptr(flags), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Access(path string, mode uint32) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -672,26 +837,6 @@ func Fpathconf(fd int, name int) (val int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Fstat(fd int, stat *Stat_t) (err error) {
--	_, _, e1 := Syscall(SYS_FSTAT64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Fstatfs(fd int, stat *Statfs_t) (err error) {
--	_, _, e1 := Syscall(SYS_FSTATFS64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
- func Fsync(fd int) (err error) {
- 	_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)
- 	if e1 != 0 {
-@@ -712,23 +857,6 @@ func Ftruncate(fd int, length int64) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {
--	var _p0 unsafe.Pointer
--	if len(buf) > 0 {
--		_p0 = unsafe.Pointer(&buf[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall6(SYS_GETDIRENTRIES64, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0)
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
- func Getdtablesize() (size int) {
- 	r0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0)
- 	size = int(r0)
-@@ -930,21 +1058,6 @@ func Listen(s int, backlog int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Lstat(path string, stat *Stat_t) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_LSTAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
- func Mkdir(path string, mode uint32) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -1229,8 +1342,9 @@ func Seek(fd int, offset int64, whence int) (newoffset int64, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) {
--	_, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)
-+func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) {
-+	r0, _, e1 := Syscall6(SYS_SELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)
-+	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1375,36 +1489,6 @@ func Setuid(uid int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Stat(path string, stat *Stat_t) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_STAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Statfs(path string, stat *Statfs_t) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_STATFS64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
- func Symlink(path string, link string) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -1607,3 +1691,94 @@ func gettimeofday(tp *Timeval) (sec int32, usec int32, err error) {
- 	}
- 	return
- }
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Fstat(fd int, stat *Stat_t) (err error) {
-+	_, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Fstatfs(fd int, stat *Statfs_t) (err error) {
-+	_, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func getfsstat(buf unsafe.Pointer, size uintptr, flags int) (n int, err error) {
-+	r0, _, e1 := Syscall(SYS_GETFSSTAT, uintptr(buf), uintptr(size), uintptr(flags))
-+	n = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Lstat(path string, stat *Stat_t) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Stat(path string, stat *Stat_t) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Statfs(path string, stat *Statfs_t) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.1_13.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.1_13.go
-new file mode 100644
-index 00000000..f519ce9a
---- /dev/null
-+++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.1_13.go
-@@ -0,0 +1,41 @@
-+// go run mksyscall.go -l32 -tags darwin,arm,go1.13 syscall_darwin.1_13.go
-+// Code generated by the command above; see README.md. DO NOT EDIT.
-+
-+// +build darwin,arm,go1.13
-+
-+package unix
-+
-+import (
-+	"syscall"
-+	"unsafe"
-+)
-+
-+var _ syscall.Errno
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func closedir(dir uintptr) (err error) {
-+	_, _, e1 := syscall_syscall(funcPC(libc_closedir_trampoline), uintptr(dir), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+func libc_closedir_trampoline()
-+
-+//go:linkname libc_closedir libc_closedir
-+//go:cgo_import_dynamic libc_closedir closedir "/usr/lib/libSystem.B.dylib"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func readdir_r(dir uintptr, entry *Dirent, result **Dirent) (res Errno) {
-+	r0, _, _ := syscall_syscall(funcPC(libc_readdir_r_trampoline), uintptr(dir), uintptr(unsafe.Pointer(entry)), uintptr(unsafe.Pointer(result)))
-+	res = Errno(r0)
-+	return
-+}
-+
-+func libc_readdir_r_trampoline()
-+
-+//go:linkname libc_readdir_r libc_readdir_r
-+//go:cgo_import_dynamic libc_readdir_r readdir_r "/usr/lib/libSystem.B.dylib"
-diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.1_13.s b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.1_13.s
-new file mode 100644
-index 00000000..488e5570
---- /dev/null
-+++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.1_13.s
-@@ -0,0 +1,12 @@
-+// go run mkasm_darwin.go arm
-+// Code generated by the command above; DO NOT EDIT.
-+
-+// +build go1.13
-+
-+#include "textflag.h"
-+TEXT ·libc_fdopendir_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_fdopendir(SB)
-+TEXT ·libc_closedir_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_closedir(SB)
-+TEXT ·libc_readdir_r_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_readdir_r(SB)
-diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.go
-index 7a409745..63103950 100644
---- a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.go
-+++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.go
-@@ -1,7 +1,7 @@
--// mksyscall.pl -tags darwin,arm syscall_bsd.go syscall_darwin.go syscall_darwin_arm.go
-+// go run mksyscall.go -l32 -tags darwin,arm,go1.12 syscall_bsd.go syscall_darwin.go syscall_darwin_arm.go
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
--// +build darwin,arm
-+// +build darwin,arm,go1.12
- 
- package unix
- 
-@@ -15,7 +15,7 @@ var _ syscall.Errno
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func getgroups(ngid int, gid *_Gid_t) (n int, err error) {
--	r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0)
-+	r0, _, e1 := syscall_rawSyscall(funcPC(libc_getgroups_trampoline), uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0)
- 	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -23,20 +23,30 @@ func getgroups(ngid int, gid *_Gid_t) (n int, err error) {
- 	return
- }
- 
-+func libc_getgroups_trampoline()
-+
-+//go:linkname libc_getgroups libc_getgroups
-+//go:cgo_import_dynamic libc_getgroups getgroups "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func setgroups(ngid int, gid *_Gid_t) (err error) {
--	_, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0)
-+	_, _, e1 := syscall_rawSyscall(funcPC(libc_setgroups_trampoline), uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_setgroups_trampoline()
-+
-+//go:linkname libc_setgroups libc_setgroups
-+//go:cgo_import_dynamic libc_setgroups setgroups "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) {
--	r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0)
-+	r0, _, e1 := syscall_syscall6(funcPC(libc_wait4_trampoline), uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0)
- 	wpid = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -44,10 +54,15 @@ func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err
- 	return
- }
- 
-+func libc_wait4_trampoline()
-+
-+//go:linkname libc_wait4 libc_wait4
-+//go:cgo_import_dynamic libc_wait4 wait4 "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {
--	r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))
-+	r0, _, e1 := syscall_syscall(funcPC(libc_accept_trampoline), uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))
- 	fd = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -55,30 +70,45 @@ func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {
- 	return
- }
- 
-+func libc_accept_trampoline()
-+
-+//go:linkname libc_accept libc_accept
-+//go:cgo_import_dynamic libc_accept accept "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {
--	_, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen))
-+	_, _, e1 := syscall_syscall(funcPC(libc_bind_trampoline), uintptr(s), uintptr(addr), uintptr(addrlen))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_bind_trampoline()
-+
-+//go:linkname libc_bind libc_bind
-+//go:cgo_import_dynamic libc_bind bind "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {
--	_, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen))
-+	_, _, e1 := syscall_syscall(funcPC(libc_connect_trampoline), uintptr(s), uintptr(addr), uintptr(addrlen))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_connect_trampoline()
-+
-+//go:linkname libc_connect libc_connect
-+//go:cgo_import_dynamic libc_connect connect "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func socket(domain int, typ int, proto int) (fd int, err error) {
--	r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto))
-+	r0, _, e1 := syscall_rawSyscall(funcPC(libc_socket_trampoline), uintptr(domain), uintptr(typ), uintptr(proto))
- 	fd = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -86,66 +116,101 @@ func socket(domain int, typ int, proto int) (fd int, err error) {
- 	return
- }
- 
-+func libc_socket_trampoline()
-+
-+//go:linkname libc_socket libc_socket
-+//go:cgo_import_dynamic libc_socket socket "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) {
--	_, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0)
-+	_, _, e1 := syscall_syscall6(funcPC(libc_getsockopt_trampoline), uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_getsockopt_trampoline()
-+
-+//go:linkname libc_getsockopt libc_getsockopt
-+//go:cgo_import_dynamic libc_getsockopt getsockopt "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) {
--	_, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0)
-+	_, _, e1 := syscall_syscall6(funcPC(libc_setsockopt_trampoline), uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_setsockopt_trampoline()
-+
-+//go:linkname libc_setsockopt libc_setsockopt
-+//go:cgo_import_dynamic libc_setsockopt setsockopt "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {
--	_, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))
-+	_, _, e1 := syscall_rawSyscall(funcPC(libc_getpeername_trampoline), uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_getpeername_trampoline()
-+
-+//go:linkname libc_getpeername libc_getpeername
-+//go:cgo_import_dynamic libc_getpeername getpeername "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {
--	_, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))
-+	_, _, e1 := syscall_rawSyscall(funcPC(libc_getsockname_trampoline), uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_getsockname_trampoline()
-+
-+//go:linkname libc_getsockname libc_getsockname
-+//go:cgo_import_dynamic libc_getsockname getsockname "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Shutdown(s int, how int) (err error) {
--	_, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_shutdown_trampoline), uintptr(s), uintptr(how), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_shutdown_trampoline()
-+
-+//go:linkname libc_shutdown libc_shutdown
-+//go:cgo_import_dynamic libc_shutdown shutdown "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) {
--	_, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0)
-+	_, _, e1 := syscall_rawSyscall6(funcPC(libc_socketpair_trampoline), uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_socketpair_trampoline()
-+
-+//go:linkname libc_socketpair libc_socketpair
-+//go:cgo_import_dynamic libc_socketpair socketpair "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) {
-@@ -155,7 +220,7 @@ func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Sockl
- 	} else {
- 		_p0 = unsafe.Pointer(&_zero)
- 	}
--	r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen)))
-+	r0, _, e1 := syscall_syscall6(funcPC(libc_recvfrom_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen)))
- 	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -163,6 +228,11 @@ func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Sockl
- 	return
- }
- 
-+func libc_recvfrom_trampoline()
-+
-+//go:linkname libc_recvfrom libc_recvfrom
-+//go:cgo_import_dynamic libc_recvfrom recvfrom "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) {
-@@ -172,17 +242,22 @@ func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (
- 	} else {
- 		_p0 = unsafe.Pointer(&_zero)
- 	}
--	_, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen))
-+	_, _, e1 := syscall_syscall6(funcPC(libc_sendto_trampoline), uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_sendto_trampoline()
-+
-+//go:linkname libc_sendto libc_sendto
-+//go:cgo_import_dynamic libc_sendto sendto "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) {
--	r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))
-+	r0, _, e1 := syscall_syscall(funcPC(libc_recvmsg_trampoline), uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))
- 	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -190,10 +265,15 @@ func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) {
- 	return
- }
- 
-+func libc_recvmsg_trampoline()
-+
-+//go:linkname libc_recvmsg libc_recvmsg
-+//go:cgo_import_dynamic libc_recvmsg recvmsg "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) {
--	r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))
-+	r0, _, e1 := syscall_syscall(funcPC(libc_sendmsg_trampoline), uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))
- 	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -201,10 +281,15 @@ func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) {
- 	return
- }
- 
-+func libc_sendmsg_trampoline()
-+
-+//go:linkname libc_sendmsg libc_sendmsg
-+//go:cgo_import_dynamic libc_sendmsg sendmsg "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) {
--	r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout)))
-+	r0, _, e1 := syscall_syscall6(funcPC(libc_kevent_trampoline), uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout)))
- 	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -212,21 +297,10 @@ func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, ne
- 	return
- }
- 
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+func libc_kevent_trampoline()
- 
--func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) {
--	var _p0 unsafe.Pointer
--	if len(mib) > 0 {
--		_p0 = unsafe.Pointer(&mib[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall6(SYS_SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
-+//go:linkname libc_kevent libc_kevent
-+//go:cgo_import_dynamic libc_kevent kevent "/usr/lib/libSystem.B.dylib"
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-@@ -236,34 +310,49 @@ func utimes(path string, timeval *[2]Timeval) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_utimes_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_utimes_trampoline()
-+
-+//go:linkname libc_utimes libc_utimes
-+//go:cgo_import_dynamic libc_utimes utimes "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func futimes(fd int, timeval *[2]Timeval) (err error) {
--	_, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_futimes_trampoline), uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_futimes_trampoline()
-+
-+//go:linkname libc_futimes libc_futimes
-+//go:cgo_import_dynamic libc_futimes futimes "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func fcntl(fd int, cmd int, arg int) (val int, err error) {
--	r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg))
--	val = int(r0)
-+func poll(fds *PollFd, nfds int, timeout int) (n int, err error) {
-+	r0, _, e1 := syscall_syscall(funcPC(libc_poll_trampoline), uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout))
-+	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_poll_trampoline()
-+
-+//go:linkname libc_poll libc_poll
-+//go:cgo_import_dynamic libc_poll poll "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Madvise(b []byte, behav int) (err error) {
-@@ -273,13 +362,18 @@ func Madvise(b []byte, behav int) (err error) {
- 	} else {
- 		_p0 = unsafe.Pointer(&_zero)
- 	}
--	_, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav))
-+	_, _, e1 := syscall_syscall(funcPC(libc_madvise_trampoline), uintptr(_p0), uintptr(len(b)), uintptr(behav))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_madvise_trampoline()
-+
-+//go:linkname libc_madvise libc_madvise
-+//go:cgo_import_dynamic libc_madvise madvise "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Mlock(b []byte) (err error) {
-@@ -289,23 +383,33 @@ func Mlock(b []byte) (err error) {
- 	} else {
- 		_p0 = unsafe.Pointer(&_zero)
- 	}
--	_, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_mlock_trampoline), uintptr(_p0), uintptr(len(b)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_mlock_trampoline()
-+
-+//go:linkname libc_mlock libc_mlock
-+//go:cgo_import_dynamic libc_mlock mlock "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Mlockall(flags int) (err error) {
--	_, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_mlockall_trampoline), uintptr(flags), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_mlockall_trampoline()
-+
-+//go:linkname libc_mlockall libc_mlockall
-+//go:cgo_import_dynamic libc_mlockall mlockall "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Mprotect(b []byte, prot int) (err error) {
-@@ -315,13 +419,18 @@ func Mprotect(b []byte, prot int) (err error) {
- 	} else {
- 		_p0 = unsafe.Pointer(&_zero)
- 	}
--	_, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))
-+	_, _, e1 := syscall_syscall(funcPC(libc_mprotect_trampoline), uintptr(_p0), uintptr(len(b)), uintptr(prot))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_mprotect_trampoline()
-+
-+//go:linkname libc_mprotect libc_mprotect
-+//go:cgo_import_dynamic libc_mprotect mprotect "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Msync(b []byte, flags int) (err error) {
-@@ -331,13 +440,18 @@ func Msync(b []byte, flags int) (err error) {
- 	} else {
- 		_p0 = unsafe.Pointer(&_zero)
- 	}
--	_, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))
-+	_, _, e1 := syscall_syscall(funcPC(libc_msync_trampoline), uintptr(_p0), uintptr(len(b)), uintptr(flags))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_msync_trampoline()
-+
-+//go:linkname libc_msync libc_msync
-+//go:cgo_import_dynamic libc_msync msync "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Munlock(b []byte) (err error) {
-@@ -347,37 +461,52 @@ func Munlock(b []byte) (err error) {
- 	} else {
- 		_p0 = unsafe.Pointer(&_zero)
- 	}
--	_, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_munlock_trampoline), uintptr(_p0), uintptr(len(b)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_munlock_trampoline()
-+
-+//go:linkname libc_munlock libc_munlock
-+//go:cgo_import_dynamic libc_munlock munlock "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Munlockall() (err error) {
--	_, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_munlockall_trampoline), 0, 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_munlockall_trampoline()
-+
-+//go:linkname libc_munlockall libc_munlockall
-+//go:cgo_import_dynamic libc_munlockall munlockall "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) {
--	_, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0)
-+func getattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error) {
-+	_, _, e1 := syscall_syscall6(funcPC(libc_getattrlist_trampoline), uintptr(unsafe.Pointer(path)), uintptr(list), uintptr(buf), uintptr(size), uintptr(options), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_getattrlist_trampoline()
-+
-+//go:linkname libc_getattrlist libc_getattrlist
-+//go:cgo_import_dynamic libc_getattrlist getattrlist "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func pipe() (r int, w int, err error) {
--	r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0)
-+	r0, r1, e1 := syscall_rawSyscall(funcPC(libc_pipe_trampoline), 0, 0, 0)
- 	r = int(r0)
- 	w = int(r1)
- 	if e1 != 0 {
-@@ -386,26 +515,282 @@ func pipe() (r int, w int, err error) {
- 	return
- }
- 
-+func libc_pipe_trampoline()
-+
-+//go:linkname libc_pipe libc_pipe
-+//go:cgo_import_dynamic libc_pipe pipe "/usr/lib/libSystem.B.dylib"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func getxattr(path string, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	var _p1 *byte
-+	_p1, err = BytePtrFromString(attr)
-+	if err != nil {
-+		return
-+	}
-+	r0, _, e1 := syscall_syscall6(funcPC(libc_getxattr_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options))
-+	sz = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+func libc_getxattr_trampoline()
-+
-+//go:linkname libc_getxattr libc_getxattr
-+//go:cgo_import_dynamic libc_getxattr getxattr "/usr/lib/libSystem.B.dylib"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func fgetxattr(fd int, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(attr)
-+	if err != nil {
-+		return
-+	}
-+	r0, _, e1 := syscall_syscall6(funcPC(libc_fgetxattr_trampoline), uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options))
-+	sz = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+func libc_fgetxattr_trampoline()
-+
-+//go:linkname libc_fgetxattr libc_fgetxattr
-+//go:cgo_import_dynamic libc_fgetxattr fgetxattr "/usr/lib/libSystem.B.dylib"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func setxattr(path string, attr string, data *byte, size int, position uint32, options int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	var _p1 *byte
-+	_p1, err = BytePtrFromString(attr)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := syscall_syscall6(funcPC(libc_setxattr_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+func libc_setxattr_trampoline()
-+
-+//go:linkname libc_setxattr libc_setxattr
-+//go:cgo_import_dynamic libc_setxattr setxattr "/usr/lib/libSystem.B.dylib"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func fsetxattr(fd int, attr string, data *byte, size int, position uint32, options int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(attr)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := syscall_syscall6(funcPC(libc_fsetxattr_trampoline), uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+func libc_fsetxattr_trampoline()
-+
-+//go:linkname libc_fsetxattr libc_fsetxattr
-+//go:cgo_import_dynamic libc_fsetxattr fsetxattr "/usr/lib/libSystem.B.dylib"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func removexattr(path string, attr string, options int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	var _p1 *byte
-+	_p1, err = BytePtrFromString(attr)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := syscall_syscall(funcPC(libc_removexattr_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+func libc_removexattr_trampoline()
-+
-+//go:linkname libc_removexattr libc_removexattr
-+//go:cgo_import_dynamic libc_removexattr removexattr "/usr/lib/libSystem.B.dylib"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func fremovexattr(fd int, attr string, options int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(attr)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := syscall_syscall(funcPC(libc_fremovexattr_trampoline), uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(options))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+func libc_fremovexattr_trampoline()
-+
-+//go:linkname libc_fremovexattr libc_fremovexattr
-+//go:cgo_import_dynamic libc_fremovexattr fremovexattr "/usr/lib/libSystem.B.dylib"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func listxattr(path string, dest *byte, size int, options int) (sz int, err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	r0, _, e1 := syscall_syscall6(funcPC(libc_listxattr_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0)
-+	sz = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+func libc_listxattr_trampoline()
-+
-+//go:linkname libc_listxattr libc_listxattr
-+//go:cgo_import_dynamic libc_listxattr listxattr "/usr/lib/libSystem.B.dylib"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func flistxattr(fd int, dest *byte, size int, options int) (sz int, err error) {
-+	r0, _, e1 := syscall_syscall6(funcPC(libc_flistxattr_trampoline), uintptr(fd), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0)
-+	sz = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+func libc_flistxattr_trampoline()
-+
-+//go:linkname libc_flistxattr libc_flistxattr
-+//go:cgo_import_dynamic libc_flistxattr flistxattr "/usr/lib/libSystem.B.dylib"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func setattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error) {
-+	_, _, e1 := syscall_syscall6(funcPC(libc_setattrlist_trampoline), uintptr(unsafe.Pointer(path)), uintptr(list), uintptr(buf), uintptr(size), uintptr(options), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+func libc_setattrlist_trampoline()
-+
-+//go:linkname libc_setattrlist libc_setattrlist
-+//go:cgo_import_dynamic libc_setattrlist setattrlist "/usr/lib/libSystem.B.dylib"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func fcntl(fd int, cmd int, arg int) (val int, err error) {
-+	r0, _, e1 := syscall_syscall(funcPC(libc_fcntl_trampoline), uintptr(fd), uintptr(cmd), uintptr(arg))
-+	val = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+func libc_fcntl_trampoline()
-+
-+//go:linkname libc_fcntl libc_fcntl
-+//go:cgo_import_dynamic libc_fcntl fcntl "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func kill(pid int, signum int, posix int) (err error) {
--	_, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), uintptr(posix))
-+	_, _, e1 := syscall_syscall(funcPC(libc_kill_trampoline), uintptr(pid), uintptr(signum), uintptr(posix))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_kill_trampoline()
-+
-+//go:linkname libc_kill libc_kill
-+//go:cgo_import_dynamic libc_kill kill "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func ioctl(fd int, req uint, arg uintptr) (err error) {
--	_, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg))
-+	_, _, e1 := syscall_syscall(funcPC(libc_ioctl_trampoline), uintptr(fd), uintptr(req), uintptr(arg))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_ioctl_trampoline()
-+
-+//go:linkname libc_ioctl libc_ioctl
-+//go:cgo_import_dynamic libc_ioctl ioctl "/usr/lib/libSystem.B.dylib"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) {
-+	var _p0 unsafe.Pointer
-+	if len(mib) > 0 {
-+		_p0 = unsafe.Pointer(&mib[0])
-+	} else {
-+		_p0 = unsafe.Pointer(&_zero)
-+	}
-+	_, _, e1 := syscall_syscall6(funcPC(libc_sysctl_trampoline), uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+func libc_sysctl_trampoline()
-+
-+//go:linkname libc_sysctl libc_sysctl
-+//go:cgo_import_dynamic libc_sysctl sysctl "/usr/lib/libSystem.B.dylib"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func sendfile(infd int, outfd int, offset int64, len *int64, hdtr unsafe.Pointer, flags int) (err error) {
-+	_, _, e1 := syscall_syscall9(funcPC(libc_sendfile_trampoline), uintptr(infd), uintptr(outfd), uintptr(offset), uintptr(offset>>32), uintptr(unsafe.Pointer(len)), uintptr(hdtr), uintptr(flags), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+func libc_sendfile_trampoline()
-+
-+//go:linkname libc_sendfile libc_sendfile
-+//go:cgo_import_dynamic libc_sendfile sendfile "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Access(path string, mode uint32) (err error) {
-@@ -414,23 +799,33 @@ func Access(path string, mode uint32) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_access_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_access_trampoline()
-+
-+//go:linkname libc_access libc_access
-+//go:cgo_import_dynamic libc_access access "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Adjtime(delta *Timeval, olddelta *Timeval) (err error) {
--	_, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_adjtime_trampoline), uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_adjtime_trampoline()
-+
-+//go:linkname libc_adjtime libc_adjtime
-+//go:cgo_import_dynamic libc_adjtime adjtime "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Chdir(path string) (err error) {
-@@ -439,13 +834,18 @@ func Chdir(path string) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_chdir_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_chdir_trampoline()
-+
-+//go:linkname libc_chdir libc_chdir
-+//go:cgo_import_dynamic libc_chdir chdir "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Chflags(path string, flags int) (err error) {
-@@ -454,13 +854,18 @@ func Chflags(path string, flags int) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_chflags_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_chflags_trampoline()
-+
-+//go:linkname libc_chflags libc_chflags
-+//go:cgo_import_dynamic libc_chflags chflags "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Chmod(path string, mode uint32) (err error) {
-@@ -469,13 +874,18 @@ func Chmod(path string, mode uint32) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_chmod_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_chmod_trampoline()
-+
-+//go:linkname libc_chmod libc_chmod
-+//go:cgo_import_dynamic libc_chmod chmod "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Chown(path string, uid int, gid int) (err error) {
-@@ -484,13 +894,18 @@ func Chown(path string, uid int, gid int) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))
-+	_, _, e1 := syscall_syscall(funcPC(libc_chown_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_chown_trampoline()
-+
-+//go:linkname libc_chown libc_chown
-+//go:cgo_import_dynamic libc_chown chown "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Chroot(path string) (err error) {
-@@ -499,27 +914,52 @@ func Chroot(path string) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_chroot_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_chroot_trampoline()
-+
-+//go:linkname libc_chroot libc_chroot
-+//go:cgo_import_dynamic libc_chroot chroot "/usr/lib/libSystem.B.dylib"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func ClockGettime(clockid int32, time *Timespec) (err error) {
-+	_, _, e1 := syscall_syscall(funcPC(libc_clock_gettime_trampoline), uintptr(clockid), uintptr(unsafe.Pointer(time)), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+func libc_clock_gettime_trampoline()
-+
-+//go:linkname libc_clock_gettime libc_clock_gettime
-+//go:cgo_import_dynamic libc_clock_gettime clock_gettime "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Close(fd int) (err error) {
--	_, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_close_trampoline), uintptr(fd), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_close_trampoline()
-+
-+//go:linkname libc_close libc_close
-+//go:cgo_import_dynamic libc_close close "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Dup(fd int) (nfd int, err error) {
--	r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0)
-+	r0, _, e1 := syscall_syscall(funcPC(libc_dup_trampoline), uintptr(fd), 0, 0)
- 	nfd = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -527,16 +967,26 @@ func Dup(fd int) (nfd int, err error) {
- 	return
- }
- 
-+func libc_dup_trampoline()
-+
-+//go:linkname libc_dup libc_dup
-+//go:cgo_import_dynamic libc_dup dup "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Dup2(from int, to int) (err error) {
--	_, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_dup2_trampoline), uintptr(from), uintptr(to), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_dup2_trampoline()
-+
-+//go:linkname libc_dup2 libc_dup2
-+//go:cgo_import_dynamic libc_dup2 dup2 "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Exchangedata(path1 string, path2 string, options int) (err error) {
-@@ -550,20 +1000,30 @@ func Exchangedata(path1 string, path2 string, options int) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_EXCHANGEDATA, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options))
-+	_, _, e1 := syscall_syscall(funcPC(libc_exchangedata_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_exchangedata_trampoline()
-+
-+//go:linkname libc_exchangedata libc_exchangedata
-+//go:cgo_import_dynamic libc_exchangedata exchangedata "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Exit(code int) {
--	Syscall(SYS_EXIT, uintptr(code), 0, 0)
-+	syscall_syscall(funcPC(libc_exit_trampoline), uintptr(code), 0, 0)
- 	return
- }
- 
-+func libc_exit_trampoline()
-+
-+//go:linkname libc_exit libc_exit
-+//go:cgo_import_dynamic libc_exit exit "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {
-@@ -572,43 +1032,63 @@ func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)
-+	_, _, e1 := syscall_syscall6(funcPC(libc_faccessat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_faccessat_trampoline()
-+
-+//go:linkname libc_faccessat libc_faccessat
-+//go:cgo_import_dynamic libc_faccessat faccessat "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Fchdir(fd int) (err error) {
--	_, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_fchdir_trampoline), uintptr(fd), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_fchdir_trampoline()
-+
-+//go:linkname libc_fchdir libc_fchdir
-+//go:cgo_import_dynamic libc_fchdir fchdir "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Fchflags(fd int, flags int) (err error) {
--	_, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_fchflags_trampoline), uintptr(fd), uintptr(flags), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_fchflags_trampoline()
-+
-+//go:linkname libc_fchflags libc_fchflags
-+//go:cgo_import_dynamic libc_fchflags fchflags "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Fchmod(fd int, mode uint32) (err error) {
--	_, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_fchmod_trampoline), uintptr(fd), uintptr(mode), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_fchmod_trampoline()
-+
-+//go:linkname libc_fchmod libc_fchmod
-+//go:cgo_import_dynamic libc_fchmod fchmod "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) {
-@@ -617,23 +1097,33 @@ func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)
-+	_, _, e1 := syscall_syscall6(funcPC(libc_fchmodat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_fchmodat_trampoline()
-+
-+//go:linkname libc_fchmodat libc_fchmodat
-+//go:cgo_import_dynamic libc_fchmodat fchmodat "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Fchown(fd int, uid int, gid int) (err error) {
--	_, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid))
-+	_, _, e1 := syscall_syscall(funcPC(libc_fchown_trampoline), uintptr(fd), uintptr(uid), uintptr(gid))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_fchown_trampoline()
-+
-+//go:linkname libc_fchown libc_fchown
-+//go:cgo_import_dynamic libc_fchown fchown "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) {
-@@ -642,27 +1132,37 @@ func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0)
-+	_, _, e1 := syscall_syscall6(funcPC(libc_fchownat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_fchownat_trampoline()
-+
-+//go:linkname libc_fchownat libc_fchownat
-+//go:cgo_import_dynamic libc_fchownat fchownat "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Flock(fd int, how int) (err error) {
--	_, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_flock_trampoline), uintptr(fd), uintptr(how), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_flock_trampoline()
-+
-+//go:linkname libc_flock libc_flock
-+//go:cgo_import_dynamic libc_flock flock "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Fpathconf(fd int, name int) (val int, err error) {
--	r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0)
-+	r0, _, e1 := syscall_syscall(funcPC(libc_fpathconf_trampoline), uintptr(fd), uintptr(name), 0)
- 	val = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -670,99 +1170,97 @@ func Fpathconf(fd int, name int) (val int, err error) {
- 	return
- }
- 
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+func libc_fpathconf_trampoline()
- 
--func Fstat(fd int, stat *Stat_t) (err error) {
--	_, _, e1 := Syscall(SYS_FSTAT64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
-+//go:linkname libc_fpathconf libc_fpathconf
-+//go:cgo_import_dynamic libc_fpathconf fpathconf "/usr/lib/libSystem.B.dylib"
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Fstatfs(fd int, stat *Statfs_t) (err error) {
--	_, _, e1 := Syscall(SYS_FSTATFS64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)
-+func Fsync(fd int) (err error) {
-+	_, _, e1 := syscall_syscall(funcPC(libc_fsync_trampoline), uintptr(fd), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+func libc_fsync_trampoline()
- 
--func Fsync(fd int) (err error) {
--	_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
-+//go:linkname libc_fsync libc_fsync
-+//go:cgo_import_dynamic libc_fsync fsync "/usr/lib/libSystem.B.dylib"
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Ftruncate(fd int, length int64) (err error) {
--	_, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), uintptr(length>>32))
-+	_, _, e1 := syscall_syscall(funcPC(libc_ftruncate_trampoline), uintptr(fd), uintptr(length), uintptr(length>>32))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {
--	var _p0 unsafe.Pointer
--	if len(buf) > 0 {
--		_p0 = unsafe.Pointer(&buf[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall6(SYS_GETDIRENTRIES64, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0)
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
-+func libc_ftruncate_trampoline()
-+
-+//go:linkname libc_ftruncate libc_ftruncate
-+//go:cgo_import_dynamic libc_ftruncate ftruncate "/usr/lib/libSystem.B.dylib"
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Getdtablesize() (size int) {
--	r0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0)
-+	r0, _, _ := syscall_syscall(funcPC(libc_getdtablesize_trampoline), 0, 0, 0)
- 	size = int(r0)
- 	return
- }
- 
-+func libc_getdtablesize_trampoline()
-+
-+//go:linkname libc_getdtablesize libc_getdtablesize
-+//go:cgo_import_dynamic libc_getdtablesize getdtablesize "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Getegid() (egid int) {
--	r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0)
-+	r0, _, _ := syscall_rawSyscall(funcPC(libc_getegid_trampoline), 0, 0, 0)
- 	egid = int(r0)
- 	return
- }
- 
-+func libc_getegid_trampoline()
-+
-+//go:linkname libc_getegid libc_getegid
-+//go:cgo_import_dynamic libc_getegid getegid "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Geteuid() (uid int) {
--	r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0)
-+	r0, _, _ := syscall_rawSyscall(funcPC(libc_geteuid_trampoline), 0, 0, 0)
- 	uid = int(r0)
- 	return
- }
- 
-+func libc_geteuid_trampoline()
-+
-+//go:linkname libc_geteuid libc_geteuid
-+//go:cgo_import_dynamic libc_geteuid geteuid "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Getgid() (gid int) {
--	r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0)
-+	r0, _, _ := syscall_rawSyscall(funcPC(libc_getgid_trampoline), 0, 0, 0)
- 	gid = int(r0)
- 	return
- }
- 
-+func libc_getgid_trampoline()
-+
-+//go:linkname libc_getgid libc_getgid
-+//go:cgo_import_dynamic libc_getgid getgid "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Getpgid(pid int) (pgid int, err error) {
--	r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0)
-+	r0, _, e1 := syscall_rawSyscall(funcPC(libc_getpgid_trampoline), uintptr(pid), 0, 0)
- 	pgid = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -770,34 +1268,54 @@ func Getpgid(pid int) (pgid int, err error) {
- 	return
- }
- 
-+func libc_getpgid_trampoline()
-+
-+//go:linkname libc_getpgid libc_getpgid
-+//go:cgo_import_dynamic libc_getpgid getpgid "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Getpgrp() (pgrp int) {
--	r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0)
-+	r0, _, _ := syscall_rawSyscall(funcPC(libc_getpgrp_trampoline), 0, 0, 0)
- 	pgrp = int(r0)
- 	return
- }
- 
-+func libc_getpgrp_trampoline()
-+
-+//go:linkname libc_getpgrp libc_getpgrp
-+//go:cgo_import_dynamic libc_getpgrp getpgrp "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Getpid() (pid int) {
--	r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0)
-+	r0, _, _ := syscall_rawSyscall(funcPC(libc_getpid_trampoline), 0, 0, 0)
- 	pid = int(r0)
- 	return
- }
- 
-+func libc_getpid_trampoline()
-+
-+//go:linkname libc_getpid libc_getpid
-+//go:cgo_import_dynamic libc_getpid getpid "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Getppid() (ppid int) {
--	r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0)
-+	r0, _, _ := syscall_rawSyscall(funcPC(libc_getppid_trampoline), 0, 0, 0)
- 	ppid = int(r0)
- 	return
- }
- 
-+func libc_getppid_trampoline()
-+
-+//go:linkname libc_getppid libc_getppid
-+//go:cgo_import_dynamic libc_getppid getppid "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Getpriority(which int, who int) (prio int, err error) {
--	r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0)
-+	r0, _, e1 := syscall_syscall(funcPC(libc_getpriority_trampoline), uintptr(which), uintptr(who), 0)
- 	prio = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -805,30 +1323,45 @@ func Getpriority(which int, who int) (prio int, err error) {
- 	return
- }
- 
-+func libc_getpriority_trampoline()
-+
-+//go:linkname libc_getpriority libc_getpriority
-+//go:cgo_import_dynamic libc_getpriority getpriority "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Getrlimit(which int, lim *Rlimit) (err error) {
--	_, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)
-+	_, _, e1 := syscall_rawSyscall(funcPC(libc_getrlimit_trampoline), uintptr(which), uintptr(unsafe.Pointer(lim)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_getrlimit_trampoline()
-+
-+//go:linkname libc_getrlimit libc_getrlimit
-+//go:cgo_import_dynamic libc_getrlimit getrlimit "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Getrusage(who int, rusage *Rusage) (err error) {
--	_, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0)
-+	_, _, e1 := syscall_rawSyscall(funcPC(libc_getrusage_trampoline), uintptr(who), uintptr(unsafe.Pointer(rusage)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_getrusage_trampoline()
-+
-+//go:linkname libc_getrusage libc_getrusage
-+//go:cgo_import_dynamic libc_getrusage getrusage "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Getsid(pid int) (sid int, err error) {
--	r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0)
-+	r0, _, e1 := syscall_rawSyscall(funcPC(libc_getsid_trampoline), uintptr(pid), 0, 0)
- 	sid = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -836,26 +1369,41 @@ func Getsid(pid int) (sid int, err error) {
- 	return
- }
- 
-+func libc_getsid_trampoline()
-+
-+//go:linkname libc_getsid libc_getsid
-+//go:cgo_import_dynamic libc_getsid getsid "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Getuid() (uid int) {
--	r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0)
-+	r0, _, _ := syscall_rawSyscall(funcPC(libc_getuid_trampoline), 0, 0, 0)
- 	uid = int(r0)
- 	return
- }
- 
-+func libc_getuid_trampoline()
-+
-+//go:linkname libc_getuid libc_getuid
-+//go:cgo_import_dynamic libc_getuid getuid "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Issetugid() (tainted bool) {
--	r0, _, _ := RawSyscall(SYS_ISSETUGID, 0, 0, 0)
-+	r0, _, _ := syscall_rawSyscall(funcPC(libc_issetugid_trampoline), 0, 0, 0)
- 	tainted = bool(r0 != 0)
- 	return
- }
- 
-+func libc_issetugid_trampoline()
-+
-+//go:linkname libc_issetugid libc_issetugid
-+//go:cgo_import_dynamic libc_issetugid issetugid "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Kqueue() (fd int, err error) {
--	r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0)
-+	r0, _, e1 := syscall_syscall(funcPC(libc_kqueue_trampoline), 0, 0, 0)
- 	fd = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -863,6 +1411,11 @@ func Kqueue() (fd int, err error) {
- 	return
- }
- 
-+func libc_kqueue_trampoline()
-+
-+//go:linkname libc_kqueue libc_kqueue
-+//go:cgo_import_dynamic libc_kqueue kqueue "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Lchown(path string, uid int, gid int) (err error) {
-@@ -871,13 +1424,18 @@ func Lchown(path string, uid int, gid int) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))
-+	_, _, e1 := syscall_syscall(funcPC(libc_lchown_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_lchown_trampoline()
-+
-+//go:linkname libc_lchown libc_lchown
-+//go:cgo_import_dynamic libc_lchown lchown "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Link(path string, link string) (err error) {
-@@ -891,13 +1449,18 @@ func Link(path string, link string) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_link_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_link_trampoline()
-+
-+//go:linkname libc_link libc_link
-+//go:cgo_import_dynamic libc_link link "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) {
-@@ -911,37 +1474,32 @@ func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err er
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)
-+	_, _, e1 := syscall_syscall6(funcPC(libc_linkat_trampoline), uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_linkat_trampoline()
-+
-+//go:linkname libc_linkat libc_linkat
-+//go:cgo_import_dynamic libc_linkat linkat "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Listen(s int, backlog int) (err error) {
--	_, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_listen_trampoline), uintptr(s), uintptr(backlog), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+func libc_listen_trampoline()
- 
--func Lstat(path string, stat *Stat_t) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_LSTAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
-+//go:linkname libc_listen libc_listen
-+//go:cgo_import_dynamic libc_listen listen "/usr/lib/libSystem.B.dylib"
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-@@ -951,13 +1509,18 @@ func Mkdir(path string, mode uint32) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_mkdir_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_mkdir_trampoline()
-+
-+//go:linkname libc_mkdir libc_mkdir
-+//go:cgo_import_dynamic libc_mkdir mkdir "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Mkdirat(dirfd int, path string, mode uint32) (err error) {
-@@ -966,13 +1529,18 @@ func Mkdirat(dirfd int, path string, mode uint32) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))
-+	_, _, e1 := syscall_syscall(funcPC(libc_mkdirat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_mkdirat_trampoline()
-+
-+//go:linkname libc_mkdirat libc_mkdirat
-+//go:cgo_import_dynamic libc_mkdirat mkdirat "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Mkfifo(path string, mode uint32) (err error) {
-@@ -981,13 +1549,18 @@ func Mkfifo(path string, mode uint32) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_mkfifo_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_mkfifo_trampoline()
-+
-+//go:linkname libc_mkfifo libc_mkfifo
-+//go:cgo_import_dynamic libc_mkfifo mkfifo "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Mknod(path string, mode uint32, dev int) (err error) {
-@@ -996,13 +1569,18 @@ func Mknod(path string, mode uint32, dev int) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev))
-+	_, _, e1 := syscall_syscall(funcPC(libc_mknod_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_mknod_trampoline()
-+
-+//go:linkname libc_mknod libc_mknod
-+//go:cgo_import_dynamic libc_mknod mknod "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Open(path string, mode int, perm uint32) (fd int, err error) {
-@@ -1011,7 +1589,7 @@ func Open(path string, mode int, perm uint32) (fd int, err error) {
- 	if err != nil {
- 		return
- 	}
--	r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm))
-+	r0, _, e1 := syscall_syscall(funcPC(libc_open_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm))
- 	fd = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -1019,6 +1597,11 @@ func Open(path string, mode int, perm uint32) (fd int, err error) {
- 	return
- }
- 
-+func libc_open_trampoline()
-+
-+//go:linkname libc_open libc_open
-+//go:cgo_import_dynamic libc_open open "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) {
-@@ -1027,7 +1610,7 @@ func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) {
- 	if err != nil {
- 		return
- 	}
--	r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0)
-+	r0, _, e1 := syscall_syscall6(funcPC(libc_openat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0)
- 	fd = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -1035,6 +1618,11 @@ func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) {
- 	return
- }
- 
-+func libc_openat_trampoline()
-+
-+//go:linkname libc_openat libc_openat
-+//go:cgo_import_dynamic libc_openat openat "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Pathconf(path string, name int) (val int, err error) {
-@@ -1043,7 +1631,7 @@ func Pathconf(path string, name int) (val int, err error) {
- 	if err != nil {
- 		return
- 	}
--	r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0)
-+	r0, _, e1 := syscall_syscall(funcPC(libc_pathconf_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(name), 0)
- 	val = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -1051,6 +1639,11 @@ func Pathconf(path string, name int) (val int, err error) {
- 	return
- }
- 
-+func libc_pathconf_trampoline()
-+
-+//go:linkname libc_pathconf libc_pathconf
-+//go:cgo_import_dynamic libc_pathconf pathconf "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Pread(fd int, p []byte, offset int64) (n int, err error) {
-@@ -1060,7 +1653,7 @@ func Pread(fd int, p []byte, offset int64) (n int, err error) {
- 	} else {
- 		_p0 = unsafe.Pointer(&_zero)
- 	}
--	r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0)
-+	r0, _, e1 := syscall_syscall6(funcPC(libc_pread_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0)
- 	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -1068,6 +1661,11 @@ func Pread(fd int, p []byte, offset int64) (n int, err error) {
- 	return
- }
- 
-+func libc_pread_trampoline()
-+
-+//go:linkname libc_pread libc_pread
-+//go:cgo_import_dynamic libc_pread pread "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Pwrite(fd int, p []byte, offset int64) (n int, err error) {
-@@ -1077,7 +1675,7 @@ func Pwrite(fd int, p []byte, offset int64) (n int, err error) {
- 	} else {
- 		_p0 = unsafe.Pointer(&_zero)
- 	}
--	r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0)
-+	r0, _, e1 := syscall_syscall6(funcPC(libc_pwrite_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0)
- 	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -1085,6 +1683,11 @@ func Pwrite(fd int, p []byte, offset int64) (n int, err error) {
- 	return
- }
- 
-+func libc_pwrite_trampoline()
-+
-+//go:linkname libc_pwrite libc_pwrite
-+//go:cgo_import_dynamic libc_pwrite pwrite "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func read(fd int, p []byte) (n int, err error) {
-@@ -1094,7 +1697,7 @@ func read(fd int, p []byte) (n int, err error) {
- 	} else {
- 		_p0 = unsafe.Pointer(&_zero)
- 	}
--	r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p)))
-+	r0, _, e1 := syscall_syscall(funcPC(libc_read_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p)))
- 	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -1102,6 +1705,11 @@ func read(fd int, p []byte) (n int, err error) {
- 	return
- }
- 
-+func libc_read_trampoline()
-+
-+//go:linkname libc_read libc_read
-+//go:cgo_import_dynamic libc_read read "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Readlink(path string, buf []byte) (n int, err error) {
-@@ -1116,7 +1724,7 @@ func Readlink(path string, buf []byte) (n int, err error) {
- 	} else {
- 		_p1 = unsafe.Pointer(&_zero)
- 	}
--	r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)))
-+	r0, _, e1 := syscall_syscall(funcPC(libc_readlink_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)))
- 	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -1124,6 +1732,11 @@ func Readlink(path string, buf []byte) (n int, err error) {
- 	return
- }
- 
-+func libc_readlink_trampoline()
-+
-+//go:linkname libc_readlink libc_readlink
-+//go:cgo_import_dynamic libc_readlink readlink "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) {
-@@ -1138,7 +1751,7 @@ func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) {
- 	} else {
- 		_p1 = unsafe.Pointer(&_zero)
- 	}
--	r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0)
-+	r0, _, e1 := syscall_syscall6(funcPC(libc_readlinkat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0)
- 	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -1146,6 +1759,11 @@ func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) {
- 	return
- }
- 
-+func libc_readlinkat_trampoline()
-+
-+//go:linkname libc_readlinkat libc_readlinkat
-+//go:cgo_import_dynamic libc_readlinkat readlinkat "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Rename(from string, to string) (err error) {
-@@ -1159,13 +1777,18 @@ func Rename(from string, to string) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_rename_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_rename_trampoline()
-+
-+//go:linkname libc_rename libc_rename
-+//go:cgo_import_dynamic libc_rename rename "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Renameat(fromfd int, from string, tofd int, to string) (err error) {
-@@ -1179,13 +1802,18 @@ func Renameat(fromfd int, from string, tofd int, to string) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0)
-+	_, _, e1 := syscall_syscall6(funcPC(libc_renameat_trampoline), uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_renameat_trampoline()
-+
-+//go:linkname libc_renameat libc_renameat
-+//go:cgo_import_dynamic libc_renameat renameat "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Revoke(path string) (err error) {
-@@ -1194,13 +1822,18 @@ func Revoke(path string) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_revoke_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_revoke_trampoline()
-+
-+//go:linkname libc_revoke libc_revoke
-+//go:cgo_import_dynamic libc_revoke revoke "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Rmdir(path string) (err error) {
-@@ -1209,17 +1842,22 @@ func Rmdir(path string) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_rmdir_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_rmdir_trampoline()
-+
-+//go:linkname libc_rmdir libc_rmdir
-+//go:cgo_import_dynamic libc_rmdir rmdir "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Seek(fd int, offset int64, whence int) (newoffset int64, err error) {
--	r0, r1, e1 := Syscall6(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(offset>>32), uintptr(whence), 0, 0)
-+	r0, r1, e1 := syscall_syscall6(funcPC(libc_lseek_trampoline), uintptr(fd), uintptr(offset), uintptr(offset>>32), uintptr(whence), 0, 0)
- 	newoffset = int64(int64(r1)<<32 | int64(r0))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -1227,46 +1865,72 @@ func Seek(fd int, offset int64, whence int) (newoffset int64, err error) {
- 	return
- }
- 
-+func libc_lseek_trampoline()
-+
-+//go:linkname libc_lseek libc_lseek
-+//go:cgo_import_dynamic libc_lseek lseek "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) {
--	_, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)
-+func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) {
-+	r0, _, e1 := syscall_syscall6(funcPC(libc_select_trampoline), uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)
-+	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_select_trampoline()
-+
-+//go:linkname libc_select libc_select
-+//go:cgo_import_dynamic libc_select select "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Setegid(egid int) (err error) {
--	_, _, e1 := Syscall(SYS_SETEGID, uintptr(egid), 0, 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_setegid_trampoline), uintptr(egid), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_setegid_trampoline()
-+
-+//go:linkname libc_setegid libc_setegid
-+//go:cgo_import_dynamic libc_setegid setegid "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Seteuid(euid int) (err error) {
--	_, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0)
-+	_, _, e1 := syscall_rawSyscall(funcPC(libc_seteuid_trampoline), uintptr(euid), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_seteuid_trampoline()
-+
-+//go:linkname libc_seteuid libc_seteuid
-+//go:cgo_import_dynamic libc_seteuid seteuid "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Setgid(gid int) (err error) {
--	_, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0)
-+	_, _, e1 := syscall_rawSyscall(funcPC(libc_setgid_trampoline), uintptr(gid), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_setgid_trampoline()
-+
-+//go:linkname libc_setgid libc_setgid
-+//go:cgo_import_dynamic libc_setgid setgid "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Setlogin(name string) (err error) {
-@@ -1275,77 +1939,112 @@ func Setlogin(name string) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_setlogin_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_setlogin_trampoline()
-+
-+//go:linkname libc_setlogin libc_setlogin
-+//go:cgo_import_dynamic libc_setlogin setlogin "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Setpgid(pid int, pgid int) (err error) {
--	_, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0)
-+	_, _, e1 := syscall_rawSyscall(funcPC(libc_setpgid_trampoline), uintptr(pid), uintptr(pgid), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_setpgid_trampoline()
-+
-+//go:linkname libc_setpgid libc_setpgid
-+//go:cgo_import_dynamic libc_setpgid setpgid "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Setpriority(which int, who int, prio int) (err error) {
--	_, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio))
-+	_, _, e1 := syscall_syscall(funcPC(libc_setpriority_trampoline), uintptr(which), uintptr(who), uintptr(prio))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_setpriority_trampoline()
-+
-+//go:linkname libc_setpriority libc_setpriority
-+//go:cgo_import_dynamic libc_setpriority setpriority "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Setprivexec(flag int) (err error) {
--	_, _, e1 := Syscall(SYS_SETPRIVEXEC, uintptr(flag), 0, 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_setprivexec_trampoline), uintptr(flag), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_setprivexec_trampoline()
-+
-+//go:linkname libc_setprivexec libc_setprivexec
-+//go:cgo_import_dynamic libc_setprivexec setprivexec "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Setregid(rgid int, egid int) (err error) {
--	_, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0)
-+	_, _, e1 := syscall_rawSyscall(funcPC(libc_setregid_trampoline), uintptr(rgid), uintptr(egid), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_setregid_trampoline()
-+
-+//go:linkname libc_setregid libc_setregid
-+//go:cgo_import_dynamic libc_setregid setregid "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Setreuid(ruid int, euid int) (err error) {
--	_, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0)
-+	_, _, e1 := syscall_rawSyscall(funcPC(libc_setreuid_trampoline), uintptr(ruid), uintptr(euid), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_setreuid_trampoline()
-+
-+//go:linkname libc_setreuid libc_setreuid
-+//go:cgo_import_dynamic libc_setreuid setreuid "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Setrlimit(which int, lim *Rlimit) (err error) {
--	_, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)
-+	_, _, e1 := syscall_rawSyscall(funcPC(libc_setrlimit_trampoline), uintptr(which), uintptr(unsafe.Pointer(lim)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_setrlimit_trampoline()
-+
-+//go:linkname libc_setrlimit libc_setrlimit
-+//go:cgo_import_dynamic libc_setrlimit setrlimit "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Setsid() (pid int, err error) {
--	r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0)
-+	r0, _, e1 := syscall_rawSyscall(funcPC(libc_setsid_trampoline), 0, 0, 0)
- 	pid = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -1353,55 +2052,40 @@ func Setsid() (pid int, err error) {
- 	return
- }
- 
-+func libc_setsid_trampoline()
-+
-+//go:linkname libc_setsid libc_setsid
-+//go:cgo_import_dynamic libc_setsid setsid "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Settimeofday(tp *Timeval) (err error) {
--	_, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0)
-+	_, _, e1 := syscall_rawSyscall(funcPC(libc_settimeofday_trampoline), uintptr(unsafe.Pointer(tp)), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+func libc_settimeofday_trampoline()
- 
--func Setuid(uid int) (err error) {
--	_, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
-+//go:linkname libc_settimeofday libc_settimeofday
-+//go:cgo_import_dynamic libc_settimeofday settimeofday "/usr/lib/libSystem.B.dylib"
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Stat(path string, stat *Stat_t) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_STAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
-+func Setuid(uid int) (err error) {
-+	_, _, e1 := syscall_rawSyscall(funcPC(libc_setuid_trampoline), uintptr(uid), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+func libc_setuid_trampoline()
- 
--func Statfs(path string, stat *Statfs_t) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_STATFS64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
-+//go:linkname libc_setuid libc_setuid
-+//go:cgo_import_dynamic libc_setuid setuid "/usr/lib/libSystem.B.dylib"
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-@@ -1416,13 +2100,18 @@ func Symlink(path string, link string) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_symlink_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_symlink_trampoline()
-+
-+//go:linkname libc_symlink libc_symlink
-+//go:cgo_import_dynamic libc_symlink symlink "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) {
-@@ -1436,23 +2125,33 @@ func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)))
-+	_, _, e1 := syscall_syscall(funcPC(libc_symlinkat_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_symlinkat_trampoline()
-+
-+//go:linkname libc_symlinkat libc_symlinkat
-+//go:cgo_import_dynamic libc_symlinkat symlinkat "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Sync() (err error) {
--	_, _, e1 := Syscall(SYS_SYNC, 0, 0, 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_sync_trampoline), 0, 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_sync_trampoline()
-+
-+//go:linkname libc_sync libc_sync
-+//go:cgo_import_dynamic libc_sync sync "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Truncate(path string, length int64) (err error) {
-@@ -1461,21 +2160,31 @@ func Truncate(path string, length int64) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), uintptr(length>>32))
-+	_, _, e1 := syscall_syscall(funcPC(libc_truncate_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(length), uintptr(length>>32))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_truncate_trampoline()
-+
-+//go:linkname libc_truncate libc_truncate
-+//go:cgo_import_dynamic libc_truncate truncate "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Umask(newmask int) (oldmask int) {
--	r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0)
-+	r0, _, _ := syscall_syscall(funcPC(libc_umask_trampoline), uintptr(newmask), 0, 0)
- 	oldmask = int(r0)
- 	return
- }
- 
-+func libc_umask_trampoline()
-+
-+//go:linkname libc_umask libc_umask
-+//go:cgo_import_dynamic libc_umask umask "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Undelete(path string) (err error) {
-@@ -1484,13 +2193,18 @@ func Undelete(path string) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(_p0)), 0, 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_undelete_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_undelete_trampoline()
-+
-+//go:linkname libc_undelete libc_undelete
-+//go:cgo_import_dynamic libc_undelete undelete "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Unlink(path string) (err error) {
-@@ -1499,13 +2213,18 @@ func Unlink(path string) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_unlink_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_unlink_trampoline()
-+
-+//go:linkname libc_unlink libc_unlink
-+//go:cgo_import_dynamic libc_unlink unlink "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Unlinkat(dirfd int, path string, flags int) (err error) {
-@@ -1514,13 +2233,18 @@ func Unlinkat(dirfd int, path string, flags int) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags))
-+	_, _, e1 := syscall_syscall(funcPC(libc_unlinkat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_unlinkat_trampoline()
-+
-+//go:linkname libc_unlinkat libc_unlinkat
-+//go:cgo_import_dynamic libc_unlinkat unlinkat "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Unmount(path string, flags int) (err error) {
-@@ -1529,13 +2253,18 @@ func Unmount(path string, flags int) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_unmount_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_unmount_trampoline()
-+
-+//go:linkname libc_unmount libc_unmount
-+//go:cgo_import_dynamic libc_unmount unmount "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func write(fd int, p []byte) (n int, err error) {
-@@ -1545,7 +2274,7 @@ func write(fd int, p []byte) (n int, err error) {
- 	} else {
- 		_p0 = unsafe.Pointer(&_zero)
- 	}
--	r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)))
-+	r0, _, e1 := syscall_syscall(funcPC(libc_write_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p)))
- 	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -1553,10 +2282,15 @@ func write(fd int, p []byte) (n int, err error) {
- 	return
- }
- 
-+func libc_write_trampoline()
-+
-+//go:linkname libc_write libc_write
-+//go:cgo_import_dynamic libc_write write "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) {
--	r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos), uintptr(pos>>32), 0, 0)
-+	r0, _, e1 := syscall_syscall9(funcPC(libc_mmap_trampoline), uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos), uintptr(pos>>32), 0, 0)
- 	ret = uintptr(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -1564,20 +2298,30 @@ func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (
- 	return
- }
- 
-+func libc_mmap_trampoline()
-+
-+//go:linkname libc_mmap libc_mmap
-+//go:cgo_import_dynamic libc_mmap mmap "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func munmap(addr uintptr, length uintptr) (err error) {
--	_, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_munmap_trampoline), uintptr(addr), uintptr(length), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_munmap_trampoline()
-+
-+//go:linkname libc_munmap libc_munmap
-+//go:cgo_import_dynamic libc_munmap munmap "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func readlen(fd int, buf *byte, nbuf int) (n int, err error) {
--	r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf))
-+	r0, _, e1 := syscall_syscall(funcPC(libc_read_trampoline), uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf))
- 	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -1588,7 +2332,7 @@ func readlen(fd int, buf *byte, nbuf int) (n int, err error) {
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func writelen(fd int, buf *byte, nbuf int) (n int, err error) {
--	r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf))
-+	r0, _, e1 := syscall_syscall(funcPC(libc_write_trampoline), uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf))
- 	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -1599,7 +2343,7 @@ func writelen(fd int, buf *byte, nbuf int) (n int, err error) {
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func gettimeofday(tp *Timeval) (sec int32, usec int32, err error) {
--	r0, r1, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0)
-+	r0, r1, e1 := syscall_rawSyscall(funcPC(libc_gettimeofday_trampoline), uintptr(unsafe.Pointer(tp)), 0, 0)
- 	sec = int32(r0)
- 	usec = int32(r1)
- 	if e1 != 0 {
-@@ -1607,3 +2351,134 @@ func gettimeofday(tp *Timeval) (sec int32, usec int32, err error) {
- 	}
- 	return
- }
-+
-+func libc_gettimeofday_trampoline()
-+
-+//go:linkname libc_gettimeofday libc_gettimeofday
-+//go:cgo_import_dynamic libc_gettimeofday gettimeofday "/usr/lib/libSystem.B.dylib"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Fstat(fd int, stat *Stat_t) (err error) {
-+	_, _, e1 := syscall_syscall(funcPC(libc_fstat_trampoline), uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+func libc_fstat_trampoline()
-+
-+//go:linkname libc_fstat libc_fstat
-+//go:cgo_import_dynamic libc_fstat fstat "/usr/lib/libSystem.B.dylib"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := syscall_syscall6(funcPC(libc_fstatat_trampoline), uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+func libc_fstatat_trampoline()
-+
-+//go:linkname libc_fstatat libc_fstatat
-+//go:cgo_import_dynamic libc_fstatat fstatat "/usr/lib/libSystem.B.dylib"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Fstatfs(fd int, stat *Statfs_t) (err error) {
-+	_, _, e1 := syscall_syscall(funcPC(libc_fstatfs_trampoline), uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+func libc_fstatfs_trampoline()
-+
-+//go:linkname libc_fstatfs libc_fstatfs
-+//go:cgo_import_dynamic libc_fstatfs fstatfs "/usr/lib/libSystem.B.dylib"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func getfsstat(buf unsafe.Pointer, size uintptr, flags int) (n int, err error) {
-+	r0, _, e1 := syscall_syscall(funcPC(libc_getfsstat_trampoline), uintptr(buf), uintptr(size), uintptr(flags))
-+	n = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+func libc_getfsstat_trampoline()
-+
-+//go:linkname libc_getfsstat libc_getfsstat
-+//go:cgo_import_dynamic libc_getfsstat getfsstat "/usr/lib/libSystem.B.dylib"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Lstat(path string, stat *Stat_t) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := syscall_syscall(funcPC(libc_lstat_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+func libc_lstat_trampoline()
-+
-+//go:linkname libc_lstat libc_lstat
-+//go:cgo_import_dynamic libc_lstat lstat "/usr/lib/libSystem.B.dylib"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Stat(path string, stat *Stat_t) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := syscall_syscall(funcPC(libc_stat_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+func libc_stat_trampoline()
-+
-+//go:linkname libc_stat libc_stat
-+//go:cgo_import_dynamic libc_stat stat "/usr/lib/libSystem.B.dylib"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Statfs(path string, stat *Statfs_t) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := syscall_syscall(funcPC(libc_statfs_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+func libc_statfs_trampoline()
-+
-+//go:linkname libc_statfs libc_statfs
-+//go:cgo_import_dynamic libc_statfs statfs "/usr/lib/libSystem.B.dylib"
-diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.s b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.s
-new file mode 100644
-index 00000000..b67f518f
---- /dev/null
-+++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.s
-@@ -0,0 +1,282 @@
-+// go run mkasm_darwin.go arm
-+// Code generated by the command above; DO NOT EDIT.
-+
-+// +build go1.12
-+
-+#include "textflag.h"
-+TEXT ·libc_getgroups_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_getgroups(SB)
-+TEXT ·libc_setgroups_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_setgroups(SB)
-+TEXT ·libc_wait4_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_wait4(SB)
-+TEXT ·libc_accept_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_accept(SB)
-+TEXT ·libc_bind_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_bind(SB)
-+TEXT ·libc_connect_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_connect(SB)
-+TEXT ·libc_socket_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_socket(SB)
-+TEXT ·libc_getsockopt_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_getsockopt(SB)
-+TEXT ·libc_setsockopt_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_setsockopt(SB)
-+TEXT ·libc_getpeername_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_getpeername(SB)
-+TEXT ·libc_getsockname_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_getsockname(SB)
-+TEXT ·libc_shutdown_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_shutdown(SB)
-+TEXT ·libc_socketpair_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_socketpair(SB)
-+TEXT ·libc_recvfrom_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_recvfrom(SB)
-+TEXT ·libc_sendto_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_sendto(SB)
-+TEXT ·libc_recvmsg_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_recvmsg(SB)
-+TEXT ·libc_sendmsg_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_sendmsg(SB)
-+TEXT ·libc_kevent_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_kevent(SB)
-+TEXT ·libc_utimes_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_utimes(SB)
-+TEXT ·libc_futimes_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_futimes(SB)
-+TEXT ·libc_poll_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_poll(SB)
-+TEXT ·libc_madvise_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_madvise(SB)
-+TEXT ·libc_mlock_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_mlock(SB)
-+TEXT ·libc_mlockall_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_mlockall(SB)
-+TEXT ·libc_mprotect_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_mprotect(SB)
-+TEXT ·libc_msync_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_msync(SB)
-+TEXT ·libc_munlock_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_munlock(SB)
-+TEXT ·libc_munlockall_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_munlockall(SB)
-+TEXT ·libc_getattrlist_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_getattrlist(SB)
-+TEXT ·libc_pipe_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_pipe(SB)
-+TEXT ·libc_getxattr_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_getxattr(SB)
-+TEXT ·libc_fgetxattr_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_fgetxattr(SB)
-+TEXT ·libc_setxattr_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_setxattr(SB)
-+TEXT ·libc_fsetxattr_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_fsetxattr(SB)
-+TEXT ·libc_removexattr_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_removexattr(SB)
-+TEXT ·libc_fremovexattr_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_fremovexattr(SB)
-+TEXT ·libc_listxattr_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_listxattr(SB)
-+TEXT ·libc_flistxattr_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_flistxattr(SB)
-+TEXT ·libc_setattrlist_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_setattrlist(SB)
-+TEXT ·libc_fcntl_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_fcntl(SB)
-+TEXT ·libc_kill_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_kill(SB)
-+TEXT ·libc_ioctl_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_ioctl(SB)
-+TEXT ·libc_sysctl_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_sysctl(SB)
-+TEXT ·libc_sendfile_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_sendfile(SB)
-+TEXT ·libc_access_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_access(SB)
-+TEXT ·libc_adjtime_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_adjtime(SB)
-+TEXT ·libc_chdir_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_chdir(SB)
-+TEXT ·libc_chflags_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_chflags(SB)
-+TEXT ·libc_chmod_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_chmod(SB)
-+TEXT ·libc_chown_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_chown(SB)
-+TEXT ·libc_chroot_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_chroot(SB)
-+TEXT ·libc_clock_gettime_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_clock_gettime(SB)
-+TEXT ·libc_close_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_close(SB)
-+TEXT ·libc_dup_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_dup(SB)
-+TEXT ·libc_dup2_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_dup2(SB)
-+TEXT ·libc_exchangedata_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_exchangedata(SB)
-+TEXT ·libc_exit_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_exit(SB)
-+TEXT ·libc_faccessat_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_faccessat(SB)
-+TEXT ·libc_fchdir_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_fchdir(SB)
-+TEXT ·libc_fchflags_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_fchflags(SB)
-+TEXT ·libc_fchmod_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_fchmod(SB)
-+TEXT ·libc_fchmodat_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_fchmodat(SB)
-+TEXT ·libc_fchown_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_fchown(SB)
-+TEXT ·libc_fchownat_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_fchownat(SB)
-+TEXT ·libc_flock_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_flock(SB)
-+TEXT ·libc_fpathconf_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_fpathconf(SB)
-+TEXT ·libc_fsync_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_fsync(SB)
-+TEXT ·libc_ftruncate_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_ftruncate(SB)
-+TEXT ·libc_getdtablesize_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_getdtablesize(SB)
-+TEXT ·libc_getegid_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_getegid(SB)
-+TEXT ·libc_geteuid_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_geteuid(SB)
-+TEXT ·libc_getgid_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_getgid(SB)
-+TEXT ·libc_getpgid_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_getpgid(SB)
-+TEXT ·libc_getpgrp_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_getpgrp(SB)
-+TEXT ·libc_getpid_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_getpid(SB)
-+TEXT ·libc_getppid_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_getppid(SB)
-+TEXT ·libc_getpriority_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_getpriority(SB)
-+TEXT ·libc_getrlimit_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_getrlimit(SB)
-+TEXT ·libc_getrusage_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_getrusage(SB)
-+TEXT ·libc_getsid_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_getsid(SB)
-+TEXT ·libc_getuid_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_getuid(SB)
-+TEXT ·libc_issetugid_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_issetugid(SB)
-+TEXT ·libc_kqueue_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_kqueue(SB)
-+TEXT ·libc_lchown_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_lchown(SB)
-+TEXT ·libc_link_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_link(SB)
-+TEXT ·libc_linkat_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_linkat(SB)
-+TEXT ·libc_listen_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_listen(SB)
-+TEXT ·libc_mkdir_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_mkdir(SB)
-+TEXT ·libc_mkdirat_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_mkdirat(SB)
-+TEXT ·libc_mkfifo_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_mkfifo(SB)
-+TEXT ·libc_mknod_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_mknod(SB)
-+TEXT ·libc_open_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_open(SB)
-+TEXT ·libc_openat_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_openat(SB)
-+TEXT ·libc_pathconf_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_pathconf(SB)
-+TEXT ·libc_pread_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_pread(SB)
-+TEXT ·libc_pwrite_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_pwrite(SB)
-+TEXT ·libc_read_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_read(SB)
-+TEXT ·libc_readlink_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_readlink(SB)
-+TEXT ·libc_readlinkat_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_readlinkat(SB)
-+TEXT ·libc_rename_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_rename(SB)
-+TEXT ·libc_renameat_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_renameat(SB)
-+TEXT ·libc_revoke_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_revoke(SB)
-+TEXT ·libc_rmdir_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_rmdir(SB)
-+TEXT ·libc_lseek_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_lseek(SB)
-+TEXT ·libc_select_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_select(SB)
-+TEXT ·libc_setegid_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_setegid(SB)
-+TEXT ·libc_seteuid_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_seteuid(SB)
-+TEXT ·libc_setgid_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_setgid(SB)
-+TEXT ·libc_setlogin_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_setlogin(SB)
-+TEXT ·libc_setpgid_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_setpgid(SB)
-+TEXT ·libc_setpriority_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_setpriority(SB)
-+TEXT ·libc_setprivexec_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_setprivexec(SB)
-+TEXT ·libc_setregid_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_setregid(SB)
-+TEXT ·libc_setreuid_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_setreuid(SB)
-+TEXT ·libc_setrlimit_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_setrlimit(SB)
-+TEXT ·libc_setsid_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_setsid(SB)
-+TEXT ·libc_settimeofday_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_settimeofday(SB)
-+TEXT ·libc_setuid_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_setuid(SB)
-+TEXT ·libc_symlink_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_symlink(SB)
-+TEXT ·libc_symlinkat_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_symlinkat(SB)
-+TEXT ·libc_sync_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_sync(SB)
-+TEXT ·libc_truncate_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_truncate(SB)
-+TEXT ·libc_umask_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_umask(SB)
-+TEXT ·libc_undelete_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_undelete(SB)
-+TEXT ·libc_unlink_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_unlink(SB)
-+TEXT ·libc_unlinkat_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_unlinkat(SB)
-+TEXT ·libc_unmount_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_unmount(SB)
-+TEXT ·libc_write_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_write(SB)
-+TEXT ·libc_mmap_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_mmap(SB)
-+TEXT ·libc_munmap_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_munmap(SB)
-+TEXT ·libc_gettimeofday_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_gettimeofday(SB)
-+TEXT ·libc_fstat_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_fstat(SB)
-+TEXT ·libc_fstatat_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_fstatat(SB)
-+TEXT ·libc_fstatfs_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_fstatfs(SB)
-+TEXT ·libc_getfsstat_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_getfsstat(SB)
-+TEXT ·libc_lstat_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_lstat(SB)
-+TEXT ·libc_stat_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_stat(SB)
-+TEXT ·libc_statfs_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_statfs(SB)
-diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.1_11.go
-similarity index 84%
-copy from vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go
-copy to vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.1_11.go
-index 07c6ebc9..8c3bb3a2 100644
---- a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go
-+++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.1_11.go
-@@ -1,7 +1,7 @@
--// mksyscall.pl -tags darwin,arm64 syscall_bsd.go syscall_darwin.go syscall_darwin_arm64.go
-+// go run mksyscall.go -tags darwin,arm64,!go1.12 syscall_bsd.go syscall_darwin.go syscall_darwin_arm64.1_11.go syscall_darwin_arm64.go
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
--// +build darwin,arm64
-+// +build darwin,arm64,!go1.12
- 
- package unix
- 
-@@ -214,22 +214,6 @@ func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, ne
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) {
--	var _p0 unsafe.Pointer
--	if len(mib) > 0 {
--		_p0 = unsafe.Pointer(&mib[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
- func utimes(path string, timeval *[2]Timeval) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -255,9 +239,9 @@ func futimes(fd int, timeval *[2]Timeval) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func fcntl(fd int, cmd int, arg int) (val int, err error) {
--	r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg))
--	val = int(r0)
-+func poll(fds *PollFd, nfds int, timeout int) (n int, err error) {
-+	r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout))
-+	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -366,8 +350,8 @@ func Munlockall() (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) {
--	_, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0)
-+func getattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error) {
-+	_, _, e1 := Syscall6(SYS_GETATTRLIST, uintptr(unsafe.Pointer(path)), uintptr(list), uintptr(buf), uintptr(size), uintptr(options), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -388,6 +372,161 @@ func pipe() (r int, w int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func getxattr(path string, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	var _p1 *byte
-+	_p1, err = BytePtrFromString(attr)
-+	if err != nil {
-+		return
-+	}
-+	r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options))
-+	sz = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func fgetxattr(fd int, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(attr)
-+	if err != nil {
-+		return
-+	}
-+	r0, _, e1 := Syscall6(SYS_FGETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options))
-+	sz = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func setxattr(path string, attr string, data *byte, size int, position uint32, options int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	var _p1 *byte
-+	_p1, err = BytePtrFromString(attr)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func fsetxattr(fd int, attr string, data *byte, size int, position uint32, options int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(attr)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_FSETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func removexattr(path string, attr string, options int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	var _p1 *byte
-+	_p1, err = BytePtrFromString(attr)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func fremovexattr(fd int, attr string, options int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(attr)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall(SYS_FREMOVEXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(options))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func listxattr(path string, dest *byte, size int, options int) (sz int, err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	r0, _, e1 := Syscall6(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0)
-+	sz = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func flistxattr(fd int, dest *byte, size int, options int) (sz int, err error) {
-+	r0, _, e1 := Syscall6(SYS_FLISTXATTR, uintptr(fd), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0)
-+	sz = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func setattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error) {
-+	_, _, e1 := Syscall6(SYS_SETATTRLIST, uintptr(unsafe.Pointer(path)), uintptr(list), uintptr(buf), uintptr(size), uintptr(options), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func fcntl(fd int, cmd int, arg int) (val int, err error) {
-+	r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg))
-+	val = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func kill(pid int, signum int, posix int) (err error) {
- 	_, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), uintptr(posix))
- 	if e1 != 0 {
-@@ -408,6 +547,32 @@ func ioctl(fd int, req uint, arg uintptr) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) {
-+	var _p0 unsafe.Pointer
-+	if len(mib) > 0 {
-+		_p0 = unsafe.Pointer(&mib[0])
-+	} else {
-+		_p0 = unsafe.Pointer(&_zero)
-+	}
-+	_, _, e1 := Syscall6(SYS_SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func sendfile(infd int, outfd int, offset int64, len *int64, hdtr unsafe.Pointer, flags int) (err error) {
-+	_, _, e1 := Syscall6(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(offset), uintptr(unsafe.Pointer(len)), uintptr(hdtr), uintptr(flags))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Access(path string, mode uint32) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -672,26 +837,6 @@ func Fpathconf(fd int, name int) (val int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Fstat(fd int, stat *Stat_t) (err error) {
--	_, _, e1 := Syscall(SYS_FSTAT64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Fstatfs(fd int, stat *Statfs_t) (err error) {
--	_, _, e1 := Syscall(SYS_FSTATFS64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
- func Fsync(fd int) (err error) {
- 	_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)
- 	if e1 != 0 {
-@@ -712,23 +857,6 @@ func Ftruncate(fd int, length int64) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {
--	var _p0 unsafe.Pointer
--	if len(buf) > 0 {
--		_p0 = unsafe.Pointer(&buf[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall6(SYS_GETDIRENTRIES64, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0)
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
- func Getdtablesize() (size int) {
- 	r0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0)
- 	size = int(r0)
-@@ -930,21 +1058,6 @@ func Listen(s int, backlog int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Lstat(path string, stat *Stat_t) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_LSTAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
- func Mkdir(path string, mode uint32) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -1229,8 +1342,9 @@ func Seek(fd int, offset int64, whence int) (newoffset int64, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) {
--	_, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)
-+func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) {
-+	r0, _, e1 := Syscall6(SYS_SELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)
-+	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1375,36 +1489,6 @@ func Setuid(uid int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Stat(path string, stat *Stat_t) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_STAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Statfs(path string, stat *Statfs_t) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_STATFS64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
- func Symlink(path string, link string) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -1607,3 +1691,94 @@ func gettimeofday(tp *Timeval) (sec int64, usec int32, err error) {
- 	}
- 	return
- }
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Fstat(fd int, stat *Stat_t) (err error) {
-+	_, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Fstatfs(fd int, stat *Statfs_t) (err error) {
-+	_, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func getfsstat(buf unsafe.Pointer, size uintptr, flags int) (n int, err error) {
-+	r0, _, e1 := Syscall(SYS_GETFSSTAT, uintptr(buf), uintptr(size), uintptr(flags))
-+	n = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Lstat(path string, stat *Stat_t) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Stat(path string, stat *Stat_t) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Statfs(path string, stat *Statfs_t) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.1_13.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.1_13.go
-new file mode 100644
-index 00000000..d64e6c80
---- /dev/null
-+++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.1_13.go
-@@ -0,0 +1,41 @@
-+// go run mksyscall.go -tags darwin,arm64,go1.13 syscall_darwin.1_13.go
-+// Code generated by the command above; see README.md. DO NOT EDIT.
-+
-+// +build darwin,arm64,go1.13
-+
-+package unix
-+
-+import (
-+	"syscall"
-+	"unsafe"
-+)
-+
-+var _ syscall.Errno
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func closedir(dir uintptr) (err error) {
-+	_, _, e1 := syscall_syscall(funcPC(libc_closedir_trampoline), uintptr(dir), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+func libc_closedir_trampoline()
-+
-+//go:linkname libc_closedir libc_closedir
-+//go:cgo_import_dynamic libc_closedir closedir "/usr/lib/libSystem.B.dylib"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func readdir_r(dir uintptr, entry *Dirent, result **Dirent) (res Errno) {
-+	r0, _, _ := syscall_syscall(funcPC(libc_readdir_r_trampoline), uintptr(dir), uintptr(unsafe.Pointer(entry)), uintptr(unsafe.Pointer(result)))
-+	res = Errno(r0)
-+	return
-+}
-+
-+func libc_readdir_r_trampoline()
-+
-+//go:linkname libc_readdir_r libc_readdir_r
-+//go:cgo_import_dynamic libc_readdir_r readdir_r "/usr/lib/libSystem.B.dylib"
-diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.1_13.s b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.1_13.s
-new file mode 100644
-index 00000000..b29dabb0
---- /dev/null
-+++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.1_13.s
-@@ -0,0 +1,12 @@
-+// go run mkasm_darwin.go arm64
-+// Code generated by the command above; DO NOT EDIT.
-+
-+// +build go1.13
-+
-+#include "textflag.h"
-+TEXT ·libc_fdopendir_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_fdopendir(SB)
-+TEXT ·libc_closedir_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_closedir(SB)
-+TEXT ·libc_readdir_r_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_readdir_r(SB)
-diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go
-index 07c6ebc9..a8709f72 100644
---- a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go
-+++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go
-@@ -1,7 +1,7 @@
--// mksyscall.pl -tags darwin,arm64 syscall_bsd.go syscall_darwin.go syscall_darwin_arm64.go
-+// go run mksyscall.go -tags darwin,arm64,go1.12 syscall_bsd.go syscall_darwin.go syscall_darwin_arm64.go
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
--// +build darwin,arm64
-+// +build darwin,arm64,go1.12
- 
- package unix
- 
-@@ -15,7 +15,7 @@ var _ syscall.Errno
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func getgroups(ngid int, gid *_Gid_t) (n int, err error) {
--	r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0)
-+	r0, _, e1 := syscall_rawSyscall(funcPC(libc_getgroups_trampoline), uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0)
- 	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -23,20 +23,30 @@ func getgroups(ngid int, gid *_Gid_t) (n int, err error) {
- 	return
- }
- 
-+func libc_getgroups_trampoline()
-+
-+//go:linkname libc_getgroups libc_getgroups
-+//go:cgo_import_dynamic libc_getgroups getgroups "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func setgroups(ngid int, gid *_Gid_t) (err error) {
--	_, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0)
-+	_, _, e1 := syscall_rawSyscall(funcPC(libc_setgroups_trampoline), uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_setgroups_trampoline()
-+
-+//go:linkname libc_setgroups libc_setgroups
-+//go:cgo_import_dynamic libc_setgroups setgroups "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) {
--	r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0)
-+	r0, _, e1 := syscall_syscall6(funcPC(libc_wait4_trampoline), uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0)
- 	wpid = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -44,10 +54,15 @@ func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err
- 	return
- }
- 
-+func libc_wait4_trampoline()
-+
-+//go:linkname libc_wait4 libc_wait4
-+//go:cgo_import_dynamic libc_wait4 wait4 "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {
--	r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))
-+	r0, _, e1 := syscall_syscall(funcPC(libc_accept_trampoline), uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))
- 	fd = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -55,30 +70,45 @@ func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {
- 	return
- }
- 
-+func libc_accept_trampoline()
-+
-+//go:linkname libc_accept libc_accept
-+//go:cgo_import_dynamic libc_accept accept "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {
--	_, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen))
-+	_, _, e1 := syscall_syscall(funcPC(libc_bind_trampoline), uintptr(s), uintptr(addr), uintptr(addrlen))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_bind_trampoline()
-+
-+//go:linkname libc_bind libc_bind
-+//go:cgo_import_dynamic libc_bind bind "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {
--	_, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen))
-+	_, _, e1 := syscall_syscall(funcPC(libc_connect_trampoline), uintptr(s), uintptr(addr), uintptr(addrlen))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_connect_trampoline()
-+
-+//go:linkname libc_connect libc_connect
-+//go:cgo_import_dynamic libc_connect connect "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func socket(domain int, typ int, proto int) (fd int, err error) {
--	r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto))
-+	r0, _, e1 := syscall_rawSyscall(funcPC(libc_socket_trampoline), uintptr(domain), uintptr(typ), uintptr(proto))
- 	fd = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -86,66 +116,101 @@ func socket(domain int, typ int, proto int) (fd int, err error) {
- 	return
- }
- 
-+func libc_socket_trampoline()
-+
-+//go:linkname libc_socket libc_socket
-+//go:cgo_import_dynamic libc_socket socket "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) {
--	_, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0)
-+	_, _, e1 := syscall_syscall6(funcPC(libc_getsockopt_trampoline), uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_getsockopt_trampoline()
-+
-+//go:linkname libc_getsockopt libc_getsockopt
-+//go:cgo_import_dynamic libc_getsockopt getsockopt "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) {
--	_, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0)
-+	_, _, e1 := syscall_syscall6(funcPC(libc_setsockopt_trampoline), uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_setsockopt_trampoline()
-+
-+//go:linkname libc_setsockopt libc_setsockopt
-+//go:cgo_import_dynamic libc_setsockopt setsockopt "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {
--	_, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))
-+	_, _, e1 := syscall_rawSyscall(funcPC(libc_getpeername_trampoline), uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_getpeername_trampoline()
-+
-+//go:linkname libc_getpeername libc_getpeername
-+//go:cgo_import_dynamic libc_getpeername getpeername "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {
--	_, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))
-+	_, _, e1 := syscall_rawSyscall(funcPC(libc_getsockname_trampoline), uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_getsockname_trampoline()
-+
-+//go:linkname libc_getsockname libc_getsockname
-+//go:cgo_import_dynamic libc_getsockname getsockname "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Shutdown(s int, how int) (err error) {
--	_, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_shutdown_trampoline), uintptr(s), uintptr(how), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_shutdown_trampoline()
-+
-+//go:linkname libc_shutdown libc_shutdown
-+//go:cgo_import_dynamic libc_shutdown shutdown "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) {
--	_, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0)
-+	_, _, e1 := syscall_rawSyscall6(funcPC(libc_socketpair_trampoline), uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_socketpair_trampoline()
-+
-+//go:linkname libc_socketpair libc_socketpair
-+//go:cgo_import_dynamic libc_socketpair socketpair "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) {
-@@ -155,7 +220,7 @@ func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Sockl
- 	} else {
- 		_p0 = unsafe.Pointer(&_zero)
- 	}
--	r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen)))
-+	r0, _, e1 := syscall_syscall6(funcPC(libc_recvfrom_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen)))
- 	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -163,6 +228,11 @@ func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Sockl
- 	return
- }
- 
-+func libc_recvfrom_trampoline()
-+
-+//go:linkname libc_recvfrom libc_recvfrom
-+//go:cgo_import_dynamic libc_recvfrom recvfrom "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) {
-@@ -172,17 +242,22 @@ func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (
- 	} else {
- 		_p0 = unsafe.Pointer(&_zero)
- 	}
--	_, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen))
-+	_, _, e1 := syscall_syscall6(funcPC(libc_sendto_trampoline), uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_sendto_trampoline()
-+
-+//go:linkname libc_sendto libc_sendto
-+//go:cgo_import_dynamic libc_sendto sendto "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) {
--	r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))
-+	r0, _, e1 := syscall_syscall(funcPC(libc_recvmsg_trampoline), uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))
- 	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -190,10 +265,15 @@ func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) {
- 	return
- }
- 
-+func libc_recvmsg_trampoline()
-+
-+//go:linkname libc_recvmsg libc_recvmsg
-+//go:cgo_import_dynamic libc_recvmsg recvmsg "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) {
--	r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))
-+	r0, _, e1 := syscall_syscall(funcPC(libc_sendmsg_trampoline), uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))
- 	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -201,10 +281,15 @@ func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) {
- 	return
- }
- 
-+func libc_sendmsg_trampoline()
-+
-+//go:linkname libc_sendmsg libc_sendmsg
-+//go:cgo_import_dynamic libc_sendmsg sendmsg "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) {
--	r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout)))
-+	r0, _, e1 := syscall_syscall6(funcPC(libc_kevent_trampoline), uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout)))
- 	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -212,21 +297,10 @@ func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, ne
- 	return
- }
- 
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+func libc_kevent_trampoline()
- 
--func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) {
--	var _p0 unsafe.Pointer
--	if len(mib) > 0 {
--		_p0 = unsafe.Pointer(&mib[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
-+//go:linkname libc_kevent libc_kevent
-+//go:cgo_import_dynamic libc_kevent kevent "/usr/lib/libSystem.B.dylib"
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-@@ -236,34 +310,49 @@ func utimes(path string, timeval *[2]Timeval) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_utimes_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_utimes_trampoline()
-+
-+//go:linkname libc_utimes libc_utimes
-+//go:cgo_import_dynamic libc_utimes utimes "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func futimes(fd int, timeval *[2]Timeval) (err error) {
--	_, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_futimes_trampoline), uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_futimes_trampoline()
-+
-+//go:linkname libc_futimes libc_futimes
-+//go:cgo_import_dynamic libc_futimes futimes "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func fcntl(fd int, cmd int, arg int) (val int, err error) {
--	r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg))
--	val = int(r0)
-+func poll(fds *PollFd, nfds int, timeout int) (n int, err error) {
-+	r0, _, e1 := syscall_syscall(funcPC(libc_poll_trampoline), uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout))
-+	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_poll_trampoline()
-+
-+//go:linkname libc_poll libc_poll
-+//go:cgo_import_dynamic libc_poll poll "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Madvise(b []byte, behav int) (err error) {
-@@ -273,13 +362,18 @@ func Madvise(b []byte, behav int) (err error) {
- 	} else {
- 		_p0 = unsafe.Pointer(&_zero)
- 	}
--	_, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav))
-+	_, _, e1 := syscall_syscall(funcPC(libc_madvise_trampoline), uintptr(_p0), uintptr(len(b)), uintptr(behav))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_madvise_trampoline()
-+
-+//go:linkname libc_madvise libc_madvise
-+//go:cgo_import_dynamic libc_madvise madvise "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Mlock(b []byte) (err error) {
-@@ -289,23 +383,33 @@ func Mlock(b []byte) (err error) {
- 	} else {
- 		_p0 = unsafe.Pointer(&_zero)
- 	}
--	_, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_mlock_trampoline), uintptr(_p0), uintptr(len(b)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_mlock_trampoline()
-+
-+//go:linkname libc_mlock libc_mlock
-+//go:cgo_import_dynamic libc_mlock mlock "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Mlockall(flags int) (err error) {
--	_, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_mlockall_trampoline), uintptr(flags), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_mlockall_trampoline()
-+
-+//go:linkname libc_mlockall libc_mlockall
-+//go:cgo_import_dynamic libc_mlockall mlockall "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Mprotect(b []byte, prot int) (err error) {
-@@ -315,13 +419,18 @@ func Mprotect(b []byte, prot int) (err error) {
- 	} else {
- 		_p0 = unsafe.Pointer(&_zero)
- 	}
--	_, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))
-+	_, _, e1 := syscall_syscall(funcPC(libc_mprotect_trampoline), uintptr(_p0), uintptr(len(b)), uintptr(prot))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_mprotect_trampoline()
-+
-+//go:linkname libc_mprotect libc_mprotect
-+//go:cgo_import_dynamic libc_mprotect mprotect "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Msync(b []byte, flags int) (err error) {
-@@ -331,13 +440,18 @@ func Msync(b []byte, flags int) (err error) {
- 	} else {
- 		_p0 = unsafe.Pointer(&_zero)
- 	}
--	_, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))
-+	_, _, e1 := syscall_syscall(funcPC(libc_msync_trampoline), uintptr(_p0), uintptr(len(b)), uintptr(flags))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_msync_trampoline()
-+
-+//go:linkname libc_msync libc_msync
-+//go:cgo_import_dynamic libc_msync msync "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Munlock(b []byte) (err error) {
-@@ -347,37 +461,52 @@ func Munlock(b []byte) (err error) {
- 	} else {
- 		_p0 = unsafe.Pointer(&_zero)
- 	}
--	_, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_munlock_trampoline), uintptr(_p0), uintptr(len(b)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_munlock_trampoline()
-+
-+//go:linkname libc_munlock libc_munlock
-+//go:cgo_import_dynamic libc_munlock munlock "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Munlockall() (err error) {
--	_, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_munlockall_trampoline), 0, 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_munlockall_trampoline()
-+
-+//go:linkname libc_munlockall libc_munlockall
-+//go:cgo_import_dynamic libc_munlockall munlockall "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) {
--	_, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0)
-+func getattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error) {
-+	_, _, e1 := syscall_syscall6(funcPC(libc_getattrlist_trampoline), uintptr(unsafe.Pointer(path)), uintptr(list), uintptr(buf), uintptr(size), uintptr(options), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_getattrlist_trampoline()
-+
-+//go:linkname libc_getattrlist libc_getattrlist
-+//go:cgo_import_dynamic libc_getattrlist getattrlist "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func pipe() (r int, w int, err error) {
--	r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0)
-+	r0, r1, e1 := syscall_rawSyscall(funcPC(libc_pipe_trampoline), 0, 0, 0)
- 	r = int(r0)
- 	w = int(r1)
- 	if e1 != 0 {
-@@ -386,26 +515,282 @@ func pipe() (r int, w int, err error) {
- 	return
- }
- 
-+func libc_pipe_trampoline()
-+
-+//go:linkname libc_pipe libc_pipe
-+//go:cgo_import_dynamic libc_pipe pipe "/usr/lib/libSystem.B.dylib"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func getxattr(path string, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	var _p1 *byte
-+	_p1, err = BytePtrFromString(attr)
-+	if err != nil {
-+		return
-+	}
-+	r0, _, e1 := syscall_syscall6(funcPC(libc_getxattr_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options))
-+	sz = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+func libc_getxattr_trampoline()
-+
-+//go:linkname libc_getxattr libc_getxattr
-+//go:cgo_import_dynamic libc_getxattr getxattr "/usr/lib/libSystem.B.dylib"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func fgetxattr(fd int, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(attr)
-+	if err != nil {
-+		return
-+	}
-+	r0, _, e1 := syscall_syscall6(funcPC(libc_fgetxattr_trampoline), uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options))
-+	sz = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+func libc_fgetxattr_trampoline()
-+
-+//go:linkname libc_fgetxattr libc_fgetxattr
-+//go:cgo_import_dynamic libc_fgetxattr fgetxattr "/usr/lib/libSystem.B.dylib"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func setxattr(path string, attr string, data *byte, size int, position uint32, options int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	var _p1 *byte
-+	_p1, err = BytePtrFromString(attr)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := syscall_syscall6(funcPC(libc_setxattr_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+func libc_setxattr_trampoline()
-+
-+//go:linkname libc_setxattr libc_setxattr
-+//go:cgo_import_dynamic libc_setxattr setxattr "/usr/lib/libSystem.B.dylib"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func fsetxattr(fd int, attr string, data *byte, size int, position uint32, options int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(attr)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := syscall_syscall6(funcPC(libc_fsetxattr_trampoline), uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+func libc_fsetxattr_trampoline()
-+
-+//go:linkname libc_fsetxattr libc_fsetxattr
-+//go:cgo_import_dynamic libc_fsetxattr fsetxattr "/usr/lib/libSystem.B.dylib"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func removexattr(path string, attr string, options int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	var _p1 *byte
-+	_p1, err = BytePtrFromString(attr)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := syscall_syscall(funcPC(libc_removexattr_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+func libc_removexattr_trampoline()
-+
-+//go:linkname libc_removexattr libc_removexattr
-+//go:cgo_import_dynamic libc_removexattr removexattr "/usr/lib/libSystem.B.dylib"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func fremovexattr(fd int, attr string, options int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(attr)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := syscall_syscall(funcPC(libc_fremovexattr_trampoline), uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(options))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+func libc_fremovexattr_trampoline()
-+
-+//go:linkname libc_fremovexattr libc_fremovexattr
-+//go:cgo_import_dynamic libc_fremovexattr fremovexattr "/usr/lib/libSystem.B.dylib"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func listxattr(path string, dest *byte, size int, options int) (sz int, err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	r0, _, e1 := syscall_syscall6(funcPC(libc_listxattr_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0)
-+	sz = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+func libc_listxattr_trampoline()
-+
-+//go:linkname libc_listxattr libc_listxattr
-+//go:cgo_import_dynamic libc_listxattr listxattr "/usr/lib/libSystem.B.dylib"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func flistxattr(fd int, dest *byte, size int, options int) (sz int, err error) {
-+	r0, _, e1 := syscall_syscall6(funcPC(libc_flistxattr_trampoline), uintptr(fd), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0)
-+	sz = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+func libc_flistxattr_trampoline()
-+
-+//go:linkname libc_flistxattr libc_flistxattr
-+//go:cgo_import_dynamic libc_flistxattr flistxattr "/usr/lib/libSystem.B.dylib"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func setattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error) {
-+	_, _, e1 := syscall_syscall6(funcPC(libc_setattrlist_trampoline), uintptr(unsafe.Pointer(path)), uintptr(list), uintptr(buf), uintptr(size), uintptr(options), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+func libc_setattrlist_trampoline()
-+
-+//go:linkname libc_setattrlist libc_setattrlist
-+//go:cgo_import_dynamic libc_setattrlist setattrlist "/usr/lib/libSystem.B.dylib"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func fcntl(fd int, cmd int, arg int) (val int, err error) {
-+	r0, _, e1 := syscall_syscall(funcPC(libc_fcntl_trampoline), uintptr(fd), uintptr(cmd), uintptr(arg))
-+	val = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+func libc_fcntl_trampoline()
-+
-+//go:linkname libc_fcntl libc_fcntl
-+//go:cgo_import_dynamic libc_fcntl fcntl "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func kill(pid int, signum int, posix int) (err error) {
--	_, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), uintptr(posix))
-+	_, _, e1 := syscall_syscall(funcPC(libc_kill_trampoline), uintptr(pid), uintptr(signum), uintptr(posix))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_kill_trampoline()
-+
-+//go:linkname libc_kill libc_kill
-+//go:cgo_import_dynamic libc_kill kill "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func ioctl(fd int, req uint, arg uintptr) (err error) {
--	_, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg))
-+	_, _, e1 := syscall_syscall(funcPC(libc_ioctl_trampoline), uintptr(fd), uintptr(req), uintptr(arg))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_ioctl_trampoline()
-+
-+//go:linkname libc_ioctl libc_ioctl
-+//go:cgo_import_dynamic libc_ioctl ioctl "/usr/lib/libSystem.B.dylib"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) {
-+	var _p0 unsafe.Pointer
-+	if len(mib) > 0 {
-+		_p0 = unsafe.Pointer(&mib[0])
-+	} else {
-+		_p0 = unsafe.Pointer(&_zero)
-+	}
-+	_, _, e1 := syscall_syscall6(funcPC(libc_sysctl_trampoline), uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+func libc_sysctl_trampoline()
-+
-+//go:linkname libc_sysctl libc_sysctl
-+//go:cgo_import_dynamic libc_sysctl sysctl "/usr/lib/libSystem.B.dylib"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func sendfile(infd int, outfd int, offset int64, len *int64, hdtr unsafe.Pointer, flags int) (err error) {
-+	_, _, e1 := syscall_syscall6(funcPC(libc_sendfile_trampoline), uintptr(infd), uintptr(outfd), uintptr(offset), uintptr(unsafe.Pointer(len)), uintptr(hdtr), uintptr(flags))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+func libc_sendfile_trampoline()
-+
-+//go:linkname libc_sendfile libc_sendfile
-+//go:cgo_import_dynamic libc_sendfile sendfile "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Access(path string, mode uint32) (err error) {
-@@ -414,23 +799,33 @@ func Access(path string, mode uint32) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_access_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_access_trampoline()
-+
-+//go:linkname libc_access libc_access
-+//go:cgo_import_dynamic libc_access access "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Adjtime(delta *Timeval, olddelta *Timeval) (err error) {
--	_, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_adjtime_trampoline), uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_adjtime_trampoline()
-+
-+//go:linkname libc_adjtime libc_adjtime
-+//go:cgo_import_dynamic libc_adjtime adjtime "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Chdir(path string) (err error) {
-@@ -439,13 +834,18 @@ func Chdir(path string) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_chdir_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_chdir_trampoline()
-+
-+//go:linkname libc_chdir libc_chdir
-+//go:cgo_import_dynamic libc_chdir chdir "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Chflags(path string, flags int) (err error) {
-@@ -454,13 +854,18 @@ func Chflags(path string, flags int) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_chflags_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_chflags_trampoline()
-+
-+//go:linkname libc_chflags libc_chflags
-+//go:cgo_import_dynamic libc_chflags chflags "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Chmod(path string, mode uint32) (err error) {
-@@ -469,13 +874,18 @@ func Chmod(path string, mode uint32) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_chmod_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_chmod_trampoline()
-+
-+//go:linkname libc_chmod libc_chmod
-+//go:cgo_import_dynamic libc_chmod chmod "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Chown(path string, uid int, gid int) (err error) {
-@@ -484,13 +894,18 @@ func Chown(path string, uid int, gid int) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))
-+	_, _, e1 := syscall_syscall(funcPC(libc_chown_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_chown_trampoline()
-+
-+//go:linkname libc_chown libc_chown
-+//go:cgo_import_dynamic libc_chown chown "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Chroot(path string) (err error) {
-@@ -499,27 +914,52 @@ func Chroot(path string) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_chroot_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_chroot_trampoline()
-+
-+//go:linkname libc_chroot libc_chroot
-+//go:cgo_import_dynamic libc_chroot chroot "/usr/lib/libSystem.B.dylib"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func ClockGettime(clockid int32, time *Timespec) (err error) {
-+	_, _, e1 := syscall_syscall(funcPC(libc_clock_gettime_trampoline), uintptr(clockid), uintptr(unsafe.Pointer(time)), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+func libc_clock_gettime_trampoline()
-+
-+//go:linkname libc_clock_gettime libc_clock_gettime
-+//go:cgo_import_dynamic libc_clock_gettime clock_gettime "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Close(fd int) (err error) {
--	_, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_close_trampoline), uintptr(fd), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_close_trampoline()
-+
-+//go:linkname libc_close libc_close
-+//go:cgo_import_dynamic libc_close close "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Dup(fd int) (nfd int, err error) {
--	r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0)
-+	r0, _, e1 := syscall_syscall(funcPC(libc_dup_trampoline), uintptr(fd), 0, 0)
- 	nfd = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -527,16 +967,26 @@ func Dup(fd int) (nfd int, err error) {
- 	return
- }
- 
-+func libc_dup_trampoline()
-+
-+//go:linkname libc_dup libc_dup
-+//go:cgo_import_dynamic libc_dup dup "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Dup2(from int, to int) (err error) {
--	_, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_dup2_trampoline), uintptr(from), uintptr(to), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_dup2_trampoline()
-+
-+//go:linkname libc_dup2 libc_dup2
-+//go:cgo_import_dynamic libc_dup2 dup2 "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Exchangedata(path1 string, path2 string, options int) (err error) {
-@@ -550,20 +1000,30 @@ func Exchangedata(path1 string, path2 string, options int) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_EXCHANGEDATA, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options))
-+	_, _, e1 := syscall_syscall(funcPC(libc_exchangedata_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_exchangedata_trampoline()
-+
-+//go:linkname libc_exchangedata libc_exchangedata
-+//go:cgo_import_dynamic libc_exchangedata exchangedata "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Exit(code int) {
--	Syscall(SYS_EXIT, uintptr(code), 0, 0)
-+	syscall_syscall(funcPC(libc_exit_trampoline), uintptr(code), 0, 0)
- 	return
- }
- 
-+func libc_exit_trampoline()
-+
-+//go:linkname libc_exit libc_exit
-+//go:cgo_import_dynamic libc_exit exit "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {
-@@ -572,43 +1032,63 @@ func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)
-+	_, _, e1 := syscall_syscall6(funcPC(libc_faccessat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_faccessat_trampoline()
-+
-+//go:linkname libc_faccessat libc_faccessat
-+//go:cgo_import_dynamic libc_faccessat faccessat "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Fchdir(fd int) (err error) {
--	_, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_fchdir_trampoline), uintptr(fd), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_fchdir_trampoline()
-+
-+//go:linkname libc_fchdir libc_fchdir
-+//go:cgo_import_dynamic libc_fchdir fchdir "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Fchflags(fd int, flags int) (err error) {
--	_, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_fchflags_trampoline), uintptr(fd), uintptr(flags), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_fchflags_trampoline()
-+
-+//go:linkname libc_fchflags libc_fchflags
-+//go:cgo_import_dynamic libc_fchflags fchflags "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Fchmod(fd int, mode uint32) (err error) {
--	_, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_fchmod_trampoline), uintptr(fd), uintptr(mode), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_fchmod_trampoline()
-+
-+//go:linkname libc_fchmod libc_fchmod
-+//go:cgo_import_dynamic libc_fchmod fchmod "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) {
-@@ -617,23 +1097,33 @@ func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)
-+	_, _, e1 := syscall_syscall6(funcPC(libc_fchmodat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_fchmodat_trampoline()
-+
-+//go:linkname libc_fchmodat libc_fchmodat
-+//go:cgo_import_dynamic libc_fchmodat fchmodat "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Fchown(fd int, uid int, gid int) (err error) {
--	_, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid))
-+	_, _, e1 := syscall_syscall(funcPC(libc_fchown_trampoline), uintptr(fd), uintptr(uid), uintptr(gid))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_fchown_trampoline()
-+
-+//go:linkname libc_fchown libc_fchown
-+//go:cgo_import_dynamic libc_fchown fchown "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) {
-@@ -642,27 +1132,37 @@ func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0)
-+	_, _, e1 := syscall_syscall6(funcPC(libc_fchownat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_fchownat_trampoline()
-+
-+//go:linkname libc_fchownat libc_fchownat
-+//go:cgo_import_dynamic libc_fchownat fchownat "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Flock(fd int, how int) (err error) {
--	_, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_flock_trampoline), uintptr(fd), uintptr(how), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_flock_trampoline()
-+
-+//go:linkname libc_flock libc_flock
-+//go:cgo_import_dynamic libc_flock flock "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Fpathconf(fd int, name int) (val int, err error) {
--	r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0)
-+	r0, _, e1 := syscall_syscall(funcPC(libc_fpathconf_trampoline), uintptr(fd), uintptr(name), 0)
- 	val = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -670,99 +1170,97 @@ func Fpathconf(fd int, name int) (val int, err error) {
- 	return
- }
- 
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+func libc_fpathconf_trampoline()
- 
--func Fstat(fd int, stat *Stat_t) (err error) {
--	_, _, e1 := Syscall(SYS_FSTAT64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
-+//go:linkname libc_fpathconf libc_fpathconf
-+//go:cgo_import_dynamic libc_fpathconf fpathconf "/usr/lib/libSystem.B.dylib"
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Fstatfs(fd int, stat *Statfs_t) (err error) {
--	_, _, e1 := Syscall(SYS_FSTATFS64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)
-+func Fsync(fd int) (err error) {
-+	_, _, e1 := syscall_syscall(funcPC(libc_fsync_trampoline), uintptr(fd), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+func libc_fsync_trampoline()
- 
--func Fsync(fd int) (err error) {
--	_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
-+//go:linkname libc_fsync libc_fsync
-+//go:cgo_import_dynamic libc_fsync fsync "/usr/lib/libSystem.B.dylib"
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Ftruncate(fd int, length int64) (err error) {
--	_, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_ftruncate_trampoline), uintptr(fd), uintptr(length), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {
--	var _p0 unsafe.Pointer
--	if len(buf) > 0 {
--		_p0 = unsafe.Pointer(&buf[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall6(SYS_GETDIRENTRIES64, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0)
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
-+func libc_ftruncate_trampoline()
-+
-+//go:linkname libc_ftruncate libc_ftruncate
-+//go:cgo_import_dynamic libc_ftruncate ftruncate "/usr/lib/libSystem.B.dylib"
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Getdtablesize() (size int) {
--	r0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0)
-+	r0, _, _ := syscall_syscall(funcPC(libc_getdtablesize_trampoline), 0, 0, 0)
- 	size = int(r0)
- 	return
- }
- 
-+func libc_getdtablesize_trampoline()
-+
-+//go:linkname libc_getdtablesize libc_getdtablesize
-+//go:cgo_import_dynamic libc_getdtablesize getdtablesize "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Getegid() (egid int) {
--	r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0)
-+	r0, _, _ := syscall_rawSyscall(funcPC(libc_getegid_trampoline), 0, 0, 0)
- 	egid = int(r0)
- 	return
- }
- 
-+func libc_getegid_trampoline()
-+
-+//go:linkname libc_getegid libc_getegid
-+//go:cgo_import_dynamic libc_getegid getegid "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Geteuid() (uid int) {
--	r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0)
-+	r0, _, _ := syscall_rawSyscall(funcPC(libc_geteuid_trampoline), 0, 0, 0)
- 	uid = int(r0)
- 	return
- }
- 
-+func libc_geteuid_trampoline()
-+
-+//go:linkname libc_geteuid libc_geteuid
-+//go:cgo_import_dynamic libc_geteuid geteuid "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Getgid() (gid int) {
--	r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0)
-+	r0, _, _ := syscall_rawSyscall(funcPC(libc_getgid_trampoline), 0, 0, 0)
- 	gid = int(r0)
- 	return
- }
- 
-+func libc_getgid_trampoline()
-+
-+//go:linkname libc_getgid libc_getgid
-+//go:cgo_import_dynamic libc_getgid getgid "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Getpgid(pid int) (pgid int, err error) {
--	r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0)
-+	r0, _, e1 := syscall_rawSyscall(funcPC(libc_getpgid_trampoline), uintptr(pid), 0, 0)
- 	pgid = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -770,34 +1268,54 @@ func Getpgid(pid int) (pgid int, err error) {
- 	return
- }
- 
-+func libc_getpgid_trampoline()
-+
-+//go:linkname libc_getpgid libc_getpgid
-+//go:cgo_import_dynamic libc_getpgid getpgid "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Getpgrp() (pgrp int) {
--	r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0)
-+	r0, _, _ := syscall_rawSyscall(funcPC(libc_getpgrp_trampoline), 0, 0, 0)
- 	pgrp = int(r0)
- 	return
- }
- 
-+func libc_getpgrp_trampoline()
-+
-+//go:linkname libc_getpgrp libc_getpgrp
-+//go:cgo_import_dynamic libc_getpgrp getpgrp "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Getpid() (pid int) {
--	r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0)
-+	r0, _, _ := syscall_rawSyscall(funcPC(libc_getpid_trampoline), 0, 0, 0)
- 	pid = int(r0)
- 	return
- }
- 
-+func libc_getpid_trampoline()
-+
-+//go:linkname libc_getpid libc_getpid
-+//go:cgo_import_dynamic libc_getpid getpid "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Getppid() (ppid int) {
--	r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0)
-+	r0, _, _ := syscall_rawSyscall(funcPC(libc_getppid_trampoline), 0, 0, 0)
- 	ppid = int(r0)
- 	return
- }
- 
-+func libc_getppid_trampoline()
-+
-+//go:linkname libc_getppid libc_getppid
-+//go:cgo_import_dynamic libc_getppid getppid "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Getpriority(which int, who int) (prio int, err error) {
--	r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0)
-+	r0, _, e1 := syscall_syscall(funcPC(libc_getpriority_trampoline), uintptr(which), uintptr(who), 0)
- 	prio = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -805,30 +1323,45 @@ func Getpriority(which int, who int) (prio int, err error) {
- 	return
- }
- 
-+func libc_getpriority_trampoline()
-+
-+//go:linkname libc_getpriority libc_getpriority
-+//go:cgo_import_dynamic libc_getpriority getpriority "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Getrlimit(which int, lim *Rlimit) (err error) {
--	_, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)
-+	_, _, e1 := syscall_rawSyscall(funcPC(libc_getrlimit_trampoline), uintptr(which), uintptr(unsafe.Pointer(lim)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_getrlimit_trampoline()
-+
-+//go:linkname libc_getrlimit libc_getrlimit
-+//go:cgo_import_dynamic libc_getrlimit getrlimit "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Getrusage(who int, rusage *Rusage) (err error) {
--	_, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0)
-+	_, _, e1 := syscall_rawSyscall(funcPC(libc_getrusage_trampoline), uintptr(who), uintptr(unsafe.Pointer(rusage)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_getrusage_trampoline()
-+
-+//go:linkname libc_getrusage libc_getrusage
-+//go:cgo_import_dynamic libc_getrusage getrusage "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Getsid(pid int) (sid int, err error) {
--	r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0)
-+	r0, _, e1 := syscall_rawSyscall(funcPC(libc_getsid_trampoline), uintptr(pid), 0, 0)
- 	sid = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -836,26 +1369,41 @@ func Getsid(pid int) (sid int, err error) {
- 	return
- }
- 
-+func libc_getsid_trampoline()
-+
-+//go:linkname libc_getsid libc_getsid
-+//go:cgo_import_dynamic libc_getsid getsid "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Getuid() (uid int) {
--	r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0)
-+	r0, _, _ := syscall_rawSyscall(funcPC(libc_getuid_trampoline), 0, 0, 0)
- 	uid = int(r0)
- 	return
- }
- 
-+func libc_getuid_trampoline()
-+
-+//go:linkname libc_getuid libc_getuid
-+//go:cgo_import_dynamic libc_getuid getuid "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Issetugid() (tainted bool) {
--	r0, _, _ := RawSyscall(SYS_ISSETUGID, 0, 0, 0)
-+	r0, _, _ := syscall_rawSyscall(funcPC(libc_issetugid_trampoline), 0, 0, 0)
- 	tainted = bool(r0 != 0)
- 	return
- }
- 
-+func libc_issetugid_trampoline()
-+
-+//go:linkname libc_issetugid libc_issetugid
-+//go:cgo_import_dynamic libc_issetugid issetugid "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Kqueue() (fd int, err error) {
--	r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0)
-+	r0, _, e1 := syscall_syscall(funcPC(libc_kqueue_trampoline), 0, 0, 0)
- 	fd = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -863,6 +1411,11 @@ func Kqueue() (fd int, err error) {
- 	return
- }
- 
-+func libc_kqueue_trampoline()
-+
-+//go:linkname libc_kqueue libc_kqueue
-+//go:cgo_import_dynamic libc_kqueue kqueue "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Lchown(path string, uid int, gid int) (err error) {
-@@ -871,13 +1424,18 @@ func Lchown(path string, uid int, gid int) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))
-+	_, _, e1 := syscall_syscall(funcPC(libc_lchown_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_lchown_trampoline()
-+
-+//go:linkname libc_lchown libc_lchown
-+//go:cgo_import_dynamic libc_lchown lchown "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Link(path string, link string) (err error) {
-@@ -891,13 +1449,18 @@ func Link(path string, link string) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_link_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_link_trampoline()
-+
-+//go:linkname libc_link libc_link
-+//go:cgo_import_dynamic libc_link link "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) {
-@@ -911,37 +1474,32 @@ func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err er
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)
-+	_, _, e1 := syscall_syscall6(funcPC(libc_linkat_trampoline), uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_linkat_trampoline()
-+
-+//go:linkname libc_linkat libc_linkat
-+//go:cgo_import_dynamic libc_linkat linkat "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Listen(s int, backlog int) (err error) {
--	_, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_listen_trampoline), uintptr(s), uintptr(backlog), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+func libc_listen_trampoline()
- 
--func Lstat(path string, stat *Stat_t) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_LSTAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
-+//go:linkname libc_listen libc_listen
-+//go:cgo_import_dynamic libc_listen listen "/usr/lib/libSystem.B.dylib"
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-@@ -951,13 +1509,18 @@ func Mkdir(path string, mode uint32) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_mkdir_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_mkdir_trampoline()
-+
-+//go:linkname libc_mkdir libc_mkdir
-+//go:cgo_import_dynamic libc_mkdir mkdir "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Mkdirat(dirfd int, path string, mode uint32) (err error) {
-@@ -966,13 +1529,18 @@ func Mkdirat(dirfd int, path string, mode uint32) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))
-+	_, _, e1 := syscall_syscall(funcPC(libc_mkdirat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_mkdirat_trampoline()
-+
-+//go:linkname libc_mkdirat libc_mkdirat
-+//go:cgo_import_dynamic libc_mkdirat mkdirat "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Mkfifo(path string, mode uint32) (err error) {
-@@ -981,13 +1549,18 @@ func Mkfifo(path string, mode uint32) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_mkfifo_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_mkfifo_trampoline()
-+
-+//go:linkname libc_mkfifo libc_mkfifo
-+//go:cgo_import_dynamic libc_mkfifo mkfifo "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Mknod(path string, mode uint32, dev int) (err error) {
-@@ -996,13 +1569,18 @@ func Mknod(path string, mode uint32, dev int) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev))
-+	_, _, e1 := syscall_syscall(funcPC(libc_mknod_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_mknod_trampoline()
-+
-+//go:linkname libc_mknod libc_mknod
-+//go:cgo_import_dynamic libc_mknod mknod "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Open(path string, mode int, perm uint32) (fd int, err error) {
-@@ -1011,7 +1589,7 @@ func Open(path string, mode int, perm uint32) (fd int, err error) {
- 	if err != nil {
- 		return
- 	}
--	r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm))
-+	r0, _, e1 := syscall_syscall(funcPC(libc_open_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm))
- 	fd = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -1019,6 +1597,11 @@ func Open(path string, mode int, perm uint32) (fd int, err error) {
- 	return
- }
- 
-+func libc_open_trampoline()
-+
-+//go:linkname libc_open libc_open
-+//go:cgo_import_dynamic libc_open open "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) {
-@@ -1027,7 +1610,7 @@ func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) {
- 	if err != nil {
- 		return
- 	}
--	r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0)
-+	r0, _, e1 := syscall_syscall6(funcPC(libc_openat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0)
- 	fd = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -1035,6 +1618,11 @@ func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) {
- 	return
- }
- 
-+func libc_openat_trampoline()
-+
-+//go:linkname libc_openat libc_openat
-+//go:cgo_import_dynamic libc_openat openat "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Pathconf(path string, name int) (val int, err error) {
-@@ -1043,7 +1631,7 @@ func Pathconf(path string, name int) (val int, err error) {
- 	if err != nil {
- 		return
- 	}
--	r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0)
-+	r0, _, e1 := syscall_syscall(funcPC(libc_pathconf_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(name), 0)
- 	val = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -1051,6 +1639,11 @@ func Pathconf(path string, name int) (val int, err error) {
- 	return
- }
- 
-+func libc_pathconf_trampoline()
-+
-+//go:linkname libc_pathconf libc_pathconf
-+//go:cgo_import_dynamic libc_pathconf pathconf "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Pread(fd int, p []byte, offset int64) (n int, err error) {
-@@ -1060,7 +1653,7 @@ func Pread(fd int, p []byte, offset int64) (n int, err error) {
- 	} else {
- 		_p0 = unsafe.Pointer(&_zero)
- 	}
--	r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0)
-+	r0, _, e1 := syscall_syscall6(funcPC(libc_pread_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0)
- 	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -1068,6 +1661,11 @@ func Pread(fd int, p []byte, offset int64) (n int, err error) {
- 	return
- }
- 
-+func libc_pread_trampoline()
-+
-+//go:linkname libc_pread libc_pread
-+//go:cgo_import_dynamic libc_pread pread "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Pwrite(fd int, p []byte, offset int64) (n int, err error) {
-@@ -1077,7 +1675,7 @@ func Pwrite(fd int, p []byte, offset int64) (n int, err error) {
- 	} else {
- 		_p0 = unsafe.Pointer(&_zero)
- 	}
--	r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0)
-+	r0, _, e1 := syscall_syscall6(funcPC(libc_pwrite_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0)
- 	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -1085,6 +1683,11 @@ func Pwrite(fd int, p []byte, offset int64) (n int, err error) {
- 	return
- }
- 
-+func libc_pwrite_trampoline()
-+
-+//go:linkname libc_pwrite libc_pwrite
-+//go:cgo_import_dynamic libc_pwrite pwrite "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func read(fd int, p []byte) (n int, err error) {
-@@ -1094,7 +1697,7 @@ func read(fd int, p []byte) (n int, err error) {
- 	} else {
- 		_p0 = unsafe.Pointer(&_zero)
- 	}
--	r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p)))
-+	r0, _, e1 := syscall_syscall(funcPC(libc_read_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p)))
- 	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -1102,6 +1705,11 @@ func read(fd int, p []byte) (n int, err error) {
- 	return
- }
- 
-+func libc_read_trampoline()
-+
-+//go:linkname libc_read libc_read
-+//go:cgo_import_dynamic libc_read read "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Readlink(path string, buf []byte) (n int, err error) {
-@@ -1116,7 +1724,7 @@ func Readlink(path string, buf []byte) (n int, err error) {
- 	} else {
- 		_p1 = unsafe.Pointer(&_zero)
- 	}
--	r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)))
-+	r0, _, e1 := syscall_syscall(funcPC(libc_readlink_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)))
- 	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -1124,6 +1732,11 @@ func Readlink(path string, buf []byte) (n int, err error) {
- 	return
- }
- 
-+func libc_readlink_trampoline()
-+
-+//go:linkname libc_readlink libc_readlink
-+//go:cgo_import_dynamic libc_readlink readlink "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) {
-@@ -1138,7 +1751,7 @@ func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) {
- 	} else {
- 		_p1 = unsafe.Pointer(&_zero)
- 	}
--	r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0)
-+	r0, _, e1 := syscall_syscall6(funcPC(libc_readlinkat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0)
- 	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -1146,6 +1759,11 @@ func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) {
- 	return
- }
- 
-+func libc_readlinkat_trampoline()
-+
-+//go:linkname libc_readlinkat libc_readlinkat
-+//go:cgo_import_dynamic libc_readlinkat readlinkat "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Rename(from string, to string) (err error) {
-@@ -1159,13 +1777,18 @@ func Rename(from string, to string) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_rename_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_rename_trampoline()
-+
-+//go:linkname libc_rename libc_rename
-+//go:cgo_import_dynamic libc_rename rename "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Renameat(fromfd int, from string, tofd int, to string) (err error) {
-@@ -1179,13 +1802,18 @@ func Renameat(fromfd int, from string, tofd int, to string) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0)
-+	_, _, e1 := syscall_syscall6(funcPC(libc_renameat_trampoline), uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_renameat_trampoline()
-+
-+//go:linkname libc_renameat libc_renameat
-+//go:cgo_import_dynamic libc_renameat renameat "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Revoke(path string) (err error) {
-@@ -1194,13 +1822,18 @@ func Revoke(path string) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_revoke_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_revoke_trampoline()
-+
-+//go:linkname libc_revoke libc_revoke
-+//go:cgo_import_dynamic libc_revoke revoke "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Rmdir(path string) (err error) {
-@@ -1209,17 +1842,22 @@ func Rmdir(path string) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_rmdir_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_rmdir_trampoline()
-+
-+//go:linkname libc_rmdir libc_rmdir
-+//go:cgo_import_dynamic libc_rmdir rmdir "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Seek(fd int, offset int64, whence int) (newoffset int64, err error) {
--	r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence))
-+	r0, _, e1 := syscall_syscall(funcPC(libc_lseek_trampoline), uintptr(fd), uintptr(offset), uintptr(whence))
- 	newoffset = int64(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -1227,46 +1865,72 @@ func Seek(fd int, offset int64, whence int) (newoffset int64, err error) {
- 	return
- }
- 
-+func libc_lseek_trampoline()
-+
-+//go:linkname libc_lseek libc_lseek
-+//go:cgo_import_dynamic libc_lseek lseek "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) {
--	_, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)
-+func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) {
-+	r0, _, e1 := syscall_syscall6(funcPC(libc_select_trampoline), uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)
-+	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_select_trampoline()
-+
-+//go:linkname libc_select libc_select
-+//go:cgo_import_dynamic libc_select select "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Setegid(egid int) (err error) {
--	_, _, e1 := Syscall(SYS_SETEGID, uintptr(egid), 0, 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_setegid_trampoline), uintptr(egid), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_setegid_trampoline()
-+
-+//go:linkname libc_setegid libc_setegid
-+//go:cgo_import_dynamic libc_setegid setegid "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Seteuid(euid int) (err error) {
--	_, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0)
-+	_, _, e1 := syscall_rawSyscall(funcPC(libc_seteuid_trampoline), uintptr(euid), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_seteuid_trampoline()
-+
-+//go:linkname libc_seteuid libc_seteuid
-+//go:cgo_import_dynamic libc_seteuid seteuid "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Setgid(gid int) (err error) {
--	_, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0)
-+	_, _, e1 := syscall_rawSyscall(funcPC(libc_setgid_trampoline), uintptr(gid), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_setgid_trampoline()
-+
-+//go:linkname libc_setgid libc_setgid
-+//go:cgo_import_dynamic libc_setgid setgid "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Setlogin(name string) (err error) {
-@@ -1275,77 +1939,112 @@ func Setlogin(name string) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_setlogin_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_setlogin_trampoline()
-+
-+//go:linkname libc_setlogin libc_setlogin
-+//go:cgo_import_dynamic libc_setlogin setlogin "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Setpgid(pid int, pgid int) (err error) {
--	_, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0)
-+	_, _, e1 := syscall_rawSyscall(funcPC(libc_setpgid_trampoline), uintptr(pid), uintptr(pgid), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_setpgid_trampoline()
-+
-+//go:linkname libc_setpgid libc_setpgid
-+//go:cgo_import_dynamic libc_setpgid setpgid "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Setpriority(which int, who int, prio int) (err error) {
--	_, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio))
-+	_, _, e1 := syscall_syscall(funcPC(libc_setpriority_trampoline), uintptr(which), uintptr(who), uintptr(prio))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_setpriority_trampoline()
-+
-+//go:linkname libc_setpriority libc_setpriority
-+//go:cgo_import_dynamic libc_setpriority setpriority "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Setprivexec(flag int) (err error) {
--	_, _, e1 := Syscall(SYS_SETPRIVEXEC, uintptr(flag), 0, 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_setprivexec_trampoline), uintptr(flag), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_setprivexec_trampoline()
-+
-+//go:linkname libc_setprivexec libc_setprivexec
-+//go:cgo_import_dynamic libc_setprivexec setprivexec "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Setregid(rgid int, egid int) (err error) {
--	_, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0)
-+	_, _, e1 := syscall_rawSyscall(funcPC(libc_setregid_trampoline), uintptr(rgid), uintptr(egid), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_setregid_trampoline()
-+
-+//go:linkname libc_setregid libc_setregid
-+//go:cgo_import_dynamic libc_setregid setregid "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Setreuid(ruid int, euid int) (err error) {
--	_, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0)
-+	_, _, e1 := syscall_rawSyscall(funcPC(libc_setreuid_trampoline), uintptr(ruid), uintptr(euid), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_setreuid_trampoline()
-+
-+//go:linkname libc_setreuid libc_setreuid
-+//go:cgo_import_dynamic libc_setreuid setreuid "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Setrlimit(which int, lim *Rlimit) (err error) {
--	_, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)
-+	_, _, e1 := syscall_rawSyscall(funcPC(libc_setrlimit_trampoline), uintptr(which), uintptr(unsafe.Pointer(lim)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_setrlimit_trampoline()
-+
-+//go:linkname libc_setrlimit libc_setrlimit
-+//go:cgo_import_dynamic libc_setrlimit setrlimit "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Setsid() (pid int, err error) {
--	r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0)
-+	r0, _, e1 := syscall_rawSyscall(funcPC(libc_setsid_trampoline), 0, 0, 0)
- 	pid = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -1353,55 +2052,40 @@ func Setsid() (pid int, err error) {
- 	return
- }
- 
-+func libc_setsid_trampoline()
-+
-+//go:linkname libc_setsid libc_setsid
-+//go:cgo_import_dynamic libc_setsid setsid "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Settimeofday(tp *Timeval) (err error) {
--	_, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0)
-+	_, _, e1 := syscall_rawSyscall(funcPC(libc_settimeofday_trampoline), uintptr(unsafe.Pointer(tp)), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+func libc_settimeofday_trampoline()
- 
--func Setuid(uid int) (err error) {
--	_, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
-+//go:linkname libc_settimeofday libc_settimeofday
-+//go:cgo_import_dynamic libc_settimeofday settimeofday "/usr/lib/libSystem.B.dylib"
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Stat(path string, stat *Stat_t) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_STAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
-+func Setuid(uid int) (err error) {
-+	_, _, e1 := syscall_rawSyscall(funcPC(libc_setuid_trampoline), uintptr(uid), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+func libc_setuid_trampoline()
- 
--func Statfs(path string, stat *Statfs_t) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_STATFS64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
-+//go:linkname libc_setuid libc_setuid
-+//go:cgo_import_dynamic libc_setuid setuid "/usr/lib/libSystem.B.dylib"
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-@@ -1416,13 +2100,18 @@ func Symlink(path string, link string) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_symlink_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_symlink_trampoline()
-+
-+//go:linkname libc_symlink libc_symlink
-+//go:cgo_import_dynamic libc_symlink symlink "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) {
-@@ -1436,23 +2125,33 @@ func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)))
-+	_, _, e1 := syscall_syscall(funcPC(libc_symlinkat_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_symlinkat_trampoline()
-+
-+//go:linkname libc_symlinkat libc_symlinkat
-+//go:cgo_import_dynamic libc_symlinkat symlinkat "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Sync() (err error) {
--	_, _, e1 := Syscall(SYS_SYNC, 0, 0, 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_sync_trampoline), 0, 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_sync_trampoline()
-+
-+//go:linkname libc_sync libc_sync
-+//go:cgo_import_dynamic libc_sync sync "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Truncate(path string, length int64) (err error) {
-@@ -1461,21 +2160,31 @@ func Truncate(path string, length int64) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_truncate_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(length), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_truncate_trampoline()
-+
-+//go:linkname libc_truncate libc_truncate
-+//go:cgo_import_dynamic libc_truncate truncate "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Umask(newmask int) (oldmask int) {
--	r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0)
-+	r0, _, _ := syscall_syscall(funcPC(libc_umask_trampoline), uintptr(newmask), 0, 0)
- 	oldmask = int(r0)
- 	return
- }
- 
-+func libc_umask_trampoline()
-+
-+//go:linkname libc_umask libc_umask
-+//go:cgo_import_dynamic libc_umask umask "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Undelete(path string) (err error) {
-@@ -1484,13 +2193,18 @@ func Undelete(path string) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(_p0)), 0, 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_undelete_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_undelete_trampoline()
-+
-+//go:linkname libc_undelete libc_undelete
-+//go:cgo_import_dynamic libc_undelete undelete "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Unlink(path string) (err error) {
-@@ -1499,13 +2213,18 @@ func Unlink(path string) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_unlink_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_unlink_trampoline()
-+
-+//go:linkname libc_unlink libc_unlink
-+//go:cgo_import_dynamic libc_unlink unlink "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Unlinkat(dirfd int, path string, flags int) (err error) {
-@@ -1514,13 +2233,18 @@ func Unlinkat(dirfd int, path string, flags int) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags))
-+	_, _, e1 := syscall_syscall(funcPC(libc_unlinkat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_unlinkat_trampoline()
-+
-+//go:linkname libc_unlinkat libc_unlinkat
-+//go:cgo_import_dynamic libc_unlinkat unlinkat "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Unmount(path string, flags int) (err error) {
-@@ -1529,13 +2253,18 @@ func Unmount(path string, flags int) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_unmount_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_unmount_trampoline()
-+
-+//go:linkname libc_unmount libc_unmount
-+//go:cgo_import_dynamic libc_unmount unmount "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func write(fd int, p []byte) (n int, err error) {
-@@ -1545,7 +2274,7 @@ func write(fd int, p []byte) (n int, err error) {
- 	} else {
- 		_p0 = unsafe.Pointer(&_zero)
- 	}
--	r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)))
-+	r0, _, e1 := syscall_syscall(funcPC(libc_write_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p)))
- 	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -1553,10 +2282,15 @@ func write(fd int, p []byte) (n int, err error) {
- 	return
- }
- 
-+func libc_write_trampoline()
-+
-+//go:linkname libc_write libc_write
-+//go:cgo_import_dynamic libc_write write "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) {
--	r0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos))
-+	r0, _, e1 := syscall_syscall6(funcPC(libc_mmap_trampoline), uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos))
- 	ret = uintptr(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -1564,20 +2298,30 @@ func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (
- 	return
- }
- 
-+func libc_mmap_trampoline()
-+
-+//go:linkname libc_mmap libc_mmap
-+//go:cgo_import_dynamic libc_mmap mmap "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func munmap(addr uintptr, length uintptr) (err error) {
--	_, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0)
-+	_, _, e1 := syscall_syscall(funcPC(libc_munmap_trampoline), uintptr(addr), uintptr(length), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
- 	return
- }
- 
-+func libc_munmap_trampoline()
-+
-+//go:linkname libc_munmap libc_munmap
-+//go:cgo_import_dynamic libc_munmap munmap "/usr/lib/libSystem.B.dylib"
-+
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func readlen(fd int, buf *byte, nbuf int) (n int, err error) {
--	r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf))
-+	r0, _, e1 := syscall_syscall(funcPC(libc_read_trampoline), uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf))
- 	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -1588,7 +2332,7 @@ func readlen(fd int, buf *byte, nbuf int) (n int, err error) {
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func writelen(fd int, buf *byte, nbuf int) (n int, err error) {
--	r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf))
-+	r0, _, e1 := syscall_syscall(funcPC(libc_write_trampoline), uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf))
- 	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -1599,7 +2343,7 @@ func writelen(fd int, buf *byte, nbuf int) (n int, err error) {
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func gettimeofday(tp *Timeval) (sec int64, usec int32, err error) {
--	r0, r1, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0)
-+	r0, r1, e1 := syscall_rawSyscall(funcPC(libc_gettimeofday_trampoline), uintptr(unsafe.Pointer(tp)), 0, 0)
- 	sec = int64(r0)
- 	usec = int32(r1)
- 	if e1 != 0 {
-@@ -1607,3 +2351,134 @@ func gettimeofday(tp *Timeval) (sec int64, usec int32, err error) {
- 	}
- 	return
- }
-+
-+func libc_gettimeofday_trampoline()
-+
-+//go:linkname libc_gettimeofday libc_gettimeofday
-+//go:cgo_import_dynamic libc_gettimeofday gettimeofday "/usr/lib/libSystem.B.dylib"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Fstat(fd int, stat *Stat_t) (err error) {
-+	_, _, e1 := syscall_syscall(funcPC(libc_fstat_trampoline), uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+func libc_fstat_trampoline()
-+
-+//go:linkname libc_fstat libc_fstat
-+//go:cgo_import_dynamic libc_fstat fstat "/usr/lib/libSystem.B.dylib"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := syscall_syscall6(funcPC(libc_fstatat_trampoline), uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+func libc_fstatat_trampoline()
-+
-+//go:linkname libc_fstatat libc_fstatat
-+//go:cgo_import_dynamic libc_fstatat fstatat "/usr/lib/libSystem.B.dylib"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Fstatfs(fd int, stat *Statfs_t) (err error) {
-+	_, _, e1 := syscall_syscall(funcPC(libc_fstatfs_trampoline), uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+func libc_fstatfs_trampoline()
-+
-+//go:linkname libc_fstatfs libc_fstatfs
-+//go:cgo_import_dynamic libc_fstatfs fstatfs "/usr/lib/libSystem.B.dylib"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func getfsstat(buf unsafe.Pointer, size uintptr, flags int) (n int, err error) {
-+	r0, _, e1 := syscall_syscall(funcPC(libc_getfsstat_trampoline), uintptr(buf), uintptr(size), uintptr(flags))
-+	n = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+func libc_getfsstat_trampoline()
-+
-+//go:linkname libc_getfsstat libc_getfsstat
-+//go:cgo_import_dynamic libc_getfsstat getfsstat "/usr/lib/libSystem.B.dylib"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Lstat(path string, stat *Stat_t) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := syscall_syscall(funcPC(libc_lstat_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+func libc_lstat_trampoline()
-+
-+//go:linkname libc_lstat libc_lstat
-+//go:cgo_import_dynamic libc_lstat lstat "/usr/lib/libSystem.B.dylib"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Stat(path string, stat *Stat_t) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := syscall_syscall(funcPC(libc_stat_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+func libc_stat_trampoline()
-+
-+//go:linkname libc_stat libc_stat
-+//go:cgo_import_dynamic libc_stat stat "/usr/lib/libSystem.B.dylib"
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Statfs(path string, stat *Statfs_t) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := syscall_syscall(funcPC(libc_statfs_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+func libc_statfs_trampoline()
-+
-+//go:linkname libc_statfs libc_statfs
-+//go:cgo_import_dynamic libc_statfs statfs "/usr/lib/libSystem.B.dylib"
-diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.s b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.s
-new file mode 100644
-index 00000000..40cce1bb
---- /dev/null
-+++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.s
-@@ -0,0 +1,282 @@
-+// go run mkasm_darwin.go arm64
-+// Code generated by the command above; DO NOT EDIT.
-+
-+// +build go1.12
-+
-+#include "textflag.h"
-+TEXT ·libc_getgroups_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_getgroups(SB)
-+TEXT ·libc_setgroups_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_setgroups(SB)
-+TEXT ·libc_wait4_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_wait4(SB)
-+TEXT ·libc_accept_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_accept(SB)
-+TEXT ·libc_bind_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_bind(SB)
-+TEXT ·libc_connect_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_connect(SB)
-+TEXT ·libc_socket_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_socket(SB)
-+TEXT ·libc_getsockopt_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_getsockopt(SB)
-+TEXT ·libc_setsockopt_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_setsockopt(SB)
-+TEXT ·libc_getpeername_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_getpeername(SB)
-+TEXT ·libc_getsockname_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_getsockname(SB)
-+TEXT ·libc_shutdown_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_shutdown(SB)
-+TEXT ·libc_socketpair_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_socketpair(SB)
-+TEXT ·libc_recvfrom_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_recvfrom(SB)
-+TEXT ·libc_sendto_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_sendto(SB)
-+TEXT ·libc_recvmsg_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_recvmsg(SB)
-+TEXT ·libc_sendmsg_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_sendmsg(SB)
-+TEXT ·libc_kevent_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_kevent(SB)
-+TEXT ·libc_utimes_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_utimes(SB)
-+TEXT ·libc_futimes_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_futimes(SB)
-+TEXT ·libc_poll_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_poll(SB)
-+TEXT ·libc_madvise_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_madvise(SB)
-+TEXT ·libc_mlock_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_mlock(SB)
-+TEXT ·libc_mlockall_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_mlockall(SB)
-+TEXT ·libc_mprotect_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_mprotect(SB)
-+TEXT ·libc_msync_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_msync(SB)
-+TEXT ·libc_munlock_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_munlock(SB)
-+TEXT ·libc_munlockall_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_munlockall(SB)
-+TEXT ·libc_getattrlist_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_getattrlist(SB)
-+TEXT ·libc_pipe_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_pipe(SB)
-+TEXT ·libc_getxattr_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_getxattr(SB)
-+TEXT ·libc_fgetxattr_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_fgetxattr(SB)
-+TEXT ·libc_setxattr_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_setxattr(SB)
-+TEXT ·libc_fsetxattr_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_fsetxattr(SB)
-+TEXT ·libc_removexattr_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_removexattr(SB)
-+TEXT ·libc_fremovexattr_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_fremovexattr(SB)
-+TEXT ·libc_listxattr_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_listxattr(SB)
-+TEXT ·libc_flistxattr_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_flistxattr(SB)
-+TEXT ·libc_setattrlist_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_setattrlist(SB)
-+TEXT ·libc_fcntl_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_fcntl(SB)
-+TEXT ·libc_kill_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_kill(SB)
-+TEXT ·libc_ioctl_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_ioctl(SB)
-+TEXT ·libc_sysctl_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_sysctl(SB)
-+TEXT ·libc_sendfile_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_sendfile(SB)
-+TEXT ·libc_access_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_access(SB)
-+TEXT ·libc_adjtime_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_adjtime(SB)
-+TEXT ·libc_chdir_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_chdir(SB)
-+TEXT ·libc_chflags_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_chflags(SB)
-+TEXT ·libc_chmod_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_chmod(SB)
-+TEXT ·libc_chown_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_chown(SB)
-+TEXT ·libc_chroot_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_chroot(SB)
-+TEXT ·libc_clock_gettime_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_clock_gettime(SB)
-+TEXT ·libc_close_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_close(SB)
-+TEXT ·libc_dup_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_dup(SB)
-+TEXT ·libc_dup2_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_dup2(SB)
-+TEXT ·libc_exchangedata_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_exchangedata(SB)
-+TEXT ·libc_exit_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_exit(SB)
-+TEXT ·libc_faccessat_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_faccessat(SB)
-+TEXT ·libc_fchdir_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_fchdir(SB)
-+TEXT ·libc_fchflags_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_fchflags(SB)
-+TEXT ·libc_fchmod_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_fchmod(SB)
-+TEXT ·libc_fchmodat_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_fchmodat(SB)
-+TEXT ·libc_fchown_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_fchown(SB)
-+TEXT ·libc_fchownat_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_fchownat(SB)
-+TEXT ·libc_flock_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_flock(SB)
-+TEXT ·libc_fpathconf_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_fpathconf(SB)
-+TEXT ·libc_fsync_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_fsync(SB)
-+TEXT ·libc_ftruncate_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_ftruncate(SB)
-+TEXT ·libc_getdtablesize_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_getdtablesize(SB)
-+TEXT ·libc_getegid_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_getegid(SB)
-+TEXT ·libc_geteuid_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_geteuid(SB)
-+TEXT ·libc_getgid_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_getgid(SB)
-+TEXT ·libc_getpgid_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_getpgid(SB)
-+TEXT ·libc_getpgrp_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_getpgrp(SB)
-+TEXT ·libc_getpid_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_getpid(SB)
-+TEXT ·libc_getppid_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_getppid(SB)
-+TEXT ·libc_getpriority_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_getpriority(SB)
-+TEXT ·libc_getrlimit_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_getrlimit(SB)
-+TEXT ·libc_getrusage_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_getrusage(SB)
-+TEXT ·libc_getsid_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_getsid(SB)
-+TEXT ·libc_getuid_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_getuid(SB)
-+TEXT ·libc_issetugid_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_issetugid(SB)
-+TEXT ·libc_kqueue_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_kqueue(SB)
-+TEXT ·libc_lchown_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_lchown(SB)
-+TEXT ·libc_link_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_link(SB)
-+TEXT ·libc_linkat_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_linkat(SB)
-+TEXT ·libc_listen_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_listen(SB)
-+TEXT ·libc_mkdir_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_mkdir(SB)
-+TEXT ·libc_mkdirat_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_mkdirat(SB)
-+TEXT ·libc_mkfifo_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_mkfifo(SB)
-+TEXT ·libc_mknod_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_mknod(SB)
-+TEXT ·libc_open_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_open(SB)
-+TEXT ·libc_openat_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_openat(SB)
-+TEXT ·libc_pathconf_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_pathconf(SB)
-+TEXT ·libc_pread_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_pread(SB)
-+TEXT ·libc_pwrite_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_pwrite(SB)
-+TEXT ·libc_read_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_read(SB)
-+TEXT ·libc_readlink_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_readlink(SB)
-+TEXT ·libc_readlinkat_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_readlinkat(SB)
-+TEXT ·libc_rename_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_rename(SB)
-+TEXT ·libc_renameat_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_renameat(SB)
-+TEXT ·libc_revoke_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_revoke(SB)
-+TEXT ·libc_rmdir_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_rmdir(SB)
-+TEXT ·libc_lseek_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_lseek(SB)
-+TEXT ·libc_select_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_select(SB)
-+TEXT ·libc_setegid_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_setegid(SB)
-+TEXT ·libc_seteuid_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_seteuid(SB)
-+TEXT ·libc_setgid_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_setgid(SB)
-+TEXT ·libc_setlogin_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_setlogin(SB)
-+TEXT ·libc_setpgid_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_setpgid(SB)
-+TEXT ·libc_setpriority_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_setpriority(SB)
-+TEXT ·libc_setprivexec_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_setprivexec(SB)
-+TEXT ·libc_setregid_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_setregid(SB)
-+TEXT ·libc_setreuid_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_setreuid(SB)
-+TEXT ·libc_setrlimit_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_setrlimit(SB)
-+TEXT ·libc_setsid_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_setsid(SB)
-+TEXT ·libc_settimeofday_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_settimeofday(SB)
-+TEXT ·libc_setuid_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_setuid(SB)
-+TEXT ·libc_symlink_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_symlink(SB)
-+TEXT ·libc_symlinkat_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_symlinkat(SB)
-+TEXT ·libc_sync_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_sync(SB)
-+TEXT ·libc_truncate_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_truncate(SB)
-+TEXT ·libc_umask_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_umask(SB)
-+TEXT ·libc_undelete_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_undelete(SB)
-+TEXT ·libc_unlink_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_unlink(SB)
-+TEXT ·libc_unlinkat_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_unlinkat(SB)
-+TEXT ·libc_unmount_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_unmount(SB)
-+TEXT ·libc_write_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_write(SB)
-+TEXT ·libc_mmap_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_mmap(SB)
-+TEXT ·libc_munmap_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_munmap(SB)
-+TEXT ·libc_gettimeofday_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_gettimeofday(SB)
-+TEXT ·libc_fstat_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_fstat(SB)
-+TEXT ·libc_fstatat_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_fstatat(SB)
-+TEXT ·libc_fstatfs_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_fstatfs(SB)
-+TEXT ·libc_getfsstat_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_getfsstat(SB)
-+TEXT ·libc_lstat_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_lstat(SB)
-+TEXT ·libc_stat_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_stat(SB)
-+TEXT ·libc_statfs_trampoline(SB),NOSPLIT,$0-0
-+	JMP	libc_statfs(SB)
-diff --git a/vendor/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go
-index 7fa205cd..fe1fdd78 100644
---- a/vendor/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go
-+++ b/vendor/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go
-@@ -1,4 +1,4 @@
--// mksyscall.pl -dragonfly -tags dragonfly,amd64 syscall_bsd.go syscall_dragonfly.go syscall_dragonfly_amd64.go
-+// go run mksyscall.go -dragonfly -tags dragonfly,amd64 syscall_bsd.go syscall_dragonfly.go syscall_dragonfly_amd64.go
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- // +build dragonfly,amd64
-@@ -255,9 +255,9 @@ func futimes(fd int, timeval *[2]Timeval) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func fcntl(fd int, cmd int, arg int) (val int, err error) {
--	r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg))
--	val = int(r0)
-+func poll(fds *PollFd, nfds int, timeout int) (n int, err error) {
-+	r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout))
-+	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -412,6 +412,33 @@ func extpwrite(fd int, p []byte, flags int, offset int64) (n int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Getcwd(buf []byte) (n int, err error) {
-+	var _p0 unsafe.Pointer
-+	if len(buf) > 0 {
-+		_p0 = unsafe.Pointer(&buf[0])
-+	} else {
-+		_p0 = unsafe.Pointer(&_zero)
-+	}
-+	r0, _, e1 := Syscall(SYS___GETCWD, uintptr(_p0), uintptr(len(buf)), 0)
-+	n = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func ioctl(fd int, req uint, arg uintptr) (err error) {
-+	_, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Access(path string, mode uint32) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -550,6 +577,21 @@ func Exit(code int) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Fchdir(fd int) (err error) {
- 	_, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0)
- 	if e1 != 0 {
-@@ -580,6 +622,21 @@ func Fchmod(fd int, mode uint32) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Fchown(fd int, uid int, gid int) (err error) {
- 	_, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid))
- 	if e1 != 0 {
-@@ -590,6 +647,21 @@ func Fchown(fd int, uid int, gid int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Flock(fd int, how int) (err error) {
- 	_, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0)
- 	if e1 != 0 {
-@@ -621,6 +693,21 @@ func Fstat(fd int, stat *Stat_t) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Fstatfs(fd int, stat *Statfs_t) (err error) {
- 	_, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)
- 	if e1 != 0 {
-@@ -651,6 +738,23 @@ func Ftruncate(fd int, length int64) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Getdents(fd int, buf []byte) (n int, err error) {
-+	var _p0 unsafe.Pointer
-+	if len(buf) > 0 {
-+		_p0 = unsafe.Pointer(&buf[0])
-+	} else {
-+		_p0 = unsafe.Pointer(&_zero)
-+	}
-+	r0, _, e1 := Syscall(SYS_GETDENTS, uintptr(fd), uintptr(_p0), uintptr(len(buf)))
-+	n = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {
- 	var _p0 unsafe.Pointer
- 	if len(buf) > 0 {
-@@ -859,6 +963,26 @@ func Link(path string, link string) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	var _p1 *byte
-+	_p1, err = BytePtrFromString(link)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Listen(s int, backlog int) (err error) {
- 	_, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0)
- 	if e1 != 0 {
-@@ -899,6 +1023,21 @@ func Mkdir(path string, mode uint32) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Mkdirat(dirfd int, path string, mode uint32) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Mkfifo(path string, mode uint32) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -929,6 +1068,21 @@ func Mknod(path string, mode uint32, dev int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Mknodat(fd int, path string, mode uint32, dev int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_MKNODAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Nanosleep(time *Timespec, leftover *Timespec) (err error) {
- 	_, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0)
- 	if e1 != 0 {
-@@ -955,6 +1109,22 @@ func Open(path string, mode int, perm uint32) (fd int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0)
-+	fd = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Pathconf(path string, name int) (val int, err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -1030,6 +1200,26 @@ func Rename(from string, to string) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Renameat(fromfd int, from string, tofd int, to string) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(from)
-+	if err != nil {
-+		return
-+	}
-+	var _p1 *byte
-+	_p1, err = BytePtrFromString(to)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Revoke(path string) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -1071,8 +1261,9 @@ func Seek(fd int, offset int64, whence int) (newoffset int64, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) {
--	_, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)
-+func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) {
-+	r0, _, e1 := Syscall6(SYS_SELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)
-+	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1277,6 +1468,26 @@ func Symlink(path string, link string) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(oldpath)
-+	if err != nil {
-+		return
-+	}
-+	var _p1 *byte
-+	_p1, err = BytePtrFromString(newpath)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Sync() (err error) {
- 	_, _, e1 := Syscall(SYS_SYNC, 0, 0, 0)
- 	if e1 != 0 {
-@@ -1340,6 +1551,21 @@ func Unlink(path string) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Unlinkat(dirfd int, path string, flags int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Unmount(path string, flags int) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-diff --git a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go
-index 1a0bb4cb..600f1d26 100644
---- a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go
-+++ b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go
-@@ -1,4 +1,4 @@
--// mksyscall.pl -l32 -tags freebsd,386 syscall_bsd.go syscall_freebsd.go syscall_freebsd_386.go
-+// go run mksyscall.go -l32 -tags freebsd,386 syscall_bsd.go syscall_freebsd.go syscall_freebsd_386.go
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- // +build freebsd,386
-@@ -214,22 +214,6 @@ func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, ne
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) {
--	var _p0 unsafe.Pointer
--	if len(mib) > 0 {
--		_p0 = unsafe.Pointer(&mib[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
- func utimes(path string, timeval *[2]Timeval) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -255,9 +239,9 @@ func futimes(fd int, timeval *[2]Timeval) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func fcntl(fd int, cmd int, arg int) (val int, err error) {
--	r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg))
--	val = int(r0)
-+func poll(fds *PollFd, nfds int, timeout int) (n int, err error) {
-+	r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout))
-+	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -366,10 +350,25 @@ func Munlockall() (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func pipe() (r int, w int, err error) {
--	r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0)
--	r = int(r0)
--	w = int(r1)
-+func pipe2(p *[2]_C_int, flags int) (err error) {
-+	_, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Getcwd(buf []byte) (n int, err error) {
-+	var _p0 unsafe.Pointer
-+	if len(buf) > 0 {
-+		_p0 = unsafe.Pointer(&buf[0])
-+	} else {
-+		_p0 = unsafe.Pointer(&_zero)
-+	}
-+	r0, _, e1 := Syscall(SYS___GETCWD, uintptr(_p0), uintptr(len(buf)), 0)
-+	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -388,6 +387,32 @@ func ioctl(fd int, req uint, arg uintptr) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) {
-+	var _p0 unsafe.Pointer
-+	if len(mib) > 0 {
-+		_p0 = unsafe.Pointer(&mib[0])
-+	} else {
-+		_p0 = unsafe.Pointer(&_zero)
-+	}
-+	_, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func ptrace(request int, pid int, addr uintptr, data int) (err error) {
-+	_, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Access(path string, mode uint32) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -886,7 +911,7 @@ func Fpathconf(fd int, name int) (val int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Fstat(fd int, stat *Stat_t) (err error) {
-+func fstat(fd int, stat *stat_freebsd11_t) (err error) {
- 	_, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -896,7 +921,47 @@ func Fstat(fd int, stat *Stat_t) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Fstatfs(fd int, stat *Statfs_t) (err error) {
-+func fstat_freebsd12(fd int, stat *Stat_t) (err error) {
-+	_, _, e1 := Syscall(SYS_FSTAT_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func fstatat(fd int, path string, stat *stat_freebsd11_t, flags int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func fstatat_freebsd12(fd int, path string, stat *Stat_t, flags int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_FSTATAT_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func fstatfs(fd int, stat *statfs_freebsd11_t) (err error) {
- 	_, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -906,6 +971,16 @@ func Fstatfs(fd int, stat *Statfs_t) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func fstatfs_freebsd12(fd int, stat *Statfs_t) (err error) {
-+	_, _, e1 := Syscall(SYS_FSTATFS_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Fsync(fd int) (err error) {
- 	_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)
- 	if e1 != 0 {
-@@ -926,7 +1001,7 @@ func Ftruncate(fd int, length int64) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {
-+func getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {
- 	var _p0 unsafe.Pointer
- 	if len(buf) > 0 {
- 		_p0 = unsafe.Pointer(&buf[0])
-@@ -943,6 +1018,23 @@ func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func getdirentries_freebsd12(fd int, buf []byte, basep *uint64) (n int, err error) {
-+	var _p0 unsafe.Pointer
-+	if len(buf) > 0 {
-+		_p0 = unsafe.Pointer(&buf[0])
-+	} else {
-+		_p0 = unsafe.Pointer(&_zero)
-+	}
-+	r0, _, e1 := Syscall6(SYS_GETDIRENTRIES_FREEBSD12, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0)
-+	n = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Getdtablesize() (size int) {
- 	r0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0)
- 	size = int(r0)
-@@ -1164,7 +1256,7 @@ func Listen(s int, backlog int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Lstat(path string, stat *Stat_t) (err error) {
-+func lstat(path string, stat *stat_freebsd11_t) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
- 	if err != nil {
-@@ -1224,7 +1316,7 @@ func Mkfifo(path string, mode uint32) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Mknod(path string, mode uint32, dev int) (err error) {
-+func mknod(path string, mode uint32, dev int) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
- 	if err != nil {
-@@ -1239,6 +1331,36 @@ func Mknod(path string, mode uint32, dev int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func mknodat(fd int, path string, mode uint32, dev int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_MKNODAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func mknodat_freebsd12(fd int, path string, mode uint32, dev uint64) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_MKNODAT_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), uintptr(dev>>32), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Nanosleep(time *Timespec, leftover *Timespec) (err error) {
- 	_, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0)
- 	if e1 != 0 {
-@@ -1473,8 +1595,9 @@ func Seek(fd int, offset int64, whence int) (newoffset int64, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) {
--	_, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)
-+func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) {
-+	r0, _, e1 := Syscall6(SYS_SELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)
-+	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1629,7 +1752,7 @@ func Setuid(uid int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Stat(path string, stat *Stat_t) (err error) {
-+func stat(path string, stat *stat_freebsd11_t) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
- 	if err != nil {
-@@ -1644,7 +1767,7 @@ func Stat(path string, stat *Stat_t) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Statfs(path string, stat *Statfs_t) (err error) {
-+func statfs(path string, stat *statfs_freebsd11_t) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
- 	if err != nil {
-@@ -1659,6 +1782,21 @@ func Statfs(path string, stat *Statfs_t) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func statfs_freebsd12(path string, stat *Statfs_t) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall(SYS_STATFS_FREEBSD12, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Symlink(path string, link string) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-diff --git a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go
-index ac1e8e01..064934b0 100644
---- a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go
-+++ b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go
-@@ -1,4 +1,4 @@
--// mksyscall.pl -tags freebsd,amd64 syscall_bsd.go syscall_freebsd.go syscall_freebsd_amd64.go
-+// go run mksyscall.go -tags freebsd,amd64 syscall_bsd.go syscall_freebsd.go syscall_freebsd_amd64.go
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- // +build freebsd,amd64
-@@ -214,22 +214,6 @@ func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, ne
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) {
--	var _p0 unsafe.Pointer
--	if len(mib) > 0 {
--		_p0 = unsafe.Pointer(&mib[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
- func utimes(path string, timeval *[2]Timeval) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -255,9 +239,9 @@ func futimes(fd int, timeval *[2]Timeval) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func fcntl(fd int, cmd int, arg int) (val int, err error) {
--	r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg))
--	val = int(r0)
-+func poll(fds *PollFd, nfds int, timeout int) (n int, err error) {
-+	r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout))
-+	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -366,10 +350,25 @@ func Munlockall() (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func pipe() (r int, w int, err error) {
--	r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0)
--	r = int(r0)
--	w = int(r1)
-+func pipe2(p *[2]_C_int, flags int) (err error) {
-+	_, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Getcwd(buf []byte) (n int, err error) {
-+	var _p0 unsafe.Pointer
-+	if len(buf) > 0 {
-+		_p0 = unsafe.Pointer(&buf[0])
-+	} else {
-+		_p0 = unsafe.Pointer(&_zero)
-+	}
-+	r0, _, e1 := Syscall(SYS___GETCWD, uintptr(_p0), uintptr(len(buf)), 0)
-+	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -388,6 +387,32 @@ func ioctl(fd int, req uint, arg uintptr) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) {
-+	var _p0 unsafe.Pointer
-+	if len(mib) > 0 {
-+		_p0 = unsafe.Pointer(&mib[0])
-+	} else {
-+		_p0 = unsafe.Pointer(&_zero)
-+	}
-+	_, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func ptrace(request int, pid int, addr uintptr, data int) (err error) {
-+	_, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Access(path string, mode uint32) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -886,7 +911,7 @@ func Fpathconf(fd int, name int) (val int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Fstat(fd int, stat *Stat_t) (err error) {
-+func fstat(fd int, stat *stat_freebsd11_t) (err error) {
- 	_, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -896,7 +921,47 @@ func Fstat(fd int, stat *Stat_t) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Fstatfs(fd int, stat *Statfs_t) (err error) {
-+func fstat_freebsd12(fd int, stat *Stat_t) (err error) {
-+	_, _, e1 := Syscall(SYS_FSTAT_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func fstatat(fd int, path string, stat *stat_freebsd11_t, flags int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func fstatat_freebsd12(fd int, path string, stat *Stat_t, flags int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_FSTATAT_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func fstatfs(fd int, stat *statfs_freebsd11_t) (err error) {
- 	_, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -906,6 +971,16 @@ func Fstatfs(fd int, stat *Statfs_t) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func fstatfs_freebsd12(fd int, stat *Statfs_t) (err error) {
-+	_, _, e1 := Syscall(SYS_FSTATFS_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Fsync(fd int) (err error) {
- 	_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)
- 	if e1 != 0 {
-@@ -926,7 +1001,7 @@ func Ftruncate(fd int, length int64) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {
-+func getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {
- 	var _p0 unsafe.Pointer
- 	if len(buf) > 0 {
- 		_p0 = unsafe.Pointer(&buf[0])
-@@ -943,6 +1018,23 @@ func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func getdirentries_freebsd12(fd int, buf []byte, basep *uint64) (n int, err error) {
-+	var _p0 unsafe.Pointer
-+	if len(buf) > 0 {
-+		_p0 = unsafe.Pointer(&buf[0])
-+	} else {
-+		_p0 = unsafe.Pointer(&_zero)
-+	}
-+	r0, _, e1 := Syscall6(SYS_GETDIRENTRIES_FREEBSD12, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0)
-+	n = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Getdtablesize() (size int) {
- 	r0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0)
- 	size = int(r0)
-@@ -1164,7 +1256,7 @@ func Listen(s int, backlog int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Lstat(path string, stat *Stat_t) (err error) {
-+func lstat(path string, stat *stat_freebsd11_t) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
- 	if err != nil {
-@@ -1224,7 +1316,7 @@ func Mkfifo(path string, mode uint32) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Mknod(path string, mode uint32, dev int) (err error) {
-+func mknod(path string, mode uint32, dev int) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
- 	if err != nil {
-@@ -1239,6 +1331,36 @@ func Mknod(path string, mode uint32, dev int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func mknodat(fd int, path string, mode uint32, dev int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_MKNODAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func mknodat_freebsd12(fd int, path string, mode uint32, dev uint64) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_MKNODAT_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Nanosleep(time *Timespec, leftover *Timespec) (err error) {
- 	_, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0)
- 	if e1 != 0 {
-@@ -1473,8 +1595,9 @@ func Seek(fd int, offset int64, whence int) (newoffset int64, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) {
--	_, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)
-+func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) {
-+	r0, _, e1 := Syscall6(SYS_SELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)
-+	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1629,7 +1752,7 @@ func Setuid(uid int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Stat(path string, stat *Stat_t) (err error) {
-+func stat(path string, stat *stat_freebsd11_t) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
- 	if err != nil {
-@@ -1644,7 +1767,7 @@ func Stat(path string, stat *Stat_t) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Statfs(path string, stat *Statfs_t) (err error) {
-+func statfs(path string, stat *statfs_freebsd11_t) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
- 	if err != nil {
-@@ -1659,6 +1782,21 @@ func Statfs(path string, stat *Statfs_t) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func statfs_freebsd12(path string, stat *Statfs_t) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall(SYS_STATFS_FREEBSD12, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Symlink(path string, link string) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-diff --git a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go
-index 2b4e6acf..31d2c461 100644
---- a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go
-+++ b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go
-@@ -1,4 +1,4 @@
--// mksyscall.pl -l32 -arm -tags freebsd,arm syscall_bsd.go syscall_freebsd.go syscall_freebsd_arm.go
-+// go run mksyscall.go -l32 -arm -tags freebsd,arm syscall_bsd.go syscall_freebsd.go syscall_freebsd_arm.go
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- // +build freebsd,arm
-@@ -214,22 +214,6 @@ func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, ne
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) {
--	var _p0 unsafe.Pointer
--	if len(mib) > 0 {
--		_p0 = unsafe.Pointer(&mib[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
- func utimes(path string, timeval *[2]Timeval) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -255,9 +239,9 @@ func futimes(fd int, timeval *[2]Timeval) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func fcntl(fd int, cmd int, arg int) (val int, err error) {
--	r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg))
--	val = int(r0)
-+func poll(fds *PollFd, nfds int, timeout int) (n int, err error) {
-+	r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout))
-+	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -366,10 +350,41 @@ func Munlockall() (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func pipe() (r int, w int, err error) {
--	r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0)
--	r = int(r0)
--	w = int(r1)
-+func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) {
-+	var _p0 unsafe.Pointer
-+	if len(mib) > 0 {
-+		_p0 = unsafe.Pointer(&mib[0])
-+	} else {
-+		_p0 = unsafe.Pointer(&_zero)
-+	}
-+	_, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func pipe2(p *[2]_C_int, flags int) (err error) {
-+	_, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Getcwd(buf []byte) (n int, err error) {
-+	var _p0 unsafe.Pointer
-+	if len(buf) > 0 {
-+		_p0 = unsafe.Pointer(&buf[0])
-+	} else {
-+		_p0 = unsafe.Pointer(&_zero)
-+	}
-+	r0, _, e1 := Syscall(SYS___GETCWD, uintptr(_p0), uintptr(len(buf)), 0)
-+	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -388,6 +403,16 @@ func ioctl(fd int, req uint, arg uintptr) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func ptrace(request int, pid int, addr uintptr, data int) (err error) {
-+	_, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Access(path string, mode uint32) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -886,7 +911,7 @@ func Fpathconf(fd int, name int) (val int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Fstat(fd int, stat *Stat_t) (err error) {
-+func fstat(fd int, stat *stat_freebsd11_t) (err error) {
- 	_, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -896,7 +921,47 @@ func Fstat(fd int, stat *Stat_t) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Fstatfs(fd int, stat *Statfs_t) (err error) {
-+func fstat_freebsd12(fd int, stat *Stat_t) (err error) {
-+	_, _, e1 := Syscall(SYS_FSTAT_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func fstatat(fd int, path string, stat *stat_freebsd11_t, flags int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func fstatat_freebsd12(fd int, path string, stat *Stat_t, flags int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_FSTATAT_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func fstatfs(fd int, stat *statfs_freebsd11_t) (err error) {
- 	_, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -906,6 +971,16 @@ func Fstatfs(fd int, stat *Statfs_t) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func fstatfs_freebsd12(fd int, stat *Statfs_t) (err error) {
-+	_, _, e1 := Syscall(SYS_FSTATFS_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Fsync(fd int) (err error) {
- 	_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)
- 	if e1 != 0 {
-@@ -926,7 +1001,7 @@ func Ftruncate(fd int, length int64) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {
-+func getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {
- 	var _p0 unsafe.Pointer
- 	if len(buf) > 0 {
- 		_p0 = unsafe.Pointer(&buf[0])
-@@ -943,6 +1018,23 @@ func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func getdirentries_freebsd12(fd int, buf []byte, basep *uint64) (n int, err error) {
-+	var _p0 unsafe.Pointer
-+	if len(buf) > 0 {
-+		_p0 = unsafe.Pointer(&buf[0])
-+	} else {
-+		_p0 = unsafe.Pointer(&_zero)
-+	}
-+	r0, _, e1 := Syscall6(SYS_GETDIRENTRIES_FREEBSD12, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0)
-+	n = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Getdtablesize() (size int) {
- 	r0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0)
- 	size = int(r0)
-@@ -1164,7 +1256,7 @@ func Listen(s int, backlog int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Lstat(path string, stat *Stat_t) (err error) {
-+func lstat(path string, stat *stat_freebsd11_t) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
- 	if err != nil {
-@@ -1224,7 +1316,7 @@ func Mkfifo(path string, mode uint32) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Mknod(path string, mode uint32, dev int) (err error) {
-+func mknod(path string, mode uint32, dev int) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
- 	if err != nil {
-@@ -1239,6 +1331,36 @@ func Mknod(path string, mode uint32, dev int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func mknodat(fd int, path string, mode uint32, dev int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_MKNODAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func mknodat_freebsd12(fd int, path string, mode uint32, dev uint64) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_MKNODAT_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Nanosleep(time *Timespec, leftover *Timespec) (err error) {
- 	_, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0)
- 	if e1 != 0 {
-@@ -1473,8 +1595,9 @@ func Seek(fd int, offset int64, whence int) (newoffset int64, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) {
--	_, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)
-+func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) {
-+	r0, _, e1 := Syscall6(SYS_SELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)
-+	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1629,7 +1752,7 @@ func Setuid(uid int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Stat(path string, stat *Stat_t) (err error) {
-+func stat(path string, stat *stat_freebsd11_t) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
- 	if err != nil {
-@@ -1644,7 +1767,7 @@ func Stat(path string, stat *Stat_t) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Statfs(path string, stat *Statfs_t) (err error) {
-+func statfs(path string, stat *statfs_freebsd11_t) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
- 	if err != nil {
-@@ -1659,6 +1782,21 @@ func Statfs(path string, stat *Statfs_t) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func statfs_freebsd12(path string, stat *Statfs_t) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall(SYS_STATFS_FREEBSD12, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Symlink(path string, link string) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-diff --git a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm64.go
-similarity index 90%
-copy from vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go
-copy to vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm64.go
-index ac1e8e01..4adaaa56 100644
---- a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go
-+++ b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm64.go
-@@ -1,7 +1,7 @@
--// mksyscall.pl -tags freebsd,amd64 syscall_bsd.go syscall_freebsd.go syscall_freebsd_amd64.go
-+// go run mksyscall.go -tags freebsd,arm64 syscall_bsd.go syscall_freebsd.go syscall_freebsd_arm64.go
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
--// +build freebsd,amd64
-+// +build freebsd,arm64
- 
- package unix
- 
-@@ -214,22 +214,6 @@ func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, ne
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) {
--	var _p0 unsafe.Pointer
--	if len(mib) > 0 {
--		_p0 = unsafe.Pointer(&mib[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
- func utimes(path string, timeval *[2]Timeval) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -255,9 +239,9 @@ func futimes(fd int, timeval *[2]Timeval) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func fcntl(fd int, cmd int, arg int) (val int, err error) {
--	r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg))
--	val = int(r0)
-+func poll(fds *PollFd, nfds int, timeout int) (n int, err error) {
-+	r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout))
-+	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -366,10 +350,25 @@ func Munlockall() (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func pipe() (r int, w int, err error) {
--	r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0)
--	r = int(r0)
--	w = int(r1)
-+func pipe2(p *[2]_C_int, flags int) (err error) {
-+	_, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Getcwd(buf []byte) (n int, err error) {
-+	var _p0 unsafe.Pointer
-+	if len(buf) > 0 {
-+		_p0 = unsafe.Pointer(&buf[0])
-+	} else {
-+		_p0 = unsafe.Pointer(&_zero)
-+	}
-+	r0, _, e1 := Syscall(SYS___GETCWD, uintptr(_p0), uintptr(len(buf)), 0)
-+	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -388,6 +387,32 @@ func ioctl(fd int, req uint, arg uintptr) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) {
-+	var _p0 unsafe.Pointer
-+	if len(mib) > 0 {
-+		_p0 = unsafe.Pointer(&mib[0])
-+	} else {
-+		_p0 = unsafe.Pointer(&_zero)
-+	}
-+	_, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func ptrace(request int, pid int, addr uintptr, data int) (err error) {
-+	_, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Access(path string, mode uint32) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -886,7 +911,7 @@ func Fpathconf(fd int, name int) (val int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Fstat(fd int, stat *Stat_t) (err error) {
-+func fstat(fd int, stat *stat_freebsd11_t) (err error) {
- 	_, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -896,7 +921,47 @@ func Fstat(fd int, stat *Stat_t) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Fstatfs(fd int, stat *Statfs_t) (err error) {
-+func fstat_freebsd12(fd int, stat *Stat_t) (err error) {
-+	_, _, e1 := Syscall(SYS_FSTAT_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func fstatat(fd int, path string, stat *stat_freebsd11_t, flags int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func fstatat_freebsd12(fd int, path string, stat *Stat_t, flags int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_FSTATAT_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func fstatfs(fd int, stat *statfs_freebsd11_t) (err error) {
- 	_, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -906,6 +971,16 @@ func Fstatfs(fd int, stat *Statfs_t) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func fstatfs_freebsd12(fd int, stat *Statfs_t) (err error) {
-+	_, _, e1 := Syscall(SYS_FSTATFS_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Fsync(fd int) (err error) {
- 	_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)
- 	if e1 != 0 {
-@@ -926,7 +1001,7 @@ func Ftruncate(fd int, length int64) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {
-+func getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {
- 	var _p0 unsafe.Pointer
- 	if len(buf) > 0 {
- 		_p0 = unsafe.Pointer(&buf[0])
-@@ -943,6 +1018,23 @@ func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func getdirentries_freebsd12(fd int, buf []byte, basep *uint64) (n int, err error) {
-+	var _p0 unsafe.Pointer
-+	if len(buf) > 0 {
-+		_p0 = unsafe.Pointer(&buf[0])
-+	} else {
-+		_p0 = unsafe.Pointer(&_zero)
-+	}
-+	r0, _, e1 := Syscall6(SYS_GETDIRENTRIES_FREEBSD12, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0)
-+	n = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Getdtablesize() (size int) {
- 	r0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0)
- 	size = int(r0)
-@@ -1164,7 +1256,7 @@ func Listen(s int, backlog int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Lstat(path string, stat *Stat_t) (err error) {
-+func lstat(path string, stat *stat_freebsd11_t) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
- 	if err != nil {
-@@ -1224,7 +1316,7 @@ func Mkfifo(path string, mode uint32) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Mknod(path string, mode uint32, dev int) (err error) {
-+func mknod(path string, mode uint32, dev int) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
- 	if err != nil {
-@@ -1239,6 +1331,36 @@ func Mknod(path string, mode uint32, dev int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func mknodat(fd int, path string, mode uint32, dev int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_MKNODAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func mknodat_freebsd12(fd int, path string, mode uint32, dev uint64) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_MKNODAT_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Nanosleep(time *Timespec, leftover *Timespec) (err error) {
- 	_, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0)
- 	if e1 != 0 {
-@@ -1473,8 +1595,9 @@ func Seek(fd int, offset int64, whence int) (newoffset int64, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) {
--	_, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)
-+func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) {
-+	r0, _, e1 := Syscall6(SYS_SELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)
-+	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1629,7 +1752,7 @@ func Setuid(uid int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Stat(path string, stat *Stat_t) (err error) {
-+func stat(path string, stat *stat_freebsd11_t) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
- 	if err != nil {
-@@ -1644,7 +1767,7 @@ func Stat(path string, stat *Stat_t) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Statfs(path string, stat *Statfs_t) (err error) {
-+func statfs(path string, stat *statfs_freebsd11_t) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
- 	if err != nil {
-@@ -1659,6 +1782,21 @@ func Statfs(path string, stat *Statfs_t) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func statfs_freebsd12(path string, stat *Statfs_t) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall(SYS_STATFS_FREEBSD12, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Symlink(path string, link string) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-diff --git a/vendor/golang.org/x/sys/unix/zsyscall_illumos_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_illumos_amd64.go
-new file mode 100644
-index 00000000..92efa1da
---- /dev/null
-+++ b/vendor/golang.org/x/sys/unix/zsyscall_illumos_amd64.go
-@@ -0,0 +1,87 @@
-+// go run mksyscall_solaris.go -illumos -tags illumos,amd64 syscall_illumos.go
-+// Code generated by the command above; see README.md. DO NOT EDIT.
-+
-+// +build illumos,amd64
-+
-+package unix
-+
-+import (
-+	"unsafe"
-+)
-+
-+//go:cgo_import_dynamic libc_readv readv "libc.so"
-+//go:cgo_import_dynamic libc_preadv preadv "libc.so"
-+//go:cgo_import_dynamic libc_writev writev "libc.so"
-+//go:cgo_import_dynamic libc_pwritev pwritev "libc.so"
-+
-+//go:linkname procreadv libc_readv
-+//go:linkname procpreadv libc_preadv
-+//go:linkname procwritev libc_writev
-+//go:linkname procpwritev libc_pwritev
-+
-+var (
-+	procreadv,
-+	procpreadv,
-+	procwritev,
-+	procpwritev syscallFunc
-+)
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func readv(fd int, iovs []Iovec) (n int, err error) {
-+	var _p0 *Iovec
-+	if len(iovs) > 0 {
-+		_p0 = &iovs[0]
-+	}
-+	r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procreadv)), 3, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(len(iovs)), 0, 0, 0)
-+	n = int(r0)
-+	if e1 != 0 {
-+		err = e1
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func preadv(fd int, iovs []Iovec, off int64) (n int, err error) {
-+	var _p0 *Iovec
-+	if len(iovs) > 0 {
-+		_p0 = &iovs[0]
-+	}
-+	r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procpreadv)), 4, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(len(iovs)), uintptr(off), 0, 0)
-+	n = int(r0)
-+	if e1 != 0 {
-+		err = e1
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func writev(fd int, iovs []Iovec) (n int, err error) {
-+	var _p0 *Iovec
-+	if len(iovs) > 0 {
-+		_p0 = &iovs[0]
-+	}
-+	r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procwritev)), 3, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(len(iovs)), 0, 0, 0)
-+	n = int(r0)
-+	if e1 != 0 {
-+		err = e1
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func pwritev(fd int, iovs []Iovec, off int64) (n int, err error) {
-+	var _p0 *Iovec
-+	if len(iovs) > 0 {
-+		_p0 = &iovs[0]
-+	}
-+	r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procpwritev)), 4, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(len(iovs)), uintptr(off), 0, 0)
-+	n = int(r0)
-+	if e1 != 0 {
-+		err = e1
-+	}
-+	return
-+}
-diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go b/vendor/golang.org/x/sys/unix/zsyscall_linux.go
-similarity index 79%
-copy from vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go
-copy to vendor/golang.org/x/sys/unix/zsyscall_linux.go
-index b6ff9e39..fd2dae8e 100644
---- a/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go
-+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux.go
-@@ -1,7 +1,6 @@
--// mksyscall.pl -tags linux,s390x syscall_linux.go syscall_linux_s390x.go
--// Code generated by the command above; see README.md. DO NOT EDIT.
-+// Code generated by mkmerge.go; DO NOT EDIT.
- 
--// +build linux,s390x
-+// +build linux
- 
- package unix
- 
-@@ -10,7 +9,16 @@ import (
- 	"unsafe"
- )
- 
--var _ syscall.Errno
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func FanotifyInit(flags uint, event_f_flags uint) (fd int, err error) {
-+	r0, _, e1 := Syscall(SYS_FANOTIFY_INIT, uintptr(flags), uintptr(event_f_flags), 0)
-+	fd = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-@@ -143,21 +151,6 @@ func Unlinkat(dirfd int, path string, flags int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func utimes(path string, times *[2]Timeval) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
- func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -173,16 +166,6 @@ func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) {
--	_, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(times)))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
- func Getcwd(buf []byte) (n int, err error) {
- 	var _p0 unsafe.Pointer
- 	if len(buf) > 0 {
-@@ -309,6 +292,36 @@ func keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func keyctlRestrictKeyringByType(cmd int, arg2 int, keyType string, restriction string) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(keyType)
-+	if err != nil {
-+		return
-+	}
-+	var _p1 *byte
-+	_p1, err = BytePtrFromString(restriction)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func keyctlRestrictKeyring(cmd int, arg2 int) (err error) {
-+	_, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) {
- 	_, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0)
- 	if e1 != 0 {
-@@ -412,6 +425,26 @@ func Adjtimex(buf *Timex) (state int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Capget(hdr *CapUserHeader, data *CapUserData) (err error) {
-+	_, _, e1 := RawSyscall(SYS_CAPGET, uintptr(unsafe.Pointer(hdr)), uintptr(unsafe.Pointer(data)), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Capset(hdr *CapUserHeader, data *CapUserData) (err error) {
-+	_, _, e1 := RawSyscall(SYS_CAPSET, uintptr(unsafe.Pointer(hdr)), uintptr(unsafe.Pointer(data)), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Chdir(path string) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -442,6 +475,16 @@ func Chroot(path string) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func ClockGetres(clockid int32, res *Timespec) (err error) {
-+	_, _, e1 := Syscall(SYS_CLOCK_GETRES, uintptr(clockid), uintptr(unsafe.Pointer(res)), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func ClockGettime(clockid int32, time *Timespec) (err error) {
- 	_, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0)
- 	if e1 != 0 {
-@@ -452,6 +495,16 @@ func ClockGettime(clockid int32, time *Timespec) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func ClockNanosleep(clockid int32, flags int, request *Timespec, remain *Timespec) (err error) {
-+	_, _, e1 := Syscall6(SYS_CLOCK_NANOSLEEP, uintptr(clockid), uintptr(flags), uintptr(unsafe.Pointer(request)), uintptr(unsafe.Pointer(remain)), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Close(fd int) (err error) {
- 	_, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0)
- 	if e1 != 0 {
-@@ -473,9 +526,13 @@ func CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags in
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Dup(oldfd int) (fd int, err error) {
--	r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0)
--	fd = int(r0)
-+func DeleteModule(name string, flags int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(name)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall(SYS_DELETE_MODULE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -484,8 +541,9 @@ func Dup(oldfd int) (fd int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Dup3(oldfd int, newfd int, flags int) (err error) {
--	_, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags))
-+func Dup(oldfd int) (fd int, err error) {
-+	r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0)
-+	fd = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -494,9 +552,8 @@ func Dup3(oldfd int, newfd int, flags int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func EpollCreate(size int) (fd int, err error) {
--	r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0)
--	fd = int(r0)
-+func Dup3(oldfd int, newfd int, flags int) (err error) {
-+	_, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -538,19 +595,14 @@ func Eventfd(initval uint, flags int) (fd int, err error) {
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Exit(code int) {
--	Syscall(SYS_EXIT_GROUP, uintptr(code), 0, 0)
-+	SyscallNoError(SYS_EXIT_GROUP, uintptr(code), 0, 0)
- 	return
- }
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)
-+func Fchdir(fd int) (err error) {
-+	_, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -559,8 +611,8 @@ func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Fallocate(fd int, mode uint32, off int64, len int64) (err error) {
--	_, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0)
-+func Fchmod(fd int, mode uint32) (err error) {
-+	_, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -569,8 +621,13 @@ func Fallocate(fd int, mode uint32, off int64, len int64) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Fchdir(fd int) (err error) {
--	_, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0)
-+func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -579,8 +636,8 @@ func Fchdir(fd int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Fchmod(fd int, mode uint32) (err error) {
--	_, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0)
-+func Fdatasync(fd int) (err error) {
-+	_, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -589,13 +646,20 @@ func Fchmod(fd int, mode uint32) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) {
-+func Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) {
- 	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
-+	_p0, err = BytePtrFromString(attr)
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0)
-+	var _p1 unsafe.Pointer
-+	if len(dest) > 0 {
-+		_p1 = unsafe.Pointer(&dest[0])
-+	} else {
-+		_p1 = unsafe.Pointer(&_zero)
-+	}
-+	r0, _, e1 := Syscall6(SYS_FGETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), 0, 0)
-+	sz = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -604,9 +668,13 @@ func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func fcntl(fd int, cmd int, arg int) (val int, err error) {
--	r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg))
--	val = int(r0)
-+func FinitModule(fd int, params string, flags int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(params)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall(SYS_FINIT_MODULE, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(flags))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -615,8 +683,15 @@ func fcntl(fd int, cmd int, arg int) (val int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Fdatasync(fd int) (err error) {
--	_, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0)
-+func Flistxattr(fd int, dest []byte) (sz int, err error) {
-+	var _p0 unsafe.Pointer
-+	if len(dest) > 0 {
-+		_p0 = unsafe.Pointer(&dest[0])
-+	} else {
-+		_p0 = unsafe.Pointer(&_zero)
-+	}
-+	r0, _, e1 := Syscall(SYS_FLISTXATTR, uintptr(fd), uintptr(_p0), uintptr(len(dest)))
-+	sz = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -635,6 +710,42 @@ func Flock(fd int, how int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Fremovexattr(fd int, attr string) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(attr)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall(SYS_FREMOVEXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Fsetxattr(fd int, attr string, dest []byte, flags int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(attr)
-+	if err != nil {
-+		return
-+	}
-+	var _p1 unsafe.Pointer
-+	if len(dest) > 0 {
-+		_p1 = unsafe.Pointer(&dest[0])
-+	} else {
-+		_p1 = unsafe.Pointer(&_zero)
-+	}
-+	_, _, e1 := Syscall6(SYS_FSETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), uintptr(flags), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Fsync(fd int) (err error) {
- 	_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)
- 	if e1 != 0 {
-@@ -674,7 +785,7 @@ func Getpgid(pid int) (pgid int, err error) {
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Getpid() (pid int) {
--	r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0)
-+	r0, _ := RawSyscallNoError(SYS_GETPID, 0, 0, 0)
- 	pid = int(r0)
- 	return
- }
-@@ -682,7 +793,7 @@ func Getpid() (pid int) {
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Getppid() (ppid int) {
--	r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0)
-+	r0, _ := RawSyscallNoError(SYS_GETPPID, 0, 0, 0)
- 	ppid = int(r0)
- 	return
- }
-@@ -739,7 +850,7 @@ func Getsid(pid int) (sid int, err error) {
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Gettid() (tid int) {
--	r0, _, _ := RawSyscall(SYS_GETTID, 0, 0, 0)
-+	r0, _ := RawSyscallNoError(SYS_GETTID, 0, 0, 0)
- 	tid = int(r0)
- 	return
- }
-@@ -773,6 +884,27 @@ func Getxattr(path string, attr string, dest []byte) (sz int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func InitModule(moduleImage []byte, params string) (err error) {
-+	var _p0 unsafe.Pointer
-+	if len(moduleImage) > 0 {
-+		_p0 = unsafe.Pointer(&moduleImage[0])
-+	} else {
-+		_p0 = unsafe.Pointer(&_zero)
-+	}
-+	var _p1 *byte
-+	_p1, err = BytePtrFromString(params)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall(SYS_INIT_MODULE, uintptr(_p0), uintptr(len(moduleImage)), uintptr(unsafe.Pointer(_p1)))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(pathname)
-@@ -955,6 +1087,22 @@ func Lsetxattr(path string, attr string, data []byte, flags int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func MemfdCreate(name string, flags int) (fd int, err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(name)
-+	if err != nil {
-+		return
-+	}
-+	r0, _, e1 := Syscall(SYS_MEMFD_CREATE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
-+	fd = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Mkdirat(dirfd int, path string, mode uint32) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -995,6 +1143,17 @@ func Nanosleep(time *Timespec, leftover *Timespec) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func PerfEventOpen(attr *PerfEventAttr, pid int, cpu int, groupFd int, flags int) (fd int, err error) {
-+	r0, _, e1 := Syscall6(SYS_PERF_EVENT_OPEN, uintptr(unsafe.Pointer(attr)), uintptr(pid), uintptr(cpu), uintptr(groupFd), uintptr(flags), 0)
-+	fd = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func PivotRoot(newroot string, putold string) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(newroot)
-@@ -1035,6 +1194,17 @@ func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {
-+	r0, _, e1 := Syscall6(SYS_PSELECT6, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)))
-+	n = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func read(fd int, p []byte) (n int, err error) {
- 	var _p0 unsafe.Pointer
- 	if len(p) > 0 {
-@@ -1072,7 +1242,7 @@ func Removexattr(path string, attr string) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) {
-+func Renameat2(olddirfd int, oldpath string, newdirfd int, newpath string, flags uint) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(oldpath)
- 	if err != nil {
-@@ -1083,7 +1253,7 @@ func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err e
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0)
-+	_, _, e1 := Syscall6(SYS_RENAMEAT2, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1227,15 +1397,24 @@ func Setxattr(path string, attr string, data []byte, flags int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Sync() {
--	Syscall(SYS_SYNC, 0, 0, 0)
-+func signalfd(fd int, sigmask *Sigset_t, maskSize uintptr, flags int) (newfd int, err error) {
-+	r0, _, e1 := Syscall6(SYS_SIGNALFD4, uintptr(fd), uintptr(unsafe.Pointer(sigmask)), uintptr(maskSize), uintptr(flags), 0, 0)
-+	newfd = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
- 	return
- }
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Syncfs(fd int) (err error) {
--	_, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0)
-+func Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_STATX, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mask), uintptr(unsafe.Pointer(stat)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1244,8 +1423,15 @@ func Syncfs(fd int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Sysinfo(info *Sysinfo_t) (err error) {
--	_, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0)
-+func Sync() {
-+	SyscallNoError(SYS_SYNC, 0, 0, 0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Syncfs(fd int) (err error) {
-+	_, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1254,9 +1440,8 @@ func Sysinfo(info *Sysinfo_t) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) {
--	r0, _, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0)
--	n = int64(r0)
-+func Sysinfo(info *Sysinfo_t) (err error) {
-+	_, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1287,7 +1472,7 @@ func Times(tms *Tms) (ticks uintptr, err error) {
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Umask(mask int) (oldmask int) {
--	r0, _, _ := RawSyscall(SYS_UMASK, uintptr(mask), 0, 0)
-+	r0, _ := RawSyscallNoError(SYS_UMASK, uintptr(mask), 0, 0)
- 	oldmask = int(r0)
- 	return
- }
-@@ -1329,16 +1514,6 @@ func Unshare(flags int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Ustat(dev int, ubuf *Ustat_t) (err error) {
--	_, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
- func write(fd int, p []byte) (n int, err error) {
- 	var _p0 unsafe.Pointer
- 	if len(p) > 0 {
-@@ -1388,24 +1563,15 @@ func writelen(fd int, p *byte, np int) (n int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func munmap(addr uintptr, length uintptr) (err error) {
--	_, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Madvise(b []byte, advice int) (err error) {
-+func readv(fd int, iovs []Iovec) (n int, err error) {
- 	var _p0 unsafe.Pointer
--	if len(b) > 0 {
--		_p0 = unsafe.Pointer(&b[0])
-+	if len(iovs) > 0 {
-+		_p0 = unsafe.Pointer(&iovs[0])
- 	} else {
- 		_p0 = unsafe.Pointer(&_zero)
- 	}
--	_, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice))
-+	r0, _, e1 := Syscall(SYS_READV, uintptr(fd), uintptr(_p0), uintptr(len(iovs)))
-+	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1414,14 +1580,15 @@ func Madvise(b []byte, advice int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Mprotect(b []byte, prot int) (err error) {
-+func writev(fd int, iovs []Iovec) (n int, err error) {
- 	var _p0 unsafe.Pointer
--	if len(b) > 0 {
--		_p0 = unsafe.Pointer(&b[0])
-+	if len(iovs) > 0 {
-+		_p0 = unsafe.Pointer(&iovs[0])
- 	} else {
- 		_p0 = unsafe.Pointer(&_zero)
- 	}
--	_, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))
-+	r0, _, e1 := Syscall(SYS_WRITEV, uintptr(fd), uintptr(_p0), uintptr(len(iovs)))
-+	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1430,14 +1597,15 @@ func Mprotect(b []byte, prot int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Mlock(b []byte) (err error) {
-+func preadv(fd int, iovs []Iovec, offs_l uintptr, offs_h uintptr) (n int, err error) {
- 	var _p0 unsafe.Pointer
--	if len(b) > 0 {
--		_p0 = unsafe.Pointer(&b[0])
-+	if len(iovs) > 0 {
-+		_p0 = unsafe.Pointer(&iovs[0])
- 	} else {
- 		_p0 = unsafe.Pointer(&_zero)
- 	}
--	_, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)
-+	r0, _, e1 := Syscall6(SYS_PREADV, uintptr(fd), uintptr(_p0), uintptr(len(iovs)), uintptr(offs_l), uintptr(offs_h), 0)
-+	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1446,24 +1614,15 @@ func Mlock(b []byte) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Munlock(b []byte) (err error) {
-+func pwritev(fd int, iovs []Iovec, offs_l uintptr, offs_h uintptr) (n int, err error) {
- 	var _p0 unsafe.Pointer
--	if len(b) > 0 {
--		_p0 = unsafe.Pointer(&b[0])
-+	if len(iovs) > 0 {
-+		_p0 = unsafe.Pointer(&iovs[0])
- 	} else {
- 		_p0 = unsafe.Pointer(&_zero)
- 	}
--	_, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Mlockall(flags int) (err error) {
--	_, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)
-+	r0, _, e1 := Syscall6(SYS_PWRITEV, uintptr(fd), uintptr(_p0), uintptr(len(iovs)), uintptr(offs_l), uintptr(offs_h), 0)
-+	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1472,34 +1631,15 @@ func Mlockall(flags int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Msync(b []byte, flags int) (err error) {
-+func preadv2(fd int, iovs []Iovec, offs_l uintptr, offs_h uintptr, flags int) (n int, err error) {
- 	var _p0 unsafe.Pointer
--	if len(b) > 0 {
--		_p0 = unsafe.Pointer(&b[0])
-+	if len(iovs) > 0 {
-+		_p0 = unsafe.Pointer(&iovs[0])
- 	} else {
- 		_p0 = unsafe.Pointer(&_zero)
- 	}
--	_, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Munlockall() (err error) {
--	_, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Dup2(oldfd int, newfd int) (err error) {
--	_, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0)
-+	r0, _, e1 := Syscall6(SYS_PREADV2, uintptr(fd), uintptr(_p0), uintptr(len(iovs)), uintptr(offs_l), uintptr(offs_h), uintptr(flags))
-+	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1508,14 +1648,14 @@ func Dup2(oldfd int, newfd int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) {
-+func pwritev2(fd int, iovs []Iovec, offs_l uintptr, offs_h uintptr, flags int) (n int, err error) {
- 	var _p0 unsafe.Pointer
--	if len(events) > 0 {
--		_p0 = unsafe.Pointer(&events[0])
-+	if len(iovs) > 0 {
-+		_p0 = unsafe.Pointer(&iovs[0])
- 	} else {
- 		_p0 = unsafe.Pointer(&_zero)
- 	}
--	r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0)
-+	r0, _, e1 := Syscall6(SYS_PWRITEV2, uintptr(fd), uintptr(_p0), uintptr(len(iovs)), uintptr(offs_l), uintptr(offs_h), uintptr(flags))
- 	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -1525,141 +1665,8 @@ func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Fadvise(fd int, offset int64, length int64, advice int) (err error) {
--	_, _, e1 := Syscall6(SYS_FADVISE64, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Fchown(fd int, uid int, gid int) (err error) {
--	_, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Fstat(fd int, stat *Stat_t) (err error) {
--	_, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Fstatfs(fd int, buf *Statfs_t) (err error) {
--	_, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Ftruncate(fd int, length int64) (err error) {
--	_, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getegid() (egid int) {
--	r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0)
--	egid = int(r0)
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Geteuid() (euid int) {
--	r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0)
--	euid = int(r0)
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getgid() (gid int) {
--	r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0)
--	gid = int(r0)
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getrlimit(resource int, rlim *Rlimit) (err error) {
--	_, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getuid() (uid int) {
--	r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0)
--	uid = int(r0)
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func InotifyInit() (fd int, err error) {
--	r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0)
--	fd = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Lchown(path string, uid int, gid int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Lstat(path string, stat *Stat_t) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Pause() (err error) {
--	_, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0)
-+func munmap(addr uintptr, length uintptr) (err error) {
-+	_, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1668,15 +1675,14 @@ func Pause() (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Pread(fd int, p []byte, offset int64) (n int, err error) {
-+func Madvise(b []byte, advice int) (err error) {
- 	var _p0 unsafe.Pointer
--	if len(p) > 0 {
--		_p0 = unsafe.Pointer(&p[0])
-+	if len(b) > 0 {
-+		_p0 = unsafe.Pointer(&b[0])
- 	} else {
- 		_p0 = unsafe.Pointer(&_zero)
- 	}
--	r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0)
--	n = int(r0)
-+	_, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1685,58 +1691,14 @@ func Pread(fd int, p []byte, offset int64) (n int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Pwrite(fd int, p []byte, offset int64) (n int, err error) {
-+func Mprotect(b []byte, prot int) (err error) {
- 	var _p0 unsafe.Pointer
--	if len(p) > 0 {
--		_p0 = unsafe.Pointer(&p[0])
-+	if len(b) > 0 {
-+		_p0 = unsafe.Pointer(&b[0])
- 	} else {
- 		_p0 = unsafe.Pointer(&_zero)
- 	}
--	r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0)
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Seek(fd int, offset int64, whence int) (off int64, err error) {
--	r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence))
--	off = int64(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) {
--	r0, _, e1 := Syscall6(SYS_SELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {
--	r0, _, e1 := Syscall6(SYS_SENDFILE, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0)
--	written = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Setfsgid(gid int) (err error) {
--	_, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0)
-+	_, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1745,18 +1707,14 @@ func Setfsgid(gid int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Setfsuid(uid int) (err error) {
--	_, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
-+func Mlock(b []byte) (err error) {
-+	var _p0 unsafe.Pointer
-+	if len(b) > 0 {
-+		_p0 = unsafe.Pointer(&b[0])
-+	} else {
-+		_p0 = unsafe.Pointer(&_zero)
- 	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Setregid(rgid int, egid int) (err error) {
--	_, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0)
-+	_, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1765,8 +1723,8 @@ func Setregid(rgid int, egid int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Setresgid(rgid int, egid int, sgid int) (err error) {
--	_, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid))
-+func Mlockall(flags int) (err error) {
-+	_, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1775,18 +1733,14 @@ func Setresgid(rgid int, egid int, sgid int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Setresuid(ruid int, euid int, suid int) (err error) {
--	_, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid))
--	if e1 != 0 {
--		err = errnoErr(e1)
-+func Msync(b []byte, flags int) (err error) {
-+	var _p0 unsafe.Pointer
-+	if len(b) > 0 {
-+		_p0 = unsafe.Pointer(&b[0])
-+	} else {
-+		_p0 = unsafe.Pointer(&_zero)
- 	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Setrlimit(resource int, rlim *Rlimit) (err error) {
--	_, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0)
-+	_, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1795,19 +1749,14 @@ func Setrlimit(resource int, rlim *Rlimit) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Setreuid(ruid int, euid int) (err error) {
--	_, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
-+func Munlock(b []byte) (err error) {
-+	var _p0 unsafe.Pointer
-+	if len(b) > 0 {
-+		_p0 = unsafe.Pointer(&b[0])
-+	} else {
-+		_p0 = unsafe.Pointer(&_zero)
- 	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) {
--	r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags))
--	n = int64(r0)
-+	_, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1816,13 +1765,8 @@ func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n i
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Stat(path string, stat *Stat_t) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
-+func Munlockall() (err error) {
-+	_, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1831,13 +1775,13 @@ func Stat(path string, stat *Stat_t) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Statfs(path string, buf *Statfs_t) (err error) {
-+func faccessat(dirfd int, path string, mode uint32) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0)
-+	_, _, e1 := Syscall(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1846,23 +1790,13 @@ func Statfs(path string, buf *Statfs_t) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func SyncFileRange(fd int, off int64, n int64, flags int) (err error) {
--	_, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE, uintptr(fd), uintptr(off), uintptr(n), uintptr(flags), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Truncate(path string, length int64) (err error) {
-+func nameToHandleAt(dirFD int, pathname string, fh *fileHandle, mountID *_C_int, flags int) (err error) {
- 	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
-+	_p0, err = BytePtrFromString(pathname)
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0)
-+	_, _, e1 := Syscall6(SYS_NAME_TO_HANDLE_AT, uintptr(dirFD), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(fh)), uintptr(unsafe.Pointer(mountID)), uintptr(flags), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1871,44 +1805,9 @@ func Truncate(path string, length int64) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func getgroups(n int, list *_Gid_t) (nn int, err error) {
--	r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0)
--	nn = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func setgroups(n int, list *_Gid_t) (err error) {
--	_, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Gettimeofday(tv *Timeval) (err error) {
--	_, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Utime(path string, buf *Utimbuf) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0)
-+func openByHandleAt(mountFD int, fh *fileHandle, flags int) (fd int, err error) {
-+	r0, _, e1 := Syscall(SYS_OPEN_BY_HANDLE_AT, uintptr(mountFD), uintptr(unsafe.Pointer(fh)), uintptr(flags))
-+	fd = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1924,14 +1823,3 @@ func pipe2(p *[2]_C_int, flags int) (err error) {
- 	}
- 	return
- }
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func poll(fds *PollFd, nfds int, timeout int) (n int, err error) {
--	r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout))
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
-diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go
-index 38c1bbdf..ba63af7b 100644
---- a/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go
-+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go
-@@ -1,4 +1,4 @@
--// mksyscall.pl -l32 -tags linux,386 syscall_linux.go syscall_linux_386.go
-+// go run mksyscall.go -l32 -tags linux,386 syscall_linux.go syscall_linux_386.go
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- // +build linux,386
-@@ -14,1259 +14,8 @@ var _ syscall.Errno
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func fchmodat(dirfd int, path string, mode uint32) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func ioctl(fd int, req uint, arg uintptr) (err error) {
--	_, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(oldpath)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(newpath)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0)
--	fd = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {
--	r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0)
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 unsafe.Pointer
--	if len(buf) > 0 {
--		_p1 = unsafe.Pointer(&buf[0])
--	} else {
--		_p1 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0)
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(oldpath)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(newpath)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Unlinkat(dirfd int, path string, flags int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func utimes(path string, times *[2]Timeval) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) {
--	_, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(times)))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getcwd(buf []byte) (n int, err error) {
--	var _p0 unsafe.Pointer
--	if len(buf) > 0 {
--		_p0 = unsafe.Pointer(&buf[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0)
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) {
--	r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0)
--	wpid = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) {
--	r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0)
--	ret = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) {
--	var _p0 unsafe.Pointer
--	if len(buf) > 0 {
--		_p0 = unsafe.Pointer(&buf[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0)
--	ret = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func keyctlJoin(cmd int, arg2 string) (ret int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(arg2)
--	if err != nil {
--		return
--	}
--	r0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0)
--	ret = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(arg3)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(arg4)
--	if err != nil {
--		return
--	}
--	r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0)
--	ret = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) {
--	var _p0 unsafe.Pointer
--	if len(payload) > 0 {
--		_p0 = unsafe.Pointer(&payload[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) {
--	var _p0 unsafe.Pointer
--	if len(buf) > 0 {
--		_p0 = unsafe.Pointer(&buf[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0)
--	ret = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) {
--	_, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(arg)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(source)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(target)
--	if err != nil {
--		return
--	}
--	var _p2 *byte
--	_p2, err = BytePtrFromString(fstype)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Acct(path string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(keyType)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(description)
--	if err != nil {
--		return
--	}
--	var _p2 unsafe.Pointer
--	if len(payload) > 0 {
--		_p2 = unsafe.Pointer(&payload[0])
--	} else {
--		_p2 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0)
--	id = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Adjtimex(buf *Timex) (state int, err error) {
--	r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0)
--	state = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Chdir(path string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Chroot(path string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func ClockGettime(clockid int32, time *Timespec) (err error) {
--	_, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Close(fd int) (err error) {
--	_, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) {
--	r0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags))
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Dup(oldfd int) (fd int, err error) {
--	r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0)
--	fd = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Dup3(oldfd int, newfd int, flags int) (err error) {
--	_, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func EpollCreate(size int) (fd int, err error) {
--	r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0)
--	fd = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func EpollCreate1(flag int) (fd int, err error) {
--	r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0)
--	fd = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) {
--	_, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Eventfd(initval uint, flags int) (fd int, err error) {
--	r0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0)
--	fd = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Exit(code int) {
--	Syscall(SYS_EXIT_GROUP, uintptr(code), 0, 0)
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Fallocate(fd int, mode uint32, off int64, len int64) (err error) {
--	_, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(off>>32), uintptr(len), uintptr(len>>32))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Fchdir(fd int) (err error) {
--	_, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Fchmod(fd int, mode uint32) (err error) {
--	_, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func fcntl(fd int, cmd int, arg int) (val int, err error) {
--	r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg))
--	val = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Fdatasync(fd int) (err error) {
--	_, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Flock(fd int, how int) (err error) {
--	_, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Fsync(fd int) (err error) {
--	_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getdents(fd int, buf []byte) (n int, err error) {
--	var _p0 unsafe.Pointer
--	if len(buf) > 0 {
--		_p0 = unsafe.Pointer(&buf[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf)))
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getpgid(pid int) (pgid int, err error) {
--	r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0)
--	pgid = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getpid() (pid int) {
--	r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0)
--	pid = int(r0)
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getppid() (ppid int) {
--	r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0)
--	ppid = int(r0)
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getpriority(which int, who int) (prio int, err error) {
--	r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0)
--	prio = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getrandom(buf []byte, flags int) (n int, err error) {
--	var _p0 unsafe.Pointer
--	if len(buf) > 0 {
--		_p0 = unsafe.Pointer(&buf[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags))
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getrusage(who int, rusage *Rusage) (err error) {
--	_, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getsid(pid int) (sid int, err error) {
--	r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0)
--	sid = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Gettid() (tid int) {
--	r0, _, _ := RawSyscall(SYS_GETTID, 0, 0, 0)
--	tid = int(r0)
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getxattr(path string, attr string, dest []byte) (sz int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(attr)
--	if err != nil {
--		return
--	}
--	var _p2 unsafe.Pointer
--	if len(dest) > 0 {
--		_p2 = unsafe.Pointer(&dest[0])
--	} else {
--		_p2 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0)
--	sz = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(pathname)
--	if err != nil {
--		return
--	}
--	r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask))
--	watchdesc = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func InotifyInit1(flags int) (fd int, err error) {
--	r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0)
--	fd = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) {
--	r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0)
--	success = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Kill(pid int, sig syscall.Signal) (err error) {
--	_, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Klogctl(typ int, buf []byte) (n int, err error) {
--	var _p0 unsafe.Pointer
--	if len(buf) > 0 {
--		_p0 = unsafe.Pointer(&buf[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf)))
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Lgetxattr(path string, attr string, dest []byte) (sz int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(attr)
--	if err != nil {
--		return
--	}
--	var _p2 unsafe.Pointer
--	if len(dest) > 0 {
--		_p2 = unsafe.Pointer(&dest[0])
--	} else {
--		_p2 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0)
--	sz = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Listxattr(path string, dest []byte) (sz int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 unsafe.Pointer
--	if len(dest) > 0 {
--		_p1 = unsafe.Pointer(&dest[0])
--	} else {
--		_p1 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)))
--	sz = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Llistxattr(path string, dest []byte) (sz int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 unsafe.Pointer
--	if len(dest) > 0 {
--		_p1 = unsafe.Pointer(&dest[0])
--	} else {
--		_p1 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)))
--	sz = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Lremovexattr(path string, attr string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(attr)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Lsetxattr(path string, attr string, data []byte, flags int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(attr)
--	if err != nil {
--		return
--	}
--	var _p2 unsafe.Pointer
--	if len(data) > 0 {
--		_p2 = unsafe.Pointer(&data[0])
--	} else {
--		_p2 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Mkdirat(dirfd int, path string, mode uint32) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Nanosleep(time *Timespec, leftover *Timespec) (err error) {
--	_, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func PivotRoot(newroot string, putold string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(newroot)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(putold)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) {
--	_, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) {
--	_, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func read(fd int, p []byte) (n int, err error) {
--	var _p0 unsafe.Pointer
--	if len(p) > 0 {
--		_p0 = unsafe.Pointer(&p[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p)))
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Removexattr(path string, attr string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(attr)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(oldpath)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(newpath)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(keyType)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(description)
--	if err != nil {
--		return
--	}
--	var _p2 *byte
--	_p2, err = BytePtrFromString(callback)
--	if err != nil {
--		return
--	}
--	r0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0)
--	id = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Setdomainname(p []byte) (err error) {
--	var _p0 unsafe.Pointer
--	if len(p) > 0 {
--		_p0 = unsafe.Pointer(&p[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Sethostname(p []byte) (err error) {
--	var _p0 unsafe.Pointer
--	if len(p) > 0 {
--		_p0 = unsafe.Pointer(&p[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Setpgid(pid int, pgid int) (err error) {
--	_, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Setsid() (pid int, err error) {
--	r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0)
--	pid = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Settimeofday(tv *Timeval) (err error) {
--	_, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Setns(fd int, nstype int) (err error) {
--	_, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Setpriority(which int, who int, prio int) (err error) {
--	_, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Setxattr(path string, attr string, data []byte, flags int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(attr)
--	if err != nil {
--		return
--	}
--	var _p2 unsafe.Pointer
--	if len(data) > 0 {
--		_p2 = unsafe.Pointer(&data[0])
--	} else {
--		_p2 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Sync() {
--	Syscall(SYS_SYNC, 0, 0, 0)
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Syncfs(fd int) (err error) {
--	_, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Sysinfo(info *Sysinfo_t) (err error) {
--	_, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) {
--	r0, r1, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0)
--	n = int64(int64(r1)<<32 | int64(r0))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) {
--	_, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig))
-+func fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error) {
-+	_, _, e1 := Syscall6(SYS_FANOTIFY_MARK, uintptr(fd), uintptr(flags), uintptr(mask), uintptr(mask>>32), uintptr(dirFd), uintptr(unsafe.Pointer(pathname)))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1275,9 +24,8 @@ func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Times(tms *Tms) (ticks uintptr, err error) {
--	r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0)
--	ticks = uintptr(r0)
-+func Fallocate(fd int, mode uint32, off int64, len int64) (err error) {
-+	_, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(off>>32), uintptr(len), uintptr(len>>32))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1286,16 +34,9 @@ func Times(tms *Tms) (ticks uintptr, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Umask(mask int) (oldmask int) {
--	r0, _, _ := RawSyscall(SYS_UMASK, uintptr(mask), 0, 0)
--	oldmask = int(r0)
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Uname(buf *Utsname) (err error) {
--	_, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0)
-+func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) {
-+	r0, r1, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0)
-+	n = int64(int64(r1)<<32 | int64(r0))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1304,13 +45,8 @@ func Uname(buf *Utsname) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Unmount(target string, flags int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(target)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
-+func pipe(p *[2]_C_int) (err error) {
-+	_, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1319,8 +55,8 @@ func Unmount(target string, flags int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Unshare(flags int) (err error) {
--	_, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0)
-+func Dup2(oldfd int, newfd int) (err error) {
-+	_, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1329,8 +65,9 @@ func Unshare(flags int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Ustat(dev int, ubuf *Ustat_t) (err error) {
--	_, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0)
-+func EpollCreate(size int) (fd int, err error) {
-+	r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0)
-+	fd = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1339,46 +76,14 @@ func Ustat(dev int, ubuf *Ustat_t) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func write(fd int, p []byte) (n int, err error) {
-+func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) {
- 	var _p0 unsafe.Pointer
--	if len(p) > 0 {
--		_p0 = unsafe.Pointer(&p[0])
-+	if len(events) > 0 {
-+		_p0 = unsafe.Pointer(&events[0])
- 	} else {
- 		_p0 = unsafe.Pointer(&_zero)
- 	}
--	r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)))
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func exitThread(code int) (err error) {
--	_, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func readlen(fd int, p *byte, np int) (n int, err error) {
--	r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np))
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func writelen(fd int, p *byte, np int) (n int, err error) {
--	r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np))
-+	r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0)
- 	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -1388,128 +93,8 @@ func writelen(fd int, p *byte, np int) (n int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func munmap(addr uintptr, length uintptr) (err error) {
--	_, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Madvise(b []byte, advice int) (err error) {
--	var _p0 unsafe.Pointer
--	if len(b) > 0 {
--		_p0 = unsafe.Pointer(&b[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Mprotect(b []byte, prot int) (err error) {
--	var _p0 unsafe.Pointer
--	if len(b) > 0 {
--		_p0 = unsafe.Pointer(&b[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Mlock(b []byte) (err error) {
--	var _p0 unsafe.Pointer
--	if len(b) > 0 {
--		_p0 = unsafe.Pointer(&b[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Munlock(b []byte) (err error) {
--	var _p0 unsafe.Pointer
--	if len(b) > 0 {
--		_p0 = unsafe.Pointer(&b[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Mlockall(flags int) (err error) {
--	_, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Msync(b []byte, flags int) (err error) {
--	var _p0 unsafe.Pointer
--	if len(b) > 0 {
--		_p0 = unsafe.Pointer(&b[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Munlockall() (err error) {
--	_, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func pipe(p *[2]_C_int) (err error) {
--	_, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func pipe2(p *[2]_C_int, flags int) (err error) {
--	_, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0)
-+func Fadvise(fd int, offset int64, length int64, advice int) (err error) {
-+	_, _, e1 := Syscall6(SYS_FADVISE64_64, uintptr(fd), uintptr(offset), uintptr(offset>>32), uintptr(length), uintptr(length>>32), uintptr(advice))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1518,8 +103,8 @@ func pipe2(p *[2]_C_int, flags int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Dup2(oldfd int, newfd int) (err error) {
--	_, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0)
-+func Fchown(fd int, uid int, gid int) (err error) {
-+	_, _, e1 := Syscall(SYS_FCHOWN32, uintptr(fd), uintptr(uid), uintptr(gid))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1528,8 +113,8 @@ func Dup2(oldfd int, newfd int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Fadvise(fd int, offset int64, length int64, advice int) (err error) {
--	_, _, e1 := Syscall6(SYS_FADVISE64_64, uintptr(fd), uintptr(offset), uintptr(offset>>32), uintptr(length), uintptr(length>>32), uintptr(advice))
-+func Fstat(fd int, stat *Stat_t) (err error) {
-+	_, _, e1 := Syscall(SYS_FSTAT64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1538,18 +123,13 @@ func Fadvise(fd int, offset int64, length int64, advice int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Fchown(fd int, uid int, gid int) (err error) {
--	_, _, e1 := Syscall(SYS_FCHOWN32, uintptr(fd), uintptr(uid), uintptr(gid))
--	if e1 != 0 {
--		err = errnoErr(e1)
-+func Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
- 	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Fstat(fd int, stat *Stat_t) (err error) {
--	_, _, e1 := Syscall(SYS_FSTAT64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)
-+	_, _, e1 := Syscall6(SYS_FSTATAT64, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1569,7 +149,7 @@ func Ftruncate(fd int, length int64) (err error) {
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Getegid() (egid int) {
--	r0, _, _ := RawSyscall(SYS_GETEGID32, 0, 0, 0)
-+	r0, _ := RawSyscallNoError(SYS_GETEGID32, 0, 0, 0)
- 	egid = int(r0)
- 	return
- }
-@@ -1577,7 +157,7 @@ func Getegid() (egid int) {
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Geteuid() (euid int) {
--	r0, _, _ := RawSyscall(SYS_GETEUID32, 0, 0, 0)
-+	r0, _ := RawSyscallNoError(SYS_GETEUID32, 0, 0, 0)
- 	euid = int(r0)
- 	return
- }
-@@ -1585,7 +165,7 @@ func Geteuid() (euid int) {
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Getgid() (gid int) {
--	r0, _, _ := RawSyscall(SYS_GETGID32, 0, 0, 0)
-+	r0, _ := RawSyscallNoError(SYS_GETGID32, 0, 0, 0)
- 	gid = int(r0)
- 	return
- }
-@@ -1593,7 +173,7 @@ func Getgid() (gid int) {
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Getuid() (uid int) {
--	r0, _, _ := RawSyscall(SYS_GETUID32, 0, 0, 0)
-+	r0, _ := RawSyscallNoError(SYS_GETUID32, 0, 0, 0)
- 	uid = int(r0)
- 	return
- }
-@@ -1695,6 +275,26 @@ func Pwrite(fd int, p []byte, offset int64) (n int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(oldpath)
-+	if err != nil {
-+		return
-+	}
-+	var _p1 *byte
-+	_p1, err = BytePtrFromString(newpath)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {
- 	r0, _, e1 := Syscall6(SYS_SENDFILE64, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0)
- 	written = int(r0)
-@@ -1706,8 +306,9 @@ func sendfile(outfd int, infd int, offset *int64, count int) (written int, err e
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Setfsgid(gid int) (err error) {
--	_, _, e1 := Syscall(SYS_SETFSGID32, uintptr(gid), 0, 0)
-+func setfsgid(gid int) (prev int, err error) {
-+	r0, _, e1 := Syscall(SYS_SETFSGID32, uintptr(gid), 0, 0)
-+	prev = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1716,8 +317,9 @@ func Setfsgid(gid int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Setfsuid(uid int) (err error) {
--	_, _, e1 := Syscall(SYS_SETFSUID32, uintptr(uid), 0, 0)
-+func setfsuid(uid int) (prev int, err error) {
-+	r0, _, e1 := Syscall(SYS_SETFSUID32, uintptr(uid), 0, 0)
-+	prev = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1817,6 +419,16 @@ func Truncate(path string, length int64) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Ustat(dev int, ubuf *Ustat_t) (err error) {
-+	_, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func getgroups(n int, list *_Gid_t) (nn int, err error) {
- 	r0, _, e1 := RawSyscall(SYS_GETGROUPS32, uintptr(n), uintptr(unsafe.Pointer(list)), 0)
- 	nn = int(r0)
-@@ -1860,15 +472,8 @@ func mmap2(addr uintptr, length uintptr, prot int, flags int, fd int, pageOffset
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) {
--	var _p0 unsafe.Pointer
--	if len(events) > 0 {
--		_p0 = unsafe.Pointer(&events[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0)
--	n = int(r0)
-+func Pause() (err error) {
-+	_, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1877,8 +482,8 @@ func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Pause() (err error) {
--	_, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0)
-+func getrlimit(resource int, rlim *rlimit32) (err error) {
-+	_, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1887,8 +492,8 @@ func Pause() (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func getrlimit(resource int, rlim *rlimit32) (err error) {
--	_, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0)
-+func setrlimit(resource int, rlim *rlimit32) (err error) {
-+	_, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1897,8 +502,13 @@ func getrlimit(resource int, rlim *rlimit32) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func setrlimit(resource int, rlim *rlimit32) (err error) {
--	_, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0)
-+func futimesat(dirfd int, path string, times *[2]Timeval) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1943,6 +553,21 @@ func Utime(path string, buf *Utimbuf) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func utimes(path string, times *[2]Timeval) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func poll(fds *PollFd, nfds int, timeout int) (n int, err error) {
- 	r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout))
- 	n = int(r0)
-diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go
-index dc8fe0a8..f64adef4 100644
---- a/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go
-+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go
-@@ -1,4 +1,4 @@
--// mksyscall.pl -tags linux,amd64 syscall_linux.go syscall_linux_amd64.go
-+// go run mksyscall.go -tags linux,amd64 syscall_linux.go syscall_linux_amd64.go
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- // +build linux,amd64
-@@ -14,1446 +14,8 @@ var _ syscall.Errno
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func fchmodat(dirfd int, path string, mode uint32) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func ioctl(fd int, req uint, arg uintptr) (err error) {
--	_, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(oldpath)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(newpath)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0)
--	fd = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {
--	r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0)
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 unsafe.Pointer
--	if len(buf) > 0 {
--		_p1 = unsafe.Pointer(&buf[0])
--	} else {
--		_p1 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0)
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(oldpath)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(newpath)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Unlinkat(dirfd int, path string, flags int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func utimes(path string, times *[2]Timeval) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) {
--	_, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(times)))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getcwd(buf []byte) (n int, err error) {
--	var _p0 unsafe.Pointer
--	if len(buf) > 0 {
--		_p0 = unsafe.Pointer(&buf[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0)
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) {
--	r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0)
--	wpid = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) {
--	r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0)
--	ret = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) {
--	var _p0 unsafe.Pointer
--	if len(buf) > 0 {
--		_p0 = unsafe.Pointer(&buf[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0)
--	ret = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func keyctlJoin(cmd int, arg2 string) (ret int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(arg2)
--	if err != nil {
--		return
--	}
--	r0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0)
--	ret = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(arg3)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(arg4)
--	if err != nil {
--		return
--	}
--	r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0)
--	ret = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) {
--	var _p0 unsafe.Pointer
--	if len(payload) > 0 {
--		_p0 = unsafe.Pointer(&payload[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) {
--	var _p0 unsafe.Pointer
--	if len(buf) > 0 {
--		_p0 = unsafe.Pointer(&buf[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0)
--	ret = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) {
--	_, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(arg)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(source)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(target)
--	if err != nil {
--		return
--	}
--	var _p2 *byte
--	_p2, err = BytePtrFromString(fstype)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Acct(path string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(keyType)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(description)
--	if err != nil {
--		return
--	}
--	var _p2 unsafe.Pointer
--	if len(payload) > 0 {
--		_p2 = unsafe.Pointer(&payload[0])
--	} else {
--		_p2 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0)
--	id = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Adjtimex(buf *Timex) (state int, err error) {
--	r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0)
--	state = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Chdir(path string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Chroot(path string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func ClockGettime(clockid int32, time *Timespec) (err error) {
--	_, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Close(fd int) (err error) {
--	_, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) {
--	r0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags))
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Dup(oldfd int) (fd int, err error) {
--	r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0)
--	fd = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Dup3(oldfd int, newfd int, flags int) (err error) {
--	_, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func EpollCreate(size int) (fd int, err error) {
--	r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0)
--	fd = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func EpollCreate1(flag int) (fd int, err error) {
--	r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0)
--	fd = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) {
--	_, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Eventfd(initval uint, flags int) (fd int, err error) {
--	r0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0)
--	fd = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Exit(code int) {
--	Syscall(SYS_EXIT_GROUP, uintptr(code), 0, 0)
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Fallocate(fd int, mode uint32, off int64, len int64) (err error) {
--	_, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Fchdir(fd int) (err error) {
--	_, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Fchmod(fd int, mode uint32) (err error) {
--	_, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func fcntl(fd int, cmd int, arg int) (val int, err error) {
--	r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg))
--	val = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Fdatasync(fd int) (err error) {
--	_, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Flock(fd int, how int) (err error) {
--	_, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Fsync(fd int) (err error) {
--	_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getdents(fd int, buf []byte) (n int, err error) {
--	var _p0 unsafe.Pointer
--	if len(buf) > 0 {
--		_p0 = unsafe.Pointer(&buf[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf)))
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getpgid(pid int) (pgid int, err error) {
--	r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0)
--	pgid = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getpid() (pid int) {
--	r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0)
--	pid = int(r0)
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getppid() (ppid int) {
--	r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0)
--	ppid = int(r0)
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getpriority(which int, who int) (prio int, err error) {
--	r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0)
--	prio = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getrandom(buf []byte, flags int) (n int, err error) {
--	var _p0 unsafe.Pointer
--	if len(buf) > 0 {
--		_p0 = unsafe.Pointer(&buf[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags))
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getrusage(who int, rusage *Rusage) (err error) {
--	_, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getsid(pid int) (sid int, err error) {
--	r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0)
--	sid = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Gettid() (tid int) {
--	r0, _, _ := RawSyscall(SYS_GETTID, 0, 0, 0)
--	tid = int(r0)
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getxattr(path string, attr string, dest []byte) (sz int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(attr)
--	if err != nil {
--		return
--	}
--	var _p2 unsafe.Pointer
--	if len(dest) > 0 {
--		_p2 = unsafe.Pointer(&dest[0])
--	} else {
--		_p2 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0)
--	sz = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(pathname)
--	if err != nil {
--		return
--	}
--	r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask))
--	watchdesc = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func InotifyInit1(flags int) (fd int, err error) {
--	r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0)
--	fd = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) {
--	r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0)
--	success = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Kill(pid int, sig syscall.Signal) (err error) {
--	_, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Klogctl(typ int, buf []byte) (n int, err error) {
--	var _p0 unsafe.Pointer
--	if len(buf) > 0 {
--		_p0 = unsafe.Pointer(&buf[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf)))
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Lgetxattr(path string, attr string, dest []byte) (sz int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(attr)
--	if err != nil {
--		return
--	}
--	var _p2 unsafe.Pointer
--	if len(dest) > 0 {
--		_p2 = unsafe.Pointer(&dest[0])
--	} else {
--		_p2 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0)
--	sz = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Listxattr(path string, dest []byte) (sz int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 unsafe.Pointer
--	if len(dest) > 0 {
--		_p1 = unsafe.Pointer(&dest[0])
--	} else {
--		_p1 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)))
--	sz = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Llistxattr(path string, dest []byte) (sz int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 unsafe.Pointer
--	if len(dest) > 0 {
--		_p1 = unsafe.Pointer(&dest[0])
--	} else {
--		_p1 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)))
--	sz = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Lremovexattr(path string, attr string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(attr)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Lsetxattr(path string, attr string, data []byte, flags int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(attr)
--	if err != nil {
--		return
--	}
--	var _p2 unsafe.Pointer
--	if len(data) > 0 {
--		_p2 = unsafe.Pointer(&data[0])
--	} else {
--		_p2 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Mkdirat(dirfd int, path string, mode uint32) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Nanosleep(time *Timespec, leftover *Timespec) (err error) {
--	_, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func PivotRoot(newroot string, putold string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(newroot)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(putold)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) {
--	_, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) {
--	_, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func read(fd int, p []byte) (n int, err error) {
--	var _p0 unsafe.Pointer
--	if len(p) > 0 {
--		_p0 = unsafe.Pointer(&p[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p)))
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Removexattr(path string, attr string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(attr)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(oldpath)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(newpath)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(keyType)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(description)
--	if err != nil {
--		return
--	}
--	var _p2 *byte
--	_p2, err = BytePtrFromString(callback)
--	if err != nil {
--		return
--	}
--	r0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0)
--	id = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Setdomainname(p []byte) (err error) {
--	var _p0 unsafe.Pointer
--	if len(p) > 0 {
--		_p0 = unsafe.Pointer(&p[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Sethostname(p []byte) (err error) {
--	var _p0 unsafe.Pointer
--	if len(p) > 0 {
--		_p0 = unsafe.Pointer(&p[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Setpgid(pid int, pgid int) (err error) {
--	_, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Setsid() (pid int, err error) {
--	r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0)
--	pid = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Settimeofday(tv *Timeval) (err error) {
--	_, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Setns(fd int, nstype int) (err error) {
--	_, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Setpriority(which int, who int, prio int) (err error) {
--	_, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Setxattr(path string, attr string, data []byte, flags int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(attr)
--	if err != nil {
--		return
--	}
--	var _p2 unsafe.Pointer
--	if len(data) > 0 {
--		_p2 = unsafe.Pointer(&data[0])
--	} else {
--		_p2 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Sync() {
--	Syscall(SYS_SYNC, 0, 0, 0)
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Syncfs(fd int) (err error) {
--	_, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Sysinfo(info *Sysinfo_t) (err error) {
--	_, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) {
--	r0, _, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0)
--	n = int64(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) {
--	_, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Times(tms *Tms) (ticks uintptr, err error) {
--	r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0)
--	ticks = uintptr(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Umask(mask int) (oldmask int) {
--	r0, _, _ := RawSyscall(SYS_UMASK, uintptr(mask), 0, 0)
--	oldmask = int(r0)
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Uname(buf *Utsname) (err error) {
--	_, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Unmount(target string, flags int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(target)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Unshare(flags int) (err error) {
--	_, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Ustat(dev int, ubuf *Ustat_t) (err error) {
--	_, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func write(fd int, p []byte) (n int, err error) {
--	var _p0 unsafe.Pointer
--	if len(p) > 0 {
--		_p0 = unsafe.Pointer(&p[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)))
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func exitThread(code int) (err error) {
--	_, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func readlen(fd int, p *byte, np int) (n int, err error) {
--	r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np))
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func writelen(fd int, p *byte, np int) (n int, err error) {
--	r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np))
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func munmap(addr uintptr, length uintptr) (err error) {
--	_, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Madvise(b []byte, advice int) (err error) {
--	var _p0 unsafe.Pointer
--	if len(b) > 0 {
--		_p0 = unsafe.Pointer(&b[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Mprotect(b []byte, prot int) (err error) {
--	var _p0 unsafe.Pointer
--	if len(b) > 0 {
--		_p0 = unsafe.Pointer(&b[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Mlock(b []byte) (err error) {
--	var _p0 unsafe.Pointer
--	if len(b) > 0 {
--		_p0 = unsafe.Pointer(&b[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Munlock(b []byte) (err error) {
--	var _p0 unsafe.Pointer
--	if len(b) > 0 {
--		_p0 = unsafe.Pointer(&b[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)
-+func fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error) {
-+	_, _, e1 := Syscall6(SYS_FANOTIFY_MARK, uintptr(fd), uintptr(flags), uintptr(mask), uintptr(dirFd), uintptr(unsafe.Pointer(pathname)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1462,8 +24,8 @@ func Munlock(b []byte) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Mlockall(flags int) (err error) {
--	_, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)
-+func Fallocate(fd int, mode uint32, off int64, len int64) (err error) {
-+	_, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1472,14 +34,9 @@ func Mlockall(flags int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Msync(b []byte, flags int) (err error) {
--	var _p0 unsafe.Pointer
--	if len(b) > 0 {
--		_p0 = unsafe.Pointer(&b[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))
-+func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) {
-+	r0, _, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0)
-+	n = int64(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1488,8 +45,8 @@ func Msync(b []byte, flags int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Munlockall() (err error) {
--	_, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)
-+func Dup2(oldfd int, newfd int) (err error) {
-+	_, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1498,8 +55,9 @@ func Munlockall() (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Dup2(oldfd int, newfd int) (err error) {
--	_, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0)
-+func EpollCreate(size int) (fd int, err error) {
-+	r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0)
-+	fd = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1555,6 +113,21 @@ func Fstat(fd int, stat *Stat_t) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_NEWFSTATAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Fstatfs(fd int, buf *Statfs_t) (err error) {
- 	_, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0)
- 	if e1 != 0 {
-@@ -1576,7 +149,7 @@ func Ftruncate(fd int, length int64) (err error) {
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Getegid() (egid int) {
--	r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0)
-+	r0, _ := RawSyscallNoError(SYS_GETEGID, 0, 0, 0)
- 	egid = int(r0)
- 	return
- }
-@@ -1584,7 +157,7 @@ func Getegid() (egid int) {
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Geteuid() (euid int) {
--	r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0)
-+	r0, _ := RawSyscallNoError(SYS_GETEUID, 0, 0, 0)
- 	euid = int(r0)
- 	return
- }
-@@ -1592,7 +165,7 @@ func Geteuid() (euid int) {
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Getgid() (gid int) {
--	r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0)
-+	r0, _ := RawSyscallNoError(SYS_GETGID, 0, 0, 0)
- 	gid = int(r0)
- 	return
- }
-@@ -1610,14 +183,14 @@ func Getrlimit(resource int, rlim *Rlimit) (err error) {
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Getuid() (uid int) {
--	r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0)
-+	r0, _ := RawSyscallNoError(SYS_GETUID, 0, 0, 0)
- 	uid = int(r0)
- 	return
- }
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func InotifyInit() (fd int, err error) {
-+func inotifyInit() (fd int, err error) {
- 	r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0)
- 	fd = int(r0)
- 	if e1 != 0 {
-@@ -1673,21 +246,6 @@ func Listen(s int, n int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Lstat(path string, stat *Stat_t) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
- func Pause() (err error) {
- 	_, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0)
- 	if e1 != 0 {
-@@ -1732,9 +290,18 @@ func Pwrite(fd int, p []byte, offset int64) (n int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Seek(fd int, offset int64, whence int) (off int64, err error) {
--	r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence))
--	off = int64(r0)
-+func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(oldpath)
-+	if err != nil {
-+		return
-+	}
-+	var _p1 *byte
-+	_p1, err = BytePtrFromString(newpath)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1743,9 +310,9 @@ func Seek(fd int, offset int64, whence int) (off int64, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) {
--	r0, _, e1 := Syscall6(SYS_SELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)
--	n = int(r0)
-+func Seek(fd int, offset int64, whence int) (off int64, err error) {
-+	r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence))
-+	off = int64(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1765,8 +332,9 @@ func sendfile(outfd int, infd int, offset *int64, count int) (written int, err e
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Setfsgid(gid int) (err error) {
--	_, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0)
-+func setfsgid(gid int) (prev int, err error) {
-+	r0, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0)
-+	prev = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1775,8 +343,9 @@ func Setfsgid(gid int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Setfsuid(uid int) (err error) {
--	_, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0)
-+func setfsuid(uid int) (prev int, err error) {
-+	r0, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0)
-+	prev = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1856,21 +425,6 @@ func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n i
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Stat(path string, stat *Stat_t) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
- func Statfs(path string, buf *Statfs_t) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -1911,6 +465,16 @@ func Truncate(path string, length int64) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Ustat(dev int, ubuf *Ustat_t) (err error) {
-+	_, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {
- 	r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))
- 	fd = int(r0)
-@@ -2101,6 +665,21 @@ func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int6
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func futimesat(dirfd int, path string, times *[2]Timeval) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Utime(path string, buf *Utimbuf) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -2116,8 +695,13 @@ func Utime(path string, buf *Utimbuf) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func pipe(p *[2]_C_int) (err error) {
--	_, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0)
-+func utimes(path string, times *[2]Timeval) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -2126,8 +710,8 @@ func pipe(p *[2]_C_int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func pipe2(p *[2]_C_int, flags int) (err error) {
--	_, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0)
-+func pipe(p *[2]_C_int) (err error) {
-+	_, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -2144,3 +728,18 @@ func poll(fds *PollFd, nfds int, timeout int) (n int, err error) {
- 	}
- 	return
- }
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(cmdline)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_KEXEC_FILE_LOAD, uintptr(kernelFd), uintptr(initrdFd), uintptr(cmdlineLen), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go
-index 4d280427..ac19523e 100644
---- a/vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go
-+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go
-@@ -1,4 +1,4 @@
--// mksyscall.pl -l32 -arm -tags linux,arm syscall_linux.go syscall_linux_arm.go
-+// go run mksyscall.go -l32 -arm -tags linux,arm syscall_linux.go syscall_linux_arm.go
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- // +build linux,arm
-@@ -14,1456 +14,8 @@ var _ syscall.Errno
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func fchmodat(dirfd int, path string, mode uint32) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func ioctl(fd int, req uint, arg uintptr) (err error) {
--	_, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(oldpath)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(newpath)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0)
--	fd = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {
--	r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0)
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 unsafe.Pointer
--	if len(buf) > 0 {
--		_p1 = unsafe.Pointer(&buf[0])
--	} else {
--		_p1 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0)
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(oldpath)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(newpath)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Unlinkat(dirfd int, path string, flags int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func utimes(path string, times *[2]Timeval) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) {
--	_, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(times)))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getcwd(buf []byte) (n int, err error) {
--	var _p0 unsafe.Pointer
--	if len(buf) > 0 {
--		_p0 = unsafe.Pointer(&buf[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0)
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) {
--	r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0)
--	wpid = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) {
--	r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0)
--	ret = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) {
--	var _p0 unsafe.Pointer
--	if len(buf) > 0 {
--		_p0 = unsafe.Pointer(&buf[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0)
--	ret = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func keyctlJoin(cmd int, arg2 string) (ret int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(arg2)
--	if err != nil {
--		return
--	}
--	r0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0)
--	ret = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(arg3)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(arg4)
--	if err != nil {
--		return
--	}
--	r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0)
--	ret = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) {
--	var _p0 unsafe.Pointer
--	if len(payload) > 0 {
--		_p0 = unsafe.Pointer(&payload[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) {
--	var _p0 unsafe.Pointer
--	if len(buf) > 0 {
--		_p0 = unsafe.Pointer(&buf[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0)
--	ret = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) {
--	_, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(arg)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(source)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(target)
--	if err != nil {
--		return
--	}
--	var _p2 *byte
--	_p2, err = BytePtrFromString(fstype)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Acct(path string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(keyType)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(description)
--	if err != nil {
--		return
--	}
--	var _p2 unsafe.Pointer
--	if len(payload) > 0 {
--		_p2 = unsafe.Pointer(&payload[0])
--	} else {
--		_p2 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0)
--	id = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Adjtimex(buf *Timex) (state int, err error) {
--	r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0)
--	state = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Chdir(path string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Chroot(path string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func ClockGettime(clockid int32, time *Timespec) (err error) {
--	_, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Close(fd int) (err error) {
--	_, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) {
--	r0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags))
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Dup(oldfd int) (fd int, err error) {
--	r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0)
--	fd = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Dup3(oldfd int, newfd int, flags int) (err error) {
--	_, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func EpollCreate(size int) (fd int, err error) {
--	r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0)
--	fd = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func EpollCreate1(flag int) (fd int, err error) {
--	r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0)
--	fd = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) {
--	_, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Eventfd(initval uint, flags int) (fd int, err error) {
--	r0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0)
--	fd = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Exit(code int) {
--	Syscall(SYS_EXIT_GROUP, uintptr(code), 0, 0)
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Fallocate(fd int, mode uint32, off int64, len int64) (err error) {
--	_, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(off>>32), uintptr(len), uintptr(len>>32))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Fchdir(fd int) (err error) {
--	_, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Fchmod(fd int, mode uint32) (err error) {
--	_, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func fcntl(fd int, cmd int, arg int) (val int, err error) {
--	r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg))
--	val = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Fdatasync(fd int) (err error) {
--	_, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Flock(fd int, how int) (err error) {
--	_, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Fsync(fd int) (err error) {
--	_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getdents(fd int, buf []byte) (n int, err error) {
--	var _p0 unsafe.Pointer
--	if len(buf) > 0 {
--		_p0 = unsafe.Pointer(&buf[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf)))
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getpgid(pid int) (pgid int, err error) {
--	r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0)
--	pgid = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getpid() (pid int) {
--	r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0)
--	pid = int(r0)
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getppid() (ppid int) {
--	r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0)
--	ppid = int(r0)
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getpriority(which int, who int) (prio int, err error) {
--	r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0)
--	prio = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getrandom(buf []byte, flags int) (n int, err error) {
--	var _p0 unsafe.Pointer
--	if len(buf) > 0 {
--		_p0 = unsafe.Pointer(&buf[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags))
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getrusage(who int, rusage *Rusage) (err error) {
--	_, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getsid(pid int) (sid int, err error) {
--	r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0)
--	sid = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Gettid() (tid int) {
--	r0, _, _ := RawSyscall(SYS_GETTID, 0, 0, 0)
--	tid = int(r0)
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getxattr(path string, attr string, dest []byte) (sz int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(attr)
--	if err != nil {
--		return
--	}
--	var _p2 unsafe.Pointer
--	if len(dest) > 0 {
--		_p2 = unsafe.Pointer(&dest[0])
--	} else {
--		_p2 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0)
--	sz = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(pathname)
--	if err != nil {
--		return
--	}
--	r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask))
--	watchdesc = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func InotifyInit1(flags int) (fd int, err error) {
--	r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0)
--	fd = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) {
--	r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0)
--	success = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Kill(pid int, sig syscall.Signal) (err error) {
--	_, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Klogctl(typ int, buf []byte) (n int, err error) {
--	var _p0 unsafe.Pointer
--	if len(buf) > 0 {
--		_p0 = unsafe.Pointer(&buf[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf)))
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Lgetxattr(path string, attr string, dest []byte) (sz int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(attr)
--	if err != nil {
--		return
--	}
--	var _p2 unsafe.Pointer
--	if len(dest) > 0 {
--		_p2 = unsafe.Pointer(&dest[0])
--	} else {
--		_p2 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0)
--	sz = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Listxattr(path string, dest []byte) (sz int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 unsafe.Pointer
--	if len(dest) > 0 {
--		_p1 = unsafe.Pointer(&dest[0])
--	} else {
--		_p1 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)))
--	sz = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Llistxattr(path string, dest []byte) (sz int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 unsafe.Pointer
--	if len(dest) > 0 {
--		_p1 = unsafe.Pointer(&dest[0])
--	} else {
--		_p1 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)))
--	sz = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Lremovexattr(path string, attr string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(attr)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Lsetxattr(path string, attr string, data []byte, flags int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(attr)
--	if err != nil {
--		return
--	}
--	var _p2 unsafe.Pointer
--	if len(data) > 0 {
--		_p2 = unsafe.Pointer(&data[0])
--	} else {
--		_p2 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Mkdirat(dirfd int, path string, mode uint32) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Nanosleep(time *Timespec, leftover *Timespec) (err error) {
--	_, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func PivotRoot(newroot string, putold string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(newroot)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(putold)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) {
--	_, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) {
--	_, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func read(fd int, p []byte) (n int, err error) {
--	var _p0 unsafe.Pointer
--	if len(p) > 0 {
--		_p0 = unsafe.Pointer(&p[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p)))
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Removexattr(path string, attr string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(attr)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(oldpath)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(newpath)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(keyType)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(description)
--	if err != nil {
--		return
--	}
--	var _p2 *byte
--	_p2, err = BytePtrFromString(callback)
--	if err != nil {
--		return
--	}
--	r0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0)
--	id = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Setdomainname(p []byte) (err error) {
--	var _p0 unsafe.Pointer
--	if len(p) > 0 {
--		_p0 = unsafe.Pointer(&p[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Sethostname(p []byte) (err error) {
--	var _p0 unsafe.Pointer
--	if len(p) > 0 {
--		_p0 = unsafe.Pointer(&p[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Setpgid(pid int, pgid int) (err error) {
--	_, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Setsid() (pid int, err error) {
--	r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0)
--	pid = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Settimeofday(tv *Timeval) (err error) {
--	_, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Setns(fd int, nstype int) (err error) {
--	_, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Setpriority(which int, who int, prio int) (err error) {
--	_, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Setxattr(path string, attr string, data []byte, flags int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(attr)
--	if err != nil {
--		return
--	}
--	var _p2 unsafe.Pointer
--	if len(data) > 0 {
--		_p2 = unsafe.Pointer(&data[0])
--	} else {
--		_p2 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Sync() {
--	Syscall(SYS_SYNC, 0, 0, 0)
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Syncfs(fd int) (err error) {
--	_, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Sysinfo(info *Sysinfo_t) (err error) {
--	_, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) {
--	r0, r1, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0)
--	n = int64(int64(r1)<<32 | int64(r0))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) {
--	_, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Times(tms *Tms) (ticks uintptr, err error) {
--	r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0)
--	ticks = uintptr(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Umask(mask int) (oldmask int) {
--	r0, _, _ := RawSyscall(SYS_UMASK, uintptr(mask), 0, 0)
--	oldmask = int(r0)
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Uname(buf *Utsname) (err error) {
--	_, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Unmount(target string, flags int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(target)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Unshare(flags int) (err error) {
--	_, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Ustat(dev int, ubuf *Ustat_t) (err error) {
--	_, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func write(fd int, p []byte) (n int, err error) {
--	var _p0 unsafe.Pointer
--	if len(p) > 0 {
--		_p0 = unsafe.Pointer(&p[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)))
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func exitThread(code int) (err error) {
--	_, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func readlen(fd int, p *byte, np int) (n int, err error) {
--	r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np))
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func writelen(fd int, p *byte, np int) (n int, err error) {
--	r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np))
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func munmap(addr uintptr, length uintptr) (err error) {
--	_, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Madvise(b []byte, advice int) (err error) {
--	var _p0 unsafe.Pointer
--	if len(b) > 0 {
--		_p0 = unsafe.Pointer(&b[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Mprotect(b []byte, prot int) (err error) {
--	var _p0 unsafe.Pointer
--	if len(b) > 0 {
--		_p0 = unsafe.Pointer(&b[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Mlock(b []byte) (err error) {
--	var _p0 unsafe.Pointer
--	if len(b) > 0 {
--		_p0 = unsafe.Pointer(&b[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Munlock(b []byte) (err error) {
--	var _p0 unsafe.Pointer
--	if len(b) > 0 {
--		_p0 = unsafe.Pointer(&b[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Mlockall(flags int) (err error) {
--	_, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)
-+func fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error) {
-+	_, _, e1 := Syscall6(SYS_FANOTIFY_MARK, uintptr(fd), uintptr(flags), uintptr(mask), uintptr(mask>>32), uintptr(dirFd), uintptr(unsafe.Pointer(pathname)))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1472,14 +24,8 @@ func Mlockall(flags int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Msync(b []byte, flags int) (err error) {
--	var _p0 unsafe.Pointer
--	if len(b) > 0 {
--		_p0 = unsafe.Pointer(&b[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))
-+func Fallocate(fd int, mode uint32, off int64, len int64) (err error) {
-+	_, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(off>>32), uintptr(len), uintptr(len>>32))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1488,8 +34,9 @@ func Msync(b []byte, flags int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Munlockall() (err error) {
--	_, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)
-+func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) {
-+	r0, r1, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0)
-+	n = int64(int64(r1)<<32 | int64(r0))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1498,8 +45,8 @@ func Munlockall() (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func pipe2(p *[2]_C_int, flags int) (err error) {
--	_, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0)
-+func pipe(p *[2]_C_int) (err error) {
-+	_, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1697,6 +244,34 @@ func Dup2(oldfd int, newfd int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func EpollCreate(size int) (fd int, err error) {
-+	r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0)
-+	fd = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) {
-+	var _p0 unsafe.Pointer
-+	if len(events) > 0 {
-+		_p0 = unsafe.Pointer(&events[0])
-+	} else {
-+		_p0 = unsafe.Pointer(&_zero)
-+	}
-+	r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0)
-+	n = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Fchown(fd int, uid int, gid int) (err error) {
- 	_, _, e1 := Syscall(SYS_FCHOWN32, uintptr(fd), uintptr(uid), uintptr(gid))
- 	if e1 != 0 {
-@@ -1717,8 +292,23 @@ func Fstat(fd int, stat *Stat_t) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_FSTATAT64, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Getegid() (egid int) {
--	r0, _, _ := RawSyscall(SYS_GETEGID32, 0, 0, 0)
-+	r0, _ := RawSyscallNoError(SYS_GETEGID32, 0, 0, 0)
- 	egid = int(r0)
- 	return
- }
-@@ -1726,7 +316,7 @@ func Getegid() (egid int) {
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Geteuid() (euid int) {
--	r0, _, _ := RawSyscall(SYS_GETEUID32, 0, 0, 0)
-+	r0, _ := RawSyscallNoError(SYS_GETEUID32, 0, 0, 0)
- 	euid = int(r0)
- 	return
- }
-@@ -1734,7 +324,7 @@ func Geteuid() (euid int) {
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Getgid() (gid int) {
--	r0, _, _ := RawSyscall(SYS_GETGID32, 0, 0, 0)
-+	r0, _ := RawSyscallNoError(SYS_GETGID32, 0, 0, 0)
- 	gid = int(r0)
- 	return
- }
-@@ -1742,7 +332,7 @@ func Getgid() (gid int) {
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Getuid() (uid int) {
--	r0, _, _ := RawSyscall(SYS_GETUID32, 0, 0, 0)
-+	r0, _ := RawSyscallNoError(SYS_GETUID32, 0, 0, 0)
- 	uid = int(r0)
- 	return
- }
-@@ -1800,6 +390,36 @@ func Lstat(path string, stat *Stat_t) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Pause() (err error) {
-+	_, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(oldpath)
-+	if err != nil {
-+		return
-+	}
-+	var _p1 *byte
-+	_p1, err = BytePtrFromString(newpath)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {
- 	r0, _, e1 := Syscall6(SYS_SENDFILE64, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0)
- 	written = int(r0)
-@@ -1822,8 +442,9 @@ func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Setfsgid(gid int) (err error) {
--	_, _, e1 := Syscall(SYS_SETFSGID32, uintptr(gid), 0, 0)
-+func setfsgid(gid int) (prev int, err error) {
-+	r0, _, e1 := Syscall(SYS_SETFSGID32, uintptr(gid), 0, 0)
-+	prev = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1832,8 +453,9 @@ func Setfsgid(gid int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Setfsuid(uid int) (err error) {
--	_, _, e1 := Syscall(SYS_SETFSUID32, uintptr(uid), 0, 0)
-+func setfsuid(uid int) (prev int, err error) {
-+	r0, _, e1 := Syscall(SYS_SETFSUID32, uintptr(uid), 0, 0)
-+	prev = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1918,8 +540,8 @@ func Stat(path string, stat *Stat_t) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Gettimeofday(tv *Timeval) (err error) {
--	_, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)
-+func Ustat(dev int, ubuf *Ustat_t) (err error) {
-+	_, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1928,15 +550,13 @@ func Gettimeofday(tv *Timeval) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) {
--	var _p0 unsafe.Pointer
--	if len(events) > 0 {
--		_p0 = unsafe.Pointer(&events[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
-+func futimesat(dirfd int, path string, times *[2]Timeval) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
- 	}
--	r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0)
--	n = int(r0)
-+	_, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1945,8 +565,23 @@ func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Pause() (err error) {
--	_, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0)
-+func Gettimeofday(tv *Timeval) (err error) {
-+	_, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func utimes(path string, times *[2]Timeval) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -2053,3 +688,28 @@ func poll(fds *PollFd, nfds int, timeout int) (n int, err error) {
- 	}
- 	return
- }
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func armSyncFileRange(fd int, flags int, off int64, n int64) (err error) {
-+	_, _, e1 := Syscall6(SYS_ARM_SYNC_FILE_RANGE, uintptr(fd), uintptr(flags), uintptr(off), uintptr(off>>32), uintptr(n), uintptr(n>>32))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(cmdline)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_KEXEC_FILE_LOAD, uintptr(kernelFd), uintptr(initrdFd), uintptr(cmdlineLen), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go
-index 20ad4b6c..f0d2890b 100644
---- a/vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go
-+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go
-@@ -1,4 +1,4 @@
--// mksyscall.pl -tags linux,arm64 syscall_linux.go syscall_linux_arm64.go
-+// go run mksyscall.go -tags linux,arm64 syscall_linux.go syscall_linux_arm64.go
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- // +build linux,arm64
-@@ -14,1228 +14,8 @@ var _ syscall.Errno
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func fchmodat(dirfd int, path string, mode uint32) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func ioctl(fd int, req uint, arg uintptr) (err error) {
--	_, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(oldpath)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(newpath)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0)
--	fd = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {
--	r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0)
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 unsafe.Pointer
--	if len(buf) > 0 {
--		_p1 = unsafe.Pointer(&buf[0])
--	} else {
--		_p1 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0)
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(oldpath)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(newpath)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Unlinkat(dirfd int, path string, flags int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func utimes(path string, times *[2]Timeval) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) {
--	_, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(times)))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getcwd(buf []byte) (n int, err error) {
--	var _p0 unsafe.Pointer
--	if len(buf) > 0 {
--		_p0 = unsafe.Pointer(&buf[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0)
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) {
--	r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0)
--	wpid = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) {
--	r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0)
--	ret = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) {
--	var _p0 unsafe.Pointer
--	if len(buf) > 0 {
--		_p0 = unsafe.Pointer(&buf[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0)
--	ret = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func keyctlJoin(cmd int, arg2 string) (ret int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(arg2)
--	if err != nil {
--		return
--	}
--	r0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0)
--	ret = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(arg3)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(arg4)
--	if err != nil {
--		return
--	}
--	r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0)
--	ret = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) {
--	var _p0 unsafe.Pointer
--	if len(payload) > 0 {
--		_p0 = unsafe.Pointer(&payload[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) {
--	var _p0 unsafe.Pointer
--	if len(buf) > 0 {
--		_p0 = unsafe.Pointer(&buf[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0)
--	ret = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) {
--	_, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(arg)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(source)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(target)
--	if err != nil {
--		return
--	}
--	var _p2 *byte
--	_p2, err = BytePtrFromString(fstype)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Acct(path string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(keyType)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(description)
--	if err != nil {
--		return
--	}
--	var _p2 unsafe.Pointer
--	if len(payload) > 0 {
--		_p2 = unsafe.Pointer(&payload[0])
--	} else {
--		_p2 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0)
--	id = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Adjtimex(buf *Timex) (state int, err error) {
--	r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0)
--	state = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Chdir(path string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Chroot(path string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func ClockGettime(clockid int32, time *Timespec) (err error) {
--	_, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Close(fd int) (err error) {
--	_, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) {
--	r0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags))
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Dup(oldfd int) (fd int, err error) {
--	r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0)
--	fd = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Dup3(oldfd int, newfd int, flags int) (err error) {
--	_, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func EpollCreate(size int) (fd int, err error) {
--	r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0)
--	fd = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func EpollCreate1(flag int) (fd int, err error) {
--	r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0)
--	fd = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) {
--	_, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Eventfd(initval uint, flags int) (fd int, err error) {
--	r0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0)
--	fd = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Exit(code int) {
--	Syscall(SYS_EXIT_GROUP, uintptr(code), 0, 0)
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Fallocate(fd int, mode uint32, off int64, len int64) (err error) {
--	_, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Fchdir(fd int) (err error) {
--	_, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Fchmod(fd int, mode uint32) (err error) {
--	_, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func fcntl(fd int, cmd int, arg int) (val int, err error) {
--	r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg))
--	val = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Fdatasync(fd int) (err error) {
--	_, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Flock(fd int, how int) (err error) {
--	_, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Fsync(fd int) (err error) {
--	_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getdents(fd int, buf []byte) (n int, err error) {
--	var _p0 unsafe.Pointer
--	if len(buf) > 0 {
--		_p0 = unsafe.Pointer(&buf[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf)))
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getpgid(pid int) (pgid int, err error) {
--	r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0)
--	pgid = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getpid() (pid int) {
--	r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0)
--	pid = int(r0)
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getppid() (ppid int) {
--	r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0)
--	ppid = int(r0)
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getpriority(which int, who int) (prio int, err error) {
--	r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0)
--	prio = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getrandom(buf []byte, flags int) (n int, err error) {
--	var _p0 unsafe.Pointer
--	if len(buf) > 0 {
--		_p0 = unsafe.Pointer(&buf[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags))
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getrusage(who int, rusage *Rusage) (err error) {
--	_, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getsid(pid int) (sid int, err error) {
--	r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0)
--	sid = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Gettid() (tid int) {
--	r0, _, _ := RawSyscall(SYS_GETTID, 0, 0, 0)
--	tid = int(r0)
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getxattr(path string, attr string, dest []byte) (sz int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(attr)
--	if err != nil {
--		return
--	}
--	var _p2 unsafe.Pointer
--	if len(dest) > 0 {
--		_p2 = unsafe.Pointer(&dest[0])
--	} else {
--		_p2 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0)
--	sz = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(pathname)
--	if err != nil {
--		return
--	}
--	r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask))
--	watchdesc = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func InotifyInit1(flags int) (fd int, err error) {
--	r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0)
--	fd = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) {
--	r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0)
--	success = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Kill(pid int, sig syscall.Signal) (err error) {
--	_, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Klogctl(typ int, buf []byte) (n int, err error) {
--	var _p0 unsafe.Pointer
--	if len(buf) > 0 {
--		_p0 = unsafe.Pointer(&buf[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf)))
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Lgetxattr(path string, attr string, dest []byte) (sz int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(attr)
--	if err != nil {
--		return
--	}
--	var _p2 unsafe.Pointer
--	if len(dest) > 0 {
--		_p2 = unsafe.Pointer(&dest[0])
--	} else {
--		_p2 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0)
--	sz = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Listxattr(path string, dest []byte) (sz int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 unsafe.Pointer
--	if len(dest) > 0 {
--		_p1 = unsafe.Pointer(&dest[0])
--	} else {
--		_p1 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)))
--	sz = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Llistxattr(path string, dest []byte) (sz int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 unsafe.Pointer
--	if len(dest) > 0 {
--		_p1 = unsafe.Pointer(&dest[0])
--	} else {
--		_p1 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)))
--	sz = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Lremovexattr(path string, attr string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(attr)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Lsetxattr(path string, attr string, data []byte, flags int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(attr)
--	if err != nil {
--		return
--	}
--	var _p2 unsafe.Pointer
--	if len(data) > 0 {
--		_p2 = unsafe.Pointer(&data[0])
--	} else {
--		_p2 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Mkdirat(dirfd int, path string, mode uint32) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Nanosleep(time *Timespec, leftover *Timespec) (err error) {
--	_, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func PivotRoot(newroot string, putold string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(newroot)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(putold)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) {
--	_, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) {
--	_, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func read(fd int, p []byte) (n int, err error) {
--	var _p0 unsafe.Pointer
--	if len(p) > 0 {
--		_p0 = unsafe.Pointer(&p[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p)))
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Removexattr(path string, attr string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(attr)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(oldpath)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(newpath)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(keyType)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(description)
--	if err != nil {
--		return
--	}
--	var _p2 *byte
--	_p2, err = BytePtrFromString(callback)
--	if err != nil {
--		return
--	}
--	r0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0)
--	id = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Setdomainname(p []byte) (err error) {
--	var _p0 unsafe.Pointer
--	if len(p) > 0 {
--		_p0 = unsafe.Pointer(&p[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Sethostname(p []byte) (err error) {
--	var _p0 unsafe.Pointer
--	if len(p) > 0 {
--		_p0 = unsafe.Pointer(&p[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Setpgid(pid int, pgid int) (err error) {
--	_, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Setsid() (pid int, err error) {
--	r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0)
--	pid = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Settimeofday(tv *Timeval) (err error) {
--	_, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Setns(fd int, nstype int) (err error) {
--	_, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Setpriority(which int, who int, prio int) (err error) {
--	_, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Setxattr(path string, attr string, data []byte, flags int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(attr)
--	if err != nil {
--		return
--	}
--	var _p2 unsafe.Pointer
--	if len(data) > 0 {
--		_p2 = unsafe.Pointer(&data[0])
--	} else {
--		_p2 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Sync() {
--	Syscall(SYS_SYNC, 0, 0, 0)
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Syncfs(fd int) (err error) {
--	_, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0)
-+func fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error) {
-+	_, _, e1 := Syscall6(SYS_FANOTIFY_MARK, uintptr(fd), uintptr(flags), uintptr(mask), uintptr(dirFd), uintptr(unsafe.Pointer(pathname)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1244,8 +24,8 @@ func Syncfs(fd int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Sysinfo(info *Sysinfo_t) (err error) {
--	_, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0)
-+func Fallocate(fd int, mode uint32, off int64, len int64) (err error) {
-+	_, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1265,120 +45,14 @@ func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) {
--	_, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Times(tms *Tms) (ticks uintptr, err error) {
--	r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0)
--	ticks = uintptr(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Umask(mask int) (oldmask int) {
--	r0, _, _ := RawSyscall(SYS_UMASK, uintptr(mask), 0, 0)
--	oldmask = int(r0)
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Uname(buf *Utsname) (err error) {
--	_, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Unmount(target string, flags int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(target)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Unshare(flags int) (err error) {
--	_, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Ustat(dev int, ubuf *Ustat_t) (err error) {
--	_, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func write(fd int, p []byte) (n int, err error) {
-+func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) {
- 	var _p0 unsafe.Pointer
--	if len(p) > 0 {
--		_p0 = unsafe.Pointer(&p[0])
-+	if len(events) > 0 {
-+		_p0 = unsafe.Pointer(&events[0])
- 	} else {
- 		_p0 = unsafe.Pointer(&_zero)
- 	}
--	r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)))
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func exitThread(code int) (err error) {
--	_, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func readlen(fd int, p *byte, np int) (n int, err error) {
--	r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np))
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func writelen(fd int, p *byte, np int) (n int, err error) {
--	r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np))
-+	r0, _, e1 := Syscall6(SYS_EPOLL_PWAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0)
- 	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -1388,125 +62,8 @@ func writelen(fd int, p *byte, np int) (n int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func munmap(addr uintptr, length uintptr) (err error) {
--	_, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Madvise(b []byte, advice int) (err error) {
--	var _p0 unsafe.Pointer
--	if len(b) > 0 {
--		_p0 = unsafe.Pointer(&b[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Mprotect(b []byte, prot int) (err error) {
--	var _p0 unsafe.Pointer
--	if len(b) > 0 {
--		_p0 = unsafe.Pointer(&b[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Mlock(b []byte) (err error) {
--	var _p0 unsafe.Pointer
--	if len(b) > 0 {
--		_p0 = unsafe.Pointer(&b[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Munlock(b []byte) (err error) {
--	var _p0 unsafe.Pointer
--	if len(b) > 0 {
--		_p0 = unsafe.Pointer(&b[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Mlockall(flags int) (err error) {
--	_, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Msync(b []byte, flags int) (err error) {
--	var _p0 unsafe.Pointer
--	if len(b) > 0 {
--		_p0 = unsafe.Pointer(&b[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Munlockall() (err error) {
--	_, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) {
--	var _p0 unsafe.Pointer
--	if len(events) > 0 {
--		_p0 = unsafe.Pointer(&events[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall6(SYS_EPOLL_PWAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0)
--	n = int(r0)
-+func Fadvise(fd int, offset int64, length int64, advice int) (err error) {
-+	_, _, e1 := Syscall6(SYS_FADVISE64, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1571,7 +128,7 @@ func Ftruncate(fd int, length int64) (err error) {
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Getegid() (egid int) {
--	r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0)
-+	r0, _ := RawSyscallNoError(SYS_GETEGID, 0, 0, 0)
- 	egid = int(r0)
- 	return
- }
-@@ -1579,7 +136,7 @@ func Getegid() (egid int) {
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Geteuid() (euid int) {
--	r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0)
-+	r0, _ := RawSyscallNoError(SYS_GETEUID, 0, 0, 0)
- 	euid = int(r0)
- 	return
- }
-@@ -1587,7 +144,7 @@ func Geteuid() (euid int) {
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Getgid() (gid int) {
--	r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0)
-+	r0, _ := RawSyscallNoError(SYS_GETGID, 0, 0, 0)
- 	gid = int(r0)
- 	return
- }
-@@ -1605,7 +162,7 @@ func Getrlimit(resource int, rlim *Rlimit) (err error) {
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Getuid() (uid int) {
--	r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0)
-+	r0, _ := RawSyscallNoError(SYS_GETUID, 0, 0, 0)
- 	uid = int(r0)
- 	return
- }
-@@ -1656,9 +213,18 @@ func Pwrite(fd int, p []byte, offset int64) (n int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Seek(fd int, offset int64, whence int) (off int64, err error) {
--	r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence))
--	off = int64(r0)
-+func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(oldpath)
-+	if err != nil {
-+		return
-+	}
-+	var _p1 *byte
-+	_p1, err = BytePtrFromString(newpath)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1667,9 +233,9 @@ func Seek(fd int, offset int64, whence int) (off int64, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) {
--	r0, _, e1 := Syscall6(SYS_PSELECT6, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)
--	n = int(r0)
-+func Seek(fd int, offset int64, whence int) (off int64, err error) {
-+	r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence))
-+	off = int64(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1689,8 +255,9 @@ func sendfile(outfd int, infd int, offset *int64, count int) (written int, err e
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Setfsgid(gid int) (err error) {
--	_, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0)
-+func setfsgid(gid int) (prev int, err error) {
-+	r0, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0)
-+	prev = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1699,8 +266,9 @@ func Setfsgid(gid int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Setfsuid(uid int) (err error) {
--	_, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0)
-+func setfsuid(uid int) (prev int, err error) {
-+	r0, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0)
-+	prev = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -2020,8 +588,13 @@ func Gettimeofday(tv *Timeval) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func pipe2(p *[2]_C_int, flags int) (err error) {
--	_, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0)
-+func kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(cmdline)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_KEXEC_FILE_LOAD, uintptr(kernelFd), uintptr(initrdFd), uintptr(cmdlineLen), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go
-index 9f194dc4..aecbbca7 100644
---- a/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go
-+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go
-@@ -1,4 +1,4 @@
--// mksyscall.pl -b32 -arm -tags linux,mips syscall_linux.go syscall_linux_mipsx.go
-+// go run mksyscall.go -b32 -arm -tags linux,mips syscall_linux.go syscall_linux_mipsx.go
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- // +build linux,mips
-@@ -14,1228 +14,8 @@ var _ syscall.Errno
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func fchmodat(dirfd int, path string, mode uint32) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func ioctl(fd int, req uint, arg uintptr) (err error) {
--	_, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(oldpath)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(newpath)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0)
--	fd = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {
--	r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0)
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 unsafe.Pointer
--	if len(buf) > 0 {
--		_p1 = unsafe.Pointer(&buf[0])
--	} else {
--		_p1 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0)
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(oldpath)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(newpath)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Unlinkat(dirfd int, path string, flags int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func utimes(path string, times *[2]Timeval) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) {
--	_, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(times)))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getcwd(buf []byte) (n int, err error) {
--	var _p0 unsafe.Pointer
--	if len(buf) > 0 {
--		_p0 = unsafe.Pointer(&buf[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0)
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) {
--	r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0)
--	wpid = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) {
--	r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0)
--	ret = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) {
--	var _p0 unsafe.Pointer
--	if len(buf) > 0 {
--		_p0 = unsafe.Pointer(&buf[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0)
--	ret = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func keyctlJoin(cmd int, arg2 string) (ret int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(arg2)
--	if err != nil {
--		return
--	}
--	r0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0)
--	ret = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(arg3)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(arg4)
--	if err != nil {
--		return
--	}
--	r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0)
--	ret = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) {
--	var _p0 unsafe.Pointer
--	if len(payload) > 0 {
--		_p0 = unsafe.Pointer(&payload[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) {
--	var _p0 unsafe.Pointer
--	if len(buf) > 0 {
--		_p0 = unsafe.Pointer(&buf[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0)
--	ret = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) {
--	_, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(arg)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(source)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(target)
--	if err != nil {
--		return
--	}
--	var _p2 *byte
--	_p2, err = BytePtrFromString(fstype)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Acct(path string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(keyType)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(description)
--	if err != nil {
--		return
--	}
--	var _p2 unsafe.Pointer
--	if len(payload) > 0 {
--		_p2 = unsafe.Pointer(&payload[0])
--	} else {
--		_p2 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0)
--	id = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Adjtimex(buf *Timex) (state int, err error) {
--	r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0)
--	state = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Chdir(path string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Chroot(path string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func ClockGettime(clockid int32, time *Timespec) (err error) {
--	_, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Close(fd int) (err error) {
--	_, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) {
--	r0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags))
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Dup(oldfd int) (fd int, err error) {
--	r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0)
--	fd = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Dup3(oldfd int, newfd int, flags int) (err error) {
--	_, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func EpollCreate(size int) (fd int, err error) {
--	r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0)
--	fd = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func EpollCreate1(flag int) (fd int, err error) {
--	r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0)
--	fd = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) {
--	_, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Eventfd(initval uint, flags int) (fd int, err error) {
--	r0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0)
--	fd = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Exit(code int) {
--	Syscall(SYS_EXIT_GROUP, uintptr(code), 0, 0)
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Fallocate(fd int, mode uint32, off int64, len int64) (err error) {
--	_, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off>>32), uintptr(off), uintptr(len>>32), uintptr(len))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Fchdir(fd int) (err error) {
--	_, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Fchmod(fd int, mode uint32) (err error) {
--	_, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func fcntl(fd int, cmd int, arg int) (val int, err error) {
--	r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg))
--	val = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Fdatasync(fd int) (err error) {
--	_, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Flock(fd int, how int) (err error) {
--	_, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Fsync(fd int) (err error) {
--	_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getdents(fd int, buf []byte) (n int, err error) {
--	var _p0 unsafe.Pointer
--	if len(buf) > 0 {
--		_p0 = unsafe.Pointer(&buf[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf)))
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getpgid(pid int) (pgid int, err error) {
--	r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0)
--	pgid = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getpid() (pid int) {
--	r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0)
--	pid = int(r0)
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getppid() (ppid int) {
--	r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0)
--	ppid = int(r0)
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getpriority(which int, who int) (prio int, err error) {
--	r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0)
--	prio = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getrandom(buf []byte, flags int) (n int, err error) {
--	var _p0 unsafe.Pointer
--	if len(buf) > 0 {
--		_p0 = unsafe.Pointer(&buf[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags))
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getrusage(who int, rusage *Rusage) (err error) {
--	_, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getsid(pid int) (sid int, err error) {
--	r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0)
--	sid = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Gettid() (tid int) {
--	r0, _, _ := RawSyscall(SYS_GETTID, 0, 0, 0)
--	tid = int(r0)
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getxattr(path string, attr string, dest []byte) (sz int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(attr)
--	if err != nil {
--		return
--	}
--	var _p2 unsafe.Pointer
--	if len(dest) > 0 {
--		_p2 = unsafe.Pointer(&dest[0])
--	} else {
--		_p2 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0)
--	sz = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(pathname)
--	if err != nil {
--		return
--	}
--	r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask))
--	watchdesc = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func InotifyInit1(flags int) (fd int, err error) {
--	r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0)
--	fd = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) {
--	r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0)
--	success = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Kill(pid int, sig syscall.Signal) (err error) {
--	_, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Klogctl(typ int, buf []byte) (n int, err error) {
--	var _p0 unsafe.Pointer
--	if len(buf) > 0 {
--		_p0 = unsafe.Pointer(&buf[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf)))
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Lgetxattr(path string, attr string, dest []byte) (sz int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(attr)
--	if err != nil {
--		return
--	}
--	var _p2 unsafe.Pointer
--	if len(dest) > 0 {
--		_p2 = unsafe.Pointer(&dest[0])
--	} else {
--		_p2 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0)
--	sz = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Listxattr(path string, dest []byte) (sz int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 unsafe.Pointer
--	if len(dest) > 0 {
--		_p1 = unsafe.Pointer(&dest[0])
--	} else {
--		_p1 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)))
--	sz = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Llistxattr(path string, dest []byte) (sz int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 unsafe.Pointer
--	if len(dest) > 0 {
--		_p1 = unsafe.Pointer(&dest[0])
--	} else {
--		_p1 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)))
--	sz = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Lremovexattr(path string, attr string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(attr)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Lsetxattr(path string, attr string, data []byte, flags int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(attr)
--	if err != nil {
--		return
--	}
--	var _p2 unsafe.Pointer
--	if len(data) > 0 {
--		_p2 = unsafe.Pointer(&data[0])
--	} else {
--		_p2 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Mkdirat(dirfd int, path string, mode uint32) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Nanosleep(time *Timespec, leftover *Timespec) (err error) {
--	_, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func PivotRoot(newroot string, putold string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(newroot)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(putold)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) {
--	_, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) {
--	_, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func read(fd int, p []byte) (n int, err error) {
--	var _p0 unsafe.Pointer
--	if len(p) > 0 {
--		_p0 = unsafe.Pointer(&p[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p)))
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Removexattr(path string, attr string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(attr)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(oldpath)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(newpath)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(keyType)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(description)
--	if err != nil {
--		return
--	}
--	var _p2 *byte
--	_p2, err = BytePtrFromString(callback)
--	if err != nil {
--		return
--	}
--	r0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0)
--	id = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Setdomainname(p []byte) (err error) {
--	var _p0 unsafe.Pointer
--	if len(p) > 0 {
--		_p0 = unsafe.Pointer(&p[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Sethostname(p []byte) (err error) {
--	var _p0 unsafe.Pointer
--	if len(p) > 0 {
--		_p0 = unsafe.Pointer(&p[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Setpgid(pid int, pgid int) (err error) {
--	_, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Setsid() (pid int, err error) {
--	r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0)
--	pid = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Settimeofday(tv *Timeval) (err error) {
--	_, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Setns(fd int, nstype int) (err error) {
--	_, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Setpriority(which int, who int, prio int) (err error) {
--	_, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Setxattr(path string, attr string, data []byte, flags int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(attr)
--	if err != nil {
--		return
--	}
--	var _p2 unsafe.Pointer
--	if len(data) > 0 {
--		_p2 = unsafe.Pointer(&data[0])
--	} else {
--		_p2 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Sync() {
--	Syscall(SYS_SYNC, 0, 0, 0)
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Syncfs(fd int) (err error) {
--	_, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0)
-+func fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error) {
-+	_, _, e1 := Syscall6(SYS_FANOTIFY_MARK, uintptr(fd), uintptr(flags), uintptr(mask>>32), uintptr(mask), uintptr(dirFd), uintptr(unsafe.Pointer(pathname)))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1244,8 +24,8 @@ func Syncfs(fd int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Sysinfo(info *Sysinfo_t) (err error) {
--	_, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0)
-+func Fallocate(fd int, mode uint32, off int64, len int64) (err error) {
-+	_, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off>>32), uintptr(off), uintptr(len>>32), uintptr(len))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1265,62 +45,8 @@ func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) {
--	_, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Times(tms *Tms) (ticks uintptr, err error) {
--	r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0)
--	ticks = uintptr(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Umask(mask int) (oldmask int) {
--	r0, _, _ := RawSyscall(SYS_UMASK, uintptr(mask), 0, 0)
--	oldmask = int(r0)
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Uname(buf *Utsname) (err error) {
--	_, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Unmount(target string, flags int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(target)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Unshare(flags int) (err error) {
--	_, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0)
-+func Dup2(oldfd int, newfd int) (err error) {
-+	_, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1329,8 +55,9 @@ func Unshare(flags int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Ustat(dev int, ubuf *Ustat_t) (err error) {
--	_, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0)
-+func EpollCreate(size int) (fd int, err error) {
-+	r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0)
-+	fd = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1339,46 +66,14 @@ func Ustat(dev int, ubuf *Ustat_t) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func write(fd int, p []byte) (n int, err error) {
-+func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) {
- 	var _p0 unsafe.Pointer
--	if len(p) > 0 {
--		_p0 = unsafe.Pointer(&p[0])
-+	if len(events) > 0 {
-+		_p0 = unsafe.Pointer(&events[0])
- 	} else {
- 		_p0 = unsafe.Pointer(&_zero)
- 	}
--	r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)))
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func exitThread(code int) (err error) {
--	_, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func readlen(fd int, p *byte, np int) (n int, err error) {
--	r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np))
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func writelen(fd int, p *byte, np int) (n int, err error) {
--	r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np))
-+	r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0)
- 	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -1388,118 +83,8 @@ func writelen(fd int, p *byte, np int) (n int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func munmap(addr uintptr, length uintptr) (err error) {
--	_, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Madvise(b []byte, advice int) (err error) {
--	var _p0 unsafe.Pointer
--	if len(b) > 0 {
--		_p0 = unsafe.Pointer(&b[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Mprotect(b []byte, prot int) (err error) {
--	var _p0 unsafe.Pointer
--	if len(b) > 0 {
--		_p0 = unsafe.Pointer(&b[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Mlock(b []byte) (err error) {
--	var _p0 unsafe.Pointer
--	if len(b) > 0 {
--		_p0 = unsafe.Pointer(&b[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Munlock(b []byte) (err error) {
--	var _p0 unsafe.Pointer
--	if len(b) > 0 {
--		_p0 = unsafe.Pointer(&b[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Mlockall(flags int) (err error) {
--	_, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Msync(b []byte, flags int) (err error) {
--	var _p0 unsafe.Pointer
--	if len(b) > 0 {
--		_p0 = unsafe.Pointer(&b[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Munlockall() (err error) {
--	_, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Dup2(oldfd int, newfd int) (err error) {
--	_, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0)
-+func Fadvise(fd int, offset int64, length int64, advice int) (err error) {
-+	_, _, e1 := Syscall9(SYS_FADVISE64, uintptr(fd), 0, uintptr(offset>>32), uintptr(offset), uintptr(length>>32), uintptr(length), uintptr(advice), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1529,7 +114,7 @@ func Ftruncate(fd int, length int64) (err error) {
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Getegid() (egid int) {
--	r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0)
-+	r0, _ := RawSyscallNoError(SYS_GETEGID, 0, 0, 0)
- 	egid = int(r0)
- 	return
- }
-@@ -1537,7 +122,7 @@ func Getegid() (egid int) {
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Geteuid() (euid int) {
--	r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0)
-+	r0, _ := RawSyscallNoError(SYS_GETEUID, 0, 0, 0)
- 	euid = int(r0)
- 	return
- }
-@@ -1545,7 +130,7 @@ func Geteuid() (euid int) {
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Getgid() (gid int) {
--	r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0)
-+	r0, _ := RawSyscallNoError(SYS_GETGID, 0, 0, 0)
- 	gid = int(r0)
- 	return
- }
-@@ -1553,7 +138,7 @@ func Getgid() (gid int) {
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Getuid() (uid int) {
--	r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0)
-+	r0, _ := RawSyscallNoError(SYS_GETUID, 0, 0, 0)
- 	uid = int(r0)
- 	return
- }
-@@ -1619,6 +204,26 @@ func Pwrite(fd int, p []byte, offset int64) (n int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(oldpath)
-+	if err != nil {
-+		return
-+	}
-+	var _p1 *byte
-+	_p1, err = BytePtrFromString(newpath)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) {
- 	r0, _, e1 := Syscall6(SYS__NEWSELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)
- 	n = int(r0)
-@@ -1641,8 +246,9 @@ func sendfile(outfd int, infd int, offset *int64, count int) (written int, err e
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Setfsgid(gid int) (err error) {
--	_, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0)
-+func setfsgid(gid int) (prev int, err error) {
-+	r0, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0)
-+	prev = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1651,8 +257,9 @@ func Setfsgid(gid int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Setfsuid(uid int) (err error) {
--	_, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0)
-+func setfsuid(uid int) (prev int, err error) {
-+	r0, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0)
-+	prev = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1711,9 +318,9 @@ func Shutdown(fd int, how int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) {
--	r0, r1, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags))
--	n = int64(int64(r0)<<32 | int64(r1))
-+func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) {
-+	r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags))
-+	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1747,6 +354,16 @@ func Truncate(path string, length int64) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Ustat(dev int, ubuf *Ustat_t) (err error) {
-+	_, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {
- 	r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))
- 	fd = int(r0)
-@@ -1957,6 +574,21 @@ func Iopl(level int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func futimesat(dirfd int, path string, times *[2]Timeval) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Gettimeofday(tv *Timeval) (err error) {
- 	_, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)
- 	if e1 != 0 {
-@@ -1978,13 +610,13 @@ func Time(t *Time_t) (tt Time_t, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Lstat(path string, stat *Stat_t) (err error) {
-+func Utime(path string, buf *Utimbuf) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_LSTAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
-+	_, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1993,8 +625,13 @@ func Lstat(path string, stat *Stat_t) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Fstat(fd int, stat *Stat_t) (err error) {
--	_, _, e1 := Syscall(SYS_FSTAT64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)
-+func utimes(path string, times *[2]Timeval) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -2003,13 +640,13 @@ func Fstat(fd int, stat *Stat_t) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Stat(path string, stat *Stat_t) (err error) {
-+func Lstat(path string, stat *Stat_t) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_STAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
-+	_, _, e1 := Syscall(SYS_LSTAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -2018,13 +655,23 @@ func Stat(path string, stat *Stat_t) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Utime(path string, buf *Utimbuf) (err error) {
-+func Fstat(fd int, stat *Stat_t) (err error) {
-+	_, _, e1 := Syscall(SYS_FSTAT64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0)
-+	_, _, e1 := Syscall6(SYS_FSTATAT64, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -2033,15 +680,13 @@ func Utime(path string, buf *Utimbuf) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) {
--	var _p0 unsafe.Pointer
--	if len(events) > 0 {
--		_p0 = unsafe.Pointer(&events[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
-+func Stat(path string, stat *Stat_t) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
- 	}
--	r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0)
--	n = int(r0)
-+	_, _, e1 := Syscall(SYS_STAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -2060,8 +705,10 @@ func Pause() (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func pipe2(p *[2]_C_int, flags int) (err error) {
--	_, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0)
-+func pipe() (p1 int, p2 int, err error) {
-+	r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0)
-+	p1 = int(r0)
-+	p2 = int(r1)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go
-index 4fde3ef0..424fb7fb 100644
---- a/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go
-+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go
-@@ -1,4 +1,4 @@
--// mksyscall.pl -tags linux,mips64 syscall_linux.go syscall_linux_mips64x.go
-+// go run mksyscall.go -tags linux,mips64 syscall_linux.go syscall_linux_mips64x.go
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- // +build linux,mips64
-@@ -14,1228 +14,8 @@ var _ syscall.Errno
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func fchmodat(dirfd int, path string, mode uint32) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func ioctl(fd int, req uint, arg uintptr) (err error) {
--	_, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(oldpath)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(newpath)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0)
--	fd = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {
--	r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0)
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 unsafe.Pointer
--	if len(buf) > 0 {
--		_p1 = unsafe.Pointer(&buf[0])
--	} else {
--		_p1 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0)
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(oldpath)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(newpath)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Unlinkat(dirfd int, path string, flags int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func utimes(path string, times *[2]Timeval) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) {
--	_, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(times)))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getcwd(buf []byte) (n int, err error) {
--	var _p0 unsafe.Pointer
--	if len(buf) > 0 {
--		_p0 = unsafe.Pointer(&buf[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0)
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) {
--	r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0)
--	wpid = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) {
--	r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0)
--	ret = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) {
--	var _p0 unsafe.Pointer
--	if len(buf) > 0 {
--		_p0 = unsafe.Pointer(&buf[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0)
--	ret = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func keyctlJoin(cmd int, arg2 string) (ret int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(arg2)
--	if err != nil {
--		return
--	}
--	r0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0)
--	ret = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(arg3)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(arg4)
--	if err != nil {
--		return
--	}
--	r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0)
--	ret = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) {
--	var _p0 unsafe.Pointer
--	if len(payload) > 0 {
--		_p0 = unsafe.Pointer(&payload[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) {
--	var _p0 unsafe.Pointer
--	if len(buf) > 0 {
--		_p0 = unsafe.Pointer(&buf[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0)
--	ret = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) {
--	_, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(arg)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(source)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(target)
--	if err != nil {
--		return
--	}
--	var _p2 *byte
--	_p2, err = BytePtrFromString(fstype)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Acct(path string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(keyType)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(description)
--	if err != nil {
--		return
--	}
--	var _p2 unsafe.Pointer
--	if len(payload) > 0 {
--		_p2 = unsafe.Pointer(&payload[0])
--	} else {
--		_p2 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0)
--	id = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Adjtimex(buf *Timex) (state int, err error) {
--	r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0)
--	state = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Chdir(path string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Chroot(path string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func ClockGettime(clockid int32, time *Timespec) (err error) {
--	_, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Close(fd int) (err error) {
--	_, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) {
--	r0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags))
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Dup(oldfd int) (fd int, err error) {
--	r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0)
--	fd = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Dup3(oldfd int, newfd int, flags int) (err error) {
--	_, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func EpollCreate(size int) (fd int, err error) {
--	r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0)
--	fd = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func EpollCreate1(flag int) (fd int, err error) {
--	r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0)
--	fd = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) {
--	_, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Eventfd(initval uint, flags int) (fd int, err error) {
--	r0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0)
--	fd = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Exit(code int) {
--	Syscall(SYS_EXIT_GROUP, uintptr(code), 0, 0)
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Fallocate(fd int, mode uint32, off int64, len int64) (err error) {
--	_, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Fchdir(fd int) (err error) {
--	_, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Fchmod(fd int, mode uint32) (err error) {
--	_, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func fcntl(fd int, cmd int, arg int) (val int, err error) {
--	r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg))
--	val = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Fdatasync(fd int) (err error) {
--	_, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Flock(fd int, how int) (err error) {
--	_, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Fsync(fd int) (err error) {
--	_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getdents(fd int, buf []byte) (n int, err error) {
--	var _p0 unsafe.Pointer
--	if len(buf) > 0 {
--		_p0 = unsafe.Pointer(&buf[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf)))
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getpgid(pid int) (pgid int, err error) {
--	r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0)
--	pgid = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getpid() (pid int) {
--	r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0)
--	pid = int(r0)
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getppid() (ppid int) {
--	r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0)
--	ppid = int(r0)
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getpriority(which int, who int) (prio int, err error) {
--	r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0)
--	prio = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getrandom(buf []byte, flags int) (n int, err error) {
--	var _p0 unsafe.Pointer
--	if len(buf) > 0 {
--		_p0 = unsafe.Pointer(&buf[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags))
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getrusage(who int, rusage *Rusage) (err error) {
--	_, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getsid(pid int) (sid int, err error) {
--	r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0)
--	sid = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Gettid() (tid int) {
--	r0, _, _ := RawSyscall(SYS_GETTID, 0, 0, 0)
--	tid = int(r0)
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getxattr(path string, attr string, dest []byte) (sz int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(attr)
--	if err != nil {
--		return
--	}
--	var _p2 unsafe.Pointer
--	if len(dest) > 0 {
--		_p2 = unsafe.Pointer(&dest[0])
--	} else {
--		_p2 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0)
--	sz = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(pathname)
--	if err != nil {
--		return
--	}
--	r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask))
--	watchdesc = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func InotifyInit1(flags int) (fd int, err error) {
--	r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0)
--	fd = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) {
--	r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0)
--	success = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Kill(pid int, sig syscall.Signal) (err error) {
--	_, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Klogctl(typ int, buf []byte) (n int, err error) {
--	var _p0 unsafe.Pointer
--	if len(buf) > 0 {
--		_p0 = unsafe.Pointer(&buf[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf)))
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Lgetxattr(path string, attr string, dest []byte) (sz int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(attr)
--	if err != nil {
--		return
--	}
--	var _p2 unsafe.Pointer
--	if len(dest) > 0 {
--		_p2 = unsafe.Pointer(&dest[0])
--	} else {
--		_p2 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0)
--	sz = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Listxattr(path string, dest []byte) (sz int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 unsafe.Pointer
--	if len(dest) > 0 {
--		_p1 = unsafe.Pointer(&dest[0])
--	} else {
--		_p1 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)))
--	sz = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Llistxattr(path string, dest []byte) (sz int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 unsafe.Pointer
--	if len(dest) > 0 {
--		_p1 = unsafe.Pointer(&dest[0])
--	} else {
--		_p1 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)))
--	sz = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Lremovexattr(path string, attr string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(attr)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Lsetxattr(path string, attr string, data []byte, flags int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(attr)
--	if err != nil {
--		return
--	}
--	var _p2 unsafe.Pointer
--	if len(data) > 0 {
--		_p2 = unsafe.Pointer(&data[0])
--	} else {
--		_p2 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Mkdirat(dirfd int, path string, mode uint32) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Nanosleep(time *Timespec, leftover *Timespec) (err error) {
--	_, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func PivotRoot(newroot string, putold string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(newroot)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(putold)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) {
--	_, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) {
--	_, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func read(fd int, p []byte) (n int, err error) {
--	var _p0 unsafe.Pointer
--	if len(p) > 0 {
--		_p0 = unsafe.Pointer(&p[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p)))
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Removexattr(path string, attr string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(attr)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(oldpath)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(newpath)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(keyType)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(description)
--	if err != nil {
--		return
--	}
--	var _p2 *byte
--	_p2, err = BytePtrFromString(callback)
--	if err != nil {
--		return
--	}
--	r0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0)
--	id = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Setdomainname(p []byte) (err error) {
--	var _p0 unsafe.Pointer
--	if len(p) > 0 {
--		_p0 = unsafe.Pointer(&p[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Sethostname(p []byte) (err error) {
--	var _p0 unsafe.Pointer
--	if len(p) > 0 {
--		_p0 = unsafe.Pointer(&p[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Setpgid(pid int, pgid int) (err error) {
--	_, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Setsid() (pid int, err error) {
--	r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0)
--	pid = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Settimeofday(tv *Timeval) (err error) {
--	_, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Setns(fd int, nstype int) (err error) {
--	_, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Setpriority(which int, who int, prio int) (err error) {
--	_, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Setxattr(path string, attr string, data []byte, flags int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(attr)
--	if err != nil {
--		return
--	}
--	var _p2 unsafe.Pointer
--	if len(data) > 0 {
--		_p2 = unsafe.Pointer(&data[0])
--	} else {
--		_p2 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Sync() {
--	Syscall(SYS_SYNC, 0, 0, 0)
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Syncfs(fd int) (err error) {
--	_, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0)
-+func fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error) {
-+	_, _, e1 := Syscall6(SYS_FANOTIFY_MARK, uintptr(fd), uintptr(flags), uintptr(mask), uintptr(dirFd), uintptr(unsafe.Pointer(pathname)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1244,8 +24,8 @@ func Syncfs(fd int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Sysinfo(info *Sysinfo_t) (err error) {
--	_, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0)
-+func Fallocate(fd int, mode uint32, off int64, len int64) (err error) {
-+	_, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1265,62 +45,8 @@ func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) {
--	_, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Times(tms *Tms) (ticks uintptr, err error) {
--	r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0)
--	ticks = uintptr(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Umask(mask int) (oldmask int) {
--	r0, _, _ := RawSyscall(SYS_UMASK, uintptr(mask), 0, 0)
--	oldmask = int(r0)
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Uname(buf *Utsname) (err error) {
--	_, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Unmount(target string, flags int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(target)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Unshare(flags int) (err error) {
--	_, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0)
-+func Dup2(oldfd int, newfd int) (err error) {
-+	_, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1329,8 +55,9 @@ func Unshare(flags int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Ustat(dev int, ubuf *Ustat_t) (err error) {
--	_, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0)
-+func EpollCreate(size int) (fd int, err error) {
-+	r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0)
-+	fd = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1339,46 +66,14 @@ func Ustat(dev int, ubuf *Ustat_t) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func write(fd int, p []byte) (n int, err error) {
-+func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) {
- 	var _p0 unsafe.Pointer
--	if len(p) > 0 {
--		_p0 = unsafe.Pointer(&p[0])
-+	if len(events) > 0 {
-+		_p0 = unsafe.Pointer(&events[0])
- 	} else {
- 		_p0 = unsafe.Pointer(&_zero)
- 	}
--	r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)))
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func exitThread(code int) (err error) {
--	_, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func readlen(fd int, p *byte, np int) (n int, err error) {
--	r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np))
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func writelen(fd int, p *byte, np int) (n int, err error) {
--	r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np))
-+	r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0)
- 	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -1388,135 +83,8 @@ func writelen(fd int, p *byte, np int) (n int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func munmap(addr uintptr, length uintptr) (err error) {
--	_, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Madvise(b []byte, advice int) (err error) {
--	var _p0 unsafe.Pointer
--	if len(b) > 0 {
--		_p0 = unsafe.Pointer(&b[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Mprotect(b []byte, prot int) (err error) {
--	var _p0 unsafe.Pointer
--	if len(b) > 0 {
--		_p0 = unsafe.Pointer(&b[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Mlock(b []byte) (err error) {
--	var _p0 unsafe.Pointer
--	if len(b) > 0 {
--		_p0 = unsafe.Pointer(&b[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Munlock(b []byte) (err error) {
--	var _p0 unsafe.Pointer
--	if len(b) > 0 {
--		_p0 = unsafe.Pointer(&b[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Mlockall(flags int) (err error) {
--	_, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Msync(b []byte, flags int) (err error) {
--	var _p0 unsafe.Pointer
--	if len(b) > 0 {
--		_p0 = unsafe.Pointer(&b[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Munlockall() (err error) {
--	_, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Dup2(oldfd int, newfd int) (err error) {
--	_, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) {
--	var _p0 unsafe.Pointer
--	if len(events) > 0 {
--		_p0 = unsafe.Pointer(&events[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0)
--	n = int(r0)
-+func Fadvise(fd int, offset int64, length int64, advice int) (err error) {
-+	_, _, e1 := Syscall6(SYS_FADVISE64, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1556,7 +124,7 @@ func Ftruncate(fd int, length int64) (err error) {
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Getegid() (egid int) {
--	r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0)
-+	r0, _ := RawSyscallNoError(SYS_GETEGID, 0, 0, 0)
- 	egid = int(r0)
- 	return
- }
-@@ -1564,7 +132,7 @@ func Getegid() (egid int) {
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Geteuid() (euid int) {
--	r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0)
-+	r0, _ := RawSyscallNoError(SYS_GETEUID, 0, 0, 0)
- 	euid = int(r0)
- 	return
- }
-@@ -1572,7 +140,7 @@ func Geteuid() (euid int) {
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Getgid() (gid int) {
--	r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0)
-+	r0, _ := RawSyscallNoError(SYS_GETGID, 0, 0, 0)
- 	gid = int(r0)
- 	return
- }
-@@ -1590,7 +158,7 @@ func Getrlimit(resource int, rlim *Rlimit) (err error) {
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Getuid() (uid int) {
--	r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0)
-+	r0, _ := RawSyscallNoError(SYS_GETUID, 0, 0, 0)
- 	uid = int(r0)
- 	return
- }
-@@ -1666,9 +234,18 @@ func Pwrite(fd int, p []byte, offset int64) (n int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Seek(fd int, offset int64, whence int) (off int64, err error) {
--	r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence))
--	off = int64(r0)
-+func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(oldpath)
-+	if err != nil {
-+		return
-+	}
-+	var _p1 *byte
-+	_p1, err = BytePtrFromString(newpath)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1677,9 +254,9 @@ func Seek(fd int, offset int64, whence int) (off int64, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) {
--	r0, _, e1 := Syscall6(SYS_PSELECT6, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)
--	n = int(r0)
-+func Seek(fd int, offset int64, whence int) (off int64, err error) {
-+	r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence))
-+	off = int64(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1699,8 +276,9 @@ func sendfile(outfd int, infd int, offset *int64, count int) (written int, err e
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Setfsgid(gid int) (err error) {
--	_, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0)
-+func setfsgid(gid int) (prev int, err error) {
-+	r0, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0)
-+	prev = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1709,8 +287,9 @@ func Setfsgid(gid int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Setfsuid(uid int) (err error) {
--	_, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0)
-+func setfsuid(uid int) (prev int, err error) {
-+	r0, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0)
-+	prev = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1830,6 +409,16 @@ func Truncate(path string, length int64) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Ustat(dev int, ubuf *Ustat_t) (err error) {
-+	_, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {
- 	r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))
- 	fd = int(r0)
-@@ -2020,6 +609,21 @@ func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int6
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func futimesat(dirfd int, path string, times *[2]Timeval) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Gettimeofday(tv *Timeval) (err error) {
- 	_, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)
- 	if e1 != 0 {
-@@ -2045,8 +649,13 @@ func Utime(path string, buf *Utimbuf) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func pipe2(p *[2]_C_int, flags int) (err error) {
--	_, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0)
-+func utimes(path string, times *[2]Timeval) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -2065,6 +674,21 @@ func fstat(fd int, st *stat_t) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func fstatat(dirfd int, path string, st *stat_t, flags int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_NEWFSTATAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(st)), uintptr(flags), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func lstat(path string, st *stat_t) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go
-index f6463423..28c7239c 100644
---- a/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go
-+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go
-@@ -1,4 +1,4 @@
--// mksyscall.pl -tags linux,mips64le syscall_linux.go syscall_linux_mips64x.go
-+// go run mksyscall.go -tags linux,mips64le syscall_linux.go syscall_linux_mips64x.go
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- // +build linux,mips64le
-@@ -14,1228 +14,8 @@ var _ syscall.Errno
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func fchmodat(dirfd int, path string, mode uint32) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func ioctl(fd int, req uint, arg uintptr) (err error) {
--	_, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(oldpath)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(newpath)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0)
--	fd = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {
--	r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0)
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 unsafe.Pointer
--	if len(buf) > 0 {
--		_p1 = unsafe.Pointer(&buf[0])
--	} else {
--		_p1 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0)
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(oldpath)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(newpath)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Unlinkat(dirfd int, path string, flags int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func utimes(path string, times *[2]Timeval) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) {
--	_, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(times)))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getcwd(buf []byte) (n int, err error) {
--	var _p0 unsafe.Pointer
--	if len(buf) > 0 {
--		_p0 = unsafe.Pointer(&buf[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0)
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) {
--	r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0)
--	wpid = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) {
--	r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0)
--	ret = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) {
--	var _p0 unsafe.Pointer
--	if len(buf) > 0 {
--		_p0 = unsafe.Pointer(&buf[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0)
--	ret = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func keyctlJoin(cmd int, arg2 string) (ret int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(arg2)
--	if err != nil {
--		return
--	}
--	r0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0)
--	ret = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(arg3)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(arg4)
--	if err != nil {
--		return
--	}
--	r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0)
--	ret = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) {
--	var _p0 unsafe.Pointer
--	if len(payload) > 0 {
--		_p0 = unsafe.Pointer(&payload[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) {
--	var _p0 unsafe.Pointer
--	if len(buf) > 0 {
--		_p0 = unsafe.Pointer(&buf[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0)
--	ret = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) {
--	_, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(arg)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(source)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(target)
--	if err != nil {
--		return
--	}
--	var _p2 *byte
--	_p2, err = BytePtrFromString(fstype)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Acct(path string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(keyType)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(description)
--	if err != nil {
--		return
--	}
--	var _p2 unsafe.Pointer
--	if len(payload) > 0 {
--		_p2 = unsafe.Pointer(&payload[0])
--	} else {
--		_p2 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0)
--	id = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Adjtimex(buf *Timex) (state int, err error) {
--	r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0)
--	state = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Chdir(path string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Chroot(path string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func ClockGettime(clockid int32, time *Timespec) (err error) {
--	_, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Close(fd int) (err error) {
--	_, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) {
--	r0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags))
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Dup(oldfd int) (fd int, err error) {
--	r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0)
--	fd = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Dup3(oldfd int, newfd int, flags int) (err error) {
--	_, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func EpollCreate(size int) (fd int, err error) {
--	r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0)
--	fd = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func EpollCreate1(flag int) (fd int, err error) {
--	r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0)
--	fd = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) {
--	_, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Eventfd(initval uint, flags int) (fd int, err error) {
--	r0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0)
--	fd = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Exit(code int) {
--	Syscall(SYS_EXIT_GROUP, uintptr(code), 0, 0)
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Fallocate(fd int, mode uint32, off int64, len int64) (err error) {
--	_, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Fchdir(fd int) (err error) {
--	_, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Fchmod(fd int, mode uint32) (err error) {
--	_, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func fcntl(fd int, cmd int, arg int) (val int, err error) {
--	r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg))
--	val = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Fdatasync(fd int) (err error) {
--	_, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Flock(fd int, how int) (err error) {
--	_, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Fsync(fd int) (err error) {
--	_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getdents(fd int, buf []byte) (n int, err error) {
--	var _p0 unsafe.Pointer
--	if len(buf) > 0 {
--		_p0 = unsafe.Pointer(&buf[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf)))
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getpgid(pid int) (pgid int, err error) {
--	r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0)
--	pgid = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getpid() (pid int) {
--	r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0)
--	pid = int(r0)
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getppid() (ppid int) {
--	r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0)
--	ppid = int(r0)
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getpriority(which int, who int) (prio int, err error) {
--	r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0)
--	prio = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getrandom(buf []byte, flags int) (n int, err error) {
--	var _p0 unsafe.Pointer
--	if len(buf) > 0 {
--		_p0 = unsafe.Pointer(&buf[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags))
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getrusage(who int, rusage *Rusage) (err error) {
--	_, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getsid(pid int) (sid int, err error) {
--	r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0)
--	sid = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Gettid() (tid int) {
--	r0, _, _ := RawSyscall(SYS_GETTID, 0, 0, 0)
--	tid = int(r0)
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getxattr(path string, attr string, dest []byte) (sz int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(attr)
--	if err != nil {
--		return
--	}
--	var _p2 unsafe.Pointer
--	if len(dest) > 0 {
--		_p2 = unsafe.Pointer(&dest[0])
--	} else {
--		_p2 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0)
--	sz = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(pathname)
--	if err != nil {
--		return
--	}
--	r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask))
--	watchdesc = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func InotifyInit1(flags int) (fd int, err error) {
--	r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0)
--	fd = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) {
--	r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0)
--	success = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Kill(pid int, sig syscall.Signal) (err error) {
--	_, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Klogctl(typ int, buf []byte) (n int, err error) {
--	var _p0 unsafe.Pointer
--	if len(buf) > 0 {
--		_p0 = unsafe.Pointer(&buf[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf)))
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Lgetxattr(path string, attr string, dest []byte) (sz int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(attr)
--	if err != nil {
--		return
--	}
--	var _p2 unsafe.Pointer
--	if len(dest) > 0 {
--		_p2 = unsafe.Pointer(&dest[0])
--	} else {
--		_p2 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0)
--	sz = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Listxattr(path string, dest []byte) (sz int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 unsafe.Pointer
--	if len(dest) > 0 {
--		_p1 = unsafe.Pointer(&dest[0])
--	} else {
--		_p1 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)))
--	sz = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Llistxattr(path string, dest []byte) (sz int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 unsafe.Pointer
--	if len(dest) > 0 {
--		_p1 = unsafe.Pointer(&dest[0])
--	} else {
--		_p1 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)))
--	sz = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Lremovexattr(path string, attr string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(attr)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Lsetxattr(path string, attr string, data []byte, flags int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(attr)
--	if err != nil {
--		return
--	}
--	var _p2 unsafe.Pointer
--	if len(data) > 0 {
--		_p2 = unsafe.Pointer(&data[0])
--	} else {
--		_p2 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Mkdirat(dirfd int, path string, mode uint32) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Nanosleep(time *Timespec, leftover *Timespec) (err error) {
--	_, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func PivotRoot(newroot string, putold string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(newroot)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(putold)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) {
--	_, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) {
--	_, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func read(fd int, p []byte) (n int, err error) {
--	var _p0 unsafe.Pointer
--	if len(p) > 0 {
--		_p0 = unsafe.Pointer(&p[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p)))
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Removexattr(path string, attr string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(attr)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(oldpath)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(newpath)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(keyType)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(description)
--	if err != nil {
--		return
--	}
--	var _p2 *byte
--	_p2, err = BytePtrFromString(callback)
--	if err != nil {
--		return
--	}
--	r0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0)
--	id = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Setdomainname(p []byte) (err error) {
--	var _p0 unsafe.Pointer
--	if len(p) > 0 {
--		_p0 = unsafe.Pointer(&p[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Sethostname(p []byte) (err error) {
--	var _p0 unsafe.Pointer
--	if len(p) > 0 {
--		_p0 = unsafe.Pointer(&p[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Setpgid(pid int, pgid int) (err error) {
--	_, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Setsid() (pid int, err error) {
--	r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0)
--	pid = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Settimeofday(tv *Timeval) (err error) {
--	_, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Setns(fd int, nstype int) (err error) {
--	_, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Setpriority(which int, who int, prio int) (err error) {
--	_, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Setxattr(path string, attr string, data []byte, flags int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(attr)
--	if err != nil {
--		return
--	}
--	var _p2 unsafe.Pointer
--	if len(data) > 0 {
--		_p2 = unsafe.Pointer(&data[0])
--	} else {
--		_p2 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Sync() {
--	Syscall(SYS_SYNC, 0, 0, 0)
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Syncfs(fd int) (err error) {
--	_, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0)
-+func fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error) {
-+	_, _, e1 := Syscall6(SYS_FANOTIFY_MARK, uintptr(fd), uintptr(flags), uintptr(mask), uintptr(dirFd), uintptr(unsafe.Pointer(pathname)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1244,8 +24,8 @@ func Syncfs(fd int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Sysinfo(info *Sysinfo_t) (err error) {
--	_, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0)
-+func Fallocate(fd int, mode uint32, off int64, len int64) (err error) {
-+	_, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1265,62 +45,8 @@ func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) {
--	_, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Times(tms *Tms) (ticks uintptr, err error) {
--	r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0)
--	ticks = uintptr(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Umask(mask int) (oldmask int) {
--	r0, _, _ := RawSyscall(SYS_UMASK, uintptr(mask), 0, 0)
--	oldmask = int(r0)
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Uname(buf *Utsname) (err error) {
--	_, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Unmount(target string, flags int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(target)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Unshare(flags int) (err error) {
--	_, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0)
-+func Dup2(oldfd int, newfd int) (err error) {
-+	_, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1329,8 +55,9 @@ func Unshare(flags int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Ustat(dev int, ubuf *Ustat_t) (err error) {
--	_, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0)
-+func EpollCreate(size int) (fd int, err error) {
-+	r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0)
-+	fd = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1339,46 +66,14 @@ func Ustat(dev int, ubuf *Ustat_t) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func write(fd int, p []byte) (n int, err error) {
-+func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) {
- 	var _p0 unsafe.Pointer
--	if len(p) > 0 {
--		_p0 = unsafe.Pointer(&p[0])
-+	if len(events) > 0 {
-+		_p0 = unsafe.Pointer(&events[0])
- 	} else {
- 		_p0 = unsafe.Pointer(&_zero)
- 	}
--	r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)))
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func exitThread(code int) (err error) {
--	_, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func readlen(fd int, p *byte, np int) (n int, err error) {
--	r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np))
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func writelen(fd int, p *byte, np int) (n int, err error) {
--	r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np))
-+	r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0)
- 	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -1388,135 +83,8 @@ func writelen(fd int, p *byte, np int) (n int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func munmap(addr uintptr, length uintptr) (err error) {
--	_, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Madvise(b []byte, advice int) (err error) {
--	var _p0 unsafe.Pointer
--	if len(b) > 0 {
--		_p0 = unsafe.Pointer(&b[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Mprotect(b []byte, prot int) (err error) {
--	var _p0 unsafe.Pointer
--	if len(b) > 0 {
--		_p0 = unsafe.Pointer(&b[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Mlock(b []byte) (err error) {
--	var _p0 unsafe.Pointer
--	if len(b) > 0 {
--		_p0 = unsafe.Pointer(&b[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Munlock(b []byte) (err error) {
--	var _p0 unsafe.Pointer
--	if len(b) > 0 {
--		_p0 = unsafe.Pointer(&b[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Mlockall(flags int) (err error) {
--	_, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Msync(b []byte, flags int) (err error) {
--	var _p0 unsafe.Pointer
--	if len(b) > 0 {
--		_p0 = unsafe.Pointer(&b[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Munlockall() (err error) {
--	_, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Dup2(oldfd int, newfd int) (err error) {
--	_, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) {
--	var _p0 unsafe.Pointer
--	if len(events) > 0 {
--		_p0 = unsafe.Pointer(&events[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0)
--	n = int(r0)
-+func Fadvise(fd int, offset int64, length int64, advice int) (err error) {
-+	_, _, e1 := Syscall6(SYS_FADVISE64, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1556,7 +124,7 @@ func Ftruncate(fd int, length int64) (err error) {
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Getegid() (egid int) {
--	r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0)
-+	r0, _ := RawSyscallNoError(SYS_GETEGID, 0, 0, 0)
- 	egid = int(r0)
- 	return
- }
-@@ -1564,7 +132,7 @@ func Getegid() (egid int) {
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Geteuid() (euid int) {
--	r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0)
-+	r0, _ := RawSyscallNoError(SYS_GETEUID, 0, 0, 0)
- 	euid = int(r0)
- 	return
- }
-@@ -1572,7 +140,7 @@ func Geteuid() (euid int) {
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Getgid() (gid int) {
--	r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0)
-+	r0, _ := RawSyscallNoError(SYS_GETGID, 0, 0, 0)
- 	gid = int(r0)
- 	return
- }
-@@ -1590,7 +158,7 @@ func Getrlimit(resource int, rlim *Rlimit) (err error) {
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Getuid() (uid int) {
--	r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0)
-+	r0, _ := RawSyscallNoError(SYS_GETUID, 0, 0, 0)
- 	uid = int(r0)
- 	return
- }
-@@ -1666,9 +234,18 @@ func Pwrite(fd int, p []byte, offset int64) (n int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Seek(fd int, offset int64, whence int) (off int64, err error) {
--	r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence))
--	off = int64(r0)
-+func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(oldpath)
-+	if err != nil {
-+		return
-+	}
-+	var _p1 *byte
-+	_p1, err = BytePtrFromString(newpath)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1677,9 +254,9 @@ func Seek(fd int, offset int64, whence int) (off int64, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) {
--	r0, _, e1 := Syscall6(SYS_PSELECT6, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)
--	n = int(r0)
-+func Seek(fd int, offset int64, whence int) (off int64, err error) {
-+	r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence))
-+	off = int64(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1699,8 +276,9 @@ func sendfile(outfd int, infd int, offset *int64, count int) (written int, err e
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Setfsgid(gid int) (err error) {
--	_, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0)
-+func setfsgid(gid int) (prev int, err error) {
-+	r0, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0)
-+	prev = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1709,8 +287,9 @@ func Setfsgid(gid int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Setfsuid(uid int) (err error) {
--	_, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0)
-+func setfsuid(uid int) (prev int, err error) {
-+	r0, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0)
-+	prev = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1830,6 +409,16 @@ func Truncate(path string, length int64) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Ustat(dev int, ubuf *Ustat_t) (err error) {
-+	_, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {
- 	r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))
- 	fd = int(r0)
-@@ -2020,6 +609,21 @@ func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int6
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func futimesat(dirfd int, path string, times *[2]Timeval) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Gettimeofday(tv *Timeval) (err error) {
- 	_, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)
- 	if e1 != 0 {
-@@ -2045,8 +649,13 @@ func Utime(path string, buf *Utimbuf) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func pipe2(p *[2]_C_int, flags int) (err error) {
--	_, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0)
-+func utimes(path string, times *[2]Timeval) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -2065,6 +674,21 @@ func fstat(fd int, st *stat_t) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func fstatat(dirfd int, path string, st *stat_t, flags int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_NEWFSTATAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(st)), uintptr(flags), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func lstat(path string, st *stat_t) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go
-index 964591e5..84596b30 100644
---- a/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go
-+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go
-@@ -1,4 +1,4 @@
--// mksyscall.pl -l32 -arm -tags linux,mipsle syscall_linux.go syscall_linux_mipsx.go
-+// go run mksyscall.go -l32 -arm -tags linux,mipsle syscall_linux.go syscall_linux_mipsx.go
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- // +build linux,mipsle
-@@ -14,1228 +14,8 @@ var _ syscall.Errno
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func fchmodat(dirfd int, path string, mode uint32) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func ioctl(fd int, req uint, arg uintptr) (err error) {
--	_, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(oldpath)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(newpath)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0)
--	fd = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {
--	r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0)
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 unsafe.Pointer
--	if len(buf) > 0 {
--		_p1 = unsafe.Pointer(&buf[0])
--	} else {
--		_p1 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0)
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(oldpath)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(newpath)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Unlinkat(dirfd int, path string, flags int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func utimes(path string, times *[2]Timeval) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) {
--	_, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(times)))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getcwd(buf []byte) (n int, err error) {
--	var _p0 unsafe.Pointer
--	if len(buf) > 0 {
--		_p0 = unsafe.Pointer(&buf[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0)
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) {
--	r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0)
--	wpid = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) {
--	r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0)
--	ret = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) {
--	var _p0 unsafe.Pointer
--	if len(buf) > 0 {
--		_p0 = unsafe.Pointer(&buf[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0)
--	ret = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func keyctlJoin(cmd int, arg2 string) (ret int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(arg2)
--	if err != nil {
--		return
--	}
--	r0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0)
--	ret = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(arg3)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(arg4)
--	if err != nil {
--		return
--	}
--	r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0)
--	ret = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) {
--	var _p0 unsafe.Pointer
--	if len(payload) > 0 {
--		_p0 = unsafe.Pointer(&payload[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) {
--	var _p0 unsafe.Pointer
--	if len(buf) > 0 {
--		_p0 = unsafe.Pointer(&buf[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0)
--	ret = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) {
--	_, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(arg)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(source)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(target)
--	if err != nil {
--		return
--	}
--	var _p2 *byte
--	_p2, err = BytePtrFromString(fstype)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Acct(path string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(keyType)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(description)
--	if err != nil {
--		return
--	}
--	var _p2 unsafe.Pointer
--	if len(payload) > 0 {
--		_p2 = unsafe.Pointer(&payload[0])
--	} else {
--		_p2 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0)
--	id = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Adjtimex(buf *Timex) (state int, err error) {
--	r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0)
--	state = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Chdir(path string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Chroot(path string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func ClockGettime(clockid int32, time *Timespec) (err error) {
--	_, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Close(fd int) (err error) {
--	_, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) {
--	r0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags))
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Dup(oldfd int) (fd int, err error) {
--	r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0)
--	fd = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Dup3(oldfd int, newfd int, flags int) (err error) {
--	_, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func EpollCreate(size int) (fd int, err error) {
--	r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0)
--	fd = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func EpollCreate1(flag int) (fd int, err error) {
--	r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0)
--	fd = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) {
--	_, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Eventfd(initval uint, flags int) (fd int, err error) {
--	r0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0)
--	fd = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Exit(code int) {
--	Syscall(SYS_EXIT_GROUP, uintptr(code), 0, 0)
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Fallocate(fd int, mode uint32, off int64, len int64) (err error) {
--	_, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(off>>32), uintptr(len), uintptr(len>>32))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Fchdir(fd int) (err error) {
--	_, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Fchmod(fd int, mode uint32) (err error) {
--	_, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func fcntl(fd int, cmd int, arg int) (val int, err error) {
--	r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg))
--	val = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Fdatasync(fd int) (err error) {
--	_, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Flock(fd int, how int) (err error) {
--	_, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Fsync(fd int) (err error) {
--	_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getdents(fd int, buf []byte) (n int, err error) {
--	var _p0 unsafe.Pointer
--	if len(buf) > 0 {
--		_p0 = unsafe.Pointer(&buf[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf)))
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getpgid(pid int) (pgid int, err error) {
--	r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0)
--	pgid = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getpid() (pid int) {
--	r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0)
--	pid = int(r0)
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getppid() (ppid int) {
--	r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0)
--	ppid = int(r0)
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getpriority(which int, who int) (prio int, err error) {
--	r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0)
--	prio = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getrandom(buf []byte, flags int) (n int, err error) {
--	var _p0 unsafe.Pointer
--	if len(buf) > 0 {
--		_p0 = unsafe.Pointer(&buf[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags))
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getrusage(who int, rusage *Rusage) (err error) {
--	_, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getsid(pid int) (sid int, err error) {
--	r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0)
--	sid = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Gettid() (tid int) {
--	r0, _, _ := RawSyscall(SYS_GETTID, 0, 0, 0)
--	tid = int(r0)
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getxattr(path string, attr string, dest []byte) (sz int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(attr)
--	if err != nil {
--		return
--	}
--	var _p2 unsafe.Pointer
--	if len(dest) > 0 {
--		_p2 = unsafe.Pointer(&dest[0])
--	} else {
--		_p2 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0)
--	sz = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(pathname)
--	if err != nil {
--		return
--	}
--	r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask))
--	watchdesc = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func InotifyInit1(flags int) (fd int, err error) {
--	r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0)
--	fd = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) {
--	r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0)
--	success = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Kill(pid int, sig syscall.Signal) (err error) {
--	_, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Klogctl(typ int, buf []byte) (n int, err error) {
--	var _p0 unsafe.Pointer
--	if len(buf) > 0 {
--		_p0 = unsafe.Pointer(&buf[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf)))
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Lgetxattr(path string, attr string, dest []byte) (sz int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(attr)
--	if err != nil {
--		return
--	}
--	var _p2 unsafe.Pointer
--	if len(dest) > 0 {
--		_p2 = unsafe.Pointer(&dest[0])
--	} else {
--		_p2 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0)
--	sz = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Listxattr(path string, dest []byte) (sz int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 unsafe.Pointer
--	if len(dest) > 0 {
--		_p1 = unsafe.Pointer(&dest[0])
--	} else {
--		_p1 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)))
--	sz = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Llistxattr(path string, dest []byte) (sz int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 unsafe.Pointer
--	if len(dest) > 0 {
--		_p1 = unsafe.Pointer(&dest[0])
--	} else {
--		_p1 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)))
--	sz = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Lremovexattr(path string, attr string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(attr)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Lsetxattr(path string, attr string, data []byte, flags int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(attr)
--	if err != nil {
--		return
--	}
--	var _p2 unsafe.Pointer
--	if len(data) > 0 {
--		_p2 = unsafe.Pointer(&data[0])
--	} else {
--		_p2 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Mkdirat(dirfd int, path string, mode uint32) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Nanosleep(time *Timespec, leftover *Timespec) (err error) {
--	_, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func PivotRoot(newroot string, putold string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(newroot)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(putold)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) {
--	_, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) {
--	_, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func read(fd int, p []byte) (n int, err error) {
--	var _p0 unsafe.Pointer
--	if len(p) > 0 {
--		_p0 = unsafe.Pointer(&p[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p)))
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Removexattr(path string, attr string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(attr)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(oldpath)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(newpath)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(keyType)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(description)
--	if err != nil {
--		return
--	}
--	var _p2 *byte
--	_p2, err = BytePtrFromString(callback)
--	if err != nil {
--		return
--	}
--	r0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0)
--	id = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Setdomainname(p []byte) (err error) {
--	var _p0 unsafe.Pointer
--	if len(p) > 0 {
--		_p0 = unsafe.Pointer(&p[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Sethostname(p []byte) (err error) {
--	var _p0 unsafe.Pointer
--	if len(p) > 0 {
--		_p0 = unsafe.Pointer(&p[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Setpgid(pid int, pgid int) (err error) {
--	_, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Setsid() (pid int, err error) {
--	r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0)
--	pid = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Settimeofday(tv *Timeval) (err error) {
--	_, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Setns(fd int, nstype int) (err error) {
--	_, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Setpriority(which int, who int, prio int) (err error) {
--	_, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Setxattr(path string, attr string, data []byte, flags int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(attr)
--	if err != nil {
--		return
--	}
--	var _p2 unsafe.Pointer
--	if len(data) > 0 {
--		_p2 = unsafe.Pointer(&data[0])
--	} else {
--		_p2 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Sync() {
--	Syscall(SYS_SYNC, 0, 0, 0)
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Syncfs(fd int) (err error) {
--	_, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0)
-+func fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error) {
-+	_, _, e1 := Syscall6(SYS_FANOTIFY_MARK, uintptr(fd), uintptr(flags), uintptr(mask), uintptr(mask>>32), uintptr(dirFd), uintptr(unsafe.Pointer(pathname)))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1244,8 +24,8 @@ func Syncfs(fd int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Sysinfo(info *Sysinfo_t) (err error) {
--	_, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0)
-+func Fallocate(fd int, mode uint32, off int64, len int64) (err error) {
-+	_, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(off>>32), uintptr(len), uintptr(len>>32))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1265,62 +45,8 @@ func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) {
--	_, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Times(tms *Tms) (ticks uintptr, err error) {
--	r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0)
--	ticks = uintptr(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Umask(mask int) (oldmask int) {
--	r0, _, _ := RawSyscall(SYS_UMASK, uintptr(mask), 0, 0)
--	oldmask = int(r0)
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Uname(buf *Utsname) (err error) {
--	_, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Unmount(target string, flags int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(target)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Unshare(flags int) (err error) {
--	_, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0)
-+func Dup2(oldfd int, newfd int) (err error) {
-+	_, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1329,8 +55,9 @@ func Unshare(flags int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Ustat(dev int, ubuf *Ustat_t) (err error) {
--	_, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0)
-+func EpollCreate(size int) (fd int, err error) {
-+	r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0)
-+	fd = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1339,46 +66,14 @@ func Ustat(dev int, ubuf *Ustat_t) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func write(fd int, p []byte) (n int, err error) {
-+func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) {
- 	var _p0 unsafe.Pointer
--	if len(p) > 0 {
--		_p0 = unsafe.Pointer(&p[0])
-+	if len(events) > 0 {
-+		_p0 = unsafe.Pointer(&events[0])
- 	} else {
- 		_p0 = unsafe.Pointer(&_zero)
- 	}
--	r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)))
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func exitThread(code int) (err error) {
--	_, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func readlen(fd int, p *byte, np int) (n int, err error) {
--	r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np))
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func writelen(fd int, p *byte, np int) (n int, err error) {
--	r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np))
-+	r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0)
- 	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -1388,118 +83,8 @@ func writelen(fd int, p *byte, np int) (n int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func munmap(addr uintptr, length uintptr) (err error) {
--	_, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Madvise(b []byte, advice int) (err error) {
--	var _p0 unsafe.Pointer
--	if len(b) > 0 {
--		_p0 = unsafe.Pointer(&b[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Mprotect(b []byte, prot int) (err error) {
--	var _p0 unsafe.Pointer
--	if len(b) > 0 {
--		_p0 = unsafe.Pointer(&b[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Mlock(b []byte) (err error) {
--	var _p0 unsafe.Pointer
--	if len(b) > 0 {
--		_p0 = unsafe.Pointer(&b[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Munlock(b []byte) (err error) {
--	var _p0 unsafe.Pointer
--	if len(b) > 0 {
--		_p0 = unsafe.Pointer(&b[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Mlockall(flags int) (err error) {
--	_, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Msync(b []byte, flags int) (err error) {
--	var _p0 unsafe.Pointer
--	if len(b) > 0 {
--		_p0 = unsafe.Pointer(&b[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Munlockall() (err error) {
--	_, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Dup2(oldfd int, newfd int) (err error) {
--	_, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0)
-+func Fadvise(fd int, offset int64, length int64, advice int) (err error) {
-+	_, _, e1 := Syscall9(SYS_FADVISE64, uintptr(fd), 0, uintptr(offset), uintptr(offset>>32), uintptr(length), uintptr(length>>32), uintptr(advice), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1529,7 +114,7 @@ func Ftruncate(fd int, length int64) (err error) {
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Getegid() (egid int) {
--	r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0)
-+	r0, _ := RawSyscallNoError(SYS_GETEGID, 0, 0, 0)
- 	egid = int(r0)
- 	return
- }
-@@ -1537,7 +122,7 @@ func Getegid() (egid int) {
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Geteuid() (euid int) {
--	r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0)
-+	r0, _ := RawSyscallNoError(SYS_GETEUID, 0, 0, 0)
- 	euid = int(r0)
- 	return
- }
-@@ -1545,7 +130,7 @@ func Geteuid() (euid int) {
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Getgid() (gid int) {
--	r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0)
-+	r0, _ := RawSyscallNoError(SYS_GETGID, 0, 0, 0)
- 	gid = int(r0)
- 	return
- }
-@@ -1553,7 +138,7 @@ func Getgid() (gid int) {
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Getuid() (uid int) {
--	r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0)
-+	r0, _ := RawSyscallNoError(SYS_GETUID, 0, 0, 0)
- 	uid = int(r0)
- 	return
- }
-@@ -1619,6 +204,26 @@ func Pwrite(fd int, p []byte, offset int64) (n int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(oldpath)
-+	if err != nil {
-+		return
-+	}
-+	var _p1 *byte
-+	_p1, err = BytePtrFromString(newpath)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) {
- 	r0, _, e1 := Syscall6(SYS__NEWSELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)
- 	n = int(r0)
-@@ -1641,8 +246,9 @@ func sendfile(outfd int, infd int, offset *int64, count int) (written int, err e
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Setfsgid(gid int) (err error) {
--	_, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0)
-+func setfsgid(gid int) (prev int, err error) {
-+	r0, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0)
-+	prev = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1651,8 +257,9 @@ func Setfsgid(gid int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Setfsuid(uid int) (err error) {
--	_, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0)
-+func setfsuid(uid int) (prev int, err error) {
-+	r0, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0)
-+	prev = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1711,9 +318,9 @@ func Shutdown(fd int, how int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) {
--	r0, r1, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags))
--	n = int64(int64(r1)<<32 | int64(r0))
-+func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) {
-+	r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags))
-+	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1747,6 +354,16 @@ func Truncate(path string, length int64) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Ustat(dev int, ubuf *Ustat_t) (err error) {
-+	_, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {
- 	r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))
- 	fd = int(r0)
-@@ -1957,6 +574,21 @@ func Iopl(level int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func futimesat(dirfd int, path string, times *[2]Timeval) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Gettimeofday(tv *Timeval) (err error) {
- 	_, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)
- 	if e1 != 0 {
-@@ -1978,13 +610,13 @@ func Time(t *Time_t) (tt Time_t, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Lstat(path string, stat *Stat_t) (err error) {
-+func Utime(path string, buf *Utimbuf) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_LSTAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
-+	_, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1993,8 +625,13 @@ func Lstat(path string, stat *Stat_t) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Fstat(fd int, stat *Stat_t) (err error) {
--	_, _, e1 := Syscall(SYS_FSTAT64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)
-+func utimes(path string, times *[2]Timeval) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -2003,13 +640,13 @@ func Fstat(fd int, stat *Stat_t) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Stat(path string, stat *Stat_t) (err error) {
-+func Lstat(path string, stat *Stat_t) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_STAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
-+	_, _, e1 := Syscall(SYS_LSTAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -2018,13 +655,23 @@ func Stat(path string, stat *Stat_t) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Utime(path string, buf *Utimbuf) (err error) {
-+func Fstat(fd int, stat *Stat_t) (err error) {
-+	_, _, e1 := Syscall(SYS_FSTAT64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0)
-+	_, _, e1 := Syscall6(SYS_FSTATAT64, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -2033,15 +680,13 @@ func Utime(path string, buf *Utimbuf) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) {
--	var _p0 unsafe.Pointer
--	if len(events) > 0 {
--		_p0 = unsafe.Pointer(&events[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
-+func Stat(path string, stat *Stat_t) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
- 	}
--	r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0)
--	n = int(r0)
-+	_, _, e1 := Syscall(SYS_STAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -2060,8 +705,10 @@ func Pause() (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func pipe2(p *[2]_C_int, flags int) (err error) {
--	_, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0)
-+func pipe() (p1 int, p2 int, err error) {
-+	r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0)
-+	p1 = int(r0)
-+	p2 = int(r1)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go
-index 204ab1ae..de022639 100644
---- a/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go
-+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go
-@@ -1,4 +1,4 @@
--// mksyscall.pl -tags linux,ppc64 syscall_linux.go syscall_linux_ppc64x.go
-+// go run mksyscall.go -tags linux,ppc64 syscall_linux.go syscall_linux_ppc64x.go
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- // +build linux,ppc64
-@@ -14,1270 +14,8 @@ var _ syscall.Errno
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func fchmodat(dirfd int, path string, mode uint32) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func ioctl(fd int, req uint, arg uintptr) (err error) {
--	_, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(oldpath)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(newpath)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0)
--	fd = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {
--	r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0)
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 unsafe.Pointer
--	if len(buf) > 0 {
--		_p1 = unsafe.Pointer(&buf[0])
--	} else {
--		_p1 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0)
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(oldpath)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(newpath)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Unlinkat(dirfd int, path string, flags int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func utimes(path string, times *[2]Timeval) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) {
--	_, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(times)))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getcwd(buf []byte) (n int, err error) {
--	var _p0 unsafe.Pointer
--	if len(buf) > 0 {
--		_p0 = unsafe.Pointer(&buf[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0)
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) {
--	r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0)
--	wpid = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) {
--	r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0)
--	ret = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) {
--	var _p0 unsafe.Pointer
--	if len(buf) > 0 {
--		_p0 = unsafe.Pointer(&buf[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0)
--	ret = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func keyctlJoin(cmd int, arg2 string) (ret int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(arg2)
--	if err != nil {
--		return
--	}
--	r0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0)
--	ret = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(arg3)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(arg4)
--	if err != nil {
--		return
--	}
--	r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0)
--	ret = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) {
--	var _p0 unsafe.Pointer
--	if len(payload) > 0 {
--		_p0 = unsafe.Pointer(&payload[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) {
--	var _p0 unsafe.Pointer
--	if len(buf) > 0 {
--		_p0 = unsafe.Pointer(&buf[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0)
--	ret = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) {
--	_, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(arg)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(source)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(target)
--	if err != nil {
--		return
--	}
--	var _p2 *byte
--	_p2, err = BytePtrFromString(fstype)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Acct(path string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(keyType)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(description)
--	if err != nil {
--		return
--	}
--	var _p2 unsafe.Pointer
--	if len(payload) > 0 {
--		_p2 = unsafe.Pointer(&payload[0])
--	} else {
--		_p2 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0)
--	id = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Adjtimex(buf *Timex) (state int, err error) {
--	r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0)
--	state = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Chdir(path string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Chroot(path string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func ClockGettime(clockid int32, time *Timespec) (err error) {
--	_, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Close(fd int) (err error) {
--	_, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) {
--	r0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags))
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Dup(oldfd int) (fd int, err error) {
--	r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0)
--	fd = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Dup3(oldfd int, newfd int, flags int) (err error) {
--	_, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func EpollCreate(size int) (fd int, err error) {
--	r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0)
--	fd = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func EpollCreate1(flag int) (fd int, err error) {
--	r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0)
--	fd = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) {
--	_, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Eventfd(initval uint, flags int) (fd int, err error) {
--	r0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0)
--	fd = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Exit(code int) {
--	Syscall(SYS_EXIT_GROUP, uintptr(code), 0, 0)
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Fallocate(fd int, mode uint32, off int64, len int64) (err error) {
--	_, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Fchdir(fd int) (err error) {
--	_, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Fchmod(fd int, mode uint32) (err error) {
--	_, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func fcntl(fd int, cmd int, arg int) (val int, err error) {
--	r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg))
--	val = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Fdatasync(fd int) (err error) {
--	_, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Flock(fd int, how int) (err error) {
--	_, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Fsync(fd int) (err error) {
--	_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getdents(fd int, buf []byte) (n int, err error) {
--	var _p0 unsafe.Pointer
--	if len(buf) > 0 {
--		_p0 = unsafe.Pointer(&buf[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf)))
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getpgid(pid int) (pgid int, err error) {
--	r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0)
--	pgid = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getpid() (pid int) {
--	r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0)
--	pid = int(r0)
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getppid() (ppid int) {
--	r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0)
--	ppid = int(r0)
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getpriority(which int, who int) (prio int, err error) {
--	r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0)
--	prio = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getrandom(buf []byte, flags int) (n int, err error) {
--	var _p0 unsafe.Pointer
--	if len(buf) > 0 {
--		_p0 = unsafe.Pointer(&buf[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags))
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getrusage(who int, rusage *Rusage) (err error) {
--	_, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getsid(pid int) (sid int, err error) {
--	r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0)
--	sid = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Gettid() (tid int) {
--	r0, _, _ := RawSyscall(SYS_GETTID, 0, 0, 0)
--	tid = int(r0)
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getxattr(path string, attr string, dest []byte) (sz int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(attr)
--	if err != nil {
--		return
--	}
--	var _p2 unsafe.Pointer
--	if len(dest) > 0 {
--		_p2 = unsafe.Pointer(&dest[0])
--	} else {
--		_p2 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0)
--	sz = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(pathname)
--	if err != nil {
--		return
--	}
--	r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask))
--	watchdesc = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func InotifyInit1(flags int) (fd int, err error) {
--	r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0)
--	fd = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) {
--	r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0)
--	success = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Kill(pid int, sig syscall.Signal) (err error) {
--	_, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Klogctl(typ int, buf []byte) (n int, err error) {
--	var _p0 unsafe.Pointer
--	if len(buf) > 0 {
--		_p0 = unsafe.Pointer(&buf[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf)))
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Lgetxattr(path string, attr string, dest []byte) (sz int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(attr)
--	if err != nil {
--		return
--	}
--	var _p2 unsafe.Pointer
--	if len(dest) > 0 {
--		_p2 = unsafe.Pointer(&dest[0])
--	} else {
--		_p2 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0)
--	sz = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Listxattr(path string, dest []byte) (sz int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 unsafe.Pointer
--	if len(dest) > 0 {
--		_p1 = unsafe.Pointer(&dest[0])
--	} else {
--		_p1 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)))
--	sz = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Llistxattr(path string, dest []byte) (sz int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 unsafe.Pointer
--	if len(dest) > 0 {
--		_p1 = unsafe.Pointer(&dest[0])
--	} else {
--		_p1 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)))
--	sz = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Lremovexattr(path string, attr string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(attr)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Lsetxattr(path string, attr string, data []byte, flags int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(attr)
--	if err != nil {
--		return
--	}
--	var _p2 unsafe.Pointer
--	if len(data) > 0 {
--		_p2 = unsafe.Pointer(&data[0])
--	} else {
--		_p2 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Mkdirat(dirfd int, path string, mode uint32) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Nanosleep(time *Timespec, leftover *Timespec) (err error) {
--	_, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func PivotRoot(newroot string, putold string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(newroot)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(putold)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) {
--	_, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) {
--	_, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func read(fd int, p []byte) (n int, err error) {
--	var _p0 unsafe.Pointer
--	if len(p) > 0 {
--		_p0 = unsafe.Pointer(&p[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p)))
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Removexattr(path string, attr string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(attr)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(oldpath)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(newpath)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(keyType)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(description)
--	if err != nil {
--		return
--	}
--	var _p2 *byte
--	_p2, err = BytePtrFromString(callback)
--	if err != nil {
--		return
--	}
--	r0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0)
--	id = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Setdomainname(p []byte) (err error) {
--	var _p0 unsafe.Pointer
--	if len(p) > 0 {
--		_p0 = unsafe.Pointer(&p[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Sethostname(p []byte) (err error) {
--	var _p0 unsafe.Pointer
--	if len(p) > 0 {
--		_p0 = unsafe.Pointer(&p[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Setpgid(pid int, pgid int) (err error) {
--	_, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Setsid() (pid int, err error) {
--	r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0)
--	pid = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Settimeofday(tv *Timeval) (err error) {
--	_, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Setns(fd int, nstype int) (err error) {
--	_, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Setpriority(which int, who int, prio int) (err error) {
--	_, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Setxattr(path string, attr string, data []byte, flags int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(attr)
--	if err != nil {
--		return
--	}
--	var _p2 unsafe.Pointer
--	if len(data) > 0 {
--		_p2 = unsafe.Pointer(&data[0])
--	} else {
--		_p2 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Sync() {
--	Syscall(SYS_SYNC, 0, 0, 0)
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Syncfs(fd int) (err error) {
--	_, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Sysinfo(info *Sysinfo_t) (err error) {
--	_, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) {
--	r0, _, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0)
--	n = int64(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) {
--	_, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Times(tms *Tms) (ticks uintptr, err error) {
--	r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0)
--	ticks = uintptr(r0)
-+func fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error) {
-+	_, _, e1 := Syscall6(SYS_FANOTIFY_MARK, uintptr(fd), uintptr(flags), uintptr(mask), uintptr(dirFd), uintptr(unsafe.Pointer(pathname)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1286,16 +24,8 @@ func Times(tms *Tms) (ticks uintptr, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Umask(mask int) (oldmask int) {
--	r0, _, _ := RawSyscall(SYS_UMASK, uintptr(mask), 0, 0)
--	oldmask = int(r0)
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Uname(buf *Utsname) (err error) {
--	_, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0)
-+func Fallocate(fd int, mode uint32, off int64, len int64) (err error) {
-+	_, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1304,13 +34,9 @@ func Uname(buf *Utsname) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Unmount(target string, flags int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(target)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
-+func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) {
-+	r0, _, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0)
-+	n = int64(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1319,8 +45,8 @@ func Unmount(target string, flags int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Unshare(flags int) (err error) {
--	_, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0)
-+func Dup2(oldfd int, newfd int) (err error) {
-+	_, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1329,8 +55,9 @@ func Unshare(flags int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Ustat(dev int, ubuf *Ustat_t) (err error) {
--	_, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0)
-+func EpollCreate(size int) (fd int, err error) {
-+	r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0)
-+	fd = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1339,46 +66,14 @@ func Ustat(dev int, ubuf *Ustat_t) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func write(fd int, p []byte) (n int, err error) {
-+func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) {
- 	var _p0 unsafe.Pointer
--	if len(p) > 0 {
--		_p0 = unsafe.Pointer(&p[0])
-+	if len(events) > 0 {
-+		_p0 = unsafe.Pointer(&events[0])
- 	} else {
- 		_p0 = unsafe.Pointer(&_zero)
- 	}
--	r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)))
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func exitThread(code int) (err error) {
--	_, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func readlen(fd int, p *byte, np int) (n int, err error) {
--	r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np))
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func writelen(fd int, p *byte, np int) (n int, err error) {
--	r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np))
-+	r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0)
- 	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -1388,108 +83,8 @@ func writelen(fd int, p *byte, np int) (n int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func munmap(addr uintptr, length uintptr) (err error) {
--	_, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Madvise(b []byte, advice int) (err error) {
--	var _p0 unsafe.Pointer
--	if len(b) > 0 {
--		_p0 = unsafe.Pointer(&b[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Mprotect(b []byte, prot int) (err error) {
--	var _p0 unsafe.Pointer
--	if len(b) > 0 {
--		_p0 = unsafe.Pointer(&b[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Mlock(b []byte) (err error) {
--	var _p0 unsafe.Pointer
--	if len(b) > 0 {
--		_p0 = unsafe.Pointer(&b[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Munlock(b []byte) (err error) {
--	var _p0 unsafe.Pointer
--	if len(b) > 0 {
--		_p0 = unsafe.Pointer(&b[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Mlockall(flags int) (err error) {
--	_, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Msync(b []byte, flags int) (err error) {
--	var _p0 unsafe.Pointer
--	if len(b) > 0 {
--		_p0 = unsafe.Pointer(&b[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Munlockall() (err error) {
--	_, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)
-+func Fadvise(fd int, offset int64, length int64, advice int) (err error) {
-+	_, _, e1 := Syscall6(SYS_FADVISE64, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1498,15 +93,8 @@ func Munlockall() (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) {
--	var _p0 unsafe.Pointer
--	if len(events) > 0 {
--		_p0 = unsafe.Pointer(&events[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0)
--	n = int(r0)
-+func Fchown(fd int, uid int, gid int) (err error) {
-+	_, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1515,8 +103,8 @@ func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Dup2(oldfd int, newfd int) (err error) {
--	_, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0)
-+func Fstat(fd int, stat *Stat_t) (err error) {
-+	_, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1525,18 +113,13 @@ func Dup2(oldfd int, newfd int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Fchown(fd int, uid int, gid int) (err error) {
--	_, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid))
--	if e1 != 0 {
--		err = errnoErr(e1)
-+func Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
- 	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Fstat(fd int, stat *Stat_t) (err error) {
--	_, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)
-+	_, _, e1 := Syscall6(SYS_NEWFSTATAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1566,7 +149,7 @@ func Ftruncate(fd int, length int64) (err error) {
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Getegid() (egid int) {
--	r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0)
-+	r0, _ := RawSyscallNoError(SYS_GETEGID, 0, 0, 0)
- 	egid = int(r0)
- 	return
- }
-@@ -1574,7 +157,7 @@ func Getegid() (egid int) {
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Geteuid() (euid int) {
--	r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0)
-+	r0, _ := RawSyscallNoError(SYS_GETEUID, 0, 0, 0)
- 	euid = int(r0)
- 	return
- }
-@@ -1582,7 +165,7 @@ func Geteuid() (euid int) {
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Getgid() (gid int) {
--	r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0)
-+	r0, _ := RawSyscallNoError(SYS_GETGID, 0, 0, 0)
- 	gid = int(r0)
- 	return
- }
-@@ -1600,7 +183,7 @@ func Getrlimit(resource int, rlim *Rlimit) (err error) {
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Getuid() (uid int) {
--	r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0)
-+	r0, _ := RawSyscallNoError(SYS_GETUID, 0, 0, 0)
- 	uid = int(r0)
- 	return
- }
-@@ -1722,6 +305,26 @@ func Pwrite(fd int, p []byte, offset int64) (n int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(oldpath)
-+	if err != nil {
-+		return
-+	}
-+	var _p1 *byte
-+	_p1, err = BytePtrFromString(newpath)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Seek(fd int, offset int64, whence int) (off int64, err error) {
- 	r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence))
- 	off = int64(r0)
-@@ -1734,7 +337,7 @@ func Seek(fd int, offset int64, whence int) (off int64, err error) {
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) {
--	r0, _, e1 := Syscall6(SYS_SELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)
-+	r0, _, e1 := Syscall6(SYS__NEWSELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)
- 	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -1755,8 +358,9 @@ func sendfile(outfd int, infd int, offset *int64, count int) (written int, err e
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Setfsgid(gid int) (err error) {
--	_, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0)
-+func setfsgid(gid int) (prev int, err error) {
-+	r0, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0)
-+	prev = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1765,8 +369,9 @@ func Setfsgid(gid int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Setfsuid(uid int) (err error) {
--	_, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0)
-+func setfsuid(uid int) (prev int, err error) {
-+	r0, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0)
-+	prev = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1876,8 +481,13 @@ func Statfs(path string, buf *Statfs_t) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func SyncFileRange(fd int, off int64, n int64, flags int) (err error) {
--	_, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE2, uintptr(fd), uintptr(off), uintptr(n), uintptr(flags), 0, 0)
-+func Truncate(path string, length int64) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1886,13 +496,8 @@ func SyncFileRange(fd int, off int64, n int64, flags int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Truncate(path string, length int64) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0)
-+func Ustat(dev int, ubuf *Ustat_t) (err error) {
-+	_, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -2091,6 +696,21 @@ func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int6
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func futimesat(dirfd int, path string, times *[2]Timeval) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Gettimeofday(tv *Timeval) (err error) {
- 	_, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)
- 	if e1 != 0 {
-@@ -2127,8 +747,13 @@ func Utime(path string, buf *Utimbuf) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func pipe(p *[2]_C_int) (err error) {
--	_, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0)
-+func utimes(path string, times *[2]Timeval) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -2137,8 +762,8 @@ func pipe(p *[2]_C_int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func pipe2(p *[2]_C_int, flags int) (err error) {
--	_, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0)
-+func pipe(p *[2]_C_int) (err error) {
-+	_, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -2155,3 +780,28 @@ func poll(fds *PollFd, nfds int, timeout int) (n int, err error) {
- 	}
- 	return
- }
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func syncFileRange2(fd int, flags int, off int64, n int64) (err error) {
-+	_, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE2, uintptr(fd), uintptr(flags), uintptr(off), uintptr(n), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(cmdline)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_KEXEC_FILE_LOAD, uintptr(kernelFd), uintptr(initrdFd), uintptr(cmdlineLen), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go
-index a8a2b0b0..888f21d3 100644
---- a/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go
-+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go
-@@ -1,4 +1,4 @@
--// mksyscall.pl -tags linux,ppc64le syscall_linux.go syscall_linux_ppc64x.go
-+// go run mksyscall.go -tags linux,ppc64le syscall_linux.go syscall_linux_ppc64x.go
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- // +build linux,ppc64le
-@@ -14,1270 +14,8 @@ var _ syscall.Errno
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func fchmodat(dirfd int, path string, mode uint32) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func ioctl(fd int, req uint, arg uintptr) (err error) {
--	_, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(oldpath)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(newpath)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0)
--	fd = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {
--	r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0)
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 unsafe.Pointer
--	if len(buf) > 0 {
--		_p1 = unsafe.Pointer(&buf[0])
--	} else {
--		_p1 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0)
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(oldpath)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(newpath)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Unlinkat(dirfd int, path string, flags int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func utimes(path string, times *[2]Timeval) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) {
--	_, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(times)))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getcwd(buf []byte) (n int, err error) {
--	var _p0 unsafe.Pointer
--	if len(buf) > 0 {
--		_p0 = unsafe.Pointer(&buf[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0)
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) {
--	r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0)
--	wpid = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) {
--	r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0)
--	ret = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) {
--	var _p0 unsafe.Pointer
--	if len(buf) > 0 {
--		_p0 = unsafe.Pointer(&buf[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0)
--	ret = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func keyctlJoin(cmd int, arg2 string) (ret int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(arg2)
--	if err != nil {
--		return
--	}
--	r0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0)
--	ret = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(arg3)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(arg4)
--	if err != nil {
--		return
--	}
--	r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0)
--	ret = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) {
--	var _p0 unsafe.Pointer
--	if len(payload) > 0 {
--		_p0 = unsafe.Pointer(&payload[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) {
--	var _p0 unsafe.Pointer
--	if len(buf) > 0 {
--		_p0 = unsafe.Pointer(&buf[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0)
--	ret = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) {
--	_, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(arg)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(source)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(target)
--	if err != nil {
--		return
--	}
--	var _p2 *byte
--	_p2, err = BytePtrFromString(fstype)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Acct(path string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(keyType)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(description)
--	if err != nil {
--		return
--	}
--	var _p2 unsafe.Pointer
--	if len(payload) > 0 {
--		_p2 = unsafe.Pointer(&payload[0])
--	} else {
--		_p2 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0)
--	id = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Adjtimex(buf *Timex) (state int, err error) {
--	r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0)
--	state = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Chdir(path string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Chroot(path string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func ClockGettime(clockid int32, time *Timespec) (err error) {
--	_, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Close(fd int) (err error) {
--	_, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) {
--	r0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags))
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Dup(oldfd int) (fd int, err error) {
--	r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0)
--	fd = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Dup3(oldfd int, newfd int, flags int) (err error) {
--	_, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func EpollCreate(size int) (fd int, err error) {
--	r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0)
--	fd = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func EpollCreate1(flag int) (fd int, err error) {
--	r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0)
--	fd = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) {
--	_, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Eventfd(initval uint, flags int) (fd int, err error) {
--	r0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0)
--	fd = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Exit(code int) {
--	Syscall(SYS_EXIT_GROUP, uintptr(code), 0, 0)
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Fallocate(fd int, mode uint32, off int64, len int64) (err error) {
--	_, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Fchdir(fd int) (err error) {
--	_, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Fchmod(fd int, mode uint32) (err error) {
--	_, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func fcntl(fd int, cmd int, arg int) (val int, err error) {
--	r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg))
--	val = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Fdatasync(fd int) (err error) {
--	_, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Flock(fd int, how int) (err error) {
--	_, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Fsync(fd int) (err error) {
--	_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getdents(fd int, buf []byte) (n int, err error) {
--	var _p0 unsafe.Pointer
--	if len(buf) > 0 {
--		_p0 = unsafe.Pointer(&buf[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf)))
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getpgid(pid int) (pgid int, err error) {
--	r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0)
--	pgid = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getpid() (pid int) {
--	r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0)
--	pid = int(r0)
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getppid() (ppid int) {
--	r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0)
--	ppid = int(r0)
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getpriority(which int, who int) (prio int, err error) {
--	r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0)
--	prio = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getrandom(buf []byte, flags int) (n int, err error) {
--	var _p0 unsafe.Pointer
--	if len(buf) > 0 {
--		_p0 = unsafe.Pointer(&buf[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags))
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getrusage(who int, rusage *Rusage) (err error) {
--	_, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getsid(pid int) (sid int, err error) {
--	r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0)
--	sid = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Gettid() (tid int) {
--	r0, _, _ := RawSyscall(SYS_GETTID, 0, 0, 0)
--	tid = int(r0)
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getxattr(path string, attr string, dest []byte) (sz int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(attr)
--	if err != nil {
--		return
--	}
--	var _p2 unsafe.Pointer
--	if len(dest) > 0 {
--		_p2 = unsafe.Pointer(&dest[0])
--	} else {
--		_p2 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0)
--	sz = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(pathname)
--	if err != nil {
--		return
--	}
--	r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask))
--	watchdesc = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func InotifyInit1(flags int) (fd int, err error) {
--	r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0)
--	fd = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) {
--	r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0)
--	success = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Kill(pid int, sig syscall.Signal) (err error) {
--	_, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Klogctl(typ int, buf []byte) (n int, err error) {
--	var _p0 unsafe.Pointer
--	if len(buf) > 0 {
--		_p0 = unsafe.Pointer(&buf[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf)))
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Lgetxattr(path string, attr string, dest []byte) (sz int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(attr)
--	if err != nil {
--		return
--	}
--	var _p2 unsafe.Pointer
--	if len(dest) > 0 {
--		_p2 = unsafe.Pointer(&dest[0])
--	} else {
--		_p2 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0)
--	sz = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Listxattr(path string, dest []byte) (sz int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 unsafe.Pointer
--	if len(dest) > 0 {
--		_p1 = unsafe.Pointer(&dest[0])
--	} else {
--		_p1 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)))
--	sz = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Llistxattr(path string, dest []byte) (sz int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 unsafe.Pointer
--	if len(dest) > 0 {
--		_p1 = unsafe.Pointer(&dest[0])
--	} else {
--		_p1 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)))
--	sz = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Lremovexattr(path string, attr string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(attr)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Lsetxattr(path string, attr string, data []byte, flags int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(attr)
--	if err != nil {
--		return
--	}
--	var _p2 unsafe.Pointer
--	if len(data) > 0 {
--		_p2 = unsafe.Pointer(&data[0])
--	} else {
--		_p2 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Mkdirat(dirfd int, path string, mode uint32) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Nanosleep(time *Timespec, leftover *Timespec) (err error) {
--	_, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func PivotRoot(newroot string, putold string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(newroot)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(putold)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) {
--	_, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) {
--	_, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func read(fd int, p []byte) (n int, err error) {
--	var _p0 unsafe.Pointer
--	if len(p) > 0 {
--		_p0 = unsafe.Pointer(&p[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p)))
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Removexattr(path string, attr string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(attr)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(oldpath)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(newpath)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(keyType)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(description)
--	if err != nil {
--		return
--	}
--	var _p2 *byte
--	_p2, err = BytePtrFromString(callback)
--	if err != nil {
--		return
--	}
--	r0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0)
--	id = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Setdomainname(p []byte) (err error) {
--	var _p0 unsafe.Pointer
--	if len(p) > 0 {
--		_p0 = unsafe.Pointer(&p[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Sethostname(p []byte) (err error) {
--	var _p0 unsafe.Pointer
--	if len(p) > 0 {
--		_p0 = unsafe.Pointer(&p[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Setpgid(pid int, pgid int) (err error) {
--	_, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Setsid() (pid int, err error) {
--	r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0)
--	pid = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Settimeofday(tv *Timeval) (err error) {
--	_, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Setns(fd int, nstype int) (err error) {
--	_, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Setpriority(which int, who int, prio int) (err error) {
--	_, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Setxattr(path string, attr string, data []byte, flags int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(attr)
--	if err != nil {
--		return
--	}
--	var _p2 unsafe.Pointer
--	if len(data) > 0 {
--		_p2 = unsafe.Pointer(&data[0])
--	} else {
--		_p2 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Sync() {
--	Syscall(SYS_SYNC, 0, 0, 0)
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Syncfs(fd int) (err error) {
--	_, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Sysinfo(info *Sysinfo_t) (err error) {
--	_, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) {
--	r0, _, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0)
--	n = int64(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) {
--	_, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Times(tms *Tms) (ticks uintptr, err error) {
--	r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0)
--	ticks = uintptr(r0)
-+func fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error) {
-+	_, _, e1 := Syscall6(SYS_FANOTIFY_MARK, uintptr(fd), uintptr(flags), uintptr(mask), uintptr(dirFd), uintptr(unsafe.Pointer(pathname)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1286,16 +24,8 @@ func Times(tms *Tms) (ticks uintptr, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Umask(mask int) (oldmask int) {
--	r0, _, _ := RawSyscall(SYS_UMASK, uintptr(mask), 0, 0)
--	oldmask = int(r0)
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Uname(buf *Utsname) (err error) {
--	_, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0)
-+func Fallocate(fd int, mode uint32, off int64, len int64) (err error) {
-+	_, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1304,13 +34,9 @@ func Uname(buf *Utsname) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Unmount(target string, flags int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(target)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
-+func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) {
-+	r0, _, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0)
-+	n = int64(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1319,8 +45,8 @@ func Unmount(target string, flags int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Unshare(flags int) (err error) {
--	_, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0)
-+func Dup2(oldfd int, newfd int) (err error) {
-+	_, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1329,8 +55,9 @@ func Unshare(flags int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Ustat(dev int, ubuf *Ustat_t) (err error) {
--	_, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0)
-+func EpollCreate(size int) (fd int, err error) {
-+	r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0)
-+	fd = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1339,46 +66,14 @@ func Ustat(dev int, ubuf *Ustat_t) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func write(fd int, p []byte) (n int, err error) {
-+func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) {
- 	var _p0 unsafe.Pointer
--	if len(p) > 0 {
--		_p0 = unsafe.Pointer(&p[0])
-+	if len(events) > 0 {
-+		_p0 = unsafe.Pointer(&events[0])
- 	} else {
- 		_p0 = unsafe.Pointer(&_zero)
- 	}
--	r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)))
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func exitThread(code int) (err error) {
--	_, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func readlen(fd int, p *byte, np int) (n int, err error) {
--	r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np))
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func writelen(fd int, p *byte, np int) (n int, err error) {
--	r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np))
-+	r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0)
- 	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -1388,108 +83,8 @@ func writelen(fd int, p *byte, np int) (n int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func munmap(addr uintptr, length uintptr) (err error) {
--	_, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Madvise(b []byte, advice int) (err error) {
--	var _p0 unsafe.Pointer
--	if len(b) > 0 {
--		_p0 = unsafe.Pointer(&b[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Mprotect(b []byte, prot int) (err error) {
--	var _p0 unsafe.Pointer
--	if len(b) > 0 {
--		_p0 = unsafe.Pointer(&b[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Mlock(b []byte) (err error) {
--	var _p0 unsafe.Pointer
--	if len(b) > 0 {
--		_p0 = unsafe.Pointer(&b[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Munlock(b []byte) (err error) {
--	var _p0 unsafe.Pointer
--	if len(b) > 0 {
--		_p0 = unsafe.Pointer(&b[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Mlockall(flags int) (err error) {
--	_, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Msync(b []byte, flags int) (err error) {
--	var _p0 unsafe.Pointer
--	if len(b) > 0 {
--		_p0 = unsafe.Pointer(&b[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Munlockall() (err error) {
--	_, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)
-+func Fadvise(fd int, offset int64, length int64, advice int) (err error) {
-+	_, _, e1 := Syscall6(SYS_FADVISE64, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1498,15 +93,8 @@ func Munlockall() (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) {
--	var _p0 unsafe.Pointer
--	if len(events) > 0 {
--		_p0 = unsafe.Pointer(&events[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0)
--	n = int(r0)
-+func Fchown(fd int, uid int, gid int) (err error) {
-+	_, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1515,8 +103,8 @@ func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Dup2(oldfd int, newfd int) (err error) {
--	_, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0)
-+func Fstat(fd int, stat *Stat_t) (err error) {
-+	_, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1525,18 +113,13 @@ func Dup2(oldfd int, newfd int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Fchown(fd int, uid int, gid int) (err error) {
--	_, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid))
--	if e1 != 0 {
--		err = errnoErr(e1)
-+func Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
- 	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Fstat(fd int, stat *Stat_t) (err error) {
--	_, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)
-+	_, _, e1 := Syscall6(SYS_NEWFSTATAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1566,7 +149,7 @@ func Ftruncate(fd int, length int64) (err error) {
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Getegid() (egid int) {
--	r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0)
-+	r0, _ := RawSyscallNoError(SYS_GETEGID, 0, 0, 0)
- 	egid = int(r0)
- 	return
- }
-@@ -1574,7 +157,7 @@ func Getegid() (egid int) {
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Geteuid() (euid int) {
--	r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0)
-+	r0, _ := RawSyscallNoError(SYS_GETEUID, 0, 0, 0)
- 	euid = int(r0)
- 	return
- }
-@@ -1582,7 +165,7 @@ func Geteuid() (euid int) {
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Getgid() (gid int) {
--	r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0)
-+	r0, _ := RawSyscallNoError(SYS_GETGID, 0, 0, 0)
- 	gid = int(r0)
- 	return
- }
-@@ -1600,7 +183,7 @@ func Getrlimit(resource int, rlim *Rlimit) (err error) {
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Getuid() (uid int) {
--	r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0)
-+	r0, _ := RawSyscallNoError(SYS_GETUID, 0, 0, 0)
- 	uid = int(r0)
- 	return
- }
-@@ -1722,6 +305,26 @@ func Pwrite(fd int, p []byte, offset int64) (n int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(oldpath)
-+	if err != nil {
-+		return
-+	}
-+	var _p1 *byte
-+	_p1, err = BytePtrFromString(newpath)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Seek(fd int, offset int64, whence int) (off int64, err error) {
- 	r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence))
- 	off = int64(r0)
-@@ -1734,7 +337,7 @@ func Seek(fd int, offset int64, whence int) (off int64, err error) {
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) {
--	r0, _, e1 := Syscall6(SYS_SELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)
-+	r0, _, e1 := Syscall6(SYS__NEWSELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)
- 	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -1755,8 +358,9 @@ func sendfile(outfd int, infd int, offset *int64, count int) (written int, err e
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Setfsgid(gid int) (err error) {
--	_, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0)
-+func setfsgid(gid int) (prev int, err error) {
-+	r0, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0)
-+	prev = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1765,8 +369,9 @@ func Setfsgid(gid int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Setfsuid(uid int) (err error) {
--	_, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0)
-+func setfsuid(uid int) (prev int, err error) {
-+	r0, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0)
-+	prev = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1876,8 +481,13 @@ func Statfs(path string, buf *Statfs_t) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func SyncFileRange(fd int, off int64, n int64, flags int) (err error) {
--	_, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE2, uintptr(fd), uintptr(off), uintptr(n), uintptr(flags), 0, 0)
-+func Truncate(path string, length int64) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1886,13 +496,8 @@ func SyncFileRange(fd int, off int64, n int64, flags int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Truncate(path string, length int64) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0)
-+func Ustat(dev int, ubuf *Ustat_t) (err error) {
-+	_, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -2091,6 +696,21 @@ func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int6
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func futimesat(dirfd int, path string, times *[2]Timeval) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Gettimeofday(tv *Timeval) (err error) {
- 	_, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)
- 	if e1 != 0 {
-@@ -2127,8 +747,13 @@ func Utime(path string, buf *Utimbuf) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func pipe(p *[2]_C_int) (err error) {
--	_, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0)
-+func utimes(path string, times *[2]Timeval) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -2137,8 +762,8 @@ func pipe(p *[2]_C_int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func pipe2(p *[2]_C_int, flags int) (err error) {
--	_, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0)
-+func pipe(p *[2]_C_int) (err error) {
-+	_, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -2155,3 +780,28 @@ func poll(fds *PollFd, nfds int, timeout int) (n int, err error) {
- 	}
- 	return
- }
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func syncFileRange2(fd int, flags int, off int64, n int64) (err error) {
-+	_, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE2, uintptr(fd), uintptr(flags), uintptr(off), uintptr(n), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(cmdline)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_KEXEC_FILE_LOAD, uintptr(kernelFd), uintptr(initrdFd), uintptr(cmdlineLen), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_riscv64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_riscv64.go
-new file mode 100644
-index 00000000..b7613344
---- /dev/null
-+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_riscv64.go
-@@ -0,0 +1,582 @@
-+// go run mksyscall.go -tags linux,riscv64 syscall_linux.go syscall_linux_riscv64.go
-+// Code generated by the command above; see README.md. DO NOT EDIT.
-+
-+// +build linux,riscv64
-+
-+package unix
-+
-+import (
-+	"syscall"
-+	"unsafe"
-+)
-+
-+var _ syscall.Errno
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error) {
-+	_, _, e1 := Syscall6(SYS_FANOTIFY_MARK, uintptr(fd), uintptr(flags), uintptr(mask), uintptr(dirFd), uintptr(unsafe.Pointer(pathname)), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Fallocate(fd int, mode uint32, off int64, len int64) (err error) {
-+	_, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) {
-+	r0, _, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0)
-+	n = int64(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) {
-+	var _p0 unsafe.Pointer
-+	if len(events) > 0 {
-+		_p0 = unsafe.Pointer(&events[0])
-+	} else {
-+		_p0 = unsafe.Pointer(&_zero)
-+	}
-+	r0, _, e1 := Syscall6(SYS_EPOLL_PWAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0)
-+	n = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Fadvise(fd int, offset int64, length int64, advice int) (err error) {
-+	_, _, e1 := Syscall6(SYS_FADVISE64, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Fchown(fd int, uid int, gid int) (err error) {
-+	_, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Fstat(fd int, stat *Stat_t) (err error) {
-+	_, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Fstatfs(fd int, buf *Statfs_t) (err error) {
-+	_, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Ftruncate(fd int, length int64) (err error) {
-+	_, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Getegid() (egid int) {
-+	r0, _ := RawSyscallNoError(SYS_GETEGID, 0, 0, 0)
-+	egid = int(r0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Geteuid() (euid int) {
-+	r0, _ := RawSyscallNoError(SYS_GETEUID, 0, 0, 0)
-+	euid = int(r0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Getgid() (gid int) {
-+	r0, _ := RawSyscallNoError(SYS_GETGID, 0, 0, 0)
-+	gid = int(r0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Getrlimit(resource int, rlim *Rlimit) (err error) {
-+	_, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Getuid() (uid int) {
-+	r0, _ := RawSyscallNoError(SYS_GETUID, 0, 0, 0)
-+	uid = int(r0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Listen(s int, n int) (err error) {
-+	_, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Pread(fd int, p []byte, offset int64) (n int, err error) {
-+	var _p0 unsafe.Pointer
-+	if len(p) > 0 {
-+		_p0 = unsafe.Pointer(&p[0])
-+	} else {
-+		_p0 = unsafe.Pointer(&_zero)
-+	}
-+	r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0)
-+	n = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Pwrite(fd int, p []byte, offset int64) (n int, err error) {
-+	var _p0 unsafe.Pointer
-+	if len(p) > 0 {
-+		_p0 = unsafe.Pointer(&p[0])
-+	} else {
-+		_p0 = unsafe.Pointer(&_zero)
-+	}
-+	r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0)
-+	n = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Seek(fd int, offset int64, whence int) (off int64, err error) {
-+	r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence))
-+	off = int64(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {
-+	r0, _, e1 := Syscall6(SYS_SENDFILE, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0)
-+	written = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func setfsgid(gid int) (prev int, err error) {
-+	r0, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0)
-+	prev = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func setfsuid(uid int) (prev int, err error) {
-+	r0, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0)
-+	prev = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Setregid(rgid int, egid int) (err error) {
-+	_, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Setresgid(rgid int, egid int, sgid int) (err error) {
-+	_, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Setresuid(ruid int, euid int, suid int) (err error) {
-+	_, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Setrlimit(resource int, rlim *Rlimit) (err error) {
-+	_, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Setreuid(ruid int, euid int) (err error) {
-+	_, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Shutdown(fd int, how int) (err error) {
-+	_, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) {
-+	r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags))
-+	n = int64(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Statfs(path string, buf *Statfs_t) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func SyncFileRange(fd int, off int64, n int64, flags int) (err error) {
-+	_, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE, uintptr(fd), uintptr(off), uintptr(n), uintptr(flags), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Truncate(path string, length int64) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {
-+	r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))
-+	fd = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) {
-+	r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0)
-+	fd = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {
-+	_, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {
-+	_, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func getgroups(n int, list *_Gid_t) (nn int, err error) {
-+	r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0)
-+	nn = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func setgroups(n int, list *_Gid_t) (err error) {
-+	_, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) {
-+	_, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) {
-+	_, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func socket(domain int, typ int, proto int) (fd int, err error) {
-+	r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto))
-+	fd = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) {
-+	_, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {
-+	_, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {
-+	_, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) {
-+	var _p0 unsafe.Pointer
-+	if len(p) > 0 {
-+		_p0 = unsafe.Pointer(&p[0])
-+	} else {
-+		_p0 = unsafe.Pointer(&_zero)
-+	}
-+	r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen)))
-+	n = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) {
-+	var _p0 unsafe.Pointer
-+	if len(buf) > 0 {
-+		_p0 = unsafe.Pointer(&buf[0])
-+	} else {
-+		_p0 = unsafe.Pointer(&_zero)
-+	}
-+	_, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) {
-+	r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))
-+	n = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) {
-+	r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))
-+	n = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) {
-+	r0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset))
-+	xaddr = uintptr(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Gettimeofday(tv *Timeval) (err error) {
-+	_, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(cmdline)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_KEXEC_FILE_LOAD, uintptr(kernelFd), uintptr(initrdFd), uintptr(cmdlineLen), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go
-index b6ff9e39..9bc353f0 100644
---- a/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go
-+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go
-@@ -1,4 +1,4 @@
--// mksyscall.pl -tags linux,s390x syscall_linux.go syscall_linux_s390x.go
-+// go run mksyscall.go -tags linux,s390x syscall_linux.go syscall_linux_s390x.go
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- // +build linux,s390x
-@@ -14,1446 +14,8 @@ var _ syscall.Errno
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func fchmodat(dirfd int, path string, mode uint32) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func ioctl(fd int, req uint, arg uintptr) (err error) {
--	_, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(oldpath)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(newpath)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0)
--	fd = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {
--	r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0)
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 unsafe.Pointer
--	if len(buf) > 0 {
--		_p1 = unsafe.Pointer(&buf[0])
--	} else {
--		_p1 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0)
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(oldpath)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(newpath)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Unlinkat(dirfd int, path string, flags int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func utimes(path string, times *[2]Timeval) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) {
--	_, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(times)))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getcwd(buf []byte) (n int, err error) {
--	var _p0 unsafe.Pointer
--	if len(buf) > 0 {
--		_p0 = unsafe.Pointer(&buf[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0)
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) {
--	r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0)
--	wpid = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) {
--	r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0)
--	ret = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) {
--	var _p0 unsafe.Pointer
--	if len(buf) > 0 {
--		_p0 = unsafe.Pointer(&buf[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0)
--	ret = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func keyctlJoin(cmd int, arg2 string) (ret int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(arg2)
--	if err != nil {
--		return
--	}
--	r0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0)
--	ret = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(arg3)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(arg4)
--	if err != nil {
--		return
--	}
--	r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0)
--	ret = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) {
--	var _p0 unsafe.Pointer
--	if len(payload) > 0 {
--		_p0 = unsafe.Pointer(&payload[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) {
--	var _p0 unsafe.Pointer
--	if len(buf) > 0 {
--		_p0 = unsafe.Pointer(&buf[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0)
--	ret = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) {
--	_, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(arg)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(source)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(target)
--	if err != nil {
--		return
--	}
--	var _p2 *byte
--	_p2, err = BytePtrFromString(fstype)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Acct(path string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(keyType)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(description)
--	if err != nil {
--		return
--	}
--	var _p2 unsafe.Pointer
--	if len(payload) > 0 {
--		_p2 = unsafe.Pointer(&payload[0])
--	} else {
--		_p2 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0)
--	id = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Adjtimex(buf *Timex) (state int, err error) {
--	r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0)
--	state = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Chdir(path string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Chroot(path string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func ClockGettime(clockid int32, time *Timespec) (err error) {
--	_, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Close(fd int) (err error) {
--	_, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) {
--	r0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags))
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Dup(oldfd int) (fd int, err error) {
--	r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0)
--	fd = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Dup3(oldfd int, newfd int, flags int) (err error) {
--	_, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func EpollCreate(size int) (fd int, err error) {
--	r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0)
--	fd = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func EpollCreate1(flag int) (fd int, err error) {
--	r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0)
--	fd = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) {
--	_, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Eventfd(initval uint, flags int) (fd int, err error) {
--	r0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0)
--	fd = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Exit(code int) {
--	Syscall(SYS_EXIT_GROUP, uintptr(code), 0, 0)
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Fallocate(fd int, mode uint32, off int64, len int64) (err error) {
--	_, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Fchdir(fd int) (err error) {
--	_, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Fchmod(fd int, mode uint32) (err error) {
--	_, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func fcntl(fd int, cmd int, arg int) (val int, err error) {
--	r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg))
--	val = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Fdatasync(fd int) (err error) {
--	_, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Flock(fd int, how int) (err error) {
--	_, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Fsync(fd int) (err error) {
--	_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getdents(fd int, buf []byte) (n int, err error) {
--	var _p0 unsafe.Pointer
--	if len(buf) > 0 {
--		_p0 = unsafe.Pointer(&buf[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf)))
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getpgid(pid int) (pgid int, err error) {
--	r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0)
--	pgid = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getpid() (pid int) {
--	r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0)
--	pid = int(r0)
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getppid() (ppid int) {
--	r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0)
--	ppid = int(r0)
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getpriority(which int, who int) (prio int, err error) {
--	r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0)
--	prio = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getrandom(buf []byte, flags int) (n int, err error) {
--	var _p0 unsafe.Pointer
--	if len(buf) > 0 {
--		_p0 = unsafe.Pointer(&buf[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags))
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getrusage(who int, rusage *Rusage) (err error) {
--	_, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getsid(pid int) (sid int, err error) {
--	r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0)
--	sid = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Gettid() (tid int) {
--	r0, _, _ := RawSyscall(SYS_GETTID, 0, 0, 0)
--	tid = int(r0)
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getxattr(path string, attr string, dest []byte) (sz int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(attr)
--	if err != nil {
--		return
--	}
--	var _p2 unsafe.Pointer
--	if len(dest) > 0 {
--		_p2 = unsafe.Pointer(&dest[0])
--	} else {
--		_p2 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0)
--	sz = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(pathname)
--	if err != nil {
--		return
--	}
--	r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask))
--	watchdesc = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func InotifyInit1(flags int) (fd int, err error) {
--	r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0)
--	fd = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) {
--	r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0)
--	success = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Kill(pid int, sig syscall.Signal) (err error) {
--	_, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Klogctl(typ int, buf []byte) (n int, err error) {
--	var _p0 unsafe.Pointer
--	if len(buf) > 0 {
--		_p0 = unsafe.Pointer(&buf[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf)))
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Lgetxattr(path string, attr string, dest []byte) (sz int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(attr)
--	if err != nil {
--		return
--	}
--	var _p2 unsafe.Pointer
--	if len(dest) > 0 {
--		_p2 = unsafe.Pointer(&dest[0])
--	} else {
--		_p2 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0)
--	sz = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Listxattr(path string, dest []byte) (sz int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 unsafe.Pointer
--	if len(dest) > 0 {
--		_p1 = unsafe.Pointer(&dest[0])
--	} else {
--		_p1 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)))
--	sz = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Llistxattr(path string, dest []byte) (sz int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 unsafe.Pointer
--	if len(dest) > 0 {
--		_p1 = unsafe.Pointer(&dest[0])
--	} else {
--		_p1 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)))
--	sz = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Lremovexattr(path string, attr string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(attr)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Lsetxattr(path string, attr string, data []byte, flags int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(attr)
--	if err != nil {
--		return
--	}
--	var _p2 unsafe.Pointer
--	if len(data) > 0 {
--		_p2 = unsafe.Pointer(&data[0])
--	} else {
--		_p2 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Mkdirat(dirfd int, path string, mode uint32) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Nanosleep(time *Timespec, leftover *Timespec) (err error) {
--	_, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func PivotRoot(newroot string, putold string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(newroot)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(putold)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) {
--	_, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) {
--	_, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func read(fd int, p []byte) (n int, err error) {
--	var _p0 unsafe.Pointer
--	if len(p) > 0 {
--		_p0 = unsafe.Pointer(&p[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p)))
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Removexattr(path string, attr string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(attr)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(oldpath)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(newpath)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(keyType)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(description)
--	if err != nil {
--		return
--	}
--	var _p2 *byte
--	_p2, err = BytePtrFromString(callback)
--	if err != nil {
--		return
--	}
--	r0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0)
--	id = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Setdomainname(p []byte) (err error) {
--	var _p0 unsafe.Pointer
--	if len(p) > 0 {
--		_p0 = unsafe.Pointer(&p[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Sethostname(p []byte) (err error) {
--	var _p0 unsafe.Pointer
--	if len(p) > 0 {
--		_p0 = unsafe.Pointer(&p[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Setpgid(pid int, pgid int) (err error) {
--	_, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Setsid() (pid int, err error) {
--	r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0)
--	pid = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Settimeofday(tv *Timeval) (err error) {
--	_, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Setns(fd int, nstype int) (err error) {
--	_, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Setpriority(which int, who int, prio int) (err error) {
--	_, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Setxattr(path string, attr string, data []byte, flags int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(attr)
--	if err != nil {
--		return
--	}
--	var _p2 unsafe.Pointer
--	if len(data) > 0 {
--		_p2 = unsafe.Pointer(&data[0])
--	} else {
--		_p2 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Sync() {
--	Syscall(SYS_SYNC, 0, 0, 0)
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Syncfs(fd int) (err error) {
--	_, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Sysinfo(info *Sysinfo_t) (err error) {
--	_, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) {
--	r0, _, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0)
--	n = int64(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) {
--	_, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Times(tms *Tms) (ticks uintptr, err error) {
--	r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0)
--	ticks = uintptr(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Umask(mask int) (oldmask int) {
--	r0, _, _ := RawSyscall(SYS_UMASK, uintptr(mask), 0, 0)
--	oldmask = int(r0)
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Uname(buf *Utsname) (err error) {
--	_, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Unmount(target string, flags int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(target)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Unshare(flags int) (err error) {
--	_, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Ustat(dev int, ubuf *Ustat_t) (err error) {
--	_, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func write(fd int, p []byte) (n int, err error) {
--	var _p0 unsafe.Pointer
--	if len(p) > 0 {
--		_p0 = unsafe.Pointer(&p[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)))
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func exitThread(code int) (err error) {
--	_, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func readlen(fd int, p *byte, np int) (n int, err error) {
--	r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np))
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func writelen(fd int, p *byte, np int) (n int, err error) {
--	r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np))
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func munmap(addr uintptr, length uintptr) (err error) {
--	_, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Madvise(b []byte, advice int) (err error) {
--	var _p0 unsafe.Pointer
--	if len(b) > 0 {
--		_p0 = unsafe.Pointer(&b[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Mprotect(b []byte, prot int) (err error) {
--	var _p0 unsafe.Pointer
--	if len(b) > 0 {
--		_p0 = unsafe.Pointer(&b[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Mlock(b []byte) (err error) {
--	var _p0 unsafe.Pointer
--	if len(b) > 0 {
--		_p0 = unsafe.Pointer(&b[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Munlock(b []byte) (err error) {
--	var _p0 unsafe.Pointer
--	if len(b) > 0 {
--		_p0 = unsafe.Pointer(&b[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)
-+func fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error) {
-+	_, _, e1 := Syscall6(SYS_FANOTIFY_MARK, uintptr(fd), uintptr(flags), uintptr(mask), uintptr(dirFd), uintptr(unsafe.Pointer(pathname)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1462,8 +24,8 @@ func Munlock(b []byte) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Mlockall(flags int) (err error) {
--	_, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)
-+func Fallocate(fd int, mode uint32, off int64, len int64) (err error) {
-+	_, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1472,14 +34,9 @@ func Mlockall(flags int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Msync(b []byte, flags int) (err error) {
--	var _p0 unsafe.Pointer
--	if len(b) > 0 {
--		_p0 = unsafe.Pointer(&b[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))
-+func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) {
-+	r0, _, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0)
-+	n = int64(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1488,8 +45,8 @@ func Msync(b []byte, flags int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Munlockall() (err error) {
--	_, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)
-+func Dup2(oldfd int, newfd int) (err error) {
-+	_, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1498,8 +55,9 @@ func Munlockall() (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Dup2(oldfd int, newfd int) (err error) {
--	_, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0)
-+func EpollCreate(size int) (fd int, err error) {
-+	r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0)
-+	fd = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1555,6 +113,21 @@ func Fstat(fd int, stat *Stat_t) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_NEWFSTATAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Fstatfs(fd int, buf *Statfs_t) (err error) {
- 	_, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0)
- 	if e1 != 0 {
-@@ -1576,7 +149,7 @@ func Ftruncate(fd int, length int64) (err error) {
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Getegid() (egid int) {
--	r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0)
-+	r0, _ := RawSyscallNoError(SYS_GETEGID, 0, 0, 0)
- 	egid = int(r0)
- 	return
- }
-@@ -1584,7 +157,7 @@ func Getegid() (egid int) {
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Geteuid() (euid int) {
--	r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0)
-+	r0, _ := RawSyscallNoError(SYS_GETEUID, 0, 0, 0)
- 	euid = int(r0)
- 	return
- }
-@@ -1592,7 +165,7 @@ func Geteuid() (euid int) {
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Getgid() (gid int) {
--	r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0)
-+	r0, _ := RawSyscallNoError(SYS_GETGID, 0, 0, 0)
- 	gid = int(r0)
- 	return
- }
-@@ -1610,7 +183,7 @@ func Getrlimit(resource int, rlim *Rlimit) (err error) {
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Getuid() (uid int) {
--	r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0)
-+	r0, _ := RawSyscallNoError(SYS_GETUID, 0, 0, 0)
- 	uid = int(r0)
- 	return
- }
-@@ -1702,6 +275,26 @@ func Pwrite(fd int, p []byte, offset int64) (n int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(oldpath)
-+	if err != nil {
-+		return
-+	}
-+	var _p1 *byte
-+	_p1, err = BytePtrFromString(newpath)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Seek(fd int, offset int64, whence int) (off int64, err error) {
- 	r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence))
- 	off = int64(r0)
-@@ -1735,8 +328,9 @@ func sendfile(outfd int, infd int, offset *int64, count int) (written int, err e
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Setfsgid(gid int) (err error) {
--	_, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0)
-+func setfsgid(gid int) (prev int, err error) {
-+	r0, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0)
-+	prev = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1745,8 +339,9 @@ func Setfsgid(gid int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Setfsuid(uid int) (err error) {
--	_, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0)
-+func setfsuid(uid int) (prev int, err error) {
-+	r0, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0)
-+	prev = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1871,6 +466,16 @@ func Truncate(path string, length int64) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Ustat(dev int, ubuf *Ustat_t) (err error) {
-+	_, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func getgroups(n int, list *_Gid_t) (nn int, err error) {
- 	r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0)
- 	nn = int(r0)
-@@ -1892,6 +497,21 @@ func setgroups(n int, list *_Gid_t) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func futimesat(dirfd int, path string, times *[2]Timeval) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Gettimeofday(tv *Timeval) (err error) {
- 	_, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)
- 	if e1 != 0 {
-@@ -1917,8 +537,13 @@ func Utime(path string, buf *Utimbuf) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func pipe2(p *[2]_C_int, flags int) (err error) {
--	_, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0)
-+func utimes(path string, times *[2]Timeval) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1935,3 +560,18 @@ func poll(fds *PollFd, nfds int, timeout int) (n int, err error) {
- 	}
- 	return
- }
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(cmdline)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_KEXEC_FILE_LOAD, uintptr(kernelFd), uintptr(initrdFd), uintptr(cmdlineLen), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go
-index 2dd98434..854e816d 100644
---- a/vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go
-+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go
-@@ -1,4 +1,4 @@
--// mksyscall.pl -tags linux,sparc64 syscall_linux.go syscall_linux_sparc64.go
-+// go run mksyscall.go -tags linux,sparc64 syscall_linux.go syscall_linux_sparc64.go
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- // +build linux,sparc64
-@@ -14,944 +14,8 @@ var _ syscall.Errno
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(oldpath)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(newpath)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0)
--	fd = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {
--	r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0)
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 unsafe.Pointer
--	if len(buf) > 0 {
--		_p1 = unsafe.Pointer(&buf[0])
--	} else {
--		_p1 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0)
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(oldpath)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(newpath)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Unlinkat(dirfd int, path string, flags int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func utimes(path string, times *[2]Timeval) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) {
--	_, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(times)))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getcwd(buf []byte) (n int, err error) {
--	var _p0 unsafe.Pointer
--	if len(buf) > 0 {
--		_p0 = unsafe.Pointer(&buf[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0)
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) {
--	r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0)
--	wpid = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) {
--	_, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(arg)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(source)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(target)
--	if err != nil {
--		return
--	}
--	var _p2 *byte
--	_p2, err = BytePtrFromString(fstype)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Acct(path string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Adjtimex(buf *Timex) (state int, err error) {
--	r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0)
--	state = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Chdir(path string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Chroot(path string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func ClockGettime(clockid int32, time *Timespec) (err error) {
--	_, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Close(fd int) (err error) {
--	_, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) {
--	r0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags))
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Dup(oldfd int) (fd int, err error) {
--	r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0)
--	fd = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Dup3(oldfd int, newfd int, flags int) (err error) {
--	_, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func EpollCreate(size int) (fd int, err error) {
--	r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0)
--	fd = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func EpollCreate1(flag int) (fd int, err error) {
--	r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0)
--	fd = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) {
--	_, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Exit(code int) {
--	Syscall(SYS_EXIT_GROUP, uintptr(code), 0, 0)
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Fallocate(fd int, mode uint32, off int64, len int64) (err error) {
--	_, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Fchdir(fd int) (err error) {
--	_, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Fchmod(fd int, mode uint32) (err error) {
--	_, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func fcntl(fd int, cmd int, arg int) (val int, err error) {
--	r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg))
--	val = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Fdatasync(fd int) (err error) {
--	_, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Flock(fd int, how int) (err error) {
--	_, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Fsync(fd int) (err error) {
--	_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getdents(fd int, buf []byte) (n int, err error) {
--	var _p0 unsafe.Pointer
--	if len(buf) > 0 {
--		_p0 = unsafe.Pointer(&buf[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf)))
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getpgid(pid int) (pgid int, err error) {
--	r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0)
--	pgid = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getpid() (pid int) {
--	r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0)
--	pid = int(r0)
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getppid() (ppid int) {
--	r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0)
--	ppid = int(r0)
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getpriority(which int, who int) (prio int, err error) {
--	r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0)
--	prio = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getrandom(buf []byte, flags int) (n int, err error) {
--	var _p0 unsafe.Pointer
--	if len(buf) > 0 {
--		_p0 = unsafe.Pointer(&buf[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags))
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getrusage(who int, rusage *Rusage) (err error) {
--	_, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getsid(pid int) (sid int, err error) {
--	r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0)
--	sid = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Gettid() (tid int) {
--	r0, _, _ := RawSyscall(SYS_GETTID, 0, 0, 0)
--	tid = int(r0)
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Getxattr(path string, attr string, dest []byte) (sz int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(attr)
--	if err != nil {
--		return
--	}
--	var _p2 unsafe.Pointer
--	if len(dest) > 0 {
--		_p2 = unsafe.Pointer(&dest[0])
--	} else {
--		_p2 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0)
--	sz = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(pathname)
--	if err != nil {
--		return
--	}
--	r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask))
--	watchdesc = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func InotifyInit1(flags int) (fd int, err error) {
--	r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0)
--	fd = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) {
--	r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0)
--	success = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Kill(pid int, sig syscall.Signal) (err error) {
--	_, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Klogctl(typ int, buf []byte) (n int, err error) {
--	var _p0 unsafe.Pointer
--	if len(buf) > 0 {
--		_p0 = unsafe.Pointer(&buf[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf)))
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Listxattr(path string, dest []byte) (sz int, err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 unsafe.Pointer
--	if len(dest) > 0 {
--		_p1 = unsafe.Pointer(&dest[0])
--	} else {
--		_p1 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)))
--	sz = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Mkdirat(dirfd int, path string, mode uint32) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Nanosleep(time *Timespec, leftover *Timespec) (err error) {
--	_, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func PivotRoot(newroot string, putold string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(newroot)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(putold)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) {
--	_, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) {
--	_, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func read(fd int, p []byte) (n int, err error) {
--	var _p0 unsafe.Pointer
--	if len(p) > 0 {
--		_p0 = unsafe.Pointer(&p[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p)))
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Removexattr(path string, attr string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(attr)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(oldpath)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(newpath)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Setdomainname(p []byte) (err error) {
--	var _p0 unsafe.Pointer
--	if len(p) > 0 {
--		_p0 = unsafe.Pointer(&p[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Sethostname(p []byte) (err error) {
--	var _p0 unsafe.Pointer
--	if len(p) > 0 {
--		_p0 = unsafe.Pointer(&p[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Setpgid(pid int, pgid int) (err error) {
--	_, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Setsid() (pid int, err error) {
--	r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0)
--	pid = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Settimeofday(tv *Timeval) (err error) {
--	_, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Setns(fd int, nstype int) (err error) {
--	_, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Setpriority(which int, who int, prio int) (err error) {
--	_, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Setxattr(path string, attr string, data []byte, flags int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(attr)
--	if err != nil {
--		return
--	}
--	var _p2 unsafe.Pointer
--	if len(data) > 0 {
--		_p2 = unsafe.Pointer(&data[0])
--	} else {
--		_p2 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0)
-+func fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error) {
-+	_, _, e1 := Syscall6(SYS_FANOTIFY_MARK, uintptr(fd), uintptr(flags), uintptr(mask), uintptr(dirFd), uintptr(unsafe.Pointer(pathname)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -960,15 +24,8 @@ func Setxattr(path string, attr string, data []byte, flags int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Sync() {
--	Syscall(SYS_SYNC, 0, 0, 0)
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Sysinfo(info *Sysinfo_t) (err error) {
--	_, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0)
-+func Fallocate(fd int, mode uint32, off int64, len int64) (err error) {
-+	_, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -988,120 +45,14 @@ func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) {
--	_, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Times(tms *Tms) (ticks uintptr, err error) {
--	r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0)
--	ticks = uintptr(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Umask(mask int) (oldmask int) {
--	r0, _, _ := RawSyscall(SYS_UMASK, uintptr(mask), 0, 0)
--	oldmask = int(r0)
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Uname(buf *Utsname) (err error) {
--	_, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Unmount(target string, flags int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(target)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Unshare(flags int) (err error) {
--	_, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Ustat(dev int, ubuf *Ustat_t) (err error) {
--	_, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func write(fd int, p []byte) (n int, err error) {
-+func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) {
- 	var _p0 unsafe.Pointer
--	if len(p) > 0 {
--		_p0 = unsafe.Pointer(&p[0])
-+	if len(events) > 0 {
-+		_p0 = unsafe.Pointer(&events[0])
- 	} else {
- 		_p0 = unsafe.Pointer(&_zero)
- 	}
--	r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)))
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func exitThread(code int) (err error) {
--	_, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func readlen(fd int, p *byte, np int) (n int, err error) {
--	r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np))
--	n = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func writelen(fd int, p *byte, np int) (n int, err error) {
--	r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np))
-+	r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0)
- 	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -1111,82 +62,8 @@ func writelen(fd int, p *byte, np int) (n int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func munmap(addr uintptr, length uintptr) (err error) {
--	_, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Madvise(b []byte, advice int) (err error) {
--	var _p0 unsafe.Pointer
--	if len(b) > 0 {
--		_p0 = unsafe.Pointer(&b[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Mprotect(b []byte, prot int) (err error) {
--	var _p0 unsafe.Pointer
--	if len(b) > 0 {
--		_p0 = unsafe.Pointer(&b[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Mlock(b []byte) (err error) {
--	var _p0 unsafe.Pointer
--	if len(b) > 0 {
--		_p0 = unsafe.Pointer(&b[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Munlock(b []byte) (err error) {
--	var _p0 unsafe.Pointer
--	if len(b) > 0 {
--		_p0 = unsafe.Pointer(&b[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Mlockall(flags int) (err error) {
--	_, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)
-+func Fadvise(fd int, offset int64, length int64, advice int) (err error) {
-+	_, _, e1 := Syscall6(SYS_FADVISE64, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1195,8 +72,8 @@ func Mlockall(flags int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Munlockall() (err error) {
--	_, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)
-+func Dup2(oldfd int, newfd int) (err error) {
-+	_, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1205,15 +82,8 @@ func Munlockall() (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) {
--	var _p0 unsafe.Pointer
--	if len(events) > 0 {
--		_p0 = unsafe.Pointer(&events[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0)
--	n = int(r0)
-+func Fchown(fd int, uid int, gid int) (err error) {
-+	_, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1222,8 +92,8 @@ func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Dup2(oldfd int, newfd int) (err error) {
--	_, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0)
-+func Fstat(fd int, stat *Stat_t) (err error) {
-+	_, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1232,18 +102,13 @@ func Dup2(oldfd int, newfd int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Fchown(fd int, uid int, gid int) (err error) {
--	_, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid))
--	if e1 != 0 {
--		err = errnoErr(e1)
-+func Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
- 	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Fstat(fd int, stat *Stat_t) (err error) {
--	_, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)
-+	_, _, e1 := Syscall6(SYS_FSTATAT64, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1273,7 +138,7 @@ func Ftruncate(fd int, length int64) (err error) {
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Getegid() (egid int) {
--	r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0)
-+	r0, _ := RawSyscallNoError(SYS_GETEGID, 0, 0, 0)
- 	egid = int(r0)
- 	return
- }
-@@ -1281,7 +146,7 @@ func Getegid() (egid int) {
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Geteuid() (euid int) {
--	r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0)
-+	r0, _ := RawSyscallNoError(SYS_GETEUID, 0, 0, 0)
- 	euid = int(r0)
- 	return
- }
-@@ -1289,7 +154,7 @@ func Geteuid() (euid int) {
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Getgid() (gid int) {
--	r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0)
-+	r0, _ := RawSyscallNoError(SYS_GETGID, 0, 0, 0)
- 	gid = int(r0)
- 	return
- }
-@@ -1307,7 +172,7 @@ func Getrlimit(resource int, rlim *Rlimit) (err error) {
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Getuid() (uid int) {
--	r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0)
-+	r0, _ := RawSyscallNoError(SYS_GETUID, 0, 0, 0)
- 	uid = int(r0)
- 	return
- }
-@@ -1409,6 +274,26 @@ func Pwrite(fd int, p []byte, offset int64) (n int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(oldpath)
-+	if err != nil {
-+		return
-+	}
-+	var _p1 *byte
-+	_p1, err = BytePtrFromString(newpath)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Seek(fd int, offset int64, whence int) (off int64, err error) {
- 	r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence))
- 	off = int64(r0)
-@@ -1442,8 +327,9 @@ func sendfile(outfd int, infd int, offset *int64, count int) (written int, err e
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Setfsgid(gid int) (err error) {
--	_, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0)
-+func setfsgid(gid int) (prev int, err error) {
-+	r0, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0)
-+	prev = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1452,8 +338,9 @@ func Setfsgid(gid int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Setfsuid(uid int) (err error) {
--	_, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0)
-+func setfsuid(uid int) (prev int, err error) {
-+	r0, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0)
-+	prev = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1778,6 +665,21 @@ func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int6
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func futimesat(dirfd int, path string, times *[2]Timeval) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Gettimeofday(tv *Timeval) (err error) {
- 	_, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)
- 	if e1 != 0 {
-@@ -1803,8 +705,13 @@ func Utime(path string, buf *Utimbuf) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func pipe(p *[2]_C_int) (err error) {
--	_, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0)
-+func utimes(path string, times *[2]Timeval) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1813,8 +720,8 @@ func pipe(p *[2]_C_int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func pipe2(p *[2]_C_int, flags int) (err error) {
--	_, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0)
-+func pipe(p *[2]_C_int) (err error) {
-+	_, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-diff --git a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go
-index db99fd0c..3bbd9e39 100644
---- a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go
-+++ b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go
-@@ -1,4 +1,4 @@
--// mksyscall.pl -l32 -netbsd -tags netbsd,386 syscall_bsd.go syscall_netbsd.go syscall_netbsd_386.go
-+// go run mksyscall.go -l32 -netbsd -tags netbsd,386 syscall_bsd.go syscall_netbsd.go syscall_netbsd_386.go
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- // +build netbsd,386
-@@ -214,22 +214,6 @@ func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, ne
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) {
--	var _p0 unsafe.Pointer
--	if len(mib) > 0 {
--		_p0 = unsafe.Pointer(&mib[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
- func utimes(path string, timeval *[2]Timeval) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -255,9 +239,9 @@ func futimes(fd int, timeval *[2]Timeval) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func fcntl(fd int, cmd int, arg int) (val int, err error) {
--	r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg))
--	val = int(r0)
-+func poll(fds *PollFd, nfds int, timeout int) (n int, err error) {
-+	r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout))
-+	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -378,7 +362,7 @@ func pipe() (fd1 int, fd2 int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func getdents(fd int, buf []byte) (n int, err error) {
-+func Getdents(fd int, buf []byte) (n int, err error) {
- 	var _p0 unsafe.Pointer
- 	if len(buf) > 0 {
- 		_p0 = unsafe.Pointer(&buf[0])
-@@ -395,6 +379,49 @@ func getdents(fd int, buf []byte) (n int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Getcwd(buf []byte) (n int, err error) {
-+	var _p0 unsafe.Pointer
-+	if len(buf) > 0 {
-+		_p0 = unsafe.Pointer(&buf[0])
-+	} else {
-+		_p0 = unsafe.Pointer(&_zero)
-+	}
-+	r0, _, e1 := Syscall(SYS___GETCWD, uintptr(_p0), uintptr(len(buf)), 0)
-+	n = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func ioctl(fd int, req uint, arg uintptr) (err error) {
-+	_, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) {
-+	var _p0 unsafe.Pointer
-+	if len(mib) > 0 {
-+		_p0 = unsafe.Pointer(&mib[0])
-+	} else {
-+		_p0 = unsafe.Pointer(&_zero)
-+	}
-+	_, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Access(path string, mode uint32) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -526,6 +553,16 @@ func Dup2(from int, to int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Dup3(from int, to int, flags int) (err error) {
-+	_, _, e1 := Syscall(SYS_DUP3, uintptr(from), uintptr(to), uintptr(flags))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Exit(code int) {
- 	Syscall(SYS_EXIT, uintptr(code), 0, 0)
- 	return
-@@ -533,6 +570,245 @@ func Exit(code int) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func ExtattrGetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(attrname)
-+	if err != nil {
-+		return
-+	}
-+	r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0)
-+	ret = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func ExtattrSetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(attrname)
-+	if err != nil {
-+		return
-+	}
-+	r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0)
-+	ret = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func ExtattrDeleteFd(fd int, attrnamespace int, attrname string) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(attrname)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall(SYS_EXTATTR_DELETE_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func ExtattrListFd(fd int, attrnamespace int, data uintptr, nbytes int) (ret int, err error) {
-+	r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FD, uintptr(fd), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0)
-+	ret = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func ExtattrGetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(file)
-+	if err != nil {
-+		return
-+	}
-+	var _p1 *byte
-+	_p1, err = BytePtrFromString(attrname)
-+	if err != nil {
-+		return
-+	}
-+	r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)
-+	ret = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func ExtattrSetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(file)
-+	if err != nil {
-+		return
-+	}
-+	var _p1 *byte
-+	_p1, err = BytePtrFromString(attrname)
-+	if err != nil {
-+		return
-+	}
-+	r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)
-+	ret = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func ExtattrDeleteFile(file string, attrnamespace int, attrname string) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(file)
-+	if err != nil {
-+		return
-+	}
-+	var _p1 *byte
-+	_p1, err = BytePtrFromString(attrname)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall(SYS_EXTATTR_DELETE_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func ExtattrListFile(file string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(file)
-+	if err != nil {
-+		return
-+	}
-+	r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0)
-+	ret = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func ExtattrGetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(link)
-+	if err != nil {
-+		return
-+	}
-+	var _p1 *byte
-+	_p1, err = BytePtrFromString(attrname)
-+	if err != nil {
-+		return
-+	}
-+	r0, _, e1 := Syscall6(SYS_EXTATTR_GET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)
-+	ret = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func ExtattrSetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(link)
-+	if err != nil {
-+		return
-+	}
-+	var _p1 *byte
-+	_p1, err = BytePtrFromString(attrname)
-+	if err != nil {
-+		return
-+	}
-+	r0, _, e1 := Syscall6(SYS_EXTATTR_SET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)
-+	ret = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func ExtattrDeleteLink(link string, attrnamespace int, attrname string) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(link)
-+	if err != nil {
-+		return
-+	}
-+	var _p1 *byte
-+	_p1, err = BytePtrFromString(attrname)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall(SYS_EXTATTR_DELETE_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func ExtattrListLink(link string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(link)
-+	if err != nil {
-+		return
-+	}
-+	r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0)
-+	ret = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Fadvise(fd int, offset int64, length int64, advice int) (err error) {
-+	_, _, e1 := Syscall9(SYS_POSIX_FADVISE, uintptr(fd), 0, uintptr(offset), uintptr(offset>>32), 0, uintptr(length), uintptr(length>>32), uintptr(advice), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Fchdir(fd int) (err error) {
- 	_, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0)
- 	if e1 != 0 {
-@@ -563,6 +839,21 @@ func Fchmod(fd int, mode uint32) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Fchown(fd int, uid int, gid int) (err error) {
- 	_, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid))
- 	if e1 != 0 {
-@@ -573,6 +864,21 @@ func Fchown(fd int, uid int, gid int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Flock(fd int, how int) (err error) {
- 	_, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0)
- 	if e1 != 0 {
-@@ -604,6 +910,31 @@ func Fstat(fd int, stat *Stat_t) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Fstatvfs1(fd int, buf *Statvfs_t, flags int) (err error) {
-+	_, _, e1 := Syscall(SYS_FSTATVFS1, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(flags))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Fsync(fd int) (err error) {
- 	_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)
- 	if e1 != 0 {
-@@ -807,6 +1138,26 @@ func Link(path string, link string) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	var _p1 *byte
-+	_p1, err = BytePtrFromString(link)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Listen(s int, backlog int) (err error) {
- 	_, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0)
- 	if e1 != 0 {
-@@ -847,6 +1198,21 @@ func Mkdir(path string, mode uint32) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Mkdirat(dirfd int, path string, mode uint32) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Mkfifo(path string, mode uint32) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -862,6 +1228,21 @@ func Mkfifo(path string, mode uint32) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Mkfifoat(dirfd int, path string, mode uint32) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall(SYS_MKFIFOAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Mknod(path string, mode uint32, dev int) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -877,6 +1258,21 @@ func Mknod(path string, mode uint32, dev int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Nanosleep(time *Timespec, leftover *Timespec) (err error) {
- 	_, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0)
- 	if e1 != 0 {
-@@ -903,6 +1299,22 @@ func Open(path string, mode int, perm uint32) (fd int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0)
-+	fd = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Pathconf(path string, name int) (val int, err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -992,6 +1404,28 @@ func Readlink(path string, buf []byte) (n int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	var _p1 unsafe.Pointer
-+	if len(buf) > 0 {
-+		_p1 = unsafe.Pointer(&buf[0])
-+	} else {
-+		_p1 = unsafe.Pointer(&_zero)
-+	}
-+	r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0)
-+	n = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Rename(from string, to string) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(from)
-@@ -1012,6 +1446,26 @@ func Rename(from string, to string) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Renameat(fromfd int, from string, tofd int, to string) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(from)
-+	if err != nil {
-+		return
-+	}
-+	var _p1 *byte
-+	_p1, err = BytePtrFromString(to)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Revoke(path string) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -1053,8 +1507,9 @@ func Seek(fd int, offset int64, whence int) (newoffset int64, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) {
--	_, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)
-+func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) {
-+	r0, _, e1 := Syscall6(SYS_SELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)
-+	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1189,6 +1644,21 @@ func Stat(path string, stat *Stat_t) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Statvfs1(path string, buf *Statvfs_t, flags int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall(SYS_STATVFS1, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), uintptr(flags))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Symlink(path string, link string) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -1209,6 +1679,26 @@ func Symlink(path string, link string) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(oldpath)
-+	if err != nil {
-+		return
-+	}
-+	var _p1 *byte
-+	_p1, err = BytePtrFromString(newpath)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Sync() (err error) {
- 	_, _, e1 := Syscall(SYS_SYNC, 0, 0, 0)
- 	if e1 != 0 {
-@@ -1257,6 +1747,21 @@ func Unlink(path string) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Unlinkat(dirfd int, path string, flags int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Unmount(path string, flags int) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-diff --git a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go
-index 7b6c2c87..d8cf5012 100644
---- a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go
-+++ b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go
-@@ -1,4 +1,4 @@
--// mksyscall.pl -netbsd -tags netbsd,amd64 syscall_bsd.go syscall_netbsd.go syscall_netbsd_amd64.go
-+// go run mksyscall.go -netbsd -tags netbsd,amd64 syscall_bsd.go syscall_netbsd.go syscall_netbsd_amd64.go
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- // +build netbsd,amd64
-@@ -214,22 +214,6 @@ func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, ne
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) {
--	var _p0 unsafe.Pointer
--	if len(mib) > 0 {
--		_p0 = unsafe.Pointer(&mib[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
- func utimes(path string, timeval *[2]Timeval) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -255,9 +239,9 @@ func futimes(fd int, timeval *[2]Timeval) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func fcntl(fd int, cmd int, arg int) (val int, err error) {
--	r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg))
--	val = int(r0)
-+func poll(fds *PollFd, nfds int, timeout int) (n int, err error) {
-+	r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout))
-+	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -378,7 +362,7 @@ func pipe() (fd1 int, fd2 int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func getdents(fd int, buf []byte) (n int, err error) {
-+func Getdents(fd int, buf []byte) (n int, err error) {
- 	var _p0 unsafe.Pointer
- 	if len(buf) > 0 {
- 		_p0 = unsafe.Pointer(&buf[0])
-@@ -395,6 +379,49 @@ func getdents(fd int, buf []byte) (n int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Getcwd(buf []byte) (n int, err error) {
-+	var _p0 unsafe.Pointer
-+	if len(buf) > 0 {
-+		_p0 = unsafe.Pointer(&buf[0])
-+	} else {
-+		_p0 = unsafe.Pointer(&_zero)
-+	}
-+	r0, _, e1 := Syscall(SYS___GETCWD, uintptr(_p0), uintptr(len(buf)), 0)
-+	n = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func ioctl(fd int, req uint, arg uintptr) (err error) {
-+	_, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) {
-+	var _p0 unsafe.Pointer
-+	if len(mib) > 0 {
-+		_p0 = unsafe.Pointer(&mib[0])
-+	} else {
-+		_p0 = unsafe.Pointer(&_zero)
-+	}
-+	_, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Access(path string, mode uint32) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -526,6 +553,16 @@ func Dup2(from int, to int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Dup3(from int, to int, flags int) (err error) {
-+	_, _, e1 := Syscall(SYS_DUP3, uintptr(from), uintptr(to), uintptr(flags))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Exit(code int) {
- 	Syscall(SYS_EXIT, uintptr(code), 0, 0)
- 	return
-@@ -533,6 +570,245 @@ func Exit(code int) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func ExtattrGetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(attrname)
-+	if err != nil {
-+		return
-+	}
-+	r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0)
-+	ret = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func ExtattrSetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(attrname)
-+	if err != nil {
-+		return
-+	}
-+	r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0)
-+	ret = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func ExtattrDeleteFd(fd int, attrnamespace int, attrname string) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(attrname)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall(SYS_EXTATTR_DELETE_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func ExtattrListFd(fd int, attrnamespace int, data uintptr, nbytes int) (ret int, err error) {
-+	r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FD, uintptr(fd), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0)
-+	ret = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func ExtattrGetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(file)
-+	if err != nil {
-+		return
-+	}
-+	var _p1 *byte
-+	_p1, err = BytePtrFromString(attrname)
-+	if err != nil {
-+		return
-+	}
-+	r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)
-+	ret = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func ExtattrSetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(file)
-+	if err != nil {
-+		return
-+	}
-+	var _p1 *byte
-+	_p1, err = BytePtrFromString(attrname)
-+	if err != nil {
-+		return
-+	}
-+	r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)
-+	ret = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func ExtattrDeleteFile(file string, attrnamespace int, attrname string) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(file)
-+	if err != nil {
-+		return
-+	}
-+	var _p1 *byte
-+	_p1, err = BytePtrFromString(attrname)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall(SYS_EXTATTR_DELETE_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func ExtattrListFile(file string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(file)
-+	if err != nil {
-+		return
-+	}
-+	r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0)
-+	ret = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func ExtattrGetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(link)
-+	if err != nil {
-+		return
-+	}
-+	var _p1 *byte
-+	_p1, err = BytePtrFromString(attrname)
-+	if err != nil {
-+		return
-+	}
-+	r0, _, e1 := Syscall6(SYS_EXTATTR_GET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)
-+	ret = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func ExtattrSetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(link)
-+	if err != nil {
-+		return
-+	}
-+	var _p1 *byte
-+	_p1, err = BytePtrFromString(attrname)
-+	if err != nil {
-+		return
-+	}
-+	r0, _, e1 := Syscall6(SYS_EXTATTR_SET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)
-+	ret = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func ExtattrDeleteLink(link string, attrnamespace int, attrname string) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(link)
-+	if err != nil {
-+		return
-+	}
-+	var _p1 *byte
-+	_p1, err = BytePtrFromString(attrname)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall(SYS_EXTATTR_DELETE_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func ExtattrListLink(link string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(link)
-+	if err != nil {
-+		return
-+	}
-+	r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0)
-+	ret = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Fadvise(fd int, offset int64, length int64, advice int) (err error) {
-+	_, _, e1 := Syscall6(SYS_POSIX_FADVISE, uintptr(fd), 0, uintptr(offset), 0, uintptr(length), uintptr(advice))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Fchdir(fd int) (err error) {
- 	_, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0)
- 	if e1 != 0 {
-@@ -563,6 +839,21 @@ func Fchmod(fd int, mode uint32) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Fchown(fd int, uid int, gid int) (err error) {
- 	_, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid))
- 	if e1 != 0 {
-@@ -573,6 +864,21 @@ func Fchown(fd int, uid int, gid int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Flock(fd int, how int) (err error) {
- 	_, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0)
- 	if e1 != 0 {
-@@ -604,6 +910,31 @@ func Fstat(fd int, stat *Stat_t) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Fstatvfs1(fd int, buf *Statvfs_t, flags int) (err error) {
-+	_, _, e1 := Syscall(SYS_FSTATVFS1, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(flags))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Fsync(fd int) (err error) {
- 	_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)
- 	if e1 != 0 {
-@@ -807,6 +1138,26 @@ func Link(path string, link string) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	var _p1 *byte
-+	_p1, err = BytePtrFromString(link)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Listen(s int, backlog int) (err error) {
- 	_, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0)
- 	if e1 != 0 {
-@@ -847,6 +1198,21 @@ func Mkdir(path string, mode uint32) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Mkdirat(dirfd int, path string, mode uint32) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Mkfifo(path string, mode uint32) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -862,6 +1228,21 @@ func Mkfifo(path string, mode uint32) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Mkfifoat(dirfd int, path string, mode uint32) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall(SYS_MKFIFOAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Mknod(path string, mode uint32, dev int) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -877,6 +1258,21 @@ func Mknod(path string, mode uint32, dev int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Nanosleep(time *Timespec, leftover *Timespec) (err error) {
- 	_, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0)
- 	if e1 != 0 {
-@@ -903,6 +1299,22 @@ func Open(path string, mode int, perm uint32) (fd int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0)
-+	fd = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Pathconf(path string, name int) (val int, err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -992,6 +1404,28 @@ func Readlink(path string, buf []byte) (n int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	var _p1 unsafe.Pointer
-+	if len(buf) > 0 {
-+		_p1 = unsafe.Pointer(&buf[0])
-+	} else {
-+		_p1 = unsafe.Pointer(&_zero)
-+	}
-+	r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0)
-+	n = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Rename(from string, to string) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(from)
-@@ -1012,6 +1446,26 @@ func Rename(from string, to string) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Renameat(fromfd int, from string, tofd int, to string) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(from)
-+	if err != nil {
-+		return
-+	}
-+	var _p1 *byte
-+	_p1, err = BytePtrFromString(to)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Revoke(path string) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -1053,8 +1507,9 @@ func Seek(fd int, offset int64, whence int) (newoffset int64, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) {
--	_, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)
-+func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) {
-+	r0, _, e1 := Syscall6(SYS_SELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)
-+	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1189,6 +1644,21 @@ func Stat(path string, stat *Stat_t) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Statvfs1(path string, buf *Statvfs_t, flags int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall(SYS_STATVFS1, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), uintptr(flags))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Symlink(path string, link string) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -1209,6 +1679,26 @@ func Symlink(path string, link string) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(oldpath)
-+	if err != nil {
-+		return
-+	}
-+	var _p1 *byte
-+	_p1, err = BytePtrFromString(newpath)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Sync() (err error) {
- 	_, _, e1 := Syscall(SYS_SYNC, 0, 0, 0)
- 	if e1 != 0 {
-@@ -1257,6 +1747,21 @@ func Unlink(path string) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Unlinkat(dirfd int, path string, flags int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Unmount(path string, flags int) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-diff --git a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go
-index 0f4cc3b5..1153fe69 100644
---- a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go
-+++ b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go
-@@ -1,4 +1,4 @@
--// mksyscall.pl -l32 -netbsd -arm -tags netbsd,arm syscall_bsd.go syscall_netbsd.go syscall_netbsd_arm.go
-+// go run mksyscall.go -l32 -netbsd -arm -tags netbsd,arm syscall_bsd.go syscall_netbsd.go syscall_netbsd_arm.go
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- // +build netbsd,arm
-@@ -214,22 +214,6 @@ func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, ne
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) {
--	var _p0 unsafe.Pointer
--	if len(mib) > 0 {
--		_p0 = unsafe.Pointer(&mib[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
- func utimes(path string, timeval *[2]Timeval) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -255,9 +239,9 @@ func futimes(fd int, timeval *[2]Timeval) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func fcntl(fd int, cmd int, arg int) (val int, err error) {
--	r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg))
--	val = int(r0)
-+func poll(fds *PollFd, nfds int, timeout int) (n int, err error) {
-+	r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout))
-+	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -378,7 +362,7 @@ func pipe() (fd1 int, fd2 int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func getdents(fd int, buf []byte) (n int, err error) {
-+func Getdents(fd int, buf []byte) (n int, err error) {
- 	var _p0 unsafe.Pointer
- 	if len(buf) > 0 {
- 		_p0 = unsafe.Pointer(&buf[0])
-@@ -395,6 +379,49 @@ func getdents(fd int, buf []byte) (n int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Getcwd(buf []byte) (n int, err error) {
-+	var _p0 unsafe.Pointer
-+	if len(buf) > 0 {
-+		_p0 = unsafe.Pointer(&buf[0])
-+	} else {
-+		_p0 = unsafe.Pointer(&_zero)
-+	}
-+	r0, _, e1 := Syscall(SYS___GETCWD, uintptr(_p0), uintptr(len(buf)), 0)
-+	n = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func ioctl(fd int, req uint, arg uintptr) (err error) {
-+	_, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) {
-+	var _p0 unsafe.Pointer
-+	if len(mib) > 0 {
-+		_p0 = unsafe.Pointer(&mib[0])
-+	} else {
-+		_p0 = unsafe.Pointer(&_zero)
-+	}
-+	_, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Access(path string, mode uint32) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -526,6 +553,16 @@ func Dup2(from int, to int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Dup3(from int, to int, flags int) (err error) {
-+	_, _, e1 := Syscall(SYS_DUP3, uintptr(from), uintptr(to), uintptr(flags))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Exit(code int) {
- 	Syscall(SYS_EXIT, uintptr(code), 0, 0)
- 	return
-@@ -533,6 +570,245 @@ func Exit(code int) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func ExtattrGetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(attrname)
-+	if err != nil {
-+		return
-+	}
-+	r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0)
-+	ret = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func ExtattrSetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(attrname)
-+	if err != nil {
-+		return
-+	}
-+	r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0)
-+	ret = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func ExtattrDeleteFd(fd int, attrnamespace int, attrname string) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(attrname)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall(SYS_EXTATTR_DELETE_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func ExtattrListFd(fd int, attrnamespace int, data uintptr, nbytes int) (ret int, err error) {
-+	r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FD, uintptr(fd), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0)
-+	ret = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func ExtattrGetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(file)
-+	if err != nil {
-+		return
-+	}
-+	var _p1 *byte
-+	_p1, err = BytePtrFromString(attrname)
-+	if err != nil {
-+		return
-+	}
-+	r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)
-+	ret = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func ExtattrSetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(file)
-+	if err != nil {
-+		return
-+	}
-+	var _p1 *byte
-+	_p1, err = BytePtrFromString(attrname)
-+	if err != nil {
-+		return
-+	}
-+	r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)
-+	ret = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func ExtattrDeleteFile(file string, attrnamespace int, attrname string) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(file)
-+	if err != nil {
-+		return
-+	}
-+	var _p1 *byte
-+	_p1, err = BytePtrFromString(attrname)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall(SYS_EXTATTR_DELETE_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func ExtattrListFile(file string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(file)
-+	if err != nil {
-+		return
-+	}
-+	r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0)
-+	ret = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func ExtattrGetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(link)
-+	if err != nil {
-+		return
-+	}
-+	var _p1 *byte
-+	_p1, err = BytePtrFromString(attrname)
-+	if err != nil {
-+		return
-+	}
-+	r0, _, e1 := Syscall6(SYS_EXTATTR_GET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)
-+	ret = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func ExtattrSetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(link)
-+	if err != nil {
-+		return
-+	}
-+	var _p1 *byte
-+	_p1, err = BytePtrFromString(attrname)
-+	if err != nil {
-+		return
-+	}
-+	r0, _, e1 := Syscall6(SYS_EXTATTR_SET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)
-+	ret = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func ExtattrDeleteLink(link string, attrnamespace int, attrname string) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(link)
-+	if err != nil {
-+		return
-+	}
-+	var _p1 *byte
-+	_p1, err = BytePtrFromString(attrname)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall(SYS_EXTATTR_DELETE_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func ExtattrListLink(link string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(link)
-+	if err != nil {
-+		return
-+	}
-+	r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0)
-+	ret = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Fadvise(fd int, offset int64, length int64, advice int) (err error) {
-+	_, _, e1 := Syscall9(SYS_POSIX_FADVISE, uintptr(fd), 0, uintptr(offset), uintptr(offset>>32), 0, uintptr(length), uintptr(length>>32), uintptr(advice), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Fchdir(fd int) (err error) {
- 	_, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0)
- 	if e1 != 0 {
-@@ -563,6 +839,21 @@ func Fchmod(fd int, mode uint32) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Fchown(fd int, uid int, gid int) (err error) {
- 	_, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid))
- 	if e1 != 0 {
-@@ -573,6 +864,21 @@ func Fchown(fd int, uid int, gid int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Flock(fd int, how int) (err error) {
- 	_, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0)
- 	if e1 != 0 {
-@@ -604,6 +910,31 @@ func Fstat(fd int, stat *Stat_t) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Fstatvfs1(fd int, buf *Statvfs_t, flags int) (err error) {
-+	_, _, e1 := Syscall(SYS_FSTATVFS1, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(flags))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Fsync(fd int) (err error) {
- 	_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)
- 	if e1 != 0 {
-@@ -807,6 +1138,26 @@ func Link(path string, link string) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	var _p1 *byte
-+	_p1, err = BytePtrFromString(link)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Listen(s int, backlog int) (err error) {
- 	_, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0)
- 	if e1 != 0 {
-@@ -847,6 +1198,21 @@ func Mkdir(path string, mode uint32) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Mkdirat(dirfd int, path string, mode uint32) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Mkfifo(path string, mode uint32) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -862,6 +1228,21 @@ func Mkfifo(path string, mode uint32) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Mkfifoat(dirfd int, path string, mode uint32) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall(SYS_MKFIFOAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Mknod(path string, mode uint32, dev int) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -877,6 +1258,21 @@ func Mknod(path string, mode uint32, dev int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Nanosleep(time *Timespec, leftover *Timespec) (err error) {
- 	_, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0)
- 	if e1 != 0 {
-@@ -903,6 +1299,22 @@ func Open(path string, mode int, perm uint32) (fd int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0)
-+	fd = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Pathconf(path string, name int) (val int, err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -992,6 +1404,28 @@ func Readlink(path string, buf []byte) (n int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	var _p1 unsafe.Pointer
-+	if len(buf) > 0 {
-+		_p1 = unsafe.Pointer(&buf[0])
-+	} else {
-+		_p1 = unsafe.Pointer(&_zero)
-+	}
-+	r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0)
-+	n = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Rename(from string, to string) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(from)
-@@ -1012,6 +1446,26 @@ func Rename(from string, to string) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Renameat(fromfd int, from string, tofd int, to string) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(from)
-+	if err != nil {
-+		return
-+	}
-+	var _p1 *byte
-+	_p1, err = BytePtrFromString(to)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Revoke(path string) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -1053,8 +1507,9 @@ func Seek(fd int, offset int64, whence int) (newoffset int64, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) {
--	_, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)
-+func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) {
-+	r0, _, e1 := Syscall6(SYS_SELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)
-+	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1189,6 +1644,21 @@ func Stat(path string, stat *Stat_t) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Statvfs1(path string, buf *Statvfs_t, flags int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall(SYS_STATVFS1, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), uintptr(flags))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Symlink(path string, link string) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -1209,6 +1679,26 @@ func Symlink(path string, link string) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(oldpath)
-+	if err != nil {
-+		return
-+	}
-+	var _p1 *byte
-+	_p1, err = BytePtrFromString(newpath)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Sync() (err error) {
- 	_, _, e1 := Syscall(SYS_SYNC, 0, 0, 0)
- 	if e1 != 0 {
-@@ -1257,6 +1747,21 @@ func Unlink(path string) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Unlinkat(dirfd int, path string, flags int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Unmount(path string, flags int) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-diff --git a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm64.go
-similarity index 92%
-copy from vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go
-copy to vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm64.go
-index ac1e8e01..24b4ebb4 100644
---- a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go
-+++ b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm64.go
-@@ -1,7 +1,7 @@
--// mksyscall.pl -tags freebsd,amd64 syscall_bsd.go syscall_freebsd.go syscall_freebsd_amd64.go
-+// go run mksyscall.go -netbsd -tags netbsd,arm64 syscall_bsd.go syscall_netbsd.go syscall_netbsd_arm64.go
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
--// +build freebsd,amd64
-+// +build netbsd,arm64
- 
- package unix
- 
-@@ -214,22 +214,6 @@ func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, ne
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) {
--	var _p0 unsafe.Pointer
--	if len(mib) > 0 {
--		_p0 = unsafe.Pointer(&mib[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
- func utimes(path string, timeval *[2]Timeval) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -255,9 +239,9 @@ func futimes(fd int, timeval *[2]Timeval) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func fcntl(fd int, cmd int, arg int) (val int, err error) {
--	r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg))
--	val = int(r0)
-+func poll(fds *PollFd, nfds int, timeout int) (n int, err error) {
-+	r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout))
-+	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -366,10 +350,10 @@ func Munlockall() (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func pipe() (r int, w int, err error) {
-+func pipe() (fd1 int, fd2 int, err error) {
- 	r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0)
--	r = int(r0)
--	w = int(r1)
-+	fd1 = int(r0)
-+	fd2 = int(r1)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -378,8 +362,15 @@ func pipe() (r int, w int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func ioctl(fd int, req uint, arg uintptr) (err error) {
--	_, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg))
-+func Getdents(fd int, buf []byte) (n int, err error) {
-+	var _p0 unsafe.Pointer
-+	if len(buf) > 0 {
-+		_p0 = unsafe.Pointer(&buf[0])
-+	} else {
-+		_p0 = unsafe.Pointer(&_zero)
-+	}
-+	r0, _, e1 := Syscall(SYS_GETDENTS, uintptr(fd), uintptr(_p0), uintptr(len(buf)))
-+	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -388,13 +379,15 @@ func ioctl(fd int, req uint, arg uintptr) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Access(path string, mode uint32) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
-+func Getcwd(buf []byte) (n int, err error) {
-+	var _p0 unsafe.Pointer
-+	if len(buf) > 0 {
-+		_p0 = unsafe.Pointer(&buf[0])
-+	} else {
-+		_p0 = unsafe.Pointer(&_zero)
- 	}
--	_, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
-+	r0, _, e1 := Syscall(SYS___GETCWD, uintptr(_p0), uintptr(len(buf)), 0)
-+	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -403,8 +396,8 @@ func Access(path string, mode uint32) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Adjtime(delta *Timeval, olddelta *Timeval) (err error) {
--	_, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0)
-+func ioctl(fd int, req uint, arg uintptr) (err error) {
-+	_, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -413,8 +406,14 @@ func Adjtime(delta *Timeval, olddelta *Timeval) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func CapEnter() (err error) {
--	_, _, e1 := Syscall(SYS_CAP_ENTER, 0, 0, 0)
-+func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) {
-+	var _p0 unsafe.Pointer
-+	if len(mib) > 0 {
-+		_p0 = unsafe.Pointer(&mib[0])
-+	} else {
-+		_p0 = unsafe.Pointer(&_zero)
-+	}
-+	_, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -423,8 +422,13 @@ func CapEnter() (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func capRightsGet(version int, fd int, rightsp *CapRights) (err error) {
--	_, _, e1 := Syscall(SYS___CAP_RIGHTS_GET, uintptr(version), uintptr(fd), uintptr(unsafe.Pointer(rightsp)))
-+func Access(path string, mode uint32) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -433,8 +437,8 @@ func capRightsGet(version int, fd int, rightsp *CapRights) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func capRightsLimit(fd int, rightsp *CapRights) (err error) {
--	_, _, e1 := Syscall(SYS_CAP_RIGHTS_LIMIT, uintptr(fd), uintptr(unsafe.Pointer(rightsp)), 0)
-+func Adjtime(delta *Timeval, olddelta *Timeval) (err error) {
-+	_, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -549,6 +553,16 @@ func Dup2(from int, to int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Dup3(from int, to int, flags int) (err error) {
-+	_, _, e1 := Syscall(SYS_DUP3, uintptr(from), uintptr(to), uintptr(flags))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Exit(code int) {
- 	Syscall(SYS_EXIT, uintptr(code), 0, 0)
- 	return
-@@ -770,8 +784,13 @@ func ExtattrListLink(link string, attrnamespace int, data uintptr, nbytes int) (
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Fadvise(fd int, offset int64, length int64, advice int) (err error) {
--	_, _, e1 := Syscall6(SYS_POSIX_FADVISE, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0)
-+func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -780,13 +799,8 @@ func Fadvise(fd int, offset int64, length int64, advice int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)
-+func Fadvise(fd int, offset int64, length int64, advice int) (err error) {
-+	_, _, e1 := Syscall6(SYS_POSIX_FADVISE, uintptr(fd), 0, uintptr(offset), 0, uintptr(length), uintptr(advice))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -896,8 +910,13 @@ func Fstat(fd int, stat *Stat_t) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Fstatfs(fd int, stat *Statfs_t) (err error) {
--	_, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)
-+func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -906,8 +925,8 @@ func Fstatfs(fd int, stat *Statfs_t) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Fsync(fd int) (err error) {
--	_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)
-+func Fstatvfs1(fd int, buf *Statvfs_t, flags int) (err error) {
-+	_, _, e1 := Syscall(SYS_FSTATVFS1, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(flags))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -916,8 +935,8 @@ func Fsync(fd int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Ftruncate(fd int, length int64) (err error) {
--	_, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0)
-+func Fsync(fd int) (err error) {
-+	_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -926,15 +945,8 @@ func Ftruncate(fd int, length int64) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {
--	var _p0 unsafe.Pointer
--	if len(buf) > 0 {
--		_p0 = unsafe.Pointer(&buf[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall6(SYS_GETDIRENTRIES, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0)
--	n = int(r0)
-+func Ftruncate(fd int, length int64) (err error) {
-+	_, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), 0, uintptr(length))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -943,14 +955,6 @@ func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Getdtablesize() (size int) {
--	r0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0)
--	size = int(r0)
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
- func Getegid() (egid int) {
- 	r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0)
- 	egid = int(r0)
-@@ -1224,6 +1228,21 @@ func Mkfifo(path string, mode uint32) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Mkfifoat(dirfd int, path string, mode uint32) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall(SYS_MKFIFOAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Mknod(path string, mode uint32, dev int) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -1239,6 +1258,21 @@ func Mknod(path string, mode uint32, dev int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Nanosleep(time *Timespec, leftover *Timespec) (err error) {
- 	_, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0)
- 	if e1 != 0 {
-@@ -1265,13 +1299,13 @@ func Open(path string, mode int, perm uint32) (fd int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Openat(fdat int, path string, mode int, perm uint32) (fd int, err error) {
-+func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
- 	if err != nil {
- 		return
- 	}
--	r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(fdat), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0)
-+	r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0)
- 	fd = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -1304,7 +1338,7 @@ func Pread(fd int, p []byte, offset int64) (n int, err error) {
- 	} else {
- 		_p0 = unsafe.Pointer(&_zero)
- 	}
--	r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0)
-+	r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), 0)
- 	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -1321,7 +1355,7 @@ func Pwrite(fd int, p []byte, offset int64) (n int, err error) {
- 	} else {
- 		_p0 = unsafe.Pointer(&_zero)
- 	}
--	r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0)
-+	r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), 0)
- 	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -1463,7 +1497,7 @@ func Rmdir(path string) (err error) {
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Seek(fd int, offset int64, whence int) (newoffset int64, err error) {
--	r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence))
-+	r0, _, e1 := Syscall6(SYS_LSEEK, uintptr(fd), 0, uintptr(offset), uintptr(whence), 0, 0)
- 	newoffset = int64(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -1473,8 +1507,9 @@ func Seek(fd int, offset int64, whence int) (newoffset int64, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) {
--	_, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)
-+func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) {
-+	r0, _, e1 := Syscall6(SYS_SELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)
-+	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1513,21 +1548,6 @@ func Setgid(gid int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Setlogin(name string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(name)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
- func Setpgid(pid int, pgid int) (err error) {
- 	_, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0)
- 	if e1 != 0 {
-@@ -1568,26 +1588,6 @@ func Setreuid(ruid int, euid int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Setresgid(rgid int, egid int, sgid int) (err error) {
--	_, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
--func Setresuid(ruid int, euid int, suid int) (err error) {
--	_, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
- func Setrlimit(which int, lim *Rlimit) (err error) {
- 	_, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)
- 	if e1 != 0 {
-@@ -1644,13 +1644,13 @@ func Stat(path string, stat *Stat_t) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Statfs(path string, stat *Statfs_t) (err error) {
-+func Statvfs1(path string, buf *Statvfs_t, flags int) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
-+	_, _, e1 := Syscall(SYS_STATVFS1, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), uintptr(flags))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1715,7 +1715,7 @@ func Truncate(path string, length int64) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0)
-+	_, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1732,21 +1732,6 @@ func Umask(newmask int) (oldmask int) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Undelete(path string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(_p0)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
- func Unlink(path string) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -1810,7 +1795,7 @@ func write(fd int, p []byte) (n int, err error) {
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) {
--	r0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos))
-+	r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), 0, uintptr(pos), 0, 0)
- 	ret = uintptr(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -1852,17 +1837,6 @@ func writelen(fd int, buf *byte, nbuf int) (n int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func accept4(fd int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (nfd int, err error) {
--	r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0)
--	nfd = int(r0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
- func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go
-index 7baea87c..b44b31ae 100644
---- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go
-+++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go
-@@ -1,4 +1,4 @@
--// mksyscall.pl -l32 -openbsd -tags openbsd,386 syscall_bsd.go syscall_openbsd.go syscall_openbsd_386.go
-+// go run mksyscall.go -l32 -openbsd -tags openbsd,386 syscall_bsd.go syscall_openbsd.go syscall_openbsd_386.go
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- // +build openbsd,386
-@@ -214,22 +214,6 @@ func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, ne
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) {
--	var _p0 unsafe.Pointer
--	if len(mib) > 0 {
--		_p0 = unsafe.Pointer(&mib[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
- func utimes(path string, timeval *[2]Timeval) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -255,9 +239,9 @@ func futimes(fd int, timeval *[2]Timeval) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func fcntl(fd int, cmd int, arg int) (val int, err error) {
--	r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg))
--	val = int(r0)
-+func poll(fds *PollFd, nfds int, timeout int) (n int, err error) {
-+	r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout))
-+	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -366,8 +350,8 @@ func Munlockall() (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func pipe(p *[2]_C_int) (err error) {
--	_, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0)
-+func pipe2(p *[2]_C_int, flags int) (err error) {
-+	_, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -376,7 +360,7 @@ func pipe(p *[2]_C_int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func getdents(fd int, buf []byte) (n int, err error) {
-+func Getdents(fd int, buf []byte) (n int, err error) {
- 	var _p0 unsafe.Pointer
- 	if len(buf) > 0 {
- 		_p0 = unsafe.Pointer(&buf[0])
-@@ -393,6 +377,60 @@ func getdents(fd int, buf []byte) (n int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Getcwd(buf []byte) (n int, err error) {
-+	var _p0 unsafe.Pointer
-+	if len(buf) > 0 {
-+		_p0 = unsafe.Pointer(&buf[0])
-+	} else {
-+		_p0 = unsafe.Pointer(&_zero)
-+	}
-+	r0, _, e1 := Syscall(SYS___GETCWD, uintptr(_p0), uintptr(len(buf)), 0)
-+	n = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func ioctl(fd int, req uint, arg uintptr) (err error) {
-+	_, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) {
-+	var _p0 unsafe.Pointer
-+	if len(mib) > 0 {
-+		_p0 = unsafe.Pointer(&mib[0])
-+	} else {
-+		_p0 = unsafe.Pointer(&_zero)
-+	}
-+	_, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {
-+	r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0)
-+	n = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Access(path string, mode uint32) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -524,6 +562,16 @@ func Dup2(from int, to int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Dup3(from int, to int, flags int) (err error) {
-+	_, _, e1 := Syscall(SYS_DUP3, uintptr(from), uintptr(to), uintptr(flags))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Exit(code int) {
- 	Syscall(SYS_EXIT, uintptr(code), 0, 0)
- 	return
-@@ -531,6 +579,21 @@ func Exit(code int) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Fchdir(fd int) (err error) {
- 	_, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0)
- 	if e1 != 0 {
-@@ -561,6 +624,21 @@ func Fchmod(fd int, mode uint32) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Fchown(fd int, uid int, gid int) (err error) {
- 	_, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid))
- 	if e1 != 0 {
-@@ -571,6 +649,21 @@ func Fchown(fd int, uid int, gid int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Flock(fd int, how int) (err error) {
- 	_, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0)
- 	if e1 != 0 {
-@@ -602,6 +695,21 @@ func Fstat(fd int, stat *Stat_t) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Fstatfs(fd int, stat *Statfs_t) (err error) {
- 	_, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)
- 	if e1 != 0 {
-@@ -712,6 +820,17 @@ func Getrlimit(which int, lim *Rlimit) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Getrtable() (rtable int, err error) {
-+	r0, _, e1 := RawSyscall(SYS_GETRTABLE, 0, 0, 0)
-+	rtable = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Getrusage(who int, rusage *Rusage) (err error) {
- 	_, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0)
- 	if e1 != 0 {
-@@ -815,6 +934,26 @@ func Link(path string, link string) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	var _p1 *byte
-+	_p1, err = BytePtrFromString(link)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Listen(s int, backlog int) (err error) {
- 	_, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0)
- 	if e1 != 0 {
-@@ -855,6 +994,21 @@ func Mkdir(path string, mode uint32) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Mkdirat(dirfd int, path string, mode uint32) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Mkfifo(path string, mode uint32) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -870,6 +1024,21 @@ func Mkfifo(path string, mode uint32) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Mkfifoat(dirfd int, path string, mode uint32) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall(SYS_MKFIFOAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Mknod(path string, mode uint32, dev int) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -885,6 +1054,21 @@ func Mknod(path string, mode uint32, dev int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Nanosleep(time *Timespec, leftover *Timespec) (err error) {
- 	_, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0)
- 	if e1 != 0 {
-@@ -911,6 +1095,22 @@ func Open(path string, mode int, perm uint32) (fd int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0)
-+	fd = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Pathconf(path string, name int) (val int, err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -1000,6 +1200,28 @@ func Readlink(path string, buf []byte) (n int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	var _p1 unsafe.Pointer
-+	if len(buf) > 0 {
-+		_p1 = unsafe.Pointer(&buf[0])
-+	} else {
-+		_p1 = unsafe.Pointer(&_zero)
-+	}
-+	r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0)
-+	n = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Rename(from string, to string) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(from)
-@@ -1020,6 +1242,26 @@ func Rename(from string, to string) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Renameat(fromfd int, from string, tofd int, to string) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(from)
-+	if err != nil {
-+		return
-+	}
-+	var _p1 *byte
-+	_p1, err = BytePtrFromString(to)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Revoke(path string) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -1061,8 +1303,9 @@ func Seek(fd int, offset int64, whence int) (newoffset int64, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) {
--	_, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)
-+func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) {
-+	r0, _, e1 := Syscall6(SYS_SELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)
-+	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1186,6 +1429,16 @@ func Setrlimit(which int, lim *Rlimit) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Setrtable(rtable int) (err error) {
-+	_, _, e1 := RawSyscall(SYS_SETRTABLE, uintptr(rtable), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Setsid() (pid int, err error) {
- 	r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0)
- 	pid = int(r0)
-@@ -1267,6 +1520,26 @@ func Symlink(path string, link string) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(oldpath)
-+	if err != nil {
-+		return
-+	}
-+	var _p1 *byte
-+	_p1, err = BytePtrFromString(newpath)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Sync() (err error) {
- 	_, _, e1 := Syscall(SYS_SYNC, 0, 0, 0)
- 	if e1 != 0 {
-@@ -1315,6 +1588,21 @@ func Unlink(path string) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Unlinkat(dirfd int, path string, flags int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Unmount(path string, flags int) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go
-index 0d69ce6b..67f93ee7 100644
---- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go
-+++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go
-@@ -1,4 +1,4 @@
--// mksyscall.pl -openbsd -tags openbsd,amd64 syscall_bsd.go syscall_openbsd.go syscall_openbsd_amd64.go
-+// go run mksyscall.go -openbsd -tags openbsd,amd64 syscall_bsd.go syscall_openbsd.go syscall_openbsd_amd64.go
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- // +build openbsd,amd64
-@@ -214,22 +214,6 @@ func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, ne
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) {
--	var _p0 unsafe.Pointer
--	if len(mib) > 0 {
--		_p0 = unsafe.Pointer(&mib[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
- func utimes(path string, timeval *[2]Timeval) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -255,9 +239,9 @@ func futimes(fd int, timeval *[2]Timeval) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func fcntl(fd int, cmd int, arg int) (val int, err error) {
--	r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg))
--	val = int(r0)
-+func poll(fds *PollFd, nfds int, timeout int) (n int, err error) {
-+	r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout))
-+	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -366,8 +350,8 @@ func Munlockall() (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func pipe(p *[2]_C_int) (err error) {
--	_, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0)
-+func pipe2(p *[2]_C_int, flags int) (err error) {
-+	_, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -376,7 +360,7 @@ func pipe(p *[2]_C_int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func getdents(fd int, buf []byte) (n int, err error) {
-+func Getdents(fd int, buf []byte) (n int, err error) {
- 	var _p0 unsafe.Pointer
- 	if len(buf) > 0 {
- 		_p0 = unsafe.Pointer(&buf[0])
-@@ -393,6 +377,60 @@ func getdents(fd int, buf []byte) (n int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Getcwd(buf []byte) (n int, err error) {
-+	var _p0 unsafe.Pointer
-+	if len(buf) > 0 {
-+		_p0 = unsafe.Pointer(&buf[0])
-+	} else {
-+		_p0 = unsafe.Pointer(&_zero)
-+	}
-+	r0, _, e1 := Syscall(SYS___GETCWD, uintptr(_p0), uintptr(len(buf)), 0)
-+	n = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func ioctl(fd int, req uint, arg uintptr) (err error) {
-+	_, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) {
-+	var _p0 unsafe.Pointer
-+	if len(mib) > 0 {
-+		_p0 = unsafe.Pointer(&mib[0])
-+	} else {
-+		_p0 = unsafe.Pointer(&_zero)
-+	}
-+	_, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {
-+	r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0)
-+	n = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Access(path string, mode uint32) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -524,6 +562,16 @@ func Dup2(from int, to int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Dup3(from int, to int, flags int) (err error) {
-+	_, _, e1 := Syscall(SYS_DUP3, uintptr(from), uintptr(to), uintptr(flags))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Exit(code int) {
- 	Syscall(SYS_EXIT, uintptr(code), 0, 0)
- 	return
-@@ -531,6 +579,21 @@ func Exit(code int) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Fchdir(fd int) (err error) {
- 	_, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0)
- 	if e1 != 0 {
-@@ -561,6 +624,21 @@ func Fchmod(fd int, mode uint32) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Fchown(fd int, uid int, gid int) (err error) {
- 	_, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid))
- 	if e1 != 0 {
-@@ -571,6 +649,21 @@ func Fchown(fd int, uid int, gid int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Flock(fd int, how int) (err error) {
- 	_, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0)
- 	if e1 != 0 {
-@@ -602,6 +695,21 @@ func Fstat(fd int, stat *Stat_t) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Fstatfs(fd int, stat *Statfs_t) (err error) {
- 	_, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)
- 	if e1 != 0 {
-@@ -712,6 +820,17 @@ func Getrlimit(which int, lim *Rlimit) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Getrtable() (rtable int, err error) {
-+	r0, _, e1 := RawSyscall(SYS_GETRTABLE, 0, 0, 0)
-+	rtable = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Getrusage(who int, rusage *Rusage) (err error) {
- 	_, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0)
- 	if e1 != 0 {
-@@ -815,6 +934,26 @@ func Link(path string, link string) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	var _p1 *byte
-+	_p1, err = BytePtrFromString(link)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Listen(s int, backlog int) (err error) {
- 	_, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0)
- 	if e1 != 0 {
-@@ -855,6 +994,21 @@ func Mkdir(path string, mode uint32) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Mkdirat(dirfd int, path string, mode uint32) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Mkfifo(path string, mode uint32) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -870,6 +1024,21 @@ func Mkfifo(path string, mode uint32) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Mkfifoat(dirfd int, path string, mode uint32) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall(SYS_MKFIFOAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Mknod(path string, mode uint32, dev int) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -885,6 +1054,21 @@ func Mknod(path string, mode uint32, dev int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Nanosleep(time *Timespec, leftover *Timespec) (err error) {
- 	_, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0)
- 	if e1 != 0 {
-@@ -911,6 +1095,22 @@ func Open(path string, mode int, perm uint32) (fd int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0)
-+	fd = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Pathconf(path string, name int) (val int, err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -1000,6 +1200,28 @@ func Readlink(path string, buf []byte) (n int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	var _p1 unsafe.Pointer
-+	if len(buf) > 0 {
-+		_p1 = unsafe.Pointer(&buf[0])
-+	} else {
-+		_p1 = unsafe.Pointer(&_zero)
-+	}
-+	r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0)
-+	n = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Rename(from string, to string) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(from)
-@@ -1020,6 +1242,26 @@ func Rename(from string, to string) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Renameat(fromfd int, from string, tofd int, to string) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(from)
-+	if err != nil {
-+		return
-+	}
-+	var _p1 *byte
-+	_p1, err = BytePtrFromString(to)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Revoke(path string) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -1061,8 +1303,9 @@ func Seek(fd int, offset int64, whence int) (newoffset int64, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) {
--	_, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)
-+func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) {
-+	r0, _, e1 := Syscall6(SYS_SELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)
-+	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1186,6 +1429,16 @@ func Setrlimit(which int, lim *Rlimit) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Setrtable(rtable int) (err error) {
-+	_, _, e1 := RawSyscall(SYS_SETRTABLE, uintptr(rtable), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Setsid() (pid int, err error) {
- 	r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0)
- 	pid = int(r0)
-@@ -1267,6 +1520,26 @@ func Symlink(path string, link string) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(oldpath)
-+	if err != nil {
-+		return
-+	}
-+	var _p1 *byte
-+	_p1, err = BytePtrFromString(newpath)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Sync() (err error) {
- 	_, _, e1 := Syscall(SYS_SYNC, 0, 0, 0)
- 	if e1 != 0 {
-@@ -1315,6 +1588,21 @@ func Unlink(path string) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Unlinkat(dirfd int, path string, flags int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Unmount(path string, flags int) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go
-index 41572c26..d7c878b1 100644
---- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go
-+++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go
-@@ -1,4 +1,4 @@
--// mksyscall.pl -l32 -openbsd -arm -tags openbsd,arm syscall_bsd.go syscall_openbsd.go syscall_openbsd_arm.go
-+// go run mksyscall.go -l32 -openbsd -arm -tags openbsd,arm syscall_bsd.go syscall_openbsd.go syscall_openbsd_arm.go
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- // +build openbsd,arm
-@@ -214,22 +214,6 @@ func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, ne
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) {
--	var _p0 unsafe.Pointer
--	if len(mib) > 0 {
--		_p0 = unsafe.Pointer(&mib[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
- func utimes(path string, timeval *[2]Timeval) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -255,9 +239,9 @@ func futimes(fd int, timeval *[2]Timeval) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func fcntl(fd int, cmd int, arg int) (val int, err error) {
--	r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg))
--	val = int(r0)
-+func poll(fds *PollFd, nfds int, timeout int) (n int, err error) {
-+	r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout))
-+	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -366,8 +350,8 @@ func Munlockall() (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func pipe(p *[2]_C_int) (err error) {
--	_, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0)
-+func pipe2(p *[2]_C_int, flags int) (err error) {
-+	_, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -376,7 +360,7 @@ func pipe(p *[2]_C_int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func getdents(fd int, buf []byte) (n int, err error) {
-+func Getdents(fd int, buf []byte) (n int, err error) {
- 	var _p0 unsafe.Pointer
- 	if len(buf) > 0 {
- 		_p0 = unsafe.Pointer(&buf[0])
-@@ -393,6 +377,60 @@ func getdents(fd int, buf []byte) (n int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Getcwd(buf []byte) (n int, err error) {
-+	var _p0 unsafe.Pointer
-+	if len(buf) > 0 {
-+		_p0 = unsafe.Pointer(&buf[0])
-+	} else {
-+		_p0 = unsafe.Pointer(&_zero)
-+	}
-+	r0, _, e1 := Syscall(SYS___GETCWD, uintptr(_p0), uintptr(len(buf)), 0)
-+	n = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func ioctl(fd int, req uint, arg uintptr) (err error) {
-+	_, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) {
-+	var _p0 unsafe.Pointer
-+	if len(mib) > 0 {
-+		_p0 = unsafe.Pointer(&mib[0])
-+	} else {
-+		_p0 = unsafe.Pointer(&_zero)
-+	}
-+	_, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {
-+	r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0)
-+	n = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Access(path string, mode uint32) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -524,6 +562,16 @@ func Dup2(from int, to int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Dup3(from int, to int, flags int) (err error) {
-+	_, _, e1 := Syscall(SYS_DUP3, uintptr(from), uintptr(to), uintptr(flags))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Exit(code int) {
- 	Syscall(SYS_EXIT, uintptr(code), 0, 0)
- 	return
-@@ -531,6 +579,21 @@ func Exit(code int) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Fchdir(fd int) (err error) {
- 	_, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0)
- 	if e1 != 0 {
-@@ -561,6 +624,21 @@ func Fchmod(fd int, mode uint32) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Fchown(fd int, uid int, gid int) (err error) {
- 	_, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid))
- 	if e1 != 0 {
-@@ -571,6 +649,21 @@ func Fchown(fd int, uid int, gid int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Flock(fd int, how int) (err error) {
- 	_, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0)
- 	if e1 != 0 {
-@@ -602,6 +695,21 @@ func Fstat(fd int, stat *Stat_t) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Fstatfs(fd int, stat *Statfs_t) (err error) {
- 	_, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)
- 	if e1 != 0 {
-@@ -712,6 +820,17 @@ func Getrlimit(which int, lim *Rlimit) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Getrtable() (rtable int, err error) {
-+	r0, _, e1 := RawSyscall(SYS_GETRTABLE, 0, 0, 0)
-+	rtable = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Getrusage(who int, rusage *Rusage) (err error) {
- 	_, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0)
- 	if e1 != 0 {
-@@ -815,6 +934,26 @@ func Link(path string, link string) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	var _p1 *byte
-+	_p1, err = BytePtrFromString(link)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Listen(s int, backlog int) (err error) {
- 	_, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0)
- 	if e1 != 0 {
-@@ -855,6 +994,21 @@ func Mkdir(path string, mode uint32) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Mkdirat(dirfd int, path string, mode uint32) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Mkfifo(path string, mode uint32) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -870,6 +1024,21 @@ func Mkfifo(path string, mode uint32) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Mkfifoat(dirfd int, path string, mode uint32) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall(SYS_MKFIFOAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Mknod(path string, mode uint32, dev int) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -885,6 +1054,21 @@ func Mknod(path string, mode uint32, dev int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Nanosleep(time *Timespec, leftover *Timespec) (err error) {
- 	_, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0)
- 	if e1 != 0 {
-@@ -911,6 +1095,22 @@ func Open(path string, mode int, perm uint32) (fd int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0)
-+	fd = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Pathconf(path string, name int) (val int, err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -1000,6 +1200,28 @@ func Readlink(path string, buf []byte) (n int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	var _p1 unsafe.Pointer
-+	if len(buf) > 0 {
-+		_p1 = unsafe.Pointer(&buf[0])
-+	} else {
-+		_p1 = unsafe.Pointer(&_zero)
-+	}
-+	r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0)
-+	n = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Rename(from string, to string) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(from)
-@@ -1020,6 +1242,26 @@ func Rename(from string, to string) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Renameat(fromfd int, from string, tofd int, to string) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(from)
-+	if err != nil {
-+		return
-+	}
-+	var _p1 *byte
-+	_p1, err = BytePtrFromString(to)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Revoke(path string) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -1061,8 +1303,9 @@ func Seek(fd int, offset int64, whence int) (newoffset int64, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) {
--	_, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)
-+func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) {
-+	r0, _, e1 := Syscall6(SYS_SELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)
-+	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1186,6 +1429,16 @@ func Setrlimit(which int, lim *Rlimit) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Setrtable(rtable int) (err error) {
-+	_, _, e1 := RawSyscall(SYS_SETRTABLE, uintptr(rtable), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Setsid() (pid int, err error) {
- 	r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0)
- 	pid = int(r0)
-@@ -1267,6 +1520,26 @@ func Symlink(path string, link string) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(oldpath)
-+	if err != nil {
-+		return
-+	}
-+	var _p1 *byte
-+	_p1, err = BytePtrFromString(newpath)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Sync() (err error) {
- 	_, _, e1 := Syscall(SYS_SYNC, 0, 0, 0)
- 	if e1 != 0 {
-@@ -1315,6 +1588,21 @@ func Unlink(path string) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Unlinkat(dirfd int, path string, flags int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Unmount(path string, flags int) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.go b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.go
-similarity index 87%
-copy from vendor/golang.org/x/sys/unix/zsyscall_darwin_386.go
-copy to vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.go
-index 10491e9e..8facd695 100644
---- a/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.go
-+++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.go
-@@ -1,7 +1,7 @@
--// mksyscall.pl -l32 -tags darwin,386 syscall_bsd.go syscall_darwin.go syscall_darwin_386.go
-+// go run mksyscall.go -openbsd -tags openbsd,arm64 syscall_bsd.go syscall_openbsd.go syscall_openbsd_arm64.go
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
--// +build darwin,386
-+// +build openbsd,arm64
- 
- package unix
- 
-@@ -214,22 +214,6 @@ func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, ne
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) {
--	var _p0 unsafe.Pointer
--	if len(mib) > 0 {
--		_p0 = unsafe.Pointer(&mib[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	_, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen))
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
- func utimes(path string, timeval *[2]Timeval) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -255,9 +239,9 @@ func futimes(fd int, timeval *[2]Timeval) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func fcntl(fd int, cmd int, arg int) (val int, err error) {
--	r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg))
--	val = int(r0)
-+func poll(fds *PollFd, nfds int, timeout int) (n int, err error) {
-+	r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout))
-+	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -366,8 +350,8 @@ func Munlockall() (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) {
--	_, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0)
-+func pipe2(p *[2]_C_int, flags int) (err error) {
-+	_, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -376,10 +360,15 @@ func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func pipe() (r int, w int, err error) {
--	r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0)
--	r = int(r0)
--	w = int(r1)
-+func Getdents(fd int, buf []byte) (n int, err error) {
-+	var _p0 unsafe.Pointer
-+	if len(buf) > 0 {
-+		_p0 = unsafe.Pointer(&buf[0])
-+	} else {
-+		_p0 = unsafe.Pointer(&_zero)
-+	}
-+	r0, _, e1 := Syscall(SYS_GETDENTS, uintptr(fd), uintptr(_p0), uintptr(len(buf)))
-+	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -388,8 +377,15 @@ func pipe() (r int, w int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func kill(pid int, signum int, posix int) (err error) {
--	_, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), uintptr(posix))
-+func Getcwd(buf []byte) (n int, err error) {
-+	var _p0 unsafe.Pointer
-+	if len(buf) > 0 {
-+		_p0 = unsafe.Pointer(&buf[0])
-+	} else {
-+		_p0 = unsafe.Pointer(&_zero)
-+	}
-+	r0, _, e1 := Syscall(SYS___GETCWD, uintptr(_p0), uintptr(len(buf)), 0)
-+	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -408,6 +404,33 @@ func ioctl(fd int, req uint, arg uintptr) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) {
-+	var _p0 unsafe.Pointer
-+	if len(mib) > 0 {
-+		_p0 = unsafe.Pointer(&mib[0])
-+	} else {
-+		_p0 = unsafe.Pointer(&_zero)
-+	}
-+	_, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {
-+	r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0)
-+	n = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Access(path string, mode uint32) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -539,18 +562,8 @@ func Dup2(from int, to int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Exchangedata(path1 string, path2 string, options int) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path1)
--	if err != nil {
--		return
--	}
--	var _p1 *byte
--	_p1, err = BytePtrFromString(path2)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_EXCHANGEDATA, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options))
-+func Dup3(from int, to int, flags int) (err error) {
-+	_, _, e1 := Syscall(SYS_DUP3, uintptr(from), uintptr(to), uintptr(flags))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -673,7 +686,7 @@ func Fpathconf(fd int, name int) (val int, err error) {
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Fstat(fd int, stat *Stat_t) (err error) {
--	_, _, e1 := Syscall(SYS_FSTAT64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)
-+	_, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -682,8 +695,13 @@ func Fstat(fd int, stat *Stat_t) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Fstatfs(fd int, stat *Statfs_t) (err error) {
--	_, _, e1 := Syscall(SYS_FSTATFS64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)
-+func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -692,8 +710,8 @@ func Fstatfs(fd int, stat *Statfs_t) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Fsync(fd int) (err error) {
--	_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)
-+func Fstatfs(fd int, stat *Statfs_t) (err error) {
-+	_, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -702,8 +720,8 @@ func Fsync(fd int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Ftruncate(fd int, length int64) (err error) {
--	_, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), uintptr(length>>32))
-+func Fsync(fd int) (err error) {
-+	_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -712,15 +730,8 @@ func Ftruncate(fd int, length int64) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {
--	var _p0 unsafe.Pointer
--	if len(buf) > 0 {
--		_p0 = unsafe.Pointer(&buf[0])
--	} else {
--		_p0 = unsafe.Pointer(&_zero)
--	}
--	r0, _, e1 := Syscall6(SYS_GETDIRENTRIES64, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0)
--	n = int(r0)
-+func Ftruncate(fd int, length int64) (err error) {
-+	_, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), 0, uintptr(length))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -729,14 +740,6 @@ func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Getdtablesize() (size int) {
--	r0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0)
--	size = int(r0)
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
- func Getegid() (egid int) {
- 	r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0)
- 	egid = int(r0)
-@@ -817,6 +820,17 @@ func Getrlimit(which int, lim *Rlimit) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Getrtable() (rtable int, err error) {
-+	r0, _, e1 := RawSyscall(SYS_GETRTABLE, 0, 0, 0)
-+	rtable = int(r0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Getrusage(who int, rusage *Rusage) (err error) {
- 	_, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0)
- 	if e1 != 0 {
-@@ -838,6 +852,16 @@ func Getsid(pid int) (sid int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Gettimeofday(tv *Timeval) (err error) {
-+	_, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Getuid() (uid int) {
- 	r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0)
- 	uid = int(r0)
-@@ -847,13 +871,23 @@ func Getuid() (uid int) {
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Issetugid() (tainted bool) {
--	r0, _, _ := RawSyscall(SYS_ISSETUGID, 0, 0, 0)
-+	r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0)
- 	tainted = bool(r0 != 0)
- 	return
- }
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Kill(pid int, signum syscall.Signal) (err error) {
-+	_, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Kqueue() (fd int, err error) {
- 	r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0)
- 	fd = int(r0)
-@@ -936,7 +970,7 @@ func Lstat(path string, stat *Stat_t) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_LSTAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
-+	_, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -990,6 +1024,21 @@ func Mkfifo(path string, mode uint32) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Mkfifoat(dirfd int, path string, mode uint32) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall(SYS_MKFIFOAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Mknod(path string, mode uint32, dev int) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -1005,6 +1054,31 @@ func Mknod(path string, mode uint32, dev int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Nanosleep(time *Timespec, leftover *Timespec) (err error) {
-+	_, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Open(path string, mode int, perm uint32) (fd int, err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -1060,7 +1134,7 @@ func Pread(fd int, p []byte, offset int64) (n int, err error) {
- 	} else {
- 		_p0 = unsafe.Pointer(&_zero)
- 	}
--	r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0)
-+	r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), 0)
- 	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -1077,7 +1151,7 @@ func Pwrite(fd int, p []byte, offset int64) (n int, err error) {
- 	} else {
- 		_p0 = unsafe.Pointer(&_zero)
- 	}
--	r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0)
-+	r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), 0)
- 	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -1219,8 +1293,8 @@ func Rmdir(path string) (err error) {
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Seek(fd int, offset int64, whence int) (newoffset int64, err error) {
--	r0, r1, e1 := Syscall6(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(offset>>32), uintptr(whence), 0, 0)
--	newoffset = int64(int64(r1)<<32 | int64(r0))
-+	r0, _, e1 := Syscall6(SYS_LSEEK, uintptr(fd), 0, uintptr(offset), uintptr(whence), 0, 0)
-+	newoffset = int64(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1229,8 +1303,9 @@ func Seek(fd int, offset int64, whence int) (newoffset int64, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) {
--	_, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)
-+func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) {
-+	r0, _, e1 := Syscall6(SYS_SELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)
-+	n = int(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1240,7 +1315,7 @@ func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) {
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func Setegid(egid int) (err error) {
--	_, _, e1 := Syscall(SYS_SETEGID, uintptr(egid), 0, 0)
-+	_, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1304,8 +1379,8 @@ func Setpriority(which int, who int, prio int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Setprivexec(flag int) (err error) {
--	_, _, e1 := Syscall(SYS_SETPRIVEXEC, uintptr(flag), 0, 0)
-+func Setregid(rgid int, egid int) (err error) {
-+	_, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1314,8 +1389,8 @@ func Setprivexec(flag int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Setregid(rgid int, egid int) (err error) {
--	_, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0)
-+func Setreuid(ruid int, euid int) (err error) {
-+	_, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1324,8 +1399,18 @@ func Setregid(rgid int, egid int) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Setreuid(ruid int, euid int) (err error) {
--	_, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0)
-+func Setresgid(rgid int, egid int, sgid int) (err error) {
-+	_, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid))
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Setresuid(ruid int, euid int, suid int) (err error) {
-+	_, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1344,6 +1429,16 @@ func Setrlimit(which int, lim *Rlimit) (err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
-+func Setrtable(rtable int) (err error) {
-+	_, _, e1 := RawSyscall(SYS_SETRTABLE, uintptr(rtable), 0, 0)
-+	if e1 != 0 {
-+		err = errnoErr(e1)
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Setsid() (pid int, err error) {
- 	r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0)
- 	pid = int(r0)
-@@ -1381,7 +1476,7 @@ func Stat(path string, stat *Stat_t) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_STAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
-+	_, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1396,7 +1491,7 @@ func Statfs(path string, stat *Statfs_t) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_STATFS64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
-+	_, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1461,7 +1556,7 @@ func Truncate(path string, length int64) (err error) {
- 	if err != nil {
- 		return
- 	}
--	_, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), uintptr(length>>32))
-+	_, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length))
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-@@ -1478,21 +1573,6 @@ func Umask(newmask int) (oldmask int) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func Undelete(path string) (err error) {
--	var _p0 *byte
--	_p0, err = BytePtrFromString(path)
--	if err != nil {
--		return
--	}
--	_, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(_p0)), 0, 0)
--	if e1 != 0 {
--		err = errnoErr(e1)
--	}
--	return
--}
--
--// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
--
- func Unlink(path string) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -1556,7 +1636,7 @@ func write(fd int, p []byte) (n int, err error) {
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
- func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) {
--	r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos), uintptr(pos>>32), 0, 0)
-+	r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), 0, uintptr(pos), 0, 0)
- 	ret = uintptr(r0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
-@@ -1598,10 +1678,13 @@ func writelen(fd int, buf *byte, nbuf int) (n int, err error) {
- 
- // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
- 
--func gettimeofday(tp *Timeval) (sec int32, usec int32, err error) {
--	r0, r1, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0)
--	sec = int32(r0)
--	usec = int32(r1)
-+func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0)
- 	if e1 != 0 {
- 		err = errnoErr(e1)
- 	}
-diff --git a/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go
-index 4287133d..a96165d4 100644
---- a/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go
-+++ b/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go
-@@ -1,4 +1,4 @@
--// mksyscall_solaris.pl -tags solaris,amd64 syscall_solaris.go syscall_solaris_amd64.go
-+// go run mksyscall_solaris.go -tags solaris,amd64 syscall_solaris.go syscall_solaris_amd64.go
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- // +build solaris,amd64
-@@ -25,7 +25,11 @@ import (
- //go:cgo_import_dynamic libc___xnet_recvmsg __xnet_recvmsg "libsocket.so"
- //go:cgo_import_dynamic libc___xnet_sendmsg __xnet_sendmsg "libsocket.so"
- //go:cgo_import_dynamic libc_acct acct "libc.so"
-+//go:cgo_import_dynamic libc___makedev __makedev "libc.so"
-+//go:cgo_import_dynamic libc___major __major "libc.so"
-+//go:cgo_import_dynamic libc___minor __minor "libc.so"
- //go:cgo_import_dynamic libc_ioctl ioctl "libc.so"
-+//go:cgo_import_dynamic libc_poll poll "libc.so"
- //go:cgo_import_dynamic libc_access access "libc.so"
- //go:cgo_import_dynamic libc_adjtime adjtime "libc.so"
- //go:cgo_import_dynamic libc_chdir chdir "libc.so"
-@@ -37,6 +41,7 @@ import (
- //go:cgo_import_dynamic libc_dup dup "libc.so"
- //go:cgo_import_dynamic libc_dup2 dup2 "libc.so"
- //go:cgo_import_dynamic libc_exit exit "libc.so"
-+//go:cgo_import_dynamic libc_faccessat faccessat "libc.so"
- //go:cgo_import_dynamic libc_fchdir fchdir "libc.so"
- //go:cgo_import_dynamic libc_fchmod fchmod "libc.so"
- //go:cgo_import_dynamic libc_fchmodat fchmodat "libc.so"
-@@ -46,6 +51,7 @@ import (
- //go:cgo_import_dynamic libc_flock flock "libc.so"
- //go:cgo_import_dynamic libc_fpathconf fpathconf "libc.so"
- //go:cgo_import_dynamic libc_fstat fstat "libc.so"
-+//go:cgo_import_dynamic libc_fstatat fstatat "libc.so"
- //go:cgo_import_dynamic libc_fstatvfs fstatvfs "libc.so"
- //go:cgo_import_dynamic libc_getdents getdents "libc.so"
- //go:cgo_import_dynamic libc_getgid getgid "libc.so"
-@@ -75,6 +81,7 @@ import (
- //go:cgo_import_dynamic libc_mlock mlock "libc.so"
- //go:cgo_import_dynamic libc_mlockall mlockall "libc.so"
- //go:cgo_import_dynamic libc_mprotect mprotect "libc.so"
-+//go:cgo_import_dynamic libc_msync msync "libc.so"
- //go:cgo_import_dynamic libc_munlock munlock "libc.so"
- //go:cgo_import_dynamic libc_munlockall munlockall "libc.so"
- //go:cgo_import_dynamic libc_nanosleep nanosleep "libc.so"
-@@ -90,6 +97,7 @@ import (
- //go:cgo_import_dynamic libc_renameat renameat "libc.so"
- //go:cgo_import_dynamic libc_rmdir rmdir "libc.so"
- //go:cgo_import_dynamic libc_lseek lseek "libc.so"
-+//go:cgo_import_dynamic libc_select select "libc.so"
- //go:cgo_import_dynamic libc_setegid setegid "libc.so"
- //go:cgo_import_dynamic libc_seteuid seteuid "libc.so"
- //go:cgo_import_dynamic libc_setgid setgid "libc.so"
-@@ -121,6 +129,7 @@ import (
- //go:cgo_import_dynamic libc___xnet_connect __xnet_connect "libsocket.so"
- //go:cgo_import_dynamic libc_mmap mmap "libc.so"
- //go:cgo_import_dynamic libc_munmap munmap "libc.so"
-+//go:cgo_import_dynamic libc_sendfile sendfile "libsendfile.so"
- //go:cgo_import_dynamic libc___xnet_sendto __xnet_sendto "libsocket.so"
- //go:cgo_import_dynamic libc___xnet_socket __xnet_socket "libsocket.so"
- //go:cgo_import_dynamic libc___xnet_socketpair __xnet_socketpair "libsocket.so"
-@@ -129,7 +138,6 @@ import (
- //go:cgo_import_dynamic libc_getpeername getpeername "libsocket.so"
- //go:cgo_import_dynamic libc_setsockopt setsockopt "libsocket.so"
- //go:cgo_import_dynamic libc_recvfrom recvfrom "libsocket.so"
--//go:cgo_import_dynamic libc_sysconf sysconf "libc.so"
- 
- //go:linkname procpipe libc_pipe
- //go:linkname procgetsockname libc_getsockname
-@@ -146,7 +154,11 @@ import (
- //go:linkname proc__xnet_recvmsg libc___xnet_recvmsg
- //go:linkname proc__xnet_sendmsg libc___xnet_sendmsg
- //go:linkname procacct libc_acct
-+//go:linkname proc__makedev libc___makedev
-+//go:linkname proc__major libc___major
-+//go:linkname proc__minor libc___minor
- //go:linkname procioctl libc_ioctl
-+//go:linkname procpoll libc_poll
- //go:linkname procAccess libc_access
- //go:linkname procAdjtime libc_adjtime
- //go:linkname procChdir libc_chdir
-@@ -158,6 +170,7 @@ import (
- //go:linkname procDup libc_dup
- //go:linkname procDup2 libc_dup2
- //go:linkname procExit libc_exit
-+//go:linkname procFaccessat libc_faccessat
- //go:linkname procFchdir libc_fchdir
- //go:linkname procFchmod libc_fchmod
- //go:linkname procFchmodat libc_fchmodat
-@@ -167,6 +180,7 @@ import (
- //go:linkname procFlock libc_flock
- //go:linkname procFpathconf libc_fpathconf
- //go:linkname procFstat libc_fstat
-+//go:linkname procFstatat libc_fstatat
- //go:linkname procFstatvfs libc_fstatvfs
- //go:linkname procGetdents libc_getdents
- //go:linkname procGetgid libc_getgid
-@@ -196,6 +210,7 @@ import (
- //go:linkname procMlock libc_mlock
- //go:linkname procMlockall libc_mlockall
- //go:linkname procMprotect libc_mprotect
-+//go:linkname procMsync libc_msync
- //go:linkname procMunlock libc_munlock
- //go:linkname procMunlockall libc_munlockall
- //go:linkname procNanosleep libc_nanosleep
-@@ -211,6 +226,7 @@ import (
- //go:linkname procRenameat libc_renameat
- //go:linkname procRmdir libc_rmdir
- //go:linkname proclseek libc_lseek
-+//go:linkname procSelect libc_select
- //go:linkname procSetegid libc_setegid
- //go:linkname procSeteuid libc_seteuid
- //go:linkname procSetgid libc_setgid
-@@ -242,6 +258,7 @@ import (
- //go:linkname proc__xnet_connect libc___xnet_connect
- //go:linkname procmmap libc_mmap
- //go:linkname procmunmap libc_munmap
-+//go:linkname procsendfile libc_sendfile
- //go:linkname proc__xnet_sendto libc___xnet_sendto
- //go:linkname proc__xnet_socket libc___xnet_socket
- //go:linkname proc__xnet_socketpair libc___xnet_socketpair
-@@ -250,7 +267,6 @@ import (
- //go:linkname procgetpeername libc_getpeername
- //go:linkname procsetsockopt libc_setsockopt
- //go:linkname procrecvfrom libc_recvfrom
--//go:linkname procsysconf libc_sysconf
- 
- var (
- 	procpipe,
-@@ -268,7 +284,11 @@ var (
- 	proc__xnet_recvmsg,
- 	proc__xnet_sendmsg,
- 	procacct,
-+	proc__makedev,
-+	proc__major,
-+	proc__minor,
- 	procioctl,
-+	procpoll,
- 	procAccess,
- 	procAdjtime,
- 	procChdir,
-@@ -280,6 +300,7 @@ var (
- 	procDup,
- 	procDup2,
- 	procExit,
-+	procFaccessat,
- 	procFchdir,
- 	procFchmod,
- 	procFchmodat,
-@@ -289,6 +310,7 @@ var (
- 	procFlock,
- 	procFpathconf,
- 	procFstat,
-+	procFstatat,
- 	procFstatvfs,
- 	procGetdents,
- 	procGetgid,
-@@ -318,6 +340,7 @@ var (
- 	procMlock,
- 	procMlockall,
- 	procMprotect,
-+	procMsync,
- 	procMunlock,
- 	procMunlockall,
- 	procNanosleep,
-@@ -333,6 +356,7 @@ var (
- 	procRenameat,
- 	procRmdir,
- 	proclseek,
-+	procSelect,
- 	procSetegid,
- 	procSeteuid,
- 	procSetgid,
-@@ -364,6 +388,7 @@ var (
- 	proc__xnet_connect,
- 	procmmap,
- 	procmunmap,
-+	procsendfile,
- 	proc__xnet_sendto,
- 	proc__xnet_socket,
- 	proc__xnet_socketpair,
-@@ -371,10 +396,11 @@ var (
- 	proc__xnet_getsockopt,
- 	procgetpeername,
- 	procsetsockopt,
--	procrecvfrom,
--	procsysconf syscallFunc
-+	procrecvfrom syscallFunc
- )
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func pipe(p *[2]_C_int) (n int, err error) {
- 	r0, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procpipe)), 1, uintptr(unsafe.Pointer(p)), 0, 0, 0, 0, 0)
- 	n = int(r0)
-@@ -384,6 +410,8 @@ func pipe(p *[2]_C_int) (n int, err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {
- 	_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procgetsockname)), 3, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), 0, 0, 0)
- 	if e1 != 0 {
-@@ -392,6 +420,8 @@ func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Getcwd(buf []byte) (n int, err error) {
- 	var _p0 *byte
- 	if len(buf) > 0 {
-@@ -405,6 +435,8 @@ func Getcwd(buf []byte) (n int, err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func getgroups(ngid int, gid *_Gid_t) (n int, err error) {
- 	r0, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procgetgroups)), 2, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0, 0, 0, 0)
- 	n = int(r0)
-@@ -414,6 +446,8 @@ func getgroups(ngid int, gid *_Gid_t) (n int, err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func setgroups(ngid int, gid *_Gid_t) (err error) {
- 	_, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procsetgroups)), 2, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0, 0, 0, 0)
- 	if e1 != 0 {
-@@ -422,6 +456,8 @@ func setgroups(ngid int, gid *_Gid_t) (err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func wait4(pid int32, statusp *_C_int, options int, rusage *Rusage) (wpid int32, err error) {
- 	r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procwait4)), 4, uintptr(pid), uintptr(unsafe.Pointer(statusp)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0)
- 	wpid = int32(r0)
-@@ -431,6 +467,8 @@ func wait4(pid int32, statusp *_C_int, options int, rusage *Rusage) (wpid int32,
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func gethostname(buf []byte) (n int, err error) {
- 	var _p0 *byte
- 	if len(buf) > 0 {
-@@ -444,6 +482,8 @@ func gethostname(buf []byte) (n int, err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func utimes(path string, times *[2]Timeval) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -457,6 +497,8 @@ func utimes(path string, times *[2]Timeval) (err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func utimensat(fd int, path string, times *[2]Timespec, flag int) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -470,6 +512,8 @@ func utimensat(fd int, path string, times *[2]Timespec, flag int) (err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func fcntl(fd int, cmd int, arg int) (val int, err error) {
- 	r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procfcntl)), 3, uintptr(fd), uintptr(cmd), uintptr(arg), 0, 0, 0)
- 	val = int(r0)
-@@ -479,6 +523,8 @@ func fcntl(fd int, cmd int, arg int) (val int, err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func futimesat(fildes int, path *byte, times *[2]Timeval) (err error) {
- 	_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procfutimesat)), 3, uintptr(fildes), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(times)), 0, 0, 0)
- 	if e1 != 0 {
-@@ -487,6 +533,8 @@ func futimesat(fildes int, path *byte, times *[2]Timeval) (err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {
- 	r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procaccept)), 3, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), 0, 0, 0)
- 	fd = int(r0)
-@@ -496,6 +544,8 @@ func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) {
- 	r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&proc__xnet_recvmsg)), 3, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags), 0, 0, 0)
- 	n = int(r0)
-@@ -505,6 +555,8 @@ func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) {
- 	r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&proc__xnet_sendmsg)), 3, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags), 0, 0, 0)
- 	n = int(r0)
-@@ -514,6 +566,8 @@ func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func acct(path *byte) (err error) {
- 	_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procacct)), 1, uintptr(unsafe.Pointer(path)), 0, 0, 0, 0, 0)
- 	if e1 != 0 {
-@@ -522,6 +576,32 @@ func acct(path *byte) (err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func __makedev(version int, major uint, minor uint) (val uint64) {
-+	r0, _, _ := sysvicall6(uintptr(unsafe.Pointer(&proc__makedev)), 3, uintptr(version), uintptr(major), uintptr(minor), 0, 0, 0)
-+	val = uint64(r0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func __major(version int, dev uint64) (val uint) {
-+	r0, _, _ := sysvicall6(uintptr(unsafe.Pointer(&proc__major)), 2, uintptr(version), uintptr(dev), 0, 0, 0, 0)
-+	val = uint(r0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func __minor(version int, dev uint64) (val uint) {
-+	r0, _, _ := sysvicall6(uintptr(unsafe.Pointer(&proc__minor)), 2, uintptr(version), uintptr(dev), 0, 0, 0, 0)
-+	val = uint(r0)
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func ioctl(fd int, req uint, arg uintptr) (err error) {
- 	_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procioctl)), 3, uintptr(fd), uintptr(req), uintptr(arg), 0, 0, 0)
- 	if e1 != 0 {
-@@ -530,6 +610,19 @@ func ioctl(fd int, req uint, arg uintptr) (err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func poll(fds *PollFd, nfds int, timeout int) (n int, err error) {
-+	r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procpoll)), 3, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout), 0, 0, 0)
-+	n = int(r0)
-+	if e1 != 0 {
-+		err = e1
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Access(path string, mode uint32) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -543,6 +636,8 @@ func Access(path string, mode uint32) (err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Adjtime(delta *Timeval, olddelta *Timeval) (err error) {
- 	_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procAdjtime)), 2, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0, 0, 0, 0)
- 	if e1 != 0 {
-@@ -551,6 +646,8 @@ func Adjtime(delta *Timeval, olddelta *Timeval) (err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Chdir(path string) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -564,6 +661,8 @@ func Chdir(path string) (err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Chmod(path string, mode uint32) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -577,6 +676,8 @@ func Chmod(path string, mode uint32) (err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Chown(path string, uid int, gid int) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -590,6 +691,8 @@ func Chown(path string, uid int, gid int) (err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Chroot(path string) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -603,6 +706,8 @@ func Chroot(path string) (err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Close(fd int) (err error) {
- 	_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procClose)), 1, uintptr(fd), 0, 0, 0, 0, 0)
- 	if e1 != 0 {
-@@ -611,6 +716,8 @@ func Close(fd int) (err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Creat(path string, mode uint32) (fd int, err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -625,6 +732,8 @@ func Creat(path string, mode uint32) (fd int, err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Dup(fd int) (nfd int, err error) {
- 	r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procDup)), 1, uintptr(fd), 0, 0, 0, 0, 0)
- 	nfd = int(r0)
-@@ -634,6 +743,8 @@ func Dup(fd int) (nfd int, err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Dup2(oldfd int, newfd int) (err error) {
- 	_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procDup2)), 2, uintptr(oldfd), uintptr(newfd), 0, 0, 0, 0)
- 	if e1 != 0 {
-@@ -642,11 +753,30 @@ func Dup2(oldfd int, newfd int) (err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Exit(code int) {
- 	sysvicall6(uintptr(unsafe.Pointer(&procExit)), 1, uintptr(code), 0, 0, 0, 0, 0)
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFaccessat)), 4, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)
-+	if e1 != 0 {
-+		err = e1
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Fchdir(fd int) (err error) {
- 	_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFchdir)), 1, uintptr(fd), 0, 0, 0, 0, 0)
- 	if e1 != 0 {
-@@ -655,6 +785,8 @@ func Fchdir(fd int) (err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Fchmod(fd int, mode uint32) (err error) {
- 	_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFchmod)), 2, uintptr(fd), uintptr(mode), 0, 0, 0, 0)
- 	if e1 != 0 {
-@@ -663,6 +795,8 @@ func Fchmod(fd int, mode uint32) (err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -676,6 +810,8 @@ func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Fchown(fd int, uid int, gid int) (err error) {
- 	_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFchown)), 3, uintptr(fd), uintptr(uid), uintptr(gid), 0, 0, 0)
- 	if e1 != 0 {
-@@ -684,6 +820,8 @@ func Fchown(fd int, uid int, gid int) (err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -697,6 +835,8 @@ func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Fdatasync(fd int) (err error) {
- 	_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFdatasync)), 1, uintptr(fd), 0, 0, 0, 0, 0)
- 	if e1 != 0 {
-@@ -705,6 +845,8 @@ func Fdatasync(fd int) (err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Flock(fd int, how int) (err error) {
- 	_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFlock)), 2, uintptr(fd), uintptr(how), 0, 0, 0, 0)
- 	if e1 != 0 {
-@@ -713,6 +855,8 @@ func Flock(fd int, how int) (err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Fpathconf(fd int, name int) (val int, err error) {
- 	r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFpathconf)), 2, uintptr(fd), uintptr(name), 0, 0, 0, 0)
- 	val = int(r0)
-@@ -722,6 +866,8 @@ func Fpathconf(fd int, name int) (val int, err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Fstat(fd int, stat *Stat_t) (err error) {
- 	_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFstat)), 2, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0, 0, 0, 0)
- 	if e1 != 0 {
-@@ -730,6 +876,23 @@ func Fstat(fd int, stat *Stat_t) (err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) {
-+	var _p0 *byte
-+	_p0, err = BytePtrFromString(path)
-+	if err != nil {
-+		return
-+	}
-+	_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFstatat)), 4, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0)
-+	if e1 != 0 {
-+		err = e1
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Fstatvfs(fd int, vfsstat *Statvfs_t) (err error) {
- 	_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFstatvfs)), 2, uintptr(fd), uintptr(unsafe.Pointer(vfsstat)), 0, 0, 0, 0)
- 	if e1 != 0 {
-@@ -738,6 +901,8 @@ func Fstatvfs(fd int, vfsstat *Statvfs_t) (err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Getdents(fd int, buf []byte, basep *uintptr) (n int, err error) {
- 	var _p0 *byte
- 	if len(buf) > 0 {
-@@ -751,18 +916,24 @@ func Getdents(fd int, buf []byte, basep *uintptr) (n int, err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Getgid() (gid int) {
- 	r0, _, _ := rawSysvicall6(uintptr(unsafe.Pointer(&procGetgid)), 0, 0, 0, 0, 0, 0, 0)
- 	gid = int(r0)
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Getpid() (pid int) {
- 	r0, _, _ := rawSysvicall6(uintptr(unsafe.Pointer(&procGetpid)), 0, 0, 0, 0, 0, 0, 0)
- 	pid = int(r0)
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Getpgid(pid int) (pgid int, err error) {
- 	r0, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procGetpgid)), 1, uintptr(pid), 0, 0, 0, 0, 0)
- 	pgid = int(r0)
-@@ -772,6 +943,8 @@ func Getpgid(pid int) (pgid int, err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Getpgrp() (pgid int, err error) {
- 	r0, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procGetpgrp)), 0, 0, 0, 0, 0, 0, 0)
- 	pgid = int(r0)
-@@ -781,24 +954,32 @@ func Getpgrp() (pgid int, err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Geteuid() (euid int) {
- 	r0, _, _ := sysvicall6(uintptr(unsafe.Pointer(&procGeteuid)), 0, 0, 0, 0, 0, 0, 0)
- 	euid = int(r0)
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Getegid() (egid int) {
- 	r0, _, _ := sysvicall6(uintptr(unsafe.Pointer(&procGetegid)), 0, 0, 0, 0, 0, 0, 0)
- 	egid = int(r0)
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Getppid() (ppid int) {
- 	r0, _, _ := sysvicall6(uintptr(unsafe.Pointer(&procGetppid)), 0, 0, 0, 0, 0, 0, 0)
- 	ppid = int(r0)
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Getpriority(which int, who int) (n int, err error) {
- 	r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procGetpriority)), 2, uintptr(which), uintptr(who), 0, 0, 0, 0)
- 	n = int(r0)
-@@ -808,6 +989,8 @@ func Getpriority(which int, who int) (n int, err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Getrlimit(which int, lim *Rlimit) (err error) {
- 	_, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procGetrlimit)), 2, uintptr(which), uintptr(unsafe.Pointer(lim)), 0, 0, 0, 0)
- 	if e1 != 0 {
-@@ -816,6 +999,8 @@ func Getrlimit(which int, lim *Rlimit) (err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Getrusage(who int, rusage *Rusage) (err error) {
- 	_, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procGetrusage)), 2, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0, 0, 0, 0)
- 	if e1 != 0 {
-@@ -824,6 +1009,8 @@ func Getrusage(who int, rusage *Rusage) (err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Gettimeofday(tv *Timeval) (err error) {
- 	_, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procGettimeofday)), 1, uintptr(unsafe.Pointer(tv)), 0, 0, 0, 0, 0)
- 	if e1 != 0 {
-@@ -832,12 +1019,16 @@ func Gettimeofday(tv *Timeval) (err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Getuid() (uid int) {
- 	r0, _, _ := rawSysvicall6(uintptr(unsafe.Pointer(&procGetuid)), 0, 0, 0, 0, 0, 0, 0)
- 	uid = int(r0)
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Kill(pid int, signum syscall.Signal) (err error) {
- 	_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procKill)), 2, uintptr(pid), uintptr(signum), 0, 0, 0, 0)
- 	if e1 != 0 {
-@@ -846,6 +1037,8 @@ func Kill(pid int, signum syscall.Signal) (err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Lchown(path string, uid int, gid int) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -859,6 +1052,8 @@ func Lchown(path string, uid int, gid int) (err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Link(path string, link string) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -877,6 +1072,8 @@ func Link(path string, link string) (err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Listen(s int, backlog int) (err error) {
- 	_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&proc__xnet_llisten)), 2, uintptr(s), uintptr(backlog), 0, 0, 0, 0)
- 	if e1 != 0 {
-@@ -885,6 +1082,8 @@ func Listen(s int, backlog int) (err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Lstat(path string, stat *Stat_t) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -898,6 +1097,8 @@ func Lstat(path string, stat *Stat_t) (err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Madvise(b []byte, advice int) (err error) {
- 	var _p0 *byte
- 	if len(b) > 0 {
-@@ -910,6 +1111,8 @@ func Madvise(b []byte, advice int) (err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Mkdir(path string, mode uint32) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -923,6 +1126,8 @@ func Mkdir(path string, mode uint32) (err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Mkdirat(dirfd int, path string, mode uint32) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -936,6 +1141,8 @@ func Mkdirat(dirfd int, path string, mode uint32) (err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Mkfifo(path string, mode uint32) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -949,6 +1156,8 @@ func Mkfifo(path string, mode uint32) (err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Mkfifoat(dirfd int, path string, mode uint32) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -962,6 +1171,8 @@ func Mkfifoat(dirfd int, path string, mode uint32) (err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Mknod(path string, mode uint32, dev int) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -975,6 +1186,8 @@ func Mknod(path string, mode uint32, dev int) (err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -988,6 +1201,8 @@ func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Mlock(b []byte) (err error) {
- 	var _p0 *byte
- 	if len(b) > 0 {
-@@ -1000,6 +1215,8 @@ func Mlock(b []byte) (err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Mlockall(flags int) (err error) {
- 	_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMlockall)), 1, uintptr(flags), 0, 0, 0, 0, 0)
- 	if e1 != 0 {
-@@ -1008,6 +1225,8 @@ func Mlockall(flags int) (err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Mprotect(b []byte, prot int) (err error) {
- 	var _p0 *byte
- 	if len(b) > 0 {
-@@ -1020,6 +1239,22 @@ func Mprotect(b []byte, prot int) (err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Msync(b []byte, flags int) (err error) {
-+	var _p0 *byte
-+	if len(b) > 0 {
-+		_p0 = &b[0]
-+	}
-+	_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMsync)), 3, uintptr(unsafe.Pointer(_p0)), uintptr(len(b)), uintptr(flags), 0, 0, 0)
-+	if e1 != 0 {
-+		err = e1
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Munlock(b []byte) (err error) {
- 	var _p0 *byte
- 	if len(b) > 0 {
-@@ -1032,6 +1267,8 @@ func Munlock(b []byte) (err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Munlockall() (err error) {
- 	_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMunlockall)), 0, 0, 0, 0, 0, 0, 0)
- 	if e1 != 0 {
-@@ -1040,6 +1277,8 @@ func Munlockall() (err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Nanosleep(time *Timespec, leftover *Timespec) (err error) {
- 	_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procNanosleep)), 2, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0, 0, 0, 0)
- 	if e1 != 0 {
-@@ -1048,6 +1287,8 @@ func Nanosleep(time *Timespec, leftover *Timespec) (err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Open(path string, mode int, perm uint32) (fd int, err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -1062,6 +1303,8 @@ func Open(path string, mode int, perm uint32) (fd int, err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -1076,6 +1319,8 @@ func Openat(dirfd int, path string, flags int, mode uint32) (fd int, err error)
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Pathconf(path string, name int) (val int, err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -1090,6 +1335,8 @@ func Pathconf(path string, name int) (val int, err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Pause() (err error) {
- 	_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procPause)), 0, 0, 0, 0, 0, 0, 0)
- 	if e1 != 0 {
-@@ -1098,6 +1345,8 @@ func Pause() (err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Pread(fd int, p []byte, offset int64) (n int, err error) {
- 	var _p0 *byte
- 	if len(p) > 0 {
-@@ -1111,6 +1360,8 @@ func Pread(fd int, p []byte, offset int64) (n int, err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Pwrite(fd int, p []byte, offset int64) (n int, err error) {
- 	var _p0 *byte
- 	if len(p) > 0 {
-@@ -1124,6 +1375,8 @@ func Pwrite(fd int, p []byte, offset int64) (n int, err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func read(fd int, p []byte) (n int, err error) {
- 	var _p0 *byte
- 	if len(p) > 0 {
-@@ -1137,6 +1390,8 @@ func read(fd int, p []byte) (n int, err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Readlink(path string, buf []byte) (n int, err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -1155,6 +1410,8 @@ func Readlink(path string, buf []byte) (n int, err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Rename(from string, to string) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(from)
-@@ -1173,6 +1430,8 @@ func Rename(from string, to string) (err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(oldpath)
-@@ -1191,6 +1450,8 @@ func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err e
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Rmdir(path string) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -1204,6 +1465,8 @@ func Rmdir(path string) (err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Seek(fd int, offset int64, whence int) (newoffset int64, err error) {
- 	r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&proclseek)), 3, uintptr(fd), uintptr(offset), uintptr(whence), 0, 0, 0)
- 	newoffset = int64(r0)
-@@ -1213,6 +1476,19 @@ func Seek(fd int, offset int64, whence int) (newoffset int64, err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) {
-+	r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procSelect)), 5, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)
-+	n = int(r0)
-+	if e1 != 0 {
-+		err = e1
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Setegid(egid int) (err error) {
- 	_, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetegid)), 1, uintptr(egid), 0, 0, 0, 0, 0)
- 	if e1 != 0 {
-@@ -1221,6 +1497,8 @@ func Setegid(egid int) (err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Seteuid(euid int) (err error) {
- 	_, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSeteuid)), 1, uintptr(euid), 0, 0, 0, 0, 0)
- 	if e1 != 0 {
-@@ -1229,6 +1507,8 @@ func Seteuid(euid int) (err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Setgid(gid int) (err error) {
- 	_, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetgid)), 1, uintptr(gid), 0, 0, 0, 0, 0)
- 	if e1 != 0 {
-@@ -1237,6 +1517,8 @@ func Setgid(gid int) (err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Sethostname(p []byte) (err error) {
- 	var _p0 *byte
- 	if len(p) > 0 {
-@@ -1249,6 +1531,8 @@ func Sethostname(p []byte) (err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Setpgid(pid int, pgid int) (err error) {
- 	_, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetpgid)), 2, uintptr(pid), uintptr(pgid), 0, 0, 0, 0)
- 	if e1 != 0 {
-@@ -1257,6 +1541,8 @@ func Setpgid(pid int, pgid int) (err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Setpriority(which int, who int, prio int) (err error) {
- 	_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procSetpriority)), 3, uintptr(which), uintptr(who), uintptr(prio), 0, 0, 0)
- 	if e1 != 0 {
-@@ -1265,6 +1551,8 @@ func Setpriority(which int, who int, prio int) (err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Setregid(rgid int, egid int) (err error) {
- 	_, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetregid)), 2, uintptr(rgid), uintptr(egid), 0, 0, 0, 0)
- 	if e1 != 0 {
-@@ -1273,6 +1561,8 @@ func Setregid(rgid int, egid int) (err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Setreuid(ruid int, euid int) (err error) {
- 	_, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetreuid)), 2, uintptr(ruid), uintptr(euid), 0, 0, 0, 0)
- 	if e1 != 0 {
-@@ -1281,6 +1571,8 @@ func Setreuid(ruid int, euid int) (err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Setrlimit(which int, lim *Rlimit) (err error) {
- 	_, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetrlimit)), 2, uintptr(which), uintptr(unsafe.Pointer(lim)), 0, 0, 0, 0)
- 	if e1 != 0 {
-@@ -1289,6 +1581,8 @@ func Setrlimit(which int, lim *Rlimit) (err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Setsid() (pid int, err error) {
- 	r0, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetsid)), 0, 0, 0, 0, 0, 0, 0)
- 	pid = int(r0)
-@@ -1298,6 +1592,8 @@ func Setsid() (pid int, err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Setuid(uid int) (err error) {
- 	_, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetuid)), 1, uintptr(uid), 0, 0, 0, 0, 0)
- 	if e1 != 0 {
-@@ -1306,6 +1602,8 @@ func Setuid(uid int) (err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Shutdown(s int, how int) (err error) {
- 	_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procshutdown)), 2, uintptr(s), uintptr(how), 0, 0, 0, 0)
- 	if e1 != 0 {
-@@ -1314,6 +1612,8 @@ func Shutdown(s int, how int) (err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Stat(path string, stat *Stat_t) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -1327,6 +1627,8 @@ func Stat(path string, stat *Stat_t) (err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Statvfs(path string, vfsstat *Statvfs_t) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -1340,6 +1642,8 @@ func Statvfs(path string, vfsstat *Statvfs_t) (err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Symlink(path string, link string) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -1358,6 +1662,8 @@ func Symlink(path string, link string) (err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Sync() (err error) {
- 	_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procSync)), 0, 0, 0, 0, 0, 0, 0)
- 	if e1 != 0 {
-@@ -1366,6 +1672,8 @@ func Sync() (err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Times(tms *Tms) (ticks uintptr, err error) {
- 	r0, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procTimes)), 1, uintptr(unsafe.Pointer(tms)), 0, 0, 0, 0, 0)
- 	ticks = uintptr(r0)
-@@ -1375,6 +1683,8 @@ func Times(tms *Tms) (ticks uintptr, err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Truncate(path string, length int64) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -1388,6 +1698,8 @@ func Truncate(path string, length int64) (err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Fsync(fd int) (err error) {
- 	_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFsync)), 1, uintptr(fd), 0, 0, 0, 0, 0)
- 	if e1 != 0 {
-@@ -1396,6 +1708,8 @@ func Fsync(fd int) (err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Ftruncate(fd int, length int64) (err error) {
- 	_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFtruncate)), 2, uintptr(fd), uintptr(length), 0, 0, 0, 0)
- 	if e1 != 0 {
-@@ -1404,12 +1718,16 @@ func Ftruncate(fd int, length int64) (err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Umask(mask int) (oldmask int) {
- 	r0, _, _ := sysvicall6(uintptr(unsafe.Pointer(&procUmask)), 1, uintptr(mask), 0, 0, 0, 0, 0)
- 	oldmask = int(r0)
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Uname(buf *Utsname) (err error) {
- 	_, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procUname)), 1, uintptr(unsafe.Pointer(buf)), 0, 0, 0, 0, 0)
- 	if e1 != 0 {
-@@ -1418,6 +1736,8 @@ func Uname(buf *Utsname) (err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Unmount(target string, flags int) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(target)
-@@ -1431,6 +1751,8 @@ func Unmount(target string, flags int) (err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Unlink(path string) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -1444,6 +1766,8 @@ func Unlink(path string) (err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Unlinkat(dirfd int, path string, flags int) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -1457,6 +1781,8 @@ func Unlinkat(dirfd int, path string, flags int) (err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Ustat(dev int, ubuf *Ustat_t) (err error) {
- 	_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procUstat)), 2, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0, 0, 0, 0)
- 	if e1 != 0 {
-@@ -1465,6 +1791,8 @@ func Ustat(dev int, ubuf *Ustat_t) (err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func Utime(path string, buf *Utimbuf) (err error) {
- 	var _p0 *byte
- 	_p0, err = BytePtrFromString(path)
-@@ -1478,6 +1806,8 @@ func Utime(path string, buf *Utimbuf) (err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {
- 	_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&proc__xnet_bind)), 3, uintptr(s), uintptr(addr), uintptr(addrlen), 0, 0, 0)
- 	if e1 != 0 {
-@@ -1486,6 +1816,8 @@ func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {
- 	_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&proc__xnet_connect)), 3, uintptr(s), uintptr(addr), uintptr(addrlen), 0, 0, 0)
- 	if e1 != 0 {
-@@ -1494,6 +1826,8 @@ func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) {
- 	r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procmmap)), 6, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos))
- 	ret = uintptr(r0)
-@@ -1503,6 +1837,8 @@ func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func munmap(addr uintptr, length uintptr) (err error) {
- 	_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procmunmap)), 2, uintptr(addr), uintptr(length), 0, 0, 0, 0)
- 	if e1 != 0 {
-@@ -1511,6 +1847,19 @@ func munmap(addr uintptr, length uintptr) (err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
-+func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {
-+	r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procsendfile)), 4, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0)
-+	written = int(r0)
-+	if e1 != 0 {
-+		err = e1
-+	}
-+	return
-+}
-+
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) {
- 	var _p0 *byte
- 	if len(buf) > 0 {
-@@ -1523,6 +1872,8 @@ func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func socket(domain int, typ int, proto int) (fd int, err error) {
- 	r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&proc__xnet_socket)), 3, uintptr(domain), uintptr(typ), uintptr(proto), 0, 0, 0)
- 	fd = int(r0)
-@@ -1532,6 +1883,8 @@ func socket(domain int, typ int, proto int) (fd int, err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) {
- 	_, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&proc__xnet_socketpair)), 4, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0)
- 	if e1 != 0 {
-@@ -1540,6 +1893,8 @@ func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func write(fd int, p []byte) (n int, err error) {
- 	var _p0 *byte
- 	if len(p) > 0 {
-@@ -1553,6 +1908,8 @@ func write(fd int, p []byte) (n int, err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) {
- 	_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&proc__xnet_getsockopt)), 5, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0)
- 	if e1 != 0 {
-@@ -1561,6 +1918,8 @@ func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {
- 	_, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procgetpeername)), 3, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), 0, 0, 0)
- 	if e1 != 0 {
-@@ -1569,6 +1928,8 @@ func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) {
- 	_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procsetsockopt)), 5, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0)
- 	if e1 != 0 {
-@@ -1577,6 +1938,8 @@ func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr)
- 	return
- }
- 
-+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-+
- func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) {
- 	var _p0 *byte
- 	if len(p) > 0 {
-@@ -1589,12 +1952,3 @@ func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Sockl
- 	}
- 	return
- }
--
--func sysconf(name int) (n int64, err error) {
--	r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procsysconf)), 1, uintptr(name), 0, 0, 0, 0, 0)
--	n = int64(r0)
--	if e1 != 0 {
--		err = e1
--	}
--	return
--}
-diff --git a/vendor/golang.org/x/sys/unix/zsysctl_openbsd.go b/vendor/golang.org/x/sys/unix/zsysctl_openbsd_386.go
-similarity index 99%
-copy from vendor/golang.org/x/sys/unix/zsysctl_openbsd.go
-copy to vendor/golang.org/x/sys/unix/zsysctl_openbsd_386.go
-index 83bb935b..37dcc74c 100644
---- a/vendor/golang.org/x/sys/unix/zsysctl_openbsd.go
-+++ b/vendor/golang.org/x/sys/unix/zsysctl_openbsd_386.go
-@@ -1,5 +1,7 @@
- // mksysctl_openbsd.pl
--// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT
-+// Code generated by the command above; DO NOT EDIT.
-+
-+// +build 386,openbsd
- 
- package unix
- 
-diff --git a/vendor/golang.org/x/sys/unix/zsysctl_openbsd.go b/vendor/golang.org/x/sys/unix/zsysctl_openbsd_amd64.go
-similarity index 91%
-copy from vendor/golang.org/x/sys/unix/zsysctl_openbsd.go
-copy to vendor/golang.org/x/sys/unix/zsysctl_openbsd_amd64.go
-index 83bb935b..fe6caa6e 100644
---- a/vendor/golang.org/x/sys/unix/zsysctl_openbsd.go
-+++ b/vendor/golang.org/x/sys/unix/zsysctl_openbsd_amd64.go
-@@ -1,5 +1,7 @@
--// mksysctl_openbsd.pl
--// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT
-+// go run mksysctl_openbsd.go
-+// Code generated by the command above; DO NOT EDIT.
-+
-+// +build amd64,openbsd
- 
- package unix
- 
-@@ -14,6 +16,7 @@ var sysctlMib = []mibentry{
- 	{"ddb.max_line", []_C_int{9, 3}},
- 	{"ddb.max_width", []_C_int{9, 2}},
- 	{"ddb.panic", []_C_int{9, 5}},
-+	{"ddb.profile", []_C_int{9, 9}},
- 	{"ddb.radix", []_C_int{9, 1}},
- 	{"ddb.tab_stop_width", []_C_int{9, 4}},
- 	{"ddb.trigger", []_C_int{9, 8}},
-@@ -29,6 +32,7 @@ var sysctlMib = []mibentry{
- 	{"hw.ncpu", []_C_int{6, 3}},
- 	{"hw.ncpufound", []_C_int{6, 21}},
- 	{"hw.pagesize", []_C_int{6, 7}},
-+	{"hw.perfpolicy", []_C_int{6, 23}},
- 	{"hw.physmem", []_C_int{6, 19}},
- 	{"hw.product", []_C_int{6, 15}},
- 	{"hw.serialno", []_C_int{6, 17}},
-@@ -37,7 +41,7 @@ var sysctlMib = []mibentry{
- 	{"hw.uuid", []_C_int{6, 18}},
- 	{"hw.vendor", []_C_int{6, 14}},
- 	{"hw.version", []_C_int{6, 16}},
--	{"kern.arandom", []_C_int{1, 37}},
-+	{"kern.allowkmem", []_C_int{1, 52}},
- 	{"kern.argmax", []_C_int{1, 8}},
- 	{"kern.boottime", []_C_int{1, 21}},
- 	{"kern.bufcachepercent", []_C_int{1, 72}},
-@@ -46,12 +50,13 @@ var sysctlMib = []mibentry{
- 	{"kern.consdev", []_C_int{1, 75}},
- 	{"kern.cp_time", []_C_int{1, 40}},
- 	{"kern.cp_time2", []_C_int{1, 71}},
--	{"kern.cryptodevallowsoft", []_C_int{1, 53}},
-+	{"kern.dnsjackport", []_C_int{1, 13}},
- 	{"kern.domainname", []_C_int{1, 22}},
- 	{"kern.file", []_C_int{1, 73}},
- 	{"kern.forkstat", []_C_int{1, 42}},
- 	{"kern.fscale", []_C_int{1, 46}},
- 	{"kern.fsync", []_C_int{1, 33}},
-+	{"kern.global_ptrace", []_C_int{1, 81}},
- 	{"kern.hostid", []_C_int{1, 11}},
- 	{"kern.hostname", []_C_int{1, 10}},
- 	{"kern.intrcnt.nintrcnt", []_C_int{1, 63, 1}},
-@@ -84,7 +89,6 @@ var sysctlMib = []mibentry{
- 	{"kern.pool_debug", []_C_int{1, 77}},
- 	{"kern.posix1version", []_C_int{1, 17}},
- 	{"kern.proc", []_C_int{1, 66}},
--	{"kern.random", []_C_int{1, 31}},
- 	{"kern.rawpartition", []_C_int{1, 24}},
- 	{"kern.saved_ids", []_C_int{1, 20}},
- 	{"kern.securelevel", []_C_int{1, 9}},
-@@ -102,21 +106,16 @@ var sysctlMib = []mibentry{
- 	{"kern.timecounter.hardware", []_C_int{1, 69, 3}},
- 	{"kern.timecounter.tick", []_C_int{1, 69, 1}},
- 	{"kern.timecounter.timestepwarnings", []_C_int{1, 69, 2}},
--	{"kern.tty.maxptys", []_C_int{1, 44, 6}},
--	{"kern.tty.nptys", []_C_int{1, 44, 7}},
- 	{"kern.tty.tk_cancc", []_C_int{1, 44, 4}},
- 	{"kern.tty.tk_nin", []_C_int{1, 44, 1}},
- 	{"kern.tty.tk_nout", []_C_int{1, 44, 2}},
- 	{"kern.tty.tk_rawcc", []_C_int{1, 44, 3}},
- 	{"kern.tty.ttyinfo", []_C_int{1, 44, 5}},
- 	{"kern.ttycount", []_C_int{1, 57}},
--	{"kern.userasymcrypto", []_C_int{1, 60}},
--	{"kern.usercrypto", []_C_int{1, 52}},
--	{"kern.usermount", []_C_int{1, 30}},
- 	{"kern.version", []_C_int{1, 4}},
--	{"kern.vnode", []_C_int{1, 13}},
- 	{"kern.watchdog.auto", []_C_int{1, 64, 2}},
- 	{"kern.watchdog.period", []_C_int{1, 64, 1}},
-+	{"kern.wxabort", []_C_int{1, 74}},
- 	{"net.bpf.bufsize", []_C_int{4, 31, 1}},
- 	{"net.bpf.maxbufsize", []_C_int{4, 31, 2}},
- 	{"net.inet.ah.enable", []_C_int{4, 2, 51, 1}},
-@@ -144,7 +143,9 @@ var sysctlMib = []mibentry{
- 	{"net.inet.icmp.stats", []_C_int{4, 2, 1, 7}},
- 	{"net.inet.icmp.tstamprepl", []_C_int{4, 2, 1, 6}},
- 	{"net.inet.igmp.stats", []_C_int{4, 2, 2, 1}},
-+	{"net.inet.ip.arpdown", []_C_int{4, 2, 0, 40}},
- 	{"net.inet.ip.arpqueued", []_C_int{4, 2, 0, 36}},
-+	{"net.inet.ip.arptimeout", []_C_int{4, 2, 0, 39}},
- 	{"net.inet.ip.encdebug", []_C_int{4, 2, 0, 12}},
- 	{"net.inet.ip.forwarding", []_C_int{4, 2, 0, 1}},
- 	{"net.inet.ip.ifq.congestion", []_C_int{4, 2, 0, 30, 4}},
-@@ -153,8 +154,10 @@ var sysctlMib = []mibentry{
- 	{"net.inet.ip.ifq.maxlen", []_C_int{4, 2, 0, 30, 2}},
- 	{"net.inet.ip.maxqueue", []_C_int{4, 2, 0, 11}},
- 	{"net.inet.ip.mforwarding", []_C_int{4, 2, 0, 31}},
-+	{"net.inet.ip.mrtmfc", []_C_int{4, 2, 0, 37}},
- 	{"net.inet.ip.mrtproto", []_C_int{4, 2, 0, 34}},
- 	{"net.inet.ip.mrtstats", []_C_int{4, 2, 0, 35}},
-+	{"net.inet.ip.mrtvif", []_C_int{4, 2, 0, 38}},
- 	{"net.inet.ip.mtu", []_C_int{4, 2, 0, 4}},
- 	{"net.inet.ip.mtudisc", []_C_int{4, 2, 0, 27}},
- 	{"net.inet.ip.mtudisctimeout", []_C_int{4, 2, 0, 28}},
-@@ -173,7 +176,6 @@ var sysctlMib = []mibentry{
- 	{"net.inet.ipip.stats", []_C_int{4, 2, 4, 2}},
- 	{"net.inet.mobileip.allow", []_C_int{4, 2, 55, 1}},
- 	{"net.inet.pfsync.stats", []_C_int{4, 2, 240, 1}},
--	{"net.inet.pim.stats", []_C_int{4, 2, 103, 1}},
- 	{"net.inet.tcp.ackonpush", []_C_int{4, 2, 6, 13}},
- 	{"net.inet.tcp.always_keepalive", []_C_int{4, 2, 6, 22}},
- 	{"net.inet.tcp.baddynamic", []_C_int{4, 2, 6, 6}},
-@@ -187,6 +189,7 @@ var sysctlMib = []mibentry{
- 	{"net.inet.tcp.reasslimit", []_C_int{4, 2, 6, 18}},
- 	{"net.inet.tcp.rfc1323", []_C_int{4, 2, 6, 1}},
- 	{"net.inet.tcp.rfc3390", []_C_int{4, 2, 6, 17}},
-+	{"net.inet.tcp.rootonly", []_C_int{4, 2, 6, 24}},
- 	{"net.inet.tcp.rstppslimit", []_C_int{4, 2, 6, 12}},
- 	{"net.inet.tcp.sack", []_C_int{4, 2, 6, 10}},
- 	{"net.inet.tcp.sackholelimit", []_C_int{4, 2, 6, 20}},
-@@ -194,9 +197,12 @@ var sysctlMib = []mibentry{
- 	{"net.inet.tcp.stats", []_C_int{4, 2, 6, 21}},
- 	{"net.inet.tcp.synbucketlimit", []_C_int{4, 2, 6, 16}},
- 	{"net.inet.tcp.syncachelimit", []_C_int{4, 2, 6, 15}},
-+	{"net.inet.tcp.synhashsize", []_C_int{4, 2, 6, 25}},
-+	{"net.inet.tcp.synuselimit", []_C_int{4, 2, 6, 23}},
- 	{"net.inet.udp.baddynamic", []_C_int{4, 2, 17, 2}},
- 	{"net.inet.udp.checksum", []_C_int{4, 2, 17, 1}},
- 	{"net.inet.udp.recvspace", []_C_int{4, 2, 17, 3}},
-+	{"net.inet.udp.rootonly", []_C_int{4, 2, 17, 6}},
- 	{"net.inet.udp.sendspace", []_C_int{4, 2, 17, 4}},
- 	{"net.inet.udp.stats", []_C_int{4, 2, 17, 5}},
- 	{"net.inet6.divert.recvspace", []_C_int{4, 24, 86, 1}},
-@@ -209,13 +215,8 @@ var sysctlMib = []mibentry{
- 	{"net.inet6.icmp6.nd6_delay", []_C_int{4, 24, 30, 8}},
- 	{"net.inet6.icmp6.nd6_maxnudhint", []_C_int{4, 24, 30, 15}},
- 	{"net.inet6.icmp6.nd6_mmaxtries", []_C_int{4, 24, 30, 10}},
--	{"net.inet6.icmp6.nd6_prune", []_C_int{4, 24, 30, 6}},
- 	{"net.inet6.icmp6.nd6_umaxtries", []_C_int{4, 24, 30, 9}},
--	{"net.inet6.icmp6.nd6_useloopback", []_C_int{4, 24, 30, 11}},
--	{"net.inet6.icmp6.nodeinfo", []_C_int{4, 24, 30, 13}},
--	{"net.inet6.icmp6.rediraccept", []_C_int{4, 24, 30, 2}},
- 	{"net.inet6.icmp6.redirtimeout", []_C_int{4, 24, 30, 3}},
--	{"net.inet6.ip6.accept_rtadv", []_C_int{4, 24, 17, 12}},
- 	{"net.inet6.ip6.auto_flowlabel", []_C_int{4, 24, 17, 17}},
- 	{"net.inet6.ip6.dad_count", []_C_int{4, 24, 17, 16}},
- 	{"net.inet6.ip6.dad_pending", []_C_int{4, 24, 17, 49}},
-@@ -228,20 +229,19 @@ var sysctlMib = []mibentry{
- 	{"net.inet6.ip6.maxdynroutes", []_C_int{4, 24, 17, 48}},
- 	{"net.inet6.ip6.maxfragpackets", []_C_int{4, 24, 17, 9}},
- 	{"net.inet6.ip6.maxfrags", []_C_int{4, 24, 17, 41}},
--	{"net.inet6.ip6.maxifdefrouters", []_C_int{4, 24, 17, 47}},
--	{"net.inet6.ip6.maxifprefixes", []_C_int{4, 24, 17, 46}},
- 	{"net.inet6.ip6.mforwarding", []_C_int{4, 24, 17, 42}},
-+	{"net.inet6.ip6.mrtmfc", []_C_int{4, 24, 17, 53}},
-+	{"net.inet6.ip6.mrtmif", []_C_int{4, 24, 17, 52}},
- 	{"net.inet6.ip6.mrtproto", []_C_int{4, 24, 17, 8}},
- 	{"net.inet6.ip6.mtudisctimeout", []_C_int{4, 24, 17, 50}},
- 	{"net.inet6.ip6.multicast_mtudisc", []_C_int{4, 24, 17, 44}},
- 	{"net.inet6.ip6.multipath", []_C_int{4, 24, 17, 43}},
- 	{"net.inet6.ip6.neighborgcthresh", []_C_int{4, 24, 17, 45}},
- 	{"net.inet6.ip6.redirect", []_C_int{4, 24, 17, 2}},
--	{"net.inet6.ip6.rr_prune", []_C_int{4, 24, 17, 22}},
-+	{"net.inet6.ip6.soiikey", []_C_int{4, 24, 17, 54}},
- 	{"net.inet6.ip6.sourcecheck", []_C_int{4, 24, 17, 10}},
- 	{"net.inet6.ip6.sourcecheck_logint", []_C_int{4, 24, 17, 11}},
- 	{"net.inet6.ip6.use_deprecated", []_C_int{4, 24, 17, 21}},
--	{"net.inet6.ip6.v6only", []_C_int{4, 24, 17, 24}},
- 	{"net.key.sadb_dump", []_C_int{4, 30, 1}},
- 	{"net.key.spd_dump", []_C_int{4, 30, 2}},
- 	{"net.mpls.ifq.congestion", []_C_int{4, 33, 3, 4}},
-diff --git a/vendor/golang.org/x/sys/unix/zsysctl_openbsd.go b/vendor/golang.org/x/sys/unix/zsysctl_openbsd_arm.go
-similarity index 99%
-copy from vendor/golang.org/x/sys/unix/zsysctl_openbsd.go
-copy to vendor/golang.org/x/sys/unix/zsysctl_openbsd_arm.go
-index 83bb935b..6eb8c0b0 100644
---- a/vendor/golang.org/x/sys/unix/zsysctl_openbsd.go
-+++ b/vendor/golang.org/x/sys/unix/zsysctl_openbsd_arm.go
-@@ -1,5 +1,7 @@
--// mksysctl_openbsd.pl
--// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT
-+// go run mksysctl_openbsd.go
-+// Code generated by the command above; DO NOT EDIT.
-+
-+// +build arm,openbsd
- 
- package unix
- 
-diff --git a/vendor/golang.org/x/sys/unix/zsysctl_openbsd.go b/vendor/golang.org/x/sys/unix/zsysctl_openbsd_arm64.go
-similarity index 91%
-rename from vendor/golang.org/x/sys/unix/zsysctl_openbsd.go
-rename to vendor/golang.org/x/sys/unix/zsysctl_openbsd_arm64.go
-index 83bb935b..ba4304fd 100644
---- a/vendor/golang.org/x/sys/unix/zsysctl_openbsd.go
-+++ b/vendor/golang.org/x/sys/unix/zsysctl_openbsd_arm64.go
-@@ -1,5 +1,7 @@
--// mksysctl_openbsd.pl
--// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT
-+// go run mksysctl_openbsd.go
-+// Code generated by the command above; DO NOT EDIT.
-+
-+// +build arm64,openbsd
- 
- package unix
- 
-@@ -14,6 +16,7 @@ var sysctlMib = []mibentry{
- 	{"ddb.max_line", []_C_int{9, 3}},
- 	{"ddb.max_width", []_C_int{9, 2}},
- 	{"ddb.panic", []_C_int{9, 5}},
-+	{"ddb.profile", []_C_int{9, 9}},
- 	{"ddb.radix", []_C_int{9, 1}},
- 	{"ddb.tab_stop_width", []_C_int{9, 4}},
- 	{"ddb.trigger", []_C_int{9, 8}},
-@@ -28,17 +31,21 @@ var sysctlMib = []mibentry{
- 	{"hw.model", []_C_int{6, 2}},
- 	{"hw.ncpu", []_C_int{6, 3}},
- 	{"hw.ncpufound", []_C_int{6, 21}},
-+	{"hw.ncpuonline", []_C_int{6, 25}},
- 	{"hw.pagesize", []_C_int{6, 7}},
-+	{"hw.perfpolicy", []_C_int{6, 23}},
- 	{"hw.physmem", []_C_int{6, 19}},
- 	{"hw.product", []_C_int{6, 15}},
- 	{"hw.serialno", []_C_int{6, 17}},
- 	{"hw.setperf", []_C_int{6, 13}},
-+	{"hw.smt", []_C_int{6, 24}},
- 	{"hw.usermem", []_C_int{6, 20}},
- 	{"hw.uuid", []_C_int{6, 18}},
- 	{"hw.vendor", []_C_int{6, 14}},
- 	{"hw.version", []_C_int{6, 16}},
--	{"kern.arandom", []_C_int{1, 37}},
-+	{"kern.allowkmem", []_C_int{1, 52}},
- 	{"kern.argmax", []_C_int{1, 8}},
-+	{"kern.audio", []_C_int{1, 84}},
- 	{"kern.boottime", []_C_int{1, 21}},
- 	{"kern.bufcachepercent", []_C_int{1, 72}},
- 	{"kern.ccpu", []_C_int{1, 45}},
-@@ -46,12 +53,13 @@ var sysctlMib = []mibentry{
- 	{"kern.consdev", []_C_int{1, 75}},
- 	{"kern.cp_time", []_C_int{1, 40}},
- 	{"kern.cp_time2", []_C_int{1, 71}},
--	{"kern.cryptodevallowsoft", []_C_int{1, 53}},
-+	{"kern.cpustats", []_C_int{1, 85}},
- 	{"kern.domainname", []_C_int{1, 22}},
- 	{"kern.file", []_C_int{1, 73}},
- 	{"kern.forkstat", []_C_int{1, 42}},
- 	{"kern.fscale", []_C_int{1, 46}},
- 	{"kern.fsync", []_C_int{1, 33}},
-+	{"kern.global_ptrace", []_C_int{1, 81}},
- 	{"kern.hostid", []_C_int{1, 11}},
- 	{"kern.hostname", []_C_int{1, 10}},
- 	{"kern.intrcnt.nintrcnt", []_C_int{1, 63, 1}},
-@@ -84,7 +92,6 @@ var sysctlMib = []mibentry{
- 	{"kern.pool_debug", []_C_int{1, 77}},
- 	{"kern.posix1version", []_C_int{1, 17}},
- 	{"kern.proc", []_C_int{1, 66}},
--	{"kern.random", []_C_int{1, 31}},
- 	{"kern.rawpartition", []_C_int{1, 24}},
- 	{"kern.saved_ids", []_C_int{1, 20}},
- 	{"kern.securelevel", []_C_int{1, 9}},
-@@ -102,21 +109,17 @@ var sysctlMib = []mibentry{
- 	{"kern.timecounter.hardware", []_C_int{1, 69, 3}},
- 	{"kern.timecounter.tick", []_C_int{1, 69, 1}},
- 	{"kern.timecounter.timestepwarnings", []_C_int{1, 69, 2}},
--	{"kern.tty.maxptys", []_C_int{1, 44, 6}},
--	{"kern.tty.nptys", []_C_int{1, 44, 7}},
- 	{"kern.tty.tk_cancc", []_C_int{1, 44, 4}},
- 	{"kern.tty.tk_nin", []_C_int{1, 44, 1}},
- 	{"kern.tty.tk_nout", []_C_int{1, 44, 2}},
- 	{"kern.tty.tk_rawcc", []_C_int{1, 44, 3}},
- 	{"kern.tty.ttyinfo", []_C_int{1, 44, 5}},
- 	{"kern.ttycount", []_C_int{1, 57}},
--	{"kern.userasymcrypto", []_C_int{1, 60}},
--	{"kern.usercrypto", []_C_int{1, 52}},
--	{"kern.usermount", []_C_int{1, 30}},
- 	{"kern.version", []_C_int{1, 4}},
--	{"kern.vnode", []_C_int{1, 13}},
- 	{"kern.watchdog.auto", []_C_int{1, 64, 2}},
- 	{"kern.watchdog.period", []_C_int{1, 64, 1}},
-+	{"kern.witnesswatch", []_C_int{1, 53}},
-+	{"kern.wxabort", []_C_int{1, 74}},
- 	{"net.bpf.bufsize", []_C_int{4, 31, 1}},
- 	{"net.bpf.maxbufsize", []_C_int{4, 31, 2}},
- 	{"net.inet.ah.enable", []_C_int{4, 2, 51, 1}},
-@@ -144,7 +147,9 @@ var sysctlMib = []mibentry{
- 	{"net.inet.icmp.stats", []_C_int{4, 2, 1, 7}},
- 	{"net.inet.icmp.tstamprepl", []_C_int{4, 2, 1, 6}},
- 	{"net.inet.igmp.stats", []_C_int{4, 2, 2, 1}},
-+	{"net.inet.ip.arpdown", []_C_int{4, 2, 0, 40}},
- 	{"net.inet.ip.arpqueued", []_C_int{4, 2, 0, 36}},
-+	{"net.inet.ip.arptimeout", []_C_int{4, 2, 0, 39}},
- 	{"net.inet.ip.encdebug", []_C_int{4, 2, 0, 12}},
- 	{"net.inet.ip.forwarding", []_C_int{4, 2, 0, 1}},
- 	{"net.inet.ip.ifq.congestion", []_C_int{4, 2, 0, 30, 4}},
-@@ -153,8 +158,10 @@ var sysctlMib = []mibentry{
- 	{"net.inet.ip.ifq.maxlen", []_C_int{4, 2, 0, 30, 2}},
- 	{"net.inet.ip.maxqueue", []_C_int{4, 2, 0, 11}},
- 	{"net.inet.ip.mforwarding", []_C_int{4, 2, 0, 31}},
-+	{"net.inet.ip.mrtmfc", []_C_int{4, 2, 0, 37}},
- 	{"net.inet.ip.mrtproto", []_C_int{4, 2, 0, 34}},
- 	{"net.inet.ip.mrtstats", []_C_int{4, 2, 0, 35}},
-+	{"net.inet.ip.mrtvif", []_C_int{4, 2, 0, 38}},
- 	{"net.inet.ip.mtu", []_C_int{4, 2, 0, 4}},
- 	{"net.inet.ip.mtudisc", []_C_int{4, 2, 0, 27}},
- 	{"net.inet.ip.mtudisctimeout", []_C_int{4, 2, 0, 28}},
-@@ -173,7 +180,6 @@ var sysctlMib = []mibentry{
- 	{"net.inet.ipip.stats", []_C_int{4, 2, 4, 2}},
- 	{"net.inet.mobileip.allow", []_C_int{4, 2, 55, 1}},
- 	{"net.inet.pfsync.stats", []_C_int{4, 2, 240, 1}},
--	{"net.inet.pim.stats", []_C_int{4, 2, 103, 1}},
- 	{"net.inet.tcp.ackonpush", []_C_int{4, 2, 6, 13}},
- 	{"net.inet.tcp.always_keepalive", []_C_int{4, 2, 6, 22}},
- 	{"net.inet.tcp.baddynamic", []_C_int{4, 2, 6, 6}},
-@@ -187,6 +193,7 @@ var sysctlMib = []mibentry{
- 	{"net.inet.tcp.reasslimit", []_C_int{4, 2, 6, 18}},
- 	{"net.inet.tcp.rfc1323", []_C_int{4, 2, 6, 1}},
- 	{"net.inet.tcp.rfc3390", []_C_int{4, 2, 6, 17}},
-+	{"net.inet.tcp.rootonly", []_C_int{4, 2, 6, 24}},
- 	{"net.inet.tcp.rstppslimit", []_C_int{4, 2, 6, 12}},
- 	{"net.inet.tcp.sack", []_C_int{4, 2, 6, 10}},
- 	{"net.inet.tcp.sackholelimit", []_C_int{4, 2, 6, 20}},
-@@ -194,9 +201,12 @@ var sysctlMib = []mibentry{
- 	{"net.inet.tcp.stats", []_C_int{4, 2, 6, 21}},
- 	{"net.inet.tcp.synbucketlimit", []_C_int{4, 2, 6, 16}},
- 	{"net.inet.tcp.syncachelimit", []_C_int{4, 2, 6, 15}},
-+	{"net.inet.tcp.synhashsize", []_C_int{4, 2, 6, 25}},
-+	{"net.inet.tcp.synuselimit", []_C_int{4, 2, 6, 23}},
- 	{"net.inet.udp.baddynamic", []_C_int{4, 2, 17, 2}},
- 	{"net.inet.udp.checksum", []_C_int{4, 2, 17, 1}},
- 	{"net.inet.udp.recvspace", []_C_int{4, 2, 17, 3}},
-+	{"net.inet.udp.rootonly", []_C_int{4, 2, 17, 6}},
- 	{"net.inet.udp.sendspace", []_C_int{4, 2, 17, 4}},
- 	{"net.inet.udp.stats", []_C_int{4, 2, 17, 5}},
- 	{"net.inet6.divert.recvspace", []_C_int{4, 24, 86, 1}},
-@@ -209,13 +219,8 @@ var sysctlMib = []mibentry{
- 	{"net.inet6.icmp6.nd6_delay", []_C_int{4, 24, 30, 8}},
- 	{"net.inet6.icmp6.nd6_maxnudhint", []_C_int{4, 24, 30, 15}},
- 	{"net.inet6.icmp6.nd6_mmaxtries", []_C_int{4, 24, 30, 10}},
--	{"net.inet6.icmp6.nd6_prune", []_C_int{4, 24, 30, 6}},
- 	{"net.inet6.icmp6.nd6_umaxtries", []_C_int{4, 24, 30, 9}},
--	{"net.inet6.icmp6.nd6_useloopback", []_C_int{4, 24, 30, 11}},
--	{"net.inet6.icmp6.nodeinfo", []_C_int{4, 24, 30, 13}},
--	{"net.inet6.icmp6.rediraccept", []_C_int{4, 24, 30, 2}},
- 	{"net.inet6.icmp6.redirtimeout", []_C_int{4, 24, 30, 3}},
--	{"net.inet6.ip6.accept_rtadv", []_C_int{4, 24, 17, 12}},
- 	{"net.inet6.ip6.auto_flowlabel", []_C_int{4, 24, 17, 17}},
- 	{"net.inet6.ip6.dad_count", []_C_int{4, 24, 17, 16}},
- 	{"net.inet6.ip6.dad_pending", []_C_int{4, 24, 17, 49}},
-@@ -228,20 +233,19 @@ var sysctlMib = []mibentry{
- 	{"net.inet6.ip6.maxdynroutes", []_C_int{4, 24, 17, 48}},
- 	{"net.inet6.ip6.maxfragpackets", []_C_int{4, 24, 17, 9}},
- 	{"net.inet6.ip6.maxfrags", []_C_int{4, 24, 17, 41}},
--	{"net.inet6.ip6.maxifdefrouters", []_C_int{4, 24, 17, 47}},
--	{"net.inet6.ip6.maxifprefixes", []_C_int{4, 24, 17, 46}},
- 	{"net.inet6.ip6.mforwarding", []_C_int{4, 24, 17, 42}},
-+	{"net.inet6.ip6.mrtmfc", []_C_int{4, 24, 17, 53}},
-+	{"net.inet6.ip6.mrtmif", []_C_int{4, 24, 17, 52}},
- 	{"net.inet6.ip6.mrtproto", []_C_int{4, 24, 17, 8}},
- 	{"net.inet6.ip6.mtudisctimeout", []_C_int{4, 24, 17, 50}},
- 	{"net.inet6.ip6.multicast_mtudisc", []_C_int{4, 24, 17, 44}},
- 	{"net.inet6.ip6.multipath", []_C_int{4, 24, 17, 43}},
- 	{"net.inet6.ip6.neighborgcthresh", []_C_int{4, 24, 17, 45}},
- 	{"net.inet6.ip6.redirect", []_C_int{4, 24, 17, 2}},
--	{"net.inet6.ip6.rr_prune", []_C_int{4, 24, 17, 22}},
-+	{"net.inet6.ip6.soiikey", []_C_int{4, 24, 17, 54}},
- 	{"net.inet6.ip6.sourcecheck", []_C_int{4, 24, 17, 10}},
- 	{"net.inet6.ip6.sourcecheck_logint", []_C_int{4, 24, 17, 11}},
- 	{"net.inet6.ip6.use_deprecated", []_C_int{4, 24, 17, 21}},
--	{"net.inet6.ip6.v6only", []_C_int{4, 24, 17, 24}},
- 	{"net.key.sadb_dump", []_C_int{4, 30, 1}},
- 	{"net.key.spd_dump", []_C_int{4, 30, 2}},
- 	{"net.mpls.ifq.congestion", []_C_int{4, 33, 3, 4}},
-@@ -256,6 +260,7 @@ var sysctlMib = []mibentry{
- 	{"net.pipex.enable", []_C_int{4, 35, 1}},
- 	{"vm.anonmin", []_C_int{2, 7}},
- 	{"vm.loadavg", []_C_int{2, 2}},
-+	{"vm.malloc_conf", []_C_int{2, 12}},
- 	{"vm.maxslp", []_C_int{2, 10}},
- 	{"vm.nkmempages", []_C_int{2, 6}},
- 	{"vm.psstrings", []_C_int{2, 3}},
-diff --git a/vendor/golang.org/x/sys/unix/zsysnum_darwin_386.go b/vendor/golang.org/x/sys/unix/zsysnum_darwin_386.go
-index 2786773b..f3361453 100644
---- a/vendor/golang.org/x/sys/unix/zsysnum_darwin_386.go
-+++ b/vendor/golang.org/x/sys/unix/zsysnum_darwin_386.go
-@@ -1,5 +1,5 @@
--// mksysnum_darwin.pl /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/sys/syscall.h
--// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT
-+// go run mksysnum.go /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/usr/include/sys/syscall.h
-+// Code generated by the command above; see README.md. DO NOT EDIT.
- 
- // +build 386,darwin
- 
-@@ -121,13 +121,15 @@ const (
- 	SYS_CSOPS                          = 169
- 	SYS_CSOPS_AUDITTOKEN               = 170
- 	SYS_WAITID                         = 173
-+	SYS_KDEBUG_TYPEFILTER              = 177
-+	SYS_KDEBUG_TRACE_STRING            = 178
- 	SYS_KDEBUG_TRACE64                 = 179
- 	SYS_KDEBUG_TRACE                   = 180
- 	SYS_SETGID                         = 181
- 	SYS_SETEGID                        = 182
- 	SYS_SETEUID                        = 183
- 	SYS_SIGRETURN                      = 184
--	SYS_CHUD                           = 185
-+	SYS_THREAD_SELFCOUNTS              = 186
- 	SYS_FDATASYNC                      = 187
- 	SYS_STAT                           = 188
- 	SYS_FSTAT                          = 189
-@@ -278,7 +280,6 @@ const (
- 	SYS_KQUEUE                         = 362
- 	SYS_KEVENT                         = 363
- 	SYS_LCHOWN                         = 364
--	SYS_STACK_SNAPSHOT                 = 365
- 	SYS_BSDTHREAD_REGISTER             = 366
- 	SYS_WORKQ_OPEN                     = 367
- 	SYS_WORKQ_KERNRETURN               = 368
-@@ -287,6 +288,8 @@ const (
- 	SYS___OLD_SEMWAIT_SIGNAL_NOCANCEL  = 371
- 	SYS_THREAD_SELFID                  = 372
- 	SYS_LEDGER                         = 373
-+	SYS_KEVENT_QOS                     = 374
-+	SYS_KEVENT_ID                      = 375
- 	SYS___MAC_EXECVE                   = 380
- 	SYS___MAC_SYSCALL                  = 381
- 	SYS___MAC_GET_FILE                 = 382
-@@ -298,11 +301,8 @@ const (
- 	SYS___MAC_GET_FD                   = 388
- 	SYS___MAC_SET_FD                   = 389
- 	SYS___MAC_GET_PID                  = 390
--	SYS___MAC_GET_LCID                 = 391
--	SYS___MAC_GET_LCTX                 = 392
--	SYS___MAC_SET_LCTX                 = 393
--	SYS_SETLCID                        = 394
--	SYS_GETLCID                        = 395
-+	SYS_PSELECT                        = 394
-+	SYS_PSELECT_NOCANCEL               = 395
- 	SYS_READ_NOCANCEL                  = 396
- 	SYS_WRITE_NOCANCEL                 = 397
- 	SYS_OPEN_NOCANCEL                  = 398
-@@ -351,6 +351,7 @@ const (
- 	SYS_GUARDED_CLOSE_NP               = 442
- 	SYS_GUARDED_KQUEUE_NP              = 443
- 	SYS_CHANGE_FDGUARD_NP              = 444
-+	SYS_USRCTL                         = 445
- 	SYS_PROC_RLIMIT_CONTROL            = 446
- 	SYS_CONNECTX                       = 447
- 	SYS_DISCONNECTX                    = 448
-@@ -367,6 +368,7 @@ const (
- 	SYS_COALITION_INFO                 = 459
- 	SYS_NECP_MATCH_POLICY              = 460
- 	SYS_GETATTRLISTBULK                = 461
-+	SYS_CLONEFILEAT                    = 462
- 	SYS_OPENAT                         = 463
- 	SYS_OPENAT_NOCANCEL                = 464
- 	SYS_RENAMEAT                       = 465
-@@ -392,7 +394,43 @@ const (
- 	SYS_GUARDED_WRITE_NP               = 485
- 	SYS_GUARDED_PWRITE_NP              = 486
- 	SYS_GUARDED_WRITEV_NP              = 487
--	SYS_RENAME_EXT                     = 488
-+	SYS_RENAMEATX_NP                   = 488
- 	SYS_MREMAP_ENCRYPTED               = 489
--	SYS_MAXSYSCALL                     = 490
-+	SYS_NETAGENT_TRIGGER               = 490
-+	SYS_STACK_SNAPSHOT_WITH_CONFIG     = 491
-+	SYS_MICROSTACKSHOT                 = 492
-+	SYS_GRAB_PGO_DATA                  = 493
-+	SYS_PERSONA                        = 494
-+	SYS_WORK_INTERVAL_CTL              = 499
-+	SYS_GETENTROPY                     = 500
-+	SYS_NECP_OPEN                      = 501
-+	SYS_NECP_CLIENT_ACTION             = 502
-+	SYS___NEXUS_OPEN                   = 503
-+	SYS___NEXUS_REGISTER               = 504
-+	SYS___NEXUS_DEREGISTER             = 505
-+	SYS___NEXUS_CREATE                 = 506
-+	SYS___NEXUS_DESTROY                = 507
-+	SYS___NEXUS_GET_OPT                = 508
-+	SYS___NEXUS_SET_OPT                = 509
-+	SYS___CHANNEL_OPEN                 = 510
-+	SYS___CHANNEL_GET_INFO             = 511
-+	SYS___CHANNEL_SYNC                 = 512
-+	SYS___CHANNEL_GET_OPT              = 513
-+	SYS___CHANNEL_SET_OPT              = 514
-+	SYS_ULOCK_WAIT                     = 515
-+	SYS_ULOCK_WAKE                     = 516
-+	SYS_FCLONEFILEAT                   = 517
-+	SYS_FS_SNAPSHOT                    = 518
-+	SYS_TERMINATE_WITH_PAYLOAD         = 520
-+	SYS_ABORT_WITH_PAYLOAD             = 521
-+	SYS_NECP_SESSION_OPEN              = 522
-+	SYS_NECP_SESSION_ACTION            = 523
-+	SYS_SETATTRLISTAT                  = 524
-+	SYS_NET_QOS_GUIDELINE              = 525
-+	SYS_FMOUNT                         = 526
-+	SYS_NTP_ADJTIME                    = 527
-+	SYS_NTP_GETTIME                    = 528
-+	SYS_OS_FAULT_WITH_PAYLOAD          = 529
-+	SYS_MAXSYSCALL                     = 530
-+	SYS_INVALID                        = 63
- )
-diff --git a/vendor/golang.org/x/sys/unix/zsysnum_darwin_amd64.go b/vendor/golang.org/x/sys/unix/zsysnum_darwin_amd64.go
-index 09de240c..654dd3da 100644
---- a/vendor/golang.org/x/sys/unix/zsysnum_darwin_amd64.go
-+++ b/vendor/golang.org/x/sys/unix/zsysnum_darwin_amd64.go
-@@ -1,5 +1,5 @@
--// mksysnum_darwin.pl /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/sys/syscall.h
--// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT
-+// go run mksysnum.go /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/sys/syscall.h
-+// Code generated by the command above; see README.md. DO NOT EDIT.
- 
- // +build amd64,darwin
- 
-@@ -121,13 +121,15 @@ const (
- 	SYS_CSOPS                          = 169
- 	SYS_CSOPS_AUDITTOKEN               = 170
- 	SYS_WAITID                         = 173
-+	SYS_KDEBUG_TYPEFILTER              = 177
-+	SYS_KDEBUG_TRACE_STRING            = 178
- 	SYS_KDEBUG_TRACE64                 = 179
- 	SYS_KDEBUG_TRACE                   = 180
- 	SYS_SETGID                         = 181
- 	SYS_SETEGID                        = 182
- 	SYS_SETEUID                        = 183
- 	SYS_SIGRETURN                      = 184
--	SYS_CHUD                           = 185
-+	SYS_THREAD_SELFCOUNTS              = 186
- 	SYS_FDATASYNC                      = 187
- 	SYS_STAT                           = 188
- 	SYS_FSTAT                          = 189
-@@ -278,7 +280,6 @@ const (
- 	SYS_KQUEUE                         = 362
- 	SYS_KEVENT                         = 363
- 	SYS_LCHOWN                         = 364
--	SYS_STACK_SNAPSHOT                 = 365
- 	SYS_BSDTHREAD_REGISTER             = 366
- 	SYS_WORKQ_OPEN                     = 367
- 	SYS_WORKQ_KERNRETURN               = 368
-@@ -287,6 +288,8 @@ const (
- 	SYS___OLD_SEMWAIT_SIGNAL_NOCANCEL  = 371
- 	SYS_THREAD_SELFID                  = 372
- 	SYS_LEDGER                         = 373
-+	SYS_KEVENT_QOS                     = 374
-+	SYS_KEVENT_ID                      = 375
- 	SYS___MAC_EXECVE                   = 380
- 	SYS___MAC_SYSCALL                  = 381
- 	SYS___MAC_GET_FILE                 = 382
-@@ -298,11 +301,8 @@ const (
- 	SYS___MAC_GET_FD                   = 388
- 	SYS___MAC_SET_FD                   = 389
- 	SYS___MAC_GET_PID                  = 390
--	SYS___MAC_GET_LCID                 = 391
--	SYS___MAC_GET_LCTX                 = 392
--	SYS___MAC_SET_LCTX                 = 393
--	SYS_SETLCID                        = 394
--	SYS_GETLCID                        = 395
-+	SYS_PSELECT                        = 394
-+	SYS_PSELECT_NOCANCEL               = 395
- 	SYS_READ_NOCANCEL                  = 396
- 	SYS_WRITE_NOCANCEL                 = 397
- 	SYS_OPEN_NOCANCEL                  = 398
-@@ -351,6 +351,7 @@ const (
- 	SYS_GUARDED_CLOSE_NP               = 442
- 	SYS_GUARDED_KQUEUE_NP              = 443
- 	SYS_CHANGE_FDGUARD_NP              = 444
-+	SYS_USRCTL                         = 445
- 	SYS_PROC_RLIMIT_CONTROL            = 446
- 	SYS_CONNECTX                       = 447
- 	SYS_DISCONNECTX                    = 448
-@@ -367,6 +368,7 @@ const (
- 	SYS_COALITION_INFO                 = 459
- 	SYS_NECP_MATCH_POLICY              = 460
- 	SYS_GETATTRLISTBULK                = 461
-+	SYS_CLONEFILEAT                    = 462
- 	SYS_OPENAT                         = 463
- 	SYS_OPENAT_NOCANCEL                = 464
- 	SYS_RENAMEAT                       = 465
-@@ -392,7 +394,45 @@ const (
- 	SYS_GUARDED_WRITE_NP               = 485
- 	SYS_GUARDED_PWRITE_NP              = 486
- 	SYS_GUARDED_WRITEV_NP              = 487
--	SYS_RENAME_EXT                     = 488
-+	SYS_RENAMEATX_NP                   = 488
- 	SYS_MREMAP_ENCRYPTED               = 489
--	SYS_MAXSYSCALL                     = 490
-+	SYS_NETAGENT_TRIGGER               = 490
-+	SYS_STACK_SNAPSHOT_WITH_CONFIG     = 491
-+	SYS_MICROSTACKSHOT                 = 492
-+	SYS_GRAB_PGO_DATA                  = 493
-+	SYS_PERSONA                        = 494
-+	SYS_WORK_INTERVAL_CTL              = 499
-+	SYS_GETENTROPY                     = 500
-+	SYS_NECP_OPEN                      = 501
-+	SYS_NECP_CLIENT_ACTION             = 502
-+	SYS___NEXUS_OPEN                   = 503
-+	SYS___NEXUS_REGISTER               = 504
-+	SYS___NEXUS_DEREGISTER             = 505
-+	SYS___NEXUS_CREATE                 = 506
-+	SYS___NEXUS_DESTROY                = 507
-+	SYS___NEXUS_GET_OPT                = 508
-+	SYS___NEXUS_SET_OPT                = 509
-+	SYS___CHANNEL_OPEN                 = 510
-+	SYS___CHANNEL_GET_INFO             = 511
-+	SYS___CHANNEL_SYNC                 = 512
-+	SYS___CHANNEL_GET_OPT              = 513
-+	SYS___CHANNEL_SET_OPT              = 514
-+	SYS_ULOCK_WAIT                     = 515
-+	SYS_ULOCK_WAKE                     = 516
-+	SYS_FCLONEFILEAT                   = 517
-+	SYS_FS_SNAPSHOT                    = 518
-+	SYS_TERMINATE_WITH_PAYLOAD         = 520
-+	SYS_ABORT_WITH_PAYLOAD             = 521
-+	SYS_NECP_SESSION_OPEN              = 522
-+	SYS_NECP_SESSION_ACTION            = 523
-+	SYS_SETATTRLISTAT                  = 524
-+	SYS_NET_QOS_GUIDELINE              = 525
-+	SYS_FMOUNT                         = 526
-+	SYS_NTP_ADJTIME                    = 527
-+	SYS_NTP_GETTIME                    = 528
-+	SYS_OS_FAULT_WITH_PAYLOAD          = 529
-+	SYS_KQUEUE_WORKLOOP_CTL            = 530
-+	SYS___MACH_BRIDGE_REMOTE_TIME      = 531
-+	SYS_MAXSYSCALL                     = 532
-+	SYS_INVALID                        = 63
- )
-diff --git a/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm.go b/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm.go
-index 41cb6ed3..103a72ed 100644
---- a/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm.go
-+++ b/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm.go
-@@ -1,4 +1,4 @@
--// mksysnum_darwin.pl /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.2.sdk/usr/include/sys/syscall.h
-+// go run mksysnum.go /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.1.sdk/usr/include/sys/syscall.h
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- // +build arm,darwin
-@@ -129,6 +129,7 @@ const (
- 	SYS_SETEGID                        = 182
- 	SYS_SETEUID                        = 183
- 	SYS_SIGRETURN                      = 184
-+	SYS_THREAD_SELFCOUNTS              = 186
- 	SYS_FDATASYNC                      = 187
- 	SYS_STAT                           = 188
- 	SYS_FSTAT                          = 189
-@@ -288,6 +289,7 @@ const (
- 	SYS_THREAD_SELFID                  = 372
- 	SYS_LEDGER                         = 373
- 	SYS_KEVENT_QOS                     = 374
-+	SYS_KEVENT_ID                      = 375
- 	SYS___MAC_EXECVE                   = 380
- 	SYS___MAC_SYSCALL                  = 381
- 	SYS___MAC_GET_FILE                 = 382
-@@ -421,6 +423,14 @@ const (
- 	SYS_FS_SNAPSHOT                    = 518
- 	SYS_TERMINATE_WITH_PAYLOAD         = 520
- 	SYS_ABORT_WITH_PAYLOAD             = 521
--	SYS_MAXSYSCALL                     = 522
-+	SYS_NECP_SESSION_OPEN              = 522
-+	SYS_NECP_SESSION_ACTION            = 523
-+	SYS_SETATTRLISTAT                  = 524
-+	SYS_NET_QOS_GUIDELINE              = 525
-+	SYS_FMOUNT                         = 526
-+	SYS_NTP_ADJTIME                    = 527
-+	SYS_NTP_GETTIME                    = 528
-+	SYS_OS_FAULT_WITH_PAYLOAD          = 529
-+	SYS_MAXSYSCALL                     = 530
- 	SYS_INVALID                        = 63
- )
-diff --git a/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm64.go b/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm64.go
-index 075816c3..7ab2130b 100644
---- a/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm64.go
-+++ b/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm64.go
-@@ -1,4 +1,4 @@
--// mksysnum_darwin.pl /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.2.sdk/usr/include/sys/syscall.h
-+// go run mksysnum.go /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.1.sdk/usr/include/sys/syscall.h
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- // +build arm64,darwin
-@@ -129,6 +129,7 @@ const (
- 	SYS_SETEGID                        = 182
- 	SYS_SETEUID                        = 183
- 	SYS_SIGRETURN                      = 184
-+	SYS_THREAD_SELFCOUNTS              = 186
- 	SYS_FDATASYNC                      = 187
- 	SYS_STAT                           = 188
- 	SYS_FSTAT                          = 189
-@@ -288,6 +289,7 @@ const (
- 	SYS_THREAD_SELFID                  = 372
- 	SYS_LEDGER                         = 373
- 	SYS_KEVENT_QOS                     = 374
-+	SYS_KEVENT_ID                      = 375
- 	SYS___MAC_EXECVE                   = 380
- 	SYS___MAC_SYSCALL                  = 381
- 	SYS___MAC_GET_FILE                 = 382
-@@ -421,6 +423,14 @@ const (
- 	SYS_FS_SNAPSHOT                    = 518
- 	SYS_TERMINATE_WITH_PAYLOAD         = 520
- 	SYS_ABORT_WITH_PAYLOAD             = 521
--	SYS_MAXSYSCALL                     = 522
-+	SYS_NECP_SESSION_OPEN              = 522
-+	SYS_NECP_SESSION_ACTION            = 523
-+	SYS_SETATTRLISTAT                  = 524
-+	SYS_NET_QOS_GUIDELINE              = 525
-+	SYS_FMOUNT                         = 526
-+	SYS_NTP_ADJTIME                    = 527
-+	SYS_NTP_GETTIME                    = 528
-+	SYS_OS_FAULT_WITH_PAYLOAD          = 529
-+	SYS_MAXSYSCALL                     = 530
- 	SYS_INVALID                        = 63
- )
-diff --git a/vendor/golang.org/x/sys/unix/zsysnum_dragonfly_amd64.go b/vendor/golang.org/x/sys/unix/zsysnum_dragonfly_amd64.go
-index b2c9ef81..464c9a98 100644
---- a/vendor/golang.org/x/sys/unix/zsysnum_dragonfly_amd64.go
-+++ b/vendor/golang.org/x/sys/unix/zsysnum_dragonfly_amd64.go
-@@ -1,4 +1,4 @@
--// mksysnum_dragonfly.pl
-+// go run mksysnum.go https://gitweb.dragonflybsd.org/dragonfly.git/blob_plain/HEAD:/sys/kern/syscalls.master
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- // +build amd64,dragonfly
-@@ -13,7 +13,7 @@ const (
- 	SYS_WRITE         = 4   // { ssize_t write(int fd, const void *buf, size_t nbyte); }
- 	SYS_OPEN          = 5   // { int open(char *path, int flags, int mode); }
- 	SYS_CLOSE         = 6   // { int close(int fd); }
--	SYS_WAIT4         = 7   // { int wait4(int pid, int *status, int options, \
-+	SYS_WAIT4         = 7   // { int wait4(int pid, int *status, int options, struct rusage *rusage); } wait4 wait_args int
- 	SYS_LINK          = 9   // { int link(char *path, char *link); }
- 	SYS_UNLINK        = 10  // { int unlink(char *path); }
- 	SYS_CHDIR         = 12  // { int chdir(char *path); }
-@@ -22,17 +22,17 @@ const (
- 	SYS_CHMOD         = 15  // { int chmod(char *path, int mode); }
- 	SYS_CHOWN         = 16  // { int chown(char *path, int uid, int gid); }
- 	SYS_OBREAK        = 17  // { int obreak(char *nsize); } break obreak_args int
--	SYS_GETFSSTAT     = 18  // { int getfsstat(struct statfs *buf, long bufsize, \
-+	SYS_GETFSSTAT     = 18  // { int getfsstat(struct statfs *buf, long bufsize, int flags); }
- 	SYS_GETPID        = 20  // { pid_t getpid(void); }
--	SYS_MOUNT         = 21  // { int mount(char *type, char *path, int flags, \
-+	SYS_MOUNT         = 21  // { int mount(char *type, char *path, int flags, caddr_t data); }
- 	SYS_UNMOUNT       = 22  // { int unmount(char *path, int flags); }
- 	SYS_SETUID        = 23  // { int setuid(uid_t uid); }
- 	SYS_GETUID        = 24  // { uid_t getuid(void); }
- 	SYS_GETEUID       = 25  // { uid_t geteuid(void); }
--	SYS_PTRACE        = 26  // { int ptrace(int req, pid_t pid, caddr_t addr, \
-+	SYS_PTRACE        = 26  // { int ptrace(int req, pid_t pid, caddr_t addr, int data); }
- 	SYS_RECVMSG       = 27  // { int recvmsg(int s, struct msghdr *msg, int flags); }
- 	SYS_SENDMSG       = 28  // { int sendmsg(int s, caddr_t msg, int flags); }
--	SYS_RECVFROM      = 29  // { int recvfrom(int s, caddr_t buf, size_t len, \
-+	SYS_RECVFROM      = 29  // { int recvfrom(int s, caddr_t buf, size_t len, int flags, caddr_t from, int *fromlenaddr); }
- 	SYS_ACCEPT        = 30  // { int accept(int s, caddr_t name, int *anamelen); }
- 	SYS_GETPEERNAME   = 31  // { int getpeername(int fdes, caddr_t asa, int *alen); }
- 	SYS_GETSOCKNAME   = 32  // { int getsockname(int fdes, caddr_t asa, int *alen); }
-@@ -45,8 +45,8 @@ const (
- 	SYS_DUP           = 41  // { int dup(int fd); }
- 	SYS_PIPE          = 42  // { int pipe(void); }
- 	SYS_GETEGID       = 43  // { gid_t getegid(void); }
--	SYS_PROFIL        = 44  // { int profil(caddr_t samples, size_t size, \
--	SYS_KTRACE        = 45  // { int ktrace(const char *fname, int ops, int facs, \
-+	SYS_PROFIL        = 44  // { int profil(caddr_t samples, size_t size, size_t offset, u_int scale); }
-+	SYS_KTRACE        = 45  // { int ktrace(const char *fname, int ops, int facs, int pid); }
- 	SYS_GETGID        = 47  // { gid_t getgid(void); }
- 	SYS_GETLOGIN      = 49  // { int getlogin(char *namebuf, u_int namelen); }
- 	SYS_SETLOGIN      = 50  // { int setlogin(char *namebuf); }
-@@ -67,32 +67,32 @@ const (
- 	SYS_MUNMAP        = 73  // { int munmap(void *addr, size_t len); }
- 	SYS_MPROTECT      = 74  // { int mprotect(void *addr, size_t len, int prot); }
- 	SYS_MADVISE       = 75  // { int madvise(void *addr, size_t len, int behav); }
--	SYS_MINCORE       = 78  // { int mincore(const void *addr, size_t len, \
-+	SYS_MINCORE       = 78  // { int mincore(const void *addr, size_t len, char *vec); }
- 	SYS_GETGROUPS     = 79  // { int getgroups(u_int gidsetsize, gid_t *gidset); }
- 	SYS_SETGROUPS     = 80  // { int setgroups(u_int gidsetsize, gid_t *gidset); }
- 	SYS_GETPGRP       = 81  // { int getpgrp(void); }
- 	SYS_SETPGID       = 82  // { int setpgid(int pid, int pgid); }
--	SYS_SETITIMER     = 83  // { int setitimer(u_int which, struct itimerval *itv, \
-+	SYS_SETITIMER     = 83  // { int setitimer(u_int which, struct itimerval *itv, struct itimerval *oitv); }
- 	SYS_SWAPON        = 85  // { int swapon(char *name); }
- 	SYS_GETITIMER     = 86  // { int getitimer(u_int which, struct itimerval *itv); }
- 	SYS_GETDTABLESIZE = 89  // { int getdtablesize(void); }
- 	SYS_DUP2          = 90  // { int dup2(int from, int to); }
- 	SYS_FCNTL         = 92  // { int fcntl(int fd, int cmd, long arg); }
--	SYS_SELECT        = 93  // { int select(int nd, fd_set *in, fd_set *ou, \
-+	SYS_SELECT        = 93  // { int select(int nd, fd_set *in, fd_set *ou, fd_set *ex, struct timeval *tv); }
- 	SYS_FSYNC         = 95  // { int fsync(int fd); }
- 	SYS_SETPRIORITY   = 96  // { int setpriority(int which, int who, int prio); }
- 	SYS_SOCKET        = 97  // { int socket(int domain, int type, int protocol); }
- 	SYS_CONNECT       = 98  // { int connect(int s, caddr_t name, int namelen); }
- 	SYS_GETPRIORITY   = 100 // { int getpriority(int which, int who); }
- 	SYS_BIND          = 104 // { int bind(int s, caddr_t name, int namelen); }
--	SYS_SETSOCKOPT    = 105 // { int setsockopt(int s, int level, int name, \
-+	SYS_SETSOCKOPT    = 105 // { int setsockopt(int s, int level, int name, caddr_t val, int valsize); }
- 	SYS_LISTEN        = 106 // { int listen(int s, int backlog); }
--	SYS_GETTIMEOFDAY  = 116 // { int gettimeofday(struct timeval *tp, \
-+	SYS_GETTIMEOFDAY  = 116 // { int gettimeofday(struct timeval *tp, struct timezone *tzp); }
- 	SYS_GETRUSAGE     = 117 // { int getrusage(int who, struct rusage *rusage); }
--	SYS_GETSOCKOPT    = 118 // { int getsockopt(int s, int level, int name, \
-+	SYS_GETSOCKOPT    = 118 // { int getsockopt(int s, int level, int name, caddr_t val, int *avalsize); }
- 	SYS_READV         = 120 // { int readv(int fd, struct iovec *iovp, u_int iovcnt); }
--	SYS_WRITEV        = 121 // { int writev(int fd, struct iovec *iovp, \
--	SYS_SETTIMEOFDAY  = 122 // { int settimeofday(struct timeval *tv, \
-+	SYS_WRITEV        = 121 // { int writev(int fd, struct iovec *iovp, u_int iovcnt); }
-+	SYS_SETTIMEOFDAY  = 122 // { int settimeofday(struct timeval *tv, struct timezone *tzp); }
- 	SYS_FCHOWN        = 123 // { int fchown(int fd, int uid, int gid); }
- 	SYS_FCHMOD        = 124 // { int fchmod(int fd, int mode); }
- 	SYS_SETREUID      = 126 // { int setreuid(int ruid, int euid); }
-@@ -100,15 +100,15 @@ const (
- 	SYS_RENAME        = 128 // { int rename(char *from, char *to); }
- 	SYS_FLOCK         = 131 // { int flock(int fd, int how); }
- 	SYS_MKFIFO        = 132 // { int mkfifo(char *path, int mode); }
--	SYS_SENDTO        = 133 // { int sendto(int s, caddr_t buf, size_t len, \
-+	SYS_SENDTO        = 133 // { int sendto(int s, caddr_t buf, size_t len, int flags, caddr_t to, int tolen); }
- 	SYS_SHUTDOWN      = 134 // { int shutdown(int s, int how); }
--	SYS_SOCKETPAIR    = 135 // { int socketpair(int domain, int type, int protocol, \
-+	SYS_SOCKETPAIR    = 135 // { int socketpair(int domain, int type, int protocol, int *rsv); }
- 	SYS_MKDIR         = 136 // { int mkdir(char *path, int mode); }
- 	SYS_RMDIR         = 137 // { int rmdir(char *path); }
- 	SYS_UTIMES        = 138 // { int utimes(char *path, struct timeval *tptr); }
--	SYS_ADJTIME       = 140 // { int adjtime(struct timeval *delta, \
-+	SYS_ADJTIME       = 140 // { int adjtime(struct timeval *delta, struct timeval *olddelta); }
- 	SYS_SETSID        = 147 // { int setsid(void); }
--	SYS_QUOTACTL      = 148 // { int quotactl(char *path, int cmd, int uid, \
-+	SYS_QUOTACTL      = 148 // { int quotactl(char *path, int cmd, int uid, caddr_t arg); }
- 	SYS_STATFS        = 157 // { int statfs(char *path, struct statfs *buf); }
- 	SYS_FSTATFS       = 158 // { int fstatfs(int fd, struct statfs *buf); }
- 	SYS_GETFH         = 161 // { int getfh(char *fname, struct fhandle *fhp); }
-@@ -116,53 +116,53 @@ const (
- 	SYS_SETDOMAINNAME = 163 // { int setdomainname(char *domainname, int len); }
- 	SYS_UNAME         = 164 // { int uname(struct utsname *name); }
- 	SYS_SYSARCH       = 165 // { int sysarch(int op, char *parms); }
--	SYS_RTPRIO        = 166 // { int rtprio(int function, pid_t pid, \
--	SYS_EXTPREAD      = 173 // { ssize_t extpread(int fd, void *buf, \
--	SYS_EXTPWRITE     = 174 // { ssize_t extpwrite(int fd, const void *buf, \
-+	SYS_RTPRIO        = 166 // { int rtprio(int function, pid_t pid, struct rtprio *rtp); }
-+	SYS_EXTPREAD      = 173 // { ssize_t extpread(int fd, void *buf, size_t nbyte, int flags, off_t offset); }
-+	SYS_EXTPWRITE     = 174 // { ssize_t extpwrite(int fd, const void *buf, size_t nbyte, int flags, off_t offset); }
- 	SYS_NTP_ADJTIME   = 176 // { int ntp_adjtime(struct timex *tp); }
- 	SYS_SETGID        = 181 // { int setgid(gid_t gid); }
- 	SYS_SETEGID       = 182 // { int setegid(gid_t egid); }
- 	SYS_SETEUID       = 183 // { int seteuid(uid_t euid); }
- 	SYS_PATHCONF      = 191 // { int pathconf(char *path, int name); }
- 	SYS_FPATHCONF     = 192 // { int fpathconf(int fd, int name); }
--	SYS_GETRLIMIT     = 194 // { int getrlimit(u_int which, \
--	SYS_SETRLIMIT     = 195 // { int setrlimit(u_int which, \
--	SYS_MMAP          = 197 // { caddr_t mmap(caddr_t addr, size_t len, int prot, \
-+	SYS_GETRLIMIT     = 194 // { int getrlimit(u_int which, struct rlimit *rlp); } getrlimit __getrlimit_args int
-+	SYS_SETRLIMIT     = 195 // { int setrlimit(u_int which, struct rlimit *rlp); } setrlimit __setrlimit_args int
-+	SYS_MMAP          = 197 // { caddr_t mmap(caddr_t addr, size_t len, int prot, int flags, int fd, int pad, off_t pos); }
- 	// SYS_NOSYS = 198;  // { int nosys(void); } __syscall __syscall_args int
--	SYS_LSEEK                  = 199 // { off_t lseek(int fd, int pad, off_t offset, \
-+	SYS_LSEEK                  = 199 // { off_t lseek(int fd, int pad, off_t offset, int whence); }
- 	SYS_TRUNCATE               = 200 // { int truncate(char *path, int pad, off_t length); }
- 	SYS_FTRUNCATE              = 201 // { int ftruncate(int fd, int pad, off_t length); }
--	SYS___SYSCTL               = 202 // { int __sysctl(int *name, u_int namelen, void *old, \
-+	SYS___SYSCTL               = 202 // { int __sysctl(int *name, u_int namelen, void *old, size_t *oldlenp, void *new, size_t newlen); } __sysctl sysctl_args int
- 	SYS_MLOCK                  = 203 // { int mlock(const void *addr, size_t len); }
- 	SYS_MUNLOCK                = 204 // { int munlock(const void *addr, size_t len); }
- 	SYS_UNDELETE               = 205 // { int undelete(char *path); }
- 	SYS_FUTIMES                = 206 // { int futimes(int fd, struct timeval *tptr); }
- 	SYS_GETPGID                = 207 // { int getpgid(pid_t pid); }
--	SYS_POLL                   = 209 // { int poll(struct pollfd *fds, u_int nfds, \
--	SYS___SEMCTL               = 220 // { int __semctl(int semid, int semnum, int cmd, \
-+	SYS_POLL                   = 209 // { int poll(struct pollfd *fds, u_int nfds, int timeout); }
-+	SYS___SEMCTL               = 220 // { int __semctl(int semid, int semnum, int cmd, union semun *arg); }
- 	SYS_SEMGET                 = 221 // { int semget(key_t key, int nsems, int semflg); }
--	SYS_SEMOP                  = 222 // { int semop(int semid, struct sembuf *sops, \
--	SYS_MSGCTL                 = 224 // { int msgctl(int msqid, int cmd, \
-+	SYS_SEMOP                  = 222 // { int semop(int semid, struct sembuf *sops, u_int nsops); }
-+	SYS_MSGCTL                 = 224 // { int msgctl(int msqid, int cmd, struct msqid_ds *buf); }
- 	SYS_MSGGET                 = 225 // { int msgget(key_t key, int msgflg); }
--	SYS_MSGSND                 = 226 // { int msgsnd(int msqid, const void *msgp, size_t msgsz, \
--	SYS_MSGRCV                 = 227 // { int msgrcv(int msqid, void *msgp, size_t msgsz, \
--	SYS_SHMAT                  = 228 // { caddr_t shmat(int shmid, const void *shmaddr, \
--	SYS_SHMCTL                 = 229 // { int shmctl(int shmid, int cmd, \
-+	SYS_MSGSND                 = 226 // { int msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg); }
-+	SYS_MSGRCV                 = 227 // { int msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg); }
-+	SYS_SHMAT                  = 228 // { caddr_t shmat(int shmid, const void *shmaddr, int shmflg); }
-+	SYS_SHMCTL                 = 229 // { int shmctl(int shmid, int cmd, struct shmid_ds *buf); }
- 	SYS_SHMDT                  = 230 // { int shmdt(const void *shmaddr); }
- 	SYS_SHMGET                 = 231 // { int shmget(key_t key, size_t size, int shmflg); }
--	SYS_CLOCK_GETTIME          = 232 // { int clock_gettime(clockid_t clock_id, \
--	SYS_CLOCK_SETTIME          = 233 // { int clock_settime(clockid_t clock_id, \
--	SYS_CLOCK_GETRES           = 234 // { int clock_getres(clockid_t clock_id, \
--	SYS_NANOSLEEP              = 240 // { int nanosleep(const struct timespec *rqtp, \
-+	SYS_CLOCK_GETTIME          = 232 // { int clock_gettime(clockid_t clock_id, struct timespec *tp); }
-+	SYS_CLOCK_SETTIME          = 233 // { int clock_settime(clockid_t clock_id, const struct timespec *tp); }
-+	SYS_CLOCK_GETRES           = 234 // { int clock_getres(clockid_t clock_id, struct timespec *tp); }
-+	SYS_NANOSLEEP              = 240 // { int nanosleep(const struct timespec *rqtp, struct timespec *rmtp); }
- 	SYS_MINHERIT               = 250 // { int minherit(void *addr, size_t len, int inherit); }
- 	SYS_RFORK                  = 251 // { int rfork(int flags); }
--	SYS_OPENBSD_POLL           = 252 // { int openbsd_poll(struct pollfd *fds, u_int nfds, \
-+	SYS_OPENBSD_POLL           = 252 // { int openbsd_poll(struct pollfd *fds, u_int nfds, int timeout); }
- 	SYS_ISSETUGID              = 253 // { int issetugid(void); }
- 	SYS_LCHOWN                 = 254 // { int lchown(char *path, int uid, int gid); }
- 	SYS_LCHMOD                 = 274 // { int lchmod(char *path, mode_t mode); }
- 	SYS_LUTIMES                = 276 // { int lutimes(char *path, struct timeval *tptr); }
--	SYS_EXTPREADV              = 289 // { ssize_t extpreadv(int fd, struct iovec *iovp, \
--	SYS_EXTPWRITEV             = 290 // { ssize_t extpwritev(int fd, struct iovec *iovp,\
-+	SYS_EXTPREADV              = 289 // { ssize_t extpreadv(int fd, struct iovec *iovp, u_int iovcnt, int flags, off_t offset); }
-+	SYS_EXTPWRITEV             = 290 // { ssize_t extpwritev(int fd, struct iovec *iovp,u_int iovcnt, int flags, off_t offset); }
- 	SYS_FHSTATFS               = 297 // { int fhstatfs(const struct fhandle *u_fhp, struct statfs *buf); }
- 	SYS_FHOPEN                 = 298 // { int fhopen(const struct fhandle *u_fhp, int flags); }
- 	SYS_MODNEXT                = 300 // { int modnext(int modid); }
-@@ -200,34 +200,34 @@ const (
- 	SYS_UTRACE                 = 335 // { int utrace(const void *addr, size_t len); }
- 	SYS_KLDSYM                 = 337 // { int kldsym(int fileid, int cmd, void *data); }
- 	SYS_JAIL                   = 338 // { int jail(struct jail *jail); }
--	SYS_SIGPROCMASK            = 340 // { int sigprocmask(int how, const sigset_t *set, \
-+	SYS_SIGPROCMASK            = 340 // { int sigprocmask(int how, const sigset_t *set, sigset_t *oset); }
- 	SYS_SIGSUSPEND             = 341 // { int sigsuspend(const sigset_t *sigmask); }
--	SYS_SIGACTION              = 342 // { int sigaction(int sig, const struct sigaction *act, \
-+	SYS_SIGACTION              = 342 // { int sigaction(int sig, const struct sigaction *act, struct sigaction *oact); }
- 	SYS_SIGPENDING             = 343 // { int sigpending(sigset_t *set); }
- 	SYS_SIGRETURN              = 344 // { int sigreturn(ucontext_t *sigcntxp); }
--	SYS_SIGTIMEDWAIT           = 345 // { int sigtimedwait(const sigset_t *set,\
--	SYS_SIGWAITINFO            = 346 // { int sigwaitinfo(const sigset_t *set,\
--	SYS___ACL_GET_FILE         = 347 // { int __acl_get_file(const char *path, \
--	SYS___ACL_SET_FILE         = 348 // { int __acl_set_file(const char *path, \
--	SYS___ACL_GET_FD           = 349 // { int __acl_get_fd(int filedes, acl_type_t type, \
--	SYS___ACL_SET_FD           = 350 // { int __acl_set_fd(int filedes, acl_type_t type, \
--	SYS___ACL_DELETE_FILE      = 351 // { int __acl_delete_file(const char *path, \
-+	SYS_SIGTIMEDWAIT           = 345 // { int sigtimedwait(const sigset_t *set,siginfo_t *info, const struct timespec *timeout); }
-+	SYS_SIGWAITINFO            = 346 // { int sigwaitinfo(const sigset_t *set,siginfo_t *info); }
-+	SYS___ACL_GET_FILE         = 347 // { int __acl_get_file(const char *path, acl_type_t type, struct acl *aclp); }
-+	SYS___ACL_SET_FILE         = 348 // { int __acl_set_file(const char *path, acl_type_t type, struct acl *aclp); }
-+	SYS___ACL_GET_FD           = 349 // { int __acl_get_fd(int filedes, acl_type_t type, struct acl *aclp); }
-+	SYS___ACL_SET_FD           = 350 // { int __acl_set_fd(int filedes, acl_type_t type, struct acl *aclp); }
-+	SYS___ACL_DELETE_FILE      = 351 // { int __acl_delete_file(const char *path, acl_type_t type); }
- 	SYS___ACL_DELETE_FD        = 352 // { int __acl_delete_fd(int filedes, acl_type_t type); }
--	SYS___ACL_ACLCHECK_FILE    = 353 // { int __acl_aclcheck_file(const char *path, \
--	SYS___ACL_ACLCHECK_FD      = 354 // { int __acl_aclcheck_fd(int filedes, acl_type_t type, \
--	SYS_EXTATTRCTL             = 355 // { int extattrctl(const char *path, int cmd, \
--	SYS_EXTATTR_SET_FILE       = 356 // { int extattr_set_file(const char *path, \
--	SYS_EXTATTR_GET_FILE       = 357 // { int extattr_get_file(const char *path, \
--	SYS_EXTATTR_DELETE_FILE    = 358 // { int extattr_delete_file(const char *path, \
-+	SYS___ACL_ACLCHECK_FILE    = 353 // { int __acl_aclcheck_file(const char *path, acl_type_t type, struct acl *aclp); }
-+	SYS___ACL_ACLCHECK_FD      = 354 // { int __acl_aclcheck_fd(int filedes, acl_type_t type, struct acl *aclp); }
-+	SYS_EXTATTRCTL             = 355 // { int extattrctl(const char *path, int cmd, const char *filename, int attrnamespace, const char *attrname); }
-+	SYS_EXTATTR_SET_FILE       = 356 // { int extattr_set_file(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); }
-+	SYS_EXTATTR_GET_FILE       = 357 // { int extattr_get_file(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); }
-+	SYS_EXTATTR_DELETE_FILE    = 358 // { int extattr_delete_file(const char *path, int attrnamespace, const char *attrname); }
- 	SYS_AIO_WAITCOMPLETE       = 359 // { int aio_waitcomplete(struct aiocb **aiocbp, struct timespec *timeout); }
- 	SYS_GETRESUID              = 360 // { int getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); }
- 	SYS_GETRESGID              = 361 // { int getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); }
- 	SYS_KQUEUE                 = 362 // { int kqueue(void); }
--	SYS_KEVENT                 = 363 // { int kevent(int fd, \
-+	SYS_KEVENT                 = 363 // { int kevent(int fd, const struct kevent *changelist, int nchanges, struct kevent *eventlist, int nevents, const struct timespec *timeout); }
- 	SYS_KENV                   = 390 // { int kenv(int what, const char *name, char *value, int len); }
- 	SYS_LCHFLAGS               = 391 // { int lchflags(char *path, int flags); }
- 	SYS_UUIDGEN                = 392 // { int uuidgen(struct uuid *store, int count); }
--	SYS_SENDFILE               = 393 // { int sendfile(int fd, int s, off_t offset, size_t nbytes, \
-+	SYS_SENDFILE               = 393 // { int sendfile(int fd, int s, off_t offset, size_t nbytes, struct sf_hdtr *hdtr, off_t *sbytes, int flags); }
- 	SYS_VARSYM_SET             = 450 // { int varsym_set(int level, const char *name, const char *data); }
- 	SYS_VARSYM_GET             = 451 // { int varsym_get(int mask, const char *wild, char *buf, int bufsize); }
- 	SYS_VARSYM_LIST            = 452 // { int varsym_list(int level, char *buf, int maxsize, int *marker); }
-@@ -245,58 +245,58 @@ const (
- 	SYS_FSTAT                  = 476 // { int fstat(int fd, struct stat *sb); }
- 	SYS_LSTAT                  = 477 // { int lstat(const char *path, struct stat *ub); }
- 	SYS_FHSTAT                 = 478 // { int fhstat(const struct fhandle *u_fhp, struct stat *sb); }
--	SYS_GETDIRENTRIES          = 479 // { int getdirentries(int fd, char *buf, u_int count, \
-+	SYS_GETDIRENTRIES          = 479 // { int getdirentries(int fd, char *buf, u_int count, long *basep); }
- 	SYS_GETDENTS               = 480 // { int getdents(int fd, char *buf, size_t count); }
--	SYS_USCHED_SET             = 481 // { int usched_set(pid_t pid, int cmd, void *data, \
-+	SYS_USCHED_SET             = 481 // { int usched_set(pid_t pid, int cmd, void *data, int bytes); }
- 	SYS_EXTACCEPT              = 482 // { int extaccept(int s, int flags, caddr_t name, int *anamelen); }
- 	SYS_EXTCONNECT             = 483 // { int extconnect(int s, int flags, caddr_t name, int namelen); }
- 	SYS_MCONTROL               = 485 // { int mcontrol(void *addr, size_t len, int behav, off_t value); }
- 	SYS_VMSPACE_CREATE         = 486 // { int vmspace_create(void *id, int type, void *data); }
- 	SYS_VMSPACE_DESTROY        = 487 // { int vmspace_destroy(void *id); }
--	SYS_VMSPACE_CTL            = 488 // { int vmspace_ctl(void *id, int cmd, 		\
--	SYS_VMSPACE_MMAP           = 489 // { int vmspace_mmap(void *id, void *addr, size_t len, \
--	SYS_VMSPACE_MUNMAP         = 490 // { int vmspace_munmap(void *id, void *addr,	\
--	SYS_VMSPACE_MCONTROL       = 491 // { int vmspace_mcontrol(void *id, void *addr, 	\
--	SYS_VMSPACE_PREAD          = 492 // { ssize_t vmspace_pread(void *id, void *buf, \
--	SYS_VMSPACE_PWRITE         = 493 // { ssize_t vmspace_pwrite(void *id, const void *buf, \
-+	SYS_VMSPACE_CTL            = 488 // { int vmspace_ctl(void *id, int cmd, 		struct trapframe *tframe,	struct vextframe *vframe); }
-+	SYS_VMSPACE_MMAP           = 489 // { int vmspace_mmap(void *id, void *addr, size_t len, int prot, int flags, int fd, off_t offset); }
-+	SYS_VMSPACE_MUNMAP         = 490 // { int vmspace_munmap(void *id, void *addr,	size_t len); }
-+	SYS_VMSPACE_MCONTROL       = 491 // { int vmspace_mcontrol(void *id, void *addr, 	size_t len, int behav, off_t value); }
-+	SYS_VMSPACE_PREAD          = 492 // { ssize_t vmspace_pread(void *id, void *buf, size_t nbyte, int flags, off_t offset); }
-+	SYS_VMSPACE_PWRITE         = 493 // { ssize_t vmspace_pwrite(void *id, const void *buf, size_t nbyte, int flags, off_t offset); }
- 	SYS_EXTEXIT                = 494 // { void extexit(int how, int status, void *addr); }
- 	SYS_LWP_CREATE             = 495 // { int lwp_create(struct lwp_params *params); }
- 	SYS_LWP_GETTID             = 496 // { lwpid_t lwp_gettid(void); }
- 	SYS_LWP_KILL               = 497 // { int lwp_kill(pid_t pid, lwpid_t tid, int signum); }
- 	SYS_LWP_RTPRIO             = 498 // { int lwp_rtprio(int function, pid_t pid, lwpid_t tid, struct rtprio *rtp); }
--	SYS_PSELECT                = 499 // { int pselect(int nd, fd_set *in, fd_set *ou, \
-+	SYS_PSELECT                = 499 // { int pselect(int nd, fd_set *in, fd_set *ou, fd_set *ex, const struct timespec *ts,    const sigset_t *sigmask); }
- 	SYS_STATVFS                = 500 // { int statvfs(const char *path, struct statvfs *buf); }
- 	SYS_FSTATVFS               = 501 // { int fstatvfs(int fd, struct statvfs *buf); }
- 	SYS_FHSTATVFS              = 502 // { int fhstatvfs(const struct fhandle *u_fhp, struct statvfs *buf); }
--	SYS_GETVFSSTAT             = 503 // { int getvfsstat(struct statfs *buf,          \
-+	SYS_GETVFSSTAT             = 503 // { int getvfsstat(struct statfs *buf,          struct statvfs *vbuf, long vbufsize, int flags); }
- 	SYS_OPENAT                 = 504 // { int openat(int fd, char *path, int flags, int mode); }
--	SYS_FSTATAT                = 505 // { int fstatat(int fd, char *path, 	\
--	SYS_FCHMODAT               = 506 // { int fchmodat(int fd, char *path, int mode, \
--	SYS_FCHOWNAT               = 507 // { int fchownat(int fd, char *path, int uid, int gid, \
-+	SYS_FSTATAT                = 505 // { int fstatat(int fd, char *path, 	struct stat *sb, int flags); }
-+	SYS_FCHMODAT               = 506 // { int fchmodat(int fd, char *path, int mode, int flags); }
-+	SYS_FCHOWNAT               = 507 // { int fchownat(int fd, char *path, int uid, int gid, int flags); }
- 	SYS_UNLINKAT               = 508 // { int unlinkat(int fd, char *path, int flags); }
--	SYS_FACCESSAT              = 509 // { int faccessat(int fd, char *path, int amode, \
--	SYS_MQ_OPEN                = 510 // { mqd_t mq_open(const char * name, int oflag, \
-+	SYS_FACCESSAT              = 509 // { int faccessat(int fd, char *path, int amode, int flags); }
-+	SYS_MQ_OPEN                = 510 // { mqd_t mq_open(const char * name, int oflag, mode_t mode, struct mq_attr *attr); }
- 	SYS_MQ_CLOSE               = 511 // { int mq_close(mqd_t mqdes); }
- 	SYS_MQ_UNLINK              = 512 // { int mq_unlink(const char *name); }
--	SYS_MQ_GETATTR             = 513 // { int mq_getattr(mqd_t mqdes, \
--	SYS_MQ_SETATTR             = 514 // { int mq_setattr(mqd_t mqdes, \
--	SYS_MQ_NOTIFY              = 515 // { int mq_notify(mqd_t mqdes, \
--	SYS_MQ_SEND                = 516 // { int mq_send(mqd_t mqdes, const char *msg_ptr, \
--	SYS_MQ_RECEIVE             = 517 // { ssize_t mq_receive(mqd_t mqdes, char *msg_ptr, \
--	SYS_MQ_TIMEDSEND           = 518 // { int mq_timedsend(mqd_t mqdes, \
--	SYS_MQ_TIMEDRECEIVE        = 519 // { ssize_t mq_timedreceive(mqd_t mqdes, \
-+	SYS_MQ_GETATTR             = 513 // { int mq_getattr(mqd_t mqdes, struct mq_attr *mqstat); }
-+	SYS_MQ_SETATTR             = 514 // { int mq_setattr(mqd_t mqdes, const struct mq_attr *mqstat, struct mq_attr *omqstat); }
-+	SYS_MQ_NOTIFY              = 515 // { int mq_notify(mqd_t mqdes, const struct sigevent *notification); }
-+	SYS_MQ_SEND                = 516 // { int mq_send(mqd_t mqdes, const char *msg_ptr, size_t msg_len, unsigned msg_prio); }
-+	SYS_MQ_RECEIVE             = 517 // { ssize_t mq_receive(mqd_t mqdes, char *msg_ptr, size_t msg_len, unsigned *msg_prio); }
-+	SYS_MQ_TIMEDSEND           = 518 // { int mq_timedsend(mqd_t mqdes, const char *msg_ptr, size_t msg_len, unsigned msg_prio, const struct timespec *abs_timeout); }
-+	SYS_MQ_TIMEDRECEIVE        = 519 // { ssize_t mq_timedreceive(mqd_t mqdes, char *msg_ptr, size_t msg_len, unsigned *msg_prio, const struct timespec *abs_timeout); }
- 	SYS_IOPRIO_SET             = 520 // { int ioprio_set(int which, int who, int prio); }
- 	SYS_IOPRIO_GET             = 521 // { int ioprio_get(int which, int who); }
- 	SYS_CHROOT_KERNEL          = 522 // { int chroot_kernel(char *path); }
--	SYS_RENAMEAT               = 523 // { int renameat(int oldfd, char *old, int newfd, \
-+	SYS_RENAMEAT               = 523 // { int renameat(int oldfd, char *old, int newfd, char *new); }
- 	SYS_MKDIRAT                = 524 // { int mkdirat(int fd, char *path, mode_t mode); }
- 	SYS_MKFIFOAT               = 525 // { int mkfifoat(int fd, char *path, mode_t mode); }
--	SYS_MKNODAT                = 526 // { int mknodat(int fd, char *path, mode_t mode, \
--	SYS_READLINKAT             = 527 // { int readlinkat(int fd, char *path, char *buf, \
-+	SYS_MKNODAT                = 526 // { int mknodat(int fd, char *path, mode_t mode, dev_t dev); }
-+	SYS_READLINKAT             = 527 // { int readlinkat(int fd, char *path, char *buf, size_t bufsize); }
- 	SYS_SYMLINKAT              = 528 // { int symlinkat(char *path1, int fd, char *path2); }
- 	SYS_SWAPOFF                = 529 // { int swapoff(char *name); }
--	SYS_VQUOTACTL              = 530 // { int vquotactl(const char *path, \
--	SYS_LINKAT                 = 531 // { int linkat(int fd1, char *path1, int fd2, \
-+	SYS_VQUOTACTL              = 530 // { int vquotactl(const char *path, struct plistref *pref); }
-+	SYS_LINKAT                 = 531 // { int linkat(int fd1, char *path1, int fd2, char *path2, int flags); }
- 	SYS_EACCESS                = 532 // { int eaccess(char *path, int flags); }
- 	SYS_LPATHCONF              = 533 // { int lpathconf(char *path, int name); }
- 	SYS_VMM_GUEST_CTL          = 534 // { int vmm_guest_ctl(int op, struct vmm_guest_options *options); }
-@@ -308,7 +308,7 @@ const (
- 	SYS_FUTIMENS               = 540 // { int futimens(int fd, const struct timespec *ts); }
- 	SYS_ACCEPT4                = 541 // { int accept4(int s, caddr_t name, int *anamelen, int flags); }
- 	SYS_LWP_SETNAME            = 542 // { int lwp_setname(lwpid_t tid, const char *name); }
--	SYS_PPOLL                  = 543 // { int ppoll(struct pollfd *fds, u_int nfds, \
-+	SYS_PPOLL                  = 543 // { int ppoll(struct pollfd *fds, u_int nfds, const struct timespec *ts, const sigset_t *sigmask); }
- 	SYS_LWP_SETAFFINITY        = 544 // { int lwp_setaffinity(pid_t pid, lwpid_t tid, const cpumask_t *mask); }
- 	SYS_LWP_GETAFFINITY        = 545 // { int lwp_getaffinity(pid_t pid, lwpid_t tid, cpumask_t *mask); }
- 	SYS_LWP_CREATE2            = 546 // { int lwp_create2(struct lwp_params *params, const cpumask_t *mask); }
-diff --git a/vendor/golang.org/x/sys/unix/zsysnum_freebsd_386.go b/vendor/golang.org/x/sys/unix/zsysnum_freebsd_386.go
-index b64a8122..9474974b 100644
---- a/vendor/golang.org/x/sys/unix/zsysnum_freebsd_386.go
-+++ b/vendor/golang.org/x/sys/unix/zsysnum_freebsd_386.go
-@@ -1,4 +1,4 @@
--// mksysnum_freebsd.pl
-+// go run mksysnum.go https://svn.freebsd.org/base/stable/11/sys/kern/syscalls.master
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- // +build 386,freebsd
-@@ -7,347 +7,390 @@ package unix
- 
- const (
- 	// SYS_NOSYS = 0;  // { int nosys(void); } syscall nosys_args int
--	SYS_EXIT                   = 1   // { void sys_exit(int rval); } exit \
--	SYS_FORK                   = 2   // { int fork(void); }
--	SYS_READ                   = 3   // { ssize_t read(int fd, void *buf, \
--	SYS_WRITE                  = 4   // { ssize_t write(int fd, const void *buf, \
--	SYS_OPEN                   = 5   // { int open(char *path, int flags, int mode); }
--	SYS_CLOSE                  = 6   // { int close(int fd); }
--	SYS_WAIT4                  = 7   // { int wait4(int pid, int *status, \
--	SYS_LINK                   = 9   // { int link(char *path, char *link); }
--	SYS_UNLINK                 = 10  // { int unlink(char *path); }
--	SYS_CHDIR                  = 12  // { int chdir(char *path); }
--	SYS_FCHDIR                 = 13  // { int fchdir(int fd); }
--	SYS_MKNOD                  = 14  // { int mknod(char *path, int mode, int dev); }
--	SYS_CHMOD                  = 15  // { int chmod(char *path, int mode); }
--	SYS_CHOWN                  = 16  // { int chown(char *path, int uid, int gid); }
--	SYS_OBREAK                 = 17  // { int obreak(char *nsize); } break \
--	SYS_GETPID                 = 20  // { pid_t getpid(void); }
--	SYS_MOUNT                  = 21  // { int mount(char *type, char *path, \
--	SYS_UNMOUNT                = 22  // { int unmount(char *path, int flags); }
--	SYS_SETUID                 = 23  // { int setuid(uid_t uid); }
--	SYS_GETUID                 = 24  // { uid_t getuid(void); }
--	SYS_GETEUID                = 25  // { uid_t geteuid(void); }
--	SYS_PTRACE                 = 26  // { int ptrace(int req, pid_t pid, \
--	SYS_RECVMSG                = 27  // { int recvmsg(int s, struct msghdr *msg, \
--	SYS_SENDMSG                = 28  // { int sendmsg(int s, struct msghdr *msg, \
--	SYS_RECVFROM               = 29  // { int recvfrom(int s, caddr_t buf, \
--	SYS_ACCEPT                 = 30  // { int accept(int s, \
--	SYS_GETPEERNAME            = 31  // { int getpeername(int fdes, \
--	SYS_GETSOCKNAME            = 32  // { int getsockname(int fdes, \
--	SYS_ACCESS                 = 33  // { int access(char *path, int amode); }
--	SYS_CHFLAGS                = 34  // { int chflags(const char *path, u_long flags); }
--	SYS_FCHFLAGS               = 35  // { int fchflags(int fd, u_long flags); }
--	SYS_SYNC                   = 36  // { int sync(void); }
--	SYS_KILL                   = 37  // { int kill(int pid, int signum); }
--	SYS_GETPPID                = 39  // { pid_t getppid(void); }
--	SYS_DUP                    = 41  // { int dup(u_int fd); }
--	SYS_PIPE                   = 42  // { int pipe(void); }
--	SYS_GETEGID                = 43  // { gid_t getegid(void); }
--	SYS_PROFIL                 = 44  // { int profil(caddr_t samples, size_t size, \
--	SYS_KTRACE                 = 45  // { int ktrace(const char *fname, int ops, \
--	SYS_GETGID                 = 47  // { gid_t getgid(void); }
--	SYS_GETLOGIN               = 49  // { int getlogin(char *namebuf, u_int \
--	SYS_SETLOGIN               = 50  // { int setlogin(char *namebuf); }
--	SYS_ACCT                   = 51  // { int acct(char *path); }
--	SYS_SIGALTSTACK            = 53  // { int sigaltstack(stack_t *ss, \
--	SYS_IOCTL                  = 54  // { int ioctl(int fd, u_long com, \
--	SYS_REBOOT                 = 55  // { int reboot(int opt); }
--	SYS_REVOKE                 = 56  // { int revoke(char *path); }
--	SYS_SYMLINK                = 57  // { int symlink(char *path, char *link); }
--	SYS_READLINK               = 58  // { ssize_t readlink(char *path, char *buf, \
--	SYS_EXECVE                 = 59  // { int execve(char *fname, char **argv, \
--	SYS_UMASK                  = 60  // { int umask(int newmask); } umask umask_args \
--	SYS_CHROOT                 = 61  // { int chroot(char *path); }
--	SYS_MSYNC                  = 65  // { int msync(void *addr, size_t len, \
--	SYS_VFORK                  = 66  // { int vfork(void); }
--	SYS_SBRK                   = 69  // { int sbrk(int incr); }
--	SYS_SSTK                   = 70  // { int sstk(int incr); }
--	SYS_OVADVISE               = 72  // { int ovadvise(int anom); } vadvise \
--	SYS_MUNMAP                 = 73  // { int munmap(void *addr, size_t len); }
--	SYS_MPROTECT               = 74  // { int mprotect(const void *addr, size_t len, \
--	SYS_MADVISE                = 75  // { int madvise(void *addr, size_t len, \
--	SYS_MINCORE                = 78  // { int mincore(const void *addr, size_t len, \
--	SYS_GETGROUPS              = 79  // { int getgroups(u_int gidsetsize, \
--	SYS_SETGROUPS              = 80  // { int setgroups(u_int gidsetsize, \
--	SYS_GETPGRP                = 81  // { int getpgrp(void); }
--	SYS_SETPGID                = 82  // { int setpgid(int pid, int pgid); }
--	SYS_SETITIMER              = 83  // { int setitimer(u_int which, struct \
--	SYS_SWAPON                 = 85  // { int swapon(char *name); }
--	SYS_GETITIMER              = 86  // { int getitimer(u_int which, \
--	SYS_GETDTABLESIZE          = 89  // { int getdtablesize(void); }
--	SYS_DUP2                   = 90  // { int dup2(u_int from, u_int to); }
--	SYS_FCNTL                  = 92  // { int fcntl(int fd, int cmd, long arg); }
--	SYS_SELECT                 = 93  // { int select(int nd, fd_set *in, fd_set *ou, \
--	SYS_FSYNC                  = 95  // { int fsync(int fd); }
--	SYS_SETPRIORITY            = 96  // { int setpriority(int which, int who, \
--	SYS_SOCKET                 = 97  // { int socket(int domain, int type, \
--	SYS_CONNECT                = 98  // { int connect(int s, caddr_t name, \
--	SYS_GETPRIORITY            = 100 // { int getpriority(int which, int who); }
--	SYS_BIND                   = 104 // { int bind(int s, caddr_t name, \
--	SYS_SETSOCKOPT             = 105 // { int setsockopt(int s, int level, int name, \
--	SYS_LISTEN                 = 106 // { int listen(int s, int backlog); }
--	SYS_GETTIMEOFDAY           = 116 // { int gettimeofday(struct timeval *tp, \
--	SYS_GETRUSAGE              = 117 // { int getrusage(int who, \
--	SYS_GETSOCKOPT             = 118 // { int getsockopt(int s, int level, int name, \
--	SYS_READV                  = 120 // { int readv(int fd, struct iovec *iovp, \
--	SYS_WRITEV                 = 121 // { int writev(int fd, struct iovec *iovp, \
--	SYS_SETTIMEOFDAY           = 122 // { int settimeofday(struct timeval *tv, \
--	SYS_FCHOWN                 = 123 // { int fchown(int fd, int uid, int gid); }
--	SYS_FCHMOD                 = 124 // { int fchmod(int fd, int mode); }
--	SYS_SETREUID               = 126 // { int setreuid(int ruid, int euid); }
--	SYS_SETREGID               = 127 // { int setregid(int rgid, int egid); }
--	SYS_RENAME                 = 128 // { int rename(char *from, char *to); }
--	SYS_FLOCK                  = 131 // { int flock(int fd, int how); }
--	SYS_MKFIFO                 = 132 // { int mkfifo(char *path, int mode); }
--	SYS_SENDTO                 = 133 // { int sendto(int s, caddr_t buf, size_t len, \
--	SYS_SHUTDOWN               = 134 // { int shutdown(int s, int how); }
--	SYS_SOCKETPAIR             = 135 // { int socketpair(int domain, int type, \
--	SYS_MKDIR                  = 136 // { int mkdir(char *path, int mode); }
--	SYS_RMDIR                  = 137 // { int rmdir(char *path); }
--	SYS_UTIMES                 = 138 // { int utimes(char *path, \
--	SYS_ADJTIME                = 140 // { int adjtime(struct timeval *delta, \
--	SYS_SETSID                 = 147 // { int setsid(void); }
--	SYS_QUOTACTL               = 148 // { int quotactl(char *path, int cmd, int uid, \
--	SYS_LGETFH                 = 160 // { int lgetfh(char *fname, \
--	SYS_GETFH                  = 161 // { int getfh(char *fname, \
--	SYS_SYSARCH                = 165 // { int sysarch(int op, char *parms); }
--	SYS_RTPRIO                 = 166 // { int rtprio(int function, pid_t pid, \
--	SYS_FREEBSD6_PREAD         = 173 // { ssize_t freebsd6_pread(int fd, void *buf, \
--	SYS_FREEBSD6_PWRITE        = 174 // { ssize_t freebsd6_pwrite(int fd, \
--	SYS_SETFIB                 = 175 // { int setfib(int fibnum); }
--	SYS_NTP_ADJTIME            = 176 // { int ntp_adjtime(struct timex *tp); }
--	SYS_SETGID                 = 181 // { int setgid(gid_t gid); }
--	SYS_SETEGID                = 182 // { int setegid(gid_t egid); }
--	SYS_SETEUID                = 183 // { int seteuid(uid_t euid); }
--	SYS_STAT                   = 188 // { int stat(char *path, struct stat *ub); }
--	SYS_FSTAT                  = 189 // { int fstat(int fd, struct stat *sb); }
--	SYS_LSTAT                  = 190 // { int lstat(char *path, struct stat *ub); }
--	SYS_PATHCONF               = 191 // { int pathconf(char *path, int name); }
--	SYS_FPATHCONF              = 192 // { int fpathconf(int fd, int name); }
--	SYS_GETRLIMIT              = 194 // { int getrlimit(u_int which, \
--	SYS_SETRLIMIT              = 195 // { int setrlimit(u_int which, \
--	SYS_GETDIRENTRIES          = 196 // { int getdirentries(int fd, char *buf, \
--	SYS_FREEBSD6_MMAP          = 197 // { caddr_t freebsd6_mmap(caddr_t addr, \
--	SYS_FREEBSD6_LSEEK         = 199 // { off_t freebsd6_lseek(int fd, int pad, \
--	SYS_FREEBSD6_TRUNCATE      = 200 // { int freebsd6_truncate(char *path, int pad, \
--	SYS_FREEBSD6_FTRUNCATE     = 201 // { int freebsd6_ftruncate(int fd, int pad, \
--	SYS___SYSCTL               = 202 // { int __sysctl(int *name, u_int namelen, \
--	SYS_MLOCK                  = 203 // { int mlock(const void *addr, size_t len); }
--	SYS_MUNLOCK                = 204 // { int munlock(const void *addr, size_t len); }
--	SYS_UNDELETE               = 205 // { int undelete(char *path); }
--	SYS_FUTIMES                = 206 // { int futimes(int fd, struct timeval *tptr); }
--	SYS_GETPGID                = 207 // { int getpgid(pid_t pid); }
--	SYS_POLL                   = 209 // { int poll(struct pollfd *fds, u_int nfds, \
--	SYS_CLOCK_GETTIME          = 232 // { int clock_gettime(clockid_t clock_id, \
--	SYS_CLOCK_SETTIME          = 233 // { int clock_settime( \
--	SYS_CLOCK_GETRES           = 234 // { int clock_getres(clockid_t clock_id, \
--	SYS_KTIMER_CREATE          = 235 // { int ktimer_create(clockid_t clock_id, \
--	SYS_KTIMER_DELETE          = 236 // { int ktimer_delete(int timerid); }
--	SYS_KTIMER_SETTIME         = 237 // { int ktimer_settime(int timerid, int flags, \
--	SYS_KTIMER_GETTIME         = 238 // { int ktimer_gettime(int timerid, struct \
--	SYS_KTIMER_GETOVERRUN      = 239 // { int ktimer_getoverrun(int timerid); }
--	SYS_NANOSLEEP              = 240 // { int nanosleep(const struct timespec *rqtp, \
--	SYS_FFCLOCK_GETCOUNTER     = 241 // { int ffclock_getcounter(ffcounter *ffcount); }
--	SYS_FFCLOCK_SETESTIMATE    = 242 // { int ffclock_setestimate( \
--	SYS_FFCLOCK_GETESTIMATE    = 243 // { int ffclock_getestimate( \
--	SYS_CLOCK_GETCPUCLOCKID2   = 247 // { int clock_getcpuclockid2(id_t id,\
--	SYS_NTP_GETTIME            = 248 // { int ntp_gettime(struct ntptimeval *ntvp); }
--	SYS_MINHERIT               = 250 // { int minherit(void *addr, size_t len, \
--	SYS_RFORK                  = 251 // { int rfork(int flags); }
--	SYS_OPENBSD_POLL           = 252 // { int openbsd_poll(struct pollfd *fds, \
--	SYS_ISSETUGID              = 253 // { int issetugid(void); }
--	SYS_LCHOWN                 = 254 // { int lchown(char *path, int uid, int gid); }
--	SYS_GETDENTS               = 272 // { int getdents(int fd, char *buf, \
--	SYS_LCHMOD                 = 274 // { int lchmod(char *path, mode_t mode); }
--	SYS_LUTIMES                = 276 // { int lutimes(char *path, \
--	SYS_NSTAT                  = 278 // { int nstat(char *path, struct nstat *ub); }
--	SYS_NFSTAT                 = 279 // { int nfstat(int fd, struct nstat *sb); }
--	SYS_NLSTAT                 = 280 // { int nlstat(char *path, struct nstat *ub); }
--	SYS_PREADV                 = 289 // { ssize_t preadv(int fd, struct iovec *iovp, \
--	SYS_PWRITEV                = 290 // { ssize_t pwritev(int fd, struct iovec *iovp, \
--	SYS_FHOPEN                 = 298 // { int fhopen(const struct fhandle *u_fhp, \
--	SYS_FHSTAT                 = 299 // { int fhstat(const struct fhandle *u_fhp, \
--	SYS_MODNEXT                = 300 // { int modnext(int modid); }
--	SYS_MODSTAT                = 301 // { int modstat(int modid, \
--	SYS_MODFNEXT               = 302 // { int modfnext(int modid); }
--	SYS_MODFIND                = 303 // { int modfind(const char *name); }
--	SYS_KLDLOAD                = 304 // { int kldload(const char *file); }
--	SYS_KLDUNLOAD              = 305 // { int kldunload(int fileid); }
--	SYS_KLDFIND                = 306 // { int kldfind(const char *file); }
--	SYS_KLDNEXT                = 307 // { int kldnext(int fileid); }
--	SYS_KLDSTAT                = 308 // { int kldstat(int fileid, struct \
--	SYS_KLDFIRSTMOD            = 309 // { int kldfirstmod(int fileid); }
--	SYS_GETSID                 = 310 // { int getsid(pid_t pid); }
--	SYS_SETRESUID              = 311 // { int setresuid(uid_t ruid, uid_t euid, \
--	SYS_SETRESGID              = 312 // { int setresgid(gid_t rgid, gid_t egid, \
--	SYS_YIELD                  = 321 // { int yield(void); }
--	SYS_MLOCKALL               = 324 // { int mlockall(int how); }
--	SYS_MUNLOCKALL             = 325 // { int munlockall(void); }
--	SYS___GETCWD               = 326 // { int __getcwd(char *buf, u_int buflen); }
--	SYS_SCHED_SETPARAM         = 327 // { int sched_setparam (pid_t pid, \
--	SYS_SCHED_GETPARAM         = 328 // { int sched_getparam (pid_t pid, struct \
--	SYS_SCHED_SETSCHEDULER     = 329 // { int sched_setscheduler (pid_t pid, int \
--	SYS_SCHED_GETSCHEDULER     = 330 // { int sched_getscheduler (pid_t pid); }
--	SYS_SCHED_YIELD            = 331 // { int sched_yield (void); }
--	SYS_SCHED_GET_PRIORITY_MAX = 332 // { int sched_get_priority_max (int policy); }
--	SYS_SCHED_GET_PRIORITY_MIN = 333 // { int sched_get_priority_min (int policy); }
--	SYS_SCHED_RR_GET_INTERVAL  = 334 // { int sched_rr_get_interval (pid_t pid, \
--	SYS_UTRACE                 = 335 // { int utrace(const void *addr, size_t len); }
--	SYS_KLDSYM                 = 337 // { int kldsym(int fileid, int cmd, \
--	SYS_JAIL                   = 338 // { int jail(struct jail *jail); }
--	SYS_SIGPROCMASK            = 340 // { int sigprocmask(int how, \
--	SYS_SIGSUSPEND             = 341 // { int sigsuspend(const sigset_t *sigmask); }
--	SYS_SIGPENDING             = 343 // { int sigpending(sigset_t *set); }
--	SYS_SIGTIMEDWAIT           = 345 // { int sigtimedwait(const sigset_t *set, \
--	SYS_SIGWAITINFO            = 346 // { int sigwaitinfo(const sigset_t *set, \
--	SYS___ACL_GET_FILE         = 347 // { int __acl_get_file(const char *path, \
--	SYS___ACL_SET_FILE         = 348 // { int __acl_set_file(const char *path, \
--	SYS___ACL_GET_FD           = 349 // { int __acl_get_fd(int filedes, \
--	SYS___ACL_SET_FD           = 350 // { int __acl_set_fd(int filedes, \
--	SYS___ACL_DELETE_FILE      = 351 // { int __acl_delete_file(const char *path, \
--	SYS___ACL_DELETE_FD        = 352 // { int __acl_delete_fd(int filedes, \
--	SYS___ACL_ACLCHECK_FILE    = 353 // { int __acl_aclcheck_file(const char *path, \
--	SYS___ACL_ACLCHECK_FD      = 354 // { int __acl_aclcheck_fd(int filedes, \
--	SYS_EXTATTRCTL             = 355 // { int extattrctl(const char *path, int cmd, \
--	SYS_EXTATTR_SET_FILE       = 356 // { ssize_t extattr_set_file( \
--	SYS_EXTATTR_GET_FILE       = 357 // { ssize_t extattr_get_file( \
--	SYS_EXTATTR_DELETE_FILE    = 358 // { int extattr_delete_file(const char *path, \
--	SYS_GETRESUID              = 360 // { int getresuid(uid_t *ruid, uid_t *euid, \
--	SYS_GETRESGID              = 361 // { int getresgid(gid_t *rgid, gid_t *egid, \
--	SYS_KQUEUE                 = 362 // { int kqueue(void); }
--	SYS_KEVENT                 = 363 // { int kevent(int fd, \
--	SYS_EXTATTR_SET_FD         = 371 // { ssize_t extattr_set_fd(int fd, \
--	SYS_EXTATTR_GET_FD         = 372 // { ssize_t extattr_get_fd(int fd, \
--	SYS_EXTATTR_DELETE_FD      = 373 // { int extattr_delete_fd(int fd, \
--	SYS___SETUGID              = 374 // { int __setugid(int flag); }
--	SYS_EACCESS                = 376 // { int eaccess(char *path, int amode); }
--	SYS_NMOUNT                 = 378 // { int nmount(struct iovec *iovp, \
--	SYS___MAC_GET_PROC         = 384 // { int __mac_get_proc(struct mac *mac_p); }
--	SYS___MAC_SET_PROC         = 385 // { int __mac_set_proc(struct mac *mac_p); }
--	SYS___MAC_GET_FD           = 386 // { int __mac_get_fd(int fd, \
--	SYS___MAC_GET_FILE         = 387 // { int __mac_get_file(const char *path_p, \
--	SYS___MAC_SET_FD           = 388 // { int __mac_set_fd(int fd, \
--	SYS___MAC_SET_FILE         = 389 // { int __mac_set_file(const char *path_p, \
--	SYS_KENV                   = 390 // { int kenv(int what, const char *name, \
--	SYS_LCHFLAGS               = 391 // { int lchflags(const char *path, \
--	SYS_UUIDGEN                = 392 // { int uuidgen(struct uuid *store, \
--	SYS_SENDFILE               = 393 // { int sendfile(int fd, int s, off_t offset, \
--	SYS_MAC_SYSCALL            = 394 // { int mac_syscall(const char *policy, \
--	SYS_GETFSSTAT              = 395 // { int getfsstat(struct statfs *buf, \
--	SYS_STATFS                 = 396 // { int statfs(char *path, \
--	SYS_FSTATFS                = 397 // { int fstatfs(int fd, struct statfs *buf); }
--	SYS_FHSTATFS               = 398 // { int fhstatfs(const struct fhandle *u_fhp, \
--	SYS___MAC_GET_PID          = 409 // { int __mac_get_pid(pid_t pid, \
--	SYS___MAC_GET_LINK         = 410 // { int __mac_get_link(const char *path_p, \
--	SYS___MAC_SET_LINK         = 411 // { int __mac_set_link(const char *path_p, \
--	SYS_EXTATTR_SET_LINK       = 412 // { ssize_t extattr_set_link( \
--	SYS_EXTATTR_GET_LINK       = 413 // { ssize_t extattr_get_link( \
--	SYS_EXTATTR_DELETE_LINK    = 414 // { int extattr_delete_link( \
--	SYS___MAC_EXECVE           = 415 // { int __mac_execve(char *fname, char **argv, \
--	SYS_SIGACTION              = 416 // { int sigaction(int sig, \
--	SYS_SIGRETURN              = 417 // { int sigreturn( \
--	SYS_GETCONTEXT             = 421 // { int getcontext(struct __ucontext *ucp); }
--	SYS_SETCONTEXT             = 422 // { int setcontext( \
--	SYS_SWAPCONTEXT            = 423 // { int swapcontext(struct __ucontext *oucp, \
--	SYS_SWAPOFF                = 424 // { int swapoff(const char *name); }
--	SYS___ACL_GET_LINK         = 425 // { int __acl_get_link(const char *path, \
--	SYS___ACL_SET_LINK         = 426 // { int __acl_set_link(const char *path, \
--	SYS___ACL_DELETE_LINK      = 427 // { int __acl_delete_link(const char *path, \
--	SYS___ACL_ACLCHECK_LINK    = 428 // { int __acl_aclcheck_link(const char *path, \
--	SYS_SIGWAIT                = 429 // { int sigwait(const sigset_t *set, \
--	SYS_THR_CREATE             = 430 // { int thr_create(ucontext_t *ctx, long *id, \
--	SYS_THR_EXIT               = 431 // { void thr_exit(long *state); }
--	SYS_THR_SELF               = 432 // { int thr_self(long *id); }
--	SYS_THR_KILL               = 433 // { int thr_kill(long id, int sig); }
--	SYS__UMTX_LOCK             = 434 // { int _umtx_lock(struct umtx *umtx); }
--	SYS__UMTX_UNLOCK           = 435 // { int _umtx_unlock(struct umtx *umtx); }
--	SYS_JAIL_ATTACH            = 436 // { int jail_attach(int jid); }
--	SYS_EXTATTR_LIST_FD        = 437 // { ssize_t extattr_list_fd(int fd, \
--	SYS_EXTATTR_LIST_FILE      = 438 // { ssize_t extattr_list_file( \
--	SYS_EXTATTR_LIST_LINK      = 439 // { ssize_t extattr_list_link( \
--	SYS_THR_SUSPEND            = 442 // { int thr_suspend( \
--	SYS_THR_WAKE               = 443 // { int thr_wake(long id); }
--	SYS_KLDUNLOADF             = 444 // { int kldunloadf(int fileid, int flags); }
--	SYS_AUDIT                  = 445 // { int audit(const void *record, \
--	SYS_AUDITON                = 446 // { int auditon(int cmd, void *data, \
--	SYS_GETAUID                = 447 // { int getauid(uid_t *auid); }
--	SYS_SETAUID                = 448 // { int setauid(uid_t *auid); }
--	SYS_GETAUDIT               = 449 // { int getaudit(struct auditinfo *auditinfo); }
--	SYS_SETAUDIT               = 450 // { int setaudit(struct auditinfo *auditinfo); }
--	SYS_GETAUDIT_ADDR          = 451 // { int getaudit_addr( \
--	SYS_SETAUDIT_ADDR          = 452 // { int setaudit_addr( \
--	SYS_AUDITCTL               = 453 // { int auditctl(char *path); }
--	SYS__UMTX_OP               = 454 // { int _umtx_op(void *obj, int op, \
--	SYS_THR_NEW                = 455 // { int thr_new(struct thr_param *param, \
--	SYS_SIGQUEUE               = 456 // { int sigqueue(pid_t pid, int signum, void *value); }
--	SYS_ABORT2                 = 463 // { int abort2(const char *why, int nargs, void **args); }
--	SYS_THR_SET_NAME           = 464 // { int thr_set_name(long id, const char *name); }
--	SYS_RTPRIO_THREAD          = 466 // { int rtprio_thread(int function, \
--	SYS_PREAD                  = 475 // { ssize_t pread(int fd, void *buf, \
--	SYS_PWRITE                 = 476 // { ssize_t pwrite(int fd, const void *buf, \
--	SYS_MMAP                   = 477 // { caddr_t mmap(caddr_t addr, size_t len, \
--	SYS_LSEEK                  = 478 // { off_t lseek(int fd, off_t offset, \
--	SYS_TRUNCATE               = 479 // { int truncate(char *path, off_t length); }
--	SYS_FTRUNCATE              = 480 // { int ftruncate(int fd, off_t length); }
--	SYS_THR_KILL2              = 481 // { int thr_kill2(pid_t pid, long id, int sig); }
--	SYS_SHM_OPEN               = 482 // { int shm_open(const char *path, int flags, \
--	SYS_SHM_UNLINK             = 483 // { int shm_unlink(const char *path); }
--	SYS_CPUSET                 = 484 // { int cpuset(cpusetid_t *setid); }
--	SYS_CPUSET_SETID           = 485 // { int cpuset_setid(cpuwhich_t which, id_t id, \
--	SYS_CPUSET_GETID           = 486 // { int cpuset_getid(cpulevel_t level, \
--	SYS_CPUSET_GETAFFINITY     = 487 // { int cpuset_getaffinity(cpulevel_t level, \
--	SYS_CPUSET_SETAFFINITY     = 488 // { int cpuset_setaffinity(cpulevel_t level, \
--	SYS_FACCESSAT              = 489 // { int faccessat(int fd, char *path, int amode, \
--	SYS_FCHMODAT               = 490 // { int fchmodat(int fd, char *path, mode_t mode, \
--	SYS_FCHOWNAT               = 491 // { int fchownat(int fd, char *path, uid_t uid, \
--	SYS_FEXECVE                = 492 // { int fexecve(int fd, char **argv, \
--	SYS_FSTATAT                = 493 // { int fstatat(int fd, char *path, \
--	SYS_FUTIMESAT              = 494 // { int futimesat(int fd, char *path, \
--	SYS_LINKAT                 = 495 // { int linkat(int fd1, char *path1, int fd2, \
--	SYS_MKDIRAT                = 496 // { int mkdirat(int fd, char *path, mode_t mode); }
--	SYS_MKFIFOAT               = 497 // { int mkfifoat(int fd, char *path, mode_t mode); }
--	SYS_MKNODAT                = 498 // { int mknodat(int fd, char *path, mode_t mode, \
--	SYS_OPENAT                 = 499 // { int openat(int fd, char *path, int flag, \
--	SYS_READLINKAT             = 500 // { int readlinkat(int fd, char *path, char *buf, \
--	SYS_RENAMEAT               = 501 // { int renameat(int oldfd, char *old, int newfd, \
--	SYS_SYMLINKAT              = 502 // { int symlinkat(char *path1, int fd, \
--	SYS_UNLINKAT               = 503 // { int unlinkat(int fd, char *path, int flag); }
--	SYS_POSIX_OPENPT           = 504 // { int posix_openpt(int flags); }
--	SYS_JAIL_GET               = 506 // { int jail_get(struct iovec *iovp, \
--	SYS_JAIL_SET               = 507 // { int jail_set(struct iovec *iovp, \
--	SYS_JAIL_REMOVE            = 508 // { int jail_remove(int jid); }
--	SYS_CLOSEFROM              = 509 // { int closefrom(int lowfd); }
--	SYS_LPATHCONF              = 513 // { int lpathconf(char *path, int name); }
--	SYS___CAP_RIGHTS_GET       = 515 // { int __cap_rights_get(int version, \
--	SYS_CAP_ENTER              = 516 // { int cap_enter(void); }
--	SYS_CAP_GETMODE            = 517 // { int cap_getmode(u_int *modep); }
--	SYS_PDFORK                 = 518 // { int pdfork(int *fdp, int flags); }
--	SYS_PDKILL                 = 519 // { int pdkill(int fd, int signum); }
--	SYS_PDGETPID               = 520 // { int pdgetpid(int fd, pid_t *pidp); }
--	SYS_PSELECT                = 522 // { int pselect(int nd, fd_set *in, \
--	SYS_GETLOGINCLASS          = 523 // { int getloginclass(char *namebuf, \
--	SYS_SETLOGINCLASS          = 524 // { int setloginclass(const char *namebuf); }
--	SYS_RCTL_GET_RACCT         = 525 // { int rctl_get_racct(const void *inbufp, \
--	SYS_RCTL_GET_RULES         = 526 // { int rctl_get_rules(const void *inbufp, \
--	SYS_RCTL_GET_LIMITS        = 527 // { int rctl_get_limits(const void *inbufp, \
--	SYS_RCTL_ADD_RULE          = 528 // { int rctl_add_rule(const void *inbufp, \
--	SYS_RCTL_REMOVE_RULE       = 529 // { int rctl_remove_rule(const void *inbufp, \
--	SYS_POSIX_FALLOCATE        = 530 // { int posix_fallocate(int fd, \
--	SYS_POSIX_FADVISE          = 531 // { int posix_fadvise(int fd, off_t offset, \
--	SYS_WAIT6                  = 532 // { int wait6(idtype_t idtype, id_t id, \
--	SYS_CAP_RIGHTS_LIMIT       = 533 // { int cap_rights_limit(int fd, \
--	SYS_CAP_IOCTLS_LIMIT       = 534 // { int cap_ioctls_limit(int fd, \
--	SYS_CAP_IOCTLS_GET         = 535 // { ssize_t cap_ioctls_get(int fd, \
--	SYS_CAP_FCNTLS_LIMIT       = 536 // { int cap_fcntls_limit(int fd, \
--	SYS_CAP_FCNTLS_GET         = 537 // { int cap_fcntls_get(int fd, \
--	SYS_BINDAT                 = 538 // { int bindat(int fd, int s, caddr_t name, \
--	SYS_CONNECTAT              = 539 // { int connectat(int fd, int s, caddr_t name, \
--	SYS_CHFLAGSAT              = 540 // { int chflagsat(int fd, const char *path, \
--	SYS_ACCEPT4                = 541 // { int accept4(int s, \
--	SYS_PIPE2                  = 542 // { int pipe2(int *fildes, int flags); }
--	SYS_PROCCTL                = 544 // { int procctl(idtype_t idtype, id_t id, \
--	SYS_PPOLL                  = 545 // { int ppoll(struct pollfd *fds, u_int nfds, \
--	SYS_FUTIMENS               = 546 // { int futimens(int fd, \
--	SYS_UTIMENSAT              = 547 // { int utimensat(int fd, \
-+	SYS_EXIT                     = 1   // { void sys_exit(int rval); } exit sys_exit_args void
-+	SYS_FORK                     = 2   // { int fork(void); }
-+	SYS_READ                     = 3   // { ssize_t read(int fd, void *buf, size_t nbyte); }
-+	SYS_WRITE                    = 4   // { ssize_t write(int fd, const void *buf, size_t nbyte); }
-+	SYS_OPEN                     = 5   // { int open(char *path, int flags, int mode); }
-+	SYS_CLOSE                    = 6   // { int close(int fd); }
-+	SYS_WAIT4                    = 7   // { int wait4(int pid, int *status, int options, struct rusage *rusage); }
-+	SYS_LINK                     = 9   // { int link(char *path, char *link); }
-+	SYS_UNLINK                   = 10  // { int unlink(char *path); }
-+	SYS_CHDIR                    = 12  // { int chdir(char *path); }
-+	SYS_FCHDIR                   = 13  // { int fchdir(int fd); }
-+	SYS_MKNOD                    = 14  // { int mknod(char *path, int mode, int dev); }
-+	SYS_CHMOD                    = 15  // { int chmod(char *path, int mode); }
-+	SYS_CHOWN                    = 16  // { int chown(char *path, int uid, int gid); }
-+	SYS_OBREAK                   = 17  // { int obreak(char *nsize); } break obreak_args int
-+	SYS_GETPID                   = 20  // { pid_t getpid(void); }
-+	SYS_MOUNT                    = 21  // { int mount(char *type, char *path, int flags, caddr_t data); }
-+	SYS_UNMOUNT                  = 22  // { int unmount(char *path, int flags); }
-+	SYS_SETUID                   = 23  // { int setuid(uid_t uid); }
-+	SYS_GETUID                   = 24  // { uid_t getuid(void); }
-+	SYS_GETEUID                  = 25  // { uid_t geteuid(void); }
-+	SYS_PTRACE                   = 26  // { int ptrace(int req, pid_t pid, caddr_t addr, int data); }
-+	SYS_RECVMSG                  = 27  // { int recvmsg(int s, struct msghdr *msg, int flags); }
-+	SYS_SENDMSG                  = 28  // { int sendmsg(int s, struct msghdr *msg, int flags); }
-+	SYS_RECVFROM                 = 29  // { int recvfrom(int s, caddr_t buf, size_t len, int flags, struct sockaddr * __restrict from, __socklen_t * __restrict fromlenaddr); }
-+	SYS_ACCEPT                   = 30  // { int accept(int s, struct sockaddr * __restrict name, __socklen_t * __restrict anamelen); }
-+	SYS_GETPEERNAME              = 31  // { int getpeername(int fdes, struct sockaddr * __restrict asa, __socklen_t * __restrict alen); }
-+	SYS_GETSOCKNAME              = 32  // { int getsockname(int fdes, struct sockaddr * __restrict asa, __socklen_t * __restrict alen); }
-+	SYS_ACCESS                   = 33  // { int access(char *path, int amode); }
-+	SYS_CHFLAGS                  = 34  // { int chflags(const char *path, u_long flags); }
-+	SYS_FCHFLAGS                 = 35  // { int fchflags(int fd, u_long flags); }
-+	SYS_SYNC                     = 36  // { int sync(void); }
-+	SYS_KILL                     = 37  // { int kill(int pid, int signum); }
-+	SYS_GETPPID                  = 39  // { pid_t getppid(void); }
-+	SYS_DUP                      = 41  // { int dup(u_int fd); }
-+	SYS_PIPE                     = 42  // { int pipe(void); }
-+	SYS_GETEGID                  = 43  // { gid_t getegid(void); }
-+	SYS_PROFIL                   = 44  // { int profil(caddr_t samples, size_t size, size_t offset, u_int scale); }
-+	SYS_KTRACE                   = 45  // { int ktrace(const char *fname, int ops, int facs, int pid); }
-+	SYS_GETGID                   = 47  // { gid_t getgid(void); }
-+	SYS_GETLOGIN                 = 49  // { int getlogin(char *namebuf, u_int namelen); }
-+	SYS_SETLOGIN                 = 50  // { int setlogin(char *namebuf); }
-+	SYS_ACCT                     = 51  // { int acct(char *path); }
-+	SYS_SIGALTSTACK              = 53  // { int sigaltstack(stack_t *ss, stack_t *oss); }
-+	SYS_IOCTL                    = 54  // { int ioctl(int fd, u_long com, caddr_t data); }
-+	SYS_REBOOT                   = 55  // { int reboot(int opt); }
-+	SYS_REVOKE                   = 56  // { int revoke(char *path); }
-+	SYS_SYMLINK                  = 57  // { int symlink(char *path, char *link); }
-+	SYS_READLINK                 = 58  // { ssize_t readlink(char *path, char *buf, size_t count); }
-+	SYS_EXECVE                   = 59  // { int execve(char *fname, char **argv, char **envv); }
-+	SYS_UMASK                    = 60  // { int umask(int newmask); } umask umask_args int
-+	SYS_CHROOT                   = 61  // { int chroot(char *path); }
-+	SYS_MSYNC                    = 65  // { int msync(void *addr, size_t len, int flags); }
-+	SYS_VFORK                    = 66  // { int vfork(void); }
-+	SYS_SBRK                     = 69  // { int sbrk(int incr); }
-+	SYS_SSTK                     = 70  // { int sstk(int incr); }
-+	SYS_OVADVISE                 = 72  // { int ovadvise(int anom); } vadvise ovadvise_args int
-+	SYS_MUNMAP                   = 73  // { int munmap(void *addr, size_t len); }
-+	SYS_MPROTECT                 = 74  // { int mprotect(const void *addr, size_t len, int prot); }
-+	SYS_MADVISE                  = 75  // { int madvise(void *addr, size_t len, int behav); }
-+	SYS_MINCORE                  = 78  // { int mincore(const void *addr, size_t len, char *vec); }
-+	SYS_GETGROUPS                = 79  // { int getgroups(u_int gidsetsize, gid_t *gidset); }
-+	SYS_SETGROUPS                = 80  // { int setgroups(u_int gidsetsize, gid_t *gidset); }
-+	SYS_GETPGRP                  = 81  // { int getpgrp(void); }
-+	SYS_SETPGID                  = 82  // { int setpgid(int pid, int pgid); }
-+	SYS_SETITIMER                = 83  // { int setitimer(u_int which, struct itimerval *itv, struct itimerval *oitv); }
-+	SYS_SWAPON                   = 85  // { int swapon(char *name); }
-+	SYS_GETITIMER                = 86  // { int getitimer(u_int which, struct itimerval *itv); }
-+	SYS_GETDTABLESIZE            = 89  // { int getdtablesize(void); }
-+	SYS_DUP2                     = 90  // { int dup2(u_int from, u_int to); }
-+	SYS_FCNTL                    = 92  // { int fcntl(int fd, int cmd, long arg); }
-+	SYS_SELECT                   = 93  // { int select(int nd, fd_set *in, fd_set *ou, fd_set *ex, struct timeval *tv); }
-+	SYS_FSYNC                    = 95  // { int fsync(int fd); }
-+	SYS_SETPRIORITY              = 96  // { int setpriority(int which, int who, int prio); }
-+	SYS_SOCKET                   = 97  // { int socket(int domain, int type, int protocol); }
-+	SYS_CONNECT                  = 98  // { int connect(int s, caddr_t name, int namelen); }
-+	SYS_GETPRIORITY              = 100 // { int getpriority(int which, int who); }
-+	SYS_BIND                     = 104 // { int bind(int s, caddr_t name, int namelen); }
-+	SYS_SETSOCKOPT               = 105 // { int setsockopt(int s, int level, int name, caddr_t val, int valsize); }
-+	SYS_LISTEN                   = 106 // { int listen(int s, int backlog); }
-+	SYS_GETTIMEOFDAY             = 116 // { int gettimeofday(struct timeval *tp, struct timezone *tzp); }
-+	SYS_GETRUSAGE                = 117 // { int getrusage(int who, struct rusage *rusage); }
-+	SYS_GETSOCKOPT               = 118 // { int getsockopt(int s, int level, int name, caddr_t val, int *avalsize); }
-+	SYS_READV                    = 120 // { int readv(int fd, struct iovec *iovp, u_int iovcnt); }
-+	SYS_WRITEV                   = 121 // { int writev(int fd, struct iovec *iovp, u_int iovcnt); }
-+	SYS_SETTIMEOFDAY             = 122 // { int settimeofday(struct timeval *tv, struct timezone *tzp); }
-+	SYS_FCHOWN                   = 123 // { int fchown(int fd, int uid, int gid); }
-+	SYS_FCHMOD                   = 124 // { int fchmod(int fd, int mode); }
-+	SYS_SETREUID                 = 126 // { int setreuid(int ruid, int euid); }
-+	SYS_SETREGID                 = 127 // { int setregid(int rgid, int egid); }
-+	SYS_RENAME                   = 128 // { int rename(char *from, char *to); }
-+	SYS_FLOCK                    = 131 // { int flock(int fd, int how); }
-+	SYS_MKFIFO                   = 132 // { int mkfifo(char *path, int mode); }
-+	SYS_SENDTO                   = 133 // { int sendto(int s, caddr_t buf, size_t len, int flags, caddr_t to, int tolen); }
-+	SYS_SHUTDOWN                 = 134 // { int shutdown(int s, int how); }
-+	SYS_SOCKETPAIR               = 135 // { int socketpair(int domain, int type, int protocol, int *rsv); }
-+	SYS_MKDIR                    = 136 // { int mkdir(char *path, int mode); }
-+	SYS_RMDIR                    = 137 // { int rmdir(char *path); }
-+	SYS_UTIMES                   = 138 // { int utimes(char *path, struct timeval *tptr); }
-+	SYS_ADJTIME                  = 140 // { int adjtime(struct timeval *delta, struct timeval *olddelta); }
-+	SYS_SETSID                   = 147 // { int setsid(void); }
-+	SYS_QUOTACTL                 = 148 // { int quotactl(char *path, int cmd, int uid, caddr_t arg); }
-+	SYS_NLM_SYSCALL              = 154 // { int nlm_syscall(int debug_level, int grace_period, int addr_count, char **addrs); }
-+	SYS_NFSSVC                   = 155 // { int nfssvc(int flag, caddr_t argp); }
-+	SYS_LGETFH                   = 160 // { int lgetfh(char *fname, struct fhandle *fhp); }
-+	SYS_GETFH                    = 161 // { int getfh(char *fname, struct fhandle *fhp); }
-+	SYS_SYSARCH                  = 165 // { int sysarch(int op, char *parms); }
-+	SYS_RTPRIO                   = 166 // { int rtprio(int function, pid_t pid, struct rtprio *rtp); }
-+	SYS_SEMSYS                   = 169 // { int semsys(int which, int a2, int a3, int a4, int a5); }
-+	SYS_MSGSYS                   = 170 // { int msgsys(int which, int a2, int a3, int a4, int a5, int a6); }
-+	SYS_SHMSYS                   = 171 // { int shmsys(int which, int a2, int a3, int a4); }
-+	SYS_SETFIB                   = 175 // { int setfib(int fibnum); }
-+	SYS_NTP_ADJTIME              = 176 // { int ntp_adjtime(struct timex *tp); }
-+	SYS_SETGID                   = 181 // { int setgid(gid_t gid); }
-+	SYS_SETEGID                  = 182 // { int setegid(gid_t egid); }
-+	SYS_SETEUID                  = 183 // { int seteuid(uid_t euid); }
-+	SYS_STAT                     = 188 // { int stat(char *path, struct stat *ub); }
-+	SYS_FSTAT                    = 189 // { int fstat(int fd, struct stat *sb); }
-+	SYS_LSTAT                    = 190 // { int lstat(char *path, struct stat *ub); }
-+	SYS_PATHCONF                 = 191 // { int pathconf(char *path, int name); }
-+	SYS_FPATHCONF                = 192 // { int fpathconf(int fd, int name); }
-+	SYS_GETRLIMIT                = 194 // { int getrlimit(u_int which, struct rlimit *rlp); } getrlimit __getrlimit_args int
-+	SYS_SETRLIMIT                = 195 // { int setrlimit(u_int which, struct rlimit *rlp); } setrlimit __setrlimit_args int
-+	SYS_GETDIRENTRIES            = 196 // { int getdirentries(int fd, char *buf, u_int count, long *basep); }
-+	SYS___SYSCTL                 = 202 // { int __sysctl(int *name, u_int namelen, void *old, size_t *oldlenp, void *new, size_t newlen); } __sysctl sysctl_args int
-+	SYS_MLOCK                    = 203 // { int mlock(const void *addr, size_t len); }
-+	SYS_MUNLOCK                  = 204 // { int munlock(const void *addr, size_t len); }
-+	SYS_UNDELETE                 = 205 // { int undelete(char *path); }
-+	SYS_FUTIMES                  = 206 // { int futimes(int fd, struct timeval *tptr); }
-+	SYS_GETPGID                  = 207 // { int getpgid(pid_t pid); }
-+	SYS_POLL                     = 209 // { int poll(struct pollfd *fds, u_int nfds, int timeout); }
-+	SYS_SEMGET                   = 221 // { int semget(key_t key, int nsems, int semflg); }
-+	SYS_SEMOP                    = 222 // { int semop(int semid, struct sembuf *sops, size_t nsops); }
-+	SYS_MSGGET                   = 225 // { int msgget(key_t key, int msgflg); }
-+	SYS_MSGSND                   = 226 // { int msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg); }
-+	SYS_MSGRCV                   = 227 // { int msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg); }
-+	SYS_SHMAT                    = 228 // { int shmat(int shmid, const void *shmaddr, int shmflg); }
-+	SYS_SHMDT                    = 230 // { int shmdt(const void *shmaddr); }
-+	SYS_SHMGET                   = 231 // { int shmget(key_t key, size_t size, int shmflg); }
-+	SYS_CLOCK_GETTIME            = 232 // { int clock_gettime(clockid_t clock_id, struct timespec *tp); }
-+	SYS_CLOCK_SETTIME            = 233 // { int clock_settime( clockid_t clock_id, const struct timespec *tp); }
-+	SYS_CLOCK_GETRES             = 234 // { int clock_getres(clockid_t clock_id, struct timespec *tp); }
-+	SYS_KTIMER_CREATE            = 235 // { int ktimer_create(clockid_t clock_id, struct sigevent *evp, int *timerid); }
-+	SYS_KTIMER_DELETE            = 236 // { int ktimer_delete(int timerid); }
-+	SYS_KTIMER_SETTIME           = 237 // { int ktimer_settime(int timerid, int flags, const struct itimerspec *value, struct itimerspec *ovalue); }
-+	SYS_KTIMER_GETTIME           = 238 // { int ktimer_gettime(int timerid, struct itimerspec *value); }
-+	SYS_KTIMER_GETOVERRUN        = 239 // { int ktimer_getoverrun(int timerid); }
-+	SYS_NANOSLEEP                = 240 // { int nanosleep(const struct timespec *rqtp, struct timespec *rmtp); }
-+	SYS_FFCLOCK_GETCOUNTER       = 241 // { int ffclock_getcounter(ffcounter *ffcount); }
-+	SYS_FFCLOCK_SETESTIMATE      = 242 // { int ffclock_setestimate( struct ffclock_estimate *cest); }
-+	SYS_FFCLOCK_GETESTIMATE      = 243 // { int ffclock_getestimate( struct ffclock_estimate *cest); }
-+	SYS_CLOCK_NANOSLEEP          = 244 // { int clock_nanosleep(clockid_t clock_id, int flags, const struct timespec *rqtp, struct timespec *rmtp); }
-+	SYS_CLOCK_GETCPUCLOCKID2     = 247 // { int clock_getcpuclockid2(id_t id,int which, clockid_t *clock_id); }
-+	SYS_NTP_GETTIME              = 248 // { int ntp_gettime(struct ntptimeval *ntvp); }
-+	SYS_MINHERIT                 = 250 // { int minherit(void *addr, size_t len, int inherit); }
-+	SYS_RFORK                    = 251 // { int rfork(int flags); }
-+	SYS_OPENBSD_POLL             = 252 // { int openbsd_poll(struct pollfd *fds, u_int nfds, int timeout); }
-+	SYS_ISSETUGID                = 253 // { int issetugid(void); }
-+	SYS_LCHOWN                   = 254 // { int lchown(char *path, int uid, int gid); }
-+	SYS_AIO_READ                 = 255 // { int aio_read(struct aiocb *aiocbp); }
-+	SYS_AIO_WRITE                = 256 // { int aio_write(struct aiocb *aiocbp); }
-+	SYS_LIO_LISTIO               = 257 // { int lio_listio(int mode, struct aiocb * const *acb_list, int nent, struct sigevent *sig); }
-+	SYS_GETDENTS                 = 272 // { int getdents(int fd, char *buf, size_t count); }
-+	SYS_LCHMOD                   = 274 // { int lchmod(char *path, mode_t mode); }
-+	SYS_LUTIMES                  = 276 // { int lutimes(char *path, struct timeval *tptr); }
-+	SYS_NSTAT                    = 278 // { int nstat(char *path, struct nstat *ub); }
-+	SYS_NFSTAT                   = 279 // { int nfstat(int fd, struct nstat *sb); }
-+	SYS_NLSTAT                   = 280 // { int nlstat(char *path, struct nstat *ub); }
-+	SYS_PREADV                   = 289 // { ssize_t preadv(int fd, struct iovec *iovp, u_int iovcnt, off_t offset); }
-+	SYS_PWRITEV                  = 290 // { ssize_t pwritev(int fd, struct iovec *iovp, u_int iovcnt, off_t offset); }
-+	SYS_FHOPEN                   = 298 // { int fhopen(const struct fhandle *u_fhp, int flags); }
-+	SYS_FHSTAT                   = 299 // { int fhstat(const struct fhandle *u_fhp, struct stat *sb); }
-+	SYS_MODNEXT                  = 300 // { int modnext(int modid); }
-+	SYS_MODSTAT                  = 301 // { int modstat(int modid, struct module_stat *stat); }
-+	SYS_MODFNEXT                 = 302 // { int modfnext(int modid); }
-+	SYS_MODFIND                  = 303 // { int modfind(const char *name); }
-+	SYS_KLDLOAD                  = 304 // { int kldload(const char *file); }
-+	SYS_KLDUNLOAD                = 305 // { int kldunload(int fileid); }
-+	SYS_KLDFIND                  = 306 // { int kldfind(const char *file); }
-+	SYS_KLDNEXT                  = 307 // { int kldnext(int fileid); }
-+	SYS_KLDSTAT                  = 308 // { int kldstat(int fileid, struct kld_file_stat* stat); }
-+	SYS_KLDFIRSTMOD              = 309 // { int kldfirstmod(int fileid); }
-+	SYS_GETSID                   = 310 // { int getsid(pid_t pid); }
-+	SYS_SETRESUID                = 311 // { int setresuid(uid_t ruid, uid_t euid, uid_t suid); }
-+	SYS_SETRESGID                = 312 // { int setresgid(gid_t rgid, gid_t egid, gid_t sgid); }
-+	SYS_AIO_RETURN               = 314 // { ssize_t aio_return(struct aiocb *aiocbp); }
-+	SYS_AIO_SUSPEND              = 315 // { int aio_suspend( struct aiocb * const * aiocbp, int nent, const struct timespec *timeout); }
-+	SYS_AIO_CANCEL               = 316 // { int aio_cancel(int fd, struct aiocb *aiocbp); }
-+	SYS_AIO_ERROR                = 317 // { int aio_error(struct aiocb *aiocbp); }
-+	SYS_YIELD                    = 321 // { int yield(void); }
-+	SYS_MLOCKALL                 = 324 // { int mlockall(int how); }
-+	SYS_MUNLOCKALL               = 325 // { int munlockall(void); }
-+	SYS___GETCWD                 = 326 // { int __getcwd(char *buf, u_int buflen); }
-+	SYS_SCHED_SETPARAM           = 327 // { int sched_setparam (pid_t pid, const struct sched_param *param); }
-+	SYS_SCHED_GETPARAM           = 328 // { int sched_getparam (pid_t pid, struct sched_param *param); }
-+	SYS_SCHED_SETSCHEDULER       = 329 // { int sched_setscheduler (pid_t pid, int policy, const struct sched_param *param); }
-+	SYS_SCHED_GETSCHEDULER       = 330 // { int sched_getscheduler (pid_t pid); }
-+	SYS_SCHED_YIELD              = 331 // { int sched_yield (void); }
-+	SYS_SCHED_GET_PRIORITY_MAX   = 332 // { int sched_get_priority_max (int policy); }
-+	SYS_SCHED_GET_PRIORITY_MIN   = 333 // { int sched_get_priority_min (int policy); }
-+	SYS_SCHED_RR_GET_INTERVAL    = 334 // { int sched_rr_get_interval (pid_t pid, struct timespec *interval); }
-+	SYS_UTRACE                   = 335 // { int utrace(const void *addr, size_t len); }
-+	SYS_KLDSYM                   = 337 // { int kldsym(int fileid, int cmd, void *data); }
-+	SYS_JAIL                     = 338 // { int jail(struct jail *jail); }
-+	SYS_SIGPROCMASK              = 340 // { int sigprocmask(int how, const sigset_t *set, sigset_t *oset); }
-+	SYS_SIGSUSPEND               = 341 // { int sigsuspend(const sigset_t *sigmask); }
-+	SYS_SIGPENDING               = 343 // { int sigpending(sigset_t *set); }
-+	SYS_SIGTIMEDWAIT             = 345 // { int sigtimedwait(const sigset_t *set, siginfo_t *info, const struct timespec *timeout); }
-+	SYS_SIGWAITINFO              = 346 // { int sigwaitinfo(const sigset_t *set, siginfo_t *info); }
-+	SYS___ACL_GET_FILE           = 347 // { int __acl_get_file(const char *path, acl_type_t type, struct acl *aclp); }
-+	SYS___ACL_SET_FILE           = 348 // { int __acl_set_file(const char *path, acl_type_t type, struct acl *aclp); }
-+	SYS___ACL_GET_FD             = 349 // { int __acl_get_fd(int filedes, acl_type_t type, struct acl *aclp); }
-+	SYS___ACL_SET_FD             = 350 // { int __acl_set_fd(int filedes, acl_type_t type, struct acl *aclp); }
-+	SYS___ACL_DELETE_FILE        = 351 // { int __acl_delete_file(const char *path, acl_type_t type); }
-+	SYS___ACL_DELETE_FD          = 352 // { int __acl_delete_fd(int filedes, acl_type_t type); }
-+	SYS___ACL_ACLCHECK_FILE      = 353 // { int __acl_aclcheck_file(const char *path, acl_type_t type, struct acl *aclp); }
-+	SYS___ACL_ACLCHECK_FD        = 354 // { int __acl_aclcheck_fd(int filedes, acl_type_t type, struct acl *aclp); }
-+	SYS_EXTATTRCTL               = 355 // { int extattrctl(const char *path, int cmd, const char *filename, int attrnamespace, const char *attrname); }
-+	SYS_EXTATTR_SET_FILE         = 356 // { ssize_t extattr_set_file( const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); }
-+	SYS_EXTATTR_GET_FILE         = 357 // { ssize_t extattr_get_file( const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); }
-+	SYS_EXTATTR_DELETE_FILE      = 358 // { int extattr_delete_file(const char *path, int attrnamespace, const char *attrname); }
-+	SYS_AIO_WAITCOMPLETE         = 359 // { ssize_t aio_waitcomplete( struct aiocb **aiocbp, struct timespec *timeout); }
-+	SYS_GETRESUID                = 360 // { int getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); }
-+	SYS_GETRESGID                = 361 // { int getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); }
-+	SYS_KQUEUE                   = 362 // { int kqueue(void); }
-+	SYS_KEVENT                   = 363 // { int kevent(int fd, struct kevent *changelist, int nchanges, struct kevent *eventlist, int nevents, const struct timespec *timeout); }
-+	SYS_EXTATTR_SET_FD           = 371 // { ssize_t extattr_set_fd(int fd, int attrnamespace, const char *attrname, void *data, size_t nbytes); }
-+	SYS_EXTATTR_GET_FD           = 372 // { ssize_t extattr_get_fd(int fd, int attrnamespace, const char *attrname, void *data, size_t nbytes); }
-+	SYS_EXTATTR_DELETE_FD        = 373 // { int extattr_delete_fd(int fd, int attrnamespace, const char *attrname); }
-+	SYS___SETUGID                = 374 // { int __setugid(int flag); }
-+	SYS_EACCESS                  = 376 // { int eaccess(char *path, int amode); }
-+	SYS_NMOUNT                   = 378 // { int nmount(struct iovec *iovp, unsigned int iovcnt, int flags); }
-+	SYS___MAC_GET_PROC           = 384 // { int __mac_get_proc(struct mac *mac_p); }
-+	SYS___MAC_SET_PROC           = 385 // { int __mac_set_proc(struct mac *mac_p); }
-+	SYS___MAC_GET_FD             = 386 // { int __mac_get_fd(int fd, struct mac *mac_p); }
-+	SYS___MAC_GET_FILE           = 387 // { int __mac_get_file(const char *path_p, struct mac *mac_p); }
-+	SYS___MAC_SET_FD             = 388 // { int __mac_set_fd(int fd, struct mac *mac_p); }
-+	SYS___MAC_SET_FILE           = 389 // { int __mac_set_file(const char *path_p, struct mac *mac_p); }
-+	SYS_KENV                     = 390 // { int kenv(int what, const char *name, char *value, int len); }
-+	SYS_LCHFLAGS                 = 391 // { int lchflags(const char *path, u_long flags); }
-+	SYS_UUIDGEN                  = 392 // { int uuidgen(struct uuid *store, int count); }
-+	SYS_SENDFILE                 = 393 // { int sendfile(int fd, int s, off_t offset, size_t nbytes, struct sf_hdtr *hdtr, off_t *sbytes, int flags); }
-+	SYS_MAC_SYSCALL              = 394 // { int mac_syscall(const char *policy, int call, void *arg); }
-+	SYS_GETFSSTAT                = 395 // { int getfsstat(struct statfs *buf, long bufsize, int mode); }
-+	SYS_STATFS                   = 396 // { int statfs(char *path, struct statfs *buf); }
-+	SYS_FSTATFS                  = 397 // { int fstatfs(int fd, struct statfs *buf); }
-+	SYS_FHSTATFS                 = 398 // { int fhstatfs(const struct fhandle *u_fhp, struct statfs *buf); }
-+	SYS_KSEM_CLOSE               = 400 // { int ksem_close(semid_t id); }
-+	SYS_KSEM_POST                = 401 // { int ksem_post(semid_t id); }
-+	SYS_KSEM_WAIT                = 402 // { int ksem_wait(semid_t id); }
-+	SYS_KSEM_TRYWAIT             = 403 // { int ksem_trywait(semid_t id); }
-+	SYS_KSEM_INIT                = 404 // { int ksem_init(semid_t *idp, unsigned int value); }
-+	SYS_KSEM_OPEN                = 405 // { int ksem_open(semid_t *idp, const char *name, int oflag, mode_t mode, unsigned int value); }
-+	SYS_KSEM_UNLINK              = 406 // { int ksem_unlink(const char *name); }
-+	SYS_KSEM_GETVALUE            = 407 // { int ksem_getvalue(semid_t id, int *val); }
-+	SYS_KSEM_DESTROY             = 408 // { int ksem_destroy(semid_t id); }
-+	SYS___MAC_GET_PID            = 409 // { int __mac_get_pid(pid_t pid, struct mac *mac_p); }
-+	SYS___MAC_GET_LINK           = 410 // { int __mac_get_link(const char *path_p, struct mac *mac_p); }
-+	SYS___MAC_SET_LINK           = 411 // { int __mac_set_link(const char *path_p, struct mac *mac_p); }
-+	SYS_EXTATTR_SET_LINK         = 412 // { ssize_t extattr_set_link( const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); }
-+	SYS_EXTATTR_GET_LINK         = 413 // { ssize_t extattr_get_link( const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); }
-+	SYS_EXTATTR_DELETE_LINK      = 414 // { int extattr_delete_link( const char *path, int attrnamespace, const char *attrname); }
-+	SYS___MAC_EXECVE             = 415 // { int __mac_execve(char *fname, char **argv, char **envv, struct mac *mac_p); }
-+	SYS_SIGACTION                = 416 // { int sigaction(int sig, const struct sigaction *act, struct sigaction *oact); }
-+	SYS_SIGRETURN                = 417 // { int sigreturn( const struct __ucontext *sigcntxp); }
-+	SYS_GETCONTEXT               = 421 // { int getcontext(struct __ucontext *ucp); }
-+	SYS_SETCONTEXT               = 422 // { int setcontext( const struct __ucontext *ucp); }
-+	SYS_SWAPCONTEXT              = 423 // { int swapcontext(struct __ucontext *oucp, const struct __ucontext *ucp); }
-+	SYS_SWAPOFF                  = 424 // { int swapoff(const char *name); }
-+	SYS___ACL_GET_LINK           = 425 // { int __acl_get_link(const char *path, acl_type_t type, struct acl *aclp); }
-+	SYS___ACL_SET_LINK           = 426 // { int __acl_set_link(const char *path, acl_type_t type, struct acl *aclp); }
-+	SYS___ACL_DELETE_LINK        = 427 // { int __acl_delete_link(const char *path, acl_type_t type); }
-+	SYS___ACL_ACLCHECK_LINK      = 428 // { int __acl_aclcheck_link(const char *path, acl_type_t type, struct acl *aclp); }
-+	SYS_SIGWAIT                  = 429 // { int sigwait(const sigset_t *set, int *sig); }
-+	SYS_THR_CREATE               = 430 // { int thr_create(ucontext_t *ctx, long *id, int flags); }
-+	SYS_THR_EXIT                 = 431 // { void thr_exit(long *state); }
-+	SYS_THR_SELF                 = 432 // { int thr_self(long *id); }
-+	SYS_THR_KILL                 = 433 // { int thr_kill(long id, int sig); }
-+	SYS_JAIL_ATTACH              = 436 // { int jail_attach(int jid); }
-+	SYS_EXTATTR_LIST_FD          = 437 // { ssize_t extattr_list_fd(int fd, int attrnamespace, void *data, size_t nbytes); }
-+	SYS_EXTATTR_LIST_FILE        = 438 // { ssize_t extattr_list_file( const char *path, int attrnamespace, void *data, size_t nbytes); }
-+	SYS_EXTATTR_LIST_LINK        = 439 // { ssize_t extattr_list_link( const char *path, int attrnamespace, void *data, size_t nbytes); }
-+	SYS_KSEM_TIMEDWAIT           = 441 // { int ksem_timedwait(semid_t id, const struct timespec *abstime); }
-+	SYS_THR_SUSPEND              = 442 // { int thr_suspend( const struct timespec *timeout); }
-+	SYS_THR_WAKE                 = 443 // { int thr_wake(long id); }
-+	SYS_KLDUNLOADF               = 444 // { int kldunloadf(int fileid, int flags); }
-+	SYS_AUDIT                    = 445 // { int audit(const void *record, u_int length); }
-+	SYS_AUDITON                  = 446 // { int auditon(int cmd, void *data, u_int length); }
-+	SYS_GETAUID                  = 447 // { int getauid(uid_t *auid); }
-+	SYS_SETAUID                  = 448 // { int setauid(uid_t *auid); }
-+	SYS_GETAUDIT                 = 449 // { int getaudit(struct auditinfo *auditinfo); }
-+	SYS_SETAUDIT                 = 450 // { int setaudit(struct auditinfo *auditinfo); }
-+	SYS_GETAUDIT_ADDR            = 451 // { int getaudit_addr( struct auditinfo_addr *auditinfo_addr, u_int length); }
-+	SYS_SETAUDIT_ADDR            = 452 // { int setaudit_addr( struct auditinfo_addr *auditinfo_addr, u_int length); }
-+	SYS_AUDITCTL                 = 453 // { int auditctl(char *path); }
-+	SYS__UMTX_OP                 = 454 // { int _umtx_op(void *obj, int op, u_long val, void *uaddr1, void *uaddr2); }
-+	SYS_THR_NEW                  = 455 // { int thr_new(struct thr_param *param, int param_size); }
-+	SYS_SIGQUEUE                 = 456 // { int sigqueue(pid_t pid, int signum, void *value); }
-+	SYS_KMQ_OPEN                 = 457 // { int kmq_open(const char *path, int flags, mode_t mode, const struct mq_attr *attr); }
-+	SYS_KMQ_SETATTR              = 458 // { int kmq_setattr(int mqd,		const struct mq_attr *attr,		struct mq_attr *oattr); }
-+	SYS_KMQ_TIMEDRECEIVE         = 459 // { int kmq_timedreceive(int mqd,	char *msg_ptr, size_t msg_len,	unsigned *msg_prio,			const struct timespec *abs_timeout); }
-+	SYS_KMQ_TIMEDSEND            = 460 // { int kmq_timedsend(int mqd,		const char *msg_ptr, size_t msg_len,unsigned msg_prio,			const struct timespec *abs_timeout);}
-+	SYS_KMQ_NOTIFY               = 461 // { int kmq_notify(int mqd,		const struct sigevent *sigev); }
-+	SYS_KMQ_UNLINK               = 462 // { int kmq_unlink(const char *path); }
-+	SYS_ABORT2                   = 463 // { int abort2(const char *why, int nargs, void **args); }
-+	SYS_THR_SET_NAME             = 464 // { int thr_set_name(long id, const char *name); }
-+	SYS_AIO_FSYNC                = 465 // { int aio_fsync(int op, struct aiocb *aiocbp); }
-+	SYS_RTPRIO_THREAD            = 466 // { int rtprio_thread(int function, lwpid_t lwpid, struct rtprio *rtp); }
-+	SYS_SCTP_PEELOFF             = 471 // { int sctp_peeloff(int sd, uint32_t name); }
-+	SYS_SCTP_GENERIC_SENDMSG     = 472 // { int sctp_generic_sendmsg(int sd, caddr_t msg, int mlen, caddr_t to, __socklen_t tolen, struct sctp_sndrcvinfo *sinfo, int flags); }
-+	SYS_SCTP_GENERIC_SENDMSG_IOV = 473 // { int sctp_generic_sendmsg_iov(int sd, struct iovec *iov, int iovlen, caddr_t to, __socklen_t tolen, struct sctp_sndrcvinfo *sinfo, int flags); }
-+	SYS_SCTP_GENERIC_RECVMSG     = 474 // { int sctp_generic_recvmsg(int sd, struct iovec *iov, int iovlen, struct sockaddr * from, __socklen_t *fromlenaddr, struct sctp_sndrcvinfo *sinfo, int *msg_flags); }
-+	SYS_PREAD                    = 475 // { ssize_t pread(int fd, void *buf, size_t nbyte, off_t offset); }
-+	SYS_PWRITE                   = 476 // { ssize_t pwrite(int fd, const void *buf, size_t nbyte, off_t offset); }
-+	SYS_MMAP                     = 477 // { caddr_t mmap(caddr_t addr, size_t len, int prot, int flags, int fd, off_t pos); }
-+	SYS_LSEEK                    = 478 // { off_t lseek(int fd, off_t offset, int whence); }
-+	SYS_TRUNCATE                 = 479 // { int truncate(char *path, off_t length); }
-+	SYS_FTRUNCATE                = 480 // { int ftruncate(int fd, off_t length); }
-+	SYS_THR_KILL2                = 481 // { int thr_kill2(pid_t pid, long id, int sig); }
-+	SYS_SHM_OPEN                 = 482 // { int shm_open(const char *path, int flags, mode_t mode); }
-+	SYS_SHM_UNLINK               = 483 // { int shm_unlink(const char *path); }
-+	SYS_CPUSET                   = 484 // { int cpuset(cpusetid_t *setid); }
-+	SYS_CPUSET_SETID             = 485 // { int cpuset_setid(cpuwhich_t which, id_t id, cpusetid_t setid); }
-+	SYS_CPUSET_GETID             = 486 // { int cpuset_getid(cpulevel_t level, cpuwhich_t which, id_t id, cpusetid_t *setid); }
-+	SYS_CPUSET_GETAFFINITY       = 487 // { int cpuset_getaffinity(cpulevel_t level, cpuwhich_t which, id_t id, size_t cpusetsize, cpuset_t *mask); }
-+	SYS_CPUSET_SETAFFINITY       = 488 // { int cpuset_setaffinity(cpulevel_t level, cpuwhich_t which, id_t id, size_t cpusetsize, const cpuset_t *mask); }
-+	SYS_FACCESSAT                = 489 // { int faccessat(int fd, char *path, int amode, int flag); }
-+	SYS_FCHMODAT                 = 490 // { int fchmodat(int fd, char *path, mode_t mode, int flag); }
-+	SYS_FCHOWNAT                 = 491 // { int fchownat(int fd, char *path, uid_t uid, gid_t gid, int flag); }
-+	SYS_FEXECVE                  = 492 // { int fexecve(int fd, char **argv, char **envv); }
-+	SYS_FSTATAT                  = 493 // { int fstatat(int fd, char *path, struct stat *buf, int flag); }
-+	SYS_FUTIMESAT                = 494 // { int futimesat(int fd, char *path, struct timeval *times); }
-+	SYS_LINKAT                   = 495 // { int linkat(int fd1, char *path1, int fd2, char *path2, int flag); }
-+	SYS_MKDIRAT                  = 496 // { int mkdirat(int fd, char *path, mode_t mode); }
-+	SYS_MKFIFOAT                 = 497 // { int mkfifoat(int fd, char *path, mode_t mode); }
-+	SYS_MKNODAT                  = 498 // { int mknodat(int fd, char *path, mode_t mode, dev_t dev); }
-+	SYS_OPENAT                   = 499 // { int openat(int fd, char *path, int flag, mode_t mode); }
-+	SYS_READLINKAT               = 500 // { int readlinkat(int fd, char *path, char *buf, size_t bufsize); }
-+	SYS_RENAMEAT                 = 501 // { int renameat(int oldfd, char *old, int newfd, char *new); }
-+	SYS_SYMLINKAT                = 502 // { int symlinkat(char *path1, int fd, char *path2); }
-+	SYS_UNLINKAT                 = 503 // { int unlinkat(int fd, char *path, int flag); }
-+	SYS_POSIX_OPENPT             = 504 // { int posix_openpt(int flags); }
-+	SYS_GSSD_SYSCALL             = 505 // { int gssd_syscall(char *path); }
-+	SYS_JAIL_GET                 = 506 // { int jail_get(struct iovec *iovp, unsigned int iovcnt, int flags); }
-+	SYS_JAIL_SET                 = 507 // { int jail_set(struct iovec *iovp, unsigned int iovcnt, int flags); }
-+	SYS_JAIL_REMOVE              = 508 // { int jail_remove(int jid); }
-+	SYS_CLOSEFROM                = 509 // { int closefrom(int lowfd); }
-+	SYS___SEMCTL                 = 510 // { int __semctl(int semid, int semnum, int cmd, union semun *arg); }
-+	SYS_MSGCTL                   = 511 // { int msgctl(int msqid, int cmd, struct msqid_ds *buf); }
-+	SYS_SHMCTL                   = 512 // { int shmctl(int shmid, int cmd, struct shmid_ds *buf); }
-+	SYS_LPATHCONF                = 513 // { int lpathconf(char *path, int name); }
-+	SYS___CAP_RIGHTS_GET         = 515 // { int __cap_rights_get(int version, int fd, cap_rights_t *rightsp); }
-+	SYS_CAP_ENTER                = 516 // { int cap_enter(void); }
-+	SYS_CAP_GETMODE              = 517 // { int cap_getmode(u_int *modep); }
-+	SYS_PDFORK                   = 518 // { int pdfork(int *fdp, int flags); }
-+	SYS_PDKILL                   = 519 // { int pdkill(int fd, int signum); }
-+	SYS_PDGETPID                 = 520 // { int pdgetpid(int fd, pid_t *pidp); }
-+	SYS_PSELECT                  = 522 // { int pselect(int nd, fd_set *in, fd_set *ou, fd_set *ex, const struct timespec *ts, const sigset_t *sm); }
-+	SYS_GETLOGINCLASS            = 523 // { int getloginclass(char *namebuf, size_t namelen); }
-+	SYS_SETLOGINCLASS            = 524 // { int setloginclass(const char *namebuf); }
-+	SYS_RCTL_GET_RACCT           = 525 // { int rctl_get_racct(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); }
-+	SYS_RCTL_GET_RULES           = 526 // { int rctl_get_rules(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); }
-+	SYS_RCTL_GET_LIMITS          = 527 // { int rctl_get_limits(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); }
-+	SYS_RCTL_ADD_RULE            = 528 // { int rctl_add_rule(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); }
-+	SYS_RCTL_REMOVE_RULE         = 529 // { int rctl_remove_rule(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); }
-+	SYS_POSIX_FALLOCATE          = 530 // { int posix_fallocate(int fd, off_t offset, off_t len); }
-+	SYS_POSIX_FADVISE            = 531 // { int posix_fadvise(int fd, off_t offset, off_t len, int advice); }
-+	SYS_WAIT6                    = 532 // { int wait6(idtype_t idtype, id_t id, int *status, int options, struct __wrusage *wrusage, siginfo_t *info); }
-+	SYS_CAP_RIGHTS_LIMIT         = 533 // { int cap_rights_limit(int fd, cap_rights_t *rightsp); }
-+	SYS_CAP_IOCTLS_LIMIT         = 534 // { int cap_ioctls_limit(int fd, const u_long *cmds, size_t ncmds); }
-+	SYS_CAP_IOCTLS_GET           = 535 // { ssize_t cap_ioctls_get(int fd, u_long *cmds, size_t maxcmds); }
-+	SYS_CAP_FCNTLS_LIMIT         = 536 // { int cap_fcntls_limit(int fd, uint32_t fcntlrights); }
-+	SYS_CAP_FCNTLS_GET           = 537 // { int cap_fcntls_get(int fd, uint32_t *fcntlrightsp); }
-+	SYS_BINDAT                   = 538 // { int bindat(int fd, int s, caddr_t name, int namelen); }
-+	SYS_CONNECTAT                = 539 // { int connectat(int fd, int s, caddr_t name, int namelen); }
-+	SYS_CHFLAGSAT                = 540 // { int chflagsat(int fd, const char *path, u_long flags, int atflag); }
-+	SYS_ACCEPT4                  = 541 // { int accept4(int s, struct sockaddr * __restrict name, __socklen_t * __restrict anamelen, int flags); }
-+	SYS_PIPE2                    = 542 // { int pipe2(int *fildes, int flags); }
-+	SYS_AIO_MLOCK                = 543 // { int aio_mlock(struct aiocb *aiocbp); }
-+	SYS_PROCCTL                  = 544 // { int procctl(idtype_t idtype, id_t id, int com, void *data); }
-+	SYS_PPOLL                    = 545 // { int ppoll(struct pollfd *fds, u_int nfds, const struct timespec *ts, const sigset_t *set); }
-+	SYS_FUTIMENS                 = 546 // { int futimens(int fd, struct timespec *times); }
-+	SYS_UTIMENSAT                = 547 // { int utimensat(int fd, char *path, struct timespec *times, int flag); }
-+	SYS_NUMA_GETAFFINITY         = 548 // { int numa_getaffinity(cpuwhich_t which, id_t id, struct vm_domain_policy_entry *policy); }
-+	SYS_NUMA_SETAFFINITY         = 549 // { int numa_setaffinity(cpuwhich_t which, id_t id, const struct vm_domain_policy_entry *policy); }
-+	SYS_FDATASYNC                = 550 // { int fdatasync(int fd); }
- )
-diff --git a/vendor/golang.org/x/sys/unix/zsysnum_freebsd_amd64.go b/vendor/golang.org/x/sys/unix/zsysnum_freebsd_amd64.go
-index 81722ac9..48a7beae 100644
---- a/vendor/golang.org/x/sys/unix/zsysnum_freebsd_amd64.go
-+++ b/vendor/golang.org/x/sys/unix/zsysnum_freebsd_amd64.go
-@@ -1,4 +1,4 @@
--// mksysnum_freebsd.pl
-+// go run mksysnum.go https://svn.freebsd.org/base/stable/11/sys/kern/syscalls.master
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- // +build amd64,freebsd
-@@ -7,347 +7,390 @@ package unix
- 
- const (
- 	// SYS_NOSYS = 0;  // { int nosys(void); } syscall nosys_args int
--	SYS_EXIT                   = 1   // { void sys_exit(int rval); } exit \
--	SYS_FORK                   = 2   // { int fork(void); }
--	SYS_READ                   = 3   // { ssize_t read(int fd, void *buf, \
--	SYS_WRITE                  = 4   // { ssize_t write(int fd, const void *buf, \
--	SYS_OPEN                   = 5   // { int open(char *path, int flags, int mode); }
--	SYS_CLOSE                  = 6   // { int close(int fd); }
--	SYS_WAIT4                  = 7   // { int wait4(int pid, int *status, \
--	SYS_LINK                   = 9   // { int link(char *path, char *link); }
--	SYS_UNLINK                 = 10  // { int unlink(char *path); }
--	SYS_CHDIR                  = 12  // { int chdir(char *path); }
--	SYS_FCHDIR                 = 13  // { int fchdir(int fd); }
--	SYS_MKNOD                  = 14  // { int mknod(char *path, int mode, int dev); }
--	SYS_CHMOD                  = 15  // { int chmod(char *path, int mode); }
--	SYS_CHOWN                  = 16  // { int chown(char *path, int uid, int gid); }
--	SYS_OBREAK                 = 17  // { int obreak(char *nsize); } break \
--	SYS_GETPID                 = 20  // { pid_t getpid(void); }
--	SYS_MOUNT                  = 21  // { int mount(char *type, char *path, \
--	SYS_UNMOUNT                = 22  // { int unmount(char *path, int flags); }
--	SYS_SETUID                 = 23  // { int setuid(uid_t uid); }
--	SYS_GETUID                 = 24  // { uid_t getuid(void); }
--	SYS_GETEUID                = 25  // { uid_t geteuid(void); }
--	SYS_PTRACE                 = 26  // { int ptrace(int req, pid_t pid, \
--	SYS_RECVMSG                = 27  // { int recvmsg(int s, struct msghdr *msg, \
--	SYS_SENDMSG                = 28  // { int sendmsg(int s, struct msghdr *msg, \
--	SYS_RECVFROM               = 29  // { int recvfrom(int s, caddr_t buf, \
--	SYS_ACCEPT                 = 30  // { int accept(int s, \
--	SYS_GETPEERNAME            = 31  // { int getpeername(int fdes, \
--	SYS_GETSOCKNAME            = 32  // { int getsockname(int fdes, \
--	SYS_ACCESS                 = 33  // { int access(char *path, int amode); }
--	SYS_CHFLAGS                = 34  // { int chflags(const char *path, u_long flags); }
--	SYS_FCHFLAGS               = 35  // { int fchflags(int fd, u_long flags); }
--	SYS_SYNC                   = 36  // { int sync(void); }
--	SYS_KILL                   = 37  // { int kill(int pid, int signum); }
--	SYS_GETPPID                = 39  // { pid_t getppid(void); }
--	SYS_DUP                    = 41  // { int dup(u_int fd); }
--	SYS_PIPE                   = 42  // { int pipe(void); }
--	SYS_GETEGID                = 43  // { gid_t getegid(void); }
--	SYS_PROFIL                 = 44  // { int profil(caddr_t samples, size_t size, \
--	SYS_KTRACE                 = 45  // { int ktrace(const char *fname, int ops, \
--	SYS_GETGID                 = 47  // { gid_t getgid(void); }
--	SYS_GETLOGIN               = 49  // { int getlogin(char *namebuf, u_int \
--	SYS_SETLOGIN               = 50  // { int setlogin(char *namebuf); }
--	SYS_ACCT                   = 51  // { int acct(char *path); }
--	SYS_SIGALTSTACK            = 53  // { int sigaltstack(stack_t *ss, \
--	SYS_IOCTL                  = 54  // { int ioctl(int fd, u_long com, \
--	SYS_REBOOT                 = 55  // { int reboot(int opt); }
--	SYS_REVOKE                 = 56  // { int revoke(char *path); }
--	SYS_SYMLINK                = 57  // { int symlink(char *path, char *link); }
--	SYS_READLINK               = 58  // { ssize_t readlink(char *path, char *buf, \
--	SYS_EXECVE                 = 59  // { int execve(char *fname, char **argv, \
--	SYS_UMASK                  = 60  // { int umask(int newmask); } umask umask_args \
--	SYS_CHROOT                 = 61  // { int chroot(char *path); }
--	SYS_MSYNC                  = 65  // { int msync(void *addr, size_t len, \
--	SYS_VFORK                  = 66  // { int vfork(void); }
--	SYS_SBRK                   = 69  // { int sbrk(int incr); }
--	SYS_SSTK                   = 70  // { int sstk(int incr); }
--	SYS_OVADVISE               = 72  // { int ovadvise(int anom); } vadvise \
--	SYS_MUNMAP                 = 73  // { int munmap(void *addr, size_t len); }
--	SYS_MPROTECT               = 74  // { int mprotect(const void *addr, size_t len, \
--	SYS_MADVISE                = 75  // { int madvise(void *addr, size_t len, \
--	SYS_MINCORE                = 78  // { int mincore(const void *addr, size_t len, \
--	SYS_GETGROUPS              = 79  // { int getgroups(u_int gidsetsize, \
--	SYS_SETGROUPS              = 80  // { int setgroups(u_int gidsetsize, \
--	SYS_GETPGRP                = 81  // { int getpgrp(void); }
--	SYS_SETPGID                = 82  // { int setpgid(int pid, int pgid); }
--	SYS_SETITIMER              = 83  // { int setitimer(u_int which, struct \
--	SYS_SWAPON                 = 85  // { int swapon(char *name); }
--	SYS_GETITIMER              = 86  // { int getitimer(u_int which, \
--	SYS_GETDTABLESIZE          = 89  // { int getdtablesize(void); }
--	SYS_DUP2                   = 90  // { int dup2(u_int from, u_int to); }
--	SYS_FCNTL                  = 92  // { int fcntl(int fd, int cmd, long arg); }
--	SYS_SELECT                 = 93  // { int select(int nd, fd_set *in, fd_set *ou, \
--	SYS_FSYNC                  = 95  // { int fsync(int fd); }
--	SYS_SETPRIORITY            = 96  // { int setpriority(int which, int who, \
--	SYS_SOCKET                 = 97  // { int socket(int domain, int type, \
--	SYS_CONNECT                = 98  // { int connect(int s, caddr_t name, \
--	SYS_GETPRIORITY            = 100 // { int getpriority(int which, int who); }
--	SYS_BIND                   = 104 // { int bind(int s, caddr_t name, \
--	SYS_SETSOCKOPT             = 105 // { int setsockopt(int s, int level, int name, \
--	SYS_LISTEN                 = 106 // { int listen(int s, int backlog); }
--	SYS_GETTIMEOFDAY           = 116 // { int gettimeofday(struct timeval *tp, \
--	SYS_GETRUSAGE              = 117 // { int getrusage(int who, \
--	SYS_GETSOCKOPT             = 118 // { int getsockopt(int s, int level, int name, \
--	SYS_READV                  = 120 // { int readv(int fd, struct iovec *iovp, \
--	SYS_WRITEV                 = 121 // { int writev(int fd, struct iovec *iovp, \
--	SYS_SETTIMEOFDAY           = 122 // { int settimeofday(struct timeval *tv, \
--	SYS_FCHOWN                 = 123 // { int fchown(int fd, int uid, int gid); }
--	SYS_FCHMOD                 = 124 // { int fchmod(int fd, int mode); }
--	SYS_SETREUID               = 126 // { int setreuid(int ruid, int euid); }
--	SYS_SETREGID               = 127 // { int setregid(int rgid, int egid); }
--	SYS_RENAME                 = 128 // { int rename(char *from, char *to); }
--	SYS_FLOCK                  = 131 // { int flock(int fd, int how); }
--	SYS_MKFIFO                 = 132 // { int mkfifo(char *path, int mode); }
--	SYS_SENDTO                 = 133 // { int sendto(int s, caddr_t buf, size_t len, \
--	SYS_SHUTDOWN               = 134 // { int shutdown(int s, int how); }
--	SYS_SOCKETPAIR             = 135 // { int socketpair(int domain, int type, \
--	SYS_MKDIR                  = 136 // { int mkdir(char *path, int mode); }
--	SYS_RMDIR                  = 137 // { int rmdir(char *path); }
--	SYS_UTIMES                 = 138 // { int utimes(char *path, \
--	SYS_ADJTIME                = 140 // { int adjtime(struct timeval *delta, \
--	SYS_SETSID                 = 147 // { int setsid(void); }
--	SYS_QUOTACTL               = 148 // { int quotactl(char *path, int cmd, int uid, \
--	SYS_LGETFH                 = 160 // { int lgetfh(char *fname, \
--	SYS_GETFH                  = 161 // { int getfh(char *fname, \
--	SYS_SYSARCH                = 165 // { int sysarch(int op, char *parms); }
--	SYS_RTPRIO                 = 166 // { int rtprio(int function, pid_t pid, \
--	SYS_FREEBSD6_PREAD         = 173 // { ssize_t freebsd6_pread(int fd, void *buf, \
--	SYS_FREEBSD6_PWRITE        = 174 // { ssize_t freebsd6_pwrite(int fd, \
--	SYS_SETFIB                 = 175 // { int setfib(int fibnum); }
--	SYS_NTP_ADJTIME            = 176 // { int ntp_adjtime(struct timex *tp); }
--	SYS_SETGID                 = 181 // { int setgid(gid_t gid); }
--	SYS_SETEGID                = 182 // { int setegid(gid_t egid); }
--	SYS_SETEUID                = 183 // { int seteuid(uid_t euid); }
--	SYS_STAT                   = 188 // { int stat(char *path, struct stat *ub); }
--	SYS_FSTAT                  = 189 // { int fstat(int fd, struct stat *sb); }
--	SYS_LSTAT                  = 190 // { int lstat(char *path, struct stat *ub); }
--	SYS_PATHCONF               = 191 // { int pathconf(char *path, int name); }
--	SYS_FPATHCONF              = 192 // { int fpathconf(int fd, int name); }
--	SYS_GETRLIMIT              = 194 // { int getrlimit(u_int which, \
--	SYS_SETRLIMIT              = 195 // { int setrlimit(u_int which, \
--	SYS_GETDIRENTRIES          = 196 // { int getdirentries(int fd, char *buf, \
--	SYS_FREEBSD6_MMAP          = 197 // { caddr_t freebsd6_mmap(caddr_t addr, \
--	SYS_FREEBSD6_LSEEK         = 199 // { off_t freebsd6_lseek(int fd, int pad, \
--	SYS_FREEBSD6_TRUNCATE      = 200 // { int freebsd6_truncate(char *path, int pad, \
--	SYS_FREEBSD6_FTRUNCATE     = 201 // { int freebsd6_ftruncate(int fd, int pad, \
--	SYS___SYSCTL               = 202 // { int __sysctl(int *name, u_int namelen, \
--	SYS_MLOCK                  = 203 // { int mlock(const void *addr, size_t len); }
--	SYS_MUNLOCK                = 204 // { int munlock(const void *addr, size_t len); }
--	SYS_UNDELETE               = 205 // { int undelete(char *path); }
--	SYS_FUTIMES                = 206 // { int futimes(int fd, struct timeval *tptr); }
--	SYS_GETPGID                = 207 // { int getpgid(pid_t pid); }
--	SYS_POLL                   = 209 // { int poll(struct pollfd *fds, u_int nfds, \
--	SYS_CLOCK_GETTIME          = 232 // { int clock_gettime(clockid_t clock_id, \
--	SYS_CLOCK_SETTIME          = 233 // { int clock_settime( \
--	SYS_CLOCK_GETRES           = 234 // { int clock_getres(clockid_t clock_id, \
--	SYS_KTIMER_CREATE          = 235 // { int ktimer_create(clockid_t clock_id, \
--	SYS_KTIMER_DELETE          = 236 // { int ktimer_delete(int timerid); }
--	SYS_KTIMER_SETTIME         = 237 // { int ktimer_settime(int timerid, int flags, \
--	SYS_KTIMER_GETTIME         = 238 // { int ktimer_gettime(int timerid, struct \
--	SYS_KTIMER_GETOVERRUN      = 239 // { int ktimer_getoverrun(int timerid); }
--	SYS_NANOSLEEP              = 240 // { int nanosleep(const struct timespec *rqtp, \
--	SYS_FFCLOCK_GETCOUNTER     = 241 // { int ffclock_getcounter(ffcounter *ffcount); }
--	SYS_FFCLOCK_SETESTIMATE    = 242 // { int ffclock_setestimate( \
--	SYS_FFCLOCK_GETESTIMATE    = 243 // { int ffclock_getestimate( \
--	SYS_CLOCK_GETCPUCLOCKID2   = 247 // { int clock_getcpuclockid2(id_t id,\
--	SYS_NTP_GETTIME            = 248 // { int ntp_gettime(struct ntptimeval *ntvp); }
--	SYS_MINHERIT               = 250 // { int minherit(void *addr, size_t len, \
--	SYS_RFORK                  = 251 // { int rfork(int flags); }
--	SYS_OPENBSD_POLL           = 252 // { int openbsd_poll(struct pollfd *fds, \
--	SYS_ISSETUGID              = 253 // { int issetugid(void); }
--	SYS_LCHOWN                 = 254 // { int lchown(char *path, int uid, int gid); }
--	SYS_GETDENTS               = 272 // { int getdents(int fd, char *buf, \
--	SYS_LCHMOD                 = 274 // { int lchmod(char *path, mode_t mode); }
--	SYS_LUTIMES                = 276 // { int lutimes(char *path, \
--	SYS_NSTAT                  = 278 // { int nstat(char *path, struct nstat *ub); }
--	SYS_NFSTAT                 = 279 // { int nfstat(int fd, struct nstat *sb); }
--	SYS_NLSTAT                 = 280 // { int nlstat(char *path, struct nstat *ub); }
--	SYS_PREADV                 = 289 // { ssize_t preadv(int fd, struct iovec *iovp, \
--	SYS_PWRITEV                = 290 // { ssize_t pwritev(int fd, struct iovec *iovp, \
--	SYS_FHOPEN                 = 298 // { int fhopen(const struct fhandle *u_fhp, \
--	SYS_FHSTAT                 = 299 // { int fhstat(const struct fhandle *u_fhp, \
--	SYS_MODNEXT                = 300 // { int modnext(int modid); }
--	SYS_MODSTAT                = 301 // { int modstat(int modid, \
--	SYS_MODFNEXT               = 302 // { int modfnext(int modid); }
--	SYS_MODFIND                = 303 // { int modfind(const char *name); }
--	SYS_KLDLOAD                = 304 // { int kldload(const char *file); }
--	SYS_KLDUNLOAD              = 305 // { int kldunload(int fileid); }
--	SYS_KLDFIND                = 306 // { int kldfind(const char *file); }
--	SYS_KLDNEXT                = 307 // { int kldnext(int fileid); }
--	SYS_KLDSTAT                = 308 // { int kldstat(int fileid, struct \
--	SYS_KLDFIRSTMOD            = 309 // { int kldfirstmod(int fileid); }
--	SYS_GETSID                 = 310 // { int getsid(pid_t pid); }
--	SYS_SETRESUID              = 311 // { int setresuid(uid_t ruid, uid_t euid, \
--	SYS_SETRESGID              = 312 // { int setresgid(gid_t rgid, gid_t egid, \
--	SYS_YIELD                  = 321 // { int yield(void); }
--	SYS_MLOCKALL               = 324 // { int mlockall(int how); }
--	SYS_MUNLOCKALL             = 325 // { int munlockall(void); }
--	SYS___GETCWD               = 326 // { int __getcwd(char *buf, u_int buflen); }
--	SYS_SCHED_SETPARAM         = 327 // { int sched_setparam (pid_t pid, \
--	SYS_SCHED_GETPARAM         = 328 // { int sched_getparam (pid_t pid, struct \
--	SYS_SCHED_SETSCHEDULER     = 329 // { int sched_setscheduler (pid_t pid, int \
--	SYS_SCHED_GETSCHEDULER     = 330 // { int sched_getscheduler (pid_t pid); }
--	SYS_SCHED_YIELD            = 331 // { int sched_yield (void); }
--	SYS_SCHED_GET_PRIORITY_MAX = 332 // { int sched_get_priority_max (int policy); }
--	SYS_SCHED_GET_PRIORITY_MIN = 333 // { int sched_get_priority_min (int policy); }
--	SYS_SCHED_RR_GET_INTERVAL  = 334 // { int sched_rr_get_interval (pid_t pid, \
--	SYS_UTRACE                 = 335 // { int utrace(const void *addr, size_t len); }
--	SYS_KLDSYM                 = 337 // { int kldsym(int fileid, int cmd, \
--	SYS_JAIL                   = 338 // { int jail(struct jail *jail); }
--	SYS_SIGPROCMASK            = 340 // { int sigprocmask(int how, \
--	SYS_SIGSUSPEND             = 341 // { int sigsuspend(const sigset_t *sigmask); }
--	SYS_SIGPENDING             = 343 // { int sigpending(sigset_t *set); }
--	SYS_SIGTIMEDWAIT           = 345 // { int sigtimedwait(const sigset_t *set, \
--	SYS_SIGWAITINFO            = 346 // { int sigwaitinfo(const sigset_t *set, \
--	SYS___ACL_GET_FILE         = 347 // { int __acl_get_file(const char *path, \
--	SYS___ACL_SET_FILE         = 348 // { int __acl_set_file(const char *path, \
--	SYS___ACL_GET_FD           = 349 // { int __acl_get_fd(int filedes, \
--	SYS___ACL_SET_FD           = 350 // { int __acl_set_fd(int filedes, \
--	SYS___ACL_DELETE_FILE      = 351 // { int __acl_delete_file(const char *path, \
--	SYS___ACL_DELETE_FD        = 352 // { int __acl_delete_fd(int filedes, \
--	SYS___ACL_ACLCHECK_FILE    = 353 // { int __acl_aclcheck_file(const char *path, \
--	SYS___ACL_ACLCHECK_FD      = 354 // { int __acl_aclcheck_fd(int filedes, \
--	SYS_EXTATTRCTL             = 355 // { int extattrctl(const char *path, int cmd, \
--	SYS_EXTATTR_SET_FILE       = 356 // { ssize_t extattr_set_file( \
--	SYS_EXTATTR_GET_FILE       = 357 // { ssize_t extattr_get_file( \
--	SYS_EXTATTR_DELETE_FILE    = 358 // { int extattr_delete_file(const char *path, \
--	SYS_GETRESUID              = 360 // { int getresuid(uid_t *ruid, uid_t *euid, \
--	SYS_GETRESGID              = 361 // { int getresgid(gid_t *rgid, gid_t *egid, \
--	SYS_KQUEUE                 = 362 // { int kqueue(void); }
--	SYS_KEVENT                 = 363 // { int kevent(int fd, \
--	SYS_EXTATTR_SET_FD         = 371 // { ssize_t extattr_set_fd(int fd, \
--	SYS_EXTATTR_GET_FD         = 372 // { ssize_t extattr_get_fd(int fd, \
--	SYS_EXTATTR_DELETE_FD      = 373 // { int extattr_delete_fd(int fd, \
--	SYS___SETUGID              = 374 // { int __setugid(int flag); }
--	SYS_EACCESS                = 376 // { int eaccess(char *path, int amode); }
--	SYS_NMOUNT                 = 378 // { int nmount(struct iovec *iovp, \
--	SYS___MAC_GET_PROC         = 384 // { int __mac_get_proc(struct mac *mac_p); }
--	SYS___MAC_SET_PROC         = 385 // { int __mac_set_proc(struct mac *mac_p); }
--	SYS___MAC_GET_FD           = 386 // { int __mac_get_fd(int fd, \
--	SYS___MAC_GET_FILE         = 387 // { int __mac_get_file(const char *path_p, \
--	SYS___MAC_SET_FD           = 388 // { int __mac_set_fd(int fd, \
--	SYS___MAC_SET_FILE         = 389 // { int __mac_set_file(const char *path_p, \
--	SYS_KENV                   = 390 // { int kenv(int what, const char *name, \
--	SYS_LCHFLAGS               = 391 // { int lchflags(const char *path, \
--	SYS_UUIDGEN                = 392 // { int uuidgen(struct uuid *store, \
--	SYS_SENDFILE               = 393 // { int sendfile(int fd, int s, off_t offset, \
--	SYS_MAC_SYSCALL            = 394 // { int mac_syscall(const char *policy, \
--	SYS_GETFSSTAT              = 395 // { int getfsstat(struct statfs *buf, \
--	SYS_STATFS                 = 396 // { int statfs(char *path, \
--	SYS_FSTATFS                = 397 // { int fstatfs(int fd, struct statfs *buf); }
--	SYS_FHSTATFS               = 398 // { int fhstatfs(const struct fhandle *u_fhp, \
--	SYS___MAC_GET_PID          = 409 // { int __mac_get_pid(pid_t pid, \
--	SYS___MAC_GET_LINK         = 410 // { int __mac_get_link(const char *path_p, \
--	SYS___MAC_SET_LINK         = 411 // { int __mac_set_link(const char *path_p, \
--	SYS_EXTATTR_SET_LINK       = 412 // { ssize_t extattr_set_link( \
--	SYS_EXTATTR_GET_LINK       = 413 // { ssize_t extattr_get_link( \
--	SYS_EXTATTR_DELETE_LINK    = 414 // { int extattr_delete_link( \
--	SYS___MAC_EXECVE           = 415 // { int __mac_execve(char *fname, char **argv, \
--	SYS_SIGACTION              = 416 // { int sigaction(int sig, \
--	SYS_SIGRETURN              = 417 // { int sigreturn( \
--	SYS_GETCONTEXT             = 421 // { int getcontext(struct __ucontext *ucp); }
--	SYS_SETCONTEXT             = 422 // { int setcontext( \
--	SYS_SWAPCONTEXT            = 423 // { int swapcontext(struct __ucontext *oucp, \
--	SYS_SWAPOFF                = 424 // { int swapoff(const char *name); }
--	SYS___ACL_GET_LINK         = 425 // { int __acl_get_link(const char *path, \
--	SYS___ACL_SET_LINK         = 426 // { int __acl_set_link(const char *path, \
--	SYS___ACL_DELETE_LINK      = 427 // { int __acl_delete_link(const char *path, \
--	SYS___ACL_ACLCHECK_LINK    = 428 // { int __acl_aclcheck_link(const char *path, \
--	SYS_SIGWAIT                = 429 // { int sigwait(const sigset_t *set, \
--	SYS_THR_CREATE             = 430 // { int thr_create(ucontext_t *ctx, long *id, \
--	SYS_THR_EXIT               = 431 // { void thr_exit(long *state); }
--	SYS_THR_SELF               = 432 // { int thr_self(long *id); }
--	SYS_THR_KILL               = 433 // { int thr_kill(long id, int sig); }
--	SYS__UMTX_LOCK             = 434 // { int _umtx_lock(struct umtx *umtx); }
--	SYS__UMTX_UNLOCK           = 435 // { int _umtx_unlock(struct umtx *umtx); }
--	SYS_JAIL_ATTACH            = 436 // { int jail_attach(int jid); }
--	SYS_EXTATTR_LIST_FD        = 437 // { ssize_t extattr_list_fd(int fd, \
--	SYS_EXTATTR_LIST_FILE      = 438 // { ssize_t extattr_list_file( \
--	SYS_EXTATTR_LIST_LINK      = 439 // { ssize_t extattr_list_link( \
--	SYS_THR_SUSPEND            = 442 // { int thr_suspend( \
--	SYS_THR_WAKE               = 443 // { int thr_wake(long id); }
--	SYS_KLDUNLOADF             = 444 // { int kldunloadf(int fileid, int flags); }
--	SYS_AUDIT                  = 445 // { int audit(const void *record, \
--	SYS_AUDITON                = 446 // { int auditon(int cmd, void *data, \
--	SYS_GETAUID                = 447 // { int getauid(uid_t *auid); }
--	SYS_SETAUID                = 448 // { int setauid(uid_t *auid); }
--	SYS_GETAUDIT               = 449 // { int getaudit(struct auditinfo *auditinfo); }
--	SYS_SETAUDIT               = 450 // { int setaudit(struct auditinfo *auditinfo); }
--	SYS_GETAUDIT_ADDR          = 451 // { int getaudit_addr( \
--	SYS_SETAUDIT_ADDR          = 452 // { int setaudit_addr( \
--	SYS_AUDITCTL               = 453 // { int auditctl(char *path); }
--	SYS__UMTX_OP               = 454 // { int _umtx_op(void *obj, int op, \
--	SYS_THR_NEW                = 455 // { int thr_new(struct thr_param *param, \
--	SYS_SIGQUEUE               = 456 // { int sigqueue(pid_t pid, int signum, void *value); }
--	SYS_ABORT2                 = 463 // { int abort2(const char *why, int nargs, void **args); }
--	SYS_THR_SET_NAME           = 464 // { int thr_set_name(long id, const char *name); }
--	SYS_RTPRIO_THREAD          = 466 // { int rtprio_thread(int function, \
--	SYS_PREAD                  = 475 // { ssize_t pread(int fd, void *buf, \
--	SYS_PWRITE                 = 476 // { ssize_t pwrite(int fd, const void *buf, \
--	SYS_MMAP                   = 477 // { caddr_t mmap(caddr_t addr, size_t len, \
--	SYS_LSEEK                  = 478 // { off_t lseek(int fd, off_t offset, \
--	SYS_TRUNCATE               = 479 // { int truncate(char *path, off_t length); }
--	SYS_FTRUNCATE              = 480 // { int ftruncate(int fd, off_t length); }
--	SYS_THR_KILL2              = 481 // { int thr_kill2(pid_t pid, long id, int sig); }
--	SYS_SHM_OPEN               = 482 // { int shm_open(const char *path, int flags, \
--	SYS_SHM_UNLINK             = 483 // { int shm_unlink(const char *path); }
--	SYS_CPUSET                 = 484 // { int cpuset(cpusetid_t *setid); }
--	SYS_CPUSET_SETID           = 485 // { int cpuset_setid(cpuwhich_t which, id_t id, \
--	SYS_CPUSET_GETID           = 486 // { int cpuset_getid(cpulevel_t level, \
--	SYS_CPUSET_GETAFFINITY     = 487 // { int cpuset_getaffinity(cpulevel_t level, \
--	SYS_CPUSET_SETAFFINITY     = 488 // { int cpuset_setaffinity(cpulevel_t level, \
--	SYS_FACCESSAT              = 489 // { int faccessat(int fd, char *path, int amode, \
--	SYS_FCHMODAT               = 490 // { int fchmodat(int fd, char *path, mode_t mode, \
--	SYS_FCHOWNAT               = 491 // { int fchownat(int fd, char *path, uid_t uid, \
--	SYS_FEXECVE                = 492 // { int fexecve(int fd, char **argv, \
--	SYS_FSTATAT                = 493 // { int fstatat(int fd, char *path, \
--	SYS_FUTIMESAT              = 494 // { int futimesat(int fd, char *path, \
--	SYS_LINKAT                 = 495 // { int linkat(int fd1, char *path1, int fd2, \
--	SYS_MKDIRAT                = 496 // { int mkdirat(int fd, char *path, mode_t mode); }
--	SYS_MKFIFOAT               = 497 // { int mkfifoat(int fd, char *path, mode_t mode); }
--	SYS_MKNODAT                = 498 // { int mknodat(int fd, char *path, mode_t mode, \
--	SYS_OPENAT                 = 499 // { int openat(int fd, char *path, int flag, \
--	SYS_READLINKAT             = 500 // { int readlinkat(int fd, char *path, char *buf, \
--	SYS_RENAMEAT               = 501 // { int renameat(int oldfd, char *old, int newfd, \
--	SYS_SYMLINKAT              = 502 // { int symlinkat(char *path1, int fd, \
--	SYS_UNLINKAT               = 503 // { int unlinkat(int fd, char *path, int flag); }
--	SYS_POSIX_OPENPT           = 504 // { int posix_openpt(int flags); }
--	SYS_JAIL_GET               = 506 // { int jail_get(struct iovec *iovp, \
--	SYS_JAIL_SET               = 507 // { int jail_set(struct iovec *iovp, \
--	SYS_JAIL_REMOVE            = 508 // { int jail_remove(int jid); }
--	SYS_CLOSEFROM              = 509 // { int closefrom(int lowfd); }
--	SYS_LPATHCONF              = 513 // { int lpathconf(char *path, int name); }
--	SYS___CAP_RIGHTS_GET       = 515 // { int __cap_rights_get(int version, \
--	SYS_CAP_ENTER              = 516 // { int cap_enter(void); }
--	SYS_CAP_GETMODE            = 517 // { int cap_getmode(u_int *modep); }
--	SYS_PDFORK                 = 518 // { int pdfork(int *fdp, int flags); }
--	SYS_PDKILL                 = 519 // { int pdkill(int fd, int signum); }
--	SYS_PDGETPID               = 520 // { int pdgetpid(int fd, pid_t *pidp); }
--	SYS_PSELECT                = 522 // { int pselect(int nd, fd_set *in, \
--	SYS_GETLOGINCLASS          = 523 // { int getloginclass(char *namebuf, \
--	SYS_SETLOGINCLASS          = 524 // { int setloginclass(const char *namebuf); }
--	SYS_RCTL_GET_RACCT         = 525 // { int rctl_get_racct(const void *inbufp, \
--	SYS_RCTL_GET_RULES         = 526 // { int rctl_get_rules(const void *inbufp, \
--	SYS_RCTL_GET_LIMITS        = 527 // { int rctl_get_limits(const void *inbufp, \
--	SYS_RCTL_ADD_RULE          = 528 // { int rctl_add_rule(const void *inbufp, \
--	SYS_RCTL_REMOVE_RULE       = 529 // { int rctl_remove_rule(const void *inbufp, \
--	SYS_POSIX_FALLOCATE        = 530 // { int posix_fallocate(int fd, \
--	SYS_POSIX_FADVISE          = 531 // { int posix_fadvise(int fd, off_t offset, \
--	SYS_WAIT6                  = 532 // { int wait6(idtype_t idtype, id_t id, \
--	SYS_CAP_RIGHTS_LIMIT       = 533 // { int cap_rights_limit(int fd, \
--	SYS_CAP_IOCTLS_LIMIT       = 534 // { int cap_ioctls_limit(int fd, \
--	SYS_CAP_IOCTLS_GET         = 535 // { ssize_t cap_ioctls_get(int fd, \
--	SYS_CAP_FCNTLS_LIMIT       = 536 // { int cap_fcntls_limit(int fd, \
--	SYS_CAP_FCNTLS_GET         = 537 // { int cap_fcntls_get(int fd, \
--	SYS_BINDAT                 = 538 // { int bindat(int fd, int s, caddr_t name, \
--	SYS_CONNECTAT              = 539 // { int connectat(int fd, int s, caddr_t name, \
--	SYS_CHFLAGSAT              = 540 // { int chflagsat(int fd, const char *path, \
--	SYS_ACCEPT4                = 541 // { int accept4(int s, \
--	SYS_PIPE2                  = 542 // { int pipe2(int *fildes, int flags); }
--	SYS_PROCCTL                = 544 // { int procctl(idtype_t idtype, id_t id, \
--	SYS_PPOLL                  = 545 // { int ppoll(struct pollfd *fds, u_int nfds, \
--	SYS_FUTIMENS               = 546 // { int futimens(int fd, \
--	SYS_UTIMENSAT              = 547 // { int utimensat(int fd, \
-+	SYS_EXIT                     = 1   // { void sys_exit(int rval); } exit sys_exit_args void
-+	SYS_FORK                     = 2   // { int fork(void); }
-+	SYS_READ                     = 3   // { ssize_t read(int fd, void *buf, size_t nbyte); }
-+	SYS_WRITE                    = 4   // { ssize_t write(int fd, const void *buf, size_t nbyte); }
-+	SYS_OPEN                     = 5   // { int open(char *path, int flags, int mode); }
-+	SYS_CLOSE                    = 6   // { int close(int fd); }
-+	SYS_WAIT4                    = 7   // { int wait4(int pid, int *status, int options, struct rusage *rusage); }
-+	SYS_LINK                     = 9   // { int link(char *path, char *link); }
-+	SYS_UNLINK                   = 10  // { int unlink(char *path); }
-+	SYS_CHDIR                    = 12  // { int chdir(char *path); }
-+	SYS_FCHDIR                   = 13  // { int fchdir(int fd); }
-+	SYS_MKNOD                    = 14  // { int mknod(char *path, int mode, int dev); }
-+	SYS_CHMOD                    = 15  // { int chmod(char *path, int mode); }
-+	SYS_CHOWN                    = 16  // { int chown(char *path, int uid, int gid); }
-+	SYS_OBREAK                   = 17  // { int obreak(char *nsize); } break obreak_args int
-+	SYS_GETPID                   = 20  // { pid_t getpid(void); }
-+	SYS_MOUNT                    = 21  // { int mount(char *type, char *path, int flags, caddr_t data); }
-+	SYS_UNMOUNT                  = 22  // { int unmount(char *path, int flags); }
-+	SYS_SETUID                   = 23  // { int setuid(uid_t uid); }
-+	SYS_GETUID                   = 24  // { uid_t getuid(void); }
-+	SYS_GETEUID                  = 25  // { uid_t geteuid(void); }
-+	SYS_PTRACE                   = 26  // { int ptrace(int req, pid_t pid, caddr_t addr, int data); }
-+	SYS_RECVMSG                  = 27  // { int recvmsg(int s, struct msghdr *msg, int flags); }
-+	SYS_SENDMSG                  = 28  // { int sendmsg(int s, struct msghdr *msg, int flags); }
-+	SYS_RECVFROM                 = 29  // { int recvfrom(int s, caddr_t buf, size_t len, int flags, struct sockaddr * __restrict from, __socklen_t * __restrict fromlenaddr); }
-+	SYS_ACCEPT                   = 30  // { int accept(int s, struct sockaddr * __restrict name, __socklen_t * __restrict anamelen); }
-+	SYS_GETPEERNAME              = 31  // { int getpeername(int fdes, struct sockaddr * __restrict asa, __socklen_t * __restrict alen); }
-+	SYS_GETSOCKNAME              = 32  // { int getsockname(int fdes, struct sockaddr * __restrict asa, __socklen_t * __restrict alen); }
-+	SYS_ACCESS                   = 33  // { int access(char *path, int amode); }
-+	SYS_CHFLAGS                  = 34  // { int chflags(const char *path, u_long flags); }
-+	SYS_FCHFLAGS                 = 35  // { int fchflags(int fd, u_long flags); }
-+	SYS_SYNC                     = 36  // { int sync(void); }
-+	SYS_KILL                     = 37  // { int kill(int pid, int signum); }
-+	SYS_GETPPID                  = 39  // { pid_t getppid(void); }
-+	SYS_DUP                      = 41  // { int dup(u_int fd); }
-+	SYS_PIPE                     = 42  // { int pipe(void); }
-+	SYS_GETEGID                  = 43  // { gid_t getegid(void); }
-+	SYS_PROFIL                   = 44  // { int profil(caddr_t samples, size_t size, size_t offset, u_int scale); }
-+	SYS_KTRACE                   = 45  // { int ktrace(const char *fname, int ops, int facs, int pid); }
-+	SYS_GETGID                   = 47  // { gid_t getgid(void); }
-+	SYS_GETLOGIN                 = 49  // { int getlogin(char *namebuf, u_int namelen); }
-+	SYS_SETLOGIN                 = 50  // { int setlogin(char *namebuf); }
-+	SYS_ACCT                     = 51  // { int acct(char *path); }
-+	SYS_SIGALTSTACK              = 53  // { int sigaltstack(stack_t *ss, stack_t *oss); }
-+	SYS_IOCTL                    = 54  // { int ioctl(int fd, u_long com, caddr_t data); }
-+	SYS_REBOOT                   = 55  // { int reboot(int opt); }
-+	SYS_REVOKE                   = 56  // { int revoke(char *path); }
-+	SYS_SYMLINK                  = 57  // { int symlink(char *path, char *link); }
-+	SYS_READLINK                 = 58  // { ssize_t readlink(char *path, char *buf, size_t count); }
-+	SYS_EXECVE                   = 59  // { int execve(char *fname, char **argv, char **envv); }
-+	SYS_UMASK                    = 60  // { int umask(int newmask); } umask umask_args int
-+	SYS_CHROOT                   = 61  // { int chroot(char *path); }
-+	SYS_MSYNC                    = 65  // { int msync(void *addr, size_t len, int flags); }
-+	SYS_VFORK                    = 66  // { int vfork(void); }
-+	SYS_SBRK                     = 69  // { int sbrk(int incr); }
-+	SYS_SSTK                     = 70  // { int sstk(int incr); }
-+	SYS_OVADVISE                 = 72  // { int ovadvise(int anom); } vadvise ovadvise_args int
-+	SYS_MUNMAP                   = 73  // { int munmap(void *addr, size_t len); }
-+	SYS_MPROTECT                 = 74  // { int mprotect(const void *addr, size_t len, int prot); }
-+	SYS_MADVISE                  = 75  // { int madvise(void *addr, size_t len, int behav); }
-+	SYS_MINCORE                  = 78  // { int mincore(const void *addr, size_t len, char *vec); }
-+	SYS_GETGROUPS                = 79  // { int getgroups(u_int gidsetsize, gid_t *gidset); }
-+	SYS_SETGROUPS                = 80  // { int setgroups(u_int gidsetsize, gid_t *gidset); }
-+	SYS_GETPGRP                  = 81  // { int getpgrp(void); }
-+	SYS_SETPGID                  = 82  // { int setpgid(int pid, int pgid); }
-+	SYS_SETITIMER                = 83  // { int setitimer(u_int which, struct itimerval *itv, struct itimerval *oitv); }
-+	SYS_SWAPON                   = 85  // { int swapon(char *name); }
-+	SYS_GETITIMER                = 86  // { int getitimer(u_int which, struct itimerval *itv); }
-+	SYS_GETDTABLESIZE            = 89  // { int getdtablesize(void); }
-+	SYS_DUP2                     = 90  // { int dup2(u_int from, u_int to); }
-+	SYS_FCNTL                    = 92  // { int fcntl(int fd, int cmd, long arg); }
-+	SYS_SELECT                   = 93  // { int select(int nd, fd_set *in, fd_set *ou, fd_set *ex, struct timeval *tv); }
-+	SYS_FSYNC                    = 95  // { int fsync(int fd); }
-+	SYS_SETPRIORITY              = 96  // { int setpriority(int which, int who, int prio); }
-+	SYS_SOCKET                   = 97  // { int socket(int domain, int type, int protocol); }
-+	SYS_CONNECT                  = 98  // { int connect(int s, caddr_t name, int namelen); }
-+	SYS_GETPRIORITY              = 100 // { int getpriority(int which, int who); }
-+	SYS_BIND                     = 104 // { int bind(int s, caddr_t name, int namelen); }
-+	SYS_SETSOCKOPT               = 105 // { int setsockopt(int s, int level, int name, caddr_t val, int valsize); }
-+	SYS_LISTEN                   = 106 // { int listen(int s, int backlog); }
-+	SYS_GETTIMEOFDAY             = 116 // { int gettimeofday(struct timeval *tp, struct timezone *tzp); }
-+	SYS_GETRUSAGE                = 117 // { int getrusage(int who, struct rusage *rusage); }
-+	SYS_GETSOCKOPT               = 118 // { int getsockopt(int s, int level, int name, caddr_t val, int *avalsize); }
-+	SYS_READV                    = 120 // { int readv(int fd, struct iovec *iovp, u_int iovcnt); }
-+	SYS_WRITEV                   = 121 // { int writev(int fd, struct iovec *iovp, u_int iovcnt); }
-+	SYS_SETTIMEOFDAY             = 122 // { int settimeofday(struct timeval *tv, struct timezone *tzp); }
-+	SYS_FCHOWN                   = 123 // { int fchown(int fd, int uid, int gid); }
-+	SYS_FCHMOD                   = 124 // { int fchmod(int fd, int mode); }
-+	SYS_SETREUID                 = 126 // { int setreuid(int ruid, int euid); }
-+	SYS_SETREGID                 = 127 // { int setregid(int rgid, int egid); }
-+	SYS_RENAME                   = 128 // { int rename(char *from, char *to); }
-+	SYS_FLOCK                    = 131 // { int flock(int fd, int how); }
-+	SYS_MKFIFO                   = 132 // { int mkfifo(char *path, int mode); }
-+	SYS_SENDTO                   = 133 // { int sendto(int s, caddr_t buf, size_t len, int flags, caddr_t to, int tolen); }
-+	SYS_SHUTDOWN                 = 134 // { int shutdown(int s, int how); }
-+	SYS_SOCKETPAIR               = 135 // { int socketpair(int domain, int type, int protocol, int *rsv); }
-+	SYS_MKDIR                    = 136 // { int mkdir(char *path, int mode); }
-+	SYS_RMDIR                    = 137 // { int rmdir(char *path); }
-+	SYS_UTIMES                   = 138 // { int utimes(char *path, struct timeval *tptr); }
-+	SYS_ADJTIME                  = 140 // { int adjtime(struct timeval *delta, struct timeval *olddelta); }
-+	SYS_SETSID                   = 147 // { int setsid(void); }
-+	SYS_QUOTACTL                 = 148 // { int quotactl(char *path, int cmd, int uid, caddr_t arg); }
-+	SYS_NLM_SYSCALL              = 154 // { int nlm_syscall(int debug_level, int grace_period, int addr_count, char **addrs); }
-+	SYS_NFSSVC                   = 155 // { int nfssvc(int flag, caddr_t argp); }
-+	SYS_LGETFH                   = 160 // { int lgetfh(char *fname, struct fhandle *fhp); }
-+	SYS_GETFH                    = 161 // { int getfh(char *fname, struct fhandle *fhp); }
-+	SYS_SYSARCH                  = 165 // { int sysarch(int op, char *parms); }
-+	SYS_RTPRIO                   = 166 // { int rtprio(int function, pid_t pid, struct rtprio *rtp); }
-+	SYS_SEMSYS                   = 169 // { int semsys(int which, int a2, int a3, int a4, int a5); }
-+	SYS_MSGSYS                   = 170 // { int msgsys(int which, int a2, int a3, int a4, int a5, int a6); }
-+	SYS_SHMSYS                   = 171 // { int shmsys(int which, int a2, int a3, int a4); }
-+	SYS_SETFIB                   = 175 // { int setfib(int fibnum); }
-+	SYS_NTP_ADJTIME              = 176 // { int ntp_adjtime(struct timex *tp); }
-+	SYS_SETGID                   = 181 // { int setgid(gid_t gid); }
-+	SYS_SETEGID                  = 182 // { int setegid(gid_t egid); }
-+	SYS_SETEUID                  = 183 // { int seteuid(uid_t euid); }
-+	SYS_STAT                     = 188 // { int stat(char *path, struct stat *ub); }
-+	SYS_FSTAT                    = 189 // { int fstat(int fd, struct stat *sb); }
-+	SYS_LSTAT                    = 190 // { int lstat(char *path, struct stat *ub); }
-+	SYS_PATHCONF                 = 191 // { int pathconf(char *path, int name); }
-+	SYS_FPATHCONF                = 192 // { int fpathconf(int fd, int name); }
-+	SYS_GETRLIMIT                = 194 // { int getrlimit(u_int which, struct rlimit *rlp); } getrlimit __getrlimit_args int
-+	SYS_SETRLIMIT                = 195 // { int setrlimit(u_int which, struct rlimit *rlp); } setrlimit __setrlimit_args int
-+	SYS_GETDIRENTRIES            = 196 // { int getdirentries(int fd, char *buf, u_int count, long *basep); }
-+	SYS___SYSCTL                 = 202 // { int __sysctl(int *name, u_int namelen, void *old, size_t *oldlenp, void *new, size_t newlen); } __sysctl sysctl_args int
-+	SYS_MLOCK                    = 203 // { int mlock(const void *addr, size_t len); }
-+	SYS_MUNLOCK                  = 204 // { int munlock(const void *addr, size_t len); }
-+	SYS_UNDELETE                 = 205 // { int undelete(char *path); }
-+	SYS_FUTIMES                  = 206 // { int futimes(int fd, struct timeval *tptr); }
-+	SYS_GETPGID                  = 207 // { int getpgid(pid_t pid); }
-+	SYS_POLL                     = 209 // { int poll(struct pollfd *fds, u_int nfds, int timeout); }
-+	SYS_SEMGET                   = 221 // { int semget(key_t key, int nsems, int semflg); }
-+	SYS_SEMOP                    = 222 // { int semop(int semid, struct sembuf *sops, size_t nsops); }
-+	SYS_MSGGET                   = 225 // { int msgget(key_t key, int msgflg); }
-+	SYS_MSGSND                   = 226 // { int msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg); }
-+	SYS_MSGRCV                   = 227 // { int msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg); }
-+	SYS_SHMAT                    = 228 // { int shmat(int shmid, const void *shmaddr, int shmflg); }
-+	SYS_SHMDT                    = 230 // { int shmdt(const void *shmaddr); }
-+	SYS_SHMGET                   = 231 // { int shmget(key_t key, size_t size, int shmflg); }
-+	SYS_CLOCK_GETTIME            = 232 // { int clock_gettime(clockid_t clock_id, struct timespec *tp); }
-+	SYS_CLOCK_SETTIME            = 233 // { int clock_settime( clockid_t clock_id, const struct timespec *tp); }
-+	SYS_CLOCK_GETRES             = 234 // { int clock_getres(clockid_t clock_id, struct timespec *tp); }
-+	SYS_KTIMER_CREATE            = 235 // { int ktimer_create(clockid_t clock_id, struct sigevent *evp, int *timerid); }
-+	SYS_KTIMER_DELETE            = 236 // { int ktimer_delete(int timerid); }
-+	SYS_KTIMER_SETTIME           = 237 // { int ktimer_settime(int timerid, int flags, const struct itimerspec *value, struct itimerspec *ovalue); }
-+	SYS_KTIMER_GETTIME           = 238 // { int ktimer_gettime(int timerid, struct itimerspec *value); }
-+	SYS_KTIMER_GETOVERRUN        = 239 // { int ktimer_getoverrun(int timerid); }
-+	SYS_NANOSLEEP                = 240 // { int nanosleep(const struct timespec *rqtp, struct timespec *rmtp); }
-+	SYS_FFCLOCK_GETCOUNTER       = 241 // { int ffclock_getcounter(ffcounter *ffcount); }
-+	SYS_FFCLOCK_SETESTIMATE      = 242 // { int ffclock_setestimate( struct ffclock_estimate *cest); }
-+	SYS_FFCLOCK_GETESTIMATE      = 243 // { int ffclock_getestimate( struct ffclock_estimate *cest); }
-+	SYS_CLOCK_NANOSLEEP          = 244 // { int clock_nanosleep(clockid_t clock_id, int flags, const struct timespec *rqtp, struct timespec *rmtp); }
-+	SYS_CLOCK_GETCPUCLOCKID2     = 247 // { int clock_getcpuclockid2(id_t id,int which, clockid_t *clock_id); }
-+	SYS_NTP_GETTIME              = 248 // { int ntp_gettime(struct ntptimeval *ntvp); }
-+	SYS_MINHERIT                 = 250 // { int minherit(void *addr, size_t len, int inherit); }
-+	SYS_RFORK                    = 251 // { int rfork(int flags); }
-+	SYS_OPENBSD_POLL             = 252 // { int openbsd_poll(struct pollfd *fds, u_int nfds, int timeout); }
-+	SYS_ISSETUGID                = 253 // { int issetugid(void); }
-+	SYS_LCHOWN                   = 254 // { int lchown(char *path, int uid, int gid); }
-+	SYS_AIO_READ                 = 255 // { int aio_read(struct aiocb *aiocbp); }
-+	SYS_AIO_WRITE                = 256 // { int aio_write(struct aiocb *aiocbp); }
-+	SYS_LIO_LISTIO               = 257 // { int lio_listio(int mode, struct aiocb * const *acb_list, int nent, struct sigevent *sig); }
-+	SYS_GETDENTS                 = 272 // { int getdents(int fd, char *buf, size_t count); }
-+	SYS_LCHMOD                   = 274 // { int lchmod(char *path, mode_t mode); }
-+	SYS_LUTIMES                  = 276 // { int lutimes(char *path, struct timeval *tptr); }
-+	SYS_NSTAT                    = 278 // { int nstat(char *path, struct nstat *ub); }
-+	SYS_NFSTAT                   = 279 // { int nfstat(int fd, struct nstat *sb); }
-+	SYS_NLSTAT                   = 280 // { int nlstat(char *path, struct nstat *ub); }
-+	SYS_PREADV                   = 289 // { ssize_t preadv(int fd, struct iovec *iovp, u_int iovcnt, off_t offset); }
-+	SYS_PWRITEV                  = 290 // { ssize_t pwritev(int fd, struct iovec *iovp, u_int iovcnt, off_t offset); }
-+	SYS_FHOPEN                   = 298 // { int fhopen(const struct fhandle *u_fhp, int flags); }
-+	SYS_FHSTAT                   = 299 // { int fhstat(const struct fhandle *u_fhp, struct stat *sb); }
-+	SYS_MODNEXT                  = 300 // { int modnext(int modid); }
-+	SYS_MODSTAT                  = 301 // { int modstat(int modid, struct module_stat *stat); }
-+	SYS_MODFNEXT                 = 302 // { int modfnext(int modid); }
-+	SYS_MODFIND                  = 303 // { int modfind(const char *name); }
-+	SYS_KLDLOAD                  = 304 // { int kldload(const char *file); }
-+	SYS_KLDUNLOAD                = 305 // { int kldunload(int fileid); }
-+	SYS_KLDFIND                  = 306 // { int kldfind(const char *file); }
-+	SYS_KLDNEXT                  = 307 // { int kldnext(int fileid); }
-+	SYS_KLDSTAT                  = 308 // { int kldstat(int fileid, struct kld_file_stat* stat); }
-+	SYS_KLDFIRSTMOD              = 309 // { int kldfirstmod(int fileid); }
-+	SYS_GETSID                   = 310 // { int getsid(pid_t pid); }
-+	SYS_SETRESUID                = 311 // { int setresuid(uid_t ruid, uid_t euid, uid_t suid); }
-+	SYS_SETRESGID                = 312 // { int setresgid(gid_t rgid, gid_t egid, gid_t sgid); }
-+	SYS_AIO_RETURN               = 314 // { ssize_t aio_return(struct aiocb *aiocbp); }
-+	SYS_AIO_SUSPEND              = 315 // { int aio_suspend( struct aiocb * const * aiocbp, int nent, const struct timespec *timeout); }
-+	SYS_AIO_CANCEL               = 316 // { int aio_cancel(int fd, struct aiocb *aiocbp); }
-+	SYS_AIO_ERROR                = 317 // { int aio_error(struct aiocb *aiocbp); }
-+	SYS_YIELD                    = 321 // { int yield(void); }
-+	SYS_MLOCKALL                 = 324 // { int mlockall(int how); }
-+	SYS_MUNLOCKALL               = 325 // { int munlockall(void); }
-+	SYS___GETCWD                 = 326 // { int __getcwd(char *buf, u_int buflen); }
-+	SYS_SCHED_SETPARAM           = 327 // { int sched_setparam (pid_t pid, const struct sched_param *param); }
-+	SYS_SCHED_GETPARAM           = 328 // { int sched_getparam (pid_t pid, struct sched_param *param); }
-+	SYS_SCHED_SETSCHEDULER       = 329 // { int sched_setscheduler (pid_t pid, int policy, const struct sched_param *param); }
-+	SYS_SCHED_GETSCHEDULER       = 330 // { int sched_getscheduler (pid_t pid); }
-+	SYS_SCHED_YIELD              = 331 // { int sched_yield (void); }
-+	SYS_SCHED_GET_PRIORITY_MAX   = 332 // { int sched_get_priority_max (int policy); }
-+	SYS_SCHED_GET_PRIORITY_MIN   = 333 // { int sched_get_priority_min (int policy); }
-+	SYS_SCHED_RR_GET_INTERVAL    = 334 // { int sched_rr_get_interval (pid_t pid, struct timespec *interval); }
-+	SYS_UTRACE                   = 335 // { int utrace(const void *addr, size_t len); }
-+	SYS_KLDSYM                   = 337 // { int kldsym(int fileid, int cmd, void *data); }
-+	SYS_JAIL                     = 338 // { int jail(struct jail *jail); }
-+	SYS_SIGPROCMASK              = 340 // { int sigprocmask(int how, const sigset_t *set, sigset_t *oset); }
-+	SYS_SIGSUSPEND               = 341 // { int sigsuspend(const sigset_t *sigmask); }
-+	SYS_SIGPENDING               = 343 // { int sigpending(sigset_t *set); }
-+	SYS_SIGTIMEDWAIT             = 345 // { int sigtimedwait(const sigset_t *set, siginfo_t *info, const struct timespec *timeout); }
-+	SYS_SIGWAITINFO              = 346 // { int sigwaitinfo(const sigset_t *set, siginfo_t *info); }
-+	SYS___ACL_GET_FILE           = 347 // { int __acl_get_file(const char *path, acl_type_t type, struct acl *aclp); }
-+	SYS___ACL_SET_FILE           = 348 // { int __acl_set_file(const char *path, acl_type_t type, struct acl *aclp); }
-+	SYS___ACL_GET_FD             = 349 // { int __acl_get_fd(int filedes, acl_type_t type, struct acl *aclp); }
-+	SYS___ACL_SET_FD             = 350 // { int __acl_set_fd(int filedes, acl_type_t type, struct acl *aclp); }
-+	SYS___ACL_DELETE_FILE        = 351 // { int __acl_delete_file(const char *path, acl_type_t type); }
-+	SYS___ACL_DELETE_FD          = 352 // { int __acl_delete_fd(int filedes, acl_type_t type); }
-+	SYS___ACL_ACLCHECK_FILE      = 353 // { int __acl_aclcheck_file(const char *path, acl_type_t type, struct acl *aclp); }
-+	SYS___ACL_ACLCHECK_FD        = 354 // { int __acl_aclcheck_fd(int filedes, acl_type_t type, struct acl *aclp); }
-+	SYS_EXTATTRCTL               = 355 // { int extattrctl(const char *path, int cmd, const char *filename, int attrnamespace, const char *attrname); }
-+	SYS_EXTATTR_SET_FILE         = 356 // { ssize_t extattr_set_file( const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); }
-+	SYS_EXTATTR_GET_FILE         = 357 // { ssize_t extattr_get_file( const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); }
-+	SYS_EXTATTR_DELETE_FILE      = 358 // { int extattr_delete_file(const char *path, int attrnamespace, const char *attrname); }
-+	SYS_AIO_WAITCOMPLETE         = 359 // { ssize_t aio_waitcomplete( struct aiocb **aiocbp, struct timespec *timeout); }
-+	SYS_GETRESUID                = 360 // { int getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); }
-+	SYS_GETRESGID                = 361 // { int getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); }
-+	SYS_KQUEUE                   = 362 // { int kqueue(void); }
-+	SYS_KEVENT                   = 363 // { int kevent(int fd, struct kevent *changelist, int nchanges, struct kevent *eventlist, int nevents, const struct timespec *timeout); }
-+	SYS_EXTATTR_SET_FD           = 371 // { ssize_t extattr_set_fd(int fd, int attrnamespace, const char *attrname, void *data, size_t nbytes); }
-+	SYS_EXTATTR_GET_FD           = 372 // { ssize_t extattr_get_fd(int fd, int attrnamespace, const char *attrname, void *data, size_t nbytes); }
-+	SYS_EXTATTR_DELETE_FD        = 373 // { int extattr_delete_fd(int fd, int attrnamespace, const char *attrname); }
-+	SYS___SETUGID                = 374 // { int __setugid(int flag); }
-+	SYS_EACCESS                  = 376 // { int eaccess(char *path, int amode); }
-+	SYS_NMOUNT                   = 378 // { int nmount(struct iovec *iovp, unsigned int iovcnt, int flags); }
-+	SYS___MAC_GET_PROC           = 384 // { int __mac_get_proc(struct mac *mac_p); }
-+	SYS___MAC_SET_PROC           = 385 // { int __mac_set_proc(struct mac *mac_p); }
-+	SYS___MAC_GET_FD             = 386 // { int __mac_get_fd(int fd, struct mac *mac_p); }
-+	SYS___MAC_GET_FILE           = 387 // { int __mac_get_file(const char *path_p, struct mac *mac_p); }
-+	SYS___MAC_SET_FD             = 388 // { int __mac_set_fd(int fd, struct mac *mac_p); }
-+	SYS___MAC_SET_FILE           = 389 // { int __mac_set_file(const char *path_p, struct mac *mac_p); }
-+	SYS_KENV                     = 390 // { int kenv(int what, const char *name, char *value, int len); }
-+	SYS_LCHFLAGS                 = 391 // { int lchflags(const char *path, u_long flags); }
-+	SYS_UUIDGEN                  = 392 // { int uuidgen(struct uuid *store, int count); }
-+	SYS_SENDFILE                 = 393 // { int sendfile(int fd, int s, off_t offset, size_t nbytes, struct sf_hdtr *hdtr, off_t *sbytes, int flags); }
-+	SYS_MAC_SYSCALL              = 394 // { int mac_syscall(const char *policy, int call, void *arg); }
-+	SYS_GETFSSTAT                = 395 // { int getfsstat(struct statfs *buf, long bufsize, int mode); }
-+	SYS_STATFS                   = 396 // { int statfs(char *path, struct statfs *buf); }
-+	SYS_FSTATFS                  = 397 // { int fstatfs(int fd, struct statfs *buf); }
-+	SYS_FHSTATFS                 = 398 // { int fhstatfs(const struct fhandle *u_fhp, struct statfs *buf); }
-+	SYS_KSEM_CLOSE               = 400 // { int ksem_close(semid_t id); }
-+	SYS_KSEM_POST                = 401 // { int ksem_post(semid_t id); }
-+	SYS_KSEM_WAIT                = 402 // { int ksem_wait(semid_t id); }
-+	SYS_KSEM_TRYWAIT             = 403 // { int ksem_trywait(semid_t id); }
-+	SYS_KSEM_INIT                = 404 // { int ksem_init(semid_t *idp, unsigned int value); }
-+	SYS_KSEM_OPEN                = 405 // { int ksem_open(semid_t *idp, const char *name, int oflag, mode_t mode, unsigned int value); }
-+	SYS_KSEM_UNLINK              = 406 // { int ksem_unlink(const char *name); }
-+	SYS_KSEM_GETVALUE            = 407 // { int ksem_getvalue(semid_t id, int *val); }
-+	SYS_KSEM_DESTROY             = 408 // { int ksem_destroy(semid_t id); }
-+	SYS___MAC_GET_PID            = 409 // { int __mac_get_pid(pid_t pid, struct mac *mac_p); }
-+	SYS___MAC_GET_LINK           = 410 // { int __mac_get_link(const char *path_p, struct mac *mac_p); }
-+	SYS___MAC_SET_LINK           = 411 // { int __mac_set_link(const char *path_p, struct mac *mac_p); }
-+	SYS_EXTATTR_SET_LINK         = 412 // { ssize_t extattr_set_link( const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); }
-+	SYS_EXTATTR_GET_LINK         = 413 // { ssize_t extattr_get_link( const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); }
-+	SYS_EXTATTR_DELETE_LINK      = 414 // { int extattr_delete_link( const char *path, int attrnamespace, const char *attrname); }
-+	SYS___MAC_EXECVE             = 415 // { int __mac_execve(char *fname, char **argv, char **envv, struct mac *mac_p); }
-+	SYS_SIGACTION                = 416 // { int sigaction(int sig, const struct sigaction *act, struct sigaction *oact); }
-+	SYS_SIGRETURN                = 417 // { int sigreturn( const struct __ucontext *sigcntxp); }
-+	SYS_GETCONTEXT               = 421 // { int getcontext(struct __ucontext *ucp); }
-+	SYS_SETCONTEXT               = 422 // { int setcontext( const struct __ucontext *ucp); }
-+	SYS_SWAPCONTEXT              = 423 // { int swapcontext(struct __ucontext *oucp, const struct __ucontext *ucp); }
-+	SYS_SWAPOFF                  = 424 // { int swapoff(const char *name); }
-+	SYS___ACL_GET_LINK           = 425 // { int __acl_get_link(const char *path, acl_type_t type, struct acl *aclp); }
-+	SYS___ACL_SET_LINK           = 426 // { int __acl_set_link(const char *path, acl_type_t type, struct acl *aclp); }
-+	SYS___ACL_DELETE_LINK        = 427 // { int __acl_delete_link(const char *path, acl_type_t type); }
-+	SYS___ACL_ACLCHECK_LINK      = 428 // { int __acl_aclcheck_link(const char *path, acl_type_t type, struct acl *aclp); }
-+	SYS_SIGWAIT                  = 429 // { int sigwait(const sigset_t *set, int *sig); }
-+	SYS_THR_CREATE               = 430 // { int thr_create(ucontext_t *ctx, long *id, int flags); }
-+	SYS_THR_EXIT                 = 431 // { void thr_exit(long *state); }
-+	SYS_THR_SELF                 = 432 // { int thr_self(long *id); }
-+	SYS_THR_KILL                 = 433 // { int thr_kill(long id, int sig); }
-+	SYS_JAIL_ATTACH              = 436 // { int jail_attach(int jid); }
-+	SYS_EXTATTR_LIST_FD          = 437 // { ssize_t extattr_list_fd(int fd, int attrnamespace, void *data, size_t nbytes); }
-+	SYS_EXTATTR_LIST_FILE        = 438 // { ssize_t extattr_list_file( const char *path, int attrnamespace, void *data, size_t nbytes); }
-+	SYS_EXTATTR_LIST_LINK        = 439 // { ssize_t extattr_list_link( const char *path, int attrnamespace, void *data, size_t nbytes); }
-+	SYS_KSEM_TIMEDWAIT           = 441 // { int ksem_timedwait(semid_t id, const struct timespec *abstime); }
-+	SYS_THR_SUSPEND              = 442 // { int thr_suspend( const struct timespec *timeout); }
-+	SYS_THR_WAKE                 = 443 // { int thr_wake(long id); }
-+	SYS_KLDUNLOADF               = 444 // { int kldunloadf(int fileid, int flags); }
-+	SYS_AUDIT                    = 445 // { int audit(const void *record, u_int length); }
-+	SYS_AUDITON                  = 446 // { int auditon(int cmd, void *data, u_int length); }
-+	SYS_GETAUID                  = 447 // { int getauid(uid_t *auid); }
-+	SYS_SETAUID                  = 448 // { int setauid(uid_t *auid); }
-+	SYS_GETAUDIT                 = 449 // { int getaudit(struct auditinfo *auditinfo); }
-+	SYS_SETAUDIT                 = 450 // { int setaudit(struct auditinfo *auditinfo); }
-+	SYS_GETAUDIT_ADDR            = 451 // { int getaudit_addr( struct auditinfo_addr *auditinfo_addr, u_int length); }
-+	SYS_SETAUDIT_ADDR            = 452 // { int setaudit_addr( struct auditinfo_addr *auditinfo_addr, u_int length); }
-+	SYS_AUDITCTL                 = 453 // { int auditctl(char *path); }
-+	SYS__UMTX_OP                 = 454 // { int _umtx_op(void *obj, int op, u_long val, void *uaddr1, void *uaddr2); }
-+	SYS_THR_NEW                  = 455 // { int thr_new(struct thr_param *param, int param_size); }
-+	SYS_SIGQUEUE                 = 456 // { int sigqueue(pid_t pid, int signum, void *value); }
-+	SYS_KMQ_OPEN                 = 457 // { int kmq_open(const char *path, int flags, mode_t mode, const struct mq_attr *attr); }
-+	SYS_KMQ_SETATTR              = 458 // { int kmq_setattr(int mqd,		const struct mq_attr *attr,		struct mq_attr *oattr); }
-+	SYS_KMQ_TIMEDRECEIVE         = 459 // { int kmq_timedreceive(int mqd,	char *msg_ptr, size_t msg_len,	unsigned *msg_prio,			const struct timespec *abs_timeout); }
-+	SYS_KMQ_TIMEDSEND            = 460 // { int kmq_timedsend(int mqd,		const char *msg_ptr, size_t msg_len,unsigned msg_prio,			const struct timespec *abs_timeout);}
-+	SYS_KMQ_NOTIFY               = 461 // { int kmq_notify(int mqd,		const struct sigevent *sigev); }
-+	SYS_KMQ_UNLINK               = 462 // { int kmq_unlink(const char *path); }
-+	SYS_ABORT2                   = 463 // { int abort2(const char *why, int nargs, void **args); }
-+	SYS_THR_SET_NAME             = 464 // { int thr_set_name(long id, const char *name); }
-+	SYS_AIO_FSYNC                = 465 // { int aio_fsync(int op, struct aiocb *aiocbp); }
-+	SYS_RTPRIO_THREAD            = 466 // { int rtprio_thread(int function, lwpid_t lwpid, struct rtprio *rtp); }
-+	SYS_SCTP_PEELOFF             = 471 // { int sctp_peeloff(int sd, uint32_t name); }
-+	SYS_SCTP_GENERIC_SENDMSG     = 472 // { int sctp_generic_sendmsg(int sd, caddr_t msg, int mlen, caddr_t to, __socklen_t tolen, struct sctp_sndrcvinfo *sinfo, int flags); }
-+	SYS_SCTP_GENERIC_SENDMSG_IOV = 473 // { int sctp_generic_sendmsg_iov(int sd, struct iovec *iov, int iovlen, caddr_t to, __socklen_t tolen, struct sctp_sndrcvinfo *sinfo, int flags); }
-+	SYS_SCTP_GENERIC_RECVMSG     = 474 // { int sctp_generic_recvmsg(int sd, struct iovec *iov, int iovlen, struct sockaddr * from, __socklen_t *fromlenaddr, struct sctp_sndrcvinfo *sinfo, int *msg_flags); }
-+	SYS_PREAD                    = 475 // { ssize_t pread(int fd, void *buf, size_t nbyte, off_t offset); }
-+	SYS_PWRITE                   = 476 // { ssize_t pwrite(int fd, const void *buf, size_t nbyte, off_t offset); }
-+	SYS_MMAP                     = 477 // { caddr_t mmap(caddr_t addr, size_t len, int prot, int flags, int fd, off_t pos); }
-+	SYS_LSEEK                    = 478 // { off_t lseek(int fd, off_t offset, int whence); }
-+	SYS_TRUNCATE                 = 479 // { int truncate(char *path, off_t length); }
-+	SYS_FTRUNCATE                = 480 // { int ftruncate(int fd, off_t length); }
-+	SYS_THR_KILL2                = 481 // { int thr_kill2(pid_t pid, long id, int sig); }
-+	SYS_SHM_OPEN                 = 482 // { int shm_open(const char *path, int flags, mode_t mode); }
-+	SYS_SHM_UNLINK               = 483 // { int shm_unlink(const char *path); }
-+	SYS_CPUSET                   = 484 // { int cpuset(cpusetid_t *setid); }
-+	SYS_CPUSET_SETID             = 485 // { int cpuset_setid(cpuwhich_t which, id_t id, cpusetid_t setid); }
-+	SYS_CPUSET_GETID             = 486 // { int cpuset_getid(cpulevel_t level, cpuwhich_t which, id_t id, cpusetid_t *setid); }
-+	SYS_CPUSET_GETAFFINITY       = 487 // { int cpuset_getaffinity(cpulevel_t level, cpuwhich_t which, id_t id, size_t cpusetsize, cpuset_t *mask); }
-+	SYS_CPUSET_SETAFFINITY       = 488 // { int cpuset_setaffinity(cpulevel_t level, cpuwhich_t which, id_t id, size_t cpusetsize, const cpuset_t *mask); }
-+	SYS_FACCESSAT                = 489 // { int faccessat(int fd, char *path, int amode, int flag); }
-+	SYS_FCHMODAT                 = 490 // { int fchmodat(int fd, char *path, mode_t mode, int flag); }
-+	SYS_FCHOWNAT                 = 491 // { int fchownat(int fd, char *path, uid_t uid, gid_t gid, int flag); }
-+	SYS_FEXECVE                  = 492 // { int fexecve(int fd, char **argv, char **envv); }
-+	SYS_FSTATAT                  = 493 // { int fstatat(int fd, char *path, struct stat *buf, int flag); }
-+	SYS_FUTIMESAT                = 494 // { int futimesat(int fd, char *path, struct timeval *times); }
-+	SYS_LINKAT                   = 495 // { int linkat(int fd1, char *path1, int fd2, char *path2, int flag); }
-+	SYS_MKDIRAT                  = 496 // { int mkdirat(int fd, char *path, mode_t mode); }
-+	SYS_MKFIFOAT                 = 497 // { int mkfifoat(int fd, char *path, mode_t mode); }
-+	SYS_MKNODAT                  = 498 // { int mknodat(int fd, char *path, mode_t mode, dev_t dev); }
-+	SYS_OPENAT                   = 499 // { int openat(int fd, char *path, int flag, mode_t mode); }
-+	SYS_READLINKAT               = 500 // { int readlinkat(int fd, char *path, char *buf, size_t bufsize); }
-+	SYS_RENAMEAT                 = 501 // { int renameat(int oldfd, char *old, int newfd, char *new); }
-+	SYS_SYMLINKAT                = 502 // { int symlinkat(char *path1, int fd, char *path2); }
-+	SYS_UNLINKAT                 = 503 // { int unlinkat(int fd, char *path, int flag); }
-+	SYS_POSIX_OPENPT             = 504 // { int posix_openpt(int flags); }
-+	SYS_GSSD_SYSCALL             = 505 // { int gssd_syscall(char *path); }
-+	SYS_JAIL_GET                 = 506 // { int jail_get(struct iovec *iovp, unsigned int iovcnt, int flags); }
-+	SYS_JAIL_SET                 = 507 // { int jail_set(struct iovec *iovp, unsigned int iovcnt, int flags); }
-+	SYS_JAIL_REMOVE              = 508 // { int jail_remove(int jid); }
-+	SYS_CLOSEFROM                = 509 // { int closefrom(int lowfd); }
-+	SYS___SEMCTL                 = 510 // { int __semctl(int semid, int semnum, int cmd, union semun *arg); }
-+	SYS_MSGCTL                   = 511 // { int msgctl(int msqid, int cmd, struct msqid_ds *buf); }
-+	SYS_SHMCTL                   = 512 // { int shmctl(int shmid, int cmd, struct shmid_ds *buf); }
-+	SYS_LPATHCONF                = 513 // { int lpathconf(char *path, int name); }
-+	SYS___CAP_RIGHTS_GET         = 515 // { int __cap_rights_get(int version, int fd, cap_rights_t *rightsp); }
-+	SYS_CAP_ENTER                = 516 // { int cap_enter(void); }
-+	SYS_CAP_GETMODE              = 517 // { int cap_getmode(u_int *modep); }
-+	SYS_PDFORK                   = 518 // { int pdfork(int *fdp, int flags); }
-+	SYS_PDKILL                   = 519 // { int pdkill(int fd, int signum); }
-+	SYS_PDGETPID                 = 520 // { int pdgetpid(int fd, pid_t *pidp); }
-+	SYS_PSELECT                  = 522 // { int pselect(int nd, fd_set *in, fd_set *ou, fd_set *ex, const struct timespec *ts, const sigset_t *sm); }
-+	SYS_GETLOGINCLASS            = 523 // { int getloginclass(char *namebuf, size_t namelen); }
-+	SYS_SETLOGINCLASS            = 524 // { int setloginclass(const char *namebuf); }
-+	SYS_RCTL_GET_RACCT           = 525 // { int rctl_get_racct(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); }
-+	SYS_RCTL_GET_RULES           = 526 // { int rctl_get_rules(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); }
-+	SYS_RCTL_GET_LIMITS          = 527 // { int rctl_get_limits(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); }
-+	SYS_RCTL_ADD_RULE            = 528 // { int rctl_add_rule(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); }
-+	SYS_RCTL_REMOVE_RULE         = 529 // { int rctl_remove_rule(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); }
-+	SYS_POSIX_FALLOCATE          = 530 // { int posix_fallocate(int fd, off_t offset, off_t len); }
-+	SYS_POSIX_FADVISE            = 531 // { int posix_fadvise(int fd, off_t offset, off_t len, int advice); }
-+	SYS_WAIT6                    = 532 // { int wait6(idtype_t idtype, id_t id, int *status, int options, struct __wrusage *wrusage, siginfo_t *info); }
-+	SYS_CAP_RIGHTS_LIMIT         = 533 // { int cap_rights_limit(int fd, cap_rights_t *rightsp); }
-+	SYS_CAP_IOCTLS_LIMIT         = 534 // { int cap_ioctls_limit(int fd, const u_long *cmds, size_t ncmds); }
-+	SYS_CAP_IOCTLS_GET           = 535 // { ssize_t cap_ioctls_get(int fd, u_long *cmds, size_t maxcmds); }
-+	SYS_CAP_FCNTLS_LIMIT         = 536 // { int cap_fcntls_limit(int fd, uint32_t fcntlrights); }
-+	SYS_CAP_FCNTLS_GET           = 537 // { int cap_fcntls_get(int fd, uint32_t *fcntlrightsp); }
-+	SYS_BINDAT                   = 538 // { int bindat(int fd, int s, caddr_t name, int namelen); }
-+	SYS_CONNECTAT                = 539 // { int connectat(int fd, int s, caddr_t name, int namelen); }
-+	SYS_CHFLAGSAT                = 540 // { int chflagsat(int fd, const char *path, u_long flags, int atflag); }
-+	SYS_ACCEPT4                  = 541 // { int accept4(int s, struct sockaddr * __restrict name, __socklen_t * __restrict anamelen, int flags); }
-+	SYS_PIPE2                    = 542 // { int pipe2(int *fildes, int flags); }
-+	SYS_AIO_MLOCK                = 543 // { int aio_mlock(struct aiocb *aiocbp); }
-+	SYS_PROCCTL                  = 544 // { int procctl(idtype_t idtype, id_t id, int com, void *data); }
-+	SYS_PPOLL                    = 545 // { int ppoll(struct pollfd *fds, u_int nfds, const struct timespec *ts, const sigset_t *set); }
-+	SYS_FUTIMENS                 = 546 // { int futimens(int fd, struct timespec *times); }
-+	SYS_UTIMENSAT                = 547 // { int utimensat(int fd, char *path, struct timespec *times, int flag); }
-+	SYS_NUMA_GETAFFINITY         = 548 // { int numa_getaffinity(cpuwhich_t which, id_t id, struct vm_domain_policy_entry *policy); }
-+	SYS_NUMA_SETAFFINITY         = 549 // { int numa_setaffinity(cpuwhich_t which, id_t id, const struct vm_domain_policy_entry *policy); }
-+	SYS_FDATASYNC                = 550 // { int fdatasync(int fd); }
- )
-diff --git a/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm.go b/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm.go
-index 44883141..4a6dfd4a 100644
---- a/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm.go
-+++ b/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm.go
-@@ -1,4 +1,4 @@
--// mksysnum_freebsd.pl
-+// go run mksysnum.go https://svn.freebsd.org/base/stable/11/sys/kern/syscalls.master
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- // +build arm,freebsd
-@@ -7,347 +7,390 @@ package unix
- 
- const (
- 	// SYS_NOSYS = 0;  // { int nosys(void); } syscall nosys_args int
--	SYS_EXIT                   = 1   // { void sys_exit(int rval); } exit \
--	SYS_FORK                   = 2   // { int fork(void); }
--	SYS_READ                   = 3   // { ssize_t read(int fd, void *buf, \
--	SYS_WRITE                  = 4   // { ssize_t write(int fd, const void *buf, \
--	SYS_OPEN                   = 5   // { int open(char *path, int flags, int mode); }
--	SYS_CLOSE                  = 6   // { int close(int fd); }
--	SYS_WAIT4                  = 7   // { int wait4(int pid, int *status, \
--	SYS_LINK                   = 9   // { int link(char *path, char *link); }
--	SYS_UNLINK                 = 10  // { int unlink(char *path); }
--	SYS_CHDIR                  = 12  // { int chdir(char *path); }
--	SYS_FCHDIR                 = 13  // { int fchdir(int fd); }
--	SYS_MKNOD                  = 14  // { int mknod(char *path, int mode, int dev); }
--	SYS_CHMOD                  = 15  // { int chmod(char *path, int mode); }
--	SYS_CHOWN                  = 16  // { int chown(char *path, int uid, int gid); }
--	SYS_OBREAK                 = 17  // { int obreak(char *nsize); } break \
--	SYS_GETPID                 = 20  // { pid_t getpid(void); }
--	SYS_MOUNT                  = 21  // { int mount(char *type, char *path, \
--	SYS_UNMOUNT                = 22  // { int unmount(char *path, int flags); }
--	SYS_SETUID                 = 23  // { int setuid(uid_t uid); }
--	SYS_GETUID                 = 24  // { uid_t getuid(void); }
--	SYS_GETEUID                = 25  // { uid_t geteuid(void); }
--	SYS_PTRACE                 = 26  // { int ptrace(int req, pid_t pid, \
--	SYS_RECVMSG                = 27  // { int recvmsg(int s, struct msghdr *msg, \
--	SYS_SENDMSG                = 28  // { int sendmsg(int s, struct msghdr *msg, \
--	SYS_RECVFROM               = 29  // { int recvfrom(int s, caddr_t buf, \
--	SYS_ACCEPT                 = 30  // { int accept(int s, \
--	SYS_GETPEERNAME            = 31  // { int getpeername(int fdes, \
--	SYS_GETSOCKNAME            = 32  // { int getsockname(int fdes, \
--	SYS_ACCESS                 = 33  // { int access(char *path, int amode); }
--	SYS_CHFLAGS                = 34  // { int chflags(const char *path, u_long flags); }
--	SYS_FCHFLAGS               = 35  // { int fchflags(int fd, u_long flags); }
--	SYS_SYNC                   = 36  // { int sync(void); }
--	SYS_KILL                   = 37  // { int kill(int pid, int signum); }
--	SYS_GETPPID                = 39  // { pid_t getppid(void); }
--	SYS_DUP                    = 41  // { int dup(u_int fd); }
--	SYS_PIPE                   = 42  // { int pipe(void); }
--	SYS_GETEGID                = 43  // { gid_t getegid(void); }
--	SYS_PROFIL                 = 44  // { int profil(caddr_t samples, size_t size, \
--	SYS_KTRACE                 = 45  // { int ktrace(const char *fname, int ops, \
--	SYS_GETGID                 = 47  // { gid_t getgid(void); }
--	SYS_GETLOGIN               = 49  // { int getlogin(char *namebuf, u_int \
--	SYS_SETLOGIN               = 50  // { int setlogin(char *namebuf); }
--	SYS_ACCT                   = 51  // { int acct(char *path); }
--	SYS_SIGALTSTACK            = 53  // { int sigaltstack(stack_t *ss, \
--	SYS_IOCTL                  = 54  // { int ioctl(int fd, u_long com, \
--	SYS_REBOOT                 = 55  // { int reboot(int opt); }
--	SYS_REVOKE                 = 56  // { int revoke(char *path); }
--	SYS_SYMLINK                = 57  // { int symlink(char *path, char *link); }
--	SYS_READLINK               = 58  // { ssize_t readlink(char *path, char *buf, \
--	SYS_EXECVE                 = 59  // { int execve(char *fname, char **argv, \
--	SYS_UMASK                  = 60  // { int umask(int newmask); } umask umask_args \
--	SYS_CHROOT                 = 61  // { int chroot(char *path); }
--	SYS_MSYNC                  = 65  // { int msync(void *addr, size_t len, \
--	SYS_VFORK                  = 66  // { int vfork(void); }
--	SYS_SBRK                   = 69  // { int sbrk(int incr); }
--	SYS_SSTK                   = 70  // { int sstk(int incr); }
--	SYS_OVADVISE               = 72  // { int ovadvise(int anom); } vadvise \
--	SYS_MUNMAP                 = 73  // { int munmap(void *addr, size_t len); }
--	SYS_MPROTECT               = 74  // { int mprotect(const void *addr, size_t len, \
--	SYS_MADVISE                = 75  // { int madvise(void *addr, size_t len, \
--	SYS_MINCORE                = 78  // { int mincore(const void *addr, size_t len, \
--	SYS_GETGROUPS              = 79  // { int getgroups(u_int gidsetsize, \
--	SYS_SETGROUPS              = 80  // { int setgroups(u_int gidsetsize, \
--	SYS_GETPGRP                = 81  // { int getpgrp(void); }
--	SYS_SETPGID                = 82  // { int setpgid(int pid, int pgid); }
--	SYS_SETITIMER              = 83  // { int setitimer(u_int which, struct \
--	SYS_SWAPON                 = 85  // { int swapon(char *name); }
--	SYS_GETITIMER              = 86  // { int getitimer(u_int which, \
--	SYS_GETDTABLESIZE          = 89  // { int getdtablesize(void); }
--	SYS_DUP2                   = 90  // { int dup2(u_int from, u_int to); }
--	SYS_FCNTL                  = 92  // { int fcntl(int fd, int cmd, long arg); }
--	SYS_SELECT                 = 93  // { int select(int nd, fd_set *in, fd_set *ou, \
--	SYS_FSYNC                  = 95  // { int fsync(int fd); }
--	SYS_SETPRIORITY            = 96  // { int setpriority(int which, int who, \
--	SYS_SOCKET                 = 97  // { int socket(int domain, int type, \
--	SYS_CONNECT                = 98  // { int connect(int s, caddr_t name, \
--	SYS_GETPRIORITY            = 100 // { int getpriority(int which, int who); }
--	SYS_BIND                   = 104 // { int bind(int s, caddr_t name, \
--	SYS_SETSOCKOPT             = 105 // { int setsockopt(int s, int level, int name, \
--	SYS_LISTEN                 = 106 // { int listen(int s, int backlog); }
--	SYS_GETTIMEOFDAY           = 116 // { int gettimeofday(struct timeval *tp, \
--	SYS_GETRUSAGE              = 117 // { int getrusage(int who, \
--	SYS_GETSOCKOPT             = 118 // { int getsockopt(int s, int level, int name, \
--	SYS_READV                  = 120 // { int readv(int fd, struct iovec *iovp, \
--	SYS_WRITEV                 = 121 // { int writev(int fd, struct iovec *iovp, \
--	SYS_SETTIMEOFDAY           = 122 // { int settimeofday(struct timeval *tv, \
--	SYS_FCHOWN                 = 123 // { int fchown(int fd, int uid, int gid); }
--	SYS_FCHMOD                 = 124 // { int fchmod(int fd, int mode); }
--	SYS_SETREUID               = 126 // { int setreuid(int ruid, int euid); }
--	SYS_SETREGID               = 127 // { int setregid(int rgid, int egid); }
--	SYS_RENAME                 = 128 // { int rename(char *from, char *to); }
--	SYS_FLOCK                  = 131 // { int flock(int fd, int how); }
--	SYS_MKFIFO                 = 132 // { int mkfifo(char *path, int mode); }
--	SYS_SENDTO                 = 133 // { int sendto(int s, caddr_t buf, size_t len, \
--	SYS_SHUTDOWN               = 134 // { int shutdown(int s, int how); }
--	SYS_SOCKETPAIR             = 135 // { int socketpair(int domain, int type, \
--	SYS_MKDIR                  = 136 // { int mkdir(char *path, int mode); }
--	SYS_RMDIR                  = 137 // { int rmdir(char *path); }
--	SYS_UTIMES                 = 138 // { int utimes(char *path, \
--	SYS_ADJTIME                = 140 // { int adjtime(struct timeval *delta, \
--	SYS_SETSID                 = 147 // { int setsid(void); }
--	SYS_QUOTACTL               = 148 // { int quotactl(char *path, int cmd, int uid, \
--	SYS_LGETFH                 = 160 // { int lgetfh(char *fname, \
--	SYS_GETFH                  = 161 // { int getfh(char *fname, \
--	SYS_SYSARCH                = 165 // { int sysarch(int op, char *parms); }
--	SYS_RTPRIO                 = 166 // { int rtprio(int function, pid_t pid, \
--	SYS_FREEBSD6_PREAD         = 173 // { ssize_t freebsd6_pread(int fd, void *buf, \
--	SYS_FREEBSD6_PWRITE        = 174 // { ssize_t freebsd6_pwrite(int fd, \
--	SYS_SETFIB                 = 175 // { int setfib(int fibnum); }
--	SYS_NTP_ADJTIME            = 176 // { int ntp_adjtime(struct timex *tp); }
--	SYS_SETGID                 = 181 // { int setgid(gid_t gid); }
--	SYS_SETEGID                = 182 // { int setegid(gid_t egid); }
--	SYS_SETEUID                = 183 // { int seteuid(uid_t euid); }
--	SYS_STAT                   = 188 // { int stat(char *path, struct stat *ub); }
--	SYS_FSTAT                  = 189 // { int fstat(int fd, struct stat *sb); }
--	SYS_LSTAT                  = 190 // { int lstat(char *path, struct stat *ub); }
--	SYS_PATHCONF               = 191 // { int pathconf(char *path, int name); }
--	SYS_FPATHCONF              = 192 // { int fpathconf(int fd, int name); }
--	SYS_GETRLIMIT              = 194 // { int getrlimit(u_int which, \
--	SYS_SETRLIMIT              = 195 // { int setrlimit(u_int which, \
--	SYS_GETDIRENTRIES          = 196 // { int getdirentries(int fd, char *buf, \
--	SYS_FREEBSD6_MMAP          = 197 // { caddr_t freebsd6_mmap(caddr_t addr, \
--	SYS_FREEBSD6_LSEEK         = 199 // { off_t freebsd6_lseek(int fd, int pad, \
--	SYS_FREEBSD6_TRUNCATE      = 200 // { int freebsd6_truncate(char *path, int pad, \
--	SYS_FREEBSD6_FTRUNCATE     = 201 // { int freebsd6_ftruncate(int fd, int pad, \
--	SYS___SYSCTL               = 202 // { int __sysctl(int *name, u_int namelen, \
--	SYS_MLOCK                  = 203 // { int mlock(const void *addr, size_t len); }
--	SYS_MUNLOCK                = 204 // { int munlock(const void *addr, size_t len); }
--	SYS_UNDELETE               = 205 // { int undelete(char *path); }
--	SYS_FUTIMES                = 206 // { int futimes(int fd, struct timeval *tptr); }
--	SYS_GETPGID                = 207 // { int getpgid(pid_t pid); }
--	SYS_POLL                   = 209 // { int poll(struct pollfd *fds, u_int nfds, \
--	SYS_CLOCK_GETTIME          = 232 // { int clock_gettime(clockid_t clock_id, \
--	SYS_CLOCK_SETTIME          = 233 // { int clock_settime( \
--	SYS_CLOCK_GETRES           = 234 // { int clock_getres(clockid_t clock_id, \
--	SYS_KTIMER_CREATE          = 235 // { int ktimer_create(clockid_t clock_id, \
--	SYS_KTIMER_DELETE          = 236 // { int ktimer_delete(int timerid); }
--	SYS_KTIMER_SETTIME         = 237 // { int ktimer_settime(int timerid, int flags, \
--	SYS_KTIMER_GETTIME         = 238 // { int ktimer_gettime(int timerid, struct \
--	SYS_KTIMER_GETOVERRUN      = 239 // { int ktimer_getoverrun(int timerid); }
--	SYS_NANOSLEEP              = 240 // { int nanosleep(const struct timespec *rqtp, \
--	SYS_FFCLOCK_GETCOUNTER     = 241 // { int ffclock_getcounter(ffcounter *ffcount); }
--	SYS_FFCLOCK_SETESTIMATE    = 242 // { int ffclock_setestimate( \
--	SYS_FFCLOCK_GETESTIMATE    = 243 // { int ffclock_getestimate( \
--	SYS_CLOCK_GETCPUCLOCKID2   = 247 // { int clock_getcpuclockid2(id_t id,\
--	SYS_NTP_GETTIME            = 248 // { int ntp_gettime(struct ntptimeval *ntvp); }
--	SYS_MINHERIT               = 250 // { int minherit(void *addr, size_t len, \
--	SYS_RFORK                  = 251 // { int rfork(int flags); }
--	SYS_OPENBSD_POLL           = 252 // { int openbsd_poll(struct pollfd *fds, \
--	SYS_ISSETUGID              = 253 // { int issetugid(void); }
--	SYS_LCHOWN                 = 254 // { int lchown(char *path, int uid, int gid); }
--	SYS_GETDENTS               = 272 // { int getdents(int fd, char *buf, \
--	SYS_LCHMOD                 = 274 // { int lchmod(char *path, mode_t mode); }
--	SYS_LUTIMES                = 276 // { int lutimes(char *path, \
--	SYS_NSTAT                  = 278 // { int nstat(char *path, struct nstat *ub); }
--	SYS_NFSTAT                 = 279 // { int nfstat(int fd, struct nstat *sb); }
--	SYS_NLSTAT                 = 280 // { int nlstat(char *path, struct nstat *ub); }
--	SYS_PREADV                 = 289 // { ssize_t preadv(int fd, struct iovec *iovp, \
--	SYS_PWRITEV                = 290 // { ssize_t pwritev(int fd, struct iovec *iovp, \
--	SYS_FHOPEN                 = 298 // { int fhopen(const struct fhandle *u_fhp, \
--	SYS_FHSTAT                 = 299 // { int fhstat(const struct fhandle *u_fhp, \
--	SYS_MODNEXT                = 300 // { int modnext(int modid); }
--	SYS_MODSTAT                = 301 // { int modstat(int modid, \
--	SYS_MODFNEXT               = 302 // { int modfnext(int modid); }
--	SYS_MODFIND                = 303 // { int modfind(const char *name); }
--	SYS_KLDLOAD                = 304 // { int kldload(const char *file); }
--	SYS_KLDUNLOAD              = 305 // { int kldunload(int fileid); }
--	SYS_KLDFIND                = 306 // { int kldfind(const char *file); }
--	SYS_KLDNEXT                = 307 // { int kldnext(int fileid); }
--	SYS_KLDSTAT                = 308 // { int kldstat(int fileid, struct \
--	SYS_KLDFIRSTMOD            = 309 // { int kldfirstmod(int fileid); }
--	SYS_GETSID                 = 310 // { int getsid(pid_t pid); }
--	SYS_SETRESUID              = 311 // { int setresuid(uid_t ruid, uid_t euid, \
--	SYS_SETRESGID              = 312 // { int setresgid(gid_t rgid, gid_t egid, \
--	SYS_YIELD                  = 321 // { int yield(void); }
--	SYS_MLOCKALL               = 324 // { int mlockall(int how); }
--	SYS_MUNLOCKALL             = 325 // { int munlockall(void); }
--	SYS___GETCWD               = 326 // { int __getcwd(char *buf, u_int buflen); }
--	SYS_SCHED_SETPARAM         = 327 // { int sched_setparam (pid_t pid, \
--	SYS_SCHED_GETPARAM         = 328 // { int sched_getparam (pid_t pid, struct \
--	SYS_SCHED_SETSCHEDULER     = 329 // { int sched_setscheduler (pid_t pid, int \
--	SYS_SCHED_GETSCHEDULER     = 330 // { int sched_getscheduler (pid_t pid); }
--	SYS_SCHED_YIELD            = 331 // { int sched_yield (void); }
--	SYS_SCHED_GET_PRIORITY_MAX = 332 // { int sched_get_priority_max (int policy); }
--	SYS_SCHED_GET_PRIORITY_MIN = 333 // { int sched_get_priority_min (int policy); }
--	SYS_SCHED_RR_GET_INTERVAL  = 334 // { int sched_rr_get_interval (pid_t pid, \
--	SYS_UTRACE                 = 335 // { int utrace(const void *addr, size_t len); }
--	SYS_KLDSYM                 = 337 // { int kldsym(int fileid, int cmd, \
--	SYS_JAIL                   = 338 // { int jail(struct jail *jail); }
--	SYS_SIGPROCMASK            = 340 // { int sigprocmask(int how, \
--	SYS_SIGSUSPEND             = 341 // { int sigsuspend(const sigset_t *sigmask); }
--	SYS_SIGPENDING             = 343 // { int sigpending(sigset_t *set); }
--	SYS_SIGTIMEDWAIT           = 345 // { int sigtimedwait(const sigset_t *set, \
--	SYS_SIGWAITINFO            = 346 // { int sigwaitinfo(const sigset_t *set, \
--	SYS___ACL_GET_FILE         = 347 // { int __acl_get_file(const char *path, \
--	SYS___ACL_SET_FILE         = 348 // { int __acl_set_file(const char *path, \
--	SYS___ACL_GET_FD           = 349 // { int __acl_get_fd(int filedes, \
--	SYS___ACL_SET_FD           = 350 // { int __acl_set_fd(int filedes, \
--	SYS___ACL_DELETE_FILE      = 351 // { int __acl_delete_file(const char *path, \
--	SYS___ACL_DELETE_FD        = 352 // { int __acl_delete_fd(int filedes, \
--	SYS___ACL_ACLCHECK_FILE    = 353 // { int __acl_aclcheck_file(const char *path, \
--	SYS___ACL_ACLCHECK_FD      = 354 // { int __acl_aclcheck_fd(int filedes, \
--	SYS_EXTATTRCTL             = 355 // { int extattrctl(const char *path, int cmd, \
--	SYS_EXTATTR_SET_FILE       = 356 // { ssize_t extattr_set_file( \
--	SYS_EXTATTR_GET_FILE       = 357 // { ssize_t extattr_get_file( \
--	SYS_EXTATTR_DELETE_FILE    = 358 // { int extattr_delete_file(const char *path, \
--	SYS_GETRESUID              = 360 // { int getresuid(uid_t *ruid, uid_t *euid, \
--	SYS_GETRESGID              = 361 // { int getresgid(gid_t *rgid, gid_t *egid, \
--	SYS_KQUEUE                 = 362 // { int kqueue(void); }
--	SYS_KEVENT                 = 363 // { int kevent(int fd, \
--	SYS_EXTATTR_SET_FD         = 371 // { ssize_t extattr_set_fd(int fd, \
--	SYS_EXTATTR_GET_FD         = 372 // { ssize_t extattr_get_fd(int fd, \
--	SYS_EXTATTR_DELETE_FD      = 373 // { int extattr_delete_fd(int fd, \
--	SYS___SETUGID              = 374 // { int __setugid(int flag); }
--	SYS_EACCESS                = 376 // { int eaccess(char *path, int amode); }
--	SYS_NMOUNT                 = 378 // { int nmount(struct iovec *iovp, \
--	SYS___MAC_GET_PROC         = 384 // { int __mac_get_proc(struct mac *mac_p); }
--	SYS___MAC_SET_PROC         = 385 // { int __mac_set_proc(struct mac *mac_p); }
--	SYS___MAC_GET_FD           = 386 // { int __mac_get_fd(int fd, \
--	SYS___MAC_GET_FILE         = 387 // { int __mac_get_file(const char *path_p, \
--	SYS___MAC_SET_FD           = 388 // { int __mac_set_fd(int fd, \
--	SYS___MAC_SET_FILE         = 389 // { int __mac_set_file(const char *path_p, \
--	SYS_KENV                   = 390 // { int kenv(int what, const char *name, \
--	SYS_LCHFLAGS               = 391 // { int lchflags(const char *path, \
--	SYS_UUIDGEN                = 392 // { int uuidgen(struct uuid *store, \
--	SYS_SENDFILE               = 393 // { int sendfile(int fd, int s, off_t offset, \
--	SYS_MAC_SYSCALL            = 394 // { int mac_syscall(const char *policy, \
--	SYS_GETFSSTAT              = 395 // { int getfsstat(struct statfs *buf, \
--	SYS_STATFS                 = 396 // { int statfs(char *path, \
--	SYS_FSTATFS                = 397 // { int fstatfs(int fd, struct statfs *buf); }
--	SYS_FHSTATFS               = 398 // { int fhstatfs(const struct fhandle *u_fhp, \
--	SYS___MAC_GET_PID          = 409 // { int __mac_get_pid(pid_t pid, \
--	SYS___MAC_GET_LINK         = 410 // { int __mac_get_link(const char *path_p, \
--	SYS___MAC_SET_LINK         = 411 // { int __mac_set_link(const char *path_p, \
--	SYS_EXTATTR_SET_LINK       = 412 // { ssize_t extattr_set_link( \
--	SYS_EXTATTR_GET_LINK       = 413 // { ssize_t extattr_get_link( \
--	SYS_EXTATTR_DELETE_LINK    = 414 // { int extattr_delete_link( \
--	SYS___MAC_EXECVE           = 415 // { int __mac_execve(char *fname, char **argv, \
--	SYS_SIGACTION              = 416 // { int sigaction(int sig, \
--	SYS_SIGRETURN              = 417 // { int sigreturn( \
--	SYS_GETCONTEXT             = 421 // { int getcontext(struct __ucontext *ucp); }
--	SYS_SETCONTEXT             = 422 // { int setcontext( \
--	SYS_SWAPCONTEXT            = 423 // { int swapcontext(struct __ucontext *oucp, \
--	SYS_SWAPOFF                = 424 // { int swapoff(const char *name); }
--	SYS___ACL_GET_LINK         = 425 // { int __acl_get_link(const char *path, \
--	SYS___ACL_SET_LINK         = 426 // { int __acl_set_link(const char *path, \
--	SYS___ACL_DELETE_LINK      = 427 // { int __acl_delete_link(const char *path, \
--	SYS___ACL_ACLCHECK_LINK    = 428 // { int __acl_aclcheck_link(const char *path, \
--	SYS_SIGWAIT                = 429 // { int sigwait(const sigset_t *set, \
--	SYS_THR_CREATE             = 430 // { int thr_create(ucontext_t *ctx, long *id, \
--	SYS_THR_EXIT               = 431 // { void thr_exit(long *state); }
--	SYS_THR_SELF               = 432 // { int thr_self(long *id); }
--	SYS_THR_KILL               = 433 // { int thr_kill(long id, int sig); }
--	SYS__UMTX_LOCK             = 434 // { int _umtx_lock(struct umtx *umtx); }
--	SYS__UMTX_UNLOCK           = 435 // { int _umtx_unlock(struct umtx *umtx); }
--	SYS_JAIL_ATTACH            = 436 // { int jail_attach(int jid); }
--	SYS_EXTATTR_LIST_FD        = 437 // { ssize_t extattr_list_fd(int fd, \
--	SYS_EXTATTR_LIST_FILE      = 438 // { ssize_t extattr_list_file( \
--	SYS_EXTATTR_LIST_LINK      = 439 // { ssize_t extattr_list_link( \
--	SYS_THR_SUSPEND            = 442 // { int thr_suspend( \
--	SYS_THR_WAKE               = 443 // { int thr_wake(long id); }
--	SYS_KLDUNLOADF             = 444 // { int kldunloadf(int fileid, int flags); }
--	SYS_AUDIT                  = 445 // { int audit(const void *record, \
--	SYS_AUDITON                = 446 // { int auditon(int cmd, void *data, \
--	SYS_GETAUID                = 447 // { int getauid(uid_t *auid); }
--	SYS_SETAUID                = 448 // { int setauid(uid_t *auid); }
--	SYS_GETAUDIT               = 449 // { int getaudit(struct auditinfo *auditinfo); }
--	SYS_SETAUDIT               = 450 // { int setaudit(struct auditinfo *auditinfo); }
--	SYS_GETAUDIT_ADDR          = 451 // { int getaudit_addr( \
--	SYS_SETAUDIT_ADDR          = 452 // { int setaudit_addr( \
--	SYS_AUDITCTL               = 453 // { int auditctl(char *path); }
--	SYS__UMTX_OP               = 454 // { int _umtx_op(void *obj, int op, \
--	SYS_THR_NEW                = 455 // { int thr_new(struct thr_param *param, \
--	SYS_SIGQUEUE               = 456 // { int sigqueue(pid_t pid, int signum, void *value); }
--	SYS_ABORT2                 = 463 // { int abort2(const char *why, int nargs, void **args); }
--	SYS_THR_SET_NAME           = 464 // { int thr_set_name(long id, const char *name); }
--	SYS_RTPRIO_THREAD          = 466 // { int rtprio_thread(int function, \
--	SYS_PREAD                  = 475 // { ssize_t pread(int fd, void *buf, \
--	SYS_PWRITE                 = 476 // { ssize_t pwrite(int fd, const void *buf, \
--	SYS_MMAP                   = 477 // { caddr_t mmap(caddr_t addr, size_t len, \
--	SYS_LSEEK                  = 478 // { off_t lseek(int fd, off_t offset, \
--	SYS_TRUNCATE               = 479 // { int truncate(char *path, off_t length); }
--	SYS_FTRUNCATE              = 480 // { int ftruncate(int fd, off_t length); }
--	SYS_THR_KILL2              = 481 // { int thr_kill2(pid_t pid, long id, int sig); }
--	SYS_SHM_OPEN               = 482 // { int shm_open(const char *path, int flags, \
--	SYS_SHM_UNLINK             = 483 // { int shm_unlink(const char *path); }
--	SYS_CPUSET                 = 484 // { int cpuset(cpusetid_t *setid); }
--	SYS_CPUSET_SETID           = 485 // { int cpuset_setid(cpuwhich_t which, id_t id, \
--	SYS_CPUSET_GETID           = 486 // { int cpuset_getid(cpulevel_t level, \
--	SYS_CPUSET_GETAFFINITY     = 487 // { int cpuset_getaffinity(cpulevel_t level, \
--	SYS_CPUSET_SETAFFINITY     = 488 // { int cpuset_setaffinity(cpulevel_t level, \
--	SYS_FACCESSAT              = 489 // { int faccessat(int fd, char *path, int amode, \
--	SYS_FCHMODAT               = 490 // { int fchmodat(int fd, char *path, mode_t mode, \
--	SYS_FCHOWNAT               = 491 // { int fchownat(int fd, char *path, uid_t uid, \
--	SYS_FEXECVE                = 492 // { int fexecve(int fd, char **argv, \
--	SYS_FSTATAT                = 493 // { int fstatat(int fd, char *path, \
--	SYS_FUTIMESAT              = 494 // { int futimesat(int fd, char *path, \
--	SYS_LINKAT                 = 495 // { int linkat(int fd1, char *path1, int fd2, \
--	SYS_MKDIRAT                = 496 // { int mkdirat(int fd, char *path, mode_t mode); }
--	SYS_MKFIFOAT               = 497 // { int mkfifoat(int fd, char *path, mode_t mode); }
--	SYS_MKNODAT                = 498 // { int mknodat(int fd, char *path, mode_t mode, \
--	SYS_OPENAT                 = 499 // { int openat(int fd, char *path, int flag, \
--	SYS_READLINKAT             = 500 // { int readlinkat(int fd, char *path, char *buf, \
--	SYS_RENAMEAT               = 501 // { int renameat(int oldfd, char *old, int newfd, \
--	SYS_SYMLINKAT              = 502 // { int symlinkat(char *path1, int fd, \
--	SYS_UNLINKAT               = 503 // { int unlinkat(int fd, char *path, int flag); }
--	SYS_POSIX_OPENPT           = 504 // { int posix_openpt(int flags); }
--	SYS_JAIL_GET               = 506 // { int jail_get(struct iovec *iovp, \
--	SYS_JAIL_SET               = 507 // { int jail_set(struct iovec *iovp, \
--	SYS_JAIL_REMOVE            = 508 // { int jail_remove(int jid); }
--	SYS_CLOSEFROM              = 509 // { int closefrom(int lowfd); }
--	SYS_LPATHCONF              = 513 // { int lpathconf(char *path, int name); }
--	SYS___CAP_RIGHTS_GET       = 515 // { int __cap_rights_get(int version, \
--	SYS_CAP_ENTER              = 516 // { int cap_enter(void); }
--	SYS_CAP_GETMODE            = 517 // { int cap_getmode(u_int *modep); }
--	SYS_PDFORK                 = 518 // { int pdfork(int *fdp, int flags); }
--	SYS_PDKILL                 = 519 // { int pdkill(int fd, int signum); }
--	SYS_PDGETPID               = 520 // { int pdgetpid(int fd, pid_t *pidp); }
--	SYS_PSELECT                = 522 // { int pselect(int nd, fd_set *in, \
--	SYS_GETLOGINCLASS          = 523 // { int getloginclass(char *namebuf, \
--	SYS_SETLOGINCLASS          = 524 // { int setloginclass(const char *namebuf); }
--	SYS_RCTL_GET_RACCT         = 525 // { int rctl_get_racct(const void *inbufp, \
--	SYS_RCTL_GET_RULES         = 526 // { int rctl_get_rules(const void *inbufp, \
--	SYS_RCTL_GET_LIMITS        = 527 // { int rctl_get_limits(const void *inbufp, \
--	SYS_RCTL_ADD_RULE          = 528 // { int rctl_add_rule(const void *inbufp, \
--	SYS_RCTL_REMOVE_RULE       = 529 // { int rctl_remove_rule(const void *inbufp, \
--	SYS_POSIX_FALLOCATE        = 530 // { int posix_fallocate(int fd, \
--	SYS_POSIX_FADVISE          = 531 // { int posix_fadvise(int fd, off_t offset, \
--	SYS_WAIT6                  = 532 // { int wait6(idtype_t idtype, id_t id, \
--	SYS_CAP_RIGHTS_LIMIT       = 533 // { int cap_rights_limit(int fd, \
--	SYS_CAP_IOCTLS_LIMIT       = 534 // { int cap_ioctls_limit(int fd, \
--	SYS_CAP_IOCTLS_GET         = 535 // { ssize_t cap_ioctls_get(int fd, \
--	SYS_CAP_FCNTLS_LIMIT       = 536 // { int cap_fcntls_limit(int fd, \
--	SYS_CAP_FCNTLS_GET         = 537 // { int cap_fcntls_get(int fd, \
--	SYS_BINDAT                 = 538 // { int bindat(int fd, int s, caddr_t name, \
--	SYS_CONNECTAT              = 539 // { int connectat(int fd, int s, caddr_t name, \
--	SYS_CHFLAGSAT              = 540 // { int chflagsat(int fd, const char *path, \
--	SYS_ACCEPT4                = 541 // { int accept4(int s, \
--	SYS_PIPE2                  = 542 // { int pipe2(int *fildes, int flags); }
--	SYS_PROCCTL                = 544 // { int procctl(idtype_t idtype, id_t id, \
--	SYS_PPOLL                  = 545 // { int ppoll(struct pollfd *fds, u_int nfds, \
--	SYS_FUTIMENS               = 546 // { int futimens(int fd, \
--	SYS_UTIMENSAT              = 547 // { int utimensat(int fd, \
-+	SYS_EXIT                     = 1   // { void sys_exit(int rval); } exit sys_exit_args void
-+	SYS_FORK                     = 2   // { int fork(void); }
-+	SYS_READ                     = 3   // { ssize_t read(int fd, void *buf, size_t nbyte); }
-+	SYS_WRITE                    = 4   // { ssize_t write(int fd, const void *buf, size_t nbyte); }
-+	SYS_OPEN                     = 5   // { int open(char *path, int flags, int mode); }
-+	SYS_CLOSE                    = 6   // { int close(int fd); }
-+	SYS_WAIT4                    = 7   // { int wait4(int pid, int *status, int options, struct rusage *rusage); }
-+	SYS_LINK                     = 9   // { int link(char *path, char *link); }
-+	SYS_UNLINK                   = 10  // { int unlink(char *path); }
-+	SYS_CHDIR                    = 12  // { int chdir(char *path); }
-+	SYS_FCHDIR                   = 13  // { int fchdir(int fd); }
-+	SYS_MKNOD                    = 14  // { int mknod(char *path, int mode, int dev); }
-+	SYS_CHMOD                    = 15  // { int chmod(char *path, int mode); }
-+	SYS_CHOWN                    = 16  // { int chown(char *path, int uid, int gid); }
-+	SYS_OBREAK                   = 17  // { int obreak(char *nsize); } break obreak_args int
-+	SYS_GETPID                   = 20  // { pid_t getpid(void); }
-+	SYS_MOUNT                    = 21  // { int mount(char *type, char *path, int flags, caddr_t data); }
-+	SYS_UNMOUNT                  = 22  // { int unmount(char *path, int flags); }
-+	SYS_SETUID                   = 23  // { int setuid(uid_t uid); }
-+	SYS_GETUID                   = 24  // { uid_t getuid(void); }
-+	SYS_GETEUID                  = 25  // { uid_t geteuid(void); }
-+	SYS_PTRACE                   = 26  // { int ptrace(int req, pid_t pid, caddr_t addr, int data); }
-+	SYS_RECVMSG                  = 27  // { int recvmsg(int s, struct msghdr *msg, int flags); }
-+	SYS_SENDMSG                  = 28  // { int sendmsg(int s, struct msghdr *msg, int flags); }
-+	SYS_RECVFROM                 = 29  // { int recvfrom(int s, caddr_t buf, size_t len, int flags, struct sockaddr * __restrict from, __socklen_t * __restrict fromlenaddr); }
-+	SYS_ACCEPT                   = 30  // { int accept(int s, struct sockaddr * __restrict name, __socklen_t * __restrict anamelen); }
-+	SYS_GETPEERNAME              = 31  // { int getpeername(int fdes, struct sockaddr * __restrict asa, __socklen_t * __restrict alen); }
-+	SYS_GETSOCKNAME              = 32  // { int getsockname(int fdes, struct sockaddr * __restrict asa, __socklen_t * __restrict alen); }
-+	SYS_ACCESS                   = 33  // { int access(char *path, int amode); }
-+	SYS_CHFLAGS                  = 34  // { int chflags(const char *path, u_long flags); }
-+	SYS_FCHFLAGS                 = 35  // { int fchflags(int fd, u_long flags); }
-+	SYS_SYNC                     = 36  // { int sync(void); }
-+	SYS_KILL                     = 37  // { int kill(int pid, int signum); }
-+	SYS_GETPPID                  = 39  // { pid_t getppid(void); }
-+	SYS_DUP                      = 41  // { int dup(u_int fd); }
-+	SYS_PIPE                     = 42  // { int pipe(void); }
-+	SYS_GETEGID                  = 43  // { gid_t getegid(void); }
-+	SYS_PROFIL                   = 44  // { int profil(caddr_t samples, size_t size, size_t offset, u_int scale); }
-+	SYS_KTRACE                   = 45  // { int ktrace(const char *fname, int ops, int facs, int pid); }
-+	SYS_GETGID                   = 47  // { gid_t getgid(void); }
-+	SYS_GETLOGIN                 = 49  // { int getlogin(char *namebuf, u_int namelen); }
-+	SYS_SETLOGIN                 = 50  // { int setlogin(char *namebuf); }
-+	SYS_ACCT                     = 51  // { int acct(char *path); }
-+	SYS_SIGALTSTACK              = 53  // { int sigaltstack(stack_t *ss, stack_t *oss); }
-+	SYS_IOCTL                    = 54  // { int ioctl(int fd, u_long com, caddr_t data); }
-+	SYS_REBOOT                   = 55  // { int reboot(int opt); }
-+	SYS_REVOKE                   = 56  // { int revoke(char *path); }
-+	SYS_SYMLINK                  = 57  // { int symlink(char *path, char *link); }
-+	SYS_READLINK                 = 58  // { ssize_t readlink(char *path, char *buf, size_t count); }
-+	SYS_EXECVE                   = 59  // { int execve(char *fname, char **argv, char **envv); }
-+	SYS_UMASK                    = 60  // { int umask(int newmask); } umask umask_args int
-+	SYS_CHROOT                   = 61  // { int chroot(char *path); }
-+	SYS_MSYNC                    = 65  // { int msync(void *addr, size_t len, int flags); }
-+	SYS_VFORK                    = 66  // { int vfork(void); }
-+	SYS_SBRK                     = 69  // { int sbrk(int incr); }
-+	SYS_SSTK                     = 70  // { int sstk(int incr); }
-+	SYS_OVADVISE                 = 72  // { int ovadvise(int anom); } vadvise ovadvise_args int
-+	SYS_MUNMAP                   = 73  // { int munmap(void *addr, size_t len); }
-+	SYS_MPROTECT                 = 74  // { int mprotect(const void *addr, size_t len, int prot); }
-+	SYS_MADVISE                  = 75  // { int madvise(void *addr, size_t len, int behav); }
-+	SYS_MINCORE                  = 78  // { int mincore(const void *addr, size_t len, char *vec); }
-+	SYS_GETGROUPS                = 79  // { int getgroups(u_int gidsetsize, gid_t *gidset); }
-+	SYS_SETGROUPS                = 80  // { int setgroups(u_int gidsetsize, gid_t *gidset); }
-+	SYS_GETPGRP                  = 81  // { int getpgrp(void); }
-+	SYS_SETPGID                  = 82  // { int setpgid(int pid, int pgid); }
-+	SYS_SETITIMER                = 83  // { int setitimer(u_int which, struct itimerval *itv, struct itimerval *oitv); }
-+	SYS_SWAPON                   = 85  // { int swapon(char *name); }
-+	SYS_GETITIMER                = 86  // { int getitimer(u_int which, struct itimerval *itv); }
-+	SYS_GETDTABLESIZE            = 89  // { int getdtablesize(void); }
-+	SYS_DUP2                     = 90  // { int dup2(u_int from, u_int to); }
-+	SYS_FCNTL                    = 92  // { int fcntl(int fd, int cmd, long arg); }
-+	SYS_SELECT                   = 93  // { int select(int nd, fd_set *in, fd_set *ou, fd_set *ex, struct timeval *tv); }
-+	SYS_FSYNC                    = 95  // { int fsync(int fd); }
-+	SYS_SETPRIORITY              = 96  // { int setpriority(int which, int who, int prio); }
-+	SYS_SOCKET                   = 97  // { int socket(int domain, int type, int protocol); }
-+	SYS_CONNECT                  = 98  // { int connect(int s, caddr_t name, int namelen); }
-+	SYS_GETPRIORITY              = 100 // { int getpriority(int which, int who); }
-+	SYS_BIND                     = 104 // { int bind(int s, caddr_t name, int namelen); }
-+	SYS_SETSOCKOPT               = 105 // { int setsockopt(int s, int level, int name, caddr_t val, int valsize); }
-+	SYS_LISTEN                   = 106 // { int listen(int s, int backlog); }
-+	SYS_GETTIMEOFDAY             = 116 // { int gettimeofday(struct timeval *tp, struct timezone *tzp); }
-+	SYS_GETRUSAGE                = 117 // { int getrusage(int who, struct rusage *rusage); }
-+	SYS_GETSOCKOPT               = 118 // { int getsockopt(int s, int level, int name, caddr_t val, int *avalsize); }
-+	SYS_READV                    = 120 // { int readv(int fd, struct iovec *iovp, u_int iovcnt); }
-+	SYS_WRITEV                   = 121 // { int writev(int fd, struct iovec *iovp, u_int iovcnt); }
-+	SYS_SETTIMEOFDAY             = 122 // { int settimeofday(struct timeval *tv, struct timezone *tzp); }
-+	SYS_FCHOWN                   = 123 // { int fchown(int fd, int uid, int gid); }
-+	SYS_FCHMOD                   = 124 // { int fchmod(int fd, int mode); }
-+	SYS_SETREUID                 = 126 // { int setreuid(int ruid, int euid); }
-+	SYS_SETREGID                 = 127 // { int setregid(int rgid, int egid); }
-+	SYS_RENAME                   = 128 // { int rename(char *from, char *to); }
-+	SYS_FLOCK                    = 131 // { int flock(int fd, int how); }
-+	SYS_MKFIFO                   = 132 // { int mkfifo(char *path, int mode); }
-+	SYS_SENDTO                   = 133 // { int sendto(int s, caddr_t buf, size_t len, int flags, caddr_t to, int tolen); }
-+	SYS_SHUTDOWN                 = 134 // { int shutdown(int s, int how); }
-+	SYS_SOCKETPAIR               = 135 // { int socketpair(int domain, int type, int protocol, int *rsv); }
-+	SYS_MKDIR                    = 136 // { int mkdir(char *path, int mode); }
-+	SYS_RMDIR                    = 137 // { int rmdir(char *path); }
-+	SYS_UTIMES                   = 138 // { int utimes(char *path, struct timeval *tptr); }
-+	SYS_ADJTIME                  = 140 // { int adjtime(struct timeval *delta, struct timeval *olddelta); }
-+	SYS_SETSID                   = 147 // { int setsid(void); }
-+	SYS_QUOTACTL                 = 148 // { int quotactl(char *path, int cmd, int uid, caddr_t arg); }
-+	SYS_NLM_SYSCALL              = 154 // { int nlm_syscall(int debug_level, int grace_period, int addr_count, char **addrs); }
-+	SYS_NFSSVC                   = 155 // { int nfssvc(int flag, caddr_t argp); }
-+	SYS_LGETFH                   = 160 // { int lgetfh(char *fname, struct fhandle *fhp); }
-+	SYS_GETFH                    = 161 // { int getfh(char *fname, struct fhandle *fhp); }
-+	SYS_SYSARCH                  = 165 // { int sysarch(int op, char *parms); }
-+	SYS_RTPRIO                   = 166 // { int rtprio(int function, pid_t pid, struct rtprio *rtp); }
-+	SYS_SEMSYS                   = 169 // { int semsys(int which, int a2, int a3, int a4, int a5); }
-+	SYS_MSGSYS                   = 170 // { int msgsys(int which, int a2, int a3, int a4, int a5, int a6); }
-+	SYS_SHMSYS                   = 171 // { int shmsys(int which, int a2, int a3, int a4); }
-+	SYS_SETFIB                   = 175 // { int setfib(int fibnum); }
-+	SYS_NTP_ADJTIME              = 176 // { int ntp_adjtime(struct timex *tp); }
-+	SYS_SETGID                   = 181 // { int setgid(gid_t gid); }
-+	SYS_SETEGID                  = 182 // { int setegid(gid_t egid); }
-+	SYS_SETEUID                  = 183 // { int seteuid(uid_t euid); }
-+	SYS_STAT                     = 188 // { int stat(char *path, struct stat *ub); }
-+	SYS_FSTAT                    = 189 // { int fstat(int fd, struct stat *sb); }
-+	SYS_LSTAT                    = 190 // { int lstat(char *path, struct stat *ub); }
-+	SYS_PATHCONF                 = 191 // { int pathconf(char *path, int name); }
-+	SYS_FPATHCONF                = 192 // { int fpathconf(int fd, int name); }
-+	SYS_GETRLIMIT                = 194 // { int getrlimit(u_int which, struct rlimit *rlp); } getrlimit __getrlimit_args int
-+	SYS_SETRLIMIT                = 195 // { int setrlimit(u_int which, struct rlimit *rlp); } setrlimit __setrlimit_args int
-+	SYS_GETDIRENTRIES            = 196 // { int getdirentries(int fd, char *buf, u_int count, long *basep); }
-+	SYS___SYSCTL                 = 202 // { int __sysctl(int *name, u_int namelen, void *old, size_t *oldlenp, void *new, size_t newlen); } __sysctl sysctl_args int
-+	SYS_MLOCK                    = 203 // { int mlock(const void *addr, size_t len); }
-+	SYS_MUNLOCK                  = 204 // { int munlock(const void *addr, size_t len); }
-+	SYS_UNDELETE                 = 205 // { int undelete(char *path); }
-+	SYS_FUTIMES                  = 206 // { int futimes(int fd, struct timeval *tptr); }
-+	SYS_GETPGID                  = 207 // { int getpgid(pid_t pid); }
-+	SYS_POLL                     = 209 // { int poll(struct pollfd *fds, u_int nfds, int timeout); }
-+	SYS_SEMGET                   = 221 // { int semget(key_t key, int nsems, int semflg); }
-+	SYS_SEMOP                    = 222 // { int semop(int semid, struct sembuf *sops, size_t nsops); }
-+	SYS_MSGGET                   = 225 // { int msgget(key_t key, int msgflg); }
-+	SYS_MSGSND                   = 226 // { int msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg); }
-+	SYS_MSGRCV                   = 227 // { int msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg); }
-+	SYS_SHMAT                    = 228 // { int shmat(int shmid, const void *shmaddr, int shmflg); }
-+	SYS_SHMDT                    = 230 // { int shmdt(const void *shmaddr); }
-+	SYS_SHMGET                   = 231 // { int shmget(key_t key, size_t size, int shmflg); }
-+	SYS_CLOCK_GETTIME            = 232 // { int clock_gettime(clockid_t clock_id, struct timespec *tp); }
-+	SYS_CLOCK_SETTIME            = 233 // { int clock_settime( clockid_t clock_id, const struct timespec *tp); }
-+	SYS_CLOCK_GETRES             = 234 // { int clock_getres(clockid_t clock_id, struct timespec *tp); }
-+	SYS_KTIMER_CREATE            = 235 // { int ktimer_create(clockid_t clock_id, struct sigevent *evp, int *timerid); }
-+	SYS_KTIMER_DELETE            = 236 // { int ktimer_delete(int timerid); }
-+	SYS_KTIMER_SETTIME           = 237 // { int ktimer_settime(int timerid, int flags, const struct itimerspec *value, struct itimerspec *ovalue); }
-+	SYS_KTIMER_GETTIME           = 238 // { int ktimer_gettime(int timerid, struct itimerspec *value); }
-+	SYS_KTIMER_GETOVERRUN        = 239 // { int ktimer_getoverrun(int timerid); }
-+	SYS_NANOSLEEP                = 240 // { int nanosleep(const struct timespec *rqtp, struct timespec *rmtp); }
-+	SYS_FFCLOCK_GETCOUNTER       = 241 // { int ffclock_getcounter(ffcounter *ffcount); }
-+	SYS_FFCLOCK_SETESTIMATE      = 242 // { int ffclock_setestimate( struct ffclock_estimate *cest); }
-+	SYS_FFCLOCK_GETESTIMATE      = 243 // { int ffclock_getestimate( struct ffclock_estimate *cest); }
-+	SYS_CLOCK_NANOSLEEP          = 244 // { int clock_nanosleep(clockid_t clock_id, int flags, const struct timespec *rqtp, struct timespec *rmtp); }
-+	SYS_CLOCK_GETCPUCLOCKID2     = 247 // { int clock_getcpuclockid2(id_t id,int which, clockid_t *clock_id); }
-+	SYS_NTP_GETTIME              = 248 // { int ntp_gettime(struct ntptimeval *ntvp); }
-+	SYS_MINHERIT                 = 250 // { int minherit(void *addr, size_t len, int inherit); }
-+	SYS_RFORK                    = 251 // { int rfork(int flags); }
-+	SYS_OPENBSD_POLL             = 252 // { int openbsd_poll(struct pollfd *fds, u_int nfds, int timeout); }
-+	SYS_ISSETUGID                = 253 // { int issetugid(void); }
-+	SYS_LCHOWN                   = 254 // { int lchown(char *path, int uid, int gid); }
-+	SYS_AIO_READ                 = 255 // { int aio_read(struct aiocb *aiocbp); }
-+	SYS_AIO_WRITE                = 256 // { int aio_write(struct aiocb *aiocbp); }
-+	SYS_LIO_LISTIO               = 257 // { int lio_listio(int mode, struct aiocb * const *acb_list, int nent, struct sigevent *sig); }
-+	SYS_GETDENTS                 = 272 // { int getdents(int fd, char *buf, size_t count); }
-+	SYS_LCHMOD                   = 274 // { int lchmod(char *path, mode_t mode); }
-+	SYS_LUTIMES                  = 276 // { int lutimes(char *path, struct timeval *tptr); }
-+	SYS_NSTAT                    = 278 // { int nstat(char *path, struct nstat *ub); }
-+	SYS_NFSTAT                   = 279 // { int nfstat(int fd, struct nstat *sb); }
-+	SYS_NLSTAT                   = 280 // { int nlstat(char *path, struct nstat *ub); }
-+	SYS_PREADV                   = 289 // { ssize_t preadv(int fd, struct iovec *iovp, u_int iovcnt, off_t offset); }
-+	SYS_PWRITEV                  = 290 // { ssize_t pwritev(int fd, struct iovec *iovp, u_int iovcnt, off_t offset); }
-+	SYS_FHOPEN                   = 298 // { int fhopen(const struct fhandle *u_fhp, int flags); }
-+	SYS_FHSTAT                   = 299 // { int fhstat(const struct fhandle *u_fhp, struct stat *sb); }
-+	SYS_MODNEXT                  = 300 // { int modnext(int modid); }
-+	SYS_MODSTAT                  = 301 // { int modstat(int modid, struct module_stat *stat); }
-+	SYS_MODFNEXT                 = 302 // { int modfnext(int modid); }
-+	SYS_MODFIND                  = 303 // { int modfind(const char *name); }
-+	SYS_KLDLOAD                  = 304 // { int kldload(const char *file); }
-+	SYS_KLDUNLOAD                = 305 // { int kldunload(int fileid); }
-+	SYS_KLDFIND                  = 306 // { int kldfind(const char *file); }
-+	SYS_KLDNEXT                  = 307 // { int kldnext(int fileid); }
-+	SYS_KLDSTAT                  = 308 // { int kldstat(int fileid, struct kld_file_stat* stat); }
-+	SYS_KLDFIRSTMOD              = 309 // { int kldfirstmod(int fileid); }
-+	SYS_GETSID                   = 310 // { int getsid(pid_t pid); }
-+	SYS_SETRESUID                = 311 // { int setresuid(uid_t ruid, uid_t euid, uid_t suid); }
-+	SYS_SETRESGID                = 312 // { int setresgid(gid_t rgid, gid_t egid, gid_t sgid); }
-+	SYS_AIO_RETURN               = 314 // { ssize_t aio_return(struct aiocb *aiocbp); }
-+	SYS_AIO_SUSPEND              = 315 // { int aio_suspend( struct aiocb * const * aiocbp, int nent, const struct timespec *timeout); }
-+	SYS_AIO_CANCEL               = 316 // { int aio_cancel(int fd, struct aiocb *aiocbp); }
-+	SYS_AIO_ERROR                = 317 // { int aio_error(struct aiocb *aiocbp); }
-+	SYS_YIELD                    = 321 // { int yield(void); }
-+	SYS_MLOCKALL                 = 324 // { int mlockall(int how); }
-+	SYS_MUNLOCKALL               = 325 // { int munlockall(void); }
-+	SYS___GETCWD                 = 326 // { int __getcwd(char *buf, u_int buflen); }
-+	SYS_SCHED_SETPARAM           = 327 // { int sched_setparam (pid_t pid, const struct sched_param *param); }
-+	SYS_SCHED_GETPARAM           = 328 // { int sched_getparam (pid_t pid, struct sched_param *param); }
-+	SYS_SCHED_SETSCHEDULER       = 329 // { int sched_setscheduler (pid_t pid, int policy, const struct sched_param *param); }
-+	SYS_SCHED_GETSCHEDULER       = 330 // { int sched_getscheduler (pid_t pid); }
-+	SYS_SCHED_YIELD              = 331 // { int sched_yield (void); }
-+	SYS_SCHED_GET_PRIORITY_MAX   = 332 // { int sched_get_priority_max (int policy); }
-+	SYS_SCHED_GET_PRIORITY_MIN   = 333 // { int sched_get_priority_min (int policy); }
-+	SYS_SCHED_RR_GET_INTERVAL    = 334 // { int sched_rr_get_interval (pid_t pid, struct timespec *interval); }
-+	SYS_UTRACE                   = 335 // { int utrace(const void *addr, size_t len); }
-+	SYS_KLDSYM                   = 337 // { int kldsym(int fileid, int cmd, void *data); }
-+	SYS_JAIL                     = 338 // { int jail(struct jail *jail); }
-+	SYS_SIGPROCMASK              = 340 // { int sigprocmask(int how, const sigset_t *set, sigset_t *oset); }
-+	SYS_SIGSUSPEND               = 341 // { int sigsuspend(const sigset_t *sigmask); }
-+	SYS_SIGPENDING               = 343 // { int sigpending(sigset_t *set); }
-+	SYS_SIGTIMEDWAIT             = 345 // { int sigtimedwait(const sigset_t *set, siginfo_t *info, const struct timespec *timeout); }
-+	SYS_SIGWAITINFO              = 346 // { int sigwaitinfo(const sigset_t *set, siginfo_t *info); }
-+	SYS___ACL_GET_FILE           = 347 // { int __acl_get_file(const char *path, acl_type_t type, struct acl *aclp); }
-+	SYS___ACL_SET_FILE           = 348 // { int __acl_set_file(const char *path, acl_type_t type, struct acl *aclp); }
-+	SYS___ACL_GET_FD             = 349 // { int __acl_get_fd(int filedes, acl_type_t type, struct acl *aclp); }
-+	SYS___ACL_SET_FD             = 350 // { int __acl_set_fd(int filedes, acl_type_t type, struct acl *aclp); }
-+	SYS___ACL_DELETE_FILE        = 351 // { int __acl_delete_file(const char *path, acl_type_t type); }
-+	SYS___ACL_DELETE_FD          = 352 // { int __acl_delete_fd(int filedes, acl_type_t type); }
-+	SYS___ACL_ACLCHECK_FILE      = 353 // { int __acl_aclcheck_file(const char *path, acl_type_t type, struct acl *aclp); }
-+	SYS___ACL_ACLCHECK_FD        = 354 // { int __acl_aclcheck_fd(int filedes, acl_type_t type, struct acl *aclp); }
-+	SYS_EXTATTRCTL               = 355 // { int extattrctl(const char *path, int cmd, const char *filename, int attrnamespace, const char *attrname); }
-+	SYS_EXTATTR_SET_FILE         = 356 // { ssize_t extattr_set_file( const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); }
-+	SYS_EXTATTR_GET_FILE         = 357 // { ssize_t extattr_get_file( const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); }
-+	SYS_EXTATTR_DELETE_FILE      = 358 // { int extattr_delete_file(const char *path, int attrnamespace, const char *attrname); }
-+	SYS_AIO_WAITCOMPLETE         = 359 // { ssize_t aio_waitcomplete( struct aiocb **aiocbp, struct timespec *timeout); }
-+	SYS_GETRESUID                = 360 // { int getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); }
-+	SYS_GETRESGID                = 361 // { int getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); }
-+	SYS_KQUEUE                   = 362 // { int kqueue(void); }
-+	SYS_KEVENT                   = 363 // { int kevent(int fd, struct kevent *changelist, int nchanges, struct kevent *eventlist, int nevents, const struct timespec *timeout); }
-+	SYS_EXTATTR_SET_FD           = 371 // { ssize_t extattr_set_fd(int fd, int attrnamespace, const char *attrname, void *data, size_t nbytes); }
-+	SYS_EXTATTR_GET_FD           = 372 // { ssize_t extattr_get_fd(int fd, int attrnamespace, const char *attrname, void *data, size_t nbytes); }
-+	SYS_EXTATTR_DELETE_FD        = 373 // { int extattr_delete_fd(int fd, int attrnamespace, const char *attrname); }
-+	SYS___SETUGID                = 374 // { int __setugid(int flag); }
-+	SYS_EACCESS                  = 376 // { int eaccess(char *path, int amode); }
-+	SYS_NMOUNT                   = 378 // { int nmount(struct iovec *iovp, unsigned int iovcnt, int flags); }
-+	SYS___MAC_GET_PROC           = 384 // { int __mac_get_proc(struct mac *mac_p); }
-+	SYS___MAC_SET_PROC           = 385 // { int __mac_set_proc(struct mac *mac_p); }
-+	SYS___MAC_GET_FD             = 386 // { int __mac_get_fd(int fd, struct mac *mac_p); }
-+	SYS___MAC_GET_FILE           = 387 // { int __mac_get_file(const char *path_p, struct mac *mac_p); }
-+	SYS___MAC_SET_FD             = 388 // { int __mac_set_fd(int fd, struct mac *mac_p); }
-+	SYS___MAC_SET_FILE           = 389 // { int __mac_set_file(const char *path_p, struct mac *mac_p); }
-+	SYS_KENV                     = 390 // { int kenv(int what, const char *name, char *value, int len); }
-+	SYS_LCHFLAGS                 = 391 // { int lchflags(const char *path, u_long flags); }
-+	SYS_UUIDGEN                  = 392 // { int uuidgen(struct uuid *store, int count); }
-+	SYS_SENDFILE                 = 393 // { int sendfile(int fd, int s, off_t offset, size_t nbytes, struct sf_hdtr *hdtr, off_t *sbytes, int flags); }
-+	SYS_MAC_SYSCALL              = 394 // { int mac_syscall(const char *policy, int call, void *arg); }
-+	SYS_GETFSSTAT                = 395 // { int getfsstat(struct statfs *buf, long bufsize, int mode); }
-+	SYS_STATFS                   = 396 // { int statfs(char *path, struct statfs *buf); }
-+	SYS_FSTATFS                  = 397 // { int fstatfs(int fd, struct statfs *buf); }
-+	SYS_FHSTATFS                 = 398 // { int fhstatfs(const struct fhandle *u_fhp, struct statfs *buf); }
-+	SYS_KSEM_CLOSE               = 400 // { int ksem_close(semid_t id); }
-+	SYS_KSEM_POST                = 401 // { int ksem_post(semid_t id); }
-+	SYS_KSEM_WAIT                = 402 // { int ksem_wait(semid_t id); }
-+	SYS_KSEM_TRYWAIT             = 403 // { int ksem_trywait(semid_t id); }
-+	SYS_KSEM_INIT                = 404 // { int ksem_init(semid_t *idp, unsigned int value); }
-+	SYS_KSEM_OPEN                = 405 // { int ksem_open(semid_t *idp, const char *name, int oflag, mode_t mode, unsigned int value); }
-+	SYS_KSEM_UNLINK              = 406 // { int ksem_unlink(const char *name); }
-+	SYS_KSEM_GETVALUE            = 407 // { int ksem_getvalue(semid_t id, int *val); }
-+	SYS_KSEM_DESTROY             = 408 // { int ksem_destroy(semid_t id); }
-+	SYS___MAC_GET_PID            = 409 // { int __mac_get_pid(pid_t pid, struct mac *mac_p); }
-+	SYS___MAC_GET_LINK           = 410 // { int __mac_get_link(const char *path_p, struct mac *mac_p); }
-+	SYS___MAC_SET_LINK           = 411 // { int __mac_set_link(const char *path_p, struct mac *mac_p); }
-+	SYS_EXTATTR_SET_LINK         = 412 // { ssize_t extattr_set_link( const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); }
-+	SYS_EXTATTR_GET_LINK         = 413 // { ssize_t extattr_get_link( const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); }
-+	SYS_EXTATTR_DELETE_LINK      = 414 // { int extattr_delete_link( const char *path, int attrnamespace, const char *attrname); }
-+	SYS___MAC_EXECVE             = 415 // { int __mac_execve(char *fname, char **argv, char **envv, struct mac *mac_p); }
-+	SYS_SIGACTION                = 416 // { int sigaction(int sig, const struct sigaction *act, struct sigaction *oact); }
-+	SYS_SIGRETURN                = 417 // { int sigreturn( const struct __ucontext *sigcntxp); }
-+	SYS_GETCONTEXT               = 421 // { int getcontext(struct __ucontext *ucp); }
-+	SYS_SETCONTEXT               = 422 // { int setcontext( const struct __ucontext *ucp); }
-+	SYS_SWAPCONTEXT              = 423 // { int swapcontext(struct __ucontext *oucp, const struct __ucontext *ucp); }
-+	SYS_SWAPOFF                  = 424 // { int swapoff(const char *name); }
-+	SYS___ACL_GET_LINK           = 425 // { int __acl_get_link(const char *path, acl_type_t type, struct acl *aclp); }
-+	SYS___ACL_SET_LINK           = 426 // { int __acl_set_link(const char *path, acl_type_t type, struct acl *aclp); }
-+	SYS___ACL_DELETE_LINK        = 427 // { int __acl_delete_link(const char *path, acl_type_t type); }
-+	SYS___ACL_ACLCHECK_LINK      = 428 // { int __acl_aclcheck_link(const char *path, acl_type_t type, struct acl *aclp); }
-+	SYS_SIGWAIT                  = 429 // { int sigwait(const sigset_t *set, int *sig); }
-+	SYS_THR_CREATE               = 430 // { int thr_create(ucontext_t *ctx, long *id, int flags); }
-+	SYS_THR_EXIT                 = 431 // { void thr_exit(long *state); }
-+	SYS_THR_SELF                 = 432 // { int thr_self(long *id); }
-+	SYS_THR_KILL                 = 433 // { int thr_kill(long id, int sig); }
-+	SYS_JAIL_ATTACH              = 436 // { int jail_attach(int jid); }
-+	SYS_EXTATTR_LIST_FD          = 437 // { ssize_t extattr_list_fd(int fd, int attrnamespace, void *data, size_t nbytes); }
-+	SYS_EXTATTR_LIST_FILE        = 438 // { ssize_t extattr_list_file( const char *path, int attrnamespace, void *data, size_t nbytes); }
-+	SYS_EXTATTR_LIST_LINK        = 439 // { ssize_t extattr_list_link( const char *path, int attrnamespace, void *data, size_t nbytes); }
-+	SYS_KSEM_TIMEDWAIT           = 441 // { int ksem_timedwait(semid_t id, const struct timespec *abstime); }
-+	SYS_THR_SUSPEND              = 442 // { int thr_suspend( const struct timespec *timeout); }
-+	SYS_THR_WAKE                 = 443 // { int thr_wake(long id); }
-+	SYS_KLDUNLOADF               = 444 // { int kldunloadf(int fileid, int flags); }
-+	SYS_AUDIT                    = 445 // { int audit(const void *record, u_int length); }
-+	SYS_AUDITON                  = 446 // { int auditon(int cmd, void *data, u_int length); }
-+	SYS_GETAUID                  = 447 // { int getauid(uid_t *auid); }
-+	SYS_SETAUID                  = 448 // { int setauid(uid_t *auid); }
-+	SYS_GETAUDIT                 = 449 // { int getaudit(struct auditinfo *auditinfo); }
-+	SYS_SETAUDIT                 = 450 // { int setaudit(struct auditinfo *auditinfo); }
-+	SYS_GETAUDIT_ADDR            = 451 // { int getaudit_addr( struct auditinfo_addr *auditinfo_addr, u_int length); }
-+	SYS_SETAUDIT_ADDR            = 452 // { int setaudit_addr( struct auditinfo_addr *auditinfo_addr, u_int length); }
-+	SYS_AUDITCTL                 = 453 // { int auditctl(char *path); }
-+	SYS__UMTX_OP                 = 454 // { int _umtx_op(void *obj, int op, u_long val, void *uaddr1, void *uaddr2); }
-+	SYS_THR_NEW                  = 455 // { int thr_new(struct thr_param *param, int param_size); }
-+	SYS_SIGQUEUE                 = 456 // { int sigqueue(pid_t pid, int signum, void *value); }
-+	SYS_KMQ_OPEN                 = 457 // { int kmq_open(const char *path, int flags, mode_t mode, const struct mq_attr *attr); }
-+	SYS_KMQ_SETATTR              = 458 // { int kmq_setattr(int mqd,		const struct mq_attr *attr,		struct mq_attr *oattr); }
-+	SYS_KMQ_TIMEDRECEIVE         = 459 // { int kmq_timedreceive(int mqd,	char *msg_ptr, size_t msg_len,	unsigned *msg_prio,			const struct timespec *abs_timeout); }
-+	SYS_KMQ_TIMEDSEND            = 460 // { int kmq_timedsend(int mqd,		const char *msg_ptr, size_t msg_len,unsigned msg_prio,			const struct timespec *abs_timeout);}
-+	SYS_KMQ_NOTIFY               = 461 // { int kmq_notify(int mqd,		const struct sigevent *sigev); }
-+	SYS_KMQ_UNLINK               = 462 // { int kmq_unlink(const char *path); }
-+	SYS_ABORT2                   = 463 // { int abort2(const char *why, int nargs, void **args); }
-+	SYS_THR_SET_NAME             = 464 // { int thr_set_name(long id, const char *name); }
-+	SYS_AIO_FSYNC                = 465 // { int aio_fsync(int op, struct aiocb *aiocbp); }
-+	SYS_RTPRIO_THREAD            = 466 // { int rtprio_thread(int function, lwpid_t lwpid, struct rtprio *rtp); }
-+	SYS_SCTP_PEELOFF             = 471 // { int sctp_peeloff(int sd, uint32_t name); }
-+	SYS_SCTP_GENERIC_SENDMSG     = 472 // { int sctp_generic_sendmsg(int sd, caddr_t msg, int mlen, caddr_t to, __socklen_t tolen, struct sctp_sndrcvinfo *sinfo, int flags); }
-+	SYS_SCTP_GENERIC_SENDMSG_IOV = 473 // { int sctp_generic_sendmsg_iov(int sd, struct iovec *iov, int iovlen, caddr_t to, __socklen_t tolen, struct sctp_sndrcvinfo *sinfo, int flags); }
-+	SYS_SCTP_GENERIC_RECVMSG     = 474 // { int sctp_generic_recvmsg(int sd, struct iovec *iov, int iovlen, struct sockaddr * from, __socklen_t *fromlenaddr, struct sctp_sndrcvinfo *sinfo, int *msg_flags); }
-+	SYS_PREAD                    = 475 // { ssize_t pread(int fd, void *buf, size_t nbyte, off_t offset); }
-+	SYS_PWRITE                   = 476 // { ssize_t pwrite(int fd, const void *buf, size_t nbyte, off_t offset); }
-+	SYS_MMAP                     = 477 // { caddr_t mmap(caddr_t addr, size_t len, int prot, int flags, int fd, off_t pos); }
-+	SYS_LSEEK                    = 478 // { off_t lseek(int fd, off_t offset, int whence); }
-+	SYS_TRUNCATE                 = 479 // { int truncate(char *path, off_t length); }
-+	SYS_FTRUNCATE                = 480 // { int ftruncate(int fd, off_t length); }
-+	SYS_THR_KILL2                = 481 // { int thr_kill2(pid_t pid, long id, int sig); }
-+	SYS_SHM_OPEN                 = 482 // { int shm_open(const char *path, int flags, mode_t mode); }
-+	SYS_SHM_UNLINK               = 483 // { int shm_unlink(const char *path); }
-+	SYS_CPUSET                   = 484 // { int cpuset(cpusetid_t *setid); }
-+	SYS_CPUSET_SETID             = 485 // { int cpuset_setid(cpuwhich_t which, id_t id, cpusetid_t setid); }
-+	SYS_CPUSET_GETID             = 486 // { int cpuset_getid(cpulevel_t level, cpuwhich_t which, id_t id, cpusetid_t *setid); }
-+	SYS_CPUSET_GETAFFINITY       = 487 // { int cpuset_getaffinity(cpulevel_t level, cpuwhich_t which, id_t id, size_t cpusetsize, cpuset_t *mask); }
-+	SYS_CPUSET_SETAFFINITY       = 488 // { int cpuset_setaffinity(cpulevel_t level, cpuwhich_t which, id_t id, size_t cpusetsize, const cpuset_t *mask); }
-+	SYS_FACCESSAT                = 489 // { int faccessat(int fd, char *path, int amode, int flag); }
-+	SYS_FCHMODAT                 = 490 // { int fchmodat(int fd, char *path, mode_t mode, int flag); }
-+	SYS_FCHOWNAT                 = 491 // { int fchownat(int fd, char *path, uid_t uid, gid_t gid, int flag); }
-+	SYS_FEXECVE                  = 492 // { int fexecve(int fd, char **argv, char **envv); }
-+	SYS_FSTATAT                  = 493 // { int fstatat(int fd, char *path, struct stat *buf, int flag); }
-+	SYS_FUTIMESAT                = 494 // { int futimesat(int fd, char *path, struct timeval *times); }
-+	SYS_LINKAT                   = 495 // { int linkat(int fd1, char *path1, int fd2, char *path2, int flag); }
-+	SYS_MKDIRAT                  = 496 // { int mkdirat(int fd, char *path, mode_t mode); }
-+	SYS_MKFIFOAT                 = 497 // { int mkfifoat(int fd, char *path, mode_t mode); }
-+	SYS_MKNODAT                  = 498 // { int mknodat(int fd, char *path, mode_t mode, dev_t dev); }
-+	SYS_OPENAT                   = 499 // { int openat(int fd, char *path, int flag, mode_t mode); }
-+	SYS_READLINKAT               = 500 // { int readlinkat(int fd, char *path, char *buf, size_t bufsize); }
-+	SYS_RENAMEAT                 = 501 // { int renameat(int oldfd, char *old, int newfd, char *new); }
-+	SYS_SYMLINKAT                = 502 // { int symlinkat(char *path1, int fd, char *path2); }
-+	SYS_UNLINKAT                 = 503 // { int unlinkat(int fd, char *path, int flag); }
-+	SYS_POSIX_OPENPT             = 504 // { int posix_openpt(int flags); }
-+	SYS_GSSD_SYSCALL             = 505 // { int gssd_syscall(char *path); }
-+	SYS_JAIL_GET                 = 506 // { int jail_get(struct iovec *iovp, unsigned int iovcnt, int flags); }
-+	SYS_JAIL_SET                 = 507 // { int jail_set(struct iovec *iovp, unsigned int iovcnt, int flags); }
-+	SYS_JAIL_REMOVE              = 508 // { int jail_remove(int jid); }
-+	SYS_CLOSEFROM                = 509 // { int closefrom(int lowfd); }
-+	SYS___SEMCTL                 = 510 // { int __semctl(int semid, int semnum, int cmd, union semun *arg); }
-+	SYS_MSGCTL                   = 511 // { int msgctl(int msqid, int cmd, struct msqid_ds *buf); }
-+	SYS_SHMCTL                   = 512 // { int shmctl(int shmid, int cmd, struct shmid_ds *buf); }
-+	SYS_LPATHCONF                = 513 // { int lpathconf(char *path, int name); }
-+	SYS___CAP_RIGHTS_GET         = 515 // { int __cap_rights_get(int version, int fd, cap_rights_t *rightsp); }
-+	SYS_CAP_ENTER                = 516 // { int cap_enter(void); }
-+	SYS_CAP_GETMODE              = 517 // { int cap_getmode(u_int *modep); }
-+	SYS_PDFORK                   = 518 // { int pdfork(int *fdp, int flags); }
-+	SYS_PDKILL                   = 519 // { int pdkill(int fd, int signum); }
-+	SYS_PDGETPID                 = 520 // { int pdgetpid(int fd, pid_t *pidp); }
-+	SYS_PSELECT                  = 522 // { int pselect(int nd, fd_set *in, fd_set *ou, fd_set *ex, const struct timespec *ts, const sigset_t *sm); }
-+	SYS_GETLOGINCLASS            = 523 // { int getloginclass(char *namebuf, size_t namelen); }
-+	SYS_SETLOGINCLASS            = 524 // { int setloginclass(const char *namebuf); }
-+	SYS_RCTL_GET_RACCT           = 525 // { int rctl_get_racct(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); }
-+	SYS_RCTL_GET_RULES           = 526 // { int rctl_get_rules(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); }
-+	SYS_RCTL_GET_LIMITS          = 527 // { int rctl_get_limits(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); }
-+	SYS_RCTL_ADD_RULE            = 528 // { int rctl_add_rule(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); }
-+	SYS_RCTL_REMOVE_RULE         = 529 // { int rctl_remove_rule(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); }
-+	SYS_POSIX_FALLOCATE          = 530 // { int posix_fallocate(int fd, off_t offset, off_t len); }
-+	SYS_POSIX_FADVISE            = 531 // { int posix_fadvise(int fd, off_t offset, off_t len, int advice); }
-+	SYS_WAIT6                    = 532 // { int wait6(idtype_t idtype, id_t id, int *status, int options, struct __wrusage *wrusage, siginfo_t *info); }
-+	SYS_CAP_RIGHTS_LIMIT         = 533 // { int cap_rights_limit(int fd, cap_rights_t *rightsp); }
-+	SYS_CAP_IOCTLS_LIMIT         = 534 // { int cap_ioctls_limit(int fd, const u_long *cmds, size_t ncmds); }
-+	SYS_CAP_IOCTLS_GET           = 535 // { ssize_t cap_ioctls_get(int fd, u_long *cmds, size_t maxcmds); }
-+	SYS_CAP_FCNTLS_LIMIT         = 536 // { int cap_fcntls_limit(int fd, uint32_t fcntlrights); }
-+	SYS_CAP_FCNTLS_GET           = 537 // { int cap_fcntls_get(int fd, uint32_t *fcntlrightsp); }
-+	SYS_BINDAT                   = 538 // { int bindat(int fd, int s, caddr_t name, int namelen); }
-+	SYS_CONNECTAT                = 539 // { int connectat(int fd, int s, caddr_t name, int namelen); }
-+	SYS_CHFLAGSAT                = 540 // { int chflagsat(int fd, const char *path, u_long flags, int atflag); }
-+	SYS_ACCEPT4                  = 541 // { int accept4(int s, struct sockaddr * __restrict name, __socklen_t * __restrict anamelen, int flags); }
-+	SYS_PIPE2                    = 542 // { int pipe2(int *fildes, int flags); }
-+	SYS_AIO_MLOCK                = 543 // { int aio_mlock(struct aiocb *aiocbp); }
-+	SYS_PROCCTL                  = 544 // { int procctl(idtype_t idtype, id_t id, int com, void *data); }
-+	SYS_PPOLL                    = 545 // { int ppoll(struct pollfd *fds, u_int nfds, const struct timespec *ts, const sigset_t *set); }
-+	SYS_FUTIMENS                 = 546 // { int futimens(int fd, struct timespec *times); }
-+	SYS_UTIMENSAT                = 547 // { int utimensat(int fd, char *path, struct timespec *times, int flag); }
-+	SYS_NUMA_GETAFFINITY         = 548 // { int numa_getaffinity(cpuwhich_t which, id_t id, struct vm_domain_policy_entry *policy); }
-+	SYS_NUMA_SETAFFINITY         = 549 // { int numa_setaffinity(cpuwhich_t which, id_t id, const struct vm_domain_policy_entry *policy); }
-+	SYS_FDATASYNC                = 550 // { int fdatasync(int fd); }
- )
-diff --git a/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm64.go b/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm64.go
-new file mode 100644
-index 00000000..3e51af8e
---- /dev/null
-+++ b/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm64.go
-@@ -0,0 +1,396 @@
-+// go run mksysnum.go https://svn.freebsd.org/base/stable/11/sys/kern/syscalls.master
-+// Code generated by the command above; see README.md. DO NOT EDIT.
-+
-+// +build arm64,freebsd
-+
-+package unix
-+
-+const (
-+	// SYS_NOSYS = 0;  // { int nosys(void); } syscall nosys_args int
-+	SYS_EXIT                     = 1   // { void sys_exit(int rval); } exit sys_exit_args void
-+	SYS_FORK                     = 2   // { int fork(void); }
-+	SYS_READ                     = 3   // { ssize_t read(int fd, void *buf, size_t nbyte); }
-+	SYS_WRITE                    = 4   // { ssize_t write(int fd, const void *buf, size_t nbyte); }
-+	SYS_OPEN                     = 5   // { int open(char *path, int flags, int mode); }
-+	SYS_CLOSE                    = 6   // { int close(int fd); }
-+	SYS_WAIT4                    = 7   // { int wait4(int pid, int *status, int options, struct rusage *rusage); }
-+	SYS_LINK                     = 9   // { int link(char *path, char *link); }
-+	SYS_UNLINK                   = 10  // { int unlink(char *path); }
-+	SYS_CHDIR                    = 12  // { int chdir(char *path); }
-+	SYS_FCHDIR                   = 13  // { int fchdir(int fd); }
-+	SYS_MKNOD                    = 14  // { int mknod(char *path, int mode, int dev); }
-+	SYS_CHMOD                    = 15  // { int chmod(char *path, int mode); }
-+	SYS_CHOWN                    = 16  // { int chown(char *path, int uid, int gid); }
-+	SYS_OBREAK                   = 17  // { int obreak(char *nsize); } break obreak_args int
-+	SYS_GETPID                   = 20  // { pid_t getpid(void); }
-+	SYS_MOUNT                    = 21  // { int mount(char *type, char *path, int flags, caddr_t data); }
-+	SYS_UNMOUNT                  = 22  // { int unmount(char *path, int flags); }
-+	SYS_SETUID                   = 23  // { int setuid(uid_t uid); }
-+	SYS_GETUID                   = 24  // { uid_t getuid(void); }
-+	SYS_GETEUID                  = 25  // { uid_t geteuid(void); }
-+	SYS_PTRACE                   = 26  // { int ptrace(int req, pid_t pid, caddr_t addr, int data); }
-+	SYS_RECVMSG                  = 27  // { int recvmsg(int s, struct msghdr *msg, int flags); }
-+	SYS_SENDMSG                  = 28  // { int sendmsg(int s, struct msghdr *msg, int flags); }
-+	SYS_RECVFROM                 = 29  // { int recvfrom(int s, caddr_t buf, size_t len, int flags, struct sockaddr * __restrict from, __socklen_t * __restrict fromlenaddr); }
-+	SYS_ACCEPT                   = 30  // { int accept(int s, struct sockaddr * __restrict name, __socklen_t * __restrict anamelen); }
-+	SYS_GETPEERNAME              = 31  // { int getpeername(int fdes, struct sockaddr * __restrict asa, __socklen_t * __restrict alen); }
-+	SYS_GETSOCKNAME              = 32  // { int getsockname(int fdes, struct sockaddr * __restrict asa, __socklen_t * __restrict alen); }
-+	SYS_ACCESS                   = 33  // { int access(char *path, int amode); }
-+	SYS_CHFLAGS                  = 34  // { int chflags(const char *path, u_long flags); }
-+	SYS_FCHFLAGS                 = 35  // { int fchflags(int fd, u_long flags); }
-+	SYS_SYNC                     = 36  // { int sync(void); }
-+	SYS_KILL                     = 37  // { int kill(int pid, int signum); }
-+	SYS_GETPPID                  = 39  // { pid_t getppid(void); }
-+	SYS_DUP                      = 41  // { int dup(u_int fd); }
-+	SYS_PIPE                     = 42  // { int pipe(void); }
-+	SYS_GETEGID                  = 43  // { gid_t getegid(void); }
-+	SYS_PROFIL                   = 44  // { int profil(caddr_t samples, size_t size, size_t offset, u_int scale); }
-+	SYS_KTRACE                   = 45  // { int ktrace(const char *fname, int ops, int facs, int pid); }
-+	SYS_GETGID                   = 47  // { gid_t getgid(void); }
-+	SYS_GETLOGIN                 = 49  // { int getlogin(char *namebuf, u_int namelen); }
-+	SYS_SETLOGIN                 = 50  // { int setlogin(char *namebuf); }
-+	SYS_ACCT                     = 51  // { int acct(char *path); }
-+	SYS_SIGALTSTACK              = 53  // { int sigaltstack(stack_t *ss, stack_t *oss); }
-+	SYS_IOCTL                    = 54  // { int ioctl(int fd, u_long com, caddr_t data); }
-+	SYS_REBOOT                   = 55  // { int reboot(int opt); }
-+	SYS_REVOKE                   = 56  // { int revoke(char *path); }
-+	SYS_SYMLINK                  = 57  // { int symlink(char *path, char *link); }
-+	SYS_READLINK                 = 58  // { ssize_t readlink(char *path, char *buf, size_t count); }
-+	SYS_EXECVE                   = 59  // { int execve(char *fname, char **argv, char **envv); }
-+	SYS_UMASK                    = 60  // { int umask(int newmask); } umask umask_args int
-+	SYS_CHROOT                   = 61  // { int chroot(char *path); }
-+	SYS_MSYNC                    = 65  // { int msync(void *addr, size_t len, int flags); }
-+	SYS_VFORK                    = 66  // { int vfork(void); }
-+	SYS_SBRK                     = 69  // { int sbrk(int incr); }
-+	SYS_SSTK                     = 70  // { int sstk(int incr); }
-+	SYS_OVADVISE                 = 72  // { int ovadvise(int anom); } vadvise ovadvise_args int
-+	SYS_MUNMAP                   = 73  // { int munmap(void *addr, size_t len); }
-+	SYS_MPROTECT                 = 74  // { int mprotect(const void *addr, size_t len, int prot); }
-+	SYS_MADVISE                  = 75  // { int madvise(void *addr, size_t len, int behav); }
-+	SYS_MINCORE                  = 78  // { int mincore(const void *addr, size_t len, char *vec); }
-+	SYS_GETGROUPS                = 79  // { int getgroups(u_int gidsetsize, gid_t *gidset); }
-+	SYS_SETGROUPS                = 80  // { int setgroups(u_int gidsetsize, gid_t *gidset); }
-+	SYS_GETPGRP                  = 81  // { int getpgrp(void); }
-+	SYS_SETPGID                  = 82  // { int setpgid(int pid, int pgid); }
-+	SYS_SETITIMER                = 83  // { int setitimer(u_int which, struct itimerval *itv, struct itimerval *oitv); }
-+	SYS_SWAPON                   = 85  // { int swapon(char *name); }
-+	SYS_GETITIMER                = 86  // { int getitimer(u_int which, struct itimerval *itv); }
-+	SYS_GETDTABLESIZE            = 89  // { int getdtablesize(void); }
-+	SYS_DUP2                     = 90  // { int dup2(u_int from, u_int to); }
-+	SYS_FCNTL                    = 92  // { int fcntl(int fd, int cmd, long arg); }
-+	SYS_SELECT                   = 93  // { int select(int nd, fd_set *in, fd_set *ou, fd_set *ex, struct timeval *tv); }
-+	SYS_FSYNC                    = 95  // { int fsync(int fd); }
-+	SYS_SETPRIORITY              = 96  // { int setpriority(int which, int who, int prio); }
-+	SYS_SOCKET                   = 97  // { int socket(int domain, int type, int protocol); }
-+	SYS_CONNECT                  = 98  // { int connect(int s, caddr_t name, int namelen); }
-+	SYS_GETPRIORITY              = 100 // { int getpriority(int which, int who); }
-+	SYS_BIND                     = 104 // { int bind(int s, caddr_t name, int namelen); }
-+	SYS_SETSOCKOPT               = 105 // { int setsockopt(int s, int level, int name, caddr_t val, int valsize); }
-+	SYS_LISTEN                   = 106 // { int listen(int s, int backlog); }
-+	SYS_GETTIMEOFDAY             = 116 // { int gettimeofday(struct timeval *tp, struct timezone *tzp); }
-+	SYS_GETRUSAGE                = 117 // { int getrusage(int who, struct rusage *rusage); }
-+	SYS_GETSOCKOPT               = 118 // { int getsockopt(int s, int level, int name, caddr_t val, int *avalsize); }
-+	SYS_READV                    = 120 // { int readv(int fd, struct iovec *iovp, u_int iovcnt); }
-+	SYS_WRITEV                   = 121 // { int writev(int fd, struct iovec *iovp, u_int iovcnt); }
-+	SYS_SETTIMEOFDAY             = 122 // { int settimeofday(struct timeval *tv, struct timezone *tzp); }
-+	SYS_FCHOWN                   = 123 // { int fchown(int fd, int uid, int gid); }
-+	SYS_FCHMOD                   = 124 // { int fchmod(int fd, int mode); }
-+	SYS_SETREUID                 = 126 // { int setreuid(int ruid, int euid); }
-+	SYS_SETREGID                 = 127 // { int setregid(int rgid, int egid); }
-+	SYS_RENAME                   = 128 // { int rename(char *from, char *to); }
-+	SYS_FLOCK                    = 131 // { int flock(int fd, int how); }
-+	SYS_MKFIFO                   = 132 // { int mkfifo(char *path, int mode); }
-+	SYS_SENDTO                   = 133 // { int sendto(int s, caddr_t buf, size_t len, int flags, caddr_t to, int tolen); }
-+	SYS_SHUTDOWN                 = 134 // { int shutdown(int s, int how); }
-+	SYS_SOCKETPAIR               = 135 // { int socketpair(int domain, int type, int protocol, int *rsv); }
-+	SYS_MKDIR                    = 136 // { int mkdir(char *path, int mode); }
-+	SYS_RMDIR                    = 137 // { int rmdir(char *path); }
-+	SYS_UTIMES                   = 138 // { int utimes(char *path, struct timeval *tptr); }
-+	SYS_ADJTIME                  = 140 // { int adjtime(struct timeval *delta, struct timeval *olddelta); }
-+	SYS_SETSID                   = 147 // { int setsid(void); }
-+	SYS_QUOTACTL                 = 148 // { int quotactl(char *path, int cmd, int uid, caddr_t arg); }
-+	SYS_NLM_SYSCALL              = 154 // { int nlm_syscall(int debug_level, int grace_period, int addr_count, char **addrs); }
-+	SYS_NFSSVC                   = 155 // { int nfssvc(int flag, caddr_t argp); }
-+	SYS_LGETFH                   = 160 // { int lgetfh(char *fname, struct fhandle *fhp); }
-+	SYS_GETFH                    = 161 // { int getfh(char *fname, struct fhandle *fhp); }
-+	SYS_SYSARCH                  = 165 // { int sysarch(int op, char *parms); }
-+	SYS_RTPRIO                   = 166 // { int rtprio(int function, pid_t pid, struct rtprio *rtp); }
-+	SYS_SEMSYS                   = 169 // { int semsys(int which, int a2, int a3, int a4, int a5); }
-+	SYS_MSGSYS                   = 170 // { int msgsys(int which, int a2, int a3, int a4, int a5, int a6); }
-+	SYS_SHMSYS                   = 171 // { int shmsys(int which, int a2, int a3, int a4); }
-+	SYS_SETFIB                   = 175 // { int setfib(int fibnum); }
-+	SYS_NTP_ADJTIME              = 176 // { int ntp_adjtime(struct timex *tp); }
-+	SYS_SETGID                   = 181 // { int setgid(gid_t gid); }
-+	SYS_SETEGID                  = 182 // { int setegid(gid_t egid); }
-+	SYS_SETEUID                  = 183 // { int seteuid(uid_t euid); }
-+	SYS_STAT                     = 188 // { int stat(char *path, struct stat *ub); }
-+	SYS_FSTAT                    = 189 // { int fstat(int fd, struct stat *sb); }
-+	SYS_LSTAT                    = 190 // { int lstat(char *path, struct stat *ub); }
-+	SYS_PATHCONF                 = 191 // { int pathconf(char *path, int name); }
-+	SYS_FPATHCONF                = 192 // { int fpathconf(int fd, int name); }
-+	SYS_GETRLIMIT                = 194 // { int getrlimit(u_int which, struct rlimit *rlp); } getrlimit __getrlimit_args int
-+	SYS_SETRLIMIT                = 195 // { int setrlimit(u_int which, struct rlimit *rlp); } setrlimit __setrlimit_args int
-+	SYS_GETDIRENTRIES            = 196 // { int getdirentries(int fd, char *buf, u_int count, long *basep); }
-+	SYS___SYSCTL                 = 202 // { int __sysctl(int *name, u_int namelen, void *old, size_t *oldlenp, void *new, size_t newlen); } __sysctl sysctl_args int
-+	SYS_MLOCK                    = 203 // { int mlock(const void *addr, size_t len); }
-+	SYS_MUNLOCK                  = 204 // { int munlock(const void *addr, size_t len); }
-+	SYS_UNDELETE                 = 205 // { int undelete(char *path); }
-+	SYS_FUTIMES                  = 206 // { int futimes(int fd, struct timeval *tptr); }
-+	SYS_GETPGID                  = 207 // { int getpgid(pid_t pid); }
-+	SYS_POLL                     = 209 // { int poll(struct pollfd *fds, u_int nfds, int timeout); }
-+	SYS_SEMGET                   = 221 // { int semget(key_t key, int nsems, int semflg); }
-+	SYS_SEMOP                    = 222 // { int semop(int semid, struct sembuf *sops, size_t nsops); }
-+	SYS_MSGGET                   = 225 // { int msgget(key_t key, int msgflg); }
-+	SYS_MSGSND                   = 226 // { int msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg); }
-+	SYS_MSGRCV                   = 227 // { int msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg); }
-+	SYS_SHMAT                    = 228 // { int shmat(int shmid, const void *shmaddr, int shmflg); }
-+	SYS_SHMDT                    = 230 // { int shmdt(const void *shmaddr); }
-+	SYS_SHMGET                   = 231 // { int shmget(key_t key, size_t size, int shmflg); }
-+	SYS_CLOCK_GETTIME            = 232 // { int clock_gettime(clockid_t clock_id, struct timespec *tp); }
-+	SYS_CLOCK_SETTIME            = 233 // { int clock_settime( clockid_t clock_id, const struct timespec *tp); }
-+	SYS_CLOCK_GETRES             = 234 // { int clock_getres(clockid_t clock_id, struct timespec *tp); }
-+	SYS_KTIMER_CREATE            = 235 // { int ktimer_create(clockid_t clock_id, struct sigevent *evp, int *timerid); }
-+	SYS_KTIMER_DELETE            = 236 // { int ktimer_delete(int timerid); }
-+	SYS_KTIMER_SETTIME           = 237 // { int ktimer_settime(int timerid, int flags, const struct itimerspec *value, struct itimerspec *ovalue); }
-+	SYS_KTIMER_GETTIME           = 238 // { int ktimer_gettime(int timerid, struct itimerspec *value); }
-+	SYS_KTIMER_GETOVERRUN        = 239 // { int ktimer_getoverrun(int timerid); }
-+	SYS_NANOSLEEP                = 240 // { int nanosleep(const struct timespec *rqtp, struct timespec *rmtp); }
-+	SYS_FFCLOCK_GETCOUNTER       = 241 // { int ffclock_getcounter(ffcounter *ffcount); }
-+	SYS_FFCLOCK_SETESTIMATE      = 242 // { int ffclock_setestimate( struct ffclock_estimate *cest); }
-+	SYS_FFCLOCK_GETESTIMATE      = 243 // { int ffclock_getestimate( struct ffclock_estimate *cest); }
-+	SYS_CLOCK_NANOSLEEP          = 244 // { int clock_nanosleep(clockid_t clock_id, int flags, const struct timespec *rqtp, struct timespec *rmtp); }
-+	SYS_CLOCK_GETCPUCLOCKID2     = 247 // { int clock_getcpuclockid2(id_t id,int which, clockid_t *clock_id); }
-+	SYS_NTP_GETTIME              = 248 // { int ntp_gettime(struct ntptimeval *ntvp); }
-+	SYS_MINHERIT                 = 250 // { int minherit(void *addr, size_t len, int inherit); }
-+	SYS_RFORK                    = 251 // { int rfork(int flags); }
-+	SYS_OPENBSD_POLL             = 252 // { int openbsd_poll(struct pollfd *fds, u_int nfds, int timeout); }
-+	SYS_ISSETUGID                = 253 // { int issetugid(void); }
-+	SYS_LCHOWN                   = 254 // { int lchown(char *path, int uid, int gid); }
-+	SYS_AIO_READ                 = 255 // { int aio_read(struct aiocb *aiocbp); }
-+	SYS_AIO_WRITE                = 256 // { int aio_write(struct aiocb *aiocbp); }
-+	SYS_LIO_LISTIO               = 257 // { int lio_listio(int mode, struct aiocb * const *acb_list, int nent, struct sigevent *sig); }
-+	SYS_GETDENTS                 = 272 // { int getdents(int fd, char *buf, size_t count); }
-+	SYS_LCHMOD                   = 274 // { int lchmod(char *path, mode_t mode); }
-+	SYS_LUTIMES                  = 276 // { int lutimes(char *path, struct timeval *tptr); }
-+	SYS_NSTAT                    = 278 // { int nstat(char *path, struct nstat *ub); }
-+	SYS_NFSTAT                   = 279 // { int nfstat(int fd, struct nstat *sb); }
-+	SYS_NLSTAT                   = 280 // { int nlstat(char *path, struct nstat *ub); }
-+	SYS_PREADV                   = 289 // { ssize_t preadv(int fd, struct iovec *iovp, u_int iovcnt, off_t offset); }
-+	SYS_PWRITEV                  = 290 // { ssize_t pwritev(int fd, struct iovec *iovp, u_int iovcnt, off_t offset); }
-+	SYS_FHOPEN                   = 298 // { int fhopen(const struct fhandle *u_fhp, int flags); }
-+	SYS_FHSTAT                   = 299 // { int fhstat(const struct fhandle *u_fhp, struct stat *sb); }
-+	SYS_MODNEXT                  = 300 // { int modnext(int modid); }
-+	SYS_MODSTAT                  = 301 // { int modstat(int modid, struct module_stat *stat); }
-+	SYS_MODFNEXT                 = 302 // { int modfnext(int modid); }
-+	SYS_MODFIND                  = 303 // { int modfind(const char *name); }
-+	SYS_KLDLOAD                  = 304 // { int kldload(const char *file); }
-+	SYS_KLDUNLOAD                = 305 // { int kldunload(int fileid); }
-+	SYS_KLDFIND                  = 306 // { int kldfind(const char *file); }
-+	SYS_KLDNEXT                  = 307 // { int kldnext(int fileid); }
-+	SYS_KLDSTAT                  = 308 // { int kldstat(int fileid, struct kld_file_stat* stat); }
-+	SYS_KLDFIRSTMOD              = 309 // { int kldfirstmod(int fileid); }
-+	SYS_GETSID                   = 310 // { int getsid(pid_t pid); }
-+	SYS_SETRESUID                = 311 // { int setresuid(uid_t ruid, uid_t euid, uid_t suid); }
-+	SYS_SETRESGID                = 312 // { int setresgid(gid_t rgid, gid_t egid, gid_t sgid); }
-+	SYS_AIO_RETURN               = 314 // { ssize_t aio_return(struct aiocb *aiocbp); }
-+	SYS_AIO_SUSPEND              = 315 // { int aio_suspend( struct aiocb * const * aiocbp, int nent, const struct timespec *timeout); }
-+	SYS_AIO_CANCEL               = 316 // { int aio_cancel(int fd, struct aiocb *aiocbp); }
-+	SYS_AIO_ERROR                = 317 // { int aio_error(struct aiocb *aiocbp); }
-+	SYS_YIELD                    = 321 // { int yield(void); }
-+	SYS_MLOCKALL                 = 324 // { int mlockall(int how); }
-+	SYS_MUNLOCKALL               = 325 // { int munlockall(void); }
-+	SYS___GETCWD                 = 326 // { int __getcwd(char *buf, u_int buflen); }
-+	SYS_SCHED_SETPARAM           = 327 // { int sched_setparam (pid_t pid, const struct sched_param *param); }
-+	SYS_SCHED_GETPARAM           = 328 // { int sched_getparam (pid_t pid, struct sched_param *param); }
-+	SYS_SCHED_SETSCHEDULER       = 329 // { int sched_setscheduler (pid_t pid, int policy, const struct sched_param *param); }
-+	SYS_SCHED_GETSCHEDULER       = 330 // { int sched_getscheduler (pid_t pid); }
-+	SYS_SCHED_YIELD              = 331 // { int sched_yield (void); }
-+	SYS_SCHED_GET_PRIORITY_MAX   = 332 // { int sched_get_priority_max (int policy); }
-+	SYS_SCHED_GET_PRIORITY_MIN   = 333 // { int sched_get_priority_min (int policy); }
-+	SYS_SCHED_RR_GET_INTERVAL    = 334 // { int sched_rr_get_interval (pid_t pid, struct timespec *interval); }
-+	SYS_UTRACE                   = 335 // { int utrace(const void *addr, size_t len); }
-+	SYS_KLDSYM                   = 337 // { int kldsym(int fileid, int cmd, void *data); }
-+	SYS_JAIL                     = 338 // { int jail(struct jail *jail); }
-+	SYS_SIGPROCMASK              = 340 // { int sigprocmask(int how, const sigset_t *set, sigset_t *oset); }
-+	SYS_SIGSUSPEND               = 341 // { int sigsuspend(const sigset_t *sigmask); }
-+	SYS_SIGPENDING               = 343 // { int sigpending(sigset_t *set); }
-+	SYS_SIGTIMEDWAIT             = 345 // { int sigtimedwait(const sigset_t *set, siginfo_t *info, const struct timespec *timeout); }
-+	SYS_SIGWAITINFO              = 346 // { int sigwaitinfo(const sigset_t *set, siginfo_t *info); }
-+	SYS___ACL_GET_FILE           = 347 // { int __acl_get_file(const char *path, acl_type_t type, struct acl *aclp); }
-+	SYS___ACL_SET_FILE           = 348 // { int __acl_set_file(const char *path, acl_type_t type, struct acl *aclp); }
-+	SYS___ACL_GET_FD             = 349 // { int __acl_get_fd(int filedes, acl_type_t type, struct acl *aclp); }
-+	SYS___ACL_SET_FD             = 350 // { int __acl_set_fd(int filedes, acl_type_t type, struct acl *aclp); }
-+	SYS___ACL_DELETE_FILE        = 351 // { int __acl_delete_file(const char *path, acl_type_t type); }
-+	SYS___ACL_DELETE_FD          = 352 // { int __acl_delete_fd(int filedes, acl_type_t type); }
-+	SYS___ACL_ACLCHECK_FILE      = 353 // { int __acl_aclcheck_file(const char *path, acl_type_t type, struct acl *aclp); }
-+	SYS___ACL_ACLCHECK_FD        = 354 // { int __acl_aclcheck_fd(int filedes, acl_type_t type, struct acl *aclp); }
-+	SYS_EXTATTRCTL               = 355 // { int extattrctl(const char *path, int cmd, const char *filename, int attrnamespace, const char *attrname); }
-+	SYS_EXTATTR_SET_FILE         = 356 // { ssize_t extattr_set_file( const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); }
-+	SYS_EXTATTR_GET_FILE         = 357 // { ssize_t extattr_get_file( const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); }
-+	SYS_EXTATTR_DELETE_FILE      = 358 // { int extattr_delete_file(const char *path, int attrnamespace, const char *attrname); }
-+	SYS_AIO_WAITCOMPLETE         = 359 // { ssize_t aio_waitcomplete( struct aiocb **aiocbp, struct timespec *timeout); }
-+	SYS_GETRESUID                = 360 // { int getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); }
-+	SYS_GETRESGID                = 361 // { int getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); }
-+	SYS_KQUEUE                   = 362 // { int kqueue(void); }
-+	SYS_KEVENT                   = 363 // { int kevent(int fd, struct kevent *changelist, int nchanges, struct kevent *eventlist, int nevents, const struct timespec *timeout); }
-+	SYS_EXTATTR_SET_FD           = 371 // { ssize_t extattr_set_fd(int fd, int attrnamespace, const char *attrname, void *data, size_t nbytes); }
-+	SYS_EXTATTR_GET_FD           = 372 // { ssize_t extattr_get_fd(int fd, int attrnamespace, const char *attrname, void *data, size_t nbytes); }
-+	SYS_EXTATTR_DELETE_FD        = 373 // { int extattr_delete_fd(int fd, int attrnamespace, const char *attrname); }
-+	SYS___SETUGID                = 374 // { int __setugid(int flag); }
-+	SYS_EACCESS                  = 376 // { int eaccess(char *path, int amode); }
-+	SYS_NMOUNT                   = 378 // { int nmount(struct iovec *iovp, unsigned int iovcnt, int flags); }
-+	SYS___MAC_GET_PROC           = 384 // { int __mac_get_proc(struct mac *mac_p); }
-+	SYS___MAC_SET_PROC           = 385 // { int __mac_set_proc(struct mac *mac_p); }
-+	SYS___MAC_GET_FD             = 386 // { int __mac_get_fd(int fd, struct mac *mac_p); }
-+	SYS___MAC_GET_FILE           = 387 // { int __mac_get_file(const char *path_p, struct mac *mac_p); }
-+	SYS___MAC_SET_FD             = 388 // { int __mac_set_fd(int fd, struct mac *mac_p); }
-+	SYS___MAC_SET_FILE           = 389 // { int __mac_set_file(const char *path_p, struct mac *mac_p); }
-+	SYS_KENV                     = 390 // { int kenv(int what, const char *name, char *value, int len); }
-+	SYS_LCHFLAGS                 = 391 // { int lchflags(const char *path, u_long flags); }
-+	SYS_UUIDGEN                  = 392 // { int uuidgen(struct uuid *store, int count); }
-+	SYS_SENDFILE                 = 393 // { int sendfile(int fd, int s, off_t offset, size_t nbytes, struct sf_hdtr *hdtr, off_t *sbytes, int flags); }
-+	SYS_MAC_SYSCALL              = 394 // { int mac_syscall(const char *policy, int call, void *arg); }
-+	SYS_GETFSSTAT                = 395 // { int getfsstat(struct statfs *buf, long bufsize, int mode); }
-+	SYS_STATFS                   = 396 // { int statfs(char *path, struct statfs *buf); }
-+	SYS_FSTATFS                  = 397 // { int fstatfs(int fd, struct statfs *buf); }
-+	SYS_FHSTATFS                 = 398 // { int fhstatfs(const struct fhandle *u_fhp, struct statfs *buf); }
-+	SYS_KSEM_CLOSE               = 400 // { int ksem_close(semid_t id); }
-+	SYS_KSEM_POST                = 401 // { int ksem_post(semid_t id); }
-+	SYS_KSEM_WAIT                = 402 // { int ksem_wait(semid_t id); }
-+	SYS_KSEM_TRYWAIT             = 403 // { int ksem_trywait(semid_t id); }
-+	SYS_KSEM_INIT                = 404 // { int ksem_init(semid_t *idp, unsigned int value); }
-+	SYS_KSEM_OPEN                = 405 // { int ksem_open(semid_t *idp, const char *name, int oflag, mode_t mode, unsigned int value); }
-+	SYS_KSEM_UNLINK              = 406 // { int ksem_unlink(const char *name); }
-+	SYS_KSEM_GETVALUE            = 407 // { int ksem_getvalue(semid_t id, int *val); }
-+	SYS_KSEM_DESTROY             = 408 // { int ksem_destroy(semid_t id); }
-+	SYS___MAC_GET_PID            = 409 // { int __mac_get_pid(pid_t pid, struct mac *mac_p); }
-+	SYS___MAC_GET_LINK           = 410 // { int __mac_get_link(const char *path_p, struct mac *mac_p); }
-+	SYS___MAC_SET_LINK           = 411 // { int __mac_set_link(const char *path_p, struct mac *mac_p); }
-+	SYS_EXTATTR_SET_LINK         = 412 // { ssize_t extattr_set_link( const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); }
-+	SYS_EXTATTR_GET_LINK         = 413 // { ssize_t extattr_get_link( const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); }
-+	SYS_EXTATTR_DELETE_LINK      = 414 // { int extattr_delete_link( const char *path, int attrnamespace, const char *attrname); }
-+	SYS___MAC_EXECVE             = 415 // { int __mac_execve(char *fname, char **argv, char **envv, struct mac *mac_p); }
-+	SYS_SIGACTION                = 416 // { int sigaction(int sig, const struct sigaction *act, struct sigaction *oact); }
-+	SYS_SIGRETURN                = 417 // { int sigreturn( const struct __ucontext *sigcntxp); }
-+	SYS_GETCONTEXT               = 421 // { int getcontext(struct __ucontext *ucp); }
-+	SYS_SETCONTEXT               = 422 // { int setcontext( const struct __ucontext *ucp); }
-+	SYS_SWAPCONTEXT              = 423 // { int swapcontext(struct __ucontext *oucp, const struct __ucontext *ucp); }
-+	SYS_SWAPOFF                  = 424 // { int swapoff(const char *name); }
-+	SYS___ACL_GET_LINK           = 425 // { int __acl_get_link(const char *path, acl_type_t type, struct acl *aclp); }
-+	SYS___ACL_SET_LINK           = 426 // { int __acl_set_link(const char *path, acl_type_t type, struct acl *aclp); }
-+	SYS___ACL_DELETE_LINK        = 427 // { int __acl_delete_link(const char *path, acl_type_t type); }
-+	SYS___ACL_ACLCHECK_LINK      = 428 // { int __acl_aclcheck_link(const char *path, acl_type_t type, struct acl *aclp); }
-+	SYS_SIGWAIT                  = 429 // { int sigwait(const sigset_t *set, int *sig); }
-+	SYS_THR_CREATE               = 430 // { int thr_create(ucontext_t *ctx, long *id, int flags); }
-+	SYS_THR_EXIT                 = 431 // { void thr_exit(long *state); }
-+	SYS_THR_SELF                 = 432 // { int thr_self(long *id); }
-+	SYS_THR_KILL                 = 433 // { int thr_kill(long id, int sig); }
-+	SYS_JAIL_ATTACH              = 436 // { int jail_attach(int jid); }
-+	SYS_EXTATTR_LIST_FD          = 437 // { ssize_t extattr_list_fd(int fd, int attrnamespace, void *data, size_t nbytes); }
-+	SYS_EXTATTR_LIST_FILE        = 438 // { ssize_t extattr_list_file( const char *path, int attrnamespace, void *data, size_t nbytes); }
-+	SYS_EXTATTR_LIST_LINK        = 439 // { ssize_t extattr_list_link( const char *path, int attrnamespace, void *data, size_t nbytes); }
-+	SYS_KSEM_TIMEDWAIT           = 441 // { int ksem_timedwait(semid_t id, const struct timespec *abstime); }
-+	SYS_THR_SUSPEND              = 442 // { int thr_suspend( const struct timespec *timeout); }
-+	SYS_THR_WAKE                 = 443 // { int thr_wake(long id); }
-+	SYS_KLDUNLOADF               = 444 // { int kldunloadf(int fileid, int flags); }
-+	SYS_AUDIT                    = 445 // { int audit(const void *record, u_int length); }
-+	SYS_AUDITON                  = 446 // { int auditon(int cmd, void *data, u_int length); }
-+	SYS_GETAUID                  = 447 // { int getauid(uid_t *auid); }
-+	SYS_SETAUID                  = 448 // { int setauid(uid_t *auid); }
-+	SYS_GETAUDIT                 = 449 // { int getaudit(struct auditinfo *auditinfo); }
-+	SYS_SETAUDIT                 = 450 // { int setaudit(struct auditinfo *auditinfo); }
-+	SYS_GETAUDIT_ADDR            = 451 // { int getaudit_addr( struct auditinfo_addr *auditinfo_addr, u_int length); }
-+	SYS_SETAUDIT_ADDR            = 452 // { int setaudit_addr( struct auditinfo_addr *auditinfo_addr, u_int length); }
-+	SYS_AUDITCTL                 = 453 // { int auditctl(char *path); }
-+	SYS__UMTX_OP                 = 454 // { int _umtx_op(void *obj, int op, u_long val, void *uaddr1, void *uaddr2); }
-+	SYS_THR_NEW                  = 455 // { int thr_new(struct thr_param *param, int param_size); }
-+	SYS_SIGQUEUE                 = 456 // { int sigqueue(pid_t pid, int signum, void *value); }
-+	SYS_KMQ_OPEN                 = 457 // { int kmq_open(const char *path, int flags, mode_t mode, const struct mq_attr *attr); }
-+	SYS_KMQ_SETATTR              = 458 // { int kmq_setattr(int mqd,		const struct mq_attr *attr,		struct mq_attr *oattr); }
-+	SYS_KMQ_TIMEDRECEIVE         = 459 // { int kmq_timedreceive(int mqd,	char *msg_ptr, size_t msg_len,	unsigned *msg_prio,			const struct timespec *abs_timeout); }
-+	SYS_KMQ_TIMEDSEND            = 460 // { int kmq_timedsend(int mqd,		const char *msg_ptr, size_t msg_len,unsigned msg_prio,			const struct timespec *abs_timeout);}
-+	SYS_KMQ_NOTIFY               = 461 // { int kmq_notify(int mqd,		const struct sigevent *sigev); }
-+	SYS_KMQ_UNLINK               = 462 // { int kmq_unlink(const char *path); }
-+	SYS_ABORT2                   = 463 // { int abort2(const char *why, int nargs, void **args); }
-+	SYS_THR_SET_NAME             = 464 // { int thr_set_name(long id, const char *name); }
-+	SYS_AIO_FSYNC                = 465 // { int aio_fsync(int op, struct aiocb *aiocbp); }
-+	SYS_RTPRIO_THREAD            = 466 // { int rtprio_thread(int function, lwpid_t lwpid, struct rtprio *rtp); }
-+	SYS_SCTP_PEELOFF             = 471 // { int sctp_peeloff(int sd, uint32_t name); }
-+	SYS_SCTP_GENERIC_SENDMSG     = 472 // { int sctp_generic_sendmsg(int sd, caddr_t msg, int mlen, caddr_t to, __socklen_t tolen, struct sctp_sndrcvinfo *sinfo, int flags); }
-+	SYS_SCTP_GENERIC_SENDMSG_IOV = 473 // { int sctp_generic_sendmsg_iov(int sd, struct iovec *iov, int iovlen, caddr_t to, __socklen_t tolen, struct sctp_sndrcvinfo *sinfo, int flags); }
-+	SYS_SCTP_GENERIC_RECVMSG     = 474 // { int sctp_generic_recvmsg(int sd, struct iovec *iov, int iovlen, struct sockaddr * from, __socklen_t *fromlenaddr, struct sctp_sndrcvinfo *sinfo, int *msg_flags); }
-+	SYS_PREAD                    = 475 // { ssize_t pread(int fd, void *buf, size_t nbyte, off_t offset); }
-+	SYS_PWRITE                   = 476 // { ssize_t pwrite(int fd, const void *buf, size_t nbyte, off_t offset); }
-+	SYS_MMAP                     = 477 // { caddr_t mmap(caddr_t addr, size_t len, int prot, int flags, int fd, off_t pos); }
-+	SYS_LSEEK                    = 478 // { off_t lseek(int fd, off_t offset, int whence); }
-+	SYS_TRUNCATE                 = 479 // { int truncate(char *path, off_t length); }
-+	SYS_FTRUNCATE                = 480 // { int ftruncate(int fd, off_t length); }
-+	SYS_THR_KILL2                = 481 // { int thr_kill2(pid_t pid, long id, int sig); }
-+	SYS_SHM_OPEN                 = 482 // { int shm_open(const char *path, int flags, mode_t mode); }
-+	SYS_SHM_UNLINK               = 483 // { int shm_unlink(const char *path); }
-+	SYS_CPUSET                   = 484 // { int cpuset(cpusetid_t *setid); }
-+	SYS_CPUSET_SETID             = 485 // { int cpuset_setid(cpuwhich_t which, id_t id, cpusetid_t setid); }
-+	SYS_CPUSET_GETID             = 486 // { int cpuset_getid(cpulevel_t level, cpuwhich_t which, id_t id, cpusetid_t *setid); }
-+	SYS_CPUSET_GETAFFINITY       = 487 // { int cpuset_getaffinity(cpulevel_t level, cpuwhich_t which, id_t id, size_t cpusetsize, cpuset_t *mask); }
-+	SYS_CPUSET_SETAFFINITY       = 488 // { int cpuset_setaffinity(cpulevel_t level, cpuwhich_t which, id_t id, size_t cpusetsize, const cpuset_t *mask); }
-+	SYS_FACCESSAT                = 489 // { int faccessat(int fd, char *path, int amode, int flag); }
-+	SYS_FCHMODAT                 = 490 // { int fchmodat(int fd, char *path, mode_t mode, int flag); }
-+	SYS_FCHOWNAT                 = 491 // { int fchownat(int fd, char *path, uid_t uid, gid_t gid, int flag); }
-+	SYS_FEXECVE                  = 492 // { int fexecve(int fd, char **argv, char **envv); }
-+	SYS_FSTATAT                  = 493 // { int fstatat(int fd, char *path, struct stat *buf, int flag); }
-+	SYS_FUTIMESAT                = 494 // { int futimesat(int fd, char *path, struct timeval *times); }
-+	SYS_LINKAT                   = 495 // { int linkat(int fd1, char *path1, int fd2, char *path2, int flag); }
-+	SYS_MKDIRAT                  = 496 // { int mkdirat(int fd, char *path, mode_t mode); }
-+	SYS_MKFIFOAT                 = 497 // { int mkfifoat(int fd, char *path, mode_t mode); }
-+	SYS_MKNODAT                  = 498 // { int mknodat(int fd, char *path, mode_t mode, dev_t dev); }
-+	SYS_OPENAT                   = 499 // { int openat(int fd, char *path, int flag, mode_t mode); }
-+	SYS_READLINKAT               = 500 // { int readlinkat(int fd, char *path, char *buf, size_t bufsize); }
-+	SYS_RENAMEAT                 = 501 // { int renameat(int oldfd, char *old, int newfd, char *new); }
-+	SYS_SYMLINKAT                = 502 // { int symlinkat(char *path1, int fd, char *path2); }
-+	SYS_UNLINKAT                 = 503 // { int unlinkat(int fd, char *path, int flag); }
-+	SYS_POSIX_OPENPT             = 504 // { int posix_openpt(int flags); }
-+	SYS_GSSD_SYSCALL             = 505 // { int gssd_syscall(char *path); }
-+	SYS_JAIL_GET                 = 506 // { int jail_get(struct iovec *iovp, unsigned int iovcnt, int flags); }
-+	SYS_JAIL_SET                 = 507 // { int jail_set(struct iovec *iovp, unsigned int iovcnt, int flags); }
-+	SYS_JAIL_REMOVE              = 508 // { int jail_remove(int jid); }
-+	SYS_CLOSEFROM                = 509 // { int closefrom(int lowfd); }
-+	SYS___SEMCTL                 = 510 // { int __semctl(int semid, int semnum, int cmd, union semun *arg); }
-+	SYS_MSGCTL                   = 511 // { int msgctl(int msqid, int cmd, struct msqid_ds *buf); }
-+	SYS_SHMCTL                   = 512 // { int shmctl(int shmid, int cmd, struct shmid_ds *buf); }
-+	SYS_LPATHCONF                = 513 // { int lpathconf(char *path, int name); }
-+	SYS___CAP_RIGHTS_GET         = 515 // { int __cap_rights_get(int version, int fd, cap_rights_t *rightsp); }
-+	SYS_CAP_ENTER                = 516 // { int cap_enter(void); }
-+	SYS_CAP_GETMODE              = 517 // { int cap_getmode(u_int *modep); }
-+	SYS_PDFORK                   = 518 // { int pdfork(int *fdp, int flags); }
-+	SYS_PDKILL                   = 519 // { int pdkill(int fd, int signum); }
-+	SYS_PDGETPID                 = 520 // { int pdgetpid(int fd, pid_t *pidp); }
-+	SYS_PSELECT                  = 522 // { int pselect(int nd, fd_set *in, fd_set *ou, fd_set *ex, const struct timespec *ts, const sigset_t *sm); }
-+	SYS_GETLOGINCLASS            = 523 // { int getloginclass(char *namebuf, size_t namelen); }
-+	SYS_SETLOGINCLASS            = 524 // { int setloginclass(const char *namebuf); }
-+	SYS_RCTL_GET_RACCT           = 525 // { int rctl_get_racct(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); }
-+	SYS_RCTL_GET_RULES           = 526 // { int rctl_get_rules(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); }
-+	SYS_RCTL_GET_LIMITS          = 527 // { int rctl_get_limits(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); }
-+	SYS_RCTL_ADD_RULE            = 528 // { int rctl_add_rule(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); }
-+	SYS_RCTL_REMOVE_RULE         = 529 // { int rctl_remove_rule(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); }
-+	SYS_POSIX_FALLOCATE          = 530 // { int posix_fallocate(int fd, off_t offset, off_t len); }
-+	SYS_POSIX_FADVISE            = 531 // { int posix_fadvise(int fd, off_t offset, off_t len, int advice); }
-+	SYS_WAIT6                    = 532 // { int wait6(idtype_t idtype, id_t id, int *status, int options, struct __wrusage *wrusage, siginfo_t *info); }
-+	SYS_CAP_RIGHTS_LIMIT         = 533 // { int cap_rights_limit(int fd, cap_rights_t *rightsp); }
-+	SYS_CAP_IOCTLS_LIMIT         = 534 // { int cap_ioctls_limit(int fd, const u_long *cmds, size_t ncmds); }
-+	SYS_CAP_IOCTLS_GET           = 535 // { ssize_t cap_ioctls_get(int fd, u_long *cmds, size_t maxcmds); }
-+	SYS_CAP_FCNTLS_LIMIT         = 536 // { int cap_fcntls_limit(int fd, uint32_t fcntlrights); }
-+	SYS_CAP_FCNTLS_GET           = 537 // { int cap_fcntls_get(int fd, uint32_t *fcntlrightsp); }
-+	SYS_BINDAT                   = 538 // { int bindat(int fd, int s, caddr_t name, int namelen); }
-+	SYS_CONNECTAT                = 539 // { int connectat(int fd, int s, caddr_t name, int namelen); }
-+	SYS_CHFLAGSAT                = 540 // { int chflagsat(int fd, const char *path, u_long flags, int atflag); }
-+	SYS_ACCEPT4                  = 541 // { int accept4(int s, struct sockaddr * __restrict name, __socklen_t * __restrict anamelen, int flags); }
-+	SYS_PIPE2                    = 542 // { int pipe2(int *fildes, int flags); }
-+	SYS_AIO_MLOCK                = 543 // { int aio_mlock(struct aiocb *aiocbp); }
-+	SYS_PROCCTL                  = 544 // { int procctl(idtype_t idtype, id_t id, int com, void *data); }
-+	SYS_PPOLL                    = 545 // { int ppoll(struct pollfd *fds, u_int nfds, const struct timespec *ts, const sigset_t *set); }
-+	SYS_FUTIMENS                 = 546 // { int futimens(int fd, struct timespec *times); }
-+	SYS_UTIMENSAT                = 547 // { int utimensat(int fd, char *path, struct timespec *times, int flag); }
-+	SYS_NUMA_GETAFFINITY         = 548 // { int numa_getaffinity(cpuwhich_t which, id_t id, struct vm_domain_policy_entry *policy); }
-+	SYS_NUMA_SETAFFINITY         = 549 // { int numa_setaffinity(cpuwhich_t which, id_t id, const struct vm_domain_policy_entry *policy); }
-+	SYS_FDATASYNC                = 550 // { int fdatasync(int fd); }
-+)
-diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go
-index cef4fed0..54559a89 100644
---- a/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go
-+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go
-@@ -1,4 +1,4 @@
--// linux/mksysnum.pl -Wall -Werror -static -I/tmp/include -m32 /tmp/include/asm/unistd.h
-+// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/include -m32 /tmp/include/asm/unistd.h
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- // +build 386,linux
-@@ -6,383 +6,431 @@
- package unix
- 
- const (
--	SYS_RESTART_SYSCALL        = 0
--	SYS_EXIT                   = 1
--	SYS_FORK                   = 2
--	SYS_READ                   = 3
--	SYS_WRITE                  = 4
--	SYS_OPEN                   = 5
--	SYS_CLOSE                  = 6
--	SYS_WAITPID                = 7
--	SYS_CREAT                  = 8
--	SYS_LINK                   = 9
--	SYS_UNLINK                 = 10
--	SYS_EXECVE                 = 11
--	SYS_CHDIR                  = 12
--	SYS_TIME                   = 13
--	SYS_MKNOD                  = 14
--	SYS_CHMOD                  = 15
--	SYS_LCHOWN                 = 16
--	SYS_BREAK                  = 17
--	SYS_OLDSTAT                = 18
--	SYS_LSEEK                  = 19
--	SYS_GETPID                 = 20
--	SYS_MOUNT                  = 21
--	SYS_UMOUNT                 = 22
--	SYS_SETUID                 = 23
--	SYS_GETUID                 = 24
--	SYS_STIME                  = 25
--	SYS_PTRACE                 = 26
--	SYS_ALARM                  = 27
--	SYS_OLDFSTAT               = 28
--	SYS_PAUSE                  = 29
--	SYS_UTIME                  = 30
--	SYS_STTY                   = 31
--	SYS_GTTY                   = 32
--	SYS_ACCESS                 = 33
--	SYS_NICE                   = 34
--	SYS_FTIME                  = 35
--	SYS_SYNC                   = 36
--	SYS_KILL                   = 37
--	SYS_RENAME                 = 38
--	SYS_MKDIR                  = 39
--	SYS_RMDIR                  = 40
--	SYS_DUP                    = 41
--	SYS_PIPE                   = 42
--	SYS_TIMES                  = 43
--	SYS_PROF                   = 44
--	SYS_BRK                    = 45
--	SYS_SETGID                 = 46
--	SYS_GETGID                 = 47
--	SYS_SIGNAL                 = 48
--	SYS_GETEUID                = 49
--	SYS_GETEGID                = 50
--	SYS_ACCT                   = 51
--	SYS_UMOUNT2                = 52
--	SYS_LOCK                   = 53
--	SYS_IOCTL                  = 54
--	SYS_FCNTL                  = 55
--	SYS_MPX                    = 56
--	SYS_SETPGID                = 57
--	SYS_ULIMIT                 = 58
--	SYS_OLDOLDUNAME            = 59
--	SYS_UMASK                  = 60
--	SYS_CHROOT                 = 61
--	SYS_USTAT                  = 62
--	SYS_DUP2                   = 63
--	SYS_GETPPID                = 64
--	SYS_GETPGRP                = 65
--	SYS_SETSID                 = 66
--	SYS_SIGACTION              = 67
--	SYS_SGETMASK               = 68
--	SYS_SSETMASK               = 69
--	SYS_SETREUID               = 70
--	SYS_SETREGID               = 71
--	SYS_SIGSUSPEND             = 72
--	SYS_SIGPENDING             = 73
--	SYS_SETHOSTNAME            = 74
--	SYS_SETRLIMIT              = 75
--	SYS_GETRLIMIT              = 76
--	SYS_GETRUSAGE              = 77
--	SYS_GETTIMEOFDAY           = 78
--	SYS_SETTIMEOFDAY           = 79
--	SYS_GETGROUPS              = 80
--	SYS_SETGROUPS              = 81
--	SYS_SELECT                 = 82
--	SYS_SYMLINK                = 83
--	SYS_OLDLSTAT               = 84
--	SYS_READLINK               = 85
--	SYS_USELIB                 = 86
--	SYS_SWAPON                 = 87
--	SYS_REBOOT                 = 88
--	SYS_READDIR                = 89
--	SYS_MMAP                   = 90
--	SYS_MUNMAP                 = 91
--	SYS_TRUNCATE               = 92
--	SYS_FTRUNCATE              = 93
--	SYS_FCHMOD                 = 94
--	SYS_FCHOWN                 = 95
--	SYS_GETPRIORITY            = 96
--	SYS_SETPRIORITY            = 97
--	SYS_PROFIL                 = 98
--	SYS_STATFS                 = 99
--	SYS_FSTATFS                = 100
--	SYS_IOPERM                 = 101
--	SYS_SOCKETCALL             = 102
--	SYS_SYSLOG                 = 103
--	SYS_SETITIMER              = 104
--	SYS_GETITIMER              = 105
--	SYS_STAT                   = 106
--	SYS_LSTAT                  = 107
--	SYS_FSTAT                  = 108
--	SYS_OLDUNAME               = 109
--	SYS_IOPL                   = 110
--	SYS_VHANGUP                = 111
--	SYS_IDLE                   = 112
--	SYS_VM86OLD                = 113
--	SYS_WAIT4                  = 114
--	SYS_SWAPOFF                = 115
--	SYS_SYSINFO                = 116
--	SYS_IPC                    = 117
--	SYS_FSYNC                  = 118
--	SYS_SIGRETURN              = 119
--	SYS_CLONE                  = 120
--	SYS_SETDOMAINNAME          = 121
--	SYS_UNAME                  = 122
--	SYS_MODIFY_LDT             = 123
--	SYS_ADJTIMEX               = 124
--	SYS_MPROTECT               = 125
--	SYS_SIGPROCMASK            = 126
--	SYS_CREATE_MODULE          = 127
--	SYS_INIT_MODULE            = 128
--	SYS_DELETE_MODULE          = 129
--	SYS_GET_KERNEL_SYMS        = 130
--	SYS_QUOTACTL               = 131
--	SYS_GETPGID                = 132
--	SYS_FCHDIR                 = 133
--	SYS_BDFLUSH                = 134
--	SYS_SYSFS                  = 135
--	SYS_PERSONALITY            = 136
--	SYS_AFS_SYSCALL            = 137
--	SYS_SETFSUID               = 138
--	SYS_SETFSGID               = 139
--	SYS__LLSEEK                = 140
--	SYS_GETDENTS               = 141
--	SYS__NEWSELECT             = 142
--	SYS_FLOCK                  = 143
--	SYS_MSYNC                  = 144
--	SYS_READV                  = 145
--	SYS_WRITEV                 = 146
--	SYS_GETSID                 = 147
--	SYS_FDATASYNC              = 148
--	SYS__SYSCTL                = 149
--	SYS_MLOCK                  = 150
--	SYS_MUNLOCK                = 151
--	SYS_MLOCKALL               = 152
--	SYS_MUNLOCKALL             = 153
--	SYS_SCHED_SETPARAM         = 154
--	SYS_SCHED_GETPARAM         = 155
--	SYS_SCHED_SETSCHEDULER     = 156
--	SYS_SCHED_GETSCHEDULER     = 157
--	SYS_SCHED_YIELD            = 158
--	SYS_SCHED_GET_PRIORITY_MAX = 159
--	SYS_SCHED_GET_PRIORITY_MIN = 160
--	SYS_SCHED_RR_GET_INTERVAL  = 161
--	SYS_NANOSLEEP              = 162
--	SYS_MREMAP                 = 163
--	SYS_SETRESUID              = 164
--	SYS_GETRESUID              = 165
--	SYS_VM86                   = 166
--	SYS_QUERY_MODULE           = 167
--	SYS_POLL                   = 168
--	SYS_NFSSERVCTL             = 169
--	SYS_SETRESGID              = 170
--	SYS_GETRESGID              = 171
--	SYS_PRCTL                  = 172
--	SYS_RT_SIGRETURN           = 173
--	SYS_RT_SIGACTION           = 174
--	SYS_RT_SIGPROCMASK         = 175
--	SYS_RT_SIGPENDING          = 176
--	SYS_RT_SIGTIMEDWAIT        = 177
--	SYS_RT_SIGQUEUEINFO        = 178
--	SYS_RT_SIGSUSPEND          = 179
--	SYS_PREAD64                = 180
--	SYS_PWRITE64               = 181
--	SYS_CHOWN                  = 182
--	SYS_GETCWD                 = 183
--	SYS_CAPGET                 = 184
--	SYS_CAPSET                 = 185
--	SYS_SIGALTSTACK            = 186
--	SYS_SENDFILE               = 187
--	SYS_GETPMSG                = 188
--	SYS_PUTPMSG                = 189
--	SYS_VFORK                  = 190
--	SYS_UGETRLIMIT             = 191
--	SYS_MMAP2                  = 192
--	SYS_TRUNCATE64             = 193
--	SYS_FTRUNCATE64            = 194
--	SYS_STAT64                 = 195
--	SYS_LSTAT64                = 196
--	SYS_FSTAT64                = 197
--	SYS_LCHOWN32               = 198
--	SYS_GETUID32               = 199
--	SYS_GETGID32               = 200
--	SYS_GETEUID32              = 201
--	SYS_GETEGID32              = 202
--	SYS_SETREUID32             = 203
--	SYS_SETREGID32             = 204
--	SYS_GETGROUPS32            = 205
--	SYS_SETGROUPS32            = 206
--	SYS_FCHOWN32               = 207
--	SYS_SETRESUID32            = 208
--	SYS_GETRESUID32            = 209
--	SYS_SETRESGID32            = 210
--	SYS_GETRESGID32            = 211
--	SYS_CHOWN32                = 212
--	SYS_SETUID32               = 213
--	SYS_SETGID32               = 214
--	SYS_SETFSUID32             = 215
--	SYS_SETFSGID32             = 216
--	SYS_PIVOT_ROOT             = 217
--	SYS_MINCORE                = 218
--	SYS_MADVISE                = 219
--	SYS_GETDENTS64             = 220
--	SYS_FCNTL64                = 221
--	SYS_GETTID                 = 224
--	SYS_READAHEAD              = 225
--	SYS_SETXATTR               = 226
--	SYS_LSETXATTR              = 227
--	SYS_FSETXATTR              = 228
--	SYS_GETXATTR               = 229
--	SYS_LGETXATTR              = 230
--	SYS_FGETXATTR              = 231
--	SYS_LISTXATTR              = 232
--	SYS_LLISTXATTR             = 233
--	SYS_FLISTXATTR             = 234
--	SYS_REMOVEXATTR            = 235
--	SYS_LREMOVEXATTR           = 236
--	SYS_FREMOVEXATTR           = 237
--	SYS_TKILL                  = 238
--	SYS_SENDFILE64             = 239
--	SYS_FUTEX                  = 240
--	SYS_SCHED_SETAFFINITY      = 241
--	SYS_SCHED_GETAFFINITY      = 242
--	SYS_SET_THREAD_AREA        = 243
--	SYS_GET_THREAD_AREA        = 244
--	SYS_IO_SETUP               = 245
--	SYS_IO_DESTROY             = 246
--	SYS_IO_GETEVENTS           = 247
--	SYS_IO_SUBMIT              = 248
--	SYS_IO_CANCEL              = 249
--	SYS_FADVISE64              = 250
--	SYS_EXIT_GROUP             = 252
--	SYS_LOOKUP_DCOOKIE         = 253
--	SYS_EPOLL_CREATE           = 254
--	SYS_EPOLL_CTL              = 255
--	SYS_EPOLL_WAIT             = 256
--	SYS_REMAP_FILE_PAGES       = 257
--	SYS_SET_TID_ADDRESS        = 258
--	SYS_TIMER_CREATE           = 259
--	SYS_TIMER_SETTIME          = 260
--	SYS_TIMER_GETTIME          = 261
--	SYS_TIMER_GETOVERRUN       = 262
--	SYS_TIMER_DELETE           = 263
--	SYS_CLOCK_SETTIME          = 264
--	SYS_CLOCK_GETTIME          = 265
--	SYS_CLOCK_GETRES           = 266
--	SYS_CLOCK_NANOSLEEP        = 267
--	SYS_STATFS64               = 268
--	SYS_FSTATFS64              = 269
--	SYS_TGKILL                 = 270
--	SYS_UTIMES                 = 271
--	SYS_FADVISE64_64           = 272
--	SYS_VSERVER                = 273
--	SYS_MBIND                  = 274
--	SYS_GET_MEMPOLICY          = 275
--	SYS_SET_MEMPOLICY          = 276
--	SYS_MQ_OPEN                = 277
--	SYS_MQ_UNLINK              = 278
--	SYS_MQ_TIMEDSEND           = 279
--	SYS_MQ_TIMEDRECEIVE        = 280
--	SYS_MQ_NOTIFY              = 281
--	SYS_MQ_GETSETATTR          = 282
--	SYS_KEXEC_LOAD             = 283
--	SYS_WAITID                 = 284
--	SYS_ADD_KEY                = 286
--	SYS_REQUEST_KEY            = 287
--	SYS_KEYCTL                 = 288
--	SYS_IOPRIO_SET             = 289
--	SYS_IOPRIO_GET             = 290
--	SYS_INOTIFY_INIT           = 291
--	SYS_INOTIFY_ADD_WATCH      = 292
--	SYS_INOTIFY_RM_WATCH       = 293
--	SYS_MIGRATE_PAGES          = 294
--	SYS_OPENAT                 = 295
--	SYS_MKDIRAT                = 296
--	SYS_MKNODAT                = 297
--	SYS_FCHOWNAT               = 298
--	SYS_FUTIMESAT              = 299
--	SYS_FSTATAT64              = 300
--	SYS_UNLINKAT               = 301
--	SYS_RENAMEAT               = 302
--	SYS_LINKAT                 = 303
--	SYS_SYMLINKAT              = 304
--	SYS_READLINKAT             = 305
--	SYS_FCHMODAT               = 306
--	SYS_FACCESSAT              = 307
--	SYS_PSELECT6               = 308
--	SYS_PPOLL                  = 309
--	SYS_UNSHARE                = 310
--	SYS_SET_ROBUST_LIST        = 311
--	SYS_GET_ROBUST_LIST        = 312
--	SYS_SPLICE                 = 313
--	SYS_SYNC_FILE_RANGE        = 314
--	SYS_TEE                    = 315
--	SYS_VMSPLICE               = 316
--	SYS_MOVE_PAGES             = 317
--	SYS_GETCPU                 = 318
--	SYS_EPOLL_PWAIT            = 319
--	SYS_UTIMENSAT              = 320
--	SYS_SIGNALFD               = 321
--	SYS_TIMERFD_CREATE         = 322
--	SYS_EVENTFD                = 323
--	SYS_FALLOCATE              = 324
--	SYS_TIMERFD_SETTIME        = 325
--	SYS_TIMERFD_GETTIME        = 326
--	SYS_SIGNALFD4              = 327
--	SYS_EVENTFD2               = 328
--	SYS_EPOLL_CREATE1          = 329
--	SYS_DUP3                   = 330
--	SYS_PIPE2                  = 331
--	SYS_INOTIFY_INIT1          = 332
--	SYS_PREADV                 = 333
--	SYS_PWRITEV                = 334
--	SYS_RT_TGSIGQUEUEINFO      = 335
--	SYS_PERF_EVENT_OPEN        = 336
--	SYS_RECVMMSG               = 337
--	SYS_FANOTIFY_INIT          = 338
--	SYS_FANOTIFY_MARK          = 339
--	SYS_PRLIMIT64              = 340
--	SYS_NAME_TO_HANDLE_AT      = 341
--	SYS_OPEN_BY_HANDLE_AT      = 342
--	SYS_CLOCK_ADJTIME          = 343
--	SYS_SYNCFS                 = 344
--	SYS_SENDMMSG               = 345
--	SYS_SETNS                  = 346
--	SYS_PROCESS_VM_READV       = 347
--	SYS_PROCESS_VM_WRITEV      = 348
--	SYS_KCMP                   = 349
--	SYS_FINIT_MODULE           = 350
--	SYS_SCHED_SETATTR          = 351
--	SYS_SCHED_GETATTR          = 352
--	SYS_RENAMEAT2              = 353
--	SYS_SECCOMP                = 354
--	SYS_GETRANDOM              = 355
--	SYS_MEMFD_CREATE           = 356
--	SYS_BPF                    = 357
--	SYS_EXECVEAT               = 358
--	SYS_SOCKET                 = 359
--	SYS_SOCKETPAIR             = 360
--	SYS_BIND                   = 361
--	SYS_CONNECT                = 362
--	SYS_LISTEN                 = 363
--	SYS_ACCEPT4                = 364
--	SYS_GETSOCKOPT             = 365
--	SYS_SETSOCKOPT             = 366
--	SYS_GETSOCKNAME            = 367
--	SYS_GETPEERNAME            = 368
--	SYS_SENDTO                 = 369
--	SYS_SENDMSG                = 370
--	SYS_RECVFROM               = 371
--	SYS_RECVMSG                = 372
--	SYS_SHUTDOWN               = 373
--	SYS_USERFAULTFD            = 374
--	SYS_MEMBARRIER             = 375
--	SYS_MLOCK2                 = 376
--	SYS_COPY_FILE_RANGE        = 377
--	SYS_PREADV2                = 378
--	SYS_PWRITEV2               = 379
--	SYS_PKEY_MPROTECT          = 380
--	SYS_PKEY_ALLOC             = 381
--	SYS_PKEY_FREE              = 382
-+	SYS_RESTART_SYSCALL              = 0
-+	SYS_EXIT                         = 1
-+	SYS_FORK                         = 2
-+	SYS_READ                         = 3
-+	SYS_WRITE                        = 4
-+	SYS_OPEN                         = 5
-+	SYS_CLOSE                        = 6
-+	SYS_WAITPID                      = 7
-+	SYS_CREAT                        = 8
-+	SYS_LINK                         = 9
-+	SYS_UNLINK                       = 10
-+	SYS_EXECVE                       = 11
-+	SYS_CHDIR                        = 12
-+	SYS_TIME                         = 13
-+	SYS_MKNOD                        = 14
-+	SYS_CHMOD                        = 15
-+	SYS_LCHOWN                       = 16
-+	SYS_BREAK                        = 17
-+	SYS_OLDSTAT                      = 18
-+	SYS_LSEEK                        = 19
-+	SYS_GETPID                       = 20
-+	SYS_MOUNT                        = 21
-+	SYS_UMOUNT                       = 22
-+	SYS_SETUID                       = 23
-+	SYS_GETUID                       = 24
-+	SYS_STIME                        = 25
-+	SYS_PTRACE                       = 26
-+	SYS_ALARM                        = 27
-+	SYS_OLDFSTAT                     = 28
-+	SYS_PAUSE                        = 29
-+	SYS_UTIME                        = 30
-+	SYS_STTY                         = 31
-+	SYS_GTTY                         = 32
-+	SYS_ACCESS                       = 33
-+	SYS_NICE                         = 34
-+	SYS_FTIME                        = 35
-+	SYS_SYNC                         = 36
-+	SYS_KILL                         = 37
-+	SYS_RENAME                       = 38
-+	SYS_MKDIR                        = 39
-+	SYS_RMDIR                        = 40
-+	SYS_DUP                          = 41
-+	SYS_PIPE                         = 42
-+	SYS_TIMES                        = 43
-+	SYS_PROF                         = 44
-+	SYS_BRK                          = 45
-+	SYS_SETGID                       = 46
-+	SYS_GETGID                       = 47
-+	SYS_SIGNAL                       = 48
-+	SYS_GETEUID                      = 49
-+	SYS_GETEGID                      = 50
-+	SYS_ACCT                         = 51
-+	SYS_UMOUNT2                      = 52
-+	SYS_LOCK                         = 53
-+	SYS_IOCTL                        = 54
-+	SYS_FCNTL                        = 55
-+	SYS_MPX                          = 56
-+	SYS_SETPGID                      = 57
-+	SYS_ULIMIT                       = 58
-+	SYS_OLDOLDUNAME                  = 59
-+	SYS_UMASK                        = 60
-+	SYS_CHROOT                       = 61
-+	SYS_USTAT                        = 62
-+	SYS_DUP2                         = 63
-+	SYS_GETPPID                      = 64
-+	SYS_GETPGRP                      = 65
-+	SYS_SETSID                       = 66
-+	SYS_SIGACTION                    = 67
-+	SYS_SGETMASK                     = 68
-+	SYS_SSETMASK                     = 69
-+	SYS_SETREUID                     = 70
-+	SYS_SETREGID                     = 71
-+	SYS_SIGSUSPEND                   = 72
-+	SYS_SIGPENDING                   = 73
-+	SYS_SETHOSTNAME                  = 74
-+	SYS_SETRLIMIT                    = 75
-+	SYS_GETRLIMIT                    = 76
-+	SYS_GETRUSAGE                    = 77
-+	SYS_GETTIMEOFDAY                 = 78
-+	SYS_SETTIMEOFDAY                 = 79
-+	SYS_GETGROUPS                    = 80
-+	SYS_SETGROUPS                    = 81
-+	SYS_SELECT                       = 82
-+	SYS_SYMLINK                      = 83
-+	SYS_OLDLSTAT                     = 84
-+	SYS_READLINK                     = 85
-+	SYS_USELIB                       = 86
-+	SYS_SWAPON                       = 87
-+	SYS_REBOOT                       = 88
-+	SYS_READDIR                      = 89
-+	SYS_MMAP                         = 90
-+	SYS_MUNMAP                       = 91
-+	SYS_TRUNCATE                     = 92
-+	SYS_FTRUNCATE                    = 93
-+	SYS_FCHMOD                       = 94
-+	SYS_FCHOWN                       = 95
-+	SYS_GETPRIORITY                  = 96
-+	SYS_SETPRIORITY                  = 97
-+	SYS_PROFIL                       = 98
-+	SYS_STATFS                       = 99
-+	SYS_FSTATFS                      = 100
-+	SYS_IOPERM                       = 101
-+	SYS_SOCKETCALL                   = 102
-+	SYS_SYSLOG                       = 103
-+	SYS_SETITIMER                    = 104
-+	SYS_GETITIMER                    = 105
-+	SYS_STAT                         = 106
-+	SYS_LSTAT                        = 107
-+	SYS_FSTAT                        = 108
-+	SYS_OLDUNAME                     = 109
-+	SYS_IOPL                         = 110
-+	SYS_VHANGUP                      = 111
-+	SYS_IDLE                         = 112
-+	SYS_VM86OLD                      = 113
-+	SYS_WAIT4                        = 114
-+	SYS_SWAPOFF                      = 115
-+	SYS_SYSINFO                      = 116
-+	SYS_IPC                          = 117
-+	SYS_FSYNC                        = 118
-+	SYS_SIGRETURN                    = 119
-+	SYS_CLONE                        = 120
-+	SYS_SETDOMAINNAME                = 121
-+	SYS_UNAME                        = 122
-+	SYS_MODIFY_LDT                   = 123
-+	SYS_ADJTIMEX                     = 124
-+	SYS_MPROTECT                     = 125
-+	SYS_SIGPROCMASK                  = 126
-+	SYS_CREATE_MODULE                = 127
-+	SYS_INIT_MODULE                  = 128
-+	SYS_DELETE_MODULE                = 129
-+	SYS_GET_KERNEL_SYMS              = 130
-+	SYS_QUOTACTL                     = 131
-+	SYS_GETPGID                      = 132
-+	SYS_FCHDIR                       = 133
-+	SYS_BDFLUSH                      = 134
-+	SYS_SYSFS                        = 135
-+	SYS_PERSONALITY                  = 136
-+	SYS_AFS_SYSCALL                  = 137
-+	SYS_SETFSUID                     = 138
-+	SYS_SETFSGID                     = 139
-+	SYS__LLSEEK                      = 140
-+	SYS_GETDENTS                     = 141
-+	SYS__NEWSELECT                   = 142
-+	SYS_FLOCK                        = 143
-+	SYS_MSYNC                        = 144
-+	SYS_READV                        = 145
-+	SYS_WRITEV                       = 146
-+	SYS_GETSID                       = 147
-+	SYS_FDATASYNC                    = 148
-+	SYS__SYSCTL                      = 149
-+	SYS_MLOCK                        = 150
-+	SYS_MUNLOCK                      = 151
-+	SYS_MLOCKALL                     = 152
-+	SYS_MUNLOCKALL                   = 153
-+	SYS_SCHED_SETPARAM               = 154
-+	SYS_SCHED_GETPARAM               = 155
-+	SYS_SCHED_SETSCHEDULER           = 156
-+	SYS_SCHED_GETSCHEDULER           = 157
-+	SYS_SCHED_YIELD                  = 158
-+	SYS_SCHED_GET_PRIORITY_MAX       = 159
-+	SYS_SCHED_GET_PRIORITY_MIN       = 160
-+	SYS_SCHED_RR_GET_INTERVAL        = 161
-+	SYS_NANOSLEEP                    = 162
-+	SYS_MREMAP                       = 163
-+	SYS_SETRESUID                    = 164
-+	SYS_GETRESUID                    = 165
-+	SYS_VM86                         = 166
-+	SYS_QUERY_MODULE                 = 167
-+	SYS_POLL                         = 168
-+	SYS_NFSSERVCTL                   = 169
-+	SYS_SETRESGID                    = 170
-+	SYS_GETRESGID                    = 171
-+	SYS_PRCTL                        = 172
-+	SYS_RT_SIGRETURN                 = 173
-+	SYS_RT_SIGACTION                 = 174
-+	SYS_RT_SIGPROCMASK               = 175
-+	SYS_RT_SIGPENDING                = 176
-+	SYS_RT_SIGTIMEDWAIT              = 177
-+	SYS_RT_SIGQUEUEINFO              = 178
-+	SYS_RT_SIGSUSPEND                = 179
-+	SYS_PREAD64                      = 180
-+	SYS_PWRITE64                     = 181
-+	SYS_CHOWN                        = 182
-+	SYS_GETCWD                       = 183
-+	SYS_CAPGET                       = 184
-+	SYS_CAPSET                       = 185
-+	SYS_SIGALTSTACK                  = 186
-+	SYS_SENDFILE                     = 187
-+	SYS_GETPMSG                      = 188
-+	SYS_PUTPMSG                      = 189
-+	SYS_VFORK                        = 190
-+	SYS_UGETRLIMIT                   = 191
-+	SYS_MMAP2                        = 192
-+	SYS_TRUNCATE64                   = 193
-+	SYS_FTRUNCATE64                  = 194
-+	SYS_STAT64                       = 195
-+	SYS_LSTAT64                      = 196
-+	SYS_FSTAT64                      = 197
-+	SYS_LCHOWN32                     = 198
-+	SYS_GETUID32                     = 199
-+	SYS_GETGID32                     = 200
-+	SYS_GETEUID32                    = 201
-+	SYS_GETEGID32                    = 202
-+	SYS_SETREUID32                   = 203
-+	SYS_SETREGID32                   = 204
-+	SYS_GETGROUPS32                  = 205
-+	SYS_SETGROUPS32                  = 206
-+	SYS_FCHOWN32                     = 207
-+	SYS_SETRESUID32                  = 208
-+	SYS_GETRESUID32                  = 209
-+	SYS_SETRESGID32                  = 210
-+	SYS_GETRESGID32                  = 211
-+	SYS_CHOWN32                      = 212
-+	SYS_SETUID32                     = 213
-+	SYS_SETGID32                     = 214
-+	SYS_SETFSUID32                   = 215
-+	SYS_SETFSGID32                   = 216
-+	SYS_PIVOT_ROOT                   = 217
-+	SYS_MINCORE                      = 218
-+	SYS_MADVISE                      = 219
-+	SYS_GETDENTS64                   = 220
-+	SYS_FCNTL64                      = 221
-+	SYS_GETTID                       = 224
-+	SYS_READAHEAD                    = 225
-+	SYS_SETXATTR                     = 226
-+	SYS_LSETXATTR                    = 227
-+	SYS_FSETXATTR                    = 228
-+	SYS_GETXATTR                     = 229
-+	SYS_LGETXATTR                    = 230
-+	SYS_FGETXATTR                    = 231
-+	SYS_LISTXATTR                    = 232
-+	SYS_LLISTXATTR                   = 233
-+	SYS_FLISTXATTR                   = 234
-+	SYS_REMOVEXATTR                  = 235
-+	SYS_LREMOVEXATTR                 = 236
-+	SYS_FREMOVEXATTR                 = 237
-+	SYS_TKILL                        = 238
-+	SYS_SENDFILE64                   = 239
-+	SYS_FUTEX                        = 240
-+	SYS_SCHED_SETAFFINITY            = 241
-+	SYS_SCHED_GETAFFINITY            = 242
-+	SYS_SET_THREAD_AREA              = 243
-+	SYS_GET_THREAD_AREA              = 244
-+	SYS_IO_SETUP                     = 245
-+	SYS_IO_DESTROY                   = 246
-+	SYS_IO_GETEVENTS                 = 247
-+	SYS_IO_SUBMIT                    = 248
-+	SYS_IO_CANCEL                    = 249
-+	SYS_FADVISE64                    = 250
-+	SYS_EXIT_GROUP                   = 252
-+	SYS_LOOKUP_DCOOKIE               = 253
-+	SYS_EPOLL_CREATE                 = 254
-+	SYS_EPOLL_CTL                    = 255
-+	SYS_EPOLL_WAIT                   = 256
-+	SYS_REMAP_FILE_PAGES             = 257
-+	SYS_SET_TID_ADDRESS              = 258
-+	SYS_TIMER_CREATE                 = 259
-+	SYS_TIMER_SETTIME                = 260
-+	SYS_TIMER_GETTIME                = 261
-+	SYS_TIMER_GETOVERRUN             = 262
-+	SYS_TIMER_DELETE                 = 263
-+	SYS_CLOCK_SETTIME                = 264
-+	SYS_CLOCK_GETTIME                = 265
-+	SYS_CLOCK_GETRES                 = 266
-+	SYS_CLOCK_NANOSLEEP              = 267
-+	SYS_STATFS64                     = 268
-+	SYS_FSTATFS64                    = 269
-+	SYS_TGKILL                       = 270
-+	SYS_UTIMES                       = 271
-+	SYS_FADVISE64_64                 = 272
-+	SYS_VSERVER                      = 273
-+	SYS_MBIND                        = 274
-+	SYS_GET_MEMPOLICY                = 275
-+	SYS_SET_MEMPOLICY                = 276
-+	SYS_MQ_OPEN                      = 277
-+	SYS_MQ_UNLINK                    = 278
-+	SYS_MQ_TIMEDSEND                 = 279
-+	SYS_MQ_TIMEDRECEIVE              = 280
-+	SYS_MQ_NOTIFY                    = 281
-+	SYS_MQ_GETSETATTR                = 282
-+	SYS_KEXEC_LOAD                   = 283
-+	SYS_WAITID                       = 284
-+	SYS_ADD_KEY                      = 286
-+	SYS_REQUEST_KEY                  = 287
-+	SYS_KEYCTL                       = 288
-+	SYS_IOPRIO_SET                   = 289
-+	SYS_IOPRIO_GET                   = 290
-+	SYS_INOTIFY_INIT                 = 291
-+	SYS_INOTIFY_ADD_WATCH            = 292
-+	SYS_INOTIFY_RM_WATCH             = 293
-+	SYS_MIGRATE_PAGES                = 294
-+	SYS_OPENAT                       = 295
-+	SYS_MKDIRAT                      = 296
-+	SYS_MKNODAT                      = 297
-+	SYS_FCHOWNAT                     = 298
-+	SYS_FUTIMESAT                    = 299
-+	SYS_FSTATAT64                    = 300
-+	SYS_UNLINKAT                     = 301
-+	SYS_RENAMEAT                     = 302
-+	SYS_LINKAT                       = 303
-+	SYS_SYMLINKAT                    = 304
-+	SYS_READLINKAT                   = 305
-+	SYS_FCHMODAT                     = 306
-+	SYS_FACCESSAT                    = 307
-+	SYS_PSELECT6                     = 308
-+	SYS_PPOLL                        = 309
-+	SYS_UNSHARE                      = 310
-+	SYS_SET_ROBUST_LIST              = 311
-+	SYS_GET_ROBUST_LIST              = 312
-+	SYS_SPLICE                       = 313
-+	SYS_SYNC_FILE_RANGE              = 314
-+	SYS_TEE                          = 315
-+	SYS_VMSPLICE                     = 316
-+	SYS_MOVE_PAGES                   = 317
-+	SYS_GETCPU                       = 318
-+	SYS_EPOLL_PWAIT                  = 319
-+	SYS_UTIMENSAT                    = 320
-+	SYS_SIGNALFD                     = 321
-+	SYS_TIMERFD_CREATE               = 322
-+	SYS_EVENTFD                      = 323
-+	SYS_FALLOCATE                    = 324
-+	SYS_TIMERFD_SETTIME              = 325
-+	SYS_TIMERFD_GETTIME              = 326
-+	SYS_SIGNALFD4                    = 327
-+	SYS_EVENTFD2                     = 328
-+	SYS_EPOLL_CREATE1                = 329
-+	SYS_DUP3                         = 330
-+	SYS_PIPE2                        = 331
-+	SYS_INOTIFY_INIT1                = 332
-+	SYS_PREADV                       = 333
-+	SYS_PWRITEV                      = 334
-+	SYS_RT_TGSIGQUEUEINFO            = 335
-+	SYS_PERF_EVENT_OPEN              = 336
-+	SYS_RECVMMSG                     = 337
-+	SYS_FANOTIFY_INIT                = 338
-+	SYS_FANOTIFY_MARK                = 339
-+	SYS_PRLIMIT64                    = 340
-+	SYS_NAME_TO_HANDLE_AT            = 341
-+	SYS_OPEN_BY_HANDLE_AT            = 342
-+	SYS_CLOCK_ADJTIME                = 343
-+	SYS_SYNCFS                       = 344
-+	SYS_SENDMMSG                     = 345
-+	SYS_SETNS                        = 346
-+	SYS_PROCESS_VM_READV             = 347
-+	SYS_PROCESS_VM_WRITEV            = 348
-+	SYS_KCMP                         = 349
-+	SYS_FINIT_MODULE                 = 350
-+	SYS_SCHED_SETATTR                = 351
-+	SYS_SCHED_GETATTR                = 352
-+	SYS_RENAMEAT2                    = 353
-+	SYS_SECCOMP                      = 354
-+	SYS_GETRANDOM                    = 355
-+	SYS_MEMFD_CREATE                 = 356
-+	SYS_BPF                          = 357
-+	SYS_EXECVEAT                     = 358
-+	SYS_SOCKET                       = 359
-+	SYS_SOCKETPAIR                   = 360
-+	SYS_BIND                         = 361
-+	SYS_CONNECT                      = 362
-+	SYS_LISTEN                       = 363
-+	SYS_ACCEPT4                      = 364
-+	SYS_GETSOCKOPT                   = 365
-+	SYS_SETSOCKOPT                   = 366
-+	SYS_GETSOCKNAME                  = 367
-+	SYS_GETPEERNAME                  = 368
-+	SYS_SENDTO                       = 369
-+	SYS_SENDMSG                      = 370
-+	SYS_RECVFROM                     = 371
-+	SYS_RECVMSG                      = 372
-+	SYS_SHUTDOWN                     = 373
-+	SYS_USERFAULTFD                  = 374
-+	SYS_MEMBARRIER                   = 375
-+	SYS_MLOCK2                       = 376
-+	SYS_COPY_FILE_RANGE              = 377
-+	SYS_PREADV2                      = 378
-+	SYS_PWRITEV2                     = 379
-+	SYS_PKEY_MPROTECT                = 380
-+	SYS_PKEY_ALLOC                   = 381
-+	SYS_PKEY_FREE                    = 382
-+	SYS_STATX                        = 383
-+	SYS_ARCH_PRCTL                   = 384
-+	SYS_IO_PGETEVENTS                = 385
-+	SYS_RSEQ                         = 386
-+	SYS_SEMGET                       = 393
-+	SYS_SEMCTL                       = 394
-+	SYS_SHMGET                       = 395
-+	SYS_SHMCTL                       = 396
-+	SYS_SHMAT                        = 397
-+	SYS_SHMDT                        = 398
-+	SYS_MSGGET                       = 399
-+	SYS_MSGSND                       = 400
-+	SYS_MSGRCV                       = 401
-+	SYS_MSGCTL                       = 402
-+	SYS_CLOCK_GETTIME64              = 403
-+	SYS_CLOCK_SETTIME64              = 404
-+	SYS_CLOCK_ADJTIME64              = 405
-+	SYS_CLOCK_GETRES_TIME64          = 406
-+	SYS_CLOCK_NANOSLEEP_TIME64       = 407
-+	SYS_TIMER_GETTIME64              = 408
-+	SYS_TIMER_SETTIME64              = 409
-+	SYS_TIMERFD_GETTIME64            = 410
-+	SYS_TIMERFD_SETTIME64            = 411
-+	SYS_UTIMENSAT_TIME64             = 412
-+	SYS_PSELECT6_TIME64              = 413
-+	SYS_PPOLL_TIME64                 = 414
-+	SYS_IO_PGETEVENTS_TIME64         = 416
-+	SYS_RECVMMSG_TIME64              = 417
-+	SYS_MQ_TIMEDSEND_TIME64          = 418
-+	SYS_MQ_TIMEDRECEIVE_TIME64       = 419
-+	SYS_SEMTIMEDOP_TIME64            = 420
-+	SYS_RT_SIGTIMEDWAIT_TIME64       = 421
-+	SYS_FUTEX_TIME64                 = 422
-+	SYS_SCHED_RR_GET_INTERVAL_TIME64 = 423
-+	SYS_PIDFD_SEND_SIGNAL            = 424
-+	SYS_IO_URING_SETUP               = 425
-+	SYS_IO_URING_ENTER               = 426
-+	SYS_IO_URING_REGISTER            = 427
-+	SYS_OPEN_TREE                    = 428
-+	SYS_MOVE_MOUNT                   = 429
-+	SYS_FSOPEN                       = 430
-+	SYS_FSCONFIG                     = 431
-+	SYS_FSMOUNT                      = 432
-+	SYS_FSPICK                       = 433
-+	SYS_PIDFD_OPEN                   = 434
-+	SYS_CLONE3                       = 435
-+	SYS_OPENAT2                      = 437
-+	SYS_PIDFD_GETFD                  = 438
- )
-diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go
-index 49bfa127..054a741b 100644
---- a/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go
-+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go
-@@ -1,4 +1,4 @@
--// linux/mksysnum.pl -Wall -Werror -static -I/tmp/include -m64 /tmp/include/asm/unistd.h
-+// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/include -m64 /tmp/include/asm/unistd.h
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- // +build amd64,linux
-@@ -338,4 +338,21 @@ const (
- 	SYS_PKEY_MPROTECT          = 329
- 	SYS_PKEY_ALLOC             = 330
- 	SYS_PKEY_FREE              = 331
-+	SYS_STATX                  = 332
-+	SYS_IO_PGETEVENTS          = 333
-+	SYS_RSEQ                   = 334
-+	SYS_PIDFD_SEND_SIGNAL      = 424
-+	SYS_IO_URING_SETUP         = 425
-+	SYS_IO_URING_ENTER         = 426
-+	SYS_IO_URING_REGISTER      = 427
-+	SYS_OPEN_TREE              = 428
-+	SYS_MOVE_MOUNT             = 429
-+	SYS_FSOPEN                 = 430
-+	SYS_FSCONFIG               = 431
-+	SYS_FSMOUNT                = 432
-+	SYS_FSPICK                 = 433
-+	SYS_PIDFD_OPEN             = 434
-+	SYS_CLONE3                 = 435
-+	SYS_OPENAT2                = 437
-+	SYS_PIDFD_GETFD            = 438
- )
-diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go
-index 97b182ef..307f2ba1 100644
---- a/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go
-+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go
-@@ -1,4 +1,4 @@
--// linux/mksysnum.pl -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h
-+// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- // +build arm,linux
-@@ -6,356 +6,395 @@
- package unix
- 
- const (
--	SYS_RESTART_SYSCALL        = 0
--	SYS_EXIT                   = 1
--	SYS_FORK                   = 2
--	SYS_READ                   = 3
--	SYS_WRITE                  = 4
--	SYS_OPEN                   = 5
--	SYS_CLOSE                  = 6
--	SYS_CREAT                  = 8
--	SYS_LINK                   = 9
--	SYS_UNLINK                 = 10
--	SYS_EXECVE                 = 11
--	SYS_CHDIR                  = 12
--	SYS_MKNOD                  = 14
--	SYS_CHMOD                  = 15
--	SYS_LCHOWN                 = 16
--	SYS_LSEEK                  = 19
--	SYS_GETPID                 = 20
--	SYS_MOUNT                  = 21
--	SYS_SETUID                 = 23
--	SYS_GETUID                 = 24
--	SYS_PTRACE                 = 26
--	SYS_PAUSE                  = 29
--	SYS_ACCESS                 = 33
--	SYS_NICE                   = 34
--	SYS_SYNC                   = 36
--	SYS_KILL                   = 37
--	SYS_RENAME                 = 38
--	SYS_MKDIR                  = 39
--	SYS_RMDIR                  = 40
--	SYS_DUP                    = 41
--	SYS_PIPE                   = 42
--	SYS_TIMES                  = 43
--	SYS_BRK                    = 45
--	SYS_SETGID                 = 46
--	SYS_GETGID                 = 47
--	SYS_GETEUID                = 49
--	SYS_GETEGID                = 50
--	SYS_ACCT                   = 51
--	SYS_UMOUNT2                = 52
--	SYS_IOCTL                  = 54
--	SYS_FCNTL                  = 55
--	SYS_SETPGID                = 57
--	SYS_UMASK                  = 60
--	SYS_CHROOT                 = 61
--	SYS_USTAT                  = 62
--	SYS_DUP2                   = 63
--	SYS_GETPPID                = 64
--	SYS_GETPGRP                = 65
--	SYS_SETSID                 = 66
--	SYS_SIGACTION              = 67
--	SYS_SETREUID               = 70
--	SYS_SETREGID               = 71
--	SYS_SIGSUSPEND             = 72
--	SYS_SIGPENDING             = 73
--	SYS_SETHOSTNAME            = 74
--	SYS_SETRLIMIT              = 75
--	SYS_GETRUSAGE              = 77
--	SYS_GETTIMEOFDAY           = 78
--	SYS_SETTIMEOFDAY           = 79
--	SYS_GETGROUPS              = 80
--	SYS_SETGROUPS              = 81
--	SYS_SYMLINK                = 83
--	SYS_READLINK               = 85
--	SYS_USELIB                 = 86
--	SYS_SWAPON                 = 87
--	SYS_REBOOT                 = 88
--	SYS_MUNMAP                 = 91
--	SYS_TRUNCATE               = 92
--	SYS_FTRUNCATE              = 93
--	SYS_FCHMOD                 = 94
--	SYS_FCHOWN                 = 95
--	SYS_GETPRIORITY            = 96
--	SYS_SETPRIORITY            = 97
--	SYS_STATFS                 = 99
--	SYS_FSTATFS                = 100
--	SYS_SYSLOG                 = 103
--	SYS_SETITIMER              = 104
--	SYS_GETITIMER              = 105
--	SYS_STAT                   = 106
--	SYS_LSTAT                  = 107
--	SYS_FSTAT                  = 108
--	SYS_VHANGUP                = 111
--	SYS_WAIT4                  = 114
--	SYS_SWAPOFF                = 115
--	SYS_SYSINFO                = 116
--	SYS_FSYNC                  = 118
--	SYS_SIGRETURN              = 119
--	SYS_CLONE                  = 120
--	SYS_SETDOMAINNAME          = 121
--	SYS_UNAME                  = 122
--	SYS_ADJTIMEX               = 124
--	SYS_MPROTECT               = 125
--	SYS_SIGPROCMASK            = 126
--	SYS_INIT_MODULE            = 128
--	SYS_DELETE_MODULE          = 129
--	SYS_QUOTACTL               = 131
--	SYS_GETPGID                = 132
--	SYS_FCHDIR                 = 133
--	SYS_BDFLUSH                = 134
--	SYS_SYSFS                  = 135
--	SYS_PERSONALITY            = 136
--	SYS_SETFSUID               = 138
--	SYS_SETFSGID               = 139
--	SYS__LLSEEK                = 140
--	SYS_GETDENTS               = 141
--	SYS__NEWSELECT             = 142
--	SYS_FLOCK                  = 143
--	SYS_MSYNC                  = 144
--	SYS_READV                  = 145
--	SYS_WRITEV                 = 146
--	SYS_GETSID                 = 147
--	SYS_FDATASYNC              = 148
--	SYS__SYSCTL                = 149
--	SYS_MLOCK                  = 150
--	SYS_MUNLOCK                = 151
--	SYS_MLOCKALL               = 152
--	SYS_MUNLOCKALL             = 153
--	SYS_SCHED_SETPARAM         = 154
--	SYS_SCHED_GETPARAM         = 155
--	SYS_SCHED_SETSCHEDULER     = 156
--	SYS_SCHED_GETSCHEDULER     = 157
--	SYS_SCHED_YIELD            = 158
--	SYS_SCHED_GET_PRIORITY_MAX = 159
--	SYS_SCHED_GET_PRIORITY_MIN = 160
--	SYS_SCHED_RR_GET_INTERVAL  = 161
--	SYS_NANOSLEEP              = 162
--	SYS_MREMAP                 = 163
--	SYS_SETRESUID              = 164
--	SYS_GETRESUID              = 165
--	SYS_POLL                   = 168
--	SYS_NFSSERVCTL             = 169
--	SYS_SETRESGID              = 170
--	SYS_GETRESGID              = 171
--	SYS_PRCTL                  = 172
--	SYS_RT_SIGRETURN           = 173
--	SYS_RT_SIGACTION           = 174
--	SYS_RT_SIGPROCMASK         = 175
--	SYS_RT_SIGPENDING          = 176
--	SYS_RT_SIGTIMEDWAIT        = 177
--	SYS_RT_SIGQUEUEINFO        = 178
--	SYS_RT_SIGSUSPEND          = 179
--	SYS_PREAD64                = 180
--	SYS_PWRITE64               = 181
--	SYS_CHOWN                  = 182
--	SYS_GETCWD                 = 183
--	SYS_CAPGET                 = 184
--	SYS_CAPSET                 = 185
--	SYS_SIGALTSTACK            = 186
--	SYS_SENDFILE               = 187
--	SYS_VFORK                  = 190
--	SYS_UGETRLIMIT             = 191
--	SYS_MMAP2                  = 192
--	SYS_TRUNCATE64             = 193
--	SYS_FTRUNCATE64            = 194
--	SYS_STAT64                 = 195
--	SYS_LSTAT64                = 196
--	SYS_FSTAT64                = 197
--	SYS_LCHOWN32               = 198
--	SYS_GETUID32               = 199
--	SYS_GETGID32               = 200
--	SYS_GETEUID32              = 201
--	SYS_GETEGID32              = 202
--	SYS_SETREUID32             = 203
--	SYS_SETREGID32             = 204
--	SYS_GETGROUPS32            = 205
--	SYS_SETGROUPS32            = 206
--	SYS_FCHOWN32               = 207
--	SYS_SETRESUID32            = 208
--	SYS_GETRESUID32            = 209
--	SYS_SETRESGID32            = 210
--	SYS_GETRESGID32            = 211
--	SYS_CHOWN32                = 212
--	SYS_SETUID32               = 213
--	SYS_SETGID32               = 214
--	SYS_SETFSUID32             = 215
--	SYS_SETFSGID32             = 216
--	SYS_GETDENTS64             = 217
--	SYS_PIVOT_ROOT             = 218
--	SYS_MINCORE                = 219
--	SYS_MADVISE                = 220
--	SYS_FCNTL64                = 221
--	SYS_GETTID                 = 224
--	SYS_READAHEAD              = 225
--	SYS_SETXATTR               = 226
--	SYS_LSETXATTR              = 227
--	SYS_FSETXATTR              = 228
--	SYS_GETXATTR               = 229
--	SYS_LGETXATTR              = 230
--	SYS_FGETXATTR              = 231
--	SYS_LISTXATTR              = 232
--	SYS_LLISTXATTR             = 233
--	SYS_FLISTXATTR             = 234
--	SYS_REMOVEXATTR            = 235
--	SYS_LREMOVEXATTR           = 236
--	SYS_FREMOVEXATTR           = 237
--	SYS_TKILL                  = 238
--	SYS_SENDFILE64             = 239
--	SYS_FUTEX                  = 240
--	SYS_SCHED_SETAFFINITY      = 241
--	SYS_SCHED_GETAFFINITY      = 242
--	SYS_IO_SETUP               = 243
--	SYS_IO_DESTROY             = 244
--	SYS_IO_GETEVENTS           = 245
--	SYS_IO_SUBMIT              = 246
--	SYS_IO_CANCEL              = 247
--	SYS_EXIT_GROUP             = 248
--	SYS_LOOKUP_DCOOKIE         = 249
--	SYS_EPOLL_CREATE           = 250
--	SYS_EPOLL_CTL              = 251
--	SYS_EPOLL_WAIT             = 252
--	SYS_REMAP_FILE_PAGES       = 253
--	SYS_SET_TID_ADDRESS        = 256
--	SYS_TIMER_CREATE           = 257
--	SYS_TIMER_SETTIME          = 258
--	SYS_TIMER_GETTIME          = 259
--	SYS_TIMER_GETOVERRUN       = 260
--	SYS_TIMER_DELETE           = 261
--	SYS_CLOCK_SETTIME          = 262
--	SYS_CLOCK_GETTIME          = 263
--	SYS_CLOCK_GETRES           = 264
--	SYS_CLOCK_NANOSLEEP        = 265
--	SYS_STATFS64               = 266
--	SYS_FSTATFS64              = 267
--	SYS_TGKILL                 = 268
--	SYS_UTIMES                 = 269
--	SYS_ARM_FADVISE64_64       = 270
--	SYS_PCICONFIG_IOBASE       = 271
--	SYS_PCICONFIG_READ         = 272
--	SYS_PCICONFIG_WRITE        = 273
--	SYS_MQ_OPEN                = 274
--	SYS_MQ_UNLINK              = 275
--	SYS_MQ_TIMEDSEND           = 276
--	SYS_MQ_TIMEDRECEIVE        = 277
--	SYS_MQ_NOTIFY              = 278
--	SYS_MQ_GETSETATTR          = 279
--	SYS_WAITID                 = 280
--	SYS_SOCKET                 = 281
--	SYS_BIND                   = 282
--	SYS_CONNECT                = 283
--	SYS_LISTEN                 = 284
--	SYS_ACCEPT                 = 285
--	SYS_GETSOCKNAME            = 286
--	SYS_GETPEERNAME            = 287
--	SYS_SOCKETPAIR             = 288
--	SYS_SEND                   = 289
--	SYS_SENDTO                 = 290
--	SYS_RECV                   = 291
--	SYS_RECVFROM               = 292
--	SYS_SHUTDOWN               = 293
--	SYS_SETSOCKOPT             = 294
--	SYS_GETSOCKOPT             = 295
--	SYS_SENDMSG                = 296
--	SYS_RECVMSG                = 297
--	SYS_SEMOP                  = 298
--	SYS_SEMGET                 = 299
--	SYS_SEMCTL                 = 300
--	SYS_MSGSND                 = 301
--	SYS_MSGRCV                 = 302
--	SYS_MSGGET                 = 303
--	SYS_MSGCTL                 = 304
--	SYS_SHMAT                  = 305
--	SYS_SHMDT                  = 306
--	SYS_SHMGET                 = 307
--	SYS_SHMCTL                 = 308
--	SYS_ADD_KEY                = 309
--	SYS_REQUEST_KEY            = 310
--	SYS_KEYCTL                 = 311
--	SYS_SEMTIMEDOP             = 312
--	SYS_VSERVER                = 313
--	SYS_IOPRIO_SET             = 314
--	SYS_IOPRIO_GET             = 315
--	SYS_INOTIFY_INIT           = 316
--	SYS_INOTIFY_ADD_WATCH      = 317
--	SYS_INOTIFY_RM_WATCH       = 318
--	SYS_MBIND                  = 319
--	SYS_GET_MEMPOLICY          = 320
--	SYS_SET_MEMPOLICY          = 321
--	SYS_OPENAT                 = 322
--	SYS_MKDIRAT                = 323
--	SYS_MKNODAT                = 324
--	SYS_FCHOWNAT               = 325
--	SYS_FUTIMESAT              = 326
--	SYS_FSTATAT64              = 327
--	SYS_UNLINKAT               = 328
--	SYS_RENAMEAT               = 329
--	SYS_LINKAT                 = 330
--	SYS_SYMLINKAT              = 331
--	SYS_READLINKAT             = 332
--	SYS_FCHMODAT               = 333
--	SYS_FACCESSAT              = 334
--	SYS_PSELECT6               = 335
--	SYS_PPOLL                  = 336
--	SYS_UNSHARE                = 337
--	SYS_SET_ROBUST_LIST        = 338
--	SYS_GET_ROBUST_LIST        = 339
--	SYS_SPLICE                 = 340
--	SYS_ARM_SYNC_FILE_RANGE    = 341
--	SYS_TEE                    = 342
--	SYS_VMSPLICE               = 343
--	SYS_MOVE_PAGES             = 344
--	SYS_GETCPU                 = 345
--	SYS_EPOLL_PWAIT            = 346
--	SYS_KEXEC_LOAD             = 347
--	SYS_UTIMENSAT              = 348
--	SYS_SIGNALFD               = 349
--	SYS_TIMERFD_CREATE         = 350
--	SYS_EVENTFD                = 351
--	SYS_FALLOCATE              = 352
--	SYS_TIMERFD_SETTIME        = 353
--	SYS_TIMERFD_GETTIME        = 354
--	SYS_SIGNALFD4              = 355
--	SYS_EVENTFD2               = 356
--	SYS_EPOLL_CREATE1          = 357
--	SYS_DUP3                   = 358
--	SYS_PIPE2                  = 359
--	SYS_INOTIFY_INIT1          = 360
--	SYS_PREADV                 = 361
--	SYS_PWRITEV                = 362
--	SYS_RT_TGSIGQUEUEINFO      = 363
--	SYS_PERF_EVENT_OPEN        = 364
--	SYS_RECVMMSG               = 365
--	SYS_ACCEPT4                = 366
--	SYS_FANOTIFY_INIT          = 367
--	SYS_FANOTIFY_MARK          = 368
--	SYS_PRLIMIT64              = 369
--	SYS_NAME_TO_HANDLE_AT      = 370
--	SYS_OPEN_BY_HANDLE_AT      = 371
--	SYS_CLOCK_ADJTIME          = 372
--	SYS_SYNCFS                 = 373
--	SYS_SENDMMSG               = 374
--	SYS_SETNS                  = 375
--	SYS_PROCESS_VM_READV       = 376
--	SYS_PROCESS_VM_WRITEV      = 377
--	SYS_KCMP                   = 378
--	SYS_FINIT_MODULE           = 379
--	SYS_SCHED_SETATTR          = 380
--	SYS_SCHED_GETATTR          = 381
--	SYS_RENAMEAT2              = 382
--	SYS_SECCOMP                = 383
--	SYS_GETRANDOM              = 384
--	SYS_MEMFD_CREATE           = 385
--	SYS_BPF                    = 386
--	SYS_EXECVEAT               = 387
--	SYS_USERFAULTFD            = 388
--	SYS_MEMBARRIER             = 389
--	SYS_MLOCK2                 = 390
--	SYS_COPY_FILE_RANGE        = 391
--	SYS_PREADV2                = 392
--	SYS_PWRITEV2               = 393
--	SYS_PKEY_MPROTECT          = 394
--	SYS_PKEY_ALLOC             = 395
--	SYS_PKEY_FREE              = 396
-+	SYS_RESTART_SYSCALL              = 0
-+	SYS_EXIT                         = 1
-+	SYS_FORK                         = 2
-+	SYS_READ                         = 3
-+	SYS_WRITE                        = 4
-+	SYS_OPEN                         = 5
-+	SYS_CLOSE                        = 6
-+	SYS_CREAT                        = 8
-+	SYS_LINK                         = 9
-+	SYS_UNLINK                       = 10
-+	SYS_EXECVE                       = 11
-+	SYS_CHDIR                        = 12
-+	SYS_MKNOD                        = 14
-+	SYS_CHMOD                        = 15
-+	SYS_LCHOWN                       = 16
-+	SYS_LSEEK                        = 19
-+	SYS_GETPID                       = 20
-+	SYS_MOUNT                        = 21
-+	SYS_SETUID                       = 23
-+	SYS_GETUID                       = 24
-+	SYS_PTRACE                       = 26
-+	SYS_PAUSE                        = 29
-+	SYS_ACCESS                       = 33
-+	SYS_NICE                         = 34
-+	SYS_SYNC                         = 36
-+	SYS_KILL                         = 37
-+	SYS_RENAME                       = 38
-+	SYS_MKDIR                        = 39
-+	SYS_RMDIR                        = 40
-+	SYS_DUP                          = 41
-+	SYS_PIPE                         = 42
-+	SYS_TIMES                        = 43
-+	SYS_BRK                          = 45
-+	SYS_SETGID                       = 46
-+	SYS_GETGID                       = 47
-+	SYS_GETEUID                      = 49
-+	SYS_GETEGID                      = 50
-+	SYS_ACCT                         = 51
-+	SYS_UMOUNT2                      = 52
-+	SYS_IOCTL                        = 54
-+	SYS_FCNTL                        = 55
-+	SYS_SETPGID                      = 57
-+	SYS_UMASK                        = 60
-+	SYS_CHROOT                       = 61
-+	SYS_USTAT                        = 62
-+	SYS_DUP2                         = 63
-+	SYS_GETPPID                      = 64
-+	SYS_GETPGRP                      = 65
-+	SYS_SETSID                       = 66
-+	SYS_SIGACTION                    = 67
-+	SYS_SETREUID                     = 70
-+	SYS_SETREGID                     = 71
-+	SYS_SIGSUSPEND                   = 72
-+	SYS_SIGPENDING                   = 73
-+	SYS_SETHOSTNAME                  = 74
-+	SYS_SETRLIMIT                    = 75
-+	SYS_GETRUSAGE                    = 77
-+	SYS_GETTIMEOFDAY                 = 78
-+	SYS_SETTIMEOFDAY                 = 79
-+	SYS_GETGROUPS                    = 80
-+	SYS_SETGROUPS                    = 81
-+	SYS_SYMLINK                      = 83
-+	SYS_READLINK                     = 85
-+	SYS_USELIB                       = 86
-+	SYS_SWAPON                       = 87
-+	SYS_REBOOT                       = 88
-+	SYS_MUNMAP                       = 91
-+	SYS_TRUNCATE                     = 92
-+	SYS_FTRUNCATE                    = 93
-+	SYS_FCHMOD                       = 94
-+	SYS_FCHOWN                       = 95
-+	SYS_GETPRIORITY                  = 96
-+	SYS_SETPRIORITY                  = 97
-+	SYS_STATFS                       = 99
-+	SYS_FSTATFS                      = 100
-+	SYS_SYSLOG                       = 103
-+	SYS_SETITIMER                    = 104
-+	SYS_GETITIMER                    = 105
-+	SYS_STAT                         = 106
-+	SYS_LSTAT                        = 107
-+	SYS_FSTAT                        = 108
-+	SYS_VHANGUP                      = 111
-+	SYS_WAIT4                        = 114
-+	SYS_SWAPOFF                      = 115
-+	SYS_SYSINFO                      = 116
-+	SYS_FSYNC                        = 118
-+	SYS_SIGRETURN                    = 119
-+	SYS_CLONE                        = 120
-+	SYS_SETDOMAINNAME                = 121
-+	SYS_UNAME                        = 122
-+	SYS_ADJTIMEX                     = 124
-+	SYS_MPROTECT                     = 125
-+	SYS_SIGPROCMASK                  = 126
-+	SYS_INIT_MODULE                  = 128
-+	SYS_DELETE_MODULE                = 129
-+	SYS_QUOTACTL                     = 131
-+	SYS_GETPGID                      = 132
-+	SYS_FCHDIR                       = 133
-+	SYS_BDFLUSH                      = 134
-+	SYS_SYSFS                        = 135
-+	SYS_PERSONALITY                  = 136
-+	SYS_SETFSUID                     = 138
-+	SYS_SETFSGID                     = 139
-+	SYS__LLSEEK                      = 140
-+	SYS_GETDENTS                     = 141
-+	SYS__NEWSELECT                   = 142
-+	SYS_FLOCK                        = 143
-+	SYS_MSYNC                        = 144
-+	SYS_READV                        = 145
-+	SYS_WRITEV                       = 146
-+	SYS_GETSID                       = 147
-+	SYS_FDATASYNC                    = 148
-+	SYS__SYSCTL                      = 149
-+	SYS_MLOCK                        = 150
-+	SYS_MUNLOCK                      = 151
-+	SYS_MLOCKALL                     = 152
-+	SYS_MUNLOCKALL                   = 153
-+	SYS_SCHED_SETPARAM               = 154
-+	SYS_SCHED_GETPARAM               = 155
-+	SYS_SCHED_SETSCHEDULER           = 156
-+	SYS_SCHED_GETSCHEDULER           = 157
-+	SYS_SCHED_YIELD                  = 158
-+	SYS_SCHED_GET_PRIORITY_MAX       = 159
-+	SYS_SCHED_GET_PRIORITY_MIN       = 160
-+	SYS_SCHED_RR_GET_INTERVAL        = 161
-+	SYS_NANOSLEEP                    = 162
-+	SYS_MREMAP                       = 163
-+	SYS_SETRESUID                    = 164
-+	SYS_GETRESUID                    = 165
-+	SYS_POLL                         = 168
-+	SYS_NFSSERVCTL                   = 169
-+	SYS_SETRESGID                    = 170
-+	SYS_GETRESGID                    = 171
-+	SYS_PRCTL                        = 172
-+	SYS_RT_SIGRETURN                 = 173
-+	SYS_RT_SIGACTION                 = 174
-+	SYS_RT_SIGPROCMASK               = 175
-+	SYS_RT_SIGPENDING                = 176
-+	SYS_RT_SIGTIMEDWAIT              = 177
-+	SYS_RT_SIGQUEUEINFO              = 178
-+	SYS_RT_SIGSUSPEND                = 179
-+	SYS_PREAD64                      = 180
-+	SYS_PWRITE64                     = 181
-+	SYS_CHOWN                        = 182
-+	SYS_GETCWD                       = 183
-+	SYS_CAPGET                       = 184
-+	SYS_CAPSET                       = 185
-+	SYS_SIGALTSTACK                  = 186
-+	SYS_SENDFILE                     = 187
-+	SYS_VFORK                        = 190
-+	SYS_UGETRLIMIT                   = 191
-+	SYS_MMAP2                        = 192
-+	SYS_TRUNCATE64                   = 193
-+	SYS_FTRUNCATE64                  = 194
-+	SYS_STAT64                       = 195
-+	SYS_LSTAT64                      = 196
-+	SYS_FSTAT64                      = 197
-+	SYS_LCHOWN32                     = 198
-+	SYS_GETUID32                     = 199
-+	SYS_GETGID32                     = 200
-+	SYS_GETEUID32                    = 201
-+	SYS_GETEGID32                    = 202
-+	SYS_SETREUID32                   = 203
-+	SYS_SETREGID32                   = 204
-+	SYS_GETGROUPS32                  = 205
-+	SYS_SETGROUPS32                  = 206
-+	SYS_FCHOWN32                     = 207
-+	SYS_SETRESUID32                  = 208
-+	SYS_GETRESUID32                  = 209
-+	SYS_SETRESGID32                  = 210
-+	SYS_GETRESGID32                  = 211
-+	SYS_CHOWN32                      = 212
-+	SYS_SETUID32                     = 213
-+	SYS_SETGID32                     = 214
-+	SYS_SETFSUID32                   = 215
-+	SYS_SETFSGID32                   = 216
-+	SYS_GETDENTS64                   = 217
-+	SYS_PIVOT_ROOT                   = 218
-+	SYS_MINCORE                      = 219
-+	SYS_MADVISE                      = 220
-+	SYS_FCNTL64                      = 221
-+	SYS_GETTID                       = 224
-+	SYS_READAHEAD                    = 225
-+	SYS_SETXATTR                     = 226
-+	SYS_LSETXATTR                    = 227
-+	SYS_FSETXATTR                    = 228
-+	SYS_GETXATTR                     = 229
-+	SYS_LGETXATTR                    = 230
-+	SYS_FGETXATTR                    = 231
-+	SYS_LISTXATTR                    = 232
-+	SYS_LLISTXATTR                   = 233
-+	SYS_FLISTXATTR                   = 234
-+	SYS_REMOVEXATTR                  = 235
-+	SYS_LREMOVEXATTR                 = 236
-+	SYS_FREMOVEXATTR                 = 237
-+	SYS_TKILL                        = 238
-+	SYS_SENDFILE64                   = 239
-+	SYS_FUTEX                        = 240
-+	SYS_SCHED_SETAFFINITY            = 241
-+	SYS_SCHED_GETAFFINITY            = 242
-+	SYS_IO_SETUP                     = 243
-+	SYS_IO_DESTROY                   = 244
-+	SYS_IO_GETEVENTS                 = 245
-+	SYS_IO_SUBMIT                    = 246
-+	SYS_IO_CANCEL                    = 247
-+	SYS_EXIT_GROUP                   = 248
-+	SYS_LOOKUP_DCOOKIE               = 249
-+	SYS_EPOLL_CREATE                 = 250
-+	SYS_EPOLL_CTL                    = 251
-+	SYS_EPOLL_WAIT                   = 252
-+	SYS_REMAP_FILE_PAGES             = 253
-+	SYS_SET_TID_ADDRESS              = 256
-+	SYS_TIMER_CREATE                 = 257
-+	SYS_TIMER_SETTIME                = 258
-+	SYS_TIMER_GETTIME                = 259
-+	SYS_TIMER_GETOVERRUN             = 260
-+	SYS_TIMER_DELETE                 = 261
-+	SYS_CLOCK_SETTIME                = 262
-+	SYS_CLOCK_GETTIME                = 263
-+	SYS_CLOCK_GETRES                 = 264
-+	SYS_CLOCK_NANOSLEEP              = 265
-+	SYS_STATFS64                     = 266
-+	SYS_FSTATFS64                    = 267
-+	SYS_TGKILL                       = 268
-+	SYS_UTIMES                       = 269
-+	SYS_ARM_FADVISE64_64             = 270
-+	SYS_PCICONFIG_IOBASE             = 271
-+	SYS_PCICONFIG_READ               = 272
-+	SYS_PCICONFIG_WRITE              = 273
-+	SYS_MQ_OPEN                      = 274
-+	SYS_MQ_UNLINK                    = 275
-+	SYS_MQ_TIMEDSEND                 = 276
-+	SYS_MQ_TIMEDRECEIVE              = 277
-+	SYS_MQ_NOTIFY                    = 278
-+	SYS_MQ_GETSETATTR                = 279
-+	SYS_WAITID                       = 280
-+	SYS_SOCKET                       = 281
-+	SYS_BIND                         = 282
-+	SYS_CONNECT                      = 283
-+	SYS_LISTEN                       = 284
-+	SYS_ACCEPT                       = 285
-+	SYS_GETSOCKNAME                  = 286
-+	SYS_GETPEERNAME                  = 287
-+	SYS_SOCKETPAIR                   = 288
-+	SYS_SEND                         = 289
-+	SYS_SENDTO                       = 290
-+	SYS_RECV                         = 291
-+	SYS_RECVFROM                     = 292
-+	SYS_SHUTDOWN                     = 293
-+	SYS_SETSOCKOPT                   = 294
-+	SYS_GETSOCKOPT                   = 295
-+	SYS_SENDMSG                      = 296
-+	SYS_RECVMSG                      = 297
-+	SYS_SEMOP                        = 298
-+	SYS_SEMGET                       = 299
-+	SYS_SEMCTL                       = 300
-+	SYS_MSGSND                       = 301
-+	SYS_MSGRCV                       = 302
-+	SYS_MSGGET                       = 303
-+	SYS_MSGCTL                       = 304
-+	SYS_SHMAT                        = 305
-+	SYS_SHMDT                        = 306
-+	SYS_SHMGET                       = 307
-+	SYS_SHMCTL                       = 308
-+	SYS_ADD_KEY                      = 309
-+	SYS_REQUEST_KEY                  = 310
-+	SYS_KEYCTL                       = 311
-+	SYS_SEMTIMEDOP                   = 312
-+	SYS_VSERVER                      = 313
-+	SYS_IOPRIO_SET                   = 314
-+	SYS_IOPRIO_GET                   = 315
-+	SYS_INOTIFY_INIT                 = 316
-+	SYS_INOTIFY_ADD_WATCH            = 317
-+	SYS_INOTIFY_RM_WATCH             = 318
-+	SYS_MBIND                        = 319
-+	SYS_GET_MEMPOLICY                = 320
-+	SYS_SET_MEMPOLICY                = 321
-+	SYS_OPENAT                       = 322
-+	SYS_MKDIRAT                      = 323
-+	SYS_MKNODAT                      = 324
-+	SYS_FCHOWNAT                     = 325
-+	SYS_FUTIMESAT                    = 326
-+	SYS_FSTATAT64                    = 327
-+	SYS_UNLINKAT                     = 328
-+	SYS_RENAMEAT                     = 329
-+	SYS_LINKAT                       = 330
-+	SYS_SYMLINKAT                    = 331
-+	SYS_READLINKAT                   = 332
-+	SYS_FCHMODAT                     = 333
-+	SYS_FACCESSAT                    = 334
-+	SYS_PSELECT6                     = 335
-+	SYS_PPOLL                        = 336
-+	SYS_UNSHARE                      = 337
-+	SYS_SET_ROBUST_LIST              = 338
-+	SYS_GET_ROBUST_LIST              = 339
-+	SYS_SPLICE                       = 340
-+	SYS_ARM_SYNC_FILE_RANGE          = 341
-+	SYS_TEE                          = 342
-+	SYS_VMSPLICE                     = 343
-+	SYS_MOVE_PAGES                   = 344
-+	SYS_GETCPU                       = 345
-+	SYS_EPOLL_PWAIT                  = 346
-+	SYS_KEXEC_LOAD                   = 347
-+	SYS_UTIMENSAT                    = 348
-+	SYS_SIGNALFD                     = 349
-+	SYS_TIMERFD_CREATE               = 350
-+	SYS_EVENTFD                      = 351
-+	SYS_FALLOCATE                    = 352
-+	SYS_TIMERFD_SETTIME              = 353
-+	SYS_TIMERFD_GETTIME              = 354
-+	SYS_SIGNALFD4                    = 355
-+	SYS_EVENTFD2                     = 356
-+	SYS_EPOLL_CREATE1                = 357
-+	SYS_DUP3                         = 358
-+	SYS_PIPE2                        = 359
-+	SYS_INOTIFY_INIT1                = 360
-+	SYS_PREADV                       = 361
-+	SYS_PWRITEV                      = 362
-+	SYS_RT_TGSIGQUEUEINFO            = 363
-+	SYS_PERF_EVENT_OPEN              = 364
-+	SYS_RECVMMSG                     = 365
-+	SYS_ACCEPT4                      = 366
-+	SYS_FANOTIFY_INIT                = 367
-+	SYS_FANOTIFY_MARK                = 368
-+	SYS_PRLIMIT64                    = 369
-+	SYS_NAME_TO_HANDLE_AT            = 370
-+	SYS_OPEN_BY_HANDLE_AT            = 371
-+	SYS_CLOCK_ADJTIME                = 372
-+	SYS_SYNCFS                       = 373
-+	SYS_SENDMMSG                     = 374
-+	SYS_SETNS                        = 375
-+	SYS_PROCESS_VM_READV             = 376
-+	SYS_PROCESS_VM_WRITEV            = 377
-+	SYS_KCMP                         = 378
-+	SYS_FINIT_MODULE                 = 379
-+	SYS_SCHED_SETATTR                = 380
-+	SYS_SCHED_GETATTR                = 381
-+	SYS_RENAMEAT2                    = 382
-+	SYS_SECCOMP                      = 383
-+	SYS_GETRANDOM                    = 384
-+	SYS_MEMFD_CREATE                 = 385
-+	SYS_BPF                          = 386
-+	SYS_EXECVEAT                     = 387
-+	SYS_USERFAULTFD                  = 388
-+	SYS_MEMBARRIER                   = 389
-+	SYS_MLOCK2                       = 390
-+	SYS_COPY_FILE_RANGE              = 391
-+	SYS_PREADV2                      = 392
-+	SYS_PWRITEV2                     = 393
-+	SYS_PKEY_MPROTECT                = 394
-+	SYS_PKEY_ALLOC                   = 395
-+	SYS_PKEY_FREE                    = 396
-+	SYS_STATX                        = 397
-+	SYS_RSEQ                         = 398
-+	SYS_IO_PGETEVENTS                = 399
-+	SYS_MIGRATE_PAGES                = 400
-+	SYS_KEXEC_FILE_LOAD              = 401
-+	SYS_CLOCK_GETTIME64              = 403
-+	SYS_CLOCK_SETTIME64              = 404
-+	SYS_CLOCK_ADJTIME64              = 405
-+	SYS_CLOCK_GETRES_TIME64          = 406
-+	SYS_CLOCK_NANOSLEEP_TIME64       = 407
-+	SYS_TIMER_GETTIME64              = 408
-+	SYS_TIMER_SETTIME64              = 409
-+	SYS_TIMERFD_GETTIME64            = 410
-+	SYS_TIMERFD_SETTIME64            = 411
-+	SYS_UTIMENSAT_TIME64             = 412
-+	SYS_PSELECT6_TIME64              = 413
-+	SYS_PPOLL_TIME64                 = 414
-+	SYS_IO_PGETEVENTS_TIME64         = 416
-+	SYS_RECVMMSG_TIME64              = 417
-+	SYS_MQ_TIMEDSEND_TIME64          = 418
-+	SYS_MQ_TIMEDRECEIVE_TIME64       = 419
-+	SYS_SEMTIMEDOP_TIME64            = 420
-+	SYS_RT_SIGTIMEDWAIT_TIME64       = 421
-+	SYS_FUTEX_TIME64                 = 422
-+	SYS_SCHED_RR_GET_INTERVAL_TIME64 = 423
-+	SYS_PIDFD_SEND_SIGNAL            = 424
-+	SYS_IO_URING_SETUP               = 425
-+	SYS_IO_URING_ENTER               = 426
-+	SYS_IO_URING_REGISTER            = 427
-+	SYS_OPEN_TREE                    = 428
-+	SYS_MOVE_MOUNT                   = 429
-+	SYS_FSOPEN                       = 430
-+	SYS_FSCONFIG                     = 431
-+	SYS_FSMOUNT                      = 432
-+	SYS_FSPICK                       = 433
-+	SYS_PIDFD_OPEN                   = 434
-+	SYS_CLONE3                       = 435
-+	SYS_OPENAT2                      = 437
-+	SYS_PIDFD_GETFD                  = 438
- )
-diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go
-index 64078435..e9404dd5 100644
---- a/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go
-+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go
-@@ -1,4 +1,4 @@
--// linux/mksysnum.pl -Wall -Werror -static -I/tmp/include -fsigned-char /tmp/include/asm/unistd.h
-+// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/include -fsigned-char /tmp/include/asm/unistd.h
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- // +build arm64,linux
-@@ -282,4 +282,22 @@ const (
- 	SYS_PKEY_MPROTECT          = 288
- 	SYS_PKEY_ALLOC             = 289
- 	SYS_PKEY_FREE              = 290
-+	SYS_STATX                  = 291
-+	SYS_IO_PGETEVENTS          = 292
-+	SYS_RSEQ                   = 293
-+	SYS_KEXEC_FILE_LOAD        = 294
-+	SYS_PIDFD_SEND_SIGNAL      = 424
-+	SYS_IO_URING_SETUP         = 425
-+	SYS_IO_URING_ENTER         = 426
-+	SYS_IO_URING_REGISTER      = 427
-+	SYS_OPEN_TREE              = 428
-+	SYS_MOVE_MOUNT             = 429
-+	SYS_FSOPEN                 = 430
-+	SYS_FSCONFIG               = 431
-+	SYS_FSMOUNT                = 432
-+	SYS_FSPICK                 = 433
-+	SYS_PIDFD_OPEN             = 434
-+	SYS_CLONE3                 = 435
-+	SYS_OPENAT2                = 437
-+	SYS_PIDFD_GETFD            = 438
- )
-diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go
-index 939567c0..68bb6d29 100644
---- a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go
-+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go
-@@ -1,4 +1,4 @@
--// linux/mksysnum.pl -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h
-+// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- // +build mips,linux
-@@ -6,369 +6,416 @@
- package unix
- 
- const (
--	SYS_SYSCALL                = 4000
--	SYS_EXIT                   = 4001
--	SYS_FORK                   = 4002
--	SYS_READ                   = 4003
--	SYS_WRITE                  = 4004
--	SYS_OPEN                   = 4005
--	SYS_CLOSE                  = 4006
--	SYS_WAITPID                = 4007
--	SYS_CREAT                  = 4008
--	SYS_LINK                   = 4009
--	SYS_UNLINK                 = 4010
--	SYS_EXECVE                 = 4011
--	SYS_CHDIR                  = 4012
--	SYS_TIME                   = 4013
--	SYS_MKNOD                  = 4014
--	SYS_CHMOD                  = 4015
--	SYS_LCHOWN                 = 4016
--	SYS_BREAK                  = 4017
--	SYS_UNUSED18               = 4018
--	SYS_LSEEK                  = 4019
--	SYS_GETPID                 = 4020
--	SYS_MOUNT                  = 4021
--	SYS_UMOUNT                 = 4022
--	SYS_SETUID                 = 4023
--	SYS_GETUID                 = 4024
--	SYS_STIME                  = 4025
--	SYS_PTRACE                 = 4026
--	SYS_ALARM                  = 4027
--	SYS_UNUSED28               = 4028
--	SYS_PAUSE                  = 4029
--	SYS_UTIME                  = 4030
--	SYS_STTY                   = 4031
--	SYS_GTTY                   = 4032
--	SYS_ACCESS                 = 4033
--	SYS_NICE                   = 4034
--	SYS_FTIME                  = 4035
--	SYS_SYNC                   = 4036
--	SYS_KILL                   = 4037
--	SYS_RENAME                 = 4038
--	SYS_MKDIR                  = 4039
--	SYS_RMDIR                  = 4040
--	SYS_DUP                    = 4041
--	SYS_PIPE                   = 4042
--	SYS_TIMES                  = 4043
--	SYS_PROF                   = 4044
--	SYS_BRK                    = 4045
--	SYS_SETGID                 = 4046
--	SYS_GETGID                 = 4047
--	SYS_SIGNAL                 = 4048
--	SYS_GETEUID                = 4049
--	SYS_GETEGID                = 4050
--	SYS_ACCT                   = 4051
--	SYS_UMOUNT2                = 4052
--	SYS_LOCK                   = 4053
--	SYS_IOCTL                  = 4054
--	SYS_FCNTL                  = 4055
--	SYS_MPX                    = 4056
--	SYS_SETPGID                = 4057
--	SYS_ULIMIT                 = 4058
--	SYS_UNUSED59               = 4059
--	SYS_UMASK                  = 4060
--	SYS_CHROOT                 = 4061
--	SYS_USTAT                  = 4062
--	SYS_DUP2                   = 4063
--	SYS_GETPPID                = 4064
--	SYS_GETPGRP                = 4065
--	SYS_SETSID                 = 4066
--	SYS_SIGACTION              = 4067
--	SYS_SGETMASK               = 4068
--	SYS_SSETMASK               = 4069
--	SYS_SETREUID               = 4070
--	SYS_SETREGID               = 4071
--	SYS_SIGSUSPEND             = 4072
--	SYS_SIGPENDING             = 4073
--	SYS_SETHOSTNAME            = 4074
--	SYS_SETRLIMIT              = 4075
--	SYS_GETRLIMIT              = 4076
--	SYS_GETRUSAGE              = 4077
--	SYS_GETTIMEOFDAY           = 4078
--	SYS_SETTIMEOFDAY           = 4079
--	SYS_GETGROUPS              = 4080
--	SYS_SETGROUPS              = 4081
--	SYS_RESERVED82             = 4082
--	SYS_SYMLINK                = 4083
--	SYS_UNUSED84               = 4084
--	SYS_READLINK               = 4085
--	SYS_USELIB                 = 4086
--	SYS_SWAPON                 = 4087
--	SYS_REBOOT                 = 4088
--	SYS_READDIR                = 4089
--	SYS_MMAP                   = 4090
--	SYS_MUNMAP                 = 4091
--	SYS_TRUNCATE               = 4092
--	SYS_FTRUNCATE              = 4093
--	SYS_FCHMOD                 = 4094
--	SYS_FCHOWN                 = 4095
--	SYS_GETPRIORITY            = 4096
--	SYS_SETPRIORITY            = 4097
--	SYS_PROFIL                 = 4098
--	SYS_STATFS                 = 4099
--	SYS_FSTATFS                = 4100
--	SYS_IOPERM                 = 4101
--	SYS_SOCKETCALL             = 4102
--	SYS_SYSLOG                 = 4103
--	SYS_SETITIMER              = 4104
--	SYS_GETITIMER              = 4105
--	SYS_STAT                   = 4106
--	SYS_LSTAT                  = 4107
--	SYS_FSTAT                  = 4108
--	SYS_UNUSED109              = 4109
--	SYS_IOPL                   = 4110
--	SYS_VHANGUP                = 4111
--	SYS_IDLE                   = 4112
--	SYS_VM86                   = 4113
--	SYS_WAIT4                  = 4114
--	SYS_SWAPOFF                = 4115
--	SYS_SYSINFO                = 4116
--	SYS_IPC                    = 4117
--	SYS_FSYNC                  = 4118
--	SYS_SIGRETURN              = 4119
--	SYS_CLONE                  = 4120
--	SYS_SETDOMAINNAME          = 4121
--	SYS_UNAME                  = 4122
--	SYS_MODIFY_LDT             = 4123
--	SYS_ADJTIMEX               = 4124
--	SYS_MPROTECT               = 4125
--	SYS_SIGPROCMASK            = 4126
--	SYS_CREATE_MODULE          = 4127
--	SYS_INIT_MODULE            = 4128
--	SYS_DELETE_MODULE          = 4129
--	SYS_GET_KERNEL_SYMS        = 4130
--	SYS_QUOTACTL               = 4131
--	SYS_GETPGID                = 4132
--	SYS_FCHDIR                 = 4133
--	SYS_BDFLUSH                = 4134
--	SYS_SYSFS                  = 4135
--	SYS_PERSONALITY            = 4136
--	SYS_AFS_SYSCALL            = 4137
--	SYS_SETFSUID               = 4138
--	SYS_SETFSGID               = 4139
--	SYS__LLSEEK                = 4140
--	SYS_GETDENTS               = 4141
--	SYS__NEWSELECT             = 4142
--	SYS_FLOCK                  = 4143
--	SYS_MSYNC                  = 4144
--	SYS_READV                  = 4145
--	SYS_WRITEV                 = 4146
--	SYS_CACHEFLUSH             = 4147
--	SYS_CACHECTL               = 4148
--	SYS_SYSMIPS                = 4149
--	SYS_UNUSED150              = 4150
--	SYS_GETSID                 = 4151
--	SYS_FDATASYNC              = 4152
--	SYS__SYSCTL                = 4153
--	SYS_MLOCK                  = 4154
--	SYS_MUNLOCK                = 4155
--	SYS_MLOCKALL               = 4156
--	SYS_MUNLOCKALL             = 4157
--	SYS_SCHED_SETPARAM         = 4158
--	SYS_SCHED_GETPARAM         = 4159
--	SYS_SCHED_SETSCHEDULER     = 4160
--	SYS_SCHED_GETSCHEDULER     = 4161
--	SYS_SCHED_YIELD            = 4162
--	SYS_SCHED_GET_PRIORITY_MAX = 4163
--	SYS_SCHED_GET_PRIORITY_MIN = 4164
--	SYS_SCHED_RR_GET_INTERVAL  = 4165
--	SYS_NANOSLEEP              = 4166
--	SYS_MREMAP                 = 4167
--	SYS_ACCEPT                 = 4168
--	SYS_BIND                   = 4169
--	SYS_CONNECT                = 4170
--	SYS_GETPEERNAME            = 4171
--	SYS_GETSOCKNAME            = 4172
--	SYS_GETSOCKOPT             = 4173
--	SYS_LISTEN                 = 4174
--	SYS_RECV                   = 4175
--	SYS_RECVFROM               = 4176
--	SYS_RECVMSG                = 4177
--	SYS_SEND                   = 4178
--	SYS_SENDMSG                = 4179
--	SYS_SENDTO                 = 4180
--	SYS_SETSOCKOPT             = 4181
--	SYS_SHUTDOWN               = 4182
--	SYS_SOCKET                 = 4183
--	SYS_SOCKETPAIR             = 4184
--	SYS_SETRESUID              = 4185
--	SYS_GETRESUID              = 4186
--	SYS_QUERY_MODULE           = 4187
--	SYS_POLL                   = 4188
--	SYS_NFSSERVCTL             = 4189
--	SYS_SETRESGID              = 4190
--	SYS_GETRESGID              = 4191
--	SYS_PRCTL                  = 4192
--	SYS_RT_SIGRETURN           = 4193
--	SYS_RT_SIGACTION           = 4194
--	SYS_RT_SIGPROCMASK         = 4195
--	SYS_RT_SIGPENDING          = 4196
--	SYS_RT_SIGTIMEDWAIT        = 4197
--	SYS_RT_SIGQUEUEINFO        = 4198
--	SYS_RT_SIGSUSPEND          = 4199
--	SYS_PREAD64                = 4200
--	SYS_PWRITE64               = 4201
--	SYS_CHOWN                  = 4202
--	SYS_GETCWD                 = 4203
--	SYS_CAPGET                 = 4204
--	SYS_CAPSET                 = 4205
--	SYS_SIGALTSTACK            = 4206
--	SYS_SENDFILE               = 4207
--	SYS_GETPMSG                = 4208
--	SYS_PUTPMSG                = 4209
--	SYS_MMAP2                  = 4210
--	SYS_TRUNCATE64             = 4211
--	SYS_FTRUNCATE64            = 4212
--	SYS_STAT64                 = 4213
--	SYS_LSTAT64                = 4214
--	SYS_FSTAT64                = 4215
--	SYS_PIVOT_ROOT             = 4216
--	SYS_MINCORE                = 4217
--	SYS_MADVISE                = 4218
--	SYS_GETDENTS64             = 4219
--	SYS_FCNTL64                = 4220
--	SYS_RESERVED221            = 4221
--	SYS_GETTID                 = 4222
--	SYS_READAHEAD              = 4223
--	SYS_SETXATTR               = 4224
--	SYS_LSETXATTR              = 4225
--	SYS_FSETXATTR              = 4226
--	SYS_GETXATTR               = 4227
--	SYS_LGETXATTR              = 4228
--	SYS_FGETXATTR              = 4229
--	SYS_LISTXATTR              = 4230
--	SYS_LLISTXATTR             = 4231
--	SYS_FLISTXATTR             = 4232
--	SYS_REMOVEXATTR            = 4233
--	SYS_LREMOVEXATTR           = 4234
--	SYS_FREMOVEXATTR           = 4235
--	SYS_TKILL                  = 4236
--	SYS_SENDFILE64             = 4237
--	SYS_FUTEX                  = 4238
--	SYS_SCHED_SETAFFINITY      = 4239
--	SYS_SCHED_GETAFFINITY      = 4240
--	SYS_IO_SETUP               = 4241
--	SYS_IO_DESTROY             = 4242
--	SYS_IO_GETEVENTS           = 4243
--	SYS_IO_SUBMIT              = 4244
--	SYS_IO_CANCEL              = 4245
--	SYS_EXIT_GROUP             = 4246
--	SYS_LOOKUP_DCOOKIE         = 4247
--	SYS_EPOLL_CREATE           = 4248
--	SYS_EPOLL_CTL              = 4249
--	SYS_EPOLL_WAIT             = 4250
--	SYS_REMAP_FILE_PAGES       = 4251
--	SYS_SET_TID_ADDRESS        = 4252
--	SYS_RESTART_SYSCALL        = 4253
--	SYS_FADVISE64              = 4254
--	SYS_STATFS64               = 4255
--	SYS_FSTATFS64              = 4256
--	SYS_TIMER_CREATE           = 4257
--	SYS_TIMER_SETTIME          = 4258
--	SYS_TIMER_GETTIME          = 4259
--	SYS_TIMER_GETOVERRUN       = 4260
--	SYS_TIMER_DELETE           = 4261
--	SYS_CLOCK_SETTIME          = 4262
--	SYS_CLOCK_GETTIME          = 4263
--	SYS_CLOCK_GETRES           = 4264
--	SYS_CLOCK_NANOSLEEP        = 4265
--	SYS_TGKILL                 = 4266
--	SYS_UTIMES                 = 4267
--	SYS_MBIND                  = 4268
--	SYS_GET_MEMPOLICY          = 4269
--	SYS_SET_MEMPOLICY          = 4270
--	SYS_MQ_OPEN                = 4271
--	SYS_MQ_UNLINK              = 4272
--	SYS_MQ_TIMEDSEND           = 4273
--	SYS_MQ_TIMEDRECEIVE        = 4274
--	SYS_MQ_NOTIFY              = 4275
--	SYS_MQ_GETSETATTR          = 4276
--	SYS_VSERVER                = 4277
--	SYS_WAITID                 = 4278
--	SYS_ADD_KEY                = 4280
--	SYS_REQUEST_KEY            = 4281
--	SYS_KEYCTL                 = 4282
--	SYS_SET_THREAD_AREA        = 4283
--	SYS_INOTIFY_INIT           = 4284
--	SYS_INOTIFY_ADD_WATCH      = 4285
--	SYS_INOTIFY_RM_WATCH       = 4286
--	SYS_MIGRATE_PAGES          = 4287
--	SYS_OPENAT                 = 4288
--	SYS_MKDIRAT                = 4289
--	SYS_MKNODAT                = 4290
--	SYS_FCHOWNAT               = 4291
--	SYS_FUTIMESAT              = 4292
--	SYS_FSTATAT64              = 4293
--	SYS_UNLINKAT               = 4294
--	SYS_RENAMEAT               = 4295
--	SYS_LINKAT                 = 4296
--	SYS_SYMLINKAT              = 4297
--	SYS_READLINKAT             = 4298
--	SYS_FCHMODAT               = 4299
--	SYS_FACCESSAT              = 4300
--	SYS_PSELECT6               = 4301
--	SYS_PPOLL                  = 4302
--	SYS_UNSHARE                = 4303
--	SYS_SPLICE                 = 4304
--	SYS_SYNC_FILE_RANGE        = 4305
--	SYS_TEE                    = 4306
--	SYS_VMSPLICE               = 4307
--	SYS_MOVE_PAGES             = 4308
--	SYS_SET_ROBUST_LIST        = 4309
--	SYS_GET_ROBUST_LIST        = 4310
--	SYS_KEXEC_LOAD             = 4311
--	SYS_GETCPU                 = 4312
--	SYS_EPOLL_PWAIT            = 4313
--	SYS_IOPRIO_SET             = 4314
--	SYS_IOPRIO_GET             = 4315
--	SYS_UTIMENSAT              = 4316
--	SYS_SIGNALFD               = 4317
--	SYS_TIMERFD                = 4318
--	SYS_EVENTFD                = 4319
--	SYS_FALLOCATE              = 4320
--	SYS_TIMERFD_CREATE         = 4321
--	SYS_TIMERFD_GETTIME        = 4322
--	SYS_TIMERFD_SETTIME        = 4323
--	SYS_SIGNALFD4              = 4324
--	SYS_EVENTFD2               = 4325
--	SYS_EPOLL_CREATE1          = 4326
--	SYS_DUP3                   = 4327
--	SYS_PIPE2                  = 4328
--	SYS_INOTIFY_INIT1          = 4329
--	SYS_PREADV                 = 4330
--	SYS_PWRITEV                = 4331
--	SYS_RT_TGSIGQUEUEINFO      = 4332
--	SYS_PERF_EVENT_OPEN        = 4333
--	SYS_ACCEPT4                = 4334
--	SYS_RECVMMSG               = 4335
--	SYS_FANOTIFY_INIT          = 4336
--	SYS_FANOTIFY_MARK          = 4337
--	SYS_PRLIMIT64              = 4338
--	SYS_NAME_TO_HANDLE_AT      = 4339
--	SYS_OPEN_BY_HANDLE_AT      = 4340
--	SYS_CLOCK_ADJTIME          = 4341
--	SYS_SYNCFS                 = 4342
--	SYS_SENDMMSG               = 4343
--	SYS_SETNS                  = 4344
--	SYS_PROCESS_VM_READV       = 4345
--	SYS_PROCESS_VM_WRITEV      = 4346
--	SYS_KCMP                   = 4347
--	SYS_FINIT_MODULE           = 4348
--	SYS_SCHED_SETATTR          = 4349
--	SYS_SCHED_GETATTR          = 4350
--	SYS_RENAMEAT2              = 4351
--	SYS_SECCOMP                = 4352
--	SYS_GETRANDOM              = 4353
--	SYS_MEMFD_CREATE           = 4354
--	SYS_BPF                    = 4355
--	SYS_EXECVEAT               = 4356
--	SYS_USERFAULTFD            = 4357
--	SYS_MEMBARRIER             = 4358
--	SYS_MLOCK2                 = 4359
--	SYS_COPY_FILE_RANGE        = 4360
--	SYS_PREADV2                = 4361
--	SYS_PWRITEV2               = 4362
--	SYS_PKEY_MPROTECT          = 4363
--	SYS_PKEY_ALLOC             = 4364
--	SYS_PKEY_FREE              = 4365
-+	SYS_SYSCALL                      = 4000
-+	SYS_EXIT                         = 4001
-+	SYS_FORK                         = 4002
-+	SYS_READ                         = 4003
-+	SYS_WRITE                        = 4004
-+	SYS_OPEN                         = 4005
-+	SYS_CLOSE                        = 4006
-+	SYS_WAITPID                      = 4007
-+	SYS_CREAT                        = 4008
-+	SYS_LINK                         = 4009
-+	SYS_UNLINK                       = 4010
-+	SYS_EXECVE                       = 4011
-+	SYS_CHDIR                        = 4012
-+	SYS_TIME                         = 4013
-+	SYS_MKNOD                        = 4014
-+	SYS_CHMOD                        = 4015
-+	SYS_LCHOWN                       = 4016
-+	SYS_BREAK                        = 4017
-+	SYS_UNUSED18                     = 4018
-+	SYS_LSEEK                        = 4019
-+	SYS_GETPID                       = 4020
-+	SYS_MOUNT                        = 4021
-+	SYS_UMOUNT                       = 4022
-+	SYS_SETUID                       = 4023
-+	SYS_GETUID                       = 4024
-+	SYS_STIME                        = 4025
-+	SYS_PTRACE                       = 4026
-+	SYS_ALARM                        = 4027
-+	SYS_UNUSED28                     = 4028
-+	SYS_PAUSE                        = 4029
-+	SYS_UTIME                        = 4030
-+	SYS_STTY                         = 4031
-+	SYS_GTTY                         = 4032
-+	SYS_ACCESS                       = 4033
-+	SYS_NICE                         = 4034
-+	SYS_FTIME                        = 4035
-+	SYS_SYNC                         = 4036
-+	SYS_KILL                         = 4037
-+	SYS_RENAME                       = 4038
-+	SYS_MKDIR                        = 4039
-+	SYS_RMDIR                        = 4040
-+	SYS_DUP                          = 4041
-+	SYS_PIPE                         = 4042
-+	SYS_TIMES                        = 4043
-+	SYS_PROF                         = 4044
-+	SYS_BRK                          = 4045
-+	SYS_SETGID                       = 4046
-+	SYS_GETGID                       = 4047
-+	SYS_SIGNAL                       = 4048
-+	SYS_GETEUID                      = 4049
-+	SYS_GETEGID                      = 4050
-+	SYS_ACCT                         = 4051
-+	SYS_UMOUNT2                      = 4052
-+	SYS_LOCK                         = 4053
-+	SYS_IOCTL                        = 4054
-+	SYS_FCNTL                        = 4055
-+	SYS_MPX                          = 4056
-+	SYS_SETPGID                      = 4057
-+	SYS_ULIMIT                       = 4058
-+	SYS_UNUSED59                     = 4059
-+	SYS_UMASK                        = 4060
-+	SYS_CHROOT                       = 4061
-+	SYS_USTAT                        = 4062
-+	SYS_DUP2                         = 4063
-+	SYS_GETPPID                      = 4064
-+	SYS_GETPGRP                      = 4065
-+	SYS_SETSID                       = 4066
-+	SYS_SIGACTION                    = 4067
-+	SYS_SGETMASK                     = 4068
-+	SYS_SSETMASK                     = 4069
-+	SYS_SETREUID                     = 4070
-+	SYS_SETREGID                     = 4071
-+	SYS_SIGSUSPEND                   = 4072
-+	SYS_SIGPENDING                   = 4073
-+	SYS_SETHOSTNAME                  = 4074
-+	SYS_SETRLIMIT                    = 4075
-+	SYS_GETRLIMIT                    = 4076
-+	SYS_GETRUSAGE                    = 4077
-+	SYS_GETTIMEOFDAY                 = 4078
-+	SYS_SETTIMEOFDAY                 = 4079
-+	SYS_GETGROUPS                    = 4080
-+	SYS_SETGROUPS                    = 4081
-+	SYS_RESERVED82                   = 4082
-+	SYS_SYMLINK                      = 4083
-+	SYS_UNUSED84                     = 4084
-+	SYS_READLINK                     = 4085
-+	SYS_USELIB                       = 4086
-+	SYS_SWAPON                       = 4087
-+	SYS_REBOOT                       = 4088
-+	SYS_READDIR                      = 4089
-+	SYS_MMAP                         = 4090
-+	SYS_MUNMAP                       = 4091
-+	SYS_TRUNCATE                     = 4092
-+	SYS_FTRUNCATE                    = 4093
-+	SYS_FCHMOD                       = 4094
-+	SYS_FCHOWN                       = 4095
-+	SYS_GETPRIORITY                  = 4096
-+	SYS_SETPRIORITY                  = 4097
-+	SYS_PROFIL                       = 4098
-+	SYS_STATFS                       = 4099
-+	SYS_FSTATFS                      = 4100
-+	SYS_IOPERM                       = 4101
-+	SYS_SOCKETCALL                   = 4102
-+	SYS_SYSLOG                       = 4103
-+	SYS_SETITIMER                    = 4104
-+	SYS_GETITIMER                    = 4105
-+	SYS_STAT                         = 4106
-+	SYS_LSTAT                        = 4107
-+	SYS_FSTAT                        = 4108
-+	SYS_UNUSED109                    = 4109
-+	SYS_IOPL                         = 4110
-+	SYS_VHANGUP                      = 4111
-+	SYS_IDLE                         = 4112
-+	SYS_VM86                         = 4113
-+	SYS_WAIT4                        = 4114
-+	SYS_SWAPOFF                      = 4115
-+	SYS_SYSINFO                      = 4116
-+	SYS_IPC                          = 4117
-+	SYS_FSYNC                        = 4118
-+	SYS_SIGRETURN                    = 4119
-+	SYS_CLONE                        = 4120
-+	SYS_SETDOMAINNAME                = 4121
-+	SYS_UNAME                        = 4122
-+	SYS_MODIFY_LDT                   = 4123
-+	SYS_ADJTIMEX                     = 4124
-+	SYS_MPROTECT                     = 4125
-+	SYS_SIGPROCMASK                  = 4126
-+	SYS_CREATE_MODULE                = 4127
-+	SYS_INIT_MODULE                  = 4128
-+	SYS_DELETE_MODULE                = 4129
-+	SYS_GET_KERNEL_SYMS              = 4130
-+	SYS_QUOTACTL                     = 4131
-+	SYS_GETPGID                      = 4132
-+	SYS_FCHDIR                       = 4133
-+	SYS_BDFLUSH                      = 4134
-+	SYS_SYSFS                        = 4135
-+	SYS_PERSONALITY                  = 4136
-+	SYS_AFS_SYSCALL                  = 4137
-+	SYS_SETFSUID                     = 4138
-+	SYS_SETFSGID                     = 4139
-+	SYS__LLSEEK                      = 4140
-+	SYS_GETDENTS                     = 4141
-+	SYS__NEWSELECT                   = 4142
-+	SYS_FLOCK                        = 4143
-+	SYS_MSYNC                        = 4144
-+	SYS_READV                        = 4145
-+	SYS_WRITEV                       = 4146
-+	SYS_CACHEFLUSH                   = 4147
-+	SYS_CACHECTL                     = 4148
-+	SYS_SYSMIPS                      = 4149
-+	SYS_UNUSED150                    = 4150
-+	SYS_GETSID                       = 4151
-+	SYS_FDATASYNC                    = 4152
-+	SYS__SYSCTL                      = 4153
-+	SYS_MLOCK                        = 4154
-+	SYS_MUNLOCK                      = 4155
-+	SYS_MLOCKALL                     = 4156
-+	SYS_MUNLOCKALL                   = 4157
-+	SYS_SCHED_SETPARAM               = 4158
-+	SYS_SCHED_GETPARAM               = 4159
-+	SYS_SCHED_SETSCHEDULER           = 4160
-+	SYS_SCHED_GETSCHEDULER           = 4161
-+	SYS_SCHED_YIELD                  = 4162
-+	SYS_SCHED_GET_PRIORITY_MAX       = 4163
-+	SYS_SCHED_GET_PRIORITY_MIN       = 4164
-+	SYS_SCHED_RR_GET_INTERVAL        = 4165
-+	SYS_NANOSLEEP                    = 4166
-+	SYS_MREMAP                       = 4167
-+	SYS_ACCEPT                       = 4168
-+	SYS_BIND                         = 4169
-+	SYS_CONNECT                      = 4170
-+	SYS_GETPEERNAME                  = 4171
-+	SYS_GETSOCKNAME                  = 4172
-+	SYS_GETSOCKOPT                   = 4173
-+	SYS_LISTEN                       = 4174
-+	SYS_RECV                         = 4175
-+	SYS_RECVFROM                     = 4176
-+	SYS_RECVMSG                      = 4177
-+	SYS_SEND                         = 4178
-+	SYS_SENDMSG                      = 4179
-+	SYS_SENDTO                       = 4180
-+	SYS_SETSOCKOPT                   = 4181
-+	SYS_SHUTDOWN                     = 4182
-+	SYS_SOCKET                       = 4183
-+	SYS_SOCKETPAIR                   = 4184
-+	SYS_SETRESUID                    = 4185
-+	SYS_GETRESUID                    = 4186
-+	SYS_QUERY_MODULE                 = 4187
-+	SYS_POLL                         = 4188
-+	SYS_NFSSERVCTL                   = 4189
-+	SYS_SETRESGID                    = 4190
-+	SYS_GETRESGID                    = 4191
-+	SYS_PRCTL                        = 4192
-+	SYS_RT_SIGRETURN                 = 4193
-+	SYS_RT_SIGACTION                 = 4194
-+	SYS_RT_SIGPROCMASK               = 4195
-+	SYS_RT_SIGPENDING                = 4196
-+	SYS_RT_SIGTIMEDWAIT              = 4197
-+	SYS_RT_SIGQUEUEINFO              = 4198
-+	SYS_RT_SIGSUSPEND                = 4199
-+	SYS_PREAD64                      = 4200
-+	SYS_PWRITE64                     = 4201
-+	SYS_CHOWN                        = 4202
-+	SYS_GETCWD                       = 4203
-+	SYS_CAPGET                       = 4204
-+	SYS_CAPSET                       = 4205
-+	SYS_SIGALTSTACK                  = 4206
-+	SYS_SENDFILE                     = 4207
-+	SYS_GETPMSG                      = 4208
-+	SYS_PUTPMSG                      = 4209
-+	SYS_MMAP2                        = 4210
-+	SYS_TRUNCATE64                   = 4211
-+	SYS_FTRUNCATE64                  = 4212
-+	SYS_STAT64                       = 4213
-+	SYS_LSTAT64                      = 4214
-+	SYS_FSTAT64                      = 4215
-+	SYS_PIVOT_ROOT                   = 4216
-+	SYS_MINCORE                      = 4217
-+	SYS_MADVISE                      = 4218
-+	SYS_GETDENTS64                   = 4219
-+	SYS_FCNTL64                      = 4220
-+	SYS_RESERVED221                  = 4221
-+	SYS_GETTID                       = 4222
-+	SYS_READAHEAD                    = 4223
-+	SYS_SETXATTR                     = 4224
-+	SYS_LSETXATTR                    = 4225
-+	SYS_FSETXATTR                    = 4226
-+	SYS_GETXATTR                     = 4227
-+	SYS_LGETXATTR                    = 4228
-+	SYS_FGETXATTR                    = 4229
-+	SYS_LISTXATTR                    = 4230
-+	SYS_LLISTXATTR                   = 4231
-+	SYS_FLISTXATTR                   = 4232
-+	SYS_REMOVEXATTR                  = 4233
-+	SYS_LREMOVEXATTR                 = 4234
-+	SYS_FREMOVEXATTR                 = 4235
-+	SYS_TKILL                        = 4236
-+	SYS_SENDFILE64                   = 4237
-+	SYS_FUTEX                        = 4238
-+	SYS_SCHED_SETAFFINITY            = 4239
-+	SYS_SCHED_GETAFFINITY            = 4240
-+	SYS_IO_SETUP                     = 4241
-+	SYS_IO_DESTROY                   = 4242
-+	SYS_IO_GETEVENTS                 = 4243
-+	SYS_IO_SUBMIT                    = 4244
-+	SYS_IO_CANCEL                    = 4245
-+	SYS_EXIT_GROUP                   = 4246
-+	SYS_LOOKUP_DCOOKIE               = 4247
-+	SYS_EPOLL_CREATE                 = 4248
-+	SYS_EPOLL_CTL                    = 4249
-+	SYS_EPOLL_WAIT                   = 4250
-+	SYS_REMAP_FILE_PAGES             = 4251
-+	SYS_SET_TID_ADDRESS              = 4252
-+	SYS_RESTART_SYSCALL              = 4253
-+	SYS_FADVISE64                    = 4254
-+	SYS_STATFS64                     = 4255
-+	SYS_FSTATFS64                    = 4256
-+	SYS_TIMER_CREATE                 = 4257
-+	SYS_TIMER_SETTIME                = 4258
-+	SYS_TIMER_GETTIME                = 4259
-+	SYS_TIMER_GETOVERRUN             = 4260
-+	SYS_TIMER_DELETE                 = 4261
-+	SYS_CLOCK_SETTIME                = 4262
-+	SYS_CLOCK_GETTIME                = 4263
-+	SYS_CLOCK_GETRES                 = 4264
-+	SYS_CLOCK_NANOSLEEP              = 4265
-+	SYS_TGKILL                       = 4266
-+	SYS_UTIMES                       = 4267
-+	SYS_MBIND                        = 4268
-+	SYS_GET_MEMPOLICY                = 4269
-+	SYS_SET_MEMPOLICY                = 4270
-+	SYS_MQ_OPEN                      = 4271
-+	SYS_MQ_UNLINK                    = 4272
-+	SYS_MQ_TIMEDSEND                 = 4273
-+	SYS_MQ_TIMEDRECEIVE              = 4274
-+	SYS_MQ_NOTIFY                    = 4275
-+	SYS_MQ_GETSETATTR                = 4276
-+	SYS_VSERVER                      = 4277
-+	SYS_WAITID                       = 4278
-+	SYS_ADD_KEY                      = 4280
-+	SYS_REQUEST_KEY                  = 4281
-+	SYS_KEYCTL                       = 4282
-+	SYS_SET_THREAD_AREA              = 4283
-+	SYS_INOTIFY_INIT                 = 4284
-+	SYS_INOTIFY_ADD_WATCH            = 4285
-+	SYS_INOTIFY_RM_WATCH             = 4286
-+	SYS_MIGRATE_PAGES                = 4287
-+	SYS_OPENAT                       = 4288
-+	SYS_MKDIRAT                      = 4289
-+	SYS_MKNODAT                      = 4290
-+	SYS_FCHOWNAT                     = 4291
-+	SYS_FUTIMESAT                    = 4292
-+	SYS_FSTATAT64                    = 4293
-+	SYS_UNLINKAT                     = 4294
-+	SYS_RENAMEAT                     = 4295
-+	SYS_LINKAT                       = 4296
-+	SYS_SYMLINKAT                    = 4297
-+	SYS_READLINKAT                   = 4298
-+	SYS_FCHMODAT                     = 4299
-+	SYS_FACCESSAT                    = 4300
-+	SYS_PSELECT6                     = 4301
-+	SYS_PPOLL                        = 4302
-+	SYS_UNSHARE                      = 4303
-+	SYS_SPLICE                       = 4304
-+	SYS_SYNC_FILE_RANGE              = 4305
-+	SYS_TEE                          = 4306
-+	SYS_VMSPLICE                     = 4307
-+	SYS_MOVE_PAGES                   = 4308
-+	SYS_SET_ROBUST_LIST              = 4309
-+	SYS_GET_ROBUST_LIST              = 4310
-+	SYS_KEXEC_LOAD                   = 4311
-+	SYS_GETCPU                       = 4312
-+	SYS_EPOLL_PWAIT                  = 4313
-+	SYS_IOPRIO_SET                   = 4314
-+	SYS_IOPRIO_GET                   = 4315
-+	SYS_UTIMENSAT                    = 4316
-+	SYS_SIGNALFD                     = 4317
-+	SYS_TIMERFD                      = 4318
-+	SYS_EVENTFD                      = 4319
-+	SYS_FALLOCATE                    = 4320
-+	SYS_TIMERFD_CREATE               = 4321
-+	SYS_TIMERFD_GETTIME              = 4322
-+	SYS_TIMERFD_SETTIME              = 4323
-+	SYS_SIGNALFD4                    = 4324
-+	SYS_EVENTFD2                     = 4325
-+	SYS_EPOLL_CREATE1                = 4326
-+	SYS_DUP3                         = 4327
-+	SYS_PIPE2                        = 4328
-+	SYS_INOTIFY_INIT1                = 4329
-+	SYS_PREADV                       = 4330
-+	SYS_PWRITEV                      = 4331
-+	SYS_RT_TGSIGQUEUEINFO            = 4332
-+	SYS_PERF_EVENT_OPEN              = 4333
-+	SYS_ACCEPT4                      = 4334
-+	SYS_RECVMMSG                     = 4335
-+	SYS_FANOTIFY_INIT                = 4336
-+	SYS_FANOTIFY_MARK                = 4337
-+	SYS_PRLIMIT64                    = 4338
-+	SYS_NAME_TO_HANDLE_AT            = 4339
-+	SYS_OPEN_BY_HANDLE_AT            = 4340
-+	SYS_CLOCK_ADJTIME                = 4341
-+	SYS_SYNCFS                       = 4342
-+	SYS_SENDMMSG                     = 4343
-+	SYS_SETNS                        = 4344
-+	SYS_PROCESS_VM_READV             = 4345
-+	SYS_PROCESS_VM_WRITEV            = 4346
-+	SYS_KCMP                         = 4347
-+	SYS_FINIT_MODULE                 = 4348
-+	SYS_SCHED_SETATTR                = 4349
-+	SYS_SCHED_GETATTR                = 4350
-+	SYS_RENAMEAT2                    = 4351
-+	SYS_SECCOMP                      = 4352
-+	SYS_GETRANDOM                    = 4353
-+	SYS_MEMFD_CREATE                 = 4354
-+	SYS_BPF                          = 4355
-+	SYS_EXECVEAT                     = 4356
-+	SYS_USERFAULTFD                  = 4357
-+	SYS_MEMBARRIER                   = 4358
-+	SYS_MLOCK2                       = 4359
-+	SYS_COPY_FILE_RANGE              = 4360
-+	SYS_PREADV2                      = 4361
-+	SYS_PWRITEV2                     = 4362
-+	SYS_PKEY_MPROTECT                = 4363
-+	SYS_PKEY_ALLOC                   = 4364
-+	SYS_PKEY_FREE                    = 4365
-+	SYS_STATX                        = 4366
-+	SYS_RSEQ                         = 4367
-+	SYS_IO_PGETEVENTS                = 4368
-+	SYS_SEMGET                       = 4393
-+	SYS_SEMCTL                       = 4394
-+	SYS_SHMGET                       = 4395
-+	SYS_SHMCTL                       = 4396
-+	SYS_SHMAT                        = 4397
-+	SYS_SHMDT                        = 4398
-+	SYS_MSGGET                       = 4399
-+	SYS_MSGSND                       = 4400
-+	SYS_MSGRCV                       = 4401
-+	SYS_MSGCTL                       = 4402
-+	SYS_CLOCK_GETTIME64              = 4403
-+	SYS_CLOCK_SETTIME64              = 4404
-+	SYS_CLOCK_ADJTIME64              = 4405
-+	SYS_CLOCK_GETRES_TIME64          = 4406
-+	SYS_CLOCK_NANOSLEEP_TIME64       = 4407
-+	SYS_TIMER_GETTIME64              = 4408
-+	SYS_TIMER_SETTIME64              = 4409
-+	SYS_TIMERFD_GETTIME64            = 4410
-+	SYS_TIMERFD_SETTIME64            = 4411
-+	SYS_UTIMENSAT_TIME64             = 4412
-+	SYS_PSELECT6_TIME64              = 4413
-+	SYS_PPOLL_TIME64                 = 4414
-+	SYS_IO_PGETEVENTS_TIME64         = 4416
-+	SYS_RECVMMSG_TIME64              = 4417
-+	SYS_MQ_TIMEDSEND_TIME64          = 4418
-+	SYS_MQ_TIMEDRECEIVE_TIME64       = 4419
-+	SYS_SEMTIMEDOP_TIME64            = 4420
-+	SYS_RT_SIGTIMEDWAIT_TIME64       = 4421
-+	SYS_FUTEX_TIME64                 = 4422
-+	SYS_SCHED_RR_GET_INTERVAL_TIME64 = 4423
-+	SYS_PIDFD_SEND_SIGNAL            = 4424
-+	SYS_IO_URING_SETUP               = 4425
-+	SYS_IO_URING_ENTER               = 4426
-+	SYS_IO_URING_REGISTER            = 4427
-+	SYS_OPEN_TREE                    = 4428
-+	SYS_MOVE_MOUNT                   = 4429
-+	SYS_FSOPEN                       = 4430
-+	SYS_FSCONFIG                     = 4431
-+	SYS_FSMOUNT                      = 4432
-+	SYS_FSPICK                       = 4433
-+	SYS_PIDFD_OPEN                   = 4434
-+	SYS_CLONE3                       = 4435
-+	SYS_OPENAT2                      = 4437
-+	SYS_PIDFD_GETFD                  = 4438
- )
-diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go
-index 09db9596..4e525118 100644
---- a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go
-+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go
-@@ -1,4 +1,4 @@
--// linux/mksysnum.pl -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h
-+// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- // +build mips64,linux
-@@ -331,4 +331,21 @@ const (
- 	SYS_PKEY_MPROTECT          = 5323
- 	SYS_PKEY_ALLOC             = 5324
- 	SYS_PKEY_FREE              = 5325
-+	SYS_STATX                  = 5326
-+	SYS_RSEQ                   = 5327
-+	SYS_IO_PGETEVENTS          = 5328
-+	SYS_PIDFD_SEND_SIGNAL      = 5424
-+	SYS_IO_URING_SETUP         = 5425
-+	SYS_IO_URING_ENTER         = 5426
-+	SYS_IO_URING_REGISTER      = 5427
-+	SYS_OPEN_TREE              = 5428
-+	SYS_MOVE_MOUNT             = 5429
-+	SYS_FSOPEN                 = 5430
-+	SYS_FSCONFIG               = 5431
-+	SYS_FSMOUNT                = 5432
-+	SYS_FSPICK                 = 5433
-+	SYS_PIDFD_OPEN             = 5434
-+	SYS_CLONE3                 = 5435
-+	SYS_OPENAT2                = 5437
-+	SYS_PIDFD_GETFD            = 5438
- )
-diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go
-index d1b872a0..4d9aa300 100644
---- a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go
-+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go
-@@ -1,4 +1,4 @@
--// linux/mksysnum.pl -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h
-+// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- // +build mips64le,linux
-@@ -331,4 +331,21 @@ const (
- 	SYS_PKEY_MPROTECT          = 5323
- 	SYS_PKEY_ALLOC             = 5324
- 	SYS_PKEY_FREE              = 5325
-+	SYS_STATX                  = 5326
-+	SYS_RSEQ                   = 5327
-+	SYS_IO_PGETEVENTS          = 5328
-+	SYS_PIDFD_SEND_SIGNAL      = 5424
-+	SYS_IO_URING_SETUP         = 5425
-+	SYS_IO_URING_ENTER         = 5426
-+	SYS_IO_URING_REGISTER      = 5427
-+	SYS_OPEN_TREE              = 5428
-+	SYS_MOVE_MOUNT             = 5429
-+	SYS_FSOPEN                 = 5430
-+	SYS_FSCONFIG               = 5431
-+	SYS_FSMOUNT                = 5432
-+	SYS_FSPICK                 = 5433
-+	SYS_PIDFD_OPEN             = 5434
-+	SYS_CLONE3                 = 5435
-+	SYS_OPENAT2                = 5437
-+	SYS_PIDFD_GETFD            = 5438
- )
-diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go
-index 82ba20f2..64af0707 100644
---- a/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go
-+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go
-@@ -1,4 +1,4 @@
--// linux/mksysnum.pl -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h
-+// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- // +build mipsle,linux
-@@ -6,369 +6,416 @@
- package unix
- 
- const (
--	SYS_SYSCALL                = 4000
--	SYS_EXIT                   = 4001
--	SYS_FORK                   = 4002
--	SYS_READ                   = 4003
--	SYS_WRITE                  = 4004
--	SYS_OPEN                   = 4005
--	SYS_CLOSE                  = 4006
--	SYS_WAITPID                = 4007
--	SYS_CREAT                  = 4008
--	SYS_LINK                   = 4009
--	SYS_UNLINK                 = 4010
--	SYS_EXECVE                 = 4011
--	SYS_CHDIR                  = 4012
--	SYS_TIME                   = 4013
--	SYS_MKNOD                  = 4014
--	SYS_CHMOD                  = 4015
--	SYS_LCHOWN                 = 4016
--	SYS_BREAK                  = 4017
--	SYS_UNUSED18               = 4018
--	SYS_LSEEK                  = 4019
--	SYS_GETPID                 = 4020
--	SYS_MOUNT                  = 4021
--	SYS_UMOUNT                 = 4022
--	SYS_SETUID                 = 4023
--	SYS_GETUID                 = 4024
--	SYS_STIME                  = 4025
--	SYS_PTRACE                 = 4026
--	SYS_ALARM                  = 4027
--	SYS_UNUSED28               = 4028
--	SYS_PAUSE                  = 4029
--	SYS_UTIME                  = 4030
--	SYS_STTY                   = 4031
--	SYS_GTTY                   = 4032
--	SYS_ACCESS                 = 4033
--	SYS_NICE                   = 4034
--	SYS_FTIME                  = 4035
--	SYS_SYNC                   = 4036
--	SYS_KILL                   = 4037
--	SYS_RENAME                 = 4038
--	SYS_MKDIR                  = 4039
--	SYS_RMDIR                  = 4040
--	SYS_DUP                    = 4041
--	SYS_PIPE                   = 4042
--	SYS_TIMES                  = 4043
--	SYS_PROF                   = 4044
--	SYS_BRK                    = 4045
--	SYS_SETGID                 = 4046
--	SYS_GETGID                 = 4047
--	SYS_SIGNAL                 = 4048
--	SYS_GETEUID                = 4049
--	SYS_GETEGID                = 4050
--	SYS_ACCT                   = 4051
--	SYS_UMOUNT2                = 4052
--	SYS_LOCK                   = 4053
--	SYS_IOCTL                  = 4054
--	SYS_FCNTL                  = 4055
--	SYS_MPX                    = 4056
--	SYS_SETPGID                = 4057
--	SYS_ULIMIT                 = 4058
--	SYS_UNUSED59               = 4059
--	SYS_UMASK                  = 4060
--	SYS_CHROOT                 = 4061
--	SYS_USTAT                  = 4062
--	SYS_DUP2                   = 4063
--	SYS_GETPPID                = 4064
--	SYS_GETPGRP                = 4065
--	SYS_SETSID                 = 4066
--	SYS_SIGACTION              = 4067
--	SYS_SGETMASK               = 4068
--	SYS_SSETMASK               = 4069
--	SYS_SETREUID               = 4070
--	SYS_SETREGID               = 4071
--	SYS_SIGSUSPEND             = 4072
--	SYS_SIGPENDING             = 4073
--	SYS_SETHOSTNAME            = 4074
--	SYS_SETRLIMIT              = 4075
--	SYS_GETRLIMIT              = 4076
--	SYS_GETRUSAGE              = 4077
--	SYS_GETTIMEOFDAY           = 4078
--	SYS_SETTIMEOFDAY           = 4079
--	SYS_GETGROUPS              = 4080
--	SYS_SETGROUPS              = 4081
--	SYS_RESERVED82             = 4082
--	SYS_SYMLINK                = 4083
--	SYS_UNUSED84               = 4084
--	SYS_READLINK               = 4085
--	SYS_USELIB                 = 4086
--	SYS_SWAPON                 = 4087
--	SYS_REBOOT                 = 4088
--	SYS_READDIR                = 4089
--	SYS_MMAP                   = 4090
--	SYS_MUNMAP                 = 4091
--	SYS_TRUNCATE               = 4092
--	SYS_FTRUNCATE              = 4093
--	SYS_FCHMOD                 = 4094
--	SYS_FCHOWN                 = 4095
--	SYS_GETPRIORITY            = 4096
--	SYS_SETPRIORITY            = 4097
--	SYS_PROFIL                 = 4098
--	SYS_STATFS                 = 4099
--	SYS_FSTATFS                = 4100
--	SYS_IOPERM                 = 4101
--	SYS_SOCKETCALL             = 4102
--	SYS_SYSLOG                 = 4103
--	SYS_SETITIMER              = 4104
--	SYS_GETITIMER              = 4105
--	SYS_STAT                   = 4106
--	SYS_LSTAT                  = 4107
--	SYS_FSTAT                  = 4108
--	SYS_UNUSED109              = 4109
--	SYS_IOPL                   = 4110
--	SYS_VHANGUP                = 4111
--	SYS_IDLE                   = 4112
--	SYS_VM86                   = 4113
--	SYS_WAIT4                  = 4114
--	SYS_SWAPOFF                = 4115
--	SYS_SYSINFO                = 4116
--	SYS_IPC                    = 4117
--	SYS_FSYNC                  = 4118
--	SYS_SIGRETURN              = 4119
--	SYS_CLONE                  = 4120
--	SYS_SETDOMAINNAME          = 4121
--	SYS_UNAME                  = 4122
--	SYS_MODIFY_LDT             = 4123
--	SYS_ADJTIMEX               = 4124
--	SYS_MPROTECT               = 4125
--	SYS_SIGPROCMASK            = 4126
--	SYS_CREATE_MODULE          = 4127
--	SYS_INIT_MODULE            = 4128
--	SYS_DELETE_MODULE          = 4129
--	SYS_GET_KERNEL_SYMS        = 4130
--	SYS_QUOTACTL               = 4131
--	SYS_GETPGID                = 4132
--	SYS_FCHDIR                 = 4133
--	SYS_BDFLUSH                = 4134
--	SYS_SYSFS                  = 4135
--	SYS_PERSONALITY            = 4136
--	SYS_AFS_SYSCALL            = 4137
--	SYS_SETFSUID               = 4138
--	SYS_SETFSGID               = 4139
--	SYS__LLSEEK                = 4140
--	SYS_GETDENTS               = 4141
--	SYS__NEWSELECT             = 4142
--	SYS_FLOCK                  = 4143
--	SYS_MSYNC                  = 4144
--	SYS_READV                  = 4145
--	SYS_WRITEV                 = 4146
--	SYS_CACHEFLUSH             = 4147
--	SYS_CACHECTL               = 4148
--	SYS_SYSMIPS                = 4149
--	SYS_UNUSED150              = 4150
--	SYS_GETSID                 = 4151
--	SYS_FDATASYNC              = 4152
--	SYS__SYSCTL                = 4153
--	SYS_MLOCK                  = 4154
--	SYS_MUNLOCK                = 4155
--	SYS_MLOCKALL               = 4156
--	SYS_MUNLOCKALL             = 4157
--	SYS_SCHED_SETPARAM         = 4158
--	SYS_SCHED_GETPARAM         = 4159
--	SYS_SCHED_SETSCHEDULER     = 4160
--	SYS_SCHED_GETSCHEDULER     = 4161
--	SYS_SCHED_YIELD            = 4162
--	SYS_SCHED_GET_PRIORITY_MAX = 4163
--	SYS_SCHED_GET_PRIORITY_MIN = 4164
--	SYS_SCHED_RR_GET_INTERVAL  = 4165
--	SYS_NANOSLEEP              = 4166
--	SYS_MREMAP                 = 4167
--	SYS_ACCEPT                 = 4168
--	SYS_BIND                   = 4169
--	SYS_CONNECT                = 4170
--	SYS_GETPEERNAME            = 4171
--	SYS_GETSOCKNAME            = 4172
--	SYS_GETSOCKOPT             = 4173
--	SYS_LISTEN                 = 4174
--	SYS_RECV                   = 4175
--	SYS_RECVFROM               = 4176
--	SYS_RECVMSG                = 4177
--	SYS_SEND                   = 4178
--	SYS_SENDMSG                = 4179
--	SYS_SENDTO                 = 4180
--	SYS_SETSOCKOPT             = 4181
--	SYS_SHUTDOWN               = 4182
--	SYS_SOCKET                 = 4183
--	SYS_SOCKETPAIR             = 4184
--	SYS_SETRESUID              = 4185
--	SYS_GETRESUID              = 4186
--	SYS_QUERY_MODULE           = 4187
--	SYS_POLL                   = 4188
--	SYS_NFSSERVCTL             = 4189
--	SYS_SETRESGID              = 4190
--	SYS_GETRESGID              = 4191
--	SYS_PRCTL                  = 4192
--	SYS_RT_SIGRETURN           = 4193
--	SYS_RT_SIGACTION           = 4194
--	SYS_RT_SIGPROCMASK         = 4195
--	SYS_RT_SIGPENDING          = 4196
--	SYS_RT_SIGTIMEDWAIT        = 4197
--	SYS_RT_SIGQUEUEINFO        = 4198
--	SYS_RT_SIGSUSPEND          = 4199
--	SYS_PREAD64                = 4200
--	SYS_PWRITE64               = 4201
--	SYS_CHOWN                  = 4202
--	SYS_GETCWD                 = 4203
--	SYS_CAPGET                 = 4204
--	SYS_CAPSET                 = 4205
--	SYS_SIGALTSTACK            = 4206
--	SYS_SENDFILE               = 4207
--	SYS_GETPMSG                = 4208
--	SYS_PUTPMSG                = 4209
--	SYS_MMAP2                  = 4210
--	SYS_TRUNCATE64             = 4211
--	SYS_FTRUNCATE64            = 4212
--	SYS_STAT64                 = 4213
--	SYS_LSTAT64                = 4214
--	SYS_FSTAT64                = 4215
--	SYS_PIVOT_ROOT             = 4216
--	SYS_MINCORE                = 4217
--	SYS_MADVISE                = 4218
--	SYS_GETDENTS64             = 4219
--	SYS_FCNTL64                = 4220
--	SYS_RESERVED221            = 4221
--	SYS_GETTID                 = 4222
--	SYS_READAHEAD              = 4223
--	SYS_SETXATTR               = 4224
--	SYS_LSETXATTR              = 4225
--	SYS_FSETXATTR              = 4226
--	SYS_GETXATTR               = 4227
--	SYS_LGETXATTR              = 4228
--	SYS_FGETXATTR              = 4229
--	SYS_LISTXATTR              = 4230
--	SYS_LLISTXATTR             = 4231
--	SYS_FLISTXATTR             = 4232
--	SYS_REMOVEXATTR            = 4233
--	SYS_LREMOVEXATTR           = 4234
--	SYS_FREMOVEXATTR           = 4235
--	SYS_TKILL                  = 4236
--	SYS_SENDFILE64             = 4237
--	SYS_FUTEX                  = 4238
--	SYS_SCHED_SETAFFINITY      = 4239
--	SYS_SCHED_GETAFFINITY      = 4240
--	SYS_IO_SETUP               = 4241
--	SYS_IO_DESTROY             = 4242
--	SYS_IO_GETEVENTS           = 4243
--	SYS_IO_SUBMIT              = 4244
--	SYS_IO_CANCEL              = 4245
--	SYS_EXIT_GROUP             = 4246
--	SYS_LOOKUP_DCOOKIE         = 4247
--	SYS_EPOLL_CREATE           = 4248
--	SYS_EPOLL_CTL              = 4249
--	SYS_EPOLL_WAIT             = 4250
--	SYS_REMAP_FILE_PAGES       = 4251
--	SYS_SET_TID_ADDRESS        = 4252
--	SYS_RESTART_SYSCALL        = 4253
--	SYS_FADVISE64              = 4254
--	SYS_STATFS64               = 4255
--	SYS_FSTATFS64              = 4256
--	SYS_TIMER_CREATE           = 4257
--	SYS_TIMER_SETTIME          = 4258
--	SYS_TIMER_GETTIME          = 4259
--	SYS_TIMER_GETOVERRUN       = 4260
--	SYS_TIMER_DELETE           = 4261
--	SYS_CLOCK_SETTIME          = 4262
--	SYS_CLOCK_GETTIME          = 4263
--	SYS_CLOCK_GETRES           = 4264
--	SYS_CLOCK_NANOSLEEP        = 4265
--	SYS_TGKILL                 = 4266
--	SYS_UTIMES                 = 4267
--	SYS_MBIND                  = 4268
--	SYS_GET_MEMPOLICY          = 4269
--	SYS_SET_MEMPOLICY          = 4270
--	SYS_MQ_OPEN                = 4271
--	SYS_MQ_UNLINK              = 4272
--	SYS_MQ_TIMEDSEND           = 4273
--	SYS_MQ_TIMEDRECEIVE        = 4274
--	SYS_MQ_NOTIFY              = 4275
--	SYS_MQ_GETSETATTR          = 4276
--	SYS_VSERVER                = 4277
--	SYS_WAITID                 = 4278
--	SYS_ADD_KEY                = 4280
--	SYS_REQUEST_KEY            = 4281
--	SYS_KEYCTL                 = 4282
--	SYS_SET_THREAD_AREA        = 4283
--	SYS_INOTIFY_INIT           = 4284
--	SYS_INOTIFY_ADD_WATCH      = 4285
--	SYS_INOTIFY_RM_WATCH       = 4286
--	SYS_MIGRATE_PAGES          = 4287
--	SYS_OPENAT                 = 4288
--	SYS_MKDIRAT                = 4289
--	SYS_MKNODAT                = 4290
--	SYS_FCHOWNAT               = 4291
--	SYS_FUTIMESAT              = 4292
--	SYS_FSTATAT64              = 4293
--	SYS_UNLINKAT               = 4294
--	SYS_RENAMEAT               = 4295
--	SYS_LINKAT                 = 4296
--	SYS_SYMLINKAT              = 4297
--	SYS_READLINKAT             = 4298
--	SYS_FCHMODAT               = 4299
--	SYS_FACCESSAT              = 4300
--	SYS_PSELECT6               = 4301
--	SYS_PPOLL                  = 4302
--	SYS_UNSHARE                = 4303
--	SYS_SPLICE                 = 4304
--	SYS_SYNC_FILE_RANGE        = 4305
--	SYS_TEE                    = 4306
--	SYS_VMSPLICE               = 4307
--	SYS_MOVE_PAGES             = 4308
--	SYS_SET_ROBUST_LIST        = 4309
--	SYS_GET_ROBUST_LIST        = 4310
--	SYS_KEXEC_LOAD             = 4311
--	SYS_GETCPU                 = 4312
--	SYS_EPOLL_PWAIT            = 4313
--	SYS_IOPRIO_SET             = 4314
--	SYS_IOPRIO_GET             = 4315
--	SYS_UTIMENSAT              = 4316
--	SYS_SIGNALFD               = 4317
--	SYS_TIMERFD                = 4318
--	SYS_EVENTFD                = 4319
--	SYS_FALLOCATE              = 4320
--	SYS_TIMERFD_CREATE         = 4321
--	SYS_TIMERFD_GETTIME        = 4322
--	SYS_TIMERFD_SETTIME        = 4323
--	SYS_SIGNALFD4              = 4324
--	SYS_EVENTFD2               = 4325
--	SYS_EPOLL_CREATE1          = 4326
--	SYS_DUP3                   = 4327
--	SYS_PIPE2                  = 4328
--	SYS_INOTIFY_INIT1          = 4329
--	SYS_PREADV                 = 4330
--	SYS_PWRITEV                = 4331
--	SYS_RT_TGSIGQUEUEINFO      = 4332
--	SYS_PERF_EVENT_OPEN        = 4333
--	SYS_ACCEPT4                = 4334
--	SYS_RECVMMSG               = 4335
--	SYS_FANOTIFY_INIT          = 4336
--	SYS_FANOTIFY_MARK          = 4337
--	SYS_PRLIMIT64              = 4338
--	SYS_NAME_TO_HANDLE_AT      = 4339
--	SYS_OPEN_BY_HANDLE_AT      = 4340
--	SYS_CLOCK_ADJTIME          = 4341
--	SYS_SYNCFS                 = 4342
--	SYS_SENDMMSG               = 4343
--	SYS_SETNS                  = 4344
--	SYS_PROCESS_VM_READV       = 4345
--	SYS_PROCESS_VM_WRITEV      = 4346
--	SYS_KCMP                   = 4347
--	SYS_FINIT_MODULE           = 4348
--	SYS_SCHED_SETATTR          = 4349
--	SYS_SCHED_GETATTR          = 4350
--	SYS_RENAMEAT2              = 4351
--	SYS_SECCOMP                = 4352
--	SYS_GETRANDOM              = 4353
--	SYS_MEMFD_CREATE           = 4354
--	SYS_BPF                    = 4355
--	SYS_EXECVEAT               = 4356
--	SYS_USERFAULTFD            = 4357
--	SYS_MEMBARRIER             = 4358
--	SYS_MLOCK2                 = 4359
--	SYS_COPY_FILE_RANGE        = 4360
--	SYS_PREADV2                = 4361
--	SYS_PWRITEV2               = 4362
--	SYS_PKEY_MPROTECT          = 4363
--	SYS_PKEY_ALLOC             = 4364
--	SYS_PKEY_FREE              = 4365
-+	SYS_SYSCALL                      = 4000
-+	SYS_EXIT                         = 4001
-+	SYS_FORK                         = 4002
-+	SYS_READ                         = 4003
-+	SYS_WRITE                        = 4004
-+	SYS_OPEN                         = 4005
-+	SYS_CLOSE                        = 4006
-+	SYS_WAITPID                      = 4007
-+	SYS_CREAT                        = 4008
-+	SYS_LINK                         = 4009
-+	SYS_UNLINK                       = 4010
-+	SYS_EXECVE                       = 4011
-+	SYS_CHDIR                        = 4012
-+	SYS_TIME                         = 4013
-+	SYS_MKNOD                        = 4014
-+	SYS_CHMOD                        = 4015
-+	SYS_LCHOWN                       = 4016
-+	SYS_BREAK                        = 4017
-+	SYS_UNUSED18                     = 4018
-+	SYS_LSEEK                        = 4019
-+	SYS_GETPID                       = 4020
-+	SYS_MOUNT                        = 4021
-+	SYS_UMOUNT                       = 4022
-+	SYS_SETUID                       = 4023
-+	SYS_GETUID                       = 4024
-+	SYS_STIME                        = 4025
-+	SYS_PTRACE                       = 4026
-+	SYS_ALARM                        = 4027
-+	SYS_UNUSED28                     = 4028
-+	SYS_PAUSE                        = 4029
-+	SYS_UTIME                        = 4030
-+	SYS_STTY                         = 4031
-+	SYS_GTTY                         = 4032
-+	SYS_ACCESS                       = 4033
-+	SYS_NICE                         = 4034
-+	SYS_FTIME                        = 4035
-+	SYS_SYNC                         = 4036
-+	SYS_KILL                         = 4037
-+	SYS_RENAME                       = 4038
-+	SYS_MKDIR                        = 4039
-+	SYS_RMDIR                        = 4040
-+	SYS_DUP                          = 4041
-+	SYS_PIPE                         = 4042
-+	SYS_TIMES                        = 4043
-+	SYS_PROF                         = 4044
-+	SYS_BRK                          = 4045
-+	SYS_SETGID                       = 4046
-+	SYS_GETGID                       = 4047
-+	SYS_SIGNAL                       = 4048
-+	SYS_GETEUID                      = 4049
-+	SYS_GETEGID                      = 4050
-+	SYS_ACCT                         = 4051
-+	SYS_UMOUNT2                      = 4052
-+	SYS_LOCK                         = 4053
-+	SYS_IOCTL                        = 4054
-+	SYS_FCNTL                        = 4055
-+	SYS_MPX                          = 4056
-+	SYS_SETPGID                      = 4057
-+	SYS_ULIMIT                       = 4058
-+	SYS_UNUSED59                     = 4059
-+	SYS_UMASK                        = 4060
-+	SYS_CHROOT                       = 4061
-+	SYS_USTAT                        = 4062
-+	SYS_DUP2                         = 4063
-+	SYS_GETPPID                      = 4064
-+	SYS_GETPGRP                      = 4065
-+	SYS_SETSID                       = 4066
-+	SYS_SIGACTION                    = 4067
-+	SYS_SGETMASK                     = 4068
-+	SYS_SSETMASK                     = 4069
-+	SYS_SETREUID                     = 4070
-+	SYS_SETREGID                     = 4071
-+	SYS_SIGSUSPEND                   = 4072
-+	SYS_SIGPENDING                   = 4073
-+	SYS_SETHOSTNAME                  = 4074
-+	SYS_SETRLIMIT                    = 4075
-+	SYS_GETRLIMIT                    = 4076
-+	SYS_GETRUSAGE                    = 4077
-+	SYS_GETTIMEOFDAY                 = 4078
-+	SYS_SETTIMEOFDAY                 = 4079
-+	SYS_GETGROUPS                    = 4080
-+	SYS_SETGROUPS                    = 4081
-+	SYS_RESERVED82                   = 4082
-+	SYS_SYMLINK                      = 4083
-+	SYS_UNUSED84                     = 4084
-+	SYS_READLINK                     = 4085
-+	SYS_USELIB                       = 4086
-+	SYS_SWAPON                       = 4087
-+	SYS_REBOOT                       = 4088
-+	SYS_READDIR                      = 4089
-+	SYS_MMAP                         = 4090
-+	SYS_MUNMAP                       = 4091
-+	SYS_TRUNCATE                     = 4092
-+	SYS_FTRUNCATE                    = 4093
-+	SYS_FCHMOD                       = 4094
-+	SYS_FCHOWN                       = 4095
-+	SYS_GETPRIORITY                  = 4096
-+	SYS_SETPRIORITY                  = 4097
-+	SYS_PROFIL                       = 4098
-+	SYS_STATFS                       = 4099
-+	SYS_FSTATFS                      = 4100
-+	SYS_IOPERM                       = 4101
-+	SYS_SOCKETCALL                   = 4102
-+	SYS_SYSLOG                       = 4103
-+	SYS_SETITIMER                    = 4104
-+	SYS_GETITIMER                    = 4105
-+	SYS_STAT                         = 4106
-+	SYS_LSTAT                        = 4107
-+	SYS_FSTAT                        = 4108
-+	SYS_UNUSED109                    = 4109
-+	SYS_IOPL                         = 4110
-+	SYS_VHANGUP                      = 4111
-+	SYS_IDLE                         = 4112
-+	SYS_VM86                         = 4113
-+	SYS_WAIT4                        = 4114
-+	SYS_SWAPOFF                      = 4115
-+	SYS_SYSINFO                      = 4116
-+	SYS_IPC                          = 4117
-+	SYS_FSYNC                        = 4118
-+	SYS_SIGRETURN                    = 4119
-+	SYS_CLONE                        = 4120
-+	SYS_SETDOMAINNAME                = 4121
-+	SYS_UNAME                        = 4122
-+	SYS_MODIFY_LDT                   = 4123
-+	SYS_ADJTIMEX                     = 4124
-+	SYS_MPROTECT                     = 4125
-+	SYS_SIGPROCMASK                  = 4126
-+	SYS_CREATE_MODULE                = 4127
-+	SYS_INIT_MODULE                  = 4128
-+	SYS_DELETE_MODULE                = 4129
-+	SYS_GET_KERNEL_SYMS              = 4130
-+	SYS_QUOTACTL                     = 4131
-+	SYS_GETPGID                      = 4132
-+	SYS_FCHDIR                       = 4133
-+	SYS_BDFLUSH                      = 4134
-+	SYS_SYSFS                        = 4135
-+	SYS_PERSONALITY                  = 4136
-+	SYS_AFS_SYSCALL                  = 4137
-+	SYS_SETFSUID                     = 4138
-+	SYS_SETFSGID                     = 4139
-+	SYS__LLSEEK                      = 4140
-+	SYS_GETDENTS                     = 4141
-+	SYS__NEWSELECT                   = 4142
-+	SYS_FLOCK                        = 4143
-+	SYS_MSYNC                        = 4144
-+	SYS_READV                        = 4145
-+	SYS_WRITEV                       = 4146
-+	SYS_CACHEFLUSH                   = 4147
-+	SYS_CACHECTL                     = 4148
-+	SYS_SYSMIPS                      = 4149
-+	SYS_UNUSED150                    = 4150
-+	SYS_GETSID                       = 4151
-+	SYS_FDATASYNC                    = 4152
-+	SYS__SYSCTL                      = 4153
-+	SYS_MLOCK                        = 4154
-+	SYS_MUNLOCK                      = 4155
-+	SYS_MLOCKALL                     = 4156
-+	SYS_MUNLOCKALL                   = 4157
-+	SYS_SCHED_SETPARAM               = 4158
-+	SYS_SCHED_GETPARAM               = 4159
-+	SYS_SCHED_SETSCHEDULER           = 4160
-+	SYS_SCHED_GETSCHEDULER           = 4161
-+	SYS_SCHED_YIELD                  = 4162
-+	SYS_SCHED_GET_PRIORITY_MAX       = 4163
-+	SYS_SCHED_GET_PRIORITY_MIN       = 4164
-+	SYS_SCHED_RR_GET_INTERVAL        = 4165
-+	SYS_NANOSLEEP                    = 4166
-+	SYS_MREMAP                       = 4167
-+	SYS_ACCEPT                       = 4168
-+	SYS_BIND                         = 4169
-+	SYS_CONNECT                      = 4170
-+	SYS_GETPEERNAME                  = 4171
-+	SYS_GETSOCKNAME                  = 4172
-+	SYS_GETSOCKOPT                   = 4173
-+	SYS_LISTEN                       = 4174
-+	SYS_RECV                         = 4175
-+	SYS_RECVFROM                     = 4176
-+	SYS_RECVMSG                      = 4177
-+	SYS_SEND                         = 4178
-+	SYS_SENDMSG                      = 4179
-+	SYS_SENDTO                       = 4180
-+	SYS_SETSOCKOPT                   = 4181
-+	SYS_SHUTDOWN                     = 4182
-+	SYS_SOCKET                       = 4183
-+	SYS_SOCKETPAIR                   = 4184
-+	SYS_SETRESUID                    = 4185
-+	SYS_GETRESUID                    = 4186
-+	SYS_QUERY_MODULE                 = 4187
-+	SYS_POLL                         = 4188
-+	SYS_NFSSERVCTL                   = 4189
-+	SYS_SETRESGID                    = 4190
-+	SYS_GETRESGID                    = 4191
-+	SYS_PRCTL                        = 4192
-+	SYS_RT_SIGRETURN                 = 4193
-+	SYS_RT_SIGACTION                 = 4194
-+	SYS_RT_SIGPROCMASK               = 4195
-+	SYS_RT_SIGPENDING                = 4196
-+	SYS_RT_SIGTIMEDWAIT              = 4197
-+	SYS_RT_SIGQUEUEINFO              = 4198
-+	SYS_RT_SIGSUSPEND                = 4199
-+	SYS_PREAD64                      = 4200
-+	SYS_PWRITE64                     = 4201
-+	SYS_CHOWN                        = 4202
-+	SYS_GETCWD                       = 4203
-+	SYS_CAPGET                       = 4204
-+	SYS_CAPSET                       = 4205
-+	SYS_SIGALTSTACK                  = 4206
-+	SYS_SENDFILE                     = 4207
-+	SYS_GETPMSG                      = 4208
-+	SYS_PUTPMSG                      = 4209
-+	SYS_MMAP2                        = 4210
-+	SYS_TRUNCATE64                   = 4211
-+	SYS_FTRUNCATE64                  = 4212
-+	SYS_STAT64                       = 4213
-+	SYS_LSTAT64                      = 4214
-+	SYS_FSTAT64                      = 4215
-+	SYS_PIVOT_ROOT                   = 4216
-+	SYS_MINCORE                      = 4217
-+	SYS_MADVISE                      = 4218
-+	SYS_GETDENTS64                   = 4219
-+	SYS_FCNTL64                      = 4220
-+	SYS_RESERVED221                  = 4221
-+	SYS_GETTID                       = 4222
-+	SYS_READAHEAD                    = 4223
-+	SYS_SETXATTR                     = 4224
-+	SYS_LSETXATTR                    = 4225
-+	SYS_FSETXATTR                    = 4226
-+	SYS_GETXATTR                     = 4227
-+	SYS_LGETXATTR                    = 4228
-+	SYS_FGETXATTR                    = 4229
-+	SYS_LISTXATTR                    = 4230
-+	SYS_LLISTXATTR                   = 4231
-+	SYS_FLISTXATTR                   = 4232
-+	SYS_REMOVEXATTR                  = 4233
-+	SYS_LREMOVEXATTR                 = 4234
-+	SYS_FREMOVEXATTR                 = 4235
-+	SYS_TKILL                        = 4236
-+	SYS_SENDFILE64                   = 4237
-+	SYS_FUTEX                        = 4238
-+	SYS_SCHED_SETAFFINITY            = 4239
-+	SYS_SCHED_GETAFFINITY            = 4240
-+	SYS_IO_SETUP                     = 4241
-+	SYS_IO_DESTROY                   = 4242
-+	SYS_IO_GETEVENTS                 = 4243
-+	SYS_IO_SUBMIT                    = 4244
-+	SYS_IO_CANCEL                    = 4245
-+	SYS_EXIT_GROUP                   = 4246
-+	SYS_LOOKUP_DCOOKIE               = 4247
-+	SYS_EPOLL_CREATE                 = 4248
-+	SYS_EPOLL_CTL                    = 4249
-+	SYS_EPOLL_WAIT                   = 4250
-+	SYS_REMAP_FILE_PAGES             = 4251
-+	SYS_SET_TID_ADDRESS              = 4252
-+	SYS_RESTART_SYSCALL              = 4253
-+	SYS_FADVISE64                    = 4254
-+	SYS_STATFS64                     = 4255
-+	SYS_FSTATFS64                    = 4256
-+	SYS_TIMER_CREATE                 = 4257
-+	SYS_TIMER_SETTIME                = 4258
-+	SYS_TIMER_GETTIME                = 4259
-+	SYS_TIMER_GETOVERRUN             = 4260
-+	SYS_TIMER_DELETE                 = 4261
-+	SYS_CLOCK_SETTIME                = 4262
-+	SYS_CLOCK_GETTIME                = 4263
-+	SYS_CLOCK_GETRES                 = 4264
-+	SYS_CLOCK_NANOSLEEP              = 4265
-+	SYS_TGKILL                       = 4266
-+	SYS_UTIMES                       = 4267
-+	SYS_MBIND                        = 4268
-+	SYS_GET_MEMPOLICY                = 4269
-+	SYS_SET_MEMPOLICY                = 4270
-+	SYS_MQ_OPEN                      = 4271
-+	SYS_MQ_UNLINK                    = 4272
-+	SYS_MQ_TIMEDSEND                 = 4273
-+	SYS_MQ_TIMEDRECEIVE              = 4274
-+	SYS_MQ_NOTIFY                    = 4275
-+	SYS_MQ_GETSETATTR                = 4276
-+	SYS_VSERVER                      = 4277
-+	SYS_WAITID                       = 4278
-+	SYS_ADD_KEY                      = 4280
-+	SYS_REQUEST_KEY                  = 4281
-+	SYS_KEYCTL                       = 4282
-+	SYS_SET_THREAD_AREA              = 4283
-+	SYS_INOTIFY_INIT                 = 4284
-+	SYS_INOTIFY_ADD_WATCH            = 4285
-+	SYS_INOTIFY_RM_WATCH             = 4286
-+	SYS_MIGRATE_PAGES                = 4287
-+	SYS_OPENAT                       = 4288
-+	SYS_MKDIRAT                      = 4289
-+	SYS_MKNODAT                      = 4290
-+	SYS_FCHOWNAT                     = 4291
-+	SYS_FUTIMESAT                    = 4292
-+	SYS_FSTATAT64                    = 4293
-+	SYS_UNLINKAT                     = 4294
-+	SYS_RENAMEAT                     = 4295
-+	SYS_LINKAT                       = 4296
-+	SYS_SYMLINKAT                    = 4297
-+	SYS_READLINKAT                   = 4298
-+	SYS_FCHMODAT                     = 4299
-+	SYS_FACCESSAT                    = 4300
-+	SYS_PSELECT6                     = 4301
-+	SYS_PPOLL                        = 4302
-+	SYS_UNSHARE                      = 4303
-+	SYS_SPLICE                       = 4304
-+	SYS_SYNC_FILE_RANGE              = 4305
-+	SYS_TEE                          = 4306
-+	SYS_VMSPLICE                     = 4307
-+	SYS_MOVE_PAGES                   = 4308
-+	SYS_SET_ROBUST_LIST              = 4309
-+	SYS_GET_ROBUST_LIST              = 4310
-+	SYS_KEXEC_LOAD                   = 4311
-+	SYS_GETCPU                       = 4312
-+	SYS_EPOLL_PWAIT                  = 4313
-+	SYS_IOPRIO_SET                   = 4314
-+	SYS_IOPRIO_GET                   = 4315
-+	SYS_UTIMENSAT                    = 4316
-+	SYS_SIGNALFD                     = 4317
-+	SYS_TIMERFD                      = 4318
-+	SYS_EVENTFD                      = 4319
-+	SYS_FALLOCATE                    = 4320
-+	SYS_TIMERFD_CREATE               = 4321
-+	SYS_TIMERFD_GETTIME              = 4322
-+	SYS_TIMERFD_SETTIME              = 4323
-+	SYS_SIGNALFD4                    = 4324
-+	SYS_EVENTFD2                     = 4325
-+	SYS_EPOLL_CREATE1                = 4326
-+	SYS_DUP3                         = 4327
-+	SYS_PIPE2                        = 4328
-+	SYS_INOTIFY_INIT1                = 4329
-+	SYS_PREADV                       = 4330
-+	SYS_PWRITEV                      = 4331
-+	SYS_RT_TGSIGQUEUEINFO            = 4332
-+	SYS_PERF_EVENT_OPEN              = 4333
-+	SYS_ACCEPT4                      = 4334
-+	SYS_RECVMMSG                     = 4335
-+	SYS_FANOTIFY_INIT                = 4336
-+	SYS_FANOTIFY_MARK                = 4337
-+	SYS_PRLIMIT64                    = 4338
-+	SYS_NAME_TO_HANDLE_AT            = 4339
-+	SYS_OPEN_BY_HANDLE_AT            = 4340
-+	SYS_CLOCK_ADJTIME                = 4341
-+	SYS_SYNCFS                       = 4342
-+	SYS_SENDMMSG                     = 4343
-+	SYS_SETNS                        = 4344
-+	SYS_PROCESS_VM_READV             = 4345
-+	SYS_PROCESS_VM_WRITEV            = 4346
-+	SYS_KCMP                         = 4347
-+	SYS_FINIT_MODULE                 = 4348
-+	SYS_SCHED_SETATTR                = 4349
-+	SYS_SCHED_GETATTR                = 4350
-+	SYS_RENAMEAT2                    = 4351
-+	SYS_SECCOMP                      = 4352
-+	SYS_GETRANDOM                    = 4353
-+	SYS_MEMFD_CREATE                 = 4354
-+	SYS_BPF                          = 4355
-+	SYS_EXECVEAT                     = 4356
-+	SYS_USERFAULTFD                  = 4357
-+	SYS_MEMBARRIER                   = 4358
-+	SYS_MLOCK2                       = 4359
-+	SYS_COPY_FILE_RANGE              = 4360
-+	SYS_PREADV2                      = 4361
-+	SYS_PWRITEV2                     = 4362
-+	SYS_PKEY_MPROTECT                = 4363
-+	SYS_PKEY_ALLOC                   = 4364
-+	SYS_PKEY_FREE                    = 4365
-+	SYS_STATX                        = 4366
-+	SYS_RSEQ                         = 4367
-+	SYS_IO_PGETEVENTS                = 4368
-+	SYS_SEMGET                       = 4393
-+	SYS_SEMCTL                       = 4394
-+	SYS_SHMGET                       = 4395
-+	SYS_SHMCTL                       = 4396
-+	SYS_SHMAT                        = 4397
-+	SYS_SHMDT                        = 4398
-+	SYS_MSGGET                       = 4399
-+	SYS_MSGSND                       = 4400
-+	SYS_MSGRCV                       = 4401
-+	SYS_MSGCTL                       = 4402
-+	SYS_CLOCK_GETTIME64              = 4403
-+	SYS_CLOCK_SETTIME64              = 4404
-+	SYS_CLOCK_ADJTIME64              = 4405
-+	SYS_CLOCK_GETRES_TIME64          = 4406
-+	SYS_CLOCK_NANOSLEEP_TIME64       = 4407
-+	SYS_TIMER_GETTIME64              = 4408
-+	SYS_TIMER_SETTIME64              = 4409
-+	SYS_TIMERFD_GETTIME64            = 4410
-+	SYS_TIMERFD_SETTIME64            = 4411
-+	SYS_UTIMENSAT_TIME64             = 4412
-+	SYS_PSELECT6_TIME64              = 4413
-+	SYS_PPOLL_TIME64                 = 4414
-+	SYS_IO_PGETEVENTS_TIME64         = 4416
-+	SYS_RECVMMSG_TIME64              = 4417
-+	SYS_MQ_TIMEDSEND_TIME64          = 4418
-+	SYS_MQ_TIMEDRECEIVE_TIME64       = 4419
-+	SYS_SEMTIMEDOP_TIME64            = 4420
-+	SYS_RT_SIGTIMEDWAIT_TIME64       = 4421
-+	SYS_FUTEX_TIME64                 = 4422
-+	SYS_SCHED_RR_GET_INTERVAL_TIME64 = 4423
-+	SYS_PIDFD_SEND_SIGNAL            = 4424
-+	SYS_IO_URING_SETUP               = 4425
-+	SYS_IO_URING_ENTER               = 4426
-+	SYS_IO_URING_REGISTER            = 4427
-+	SYS_OPEN_TREE                    = 4428
-+	SYS_MOVE_MOUNT                   = 4429
-+	SYS_FSOPEN                       = 4430
-+	SYS_FSCONFIG                     = 4431
-+	SYS_FSMOUNT                      = 4432
-+	SYS_FSPICK                       = 4433
-+	SYS_PIDFD_OPEN                   = 4434
-+	SYS_CLONE3                       = 4435
-+	SYS_OPENAT2                      = 4437
-+	SYS_PIDFD_GETFD                  = 4438
- )
-diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go
-index 8944448a..cc3c067b 100644
---- a/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go
-+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go
-@@ -1,4 +1,4 @@
--// linux/mksysnum.pl -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h
-+// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- // +build ppc64,linux
-@@ -366,4 +366,35 @@ const (
- 	SYS_PREADV2                = 380
- 	SYS_PWRITEV2               = 381
- 	SYS_KEXEC_FILE_LOAD        = 382
-+	SYS_STATX                  = 383
-+	SYS_PKEY_ALLOC             = 384
-+	SYS_PKEY_FREE              = 385
-+	SYS_PKEY_MPROTECT          = 386
-+	SYS_RSEQ                   = 387
-+	SYS_IO_PGETEVENTS          = 388
-+	SYS_SEMTIMEDOP             = 392
-+	SYS_SEMGET                 = 393
-+	SYS_SEMCTL                 = 394
-+	SYS_SHMGET                 = 395
-+	SYS_SHMCTL                 = 396
-+	SYS_SHMAT                  = 397
-+	SYS_SHMDT                  = 398
-+	SYS_MSGGET                 = 399
-+	SYS_MSGSND                 = 400
-+	SYS_MSGRCV                 = 401
-+	SYS_MSGCTL                 = 402
-+	SYS_PIDFD_SEND_SIGNAL      = 424
-+	SYS_IO_URING_SETUP         = 425
-+	SYS_IO_URING_ENTER         = 426
-+	SYS_IO_URING_REGISTER      = 427
-+	SYS_OPEN_TREE              = 428
-+	SYS_MOVE_MOUNT             = 429
-+	SYS_FSOPEN                 = 430
-+	SYS_FSCONFIG               = 431
-+	SYS_FSMOUNT                = 432
-+	SYS_FSPICK                 = 433
-+	SYS_PIDFD_OPEN             = 434
-+	SYS_CLONE3                 = 435
-+	SYS_OPENAT2                = 437
-+	SYS_PIDFD_GETFD            = 438
- )
-diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go
-index 90a039be..4050ff98 100644
---- a/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go
-+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go
-@@ -1,4 +1,4 @@
--// linux/mksysnum.pl -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h
-+// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- // +build ppc64le,linux
-@@ -366,4 +366,35 @@ const (
- 	SYS_PREADV2                = 380
- 	SYS_PWRITEV2               = 381
- 	SYS_KEXEC_FILE_LOAD        = 382
-+	SYS_STATX                  = 383
-+	SYS_PKEY_ALLOC             = 384
-+	SYS_PKEY_FREE              = 385
-+	SYS_PKEY_MPROTECT          = 386
-+	SYS_RSEQ                   = 387
-+	SYS_IO_PGETEVENTS          = 388
-+	SYS_SEMTIMEDOP             = 392
-+	SYS_SEMGET                 = 393
-+	SYS_SEMCTL                 = 394
-+	SYS_SHMGET                 = 395
-+	SYS_SHMCTL                 = 396
-+	SYS_SHMAT                  = 397
-+	SYS_SHMDT                  = 398
-+	SYS_MSGGET                 = 399
-+	SYS_MSGSND                 = 400
-+	SYS_MSGRCV                 = 401
-+	SYS_MSGCTL                 = 402
-+	SYS_PIDFD_SEND_SIGNAL      = 424
-+	SYS_IO_URING_SETUP         = 425
-+	SYS_IO_URING_ENTER         = 426
-+	SYS_IO_URING_REGISTER      = 427
-+	SYS_OPEN_TREE              = 428
-+	SYS_MOVE_MOUNT             = 429
-+	SYS_FSOPEN                 = 430
-+	SYS_FSCONFIG               = 431
-+	SYS_FSMOUNT                = 432
-+	SYS_FSPICK                 = 433
-+	SYS_PIDFD_OPEN             = 434
-+	SYS_CLONE3                 = 435
-+	SYS_OPENAT2                = 437
-+	SYS_PIDFD_GETFD            = 438
- )
-diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go
-similarity index 92%
-copy from vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go
-copy to vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go
-index 64078435..529abb6a 100644
---- a/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go
-+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go
-@@ -1,7 +1,7 @@
--// linux/mksysnum.pl -Wall -Werror -static -I/tmp/include -fsigned-char /tmp/include/asm/unistd.h
-+// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
--// +build arm64,linux
-+// +build riscv64,linux
- 
- package unix
- 
-@@ -44,7 +44,6 @@ const (
- 	SYS_UNLINKAT               = 35
- 	SYS_SYMLINKAT              = 36
- 	SYS_LINKAT                 = 37
--	SYS_RENAMEAT               = 38
- 	SYS_UMOUNT2                = 39
- 	SYS_MOUNT                  = 40
- 	SYS_PIVOT_ROOT             = 41
-@@ -282,4 +281,22 @@ const (
- 	SYS_PKEY_MPROTECT          = 288
- 	SYS_PKEY_ALLOC             = 289
- 	SYS_PKEY_FREE              = 290
-+	SYS_STATX                  = 291
-+	SYS_IO_PGETEVENTS          = 292
-+	SYS_RSEQ                   = 293
-+	SYS_KEXEC_FILE_LOAD        = 294
-+	SYS_PIDFD_SEND_SIGNAL      = 424
-+	SYS_IO_URING_SETUP         = 425
-+	SYS_IO_URING_ENTER         = 426
-+	SYS_IO_URING_REGISTER      = 427
-+	SYS_OPEN_TREE              = 428
-+	SYS_MOVE_MOUNT             = 429
-+	SYS_FSOPEN                 = 430
-+	SYS_FSCONFIG               = 431
-+	SYS_FSMOUNT                = 432
-+	SYS_FSPICK                 = 433
-+	SYS_PIDFD_OPEN             = 434
-+	SYS_CLONE3                 = 435
-+	SYS_OPENAT2                = 437
-+	SYS_PIDFD_GETFD            = 438
- )
-diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go
-index aab0cdb1..27665001 100644
---- a/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go
-+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go
-@@ -1,4 +1,4 @@
--// linux/mksysnum.pl -Wall -Werror -static -I/tmp/include -fsigned-char /tmp/include/asm/unistd.h
-+// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/include -fsigned-char /tmp/include/asm/unistd.h
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
- // +build s390x,linux
-@@ -109,6 +109,7 @@ const (
- 	SYS_PERSONALITY            = 136
- 	SYS_AFS_SYSCALL            = 137
- 	SYS_GETDENTS               = 141
-+	SYS_SELECT                 = 142
- 	SYS_FLOCK                  = 143
- 	SYS_MSYNC                  = 144
- 	SYS_READV                  = 145
-@@ -151,6 +152,26 @@ const (
- 	SYS_GETPMSG                = 188
- 	SYS_PUTPMSG                = 189
- 	SYS_VFORK                  = 190
-+	SYS_GETRLIMIT              = 191
-+	SYS_LCHOWN                 = 198
-+	SYS_GETUID                 = 199
-+	SYS_GETGID                 = 200
-+	SYS_GETEUID                = 201
-+	SYS_GETEGID                = 202
-+	SYS_SETREUID               = 203
-+	SYS_SETREGID               = 204
-+	SYS_GETGROUPS              = 205
-+	SYS_SETGROUPS              = 206
-+	SYS_FCHOWN                 = 207
-+	SYS_SETRESUID              = 208
-+	SYS_GETRESUID              = 209
-+	SYS_SETRESGID              = 210
-+	SYS_GETRESGID              = 211
-+	SYS_CHOWN                  = 212
-+	SYS_SETUID                 = 213
-+	SYS_SETGID                 = 214
-+	SYS_SETFSUID               = 215
-+	SYS_SETFSGID               = 216
- 	SYS_PIVOT_ROOT             = 217
- 	SYS_MINCORE                = 218
- 	SYS_MADVISE                = 219
-@@ -222,6 +243,7 @@ const (
- 	SYS_MKNODAT                = 290
- 	SYS_FCHOWNAT               = 291
- 	SYS_FUTIMESAT              = 292
-+	SYS_NEWFSTATAT             = 293
- 	SYS_UNLINKAT               = 294
- 	SYS_RENAMEAT               = 295
- 	SYS_LINKAT                 = 296
-@@ -306,26 +328,38 @@ const (
- 	SYS_COPY_FILE_RANGE        = 375
- 	SYS_PREADV2                = 376
- 	SYS_PWRITEV2               = 377
--	SYS_SELECT                 = 142
--	SYS_GETRLIMIT              = 191
--	SYS_LCHOWN                 = 198
--	SYS_GETUID                 = 199
--	SYS_GETGID                 = 200
--	SYS_GETEUID                = 201
--	SYS_GETEGID                = 202
--	SYS_SETREUID               = 203
--	SYS_SETREGID               = 204
--	SYS_GETGROUPS              = 205
--	SYS_SETGROUPS              = 206
--	SYS_FCHOWN                 = 207
--	SYS_SETRESUID              = 208
--	SYS_GETRESUID              = 209
--	SYS_SETRESGID              = 210
--	SYS_GETRESGID              = 211
--	SYS_CHOWN                  = 212
--	SYS_SETUID                 = 213
--	SYS_SETGID                 = 214
--	SYS_SETFSUID               = 215
--	SYS_SETFSGID               = 216
--	SYS_NEWFSTATAT             = 293
-+	SYS_S390_GUARDED_STORAGE   = 378
-+	SYS_STATX                  = 379
-+	SYS_S390_STHYI             = 380
-+	SYS_KEXEC_FILE_LOAD        = 381
-+	SYS_IO_PGETEVENTS          = 382
-+	SYS_RSEQ                   = 383
-+	SYS_PKEY_MPROTECT          = 384
-+	SYS_PKEY_ALLOC             = 385
-+	SYS_PKEY_FREE              = 386
-+	SYS_SEMTIMEDOP             = 392
-+	SYS_SEMGET                 = 393
-+	SYS_SEMCTL                 = 394
-+	SYS_SHMGET                 = 395
-+	SYS_SHMCTL                 = 396
-+	SYS_SHMAT                  = 397
-+	SYS_SHMDT                  = 398
-+	SYS_MSGGET                 = 399
-+	SYS_MSGSND                 = 400
-+	SYS_MSGRCV                 = 401
-+	SYS_MSGCTL                 = 402
-+	SYS_PIDFD_SEND_SIGNAL      = 424
-+	SYS_IO_URING_SETUP         = 425
-+	SYS_IO_URING_ENTER         = 426
-+	SYS_IO_URING_REGISTER      = 427
-+	SYS_OPEN_TREE              = 428
-+	SYS_MOVE_MOUNT             = 429
-+	SYS_FSOPEN                 = 430
-+	SYS_FSCONFIG               = 431
-+	SYS_FSMOUNT                = 432
-+	SYS_FSPICK                 = 433
-+	SYS_PIDFD_OPEN             = 434
-+	SYS_CLONE3                 = 435
-+	SYS_OPENAT2                = 437
-+	SYS_PIDFD_GETFD            = 438
- )
-diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go
-index c9c129dc..4dc82bb2 100644
---- a/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go
-+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go
-@@ -1,5 +1,5 @@
--// mksysnum_linux.pl -Ilinux/usr/include -m64 -D__arch64__ linux/usr/include/asm/unistd.h
--// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT
-+// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h
-+// Code generated by the command above; see README.md. DO NOT EDIT.
- 
- // +build sparc64,linux
- 
-@@ -253,6 +253,7 @@ const (
- 	SYS_TIMER_GETOVERRUN       = 264
- 	SYS_TIMER_DELETE           = 265
- 	SYS_TIMER_CREATE           = 266
-+	SYS_VSERVER                = 267
- 	SYS_IO_SETUP               = 268
- 	SYS_IO_DESTROY             = 269
- 	SYS_IO_SUBMIT              = 270
-@@ -345,4 +346,34 @@ const (
- 	SYS_COPY_FILE_RANGE        = 357
- 	SYS_PREADV2                = 358
- 	SYS_PWRITEV2               = 359
-+	SYS_STATX                  = 360
-+	SYS_IO_PGETEVENTS          = 361
-+	SYS_PKEY_MPROTECT          = 362
-+	SYS_PKEY_ALLOC             = 363
-+	SYS_PKEY_FREE              = 364
-+	SYS_RSEQ                   = 365
-+	SYS_SEMTIMEDOP             = 392
-+	SYS_SEMGET                 = 393
-+	SYS_SEMCTL                 = 394
-+	SYS_SHMGET                 = 395
-+	SYS_SHMCTL                 = 396
-+	SYS_SHMAT                  = 397
-+	SYS_SHMDT                  = 398
-+	SYS_MSGGET                 = 399
-+	SYS_MSGSND                 = 400
-+	SYS_MSGRCV                 = 401
-+	SYS_MSGCTL                 = 402
-+	SYS_PIDFD_SEND_SIGNAL      = 424
-+	SYS_IO_URING_SETUP         = 425
-+	SYS_IO_URING_ENTER         = 426
-+	SYS_IO_URING_REGISTER      = 427
-+	SYS_OPEN_TREE              = 428
-+	SYS_MOVE_MOUNT             = 429
-+	SYS_FSOPEN                 = 430
-+	SYS_FSCONFIG               = 431
-+	SYS_FSMOUNT                = 432
-+	SYS_FSPICK                 = 433
-+	SYS_PIDFD_OPEN             = 434
-+	SYS_OPENAT2                = 437
-+	SYS_PIDFD_GETFD            = 438
- )
-diff --git a/vendor/golang.org/x/sys/unix/zsysnum_netbsd_386.go b/vendor/golang.org/x/sys/unix/zsysnum_netbsd_386.go
-index 8afda9c4..e66a8c9d 100644
---- a/vendor/golang.org/x/sys/unix/zsysnum_netbsd_386.go
-+++ b/vendor/golang.org/x/sys/unix/zsysnum_netbsd_386.go
-@@ -1,5 +1,5 @@
--// mksysnum_netbsd.pl
--// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT
-+// go run mksysnum.go http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/src/sys/kern/syscalls.master
-+// Code generated by the command above; see README.md. DO NOT EDIT.
- 
- // +build 386,netbsd
- 
-diff --git a/vendor/golang.org/x/sys/unix/zsysnum_netbsd_amd64.go b/vendor/golang.org/x/sys/unix/zsysnum_netbsd_amd64.go
-index aea8dbec..42c788f2 100644
---- a/vendor/golang.org/x/sys/unix/zsysnum_netbsd_amd64.go
-+++ b/vendor/golang.org/x/sys/unix/zsysnum_netbsd_amd64.go
-@@ -1,5 +1,5 @@
--// mksysnum_netbsd.pl
--// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT
-+// go run mksysnum.go http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/src/sys/kern/syscalls.master
-+// Code generated by the command above; see README.md. DO NOT EDIT.
- 
- // +build amd64,netbsd
- 
-diff --git a/vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm.go b/vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm.go
-index c6158a7e..0a075717 100644
---- a/vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm.go
-+++ b/vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm.go
-@@ -1,5 +1,5 @@
--// mksysnum_netbsd.pl
--// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT
-+// go run mksysnum.go http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/src/sys/kern/syscalls.master
-+// Code generated by the command above; see README.md. DO NOT EDIT.
- 
- // +build arm,netbsd
- 
-diff --git a/vendor/golang.org/x/sys/unix/zsysnum_netbsd_386.go b/vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm64.go
-similarity index 99%
-copy from vendor/golang.org/x/sys/unix/zsysnum_netbsd_386.go
-copy to vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm64.go
-index 8afda9c4..0291c093 100644
---- a/vendor/golang.org/x/sys/unix/zsysnum_netbsd_386.go
-+++ b/vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm64.go
-@@ -1,7 +1,7 @@
--// mksysnum_netbsd.pl
--// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT
-+// go run mksysnum.go http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/src/sys/kern/syscalls.master
-+// Code generated by the command above; DO NOT EDIT.
- 
--// +build 386,netbsd
-+// +build arm64,netbsd
- 
- package unix
- 
-diff --git a/vendor/golang.org/x/sys/unix/zsysnum_openbsd_386.go b/vendor/golang.org/x/sys/unix/zsysnum_openbsd_386.go
-index 3e8ce2a1..b0207d1c 100644
---- a/vendor/golang.org/x/sys/unix/zsysnum_openbsd_386.go
-+++ b/vendor/golang.org/x/sys/unix/zsysnum_openbsd_386.go
-@@ -1,5 +1,5 @@
--// mksysnum_openbsd.pl
--// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT
-+// go run mksysnum.go https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master
-+// Code generated by the command above; see README.md. DO NOT EDIT.
- 
- // +build 386,openbsd
- 
-@@ -9,109 +9,119 @@ const (
- 	SYS_EXIT           = 1   // { void sys_exit(int rval); }
- 	SYS_FORK           = 2   // { int sys_fork(void); }
- 	SYS_READ           = 3   // { ssize_t sys_read(int fd, void *buf, size_t nbyte); }
--	SYS_WRITE          = 4   // { ssize_t sys_write(int fd, const void *buf, \
--	SYS_OPEN           = 5   // { int sys_open(const char *path, \
-+	SYS_WRITE          = 4   // { ssize_t sys_write(int fd, const void *buf, size_t nbyte); }
-+	SYS_OPEN           = 5   // { int sys_open(const char *path, int flags, ... mode_t mode); }
- 	SYS_CLOSE          = 6   // { int sys_close(int fd); }
--	SYS___TFORK        = 8   // { int sys___tfork(const struct __tfork *param, \
-+	SYS_GETENTROPY     = 7   // { int sys_getentropy(void *buf, size_t nbyte); }
-+	SYS___TFORK        = 8   // { int sys___tfork(const struct __tfork *param, size_t psize); }
- 	SYS_LINK           = 9   // { int sys_link(const char *path, const char *link); }
- 	SYS_UNLINK         = 10  // { int sys_unlink(const char *path); }
--	SYS_WAIT4          = 11  // { pid_t sys_wait4(pid_t pid, int *status, \
-+	SYS_WAIT4          = 11  // { pid_t sys_wait4(pid_t pid, int *status, int options, struct rusage *rusage); }
- 	SYS_CHDIR          = 12  // { int sys_chdir(const char *path); }
- 	SYS_FCHDIR         = 13  // { int sys_fchdir(int fd); }
--	SYS_MKNOD          = 14  // { int sys_mknod(const char *path, mode_t mode, \
-+	SYS_MKNOD          = 14  // { int sys_mknod(const char *path, mode_t mode, dev_t dev); }
- 	SYS_CHMOD          = 15  // { int sys_chmod(const char *path, mode_t mode); }
--	SYS_CHOWN          = 16  // { int sys_chown(const char *path, uid_t uid, \
-+	SYS_CHOWN          = 16  // { int sys_chown(const char *path, uid_t uid, gid_t gid); }
- 	SYS_OBREAK         = 17  // { int sys_obreak(char *nsize); } break
- 	SYS_GETDTABLECOUNT = 18  // { int sys_getdtablecount(void); }
--	SYS_GETRUSAGE      = 19  // { int sys_getrusage(int who, \
-+	SYS_GETRUSAGE      = 19  // { int sys_getrusage(int who, struct rusage *rusage); }
- 	SYS_GETPID         = 20  // { pid_t sys_getpid(void); }
--	SYS_MOUNT          = 21  // { int sys_mount(const char *type, const char *path, \
-+	SYS_MOUNT          = 21  // { int sys_mount(const char *type, const char *path, int flags, void *data); }
- 	SYS_UNMOUNT        = 22  // { int sys_unmount(const char *path, int flags); }
- 	SYS_SETUID         = 23  // { int sys_setuid(uid_t uid); }
- 	SYS_GETUID         = 24  // { uid_t sys_getuid(void); }
- 	SYS_GETEUID        = 25  // { uid_t sys_geteuid(void); }
--	SYS_PTRACE         = 26  // { int sys_ptrace(int req, pid_t pid, caddr_t addr, \
--	SYS_RECVMSG        = 27  // { ssize_t sys_recvmsg(int s, struct msghdr *msg, \
--	SYS_SENDMSG        = 28  // { ssize_t sys_sendmsg(int s, \
--	SYS_RECVFROM       = 29  // { ssize_t sys_recvfrom(int s, void *buf, size_t len, \
--	SYS_ACCEPT         = 30  // { int sys_accept(int s, struct sockaddr *name, \
--	SYS_GETPEERNAME    = 31  // { int sys_getpeername(int fdes, struct sockaddr *asa, \
--	SYS_GETSOCKNAME    = 32  // { int sys_getsockname(int fdes, struct sockaddr *asa, \
--	SYS_ACCESS         = 33  // { int sys_access(const char *path, int flags); }
-+	SYS_PTRACE         = 26  // { int sys_ptrace(int req, pid_t pid, caddr_t addr, int data); }
-+	SYS_RECVMSG        = 27  // { ssize_t sys_recvmsg(int s, struct msghdr *msg, int flags); }
-+	SYS_SENDMSG        = 28  // { ssize_t sys_sendmsg(int s, const struct msghdr *msg, int flags); }
-+	SYS_RECVFROM       = 29  // { ssize_t sys_recvfrom(int s, void *buf, size_t len, int flags, struct sockaddr *from, socklen_t *fromlenaddr); }
-+	SYS_ACCEPT         = 30  // { int sys_accept(int s, struct sockaddr *name, socklen_t *anamelen); }
-+	SYS_GETPEERNAME    = 31  // { int sys_getpeername(int fdes, struct sockaddr *asa, socklen_t *alen); }
-+	SYS_GETSOCKNAME    = 32  // { int sys_getsockname(int fdes, struct sockaddr *asa, socklen_t *alen); }
-+	SYS_ACCESS         = 33  // { int sys_access(const char *path, int amode); }
- 	SYS_CHFLAGS        = 34  // { int sys_chflags(const char *path, u_int flags); }
- 	SYS_FCHFLAGS       = 35  // { int sys_fchflags(int fd, u_int flags); }
- 	SYS_SYNC           = 36  // { void sys_sync(void); }
--	SYS_KILL           = 37  // { int sys_kill(int pid, int signum); }
- 	SYS_STAT           = 38  // { int sys_stat(const char *path, struct stat *ub); }
- 	SYS_GETPPID        = 39  // { pid_t sys_getppid(void); }
- 	SYS_LSTAT          = 40  // { int sys_lstat(const char *path, struct stat *ub); }
- 	SYS_DUP            = 41  // { int sys_dup(int fd); }
--	SYS_FSTATAT        = 42  // { int sys_fstatat(int fd, const char *path, \
-+	SYS_FSTATAT        = 42  // { int sys_fstatat(int fd, const char *path, struct stat *buf, int flag); }
- 	SYS_GETEGID        = 43  // { gid_t sys_getegid(void); }
--	SYS_PROFIL         = 44  // { int sys_profil(caddr_t samples, size_t size, \
--	SYS_KTRACE         = 45  // { int sys_ktrace(const char *fname, int ops, \
--	SYS_SIGACTION      = 46  // { int sys_sigaction(int signum, \
-+	SYS_PROFIL         = 44  // { int sys_profil(caddr_t samples, size_t size, u_long offset, u_int scale); }
-+	SYS_KTRACE         = 45  // { int sys_ktrace(const char *fname, int ops, int facs, pid_t pid); }
-+	SYS_SIGACTION      = 46  // { int sys_sigaction(int signum, const struct sigaction *nsa, struct sigaction *osa); }
- 	SYS_GETGID         = 47  // { gid_t sys_getgid(void); }
- 	SYS_SIGPROCMASK    = 48  // { int sys_sigprocmask(int how, sigset_t mask); }
--	SYS_GETLOGIN       = 49  // { int sys_getlogin(char *namebuf, u_int namelen); }
- 	SYS_SETLOGIN       = 50  // { int sys_setlogin(const char *namebuf); }
- 	SYS_ACCT           = 51  // { int sys_acct(const char *path); }
- 	SYS_SIGPENDING     = 52  // { int sys_sigpending(void); }
- 	SYS_FSTAT          = 53  // { int sys_fstat(int fd, struct stat *sb); }
--	SYS_IOCTL          = 54  // { int sys_ioctl(int fd, \
-+	SYS_IOCTL          = 54  // { int sys_ioctl(int fd, u_long com, ... void *data); }
- 	SYS_REBOOT         = 55  // { int sys_reboot(int opt); }
- 	SYS_REVOKE         = 56  // { int sys_revoke(const char *path); }
--	SYS_SYMLINK        = 57  // { int sys_symlink(const char *path, \
--	SYS_READLINK       = 58  // { int sys_readlink(const char *path, char *buf, \
--	SYS_EXECVE         = 59  // { int sys_execve(const char *path, \
-+	SYS_SYMLINK        = 57  // { int sys_symlink(const char *path, const char *link); }
-+	SYS_READLINK       = 58  // { ssize_t sys_readlink(const char *path, char *buf, size_t count); }
-+	SYS_EXECVE         = 59  // { int sys_execve(const char *path, char * const *argp, char * const *envp); }
- 	SYS_UMASK          = 60  // { mode_t sys_umask(mode_t newmask); }
- 	SYS_CHROOT         = 61  // { int sys_chroot(const char *path); }
--	SYS_GETFSSTAT      = 62  // { int sys_getfsstat(struct statfs *buf, size_t bufsize, \
--	SYS_STATFS         = 63  // { int sys_statfs(const char *path, \
-+	SYS_GETFSSTAT      = 62  // { int sys_getfsstat(struct statfs *buf, size_t bufsize, int flags); }
-+	SYS_STATFS         = 63  // { int sys_statfs(const char *path, struct statfs *buf); }
- 	SYS_FSTATFS        = 64  // { int sys_fstatfs(int fd, struct statfs *buf); }
--	SYS_FHSTATFS       = 65  // { int sys_fhstatfs(const fhandle_t *fhp, \
-+	SYS_FHSTATFS       = 65  // { int sys_fhstatfs(const fhandle_t *fhp, struct statfs *buf); }
- 	SYS_VFORK          = 66  // { int sys_vfork(void); }
--	SYS_GETTIMEOFDAY   = 67  // { int sys_gettimeofday(struct timeval *tp, \
--	SYS_SETTIMEOFDAY   = 68  // { int sys_settimeofday(const struct timeval *tv, \
--	SYS_SETITIMER      = 69  // { int sys_setitimer(int which, \
--	SYS_GETITIMER      = 70  // { int sys_getitimer(int which, \
--	SYS_SELECT         = 71  // { int sys_select(int nd, fd_set *in, fd_set *ou, \
--	SYS_KEVENT         = 72  // { int sys_kevent(int fd, \
-+	SYS_GETTIMEOFDAY   = 67  // { int sys_gettimeofday(struct timeval *tp, struct timezone *tzp); }
-+	SYS_SETTIMEOFDAY   = 68  // { int sys_settimeofday(const struct timeval *tv, const struct timezone *tzp); }
-+	SYS_SETITIMER      = 69  // { int sys_setitimer(int which, const struct itimerval *itv, struct itimerval *oitv); }
-+	SYS_GETITIMER      = 70  // { int sys_getitimer(int which, struct itimerval *itv); }
-+	SYS_SELECT         = 71  // { int sys_select(int nd, fd_set *in, fd_set *ou, fd_set *ex, struct timeval *tv); }
-+	SYS_KEVENT         = 72  // { int sys_kevent(int fd, const struct kevent *changelist, int nchanges, struct kevent *eventlist, int nevents, const struct timespec *timeout); }
- 	SYS_MUNMAP         = 73  // { int sys_munmap(void *addr, size_t len); }
--	SYS_MPROTECT       = 74  // { int sys_mprotect(void *addr, size_t len, \
--	SYS_MADVISE        = 75  // { int sys_madvise(void *addr, size_t len, \
--	SYS_UTIMES         = 76  // { int sys_utimes(const char *path, \
--	SYS_FUTIMES        = 77  // { int sys_futimes(int fd, \
--	SYS_MINCORE        = 78  // { int sys_mincore(void *addr, size_t len, \
--	SYS_GETGROUPS      = 79  // { int sys_getgroups(int gidsetsize, \
--	SYS_SETGROUPS      = 80  // { int sys_setgroups(int gidsetsize, \
-+	SYS_MPROTECT       = 74  // { int sys_mprotect(void *addr, size_t len, int prot); }
-+	SYS_MADVISE        = 75  // { int sys_madvise(void *addr, size_t len, int behav); }
-+	SYS_UTIMES         = 76  // { int sys_utimes(const char *path, const struct timeval *tptr); }
-+	SYS_FUTIMES        = 77  // { int sys_futimes(int fd, const struct timeval *tptr); }
-+	SYS_MINCORE        = 78  // { int sys_mincore(void *addr, size_t len, char *vec); }
-+	SYS_GETGROUPS      = 79  // { int sys_getgroups(int gidsetsize, gid_t *gidset); }
-+	SYS_SETGROUPS      = 80  // { int sys_setgroups(int gidsetsize, const gid_t *gidset); }
- 	SYS_GETPGRP        = 81  // { int sys_getpgrp(void); }
--	SYS_SETPGID        = 82  // { int sys_setpgid(pid_t pid, int pgid); }
--	SYS_UTIMENSAT      = 84  // { int sys_utimensat(int fd, const char *path, \
--	SYS_FUTIMENS       = 85  // { int sys_futimens(int fd, \
--	SYS_CLOCK_GETTIME  = 87  // { int sys_clock_gettime(clockid_t clock_id, \
--	SYS_CLOCK_SETTIME  = 88  // { int sys_clock_settime(clockid_t clock_id, \
--	SYS_CLOCK_GETRES   = 89  // { int sys_clock_getres(clockid_t clock_id, \
-+	SYS_SETPGID        = 82  // { int sys_setpgid(pid_t pid, pid_t pgid); }
-+	SYS_FUTEX          = 83  // { int sys_futex(uint32_t *f, int op, int val, const struct timespec *timeout, uint32_t *g); }
-+	SYS_UTIMENSAT      = 84  // { int sys_utimensat(int fd, const char *path, const struct timespec *times, int flag); }
-+	SYS_FUTIMENS       = 85  // { int sys_futimens(int fd, const struct timespec *times); }
-+	SYS_KBIND          = 86  // { int sys_kbind(const struct __kbind *param, size_t psize, int64_t proc_cookie); }
-+	SYS_CLOCK_GETTIME  = 87  // { int sys_clock_gettime(clockid_t clock_id, struct timespec *tp); }
-+	SYS_CLOCK_SETTIME  = 88  // { int sys_clock_settime(clockid_t clock_id, const struct timespec *tp); }
-+	SYS_CLOCK_GETRES   = 89  // { int sys_clock_getres(clockid_t clock_id, struct timespec *tp); }
- 	SYS_DUP2           = 90  // { int sys_dup2(int from, int to); }
--	SYS_NANOSLEEP      = 91  // { int sys_nanosleep(const struct timespec *rqtp, \
-+	SYS_NANOSLEEP      = 91  // { int sys_nanosleep(const struct timespec *rqtp, struct timespec *rmtp); }
- 	SYS_FCNTL          = 92  // { int sys_fcntl(int fd, int cmd, ... void *arg); }
--	SYS___THRSLEEP     = 94  // { int sys___thrsleep(const volatile void *ident, \
-+	SYS_ACCEPT4        = 93  // { int sys_accept4(int s, struct sockaddr *name, socklen_t *anamelen, int flags); }
-+	SYS___THRSLEEP     = 94  // { int sys___thrsleep(const volatile void *ident, clockid_t clock_id, const struct timespec *tp, void *lock, const int *abort); }
- 	SYS_FSYNC          = 95  // { int sys_fsync(int fd); }
- 	SYS_SETPRIORITY    = 96  // { int sys_setpriority(int which, id_t who, int prio); }
- 	SYS_SOCKET         = 97  // { int sys_socket(int domain, int type, int protocol); }
--	SYS_CONNECT        = 98  // { int sys_connect(int s, const struct sockaddr *name, \
-+	SYS_CONNECT        = 98  // { int sys_connect(int s, const struct sockaddr *name, socklen_t namelen); }
- 	SYS_GETDENTS       = 99  // { int sys_getdents(int fd, void *buf, size_t buflen); }
- 	SYS_GETPRIORITY    = 100 // { int sys_getpriority(int which, id_t who); }
-+	SYS_PIPE2          = 101 // { int sys_pipe2(int *fdp, int flags); }
-+	SYS_DUP3           = 102 // { int sys_dup3(int from, int to, int flags); }
- 	SYS_SIGRETURN      = 103 // { int sys_sigreturn(struct sigcontext *sigcntxp); }
--	SYS_BIND           = 104 // { int sys_bind(int s, const struct sockaddr *name, \
--	SYS_SETSOCKOPT     = 105 // { int sys_setsockopt(int s, int level, int name, \
-+	SYS_BIND           = 104 // { int sys_bind(int s, const struct sockaddr *name, socklen_t namelen); }
-+	SYS_SETSOCKOPT     = 105 // { int sys_setsockopt(int s, int level, int name, const void *val, socklen_t valsize); }
- 	SYS_LISTEN         = 106 // { int sys_listen(int s, int backlog); }
--	SYS_PPOLL          = 109 // { int sys_ppoll(struct pollfd *fds, \
--	SYS_PSELECT        = 110 // { int sys_pselect(int nd, fd_set *in, fd_set *ou, \
-+	SYS_CHFLAGSAT      = 107 // { int sys_chflagsat(int fd, const char *path, u_int flags, int atflags); }
-+	SYS_PLEDGE         = 108 // { int sys_pledge(const char *promises, const char *execpromises); }
-+	SYS_PPOLL          = 109 // { int sys_ppoll(struct pollfd *fds, u_int nfds, const struct timespec *ts, const sigset_t *mask); }
-+	SYS_PSELECT        = 110 // { int sys_pselect(int nd, fd_set *in, fd_set *ou, fd_set *ex, const struct timespec *ts, const sigset_t *mask); }
- 	SYS_SIGSUSPEND     = 111 // { int sys_sigsuspend(int mask); }
--	SYS_GETSOCKOPT     = 118 // { int sys_getsockopt(int s, int level, int name, \
--	SYS_READV          = 120 // { ssize_t sys_readv(int fd, \
--	SYS_WRITEV         = 121 // { ssize_t sys_writev(int fd, \
-+	SYS_SENDSYSLOG     = 112 // { int sys_sendsyslog(const char *buf, size_t nbyte, int flags); }
-+	SYS_UNVEIL         = 114 // { int sys_unveil(const char *path, const char *permissions); }
-+	SYS_GETSOCKOPT     = 118 // { int sys_getsockopt(int s, int level, int name, void *val, socklen_t *avalsize); }
-+	SYS_THRKILL        = 119 // { int sys_thrkill(pid_t tid, int signum, void *tcb); }
-+	SYS_READV          = 120 // { ssize_t sys_readv(int fd, const struct iovec *iovp, int iovcnt); }
-+	SYS_WRITEV         = 121 // { ssize_t sys_writev(int fd, const struct iovec *iovp, int iovcnt); }
-+	SYS_KILL           = 122 // { int sys_kill(int pid, int signum); }
- 	SYS_FCHOWN         = 123 // { int sys_fchown(int fd, uid_t uid, gid_t gid); }
- 	SYS_FCHMOD         = 124 // { int sys_fchmod(int fd, mode_t mode); }
- 	SYS_SETREUID       = 126 // { int sys_setreuid(uid_t ruid, uid_t euid); }
-@@ -119,89 +129,90 @@ const (
- 	SYS_RENAME         = 128 // { int sys_rename(const char *from, const char *to); }
- 	SYS_FLOCK          = 131 // { int sys_flock(int fd, int how); }
- 	SYS_MKFIFO         = 132 // { int sys_mkfifo(const char *path, mode_t mode); }
--	SYS_SENDTO         = 133 // { ssize_t sys_sendto(int s, const void *buf, \
-+	SYS_SENDTO         = 133 // { ssize_t sys_sendto(int s, const void *buf, size_t len, int flags, const struct sockaddr *to, socklen_t tolen); }
- 	SYS_SHUTDOWN       = 134 // { int sys_shutdown(int s, int how); }
--	SYS_SOCKETPAIR     = 135 // { int sys_socketpair(int domain, int type, \
-+	SYS_SOCKETPAIR     = 135 // { int sys_socketpair(int domain, int type, int protocol, int *rsv); }
- 	SYS_MKDIR          = 136 // { int sys_mkdir(const char *path, mode_t mode); }
- 	SYS_RMDIR          = 137 // { int sys_rmdir(const char *path); }
--	SYS_ADJTIME        = 140 // { int sys_adjtime(const struct timeval *delta, \
-+	SYS_ADJTIME        = 140 // { int sys_adjtime(const struct timeval *delta, struct timeval *olddelta); }
-+	SYS_GETLOGIN_R     = 141 // { int sys_getlogin_r(char *namebuf, u_int namelen); }
- 	SYS_SETSID         = 147 // { int sys_setsid(void); }
--	SYS_QUOTACTL       = 148 // { int sys_quotactl(const char *path, int cmd, \
-+	SYS_QUOTACTL       = 148 // { int sys_quotactl(const char *path, int cmd, int uid, char *arg); }
- 	SYS_NFSSVC         = 155 // { int sys_nfssvc(int flag, void *argp); }
- 	SYS_GETFH          = 161 // { int sys_getfh(const char *fname, fhandle_t *fhp); }
- 	SYS_SYSARCH        = 165 // { int sys_sysarch(int op, void *parms); }
--	SYS_PREAD          = 173 // { ssize_t sys_pread(int fd, void *buf, \
--	SYS_PWRITE         = 174 // { ssize_t sys_pwrite(int fd, const void *buf, \
-+	SYS_PREAD          = 173 // { ssize_t sys_pread(int fd, void *buf, size_t nbyte, int pad, off_t offset); }
-+	SYS_PWRITE         = 174 // { ssize_t sys_pwrite(int fd, const void *buf, size_t nbyte, int pad, off_t offset); }
- 	SYS_SETGID         = 181 // { int sys_setgid(gid_t gid); }
- 	SYS_SETEGID        = 182 // { int sys_setegid(gid_t egid); }
- 	SYS_SETEUID        = 183 // { int sys_seteuid(uid_t euid); }
- 	SYS_PATHCONF       = 191 // { long sys_pathconf(const char *path, int name); }
- 	SYS_FPATHCONF      = 192 // { long sys_fpathconf(int fd, int name); }
- 	SYS_SWAPCTL        = 193 // { int sys_swapctl(int cmd, const void *arg, int misc); }
--	SYS_GETRLIMIT      = 194 // { int sys_getrlimit(int which, \
--	SYS_SETRLIMIT      = 195 // { int sys_setrlimit(int which, \
--	SYS_MMAP           = 197 // { void *sys_mmap(void *addr, size_t len, int prot, \
--	SYS_LSEEK          = 199 // { off_t sys_lseek(int fd, int pad, off_t offset, \
--	SYS_TRUNCATE       = 200 // { int sys_truncate(const char *path, int pad, \
-+	SYS_GETRLIMIT      = 194 // { int sys_getrlimit(int which, struct rlimit *rlp); }
-+	SYS_SETRLIMIT      = 195 // { int sys_setrlimit(int which, const struct rlimit *rlp); }
-+	SYS_MMAP           = 197 // { void *sys_mmap(void *addr, size_t len, int prot, int flags, int fd, long pad, off_t pos); }
-+	SYS_LSEEK          = 199 // { off_t sys_lseek(int fd, int pad, off_t offset, int whence); }
-+	SYS_TRUNCATE       = 200 // { int sys_truncate(const char *path, int pad, off_t length); }
- 	SYS_FTRUNCATE      = 201 // { int sys_ftruncate(int fd, int pad, off_t length); }
--	SYS___SYSCTL       = 202 // { int sys___sysctl(const int *name, u_int namelen, \
-+	SYS_SYSCTL         = 202 // { int sys_sysctl(const int *name, u_int namelen, void *old, size_t *oldlenp, void *new, size_t newlen); }
- 	SYS_MLOCK          = 203 // { int sys_mlock(const void *addr, size_t len); }
- 	SYS_MUNLOCK        = 204 // { int sys_munlock(const void *addr, size_t len); }
- 	SYS_GETPGID        = 207 // { pid_t sys_getpgid(pid_t pid); }
--	SYS_UTRACE         = 209 // { int sys_utrace(const char *label, const void *addr, \
-+	SYS_UTRACE         = 209 // { int sys_utrace(const char *label, const void *addr, size_t len); }
- 	SYS_SEMGET         = 221 // { int sys_semget(key_t key, int nsems, int semflg); }
- 	SYS_MSGGET         = 225 // { int sys_msgget(key_t key, int msgflg); }
--	SYS_MSGSND         = 226 // { int sys_msgsnd(int msqid, const void *msgp, size_t msgsz, \
--	SYS_MSGRCV         = 227 // { int sys_msgrcv(int msqid, void *msgp, size_t msgsz, \
--	SYS_SHMAT          = 228 // { void *sys_shmat(int shmid, const void *shmaddr, \
-+	SYS_MSGSND         = 226 // { int sys_msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg); }
-+	SYS_MSGRCV         = 227 // { int sys_msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg); }
-+	SYS_SHMAT          = 228 // { void *sys_shmat(int shmid, const void *shmaddr, int shmflg); }
- 	SYS_SHMDT          = 230 // { int sys_shmdt(const void *shmaddr); }
--	SYS_MINHERIT       = 250 // { int sys_minherit(void *addr, size_t len, \
--	SYS_POLL           = 252 // { int sys_poll(struct pollfd *fds, \
-+	SYS_MINHERIT       = 250 // { int sys_minherit(void *addr, size_t len, int inherit); }
-+	SYS_POLL           = 252 // { int sys_poll(struct pollfd *fds, u_int nfds, int timeout); }
- 	SYS_ISSETUGID      = 253 // { int sys_issetugid(void); }
- 	SYS_LCHOWN         = 254 // { int sys_lchown(const char *path, uid_t uid, gid_t gid); }
- 	SYS_GETSID         = 255 // { pid_t sys_getsid(pid_t pid); }
- 	SYS_MSYNC          = 256 // { int sys_msync(void *addr, size_t len, int flags); }
- 	SYS_PIPE           = 263 // { int sys_pipe(int *fdp); }
- 	SYS_FHOPEN         = 264 // { int sys_fhopen(const fhandle_t *fhp, int flags); }
--	SYS_PREADV         = 267 // { ssize_t sys_preadv(int fd, \
--	SYS_PWRITEV        = 268 // { ssize_t sys_pwritev(int fd, \
-+	SYS_PREADV         = 267 // { ssize_t sys_preadv(int fd, const struct iovec *iovp, int iovcnt, int pad, off_t offset); }
-+	SYS_PWRITEV        = 268 // { ssize_t sys_pwritev(int fd, const struct iovec *iovp, int iovcnt, int pad, off_t offset); }
- 	SYS_KQUEUE         = 269 // { int sys_kqueue(void); }
- 	SYS_MLOCKALL       = 271 // { int sys_mlockall(int flags); }
- 	SYS_MUNLOCKALL     = 272 // { int sys_munlockall(void); }
--	SYS_GETRESUID      = 281 // { int sys_getresuid(uid_t *ruid, uid_t *euid, \
--	SYS_SETRESUID      = 282 // { int sys_setresuid(uid_t ruid, uid_t euid, \
--	SYS_GETRESGID      = 283 // { int sys_getresgid(gid_t *rgid, gid_t *egid, \
--	SYS_SETRESGID      = 284 // { int sys_setresgid(gid_t rgid, gid_t egid, \
--	SYS_MQUERY         = 286 // { void *sys_mquery(void *addr, size_t len, int prot, \
-+	SYS_GETRESUID      = 281 // { int sys_getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); }
-+	SYS_SETRESUID      = 282 // { int sys_setresuid(uid_t ruid, uid_t euid, uid_t suid); }
-+	SYS_GETRESGID      = 283 // { int sys_getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); }
-+	SYS_SETRESGID      = 284 // { int sys_setresgid(gid_t rgid, gid_t egid, gid_t sgid); }
-+	SYS_MQUERY         = 286 // { void *sys_mquery(void *addr, size_t len, int prot, int flags, int fd, long pad, off_t pos); }
- 	SYS_CLOSEFROM      = 287 // { int sys_closefrom(int fd); }
--	SYS_SIGALTSTACK    = 288 // { int sys_sigaltstack(const struct sigaltstack *nss, \
-+	SYS_SIGALTSTACK    = 288 // { int sys_sigaltstack(const struct sigaltstack *nss, struct sigaltstack *oss); }
- 	SYS_SHMGET         = 289 // { int sys_shmget(key_t key, size_t size, int shmflg); }
--	SYS_SEMOP          = 290 // { int sys_semop(int semid, struct sembuf *sops, \
--	SYS_FHSTAT         = 294 // { int sys_fhstat(const fhandle_t *fhp, \
--	SYS___SEMCTL       = 295 // { int sys___semctl(int semid, int semnum, int cmd, \
--	SYS_SHMCTL         = 296 // { int sys_shmctl(int shmid, int cmd, \
--	SYS_MSGCTL         = 297 // { int sys_msgctl(int msqid, int cmd, \
-+	SYS_SEMOP          = 290 // { int sys_semop(int semid, struct sembuf *sops, size_t nsops); }
-+	SYS_FHSTAT         = 294 // { int sys_fhstat(const fhandle_t *fhp, struct stat *sb); }
-+	SYS___SEMCTL       = 295 // { int sys___semctl(int semid, int semnum, int cmd, union semun *arg); }
-+	SYS_SHMCTL         = 296 // { int sys_shmctl(int shmid, int cmd, struct shmid_ds *buf); }
-+	SYS_MSGCTL         = 297 // { int sys_msgctl(int msqid, int cmd, struct msqid_ds *buf); }
- 	SYS_SCHED_YIELD    = 298 // { int sys_sched_yield(void); }
- 	SYS_GETTHRID       = 299 // { pid_t sys_getthrid(void); }
--	SYS___THRWAKEUP    = 301 // { int sys___thrwakeup(const volatile void *ident, \
-+	SYS___THRWAKEUP    = 301 // { int sys___thrwakeup(const volatile void *ident, int n); }
- 	SYS___THREXIT      = 302 // { void sys___threxit(pid_t *notdead); }
--	SYS___THRSIGDIVERT = 303 // { int sys___thrsigdivert(sigset_t sigmask, \
-+	SYS___THRSIGDIVERT = 303 // { int sys___thrsigdivert(sigset_t sigmask, siginfo_t *info, const struct timespec *timeout); }
- 	SYS___GETCWD       = 304 // { int sys___getcwd(char *buf, size_t len); }
--	SYS_ADJFREQ        = 305 // { int sys_adjfreq(const int64_t *freq, \
-+	SYS_ADJFREQ        = 305 // { int sys_adjfreq(const int64_t *freq, int64_t *oldfreq); }
- 	SYS_SETRTABLE      = 310 // { int sys_setrtable(int rtableid); }
- 	SYS_GETRTABLE      = 311 // { int sys_getrtable(void); }
--	SYS_FACCESSAT      = 313 // { int sys_faccessat(int fd, const char *path, \
--	SYS_FCHMODAT       = 314 // { int sys_fchmodat(int fd, const char *path, \
--	SYS_FCHOWNAT       = 315 // { int sys_fchownat(int fd, const char *path, \
--	SYS_LINKAT         = 317 // { int sys_linkat(int fd1, const char *path1, int fd2, \
--	SYS_MKDIRAT        = 318 // { int sys_mkdirat(int fd, const char *path, \
--	SYS_MKFIFOAT       = 319 // { int sys_mkfifoat(int fd, const char *path, \
--	SYS_MKNODAT        = 320 // { int sys_mknodat(int fd, const char *path, \
--	SYS_OPENAT         = 321 // { int sys_openat(int fd, const char *path, int flags, \
--	SYS_READLINKAT     = 322 // { ssize_t sys_readlinkat(int fd, const char *path, \
--	SYS_RENAMEAT       = 323 // { int sys_renameat(int fromfd, const char *from, \
--	SYS_SYMLINKAT      = 324 // { int sys_symlinkat(const char *path, int fd, \
--	SYS_UNLINKAT       = 325 // { int sys_unlinkat(int fd, const char *path, \
-+	SYS_FACCESSAT      = 313 // { int sys_faccessat(int fd, const char *path, int amode, int flag); }
-+	SYS_FCHMODAT       = 314 // { int sys_fchmodat(int fd, const char *path, mode_t mode, int flag); }
-+	SYS_FCHOWNAT       = 315 // { int sys_fchownat(int fd, const char *path, uid_t uid, gid_t gid, int flag); }
-+	SYS_LINKAT         = 317 // { int sys_linkat(int fd1, const char *path1, int fd2, const char *path2, int flag); }
-+	SYS_MKDIRAT        = 318 // { int sys_mkdirat(int fd, const char *path, mode_t mode); }
-+	SYS_MKFIFOAT       = 319 // { int sys_mkfifoat(int fd, const char *path, mode_t mode); }
-+	SYS_MKNODAT        = 320 // { int sys_mknodat(int fd, const char *path, mode_t mode, dev_t dev); }
-+	SYS_OPENAT         = 321 // { int sys_openat(int fd, const char *path, int flags, ... mode_t mode); }
-+	SYS_READLINKAT     = 322 // { ssize_t sys_readlinkat(int fd, const char *path, char *buf, size_t count); }
-+	SYS_RENAMEAT       = 323 // { int sys_renameat(int fromfd, const char *from, int tofd, const char *to); }
-+	SYS_SYMLINKAT      = 324 // { int sys_symlinkat(const char *path, int fd, const char *link); }
-+	SYS_UNLINKAT       = 325 // { int sys_unlinkat(int fd, const char *path, int flag); }
- 	SYS___SET_TCB      = 329 // { void sys___set_tcb(void *tcb); }
- 	SYS___GET_TCB      = 330 // { void *sys___get_tcb(void); }
- )
-diff --git a/vendor/golang.org/x/sys/unix/zsysnum_openbsd_amd64.go b/vendor/golang.org/x/sys/unix/zsysnum_openbsd_amd64.go
-index bd28146d..f0dec6f0 100644
---- a/vendor/golang.org/x/sys/unix/zsysnum_openbsd_amd64.go
-+++ b/vendor/golang.org/x/sys/unix/zsysnum_openbsd_amd64.go
-@@ -1,5 +1,5 @@
--// mksysnum_openbsd.pl
--// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT
-+// go run mksysnum.go https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master
-+// Code generated by the command above; see README.md. DO NOT EDIT.
- 
- // +build amd64,openbsd
- 
-@@ -9,109 +9,119 @@ const (
- 	SYS_EXIT           = 1   // { void sys_exit(int rval); }
- 	SYS_FORK           = 2   // { int sys_fork(void); }
- 	SYS_READ           = 3   // { ssize_t sys_read(int fd, void *buf, size_t nbyte); }
--	SYS_WRITE          = 4   // { ssize_t sys_write(int fd, const void *buf, \
--	SYS_OPEN           = 5   // { int sys_open(const char *path, \
-+	SYS_WRITE          = 4   // { ssize_t sys_write(int fd, const void *buf, size_t nbyte); }
-+	SYS_OPEN           = 5   // { int sys_open(const char *path, int flags, ... mode_t mode); }
- 	SYS_CLOSE          = 6   // { int sys_close(int fd); }
--	SYS___TFORK        = 8   // { int sys___tfork(const struct __tfork *param, \
-+	SYS_GETENTROPY     = 7   // { int sys_getentropy(void *buf, size_t nbyte); }
-+	SYS___TFORK        = 8   // { int sys___tfork(const struct __tfork *param, size_t psize); }
- 	SYS_LINK           = 9   // { int sys_link(const char *path, const char *link); }
- 	SYS_UNLINK         = 10  // { int sys_unlink(const char *path); }
--	SYS_WAIT4          = 11  // { pid_t sys_wait4(pid_t pid, int *status, \
-+	SYS_WAIT4          = 11  // { pid_t sys_wait4(pid_t pid, int *status, int options, struct rusage *rusage); }
- 	SYS_CHDIR          = 12  // { int sys_chdir(const char *path); }
- 	SYS_FCHDIR         = 13  // { int sys_fchdir(int fd); }
--	SYS_MKNOD          = 14  // { int sys_mknod(const char *path, mode_t mode, \
-+	SYS_MKNOD          = 14  // { int sys_mknod(const char *path, mode_t mode, dev_t dev); }
- 	SYS_CHMOD          = 15  // { int sys_chmod(const char *path, mode_t mode); }
--	SYS_CHOWN          = 16  // { int sys_chown(const char *path, uid_t uid, \
-+	SYS_CHOWN          = 16  // { int sys_chown(const char *path, uid_t uid, gid_t gid); }
- 	SYS_OBREAK         = 17  // { int sys_obreak(char *nsize); } break
- 	SYS_GETDTABLECOUNT = 18  // { int sys_getdtablecount(void); }
--	SYS_GETRUSAGE      = 19  // { int sys_getrusage(int who, \
-+	SYS_GETRUSAGE      = 19  // { int sys_getrusage(int who, struct rusage *rusage); }
- 	SYS_GETPID         = 20  // { pid_t sys_getpid(void); }
--	SYS_MOUNT          = 21  // { int sys_mount(const char *type, const char *path, \
-+	SYS_MOUNT          = 21  // { int sys_mount(const char *type, const char *path, int flags, void *data); }
- 	SYS_UNMOUNT        = 22  // { int sys_unmount(const char *path, int flags); }
- 	SYS_SETUID         = 23  // { int sys_setuid(uid_t uid); }
- 	SYS_GETUID         = 24  // { uid_t sys_getuid(void); }
- 	SYS_GETEUID        = 25  // { uid_t sys_geteuid(void); }
--	SYS_PTRACE         = 26  // { int sys_ptrace(int req, pid_t pid, caddr_t addr, \
--	SYS_RECVMSG        = 27  // { ssize_t sys_recvmsg(int s, struct msghdr *msg, \
--	SYS_SENDMSG        = 28  // { ssize_t sys_sendmsg(int s, \
--	SYS_RECVFROM       = 29  // { ssize_t sys_recvfrom(int s, void *buf, size_t len, \
--	SYS_ACCEPT         = 30  // { int sys_accept(int s, struct sockaddr *name, \
--	SYS_GETPEERNAME    = 31  // { int sys_getpeername(int fdes, struct sockaddr *asa, \
--	SYS_GETSOCKNAME    = 32  // { int sys_getsockname(int fdes, struct sockaddr *asa, \
--	SYS_ACCESS         = 33  // { int sys_access(const char *path, int flags); }
-+	SYS_PTRACE         = 26  // { int sys_ptrace(int req, pid_t pid, caddr_t addr, int data); }
-+	SYS_RECVMSG        = 27  // { ssize_t sys_recvmsg(int s, struct msghdr *msg, int flags); }
-+	SYS_SENDMSG        = 28  // { ssize_t sys_sendmsg(int s, const struct msghdr *msg, int flags); }
-+	SYS_RECVFROM       = 29  // { ssize_t sys_recvfrom(int s, void *buf, size_t len, int flags, struct sockaddr *from, socklen_t *fromlenaddr); }
-+	SYS_ACCEPT         = 30  // { int sys_accept(int s, struct sockaddr *name, socklen_t *anamelen); }
-+	SYS_GETPEERNAME    = 31  // { int sys_getpeername(int fdes, struct sockaddr *asa, socklen_t *alen); }
-+	SYS_GETSOCKNAME    = 32  // { int sys_getsockname(int fdes, struct sockaddr *asa, socklen_t *alen); }
-+	SYS_ACCESS         = 33  // { int sys_access(const char *path, int amode); }
- 	SYS_CHFLAGS        = 34  // { int sys_chflags(const char *path, u_int flags); }
- 	SYS_FCHFLAGS       = 35  // { int sys_fchflags(int fd, u_int flags); }
- 	SYS_SYNC           = 36  // { void sys_sync(void); }
--	SYS_KILL           = 37  // { int sys_kill(int pid, int signum); }
- 	SYS_STAT           = 38  // { int sys_stat(const char *path, struct stat *ub); }
- 	SYS_GETPPID        = 39  // { pid_t sys_getppid(void); }
- 	SYS_LSTAT          = 40  // { int sys_lstat(const char *path, struct stat *ub); }
- 	SYS_DUP            = 41  // { int sys_dup(int fd); }
--	SYS_FSTATAT        = 42  // { int sys_fstatat(int fd, const char *path, \
-+	SYS_FSTATAT        = 42  // { int sys_fstatat(int fd, const char *path, struct stat *buf, int flag); }
- 	SYS_GETEGID        = 43  // { gid_t sys_getegid(void); }
--	SYS_PROFIL         = 44  // { int sys_profil(caddr_t samples, size_t size, \
--	SYS_KTRACE         = 45  // { int sys_ktrace(const char *fname, int ops, \
--	SYS_SIGACTION      = 46  // { int sys_sigaction(int signum, \
-+	SYS_PROFIL         = 44  // { int sys_profil(caddr_t samples, size_t size, u_long offset, u_int scale); }
-+	SYS_KTRACE         = 45  // { int sys_ktrace(const char *fname, int ops, int facs, pid_t pid); }
-+	SYS_SIGACTION      = 46  // { int sys_sigaction(int signum, const struct sigaction *nsa, struct sigaction *osa); }
- 	SYS_GETGID         = 47  // { gid_t sys_getgid(void); }
- 	SYS_SIGPROCMASK    = 48  // { int sys_sigprocmask(int how, sigset_t mask); }
--	SYS_GETLOGIN       = 49  // { int sys_getlogin(char *namebuf, u_int namelen); }
- 	SYS_SETLOGIN       = 50  // { int sys_setlogin(const char *namebuf); }
- 	SYS_ACCT           = 51  // { int sys_acct(const char *path); }
- 	SYS_SIGPENDING     = 52  // { int sys_sigpending(void); }
- 	SYS_FSTAT          = 53  // { int sys_fstat(int fd, struct stat *sb); }
--	SYS_IOCTL          = 54  // { int sys_ioctl(int fd, \
-+	SYS_IOCTL          = 54  // { int sys_ioctl(int fd, u_long com, ... void *data); }
- 	SYS_REBOOT         = 55  // { int sys_reboot(int opt); }
- 	SYS_REVOKE         = 56  // { int sys_revoke(const char *path); }
--	SYS_SYMLINK        = 57  // { int sys_symlink(const char *path, \
--	SYS_READLINK       = 58  // { int sys_readlink(const char *path, char *buf, \
--	SYS_EXECVE         = 59  // { int sys_execve(const char *path, \
-+	SYS_SYMLINK        = 57  // { int sys_symlink(const char *path, const char *link); }
-+	SYS_READLINK       = 58  // { ssize_t sys_readlink(const char *path, char *buf, size_t count); }
-+	SYS_EXECVE         = 59  // { int sys_execve(const char *path, char * const *argp, char * const *envp); }
- 	SYS_UMASK          = 60  // { mode_t sys_umask(mode_t newmask); }
- 	SYS_CHROOT         = 61  // { int sys_chroot(const char *path); }
--	SYS_GETFSSTAT      = 62  // { int sys_getfsstat(struct statfs *buf, size_t bufsize, \
--	SYS_STATFS         = 63  // { int sys_statfs(const char *path, \
-+	SYS_GETFSSTAT      = 62  // { int sys_getfsstat(struct statfs *buf, size_t bufsize, int flags); }
-+	SYS_STATFS         = 63  // { int sys_statfs(const char *path, struct statfs *buf); }
- 	SYS_FSTATFS        = 64  // { int sys_fstatfs(int fd, struct statfs *buf); }
--	SYS_FHSTATFS       = 65  // { int sys_fhstatfs(const fhandle_t *fhp, \
-+	SYS_FHSTATFS       = 65  // { int sys_fhstatfs(const fhandle_t *fhp, struct statfs *buf); }
- 	SYS_VFORK          = 66  // { int sys_vfork(void); }
--	SYS_GETTIMEOFDAY   = 67  // { int sys_gettimeofday(struct timeval *tp, \
--	SYS_SETTIMEOFDAY   = 68  // { int sys_settimeofday(const struct timeval *tv, \
--	SYS_SETITIMER      = 69  // { int sys_setitimer(int which, \
--	SYS_GETITIMER      = 70  // { int sys_getitimer(int which, \
--	SYS_SELECT         = 71  // { int sys_select(int nd, fd_set *in, fd_set *ou, \
--	SYS_KEVENT         = 72  // { int sys_kevent(int fd, \
-+	SYS_GETTIMEOFDAY   = 67  // { int sys_gettimeofday(struct timeval *tp, struct timezone *tzp); }
-+	SYS_SETTIMEOFDAY   = 68  // { int sys_settimeofday(const struct timeval *tv, const struct timezone *tzp); }
-+	SYS_SETITIMER      = 69  // { int sys_setitimer(int which, const struct itimerval *itv, struct itimerval *oitv); }
-+	SYS_GETITIMER      = 70  // { int sys_getitimer(int which, struct itimerval *itv); }
-+	SYS_SELECT         = 71  // { int sys_select(int nd, fd_set *in, fd_set *ou, fd_set *ex, struct timeval *tv); }
-+	SYS_KEVENT         = 72  // { int sys_kevent(int fd, const struct kevent *changelist, int nchanges, struct kevent *eventlist, int nevents, const struct timespec *timeout); }
- 	SYS_MUNMAP         = 73  // { int sys_munmap(void *addr, size_t len); }
--	SYS_MPROTECT       = 74  // { int sys_mprotect(void *addr, size_t len, \
--	SYS_MADVISE        = 75  // { int sys_madvise(void *addr, size_t len, \
--	SYS_UTIMES         = 76  // { int sys_utimes(const char *path, \
--	SYS_FUTIMES        = 77  // { int sys_futimes(int fd, \
--	SYS_MINCORE        = 78  // { int sys_mincore(void *addr, size_t len, \
--	SYS_GETGROUPS      = 79  // { int sys_getgroups(int gidsetsize, \
--	SYS_SETGROUPS      = 80  // { int sys_setgroups(int gidsetsize, \
-+	SYS_MPROTECT       = 74  // { int sys_mprotect(void *addr, size_t len, int prot); }
-+	SYS_MADVISE        = 75  // { int sys_madvise(void *addr, size_t len, int behav); }
-+	SYS_UTIMES         = 76  // { int sys_utimes(const char *path, const struct timeval *tptr); }
-+	SYS_FUTIMES        = 77  // { int sys_futimes(int fd, const struct timeval *tptr); }
-+	SYS_MINCORE        = 78  // { int sys_mincore(void *addr, size_t len, char *vec); }
-+	SYS_GETGROUPS      = 79  // { int sys_getgroups(int gidsetsize, gid_t *gidset); }
-+	SYS_SETGROUPS      = 80  // { int sys_setgroups(int gidsetsize, const gid_t *gidset); }
- 	SYS_GETPGRP        = 81  // { int sys_getpgrp(void); }
--	SYS_SETPGID        = 82  // { int sys_setpgid(pid_t pid, int pgid); }
--	SYS_UTIMENSAT      = 84  // { int sys_utimensat(int fd, const char *path, \
--	SYS_FUTIMENS       = 85  // { int sys_futimens(int fd, \
--	SYS_CLOCK_GETTIME  = 87  // { int sys_clock_gettime(clockid_t clock_id, \
--	SYS_CLOCK_SETTIME  = 88  // { int sys_clock_settime(clockid_t clock_id, \
--	SYS_CLOCK_GETRES   = 89  // { int sys_clock_getres(clockid_t clock_id, \
-+	SYS_SETPGID        = 82  // { int sys_setpgid(pid_t pid, pid_t pgid); }
-+	SYS_FUTEX          = 83  // { int sys_futex(uint32_t *f, int op, int val, const struct timespec *timeout, uint32_t *g); }
-+	SYS_UTIMENSAT      = 84  // { int sys_utimensat(int fd, const char *path, const struct timespec *times, int flag); }
-+	SYS_FUTIMENS       = 85  // { int sys_futimens(int fd, const struct timespec *times); }
-+	SYS_KBIND          = 86  // { int sys_kbind(const struct __kbind *param, size_t psize, int64_t proc_cookie); }
-+	SYS_CLOCK_GETTIME  = 87  // { int sys_clock_gettime(clockid_t clock_id, struct timespec *tp); }
-+	SYS_CLOCK_SETTIME  = 88  // { int sys_clock_settime(clockid_t clock_id, const struct timespec *tp); }
-+	SYS_CLOCK_GETRES   = 89  // { int sys_clock_getres(clockid_t clock_id, struct timespec *tp); }
- 	SYS_DUP2           = 90  // { int sys_dup2(int from, int to); }
--	SYS_NANOSLEEP      = 91  // { int sys_nanosleep(const struct timespec *rqtp, \
-+	SYS_NANOSLEEP      = 91  // { int sys_nanosleep(const struct timespec *rqtp, struct timespec *rmtp); }
- 	SYS_FCNTL          = 92  // { int sys_fcntl(int fd, int cmd, ... void *arg); }
--	SYS___THRSLEEP     = 94  // { int sys___thrsleep(const volatile void *ident, \
-+	SYS_ACCEPT4        = 93  // { int sys_accept4(int s, struct sockaddr *name, socklen_t *anamelen, int flags); }
-+	SYS___THRSLEEP     = 94  // { int sys___thrsleep(const volatile void *ident, clockid_t clock_id, const struct timespec *tp, void *lock, const int *abort); }
- 	SYS_FSYNC          = 95  // { int sys_fsync(int fd); }
- 	SYS_SETPRIORITY    = 96  // { int sys_setpriority(int which, id_t who, int prio); }
- 	SYS_SOCKET         = 97  // { int sys_socket(int domain, int type, int protocol); }
--	SYS_CONNECT        = 98  // { int sys_connect(int s, const struct sockaddr *name, \
-+	SYS_CONNECT        = 98  // { int sys_connect(int s, const struct sockaddr *name, socklen_t namelen); }
- 	SYS_GETDENTS       = 99  // { int sys_getdents(int fd, void *buf, size_t buflen); }
- 	SYS_GETPRIORITY    = 100 // { int sys_getpriority(int which, id_t who); }
-+	SYS_PIPE2          = 101 // { int sys_pipe2(int *fdp, int flags); }
-+	SYS_DUP3           = 102 // { int sys_dup3(int from, int to, int flags); }
- 	SYS_SIGRETURN      = 103 // { int sys_sigreturn(struct sigcontext *sigcntxp); }
--	SYS_BIND           = 104 // { int sys_bind(int s, const struct sockaddr *name, \
--	SYS_SETSOCKOPT     = 105 // { int sys_setsockopt(int s, int level, int name, \
-+	SYS_BIND           = 104 // { int sys_bind(int s, const struct sockaddr *name, socklen_t namelen); }
-+	SYS_SETSOCKOPT     = 105 // { int sys_setsockopt(int s, int level, int name, const void *val, socklen_t valsize); }
- 	SYS_LISTEN         = 106 // { int sys_listen(int s, int backlog); }
--	SYS_PPOLL          = 109 // { int sys_ppoll(struct pollfd *fds, \
--	SYS_PSELECT        = 110 // { int sys_pselect(int nd, fd_set *in, fd_set *ou, \
-+	SYS_CHFLAGSAT      = 107 // { int sys_chflagsat(int fd, const char *path, u_int flags, int atflags); }
-+	SYS_PLEDGE         = 108 // { int sys_pledge(const char *promises, const char *execpromises); }
-+	SYS_PPOLL          = 109 // { int sys_ppoll(struct pollfd *fds, u_int nfds, const struct timespec *ts, const sigset_t *mask); }
-+	SYS_PSELECT        = 110 // { int sys_pselect(int nd, fd_set *in, fd_set *ou, fd_set *ex, const struct timespec *ts, const sigset_t *mask); }
- 	SYS_SIGSUSPEND     = 111 // { int sys_sigsuspend(int mask); }
--	SYS_GETSOCKOPT     = 118 // { int sys_getsockopt(int s, int level, int name, \
--	SYS_READV          = 120 // { ssize_t sys_readv(int fd, \
--	SYS_WRITEV         = 121 // { ssize_t sys_writev(int fd, \
-+	SYS_SENDSYSLOG     = 112 // { int sys_sendsyslog(const char *buf, size_t nbyte, int flags); }
-+	SYS_UNVEIL         = 114 // { int sys_unveil(const char *path, const char *permissions); }
-+	SYS_GETSOCKOPT     = 118 // { int sys_getsockopt(int s, int level, int name, void *val, socklen_t *avalsize); }
-+	SYS_THRKILL        = 119 // { int sys_thrkill(pid_t tid, int signum, void *tcb); }
-+	SYS_READV          = 120 // { ssize_t sys_readv(int fd, const struct iovec *iovp, int iovcnt); }
-+	SYS_WRITEV         = 121 // { ssize_t sys_writev(int fd, const struct iovec *iovp, int iovcnt); }
-+	SYS_KILL           = 122 // { int sys_kill(int pid, int signum); }
- 	SYS_FCHOWN         = 123 // { int sys_fchown(int fd, uid_t uid, gid_t gid); }
- 	SYS_FCHMOD         = 124 // { int sys_fchmod(int fd, mode_t mode); }
- 	SYS_SETREUID       = 126 // { int sys_setreuid(uid_t ruid, uid_t euid); }
-@@ -119,89 +129,90 @@ const (
- 	SYS_RENAME         = 128 // { int sys_rename(const char *from, const char *to); }
- 	SYS_FLOCK          = 131 // { int sys_flock(int fd, int how); }
- 	SYS_MKFIFO         = 132 // { int sys_mkfifo(const char *path, mode_t mode); }
--	SYS_SENDTO         = 133 // { ssize_t sys_sendto(int s, const void *buf, \
-+	SYS_SENDTO         = 133 // { ssize_t sys_sendto(int s, const void *buf, size_t len, int flags, const struct sockaddr *to, socklen_t tolen); }
- 	SYS_SHUTDOWN       = 134 // { int sys_shutdown(int s, int how); }
--	SYS_SOCKETPAIR     = 135 // { int sys_socketpair(int domain, int type, \
-+	SYS_SOCKETPAIR     = 135 // { int sys_socketpair(int domain, int type, int protocol, int *rsv); }
- 	SYS_MKDIR          = 136 // { int sys_mkdir(const char *path, mode_t mode); }
- 	SYS_RMDIR          = 137 // { int sys_rmdir(const char *path); }
--	SYS_ADJTIME        = 140 // { int sys_adjtime(const struct timeval *delta, \
-+	SYS_ADJTIME        = 140 // { int sys_adjtime(const struct timeval *delta, struct timeval *olddelta); }
-+	SYS_GETLOGIN_R     = 141 // { int sys_getlogin_r(char *namebuf, u_int namelen); }
- 	SYS_SETSID         = 147 // { int sys_setsid(void); }
--	SYS_QUOTACTL       = 148 // { int sys_quotactl(const char *path, int cmd, \
-+	SYS_QUOTACTL       = 148 // { int sys_quotactl(const char *path, int cmd, int uid, char *arg); }
- 	SYS_NFSSVC         = 155 // { int sys_nfssvc(int flag, void *argp); }
- 	SYS_GETFH          = 161 // { int sys_getfh(const char *fname, fhandle_t *fhp); }
- 	SYS_SYSARCH        = 165 // { int sys_sysarch(int op, void *parms); }
--	SYS_PREAD          = 173 // { ssize_t sys_pread(int fd, void *buf, \
--	SYS_PWRITE         = 174 // { ssize_t sys_pwrite(int fd, const void *buf, \
-+	SYS_PREAD          = 173 // { ssize_t sys_pread(int fd, void *buf, size_t nbyte, int pad, off_t offset); }
-+	SYS_PWRITE         = 174 // { ssize_t sys_pwrite(int fd, const void *buf, size_t nbyte, int pad, off_t offset); }
- 	SYS_SETGID         = 181 // { int sys_setgid(gid_t gid); }
- 	SYS_SETEGID        = 182 // { int sys_setegid(gid_t egid); }
- 	SYS_SETEUID        = 183 // { int sys_seteuid(uid_t euid); }
- 	SYS_PATHCONF       = 191 // { long sys_pathconf(const char *path, int name); }
- 	SYS_FPATHCONF      = 192 // { long sys_fpathconf(int fd, int name); }
- 	SYS_SWAPCTL        = 193 // { int sys_swapctl(int cmd, const void *arg, int misc); }
--	SYS_GETRLIMIT      = 194 // { int sys_getrlimit(int which, \
--	SYS_SETRLIMIT      = 195 // { int sys_setrlimit(int which, \
--	SYS_MMAP           = 197 // { void *sys_mmap(void *addr, size_t len, int prot, \
--	SYS_LSEEK          = 199 // { off_t sys_lseek(int fd, int pad, off_t offset, \
--	SYS_TRUNCATE       = 200 // { int sys_truncate(const char *path, int pad, \
-+	SYS_GETRLIMIT      = 194 // { int sys_getrlimit(int which, struct rlimit *rlp); }
-+	SYS_SETRLIMIT      = 195 // { int sys_setrlimit(int which, const struct rlimit *rlp); }
-+	SYS_MMAP           = 197 // { void *sys_mmap(void *addr, size_t len, int prot, int flags, int fd, long pad, off_t pos); }
-+	SYS_LSEEK          = 199 // { off_t sys_lseek(int fd, int pad, off_t offset, int whence); }
-+	SYS_TRUNCATE       = 200 // { int sys_truncate(const char *path, int pad, off_t length); }
- 	SYS_FTRUNCATE      = 201 // { int sys_ftruncate(int fd, int pad, off_t length); }
--	SYS___SYSCTL       = 202 // { int sys___sysctl(const int *name, u_int namelen, \
-+	SYS_SYSCTL         = 202 // { int sys_sysctl(const int *name, u_int namelen, void *old, size_t *oldlenp, void *new, size_t newlen); }
- 	SYS_MLOCK          = 203 // { int sys_mlock(const void *addr, size_t len); }
- 	SYS_MUNLOCK        = 204 // { int sys_munlock(const void *addr, size_t len); }
- 	SYS_GETPGID        = 207 // { pid_t sys_getpgid(pid_t pid); }
--	SYS_UTRACE         = 209 // { int sys_utrace(const char *label, const void *addr, \
-+	SYS_UTRACE         = 209 // { int sys_utrace(const char *label, const void *addr, size_t len); }
- 	SYS_SEMGET         = 221 // { int sys_semget(key_t key, int nsems, int semflg); }
- 	SYS_MSGGET         = 225 // { int sys_msgget(key_t key, int msgflg); }
--	SYS_MSGSND         = 226 // { int sys_msgsnd(int msqid, const void *msgp, size_t msgsz, \
--	SYS_MSGRCV         = 227 // { int sys_msgrcv(int msqid, void *msgp, size_t msgsz, \
--	SYS_SHMAT          = 228 // { void *sys_shmat(int shmid, const void *shmaddr, \
-+	SYS_MSGSND         = 226 // { int sys_msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg); }
-+	SYS_MSGRCV         = 227 // { int sys_msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg); }
-+	SYS_SHMAT          = 228 // { void *sys_shmat(int shmid, const void *shmaddr, int shmflg); }
- 	SYS_SHMDT          = 230 // { int sys_shmdt(const void *shmaddr); }
--	SYS_MINHERIT       = 250 // { int sys_minherit(void *addr, size_t len, \
--	SYS_POLL           = 252 // { int sys_poll(struct pollfd *fds, \
-+	SYS_MINHERIT       = 250 // { int sys_minherit(void *addr, size_t len, int inherit); }
-+	SYS_POLL           = 252 // { int sys_poll(struct pollfd *fds, u_int nfds, int timeout); }
- 	SYS_ISSETUGID      = 253 // { int sys_issetugid(void); }
- 	SYS_LCHOWN         = 254 // { int sys_lchown(const char *path, uid_t uid, gid_t gid); }
- 	SYS_GETSID         = 255 // { pid_t sys_getsid(pid_t pid); }
- 	SYS_MSYNC          = 256 // { int sys_msync(void *addr, size_t len, int flags); }
- 	SYS_PIPE           = 263 // { int sys_pipe(int *fdp); }
- 	SYS_FHOPEN         = 264 // { int sys_fhopen(const fhandle_t *fhp, int flags); }
--	SYS_PREADV         = 267 // { ssize_t sys_preadv(int fd, \
--	SYS_PWRITEV        = 268 // { ssize_t sys_pwritev(int fd, \
-+	SYS_PREADV         = 267 // { ssize_t sys_preadv(int fd, const struct iovec *iovp, int iovcnt, int pad, off_t offset); }
-+	SYS_PWRITEV        = 268 // { ssize_t sys_pwritev(int fd, const struct iovec *iovp, int iovcnt, int pad, off_t offset); }
- 	SYS_KQUEUE         = 269 // { int sys_kqueue(void); }
- 	SYS_MLOCKALL       = 271 // { int sys_mlockall(int flags); }
- 	SYS_MUNLOCKALL     = 272 // { int sys_munlockall(void); }
--	SYS_GETRESUID      = 281 // { int sys_getresuid(uid_t *ruid, uid_t *euid, \
--	SYS_SETRESUID      = 282 // { int sys_setresuid(uid_t ruid, uid_t euid, \
--	SYS_GETRESGID      = 283 // { int sys_getresgid(gid_t *rgid, gid_t *egid, \
--	SYS_SETRESGID      = 284 // { int sys_setresgid(gid_t rgid, gid_t egid, \
--	SYS_MQUERY         = 286 // { void *sys_mquery(void *addr, size_t len, int prot, \
-+	SYS_GETRESUID      = 281 // { int sys_getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); }
-+	SYS_SETRESUID      = 282 // { int sys_setresuid(uid_t ruid, uid_t euid, uid_t suid); }
-+	SYS_GETRESGID      = 283 // { int sys_getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); }
-+	SYS_SETRESGID      = 284 // { int sys_setresgid(gid_t rgid, gid_t egid, gid_t sgid); }
-+	SYS_MQUERY         = 286 // { void *sys_mquery(void *addr, size_t len, int prot, int flags, int fd, long pad, off_t pos); }
- 	SYS_CLOSEFROM      = 287 // { int sys_closefrom(int fd); }
--	SYS_SIGALTSTACK    = 288 // { int sys_sigaltstack(const struct sigaltstack *nss, \
-+	SYS_SIGALTSTACK    = 288 // { int sys_sigaltstack(const struct sigaltstack *nss, struct sigaltstack *oss); }
- 	SYS_SHMGET         = 289 // { int sys_shmget(key_t key, size_t size, int shmflg); }
--	SYS_SEMOP          = 290 // { int sys_semop(int semid, struct sembuf *sops, \
--	SYS_FHSTAT         = 294 // { int sys_fhstat(const fhandle_t *fhp, \
--	SYS___SEMCTL       = 295 // { int sys___semctl(int semid, int semnum, int cmd, \
--	SYS_SHMCTL         = 296 // { int sys_shmctl(int shmid, int cmd, \
--	SYS_MSGCTL         = 297 // { int sys_msgctl(int msqid, int cmd, \
-+	SYS_SEMOP          = 290 // { int sys_semop(int semid, struct sembuf *sops, size_t nsops); }
-+	SYS_FHSTAT         = 294 // { int sys_fhstat(const fhandle_t *fhp, struct stat *sb); }
-+	SYS___SEMCTL       = 295 // { int sys___semctl(int semid, int semnum, int cmd, union semun *arg); }
-+	SYS_SHMCTL         = 296 // { int sys_shmctl(int shmid, int cmd, struct shmid_ds *buf); }
-+	SYS_MSGCTL         = 297 // { int sys_msgctl(int msqid, int cmd, struct msqid_ds *buf); }
- 	SYS_SCHED_YIELD    = 298 // { int sys_sched_yield(void); }
- 	SYS_GETTHRID       = 299 // { pid_t sys_getthrid(void); }
--	SYS___THRWAKEUP    = 301 // { int sys___thrwakeup(const volatile void *ident, \
-+	SYS___THRWAKEUP    = 301 // { int sys___thrwakeup(const volatile void *ident, int n); }
- 	SYS___THREXIT      = 302 // { void sys___threxit(pid_t *notdead); }
--	SYS___THRSIGDIVERT = 303 // { int sys___thrsigdivert(sigset_t sigmask, \
-+	SYS___THRSIGDIVERT = 303 // { int sys___thrsigdivert(sigset_t sigmask, siginfo_t *info, const struct timespec *timeout); }
- 	SYS___GETCWD       = 304 // { int sys___getcwd(char *buf, size_t len); }
--	SYS_ADJFREQ        = 305 // { int sys_adjfreq(const int64_t *freq, \
-+	SYS_ADJFREQ        = 305 // { int sys_adjfreq(const int64_t *freq, int64_t *oldfreq); }
- 	SYS_SETRTABLE      = 310 // { int sys_setrtable(int rtableid); }
- 	SYS_GETRTABLE      = 311 // { int sys_getrtable(void); }
--	SYS_FACCESSAT      = 313 // { int sys_faccessat(int fd, const char *path, \
--	SYS_FCHMODAT       = 314 // { int sys_fchmodat(int fd, const char *path, \
--	SYS_FCHOWNAT       = 315 // { int sys_fchownat(int fd, const char *path, \
--	SYS_LINKAT         = 317 // { int sys_linkat(int fd1, const char *path1, int fd2, \
--	SYS_MKDIRAT        = 318 // { int sys_mkdirat(int fd, const char *path, \
--	SYS_MKFIFOAT       = 319 // { int sys_mkfifoat(int fd, const char *path, \
--	SYS_MKNODAT        = 320 // { int sys_mknodat(int fd, const char *path, \
--	SYS_OPENAT         = 321 // { int sys_openat(int fd, const char *path, int flags, \
--	SYS_READLINKAT     = 322 // { ssize_t sys_readlinkat(int fd, const char *path, \
--	SYS_RENAMEAT       = 323 // { int sys_renameat(int fromfd, const char *from, \
--	SYS_SYMLINKAT      = 324 // { int sys_symlinkat(const char *path, int fd, \
--	SYS_UNLINKAT       = 325 // { int sys_unlinkat(int fd, const char *path, \
-+	SYS_FACCESSAT      = 313 // { int sys_faccessat(int fd, const char *path, int amode, int flag); }
-+	SYS_FCHMODAT       = 314 // { int sys_fchmodat(int fd, const char *path, mode_t mode, int flag); }
-+	SYS_FCHOWNAT       = 315 // { int sys_fchownat(int fd, const char *path, uid_t uid, gid_t gid, int flag); }
-+	SYS_LINKAT         = 317 // { int sys_linkat(int fd1, const char *path1, int fd2, const char *path2, int flag); }
-+	SYS_MKDIRAT        = 318 // { int sys_mkdirat(int fd, const char *path, mode_t mode); }
-+	SYS_MKFIFOAT       = 319 // { int sys_mkfifoat(int fd, const char *path, mode_t mode); }
-+	SYS_MKNODAT        = 320 // { int sys_mknodat(int fd, const char *path, mode_t mode, dev_t dev); }
-+	SYS_OPENAT         = 321 // { int sys_openat(int fd, const char *path, int flags, ... mode_t mode); }
-+	SYS_READLINKAT     = 322 // { ssize_t sys_readlinkat(int fd, const char *path, char *buf, size_t count); }
-+	SYS_RENAMEAT       = 323 // { int sys_renameat(int fromfd, const char *from, int tofd, const char *to); }
-+	SYS_SYMLINKAT      = 324 // { int sys_symlinkat(const char *path, int fd, const char *link); }
-+	SYS_UNLINKAT       = 325 // { int sys_unlinkat(int fd, const char *path, int flag); }
- 	SYS___SET_TCB      = 329 // { void sys___set_tcb(void *tcb); }
- 	SYS___GET_TCB      = 330 // { void *sys___get_tcb(void); }
- )
-diff --git a/vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm.go b/vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm.go
-index 32653e53..33d1dc54 100644
---- a/vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm.go
-+++ b/vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm.go
-@@ -1,5 +1,5 @@
--// mksysnum_openbsd.pl
--// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT
-+// go run mksysnum.go https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master
-+// Code generated by the command above; see README.md. DO NOT EDIT.
- 
- // +build arm,openbsd
- 
-@@ -9,35 +9,35 @@ const (
- 	SYS_EXIT           = 1   // { void sys_exit(int rval); }
- 	SYS_FORK           = 2   // { int sys_fork(void); }
- 	SYS_READ           = 3   // { ssize_t sys_read(int fd, void *buf, size_t nbyte); }
--	SYS_WRITE          = 4   // { ssize_t sys_write(int fd, const void *buf, \
--	SYS_OPEN           = 5   // { int sys_open(const char *path, \
-+	SYS_WRITE          = 4   // { ssize_t sys_write(int fd, const void *buf, size_t nbyte); }
-+	SYS_OPEN           = 5   // { int sys_open(const char *path, int flags, ... mode_t mode); }
- 	SYS_CLOSE          = 6   // { int sys_close(int fd); }
- 	SYS_GETENTROPY     = 7   // { int sys_getentropy(void *buf, size_t nbyte); }
--	SYS___TFORK        = 8   // { int sys___tfork(const struct __tfork *param, \
-+	SYS___TFORK        = 8   // { int sys___tfork(const struct __tfork *param, size_t psize); }
- 	SYS_LINK           = 9   // { int sys_link(const char *path, const char *link); }
- 	SYS_UNLINK         = 10  // { int sys_unlink(const char *path); }
--	SYS_WAIT4          = 11  // { pid_t sys_wait4(pid_t pid, int *status, \
-+	SYS_WAIT4          = 11  // { pid_t sys_wait4(pid_t pid, int *status, int options, struct rusage *rusage); }
- 	SYS_CHDIR          = 12  // { int sys_chdir(const char *path); }
- 	SYS_FCHDIR         = 13  // { int sys_fchdir(int fd); }
--	SYS_MKNOD          = 14  // { int sys_mknod(const char *path, mode_t mode, \
-+	SYS_MKNOD          = 14  // { int sys_mknod(const char *path, mode_t mode, dev_t dev); }
- 	SYS_CHMOD          = 15  // { int sys_chmod(const char *path, mode_t mode); }
--	SYS_CHOWN          = 16  // { int sys_chown(const char *path, uid_t uid, \
-+	SYS_CHOWN          = 16  // { int sys_chown(const char *path, uid_t uid, gid_t gid); }
- 	SYS_OBREAK         = 17  // { int sys_obreak(char *nsize); } break
- 	SYS_GETDTABLECOUNT = 18  // { int sys_getdtablecount(void); }
--	SYS_GETRUSAGE      = 19  // { int sys_getrusage(int who, \
-+	SYS_GETRUSAGE      = 19  // { int sys_getrusage(int who, struct rusage *rusage); }
- 	SYS_GETPID         = 20  // { pid_t sys_getpid(void); }
--	SYS_MOUNT          = 21  // { int sys_mount(const char *type, const char *path, \
-+	SYS_MOUNT          = 21  // { int sys_mount(const char *type, const char *path, int flags, void *data); }
- 	SYS_UNMOUNT        = 22  // { int sys_unmount(const char *path, int flags); }
- 	SYS_SETUID         = 23  // { int sys_setuid(uid_t uid); }
- 	SYS_GETUID         = 24  // { uid_t sys_getuid(void); }
- 	SYS_GETEUID        = 25  // { uid_t sys_geteuid(void); }
--	SYS_PTRACE         = 26  // { int sys_ptrace(int req, pid_t pid, caddr_t addr, \
--	SYS_RECVMSG        = 27  // { ssize_t sys_recvmsg(int s, struct msghdr *msg, \
--	SYS_SENDMSG        = 28  // { ssize_t sys_sendmsg(int s, \
--	SYS_RECVFROM       = 29  // { ssize_t sys_recvfrom(int s, void *buf, size_t len, \
--	SYS_ACCEPT         = 30  // { int sys_accept(int s, struct sockaddr *name, \
--	SYS_GETPEERNAME    = 31  // { int sys_getpeername(int fdes, struct sockaddr *asa, \
--	SYS_GETSOCKNAME    = 32  // { int sys_getsockname(int fdes, struct sockaddr *asa, \
-+	SYS_PTRACE         = 26  // { int sys_ptrace(int req, pid_t pid, caddr_t addr, int data); }
-+	SYS_RECVMSG        = 27  // { ssize_t sys_recvmsg(int s, struct msghdr *msg, int flags); }
-+	SYS_SENDMSG        = 28  // { ssize_t sys_sendmsg(int s, const struct msghdr *msg, int flags); }
-+	SYS_RECVFROM       = 29  // { ssize_t sys_recvfrom(int s, void *buf, size_t len, int flags, struct sockaddr *from, socklen_t *fromlenaddr); }
-+	SYS_ACCEPT         = 30  // { int sys_accept(int s, struct sockaddr *name, socklen_t *anamelen); }
-+	SYS_GETPEERNAME    = 31  // { int sys_getpeername(int fdes, struct sockaddr *asa, socklen_t *alen); }
-+	SYS_GETSOCKNAME    = 32  // { int sys_getsockname(int fdes, struct sockaddr *asa, socklen_t *alen); }
- 	SYS_ACCESS         = 33  // { int sys_access(const char *path, int amode); }
- 	SYS_CHFLAGS        = 34  // { int sys_chflags(const char *path, u_int flags); }
- 	SYS_FCHFLAGS       = 35  // { int sys_fchflags(int fd, u_int flags); }
-@@ -46,77 +46,81 @@ const (
- 	SYS_GETPPID        = 39  // { pid_t sys_getppid(void); }
- 	SYS_LSTAT          = 40  // { int sys_lstat(const char *path, struct stat *ub); }
- 	SYS_DUP            = 41  // { int sys_dup(int fd); }
--	SYS_FSTATAT        = 42  // { int sys_fstatat(int fd, const char *path, \
-+	SYS_FSTATAT        = 42  // { int sys_fstatat(int fd, const char *path, struct stat *buf, int flag); }
- 	SYS_GETEGID        = 43  // { gid_t sys_getegid(void); }
--	SYS_PROFIL         = 44  // { int sys_profil(caddr_t samples, size_t size, \
--	SYS_KTRACE         = 45  // { int sys_ktrace(const char *fname, int ops, \
--	SYS_SIGACTION      = 46  // { int sys_sigaction(int signum, \
-+	SYS_PROFIL         = 44  // { int sys_profil(caddr_t samples, size_t size, u_long offset, u_int scale); }
-+	SYS_KTRACE         = 45  // { int sys_ktrace(const char *fname, int ops, int facs, pid_t pid); }
-+	SYS_SIGACTION      = 46  // { int sys_sigaction(int signum, const struct sigaction *nsa, struct sigaction *osa); }
- 	SYS_GETGID         = 47  // { gid_t sys_getgid(void); }
- 	SYS_SIGPROCMASK    = 48  // { int sys_sigprocmask(int how, sigset_t mask); }
--	SYS_GETLOGIN       = 49  // { int sys_getlogin(char *namebuf, u_int namelen); }
- 	SYS_SETLOGIN       = 50  // { int sys_setlogin(const char *namebuf); }
- 	SYS_ACCT           = 51  // { int sys_acct(const char *path); }
- 	SYS_SIGPENDING     = 52  // { int sys_sigpending(void); }
- 	SYS_FSTAT          = 53  // { int sys_fstat(int fd, struct stat *sb); }
--	SYS_IOCTL          = 54  // { int sys_ioctl(int fd, \
-+	SYS_IOCTL          = 54  // { int sys_ioctl(int fd, u_long com, ... void *data); }
- 	SYS_REBOOT         = 55  // { int sys_reboot(int opt); }
- 	SYS_REVOKE         = 56  // { int sys_revoke(const char *path); }
--	SYS_SYMLINK        = 57  // { int sys_symlink(const char *path, \
--	SYS_READLINK       = 58  // { ssize_t sys_readlink(const char *path, \
--	SYS_EXECVE         = 59  // { int sys_execve(const char *path, \
-+	SYS_SYMLINK        = 57  // { int sys_symlink(const char *path, const char *link); }
-+	SYS_READLINK       = 58  // { ssize_t sys_readlink(const char *path, char *buf, size_t count); }
-+	SYS_EXECVE         = 59  // { int sys_execve(const char *path, char * const *argp, char * const *envp); }
- 	SYS_UMASK          = 60  // { mode_t sys_umask(mode_t newmask); }
- 	SYS_CHROOT         = 61  // { int sys_chroot(const char *path); }
--	SYS_GETFSSTAT      = 62  // { int sys_getfsstat(struct statfs *buf, size_t bufsize, \
--	SYS_STATFS         = 63  // { int sys_statfs(const char *path, \
-+	SYS_GETFSSTAT      = 62  // { int sys_getfsstat(struct statfs *buf, size_t bufsize, int flags); }
-+	SYS_STATFS         = 63  // { int sys_statfs(const char *path, struct statfs *buf); }
- 	SYS_FSTATFS        = 64  // { int sys_fstatfs(int fd, struct statfs *buf); }
--	SYS_FHSTATFS       = 65  // { int sys_fhstatfs(const fhandle_t *fhp, \
-+	SYS_FHSTATFS       = 65  // { int sys_fhstatfs(const fhandle_t *fhp, struct statfs *buf); }
- 	SYS_VFORK          = 66  // { int sys_vfork(void); }
--	SYS_GETTIMEOFDAY   = 67  // { int sys_gettimeofday(struct timeval *tp, \
--	SYS_SETTIMEOFDAY   = 68  // { int sys_settimeofday(const struct timeval *tv, \
--	SYS_SETITIMER      = 69  // { int sys_setitimer(int which, \
--	SYS_GETITIMER      = 70  // { int sys_getitimer(int which, \
--	SYS_SELECT         = 71  // { int sys_select(int nd, fd_set *in, fd_set *ou, \
--	SYS_KEVENT         = 72  // { int sys_kevent(int fd, \
-+	SYS_GETTIMEOFDAY   = 67  // { int sys_gettimeofday(struct timeval *tp, struct timezone *tzp); }
-+	SYS_SETTIMEOFDAY   = 68  // { int sys_settimeofday(const struct timeval *tv, const struct timezone *tzp); }
-+	SYS_SETITIMER      = 69  // { int sys_setitimer(int which, const struct itimerval *itv, struct itimerval *oitv); }
-+	SYS_GETITIMER      = 70  // { int sys_getitimer(int which, struct itimerval *itv); }
-+	SYS_SELECT         = 71  // { int sys_select(int nd, fd_set *in, fd_set *ou, fd_set *ex, struct timeval *tv); }
-+	SYS_KEVENT         = 72  // { int sys_kevent(int fd, const struct kevent *changelist, int nchanges, struct kevent *eventlist, int nevents, const struct timespec *timeout); }
- 	SYS_MUNMAP         = 73  // { int sys_munmap(void *addr, size_t len); }
--	SYS_MPROTECT       = 74  // { int sys_mprotect(void *addr, size_t len, \
--	SYS_MADVISE        = 75  // { int sys_madvise(void *addr, size_t len, \
--	SYS_UTIMES         = 76  // { int sys_utimes(const char *path, \
--	SYS_FUTIMES        = 77  // { int sys_futimes(int fd, \
--	SYS_MINCORE        = 78  // { int sys_mincore(void *addr, size_t len, \
--	SYS_GETGROUPS      = 79  // { int sys_getgroups(int gidsetsize, \
--	SYS_SETGROUPS      = 80  // { int sys_setgroups(int gidsetsize, \
-+	SYS_MPROTECT       = 74  // { int sys_mprotect(void *addr, size_t len, int prot); }
-+	SYS_MADVISE        = 75  // { int sys_madvise(void *addr, size_t len, int behav); }
-+	SYS_UTIMES         = 76  // { int sys_utimes(const char *path, const struct timeval *tptr); }
-+	SYS_FUTIMES        = 77  // { int sys_futimes(int fd, const struct timeval *tptr); }
-+	SYS_MINCORE        = 78  // { int sys_mincore(void *addr, size_t len, char *vec); }
-+	SYS_GETGROUPS      = 79  // { int sys_getgroups(int gidsetsize, gid_t *gidset); }
-+	SYS_SETGROUPS      = 80  // { int sys_setgroups(int gidsetsize, const gid_t *gidset); }
- 	SYS_GETPGRP        = 81  // { int sys_getpgrp(void); }
- 	SYS_SETPGID        = 82  // { int sys_setpgid(pid_t pid, pid_t pgid); }
--	SYS_SENDSYSLOG     = 83  // { int sys_sendsyslog(const void *buf, size_t nbyte); }
--	SYS_UTIMENSAT      = 84  // { int sys_utimensat(int fd, const char *path, \
--	SYS_FUTIMENS       = 85  // { int sys_futimens(int fd, \
--	SYS_CLOCK_GETTIME  = 87  // { int sys_clock_gettime(clockid_t clock_id, \
--	SYS_CLOCK_SETTIME  = 88  // { int sys_clock_settime(clockid_t clock_id, \
--	SYS_CLOCK_GETRES   = 89  // { int sys_clock_getres(clockid_t clock_id, \
-+	SYS_FUTEX          = 83  // { int sys_futex(uint32_t *f, int op, int val, const struct timespec *timeout, uint32_t *g); }
-+	SYS_UTIMENSAT      = 84  // { int sys_utimensat(int fd, const char *path, const struct timespec *times, int flag); }
-+	SYS_FUTIMENS       = 85  // { int sys_futimens(int fd, const struct timespec *times); }
-+	SYS_KBIND          = 86  // { int sys_kbind(const struct __kbind *param, size_t psize, int64_t proc_cookie); }
-+	SYS_CLOCK_GETTIME  = 87  // { int sys_clock_gettime(clockid_t clock_id, struct timespec *tp); }
-+	SYS_CLOCK_SETTIME  = 88  // { int sys_clock_settime(clockid_t clock_id, const struct timespec *tp); }
-+	SYS_CLOCK_GETRES   = 89  // { int sys_clock_getres(clockid_t clock_id, struct timespec *tp); }
- 	SYS_DUP2           = 90  // { int sys_dup2(int from, int to); }
--	SYS_NANOSLEEP      = 91  // { int sys_nanosleep(const struct timespec *rqtp, \
-+	SYS_NANOSLEEP      = 91  // { int sys_nanosleep(const struct timespec *rqtp, struct timespec *rmtp); }
- 	SYS_FCNTL          = 92  // { int sys_fcntl(int fd, int cmd, ... void *arg); }
--	SYS_ACCEPT4        = 93  // { int sys_accept4(int s, struct sockaddr *name, \
--	SYS___THRSLEEP     = 94  // { int sys___thrsleep(const volatile void *ident, \
-+	SYS_ACCEPT4        = 93  // { int sys_accept4(int s, struct sockaddr *name, socklen_t *anamelen, int flags); }
-+	SYS___THRSLEEP     = 94  // { int sys___thrsleep(const volatile void *ident, clockid_t clock_id, const struct timespec *tp, void *lock, const int *abort); }
- 	SYS_FSYNC          = 95  // { int sys_fsync(int fd); }
- 	SYS_SETPRIORITY    = 96  // { int sys_setpriority(int which, id_t who, int prio); }
- 	SYS_SOCKET         = 97  // { int sys_socket(int domain, int type, int protocol); }
--	SYS_CONNECT        = 98  // { int sys_connect(int s, const struct sockaddr *name, \
-+	SYS_CONNECT        = 98  // { int sys_connect(int s, const struct sockaddr *name, socklen_t namelen); }
- 	SYS_GETDENTS       = 99  // { int sys_getdents(int fd, void *buf, size_t buflen); }
- 	SYS_GETPRIORITY    = 100 // { int sys_getpriority(int which, id_t who); }
- 	SYS_PIPE2          = 101 // { int sys_pipe2(int *fdp, int flags); }
- 	SYS_DUP3           = 102 // { int sys_dup3(int from, int to, int flags); }
- 	SYS_SIGRETURN      = 103 // { int sys_sigreturn(struct sigcontext *sigcntxp); }
--	SYS_BIND           = 104 // { int sys_bind(int s, const struct sockaddr *name, \
--	SYS_SETSOCKOPT     = 105 // { int sys_setsockopt(int s, int level, int name, \
-+	SYS_BIND           = 104 // { int sys_bind(int s, const struct sockaddr *name, socklen_t namelen); }
-+	SYS_SETSOCKOPT     = 105 // { int sys_setsockopt(int s, int level, int name, const void *val, socklen_t valsize); }
- 	SYS_LISTEN         = 106 // { int sys_listen(int s, int backlog); }
--	SYS_CHFLAGSAT      = 107 // { int sys_chflagsat(int fd, const char *path, \
--	SYS_PPOLL          = 109 // { int sys_ppoll(struct pollfd *fds, \
--	SYS_PSELECT        = 110 // { int sys_pselect(int nd, fd_set *in, fd_set *ou, \
-+	SYS_CHFLAGSAT      = 107 // { int sys_chflagsat(int fd, const char *path, u_int flags, int atflags); }
-+	SYS_PLEDGE         = 108 // { int sys_pledge(const char *promises, const char *execpromises); }
-+	SYS_PPOLL          = 109 // { int sys_ppoll(struct pollfd *fds, u_int nfds, const struct timespec *ts, const sigset_t *mask); }
-+	SYS_PSELECT        = 110 // { int sys_pselect(int nd, fd_set *in, fd_set *ou, fd_set *ex, const struct timespec *ts, const sigset_t *mask); }
- 	SYS_SIGSUSPEND     = 111 // { int sys_sigsuspend(int mask); }
--	SYS_GETSOCKOPT     = 118 // { int sys_getsockopt(int s, int level, int name, \
--	SYS_READV          = 120 // { ssize_t sys_readv(int fd, \
--	SYS_WRITEV         = 121 // { ssize_t sys_writev(int fd, \
-+	SYS_SENDSYSLOG     = 112 // { int sys_sendsyslog(const char *buf, size_t nbyte, int flags); }
-+	SYS_UNVEIL         = 114 // { int sys_unveil(const char *path, const char *permissions); }
-+	SYS_GETSOCKOPT     = 118 // { int sys_getsockopt(int s, int level, int name, void *val, socklen_t *avalsize); }
-+	SYS_THRKILL        = 119 // { int sys_thrkill(pid_t tid, int signum, void *tcb); }
-+	SYS_READV          = 120 // { ssize_t sys_readv(int fd, const struct iovec *iovp, int iovcnt); }
-+	SYS_WRITEV         = 121 // { ssize_t sys_writev(int fd, const struct iovec *iovp, int iovcnt); }
- 	SYS_KILL           = 122 // { int sys_kill(int pid, int signum); }
- 	SYS_FCHOWN         = 123 // { int sys_fchown(int fd, uid_t uid, gid_t gid); }
- 	SYS_FCHMOD         = 124 // { int sys_fchmod(int fd, mode_t mode); }
-@@ -125,89 +129,90 @@ const (
- 	SYS_RENAME         = 128 // { int sys_rename(const char *from, const char *to); }
- 	SYS_FLOCK          = 131 // { int sys_flock(int fd, int how); }
- 	SYS_MKFIFO         = 132 // { int sys_mkfifo(const char *path, mode_t mode); }
--	SYS_SENDTO         = 133 // { ssize_t sys_sendto(int s, const void *buf, \
-+	SYS_SENDTO         = 133 // { ssize_t sys_sendto(int s, const void *buf, size_t len, int flags, const struct sockaddr *to, socklen_t tolen); }
- 	SYS_SHUTDOWN       = 134 // { int sys_shutdown(int s, int how); }
--	SYS_SOCKETPAIR     = 135 // { int sys_socketpair(int domain, int type, \
-+	SYS_SOCKETPAIR     = 135 // { int sys_socketpair(int domain, int type, int protocol, int *rsv); }
- 	SYS_MKDIR          = 136 // { int sys_mkdir(const char *path, mode_t mode); }
- 	SYS_RMDIR          = 137 // { int sys_rmdir(const char *path); }
--	SYS_ADJTIME        = 140 // { int sys_adjtime(const struct timeval *delta, \
-+	SYS_ADJTIME        = 140 // { int sys_adjtime(const struct timeval *delta, struct timeval *olddelta); }
-+	SYS_GETLOGIN_R     = 141 // { int sys_getlogin_r(char *namebuf, u_int namelen); }
- 	SYS_SETSID         = 147 // { int sys_setsid(void); }
--	SYS_QUOTACTL       = 148 // { int sys_quotactl(const char *path, int cmd, \
-+	SYS_QUOTACTL       = 148 // { int sys_quotactl(const char *path, int cmd, int uid, char *arg); }
- 	SYS_NFSSVC         = 155 // { int sys_nfssvc(int flag, void *argp); }
- 	SYS_GETFH          = 161 // { int sys_getfh(const char *fname, fhandle_t *fhp); }
- 	SYS_SYSARCH        = 165 // { int sys_sysarch(int op, void *parms); }
--	SYS_PREAD          = 173 // { ssize_t sys_pread(int fd, void *buf, \
--	SYS_PWRITE         = 174 // { ssize_t sys_pwrite(int fd, const void *buf, \
-+	SYS_PREAD          = 173 // { ssize_t sys_pread(int fd, void *buf, size_t nbyte, int pad, off_t offset); }
-+	SYS_PWRITE         = 174 // { ssize_t sys_pwrite(int fd, const void *buf, size_t nbyte, int pad, off_t offset); }
- 	SYS_SETGID         = 181 // { int sys_setgid(gid_t gid); }
- 	SYS_SETEGID        = 182 // { int sys_setegid(gid_t egid); }
- 	SYS_SETEUID        = 183 // { int sys_seteuid(uid_t euid); }
- 	SYS_PATHCONF       = 191 // { long sys_pathconf(const char *path, int name); }
- 	SYS_FPATHCONF      = 192 // { long sys_fpathconf(int fd, int name); }
- 	SYS_SWAPCTL        = 193 // { int sys_swapctl(int cmd, const void *arg, int misc); }
--	SYS_GETRLIMIT      = 194 // { int sys_getrlimit(int which, \
--	SYS_SETRLIMIT      = 195 // { int sys_setrlimit(int which, \
--	SYS_MMAP           = 197 // { void *sys_mmap(void *addr, size_t len, int prot, \
--	SYS_LSEEK          = 199 // { off_t sys_lseek(int fd, int pad, off_t offset, \
--	SYS_TRUNCATE       = 200 // { int sys_truncate(const char *path, int pad, \
-+	SYS_GETRLIMIT      = 194 // { int sys_getrlimit(int which, struct rlimit *rlp); }
-+	SYS_SETRLIMIT      = 195 // { int sys_setrlimit(int which, const struct rlimit *rlp); }
-+	SYS_MMAP           = 197 // { void *sys_mmap(void *addr, size_t len, int prot, int flags, int fd, long pad, off_t pos); }
-+	SYS_LSEEK          = 199 // { off_t sys_lseek(int fd, int pad, off_t offset, int whence); }
-+	SYS_TRUNCATE       = 200 // { int sys_truncate(const char *path, int pad, off_t length); }
- 	SYS_FTRUNCATE      = 201 // { int sys_ftruncate(int fd, int pad, off_t length); }
--	SYS___SYSCTL       = 202 // { int sys___sysctl(const int *name, u_int namelen, \
-+	SYS_SYSCTL         = 202 // { int sys_sysctl(const int *name, u_int namelen, void *old, size_t *oldlenp, void *new, size_t newlen); }
- 	SYS_MLOCK          = 203 // { int sys_mlock(const void *addr, size_t len); }
- 	SYS_MUNLOCK        = 204 // { int sys_munlock(const void *addr, size_t len); }
- 	SYS_GETPGID        = 207 // { pid_t sys_getpgid(pid_t pid); }
--	SYS_UTRACE         = 209 // { int sys_utrace(const char *label, const void *addr, \
-+	SYS_UTRACE         = 209 // { int sys_utrace(const char *label, const void *addr, size_t len); }
- 	SYS_SEMGET         = 221 // { int sys_semget(key_t key, int nsems, int semflg); }
- 	SYS_MSGGET         = 225 // { int sys_msgget(key_t key, int msgflg); }
--	SYS_MSGSND         = 226 // { int sys_msgsnd(int msqid, const void *msgp, size_t msgsz, \
--	SYS_MSGRCV         = 227 // { int sys_msgrcv(int msqid, void *msgp, size_t msgsz, \
--	SYS_SHMAT          = 228 // { void *sys_shmat(int shmid, const void *shmaddr, \
-+	SYS_MSGSND         = 226 // { int sys_msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg); }
-+	SYS_MSGRCV         = 227 // { int sys_msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg); }
-+	SYS_SHMAT          = 228 // { void *sys_shmat(int shmid, const void *shmaddr, int shmflg); }
- 	SYS_SHMDT          = 230 // { int sys_shmdt(const void *shmaddr); }
--	SYS_MINHERIT       = 250 // { int sys_minherit(void *addr, size_t len, \
--	SYS_POLL           = 252 // { int sys_poll(struct pollfd *fds, \
-+	SYS_MINHERIT       = 250 // { int sys_minherit(void *addr, size_t len, int inherit); }
-+	SYS_POLL           = 252 // { int sys_poll(struct pollfd *fds, u_int nfds, int timeout); }
- 	SYS_ISSETUGID      = 253 // { int sys_issetugid(void); }
- 	SYS_LCHOWN         = 254 // { int sys_lchown(const char *path, uid_t uid, gid_t gid); }
- 	SYS_GETSID         = 255 // { pid_t sys_getsid(pid_t pid); }
- 	SYS_MSYNC          = 256 // { int sys_msync(void *addr, size_t len, int flags); }
- 	SYS_PIPE           = 263 // { int sys_pipe(int *fdp); }
- 	SYS_FHOPEN         = 264 // { int sys_fhopen(const fhandle_t *fhp, int flags); }
--	SYS_PREADV         = 267 // { ssize_t sys_preadv(int fd, \
--	SYS_PWRITEV        = 268 // { ssize_t sys_pwritev(int fd, \
-+	SYS_PREADV         = 267 // { ssize_t sys_preadv(int fd, const struct iovec *iovp, int iovcnt, int pad, off_t offset); }
-+	SYS_PWRITEV        = 268 // { ssize_t sys_pwritev(int fd, const struct iovec *iovp, int iovcnt, int pad, off_t offset); }
- 	SYS_KQUEUE         = 269 // { int sys_kqueue(void); }
- 	SYS_MLOCKALL       = 271 // { int sys_mlockall(int flags); }
- 	SYS_MUNLOCKALL     = 272 // { int sys_munlockall(void); }
--	SYS_GETRESUID      = 281 // { int sys_getresuid(uid_t *ruid, uid_t *euid, \
--	SYS_SETRESUID      = 282 // { int sys_setresuid(uid_t ruid, uid_t euid, \
--	SYS_GETRESGID      = 283 // { int sys_getresgid(gid_t *rgid, gid_t *egid, \
--	SYS_SETRESGID      = 284 // { int sys_setresgid(gid_t rgid, gid_t egid, \
--	SYS_MQUERY         = 286 // { void *sys_mquery(void *addr, size_t len, int prot, \
-+	SYS_GETRESUID      = 281 // { int sys_getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); }
-+	SYS_SETRESUID      = 282 // { int sys_setresuid(uid_t ruid, uid_t euid, uid_t suid); }
-+	SYS_GETRESGID      = 283 // { int sys_getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); }
-+	SYS_SETRESGID      = 284 // { int sys_setresgid(gid_t rgid, gid_t egid, gid_t sgid); }
-+	SYS_MQUERY         = 286 // { void *sys_mquery(void *addr, size_t len, int prot, int flags, int fd, long pad, off_t pos); }
- 	SYS_CLOSEFROM      = 287 // { int sys_closefrom(int fd); }
--	SYS_SIGALTSTACK    = 288 // { int sys_sigaltstack(const struct sigaltstack *nss, \
-+	SYS_SIGALTSTACK    = 288 // { int sys_sigaltstack(const struct sigaltstack *nss, struct sigaltstack *oss); }
- 	SYS_SHMGET         = 289 // { int sys_shmget(key_t key, size_t size, int shmflg); }
--	SYS_SEMOP          = 290 // { int sys_semop(int semid, struct sembuf *sops, \
--	SYS_FHSTAT         = 294 // { int sys_fhstat(const fhandle_t *fhp, \
--	SYS___SEMCTL       = 295 // { int sys___semctl(int semid, int semnum, int cmd, \
--	SYS_SHMCTL         = 296 // { int sys_shmctl(int shmid, int cmd, \
--	SYS_MSGCTL         = 297 // { int sys_msgctl(int msqid, int cmd, \
-+	SYS_SEMOP          = 290 // { int sys_semop(int semid, struct sembuf *sops, size_t nsops); }
-+	SYS_FHSTAT         = 294 // { int sys_fhstat(const fhandle_t *fhp, struct stat *sb); }
-+	SYS___SEMCTL       = 295 // { int sys___semctl(int semid, int semnum, int cmd, union semun *arg); }
-+	SYS_SHMCTL         = 296 // { int sys_shmctl(int shmid, int cmd, struct shmid_ds *buf); }
-+	SYS_MSGCTL         = 297 // { int sys_msgctl(int msqid, int cmd, struct msqid_ds *buf); }
- 	SYS_SCHED_YIELD    = 298 // { int sys_sched_yield(void); }
- 	SYS_GETTHRID       = 299 // { pid_t sys_getthrid(void); }
--	SYS___THRWAKEUP    = 301 // { int sys___thrwakeup(const volatile void *ident, \
-+	SYS___THRWAKEUP    = 301 // { int sys___thrwakeup(const volatile void *ident, int n); }
- 	SYS___THREXIT      = 302 // { void sys___threxit(pid_t *notdead); }
--	SYS___THRSIGDIVERT = 303 // { int sys___thrsigdivert(sigset_t sigmask, \
-+	SYS___THRSIGDIVERT = 303 // { int sys___thrsigdivert(sigset_t sigmask, siginfo_t *info, const struct timespec *timeout); }
- 	SYS___GETCWD       = 304 // { int sys___getcwd(char *buf, size_t len); }
--	SYS_ADJFREQ        = 305 // { int sys_adjfreq(const int64_t *freq, \
-+	SYS_ADJFREQ        = 305 // { int sys_adjfreq(const int64_t *freq, int64_t *oldfreq); }
- 	SYS_SETRTABLE      = 310 // { int sys_setrtable(int rtableid); }
- 	SYS_GETRTABLE      = 311 // { int sys_getrtable(void); }
--	SYS_FACCESSAT      = 313 // { int sys_faccessat(int fd, const char *path, \
--	SYS_FCHMODAT       = 314 // { int sys_fchmodat(int fd, const char *path, \
--	SYS_FCHOWNAT       = 315 // { int sys_fchownat(int fd, const char *path, \
--	SYS_LINKAT         = 317 // { int sys_linkat(int fd1, const char *path1, int fd2, \
--	SYS_MKDIRAT        = 318 // { int sys_mkdirat(int fd, const char *path, \
--	SYS_MKFIFOAT       = 319 // { int sys_mkfifoat(int fd, const char *path, \
--	SYS_MKNODAT        = 320 // { int sys_mknodat(int fd, const char *path, \
--	SYS_OPENAT         = 321 // { int sys_openat(int fd, const char *path, int flags, \
--	SYS_READLINKAT     = 322 // { ssize_t sys_readlinkat(int fd, const char *path, \
--	SYS_RENAMEAT       = 323 // { int sys_renameat(int fromfd, const char *from, \
--	SYS_SYMLINKAT      = 324 // { int sys_symlinkat(const char *path, int fd, \
--	SYS_UNLINKAT       = 325 // { int sys_unlinkat(int fd, const char *path, \
-+	SYS_FACCESSAT      = 313 // { int sys_faccessat(int fd, const char *path, int amode, int flag); }
-+	SYS_FCHMODAT       = 314 // { int sys_fchmodat(int fd, const char *path, mode_t mode, int flag); }
-+	SYS_FCHOWNAT       = 315 // { int sys_fchownat(int fd, const char *path, uid_t uid, gid_t gid, int flag); }
-+	SYS_LINKAT         = 317 // { int sys_linkat(int fd1, const char *path1, int fd2, const char *path2, int flag); }
-+	SYS_MKDIRAT        = 318 // { int sys_mkdirat(int fd, const char *path, mode_t mode); }
-+	SYS_MKFIFOAT       = 319 // { int sys_mkfifoat(int fd, const char *path, mode_t mode); }
-+	SYS_MKNODAT        = 320 // { int sys_mknodat(int fd, const char *path, mode_t mode, dev_t dev); }
-+	SYS_OPENAT         = 321 // { int sys_openat(int fd, const char *path, int flags, ... mode_t mode); }
-+	SYS_READLINKAT     = 322 // { ssize_t sys_readlinkat(int fd, const char *path, char *buf, size_t count); }
-+	SYS_RENAMEAT       = 323 // { int sys_renameat(int fromfd, const char *from, int tofd, const char *to); }
-+	SYS_SYMLINKAT      = 324 // { int sys_symlinkat(const char *path, int fd, const char *link); }
-+	SYS_UNLINKAT       = 325 // { int sys_unlinkat(int fd, const char *path, int flag); }
- 	SYS___SET_TCB      = 329 // { void sys___set_tcb(void *tcb); }
- 	SYS___GET_TCB      = 330 // { void *sys___get_tcb(void); }
- )
-diff --git a/vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm.go b/vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm64.go
-similarity index 67%
-copy from vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm.go
-copy to vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm64.go
-index 32653e53..fe2b689b 100644
---- a/vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm.go
-+++ b/vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm64.go
-@@ -1,7 +1,7 @@
--// mksysnum_openbsd.pl
--// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT
-+// go run mksysnum.go https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master
-+// Code generated by the command above; see README.md. DO NOT EDIT.
- 
--// +build arm,openbsd
-+// +build arm64,openbsd
- 
- package unix
- 
-@@ -9,35 +9,35 @@ const (
- 	SYS_EXIT           = 1   // { void sys_exit(int rval); }
- 	SYS_FORK           = 2   // { int sys_fork(void); }
- 	SYS_READ           = 3   // { ssize_t sys_read(int fd, void *buf, size_t nbyte); }
--	SYS_WRITE          = 4   // { ssize_t sys_write(int fd, const void *buf, \
--	SYS_OPEN           = 5   // { int sys_open(const char *path, \
-+	SYS_WRITE          = 4   // { ssize_t sys_write(int fd, const void *buf, size_t nbyte); }
-+	SYS_OPEN           = 5   // { int sys_open(const char *path, int flags, ... mode_t mode); }
- 	SYS_CLOSE          = 6   // { int sys_close(int fd); }
- 	SYS_GETENTROPY     = 7   // { int sys_getentropy(void *buf, size_t nbyte); }
--	SYS___TFORK        = 8   // { int sys___tfork(const struct __tfork *param, \
-+	SYS___TFORK        = 8   // { int sys___tfork(const struct __tfork *param, size_t psize); }
- 	SYS_LINK           = 9   // { int sys_link(const char *path, const char *link); }
- 	SYS_UNLINK         = 10  // { int sys_unlink(const char *path); }
--	SYS_WAIT4          = 11  // { pid_t sys_wait4(pid_t pid, int *status, \
-+	SYS_WAIT4          = 11  // { pid_t sys_wait4(pid_t pid, int *status, int options, struct rusage *rusage); }
- 	SYS_CHDIR          = 12  // { int sys_chdir(const char *path); }
- 	SYS_FCHDIR         = 13  // { int sys_fchdir(int fd); }
--	SYS_MKNOD          = 14  // { int sys_mknod(const char *path, mode_t mode, \
-+	SYS_MKNOD          = 14  // { int sys_mknod(const char *path, mode_t mode, dev_t dev); }
- 	SYS_CHMOD          = 15  // { int sys_chmod(const char *path, mode_t mode); }
--	SYS_CHOWN          = 16  // { int sys_chown(const char *path, uid_t uid, \
-+	SYS_CHOWN          = 16  // { int sys_chown(const char *path, uid_t uid, gid_t gid); }
- 	SYS_OBREAK         = 17  // { int sys_obreak(char *nsize); } break
- 	SYS_GETDTABLECOUNT = 18  // { int sys_getdtablecount(void); }
--	SYS_GETRUSAGE      = 19  // { int sys_getrusage(int who, \
-+	SYS_GETRUSAGE      = 19  // { int sys_getrusage(int who, struct rusage *rusage); }
- 	SYS_GETPID         = 20  // { pid_t sys_getpid(void); }
--	SYS_MOUNT          = 21  // { int sys_mount(const char *type, const char *path, \
-+	SYS_MOUNT          = 21  // { int sys_mount(const char *type, const char *path, int flags, void *data); }
- 	SYS_UNMOUNT        = 22  // { int sys_unmount(const char *path, int flags); }
- 	SYS_SETUID         = 23  // { int sys_setuid(uid_t uid); }
- 	SYS_GETUID         = 24  // { uid_t sys_getuid(void); }
- 	SYS_GETEUID        = 25  // { uid_t sys_geteuid(void); }
--	SYS_PTRACE         = 26  // { int sys_ptrace(int req, pid_t pid, caddr_t addr, \
--	SYS_RECVMSG        = 27  // { ssize_t sys_recvmsg(int s, struct msghdr *msg, \
--	SYS_SENDMSG        = 28  // { ssize_t sys_sendmsg(int s, \
--	SYS_RECVFROM       = 29  // { ssize_t sys_recvfrom(int s, void *buf, size_t len, \
--	SYS_ACCEPT         = 30  // { int sys_accept(int s, struct sockaddr *name, \
--	SYS_GETPEERNAME    = 31  // { int sys_getpeername(int fdes, struct sockaddr *asa, \
--	SYS_GETSOCKNAME    = 32  // { int sys_getsockname(int fdes, struct sockaddr *asa, \
-+	SYS_PTRACE         = 26  // { int sys_ptrace(int req, pid_t pid, caddr_t addr, int data); }
-+	SYS_RECVMSG        = 27  // { ssize_t sys_recvmsg(int s, struct msghdr *msg, int flags); }
-+	SYS_SENDMSG        = 28  // { ssize_t sys_sendmsg(int s, const struct msghdr *msg, int flags); }
-+	SYS_RECVFROM       = 29  // { ssize_t sys_recvfrom(int s, void *buf, size_t len, int flags, struct sockaddr *from, socklen_t *fromlenaddr); }
-+	SYS_ACCEPT         = 30  // { int sys_accept(int s, struct sockaddr *name, socklen_t *anamelen); }
-+	SYS_GETPEERNAME    = 31  // { int sys_getpeername(int fdes, struct sockaddr *asa, socklen_t *alen); }
-+	SYS_GETSOCKNAME    = 32  // { int sys_getsockname(int fdes, struct sockaddr *asa, socklen_t *alen); }
- 	SYS_ACCESS         = 33  // { int sys_access(const char *path, int amode); }
- 	SYS_CHFLAGS        = 34  // { int sys_chflags(const char *path, u_int flags); }
- 	SYS_FCHFLAGS       = 35  // { int sys_fchflags(int fd, u_int flags); }
-@@ -46,77 +46,80 @@ const (
- 	SYS_GETPPID        = 39  // { pid_t sys_getppid(void); }
- 	SYS_LSTAT          = 40  // { int sys_lstat(const char *path, struct stat *ub); }
- 	SYS_DUP            = 41  // { int sys_dup(int fd); }
--	SYS_FSTATAT        = 42  // { int sys_fstatat(int fd, const char *path, \
-+	SYS_FSTATAT        = 42  // { int sys_fstatat(int fd, const char *path, struct stat *buf, int flag); }
- 	SYS_GETEGID        = 43  // { gid_t sys_getegid(void); }
--	SYS_PROFIL         = 44  // { int sys_profil(caddr_t samples, size_t size, \
--	SYS_KTRACE         = 45  // { int sys_ktrace(const char *fname, int ops, \
--	SYS_SIGACTION      = 46  // { int sys_sigaction(int signum, \
-+	SYS_PROFIL         = 44  // { int sys_profil(caddr_t samples, size_t size, u_long offset, u_int scale); }
-+	SYS_KTRACE         = 45  // { int sys_ktrace(const char *fname, int ops, int facs, pid_t pid); }
-+	SYS_SIGACTION      = 46  // { int sys_sigaction(int signum, const struct sigaction *nsa, struct sigaction *osa); }
- 	SYS_GETGID         = 47  // { gid_t sys_getgid(void); }
- 	SYS_SIGPROCMASK    = 48  // { int sys_sigprocmask(int how, sigset_t mask); }
--	SYS_GETLOGIN       = 49  // { int sys_getlogin(char *namebuf, u_int namelen); }
- 	SYS_SETLOGIN       = 50  // { int sys_setlogin(const char *namebuf); }
- 	SYS_ACCT           = 51  // { int sys_acct(const char *path); }
- 	SYS_SIGPENDING     = 52  // { int sys_sigpending(void); }
- 	SYS_FSTAT          = 53  // { int sys_fstat(int fd, struct stat *sb); }
--	SYS_IOCTL          = 54  // { int sys_ioctl(int fd, \
-+	SYS_IOCTL          = 54  // { int sys_ioctl(int fd, u_long com, ... void *data); }
- 	SYS_REBOOT         = 55  // { int sys_reboot(int opt); }
- 	SYS_REVOKE         = 56  // { int sys_revoke(const char *path); }
--	SYS_SYMLINK        = 57  // { int sys_symlink(const char *path, \
--	SYS_READLINK       = 58  // { ssize_t sys_readlink(const char *path, \
--	SYS_EXECVE         = 59  // { int sys_execve(const char *path, \
-+	SYS_SYMLINK        = 57  // { int sys_symlink(const char *path, const char *link); }
-+	SYS_READLINK       = 58  // { ssize_t sys_readlink(const char *path, char *buf, size_t count); }
-+	SYS_EXECVE         = 59  // { int sys_execve(const char *path, char * const *argp, char * const *envp); }
- 	SYS_UMASK          = 60  // { mode_t sys_umask(mode_t newmask); }
- 	SYS_CHROOT         = 61  // { int sys_chroot(const char *path); }
--	SYS_GETFSSTAT      = 62  // { int sys_getfsstat(struct statfs *buf, size_t bufsize, \
--	SYS_STATFS         = 63  // { int sys_statfs(const char *path, \
-+	SYS_GETFSSTAT      = 62  // { int sys_getfsstat(struct statfs *buf, size_t bufsize, int flags); }
-+	SYS_STATFS         = 63  // { int sys_statfs(const char *path, struct statfs *buf); }
- 	SYS_FSTATFS        = 64  // { int sys_fstatfs(int fd, struct statfs *buf); }
--	SYS_FHSTATFS       = 65  // { int sys_fhstatfs(const fhandle_t *fhp, \
-+	SYS_FHSTATFS       = 65  // { int sys_fhstatfs(const fhandle_t *fhp, struct statfs *buf); }
- 	SYS_VFORK          = 66  // { int sys_vfork(void); }
--	SYS_GETTIMEOFDAY   = 67  // { int sys_gettimeofday(struct timeval *tp, \
--	SYS_SETTIMEOFDAY   = 68  // { int sys_settimeofday(const struct timeval *tv, \
--	SYS_SETITIMER      = 69  // { int sys_setitimer(int which, \
--	SYS_GETITIMER      = 70  // { int sys_getitimer(int which, \
--	SYS_SELECT         = 71  // { int sys_select(int nd, fd_set *in, fd_set *ou, \
--	SYS_KEVENT         = 72  // { int sys_kevent(int fd, \
-+	SYS_GETTIMEOFDAY   = 67  // { int sys_gettimeofday(struct timeval *tp, struct timezone *tzp); }
-+	SYS_SETTIMEOFDAY   = 68  // { int sys_settimeofday(const struct timeval *tv, const struct timezone *tzp); }
-+	SYS_SETITIMER      = 69  // { int sys_setitimer(int which, const struct itimerval *itv, struct itimerval *oitv); }
-+	SYS_GETITIMER      = 70  // { int sys_getitimer(int which, struct itimerval *itv); }
-+	SYS_SELECT         = 71  // { int sys_select(int nd, fd_set *in, fd_set *ou, fd_set *ex, struct timeval *tv); }
-+	SYS_KEVENT         = 72  // { int sys_kevent(int fd, const struct kevent *changelist, int nchanges, struct kevent *eventlist, int nevents, const struct timespec *timeout); }
- 	SYS_MUNMAP         = 73  // { int sys_munmap(void *addr, size_t len); }
--	SYS_MPROTECT       = 74  // { int sys_mprotect(void *addr, size_t len, \
--	SYS_MADVISE        = 75  // { int sys_madvise(void *addr, size_t len, \
--	SYS_UTIMES         = 76  // { int sys_utimes(const char *path, \
--	SYS_FUTIMES        = 77  // { int sys_futimes(int fd, \
--	SYS_MINCORE        = 78  // { int sys_mincore(void *addr, size_t len, \
--	SYS_GETGROUPS      = 79  // { int sys_getgroups(int gidsetsize, \
--	SYS_SETGROUPS      = 80  // { int sys_setgroups(int gidsetsize, \
-+	SYS_MPROTECT       = 74  // { int sys_mprotect(void *addr, size_t len, int prot); }
-+	SYS_MADVISE        = 75  // { int sys_madvise(void *addr, size_t len, int behav); }
-+	SYS_UTIMES         = 76  // { int sys_utimes(const char *path, const struct timeval *tptr); }
-+	SYS_FUTIMES        = 77  // { int sys_futimes(int fd, const struct timeval *tptr); }
-+	SYS_GETGROUPS      = 79  // { int sys_getgroups(int gidsetsize, gid_t *gidset); }
-+	SYS_SETGROUPS      = 80  // { int sys_setgroups(int gidsetsize, const gid_t *gidset); }
- 	SYS_GETPGRP        = 81  // { int sys_getpgrp(void); }
- 	SYS_SETPGID        = 82  // { int sys_setpgid(pid_t pid, pid_t pgid); }
--	SYS_SENDSYSLOG     = 83  // { int sys_sendsyslog(const void *buf, size_t nbyte); }
--	SYS_UTIMENSAT      = 84  // { int sys_utimensat(int fd, const char *path, \
--	SYS_FUTIMENS       = 85  // { int sys_futimens(int fd, \
--	SYS_CLOCK_GETTIME  = 87  // { int sys_clock_gettime(clockid_t clock_id, \
--	SYS_CLOCK_SETTIME  = 88  // { int sys_clock_settime(clockid_t clock_id, \
--	SYS_CLOCK_GETRES   = 89  // { int sys_clock_getres(clockid_t clock_id, \
-+	SYS_FUTEX          = 83  // { int sys_futex(uint32_t *f, int op, int val, const struct timespec *timeout, uint32_t *g); }
-+	SYS_UTIMENSAT      = 84  // { int sys_utimensat(int fd, const char *path, const struct timespec *times, int flag); }
-+	SYS_FUTIMENS       = 85  // { int sys_futimens(int fd, const struct timespec *times); }
-+	SYS_KBIND          = 86  // { int sys_kbind(const struct __kbind *param, size_t psize, int64_t proc_cookie); }
-+	SYS_CLOCK_GETTIME  = 87  // { int sys_clock_gettime(clockid_t clock_id, struct timespec *tp); }
-+	SYS_CLOCK_SETTIME  = 88  // { int sys_clock_settime(clockid_t clock_id, const struct timespec *tp); }
-+	SYS_CLOCK_GETRES   = 89  // { int sys_clock_getres(clockid_t clock_id, struct timespec *tp); }
- 	SYS_DUP2           = 90  // { int sys_dup2(int from, int to); }
--	SYS_NANOSLEEP      = 91  // { int sys_nanosleep(const struct timespec *rqtp, \
-+	SYS_NANOSLEEP      = 91  // { int sys_nanosleep(const struct timespec *rqtp, struct timespec *rmtp); }
- 	SYS_FCNTL          = 92  // { int sys_fcntl(int fd, int cmd, ... void *arg); }
--	SYS_ACCEPT4        = 93  // { int sys_accept4(int s, struct sockaddr *name, \
--	SYS___THRSLEEP     = 94  // { int sys___thrsleep(const volatile void *ident, \
-+	SYS_ACCEPT4        = 93  // { int sys_accept4(int s, struct sockaddr *name, socklen_t *anamelen, int flags); }
-+	SYS___THRSLEEP     = 94  // { int sys___thrsleep(const volatile void *ident, clockid_t clock_id, const struct timespec *tp, void *lock, const int *abort); }
- 	SYS_FSYNC          = 95  // { int sys_fsync(int fd); }
- 	SYS_SETPRIORITY    = 96  // { int sys_setpriority(int which, id_t who, int prio); }
- 	SYS_SOCKET         = 97  // { int sys_socket(int domain, int type, int protocol); }
--	SYS_CONNECT        = 98  // { int sys_connect(int s, const struct sockaddr *name, \
-+	SYS_CONNECT        = 98  // { int sys_connect(int s, const struct sockaddr *name, socklen_t namelen); }
- 	SYS_GETDENTS       = 99  // { int sys_getdents(int fd, void *buf, size_t buflen); }
- 	SYS_GETPRIORITY    = 100 // { int sys_getpriority(int which, id_t who); }
- 	SYS_PIPE2          = 101 // { int sys_pipe2(int *fdp, int flags); }
- 	SYS_DUP3           = 102 // { int sys_dup3(int from, int to, int flags); }
- 	SYS_SIGRETURN      = 103 // { int sys_sigreturn(struct sigcontext *sigcntxp); }
--	SYS_BIND           = 104 // { int sys_bind(int s, const struct sockaddr *name, \
--	SYS_SETSOCKOPT     = 105 // { int sys_setsockopt(int s, int level, int name, \
-+	SYS_BIND           = 104 // { int sys_bind(int s, const struct sockaddr *name, socklen_t namelen); }
-+	SYS_SETSOCKOPT     = 105 // { int sys_setsockopt(int s, int level, int name, const void *val, socklen_t valsize); }
- 	SYS_LISTEN         = 106 // { int sys_listen(int s, int backlog); }
--	SYS_CHFLAGSAT      = 107 // { int sys_chflagsat(int fd, const char *path, \
--	SYS_PPOLL          = 109 // { int sys_ppoll(struct pollfd *fds, \
--	SYS_PSELECT        = 110 // { int sys_pselect(int nd, fd_set *in, fd_set *ou, \
-+	SYS_CHFLAGSAT      = 107 // { int sys_chflagsat(int fd, const char *path, u_int flags, int atflags); }
-+	SYS_PLEDGE         = 108 // { int sys_pledge(const char *promises, const char *execpromises); }
-+	SYS_PPOLL          = 109 // { int sys_ppoll(struct pollfd *fds, u_int nfds, const struct timespec *ts, const sigset_t *mask); }
-+	SYS_PSELECT        = 110 // { int sys_pselect(int nd, fd_set *in, fd_set *ou, fd_set *ex, const struct timespec *ts, const sigset_t *mask); }
- 	SYS_SIGSUSPEND     = 111 // { int sys_sigsuspend(int mask); }
--	SYS_GETSOCKOPT     = 118 // { int sys_getsockopt(int s, int level, int name, \
--	SYS_READV          = 120 // { ssize_t sys_readv(int fd, \
--	SYS_WRITEV         = 121 // { ssize_t sys_writev(int fd, \
-+	SYS_SENDSYSLOG     = 112 // { int sys_sendsyslog(const char *buf, size_t nbyte, int flags); }
-+	SYS_UNVEIL         = 114 // { int sys_unveil(const char *path, const char *permissions); }
-+	SYS_GETSOCKOPT     = 118 // { int sys_getsockopt(int s, int level, int name, void *val, socklen_t *avalsize); }
-+	SYS_THRKILL        = 119 // { int sys_thrkill(pid_t tid, int signum, void *tcb); }
-+	SYS_READV          = 120 // { ssize_t sys_readv(int fd, const struct iovec *iovp, int iovcnt); }
-+	SYS_WRITEV         = 121 // { ssize_t sys_writev(int fd, const struct iovec *iovp, int iovcnt); }
- 	SYS_KILL           = 122 // { int sys_kill(int pid, int signum); }
- 	SYS_FCHOWN         = 123 // { int sys_fchown(int fd, uid_t uid, gid_t gid); }
- 	SYS_FCHMOD         = 124 // { int sys_fchmod(int fd, mode_t mode); }
-@@ -125,89 +128,90 @@ const (
- 	SYS_RENAME         = 128 // { int sys_rename(const char *from, const char *to); }
- 	SYS_FLOCK          = 131 // { int sys_flock(int fd, int how); }
- 	SYS_MKFIFO         = 132 // { int sys_mkfifo(const char *path, mode_t mode); }
--	SYS_SENDTO         = 133 // { ssize_t sys_sendto(int s, const void *buf, \
-+	SYS_SENDTO         = 133 // { ssize_t sys_sendto(int s, const void *buf, size_t len, int flags, const struct sockaddr *to, socklen_t tolen); }
- 	SYS_SHUTDOWN       = 134 // { int sys_shutdown(int s, int how); }
--	SYS_SOCKETPAIR     = 135 // { int sys_socketpair(int domain, int type, \
-+	SYS_SOCKETPAIR     = 135 // { int sys_socketpair(int domain, int type, int protocol, int *rsv); }
- 	SYS_MKDIR          = 136 // { int sys_mkdir(const char *path, mode_t mode); }
- 	SYS_RMDIR          = 137 // { int sys_rmdir(const char *path); }
--	SYS_ADJTIME        = 140 // { int sys_adjtime(const struct timeval *delta, \
-+	SYS_ADJTIME        = 140 // { int sys_adjtime(const struct timeval *delta, struct timeval *olddelta); }
-+	SYS_GETLOGIN_R     = 141 // { int sys_getlogin_r(char *namebuf, u_int namelen); }
- 	SYS_SETSID         = 147 // { int sys_setsid(void); }
--	SYS_QUOTACTL       = 148 // { int sys_quotactl(const char *path, int cmd, \
-+	SYS_QUOTACTL       = 148 // { int sys_quotactl(const char *path, int cmd, int uid, char *arg); }
- 	SYS_NFSSVC         = 155 // { int sys_nfssvc(int flag, void *argp); }
- 	SYS_GETFH          = 161 // { int sys_getfh(const char *fname, fhandle_t *fhp); }
- 	SYS_SYSARCH        = 165 // { int sys_sysarch(int op, void *parms); }
--	SYS_PREAD          = 173 // { ssize_t sys_pread(int fd, void *buf, \
--	SYS_PWRITE         = 174 // { ssize_t sys_pwrite(int fd, const void *buf, \
-+	SYS_PREAD          = 173 // { ssize_t sys_pread(int fd, void *buf, size_t nbyte, int pad, off_t offset); }
-+	SYS_PWRITE         = 174 // { ssize_t sys_pwrite(int fd, const void *buf, size_t nbyte, int pad, off_t offset); }
- 	SYS_SETGID         = 181 // { int sys_setgid(gid_t gid); }
- 	SYS_SETEGID        = 182 // { int sys_setegid(gid_t egid); }
- 	SYS_SETEUID        = 183 // { int sys_seteuid(uid_t euid); }
- 	SYS_PATHCONF       = 191 // { long sys_pathconf(const char *path, int name); }
- 	SYS_FPATHCONF      = 192 // { long sys_fpathconf(int fd, int name); }
- 	SYS_SWAPCTL        = 193 // { int sys_swapctl(int cmd, const void *arg, int misc); }
--	SYS_GETRLIMIT      = 194 // { int sys_getrlimit(int which, \
--	SYS_SETRLIMIT      = 195 // { int sys_setrlimit(int which, \
--	SYS_MMAP           = 197 // { void *sys_mmap(void *addr, size_t len, int prot, \
--	SYS_LSEEK          = 199 // { off_t sys_lseek(int fd, int pad, off_t offset, \
--	SYS_TRUNCATE       = 200 // { int sys_truncate(const char *path, int pad, \
-+	SYS_GETRLIMIT      = 194 // { int sys_getrlimit(int which, struct rlimit *rlp); }
-+	SYS_SETRLIMIT      = 195 // { int sys_setrlimit(int which, const struct rlimit *rlp); }
-+	SYS_MMAP           = 197 // { void *sys_mmap(void *addr, size_t len, int prot, int flags, int fd, long pad, off_t pos); }
-+	SYS_LSEEK          = 199 // { off_t sys_lseek(int fd, int pad, off_t offset, int whence); }
-+	SYS_TRUNCATE       = 200 // { int sys_truncate(const char *path, int pad, off_t length); }
- 	SYS_FTRUNCATE      = 201 // { int sys_ftruncate(int fd, int pad, off_t length); }
--	SYS___SYSCTL       = 202 // { int sys___sysctl(const int *name, u_int namelen, \
-+	SYS_SYSCTL         = 202 // { int sys_sysctl(const int *name, u_int namelen, void *old, size_t *oldlenp, void *new, size_t newlen); }
- 	SYS_MLOCK          = 203 // { int sys_mlock(const void *addr, size_t len); }
- 	SYS_MUNLOCK        = 204 // { int sys_munlock(const void *addr, size_t len); }
- 	SYS_GETPGID        = 207 // { pid_t sys_getpgid(pid_t pid); }
--	SYS_UTRACE         = 209 // { int sys_utrace(const char *label, const void *addr, \
-+	SYS_UTRACE         = 209 // { int sys_utrace(const char *label, const void *addr, size_t len); }
- 	SYS_SEMGET         = 221 // { int sys_semget(key_t key, int nsems, int semflg); }
- 	SYS_MSGGET         = 225 // { int sys_msgget(key_t key, int msgflg); }
--	SYS_MSGSND         = 226 // { int sys_msgsnd(int msqid, const void *msgp, size_t msgsz, \
--	SYS_MSGRCV         = 227 // { int sys_msgrcv(int msqid, void *msgp, size_t msgsz, \
--	SYS_SHMAT          = 228 // { void *sys_shmat(int shmid, const void *shmaddr, \
-+	SYS_MSGSND         = 226 // { int sys_msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg); }
-+	SYS_MSGRCV         = 227 // { int sys_msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg); }
-+	SYS_SHMAT          = 228 // { void *sys_shmat(int shmid, const void *shmaddr, int shmflg); }
- 	SYS_SHMDT          = 230 // { int sys_shmdt(const void *shmaddr); }
--	SYS_MINHERIT       = 250 // { int sys_minherit(void *addr, size_t len, \
--	SYS_POLL           = 252 // { int sys_poll(struct pollfd *fds, \
-+	SYS_MINHERIT       = 250 // { int sys_minherit(void *addr, size_t len, int inherit); }
-+	SYS_POLL           = 252 // { int sys_poll(struct pollfd *fds, u_int nfds, int timeout); }
- 	SYS_ISSETUGID      = 253 // { int sys_issetugid(void); }
- 	SYS_LCHOWN         = 254 // { int sys_lchown(const char *path, uid_t uid, gid_t gid); }
- 	SYS_GETSID         = 255 // { pid_t sys_getsid(pid_t pid); }
- 	SYS_MSYNC          = 256 // { int sys_msync(void *addr, size_t len, int flags); }
- 	SYS_PIPE           = 263 // { int sys_pipe(int *fdp); }
- 	SYS_FHOPEN         = 264 // { int sys_fhopen(const fhandle_t *fhp, int flags); }
--	SYS_PREADV         = 267 // { ssize_t sys_preadv(int fd, \
--	SYS_PWRITEV        = 268 // { ssize_t sys_pwritev(int fd, \
-+	SYS_PREADV         = 267 // { ssize_t sys_preadv(int fd, const struct iovec *iovp, int iovcnt, int pad, off_t offset); }
-+	SYS_PWRITEV        = 268 // { ssize_t sys_pwritev(int fd, const struct iovec *iovp, int iovcnt, int pad, off_t offset); }
- 	SYS_KQUEUE         = 269 // { int sys_kqueue(void); }
- 	SYS_MLOCKALL       = 271 // { int sys_mlockall(int flags); }
- 	SYS_MUNLOCKALL     = 272 // { int sys_munlockall(void); }
--	SYS_GETRESUID      = 281 // { int sys_getresuid(uid_t *ruid, uid_t *euid, \
--	SYS_SETRESUID      = 282 // { int sys_setresuid(uid_t ruid, uid_t euid, \
--	SYS_GETRESGID      = 283 // { int sys_getresgid(gid_t *rgid, gid_t *egid, \
--	SYS_SETRESGID      = 284 // { int sys_setresgid(gid_t rgid, gid_t egid, \
--	SYS_MQUERY         = 286 // { void *sys_mquery(void *addr, size_t len, int prot, \
-+	SYS_GETRESUID      = 281 // { int sys_getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); }
-+	SYS_SETRESUID      = 282 // { int sys_setresuid(uid_t ruid, uid_t euid, uid_t suid); }
-+	SYS_GETRESGID      = 283 // { int sys_getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); }
-+	SYS_SETRESGID      = 284 // { int sys_setresgid(gid_t rgid, gid_t egid, gid_t sgid); }
-+	SYS_MQUERY         = 286 // { void *sys_mquery(void *addr, size_t len, int prot, int flags, int fd, long pad, off_t pos); }
- 	SYS_CLOSEFROM      = 287 // { int sys_closefrom(int fd); }
--	SYS_SIGALTSTACK    = 288 // { int sys_sigaltstack(const struct sigaltstack *nss, \
-+	SYS_SIGALTSTACK    = 288 // { int sys_sigaltstack(const struct sigaltstack *nss, struct sigaltstack *oss); }
- 	SYS_SHMGET         = 289 // { int sys_shmget(key_t key, size_t size, int shmflg); }
--	SYS_SEMOP          = 290 // { int sys_semop(int semid, struct sembuf *sops, \
--	SYS_FHSTAT         = 294 // { int sys_fhstat(const fhandle_t *fhp, \
--	SYS___SEMCTL       = 295 // { int sys___semctl(int semid, int semnum, int cmd, \
--	SYS_SHMCTL         = 296 // { int sys_shmctl(int shmid, int cmd, \
--	SYS_MSGCTL         = 297 // { int sys_msgctl(int msqid, int cmd, \
-+	SYS_SEMOP          = 290 // { int sys_semop(int semid, struct sembuf *sops, size_t nsops); }
-+	SYS_FHSTAT         = 294 // { int sys_fhstat(const fhandle_t *fhp, struct stat *sb); }
-+	SYS___SEMCTL       = 295 // { int sys___semctl(int semid, int semnum, int cmd, union semun *arg); }
-+	SYS_SHMCTL         = 296 // { int sys_shmctl(int shmid, int cmd, struct shmid_ds *buf); }
-+	SYS_MSGCTL         = 297 // { int sys_msgctl(int msqid, int cmd, struct msqid_ds *buf); }
- 	SYS_SCHED_YIELD    = 298 // { int sys_sched_yield(void); }
- 	SYS_GETTHRID       = 299 // { pid_t sys_getthrid(void); }
--	SYS___THRWAKEUP    = 301 // { int sys___thrwakeup(const volatile void *ident, \
-+	SYS___THRWAKEUP    = 301 // { int sys___thrwakeup(const volatile void *ident, int n); }
- 	SYS___THREXIT      = 302 // { void sys___threxit(pid_t *notdead); }
--	SYS___THRSIGDIVERT = 303 // { int sys___thrsigdivert(sigset_t sigmask, \
-+	SYS___THRSIGDIVERT = 303 // { int sys___thrsigdivert(sigset_t sigmask, siginfo_t *info, const struct timespec *timeout); }
- 	SYS___GETCWD       = 304 // { int sys___getcwd(char *buf, size_t len); }
--	SYS_ADJFREQ        = 305 // { int sys_adjfreq(const int64_t *freq, \
-+	SYS_ADJFREQ        = 305 // { int sys_adjfreq(const int64_t *freq, int64_t *oldfreq); }
- 	SYS_SETRTABLE      = 310 // { int sys_setrtable(int rtableid); }
- 	SYS_GETRTABLE      = 311 // { int sys_getrtable(void); }
--	SYS_FACCESSAT      = 313 // { int sys_faccessat(int fd, const char *path, \
--	SYS_FCHMODAT       = 314 // { int sys_fchmodat(int fd, const char *path, \
--	SYS_FCHOWNAT       = 315 // { int sys_fchownat(int fd, const char *path, \
--	SYS_LINKAT         = 317 // { int sys_linkat(int fd1, const char *path1, int fd2, \
--	SYS_MKDIRAT        = 318 // { int sys_mkdirat(int fd, const char *path, \
--	SYS_MKFIFOAT       = 319 // { int sys_mkfifoat(int fd, const char *path, \
--	SYS_MKNODAT        = 320 // { int sys_mknodat(int fd, const char *path, \
--	SYS_OPENAT         = 321 // { int sys_openat(int fd, const char *path, int flags, \
--	SYS_READLINKAT     = 322 // { ssize_t sys_readlinkat(int fd, const char *path, \
--	SYS_RENAMEAT       = 323 // { int sys_renameat(int fromfd, const char *from, \
--	SYS_SYMLINKAT      = 324 // { int sys_symlinkat(const char *path, int fd, \
--	SYS_UNLINKAT       = 325 // { int sys_unlinkat(int fd, const char *path, \
-+	SYS_FACCESSAT      = 313 // { int sys_faccessat(int fd, const char *path, int amode, int flag); }
-+	SYS_FCHMODAT       = 314 // { int sys_fchmodat(int fd, const char *path, mode_t mode, int flag); }
-+	SYS_FCHOWNAT       = 315 // { int sys_fchownat(int fd, const char *path, uid_t uid, gid_t gid, int flag); }
-+	SYS_LINKAT         = 317 // { int sys_linkat(int fd1, const char *path1, int fd2, const char *path2, int flag); }
-+	SYS_MKDIRAT        = 318 // { int sys_mkdirat(int fd, const char *path, mode_t mode); }
-+	SYS_MKFIFOAT       = 319 // { int sys_mkfifoat(int fd, const char *path, mode_t mode); }
-+	SYS_MKNODAT        = 320 // { int sys_mknodat(int fd, const char *path, mode_t mode, dev_t dev); }
-+	SYS_OPENAT         = 321 // { int sys_openat(int fd, const char *path, int flags, ... mode_t mode); }
-+	SYS_READLINKAT     = 322 // { ssize_t sys_readlinkat(int fd, const char *path, char *buf, size_t count); }
-+	SYS_RENAMEAT       = 323 // { int sys_renameat(int fromfd, const char *from, int tofd, const char *to); }
-+	SYS_SYMLINKAT      = 324 // { int sys_symlinkat(const char *path, int fd, const char *link); }
-+	SYS_UNLINKAT       = 325 // { int sys_unlinkat(int fd, const char *path, int flag); }
- 	SYS___SET_TCB      = 329 // { void sys___set_tcb(void *tcb); }
- 	SYS___GET_TCB      = 330 // { void *sys___get_tcb(void); }
- )
-diff --git a/vendor/golang.org/x/sys/unix/zsysnum_solaris_amd64.go b/vendor/golang.org/x/sys/unix/zsysnum_solaris_amd64.go
-deleted file mode 100644
-index c7086598..00000000
---- a/vendor/golang.org/x/sys/unix/zsysnum_solaris_amd64.go
-+++ /dev/null
-@@ -1,13 +0,0 @@
--// Copyright 2014 The Go Authors. All rights reserved.
--// Use of this source code is governed by a BSD-style
--// license that can be found in the LICENSE file.
--
--// +build amd64,solaris
--
--package unix
--
--// TODO(aram): remove these before Go 1.3.
--const (
--	SYS_EXECVE = 59
--	SYS_FCNTL  = 62
--)
-diff --git a/vendor/golang.org/x/sys/unix/ztypes_aix_ppc.go b/vendor/golang.org/x/sys/unix/ztypes_aix_ppc.go
-new file mode 100644
-index 00000000..2c1f815e
---- /dev/null
-+++ b/vendor/golang.org/x/sys/unix/ztypes_aix_ppc.go
-@@ -0,0 +1,352 @@
-+// cgo -godefs types_aix.go | go run mkpost.go
-+// Code generated by the command above; see README.md. DO NOT EDIT.
-+
-+// +build ppc,aix
-+
-+package unix
-+
-+const (
-+	SizeofPtr      = 0x4
-+	SizeofShort    = 0x2
-+	SizeofInt      = 0x4
-+	SizeofLong     = 0x4
-+	SizeofLongLong = 0x8
-+	PathMax        = 0x3ff
-+)
-+
-+type (
-+	_C_short     int16
-+	_C_int       int32
-+	_C_long      int32
-+	_C_long_long int64
-+)
-+
-+type off64 int64
-+type off int32
-+type Mode_t uint32
-+
-+type Timespec struct {
-+	Sec  int32
-+	Nsec int32
-+}
-+
-+type Timeval struct {
-+	Sec  int32
-+	Usec int32
-+}
-+
-+type Timeval32 struct {
-+	Sec  int32
-+	Usec int32
-+}
-+
-+type Timex struct{}
-+
-+type Time_t int32
-+
-+type Tms struct{}
-+
-+type Utimbuf struct {
-+	Actime  int32
-+	Modtime int32
-+}
-+
-+type Timezone struct {
-+	Minuteswest int32
-+	Dsttime     int32
-+}
-+
-+type Rusage struct {
-+	Utime    Timeval
-+	Stime    Timeval
-+	Maxrss   int32
-+	Ixrss    int32
-+	Idrss    int32
-+	Isrss    int32
-+	Minflt   int32
-+	Majflt   int32
-+	Nswap    int32
-+	Inblock  int32
-+	Oublock  int32
-+	Msgsnd   int32
-+	Msgrcv   int32
-+	Nsignals int32
-+	Nvcsw    int32
-+	Nivcsw   int32
-+}
-+
-+type Rlimit struct {
-+	Cur uint64
-+	Max uint64
-+}
-+
-+type Pid_t int32
-+
-+type _Gid_t uint32
-+
-+type dev_t uint32
-+
-+type Stat_t struct {
-+	Dev      uint32
-+	Ino      uint32
-+	Mode     uint32
-+	Nlink    int16
-+	Flag     uint16
-+	Uid      uint32
-+	Gid      uint32
-+	Rdev     uint32
-+	Size     int32
-+	Atim     Timespec
-+	Mtim     Timespec
-+	Ctim     Timespec
-+	Blksize  int32
-+	Blocks   int32
-+	Vfstype  int32
-+	Vfs      uint32
-+	Type     uint32
-+	Gen      uint32
-+	Reserved [9]uint32
-+}
-+
-+type StatxTimestamp struct{}
-+
-+type Statx_t struct{}
-+
-+type Dirent struct {
-+	Offset uint32
-+	Ino    uint32
-+	Reclen uint16
-+	Namlen uint16
-+	Name   [256]uint8
-+}
-+
-+type RawSockaddrInet4 struct {
-+	Len    uint8
-+	Family uint8
-+	Port   uint16
-+	Addr   [4]byte /* in_addr */
-+	Zero   [8]uint8
-+}
-+
-+type RawSockaddrInet6 struct {
-+	Len      uint8
-+	Family   uint8
-+	Port     uint16
-+	Flowinfo uint32
-+	Addr     [16]byte /* in6_addr */
-+	Scope_id uint32
-+}
-+
-+type RawSockaddrUnix struct {
-+	Len    uint8
-+	Family uint8
-+	Path   [1023]uint8
-+}
-+
-+type RawSockaddrDatalink struct {
-+	Len    uint8
-+	Family uint8
-+	Index  uint16
-+	Type   uint8
-+	Nlen   uint8
-+	Alen   uint8
-+	Slen   uint8
-+	Data   [120]uint8
-+}
-+
-+type RawSockaddr struct {
-+	Len    uint8
-+	Family uint8
-+	Data   [14]uint8
-+}
-+
-+type RawSockaddrAny struct {
-+	Addr RawSockaddr
-+	Pad  [1012]uint8
-+}
-+
-+type _Socklen uint32
-+
-+type Cmsghdr struct {
-+	Len   uint32
-+	Level int32
-+	Type  int32
-+}
-+
-+type ICMPv6Filter struct {
-+	Filt [8]uint32
-+}
-+
-+type Iovec struct {
-+	Base *byte
-+	Len  uint32
-+}
-+
-+type IPMreq struct {
-+	Multiaddr [4]byte /* in_addr */
-+	Interface [4]byte /* in_addr */
-+}
-+
-+type IPv6Mreq struct {
-+	Multiaddr [16]byte /* in6_addr */
-+	Interface uint32
-+}
-+
-+type IPv6MTUInfo struct {
-+	Addr RawSockaddrInet6
-+	Mtu  uint32
-+}
-+
-+type Linger struct {
-+	Onoff  int32
-+	Linger int32
-+}
-+
-+type Msghdr struct {
-+	Name       *byte
-+	Namelen    uint32
-+	Iov        *Iovec
-+	Iovlen     int32
-+	Control    *byte
-+	Controllen uint32
-+	Flags      int32
-+}
-+
-+const (
-+	SizeofSockaddrInet4    = 0x10
-+	SizeofSockaddrInet6    = 0x1c
-+	SizeofSockaddrAny      = 0x404
-+	SizeofSockaddrUnix     = 0x401
-+	SizeofSockaddrDatalink = 0x80
-+	SizeofLinger           = 0x8
-+	SizeofIPMreq           = 0x8
-+	SizeofIPv6Mreq         = 0x14
-+	SizeofIPv6MTUInfo      = 0x20
-+	SizeofMsghdr           = 0x1c
-+	SizeofCmsghdr          = 0xc
-+	SizeofICMPv6Filter     = 0x20
-+)
-+
-+const (
-+	SizeofIfMsghdr = 0x10
-+)
-+
-+type IfMsgHdr struct {
-+	Msglen  uint16
-+	Version uint8
-+	Type    uint8
-+	Addrs   int32
-+	Flags   int32
-+	Index   uint16
-+	Addrlen uint8
-+	_       [1]byte
-+}
-+
-+type FdSet struct {
-+	Bits [2048]int32
-+}
-+
-+type Utsname struct {
-+	Sysname  [32]byte
-+	Nodename [32]byte
-+	Release  [32]byte
-+	Version  [32]byte
-+	Machine  [32]byte
-+}
-+
-+type Ustat_t struct{}
-+
-+type Sigset_t struct {
-+	Losigs uint32
-+	Hisigs uint32
-+}
-+
-+const (
-+	AT_FDCWD            = -0x2
-+	AT_REMOVEDIR        = 0x1
-+	AT_SYMLINK_NOFOLLOW = 0x1
-+)
-+
-+type Termios struct {
-+	Iflag uint32
-+	Oflag uint32
-+	Cflag uint32
-+	Lflag uint32
-+	Cc    [16]uint8
-+}
-+
-+type Termio struct {
-+	Iflag uint16
-+	Oflag uint16
-+	Cflag uint16
-+	Lflag uint16
-+	Line  uint8
-+	Cc    [8]uint8
-+	_     [1]byte
-+}
-+
-+type Winsize struct {
-+	Row    uint16
-+	Col    uint16
-+	Xpixel uint16
-+	Ypixel uint16
-+}
-+
-+type PollFd struct {
-+	Fd      int32
-+	Events  uint16
-+	Revents uint16
-+}
-+
-+const (
-+	POLLERR    = 0x4000
-+	POLLHUP    = 0x2000
-+	POLLIN     = 0x1
-+	POLLNVAL   = 0x8000
-+	POLLOUT    = 0x2
-+	POLLPRI    = 0x4
-+	POLLRDBAND = 0x20
-+	POLLRDNORM = 0x10
-+	POLLWRBAND = 0x40
-+	POLLWRNORM = 0x2
-+)
-+
-+type Flock_t struct {
-+	Type   int16
-+	Whence int16
-+	Sysid  uint32
-+	Pid    int32
-+	Vfs    int32
-+	Start  int64
-+	Len    int64
-+}
-+
-+type Fsid_t struct {
-+	Val [2]uint32
-+}
-+type Fsid64_t struct {
-+	Val [2]uint64
-+}
-+
-+type Statfs_t struct {
-+	Version   int32
-+	Type      int32
-+	Bsize     uint32
-+	Blocks    uint32
-+	Bfree     uint32
-+	Bavail    uint32
-+	Files     uint32
-+	Ffree     uint32
-+	Fsid      Fsid_t
-+	Vfstype   int32
-+	Fsize     uint32
-+	Vfsnumber int32
-+	Vfsoff    int32
-+	Vfslen    int32
-+	Vfsvers   int32
-+	Fname     [32]uint8
-+	Fpack     [32]uint8
-+	Name_max  int32
-+}
-+
-+const RNDGETENTCNT = 0x80045200
-diff --git a/vendor/golang.org/x/sys/unix/ztypes_aix_ppc64.go b/vendor/golang.org/x/sys/unix/ztypes_aix_ppc64.go
-new file mode 100644
-index 00000000..b4a069ec
---- /dev/null
-+++ b/vendor/golang.org/x/sys/unix/ztypes_aix_ppc64.go
-@@ -0,0 +1,356 @@
-+// cgo -godefs types_aix.go | go run mkpost.go
-+// Code generated by the command above; see README.md. DO NOT EDIT.
-+
-+// +build ppc64,aix
-+
-+package unix
-+
-+const (
-+	SizeofPtr      = 0x8
-+	SizeofShort    = 0x2
-+	SizeofInt      = 0x4
-+	SizeofLong     = 0x8
-+	SizeofLongLong = 0x8
-+	PathMax        = 0x3ff
-+)
-+
-+type (
-+	_C_short     int16
-+	_C_int       int32
-+	_C_long      int64
-+	_C_long_long int64
-+)
-+
-+type off64 int64
-+type off int64
-+type Mode_t uint32
-+
-+type Timespec struct {
-+	Sec  int64
-+	Nsec int64
-+}
-+
-+type Timeval struct {
-+	Sec  int64
-+	Usec int32
-+	_    [4]byte
-+}
-+
-+type Timeval32 struct {
-+	Sec  int32
-+	Usec int32
-+}
-+
-+type Timex struct{}
-+
-+type Time_t int64
-+
-+type Tms struct{}
-+
-+type Utimbuf struct {
-+	Actime  int64
-+	Modtime int64
-+}
-+
-+type Timezone struct {
-+	Minuteswest int32
-+	Dsttime     int32
-+}
-+
-+type Rusage struct {
-+	Utime    Timeval
-+	Stime    Timeval
-+	Maxrss   int64
-+	Ixrss    int64
-+	Idrss    int64
-+	Isrss    int64
-+	Minflt   int64
-+	Majflt   int64
-+	Nswap    int64
-+	Inblock  int64
-+	Oublock  int64
-+	Msgsnd   int64
-+	Msgrcv   int64
-+	Nsignals int64
-+	Nvcsw    int64
-+	Nivcsw   int64
-+}
-+
-+type Rlimit struct {
-+	Cur uint64
-+	Max uint64
-+}
-+
-+type Pid_t int32
-+
-+type _Gid_t uint32
-+
-+type dev_t uint64
-+
-+type Stat_t struct {
-+	Dev      uint64
-+	Ino      uint64
-+	Mode     uint32
-+	Nlink    int16
-+	Flag     uint16
-+	Uid      uint32
-+	Gid      uint32
-+	Rdev     uint64
-+	Ssize    int32
-+	Atim     Timespec
-+	Mtim     Timespec
-+	Ctim     Timespec
-+	Blksize  int64
-+	Blocks   int64
-+	Vfstype  int32
-+	Vfs      uint32
-+	Type     uint32
-+	Gen      uint32
-+	Reserved [9]uint32
-+	Padto_ll uint32
-+	Size     int64
-+}
-+
-+type StatxTimestamp struct{}
-+
-+type Statx_t struct{}
-+
-+type Dirent struct {
-+	Offset uint64
-+	Ino    uint64
-+	Reclen uint16
-+	Namlen uint16
-+	Name   [256]uint8
-+	_      [4]byte
-+}
-+
-+type RawSockaddrInet4 struct {
-+	Len    uint8
-+	Family uint8
-+	Port   uint16
-+	Addr   [4]byte /* in_addr */
-+	Zero   [8]uint8
-+}
-+
-+type RawSockaddrInet6 struct {
-+	Len      uint8
-+	Family   uint8
-+	Port     uint16
-+	Flowinfo uint32
-+	Addr     [16]byte /* in6_addr */
-+	Scope_id uint32
-+}
-+
-+type RawSockaddrUnix struct {
-+	Len    uint8
-+	Family uint8
-+	Path   [1023]uint8
-+}
-+
-+type RawSockaddrDatalink struct {
-+	Len    uint8
-+	Family uint8
-+	Index  uint16
-+	Type   uint8
-+	Nlen   uint8
-+	Alen   uint8
-+	Slen   uint8
-+	Data   [120]uint8
-+}
-+
-+type RawSockaddr struct {
-+	Len    uint8
-+	Family uint8
-+	Data   [14]uint8
-+}
-+
-+type RawSockaddrAny struct {
-+	Addr RawSockaddr
-+	Pad  [1012]uint8
-+}
-+
-+type _Socklen uint32
-+
-+type Cmsghdr struct {
-+	Len   uint32
-+	Level int32
-+	Type  int32
-+}
-+
-+type ICMPv6Filter struct {
-+	Filt [8]uint32
-+}
-+
-+type Iovec struct {
-+	Base *byte
-+	Len  uint64
-+}
-+
-+type IPMreq struct {
-+	Multiaddr [4]byte /* in_addr */
-+	Interface [4]byte /* in_addr */
-+}
-+
-+type IPv6Mreq struct {
-+	Multiaddr [16]byte /* in6_addr */
-+	Interface uint32
-+}
-+
-+type IPv6MTUInfo struct {
-+	Addr RawSockaddrInet6
-+	Mtu  uint32
-+}
-+
-+type Linger struct {
-+	Onoff  int32
-+	Linger int32
-+}
-+
-+type Msghdr struct {
-+	Name       *byte
-+	Namelen    uint32
-+	Iov        *Iovec
-+	Iovlen     int32
-+	Control    *byte
-+	Controllen uint32
-+	Flags      int32
-+}
-+
-+const (
-+	SizeofSockaddrInet4    = 0x10
-+	SizeofSockaddrInet6    = 0x1c
-+	SizeofSockaddrAny      = 0x404
-+	SizeofSockaddrUnix     = 0x401
-+	SizeofSockaddrDatalink = 0x80
-+	SizeofLinger           = 0x8
-+	SizeofIPMreq           = 0x8
-+	SizeofIPv6Mreq         = 0x14
-+	SizeofIPv6MTUInfo      = 0x20
-+	SizeofMsghdr           = 0x30
-+	SizeofCmsghdr          = 0xc
-+	SizeofICMPv6Filter     = 0x20
-+)
-+
-+const (
-+	SizeofIfMsghdr = 0x10
-+)
-+
-+type IfMsgHdr struct {
-+	Msglen  uint16
-+	Version uint8
-+	Type    uint8
-+	Addrs   int32
-+	Flags   int32
-+	Index   uint16
-+	Addrlen uint8
-+	_       [1]byte
-+}
-+
-+type FdSet struct {
-+	Bits [1024]int64
-+}
-+
-+type Utsname struct {
-+	Sysname  [32]byte
-+	Nodename [32]byte
-+	Release  [32]byte
-+	Version  [32]byte
-+	Machine  [32]byte
-+}
-+
-+type Ustat_t struct{}
-+
-+type Sigset_t struct {
-+	Set [4]uint64
-+}
-+
-+const (
-+	AT_FDCWD            = -0x2
-+	AT_REMOVEDIR        = 0x1
-+	AT_SYMLINK_NOFOLLOW = 0x1
-+)
-+
-+type Termios struct {
-+	Iflag uint32
-+	Oflag uint32
-+	Cflag uint32
-+	Lflag uint32
-+	Cc    [16]uint8
-+}
-+
-+type Termio struct {
-+	Iflag uint16
-+	Oflag uint16
-+	Cflag uint16
-+	Lflag uint16
-+	Line  uint8
-+	Cc    [8]uint8
-+	_     [1]byte
-+}
-+
-+type Winsize struct {
-+	Row    uint16
-+	Col    uint16
-+	Xpixel uint16
-+	Ypixel uint16
-+}
-+
-+type PollFd struct {
-+	Fd      int32
-+	Events  uint16
-+	Revents uint16
-+}
-+
-+const (
-+	POLLERR    = 0x4000
-+	POLLHUP    = 0x2000
-+	POLLIN     = 0x1
-+	POLLNVAL   = 0x8000
-+	POLLOUT    = 0x2
-+	POLLPRI    = 0x4
-+	POLLRDBAND = 0x20
-+	POLLRDNORM = 0x10
-+	POLLWRBAND = 0x40
-+	POLLWRNORM = 0x2
-+)
-+
-+type Flock_t struct {
-+	Type   int16
-+	Whence int16
-+	Sysid  uint32
-+	Pid    int32
-+	Vfs    int32
-+	Start  int64
-+	Len    int64
-+}
-+
-+type Fsid_t struct {
-+	Val [2]uint32
-+}
-+type Fsid64_t struct {
-+	Val [2]uint64
-+}
-+
-+type Statfs_t struct {
-+	Version   int32
-+	Type      int32
-+	Bsize     uint64
-+	Blocks    uint64
-+	Bfree     uint64
-+	Bavail    uint64
-+	Files     uint64
-+	Ffree     uint64
-+	Fsid      Fsid64_t
-+	Vfstype   int32
-+	Fsize     uint64
-+	Vfsnumber int32
-+	Vfsoff    int32
-+	Vfslen    int32
-+	Vfsvers   int32
-+	Fname     [32]uint8
-+	Fpack     [32]uint8
-+	Name_max  int32
-+	_         [4]byte
-+}
-+
-+const RNDGETENTCNT = 0x80045200
-diff --git a/vendor/golang.org/x/sys/unix/ztypes_darwin_386.go b/vendor/golang.org/x/sys/unix/ztypes_darwin_386.go
-index e61d78a5..9f47b87c 100644
---- a/vendor/golang.org/x/sys/unix/ztypes_darwin_386.go
-+++ b/vendor/golang.org/x/sys/unix/ztypes_darwin_386.go
-@@ -6,11 +6,11 @@
- package unix
- 
- const (
--	sizeofPtr      = 0x4
--	sizeofShort    = 0x2
--	sizeofInt      = 0x4
--	sizeofLong     = 0x4
--	sizeofLongLong = 0x8
-+	SizeofPtr      = 0x4
-+	SizeofShort    = 0x2
-+	SizeofInt      = 0x4
-+	SizeofLong     = 0x4
-+	SizeofLongLong = 0x8
- )
- 
- type (
-@@ -59,24 +59,24 @@ type Rlimit struct {
- type _Gid_t uint32
- 
- type Stat_t struct {
--	Dev           int32
--	Mode          uint16
--	Nlink         uint16
--	Ino           uint64
--	Uid           uint32
--	Gid           uint32
--	Rdev          int32
--	Atimespec     Timespec
--	Mtimespec     Timespec
--	Ctimespec     Timespec
--	Birthtimespec Timespec
--	Size          int64
--	Blocks        int64
--	Blksize       int32
--	Flags         uint32
--	Gen           uint32
--	Lspare        int32
--	Qspare        [2]int64
-+	Dev     int32
-+	Mode    uint16
-+	Nlink   uint16
-+	Ino     uint64
-+	Uid     uint32
-+	Gid     uint32
-+	Rdev    int32
-+	Atim    Timespec
-+	Mtim    Timespec
-+	Ctim    Timespec
-+	Btim    Timespec
-+	Size    int64
-+	Blocks  int64
-+	Blksize int32
-+	Flags   uint32
-+	Gen     uint32
-+	Lspare  int32
-+	Qspare  [2]int64
- }
- 
- type Statfs_t struct {
-@@ -136,13 +136,13 @@ type Fsid struct {
- }
- 
- type Dirent struct {
--	Ino       uint64
--	Seekoff   uint64
--	Reclen    uint16
--	Namlen    uint16
--	Type      uint8
--	Name      [1024]int8
--	Pad_cgo_0 [3]byte
-+	Ino     uint64
-+	Seekoff uint64
-+	Reclen  uint16
-+	Namlen  uint16
-+	Type    uint8
-+	Name    [1024]int8
-+	_       [3]byte
- }
- 
- type RawSockaddrInet4 struct {
-@@ -295,14 +295,14 @@ const (
- )
- 
- type IfMsghdr struct {
--	Msglen    uint16
--	Version   uint8
--	Type      uint8
--	Addrs     int32
--	Flags     int32
--	Index     uint16
--	Pad_cgo_0 [2]byte
--	Data      IfData
-+	Msglen  uint16
-+	Version uint8
-+	Type    uint8
-+	Addrs   int32
-+	Flags   int32
-+	Index   uint16
-+	_       [2]byte
-+	Data    IfData
- }
- 
- type IfData struct {
-@@ -338,51 +338,51 @@ type IfData struct {
- }
- 
- type IfaMsghdr struct {
--	Msglen    uint16
--	Version   uint8
--	Type      uint8
--	Addrs     int32
--	Flags     int32
--	Index     uint16
--	Pad_cgo_0 [2]byte
--	Metric    int32
-+	Msglen  uint16
-+	Version uint8
-+	Type    uint8
-+	Addrs   int32
-+	Flags   int32
-+	Index   uint16
-+	_       [2]byte
-+	Metric  int32
- }
- 
- type IfmaMsghdr struct {
--	Msglen    uint16
--	Version   uint8
--	Type      uint8
--	Addrs     int32
--	Flags     int32
--	Index     uint16
--	Pad_cgo_0 [2]byte
-+	Msglen  uint16
-+	Version uint8
-+	Type    uint8
-+	Addrs   int32
-+	Flags   int32
-+	Index   uint16
-+	_       [2]byte
- }
- 
- type IfmaMsghdr2 struct {
--	Msglen    uint16
--	Version   uint8
--	Type      uint8
--	Addrs     int32
--	Flags     int32
--	Index     uint16
--	Pad_cgo_0 [2]byte
--	Refcount  int32
-+	Msglen   uint16
-+	Version  uint8
-+	Type     uint8
-+	Addrs    int32
-+	Flags    int32
-+	Index    uint16
-+	_        [2]byte
-+	Refcount int32
- }
- 
- type RtMsghdr struct {
--	Msglen    uint16
--	Version   uint8
--	Type      uint8
--	Index     uint16
--	Pad_cgo_0 [2]byte
--	Flags     int32
--	Addrs     int32
--	Pid       int32
--	Seq       int32
--	Errno     int32
--	Use       int32
--	Inits     uint32
--	Rmx       RtMetrics
-+	Msglen  uint16
-+	Version uint8
-+	Type    uint8
-+	Index   uint16
-+	_       [2]byte
-+	Flags   int32
-+	Addrs   int32
-+	Pid     int32
-+	Seq     int32
-+	Errno   int32
-+	Use     int32
-+	Inits   uint32
-+	Rmx     RtMetrics
- }
- 
- type RtMetrics struct {
-@@ -430,11 +430,11 @@ type BpfInsn struct {
- }
- 
- type BpfHdr struct {
--	Tstamp    Timeval
--	Caplen    uint32
--	Datalen   uint32
--	Hdrlen    uint16
--	Pad_cgo_0 [2]byte
-+	Tstamp  Timeval
-+	Caplen  uint32
-+	Datalen uint32
-+	Hdrlen  uint16
-+	_       [2]byte
- }
- 
- type Termios struct {
-@@ -460,3 +460,40 @@ const (
- 	AT_SYMLINK_FOLLOW   = 0x40
- 	AT_SYMLINK_NOFOLLOW = 0x20
- )
-+
-+type PollFd struct {
-+	Fd      int32
-+	Events  int16
-+	Revents int16
-+}
-+
-+const (
-+	POLLERR    = 0x8
-+	POLLHUP    = 0x10
-+	POLLIN     = 0x1
-+	POLLNVAL   = 0x20
-+	POLLOUT    = 0x4
-+	POLLPRI    = 0x2
-+	POLLRDBAND = 0x80
-+	POLLRDNORM = 0x40
-+	POLLWRBAND = 0x100
-+	POLLWRNORM = 0x4
-+)
-+
-+type Utsname struct {
-+	Sysname  [256]byte
-+	Nodename [256]byte
-+	Release  [256]byte
-+	Version  [256]byte
-+	Machine  [256]byte
-+}
-+
-+const SizeofClockinfo = 0x14
-+
-+type Clockinfo struct {
-+	Hz      int32
-+	Tick    int32
-+	Tickadj int32
-+	Stathz  int32
-+	Profhz  int32
-+}
-diff --git a/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go
-index 2619155f..966798a8 100644
---- a/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go
-+++ b/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go
-@@ -6,11 +6,11 @@
- package unix
- 
- const (
--	sizeofPtr      = 0x8
--	sizeofShort    = 0x2
--	sizeofInt      = 0x4
--	sizeofLong     = 0x8
--	sizeofLongLong = 0x8
-+	SizeofPtr      = 0x8
-+	SizeofShort    = 0x2
-+	SizeofInt      = 0x4
-+	SizeofLong     = 0x8
-+	SizeofLongLong = 0x8
- )
- 
- type (
-@@ -26,9 +26,9 @@ type Timespec struct {
- }
- 
- type Timeval struct {
--	Sec       int64
--	Usec      int32
--	Pad_cgo_0 [4]byte
-+	Sec  int64
-+	Usec int32
-+	_    [4]byte
- }
- 
- type Timeval32 struct {
-@@ -63,25 +63,25 @@ type Rlimit struct {
- type _Gid_t uint32
- 
- type Stat_t struct {
--	Dev           int32
--	Mode          uint16
--	Nlink         uint16
--	Ino           uint64
--	Uid           uint32
--	Gid           uint32
--	Rdev          int32
--	Pad_cgo_0     [4]byte
--	Atimespec     Timespec
--	Mtimespec     Timespec
--	Ctimespec     Timespec
--	Birthtimespec Timespec
--	Size          int64
--	Blocks        int64
--	Blksize       int32
--	Flags         uint32
--	Gen           uint32
--	Lspare        int32
--	Qspare        [2]int64
-+	Dev     int32
-+	Mode    uint16
-+	Nlink   uint16
-+	Ino     uint64
-+	Uid     uint32
-+	Gid     uint32
-+	Rdev    int32
-+	_       [4]byte
-+	Atim    Timespec
-+	Mtim    Timespec
-+	Ctim    Timespec
-+	Btim    Timespec
-+	Size    int64
-+	Blocks  int64
-+	Blksize int32
-+	Flags   uint32
-+	Gen     uint32
-+	Lspare  int32
-+	Qspare  [2]int64
- }
- 
- type Statfs_t struct {
-@@ -120,9 +120,9 @@ type Fstore_t struct {
- }
- 
- type Radvisory_t struct {
--	Offset    int64
--	Count     int32
--	Pad_cgo_0 [4]byte
-+	Offset int64
-+	Count  int32
-+	_      [4]byte
- }
- 
- type Fbootstraptransfer_t struct {
-@@ -132,9 +132,9 @@ type Fbootstraptransfer_t struct {
- }
- 
- type Log2phys_t struct {
--	Flags     uint32
--	Pad_cgo_0 [8]byte
--	Pad_cgo_1 [8]byte
-+	Flags uint32
-+	_     [8]byte
-+	_     [8]byte
- }
- 
- type Fsid struct {
-@@ -142,13 +142,13 @@ type Fsid struct {
- }
- 
- type Dirent struct {
--	Ino       uint64
--	Seekoff   uint64
--	Reclen    uint16
--	Namlen    uint16
--	Type      uint8
--	Name      [1024]int8
--	Pad_cgo_0 [3]byte
-+	Ino     uint64
-+	Seekoff uint64
-+	Reclen  uint16
-+	Namlen  uint16
-+	Type    uint8
-+	Name    [1024]int8
-+	_       [3]byte
- }
- 
- type RawSockaddrInet4 struct {
-@@ -221,10 +221,10 @@ type IPv6Mreq struct {
- type Msghdr struct {
- 	Name       *byte
- 	Namelen    uint32
--	Pad_cgo_0  [4]byte
-+	_          [4]byte
- 	Iov        *Iovec
- 	Iovlen     int32
--	Pad_cgo_1  [4]byte
-+	_          [4]byte
- 	Control    *byte
- 	Controllen uint32
- 	Flags      int32
-@@ -303,14 +303,14 @@ const (
- )
- 
- type IfMsghdr struct {
--	Msglen    uint16
--	Version   uint8
--	Type      uint8
--	Addrs     int32
--	Flags     int32
--	Index     uint16
--	Pad_cgo_0 [2]byte
--	Data      IfData
-+	Msglen  uint16
-+	Version uint8
-+	Type    uint8
-+	Addrs   int32
-+	Flags   int32
-+	Index   uint16
-+	_       [2]byte
-+	Data    IfData
- }
- 
- type IfData struct {
-@@ -346,51 +346,51 @@ type IfData struct {
- }
- 
- type IfaMsghdr struct {
--	Msglen    uint16
--	Version   uint8
--	Type      uint8
--	Addrs     int32
--	Flags     int32
--	Index     uint16
--	Pad_cgo_0 [2]byte
--	Metric    int32
-+	Msglen  uint16
-+	Version uint8
-+	Type    uint8
-+	Addrs   int32
-+	Flags   int32
-+	Index   uint16
-+	_       [2]byte
-+	Metric  int32
- }
- 
- type IfmaMsghdr struct {
--	Msglen    uint16
--	Version   uint8
--	Type      uint8
--	Addrs     int32
--	Flags     int32
--	Index     uint16
--	Pad_cgo_0 [2]byte
-+	Msglen  uint16
-+	Version uint8
-+	Type    uint8
-+	Addrs   int32
-+	Flags   int32
-+	Index   uint16
-+	_       [2]byte
- }
- 
- type IfmaMsghdr2 struct {
--	Msglen    uint16
--	Version   uint8
--	Type      uint8
--	Addrs     int32
--	Flags     int32
--	Index     uint16
--	Pad_cgo_0 [2]byte
--	Refcount  int32
-+	Msglen   uint16
-+	Version  uint8
-+	Type     uint8
-+	Addrs    int32
-+	Flags    int32
-+	Index    uint16
-+	_        [2]byte
-+	Refcount int32
- }
- 
- type RtMsghdr struct {
--	Msglen    uint16
--	Version   uint8
--	Type      uint8
--	Index     uint16
--	Pad_cgo_0 [2]byte
--	Flags     int32
--	Addrs     int32
--	Pid       int32
--	Seq       int32
--	Errno     int32
--	Use       int32
--	Inits     uint32
--	Rmx       RtMetrics
-+	Msglen  uint16
-+	Version uint8
-+	Type    uint8
-+	Index   uint16
-+	_       [2]byte
-+	Flags   int32
-+	Addrs   int32
-+	Pid     int32
-+	Seq     int32
-+	Errno   int32
-+	Use     int32
-+	Inits   uint32
-+	Rmx     RtMetrics
- }
- 
- type RtMetrics struct {
-@@ -426,9 +426,9 @@ type BpfStat struct {
- }
- 
- type BpfProgram struct {
--	Len       uint32
--	Pad_cgo_0 [4]byte
--	Insns     *BpfInsn
-+	Len   uint32
-+	_     [4]byte
-+	Insns *BpfInsn
- }
- 
- type BpfInsn struct {
-@@ -439,22 +439,22 @@ type BpfInsn struct {
- }
- 
- type BpfHdr struct {
--	Tstamp    Timeval32
--	Caplen    uint32
--	Datalen   uint32
--	Hdrlen    uint16
--	Pad_cgo_0 [2]byte
-+	Tstamp  Timeval32
-+	Caplen  uint32
-+	Datalen uint32
-+	Hdrlen  uint16
-+	_       [2]byte
- }
- 
- type Termios struct {
--	Iflag     uint64
--	Oflag     uint64
--	Cflag     uint64
--	Lflag     uint64
--	Cc        [20]uint8
--	Pad_cgo_0 [4]byte
--	Ispeed    uint64
--	Ospeed    uint64
-+	Iflag  uint64
-+	Oflag  uint64
-+	Cflag  uint64
-+	Lflag  uint64
-+	Cc     [20]uint8
-+	_      [4]byte
-+	Ispeed uint64
-+	Ospeed uint64
- }
- 
- type Winsize struct {
-@@ -470,3 +470,40 @@ const (
- 	AT_SYMLINK_FOLLOW   = 0x40
- 	AT_SYMLINK_NOFOLLOW = 0x20
- )
-+
-+type PollFd struct {
-+	Fd      int32
-+	Events  int16
-+	Revents int16
-+}
-+
-+const (
-+	POLLERR    = 0x8
-+	POLLHUP    = 0x10
-+	POLLIN     = 0x1
-+	POLLNVAL   = 0x20
-+	POLLOUT    = 0x4
-+	POLLPRI    = 0x2
-+	POLLRDBAND = 0x80
-+	POLLRDNORM = 0x40
-+	POLLWRBAND = 0x100
-+	POLLWRNORM = 0x4
-+)
-+
-+type Utsname struct {
-+	Sysname  [256]byte
-+	Nodename [256]byte
-+	Release  [256]byte
-+	Version  [256]byte
-+	Machine  [256]byte
-+}
-+
-+const SizeofClockinfo = 0x14
-+
-+type Clockinfo struct {
-+	Hz      int32
-+	Tick    int32
-+	Tickadj int32
-+	Stathz  int32
-+	Profhz  int32
-+}
-diff --git a/vendor/golang.org/x/sys/unix/ztypes_darwin_arm.go b/vendor/golang.org/x/sys/unix/ztypes_darwin_arm.go
-index 4dca0d4d..4fe4c9cd 100644
---- a/vendor/golang.org/x/sys/unix/ztypes_darwin_arm.go
-+++ b/vendor/golang.org/x/sys/unix/ztypes_darwin_arm.go
-@@ -7,11 +7,11 @@
- package unix
- 
- const (
--	sizeofPtr      = 0x4
--	sizeofShort    = 0x2
--	sizeofInt      = 0x4
--	sizeofLong     = 0x4
--	sizeofLongLong = 0x8
-+	SizeofPtr      = 0x4
-+	SizeofShort    = 0x2
-+	SizeofInt      = 0x4
-+	SizeofLong     = 0x4
-+	SizeofLongLong = 0x8
- )
- 
- type (
-@@ -60,24 +60,24 @@ type Rlimit struct {
- type _Gid_t uint32
- 
- type Stat_t struct {
--	Dev           int32
--	Mode          uint16
--	Nlink         uint16
--	Ino           uint64
--	Uid           uint32
--	Gid           uint32
--	Rdev          int32
--	Atimespec     Timespec
--	Mtimespec     Timespec
--	Ctimespec     Timespec
--	Birthtimespec Timespec
--	Size          int64
--	Blocks        int64
--	Blksize       int32
--	Flags         uint32
--	Gen           uint32
--	Lspare        int32
--	Qspare        [2]int64
-+	Dev     int32
-+	Mode    uint16
-+	Nlink   uint16
-+	Ino     uint64
-+	Uid     uint32
-+	Gid     uint32
-+	Rdev    int32
-+	Atim    Timespec
-+	Mtim    Timespec
-+	Ctim    Timespec
-+	Btim    Timespec
-+	Size    int64
-+	Blocks  int64
-+	Blksize int32
-+	Flags   uint32
-+	Gen     uint32
-+	Lspare  int32
-+	Qspare  [2]int64
- }
- 
- type Statfs_t struct {
-@@ -137,13 +137,13 @@ type Fsid struct {
- }
- 
- type Dirent struct {
--	Ino       uint64
--	Seekoff   uint64
--	Reclen    uint16
--	Namlen    uint16
--	Type      uint8
--	Name      [1024]int8
--	Pad_cgo_0 [3]byte
-+	Ino     uint64
-+	Seekoff uint64
-+	Reclen  uint16
-+	Namlen  uint16
-+	Type    uint8
-+	Name    [1024]int8
-+	_       [3]byte
- }
- 
- type RawSockaddrInet4 struct {
-@@ -296,14 +296,14 @@ const (
- )
- 
- type IfMsghdr struct {
--	Msglen    uint16
--	Version   uint8
--	Type      uint8
--	Addrs     int32
--	Flags     int32
--	Index     uint16
--	Pad_cgo_0 [2]byte
--	Data      IfData
-+	Msglen  uint16
-+	Version uint8
-+	Type    uint8
-+	Addrs   int32
-+	Flags   int32
-+	Index   uint16
-+	_       [2]byte
-+	Data    IfData
- }
- 
- type IfData struct {
-@@ -339,51 +339,51 @@ type IfData struct {
- }
- 
- type IfaMsghdr struct {
--	Msglen    uint16
--	Version   uint8
--	Type      uint8
--	Addrs     int32
--	Flags     int32
--	Index     uint16
--	Pad_cgo_0 [2]byte
--	Metric    int32
-+	Msglen  uint16
-+	Version uint8
-+	Type    uint8
-+	Addrs   int32
-+	Flags   int32
-+	Index   uint16
-+	_       [2]byte
-+	Metric  int32
- }
- 
- type IfmaMsghdr struct {
--	Msglen    uint16
--	Version   uint8
--	Type      uint8
--	Addrs     int32
--	Flags     int32
--	Index     uint16
--	Pad_cgo_0 [2]byte
-+	Msglen  uint16
-+	Version uint8
-+	Type    uint8
-+	Addrs   int32
-+	Flags   int32
-+	Index   uint16
-+	_       [2]byte
- }
- 
- type IfmaMsghdr2 struct {
--	Msglen    uint16
--	Version   uint8
--	Type      uint8
--	Addrs     int32
--	Flags     int32
--	Index     uint16
--	Pad_cgo_0 [2]byte
--	Refcount  int32
-+	Msglen   uint16
-+	Version  uint8
-+	Type     uint8
-+	Addrs    int32
-+	Flags    int32
-+	Index    uint16
-+	_        [2]byte
-+	Refcount int32
- }
- 
- type RtMsghdr struct {
--	Msglen    uint16
--	Version   uint8
--	Type      uint8
--	Index     uint16
--	Pad_cgo_0 [2]byte
--	Flags     int32
--	Addrs     int32
--	Pid       int32
--	Seq       int32
--	Errno     int32
--	Use       int32
--	Inits     uint32
--	Rmx       RtMetrics
-+	Msglen  uint16
-+	Version uint8
-+	Type    uint8
-+	Index   uint16
-+	_       [2]byte
-+	Flags   int32
-+	Addrs   int32
-+	Pid     int32
-+	Seq     int32
-+	Errno   int32
-+	Use     int32
-+	Inits   uint32
-+	Rmx     RtMetrics
- }
- 
- type RtMetrics struct {
-@@ -431,11 +431,11 @@ type BpfInsn struct {
- }
- 
- type BpfHdr struct {
--	Tstamp    Timeval
--	Caplen    uint32
--	Datalen   uint32
--	Hdrlen    uint16
--	Pad_cgo_0 [2]byte
-+	Tstamp  Timeval
-+	Caplen  uint32
-+	Datalen uint32
-+	Hdrlen  uint16
-+	_       [2]byte
- }
- 
- type Termios struct {
-@@ -461,3 +461,40 @@ const (
- 	AT_SYMLINK_FOLLOW   = 0x40
- 	AT_SYMLINK_NOFOLLOW = 0x20
- )
-+
-+type PollFd struct {
-+	Fd      int32
-+	Events  int16
-+	Revents int16
-+}
-+
-+const (
-+	POLLERR    = 0x8
-+	POLLHUP    = 0x10
-+	POLLIN     = 0x1
-+	POLLNVAL   = 0x20
-+	POLLOUT    = 0x4
-+	POLLPRI    = 0x2
-+	POLLRDBAND = 0x80
-+	POLLRDNORM = 0x40
-+	POLLWRBAND = 0x100
-+	POLLWRNORM = 0x4
-+)
-+
-+type Utsname struct {
-+	Sysname  [256]byte
-+	Nodename [256]byte
-+	Release  [256]byte
-+	Version  [256]byte
-+	Machine  [256]byte
-+}
-+
-+const SizeofClockinfo = 0x14
-+
-+type Clockinfo struct {
-+	Hz      int32
-+	Tick    int32
-+	Tickadj int32
-+	Stathz  int32
-+	Profhz  int32
-+}
-diff --git a/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go b/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go
-index f2881fd1..21999e4b 100644
---- a/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go
-+++ b/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go
-@@ -1,15 +1,16 @@
-+// cgo -godefs types_darwin.go | go run mkpost.go
-+// Code generated by the command above; see README.md. DO NOT EDIT.
-+
- // +build arm64,darwin
--// Created by cgo -godefs - DO NOT EDIT
--// cgo -godefs types_darwin.go
- 
- package unix
- 
- const (
--	sizeofPtr      = 0x8
--	sizeofShort    = 0x2
--	sizeofInt      = 0x4
--	sizeofLong     = 0x8
--	sizeofLongLong = 0x8
-+	SizeofPtr      = 0x8
-+	SizeofShort    = 0x2
-+	SizeofInt      = 0x4
-+	SizeofLong     = 0x8
-+	SizeofLongLong = 0x8
- )
- 
- type (
-@@ -25,9 +26,9 @@ type Timespec struct {
- }
- 
- type Timeval struct {
--	Sec       int64
--	Usec      int32
--	Pad_cgo_0 [4]byte
-+	Sec  int64
-+	Usec int32
-+	_    [4]byte
- }
- 
- type Timeval32 struct {
-@@ -62,25 +63,25 @@ type Rlimit struct {
- type _Gid_t uint32
- 
- type Stat_t struct {
--	Dev           int32
--	Mode          uint16
--	Nlink         uint16
--	Ino           uint64
--	Uid           uint32
--	Gid           uint32
--	Rdev          int32
--	Pad_cgo_0     [4]byte
--	Atimespec     Timespec
--	Mtimespec     Timespec
--	Ctimespec     Timespec
--	Birthtimespec Timespec
--	Size          int64
--	Blocks        int64
--	Blksize       int32
--	Flags         uint32
--	Gen           uint32
--	Lspare        int32
--	Qspare        [2]int64
-+	Dev     int32
-+	Mode    uint16
-+	Nlink   uint16
-+	Ino     uint64
-+	Uid     uint32
-+	Gid     uint32
-+	Rdev    int32
-+	_       [4]byte
-+	Atim    Timespec
-+	Mtim    Timespec
-+	Ctim    Timespec
-+	Btim    Timespec
-+	Size    int64
-+	Blocks  int64
-+	Blksize int32
-+	Flags   uint32
-+	Gen     uint32
-+	Lspare  int32
-+	Qspare  [2]int64
- }
- 
- type Statfs_t struct {
-@@ -119,9 +120,9 @@ type Fstore_t struct {
- }
- 
- type Radvisory_t struct {
--	Offset    int64
--	Count     int32
--	Pad_cgo_0 [4]byte
-+	Offset int64
-+	Count  int32
-+	_      [4]byte
- }
- 
- type Fbootstraptransfer_t struct {
-@@ -131,9 +132,9 @@ type Fbootstraptransfer_t struct {
- }
- 
- type Log2phys_t struct {
--	Flags     uint32
--	Pad_cgo_0 [8]byte
--	Pad_cgo_1 [8]byte
-+	Flags uint32
-+	_     [8]byte
-+	_     [8]byte
- }
- 
- type Fsid struct {
-@@ -141,13 +142,13 @@ type Fsid struct {
- }
- 
- type Dirent struct {
--	Ino       uint64
--	Seekoff   uint64
--	Reclen    uint16
--	Namlen    uint16
--	Type      uint8
--	Name      [1024]int8
--	Pad_cgo_0 [3]byte
-+	Ino     uint64
-+	Seekoff uint64
-+	Reclen  uint16
-+	Namlen  uint16
-+	Type    uint8
-+	Name    [1024]int8
-+	_       [3]byte
- }
- 
- type RawSockaddrInet4 struct {
-@@ -220,10 +221,10 @@ type IPv6Mreq struct {
- type Msghdr struct {
- 	Name       *byte
- 	Namelen    uint32
--	Pad_cgo_0  [4]byte
-+	_          [4]byte
- 	Iov        *Iovec
- 	Iovlen     int32
--	Pad_cgo_1  [4]byte
-+	_          [4]byte
- 	Control    *byte
- 	Controllen uint32
- 	Flags      int32
-@@ -302,14 +303,14 @@ const (
- )
- 
- type IfMsghdr struct {
--	Msglen    uint16
--	Version   uint8
--	Type      uint8
--	Addrs     int32
--	Flags     int32
--	Index     uint16
--	Pad_cgo_0 [2]byte
--	Data      IfData
-+	Msglen  uint16
-+	Version uint8
-+	Type    uint8
-+	Addrs   int32
-+	Flags   int32
-+	Index   uint16
-+	_       [2]byte
-+	Data    IfData
- }
- 
- type IfData struct {
-@@ -345,51 +346,51 @@ type IfData struct {
- }
- 
- type IfaMsghdr struct {
--	Msglen    uint16
--	Version   uint8
--	Type      uint8
--	Addrs     int32
--	Flags     int32
--	Index     uint16
--	Pad_cgo_0 [2]byte
--	Metric    int32
-+	Msglen  uint16
-+	Version uint8
-+	Type    uint8
-+	Addrs   int32
-+	Flags   int32
-+	Index   uint16
-+	_       [2]byte
-+	Metric  int32
- }
- 
- type IfmaMsghdr struct {
--	Msglen    uint16
--	Version   uint8
--	Type      uint8
--	Addrs     int32
--	Flags     int32
--	Index     uint16
--	Pad_cgo_0 [2]byte
-+	Msglen  uint16
-+	Version uint8
-+	Type    uint8
-+	Addrs   int32
-+	Flags   int32
-+	Index   uint16
-+	_       [2]byte
- }
- 
- type IfmaMsghdr2 struct {
--	Msglen    uint16
--	Version   uint8
--	Type      uint8
--	Addrs     int32
--	Flags     int32
--	Index     uint16
--	Pad_cgo_0 [2]byte
--	Refcount  int32
-+	Msglen   uint16
-+	Version  uint8
-+	Type     uint8
-+	Addrs    int32
-+	Flags    int32
-+	Index    uint16
-+	_        [2]byte
-+	Refcount int32
- }
- 
- type RtMsghdr struct {
--	Msglen    uint16
--	Version   uint8
--	Type      uint8
--	Index     uint16
--	Pad_cgo_0 [2]byte
--	Flags     int32
--	Addrs     int32
--	Pid       int32
--	Seq       int32
--	Errno     int32
--	Use       int32
--	Inits     uint32
--	Rmx       RtMetrics
-+	Msglen  uint16
-+	Version uint8
-+	Type    uint8
-+	Index   uint16
-+	_       [2]byte
-+	Flags   int32
-+	Addrs   int32
-+	Pid     int32
-+	Seq     int32
-+	Errno   int32
-+	Use     int32
-+	Inits   uint32
-+	Rmx     RtMetrics
- }
- 
- type RtMetrics struct {
-@@ -425,9 +426,9 @@ type BpfStat struct {
- }
- 
- type BpfProgram struct {
--	Len       uint32
--	Pad_cgo_0 [4]byte
--	Insns     *BpfInsn
-+	Len   uint32
-+	_     [4]byte
-+	Insns *BpfInsn
- }
- 
- type BpfInsn struct {
-@@ -438,22 +439,22 @@ type BpfInsn struct {
- }
- 
- type BpfHdr struct {
--	Tstamp    Timeval32
--	Caplen    uint32
--	Datalen   uint32
--	Hdrlen    uint16
--	Pad_cgo_0 [2]byte
-+	Tstamp  Timeval32
-+	Caplen  uint32
-+	Datalen uint32
-+	Hdrlen  uint16
-+	_       [2]byte
- }
- 
- type Termios struct {
--	Iflag     uint64
--	Oflag     uint64
--	Cflag     uint64
--	Lflag     uint64
--	Cc        [20]uint8
--	Pad_cgo_0 [4]byte
--	Ispeed    uint64
--	Ospeed    uint64
-+	Iflag  uint64
-+	Oflag  uint64
-+	Cflag  uint64
-+	Lflag  uint64
-+	Cc     [20]uint8
-+	_      [4]byte
-+	Ispeed uint64
-+	Ospeed uint64
- }
- 
- type Winsize struct {
-@@ -469,3 +470,40 @@ const (
- 	AT_SYMLINK_FOLLOW   = 0x40
- 	AT_SYMLINK_NOFOLLOW = 0x20
- )
-+
-+type PollFd struct {
-+	Fd      int32
-+	Events  int16
-+	Revents int16
-+}
-+
-+const (
-+	POLLERR    = 0x8
-+	POLLHUP    = 0x10
-+	POLLIN     = 0x1
-+	POLLNVAL   = 0x20
-+	POLLOUT    = 0x4
-+	POLLPRI    = 0x2
-+	POLLRDBAND = 0x80
-+	POLLRDNORM = 0x40
-+	POLLWRBAND = 0x100
-+	POLLWRNORM = 0x4
-+)
-+
-+type Utsname struct {
-+	Sysname  [256]byte
-+	Nodename [256]byte
-+	Release  [256]byte
-+	Version  [256]byte
-+	Machine  [256]byte
-+}
-+
-+const SizeofClockinfo = 0x14
-+
-+type Clockinfo struct {
-+	Hz      int32
-+	Tick    int32
-+	Tickadj int32
-+	Stathz  int32
-+	Profhz  int32
-+}
-diff --git a/vendor/golang.org/x/sys/unix/ztypes_dragonfly_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_dragonfly_amd64.go
-index 67c6bf88..71ea1d6d 100644
---- a/vendor/golang.org/x/sys/unix/ztypes_dragonfly_amd64.go
-+++ b/vendor/golang.org/x/sys/unix/ztypes_dragonfly_amd64.go
-@@ -6,11 +6,11 @@
- package unix
- 
- const (
--	sizeofPtr      = 0x8
--	sizeofShort    = 0x2
--	sizeofInt      = 0x4
--	sizeofLong     = 0x8
--	sizeofLongLong = 0x8
-+	SizeofPtr      = 0x8
-+	SizeofShort    = 0x2
-+	SizeofInt      = 0x4
-+	SizeofLong     = 0x8
-+	SizeofLongLong = 0x8
- )
- 
- type (
-@@ -56,43 +56,26 @@ type Rlimit struct {
- 
- type _Gid_t uint32
- 
--const (
--	S_IFMT   = 0xf000
--	S_IFIFO  = 0x1000
--	S_IFCHR  = 0x2000
--	S_IFDIR  = 0x4000
--	S_IFBLK  = 0x6000
--	S_IFREG  = 0x8000
--	S_IFLNK  = 0xa000
--	S_IFSOCK = 0xc000
--	S_ISUID  = 0x800
--	S_ISGID  = 0x400
--	S_ISVTX  = 0x200
--	S_IRUSR  = 0x100
--	S_IWUSR  = 0x80
--	S_IXUSR  = 0x40
--)
--
- type Stat_t struct {
--	Ino      uint64
--	Nlink    uint32
--	Dev      uint32
--	Mode     uint16
--	Padding1 uint16
--	Uid      uint32
--	Gid      uint32
--	Rdev     uint32
--	Atim     Timespec
--	Mtim     Timespec
--	Ctim     Timespec
--	Size     int64
--	Blocks   int64
--	Blksize  uint32
--	Flags    uint32
--	Gen      uint32
--	Lspare   int32
--	Qspare1  int64
--	Qspare2  int64
-+	Ino     uint64
-+	Nlink   uint32
-+	Dev     uint32
-+	Mode    uint16
-+	_1      uint16
-+	Uid     uint32
-+	Gid     uint32
-+	Rdev    uint32
-+	Atim    Timespec
-+	Mtim    Timespec
-+	Ctim    Timespec
-+	Size    int64
-+	Blocks  int64
-+	Blksize uint32
-+	Flags   uint32
-+	Gen     uint32
-+	Lspare  int32
-+	Qspare1 int64
-+	Qspare2 int64
- }
- 
- type Statfs_t struct {
-@@ -108,7 +91,7 @@ type Statfs_t struct {
- 	Owner       uint32
- 	Type        int32
- 	Flags       int32
--	Pad_cgo_0   [4]byte
-+	_           [4]byte
- 	Syncwrites  int64
- 	Asyncwrites int64
- 	Fstypename  [16]int8
-@@ -118,7 +101,7 @@ type Statfs_t struct {
- 	Spares1     int16
- 	Mntfromname [80]int8
- 	Spares2     int16
--	Pad_cgo_1   [4]byte
-+	_           [4]byte
- 	Spare       [2]int64
- }
- 
-@@ -143,6 +126,10 @@ type Fsid struct {
- 	Val [2]int32
- }
- 
-+const (
-+	PathMax = 0x400
-+)
-+
- type RawSockaddrInet4 struct {
- 	Len    uint8
- 	Family uint8
-@@ -215,10 +202,10 @@ type IPv6Mreq struct {
- type Msghdr struct {
- 	Name       *byte
- 	Namelen    uint32
--	Pad_cgo_0  [4]byte
-+	_          [4]byte
- 	Iov        *Iovec
- 	Iovlen     int32
--	Pad_cgo_1  [4]byte
-+	_          [4]byte
- 	Control    *byte
- 	Controllen uint32
- 	Flags      int32
-@@ -290,14 +277,14 @@ const (
- )
- 
- type IfMsghdr struct {
--	Msglen    uint16
--	Version   uint8
--	Type      uint8
--	Addrs     int32
--	Flags     int32
--	Index     uint16
--	Pad_cgo_0 [2]byte
--	Data      IfData
-+	Msglen  uint16
-+	Version uint8
-+	Type    uint8
-+	Addrs   int32
-+	Flags   int32
-+	Index   uint16
-+	_       [2]byte
-+	Data    IfData
- }
- 
- type IfData struct {
-@@ -307,7 +294,7 @@ type IfData struct {
- 	Hdrlen     uint8
- 	Recvquota  uint8
- 	Xmitquota  uint8
--	Pad_cgo_0  [2]byte
-+	_          [2]byte
- 	Mtu        uint64
- 	Metric     uint64
- 	Link_state uint64
-@@ -329,24 +316,24 @@ type IfData struct {
- }
- 
- type IfaMsghdr struct {
--	Msglen    uint16
--	Version   uint8
--	Type      uint8
--	Addrs     int32
--	Flags     int32
--	Index     uint16
--	Pad_cgo_0 [2]byte
--	Metric    int32
-+	Msglen  uint16
-+	Version uint8
-+	Type    uint8
-+	Addrs   int32
-+	Flags   int32
-+	Index   uint16
-+	_       [2]byte
-+	Metric  int32
- }
- 
- type IfmaMsghdr struct {
--	Msglen    uint16
--	Version   uint8
--	Type      uint8
--	Addrs     int32
--	Flags     int32
--	Index     uint16
--	Pad_cgo_0 [2]byte
-+	Msglen  uint16
-+	Version uint8
-+	Type    uint8
-+	Addrs   int32
-+	Flags   int32
-+	Index   uint16
-+	_       [2]byte
- }
- 
- type IfAnnounceMsghdr struct {
-@@ -359,19 +346,19 @@ type IfAnnounceMsghdr struct {
- }
- 
- type RtMsghdr struct {
--	Msglen    uint16
--	Version   uint8
--	Type      uint8
--	Index     uint16
--	Pad_cgo_0 [2]byte
--	Flags     int32
--	Addrs     int32
--	Pid       int32
--	Seq       int32
--	Errno     int32
--	Use       int32
--	Inits     uint64
--	Rmx       RtMetrics
-+	Msglen  uint16
-+	Version uint8
-+	Type    uint8
-+	Index   uint16
-+	_       [2]byte
-+	Flags   int32
-+	Addrs   int32
-+	Pid     int32
-+	Seq     int32
-+	Errno   int32
-+	Use     int32
-+	Inits   uint64
-+	Rmx     RtMetrics
- }
- 
- type RtMetrics struct {
-@@ -387,7 +374,7 @@ type RtMetrics struct {
- 	Hopcount  uint64
- 	Mssopt    uint16
- 	Pad       uint16
--	Pad_cgo_0 [4]byte
-+	_         [4]byte
- 	Msl       uint64
- 	Iwmaxsegs uint64
- 	Iwcapsegs uint64
-@@ -412,9 +399,9 @@ type BpfStat struct {
- }
- 
- type BpfProgram struct {
--	Len       uint32
--	Pad_cgo_0 [4]byte
--	Insns     *BpfInsn
-+	Len   uint32
-+	_     [4]byte
-+	Insns *BpfInsn
- }
- 
- type BpfInsn struct {
-@@ -425,11 +412,11 @@ type BpfInsn struct {
- }
- 
- type BpfHdr struct {
--	Tstamp    Timeval
--	Caplen    uint32
--	Datalen   uint32
--	Hdrlen    uint16
--	Pad_cgo_0 [6]byte
-+	Tstamp  Timeval
-+	Caplen  uint32
-+	Datalen uint32
-+	Hdrlen  uint16
-+	_       [6]byte
- }
- 
- type Termios struct {
-@@ -442,7 +429,51 @@ type Termios struct {
- 	Ospeed uint32
- }
- 
-+type Winsize struct {
-+	Row    uint16
-+	Col    uint16
-+	Xpixel uint16
-+	Ypixel uint16
-+}
-+
- const (
- 	AT_FDCWD            = 0xfffafdcd
- 	AT_SYMLINK_NOFOLLOW = 0x1
- )
-+
-+type PollFd struct {
-+	Fd      int32
-+	Events  int16
-+	Revents int16
-+}
-+
-+const (
-+	POLLERR    = 0x8
-+	POLLHUP    = 0x10
-+	POLLIN     = 0x1
-+	POLLNVAL   = 0x20
-+	POLLOUT    = 0x4
-+	POLLPRI    = 0x2
-+	POLLRDBAND = 0x80
-+	POLLRDNORM = 0x40
-+	POLLWRBAND = 0x100
-+	POLLWRNORM = 0x4
-+)
-+
-+type Utsname struct {
-+	Sysname  [32]byte
-+	Nodename [32]byte
-+	Release  [32]byte
-+	Version  [32]byte
-+	Machine  [32]byte
-+}
-+
-+const SizeofClockinfo = 0x14
-+
-+type Clockinfo struct {
-+	Hz      int32
-+	Tick    int32
-+	Tickadj int32
-+	Stathz  int32
-+	Profhz  int32
-+}
-diff --git a/vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go b/vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go
-index 5b28bcbb..2a3ec615 100644
---- a/vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go
-+++ b/vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go
-@@ -6,11 +6,11 @@
- package unix
- 
- const (
--	sizeofPtr      = 0x4
--	sizeofShort    = 0x2
--	sizeofInt      = 0x4
--	sizeofLong     = 0x4
--	sizeofLongLong = 0x8
-+	SizeofPtr      = 0x4
-+	SizeofShort    = 0x2
-+	SizeofInt      = 0x4
-+	SizeofLong     = 0x4
-+	SizeofLongLong = 0x8
- )
- 
- type (
-@@ -57,41 +57,55 @@ type Rlimit struct {
- type _Gid_t uint32
- 
- const (
--	S_IFMT   = 0xf000
--	S_IFIFO  = 0x1000
--	S_IFCHR  = 0x2000
--	S_IFDIR  = 0x4000
--	S_IFBLK  = 0x6000
--	S_IFREG  = 0x8000
--	S_IFLNK  = 0xa000
--	S_IFSOCK = 0xc000
--	S_ISUID  = 0x800
--	S_ISGID  = 0x400
--	S_ISVTX  = 0x200
--	S_IRUSR  = 0x100
--	S_IWUSR  = 0x80
--	S_IXUSR  = 0x40
-+	_statfsVersion = 0x20140518
-+	_dirblksiz     = 0x400
- )
- 
- type Stat_t struct {
--	Dev           uint32
--	Ino           uint32
--	Mode          uint16
--	Nlink         uint16
--	Uid           uint32
--	Gid           uint32
--	Rdev          uint32
--	Atimespec     Timespec
--	Mtimespec     Timespec
--	Ctimespec     Timespec
--	Size          int64
--	Blocks        int64
--	Blksize       int32
--	Flags         uint32
--	Gen           uint32
--	Lspare        int32
--	Birthtimespec Timespec
--	Pad_cgo_0     [8]byte
-+	Dev     uint64
-+	Ino     uint64
-+	Nlink   uint64
-+	Mode    uint16
-+	_0      int16
-+	Uid     uint32
-+	Gid     uint32
-+	_1      int32
-+	Rdev    uint64
-+	_       int32
-+	Atim    Timespec
-+	_       int32
-+	Mtim    Timespec
-+	_       int32
-+	Ctim    Timespec
-+	_       int32
-+	Btim    Timespec
-+	Size    int64
-+	Blocks  int64
-+	Blksize int32
-+	Flags   uint32
-+	Gen     uint64
-+	Spare   [10]uint64
-+}
-+
-+type stat_freebsd11_t struct {
-+	Dev     uint32
-+	Ino     uint32
-+	Mode    uint16
-+	Nlink   uint16
-+	Uid     uint32
-+	Gid     uint32
-+	Rdev    uint32
-+	Atim    Timespec
-+	Mtim    Timespec
-+	Ctim    Timespec
-+	Size    int64
-+	Blocks  int64
-+	Blksize int32
-+	Flags   uint32
-+	Gen     uint32
-+	Lspare  int32
-+	Btim    Timespec
-+	_       [8]byte
- }
- 
- type Statfs_t struct {
-@@ -114,9 +128,34 @@ type Statfs_t struct {
- 	Owner       uint32
- 	Fsid        Fsid
- 	Charspare   [80]int8
--	Fstypename  [16]int8
--	Mntfromname [88]int8
--	Mntonname   [88]int8
-+	Fstypename  [16]byte
-+	Mntfromname [1024]byte
-+	Mntonname   [1024]byte
-+}
-+
-+type statfs_freebsd11_t struct {
-+	Version     uint32
-+	Type        uint32
-+	Flags       uint64
-+	Bsize       uint64
-+	Iosize      uint64
-+	Blocks      uint64
-+	Bfree       uint64
-+	Bavail      int64
-+	Files       uint64
-+	Ffree       int64
-+	Syncwrites  uint64
-+	Asyncwrites uint64
-+	Syncreads   uint64
-+	Asyncreads  uint64
-+	Spare       [10]uint64
-+	Namemax     uint32
-+	Owner       uint32
-+	Fsid        Fsid
-+	Charspare   [80]int8
-+	Fstypename  [16]byte
-+	Mntfromname [88]byte
-+	Mntonname   [88]byte
- }
- 
- type Flock_t struct {
-@@ -129,6 +168,17 @@ type Flock_t struct {
- }
- 
- type Dirent struct {
-+	Fileno uint64
-+	Off    int64
-+	Reclen uint16
-+	Type   uint8
-+	Pad0   uint8
-+	Namlen uint16
-+	Pad1   uint16
-+	Name   [256]int8
-+}
-+
-+type dirent_freebsd11 struct {
- 	Fileno uint32
- 	Reclen uint16
- 	Type   uint8
-@@ -140,6 +190,10 @@ type Fsid struct {
- 	Val [2]int32
- }
- 
-+const (
-+	PathMax = 0x400
-+)
-+
- const (
- 	FADV_NORMAL     = 0x0
- 	FADV_RANDOM     = 0x1
-@@ -270,11 +324,108 @@ const (
- )
- 
- const (
--	PTRACE_TRACEME = 0x0
--	PTRACE_CONT    = 0x7
--	PTRACE_KILL    = 0x8
-+	PTRACE_ATTACH     = 0xa
-+	PTRACE_CONT       = 0x7
-+	PTRACE_DETACH     = 0xb
-+	PTRACE_GETFPREGS  = 0x23
-+	PTRACE_GETFSBASE  = 0x47
-+	PTRACE_GETLWPLIST = 0xf
-+	PTRACE_GETNUMLWPS = 0xe
-+	PTRACE_GETREGS    = 0x21
-+	PTRACE_GETXSTATE  = 0x45
-+	PTRACE_IO         = 0xc
-+	PTRACE_KILL       = 0x8
-+	PTRACE_LWPEVENTS  = 0x18
-+	PTRACE_LWPINFO    = 0xd
-+	PTRACE_SETFPREGS  = 0x24
-+	PTRACE_SETREGS    = 0x22
-+	PTRACE_SINGLESTEP = 0x9
-+	PTRACE_TRACEME    = 0x0
-+)
-+
-+const (
-+	PIOD_READ_D  = 0x1
-+	PIOD_WRITE_D = 0x2
-+	PIOD_READ_I  = 0x3
-+	PIOD_WRITE_I = 0x4
-+)
-+
-+const (
-+	PL_FLAG_BORN   = 0x100
-+	PL_FLAG_EXITED = 0x200
-+	PL_FLAG_SI     = 0x20
-+)
-+
-+const (
-+	TRAP_BRKPT = 0x1
-+	TRAP_TRACE = 0x2
- )
- 
-+type PtraceLwpInfoStruct struct {
-+	Lwpid        int32
-+	Event        int32
-+	Flags        int32
-+	Sigmask      Sigset_t
-+	Siglist      Sigset_t
-+	Siginfo      __Siginfo
-+	Tdname       [20]int8
-+	Child_pid    int32
-+	Syscall_code uint32
-+	Syscall_narg uint32
-+}
-+
-+type __Siginfo struct {
-+	Signo  int32
-+	Errno  int32
-+	Code   int32
-+	Pid    int32
-+	Uid    uint32
-+	Status int32
-+	Addr   *byte
-+	Value  [4]byte
-+	_      [32]byte
-+}
-+
-+type Sigset_t struct {
-+	Val [4]uint32
-+}
-+
-+type Reg struct {
-+	Fs     uint32
-+	Es     uint32
-+	Ds     uint32
-+	Edi    uint32
-+	Esi    uint32
-+	Ebp    uint32
-+	Isp    uint32
-+	Ebx    uint32
-+	Edx    uint32
-+	Ecx    uint32
-+	Eax    uint32
-+	Trapno uint32
-+	Err    uint32
-+	Eip    uint32
-+	Cs     uint32
-+	Eflags uint32
-+	Esp    uint32
-+	Ss     uint32
-+	Gs     uint32
-+}
-+
-+type FpReg struct {
-+	Env   [7]uint32
-+	Acc   [8][10]uint8
-+	Ex_sw uint32
-+	Pad   [64]uint8
-+}
-+
-+type PtraceIoDesc struct {
-+	Op   int32
-+	Offs *byte
-+	Addr *byte
-+	Len  uint32
-+}
-+
- type Kevent_t struct {
- 	Ident  uint32
- 	Filter int16
-@@ -285,7 +436,7 @@ type Kevent_t struct {
- }
- 
- type FdSet struct {
--	X__fds_bits [32]uint32
-+	Bits [32]uint32
- }
- 
- const (
-@@ -301,53 +452,52 @@ const (
- )
- 
- type ifMsghdr struct {
--	Msglen    uint16
--	Version   uint8
--	Type      uint8
--	Addrs     int32
--	Flags     int32
--	Index     uint16
--	Pad_cgo_0 [2]byte
--	Data      ifData
-+	Msglen  uint16
-+	Version uint8
-+	Type    uint8
-+	Addrs   int32
-+	Flags   int32
-+	Index   uint16
-+	_       uint16
-+	Data    ifData
- }
- 
- type IfMsghdr struct {
--	Msglen    uint16
--	Version   uint8
--	Type      uint8
--	Addrs     int32
--	Flags     int32
--	Index     uint16
--	Pad_cgo_0 [2]byte
--	Data      IfData
-+	Msglen  uint16
-+	Version uint8
-+	Type    uint8
-+	Addrs   int32
-+	Flags   int32
-+	Index   uint16
-+	Data    IfData
- }
- 
- type ifData struct {
--	Type              uint8
--	Physical          uint8
--	Addrlen           uint8
--	Hdrlen            uint8
--	Link_state        uint8
--	Vhid              uint8
--	Datalen           uint16
--	Mtu               uint32
--	Metric            uint32
--	Baudrate          uint64
--	Ipackets          uint64
--	Ierrors           uint64
--	Opackets          uint64
--	Oerrors           uint64
--	Collisions        uint64
--	Ibytes            uint64
--	Obytes            uint64
--	Imcasts           uint64
--	Omcasts           uint64
--	Iqdrops           uint64
--	Oqdrops           uint64
--	Noproto           uint64
--	Hwassist          uint64
--	X__ifi_epoch      [8]byte
--	X__ifi_lastchange [16]byte
-+	Type       uint8
-+	Physical   uint8
-+	Addrlen    uint8
-+	Hdrlen     uint8
-+	Link_state uint8
-+	Vhid       uint8
-+	Datalen    uint16
-+	Mtu        uint32
-+	Metric     uint32
-+	Baudrate   uint64
-+	Ipackets   uint64
-+	Ierrors    uint64
-+	Opackets   uint64
-+	Oerrors    uint64
-+	Collisions uint64
-+	Ibytes     uint64
-+	Obytes     uint64
-+	Imcasts    uint64
-+	Omcasts    uint64
-+	Iqdrops    uint64
-+	Oqdrops    uint64
-+	Noproto    uint64
-+	Hwassist   uint64
-+	_          [8]byte
-+	_          [16]byte
- }
- 
- type IfData struct {
-@@ -379,24 +529,24 @@ type IfData struct {
- }
- 
- type IfaMsghdr struct {
--	Msglen    uint16
--	Version   uint8
--	Type      uint8
--	Addrs     int32
--	Flags     int32
--	Index     uint16
--	Pad_cgo_0 [2]byte
--	Metric    int32
-+	Msglen  uint16
-+	Version uint8
-+	Type    uint8
-+	Addrs   int32
-+	Flags   int32
-+	Index   uint16
-+	_       uint16
-+	Metric  int32
- }
- 
- type IfmaMsghdr struct {
--	Msglen    uint16
--	Version   uint8
--	Type      uint8
--	Addrs     int32
--	Flags     int32
--	Index     uint16
--	Pad_cgo_0 [2]byte
-+	Msglen  uint16
-+	Version uint8
-+	Type    uint8
-+	Addrs   int32
-+	Flags   int32
-+	Index   uint16
-+	_       uint16
- }
- 
- type IfAnnounceMsghdr struct {
-@@ -409,19 +559,19 @@ type IfAnnounceMsghdr struct {
- }
- 
- type RtMsghdr struct {
--	Msglen    uint16
--	Version   uint8
--	Type      uint8
--	Index     uint16
--	Pad_cgo_0 [2]byte
--	Flags     int32
--	Addrs     int32
--	Pid       int32
--	Seq       int32
--	Errno     int32
--	Fmask     int32
--	Inits     uint32
--	Rmx       RtMetrics
-+	Msglen  uint16
-+	Version uint8
-+	Type    uint8
-+	Index   uint16
-+	_       uint16
-+	Flags   int32
-+	Addrs   int32
-+	Pid     int32
-+	Seq     int32
-+	Errno   int32
-+	Fmask   int32
-+	Inits   uint32
-+	Rmx     RtMetrics
- }
- 
- type RtMetrics struct {
-@@ -478,18 +628,18 @@ type BpfInsn struct {
- }
- 
- type BpfHdr struct {
--	Tstamp    Timeval
--	Caplen    uint32
--	Datalen   uint32
--	Hdrlen    uint16
--	Pad_cgo_0 [2]byte
-+	Tstamp  Timeval
-+	Caplen  uint32
-+	Datalen uint32
-+	Hdrlen  uint16
-+	_       [2]byte
- }
- 
- type BpfZbufHeader struct {
- 	Kernel_gen uint32
- 	Kernel_len uint32
- 	User_gen   uint32
--	X_bzh_pad  [5]uint32
-+	_          [5]uint32
- }
- 
- type Termios struct {
-@@ -516,6 +666,44 @@ const (
- 	AT_SYMLINK_NOFOLLOW = 0x200
- )
- 
-+type PollFd struct {
-+	Fd      int32
-+	Events  int16
-+	Revents int16
-+}
-+
-+const (
-+	POLLERR      = 0x8
-+	POLLHUP      = 0x10
-+	POLLIN       = 0x1
-+	POLLINIGNEOF = 0x2000
-+	POLLNVAL     = 0x20
-+	POLLOUT      = 0x4
-+	POLLPRI      = 0x2
-+	POLLRDBAND   = 0x80
-+	POLLRDNORM   = 0x40
-+	POLLWRBAND   = 0x100
-+	POLLWRNORM   = 0x4
-+)
-+
- type CapRights struct {
- 	Rights [2]uint64
- }
-+
-+type Utsname struct {
-+	Sysname  [256]byte
-+	Nodename [256]byte
-+	Release  [256]byte
-+	Version  [256]byte
-+	Machine  [256]byte
-+}
-+
-+const SizeofClockinfo = 0x14
-+
-+type Clockinfo struct {
-+	Hz     int32
-+	Tick   int32
-+	Spare  int32
-+	Stathz int32
-+	Profhz int32
-+}
-diff --git a/vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go
-index c65d89e4..e11e9549 100644
---- a/vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go
-+++ b/vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go
-@@ -6,11 +6,11 @@
- package unix
- 
- const (
--	sizeofPtr      = 0x8
--	sizeofShort    = 0x2
--	sizeofInt      = 0x4
--	sizeofLong     = 0x8
--	sizeofLongLong = 0x8
-+	SizeofPtr      = 0x8
-+	SizeofShort    = 0x2
-+	SizeofInt      = 0x4
-+	SizeofLong     = 0x8
-+	SizeofLongLong = 0x8
- )
- 
- type (
-@@ -57,40 +57,50 @@ type Rlimit struct {
- type _Gid_t uint32
- 
- const (
--	S_IFMT   = 0xf000
--	S_IFIFO  = 0x1000
--	S_IFCHR  = 0x2000
--	S_IFDIR  = 0x4000
--	S_IFBLK  = 0x6000
--	S_IFREG  = 0x8000
--	S_IFLNK  = 0xa000
--	S_IFSOCK = 0xc000
--	S_ISUID  = 0x800
--	S_ISGID  = 0x400
--	S_ISVTX  = 0x200
--	S_IRUSR  = 0x100
--	S_IWUSR  = 0x80
--	S_IXUSR  = 0x40
-+	_statfsVersion = 0x20140518
-+	_dirblksiz     = 0x400
- )
- 
- type Stat_t struct {
--	Dev           uint32
--	Ino           uint32
--	Mode          uint16
--	Nlink         uint16
--	Uid           uint32
--	Gid           uint32
--	Rdev          uint32
--	Atimespec     Timespec
--	Mtimespec     Timespec
--	Ctimespec     Timespec
--	Size          int64
--	Blocks        int64
--	Blksize       int32
--	Flags         uint32
--	Gen           uint32
--	Lspare        int32
--	Birthtimespec Timespec
-+	Dev     uint64
-+	Ino     uint64
-+	Nlink   uint64
-+	Mode    uint16
-+	_0      int16
-+	Uid     uint32
-+	Gid     uint32
-+	_1      int32
-+	Rdev    uint64
-+	Atim    Timespec
-+	Mtim    Timespec
-+	Ctim    Timespec
-+	Btim    Timespec
-+	Size    int64
-+	Blocks  int64
-+	Blksize int32
-+	Flags   uint32
-+	Gen     uint64
-+	Spare   [10]uint64
-+}
-+
-+type stat_freebsd11_t struct {
-+	Dev     uint32
-+	Ino     uint32
-+	Mode    uint16
-+	Nlink   uint16
-+	Uid     uint32
-+	Gid     uint32
-+	Rdev    uint32
-+	Atim    Timespec
-+	Mtim    Timespec
-+	Ctim    Timespec
-+	Size    int64
-+	Blocks  int64
-+	Blksize int32
-+	Flags   uint32
-+	Gen     uint32
-+	Lspare  int32
-+	Btim    Timespec
- }
- 
- type Statfs_t struct {
-@@ -113,22 +123,58 @@ type Statfs_t struct {
- 	Owner       uint32
- 	Fsid        Fsid
- 	Charspare   [80]int8
--	Fstypename  [16]int8
--	Mntfromname [88]int8
--	Mntonname   [88]int8
-+	Fstypename  [16]byte
-+	Mntfromname [1024]byte
-+	Mntonname   [1024]byte
-+}
-+
-+type statfs_freebsd11_t struct {
-+	Version     uint32
-+	Type        uint32
-+	Flags       uint64
-+	Bsize       uint64
-+	Iosize      uint64
-+	Blocks      uint64
-+	Bfree       uint64
-+	Bavail      int64
-+	Files       uint64
-+	Ffree       int64
-+	Syncwrites  uint64
-+	Asyncwrites uint64
-+	Syncreads   uint64
-+	Asyncreads  uint64
-+	Spare       [10]uint64
-+	Namemax     uint32
-+	Owner       uint32
-+	Fsid        Fsid
-+	Charspare   [80]int8
-+	Fstypename  [16]byte
-+	Mntfromname [88]byte
-+	Mntonname   [88]byte
- }
- 
- type Flock_t struct {
--	Start     int64
--	Len       int64
--	Pid       int32
--	Type      int16
--	Whence    int16
--	Sysid     int32
--	Pad_cgo_0 [4]byte
-+	Start  int64
-+	Len    int64
-+	Pid    int32
-+	Type   int16
-+	Whence int16
-+	Sysid  int32
-+	_      [4]byte
- }
- 
- type Dirent struct {
-+	Fileno uint64
-+	Off    int64
-+	Reclen uint16
-+	Type   uint8
-+	Pad0   uint8
-+	Namlen uint16
-+	Pad1   uint16
-+	Name   [256]int8
-+}
-+
-+type dirent_freebsd11 struct {
- 	Fileno uint32
- 	Reclen uint16
- 	Type   uint8
-@@ -140,6 +186,10 @@ type Fsid struct {
- 	Val [2]int32
- }
- 
-+const (
-+	PathMax = 0x400
-+)
-+
- const (
- 	FADV_NORMAL     = 0x0
- 	FADV_RANDOM     = 0x1
-@@ -225,10 +275,8 @@ type IPv6Mreq struct {
- type Msghdr struct {
- 	Name       *byte
- 	Namelen    uint32
--	Pad_cgo_0  [4]byte
- 	Iov        *Iovec
- 	Iovlen     int32
--	Pad_cgo_1  [4]byte
- 	Control    *byte
- 	Controllen uint32
- 	Flags      int32
-@@ -272,11 +320,115 @@ const (
- )
- 
- const (
--	PTRACE_TRACEME = 0x0
--	PTRACE_CONT    = 0x7
--	PTRACE_KILL    = 0x8
-+	PTRACE_ATTACH     = 0xa
-+	PTRACE_CONT       = 0x7
-+	PTRACE_DETACH     = 0xb
-+	PTRACE_GETFPREGS  = 0x23
-+	PTRACE_GETFSBASE  = 0x47
-+	PTRACE_GETLWPLIST = 0xf
-+	PTRACE_GETNUMLWPS = 0xe
-+	PTRACE_GETREGS    = 0x21
-+	PTRACE_GETXSTATE  = 0x45
-+	PTRACE_IO         = 0xc
-+	PTRACE_KILL       = 0x8
-+	PTRACE_LWPEVENTS  = 0x18
-+	PTRACE_LWPINFO    = 0xd
-+	PTRACE_SETFPREGS  = 0x24
-+	PTRACE_SETREGS    = 0x22
-+	PTRACE_SINGLESTEP = 0x9
-+	PTRACE_TRACEME    = 0x0
-+)
-+
-+const (
-+	PIOD_READ_D  = 0x1
-+	PIOD_WRITE_D = 0x2
-+	PIOD_READ_I  = 0x3
-+	PIOD_WRITE_I = 0x4
-+)
-+
-+const (
-+	PL_FLAG_BORN   = 0x100
-+	PL_FLAG_EXITED = 0x200
-+	PL_FLAG_SI     = 0x20
-+)
-+
-+const (
-+	TRAP_BRKPT = 0x1
-+	TRAP_TRACE = 0x2
- )
- 
-+type PtraceLwpInfoStruct struct {
-+	Lwpid        int32
-+	Event        int32
-+	Flags        int32
-+	Sigmask      Sigset_t
-+	Siglist      Sigset_t
-+	Siginfo      __Siginfo
-+	Tdname       [20]int8
-+	Child_pid    int32
-+	Syscall_code uint32
-+	Syscall_narg uint32
-+}
-+
-+type __Siginfo struct {
-+	Signo  int32
-+	Errno  int32
-+	Code   int32
-+	Pid    int32
-+	Uid    uint32
-+	Status int32
-+	Addr   *byte
-+	Value  [8]byte
-+	_      [40]byte
-+}
-+
-+type Sigset_t struct {
-+	Val [4]uint32
-+}
-+
-+type Reg struct {
-+	R15    int64
-+	R14    int64
-+	R13    int64
-+	R12    int64
-+	R11    int64
-+	R10    int64
-+	R9     int64
-+	R8     int64
-+	Rdi    int64
-+	Rsi    int64
-+	Rbp    int64
-+	Rbx    int64
-+	Rdx    int64
-+	Rcx    int64
-+	Rax    int64
-+	Trapno uint32
-+	Fs     uint16
-+	Gs     uint16
-+	Err    uint32
-+	Es     uint16
-+	Ds     uint16
-+	Rip    int64
-+	Cs     int64
-+	Rflags int64
-+	Rsp    int64
-+	Ss     int64
-+}
-+
-+type FpReg struct {
-+	Env   [4]uint64
-+	Acc   [8][16]uint8
-+	Xacc  [16][16]uint8
-+	Spare [12]uint64
-+}
-+
-+type PtraceIoDesc struct {
-+	Op   int32
-+	Offs *byte
-+	Addr *byte
-+	Len  uint64
-+}
-+
- type Kevent_t struct {
- 	Ident  uint64
- 	Filter int16
-@@ -287,7 +439,7 @@ type Kevent_t struct {
- }
- 
- type FdSet struct {
--	X__fds_bits [16]uint64
-+	Bits [16]uint64
- }
- 
- const (
-@@ -303,53 +455,52 @@ const (
- )
- 
- type ifMsghdr struct {
--	Msglen    uint16
--	Version   uint8
--	Type      uint8
--	Addrs     int32
--	Flags     int32
--	Index     uint16
--	Pad_cgo_0 [2]byte
--	Data      ifData
-+	Msglen  uint16
-+	Version uint8
-+	Type    uint8
-+	Addrs   int32
-+	Flags   int32
-+	Index   uint16
-+	_       uint16
-+	Data    ifData
- }
- 
- type IfMsghdr struct {
--	Msglen    uint16
--	Version   uint8
--	Type      uint8
--	Addrs     int32
--	Flags     int32
--	Index     uint16
--	Pad_cgo_0 [2]byte
--	Data      IfData
-+	Msglen  uint16
-+	Version uint8
-+	Type    uint8
-+	Addrs   int32
-+	Flags   int32
-+	Index   uint16
-+	Data    IfData
- }
- 
- type ifData struct {
--	Type              uint8
--	Physical          uint8
--	Addrlen           uint8
--	Hdrlen            uint8
--	Link_state        uint8
--	Vhid              uint8
--	Datalen           uint16
--	Mtu               uint32
--	Metric            uint32
--	Baudrate          uint64
--	Ipackets          uint64
--	Ierrors           uint64
--	Opackets          uint64
--	Oerrors           uint64
--	Collisions        uint64
--	Ibytes            uint64
--	Obytes            uint64
--	Imcasts           uint64
--	Omcasts           uint64
--	Iqdrops           uint64
--	Oqdrops           uint64
--	Noproto           uint64
--	Hwassist          uint64
--	X__ifi_epoch      [8]byte
--	X__ifi_lastchange [16]byte
-+	Type       uint8
-+	Physical   uint8
-+	Addrlen    uint8
-+	Hdrlen     uint8
-+	Link_state uint8
-+	Vhid       uint8
-+	Datalen    uint16
-+	Mtu        uint32
-+	Metric     uint32
-+	Baudrate   uint64
-+	Ipackets   uint64
-+	Ierrors    uint64
-+	Opackets   uint64
-+	Oerrors    uint64
-+	Collisions uint64
-+	Ibytes     uint64
-+	Obytes     uint64
-+	Imcasts    uint64
-+	Omcasts    uint64
-+	Iqdrops    uint64
-+	Oqdrops    uint64
-+	Noproto    uint64
-+	Hwassist   uint64
-+	_          [8]byte
-+	_          [16]byte
- }
- 
- type IfData struct {
-@@ -381,24 +532,24 @@ type IfData struct {
- }
- 
- type IfaMsghdr struct {
--	Msglen    uint16
--	Version   uint8
--	Type      uint8
--	Addrs     int32
--	Flags     int32
--	Index     uint16
--	Pad_cgo_0 [2]byte
--	Metric    int32
-+	Msglen  uint16
-+	Version uint8
-+	Type    uint8
-+	Addrs   int32
-+	Flags   int32
-+	Index   uint16
-+	_       uint16
-+	Metric  int32
- }
- 
- type IfmaMsghdr struct {
--	Msglen    uint16
--	Version   uint8
--	Type      uint8
--	Addrs     int32
--	Flags     int32
--	Index     uint16
--	Pad_cgo_0 [2]byte
-+	Msglen  uint16
-+	Version uint8
-+	Type    uint8
-+	Addrs   int32
-+	Flags   int32
-+	Index   uint16
-+	_       uint16
- }
- 
- type IfAnnounceMsghdr struct {
-@@ -411,19 +562,19 @@ type IfAnnounceMsghdr struct {
- }
- 
- type RtMsghdr struct {
--	Msglen    uint16
--	Version   uint8
--	Type      uint8
--	Index     uint16
--	Pad_cgo_0 [2]byte
--	Flags     int32
--	Addrs     int32
--	Pid       int32
--	Seq       int32
--	Errno     int32
--	Fmask     int32
--	Inits     uint64
--	Rmx       RtMetrics
-+	Msglen  uint16
-+	Version uint8
-+	Type    uint8
-+	Index   uint16
-+	_       uint16
-+	Flags   int32
-+	Addrs   int32
-+	Pid     int32
-+	Seq     int32
-+	Errno   int32
-+	Fmask   int32
-+	Inits   uint64
-+	Rmx     RtMetrics
- }
- 
- type RtMetrics struct {
-@@ -468,9 +619,8 @@ type BpfZbuf struct {
- }
- 
- type BpfProgram struct {
--	Len       uint32
--	Pad_cgo_0 [4]byte
--	Insns     *BpfInsn
-+	Len   uint32
-+	Insns *BpfInsn
- }
- 
- type BpfInsn struct {
-@@ -481,18 +631,18 @@ type BpfInsn struct {
- }
- 
- type BpfHdr struct {
--	Tstamp    Timeval
--	Caplen    uint32
--	Datalen   uint32
--	Hdrlen    uint16
--	Pad_cgo_0 [6]byte
-+	Tstamp  Timeval
-+	Caplen  uint32
-+	Datalen uint32
-+	Hdrlen  uint16
-+	_       [6]byte
- }
- 
- type BpfZbufHeader struct {
- 	Kernel_gen uint32
- 	Kernel_len uint32
- 	User_gen   uint32
--	X_bzh_pad  [5]uint32
-+	_          [5]uint32
- }
- 
- type Termios struct {
-@@ -519,6 +669,44 @@ const (
- 	AT_SYMLINK_NOFOLLOW = 0x200
- )
- 
-+type PollFd struct {
-+	Fd      int32
-+	Events  int16
-+	Revents int16
-+}
-+
-+const (
-+	POLLERR      = 0x8
-+	POLLHUP      = 0x10
-+	POLLIN       = 0x1
-+	POLLINIGNEOF = 0x2000
-+	POLLNVAL     = 0x20
-+	POLLOUT      = 0x4
-+	POLLPRI      = 0x2
-+	POLLRDBAND   = 0x80
-+	POLLRDNORM   = 0x40
-+	POLLWRBAND   = 0x100
-+	POLLWRNORM   = 0x4
-+)
-+
- type CapRights struct {
- 	Rights [2]uint64
- }
-+
-+type Utsname struct {
-+	Sysname  [256]byte
-+	Nodename [256]byte
-+	Release  [256]byte
-+	Version  [256]byte
-+	Machine  [256]byte
-+}
-+
-+const SizeofClockinfo = 0x14
-+
-+type Clockinfo struct {
-+	Hz     int32
-+	Tick   int32
-+	Spare  int32
-+	Stathz int32
-+	Profhz int32
-+}
-diff --git a/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go b/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go
-index 42c0a502..6f79227d 100644
---- a/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go
-+++ b/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go
-@@ -6,11 +6,11 @@
- package unix
- 
- const (
--	sizeofPtr      = 0x4
--	sizeofShort    = 0x2
--	sizeofInt      = 0x4
--	sizeofLong     = 0x4
--	sizeofLongLong = 0x8
-+	SizeofPtr      = 0x4
-+	SizeofShort    = 0x2
-+	SizeofInt      = 0x4
-+	SizeofLong     = 0x4
-+	SizeofLongLong = 0x8
- )
- 
- type (
-@@ -21,15 +21,15 @@ type (
- )
- 
- type Timespec struct {
--	Sec       int64
--	Nsec      int32
--	Pad_cgo_0 [4]byte
-+	Sec  int64
-+	Nsec int32
-+	_    [4]byte
- }
- 
- type Timeval struct {
--	Sec       int64
--	Usec      int32
--	Pad_cgo_0 [4]byte
-+	Sec  int64
-+	Usec int32
-+	_    [4]byte
- }
- 
- type Rusage struct {
-@@ -59,43 +59,78 @@ type Rlimit struct {
- type _Gid_t uint32
- 
- const (
--	S_IFMT   = 0xf000
--	S_IFIFO  = 0x1000
--	S_IFCHR  = 0x2000
--	S_IFDIR  = 0x4000
--	S_IFBLK  = 0x6000
--	S_IFREG  = 0x8000
--	S_IFLNK  = 0xa000
--	S_IFSOCK = 0xc000
--	S_ISUID  = 0x800
--	S_ISGID  = 0x400
--	S_ISVTX  = 0x200
--	S_IRUSR  = 0x100
--	S_IWUSR  = 0x80
--	S_IXUSR  = 0x40
-+	_statfsVersion = 0x20140518
-+	_dirblksiz     = 0x400
- )
- 
- type Stat_t struct {
--	Dev           uint32
--	Ino           uint32
--	Mode          uint16
--	Nlink         uint16
--	Uid           uint32
--	Gid           uint32
--	Rdev          uint32
--	Atimespec     Timespec
--	Mtimespec     Timespec
--	Ctimespec     Timespec
--	Size          int64
--	Blocks        int64
--	Blksize       int32
--	Flags         uint32
--	Gen           uint32
--	Lspare        int32
--	Birthtimespec Timespec
-+	Dev     uint64
-+	Ino     uint64
-+	Nlink   uint64
-+	Mode    uint16
-+	_0      int16
-+	Uid     uint32
-+	Gid     uint32
-+	_1      int32
-+	Rdev    uint64
-+	Atim    Timespec
-+	Mtim    Timespec
-+	Ctim    Timespec
-+	Btim    Timespec
-+	Size    int64
-+	Blocks  int64
-+	Blksize int32
-+	Flags   uint32
-+	Gen     uint64
-+	Spare   [10]uint64
-+}
-+
-+type stat_freebsd11_t struct {
-+	Dev     uint32
-+	Ino     uint32
-+	Mode    uint16
-+	Nlink   uint16
-+	Uid     uint32
-+	Gid     uint32
-+	Rdev    uint32
-+	Atim    Timespec
-+	Mtim    Timespec
-+	Ctim    Timespec
-+	Size    int64
-+	Blocks  int64
-+	Blksize int32
-+	Flags   uint32
-+	Gen     uint32
-+	Lspare  int32
-+	Btim    Timespec
- }
- 
- type Statfs_t struct {
-+	Version     uint32
-+	Type        uint32
-+	Flags       uint64
-+	Bsize       uint64
-+	Iosize      uint64
-+	Blocks      uint64
-+	Bfree       uint64
-+	Bavail      int64
-+	Files       uint64
-+	Ffree       int64
-+	Syncwrites  uint64
-+	Asyncwrites uint64
-+	Syncreads   uint64
-+	Asyncreads  uint64
-+	Spare       [10]uint64
-+	Namemax     uint32
-+	Owner       uint32
-+	Fsid        Fsid
-+	Charspare   [80]int8
-+	Fstypename  [16]int8
-+	Mntfromname [1024]int8
-+	Mntonname   [1024]int8
-+}
-+
-+type statfs_freebsd11_t struct {
- 	Version     uint32
- 	Type        uint32
- 	Flags       uint64
-@@ -121,16 +156,27 @@ type Statfs_t struct {
- }
- 
- type Flock_t struct {
--	Start     int64
--	Len       int64
--	Pid       int32
--	Type      int16
--	Whence    int16
--	Sysid     int32
--	Pad_cgo_0 [4]byte
-+	Start  int64
-+	Len    int64
-+	Pid    int32
-+	Type   int16
-+	Whence int16
-+	Sysid  int32
-+	_      [4]byte
- }
- 
- type Dirent struct {
-+	Fileno uint64
-+	Off    int64
-+	Reclen uint16
-+	Type   uint8
-+	Pad0   uint8
-+	Namlen uint16
-+	Pad1   uint16
-+	Name   [256]int8
-+}
-+
-+type dirent_freebsd11 struct {
- 	Fileno uint32
- 	Reclen uint16
- 	Type   uint8
-@@ -142,6 +188,10 @@ type Fsid struct {
- 	Val [2]int32
- }
- 
-+const (
-+	PathMax = 0x400
-+)
-+
- const (
- 	FADV_NORMAL     = 0x0
- 	FADV_RANDOM     = 0x1
-@@ -272,11 +322,92 @@ const (
- )
- 
- const (
--	PTRACE_TRACEME = 0x0
--	PTRACE_CONT    = 0x7
--	PTRACE_KILL    = 0x8
-+	PTRACE_ATTACH     = 0xa
-+	PTRACE_CONT       = 0x7
-+	PTRACE_DETACH     = 0xb
-+	PTRACE_GETFPREGS  = 0x23
-+	PTRACE_GETFSBASE  = 0x47
-+	PTRACE_GETLWPLIST = 0xf
-+	PTRACE_GETNUMLWPS = 0xe
-+	PTRACE_GETREGS    = 0x21
-+	PTRACE_GETXSTATE  = 0x45
-+	PTRACE_IO         = 0xc
-+	PTRACE_KILL       = 0x8
-+	PTRACE_LWPEVENTS  = 0x18
-+	PTRACE_LWPINFO    = 0xd
-+	PTRACE_SETFPREGS  = 0x24
-+	PTRACE_SETREGS    = 0x22
-+	PTRACE_SINGLESTEP = 0x9
-+	PTRACE_TRACEME    = 0x0
-+)
-+
-+const (
-+	PIOD_READ_D  = 0x1
-+	PIOD_WRITE_D = 0x2
-+	PIOD_READ_I  = 0x3
-+	PIOD_WRITE_I = 0x4
-+)
-+
-+const (
-+	PL_FLAG_BORN   = 0x100
-+	PL_FLAG_EXITED = 0x200
-+	PL_FLAG_SI     = 0x20
- )
- 
-+const (
-+	TRAP_BRKPT = 0x1
-+	TRAP_TRACE = 0x2
-+)
-+
-+type PtraceLwpInfoStruct struct {
-+	Lwpid        int32
-+	Event        int32
-+	Flags        int32
-+	Sigmask      Sigset_t
-+	Siglist      Sigset_t
-+	Siginfo      __Siginfo
-+	Tdname       [20]int8
-+	Child_pid    int32
-+	Syscall_code uint32
-+	Syscall_narg uint32
-+}
-+
-+type __Siginfo struct {
-+	Signo    int32
-+	Errno    int32
-+	Code     int32
-+	Pid      int32
-+	Uid      uint32
-+	Status   int32
-+	Addr     *byte
-+	Value    [4]byte
-+	X_reason [32]byte
-+}
-+
-+type Sigset_t struct {
-+	Val [4]uint32
-+}
-+
-+type Reg struct {
-+	R      [13]uint32
-+	R_sp   uint32
-+	R_lr   uint32
-+	R_pc   uint32
-+	R_cpsr uint32
-+}
-+
-+type FpReg struct {
-+	Fpr_fpsr uint32
-+	Fpr      [8][3]uint32
-+}
-+
-+type PtraceIoDesc struct {
-+	Op   int32
-+	Offs *byte
-+	Addr *byte
-+	Len  uint32
-+}
-+
- type Kevent_t struct {
- 	Ident  uint32
- 	Filter int16
-@@ -287,7 +418,7 @@ type Kevent_t struct {
- }
- 
- type FdSet struct {
--	X__fds_bits [32]uint32
-+	Bits [32]uint32
- }
- 
- const (
-@@ -303,53 +434,53 @@ const (
- )
- 
- type ifMsghdr struct {
--	Msglen    uint16
--	Version   uint8
--	Type      uint8
--	Addrs     int32
--	Flags     int32
--	Index     uint16
--	Pad_cgo_0 [2]byte
--	Data      ifData
-+	Msglen  uint16
-+	Version uint8
-+	Type    uint8
-+	Addrs   int32
-+	Flags   int32
-+	Index   uint16
-+	_       [2]byte
-+	Data    ifData
- }
- 
- type IfMsghdr struct {
--	Msglen    uint16
--	Version   uint8
--	Type      uint8
--	Addrs     int32
--	Flags     int32
--	Index     uint16
--	Pad_cgo_0 [2]byte
--	Data      IfData
-+	Msglen  uint16
-+	Version uint8
-+	Type    uint8
-+	Addrs   int32
-+	Flags   int32
-+	Index   uint16
-+	_       [2]byte
-+	Data    IfData
- }
- 
- type ifData struct {
--	Type              uint8
--	Physical          uint8
--	Addrlen           uint8
--	Hdrlen            uint8
--	Link_state        uint8
--	Vhid              uint8
--	Datalen           uint16
--	Mtu               uint32
--	Metric            uint32
--	Baudrate          uint64
--	Ipackets          uint64
--	Ierrors           uint64
--	Opackets          uint64
--	Oerrors           uint64
--	Collisions        uint64
--	Ibytes            uint64
--	Obytes            uint64
--	Imcasts           uint64
--	Omcasts           uint64
--	Iqdrops           uint64
--	Oqdrops           uint64
--	Noproto           uint64
--	Hwassist          uint64
--	X__ifi_epoch      [8]byte
--	X__ifi_lastchange [16]byte
-+	Type       uint8
-+	Physical   uint8
-+	Addrlen    uint8
-+	Hdrlen     uint8
-+	Link_state uint8
-+	Vhid       uint8
-+	Datalen    uint16
-+	Mtu        uint32
-+	Metric     uint32
-+	Baudrate   uint64
-+	Ipackets   uint64
-+	Ierrors    uint64
-+	Opackets   uint64
-+	Oerrors    uint64
-+	Collisions uint64
-+	Ibytes     uint64
-+	Obytes     uint64
-+	Imcasts    uint64
-+	Omcasts    uint64
-+	Iqdrops    uint64
-+	Oqdrops    uint64
-+	Noproto    uint64
-+	Hwassist   uint64
-+	_          [8]byte
-+	_          [16]byte
- }
- 
- type IfData struct {
-@@ -376,30 +507,30 @@ type IfData struct {
- 	Iqdrops     uint32
- 	Noproto     uint32
- 	Hwassist    uint32
--	Pad_cgo_0   [4]byte
-+	_           [4]byte
- 	Epoch       int64
- 	Lastchange  Timeval
- }
- 
- type IfaMsghdr struct {
--	Msglen    uint16
--	Version   uint8
--	Type      uint8
--	Addrs     int32
--	Flags     int32
--	Index     uint16
--	Pad_cgo_0 [2]byte
--	Metric    int32
-+	Msglen  uint16
-+	Version uint8
-+	Type    uint8
-+	Addrs   int32
-+	Flags   int32
-+	Index   uint16
-+	_       [2]byte
-+	Metric  int32
- }
- 
- type IfmaMsghdr struct {
--	Msglen    uint16
--	Version   uint8
--	Type      uint8
--	Addrs     int32
--	Flags     int32
--	Index     uint16
--	Pad_cgo_0 [2]byte
-+	Msglen  uint16
-+	Version uint8
-+	Type    uint8
-+	Addrs   int32
-+	Flags   int32
-+	Index   uint16
-+	_       [2]byte
- }
- 
- type IfAnnounceMsghdr struct {
-@@ -412,19 +543,19 @@ type IfAnnounceMsghdr struct {
- }
- 
- type RtMsghdr struct {
--	Msglen    uint16
--	Version   uint8
--	Type      uint8
--	Index     uint16
--	Pad_cgo_0 [2]byte
--	Flags     int32
--	Addrs     int32
--	Pid       int32
--	Seq       int32
--	Errno     int32
--	Fmask     int32
--	Inits     uint32
--	Rmx       RtMetrics
-+	Msglen  uint16
-+	Version uint8
-+	Type    uint8
-+	Index   uint16
-+	_       [2]byte
-+	Flags   int32
-+	Addrs   int32
-+	Pid     int32
-+	Seq     int32
-+	Errno   int32
-+	Fmask   int32
-+	Inits   uint32
-+	Rmx     RtMetrics
- }
- 
- type RtMetrics struct {
-@@ -481,18 +612,18 @@ type BpfInsn struct {
- }
- 
- type BpfHdr struct {
--	Tstamp    Timeval
--	Caplen    uint32
--	Datalen   uint32
--	Hdrlen    uint16
--	Pad_cgo_0 [6]byte
-+	Tstamp  Timeval
-+	Caplen  uint32
-+	Datalen uint32
-+	Hdrlen  uint16
-+	_       [6]byte
- }
- 
- type BpfZbufHeader struct {
- 	Kernel_gen uint32
- 	Kernel_len uint32
- 	User_gen   uint32
--	X_bzh_pad  [5]uint32
-+	_          [5]uint32
- }
- 
- type Termios struct {
-@@ -519,6 +650,44 @@ const (
- 	AT_SYMLINK_NOFOLLOW = 0x200
- )
- 
-+type PollFd struct {
-+	Fd      int32
-+	Events  int16
-+	Revents int16
-+}
-+
-+const (
-+	POLLERR      = 0x8
-+	POLLHUP      = 0x10
-+	POLLIN       = 0x1
-+	POLLINIGNEOF = 0x2000
-+	POLLNVAL     = 0x20
-+	POLLOUT      = 0x4
-+	POLLPRI      = 0x2
-+	POLLRDBAND   = 0x80
-+	POLLRDNORM   = 0x40
-+	POLLWRBAND   = 0x100
-+	POLLWRNORM   = 0x4
-+)
-+
- type CapRights struct {
- 	Rights [2]uint64
- }
-+
-+type Utsname struct {
-+	Sysname  [256]byte
-+	Nodename [256]byte
-+	Release  [256]byte
-+	Version  [256]byte
-+	Machine  [256]byte
-+}
-+
-+const SizeofClockinfo = 0x14
-+
-+type Clockinfo struct {
-+	Hz     int32
-+	Tick   int32
-+	Spare  int32
-+	Stathz int32
-+	Profhz int32
-+}
-diff --git a/vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm64.go
-similarity index 54%
-copy from vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go
-copy to vendor/golang.org/x/sys/unix/ztypes_freebsd_arm64.go
-index c65d89e4..c6fe1d09 100644
---- a/vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go
-+++ b/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm64.go
-@@ -1,16 +1,16 @@
--// cgo -godefs types_freebsd.go | go run mkpost.go
-+// cgo -godefs -- -fsigned-char types_freebsd.go | go run mkpost.go
- // Code generated by the command above; see README.md. DO NOT EDIT.
- 
--// +build amd64,freebsd
-+// +build arm64,freebsd
- 
- package unix
- 
- const (
--	sizeofPtr      = 0x8
--	sizeofShort    = 0x2
--	sizeofInt      = 0x4
--	sizeofLong     = 0x8
--	sizeofLongLong = 0x8
-+	SizeofPtr      = 0x8
-+	SizeofShort    = 0x2
-+	SizeofInt      = 0x4
-+	SizeofLong     = 0x8
-+	SizeofLongLong = 0x8
- )
- 
- type (
-@@ -57,40 +57,50 @@ type Rlimit struct {
- type _Gid_t uint32
- 
- const (
--	S_IFMT   = 0xf000
--	S_IFIFO  = 0x1000
--	S_IFCHR  = 0x2000
--	S_IFDIR  = 0x4000
--	S_IFBLK  = 0x6000
--	S_IFREG  = 0x8000
--	S_IFLNK  = 0xa000
--	S_IFSOCK = 0xc000
--	S_ISUID  = 0x800
--	S_ISGID  = 0x400
--	S_ISVTX  = 0x200
--	S_IRUSR  = 0x100
--	S_IWUSR  = 0x80
--	S_IXUSR  = 0x40
-+	_statfsVersion = 0x20140518
-+	_dirblksiz     = 0x400
- )
- 
- type Stat_t struct {
--	Dev           uint32
--	Ino           uint32
--	Mode          uint16
--	Nlink         uint16
--	Uid           uint32
--	Gid           uint32
--	Rdev          uint32
--	Atimespec     Timespec
--	Mtimespec     Timespec
--	Ctimespec     Timespec
--	Size          int64
--	Blocks        int64
--	Blksize       int32
--	Flags         uint32
--	Gen           uint32
--	Lspare        int32
--	Birthtimespec Timespec
-+	Dev     uint64
-+	Ino     uint64
-+	Nlink   uint64
-+	Mode    uint16
-+	_0      int16
-+	Uid     uint32
-+	Gid     uint32
-+	_1      int32
-+	Rdev    uint64
-+	Atim    Timespec
-+	Mtim    Timespec
-+	Ctim    Timespec
-+	Btim    Timespec
-+	Size    int64
-+	Blocks  int64
-+	Blksize int32
-+	Flags   uint32
-+	Gen     uint64
-+	Spare   [10]uint64
-+}
-+
-+type stat_freebsd11_t struct {
-+	Dev     uint32
-+	Ino     uint32
-+	Mode    uint16
-+	Nlink   uint16
-+	Uid     uint32
-+	Gid     uint32
-+	Rdev    uint32
-+	Atim    Timespec
-+	Mtim    Timespec
-+	Ctim    Timespec
-+	Size    int64
-+	Blocks  int64
-+	Blksize int32
-+	Flags   uint32
-+	Gen     uint32
-+	Lspare  int32
-+	Btim    Timespec
- }
- 
- type Statfs_t struct {
-@@ -113,22 +123,58 @@ type Statfs_t struct {
- 	Owner       uint32
- 	Fsid        Fsid
- 	Charspare   [80]int8
--	Fstypename  [16]int8
--	Mntfromname [88]int8
--	Mntonname   [88]int8
-+	Fstypename  [16]byte
-+	Mntfromname [1024]byte
-+	Mntonname   [1024]byte
-+}
-+
-+type statfs_freebsd11_t struct {
-+	Version     uint32
-+	Type        uint32
-+	Flags       uint64
-+	Bsize       uint64
-+	Iosize      uint64
-+	Blocks      uint64
-+	Bfree       uint64
-+	Bavail      int64
-+	Files       uint64
-+	Ffree       int64
-+	Syncwrites  uint64
-+	Asyncwrites uint64
-+	Syncreads   uint64
-+	Asyncreads  uint64
-+	Spare       [10]uint64
-+	Namemax     uint32
-+	Owner       uint32
-+	Fsid        Fsid
-+	Charspare   [80]int8
-+	Fstypename  [16]byte
-+	Mntfromname [88]byte
-+	Mntonname   [88]byte
- }
- 
- type Flock_t struct {
--	Start     int64
--	Len       int64
--	Pid       int32
--	Type      int16
--	Whence    int16
--	Sysid     int32
--	Pad_cgo_0 [4]byte
-+	Start  int64
-+	Len    int64
-+	Pid    int32
-+	Type   int16
-+	Whence int16
-+	Sysid  int32
-+	_      [4]byte
- }
- 
- type Dirent struct {
-+	Fileno uint64
-+	Off    int64
-+	Reclen uint16
-+	Type   uint8
-+	Pad0   uint8
-+	Namlen uint16
-+	Pad1   uint16
-+	Name   [256]int8
-+}
-+
-+type dirent_freebsd11 struct {
- 	Fileno uint32
- 	Reclen uint16
- 	Type   uint8
-@@ -140,6 +186,10 @@ type Fsid struct {
- 	Val [2]int32
- }
- 
-+const (
-+	PathMax = 0x400
-+)
-+
- const (
- 	FADV_NORMAL     = 0x0
- 	FADV_RANDOM     = 0x1
-@@ -225,10 +275,8 @@ type IPv6Mreq struct {
- type Msghdr struct {
- 	Name       *byte
- 	Namelen    uint32
--	Pad_cgo_0  [4]byte
- 	Iov        *Iovec
- 	Iovlen     int32
--	Pad_cgo_1  [4]byte
- 	Control    *byte
- 	Controllen uint32
- 	Flags      int32
-@@ -272,11 +320,93 @@ const (
- )
- 
- const (
--	PTRACE_TRACEME = 0x0
--	PTRACE_CONT    = 0x7
--	PTRACE_KILL    = 0x8
-+	PTRACE_ATTACH     = 0xa
-+	PTRACE_CONT       = 0x7
-+	PTRACE_DETACH     = 0xb
-+	PTRACE_GETFPREGS  = 0x23
-+	PTRACE_GETLWPLIST = 0xf
-+	PTRACE_GETNUMLWPS = 0xe
-+	PTRACE_GETREGS    = 0x21
-+	PTRACE_IO         = 0xc
-+	PTRACE_KILL       = 0x8
-+	PTRACE_LWPEVENTS  = 0x18
-+	PTRACE_LWPINFO    = 0xd
-+	PTRACE_SETFPREGS  = 0x24
-+	PTRACE_SETREGS    = 0x22
-+	PTRACE_SINGLESTEP = 0x9
-+	PTRACE_TRACEME    = 0x0
-+)
-+
-+const (
-+	PIOD_READ_D  = 0x1
-+	PIOD_WRITE_D = 0x2
-+	PIOD_READ_I  = 0x3
-+	PIOD_WRITE_I = 0x4
-+)
-+
-+const (
-+	PL_FLAG_BORN   = 0x100
-+	PL_FLAG_EXITED = 0x200
-+	PL_FLAG_SI     = 0x20
-+)
-+
-+const (
-+	TRAP_BRKPT = 0x1
-+	TRAP_TRACE = 0x2
- )
- 
-+type PtraceLwpInfoStruct struct {
-+	Lwpid        int32
-+	Event        int32
-+	Flags        int32
-+	Sigmask      Sigset_t
-+	Siglist      Sigset_t
-+	Siginfo      __Siginfo
-+	Tdname       [20]int8
-+	Child_pid    int32
-+	Syscall_code uint32
-+	Syscall_narg uint32
-+}
-+
-+type __Siginfo struct {
-+	Signo  int32
-+	Errno  int32
-+	Code   int32
-+	Pid    int32
-+	Uid    uint32
-+	Status int32
-+	Addr   *byte
-+	Value  [8]byte
-+	_      [40]byte
-+}
-+
-+type Sigset_t struct {
-+	Val [4]uint32
-+}
-+
-+type Reg struct {
-+	X    [30]uint64
-+	Lr   uint64
-+	Sp   uint64
-+	Elr  uint64
-+	Spsr uint32
-+	_    [4]byte
-+}
-+
-+type FpReg struct {
-+	Q  [32][16]uint8
-+	Sr uint32
-+	Cr uint32
-+	_  [8]byte
-+}
-+
-+type PtraceIoDesc struct {
-+	Op   int32
-+	Offs *byte
-+	Addr *byte
-+	Len  uint64
-+}
-+
- type Kevent_t struct {
- 	Ident  uint64
- 	Filter int16
-@@ -287,7 +417,7 @@ type Kevent_t struct {
- }
- 
- type FdSet struct {
--	X__fds_bits [16]uint64
-+	Bits [16]uint64
- }
- 
- const (
-@@ -303,53 +433,52 @@ const (
- )
- 
- type ifMsghdr struct {
--	Msglen    uint16
--	Version   uint8
--	Type      uint8
--	Addrs     int32
--	Flags     int32
--	Index     uint16
--	Pad_cgo_0 [2]byte
--	Data      ifData
-+	Msglen  uint16
-+	Version uint8
-+	Type    uint8
-+	Addrs   int32
-+	Flags   int32
-+	Index   uint16
-+	_       uint16
-+	Data    ifData
- }
- 
- type IfMsghdr struct {
--	Msglen    uint16
--	Version   uint8
--	Type      uint8
--	Addrs     int32
--	Flags     int32
--	Index     uint16
--	Pad_cgo_0 [2]byte
--	Data      IfData
-+	Msglen  uint16
-+	Version uint8
-+	Type    uint8
-+	Addrs   int32
-+	Flags   int32
-+	Index   uint16
-+	Data    IfData
- }
- 
- type ifData struct {
--	Type              uint8
--	Physical          uint8
--	Addrlen           uint8
--	Hdrlen            uint8
--	Link_state        uint8
--	Vhid              uint8
--	Datalen           uint16
--	Mtu               uint32
--	Metric            uint32
--	Baudrate          uint64
--	Ipackets          uint64
--	Ierrors           uint64
--	Opackets          uint64
--	Oerrors           uint64
--	Collisions        uint64
--	Ibytes            uint64
--	Obytes            uint64
--	Imcasts           uint64
--	Omcasts           uint64
--	Iqdrops           uint64
--	Oqdrops           uint64
--	Noproto           uint64
--	Hwassist          uint64
--	X__ifi_epoch      [8]byte
--	X__ifi_lastchange [16]byte
-+	Type       uint8
-+	Physical   uint8
-+	Addrlen    uint8
-+	Hdrlen     uint8
-+	Link_state uint8
-+	Vhid       uint8
-+	Datalen    uint16
-+	Mtu        uint32
-+	Metric     uint32
-+	Baudrate   uint64
-+	Ipackets   uint64
-+	Ierrors    uint64
-+	Opackets   uint64
-+	Oerrors    uint64
-+	Collisions uint64
-+	Ibytes     uint64
-+	Obytes     uint64
-+	Imcasts    uint64
-+	Omcasts    uint64
-+	Iqdrops    uint64
-+	Oqdrops    uint64
-+	Noproto    uint64
-+	Hwassist   uint64
-+	_          [8]byte
-+	_          [16]byte
- }
- 
- type IfData struct {
-@@ -381,24 +510,24 @@ type IfData struct {
- }
- 
- type IfaMsghdr struct {
--	Msglen    uint16
--	Version   uint8
--	Type      uint8
--	Addrs     int32
--	Flags     int32
--	Index     uint16
--	Pad_cgo_0 [2]byte
--	Metric    int32
-+	Msglen  uint16
-+	Version uint8
-+	Type    uint8
-+	Addrs   int32
-+	Flags   int32
-+	Index   uint16
-+	_       uint16
-+	Metric  int32
- }
- 
- type IfmaMsghdr struct {
--	Msglen    uint16
--	Version   uint8
--	Type      uint8
--	Addrs     int32
--	Flags     int32
--	Index     uint16
--	Pad_cgo_0 [2]byte
-+	Msglen  uint16
-+	Version uint8
-+	Type    uint8
-+	Addrs   int32
-+	Flags   int32
-+	Index   uint16
-+	_       uint16
- }
- 
- type IfAnnounceMsghdr struct {
-@@ -411,19 +540,19 @@ type IfAnnounceMsghdr struct {
- }
- 
- type RtMsghdr struct {
--	Msglen    uint16
--	Version   uint8
--	Type      uint8
--	Index     uint16
--	Pad_cgo_0 [2]byte
--	Flags     int32
--	Addrs     int32
--	Pid       int32
--	Seq       int32
--	Errno     int32
--	Fmask     int32
--	Inits     uint64
--	Rmx       RtMetrics
-+	Msglen  uint16
-+	Version uint8
-+	Type    uint8
-+	Index   uint16
-+	_       uint16
-+	Flags   int32
-+	Addrs   int32
-+	Pid     int32
-+	Seq     int32
-+	Errno   int32
-+	Fmask   int32
-+	Inits   uint64
-+	Rmx     RtMetrics
- }
- 
- type RtMetrics struct {
-@@ -468,9 +597,8 @@ type BpfZbuf struct {
- }
- 
- type BpfProgram struct {
--	Len       uint32
--	Pad_cgo_0 [4]byte
--	Insns     *BpfInsn
-+	Len   uint32
-+	Insns *BpfInsn
- }
- 
- type BpfInsn struct {
-@@ -481,18 +609,18 @@ type BpfInsn struct {
- }
- 
- type BpfHdr struct {
--	Tstamp    Timeval
--	Caplen    uint32
--	Datalen   uint32
--	Hdrlen    uint16
--	Pad_cgo_0 [6]byte
-+	Tstamp  Timeval
-+	Caplen  uint32
-+	Datalen uint32
-+	Hdrlen  uint16
-+	_       [6]byte
- }
- 
- type BpfZbufHeader struct {
- 	Kernel_gen uint32
- 	Kernel_len uint32
- 	User_gen   uint32
--	X_bzh_pad  [5]uint32
-+	_          [5]uint32
- }
- 
- type Termios struct {
-@@ -519,6 +647,44 @@ const (
- 	AT_SYMLINK_NOFOLLOW = 0x200
- )
- 
-+type PollFd struct {
-+	Fd      int32
-+	Events  int16
-+	Revents int16
-+}
-+
-+const (
-+	POLLERR      = 0x8
-+	POLLHUP      = 0x10
-+	POLLIN       = 0x1
-+	POLLINIGNEOF = 0x2000
-+	POLLNVAL     = 0x20
-+	POLLOUT      = 0x4
-+	POLLPRI      = 0x2
-+	POLLRDBAND   = 0x80
-+	POLLRDNORM   = 0x40
-+	POLLWRBAND   = 0x100
-+	POLLWRNORM   = 0x4
-+)
-+
- type CapRights struct {
- 	Rights [2]uint64
- }
-+
-+type Utsname struct {
-+	Sysname  [256]byte
-+	Nodename [256]byte
-+	Release  [256]byte
-+	Version  [256]byte
-+	Machine  [256]byte
-+}
-+
-+const SizeofClockinfo = 0x14
-+
-+type Clockinfo struct {
-+	Hz     int32
-+	Tick   int32
-+	Spare  int32
-+	Stathz int32
-+	Profhz int32
-+}
-diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux.go b/vendor/golang.org/x/sys/unix/ztypes_linux.go
-new file mode 100644
-index 00000000..af5ab455
---- /dev/null
-+++ b/vendor/golang.org/x/sys/unix/ztypes_linux.go
-@@ -0,0 +1,2340 @@
-+// Code generated by mkmerge.go; DO NOT EDIT.
-+
-+// +build linux
-+
-+package unix
-+
-+const (
-+	SizeofShort    = 0x2
-+	SizeofInt      = 0x4
-+	SizeofLongLong = 0x8
-+	PathMax        = 0x1000
-+)
-+
-+type (
-+	_C_short int16
-+	_C_int   int32
-+
-+	_C_long_long int64
-+)
-+
-+const (
-+	TIME_OK    = 0x0
-+	TIME_INS   = 0x1
-+	TIME_DEL   = 0x2
-+	TIME_OOP   = 0x3
-+	TIME_WAIT  = 0x4
-+	TIME_ERROR = 0x5
-+	TIME_BAD   = 0x5
-+)
-+
-+type Rlimit struct {
-+	Cur uint64
-+	Max uint64
-+}
-+
-+type _Gid_t uint32
-+
-+type StatxTimestamp struct {
-+	Sec  int64
-+	Nsec uint32
-+	_    int32
-+}
-+
-+type Statx_t struct {
-+	Mask            uint32
-+	Blksize         uint32
-+	Attributes      uint64
-+	Nlink           uint32
-+	Uid             uint32
-+	Gid             uint32
-+	Mode            uint16
-+	_               [1]uint16
-+	Ino             uint64
-+	Size            uint64
-+	Blocks          uint64
-+	Attributes_mask uint64
-+	Atime           StatxTimestamp
-+	Btime           StatxTimestamp
-+	Ctime           StatxTimestamp
-+	Mtime           StatxTimestamp
-+	Rdev_major      uint32
-+	Rdev_minor      uint32
-+	Dev_major       uint32
-+	Dev_minor       uint32
-+	_               [14]uint64
-+}
-+
-+type Fsid struct {
-+	Val [2]int32
-+}
-+
-+type FscryptPolicy struct {
-+	Version                   uint8
-+	Contents_encryption_mode  uint8
-+	Filenames_encryption_mode uint8
-+	Flags                     uint8
-+	Master_key_descriptor     [8]uint8
-+}
-+
-+type FscryptKey struct {
-+	Mode uint32
-+	Raw  [64]uint8
-+	Size uint32
-+}
-+
-+type FscryptPolicyV1 struct {
-+	Version                   uint8
-+	Contents_encryption_mode  uint8
-+	Filenames_encryption_mode uint8
-+	Flags                     uint8
-+	Master_key_descriptor     [8]uint8
-+}
-+
-+type FscryptPolicyV2 struct {
-+	Version                   uint8
-+	Contents_encryption_mode  uint8
-+	Filenames_encryption_mode uint8
-+	Flags                     uint8
-+	_                         [4]uint8
-+	Master_key_identifier     [16]uint8
-+}
-+
-+type FscryptGetPolicyExArg struct {
-+	Size   uint64
-+	Policy [24]byte
-+}
-+
-+type FscryptKeySpecifier struct {
-+	Type uint32
-+	_    uint32
-+	U    [32]byte
-+}
-+
-+type FscryptAddKeyArg struct {
-+	Key_spec FscryptKeySpecifier
-+	Raw_size uint32
-+	Key_id   uint32
-+	_        [8]uint32
-+}
-+
-+type FscryptRemoveKeyArg struct {
-+	Key_spec             FscryptKeySpecifier
-+	Removal_status_flags uint32
-+	_                    [5]uint32
-+}
-+
-+type FscryptGetKeyStatusArg struct {
-+	Key_spec     FscryptKeySpecifier
-+	_            [6]uint32
-+	Status       uint32
-+	Status_flags uint32
-+	User_count   uint32
-+	_            [13]uint32
-+}
-+
-+type KeyctlDHParams struct {
-+	Private int32
-+	Prime   int32
-+	Base    int32
-+}
-+
-+const (
-+	FADV_NORMAL     = 0x0
-+	FADV_RANDOM     = 0x1
-+	FADV_SEQUENTIAL = 0x2
-+	FADV_WILLNEED   = 0x3
-+)
-+
-+type RawSockaddrInet4 struct {
-+	Family uint16
-+	Port   uint16
-+	Addr   [4]byte /* in_addr */
-+	Zero   [8]uint8
-+}
-+
-+type RawSockaddrInet6 struct {
-+	Family   uint16
-+	Port     uint16
-+	Flowinfo uint32
-+	Addr     [16]byte /* in6_addr */
-+	Scope_id uint32
-+}
-+
-+type RawSockaddrUnix struct {
-+	Family uint16
-+	Path   [108]int8
-+}
-+
-+type RawSockaddrLinklayer struct {
-+	Family   uint16
-+	Protocol uint16
-+	Ifindex  int32
-+	Hatype   uint16
-+	Pkttype  uint8
-+	Halen    uint8
-+	Addr     [8]uint8
-+}
-+
-+type RawSockaddrNetlink struct {
-+	Family uint16
-+	Pad    uint16
-+	Pid    uint32
-+	Groups uint32
-+}
-+
-+type RawSockaddrHCI struct {
-+	Family  uint16
-+	Dev     uint16
-+	Channel uint16
-+}
-+
-+type RawSockaddrL2 struct {
-+	Family      uint16
-+	Psm         uint16
-+	Bdaddr      [6]uint8
-+	Cid         uint16
-+	Bdaddr_type uint8
-+	_           [1]byte
-+}
-+
-+type RawSockaddrRFCOMM struct {
-+	Family  uint16
-+	Bdaddr  [6]uint8
-+	Channel uint8
-+	_       [1]byte
-+}
-+
-+type RawSockaddrCAN struct {
-+	Family  uint16
-+	Ifindex int32
-+	Addr    [16]byte
-+}
-+
-+type RawSockaddrALG struct {
-+	Family uint16
-+	Type   [14]uint8
-+	Feat   uint32
-+	Mask   uint32
-+	Name   [64]uint8
-+}
-+
-+type RawSockaddrVM struct {
-+	Family    uint16
-+	Reserved1 uint16
-+	Port      uint32
-+	Cid       uint32
-+	Zero      [4]uint8
-+}
-+
-+type RawSockaddrXDP struct {
-+	Family         uint16
-+	Flags          uint16
-+	Ifindex        uint32
-+	Queue_id       uint32
-+	Shared_umem_fd uint32
-+}
-+
-+type RawSockaddrPPPoX [0x1e]byte
-+
-+type RawSockaddrTIPC struct {
-+	Family   uint16
-+	Addrtype uint8
-+	Scope    int8
-+	Addr     [12]byte
-+}
-+
-+type RawSockaddrL2TPIP struct {
-+	Family  uint16
-+	Unused  uint16
-+	Addr    [4]byte /* in_addr */
-+	Conn_id uint32
-+	_       [4]uint8
-+}
-+
-+type RawSockaddrL2TPIP6 struct {
-+	Family   uint16
-+	Unused   uint16
-+	Flowinfo uint32
-+	Addr     [16]byte /* in6_addr */
-+	Scope_id uint32
-+	Conn_id  uint32
-+}
-+
-+type _Socklen uint32
-+
-+type Linger struct {
-+	Onoff  int32
-+	Linger int32
-+}
-+
-+type IPMreq struct {
-+	Multiaddr [4]byte /* in_addr */
-+	Interface [4]byte /* in_addr */
-+}
-+
-+type IPMreqn struct {
-+	Multiaddr [4]byte /* in_addr */
-+	Address   [4]byte /* in_addr */
-+	Ifindex   int32
-+}
-+
-+type IPv6Mreq struct {
-+	Multiaddr [16]byte /* in6_addr */
-+	Interface uint32
-+}
-+
-+type PacketMreq struct {
-+	Ifindex int32
-+	Type    uint16
-+	Alen    uint16
-+	Address [8]uint8
-+}
-+
-+type Inet4Pktinfo struct {
-+	Ifindex  int32
-+	Spec_dst [4]byte /* in_addr */
-+	Addr     [4]byte /* in_addr */
-+}
-+
-+type Inet6Pktinfo struct {
-+	Addr    [16]byte /* in6_addr */
-+	Ifindex uint32
-+}
-+
-+type IPv6MTUInfo struct {
-+	Addr RawSockaddrInet6
-+	Mtu  uint32
-+}
-+
-+type ICMPv6Filter struct {
-+	Data [8]uint32
-+}
-+
-+type Ucred struct {
-+	Pid int32
-+	Uid uint32
-+	Gid uint32
-+}
-+
-+type TCPInfo struct {
-+	State          uint8
-+	Ca_state       uint8
-+	Retransmits    uint8
-+	Probes         uint8
-+	Backoff        uint8
-+	Options        uint8
-+	Rto            uint32
-+	Ato            uint32
-+	Snd_mss        uint32
-+	Rcv_mss        uint32
-+	Unacked        uint32
-+	Sacked         uint32
-+	Lost           uint32
-+	Retrans        uint32
-+	Fackets        uint32
-+	Last_data_sent uint32
-+	Last_ack_sent  uint32
-+	Last_data_recv uint32
-+	Last_ack_recv  uint32
-+	Pmtu           uint32
-+	Rcv_ssthresh   uint32
-+	Rtt            uint32
-+	Rttvar         uint32
-+	Snd_ssthresh   uint32
-+	Snd_cwnd       uint32
-+	Advmss         uint32
-+	Reordering     uint32
-+	Rcv_rtt        uint32
-+	Rcv_space      uint32
-+	Total_retrans  uint32
-+}
-+
-+type CanFilter struct {
-+	Id   uint32
-+	Mask uint32
-+}
-+
-+const (
-+	SizeofSockaddrInet4     = 0x10
-+	SizeofSockaddrInet6     = 0x1c
-+	SizeofSockaddrAny       = 0x70
-+	SizeofSockaddrUnix      = 0x6e
-+	SizeofSockaddrLinklayer = 0x14
-+	SizeofSockaddrNetlink   = 0xc
-+	SizeofSockaddrHCI       = 0x6
-+	SizeofSockaddrL2        = 0xe
-+	SizeofSockaddrRFCOMM    = 0xa
-+	SizeofSockaddrCAN       = 0x18
-+	SizeofSockaddrALG       = 0x58
-+	SizeofSockaddrVM        = 0x10
-+	SizeofSockaddrXDP       = 0x10
-+	SizeofSockaddrPPPoX     = 0x1e
-+	SizeofSockaddrTIPC      = 0x10
-+	SizeofSockaddrL2TPIP    = 0x10
-+	SizeofSockaddrL2TPIP6   = 0x20
-+	SizeofLinger            = 0x8
-+	SizeofIPMreq            = 0x8
-+	SizeofIPMreqn           = 0xc
-+	SizeofIPv6Mreq          = 0x14
-+	SizeofPacketMreq        = 0x10
-+	SizeofInet4Pktinfo      = 0xc
-+	SizeofInet6Pktinfo      = 0x14
-+	SizeofIPv6MTUInfo       = 0x20
-+	SizeofICMPv6Filter      = 0x20
-+	SizeofUcred             = 0xc
-+	SizeofTCPInfo           = 0x68
-+	SizeofCanFilter         = 0x8
-+)
-+
-+const (
-+	NDA_UNSPEC              = 0x0
-+	NDA_DST                 = 0x1
-+	NDA_LLADDR              = 0x2
-+	NDA_CACHEINFO           = 0x3
-+	NDA_PROBES              = 0x4
-+	NDA_VLAN                = 0x5
-+	NDA_PORT                = 0x6
-+	NDA_VNI                 = 0x7
-+	NDA_IFINDEX             = 0x8
-+	NDA_MASTER              = 0x9
-+	NDA_LINK_NETNSID        = 0xa
-+	NDA_SRC_VNI             = 0xb
-+	NTF_USE                 = 0x1
-+	NTF_SELF                = 0x2
-+	NTF_MASTER              = 0x4
-+	NTF_PROXY               = 0x8
-+	NTF_EXT_LEARNED         = 0x10
-+	NTF_OFFLOADED           = 0x20
-+	NTF_ROUTER              = 0x80
-+	NUD_INCOMPLETE          = 0x1
-+	NUD_REACHABLE           = 0x2
-+	NUD_STALE               = 0x4
-+	NUD_DELAY               = 0x8
-+	NUD_PROBE               = 0x10
-+	NUD_FAILED              = 0x20
-+	NUD_NOARP               = 0x40
-+	NUD_PERMANENT           = 0x80
-+	NUD_NONE                = 0x0
-+	IFA_UNSPEC              = 0x0
-+	IFA_ADDRESS             = 0x1
-+	IFA_LOCAL               = 0x2
-+	IFA_LABEL               = 0x3
-+	IFA_BROADCAST           = 0x4
-+	IFA_ANYCAST             = 0x5
-+	IFA_CACHEINFO           = 0x6
-+	IFA_MULTICAST           = 0x7
-+	IFA_FLAGS               = 0x8
-+	IFA_RT_PRIORITY         = 0x9
-+	IFA_TARGET_NETNSID      = 0xa
-+	IFLA_UNSPEC             = 0x0
-+	IFLA_ADDRESS            = 0x1
-+	IFLA_BROADCAST          = 0x2
-+	IFLA_IFNAME             = 0x3
-+	IFLA_MTU                = 0x4
-+	IFLA_LINK               = 0x5
-+	IFLA_QDISC              = 0x6
-+	IFLA_STATS              = 0x7
-+	IFLA_COST               = 0x8
-+	IFLA_PRIORITY           = 0x9
-+	IFLA_MASTER             = 0xa
-+	IFLA_WIRELESS           = 0xb
-+	IFLA_PROTINFO           = 0xc
-+	IFLA_TXQLEN             = 0xd
-+	IFLA_MAP                = 0xe
-+	IFLA_WEIGHT             = 0xf
-+	IFLA_OPERSTATE          = 0x10
-+	IFLA_LINKMODE           = 0x11
-+	IFLA_LINKINFO           = 0x12
-+	IFLA_NET_NS_PID         = 0x13
-+	IFLA_IFALIAS            = 0x14
-+	IFLA_NUM_VF             = 0x15
-+	IFLA_VFINFO_LIST        = 0x16
-+	IFLA_STATS64            = 0x17
-+	IFLA_VF_PORTS           = 0x18
-+	IFLA_PORT_SELF          = 0x19
-+	IFLA_AF_SPEC            = 0x1a
-+	IFLA_GROUP              = 0x1b
-+	IFLA_NET_NS_FD          = 0x1c
-+	IFLA_EXT_MASK           = 0x1d
-+	IFLA_PROMISCUITY        = 0x1e
-+	IFLA_NUM_TX_QUEUES      = 0x1f
-+	IFLA_NUM_RX_QUEUES      = 0x20
-+	IFLA_CARRIER            = 0x21
-+	IFLA_PHYS_PORT_ID       = 0x22
-+	IFLA_CARRIER_CHANGES    = 0x23
-+	IFLA_PHYS_SWITCH_ID     = 0x24
-+	IFLA_LINK_NETNSID       = 0x25
-+	IFLA_PHYS_PORT_NAME     = 0x26
-+	IFLA_PROTO_DOWN         = 0x27
-+	IFLA_GSO_MAX_SEGS       = 0x28
-+	IFLA_GSO_MAX_SIZE       = 0x29
-+	IFLA_PAD                = 0x2a
-+	IFLA_XDP                = 0x2b
-+	IFLA_EVENT              = 0x2c
-+	IFLA_NEW_NETNSID        = 0x2d
-+	IFLA_IF_NETNSID         = 0x2e
-+	IFLA_TARGET_NETNSID     = 0x2e
-+	IFLA_CARRIER_UP_COUNT   = 0x2f
-+	IFLA_CARRIER_DOWN_COUNT = 0x30
-+	IFLA_NEW_IFINDEX        = 0x31
-+	IFLA_MIN_MTU            = 0x32
-+	IFLA_MAX_MTU            = 0x33
-+	IFLA_MAX                = 0x36
-+	IFLA_INFO_KIND          = 0x1
-+	IFLA_INFO_DATA          = 0x2
-+	IFLA_INFO_XSTATS        = 0x3
-+	IFLA_INFO_SLAVE_KIND    = 0x4
-+	IFLA_INFO_SLAVE_DATA    = 0x5
-+	RT_SCOPE_UNIVERSE       = 0x0
-+	RT_SCOPE_SITE           = 0xc8
-+	RT_SCOPE_LINK           = 0xfd
-+	RT_SCOPE_HOST           = 0xfe
-+	RT_SCOPE_NOWHERE        = 0xff
-+	RT_TABLE_UNSPEC         = 0x0
-+	RT_TABLE_COMPAT         = 0xfc
-+	RT_TABLE_DEFAULT        = 0xfd
-+	RT_TABLE_MAIN           = 0xfe
-+	RT_TABLE_LOCAL          = 0xff
-+	RT_TABLE_MAX            = 0xffffffff
-+	RTA_UNSPEC              = 0x0
-+	RTA_DST                 = 0x1
-+	RTA_SRC                 = 0x2
-+	RTA_IIF                 = 0x3
-+	RTA_OIF                 = 0x4
-+	RTA_GATEWAY             = 0x5
-+	RTA_PRIORITY            = 0x6
-+	RTA_PREFSRC             = 0x7
-+	RTA_METRICS             = 0x8
-+	RTA_MULTIPATH           = 0x9
-+	RTA_FLOW                = 0xb
-+	RTA_CACHEINFO           = 0xc
-+	RTA_TABLE               = 0xf
-+	RTA_MARK                = 0x10
-+	RTA_MFC_STATS           = 0x11
-+	RTA_VIA                 = 0x12
-+	RTA_NEWDST              = 0x13
-+	RTA_PREF                = 0x14
-+	RTA_ENCAP_TYPE          = 0x15
-+	RTA_ENCAP               = 0x16
-+	RTA_EXPIRES             = 0x17
-+	RTA_PAD                 = 0x18
-+	RTA_UID                 = 0x19
-+	RTA_TTL_PROPAGATE       = 0x1a
-+	RTA_IP_PROTO            = 0x1b
-+	RTA_SPORT               = 0x1c
-+	RTA_DPORT               = 0x1d
-+	RTN_UNSPEC              = 0x0
-+	RTN_UNICAST             = 0x1
-+	RTN_LOCAL               = 0x2
-+	RTN_BROADCAST           = 0x3
-+	RTN_ANYCAST             = 0x4
-+	RTN_MULTICAST           = 0x5
-+	RTN_BLACKHOLE           = 0x6
-+	RTN_UNREACHABLE         = 0x7
-+	RTN_PROHIBIT            = 0x8
-+	RTN_THROW               = 0x9
-+	RTN_NAT                 = 0xa
-+	RTN_XRESOLVE            = 0xb
-+	SizeofNlMsghdr          = 0x10
-+	SizeofNlMsgerr          = 0x14
-+	SizeofRtGenmsg          = 0x1
-+	SizeofNlAttr            = 0x4
-+	SizeofRtAttr            = 0x4
-+	SizeofIfInfomsg         = 0x10
-+	SizeofIfAddrmsg         = 0x8
-+	SizeofIfaCacheinfo      = 0x10
-+	SizeofRtMsg             = 0xc
-+	SizeofRtNexthop         = 0x8
-+	SizeofNdUseroptmsg      = 0x10
-+	SizeofNdMsg             = 0xc
-+)
-+
-+type NlMsghdr struct {
-+	Len   uint32
-+	Type  uint16
-+	Flags uint16
-+	Seq   uint32
-+	Pid   uint32
-+}
-+
-+type NlMsgerr struct {
-+	Error int32
-+	Msg   NlMsghdr
-+}
-+
-+type RtGenmsg struct {
-+	Family uint8
-+}
-+
-+type NlAttr struct {
-+	Len  uint16
-+	Type uint16
-+}
-+
-+type RtAttr struct {
-+	Len  uint16
-+	Type uint16
-+}
-+
-+type IfInfomsg struct {
-+	Family uint8
-+	_      uint8
-+	Type   uint16
-+	Index  int32
-+	Flags  uint32
-+	Change uint32
-+}
-+
-+type IfAddrmsg struct {
-+	Family    uint8
-+	Prefixlen uint8
-+	Flags     uint8
-+	Scope     uint8
-+	Index     uint32
-+}
-+
-+type IfaCacheinfo struct {
-+	Prefered uint32
-+	Valid    uint32
-+	Cstamp   uint32
-+	Tstamp   uint32
-+}
-+
-+type RtMsg struct {
-+	Family   uint8
-+	Dst_len  uint8
-+	Src_len  uint8
-+	Tos      uint8
-+	Table    uint8
-+	Protocol uint8
-+	Scope    uint8
-+	Type     uint8
-+	Flags    uint32
-+}
-+
-+type RtNexthop struct {
-+	Len     uint16
-+	Flags   uint8
-+	Hops    uint8
-+	Ifindex int32
-+}
-+
-+type NdUseroptmsg struct {
-+	Family    uint8
-+	Pad1      uint8
-+	Opts_len  uint16
-+	Ifindex   int32
-+	Icmp_type uint8
-+	Icmp_code uint8
-+	Pad2      uint16
-+	Pad3      uint32
-+}
-+
-+type NdMsg struct {
-+	Family  uint8
-+	Pad1    uint8
-+	Pad2    uint16
-+	Ifindex int32
-+	State   uint16
-+	Flags   uint8
-+	Type    uint8
-+}
-+
-+const (
-+	SizeofSockFilter = 0x8
-+)
-+
-+type SockFilter struct {
-+	Code uint16
-+	Jt   uint8
-+	Jf   uint8
-+	K    uint32
-+}
-+
-+type SockFprog struct {
-+	Len    uint16
-+	Filter *SockFilter
-+}
-+
-+type InotifyEvent struct {
-+	Wd     int32
-+	Mask   uint32
-+	Cookie uint32
-+	Len    uint32
-+}
-+
-+const SizeofInotifyEvent = 0x10
-+
-+type Utsname struct {
-+	Sysname    [65]byte
-+	Nodename   [65]byte
-+	Release    [65]byte
-+	Version    [65]byte
-+	Machine    [65]byte
-+	Domainname [65]byte
-+}
-+
-+const (
-+	AT_EMPTY_PATH   = 0x1000
-+	AT_FDCWD        = -0x64
-+	AT_NO_AUTOMOUNT = 0x800
-+	AT_REMOVEDIR    = 0x200
-+
-+	AT_STATX_SYNC_AS_STAT = 0x0
-+	AT_STATX_FORCE_SYNC   = 0x2000
-+	AT_STATX_DONT_SYNC    = 0x4000
-+
-+	AT_SYMLINK_FOLLOW   = 0x400
-+	AT_SYMLINK_NOFOLLOW = 0x100
-+
-+	AT_EACCESS = 0x200
-+)
-+
-+type PollFd struct {
-+	Fd      int32
-+	Events  int16
-+	Revents int16
-+}
-+
-+const (
-+	POLLIN   = 0x1
-+	POLLPRI  = 0x2
-+	POLLOUT  = 0x4
-+	POLLERR  = 0x8
-+	POLLHUP  = 0x10
-+	POLLNVAL = 0x20
-+)
-+
-+type SignalfdSiginfo struct {
-+	Signo     uint32
-+	Errno     int32
-+	Code      int32
-+	Pid       uint32
-+	Uid       uint32
-+	Fd        int32
-+	Tid       uint32
-+	Band      uint32
-+	Overrun   uint32
-+	Trapno    uint32
-+	Status    int32
-+	Int       int32
-+	Ptr       uint64
-+	Utime     uint64
-+	Stime     uint64
-+	Addr      uint64
-+	Addr_lsb  uint16
-+	_         uint16
-+	Syscall   int32
-+	Call_addr uint64
-+	Arch      uint32
-+	_         [28]uint8
-+}
-+
-+const PERF_IOC_FLAG_GROUP = 0x1
-+
-+type Winsize struct {
-+	Row    uint16
-+	Col    uint16
-+	Xpixel uint16
-+	Ypixel uint16
-+}
-+
-+const (
-+	TASKSTATS_CMD_UNSPEC                  = 0x0
-+	TASKSTATS_CMD_GET                     = 0x1
-+	TASKSTATS_CMD_NEW                     = 0x2
-+	TASKSTATS_TYPE_UNSPEC                 = 0x0
-+	TASKSTATS_TYPE_PID                    = 0x1
-+	TASKSTATS_TYPE_TGID                   = 0x2
-+	TASKSTATS_TYPE_STATS                  = 0x3
-+	TASKSTATS_TYPE_AGGR_PID               = 0x4
-+	TASKSTATS_TYPE_AGGR_TGID              = 0x5
-+	TASKSTATS_TYPE_NULL                   = 0x6
-+	TASKSTATS_CMD_ATTR_UNSPEC             = 0x0
-+	TASKSTATS_CMD_ATTR_PID                = 0x1
-+	TASKSTATS_CMD_ATTR_TGID               = 0x2
-+	TASKSTATS_CMD_ATTR_REGISTER_CPUMASK   = 0x3
-+	TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4
-+)
-+
-+type CGroupStats struct {
-+	Sleeping        uint64
-+	Running         uint64
-+	Stopped         uint64
-+	Uninterruptible uint64
-+	Io_wait         uint64
-+}
-+
-+const (
-+	CGROUPSTATS_CMD_UNSPEC        = 0x3
-+	CGROUPSTATS_CMD_GET           = 0x4
-+	CGROUPSTATS_CMD_NEW           = 0x5
-+	CGROUPSTATS_TYPE_UNSPEC       = 0x0
-+	CGROUPSTATS_TYPE_CGROUP_STATS = 0x1
-+	CGROUPSTATS_CMD_ATTR_UNSPEC   = 0x0
-+	CGROUPSTATS_CMD_ATTR_FD       = 0x1
-+)
-+
-+type Genlmsghdr struct {
-+	Cmd      uint8
-+	Version  uint8
-+	Reserved uint16
-+}
-+
-+const (
-+	CTRL_CMD_UNSPEC            = 0x0
-+	CTRL_CMD_NEWFAMILY         = 0x1
-+	CTRL_CMD_DELFAMILY         = 0x2
-+	CTRL_CMD_GETFAMILY         = 0x3
-+	CTRL_CMD_NEWOPS            = 0x4
-+	CTRL_CMD_DELOPS            = 0x5
-+	CTRL_CMD_GETOPS            = 0x6
-+	CTRL_CMD_NEWMCAST_GRP      = 0x7
-+	CTRL_CMD_DELMCAST_GRP      = 0x8
-+	CTRL_CMD_GETMCAST_GRP      = 0x9
-+	CTRL_ATTR_UNSPEC           = 0x0
-+	CTRL_ATTR_FAMILY_ID        = 0x1
-+	CTRL_ATTR_FAMILY_NAME      = 0x2
-+	CTRL_ATTR_VERSION          = 0x3
-+	CTRL_ATTR_HDRSIZE          = 0x4
-+	CTRL_ATTR_MAXATTR          = 0x5
-+	CTRL_ATTR_OPS              = 0x6
-+	CTRL_ATTR_MCAST_GROUPS     = 0x7
-+	CTRL_ATTR_OP_UNSPEC        = 0x0
-+	CTRL_ATTR_OP_ID            = 0x1
-+	CTRL_ATTR_OP_FLAGS         = 0x2
-+	CTRL_ATTR_MCAST_GRP_UNSPEC = 0x0
-+	CTRL_ATTR_MCAST_GRP_NAME   = 0x1
-+	CTRL_ATTR_MCAST_GRP_ID     = 0x2
-+)
-+
-+const (
-+	_CPU_SETSIZE = 0x400
-+)
-+
-+const (
-+	BDADDR_BREDR     = 0x0
-+	BDADDR_LE_PUBLIC = 0x1
-+	BDADDR_LE_RANDOM = 0x2
-+)
-+
-+type PerfEventAttr struct {
-+	Type               uint32
-+	Size               uint32
-+	Config             uint64
-+	Sample             uint64
-+	Sample_type        uint64
-+	Read_format        uint64
-+	Bits               uint64
-+	Wakeup             uint32
-+	Bp_type            uint32
-+	Ext1               uint64
-+	Ext2               uint64
-+	Branch_sample_type uint64
-+	Sample_regs_user   uint64
-+	Sample_stack_user  uint32
-+	Clockid            int32
-+	Sample_regs_intr   uint64
-+	Aux_watermark      uint32
-+	Sample_max_stack   uint16
-+	_                  uint16
-+}
-+
-+type PerfEventMmapPage struct {
-+	Version        uint32
-+	Compat_version uint32
-+	Lock           uint32
-+	Index          uint32
-+	Offset         int64
-+	Time_enabled   uint64
-+	Time_running   uint64
-+	Capabilities   uint64
-+	Pmc_width      uint16
-+	Time_shift     uint16
-+	Time_mult      uint32
-+	Time_offset    uint64
-+	Time_zero      uint64
-+	Size           uint32
-+	_              [948]uint8
-+	Data_head      uint64
-+	Data_tail      uint64
-+	Data_offset    uint64
-+	Data_size      uint64
-+	Aux_head       uint64
-+	Aux_tail       uint64
-+	Aux_offset     uint64
-+	Aux_size       uint64
-+}
-+
-+const (
-+	PerfBitDisabled               uint64 = CBitFieldMaskBit0
-+	PerfBitInherit                       = CBitFieldMaskBit1
-+	PerfBitPinned                        = CBitFieldMaskBit2
-+	PerfBitExclusive                     = CBitFieldMaskBit3
-+	PerfBitExcludeUser                   = CBitFieldMaskBit4
-+	PerfBitExcludeKernel                 = CBitFieldMaskBit5
-+	PerfBitExcludeHv                     = CBitFieldMaskBit6
-+	PerfBitExcludeIdle                   = CBitFieldMaskBit7
-+	PerfBitMmap                          = CBitFieldMaskBit8
-+	PerfBitComm                          = CBitFieldMaskBit9
-+	PerfBitFreq                          = CBitFieldMaskBit10
-+	PerfBitInheritStat                   = CBitFieldMaskBit11
-+	PerfBitEnableOnExec                  = CBitFieldMaskBit12
-+	PerfBitTask                          = CBitFieldMaskBit13
-+	PerfBitWatermark                     = CBitFieldMaskBit14
-+	PerfBitPreciseIPBit1                 = CBitFieldMaskBit15
-+	PerfBitPreciseIPBit2                 = CBitFieldMaskBit16
-+	PerfBitMmapData                      = CBitFieldMaskBit17
-+	PerfBitSampleIDAll                   = CBitFieldMaskBit18
-+	PerfBitExcludeHost                   = CBitFieldMaskBit19
-+	PerfBitExcludeGuest                  = CBitFieldMaskBit20
-+	PerfBitExcludeCallchainKernel        = CBitFieldMaskBit21
-+	PerfBitExcludeCallchainUser          = CBitFieldMaskBit22
-+	PerfBitMmap2                         = CBitFieldMaskBit23
-+	PerfBitCommExec                      = CBitFieldMaskBit24
-+	PerfBitUseClockID                    = CBitFieldMaskBit25
-+	PerfBitContextSwitch                 = CBitFieldMaskBit26
-+)
-+
-+const (
-+	PERF_TYPE_HARDWARE   = 0x0
-+	PERF_TYPE_SOFTWARE   = 0x1
-+	PERF_TYPE_TRACEPOINT = 0x2
-+	PERF_TYPE_HW_CACHE   = 0x3
-+	PERF_TYPE_RAW        = 0x4
-+	PERF_TYPE_BREAKPOINT = 0x5
-+
-+	PERF_COUNT_HW_CPU_CYCLES              = 0x0
-+	PERF_COUNT_HW_INSTRUCTIONS            = 0x1
-+	PERF_COUNT_HW_CACHE_REFERENCES        = 0x2
-+	PERF_COUNT_HW_CACHE_MISSES            = 0x3
-+	PERF_COUNT_HW_BRANCH_INSTRUCTIONS     = 0x4
-+	PERF_COUNT_HW_BRANCH_MISSES           = 0x5
-+	PERF_COUNT_HW_BUS_CYCLES              = 0x6
-+	PERF_COUNT_HW_STALLED_CYCLES_FRONTEND = 0x7
-+	PERF_COUNT_HW_STALLED_CYCLES_BACKEND  = 0x8
-+	PERF_COUNT_HW_REF_CPU_CYCLES          = 0x9
-+
-+	PERF_COUNT_HW_CACHE_L1D  = 0x0
-+	PERF_COUNT_HW_CACHE_L1I  = 0x1
-+	PERF_COUNT_HW_CACHE_LL   = 0x2
-+	PERF_COUNT_HW_CACHE_DTLB = 0x3
-+	PERF_COUNT_HW_CACHE_ITLB = 0x4
-+	PERF_COUNT_HW_CACHE_BPU  = 0x5
-+	PERF_COUNT_HW_CACHE_NODE = 0x6
-+
-+	PERF_COUNT_HW_CACHE_OP_READ     = 0x0
-+	PERF_COUNT_HW_CACHE_OP_WRITE    = 0x1
-+	PERF_COUNT_HW_CACHE_OP_PREFETCH = 0x2
-+
-+	PERF_COUNT_HW_CACHE_RESULT_ACCESS = 0x0
-+	PERF_COUNT_HW_CACHE_RESULT_MISS   = 0x1
-+
-+	PERF_COUNT_SW_CPU_CLOCK        = 0x0
-+	PERF_COUNT_SW_TASK_CLOCK       = 0x1
-+	PERF_COUNT_SW_PAGE_FAULTS      = 0x2
-+	PERF_COUNT_SW_CONTEXT_SWITCHES = 0x3
-+	PERF_COUNT_SW_CPU_MIGRATIONS   = 0x4
-+	PERF_COUNT_SW_PAGE_FAULTS_MIN  = 0x5
-+	PERF_COUNT_SW_PAGE_FAULTS_MAJ  = 0x6
-+	PERF_COUNT_SW_ALIGNMENT_FAULTS = 0x7
-+	PERF_COUNT_SW_EMULATION_FAULTS = 0x8
-+	PERF_COUNT_SW_DUMMY            = 0x9
-+	PERF_COUNT_SW_BPF_OUTPUT       = 0xa
-+
-+	PERF_SAMPLE_IP           = 0x1
-+	PERF_SAMPLE_TID          = 0x2
-+	PERF_SAMPLE_TIME         = 0x4
-+	PERF_SAMPLE_ADDR         = 0x8
-+	PERF_SAMPLE_READ         = 0x10
-+	PERF_SAMPLE_CALLCHAIN    = 0x20
-+	PERF_SAMPLE_ID           = 0x40
-+	PERF_SAMPLE_CPU          = 0x80
-+	PERF_SAMPLE_PERIOD       = 0x100
-+	PERF_SAMPLE_STREAM_ID    = 0x200
-+	PERF_SAMPLE_RAW          = 0x400
-+	PERF_SAMPLE_BRANCH_STACK = 0x800
-+
-+	PERF_SAMPLE_BRANCH_USER       = 0x1
-+	PERF_SAMPLE_BRANCH_KERNEL     = 0x2
-+	PERF_SAMPLE_BRANCH_HV         = 0x4
-+	PERF_SAMPLE_BRANCH_ANY        = 0x8
-+	PERF_SAMPLE_BRANCH_ANY_CALL   = 0x10
-+	PERF_SAMPLE_BRANCH_ANY_RETURN = 0x20
-+	PERF_SAMPLE_BRANCH_IND_CALL   = 0x40
-+	PERF_SAMPLE_BRANCH_ABORT_TX   = 0x80
-+	PERF_SAMPLE_BRANCH_IN_TX      = 0x100
-+	PERF_SAMPLE_BRANCH_NO_TX      = 0x200
-+	PERF_SAMPLE_BRANCH_COND       = 0x400
-+	PERF_SAMPLE_BRANCH_CALL_STACK = 0x800
-+	PERF_SAMPLE_BRANCH_IND_JUMP   = 0x1000
-+	PERF_SAMPLE_BRANCH_CALL       = 0x2000
-+	PERF_SAMPLE_BRANCH_NO_FLAGS   = 0x4000
-+	PERF_SAMPLE_BRANCH_NO_CYCLES  = 0x8000
-+	PERF_SAMPLE_BRANCH_TYPE_SAVE  = 0x10000
-+
-+	PERF_FORMAT_TOTAL_TIME_ENABLED = 0x1
-+	PERF_FORMAT_TOTAL_TIME_RUNNING = 0x2
-+	PERF_FORMAT_ID                 = 0x4
-+	PERF_FORMAT_GROUP              = 0x8
-+
-+	PERF_RECORD_MMAP            = 0x1
-+	PERF_RECORD_LOST            = 0x2
-+	PERF_RECORD_COMM            = 0x3
-+	PERF_RECORD_EXIT            = 0x4
-+	PERF_RECORD_THROTTLE        = 0x5
-+	PERF_RECORD_UNTHROTTLE      = 0x6
-+	PERF_RECORD_FORK            = 0x7
-+	PERF_RECORD_READ            = 0x8
-+	PERF_RECORD_SAMPLE          = 0x9
-+	PERF_RECORD_MMAP2           = 0xa
-+	PERF_RECORD_AUX             = 0xb
-+	PERF_RECORD_ITRACE_START    = 0xc
-+	PERF_RECORD_LOST_SAMPLES    = 0xd
-+	PERF_RECORD_SWITCH          = 0xe
-+	PERF_RECORD_SWITCH_CPU_WIDE = 0xf
-+	PERF_RECORD_NAMESPACES      = 0x10
-+
-+	PERF_CONTEXT_HV     = -0x20
-+	PERF_CONTEXT_KERNEL = -0x80
-+	PERF_CONTEXT_USER   = -0x200
-+
-+	PERF_CONTEXT_GUEST        = -0x800
-+	PERF_CONTEXT_GUEST_KERNEL = -0x880
-+	PERF_CONTEXT_GUEST_USER   = -0xa00
-+
-+	PERF_FLAG_FD_NO_GROUP = 0x1
-+	PERF_FLAG_FD_OUTPUT   = 0x2
-+	PERF_FLAG_PID_CGROUP  = 0x4
-+	PERF_FLAG_FD_CLOEXEC  = 0x8
-+)
-+
-+type TCPMD5Sig struct {
-+	Addr      SockaddrStorage
-+	Flags     uint8
-+	Prefixlen uint8
-+	Keylen    uint16
-+	_         uint32
-+	Key       [80]uint8
-+}
-+
-+type HDDriveCmdHdr struct {
-+	Command uint8
-+	Number  uint8
-+	Feature uint8
-+	Count   uint8
-+}
-+
-+type HDDriveID struct {
-+	Config         uint16
-+	Cyls           uint16
-+	Reserved2      uint16
-+	Heads          uint16
-+	Track_bytes    uint16
-+	Sector_bytes   uint16
-+	Sectors        uint16
-+	Vendor0        uint16
-+	Vendor1        uint16
-+	Vendor2        uint16
-+	Serial_no      [20]uint8
-+	Buf_type       uint16
-+	Buf_size       uint16
-+	Ecc_bytes      uint16
-+	Fw_rev         [8]uint8
-+	Model          [40]uint8
-+	Max_multsect   uint8
-+	Vendor3        uint8
-+	Dword_io       uint16
-+	Vendor4        uint8
-+	Capability     uint8
-+	Reserved50     uint16
-+	Vendor5        uint8
-+	TPIO           uint8
-+	Vendor6        uint8
-+	TDMA           uint8
-+	Field_valid    uint16
-+	Cur_cyls       uint16
-+	Cur_heads      uint16
-+	Cur_sectors    uint16
-+	Cur_capacity0  uint16
-+	Cur_capacity1  uint16
-+	Multsect       uint8
-+	Multsect_valid uint8
-+	Lba_capacity   uint32
-+	Dma_1word      uint16
-+	Dma_mword      uint16
-+	Eide_pio_modes uint16
-+	Eide_dma_min   uint16
-+	Eide_dma_time  uint16
-+	Eide_pio       uint16
-+	Eide_pio_iordy uint16
-+	Words69_70     [2]uint16
-+	Words71_74     [4]uint16
-+	Queue_depth    uint16
-+	Words76_79     [4]uint16
-+	Major_rev_num  uint16
-+	Minor_rev_num  uint16
-+	Command_set_1  uint16
-+	Command_set_2  uint16
-+	Cfsse          uint16
-+	Cfs_enable_1   uint16
-+	Cfs_enable_2   uint16
-+	Csf_default    uint16
-+	Dma_ultra      uint16
-+	Trseuc         uint16
-+	TrsEuc         uint16
-+	CurAPMvalues   uint16
-+	Mprc           uint16
-+	Hw_config      uint16
-+	Acoustic       uint16
-+	Msrqs          uint16
-+	Sxfert         uint16
-+	Sal            uint16
-+	Spg            uint32
-+	Lba_capacity_2 uint64
-+	Words104_125   [22]uint16
-+	Last_lun       uint16
-+	Word127        uint16
-+	Dlf            uint16
-+	Csfo           uint16
-+	Words130_155   [26]uint16
-+	Word156        uint16
-+	Words157_159   [3]uint16
-+	Cfa_power      uint16
-+	Words161_175   [15]uint16
-+	Words176_205   [30]uint16
-+	Words206_254   [49]uint16
-+	Integrity_word uint16
-+}
-+
-+const (
-+	ST_MANDLOCK    = 0x40
-+	ST_NOATIME     = 0x400
-+	ST_NODEV       = 0x4
-+	ST_NODIRATIME  = 0x800
-+	ST_NOEXEC      = 0x8
-+	ST_NOSUID      = 0x2
-+	ST_RDONLY      = 0x1
-+	ST_RELATIME    = 0x1000
-+	ST_SYNCHRONOUS = 0x10
-+)
-+
-+type Tpacket2Hdr struct {
-+	Status    uint32
-+	Len       uint32
-+	Snaplen   uint32
-+	Mac       uint16
-+	Net       uint16
-+	Sec       uint32
-+	Nsec      uint32
-+	Vlan_tci  uint16
-+	Vlan_tpid uint16
-+	_         [4]uint8
-+}
-+
-+type Tpacket3Hdr struct {
-+	Next_offset uint32
-+	Sec         uint32
-+	Nsec        uint32
-+	Snaplen     uint32
-+	Len         uint32
-+	Status      uint32
-+	Mac         uint16
-+	Net         uint16
-+	Hv1         TpacketHdrVariant1
-+	_           [8]uint8
-+}
-+
-+type TpacketHdrVariant1 struct {
-+	Rxhash    uint32
-+	Vlan_tci  uint32
-+	Vlan_tpid uint16
-+	_         uint16
-+}
-+
-+type TpacketBlockDesc struct {
-+	Version uint32
-+	To_priv uint32
-+	Hdr     [40]byte
-+}
-+
-+type TpacketBDTS struct {
-+	Sec  uint32
-+	Usec uint32
-+}
-+
-+type TpacketHdrV1 struct {
-+	Block_status        uint32
-+	Num_pkts            uint32
-+	Offset_to_first_pkt uint32
-+	Blk_len             uint32
-+	Seq_num             uint64
-+	Ts_first_pkt        TpacketBDTS
-+	Ts_last_pkt         TpacketBDTS
-+}
-+
-+type TpacketReq struct {
-+	Block_size uint32
-+	Block_nr   uint32
-+	Frame_size uint32
-+	Frame_nr   uint32
-+}
-+
-+type TpacketReq3 struct {
-+	Block_size       uint32
-+	Block_nr         uint32
-+	Frame_size       uint32
-+	Frame_nr         uint32
-+	Retire_blk_tov   uint32
-+	Sizeof_priv      uint32
-+	Feature_req_word uint32
-+}
-+
-+type TpacketStats struct {
-+	Packets uint32
-+	Drops   uint32
-+}
-+
-+type TpacketStatsV3 struct {
-+	Packets      uint32
-+	Drops        uint32
-+	Freeze_q_cnt uint32
-+}
-+
-+type TpacketAuxdata struct {
-+	Status    uint32
-+	Len       uint32
-+	Snaplen   uint32
-+	Mac       uint16
-+	Net       uint16
-+	Vlan_tci  uint16
-+	Vlan_tpid uint16
-+}
-+
-+const (
-+	TPACKET_V1 = 0x0
-+	TPACKET_V2 = 0x1
-+	TPACKET_V3 = 0x2
-+)
-+
-+const (
-+	SizeofTpacket2Hdr = 0x20
-+	SizeofTpacket3Hdr = 0x30
-+
-+	SizeofTpacketStats   = 0x8
-+	SizeofTpacketStatsV3 = 0xc
-+)
-+
-+const (
-+	NF_INET_PRE_ROUTING  = 0x0
-+	NF_INET_LOCAL_IN     = 0x1
-+	NF_INET_FORWARD      = 0x2
-+	NF_INET_LOCAL_OUT    = 0x3
-+	NF_INET_POST_ROUTING = 0x4
-+	NF_INET_NUMHOOKS     = 0x5
-+)
-+
-+const (
-+	NF_NETDEV_INGRESS  = 0x0
-+	NF_NETDEV_NUMHOOKS = 0x1
-+)
-+
-+const (
-+	NFPROTO_UNSPEC   = 0x0
-+	NFPROTO_INET     = 0x1
-+	NFPROTO_IPV4     = 0x2
-+	NFPROTO_ARP      = 0x3
-+	NFPROTO_NETDEV   = 0x5
-+	NFPROTO_BRIDGE   = 0x7
-+	NFPROTO_IPV6     = 0xa
-+	NFPROTO_DECNET   = 0xc
-+	NFPROTO_NUMPROTO = 0xd
-+)
-+
-+type Nfgenmsg struct {
-+	Nfgen_family uint8
-+	Version      uint8
-+	Res_id       uint16
-+}
-+
-+const (
-+	NFNL_BATCH_UNSPEC = 0x0
-+	NFNL_BATCH_GENID  = 0x1
-+)
-+
-+const (
-+	NFT_REG_VERDICT                   = 0x0
-+	NFT_REG_1                         = 0x1
-+	NFT_REG_2                         = 0x2
-+	NFT_REG_3                         = 0x3
-+	NFT_REG_4                         = 0x4
-+	NFT_REG32_00                      = 0x8
-+	NFT_REG32_01                      = 0x9
-+	NFT_REG32_02                      = 0xa
-+	NFT_REG32_03                      = 0xb
-+	NFT_REG32_04                      = 0xc
-+	NFT_REG32_05                      = 0xd
-+	NFT_REG32_06                      = 0xe
-+	NFT_REG32_07                      = 0xf
-+	NFT_REG32_08                      = 0x10
-+	NFT_REG32_09                      = 0x11
-+	NFT_REG32_10                      = 0x12
-+	NFT_REG32_11                      = 0x13
-+	NFT_REG32_12                      = 0x14
-+	NFT_REG32_13                      = 0x15
-+	NFT_REG32_14                      = 0x16
-+	NFT_REG32_15                      = 0x17
-+	NFT_CONTINUE                      = -0x1
-+	NFT_BREAK                         = -0x2
-+	NFT_JUMP                          = -0x3
-+	NFT_GOTO                          = -0x4
-+	NFT_RETURN                        = -0x5
-+	NFT_MSG_NEWTABLE                  = 0x0
-+	NFT_MSG_GETTABLE                  = 0x1
-+	NFT_MSG_DELTABLE                  = 0x2
-+	NFT_MSG_NEWCHAIN                  = 0x3
-+	NFT_MSG_GETCHAIN                  = 0x4
-+	NFT_MSG_DELCHAIN                  = 0x5
-+	NFT_MSG_NEWRULE                   = 0x6
-+	NFT_MSG_GETRULE                   = 0x7
-+	NFT_MSG_DELRULE                   = 0x8
-+	NFT_MSG_NEWSET                    = 0x9
-+	NFT_MSG_GETSET                    = 0xa
-+	NFT_MSG_DELSET                    = 0xb
-+	NFT_MSG_NEWSETELEM                = 0xc
-+	NFT_MSG_GETSETELEM                = 0xd
-+	NFT_MSG_DELSETELEM                = 0xe
-+	NFT_MSG_NEWGEN                    = 0xf
-+	NFT_MSG_GETGEN                    = 0x10
-+	NFT_MSG_TRACE                     = 0x11
-+	NFT_MSG_NEWOBJ                    = 0x12
-+	NFT_MSG_GETOBJ                    = 0x13
-+	NFT_MSG_DELOBJ                    = 0x14
-+	NFT_MSG_GETOBJ_RESET              = 0x15
-+	NFT_MSG_MAX                       = 0x19
-+	NFTA_LIST_UNPEC                   = 0x0
-+	NFTA_LIST_ELEM                    = 0x1
-+	NFTA_HOOK_UNSPEC                  = 0x0
-+	NFTA_HOOK_HOOKNUM                 = 0x1
-+	NFTA_HOOK_PRIORITY                = 0x2
-+	NFTA_HOOK_DEV                     = 0x3
-+	NFT_TABLE_F_DORMANT               = 0x1
-+	NFTA_TABLE_UNSPEC                 = 0x0
-+	NFTA_TABLE_NAME                   = 0x1
-+	NFTA_TABLE_FLAGS                  = 0x2
-+	NFTA_TABLE_USE                    = 0x3
-+	NFTA_CHAIN_UNSPEC                 = 0x0
-+	NFTA_CHAIN_TABLE                  = 0x1
-+	NFTA_CHAIN_HANDLE                 = 0x2
-+	NFTA_CHAIN_NAME                   = 0x3
-+	NFTA_CHAIN_HOOK                   = 0x4
-+	NFTA_CHAIN_POLICY                 = 0x5
-+	NFTA_CHAIN_USE                    = 0x6
-+	NFTA_CHAIN_TYPE                   = 0x7
-+	NFTA_CHAIN_COUNTERS               = 0x8
-+	NFTA_CHAIN_PAD                    = 0x9
-+	NFTA_RULE_UNSPEC                  = 0x0
-+	NFTA_RULE_TABLE                   = 0x1
-+	NFTA_RULE_CHAIN                   = 0x2
-+	NFTA_RULE_HANDLE                  = 0x3
-+	NFTA_RULE_EXPRESSIONS             = 0x4
-+	NFTA_RULE_COMPAT                  = 0x5
-+	NFTA_RULE_POSITION                = 0x6
-+	NFTA_RULE_USERDATA                = 0x7
-+	NFTA_RULE_PAD                     = 0x8
-+	NFTA_RULE_ID                      = 0x9
-+	NFT_RULE_COMPAT_F_INV             = 0x2
-+	NFT_RULE_COMPAT_F_MASK            = 0x2
-+	NFTA_RULE_COMPAT_UNSPEC           = 0x0
-+	NFTA_RULE_COMPAT_PROTO            = 0x1
-+	NFTA_RULE_COMPAT_FLAGS            = 0x2
-+	NFT_SET_ANONYMOUS                 = 0x1
-+	NFT_SET_CONSTANT                  = 0x2
-+	NFT_SET_INTERVAL                  = 0x4
-+	NFT_SET_MAP                       = 0x8
-+	NFT_SET_TIMEOUT                   = 0x10
-+	NFT_SET_EVAL                      = 0x20
-+	NFT_SET_OBJECT                    = 0x40
-+	NFT_SET_POL_PERFORMANCE           = 0x0
-+	NFT_SET_POL_MEMORY                = 0x1
-+	NFTA_SET_DESC_UNSPEC              = 0x0
-+	NFTA_SET_DESC_SIZE                = 0x1
-+	NFTA_SET_UNSPEC                   = 0x0
-+	NFTA_SET_TABLE                    = 0x1
-+	NFTA_SET_NAME                     = 0x2
-+	NFTA_SET_FLAGS                    = 0x3
-+	NFTA_SET_KEY_TYPE                 = 0x4
-+	NFTA_SET_KEY_LEN                  = 0x5
-+	NFTA_SET_DATA_TYPE                = 0x6
-+	NFTA_SET_DATA_LEN                 = 0x7
-+	NFTA_SET_POLICY                   = 0x8
-+	NFTA_SET_DESC                     = 0x9
-+	NFTA_SET_ID                       = 0xa
-+	NFTA_SET_TIMEOUT                  = 0xb
-+	NFTA_SET_GC_INTERVAL              = 0xc
-+	NFTA_SET_USERDATA                 = 0xd
-+	NFTA_SET_PAD                      = 0xe
-+	NFTA_SET_OBJ_TYPE                 = 0xf
-+	NFT_SET_ELEM_INTERVAL_END         = 0x1
-+	NFTA_SET_ELEM_UNSPEC              = 0x0
-+	NFTA_SET_ELEM_KEY                 = 0x1
-+	NFTA_SET_ELEM_DATA                = 0x2
-+	NFTA_SET_ELEM_FLAGS               = 0x3
-+	NFTA_SET_ELEM_TIMEOUT             = 0x4
-+	NFTA_SET_ELEM_EXPIRATION          = 0x5
-+	NFTA_SET_ELEM_USERDATA            = 0x6
-+	NFTA_SET_ELEM_EXPR                = 0x7
-+	NFTA_SET_ELEM_PAD                 = 0x8
-+	NFTA_SET_ELEM_OBJREF              = 0x9
-+	NFTA_SET_ELEM_LIST_UNSPEC         = 0x0
-+	NFTA_SET_ELEM_LIST_TABLE          = 0x1
-+	NFTA_SET_ELEM_LIST_SET            = 0x2
-+	NFTA_SET_ELEM_LIST_ELEMENTS       = 0x3
-+	NFTA_SET_ELEM_LIST_SET_ID         = 0x4
-+	NFT_DATA_VALUE                    = 0x0
-+	NFT_DATA_VERDICT                  = 0xffffff00
-+	NFTA_DATA_UNSPEC                  = 0x0
-+	NFTA_DATA_VALUE                   = 0x1
-+	NFTA_DATA_VERDICT                 = 0x2
-+	NFTA_VERDICT_UNSPEC               = 0x0
-+	NFTA_VERDICT_CODE                 = 0x1
-+	NFTA_VERDICT_CHAIN                = 0x2
-+	NFTA_EXPR_UNSPEC                  = 0x0
-+	NFTA_EXPR_NAME                    = 0x1
-+	NFTA_EXPR_DATA                    = 0x2
-+	NFTA_IMMEDIATE_UNSPEC             = 0x0
-+	NFTA_IMMEDIATE_DREG               = 0x1
-+	NFTA_IMMEDIATE_DATA               = 0x2
-+	NFTA_BITWISE_UNSPEC               = 0x0
-+	NFTA_BITWISE_SREG                 = 0x1
-+	NFTA_BITWISE_DREG                 = 0x2
-+	NFTA_BITWISE_LEN                  = 0x3
-+	NFTA_BITWISE_MASK                 = 0x4
-+	NFTA_BITWISE_XOR                  = 0x5
-+	NFT_BYTEORDER_NTOH                = 0x0
-+	NFT_BYTEORDER_HTON                = 0x1
-+	NFTA_BYTEORDER_UNSPEC             = 0x0
-+	NFTA_BYTEORDER_SREG               = 0x1
-+	NFTA_BYTEORDER_DREG               = 0x2
-+	NFTA_BYTEORDER_OP                 = 0x3
-+	NFTA_BYTEORDER_LEN                = 0x4
-+	NFTA_BYTEORDER_SIZE               = 0x5
-+	NFT_CMP_EQ                        = 0x0
-+	NFT_CMP_NEQ                       = 0x1
-+	NFT_CMP_LT                        = 0x2
-+	NFT_CMP_LTE                       = 0x3
-+	NFT_CMP_GT                        = 0x4
-+	NFT_CMP_GTE                       = 0x5
-+	NFTA_CMP_UNSPEC                   = 0x0
-+	NFTA_CMP_SREG                     = 0x1
-+	NFTA_CMP_OP                       = 0x2
-+	NFTA_CMP_DATA                     = 0x3
-+	NFT_RANGE_EQ                      = 0x0
-+	NFT_RANGE_NEQ                     = 0x1
-+	NFTA_RANGE_UNSPEC                 = 0x0
-+	NFTA_RANGE_SREG                   = 0x1
-+	NFTA_RANGE_OP                     = 0x2
-+	NFTA_RANGE_FROM_DATA              = 0x3
-+	NFTA_RANGE_TO_DATA                = 0x4
-+	NFT_LOOKUP_F_INV                  = 0x1
-+	NFTA_LOOKUP_UNSPEC                = 0x0
-+	NFTA_LOOKUP_SET                   = 0x1
-+	NFTA_LOOKUP_SREG                  = 0x2
-+	NFTA_LOOKUP_DREG                  = 0x3
-+	NFTA_LOOKUP_SET_ID                = 0x4
-+	NFTA_LOOKUP_FLAGS                 = 0x5
-+	NFT_DYNSET_OP_ADD                 = 0x0
-+	NFT_DYNSET_OP_UPDATE              = 0x1
-+	NFT_DYNSET_F_INV                  = 0x1
-+	NFTA_DYNSET_UNSPEC                = 0x0
-+	NFTA_DYNSET_SET_NAME              = 0x1
-+	NFTA_DYNSET_SET_ID                = 0x2
-+	NFTA_DYNSET_OP                    = 0x3
-+	NFTA_DYNSET_SREG_KEY              = 0x4
-+	NFTA_DYNSET_SREG_DATA             = 0x5
-+	NFTA_DYNSET_TIMEOUT               = 0x6
-+	NFTA_DYNSET_EXPR                  = 0x7
-+	NFTA_DYNSET_PAD                   = 0x8
-+	NFTA_DYNSET_FLAGS                 = 0x9
-+	NFT_PAYLOAD_LL_HEADER             = 0x0
-+	NFT_PAYLOAD_NETWORK_HEADER        = 0x1
-+	NFT_PAYLOAD_TRANSPORT_HEADER      = 0x2
-+	NFT_PAYLOAD_CSUM_NONE             = 0x0
-+	NFT_PAYLOAD_CSUM_INET             = 0x1
-+	NFT_PAYLOAD_L4CSUM_PSEUDOHDR      = 0x1
-+	NFTA_PAYLOAD_UNSPEC               = 0x0
-+	NFTA_PAYLOAD_DREG                 = 0x1
-+	NFTA_PAYLOAD_BASE                 = 0x2
-+	NFTA_PAYLOAD_OFFSET               = 0x3
-+	NFTA_PAYLOAD_LEN                  = 0x4
-+	NFTA_PAYLOAD_SREG                 = 0x5
-+	NFTA_PAYLOAD_CSUM_TYPE            = 0x6
-+	NFTA_PAYLOAD_CSUM_OFFSET          = 0x7
-+	NFTA_PAYLOAD_CSUM_FLAGS           = 0x8
-+	NFT_EXTHDR_F_PRESENT              = 0x1
-+	NFT_EXTHDR_OP_IPV6                = 0x0
-+	NFT_EXTHDR_OP_TCPOPT              = 0x1
-+	NFTA_EXTHDR_UNSPEC                = 0x0
-+	NFTA_EXTHDR_DREG                  = 0x1
-+	NFTA_EXTHDR_TYPE                  = 0x2
-+	NFTA_EXTHDR_OFFSET                = 0x3
-+	NFTA_EXTHDR_LEN                   = 0x4
-+	NFTA_EXTHDR_FLAGS                 = 0x5
-+	NFTA_EXTHDR_OP                    = 0x6
-+	NFTA_EXTHDR_SREG                  = 0x7
-+	NFT_META_LEN                      = 0x0
-+	NFT_META_PROTOCOL                 = 0x1
-+	NFT_META_PRIORITY                 = 0x2
-+	NFT_META_MARK                     = 0x3
-+	NFT_META_IIF                      = 0x4
-+	NFT_META_OIF                      = 0x5
-+	NFT_META_IIFNAME                  = 0x6
-+	NFT_META_OIFNAME                  = 0x7
-+	NFT_META_IIFTYPE                  = 0x8
-+	NFT_META_OIFTYPE                  = 0x9
-+	NFT_META_SKUID                    = 0xa
-+	NFT_META_SKGID                    = 0xb
-+	NFT_META_NFTRACE                  = 0xc
-+	NFT_META_RTCLASSID                = 0xd
-+	NFT_META_SECMARK                  = 0xe
-+	NFT_META_NFPROTO                  = 0xf
-+	NFT_META_L4PROTO                  = 0x10
-+	NFT_META_BRI_IIFNAME              = 0x11
-+	NFT_META_BRI_OIFNAME              = 0x12
-+	NFT_META_PKTTYPE                  = 0x13
-+	NFT_META_CPU                      = 0x14
-+	NFT_META_IIFGROUP                 = 0x15
-+	NFT_META_OIFGROUP                 = 0x16
-+	NFT_META_CGROUP                   = 0x17
-+	NFT_META_PRANDOM                  = 0x18
-+	NFT_RT_CLASSID                    = 0x0
-+	NFT_RT_NEXTHOP4                   = 0x1
-+	NFT_RT_NEXTHOP6                   = 0x2
-+	NFT_RT_TCPMSS                     = 0x3
-+	NFT_HASH_JENKINS                  = 0x0
-+	NFT_HASH_SYM                      = 0x1
-+	NFTA_HASH_UNSPEC                  = 0x0
-+	NFTA_HASH_SREG                    = 0x1
-+	NFTA_HASH_DREG                    = 0x2
-+	NFTA_HASH_LEN                     = 0x3
-+	NFTA_HASH_MODULUS                 = 0x4
-+	NFTA_HASH_SEED                    = 0x5
-+	NFTA_HASH_OFFSET                  = 0x6
-+	NFTA_HASH_TYPE                    = 0x7
-+	NFTA_META_UNSPEC                  = 0x0
-+	NFTA_META_DREG                    = 0x1
-+	NFTA_META_KEY                     = 0x2
-+	NFTA_META_SREG                    = 0x3
-+	NFTA_RT_UNSPEC                    = 0x0
-+	NFTA_RT_DREG                      = 0x1
-+	NFTA_RT_KEY                       = 0x2
-+	NFT_CT_STATE                      = 0x0
-+	NFT_CT_DIRECTION                  = 0x1
-+	NFT_CT_STATUS                     = 0x2
-+	NFT_CT_MARK                       = 0x3
-+	NFT_CT_SECMARK                    = 0x4
-+	NFT_CT_EXPIRATION                 = 0x5
-+	NFT_CT_HELPER                     = 0x6
-+	NFT_CT_L3PROTOCOL                 = 0x7
-+	NFT_CT_SRC                        = 0x8
-+	NFT_CT_DST                        = 0x9
-+	NFT_CT_PROTOCOL                   = 0xa
-+	NFT_CT_PROTO_SRC                  = 0xb
-+	NFT_CT_PROTO_DST                  = 0xc
-+	NFT_CT_LABELS                     = 0xd
-+	NFT_CT_PKTS                       = 0xe
-+	NFT_CT_BYTES                      = 0xf
-+	NFT_CT_AVGPKT                     = 0x10
-+	NFT_CT_ZONE                       = 0x11
-+	NFT_CT_EVENTMASK                  = 0x12
-+	NFTA_CT_UNSPEC                    = 0x0
-+	NFTA_CT_DREG                      = 0x1
-+	NFTA_CT_KEY                       = 0x2
-+	NFTA_CT_DIRECTION                 = 0x3
-+	NFTA_CT_SREG                      = 0x4
-+	NFT_LIMIT_PKTS                    = 0x0
-+	NFT_LIMIT_PKT_BYTES               = 0x1
-+	NFT_LIMIT_F_INV                   = 0x1
-+	NFTA_LIMIT_UNSPEC                 = 0x0
-+	NFTA_LIMIT_RATE                   = 0x1
-+	NFTA_LIMIT_UNIT                   = 0x2
-+	NFTA_LIMIT_BURST                  = 0x3
-+	NFTA_LIMIT_TYPE                   = 0x4
-+	NFTA_LIMIT_FLAGS                  = 0x5
-+	NFTA_LIMIT_PAD                    = 0x6
-+	NFTA_COUNTER_UNSPEC               = 0x0
-+	NFTA_COUNTER_BYTES                = 0x1
-+	NFTA_COUNTER_PACKETS              = 0x2
-+	NFTA_COUNTER_PAD                  = 0x3
-+	NFTA_LOG_UNSPEC                   = 0x0
-+	NFTA_LOG_GROUP                    = 0x1
-+	NFTA_LOG_PREFIX                   = 0x2
-+	NFTA_LOG_SNAPLEN                  = 0x3
-+	NFTA_LOG_QTHRESHOLD               = 0x4
-+	NFTA_LOG_LEVEL                    = 0x5
-+	NFTA_LOG_FLAGS                    = 0x6
-+	NFTA_QUEUE_UNSPEC                 = 0x0
-+	NFTA_QUEUE_NUM                    = 0x1
-+	NFTA_QUEUE_TOTAL                  = 0x2
-+	NFTA_QUEUE_FLAGS                  = 0x3
-+	NFTA_QUEUE_SREG_QNUM              = 0x4
-+	NFT_QUOTA_F_INV                   = 0x1
-+	NFT_QUOTA_F_DEPLETED              = 0x2
-+	NFTA_QUOTA_UNSPEC                 = 0x0
-+	NFTA_QUOTA_BYTES                  = 0x1
-+	NFTA_QUOTA_FLAGS                  = 0x2
-+	NFTA_QUOTA_PAD                    = 0x3
-+	NFTA_QUOTA_CONSUMED               = 0x4
-+	NFT_REJECT_ICMP_UNREACH           = 0x0
-+	NFT_REJECT_TCP_RST                = 0x1
-+	NFT_REJECT_ICMPX_UNREACH          = 0x2
-+	NFT_REJECT_ICMPX_NO_ROUTE         = 0x0
-+	NFT_REJECT_ICMPX_PORT_UNREACH     = 0x1
-+	NFT_REJECT_ICMPX_HOST_UNREACH     = 0x2
-+	NFT_REJECT_ICMPX_ADMIN_PROHIBITED = 0x3
-+	NFTA_REJECT_UNSPEC                = 0x0
-+	NFTA_REJECT_TYPE                  = 0x1
-+	NFTA_REJECT_ICMP_CODE             = 0x2
-+	NFT_NAT_SNAT                      = 0x0
-+	NFT_NAT_DNAT                      = 0x1
-+	NFTA_NAT_UNSPEC                   = 0x0
-+	NFTA_NAT_TYPE                     = 0x1
-+	NFTA_NAT_FAMILY                   = 0x2
-+	NFTA_NAT_REG_ADDR_MIN             = 0x3
-+	NFTA_NAT_REG_ADDR_MAX             = 0x4
-+	NFTA_NAT_REG_PROTO_MIN            = 0x5
-+	NFTA_NAT_REG_PROTO_MAX            = 0x6
-+	NFTA_NAT_FLAGS                    = 0x7
-+	NFTA_MASQ_UNSPEC                  = 0x0
-+	NFTA_MASQ_FLAGS                   = 0x1
-+	NFTA_MASQ_REG_PROTO_MIN           = 0x2
-+	NFTA_MASQ_REG_PROTO_MAX           = 0x3
-+	NFTA_REDIR_UNSPEC                 = 0x0
-+	NFTA_REDIR_REG_PROTO_MIN          = 0x1
-+	NFTA_REDIR_REG_PROTO_MAX          = 0x2
-+	NFTA_REDIR_FLAGS                  = 0x3
-+	NFTA_DUP_UNSPEC                   = 0x0
-+	NFTA_DUP_SREG_ADDR                = 0x1
-+	NFTA_DUP_SREG_DEV                 = 0x2
-+	NFTA_FWD_UNSPEC                   = 0x0
-+	NFTA_FWD_SREG_DEV                 = 0x1
-+	NFTA_OBJREF_UNSPEC                = 0x0
-+	NFTA_OBJREF_IMM_TYPE              = 0x1
-+	NFTA_OBJREF_IMM_NAME              = 0x2
-+	NFTA_OBJREF_SET_SREG              = 0x3
-+	NFTA_OBJREF_SET_NAME              = 0x4
-+	NFTA_OBJREF_SET_ID                = 0x5
-+	NFTA_GEN_UNSPEC                   = 0x0
-+	NFTA_GEN_ID                       = 0x1
-+	NFTA_GEN_PROC_PID                 = 0x2
-+	NFTA_GEN_PROC_NAME                = 0x3
-+	NFTA_FIB_UNSPEC                   = 0x0
-+	NFTA_FIB_DREG                     = 0x1
-+	NFTA_FIB_RESULT                   = 0x2
-+	NFTA_FIB_FLAGS                    = 0x3
-+	NFT_FIB_RESULT_UNSPEC             = 0x0
-+	NFT_FIB_RESULT_OIF                = 0x1
-+	NFT_FIB_RESULT_OIFNAME            = 0x2
-+	NFT_FIB_RESULT_ADDRTYPE           = 0x3
-+	NFTA_FIB_F_SADDR                  = 0x1
-+	NFTA_FIB_F_DADDR                  = 0x2
-+	NFTA_FIB_F_MARK                   = 0x4
-+	NFTA_FIB_F_IIF                    = 0x8
-+	NFTA_FIB_F_OIF                    = 0x10
-+	NFTA_FIB_F_PRESENT                = 0x20
-+	NFTA_CT_HELPER_UNSPEC             = 0x0
-+	NFTA_CT_HELPER_NAME               = 0x1
-+	NFTA_CT_HELPER_L3PROTO            = 0x2
-+	NFTA_CT_HELPER_L4PROTO            = 0x3
-+	NFTA_OBJ_UNSPEC                   = 0x0
-+	NFTA_OBJ_TABLE                    = 0x1
-+	NFTA_OBJ_NAME                     = 0x2
-+	NFTA_OBJ_TYPE                     = 0x3
-+	NFTA_OBJ_DATA                     = 0x4
-+	NFTA_OBJ_USE                      = 0x5
-+	NFTA_TRACE_UNSPEC                 = 0x0
-+	NFTA_TRACE_TABLE                  = 0x1
-+	NFTA_TRACE_CHAIN                  = 0x2
-+	NFTA_TRACE_RULE_HANDLE            = 0x3
-+	NFTA_TRACE_TYPE                   = 0x4
-+	NFTA_TRACE_VERDICT                = 0x5
-+	NFTA_TRACE_ID                     = 0x6
-+	NFTA_TRACE_LL_HEADER              = 0x7
-+	NFTA_TRACE_NETWORK_HEADER         = 0x8
-+	NFTA_TRACE_TRANSPORT_HEADER       = 0x9
-+	NFTA_TRACE_IIF                    = 0xa
-+	NFTA_TRACE_IIFTYPE                = 0xb
-+	NFTA_TRACE_OIF                    = 0xc
-+	NFTA_TRACE_OIFTYPE                = 0xd
-+	NFTA_TRACE_MARK                   = 0xe
-+	NFTA_TRACE_NFPROTO                = 0xf
-+	NFTA_TRACE_POLICY                 = 0x10
-+	NFTA_TRACE_PAD                    = 0x11
-+	NFT_TRACETYPE_UNSPEC              = 0x0
-+	NFT_TRACETYPE_POLICY              = 0x1
-+	NFT_TRACETYPE_RETURN              = 0x2
-+	NFT_TRACETYPE_RULE                = 0x3
-+	NFTA_NG_UNSPEC                    = 0x0
-+	NFTA_NG_DREG                      = 0x1
-+	NFTA_NG_MODULUS                   = 0x2
-+	NFTA_NG_TYPE                      = 0x3
-+	NFTA_NG_OFFSET                    = 0x4
-+	NFT_NG_INCREMENTAL                = 0x0
-+	NFT_NG_RANDOM                     = 0x1
-+)
-+
-+type RTCTime struct {
-+	Sec   int32
-+	Min   int32
-+	Hour  int32
-+	Mday  int32
-+	Mon   int32
-+	Year  int32
-+	Wday  int32
-+	Yday  int32
-+	Isdst int32
-+}
-+
-+type RTCWkAlrm struct {
-+	Enabled uint8
-+	Pending uint8
-+	Time    RTCTime
-+}
-+
-+type BlkpgIoctlArg struct {
-+	Op      int32
-+	Flags   int32
-+	Datalen int32
-+	Data    *byte
-+}
-+
-+const (
-+	BLKPG_ADD_PARTITION    = 0x1
-+	BLKPG_DEL_PARTITION    = 0x2
-+	BLKPG_RESIZE_PARTITION = 0x3
-+)
-+
-+const (
-+	NETNSA_NONE = 0x0
-+	NETNSA_NSID = 0x1
-+	NETNSA_PID  = 0x2
-+	NETNSA_FD   = 0x3
-+)
-+
-+type XDPRingOffset struct {
-+	Producer uint64
-+	Consumer uint64
-+	Desc     uint64
-+	Flags    uint64
-+}
-+
-+type XDPMmapOffsets struct {
-+	Rx XDPRingOffset
-+	Tx XDPRingOffset
-+	Fr XDPRingOffset
-+	Cr XDPRingOffset
-+}
-+
-+type XDPStatistics struct {
-+	Rx_dropped       uint64
-+	Rx_invalid_descs uint64
-+	Tx_invalid_descs uint64
-+}
-+
-+type XDPDesc struct {
-+	Addr    uint64
-+	Len     uint32
-+	Options uint32
-+}
-+
-+const (
-+	NCSI_CMD_UNSPEC                 = 0x0
-+	NCSI_CMD_PKG_INFO               = 0x1
-+	NCSI_CMD_SET_INTERFACE          = 0x2
-+	NCSI_CMD_CLEAR_INTERFACE        = 0x3
-+	NCSI_ATTR_UNSPEC                = 0x0
-+	NCSI_ATTR_IFINDEX               = 0x1
-+	NCSI_ATTR_PACKAGE_LIST          = 0x2
-+	NCSI_ATTR_PACKAGE_ID            = 0x3
-+	NCSI_ATTR_CHANNEL_ID            = 0x4
-+	NCSI_PKG_ATTR_UNSPEC            = 0x0
-+	NCSI_PKG_ATTR                   = 0x1
-+	NCSI_PKG_ATTR_ID                = 0x2
-+	NCSI_PKG_ATTR_FORCED            = 0x3
-+	NCSI_PKG_ATTR_CHANNEL_LIST      = 0x4
-+	NCSI_CHANNEL_ATTR_UNSPEC        = 0x0
-+	NCSI_CHANNEL_ATTR               = 0x1
-+	NCSI_CHANNEL_ATTR_ID            = 0x2
-+	NCSI_CHANNEL_ATTR_VERSION_MAJOR = 0x3
-+	NCSI_CHANNEL_ATTR_VERSION_MINOR = 0x4
-+	NCSI_CHANNEL_ATTR_VERSION_STR   = 0x5
-+	NCSI_CHANNEL_ATTR_LINK_STATE    = 0x6
-+	NCSI_CHANNEL_ATTR_ACTIVE        = 0x7
-+	NCSI_CHANNEL_ATTR_FORCED        = 0x8
-+	NCSI_CHANNEL_ATTR_VLAN_LIST     = 0x9
-+	NCSI_CHANNEL_ATTR_VLAN_ID       = 0xa
-+)
-+
-+type ScmTimestamping struct {
-+	Ts [3]Timespec
-+}
-+
-+const (
-+	SOF_TIMESTAMPING_TX_HARDWARE  = 0x1
-+	SOF_TIMESTAMPING_TX_SOFTWARE  = 0x2
-+	SOF_TIMESTAMPING_RX_HARDWARE  = 0x4
-+	SOF_TIMESTAMPING_RX_SOFTWARE  = 0x8
-+	SOF_TIMESTAMPING_SOFTWARE     = 0x10
-+	SOF_TIMESTAMPING_SYS_HARDWARE = 0x20
-+	SOF_TIMESTAMPING_RAW_HARDWARE = 0x40
-+	SOF_TIMESTAMPING_OPT_ID       = 0x80
-+	SOF_TIMESTAMPING_TX_SCHED     = 0x100
-+	SOF_TIMESTAMPING_TX_ACK       = 0x200
-+	SOF_TIMESTAMPING_OPT_CMSG     = 0x400
-+	SOF_TIMESTAMPING_OPT_TSONLY   = 0x800
-+	SOF_TIMESTAMPING_OPT_STATS    = 0x1000
-+	SOF_TIMESTAMPING_OPT_PKTINFO  = 0x2000
-+	SOF_TIMESTAMPING_OPT_TX_SWHW  = 0x4000
-+
-+	SOF_TIMESTAMPING_LAST = 0x4000
-+	SOF_TIMESTAMPING_MASK = 0x7fff
-+
-+	SCM_TSTAMP_SND   = 0x0
-+	SCM_TSTAMP_SCHED = 0x1
-+	SCM_TSTAMP_ACK   = 0x2
-+)
-+
-+type SockExtendedErr struct {
-+	Errno  uint32
-+	Origin uint8
-+	Type   uint8
-+	Code   uint8
-+	Pad    uint8
-+	Info   uint32
-+	Data   uint32
-+}
-+
-+type FanotifyEventMetadata struct {
-+	Event_len    uint32
-+	Vers         uint8
-+	Reserved     uint8
-+	Metadata_len uint16
-+	Mask         uint64
-+	Fd           int32
-+	Pid          int32
-+}
-+
-+type FanotifyResponse struct {
-+	Fd       int32
-+	Response uint32
-+}
-+
-+const (
-+	CRYPTO_MSG_BASE      = 0x10
-+	CRYPTO_MSG_NEWALG    = 0x10
-+	CRYPTO_MSG_DELALG    = 0x11
-+	CRYPTO_MSG_UPDATEALG = 0x12
-+	CRYPTO_MSG_GETALG    = 0x13
-+	CRYPTO_MSG_DELRNG    = 0x14
-+	CRYPTO_MSG_GETSTAT   = 0x15
-+)
-+
-+const (
-+	CRYPTOCFGA_UNSPEC           = 0x0
-+	CRYPTOCFGA_PRIORITY_VAL     = 0x1
-+	CRYPTOCFGA_REPORT_LARVAL    = 0x2
-+	CRYPTOCFGA_REPORT_HASH      = 0x3
-+	CRYPTOCFGA_REPORT_BLKCIPHER = 0x4
-+	CRYPTOCFGA_REPORT_AEAD      = 0x5
-+	CRYPTOCFGA_REPORT_COMPRESS  = 0x6
-+	CRYPTOCFGA_REPORT_RNG       = 0x7
-+	CRYPTOCFGA_REPORT_CIPHER    = 0x8
-+	CRYPTOCFGA_REPORT_AKCIPHER  = 0x9
-+	CRYPTOCFGA_REPORT_KPP       = 0xa
-+	CRYPTOCFGA_REPORT_ACOMP     = 0xb
-+	CRYPTOCFGA_STAT_LARVAL      = 0xc
-+	CRYPTOCFGA_STAT_HASH        = 0xd
-+	CRYPTOCFGA_STAT_BLKCIPHER   = 0xe
-+	CRYPTOCFGA_STAT_AEAD        = 0xf
-+	CRYPTOCFGA_STAT_COMPRESS    = 0x10
-+	CRYPTOCFGA_STAT_RNG         = 0x11
-+	CRYPTOCFGA_STAT_CIPHER      = 0x12
-+	CRYPTOCFGA_STAT_AKCIPHER    = 0x13
-+	CRYPTOCFGA_STAT_KPP         = 0x14
-+	CRYPTOCFGA_STAT_ACOMP       = 0x15
-+)
-+
-+const (
-+	BPF_REG_0                             = 0x0
-+	BPF_REG_1                             = 0x1
-+	BPF_REG_2                             = 0x2
-+	BPF_REG_3                             = 0x3
-+	BPF_REG_4                             = 0x4
-+	BPF_REG_5                             = 0x5
-+	BPF_REG_6                             = 0x6
-+	BPF_REG_7                             = 0x7
-+	BPF_REG_8                             = 0x8
-+	BPF_REG_9                             = 0x9
-+	BPF_REG_10                            = 0xa
-+	BPF_MAP_CREATE                        = 0x0
-+	BPF_MAP_LOOKUP_ELEM                   = 0x1
-+	BPF_MAP_UPDATE_ELEM                   = 0x2
-+	BPF_MAP_DELETE_ELEM                   = 0x3
-+	BPF_MAP_GET_NEXT_KEY                  = 0x4
-+	BPF_PROG_LOAD                         = 0x5
-+	BPF_OBJ_PIN                           = 0x6
-+	BPF_OBJ_GET                           = 0x7
-+	BPF_PROG_ATTACH                       = 0x8
-+	BPF_PROG_DETACH                       = 0x9
-+	BPF_PROG_TEST_RUN                     = 0xa
-+	BPF_PROG_GET_NEXT_ID                  = 0xb
-+	BPF_MAP_GET_NEXT_ID                   = 0xc
-+	BPF_PROG_GET_FD_BY_ID                 = 0xd
-+	BPF_MAP_GET_FD_BY_ID                  = 0xe
-+	BPF_OBJ_GET_INFO_BY_FD                = 0xf
-+	BPF_PROG_QUERY                        = 0x10
-+	BPF_RAW_TRACEPOINT_OPEN               = 0x11
-+	BPF_BTF_LOAD                          = 0x12
-+	BPF_BTF_GET_FD_BY_ID                  = 0x13
-+	BPF_TASK_FD_QUERY                     = 0x14
-+	BPF_MAP_LOOKUP_AND_DELETE_ELEM        = 0x15
-+	BPF_MAP_FREEZE                        = 0x16
-+	BPF_BTF_GET_NEXT_ID                   = 0x17
-+	BPF_MAP_TYPE_UNSPEC                   = 0x0
-+	BPF_MAP_TYPE_HASH                     = 0x1
-+	BPF_MAP_TYPE_ARRAY                    = 0x2
-+	BPF_MAP_TYPE_PROG_ARRAY               = 0x3
-+	BPF_MAP_TYPE_PERF_EVENT_ARRAY         = 0x4
-+	BPF_MAP_TYPE_PERCPU_HASH              = 0x5
-+	BPF_MAP_TYPE_PERCPU_ARRAY             = 0x6
-+	BPF_MAP_TYPE_STACK_TRACE              = 0x7
-+	BPF_MAP_TYPE_CGROUP_ARRAY             = 0x8
-+	BPF_MAP_TYPE_LRU_HASH                 = 0x9
-+	BPF_MAP_TYPE_LRU_PERCPU_HASH          = 0xa
-+	BPF_MAP_TYPE_LPM_TRIE                 = 0xb
-+	BPF_MAP_TYPE_ARRAY_OF_MAPS            = 0xc
-+	BPF_MAP_TYPE_HASH_OF_MAPS             = 0xd
-+	BPF_MAP_TYPE_DEVMAP                   = 0xe
-+	BPF_MAP_TYPE_SOCKMAP                  = 0xf
-+	BPF_MAP_TYPE_CPUMAP                   = 0x10
-+	BPF_MAP_TYPE_XSKMAP                   = 0x11
-+	BPF_MAP_TYPE_SOCKHASH                 = 0x12
-+	BPF_MAP_TYPE_CGROUP_STORAGE           = 0x13
-+	BPF_MAP_TYPE_REUSEPORT_SOCKARRAY      = 0x14
-+	BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE    = 0x15
-+	BPF_MAP_TYPE_QUEUE                    = 0x16
-+	BPF_MAP_TYPE_STACK                    = 0x17
-+	BPF_MAP_TYPE_SK_STORAGE               = 0x18
-+	BPF_MAP_TYPE_DEVMAP_HASH              = 0x19
-+	BPF_PROG_TYPE_UNSPEC                  = 0x0
-+	BPF_PROG_TYPE_SOCKET_FILTER           = 0x1
-+	BPF_PROG_TYPE_KPROBE                  = 0x2
-+	BPF_PROG_TYPE_SCHED_CLS               = 0x3
-+	BPF_PROG_TYPE_SCHED_ACT               = 0x4
-+	BPF_PROG_TYPE_TRACEPOINT              = 0x5
-+	BPF_PROG_TYPE_XDP                     = 0x6
-+	BPF_PROG_TYPE_PERF_EVENT              = 0x7
-+	BPF_PROG_TYPE_CGROUP_SKB              = 0x8
-+	BPF_PROG_TYPE_CGROUP_SOCK             = 0x9
-+	BPF_PROG_TYPE_LWT_IN                  = 0xa
-+	BPF_PROG_TYPE_LWT_OUT                 = 0xb
-+	BPF_PROG_TYPE_LWT_XMIT                = 0xc
-+	BPF_PROG_TYPE_SOCK_OPS                = 0xd
-+	BPF_PROG_TYPE_SK_SKB                  = 0xe
-+	BPF_PROG_TYPE_CGROUP_DEVICE           = 0xf
-+	BPF_PROG_TYPE_SK_MSG                  = 0x10
-+	BPF_PROG_TYPE_RAW_TRACEPOINT          = 0x11
-+	BPF_PROG_TYPE_CGROUP_SOCK_ADDR        = 0x12
-+	BPF_PROG_TYPE_LWT_SEG6LOCAL           = 0x13
-+	BPF_PROG_TYPE_LIRC_MODE2              = 0x14
-+	BPF_PROG_TYPE_SK_REUSEPORT            = 0x15
-+	BPF_PROG_TYPE_FLOW_DISSECTOR          = 0x16
-+	BPF_PROG_TYPE_CGROUP_SYSCTL           = 0x17
-+	BPF_PROG_TYPE_RAW_TRACEPOINT_WRITABLE = 0x18
-+	BPF_PROG_TYPE_CGROUP_SOCKOPT          = 0x19
-+	BPF_PROG_TYPE_TRACING                 = 0x1a
-+	BPF_CGROUP_INET_INGRESS               = 0x0
-+	BPF_CGROUP_INET_EGRESS                = 0x1
-+	BPF_CGROUP_INET_SOCK_CREATE           = 0x2
-+	BPF_CGROUP_SOCK_OPS                   = 0x3
-+	BPF_SK_SKB_STREAM_PARSER              = 0x4
-+	BPF_SK_SKB_STREAM_VERDICT             = 0x5
-+	BPF_CGROUP_DEVICE                     = 0x6
-+	BPF_SK_MSG_VERDICT                    = 0x7
-+	BPF_CGROUP_INET4_BIND                 = 0x8
-+	BPF_CGROUP_INET6_BIND                 = 0x9
-+	BPF_CGROUP_INET4_CONNECT              = 0xa
-+	BPF_CGROUP_INET6_CONNECT              = 0xb
-+	BPF_CGROUP_INET4_POST_BIND            = 0xc
-+	BPF_CGROUP_INET6_POST_BIND            = 0xd
-+	BPF_CGROUP_UDP4_SENDMSG               = 0xe
-+	BPF_CGROUP_UDP6_SENDMSG               = 0xf
-+	BPF_LIRC_MODE2                        = 0x10
-+	BPF_FLOW_DISSECTOR                    = 0x11
-+	BPF_CGROUP_SYSCTL                     = 0x12
-+	BPF_CGROUP_UDP4_RECVMSG               = 0x13
-+	BPF_CGROUP_UDP6_RECVMSG               = 0x14
-+	BPF_CGROUP_GETSOCKOPT                 = 0x15
-+	BPF_CGROUP_SETSOCKOPT                 = 0x16
-+	BPF_TRACE_RAW_TP                      = 0x17
-+	BPF_TRACE_FENTRY                      = 0x18
-+	BPF_TRACE_FEXIT                       = 0x19
-+	BPF_STACK_BUILD_ID_EMPTY              = 0x0
-+	BPF_STACK_BUILD_ID_VALID              = 0x1
-+	BPF_STACK_BUILD_ID_IP                 = 0x2
-+	BPF_ADJ_ROOM_NET                      = 0x0
-+	BPF_ADJ_ROOM_MAC                      = 0x1
-+	BPF_HDR_START_MAC                     = 0x0
-+	BPF_HDR_START_NET                     = 0x1
-+	BPF_LWT_ENCAP_SEG6                    = 0x0
-+	BPF_LWT_ENCAP_SEG6_INLINE             = 0x1
-+	BPF_LWT_ENCAP_IP                      = 0x2
-+	BPF_OK                                = 0x0
-+	BPF_DROP                              = 0x2
-+	BPF_REDIRECT                          = 0x7
-+	BPF_LWT_REROUTE                       = 0x80
-+	BPF_SOCK_OPS_VOID                     = 0x0
-+	BPF_SOCK_OPS_TIMEOUT_INIT             = 0x1
-+	BPF_SOCK_OPS_RWND_INIT                = 0x2
-+	BPF_SOCK_OPS_TCP_CONNECT_CB           = 0x3
-+	BPF_SOCK_OPS_ACTIVE_ESTABLISHED_CB    = 0x4
-+	BPF_SOCK_OPS_PASSIVE_ESTABLISHED_CB   = 0x5
-+	BPF_SOCK_OPS_NEEDS_ECN                = 0x6
-+	BPF_SOCK_OPS_BASE_RTT                 = 0x7
-+	BPF_SOCK_OPS_RTO_CB                   = 0x8
-+	BPF_SOCK_OPS_RETRANS_CB               = 0x9
-+	BPF_SOCK_OPS_STATE_CB                 = 0xa
-+	BPF_SOCK_OPS_TCP_LISTEN_CB            = 0xb
-+	BPF_SOCK_OPS_RTT_CB                   = 0xc
-+	BPF_TCP_ESTABLISHED                   = 0x1
-+	BPF_TCP_SYN_SENT                      = 0x2
-+	BPF_TCP_SYN_RECV                      = 0x3
-+	BPF_TCP_FIN_WAIT1                     = 0x4
-+	BPF_TCP_FIN_WAIT2                     = 0x5
-+	BPF_TCP_TIME_WAIT                     = 0x6
-+	BPF_TCP_CLOSE                         = 0x7
-+	BPF_TCP_CLOSE_WAIT                    = 0x8
-+	BPF_TCP_LAST_ACK                      = 0x9
-+	BPF_TCP_LISTEN                        = 0xa
-+	BPF_TCP_CLOSING                       = 0xb
-+	BPF_TCP_NEW_SYN_RECV                  = 0xc
-+	BPF_TCP_MAX_STATES                    = 0xd
-+	BPF_FIB_LKUP_RET_SUCCESS              = 0x0
-+	BPF_FIB_LKUP_RET_BLACKHOLE            = 0x1
-+	BPF_FIB_LKUP_RET_UNREACHABLE          = 0x2
-+	BPF_FIB_LKUP_RET_PROHIBIT             = 0x3
-+	BPF_FIB_LKUP_RET_NOT_FWDED            = 0x4
-+	BPF_FIB_LKUP_RET_FWD_DISABLED         = 0x5
-+	BPF_FIB_LKUP_RET_UNSUPP_LWT           = 0x6
-+	BPF_FIB_LKUP_RET_NO_NEIGH             = 0x7
-+	BPF_FIB_LKUP_RET_FRAG_NEEDED          = 0x8
-+	BPF_FD_TYPE_RAW_TRACEPOINT            = 0x0
-+	BPF_FD_TYPE_TRACEPOINT                = 0x1
-+	BPF_FD_TYPE_KPROBE                    = 0x2
-+	BPF_FD_TYPE_KRETPROBE                 = 0x3
-+	BPF_FD_TYPE_UPROBE                    = 0x4
-+	BPF_FD_TYPE_URETPROBE                 = 0x5
-+)
-+
-+const (
-+	RTNLGRP_NONE          = 0x0
-+	RTNLGRP_LINK          = 0x1
-+	RTNLGRP_NOTIFY        = 0x2
-+	RTNLGRP_NEIGH         = 0x3
-+	RTNLGRP_TC            = 0x4
-+	RTNLGRP_IPV4_IFADDR   = 0x5
-+	RTNLGRP_IPV4_MROUTE   = 0x6
-+	RTNLGRP_IPV4_ROUTE    = 0x7
-+	RTNLGRP_IPV4_RULE     = 0x8
-+	RTNLGRP_IPV6_IFADDR   = 0x9
-+	RTNLGRP_IPV6_MROUTE   = 0xa
-+	RTNLGRP_IPV6_ROUTE    = 0xb
-+	RTNLGRP_IPV6_IFINFO   = 0xc
-+	RTNLGRP_DECnet_IFADDR = 0xd
-+	RTNLGRP_NOP2          = 0xe
-+	RTNLGRP_DECnet_ROUTE  = 0xf
-+	RTNLGRP_DECnet_RULE   = 0x10
-+	RTNLGRP_NOP4          = 0x11
-+	RTNLGRP_IPV6_PREFIX   = 0x12
-+	RTNLGRP_IPV6_RULE     = 0x13
-+	RTNLGRP_ND_USEROPT    = 0x14
-+	RTNLGRP_PHONET_IFADDR = 0x15
-+	RTNLGRP_PHONET_ROUTE  = 0x16
-+	RTNLGRP_DCB           = 0x17
-+	RTNLGRP_IPV4_NETCONF  = 0x18
-+	RTNLGRP_IPV6_NETCONF  = 0x19
-+	RTNLGRP_MDB           = 0x1a
-+	RTNLGRP_MPLS_ROUTE    = 0x1b
-+	RTNLGRP_NSID          = 0x1c
-+	RTNLGRP_MPLS_NETCONF  = 0x1d
-+	RTNLGRP_IPV4_MROUTE_R = 0x1e
-+	RTNLGRP_IPV6_MROUTE_R = 0x1f
-+	RTNLGRP_NEXTHOP       = 0x20
-+)
-+
-+type CapUserHeader struct {
-+	Version uint32
-+	Pid     int32
-+}
-+
-+type CapUserData struct {
-+	Effective   uint32
-+	Permitted   uint32
-+	Inheritable uint32
-+}
-+
-+const (
-+	LINUX_CAPABILITY_VERSION_1 = 0x19980330
-+	LINUX_CAPABILITY_VERSION_2 = 0x20071026
-+	LINUX_CAPABILITY_VERSION_3 = 0x20080522
-+)
-+
-+const (
-+	LO_FLAGS_READ_ONLY = 0x1
-+	LO_FLAGS_AUTOCLEAR = 0x4
-+	LO_FLAGS_PARTSCAN  = 0x8
-+	LO_FLAGS_DIRECT_IO = 0x10
-+)
-+
-+type LoopInfo64 struct {
-+	Device           uint64
-+	Inode            uint64
-+	Rdevice          uint64
-+	Offset           uint64
-+	Sizelimit        uint64
-+	Number           uint32
-+	Encrypt_type     uint32
-+	Encrypt_key_size uint32
-+	Flags            uint32
-+	File_name        [64]uint8
-+	Crypt_name       [64]uint8
-+	Encrypt_key      [32]uint8
-+	Init             [2]uint64
-+}
-+
-+type TIPCSocketAddr struct {
-+	Ref  uint32
-+	Node uint32
-+}
-+
-+type TIPCServiceRange struct {
-+	Type  uint32
-+	Lower uint32
-+	Upper uint32
-+}
-+
-+type TIPCServiceName struct {
-+	Type     uint32
-+	Instance uint32
-+	Domain   uint32
-+}
-+
-+type TIPCEvent struct {
-+	Event uint32
-+	Lower uint32
-+	Upper uint32
-+	Port  TIPCSocketAddr
-+	S     TIPCSubscr
-+}
-+
-+type TIPCGroupReq struct {
-+	Type     uint32
-+	Instance uint32
-+	Scope    uint32
-+	Flags    uint32
-+}
-+
-+const (
-+	TIPC_CLUSTER_SCOPE = 0x2
-+	TIPC_NODE_SCOPE    = 0x3
-+)
-+
-+const (
-+	SYSLOG_ACTION_CLOSE         = 0
-+	SYSLOG_ACTION_OPEN          = 1
-+	SYSLOG_ACTION_READ          = 2
-+	SYSLOG_ACTION_READ_ALL      = 3
-+	SYSLOG_ACTION_READ_CLEAR    = 4
-+	SYSLOG_ACTION_CLEAR         = 5
-+	SYSLOG_ACTION_CONSOLE_OFF   = 6
-+	SYSLOG_ACTION_CONSOLE_ON    = 7
-+	SYSLOG_ACTION_CONSOLE_LEVEL = 8
-+	SYSLOG_ACTION_SIZE_UNREAD   = 9
-+	SYSLOG_ACTION_SIZE_BUFFER   = 10
-+)
-+
-+const (
-+	DEVLINK_CMD_UNSPEC                        = 0x0
-+	DEVLINK_CMD_GET                           = 0x1
-+	DEVLINK_CMD_SET                           = 0x2
-+	DEVLINK_CMD_NEW                           = 0x3
-+	DEVLINK_CMD_DEL                           = 0x4
-+	DEVLINK_CMD_PORT_GET                      = 0x5
-+	DEVLINK_CMD_PORT_SET                      = 0x6
-+	DEVLINK_CMD_PORT_NEW                      = 0x7
-+	DEVLINK_CMD_PORT_DEL                      = 0x8
-+	DEVLINK_CMD_PORT_SPLIT                    = 0x9
-+	DEVLINK_CMD_PORT_UNSPLIT                  = 0xa
-+	DEVLINK_CMD_SB_GET                        = 0xb
-+	DEVLINK_CMD_SB_SET                        = 0xc
-+	DEVLINK_CMD_SB_NEW                        = 0xd
-+	DEVLINK_CMD_SB_DEL                        = 0xe
-+	DEVLINK_CMD_SB_POOL_GET                   = 0xf
-+	DEVLINK_CMD_SB_POOL_SET                   = 0x10
-+	DEVLINK_CMD_SB_POOL_NEW                   = 0x11
-+	DEVLINK_CMD_SB_POOL_DEL                   = 0x12
-+	DEVLINK_CMD_SB_PORT_POOL_GET              = 0x13
-+	DEVLINK_CMD_SB_PORT_POOL_SET              = 0x14
-+	DEVLINK_CMD_SB_PORT_POOL_NEW              = 0x15
-+	DEVLINK_CMD_SB_PORT_POOL_DEL              = 0x16
-+	DEVLINK_CMD_SB_TC_POOL_BIND_GET           = 0x17
-+	DEVLINK_CMD_SB_TC_POOL_BIND_SET           = 0x18
-+	DEVLINK_CMD_SB_TC_POOL_BIND_NEW           = 0x19
-+	DEVLINK_CMD_SB_TC_POOL_BIND_DEL           = 0x1a
-+	DEVLINK_CMD_SB_OCC_SNAPSHOT               = 0x1b
-+	DEVLINK_CMD_SB_OCC_MAX_CLEAR              = 0x1c
-+	DEVLINK_CMD_ESWITCH_GET                   = 0x1d
-+	DEVLINK_CMD_ESWITCH_SET                   = 0x1e
-+	DEVLINK_CMD_DPIPE_TABLE_GET               = 0x1f
-+	DEVLINK_CMD_DPIPE_ENTRIES_GET             = 0x20
-+	DEVLINK_CMD_DPIPE_HEADERS_GET             = 0x21
-+	DEVLINK_CMD_DPIPE_TABLE_COUNTERS_SET      = 0x22
-+	DEVLINK_CMD_MAX                           = 0x44
-+	DEVLINK_PORT_TYPE_NOTSET                  = 0x0
-+	DEVLINK_PORT_TYPE_AUTO                    = 0x1
-+	DEVLINK_PORT_TYPE_ETH                     = 0x2
-+	DEVLINK_PORT_TYPE_IB                      = 0x3
-+	DEVLINK_SB_POOL_TYPE_INGRESS              = 0x0
-+	DEVLINK_SB_POOL_TYPE_EGRESS               = 0x1
-+	DEVLINK_SB_THRESHOLD_TYPE_STATIC          = 0x0
-+	DEVLINK_SB_THRESHOLD_TYPE_DYNAMIC         = 0x1
-+	DEVLINK_ESWITCH_MODE_LEGACY               = 0x0
-+	DEVLINK_ESWITCH_MODE_SWITCHDEV            = 0x1
-+	DEVLINK_ESWITCH_INLINE_MODE_NONE          = 0x0
-+	DEVLINK_ESWITCH_INLINE_MODE_LINK          = 0x1
-+	DEVLINK_ESWITCH_INLINE_MODE_NETWORK       = 0x2
-+	DEVLINK_ESWITCH_INLINE_MODE_TRANSPORT     = 0x3
-+	DEVLINK_ESWITCH_ENCAP_MODE_NONE           = 0x0
-+	DEVLINK_ESWITCH_ENCAP_MODE_BASIC          = 0x1
-+	DEVLINK_ATTR_UNSPEC                       = 0x0
-+	DEVLINK_ATTR_BUS_NAME                     = 0x1
-+	DEVLINK_ATTR_DEV_NAME                     = 0x2
-+	DEVLINK_ATTR_PORT_INDEX                   = 0x3
-+	DEVLINK_ATTR_PORT_TYPE                    = 0x4
-+	DEVLINK_ATTR_PORT_DESIRED_TYPE            = 0x5
-+	DEVLINK_ATTR_PORT_NETDEV_IFINDEX          = 0x6
-+	DEVLINK_ATTR_PORT_NETDEV_NAME             = 0x7
-+	DEVLINK_ATTR_PORT_IBDEV_NAME              = 0x8
-+	DEVLINK_ATTR_PORT_SPLIT_COUNT             = 0x9
-+	DEVLINK_ATTR_PORT_SPLIT_GROUP             = 0xa
-+	DEVLINK_ATTR_SB_INDEX                     = 0xb
-+	DEVLINK_ATTR_SB_SIZE                      = 0xc
-+	DEVLINK_ATTR_SB_INGRESS_POOL_COUNT        = 0xd
-+	DEVLINK_ATTR_SB_EGRESS_POOL_COUNT         = 0xe
-+	DEVLINK_ATTR_SB_INGRESS_TC_COUNT          = 0xf
-+	DEVLINK_ATTR_SB_EGRESS_TC_COUNT           = 0x10
-+	DEVLINK_ATTR_SB_POOL_INDEX                = 0x11
-+	DEVLINK_ATTR_SB_POOL_TYPE                 = 0x12
-+	DEVLINK_ATTR_SB_POOL_SIZE                 = 0x13
-+	DEVLINK_ATTR_SB_POOL_THRESHOLD_TYPE       = 0x14
-+	DEVLINK_ATTR_SB_THRESHOLD                 = 0x15
-+	DEVLINK_ATTR_SB_TC_INDEX                  = 0x16
-+	DEVLINK_ATTR_SB_OCC_CUR                   = 0x17
-+	DEVLINK_ATTR_SB_OCC_MAX                   = 0x18
-+	DEVLINK_ATTR_ESWITCH_MODE                 = 0x19
-+	DEVLINK_ATTR_ESWITCH_INLINE_MODE          = 0x1a
-+	DEVLINK_ATTR_DPIPE_TABLES                 = 0x1b
-+	DEVLINK_ATTR_DPIPE_TABLE                  = 0x1c
-+	DEVLINK_ATTR_DPIPE_TABLE_NAME             = 0x1d
-+	DEVLINK_ATTR_DPIPE_TABLE_SIZE             = 0x1e
-+	DEVLINK_ATTR_DPIPE_TABLE_MATCHES          = 0x1f
-+	DEVLINK_ATTR_DPIPE_TABLE_ACTIONS          = 0x20
-+	DEVLINK_ATTR_DPIPE_TABLE_COUNTERS_ENABLED = 0x21
-+	DEVLINK_ATTR_DPIPE_ENTRIES                = 0x22
-+	DEVLINK_ATTR_DPIPE_ENTRY                  = 0x23
-+	DEVLINK_ATTR_DPIPE_ENTRY_INDEX            = 0x24
-+	DEVLINK_ATTR_DPIPE_ENTRY_MATCH_VALUES     = 0x25
-+	DEVLINK_ATTR_DPIPE_ENTRY_ACTION_VALUES    = 0x26
-+	DEVLINK_ATTR_DPIPE_ENTRY_COUNTER          = 0x27
-+	DEVLINK_ATTR_DPIPE_MATCH                  = 0x28
-+	DEVLINK_ATTR_DPIPE_MATCH_VALUE            = 0x29
-+	DEVLINK_ATTR_DPIPE_MATCH_TYPE             = 0x2a
-+	DEVLINK_ATTR_DPIPE_ACTION                 = 0x2b
-+	DEVLINK_ATTR_DPIPE_ACTION_VALUE           = 0x2c
-+	DEVLINK_ATTR_DPIPE_ACTION_TYPE            = 0x2d
-+	DEVLINK_ATTR_DPIPE_VALUE                  = 0x2e
-+	DEVLINK_ATTR_DPIPE_VALUE_MASK             = 0x2f
-+	DEVLINK_ATTR_DPIPE_VALUE_MAPPING          = 0x30
-+	DEVLINK_ATTR_DPIPE_HEADERS                = 0x31
-+	DEVLINK_ATTR_DPIPE_HEADER                 = 0x32
-+	DEVLINK_ATTR_DPIPE_HEADER_NAME            = 0x33
-+	DEVLINK_ATTR_DPIPE_HEADER_ID              = 0x34
-+	DEVLINK_ATTR_DPIPE_HEADER_FIELDS          = 0x35
-+	DEVLINK_ATTR_DPIPE_HEADER_GLOBAL          = 0x36
-+	DEVLINK_ATTR_DPIPE_HEADER_INDEX           = 0x37
-+	DEVLINK_ATTR_DPIPE_FIELD                  = 0x38
-+	DEVLINK_ATTR_DPIPE_FIELD_NAME             = 0x39
-+	DEVLINK_ATTR_DPIPE_FIELD_ID               = 0x3a
-+	DEVLINK_ATTR_DPIPE_FIELD_BITWIDTH         = 0x3b
-+	DEVLINK_ATTR_DPIPE_FIELD_MAPPING_TYPE     = 0x3c
-+	DEVLINK_ATTR_PAD                          = 0x3d
-+	DEVLINK_ATTR_ESWITCH_ENCAP_MODE           = 0x3e
-+	DEVLINK_ATTR_MAX                          = 0x8c
-+	DEVLINK_DPIPE_FIELD_MAPPING_TYPE_NONE     = 0x0
-+	DEVLINK_DPIPE_FIELD_MAPPING_TYPE_IFINDEX  = 0x1
-+	DEVLINK_DPIPE_MATCH_TYPE_FIELD_EXACT      = 0x0
-+	DEVLINK_DPIPE_ACTION_TYPE_FIELD_MODIFY    = 0x0
-+	DEVLINK_DPIPE_FIELD_ETHERNET_DST_MAC      = 0x0
-+	DEVLINK_DPIPE_FIELD_IPV4_DST_IP           = 0x0
-+	DEVLINK_DPIPE_FIELD_IPV6_DST_IP           = 0x0
-+	DEVLINK_DPIPE_HEADER_ETHERNET             = 0x0
-+	DEVLINK_DPIPE_HEADER_IPV4                 = 0x1
-+	DEVLINK_DPIPE_HEADER_IPV6                 = 0x2
-+)
-+
-+type FsverityDigest struct {
-+	Algorithm uint16
-+	Size      uint16
-+}
-+
-+type FsverityEnableArg struct {
-+	Version        uint32
-+	Hash_algorithm uint32
-+	Block_size     uint32
-+	Salt_size      uint32
-+	Salt_ptr       uint64
-+	Sig_size       uint32
-+	_              uint32
-+	Sig_ptr        uint64
-+	_              [11]uint64
-+}
-+
-+type Nhmsg struct {
-+	Family   uint8
-+	Scope    uint8
-+	Protocol uint8
-+	Resvd    uint8
-+	Flags    uint32
-+}
-+
-+type NexthopGrp struct {
-+	Id     uint32
-+	Weight uint8
-+	Resvd1 uint8
-+	Resvd2 uint16
-+}
-+
-+const (
-+	NHA_UNSPEC     = 0x0
-+	NHA_ID         = 0x1
-+	NHA_GROUP      = 0x2
-+	NHA_GROUP_TYPE = 0x3
-+	NHA_BLACKHOLE  = 0x4
-+	NHA_OIF        = 0x5
-+	NHA_GATEWAY    = 0x6
-+	NHA_ENCAP_TYPE = 0x7
-+	NHA_ENCAP      = 0x8
-+	NHA_GROUPS     = 0x9
-+	NHA_MASTER     = 0xa
-+)
-diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_386.go b/vendor/golang.org/x/sys/unix/ztypes_linux_386.go
-index 7b36896e..761b67c8 100644
---- a/vendor/golang.org/x/sys/unix/ztypes_linux_386.go
-+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_386.go
-@@ -6,19 +6,12 @@
- package unix
- 
- const (
--	sizeofPtr      = 0x4
--	sizeofShort    = 0x2
--	sizeofInt      = 0x4
--	sizeofLong     = 0x4
--	sizeofLongLong = 0x8
--	PathMax        = 0x1000
-+	SizeofPtr  = 0x4
-+	SizeofLong = 0x4
- )
- 
- type (
--	_C_short     int16
--	_C_int       int32
--	_C_long      int32
--	_C_long_long int64
-+	_C_long int32
- )
- 
- type Timespec struct {
-@@ -52,7 +45,7 @@ type Timex struct {
- 	Errcnt    int32
- 	Stbcnt    int32
- 	Tai       int32
--	Pad_cgo_0 [44]byte
-+	_         [44]byte
- }
- 
- type Time_t int32
-@@ -88,60 +81,32 @@ type Rusage struct {
- 	Nivcsw   int32
- }
- 
--type Rlimit struct {
--	Cur uint64
--	Max uint64
--}
--
--type _Gid_t uint32
--
- type Stat_t struct {
--	Dev       uint64
--	X__pad1   uint16
--	Pad_cgo_0 [2]byte
--	X__st_ino uint32
--	Mode      uint32
--	Nlink     uint32
--	Uid       uint32
--	Gid       uint32
--	Rdev      uint64
--	X__pad2   uint16
--	Pad_cgo_1 [2]byte
--	Size      int64
--	Blksize   int32
--	Blocks    int64
--	Atim      Timespec
--	Mtim      Timespec
--	Ctim      Timespec
--	Ino       uint64
--}
--
--type Statfs_t struct {
--	Type    int32
--	Bsize   int32
--	Blocks  uint64
--	Bfree   uint64
--	Bavail  uint64
--	Files   uint64
--	Ffree   uint64
--	Fsid    Fsid
--	Namelen int32
--	Frsize  int32
--	Flags   int32
--	Spare   [4]int32
-+	Dev     uint64
-+	_       uint16
-+	_       uint32
-+	Mode    uint32
-+	Nlink   uint32
-+	Uid     uint32
-+	Gid     uint32
-+	Rdev    uint64
-+	_       uint16
-+	Size    int64
-+	Blksize int32
-+	Blocks  int64
-+	Atim    Timespec
-+	Mtim    Timespec
-+	Ctim    Timespec
-+	Ino     uint64
- }
- 
- type Dirent struct {
--	Ino       uint64
--	Off       int64
--	Reclen    uint16
--	Type      uint8
--	Name      [256]int8
--	Pad_cgo_0 [1]byte
--}
--
--type Fsid struct {
--	X__val [2]int32
-+	Ino    uint64
-+	Off    int64
-+	Reclen uint16
-+	Type   uint8
-+	Name   [256]int8
-+	_      [1]byte
- }
- 
- type Flock_t struct {
-@@ -152,101 +117,11 @@ type Flock_t struct {
- 	Pid    int32
- }
- 
--type FscryptPolicy struct {
--	Version                   uint8
--	Contents_encryption_mode  uint8
--	Filenames_encryption_mode uint8
--	Flags                     uint8
--	Master_key_descriptor     [8]uint8
--}
--
--type FscryptKey struct {
--	Mode uint32
--	Raw  [64]uint8
--	Size uint32
--}
--
--type KeyctlDHParams struct {
--	Private int32
--	Prime   int32
--	Base    int32
--}
--
- const (
--	FADV_NORMAL     = 0x0
--	FADV_RANDOM     = 0x1
--	FADV_SEQUENTIAL = 0x2
--	FADV_WILLNEED   = 0x3
--	FADV_DONTNEED   = 0x4
--	FADV_NOREUSE    = 0x5
-+	FADV_DONTNEED = 0x4
-+	FADV_NOREUSE  = 0x5
- )
- 
--type RawSockaddrInet4 struct {
--	Family uint16
--	Port   uint16
--	Addr   [4]byte /* in_addr */
--	Zero   [8]uint8
--}
--
--type RawSockaddrInet6 struct {
--	Family   uint16
--	Port     uint16
--	Flowinfo uint32
--	Addr     [16]byte /* in6_addr */
--	Scope_id uint32
--}
--
--type RawSockaddrUnix struct {
--	Family uint16
--	Path   [108]int8
--}
--
--type RawSockaddrLinklayer struct {
--	Family   uint16
--	Protocol uint16
--	Ifindex  int32
--	Hatype   uint16
--	Pkttype  uint8
--	Halen    uint8
--	Addr     [8]uint8
--}
--
--type RawSockaddrNetlink struct {
--	Family uint16
--	Pad    uint16
--	Pid    uint32
--	Groups uint32
--}
--
--type RawSockaddrHCI struct {
--	Family  uint16
--	Dev     uint16
--	Channel uint16
--}
--
--type RawSockaddrCAN struct {
--	Family    uint16
--	Pad_cgo_0 [2]byte
--	Ifindex   int32
--	Addr      [8]byte
--}
--
--type RawSockaddrALG struct {
--	Family uint16
--	Type   [14]uint8
--	Feat   uint32
--	Mask   uint32
--	Name   [64]uint8
--}
--
--type RawSockaddrVM struct {
--	Family    uint16
--	Reserved1 uint16
--	Port      uint32
--	Cid       uint32
--	Zero      [4]uint8
--}
--
- type RawSockaddr struct {
- 	Family uint16
- 	Data   [14]int8
-@@ -257,41 +132,11 @@ type RawSockaddrAny struct {
- 	Pad  [96]int8
- }
- 
--type _Socklen uint32
--
--type Linger struct {
--	Onoff  int32
--	Linger int32
--}
--
- type Iovec struct {
- 	Base *byte
- 	Len  uint32
- }
- 
--type IPMreq struct {
--	Multiaddr [4]byte /* in_addr */
--	Interface [4]byte /* in_addr */
--}
--
--type IPMreqn struct {
--	Multiaddr [4]byte /* in_addr */
--	Address   [4]byte /* in_addr */
--	Ifindex   int32
--}
--
--type IPv6Mreq struct {
--	Multiaddr [16]byte /* in6_addr */
--	Interface uint32
--}
--
--type PacketMreq struct {
--	Ifindex int32
--	Type    uint16
--	Alen    uint16
--	Address [8]uint8
--}
--
- type Msghdr struct {
- 	Name       *byte
- 	Namelen    uint32
-@@ -308,277 +153,16 @@ type Cmsghdr struct {
- 	Type  int32
- }
- 
--type Inet4Pktinfo struct {
--	Ifindex  int32
--	Spec_dst [4]byte /* in_addr */
--	Addr     [4]byte /* in_addr */
--}
--
--type Inet6Pktinfo struct {
--	Addr    [16]byte /* in6_addr */
--	Ifindex uint32
--}
--
--type IPv6MTUInfo struct {
--	Addr RawSockaddrInet6
--	Mtu  uint32
--}
--
--type ICMPv6Filter struct {
--	Data [8]uint32
--}
--
--type Ucred struct {
--	Pid int32
--	Uid uint32
--	Gid uint32
--}
--
--type TCPInfo struct {
--	State          uint8
--	Ca_state       uint8
--	Retransmits    uint8
--	Probes         uint8
--	Backoff        uint8
--	Options        uint8
--	Pad_cgo_0      [2]byte
--	Rto            uint32
--	Ato            uint32
--	Snd_mss        uint32
--	Rcv_mss        uint32
--	Unacked        uint32
--	Sacked         uint32
--	Lost           uint32
--	Retrans        uint32
--	Fackets        uint32
--	Last_data_sent uint32
--	Last_ack_sent  uint32
--	Last_data_recv uint32
--	Last_ack_recv  uint32
--	Pmtu           uint32
--	Rcv_ssthresh   uint32
--	Rtt            uint32
--	Rttvar         uint32
--	Snd_ssthresh   uint32
--	Snd_cwnd       uint32
--	Advmss         uint32
--	Reordering     uint32
--	Rcv_rtt        uint32
--	Rcv_space      uint32
--	Total_retrans  uint32
--}
--
- const (
--	SizeofSockaddrInet4     = 0x10
--	SizeofSockaddrInet6     = 0x1c
--	SizeofSockaddrAny       = 0x70
--	SizeofSockaddrUnix      = 0x6e
--	SizeofSockaddrLinklayer = 0x14
--	SizeofSockaddrNetlink   = 0xc
--	SizeofSockaddrHCI       = 0x6
--	SizeofSockaddrCAN       = 0x10
--	SizeofSockaddrALG       = 0x58
--	SizeofSockaddrVM        = 0x10
--	SizeofLinger            = 0x8
--	SizeofIovec             = 0x8
--	SizeofIPMreq            = 0x8
--	SizeofIPMreqn           = 0xc
--	SizeofIPv6Mreq          = 0x14
--	SizeofPacketMreq        = 0x10
--	SizeofMsghdr            = 0x1c
--	SizeofCmsghdr           = 0xc
--	SizeofInet4Pktinfo      = 0xc
--	SizeofInet6Pktinfo      = 0x14
--	SizeofIPv6MTUInfo       = 0x20
--	SizeofICMPv6Filter      = 0x20
--	SizeofUcred             = 0xc
--	SizeofTCPInfo           = 0x68
-+	SizeofIovec   = 0x8
-+	SizeofMsghdr  = 0x1c
-+	SizeofCmsghdr = 0xc
- )
- 
- const (
--	IFA_UNSPEC          = 0x0
--	IFA_ADDRESS         = 0x1
--	IFA_LOCAL           = 0x2
--	IFA_LABEL           = 0x3
--	IFA_BROADCAST       = 0x4
--	IFA_ANYCAST         = 0x5
--	IFA_CACHEINFO       = 0x6
--	IFA_MULTICAST       = 0x7
--	IFLA_UNSPEC         = 0x0
--	IFLA_ADDRESS        = 0x1
--	IFLA_BROADCAST      = 0x2
--	IFLA_IFNAME         = 0x3
--	IFLA_MTU            = 0x4
--	IFLA_LINK           = 0x5
--	IFLA_QDISC          = 0x6
--	IFLA_STATS          = 0x7
--	IFLA_COST           = 0x8
--	IFLA_PRIORITY       = 0x9
--	IFLA_MASTER         = 0xa
--	IFLA_WIRELESS       = 0xb
--	IFLA_PROTINFO       = 0xc
--	IFLA_TXQLEN         = 0xd
--	IFLA_MAP            = 0xe
--	IFLA_WEIGHT         = 0xf
--	IFLA_OPERSTATE      = 0x10
--	IFLA_LINKMODE       = 0x11
--	IFLA_LINKINFO       = 0x12
--	IFLA_NET_NS_PID     = 0x13
--	IFLA_IFALIAS        = 0x14
--	IFLA_MAX            = 0x2b
--	RT_SCOPE_UNIVERSE   = 0x0
--	RT_SCOPE_SITE       = 0xc8
--	RT_SCOPE_LINK       = 0xfd
--	RT_SCOPE_HOST       = 0xfe
--	RT_SCOPE_NOWHERE    = 0xff
--	RT_TABLE_UNSPEC     = 0x0
--	RT_TABLE_COMPAT     = 0xfc
--	RT_TABLE_DEFAULT    = 0xfd
--	RT_TABLE_MAIN       = 0xfe
--	RT_TABLE_LOCAL      = 0xff
--	RT_TABLE_MAX        = 0xffffffff
--	RTA_UNSPEC          = 0x0
--	RTA_DST             = 0x1
--	RTA_SRC             = 0x2
--	RTA_IIF             = 0x3
--	RTA_OIF             = 0x4
--	RTA_GATEWAY         = 0x5
--	RTA_PRIORITY        = 0x6
--	RTA_PREFSRC         = 0x7
--	RTA_METRICS         = 0x8
--	RTA_MULTIPATH       = 0x9
--	RTA_FLOW            = 0xb
--	RTA_CACHEINFO       = 0xc
--	RTA_TABLE           = 0xf
--	RTN_UNSPEC          = 0x0
--	RTN_UNICAST         = 0x1
--	RTN_LOCAL           = 0x2
--	RTN_BROADCAST       = 0x3
--	RTN_ANYCAST         = 0x4
--	RTN_MULTICAST       = 0x5
--	RTN_BLACKHOLE       = 0x6
--	RTN_UNREACHABLE     = 0x7
--	RTN_PROHIBIT        = 0x8
--	RTN_THROW           = 0x9
--	RTN_NAT             = 0xa
--	RTN_XRESOLVE        = 0xb
--	RTNLGRP_NONE        = 0x0
--	RTNLGRP_LINK        = 0x1
--	RTNLGRP_NOTIFY      = 0x2
--	RTNLGRP_NEIGH       = 0x3
--	RTNLGRP_TC          = 0x4
--	RTNLGRP_IPV4_IFADDR = 0x5
--	RTNLGRP_IPV4_MROUTE = 0x6
--	RTNLGRP_IPV4_ROUTE  = 0x7
--	RTNLGRP_IPV4_RULE   = 0x8
--	RTNLGRP_IPV6_IFADDR = 0x9
--	RTNLGRP_IPV6_MROUTE = 0xa
--	RTNLGRP_IPV6_ROUTE  = 0xb
--	RTNLGRP_IPV6_IFINFO = 0xc
--	RTNLGRP_IPV6_PREFIX = 0x12
--	RTNLGRP_IPV6_RULE   = 0x13
--	RTNLGRP_ND_USEROPT  = 0x14
--	SizeofNlMsghdr      = 0x10
--	SizeofNlMsgerr      = 0x14
--	SizeofRtGenmsg      = 0x1
--	SizeofNlAttr        = 0x4
--	SizeofRtAttr        = 0x4
--	SizeofIfInfomsg     = 0x10
--	SizeofIfAddrmsg     = 0x8
--	SizeofRtMsg         = 0xc
--	SizeofRtNexthop     = 0x8
-+	SizeofSockFprog = 0x8
- )
- 
--type NlMsghdr struct {
--	Len   uint32
--	Type  uint16
--	Flags uint16
--	Seq   uint32
--	Pid   uint32
--}
--
--type NlMsgerr struct {
--	Error int32
--	Msg   NlMsghdr
--}
--
--type RtGenmsg struct {
--	Family uint8
--}
--
--type NlAttr struct {
--	Len  uint16
--	Type uint16
--}
--
--type RtAttr struct {
--	Len  uint16
--	Type uint16
--}
--
--type IfInfomsg struct {
--	Family     uint8
--	X__ifi_pad uint8
--	Type       uint16
--	Index      int32
--	Flags      uint32
--	Change     uint32
--}
--
--type IfAddrmsg struct {
--	Family    uint8
--	Prefixlen uint8
--	Flags     uint8
--	Scope     uint8
--	Index     uint32
--}
--
--type RtMsg struct {
--	Family   uint8
--	Dst_len  uint8
--	Src_len  uint8
--	Tos      uint8
--	Table    uint8
--	Protocol uint8
--	Scope    uint8
--	Type     uint8
--	Flags    uint32
--}
--
--type RtNexthop struct {
--	Len     uint16
--	Flags   uint8
--	Hops    uint8
--	Ifindex int32
--}
--
--const (
--	SizeofSockFilter = 0x8
--	SizeofSockFprog  = 0x8
--)
--
--type SockFilter struct {
--	Code uint16
--	Jt   uint8
--	Jf   uint8
--	K    uint32
--}
--
--type SockFprog struct {
--	Len       uint16
--	Pad_cgo_0 [2]byte
--	Filter    *SockFilter
--}
--
--type InotifyEvent struct {
--	Wd     int32
--	Mask   uint32
--	Cookie uint32
--	Len    uint32
--}
--
--const SizeofInotifyEvent = 0x10
--
- type PtraceRegs struct {
- 	Ebx      int32
- 	Ecx      int32
-@@ -617,16 +201,7 @@ type Sysinfo_t struct {
- 	Totalhigh uint32
- 	Freehigh  uint32
- 	Unit      uint32
--	X_f       [8]int8
--}
--
--type Utsname struct {
--	Sysname    [65]int8
--	Nodename   [65]int8
--	Release    [65]int8
--	Version    [65]int8
--	Machine    [65]int8
--	Domainname [65]int8
-+	_         [8]int8
- }
- 
- type Ustat_t struct {
-@@ -643,37 +218,14 @@ type EpollEvent struct {
- }
- 
- const (
--	AT_FDCWD            = -0x64
--	AT_REMOVEDIR        = 0x200
--	AT_SYMLINK_FOLLOW   = 0x400
--	AT_SYMLINK_NOFOLLOW = 0x100
--)
--
--type PollFd struct {
--	Fd      int32
--	Events  int16
--	Revents int16
--}
--
--const (
--	POLLIN    = 0x1
--	POLLPRI   = 0x2
--	POLLOUT   = 0x4
- 	POLLRDHUP = 0x2000
--	POLLERR   = 0x8
--	POLLHUP   = 0x10
--	POLLNVAL  = 0x20
- )
- 
- type Sigset_t struct {
--	X__val [32]uint32
-+	Val [32]uint32
- }
- 
--const RNDGETENTCNT = 0x80045200
--
--const PERF_IOC_FLAG_GROUP = 0x1
--
--const _SC_PAGESIZE = 0x1e
-+const _C__NSIG = 0x41
- 
- type Termios struct {
- 	Iflag  uint32
-@@ -686,20 +238,12 @@ type Termios struct {
- 	Ospeed uint32
- }
- 
--type Winsize struct {
--	Row    uint16
--	Col    uint16
--	Xpixel uint16
--	Ypixel uint16
--}
--
- type Taskstats struct {
- 	Version                   uint16
--	Pad_cgo_0                 [2]byte
- 	Ac_exitcode               uint32
- 	Ac_flag                   uint8
- 	Ac_nice                   uint8
--	Pad_cgo_1                 [6]byte
-+	_                         [4]byte
- 	Cpu_count                 uint64
- 	Cpu_delay_total           uint64
- 	Blkio_count               uint64
-@@ -711,13 +255,13 @@ type Taskstats struct {
- 	Ac_comm                   [32]int8
- 	Ac_sched                  uint8
- 	Ac_pad                    [3]uint8
--	Pad_cgo_2                 [4]byte
-+	_                         [4]byte
- 	Ac_uid                    uint32
- 	Ac_gid                    uint32
- 	Ac_pid                    uint32
- 	Ac_ppid                   uint32
- 	Ac_btime                  uint32
--	Pad_cgo_3                 [4]byte
-+	_                         [4]byte
- 	Ac_etime                  uint64
- 	Ac_utime                  uint64
- 	Ac_stime                  uint64
-@@ -741,55 +285,315 @@ type Taskstats struct {
- 	Cpu_scaled_run_real_total uint64
- 	Freepages_count           uint64
- 	Freepages_delay_total     uint64
-+	Thrashing_count           uint64
-+	Thrashing_delay_total     uint64
-+	Ac_btime64                uint64
-+}
-+
-+type cpuMask uint32
-+
-+const (
-+	_NCPUBITS = 0x20
-+)
-+
-+const (
-+	CBitFieldMaskBit0  = 0x1
-+	CBitFieldMaskBit1  = 0x2
-+	CBitFieldMaskBit2  = 0x4
-+	CBitFieldMaskBit3  = 0x8
-+	CBitFieldMaskBit4  = 0x10
-+	CBitFieldMaskBit5  = 0x20
-+	CBitFieldMaskBit6  = 0x40
-+	CBitFieldMaskBit7  = 0x80
-+	CBitFieldMaskBit8  = 0x100
-+	CBitFieldMaskBit9  = 0x200
-+	CBitFieldMaskBit10 = 0x400
-+	CBitFieldMaskBit11 = 0x800
-+	CBitFieldMaskBit12 = 0x1000
-+	CBitFieldMaskBit13 = 0x2000
-+	CBitFieldMaskBit14 = 0x4000
-+	CBitFieldMaskBit15 = 0x8000
-+	CBitFieldMaskBit16 = 0x10000
-+	CBitFieldMaskBit17 = 0x20000
-+	CBitFieldMaskBit18 = 0x40000
-+	CBitFieldMaskBit19 = 0x80000
-+	CBitFieldMaskBit20 = 0x100000
-+	CBitFieldMaskBit21 = 0x200000
-+	CBitFieldMaskBit22 = 0x400000
-+	CBitFieldMaskBit23 = 0x800000
-+	CBitFieldMaskBit24 = 0x1000000
-+	CBitFieldMaskBit25 = 0x2000000
-+	CBitFieldMaskBit26 = 0x4000000
-+	CBitFieldMaskBit27 = 0x8000000
-+	CBitFieldMaskBit28 = 0x10000000
-+	CBitFieldMaskBit29 = 0x20000000
-+	CBitFieldMaskBit30 = 0x40000000
-+	CBitFieldMaskBit31 = 0x80000000
-+	CBitFieldMaskBit32 = 0x100000000
-+	CBitFieldMaskBit33 = 0x200000000
-+	CBitFieldMaskBit34 = 0x400000000
-+	CBitFieldMaskBit35 = 0x800000000
-+	CBitFieldMaskBit36 = 0x1000000000
-+	CBitFieldMaskBit37 = 0x2000000000
-+	CBitFieldMaskBit38 = 0x4000000000
-+	CBitFieldMaskBit39 = 0x8000000000
-+	CBitFieldMaskBit40 = 0x10000000000
-+	CBitFieldMaskBit41 = 0x20000000000
-+	CBitFieldMaskBit42 = 0x40000000000
-+	CBitFieldMaskBit43 = 0x80000000000
-+	CBitFieldMaskBit44 = 0x100000000000
-+	CBitFieldMaskBit45 = 0x200000000000
-+	CBitFieldMaskBit46 = 0x400000000000
-+	CBitFieldMaskBit47 = 0x800000000000
-+	CBitFieldMaskBit48 = 0x1000000000000
-+	CBitFieldMaskBit49 = 0x2000000000000
-+	CBitFieldMaskBit50 = 0x4000000000000
-+	CBitFieldMaskBit51 = 0x8000000000000
-+	CBitFieldMaskBit52 = 0x10000000000000
-+	CBitFieldMaskBit53 = 0x20000000000000
-+	CBitFieldMaskBit54 = 0x40000000000000
-+	CBitFieldMaskBit55 = 0x80000000000000
-+	CBitFieldMaskBit56 = 0x100000000000000
-+	CBitFieldMaskBit57 = 0x200000000000000
-+	CBitFieldMaskBit58 = 0x400000000000000
-+	CBitFieldMaskBit59 = 0x800000000000000
-+	CBitFieldMaskBit60 = 0x1000000000000000
-+	CBitFieldMaskBit61 = 0x2000000000000000
-+	CBitFieldMaskBit62 = 0x4000000000000000
-+	CBitFieldMaskBit63 = 0x8000000000000000
-+)
-+
-+type SockaddrStorage struct {
-+	Family uint16
-+	_      [122]int8
-+	_      uint32
-+}
-+
-+type HDGeometry struct {
-+	Heads     uint8
-+	Sectors   uint8
-+	Cylinders uint16
-+	Start     uint32
-+}
-+
-+type Statfs_t struct {
-+	Type    int32
-+	Bsize   int32
-+	Blocks  uint64
-+	Bfree   uint64
-+	Bavail  uint64
-+	Files   uint64
-+	Ffree   uint64
-+	Fsid    Fsid
-+	Namelen int32
-+	Frsize  int32
-+	Flags   int32
-+	Spare   [4]int32
-+}
-+
-+type TpacketHdr struct {
-+	Status  uint32
-+	Len     uint32
-+	Snaplen uint32
-+	Mac     uint16
-+	Net     uint16
-+	Sec     uint32
-+	Usec    uint32
- }
- 
- const (
--	TASKSTATS_CMD_UNSPEC                  = 0x0
--	TASKSTATS_CMD_GET                     = 0x1
--	TASKSTATS_CMD_NEW                     = 0x2
--	TASKSTATS_TYPE_UNSPEC                 = 0x0
--	TASKSTATS_TYPE_PID                    = 0x1
--	TASKSTATS_TYPE_TGID                   = 0x2
--	TASKSTATS_TYPE_STATS                  = 0x3
--	TASKSTATS_TYPE_AGGR_PID               = 0x4
--	TASKSTATS_TYPE_AGGR_TGID              = 0x5
--	TASKSTATS_TYPE_NULL                   = 0x6
--	TASKSTATS_CMD_ATTR_UNSPEC             = 0x0
--	TASKSTATS_CMD_ATTR_PID                = 0x1
--	TASKSTATS_CMD_ATTR_TGID               = 0x2
--	TASKSTATS_CMD_ATTR_REGISTER_CPUMASK   = 0x3
--	TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4
-+	SizeofTpacketHdr = 0x18
- )
- 
--type Genlmsghdr struct {
--	Cmd      uint8
--	Version  uint8
--	Reserved uint16
-+type RTCPLLInfo struct {
-+	Ctrl    int32
-+	Value   int32
-+	Max     int32
-+	Min     int32
-+	Posmult int32
-+	Negmult int32
-+	Clock   int32
-+}
-+
-+type BlkpgPartition struct {
-+	Start   int64
-+	Length  int64
-+	Pno     int32
-+	Devname [64]uint8
-+	Volname [64]uint8
- }
- 
- const (
--	CTRL_CMD_UNSPEC            = 0x0
--	CTRL_CMD_NEWFAMILY         = 0x1
--	CTRL_CMD_DELFAMILY         = 0x2
--	CTRL_CMD_GETFAMILY         = 0x3
--	CTRL_CMD_NEWOPS            = 0x4
--	CTRL_CMD_DELOPS            = 0x5
--	CTRL_CMD_GETOPS            = 0x6
--	CTRL_CMD_NEWMCAST_GRP      = 0x7
--	CTRL_CMD_DELMCAST_GRP      = 0x8
--	CTRL_CMD_GETMCAST_GRP      = 0x9
--	CTRL_ATTR_UNSPEC           = 0x0
--	CTRL_ATTR_FAMILY_ID        = 0x1
--	CTRL_ATTR_FAMILY_NAME      = 0x2
--	CTRL_ATTR_VERSION          = 0x3
--	CTRL_ATTR_HDRSIZE          = 0x4
--	CTRL_ATTR_MAXATTR          = 0x5
--	CTRL_ATTR_OPS              = 0x6
--	CTRL_ATTR_MCAST_GROUPS     = 0x7
--	CTRL_ATTR_OP_UNSPEC        = 0x0
--	CTRL_ATTR_OP_ID            = 0x1
--	CTRL_ATTR_OP_FLAGS         = 0x2
--	CTRL_ATTR_MCAST_GRP_UNSPEC = 0x0
--	CTRL_ATTR_MCAST_GRP_NAME   = 0x1
--	CTRL_ATTR_MCAST_GRP_ID     = 0x2
-+	BLKPG = 0x1269
- )
-+
-+type XDPUmemReg struct {
-+	Addr     uint64
-+	Len      uint64
-+	Size     uint32
-+	Headroom uint32
-+	Flags    uint32
-+}
-+
-+type CryptoUserAlg struct {
-+	Name        [64]int8
-+	Driver_name [64]int8
-+	Module_name [64]int8
-+	Type        uint32
-+	Mask        uint32
-+	Refcnt      uint32
-+	Flags       uint32
-+}
-+
-+type CryptoStatAEAD struct {
-+	Type         [64]int8
-+	Encrypt_cnt  uint64
-+	Encrypt_tlen uint64
-+	Decrypt_cnt  uint64
-+	Decrypt_tlen uint64
-+	Err_cnt      uint64
-+}
-+
-+type CryptoStatAKCipher struct {
-+	Type         [64]int8
-+	Encrypt_cnt  uint64
-+	Encrypt_tlen uint64
-+	Decrypt_cnt  uint64
-+	Decrypt_tlen uint64
-+	Verify_cnt   uint64
-+	Sign_cnt     uint64
-+	Err_cnt      uint64
-+}
-+
-+type CryptoStatCipher struct {
-+	Type         [64]int8
-+	Encrypt_cnt  uint64
-+	Encrypt_tlen uint64
-+	Decrypt_cnt  uint64
-+	Decrypt_tlen uint64
-+	Err_cnt      uint64
-+}
-+
-+type CryptoStatCompress struct {
-+	Type            [64]int8
-+	Compress_cnt    uint64
-+	Compress_tlen   uint64
-+	Decompress_cnt  uint64
-+	Decompress_tlen uint64
-+	Err_cnt         uint64
-+}
-+
-+type CryptoStatHash struct {
-+	Type      [64]int8
-+	Hash_cnt  uint64
-+	Hash_tlen uint64
-+	Err_cnt   uint64
-+}
-+
-+type CryptoStatKPP struct {
-+	Type                      [64]int8
-+	Setsecret_cnt             uint64
-+	Generate_public_key_cnt   uint64
-+	Compute_shared_secret_cnt uint64
-+	Err_cnt                   uint64
-+}
-+
-+type CryptoStatRNG struct {
-+	Type          [64]int8
-+	Generate_cnt  uint64
-+	Generate_tlen uint64
-+	Seed_cnt      uint64
-+	Err_cnt       uint64
-+}
-+
-+type CryptoStatLarval struct {
-+	Type [64]int8
-+}
-+
-+type CryptoReportLarval struct {
-+	Type [64]int8
-+}
-+
-+type CryptoReportHash struct {
-+	Type       [64]int8
-+	Blocksize  uint32
-+	Digestsize uint32
-+}
-+
-+type CryptoReportCipher struct {
-+	Type        [64]int8
-+	Blocksize   uint32
-+	Min_keysize uint32
-+	Max_keysize uint32
-+}
-+
-+type CryptoReportBlkCipher struct {
-+	Type        [64]int8
-+	Geniv       [64]int8
-+	Blocksize   uint32
-+	Min_keysize uint32
-+	Max_keysize uint32
-+	Ivsize      uint32
-+}
-+
-+type CryptoReportAEAD struct {
-+	Type        [64]int8
-+	Geniv       [64]int8
-+	Blocksize   uint32
-+	Maxauthsize uint32
-+	Ivsize      uint32
-+}
-+
-+type CryptoReportComp struct {
-+	Type [64]int8
-+}
-+
-+type CryptoReportRNG struct {
-+	Type     [64]int8
-+	Seedsize uint32
-+}
-+
-+type CryptoReportAKCipher struct {
-+	Type [64]int8
-+}
-+
-+type CryptoReportKPP struct {
-+	Type [64]int8
-+}
-+
-+type CryptoReportAcomp struct {
-+	Type [64]int8
-+}
-+
-+type LoopInfo struct {
-+	Number           int32
-+	Device           uint16
-+	Inode            uint32
-+	Rdevice          uint16
-+	Offset           int32
-+	Encrypt_type     int32
-+	Encrypt_key_size int32
-+	Flags            int32
-+	Name             [64]int8
-+	Encrypt_key      [32]uint8
-+	Init             [2]uint32
-+	Reserved         [4]int8
-+}
-+
-+type TIPCSubscr struct {
-+	Seq     TIPCServiceRange
-+	Timeout uint32
-+	Filter  uint32
-+	Handle  [8]int8
-+}
-+
-+type TIPCSIOCLNReq struct {
-+	Peer     uint32
-+	Id       uint32
-+	Linkname [68]int8
-+}
-+
-+type TIPCSIOCNodeIDReq struct {
-+	Peer uint32
-+	Id   [16]int8
-+}
-diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go
-index e54fa984..201fb348 100644
---- a/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go
-+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go
-@@ -6,19 +6,12 @@
- package unix
- 
- const (
--	sizeofPtr      = 0x8
--	sizeofShort    = 0x2
--	sizeofInt      = 0x4
--	sizeofLong     = 0x8
--	sizeofLongLong = 0x8
--	PathMax        = 0x1000
-+	SizeofPtr  = 0x8
-+	SizeofLong = 0x8
- )
- 
- type (
--	_C_short     int16
--	_C_int       int32
--	_C_long      int64
--	_C_long_long int64
-+	_C_long int64
- )
- 
- type Timespec struct {
-@@ -33,13 +26,11 @@ type Timeval struct {
- 
- type Timex struct {
- 	Modes     uint32
--	Pad_cgo_0 [4]byte
- 	Offset    int64
- 	Freq      int64
- 	Maxerror  int64
- 	Esterror  int64
- 	Status    int32
--	Pad_cgo_1 [4]byte
- 	Constant  int64
- 	Precision int64
- 	Tolerance int64
-@@ -48,14 +39,13 @@ type Timex struct {
- 	Ppsfreq   int64
- 	Jitter    int64
- 	Shift     int32
--	Pad_cgo_2 [4]byte
- 	Stabil    int64
- 	Jitcnt    int64
- 	Calcnt    int64
- 	Errcnt    int64
- 	Stbcnt    int64
- 	Tai       int32
--	Pad_cgo_3 [44]byte
-+	_         [44]byte
- }
- 
- type Time_t int64
-@@ -91,13 +81,6 @@ type Rusage struct {
- 	Nivcsw   int64
- }
- 
--type Rlimit struct {
--	Cur uint64
--	Max uint64
--}
--
--type _Gid_t uint32
--
- type Stat_t struct {
- 	Dev     uint64
- 	Ino     uint64
-@@ -105,7 +88,7 @@ type Stat_t struct {
- 	Mode    uint32
- 	Uid     uint32
- 	Gid     uint32
--	X__pad0 int32
-+	_       int32
- 	Rdev    uint64
- 	Size    int64
- 	Blksize int64
-@@ -116,139 +99,29 @@ type Stat_t struct {
- 	_       [3]int64
- }
- 
--type Statfs_t struct {
--	Type    int64
--	Bsize   int64
--	Blocks  uint64
--	Bfree   uint64
--	Bavail  uint64
--	Files   uint64
--	Ffree   uint64
--	Fsid    Fsid
--	Namelen int64
--	Frsize  int64
--	Flags   int64
--	Spare   [4]int64
--}
--
- type Dirent struct {
--	Ino       uint64
--	Off       int64
--	Reclen    uint16
--	Type      uint8
--	Name      [256]int8
--	Pad_cgo_0 [5]byte
--}
--
--type Fsid struct {
--	X__val [2]int32
-+	Ino    uint64
-+	Off    int64
-+	Reclen uint16
-+	Type   uint8
-+	Name   [256]int8
-+	_      [5]byte
- }
- 
- type Flock_t struct {
--	Type      int16
--	Whence    int16
--	Pad_cgo_0 [4]byte
--	Start     int64
--	Len       int64
--	Pid       int32
--	Pad_cgo_1 [4]byte
--}
--
--type FscryptPolicy struct {
--	Version                   uint8
--	Contents_encryption_mode  uint8
--	Filenames_encryption_mode uint8
--	Flags                     uint8
--	Master_key_descriptor     [8]uint8
--}
--
--type FscryptKey struct {
--	Mode uint32
--	Raw  [64]uint8
--	Size uint32
--}
--
--type KeyctlDHParams struct {
--	Private int32
--	Prime   int32
--	Base    int32
-+	Type   int16
-+	Whence int16
-+	Start  int64
-+	Len    int64
-+	Pid    int32
-+	_      [4]byte
- }
- 
- const (
--	FADV_NORMAL     = 0x0
--	FADV_RANDOM     = 0x1
--	FADV_SEQUENTIAL = 0x2
--	FADV_WILLNEED   = 0x3
--	FADV_DONTNEED   = 0x4
--	FADV_NOREUSE    = 0x5
-+	FADV_DONTNEED = 0x4
-+	FADV_NOREUSE  = 0x5
- )
- 
--type RawSockaddrInet4 struct {
--	Family uint16
--	Port   uint16
--	Addr   [4]byte /* in_addr */
--	Zero   [8]uint8
--}
--
--type RawSockaddrInet6 struct {
--	Family   uint16
--	Port     uint16
--	Flowinfo uint32
--	Addr     [16]byte /* in6_addr */
--	Scope_id uint32
--}
--
--type RawSockaddrUnix struct {
--	Family uint16
--	Path   [108]int8
--}
--
--type RawSockaddrLinklayer struct {
--	Family   uint16
--	Protocol uint16
--	Ifindex  int32
--	Hatype   uint16
--	Pkttype  uint8
--	Halen    uint8
--	Addr     [8]uint8
--}
--
--type RawSockaddrNetlink struct {
--	Family uint16
--	Pad    uint16
--	Pid    uint32
--	Groups uint32
--}
--
--type RawSockaddrHCI struct {
--	Family  uint16
--	Dev     uint16
--	Channel uint16
--}
--
--type RawSockaddrCAN struct {
--	Family    uint16
--	Pad_cgo_0 [2]byte
--	Ifindex   int32
--	Addr      [8]byte
--}
--
--type RawSockaddrALG struct {
--	Family uint16
--	Type   [14]uint8
--	Feat   uint32
--	Mask   uint32
--	Name   [64]uint8
--}
--
--type RawSockaddrVM struct {
--	Family    uint16
--	Reserved1 uint16
--	Port      uint32
--	Cid       uint32
--	Zero      [4]uint8
--}
--
- type RawSockaddr struct {
- 	Family uint16
- 	Data   [14]int8
-@@ -259,51 +132,20 @@ type RawSockaddrAny struct {
- 	Pad  [96]int8
- }
- 
--type _Socklen uint32
--
--type Linger struct {
--	Onoff  int32
--	Linger int32
--}
--
- type Iovec struct {
- 	Base *byte
- 	Len  uint64
- }
- 
--type IPMreq struct {
--	Multiaddr [4]byte /* in_addr */
--	Interface [4]byte /* in_addr */
--}
--
--type IPMreqn struct {
--	Multiaddr [4]byte /* in_addr */
--	Address   [4]byte /* in_addr */
--	Ifindex   int32
--}
--
--type IPv6Mreq struct {
--	Multiaddr [16]byte /* in6_addr */
--	Interface uint32
--}
--
--type PacketMreq struct {
--	Ifindex int32
--	Type    uint16
--	Alen    uint16
--	Address [8]uint8
--}
--
- type Msghdr struct {
- 	Name       *byte
- 	Namelen    uint32
--	Pad_cgo_0  [4]byte
- 	Iov        *Iovec
- 	Iovlen     uint64
- 	Control    *byte
- 	Controllen uint64
- 	Flags      int32
--	Pad_cgo_1  [4]byte
-+	_          [4]byte
- }
- 
- type Cmsghdr struct {
-@@ -312,277 +154,16 @@ type Cmsghdr struct {
- 	Type  int32
- }
- 
--type Inet4Pktinfo struct {
--	Ifindex  int32
--	Spec_dst [4]byte /* in_addr */
--	Addr     [4]byte /* in_addr */
--}
--
--type Inet6Pktinfo struct {
--	Addr    [16]byte /* in6_addr */
--	Ifindex uint32
--}
--
--type IPv6MTUInfo struct {
--	Addr RawSockaddrInet6
--	Mtu  uint32
--}
--
--type ICMPv6Filter struct {
--	Data [8]uint32
--}
--
--type Ucred struct {
--	Pid int32
--	Uid uint32
--	Gid uint32
--}
--
--type TCPInfo struct {
--	State          uint8
--	Ca_state       uint8
--	Retransmits    uint8
--	Probes         uint8
--	Backoff        uint8
--	Options        uint8
--	Pad_cgo_0      [2]byte
--	Rto            uint32
--	Ato            uint32
--	Snd_mss        uint32
--	Rcv_mss        uint32
--	Unacked        uint32
--	Sacked         uint32
--	Lost           uint32
--	Retrans        uint32
--	Fackets        uint32
--	Last_data_sent uint32
--	Last_ack_sent  uint32
--	Last_data_recv uint32
--	Last_ack_recv  uint32
--	Pmtu           uint32
--	Rcv_ssthresh   uint32
--	Rtt            uint32
--	Rttvar         uint32
--	Snd_ssthresh   uint32
--	Snd_cwnd       uint32
--	Advmss         uint32
--	Reordering     uint32
--	Rcv_rtt        uint32
--	Rcv_space      uint32
--	Total_retrans  uint32
--}
--
- const (
--	SizeofSockaddrInet4     = 0x10
--	SizeofSockaddrInet6     = 0x1c
--	SizeofSockaddrAny       = 0x70
--	SizeofSockaddrUnix      = 0x6e
--	SizeofSockaddrLinklayer = 0x14
--	SizeofSockaddrNetlink   = 0xc
--	SizeofSockaddrHCI       = 0x6
--	SizeofSockaddrCAN       = 0x10
--	SizeofSockaddrALG       = 0x58
--	SizeofSockaddrVM        = 0x10
--	SizeofLinger            = 0x8
--	SizeofIovec             = 0x10
--	SizeofIPMreq            = 0x8
--	SizeofIPMreqn           = 0xc
--	SizeofIPv6Mreq          = 0x14
--	SizeofPacketMreq        = 0x10
--	SizeofMsghdr            = 0x38
--	SizeofCmsghdr           = 0x10
--	SizeofInet4Pktinfo      = 0xc
--	SizeofInet6Pktinfo      = 0x14
--	SizeofIPv6MTUInfo       = 0x20
--	SizeofICMPv6Filter      = 0x20
--	SizeofUcred             = 0xc
--	SizeofTCPInfo           = 0x68
-+	SizeofIovec   = 0x10
-+	SizeofMsghdr  = 0x38
-+	SizeofCmsghdr = 0x10
- )
- 
- const (
--	IFA_UNSPEC          = 0x0
--	IFA_ADDRESS         = 0x1
--	IFA_LOCAL           = 0x2
--	IFA_LABEL           = 0x3
--	IFA_BROADCAST       = 0x4
--	IFA_ANYCAST         = 0x5
--	IFA_CACHEINFO       = 0x6
--	IFA_MULTICAST       = 0x7
--	IFLA_UNSPEC         = 0x0
--	IFLA_ADDRESS        = 0x1
--	IFLA_BROADCAST      = 0x2
--	IFLA_IFNAME         = 0x3
--	IFLA_MTU            = 0x4
--	IFLA_LINK           = 0x5
--	IFLA_QDISC          = 0x6
--	IFLA_STATS          = 0x7
--	IFLA_COST           = 0x8
--	IFLA_PRIORITY       = 0x9
--	IFLA_MASTER         = 0xa
--	IFLA_WIRELESS       = 0xb
--	IFLA_PROTINFO       = 0xc
--	IFLA_TXQLEN         = 0xd
--	IFLA_MAP            = 0xe
--	IFLA_WEIGHT         = 0xf
--	IFLA_OPERSTATE      = 0x10
--	IFLA_LINKMODE       = 0x11
--	IFLA_LINKINFO       = 0x12
--	IFLA_NET_NS_PID     = 0x13
--	IFLA_IFALIAS        = 0x14
--	IFLA_MAX            = 0x2b
--	RT_SCOPE_UNIVERSE   = 0x0
--	RT_SCOPE_SITE       = 0xc8
--	RT_SCOPE_LINK       = 0xfd
--	RT_SCOPE_HOST       = 0xfe
--	RT_SCOPE_NOWHERE    = 0xff
--	RT_TABLE_UNSPEC     = 0x0
--	RT_TABLE_COMPAT     = 0xfc
--	RT_TABLE_DEFAULT    = 0xfd
--	RT_TABLE_MAIN       = 0xfe
--	RT_TABLE_LOCAL      = 0xff
--	RT_TABLE_MAX        = 0xffffffff
--	RTA_UNSPEC          = 0x0
--	RTA_DST             = 0x1
--	RTA_SRC             = 0x2
--	RTA_IIF             = 0x3
--	RTA_OIF             = 0x4
--	RTA_GATEWAY         = 0x5
--	RTA_PRIORITY        = 0x6
--	RTA_PREFSRC         = 0x7
--	RTA_METRICS         = 0x8
--	RTA_MULTIPATH       = 0x9
--	RTA_FLOW            = 0xb
--	RTA_CACHEINFO       = 0xc
--	RTA_TABLE           = 0xf
--	RTN_UNSPEC          = 0x0
--	RTN_UNICAST         = 0x1
--	RTN_LOCAL           = 0x2
--	RTN_BROADCAST       = 0x3
--	RTN_ANYCAST         = 0x4
--	RTN_MULTICAST       = 0x5
--	RTN_BLACKHOLE       = 0x6
--	RTN_UNREACHABLE     = 0x7
--	RTN_PROHIBIT        = 0x8
--	RTN_THROW           = 0x9
--	RTN_NAT             = 0xa
--	RTN_XRESOLVE        = 0xb
--	RTNLGRP_NONE        = 0x0
--	RTNLGRP_LINK        = 0x1
--	RTNLGRP_NOTIFY      = 0x2
--	RTNLGRP_NEIGH       = 0x3
--	RTNLGRP_TC          = 0x4
--	RTNLGRP_IPV4_IFADDR = 0x5
--	RTNLGRP_IPV4_MROUTE = 0x6
--	RTNLGRP_IPV4_ROUTE  = 0x7
--	RTNLGRP_IPV4_RULE   = 0x8
--	RTNLGRP_IPV6_IFADDR = 0x9
--	RTNLGRP_IPV6_MROUTE = 0xa
--	RTNLGRP_IPV6_ROUTE  = 0xb
--	RTNLGRP_IPV6_IFINFO = 0xc
--	RTNLGRP_IPV6_PREFIX = 0x12
--	RTNLGRP_IPV6_RULE   = 0x13
--	RTNLGRP_ND_USEROPT  = 0x14
--	SizeofNlMsghdr      = 0x10
--	SizeofNlMsgerr      = 0x14
--	SizeofRtGenmsg      = 0x1
--	SizeofNlAttr        = 0x4
--	SizeofRtAttr        = 0x4
--	SizeofIfInfomsg     = 0x10
--	SizeofIfAddrmsg     = 0x8
--	SizeofRtMsg         = 0xc
--	SizeofRtNexthop     = 0x8
-+	SizeofSockFprog = 0x10
- )
- 
--type NlMsghdr struct {
--	Len   uint32
--	Type  uint16
--	Flags uint16
--	Seq   uint32
--	Pid   uint32
--}
--
--type NlMsgerr struct {
--	Error int32
--	Msg   NlMsghdr
--}
--
--type RtGenmsg struct {
--	Family uint8
--}
--
--type NlAttr struct {
--	Len  uint16
--	Type uint16
--}
--
--type RtAttr struct {
--	Len  uint16
--	Type uint16
--}
--
--type IfInfomsg struct {
--	Family     uint8
--	X__ifi_pad uint8
--	Type       uint16
--	Index      int32
--	Flags      uint32
--	Change     uint32
--}
--
--type IfAddrmsg struct {
--	Family    uint8
--	Prefixlen uint8
--	Flags     uint8
--	Scope     uint8
--	Index     uint32
--}
--
--type RtMsg struct {
--	Family   uint8
--	Dst_len  uint8
--	Src_len  uint8
--	Tos      uint8
--	Table    uint8
--	Protocol uint8
--	Scope    uint8
--	Type     uint8
--	Flags    uint32
--}
--
--type RtNexthop struct {
--	Len     uint16
--	Flags   uint8
--	Hops    uint8
--	Ifindex int32
--}
--
--const (
--	SizeofSockFilter = 0x8
--	SizeofSockFprog  = 0x10
--)
--
--type SockFilter struct {
--	Code uint16
--	Jt   uint8
--	Jf   uint8
--	K    uint32
--}
--
--type SockFprog struct {
--	Len       uint16
--	Pad_cgo_0 [6]byte
--	Filter    *SockFilter
--}
--
--type InotifyEvent struct {
--	Wd     int32
--	Mask   uint32
--	Cookie uint32
--	Len    uint32
--}
--
--const SizeofInotifyEvent = 0x10
--
- type PtraceRegs struct {
- 	R15      uint64
- 	R14      uint64
-@@ -628,30 +209,19 @@ type Sysinfo_t struct {
- 	Freeswap  uint64
- 	Procs     uint16
- 	Pad       uint16
--	Pad_cgo_0 [4]byte
- 	Totalhigh uint64
- 	Freehigh  uint64
- 	Unit      uint32
--	X_f       [0]int8
--	Pad_cgo_1 [4]byte
--}
--
--type Utsname struct {
--	Sysname    [65]int8
--	Nodename   [65]int8
--	Release    [65]int8
--	Version    [65]int8
--	Machine    [65]int8
--	Domainname [65]int8
-+	_         [0]int8
-+	_         [4]byte
- }
- 
- type Ustat_t struct {
--	Tfree     int32
--	Pad_cgo_0 [4]byte
--	Tinode    uint64
--	Fname     [6]int8
--	Fpack     [6]int8
--	Pad_cgo_1 [4]byte
-+	Tfree  int32
-+	Tinode uint64
-+	Fname  [6]int8
-+	Fpack  [6]int8
-+	_      [4]byte
- }
- 
- type EpollEvent struct {
-@@ -661,37 +231,14 @@ type EpollEvent struct {
- }
- 
- const (
--	AT_FDCWD            = -0x64
--	AT_REMOVEDIR        = 0x200
--	AT_SYMLINK_FOLLOW   = 0x400
--	AT_SYMLINK_NOFOLLOW = 0x100
--)
--
--type PollFd struct {
--	Fd      int32
--	Events  int16
--	Revents int16
--}
--
--const (
--	POLLIN    = 0x1
--	POLLPRI   = 0x2
--	POLLOUT   = 0x4
- 	POLLRDHUP = 0x2000
--	POLLERR   = 0x8
--	POLLHUP   = 0x10
--	POLLNVAL  = 0x20
- )
- 
- type Sigset_t struct {
--	X__val [16]uint64
-+	Val [16]uint64
- }
- 
--const RNDGETENTCNT = 0x80045200
--
--const PERF_IOC_FLAG_GROUP = 0x1
--
--const _SC_PAGESIZE = 0x1e
-+const _C__NSIG = 0x41
- 
- type Termios struct {
- 	Iflag  uint32
-@@ -704,20 +251,11 @@ type Termios struct {
- 	Ospeed uint32
- }
- 
--type Winsize struct {
--	Row    uint16
--	Col    uint16
--	Xpixel uint16
--	Ypixel uint16
--}
--
- type Taskstats struct {
- 	Version                   uint16
--	Pad_cgo_0                 [2]byte
- 	Ac_exitcode               uint32
- 	Ac_flag                   uint8
- 	Ac_nice                   uint8
--	Pad_cgo_1                 [6]byte
- 	Cpu_count                 uint64
- 	Cpu_delay_total           uint64
- 	Blkio_count               uint64
-@@ -729,13 +267,12 @@ type Taskstats struct {
- 	Ac_comm                   [32]int8
- 	Ac_sched                  uint8
- 	Ac_pad                    [3]uint8
--	Pad_cgo_2                 [4]byte
-+	_                         [4]byte
- 	Ac_uid                    uint32
- 	Ac_gid                    uint32
- 	Ac_pid                    uint32
- 	Ac_ppid                   uint32
- 	Ac_btime                  uint32
--	Pad_cgo_3                 [4]byte
- 	Ac_etime                  uint64
- 	Ac_utime                  uint64
- 	Ac_stime                  uint64
-@@ -759,55 +296,319 @@ type Taskstats struct {
- 	Cpu_scaled_run_real_total uint64
- 	Freepages_count           uint64
- 	Freepages_delay_total     uint64
-+	Thrashing_count           uint64
-+	Thrashing_delay_total     uint64
-+	Ac_btime64                uint64
- }
- 
-+type cpuMask uint64
-+
- const (
--	TASKSTATS_CMD_UNSPEC                  = 0x0
--	TASKSTATS_CMD_GET                     = 0x1
--	TASKSTATS_CMD_NEW                     = 0x2
--	TASKSTATS_TYPE_UNSPEC                 = 0x0
--	TASKSTATS_TYPE_PID                    = 0x1
--	TASKSTATS_TYPE_TGID                   = 0x2
--	TASKSTATS_TYPE_STATS                  = 0x3
--	TASKSTATS_TYPE_AGGR_PID               = 0x4
--	TASKSTATS_TYPE_AGGR_TGID              = 0x5
--	TASKSTATS_TYPE_NULL                   = 0x6
--	TASKSTATS_CMD_ATTR_UNSPEC             = 0x0
--	TASKSTATS_CMD_ATTR_PID                = 0x1
--	TASKSTATS_CMD_ATTR_TGID               = 0x2
--	TASKSTATS_CMD_ATTR_REGISTER_CPUMASK   = 0x3
--	TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4
-+	_NCPUBITS = 0x40
- )
- 
--type Genlmsghdr struct {
--	Cmd      uint8
--	Version  uint8
--	Reserved uint16
-+const (
-+	CBitFieldMaskBit0  = 0x1
-+	CBitFieldMaskBit1  = 0x2
-+	CBitFieldMaskBit2  = 0x4
-+	CBitFieldMaskBit3  = 0x8
-+	CBitFieldMaskBit4  = 0x10
-+	CBitFieldMaskBit5  = 0x20
-+	CBitFieldMaskBit6  = 0x40
-+	CBitFieldMaskBit7  = 0x80
-+	CBitFieldMaskBit8  = 0x100
-+	CBitFieldMaskBit9  = 0x200
-+	CBitFieldMaskBit10 = 0x400
-+	CBitFieldMaskBit11 = 0x800
-+	CBitFieldMaskBit12 = 0x1000
-+	CBitFieldMaskBit13 = 0x2000
-+	CBitFieldMaskBit14 = 0x4000
-+	CBitFieldMaskBit15 = 0x8000
-+	CBitFieldMaskBit16 = 0x10000
-+	CBitFieldMaskBit17 = 0x20000
-+	CBitFieldMaskBit18 = 0x40000
-+	CBitFieldMaskBit19 = 0x80000
-+	CBitFieldMaskBit20 = 0x100000
-+	CBitFieldMaskBit21 = 0x200000
-+	CBitFieldMaskBit22 = 0x400000
-+	CBitFieldMaskBit23 = 0x800000
-+	CBitFieldMaskBit24 = 0x1000000
-+	CBitFieldMaskBit25 = 0x2000000
-+	CBitFieldMaskBit26 = 0x4000000
-+	CBitFieldMaskBit27 = 0x8000000
-+	CBitFieldMaskBit28 = 0x10000000
-+	CBitFieldMaskBit29 = 0x20000000
-+	CBitFieldMaskBit30 = 0x40000000
-+	CBitFieldMaskBit31 = 0x80000000
-+	CBitFieldMaskBit32 = 0x100000000
-+	CBitFieldMaskBit33 = 0x200000000
-+	CBitFieldMaskBit34 = 0x400000000
-+	CBitFieldMaskBit35 = 0x800000000
-+	CBitFieldMaskBit36 = 0x1000000000
-+	CBitFieldMaskBit37 = 0x2000000000
-+	CBitFieldMaskBit38 = 0x4000000000
-+	CBitFieldMaskBit39 = 0x8000000000
-+	CBitFieldMaskBit40 = 0x10000000000
-+	CBitFieldMaskBit41 = 0x20000000000
-+	CBitFieldMaskBit42 = 0x40000000000
-+	CBitFieldMaskBit43 = 0x80000000000
-+	CBitFieldMaskBit44 = 0x100000000000
-+	CBitFieldMaskBit45 = 0x200000000000
-+	CBitFieldMaskBit46 = 0x400000000000
-+	CBitFieldMaskBit47 = 0x800000000000
-+	CBitFieldMaskBit48 = 0x1000000000000
-+	CBitFieldMaskBit49 = 0x2000000000000
-+	CBitFieldMaskBit50 = 0x4000000000000
-+	CBitFieldMaskBit51 = 0x8000000000000
-+	CBitFieldMaskBit52 = 0x10000000000000
-+	CBitFieldMaskBit53 = 0x20000000000000
-+	CBitFieldMaskBit54 = 0x40000000000000
-+	CBitFieldMaskBit55 = 0x80000000000000
-+	CBitFieldMaskBit56 = 0x100000000000000
-+	CBitFieldMaskBit57 = 0x200000000000000
-+	CBitFieldMaskBit58 = 0x400000000000000
-+	CBitFieldMaskBit59 = 0x800000000000000
-+	CBitFieldMaskBit60 = 0x1000000000000000
-+	CBitFieldMaskBit61 = 0x2000000000000000
-+	CBitFieldMaskBit62 = 0x4000000000000000
-+	CBitFieldMaskBit63 = 0x8000000000000000
-+)
-+
-+type SockaddrStorage struct {
-+	Family uint16
-+	_      [118]int8
-+	_      uint64
-+}
-+
-+type HDGeometry struct {
-+	Heads     uint8
-+	Sectors   uint8
-+	Cylinders uint16
-+	Start     uint64
-+}
-+
-+type Statfs_t struct {
-+	Type    int64
-+	Bsize   int64
-+	Blocks  uint64
-+	Bfree   uint64
-+	Bavail  uint64
-+	Files   uint64
-+	Ffree   uint64
-+	Fsid    Fsid
-+	Namelen int64
-+	Frsize  int64
-+	Flags   int64
-+	Spare   [4]int64
-+}
-+
-+type TpacketHdr struct {
-+	Status  uint64
-+	Len     uint32
-+	Snaplen uint32
-+	Mac     uint16
-+	Net     uint16
-+	Sec     uint32
-+	Usec    uint32
-+	_       [4]byte
- }
- 
- const (
--	CTRL_CMD_UNSPEC            = 0x0
--	CTRL_CMD_NEWFAMILY         = 0x1
--	CTRL_CMD_DELFAMILY         = 0x2
--	CTRL_CMD_GETFAMILY         = 0x3
--	CTRL_CMD_NEWOPS            = 0x4
--	CTRL_CMD_DELOPS            = 0x5
--	CTRL_CMD_GETOPS            = 0x6
--	CTRL_CMD_NEWMCAST_GRP      = 0x7
--	CTRL_CMD_DELMCAST_GRP      = 0x8
--	CTRL_CMD_GETMCAST_GRP      = 0x9
--	CTRL_ATTR_UNSPEC           = 0x0
--	CTRL_ATTR_FAMILY_ID        = 0x1
--	CTRL_ATTR_FAMILY_NAME      = 0x2
--	CTRL_ATTR_VERSION          = 0x3
--	CTRL_ATTR_HDRSIZE          = 0x4
--	CTRL_ATTR_MAXATTR          = 0x5
--	CTRL_ATTR_OPS              = 0x6
--	CTRL_ATTR_MCAST_GROUPS     = 0x7
--	CTRL_ATTR_OP_UNSPEC        = 0x0
--	CTRL_ATTR_OP_ID            = 0x1
--	CTRL_ATTR_OP_FLAGS         = 0x2
--	CTRL_ATTR_MCAST_GRP_UNSPEC = 0x0
--	CTRL_ATTR_MCAST_GRP_NAME   = 0x1
--	CTRL_ATTR_MCAST_GRP_ID     = 0x2
-+	SizeofTpacketHdr = 0x20
- )
-+
-+type RTCPLLInfo struct {
-+	Ctrl    int32
-+	Value   int32
-+	Max     int32
-+	Min     int32
-+	Posmult int32
-+	Negmult int32
-+	Clock   int64
-+}
-+
-+type BlkpgPartition struct {
-+	Start   int64
-+	Length  int64
-+	Pno     int32
-+	Devname [64]uint8
-+	Volname [64]uint8
-+	_       [4]byte
-+}
-+
-+const (
-+	BLKPG = 0x1269
-+)
-+
-+type XDPUmemReg struct {
-+	Addr     uint64
-+	Len      uint64
-+	Size     uint32
-+	Headroom uint32
-+	Flags    uint32
-+	_        [4]byte
-+}
-+
-+type CryptoUserAlg struct {
-+	Name        [64]int8
-+	Driver_name [64]int8
-+	Module_name [64]int8
-+	Type        uint32
-+	Mask        uint32
-+	Refcnt      uint32
-+	Flags       uint32
-+}
-+
-+type CryptoStatAEAD struct {
-+	Type         [64]int8
-+	Encrypt_cnt  uint64
-+	Encrypt_tlen uint64
-+	Decrypt_cnt  uint64
-+	Decrypt_tlen uint64
-+	Err_cnt      uint64
-+}
-+
-+type CryptoStatAKCipher struct {
-+	Type         [64]int8
-+	Encrypt_cnt  uint64
-+	Encrypt_tlen uint64
-+	Decrypt_cnt  uint64
-+	Decrypt_tlen uint64
-+	Verify_cnt   uint64
-+	Sign_cnt     uint64
-+	Err_cnt      uint64
-+}
-+
-+type CryptoStatCipher struct {
-+	Type         [64]int8
-+	Encrypt_cnt  uint64
-+	Encrypt_tlen uint64
-+	Decrypt_cnt  uint64
-+	Decrypt_tlen uint64
-+	Err_cnt      uint64
-+}
-+
-+type CryptoStatCompress struct {
-+	Type            [64]int8
-+	Compress_cnt    uint64
-+	Compress_tlen   uint64
-+	Decompress_cnt  uint64
-+	Decompress_tlen uint64
-+	Err_cnt         uint64
-+}
-+
-+type CryptoStatHash struct {
-+	Type      [64]int8
-+	Hash_cnt  uint64
-+	Hash_tlen uint64
-+	Err_cnt   uint64
-+}
-+
-+type CryptoStatKPP struct {
-+	Type                      [64]int8
-+	Setsecret_cnt             uint64
-+	Generate_public_key_cnt   uint64
-+	Compute_shared_secret_cnt uint64
-+	Err_cnt                   uint64
-+}
-+
-+type CryptoStatRNG struct {
-+	Type          [64]int8
-+	Generate_cnt  uint64
-+	Generate_tlen uint64
-+	Seed_cnt      uint64
-+	Err_cnt       uint64
-+}
-+
-+type CryptoStatLarval struct {
-+	Type [64]int8
-+}
-+
-+type CryptoReportLarval struct {
-+	Type [64]int8
-+}
-+
-+type CryptoReportHash struct {
-+	Type       [64]int8
-+	Blocksize  uint32
-+	Digestsize uint32
-+}
-+
-+type CryptoReportCipher struct {
-+	Type        [64]int8
-+	Blocksize   uint32
-+	Min_keysize uint32
-+	Max_keysize uint32
-+}
-+
-+type CryptoReportBlkCipher struct {
-+	Type        [64]int8
-+	Geniv       [64]int8
-+	Blocksize   uint32
-+	Min_keysize uint32
-+	Max_keysize uint32
-+	Ivsize      uint32
-+}
-+
-+type CryptoReportAEAD struct {
-+	Type        [64]int8
-+	Geniv       [64]int8
-+	Blocksize   uint32
-+	Maxauthsize uint32
-+	Ivsize      uint32
-+}
-+
-+type CryptoReportComp struct {
-+	Type [64]int8
-+}
-+
-+type CryptoReportRNG struct {
-+	Type     [64]int8
-+	Seedsize uint32
-+}
-+
-+type CryptoReportAKCipher struct {
-+	Type [64]int8
-+}
-+
-+type CryptoReportKPP struct {
-+	Type [64]int8
-+}
-+
-+type CryptoReportAcomp struct {
-+	Type [64]int8
-+}
-+
-+type LoopInfo struct {
-+	Number           int32
-+	Device           uint64
-+	Inode            uint64
-+	Rdevice          uint64
-+	Offset           int32
-+	Encrypt_type     int32
-+	Encrypt_key_size int32
-+	Flags            int32
-+	Name             [64]int8
-+	Encrypt_key      [32]uint8
-+	Init             [2]uint64
-+	Reserved         [4]int8
-+	_                [4]byte
-+}
-+
-+type TIPCSubscr struct {
-+	Seq     TIPCServiceRange
-+	Timeout uint32
-+	Filter  uint32
-+	Handle  [8]int8
-+}
-+
-+type TIPCSIOCLNReq struct {
-+	Peer     uint32
-+	Id       uint32
-+	Linkname [68]int8
-+}
-+
-+type TIPCSIOCNodeIDReq struct {
-+	Peer uint32
-+	Id   [16]int8
-+}
-diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go b/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go
-index bff6ce25..8051b561 100644
---- a/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go
-+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go
-@@ -6,19 +6,12 @@
- package unix
- 
- const (
--	sizeofPtr      = 0x4
--	sizeofShort    = 0x2
--	sizeofInt      = 0x4
--	sizeofLong     = 0x4
--	sizeofLongLong = 0x8
--	PathMax        = 0x1000
-+	SizeofPtr  = 0x4
-+	SizeofLong = 0x4
- )
- 
- type (
--	_C_short     int16
--	_C_int       int32
--	_C_long      int32
--	_C_long_long int64
-+	_C_long int32
- )
- 
- type Timespec struct {
-@@ -52,7 +45,7 @@ type Timex struct {
- 	Errcnt    int32
- 	Stbcnt    int32
- 	Tai       int32
--	Pad_cgo_0 [44]byte
-+	_         [44]byte
- }
- 
- type Time_t int32
-@@ -88,169 +81,51 @@ type Rusage struct {
- 	Nivcsw   int32
- }
- 
--type Rlimit struct {
--	Cur uint64
--	Max uint64
--}
--
--type _Gid_t uint32
--
- type Stat_t struct {
--	Dev       uint64
--	X__pad1   uint16
--	Pad_cgo_0 [2]byte
--	X__st_ino uint32
--	Mode      uint32
--	Nlink     uint32
--	Uid       uint32
--	Gid       uint32
--	Rdev      uint64
--	X__pad2   uint16
--	Pad_cgo_1 [6]byte
--	Size      int64
--	Blksize   int32
--	Pad_cgo_2 [4]byte
--	Blocks    int64
--	Atim      Timespec
--	Mtim      Timespec
--	Ctim      Timespec
--	Ino       uint64
--}
--
--type Statfs_t struct {
--	Type      int32
--	Bsize     int32
--	Blocks    uint64
--	Bfree     uint64
--	Bavail    uint64
--	Files     uint64
--	Ffree     uint64
--	Fsid      Fsid
--	Namelen   int32
--	Frsize    int32
--	Flags     int32
--	Spare     [4]int32
--	Pad_cgo_0 [4]byte
-+	Dev     uint64
-+	_       uint16
-+	_       uint32
-+	Mode    uint32
-+	Nlink   uint32
-+	Uid     uint32
-+	Gid     uint32
-+	Rdev    uint64
-+	_       uint16
-+	_       [4]byte
-+	Size    int64
-+	Blksize int32
-+	_       [4]byte
-+	Blocks  int64
-+	Atim    Timespec
-+	Mtim    Timespec
-+	Ctim    Timespec
-+	Ino     uint64
- }
- 
- type Dirent struct {
--	Ino       uint64
--	Off       int64
--	Reclen    uint16
--	Type      uint8
--	Name      [256]uint8
--	Pad_cgo_0 [5]byte
--}
--
--type Fsid struct {
--	X__val [2]int32
-+	Ino    uint64
-+	Off    int64
-+	Reclen uint16
-+	Type   uint8
-+	Name   [256]uint8
-+	_      [5]byte
- }
- 
- type Flock_t struct {
--	Type      int16
--	Whence    int16
--	Pad_cgo_0 [4]byte
--	Start     int64
--	Len       int64
--	Pid       int32
--	Pad_cgo_1 [4]byte
--}
--
--type FscryptPolicy struct {
--	Version                   uint8
--	Contents_encryption_mode  uint8
--	Filenames_encryption_mode uint8
--	Flags                     uint8
--	Master_key_descriptor     [8]uint8
--}
--
--type FscryptKey struct {
--	Mode uint32
--	Raw  [64]uint8
--	Size uint32
--}
--
--type KeyctlDHParams struct {
--	Private int32
--	Prime   int32
--	Base    int32
-+	Type   int16
-+	Whence int16
-+	_      [4]byte
-+	Start  int64
-+	Len    int64
-+	Pid    int32
-+	_      [4]byte
- }
- 
- const (
--	FADV_NORMAL     = 0x0
--	FADV_RANDOM     = 0x1
--	FADV_SEQUENTIAL = 0x2
--	FADV_WILLNEED   = 0x3
--	FADV_DONTNEED   = 0x4
--	FADV_NOREUSE    = 0x5
-+	FADV_DONTNEED = 0x4
-+	FADV_NOREUSE  = 0x5
- )
- 
--type RawSockaddrInet4 struct {
--	Family uint16
--	Port   uint16
--	Addr   [4]byte /* in_addr */
--	Zero   [8]uint8
--}
--
--type RawSockaddrInet6 struct {
--	Family   uint16
--	Port     uint16
--	Flowinfo uint32
--	Addr     [16]byte /* in6_addr */
--	Scope_id uint32
--}
--
--type RawSockaddrUnix struct {
--	Family uint16
--	Path   [108]int8
--}
--
--type RawSockaddrLinklayer struct {
--	Family   uint16
--	Protocol uint16
--	Ifindex  int32
--	Hatype   uint16
--	Pkttype  uint8
--	Halen    uint8
--	Addr     [8]uint8
--}
--
--type RawSockaddrNetlink struct {
--	Family uint16
--	Pad    uint16
--	Pid    uint32
--	Groups uint32
--}
--
--type RawSockaddrHCI struct {
--	Family  uint16
--	Dev     uint16
--	Channel uint16
--}
--
--type RawSockaddrCAN struct {
--	Family    uint16
--	Pad_cgo_0 [2]byte
--	Ifindex   int32
--	Addr      [8]byte
--}
--
--type RawSockaddrALG struct {
--	Family uint16
--	Type   [14]uint8
--	Feat   uint32
--	Mask   uint32
--	Name   [64]uint8
--}
--
--type RawSockaddrVM struct {
--	Family    uint16
--	Reserved1 uint16
--	Port      uint32
--	Cid       uint32
--	Zero      [4]uint8
--}
--
- type RawSockaddr struct {
- 	Family uint16
- 	Data   [14]uint8
-@@ -261,41 +136,11 @@ type RawSockaddrAny struct {
- 	Pad  [96]uint8
- }
- 
--type _Socklen uint32
--
--type Linger struct {
--	Onoff  int32
--	Linger int32
--}
--
- type Iovec struct {
- 	Base *byte
- 	Len  uint32
- }
- 
--type IPMreq struct {
--	Multiaddr [4]byte /* in_addr */
--	Interface [4]byte /* in_addr */
--}
--
--type IPMreqn struct {
--	Multiaddr [4]byte /* in_addr */
--	Address   [4]byte /* in_addr */
--	Ifindex   int32
--}
--
--type IPv6Mreq struct {
--	Multiaddr [16]byte /* in6_addr */
--	Interface uint32
--}
--
--type PacketMreq struct {
--	Ifindex int32
--	Type    uint16
--	Alen    uint16
--	Address [8]uint8
--}
--
- type Msghdr struct {
- 	Name       *byte
- 	Namelen    uint32
-@@ -312,277 +157,16 @@ type Cmsghdr struct {
- 	Type  int32
- }
- 
--type Inet4Pktinfo struct {
--	Ifindex  int32
--	Spec_dst [4]byte /* in_addr */
--	Addr     [4]byte /* in_addr */
--}
--
--type Inet6Pktinfo struct {
--	Addr    [16]byte /* in6_addr */
--	Ifindex uint32
--}
--
--type IPv6MTUInfo struct {
--	Addr RawSockaddrInet6
--	Mtu  uint32
--}
--
--type ICMPv6Filter struct {
--	Data [8]uint32
--}
--
--type Ucred struct {
--	Pid int32
--	Uid uint32
--	Gid uint32
--}
--
--type TCPInfo struct {
--	State          uint8
--	Ca_state       uint8
--	Retransmits    uint8
--	Probes         uint8
--	Backoff        uint8
--	Options        uint8
--	Pad_cgo_0      [2]byte
--	Rto            uint32
--	Ato            uint32
--	Snd_mss        uint32
--	Rcv_mss        uint32
--	Unacked        uint32
--	Sacked         uint32
--	Lost           uint32
--	Retrans        uint32
--	Fackets        uint32
--	Last_data_sent uint32
--	Last_ack_sent  uint32
--	Last_data_recv uint32
--	Last_ack_recv  uint32
--	Pmtu           uint32
--	Rcv_ssthresh   uint32
--	Rtt            uint32
--	Rttvar         uint32
--	Snd_ssthresh   uint32
--	Snd_cwnd       uint32
--	Advmss         uint32
--	Reordering     uint32
--	Rcv_rtt        uint32
--	Rcv_space      uint32
--	Total_retrans  uint32
--}
--
- const (
--	SizeofSockaddrInet4     = 0x10
--	SizeofSockaddrInet6     = 0x1c
--	SizeofSockaddrAny       = 0x70
--	SizeofSockaddrUnix      = 0x6e
--	SizeofSockaddrLinklayer = 0x14
--	SizeofSockaddrNetlink   = 0xc
--	SizeofSockaddrHCI       = 0x6
--	SizeofSockaddrCAN       = 0x10
--	SizeofSockaddrALG       = 0x58
--	SizeofSockaddrVM        = 0x10
--	SizeofLinger            = 0x8
--	SizeofIovec             = 0x8
--	SizeofIPMreq            = 0x8
--	SizeofIPMreqn           = 0xc
--	SizeofIPv6Mreq          = 0x14
--	SizeofPacketMreq        = 0x10
--	SizeofMsghdr            = 0x1c
--	SizeofCmsghdr           = 0xc
--	SizeofInet4Pktinfo      = 0xc
--	SizeofInet6Pktinfo      = 0x14
--	SizeofIPv6MTUInfo       = 0x20
--	SizeofICMPv6Filter      = 0x20
--	SizeofUcred             = 0xc
--	SizeofTCPInfo           = 0x68
-+	SizeofIovec   = 0x8
-+	SizeofMsghdr  = 0x1c
-+	SizeofCmsghdr = 0xc
- )
- 
- const (
--	IFA_UNSPEC          = 0x0
--	IFA_ADDRESS         = 0x1
--	IFA_LOCAL           = 0x2
--	IFA_LABEL           = 0x3
--	IFA_BROADCAST       = 0x4
--	IFA_ANYCAST         = 0x5
--	IFA_CACHEINFO       = 0x6
--	IFA_MULTICAST       = 0x7
--	IFLA_UNSPEC         = 0x0
--	IFLA_ADDRESS        = 0x1
--	IFLA_BROADCAST      = 0x2
--	IFLA_IFNAME         = 0x3
--	IFLA_MTU            = 0x4
--	IFLA_LINK           = 0x5
--	IFLA_QDISC          = 0x6
--	IFLA_STATS          = 0x7
--	IFLA_COST           = 0x8
--	IFLA_PRIORITY       = 0x9
--	IFLA_MASTER         = 0xa
--	IFLA_WIRELESS       = 0xb
--	IFLA_PROTINFO       = 0xc
--	IFLA_TXQLEN         = 0xd
--	IFLA_MAP            = 0xe
--	IFLA_WEIGHT         = 0xf
--	IFLA_OPERSTATE      = 0x10
--	IFLA_LINKMODE       = 0x11
--	IFLA_LINKINFO       = 0x12
--	IFLA_NET_NS_PID     = 0x13
--	IFLA_IFALIAS        = 0x14
--	IFLA_MAX            = 0x2b
--	RT_SCOPE_UNIVERSE   = 0x0
--	RT_SCOPE_SITE       = 0xc8
--	RT_SCOPE_LINK       = 0xfd
--	RT_SCOPE_HOST       = 0xfe
--	RT_SCOPE_NOWHERE    = 0xff
--	RT_TABLE_UNSPEC     = 0x0
--	RT_TABLE_COMPAT     = 0xfc
--	RT_TABLE_DEFAULT    = 0xfd
--	RT_TABLE_MAIN       = 0xfe
--	RT_TABLE_LOCAL      = 0xff
--	RT_TABLE_MAX        = 0xffffffff
--	RTA_UNSPEC          = 0x0
--	RTA_DST             = 0x1
--	RTA_SRC             = 0x2
--	RTA_IIF             = 0x3
--	RTA_OIF             = 0x4
--	RTA_GATEWAY         = 0x5
--	RTA_PRIORITY        = 0x6
--	RTA_PREFSRC         = 0x7
--	RTA_METRICS         = 0x8
--	RTA_MULTIPATH       = 0x9
--	RTA_FLOW            = 0xb
--	RTA_CACHEINFO       = 0xc
--	RTA_TABLE           = 0xf
--	RTN_UNSPEC          = 0x0
--	RTN_UNICAST         = 0x1
--	RTN_LOCAL           = 0x2
--	RTN_BROADCAST       = 0x3
--	RTN_ANYCAST         = 0x4
--	RTN_MULTICAST       = 0x5
--	RTN_BLACKHOLE       = 0x6
--	RTN_UNREACHABLE     = 0x7
--	RTN_PROHIBIT        = 0x8
--	RTN_THROW           = 0x9
--	RTN_NAT             = 0xa
--	RTN_XRESOLVE        = 0xb
--	RTNLGRP_NONE        = 0x0
--	RTNLGRP_LINK        = 0x1
--	RTNLGRP_NOTIFY      = 0x2
--	RTNLGRP_NEIGH       = 0x3
--	RTNLGRP_TC          = 0x4
--	RTNLGRP_IPV4_IFADDR = 0x5
--	RTNLGRP_IPV4_MROUTE = 0x6
--	RTNLGRP_IPV4_ROUTE  = 0x7
--	RTNLGRP_IPV4_RULE   = 0x8
--	RTNLGRP_IPV6_IFADDR = 0x9
--	RTNLGRP_IPV6_MROUTE = 0xa
--	RTNLGRP_IPV6_ROUTE  = 0xb
--	RTNLGRP_IPV6_IFINFO = 0xc
--	RTNLGRP_IPV6_PREFIX = 0x12
--	RTNLGRP_IPV6_RULE   = 0x13
--	RTNLGRP_ND_USEROPT  = 0x14
--	SizeofNlMsghdr      = 0x10
--	SizeofNlMsgerr      = 0x14
--	SizeofRtGenmsg      = 0x1
--	SizeofNlAttr        = 0x4
--	SizeofRtAttr        = 0x4
--	SizeofIfInfomsg     = 0x10
--	SizeofIfAddrmsg     = 0x8
--	SizeofRtMsg         = 0xc
--	SizeofRtNexthop     = 0x8
-+	SizeofSockFprog = 0x8
- )
- 
--type NlMsghdr struct {
--	Len   uint32
--	Type  uint16
--	Flags uint16
--	Seq   uint32
--	Pid   uint32
--}
--
--type NlMsgerr struct {
--	Error int32
--	Msg   NlMsghdr
--}
--
--type RtGenmsg struct {
--	Family uint8
--}
--
--type NlAttr struct {
--	Len  uint16
--	Type uint16
--}
--
--type RtAttr struct {
--	Len  uint16
--	Type uint16
--}
--
--type IfInfomsg struct {
--	Family     uint8
--	X__ifi_pad uint8
--	Type       uint16
--	Index      int32
--	Flags      uint32
--	Change     uint32
--}
--
--type IfAddrmsg struct {
--	Family    uint8
--	Prefixlen uint8
--	Flags     uint8
--	Scope     uint8
--	Index     uint32
--}
--
--type RtMsg struct {
--	Family   uint8
--	Dst_len  uint8
--	Src_len  uint8
--	Tos      uint8
--	Table    uint8
--	Protocol uint8
--	Scope    uint8
--	Type     uint8
--	Flags    uint32
--}
--
--type RtNexthop struct {
--	Len     uint16
--	Flags   uint8
--	Hops    uint8
--	Ifindex int32
--}
--
--const (
--	SizeofSockFilter = 0x8
--	SizeofSockFprog  = 0x8
--)
--
--type SockFilter struct {
--	Code uint16
--	Jt   uint8
--	Jf   uint8
--	K    uint32
--}
--
--type SockFprog struct {
--	Len       uint16
--	Pad_cgo_0 [2]byte
--	Filter    *SockFilter
--}
--
--type InotifyEvent struct {
--	Wd     int32
--	Mask   uint32
--	Cookie uint32
--	Len    uint32
--}
--
--const SizeofInotifyEvent = 0x10
--
- type PtraceRegs struct {
- 	Uregs [18]uint32
- }
-@@ -605,16 +189,7 @@ type Sysinfo_t struct {
- 	Totalhigh uint32
- 	Freehigh  uint32
- 	Unit      uint32
--	X_f       [8]uint8
--}
--
--type Utsname struct {
--	Sysname    [65]uint8
--	Nodename   [65]uint8
--	Release    [65]uint8
--	Version    [65]uint8
--	Machine    [65]uint8
--	Domainname [65]uint8
-+	_         [8]uint8
- }
- 
- type Ustat_t struct {
-@@ -632,37 +207,14 @@ type EpollEvent struct {
- }
- 
- const (
--	AT_FDCWD            = -0x64
--	AT_REMOVEDIR        = 0x200
--	AT_SYMLINK_FOLLOW   = 0x400
--	AT_SYMLINK_NOFOLLOW = 0x100
--)
--
--type PollFd struct {
--	Fd      int32
--	Events  int16
--	Revents int16
--}
--
--const (
--	POLLIN    = 0x1
--	POLLPRI   = 0x2
--	POLLOUT   = 0x4
- 	POLLRDHUP = 0x2000
--	POLLERR   = 0x8
--	POLLHUP   = 0x10
--	POLLNVAL  = 0x20
- )
- 
- type Sigset_t struct {
--	X__val [32]uint32
-+	Val [32]uint32
- }
- 
--const RNDGETENTCNT = 0x80045200
--
--const PERF_IOC_FLAG_GROUP = 0x1
--
--const _SC_PAGESIZE = 0x1e
-+const _C__NSIG = 0x41
- 
- type Termios struct {
- 	Iflag  uint32
-@@ -675,20 +227,12 @@ type Termios struct {
- 	Ospeed uint32
- }
- 
--type Winsize struct {
--	Row    uint16
--	Col    uint16
--	Xpixel uint16
--	Ypixel uint16
--}
--
- type Taskstats struct {
- 	Version                   uint16
--	Pad_cgo_0                 [2]byte
- 	Ac_exitcode               uint32
- 	Ac_flag                   uint8
- 	Ac_nice                   uint8
--	Pad_cgo_1                 [6]byte
-+	_                         [4]byte
- 	Cpu_count                 uint64
- 	Cpu_delay_total           uint64
- 	Blkio_count               uint64
-@@ -700,13 +244,13 @@ type Taskstats struct {
- 	Ac_comm                   [32]uint8
- 	Ac_sched                  uint8
- 	Ac_pad                    [3]uint8
--	Pad_cgo_2                 [4]byte
-+	_                         [4]byte
- 	Ac_uid                    uint32
- 	Ac_gid                    uint32
- 	Ac_pid                    uint32
- 	Ac_ppid                   uint32
- 	Ac_btime                  uint32
--	Pad_cgo_3                 [4]byte
-+	_                         [4]byte
- 	Ac_etime                  uint64
- 	Ac_utime                  uint64
- 	Ac_stime                  uint64
-@@ -730,55 +274,318 @@ type Taskstats struct {
- 	Cpu_scaled_run_real_total uint64
- 	Freepages_count           uint64
- 	Freepages_delay_total     uint64
-+	Thrashing_count           uint64
-+	Thrashing_delay_total     uint64
-+	Ac_btime64                uint64
- }
- 
-+type cpuMask uint32
-+
-+const (
-+	_NCPUBITS = 0x20
-+)
-+
- const (
--	TASKSTATS_CMD_UNSPEC                  = 0x0
--	TASKSTATS_CMD_GET                     = 0x1
--	TASKSTATS_CMD_NEW                     = 0x2
--	TASKSTATS_TYPE_UNSPEC                 = 0x0
--	TASKSTATS_TYPE_PID                    = 0x1
--	TASKSTATS_TYPE_TGID                   = 0x2
--	TASKSTATS_TYPE_STATS                  = 0x3
--	TASKSTATS_TYPE_AGGR_PID               = 0x4
--	TASKSTATS_TYPE_AGGR_TGID              = 0x5
--	TASKSTATS_TYPE_NULL                   = 0x6
--	TASKSTATS_CMD_ATTR_UNSPEC             = 0x0
--	TASKSTATS_CMD_ATTR_PID                = 0x1
--	TASKSTATS_CMD_ATTR_TGID               = 0x2
--	TASKSTATS_CMD_ATTR_REGISTER_CPUMASK   = 0x3
--	TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4
-+	CBitFieldMaskBit0  = 0x1
-+	CBitFieldMaskBit1  = 0x2
-+	CBitFieldMaskBit2  = 0x4
-+	CBitFieldMaskBit3  = 0x8
-+	CBitFieldMaskBit4  = 0x10
-+	CBitFieldMaskBit5  = 0x20
-+	CBitFieldMaskBit6  = 0x40
-+	CBitFieldMaskBit7  = 0x80
-+	CBitFieldMaskBit8  = 0x100
-+	CBitFieldMaskBit9  = 0x200
-+	CBitFieldMaskBit10 = 0x400
-+	CBitFieldMaskBit11 = 0x800
-+	CBitFieldMaskBit12 = 0x1000
-+	CBitFieldMaskBit13 = 0x2000
-+	CBitFieldMaskBit14 = 0x4000
-+	CBitFieldMaskBit15 = 0x8000
-+	CBitFieldMaskBit16 = 0x10000
-+	CBitFieldMaskBit17 = 0x20000
-+	CBitFieldMaskBit18 = 0x40000
-+	CBitFieldMaskBit19 = 0x80000
-+	CBitFieldMaskBit20 = 0x100000
-+	CBitFieldMaskBit21 = 0x200000
-+	CBitFieldMaskBit22 = 0x400000
-+	CBitFieldMaskBit23 = 0x800000
-+	CBitFieldMaskBit24 = 0x1000000
-+	CBitFieldMaskBit25 = 0x2000000
-+	CBitFieldMaskBit26 = 0x4000000
-+	CBitFieldMaskBit27 = 0x8000000
-+	CBitFieldMaskBit28 = 0x10000000
-+	CBitFieldMaskBit29 = 0x20000000
-+	CBitFieldMaskBit30 = 0x40000000
-+	CBitFieldMaskBit31 = 0x80000000
-+	CBitFieldMaskBit32 = 0x100000000
-+	CBitFieldMaskBit33 = 0x200000000
-+	CBitFieldMaskBit34 = 0x400000000
-+	CBitFieldMaskBit35 = 0x800000000
-+	CBitFieldMaskBit36 = 0x1000000000
-+	CBitFieldMaskBit37 = 0x2000000000
-+	CBitFieldMaskBit38 = 0x4000000000
-+	CBitFieldMaskBit39 = 0x8000000000
-+	CBitFieldMaskBit40 = 0x10000000000
-+	CBitFieldMaskBit41 = 0x20000000000
-+	CBitFieldMaskBit42 = 0x40000000000
-+	CBitFieldMaskBit43 = 0x80000000000
-+	CBitFieldMaskBit44 = 0x100000000000
-+	CBitFieldMaskBit45 = 0x200000000000
-+	CBitFieldMaskBit46 = 0x400000000000
-+	CBitFieldMaskBit47 = 0x800000000000
-+	CBitFieldMaskBit48 = 0x1000000000000
-+	CBitFieldMaskBit49 = 0x2000000000000
-+	CBitFieldMaskBit50 = 0x4000000000000
-+	CBitFieldMaskBit51 = 0x8000000000000
-+	CBitFieldMaskBit52 = 0x10000000000000
-+	CBitFieldMaskBit53 = 0x20000000000000
-+	CBitFieldMaskBit54 = 0x40000000000000
-+	CBitFieldMaskBit55 = 0x80000000000000
-+	CBitFieldMaskBit56 = 0x100000000000000
-+	CBitFieldMaskBit57 = 0x200000000000000
-+	CBitFieldMaskBit58 = 0x400000000000000
-+	CBitFieldMaskBit59 = 0x800000000000000
-+	CBitFieldMaskBit60 = 0x1000000000000000
-+	CBitFieldMaskBit61 = 0x2000000000000000
-+	CBitFieldMaskBit62 = 0x4000000000000000
-+	CBitFieldMaskBit63 = 0x8000000000000000
- )
- 
--type Genlmsghdr struct {
--	Cmd      uint8
--	Version  uint8
--	Reserved uint16
-+type SockaddrStorage struct {
-+	Family uint16
-+	_      [122]uint8
-+	_      uint32
-+}
-+
-+type HDGeometry struct {
-+	Heads     uint8
-+	Sectors   uint8
-+	Cylinders uint16
-+	Start     uint32
-+}
-+
-+type Statfs_t struct {
-+	Type    int32
-+	Bsize   int32
-+	Blocks  uint64
-+	Bfree   uint64
-+	Bavail  uint64
-+	Files   uint64
-+	Ffree   uint64
-+	Fsid    Fsid
-+	Namelen int32
-+	Frsize  int32
-+	Flags   int32
-+	Spare   [4]int32
-+	_       [4]byte
-+}
-+
-+type TpacketHdr struct {
-+	Status  uint32
-+	Len     uint32
-+	Snaplen uint32
-+	Mac     uint16
-+	Net     uint16
-+	Sec     uint32
-+	Usec    uint32
-+}
-+
-+const (
-+	SizeofTpacketHdr = 0x18
-+)
-+
-+type RTCPLLInfo struct {
-+	Ctrl    int32
-+	Value   int32
-+	Max     int32
-+	Min     int32
-+	Posmult int32
-+	Negmult int32
-+	Clock   int32
-+}
-+
-+type BlkpgPartition struct {
-+	Start   int64
-+	Length  int64
-+	Pno     int32
-+	Devname [64]uint8
-+	Volname [64]uint8
-+	_       [4]byte
- }
- 
- const (
--	CTRL_CMD_UNSPEC            = 0x0
--	CTRL_CMD_NEWFAMILY         = 0x1
--	CTRL_CMD_DELFAMILY         = 0x2
--	CTRL_CMD_GETFAMILY         = 0x3
--	CTRL_CMD_NEWOPS            = 0x4
--	CTRL_CMD_DELOPS            = 0x5
--	CTRL_CMD_GETOPS            = 0x6
--	CTRL_CMD_NEWMCAST_GRP      = 0x7
--	CTRL_CMD_DELMCAST_GRP      = 0x8
--	CTRL_CMD_GETMCAST_GRP      = 0x9
--	CTRL_ATTR_UNSPEC           = 0x0
--	CTRL_ATTR_FAMILY_ID        = 0x1
--	CTRL_ATTR_FAMILY_NAME      = 0x2
--	CTRL_ATTR_VERSION          = 0x3
--	CTRL_ATTR_HDRSIZE          = 0x4
--	CTRL_ATTR_MAXATTR          = 0x5
--	CTRL_ATTR_OPS              = 0x6
--	CTRL_ATTR_MCAST_GROUPS     = 0x7
--	CTRL_ATTR_OP_UNSPEC        = 0x0
--	CTRL_ATTR_OP_ID            = 0x1
--	CTRL_ATTR_OP_FLAGS         = 0x2
--	CTRL_ATTR_MCAST_GRP_UNSPEC = 0x0
--	CTRL_ATTR_MCAST_GRP_NAME   = 0x1
--	CTRL_ATTR_MCAST_GRP_ID     = 0x2
-+	BLKPG = 0x1269
- )
-+
-+type XDPUmemReg struct {
-+	Addr     uint64
-+	Len      uint64
-+	Size     uint32
-+	Headroom uint32
-+	Flags    uint32
-+	_        [4]byte
-+}
-+
-+type CryptoUserAlg struct {
-+	Name        [64]uint8
-+	Driver_name [64]uint8
-+	Module_name [64]uint8
-+	Type        uint32
-+	Mask        uint32
-+	Refcnt      uint32
-+	Flags       uint32
-+}
-+
-+type CryptoStatAEAD struct {
-+	Type         [64]uint8
-+	Encrypt_cnt  uint64
-+	Encrypt_tlen uint64
-+	Decrypt_cnt  uint64
-+	Decrypt_tlen uint64
-+	Err_cnt      uint64
-+}
-+
-+type CryptoStatAKCipher struct {
-+	Type         [64]uint8
-+	Encrypt_cnt  uint64
-+	Encrypt_tlen uint64
-+	Decrypt_cnt  uint64
-+	Decrypt_tlen uint64
-+	Verify_cnt   uint64
-+	Sign_cnt     uint64
-+	Err_cnt      uint64
-+}
-+
-+type CryptoStatCipher struct {
-+	Type         [64]uint8
-+	Encrypt_cnt  uint64
-+	Encrypt_tlen uint64
-+	Decrypt_cnt  uint64
-+	Decrypt_tlen uint64
-+	Err_cnt      uint64
-+}
-+
-+type CryptoStatCompress struct {
-+	Type            [64]uint8
-+	Compress_cnt    uint64
-+	Compress_tlen   uint64
-+	Decompress_cnt  uint64
-+	Decompress_tlen uint64
-+	Err_cnt         uint64
-+}
-+
-+type CryptoStatHash struct {
-+	Type      [64]uint8
-+	Hash_cnt  uint64
-+	Hash_tlen uint64
-+	Err_cnt   uint64
-+}
-+
-+type CryptoStatKPP struct {
-+	Type                      [64]uint8
-+	Setsecret_cnt             uint64
-+	Generate_public_key_cnt   uint64
-+	Compute_shared_secret_cnt uint64
-+	Err_cnt                   uint64
-+}
-+
-+type CryptoStatRNG struct {
-+	Type          [64]uint8
-+	Generate_cnt  uint64
-+	Generate_tlen uint64
-+	Seed_cnt      uint64
-+	Err_cnt       uint64
-+}
-+
-+type CryptoStatLarval struct {
-+	Type [64]uint8
-+}
-+
-+type CryptoReportLarval struct {
-+	Type [64]uint8
-+}
-+
-+type CryptoReportHash struct {
-+	Type       [64]uint8
-+	Blocksize  uint32
-+	Digestsize uint32
-+}
-+
-+type CryptoReportCipher struct {
-+	Type        [64]uint8
-+	Blocksize   uint32
-+	Min_keysize uint32
-+	Max_keysize uint32
-+}
-+
-+type CryptoReportBlkCipher struct {
-+	Type        [64]uint8
-+	Geniv       [64]uint8
-+	Blocksize   uint32
-+	Min_keysize uint32
-+	Max_keysize uint32
-+	Ivsize      uint32
-+}
-+
-+type CryptoReportAEAD struct {
-+	Type        [64]uint8
-+	Geniv       [64]uint8
-+	Blocksize   uint32
-+	Maxauthsize uint32
-+	Ivsize      uint32
-+}
-+
-+type CryptoReportComp struct {
-+	Type [64]uint8
-+}
-+
-+type CryptoReportRNG struct {
-+	Type     [64]uint8
-+	Seedsize uint32
-+}
-+
-+type CryptoReportAKCipher struct {
-+	Type [64]uint8
-+}
-+
-+type CryptoReportKPP struct {
-+	Type [64]uint8
-+}
-+
-+type CryptoReportAcomp struct {
-+	Type [64]uint8
-+}
-+
-+type LoopInfo struct {
-+	Number           int32
-+	Device           uint16
-+	Inode            uint32
-+	Rdevice          uint16
-+	Offset           int32
-+	Encrypt_type     int32
-+	Encrypt_key_size int32
-+	Flags            int32
-+	Name             [64]uint8
-+	Encrypt_key      [32]uint8
-+	Init             [2]uint32
-+	Reserved         [4]uint8
-+}
-+
-+type TIPCSubscr struct {
-+	Seq     TIPCServiceRange
-+	Timeout uint32
-+	Filter  uint32
-+	Handle  [8]uint8
-+}
-+
-+type TIPCSIOCLNReq struct {
-+	Peer     uint32
-+	Id       uint32
-+	Linkname [68]uint8
-+}
-+
-+type TIPCSIOCNodeIDReq struct {
-+	Peer uint32
-+	Id   [16]uint8
-+}
-diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go
-index a3d0cc4a..a936f216 100644
---- a/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go
-+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go
-@@ -6,19 +6,12 @@
- package unix
- 
- const (
--	sizeofPtr      = 0x8
--	sizeofShort    = 0x2
--	sizeofInt      = 0x4
--	sizeofLong     = 0x8
--	sizeofLongLong = 0x8
--	PathMax        = 0x1000
-+	SizeofPtr  = 0x8
-+	SizeofLong = 0x8
- )
- 
- type (
--	_C_short     int16
--	_C_int       int32
--	_C_long      int64
--	_C_long_long int64
-+	_C_long int64
- )
- 
- type Timespec struct {
-@@ -33,13 +26,11 @@ type Timeval struct {
- 
- type Timex struct {
- 	Modes     uint32
--	Pad_cgo_0 [4]byte
- 	Offset    int64
- 	Freq      int64
- 	Maxerror  int64
- 	Esterror  int64
- 	Status    int32
--	Pad_cgo_1 [4]byte
- 	Constant  int64
- 	Precision int64
- 	Tolerance int64
-@@ -48,14 +39,13 @@ type Timex struct {
- 	Ppsfreq   int64
- 	Jitter    int64
- 	Shift     int32
--	Pad_cgo_2 [4]byte
- 	Stabil    int64
- 	Jitcnt    int64
- 	Calcnt    int64
- 	Errcnt    int64
- 	Stbcnt    int64
- 	Tai       int32
--	Pad_cgo_3 [44]byte
-+	_         [44]byte
- }
- 
- type Time_t int64
-@@ -91,13 +81,6 @@ type Rusage struct {
- 	Nivcsw   int64
- }
- 
--type Rlimit struct {
--	Cur uint64
--	Max uint64
--}
--
--type _Gid_t uint32
--
- type Stat_t struct {
- 	Dev     uint64
- 	Ino     uint64
-@@ -106,10 +89,10 @@ type Stat_t struct {
- 	Uid     uint32
- 	Gid     uint32
- 	Rdev    uint64
--	X__pad1 uint64
-+	_       uint64
- 	Size    int64
- 	Blksize int32
--	X__pad2 int32
-+	_       int32
- 	Blocks  int64
- 	Atim    Timespec
- 	Mtim    Timespec
-@@ -117,139 +100,29 @@ type Stat_t struct {
- 	_       [2]int32
- }
- 
--type Statfs_t struct {
--	Type    int64
--	Bsize   int64
--	Blocks  uint64
--	Bfree   uint64
--	Bavail  uint64
--	Files   uint64
--	Ffree   uint64
--	Fsid    Fsid
--	Namelen int64
--	Frsize  int64
--	Flags   int64
--	Spare   [4]int64
--}
--
- type Dirent struct {
--	Ino       uint64
--	Off       int64
--	Reclen    uint16
--	Type      uint8
--	Name      [256]int8
--	Pad_cgo_0 [5]byte
--}
--
--type Fsid struct {
--	X__val [2]int32
-+	Ino    uint64
-+	Off    int64
-+	Reclen uint16
-+	Type   uint8
-+	Name   [256]int8
-+	_      [5]byte
- }
- 
- type Flock_t struct {
--	Type      int16
--	Whence    int16
--	Pad_cgo_0 [4]byte
--	Start     int64
--	Len       int64
--	Pid       int32
--	Pad_cgo_1 [4]byte
--}
--
--type FscryptPolicy struct {
--	Version                   uint8
--	Contents_encryption_mode  uint8
--	Filenames_encryption_mode uint8
--	Flags                     uint8
--	Master_key_descriptor     [8]uint8
--}
--
--type FscryptKey struct {
--	Mode uint32
--	Raw  [64]uint8
--	Size uint32
--}
--
--type KeyctlDHParams struct {
--	Private int32
--	Prime   int32
--	Base    int32
-+	Type   int16
-+	Whence int16
-+	Start  int64
-+	Len    int64
-+	Pid    int32
-+	_      [4]byte
- }
- 
- const (
--	FADV_NORMAL     = 0x0
--	FADV_RANDOM     = 0x1
--	FADV_SEQUENTIAL = 0x2
--	FADV_WILLNEED   = 0x3
--	FADV_DONTNEED   = 0x4
--	FADV_NOREUSE    = 0x5
-+	FADV_DONTNEED = 0x4
-+	FADV_NOREUSE  = 0x5
- )
- 
--type RawSockaddrInet4 struct {
--	Family uint16
--	Port   uint16
--	Addr   [4]byte /* in_addr */
--	Zero   [8]uint8
--}
--
--type RawSockaddrInet6 struct {
--	Family   uint16
--	Port     uint16
--	Flowinfo uint32
--	Addr     [16]byte /* in6_addr */
--	Scope_id uint32
--}
--
--type RawSockaddrUnix struct {
--	Family uint16
--	Path   [108]int8
--}
--
--type RawSockaddrLinklayer struct {
--	Family   uint16
--	Protocol uint16
--	Ifindex  int32
--	Hatype   uint16
--	Pkttype  uint8
--	Halen    uint8
--	Addr     [8]uint8
--}
--
--type RawSockaddrNetlink struct {
--	Family uint16
--	Pad    uint16
--	Pid    uint32
--	Groups uint32
--}
--
--type RawSockaddrHCI struct {
--	Family  uint16
--	Dev     uint16
--	Channel uint16
--}
--
--type RawSockaddrCAN struct {
--	Family    uint16
--	Pad_cgo_0 [2]byte
--	Ifindex   int32
--	Addr      [8]byte
--}
--
--type RawSockaddrALG struct {
--	Family uint16
--	Type   [14]uint8
--	Feat   uint32
--	Mask   uint32
--	Name   [64]uint8
--}
--
--type RawSockaddrVM struct {
--	Family    uint16
--	Reserved1 uint16
--	Port      uint32
--	Cid       uint32
--	Zero      [4]uint8
--}
--
- type RawSockaddr struct {
- 	Family uint16
- 	Data   [14]int8
-@@ -260,51 +133,20 @@ type RawSockaddrAny struct {
- 	Pad  [96]int8
- }
- 
--type _Socklen uint32
--
--type Linger struct {
--	Onoff  int32
--	Linger int32
--}
--
- type Iovec struct {
- 	Base *byte
- 	Len  uint64
- }
- 
--type IPMreq struct {
--	Multiaddr [4]byte /* in_addr */
--	Interface [4]byte /* in_addr */
--}
--
--type IPMreqn struct {
--	Multiaddr [4]byte /* in_addr */
--	Address   [4]byte /* in_addr */
--	Ifindex   int32
--}
--
--type IPv6Mreq struct {
--	Multiaddr [16]byte /* in6_addr */
--	Interface uint32
--}
--
--type PacketMreq struct {
--	Ifindex int32
--	Type    uint16
--	Alen    uint16
--	Address [8]uint8
--}
--
- type Msghdr struct {
- 	Name       *byte
- 	Namelen    uint32
--	Pad_cgo_0  [4]byte
- 	Iov        *Iovec
- 	Iovlen     uint64
- 	Control    *byte
- 	Controllen uint64
- 	Flags      int32
--	Pad_cgo_1  [4]byte
-+	_          [4]byte
- }
- 
- type Cmsghdr struct {
-@@ -313,277 +155,16 @@ type Cmsghdr struct {
- 	Type  int32
- }
- 
--type Inet4Pktinfo struct {
--	Ifindex  int32
--	Spec_dst [4]byte /* in_addr */
--	Addr     [4]byte /* in_addr */
--}
--
--type Inet6Pktinfo struct {
--	Addr    [16]byte /* in6_addr */
--	Ifindex uint32
--}
--
--type IPv6MTUInfo struct {
--	Addr RawSockaddrInet6
--	Mtu  uint32
--}
--
--type ICMPv6Filter struct {
--	Data [8]uint32
--}
--
--type Ucred struct {
--	Pid int32
--	Uid uint32
--	Gid uint32
--}
--
--type TCPInfo struct {
--	State          uint8
--	Ca_state       uint8
--	Retransmits    uint8
--	Probes         uint8
--	Backoff        uint8
--	Options        uint8
--	Pad_cgo_0      [2]byte
--	Rto            uint32
--	Ato            uint32
--	Snd_mss        uint32
--	Rcv_mss        uint32
--	Unacked        uint32
--	Sacked         uint32
--	Lost           uint32
--	Retrans        uint32
--	Fackets        uint32
--	Last_data_sent uint32
--	Last_ack_sent  uint32
--	Last_data_recv uint32
--	Last_ack_recv  uint32
--	Pmtu           uint32
--	Rcv_ssthresh   uint32
--	Rtt            uint32
--	Rttvar         uint32
--	Snd_ssthresh   uint32
--	Snd_cwnd       uint32
--	Advmss         uint32
--	Reordering     uint32
--	Rcv_rtt        uint32
--	Rcv_space      uint32
--	Total_retrans  uint32
--}
--
- const (
--	SizeofSockaddrInet4     = 0x10
--	SizeofSockaddrInet6     = 0x1c
--	SizeofSockaddrAny       = 0x70
--	SizeofSockaddrUnix      = 0x6e
--	SizeofSockaddrLinklayer = 0x14
--	SizeofSockaddrNetlink   = 0xc
--	SizeofSockaddrHCI       = 0x6
--	SizeofSockaddrCAN       = 0x10
--	SizeofSockaddrALG       = 0x58
--	SizeofSockaddrVM        = 0x10
--	SizeofLinger            = 0x8
--	SizeofIovec             = 0x10
--	SizeofIPMreq            = 0x8
--	SizeofIPMreqn           = 0xc
--	SizeofIPv6Mreq          = 0x14
--	SizeofPacketMreq        = 0x10
--	SizeofMsghdr            = 0x38
--	SizeofCmsghdr           = 0x10
--	SizeofInet4Pktinfo      = 0xc
--	SizeofInet6Pktinfo      = 0x14
--	SizeofIPv6MTUInfo       = 0x20
--	SizeofICMPv6Filter      = 0x20
--	SizeofUcred             = 0xc
--	SizeofTCPInfo           = 0x68
-+	SizeofIovec   = 0x10
-+	SizeofMsghdr  = 0x38
-+	SizeofCmsghdr = 0x10
- )
- 
- const (
--	IFA_UNSPEC          = 0x0
--	IFA_ADDRESS         = 0x1
--	IFA_LOCAL           = 0x2
--	IFA_LABEL           = 0x3
--	IFA_BROADCAST       = 0x4
--	IFA_ANYCAST         = 0x5
--	IFA_CACHEINFO       = 0x6
--	IFA_MULTICAST       = 0x7
--	IFLA_UNSPEC         = 0x0
--	IFLA_ADDRESS        = 0x1
--	IFLA_BROADCAST      = 0x2
--	IFLA_IFNAME         = 0x3
--	IFLA_MTU            = 0x4
--	IFLA_LINK           = 0x5
--	IFLA_QDISC          = 0x6
--	IFLA_STATS          = 0x7
--	IFLA_COST           = 0x8
--	IFLA_PRIORITY       = 0x9
--	IFLA_MASTER         = 0xa
--	IFLA_WIRELESS       = 0xb
--	IFLA_PROTINFO       = 0xc
--	IFLA_TXQLEN         = 0xd
--	IFLA_MAP            = 0xe
--	IFLA_WEIGHT         = 0xf
--	IFLA_OPERSTATE      = 0x10
--	IFLA_LINKMODE       = 0x11
--	IFLA_LINKINFO       = 0x12
--	IFLA_NET_NS_PID     = 0x13
--	IFLA_IFALIAS        = 0x14
--	IFLA_MAX            = 0x2b
--	RT_SCOPE_UNIVERSE   = 0x0
--	RT_SCOPE_SITE       = 0xc8
--	RT_SCOPE_LINK       = 0xfd
--	RT_SCOPE_HOST       = 0xfe
--	RT_SCOPE_NOWHERE    = 0xff
--	RT_TABLE_UNSPEC     = 0x0
--	RT_TABLE_COMPAT     = 0xfc
--	RT_TABLE_DEFAULT    = 0xfd
--	RT_TABLE_MAIN       = 0xfe
--	RT_TABLE_LOCAL      = 0xff
--	RT_TABLE_MAX        = 0xffffffff
--	RTA_UNSPEC          = 0x0
--	RTA_DST             = 0x1
--	RTA_SRC             = 0x2
--	RTA_IIF             = 0x3
--	RTA_OIF             = 0x4
--	RTA_GATEWAY         = 0x5
--	RTA_PRIORITY        = 0x6
--	RTA_PREFSRC         = 0x7
--	RTA_METRICS         = 0x8
--	RTA_MULTIPATH       = 0x9
--	RTA_FLOW            = 0xb
--	RTA_CACHEINFO       = 0xc
--	RTA_TABLE           = 0xf
--	RTN_UNSPEC          = 0x0
--	RTN_UNICAST         = 0x1
--	RTN_LOCAL           = 0x2
--	RTN_BROADCAST       = 0x3
--	RTN_ANYCAST         = 0x4
--	RTN_MULTICAST       = 0x5
--	RTN_BLACKHOLE       = 0x6
--	RTN_UNREACHABLE     = 0x7
--	RTN_PROHIBIT        = 0x8
--	RTN_THROW           = 0x9
--	RTN_NAT             = 0xa
--	RTN_XRESOLVE        = 0xb
--	RTNLGRP_NONE        = 0x0
--	RTNLGRP_LINK        = 0x1
--	RTNLGRP_NOTIFY      = 0x2
--	RTNLGRP_NEIGH       = 0x3
--	RTNLGRP_TC          = 0x4
--	RTNLGRP_IPV4_IFADDR = 0x5
--	RTNLGRP_IPV4_MROUTE = 0x6
--	RTNLGRP_IPV4_ROUTE  = 0x7
--	RTNLGRP_IPV4_RULE   = 0x8
--	RTNLGRP_IPV6_IFADDR = 0x9
--	RTNLGRP_IPV6_MROUTE = 0xa
--	RTNLGRP_IPV6_ROUTE  = 0xb
--	RTNLGRP_IPV6_IFINFO = 0xc
--	RTNLGRP_IPV6_PREFIX = 0x12
--	RTNLGRP_IPV6_RULE   = 0x13
--	RTNLGRP_ND_USEROPT  = 0x14
--	SizeofNlMsghdr      = 0x10
--	SizeofNlMsgerr      = 0x14
--	SizeofRtGenmsg      = 0x1
--	SizeofNlAttr        = 0x4
--	SizeofRtAttr        = 0x4
--	SizeofIfInfomsg     = 0x10
--	SizeofIfAddrmsg     = 0x8
--	SizeofRtMsg         = 0xc
--	SizeofRtNexthop     = 0x8
-+	SizeofSockFprog = 0x10
- )
- 
--type NlMsghdr struct {
--	Len   uint32
--	Type  uint16
--	Flags uint16
--	Seq   uint32
--	Pid   uint32
--}
--
--type NlMsgerr struct {
--	Error int32
--	Msg   NlMsghdr
--}
--
--type RtGenmsg struct {
--	Family uint8
--}
--
--type NlAttr struct {
--	Len  uint16
--	Type uint16
--}
--
--type RtAttr struct {
--	Len  uint16
--	Type uint16
--}
--
--type IfInfomsg struct {
--	Family     uint8
--	X__ifi_pad uint8
--	Type       uint16
--	Index      int32
--	Flags      uint32
--	Change     uint32
--}
--
--type IfAddrmsg struct {
--	Family    uint8
--	Prefixlen uint8
--	Flags     uint8
--	Scope     uint8
--	Index     uint32
--}
--
--type RtMsg struct {
--	Family   uint8
--	Dst_len  uint8
--	Src_len  uint8
--	Tos      uint8
--	Table    uint8
--	Protocol uint8
--	Scope    uint8
--	Type     uint8
--	Flags    uint32
--}
--
--type RtNexthop struct {
--	Len     uint16
--	Flags   uint8
--	Hops    uint8
--	Ifindex int32
--}
--
--const (
--	SizeofSockFilter = 0x8
--	SizeofSockFprog  = 0x10
--)
--
--type SockFilter struct {
--	Code uint16
--	Jt   uint8
--	Jf   uint8
--	K    uint32
--}
--
--type SockFprog struct {
--	Len       uint16
--	Pad_cgo_0 [6]byte
--	Filter    *SockFilter
--}
--
--type InotifyEvent struct {
--	Wd     int32
--	Mask   uint32
--	Cookie uint32
--	Len    uint32
--}
--
--const SizeofInotifyEvent = 0x10
--
- type PtraceRegs struct {
- 	Regs   [31]uint64
- 	Sp     uint64
-@@ -606,30 +187,19 @@ type Sysinfo_t struct {
- 	Freeswap  uint64
- 	Procs     uint16
- 	Pad       uint16
--	Pad_cgo_0 [4]byte
- 	Totalhigh uint64
- 	Freehigh  uint64
- 	Unit      uint32
--	X_f       [0]int8
--	Pad_cgo_1 [4]byte
--}
--
--type Utsname struct {
--	Sysname    [65]int8
--	Nodename   [65]int8
--	Release    [65]int8
--	Version    [65]int8
--	Machine    [65]int8
--	Domainname [65]int8
-+	_         [0]int8
-+	_         [4]byte
- }
- 
- type Ustat_t struct {
--	Tfree     int32
--	Pad_cgo_0 [4]byte
--	Tinode    uint64
--	Fname     [6]int8
--	Fpack     [6]int8
--	Pad_cgo_1 [4]byte
-+	Tfree  int32
-+	Tinode uint64
-+	Fname  [6]int8
-+	Fpack  [6]int8
-+	_      [4]byte
- }
- 
- type EpollEvent struct {
-@@ -640,37 +210,14 @@ type EpollEvent struct {
- }
- 
- const (
--	AT_FDCWD            = -0x64
--	AT_REMOVEDIR        = 0x200
--	AT_SYMLINK_FOLLOW   = 0x400
--	AT_SYMLINK_NOFOLLOW = 0x100
--)
--
--type PollFd struct {
--	Fd      int32
--	Events  int16
--	Revents int16
--}
--
--const (
--	POLLIN    = 0x1
--	POLLPRI   = 0x2
--	POLLOUT   = 0x4
- 	POLLRDHUP = 0x2000
--	POLLERR   = 0x8
--	POLLHUP   = 0x10
--	POLLNVAL  = 0x20
- )
- 
- type Sigset_t struct {
--	X__val [16]uint64
-+	Val [16]uint64
- }
- 
--const RNDGETENTCNT = 0x80045200
--
--const PERF_IOC_FLAG_GROUP = 0x1
--
--const _SC_PAGESIZE = 0x1e
-+const _C__NSIG = 0x41
- 
- type Termios struct {
- 	Iflag  uint32
-@@ -683,20 +230,11 @@ type Termios struct {
- 	Ospeed uint32
- }
- 
--type Winsize struct {
--	Row    uint16
--	Col    uint16
--	Xpixel uint16
--	Ypixel uint16
--}
--
- type Taskstats struct {
- 	Version                   uint16
--	Pad_cgo_0                 [2]byte
- 	Ac_exitcode               uint32
- 	Ac_flag                   uint8
- 	Ac_nice                   uint8
--	Pad_cgo_1                 [6]byte
- 	Cpu_count                 uint64
- 	Cpu_delay_total           uint64
- 	Blkio_count               uint64
-@@ -708,13 +246,12 @@ type Taskstats struct {
- 	Ac_comm                   [32]int8
- 	Ac_sched                  uint8
- 	Ac_pad                    [3]uint8
--	Pad_cgo_2                 [4]byte
-+	_                         [4]byte
- 	Ac_uid                    uint32
- 	Ac_gid                    uint32
- 	Ac_pid                    uint32
- 	Ac_ppid                   uint32
- 	Ac_btime                  uint32
--	Pad_cgo_3                 [4]byte
- 	Ac_etime                  uint64
- 	Ac_utime                  uint64
- 	Ac_stime                  uint64
-@@ -738,55 +275,319 @@ type Taskstats struct {
- 	Cpu_scaled_run_real_total uint64
- 	Freepages_count           uint64
- 	Freepages_delay_total     uint64
-+	Thrashing_count           uint64
-+	Thrashing_delay_total     uint64
-+	Ac_btime64                uint64
- }
- 
-+type cpuMask uint64
-+
- const (
--	TASKSTATS_CMD_UNSPEC                  = 0x0
--	TASKSTATS_CMD_GET                     = 0x1
--	TASKSTATS_CMD_NEW                     = 0x2
--	TASKSTATS_TYPE_UNSPEC                 = 0x0
--	TASKSTATS_TYPE_PID                    = 0x1
--	TASKSTATS_TYPE_TGID                   = 0x2
--	TASKSTATS_TYPE_STATS                  = 0x3
--	TASKSTATS_TYPE_AGGR_PID               = 0x4
--	TASKSTATS_TYPE_AGGR_TGID              = 0x5
--	TASKSTATS_TYPE_NULL                   = 0x6
--	TASKSTATS_CMD_ATTR_UNSPEC             = 0x0
--	TASKSTATS_CMD_ATTR_PID                = 0x1
--	TASKSTATS_CMD_ATTR_TGID               = 0x2
--	TASKSTATS_CMD_ATTR_REGISTER_CPUMASK   = 0x3
--	TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4
-+	_NCPUBITS = 0x40
- )
- 
--type Genlmsghdr struct {
--	Cmd      uint8
--	Version  uint8
--	Reserved uint16
-+const (
-+	CBitFieldMaskBit0  = 0x1
-+	CBitFieldMaskBit1  = 0x2
-+	CBitFieldMaskBit2  = 0x4
-+	CBitFieldMaskBit3  = 0x8
-+	CBitFieldMaskBit4  = 0x10
-+	CBitFieldMaskBit5  = 0x20
-+	CBitFieldMaskBit6  = 0x40
-+	CBitFieldMaskBit7  = 0x80
-+	CBitFieldMaskBit8  = 0x100
-+	CBitFieldMaskBit9  = 0x200
-+	CBitFieldMaskBit10 = 0x400
-+	CBitFieldMaskBit11 = 0x800
-+	CBitFieldMaskBit12 = 0x1000
-+	CBitFieldMaskBit13 = 0x2000
-+	CBitFieldMaskBit14 = 0x4000
-+	CBitFieldMaskBit15 = 0x8000
-+	CBitFieldMaskBit16 = 0x10000
-+	CBitFieldMaskBit17 = 0x20000
-+	CBitFieldMaskBit18 = 0x40000
-+	CBitFieldMaskBit19 = 0x80000
-+	CBitFieldMaskBit20 = 0x100000
-+	CBitFieldMaskBit21 = 0x200000
-+	CBitFieldMaskBit22 = 0x400000
-+	CBitFieldMaskBit23 = 0x800000
-+	CBitFieldMaskBit24 = 0x1000000
-+	CBitFieldMaskBit25 = 0x2000000
-+	CBitFieldMaskBit26 = 0x4000000
-+	CBitFieldMaskBit27 = 0x8000000
-+	CBitFieldMaskBit28 = 0x10000000
-+	CBitFieldMaskBit29 = 0x20000000
-+	CBitFieldMaskBit30 = 0x40000000
-+	CBitFieldMaskBit31 = 0x80000000
-+	CBitFieldMaskBit32 = 0x100000000
-+	CBitFieldMaskBit33 = 0x200000000
-+	CBitFieldMaskBit34 = 0x400000000
-+	CBitFieldMaskBit35 = 0x800000000
-+	CBitFieldMaskBit36 = 0x1000000000
-+	CBitFieldMaskBit37 = 0x2000000000
-+	CBitFieldMaskBit38 = 0x4000000000
-+	CBitFieldMaskBit39 = 0x8000000000
-+	CBitFieldMaskBit40 = 0x10000000000
-+	CBitFieldMaskBit41 = 0x20000000000
-+	CBitFieldMaskBit42 = 0x40000000000
-+	CBitFieldMaskBit43 = 0x80000000000
-+	CBitFieldMaskBit44 = 0x100000000000
-+	CBitFieldMaskBit45 = 0x200000000000
-+	CBitFieldMaskBit46 = 0x400000000000
-+	CBitFieldMaskBit47 = 0x800000000000
-+	CBitFieldMaskBit48 = 0x1000000000000
-+	CBitFieldMaskBit49 = 0x2000000000000
-+	CBitFieldMaskBit50 = 0x4000000000000
-+	CBitFieldMaskBit51 = 0x8000000000000
-+	CBitFieldMaskBit52 = 0x10000000000000
-+	CBitFieldMaskBit53 = 0x20000000000000
-+	CBitFieldMaskBit54 = 0x40000000000000
-+	CBitFieldMaskBit55 = 0x80000000000000
-+	CBitFieldMaskBit56 = 0x100000000000000
-+	CBitFieldMaskBit57 = 0x200000000000000
-+	CBitFieldMaskBit58 = 0x400000000000000
-+	CBitFieldMaskBit59 = 0x800000000000000
-+	CBitFieldMaskBit60 = 0x1000000000000000
-+	CBitFieldMaskBit61 = 0x2000000000000000
-+	CBitFieldMaskBit62 = 0x4000000000000000
-+	CBitFieldMaskBit63 = 0x8000000000000000
-+)
-+
-+type SockaddrStorage struct {
-+	Family uint16
-+	_      [118]int8
-+	_      uint64
-+}
-+
-+type HDGeometry struct {
-+	Heads     uint8
-+	Sectors   uint8
-+	Cylinders uint16
-+	Start     uint64
-+}
-+
-+type Statfs_t struct {
-+	Type    int64
-+	Bsize   int64
-+	Blocks  uint64
-+	Bfree   uint64
-+	Bavail  uint64
-+	Files   uint64
-+	Ffree   uint64
-+	Fsid    Fsid
-+	Namelen int64
-+	Frsize  int64
-+	Flags   int64
-+	Spare   [4]int64
-+}
-+
-+type TpacketHdr struct {
-+	Status  uint64
-+	Len     uint32
-+	Snaplen uint32
-+	Mac     uint16
-+	Net     uint16
-+	Sec     uint32
-+	Usec    uint32
-+	_       [4]byte
- }
- 
- const (
--	CTRL_CMD_UNSPEC            = 0x0
--	CTRL_CMD_NEWFAMILY         = 0x1
--	CTRL_CMD_DELFAMILY         = 0x2
--	CTRL_CMD_GETFAMILY         = 0x3
--	CTRL_CMD_NEWOPS            = 0x4
--	CTRL_CMD_DELOPS            = 0x5
--	CTRL_CMD_GETOPS            = 0x6
--	CTRL_CMD_NEWMCAST_GRP      = 0x7
--	CTRL_CMD_DELMCAST_GRP      = 0x8
--	CTRL_CMD_GETMCAST_GRP      = 0x9
--	CTRL_ATTR_UNSPEC           = 0x0
--	CTRL_ATTR_FAMILY_ID        = 0x1
--	CTRL_ATTR_FAMILY_NAME      = 0x2
--	CTRL_ATTR_VERSION          = 0x3
--	CTRL_ATTR_HDRSIZE          = 0x4
--	CTRL_ATTR_MAXATTR          = 0x5
--	CTRL_ATTR_OPS              = 0x6
--	CTRL_ATTR_MCAST_GROUPS     = 0x7
--	CTRL_ATTR_OP_UNSPEC        = 0x0
--	CTRL_ATTR_OP_ID            = 0x1
--	CTRL_ATTR_OP_FLAGS         = 0x2
--	CTRL_ATTR_MCAST_GRP_UNSPEC = 0x0
--	CTRL_ATTR_MCAST_GRP_NAME   = 0x1
--	CTRL_ATTR_MCAST_GRP_ID     = 0x2
-+	SizeofTpacketHdr = 0x20
- )
-+
-+type RTCPLLInfo struct {
-+	Ctrl    int32
-+	Value   int32
-+	Max     int32
-+	Min     int32
-+	Posmult int32
-+	Negmult int32
-+	Clock   int64
-+}
-+
-+type BlkpgPartition struct {
-+	Start   int64
-+	Length  int64
-+	Pno     int32
-+	Devname [64]uint8
-+	Volname [64]uint8
-+	_       [4]byte
-+}
-+
-+const (
-+	BLKPG = 0x1269
-+)
-+
-+type XDPUmemReg struct {
-+	Addr     uint64
-+	Len      uint64
-+	Size     uint32
-+	Headroom uint32
-+	Flags    uint32
-+	_        [4]byte
-+}
-+
-+type CryptoUserAlg struct {
-+	Name        [64]int8
-+	Driver_name [64]int8
-+	Module_name [64]int8
-+	Type        uint32
-+	Mask        uint32
-+	Refcnt      uint32
-+	Flags       uint32
-+}
-+
-+type CryptoStatAEAD struct {
-+	Type         [64]int8
-+	Encrypt_cnt  uint64
-+	Encrypt_tlen uint64
-+	Decrypt_cnt  uint64
-+	Decrypt_tlen uint64
-+	Err_cnt      uint64
-+}
-+
-+type CryptoStatAKCipher struct {
-+	Type         [64]int8
-+	Encrypt_cnt  uint64
-+	Encrypt_tlen uint64
-+	Decrypt_cnt  uint64
-+	Decrypt_tlen uint64
-+	Verify_cnt   uint64
-+	Sign_cnt     uint64
-+	Err_cnt      uint64
-+}
-+
-+type CryptoStatCipher struct {
-+	Type         [64]int8
-+	Encrypt_cnt  uint64
-+	Encrypt_tlen uint64
-+	Decrypt_cnt  uint64
-+	Decrypt_tlen uint64
-+	Err_cnt      uint64
-+}
-+
-+type CryptoStatCompress struct {
-+	Type            [64]int8
-+	Compress_cnt    uint64
-+	Compress_tlen   uint64
-+	Decompress_cnt  uint64
-+	Decompress_tlen uint64
-+	Err_cnt         uint64
-+}
-+
-+type CryptoStatHash struct {
-+	Type      [64]int8
-+	Hash_cnt  uint64
-+	Hash_tlen uint64
-+	Err_cnt   uint64
-+}
-+
-+type CryptoStatKPP struct {
-+	Type                      [64]int8
-+	Setsecret_cnt             uint64
-+	Generate_public_key_cnt   uint64
-+	Compute_shared_secret_cnt uint64
-+	Err_cnt                   uint64
-+}
-+
-+type CryptoStatRNG struct {
-+	Type          [64]int8
-+	Generate_cnt  uint64
-+	Generate_tlen uint64
-+	Seed_cnt      uint64
-+	Err_cnt       uint64
-+}
-+
-+type CryptoStatLarval struct {
-+	Type [64]int8
-+}
-+
-+type CryptoReportLarval struct {
-+	Type [64]int8
-+}
-+
-+type CryptoReportHash struct {
-+	Type       [64]int8
-+	Blocksize  uint32
-+	Digestsize uint32
-+}
-+
-+type CryptoReportCipher struct {
-+	Type        [64]int8
-+	Blocksize   uint32
-+	Min_keysize uint32
-+	Max_keysize uint32
-+}
-+
-+type CryptoReportBlkCipher struct {
-+	Type        [64]int8
-+	Geniv       [64]int8
-+	Blocksize   uint32
-+	Min_keysize uint32
-+	Max_keysize uint32
-+	Ivsize      uint32
-+}
-+
-+type CryptoReportAEAD struct {
-+	Type        [64]int8
-+	Geniv       [64]int8
-+	Blocksize   uint32
-+	Maxauthsize uint32
-+	Ivsize      uint32
-+}
-+
-+type CryptoReportComp struct {
-+	Type [64]int8
-+}
-+
-+type CryptoReportRNG struct {
-+	Type     [64]int8
-+	Seedsize uint32
-+}
-+
-+type CryptoReportAKCipher struct {
-+	Type [64]int8
-+}
-+
-+type CryptoReportKPP struct {
-+	Type [64]int8
-+}
-+
-+type CryptoReportAcomp struct {
-+	Type [64]int8
-+}
-+
-+type LoopInfo struct {
-+	Number           int32
-+	Device           uint32
-+	Inode            uint64
-+	Rdevice          uint32
-+	Offset           int32
-+	Encrypt_type     int32
-+	Encrypt_key_size int32
-+	Flags            int32
-+	Name             [64]int8
-+	Encrypt_key      [32]uint8
-+	Init             [2]uint64
-+	Reserved         [4]int8
-+	_                [4]byte
-+}
-+
-+type TIPCSubscr struct {
-+	Seq     TIPCServiceRange
-+	Timeout uint32
-+	Filter  uint32
-+	Handle  [8]int8
-+}
-+
-+type TIPCSIOCLNReq struct {
-+	Peer     uint32
-+	Id       uint32
-+	Linkname [68]int8
-+}
-+
-+type TIPCSIOCNodeIDReq struct {
-+	Peer uint32
-+	Id   [16]int8
-+}
-diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go b/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go
-index 8fa6603f..aaca03dd 100644
---- a/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go
-+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go
-@@ -6,19 +6,12 @@
- package unix
- 
- const (
--	sizeofPtr      = 0x4
--	sizeofShort    = 0x2
--	sizeofInt      = 0x4
--	sizeofLong     = 0x4
--	sizeofLongLong = 0x8
--	PathMax        = 0x1000
-+	SizeofPtr  = 0x4
-+	SizeofLong = 0x4
- )
- 
- type (
--	_C_short     int16
--	_C_int       int32
--	_C_long      int32
--	_C_long_long int64
-+	_C_long int32
- )
- 
- type Timespec struct {
-@@ -52,7 +45,7 @@ type Timex struct {
- 	Errcnt    int32
- 	Stbcnt    int32
- 	Tai       int32
--	Pad_cgo_0 [44]byte
-+	_         [44]byte
- }
- 
- type Time_t int32
-@@ -88,13 +81,6 @@ type Rusage struct {
- 	Nivcsw   int32
- }
- 
--type Rlimit struct {
--	Cur uint64
--	Max uint64
--}
--
--type _Gid_t uint32
--
- type Stat_t struct {
- 	Dev     uint32
- 	Pad1    [3]int32
-@@ -115,141 +101,30 @@ type Stat_t struct {
- 	Pad5    [14]int32
- }
- 
--type Statfs_t struct {
--	Type      int32
--	Bsize     int32
--	Frsize    int32
--	Pad_cgo_0 [4]byte
--	Blocks    uint64
--	Bfree     uint64
--	Files     uint64
--	Ffree     uint64
--	Bavail    uint64
--	Fsid      Fsid
--	Namelen   int32
--	Flags     int32
--	Spare     [5]int32
--	Pad_cgo_1 [4]byte
--}
--
- type Dirent struct {
--	Ino       uint64
--	Off       int64
--	Reclen    uint16
--	Type      uint8
--	Name      [256]int8
--	Pad_cgo_0 [5]byte
--}
--
--type Fsid struct {
--	X__val [2]int32
-+	Ino    uint64
-+	Off    int64
-+	Reclen uint16
-+	Type   uint8
-+	Name   [256]int8
-+	_      [5]byte
- }
- 
- type Flock_t struct {
--	Type      int16
--	Whence    int16
--	Pad_cgo_0 [4]byte
--	Start     int64
--	Len       int64
--	Pid       int32
--	Pad_cgo_1 [4]byte
--}
--
--type FscryptPolicy struct {
--	Version                   uint8
--	Contents_encryption_mode  uint8
--	Filenames_encryption_mode uint8
--	Flags                     uint8
--	Master_key_descriptor     [8]uint8
--}
--
--type FscryptKey struct {
--	Mode uint32
--	Raw  [64]uint8
--	Size uint32
--}
--
--type KeyctlDHParams struct {
--	Private int32
--	Prime   int32
--	Base    int32
-+	Type   int16
-+	Whence int16
-+	_      [4]byte
-+	Start  int64
-+	Len    int64
-+	Pid    int32
-+	_      [4]byte
- }
- 
- const (
--	FADV_NORMAL     = 0x0
--	FADV_RANDOM     = 0x1
--	FADV_SEQUENTIAL = 0x2
--	FADV_WILLNEED   = 0x3
--	FADV_DONTNEED   = 0x4
--	FADV_NOREUSE    = 0x5
-+	FADV_DONTNEED = 0x4
-+	FADV_NOREUSE  = 0x5
- )
- 
--type RawSockaddrInet4 struct {
--	Family uint16
--	Port   uint16
--	Addr   [4]byte /* in_addr */
--	Zero   [8]uint8
--}
--
--type RawSockaddrInet6 struct {
--	Family   uint16
--	Port     uint16
--	Flowinfo uint32
--	Addr     [16]byte /* in6_addr */
--	Scope_id uint32
--}
--
--type RawSockaddrUnix struct {
--	Family uint16
--	Path   [108]int8
--}
--
--type RawSockaddrLinklayer struct {
--	Family   uint16
--	Protocol uint16
--	Ifindex  int32
--	Hatype   uint16
--	Pkttype  uint8
--	Halen    uint8
--	Addr     [8]uint8
--}
--
--type RawSockaddrNetlink struct {
--	Family uint16
--	Pad    uint16
--	Pid    uint32
--	Groups uint32
--}
--
--type RawSockaddrHCI struct {
--	Family  uint16
--	Dev     uint16
--	Channel uint16
--}
--
--type RawSockaddrCAN struct {
--	Family    uint16
--	Pad_cgo_0 [2]byte
--	Ifindex   int32
--	Addr      [8]byte
--}
--
--type RawSockaddrALG struct {
--	Family uint16
--	Type   [14]uint8
--	Feat   uint32
--	Mask   uint32
--	Name   [64]uint8
--}
--
--type RawSockaddrVM struct {
--	Family    uint16
--	Reserved1 uint16
--	Port      uint32
--	Cid       uint32
--	Zero      [4]uint8
--}
--
- type RawSockaddr struct {
- 	Family uint16
- 	Data   [14]int8
-@@ -260,41 +135,11 @@ type RawSockaddrAny struct {
- 	Pad  [96]int8
- }
- 
--type _Socklen uint32
--
--type Linger struct {
--	Onoff  int32
--	Linger int32
--}
--
- type Iovec struct {
- 	Base *byte
- 	Len  uint32
- }
- 
--type IPMreq struct {
--	Multiaddr [4]byte /* in_addr */
--	Interface [4]byte /* in_addr */
--}
--
--type IPMreqn struct {
--	Multiaddr [4]byte /* in_addr */
--	Address   [4]byte /* in_addr */
--	Ifindex   int32
--}
--
--type IPv6Mreq struct {
--	Multiaddr [16]byte /* in6_addr */
--	Interface uint32
--}
--
--type PacketMreq struct {
--	Ifindex int32
--	Type    uint16
--	Alen    uint16
--	Address [8]uint8
--}
--
- type Msghdr struct {
- 	Name       *byte
- 	Namelen    uint32
-@@ -311,277 +156,16 @@ type Cmsghdr struct {
- 	Type  int32
- }
- 
--type Inet4Pktinfo struct {
--	Ifindex  int32
--	Spec_dst [4]byte /* in_addr */
--	Addr     [4]byte /* in_addr */
--}
--
--type Inet6Pktinfo struct {
--	Addr    [16]byte /* in6_addr */
--	Ifindex uint32
--}
--
--type IPv6MTUInfo struct {
--	Addr RawSockaddrInet6
--	Mtu  uint32
--}
--
--type ICMPv6Filter struct {
--	Data [8]uint32
--}
--
--type Ucred struct {
--	Pid int32
--	Uid uint32
--	Gid uint32
--}
--
--type TCPInfo struct {
--	State          uint8
--	Ca_state       uint8
--	Retransmits    uint8
--	Probes         uint8
--	Backoff        uint8
--	Options        uint8
--	Pad_cgo_0      [2]byte
--	Rto            uint32
--	Ato            uint32
--	Snd_mss        uint32
--	Rcv_mss        uint32
--	Unacked        uint32
--	Sacked         uint32
--	Lost           uint32
--	Retrans        uint32
--	Fackets        uint32
--	Last_data_sent uint32
--	Last_ack_sent  uint32
--	Last_data_recv uint32
--	Last_ack_recv  uint32
--	Pmtu           uint32
--	Rcv_ssthresh   uint32
--	Rtt            uint32
--	Rttvar         uint32
--	Snd_ssthresh   uint32
--	Snd_cwnd       uint32
--	Advmss         uint32
--	Reordering     uint32
--	Rcv_rtt        uint32
--	Rcv_space      uint32
--	Total_retrans  uint32
--}
--
- const (
--	SizeofSockaddrInet4     = 0x10
--	SizeofSockaddrInet6     = 0x1c
--	SizeofSockaddrAny       = 0x70
--	SizeofSockaddrUnix      = 0x6e
--	SizeofSockaddrLinklayer = 0x14
--	SizeofSockaddrNetlink   = 0xc
--	SizeofSockaddrHCI       = 0x6
--	SizeofSockaddrCAN       = 0x10
--	SizeofSockaddrALG       = 0x58
--	SizeofSockaddrVM        = 0x10
--	SizeofLinger            = 0x8
--	SizeofIovec             = 0x8
--	SizeofIPMreq            = 0x8
--	SizeofIPMreqn           = 0xc
--	SizeofIPv6Mreq          = 0x14
--	SizeofPacketMreq        = 0x10
--	SizeofMsghdr            = 0x1c
--	SizeofCmsghdr           = 0xc
--	SizeofInet4Pktinfo      = 0xc
--	SizeofInet6Pktinfo      = 0x14
--	SizeofIPv6MTUInfo       = 0x20
--	SizeofICMPv6Filter      = 0x20
--	SizeofUcred             = 0xc
--	SizeofTCPInfo           = 0x68
-+	SizeofIovec   = 0x8
-+	SizeofMsghdr  = 0x1c
-+	SizeofCmsghdr = 0xc
- )
- 
- const (
--	IFA_UNSPEC          = 0x0
--	IFA_ADDRESS         = 0x1
--	IFA_LOCAL           = 0x2
--	IFA_LABEL           = 0x3
--	IFA_BROADCAST       = 0x4
--	IFA_ANYCAST         = 0x5
--	IFA_CACHEINFO       = 0x6
--	IFA_MULTICAST       = 0x7
--	IFLA_UNSPEC         = 0x0
--	IFLA_ADDRESS        = 0x1
--	IFLA_BROADCAST      = 0x2
--	IFLA_IFNAME         = 0x3
--	IFLA_MTU            = 0x4
--	IFLA_LINK           = 0x5
--	IFLA_QDISC          = 0x6
--	IFLA_STATS          = 0x7
--	IFLA_COST           = 0x8
--	IFLA_PRIORITY       = 0x9
--	IFLA_MASTER         = 0xa
--	IFLA_WIRELESS       = 0xb
--	IFLA_PROTINFO       = 0xc
--	IFLA_TXQLEN         = 0xd
--	IFLA_MAP            = 0xe
--	IFLA_WEIGHT         = 0xf
--	IFLA_OPERSTATE      = 0x10
--	IFLA_LINKMODE       = 0x11
--	IFLA_LINKINFO       = 0x12
--	IFLA_NET_NS_PID     = 0x13
--	IFLA_IFALIAS        = 0x14
--	IFLA_MAX            = 0x2b
--	RT_SCOPE_UNIVERSE   = 0x0
--	RT_SCOPE_SITE       = 0xc8
--	RT_SCOPE_LINK       = 0xfd
--	RT_SCOPE_HOST       = 0xfe
--	RT_SCOPE_NOWHERE    = 0xff
--	RT_TABLE_UNSPEC     = 0x0
--	RT_TABLE_COMPAT     = 0xfc
--	RT_TABLE_DEFAULT    = 0xfd
--	RT_TABLE_MAIN       = 0xfe
--	RT_TABLE_LOCAL      = 0xff
--	RT_TABLE_MAX        = 0xffffffff
--	RTA_UNSPEC          = 0x0
--	RTA_DST             = 0x1
--	RTA_SRC             = 0x2
--	RTA_IIF             = 0x3
--	RTA_OIF             = 0x4
--	RTA_GATEWAY         = 0x5
--	RTA_PRIORITY        = 0x6
--	RTA_PREFSRC         = 0x7
--	RTA_METRICS         = 0x8
--	RTA_MULTIPATH       = 0x9
--	RTA_FLOW            = 0xb
--	RTA_CACHEINFO       = 0xc
--	RTA_TABLE           = 0xf
--	RTN_UNSPEC          = 0x0
--	RTN_UNICAST         = 0x1
--	RTN_LOCAL           = 0x2
--	RTN_BROADCAST       = 0x3
--	RTN_ANYCAST         = 0x4
--	RTN_MULTICAST       = 0x5
--	RTN_BLACKHOLE       = 0x6
--	RTN_UNREACHABLE     = 0x7
--	RTN_PROHIBIT        = 0x8
--	RTN_THROW           = 0x9
--	RTN_NAT             = 0xa
--	RTN_XRESOLVE        = 0xb
--	RTNLGRP_NONE        = 0x0
--	RTNLGRP_LINK        = 0x1
--	RTNLGRP_NOTIFY      = 0x2
--	RTNLGRP_NEIGH       = 0x3
--	RTNLGRP_TC          = 0x4
--	RTNLGRP_IPV4_IFADDR = 0x5
--	RTNLGRP_IPV4_MROUTE = 0x6
--	RTNLGRP_IPV4_ROUTE  = 0x7
--	RTNLGRP_IPV4_RULE   = 0x8
--	RTNLGRP_IPV6_IFADDR = 0x9
--	RTNLGRP_IPV6_MROUTE = 0xa
--	RTNLGRP_IPV6_ROUTE  = 0xb
--	RTNLGRP_IPV6_IFINFO = 0xc
--	RTNLGRP_IPV6_PREFIX = 0x12
--	RTNLGRP_IPV6_RULE   = 0x13
--	RTNLGRP_ND_USEROPT  = 0x14
--	SizeofNlMsghdr      = 0x10
--	SizeofNlMsgerr      = 0x14
--	SizeofRtGenmsg      = 0x1
--	SizeofNlAttr        = 0x4
--	SizeofRtAttr        = 0x4
--	SizeofIfInfomsg     = 0x10
--	SizeofIfAddrmsg     = 0x8
--	SizeofRtMsg         = 0xc
--	SizeofRtNexthop     = 0x8
-+	SizeofSockFprog = 0x8
- )
- 
--type NlMsghdr struct {
--	Len   uint32
--	Type  uint16
--	Flags uint16
--	Seq   uint32
--	Pid   uint32
--}
--
--type NlMsgerr struct {
--	Error int32
--	Msg   NlMsghdr
--}
--
--type RtGenmsg struct {
--	Family uint8
--}
--
--type NlAttr struct {
--	Len  uint16
--	Type uint16
--}
--
--type RtAttr struct {
--	Len  uint16
--	Type uint16
--}
--
--type IfInfomsg struct {
--	Family     uint8
--	X__ifi_pad uint8
--	Type       uint16
--	Index      int32
--	Flags      uint32
--	Change     uint32
--}
--
--type IfAddrmsg struct {
--	Family    uint8
--	Prefixlen uint8
--	Flags     uint8
--	Scope     uint8
--	Index     uint32
--}
--
--type RtMsg struct {
--	Family   uint8
--	Dst_len  uint8
--	Src_len  uint8
--	Tos      uint8
--	Table    uint8
--	Protocol uint8
--	Scope    uint8
--	Type     uint8
--	Flags    uint32
--}
--
--type RtNexthop struct {
--	Len     uint16
--	Flags   uint8
--	Hops    uint8
--	Ifindex int32
--}
--
--const (
--	SizeofSockFilter = 0x8
--	SizeofSockFprog  = 0x8
--)
--
--type SockFilter struct {
--	Code uint16
--	Jt   uint8
--	Jf   uint8
--	K    uint32
--}
--
--type SockFprog struct {
--	Len       uint16
--	Pad_cgo_0 [2]byte
--	Filter    *SockFilter
--}
--
--type InotifyEvent struct {
--	Wd     int32
--	Mask   uint32
--	Cookie uint32
--	Len    uint32
--}
--
--const SizeofInotifyEvent = 0x10
--
- type PtraceRegs struct {
- 	Regs     [32]uint64
- 	Lo       uint64
-@@ -610,16 +194,7 @@ type Sysinfo_t struct {
- 	Totalhigh uint32
- 	Freehigh  uint32
- 	Unit      uint32
--	X_f       [8]int8
--}
--
--type Utsname struct {
--	Sysname    [65]int8
--	Nodename   [65]int8
--	Release    [65]int8
--	Version    [65]int8
--	Machine    [65]int8
--	Domainname [65]int8
-+	_         [8]int8
- }
- 
- type Ustat_t struct {
-@@ -637,37 +212,14 @@ type EpollEvent struct {
- }
- 
- const (
--	AT_FDCWD            = -0x64
--	AT_REMOVEDIR        = 0x200
--	AT_SYMLINK_FOLLOW   = 0x400
--	AT_SYMLINK_NOFOLLOW = 0x100
--)
--
--type PollFd struct {
--	Fd      int32
--	Events  int16
--	Revents int16
--}
--
--const (
--	POLLIN    = 0x1
--	POLLPRI   = 0x2
--	POLLOUT   = 0x4
- 	POLLRDHUP = 0x2000
--	POLLERR   = 0x8
--	POLLHUP   = 0x10
--	POLLNVAL  = 0x20
- )
- 
- type Sigset_t struct {
--	X__val [32]uint32
-+	Val [32]uint32
- }
- 
--const RNDGETENTCNT = 0x40045200
--
--const PERF_IOC_FLAG_GROUP = 0x1
--
--const _SC_PAGESIZE = 0x1e
-+const _C__NSIG = 0x80
- 
- type Termios struct {
- 	Iflag  uint32
-@@ -680,20 +232,12 @@ type Termios struct {
- 	Ospeed uint32
- }
- 
--type Winsize struct {
--	Row    uint16
--	Col    uint16
--	Xpixel uint16
--	Ypixel uint16
--}
--
- type Taskstats struct {
- 	Version                   uint16
--	Pad_cgo_0                 [2]byte
- 	Ac_exitcode               uint32
- 	Ac_flag                   uint8
- 	Ac_nice                   uint8
--	Pad_cgo_1                 [6]byte
-+	_                         [4]byte
- 	Cpu_count                 uint64
- 	Cpu_delay_total           uint64
- 	Blkio_count               uint64
-@@ -705,13 +249,13 @@ type Taskstats struct {
- 	Ac_comm                   [32]int8
- 	Ac_sched                  uint8
- 	Ac_pad                    [3]uint8
--	Pad_cgo_2                 [4]byte
-+	_                         [4]byte
- 	Ac_uid                    uint32
- 	Ac_gid                    uint32
- 	Ac_pid                    uint32
- 	Ac_ppid                   uint32
- 	Ac_btime                  uint32
--	Pad_cgo_3                 [4]byte
-+	_                         [4]byte
- 	Ac_etime                  uint64
- 	Ac_utime                  uint64
- 	Ac_stime                  uint64
-@@ -735,55 +279,319 @@ type Taskstats struct {
- 	Cpu_scaled_run_real_total uint64
- 	Freepages_count           uint64
- 	Freepages_delay_total     uint64
-+	Thrashing_count           uint64
-+	Thrashing_delay_total     uint64
-+	Ac_btime64                uint64
- }
- 
-+type cpuMask uint32
-+
-+const (
-+	_NCPUBITS = 0x20
-+)
-+
- const (
--	TASKSTATS_CMD_UNSPEC                  = 0x0
--	TASKSTATS_CMD_GET                     = 0x1
--	TASKSTATS_CMD_NEW                     = 0x2
--	TASKSTATS_TYPE_UNSPEC                 = 0x0
--	TASKSTATS_TYPE_PID                    = 0x1
--	TASKSTATS_TYPE_TGID                   = 0x2
--	TASKSTATS_TYPE_STATS                  = 0x3
--	TASKSTATS_TYPE_AGGR_PID               = 0x4
--	TASKSTATS_TYPE_AGGR_TGID              = 0x5
--	TASKSTATS_TYPE_NULL                   = 0x6
--	TASKSTATS_CMD_ATTR_UNSPEC             = 0x0
--	TASKSTATS_CMD_ATTR_PID                = 0x1
--	TASKSTATS_CMD_ATTR_TGID               = 0x2
--	TASKSTATS_CMD_ATTR_REGISTER_CPUMASK   = 0x3
--	TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4
-+	CBitFieldMaskBit0  = 0x8000000000000000
-+	CBitFieldMaskBit1  = 0x4000000000000000
-+	CBitFieldMaskBit2  = 0x2000000000000000
-+	CBitFieldMaskBit3  = 0x1000000000000000
-+	CBitFieldMaskBit4  = 0x800000000000000
-+	CBitFieldMaskBit5  = 0x400000000000000
-+	CBitFieldMaskBit6  = 0x200000000000000
-+	CBitFieldMaskBit7  = 0x100000000000000
-+	CBitFieldMaskBit8  = 0x80000000000000
-+	CBitFieldMaskBit9  = 0x40000000000000
-+	CBitFieldMaskBit10 = 0x20000000000000
-+	CBitFieldMaskBit11 = 0x10000000000000
-+	CBitFieldMaskBit12 = 0x8000000000000
-+	CBitFieldMaskBit13 = 0x4000000000000
-+	CBitFieldMaskBit14 = 0x2000000000000
-+	CBitFieldMaskBit15 = 0x1000000000000
-+	CBitFieldMaskBit16 = 0x800000000000
-+	CBitFieldMaskBit17 = 0x400000000000
-+	CBitFieldMaskBit18 = 0x200000000000
-+	CBitFieldMaskBit19 = 0x100000000000
-+	CBitFieldMaskBit20 = 0x80000000000
-+	CBitFieldMaskBit21 = 0x40000000000
-+	CBitFieldMaskBit22 = 0x20000000000
-+	CBitFieldMaskBit23 = 0x10000000000
-+	CBitFieldMaskBit24 = 0x8000000000
-+	CBitFieldMaskBit25 = 0x4000000000
-+	CBitFieldMaskBit26 = 0x2000000000
-+	CBitFieldMaskBit27 = 0x1000000000
-+	CBitFieldMaskBit28 = 0x800000000
-+	CBitFieldMaskBit29 = 0x400000000
-+	CBitFieldMaskBit30 = 0x200000000
-+	CBitFieldMaskBit31 = 0x100000000
-+	CBitFieldMaskBit32 = 0x80000000
-+	CBitFieldMaskBit33 = 0x40000000
-+	CBitFieldMaskBit34 = 0x20000000
-+	CBitFieldMaskBit35 = 0x10000000
-+	CBitFieldMaskBit36 = 0x8000000
-+	CBitFieldMaskBit37 = 0x4000000
-+	CBitFieldMaskBit38 = 0x2000000
-+	CBitFieldMaskBit39 = 0x1000000
-+	CBitFieldMaskBit40 = 0x800000
-+	CBitFieldMaskBit41 = 0x400000
-+	CBitFieldMaskBit42 = 0x200000
-+	CBitFieldMaskBit43 = 0x100000
-+	CBitFieldMaskBit44 = 0x80000
-+	CBitFieldMaskBit45 = 0x40000
-+	CBitFieldMaskBit46 = 0x20000
-+	CBitFieldMaskBit47 = 0x10000
-+	CBitFieldMaskBit48 = 0x8000
-+	CBitFieldMaskBit49 = 0x4000
-+	CBitFieldMaskBit50 = 0x2000
-+	CBitFieldMaskBit51 = 0x1000
-+	CBitFieldMaskBit52 = 0x800
-+	CBitFieldMaskBit53 = 0x400
-+	CBitFieldMaskBit54 = 0x200
-+	CBitFieldMaskBit55 = 0x100
-+	CBitFieldMaskBit56 = 0x80
-+	CBitFieldMaskBit57 = 0x40
-+	CBitFieldMaskBit58 = 0x20
-+	CBitFieldMaskBit59 = 0x10
-+	CBitFieldMaskBit60 = 0x8
-+	CBitFieldMaskBit61 = 0x4
-+	CBitFieldMaskBit62 = 0x2
-+	CBitFieldMaskBit63 = 0x1
- )
- 
--type Genlmsghdr struct {
--	Cmd      uint8
--	Version  uint8
--	Reserved uint16
-+type SockaddrStorage struct {
-+	Family uint16
-+	_      [122]int8
-+	_      uint32
-+}
-+
-+type HDGeometry struct {
-+	Heads     uint8
-+	Sectors   uint8
-+	Cylinders uint16
-+	Start     uint32
-+}
-+
-+type Statfs_t struct {
-+	Type    int32
-+	Bsize   int32
-+	Frsize  int32
-+	_       [4]byte
-+	Blocks  uint64
-+	Bfree   uint64
-+	Files   uint64
-+	Ffree   uint64
-+	Bavail  uint64
-+	Fsid    Fsid
-+	Namelen int32
-+	Flags   int32
-+	Spare   [5]int32
-+	_       [4]byte
-+}
-+
-+type TpacketHdr struct {
-+	Status  uint32
-+	Len     uint32
-+	Snaplen uint32
-+	Mac     uint16
-+	Net     uint16
-+	Sec     uint32
-+	Usec    uint32
-+}
-+
-+const (
-+	SizeofTpacketHdr = 0x18
-+)
-+
-+type RTCPLLInfo struct {
-+	Ctrl    int32
-+	Value   int32
-+	Max     int32
-+	Min     int32
-+	Posmult int32
-+	Negmult int32
-+	Clock   int32
-+}
-+
-+type BlkpgPartition struct {
-+	Start   int64
-+	Length  int64
-+	Pno     int32
-+	Devname [64]uint8
-+	Volname [64]uint8
-+	_       [4]byte
- }
- 
- const (
--	CTRL_CMD_UNSPEC            = 0x0
--	CTRL_CMD_NEWFAMILY         = 0x1
--	CTRL_CMD_DELFAMILY         = 0x2
--	CTRL_CMD_GETFAMILY         = 0x3
--	CTRL_CMD_NEWOPS            = 0x4
--	CTRL_CMD_DELOPS            = 0x5
--	CTRL_CMD_GETOPS            = 0x6
--	CTRL_CMD_NEWMCAST_GRP      = 0x7
--	CTRL_CMD_DELMCAST_GRP      = 0x8
--	CTRL_CMD_GETMCAST_GRP      = 0x9
--	CTRL_ATTR_UNSPEC           = 0x0
--	CTRL_ATTR_FAMILY_ID        = 0x1
--	CTRL_ATTR_FAMILY_NAME      = 0x2
--	CTRL_ATTR_VERSION          = 0x3
--	CTRL_ATTR_HDRSIZE          = 0x4
--	CTRL_ATTR_MAXATTR          = 0x5
--	CTRL_ATTR_OPS              = 0x6
--	CTRL_ATTR_MCAST_GROUPS     = 0x7
--	CTRL_ATTR_OP_UNSPEC        = 0x0
--	CTRL_ATTR_OP_ID            = 0x1
--	CTRL_ATTR_OP_FLAGS         = 0x2
--	CTRL_ATTR_MCAST_GRP_UNSPEC = 0x0
--	CTRL_ATTR_MCAST_GRP_NAME   = 0x1
--	CTRL_ATTR_MCAST_GRP_ID     = 0x2
-+	BLKPG = 0x20001269
- )
-+
-+type XDPUmemReg struct {
-+	Addr     uint64
-+	Len      uint64
-+	Size     uint32
-+	Headroom uint32
-+	Flags    uint32
-+	_        [4]byte
-+}
-+
-+type CryptoUserAlg struct {
-+	Name        [64]int8
-+	Driver_name [64]int8
-+	Module_name [64]int8
-+	Type        uint32
-+	Mask        uint32
-+	Refcnt      uint32
-+	Flags       uint32
-+}
-+
-+type CryptoStatAEAD struct {
-+	Type         [64]int8
-+	Encrypt_cnt  uint64
-+	Encrypt_tlen uint64
-+	Decrypt_cnt  uint64
-+	Decrypt_tlen uint64
-+	Err_cnt      uint64
-+}
-+
-+type CryptoStatAKCipher struct {
-+	Type         [64]int8
-+	Encrypt_cnt  uint64
-+	Encrypt_tlen uint64
-+	Decrypt_cnt  uint64
-+	Decrypt_tlen uint64
-+	Verify_cnt   uint64
-+	Sign_cnt     uint64
-+	Err_cnt      uint64
-+}
-+
-+type CryptoStatCipher struct {
-+	Type         [64]int8
-+	Encrypt_cnt  uint64
-+	Encrypt_tlen uint64
-+	Decrypt_cnt  uint64
-+	Decrypt_tlen uint64
-+	Err_cnt      uint64
-+}
-+
-+type CryptoStatCompress struct {
-+	Type            [64]int8
-+	Compress_cnt    uint64
-+	Compress_tlen   uint64
-+	Decompress_cnt  uint64
-+	Decompress_tlen uint64
-+	Err_cnt         uint64
-+}
-+
-+type CryptoStatHash struct {
-+	Type      [64]int8
-+	Hash_cnt  uint64
-+	Hash_tlen uint64
-+	Err_cnt   uint64
-+}
-+
-+type CryptoStatKPP struct {
-+	Type                      [64]int8
-+	Setsecret_cnt             uint64
-+	Generate_public_key_cnt   uint64
-+	Compute_shared_secret_cnt uint64
-+	Err_cnt                   uint64
-+}
-+
-+type CryptoStatRNG struct {
-+	Type          [64]int8
-+	Generate_cnt  uint64
-+	Generate_tlen uint64
-+	Seed_cnt      uint64
-+	Err_cnt       uint64
-+}
-+
-+type CryptoStatLarval struct {
-+	Type [64]int8
-+}
-+
-+type CryptoReportLarval struct {
-+	Type [64]int8
-+}
-+
-+type CryptoReportHash struct {
-+	Type       [64]int8
-+	Blocksize  uint32
-+	Digestsize uint32
-+}
-+
-+type CryptoReportCipher struct {
-+	Type        [64]int8
-+	Blocksize   uint32
-+	Min_keysize uint32
-+	Max_keysize uint32
-+}
-+
-+type CryptoReportBlkCipher struct {
-+	Type        [64]int8
-+	Geniv       [64]int8
-+	Blocksize   uint32
-+	Min_keysize uint32
-+	Max_keysize uint32
-+	Ivsize      uint32
-+}
-+
-+type CryptoReportAEAD struct {
-+	Type        [64]int8
-+	Geniv       [64]int8
-+	Blocksize   uint32
-+	Maxauthsize uint32
-+	Ivsize      uint32
-+}
-+
-+type CryptoReportComp struct {
-+	Type [64]int8
-+}
-+
-+type CryptoReportRNG struct {
-+	Type     [64]int8
-+	Seedsize uint32
-+}
-+
-+type CryptoReportAKCipher struct {
-+	Type [64]int8
-+}
-+
-+type CryptoReportKPP struct {
-+	Type [64]int8
-+}
-+
-+type CryptoReportAcomp struct {
-+	Type [64]int8
-+}
-+
-+type LoopInfo struct {
-+	Number           int32
-+	Device           uint32
-+	Inode            uint32
-+	Rdevice          uint32
-+	Offset           int32
-+	Encrypt_type     int32
-+	Encrypt_key_size int32
-+	Flags            int32
-+	Name             [64]int8
-+	Encrypt_key      [32]uint8
-+	Init             [2]uint32
-+	Reserved         [4]int8
-+}
-+
-+type TIPCSubscr struct {
-+	Seq     TIPCServiceRange
-+	Timeout uint32
-+	Filter  uint32
-+	Handle  [8]int8
-+}
-+
-+type TIPCSIOCLNReq struct {
-+	Peer     uint32
-+	Id       uint32
-+	Linkname [68]int8
-+}
-+
-+type TIPCSIOCNodeIDReq struct {
-+	Peer uint32
-+	Id   [16]int8
-+}
-diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go
-index 3e5fc625..2e7f3b8c 100644
---- a/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go
-+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go
-@@ -6,19 +6,12 @@
- package unix
- 
- const (
--	sizeofPtr      = 0x8
--	sizeofShort    = 0x2
--	sizeofInt      = 0x4
--	sizeofLong     = 0x8
--	sizeofLongLong = 0x8
--	PathMax        = 0x1000
-+	SizeofPtr  = 0x8
-+	SizeofLong = 0x8
- )
- 
- type (
--	_C_short     int16
--	_C_int       int32
--	_C_long      int64
--	_C_long_long int64
-+	_C_long int64
- )
- 
- type Timespec struct {
-@@ -33,13 +26,11 @@ type Timeval struct {
- 
- type Timex struct {
- 	Modes     uint32
--	Pad_cgo_0 [4]byte
- 	Offset    int64
- 	Freq      int64
- 	Maxerror  int64
- 	Esterror  int64
- 	Status    int32
--	Pad_cgo_1 [4]byte
- 	Constant  int64
- 	Precision int64
- 	Tolerance int64
-@@ -48,14 +39,13 @@ type Timex struct {
- 	Ppsfreq   int64
- 	Jitter    int64
- 	Shift     int32
--	Pad_cgo_2 [4]byte
- 	Stabil    int64
- 	Jitcnt    int64
- 	Calcnt    int64
- 	Errcnt    int64
- 	Stbcnt    int64
- 	Tai       int32
--	Pad_cgo_3 [44]byte
-+	_         [44]byte
- }
- 
- type Time_t int64
-@@ -91,13 +81,6 @@ type Rusage struct {
- 	Nivcsw   int64
- }
- 
--type Rlimit struct {
--	Cur uint64
--	Max uint64
--}
--
--type _Gid_t uint32
--
- type Stat_t struct {
- 	Dev     uint32
- 	Pad1    [3]uint32
-@@ -117,139 +100,29 @@ type Stat_t struct {
- 	Blocks  int64
- }
- 
--type Statfs_t struct {
--	Type    int64
--	Bsize   int64
--	Frsize  int64
--	Blocks  uint64
--	Bfree   uint64
--	Files   uint64
--	Ffree   uint64
--	Bavail  uint64
--	Fsid    Fsid
--	Namelen int64
--	Flags   int64
--	Spare   [5]int64
--}
--
- type Dirent struct {
--	Ino       uint64
--	Off       int64
--	Reclen    uint16
--	Type      uint8
--	Name      [256]int8
--	Pad_cgo_0 [5]byte
--}
--
--type Fsid struct {
--	X__val [2]int32
-+	Ino    uint64
-+	Off    int64
-+	Reclen uint16
-+	Type   uint8
-+	Name   [256]int8
-+	_      [5]byte
- }
- 
- type Flock_t struct {
--	Type      int16
--	Whence    int16
--	Pad_cgo_0 [4]byte
--	Start     int64
--	Len       int64
--	Pid       int32
--	Pad_cgo_1 [4]byte
--}
--
--type FscryptPolicy struct {
--	Version                   uint8
--	Contents_encryption_mode  uint8
--	Filenames_encryption_mode uint8
--	Flags                     uint8
--	Master_key_descriptor     [8]uint8
--}
--
--type FscryptKey struct {
--	Mode uint32
--	Raw  [64]uint8
--	Size uint32
--}
--
--type KeyctlDHParams struct {
--	Private int32
--	Prime   int32
--	Base    int32
-+	Type   int16
-+	Whence int16
-+	Start  int64
-+	Len    int64
-+	Pid    int32
-+	_      [4]byte
- }
- 
- const (
--	FADV_NORMAL     = 0x0
--	FADV_RANDOM     = 0x1
--	FADV_SEQUENTIAL = 0x2
--	FADV_WILLNEED   = 0x3
--	FADV_DONTNEED   = 0x4
--	FADV_NOREUSE    = 0x5
-+	FADV_DONTNEED = 0x4
-+	FADV_NOREUSE  = 0x5
- )
- 
--type RawSockaddrInet4 struct {
--	Family uint16
--	Port   uint16
--	Addr   [4]byte /* in_addr */
--	Zero   [8]uint8
--}
--
--type RawSockaddrInet6 struct {
--	Family   uint16
--	Port     uint16
--	Flowinfo uint32
--	Addr     [16]byte /* in6_addr */
--	Scope_id uint32
--}
--
--type RawSockaddrUnix struct {
--	Family uint16
--	Path   [108]int8
--}
--
--type RawSockaddrLinklayer struct {
--	Family   uint16
--	Protocol uint16
--	Ifindex  int32
--	Hatype   uint16
--	Pkttype  uint8
--	Halen    uint8
--	Addr     [8]uint8
--}
--
--type RawSockaddrNetlink struct {
--	Family uint16
--	Pad    uint16
--	Pid    uint32
--	Groups uint32
--}
--
--type RawSockaddrHCI struct {
--	Family  uint16
--	Dev     uint16
--	Channel uint16
--}
--
--type RawSockaddrCAN struct {
--	Family    uint16
--	Pad_cgo_0 [2]byte
--	Ifindex   int32
--	Addr      [8]byte
--}
--
--type RawSockaddrALG struct {
--	Family uint16
--	Type   [14]uint8
--	Feat   uint32
--	Mask   uint32
--	Name   [64]uint8
--}
--
--type RawSockaddrVM struct {
--	Family    uint16
--	Reserved1 uint16
--	Port      uint32
--	Cid       uint32
--	Zero      [4]uint8
--}
--
- type RawSockaddr struct {
- 	Family uint16
- 	Data   [14]int8
-@@ -260,51 +133,20 @@ type RawSockaddrAny struct {
- 	Pad  [96]int8
- }
- 
--type _Socklen uint32
--
--type Linger struct {
--	Onoff  int32
--	Linger int32
--}
--
- type Iovec struct {
- 	Base *byte
- 	Len  uint64
- }
- 
--type IPMreq struct {
--	Multiaddr [4]byte /* in_addr */
--	Interface [4]byte /* in_addr */
--}
--
--type IPMreqn struct {
--	Multiaddr [4]byte /* in_addr */
--	Address   [4]byte /* in_addr */
--	Ifindex   int32
--}
--
--type IPv6Mreq struct {
--	Multiaddr [16]byte /* in6_addr */
--	Interface uint32
--}
--
--type PacketMreq struct {
--	Ifindex int32
--	Type    uint16
--	Alen    uint16
--	Address [8]uint8
--}
--
- type Msghdr struct {
- 	Name       *byte
- 	Namelen    uint32
--	Pad_cgo_0  [4]byte
- 	Iov        *Iovec
- 	Iovlen     uint64
- 	Control    *byte
- 	Controllen uint64
- 	Flags      int32
--	Pad_cgo_1  [4]byte
-+	_          [4]byte
- }
- 
- type Cmsghdr struct {
-@@ -313,277 +155,16 @@ type Cmsghdr struct {
- 	Type  int32
- }
- 
--type Inet4Pktinfo struct {
--	Ifindex  int32
--	Spec_dst [4]byte /* in_addr */
--	Addr     [4]byte /* in_addr */
--}
--
--type Inet6Pktinfo struct {
--	Addr    [16]byte /* in6_addr */
--	Ifindex uint32
--}
--
--type IPv6MTUInfo struct {
--	Addr RawSockaddrInet6
--	Mtu  uint32
--}
--
--type ICMPv6Filter struct {
--	Data [8]uint32
--}
--
--type Ucred struct {
--	Pid int32
--	Uid uint32
--	Gid uint32
--}
--
--type TCPInfo struct {
--	State          uint8
--	Ca_state       uint8
--	Retransmits    uint8
--	Probes         uint8
--	Backoff        uint8
--	Options        uint8
--	Pad_cgo_0      [2]byte
--	Rto            uint32
--	Ato            uint32
--	Snd_mss        uint32
--	Rcv_mss        uint32
--	Unacked        uint32
--	Sacked         uint32
--	Lost           uint32
--	Retrans        uint32
--	Fackets        uint32
--	Last_data_sent uint32
--	Last_ack_sent  uint32
--	Last_data_recv uint32
--	Last_ack_recv  uint32
--	Pmtu           uint32
--	Rcv_ssthresh   uint32
--	Rtt            uint32
--	Rttvar         uint32
--	Snd_ssthresh   uint32
--	Snd_cwnd       uint32
--	Advmss         uint32
--	Reordering     uint32
--	Rcv_rtt        uint32
--	Rcv_space      uint32
--	Total_retrans  uint32
--}
--
- const (
--	SizeofSockaddrInet4     = 0x10
--	SizeofSockaddrInet6     = 0x1c
--	SizeofSockaddrAny       = 0x70
--	SizeofSockaddrUnix      = 0x6e
--	SizeofSockaddrLinklayer = 0x14
--	SizeofSockaddrNetlink   = 0xc
--	SizeofSockaddrHCI       = 0x6
--	SizeofSockaddrCAN       = 0x10
--	SizeofSockaddrALG       = 0x58
--	SizeofSockaddrVM        = 0x10
--	SizeofLinger            = 0x8
--	SizeofIovec             = 0x10
--	SizeofIPMreq            = 0x8
--	SizeofIPMreqn           = 0xc
--	SizeofIPv6Mreq          = 0x14
--	SizeofPacketMreq        = 0x10
--	SizeofMsghdr            = 0x38
--	SizeofCmsghdr           = 0x10
--	SizeofInet4Pktinfo      = 0xc
--	SizeofInet6Pktinfo      = 0x14
--	SizeofIPv6MTUInfo       = 0x20
--	SizeofICMPv6Filter      = 0x20
--	SizeofUcred             = 0xc
--	SizeofTCPInfo           = 0x68
-+	SizeofIovec   = 0x10
-+	SizeofMsghdr  = 0x38
-+	SizeofCmsghdr = 0x10
- )
- 
- const (
--	IFA_UNSPEC          = 0x0
--	IFA_ADDRESS         = 0x1
--	IFA_LOCAL           = 0x2
--	IFA_LABEL           = 0x3
--	IFA_BROADCAST       = 0x4
--	IFA_ANYCAST         = 0x5
--	IFA_CACHEINFO       = 0x6
--	IFA_MULTICAST       = 0x7
--	IFLA_UNSPEC         = 0x0
--	IFLA_ADDRESS        = 0x1
--	IFLA_BROADCAST      = 0x2
--	IFLA_IFNAME         = 0x3
--	IFLA_MTU            = 0x4
--	IFLA_LINK           = 0x5
--	IFLA_QDISC          = 0x6
--	IFLA_STATS          = 0x7
--	IFLA_COST           = 0x8
--	IFLA_PRIORITY       = 0x9
--	IFLA_MASTER         = 0xa
--	IFLA_WIRELESS       = 0xb
--	IFLA_PROTINFO       = 0xc
--	IFLA_TXQLEN         = 0xd
--	IFLA_MAP            = 0xe
--	IFLA_WEIGHT         = 0xf
--	IFLA_OPERSTATE      = 0x10
--	IFLA_LINKMODE       = 0x11
--	IFLA_LINKINFO       = 0x12
--	IFLA_NET_NS_PID     = 0x13
--	IFLA_IFALIAS        = 0x14
--	IFLA_MAX            = 0x2b
--	RT_SCOPE_UNIVERSE   = 0x0
--	RT_SCOPE_SITE       = 0xc8
--	RT_SCOPE_LINK       = 0xfd
--	RT_SCOPE_HOST       = 0xfe
--	RT_SCOPE_NOWHERE    = 0xff
--	RT_TABLE_UNSPEC     = 0x0
--	RT_TABLE_COMPAT     = 0xfc
--	RT_TABLE_DEFAULT    = 0xfd
--	RT_TABLE_MAIN       = 0xfe
--	RT_TABLE_LOCAL      = 0xff
--	RT_TABLE_MAX        = 0xffffffff
--	RTA_UNSPEC          = 0x0
--	RTA_DST             = 0x1
--	RTA_SRC             = 0x2
--	RTA_IIF             = 0x3
--	RTA_OIF             = 0x4
--	RTA_GATEWAY         = 0x5
--	RTA_PRIORITY        = 0x6
--	RTA_PREFSRC         = 0x7
--	RTA_METRICS         = 0x8
--	RTA_MULTIPATH       = 0x9
--	RTA_FLOW            = 0xb
--	RTA_CACHEINFO       = 0xc
--	RTA_TABLE           = 0xf
--	RTN_UNSPEC          = 0x0
--	RTN_UNICAST         = 0x1
--	RTN_LOCAL           = 0x2
--	RTN_BROADCAST       = 0x3
--	RTN_ANYCAST         = 0x4
--	RTN_MULTICAST       = 0x5
--	RTN_BLACKHOLE       = 0x6
--	RTN_UNREACHABLE     = 0x7
--	RTN_PROHIBIT        = 0x8
--	RTN_THROW           = 0x9
--	RTN_NAT             = 0xa
--	RTN_XRESOLVE        = 0xb
--	RTNLGRP_NONE        = 0x0
--	RTNLGRP_LINK        = 0x1
--	RTNLGRP_NOTIFY      = 0x2
--	RTNLGRP_NEIGH       = 0x3
--	RTNLGRP_TC          = 0x4
--	RTNLGRP_IPV4_IFADDR = 0x5
--	RTNLGRP_IPV4_MROUTE = 0x6
--	RTNLGRP_IPV4_ROUTE  = 0x7
--	RTNLGRP_IPV4_RULE   = 0x8
--	RTNLGRP_IPV6_IFADDR = 0x9
--	RTNLGRP_IPV6_MROUTE = 0xa
--	RTNLGRP_IPV6_ROUTE  = 0xb
--	RTNLGRP_IPV6_IFINFO = 0xc
--	RTNLGRP_IPV6_PREFIX = 0x12
--	RTNLGRP_IPV6_RULE   = 0x13
--	RTNLGRP_ND_USEROPT  = 0x14
--	SizeofNlMsghdr      = 0x10
--	SizeofNlMsgerr      = 0x14
--	SizeofRtGenmsg      = 0x1
--	SizeofNlAttr        = 0x4
--	SizeofRtAttr        = 0x4
--	SizeofIfInfomsg     = 0x10
--	SizeofIfAddrmsg     = 0x8
--	SizeofRtMsg         = 0xc
--	SizeofRtNexthop     = 0x8
-+	SizeofSockFprog = 0x10
- )
- 
--type NlMsghdr struct {
--	Len   uint32
--	Type  uint16
--	Flags uint16
--	Seq   uint32
--	Pid   uint32
--}
--
--type NlMsgerr struct {
--	Error int32
--	Msg   NlMsghdr
--}
--
--type RtGenmsg struct {
--	Family uint8
--}
--
--type NlAttr struct {
--	Len  uint16
--	Type uint16
--}
--
--type RtAttr struct {
--	Len  uint16
--	Type uint16
--}
--
--type IfInfomsg struct {
--	Family     uint8
--	X__ifi_pad uint8
--	Type       uint16
--	Index      int32
--	Flags      uint32
--	Change     uint32
--}
--
--type IfAddrmsg struct {
--	Family    uint8
--	Prefixlen uint8
--	Flags     uint8
--	Scope     uint8
--	Index     uint32
--}
--
--type RtMsg struct {
--	Family   uint8
--	Dst_len  uint8
--	Src_len  uint8
--	Tos      uint8
--	Table    uint8
--	Protocol uint8
--	Scope    uint8
--	Type     uint8
--	Flags    uint32
--}
--
--type RtNexthop struct {
--	Len     uint16
--	Flags   uint8
--	Hops    uint8
--	Ifindex int32
--}
--
--const (
--	SizeofSockFilter = 0x8
--	SizeofSockFprog  = 0x10
--)
--
--type SockFilter struct {
--	Code uint16
--	Jt   uint8
--	Jf   uint8
--	K    uint32
--}
--
--type SockFprog struct {
--	Len       uint16
--	Pad_cgo_0 [6]byte
--	Filter    *SockFilter
--}
--
--type InotifyEvent struct {
--	Wd     int32
--	Mask   uint32
--	Cookie uint32
--	Len    uint32
--}
--
--const SizeofInotifyEvent = 0x10
--
- type PtraceRegs struct {
- 	Regs     [32]uint64
- 	Lo       uint64
-@@ -609,70 +190,37 @@ type Sysinfo_t struct {
- 	Freeswap  uint64
- 	Procs     uint16
- 	Pad       uint16
--	Pad_cgo_0 [4]byte
- 	Totalhigh uint64
- 	Freehigh  uint64
- 	Unit      uint32
--	X_f       [0]int8
--	Pad_cgo_1 [4]byte
--}
--
--type Utsname struct {
--	Sysname    [65]int8
--	Nodename   [65]int8
--	Release    [65]int8
--	Version    [65]int8
--	Machine    [65]int8
--	Domainname [65]int8
-+	_         [0]int8
-+	_         [4]byte
- }
- 
- type Ustat_t struct {
--	Tfree     int32
--	Pad_cgo_0 [4]byte
--	Tinode    uint64
--	Fname     [6]int8
--	Fpack     [6]int8
--	Pad_cgo_1 [4]byte
-+	Tfree  int32
-+	Tinode uint64
-+	Fname  [6]int8
-+	Fpack  [6]int8
-+	_      [4]byte
- }
- 
- type EpollEvent struct {
- 	Events uint32
-+	_      int32
- 	Fd     int32
- 	Pad    int32
- }
- 
- const (
--	AT_FDCWD            = -0x64
--	AT_REMOVEDIR        = 0x200
--	AT_SYMLINK_FOLLOW   = 0x400
--	AT_SYMLINK_NOFOLLOW = 0x100
--)
--
--type PollFd struct {
--	Fd      int32
--	Events  int16
--	Revents int16
--}
--
--const (
--	POLLIN    = 0x1
--	POLLPRI   = 0x2
--	POLLOUT   = 0x4
- 	POLLRDHUP = 0x2000
--	POLLERR   = 0x8
--	POLLHUP   = 0x10
--	POLLNVAL  = 0x20
- )
- 
- type Sigset_t struct {
--	X__val [16]uint64
-+	Val [16]uint64
- }
- 
--const RNDGETENTCNT = 0x40045200
--
--const PERF_IOC_FLAG_GROUP = 0x1
--
--const _SC_PAGESIZE = 0x1e
-+const _C__NSIG = 0x80
- 
- type Termios struct {
- 	Iflag  uint32
-@@ -685,20 +233,11 @@ type Termios struct {
- 	Ospeed uint32
- }
- 
--type Winsize struct {
--	Row    uint16
--	Col    uint16
--	Xpixel uint16
--	Ypixel uint16
--}
--
- type Taskstats struct {
- 	Version                   uint16
--	Pad_cgo_0                 [2]byte
- 	Ac_exitcode               uint32
- 	Ac_flag                   uint8
- 	Ac_nice                   uint8
--	Pad_cgo_1                 [6]byte
- 	Cpu_count                 uint64
- 	Cpu_delay_total           uint64
- 	Blkio_count               uint64
-@@ -710,13 +249,12 @@ type Taskstats struct {
- 	Ac_comm                   [32]int8
- 	Ac_sched                  uint8
- 	Ac_pad                    [3]uint8
--	Pad_cgo_2                 [4]byte
-+	_                         [4]byte
- 	Ac_uid                    uint32
- 	Ac_gid                    uint32
- 	Ac_pid                    uint32
- 	Ac_ppid                   uint32
- 	Ac_btime                  uint32
--	Pad_cgo_3                 [4]byte
- 	Ac_etime                  uint64
- 	Ac_utime                  uint64
- 	Ac_stime                  uint64
-@@ -740,55 +278,319 @@ type Taskstats struct {
- 	Cpu_scaled_run_real_total uint64
- 	Freepages_count           uint64
- 	Freepages_delay_total     uint64
-+	Thrashing_count           uint64
-+	Thrashing_delay_total     uint64
-+	Ac_btime64                uint64
- }
- 
-+type cpuMask uint64
-+
- const (
--	TASKSTATS_CMD_UNSPEC                  = 0x0
--	TASKSTATS_CMD_GET                     = 0x1
--	TASKSTATS_CMD_NEW                     = 0x2
--	TASKSTATS_TYPE_UNSPEC                 = 0x0
--	TASKSTATS_TYPE_PID                    = 0x1
--	TASKSTATS_TYPE_TGID                   = 0x2
--	TASKSTATS_TYPE_STATS                  = 0x3
--	TASKSTATS_TYPE_AGGR_PID               = 0x4
--	TASKSTATS_TYPE_AGGR_TGID              = 0x5
--	TASKSTATS_TYPE_NULL                   = 0x6
--	TASKSTATS_CMD_ATTR_UNSPEC             = 0x0
--	TASKSTATS_CMD_ATTR_PID                = 0x1
--	TASKSTATS_CMD_ATTR_TGID               = 0x2
--	TASKSTATS_CMD_ATTR_REGISTER_CPUMASK   = 0x3
--	TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4
-+	_NCPUBITS = 0x40
- )
- 
--type Genlmsghdr struct {
--	Cmd      uint8
--	Version  uint8
--	Reserved uint16
-+const (
-+	CBitFieldMaskBit0  = 0x8000000000000000
-+	CBitFieldMaskBit1  = 0x4000000000000000
-+	CBitFieldMaskBit2  = 0x2000000000000000
-+	CBitFieldMaskBit3  = 0x1000000000000000
-+	CBitFieldMaskBit4  = 0x800000000000000
-+	CBitFieldMaskBit5  = 0x400000000000000
-+	CBitFieldMaskBit6  = 0x200000000000000
-+	CBitFieldMaskBit7  = 0x100000000000000
-+	CBitFieldMaskBit8  = 0x80000000000000
-+	CBitFieldMaskBit9  = 0x40000000000000
-+	CBitFieldMaskBit10 = 0x20000000000000
-+	CBitFieldMaskBit11 = 0x10000000000000
-+	CBitFieldMaskBit12 = 0x8000000000000
-+	CBitFieldMaskBit13 = 0x4000000000000
-+	CBitFieldMaskBit14 = 0x2000000000000
-+	CBitFieldMaskBit15 = 0x1000000000000
-+	CBitFieldMaskBit16 = 0x800000000000
-+	CBitFieldMaskBit17 = 0x400000000000
-+	CBitFieldMaskBit18 = 0x200000000000
-+	CBitFieldMaskBit19 = 0x100000000000
-+	CBitFieldMaskBit20 = 0x80000000000
-+	CBitFieldMaskBit21 = 0x40000000000
-+	CBitFieldMaskBit22 = 0x20000000000
-+	CBitFieldMaskBit23 = 0x10000000000
-+	CBitFieldMaskBit24 = 0x8000000000
-+	CBitFieldMaskBit25 = 0x4000000000
-+	CBitFieldMaskBit26 = 0x2000000000
-+	CBitFieldMaskBit27 = 0x1000000000
-+	CBitFieldMaskBit28 = 0x800000000
-+	CBitFieldMaskBit29 = 0x400000000
-+	CBitFieldMaskBit30 = 0x200000000
-+	CBitFieldMaskBit31 = 0x100000000
-+	CBitFieldMaskBit32 = 0x80000000
-+	CBitFieldMaskBit33 = 0x40000000
-+	CBitFieldMaskBit34 = 0x20000000
-+	CBitFieldMaskBit35 = 0x10000000
-+	CBitFieldMaskBit36 = 0x8000000
-+	CBitFieldMaskBit37 = 0x4000000
-+	CBitFieldMaskBit38 = 0x2000000
-+	CBitFieldMaskBit39 = 0x1000000
-+	CBitFieldMaskBit40 = 0x800000
-+	CBitFieldMaskBit41 = 0x400000
-+	CBitFieldMaskBit42 = 0x200000
-+	CBitFieldMaskBit43 = 0x100000
-+	CBitFieldMaskBit44 = 0x80000
-+	CBitFieldMaskBit45 = 0x40000
-+	CBitFieldMaskBit46 = 0x20000
-+	CBitFieldMaskBit47 = 0x10000
-+	CBitFieldMaskBit48 = 0x8000
-+	CBitFieldMaskBit49 = 0x4000
-+	CBitFieldMaskBit50 = 0x2000
-+	CBitFieldMaskBit51 = 0x1000
-+	CBitFieldMaskBit52 = 0x800
-+	CBitFieldMaskBit53 = 0x400
-+	CBitFieldMaskBit54 = 0x200
-+	CBitFieldMaskBit55 = 0x100
-+	CBitFieldMaskBit56 = 0x80
-+	CBitFieldMaskBit57 = 0x40
-+	CBitFieldMaskBit58 = 0x20
-+	CBitFieldMaskBit59 = 0x10
-+	CBitFieldMaskBit60 = 0x8
-+	CBitFieldMaskBit61 = 0x4
-+	CBitFieldMaskBit62 = 0x2
-+	CBitFieldMaskBit63 = 0x1
-+)
-+
-+type SockaddrStorage struct {
-+	Family uint16
-+	_      [118]int8
-+	_      uint64
-+}
-+
-+type HDGeometry struct {
-+	Heads     uint8
-+	Sectors   uint8
-+	Cylinders uint16
-+	Start     uint64
-+}
-+
-+type Statfs_t struct {
-+	Type    int64
-+	Bsize   int64
-+	Frsize  int64
-+	Blocks  uint64
-+	Bfree   uint64
-+	Files   uint64
-+	Ffree   uint64
-+	Bavail  uint64
-+	Fsid    Fsid
-+	Namelen int64
-+	Flags   int64
-+	Spare   [5]int64
-+}
-+
-+type TpacketHdr struct {
-+	Status  uint64
-+	Len     uint32
-+	Snaplen uint32
-+	Mac     uint16
-+	Net     uint16
-+	Sec     uint32
-+	Usec    uint32
-+	_       [4]byte
- }
- 
- const (
--	CTRL_CMD_UNSPEC            = 0x0
--	CTRL_CMD_NEWFAMILY         = 0x1
--	CTRL_CMD_DELFAMILY         = 0x2
--	CTRL_CMD_GETFAMILY         = 0x3
--	CTRL_CMD_NEWOPS            = 0x4
--	CTRL_CMD_DELOPS            = 0x5
--	CTRL_CMD_GETOPS            = 0x6
--	CTRL_CMD_NEWMCAST_GRP      = 0x7
--	CTRL_CMD_DELMCAST_GRP      = 0x8
--	CTRL_CMD_GETMCAST_GRP      = 0x9
--	CTRL_ATTR_UNSPEC           = 0x0
--	CTRL_ATTR_FAMILY_ID        = 0x1
--	CTRL_ATTR_FAMILY_NAME      = 0x2
--	CTRL_ATTR_VERSION          = 0x3
--	CTRL_ATTR_HDRSIZE          = 0x4
--	CTRL_ATTR_MAXATTR          = 0x5
--	CTRL_ATTR_OPS              = 0x6
--	CTRL_ATTR_MCAST_GROUPS     = 0x7
--	CTRL_ATTR_OP_UNSPEC        = 0x0
--	CTRL_ATTR_OP_ID            = 0x1
--	CTRL_ATTR_OP_FLAGS         = 0x2
--	CTRL_ATTR_MCAST_GRP_UNSPEC = 0x0
--	CTRL_ATTR_MCAST_GRP_NAME   = 0x1
--	CTRL_ATTR_MCAST_GRP_ID     = 0x2
-+	SizeofTpacketHdr = 0x20
- )
-+
-+type RTCPLLInfo struct {
-+	Ctrl    int32
-+	Value   int32
-+	Max     int32
-+	Min     int32
-+	Posmult int32
-+	Negmult int32
-+	Clock   int64
-+}
-+
-+type BlkpgPartition struct {
-+	Start   int64
-+	Length  int64
-+	Pno     int32
-+	Devname [64]uint8
-+	Volname [64]uint8
-+	_       [4]byte
-+}
-+
-+const (
-+	BLKPG = 0x20001269
-+)
-+
-+type XDPUmemReg struct {
-+	Addr     uint64
-+	Len      uint64
-+	Size     uint32
-+	Headroom uint32
-+	Flags    uint32
-+	_        [4]byte
-+}
-+
-+type CryptoUserAlg struct {
-+	Name        [64]int8
-+	Driver_name [64]int8
-+	Module_name [64]int8
-+	Type        uint32
-+	Mask        uint32
-+	Refcnt      uint32
-+	Flags       uint32
-+}
-+
-+type CryptoStatAEAD struct {
-+	Type         [64]int8
-+	Encrypt_cnt  uint64
-+	Encrypt_tlen uint64
-+	Decrypt_cnt  uint64
-+	Decrypt_tlen uint64
-+	Err_cnt      uint64
-+}
-+
-+type CryptoStatAKCipher struct {
-+	Type         [64]int8
-+	Encrypt_cnt  uint64
-+	Encrypt_tlen uint64
-+	Decrypt_cnt  uint64
-+	Decrypt_tlen uint64
-+	Verify_cnt   uint64
-+	Sign_cnt     uint64
-+	Err_cnt      uint64
-+}
-+
-+type CryptoStatCipher struct {
-+	Type         [64]int8
-+	Encrypt_cnt  uint64
-+	Encrypt_tlen uint64
-+	Decrypt_cnt  uint64
-+	Decrypt_tlen uint64
-+	Err_cnt      uint64
-+}
-+
-+type CryptoStatCompress struct {
-+	Type            [64]int8
-+	Compress_cnt    uint64
-+	Compress_tlen   uint64
-+	Decompress_cnt  uint64
-+	Decompress_tlen uint64
-+	Err_cnt         uint64
-+}
-+
-+type CryptoStatHash struct {
-+	Type      [64]int8
-+	Hash_cnt  uint64
-+	Hash_tlen uint64
-+	Err_cnt   uint64
-+}
-+
-+type CryptoStatKPP struct {
-+	Type                      [64]int8
-+	Setsecret_cnt             uint64
-+	Generate_public_key_cnt   uint64
-+	Compute_shared_secret_cnt uint64
-+	Err_cnt                   uint64
-+}
-+
-+type CryptoStatRNG struct {
-+	Type          [64]int8
-+	Generate_cnt  uint64
-+	Generate_tlen uint64
-+	Seed_cnt      uint64
-+	Err_cnt       uint64
-+}
-+
-+type CryptoStatLarval struct {
-+	Type [64]int8
-+}
-+
-+type CryptoReportLarval struct {
-+	Type [64]int8
-+}
-+
-+type CryptoReportHash struct {
-+	Type       [64]int8
-+	Blocksize  uint32
-+	Digestsize uint32
-+}
-+
-+type CryptoReportCipher struct {
-+	Type        [64]int8
-+	Blocksize   uint32
-+	Min_keysize uint32
-+	Max_keysize uint32
-+}
-+
-+type CryptoReportBlkCipher struct {
-+	Type        [64]int8
-+	Geniv       [64]int8
-+	Blocksize   uint32
-+	Min_keysize uint32
-+	Max_keysize uint32
-+	Ivsize      uint32
-+}
-+
-+type CryptoReportAEAD struct {
-+	Type        [64]int8
-+	Geniv       [64]int8
-+	Blocksize   uint32
-+	Maxauthsize uint32
-+	Ivsize      uint32
-+}
-+
-+type CryptoReportComp struct {
-+	Type [64]int8
-+}
-+
-+type CryptoReportRNG struct {
-+	Type     [64]int8
-+	Seedsize uint32
-+}
-+
-+type CryptoReportAKCipher struct {
-+	Type [64]int8
-+}
-+
-+type CryptoReportKPP struct {
-+	Type [64]int8
-+}
-+
-+type CryptoReportAcomp struct {
-+	Type [64]int8
-+}
-+
-+type LoopInfo struct {
-+	Number           int32
-+	Device           uint32
-+	Inode            uint64
-+	Rdevice          uint32
-+	Offset           int32
-+	Encrypt_type     int32
-+	Encrypt_key_size int32
-+	Flags            int32
-+	Name             [64]int8
-+	Encrypt_key      [32]uint8
-+	Init             [2]uint64
-+	Reserved         [4]int8
-+	_                [4]byte
-+}
-+
-+type TIPCSubscr struct {
-+	Seq     TIPCServiceRange
-+	Timeout uint32
-+	Filter  uint32
-+	Handle  [8]int8
-+}
-+
-+type TIPCSIOCLNReq struct {
-+	Peer     uint32
-+	Id       uint32
-+	Linkname [68]int8
-+}
-+
-+type TIPCSIOCNodeIDReq struct {
-+	Peer uint32
-+	Id   [16]int8
-+}
-diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go b/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go
-index f9bd1ab0..16add5a2 100644
---- a/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go
-+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go
-@@ -6,19 +6,12 @@
- package unix
- 
- const (
--	sizeofPtr      = 0x8
--	sizeofShort    = 0x2
--	sizeofInt      = 0x4
--	sizeofLong     = 0x8
--	sizeofLongLong = 0x8
--	PathMax        = 0x1000
-+	SizeofPtr  = 0x8
-+	SizeofLong = 0x8
- )
- 
- type (
--	_C_short     int16
--	_C_int       int32
--	_C_long      int64
--	_C_long_long int64
-+	_C_long int64
- )
- 
- type Timespec struct {
-@@ -33,13 +26,11 @@ type Timeval struct {
- 
- type Timex struct {
- 	Modes     uint32
--	Pad_cgo_0 [4]byte
- 	Offset    int64
- 	Freq      int64
- 	Maxerror  int64
- 	Esterror  int64
- 	Status    int32
--	Pad_cgo_1 [4]byte
- 	Constant  int64
- 	Precision int64
- 	Tolerance int64
-@@ -48,14 +39,13 @@ type Timex struct {
- 	Ppsfreq   int64
- 	Jitter    int64
- 	Shift     int32
--	Pad_cgo_2 [4]byte
- 	Stabil    int64
- 	Jitcnt    int64
- 	Calcnt    int64
- 	Errcnt    int64
- 	Stbcnt    int64
- 	Tai       int32
--	Pad_cgo_3 [44]byte
-+	_         [44]byte
- }
- 
- type Time_t int64
-@@ -91,13 +81,6 @@ type Rusage struct {
- 	Nivcsw   int64
- }
- 
--type Rlimit struct {
--	Cur uint64
--	Max uint64
--}
--
--type _Gid_t uint32
--
- type Stat_t struct {
- 	Dev     uint32
- 	Pad1    [3]uint32
-@@ -117,139 +100,29 @@ type Stat_t struct {
- 	Blocks  int64
- }
- 
--type Statfs_t struct {
--	Type    int64
--	Bsize   int64
--	Frsize  int64
--	Blocks  uint64
--	Bfree   uint64
--	Files   uint64
--	Ffree   uint64
--	Bavail  uint64
--	Fsid    Fsid
--	Namelen int64
--	Flags   int64
--	Spare   [5]int64
--}
--
- type Dirent struct {
--	Ino       uint64
--	Off       int64
--	Reclen    uint16
--	Type      uint8
--	Name      [256]int8
--	Pad_cgo_0 [5]byte
--}
--
--type Fsid struct {
--	X__val [2]int32
-+	Ino    uint64
-+	Off    int64
-+	Reclen uint16
-+	Type   uint8
-+	Name   [256]int8
-+	_      [5]byte
- }
- 
- type Flock_t struct {
--	Type      int16
--	Whence    int16
--	Pad_cgo_0 [4]byte
--	Start     int64
--	Len       int64
--	Pid       int32
--	Pad_cgo_1 [4]byte
--}
--
--type FscryptPolicy struct {
--	Version                   uint8
--	Contents_encryption_mode  uint8
--	Filenames_encryption_mode uint8
--	Flags                     uint8
--	Master_key_descriptor     [8]uint8
--}
--
--type FscryptKey struct {
--	Mode uint32
--	Raw  [64]uint8
--	Size uint32
--}
--
--type KeyctlDHParams struct {
--	Private int32
--	Prime   int32
--	Base    int32
-+	Type   int16
-+	Whence int16
-+	Start  int64
-+	Len    int64
-+	Pid    int32
-+	_      [4]byte
- }
- 
- const (
--	FADV_NORMAL     = 0x0
--	FADV_RANDOM     = 0x1
--	FADV_SEQUENTIAL = 0x2
--	FADV_WILLNEED   = 0x3
--	FADV_DONTNEED   = 0x4
--	FADV_NOREUSE    = 0x5
-+	FADV_DONTNEED = 0x4
-+	FADV_NOREUSE  = 0x5
- )
- 
--type RawSockaddrInet4 struct {
--	Family uint16
--	Port   uint16
--	Addr   [4]byte /* in_addr */
--	Zero   [8]uint8
--}
--
--type RawSockaddrInet6 struct {
--	Family   uint16
--	Port     uint16
--	Flowinfo uint32
--	Addr     [16]byte /* in6_addr */
--	Scope_id uint32
--}
--
--type RawSockaddrUnix struct {
--	Family uint16
--	Path   [108]int8
--}
--
--type RawSockaddrLinklayer struct {
--	Family   uint16
--	Protocol uint16
--	Ifindex  int32
--	Hatype   uint16
--	Pkttype  uint8
--	Halen    uint8
--	Addr     [8]uint8
--}
--
--type RawSockaddrNetlink struct {
--	Family uint16
--	Pad    uint16
--	Pid    uint32
--	Groups uint32
--}
--
--type RawSockaddrHCI struct {
--	Family  uint16
--	Dev     uint16
--	Channel uint16
--}
--
--type RawSockaddrCAN struct {
--	Family    uint16
--	Pad_cgo_0 [2]byte
--	Ifindex   int32
--	Addr      [8]byte
--}
--
--type RawSockaddrALG struct {
--	Family uint16
--	Type   [14]uint8
--	Feat   uint32
--	Mask   uint32
--	Name   [64]uint8
--}
--
--type RawSockaddrVM struct {
--	Family    uint16
--	Reserved1 uint16
--	Port      uint32
--	Cid       uint32
--	Zero      [4]uint8
--}
--
- type RawSockaddr struct {
- 	Family uint16
- 	Data   [14]int8
-@@ -260,51 +133,20 @@ type RawSockaddrAny struct {
- 	Pad  [96]int8
- }
- 
--type _Socklen uint32
--
--type Linger struct {
--	Onoff  int32
--	Linger int32
--}
--
- type Iovec struct {
- 	Base *byte
- 	Len  uint64
- }
- 
--type IPMreq struct {
--	Multiaddr [4]byte /* in_addr */
--	Interface [4]byte /* in_addr */
--}
--
--type IPMreqn struct {
--	Multiaddr [4]byte /* in_addr */
--	Address   [4]byte /* in_addr */
--	Ifindex   int32
--}
--
--type IPv6Mreq struct {
--	Multiaddr [16]byte /* in6_addr */
--	Interface uint32
--}
--
--type PacketMreq struct {
--	Ifindex int32
--	Type    uint16
--	Alen    uint16
--	Address [8]uint8
--}
--
- type Msghdr struct {
- 	Name       *byte
- 	Namelen    uint32
--	Pad_cgo_0  [4]byte
- 	Iov        *Iovec
- 	Iovlen     uint64
- 	Control    *byte
- 	Controllen uint64
- 	Flags      int32
--	Pad_cgo_1  [4]byte
-+	_          [4]byte
- }
- 
- type Cmsghdr struct {
-@@ -313,277 +155,16 @@ type Cmsghdr struct {
- 	Type  int32
- }
- 
--type Inet4Pktinfo struct {
--	Ifindex  int32
--	Spec_dst [4]byte /* in_addr */
--	Addr     [4]byte /* in_addr */
--}
--
--type Inet6Pktinfo struct {
--	Addr    [16]byte /* in6_addr */
--	Ifindex uint32
--}
--
--type IPv6MTUInfo struct {
--	Addr RawSockaddrInet6
--	Mtu  uint32
--}
--
--type ICMPv6Filter struct {
--	Data [8]uint32
--}
--
--type Ucred struct {
--	Pid int32
--	Uid uint32
--	Gid uint32
--}
--
--type TCPInfo struct {
--	State          uint8
--	Ca_state       uint8
--	Retransmits    uint8
--	Probes         uint8
--	Backoff        uint8
--	Options        uint8
--	Pad_cgo_0      [2]byte
--	Rto            uint32
--	Ato            uint32
--	Snd_mss        uint32
--	Rcv_mss        uint32
--	Unacked        uint32
--	Sacked         uint32
--	Lost           uint32
--	Retrans        uint32
--	Fackets        uint32
--	Last_data_sent uint32
--	Last_ack_sent  uint32
--	Last_data_recv uint32
--	Last_ack_recv  uint32
--	Pmtu           uint32
--	Rcv_ssthresh   uint32
--	Rtt            uint32
--	Rttvar         uint32
--	Snd_ssthresh   uint32
--	Snd_cwnd       uint32
--	Advmss         uint32
--	Reordering     uint32
--	Rcv_rtt        uint32
--	Rcv_space      uint32
--	Total_retrans  uint32
--}
--
- const (
--	SizeofSockaddrInet4     = 0x10
--	SizeofSockaddrInet6     = 0x1c
--	SizeofSockaddrAny       = 0x70
--	SizeofSockaddrUnix      = 0x6e
--	SizeofSockaddrLinklayer = 0x14
--	SizeofSockaddrNetlink   = 0xc
--	SizeofSockaddrHCI       = 0x6
--	SizeofSockaddrCAN       = 0x10
--	SizeofSockaddrALG       = 0x58
--	SizeofSockaddrVM        = 0x10
--	SizeofLinger            = 0x8
--	SizeofIovec             = 0x10
--	SizeofIPMreq            = 0x8
--	SizeofIPMreqn           = 0xc
--	SizeofIPv6Mreq          = 0x14
--	SizeofPacketMreq        = 0x10
--	SizeofMsghdr            = 0x38
--	SizeofCmsghdr           = 0x10
--	SizeofInet4Pktinfo      = 0xc
--	SizeofInet6Pktinfo      = 0x14
--	SizeofIPv6MTUInfo       = 0x20
--	SizeofICMPv6Filter      = 0x20
--	SizeofUcred             = 0xc
--	SizeofTCPInfo           = 0x68
-+	SizeofIovec   = 0x10
-+	SizeofMsghdr  = 0x38
-+	SizeofCmsghdr = 0x10
- )
- 
- const (
--	IFA_UNSPEC          = 0x0
--	IFA_ADDRESS         = 0x1
--	IFA_LOCAL           = 0x2
--	IFA_LABEL           = 0x3
--	IFA_BROADCAST       = 0x4
--	IFA_ANYCAST         = 0x5
--	IFA_CACHEINFO       = 0x6
--	IFA_MULTICAST       = 0x7
--	IFLA_UNSPEC         = 0x0
--	IFLA_ADDRESS        = 0x1
--	IFLA_BROADCAST      = 0x2
--	IFLA_IFNAME         = 0x3
--	IFLA_MTU            = 0x4
--	IFLA_LINK           = 0x5
--	IFLA_QDISC          = 0x6
--	IFLA_STATS          = 0x7
--	IFLA_COST           = 0x8
--	IFLA_PRIORITY       = 0x9
--	IFLA_MASTER         = 0xa
--	IFLA_WIRELESS       = 0xb
--	IFLA_PROTINFO       = 0xc
--	IFLA_TXQLEN         = 0xd
--	IFLA_MAP            = 0xe
--	IFLA_WEIGHT         = 0xf
--	IFLA_OPERSTATE      = 0x10
--	IFLA_LINKMODE       = 0x11
--	IFLA_LINKINFO       = 0x12
--	IFLA_NET_NS_PID     = 0x13
--	IFLA_IFALIAS        = 0x14
--	IFLA_MAX            = 0x2b
--	RT_SCOPE_UNIVERSE   = 0x0
--	RT_SCOPE_SITE       = 0xc8
--	RT_SCOPE_LINK       = 0xfd
--	RT_SCOPE_HOST       = 0xfe
--	RT_SCOPE_NOWHERE    = 0xff
--	RT_TABLE_UNSPEC     = 0x0
--	RT_TABLE_COMPAT     = 0xfc
--	RT_TABLE_DEFAULT    = 0xfd
--	RT_TABLE_MAIN       = 0xfe
--	RT_TABLE_LOCAL      = 0xff
--	RT_TABLE_MAX        = 0xffffffff
--	RTA_UNSPEC          = 0x0
--	RTA_DST             = 0x1
--	RTA_SRC             = 0x2
--	RTA_IIF             = 0x3
--	RTA_OIF             = 0x4
--	RTA_GATEWAY         = 0x5
--	RTA_PRIORITY        = 0x6
--	RTA_PREFSRC         = 0x7
--	RTA_METRICS         = 0x8
--	RTA_MULTIPATH       = 0x9
--	RTA_FLOW            = 0xb
--	RTA_CACHEINFO       = 0xc
--	RTA_TABLE           = 0xf
--	RTN_UNSPEC          = 0x0
--	RTN_UNICAST         = 0x1
--	RTN_LOCAL           = 0x2
--	RTN_BROADCAST       = 0x3
--	RTN_ANYCAST         = 0x4
--	RTN_MULTICAST       = 0x5
--	RTN_BLACKHOLE       = 0x6
--	RTN_UNREACHABLE     = 0x7
--	RTN_PROHIBIT        = 0x8
--	RTN_THROW           = 0x9
--	RTN_NAT             = 0xa
--	RTN_XRESOLVE        = 0xb
--	RTNLGRP_NONE        = 0x0
--	RTNLGRP_LINK        = 0x1
--	RTNLGRP_NOTIFY      = 0x2
--	RTNLGRP_NEIGH       = 0x3
--	RTNLGRP_TC          = 0x4
--	RTNLGRP_IPV4_IFADDR = 0x5
--	RTNLGRP_IPV4_MROUTE = 0x6
--	RTNLGRP_IPV4_ROUTE  = 0x7
--	RTNLGRP_IPV4_RULE   = 0x8
--	RTNLGRP_IPV6_IFADDR = 0x9
--	RTNLGRP_IPV6_MROUTE = 0xa
--	RTNLGRP_IPV6_ROUTE  = 0xb
--	RTNLGRP_IPV6_IFINFO = 0xc
--	RTNLGRP_IPV6_PREFIX = 0x12
--	RTNLGRP_IPV6_RULE   = 0x13
--	RTNLGRP_ND_USEROPT  = 0x14
--	SizeofNlMsghdr      = 0x10
--	SizeofNlMsgerr      = 0x14
--	SizeofRtGenmsg      = 0x1
--	SizeofNlAttr        = 0x4
--	SizeofRtAttr        = 0x4
--	SizeofIfInfomsg     = 0x10
--	SizeofIfAddrmsg     = 0x8
--	SizeofRtMsg         = 0xc
--	SizeofRtNexthop     = 0x8
-+	SizeofSockFprog = 0x10
- )
- 
--type NlMsghdr struct {
--	Len   uint32
--	Type  uint16
--	Flags uint16
--	Seq   uint32
--	Pid   uint32
--}
--
--type NlMsgerr struct {
--	Error int32
--	Msg   NlMsghdr
--}
--
--type RtGenmsg struct {
--	Family uint8
--}
--
--type NlAttr struct {
--	Len  uint16
--	Type uint16
--}
--
--type RtAttr struct {
--	Len  uint16
--	Type uint16
--}
--
--type IfInfomsg struct {
--	Family     uint8
--	X__ifi_pad uint8
--	Type       uint16
--	Index      int32
--	Flags      uint32
--	Change     uint32
--}
--
--type IfAddrmsg struct {
--	Family    uint8
--	Prefixlen uint8
--	Flags     uint8
--	Scope     uint8
--	Index     uint32
--}
--
--type RtMsg struct {
--	Family   uint8
--	Dst_len  uint8
--	Src_len  uint8
--	Tos      uint8
--	Table    uint8
--	Protocol uint8
--	Scope    uint8
--	Type     uint8
--	Flags    uint32
--}
--
--type RtNexthop struct {
--	Len     uint16
--	Flags   uint8
--	Hops    uint8
--	Ifindex int32
--}
--
--const (
--	SizeofSockFilter = 0x8
--	SizeofSockFprog  = 0x10
--)
--
--type SockFilter struct {
--	Code uint16
--	Jt   uint8
--	Jf   uint8
--	K    uint32
--}
--
--type SockFprog struct {
--	Len       uint16
--	Pad_cgo_0 [6]byte
--	Filter    *SockFilter
--}
--
--type InotifyEvent struct {
--	Wd     int32
--	Mask   uint32
--	Cookie uint32
--	Len    uint32
--}
--
--const SizeofInotifyEvent = 0x10
--
- type PtraceRegs struct {
- 	Regs     [32]uint64
- 	Lo       uint64
-@@ -609,70 +190,37 @@ type Sysinfo_t struct {
- 	Freeswap  uint64
- 	Procs     uint16
- 	Pad       uint16
--	Pad_cgo_0 [4]byte
- 	Totalhigh uint64
- 	Freehigh  uint64
- 	Unit      uint32
--	X_f       [0]int8
--	Pad_cgo_1 [4]byte
--}
--
--type Utsname struct {
--	Sysname    [65]int8
--	Nodename   [65]int8
--	Release    [65]int8
--	Version    [65]int8
--	Machine    [65]int8
--	Domainname [65]int8
-+	_         [0]int8
-+	_         [4]byte
- }
- 
- type Ustat_t struct {
--	Tfree     int32
--	Pad_cgo_0 [4]byte
--	Tinode    uint64
--	Fname     [6]int8
--	Fpack     [6]int8
--	Pad_cgo_1 [4]byte
-+	Tfree  int32
-+	Tinode uint64
-+	Fname  [6]int8
-+	Fpack  [6]int8
-+	_      [4]byte
- }
- 
- type EpollEvent struct {
- 	Events uint32
-+	_      int32
- 	Fd     int32
- 	Pad    int32
- }
- 
- const (
--	AT_FDCWD            = -0x64
--	AT_REMOVEDIR        = 0x200
--	AT_SYMLINK_FOLLOW   = 0x400
--	AT_SYMLINK_NOFOLLOW = 0x100
--)
--
--type PollFd struct {
--	Fd      int32
--	Events  int16
--	Revents int16
--}
--
--const (
--	POLLIN    = 0x1
--	POLLPRI   = 0x2
--	POLLOUT   = 0x4
- 	POLLRDHUP = 0x2000
--	POLLERR   = 0x8
--	POLLHUP   = 0x10
--	POLLNVAL  = 0x20
- )
- 
- type Sigset_t struct {
--	X__val [16]uint64
-+	Val [16]uint64
- }
- 
--const RNDGETENTCNT = 0x40045200
--
--const PERF_IOC_FLAG_GROUP = 0x1
--
--const _SC_PAGESIZE = 0x1e
-+const _C__NSIG = 0x80
- 
- type Termios struct {
- 	Iflag  uint32
-@@ -685,20 +233,11 @@ type Termios struct {
- 	Ospeed uint32
- }
- 
--type Winsize struct {
--	Row    uint16
--	Col    uint16
--	Xpixel uint16
--	Ypixel uint16
--}
--
- type Taskstats struct {
- 	Version                   uint16
--	Pad_cgo_0                 [2]byte
- 	Ac_exitcode               uint32
- 	Ac_flag                   uint8
- 	Ac_nice                   uint8
--	Pad_cgo_1                 [6]byte
- 	Cpu_count                 uint64
- 	Cpu_delay_total           uint64
- 	Blkio_count               uint64
-@@ -710,13 +249,12 @@ type Taskstats struct {
- 	Ac_comm                   [32]int8
- 	Ac_sched                  uint8
- 	Ac_pad                    [3]uint8
--	Pad_cgo_2                 [4]byte
-+	_                         [4]byte
- 	Ac_uid                    uint32
- 	Ac_gid                    uint32
- 	Ac_pid                    uint32
- 	Ac_ppid                   uint32
- 	Ac_btime                  uint32
--	Pad_cgo_3                 [4]byte
- 	Ac_etime                  uint64
- 	Ac_utime                  uint64
- 	Ac_stime                  uint64
-@@ -740,55 +278,319 @@ type Taskstats struct {
- 	Cpu_scaled_run_real_total uint64
- 	Freepages_count           uint64
- 	Freepages_delay_total     uint64
-+	Thrashing_count           uint64
-+	Thrashing_delay_total     uint64
-+	Ac_btime64                uint64
- }
- 
-+type cpuMask uint64
-+
- const (
--	TASKSTATS_CMD_UNSPEC                  = 0x0
--	TASKSTATS_CMD_GET                     = 0x1
--	TASKSTATS_CMD_NEW                     = 0x2
--	TASKSTATS_TYPE_UNSPEC                 = 0x0
--	TASKSTATS_TYPE_PID                    = 0x1
--	TASKSTATS_TYPE_TGID                   = 0x2
--	TASKSTATS_TYPE_STATS                  = 0x3
--	TASKSTATS_TYPE_AGGR_PID               = 0x4
--	TASKSTATS_TYPE_AGGR_TGID              = 0x5
--	TASKSTATS_TYPE_NULL                   = 0x6
--	TASKSTATS_CMD_ATTR_UNSPEC             = 0x0
--	TASKSTATS_CMD_ATTR_PID                = 0x1
--	TASKSTATS_CMD_ATTR_TGID               = 0x2
--	TASKSTATS_CMD_ATTR_REGISTER_CPUMASK   = 0x3
--	TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4
-+	_NCPUBITS = 0x40
- )
- 
--type Genlmsghdr struct {
--	Cmd      uint8
--	Version  uint8
--	Reserved uint16
-+const (
-+	CBitFieldMaskBit0  = 0x1
-+	CBitFieldMaskBit1  = 0x2
-+	CBitFieldMaskBit2  = 0x4
-+	CBitFieldMaskBit3  = 0x8
-+	CBitFieldMaskBit4  = 0x10
-+	CBitFieldMaskBit5  = 0x20
-+	CBitFieldMaskBit6  = 0x40
-+	CBitFieldMaskBit7  = 0x80
-+	CBitFieldMaskBit8  = 0x100
-+	CBitFieldMaskBit9  = 0x200
-+	CBitFieldMaskBit10 = 0x400
-+	CBitFieldMaskBit11 = 0x800
-+	CBitFieldMaskBit12 = 0x1000
-+	CBitFieldMaskBit13 = 0x2000
-+	CBitFieldMaskBit14 = 0x4000
-+	CBitFieldMaskBit15 = 0x8000
-+	CBitFieldMaskBit16 = 0x10000
-+	CBitFieldMaskBit17 = 0x20000
-+	CBitFieldMaskBit18 = 0x40000
-+	CBitFieldMaskBit19 = 0x80000
-+	CBitFieldMaskBit20 = 0x100000
-+	CBitFieldMaskBit21 = 0x200000
-+	CBitFieldMaskBit22 = 0x400000
-+	CBitFieldMaskBit23 = 0x800000
-+	CBitFieldMaskBit24 = 0x1000000
-+	CBitFieldMaskBit25 = 0x2000000
-+	CBitFieldMaskBit26 = 0x4000000
-+	CBitFieldMaskBit27 = 0x8000000
-+	CBitFieldMaskBit28 = 0x10000000
-+	CBitFieldMaskBit29 = 0x20000000
-+	CBitFieldMaskBit30 = 0x40000000
-+	CBitFieldMaskBit31 = 0x80000000
-+	CBitFieldMaskBit32 = 0x100000000
-+	CBitFieldMaskBit33 = 0x200000000
-+	CBitFieldMaskBit34 = 0x400000000
-+	CBitFieldMaskBit35 = 0x800000000
-+	CBitFieldMaskBit36 = 0x1000000000
-+	CBitFieldMaskBit37 = 0x2000000000
-+	CBitFieldMaskBit38 = 0x4000000000
-+	CBitFieldMaskBit39 = 0x8000000000
-+	CBitFieldMaskBit40 = 0x10000000000
-+	CBitFieldMaskBit41 = 0x20000000000
-+	CBitFieldMaskBit42 = 0x40000000000
-+	CBitFieldMaskBit43 = 0x80000000000
-+	CBitFieldMaskBit44 = 0x100000000000
-+	CBitFieldMaskBit45 = 0x200000000000
-+	CBitFieldMaskBit46 = 0x400000000000
-+	CBitFieldMaskBit47 = 0x800000000000
-+	CBitFieldMaskBit48 = 0x1000000000000
-+	CBitFieldMaskBit49 = 0x2000000000000
-+	CBitFieldMaskBit50 = 0x4000000000000
-+	CBitFieldMaskBit51 = 0x8000000000000
-+	CBitFieldMaskBit52 = 0x10000000000000
-+	CBitFieldMaskBit53 = 0x20000000000000
-+	CBitFieldMaskBit54 = 0x40000000000000
-+	CBitFieldMaskBit55 = 0x80000000000000
-+	CBitFieldMaskBit56 = 0x100000000000000
-+	CBitFieldMaskBit57 = 0x200000000000000
-+	CBitFieldMaskBit58 = 0x400000000000000
-+	CBitFieldMaskBit59 = 0x800000000000000
-+	CBitFieldMaskBit60 = 0x1000000000000000
-+	CBitFieldMaskBit61 = 0x2000000000000000
-+	CBitFieldMaskBit62 = 0x4000000000000000
-+	CBitFieldMaskBit63 = 0x8000000000000000
-+)
-+
-+type SockaddrStorage struct {
-+	Family uint16
-+	_      [118]int8
-+	_      uint64
-+}
-+
-+type HDGeometry struct {
-+	Heads     uint8
-+	Sectors   uint8
-+	Cylinders uint16
-+	Start     uint64
-+}
-+
-+type Statfs_t struct {
-+	Type    int64
-+	Bsize   int64
-+	Frsize  int64
-+	Blocks  uint64
-+	Bfree   uint64
-+	Files   uint64
-+	Ffree   uint64
-+	Bavail  uint64
-+	Fsid    Fsid
-+	Namelen int64
-+	Flags   int64
-+	Spare   [5]int64
-+}
-+
-+type TpacketHdr struct {
-+	Status  uint64
-+	Len     uint32
-+	Snaplen uint32
-+	Mac     uint16
-+	Net     uint16
-+	Sec     uint32
-+	Usec    uint32
-+	_       [4]byte
- }
- 
- const (
--	CTRL_CMD_UNSPEC            = 0x0
--	CTRL_CMD_NEWFAMILY         = 0x1
--	CTRL_CMD_DELFAMILY         = 0x2
--	CTRL_CMD_GETFAMILY         = 0x3
--	CTRL_CMD_NEWOPS            = 0x4
--	CTRL_CMD_DELOPS            = 0x5
--	CTRL_CMD_GETOPS            = 0x6
--	CTRL_CMD_NEWMCAST_GRP      = 0x7
--	CTRL_CMD_DELMCAST_GRP      = 0x8
--	CTRL_CMD_GETMCAST_GRP      = 0x9
--	CTRL_ATTR_UNSPEC           = 0x0
--	CTRL_ATTR_FAMILY_ID        = 0x1
--	CTRL_ATTR_FAMILY_NAME      = 0x2
--	CTRL_ATTR_VERSION          = 0x3
--	CTRL_ATTR_HDRSIZE          = 0x4
--	CTRL_ATTR_MAXATTR          = 0x5
--	CTRL_ATTR_OPS              = 0x6
--	CTRL_ATTR_MCAST_GROUPS     = 0x7
--	CTRL_ATTR_OP_UNSPEC        = 0x0
--	CTRL_ATTR_OP_ID            = 0x1
--	CTRL_ATTR_OP_FLAGS         = 0x2
--	CTRL_ATTR_MCAST_GRP_UNSPEC = 0x0
--	CTRL_ATTR_MCAST_GRP_NAME   = 0x1
--	CTRL_ATTR_MCAST_GRP_ID     = 0x2
-+	SizeofTpacketHdr = 0x20
- )
-+
-+type RTCPLLInfo struct {
-+	Ctrl    int32
-+	Value   int32
-+	Max     int32
-+	Min     int32
-+	Posmult int32
-+	Negmult int32
-+	Clock   int64
-+}
-+
-+type BlkpgPartition struct {
-+	Start   int64
-+	Length  int64
-+	Pno     int32
-+	Devname [64]uint8
-+	Volname [64]uint8
-+	_       [4]byte
-+}
-+
-+const (
-+	BLKPG = 0x20001269
-+)
-+
-+type XDPUmemReg struct {
-+	Addr     uint64
-+	Len      uint64
-+	Size     uint32
-+	Headroom uint32
-+	Flags    uint32
-+	_        [4]byte
-+}
-+
-+type CryptoUserAlg struct {
-+	Name        [64]int8
-+	Driver_name [64]int8
-+	Module_name [64]int8
-+	Type        uint32
-+	Mask        uint32
-+	Refcnt      uint32
-+	Flags       uint32
-+}
-+
-+type CryptoStatAEAD struct {
-+	Type         [64]int8
-+	Encrypt_cnt  uint64
-+	Encrypt_tlen uint64
-+	Decrypt_cnt  uint64
-+	Decrypt_tlen uint64
-+	Err_cnt      uint64
-+}
-+
-+type CryptoStatAKCipher struct {
-+	Type         [64]int8
-+	Encrypt_cnt  uint64
-+	Encrypt_tlen uint64
-+	Decrypt_cnt  uint64
-+	Decrypt_tlen uint64
-+	Verify_cnt   uint64
-+	Sign_cnt     uint64
-+	Err_cnt      uint64
-+}
-+
-+type CryptoStatCipher struct {
-+	Type         [64]int8
-+	Encrypt_cnt  uint64
-+	Encrypt_tlen uint64
-+	Decrypt_cnt  uint64
-+	Decrypt_tlen uint64
-+	Err_cnt      uint64
-+}
-+
-+type CryptoStatCompress struct {
-+	Type            [64]int8
-+	Compress_cnt    uint64
-+	Compress_tlen   uint64
-+	Decompress_cnt  uint64
-+	Decompress_tlen uint64
-+	Err_cnt         uint64
-+}
-+
-+type CryptoStatHash struct {
-+	Type      [64]int8
-+	Hash_cnt  uint64
-+	Hash_tlen uint64
-+	Err_cnt   uint64
-+}
-+
-+type CryptoStatKPP struct {
-+	Type                      [64]int8
-+	Setsecret_cnt             uint64
-+	Generate_public_key_cnt   uint64
-+	Compute_shared_secret_cnt uint64
-+	Err_cnt                   uint64
-+}
-+
-+type CryptoStatRNG struct {
-+	Type          [64]int8
-+	Generate_cnt  uint64
-+	Generate_tlen uint64
-+	Seed_cnt      uint64
-+	Err_cnt       uint64
-+}
-+
-+type CryptoStatLarval struct {
-+	Type [64]int8
-+}
-+
-+type CryptoReportLarval struct {
-+	Type [64]int8
-+}
-+
-+type CryptoReportHash struct {
-+	Type       [64]int8
-+	Blocksize  uint32
-+	Digestsize uint32
-+}
-+
-+type CryptoReportCipher struct {
-+	Type        [64]int8
-+	Blocksize   uint32
-+	Min_keysize uint32
-+	Max_keysize uint32
-+}
-+
-+type CryptoReportBlkCipher struct {
-+	Type        [64]int8
-+	Geniv       [64]int8
-+	Blocksize   uint32
-+	Min_keysize uint32
-+	Max_keysize uint32
-+	Ivsize      uint32
-+}
-+
-+type CryptoReportAEAD struct {
-+	Type        [64]int8
-+	Geniv       [64]int8
-+	Blocksize   uint32
-+	Maxauthsize uint32
-+	Ivsize      uint32
-+}
-+
-+type CryptoReportComp struct {
-+	Type [64]int8
-+}
-+
-+type CryptoReportRNG struct {
-+	Type     [64]int8
-+	Seedsize uint32
-+}
-+
-+type CryptoReportAKCipher struct {
-+	Type [64]int8
-+}
-+
-+type CryptoReportKPP struct {
-+	Type [64]int8
-+}
-+
-+type CryptoReportAcomp struct {
-+	Type [64]int8
-+}
-+
-+type LoopInfo struct {
-+	Number           int32
-+	Device           uint32
-+	Inode            uint64
-+	Rdevice          uint32
-+	Offset           int32
-+	Encrypt_type     int32
-+	Encrypt_key_size int32
-+	Flags            int32
-+	Name             [64]int8
-+	Encrypt_key      [32]uint8
-+	Init             [2]uint64
-+	Reserved         [4]int8
-+	_                [4]byte
-+}
-+
-+type TIPCSubscr struct {
-+	Seq     TIPCServiceRange
-+	Timeout uint32
-+	Filter  uint32
-+	Handle  [8]int8
-+}
-+
-+type TIPCSIOCLNReq struct {
-+	Peer     uint32
-+	Id       uint32
-+	Linkname [68]int8
-+}
-+
-+type TIPCSIOCNodeIDReq struct {
-+	Peer uint32
-+	Id   [16]int8
-+}
-diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go b/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go
-index 74c54213..4ed2c8e5 100644
---- a/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go
-+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go
-@@ -6,19 +6,12 @@
- package unix
- 
- const (
--	sizeofPtr      = 0x4
--	sizeofShort    = 0x2
--	sizeofInt      = 0x4
--	sizeofLong     = 0x4
--	sizeofLongLong = 0x8
--	PathMax        = 0x1000
-+	SizeofPtr  = 0x4
-+	SizeofLong = 0x4
- )
- 
- type (
--	_C_short     int16
--	_C_int       int32
--	_C_long      int32
--	_C_long_long int64
-+	_C_long int32
- )
- 
- type Timespec struct {
-@@ -52,7 +45,7 @@ type Timex struct {
- 	Errcnt    int32
- 	Stbcnt    int32
- 	Tai       int32
--	Pad_cgo_0 [44]byte
-+	_         [44]byte
- }
- 
- type Time_t int32
-@@ -88,13 +81,6 @@ type Rusage struct {
- 	Nivcsw   int32
- }
- 
--type Rlimit struct {
--	Cur uint64
--	Max uint64
--}
--
--type _Gid_t uint32
--
- type Stat_t struct {
- 	Dev     uint32
- 	Pad1    [3]int32
-@@ -115,141 +101,30 @@ type Stat_t struct {
- 	Pad5    [14]int32
- }
- 
--type Statfs_t struct {
--	Type      int32
--	Bsize     int32
--	Frsize    int32
--	Pad_cgo_0 [4]byte
--	Blocks    uint64
--	Bfree     uint64
--	Files     uint64
--	Ffree     uint64
--	Bavail    uint64
--	Fsid      Fsid
--	Namelen   int32
--	Flags     int32
--	Spare     [5]int32
--	Pad_cgo_1 [4]byte
--}
--
- type Dirent struct {
--	Ino       uint64
--	Off       int64
--	Reclen    uint16
--	Type      uint8
--	Name      [256]int8
--	Pad_cgo_0 [5]byte
--}
--
--type Fsid struct {
--	X__val [2]int32
-+	Ino    uint64
-+	Off    int64
-+	Reclen uint16
-+	Type   uint8
-+	Name   [256]int8
-+	_      [5]byte
- }
- 
- type Flock_t struct {
--	Type      int16
--	Whence    int16
--	Pad_cgo_0 [4]byte
--	Start     int64
--	Len       int64
--	Pid       int32
--	Pad_cgo_1 [4]byte
--}
--
--type FscryptPolicy struct {
--	Version                   uint8
--	Contents_encryption_mode  uint8
--	Filenames_encryption_mode uint8
--	Flags                     uint8
--	Master_key_descriptor     [8]uint8
--}
--
--type FscryptKey struct {
--	Mode uint32
--	Raw  [64]uint8
--	Size uint32
--}
--
--type KeyctlDHParams struct {
--	Private int32
--	Prime   int32
--	Base    int32
-+	Type   int16
-+	Whence int16
-+	_      [4]byte
-+	Start  int64
-+	Len    int64
-+	Pid    int32
-+	_      [4]byte
- }
- 
- const (
--	FADV_NORMAL     = 0x0
--	FADV_RANDOM     = 0x1
--	FADV_SEQUENTIAL = 0x2
--	FADV_WILLNEED   = 0x3
--	FADV_DONTNEED   = 0x4
--	FADV_NOREUSE    = 0x5
-+	FADV_DONTNEED = 0x4
-+	FADV_NOREUSE  = 0x5
- )
- 
--type RawSockaddrInet4 struct {
--	Family uint16
--	Port   uint16
--	Addr   [4]byte /* in_addr */
--	Zero   [8]uint8
--}
--
--type RawSockaddrInet6 struct {
--	Family   uint16
--	Port     uint16
--	Flowinfo uint32
--	Addr     [16]byte /* in6_addr */
--	Scope_id uint32
--}
--
--type RawSockaddrUnix struct {
--	Family uint16
--	Path   [108]int8
--}
--
--type RawSockaddrLinklayer struct {
--	Family   uint16
--	Protocol uint16
--	Ifindex  int32
--	Hatype   uint16
--	Pkttype  uint8
--	Halen    uint8
--	Addr     [8]uint8
--}
--
--type RawSockaddrNetlink struct {
--	Family uint16
--	Pad    uint16
--	Pid    uint32
--	Groups uint32
--}
--
--type RawSockaddrHCI struct {
--	Family  uint16
--	Dev     uint16
--	Channel uint16
--}
--
--type RawSockaddrCAN struct {
--	Family    uint16
--	Pad_cgo_0 [2]byte
--	Ifindex   int32
--	Addr      [8]byte
--}
--
--type RawSockaddrALG struct {
--	Family uint16
--	Type   [14]uint8
--	Feat   uint32
--	Mask   uint32
--	Name   [64]uint8
--}
--
--type RawSockaddrVM struct {
--	Family    uint16
--	Reserved1 uint16
--	Port      uint32
--	Cid       uint32
--	Zero      [4]uint8
--}
--
- type RawSockaddr struct {
- 	Family uint16
- 	Data   [14]int8
-@@ -260,41 +135,11 @@ type RawSockaddrAny struct {
- 	Pad  [96]int8
- }
- 
--type _Socklen uint32
--
--type Linger struct {
--	Onoff  int32
--	Linger int32
--}
--
- type Iovec struct {
- 	Base *byte
- 	Len  uint32
- }
- 
--type IPMreq struct {
--	Multiaddr [4]byte /* in_addr */
--	Interface [4]byte /* in_addr */
--}
--
--type IPMreqn struct {
--	Multiaddr [4]byte /* in_addr */
--	Address   [4]byte /* in_addr */
--	Ifindex   int32
--}
--
--type IPv6Mreq struct {
--	Multiaddr [16]byte /* in6_addr */
--	Interface uint32
--}
--
--type PacketMreq struct {
--	Ifindex int32
--	Type    uint16
--	Alen    uint16
--	Address [8]uint8
--}
--
- type Msghdr struct {
- 	Name       *byte
- 	Namelen    uint32
-@@ -311,277 +156,16 @@ type Cmsghdr struct {
- 	Type  int32
- }
- 
--type Inet4Pktinfo struct {
--	Ifindex  int32
--	Spec_dst [4]byte /* in_addr */
--	Addr     [4]byte /* in_addr */
--}
--
--type Inet6Pktinfo struct {
--	Addr    [16]byte /* in6_addr */
--	Ifindex uint32
--}
--
--type IPv6MTUInfo struct {
--	Addr RawSockaddrInet6
--	Mtu  uint32
--}
--
--type ICMPv6Filter struct {
--	Data [8]uint32
--}
--
--type Ucred struct {
--	Pid int32
--	Uid uint32
--	Gid uint32
--}
--
--type TCPInfo struct {
--	State          uint8
--	Ca_state       uint8
--	Retransmits    uint8
--	Probes         uint8
--	Backoff        uint8
--	Options        uint8
--	Pad_cgo_0      [2]byte
--	Rto            uint32
--	Ato            uint32
--	Snd_mss        uint32
--	Rcv_mss        uint32
--	Unacked        uint32
--	Sacked         uint32
--	Lost           uint32
--	Retrans        uint32
--	Fackets        uint32
--	Last_data_sent uint32
--	Last_ack_sent  uint32
--	Last_data_recv uint32
--	Last_ack_recv  uint32
--	Pmtu           uint32
--	Rcv_ssthresh   uint32
--	Rtt            uint32
--	Rttvar         uint32
--	Snd_ssthresh   uint32
--	Snd_cwnd       uint32
--	Advmss         uint32
--	Reordering     uint32
--	Rcv_rtt        uint32
--	Rcv_space      uint32
--	Total_retrans  uint32
--}
--
- const (
--	SizeofSockaddrInet4     = 0x10
--	SizeofSockaddrInet6     = 0x1c
--	SizeofSockaddrAny       = 0x70
--	SizeofSockaddrUnix      = 0x6e
--	SizeofSockaddrLinklayer = 0x14
--	SizeofSockaddrNetlink   = 0xc
--	SizeofSockaddrHCI       = 0x6
--	SizeofSockaddrCAN       = 0x10
--	SizeofSockaddrALG       = 0x58
--	SizeofSockaddrVM        = 0x10
--	SizeofLinger            = 0x8
--	SizeofIovec             = 0x8
--	SizeofIPMreq            = 0x8
--	SizeofIPMreqn           = 0xc
--	SizeofIPv6Mreq          = 0x14
--	SizeofPacketMreq        = 0x10
--	SizeofMsghdr            = 0x1c
--	SizeofCmsghdr           = 0xc
--	SizeofInet4Pktinfo      = 0xc
--	SizeofInet6Pktinfo      = 0x14
--	SizeofIPv6MTUInfo       = 0x20
--	SizeofICMPv6Filter      = 0x20
--	SizeofUcred             = 0xc
--	SizeofTCPInfo           = 0x68
-+	SizeofIovec   = 0x8
-+	SizeofMsghdr  = 0x1c
-+	SizeofCmsghdr = 0xc
- )
- 
- const (
--	IFA_UNSPEC          = 0x0
--	IFA_ADDRESS         = 0x1
--	IFA_LOCAL           = 0x2
--	IFA_LABEL           = 0x3
--	IFA_BROADCAST       = 0x4
--	IFA_ANYCAST         = 0x5
--	IFA_CACHEINFO       = 0x6
--	IFA_MULTICAST       = 0x7
--	IFLA_UNSPEC         = 0x0
--	IFLA_ADDRESS        = 0x1
--	IFLA_BROADCAST      = 0x2
--	IFLA_IFNAME         = 0x3
--	IFLA_MTU            = 0x4
--	IFLA_LINK           = 0x5
--	IFLA_QDISC          = 0x6
--	IFLA_STATS          = 0x7
--	IFLA_COST           = 0x8
--	IFLA_PRIORITY       = 0x9
--	IFLA_MASTER         = 0xa
--	IFLA_WIRELESS       = 0xb
--	IFLA_PROTINFO       = 0xc
--	IFLA_TXQLEN         = 0xd
--	IFLA_MAP            = 0xe
--	IFLA_WEIGHT         = 0xf
--	IFLA_OPERSTATE      = 0x10
--	IFLA_LINKMODE       = 0x11
--	IFLA_LINKINFO       = 0x12
--	IFLA_NET_NS_PID     = 0x13
--	IFLA_IFALIAS        = 0x14
--	IFLA_MAX            = 0x2b
--	RT_SCOPE_UNIVERSE   = 0x0
--	RT_SCOPE_SITE       = 0xc8
--	RT_SCOPE_LINK       = 0xfd
--	RT_SCOPE_HOST       = 0xfe
--	RT_SCOPE_NOWHERE    = 0xff
--	RT_TABLE_UNSPEC     = 0x0
--	RT_TABLE_COMPAT     = 0xfc
--	RT_TABLE_DEFAULT    = 0xfd
--	RT_TABLE_MAIN       = 0xfe
--	RT_TABLE_LOCAL      = 0xff
--	RT_TABLE_MAX        = 0xffffffff
--	RTA_UNSPEC          = 0x0
--	RTA_DST             = 0x1
--	RTA_SRC             = 0x2
--	RTA_IIF             = 0x3
--	RTA_OIF             = 0x4
--	RTA_GATEWAY         = 0x5
--	RTA_PRIORITY        = 0x6
--	RTA_PREFSRC         = 0x7
--	RTA_METRICS         = 0x8
--	RTA_MULTIPATH       = 0x9
--	RTA_FLOW            = 0xb
--	RTA_CACHEINFO       = 0xc
--	RTA_TABLE           = 0xf
--	RTN_UNSPEC          = 0x0
--	RTN_UNICAST         = 0x1
--	RTN_LOCAL           = 0x2
--	RTN_BROADCAST       = 0x3
--	RTN_ANYCAST         = 0x4
--	RTN_MULTICAST       = 0x5
--	RTN_BLACKHOLE       = 0x6
--	RTN_UNREACHABLE     = 0x7
--	RTN_PROHIBIT        = 0x8
--	RTN_THROW           = 0x9
--	RTN_NAT             = 0xa
--	RTN_XRESOLVE        = 0xb
--	RTNLGRP_NONE        = 0x0
--	RTNLGRP_LINK        = 0x1
--	RTNLGRP_NOTIFY      = 0x2
--	RTNLGRP_NEIGH       = 0x3
--	RTNLGRP_TC          = 0x4
--	RTNLGRP_IPV4_IFADDR = 0x5
--	RTNLGRP_IPV4_MROUTE = 0x6
--	RTNLGRP_IPV4_ROUTE  = 0x7
--	RTNLGRP_IPV4_RULE   = 0x8
--	RTNLGRP_IPV6_IFADDR = 0x9
--	RTNLGRP_IPV6_MROUTE = 0xa
--	RTNLGRP_IPV6_ROUTE  = 0xb
--	RTNLGRP_IPV6_IFINFO = 0xc
--	RTNLGRP_IPV6_PREFIX = 0x12
--	RTNLGRP_IPV6_RULE   = 0x13
--	RTNLGRP_ND_USEROPT  = 0x14
--	SizeofNlMsghdr      = 0x10
--	SizeofNlMsgerr      = 0x14
--	SizeofRtGenmsg      = 0x1
--	SizeofNlAttr        = 0x4
--	SizeofRtAttr        = 0x4
--	SizeofIfInfomsg     = 0x10
--	SizeofIfAddrmsg     = 0x8
--	SizeofRtMsg         = 0xc
--	SizeofRtNexthop     = 0x8
-+	SizeofSockFprog = 0x8
- )
- 
--type NlMsghdr struct {
--	Len   uint32
--	Type  uint16
--	Flags uint16
--	Seq   uint32
--	Pid   uint32
--}
--
--type NlMsgerr struct {
--	Error int32
--	Msg   NlMsghdr
--}
--
--type RtGenmsg struct {
--	Family uint8
--}
--
--type NlAttr struct {
--	Len  uint16
--	Type uint16
--}
--
--type RtAttr struct {
--	Len  uint16
--	Type uint16
--}
--
--type IfInfomsg struct {
--	Family     uint8
--	X__ifi_pad uint8
--	Type       uint16
--	Index      int32
--	Flags      uint32
--	Change     uint32
--}
--
--type IfAddrmsg struct {
--	Family    uint8
--	Prefixlen uint8
--	Flags     uint8
--	Scope     uint8
--	Index     uint32
--}
--
--type RtMsg struct {
--	Family   uint8
--	Dst_len  uint8
--	Src_len  uint8
--	Tos      uint8
--	Table    uint8
--	Protocol uint8
--	Scope    uint8
--	Type     uint8
--	Flags    uint32
--}
--
--type RtNexthop struct {
--	Len     uint16
--	Flags   uint8
--	Hops    uint8
--	Ifindex int32
--}
--
--const (
--	SizeofSockFilter = 0x8
--	SizeofSockFprog  = 0x8
--)
--
--type SockFilter struct {
--	Code uint16
--	Jt   uint8
--	Jf   uint8
--	K    uint32
--}
--
--type SockFprog struct {
--	Len       uint16
--	Pad_cgo_0 [2]byte
--	Filter    *SockFilter
--}
--
--type InotifyEvent struct {
--	Wd     int32
--	Mask   uint32
--	Cookie uint32
--	Len    uint32
--}
--
--const SizeofInotifyEvent = 0x10
--
- type PtraceRegs struct {
- 	Regs     [32]uint64
- 	Lo       uint64
-@@ -610,16 +194,7 @@ type Sysinfo_t struct {
- 	Totalhigh uint32
- 	Freehigh  uint32
- 	Unit      uint32
--	X_f       [8]int8
--}
--
--type Utsname struct {
--	Sysname    [65]int8
--	Nodename   [65]int8
--	Release    [65]int8
--	Version    [65]int8
--	Machine    [65]int8
--	Domainname [65]int8
-+	_         [8]int8
- }
- 
- type Ustat_t struct {
-@@ -637,37 +212,14 @@ type EpollEvent struct {
- }
- 
- const (
--	AT_FDCWD            = -0x64
--	AT_REMOVEDIR        = 0x200
--	AT_SYMLINK_FOLLOW   = 0x400
--	AT_SYMLINK_NOFOLLOW = 0x100
--)
--
--type PollFd struct {
--	Fd      int32
--	Events  int16
--	Revents int16
--}
--
--const (
--	POLLIN    = 0x1
--	POLLPRI   = 0x2
--	POLLOUT   = 0x4
- 	POLLRDHUP = 0x2000
--	POLLERR   = 0x8
--	POLLHUP   = 0x10
--	POLLNVAL  = 0x20
- )
- 
- type Sigset_t struct {
--	X__val [32]uint32
-+	Val [32]uint32
- }
- 
--const RNDGETENTCNT = 0x40045200
--
--const PERF_IOC_FLAG_GROUP = 0x1
--
--const _SC_PAGESIZE = 0x1e
-+const _C__NSIG = 0x80
- 
- type Termios struct {
- 	Iflag  uint32
-@@ -680,20 +232,12 @@ type Termios struct {
- 	Ospeed uint32
- }
- 
--type Winsize struct {
--	Row    uint16
--	Col    uint16
--	Xpixel uint16
--	Ypixel uint16
--}
--
- type Taskstats struct {
- 	Version                   uint16
--	Pad_cgo_0                 [2]byte
- 	Ac_exitcode               uint32
- 	Ac_flag                   uint8
- 	Ac_nice                   uint8
--	Pad_cgo_1                 [6]byte
-+	_                         [4]byte
- 	Cpu_count                 uint64
- 	Cpu_delay_total           uint64
- 	Blkio_count               uint64
-@@ -705,13 +249,13 @@ type Taskstats struct {
- 	Ac_comm                   [32]int8
- 	Ac_sched                  uint8
- 	Ac_pad                    [3]uint8
--	Pad_cgo_2                 [4]byte
-+	_                         [4]byte
- 	Ac_uid                    uint32
- 	Ac_gid                    uint32
- 	Ac_pid                    uint32
- 	Ac_ppid                   uint32
- 	Ac_btime                  uint32
--	Pad_cgo_3                 [4]byte
-+	_                         [4]byte
- 	Ac_etime                  uint64
- 	Ac_utime                  uint64
- 	Ac_stime                  uint64
-@@ -735,55 +279,319 @@ type Taskstats struct {
- 	Cpu_scaled_run_real_total uint64
- 	Freepages_count           uint64
- 	Freepages_delay_total     uint64
-+	Thrashing_count           uint64
-+	Thrashing_delay_total     uint64
-+	Ac_btime64                uint64
- }
- 
-+type cpuMask uint32
-+
-+const (
-+	_NCPUBITS = 0x20
-+)
-+
- const (
--	TASKSTATS_CMD_UNSPEC                  = 0x0
--	TASKSTATS_CMD_GET                     = 0x1
--	TASKSTATS_CMD_NEW                     = 0x2
--	TASKSTATS_TYPE_UNSPEC                 = 0x0
--	TASKSTATS_TYPE_PID                    = 0x1
--	TASKSTATS_TYPE_TGID                   = 0x2
--	TASKSTATS_TYPE_STATS                  = 0x3
--	TASKSTATS_TYPE_AGGR_PID               = 0x4
--	TASKSTATS_TYPE_AGGR_TGID              = 0x5
--	TASKSTATS_TYPE_NULL                   = 0x6
--	TASKSTATS_CMD_ATTR_UNSPEC             = 0x0
--	TASKSTATS_CMD_ATTR_PID                = 0x1
--	TASKSTATS_CMD_ATTR_TGID               = 0x2
--	TASKSTATS_CMD_ATTR_REGISTER_CPUMASK   = 0x3
--	TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4
-+	CBitFieldMaskBit0  = 0x1
-+	CBitFieldMaskBit1  = 0x2
-+	CBitFieldMaskBit2  = 0x4
-+	CBitFieldMaskBit3  = 0x8
-+	CBitFieldMaskBit4  = 0x10
-+	CBitFieldMaskBit5  = 0x20
-+	CBitFieldMaskBit6  = 0x40
-+	CBitFieldMaskBit7  = 0x80
-+	CBitFieldMaskBit8  = 0x100
-+	CBitFieldMaskBit9  = 0x200
-+	CBitFieldMaskBit10 = 0x400
-+	CBitFieldMaskBit11 = 0x800
-+	CBitFieldMaskBit12 = 0x1000
-+	CBitFieldMaskBit13 = 0x2000
-+	CBitFieldMaskBit14 = 0x4000
-+	CBitFieldMaskBit15 = 0x8000
-+	CBitFieldMaskBit16 = 0x10000
-+	CBitFieldMaskBit17 = 0x20000
-+	CBitFieldMaskBit18 = 0x40000
-+	CBitFieldMaskBit19 = 0x80000
-+	CBitFieldMaskBit20 = 0x100000
-+	CBitFieldMaskBit21 = 0x200000
-+	CBitFieldMaskBit22 = 0x400000
-+	CBitFieldMaskBit23 = 0x800000
-+	CBitFieldMaskBit24 = 0x1000000
-+	CBitFieldMaskBit25 = 0x2000000
-+	CBitFieldMaskBit26 = 0x4000000
-+	CBitFieldMaskBit27 = 0x8000000
-+	CBitFieldMaskBit28 = 0x10000000
-+	CBitFieldMaskBit29 = 0x20000000
-+	CBitFieldMaskBit30 = 0x40000000
-+	CBitFieldMaskBit31 = 0x80000000
-+	CBitFieldMaskBit32 = 0x100000000
-+	CBitFieldMaskBit33 = 0x200000000
-+	CBitFieldMaskBit34 = 0x400000000
-+	CBitFieldMaskBit35 = 0x800000000
-+	CBitFieldMaskBit36 = 0x1000000000
-+	CBitFieldMaskBit37 = 0x2000000000
-+	CBitFieldMaskBit38 = 0x4000000000
-+	CBitFieldMaskBit39 = 0x8000000000
-+	CBitFieldMaskBit40 = 0x10000000000
-+	CBitFieldMaskBit41 = 0x20000000000
-+	CBitFieldMaskBit42 = 0x40000000000
-+	CBitFieldMaskBit43 = 0x80000000000
-+	CBitFieldMaskBit44 = 0x100000000000
-+	CBitFieldMaskBit45 = 0x200000000000
-+	CBitFieldMaskBit46 = 0x400000000000
-+	CBitFieldMaskBit47 = 0x800000000000
-+	CBitFieldMaskBit48 = 0x1000000000000
-+	CBitFieldMaskBit49 = 0x2000000000000
-+	CBitFieldMaskBit50 = 0x4000000000000
-+	CBitFieldMaskBit51 = 0x8000000000000
-+	CBitFieldMaskBit52 = 0x10000000000000
-+	CBitFieldMaskBit53 = 0x20000000000000
-+	CBitFieldMaskBit54 = 0x40000000000000
-+	CBitFieldMaskBit55 = 0x80000000000000
-+	CBitFieldMaskBit56 = 0x100000000000000
-+	CBitFieldMaskBit57 = 0x200000000000000
-+	CBitFieldMaskBit58 = 0x400000000000000
-+	CBitFieldMaskBit59 = 0x800000000000000
-+	CBitFieldMaskBit60 = 0x1000000000000000
-+	CBitFieldMaskBit61 = 0x2000000000000000
-+	CBitFieldMaskBit62 = 0x4000000000000000
-+	CBitFieldMaskBit63 = 0x8000000000000000
- )
- 
--type Genlmsghdr struct {
--	Cmd      uint8
--	Version  uint8
--	Reserved uint16
-+type SockaddrStorage struct {
-+	Family uint16
-+	_      [122]int8
-+	_      uint32
-+}
-+
-+type HDGeometry struct {
-+	Heads     uint8
-+	Sectors   uint8
-+	Cylinders uint16
-+	Start     uint32
-+}
-+
-+type Statfs_t struct {
-+	Type    int32
-+	Bsize   int32
-+	Frsize  int32
-+	_       [4]byte
-+	Blocks  uint64
-+	Bfree   uint64
-+	Files   uint64
-+	Ffree   uint64
-+	Bavail  uint64
-+	Fsid    Fsid
-+	Namelen int32
-+	Flags   int32
-+	Spare   [5]int32
-+	_       [4]byte
-+}
-+
-+type TpacketHdr struct {
-+	Status  uint32
-+	Len     uint32
-+	Snaplen uint32
-+	Mac     uint16
-+	Net     uint16
-+	Sec     uint32
-+	Usec    uint32
-+}
-+
-+const (
-+	SizeofTpacketHdr = 0x18
-+)
-+
-+type RTCPLLInfo struct {
-+	Ctrl    int32
-+	Value   int32
-+	Max     int32
-+	Min     int32
-+	Posmult int32
-+	Negmult int32
-+	Clock   int32
-+}
-+
-+type BlkpgPartition struct {
-+	Start   int64
-+	Length  int64
-+	Pno     int32
-+	Devname [64]uint8
-+	Volname [64]uint8
-+	_       [4]byte
- }
- 
- const (
--	CTRL_CMD_UNSPEC            = 0x0
--	CTRL_CMD_NEWFAMILY         = 0x1
--	CTRL_CMD_DELFAMILY         = 0x2
--	CTRL_CMD_GETFAMILY         = 0x3
--	CTRL_CMD_NEWOPS            = 0x4
--	CTRL_CMD_DELOPS            = 0x5
--	CTRL_CMD_GETOPS            = 0x6
--	CTRL_CMD_NEWMCAST_GRP      = 0x7
--	CTRL_CMD_DELMCAST_GRP      = 0x8
--	CTRL_CMD_GETMCAST_GRP      = 0x9
--	CTRL_ATTR_UNSPEC           = 0x0
--	CTRL_ATTR_FAMILY_ID        = 0x1
--	CTRL_ATTR_FAMILY_NAME      = 0x2
--	CTRL_ATTR_VERSION          = 0x3
--	CTRL_ATTR_HDRSIZE          = 0x4
--	CTRL_ATTR_MAXATTR          = 0x5
--	CTRL_ATTR_OPS              = 0x6
--	CTRL_ATTR_MCAST_GROUPS     = 0x7
--	CTRL_ATTR_OP_UNSPEC        = 0x0
--	CTRL_ATTR_OP_ID            = 0x1
--	CTRL_ATTR_OP_FLAGS         = 0x2
--	CTRL_ATTR_MCAST_GRP_UNSPEC = 0x0
--	CTRL_ATTR_MCAST_GRP_NAME   = 0x1
--	CTRL_ATTR_MCAST_GRP_ID     = 0x2
-+	BLKPG = 0x20001269
- )
-+
-+type XDPUmemReg struct {
-+	Addr     uint64
-+	Len      uint64
-+	Size     uint32
-+	Headroom uint32
-+	Flags    uint32
-+	_        [4]byte
-+}
-+
-+type CryptoUserAlg struct {
-+	Name        [64]int8
-+	Driver_name [64]int8
-+	Module_name [64]int8
-+	Type        uint32
-+	Mask        uint32
-+	Refcnt      uint32
-+	Flags       uint32
-+}
-+
-+type CryptoStatAEAD struct {
-+	Type         [64]int8
-+	Encrypt_cnt  uint64
-+	Encrypt_tlen uint64
-+	Decrypt_cnt  uint64
-+	Decrypt_tlen uint64
-+	Err_cnt      uint64
-+}
-+
-+type CryptoStatAKCipher struct {
-+	Type         [64]int8
-+	Encrypt_cnt  uint64
-+	Encrypt_tlen uint64
-+	Decrypt_cnt  uint64
-+	Decrypt_tlen uint64
-+	Verify_cnt   uint64
-+	Sign_cnt     uint64
-+	Err_cnt      uint64
-+}
-+
-+type CryptoStatCipher struct {
-+	Type         [64]int8
-+	Encrypt_cnt  uint64
-+	Encrypt_tlen uint64
-+	Decrypt_cnt  uint64
-+	Decrypt_tlen uint64
-+	Err_cnt      uint64
-+}
-+
-+type CryptoStatCompress struct {
-+	Type            [64]int8
-+	Compress_cnt    uint64
-+	Compress_tlen   uint64
-+	Decompress_cnt  uint64
-+	Decompress_tlen uint64
-+	Err_cnt         uint64
-+}
-+
-+type CryptoStatHash struct {
-+	Type      [64]int8
-+	Hash_cnt  uint64
-+	Hash_tlen uint64
-+	Err_cnt   uint64
-+}
-+
-+type CryptoStatKPP struct {
-+	Type                      [64]int8
-+	Setsecret_cnt             uint64
-+	Generate_public_key_cnt   uint64
-+	Compute_shared_secret_cnt uint64
-+	Err_cnt                   uint64
-+}
-+
-+type CryptoStatRNG struct {
-+	Type          [64]int8
-+	Generate_cnt  uint64
-+	Generate_tlen uint64
-+	Seed_cnt      uint64
-+	Err_cnt       uint64
-+}
-+
-+type CryptoStatLarval struct {
-+	Type [64]int8
-+}
-+
-+type CryptoReportLarval struct {
-+	Type [64]int8
-+}
-+
-+type CryptoReportHash struct {
-+	Type       [64]int8
-+	Blocksize  uint32
-+	Digestsize uint32
-+}
-+
-+type CryptoReportCipher struct {
-+	Type        [64]int8
-+	Blocksize   uint32
-+	Min_keysize uint32
-+	Max_keysize uint32
-+}
-+
-+type CryptoReportBlkCipher struct {
-+	Type        [64]int8
-+	Geniv       [64]int8
-+	Blocksize   uint32
-+	Min_keysize uint32
-+	Max_keysize uint32
-+	Ivsize      uint32
-+}
-+
-+type CryptoReportAEAD struct {
-+	Type        [64]int8
-+	Geniv       [64]int8
-+	Blocksize   uint32
-+	Maxauthsize uint32
-+	Ivsize      uint32
-+}
-+
-+type CryptoReportComp struct {
-+	Type [64]int8
-+}
-+
-+type CryptoReportRNG struct {
-+	Type     [64]int8
-+	Seedsize uint32
-+}
-+
-+type CryptoReportAKCipher struct {
-+	Type [64]int8
-+}
-+
-+type CryptoReportKPP struct {
-+	Type [64]int8
-+}
-+
-+type CryptoReportAcomp struct {
-+	Type [64]int8
-+}
-+
-+type LoopInfo struct {
-+	Number           int32
-+	Device           uint32
-+	Inode            uint32
-+	Rdevice          uint32
-+	Offset           int32
-+	Encrypt_type     int32
-+	Encrypt_key_size int32
-+	Flags            int32
-+	Name             [64]int8
-+	Encrypt_key      [32]uint8
-+	Init             [2]uint32
-+	Reserved         [4]int8
-+}
-+
-+type TIPCSubscr struct {
-+	Seq     TIPCServiceRange
-+	Timeout uint32
-+	Filter  uint32
-+	Handle  [8]int8
-+}
-+
-+type TIPCSIOCLNReq struct {
-+	Peer     uint32
-+	Id       uint32
-+	Linkname [68]int8
-+}
-+
-+type TIPCSIOCNodeIDReq struct {
-+	Peer uint32
-+	Id   [16]int8
-+}
-diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go
-index 2b0b18e9..74151909 100644
---- a/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go
-+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go
-@@ -6,19 +6,12 @@
- package unix
- 
- const (
--	sizeofPtr      = 0x8
--	sizeofShort    = 0x2
--	sizeofInt      = 0x4
--	sizeofLong     = 0x8
--	sizeofLongLong = 0x8
--	PathMax        = 0x1000
-+	SizeofPtr  = 0x8
-+	SizeofLong = 0x8
- )
- 
- type (
--	_C_short     int16
--	_C_int       int32
--	_C_long      int64
--	_C_long_long int64
-+	_C_long int64
- )
- 
- type Timespec struct {
-@@ -33,13 +26,11 @@ type Timeval struct {
- 
- type Timex struct {
- 	Modes     uint32
--	Pad_cgo_0 [4]byte
- 	Offset    int64
- 	Freq      int64
- 	Maxerror  int64
- 	Esterror  int64
- 	Status    int32
--	Pad_cgo_1 [4]byte
- 	Constant  int64
- 	Precision int64
- 	Tolerance int64
-@@ -48,14 +39,13 @@ type Timex struct {
- 	Ppsfreq   int64
- 	Jitter    int64
- 	Shift     int32
--	Pad_cgo_2 [4]byte
- 	Stabil    int64
- 	Jitcnt    int64
- 	Calcnt    int64
- 	Errcnt    int64
- 	Stbcnt    int64
- 	Tai       int32
--	Pad_cgo_3 [44]byte
-+	_         [44]byte
- }
- 
- type Time_t int64
-@@ -91,13 +81,6 @@ type Rusage struct {
- 	Nivcsw   int64
- }
- 
--type Rlimit struct {
--	Cur uint64
--	Max uint64
--}
--
--type _Gid_t uint32
--
- type Stat_t struct {
- 	Dev     uint64
- 	Ino     uint64
-@@ -105,7 +88,7 @@ type Stat_t struct {
- 	Mode    uint32
- 	Uid     uint32
- 	Gid     uint32
--	X__pad2 int32
-+	_       int32
- 	Rdev    uint64
- 	Size    int64
- 	Blksize int64
-@@ -118,139 +101,29 @@ type Stat_t struct {
- 	_       uint64
- }
- 
--type Statfs_t struct {
--	Type    int64
--	Bsize   int64
--	Blocks  uint64
--	Bfree   uint64
--	Bavail  uint64
--	Files   uint64
--	Ffree   uint64
--	Fsid    Fsid
--	Namelen int64
--	Frsize  int64
--	Flags   int64
--	Spare   [4]int64
--}
--
- type Dirent struct {
--	Ino       uint64
--	Off       int64
--	Reclen    uint16
--	Type      uint8
--	Name      [256]uint8
--	Pad_cgo_0 [5]byte
--}
--
--type Fsid struct {
--	X__val [2]int32
-+	Ino    uint64
-+	Off    int64
-+	Reclen uint16
-+	Type   uint8
-+	Name   [256]uint8
-+	_      [5]byte
- }
- 
- type Flock_t struct {
--	Type      int16
--	Whence    int16
--	Pad_cgo_0 [4]byte
--	Start     int64
--	Len       int64
--	Pid       int32
--	Pad_cgo_1 [4]byte
--}
--
--type FscryptPolicy struct {
--	Version                   uint8
--	Contents_encryption_mode  uint8
--	Filenames_encryption_mode uint8
--	Flags                     uint8
--	Master_key_descriptor     [8]uint8
--}
--
--type FscryptKey struct {
--	Mode uint32
--	Raw  [64]uint8
--	Size uint32
--}
--
--type KeyctlDHParams struct {
--	Private int32
--	Prime   int32
--	Base    int32
-+	Type   int16
-+	Whence int16
-+	Start  int64
-+	Len    int64
-+	Pid    int32
-+	_      [4]byte
- }
- 
- const (
--	FADV_NORMAL     = 0x0
--	FADV_RANDOM     = 0x1
--	FADV_SEQUENTIAL = 0x2
--	FADV_WILLNEED   = 0x3
--	FADV_DONTNEED   = 0x4
--	FADV_NOREUSE    = 0x5
-+	FADV_DONTNEED = 0x4
-+	FADV_NOREUSE  = 0x5
- )
- 
--type RawSockaddrInet4 struct {
--	Family uint16
--	Port   uint16
--	Addr   [4]byte /* in_addr */
--	Zero   [8]uint8
--}
--
--type RawSockaddrInet6 struct {
--	Family   uint16
--	Port     uint16
--	Flowinfo uint32
--	Addr     [16]byte /* in6_addr */
--	Scope_id uint32
--}
--
--type RawSockaddrUnix struct {
--	Family uint16
--	Path   [108]int8
--}
--
--type RawSockaddrLinklayer struct {
--	Family   uint16
--	Protocol uint16
--	Ifindex  int32
--	Hatype   uint16
--	Pkttype  uint8
--	Halen    uint8
--	Addr     [8]uint8
--}
--
--type RawSockaddrNetlink struct {
--	Family uint16
--	Pad    uint16
--	Pid    uint32
--	Groups uint32
--}
--
--type RawSockaddrHCI struct {
--	Family  uint16
--	Dev     uint16
--	Channel uint16
--}
--
--type RawSockaddrCAN struct {
--	Family    uint16
--	Pad_cgo_0 [2]byte
--	Ifindex   int32
--	Addr      [8]byte
--}
--
--type RawSockaddrALG struct {
--	Family uint16
--	Type   [14]uint8
--	Feat   uint32
--	Mask   uint32
--	Name   [64]uint8
--}
--
--type RawSockaddrVM struct {
--	Family    uint16
--	Reserved1 uint16
--	Port      uint32
--	Cid       uint32
--	Zero      [4]uint8
--}
--
- type RawSockaddr struct {
- 	Family uint16
- 	Data   [14]uint8
-@@ -261,51 +134,20 @@ type RawSockaddrAny struct {
- 	Pad  [96]uint8
- }
- 
--type _Socklen uint32
--
--type Linger struct {
--	Onoff  int32
--	Linger int32
--}
--
- type Iovec struct {
- 	Base *byte
- 	Len  uint64
- }
- 
--type IPMreq struct {
--	Multiaddr [4]byte /* in_addr */
--	Interface [4]byte /* in_addr */
--}
--
--type IPMreqn struct {
--	Multiaddr [4]byte /* in_addr */
--	Address   [4]byte /* in_addr */
--	Ifindex   int32
--}
--
--type IPv6Mreq struct {
--	Multiaddr [16]byte /* in6_addr */
--	Interface uint32
--}
--
--type PacketMreq struct {
--	Ifindex int32
--	Type    uint16
--	Alen    uint16
--	Address [8]uint8
--}
--
- type Msghdr struct {
- 	Name       *byte
- 	Namelen    uint32
--	Pad_cgo_0  [4]byte
- 	Iov        *Iovec
- 	Iovlen     uint64
- 	Control    *byte
- 	Controllen uint64
- 	Flags      int32
--	Pad_cgo_1  [4]byte
-+	_          [4]byte
- }
- 
- type Cmsghdr struct {
-@@ -314,277 +156,16 @@ type Cmsghdr struct {
- 	Type  int32
- }
- 
--type Inet4Pktinfo struct {
--	Ifindex  int32
--	Spec_dst [4]byte /* in_addr */
--	Addr     [4]byte /* in_addr */
--}
--
--type Inet6Pktinfo struct {
--	Addr    [16]byte /* in6_addr */
--	Ifindex uint32
--}
--
--type IPv6MTUInfo struct {
--	Addr RawSockaddrInet6
--	Mtu  uint32
--}
--
--type ICMPv6Filter struct {
--	Data [8]uint32
--}
--
--type Ucred struct {
--	Pid int32
--	Uid uint32
--	Gid uint32
--}
--
--type TCPInfo struct {
--	State          uint8
--	Ca_state       uint8
--	Retransmits    uint8
--	Probes         uint8
--	Backoff        uint8
--	Options        uint8
--	Pad_cgo_0      [2]byte
--	Rto            uint32
--	Ato            uint32
--	Snd_mss        uint32
--	Rcv_mss        uint32
--	Unacked        uint32
--	Sacked         uint32
--	Lost           uint32
--	Retrans        uint32
--	Fackets        uint32
--	Last_data_sent uint32
--	Last_ack_sent  uint32
--	Last_data_recv uint32
--	Last_ack_recv  uint32
--	Pmtu           uint32
--	Rcv_ssthresh   uint32
--	Rtt            uint32
--	Rttvar         uint32
--	Snd_ssthresh   uint32
--	Snd_cwnd       uint32
--	Advmss         uint32
--	Reordering     uint32
--	Rcv_rtt        uint32
--	Rcv_space      uint32
--	Total_retrans  uint32
--}
--
- const (
--	SizeofSockaddrInet4     = 0x10
--	SizeofSockaddrInet6     = 0x1c
--	SizeofSockaddrAny       = 0x70
--	SizeofSockaddrUnix      = 0x6e
--	SizeofSockaddrLinklayer = 0x14
--	SizeofSockaddrNetlink   = 0xc
--	SizeofSockaddrHCI       = 0x6
--	SizeofSockaddrCAN       = 0x10
--	SizeofSockaddrALG       = 0x58
--	SizeofSockaddrVM        = 0x10
--	SizeofLinger            = 0x8
--	SizeofIovec             = 0x10
--	SizeofIPMreq            = 0x8
--	SizeofIPMreqn           = 0xc
--	SizeofIPv6Mreq          = 0x14
--	SizeofPacketMreq        = 0x10
--	SizeofMsghdr            = 0x38
--	SizeofCmsghdr           = 0x10
--	SizeofInet4Pktinfo      = 0xc
--	SizeofInet6Pktinfo      = 0x14
--	SizeofIPv6MTUInfo       = 0x20
--	SizeofICMPv6Filter      = 0x20
--	SizeofUcred             = 0xc
--	SizeofTCPInfo           = 0x68
-+	SizeofIovec   = 0x10
-+	SizeofMsghdr  = 0x38
-+	SizeofCmsghdr = 0x10
- )
- 
- const (
--	IFA_UNSPEC          = 0x0
--	IFA_ADDRESS         = 0x1
--	IFA_LOCAL           = 0x2
--	IFA_LABEL           = 0x3
--	IFA_BROADCAST       = 0x4
--	IFA_ANYCAST         = 0x5
--	IFA_CACHEINFO       = 0x6
--	IFA_MULTICAST       = 0x7
--	IFLA_UNSPEC         = 0x0
--	IFLA_ADDRESS        = 0x1
--	IFLA_BROADCAST      = 0x2
--	IFLA_IFNAME         = 0x3
--	IFLA_MTU            = 0x4
--	IFLA_LINK           = 0x5
--	IFLA_QDISC          = 0x6
--	IFLA_STATS          = 0x7
--	IFLA_COST           = 0x8
--	IFLA_PRIORITY       = 0x9
--	IFLA_MASTER         = 0xa
--	IFLA_WIRELESS       = 0xb
--	IFLA_PROTINFO       = 0xc
--	IFLA_TXQLEN         = 0xd
--	IFLA_MAP            = 0xe
--	IFLA_WEIGHT         = 0xf
--	IFLA_OPERSTATE      = 0x10
--	IFLA_LINKMODE       = 0x11
--	IFLA_LINKINFO       = 0x12
--	IFLA_NET_NS_PID     = 0x13
--	IFLA_IFALIAS        = 0x14
--	IFLA_MAX            = 0x2b
--	RT_SCOPE_UNIVERSE   = 0x0
--	RT_SCOPE_SITE       = 0xc8
--	RT_SCOPE_LINK       = 0xfd
--	RT_SCOPE_HOST       = 0xfe
--	RT_SCOPE_NOWHERE    = 0xff
--	RT_TABLE_UNSPEC     = 0x0
--	RT_TABLE_COMPAT     = 0xfc
--	RT_TABLE_DEFAULT    = 0xfd
--	RT_TABLE_MAIN       = 0xfe
--	RT_TABLE_LOCAL      = 0xff
--	RT_TABLE_MAX        = 0xffffffff
--	RTA_UNSPEC          = 0x0
--	RTA_DST             = 0x1
--	RTA_SRC             = 0x2
--	RTA_IIF             = 0x3
--	RTA_OIF             = 0x4
--	RTA_GATEWAY         = 0x5
--	RTA_PRIORITY        = 0x6
--	RTA_PREFSRC         = 0x7
--	RTA_METRICS         = 0x8
--	RTA_MULTIPATH       = 0x9
--	RTA_FLOW            = 0xb
--	RTA_CACHEINFO       = 0xc
--	RTA_TABLE           = 0xf
--	RTN_UNSPEC          = 0x0
--	RTN_UNICAST         = 0x1
--	RTN_LOCAL           = 0x2
--	RTN_BROADCAST       = 0x3
--	RTN_ANYCAST         = 0x4
--	RTN_MULTICAST       = 0x5
--	RTN_BLACKHOLE       = 0x6
--	RTN_UNREACHABLE     = 0x7
--	RTN_PROHIBIT        = 0x8
--	RTN_THROW           = 0x9
--	RTN_NAT             = 0xa
--	RTN_XRESOLVE        = 0xb
--	RTNLGRP_NONE        = 0x0
--	RTNLGRP_LINK        = 0x1
--	RTNLGRP_NOTIFY      = 0x2
--	RTNLGRP_NEIGH       = 0x3
--	RTNLGRP_TC          = 0x4
--	RTNLGRP_IPV4_IFADDR = 0x5
--	RTNLGRP_IPV4_MROUTE = 0x6
--	RTNLGRP_IPV4_ROUTE  = 0x7
--	RTNLGRP_IPV4_RULE   = 0x8
--	RTNLGRP_IPV6_IFADDR = 0x9
--	RTNLGRP_IPV6_MROUTE = 0xa
--	RTNLGRP_IPV6_ROUTE  = 0xb
--	RTNLGRP_IPV6_IFINFO = 0xc
--	RTNLGRP_IPV6_PREFIX = 0x12
--	RTNLGRP_IPV6_RULE   = 0x13
--	RTNLGRP_ND_USEROPT  = 0x14
--	SizeofNlMsghdr      = 0x10
--	SizeofNlMsgerr      = 0x14
--	SizeofRtGenmsg      = 0x1
--	SizeofNlAttr        = 0x4
--	SizeofRtAttr        = 0x4
--	SizeofIfInfomsg     = 0x10
--	SizeofIfAddrmsg     = 0x8
--	SizeofRtMsg         = 0xc
--	SizeofRtNexthop     = 0x8
-+	SizeofSockFprog = 0x10
- )
- 
--type NlMsghdr struct {
--	Len   uint32
--	Type  uint16
--	Flags uint16
--	Seq   uint32
--	Pid   uint32
--}
--
--type NlMsgerr struct {
--	Error int32
--	Msg   NlMsghdr
--}
--
--type RtGenmsg struct {
--	Family uint8
--}
--
--type NlAttr struct {
--	Len  uint16
--	Type uint16
--}
--
--type RtAttr struct {
--	Len  uint16
--	Type uint16
--}
--
--type IfInfomsg struct {
--	Family     uint8
--	X__ifi_pad uint8
--	Type       uint16
--	Index      int32
--	Flags      uint32
--	Change     uint32
--}
--
--type IfAddrmsg struct {
--	Family    uint8
--	Prefixlen uint8
--	Flags     uint8
--	Scope     uint8
--	Index     uint32
--}
--
--type RtMsg struct {
--	Family   uint8
--	Dst_len  uint8
--	Src_len  uint8
--	Tos      uint8
--	Table    uint8
--	Protocol uint8
--	Scope    uint8
--	Type     uint8
--	Flags    uint32
--}
--
--type RtNexthop struct {
--	Len     uint16
--	Flags   uint8
--	Hops    uint8
--	Ifindex int32
--}
--
--const (
--	SizeofSockFilter = 0x8
--	SizeofSockFprog  = 0x10
--)
--
--type SockFilter struct {
--	Code uint16
--	Jt   uint8
--	Jf   uint8
--	K    uint32
--}
--
--type SockFprog struct {
--	Len       uint16
--	Pad_cgo_0 [6]byte
--	Filter    *SockFilter
--}
--
--type InotifyEvent struct {
--	Wd     int32
--	Mask   uint32
--	Cookie uint32
--	Len    uint32
--}
--
--const SizeofInotifyEvent = 0x10
--
- type PtraceRegs struct {
- 	Gpr       [32]uint64
- 	Nip       uint64
-@@ -616,71 +197,37 @@ type Sysinfo_t struct {
- 	Freeswap  uint64
- 	Procs     uint16
- 	Pad       uint16
--	Pad_cgo_0 [4]byte
- 	Totalhigh uint64
- 	Freehigh  uint64
- 	Unit      uint32
--	X_f       [0]uint8
--	Pad_cgo_1 [4]byte
--}
--
--type Utsname struct {
--	Sysname    [65]uint8
--	Nodename   [65]uint8
--	Release    [65]uint8
--	Version    [65]uint8
--	Machine    [65]uint8
--	Domainname [65]uint8
-+	_         [0]uint8
-+	_         [4]byte
- }
- 
- type Ustat_t struct {
--	Tfree     int32
--	Pad_cgo_0 [4]byte
--	Tinode    uint64
--	Fname     [6]uint8
--	Fpack     [6]uint8
--	Pad_cgo_1 [4]byte
-+	Tfree  int32
-+	Tinode uint64
-+	Fname  [6]uint8
-+	Fpack  [6]uint8
-+	_      [4]byte
- }
- 
- type EpollEvent struct {
--	Events  uint32
--	X_padFd int32
--	Fd      int32
--	Pad     int32
--}
--
--const (
--	AT_FDCWD            = -0x64
--	AT_REMOVEDIR        = 0x200
--	AT_SYMLINK_FOLLOW   = 0x400
--	AT_SYMLINK_NOFOLLOW = 0x100
--)
--
--type PollFd struct {
--	Fd      int32
--	Events  int16
--	Revents int16
-+	Events uint32
-+	_      int32
-+	Fd     int32
-+	Pad    int32
- }
- 
- const (
--	POLLIN    = 0x1
--	POLLPRI   = 0x2
--	POLLOUT   = 0x4
- 	POLLRDHUP = 0x2000
--	POLLERR   = 0x8
--	POLLHUP   = 0x10
--	POLLNVAL  = 0x20
- )
- 
- type Sigset_t struct {
--	X__val [16]uint64
-+	Val [16]uint64
- }
- 
--const RNDGETENTCNT = 0x40045200
--
--const PERF_IOC_FLAG_GROUP = 0x1
--
--const _SC_PAGESIZE = 0x1e
-+const _C__NSIG = 0x41
- 
- type Termios struct {
- 	Iflag  uint32
-@@ -693,20 +240,11 @@ type Termios struct {
- 	Ospeed uint32
- }
- 
--type Winsize struct {
--	Row    uint16
--	Col    uint16
--	Xpixel uint16
--	Ypixel uint16
--}
--
- type Taskstats struct {
- 	Version                   uint16
--	Pad_cgo_0                 [2]byte
- 	Ac_exitcode               uint32
- 	Ac_flag                   uint8
- 	Ac_nice                   uint8
--	Pad_cgo_1                 [6]byte
- 	Cpu_count                 uint64
- 	Cpu_delay_total           uint64
- 	Blkio_count               uint64
-@@ -718,13 +256,12 @@ type Taskstats struct {
- 	Ac_comm                   [32]uint8
- 	Ac_sched                  uint8
- 	Ac_pad                    [3]uint8
--	Pad_cgo_2                 [4]byte
-+	_                         [4]byte
- 	Ac_uid                    uint32
- 	Ac_gid                    uint32
- 	Ac_pid                    uint32
- 	Ac_ppid                   uint32
- 	Ac_btime                  uint32
--	Pad_cgo_3                 [4]byte
- 	Ac_etime                  uint64
- 	Ac_utime                  uint64
- 	Ac_stime                  uint64
-@@ -748,55 +285,319 @@ type Taskstats struct {
- 	Cpu_scaled_run_real_total uint64
- 	Freepages_count           uint64
- 	Freepages_delay_total     uint64
-+	Thrashing_count           uint64
-+	Thrashing_delay_total     uint64
-+	Ac_btime64                uint64
- }
- 
-+type cpuMask uint64
-+
- const (
--	TASKSTATS_CMD_UNSPEC                  = 0x0
--	TASKSTATS_CMD_GET                     = 0x1
--	TASKSTATS_CMD_NEW                     = 0x2
--	TASKSTATS_TYPE_UNSPEC                 = 0x0
--	TASKSTATS_TYPE_PID                    = 0x1
--	TASKSTATS_TYPE_TGID                   = 0x2
--	TASKSTATS_TYPE_STATS                  = 0x3
--	TASKSTATS_TYPE_AGGR_PID               = 0x4
--	TASKSTATS_TYPE_AGGR_TGID              = 0x5
--	TASKSTATS_TYPE_NULL                   = 0x6
--	TASKSTATS_CMD_ATTR_UNSPEC             = 0x0
--	TASKSTATS_CMD_ATTR_PID                = 0x1
--	TASKSTATS_CMD_ATTR_TGID               = 0x2
--	TASKSTATS_CMD_ATTR_REGISTER_CPUMASK   = 0x3
--	TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4
-+	_NCPUBITS = 0x40
- )
- 
--type Genlmsghdr struct {
--	Cmd      uint8
--	Version  uint8
--	Reserved uint16
-+const (
-+	CBitFieldMaskBit0  = 0x8000000000000000
-+	CBitFieldMaskBit1  = 0x4000000000000000
-+	CBitFieldMaskBit2  = 0x2000000000000000
-+	CBitFieldMaskBit3  = 0x1000000000000000
-+	CBitFieldMaskBit4  = 0x800000000000000
-+	CBitFieldMaskBit5  = 0x400000000000000
-+	CBitFieldMaskBit6  = 0x200000000000000
-+	CBitFieldMaskBit7  = 0x100000000000000
-+	CBitFieldMaskBit8  = 0x80000000000000
-+	CBitFieldMaskBit9  = 0x40000000000000
-+	CBitFieldMaskBit10 = 0x20000000000000
-+	CBitFieldMaskBit11 = 0x10000000000000
-+	CBitFieldMaskBit12 = 0x8000000000000
-+	CBitFieldMaskBit13 = 0x4000000000000
-+	CBitFieldMaskBit14 = 0x2000000000000
-+	CBitFieldMaskBit15 = 0x1000000000000
-+	CBitFieldMaskBit16 = 0x800000000000
-+	CBitFieldMaskBit17 = 0x400000000000
-+	CBitFieldMaskBit18 = 0x200000000000
-+	CBitFieldMaskBit19 = 0x100000000000
-+	CBitFieldMaskBit20 = 0x80000000000
-+	CBitFieldMaskBit21 = 0x40000000000
-+	CBitFieldMaskBit22 = 0x20000000000
-+	CBitFieldMaskBit23 = 0x10000000000
-+	CBitFieldMaskBit24 = 0x8000000000
-+	CBitFieldMaskBit25 = 0x4000000000
-+	CBitFieldMaskBit26 = 0x2000000000
-+	CBitFieldMaskBit27 = 0x1000000000
-+	CBitFieldMaskBit28 = 0x800000000
-+	CBitFieldMaskBit29 = 0x400000000
-+	CBitFieldMaskBit30 = 0x200000000
-+	CBitFieldMaskBit31 = 0x100000000
-+	CBitFieldMaskBit32 = 0x80000000
-+	CBitFieldMaskBit33 = 0x40000000
-+	CBitFieldMaskBit34 = 0x20000000
-+	CBitFieldMaskBit35 = 0x10000000
-+	CBitFieldMaskBit36 = 0x8000000
-+	CBitFieldMaskBit37 = 0x4000000
-+	CBitFieldMaskBit38 = 0x2000000
-+	CBitFieldMaskBit39 = 0x1000000
-+	CBitFieldMaskBit40 = 0x800000
-+	CBitFieldMaskBit41 = 0x400000
-+	CBitFieldMaskBit42 = 0x200000
-+	CBitFieldMaskBit43 = 0x100000
-+	CBitFieldMaskBit44 = 0x80000
-+	CBitFieldMaskBit45 = 0x40000
-+	CBitFieldMaskBit46 = 0x20000
-+	CBitFieldMaskBit47 = 0x10000
-+	CBitFieldMaskBit48 = 0x8000
-+	CBitFieldMaskBit49 = 0x4000
-+	CBitFieldMaskBit50 = 0x2000
-+	CBitFieldMaskBit51 = 0x1000
-+	CBitFieldMaskBit52 = 0x800
-+	CBitFieldMaskBit53 = 0x400
-+	CBitFieldMaskBit54 = 0x200
-+	CBitFieldMaskBit55 = 0x100
-+	CBitFieldMaskBit56 = 0x80
-+	CBitFieldMaskBit57 = 0x40
-+	CBitFieldMaskBit58 = 0x20
-+	CBitFieldMaskBit59 = 0x10
-+	CBitFieldMaskBit60 = 0x8
-+	CBitFieldMaskBit61 = 0x4
-+	CBitFieldMaskBit62 = 0x2
-+	CBitFieldMaskBit63 = 0x1
-+)
-+
-+type SockaddrStorage struct {
-+	Family uint16
-+	_      [118]uint8
-+	_      uint64
-+}
-+
-+type HDGeometry struct {
-+	Heads     uint8
-+	Sectors   uint8
-+	Cylinders uint16
-+	Start     uint64
-+}
-+
-+type Statfs_t struct {
-+	Type    int64
-+	Bsize   int64
-+	Blocks  uint64
-+	Bfree   uint64
-+	Bavail  uint64
-+	Files   uint64
-+	Ffree   uint64
-+	Fsid    Fsid
-+	Namelen int64
-+	Frsize  int64
-+	Flags   int64
-+	Spare   [4]int64
-+}
-+
-+type TpacketHdr struct {
-+	Status  uint64
-+	Len     uint32
-+	Snaplen uint32
-+	Mac     uint16
-+	Net     uint16
-+	Sec     uint32
-+	Usec    uint32
-+	_       [4]byte
- }
- 
- const (
--	CTRL_CMD_UNSPEC            = 0x0
--	CTRL_CMD_NEWFAMILY         = 0x1
--	CTRL_CMD_DELFAMILY         = 0x2
--	CTRL_CMD_GETFAMILY         = 0x3
--	CTRL_CMD_NEWOPS            = 0x4
--	CTRL_CMD_DELOPS            = 0x5
--	CTRL_CMD_GETOPS            = 0x6
--	CTRL_CMD_NEWMCAST_GRP      = 0x7
--	CTRL_CMD_DELMCAST_GRP      = 0x8
--	CTRL_CMD_GETMCAST_GRP      = 0x9
--	CTRL_ATTR_UNSPEC           = 0x0
--	CTRL_ATTR_FAMILY_ID        = 0x1
--	CTRL_ATTR_FAMILY_NAME      = 0x2
--	CTRL_ATTR_VERSION          = 0x3
--	CTRL_ATTR_HDRSIZE          = 0x4
--	CTRL_ATTR_MAXATTR          = 0x5
--	CTRL_ATTR_OPS              = 0x6
--	CTRL_ATTR_MCAST_GROUPS     = 0x7
--	CTRL_ATTR_OP_UNSPEC        = 0x0
--	CTRL_ATTR_OP_ID            = 0x1
--	CTRL_ATTR_OP_FLAGS         = 0x2
--	CTRL_ATTR_MCAST_GRP_UNSPEC = 0x0
--	CTRL_ATTR_MCAST_GRP_NAME   = 0x1
--	CTRL_ATTR_MCAST_GRP_ID     = 0x2
-+	SizeofTpacketHdr = 0x20
- )
-+
-+type RTCPLLInfo struct {
-+	Ctrl    int32
-+	Value   int32
-+	Max     int32
-+	Min     int32
-+	Posmult int32
-+	Negmult int32
-+	Clock   int64
-+}
-+
-+type BlkpgPartition struct {
-+	Start   int64
-+	Length  int64
-+	Pno     int32
-+	Devname [64]uint8
-+	Volname [64]uint8
-+	_       [4]byte
-+}
-+
-+const (
-+	BLKPG = 0x20001269
-+)
-+
-+type XDPUmemReg struct {
-+	Addr     uint64
-+	Len      uint64
-+	Size     uint32
-+	Headroom uint32
-+	Flags    uint32
-+	_        [4]byte
-+}
-+
-+type CryptoUserAlg struct {
-+	Name        [64]uint8
-+	Driver_name [64]uint8
-+	Module_name [64]uint8
-+	Type        uint32
-+	Mask        uint32
-+	Refcnt      uint32
-+	Flags       uint32
-+}
-+
-+type CryptoStatAEAD struct {
-+	Type         [64]uint8
-+	Encrypt_cnt  uint64
-+	Encrypt_tlen uint64
-+	Decrypt_cnt  uint64
-+	Decrypt_tlen uint64
-+	Err_cnt      uint64
-+}
-+
-+type CryptoStatAKCipher struct {
-+	Type         [64]uint8
-+	Encrypt_cnt  uint64
-+	Encrypt_tlen uint64
-+	Decrypt_cnt  uint64
-+	Decrypt_tlen uint64
-+	Verify_cnt   uint64
-+	Sign_cnt     uint64
-+	Err_cnt      uint64
-+}
-+
-+type CryptoStatCipher struct {
-+	Type         [64]uint8
-+	Encrypt_cnt  uint64
-+	Encrypt_tlen uint64
-+	Decrypt_cnt  uint64
-+	Decrypt_tlen uint64
-+	Err_cnt      uint64
-+}
-+
-+type CryptoStatCompress struct {
-+	Type            [64]uint8
-+	Compress_cnt    uint64
-+	Compress_tlen   uint64
-+	Decompress_cnt  uint64
-+	Decompress_tlen uint64
-+	Err_cnt         uint64
-+}
-+
-+type CryptoStatHash struct {
-+	Type      [64]uint8
-+	Hash_cnt  uint64
-+	Hash_tlen uint64
-+	Err_cnt   uint64
-+}
-+
-+type CryptoStatKPP struct {
-+	Type                      [64]uint8
-+	Setsecret_cnt             uint64
-+	Generate_public_key_cnt   uint64
-+	Compute_shared_secret_cnt uint64
-+	Err_cnt                   uint64
-+}
-+
-+type CryptoStatRNG struct {
-+	Type          [64]uint8
-+	Generate_cnt  uint64
-+	Generate_tlen uint64
-+	Seed_cnt      uint64
-+	Err_cnt       uint64
-+}
-+
-+type CryptoStatLarval struct {
-+	Type [64]uint8
-+}
-+
-+type CryptoReportLarval struct {
-+	Type [64]uint8
-+}
-+
-+type CryptoReportHash struct {
-+	Type       [64]uint8
-+	Blocksize  uint32
-+	Digestsize uint32
-+}
-+
-+type CryptoReportCipher struct {
-+	Type        [64]uint8
-+	Blocksize   uint32
-+	Min_keysize uint32
-+	Max_keysize uint32
-+}
-+
-+type CryptoReportBlkCipher struct {
-+	Type        [64]uint8
-+	Geniv       [64]uint8
-+	Blocksize   uint32
-+	Min_keysize uint32
-+	Max_keysize uint32
-+	Ivsize      uint32
-+}
-+
-+type CryptoReportAEAD struct {
-+	Type        [64]uint8
-+	Geniv       [64]uint8
-+	Blocksize   uint32
-+	Maxauthsize uint32
-+	Ivsize      uint32
-+}
-+
-+type CryptoReportComp struct {
-+	Type [64]uint8
-+}
-+
-+type CryptoReportRNG struct {
-+	Type     [64]uint8
-+	Seedsize uint32
-+}
-+
-+type CryptoReportAKCipher struct {
-+	Type [64]uint8
-+}
-+
-+type CryptoReportKPP struct {
-+	Type [64]uint8
-+}
-+
-+type CryptoReportAcomp struct {
-+	Type [64]uint8
-+}
-+
-+type LoopInfo struct {
-+	Number           int32
-+	Device           uint64
-+	Inode            uint64
-+	Rdevice          uint64
-+	Offset           int32
-+	Encrypt_type     int32
-+	Encrypt_key_size int32
-+	Flags            int32
-+	Name             [64]uint8
-+	Encrypt_key      [32]uint8
-+	Init             [2]uint64
-+	Reserved         [4]uint8
-+	_                [4]byte
-+}
-+
-+type TIPCSubscr struct {
-+	Seq     TIPCServiceRange
-+	Timeout uint32
-+	Filter  uint32
-+	Handle  [8]uint8
-+}
-+
-+type TIPCSIOCLNReq struct {
-+	Peer     uint32
-+	Id       uint32
-+	Linkname [68]uint8
-+}
-+
-+type TIPCSIOCNodeIDReq struct {
-+	Peer uint32
-+	Id   [16]uint8
-+}
-diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go
-index b2b59992..046c2deb 100644
---- a/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go
-+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go
-@@ -6,19 +6,12 @@
- package unix
- 
- const (
--	sizeofPtr      = 0x8
--	sizeofShort    = 0x2
--	sizeofInt      = 0x4
--	sizeofLong     = 0x8
--	sizeofLongLong = 0x8
--	PathMax        = 0x1000
-+	SizeofPtr  = 0x8
-+	SizeofLong = 0x8
- )
- 
- type (
--	_C_short     int16
--	_C_int       int32
--	_C_long      int64
--	_C_long_long int64
-+	_C_long int64
- )
- 
- type Timespec struct {
-@@ -33,13 +26,11 @@ type Timeval struct {
- 
- type Timex struct {
- 	Modes     uint32
--	Pad_cgo_0 [4]byte
- 	Offset    int64
- 	Freq      int64
- 	Maxerror  int64
- 	Esterror  int64
- 	Status    int32
--	Pad_cgo_1 [4]byte
- 	Constant  int64
- 	Precision int64
- 	Tolerance int64
-@@ -48,14 +39,13 @@ type Timex struct {
- 	Ppsfreq   int64
- 	Jitter    int64
- 	Shift     int32
--	Pad_cgo_2 [4]byte
- 	Stabil    int64
- 	Jitcnt    int64
- 	Calcnt    int64
- 	Errcnt    int64
- 	Stbcnt    int64
- 	Tai       int32
--	Pad_cgo_3 [44]byte
-+	_         [44]byte
- }
- 
- type Time_t int64
-@@ -91,13 +81,6 @@ type Rusage struct {
- 	Nivcsw   int64
- }
- 
--type Rlimit struct {
--	Cur uint64
--	Max uint64
--}
--
--type _Gid_t uint32
--
- type Stat_t struct {
- 	Dev     uint64
- 	Ino     uint64
-@@ -105,7 +88,7 @@ type Stat_t struct {
- 	Mode    uint32
- 	Uid     uint32
- 	Gid     uint32
--	X__pad2 int32
-+	_       int32
- 	Rdev    uint64
- 	Size    int64
- 	Blksize int64
-@@ -118,139 +101,29 @@ type Stat_t struct {
- 	_       uint64
- }
- 
--type Statfs_t struct {
--	Type    int64
--	Bsize   int64
--	Blocks  uint64
--	Bfree   uint64
--	Bavail  uint64
--	Files   uint64
--	Ffree   uint64
--	Fsid    Fsid
--	Namelen int64
--	Frsize  int64
--	Flags   int64
--	Spare   [4]int64
--}
--
- type Dirent struct {
--	Ino       uint64
--	Off       int64
--	Reclen    uint16
--	Type      uint8
--	Name      [256]uint8
--	Pad_cgo_0 [5]byte
--}
--
--type Fsid struct {
--	X__val [2]int32
-+	Ino    uint64
-+	Off    int64
-+	Reclen uint16
-+	Type   uint8
-+	Name   [256]uint8
-+	_      [5]byte
- }
- 
- type Flock_t struct {
--	Type      int16
--	Whence    int16
--	Pad_cgo_0 [4]byte
--	Start     int64
--	Len       int64
--	Pid       int32
--	Pad_cgo_1 [4]byte
--}
--
--type FscryptPolicy struct {
--	Version                   uint8
--	Contents_encryption_mode  uint8
--	Filenames_encryption_mode uint8
--	Flags                     uint8
--	Master_key_descriptor     [8]uint8
--}
--
--type FscryptKey struct {
--	Mode uint32
--	Raw  [64]uint8
--	Size uint32
--}
--
--type KeyctlDHParams struct {
--	Private int32
--	Prime   int32
--	Base    int32
-+	Type   int16
-+	Whence int16
-+	Start  int64
-+	Len    int64
-+	Pid    int32
-+	_      [4]byte
- }
- 
- const (
--	FADV_NORMAL     = 0x0
--	FADV_RANDOM     = 0x1
--	FADV_SEQUENTIAL = 0x2
--	FADV_WILLNEED   = 0x3
--	FADV_DONTNEED   = 0x4
--	FADV_NOREUSE    = 0x5
-+	FADV_DONTNEED = 0x4
-+	FADV_NOREUSE  = 0x5
- )
- 
--type RawSockaddrInet4 struct {
--	Family uint16
--	Port   uint16
--	Addr   [4]byte /* in_addr */
--	Zero   [8]uint8
--}
--
--type RawSockaddrInet6 struct {
--	Family   uint16
--	Port     uint16
--	Flowinfo uint32
--	Addr     [16]byte /* in6_addr */
--	Scope_id uint32
--}
--
--type RawSockaddrUnix struct {
--	Family uint16
--	Path   [108]int8
--}
--
--type RawSockaddrLinklayer struct {
--	Family   uint16
--	Protocol uint16
--	Ifindex  int32
--	Hatype   uint16
--	Pkttype  uint8
--	Halen    uint8
--	Addr     [8]uint8
--}
--
--type RawSockaddrNetlink struct {
--	Family uint16
--	Pad    uint16
--	Pid    uint32
--	Groups uint32
--}
--
--type RawSockaddrHCI struct {
--	Family  uint16
--	Dev     uint16
--	Channel uint16
--}
--
--type RawSockaddrCAN struct {
--	Family    uint16
--	Pad_cgo_0 [2]byte
--	Ifindex   int32
--	Addr      [8]byte
--}
--
--type RawSockaddrALG struct {
--	Family uint16
--	Type   [14]uint8
--	Feat   uint32
--	Mask   uint32
--	Name   [64]uint8
--}
--
--type RawSockaddrVM struct {
--	Family    uint16
--	Reserved1 uint16
--	Port      uint32
--	Cid       uint32
--	Zero      [4]uint8
--}
--
- type RawSockaddr struct {
- 	Family uint16
- 	Data   [14]uint8
-@@ -261,51 +134,20 @@ type RawSockaddrAny struct {
- 	Pad  [96]uint8
- }
- 
--type _Socklen uint32
--
--type Linger struct {
--	Onoff  int32
--	Linger int32
--}
--
- type Iovec struct {
- 	Base *byte
- 	Len  uint64
- }
- 
--type IPMreq struct {
--	Multiaddr [4]byte /* in_addr */
--	Interface [4]byte /* in_addr */
--}
--
--type IPMreqn struct {
--	Multiaddr [4]byte /* in_addr */
--	Address   [4]byte /* in_addr */
--	Ifindex   int32
--}
--
--type IPv6Mreq struct {
--	Multiaddr [16]byte /* in6_addr */
--	Interface uint32
--}
--
--type PacketMreq struct {
--	Ifindex int32
--	Type    uint16
--	Alen    uint16
--	Address [8]uint8
--}
--
- type Msghdr struct {
- 	Name       *byte
- 	Namelen    uint32
--	Pad_cgo_0  [4]byte
- 	Iov        *Iovec
- 	Iovlen     uint64
- 	Control    *byte
- 	Controllen uint64
- 	Flags      int32
--	Pad_cgo_1  [4]byte
-+	_          [4]byte
- }
- 
- type Cmsghdr struct {
-@@ -314,277 +156,16 @@ type Cmsghdr struct {
- 	Type  int32
- }
- 
--type Inet4Pktinfo struct {
--	Ifindex  int32
--	Spec_dst [4]byte /* in_addr */
--	Addr     [4]byte /* in_addr */
--}
--
--type Inet6Pktinfo struct {
--	Addr    [16]byte /* in6_addr */
--	Ifindex uint32
--}
--
--type IPv6MTUInfo struct {
--	Addr RawSockaddrInet6
--	Mtu  uint32
--}
--
--type ICMPv6Filter struct {
--	Data [8]uint32
--}
--
--type Ucred struct {
--	Pid int32
--	Uid uint32
--	Gid uint32
--}
--
--type TCPInfo struct {
--	State          uint8
--	Ca_state       uint8
--	Retransmits    uint8
--	Probes         uint8
--	Backoff        uint8
--	Options        uint8
--	Pad_cgo_0      [2]byte
--	Rto            uint32
--	Ato            uint32
--	Snd_mss        uint32
--	Rcv_mss        uint32
--	Unacked        uint32
--	Sacked         uint32
--	Lost           uint32
--	Retrans        uint32
--	Fackets        uint32
--	Last_data_sent uint32
--	Last_ack_sent  uint32
--	Last_data_recv uint32
--	Last_ack_recv  uint32
--	Pmtu           uint32
--	Rcv_ssthresh   uint32
--	Rtt            uint32
--	Rttvar         uint32
--	Snd_ssthresh   uint32
--	Snd_cwnd       uint32
--	Advmss         uint32
--	Reordering     uint32
--	Rcv_rtt        uint32
--	Rcv_space      uint32
--	Total_retrans  uint32
--}
--
- const (
--	SizeofSockaddrInet4     = 0x10
--	SizeofSockaddrInet6     = 0x1c
--	SizeofSockaddrAny       = 0x70
--	SizeofSockaddrUnix      = 0x6e
--	SizeofSockaddrLinklayer = 0x14
--	SizeofSockaddrNetlink   = 0xc
--	SizeofSockaddrHCI       = 0x6
--	SizeofSockaddrCAN       = 0x10
--	SizeofSockaddrALG       = 0x58
--	SizeofSockaddrVM        = 0x10
--	SizeofLinger            = 0x8
--	SizeofIovec             = 0x10
--	SizeofIPMreq            = 0x8
--	SizeofIPMreqn           = 0xc
--	SizeofIPv6Mreq          = 0x14
--	SizeofPacketMreq        = 0x10
--	SizeofMsghdr            = 0x38
--	SizeofCmsghdr           = 0x10
--	SizeofInet4Pktinfo      = 0xc
--	SizeofInet6Pktinfo      = 0x14
--	SizeofIPv6MTUInfo       = 0x20
--	SizeofICMPv6Filter      = 0x20
--	SizeofUcred             = 0xc
--	SizeofTCPInfo           = 0x68
-+	SizeofIovec   = 0x10
-+	SizeofMsghdr  = 0x38
-+	SizeofCmsghdr = 0x10
- )
- 
- const (
--	IFA_UNSPEC          = 0x0
--	IFA_ADDRESS         = 0x1
--	IFA_LOCAL           = 0x2
--	IFA_LABEL           = 0x3
--	IFA_BROADCAST       = 0x4
--	IFA_ANYCAST         = 0x5
--	IFA_CACHEINFO       = 0x6
--	IFA_MULTICAST       = 0x7
--	IFLA_UNSPEC         = 0x0
--	IFLA_ADDRESS        = 0x1
--	IFLA_BROADCAST      = 0x2
--	IFLA_IFNAME         = 0x3
--	IFLA_MTU            = 0x4
--	IFLA_LINK           = 0x5
--	IFLA_QDISC          = 0x6
--	IFLA_STATS          = 0x7
--	IFLA_COST           = 0x8
--	IFLA_PRIORITY       = 0x9
--	IFLA_MASTER         = 0xa
--	IFLA_WIRELESS       = 0xb
--	IFLA_PROTINFO       = 0xc
--	IFLA_TXQLEN         = 0xd
--	IFLA_MAP            = 0xe
--	IFLA_WEIGHT         = 0xf
--	IFLA_OPERSTATE      = 0x10
--	IFLA_LINKMODE       = 0x11
--	IFLA_LINKINFO       = 0x12
--	IFLA_NET_NS_PID     = 0x13
--	IFLA_IFALIAS        = 0x14
--	IFLA_MAX            = 0x2b
--	RT_SCOPE_UNIVERSE   = 0x0
--	RT_SCOPE_SITE       = 0xc8
--	RT_SCOPE_LINK       = 0xfd
--	RT_SCOPE_HOST       = 0xfe
--	RT_SCOPE_NOWHERE    = 0xff
--	RT_TABLE_UNSPEC     = 0x0
--	RT_TABLE_COMPAT     = 0xfc
--	RT_TABLE_DEFAULT    = 0xfd
--	RT_TABLE_MAIN       = 0xfe
--	RT_TABLE_LOCAL      = 0xff
--	RT_TABLE_MAX        = 0xffffffff
--	RTA_UNSPEC          = 0x0
--	RTA_DST             = 0x1
--	RTA_SRC             = 0x2
--	RTA_IIF             = 0x3
--	RTA_OIF             = 0x4
--	RTA_GATEWAY         = 0x5
--	RTA_PRIORITY        = 0x6
--	RTA_PREFSRC         = 0x7
--	RTA_METRICS         = 0x8
--	RTA_MULTIPATH       = 0x9
--	RTA_FLOW            = 0xb
--	RTA_CACHEINFO       = 0xc
--	RTA_TABLE           = 0xf
--	RTN_UNSPEC          = 0x0
--	RTN_UNICAST         = 0x1
--	RTN_LOCAL           = 0x2
--	RTN_BROADCAST       = 0x3
--	RTN_ANYCAST         = 0x4
--	RTN_MULTICAST       = 0x5
--	RTN_BLACKHOLE       = 0x6
--	RTN_UNREACHABLE     = 0x7
--	RTN_PROHIBIT        = 0x8
--	RTN_THROW           = 0x9
--	RTN_NAT             = 0xa
--	RTN_XRESOLVE        = 0xb
--	RTNLGRP_NONE        = 0x0
--	RTNLGRP_LINK        = 0x1
--	RTNLGRP_NOTIFY      = 0x2
--	RTNLGRP_NEIGH       = 0x3
--	RTNLGRP_TC          = 0x4
--	RTNLGRP_IPV4_IFADDR = 0x5
--	RTNLGRP_IPV4_MROUTE = 0x6
--	RTNLGRP_IPV4_ROUTE  = 0x7
--	RTNLGRP_IPV4_RULE   = 0x8
--	RTNLGRP_IPV6_IFADDR = 0x9
--	RTNLGRP_IPV6_MROUTE = 0xa
--	RTNLGRP_IPV6_ROUTE  = 0xb
--	RTNLGRP_IPV6_IFINFO = 0xc
--	RTNLGRP_IPV6_PREFIX = 0x12
--	RTNLGRP_IPV6_RULE   = 0x13
--	RTNLGRP_ND_USEROPT  = 0x14
--	SizeofNlMsghdr      = 0x10
--	SizeofNlMsgerr      = 0x14
--	SizeofRtGenmsg      = 0x1
--	SizeofNlAttr        = 0x4
--	SizeofRtAttr        = 0x4
--	SizeofIfInfomsg     = 0x10
--	SizeofIfAddrmsg     = 0x8
--	SizeofRtMsg         = 0xc
--	SizeofRtNexthop     = 0x8
-+	SizeofSockFprog = 0x10
- )
- 
--type NlMsghdr struct {
--	Len   uint32
--	Type  uint16
--	Flags uint16
--	Seq   uint32
--	Pid   uint32
--}
--
--type NlMsgerr struct {
--	Error int32
--	Msg   NlMsghdr
--}
--
--type RtGenmsg struct {
--	Family uint8
--}
--
--type NlAttr struct {
--	Len  uint16
--	Type uint16
--}
--
--type RtAttr struct {
--	Len  uint16
--	Type uint16
--}
--
--type IfInfomsg struct {
--	Family     uint8
--	X__ifi_pad uint8
--	Type       uint16
--	Index      int32
--	Flags      uint32
--	Change     uint32
--}
--
--type IfAddrmsg struct {
--	Family    uint8
--	Prefixlen uint8
--	Flags     uint8
--	Scope     uint8
--	Index     uint32
--}
--
--type RtMsg struct {
--	Family   uint8
--	Dst_len  uint8
--	Src_len  uint8
--	Tos      uint8
--	Table    uint8
--	Protocol uint8
--	Scope    uint8
--	Type     uint8
--	Flags    uint32
--}
--
--type RtNexthop struct {
--	Len     uint16
--	Flags   uint8
--	Hops    uint8
--	Ifindex int32
--}
--
--const (
--	SizeofSockFilter = 0x8
--	SizeofSockFprog  = 0x10
--)
--
--type SockFilter struct {
--	Code uint16
--	Jt   uint8
--	Jf   uint8
--	K    uint32
--}
--
--type SockFprog struct {
--	Len       uint16
--	Pad_cgo_0 [6]byte
--	Filter    *SockFilter
--}
--
--type InotifyEvent struct {
--	Wd     int32
--	Mask   uint32
--	Cookie uint32
--	Len    uint32
--}
--
--const SizeofInotifyEvent = 0x10
--
- type PtraceRegs struct {
- 	Gpr       [32]uint64
- 	Nip       uint64
-@@ -616,71 +197,37 @@ type Sysinfo_t struct {
- 	Freeswap  uint64
- 	Procs     uint16
- 	Pad       uint16
--	Pad_cgo_0 [4]byte
- 	Totalhigh uint64
- 	Freehigh  uint64
- 	Unit      uint32
--	X_f       [0]uint8
--	Pad_cgo_1 [4]byte
--}
--
--type Utsname struct {
--	Sysname    [65]uint8
--	Nodename   [65]uint8
--	Release    [65]uint8
--	Version    [65]uint8
--	Machine    [65]uint8
--	Domainname [65]uint8
-+	_         [0]uint8
-+	_         [4]byte
- }
- 
- type Ustat_t struct {
--	Tfree     int32
--	Pad_cgo_0 [4]byte
--	Tinode    uint64
--	Fname     [6]uint8
--	Fpack     [6]uint8
--	Pad_cgo_1 [4]byte
-+	Tfree  int32
-+	Tinode uint64
-+	Fname  [6]uint8
-+	Fpack  [6]uint8
-+	_      [4]byte
- }
- 
- type EpollEvent struct {
--	Events  uint32
--	X_padFd int32
--	Fd      int32
--	Pad     int32
--}
--
--const (
--	AT_FDCWD            = -0x64
--	AT_REMOVEDIR        = 0x200
--	AT_SYMLINK_FOLLOW   = 0x400
--	AT_SYMLINK_NOFOLLOW = 0x100
--)
--
--type PollFd struct {
--	Fd      int32
--	Events  int16
--	Revents int16
-+	Events uint32
-+	_      int32
-+	Fd     int32
-+	Pad    int32
- }
- 
- const (
--	POLLIN    = 0x1
--	POLLPRI   = 0x2
--	POLLOUT   = 0x4
- 	POLLRDHUP = 0x2000
--	POLLERR   = 0x8
--	POLLHUP   = 0x10
--	POLLNVAL  = 0x20
- )
- 
- type Sigset_t struct {
--	X__val [16]uint64
-+	Val [16]uint64
- }
- 
--const RNDGETENTCNT = 0x40045200
--
--const PERF_IOC_FLAG_GROUP = 0x1
--
--const _SC_PAGESIZE = 0x1e
-+const _C__NSIG = 0x41
- 
- type Termios struct {
- 	Iflag  uint32
-@@ -693,20 +240,11 @@ type Termios struct {
- 	Ospeed uint32
- }
- 
--type Winsize struct {
--	Row    uint16
--	Col    uint16
--	Xpixel uint16
--	Ypixel uint16
--}
--
- type Taskstats struct {
- 	Version                   uint16
--	Pad_cgo_0                 [2]byte
- 	Ac_exitcode               uint32
- 	Ac_flag                   uint8
- 	Ac_nice                   uint8
--	Pad_cgo_1                 [6]byte
- 	Cpu_count                 uint64
- 	Cpu_delay_total           uint64
- 	Blkio_count               uint64
-@@ -718,13 +256,12 @@ type Taskstats struct {
- 	Ac_comm                   [32]uint8
- 	Ac_sched                  uint8
- 	Ac_pad                    [3]uint8
--	Pad_cgo_2                 [4]byte
-+	_                         [4]byte
- 	Ac_uid                    uint32
- 	Ac_gid                    uint32
- 	Ac_pid                    uint32
- 	Ac_ppid                   uint32
- 	Ac_btime                  uint32
--	Pad_cgo_3                 [4]byte
- 	Ac_etime                  uint64
- 	Ac_utime                  uint64
- 	Ac_stime                  uint64
-@@ -748,55 +285,319 @@ type Taskstats struct {
- 	Cpu_scaled_run_real_total uint64
- 	Freepages_count           uint64
- 	Freepages_delay_total     uint64
-+	Thrashing_count           uint64
-+	Thrashing_delay_total     uint64
-+	Ac_btime64                uint64
- }
- 
-+type cpuMask uint64
-+
- const (
--	TASKSTATS_CMD_UNSPEC                  = 0x0
--	TASKSTATS_CMD_GET                     = 0x1
--	TASKSTATS_CMD_NEW                     = 0x2
--	TASKSTATS_TYPE_UNSPEC                 = 0x0
--	TASKSTATS_TYPE_PID                    = 0x1
--	TASKSTATS_TYPE_TGID                   = 0x2
--	TASKSTATS_TYPE_STATS                  = 0x3
--	TASKSTATS_TYPE_AGGR_PID               = 0x4
--	TASKSTATS_TYPE_AGGR_TGID              = 0x5
--	TASKSTATS_TYPE_NULL                   = 0x6
--	TASKSTATS_CMD_ATTR_UNSPEC             = 0x0
--	TASKSTATS_CMD_ATTR_PID                = 0x1
--	TASKSTATS_CMD_ATTR_TGID               = 0x2
--	TASKSTATS_CMD_ATTR_REGISTER_CPUMASK   = 0x3
--	TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4
-+	_NCPUBITS = 0x40
- )
- 
--type Genlmsghdr struct {
--	Cmd      uint8
--	Version  uint8
--	Reserved uint16
-+const (
-+	CBitFieldMaskBit0  = 0x1
-+	CBitFieldMaskBit1  = 0x2
-+	CBitFieldMaskBit2  = 0x4
-+	CBitFieldMaskBit3  = 0x8
-+	CBitFieldMaskBit4  = 0x10
-+	CBitFieldMaskBit5  = 0x20
-+	CBitFieldMaskBit6  = 0x40
-+	CBitFieldMaskBit7  = 0x80
-+	CBitFieldMaskBit8  = 0x100
-+	CBitFieldMaskBit9  = 0x200
-+	CBitFieldMaskBit10 = 0x400
-+	CBitFieldMaskBit11 = 0x800
-+	CBitFieldMaskBit12 = 0x1000
-+	CBitFieldMaskBit13 = 0x2000
-+	CBitFieldMaskBit14 = 0x4000
-+	CBitFieldMaskBit15 = 0x8000
-+	CBitFieldMaskBit16 = 0x10000
-+	CBitFieldMaskBit17 = 0x20000
-+	CBitFieldMaskBit18 = 0x40000
-+	CBitFieldMaskBit19 = 0x80000
-+	CBitFieldMaskBit20 = 0x100000
-+	CBitFieldMaskBit21 = 0x200000
-+	CBitFieldMaskBit22 = 0x400000
-+	CBitFieldMaskBit23 = 0x800000
-+	CBitFieldMaskBit24 = 0x1000000
-+	CBitFieldMaskBit25 = 0x2000000
-+	CBitFieldMaskBit26 = 0x4000000
-+	CBitFieldMaskBit27 = 0x8000000
-+	CBitFieldMaskBit28 = 0x10000000
-+	CBitFieldMaskBit29 = 0x20000000
-+	CBitFieldMaskBit30 = 0x40000000
-+	CBitFieldMaskBit31 = 0x80000000
-+	CBitFieldMaskBit32 = 0x100000000
-+	CBitFieldMaskBit33 = 0x200000000
-+	CBitFieldMaskBit34 = 0x400000000
-+	CBitFieldMaskBit35 = 0x800000000
-+	CBitFieldMaskBit36 = 0x1000000000
-+	CBitFieldMaskBit37 = 0x2000000000
-+	CBitFieldMaskBit38 = 0x4000000000
-+	CBitFieldMaskBit39 = 0x8000000000
-+	CBitFieldMaskBit40 = 0x10000000000
-+	CBitFieldMaskBit41 = 0x20000000000
-+	CBitFieldMaskBit42 = 0x40000000000
-+	CBitFieldMaskBit43 = 0x80000000000
-+	CBitFieldMaskBit44 = 0x100000000000
-+	CBitFieldMaskBit45 = 0x200000000000
-+	CBitFieldMaskBit46 = 0x400000000000
-+	CBitFieldMaskBit47 = 0x800000000000
-+	CBitFieldMaskBit48 = 0x1000000000000
-+	CBitFieldMaskBit49 = 0x2000000000000
-+	CBitFieldMaskBit50 = 0x4000000000000
-+	CBitFieldMaskBit51 = 0x8000000000000
-+	CBitFieldMaskBit52 = 0x10000000000000
-+	CBitFieldMaskBit53 = 0x20000000000000
-+	CBitFieldMaskBit54 = 0x40000000000000
-+	CBitFieldMaskBit55 = 0x80000000000000
-+	CBitFieldMaskBit56 = 0x100000000000000
-+	CBitFieldMaskBit57 = 0x200000000000000
-+	CBitFieldMaskBit58 = 0x400000000000000
-+	CBitFieldMaskBit59 = 0x800000000000000
-+	CBitFieldMaskBit60 = 0x1000000000000000
-+	CBitFieldMaskBit61 = 0x2000000000000000
-+	CBitFieldMaskBit62 = 0x4000000000000000
-+	CBitFieldMaskBit63 = 0x8000000000000000
-+)
-+
-+type SockaddrStorage struct {
-+	Family uint16
-+	_      [118]uint8
-+	_      uint64
-+}
-+
-+type HDGeometry struct {
-+	Heads     uint8
-+	Sectors   uint8
-+	Cylinders uint16
-+	Start     uint64
-+}
-+
-+type Statfs_t struct {
-+	Type    int64
-+	Bsize   int64
-+	Blocks  uint64
-+	Bfree   uint64
-+	Bavail  uint64
-+	Files   uint64
-+	Ffree   uint64
-+	Fsid    Fsid
-+	Namelen int64
-+	Frsize  int64
-+	Flags   int64
-+	Spare   [4]int64
-+}
-+
-+type TpacketHdr struct {
-+	Status  uint64
-+	Len     uint32
-+	Snaplen uint32
-+	Mac     uint16
-+	Net     uint16
-+	Sec     uint32
-+	Usec    uint32
-+	_       [4]byte
- }
- 
- const (
--	CTRL_CMD_UNSPEC            = 0x0
--	CTRL_CMD_NEWFAMILY         = 0x1
--	CTRL_CMD_DELFAMILY         = 0x2
--	CTRL_CMD_GETFAMILY         = 0x3
--	CTRL_CMD_NEWOPS            = 0x4
--	CTRL_CMD_DELOPS            = 0x5
--	CTRL_CMD_GETOPS            = 0x6
--	CTRL_CMD_NEWMCAST_GRP      = 0x7
--	CTRL_CMD_DELMCAST_GRP      = 0x8
--	CTRL_CMD_GETMCAST_GRP      = 0x9
--	CTRL_ATTR_UNSPEC           = 0x0
--	CTRL_ATTR_FAMILY_ID        = 0x1
--	CTRL_ATTR_FAMILY_NAME      = 0x2
--	CTRL_ATTR_VERSION          = 0x3
--	CTRL_ATTR_HDRSIZE          = 0x4
--	CTRL_ATTR_MAXATTR          = 0x5
--	CTRL_ATTR_OPS              = 0x6
--	CTRL_ATTR_MCAST_GROUPS     = 0x7
--	CTRL_ATTR_OP_UNSPEC        = 0x0
--	CTRL_ATTR_OP_ID            = 0x1
--	CTRL_ATTR_OP_FLAGS         = 0x2
--	CTRL_ATTR_MCAST_GRP_UNSPEC = 0x0
--	CTRL_ATTR_MCAST_GRP_NAME   = 0x1
--	CTRL_ATTR_MCAST_GRP_ID     = 0x2
-+	SizeofTpacketHdr = 0x20
- )
-+
-+type RTCPLLInfo struct {
-+	Ctrl    int32
-+	Value   int32
-+	Max     int32
-+	Min     int32
-+	Posmult int32
-+	Negmult int32
-+	Clock   int64
-+}
-+
-+type BlkpgPartition struct {
-+	Start   int64
-+	Length  int64
-+	Pno     int32
-+	Devname [64]uint8
-+	Volname [64]uint8
-+	_       [4]byte
-+}
-+
-+const (
-+	BLKPG = 0x20001269
-+)
-+
-+type XDPUmemReg struct {
-+	Addr     uint64
-+	Len      uint64
-+	Size     uint32
-+	Headroom uint32
-+	Flags    uint32
-+	_        [4]byte
-+}
-+
-+type CryptoUserAlg struct {
-+	Name        [64]uint8
-+	Driver_name [64]uint8
-+	Module_name [64]uint8
-+	Type        uint32
-+	Mask        uint32
-+	Refcnt      uint32
-+	Flags       uint32
-+}
-+
-+type CryptoStatAEAD struct {
-+	Type         [64]uint8
-+	Encrypt_cnt  uint64
-+	Encrypt_tlen uint64
-+	Decrypt_cnt  uint64
-+	Decrypt_tlen uint64
-+	Err_cnt      uint64
-+}
-+
-+type CryptoStatAKCipher struct {
-+	Type         [64]uint8
-+	Encrypt_cnt  uint64
-+	Encrypt_tlen uint64
-+	Decrypt_cnt  uint64
-+	Decrypt_tlen uint64
-+	Verify_cnt   uint64
-+	Sign_cnt     uint64
-+	Err_cnt      uint64
-+}
-+
-+type CryptoStatCipher struct {
-+	Type         [64]uint8
-+	Encrypt_cnt  uint64
-+	Encrypt_tlen uint64
-+	Decrypt_cnt  uint64
-+	Decrypt_tlen uint64
-+	Err_cnt      uint64
-+}
-+
-+type CryptoStatCompress struct {
-+	Type            [64]uint8
-+	Compress_cnt    uint64
-+	Compress_tlen   uint64
-+	Decompress_cnt  uint64
-+	Decompress_tlen uint64
-+	Err_cnt         uint64
-+}
-+
-+type CryptoStatHash struct {
-+	Type      [64]uint8
-+	Hash_cnt  uint64
-+	Hash_tlen uint64
-+	Err_cnt   uint64
-+}
-+
-+type CryptoStatKPP struct {
-+	Type                      [64]uint8
-+	Setsecret_cnt             uint64
-+	Generate_public_key_cnt   uint64
-+	Compute_shared_secret_cnt uint64
-+	Err_cnt                   uint64
-+}
-+
-+type CryptoStatRNG struct {
-+	Type          [64]uint8
-+	Generate_cnt  uint64
-+	Generate_tlen uint64
-+	Seed_cnt      uint64
-+	Err_cnt       uint64
-+}
-+
-+type CryptoStatLarval struct {
-+	Type [64]uint8
-+}
-+
-+type CryptoReportLarval struct {
-+	Type [64]uint8
-+}
-+
-+type CryptoReportHash struct {
-+	Type       [64]uint8
-+	Blocksize  uint32
-+	Digestsize uint32
-+}
-+
-+type CryptoReportCipher struct {
-+	Type        [64]uint8
-+	Blocksize   uint32
-+	Min_keysize uint32
-+	Max_keysize uint32
-+}
-+
-+type CryptoReportBlkCipher struct {
-+	Type        [64]uint8
-+	Geniv       [64]uint8
-+	Blocksize   uint32
-+	Min_keysize uint32
-+	Max_keysize uint32
-+	Ivsize      uint32
-+}
-+
-+type CryptoReportAEAD struct {
-+	Type        [64]uint8
-+	Geniv       [64]uint8
-+	Blocksize   uint32
-+	Maxauthsize uint32
-+	Ivsize      uint32
-+}
-+
-+type CryptoReportComp struct {
-+	Type [64]uint8
-+}
-+
-+type CryptoReportRNG struct {
-+	Type     [64]uint8
-+	Seedsize uint32
-+}
-+
-+type CryptoReportAKCipher struct {
-+	Type [64]uint8
-+}
-+
-+type CryptoReportKPP struct {
-+	Type [64]uint8
-+}
-+
-+type CryptoReportAcomp struct {
-+	Type [64]uint8
-+}
-+
-+type LoopInfo struct {
-+	Number           int32
-+	Device           uint64
-+	Inode            uint64
-+	Rdevice          uint64
-+	Offset           int32
-+	Encrypt_type     int32
-+	Encrypt_key_size int32
-+	Flags            int32
-+	Name             [64]uint8
-+	Encrypt_key      [32]uint8
-+	Init             [2]uint64
-+	Reserved         [4]uint8
-+	_                [4]byte
-+}
-+
-+type TIPCSubscr struct {
-+	Seq     TIPCServiceRange
-+	Timeout uint32
-+	Filter  uint32
-+	Handle  [8]uint8
-+}
-+
-+type TIPCSIOCLNReq struct {
-+	Peer     uint32
-+	Id       uint32
-+	Linkname [68]uint8
-+}
-+
-+type TIPCSIOCNodeIDReq struct {
-+	Peer uint32
-+	Id   [16]uint8
-+}
-diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go
-new file mode 100644
-index 00000000..0f2f61a6
---- /dev/null
-+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go
-@@ -0,0 +1,621 @@
-+// cgo -godefs -- -Wall -Werror -static -I/tmp/include linux/types.go | go run mkpost.go
-+// Code generated by the command above; see README.md. DO NOT EDIT.
-+
-+// +build riscv64,linux
-+
-+package unix
-+
-+const (
-+	SizeofPtr  = 0x8
-+	SizeofLong = 0x8
-+)
-+
-+type (
-+	_C_long int64
-+)
-+
-+type Timespec struct {
-+	Sec  int64
-+	Nsec int64
-+}
-+
-+type Timeval struct {
-+	Sec  int64
-+	Usec int64
-+}
-+
-+type Timex struct {
-+	Modes     uint32
-+	Offset    int64
-+	Freq      int64
-+	Maxerror  int64
-+	Esterror  int64
-+	Status    int32
-+	Constant  int64
-+	Precision int64
-+	Tolerance int64
-+	Time      Timeval
-+	Tick      int64
-+	Ppsfreq   int64
-+	Jitter    int64
-+	Shift     int32
-+	Stabil    int64
-+	Jitcnt    int64
-+	Calcnt    int64
-+	Errcnt    int64
-+	Stbcnt    int64
-+	Tai       int32
-+	_         [44]byte
-+}
-+
-+type Time_t int64
-+
-+type Tms struct {
-+	Utime  int64
-+	Stime  int64
-+	Cutime int64
-+	Cstime int64
-+}
-+
-+type Utimbuf struct {
-+	Actime  int64
-+	Modtime int64
-+}
-+
-+type Rusage struct {
-+	Utime    Timeval
-+	Stime    Timeval
-+	Maxrss   int64
-+	Ixrss    int64
-+	Idrss    int64
-+	Isrss    int64
-+	Minflt   int64
-+	Majflt   int64
-+	Nswap    int64
-+	Inblock  int64
-+	Oublock  int64
-+	Msgsnd   int64
-+	Msgrcv   int64
-+	Nsignals int64
-+	Nvcsw    int64
-+	Nivcsw   int64
-+}
-+
-+type Stat_t struct {
-+	Dev     uint64
-+	Ino     uint64
-+	Mode    uint32
-+	Nlink   uint32
-+	Uid     uint32
-+	Gid     uint32
-+	Rdev    uint64
-+	_       uint64
-+	Size    int64
-+	Blksize int32
-+	_       int32
-+	Blocks  int64
-+	Atim    Timespec
-+	Mtim    Timespec
-+	Ctim    Timespec
-+	_       [2]int32
-+}
-+
-+type Dirent struct {
-+	Ino    uint64
-+	Off    int64
-+	Reclen uint16
-+	Type   uint8
-+	Name   [256]uint8
-+	_      [5]byte
-+}
-+
-+type Flock_t struct {
-+	Type   int16
-+	Whence int16
-+	Start  int64
-+	Len    int64
-+	Pid    int32
-+	_      [4]byte
-+}
-+
-+const (
-+	FADV_DONTNEED = 0x4
-+	FADV_NOREUSE  = 0x5
-+)
-+
-+type RawSockaddr struct {
-+	Family uint16
-+	Data   [14]uint8
-+}
-+
-+type RawSockaddrAny struct {
-+	Addr RawSockaddr
-+	Pad  [96]uint8
-+}
-+
-+type Iovec struct {
-+	Base *byte
-+	Len  uint64
-+}
-+
-+type Msghdr struct {
-+	Name       *byte
-+	Namelen    uint32
-+	Iov        *Iovec
-+	Iovlen     uint64
-+	Control    *byte
-+	Controllen uint64
-+	Flags      int32
-+	_          [4]byte
-+}
-+
-+type Cmsghdr struct {
-+	Len   uint64
-+	Level int32
-+	Type  int32
-+}
-+
-+const (
-+	SizeofIovec   = 0x10
-+	SizeofMsghdr  = 0x38
-+	SizeofCmsghdr = 0x10
-+)
-+
-+const (
-+	SizeofSockFprog = 0x10
-+)
-+
-+type PtraceRegs struct {
-+	Pc  uint64
-+	Ra  uint64
-+	Sp  uint64
-+	Gp  uint64
-+	Tp  uint64
-+	T0  uint64
-+	T1  uint64
-+	T2  uint64
-+	S0  uint64
-+	S1  uint64
-+	A0  uint64
-+	A1  uint64
-+	A2  uint64
-+	A3  uint64
-+	A4  uint64
-+	A5  uint64
-+	A6  uint64
-+	A7  uint64
-+	S2  uint64
-+	S3  uint64
-+	S4  uint64
-+	S5  uint64
-+	S6  uint64
-+	S7  uint64
-+	S8  uint64
-+	S9  uint64
-+	S10 uint64
-+	S11 uint64
-+	T3  uint64
-+	T4  uint64
-+	T5  uint64
-+	T6  uint64
-+}
-+
-+type FdSet struct {
-+	Bits [16]int64
-+}
-+
-+type Sysinfo_t struct {
-+	Uptime    int64
-+	Loads     [3]uint64
-+	Totalram  uint64
-+	Freeram   uint64
-+	Sharedram uint64
-+	Bufferram uint64
-+	Totalswap uint64
-+	Freeswap  uint64
-+	Procs     uint16
-+	Pad       uint16
-+	Totalhigh uint64
-+	Freehigh  uint64
-+	Unit      uint32
-+	_         [0]uint8
-+	_         [4]byte
-+}
-+
-+type Ustat_t struct {
-+	Tfree  int32
-+	Tinode uint64
-+	Fname  [6]uint8
-+	Fpack  [6]uint8
-+	_      [4]byte
-+}
-+
-+type EpollEvent struct {
-+	Events uint32
-+	_      int32
-+	Fd     int32
-+	Pad    int32
-+}
-+
-+const (
-+	POLLRDHUP = 0x2000
-+)
-+
-+type Sigset_t struct {
-+	Val [16]uint64
-+}
-+
-+const _C__NSIG = 0x41
-+
-+type Termios struct {
-+	Iflag  uint32
-+	Oflag  uint32
-+	Cflag  uint32
-+	Lflag  uint32
-+	Line   uint8
-+	Cc     [19]uint8
-+	Ispeed uint32
-+	Ospeed uint32
-+}
-+
-+type Taskstats struct {
-+	Version                   uint16
-+	Ac_exitcode               uint32
-+	Ac_flag                   uint8
-+	Ac_nice                   uint8
-+	Cpu_count                 uint64
-+	Cpu_delay_total           uint64
-+	Blkio_count               uint64
-+	Blkio_delay_total         uint64
-+	Swapin_count              uint64
-+	Swapin_delay_total        uint64
-+	Cpu_run_real_total        uint64
-+	Cpu_run_virtual_total     uint64
-+	Ac_comm                   [32]uint8
-+	Ac_sched                  uint8
-+	Ac_pad                    [3]uint8
-+	_                         [4]byte
-+	Ac_uid                    uint32
-+	Ac_gid                    uint32
-+	Ac_pid                    uint32
-+	Ac_ppid                   uint32
-+	Ac_btime                  uint32
-+	Ac_etime                  uint64
-+	Ac_utime                  uint64
-+	Ac_stime                  uint64
-+	Ac_minflt                 uint64
-+	Ac_majflt                 uint64
-+	Coremem                   uint64
-+	Virtmem                   uint64
-+	Hiwater_rss               uint64
-+	Hiwater_vm                uint64
-+	Read_char                 uint64
-+	Write_char                uint64
-+	Read_syscalls             uint64
-+	Write_syscalls            uint64
-+	Read_bytes                uint64
-+	Write_bytes               uint64
-+	Cancelled_write_bytes     uint64
-+	Nvcsw                     uint64
-+	Nivcsw                    uint64
-+	Ac_utimescaled            uint64
-+	Ac_stimescaled            uint64
-+	Cpu_scaled_run_real_total uint64
-+	Freepages_count           uint64
-+	Freepages_delay_total     uint64
-+	Thrashing_count           uint64
-+	Thrashing_delay_total     uint64
-+	Ac_btime64                uint64
-+}
-+
-+type cpuMask uint64
-+
-+const (
-+	_NCPUBITS = 0x40
-+)
-+
-+const (
-+	CBitFieldMaskBit0  = 0x1
-+	CBitFieldMaskBit1  = 0x2
-+	CBitFieldMaskBit2  = 0x4
-+	CBitFieldMaskBit3  = 0x8
-+	CBitFieldMaskBit4  = 0x10
-+	CBitFieldMaskBit5  = 0x20
-+	CBitFieldMaskBit6  = 0x40
-+	CBitFieldMaskBit7  = 0x80
-+	CBitFieldMaskBit8  = 0x100
-+	CBitFieldMaskBit9  = 0x200
-+	CBitFieldMaskBit10 = 0x400
-+	CBitFieldMaskBit11 = 0x800
-+	CBitFieldMaskBit12 = 0x1000
-+	CBitFieldMaskBit13 = 0x2000
-+	CBitFieldMaskBit14 = 0x4000
-+	CBitFieldMaskBit15 = 0x8000
-+	CBitFieldMaskBit16 = 0x10000
-+	CBitFieldMaskBit17 = 0x20000
-+	CBitFieldMaskBit18 = 0x40000
-+	CBitFieldMaskBit19 = 0x80000
-+	CBitFieldMaskBit20 = 0x100000
-+	CBitFieldMaskBit21 = 0x200000
-+	CBitFieldMaskBit22 = 0x400000
-+	CBitFieldMaskBit23 = 0x800000
-+	CBitFieldMaskBit24 = 0x1000000
-+	CBitFieldMaskBit25 = 0x2000000
-+	CBitFieldMaskBit26 = 0x4000000
-+	CBitFieldMaskBit27 = 0x8000000
-+	CBitFieldMaskBit28 = 0x10000000
-+	CBitFieldMaskBit29 = 0x20000000
-+	CBitFieldMaskBit30 = 0x40000000
-+	CBitFieldMaskBit31 = 0x80000000
-+	CBitFieldMaskBit32 = 0x100000000
-+	CBitFieldMaskBit33 = 0x200000000
-+	CBitFieldMaskBit34 = 0x400000000
-+	CBitFieldMaskBit35 = 0x800000000
-+	CBitFieldMaskBit36 = 0x1000000000
-+	CBitFieldMaskBit37 = 0x2000000000
-+	CBitFieldMaskBit38 = 0x4000000000
-+	CBitFieldMaskBit39 = 0x8000000000
-+	CBitFieldMaskBit40 = 0x10000000000
-+	CBitFieldMaskBit41 = 0x20000000000
-+	CBitFieldMaskBit42 = 0x40000000000
-+	CBitFieldMaskBit43 = 0x80000000000
-+	CBitFieldMaskBit44 = 0x100000000000
-+	CBitFieldMaskBit45 = 0x200000000000
-+	CBitFieldMaskBit46 = 0x400000000000
-+	CBitFieldMaskBit47 = 0x800000000000
-+	CBitFieldMaskBit48 = 0x1000000000000
-+	CBitFieldMaskBit49 = 0x2000000000000
-+	CBitFieldMaskBit50 = 0x4000000000000
-+	CBitFieldMaskBit51 = 0x8000000000000
-+	CBitFieldMaskBit52 = 0x10000000000000
-+	CBitFieldMaskBit53 = 0x20000000000000
-+	CBitFieldMaskBit54 = 0x40000000000000
-+	CBitFieldMaskBit55 = 0x80000000000000
-+	CBitFieldMaskBit56 = 0x100000000000000
-+	CBitFieldMaskBit57 = 0x200000000000000
-+	CBitFieldMaskBit58 = 0x400000000000000
-+	CBitFieldMaskBit59 = 0x800000000000000
-+	CBitFieldMaskBit60 = 0x1000000000000000
-+	CBitFieldMaskBit61 = 0x2000000000000000
-+	CBitFieldMaskBit62 = 0x4000000000000000
-+	CBitFieldMaskBit63 = 0x8000000000000000
-+)
-+
-+type SockaddrStorage struct {
-+	Family uint16
-+	_      [118]uint8
-+	_      uint64
-+}
-+
-+type HDGeometry struct {
-+	Heads     uint8
-+	Sectors   uint8
-+	Cylinders uint16
-+	Start     uint64
-+}
-+
-+type Statfs_t struct {
-+	Type    int64
-+	Bsize   int64
-+	Blocks  uint64
-+	Bfree   uint64
-+	Bavail  uint64
-+	Files   uint64
-+	Ffree   uint64
-+	Fsid    Fsid
-+	Namelen int64
-+	Frsize  int64
-+	Flags   int64
-+	Spare   [4]int64
-+}
-+
-+type TpacketHdr struct {
-+	Status  uint64
-+	Len     uint32
-+	Snaplen uint32
-+	Mac     uint16
-+	Net     uint16
-+	Sec     uint32
-+	Usec    uint32
-+	_       [4]byte
-+}
-+
-+const (
-+	SizeofTpacketHdr = 0x20
-+)
-+
-+type RTCPLLInfo struct {
-+	Ctrl    int32
-+	Value   int32
-+	Max     int32
-+	Min     int32
-+	Posmult int32
-+	Negmult int32
-+	Clock   int64
-+}
-+
-+type BlkpgPartition struct {
-+	Start   int64
-+	Length  int64
-+	Pno     int32
-+	Devname [64]uint8
-+	Volname [64]uint8
-+	_       [4]byte
-+}
-+
-+const (
-+	BLKPG = 0x1269
-+)
-+
-+type XDPUmemReg struct {
-+	Addr     uint64
-+	Len      uint64
-+	Size     uint32
-+	Headroom uint32
-+	Flags    uint32
-+	_        [4]byte
-+}
-+
-+type CryptoUserAlg struct {
-+	Name        [64]uint8
-+	Driver_name [64]uint8
-+	Module_name [64]uint8
-+	Type        uint32
-+	Mask        uint32
-+	Refcnt      uint32
-+	Flags       uint32
-+}
-+
-+type CryptoStatAEAD struct {
-+	Type         [64]uint8
-+	Encrypt_cnt  uint64
-+	Encrypt_tlen uint64
-+	Decrypt_cnt  uint64
-+	Decrypt_tlen uint64
-+	Err_cnt      uint64
-+}
-+
-+type CryptoStatAKCipher struct {
-+	Type         [64]uint8
-+	Encrypt_cnt  uint64
-+	Encrypt_tlen uint64
-+	Decrypt_cnt  uint64
-+	Decrypt_tlen uint64
-+	Verify_cnt   uint64
-+	Sign_cnt     uint64
-+	Err_cnt      uint64
-+}
-+
-+type CryptoStatCipher struct {
-+	Type         [64]uint8
-+	Encrypt_cnt  uint64
-+	Encrypt_tlen uint64
-+	Decrypt_cnt  uint64
-+	Decrypt_tlen uint64
-+	Err_cnt      uint64
-+}
-+
-+type CryptoStatCompress struct {
-+	Type            [64]uint8
-+	Compress_cnt    uint64
-+	Compress_tlen   uint64
-+	Decompress_cnt  uint64
-+	Decompress_tlen uint64
-+	Err_cnt         uint64
-+}
-+
-+type CryptoStatHash struct {
-+	Type      [64]uint8
-+	Hash_cnt  uint64
-+	Hash_tlen uint64
-+	Err_cnt   uint64
-+}
-+
-+type CryptoStatKPP struct {
-+	Type                      [64]uint8
-+	Setsecret_cnt             uint64
-+	Generate_public_key_cnt   uint64
-+	Compute_shared_secret_cnt uint64
-+	Err_cnt                   uint64
-+}
-+
-+type CryptoStatRNG struct {
-+	Type          [64]uint8
-+	Generate_cnt  uint64
-+	Generate_tlen uint64
-+	Seed_cnt      uint64
-+	Err_cnt       uint64
-+}
-+
-+type CryptoStatLarval struct {
-+	Type [64]uint8
-+}
-+
-+type CryptoReportLarval struct {
-+	Type [64]uint8
-+}
-+
-+type CryptoReportHash struct {
-+	Type       [64]uint8
-+	Blocksize  uint32
-+	Digestsize uint32
-+}
-+
-+type CryptoReportCipher struct {
-+	Type        [64]uint8
-+	Blocksize   uint32
-+	Min_keysize uint32
-+	Max_keysize uint32
-+}
-+
-+type CryptoReportBlkCipher struct {
-+	Type        [64]uint8
-+	Geniv       [64]uint8
-+	Blocksize   uint32
-+	Min_keysize uint32
-+	Max_keysize uint32
-+	Ivsize      uint32
-+}
-+
-+type CryptoReportAEAD struct {
-+	Type        [64]uint8
-+	Geniv       [64]uint8
-+	Blocksize   uint32
-+	Maxauthsize uint32
-+	Ivsize      uint32
-+}
-+
-+type CryptoReportComp struct {
-+	Type [64]uint8
-+}
-+
-+type CryptoReportRNG struct {
-+	Type     [64]uint8
-+	Seedsize uint32
-+}
-+
-+type CryptoReportAKCipher struct {
-+	Type [64]uint8
-+}
-+
-+type CryptoReportKPP struct {
-+	Type [64]uint8
-+}
-+
-+type CryptoReportAcomp struct {
-+	Type [64]uint8
-+}
-+
-+type LoopInfo struct {
-+	Number           int32
-+	Device           uint32
-+	Inode            uint64
-+	Rdevice          uint32
-+	Offset           int32
-+	Encrypt_type     int32
-+	Encrypt_key_size int32
-+	Flags            int32
-+	Name             [64]uint8
-+	Encrypt_key      [32]uint8
-+	Init             [2]uint64
-+	Reserved         [4]uint8
-+	_                [4]byte
-+}
-+
-+type TIPCSubscr struct {
-+	Seq     TIPCServiceRange
-+	Timeout uint32
-+	Filter  uint32
-+	Handle  [8]uint8
-+}
-+
-+type TIPCSIOCLNReq struct {
-+	Peer     uint32
-+	Id       uint32
-+	Linkname [68]uint8
-+}
-+
-+type TIPCSIOCNodeIDReq struct {
-+	Peer uint32
-+	Id   [16]uint8
-+}
-diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go b/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go
-index 5e0aa663..cca1b6be 100644
---- a/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go
-+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go
-@@ -6,19 +6,12 @@
- package unix
- 
- const (
--	sizeofPtr      = 0x8
--	sizeofShort    = 0x2
--	sizeofInt      = 0x4
--	sizeofLong     = 0x8
--	sizeofLongLong = 0x8
--	PathMax        = 0x1000
-+	SizeofPtr  = 0x8
-+	SizeofLong = 0x8
- )
- 
- type (
--	_C_short     int16
--	_C_int       int32
--	_C_long      int64
--	_C_long_long int64
-+	_C_long int64
- )
- 
- type Timespec struct {
-@@ -33,13 +26,11 @@ type Timeval struct {
- 
- type Timex struct {
- 	Modes     uint32
--	_         [4]byte
- 	Offset    int64
- 	Freq      int64
- 	Maxerror  int64
- 	Esterror  int64
- 	Status    int32
--	_         [4]byte
- 	Constant  int64
- 	Precision int64
- 	Tolerance int64
-@@ -48,7 +39,6 @@ type Timex struct {
- 	Ppsfreq   int64
- 	Jitter    int64
- 	Shift     int32
--	_         [4]byte
- 	Stabil    int64
- 	Jitcnt    int64
- 	Calcnt    int64
-@@ -91,13 +81,6 @@ type Rusage struct {
- 	Nivcsw   int64
- }
- 
--type Rlimit struct {
--	Cur uint64
--	Max uint64
--}
--
--type _Gid_t uint32
--
- type Stat_t struct {
- 	Dev     uint64
- 	Ino     uint64
-@@ -116,22 +99,6 @@ type Stat_t struct {
- 	_       [3]int64
- }
- 
--type Statfs_t struct {
--	Type    uint32
--	Bsize   uint32
--	Blocks  uint64
--	Bfree   uint64
--	Bavail  uint64
--	Files   uint64
--	Ffree   uint64
--	Fsid    Fsid
--	Namelen uint32
--	Frsize  uint32
--	Flags   uint32
--	Spare   [4]uint32
--	_       [4]byte
--}
--
- type Dirent struct {
- 	Ino    uint64
- 	Off    int64
-@@ -141,115 +108,20 @@ type Dirent struct {
- 	_      [5]byte
- }
- 
--type Fsid struct {
--	_ [2]int32
--}
--
- type Flock_t struct {
- 	Type   int16
- 	Whence int16
--	_      [4]byte
- 	Start  int64
- 	Len    int64
- 	Pid    int32
- 	_      [4]byte
- }
- 
--type FscryptPolicy struct {
--	Version                   uint8
--	Contents_encryption_mode  uint8
--	Filenames_encryption_mode uint8
--	Flags                     uint8
--	Master_key_descriptor     [8]uint8
--}
--
--type FscryptKey struct {
--	Mode uint32
--	Raw  [64]uint8
--	Size uint32
--}
--
--type KeyctlDHParams struct {
--	Private int32
--	Prime   int32
--	Base    int32
--}
--
- const (
--	FADV_NORMAL     = 0x0
--	FADV_RANDOM     = 0x1
--	FADV_SEQUENTIAL = 0x2
--	FADV_WILLNEED   = 0x3
--	FADV_DONTNEED   = 0x6
--	FADV_NOREUSE    = 0x7
-+	FADV_DONTNEED = 0x6
-+	FADV_NOREUSE  = 0x7
- )
- 
--type RawSockaddrInet4 struct {
--	Family uint16
--	Port   uint16
--	Addr   [4]byte /* in_addr */
--	Zero   [8]uint8
--}
--
--type RawSockaddrInet6 struct {
--	Family   uint16
--	Port     uint16
--	Flowinfo uint32
--	Addr     [16]byte /* in6_addr */
--	Scope_id uint32
--}
--
--type RawSockaddrUnix struct {
--	Family uint16
--	Path   [108]int8
--}
--
--type RawSockaddrLinklayer struct {
--	Family   uint16
--	Protocol uint16
--	Ifindex  int32
--	Hatype   uint16
--	Pkttype  uint8
--	Halen    uint8
--	Addr     [8]uint8
--}
--
--type RawSockaddrNetlink struct {
--	Family uint16
--	Pad    uint16
--	Pid    uint32
--	Groups uint32
--}
--
--type RawSockaddrHCI struct {
--	Family  uint16
--	Dev     uint16
--	Channel uint16
--}
--
--type RawSockaddrCAN struct {
--	Family  uint16
--	_       [2]byte
--	Ifindex int32
--	Addr    [8]byte
--}
--
--type RawSockaddrALG struct {
--	Family uint16
--	Type   [14]uint8
--	Feat   uint32
--	Mask   uint32
--	Name   [64]uint8
--}
--
--type RawSockaddrVM struct {
--	Family    uint16
--	Reserved1 uint16
--	Port      uint32
--	Cid       uint32
--	Zero      [4]uint8
--}
--
- type RawSockaddr struct {
- 	Family uint16
- 	Data   [14]int8
-@@ -260,45 +132,14 @@ type RawSockaddrAny struct {
- 	Pad  [96]int8
- }
- 
--type _Socklen uint32
--
--type Linger struct {
--	Onoff  int32
--	Linger int32
--}
--
- type Iovec struct {
- 	Base *byte
- 	Len  uint64
- }
- 
--type IPMreq struct {
--	Multiaddr [4]byte /* in_addr */
--	Interface [4]byte /* in_addr */
--}
--
--type IPMreqn struct {
--	Multiaddr [4]byte /* in_addr */
--	Address   [4]byte /* in_addr */
--	Ifindex   int32
--}
--
--type IPv6Mreq struct {
--	Multiaddr [16]byte /* in6_addr */
--	Interface uint32
--}
--
--type PacketMreq struct {
--	Ifindex int32
--	Type    uint16
--	Alen    uint16
--	Address [8]uint8
--}
--
- type Msghdr struct {
- 	Name       *byte
- 	Namelen    uint32
--	_          [4]byte
- 	Iov        *Iovec
- 	Iovlen     uint64
- 	Control    *byte
-@@ -313,277 +154,16 @@ type Cmsghdr struct {
- 	Type  int32
- }
- 
--type Inet4Pktinfo struct {
--	Ifindex  int32
--	Spec_dst [4]byte /* in_addr */
--	Addr     [4]byte /* in_addr */
--}
--
--type Inet6Pktinfo struct {
--	Addr    [16]byte /* in6_addr */
--	Ifindex uint32
--}
--
--type IPv6MTUInfo struct {
--	Addr RawSockaddrInet6
--	Mtu  uint32
--}
--
--type ICMPv6Filter struct {
--	Data [8]uint32
--}
--
--type Ucred struct {
--	Pid int32
--	Uid uint32
--	Gid uint32
--}
--
--type TCPInfo struct {
--	State          uint8
--	Ca_state       uint8
--	Retransmits    uint8
--	Probes         uint8
--	Backoff        uint8
--	Options        uint8
--	_              [2]byte
--	Rto            uint32
--	Ato            uint32
--	Snd_mss        uint32
--	Rcv_mss        uint32
--	Unacked        uint32
--	Sacked         uint32
--	Lost           uint32
--	Retrans        uint32
--	Fackets        uint32
--	Last_data_sent uint32
--	Last_ack_sent  uint32
--	Last_data_recv uint32
--	Last_ack_recv  uint32
--	Pmtu           uint32
--	Rcv_ssthresh   uint32
--	Rtt            uint32
--	Rttvar         uint32
--	Snd_ssthresh   uint32
--	Snd_cwnd       uint32
--	Advmss         uint32
--	Reordering     uint32
--	Rcv_rtt        uint32
--	Rcv_space      uint32
--	Total_retrans  uint32
--}
--
--const (
--	SizeofSockaddrInet4     = 0x10
--	SizeofSockaddrInet6     = 0x1c
--	SizeofSockaddrAny       = 0x70
--	SizeofSockaddrUnix      = 0x6e
--	SizeofSockaddrLinklayer = 0x14
--	SizeofSockaddrNetlink   = 0xc
--	SizeofSockaddrHCI       = 0x6
--	SizeofSockaddrCAN       = 0x10
--	SizeofSockaddrALG       = 0x58
--	SizeofSockaddrVM        = 0x10
--	SizeofLinger            = 0x8
--	SizeofIovec             = 0x10
--	SizeofIPMreq            = 0x8
--	SizeofIPMreqn           = 0xc
--	SizeofIPv6Mreq          = 0x14
--	SizeofPacketMreq        = 0x10
--	SizeofMsghdr            = 0x38
--	SizeofCmsghdr           = 0x10
--	SizeofInet4Pktinfo      = 0xc
--	SizeofInet6Pktinfo      = 0x14
--	SizeofIPv6MTUInfo       = 0x20
--	SizeofICMPv6Filter      = 0x20
--	SizeofUcred             = 0xc
--	SizeofTCPInfo           = 0x68
--)
--
- const (
--	IFA_UNSPEC          = 0x0
--	IFA_ADDRESS         = 0x1
--	IFA_LOCAL           = 0x2
--	IFA_LABEL           = 0x3
--	IFA_BROADCAST       = 0x4
--	IFA_ANYCAST         = 0x5
--	IFA_CACHEINFO       = 0x6
--	IFA_MULTICAST       = 0x7
--	IFLA_UNSPEC         = 0x0
--	IFLA_ADDRESS        = 0x1
--	IFLA_BROADCAST      = 0x2
--	IFLA_IFNAME         = 0x3
--	IFLA_MTU            = 0x4
--	IFLA_LINK           = 0x5
--	IFLA_QDISC          = 0x6
--	IFLA_STATS          = 0x7
--	IFLA_COST           = 0x8
--	IFLA_PRIORITY       = 0x9
--	IFLA_MASTER         = 0xa
--	IFLA_WIRELESS       = 0xb
--	IFLA_PROTINFO       = 0xc
--	IFLA_TXQLEN         = 0xd
--	IFLA_MAP            = 0xe
--	IFLA_WEIGHT         = 0xf
--	IFLA_OPERSTATE      = 0x10
--	IFLA_LINKMODE       = 0x11
--	IFLA_LINKINFO       = 0x12
--	IFLA_NET_NS_PID     = 0x13
--	IFLA_IFALIAS        = 0x14
--	IFLA_MAX            = 0x2b
--	RT_SCOPE_UNIVERSE   = 0x0
--	RT_SCOPE_SITE       = 0xc8
--	RT_SCOPE_LINK       = 0xfd
--	RT_SCOPE_HOST       = 0xfe
--	RT_SCOPE_NOWHERE    = 0xff
--	RT_TABLE_UNSPEC     = 0x0
--	RT_TABLE_COMPAT     = 0xfc
--	RT_TABLE_DEFAULT    = 0xfd
--	RT_TABLE_MAIN       = 0xfe
--	RT_TABLE_LOCAL      = 0xff
--	RT_TABLE_MAX        = 0xffffffff
--	RTA_UNSPEC          = 0x0
--	RTA_DST             = 0x1
--	RTA_SRC             = 0x2
--	RTA_IIF             = 0x3
--	RTA_OIF             = 0x4
--	RTA_GATEWAY         = 0x5
--	RTA_PRIORITY        = 0x6
--	RTA_PREFSRC         = 0x7
--	RTA_METRICS         = 0x8
--	RTA_MULTIPATH       = 0x9
--	RTA_FLOW            = 0xb
--	RTA_CACHEINFO       = 0xc
--	RTA_TABLE           = 0xf
--	RTN_UNSPEC          = 0x0
--	RTN_UNICAST         = 0x1
--	RTN_LOCAL           = 0x2
--	RTN_BROADCAST       = 0x3
--	RTN_ANYCAST         = 0x4
--	RTN_MULTICAST       = 0x5
--	RTN_BLACKHOLE       = 0x6
--	RTN_UNREACHABLE     = 0x7
--	RTN_PROHIBIT        = 0x8
--	RTN_THROW           = 0x9
--	RTN_NAT             = 0xa
--	RTN_XRESOLVE        = 0xb
--	RTNLGRP_NONE        = 0x0
--	RTNLGRP_LINK        = 0x1
--	RTNLGRP_NOTIFY      = 0x2
--	RTNLGRP_NEIGH       = 0x3
--	RTNLGRP_TC          = 0x4
--	RTNLGRP_IPV4_IFADDR = 0x5
--	RTNLGRP_IPV4_MROUTE = 0x6
--	RTNLGRP_IPV4_ROUTE  = 0x7
--	RTNLGRP_IPV4_RULE   = 0x8
--	RTNLGRP_IPV6_IFADDR = 0x9
--	RTNLGRP_IPV6_MROUTE = 0xa
--	RTNLGRP_IPV6_ROUTE  = 0xb
--	RTNLGRP_IPV6_IFINFO = 0xc
--	RTNLGRP_IPV6_PREFIX = 0x12
--	RTNLGRP_IPV6_RULE   = 0x13
--	RTNLGRP_ND_USEROPT  = 0x14
--	SizeofNlMsghdr      = 0x10
--	SizeofNlMsgerr      = 0x14
--	SizeofRtGenmsg      = 0x1
--	SizeofNlAttr        = 0x4
--	SizeofRtAttr        = 0x4
--	SizeofIfInfomsg     = 0x10
--	SizeofIfAddrmsg     = 0x8
--	SizeofRtMsg         = 0xc
--	SizeofRtNexthop     = 0x8
-+	SizeofIovec   = 0x10
-+	SizeofMsghdr  = 0x38
-+	SizeofCmsghdr = 0x10
- )
- 
--type NlMsghdr struct {
--	Len   uint32
--	Type  uint16
--	Flags uint16
--	Seq   uint32
--	Pid   uint32
--}
--
--type NlMsgerr struct {
--	Error int32
--	Msg   NlMsghdr
--}
--
--type RtGenmsg struct {
--	Family uint8
--}
--
--type NlAttr struct {
--	Len  uint16
--	Type uint16
--}
--
--type RtAttr struct {
--	Len  uint16
--	Type uint16
--}
--
--type IfInfomsg struct {
--	Family uint8
--	_      uint8
--	Type   uint16
--	Index  int32
--	Flags  uint32
--	Change uint32
--}
--
--type IfAddrmsg struct {
--	Family    uint8
--	Prefixlen uint8
--	Flags     uint8
--	Scope     uint8
--	Index     uint32
--}
--
--type RtMsg struct {
--	Family   uint8
--	Dst_len  uint8
--	Src_len  uint8
--	Tos      uint8
--	Table    uint8
--	Protocol uint8
--	Scope    uint8
--	Type     uint8
--	Flags    uint32
--}
--
--type RtNexthop struct {
--	Len     uint16
--	Flags   uint8
--	Hops    uint8
--	Ifindex int32
--}
--
- const (
--	SizeofSockFilter = 0x8
--	SizeofSockFprog  = 0x10
-+	SizeofSockFprog = 0x10
- )
- 
--type SockFilter struct {
--	Code uint16
--	Jt   uint8
--	Jf   uint8
--	K    uint32
--}
--
--type SockFprog struct {
--	Len    uint16
--	_      [6]byte
--	Filter *SockFilter
--}
--
--type InotifyEvent struct {
--	Wd     int32
--	Mask   uint32
--	Cookie uint32
--	Len    uint32
--}
--
--const SizeofInotifyEvent = 0x10
--
- type PtraceRegs struct {
- 	Psw                      PtracePsw
- 	Gprs                     [16]uint64
-@@ -601,18 +181,15 @@ type PtracePsw struct {
- 
- type PtraceFpregs struct {
- 	Fpc  uint32
--	_    [4]byte
- 	Fprs [16]float64
- }
- 
- type PtracePer struct {
- 	_             [0]uint64
--	_             [24]byte
--	_             [8]byte
-+	_             [32]byte
- 	Starting_addr uint64
- 	Ending_addr   uint64
- 	Perc_atmid    uint16
--	_             [6]byte
- 	Address       uint64
- 	Access_id     uint8
- 	_             [7]byte
-@@ -633,7 +210,6 @@ type Sysinfo_t struct {
- 	Freeswap  uint64
- 	Procs     uint16
- 	Pad       uint16
--	_         [4]byte
- 	Totalhigh uint64
- 	Freehigh  uint64
- 	Unit      uint32
-@@ -641,18 +217,8 @@ type Sysinfo_t struct {
- 	_         [4]byte
- }
- 
--type Utsname struct {
--	Sysname    [65]int8
--	Nodename   [65]int8
--	Release    [65]int8
--	Version    [65]int8
--	Machine    [65]int8
--	Domainname [65]int8
--}
--
- type Ustat_t struct {
- 	Tfree  int32
--	_      [4]byte
- 	Tinode uint64
- 	Fname  [6]int8
- 	Fpack  [6]int8
-@@ -667,37 +233,14 @@ type EpollEvent struct {
- }
- 
- const (
--	AT_FDCWD            = -0x64
--	AT_REMOVEDIR        = 0x200
--	AT_SYMLINK_FOLLOW   = 0x400
--	AT_SYMLINK_NOFOLLOW = 0x100
--)
--
--type PollFd struct {
--	Fd      int32
--	Events  int16
--	Revents int16
--}
--
--const (
--	POLLIN    = 0x1
--	POLLPRI   = 0x2
--	POLLOUT   = 0x4
- 	POLLRDHUP = 0x2000
--	POLLERR   = 0x8
--	POLLHUP   = 0x10
--	POLLNVAL  = 0x20
- )
- 
- type Sigset_t struct {
--	_ [16]uint64
-+	Val [16]uint64
- }
- 
--const RNDGETENTCNT = 0x80045200
--
--const PERF_IOC_FLAG_GROUP = 0x1
--
--const _SC_PAGESIZE = 0x1e
-+const _C__NSIG = 0x41
- 
- type Termios struct {
- 	Iflag  uint32
-@@ -710,20 +253,11 @@ type Termios struct {
- 	Ospeed uint32
- }
- 
--type Winsize struct {
--	Row    uint16
--	Col    uint16
--	Xpixel uint16
--	Ypixel uint16
--}
--
- type Taskstats struct {
- 	Version                   uint16
--	_                         [2]byte
- 	Ac_exitcode               uint32
- 	Ac_flag                   uint8
- 	Ac_nice                   uint8
--	_                         [6]byte
- 	Cpu_count                 uint64
- 	Cpu_delay_total           uint64
- 	Blkio_count               uint64
-@@ -741,7 +275,6 @@ type Taskstats struct {
- 	Ac_pid                    uint32
- 	Ac_ppid                   uint32
- 	Ac_btime                  uint32
--	_                         [4]byte
- 	Ac_etime                  uint64
- 	Ac_utime                  uint64
- 	Ac_stime                  uint64
-@@ -765,55 +298,320 @@ type Taskstats struct {
- 	Cpu_scaled_run_real_total uint64
- 	Freepages_count           uint64
- 	Freepages_delay_total     uint64
-+	Thrashing_count           uint64
-+	Thrashing_delay_total     uint64
-+	Ac_btime64                uint64
-+}
-+
-+type cpuMask uint64
-+
-+const (
-+	_NCPUBITS = 0x40
-+)
-+
-+const (
-+	CBitFieldMaskBit0  = 0x8000000000000000
-+	CBitFieldMaskBit1  = 0x4000000000000000
-+	CBitFieldMaskBit2  = 0x2000000000000000
-+	CBitFieldMaskBit3  = 0x1000000000000000
-+	CBitFieldMaskBit4  = 0x800000000000000
-+	CBitFieldMaskBit5  = 0x400000000000000
-+	CBitFieldMaskBit6  = 0x200000000000000
-+	CBitFieldMaskBit7  = 0x100000000000000
-+	CBitFieldMaskBit8  = 0x80000000000000
-+	CBitFieldMaskBit9  = 0x40000000000000
-+	CBitFieldMaskBit10 = 0x20000000000000
-+	CBitFieldMaskBit11 = 0x10000000000000
-+	CBitFieldMaskBit12 = 0x8000000000000
-+	CBitFieldMaskBit13 = 0x4000000000000
-+	CBitFieldMaskBit14 = 0x2000000000000
-+	CBitFieldMaskBit15 = 0x1000000000000
-+	CBitFieldMaskBit16 = 0x800000000000
-+	CBitFieldMaskBit17 = 0x400000000000
-+	CBitFieldMaskBit18 = 0x200000000000
-+	CBitFieldMaskBit19 = 0x100000000000
-+	CBitFieldMaskBit20 = 0x80000000000
-+	CBitFieldMaskBit21 = 0x40000000000
-+	CBitFieldMaskBit22 = 0x20000000000
-+	CBitFieldMaskBit23 = 0x10000000000
-+	CBitFieldMaskBit24 = 0x8000000000
-+	CBitFieldMaskBit25 = 0x4000000000
-+	CBitFieldMaskBit26 = 0x2000000000
-+	CBitFieldMaskBit27 = 0x1000000000
-+	CBitFieldMaskBit28 = 0x800000000
-+	CBitFieldMaskBit29 = 0x400000000
-+	CBitFieldMaskBit30 = 0x200000000
-+	CBitFieldMaskBit31 = 0x100000000
-+	CBitFieldMaskBit32 = 0x80000000
-+	CBitFieldMaskBit33 = 0x40000000
-+	CBitFieldMaskBit34 = 0x20000000
-+	CBitFieldMaskBit35 = 0x10000000
-+	CBitFieldMaskBit36 = 0x8000000
-+	CBitFieldMaskBit37 = 0x4000000
-+	CBitFieldMaskBit38 = 0x2000000
-+	CBitFieldMaskBit39 = 0x1000000
-+	CBitFieldMaskBit40 = 0x800000
-+	CBitFieldMaskBit41 = 0x400000
-+	CBitFieldMaskBit42 = 0x200000
-+	CBitFieldMaskBit43 = 0x100000
-+	CBitFieldMaskBit44 = 0x80000
-+	CBitFieldMaskBit45 = 0x40000
-+	CBitFieldMaskBit46 = 0x20000
-+	CBitFieldMaskBit47 = 0x10000
-+	CBitFieldMaskBit48 = 0x8000
-+	CBitFieldMaskBit49 = 0x4000
-+	CBitFieldMaskBit50 = 0x2000
-+	CBitFieldMaskBit51 = 0x1000
-+	CBitFieldMaskBit52 = 0x800
-+	CBitFieldMaskBit53 = 0x400
-+	CBitFieldMaskBit54 = 0x200
-+	CBitFieldMaskBit55 = 0x100
-+	CBitFieldMaskBit56 = 0x80
-+	CBitFieldMaskBit57 = 0x40
-+	CBitFieldMaskBit58 = 0x20
-+	CBitFieldMaskBit59 = 0x10
-+	CBitFieldMaskBit60 = 0x8
-+	CBitFieldMaskBit61 = 0x4
-+	CBitFieldMaskBit62 = 0x2
-+	CBitFieldMaskBit63 = 0x1
-+)
-+
-+type SockaddrStorage struct {
-+	Family uint16
-+	_      [118]int8
-+	_      uint64
-+}
-+
-+type HDGeometry struct {
-+	Heads     uint8
-+	Sectors   uint8
-+	Cylinders uint16
-+	Start     uint64
-+}
-+
-+type Statfs_t struct {
-+	Type    uint32
-+	Bsize   uint32
-+	Blocks  uint64
-+	Bfree   uint64
-+	Bavail  uint64
-+	Files   uint64
-+	Ffree   uint64
-+	Fsid    Fsid
-+	Namelen uint32
-+	Frsize  uint32
-+	Flags   uint32
-+	Spare   [4]uint32
-+	_       [4]byte
-+}
-+
-+type TpacketHdr struct {
-+	Status  uint64
-+	Len     uint32
-+	Snaplen uint32
-+	Mac     uint16
-+	Net     uint16
-+	Sec     uint32
-+	Usec    uint32
-+	_       [4]byte
- }
- 
- const (
--	TASKSTATS_CMD_UNSPEC                  = 0x0
--	TASKSTATS_CMD_GET                     = 0x1
--	TASKSTATS_CMD_NEW                     = 0x2
--	TASKSTATS_TYPE_UNSPEC                 = 0x0
--	TASKSTATS_TYPE_PID                    = 0x1
--	TASKSTATS_TYPE_TGID                   = 0x2
--	TASKSTATS_TYPE_STATS                  = 0x3
--	TASKSTATS_TYPE_AGGR_PID               = 0x4
--	TASKSTATS_TYPE_AGGR_TGID              = 0x5
--	TASKSTATS_TYPE_NULL                   = 0x6
--	TASKSTATS_CMD_ATTR_UNSPEC             = 0x0
--	TASKSTATS_CMD_ATTR_PID                = 0x1
--	TASKSTATS_CMD_ATTR_TGID               = 0x2
--	TASKSTATS_CMD_ATTR_REGISTER_CPUMASK   = 0x3
--	TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4
-+	SizeofTpacketHdr = 0x20
- )
- 
--type Genlmsghdr struct {
--	Cmd      uint8
--	Version  uint8
--	Reserved uint16
-+type RTCPLLInfo struct {
-+	Ctrl    int32
-+	Value   int32
-+	Max     int32
-+	Min     int32
-+	Posmult int32
-+	Negmult int32
-+	Clock   int64
-+}
-+
-+type BlkpgPartition struct {
-+	Start   int64
-+	Length  int64
-+	Pno     int32
-+	Devname [64]uint8
-+	Volname [64]uint8
-+	_       [4]byte
- }
- 
- const (
--	CTRL_CMD_UNSPEC            = 0x0
--	CTRL_CMD_NEWFAMILY         = 0x1
--	CTRL_CMD_DELFAMILY         = 0x2
--	CTRL_CMD_GETFAMILY         = 0x3
--	CTRL_CMD_NEWOPS            = 0x4
--	CTRL_CMD_DELOPS            = 0x5
--	CTRL_CMD_GETOPS            = 0x6
--	CTRL_CMD_NEWMCAST_GRP      = 0x7
--	CTRL_CMD_DELMCAST_GRP      = 0x8
--	CTRL_CMD_GETMCAST_GRP      = 0x9
--	CTRL_ATTR_UNSPEC           = 0x0
--	CTRL_ATTR_FAMILY_ID        = 0x1
--	CTRL_ATTR_FAMILY_NAME      = 0x2
--	CTRL_ATTR_VERSION          = 0x3
--	CTRL_ATTR_HDRSIZE          = 0x4
--	CTRL_ATTR_MAXATTR          = 0x5
--	CTRL_ATTR_OPS              = 0x6
--	CTRL_ATTR_MCAST_GROUPS     = 0x7
--	CTRL_ATTR_OP_UNSPEC        = 0x0
--	CTRL_ATTR_OP_ID            = 0x1
--	CTRL_ATTR_OP_FLAGS         = 0x2
--	CTRL_ATTR_MCAST_GRP_UNSPEC = 0x0
--	CTRL_ATTR_MCAST_GRP_NAME   = 0x1
--	CTRL_ATTR_MCAST_GRP_ID     = 0x2
-+	BLKPG = 0x1269
- )
-+
-+type XDPUmemReg struct {
-+	Addr     uint64
-+	Len      uint64
-+	Size     uint32
-+	Headroom uint32
-+	Flags    uint32
-+	_        [4]byte
-+}
-+
-+type CryptoUserAlg struct {
-+	Name        [64]int8
-+	Driver_name [64]int8
-+	Module_name [64]int8
-+	Type        uint32
-+	Mask        uint32
-+	Refcnt      uint32
-+	Flags       uint32
-+}
-+
-+type CryptoStatAEAD struct {
-+	Type         [64]int8
-+	Encrypt_cnt  uint64
-+	Encrypt_tlen uint64
-+	Decrypt_cnt  uint64
-+	Decrypt_tlen uint64
-+	Err_cnt      uint64
-+}
-+
-+type CryptoStatAKCipher struct {
-+	Type         [64]int8
-+	Encrypt_cnt  uint64
-+	Encrypt_tlen uint64
-+	Decrypt_cnt  uint64
-+	Decrypt_tlen uint64
-+	Verify_cnt   uint64
-+	Sign_cnt     uint64
-+	Err_cnt      uint64
-+}
-+
-+type CryptoStatCipher struct {
-+	Type         [64]int8
-+	Encrypt_cnt  uint64
-+	Encrypt_tlen uint64
-+	Decrypt_cnt  uint64
-+	Decrypt_tlen uint64
-+	Err_cnt      uint64
-+}
-+
-+type CryptoStatCompress struct {
-+	Type            [64]int8
-+	Compress_cnt    uint64
-+	Compress_tlen   uint64
-+	Decompress_cnt  uint64
-+	Decompress_tlen uint64
-+	Err_cnt         uint64
-+}
-+
-+type CryptoStatHash struct {
-+	Type      [64]int8
-+	Hash_cnt  uint64
-+	Hash_tlen uint64
-+	Err_cnt   uint64
-+}
-+
-+type CryptoStatKPP struct {
-+	Type                      [64]int8
-+	Setsecret_cnt             uint64
-+	Generate_public_key_cnt   uint64
-+	Compute_shared_secret_cnt uint64
-+	Err_cnt                   uint64
-+}
-+
-+type CryptoStatRNG struct {
-+	Type          [64]int8
-+	Generate_cnt  uint64
-+	Generate_tlen uint64
-+	Seed_cnt      uint64
-+	Err_cnt       uint64
-+}
-+
-+type CryptoStatLarval struct {
-+	Type [64]int8
-+}
-+
-+type CryptoReportLarval struct {
-+	Type [64]int8
-+}
-+
-+type CryptoReportHash struct {
-+	Type       [64]int8
-+	Blocksize  uint32
-+	Digestsize uint32
-+}
-+
-+type CryptoReportCipher struct {
-+	Type        [64]int8
-+	Blocksize   uint32
-+	Min_keysize uint32
-+	Max_keysize uint32
-+}
-+
-+type CryptoReportBlkCipher struct {
-+	Type        [64]int8
-+	Geniv       [64]int8
-+	Blocksize   uint32
-+	Min_keysize uint32
-+	Max_keysize uint32
-+	Ivsize      uint32
-+}
-+
-+type CryptoReportAEAD struct {
-+	Type        [64]int8
-+	Geniv       [64]int8
-+	Blocksize   uint32
-+	Maxauthsize uint32
-+	Ivsize      uint32
-+}
-+
-+type CryptoReportComp struct {
-+	Type [64]int8
-+}
-+
-+type CryptoReportRNG struct {
-+	Type     [64]int8
-+	Seedsize uint32
-+}
-+
-+type CryptoReportAKCipher struct {
-+	Type [64]int8
-+}
-+
-+type CryptoReportKPP struct {
-+	Type [64]int8
-+}
-+
-+type CryptoReportAcomp struct {
-+	Type [64]int8
-+}
-+
-+type LoopInfo struct {
-+	Number           int32
-+	Device           uint16
-+	Inode            uint64
-+	Rdevice          uint16
-+	Offset           int32
-+	Encrypt_type     int32
-+	Encrypt_key_size int32
-+	Flags            int32
-+	Name             [64]int8
-+	Encrypt_key      [32]uint8
-+	Init             [2]uint64
-+	Reserved         [4]int8
-+	_                [4]byte
-+}
-+
-+type TIPCSubscr struct {
-+	Seq     TIPCServiceRange
-+	Timeout uint32
-+	Filter  uint32
-+	Handle  [8]int8
-+}
-+
-+type TIPCSIOCLNReq struct {
-+	Peer     uint32
-+	Id       uint32
-+	Linkname [68]int8
-+}
-+
-+type TIPCSIOCNodeIDReq struct {
-+	Peer uint32
-+	Id   [16]int8
-+}
-diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go
-index 22bdab96..33a73bf1 100644
---- a/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go
-+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go
-@@ -1,23 +1,17 @@
-+// cgo -godefs -- -Wall -Werror -static -I/tmp/include linux/types.go | go run mkpost.go
-+// Code generated by the command above; see README.md. DO NOT EDIT.
-+
- // +build sparc64,linux
--// Created by cgo -godefs - DO NOT EDIT
--// cgo -godefs types_linux.go | go run mkpost.go
- 
- package unix
- 
- const (
--	sizeofPtr      = 0x8
--	sizeofShort    = 0x2
--	sizeofInt      = 0x4
--	sizeofLong     = 0x8
--	sizeofLongLong = 0x8
--	PathMax        = 0x1000
-+	SizeofPtr  = 0x8
-+	SizeofLong = 0x8
- )
- 
- type (
--	_C_short     int16
--	_C_int       int32
--	_C_long      int64
--	_C_long_long int64
-+	_C_long int64
- )
- 
- type Timespec struct {
-@@ -26,20 +20,18 @@ type Timespec struct {
- }
- 
- type Timeval struct {
--	Sec       int64
--	Usec      int32
--	Pad_cgo_0 [4]byte
-+	Sec  int64
-+	Usec int32
-+	_    [4]byte
- }
- 
- type Timex struct {
- 	Modes     uint32
--	Pad_cgo_0 [4]byte
- 	Offset    int64
- 	Freq      int64
- 	Maxerror  int64
- 	Esterror  int64
- 	Status    int32
--	Pad_cgo_1 [4]byte
- 	Constant  int64
- 	Precision int64
- 	Tolerance int64
-@@ -48,14 +40,13 @@ type Timex struct {
- 	Ppsfreq   int64
- 	Jitter    int64
- 	Shift     int32
--	Pad_cgo_2 [4]byte
- 	Stabil    int64
- 	Jitcnt    int64
- 	Calcnt    int64
- 	Errcnt    int64
- 	Stbcnt    int64
- 	Tai       int32
--	Pad_cgo_3 [44]byte
-+	_         [44]byte
- }
- 
- type Time_t int64
-@@ -91,149 +82,50 @@ type Rusage struct {
- 	Nivcsw   int64
- }
- 
--type Rlimit struct {
--	Cur uint64
--	Max uint64
--}
--
--type _Gid_t uint32
--
- type Stat_t struct {
--	Dev                uint64
--	X__pad1            uint16
--	Pad_cgo_0          [6]byte
--	Ino                uint64
--	Mode               uint32
--	Nlink              uint32
--	Uid                uint32
--	Gid                uint32
--	Rdev               uint64
--	X__pad2            uint16
--	Pad_cgo_1          [6]byte
--	Size               int64
--	Blksize            int64
--	Blocks             int64
--	Atim               Timespec
--	Mtim               Timespec
--	Ctim               Timespec
--	X__glibc_reserved4 uint64
--	X__glibc_reserved5 uint64
--}
--
--type Statfs_t struct {
--	Type    int64
--	Bsize   int64
--	Blocks  uint64
--	Bfree   uint64
--	Bavail  uint64
--	Files   uint64
--	Ffree   uint64
--	Fsid    Fsid
--	Namelen int64
--	Frsize  int64
--	Flags   int64
--	Spare   [4]int64
-+	Dev     uint64
-+	_       uint16
-+	Ino     uint64
-+	Mode    uint32
-+	Nlink   uint32
-+	Uid     uint32
-+	Gid     uint32
-+	Rdev    uint64
-+	_       uint16
-+	Size    int64
-+	Blksize int64
-+	Blocks  int64
-+	Atim    Timespec
-+	Mtim    Timespec
-+	Ctim    Timespec
-+	_       uint64
-+	_       uint64
- }
- 
- type Dirent struct {
--	Ino       uint64
--	Off       int64
--	Reclen    uint16
--	Type      uint8
--	Name      [256]int8
--	Pad_cgo_0 [5]byte
--}
--
--type Fsid struct {
--	X__val [2]int32
-+	Ino    uint64
-+	Off    int64
-+	Reclen uint16
-+	Type   uint8
-+	Name   [256]int8
-+	_      [5]byte
- }
- 
- type Flock_t struct {
--	Type              int16
--	Whence            int16
--	Pad_cgo_0         [4]byte
--	Start             int64
--	Len               int64
--	Pid               int32
--	X__glibc_reserved int16
--	Pad_cgo_1         [2]byte
-+	Type   int16
-+	Whence int16
-+	Start  int64
-+	Len    int64
-+	Pid    int32
-+	_      int16
-+	_      [2]byte
- }
- 
- const (
--	FADV_NORMAL     = 0x0
--	FADV_RANDOM     = 0x1
--	FADV_SEQUENTIAL = 0x2
--	FADV_WILLNEED   = 0x3
--	FADV_DONTNEED   = 0x4
--	FADV_NOREUSE    = 0x5
-+	FADV_DONTNEED = 0x4
-+	FADV_NOREUSE  = 0x5
- )
- 
--type RawSockaddrInet4 struct {
--	Family uint16
--	Port   uint16
--	Addr   [4]byte /* in_addr */
--	Zero   [8]uint8
--}
--
--type RawSockaddrInet6 struct {
--	Family   uint16
--	Port     uint16
--	Flowinfo uint32
--	Addr     [16]byte /* in6_addr */
--	Scope_id uint32
--}
--
--type RawSockaddrUnix struct {
--	Family uint16
--	Path   [108]int8
--}
--
--type RawSockaddrLinklayer struct {
--	Family   uint16
--	Protocol uint16
--	Ifindex  int32
--	Hatype   uint16
--	Pkttype  uint8
--	Halen    uint8
--	Addr     [8]uint8
--}
--
--type RawSockaddrNetlink struct {
--	Family uint16
--	Pad    uint16
--	Pid    uint32
--	Groups uint32
--}
--
--type RawSockaddrHCI struct {
--	Family  uint16
--	Dev     uint16
--	Channel uint16
--}
--
--type RawSockaddrCAN struct {
--	Family    uint16
--	Pad_cgo_0 [2]byte
--	Ifindex   int32
--	Addr      [8]byte
--}
--
--type RawSockaddrALG struct {
--	Family uint16
--	Type   [14]uint8
--	Feat   uint32
--	Mask   uint32
--	Name   [64]uint8
--}
--
--type RawSockaddrVM struct {
--	Family    uint16
--	Reserved1 uint16
--	Port      uint32
--	Cid       uint32
--	Zero      [4]uint8
--}
--
- type RawSockaddr struct {
- 	Family uint16
- 	Data   [14]int8
-@@ -244,44 +136,20 @@ type RawSockaddrAny struct {
- 	Pad  [96]int8
- }
- 
--type _Socklen uint32
--
--type Linger struct {
--	Onoff  int32
--	Linger int32
--}
--
- type Iovec struct {
- 	Base *byte
- 	Len  uint64
- }
- 
--type IPMreq struct {
--	Multiaddr [4]byte /* in_addr */
--	Interface [4]byte /* in_addr */
--}
--
--type IPMreqn struct {
--	Multiaddr [4]byte /* in_addr */
--	Address   [4]byte /* in_addr */
--	Ifindex   int32
--}
--
--type IPv6Mreq struct {
--	Multiaddr [16]byte /* in6_addr */
--	Interface uint32
--}
--
- type Msghdr struct {
- 	Name       *byte
- 	Namelen    uint32
--	Pad_cgo_0  [4]byte
- 	Iov        *Iovec
- 	Iovlen     uint64
- 	Control    *byte
- 	Controllen uint64
- 	Flags      int32
--	Pad_cgo_1  [4]byte
-+	_          [4]byte
- }
- 
- type Cmsghdr struct {
-@@ -290,377 +158,441 @@ type Cmsghdr struct {
- 	Type  int32
- }
- 
--type Inet4Pktinfo struct {
--	Ifindex  int32
--	Spec_dst [4]byte /* in_addr */
--	Addr     [4]byte /* in_addr */
--}
--
--type Inet6Pktinfo struct {
--	Addr    [16]byte /* in6_addr */
--	Ifindex uint32
--}
--
--type IPv6MTUInfo struct {
--	Addr RawSockaddrInet6
--	Mtu  uint32
--}
--
--type ICMPv6Filter struct {
--	Data [8]uint32
--}
--
--type Ucred struct {
--	Pid int32
--	Uid uint32
--	Gid uint32
--}
--
--type TCPInfo struct {
--	State          uint8
--	Ca_state       uint8
--	Retransmits    uint8
--	Probes         uint8
--	Backoff        uint8
--	Options        uint8
--	Pad_cgo_0      [2]byte
--	Rto            uint32
--	Ato            uint32
--	Snd_mss        uint32
--	Rcv_mss        uint32
--	Unacked        uint32
--	Sacked         uint32
--	Lost           uint32
--	Retrans        uint32
--	Fackets        uint32
--	Last_data_sent uint32
--	Last_ack_sent  uint32
--	Last_data_recv uint32
--	Last_ack_recv  uint32
--	Pmtu           uint32
--	Rcv_ssthresh   uint32
--	Rtt            uint32
--	Rttvar         uint32
--	Snd_ssthresh   uint32
--	Snd_cwnd       uint32
--	Advmss         uint32
--	Reordering     uint32
--	Rcv_rtt        uint32
--	Rcv_space      uint32
--	Total_retrans  uint32
--}
--
- const (
--	SizeofSockaddrInet4     = 0x10
--	SizeofSockaddrInet6     = 0x1c
--	SizeofSockaddrAny       = 0x70
--	SizeofSockaddrUnix      = 0x6e
--	SizeofSockaddrLinklayer = 0x14
--	SizeofSockaddrNetlink   = 0xc
--	SizeofSockaddrHCI       = 0x6
--	SizeofSockaddrCAN       = 0x10
--	SizeofSockaddrALG       = 0x58
--	SizeofSockaddrVM        = 0x10
--	SizeofLinger            = 0x8
--	SizeofIPMreq            = 0x8
--	SizeofIPMreqn           = 0xc
--	SizeofIPv6Mreq          = 0x14
--	SizeofMsghdr            = 0x38
--	SizeofCmsghdr           = 0x10
--	SizeofInet4Pktinfo      = 0xc
--	SizeofInet6Pktinfo      = 0x14
--	SizeofIPv6MTUInfo       = 0x20
--	SizeofICMPv6Filter      = 0x20
--	SizeofUcred             = 0xc
--	SizeofTCPInfo           = 0x68
-+	SizeofIovec   = 0x10
-+	SizeofMsghdr  = 0x38
-+	SizeofCmsghdr = 0x10
- )
- 
- const (
--	IFA_UNSPEC          = 0x0
--	IFA_ADDRESS         = 0x1
--	IFA_LOCAL           = 0x2
--	IFA_LABEL           = 0x3
--	IFA_BROADCAST       = 0x4
--	IFA_ANYCAST         = 0x5
--	IFA_CACHEINFO       = 0x6
--	IFA_MULTICAST       = 0x7
--	IFLA_UNSPEC         = 0x0
--	IFLA_ADDRESS        = 0x1
--	IFLA_BROADCAST      = 0x2
--	IFLA_IFNAME         = 0x3
--	IFLA_MTU            = 0x4
--	IFLA_LINK           = 0x5
--	IFLA_QDISC          = 0x6
--	IFLA_STATS          = 0x7
--	IFLA_COST           = 0x8
--	IFLA_PRIORITY       = 0x9
--	IFLA_MASTER         = 0xa
--	IFLA_WIRELESS       = 0xb
--	IFLA_PROTINFO       = 0xc
--	IFLA_TXQLEN         = 0xd
--	IFLA_MAP            = 0xe
--	IFLA_WEIGHT         = 0xf
--	IFLA_OPERSTATE      = 0x10
--	IFLA_LINKMODE       = 0x11
--	IFLA_LINKINFO       = 0x12
--	IFLA_NET_NS_PID     = 0x13
--	IFLA_IFALIAS        = 0x14
--	IFLA_MAX            = 0x2a
--	RT_SCOPE_UNIVERSE   = 0x0
--	RT_SCOPE_SITE       = 0xc8
--	RT_SCOPE_LINK       = 0xfd
--	RT_SCOPE_HOST       = 0xfe
--	RT_SCOPE_NOWHERE    = 0xff
--	RT_TABLE_UNSPEC     = 0x0
--	RT_TABLE_COMPAT     = 0xfc
--	RT_TABLE_DEFAULT    = 0xfd
--	RT_TABLE_MAIN       = 0xfe
--	RT_TABLE_LOCAL      = 0xff
--	RT_TABLE_MAX        = 0xffffffff
--	RTA_UNSPEC          = 0x0
--	RTA_DST             = 0x1
--	RTA_SRC             = 0x2
--	RTA_IIF             = 0x3
--	RTA_OIF             = 0x4
--	RTA_GATEWAY         = 0x5
--	RTA_PRIORITY        = 0x6
--	RTA_PREFSRC         = 0x7
--	RTA_METRICS         = 0x8
--	RTA_MULTIPATH       = 0x9
--	RTA_FLOW            = 0xb
--	RTA_CACHEINFO       = 0xc
--	RTA_TABLE           = 0xf
--	RTN_UNSPEC          = 0x0
--	RTN_UNICAST         = 0x1
--	RTN_LOCAL           = 0x2
--	RTN_BROADCAST       = 0x3
--	RTN_ANYCAST         = 0x4
--	RTN_MULTICAST       = 0x5
--	RTN_BLACKHOLE       = 0x6
--	RTN_UNREACHABLE     = 0x7
--	RTN_PROHIBIT        = 0x8
--	RTN_THROW           = 0x9
--	RTN_NAT             = 0xa
--	RTN_XRESOLVE        = 0xb
--	RTNLGRP_NONE        = 0x0
--	RTNLGRP_LINK        = 0x1
--	RTNLGRP_NOTIFY      = 0x2
--	RTNLGRP_NEIGH       = 0x3
--	RTNLGRP_TC          = 0x4
--	RTNLGRP_IPV4_IFADDR = 0x5
--	RTNLGRP_IPV4_MROUTE = 0x6
--	RTNLGRP_IPV4_ROUTE  = 0x7
--	RTNLGRP_IPV4_RULE   = 0x8
--	RTNLGRP_IPV6_IFADDR = 0x9
--	RTNLGRP_IPV6_MROUTE = 0xa
--	RTNLGRP_IPV6_ROUTE  = 0xb
--	RTNLGRP_IPV6_IFINFO = 0xc
--	RTNLGRP_IPV6_PREFIX = 0x12
--	RTNLGRP_IPV6_RULE   = 0x13
--	RTNLGRP_ND_USEROPT  = 0x14
--	SizeofNlMsghdr      = 0x10
--	SizeofNlMsgerr      = 0x14
--	SizeofRtGenmsg      = 0x1
--	SizeofNlAttr        = 0x4
--	SizeofRtAttr        = 0x4
--	SizeofIfInfomsg     = 0x10
--	SizeofIfAddrmsg     = 0x8
--	SizeofRtMsg         = 0xc
--	SizeofRtNexthop     = 0x8
-+	SizeofSockFprog = 0x10
- )
- 
--type NlMsghdr struct {
--	Len   uint32
--	Type  uint16
--	Flags uint16
--	Seq   uint32
--	Pid   uint32
-+type PtraceRegs struct {
-+	Regs   [16]uint64
-+	Tstate uint64
-+	Tpc    uint64
-+	Tnpc   uint64
-+	Y      uint32
-+	Magic  uint32
- }
- 
--type NlMsgerr struct {
--	Error int32
--	Msg   NlMsghdr
-+type FdSet struct {
-+	Bits [16]int64
- }
- 
--type RtGenmsg struct {
--	Family uint8
-+type Sysinfo_t struct {
-+	Uptime    int64
-+	Loads     [3]uint64
-+	Totalram  uint64
-+	Freeram   uint64
-+	Sharedram uint64
-+	Bufferram uint64
-+	Totalswap uint64
-+	Freeswap  uint64
-+	Procs     uint16
-+	Pad       uint16
-+	Totalhigh uint64
-+	Freehigh  uint64
-+	Unit      uint32
-+	_         [0]int8
-+	_         [4]byte
- }
- 
--type NlAttr struct {
--	Len  uint16
--	Type uint16
-+type Ustat_t struct {
-+	Tfree  int32
-+	Tinode uint64
-+	Fname  [6]int8
-+	Fpack  [6]int8
-+	_      [4]byte
- }
- 
--type RtAttr struct {
--	Len  uint16
--	Type uint16
-+type EpollEvent struct {
-+	Events uint32
-+	_      int32
-+	Fd     int32
-+	Pad    int32
- }
- 
--type IfInfomsg struct {
--	Family     uint8
--	X__ifi_pad uint8
--	Type       uint16
--	Index      int32
--	Flags      uint32
--	Change     uint32
-+const (
-+	POLLRDHUP = 0x800
-+)
-+
-+type Sigset_t struct {
-+	Val [16]uint64
- }
- 
--type IfAddrmsg struct {
--	Family    uint8
--	Prefixlen uint8
--	Flags     uint8
--	Scope     uint8
--	Index     uint32
-+const _C__NSIG = 0x41
-+
-+type Termios struct {
-+	Iflag  uint32
-+	Oflag  uint32
-+	Cflag  uint32
-+	Lflag  uint32
-+	Line   uint8
-+	Cc     [19]uint8
-+	Ispeed uint32
-+	Ospeed uint32
- }
- 
--type RtMsg struct {
--	Family   uint8
--	Dst_len  uint8
--	Src_len  uint8
--	Tos      uint8
--	Table    uint8
--	Protocol uint8
--	Scope    uint8
--	Type     uint8
--	Flags    uint32
-+type Taskstats struct {
-+	Version                   uint16
-+	Ac_exitcode               uint32
-+	Ac_flag                   uint8
-+	Ac_nice                   uint8
-+	Cpu_count                 uint64
-+	Cpu_delay_total           uint64
-+	Blkio_count               uint64
-+	Blkio_delay_total         uint64
-+	Swapin_count              uint64
-+	Swapin_delay_total        uint64
-+	Cpu_run_real_total        uint64
-+	Cpu_run_virtual_total     uint64
-+	Ac_comm                   [32]int8
-+	Ac_sched                  uint8
-+	Ac_pad                    [3]uint8
-+	_                         [4]byte
-+	Ac_uid                    uint32
-+	Ac_gid                    uint32
-+	Ac_pid                    uint32
-+	Ac_ppid                   uint32
-+	Ac_btime                  uint32
-+	Ac_etime                  uint64
-+	Ac_utime                  uint64
-+	Ac_stime                  uint64
-+	Ac_minflt                 uint64
-+	Ac_majflt                 uint64
-+	Coremem                   uint64
-+	Virtmem                   uint64
-+	Hiwater_rss               uint64
-+	Hiwater_vm                uint64
-+	Read_char                 uint64
-+	Write_char                uint64
-+	Read_syscalls             uint64
-+	Write_syscalls            uint64
-+	Read_bytes                uint64
-+	Write_bytes               uint64
-+	Cancelled_write_bytes     uint64
-+	Nvcsw                     uint64
-+	Nivcsw                    uint64
-+	Ac_utimescaled            uint64
-+	Ac_stimescaled            uint64
-+	Cpu_scaled_run_real_total uint64
-+	Freepages_count           uint64
-+	Freepages_delay_total     uint64
-+	Thrashing_count           uint64
-+	Thrashing_delay_total     uint64
-+	Ac_btime64                uint64
-+}
-+
-+type cpuMask uint64
-+
-+const (
-+	_NCPUBITS = 0x40
-+)
-+
-+const (
-+	CBitFieldMaskBit0  = 0x8000000000000000
-+	CBitFieldMaskBit1  = 0x4000000000000000
-+	CBitFieldMaskBit2  = 0x2000000000000000
-+	CBitFieldMaskBit3  = 0x1000000000000000
-+	CBitFieldMaskBit4  = 0x800000000000000
-+	CBitFieldMaskBit5  = 0x400000000000000
-+	CBitFieldMaskBit6  = 0x200000000000000
-+	CBitFieldMaskBit7  = 0x100000000000000
-+	CBitFieldMaskBit8  = 0x80000000000000
-+	CBitFieldMaskBit9  = 0x40000000000000
-+	CBitFieldMaskBit10 = 0x20000000000000
-+	CBitFieldMaskBit11 = 0x10000000000000
-+	CBitFieldMaskBit12 = 0x8000000000000
-+	CBitFieldMaskBit13 = 0x4000000000000
-+	CBitFieldMaskBit14 = 0x2000000000000
-+	CBitFieldMaskBit15 = 0x1000000000000
-+	CBitFieldMaskBit16 = 0x800000000000
-+	CBitFieldMaskBit17 = 0x400000000000
-+	CBitFieldMaskBit18 = 0x200000000000
-+	CBitFieldMaskBit19 = 0x100000000000
-+	CBitFieldMaskBit20 = 0x80000000000
-+	CBitFieldMaskBit21 = 0x40000000000
-+	CBitFieldMaskBit22 = 0x20000000000
-+	CBitFieldMaskBit23 = 0x10000000000
-+	CBitFieldMaskBit24 = 0x8000000000
-+	CBitFieldMaskBit25 = 0x4000000000
-+	CBitFieldMaskBit26 = 0x2000000000
-+	CBitFieldMaskBit27 = 0x1000000000
-+	CBitFieldMaskBit28 = 0x800000000
-+	CBitFieldMaskBit29 = 0x400000000
-+	CBitFieldMaskBit30 = 0x200000000
-+	CBitFieldMaskBit31 = 0x100000000
-+	CBitFieldMaskBit32 = 0x80000000
-+	CBitFieldMaskBit33 = 0x40000000
-+	CBitFieldMaskBit34 = 0x20000000
-+	CBitFieldMaskBit35 = 0x10000000
-+	CBitFieldMaskBit36 = 0x8000000
-+	CBitFieldMaskBit37 = 0x4000000
-+	CBitFieldMaskBit38 = 0x2000000
-+	CBitFieldMaskBit39 = 0x1000000
-+	CBitFieldMaskBit40 = 0x800000
-+	CBitFieldMaskBit41 = 0x400000
-+	CBitFieldMaskBit42 = 0x200000
-+	CBitFieldMaskBit43 = 0x100000
-+	CBitFieldMaskBit44 = 0x80000
-+	CBitFieldMaskBit45 = 0x40000
-+	CBitFieldMaskBit46 = 0x20000
-+	CBitFieldMaskBit47 = 0x10000
-+	CBitFieldMaskBit48 = 0x8000
-+	CBitFieldMaskBit49 = 0x4000
-+	CBitFieldMaskBit50 = 0x2000
-+	CBitFieldMaskBit51 = 0x1000
-+	CBitFieldMaskBit52 = 0x800
-+	CBitFieldMaskBit53 = 0x400
-+	CBitFieldMaskBit54 = 0x200
-+	CBitFieldMaskBit55 = 0x100
-+	CBitFieldMaskBit56 = 0x80
-+	CBitFieldMaskBit57 = 0x40
-+	CBitFieldMaskBit58 = 0x20
-+	CBitFieldMaskBit59 = 0x10
-+	CBitFieldMaskBit60 = 0x8
-+	CBitFieldMaskBit61 = 0x4
-+	CBitFieldMaskBit62 = 0x2
-+	CBitFieldMaskBit63 = 0x1
-+)
-+
-+type SockaddrStorage struct {
-+	Family uint16
-+	_      [118]int8
-+	_      uint64
-+}
-+
-+type HDGeometry struct {
-+	Heads     uint8
-+	Sectors   uint8
-+	Cylinders uint16
-+	Start     uint64
-+}
-+
-+type Statfs_t struct {
-+	Type    int64
-+	Bsize   int64
-+	Blocks  uint64
-+	Bfree   uint64
-+	Bavail  uint64
-+	Files   uint64
-+	Ffree   uint64
-+	Fsid    Fsid
-+	Namelen int64
-+	Frsize  int64
-+	Flags   int64
-+	Spare   [4]int64
- }
- 
--type RtNexthop struct {
--	Len     uint16
--	Flags   uint8
--	Hops    uint8
--	Ifindex int32
-+type TpacketHdr struct {
-+	Status  uint64
-+	Len     uint32
-+	Snaplen uint32
-+	Mac     uint16
-+	Net     uint16
-+	Sec     uint32
-+	Usec    uint32
-+	_       [4]byte
- }
- 
- const (
--	SizeofSockFilter = 0x8
--	SizeofSockFprog  = 0x10
-+	SizeofTpacketHdr = 0x20
- )
- 
--type SockFilter struct {
--	Code uint16
--	Jt   uint8
--	Jf   uint8
--	K    uint32
-+type RTCPLLInfo struct {
-+	Ctrl    int32
-+	Value   int32
-+	Max     int32
-+	Min     int32
-+	Posmult int32
-+	Negmult int32
-+	Clock   int64
- }
- 
--type SockFprog struct {
--	Len       uint16
--	Pad_cgo_0 [6]byte
--	Filter    *SockFilter
-+type BlkpgPartition struct {
-+	Start   int64
-+	Length  int64
-+	Pno     int32
-+	Devname [64]uint8
-+	Volname [64]uint8
-+	_       [4]byte
- }
- 
--type InotifyEvent struct {
--	Wd     int32
--	Mask   uint32
--	Cookie uint32
--	Len    uint32
-+const (
-+	BLKPG = 0x20001269
-+)
-+
-+type XDPUmemReg struct {
-+	Addr     uint64
-+	Len      uint64
-+	Size     uint32
-+	Headroom uint32
-+	Flags    uint32
-+	_        [4]byte
- }
- 
--const SizeofInotifyEvent = 0x10
-+type CryptoUserAlg struct {
-+	Name        [64]int8
-+	Driver_name [64]int8
-+	Module_name [64]int8
-+	Type        uint32
-+	Mask        uint32
-+	Refcnt      uint32
-+	Flags       uint32
-+}
- 
--type PtraceRegs struct {
--	Regs   [16]uint64
--	Tstate uint64
--	Tpc    uint64
--	Tnpc   uint64
--	Y      uint32
--	Magic  uint32
-+type CryptoStatAEAD struct {
-+	Type         [64]int8
-+	Encrypt_cnt  uint64
-+	Encrypt_tlen uint64
-+	Decrypt_cnt  uint64
-+	Decrypt_tlen uint64
-+	Err_cnt      uint64
- }
- 
--type ptracePsw struct {
-+type CryptoStatAKCipher struct {
-+	Type         [64]int8
-+	Encrypt_cnt  uint64
-+	Encrypt_tlen uint64
-+	Decrypt_cnt  uint64
-+	Decrypt_tlen uint64
-+	Verify_cnt   uint64
-+	Sign_cnt     uint64
-+	Err_cnt      uint64
- }
- 
--type ptraceFpregs struct {
-+type CryptoStatCipher struct {
-+	Type         [64]int8
-+	Encrypt_cnt  uint64
-+	Encrypt_tlen uint64
-+	Decrypt_cnt  uint64
-+	Decrypt_tlen uint64
-+	Err_cnt      uint64
- }
- 
--type ptracePer struct {
-+type CryptoStatCompress struct {
-+	Type            [64]int8
-+	Compress_cnt    uint64
-+	Compress_tlen   uint64
-+	Decompress_cnt  uint64
-+	Decompress_tlen uint64
-+	Err_cnt         uint64
- }
- 
--type FdSet struct {
--	Bits [16]int64
-+type CryptoStatHash struct {
-+	Type      [64]int8
-+	Hash_cnt  uint64
-+	Hash_tlen uint64
-+	Err_cnt   uint64
- }
- 
--type Sysinfo_t struct {
--	Uptime    int64
--	Loads     [3]uint64
--	Totalram  uint64
--	Freeram   uint64
--	Sharedram uint64
--	Bufferram uint64
--	Totalswap uint64
--	Freeswap  uint64
--	Procs     uint16
--	Pad       uint16
--	Pad_cgo_0 [4]byte
--	Totalhigh uint64
--	Freehigh  uint64
--	Unit      uint32
--	X_f       [0]int8
--	Pad_cgo_1 [4]byte
-+type CryptoStatKPP struct {
-+	Type                      [64]int8
-+	Setsecret_cnt             uint64
-+	Generate_public_key_cnt   uint64
-+	Compute_shared_secret_cnt uint64
-+	Err_cnt                   uint64
- }
- 
--type Utsname struct {
--	Sysname    [65]int8
--	Nodename   [65]int8
--	Release    [65]int8
--	Version    [65]int8
--	Machine    [65]int8
--	Domainname [65]int8
-+type CryptoStatRNG struct {
-+	Type          [64]int8
-+	Generate_cnt  uint64
-+	Generate_tlen uint64
-+	Seed_cnt      uint64
-+	Err_cnt       uint64
- }
- 
--type Ustat_t struct {
--	Tfree     int32
--	Pad_cgo_0 [4]byte
--	Tinode    uint64
--	Fname     [6]int8
--	Fpack     [6]int8
--	Pad_cgo_1 [4]byte
-+type CryptoStatLarval struct {
-+	Type [64]int8
- }
- 
--type EpollEvent struct {
--	Events  uint32
--	X_padFd int32
--	Fd      int32
--	Pad     int32
-+type CryptoReportLarval struct {
-+	Type [64]int8
- }
- 
--const (
--	AT_FDCWD            = -0x64
--	AT_REMOVEDIR        = 0x200
--	AT_SYMLINK_FOLLOW   = 0x400
--	AT_SYMLINK_NOFOLLOW = 0x100
--)
-+type CryptoReportHash struct {
-+	Type       [64]int8
-+	Blocksize  uint32
-+	Digestsize uint32
-+}
- 
--type PollFd struct {
--	Fd      int32
--	Events  int16
--	Revents int16
-+type CryptoReportCipher struct {
-+	Type        [64]int8
-+	Blocksize   uint32
-+	Min_keysize uint32
-+	Max_keysize uint32
- }
- 
--const (
--	POLLIN    = 0x1
--	POLLPRI   = 0x2
--	POLLOUT   = 0x4
--	POLLRDHUP = 0x800
--	POLLERR   = 0x8
--	POLLHUP   = 0x10
--	POLLNVAL  = 0x20
--)
-+type CryptoReportBlkCipher struct {
-+	Type        [64]int8
-+	Geniv       [64]int8
-+	Blocksize   uint32
-+	Min_keysize uint32
-+	Max_keysize uint32
-+	Ivsize      uint32
-+}
- 
--type Sigset_t struct {
--	X__val [16]uint64
-+type CryptoReportAEAD struct {
-+	Type        [64]int8
-+	Geniv       [64]int8
-+	Blocksize   uint32
-+	Maxauthsize uint32
-+	Ivsize      uint32
- }
- 
--const _SC_PAGESIZE = 0x1e
-+type CryptoReportComp struct {
-+	Type [64]int8
-+}
- 
--type Termios struct {
--	Iflag  uint32
--	Oflag  uint32
--	Cflag  uint32
--	Lflag  uint32
--	Line   uint8
--	Cc     [19]uint8
--	Ispeed uint32
--	Ospeed uint32
-+type CryptoReportRNG struct {
-+	Type     [64]int8
-+	Seedsize uint32
-+}
-+
-+type CryptoReportAKCipher struct {
-+	Type [64]int8
-+}
-+
-+type CryptoReportKPP struct {
-+	Type [64]int8
-+}
-+
-+type CryptoReportAcomp struct {
-+	Type [64]int8
-+}
-+
-+type LoopInfo struct {
-+	Number           int32
-+	Device           uint32
-+	Inode            uint64
-+	Rdevice          uint32
-+	Offset           int32
-+	Encrypt_type     int32
-+	Encrypt_key_size int32
-+	Flags            int32
-+	Name             [64]int8
-+	Encrypt_key      [32]uint8
-+	Init             [2]uint64
-+	Reserved         [4]int8
-+	_                [4]byte
-+}
-+
-+type TIPCSubscr struct {
-+	Seq     TIPCServiceRange
-+	Timeout uint32
-+	Filter  uint32
-+	Handle  [8]int8
-+}
-+
-+type TIPCSIOCLNReq struct {
-+	Peer     uint32
-+	Id       uint32
-+	Linkname [68]int8
-+}
-+
-+type TIPCSIOCNodeIDReq struct {
-+	Peer uint32
-+	Id   [16]int8
- }
-diff --git a/vendor/golang.org/x/sys/unix/ztypes_netbsd_386.go b/vendor/golang.org/x/sys/unix/ztypes_netbsd_386.go
-index 42f99c0a..a89100c0 100644
---- a/vendor/golang.org/x/sys/unix/ztypes_netbsd_386.go
-+++ b/vendor/golang.org/x/sys/unix/ztypes_netbsd_386.go
-@@ -1,16 +1,16 @@
--// Created by cgo -godefs - DO NOT EDIT
--// cgo -godefs types_netbsd.go
-+// cgo -godefs types_netbsd.go | go run mkpost.go
-+// Code generated by the command above; see README.md. DO NOT EDIT.
- 
- // +build 386,netbsd
- 
- package unix
- 
- const (
--	sizeofPtr      = 0x4
--	sizeofShort    = 0x2
--	sizeofInt      = 0x4
--	sizeofLong     = 0x4
--	sizeofLongLong = 0x8
-+	SizeofPtr      = 0x4
-+	SizeofShort    = 0x2
-+	SizeofInt      = 0x4
-+	SizeofLong     = 0x4
-+	SizeofLongLong = 0x8
- )
- 
- type (
-@@ -57,27 +57,54 @@ type Rlimit struct {
- type _Gid_t uint32
- 
- type Stat_t struct {
--	Dev           uint64
--	Mode          uint32
--	Ino           uint64
--	Nlink         uint32
--	Uid           uint32
--	Gid           uint32
--	Rdev          uint64
--	Atimespec     Timespec
--	Mtimespec     Timespec
--	Ctimespec     Timespec
--	Birthtimespec Timespec
--	Size          int64
--	Blocks        int64
--	Blksize       uint32
--	Flags         uint32
--	Gen           uint32
--	Spare         [2]uint32
-+	Dev     uint64
-+	Mode    uint32
-+	Ino     uint64
-+	Nlink   uint32
-+	Uid     uint32
-+	Gid     uint32
-+	Rdev    uint64
-+	Atim    Timespec
-+	Mtim    Timespec
-+	Ctim    Timespec
-+	Btim    Timespec
-+	Size    int64
-+	Blocks  int64
-+	Blksize uint32
-+	Flags   uint32
-+	Gen     uint32
-+	Spare   [2]uint32
- }
- 
- type Statfs_t [0]byte
- 
-+type Statvfs_t struct {
-+	Flag        uint32
-+	Bsize       uint32
-+	Frsize      uint32
-+	Iosize      uint32
-+	Blocks      uint64
-+	Bfree       uint64
-+	Bavail      uint64
-+	Bresvd      uint64
-+	Files       uint64
-+	Ffree       uint64
-+	Favail      uint64
-+	Fresvd      uint64
-+	Syncreads   uint64
-+	Syncwrites  uint64
-+	Asyncreads  uint64
-+	Asyncwrites uint64
-+	Fsidx       Fsid
-+	Fsid        uint32
-+	Namemax     uint32
-+	Owner       uint32
-+	Spare       [4]uint32
-+	Fstypename  [32]byte
-+	Mntonname   [1024]byte
-+	Mntfromname [1024]byte
-+}
-+
- type Flock_t struct {
- 	Start  int64
- 	Len    int64
-@@ -99,6 +126,24 @@ type Fsid struct {
- 	X__fsid_val [2]int32
- }
- 
-+const (
-+	PathMax = 0x400
-+)
-+
-+const (
-+	ST_WAIT   = 0x1
-+	ST_NOWAIT = 0x2
-+)
-+
-+const (
-+	FADV_NORMAL     = 0x0
-+	FADV_RANDOM     = 0x1
-+	FADV_SEQUENTIAL = 0x2
-+	FADV_WILLNEED   = 0x3
-+	FADV_DONTNEED   = 0x4
-+	FADV_NOREUSE    = 0x5
-+)
-+
- type RawSockaddrInet4 struct {
- 	Len    uint8
- 	Family uint8
-@@ -382,11 +427,45 @@ type Termios struct {
- 	Ospeed int32
- }
- 
-+type Winsize struct {
-+	Row    uint16
-+	Col    uint16
-+	Xpixel uint16
-+	Ypixel uint16
-+}
-+
-+type Ptmget struct {
-+	Cfd int32
-+	Sfd int32
-+	Cn  [1024]byte
-+	Sn  [1024]byte
-+}
-+
- const (
- 	AT_FDCWD            = -0x64
-+	AT_SYMLINK_FOLLOW   = 0x400
- 	AT_SYMLINK_NOFOLLOW = 0x200
- )
- 
-+type PollFd struct {
-+	Fd      int32
-+	Events  int16
-+	Revents int16
-+}
-+
-+const (
-+	POLLERR    = 0x8
-+	POLLHUP    = 0x10
-+	POLLIN     = 0x1
-+	POLLNVAL   = 0x20
-+	POLLOUT    = 0x4
-+	POLLPRI    = 0x2
-+	POLLRDBAND = 0x80
-+	POLLRDNORM = 0x40
-+	POLLWRBAND = 0x100
-+	POLLWRNORM = 0x4
-+)
-+
- type Sysctlnode struct {
- 	Flags           uint32
- 	Num             int32
-@@ -399,3 +478,21 @@ type Sysctlnode struct {
- 	X_sysctl_parent [8]byte
- 	X_sysctl_desc   [8]byte
- }
-+
-+type Utsname struct {
-+	Sysname  [256]byte
-+	Nodename [256]byte
-+	Release  [256]byte
-+	Version  [256]byte
-+	Machine  [256]byte
-+}
-+
-+const SizeofClockinfo = 0x14
-+
-+type Clockinfo struct {
-+	Hz      int32
-+	Tick    int32
-+	Tickadj int32
-+	Stathz  int32
-+	Profhz  int32
-+}
-diff --git a/vendor/golang.org/x/sys/unix/ztypes_netbsd_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_netbsd_amd64.go
-index ff290ba0..289184e0 100644
---- a/vendor/golang.org/x/sys/unix/ztypes_netbsd_amd64.go
-+++ b/vendor/golang.org/x/sys/unix/ztypes_netbsd_amd64.go
-@@ -1,16 +1,16 @@
--// Created by cgo -godefs - DO NOT EDIT
--// cgo -godefs types_netbsd.go
-+// cgo -godefs types_netbsd.go | go run mkpost.go
-+// Code generated by the command above; see README.md. DO NOT EDIT.
- 
- // +build amd64,netbsd
- 
- package unix
- 
- const (
--	sizeofPtr      = 0x8
--	sizeofShort    = 0x2
--	sizeofInt      = 0x4
--	sizeofLong     = 0x8
--	sizeofLongLong = 0x8
-+	SizeofPtr      = 0x8
-+	SizeofShort    = 0x2
-+	SizeofInt      = 0x4
-+	SizeofLong     = 0x8
-+	SizeofLongLong = 0x8
- )
- 
- type (
-@@ -58,30 +58,58 @@ type Rlimit struct {
- type _Gid_t uint32
- 
- type Stat_t struct {
--	Dev           uint64
--	Mode          uint32
--	Pad_cgo_0     [4]byte
--	Ino           uint64
--	Nlink         uint32
--	Uid           uint32
--	Gid           uint32
--	Pad_cgo_1     [4]byte
--	Rdev          uint64
--	Atimespec     Timespec
--	Mtimespec     Timespec
--	Ctimespec     Timespec
--	Birthtimespec Timespec
--	Size          int64
--	Blocks        int64
--	Blksize       uint32
--	Flags         uint32
--	Gen           uint32
--	Spare         [2]uint32
--	Pad_cgo_2     [4]byte
-+	Dev     uint64
-+	Mode    uint32
-+	_       [4]byte
-+	Ino     uint64
-+	Nlink   uint32
-+	Uid     uint32
-+	Gid     uint32
-+	_       [4]byte
-+	Rdev    uint64
-+	Atim    Timespec
-+	Mtim    Timespec
-+	Ctim    Timespec
-+	Btim    Timespec
-+	Size    int64
-+	Blocks  int64
-+	Blksize uint32
-+	Flags   uint32
-+	Gen     uint32
-+	Spare   [2]uint32
-+	_       [4]byte
- }
- 
- type Statfs_t [0]byte
- 
-+type Statvfs_t struct {
-+	Flag        uint64
-+	Bsize       uint64
-+	Frsize      uint64
-+	Iosize      uint64
-+	Blocks      uint64
-+	Bfree       uint64
-+	Bavail      uint64
-+	Bresvd      uint64
-+	Files       uint64
-+	Ffree       uint64
-+	Favail      uint64
-+	Fresvd      uint64
-+	Syncreads   uint64
-+	Syncwrites  uint64
-+	Asyncreads  uint64
-+	Asyncwrites uint64
-+	Fsidx       Fsid
-+	Fsid        uint64
-+	Namemax     uint64
-+	Owner       uint32
-+	Spare       [4]uint32
-+	Fstypename  [32]byte
-+	Mntonname   [1024]byte
-+	Mntfromname [1024]byte
-+	_           [4]byte
-+}
-+
- type Flock_t struct {
- 	Start  int64
- 	Len    int64
-@@ -103,6 +131,24 @@ type Fsid struct {
- 	X__fsid_val [2]int32
- }
- 
-+const (
-+	PathMax = 0x400
-+)
-+
-+const (
-+	ST_WAIT   = 0x1
-+	ST_NOWAIT = 0x2
-+)
-+
-+const (
-+	FADV_NORMAL     = 0x0
-+	FADV_RANDOM     = 0x1
-+	FADV_SEQUENTIAL = 0x2
-+	FADV_WILLNEED   = 0x3
-+	FADV_DONTNEED   = 0x4
-+	FADV_NOREUSE    = 0x5
-+)
-+
- type RawSockaddrInet4 struct {
- 	Len    uint8
- 	Family uint8
-@@ -389,11 +435,45 @@ type Termios struct {
- 	Ospeed int32
- }
- 
-+type Winsize struct {
-+	Row    uint16
-+	Col    uint16
-+	Xpixel uint16
-+	Ypixel uint16
-+}
-+
-+type Ptmget struct {
-+	Cfd int32
-+	Sfd int32
-+	Cn  [1024]byte
-+	Sn  [1024]byte
-+}
-+
- const (
- 	AT_FDCWD            = -0x64
-+	AT_SYMLINK_FOLLOW   = 0x400
- 	AT_SYMLINK_NOFOLLOW = 0x200
- )
- 
-+type PollFd struct {
-+	Fd      int32
-+	Events  int16
-+	Revents int16
-+}
-+
-+const (
-+	POLLERR    = 0x8
-+	POLLHUP    = 0x10
-+	POLLIN     = 0x1
-+	POLLNVAL   = 0x20
-+	POLLOUT    = 0x4
-+	POLLPRI    = 0x2
-+	POLLRDBAND = 0x80
-+	POLLRDNORM = 0x40
-+	POLLWRBAND = 0x100
-+	POLLWRNORM = 0x4
-+)
-+
- type Sysctlnode struct {
- 	Flags           uint32
- 	Num             int32
-@@ -406,3 +486,21 @@ type Sysctlnode struct {
- 	X_sysctl_parent [8]byte
- 	X_sysctl_desc   [8]byte
- }
-+
-+type Utsname struct {
-+	Sysname  [256]byte
-+	Nodename [256]byte
-+	Release  [256]byte
-+	Version  [256]byte
-+	Machine  [256]byte
-+}
-+
-+const SizeofClockinfo = 0x14
-+
-+type Clockinfo struct {
-+	Hz      int32
-+	Tick    int32
-+	Tickadj int32
-+	Stathz  int32
-+	Profhz  int32
-+}
-diff --git a/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm.go b/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm.go
-index 66dbd7c0..428c450e 100644
---- a/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm.go
-+++ b/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm.go
-@@ -1,16 +1,16 @@
--// Created by cgo -godefs - DO NOT EDIT
--// cgo -godefs types_netbsd.go
-+// cgo -godefs types_netbsd.go | go run mkpost.go
-+// Code generated by the command above; see README.md. DO NOT EDIT.
- 
- // +build arm,netbsd
- 
- package unix
- 
- const (
--	sizeofPtr      = 0x4
--	sizeofShort    = 0x2
--	sizeofInt      = 0x4
--	sizeofLong     = 0x4
--	sizeofLongLong = 0x8
-+	SizeofPtr      = 0x4
-+	SizeofShort    = 0x2
-+	SizeofInt      = 0x4
-+	SizeofLong     = 0x4
-+	SizeofLongLong = 0x8
- )
- 
- type (
-@@ -59,30 +59,57 @@ type Rlimit struct {
- type _Gid_t uint32
- 
- type Stat_t struct {
--	Dev           uint64
--	Mode          uint32
--	Pad_cgo_0     [4]byte
--	Ino           uint64
--	Nlink         uint32
--	Uid           uint32
--	Gid           uint32
--	Pad_cgo_1     [4]byte
--	Rdev          uint64
--	Atimespec     Timespec
--	Mtimespec     Timespec
--	Ctimespec     Timespec
--	Birthtimespec Timespec
--	Size          int64
--	Blocks        int64
--	Blksize       uint32
--	Flags         uint32
--	Gen           uint32
--	Spare         [2]uint32
--	Pad_cgo_2     [4]byte
-+	Dev     uint64
-+	Mode    uint32
-+	_       [4]byte
-+	Ino     uint64
-+	Nlink   uint32
-+	Uid     uint32
-+	Gid     uint32
-+	_       [4]byte
-+	Rdev    uint64
-+	Atim    Timespec
-+	Mtim    Timespec
-+	Ctim    Timespec
-+	Btim    Timespec
-+	Size    int64
-+	Blocks  int64
-+	Blksize uint32
-+	Flags   uint32
-+	Gen     uint32
-+	Spare   [2]uint32
-+	_       [4]byte
- }
- 
- type Statfs_t [0]byte
- 
-+type Statvfs_t struct {
-+	Flag        uint32
-+	Bsize       uint32
-+	Frsize      uint32
-+	Iosize      uint32
-+	Blocks      uint64
-+	Bfree       uint64
-+	Bavail      uint64
-+	Bresvd      uint64
-+	Files       uint64
-+	Ffree       uint64
-+	Favail      uint64
-+	Fresvd      uint64
-+	Syncreads   uint64
-+	Syncwrites  uint64
-+	Asyncreads  uint64
-+	Asyncwrites uint64
-+	Fsidx       Fsid
-+	Fsid        uint32
-+	Namemax     uint32
-+	Owner       uint32
-+	Spare       [4]uint32
-+	Fstypename  [32]byte
-+	Mntonname   [1024]byte
-+	Mntfromname [1024]byte
-+}
-+
- type Flock_t struct {
- 	Start  int64
- 	Len    int64
-@@ -104,6 +131,24 @@ type Fsid struct {
- 	X__fsid_val [2]int32
- }
- 
-+const (
-+	PathMax = 0x400
-+)
-+
-+const (
-+	ST_WAIT   = 0x1
-+	ST_NOWAIT = 0x2
-+)
-+
-+const (
-+	FADV_NORMAL     = 0x0
-+	FADV_RANDOM     = 0x1
-+	FADV_SEQUENTIAL = 0x2
-+	FADV_WILLNEED   = 0x3
-+	FADV_DONTNEED   = 0x4
-+	FADV_NOREUSE    = 0x5
-+)
-+
- type RawSockaddrInet4 struct {
- 	Len    uint8
- 	Family uint8
-@@ -387,11 +432,45 @@ type Termios struct {
- 	Ospeed int32
- }
- 
-+type Winsize struct {
-+	Row    uint16
-+	Col    uint16
-+	Xpixel uint16
-+	Ypixel uint16
-+}
-+
-+type Ptmget struct {
-+	Cfd int32
-+	Sfd int32
-+	Cn  [1024]byte
-+	Sn  [1024]byte
-+}
-+
- const (
- 	AT_FDCWD            = -0x64
-+	AT_SYMLINK_FOLLOW   = 0x400
- 	AT_SYMLINK_NOFOLLOW = 0x200
- )
- 
-+type PollFd struct {
-+	Fd      int32
-+	Events  int16
-+	Revents int16
-+}
-+
-+const (
-+	POLLERR    = 0x8
-+	POLLHUP    = 0x10
-+	POLLIN     = 0x1
-+	POLLNVAL   = 0x20
-+	POLLOUT    = 0x4
-+	POLLPRI    = 0x2
-+	POLLRDBAND = 0x80
-+	POLLRDNORM = 0x40
-+	POLLWRBAND = 0x100
-+	POLLWRNORM = 0x4
-+)
-+
- type Sysctlnode struct {
- 	Flags           uint32
- 	Num             int32
-@@ -404,3 +483,21 @@ type Sysctlnode struct {
- 	X_sysctl_parent [8]byte
- 	X_sysctl_desc   [8]byte
- }
-+
-+type Utsname struct {
-+	Sysname  [256]byte
-+	Nodename [256]byte
-+	Release  [256]byte
-+	Version  [256]byte
-+	Machine  [256]byte
-+}
-+
-+const SizeofClockinfo = 0x14
-+
-+type Clockinfo struct {
-+	Hz      int32
-+	Tick    int32
-+	Tickadj int32
-+	Stathz  int32
-+	Profhz  int32
-+}
-diff --git a/vendor/golang.org/x/sys/unix/ztypes_netbsd_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm64.go
-similarity index 73%
-copy from vendor/golang.org/x/sys/unix/ztypes_netbsd_amd64.go
-copy to vendor/golang.org/x/sys/unix/ztypes_netbsd_arm64.go
-index ff290ba0..6f1f2842 100644
---- a/vendor/golang.org/x/sys/unix/ztypes_netbsd_amd64.go
-+++ b/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm64.go
-@@ -1,16 +1,16 @@
--// Created by cgo -godefs - DO NOT EDIT
--// cgo -godefs types_netbsd.go
-+// cgo -godefs types_netbsd.go | go run mkpost.go
-+// Code generated by the command above; see README.md. DO NOT EDIT.
- 
--// +build amd64,netbsd
-+// +build arm64,netbsd
- 
- package unix
- 
- const (
--	sizeofPtr      = 0x8
--	sizeofShort    = 0x2
--	sizeofInt      = 0x4
--	sizeofLong     = 0x8
--	sizeofLongLong = 0x8
-+	SizeofPtr      = 0x8
-+	SizeofShort    = 0x2
-+	SizeofInt      = 0x4
-+	SizeofLong     = 0x8
-+	SizeofLongLong = 0x8
- )
- 
- type (
-@@ -58,30 +58,58 @@ type Rlimit struct {
- type _Gid_t uint32
- 
- type Stat_t struct {
--	Dev           uint64
--	Mode          uint32
--	Pad_cgo_0     [4]byte
--	Ino           uint64
--	Nlink         uint32
--	Uid           uint32
--	Gid           uint32
--	Pad_cgo_1     [4]byte
--	Rdev          uint64
--	Atimespec     Timespec
--	Mtimespec     Timespec
--	Ctimespec     Timespec
--	Birthtimespec Timespec
--	Size          int64
--	Blocks        int64
--	Blksize       uint32
--	Flags         uint32
--	Gen           uint32
--	Spare         [2]uint32
--	Pad_cgo_2     [4]byte
-+	Dev     uint64
-+	Mode    uint32
-+	_       [4]byte
-+	Ino     uint64
-+	Nlink   uint32
-+	Uid     uint32
-+	Gid     uint32
-+	_       [4]byte
-+	Rdev    uint64
-+	Atim    Timespec
-+	Mtim    Timespec
-+	Ctim    Timespec
-+	Btim    Timespec
-+	Size    int64
-+	Blocks  int64
-+	Blksize uint32
-+	Flags   uint32
-+	Gen     uint32
-+	Spare   [2]uint32
-+	_       [4]byte
- }
- 
- type Statfs_t [0]byte
- 
-+type Statvfs_t struct {
-+	Flag        uint64
-+	Bsize       uint64
-+	Frsize      uint64
-+	Iosize      uint64
-+	Blocks      uint64
-+	Bfree       uint64
-+	Bavail      uint64
-+	Bresvd      uint64
-+	Files       uint64
-+	Ffree       uint64
-+	Favail      uint64
-+	Fresvd      uint64
-+	Syncreads   uint64
-+	Syncwrites  uint64
-+	Asyncreads  uint64
-+	Asyncwrites uint64
-+	Fsidx       Fsid
-+	Fsid        uint64
-+	Namemax     uint64
-+	Owner       uint32
-+	Spare       [4]uint32
-+	Fstypename  [32]byte
-+	Mntonname   [1024]byte
-+	Mntfromname [1024]byte
-+	_           [4]byte
-+}
-+
- type Flock_t struct {
- 	Start  int64
- 	Len    int64
-@@ -103,6 +131,24 @@ type Fsid struct {
- 	X__fsid_val [2]int32
- }
- 
-+const (
-+	PathMax = 0x400
-+)
-+
-+const (
-+	ST_WAIT   = 0x1
-+	ST_NOWAIT = 0x2
-+)
-+
-+const (
-+	FADV_NORMAL     = 0x0
-+	FADV_RANDOM     = 0x1
-+	FADV_SEQUENTIAL = 0x2
-+	FADV_WILLNEED   = 0x3
-+	FADV_DONTNEED   = 0x4
-+	FADV_NOREUSE    = 0x5
-+)
-+
- type RawSockaddrInet4 struct {
- 	Len    uint8
- 	Family uint8
-@@ -389,11 +435,45 @@ type Termios struct {
- 	Ospeed int32
- }
- 
-+type Winsize struct {
-+	Row    uint16
-+	Col    uint16
-+	Xpixel uint16
-+	Ypixel uint16
-+}
-+
-+type Ptmget struct {
-+	Cfd int32
-+	Sfd int32
-+	Cn  [1024]byte
-+	Sn  [1024]byte
-+}
-+
- const (
- 	AT_FDCWD            = -0x64
-+	AT_SYMLINK_FOLLOW   = 0x400
- 	AT_SYMLINK_NOFOLLOW = 0x200
- )
- 
-+type PollFd struct {
-+	Fd      int32
-+	Events  int16
-+	Revents int16
-+}
-+
-+const (
-+	POLLERR    = 0x8
-+	POLLHUP    = 0x10
-+	POLLIN     = 0x1
-+	POLLNVAL   = 0x20
-+	POLLOUT    = 0x4
-+	POLLPRI    = 0x2
-+	POLLRDBAND = 0x80
-+	POLLRDNORM = 0x40
-+	POLLWRBAND = 0x100
-+	POLLWRNORM = 0x4
-+)
-+
- type Sysctlnode struct {
- 	Flags           uint32
- 	Num             int32
-@@ -406,3 +486,21 @@ type Sysctlnode struct {
- 	X_sysctl_parent [8]byte
- 	X_sysctl_desc   [8]byte
- }
-+
-+type Utsname struct {
-+	Sysname  [256]byte
-+	Nodename [256]byte
-+	Release  [256]byte
-+	Version  [256]byte
-+	Machine  [256]byte
-+}
-+
-+const SizeofClockinfo = 0x14
-+
-+type Clockinfo struct {
-+	Hz      int32
-+	Tick    int32
-+	Tickadj int32
-+	Stathz  int32
-+	Profhz  int32
-+}
-diff --git a/vendor/golang.org/x/sys/unix/ztypes_openbsd_386.go b/vendor/golang.org/x/sys/unix/ztypes_openbsd_386.go
-index 20fc9f45..61ea0019 100644
---- a/vendor/golang.org/x/sys/unix/ztypes_openbsd_386.go
-+++ b/vendor/golang.org/x/sys/unix/ztypes_openbsd_386.go
-@@ -1,16 +1,16 @@
--// Created by cgo -godefs - DO NOT EDIT
--// cgo -godefs types_openbsd.go
-+// cgo -godefs types_openbsd.go | go run mkpost.go
-+// Code generated by the command above; see README.md. DO NOT EDIT.
- 
- // +build 386,openbsd
- 
- package unix
- 
- const (
--	sizeofPtr      = 0x4
--	sizeofShort    = 0x2
--	sizeofInt      = 0x4
--	sizeofLong     = 0x4
--	sizeofLongLong = 0x8
-+	SizeofPtr      = 0x4
-+	SizeofShort    = 0x2
-+	SizeofInt      = 0x4
-+	SizeofLong     = 0x4
-+	SizeofLongLong = 0x8
- )
- 
- type (
-@@ -56,23 +56,6 @@ type Rlimit struct {
- 
- type _Gid_t uint32
- 
--const (
--	S_IFMT   = 0xf000
--	S_IFIFO  = 0x1000
--	S_IFCHR  = 0x2000
--	S_IFDIR  = 0x4000
--	S_IFBLK  = 0x6000
--	S_IFREG  = 0x8000
--	S_IFLNK  = 0xa000
--	S_IFSOCK = 0xc000
--	S_ISUID  = 0x800
--	S_ISGID  = 0x400
--	S_ISVTX  = 0x200
--	S_IRUSR  = 0x100
--	S_IWUSR  = 0x80
--	S_IXUSR  = 0x40
--)
--
- type Stat_t struct {
- 	Mode           uint32
- 	Dev            int32
-@@ -140,6 +123,10 @@ type Fsid struct {
- 	Val [2]int32
- }
- 
-+const (
-+	PathMax = 0x400
-+)
-+
- type RawSockaddrInet4 struct {
- 	Len    uint8
- 	Family uint8
-@@ -440,7 +427,145 @@ type Termios struct {
- 	Ospeed int32
- }
- 
-+type Winsize struct {
-+	Row    uint16
-+	Col    uint16
-+	Xpixel uint16
-+	Ypixel uint16
-+}
-+
- const (
- 	AT_FDCWD            = -0x64
-+	AT_SYMLINK_FOLLOW   = 0x4
- 	AT_SYMLINK_NOFOLLOW = 0x2
- )
-+
-+type PollFd struct {
-+	Fd      int32
-+	Events  int16
-+	Revents int16
-+}
-+
-+const (
-+	POLLERR    = 0x8
-+	POLLHUP    = 0x10
-+	POLLIN     = 0x1
-+	POLLNVAL   = 0x20
-+	POLLOUT    = 0x4
-+	POLLPRI    = 0x2
-+	POLLRDBAND = 0x80
-+	POLLRDNORM = 0x40
-+	POLLWRBAND = 0x100
-+	POLLWRNORM = 0x4
-+)
-+
-+type Sigset_t uint32
-+
-+type Utsname struct {
-+	Sysname  [256]byte
-+	Nodename [256]byte
-+	Release  [256]byte
-+	Version  [256]byte
-+	Machine  [256]byte
-+}
-+
-+const SizeofUvmexp = 0x158
-+
-+type Uvmexp struct {
-+	Pagesize           int32
-+	Pagemask           int32
-+	Pageshift          int32
-+	Npages             int32
-+	Free               int32
-+	Active             int32
-+	Inactive           int32
-+	Paging             int32
-+	Wired              int32
-+	Zeropages          int32
-+	Reserve_pagedaemon int32
-+	Reserve_kernel     int32
-+	Anonpages          int32
-+	Vnodepages         int32
-+	Vtextpages         int32
-+	Freemin            int32
-+	Freetarg           int32
-+	Inactarg           int32
-+	Wiredmax           int32
-+	Anonmin            int32
-+	Vtextmin           int32
-+	Vnodemin           int32
-+	Anonminpct         int32
-+	Vtextminpct        int32
-+	Vnodeminpct        int32
-+	Nswapdev           int32
-+	Swpages            int32
-+	Swpginuse          int32
-+	Swpgonly           int32
-+	Nswget             int32
-+	Nanon              int32
-+	Nanonneeded        int32
-+	Nfreeanon          int32
-+	Faults             int32
-+	Traps              int32
-+	Intrs              int32
-+	Swtch              int32
-+	Softs              int32
-+	Syscalls           int32
-+	Pageins            int32
-+	Obsolete_swapins   int32
-+	Obsolete_swapouts  int32
-+	Pgswapin           int32
-+	Pgswapout          int32
-+	Forks              int32
-+	Forks_ppwait       int32
-+	Forks_sharevm      int32
-+	Pga_zerohit        int32
-+	Pga_zeromiss       int32
-+	Zeroaborts         int32
-+	Fltnoram           int32
-+	Fltnoanon          int32
-+	Fltnoamap          int32
-+	Fltpgwait          int32
-+	Fltpgrele          int32
-+	Fltrelck           int32
-+	Fltrelckok         int32
-+	Fltanget           int32
-+	Fltanretry         int32
-+	Fltamcopy          int32
-+	Fltnamap           int32
-+	Fltnomap           int32
-+	Fltlget            int32
-+	Fltget             int32
-+	Flt_anon           int32
-+	Flt_acow           int32
-+	Flt_obj            int32
-+	Flt_prcopy         int32
-+	Flt_przero         int32
-+	Pdwoke             int32
-+	Pdrevs             int32
-+	Pdswout            int32
-+	Pdfreed            int32
-+	Pdscans            int32
-+	Pdanscan           int32
-+	Pdobscan           int32
-+	Pdreact            int32
-+	Pdbusy             int32
-+	Pdpageouts         int32
-+	Pdpending          int32
-+	Pddeact            int32
-+	Pdreanon           int32
-+	Pdrevnode          int32
-+	Pdrevtext          int32
-+	Fpswtch            int32
-+	Kmapent            int32
-+}
-+
-+const SizeofClockinfo = 0x14
-+
-+type Clockinfo struct {
-+	Hz      int32
-+	Tick    int32
-+	Tickadj int32
-+	Stathz  int32
-+	Profhz  int32
-+}
-diff --git a/vendor/golang.org/x/sys/unix/ztypes_openbsd_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_openbsd_amd64.go
-index 46fe9490..87a493f6 100644
---- a/vendor/golang.org/x/sys/unix/ztypes_openbsd_amd64.go
-+++ b/vendor/golang.org/x/sys/unix/ztypes_openbsd_amd64.go
-@@ -1,16 +1,16 @@
--// Created by cgo -godefs - DO NOT EDIT
--// cgo -godefs types_openbsd.go
-+// cgo -godefs types_openbsd.go | go run mkpost.go
-+// Code generated by the command above; see README.md. DO NOT EDIT.
- 
- // +build amd64,openbsd
- 
- package unix
- 
- const (
--	sizeofPtr      = 0x8
--	sizeofShort    = 0x2
--	sizeofInt      = 0x4
--	sizeofLong     = 0x8
--	sizeofLongLong = 0x8
-+	SizeofPtr      = 0x8
-+	SizeofShort    = 0x2
-+	SizeofInt      = 0x4
-+	SizeofLong     = 0x8
-+	SizeofLongLong = 0x8
- )
- 
- type (
-@@ -56,48 +56,31 @@ type Rlimit struct {
- 
- type _Gid_t uint32
- 
--const (
--	S_IFMT   = 0xf000
--	S_IFIFO  = 0x1000
--	S_IFCHR  = 0x2000
--	S_IFDIR  = 0x4000
--	S_IFBLK  = 0x6000
--	S_IFREG  = 0x8000
--	S_IFLNK  = 0xa000
--	S_IFSOCK = 0xc000
--	S_ISUID  = 0x800
--	S_ISGID  = 0x400
--	S_ISVTX  = 0x200
--	S_IRUSR  = 0x100
--	S_IWUSR  = 0x80
--	S_IXUSR  = 0x40
--)
--
- type Stat_t struct {
--	Mode           uint32
--	Dev            int32
--	Ino            uint64
--	Nlink          uint32
--	Uid            uint32
--	Gid            uint32
--	Rdev           int32
--	Atim           Timespec
--	Mtim           Timespec
--	Ctim           Timespec
--	Size           int64
--	Blocks         int64
--	Blksize        uint32
--	Flags          uint32
--	Gen            uint32
--	Pad_cgo_0      [4]byte
--	X__st_birthtim Timespec
-+	Mode    uint32
-+	Dev     int32
-+	Ino     uint64
-+	Nlink   uint32
-+	Uid     uint32
-+	Gid     uint32
-+	Rdev    int32
-+	Atim    Timespec
-+	Mtim    Timespec
-+	Ctim    Timespec
-+	Size    int64
-+	Blocks  int64
-+	Blksize int32
-+	Flags   uint32
-+	Gen     uint32
-+	_       [4]byte
-+	_       Timespec
- }
- 
- type Statfs_t struct {
- 	F_flags       uint32
- 	F_bsize       uint32
- 	F_iosize      uint32
--	Pad_cgo_0     [4]byte
-+	_             [4]byte
- 	F_blocks      uint64
- 	F_bfree       uint64
- 	F_bavail      int64
-@@ -116,7 +99,7 @@ type Statfs_t struct {
- 	F_mntonname   [90]int8
- 	F_mntfromname [90]int8
- 	F_mntfromspec [90]int8
--	Pad_cgo_1     [2]byte
-+	_             [2]byte
- 	Mount_info    [160]byte
- }
- 
-@@ -129,19 +112,23 @@ type Flock_t struct {
- }
- 
- type Dirent struct {
--	Fileno       uint64
--	Off          int64
--	Reclen       uint16
--	Type         uint8
--	Namlen       uint8
--	X__d_padding [4]uint8
--	Name         [256]int8
-+	Fileno uint64
-+	Off    int64
-+	Reclen uint16
-+	Type   uint8
-+	Namlen uint8
-+	_      [4]uint8
-+	Name   [256]int8
- }
- 
- type Fsid struct {
- 	Val [2]int32
- }
- 
-+const (
-+	PathMax = 0x400
-+)
-+
- type RawSockaddrInet4 struct {
- 	Len    uint8
- 	Family uint8
-@@ -212,10 +199,10 @@ type IPv6Mreq struct {
- type Msghdr struct {
- 	Name       *byte
- 	Namelen    uint32
--	Pad_cgo_0  [4]byte
-+	_          [4]byte
- 	Iov        *Iovec
- 	Iovlen     uint32
--	Pad_cgo_1  [4]byte
-+	_          [4]byte
- 	Control    *byte
- 	Controllen uint32
- 	Flags      int32
-@@ -277,8 +264,8 @@ type FdSet struct {
- }
- 
- const (
--	SizeofIfMsghdr         = 0xf8
--	SizeofIfData           = 0xe0
-+	SizeofIfMsghdr         = 0xa8
-+	SizeofIfData           = 0x90
- 	SizeofIfaMsghdr        = 0x18
- 	SizeofIfAnnounceMsghdr = 0x1a
- 	SizeofRtMsghdr         = 0x60
-@@ -307,7 +294,7 @@ type IfData struct {
- 	Link_state   uint8
- 	Mtu          uint32
- 	Metric       uint32
--	Pad          uint32
-+	Rdomain      uint32
- 	Baudrate     uint64
- 	Ipackets     uint64
- 	Ierrors      uint64
-@@ -319,12 +306,11 @@ type IfData struct {
- 	Imcasts      uint64
- 	Omcasts      uint64
- 	Iqdrops      uint64
-+	Oqdrops      uint64
- 	Noproto      uint64
- 	Capabilities uint32
--	Pad_cgo_0    [4]byte
-+	_            [4]byte
- 	Lastchange   Timeval
--	Mclpool      [7]Mclpool
--	Pad_cgo_1    [4]byte
- }
- 
- type IfaMsghdr struct {
-@@ -385,13 +371,7 @@ type RtMetrics struct {
- 	Pad      uint32
- }
- 
--type Mclpool struct {
--	Grown int32
--	Alive uint16
--	Hwm   uint16
--	Cwm   uint16
--	Lwm   uint16
--}
-+type Mclpool struct{}
- 
- const (
- 	SizeofBpfVersion = 0x4
-@@ -412,9 +392,9 @@ type BpfStat struct {
- }
- 
- type BpfProgram struct {
--	Len       uint32
--	Pad_cgo_0 [4]byte
--	Insns     *BpfInsn
-+	Len   uint32
-+	_     [4]byte
-+	Insns *BpfInsn
- }
- 
- type BpfInsn struct {
-@@ -425,11 +405,11 @@ type BpfInsn struct {
- }
- 
- type BpfHdr struct {
--	Tstamp    BpfTimeval
--	Caplen    uint32
--	Datalen   uint32
--	Hdrlen    uint16
--	Pad_cgo_0 [2]byte
-+	Tstamp  BpfTimeval
-+	Caplen  uint32
-+	Datalen uint32
-+	Hdrlen  uint16
-+	_       [2]byte
- }
- 
- type BpfTimeval struct {
-@@ -447,7 +427,145 @@ type Termios struct {
- 	Ospeed int32
- }
- 
-+type Winsize struct {
-+	Row    uint16
-+	Col    uint16
-+	Xpixel uint16
-+	Ypixel uint16
-+}
-+
- const (
- 	AT_FDCWD            = -0x64
-+	AT_SYMLINK_FOLLOW   = 0x4
- 	AT_SYMLINK_NOFOLLOW = 0x2
- )
-+
-+type PollFd struct {
-+	Fd      int32
-+	Events  int16
-+	Revents int16
-+}
-+
-+const (
-+	POLLERR    = 0x8
-+	POLLHUP    = 0x10
-+	POLLIN     = 0x1
-+	POLLNVAL   = 0x20
-+	POLLOUT    = 0x4
-+	POLLPRI    = 0x2
-+	POLLRDBAND = 0x80
-+	POLLRDNORM = 0x40
-+	POLLWRBAND = 0x100
-+	POLLWRNORM = 0x4
-+)
-+
-+type Sigset_t uint32
-+
-+type Utsname struct {
-+	Sysname  [256]byte
-+	Nodename [256]byte
-+	Release  [256]byte
-+	Version  [256]byte
-+	Machine  [256]byte
-+}
-+
-+const SizeofUvmexp = 0x158
-+
-+type Uvmexp struct {
-+	Pagesize           int32
-+	Pagemask           int32
-+	Pageshift          int32
-+	Npages             int32
-+	Free               int32
-+	Active             int32
-+	Inactive           int32
-+	Paging             int32
-+	Wired              int32
-+	Zeropages          int32
-+	Reserve_pagedaemon int32
-+	Reserve_kernel     int32
-+	Anonpages          int32
-+	Vnodepages         int32
-+	Vtextpages         int32
-+	Freemin            int32
-+	Freetarg           int32
-+	Inactarg           int32
-+	Wiredmax           int32
-+	Anonmin            int32
-+	Vtextmin           int32
-+	Vnodemin           int32
-+	Anonminpct         int32
-+	Vtextminpct        int32
-+	Vnodeminpct        int32
-+	Nswapdev           int32
-+	Swpages            int32
-+	Swpginuse          int32
-+	Swpgonly           int32
-+	Nswget             int32
-+	Nanon              int32
-+	Nanonneeded        int32
-+	Nfreeanon          int32
-+	Faults             int32
-+	Traps              int32
-+	Intrs              int32
-+	Swtch              int32
-+	Softs              int32
-+	Syscalls           int32
-+	Pageins            int32
-+	Obsolete_swapins   int32
-+	Obsolete_swapouts  int32
-+	Pgswapin           int32
-+	Pgswapout          int32
-+	Forks              int32
-+	Forks_ppwait       int32
-+	Forks_sharevm      int32
-+	Pga_zerohit        int32
-+	Pga_zeromiss       int32
-+	Zeroaborts         int32
-+	Fltnoram           int32
-+	Fltnoanon          int32
-+	Fltnoamap          int32
-+	Fltpgwait          int32
-+	Fltpgrele          int32
-+	Fltrelck           int32
-+	Fltrelckok         int32
-+	Fltanget           int32
-+	Fltanretry         int32
-+	Fltamcopy          int32
-+	Fltnamap           int32
-+	Fltnomap           int32
-+	Fltlget            int32
-+	Fltget             int32
-+	Flt_anon           int32
-+	Flt_acow           int32
-+	Flt_obj            int32
-+	Flt_prcopy         int32
-+	Flt_przero         int32
-+	Pdwoke             int32
-+	Pdrevs             int32
-+	Pdswout            int32
-+	Pdfreed            int32
-+	Pdscans            int32
-+	Pdanscan           int32
-+	Pdobscan           int32
-+	Pdreact            int32
-+	Pdbusy             int32
-+	Pdpageouts         int32
-+	Pdpending          int32
-+	Pddeact            int32
-+	Pdreanon           int32
-+	Pdrevnode          int32
-+	Pdrevtext          int32
-+	Fpswtch            int32
-+	Kmapent            int32
-+}
-+
-+const SizeofClockinfo = 0x14
-+
-+type Clockinfo struct {
-+	Hz      int32
-+	Tick    int32
-+	Tickadj int32
-+	Stathz  int32
-+	Profhz  int32
-+}
-diff --git a/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm.go b/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm.go
-index 62e1f7c0..d80836ef 100644
---- a/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm.go
-+++ b/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm.go
-@@ -1,16 +1,16 @@
--// Created by cgo -godefs - DO NOT EDIT
--// cgo -godefs types_openbsd.go
-+// cgo -godefs -- -fsigned-char types_openbsd.go | go run mkpost.go
-+// Code generated by the command above; see README.md. DO NOT EDIT.
- 
- // +build arm,openbsd
- 
- package unix
- 
- const (
--	sizeofPtr      = 0x4
--	sizeofShort    = 0x2
--	sizeofInt      = 0x4
--	sizeofLong     = 0x4
--	sizeofLongLong = 0x8
-+	SizeofPtr      = 0x4
-+	SizeofShort    = 0x2
-+	SizeofInt      = 0x4
-+	SizeofLong     = 0x4
-+	SizeofLongLong = 0x8
- )
- 
- type (
-@@ -23,11 +23,13 @@ type (
- type Timespec struct {
- 	Sec  int64
- 	Nsec int32
-+	_    [4]byte
- }
- 
- type Timeval struct {
- 	Sec  int64
- 	Usec int32
-+	_    [4]byte
- }
- 
- type Rusage struct {
-@@ -56,46 +58,31 @@ type Rlimit struct {
- 
- type _Gid_t uint32
- 
--const (
--	S_IFMT   = 0xf000
--	S_IFIFO  = 0x1000
--	S_IFCHR  = 0x2000
--	S_IFDIR  = 0x4000
--	S_IFBLK  = 0x6000
--	S_IFREG  = 0x8000
--	S_IFLNK  = 0xa000
--	S_IFSOCK = 0xc000
--	S_ISUID  = 0x800
--	S_ISGID  = 0x400
--	S_ISVTX  = 0x200
--	S_IRUSR  = 0x100
--	S_IWUSR  = 0x80
--	S_IXUSR  = 0x40
--)
--
- type Stat_t struct {
--	Mode           uint32
--	Dev            int32
--	Ino            uint64
--	Nlink          uint32
--	Uid            uint32
--	Gid            uint32
--	Rdev           int32
--	Atim           Timespec
--	Mtim           Timespec
--	Ctim           Timespec
--	Size           int64
--	Blocks         int64
--	Blksize        int32
--	Flags          uint32
--	Gen            uint32
--	X__st_birthtim Timespec
-+	Mode    uint32
-+	Dev     int32
-+	Ino     uint64
-+	Nlink   uint32
-+	Uid     uint32
-+	Gid     uint32
-+	Rdev    int32
-+	Atim    Timespec
-+	Mtim    Timespec
-+	Ctim    Timespec
-+	Size    int64
-+	Blocks  int64
-+	Blksize int32
-+	Flags   uint32
-+	Gen     uint32
-+	_       [4]byte
-+	_       Timespec
- }
- 
- type Statfs_t struct {
- 	F_flags       uint32
- 	F_bsize       uint32
- 	F_iosize      uint32
-+	_             [4]byte
- 	F_blocks      uint64
- 	F_bfree       uint64
- 	F_bavail      int64
-@@ -110,11 +97,11 @@ type Statfs_t struct {
- 	F_namemax     uint32
- 	F_owner       uint32
- 	F_ctime       uint64
--	F_fstypename  [16]uint8
--	F_mntonname   [90]uint8
--	F_mntfromname [90]uint8
--	F_mntfromspec [90]uint8
--	Pad_cgo_0     [2]byte
-+	F_fstypename  [16]int8
-+	F_mntonname   [90]int8
-+	F_mntfromname [90]int8
-+	F_mntfromspec [90]int8
-+	_             [2]byte
- 	Mount_info    [160]byte
- }
- 
-@@ -127,19 +114,23 @@ type Flock_t struct {
- }
- 
- type Dirent struct {
--	Fileno       uint64
--	Off          int64
--	Reclen       uint16
--	Type         uint8
--	Namlen       uint8
--	X__d_padding [4]uint8
--	Name         [256]uint8
-+	Fileno uint64
-+	Off    int64
-+	Reclen uint16
-+	Type   uint8
-+	Namlen uint8
-+	_      [4]uint8
-+	Name   [256]int8
- }
- 
- type Fsid struct {
- 	Val [2]int32
- }
- 
-+const (
-+	PathMax = 0x400
-+)
-+
- type RawSockaddrInet4 struct {
- 	Len    uint8
- 	Family uint8
-@@ -264,8 +255,10 @@ type Kevent_t struct {
- 	Filter int16
- 	Flags  uint16
- 	Fflags uint32
-+	_      [4]byte
- 	Data   int64
- 	Udata  *byte
-+	_      [4]byte
- }
- 
- type FdSet struct {
-@@ -273,8 +266,8 @@ type FdSet struct {
- }
- 
- const (
--	SizeofIfMsghdr         = 0x98
--	SizeofIfData           = 0x80
-+	SizeofIfMsghdr         = 0xa8
-+	SizeofIfData           = 0x90
- 	SizeofIfaMsghdr        = 0x18
- 	SizeofIfAnnounceMsghdr = 0x1a
- 	SizeofRtMsghdr         = 0x60
-@@ -303,7 +296,7 @@ type IfData struct {
- 	Link_state   uint8
- 	Mtu          uint32
- 	Metric       uint32
--	Pad          uint32
-+	Rdomain      uint32
- 	Baudrate     uint64
- 	Ipackets     uint64
- 	Ierrors      uint64
-@@ -315,8 +308,10 @@ type IfData struct {
- 	Imcasts      uint64
- 	Omcasts      uint64
- 	Iqdrops      uint64
-+	Oqdrops      uint64
- 	Noproto      uint64
- 	Capabilities uint32
-+	_            [4]byte
- 	Lastchange   Timeval
- }
- 
-@@ -341,7 +336,7 @@ type IfAnnounceMsghdr struct {
- 	Hdrlen  uint16
- 	Index   uint16
- 	What    uint16
--	Name    [16]uint8
-+	Name    [16]int8
- }
- 
- type RtMsghdr struct {
-@@ -411,11 +406,11 @@ type BpfInsn struct {
- }
- 
- type BpfHdr struct {
--	Tstamp    BpfTimeval
--	Caplen    uint32
--	Datalen   uint32
--	Hdrlen    uint16
--	Pad_cgo_0 [2]byte
-+	Tstamp  BpfTimeval
-+	Caplen  uint32
-+	Datalen uint32
-+	Hdrlen  uint16
-+	_       [2]byte
- }
- 
- type BpfTimeval struct {
-@@ -433,7 +428,145 @@ type Termios struct {
- 	Ospeed int32
- }
- 
-+type Winsize struct {
-+	Row    uint16
-+	Col    uint16
-+	Xpixel uint16
-+	Ypixel uint16
-+}
-+
- const (
- 	AT_FDCWD            = -0x64
-+	AT_SYMLINK_FOLLOW   = 0x4
- 	AT_SYMLINK_NOFOLLOW = 0x2
- )
-+
-+type PollFd struct {
-+	Fd      int32
-+	Events  int16
-+	Revents int16
-+}
-+
-+const (
-+	POLLERR    = 0x8
-+	POLLHUP    = 0x10
-+	POLLIN     = 0x1
-+	POLLNVAL   = 0x20
-+	POLLOUT    = 0x4
-+	POLLPRI    = 0x2
-+	POLLRDBAND = 0x80
-+	POLLRDNORM = 0x40
-+	POLLWRBAND = 0x100
-+	POLLWRNORM = 0x4
-+)
-+
-+type Sigset_t uint32
-+
-+type Utsname struct {
-+	Sysname  [256]byte
-+	Nodename [256]byte
-+	Release  [256]byte
-+	Version  [256]byte
-+	Machine  [256]byte
-+}
-+
-+const SizeofUvmexp = 0x158
-+
-+type Uvmexp struct {
-+	Pagesize           int32
-+	Pagemask           int32
-+	Pageshift          int32
-+	Npages             int32
-+	Free               int32
-+	Active             int32
-+	Inactive           int32
-+	Paging             int32
-+	Wired              int32
-+	Zeropages          int32
-+	Reserve_pagedaemon int32
-+	Reserve_kernel     int32
-+	Unused01           int32
-+	Vnodepages         int32
-+	Vtextpages         int32
-+	Freemin            int32
-+	Freetarg           int32
-+	Inactarg           int32
-+	Wiredmax           int32
-+	Anonmin            int32
-+	Vtextmin           int32
-+	Vnodemin           int32
-+	Anonminpct         int32
-+	Vtextminpct        int32
-+	Vnodeminpct        int32
-+	Nswapdev           int32
-+	Swpages            int32
-+	Swpginuse          int32
-+	Swpgonly           int32
-+	Nswget             int32
-+	Nanon              int32
-+	Unused05           int32
-+	Unused06           int32
-+	Faults             int32
-+	Traps              int32
-+	Intrs              int32
-+	Swtch              int32
-+	Softs              int32
-+	Syscalls           int32
-+	Pageins            int32
-+	Unused07           int32
-+	Unused08           int32
-+	Pgswapin           int32
-+	Pgswapout          int32
-+	Forks              int32
-+	Forks_ppwait       int32
-+	Forks_sharevm      int32
-+	Pga_zerohit        int32
-+	Pga_zeromiss       int32
-+	Unused09           int32
-+	Fltnoram           int32
-+	Fltnoanon          int32
-+	Fltnoamap          int32
-+	Fltpgwait          int32
-+	Fltpgrele          int32
-+	Fltrelck           int32
-+	Fltrelckok         int32
-+	Fltanget           int32
-+	Fltanretry         int32
-+	Fltamcopy          int32
-+	Fltnamap           int32
-+	Fltnomap           int32
-+	Fltlget            int32
-+	Fltget             int32
-+	Flt_anon           int32
-+	Flt_acow           int32
-+	Flt_obj            int32
-+	Flt_prcopy         int32
-+	Flt_przero         int32
-+	Pdwoke             int32
-+	Pdrevs             int32
-+	Pdswout            int32
-+	Pdfreed            int32
-+	Pdscans            int32
-+	Pdanscan           int32
-+	Pdobscan           int32
-+	Pdreact            int32
-+	Pdbusy             int32
-+	Pdpageouts         int32
-+	Pdpending          int32
-+	Pddeact            int32
-+	Unused11           int32
-+	Unused12           int32
-+	Unused13           int32
-+	Fpswtch            int32
-+	Kmapent            int32
-+}
-+
-+const SizeofClockinfo = 0x14
-+
-+type Clockinfo struct {
-+	Hz      int32
-+	Tick    int32
-+	Tickadj int32
-+	Stathz  int32
-+	Profhz  int32
-+}
-diff --git a/vendor/golang.org/x/sys/unix/ztypes_openbsd_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm64.go
-similarity index 58%
-copy from vendor/golang.org/x/sys/unix/ztypes_openbsd_amd64.go
-copy to vendor/golang.org/x/sys/unix/ztypes_openbsd_arm64.go
-index 46fe9490..4e158746 100644
---- a/vendor/golang.org/x/sys/unix/ztypes_openbsd_amd64.go
-+++ b/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm64.go
-@@ -1,16 +1,16 @@
--// Created by cgo -godefs - DO NOT EDIT
--// cgo -godefs types_openbsd.go
-+// cgo -godefs -- -fsigned-char types_openbsd.go | go run mkpost.go
-+// Code generated by the command above; see README.md. DO NOT EDIT.
- 
--// +build amd64,openbsd
-+// +build arm64,openbsd
- 
- package unix
- 
- const (
--	sizeofPtr      = 0x8
--	sizeofShort    = 0x2
--	sizeofInt      = 0x4
--	sizeofLong     = 0x8
--	sizeofLongLong = 0x8
-+	SizeofPtr      = 0x8
-+	SizeofShort    = 0x2
-+	SizeofInt      = 0x4
-+	SizeofLong     = 0x8
-+	SizeofLongLong = 0x8
- )
- 
- type (
-@@ -56,48 +56,29 @@ type Rlimit struct {
- 
- type _Gid_t uint32
- 
--const (
--	S_IFMT   = 0xf000
--	S_IFIFO  = 0x1000
--	S_IFCHR  = 0x2000
--	S_IFDIR  = 0x4000
--	S_IFBLK  = 0x6000
--	S_IFREG  = 0x8000
--	S_IFLNK  = 0xa000
--	S_IFSOCK = 0xc000
--	S_ISUID  = 0x800
--	S_ISGID  = 0x400
--	S_ISVTX  = 0x200
--	S_IRUSR  = 0x100
--	S_IWUSR  = 0x80
--	S_IXUSR  = 0x40
--)
--
- type Stat_t struct {
--	Mode           uint32
--	Dev            int32
--	Ino            uint64
--	Nlink          uint32
--	Uid            uint32
--	Gid            uint32
--	Rdev           int32
--	Atim           Timespec
--	Mtim           Timespec
--	Ctim           Timespec
--	Size           int64
--	Blocks         int64
--	Blksize        uint32
--	Flags          uint32
--	Gen            uint32
--	Pad_cgo_0      [4]byte
--	X__st_birthtim Timespec
-+	Mode    uint32
-+	Dev     int32
-+	Ino     uint64
-+	Nlink   uint32
-+	Uid     uint32
-+	Gid     uint32
-+	Rdev    int32
-+	Atim    Timespec
-+	Mtim    Timespec
-+	Ctim    Timespec
-+	Size    int64
-+	Blocks  int64
-+	Blksize int32
-+	Flags   uint32
-+	Gen     uint32
-+	_       Timespec
- }
- 
- type Statfs_t struct {
- 	F_flags       uint32
- 	F_bsize       uint32
- 	F_iosize      uint32
--	Pad_cgo_0     [4]byte
- 	F_blocks      uint64
- 	F_bfree       uint64
- 	F_bavail      int64
-@@ -116,7 +97,7 @@ type Statfs_t struct {
- 	F_mntonname   [90]int8
- 	F_mntfromname [90]int8
- 	F_mntfromspec [90]int8
--	Pad_cgo_1     [2]byte
-+	_             [2]byte
- 	Mount_info    [160]byte
- }
- 
-@@ -129,19 +110,23 @@ type Flock_t struct {
- }
- 
- type Dirent struct {
--	Fileno       uint64
--	Off          int64
--	Reclen       uint16
--	Type         uint8
--	Namlen       uint8
--	X__d_padding [4]uint8
--	Name         [256]int8
-+	Fileno uint64
-+	Off    int64
-+	Reclen uint16
-+	Type   uint8
-+	Namlen uint8
-+	_      [4]uint8
-+	Name   [256]int8
- }
- 
- type Fsid struct {
- 	Val [2]int32
- }
- 
-+const (
-+	PathMax = 0x400
-+)
-+
- type RawSockaddrInet4 struct {
- 	Len    uint8
- 	Family uint8
-@@ -212,10 +197,8 @@ type IPv6Mreq struct {
- type Msghdr struct {
- 	Name       *byte
- 	Namelen    uint32
--	Pad_cgo_0  [4]byte
- 	Iov        *Iovec
- 	Iovlen     uint32
--	Pad_cgo_1  [4]byte
- 	Control    *byte
- 	Controllen uint32
- 	Flags      int32
-@@ -277,8 +260,8 @@ type FdSet struct {
- }
- 
- const (
--	SizeofIfMsghdr         = 0xf8
--	SizeofIfData           = 0xe0
-+	SizeofIfMsghdr         = 0xa8
-+	SizeofIfData           = 0x90
- 	SizeofIfaMsghdr        = 0x18
- 	SizeofIfAnnounceMsghdr = 0x1a
- 	SizeofRtMsghdr         = 0x60
-@@ -307,7 +290,7 @@ type IfData struct {
- 	Link_state   uint8
- 	Mtu          uint32
- 	Metric       uint32
--	Pad          uint32
-+	Rdomain      uint32
- 	Baudrate     uint64
- 	Ipackets     uint64
- 	Ierrors      uint64
-@@ -319,12 +302,10 @@ type IfData struct {
- 	Imcasts      uint64
- 	Omcasts      uint64
- 	Iqdrops      uint64
-+	Oqdrops      uint64
- 	Noproto      uint64
- 	Capabilities uint32
--	Pad_cgo_0    [4]byte
- 	Lastchange   Timeval
--	Mclpool      [7]Mclpool
--	Pad_cgo_1    [4]byte
- }
- 
- type IfaMsghdr struct {
-@@ -385,13 +366,7 @@ type RtMetrics struct {
- 	Pad      uint32
- }
- 
--type Mclpool struct {
--	Grown int32
--	Alive uint16
--	Hwm   uint16
--	Cwm   uint16
--	Lwm   uint16
--}
-+type Mclpool struct{}
- 
- const (
- 	SizeofBpfVersion = 0x4
-@@ -412,9 +387,8 @@ type BpfStat struct {
- }
- 
- type BpfProgram struct {
--	Len       uint32
--	Pad_cgo_0 [4]byte
--	Insns     *BpfInsn
-+	Len   uint32
-+	Insns *BpfInsn
- }
- 
- type BpfInsn struct {
-@@ -425,11 +399,11 @@ type BpfInsn struct {
- }
- 
- type BpfHdr struct {
--	Tstamp    BpfTimeval
--	Caplen    uint32
--	Datalen   uint32
--	Hdrlen    uint16
--	Pad_cgo_0 [2]byte
-+	Tstamp  BpfTimeval
-+	Caplen  uint32
-+	Datalen uint32
-+	Hdrlen  uint16
-+	_       [2]byte
- }
- 
- type BpfTimeval struct {
-@@ -447,7 +421,145 @@ type Termios struct {
- 	Ospeed int32
- }
- 
-+type Winsize struct {
-+	Row    uint16
-+	Col    uint16
-+	Xpixel uint16
-+	Ypixel uint16
-+}
-+
- const (
- 	AT_FDCWD            = -0x64
-+	AT_SYMLINK_FOLLOW   = 0x4
- 	AT_SYMLINK_NOFOLLOW = 0x2
- )
-+
-+type PollFd struct {
-+	Fd      int32
-+	Events  int16
-+	Revents int16
-+}
-+
-+const (
-+	POLLERR    = 0x8
-+	POLLHUP    = 0x10
-+	POLLIN     = 0x1
-+	POLLNVAL   = 0x20
-+	POLLOUT    = 0x4
-+	POLLPRI    = 0x2
-+	POLLRDBAND = 0x80
-+	POLLRDNORM = 0x40
-+	POLLWRBAND = 0x100
-+	POLLWRNORM = 0x4
-+)
-+
-+type Sigset_t uint32
-+
-+type Utsname struct {
-+	Sysname  [256]byte
-+	Nodename [256]byte
-+	Release  [256]byte
-+	Version  [256]byte
-+	Machine  [256]byte
-+}
-+
-+const SizeofUvmexp = 0x158
-+
-+type Uvmexp struct {
-+	Pagesize           int32
-+	Pagemask           int32
-+	Pageshift          int32
-+	Npages             int32
-+	Free               int32
-+	Active             int32
-+	Inactive           int32
-+	Paging             int32
-+	Wired              int32
-+	Zeropages          int32
-+	Reserve_pagedaemon int32
-+	Reserve_kernel     int32
-+	Unused01           int32
-+	Vnodepages         int32
-+	Vtextpages         int32
-+	Freemin            int32
-+	Freetarg           int32
-+	Inactarg           int32
-+	Wiredmax           int32
-+	Anonmin            int32
-+	Vtextmin           int32
-+	Vnodemin           int32
-+	Anonminpct         int32
-+	Vtextminpct        int32
-+	Vnodeminpct        int32
-+	Nswapdev           int32
-+	Swpages            int32
-+	Swpginuse          int32
-+	Swpgonly           int32
-+	Nswget             int32
-+	Nanon              int32
-+	Unused05           int32
-+	Unused06           int32
-+	Faults             int32
-+	Traps              int32
-+	Intrs              int32
-+	Swtch              int32
-+	Softs              int32
-+	Syscalls           int32
-+	Pageins            int32
-+	Unused07           int32
-+	Unused08           int32
-+	Pgswapin           int32
-+	Pgswapout          int32
-+	Forks              int32
-+	Forks_ppwait       int32
-+	Forks_sharevm      int32
-+	Pga_zerohit        int32
-+	Pga_zeromiss       int32
-+	Unused09           int32
-+	Fltnoram           int32
-+	Fltnoanon          int32
-+	Fltnoamap          int32
-+	Fltpgwait          int32
-+	Fltpgrele          int32
-+	Fltrelck           int32
-+	Fltrelckok         int32
-+	Fltanget           int32
-+	Fltanretry         int32
-+	Fltamcopy          int32
-+	Fltnamap           int32
-+	Fltnomap           int32
-+	Fltlget            int32
-+	Fltget             int32
-+	Flt_anon           int32
-+	Flt_acow           int32
-+	Flt_obj            int32
-+	Flt_prcopy         int32
-+	Flt_przero         int32
-+	Pdwoke             int32
-+	Pdrevs             int32
-+	Pdswout            int32
-+	Pdfreed            int32
-+	Pdscans            int32
-+	Pdanscan           int32
-+	Pdobscan           int32
-+	Pdreact            int32
-+	Pdbusy             int32
-+	Pdpageouts         int32
-+	Pdpending          int32
-+	Pddeact            int32
-+	Unused11           int32
-+	Unused12           int32
-+	Unused13           int32
-+	Fpswtch            int32
-+	Kmapent            int32
-+}
-+
-+const SizeofClockinfo = 0x14
-+
-+type Clockinfo struct {
-+	Hz      int32
-+	Tick    int32
-+	Tickadj int32
-+	Stathz  int32
-+	Profhz  int32
-+}
-diff --git a/vendor/golang.org/x/sys/unix/ztypes_solaris_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_solaris_amd64.go
-index 92336f9f..23ed9fe5 100644
---- a/vendor/golang.org/x/sys/unix/ztypes_solaris_amd64.go
-+++ b/vendor/golang.org/x/sys/unix/ztypes_solaris_amd64.go
-@@ -6,11 +6,11 @@
- package unix
- 
- const (
--	sizeofPtr      = 0x8
--	sizeofShort    = 0x2
--	sizeofInt      = 0x4
--	sizeofLong     = 0x8
--	sizeofLongLong = 0x8
-+	SizeofPtr      = 0x8
-+	SizeofShort    = 0x2
-+	SizeofInt      = 0x4
-+	SizeofLong     = 0x8
-+	SizeofLongLong = 0x8
- 	PathMax        = 0x400
- 	MaxHostNameLen = 0x100
- )
-@@ -75,58 +75,41 @@ type Rlimit struct {
- 
- type _Gid_t uint32
- 
--const (
--	S_IFMT   = 0xf000
--	S_IFIFO  = 0x1000
--	S_IFCHR  = 0x2000
--	S_IFDIR  = 0x4000
--	S_IFBLK  = 0x6000
--	S_IFREG  = 0x8000
--	S_IFLNK  = 0xa000
--	S_IFSOCK = 0xc000
--	S_ISUID  = 0x800
--	S_ISGID  = 0x400
--	S_ISVTX  = 0x200
--	S_IRUSR  = 0x100
--	S_IWUSR  = 0x80
--	S_IXUSR  = 0x40
--)
--
- type Stat_t struct {
--	Dev       uint64
--	Ino       uint64
--	Mode      uint32
--	Nlink     uint32
--	Uid       uint32
--	Gid       uint32
--	Rdev      uint64
--	Size      int64
--	Atim      Timespec
--	Mtim      Timespec
--	Ctim      Timespec
--	Blksize   int32
--	Pad_cgo_0 [4]byte
--	Blocks    int64
--	Fstype    [16]int8
-+	Dev     uint64
-+	Ino     uint64
-+	Mode    uint32
-+	Nlink   uint32
-+	Uid     uint32
-+	Gid     uint32
-+	Rdev    uint64
-+	Size    int64
-+	Atim    Timespec
-+	Mtim    Timespec
-+	Ctim    Timespec
-+	Blksize int32
-+	_       [4]byte
-+	Blocks  int64
-+	Fstype  [16]int8
- }
- 
- type Flock_t struct {
--	Type      int16
--	Whence    int16
--	Pad_cgo_0 [4]byte
--	Start     int64
--	Len       int64
--	Sysid     int32
--	Pid       int32
--	Pad       [4]int64
-+	Type   int16
-+	Whence int16
-+	_      [4]byte
-+	Start  int64
-+	Len    int64
-+	Sysid  int32
-+	Pid    int32
-+	Pad    [4]int64
- }
- 
- type Dirent struct {
--	Ino       uint64
--	Off       int64
--	Reclen    uint16
--	Name      [1]int8
--	Pad_cgo_0 [5]byte
-+	Ino    uint64
-+	Off    int64
-+	Reclen uint16
-+	Name   [1]int8
-+	_      [5]byte
- }
- 
- type _Fsblkcnt_t uint64
-@@ -213,13 +196,13 @@ type IPv6Mreq struct {
- type Msghdr struct {
- 	Name         *byte
- 	Namelen      uint32
--	Pad_cgo_0    [4]byte
-+	_            [4]byte
- 	Iov          *Iovec
- 	Iovlen       int32
--	Pad_cgo_1    [4]byte
-+	_            [4]byte
- 	Accrights    *int8
- 	Accrightslen int32
--	Pad_cgo_2    [4]byte
-+	_            [4]byte
- }
- 
- type Cmsghdr struct {
-@@ -228,6 +211,12 @@ type Cmsghdr struct {
- 	Type  int32
- }
- 
-+type Inet4Pktinfo struct {
-+	Ifindex  uint32
-+	Spec_dst [4]byte /* in_addr */
-+	Addr     [4]byte /* in_addr */
-+}
-+
- type Inet6Pktinfo struct {
- 	Addr    [16]byte /* in6_addr */
- 	Ifindex uint32
-@@ -253,6 +242,7 @@ const (
- 	SizeofIPv6Mreq         = 0x14
- 	SizeofMsghdr           = 0x30
- 	SizeofCmsghdr          = 0xc
-+	SizeofInet4Pktinfo     = 0xc
- 	SizeofInet6Pktinfo     = 0x14
- 	SizeofIPv6MTUInfo      = 0x24
- 	SizeofICMPv6Filter     = 0x20
-@@ -263,19 +253,19 @@ type FdSet struct {
- }
- 
- type Utsname struct {
--	Sysname  [257]int8
--	Nodename [257]int8
--	Release  [257]int8
--	Version  [257]int8
--	Machine  [257]int8
-+	Sysname  [257]byte
-+	Nodename [257]byte
-+	Release  [257]byte
-+	Version  [257]byte
-+	Machine  [257]byte
- }
- 
- type Ustat_t struct {
--	Tfree     int64
--	Tinode    uint64
--	Fname     [6]int8
--	Fpack     [6]int8
--	Pad_cgo_0 [4]byte
-+	Tfree  int64
-+	Tinode uint64
-+	Fname  [6]int8
-+	Fpack  [6]int8
-+	_      [4]byte
- }
- 
- const (
-@@ -295,21 +285,21 @@ const (
- )
- 
- type IfMsghdr struct {
--	Msglen    uint16
--	Version   uint8
--	Type      uint8
--	Addrs     int32
--	Flags     int32
--	Index     uint16
--	Pad_cgo_0 [2]byte
--	Data      IfData
-+	Msglen  uint16
-+	Version uint8
-+	Type    uint8
-+	Addrs   int32
-+	Flags   int32
-+	Index   uint16
-+	_       [2]byte
-+	Data    IfData
- }
- 
- type IfData struct {
- 	Type       uint8
- 	Addrlen    uint8
- 	Hdrlen     uint8
--	Pad_cgo_0  [1]byte
-+	_          [1]byte
- 	Mtu        uint32
- 	Metric     uint32
- 	Baudrate   uint32
-@@ -328,30 +318,30 @@ type IfData struct {
- }
- 
- type IfaMsghdr struct {
--	Msglen    uint16
--	Version   uint8
--	Type      uint8
--	Addrs     int32
--	Flags     int32
--	Index     uint16
--	Pad_cgo_0 [2]byte
--	Metric    int32
-+	Msglen  uint16
-+	Version uint8
-+	Type    uint8
-+	Addrs   int32
-+	Flags   int32
-+	Index   uint16
-+	_       [2]byte
-+	Metric  int32
- }
- 
- type RtMsghdr struct {
--	Msglen    uint16
--	Version   uint8
--	Type      uint8
--	Index     uint16
--	Pad_cgo_0 [2]byte
--	Flags     int32
--	Addrs     int32
--	Pid       int32
--	Seq       int32
--	Errno     int32
--	Use       int32
--	Inits     uint32
--	Rmx       RtMetrics
-+	Msglen  uint16
-+	Version uint8
-+	Type    uint8
-+	Index   uint16
-+	_       [2]byte
-+	Flags   int32
-+	Addrs   int32
-+	Pid     int32
-+	Seq     int32
-+	Errno   int32
-+	Use     int32
-+	Inits   uint32
-+	Rmx     RtMetrics
- }
- 
- type RtMetrics struct {
-@@ -388,9 +378,9 @@ type BpfStat struct {
- }
- 
- type BpfProgram struct {
--	Len       uint32
--	Pad_cgo_0 [4]byte
--	Insns     *BpfInsn
-+	Len   uint32
-+	_     [4]byte
-+	Insns *BpfInsn
- }
- 
- type BpfInsn struct {
-@@ -406,32 +396,30 @@ type BpfTimeval struct {
- }
- 
- type BpfHdr struct {
--	Tstamp    BpfTimeval
--	Caplen    uint32
--	Datalen   uint32
--	Hdrlen    uint16
--	Pad_cgo_0 [2]byte
-+	Tstamp  BpfTimeval
-+	Caplen  uint32
-+	Datalen uint32
-+	Hdrlen  uint16
-+	_       [2]byte
- }
- 
--const _SC_PAGESIZE = 0xb
--
- type Termios struct {
--	Iflag     uint32
--	Oflag     uint32
--	Cflag     uint32
--	Lflag     uint32
--	Cc        [19]uint8
--	Pad_cgo_0 [1]byte
-+	Iflag uint32
-+	Oflag uint32
-+	Cflag uint32
-+	Lflag uint32
-+	Cc    [19]uint8
-+	_     [1]byte
- }
- 
- type Termio struct {
--	Iflag     uint16
--	Oflag     uint16
--	Cflag     uint16
--	Lflag     uint16
--	Line      int8
--	Cc        [8]uint8
--	Pad_cgo_0 [1]byte
-+	Iflag uint16
-+	Oflag uint16
-+	Cflag uint16
-+	Lflag uint16
-+	Line  int8
-+	Cc    [8]uint8
-+	_     [1]byte
- }
- 
- type Winsize struct {
-@@ -440,3 +428,22 @@ type Winsize struct {
- 	Xpixel uint16
- 	Ypixel uint16
- }
-+
-+type PollFd struct {
-+	Fd      int32
-+	Events  int16
-+	Revents int16
-+}
-+
-+const (
-+	POLLERR    = 0x8
-+	POLLHUP    = 0x10
-+	POLLIN     = 0x1
-+	POLLNVAL   = 0x20
-+	POLLOUT    = 0x4
-+	POLLPRI    = 0x2
-+	POLLRDBAND = 0x80
-+	POLLRDNORM = 0x40
-+	POLLWRBAND = 0x100
-+	POLLWRNORM = 0x4
-+)
--- 
-2.26.2
-
diff --git a/poky/meta/recipes-devtools/go/go-dep/0001-bolt_riscv64-Add-support-for-riscv64.patch b/poky/meta/recipes-devtools/go/go-dep/0001-bolt_riscv64-Add-support-for-riscv64.patch
deleted file mode 100644
index 4d97d4824..000000000
--- a/poky/meta/recipes-devtools/go/go-dep/0001-bolt_riscv64-Add-support-for-riscv64.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 5e051669d117d7cd9b24cea3494959eec396ec1e Mon Sep 17 00:00:00 2001
-From: Khem Raj 
-Date: Sat, 25 Jan 2020 22:37:25 -0800
-Subject: [PATCH] /bolt_riscv64: Add support for riscv64
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj 
----
- vendor/github.com/boltdb/bolt/bolt_riscv64.go | 12 ++++++++++++
- 1 file changed, 12 insertions(+)
- create mode 100644 vendor/github.com/boltdb/bolt/bolt_riscv64.go
-
-diff --git a/vendor/github.com/boltdb/bolt/bolt_riscv64.go b/vendor/github.com/boltdb/bolt/bolt_riscv64.go
-new file mode 100644
-index 00000000..3d6b88d4
---- /dev/null
-+++ b/vendor/github.com/boltdb/bolt/bolt_riscv64.go
-@@ -0,0 +1,12 @@
-+// +build riscv64
-+
-+package bolt
-+
-+// maxMapSize represents the largest mmap size supported by Bolt.
-+const maxMapSize = 0xFFFFFFFFFFFF // 256TB
-+
-+// maxAllocSize is the size used when creating array pointers.
-+const maxAllocSize = 0x7FFFFFFF
-+
-+// Are unaligned load/stores broken on this arch?
-+var brokenUnaligned = false
--- 
-2.25.0
-
diff --git a/poky/meta/recipes-devtools/go/go-dep_0.5.4.bb b/poky/meta/recipes-devtools/go/go-dep_0.5.4.bb
deleted file mode 100644
index 0da2c6607..000000000
--- a/poky/meta/recipes-devtools/go/go-dep_0.5.4.bb
+++ /dev/null
@@ -1,30 +0,0 @@
-SUMMARY = "Dependency management tool for Golang"
-HOMEPAGE = "https://github.com/golang/dep"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://src/${GO_IMPORT}/LICENSE;md5=1bad315647751fab0007812f70d42c0d"
-
-GO_IMPORT = "github.com/golang/dep"
-SRC_URI = "git://${GO_IMPORT} \
-           file://0001-Add-support-for-mips-mips64.patch;patchdir=src/github.com/golang/dep \
-           file://0001-bolt_riscv64-Add-support-for-riscv64.patch;patchdir=src/github.com/golang/dep \
-          "
-SRC_URI_append_riscv64 = " file://0001-Update-sys-module-to-latest.patch;patchdir=src/github.com/golang/dep "
-
-SRCREV = "1f7c19e5f52f49ffb9f956f64c010be14683468b"
-
-inherit go
-
-# New Go versions has Go modules support enabled by default and cause the Glide
-# tool build to fail.
-export GO111MODULE = "off"
-
-GO_INSTALL = "${GO_IMPORT}/cmd/dep"
-
-RDEPENDS_${PN}-dev += "bash"
-
-BBCLASSEXTEND = "native nativesdk"
-
-# For compiling ptest on mips and mips64, the current go-dep version fails with the go 1.11 toolchain.
-# error message: vet config not found
-PTEST_ENABLED_mips = "0"
-PTEST_ENABLED_mips64 = "0"
diff --git a/poky/meta/recipes-devtools/go/go-native_1.16.2.bb b/poky/meta/recipes-devtools/go/go-native_1.16.2.bb
new file mode 100644
index 000000000..f14892cdb
--- /dev/null
+++ b/poky/meta/recipes-devtools/go/go-native_1.16.2.bb
@@ -0,0 +1,59 @@
+# This recipe builds a native Go (written in Go) by first building an old Go 1.4
+# (written in C). However this old Go does not support all hosts platforms.
+
+require go-${PV}.inc
+
+inherit native
+
+SRC_URI_append = " https://dl.google.com/go/go1.4-bootstrap-20171003.tar.gz;name=bootstrap;subdir=go1.4"
+SRC_URI[bootstrap.sha256sum] = "f4ff5b5eb3a3cae1c993723f3eab519c5bae18866b5e5f96fe1102f0cb5c3e52"
+
+export GOOS = "${BUILD_GOOS}"
+export GOARCH = "${BUILD_GOARCH}"
+CC = "${@d.getVar('BUILD_CC').strip()}"
+
+GOMAKEARGS ?= "--no-banner"
+
+do_configure() {
+	cd ${WORKDIR}/go1.4/go/src
+	CGO_ENABLED=0 GOROOT=${WORKDIR}/go1.4/go ./make.bash
+}
+
+do_compile() {
+	export GOROOT_FINAL="${libdir_native}/go"
+	export GOROOT_BOOTSTRAP="${WORKDIR}/go1.4/go"
+
+	cd src
+	./make.bash ${GOMAKEARGS}
+	cd ${B}
+}
+do_compile[dirs] =+ "${GOTMPDIR} ${B}/bin"
+do_compile[cleandirs] += "${GOTMPDIR} ${B}/bin"
+
+make_wrapper() {
+	rm -f ${D}${bindir}/$2$3
+	cat <${D}${bindir}/$2$3
+#!/bin/bash
+here=\`dirname \$0\`
+export GOROOT="${GOROOT:-\`readlink -f \$here/../lib/go\`}"
+\$here/../lib/go/bin/$1 "\$@"
+END
+	chmod +x ${D}${bindir}/$2
+}
+
+do_install() {
+	install -d ${D}${libdir}/go
+	cp --preserve=mode,timestamps -R ${B}/pkg ${D}${libdir}/go/
+	install -d ${D}${libdir}/go/src
+	(cd ${S}/src; for d in *; do \
+		[ -d $d ] && cp -a ${S}/src/$d ${D}${libdir}/go/src/; \
+	done)
+	find ${D}${libdir}/go/src -depth -type d -name testdata -exec rm -rf {} \;
+	install -d ${D}${bindir} ${D}${libdir}/go/bin
+	for f in ${B}/bin/*
+	do
+		base=`basename $f`
+		install -m755 $f ${D}${libdir}/go/bin
+		make_wrapper $base $base
+	done
+}
diff --git a/poky/meta/recipes-devtools/go/go-native_1.16.bb b/poky/meta/recipes-devtools/go/go-native_1.16.bb
deleted file mode 100644
index f14892cdb..000000000
--- a/poky/meta/recipes-devtools/go/go-native_1.16.bb
+++ /dev/null
@@ -1,59 +0,0 @@
-# This recipe builds a native Go (written in Go) by first building an old Go 1.4
-# (written in C). However this old Go does not support all hosts platforms.
-
-require go-${PV}.inc
-
-inherit native
-
-SRC_URI_append = " https://dl.google.com/go/go1.4-bootstrap-20171003.tar.gz;name=bootstrap;subdir=go1.4"
-SRC_URI[bootstrap.sha256sum] = "f4ff5b5eb3a3cae1c993723f3eab519c5bae18866b5e5f96fe1102f0cb5c3e52"
-
-export GOOS = "${BUILD_GOOS}"
-export GOARCH = "${BUILD_GOARCH}"
-CC = "${@d.getVar('BUILD_CC').strip()}"
-
-GOMAKEARGS ?= "--no-banner"
-
-do_configure() {
-	cd ${WORKDIR}/go1.4/go/src
-	CGO_ENABLED=0 GOROOT=${WORKDIR}/go1.4/go ./make.bash
-}
-
-do_compile() {
-	export GOROOT_FINAL="${libdir_native}/go"
-	export GOROOT_BOOTSTRAP="${WORKDIR}/go1.4/go"
-
-	cd src
-	./make.bash ${GOMAKEARGS}
-	cd ${B}
-}
-do_compile[dirs] =+ "${GOTMPDIR} ${B}/bin"
-do_compile[cleandirs] += "${GOTMPDIR} ${B}/bin"
-
-make_wrapper() {
-	rm -f ${D}${bindir}/$2$3
-	cat <${D}${bindir}/$2$3
-#!/bin/bash
-here=\`dirname \$0\`
-export GOROOT="${GOROOT:-\`readlink -f \$here/../lib/go\`}"
-\$here/../lib/go/bin/$1 "\$@"
-END
-	chmod +x ${D}${bindir}/$2
-}
-
-do_install() {
-	install -d ${D}${libdir}/go
-	cp --preserve=mode,timestamps -R ${B}/pkg ${D}${libdir}/go/
-	install -d ${D}${libdir}/go/src
-	(cd ${S}/src; for d in *; do \
-		[ -d $d ] && cp -a ${S}/src/$d ${D}${libdir}/go/src/; \
-	done)
-	find ${D}${libdir}/go/src -depth -type d -name testdata -exec rm -rf {} \;
-	install -d ${D}${bindir} ${D}${libdir}/go/bin
-	for f in ${B}/bin/*
-	do
-		base=`basename $f`
-		install -m755 $f ${D}${libdir}/go/bin
-		make_wrapper $base $base
-	done
-}
diff --git a/poky/meta/recipes-devtools/go/go-runtime_1.16.2.bb b/poky/meta/recipes-devtools/go/go-runtime_1.16.2.bb
new file mode 100644
index 000000000..63464a150
--- /dev/null
+++ b/poky/meta/recipes-devtools/go/go-runtime_1.16.2.bb
@@ -0,0 +1,3 @@
+require go-${PV}.inc
+require go-runtime.inc
+
diff --git a/poky/meta/recipes-devtools/go/go-runtime_1.16.bb b/poky/meta/recipes-devtools/go/go-runtime_1.16.bb
deleted file mode 100644
index 63464a150..000000000
--- a/poky/meta/recipes-devtools/go/go-runtime_1.16.bb
+++ /dev/null
@@ -1,3 +0,0 @@
-require go-${PV}.inc
-require go-runtime.inc
-
diff --git a/poky/meta/recipes-devtools/go/go_1.16.2.bb b/poky/meta/recipes-devtools/go/go_1.16.2.bb
new file mode 100644
index 000000000..4e9e0ebec
--- /dev/null
+++ b/poky/meta/recipes-devtools/go/go_1.16.2.bb
@@ -0,0 +1,17 @@
+require go-${PV}.inc
+require go-target.inc
+
+inherit linuxloader
+
+export GOBUILDMODE=""
+export GO_LDSO = "${@get_linuxloader(d)}"
+export CC_FOR_TARGET = "gcc"
+export CXX_FOR_TARGET = "g++"
+
+# mips/rv64 doesn't support -buildmode=pie, so skip the QA checking for mips/riscv32 and its
+# variants.
+python() {
+    if 'mips' in d.getVar('TARGET_ARCH',True) or 'riscv32' in d.getVar('TARGET_ARCH',True):
+        d.appendVar('INSANE_SKIP_%s' % d.getVar('PN',True), " textrel")
+}
+
diff --git a/poky/meta/recipes-devtools/go/go_1.16.bb b/poky/meta/recipes-devtools/go/go_1.16.bb
deleted file mode 100644
index 4e9e0ebec..000000000
--- a/poky/meta/recipes-devtools/go/go_1.16.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-require go-${PV}.inc
-require go-target.inc
-
-inherit linuxloader
-
-export GOBUILDMODE=""
-export GO_LDSO = "${@get_linuxloader(d)}"
-export CC_FOR_TARGET = "gcc"
-export CXX_FOR_TARGET = "g++"
-
-# mips/rv64 doesn't support -buildmode=pie, so skip the QA checking for mips/riscv32 and its
-# variants.
-python() {
-    if 'mips' in d.getVar('TARGET_ARCH',True) or 'riscv32' in d.getVar('TARGET_ARCH',True):
-        d.appendVar('INSANE_SKIP_%s' % d.getVar('PN',True), " textrel")
-}
-
diff --git a/poky/meta/recipes-devtools/help2man/help2man_1.48.1.bb b/poky/meta/recipes-devtools/help2man/help2man_1.48.1.bb
deleted file mode 100644
index bdea59d96..000000000
--- a/poky/meta/recipes-devtools/help2man/help2man_1.48.1.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-SUMMARY = "Program for creating simple man pages"
-HOMEPAGE = "https://www.gnu.org/software/help2man/"
-DESCRIPTION = "help2man is a tool for automatically generating simple manual pages from program output."
-SECTION = "devel"
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464"
-
-SRC_URI = "${GNU_MIRROR}/${BPN}/${BPN}-${PV}.tar.xz"
-SRC_URI[sha256sum] = "de8a74740bd058646567b92ab4ecdeb9da9f1a07cc7c4f607a3c14dd38d10799"
-
-inherit autotools
-
-# This is a hand-maintained aclocal.m4 but our autotools class currently deletes
-# aclocal.m4.
-EXTRA_AUTORECONF += "--exclude=aclocal"
-
-EXTRA_OECONF = "--disable-nls"
-
-do_install_append () {
-	# Make sure we use /usr/bin/env perl
-	sed -i -e "1s:#!.*:#! /usr/bin/env perl:" ${D}${bindir}/help2man
-}
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/help2man/help2man_1.48.2.bb b/poky/meta/recipes-devtools/help2man/help2man_1.48.2.bb
new file mode 100644
index 000000000..3e9b509ed
--- /dev/null
+++ b/poky/meta/recipes-devtools/help2man/help2man_1.48.2.bb
@@ -0,0 +1,24 @@
+SUMMARY = "Program for creating simple man pages"
+HOMEPAGE = "https://www.gnu.org/software/help2man/"
+DESCRIPTION = "help2man is a tool for automatically generating simple manual pages from program output."
+SECTION = "devel"
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464"
+
+SRC_URI = "${GNU_MIRROR}/${BPN}/${BPN}-${PV}.tar.xz"
+SRC_URI[sha256sum] = "20cb36111df91d61741a20680912ab0e4c59da479c3fb05837c6f0a8cb7cb467"
+
+inherit autotools
+
+# This is a hand-maintained aclocal.m4 but our autotools class currently deletes
+# aclocal.m4.
+EXTRA_AUTORECONF += "--exclude=aclocal"
+
+EXTRA_OECONF = "--disable-nls"
+
+do_install_append () {
+	# Make sure we use /usr/bin/env perl
+	sed -i -e "1s:#!.*:#! /usr/bin/env perl:" ${D}${bindir}/help2man
+}
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/jquery/jquery_3.5.1.bb b/poky/meta/recipes-devtools/jquery/jquery_3.5.1.bb
deleted file mode 100644
index cfc32952c..000000000
--- a/poky/meta/recipes-devtools/jquery/jquery_3.5.1.bb
+++ /dev/null
@@ -1,34 +0,0 @@
-SUMMARY = "jQuery is a fast, small, and feature-rich JavaScript library"
-HOMEPAGE = "https://jquery.com/"
-DESCRIPTION = "${SUMMARY}"
-LICENSE = "MIT"
-SECTION = "devel"
-LIC_FILES_CHKSUM = "file://${S}/${BP}.js;beginline=8;endline=10;md5=ebd7bc5d23ab165188e526a0c65d24bb"
-
-# unpack items to ${S} so the archiver can see them
-#
-SRC_URI = "\
-    https://code.jquery.com/${BP}.js;name=js;subdir=${BP} \
-    https://code.jquery.com/${BP}.min.js;name=min;subdir=${BP} \
-    https://code.jquery.com/${BP}.min.map;name=map;subdir=${BP} \
-    "
-
-SRC_URI[js.sha256sum] = "416a3b2c3bf16d64f6b5b6d0f7b079df2267614dd6847fc2f3271b4409233c37"
-SRC_URI[min.sha256sum] = "f7f6a5894f1d19ddad6fa392b2ece2c5e578cbf7da4ea805b6885eb6985b6e3d"
-SRC_URI[map.sha256sum] = "511d6f6d3e7acec78cd2505f04282b6e01329b4c24931f39d91739d0d1ddeef8"
-
-UPSTREAM_CHECK_REGEX = "jquery-(?P\d+(\.\d+)+)\.js"
-
-inherit allarch
-
-do_install() {
-    install -d ${D}${datadir}/javascript/${BPN}/
-    install -m 644 ${S}/${BP}.js ${D}${datadir}/javascript/${BPN}/${BPN}.js
-    install -m 644 ${S}/${BP}.min.js ${D}${datadir}/javascript/${BPN}/${BPN}.min.js
-    install -m 644 ${S}/${BP}.min.map ${D}${datadir}/javascript/${BPN}/${BPN}.min.map
-}
-
-PACKAGES = "${PN}"
-FILES_${PN} = "${datadir}"
-
-BBCLASSEXTEND += "native nativesdk"
diff --git a/poky/meta/recipes-devtools/jquery/jquery_3.6.0.bb b/poky/meta/recipes-devtools/jquery/jquery_3.6.0.bb
new file mode 100644
index 000000000..65905966c
--- /dev/null
+++ b/poky/meta/recipes-devtools/jquery/jquery_3.6.0.bb
@@ -0,0 +1,34 @@
+SUMMARY = "jQuery is a fast, small, and feature-rich JavaScript library"
+HOMEPAGE = "https://jquery.com/"
+DESCRIPTION = "${SUMMARY}"
+LICENSE = "MIT"
+SECTION = "devel"
+LIC_FILES_CHKSUM = "file://${S}/${BP}.js;beginline=8;endline=10;md5=9c7c6e9ab275fc1e0d99cb7180ecd14c"
+
+# unpack items to ${S} so the archiver can see them
+#
+SRC_URI = "\
+    https://code.jquery.com/${BP}.js;name=js;subdir=${BP} \
+    https://code.jquery.com/${BP}.min.js;name=min;subdir=${BP} \
+    https://code.jquery.com/${BP}.min.map;name=map;subdir=${BP} \
+    "
+
+SRC_URI[js.sha256sum] = "1fe2bb5390a75e5d61e72c107cab528fc3c29a837d69aab7d200e1dbb5dcd239"
+SRC_URI[min.sha256sum] = "ff1523fb7389539c84c65aba19260648793bb4f5e29329d2ee8804bc37a3fe6e"
+SRC_URI[map.sha256sum] = "399548fb0e7b146c12f5ba18099a47d594a970fee96212eee0ab4852f3e56782"
+
+UPSTREAM_CHECK_REGEX = "jquery-(?P\d+(\.\d+)+)\.js"
+
+inherit allarch
+
+do_install() {
+    install -d ${D}${datadir}/javascript/${BPN}/
+    install -m 644 ${S}/${BP}.js ${D}${datadir}/javascript/${BPN}/${BPN}.js
+    install -m 644 ${S}/${BP}.min.js ${D}${datadir}/javascript/${BPN}/${BPN}.min.js
+    install -m 644 ${S}/${BP}.min.map ${D}${datadir}/javascript/${BPN}/${BPN}.min.map
+}
+
+PACKAGES = "${PN}"
+FILES_${PN} = "${datadir}"
+
+BBCLASSEXTEND += "native nativesdk"
diff --git a/poky/meta/recipes-devtools/libdnf/libdnf/0001-libdnf-config.h-avoid-the-use-of-non-portable-__WORD.patch b/poky/meta/recipes-devtools/libdnf/libdnf/0001-libdnf-config.h-avoid-the-use-of-non-portable-__WORD.patch
new file mode 100644
index 000000000..f8d256e01
--- /dev/null
+++ b/poky/meta/recipes-devtools/libdnf/libdnf/0001-libdnf-config.h-avoid-the-use-of-non-portable-__WORD.patch
@@ -0,0 +1,31 @@
+From 8aa5402393fabaf4fff51be3af4868e8dfab6da7 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin 
+Date: Tue, 9 Mar 2021 19:30:42 +0000
+Subject: [PATCH] libdnf/config.h: avoid the use of non-portable __WORDSIZE
+
+Upstream-Status: Submitted [https://github.com/rpm-software-management/libdnf/pull/1159]
+Signed-off-by: Alexander Kanavin 
+---
+ libdnf/config.h | 8 +++-----
+ 1 file changed, 3 insertions(+), 5 deletions(-)
+
+diff --git a/libdnf/config.h b/libdnf/config.h
+index 16121f6f..2925923e 100644
+--- a/libdnf/config.h
++++ b/libdnf/config.h
+@@ -18,12 +18,10 @@
+  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+  */
+ 
+-#include 
++#include 
+ 
+-#if __WORDSIZE == 32
+-#include "config-32.h"
+-#elif __WORDSIZE == 64
++#if (ULONG_MAX == 0xffffffffffffffff)
+ #include "config-64.h"
+ #else
+-#error "Unknown word size"
++#include "config-32.h"
+ #endif
diff --git a/poky/meta/recipes-devtools/libdnf/libdnf_0.55.2.bb b/poky/meta/recipes-devtools/libdnf/libdnf_0.55.2.bb
deleted file mode 100644
index b34bb5de0..000000000
--- a/poky/meta/recipes-devtools/libdnf/libdnf_0.55.2.bb
+++ /dev/null
@@ -1,36 +0,0 @@
-SUMMARY = "Library providing simplified C and Python API to libsolv"
-HOMEPAGE = "https://github.com/rpm-software-management/libdnf"
-DESCRIPTION = "This library provides a high level package-manager. It's core library of dnf, PackageKit and rpm-ostree. It's replacement for deprecated hawkey library which it contains inside and uses librepo under the hood."
-LICENSE = "LGPLv2.1+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
-
-SRC_URI = "git://github.com/rpm-software-management/libdnf;branch=dnf-4-master \
-           file://0001-FindGtkDoc.cmake-drop-the-requirement-for-GTKDOC_SCA.patch \
-           file://0004-Set-libsolv-variables-with-pkg-config-cmake-s-own-mo.patch \
-           file://0001-Get-parameters-for-both-libsolv-and-libsolvext-libdn.patch \
-           file://0001-Add-WITH_TESTS-option.patch \
-           file://0001-Look-fo-sphinx-only-if-documentation-is-actually-ena.patch \
-           file://enable_test_data_dir_set.patch \
-           "
-
-SRCREV = "d2d0ec98fd2e0a2623123fb1ddf8fdd8936c6046"
-UPSTREAM_CHECK_GITTAGREGEX = "(?P\d+(\.\d+)+)"
-
-S = "${WORKDIR}/git"
-
-DEPENDS = "glib-2.0 libsolv libcheck librepo rpm gtk-doc libmodulemd json-c swig-native"
-
-inherit gtk-doc gobject-introspection cmake pkgconfig distutils3-base
-
-EXTRA_OECMAKE = " -DPYTHON_INSTALL_DIR=${PYTHON_SITEPACKAGES_DIR} -DWITH_MAN=OFF -DPYTHON_DESIRED=3 \
-                  ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-DWITH_GIR=ON', '-DWITH_GIR=OFF', d)} \
-                  -DWITH_TESTS=OFF \
-                  -DWITH_ZCHUNK=OFF \
-                  -DWITH_HTML=OFF \
-                "
-EXTRA_OECMAKE_append_class-native = " -DWITH_GIR=OFF"
-EXTRA_OECMAKE_append_class-nativesdk = " -DWITH_GIR=OFF"
-
-BBCLASSEXTEND = "native nativesdk"
-PNBLACKLIST[libdnf] ?= "${@bb.utils.contains('PACKAGE_CLASSES', 'package_rpm', '', 'Does not build without package_rpm in PACKAGE_CLASSES due disabled rpm support in libsolv', d)}"
-
diff --git a/poky/meta/recipes-devtools/libdnf/libdnf_0.58.0.bb b/poky/meta/recipes-devtools/libdnf/libdnf_0.58.0.bb
new file mode 100644
index 000000000..dbe68d5a1
--- /dev/null
+++ b/poky/meta/recipes-devtools/libdnf/libdnf_0.58.0.bb
@@ -0,0 +1,37 @@
+SUMMARY = "Library providing simplified C and Python API to libsolv"
+HOMEPAGE = "https://github.com/rpm-software-management/libdnf"
+DESCRIPTION = "This library provides a high level package-manager. It's core library of dnf, PackageKit and rpm-ostree. It's replacement for deprecated hawkey library which it contains inside and uses librepo under the hood."
+LICENSE = "LGPLv2.1+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
+
+SRC_URI = "git://github.com/rpm-software-management/libdnf;branch=dnf-4-master \
+           file://0001-FindGtkDoc.cmake-drop-the-requirement-for-GTKDOC_SCA.patch \
+           file://0004-Set-libsolv-variables-with-pkg-config-cmake-s-own-mo.patch \
+           file://0001-Get-parameters-for-both-libsolv-and-libsolvext-libdn.patch \
+           file://0001-Add-WITH_TESTS-option.patch \
+           file://0001-Look-fo-sphinx-only-if-documentation-is-actually-ena.patch \
+           file://enable_test_data_dir_set.patch \
+           file://0001-libdnf-config.h-avoid-the-use-of-non-portable-__WORD.patch \
+           "
+
+SRCREV = "85278894f21bc1957dc47a2a09ddacf59bc3cda8"
+UPSTREAM_CHECK_GITTAGREGEX = "(?P\d+(\.\d+)+)"
+
+S = "${WORKDIR}/git"
+
+DEPENDS = "glib-2.0 libsolv libcheck librepo rpm gtk-doc libmodulemd json-c swig-native"
+
+inherit gtk-doc gobject-introspection cmake pkgconfig distutils3-base
+
+EXTRA_OECMAKE = " -DPYTHON_INSTALL_DIR=${PYTHON_SITEPACKAGES_DIR} -DWITH_MAN=OFF -DPYTHON_DESIRED=3 \
+                  ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-DWITH_GIR=ON', '-DWITH_GIR=OFF', d)} \
+                  -DWITH_TESTS=OFF \
+                  -DWITH_ZCHUNK=OFF \
+                  -DWITH_HTML=OFF \
+                "
+EXTRA_OECMAKE_append_class-native = " -DWITH_GIR=OFF"
+EXTRA_OECMAKE_append_class-nativesdk = " -DWITH_GIR=OFF"
+
+BBCLASSEXTEND = "native nativesdk"
+PNBLACKLIST[libdnf] ?= "${@bb.utils.contains('PACKAGE_CLASSES', 'package_rpm', '', 'Does not build without package_rpm in PACKAGE_CLASSES due disabled rpm support in libsolv', d)}"
+
diff --git a/poky/meta/recipes-devtools/libedit/libedit_20191231-3.1.bb b/poky/meta/recipes-devtools/libedit/libedit_20191231-3.1.bb
deleted file mode 100644
index 8d2d57a93..000000000
--- a/poky/meta/recipes-devtools/libedit/libedit_20191231-3.1.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-SUMMARY = "BSD replacement for libreadline"
-DESCRIPTION = "Command line editor library providing generic line editing, \
-history, and tokenization functions"
-HOMEPAGE = "http://www.thrysoee.dk/editline/"
-SECTION = "libs"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://COPYING;md5=1e4228d0c5a9093b01aeaaeae6641533"
-
-DEPENDS = "ncurses"
-
-inherit autotools
-
-SRC_URI = "http://www.thrysoee.dk/editline/${BP}.tar.gz \
-           file://stdc-predef.patch \
-          "
-SRC_URI[md5sum] = "2e22a51131de94ff2df24901f7cfe416"
-SRC_URI[sha256sum] = "dbb82cb7e116a5f8025d35ef5b4f7d4a3cdd0a3909a146a39112095a2d229071"
-
-BBCLASSEXTEND = "native nativesdk"
-
-inherit update-alternatives
-
-ALTERNATIVE_PRIORITY = "90"
-ALTERNATIVE_${PN}-doc = "history.3"
-ALTERNATIVE_LINK_NAME[history.3] = "${mandir}/man3/history.3"
diff --git a/poky/meta/recipes-devtools/libedit/libedit_20210216-3.1.bb b/poky/meta/recipes-devtools/libedit/libedit_20210216-3.1.bb
new file mode 100644
index 000000000..97aceaf71
--- /dev/null
+++ b/poky/meta/recipes-devtools/libedit/libedit_20210216-3.1.bb
@@ -0,0 +1,24 @@
+SUMMARY = "BSD replacement for libreadline"
+DESCRIPTION = "Command line editor library providing generic line editing, \
+history, and tokenization functions"
+HOMEPAGE = "http://www.thrysoee.dk/editline/"
+SECTION = "libs"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=1e4228d0c5a9093b01aeaaeae6641533"
+
+DEPENDS = "ncurses"
+
+inherit autotools
+
+SRC_URI = "http://www.thrysoee.dk/editline/${BP}.tar.gz \
+           file://stdc-predef.patch \
+          "
+SRC_URI[sha256sum] = "2283f741d2aab935c8c52c04b57bf952d02c2c02e651172f8ac811f77b1fc77a"
+
+BBCLASSEXTEND = "native nativesdk"
+
+inherit update-alternatives
+
+ALTERNATIVE_PRIORITY = "90"
+ALTERNATIVE_${PN}-doc = "history.3"
+ALTERNATIVE_LINK_NAME[history.3] = "${mandir}/man3/history.3"
diff --git a/poky/meta/recipes-devtools/librepo/librepo/0002-Do-not-try-to-obtain-PYTHON_INSTALL_DIR-by-running-p.patch b/poky/meta/recipes-devtools/librepo/librepo/0002-Do-not-try-to-obtain-PYTHON_INSTALL_DIR-by-running-p.patch
index b61f0c932..46ab9a113 100644
--- a/poky/meta/recipes-devtools/librepo/librepo/0002-Do-not-try-to-obtain-PYTHON_INSTALL_DIR-by-running-p.patch
+++ b/poky/meta/recipes-devtools/librepo/librepo/0002-Do-not-try-to-obtain-PYTHON_INSTALL_DIR-by-running-p.patch
@@ -1,4 +1,4 @@
-From b08a3b71e716dd0485ef51036d32e4c304fb4e67 Mon Sep 17 00:00:00 2001
+From 82bd6d196a0453657cbacaaedd75b2d2fe0bf9ba Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin 
 Date: Fri, 30 Dec 2016 18:05:36 +0200
 Subject: [PATCH] Do not try to obtain PYTHON_INSTALL_DIR by running python.
@@ -7,35 +7,17 @@ Upstream-Status: Inappropriate [oe-core specific]
 Signed-off-by: Alexander Kanavin 
 
 ---
- librepo/python/python2/CMakeLists.txt | 12 ++++++------
- librepo/python/python3/CMakeLists.txt | 12 ++++++------
- 2 files changed, 12 insertions(+), 12 deletions(-)
+ librepo/python/CMakeLists.txt | 12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
 
-diff --git a/librepo/python/python2/CMakeLists.txt b/librepo/python/python2/CMakeLists.txt
-index a0f1f9a..1665079 100644
---- a/librepo/python/python2/CMakeLists.txt
-+++ b/librepo/python/python2/CMakeLists.txt
-@@ -1,9 +1,9 @@
--EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} -c "
--from sys import stdout
--from distutils import sysconfig
--path=sysconfig.get_python_lib(True, prefix='${CMAKE_INSTALL_PREFIX}')
--stdout.write(path)"
--OUTPUT_VARIABLE PYTHON_INSTALL_DIR)
-+#EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} -c "
-+#from sys import stdout
-+#from distutils import sysconfig
-+#path=sysconfig.get_python_lib(True, prefix='${CMAKE_INSTALL_PREFIX}')
-+#stdout.write(path)"
-+#OUTPUT_VARIABLE PYTHON_INSTALL_DIR)
- INCLUDE_DIRECTORIES (${PYTHON_INCLUDE_PATH})
+diff --git a/librepo/python/CMakeLists.txt b/librepo/python/CMakeLists.txt
+index 52fc39e..2024407 100644
+--- a/librepo/python/CMakeLists.txt
++++ b/librepo/python/CMakeLists.txt
+@@ -16,12 +16,12 @@ SET (librepomodule_SRCS
+ 
+ MESSAGE("Building python bindings")
  
- MESSAGE(STATUS "Python install dir is ${PYTHON_INSTALL_DIR}")
-diff --git a/librepo/python/python3/CMakeLists.txt b/librepo/python/python3/CMakeLists.txt
-index 52ba44e..da51e10 100644
---- a/librepo/python/python3/CMakeLists.txt
-+++ b/librepo/python/python3/CMakeLists.txt
-@@ -1,9 +1,9 @@
 -EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} -c "
 -from sys import stdout
 -from distutils import sysconfig
diff --git a/poky/meta/recipes-devtools/librepo/librepo/0004-Set-gpgme-variables-with-pkg-config-not-with-cmake-m.patch b/poky/meta/recipes-devtools/librepo/librepo/0004-Set-gpgme-variables-with-pkg-config-not-with-cmake-m.patch
index 73902e5f5..d61d8fbf8 100644
--- a/poky/meta/recipes-devtools/librepo/librepo/0004-Set-gpgme-variables-with-pkg-config-not-with-cmake-m.patch
+++ b/poky/meta/recipes-devtools/librepo/librepo/0004-Set-gpgme-variables-with-pkg-config-not-with-cmake-m.patch
@@ -1,4 +1,4 @@
-From f5a1dfe4c87c228165bc25e7fe464120d8139a3d Mon Sep 17 00:00:00 2001
+From 25113b34bc1aae377d7bf447e69528783e2c177e Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin 
 Date: Fri, 30 Dec 2016 18:23:27 +0200
 Subject: [PATCH] Set gpgme variables with pkg-config, not with cmake module
@@ -12,13 +12,13 @@ Signed-off-by: Alexander Kanavin 
  1 file changed, 2 insertions(+), 1 deletion(-)
 
 diff --git a/CMakeLists.txt b/CMakeLists.txt
-index e949dbe..c954b2e 100644
+index a45d5c4..40249e6 100644
 --- a/CMakeLists.txt
 +++ b/CMakeLists.txt
-@@ -31,7 +31,8 @@ PKG_CHECK_MODULES(GLIB2 glib-2.0 REQUIRED)
+@@ -32,7 +32,8 @@ PKG_CHECK_MODULES(GLIB2 glib-2.0 REQUIRED)
  PKG_SEARCH_MODULE(LIBCRYPTO REQUIRED libcrypto openssl)
  PKG_CHECK_MODULES(LIBXML2 libxml-2.0 REQUIRED)
- FIND_PACKAGE(CURL REQUIRED)
+ FIND_PACKAGE(CURL 7.52.0 REQUIRED)
 -FIND_PACKAGE(Gpgme REQUIRED)
 +PKG_CHECK_MODULES(GPGME gpgme REQUIRED)
 +set(GPGME_VANILLA_LIBRARIES ${GPGME_LIBRARIES})
diff --git a/poky/meta/recipes-devtools/librepo/librepo_1.12.1.bb b/poky/meta/recipes-devtools/librepo/librepo_1.12.1.bb
deleted file mode 100644
index e90928d2e..000000000
--- a/poky/meta/recipes-devtools/librepo/librepo_1.12.1.bb
+++ /dev/null
@@ -1,29 +0,0 @@
-SUMMARY = "A library providing C and Python (libcURL like) API \
-           for downloading linux repository metadata and packages."
-HOMEPAGE = "https://github.com/rpm-software-management/librepo"
-DESCRIPTION = "${SUMMARY}"
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
-
-SRC_URI = "git://github.com/rpm-software-management/librepo.git \
-           file://0002-Do-not-try-to-obtain-PYTHON_INSTALL_DIR-by-running-p.patch \
-           file://0004-Set-gpgme-variables-with-pkg-config-not-with-cmake-m.patch \
-           "
-
-SRCREV = "d4ad350291f2937c0b6a3eea9e1d0c8e1051fc32"
-
-S = "${WORKDIR}/git"
-
-DEPENDS = "curl glib-2.0 openssl attr gpgme libxml2"
-
-inherit cmake distutils3-base pkgconfig
-
-EXTRA_OECMAKE = " \
-    -DPYTHON_INSTALL_DIR=${PYTHON_SITEPACKAGES_DIR} \
-    -DPYTHON_DESIRED=3 \
-    -DENABLE_TESTS=OFF \
-    -DENABLE_DOCS=OFF \
-    -DWITH_ZCHUNK=OFF \
-"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/librepo/librepo_1.13.0.bb b/poky/meta/recipes-devtools/librepo/librepo_1.13.0.bb
new file mode 100644
index 000000000..0a68e0ac4
--- /dev/null
+++ b/poky/meta/recipes-devtools/librepo/librepo_1.13.0.bb
@@ -0,0 +1,29 @@
+SUMMARY = "A library providing C and Python (libcURL like) API \
+           for downloading linux repository metadata and packages."
+HOMEPAGE = "https://github.com/rpm-software-management/librepo"
+DESCRIPTION = "${SUMMARY}"
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
+
+SRC_URI = "git://github.com/rpm-software-management/librepo.git \
+           file://0002-Do-not-try-to-obtain-PYTHON_INSTALL_DIR-by-running-p.patch \
+           file://0004-Set-gpgme-variables-with-pkg-config-not-with-cmake-m.patch \
+           "
+
+SRCREV = "a244d78bab11510408fb9413f1c78c2f56c69fa5"
+
+S = "${WORKDIR}/git"
+
+DEPENDS = "curl glib-2.0 openssl attr gpgme libxml2"
+
+inherit cmake distutils3-base pkgconfig
+
+EXTRA_OECMAKE = " \
+    -DPYTHON_INSTALL_DIR=${PYTHON_SITEPACKAGES_DIR} \
+    -DPYTHON_DESIRED=3 \
+    -DENABLE_TESTS=OFF \
+    -DENABLE_DOCS=OFF \
+    -DWITH_ZCHUNK=OFF \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/libtool/libtool-2.4.6.inc b/poky/meta/recipes-devtools/libtool/libtool-2.4.6.inc
index 8e17b56d4..19a03d473 100644
--- a/poky/meta/recipes-devtools/libtool/libtool-2.4.6.inc
+++ b/poky/meta/recipes-devtools/libtool/libtool-2.4.6.inc
@@ -21,6 +21,7 @@ SRC_URI = "${GNU_MIRROR}/libtool/libtool-${PV}.tar.gz \
            file://unwind-opt-parsing.patch \
            file://0001-libtool-Fix-support-for-NIOS2-processor.patch \
            file://0001-libtool-Check-for-static-libs-for-internal-compiler-.patch \
+           file://0001-Makefile.am-make-sure-autoheader-run-before-autoconf.patch \
           "
 
 SRC_URI[md5sum] = "addf44b646ddb4e3919805aa88fa7c5e"
diff --git a/poky/meta/recipes-devtools/libtool/libtool/0001-Makefile.am-make-sure-autoheader-run-before-autoconf.patch b/poky/meta/recipes-devtools/libtool/libtool/0001-Makefile.am-make-sure-autoheader-run-before-autoconf.patch
new file mode 100644
index 000000000..2e9908725
--- /dev/null
+++ b/poky/meta/recipes-devtools/libtool/libtool/0001-Makefile.am-make-sure-autoheader-run-before-autoconf.patch
@@ -0,0 +1,35 @@
+From dfbbbd359e43e0a55fbea06f2647279ad8761cb9 Mon Sep 17 00:00:00 2001
+From: Mingli Yu 
+Date: Wed, 24 Mar 2021 03:04:13 +0000
+Subject: [PATCH] Makefile.am: make sure autoheader run before autoconf
+
+autoheader will update ../libtool-2.4.6/libltdl/config-h.in which
+autoconf needs, so there comes a race sometimes as below:
+ | configure.ac:45: error: required file 'config-h.in' not found
+ | touch '../libtool-2.4.6/libltdl/config-h.in'
+
+So make sure autoheader run before autoconf to avoid this race.
+
+Upstream-Status: Submitted [libtool-patches@gnu.org maillist]
+
+Signed-off-by: Mingli Yu 
+---
+ Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index 4142c90..fe1a9fc 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -365,7 +365,7 @@ lt_configure_deps = $(lt_aclocal_m4) $(lt_aclocal_m4_deps)
+ $(lt_aclocal_m4): $(lt_aclocal_m4_deps)
+ 	$(AM_V_GEN)cd '$(srcdir)/$(ltdl_dir)' && $(ACLOCAL) -I ../m4
+ 
+-$(lt_configure): $(lt_configure_deps)
++$(lt_configure): $(lt_configure_deps) $(lt_config_h_in)
+ 	$(AM_V_GEN)cd '$(srcdir)/$(ltdl_dir)' && $(AUTOCONF)
+ 
+ $(lt_config_h_in): $(lt_configure_deps)
+-- 
+2.29.2
+
diff --git a/poky/meta/recipes-devtools/meson/meson.inc b/poky/meta/recipes-devtools/meson/meson.inc
index 622c22aff..e186dede9 100644
--- a/poky/meta/recipes-devtools/meson/meson.inc
+++ b/poky/meta/recipes-devtools/meson/meson.inc
@@ -14,6 +14,8 @@ SRC_URI = "https://github.com/mesonbuild/meson/releases/download/${PV}/meson-${P
            file://disable-rpath-handling.patch \
            file://cross-prop-default.patch \
            file://0001-modules-python.py-do-not-substitute-python-s-install.patch \
+           file://0001-minstall-Correctly-set-uid-gid-of-installed-files.patch \
+           file://gi-target-dep.patch \
            "
 SRC_URI[sha256sum] = "72e1c782ba9bda204f4a1ed57f98d027d7b6eb9414c723eebbd6ec7f1955c8a6"
 
@@ -22,6 +24,10 @@ SRC_URI_append_class-native = " \
     file://0002-Support-building-allarch-recipes-again.patch \
 "
 
+# remove at next version upgrade or when output changes
+PR = "r1"
+HASHEQUIV_HASH_VERSION .= ".1"
+
 UPSTREAM_CHECK_URI = "https://github.com/mesonbuild/meson/releases"
 UPSTREAM_CHECK_REGEX = "meson-(?P\d+(\.\d+)+)\.tar"
 
@@ -30,3 +36,13 @@ inherit setuptools3
 RDEPENDS_${PN} = "ninja python3-modules python3-pkg-resources"
 
 FILES_${PN} += "${datadir}/polkit-1"
+
+do_install_append () {
+	# As per the same issue in the python recipe itself:
+	# Unfortunately the following pyc files are non-deterministc due to 'frozenset'
+	# being written without strict ordering, even with PYTHONHASHSEED = 0
+	# Upstream is discussing ways to solve the issue properly, until then let's
+	# just not install the problematic files.
+	# More info: http://benno.id.au/blog/2013/01/15/python-determinism
+	rm ${D}${libdir}/python*/site-packages/mesonbuild/dependencies/__pycache__/mpi.cpython*
+}
diff --git a/poky/meta/recipes-devtools/meson/meson/0001-minstall-Correctly-set-uid-gid-of-installed-files.patch b/poky/meta/recipes-devtools/meson/meson/0001-minstall-Correctly-set-uid-gid-of-installed-files.patch
new file mode 100644
index 000000000..d55b7cc7c
--- /dev/null
+++ b/poky/meta/recipes-devtools/meson/meson/0001-minstall-Correctly-set-uid-gid-of-installed-files.patch
@@ -0,0 +1,28 @@
+From 3f6f4964dc79ae986f44afe1687922381f237edd Mon Sep 17 00:00:00 2001
+From: Peter Kjellerstedt 
+Date: Wed, 3 Mar 2021 12:47:28 +0100
+Subject: [PATCH] minstall: Correctly set uid/gid of installed files
+
+In commit caab4d3d, the uid and gid arguments passed to os.chown() by
+set_chown() were accidentally swapped, causing files to end up with
+incorrect owner/group if the owner and group are not the same.
+
+Upstream-Status: Backport [https://github.com/mesonbuild/meson/commit/6226ac26ef63335bfb817db02b3f295c78214a82]
+Signed-off-by: Peter Kjellerstedt 
+---
+ mesonbuild/minstall.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/mesonbuild/minstall.py b/mesonbuild/minstall.py
+index 785ff5869..07da408aa 100644
+--- a/mesonbuild/minstall.py
++++ b/mesonbuild/minstall.py
+@@ -148,7 +148,7 @@ def set_chown(path: str, user: T.Optional[str] = None, group: T.Optional[str] =
+         Use a real function rather than a lambda to help mypy out. Also real
+         functions are faster.
+         """
+-        real_os_chown(path, gid, uid, dir_fd=dir_fd, follow_symlinks=follow_symlinks)
++        real_os_chown(path, uid, gid, dir_fd=dir_fd, follow_symlinks=follow_symlinks)
+ 
+     try:
+         os.chown = chown
diff --git a/poky/meta/recipes-devtools/meson/meson/gi-target-dep.patch b/poky/meta/recipes-devtools/meson/meson/gi-target-dep.patch
new file mode 100644
index 000000000..25b30ca27
--- /dev/null
+++ b/poky/meta/recipes-devtools/meson/meson/gi-target-dep.patch
@@ -0,0 +1,41 @@
+When building gobject-introspection we want the *native* binaries (as they need
+to be executed) but *host* gobject-introspection libraries, as otherwise the
+native pkg-config can be used and the build will try to link native and host
+binaries together.
+
+Upstream-Status: Pending
+Signed-off-by: Ross Burton 
+
+diff --git a/mesonbuild/modules/gnome.py b/mesonbuild/modules/gnome.py
+index f9660838e..2eefc3fc7 100644
+--- a/mesonbuild/modules/gnome.py
++++ b/mesonbuild/modules/gnome.py
+@@ -84,8 +84,8 @@ class GnomeModule(ExtensionModule):
+                      mlog.bold('https://github.com/mesonbuild/meson/issues/1387'),
+                      once=True)
+ 
+-    def _get_native_dep(self, state, depname, required=True):
+-        kwargs = {'native': True, 'required': required}
++    def _get_dep(self, state, depname, native=False, required=True):
++        kwargs = {'native': native, 'required': required}
+         holder = self.interpreter.func_dependency(state.current_node, [depname], kwargs)
+         return holder.held_object
+ 
+@@ -101,7 +101,7 @@ class GnomeModule(ExtensionModule):
+             return ExternalProgram.from_entry(name, prog)
+ 
+         # Check if pkgconfig has a variable
+-        dep = self._get_native_dep(state, depname, required=False)
++        dep = self._get_dep(state, depname, native=True, required=False)
+         if dep.found() and dep.type_name == 'pkgconfig':
+             value = dep.get_pkgconfig_variable(varname, {})
+             if value:
+@@ -481,7 +481,7 @@ class GnomeModule(ExtensionModule):
+ 
+     def _get_gir_dep(self, state):
+         if not self.gir_dep:
+-            self.gir_dep = self._get_native_dep(state, 'gobject-introspection-1.0')
++            self.gir_dep = self._get_dep(state, 'gobject-introspection-1.0')
+             self.giscanner = self._get_native_binary(state, 'g-ir-scanner', 'gobject-introspection-1.0', 'g_ir_scanner')
+             self.gicompiler = self._get_native_binary(state, 'g-ir-compiler', 'gobject-introspection-1.0', 'g_ir_compiler')
+         return self.gir_dep, self.giscanner, self.gicompiler
diff --git a/poky/meta/recipes-devtools/perl/liburi-perl_1.74.bb b/poky/meta/recipes-devtools/perl/liburi-perl_1.74.bb
deleted file mode 100644
index c27765bcb..000000000
--- a/poky/meta/recipes-devtools/perl/liburi-perl_1.74.bb
+++ /dev/null
@@ -1,50 +0,0 @@
-SUMMARY = "Perl module to manipulate and access URI strings"
-DESCRIPTION = "This package contains the URI.pm module with friends. \
-The module implements the URI class. URI objects can be used to access \
-and manipulate the various components that make up these strings."
-
-HOMEPAGE = "http://search.cpan.org/dist/URI/"
-SECTION = "libs"
-LICENSE = "Artistic-1.0 | GPL-1.0+"
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=c453e94fae672800f83bc1bd7a38b53f"
-
-DEPENDS += "perl"
-
-SRC_URI = "http://www.cpan.org/authors/id/E/ET/ETHER/URI-${PV}.tar.gz"
-
-SRC_URI[md5sum] = "892f7183b178af40f205ba37128225db"
-SRC_URI[sha256sum] = "a9c254f45f89cb1dd946b689dfe433095404532a4543bdaab0b71ce0fdcdd53d"
-
-S = "${WORKDIR}/URI-${PV}"
-
-EXTRA_CPANFLAGS = "EXPATLIBPATH=${STAGING_LIBDIR} EXPATINCPATH=${STAGING_INCDIR}"
-
-inherit cpan ptest-perl
-
-do_compile() {
-	export LIBC="$(find ${STAGING_DIR_TARGET}/${base_libdir}/ -name 'libc-*.so')"
-	cpan_do_compile
-}
-
-do_install_prepend() {
-	# these tests require "-T" (taint) command line option
-	rm -rf ${B}/t/cwd.t
-	rm -rf ${B}/t/file.t
-}
-
-RDEPENDS_${PN} += "perl-module-integer perl-module-mime-base64"
-RDEPENDS_${PN}-ptest += " \
-    libtest-needs-perl \
-    perl-module-test-more \
-    perl-module-test \
-    perl-module-utf8 \
-    perl-module-extutils-makemaker \
-    perl-module-net-domain \
-    perl-module-encode \
-    perl-module-extutils-mm-unix \
-    perl-module-file-spec-functions \
-    perl-module-perlio \
-"
-
-BBCLASSEXTEND = "native"
diff --git a/poky/meta/recipes-devtools/perl/liburi-perl_5.08.bb b/poky/meta/recipes-devtools/perl/liburi-perl_5.08.bb
new file mode 100644
index 000000000..4d22b17e0
--- /dev/null
+++ b/poky/meta/recipes-devtools/perl/liburi-perl_5.08.bb
@@ -0,0 +1,50 @@
+SUMMARY = "Perl module to manipulate and access URI strings"
+DESCRIPTION = "This package contains the URI.pm module with friends. \
+The module implements the URI class. URI objects can be used to access \
+and manipulate the various components that make up these strings."
+
+HOMEPAGE = "http://search.cpan.org/dist/URI/"
+SECTION = "libs"
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=c453e94fae672800f83bc1bd7a38b53f"
+
+DEPENDS += "perl"
+
+SRC_URI = "http://www.cpan.org/authors/id/E/ET/ETHER/URI-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "cdbbf8f8ccdec5c162c8505077a35c2c"
+SRC_URI[sha256sum] = "7e2c6fe3b1d5947da334fa558a96e748aaa619213b85bcdce5b5347d4d26c46e"
+
+S = "${WORKDIR}/URI-${PV}"
+
+EXTRA_CPANFLAGS = "EXPATLIBPATH=${STAGING_LIBDIR} EXPATINCPATH=${STAGING_INCDIR}"
+
+inherit cpan ptest-perl
+
+do_compile() {
+	export LIBC="$(find ${STAGING_DIR_TARGET}/${base_libdir}/ -name 'libc-*.so')"
+	cpan_do_compile
+}
+
+do_install_prepend() {
+	# these tests require "-T" (taint) command line option
+	rm -rf ${B}/t/cwd.t
+	rm -rf ${B}/t/file.t
+}
+
+RDEPENDS_${PN} += "perl-module-integer perl-module-mime-base64"
+RDEPENDS_${PN}-ptest += " \
+    libtest-needs-perl \
+    perl-module-test-more \
+    perl-module-test \
+    perl-module-utf8 \
+    perl-module-extutils-makemaker \
+    perl-module-net-domain \
+    perl-module-encode \
+    perl-module-extutils-mm-unix \
+    perl-module-file-spec-functions \
+    perl-module-perlio \
+"
+
+BBCLASSEXTEND = "native"
diff --git a/poky/meta/recipes-devtools/python/python-cython.inc b/poky/meta/recipes-devtools/python/python-cython.inc
index da6eba254..0e6bac06a 100644
--- a/poky/meta/recipes-devtools/python/python-cython.inc
+++ b/poky/meta/recipes-devtools/python/python-cython.inc
@@ -1,3 +1,5 @@
+SUMMARY = "The Cython language"
+HOMEPAGE = "https://pypi.org/project/Cython/"
 DESCRIPTION = "Cython is a language specially designed for writing Python extension modules. \
 It's designed to bridge the gap between the nice, high-level, easy-to-use world of Python \
 and the messy, low-level world of C."
diff --git a/poky/meta/recipes-devtools/python/python3-cython_0.29.22.bb b/poky/meta/recipes-devtools/python/python3-cython_0.29.22.bb
index 01f716c16..2ec4033fa 100644
--- a/poky/meta/recipes-devtools/python/python3-cython_0.29.22.bb
+++ b/poky/meta/recipes-devtools/python/python3-cython_0.29.22.bb
@@ -20,8 +20,7 @@ do_install_append() {
 PACKAGEBUILDPKGD += "cython_fix_sources"
 
 cython_fix_sources () {
-	sed -i -e 's#${WORKDIR}#/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}#g' \
-		${PKGD}/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/Cython-${PV}/Cython/Compiler/FlowControl.c \
+	for f in ${PKGD}/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/Cython-${PV}/Cython/Compiler/FlowControl.c \
 		${PKGD}/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/Cython-${PV}/Cython/Compiler/FusedNode.c \
 		${PKGD}/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/Cython-${PV}/Cython/Compiler/Scanning.c \
 		${PKGD}/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/Cython-${PV}/Cython/Compiler/Visitor.c \
@@ -29,5 +28,9 @@ cython_fix_sources () {
 		${PKGD}/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/Cython-${PV}/Cython/Plex/Scanners.c \
 		${PKGD}/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/Cython-${PV}/Cython/Runtime/refnanny.c \
 		${PKGD}/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/Cython-${PV}/Cython/Tempita/_tempita.c \
-		${PKGD}${libdir}/${PYTHON_DIR}/site-packages/Cython*/SOURCES.txt
+		${PKGD}${libdir}/${PYTHON_DIR}/site-packages/Cython*/SOURCES.txt; do
+		if [ -e $f ]; then
+			sed -i -e 's#${WORKDIR}#/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}#g' $f
+		fi
+	done
 }
diff --git a/poky/meta/recipes-devtools/python/python3-dbusmock_0.22.0.bb b/poky/meta/recipes-devtools/python/python3-dbusmock_0.22.0.bb
index b1feee841..0b87ab038 100644
--- a/poky/meta/recipes-devtools/python/python3-dbusmock_0.22.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-dbusmock_0.22.0.bb
@@ -1,4 +1,5 @@
 SUMMARY = "With this program/Python library you can easily create mock objects on D-Bus"
+HOMEPAGE = "https://pypi.org/project/python-dbusmock/"
 
 LICENSE = "GPL-3.0"
 LIC_FILES_CHKSUM = "file://COPYING;md5=e6a600fd5e1d9cbde2d983680233ad02"
diff --git a/poky/meta/recipes-devtools/python/python3-iniconfig_1.1.1.bb b/poky/meta/recipes-devtools/python/python3-iniconfig_1.1.1.bb
index af4291bbf..6b3359712 100644
--- a/poky/meta/recipes-devtools/python/python3-iniconfig_1.1.1.bb
+++ b/poky/meta/recipes-devtools/python/python3-iniconfig_1.1.1.bb
@@ -1,4 +1,5 @@
 SUMMARY = "A small and simple INI-file parser module"
+HOMEPAGE = "https://pypi.org/project/iniconfig/"
 
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=a6bb0320b04a0a503f12f69fea479de9"
diff --git a/poky/meta/recipes-devtools/python/python3-jinja2_2.11.3.bb b/poky/meta/recipes-devtools/python/python3-jinja2_2.11.3.bb
index 19a4eee11..dbdf563f8 100644
--- a/poky/meta/recipes-devtools/python/python3-jinja2_2.11.3.bb
+++ b/poky/meta/recipes-devtools/python/python3-jinja2_2.11.3.bb
@@ -1,4 +1,5 @@
 DESCRIPTION = "Python Jinja2: A small but fast and easy to use stand-alone template engine written in pure python."
+HOMEPAGE = "https://pypi.org/project/Jinja/"
 
 LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=5dc88300786f1c214c1e9827a5229462"
@@ -7,6 +8,8 @@ SRC_URI[sha256sum] = "a6d58433de0ae800347cab1fa3043cebbabe8baa9d29e668f1c768cb87
 
 PYPI_PACKAGE = "Jinja2"
 
+CVE_PRODUCT = "jinja2 jinja"
+
 CLEANBROKEN = "1"
 
 inherit pypi setuptools3
diff --git a/poky/meta/recipes-devtools/python/python3-pygments_2.8.0.bb b/poky/meta/recipes-devtools/python/python3-pygments_2.8.0.bb
deleted file mode 100644
index 6c8afc509..000000000
--- a/poky/meta/recipes-devtools/python/python3-pygments_2.8.0.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-SUMMARY = "Pygments is a syntax highlighting package written in Python."
-DESCRIPTION = "Pygments is a syntax highlighting package written in Python."
-HOMEPAGE = "http://pygments.org/"
-LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=98419e351433ac106a24e3ad435930bc"
-
-inherit setuptools3
-SRC_URI[sha256sum] = "37a13ba168a02ac54cc5891a42b1caec333e59b66addb7fa633ea8a6d73445c0"
-
-DEPENDS += "\
-            ${PYTHON_PN} \
-            "
-
-PYPI_PACKAGE = "Pygments"
-
-inherit pypi
-
-BBCLASSEXTEND = "native nativesdk"
-
diff --git a/poky/meta/recipes-devtools/python/python3-pygments_2.8.1.bb b/poky/meta/recipes-devtools/python/python3-pygments_2.8.1.bb
new file mode 100644
index 000000000..a2e008348
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-pygments_2.8.1.bb
@@ -0,0 +1,19 @@
+SUMMARY = "Pygments is a syntax highlighting package written in Python."
+DESCRIPTION = "Pygments is a syntax highlighting package written in Python."
+HOMEPAGE = "http://pygments.org/"
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=98419e351433ac106a24e3ad435930bc"
+
+inherit setuptools3
+SRC_URI[sha256sum] = "2656e1a6edcdabf4275f9a3640db59fd5de107d88e8663c5d4e9a0fa62f77f94"
+
+DEPENDS += "\
+            ${PYTHON_PN} \
+            "
+
+PYPI_PACKAGE = "Pygments"
+
+inherit pypi
+
+BBCLASSEXTEND = "native nativesdk"
+
diff --git a/poky/meta/recipes-devtools/python/python3-pygobject_3.38.0.bb b/poky/meta/recipes-devtools/python/python3-pygobject_3.38.0.bb
index b4427050f..8df3150e3 100644
--- a/poky/meta/recipes-devtools/python/python3-pygobject_3.38.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-pygobject_3.38.0.bb
@@ -1,4 +1,6 @@
 SUMMARY = "Python GObject bindings"
+HOMEPAGE = "https://gitlab.gnome.org/GNOME/pygobject"
+DESCRIPTION = "PyGObject is a Python package which provides bindings for GObject based libraries such as GTK, GStreamer, WebKitGTK, GLib, GIO and many more."
 SECTION = "devel/python"
 LICENSE = "LGPLv2.1"
 LIC_FILES_CHKSUM = "file://COPYING;md5=a916467b91076e631dd8edb7424769c7"
diff --git a/poky/meta/recipes-devtools/python/python3-pytest_6.2.2.bb b/poky/meta/recipes-devtools/python/python3-pytest_6.2.2.bb
index 392c20d03..d221cbcd7 100644
--- a/poky/meta/recipes-devtools/python/python3-pytest_6.2.2.bb
+++ b/poky/meta/recipes-devtools/python/python3-pytest_6.2.2.bb
@@ -1,4 +1,6 @@
 SUMMARY = "Simple powerful testing with python"
+HOMEPAGE = "https://pypi.org/project/pytest/"
+DESCRIPTION = "The pytest framework makes it easy to write small tests, yet scales to support complex functional testing for applications and libraries."
 
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=81eb9f71d006c6b268cf4388e3c98f7b"
diff --git a/poky/meta/recipes-devtools/python/python3-scons_3.1.2.bb b/poky/meta/recipes-devtools/python/python3-scons_3.1.2.bb
index ce117a92d..12122131a 100644
--- a/poky/meta/recipes-devtools/python/python3-scons_3.1.2.bb
+++ b/poky/meta/recipes-devtools/python/python3-scons_3.1.2.bb
@@ -1,4 +1,5 @@
 SUMMARY = "Software Construction tool (make/autotools replacement)"
+HOMEPAGE = "https://github.com/SCons/scons"
 SECTION = "devel/python"
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://${WORKDIR}/LICENSE-python3-scons-${PV};md5=e14e1b33428df24a40a782ae142785d0"
diff --git a/poky/meta/recipes-devtools/python/python3-setuptools-scm_5.0.1.bb b/poky/meta/recipes-devtools/python/python3-setuptools-scm_5.0.1.bb
index 406404ec6..ead80da7b 100644
--- a/poky/meta/recipes-devtools/python/python3-setuptools-scm_5.0.1.bb
+++ b/poky/meta/recipes-devtools/python/python3-setuptools-scm_5.0.1.bb
@@ -1,4 +1,6 @@
 SUMMARY = "the blessed package to manage your versions by scm tags"
+HOMEPAGE = "https://pypi.org/project/setuptools-scm/"
+DESCRIPTION = "setuptools_scm handles managing your Python package versions in SCM metadata instead of declaring them as the version argument or in a SCM managed file."
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=8227180126797a0148f94f483f3e1489"
 
diff --git a/poky/meta/recipes-devtools/python/python3-setuptools_53.0.0.bb b/poky/meta/recipes-devtools/python/python3-setuptools_53.0.0.bb
deleted file mode 100644
index 811c8a590..000000000
--- a/poky/meta/recipes-devtools/python/python3-setuptools_53.0.0.bb
+++ /dev/null
@@ -1,55 +0,0 @@
-SUMMARY = "Download, build, install, upgrade, and uninstall Python packages"
-HOMEPAGE = "https://pypi.org/project/setuptools"
-SECTION = "devel/python"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;beginline=1;endline=19;md5=7a7126e068206290f3fe9f8d6c713ea6"
-
-inherit pypi setuptools3
-
-SRC_URI_append_class-native = " file://0001-conditionally-do-not-fetch-code-by-easy_install.patch"
-
-SRC_URI += "file://0001-change-shebang-to-python3.patch"
-
-SRC_URI[sha256sum] = "1b18ef17d74ba97ac9c0e4b4265f123f07a8ae85d9cd093949fa056d3eeeead5"
-
-DEPENDS += "${PYTHON_PN}"
-
-RDEPENDS_${PN} = "\
-  ${PYTHON_PN}-2to3 \
-  ${PYTHON_PN}-compile \
-  ${PYTHON_PN}-compression \
-  ${PYTHON_PN}-ctypes \
-  ${PYTHON_PN}-distutils \
-  ${PYTHON_PN}-email \
-  ${PYTHON_PN}-html \
-  ${PYTHON_PN}-json \
-  ${PYTHON_PN}-netserver \
-  ${PYTHON_PN}-numbers \
-  ${PYTHON_PN}-pickle \
-  ${PYTHON_PN}-pkg-resources \
-  ${PYTHON_PN}-pkgutil \
-  ${PYTHON_PN}-plistlib \
-  ${PYTHON_PN}-shell \
-  ${PYTHON_PN}-stringold \
-  ${PYTHON_PN}-threading \
-  ${PYTHON_PN}-unittest \
-  ${PYTHON_PN}-xml \
-"
-
-do_install_prepend() {
-    install -d ${D}${PYTHON_SITEPACKAGES_DIR}
-}
-
-BBCLASSEXTEND = "native nativesdk"
-
-# The pkg-resources module can be used by itself, without the package downloader
-# and easy_install. Ship it in a separate package so that it can be used by
-# minimal distributions.
-PACKAGES =+ "${PYTHON_PN}-pkg-resources "
-FILES_${PYTHON_PN}-pkg-resources = "${PYTHON_SITEPACKAGES_DIR}/pkg_resources/*"
-RDEPENDS_${PYTHON_PN}-pkg-resources = "\
-  ${PYTHON_PN}-compression \
-  ${PYTHON_PN}-email \
-  ${PYTHON_PN}-plistlib \
-  ${PYTHON_PN}-pprint \
-"
diff --git a/poky/meta/recipes-devtools/python/python3-setuptools_54.1.1.bb b/poky/meta/recipes-devtools/python/python3-setuptools_54.1.1.bb
new file mode 100644
index 000000000..74264a381
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-setuptools_54.1.1.bb
@@ -0,0 +1,55 @@
+SUMMARY = "Download, build, install, upgrade, and uninstall Python packages"
+HOMEPAGE = "https://pypi.org/project/setuptools"
+SECTION = "devel/python"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;beginline=1;endline=19;md5=7a7126e068206290f3fe9f8d6c713ea6"
+
+inherit pypi setuptools3
+
+SRC_URI_append_class-native = " file://0001-conditionally-do-not-fetch-code-by-easy_install.patch"
+
+SRC_URI += "file://0001-change-shebang-to-python3.patch"
+
+SRC_URI[sha256sum] = "1ce82798848a978696465866bb3aaab356003c42d6143e1111fcf069ac838274"
+
+DEPENDS += "${PYTHON_PN}"
+
+RDEPENDS_${PN} = "\
+  ${PYTHON_PN}-2to3 \
+  ${PYTHON_PN}-compile \
+  ${PYTHON_PN}-compression \
+  ${PYTHON_PN}-ctypes \
+  ${PYTHON_PN}-distutils \
+  ${PYTHON_PN}-email \
+  ${PYTHON_PN}-html \
+  ${PYTHON_PN}-json \
+  ${PYTHON_PN}-netserver \
+  ${PYTHON_PN}-numbers \
+  ${PYTHON_PN}-pickle \
+  ${PYTHON_PN}-pkg-resources \
+  ${PYTHON_PN}-pkgutil \
+  ${PYTHON_PN}-plistlib \
+  ${PYTHON_PN}-shell \
+  ${PYTHON_PN}-stringold \
+  ${PYTHON_PN}-threading \
+  ${PYTHON_PN}-unittest \
+  ${PYTHON_PN}-xml \
+"
+
+do_install_prepend() {
+    install -d ${D}${PYTHON_SITEPACKAGES_DIR}
+}
+
+BBCLASSEXTEND = "native nativesdk"
+
+# The pkg-resources module can be used by itself, without the package downloader
+# and easy_install. Ship it in a separate package so that it can be used by
+# minimal distributions.
+PACKAGES =+ "${PYTHON_PN}-pkg-resources "
+FILES_${PYTHON_PN}-pkg-resources = "${PYTHON_SITEPACKAGES_DIR}/pkg_resources/*"
+RDEPENDS_${PYTHON_PN}-pkg-resources = "\
+  ${PYTHON_PN}-compression \
+  ${PYTHON_PN}-email \
+  ${PYTHON_PN}-plistlib \
+  ${PYTHON_PN}-pprint \
+"
diff --git a/poky/meta/recipes-devtools/python/python3-zipp_3.4.0.bb b/poky/meta/recipes-devtools/python/python3-zipp_3.4.0.bb
deleted file mode 100644
index 97523e8e7..000000000
--- a/poky/meta/recipes-devtools/python/python3-zipp_3.4.0.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-DESCRIPTION = "Backport of pathlib-compatible object wrapper for zip files"
-HOMEPAGE = "https://github.com/jaraco/zipp"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=7a7126e068206290f3fe9f8d6c713ea6"
-
-SRC_URI[md5sum] = "ae81f228995578b840d76d1b7d87fede"
-SRC_URI[sha256sum] = "ed5eee1974372595f9e416cc7bbeeb12335201d8081ca8a0743c954d4446e5cb"
-
-DEPENDS += "${PYTHON_PN}-setuptools-scm-native"
-
-inherit pypi setuptools3
-
-DEPENDS += "${PYTHON_PN}-toml-native"
-
-RDEPENDS_${PN} += "${PYTHON_PN}-compression \
-                   ${PYTHON_PN}-math \
-                   ${PYTHON_PN}-more-itertools"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-zipp_3.4.1.bb b/poky/meta/recipes-devtools/python/python3-zipp_3.4.1.bb
new file mode 100644
index 000000000..191d3b38a
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-zipp_3.4.1.bb
@@ -0,0 +1,19 @@
+DESCRIPTION = "Backport of pathlib-compatible object wrapper for zip files"
+HOMEPAGE = "https://github.com/jaraco/zipp"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=7a7126e068206290f3fe9f8d6c713ea6"
+
+SRC_URI[md5sum] = "3d91c7ab73b62ac3674210df94df600a"
+SRC_URI[sha256sum] = "3607921face881ba3e026887d8150cca609d517579abe052ac81fc5aeffdbd76"
+
+DEPENDS += "${PYTHON_PN}-setuptools-scm-native"
+
+inherit pypi setuptools3
+
+DEPENDS += "${PYTHON_PN}-toml-native"
+
+RDEPENDS_${PN} += "${PYTHON_PN}-compression \
+                   ${PYTHON_PN}-math \
+                   ${PYTHON_PN}-more-itertools"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3/0017-setup.py-do-not-report-missing-dependencies-for-disa.patch b/poky/meta/recipes-devtools/python/python3/0017-setup.py-do-not-report-missing-dependencies-for-disa.patch
index 5c620361d..5823273af 100644
--- a/poky/meta/recipes-devtools/python/python3/0017-setup.py-do-not-report-missing-dependencies-for-disa.patch
+++ b/poky/meta/recipes-devtools/python/python3/0017-setup.py-do-not-report-missing-dependencies-for-disa.patch
@@ -10,6 +10,8 @@ build completeness checker which relies on the report.
 
 Upstream-Status: Inappropriate [oe-core specific]
 Signed-off-by: Alexander Kanavin 
+Signed-off-by: Martin Jansa 
+Signed-off-by: Alejandro Hernandez Samaniego 
 
 ---
  setup.py | 4 ++++
@@ -19,13 +21,17 @@ diff --git a/setup.py b/setup.py
 index 7691258..ec3f2a4 100644
 --- a/setup.py
 +++ b/setup.py
-@@ -408,6 +408,10 @@ class PyBuildExt(build_ext):
+@@ -408,6 +408,14 @@ class PyBuildExt(build_ext):
                  print("%-*s   %-*s   %-*s" % (longest, e, longest, f,
                                                longest, g))
  
 +        # There is no need to report missing module dependencies,
 +        # if the modules have been disabled in the first place.
-+        self.missing = list(set(self.missing) - set(mods_disabled))
++        # cannot use mods_disabled here, because remove_configured_extensions adds
++        # only disabled extensions into it (doesn't cover _dbm, _gdbm, readline
++        # we support disabling through PACKAGECONFIG)
++        sysconf_dis = sysconfig.get_config_var('MODDISABLED_NAMES').split()
++        self.missing = list(set(self.missing) - set(sysconf_dis))
 +
          if self.missing:
              print()
diff --git a/poky/meta/recipes-devtools/python/python3_3.9.2.bb b/poky/meta/recipes-devtools/python/python3_3.9.2.bb
index af1843a18..c5e47eec4 100644
--- a/poky/meta/recipes-devtools/python/python3_3.9.2.bb
+++ b/poky/meta/recipes-devtools/python/python3_3.9.2.bb
@@ -371,6 +371,7 @@ RDEPENDS_${PN}-ptest_append_libc-glibc = " locale-base-tr-tr.iso-8859-9"
 RDEPENDS_${PN}-tkinter += "${@bb.utils.contains('PACKAGECONFIG', 'tk', 'tk tk-lib', '', d)}"
 RDEPENDS_${PN}-idle += "${@bb.utils.contains('PACKAGECONFIG', 'tk', '${PN}-tkinter tcl', '', d)}"
 RDEPENDS_${PN}-dev = ""
+RDEPENDS_${PN}-pydoc += "${PN}-io"
 
 RDEPENDS_${PN}-tests_append_class-target = " ${MLPREFIX}bash"
 RDEPENDS_${PN}-tests_append_class-nativesdk = " ${MLPREFIX}bash"
diff --git a/poky/meta/recipes-devtools/qemu/qemu.inc b/poky/meta/recipes-devtools/qemu/qemu.inc
index a6dc94162..a62580959 100644
--- a/poky/meta/recipes-devtools/qemu/qemu.inc
+++ b/poky/meta/recipes-devtools/qemu/qemu.inc
@@ -30,6 +30,7 @@ SRC_URI = "https://download.qemu.org/${BPN}-${PV}.tar.xz \
            file://mmap2.patch \
            file://determinism.patch \
            file://0001-tests-meson.build-use-relative-path-to-refer-to-file.patch \
+	   file://CVE-2021-20203.patch \
            "
 UPSTREAM_CHECK_REGEX = "qemu-(?P\d+(\.\d+)+)\.tar"
 
diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-20203.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-20203.patch
new file mode 100644
index 000000000..269c6f129
--- /dev/null
+++ b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-20203.patch
@@ -0,0 +1,73 @@
+From: Prasad J Pandit 
+
+While activating device in vmxnet3_acticate_device(), it does not
+validate guest supplied configuration values against predefined
+minimum - maximum limits. This may lead to integer overflow or
+OOB access issues. Add checks to avoid it.
+
+Fixes: CVE-2021-20203
+Buglink: https://bugs.launchpad.net/qemu/+bug/1913873
+Reported-by: Gaoning Pan 
+Signed-off-by: Prasad J Pandit 
+
+Upstream-Status: Acepted [https://lists.gnu.org/archive/html/qemu-devel/2021-01/msg07935.html]
+CVE: CVE-2021-20203
+Signed-off-by: Minjae Kim 
+---
+ hw/net/vmxnet3.c | 13 +++++++++++++
+ 1 file changed, 13 insertions(+)
+
+diff --git a/hw/net/vmxnet3.c b/hw/net/vmxnet3.c
+index eff299f629..4a910ca971 100644
+--- a/hw/net/vmxnet3.c
++++ b/hw/net/vmxnet3.c
+@@ -1420,6 +1420,7 @@ static void vmxnet3_activate_device(VMXNET3State *s)
+     vmxnet3_setup_rx_filtering(s);
+     /* Cache fields from shared memory */
+     s->mtu = VMXNET3_READ_DRV_SHARED32(d, s->drv_shmem, devRead.misc.mtu);
++    assert(VMXNET3_MIN_MTU <= s->mtu && s->mtu < VMXNET3_MAX_MTU);
+     VMW_CFPRN("MTU is %u", s->mtu);
+ 
+     s->max_rx_frags =
+@@ -1473,6 +1474,9 @@ static void vmxnet3_activate_device(VMXNET3State *s)
+         /* Read rings memory locations for TX queues */
+         pa = VMXNET3_READ_TX_QUEUE_DESCR64(d, qdescr_pa, conf.txRingBasePA);
+         size = VMXNET3_READ_TX_QUEUE_DESCR32(d, qdescr_pa, conf.txRingSize);
++        if (size > VMXNET3_TX_RING_MAX_SIZE) {
++            size = VMXNET3_TX_RING_MAX_SIZE;
++        }
+ 
+         vmxnet3_ring_init(d, &s->txq_descr[i].tx_ring, pa, size,
+                           sizeof(struct Vmxnet3_TxDesc), false);
+@@ -1483,6 +1487,9 @@ static void vmxnet3_activate_device(VMXNET3State *s)
+         /* TXC ring */
+         pa = VMXNET3_READ_TX_QUEUE_DESCR64(d, qdescr_pa, conf.compRingBasePA);
+         size = VMXNET3_READ_TX_QUEUE_DESCR32(d, qdescr_pa, conf.compRingSize);
++        if (size > VMXNET3_TC_RING_MAX_SIZE) {
++            size = VMXNET3_TC_RING_MAX_SIZE;
++        }
+         vmxnet3_ring_init(d, &s->txq_descr[i].comp_ring, pa, size,
+                           sizeof(struct Vmxnet3_TxCompDesc), true);
+         VMXNET3_RING_DUMP(VMW_CFPRN, "TXC", i, &s->txq_descr[i].comp_ring);
+@@ -1524,6 +1531,9 @@ static void vmxnet3_activate_device(VMXNET3State *s)
+             /* RX rings */
+             pa = VMXNET3_READ_RX_QUEUE_DESCR64(d, qd_pa, conf.rxRingBasePA[j]);
+             size = VMXNET3_READ_RX_QUEUE_DESCR32(d, qd_pa, conf.rxRingSize[j]);
++            if (size > VMXNET3_RX_RING_MAX_SIZE) {
++                size = VMXNET3_RX_RING_MAX_SIZE;
++            }
+             vmxnet3_ring_init(d, &s->rxq_descr[i].rx_ring[j], pa, size,
+                               sizeof(struct Vmxnet3_RxDesc), false);
+             VMW_CFPRN("RX queue %d:%d: Base: %" PRIx64 ", Size: %d",
+@@ -1533,6 +1543,9 @@ static void vmxnet3_activate_device(VMXNET3State *s)
+         /* RXC ring */
+         pa = VMXNET3_READ_RX_QUEUE_DESCR64(d, qd_pa, conf.compRingBasePA);
+         size = VMXNET3_READ_RX_QUEUE_DESCR32(d, qd_pa, conf.compRingSize);
++        if (size > VMXNET3_RC_RING_MAX_SIZE) {
++            size = VMXNET3_RC_RING_MAX_SIZE;
++        }
+         vmxnet3_ring_init(d, &s->rxq_descr[i].comp_ring, pa, size,
+                           sizeof(struct Vmxnet3_RxCompDesc), true);
+         VMW_CFPRN("RXC queue %d: Base: %" PRIx64 ", Size: %d", i, pa, size);
+-- 
+2.29.2
diff --git a/poky/meta/recipes-devtools/rpm/rpm_4.16.1.2.bb b/poky/meta/recipes-devtools/rpm/rpm_4.16.1.2.bb
index 9195d66dd..d369c706a 100644
--- a/poky/meta/recipes-devtools/rpm/rpm_4.16.1.2.bb
+++ b/poky/meta/recipes-devtools/rpm/rpm_4.16.1.2.bb
@@ -145,15 +145,46 @@ FILES_${PN}_append_class-nativesdk = " ${SDKPATHNATIVE}/environment-setup.d/rpm.
 
 FILES_${PN}-dev += "${libdir}/rpm-plugins/*.la \
                     "
+PACKAGE_BEFORE_PN += "${PN}-build ${PN}-sign ${PN}-archive"
+
+RRECOMMENDS_${PN} += "rpm-build rpm-sign rpm-archive"
+
+FILES_${PN}-build = "\
+    ${bindir}/rpmbuild \
+    ${bindir}/gendiff \
+    ${bindir}/rpmspec \
+    ${libdir}/librpmbuild.so.* \
+    ${libdir}/rpm/brp-* \
+    ${libdir}/rpm/check-* \
+    ${libdir}/rpm/debugedit \
+    ${libdir}/rpm/sepdebugcrcfix \
+    ${libdir}/rpm/find-debuginfo.sh \
+    ${libdir}/rpm/find-lang.sh \
+    ${libdir}/rpm/*provides* \
+    ${libdir}/rpm/*requires* \
+    ${libdir}/rpm/*deps* \
+    ${libdir}/rpm/*.prov \
+    ${libdir}/rpm/*.req \
+    ${libdir}/rpm/config.* \
+    ${libdir}/rpm/mkinstalldirs \
+    ${libdir}/rpm/macros.p* \
+    ${libdir}/rpm/fileattrs/* \
+"
+
+FILES_${PN}-sign = "\
+    ${bindir}/rpmsign \
+    ${libdir}/librpmsign.so.* \
+"
+
+FILES_${PN}-archive = "\
+    ${bindir}/rpm2archive \
+"
 
 PACKAGES += "python3-rpm"
 PROVIDES += "python3-rpm"
 FILES_python3-rpm = "${PYTHON_SITEPACKAGES_DIR}/rpm/*"
 
-# rpm 5.x was packaging the rpm build tools separately
-RPROVIDES_${PN} += "rpm-build"
-
-RDEPENDS_${PN} = "bash perl python3-core"
+RDEPENDS_${PN}-build = "bash perl python3-core"
 
 PACKAGE_PREPROCESS_FUNCS += "rpm_package_preprocess"
 
diff --git a/poky/meta/recipes-devtools/run-postinsts/run-postinsts/run-postinsts b/poky/meta/recipes-devtools/run-postinsts/run-postinsts/run-postinsts
index f84a7e18c..95dccb9ca 100755
--- a/poky/meta/recipes-devtools/run-postinsts/run-postinsts/run-postinsts
+++ b/poky/meta/recipes-devtools/run-postinsts/run-postinsts/run-postinsts
@@ -72,12 +72,12 @@ exec_postinst_scriptlets() {
 		else
 			echo "ERROR: postinst $i failed."
 			[ "$POSTINST_LOGGING" = "1" ] && eval echo "ERROR: postinst $i failed." $append_log
-			remove_pi_dir=0
+			remove_rcsd_link=0
 		fi
 	done
 }
 
-remove_pi_dir=1
+remove_rcsd_link=1
 if $pm_installed; then
 	case $pm in
 		"ipk")
@@ -92,9 +92,7 @@ else
 	exec_postinst_scriptlets
 fi
 
-# since all postinstalls executed successfully, remove the postinstalls directory
-# and the rcS.d link
-if [ $remove_pi_dir = 1 ]; then
-	rm -rf $pi_dir
+# since all postinstalls executed successfully, remove the rcS.d link
+if [ $remove_rcsd_link = 1 ]; then
 	remove_rcsd_link
 fi
diff --git a/poky/meta/recipes-devtools/strace/strace/Makefile-ptest.patch b/poky/meta/recipes-devtools/strace/strace/Makefile-ptest.patch
index 42c1893f3..4cef0c012 100644
--- a/poky/meta/recipes-devtools/strace/strace/Makefile-ptest.patch
+++ b/poky/meta/recipes-devtools/strace/strace/Makefile-ptest.patch
@@ -1,4 +1,4 @@
-From ee47e205255928679701a5b769bd7ae0f815119d Mon Sep 17 00:00:00 2001
+From 205e7661822987825c7149ada4eefdc5368828ce Mon Sep 17 00:00:00 2001
 From: Gabriel Barbu 
 Date: Thu, 25 Jul 2013 15:28:33 +0200
 Subject: [PATCH] strace: Add ptest
@@ -10,14 +10,14 @@ Signed-off-by: Chong Lu 
 Signed-off-by: Anuj Mittal 
 
 ---
- tests/Makefile.am | 19 +++++++++++++++++++
- 1 file changed, 19 insertions(+)
+ tests/Makefile.am | 20 ++++++++++++++++++++
+ 1 file changed, 20 insertions(+)
 
 diff --git a/tests/Makefile.am b/tests/Makefile.am
-index 8cf4c36..66162eb 100644
+index b8efce8..fa9a1af 100644
 --- a/tests/Makefile.am
 +++ b/tests/Makefile.am
-@@ -15,6 +15,7 @@ SIZEOF_LONG = @SIZEOF_LONG@
+@@ -16,6 +16,7 @@ SIZEOF_LONG = @SIZEOF_LONG@
  MPERS_NAME =
  MPERS_CC_FLAGS =
  ARCH_MFLAGS =
@@ -25,16 +25,17 @@ index 8cf4c36..66162eb 100644
  AM_CFLAGS = $(WARN_CFLAGS)
  AM_CPPFLAGS = $(ARCH_MFLAGS) \
  	      -I$(builddir) \
-@@ -538,3 +539,21 @@ BUILT_SOURCES = ksysent.h
+@@ -692,3 +693,22 @@ BUILT_SOURCES = ksysent.h
  CLEANFILES = ksysent.h
  
- include ../scno.am
+ include ../src/scno.am
 +
 +buildtest-TESTS: $(check_PROGRAMS) $(TESTS)
 +
 +install-ptest:
-+	install $(BUILDDIR)/strace $(DESTDIR)
-+	install $(srcdir)/../strace-log-merge $(DESTDIR)
++	install -d $(DESTDIR)/src
++	install $(BUILDDIR)/src/strace $(DESTDIR)/src
++	install $(srcdir)/../src/strace-log-merge $(DESTDIR)/src
 +	install -d $(DESTDIR)/$(TESTDIR)
 +	cp $(BUILDDIR)/$(TESTDIR)/Makefile $(DESTDIR)/$(TESTDIR)
 +	sed -i -e 's/^Makefile:/_Makefile:/' $(DESTDIR)/$(TESTDIR)/Makefile
diff --git a/poky/meta/recipes-devtools/strace/strace/disable-git-version-gen.patch b/poky/meta/recipes-devtools/strace/strace/disable-git-version-gen.patch
deleted file mode 100644
index e8dbd7f27..000000000
--- a/poky/meta/recipes-devtools/strace/strace/disable-git-version-gen.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From d87a7feb5ea75da7061afdd473faba044ec8eb0f Mon Sep 17 00:00:00 2001
-From: Andre McCurdy 
-Date: Mon, 18 Jan 2016 13:33:50 -0800
-Subject: [PATCH] strace: remove need for scripts
-
-git-version-gen copyright-year-gen file-date-gen are not included in
-tarball releases, so we need to avoid attempts to call them.
-
-Upstream-Status: Inappropriate [configuration]
-
-Signed-off-by: Andre McCurdy 
-Signed-off-by: Anuj Mittal 
-
----
- configure.ac | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index dd4f13f..65f000b 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -12,12 +12,12 @@
- 
- AC_PREREQ(2.57)
- AC_INIT([strace],
--	st_esyscmd_s([./git-version-gen .tarball-version]),
-+	m4_esyscmd_s([cat .tarball-version]),
- 	[strace-devel@lists.strace.io],
- 	[strace],
- 	[https://strace.io])
--m4_define([copyright_year], st_esyscmd_s([./copyright-year-gen .year]))
--m4_define([manpage_date], st_esyscmd_s([./file-date-gen strace.1.in]))
-+m4_define([copyright_year], m4_esyscmd_s([cat .year]))
-+m4_define([manpage_date], m4_esyscmd_s([cat .strace.1.in.date]))
- AC_COPYRIGHT([Copyright (c) 1999-]copyright_year[ The strace developers.])
- AC_CONFIG_SRCDIR([strace.c])
- AC_CONFIG_AUX_DIR([.])
diff --git a/poky/meta/recipes-devtools/strace/strace/update-gawk-paths.patch b/poky/meta/recipes-devtools/strace/strace/update-gawk-paths.patch
index d46b147de..0c683496a 100644
--- a/poky/meta/recipes-devtools/strace/strace/update-gawk-paths.patch
+++ b/poky/meta/recipes-devtools/strace/strace/update-gawk-paths.patch
@@ -1,4 +1,4 @@
-From 12a726b280eca94883edcb4da1eaaf8e93d41739 Mon Sep 17 00:00:00 2001
+From 4cd26cfaec255ec87f22abe886e0be89312a9671 Mon Sep 17 00:00:00 2001
 From: Andre McCurdy 
 Date: Mon, 18 Jan 2016 11:01:00 -0800
 Subject: [PATCH] update gawk paths, /bin/gawk -> /usr/bin/gawk
@@ -13,7 +13,7 @@ Upstream-Status: Inappropriate [configuration]
 Signed-off-by: Andre McCurdy 
 
 ---
- mpers.awk                   | 2 +-
+ src/mpers.awk               | 2 +-
  tests-m32/caps.awk          | 2 +-
  tests-m32/match.awk         | 2 +-
  tests-m32/rt_sigaction.awk  | 2 +-
@@ -25,18 +25,18 @@ Signed-off-by: Andre McCurdy 
  tests/rt_sigaction.awk      | 2 +-
  10 files changed, 10 insertions(+), 10 deletions(-)
 
-diff --git a/mpers.awk b/mpers.awk
-index 17f8f2b..d69dcd5 100644
---- a/mpers.awk
-+++ b/mpers.awk
+diff --git a/src/mpers.awk b/src/mpers.awk
+index 25a212f..b2ff53f 100644
+--- a/src/mpers.awk
++++ b/src/mpers.awk
 @@ -1,4 +1,4 @@
 -#!/bin/gawk
 +#!/usr/bin/gawk
  #
  # Copyright (c) 2015 Elvira Khabirova 
- # Copyright (c) 2015-2016 Dmitry V. Levin 
+ # Copyright (c) 2015-2016 Dmitry V. Levin 
 diff --git a/tests-m32/caps.awk b/tests-m32/caps.awk
-index 941564a..0bcc3ff 100644
+index 69500ec..e5dfd87 100644
 --- a/tests-m32/caps.awk
 +++ b/tests-m32/caps.awk
 @@ -1,4 +1,4 @@
@@ -46,27 +46,27 @@ index 941564a..0bcc3ff 100644
  # This file is part of caps strace test.
  #
 diff --git a/tests-m32/match.awk b/tests-m32/match.awk
-index d91c518..ee5d908 100644
+index 1cde87c..df63f78 100644
 --- a/tests-m32/match.awk
 +++ b/tests-m32/match.awk
 @@ -1,4 +1,4 @@
 -#!/bin/gawk
 +#!/usr/bin/gawk
  #
- # Copyright (c) 2014-2018 Dmitry V. Levin 
+ # Copyright (c) 2014-2021 Dmitry V. Levin 
  # All rights reserved.
 diff --git a/tests-m32/rt_sigaction.awk b/tests-m32/rt_sigaction.awk
-index 81dd813..9cd9549 100644
+index dce78f5..573d9ea 100644
 --- a/tests-m32/rt_sigaction.awk
 +++ b/tests-m32/rt_sigaction.awk
 @@ -1,4 +1,4 @@
 -#!/bin/gawk
 +#!/usr/bin/gawk
  #
- # Copyright (c) 2014-2015 Dmitry V. Levin 
+ # Copyright (c) 2014-2015 Dmitry V. Levin 
  # Copyright (c) 2016 Elvira Khabirova 
 diff --git a/tests-mx32/caps.awk b/tests-mx32/caps.awk
-index 941564a..0bcc3ff 100644
+index 69500ec..e5dfd87 100644
 --- a/tests-mx32/caps.awk
 +++ b/tests-mx32/caps.awk
 @@ -1,4 +1,4 @@
@@ -76,27 +76,27 @@ index 941564a..0bcc3ff 100644
  # This file is part of caps strace test.
  #
 diff --git a/tests-mx32/match.awk b/tests-mx32/match.awk
-index d91c518..ee5d908 100644
+index 1cde87c..df63f78 100644
 --- a/tests-mx32/match.awk
 +++ b/tests-mx32/match.awk
 @@ -1,4 +1,4 @@
 -#!/bin/gawk
 +#!/usr/bin/gawk
  #
- # Copyright (c) 2014-2018 Dmitry V. Levin 
+ # Copyright (c) 2014-2021 Dmitry V. Levin 
  # All rights reserved.
 diff --git a/tests-mx32/rt_sigaction.awk b/tests-mx32/rt_sigaction.awk
-index 81dd813..9cd9549 100644
+index dce78f5..573d9ea 100644
 --- a/tests-mx32/rt_sigaction.awk
 +++ b/tests-mx32/rt_sigaction.awk
 @@ -1,4 +1,4 @@
 -#!/bin/gawk
 +#!/usr/bin/gawk
  #
- # Copyright (c) 2014-2015 Dmitry V. Levin 
+ # Copyright (c) 2014-2015 Dmitry V. Levin 
  # Copyright (c) 2016 Elvira Khabirova 
 diff --git a/tests/caps.awk b/tests/caps.awk
-index 941564a..0bcc3ff 100644
+index 69500ec..e5dfd87 100644
 --- a/tests/caps.awk
 +++ b/tests/caps.awk
 @@ -1,4 +1,4 @@
@@ -106,22 +106,22 @@ index 941564a..0bcc3ff 100644
  # This file is part of caps strace test.
  #
 diff --git a/tests/match.awk b/tests/match.awk
-index d91c518..ee5d908 100644
+index 1cde87c..df63f78 100644
 --- a/tests/match.awk
 +++ b/tests/match.awk
 @@ -1,4 +1,4 @@
 -#!/bin/gawk
 +#!/usr/bin/gawk
  #
- # Copyright (c) 2014-2018 Dmitry V. Levin 
+ # Copyright (c) 2014-2021 Dmitry V. Levin 
  # All rights reserved.
 diff --git a/tests/rt_sigaction.awk b/tests/rt_sigaction.awk
-index 81dd813..9cd9549 100644
+index dce78f5..573d9ea 100644
 --- a/tests/rt_sigaction.awk
 +++ b/tests/rt_sigaction.awk
 @@ -1,4 +1,4 @@
 -#!/bin/gawk
 +#!/usr/bin/gawk
  #
- # Copyright (c) 2014-2015 Dmitry V. Levin 
+ # Copyright (c) 2014-2015 Dmitry V. Levin 
  # Copyright (c) 2016 Elvira Khabirova 
diff --git a/poky/meta/recipes-devtools/strace/strace_5.10.bb b/poky/meta/recipes-devtools/strace/strace_5.10.bb
deleted file mode 100644
index 17bde082a..000000000
--- a/poky/meta/recipes-devtools/strace/strace_5.10.bb
+++ /dev/null
@@ -1,60 +0,0 @@
-SUMMARY = "System call tracing tool"
-HOMEPAGE = "http://strace.io"
-DESCRIPTION = "strace is a diagnostic, debugging and instructional userspace utility for Linux. It is used to monitor and tamper with interactions between processes and the Linux kernel, which include system calls, signal deliveries, and changes of process state."
-SECTION = "console/utils"
-LICENSE = "LGPL-2.1+ & GPL-2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=c756d9d5dabc27663df64f0bf492166c"
-
-SRC_URI = "https://strace.io/files/${PV}/strace-${PV}.tar.xz \
-           file://disable-git-version-gen.patch \
-           file://update-gawk-paths.patch \
-           file://Makefile-ptest.patch \
-           file://run-ptest \
-           file://mips-SIGEMT.patch \
-           file://0001-caps-abbrev.awk-fix-gawk-s-path.patch \
-           file://ptest-spacesave.patch \
-           file://uintptr_t.patch \
-           file://0001-strace-fix-reproducibilty-issues.patch \
-           "
-SRC_URI[sha256sum] = "fe3982ea4cd9aeb3b4ba35f6279f0b577a37175d3282be24b9a5537b56b8f01c"
-
-inherit autotools ptest
-
-PACKAGECONFIG_class-target ??= "\
-    ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)} \
-"
-
-PACKAGECONFIG[bluez] = "ac_cv_header_bluetooth_bluetooth_h=yes,ac_cv_header_bluetooth_bluetooth_h=no,bluez5"
-PACKAGECONFIG[libunwind] = "--with-libunwind,--without-libunwind,libunwind"
-
-EXTRA_OECONF += "--enable-mpers=no --disable-gcc-Werror"
-
-CFLAGS_append_libc-musl = " -Dsigcontext_struct=sigcontext"
-
-TESTDIR = "tests"
-PTEST_BUILD_HOST_PATTERN = "^(DEB_CHANGELOGTIME|RPM_CHANGELOGTIME|WARN_CFLAGS_FOR_BUILD|LDFLAGS_FOR_BUILD)"
-
-do_install_append() {
-	# We don't ship strace-graph here because it needs perl
-	rm ${D}${bindir}/strace-graph
-}
-
-do_compile_ptest() {
-	oe_runmake -C ${TESTDIR} buildtest-TESTS
-}
-
-do_install_ptest() {
-	oe_runmake -C ${TESTDIR} install-ptest BUILDDIR=${B} DESTDIR=${D}${PTEST_PATH} TESTDIR=${TESTDIR}
-	install -m 755 ${S}/test-driver ${D}${PTEST_PATH}
-	install -m 644 ${B}/config.h ${D}${PTEST_PATH}
-        sed -i -e '/^src/s/strace.*[0-9]/ptest/' ${D}/${PTEST_PATH}/${TESTDIR}/Makefile
-}
-
-RDEPENDS_${PN}-ptest += "make coreutils grep gawk sed"
-
-RDEPENDS_${PN}-ptest_append_libc-glibc = "\
-     locale-base-en-us.iso-8859-1 \
-"
-
-BBCLASSEXTEND = "native"
-TOOLCHAIN = "gcc"
diff --git a/poky/meta/recipes-devtools/strace/strace_5.11.bb b/poky/meta/recipes-devtools/strace/strace_5.11.bb
new file mode 100644
index 000000000..f6a91df1d
--- /dev/null
+++ b/poky/meta/recipes-devtools/strace/strace_5.11.bb
@@ -0,0 +1,56 @@
+SUMMARY = "System call tracing tool"
+HOMEPAGE = "http://strace.io"
+DESCRIPTION = "strace is a diagnostic, debugging and instructional userspace utility for Linux. It is used to monitor and tamper with interactions between processes and the Linux kernel, which include system calls, signal deliveries, and changes of process state."
+SECTION = "console/utils"
+LICENSE = "LGPL-2.1+ & GPL-2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=318cfc887fc8723f4e9d4709b55e065b"
+
+SRC_URI = "https://strace.io/files/${PV}/strace-${PV}.tar.xz \
+           file://update-gawk-paths.patch \
+           file://Makefile-ptest.patch \
+           file://run-ptest \
+           file://mips-SIGEMT.patch \
+           file://0001-caps-abbrev.awk-fix-gawk-s-path.patch \
+           file://ptest-spacesave.patch \
+           file://uintptr_t.patch \
+           file://0001-strace-fix-reproducibilty-issues.patch \
+           "
+SRC_URI[sha256sum] = "ffe340b10c145a0f85734271e9cce56457d23f21a7ea5931ab32f8cf4e793879"
+
+inherit autotools ptest
+
+PACKAGECONFIG_class-target ??= "\
+    ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)} \
+"
+
+PACKAGECONFIG[bluez] = "ac_cv_header_bluetooth_bluetooth_h=yes,ac_cv_header_bluetooth_bluetooth_h=no,bluez5"
+PACKAGECONFIG[libunwind] = "--with-libunwind,--without-libunwind,libunwind"
+
+EXTRA_OECONF += "--enable-mpers=no --disable-gcc-Werror"
+
+CFLAGS_append_libc-musl = " -Dsigcontext_struct=sigcontext"
+
+TESTDIR = "tests"
+PTEST_BUILD_HOST_PATTERN = "^(DEB_CHANGELOGTIME|RPM_CHANGELOGTIME|WARN_CFLAGS_FOR_BUILD|LDFLAGS_FOR_BUILD)"
+
+do_compile_ptest() {
+	oe_runmake ${PARALLEL_MAKE} -C ${TESTDIR} buildtest-TESTS
+}
+
+do_install_ptest() {
+	oe_runmake -C ${TESTDIR} install-ptest BUILDDIR=${B} DESTDIR=${D}${PTEST_PATH} TESTDIR=${TESTDIR}
+	mkdir -p ${D}${PTEST_PATH}/build-aux
+	mkdir -p ${D}${PTEST_PATH}/src
+	install -m 755 ${S}/build-aux/test-driver ${D}${PTEST_PATH}/build-aux/
+	install -m 644 ${B}/src/config.h ${D}${PTEST_PATH}/src/
+        sed -i -e '/^src/s/strace.*[0-9]/ptest/' ${D}/${PTEST_PATH}/${TESTDIR}/Makefile
+}
+
+RDEPENDS_${PN}-ptest += "make coreutils grep gawk sed"
+
+RDEPENDS_${PN}-ptest_append_libc-glibc = "\
+     locale-base-en-us.iso-8859-1 \
+"
+
+BBCLASSEXTEND = "native"
+TOOLCHAIN = "gcc"
diff --git a/poky/meta/recipes-devtools/vala/vala_0.50.3.bb b/poky/meta/recipes-devtools/vala/vala_0.50.3.bb
deleted file mode 100644
index 302f56254..000000000
--- a/poky/meta/recipes-devtools/vala/vala_0.50.3.bb
+++ /dev/null
@@ -1,5 +0,0 @@
-require ${BPN}.inc
-
-SRC_URI += " file://0001-vapigen.m4-use-PKG_CONFIG_SYSROOT_DIR.patch"
-
-SRC_URI[sha256sum] = "6165c1b42beca4856e2fb9a31c5e81949d76fa670e2f0cfc8389ce9b95eca5db"
diff --git a/poky/meta/recipes-devtools/vala/vala_0.50.4.bb b/poky/meta/recipes-devtools/vala/vala_0.50.4.bb
new file mode 100644
index 000000000..438163551
--- /dev/null
+++ b/poky/meta/recipes-devtools/vala/vala_0.50.4.bb
@@ -0,0 +1,5 @@
+require ${BPN}.inc
+
+SRC_URI += " file://0001-vapigen.m4-use-PKG_CONFIG_SYSROOT_DIR.patch"
+
+SRC_URI[sha256sum] = "58fc31fa8bf492035b11d1a7d514801710afc65bd458b24c0f8d00280a92a38c"
diff --git a/poky/meta/recipes-devtools/valgrind/valgrind/0001-Fix-nlcontrolc.vgtest-hanging-on-newer-glibc-and-or-.patch b/poky/meta/recipes-devtools/valgrind/valgrind/0001-Fix-nlcontrolc.vgtest-hanging-on-newer-glibc-and-or-.patch
new file mode 100644
index 000000000..98cbcd132
--- /dev/null
+++ b/poky/meta/recipes-devtools/valgrind/valgrind/0001-Fix-nlcontrolc.vgtest-hanging-on-newer-glibc-and-or-.patch
@@ -0,0 +1,200 @@
+From 83c24e31df6932a6d4fced179050c6d8d8c6f3b5 Mon Sep 17 00:00:00 2001
+From: Philippe Waroquiers 
+Date: Sun, 7 Mar 2021 22:29:27 +0100
+Subject: [PATCH] Fix nlcontrolc.vgtest hanging on newer glibc and/or arm64
+
+This test verifies that GDB can interrupt a process with all threads
+blocked in a long select syscall.
+The test used to terminate by having GDB modifying the select argument.
+However, modifying the select argument works only for specific arch
+and/or specific versions of glibc.
+The test then blocks on other architectures/glibc versions.
+
+The previous version of the test was:
+  * first launching sleepers so as to have all threads blocked in long select
+  * interrupting these threads
+  * changing the select time arg so that the threads burn cpu
+  * and then change variables to have the program exit.
+
+The new version does:
+  * first launches sleepers so that all threads are burning cpu.
+  * interrupting these threads
+  * change the local variables of sleepers so that the threads will
+    block in a long select syscall
+  * interrupt these threads
+  * kill the program.
+
+With this new version, we still check the behaviour of gdb+vgdbserver
+for both burning and sleep threads, but without having the termination
+depending on modifying select syscall argument.
+
+Tested on debian amd64 and on ubuntu arm64 (to check the test does not hang
+on an arm64 platform).
+
+Upstream-Status: Backport
+
+From commit on master:
+c79180a3afcf65902e578646c3b716cc749db406
+
+Signed-off-by: Yi Fan Yu 
+---
+ gdbserver_tests/nlcontrolc.stderr.exp  |  4 +-
+ gdbserver_tests/nlcontrolc.stdinB.gdb  | 57 +++++++++++++++-----------
+ gdbserver_tests/nlcontrolc.stdoutB.exp | 25 ++++++-----
+ gdbserver_tests/nlcontrolc.vgtest      | 12 +++---
+ 4 files changed, 56 insertions(+), 42 deletions(-)
+
+diff --git a/gdbserver_tests/nlcontrolc.stderr.exp b/gdbserver_tests/nlcontrolc.stderr.exp
+index ac75bb3da..b63a9a988 100644
+--- a/gdbserver_tests/nlcontrolc.stderr.exp
++++ b/gdbserver_tests/nlcontrolc.stderr.exp
+@@ -3,9 +3,9 @@ Nulgrind, the minimal Valgrind tool
+ (action at startup) vgdb me ... 
+ 
+ 
+-loops/sleep_ms/burn/threads_spec/affinity:  1000000000 1000000000 1000000000 BSBSBSBS 1
++loops/sleep_ms/burn/threads_spec/affinity:  1000000000 0 100000 BSBSBSBS 1
+ Brussels ready to sleep and/or burn
+ London ready to sleep and/or burn
+ Petaouchnok ready to sleep and/or burn
+ main ready to sleep and/or burn
+-
++Gdb request to kill this process
+diff --git a/gdbserver_tests/nlcontrolc.stdinB.gdb b/gdbserver_tests/nlcontrolc.stdinB.gdb
+index 667ece18d..ea4fcd530 100644
+--- a/gdbserver_tests/nlcontrolc.stdinB.gdb
++++ b/gdbserver_tests/nlcontrolc.stdinB.gdb
+@@ -9,32 +9,43 @@ shell ./simulate_control_c --vgdb-prefix=./vgdb-prefix-nlcontrolc 1 grep main nl
+ #
+ continue
+ #
+-# Here, all tasks should be blocked in a loooonnnng select, all in WaitSys
+-info threads
+-# We will unblock them by changing their timeout argument
+-# To avoid going into the frame where the timeval arg is,
+-# it has been defined as global variables, as the nr
+-# of calls on the stack differs between 32bits and 64bits,
+-# and/or between OS.
+-# ensure select finishes in a few milliseconds max:
+-p t[0].tv_sec = 0
+-p t[1].tv_sec = 0
+-p t[2].tv_sec = 0
+-p t[3].tv_sec = 0
+-#
+-# We will change the burning parameters in a few  seconds
++# Threads are burning cpu now
++# We would like to fully test info threads here, but which thread are Runnable
++# or Yielding is unpredictable. With a recent enough gdb, check the nr of
++# threads by state using pipe commands and grep/wc.
++init-if-undefined $_gdb_major = 0
++init-if-undefined $_gdb_minor = 0
++if $_gdb_major >= 9
++  | info threads | grep VgTs_Runnable | wc -l
++  | info threads | grep VgTs_Yielding | wc -l
++else
++  echo 1\n
++  echo 3\n
++end
++# We change the variables so that all the threads are blocked in a syscall
++p burn = 0
++p sleepms = 1000000
++#
++#
+ shell ./simulate_control_c --vgdb-prefix=./vgdb-prefix-nlcontrolc 1 grep changed nlcontrolc.stdoutB.out
+ #
+-echo changed burning parameters\n
++echo changed burning parameters to sleeping parameters\n
+ continue
++# Here, all tasks should be blocked in a loooonnnng select, all in WaitSys
++info threads
++# We reset the sleepms to 0. The threads should still be blocked in the syscall
++p sleepms = 0
++shell ./simulate_control_c --vgdb-prefix=./vgdb-prefix-nlcontrolc 1 grep reset nlcontrolc.stdoutB.out
+ #
+-# Threads are burning cpu now
+-# We would like to test info threads here, but which thread are Runnable or Yielding
+-# is unpredictable.
+-# info threads
+-p burn = 0
+-p loops = 0
+-p report_finished = 0
++echo reset to sleeping parameters\n
+ continue
+-# and the process should stop very quickly now
++# threads should still be blocked in a loooonnnng select, all in WaitSys
++info threads
++if $_gdb_major >= 9
++  | info threads | grep VgTs_WaitSys | wc -l
++else
++  echo 4\n
++end
++# Make the process die.
++kill
+ quit
+diff --git a/gdbserver_tests/nlcontrolc.stdoutB.exp b/gdbserver_tests/nlcontrolc.stdoutB.exp
+index e8a5ff8ba..2e8dc8498 100644
+--- a/gdbserver_tests/nlcontrolc.stdoutB.exp
++++ b/gdbserver_tests/nlcontrolc.stdoutB.exp
+@@ -1,18 +1,21 @@
+ Continuing.
+ Program received signal SIGTRAP, Trace/breakpoint trap.
++do_burn () at sleepers.c:41
++41	   for (i = 0; i < burn; i++) loopnr++;
++ > > > > > >1
++3
++$1 = 0
++$2 = 1000000
++changed burning parameters to sleeping parameters
++Continuing.
++Program received signal SIGTRAP, Trace/breakpoint trap.
+ 0x........ in syscall ...
+ * 1 Thread .... (tid 1 VgTs_WaitSys)  0x........ in syscall ...
+-$1 = 0
+-$2 = 0
+ $3 = 0
+-$4 = 0
+-changed burning parameters
++reset to sleeping parameters
+ Continuing.
+ Program received signal SIGTRAP, Trace/breakpoint trap.
+-do_burn () at sleepers.c:41
+-41	   for (i = 0; i < burn; i++) loopnr++;
+-$5 = 0
+-$6 = 0
+-$7 = 0
+-Continuing.
+-Program exited normally.
++0x........ in syscall ...
++* 1 Thread .... (tid 1 VgTs_WaitSys)  0x........ in syscall ...
++ > > > >4
++Kill the program being debugged? (y or n) [answered Y; input not from terminal]
+diff --git a/gdbserver_tests/nlcontrolc.vgtest b/gdbserver_tests/nlcontrolc.vgtest
+index bb5308403..09edfcaba 100644
+--- a/gdbserver_tests/nlcontrolc.vgtest
++++ b/gdbserver_tests/nlcontrolc.vgtest
+@@ -4,16 +4,16 @@
+ #          and modify some variables
+ #   the user can control-c an process with all threads in Running/Yielding
+ #          and modify some variables
+-# sleepers is started with argument so that it will compute during ages.
+-# The variable modifications means it will exit in a reasonable time.
+-# This test is disabled on Solaris because modifying select/poll/ppoll timeout
+-# has no effect if a thread is already blocked in that syscall.
++# sleepers is started so that it burns CPU.
++# We then interrupt the process.
++# We modify variables so that instead of burning cpu, sleepers blocks
++# all threads in a select syscall.
+ prog: sleepers
+-args: 1000000000 1000000000 1000000000 BSBSBSBS 1
++args: 1000000000 0 100000 BSBSBSBS 1
+ vgopts: --tool=none --vgdb=yes --vgdb-error=0 --vgdb-prefix=./vgdb-prefix-nlcontrolc
+ stderr_filter: filter_stderr
+ # Bug 338633 nlcontrol hangs on arm64 currently.
+-prereq: test -e gdb -a -f vgdb.invoker && ! ../tests/arch_test arm64 && ! ../tests/os_test solaris
++prereq: test -e gdb -a -f vgdb.invoker && ! ../tests/os_test solaris
+ progB: gdb
+ argsB: --quiet -l 60 --nx ./sleepers
+ stdinB: nlcontrolc.stdinB.gdb
+-- 
+2.29.2
+
diff --git a/poky/meta/recipes-devtools/valgrind/valgrind/0001-gdbserver_tests-Disable-nlcontrolc.vgtest-for-x86-64.patch b/poky/meta/recipes-devtools/valgrind/valgrind/0001-gdbserver_tests-Disable-nlcontrolc.vgtest-for-x86-64.patch
deleted file mode 100644
index 0bd8273cd..000000000
--- a/poky/meta/recipes-devtools/valgrind/valgrind/0001-gdbserver_tests-Disable-nlcontrolc.vgtest-for-x86-64.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From d8c19e0bb9ca2fd48f223e1fdeffcafeb0aa1745 Mon Sep 17 00:00:00 2001
-From: Yi Fan Yu 
-Date: Wed, 17 Feb 2021 14:53:44 -0500
-Subject: [PATCH] gdbserver_tests: Disable nlcontrolc.vgtest for x86-64
-
-Test hangs after glibc 2.33 uprev
-
-Using gdb to modify the timeout argument no longer
-affects how long `select` wait.
-
-https://bugs.kde.org/show_bug.cgi?id=432870
-Upstream-Status: Pending
-Waiting for upstream to take action.
-
-Signed-off-by: Yi Fan Yu 
----
- gdbserver_tests/nlcontrolc.vgtest | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/gdbserver_tests/nlcontrolc.vgtest b/gdbserver_tests/nlcontrolc.vgtest
-index bb5308403..96d2b52bb 100644
---- a/gdbserver_tests/nlcontrolc.vgtest
-+++ b/gdbserver_tests/nlcontrolc.vgtest
-@@ -13,7 +13,8 @@ args: 1000000000 1000000000 1000000000 BSBSBSBS 1
- vgopts: --tool=none --vgdb=yes --vgdb-error=0 --vgdb-prefix=./vgdb-prefix-nlcontrolc
- stderr_filter: filter_stderr
- # Bug 338633 nlcontrol hangs on arm64 currently.
--prereq: test -e gdb -a -f vgdb.invoker && ! ../tests/arch_test arm64 && ! ../tests/os_test solaris
-+# Bug 432870 nlcontrolc hangs on x86-64 starting with glibc 2.33
-+prereq: test -e gdb -a -f vgdb.invoker && ! ../tests/arch_test arm64 && ! ../tests/os_test solaris && ! ../tests/arch_test amd64
- progB: gdb
- argsB: --quiet -l 60 --nx ./sleepers
- stdinB: nlcontrolc.stdinB.gdb
--- 
-2.29.2
-
diff --git a/poky/meta/recipes-devtools/valgrind/valgrind/0001-lmw-lswi-and-related-PowerPC-insns-aren-t-allowed-on.patch b/poky/meta/recipes-devtools/valgrind/valgrind/0001-lmw-lswi-and-related-PowerPC-insns-aren-t-allowed-on.patch
new file mode 100644
index 000000000..7c6214497
--- /dev/null
+++ b/poky/meta/recipes-devtools/valgrind/valgrind/0001-lmw-lswi-and-related-PowerPC-insns-aren-t-allowed-on.patch
@@ -0,0 +1,62 @@
+From 0748ed5403a75c12ad9137b3fabf9d8397206ed8 Mon Sep 17 00:00:00 2001
+From: Mark Wielaard 
+Date: Tue, 1 Dec 2020 13:57:39 +0100
+Subject: [PATCH] lmw, lswi and related PowerPC insns aren't allowed on ppc64le
+
+lmw, lswi and related PowerPC insns aren't allowed on ppc64le
+
+Newer binutils produce an error when the assembly contains lmw, stmw,
+lswi, lswx, stswi, or stswx instructions in little-endian mode.
+
+Only build and run the lsw and ldst_multiple testcases on ppc64[be].
+
+https://bugs.kde.org/show_bug.cgi?id=427870
+Upstream-Status: Backport [https://sourceware.org/git/?p=valgrind.git;a=commit;h=74b74174d572fee4015b8f4e326db3cd949bcdc3]
+Signed-off-by: Khem Raj 
+---
+ none/tests/ppc64/Makefile.am          | 9 ++++++---
+ none/tests/ppc64/ldst_multiple.vgtest | 1 +
+ 2 files changed, 7 insertions(+), 3 deletions(-)
+
+diff --git a/none/tests/ppc64/Makefile.am b/none/tests/ppc64/Makefile.am
+index 9bc0d0a..9d1e8b7 100644
+--- a/none/tests/ppc64/Makefile.am
++++ b/none/tests/ppc64/Makefile.am
+@@ -54,16 +54,20 @@ EXTRA_DIST = \
+ 
+ check_PROGRAMS = \
+ 	allexec \
+-	lsw jm-insns round \
++	jm-insns round \
+ 	test_isa_2_06_part1 test_isa_2_06_part2 test_isa_2_06_part3 \
+ 	test_dfp1 test_dfp2 test_dfp3 test_dfp4 test_dfp5 \
+ 	test_isa_2_07_part1 test_isa_2_07_part2 \
+ 	test_isa_3_0 \
+ 	subnormal_test \
+-	test_tm test_touch_tm ldst_multiple data-cache-instructions \
++	test_tm test_touch_tm data-cache-instructions \
+ 	power6_mf_gpr std_reg_imm \
+ 	twi_tdi tw_td power6_bcmp
+ 
++# lmw, stmw, lswi, lswx, stswi, stswx compile (and run) only on big endian.
++if VGCONF_PLATFORMS_INCLUDE_PPC64BE_LINUX
++check_PROGRAMS += lsw ldst_multiple
++endif
+ 
+ AM_CFLAGS    += @FLAG_M64@
+ AM_CXXFLAGS  += @FLAG_M64@
+@@ -175,4 +179,3 @@ test_isa_2_07_part2_LDADD = -lm
+ test_tm_LDADD = -lm
+ test_touch_tm_LDADD = -lm
+ test_isa_3_0_LDADD = -lm
+-
+diff --git a/none/tests/ppc64/ldst_multiple.vgtest b/none/tests/ppc64/ldst_multiple.vgtest
+index 87e668e..22dd46c 100644
+--- a/none/tests/ppc64/ldst_multiple.vgtest
++++ b/none/tests/ppc64/ldst_multiple.vgtest
+@@ -1 +1,2 @@
++prereq: ../../../tests/is_ppc64_BE
+ prog: ldst_multiple
+-- 
+2.31.0
+
diff --git a/poky/meta/recipes-devtools/valgrind/valgrind_3.16.1.bb b/poky/meta/recipes-devtools/valgrind/valgrind_3.16.1.bb
index d0aefdf39..2b1d18557 100644
--- a/poky/meta/recipes-devtools/valgrind/valgrind_3.16.1.bb
+++ b/poky/meta/recipes-devtools/valgrind/valgrind_3.16.1.bb
@@ -45,7 +45,8 @@ SRC_URI = "https://sourceware.org/pub/valgrind/valgrind-${PV}.tar.bz2 \
            file://0001-drd-Port-to-Fedora-33.patch \
            file://0001-drd-musl-fix.patch \
            file://0001-helgrind-Intercept-libc-functions.patch \
-           file://0001-gdbserver_tests-Disable-nlcontrolc.vgtest-for-x86-64.patch \
+           file://0001-Fix-nlcontrolc.vgtest-hanging-on-newer-glibc-and-or-.patch \
+           file://0001-lmw-lswi-and-related-PowerPC-insns-aren-t-allowed-on.patch \
            "
 SRC_URI[md5sum] = "d1b153f1ab17cf1f311705e7a83ef589"
 SRC_URI[sha256sum] = "c91f3a2f7b02db0f3bc99479861656154d241d2fdb265614ba918cc6720a33ca"
diff --git a/poky/meta/recipes-extended/asciidoc/asciidoc/auto-catalogs.patch b/poky/meta/recipes-extended/asciidoc/asciidoc/auto-catalogs.patch
deleted file mode 100644
index ca170db00..000000000
--- a/poky/meta/recipes-extended/asciidoc/asciidoc/auto-catalogs.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-If SGML_CATALOG_FILES is in the environment, pass --catalogs to xmllint and
-xsltproc. Also pass --nonet to xsltproc to detect future missing stylesheet
-problems.
-
-An earlier version of this patch was filed upstream at
-https://github.com/asciidoc/asciidoc-py3/issues/61 so depending on how that goes
-this could get merged.
-
-Upstream-Status: Inappropriate
-Signed-off-by: Ross Burton 
-
-diff --git a/a2x.py b/a2x.py
-index 2d7699a..582d809 100755
---- a/a2x.py
-+++ b/a2x.py
-@@ -57,6 +57,10 @@ LYNX_OPTS = '-dump'
- W3M_OPTS = '-dump -cols 70 -T text/html -no-graph'
- XSLTPROC_OPTS = ''
- 
-+if "SGML_CATALOG_FILES" in os.environ:
-+  XMLLINT += " --catalogs"
-+  XSLTPROC += " --catalogs"
-+
- ######################################################################
- # End of configuration file parameters.
- ######################################################################
-@@ -298,7 +302,7 @@ def exec_xsltproc(xsl_file, xml_file, dst_dir, opts = ''):
-     cwd = os.getcwd()
-     shell_cd(dst_dir)
-     try:
--        shell('"%s" %s "%s" "%s"' % (XSLTPROC, opts, xsl_file, xml_file))
-+        shell('%s %s "%s" "%s"' % (XSLTPROC, opts, xsl_file, xml_file))
-     finally:
-         shell_cd(cwd)
- 
-@@ -483,7 +487,7 @@ class A2X(AttrDict):
-             self.asciidoc_opts += ' --doctype %s' % self.doctype
-         for attr in self.attributes:
-             self.asciidoc_opts += ' --attribute "%s"' % attr
--#        self.xsltproc_opts += ' --nonet'
-+        self.xsltproc_opts += ' --nonet'
-         if self.verbose:
-             self.asciidoc_opts += ' --verbose'
-             self.dblatex_opts += ' -V'
-@@ -634,7 +638,7 @@ class A2X(AttrDict):
-         shell('"%s" --backend docbook -a "a2x-format=%s" %s --out-file "%s" "%s"' %
-              (self.asciidoc, self.format, self.asciidoc_opts, docbook_file, self.asciidoc_file))
-         if not self.no_xmllint and XMLLINT:
--            shell('"%s" --nonet --noout --valid "%s"' % (XMLLINT, docbook_file))
-+            shell('%s --nonet --noout --valid "%s"' % (XMLLINT, docbook_file))
- 
-     def to_xhtml(self):
-         self.to_docbook()
diff --git a/poky/meta/recipes-extended/asciidoc/asciidoc_9.0.4.bb b/poky/meta/recipes-extended/asciidoc/asciidoc_9.0.4.bb
deleted file mode 100644
index bb4248a5e..000000000
--- a/poky/meta/recipes-extended/asciidoc/asciidoc_9.0.4.bb
+++ /dev/null
@@ -1,33 +0,0 @@
-SUMMARY = "Tool for creating HTML, PDF, EPUB, man pages"
-DESCRIPTION = "AsciiDoc is a text document format for writing short documents, \
-articles, books and UNIX man pages."
-
-HOMEPAGE = "http://asciidoc.org/"
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=4e5d1baf6f20559e3bec172226a47e4e \
-                    file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263 "
-
-SRC_URI = "git://github.com/asciidoc/asciidoc-py3;protocol=https;branch=main \
-           file://auto-catalogs.patch"
-SRCREV = "8de61a75572b5b8f90c1f87634aa3767472be7a7"
-
-DEPENDS = "libxml2-native libxslt-native docbook-xml-dtd4-native docbook-xsl-stylesheets-native"
-
-S = "${WORKDIR}/git"
-
-# Tell xmllint where to find the DocBook XML catalogue, because right now it
-# opens /etc/xml/catalog on the host. Depends on auto-catalogs.patch
-export SGML_CATALOG_FILES="file://${STAGING_ETCDIR_NATIVE}/xml/catalog"
-
-# Not using automake
-inherit autotools-brokensep
-CLEANBROKEN = "1"
-
-# target and nativesdk needs python3, but for native we can use the host.
-RDEPENDS_${PN} += "python3"
-RDEPENDS_remove_class-native = "python3"
-
-BBCLASSEXTEND = "native nativesdk"
-
-UPSTREAM_CHECK_GITTAGREGEX = "(?P(\d+(\.\d+)+))$"
diff --git a/poky/meta/recipes-extended/asciidoc/asciidoc_9.1.0.bb b/poky/meta/recipes-extended/asciidoc/asciidoc_9.1.0.bb
new file mode 100644
index 000000000..523bf33f4
--- /dev/null
+++ b/poky/meta/recipes-extended/asciidoc/asciidoc_9.1.0.bb
@@ -0,0 +1,32 @@
+SUMMARY = "Tool for creating HTML, PDF, EPUB, man pages"
+DESCRIPTION = "AsciiDoc is a text document format for writing short documents, \
+articles, books and UNIX man pages."
+
+HOMEPAGE = "http://asciidoc.org/"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=4e5d1baf6f20559e3bec172226a47e4e \
+                    file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263 "
+
+SRC_URI = "git://github.com/asciidoc/asciidoc-py3;protocol=https;branch=9.x"
+SRCREV = "9705d428439530104ce55d0ba12e8ef9d1b57ad1"
+
+DEPENDS = "libxml2-native libxslt-native docbook-xml-dtd4-native docbook-xsl-stylesheets-native"
+
+S = "${WORKDIR}/git"
+
+# Tell xmllint where to find the DocBook XML catalogue, because right now it
+# opens /etc/xml/catalog on the host. Depends on auto-catalogs.patch
+export SGML_CATALOG_FILES="file://${STAGING_ETCDIR_NATIVE}/xml/catalog"
+
+# Not using automake
+inherit autotools-brokensep
+CLEANBROKEN = "1"
+
+# target and nativesdk needs python3, but for native we can use the host.
+RDEPENDS_${PN} += "python3"
+RDEPENDS_remove_class-native = "python3"
+
+BBCLASSEXTEND = "native nativesdk"
+
+UPSTREAM_CHECK_GITTAGREGEX = "(?P(\d+(\.\d+)+))$"
diff --git a/poky/meta/recipes-extended/bash/bash.inc b/poky/meta/recipes-extended/bash/bash.inc
index db326660e..d3e1dfdb3 100644
--- a/poky/meta/recipes-extended/bash/bash.inc
+++ b/poky/meta/recipes-extended/bash/bash.inc
@@ -1,5 +1,6 @@
 SUMMARY = "An sh-compatible command language interpreter"
 HOMEPAGE = "http://tiswww.case.edu/php/chet/bash/bashtop.html"
+DESCRIPTION = "Bash is the GNU Project's Bourne Again SHell, a complete implementation of the IEEE POSIX and Open Group shell specification with interactive command line editing, job control on architectures that support it, csh-like features such as history substitution and brace expansion, and a slew of other features."
 SECTION = "base/shell"
 
 DEPENDS = "ncurses bison-native virtual/libiconv"
diff --git a/poky/meta/recipes-extended/bc/bc_1.07.1.bb b/poky/meta/recipes-extended/bc/bc_1.07.1.bb
index 4a5130249..ff3e8f440 100644
--- a/poky/meta/recipes-extended/bc/bc_1.07.1.bb
+++ b/poky/meta/recipes-extended/bc/bc_1.07.1.bb
@@ -1,5 +1,6 @@
 SUMMARY = "Arbitrary precision calculator language"
 HOMEPAGE = "http://www.gnu.org/software/bc/bc.html"
+DESCRIPTION = "bc is an arbitrary precision numeric processing language. Syntax is similar to C, but differs in many substantial areas. It supports interactive execution of statements."
 
 LICENSE = "GPLv3+"
 LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
diff --git a/poky/meta/recipes-extended/cracklib/cracklib_2.9.5.bb b/poky/meta/recipes-extended/cracklib/cracklib_2.9.5.bb
index 82995219d..9cdb71f1a 100644
--- a/poky/meta/recipes-extended/cracklib/cracklib_2.9.5.bb
+++ b/poky/meta/recipes-extended/cracklib/cracklib_2.9.5.bb
@@ -1,5 +1,6 @@
 SUMMARY = "Password strength checker library"
-HOMEPAGE = "http://sourceforge.net/projects/cracklib"
+HOMEPAGE = "https://github.com/cracklib/cracklib"
+DESCRIPTION = "${SUMMARY}"
 
 LICENSE = "LGPLv2.1+"
 LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=e3eda01d9815f8d24aae2dbd89b68b06"
diff --git a/poky/meta/recipes-extended/cwautomacros/cwautomacros_20110201.bb b/poky/meta/recipes-extended/cwautomacros/cwautomacros_20110201.bb
index 02b016fdf..e726899c5 100644
--- a/poky/meta/recipes-extended/cwautomacros/cwautomacros_20110201.bb
+++ b/poky/meta/recipes-extended/cwautomacros/cwautomacros_20110201.bb
@@ -1,6 +1,7 @@
 SUMMARY = "Collection of autoconf m4 macros"
 SECTION = "base"
 HOMEPAGE = "http://sourceforge.net/projects/cwautomacros.berlios/"
+DESCRIPTION = "A collection of autoconf macros, plus an autogen.sh script that can be used with them."
 LICENSE = "GPLv2"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=eb723b61539feef013de476e68b5c50a"
 
diff --git a/poky/meta/recipes-extended/ed/ed_1.17.bb b/poky/meta/recipes-extended/ed/ed_1.17.bb
index e905eed3c..addf652d5 100644
--- a/poky/meta/recipes-extended/ed/ed_1.17.bb
+++ b/poky/meta/recipes-extended/ed/ed_1.17.bb
@@ -1,5 +1,6 @@
 SUMMARY = "Line-oriented text editor"
 HOMEPAGE = "http://www.gnu.org/software/ed/"
+DESCRIPTION = "GNU ed is a line-oriented text editor. It is used to create, display, modify and otherwise manipulate text files, both interactively and via shell scripts. A restricted version of ed, red, can only edit files in the current directory and cannot execute shell commands."
 
 LICENSE = "GPLv3+"
 LIC_FILES_CHKSUM = "file://COPYING;md5=0c7051aef9219dc7237f206c5c4179a7 \
diff --git a/poky/meta/recipes-extended/go-examples/go-helloworld_0.1.bb b/poky/meta/recipes-extended/go-examples/go-helloworld_0.1.bb
index d3f7525dc..c51f163e9 100644
--- a/poky/meta/recipes-extended/go-examples/go-helloworld_0.1.bb
+++ b/poky/meta/recipes-extended/go-examples/go-helloworld_0.1.bb
@@ -6,14 +6,15 @@ LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
 
 SRC_URI = "git://${GO_IMPORT}"
-SRCREV = "bcf50bfd7dcd8020c90965747d857ae42802e0c5"
+SRCREV = "46695d81d1fae905a270fb7db8a4d11a334562fe"
 UPSTREAM_CHECK_COMMITS = "1"
 
 GO_IMPORT = "github.com/golang/example"
 GO_INSTALL = "${GO_IMPORT}/hello"
 GO_WORKDIR = "${GO_INSTALL}"
+export GO111MODULE="off"
 
-inherit go-mod
+inherit go
 
 # This is just to make clear where this example is
 do_install_append() {
diff --git a/poky/meta/recipes-extended/grep/grep_3.6.bb b/poky/meta/recipes-extended/grep/grep_3.6.bb
index cb009b913..c17b96d7b 100644
--- a/poky/meta/recipes-extended/grep/grep_3.6.bb
+++ b/poky/meta/recipes-extended/grep/grep_3.6.bb
@@ -1,5 +1,6 @@
 SUMMARY = "GNU grep utility"
 HOMEPAGE = "http://savannah.gnu.org/projects/grep/"
+DESCRIPTION = "Grep searches one or more input files for lines containing a match to a specified pattern. By default, grep prints the matching lines."
 BUGTRACKER = "http://savannah.gnu.org/bugs/?group=grep"
 SECTION = "console/utils"
 LICENSE = "GPLv3"
diff --git a/poky/meta/recipes-extended/libsolv/libsolv_0.7.17.bb b/poky/meta/recipes-extended/libsolv/libsolv_0.7.17.bb
index 8597ea3ed..fa6e8a3c4 100644
--- a/poky/meta/recipes-extended/libsolv/libsolv_0.7.17.bb
+++ b/poky/meta/recipes-extended/libsolv/libsolv_0.7.17.bb
@@ -1,4 +1,5 @@
 SUMMARY = "Library for solving packages and reading repositories"
+DESCRIPTION = "This is libsolv, a free package dependency solver using a satisfiability algorithm for solving packages and reading repositories"
 HOMEPAGE = "https://github.com/openSUSE/libsolv"
 BUGTRACKER = "https://github.com/openSUSE/libsolv/issues"
 SECTION = "devel"
diff --git a/poky/meta/recipes-extended/lighttpd/lighttpd_1.4.59.bb b/poky/meta/recipes-extended/lighttpd/lighttpd_1.4.59.bb
index 705ece8e1..cf7f47891 100644
--- a/poky/meta/recipes-extended/lighttpd/lighttpd_1.4.59.bb
+++ b/poky/meta/recipes-extended/lighttpd/lighttpd_1.4.59.bb
@@ -1,5 +1,6 @@
 SUMMARY = "Lightweight high-performance web server"
 HOMEPAGE = "http://www.lighttpd.net/"
+DESCRIPTION = "Lightweight high-performance web server is designed and optimized for high performance environments. With a small memory footprint compared to other web-servers, effective management of the cpu-load, and advanced feature set (FastCGI, SCGI, Auth, Output-Compression, URL-Rewriting and many more)"
 BUGTRACKER = "http://redmine.lighttpd.net/projects/lighttpd/issues"
 
 LICENSE = "BSD-3-Clause"
diff --git a/poky/meta/recipes-extended/logrotate/logrotate_3.18.0.bb b/poky/meta/recipes-extended/logrotate/logrotate_3.18.0.bb
index 270052f46..55684ac9f 100644
--- a/poky/meta/recipes-extended/logrotate/logrotate_3.18.0.bb
+++ b/poky/meta/recipes-extended/logrotate/logrotate_3.18.0.bb
@@ -1,6 +1,7 @@
 SUMMARY = "Rotates, compresses, removes and mails system log files"
 SECTION = "console/utils"
-HOMEPAGE = "https://github.com/logrotate/logrotate/issues"
+HOMEPAGE = "https://github.com/logrotate/logrotate/"
+DESCRIPTION = "The logrotate utility is designed to simplify the administration of log files on a system which generates a lot of log files."
 LICENSE = "GPLv2"
 
 # TODO: Document coreutils dependency. Why not RDEPENDS? Why not busybox?
diff --git a/poky/meta/recipes-extended/ltp/ltp/0001-open_posix_testsuite-generate-makefiles.sh-Avoid-inc.patch b/poky/meta/recipes-extended/ltp/ltp/0001-open_posix_testsuite-generate-makefiles.sh-Avoid-inc.patch
new file mode 100644
index 000000000..c2a70dcb6
--- /dev/null
+++ b/poky/meta/recipes-extended/ltp/ltp/0001-open_posix_testsuite-generate-makefiles.sh-Avoid-inc.patch
@@ -0,0 +1,40 @@
+From 2d1d6350af1db28ec520e26d0069a0518950b0a1 Mon Sep 17 00:00:00 2001
+From: Richard Purdie 
+Date: Tue, 9 Mar 2021 15:21:11 +0000
+Subject: [PATCH 1/3] open_posix_testsuite/generate-makefiles.sh: Avoid
+ inconsistencies with make version
+
+With make 4.1, INSTALL_TARGETS+= will add a space to the variable whereas
+with make 4.3, it will not. This leads to differing run.sh files in installed
+in packages which is undesireable. If tests is empty we don't have to add
+the line to the makefiles at all which seems like the easiest way to
+avoid the differences in make behaviour.
+
+Signed-off-by: Richard Purdie 
+Upstream-Status: Submitted [http://lists.linux.it/pipermail/ltp/2021-March/021386.html]
+
+---
+ .../open_posix_testsuite/scripts/generate-makefiles.sh      | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/testcases/open_posix_testsuite/scripts/generate-makefiles.sh b/testcases/open_posix_testsuite/scripts/generate-makefiles.sh
+index 200a631db..4b3aaa4a0 100755
+--- a/testcases/open_posix_testsuite/scripts/generate-makefiles.sh
++++ b/testcases/open_posix_testsuite/scripts/generate-makefiles.sh
+@@ -148,8 +148,12 @@ EOF
+ 
+ 	fi
+ 
+-	cat >> "$makefile.2" <> "$makefile.2" <> "$makefile.2" <
+Date: Tue, 9 Mar 2021 15:21:36 +0000
+Subject: [PATCH 2/3] Makefile: Avoid wildcard determinism issues
+
+wildcard used in Makefiles preserves the order of the files on disk
+which leads to differences in the order the binaries are linked.
+
+This patch tweaks the usage of wildcard to also have a sort, making
+the binaries reproducible. A previous patch massively improved
+the situation but wider testing showed that these other changes can
+have an effect on some binaries, this patch avoids those issues as
+exposed by our wider testing.
+
+Signed-off-by: Richard Purdie 
+Upstream-Status: Submitted [http://lists.linux.it/pipermail/ltp/2021-March/021388.html]
+
+---
+ include/mk/env_post.mk                                     | 2 +-
+ include/mk/module.mk                                       | 2 +-
+ runtest/Makefile                                           | 2 +-
+ scenario_groups/Makefile                                   | 2 +-
+ testcases/commands/ldd/datafiles/Makefile                  | 2 +-
+ testcases/kernel/hotplug/memory_hotplug/Makefile           | 3 ++-
+ testcases/kernel/io/disktest/Makefile                      | 2 +-
+ testcases/kernel/io/disktest/Makefile.linux                | 4 ++--
+ testcases/kernel/sched/hyperthreading/ht_affinity/Makefile | 2 +-
+ testcases/kernel/sched/hyperthreading/ht_enabled/Makefile  | 2 +-
+ testcases/kernel/sched/sched_stress/Makefile               | 2 +-
+ testcases/kernel/syscalls/lchown/Makefile                  | 2 +-
+ testcases/kernel/syscalls/migrate_pages/Makefile           | 2 +-
+ testcases/kernel/syscalls/move_pages/Makefile              | 2 +-
+ testcases/kernel/syscalls/utils/compat_16.mk               | 2 +-
+ testcases/kernel/syscalls/utils/newer_64.mk                | 2 +-
+ testcases/misc/math/float/Makefile                         | 2 +-
+ testcases/network/nfs/nfs_stress/nfs05_make_tree.c         | 4 ++--
+ testcases/network/nfsv4/locks/Makefile                     | 2 +-
+ utils/sctp/func_tests/Makefile                             | 2 +-
+ 20 files changed, 23 insertions(+), 22 deletions(-)
+
+diff --git a/include/mk/env_post.mk b/include/mk/env_post.mk
+index d52ad9f0b..1d22f9c53 100644
+--- a/include/mk/env_post.mk
++++ b/include/mk/env_post.mk
+@@ -47,7 +47,7 @@ LDFLAGS				+= -L$(top_builddir)/lib/android_libpthread
+ LDFLAGS				+= -L$(top_builddir)/lib/android_librt
+ endif
+ 
+-MAKE_TARGETS			?= $(notdir $(patsubst %.c,%,$(wildcard $(abs_srcdir)/*.c)))
++MAKE_TARGETS			?= $(notdir $(patsubst %.c,%,$(sort $(wildcard $(abs_srcdir)/*.c))))
+ MAKE_TARGETS			:= $(filter-out $(FILTER_OUT_MAKE_TARGETS),$(MAKE_TARGETS))
+ 
+ # with only *.dwo, .[0-9]+.dwo can not be cleaned
+diff --git a/include/mk/module.mk b/include/mk/module.mk
+index 95fb8336a..6c8814b96 100644
+--- a/include/mk/module.mk
++++ b/include/mk/module.mk
+@@ -42,7 +42,7 @@ endif
+ 
+ ifneq ($(filter install clean,$(MAKECMDGOALS)),)
+ MAKE_TARGETS := $(filter-out %.ko, $(MAKE_TARGETS))
+-MAKE_TARGETS += $(wildcard *.ko)
++MAKE_TARGETS += $(sort $(wildcard *.ko))
+ endif
+ 
+ CLEAN_TARGETS += .dep_modules *.mod built-in.a
+diff --git a/runtest/Makefile b/runtest/Makefile
+index b7caaee06..6a1565b6a 100644
+--- a/runtest/Makefile
++++ b/runtest/Makefile
+@@ -36,7 +36,7 @@ ifneq ($(WITH_POWER_MANAGEMENT_TESTSUITE),yes)
+ UNWANTED_FILES		+= power_management_tests
+ endif
+ 
+-INSTALL_TARGETS		:= $(filter-out $(UNWANTED_FILES),$(notdir $(patsubst $(abs_srcdir)/%,%,$(wildcard $(abs_srcdir)/*))))
++INSTALL_TARGETS		:= $(filter-out $(UNWANTED_FILES),$(notdir $(patsubst $(abs_srcdir)/%,%,$(sort $(wildcard $(abs_srcdir)/*)))))
+ 
+ MAKE_TARGETS		:=
+ 
+diff --git a/scenario_groups/Makefile b/scenario_groups/Makefile
+index 2978675d9..fcbc92708 100644
+--- a/scenario_groups/Makefile
++++ b/scenario_groups/Makefile
+@@ -31,7 +31,7 @@ UNWANTED_FILES		:= Makefile
+ 
+ INSTALL_MODE		:= 00644
+ 
+-INSTALL_TARGETS		:= $(filter-out $(UNWANTED_FILES),$(notdir $(patsubst $(abs_srcdir)/%,%,$(wildcard $(abs_srcdir)/*))))
++INSTALL_TARGETS		:= $(filter-out $(UNWANTED_FILES),$(notdir $(patsubst $(abs_srcdir)/%,%,$(sort $(wildcard $(abs_srcdir)/*)))))
+ 
+ MAKE_TARGETS		:=
+ 
+diff --git a/testcases/commands/ldd/datafiles/Makefile b/testcases/commands/ldd/datafiles/Makefile
+index d8bcf5c06..01c352052 100644
+--- a/testcases/commands/ldd/datafiles/Makefile
++++ b/testcases/commands/ldd/datafiles/Makefile
+@@ -21,7 +21,7 @@ CPPFLAGS		+= -fpic
+ 
+ INSTALL_TARGETS		:= ldd*.so lddfile.out
+ 
+-LDD_C_FILES		:= $(wildcard $(abs_srcdir)/lddfile*.c)
++LDD_C_FILES		:= $(sort $(wildcard $(abs_srcdir)/lddfile*.c))
+ LDD_SO_FILES		:= $(patsubst $(abs_srcdir)/%.c,%.obj.so,$(LDD_C_FILES))
+ MAKE_TARGETS		:= lddfile.out
+ CLEAN_TARGETS		+= *.obj $(LDD_SO_FILES)
+diff --git a/testcases/kernel/hotplug/memory_hotplug/Makefile b/testcases/kernel/hotplug/memory_hotplug/Makefile
+index d1ba65e65..38a77a2ba 100644
+--- a/testcases/kernel/hotplug/memory_hotplug/Makefile
++++ b/testcases/kernel/hotplug/memory_hotplug/Makefile
+@@ -31,6 +31,7 @@ LDLIBS		:= $(filter-out -lltp,$(LDLIBS))
+ 
+ MAKE_TARGETS	:= memtoy
+ 
+-memtoy: $(patsubst $(abs_srcdir)/%.c,%.o,$(wildcard $(abs_srcdir)/*.c))
++memtoy: $(patsubst $(abs_srcdir)/%.c,%.o,$(sort $(wildcard $(abs_srcdir)/*.c)))
++
+ 
+ include $(top_srcdir)/include/mk/generic_leaf_target.mk
+diff --git a/testcases/kernel/io/disktest/Makefile b/testcases/kernel/io/disktest/Makefile
+index d10d98434..3a3a9cbf0 100644
+--- a/testcases/kernel/io/disktest/Makefile
++++ b/testcases/kernel/io/disktest/Makefile
+@@ -209,7 +209,7 @@ LDLIBS		+= -lpthread
+ 
+ MAKE_TARGETS	:= disktest
+ 
+-OBJS		:= $(patsubst $(abs_srcdir)/%.c,%.o,$(wildcard $(abs_srcdir)/*.c))
++OBJS		:= $(patsubst $(abs_srcdir)/%.c,%.o,$(sort $(wildcard $(abs_srcdir)/*.c)))
+ 
+ disktest-$(VER):
+ 	mkdir -p "$@"
+diff --git a/testcases/kernel/io/disktest/Makefile.linux b/testcases/kernel/io/disktest/Makefile.linux
+index ea45b5a57..0f3aab622 100644
+--- a/testcases/kernel/io/disktest/Makefile.linux
++++ b/testcases/kernel/io/disktest/Makefile.linux
+@@ -167,8 +167,8 @@ mandir=/usr/share/man
+ 
+ VER=`grep VER_STR main.h | awk -F\" '{print $$2}'`
+ GBLHDRS=main.h globals.h defs.h
+-ALLHDRS=$(wildcard *.h)
+-SRCS=$(wildcard *.c)
++ALLHDRS=$(sort $(wildcard *.h))
++SRCS=$(sort $(wildcard *.c))
+ OBJS=$(SRCS:.c=.o)
+ 
+ CFLAGS += -g -Wall -O -D"LINUX" -D"_THREAD_SAFE" -D"_GNU_SOURCE" -D"_LARGE_FILES" -D"_LARGEFILE64_SOURCE" -D"_FILE_OFFSET_BITS=64" $(RPM_OPT_FLAGS)
+diff --git a/testcases/kernel/sched/hyperthreading/ht_affinity/Makefile b/testcases/kernel/sched/hyperthreading/ht_affinity/Makefile
+index 10fec96dc..6b64bd261 100644
+--- a/testcases/kernel/sched/hyperthreading/ht_affinity/Makefile
++++ b/testcases/kernel/sched/hyperthreading/ht_affinity/Makefile
+@@ -28,6 +28,6 @@ INSTALL_TARGETS		:= smt_smp_affinity.sh
+ 
+ MAKE_TARGETS		:= ht_affinity
+ 
+-$(MAKE_TARGETS): $(patsubst $(abs_srcdir)/%.c,%.o,$(wildcard $(abs_srcdir)/*.c))
++$(MAKE_TARGETS): $(patsubst $(abs_srcdir)/%.c,%.o,$(sort $(wildcard $(abs_srcdir)/*.c)))
+ 
+ include $(top_srcdir)/include/mk/generic_leaf_target.mk
+diff --git a/testcases/kernel/sched/hyperthreading/ht_enabled/Makefile b/testcases/kernel/sched/hyperthreading/ht_enabled/Makefile
+index 9c1e139d6..585ff1383 100644
+--- a/testcases/kernel/sched/hyperthreading/ht_enabled/Makefile
++++ b/testcases/kernel/sched/hyperthreading/ht_enabled/Makefile
+@@ -28,6 +28,6 @@ INSTALL_TARGETS		:= smt_smp_enabled.sh
+ 
+ MAKE_TARGETS		:= ht_enabled
+ 
+-$(MAKE_TARGETS): $(patsubst $(abs_srcdir)/%.c,%.o,$(wildcard $(abs_srcdir)/*.c))
++$(MAKE_TARGETS): $(patsubst $(abs_srcdir)/%.c,%.o,$(sort $(wildcard $(abs_srcdir)/*.c)))
+ 
+ include $(top_srcdir)/include/mk/generic_leaf_target.mk
+diff --git a/testcases/kernel/sched/sched_stress/Makefile b/testcases/kernel/sched/sched_stress/Makefile
+index b76126c73..4dbbf3477 100644
+--- a/testcases/kernel/sched/sched_stress/Makefile
++++ b/testcases/kernel/sched/sched_stress/Makefile
+@@ -10,7 +10,7 @@ INSTALL_TARGETS		:= sched_stress.sh
+ 
+ LDLIBS			+= -lpthread
+ 
+-MAKE_TARGETS		:= $(filter-out sched,$(patsubst $(abs_srcdir)/%.c,%,$(wildcard $(abs_srcdir)/*.c)))
++MAKE_TARGETS		:= $(filter-out sched,$(patsubst $(abs_srcdir)/%.c,%,$(sort $(wildcard $(abs_srcdir)/*.c))))
+ 
+ RM			+= -r
+ 
+diff --git a/testcases/kernel/syscalls/lchown/Makefile b/testcases/kernel/syscalls/lchown/Makefile
+index 13d39cb81..305fee281 100644
+--- a/testcases/kernel/syscalls/lchown/Makefile
++++ b/testcases/kernel/syscalls/lchown/Makefile
+@@ -5,7 +5,7 @@ top_srcdir		?= ../../../..
+ 
+ include $(top_srcdir)/include/mk/testcases.mk
+ 
+-SRCS			:= $(wildcard $(abs_srcdir)/lchown*.c)
++SRCS			:= $(sort $(wildcard $(abs_srcdir)/lchown*.c))
+ 
+ include $(abs_srcdir)/../utils/compat_16.mk
+ 
+diff --git a/testcases/kernel/syscalls/migrate_pages/Makefile b/testcases/kernel/syscalls/migrate_pages/Makefile
+index 46912b025..9cf3ce526 100644
+--- a/testcases/kernel/syscalls/migrate_pages/Makefile
++++ b/testcases/kernel/syscalls/migrate_pages/Makefile
+@@ -5,7 +5,7 @@ top_srcdir		?= ../../../..
+ 
+ include $(top_srcdir)/include/mk/testcases.mk
+ 
+-MAKE_TARGETS		:= $(patsubst $(abs_srcdir)/%.c,%,$(wildcard $(abs_srcdir)/*[0-9].c))
++MAKE_TARGETS		:= $(patsubst $(abs_srcdir)/%.c,%,$(sort $(wildcard $(abs_srcdir)/*[0-9].c)))
+ $(MAKE_TARGETS): %: migrate_pages_common.o
+ 
+ CPPFLAGS		+= -I$(abs_srcdir)/../utils/
+diff --git a/testcases/kernel/syscalls/move_pages/Makefile b/testcases/kernel/syscalls/move_pages/Makefile
+index cd7ff6349..4b22160ed 100644
+--- a/testcases/kernel/syscalls/move_pages/Makefile
++++ b/testcases/kernel/syscalls/move_pages/Makefile
+@@ -7,7 +7,7 @@ include $(top_srcdir)/include/mk/testcases.mk
+ 
+ CPPFLAGS		+= -I$(abs_srcdir)/../utils
+ 
+-MAKE_TARGETS		:= $(patsubst $(abs_srcdir)/%.c,%,$(wildcard $(abs_srcdir)/*[0-9].c))
++MAKE_TARGETS		:= $(patsubst $(abs_srcdir)/%.c,%,$(sort $(wildcard $(abs_srcdir)/*[0-9].c)))
+ 
+ $(MAKE_TARGETS): %: move_pages_support.o
+ 
+diff --git a/testcases/kernel/syscalls/utils/compat_16.mk b/testcases/kernel/syscalls/utils/compat_16.mk
+index a0ff8f558..e81a00c40 100644
+--- a/testcases/kernel/syscalls/utils/compat_16.mk
++++ b/testcases/kernel/syscalls/utils/compat_16.mk
+@@ -50,7 +50,7 @@
+ 
+ CPPFLAGS		+= -I$(abs_srcdir) -I$(abs_srcdir)/../utils
+ 
+-SRCS			?= $(wildcard $(abs_srcdir)/*.c)
++SRCS			?= $(sort $(wildcard $(abs_srcdir)/*.c))
+ 
+ MAKE_TARGETS		:= $(notdir $(patsubst %.c,%,$(SRCS)))
+ MAKE_TARGETS_OBJS_WO_COMPAT_16	:= $(addsuffix .o,$(MAKE_TARGETS))
+diff --git a/testcases/kernel/syscalls/utils/newer_64.mk b/testcases/kernel/syscalls/utils/newer_64.mk
+index 8cd7e03c8..5e798057a 100644
+--- a/testcases/kernel/syscalls/utils/newer_64.mk
++++ b/testcases/kernel/syscalls/utils/newer_64.mk
+@@ -25,7 +25,7 @@
+ 
+ CPPFLAGS		+= -I$(abs_srcdir) -I$(abs_srcdir)/../utils
+ 
+-SRCS			?= $(wildcard $(abs_srcdir)/*.c)
++SRCS			?= $(sort $(wildcard $(abs_srcdir)/*.c))
+ 
+ MAKE_TARGETS		:= $(notdir $(patsubst %.c,%,$(SRCS)))
+ 
+diff --git a/testcases/misc/math/float/Makefile b/testcases/misc/math/float/Makefile
+index 79dda35d6..5f4cb0f6c 100644
+--- a/testcases/misc/math/float/Makefile
++++ b/testcases/misc/math/float/Makefile
+@@ -27,6 +27,6 @@ include $(top_srcdir)/include/mk/testcases.mk
+ LDLIBS		+= -lpthread -lm
+ 
+ # main.c doesn't compile...
+-MAKE_TARGETS	:= $(patsubst $(abs_srcdir)/%.c,%,$(wildcard $(abs_srcdir)/float*.c))
++MAKE_TARGETS	:= $(patsubst $(abs_srcdir)/%.c,%,$(sort $(wildcard $(abs_srcdir)/float*.c)))
+ 
+ include $(top_srcdir)/include/mk/generic_trunk_target.mk
+diff --git a/testcases/network/nfs/nfs_stress/nfs05_make_tree.c b/testcases/network/nfs/nfs_stress/nfs05_make_tree.c
+index 12c86799d..23c520d9d 100644
+--- a/testcases/network/nfs/nfs_stress/nfs05_make_tree.c
++++ b/testcases/network/nfs/nfs_stress/nfs05_make_tree.c
+@@ -104,7 +104,7 @@ static void *thread_fn(LTP_ATTRIBUTE_UNUSED void *args)
+ 				"\treturn 0;\n}\n";
+ 
+ 	const char make_buf_n[] = "CFLAGS := -O -w -g\n"
+-				  "SRCS=$(wildcard *.c)\n"
++				  "SRCS=$(sort $(wildcard *.c))\n"
+ 				  "TARGETS=$(SRCS:.c=)\n"
+ 				  "all: $(TARGETS)\n"
+ 				  "$(TARGETS): %: %.c\n"
+@@ -114,7 +114,7 @@ static void *thread_fn(LTP_ATTRIBUTE_UNUSED void *args)
+ 
+ 	const char make_buf[] = "CFLAGS := -O -w -g\n"
+ 				"SUBDIR = dir\n"
+-				"SRCS=$(wildcard *.c)\n"
++				"SRCS=$(sort $(wildcard *.c))\n"
+ 				"TARGETS=$(SRCS:.c=)\n"
+ 				"all: $(SUBDIR) $(TARGETS)\n"
+ 				"$(TARGETS): %: %.c\n"
+diff --git a/testcases/network/nfsv4/locks/Makefile b/testcases/network/nfsv4/locks/Makefile
+index 5812dea3a..05941c892 100644
+--- a/testcases/network/nfsv4/locks/Makefile
++++ b/testcases/network/nfsv4/locks/Makefile
+@@ -28,6 +28,6 @@ MAKE_TARGETS		:= locktests
+ 
+ LDLIBS			+= -lpthread
+ 
+-$(MAKE_TARGETS): $(patsubst $(abs_srcdir)/%.c,%.o,$(wildcard $(abs_srcdir)/*.c))
++$(MAKE_TARGETS): $(patsubst $(abs_srcdir)/%.c,%.o,$(sort $(wildcard $(abs_srcdir)/*.c)))
+ 
+ include $(top_srcdir)/include/mk/generic_leaf_target.mk
+diff --git a/utils/sctp/func_tests/Makefile b/utils/sctp/func_tests/Makefile
+index d296c652a..a17107853 100644
+--- a/utils/sctp/func_tests/Makefile
++++ b/utils/sctp/func_tests/Makefile
+@@ -30,7 +30,7 @@ LDFLAGS		+= $(addprefix -L$(abs_builddir)/../,lib testlib)
+ 
+ LDLIBS		+= -lsctputil -lsctp -lpthread
+ 
+-V4_TARGETS	:= $(patsubst $(abs_srcdir)/%.c,%,$(wildcard $(abs_srcdir)/*.c))
++V4_TARGETS	:= $(patsubst $(abs_srcdir)/%.c,%,$(sort $(wildcard $(abs_srcdir)/*.c)))
+ 
+ V6_TARGETS	:= test_basic_v6 test_fragments_v6 test_getname_v6 \
+ 		   test_inaddr_any_v6 test_peeloff_v6 \
+-- 
+2.27.0
+
diff --git a/poky/meta/recipes-extended/ltp/ltp/0003-syscalls-swapon-swapoff-Move-common-library-to-libs.patch b/poky/meta/recipes-extended/ltp/ltp/0003-syscalls-swapon-swapoff-Move-common-library-to-libs.patch
new file mode 100644
index 000000000..5ace82dba
--- /dev/null
+++ b/poky/meta/recipes-extended/ltp/ltp/0003-syscalls-swapon-swapoff-Move-common-library-to-libs.patch
@@ -0,0 +1,133 @@
+From 0653f1d809d0cc13f84facb9d2d82d984ac4d0ac Mon Sep 17 00:00:00 2001
+From: Richard Purdie 
+Date: Tue, 9 Mar 2021 15:25:16 +0000
+Subject: [PATCH 3/3] syscalls/swapon/swapoff: Move common library to libs/
+
+There is a race/determinism issue with libswapon currently as depending on
+which makefile path builds it, the debug paths may be "../swapon/libswapon.c"
+or "libswapon.c". To avoid the determinism issue, move libswapon to libs/
+and use it from the shared location.
+
+The header is moved to the common includes directory to match and
+the Makefile.inc fragment can be dropped.
+
+Signed-off-by: Richard Purdie 
+Upstream-Status: Submitted [http://lists.linux.it/pipermail/ltp/2021-March/021387.html]
+
+---
+ .../kernel/syscalls/swapon => include}/libswapon.h   |  0
+ libs/libltpswapon/Makefile                           | 12 ++++++++++++
+ .../swapon => libs/libltpswapon}/libswapon.c         |  0
+ testcases/kernel/syscalls/swapoff/Makefile           |  7 +++++--
+ testcases/kernel/syscalls/swapoff/Makefile.inc       |  6 ------
+ testcases/kernel/syscalls/swapoff/swapoff01.c        |  2 +-
+ testcases/kernel/syscalls/swapoff/swapoff02.c        |  2 +-
+ testcases/kernel/syscalls/swapon/Makefile            |  6 +++---
+ 8 files changed, 22 insertions(+), 13 deletions(-)
+ rename {testcases/kernel/syscalls/swapon => include}/libswapon.h (100%)
+ create mode 100644 libs/libltpswapon/Makefile
+ rename {testcases/kernel/syscalls/swapon => libs/libltpswapon}/libswapon.c (100%)
+ delete mode 100644 testcases/kernel/syscalls/swapoff/Makefile.inc
+
+diff --git a/testcases/kernel/syscalls/swapon/libswapon.h b/include/libswapon.h
+similarity index 100%
+rename from testcases/kernel/syscalls/swapon/libswapon.h
+rename to include/libswapon.h
+diff --git a/libs/libltpswapon/Makefile b/libs/libltpswapon/Makefile
+new file mode 100644
+index 000000000..8f738338b
+--- /dev/null
++++ b/libs/libltpswapon/Makefile
+@@ -0,0 +1,12 @@
++# SPDX-License-Identifier: GPL-2.0-or-later
++#
++# Copyright (C) Richard Purdie 
++
++top_srcdir		?= ../..
++
++include $(top_srcdir)/include/mk/env_pre.mk
++
++INTERNAL_LIB		:= libltpswapon.a
++
++include $(top_srcdir)/include/mk/lib.mk
++include $(top_srcdir)/include/mk/generic_leaf_target.mk
+diff --git a/testcases/kernel/syscalls/swapon/libswapon.c b/libs/libltpswapon/libswapon.c
+similarity index 100%
+rename from testcases/kernel/syscalls/swapon/libswapon.c
+rename to libs/libltpswapon/libswapon.c
+diff --git a/testcases/kernel/syscalls/swapoff/Makefile b/testcases/kernel/syscalls/swapoff/Makefile
+index fbfbe0441..a74374605 100644
+--- a/testcases/kernel/syscalls/swapoff/Makefile
++++ b/testcases/kernel/syscalls/swapoff/Makefile
+@@ -3,7 +3,10 @@
+ 
+ top_srcdir		?= ../../../..
+ 
++LTPLIBS = ltpswapon
++
+ include $(top_srcdir)/include/mk/testcases.mk
+-include $(abs_srcdir)/./Makefile.inc
++
++LTPLDLIBS  = -lltpswapon
++
+ include $(top_srcdir)/include/mk/generic_leaf_target.mk
+-$(MAKE_TARGETS): %: ../swapon/libswapon.o
+diff --git a/testcases/kernel/syscalls/swapoff/Makefile.inc b/testcases/kernel/syscalls/swapoff/Makefile.inc
+deleted file mode 100644
+index 65350cbeb..000000000
+--- a/testcases/kernel/syscalls/swapoff/Makefile.inc
++++ /dev/null
+@@ -1,6 +0,0 @@
+-LIBDIR			+= ../swapon/
+-LIBSWAPON		:= $(LIBDIR)/libswapon.o
+-$(LIBSWAPON):
+-	$(MAKE) -C $(LIBDIR)
+-CPPFLAGS		+= -I$(abs_srcdir)/$(LIBDIR)
+-LDFLAGS			+= -L$(abs_builddir)/$(LIBDIR)
+diff --git a/testcases/kernel/syscalls/swapoff/swapoff01.c b/testcases/kernel/syscalls/swapoff/swapoff01.c
+index e115269c0..87a217a89 100644
+--- a/testcases/kernel/syscalls/swapoff/swapoff01.c
++++ b/testcases/kernel/syscalls/swapoff/swapoff01.c
+@@ -25,7 +25,7 @@
+ #include 
+ #include "config.h"
+ #include "lapi/syscalls.h"
+-#include "../swapon/libswapon.h"
++#include "libswapon.h"
+ 
+ static void setup(void);
+ static void cleanup(void);
+diff --git a/testcases/kernel/syscalls/swapoff/swapoff02.c b/testcases/kernel/syscalls/swapoff/swapoff02.c
+index 8954f975f..60cd66c26 100644
+--- a/testcases/kernel/syscalls/swapoff/swapoff02.c
++++ b/testcases/kernel/syscalls/swapoff/swapoff02.c
+@@ -33,7 +33,7 @@
+ #include "test.h"
+ #include "lapi/syscalls.h"
+ #include "safe_macros.h"
+-#include "../swapon/libswapon.h"
++#include "libswapon.h"
+ 
+ static void setup(void);
+ static void cleanup(void);
+diff --git a/testcases/kernel/syscalls/swapon/Makefile b/testcases/kernel/syscalls/swapon/Makefile
+index 97113a447..57ec45d48 100644
+--- a/testcases/kernel/syscalls/swapon/Makefile
++++ b/testcases/kernel/syscalls/swapon/Makefile
+@@ -8,10 +8,10 @@ endif
+ 
+ top_srcdir		?= ../../../..
+ 
++LTPLIBS = ltpswapon
++
+ include $(top_srcdir)/include/mk/testcases.mk
+ 
+-FILTER_OUT_MAKE_TARGETS         := libswapon
++LTPLDLIBS  = -lltpswapon
+ 
+ include $(top_srcdir)/include/mk/generic_leaf_target.mk
+-
+-$(MAKE_TARGETS): %: libswapon.o
+-- 
+2.27.0
+
diff --git a/poky/meta/recipes-extended/ltp/ltp/libswapon.patch b/poky/meta/recipes-extended/ltp/ltp/libswapon.patch
new file mode 100644
index 000000000..07b0dcefc
--- /dev/null
+++ b/poky/meta/recipes-extended/ltp/ltp/libswapon.patch
@@ -0,0 +1,368 @@
+Index: git/libs/libltpswapon/Makefile
+===================================================================
+--- /dev/null
++++ git/libs/libltpswapon/Makefile
+@@ -0,0 +1,12 @@
++# SPDX-License-Identifier: GPL-2.0-or-later
++#
++# Copyright (C) Richard Purdie 
++
++top_srcdir		?= ../..
++
++include $(top_srcdir)/include/mk/env_pre.mk
++
++INTERNAL_LIB		:= libltpswapon.a
++
++include $(top_srcdir)/include/mk/lib.mk
++include $(top_srcdir)/include/mk/generic_leaf_target.mk
+Index: git/libs/libltpswapon/libswapon.c
+===================================================================
+--- /dev/null
++++ git/libs/libltpswapon/libswapon.c
+@@ -0,0 +1,90 @@
++/*
++ * Copyright (c) 2013 Oracle and/or its affiliates. All Rights Reserved.
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public License as
++ * published by the Free Software Foundation; either version 2 of
++ * the License, or (at your option) any later version.
++ *
++ * This program is distributed in the hope that it would be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write the Free Software Foundation,
++ * Inc.,  51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
++ *
++ * Author: Stanislav Kholmanskikh 
++ *
++ */
++
++#include 
++#include "lapi/syscalls.h"
++#include "test.h"
++#include "libswapon.h"
++
++/*
++ * Make a swap file
++ */
++int make_swapfile(void (cleanup)(void), const char *swapfile, int safe)
++{
++	if (!tst_fs_has_free(NULL, ".", sysconf(_SC_PAGESIZE) * 10,
++	    TST_BYTES)) {
++		tst_brkm(TBROK, cleanup,
++			"Insufficient disk space to create swap file");
++	}
++
++	/* create file */
++	if (tst_fill_file(swapfile, 0,
++			sysconf(_SC_PAGESIZE), 10) != 0) {
++		tst_brkm(TBROK, cleanup, "Failed to create swapfile");
++	}
++
++	/* make the file swapfile */
++	const char *argv[2 + 1];
++	argv[0] = "mkswap";
++	argv[1] = swapfile;
++	argv[2] = NULL;
++
++	return tst_cmd(cleanup, argv, "/dev/null", "/dev/null", safe);
++}
++
++/*
++ * Check swapon/swapoff support status of filesystems or files
++ * we are testing on.
++ */
++void is_swap_supported(void (cleanup)(void), const char *filename)
++{
++	int fibmap = tst_fibmap(filename);
++	long fs_type = tst_fs_type(cleanup, filename);
++	const char *fstype = tst_fs_type_name(fs_type);
++
++	int ret = make_swapfile(NULL, filename, 1);
++	if (ret != 0) {
++		if (fibmap == 1) {
++			tst_brkm(TCONF, cleanup,
++				"mkswap on %s not supported", fstype);
++		} else {
++			tst_brkm(TFAIL, cleanup,
++				"mkswap on %s failed", fstype);
++		}
++	}
++
++	TEST(ltp_syscall(__NR_swapon, filename, 0));
++	if (TEST_RETURN == -1) {
++		if (fibmap == 1 && errno == EINVAL) {
++			tst_brkm(TCONF, cleanup,
++				"Swapfile on %s not implemented", fstype);
++		} else {
++			tst_brkm(TFAIL | TERRNO, cleanup,
++				 "swapon on %s failed", fstype);
++		}
++	}
++
++	TEST(ltp_syscall(__NR_swapoff, filename, 0));
++	if (TEST_RETURN == -1) {
++		tst_brkm(TFAIL | TERRNO, cleanup,
++			"swapoff on %s failed", fstype);
++	}
++}
+Index: git/testcases/kernel/syscalls/swapoff/Makefile
+===================================================================
+--- git.orig/testcases/kernel/syscalls/swapoff/Makefile
++++ git/testcases/kernel/syscalls/swapoff/Makefile
+@@ -3,7 +3,11 @@
+ 
+ top_srcdir		?= ../../../..
+ 
++LTPLIBS = ltpswapon
++ 
+ include $(top_srcdir)/include/mk/testcases.mk
+-include $(abs_srcdir)/./Makefile.inc
++
++LTPLDLIBS  = -lltpswapon
++
+ include $(top_srcdir)/include/mk/generic_leaf_target.mk
+-$(MAKE_TARGETS): %: ../swapon/libswapon.o
++
+Index: git/testcases/kernel/syscalls/swapoff/Makefile.inc
+===================================================================
+--- git.orig/testcases/kernel/syscalls/swapoff/Makefile.inc
++++ /dev/null
+@@ -1,6 +0,0 @@
+-LIBDIR			+= ../swapon/
+-LIBSWAPON		:= $(LIBDIR)/libswapon.o
+-$(LIBSWAPON):
+-	$(MAKE) -C $(LIBDIR)
+-CPPFLAGS		+= -I$(abs_srcdir)/$(LIBDIR)
+-LDFLAGS			+= -L$(abs_builddir)/$(LIBDIR)
+Index: git/testcases/kernel/syscalls/swapon/Makefile
+===================================================================
+--- git.orig/testcases/kernel/syscalls/swapon/Makefile
++++ git/testcases/kernel/syscalls/swapon/Makefile
+@@ -8,10 +8,10 @@ endif
+ 
+ top_srcdir		?= ../../../..
+ 
++LTPLIBS = ltpswapon
++
+ include $(top_srcdir)/include/mk/testcases.mk
+ 
+-FILTER_OUT_MAKE_TARGETS         := libswapon
++LTPLDLIBS  = -lltpswapon
+ 
+ include $(top_srcdir)/include/mk/generic_leaf_target.mk
+-
+-$(MAKE_TARGETS): %: libswapon.o
+Index: git/testcases/kernel/syscalls/swapon/libswapon.c
+===================================================================
+--- git.orig/testcases/kernel/syscalls/swapon/libswapon.c
++++ /dev/null
+@@ -1,90 +0,0 @@
+-/*
+- * Copyright (c) 2013 Oracle and/or its affiliates. All Rights Reserved.
+- *
+- * This program is free software; you can redistribute it and/or
+- * modify it under the terms of the GNU General Public License as
+- * published by the Free Software Foundation; either version 2 of
+- * the License, or (at your option) any later version.
+- *
+- * This program is distributed in the hope that it would be useful,
+- * but WITHOUT ANY WARRANTY; without even the implied warranty of
+- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+- * GNU General Public License for more details.
+- *
+- * You should have received a copy of the GNU General Public License
+- * along with this program; if not, write the Free Software Foundation,
+- * Inc.,  51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+- *
+- * Author: Stanislav Kholmanskikh 
+- *
+- */
+-
+-#include 
+-#include "lapi/syscalls.h"
+-#include "test.h"
+-#include "libswapon.h"
+-
+-/*
+- * Make a swap file
+- */
+-int make_swapfile(void (cleanup)(void), const char *swapfile, int safe)
+-{
+-	if (!tst_fs_has_free(NULL, ".", sysconf(_SC_PAGESIZE) * 10,
+-	    TST_BYTES)) {
+-		tst_brkm(TBROK, cleanup,
+-			"Insufficient disk space to create swap file");
+-	}
+-
+-	/* create file */
+-	if (tst_fill_file(swapfile, 0,
+-			sysconf(_SC_PAGESIZE), 10) != 0) {
+-		tst_brkm(TBROK, cleanup, "Failed to create swapfile");
+-	}
+-
+-	/* make the file swapfile */
+-	const char *argv[2 + 1];
+-	argv[0] = "mkswap";
+-	argv[1] = swapfile;
+-	argv[2] = NULL;
+-
+-	return tst_cmd(cleanup, argv, "/dev/null", "/dev/null", safe);
+-}
+-
+-/*
+- * Check swapon/swapoff support status of filesystems or files
+- * we are testing on.
+- */
+-void is_swap_supported(void (cleanup)(void), const char *filename)
+-{
+-	int fibmap = tst_fibmap(filename);
+-	long fs_type = tst_fs_type(cleanup, filename);
+-	const char *fstype = tst_fs_type_name(fs_type);
+-
+-	int ret = make_swapfile(NULL, filename, 1);
+-	if (ret != 0) {
+-		if (fibmap == 1) {
+-			tst_brkm(TCONF, cleanup,
+-				"mkswap on %s not supported", fstype);
+-		} else {
+-			tst_brkm(TFAIL, cleanup,
+-				"mkswap on %s failed", fstype);
+-		}
+-	}
+-
+-	TEST(ltp_syscall(__NR_swapon, filename, 0));
+-	if (TEST_RETURN == -1) {
+-		if (fibmap == 1 && errno == EINVAL) {
+-			tst_brkm(TCONF, cleanup,
+-				"Swapfile on %s not implemented", fstype);
+-		} else {
+-			tst_brkm(TFAIL | TERRNO, cleanup,
+-				 "swapon on %s failed", fstype);
+-		}
+-	}
+-
+-	TEST(ltp_syscall(__NR_swapoff, filename, 0));
+-	if (TEST_RETURN == -1) {
+-		tst_brkm(TFAIL | TERRNO, cleanup,
+-			"swapoff on %s failed", fstype);
+-	}
+-}
+Index: git/testcases/kernel/syscalls/swapon/libswapon.h
+===================================================================
+--- git.orig/testcases/kernel/syscalls/swapon/libswapon.h
++++ /dev/null
+@@ -1,39 +0,0 @@
+-/*
+- * Copyright (c) 2013 Oracle and/or its affiliates. All Rights Reserved.
+- *
+- * This program is free software; you can redistribute it and/or
+- * modify it under the terms of the GNU General Public License as
+- * published by the Free Software Foundation; either version 2 of
+- * the License, or (at your option) any later version.
+- *
+- * This program is distributed in the hope that it would be useful,
+- * but WITHOUT ANY WARRANTY; without even the implied warranty of
+- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+- * GNU General Public License for more details.
+- *
+- * You should have received a copy of the GNU General Public License
+- * along with this program; if not, write the Free Software Foundation,
+- * Inc.,  51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+- *
+- * Author: Stanislav Kholmanskikh 
+- *
+- */
+-
+-/*
+- * Contains common content for all swapon tests
+- */
+-
+-#ifndef __LIBSWAPON_H__
+-#define __LIBSWAPON_H__
+-
+-/*
+- * Make a swap file
+- */
+-int make_swapfile(void (cleanup)(void), const char *swapfile, int safe);
+-
+-/*
+- * Check swapon/swapoff support status of filesystems or files
+- * we are testing on.
+- */
+-void is_swap_supported(void (cleanup)(void), const char *filename);
+-#endif /* __LIBSWAPON_H__ */
+Index: git/testcases/kernel/syscalls/swapoff/swapoff01.c
+===================================================================
+--- git.orig/testcases/kernel/syscalls/swapoff/swapoff01.c
++++ git/testcases/kernel/syscalls/swapoff/swapoff01.c
+@@ -25,7 +25,7 @@
+ #include 
+ #include "config.h"
+ #include "lapi/syscalls.h"
+-#include "../swapon/libswapon.h"
++#include "libswapon.h"
+ 
+ static void setup(void);
+ static void cleanup(void);
+Index: git/testcases/kernel/syscalls/swapoff/swapoff02.c
+===================================================================
+--- git.orig/testcases/kernel/syscalls/swapoff/swapoff02.c
++++ git/testcases/kernel/syscalls/swapoff/swapoff02.c
+@@ -33,7 +33,7 @@
+ #include "test.h"
+ #include "lapi/syscalls.h"
+ #include "safe_macros.h"
+-#include "../swapon/libswapon.h"
++#include "libswapon.h"
+ 
+ static void setup(void);
+ static void cleanup(void);
+Index: git/include/libswapon.h
+===================================================================
+--- /dev/null
++++ git/include/libswapon.h
+@@ -0,0 +1,39 @@
++/*
++ * Copyright (c) 2013 Oracle and/or its affiliates. All Rights Reserved.
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public License as
++ * published by the Free Software Foundation; either version 2 of
++ * the License, or (at your option) any later version.
++ *
++ * This program is distributed in the hope that it would be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write the Free Software Foundation,
++ * Inc.,  51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
++ *
++ * Author: Stanislav Kholmanskikh 
++ *
++ */
++
++/*
++ * Contains common content for all swapon tests
++ */
++
++#ifndef __LIBSWAPON_H__
++#define __LIBSWAPON_H__
++
++/*
++ * Make a swap file
++ */
++int make_swapfile(void (cleanup)(void), const char *swapfile, int safe);
++
++/*
++ * Check swapon/swapoff support status of filesystems or files
++ * we are testing on.
++ */
++void is_swap_supported(void (cleanup)(void), const char *filename);
++#endif /* __LIBSWAPON_H__ */
diff --git a/poky/meta/recipes-extended/ltp/ltp_20210121.bb b/poky/meta/recipes-extended/ltp/ltp_20210121.bb
index 593f07087..f58ca2eb2 100644
--- a/poky/meta/recipes-extended/ltp/ltp_20210121.bb
+++ b/poky/meta/recipes-extended/ltp/ltp_20210121.bb
@@ -30,8 +30,8 @@ CFLAGS_append_mipsarchn64 = " -D__SANE_USERSPACE_TYPES__"
 SRCREV = "4d005621edd109d119627eb9210b224a63bf22cb"
 
 # remove at next version upgrade or when output changes
-PR = "r1"
-HASHEQUIV_HASH_VERSION .= ".1"
+PR = "r4"
+HASHEQUIV_HASH_VERSION .= ".4"
 
 SRC_URI = "git://github.com/linux-test-project/ltp.git \
            file://0001-build-Add-option-to-select-libc-implementation.patch \
@@ -39,6 +39,9 @@ SRC_URI = "git://github.com/linux-test-project/ltp.git \
            file://0001-Add-more-musl-exclusions.patch \
            file://0001-Remove-OOM-tests-from-runtest-mm.patch \
            file://determinism.patch \
+           file://0001-open_posix_testsuite-generate-makefiles.sh-Avoid-inc.patch \
+           file://0002-Makefile-Avoid-wildcard-determinism-issues.patch \
+           file://0003-syscalls-swapon-swapoff-Move-common-library-to-libs.patch \
            "
 
 S = "${WORKDIR}/git"
@@ -56,14 +59,6 @@ EXTRA_OECONF = " --with-realtime-testsuite --with-open-posix-testsuite "
 # ltp network/rpc test cases ftbfs when libtirpc is found
 EXTRA_OECONF += " --without-tirpc "
 
-do_compile_prepend() {
-	# Reported at http://lists.linux.it/pipermail/ltp/2021-March/021274.html
-	# Avoid a race over construction of libswapon.o which is built by swapon and swapoff
-	# but the object differs depending upon which one built it
-	# ("../swapon/libswapon.c" vs "libswapon.c" references)
-	make -C ${B}/testcases/kernel/syscalls/swapon/
-}
-
 do_install(){
     install -d ${D}${prefix}/
     oe_runmake DESTDIR=${D} SKIP_IDCHECK=1 install
diff --git a/poky/meta/recipes-extended/lzip/lzip_1.22.bb b/poky/meta/recipes-extended/lzip/lzip_1.22.bb
index d21c36a3f..336026945 100644
--- a/poky/meta/recipes-extended/lzip/lzip_1.22.bb
+++ b/poky/meta/recipes-extended/lzip/lzip_1.22.bb
@@ -1,5 +1,6 @@
 SUMMARY = "Lossless data compressor based on the LZMA algorithm"
 HOMEPAGE = "http://lzip.nongnu.org/lzip.html"
+DESCRIPTION = "Lzip is a lossless data compressor with a user interface similar to the one of gzip or bzip2. Lzip uses a simplified form of the Lempel-Ziv-Markov chain-Algorithm (LZMA) stream format, chosen to maximize safety and interoperability."
 SECTION = "console/utils"
 LICENSE = "GPLv2+"
 LIC_FILES_CHKSUM = "file://COPYING;md5=76d6e300ffd8fb9d18bd9b136a9bba13 \
diff --git a/poky/meta/recipes-extended/man-db/man-db_2.9.4.bb b/poky/meta/recipes-extended/man-db/man-db_2.9.4.bb
index 432953a1b..cfa656176 100644
--- a/poky/meta/recipes-extended/man-db/man-db_2.9.4.bb
+++ b/poky/meta/recipes-extended/man-db/man-db_2.9.4.bb
@@ -1,5 +1,6 @@
 SUMMARY = "An implementation of the standard Unix documentation system accessed using the man command"
 HOMEPAGE = "http://man-db.nongnu.org/"
+DESCRIPTION = "man-db is an implementation of the standard Unix documentation system accessed using the man command. It uses a Berkeley DB database in place of the traditional flat-text whatis databases."
 LICENSE = "LGPLv2.1 & GPLv2"
 LIC_FILES_CHKSUM = "file://docs/COPYING.LIB;md5=a6f89e2100d9b6cdffcea4f398e37343 \
                     file://docs/COPYING;md5=eb723b61539feef013de476e68b5c50a"
diff --git a/poky/meta/recipes-extended/mc/mc_4.8.26.bb b/poky/meta/recipes-extended/mc/mc_4.8.26.bb
index 3eb19309b..5c5e6790d 100644
--- a/poky/meta/recipes-extended/mc/mc_4.8.26.bb
+++ b/poky/meta/recipes-extended/mc/mc_4.8.26.bb
@@ -1,5 +1,6 @@
 SUMMARY = "Midnight Commander is an ncurses based file manager"
 HOMEPAGE = "http://www.midnight-commander.org/"
+DESCRIPTION = "GNU Midnight Commander is a visual file manager, licensed under GNU General Public License and therefore qualifies as Free Software. It's a feature rich full-screen text mode application that allows you to copy, move and delete files and whole directory trees, search for files and run commands in the subshell. Internal viewer and editor are included."
 LICENSE = "GPLv3"
 LIC_FILES_CHKSUM = "file://COPYING;md5=270bbafe360e73f9840bd7981621f9c2"
 SECTION = "console/utils"
diff --git a/poky/meta/recipes-extended/mdadm/mdadm_4.1.bb b/poky/meta/recipes-extended/mdadm/mdadm_4.1.bb
index 001d3331a..bb77759cf 100644
--- a/poky/meta/recipes-extended/mdadm/mdadm_4.1.bb
+++ b/poky/meta/recipes-extended/mdadm/mdadm_4.1.bb
@@ -1,5 +1,6 @@
 SUMMARY = "Tool for managing software RAID under Linux"
 HOMEPAGE = "http://www.kernel.org/pub/linux/utils/raid/mdadm/"
+DESCRIPTION = "mdadm is a Linux utility used to manage and monitor software RAID devices."
 
 # Some files are GPLv2+ while others are GPLv2.
 LICENSE = "GPLv2 & GPLv2+"
diff --git a/poky/meta/recipes-extended/mingetty/mingetty_1.08.bb b/poky/meta/recipes-extended/mingetty/mingetty_1.08.bb
index 491b89209..9822e86b0 100644
--- a/poky/meta/recipes-extended/mingetty/mingetty_1.08.bb
+++ b/poky/meta/recipes-extended/mingetty/mingetty_1.08.bb
@@ -1,6 +1,7 @@
 SUMMARY = "Compact getty terminal handler for virtual consoles only"
 SECTION = "console/utils"
 HOMEPAGE = "http://sourceforge.net/projects/mingetty/"
+DESCRIPTION = "This is a small Linux console getty that is started on the Linux text console, asks for a login name and then tranfers over to login directory. Is extended to allow automatic login and starting any app."
 LICENSE = "GPLv2"
 PR = "r3"
 
diff --git a/poky/meta/recipes-extended/msmtp/msmtp_1.8.14.bb b/poky/meta/recipes-extended/msmtp/msmtp_1.8.14.bb
deleted file mode 100644
index 3bd5f9ede..000000000
--- a/poky/meta/recipes-extended/msmtp/msmtp_1.8.14.bb
+++ /dev/null
@@ -1,27 +0,0 @@
-SUMMARY = "msmtp is an SMTP client"
-DESCRIPTION = "A sendmail replacement for use in MTAs like mutt"
-HOMEPAGE = "https://marlam.de/msmtp/"
-SECTION = "console/network"
-
-LICENSE = "GPLv3"
-DEPENDS = "zlib gnutls"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-
-UPSTREAM_CHECK_URI = "https://marlam.de/msmtp/download/"
-
-SRC_URI = "https://marlam.de/${BPN}/releases/${BP}.tar.xz"
-SRC_URI[sha256sum] = "d56f065d711486e9c234618515a02a48a48dab4051b34f3e108fbecb6fb773b4"
-
-inherit gettext autotools update-alternatives pkgconfig
-
-EXTRA_OECONF += "--without-libsecret --without-libgsasl --without-libidn"
-
-ALTERNATIVE_${PN} = "sendmail"
-# /usr/lib/sendmial is required by LSB core test
-ALTERNATIVE_${PN}_linuxstdbase = "sendmail usr-lib-sendmail"
-ALTERNATIVE_TARGET[sendmail] = "${bindir}/msmtp"
-ALTERNATIVE_LINK_NAME[sendmail] = "${sbindir}/sendmail"
-ALTERNATIVE_TARGET[usr-lib-sendmail] = "${bindir}/msmtp"
-ALTERNATIVE_LINK_NAME[usr-lib-sendmail] = "/usr/lib/sendmail"
-ALTERNATIVE_PRIORITY = "100"
diff --git a/poky/meta/recipes-extended/msmtp/msmtp_1.8.15.bb b/poky/meta/recipes-extended/msmtp/msmtp_1.8.15.bb
new file mode 100644
index 000000000..e85873e90
--- /dev/null
+++ b/poky/meta/recipes-extended/msmtp/msmtp_1.8.15.bb
@@ -0,0 +1,27 @@
+SUMMARY = "msmtp is an SMTP client"
+DESCRIPTION = "A sendmail replacement for use in MTAs like mutt"
+HOMEPAGE = "https://marlam.de/msmtp/"
+SECTION = "console/network"
+
+LICENSE = "GPLv3"
+DEPENDS = "zlib gnutls"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+
+UPSTREAM_CHECK_URI = "https://marlam.de/msmtp/download/"
+
+SRC_URI = "https://marlam.de/${BPN}/releases/${BP}.tar.xz"
+SRC_URI[sha256sum] = "2265dc639ebf2edf3069fffe0a3bd76749f8b58f4001d5cdeae19873949099ce"
+
+inherit gettext autotools update-alternatives pkgconfig
+
+EXTRA_OECONF += "--without-libsecret --without-libgsasl --without-libidn"
+
+ALTERNATIVE_${PN} = "sendmail"
+# /usr/lib/sendmial is required by LSB core test
+ALTERNATIVE_${PN}_linuxstdbase = "sendmail usr-lib-sendmail"
+ALTERNATIVE_TARGET[sendmail] = "${bindir}/msmtp"
+ALTERNATIVE_LINK_NAME[sendmail] = "${sbindir}/sendmail"
+ALTERNATIVE_TARGET[usr-lib-sendmail] = "${bindir}/msmtp"
+ALTERNATIVE_LINK_NAME[usr-lib-sendmail] = "/usr/lib/sendmail"
+ALTERNATIVE_PRIORITY = "100"
diff --git a/poky/meta/recipes-extended/parted/parted_3.4.bb b/poky/meta/recipes-extended/parted/parted_3.4.bb
index 79dad5468..c15f5aeb0 100644
--- a/poky/meta/recipes-extended/parted/parted_3.4.bb
+++ b/poky/meta/recipes-extended/parted/parted_3.4.bb
@@ -1,5 +1,6 @@
 SUMMARY = "Disk partition editing/resizing utility"
 HOMEPAGE = "http://www.gnu.org/software/parted/parted.html"
+DESCRIPTION = "GNU Parted manipulates partition tables. This is useful for creating space for new operating systems, reorganizing disk usage, copying data on hard disks and disk imaging."
 LICENSE = "GPLv3+"
 LIC_FILES_CHKSUM = "file://COPYING;md5=2f31b266d3440dd7ee50f92cf67d8e6c"
 SECTION = "console/tools"
diff --git a/poky/meta/recipes-extended/perl/libconvert-asn1-perl_0.27.bb b/poky/meta/recipes-extended/perl/libconvert-asn1-perl_0.27.bb
index 9f992d3e8..409a8f389 100644
--- a/poky/meta/recipes-extended/perl/libconvert-asn1-perl_0.27.bb
+++ b/poky/meta/recipes-extended/perl/libconvert-asn1-perl_0.27.bb
@@ -1,5 +1,7 @@
 SUMMARY = "Convert::ASN1 - Perl ASN.1 Encode/Decode library"
 SECTION = "libs"
+HOMEPAGE = "https://metacpan.org/source/GBARR/Convert-ASN1-0.27"
+DESCRIPTION = "Convert::ASN1 is a perl library for encoding/decoding data using ASN.1 definitions."
 LICENSE = "Artistic-1.0 | GPL-1.0+"
 LIC_FILES_CHKSUM = "file://README.md;beginline=91;endline=97;md5=ceff7fd286eb6d8e8e0d3d23e096a63f"
 
diff --git a/poky/meta/recipes-extended/perl/libtimedate-perl_2.30.bb b/poky/meta/recipes-extended/perl/libtimedate-perl_2.30.bb
index d42eadb58..46843bfc8 100644
--- a/poky/meta/recipes-extended/perl/libtimedate-perl_2.30.bb
+++ b/poky/meta/recipes-extended/perl/libtimedate-perl_2.30.bb
@@ -1,5 +1,6 @@
 SUMMARY = "Perl modules useful for manipulating date and time information"
 HOMEPAGE = "https://metacpan.org/release/TimeDate"
+DESCRIPTION = "This is the perl5 TimeDate distribution. It requires perl version 5.003 or later."
 SECTION = "libs"
 # You can redistribute it and/or modify it under the same terms as Perl itself.
 LICENSE = "Artistic-1.0 | GPL-1.0+"
diff --git a/poky/meta/recipes-extended/procps/procps/0001-w.c-correct-musl-builds.patch b/poky/meta/recipes-extended/procps/procps/0001-w.c-correct-musl-builds.patch
new file mode 100644
index 000000000..c92ad28e4
--- /dev/null
+++ b/poky/meta/recipes-extended/procps/procps/0001-w.c-correct-musl-builds.patch
@@ -0,0 +1,44 @@
+From 22f8d25567b8d64bdbab0fb0b4915b4362561d9b Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin 
+Date: Wed, 24 Feb 2021 21:14:31 +0000
+Subject: [PATCH] w.c: correct musl builds
+
+No need to redefine UT_ stuff to something that does not exist.
+
+UT_ is already provided in musl but via utmp.h header, so include
+it always.
+
+Upstream-Status: Submitted [https://gitlab.com/procps-ng/procps/-/merge_requests/126]
+Signed-off-by: Alexander Kanavin 
+---
+ w.c | 9 +--------
+ 1 file changed, 1 insertion(+), 8 deletions(-)
+
+diff --git a/w.c b/w.c
+index 9d07ac9..d10639b 100644
+--- a/w.c
++++ b/w.c
+@@ -57,9 +57,8 @@
+ #include 
+ #ifdef HAVE_UTMPX_H
+ #	include 
+-#else
+-#	include 
+ #endif
++#include 
+ #include 
+ 
+ static int ignoreuser = 0;	/* for '-u' */
+@@ -72,12 +71,6 @@ typedef struct utmpx utmp_t;
+ typedef struct utmp utmp_t;
+ #endif
+ 
+-#if !defined(UT_HOSTSIZE) || defined(__UT_HOSTSIZE)
+-#	define UT_HOSTSIZE __UT_HOSTSIZE
+-#	define UT_LINESIZE __UT_LINESIZE
+-#	define UT_NAMESIZE __UT_NAMESIZE
+-#endif
+-
+ #ifdef W_SHOWFROM
+ # define FROM_STRING "on"
+ #else
diff --git a/poky/meta/recipes-extended/procps/procps/0002-proc-escape.c-add-missing-include.patch b/poky/meta/recipes-extended/procps/procps/0002-proc-escape.c-add-missing-include.patch
new file mode 100644
index 000000000..5fa1ac9d7
--- /dev/null
+++ b/poky/meta/recipes-extended/procps/procps/0002-proc-escape.c-add-missing-include.patch
@@ -0,0 +1,23 @@
+From 4f964821398dff7ab21fec63da15e1e00b2e9277 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin 
+Date: Wed, 24 Feb 2021 21:16:14 +0000
+Subject: [PATCH] proc/escape.c: add missing include
+
+Upstream-Status: Submitted [https://gitlab.com/procps-ng/procps/-/merge_requests/126]
+Signed-off-by: Alexander Kanavin 
+---
+ proc/escape.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/proc/escape.c b/proc/escape.c
+index 2e8fb7d..e1f4612 100644
+--- a/proc/escape.c
++++ b/proc/escape.c
+@@ -21,6 +21,7 @@
+ #include 
+ #include 
+ #include 
++#include 
+ #include "procps.h"
+ #include "escape.h"
+ #include "readproc.h"
diff --git a/poky/meta/recipes-extended/procps/procps_3.3.16.bb b/poky/meta/recipes-extended/procps/procps_3.3.16.bb
deleted file mode 100644
index ef3ac86e9..000000000
--- a/poky/meta/recipes-extended/procps/procps_3.3.16.bb
+++ /dev/null
@@ -1,101 +0,0 @@
-SUMMARY = "System and process monitoring utilities"
-DESCRIPTION = "Procps contains a set of system utilities that provide system information about processes using \
-the /proc filesystem. The package includes the programs ps, top, vmstat, w, kill, and skill."
-HOMEPAGE = "https://gitlab.com/procps-ng/procps"
-SECTION = "base"
-LICENSE = "GPLv2+ & LGPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
-                    file://COPYING.LIB;md5=4cf66a4984120007c9881cc871cf49db \
-                    "
-
-DEPENDS = "ncurses"
-
-inherit autotools gettext pkgconfig update-alternatives
-
-SRC_URI = "git://gitlab.com/procps-ng/procps.git;protocol=https \
-           file://sysctl.conf \
-           "
-SRCREV = "59c88e18f29000ceaf7e5f98181b07be443cf12f"
-
-S = "${WORKDIR}/git"
-
-# Upstream has a custom autogen.sh which invokes po/update-potfiles as they
-# don't ship a po/POTFILES.in (which is silly).  Without that file gettext
-# doesn't believe po/ is a gettext directory and won't generate po/Makefile.
-do_configure_prepend() {
-    ( cd ${S} && po/update-potfiles )
-}
-
-EXTRA_OECONF = "--enable-skill --disable-modern-top"
-
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
-PACKAGECONFIG[systemd] = "--with-systemd,--without-systemd,systemd"
-
-do_install_append () {
-	install -d ${D}${base_bindir}
-	[ "${bindir}" != "${base_bindir}" ] && for i in ${base_bindir_progs}; do mv ${D}${bindir}/$i ${D}${base_bindir}/$i; done
-	install -d ${D}${base_sbindir}
-	[ "${sbindir}" != "${base_sbindir}" ] && for i in ${base_sbindir_progs}; do mv ${D}${sbindir}/$i ${D}${base_sbindir}/$i; done
-        if [ "${base_sbindir}" != "${sbindir}" ]; then
-                rmdir ${D}${sbindir}
-        fi
-
-        install -d ${D}${sysconfdir}
-        install -m 0644 ${WORKDIR}/sysctl.conf ${D}${sysconfdir}/sysctl.conf
-        if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
-                install -d ${D}${sysconfdir}/sysctl.d
-                ln -sf ../sysctl.conf ${D}${sysconfdir}/sysctl.d/99-sysctl.conf
-        fi
-}
-
-CONFFILES_${PN} = "${sysconfdir}/sysctl.conf"
-
-bindir_progs = "free pkill pmap pgrep pwdx skill snice top uptime w"
-base_bindir_progs += "kill pidof ps watch"
-base_sbindir_progs += "sysctl"
-
-ALTERNATIVE_PRIORITY = "200"
-ALTERNATIVE_PRIORITY[pidof] = "150"
-
-ALTERNATIVE_${PN} = "${bindir_progs} ${base_bindir_progs} ${base_sbindir_progs}"
-
-ALTERNATIVE_${PN}-doc = "kill.1 uptime.1"
-ALTERNATIVE_LINK_NAME[kill.1] = "${mandir}/man1/kill.1"
-ALTERNATIVE_LINK_NAME[uptime.1] = "${mandir}/man1/uptime.1"
-
-python __anonymous() {
-    for prog in d.getVar('base_bindir_progs').split():
-        d.setVarFlag('ALTERNATIVE_LINK_NAME', prog, '%s/%s' % (d.getVar('base_bindir'), prog))
-
-    for prog in d.getVar('base_sbindir_progs').split():
-        d.setVarFlag('ALTERNATIVE_LINK_NAME', prog, '%s/%s' % (d.getVar('base_sbindir'), prog))
-}
-
-# 'ps' isn't suitable for use as a security tool so whitelist this CVE.
-# https://bugzilla.redhat.com/show_bug.cgi?id=1575473#c3
-CVE_CHECK_WHITELIST += "CVE-2018-1121"
-
-PROCPS_PACKAGES = "${PN}-lib \
-                   ${PN}-ps \
-                   ${PN}-sysctl"
-
-PACKAGE_BEFORE_PN = "${PROCPS_PACKAGES}"
-RDEPENDS_${PN} += "${PROCPS_PACKAGES}"
-
-RDEPENDS_${PN}-ps += "${PN}-lib"
-RDEPENDS_${PN}-sysctl += "${PN}-lib"
-
-FILES_${PN}-lib = "${libdir}"
-FILES_${PN}-ps = "${base_bindir}/ps.${BPN}"
-FILES_${PN}-sysctl = "${base_sbindir}/sysctl.${BPN} ${sysconfdir}/sysctl.conf ${sysconfdir}/sysctl.d"
-
-ALTERNATIVE_${PN}_remove = "ps"
-ALTERNATIVE_${PN}_remove = "sysctl"
-
-ALTERNATIVE_${PN}-ps = "ps"
-ALTERNATIVE_TARGET[ps] = "${base_bindir}/ps"
-ALTERNATIVE_LINK_NAME[ps] = "${base_bindir}/ps"
-
-ALTERNATIVE_${PN}-sysctl = "sysctl"
-ALTERNATIVE_TARGET[sysctl] = "${base_sbindir}/sysctl"
-ALTERNATIVE_LINK_NAME[sysctl] = "${base_sbindir}/sysctl"
\ No newline at end of file
diff --git a/poky/meta/recipes-extended/procps/procps_3.3.17.bb b/poky/meta/recipes-extended/procps/procps_3.3.17.bb
new file mode 100644
index 000000000..c74a901d9
--- /dev/null
+++ b/poky/meta/recipes-extended/procps/procps_3.3.17.bb
@@ -0,0 +1,103 @@
+SUMMARY = "System and process monitoring utilities"
+DESCRIPTION = "Procps contains a set of system utilities that provide system information about processes using \
+the /proc filesystem. The package includes the programs ps, top, vmstat, w, kill, and skill."
+HOMEPAGE = "https://gitlab.com/procps-ng/procps"
+SECTION = "base"
+LICENSE = "GPLv2+ & LGPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+                    file://COPYING.LIB;md5=4cf66a4984120007c9881cc871cf49db \
+                    "
+
+DEPENDS = "ncurses"
+
+inherit autotools gettext pkgconfig update-alternatives
+
+SRC_URI = "git://gitlab.com/procps-ng/procps.git;protocol=https \
+           file://sysctl.conf \
+           file://0001-w.c-correct-musl-builds.patch \
+           file://0002-proc-escape.c-add-missing-include.patch \
+           "
+SRCREV = "19a508ea121c0c4ac6d0224575a036de745eaaf8"
+
+S = "${WORKDIR}/git"
+
+# Upstream has a custom autogen.sh which invokes po/update-potfiles as they
+# don't ship a po/POTFILES.in (which is silly).  Without that file gettext
+# doesn't believe po/ is a gettext directory and won't generate po/Makefile.
+do_configure_prepend() {
+    ( cd ${S} && po/update-potfiles )
+}
+
+EXTRA_OECONF = "--enable-skill --disable-modern-top"
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
+PACKAGECONFIG[systemd] = "--with-systemd,--without-systemd,systemd"
+
+do_install_append () {
+	install -d ${D}${base_bindir}
+	[ "${bindir}" != "${base_bindir}" ] && for i in ${base_bindir_progs}; do mv ${D}${bindir}/$i ${D}${base_bindir}/$i; done
+	install -d ${D}${base_sbindir}
+	[ "${sbindir}" != "${base_sbindir}" ] && for i in ${base_sbindir_progs}; do mv ${D}${sbindir}/$i ${D}${base_sbindir}/$i; done
+        if [ "${base_sbindir}" != "${sbindir}" ]; then
+                rmdir ${D}${sbindir}
+        fi
+
+        install -d ${D}${sysconfdir}
+        install -m 0644 ${WORKDIR}/sysctl.conf ${D}${sysconfdir}/sysctl.conf
+        if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
+                install -d ${D}${sysconfdir}/sysctl.d
+                ln -sf ../sysctl.conf ${D}${sysconfdir}/sysctl.d/99-sysctl.conf
+        fi
+}
+
+CONFFILES_${PN} = "${sysconfdir}/sysctl.conf"
+
+bindir_progs = "free pkill pmap pgrep pwdx skill snice top uptime w"
+base_bindir_progs += "kill pidof ps watch"
+base_sbindir_progs += "sysctl"
+
+ALTERNATIVE_PRIORITY = "200"
+ALTERNATIVE_PRIORITY[pidof] = "150"
+
+ALTERNATIVE_${PN} = "${bindir_progs} ${base_bindir_progs} ${base_sbindir_progs}"
+
+ALTERNATIVE_${PN}-doc = "kill.1 uptime.1"
+ALTERNATIVE_LINK_NAME[kill.1] = "${mandir}/man1/kill.1"
+ALTERNATIVE_LINK_NAME[uptime.1] = "${mandir}/man1/uptime.1"
+
+python __anonymous() {
+    for prog in d.getVar('base_bindir_progs').split():
+        d.setVarFlag('ALTERNATIVE_LINK_NAME', prog, '%s/%s' % (d.getVar('base_bindir'), prog))
+
+    for prog in d.getVar('base_sbindir_progs').split():
+        d.setVarFlag('ALTERNATIVE_LINK_NAME', prog, '%s/%s' % (d.getVar('base_sbindir'), prog))
+}
+
+# 'ps' isn't suitable for use as a security tool so whitelist this CVE.
+# https://bugzilla.redhat.com/show_bug.cgi?id=1575473#c3
+CVE_CHECK_WHITELIST += "CVE-2018-1121"
+
+PROCPS_PACKAGES = "${PN}-lib \
+                   ${PN}-ps \
+                   ${PN}-sysctl"
+
+PACKAGE_BEFORE_PN = "${PROCPS_PACKAGES}"
+RDEPENDS_${PN} += "${PROCPS_PACKAGES}"
+
+RDEPENDS_${PN}-ps += "${PN}-lib"
+RDEPENDS_${PN}-sysctl += "${PN}-lib"
+
+FILES_${PN}-lib = "${libdir}"
+FILES_${PN}-ps = "${base_bindir}/ps.${BPN}"
+FILES_${PN}-sysctl = "${base_sbindir}/sysctl.${BPN} ${sysconfdir}/sysctl.conf ${sysconfdir}/sysctl.d"
+
+ALTERNATIVE_${PN}_remove = "ps"
+ALTERNATIVE_${PN}_remove = "sysctl"
+
+ALTERNATIVE_${PN}-ps = "ps"
+ALTERNATIVE_TARGET[ps] = "${base_bindir}/ps"
+ALTERNATIVE_LINK_NAME[ps] = "${base_bindir}/ps"
+
+ALTERNATIVE_${PN}-sysctl = "sysctl"
+ALTERNATIVE_TARGET[sysctl] = "${base_sbindir}/sysctl"
+ALTERNATIVE_LINK_NAME[sysctl] = "${base_sbindir}/sysctl"
\ No newline at end of file
diff --git a/poky/meta/recipes-extended/quota/quota_4.06.bb b/poky/meta/recipes-extended/quota/quota_4.06.bb
index 19ccbd588..027b0811f 100644
--- a/poky/meta/recipes-extended/quota/quota_4.06.bb
+++ b/poky/meta/recipes-extended/quota/quota_4.06.bb
@@ -1,6 +1,7 @@
 SUMMARY = "Tools for monitoring & limiting user disk usage per filesystem"
 SECTION = "base"
 HOMEPAGE = "http://sourceforge.net/projects/linuxquota/"
+DESCRIPTION = "Tools and patches for the Linux Diskquota system as part of the Linux kernel"
 BUGTRACKER = "http://sourceforge.net/tracker/?group_id=18136&atid=118136"
 LICENSE = "BSD & GPLv2+ & LGPLv2.1+"
 LIC_FILES_CHKSUM = "file://rquota_server.c;beginline=1;endline=20;md5=fe7e0d7e11c6f820f8fa62a5af71230f \
diff --git a/poky/meta/recipes-extended/sed/sed_4.8.bb b/poky/meta/recipes-extended/sed/sed_4.8.bb
index 048db47e1..57a769e8c 100644
--- a/poky/meta/recipes-extended/sed/sed_4.8.bb
+++ b/poky/meta/recipes-extended/sed/sed_4.8.bb
@@ -1,5 +1,6 @@
 SUMMARY = "Stream EDitor (text filtering utility)"
 HOMEPAGE = "http://www.gnu.org/software/sed/"
+DESCRIPTION = "sed (stream editor) is a non-interactive command-line text editor."
 LICENSE = "GPLv3+"
 LIC_FILES_CHKSUM = "file://COPYING;md5=c678957b0c8e964aa6c70fd77641a71e \
                     file://sed/sed.h;beginline=1;endline=15;md5=fb3c7e6fbca6f66943859153d4be8efe \
diff --git a/poky/meta/recipes-extended/shadow/shadow.inc b/poky/meta/recipes-extended/shadow/shadow.inc
index 4ae7a78c5..2278541f6 100644
--- a/poky/meta/recipes-extended/shadow/shadow.inc
+++ b/poky/meta/recipes-extended/shadow/shadow.inc
@@ -1,5 +1,6 @@
 SUMMARY = "Tools to change and administer password and group data"
 HOMEPAGE = "http://github.com/shadow-maint/shadow"
+DESCRIPTION = "${SUMMARY}"
 BUGTRACKER = "http://github.com/shadow-maint/shadow/issues"
 SECTION = "base/utils"
 LICENSE = "BSD | Artistic-1.0"
diff --git a/poky/meta/recipes-extended/shadow/shadow_4.8.1.bb b/poky/meta/recipes-extended/shadow/shadow_4.8.1.bb
index c975395ff..ff4aad926 100644
--- a/poky/meta/recipes-extended/shadow/shadow_4.8.1.bb
+++ b/poky/meta/recipes-extended/shadow/shadow_4.8.1.bb
@@ -6,5 +6,6 @@ BUILD_LDFLAGS_append_class-target = " ${@bb.utils.contains('DISTRO_FEATURES', 'p
 
 BBCLASSEXTEND = "native nativesdk"
 
-
-
+# Severity is low and marked as closed and won't fix.
+# https://bugzilla.redhat.com/show_bug.cgi?id=884658
+CVE_CHECK_WHITELIST += "CVE-2013-4235"
diff --git a/poky/meta/recipes-extended/stress-ng/stress-ng_0.12.03.bb b/poky/meta/recipes-extended/stress-ng/stress-ng_0.12.03.bb
deleted file mode 100644
index 73539c926..000000000
--- a/poky/meta/recipes-extended/stress-ng/stress-ng_0.12.03.bb
+++ /dev/null
@@ -1,27 +0,0 @@
-SUMMARY = "System load testing utility"
-DESCRIPTION = "Deliberately simple workload generator for POSIX systems. It \
-imposes a configurable amount of CPU, memory, I/O, and disk stress on the system."
-HOMEPAGE = "https://kernel.ubuntu.com/~cking/stress-ng/"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-SRC_URI = "https://kernel.ubuntu.com/~cking/tarballs/${BPN}/${BP}.tar.xz \
-           file://0001-Do-not-preserve-ownership-when-installing-example-jo.patch \
-           file://no_daddr_t.patch \
-           "
-SRC_URI[sha256sum] = "f27ff439b76a17641291d4234c73655cddcb0a5a588441d6ade290b06ca4b805"
-
-DEPENDS = "coreutils-native"
-
-PROVIDES = "stress"
-RPROVIDES_${PN} = "stress"
-RREPLACES_${PN} = "stress"
-RCONFLICTS_${PN} = "stress"
-
-inherit bash-completion
-
-do_install() {
-    oe_runmake DESTDIR=${D} install
-    ln -s stress-ng ${D}${bindir}/stress
-}
-
diff --git a/poky/meta/recipes-extended/stress-ng/stress-ng_0.12.05.bb b/poky/meta/recipes-extended/stress-ng/stress-ng_0.12.05.bb
new file mode 100644
index 000000000..eb6bdb4a8
--- /dev/null
+++ b/poky/meta/recipes-extended/stress-ng/stress-ng_0.12.05.bb
@@ -0,0 +1,27 @@
+SUMMARY = "System load testing utility"
+DESCRIPTION = "Deliberately simple workload generator for POSIX systems. It \
+imposes a configurable amount of CPU, memory, I/O, and disk stress on the system."
+HOMEPAGE = "https://kernel.ubuntu.com/~cking/stress-ng/"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+SRC_URI = "https://kernel.ubuntu.com/~cking/tarballs/${BPN}/${BP}.tar.xz \
+           file://0001-Do-not-preserve-ownership-when-installing-example-jo.patch \
+           file://no_daddr_t.patch \
+           "
+SRC_URI[sha256sum] = "af7779aee38e6d94726ed7d5cf36384a64d50c86e42fff89c141d8609913f425"
+
+DEPENDS = "coreutils-native"
+
+PROVIDES = "stress"
+RPROVIDES_${PN} = "stress"
+RREPLACES_${PN} = "stress"
+RCONFLICTS_${PN} = "stress"
+
+inherit bash-completion
+
+do_install() {
+    oe_runmake DESTDIR=${D} install
+    ln -s stress-ng ${D}${bindir}/stress
+}
+
diff --git a/poky/meta/recipes-extended/sudo/sudo.inc b/poky/meta/recipes-extended/sudo/sudo.inc
index 97ecabe0f..0bea35a0a 100644
--- a/poky/meta/recipes-extended/sudo/sudo.inc
+++ b/poky/meta/recipes-extended/sudo/sudo.inc
@@ -49,3 +49,5 @@ do_compile_prepend () {
 do_install_prepend (){
 	mkdir -p ${D}/${localstatedir}/lib
 }
+
+CVE_VERSION_SUFFIX = "patch"
diff --git a/poky/meta/recipes-extended/sudo/sudo_1.9.5p2.bb b/poky/meta/recipes-extended/sudo/sudo_1.9.5p2.bb
deleted file mode 100644
index ca23e94ac..000000000
--- a/poky/meta/recipes-extended/sudo/sudo_1.9.5p2.bb
+++ /dev/null
@@ -1,59 +0,0 @@
-require sudo.inc
-
-SRC_URI = "https://www.sudo.ws/dist/sudo-${PV}.tar.gz \
-           ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} \
-           file://0001-sudo.conf.in-fix-conflict-with-multilib.patch \
-           "
-
-PAM_SRC_URI = "file://sudo.pam"
-
-SRC_URI[sha256sum] = "539e2ef43c8a55026697fb0474ab6a925a11206b5aa58710cb42a0e1c81f0978"
-
-DEPENDS += " virtual/crypt ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
-RDEPENDS_${PN} += " ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam-plugin-limits pam-plugin-keyinit', '', d)}"
-
-CACHED_CONFIGUREVARS = " \
-        ac_cv_type_rsize_t=no \
-        ac_cv_path_MVPROG=${base_bindir}/mv \
-        ac_cv_path_BSHELLPROG=${base_bindir}/sh \
-        ac_cv_path_SENDMAILPROG=${sbindir}/sendmail \
-        ac_cv_path_VIPROG=${base_bindir}/vi \
-        "
-
-EXTRA_OECONF += " \
-             ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '--with-pam', '--without-pam', d)} \
-             ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '--enable-tmpfiles.d=${nonarch_libdir}/tmpfiles.d', '--disable-tmpfiles.d', d)} \
-             --with-rundir=/run/sudo \
-             --with-vardir=/var/lib/sudo \
-             --libexecdir=${libdir} \
-             "
-
-do_install_append () {
-	if [ "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" ]; then
-		install -D -m 644 ${WORKDIR}/sudo.pam ${D}/${sysconfdir}/pam.d/sudo
-		if ${@bb.utils.contains('PACKAGECONFIG', 'pam-wheel', 'true', 'false', d)} ; then
-			echo 'auth       required     pam_wheel.so use_uid' >>${D}${sysconfdir}/pam.d/sudo
-			sed -i 's/# \(%wheel ALL=(ALL) ALL\)/\1/' ${D}${sysconfdir}/sudoers
-		fi
-	fi
-
-	chmod 4111 ${D}${bindir}/sudo
-	chmod 0440 ${D}${sysconfdir}/sudoers
-
-	# Explicitly remove the /sudo directory to avoid QA error
-	rmdir -p --ignore-fail-on-non-empty ${D}/run/sudo
-}
-
-FILES_${PN}-dev += "${libdir}/${BPN}/lib*${SOLIBSDEV} ${libdir}/${BPN}/*.la \
-                    ${libdir}/lib*${SOLIBSDEV} ${libdir}/*.la"
-
-SUDO_PACKAGES = "${PN}-sudo\
-                 ${PN}-lib"
-
-PACKAGE_BEFORE_PN = "${SUDO_PACKAGES}"
-
-RDEPENDS_${PN}-sudo = "${PN}-lib"
-RDEPENDS_${PN} += "${SUDO_PACKAGES}"
-
-FILES_${PN}-sudo = "${bindir}/sudo ${bindir}/sudoedit"
-FILES_${PN}-lib = "${localstatedir} ${libexecdir} ${sysconfdir} ${libdir} ${nonarch_libdir}"
diff --git a/poky/meta/recipes-extended/sudo/sudo_1.9.6p1.bb b/poky/meta/recipes-extended/sudo/sudo_1.9.6p1.bb
new file mode 100644
index 000000000..b33345913
--- /dev/null
+++ b/poky/meta/recipes-extended/sudo/sudo_1.9.6p1.bb
@@ -0,0 +1,59 @@
+require sudo.inc
+
+SRC_URI = "https://www.sudo.ws/dist/sudo-${PV}.tar.gz \
+           ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} \
+           file://0001-sudo.conf.in-fix-conflict-with-multilib.patch \
+           "
+
+PAM_SRC_URI = "file://sudo.pam"
+
+SRC_URI[sha256sum] = "a9e9cdc058fafeb9cd3ebfb864c81755e524d98aa022152763f25bce8ca3ca90"
+
+DEPENDS += " virtual/crypt ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
+RDEPENDS_${PN} += " ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam-plugin-limits pam-plugin-keyinit', '', d)}"
+
+CACHED_CONFIGUREVARS = " \
+        ac_cv_type_rsize_t=no \
+        ac_cv_path_MVPROG=${base_bindir}/mv \
+        ac_cv_path_BSHELLPROG=${base_bindir}/sh \
+        ac_cv_path_SENDMAILPROG=${sbindir}/sendmail \
+        ac_cv_path_VIPROG=${base_bindir}/vi \
+        "
+
+EXTRA_OECONF += " \
+             ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '--with-pam', '--without-pam', d)} \
+             ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '--enable-tmpfiles.d=${nonarch_libdir}/tmpfiles.d', '--disable-tmpfiles.d', d)} \
+             --with-rundir=/run/sudo \
+             --with-vardir=/var/lib/sudo \
+             --libexecdir=${libdir} \
+             "
+
+do_install_append () {
+	if [ "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" ]; then
+		install -D -m 644 ${WORKDIR}/sudo.pam ${D}/${sysconfdir}/pam.d/sudo
+		if ${@bb.utils.contains('PACKAGECONFIG', 'pam-wheel', 'true', 'false', d)} ; then
+			echo 'auth       required     pam_wheel.so use_uid' >>${D}${sysconfdir}/pam.d/sudo
+			sed -i 's/# \(%wheel ALL=(ALL) ALL\)/\1/' ${D}${sysconfdir}/sudoers
+		fi
+	fi
+
+	chmod 4111 ${D}${bindir}/sudo
+	chmod 0440 ${D}${sysconfdir}/sudoers
+
+	# Explicitly remove the /sudo directory to avoid QA error
+	rmdir -p --ignore-fail-on-non-empty ${D}/run/sudo
+}
+
+FILES_${PN}-dev += "${libdir}/${BPN}/lib*${SOLIBSDEV} ${libdir}/${BPN}/*.la \
+                    ${libdir}/lib*${SOLIBSDEV} ${libdir}/*.la"
+
+SUDO_PACKAGES = "${PN}-sudo\
+                 ${PN}-lib"
+
+PACKAGE_BEFORE_PN = "${SUDO_PACKAGES}"
+
+RDEPENDS_${PN}-sudo = "${PN}-lib"
+RDEPENDS_${PN} += "${SUDO_PACKAGES}"
+
+FILES_${PN}-sudo = "${bindir}/sudo ${bindir}/sudoedit"
+FILES_${PN}-lib = "${localstatedir} ${libexecdir} ${sysconfdir} ${libdir} ${nonarch_libdir}"
diff --git a/poky/meta/recipes-extended/sysklogd/sysklogd_2.2.1.bb b/poky/meta/recipes-extended/sysklogd/sysklogd_2.2.1.bb
deleted file mode 100644
index aa3f126fb..000000000
--- a/poky/meta/recipes-extended/sysklogd/sysklogd_2.2.1.bb
+++ /dev/null
@@ -1,56 +0,0 @@
-SUMMARY = "System Log Daemons"
-DESCRIPTION = "The sysklogd package implements system log daemons: syslogd"
-HOMEPAGE = "http://www.infodrom.org/projects/sysklogd/"
-SECTION = "base"
-
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=5b4be4b2549338526758ef479c040943 \
-                    file://src/syslogd.c;beginline=2;endline=15;md5=a880fecbc04503f071c494a9c0dd4f97 \
-                   "
-
-inherit update-rc.d update-alternatives systemd autotools
-
-SRC_URI = "git://github.com/troglobit/sysklogd.git;nobranch=1 \
-           file://sysklogd \
-           "
-
-SRCREV = "b115c7ec4e6d9f3587ac8d212bfc454bfbfe7023"
-
-S = "${WORKDIR}/git"
-
-EXTRA_OECONF = "--with-systemd=${systemd_system_unitdir} --without-logger"
-
-do_install_append () {
-       install -d ${D}${sysconfdir}
-       install -m 644 ${S}/syslog.conf ${D}${sysconfdir}/syslog.conf
-       install -d ${D}${sysconfdir}/init.d
-       install -m 755 ${WORKDIR}/sysklogd ${D}${sysconfdir}/init.d/syslog
-}
-
-SYSTEMD_PACKAGES = "${PN}"
-SYSTEMD_SERVICE_${PN} = "syslogd.service"
-SYSTEMD_AUTO_ENABLE = "enable"
-
-INITSCRIPT_NAME = "syslog"
-CONFFILES_${PN} = "${sysconfdir}/syslog.conf"
-RCONFLICTS_${PN} = "rsyslog busybox-syslog syslog-ng"
-
-FILES_${PN} += "${@bb.utils.contains('DISTRO_FEATURES','systemd','${exec_prefix}/lib/tmpfiles.d/sysklogd.conf', '', d)}"
-
-ALTERNATIVE_PRIORITY = "100"
-
-ALTERNATIVE_${PN}-doc = "syslogd.8"
-ALTERNATIVE_LINK_NAME[syslogd.8] = "${mandir}/man8/syslogd.8"
-
-pkg_prerm_${PN} () {
-	if test "x$D" = "x"; then
-	if test "$1" = "upgrade" -o "$1" = "remove"; then
-		/etc/init.d/syslog stop || :
-	fi
-	fi
-}
-
-python () {
-    if not bb.utils.contains('DISTRO_FEATURES', 'sysvinit', True, False, d):
-        d.setVar("INHIBIT_UPDATERCD_BBCLASS", "1")
-}
diff --git a/poky/meta/recipes-extended/sysklogd/sysklogd_2.2.2.bb b/poky/meta/recipes-extended/sysklogd/sysklogd_2.2.2.bb
new file mode 100644
index 000000000..5dfeca532
--- /dev/null
+++ b/poky/meta/recipes-extended/sysklogd/sysklogd_2.2.2.bb
@@ -0,0 +1,56 @@
+SUMMARY = "System Log Daemons"
+DESCRIPTION = "The sysklogd package implements system log daemons: syslogd"
+HOMEPAGE = "http://www.infodrom.org/projects/sysklogd/"
+SECTION = "base"
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=5b4be4b2549338526758ef479c040943 \
+                    file://src/syslogd.c;beginline=2;endline=15;md5=a880fecbc04503f071c494a9c0dd4f97 \
+                   "
+
+inherit update-rc.d update-alternatives systemd autotools
+
+SRC_URI = "git://github.com/troglobit/sysklogd.git;nobranch=1 \
+           file://sysklogd \
+           "
+
+SRCREV = "f507ed8ff3f1e9d71bb6f85acbf5d14b2fa4e5f7"
+
+S = "${WORKDIR}/git"
+
+EXTRA_OECONF = "--with-systemd=${systemd_system_unitdir} --without-logger"
+
+do_install_append () {
+       install -d ${D}${sysconfdir}
+       install -m 644 ${S}/syslog.conf ${D}${sysconfdir}/syslog.conf
+       install -d ${D}${sysconfdir}/init.d
+       install -m 755 ${WORKDIR}/sysklogd ${D}${sysconfdir}/init.d/syslog
+}
+
+SYSTEMD_PACKAGES = "${PN}"
+SYSTEMD_SERVICE_${PN} = "syslogd.service"
+SYSTEMD_AUTO_ENABLE = "enable"
+
+INITSCRIPT_NAME = "syslog"
+CONFFILES_${PN} = "${sysconfdir}/syslog.conf"
+RCONFLICTS_${PN} = "rsyslog busybox-syslog syslog-ng"
+
+FILES_${PN} += "${@bb.utils.contains('DISTRO_FEATURES','systemd','${exec_prefix}/lib/tmpfiles.d/sysklogd.conf', '', d)}"
+
+ALTERNATIVE_PRIORITY = "100"
+
+ALTERNATIVE_${PN}-doc = "syslogd.8"
+ALTERNATIVE_LINK_NAME[syslogd.8] = "${mandir}/man8/syslogd.8"
+
+pkg_prerm_${PN} () {
+	if test "x$D" = "x"; then
+	if test "$1" = "upgrade" -o "$1" = "remove"; then
+		/etc/init.d/syslog stop || :
+	fi
+	fi
+}
+
+python () {
+    if not bb.utils.contains('DISTRO_FEATURES', 'sysvinit', True, False, d):
+        d.setVar("INHIBIT_UPDATERCD_BBCLASS", "1")
+}
diff --git a/poky/meta/recipes-extended/texinfo-dummy-native/texinfo-dummy-native.bb b/poky/meta/recipes-extended/texinfo-dummy-native/texinfo-dummy-native.bb
index ec04bfe39..a942ac299 100644
--- a/poky/meta/recipes-extended/texinfo-dummy-native/texinfo-dummy-native.bb
+++ b/poky/meta/recipes-extended/texinfo-dummy-native/texinfo-dummy-native.bb
@@ -1,5 +1,6 @@
 SUMMARY = "Fake version of the texinfo utility suite"
 SECTION = "console/utils"
+DESCRIPTION = "${SUMMARY}"
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://COPYING;md5=d6bb62e73ca8b901d3f2e9d71542f4bb"
 DEPENDS = ""
diff --git a/poky/meta/recipes-extended/unzip/unzip_6.0.bb b/poky/meta/recipes-extended/unzip/unzip_6.0.bb
index c1ea0a9a2..0c56a39d9 100644
--- a/poky/meta/recipes-extended/unzip/unzip_6.0.bb
+++ b/poky/meta/recipes-extended/unzip/unzip_6.0.bb
@@ -1,5 +1,6 @@
 SUMMARY = "Utilities for extracting and viewing files in .zip archives"
 HOMEPAGE = "http://www.info-zip.org"
+DESCRIPTION = "Info-ZIP's purpose is to provide free, portable, high-quality versions of the Zip and UnZip compressor-archiver utilities that are compatible with the DOS-based PKZIP by PKWARE, Inc."
 SECTION = "console/utils"
 LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=94caec5a51ef55ef711ee4e8b1c69e29"
diff --git a/poky/meta/recipes-extended/xinetd/xinetd_2.3.15.4.bb b/poky/meta/recipes-extended/xinetd/xinetd_2.3.15.4.bb
index 4f0f9531a..2787b270f 100644
--- a/poky/meta/recipes-extended/xinetd/xinetd_2.3.15.4.bb
+++ b/poky/meta/recipes-extended/xinetd/xinetd_2.3.15.4.bb
@@ -1,5 +1,6 @@
 SUMMARY = "Socket-based service activation daemon"
 HOMEPAGE = "https://github.com/xinetd-org/xinetd"
+DESCRIPTION = "xinetd is a powerful replacement for inetd, xinetd has access control mechanisms, extensive logging capabilities, the ability to make services available based on time, can place limits on the number of servers that can be started, and has deployable defence mechanisms to protect against port scanners, among other things."
 
 # xinetd is a BSD-like license
 # Apple and Gentoo say BSD here.
diff --git a/poky/meta/recipes-extended/xz/xz_5.2.5.bb b/poky/meta/recipes-extended/xz/xz_5.2.5.bb
index af21b6056..f5f5c318f 100644
--- a/poky/meta/recipes-extended/xz/xz_5.2.5.bb
+++ b/poky/meta/recipes-extended/xz/xz_5.2.5.bb
@@ -1,5 +1,6 @@
 SUMMARY = "Utilities for managing LZMA compressed files"
 HOMEPAGE = "https://tukaani.org/xz/"
+DESCRIPTION = "XZ Utils is free general-purpose data compression software with a high compression ratio. XZ Utils were written for POSIX-like systems, but also work on some not-so-POSIX systems. XZ Utils are the successor to LZMA Utils."
 SECTION = "base"
 
 # The source includes bits of PD, GPLv2, GPLv3, LGPLv2.1+, but the only file
diff --git a/poky/meta/recipes-extended/zip/zip_3.0.bb b/poky/meta/recipes-extended/zip/zip_3.0.bb
index 97e5e5753..18b5d8648 100644
--- a/poky/meta/recipes-extended/zip/zip_3.0.bb
+++ b/poky/meta/recipes-extended/zip/zip_3.0.bb
@@ -1,5 +1,6 @@
 SUMMARY = "Compressor/archiver for creating and modifying .zip files"
 HOMEPAGE = "http://www.info-zip.org"
+DESCRIPTION = "Info-ZIP's purpose is to provide free, portable, high-quality versions of the Zip and UnZip compressor-archiver utilities that are compatible with the DOS-based PKZIP by PKWARE, Inc."
 SECTION = "console/utils"
 
 LICENSE = "BSD-3-Clause"
diff --git a/poky/meta/recipes-extended/zstd/zstd/0001-Makefile-sort-all-wildcard-file-list-expansions.patch b/poky/meta/recipes-extended/zstd/zstd/0001-Makefile-sort-all-wildcard-file-list-expansions.patch
index 178124a2e..b5ffb95b7 100644
--- a/poky/meta/recipes-extended/zstd/zstd/0001-Makefile-sort-all-wildcard-file-list-expansions.patch
+++ b/poky/meta/recipes-extended/zstd/zstd/0001-Makefile-sort-all-wildcard-file-list-expansions.patch
@@ -1,4 +1,4 @@
-From 8d01b0753162681dcdbb7cf56f1e393c261e3eb0 Mon Sep 17 00:00:00 2001
+From 986c7917aef632745cb3388a86a2f62347d5a0a5 Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin 
 Date: Wed, 23 Dec 2020 19:14:32 +0100
 Subject: [PATCH] Makefile: sort all wildcard file list expansions
@@ -8,6 +8,7 @@ reproducible builds.
 
 Upstream-Status: Pending
 Signed-off-by: Alexander Kanavin 
+
 ---
  programs/Makefile   | 10 +++++-----
  tests/Makefile      |  4 ++--
@@ -15,10 +16,10 @@ Signed-off-by: Alexander Kanavin 
  3 files changed, 8 insertions(+), 8 deletions(-)
 
 diff --git a/programs/Makefile b/programs/Makefile
-index 8641d0ee..26fee45f 100644
+index 936f3c80..b8200fae 100644
 --- a/programs/Makefile
 +++ b/programs/Makefile
-@@ -72,11 +72,11 @@ ZSTDLEGACY_DIR := $(ZSTDDIR)/legacy
+@@ -74,11 +74,11 @@ ZSTDLEGACY_DIR := $(ZSTDDIR)/legacy
  
  vpath %.c $(ZSTDLIB_COMMON) $(ZSTDLIB_COMPRESS) $(ZSTDLIB_DECOMPRESS) $(ZDICT_DIR) $(ZSTDLEGACY_DIR)
  
@@ -34,17 +35,17 @@ index 8641d0ee..26fee45f 100644
  
  ZSTD_LEGACY_SUPPORT ?= 5
  ZSTDLEGACY_SRC :=
-@@ -91,7 +91,7 @@ ZSTDLIB_FULL_SRC = $(sort $(ZSTDLIB_CORE_SRC) $(ZSTDLEGACY_SRC) $(ZDICT_SRC))
- ZSTDLIB_LOCAL_SRC := $(notdir $(ZSTDLIB_FULL_SRC))
+@@ -93,7 +93,7 @@ ZSTDLIB_FULL_SRC = $(sort $(ZSTDLIB_CORE_SRC) $(ZSTDLEGACY_SRC) $(ZDICT_SRC))
+ ZSTDLIB_LOCAL_SRC = $(notdir $(ZSTDLIB_FULL_SRC))
  ZSTDLIB_LOCAL_OBJ := $(ZSTDLIB_LOCAL_SRC:.c=.o)
  
 -ZSTD_CLI_SRC := $(wildcard *.c)
 +ZSTD_CLI_SRC := $(sort $(wildcard *.c))
  ZSTD_CLI_OBJ := $(ZSTD_CLI_SRC:.c=.o)
  
- ZSTD_ALL_SRC := $(ZSTDLIB_LOCAL_SRC) $(ZSTD_CLI_SRC)
+ ZSTD_ALL_SRC = $(ZSTDLIB_LOCAL_SRC) $(ZSTD_CLI_SRC)
 diff --git a/tests/Makefile b/tests/Makefile
-index 42bc353c..5f5654f0 100644
+index f0605057..74a90b0f 100644
 --- a/tests/Makefile
 +++ b/tests/Makefile
 @@ -49,7 +49,7 @@ ZSTD_FILES  := $(ZSTDDECOMP_FILES) $(ZSTDCOMMON_FILES) $(ZSTDCOMP_FILES)
@@ -56,7 +57,7 @@ index 42bc353c..5f5654f0 100644
  ZSTD_OBJ1 := $(subst $(ZSTDDIR)/common/,zstdm_,$(ZSTD_F1))
  ZSTD_OBJ2 := $(subst $(ZSTDDIR)/compress/,zstdc_,$(ZSTD_OBJ1))
  ZSTD_OBJ3 := $(subst $(ZSTDDIR)/decompress/,zstdd_,$(ZSTD_OBJ2))
-@@ -212,7 +212,7 @@ bigdict: $(ZSTDMT_OBJECTS) $(PRGDIR)/datagen.c bigdict.c
+@@ -211,7 +211,7 @@ bigdict: $(ZSTDMT_OBJECTS) $(PRGDIR)/datagen.c bigdict.c
  invalidDictionaries : $(ZSTD_OBJECTS) invalidDictionaries.c
  
  legacy : CPPFLAGS += -I$(ZSTDDIR)/legacy -DZSTD_LEGACY_SUPPORT=4
@@ -66,7 +67,7 @@ index 42bc353c..5f5654f0 100644
  decodecorpus : LDLIBS += -lm
  decodecorpus : $(filter-out zstdc_zstd_compress.o, $(ZSTD_OBJECTS)) $(ZDICT_FILES) $(PRGDIR)/util.c $(PRGDIR)/timefn.c decodecorpus.c
 diff --git a/tests/fuzz/Makefile b/tests/fuzz/Makefile
-index 36232a8c..574fe877 100644
+index f3a561de..68a29ef0 100644
 --- a/tests/fuzz/Makefile
 +++ b/tests/fuzz/Makefile
 @@ -58,7 +58,7 @@ FUZZ_SRC       := \
diff --git a/poky/meta/recipes-extended/zstd/zstd_1.4.8.bb b/poky/meta/recipes-extended/zstd/zstd_1.4.8.bb
deleted file mode 100644
index 10a6334cb..000000000
--- a/poky/meta/recipes-extended/zstd/zstd_1.4.8.bb
+++ /dev/null
@@ -1,37 +0,0 @@
-SUMMARY = "Zstandard - Fast real-time compression algorithm"
-DESCRIPTION = "Zstandard is a fast lossless compression algorithm, targeting \
-real-time compression scenarios at zlib-level and better compression ratios. \
-It's backed by a very fast entropy stage, provided by Huff0 and FSE library."
-HOMEPAGE = "http://www.zstd.net/"
-SECTION = "console/utils"
-
-LICENSE = "BSD-3-Clause & GPLv2"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=c7f0b161edbe52f5f345a3d1311d0b32 \
-                    file://COPYING;md5=39bba7d2cf0ba1036f2a6e2be52fe3f0"
-
-SRC_URI = "git://github.com/facebook/zstd.git;branch=release \
-           file://0001-Makefile-sort-all-wildcard-file-list-expansions.patch \
-           "
-
-SRCREV = "97a3da1df009d4dc67251de0c4b1c9d7fe286fc1"
-UPSTREAM_CHECK_GITTAGREGEX = "v(?P\d+(\.\d+)+)"
-
-S = "${WORKDIR}/git"
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[lz4] = "HAVE_LZ4=1,HAVE_LZ4=0,lz4"
-PACKAGECONFIG[lzma] = "HAVE_LZMA=1,HAVE_LZMA=0,xz"
-PACKAGECONFIG[zlib] = "HAVE_ZLIB=1,HAVE_ZLIB=0,zlib"
-
-# See programs/README.md for how to use this
-ZSTD_LEGACY_SUPPORT ??= "4"
-
-do_compile () {
-    oe_runmake ${PACKAGECONFIG_CONFARGS} ZSTD_LEGACY_SUPPORT=${ZSTD_LEGACY_SUPPORT}
-}
-
-do_install () {
-    oe_runmake install 'DESTDIR=${D}'
-}
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-extended/zstd/zstd_1.4.9.bb b/poky/meta/recipes-extended/zstd/zstd_1.4.9.bb
new file mode 100644
index 000000000..b86fdf8b2
--- /dev/null
+++ b/poky/meta/recipes-extended/zstd/zstd_1.4.9.bb
@@ -0,0 +1,37 @@
+SUMMARY = "Zstandard - Fast real-time compression algorithm"
+DESCRIPTION = "Zstandard is a fast lossless compression algorithm, targeting \
+real-time compression scenarios at zlib-level and better compression ratios. \
+It's backed by a very fast entropy stage, provided by Huff0 and FSE library."
+HOMEPAGE = "http://www.zstd.net/"
+SECTION = "console/utils"
+
+LICENSE = "BSD-3-Clause & GPLv2"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=c7f0b161edbe52f5f345a3d1311d0b32 \
+                    file://COPYING;md5=39bba7d2cf0ba1036f2a6e2be52fe3f0"
+
+SRC_URI = "git://github.com/facebook/zstd.git;branch=release \
+           file://0001-Makefile-sort-all-wildcard-file-list-expansions.patch \
+           "
+
+SRCREV = "e4558ffd1dc49399faf4ee5d85abed4386b4dcf5"
+UPSTREAM_CHECK_GITTAGREGEX = "v(?P\d+(\.\d+)+)"
+
+S = "${WORKDIR}/git"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[lz4] = "HAVE_LZ4=1,HAVE_LZ4=0,lz4"
+PACKAGECONFIG[lzma] = "HAVE_LZMA=1,HAVE_LZMA=0,xz"
+PACKAGECONFIG[zlib] = "HAVE_ZLIB=1,HAVE_ZLIB=0,zlib"
+
+# See programs/README.md for how to use this
+ZSTD_LEGACY_SUPPORT ??= "4"
+
+do_compile () {
+    oe_runmake ${PACKAGECONFIG_CONFARGS} ZSTD_LEGACY_SUPPORT=${ZSTD_LEGACY_SUPPORT}
+}
+
+do_install () {
+    oe_runmake install 'DESTDIR=${D}'
+}
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-gnome/epiphany/epiphany_3.38.2.bb b/poky/meta/recipes-gnome/epiphany/epiphany_3.38.2.bb
index 7fedc43a9..04f340f13 100644
--- a/poky/meta/recipes-gnome/epiphany/epiphany_3.38.2.bb
+++ b/poky/meta/recipes-gnome/epiphany/epiphany_3.38.2.bb
@@ -21,5 +21,8 @@ SRC_URI = "${GNOME_MIRROR}/${GNOMEBN}/${@gnome_verdir("${PV}")}/${GNOMEBN}-${PV}
            "
 SRC_URI[archive.sha256sum] = "8b05f2bcc1e80ecf4a10f6f01b3285087eb4cbdf5741dffb8c0355715ef5116d"
 
+# Developer mode enables debugging
+PACKAGECONFIG[developer-mode] = "-Ddeveloper_mode=true,-Ddeveloper_mode=false"
+
 FILES_${PN} += "${datadir}/dbus-1 ${datadir}/gnome-shell/search-providers ${datadir}/metainfo"
 RDEPENDS_${PN} = "iso-codes adwaita-icon-theme gsettings-desktop-schemas"
diff --git a/poky/meta/recipes-gnome/gcr/gcr_3.38.1.bb b/poky/meta/recipes-gnome/gcr/gcr_3.38.1.bb
index fe80439b0..563087a36 100644
--- a/poky/meta/recipes-gnome/gcr/gcr_3.38.1.bb
+++ b/poky/meta/recipes-gnome/gcr/gcr_3.38.1.bb
@@ -8,7 +8,7 @@ BUGTRACKER = "https://gitlab.gnome.org/GNOME/gcr/issues"
 LICENSE = "GPLv2"
 LIC_FILES_CHKSUM = "file://COPYING;md5=55ca817ccb7d5b5b66355690e9abc605"
 
-DEPENDS = "gtk+3 p11-kit glib-2.0 libgcrypt gnupg-native \
+DEPENDS = "p11-kit glib-2.0 libgcrypt gnupg-native \
            ${@bb.utils.contains('GI_DATA_ENABLED', 'True', 'libxslt-native', '', d)}"
 
 CACHED_CONFIGUREVARS += "ac_cv_path_GPG='gpg2'"
@@ -16,11 +16,12 @@ CACHED_CONFIGUREVARS += "ac_cv_path_GPG='gpg2'"
 GNOMEBASEBUILDCLASS = "meson"
 GTKDOC_MESON_OPTION = "gtk_doc"
 inherit gnomebase gtk-icon-cache gtk-doc features_check upstream-version-is-even vala gobject-introspection gettext mime mime-xdg
-# depends on gtk+3, but also x11 through gtk+-x11
-REQUIRED_DISTRO_FEATURES = "x11"
 
 SRC_URI[archive.sha256sum] = "17fcaf9c4a93a65fb1c72b82643bb102c13344084687d5886ea66313868d9ec9"
 
+PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'gtk', '', d)}"
+PACKAGECONFIG[gtk] = "-Dgtk=true,-Dgtk=false,gtk+3"
+
 FILES_${PN} += " \
     ${datadir}/dbus-1 \
     ${datadir}/gcr-3 \
diff --git a/poky/meta/recipes-gnome/libhandy/libhandy/determinism.patch b/poky/meta/recipes-gnome/libhandy/libhandy/determinism.patch
deleted file mode 100644
index 7c4177f5f..000000000
--- a/poky/meta/recipes-gnome/libhandy/libhandy/determinism.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-hdy-enums*.c.in: Fix reproducibility issue
-
-When full filenames are used in generated sources it makes the resulting
-debug packages non-reproducible. Best practise is to use basename in
-comments instead.
-
-Signed-off-by: Richard Purdie richard.purdie@linuxfoundation.org
-Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/libhandy/-/merge_requests/734]
-
-Index: a/src/hdy-enums-private.c.in
-===================================================================
---- a/src/hdy-enums-private.c.in
-+++ b/src/hdy-enums-private.c.in
-@@ -7,7 +7,7 @@
- /*** END file-header ***/
- 
- /*** BEGIN file-production ***/
--/* enumerations from "@filename@" */
-+/* enumerations from "@basename@" */
- /*** END file-production ***/
- 
- /*** BEGIN value-header ***/
-Index: a/src/hdy-enums.c.in
-===================================================================
---- a/src/hdy-enums.c.in
-+++ b/src/hdy-enums.c.in
-@@ -13,7 +13,7 @@
- /*** END file-header ***/
- 
- /*** BEGIN file-production ***/
--/* enumerations from "@filename@" */
-+/* enumerations from "@basename@" */
- /*** END file-production ***/
- 
- /*** BEGIN value-header ***/
diff --git a/poky/meta/recipes-gnome/libhandy/libhandy_1.0.3.bb b/poky/meta/recipes-gnome/libhandy/libhandy_1.0.3.bb
deleted file mode 100644
index a53a1388f..000000000
--- a/poky/meta/recipes-gnome/libhandy/libhandy_1.0.3.bb
+++ /dev/null
@@ -1,28 +0,0 @@
-SUMMARY = "A library full of GTK+ widgets for mobile phones"
-DESCRIPTION = "Library with GTK widgets for mobile phones. Libhandy provides \
-GTK widgets and GObjects to ease developing applications for mobile phones. \
-It was developed by Purism (and used by several official GNOME projects) \
-to extend Gtk by providing mobile-friendly widgets and make the creation of \
-responsive apps easier."
-HOMEPAGE = "https://gitlab.gnome.org/GNOME/libhandy"
-BUGTRACKER = "https://gitlab.gnome.org/GNOME/libhandy/-/issues"
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
-
-SRC_URI = "git://gitlab.gnome.org/GNOME/libhandy.git;protocol=https;branch=libhandy-1-0 \
-           file://determinism.patch"
-SRCREV = "7126d2e8da9dcdeb5751e60ff6a74930804f9637"
-S = "${WORKDIR}/git"
-
-GIR_MESON_ENABLE_FLAG = 'enabled'
-GIR_MESON_DISABLE_FLAG = 'disabled'
-GTKDOC_MESON_OPTION = 'gtk_doc'
-
-inherit meson gobject-introspection vala gettext gtk-doc features_check
-
-ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
-
-DEPENDS += "gtk+3"
-
-PACKAGES =+ "${PN}-examples"
-FILES_${PN}-examples = "${bindir}"
diff --git a/poky/meta/recipes-gnome/libhandy/libhandy_1.2.0.bb b/poky/meta/recipes-gnome/libhandy/libhandy_1.2.0.bb
new file mode 100644
index 000000000..1e37feb20
--- /dev/null
+++ b/poky/meta/recipes-gnome/libhandy/libhandy_1.2.0.bb
@@ -0,0 +1,27 @@
+SUMMARY = "A library full of GTK+ widgets for mobile phones"
+DESCRIPTION = "Library with GTK widgets for mobile phones. Libhandy provides \
+GTK widgets and GObjects to ease developing applications for mobile phones. \
+It was developed by Purism (and used by several official GNOME projects) \
+to extend Gtk by providing mobile-friendly widgets and make the creation of \
+responsive apps easier."
+HOMEPAGE = "https://gitlab.gnome.org/GNOME/libhandy"
+BUGTRACKER = "https://gitlab.gnome.org/GNOME/libhandy/-/issues"
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
+
+SRC_URI = "git://gitlab.gnome.org/GNOME/libhandy.git;protocol=https"
+SRCREV = "7b38a860ffcec6c2ad28153358cc3d037ddb618f"
+S = "${WORKDIR}/git"
+
+GIR_MESON_ENABLE_FLAG = 'enabled'
+GIR_MESON_DISABLE_FLAG = 'disabled'
+GTKDOC_MESON_OPTION = 'gtk_doc'
+
+inherit meson gobject-introspection vala gettext gtk-doc features_check
+
+ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
+
+DEPENDS += "gtk+3"
+
+PACKAGES =+ "${PN}-examples"
+FILES_${PN}-examples = "${bindir}"
diff --git a/poky/meta/recipes-graphics/images/core-image-weston.bb b/poky/meta/recipes-graphics/images/core-image-weston.bb
index 8d88e3bc0..e82e4fbb3 100644
--- a/poky/meta/recipes-graphics/images/core-image-weston.bb
+++ b/poky/meta/recipes-graphics/images/core-image-weston.bb
@@ -1,14 +1,12 @@
 SUMMARY = "A very basic Wayland image with a terminal"
 
-IMAGE_FEATURES += "splash package-management ssh-server-dropbear hwcodecs"
+IMAGE_FEATURES += "splash package-management ssh-server-dropbear hwcodecs weston"
 
 LICENSE = "MIT"
 
-inherit core-image features_check
+inherit core-image
 
-REQUIRED_DISTRO_FEATURES = "wayland"
-
-CORE_IMAGE_BASE_INSTALL += "weston weston-init weston-examples wayland-utils gtk+3-demo clutter-1.0-examples"
+CORE_IMAGE_BASE_INSTALL += "gtk+3-demo clutter-1.0-examples"
 CORE_IMAGE_BASE_INSTALL += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'weston-xwayland matchbox-terminal', '', d)}"
 
 QB_MEM = "-m 512"
diff --git a/poky/meta/recipes-graphics/libsdl2/libsdl2_2.0.14.bb b/poky/meta/recipes-graphics/libsdl2/libsdl2_2.0.14.bb
index 872592fda..54556abb2 100644
--- a/poky/meta/recipes-graphics/libsdl2/libsdl2_2.0.14.bb
+++ b/poky/meta/recipes-graphics/libsdl2/libsdl2_2.0.14.bb
@@ -65,6 +65,7 @@ PACKAGECONFIG[wayland]    = "--enable-video-wayland,--disable-video-wayland,wayl
 PACKAGECONFIG[x11]        = "--enable-video-x11,--disable-video-x11,virtual/libx11 libxext libxrandr libxrender"
 
 EXTRA_AUTORECONF += "--include=acinclude --exclude=autoheader"
+CFLAGS_append_class-native = " -DNO_SHARED_MEMORY"
 
 do_configure_prepend() {
         # Remove old libtool macros.
diff --git a/poky/meta/recipes-graphics/mesa/files/0001-anv-fix-a-build-race-between-generating-a-header-and.patch b/poky/meta/recipes-graphics/mesa/files/0001-anv-fix-a-build-race-between-generating-a-header-and.patch
deleted file mode 100644
index a61e7b216..000000000
--- a/poky/meta/recipes-graphics/mesa/files/0001-anv-fix-a-build-race-between-generating-a-header-and.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From f148d4f1b5b13288b254ead07f1d008d997e2342 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin 
-Date: Mon, 2 Nov 2020 23:23:53 +0100
-Subject: [PATCH] anv: fix a build race between generating a header and using
- it
-
-anv_batch_chain.c includes genX_bits.h but doesn't ensure it gets
-generated first. This causes build failures, as observed here:
-https://autobuilder.yoctoproject.org/typhoon/#/builders/86/builds/1501/steps/8/logs/step2d
-
-Upstream-Status: Submitted [https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7412]
-Signed-off-by: Alexander Kanavin 
----
- src/intel/vulkan/meson.build | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/intel/vulkan/meson.build b/src/intel/vulkan/meson.build
-index 36e1689314e..b713d8eade3 100644
---- a/src/intel/vulkan/meson.build
-+++ b/src/intel/vulkan/meson.build
-@@ -131,6 +131,7 @@ libanv_files = files(
- anv_deps = [
-   dep_libdrm,
-   dep_valgrind,
-+  idep_genxml,
-   idep_nir_headers,
-   idep_vulkan_util_headers,
- ]
--- 
-2.29.0
-
diff --git a/poky/meta/recipes-graphics/mesa/files/0001-meson.build-check-for-all-linux-host_os-combinations.patch b/poky/meta/recipes-graphics/mesa/files/0001-meson.build-check-for-all-linux-host_os-combinations.patch
index 085254323..b6f86743e 100644
--- a/poky/meta/recipes-graphics/mesa/files/0001-meson.build-check-for-all-linux-host_os-combinations.patch
+++ b/poky/meta/recipes-graphics/mesa/files/0001-meson.build-check-for-all-linux-host_os-combinations.patch
@@ -1,4 +1,4 @@
-From 0d9ed002eff176b902da266d89829a9b0cb10946 Mon Sep 17 00:00:00 2001
+From 38e984073e4c23b6278d1a2ff21e894fda7b93c5 Mon Sep 17 00:00:00 2001
 From: Alistair Francis 
 Date: Thu, 14 Nov 2019 13:04:49 -0800
 Subject: [PATCH] meson.build: check for all linux host_os combinations
@@ -20,10 +20,10 @@ Signed-off-by: Alistair Francis 
  1 file changed, 2 insertions(+), 2 deletions(-)
 
 diff --git a/meson.build b/meson.build
-index 898d025..09e3759 100644
+index 932eb13..efc6171 100644
 --- a/meson.build
 +++ b/meson.build
-@@ -124,7 +124,7 @@ with_any_opengl = with_opengl or with_gles1 or with_gles2
+@@ -153,7 +153,7 @@ with_any_opengl = with_opengl or with_gles1 or with_gles2
  # Only build shared_glapi if at least one OpenGL API is enabled
  with_shared_glapi = with_shared_glapi and with_any_opengl
  
@@ -32,12 +32,12 @@ index 898d025..09e3759 100644
  
  dri_drivers = get_option('dri-drivers')
  if dri_drivers.contains('auto')
-@@ -884,7 +884,7 @@ if cc.compiles('__uint128_t foo(void) { return 0; }',
+@@ -970,7 +970,7 @@ if cc.compiles('__uint128_t foo(void) { return 0; }',
  endif
  
  # TODO: this is very incomplete
--if ['linux', 'cygwin', 'gnu', 'freebsd', 'gnu/kfreebsd'].contains(host_machine.system())
-+if ['cygwin', 'gnu', 'gnu/kfreebsd'].contains(host_machine.system()) or host_machine.system().startswith('linux')
+-if ['linux', 'cygwin', 'gnu', 'freebsd', 'gnu/kfreebsd', 'haiku'].contains(host_machine.system())
++if ['linux', 'cygwin', 'gnu', 'freebsd', 'gnu/kfreebsd', 'haiku'].contains(host_machine.system()) or host_machine.system().startswith('linux')
    pre_args += '-D_GNU_SOURCE'
  elif host_machine.system() == 'sunos'
    pre_args += '-D__EXTENSIONS__'
diff --git a/poky/meta/recipes-graphics/mesa/files/0002-meson.build-make-TLS-ELF-optional.patch b/poky/meta/recipes-graphics/mesa/files/0002-meson.build-make-TLS-ELF-optional.patch
index 89c0d150f..df2346d33 100644
--- a/poky/meta/recipes-graphics/mesa/files/0002-meson.build-make-TLS-ELF-optional.patch
+++ b/poky/meta/recipes-graphics/mesa/files/0002-meson.build-make-TLS-ELF-optional.patch
@@ -1,4 +1,4 @@
-From ce57ce220d9c377beabf4914f33c43118f672ffe Mon Sep 17 00:00:00 2001
+From 624f430dd0a91344146a2b8d49a69f23560c2fa2 Mon Sep 17 00:00:00 2001
 From: Alistair Francis 
 Date: Thu, 14 Nov 2019 13:08:31 -0800
 Subject: [PATCH] meson.build: make TLS ELF optional
@@ -30,23 +30,23 @@ Signed-off-by: Alistair Francis 
  2 files changed, 7 insertions(+), 1 deletion(-)
 
 diff --git a/meson.build b/meson.build
-index c5136ea..185270d 100644
+index efc6171..8450968 100644
 --- a/meson.build
 +++ b/meson.build
-@@ -424,7 +424,7 @@ endif
+@@ -448,7 +448,7 @@ endif
  
  # Android uses emutls for versions <= P/28. For USE_ELF_TLS we need ELF TLS.
  use_elf_tls = false
--if not ['windows', 'freebsd', 'openbsd'].contains(host_machine.system()) and (not with_platform_android or get_option('platform-sdk-version') >= 29)
-+if not ['windows', 'freebsd', 'openbsd'].contains(host_machine.system()) and (not with_platform_android or get_option('platform-sdk-version') >= 29) and get_option('elf-tls')
+-if not ['windows', 'freebsd', 'openbsd', 'haiku'].contains(host_machine.system()) and (not with_platform_android or get_option('platform-sdk-version') >= 29)
++if not ['windows', 'freebsd', 'openbsd', 'haiku'].contains(host_machine.system()) and (not with_platform_android or get_option('platform-sdk-version') >= 29) and get_option('elf-tls')
    pre_args += '-DUSE_ELF_TLS'
    use_elf_tls = true
  endif
 diff --git a/meson_options.txt b/meson_options.txt
-index 2d39d13..72006eb 100644
+index fc73f6e..d7482c0 100644
 --- a/meson_options.txt
 +++ b/meson_options.txt
-@@ -368,6 +368,12 @@ option(
+@@ -420,6 +420,12 @@ option(
    value : true,
    description : 'Enable direct rendering in GLX and EGL for DRI',
  )
diff --git a/poky/meta/recipes-graphics/mesa/mesa-gl_20.3.4.bb b/poky/meta/recipes-graphics/mesa/mesa-gl_20.3.4.bb
deleted file mode 100644
index e50782be1..000000000
--- a/poky/meta/recipes-graphics/mesa/mesa-gl_20.3.4.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-require mesa.inc
-
-SUMMARY += " (OpenGL only, no EGL/GLES)"
-
-PROVIDES = "virtual/libgl virtual/mesa"
-
-S = "${WORKDIR}/mesa-${PV}"
-
-# At least one DRI rendering engine is required to build mesa.
-# When no X11 is available, use osmesa for the rendering engine.
-PACKAGECONFIG ??= "opengl dri ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', 'osmesa', d)}"
-PACKAGECONFIG_class-target = "opengl dri ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', 'osmesa', d)}"
-
-# When NOT using X11, we need to make sure we have swrast available.
-DRIDRIVERS_append = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', ',swrast', d)}"
diff --git a/poky/meta/recipes-graphics/mesa/mesa-gl_21.0.0.bb b/poky/meta/recipes-graphics/mesa/mesa-gl_21.0.0.bb
new file mode 100644
index 000000000..e50782be1
--- /dev/null
+++ b/poky/meta/recipes-graphics/mesa/mesa-gl_21.0.0.bb
@@ -0,0 +1,15 @@
+require mesa.inc
+
+SUMMARY += " (OpenGL only, no EGL/GLES)"
+
+PROVIDES = "virtual/libgl virtual/mesa"
+
+S = "${WORKDIR}/mesa-${PV}"
+
+# At least one DRI rendering engine is required to build mesa.
+# When no X11 is available, use osmesa for the rendering engine.
+PACKAGECONFIG ??= "opengl dri ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', 'osmesa', d)}"
+PACKAGECONFIG_class-target = "opengl dri ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', 'osmesa', d)}"
+
+# When NOT using X11, we need to make sure we have swrast available.
+DRIDRIVERS_append = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', ',swrast', d)}"
diff --git a/poky/meta/recipes-graphics/mesa/mesa.inc b/poky/meta/recipes-graphics/mesa/mesa.inc
index 9f8ec112c..e9b72ce06 100644
--- a/poky/meta/recipes-graphics/mesa/mesa.inc
+++ b/poky/meta/recipes-graphics/mesa/mesa.inc
@@ -19,10 +19,9 @@ SRC_URI = "https://mesa.freedesktop.org/archive/mesa-${PV}.tar.xz \
            file://0002-meson.build-make-TLS-ELF-optional.patch \
            file://0001-meson-misdetects-64bit-atomics-on-mips-clang.patch \
            file://0001-futex.h-Define-__NR_futex-if-it-does-not-exist.patch \
-           file://0001-anv-fix-a-build-race-between-generating-a-header-and.patch \
            "
 
-SRC_URI[sha256sum] = "dc21a987ec1ff45b278fe4b1419b1719f1968debbb80221480e44180849b4084"
+SRC_URI[sha256sum] = "e6204e98e6a8d77cf9dc5d34f99dd8e3ef7144f3601c808ca0dd26ba522e0d84"
 
 UPSTREAM_CHECK_GITTAGREGEX = "mesa-(?P\d+(\.\d+)+)"
 
@@ -103,8 +102,8 @@ PACKAGECONFIG[elf-tls] = "-Delf-tls=true, -Delf-tls=false"
 PACKAGECONFIG[xvmc] = "-Dgallium-xvmc=enabled,-Dgallium-xvmc=disabled,libxvmc"
 PACKAGECONFIG[wayland] = ",,wayland-native wayland libdrm wayland-protocols"
 
-DRIDRIVERS_class-native = "swrast"
-DRIDRIVERS_class-nativesdk = "swrast"
+DRIDRIVERS_class-native = "nouveau"
+DRIDRIVERS_class-nativesdk = "nouveau"
 DRIDRIVERS_append_x86_class-target = ",r100,r200,nouveau,i965,i915"
 DRIDRIVERS_append_x86-64_class-target = ",r100,r200,nouveau,i965,i915"
 # "dri" requires "opengl"
@@ -168,8 +167,7 @@ GALLIUMDRIVERS_append ="${@bb.utils.contains('PACKAGECONFIG', 'lima', ',lima', '
 PACKAGECONFIG[panfrost] = ""
 GALLIUMDRIVERS_append ="${@bb.utils.contains('PACKAGECONFIG', 'panfrost', ',panfrost', '', d)}"
 
-OSMESA = "${@bb.utils.contains('PACKAGECONFIG', 'gallium', 'gallium', 'classic', d)}"
-PACKAGECONFIG[osmesa] = "-Dosmesa=${OSMESA},-Dosmesa=none"
+PACKAGECONFIG[osmesa] = "-Dosmesa=true,-Dosmesa=false"
 
 PACKAGECONFIG[unwind] = "-Dlibunwind=enabled,-Dlibunwind=disabled,libunwind"
 
diff --git a/poky/meta/recipes-graphics/mesa/mesa_20.3.4.bb b/poky/meta/recipes-graphics/mesa/mesa_20.3.4.bb
deleted file mode 100644
index 96e8aa38d..000000000
--- a/poky/meta/recipes-graphics/mesa/mesa_20.3.4.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-require ${BPN}.inc
-
diff --git a/poky/meta/recipes-graphics/mesa/mesa_21.0.0.bb b/poky/meta/recipes-graphics/mesa/mesa_21.0.0.bb
new file mode 100644
index 000000000..96e8aa38d
--- /dev/null
+++ b/poky/meta/recipes-graphics/mesa/mesa_21.0.0.bb
@@ -0,0 +1,2 @@
+require ${BPN}.inc
+
diff --git a/poky/meta/recipes-graphics/packagegroups/packagegroup-core-weston.bb b/poky/meta/recipes-graphics/packagegroups/packagegroup-core-weston.bb
new file mode 100644
index 000000000..7dcfd6733
--- /dev/null
+++ b/poky/meta/recipes-graphics/packagegroups/packagegroup-core-weston.bb
@@ -0,0 +1,15 @@
+SUMMARY = "Basic Weston compositor setup"
+DESCRIPTION = "Packages required to set up a basic working Weston session"
+PR = "r1"
+
+inherit packagegroup features_check
+
+# weston-init requires pam enabled if started via systemd
+REQUIRED_DISTRO_FEATURES = "wayland ${@oe.utils.conditional('VIRTUAL-RUNTIME_init_manager', 'systemd', 'pam', '', d)}"
+
+RDEPENDS_${PN} = "\
+    weston \
+    weston-init \
+    weston-examples \
+    wayland-utils \
+    "
diff --git a/poky/meta/recipes-graphics/shaderc/files/0003-cmake-add-option-to-skip-build-the-examples.patch b/poky/meta/recipes-graphics/shaderc/files/0003-cmake-add-option-to-skip-build-the-examples.patch
deleted file mode 100644
index 43f9edc03..000000000
--- a/poky/meta/recipes-graphics/shaderc/files/0003-cmake-add-option-to-skip-build-the-examples.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From f1064e4b6cfc5955bc7e2b036f2d05540da9f09b Mon Sep 17 00:00:00 2001
-From: Jose Quaresma 
-Date: Sat, 13 Feb 2021 00:45:56 +0000
-Subject: [PATCH 3/3] cmake: add option to skip build the examples
-
-Upstream-Status: Backport [https://github.com/google/shaderc/commit/8d081127ee28ff5df8123c994c00bc66a57e9e9c]
-
-Signed-off-by: Jose Quaresma 
----
- CMakeLists.txt | 14 +++++++++++++-
- 1 file changed, 13 insertions(+), 1 deletion(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index b358f6b..d8a5405 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -40,6 +40,16 @@ else()
-   message(STATUS "Configuring Shaderc to avoid building tests.")
- endif()
- 
-+option(SHADERC_SKIP_EXAMPLES "Skip building examples" ${SHADERC_SKIP_EXAMPLES})
-+if(NOT ${SHADERC_SKIP_EXAMPLES})
-+  set(SHADERC_ENABLE_EXAMPLES ON)
-+endif()
-+if(${SHADERC_ENABLE_EXAMPLES})
-+  message(STATUS "Configuring Shaderc to build examples.")
-+else()
-+  message(STATUS "Configuring Shaderc to avoid building examples.")
-+endif()
-+
- option(SHADERC_ENABLE_WERROR_COMPILE "Enable passing -Werror to compiler, if available" ON)
- option(BUILD_EXTERNAL "Build external dependencies in /third_party" ON)
- 
-@@ -114,7 +124,9 @@ endif()
- add_subdirectory(libshaderc_util)
- add_subdirectory(libshaderc)
- add_subdirectory(glslc)
--add_subdirectory(examples)
-+if(${SHADERC_ENABLE_EXAMPLES})
-+    add_subdirectory(examples)
-+endif()
- 
- add_custom_target(build-version
-   ${PYTHON_EXECUTABLE}
--- 
-2.30.1
-
diff --git a/poky/meta/recipes-graphics/shaderc/shaderc_2020.4.bb b/poky/meta/recipes-graphics/shaderc/shaderc_2020.4.bb
deleted file mode 100644
index 73aa0ee96..000000000
--- a/poky/meta/recipes-graphics/shaderc/shaderc_2020.4.bb
+++ /dev/null
@@ -1,29 +0,0 @@
-SUMMARY  = "A collection of tools, libraries and tests for shader compilation"
-DESCRIPTION = "The Shaderc library provides an API for compiling GLSL/HLSL \
-source code to SPIRV modules. It has been shipping in the Android NDK since version r12b."
-SECTION = "graphics"
-HOMEPAGE = "https://github.com/google/shaderc"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
-
-SRCREV = "0dbd899941a43ffd55df527d65128b3b66e75c9c"
-SRC_URI = "git://github.com/google/shaderc.git;protocol=https;branch=main \
-           file://0001-cmake-disable-building-external-dependencies.patch \
-           file://0002-libshaderc_util-fix-glslang-header-file-location.patch \
-           file://0003-cmake-add-option-to-skip-build-the-examples.patch \
-           "
-UPSTREAM_CHECK_GITTAGREGEX = "^v(?P\d+(\.\d+)+)$"
-S = "${WORKDIR}/git"
-
-inherit cmake python3native
-
-DEPENDS = "spirv-headers spirv-tools glslang"
-
-EXTRA_OECMAKE = " \
-    -DCMAKE_BUILD_TYPE=Release \
-    -DBUILD_EXTERNAL=OFF \
-    -DSHADERC_SKIP_TESTS=ON \
-    -DSHADERC_SKIP_EXAMPLES=ON \
-"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-graphics/shaderc/shaderc_2020.5.bb b/poky/meta/recipes-graphics/shaderc/shaderc_2020.5.bb
new file mode 100644
index 000000000..ce51aab03
--- /dev/null
+++ b/poky/meta/recipes-graphics/shaderc/shaderc_2020.5.bb
@@ -0,0 +1,28 @@
+SUMMARY  = "A collection of tools, libraries and tests for shader compilation"
+DESCRIPTION = "The Shaderc library provides an API for compiling GLSL/HLSL \
+source code to SPIRV modules. It has been shipping in the Android NDK since version r12b."
+SECTION = "graphics"
+HOMEPAGE = "https://github.com/google/shaderc"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
+
+SRCREV = "f3e39a7eed682faececb73f0b85717f2f44ee9ba"
+SRC_URI = "git://github.com/google/shaderc.git;protocol=https;branch=main \
+           file://0001-cmake-disable-building-external-dependencies.patch \
+           file://0002-libshaderc_util-fix-glslang-header-file-location.patch \
+           "
+UPSTREAM_CHECK_GITTAGREGEX = "^v(?P\d+(\.\d+)+)$"
+S = "${WORKDIR}/git"
+
+inherit cmake python3native
+
+DEPENDS = "spirv-headers spirv-tools glslang"
+
+EXTRA_OECMAKE = " \
+    -DCMAKE_BUILD_TYPE=Release \
+    -DBUILD_EXTERNAL=OFF \
+    -DSHADERC_SKIP_TESTS=ON \
+    -DSHADERC_SKIP_EXAMPLES=ON \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-graphics/spir/files/0001-Respect-CMAKE_INSTALL_LIBDIR-in-installed-CMake-file.patch b/poky/meta/recipes-graphics/spir/files/0001-Respect-CMAKE_INSTALL_LIBDIR-in-installed-CMake-file.patch
deleted file mode 100644
index 5d37da8fe..000000000
--- a/poky/meta/recipes-graphics/spir/files/0001-Respect-CMAKE_INSTALL_LIBDIR-in-installed-CMake-file.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From caf59c46ea5dc49e4dbf756c642b03e52c1b5468 Mon Sep 17 00:00:00 2001
-From: Khem Raj 
-Date: Fri, 20 Dec 2019 07:02:24 -0800
-Subject: [PATCH] Respect CMAKE_INSTALL_LIBDIR in installed CMake files
-
-Upstream-Status: Submitted [https://github.com/google/effcee/pull/36]
-Signed-off-by: Khem Raj 
----
- CMakeLists.txt        | 1 +
- effcee/CMakeLists.txt | 4 ++--
- 2 files changed, 3 insertions(+), 2 deletions(-)
-
---- a/external/effcee/CMakeLists.txt
-+++ b/external/effcee/CMakeLists.txt
-@@ -27,6 +27,7 @@ endif()
- 
- include(cmake/setup_build.cmake)
- include(cmake/utils.cmake)
-+include(GNUInstallDirs)
- 
- add_subdirectory(third_party)
- add_subdirectory(effcee)
---- a/external/effcee/effcee/CMakeLists.txt
-+++ b/external/effcee/effcee/CMakeLists.txt
-@@ -14,8 +14,8 @@ install(
-   DESTINATION
-     include/effcee)
- install(TARGETS effcee
--  LIBRARY DESTINATION lib
--  ARCHIVE DESTINATION lib)
-+  LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
-+  ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
- 
- if(EFFCEE_BUILD_TESTING)
-   add_executable(effcee-test
diff --git a/poky/meta/recipes-graphics/spir/files/0001-fix-strncpy-bound-error.patch b/poky/meta/recipes-graphics/spir/files/0001-fix-strncpy-bound-error.patch
new file mode 100644
index 000000000..bc59faa37
--- /dev/null
+++ b/poky/meta/recipes-graphics/spir/files/0001-fix-strncpy-bound-error.patch
@@ -0,0 +1,30 @@
+From 1ba007583b83468494c4146bcb7267d863de6a7b Mon Sep 17 00:00:00 2001
+From: Khem Raj 
+Date: Fri, 26 Feb 2021 23:54:10 -0800
+Subject: [PATCH] fix strncpy bound error
+
+This patch fixes the following error while using gcc 11
+error: 'char* __builtin_strncpy(char*, const char*, long unsigned int)' specified bound depends on the length of the source argument [-Werror=stringop-overflow=]
+
+Upstream-Status: Submitted [https://github.com/KhronosGroup/SPIRV-Tools/pull/4151]
+Signed-off-by: Khem Raj 
+---
+ source/diagnostic.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/source/diagnostic.cpp b/source/diagnostic.cpp
+index edc27c8fd..77c29d70c 100644
+--- a/source/diagnostic.cpp
++++ b/source/diagnostic.cpp
+@@ -37,7 +37,7 @@ spv_diagnostic spvDiagnosticCreate(const spv_position position,
+   diagnostic->position = *position;
+   diagnostic->isTextSource = false;
+   memset(diagnostic->error, 0, length);
+-  strncpy(diagnostic->error, message, length);
++  memcpy(diagnostic->error, message, length);
+   return diagnostic;
+ }
+ 
+-- 
+2.30.1
+
diff --git a/poky/meta/recipes-graphics/spir/spirv-headers_1.5.4.bb b/poky/meta/recipes-graphics/spir/spirv-headers_1.5.4.bb
index 14723f951..7a43af5e6 100644
--- a/poky/meta/recipes-graphics/spir/spirv-headers_1.5.4.bb
+++ b/poky/meta/recipes-graphics/spir/spirv-headers_1.5.4.bb
@@ -7,10 +7,11 @@ HOMEPAGE = "https://www.khronos.org/registry/spir-v"
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=c938b85bceb8fb26c1a807f28a52ae2d"
 
-SRCREV = "f027d53ded7e230e008d37c8b47ede7cd308e19d"
+SRCREV = "bcf55210f13a4fa3c3d0963b509ff1070e434c79"
 SRC_URI = "git://github.com/KhronosGroup/SPIRV-Headers;protocol=https"
 UPSTREAM_CHECK_GITTAGREGEX = "^(?P\d+(\.\d+)+)$"
 S = "${WORKDIR}/git"
+PV .= "+git${SRCPV}"
 
 inherit cmake
 
diff --git a/poky/meta/recipes-graphics/spir/spirv-tools_2020.6.bb b/poky/meta/recipes-graphics/spir/spirv-tools_2020.6.bb
deleted file mode 100644
index f1fe40096..000000000
--- a/poky/meta/recipes-graphics/spir/spirv-tools_2020.6.bb
+++ /dev/null
@@ -1,40 +0,0 @@
-SUMMARY  = "The SPIR-V Tools project provides an API and commands for \
-processing SPIR-V modules"
-DESCRIPTION = "The project includes an assembler, binary module parser, \
-disassembler, validator, and optimizer for SPIR-V."
-HOMEPAGE = "https://github.com/KhronosGroup/SPIRV-Tools"
-SECTION = "graphics"
-LICENSE  = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
-
-SRCREV = "b27b1afd12d05bf238ac7368bb49de73cd620a8e"
-SRC_URI = "git://github.com/KhronosGroup/SPIRV-Tools.git"
-UPSTREAM_CHECK_GITTAGREGEX = "^v(?P\d+(\.\d+)+)$"
-S = "${WORKDIR}/git"
-
-inherit cmake
-
-DEPENDS = "spirv-headers"
-
-EXTRA_OECMAKE += "\
-    -DSPIRV-Headers_SOURCE_DIR=${STAGING_EXECPREFIXDIR} \
-    -DSPIRV_TOOLS_BUILD_STATIC=OFF \
-    -DBUILD_SHARED_LIBS=ON \
-    -DSPIRV_SKIP_TESTS=ON \
-"
-
-do_install_append_class-target() {
-    # reproducibility: remove build host path
-    sed -i ${D}${libdir}/cmake/SPIRV-Tools/SPIRV-ToolsTarget.cmake \
-        -e 's:${STAGING_DIR_HOST}::g'
-}
-
-# all the libraries are unversioned, so don't pack it on PN-dev
-SOLIBS = ".so"
-FILES_SOLIBSDEV = ""
-
-PACKAGES =+ "${PN}-lesspipe"
-FILES_${PN}-lesspipe = "${base_bindir}/spirv-lesspipe.sh"
-RDEPENDS_${PN}-lesspipe += "${PN} bash"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-graphics/spir/spirv-tools_2020.7.bb b/poky/meta/recipes-graphics/spir/spirv-tools_2020.7.bb
new file mode 100644
index 000000000..8be698533
--- /dev/null
+++ b/poky/meta/recipes-graphics/spir/spirv-tools_2020.7.bb
@@ -0,0 +1,42 @@
+SUMMARY  = "The SPIR-V Tools project provides an API and commands for \
+processing SPIR-V modules"
+DESCRIPTION = "The project includes an assembler, binary module parser, \
+disassembler, validator, and optimizer for SPIR-V."
+HOMEPAGE = "https://github.com/KhronosGroup/SPIRV-Tools"
+SECTION = "graphics"
+LICENSE  = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+SRCREV = "2573fd781b5408cd7fe5755a78b60d767a748ff9"
+SRC_URI = "git://github.com/KhronosGroup/SPIRV-Tools.git \
+           file://0001-fix-strncpy-bound-error.patch \
+          "
+UPSTREAM_CHECK_GITTAGREGEX = "^v(?P\d+(\.\d+)+)$"
+S = "${WORKDIR}/git"
+
+inherit cmake python3native
+
+DEPENDS = "spirv-headers"
+
+EXTRA_OECMAKE += "\
+    -DSPIRV-Headers_SOURCE_DIR=${STAGING_EXECPREFIXDIR} \
+    -DSPIRV_TOOLS_BUILD_STATIC=OFF \
+    -DBUILD_SHARED_LIBS=ON \
+    -DSPIRV_SKIP_TESTS=ON \
+"
+
+do_install_append_class-target() {
+    # reproducibility: remove build host path
+    sed -i ${D}${libdir}/cmake/SPIRV-Tools/SPIRV-ToolsTarget.cmake \
+        -e 's:${STAGING_DIR_HOST}::g'
+}
+
+# all the libraries are unversioned, so don't pack it on PN-dev
+SOLIBS = ".so"
+FILES_SOLIBSDEV = ""
+
+PACKAGES =+ "${PN}-lesspipe"
+FILES_${PN}-lesspipe = "${base_bindir}/spirv-lesspipe.sh"
+RDEPENDS_${PN}-lesspipe += "${PN} bash"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-graphics/ttf-fonts/ttf-bitstream-vera_1.10.bb b/poky/meta/recipes-graphics/ttf-fonts/ttf-bitstream-vera_1.10.bb
index 50c79b3bf..5226e8426 100644
--- a/poky/meta/recipes-graphics/ttf-fonts/ttf-bitstream-vera_1.10.bb
+++ b/poky/meta/recipes-graphics/ttf-fonts/ttf-bitstream-vera_1.10.bb
@@ -1,4 +1,5 @@
 SUMMARY = "The Bitstream Vera fonts - TTF Edition"
+HOMEPAGE = "https://www.gnome.org/fonts/"
 DESCRIPTION = "The Bitstream Vera fonts include four monospace and sans \
 faces (normal, oblique, bold, bold oblique) and two serif faces (normal \
 and bold).  In addition Fontconfig/Xft2 can artificially oblique the \
diff --git a/poky/meta/recipes-graphics/vulkan/vulkan-headers_1.2.162.0.bb b/poky/meta/recipes-graphics/vulkan/vulkan-headers_1.2.162.0.bb
deleted file mode 100644
index 19ae67cdd..000000000
--- a/poky/meta/recipes-graphics/vulkan/vulkan-headers_1.2.162.0.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-SUMMARY = "Vulkan Header files and API registry"
-DESCRIPTION = "Vulkan is a 3D graphics and compute API providing cross-platform access \
-to modern GPUs with low overhead and targeting realtime graphics applications such as \
-games and interactive media. This package contains the development headers \
-for packages wanting to make use of Vulkan."
-HOMEPAGE = "https://www.khronos.org/vulkan/"
-BUGTRACKER = "https://github.com/KhronosGroup/Vulkan-Headers"
-SECTION = "libs"
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57"
-SRC_URI = "git://github.com/KhronosGroup/Vulkan-Headers.git;branch=master"
-
-SRCREV = "87aaa16d4c8e1ac70f8f04acdcd46eed4bd77209"
-
-S = "${WORKDIR}/git"
-
-inherit cmake
-
-FILES_${PN} += "${datadir}/vulkan"
-
-UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P\d+(\.\d+)+)"
diff --git a/poky/meta/recipes-graphics/vulkan/vulkan-headers_1.2.170.0.bb b/poky/meta/recipes-graphics/vulkan/vulkan-headers_1.2.170.0.bb
new file mode 100644
index 000000000..4c9c94f3d
--- /dev/null
+++ b/poky/meta/recipes-graphics/vulkan/vulkan-headers_1.2.170.0.bb
@@ -0,0 +1,22 @@
+SUMMARY = "Vulkan Header files and API registry"
+DESCRIPTION = "Vulkan is a 3D graphics and compute API providing cross-platform access \
+to modern GPUs with low overhead and targeting realtime graphics applications such as \
+games and interactive media. This package contains the development headers \
+for packages wanting to make use of Vulkan."
+HOMEPAGE = "https://www.khronos.org/vulkan/"
+BUGTRACKER = "https://github.com/KhronosGroup/Vulkan-Headers"
+SECTION = "libs"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57"
+SRC_URI = "git://github.com/KhronosGroup/Vulkan-Headers.git;branch=master"
+
+SRCREV = "1d99b835ec3cd5a7fb2f2a2dd9a615ee2d1f0101"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
+
+FILES_${PN} += "${datadir}/vulkan"
+
+UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P\d+(\.\d+)+)"
diff --git a/poky/meta/recipes-graphics/vulkan/vulkan-loader/0001-Rename-LIB_SUFFIX-to-VULKAN_LIB_SUFFIX.patch b/poky/meta/recipes-graphics/vulkan/vulkan-loader/0001-Rename-LIB_SUFFIX-to-VULKAN_LIB_SUFFIX.patch
deleted file mode 100644
index 26b1a40f2..000000000
--- a/poky/meta/recipes-graphics/vulkan/vulkan-loader/0001-Rename-LIB_SUFFIX-to-VULKAN_LIB_SUFFIX.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From 5ae24ece75f2caa69216da7075334711642f5588 Mon Sep 17 00:00:00 2001
-From: Michel Zou 
-Date: Wed, 16 Dec 2020 15:03:23 +0100
-Subject: [PATCH] Rename LIB_SUFFIX to VULKAN_LIB_SUFFIX
-
-Closes #527
-
-Upstream-Status: Backport [https://github.com/KhronosGroup/Vulkan-Loader/commit/66a23ac8c566299343668f094de50798a5f4a0e4]
-Signed-off-by: Alexander Kanavin 
----
- loader/CMakeLists.txt | 2 +-
- loader/vulkan.pc.in   | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/loader/CMakeLists.txt b/loader/CMakeLists.txt
-index 659511855..ba9f460f1 100644
---- a/loader/CMakeLists.txt
-+++ b/loader/CMakeLists.txt
-@@ -327,7 +327,7 @@ if(PKG_CONFIG_FOUND)
-         set(PRIVATE_LIBS "${PRIVATE_LIBS} -l${LIB}")
-     endforeach()
-     if(WIN32)
--        set(LIB_SUFFIX "-1")
-+        set(VULKAN_LIB_SUFFIX "-1")
-     endif ()
-     configure_file("vulkan.pc.in" "vulkan.pc" @ONLY)
-     install(FILES "${CMAKE_CURRENT_BINARY_DIR}/vulkan.pc" DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig")
-diff --git a/loader/vulkan.pc.in b/loader/vulkan.pc.in
-index fc17cb1f3..44049ee34 100644
---- a/loader/vulkan.pc.in
-+++ b/loader/vulkan.pc.in
-@@ -6,7 +6,7 @@ includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@
- Name: @CMAKE_PROJECT_NAME@
- Description: Vulkan Loader
- Version: @VK_API_VERSION@
--Libs: -L${libdir} -lvulkan@LIB_SUFFIX@
-+Libs: -L${libdir} -lvulkan@VULKAN_LIB_SUFFIX@
- Libs.private: @PRIVATE_LIBS@
- Cflags: -I${includedir}
- 
diff --git a/poky/meta/recipes-graphics/vulkan/vulkan-loader_1.2.162.0.bb b/poky/meta/recipes-graphics/vulkan/vulkan-loader_1.2.162.0.bb
deleted file mode 100644
index d39e7af97..000000000
--- a/poky/meta/recipes-graphics/vulkan/vulkan-loader_1.2.162.0.bb
+++ /dev/null
@@ -1,40 +0,0 @@
-SUMMARY = "3D graphics and compute API common loader"
-DESCRIPTION = "Vulkan is a new generation graphics and compute API \
-that provides efficient access to modern GPUs. These packages \
-provide only the common vendor-agnostic library loader, headers and \
-the vulkaninfo utility."
-HOMEPAGE = "https://www.khronos.org/vulkan/"
-BUGTRACKER = "https://github.com/KhronosGroup/Vulkan-Loader"
-SECTION = "libs"
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=7dbefed23242760aa3475ee42801c5ac"
-SRC_URI = "git://github.com/KhronosGroup/Vulkan-Loader.git \
-           file://0001-Rename-LIB_SUFFIX-to-VULKAN_LIB_SUFFIX.patch \
-           "
-SRCREV = "7a313093b5c4af964d50a5a64e73d7df6152ea3f"
-
-S = "${WORKDIR}/git"
-
-REQUIRED_DISTRO_FEATURES = "vulkan"
-
-inherit cmake features_check
-ANY_OF_DISTRO_FEATURES = "x11 wayland"
-
-DEPENDS += "vulkan-headers"
-
-EXTRA_OECMAKE = "\
-                 -DBUILD_TESTS=OFF \
-                 -DPYTHON_EXECUTABLE=${HOSTTOOLS_DIR}/python3 \
-                 -DASSEMBLER_WORKS=FALSE \
-                 "
-
-# must choose x11 or wayland or both
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'wayland x11', d)}"
-
-PACKAGECONFIG[x11] = "-DBUILD_WSI_XLIB_SUPPORT=ON -DBUILD_WSI_XCB_SUPPORT=ON, -DBUILD_WSI_XLIB_SUPPORT=OFF -DBUILD_WSI_XCB_SUPPORT=OFF, libxcb libx11 libxrandr"
-PACKAGECONFIG[wayland] = "-DBUILD_WSI_WAYLAND_SUPPORT=ON, -DBUILD_WSI_WAYLAND_SUPPORT=OFF, wayland"
-
-RRECOMMENDS_${PN} = "mesa-vulkan-drivers"
-
-UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P\d+(\.\d+)+)"
diff --git a/poky/meta/recipes-graphics/vulkan/vulkan-loader_1.2.170.0.bb b/poky/meta/recipes-graphics/vulkan/vulkan-loader_1.2.170.0.bb
new file mode 100644
index 000000000..6b6ed06db
--- /dev/null
+++ b/poky/meta/recipes-graphics/vulkan/vulkan-loader_1.2.170.0.bb
@@ -0,0 +1,41 @@
+SUMMARY = "3D graphics and compute API common loader"
+DESCRIPTION = "Vulkan is a new generation graphics and compute API \
+that provides efficient access to modern GPUs. These packages \
+provide only the common vendor-agnostic library loader, headers and \
+the vulkaninfo utility."
+HOMEPAGE = "https://www.khronos.org/vulkan/"
+BUGTRACKER = "https://github.com/KhronosGroup/Vulkan-Loader"
+SECTION = "libs"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=7dbefed23242760aa3475ee42801c5ac"
+SRC_URI = "git://github.com/KhronosGroup/Vulkan-Loader.git \
+           "
+SRCREV = "c5678a03db383fd0dc5bfb8e9a383043bdbcb57b"
+
+S = "${WORKDIR}/git"
+
+REQUIRED_DISTRO_FEATURES = "vulkan"
+
+inherit cmake features_check
+ANY_OF_DISTRO_FEATURES = "x11 wayland"
+
+DEPENDS += "vulkan-headers"
+
+EXTRA_OECMAKE = "\
+                 -DBUILD_TESTS=OFF \
+                 -DPYTHON_EXECUTABLE=${HOSTTOOLS_DIR}/python3 \
+                 -DASSEMBLER_WORKS=FALSE \
+                 -DVulkanHeaders_INCLUDE_DIR=${STAGING_INCDIR} \
+                 -DVulkanRegistry_DIR=${RECIPE_SYSROOT}/${datadir} \
+                 "
+
+# must choose x11 or wayland or both
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'wayland x11', d)}"
+
+PACKAGECONFIG[x11] = "-DBUILD_WSI_XLIB_SUPPORT=ON -DBUILD_WSI_XCB_SUPPORT=ON, -DBUILD_WSI_XLIB_SUPPORT=OFF -DBUILD_WSI_XCB_SUPPORT=OFF, libxcb libx11 libxrandr"
+PACKAGECONFIG[wayland] = "-DBUILD_WSI_WAYLAND_SUPPORT=ON, -DBUILD_WSI_WAYLAND_SUPPORT=OFF, wayland"
+
+RRECOMMENDS_${PN} = "mesa-vulkan-drivers"
+
+UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P\d+(\.\d+)+)"
diff --git a/poky/meta/recipes-graphics/vulkan/vulkan-tools_1.2.162.1.bb b/poky/meta/recipes-graphics/vulkan/vulkan-tools_1.2.162.1.bb
deleted file mode 100644
index a5c3bbcb1..000000000
--- a/poky/meta/recipes-graphics/vulkan/vulkan-tools_1.2.162.1.bb
+++ /dev/null
@@ -1,32 +0,0 @@
-SUMMARY = "Vulkan Utilities and Tools"
-DESCRIPTION = "Assist development by enabling developers to verify their applications correct use of the Vulkan API."
-HOMEPAGE = "https://www.khronos.org/vulkan/"
-BUGTRACKER = "https://github.com/KhronosGroup/Vulkan-Tools"
-SECTION = "libs"
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57"
-SRC_URI = "git://github.com/KhronosGroup/Vulkan-Tools.git;branch=sdk-1.2.162"
-SRCREV = "8f0c2e40d4134f53f82ce48de72c7be92baa6b3d"
-
-S = "${WORKDIR}/git"
-
-inherit cmake features_check
-ANY_OF_DISTRO_FEATURES = "x11 wayland"
-REQUIRED_DISTRO_FEATURES = "vulkan"
-
-DEPENDS += "vulkan-headers vulkan-loader"
-
-EXTRA_OECMAKE = "\
-                 -DBUILD_TESTS=OFF \
-                 -DBUILD_CUBE=OFF \
-                 -DPYTHON_EXECUTABLE=${HOSTTOOLS_DIR}/python3 \
-                 "
-
-# must choose x11 or wayland or both
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'wayland x11', d)}"
-
-PACKAGECONFIG[x11] = "-DBUILD_WSI_XLIB_SUPPORT=ON -DBUILD_WSI_XCB_SUPPORT=ON, -DBUILD_WSI_XLIB_SUPPORT=OFF -DBUILD_WSI_XCB_SUPPORT=OFF, libxcb libx11 libxrandr"
-PACKAGECONFIG[wayland] = "-DBUILD_WSI_WAYLAND_SUPPORT=ON, -DBUILD_WSI_WAYLAND_SUPPORT=OFF, wayland"
-
-UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P\d+(\.\d+)+)"
diff --git a/poky/meta/recipes-graphics/vulkan/vulkan-tools_1.2.170.0.bb b/poky/meta/recipes-graphics/vulkan/vulkan-tools_1.2.170.0.bb
new file mode 100644
index 000000000..0c8bcaa08
--- /dev/null
+++ b/poky/meta/recipes-graphics/vulkan/vulkan-tools_1.2.170.0.bb
@@ -0,0 +1,32 @@
+SUMMARY = "Vulkan Utilities and Tools"
+DESCRIPTION = "Assist development by enabling developers to verify their applications correct use of the Vulkan API."
+HOMEPAGE = "https://www.khronos.org/vulkan/"
+BUGTRACKER = "https://github.com/KhronosGroup/Vulkan-Tools"
+SECTION = "libs"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57"
+SRC_URI = "git://github.com/KhronosGroup/Vulkan-Tools.git;branch=sdk-1.2.170"
+SRCREV = "88ea55de928a08ba5c5f65a93d1e7c8f666fc43f"
+
+S = "${WORKDIR}/git"
+
+inherit cmake features_check
+ANY_OF_DISTRO_FEATURES = "x11 wayland"
+REQUIRED_DISTRO_FEATURES = "vulkan"
+
+DEPENDS += "vulkan-headers vulkan-loader"
+
+EXTRA_OECMAKE = "\
+                 -DBUILD_TESTS=OFF \
+                 -DBUILD_CUBE=OFF \
+                 -DPYTHON_EXECUTABLE=${HOSTTOOLS_DIR}/python3 \
+                 "
+
+# must choose x11 or wayland or both
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'wayland x11', d)}"
+
+PACKAGECONFIG[x11] = "-DBUILD_WSI_XLIB_SUPPORT=ON -DBUILD_WSI_XCB_SUPPORT=ON, -DBUILD_WSI_XLIB_SUPPORT=OFF -DBUILD_WSI_XCB_SUPPORT=OFF, libxcb libx11 libxrandr"
+PACKAGECONFIG[wayland] = "-DBUILD_WSI_WAYLAND_SUPPORT=ON, -DBUILD_WSI_WAYLAND_SUPPORT=OFF, wayland"
+
+UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P\d+(\.\d+)+)"
diff --git a/poky/meta/recipes-graphics/wayland/libinput/run-ptest b/poky/meta/recipes-graphics/wayland/libinput/run-ptest
index 5a84c568b..d11e6eb25 100644
--- a/poky/meta/recipes-graphics/wayland/libinput/run-ptest
+++ b/poky/meta/recipes-graphics/wayland/libinput/run-ptest
@@ -1,6 +1,6 @@
 #!/bin/sh
 
-/usr/libexec/libinput/libinput-test-suite
+/usr/libexec/libinput/libinput-test-suite -j1
 if [ $? -eq 0 ]; then
   echo 'PASS: libinput-test-suite'
 else
diff --git a/poky/meta/recipes-graphics/wayland/weston-init.bb b/poky/meta/recipes-graphics/wayland/weston-init.bb
index 65d7b81dc..6b78e6722 100644
--- a/poky/meta/recipes-graphics/wayland/weston-init.bb
+++ b/poky/meta/recipes-graphics/wayland/weston-init.bb
@@ -30,6 +30,7 @@ DEFAULTBACKEND_x86-x32 = "fbdev"
 do_install() {
         if [ "${VIRTUAL-RUNTIME_init_manager}" != "systemd" ]; then
 		install -Dm755 ${WORKDIR}/init ${D}/${sysconfdir}/init.d/weston
+		sed -i 's#ROOTHOME#${ROOT_HOME}#' ${D}/${sysconfdir}/init.d/weston
         fi
 	install -D -p -m0644 ${WORKDIR}/weston.ini ${D}${sysconfdir}/xdg/weston/weston.ini
 	install -Dm644 ${WORKDIR}/weston.env ${D}${sysconfdir}/default/weston
diff --git a/poky/meta/recipes-graphics/wayland/weston-init/init b/poky/meta/recipes-graphics/wayland/weston-init/init
index d3e87c6ce..a849f29bc 100644
--- a/poky/meta/recipes-graphics/wayland/weston-init/init
+++ b/poky/meta/recipes-graphics/wayland/weston-init/init
@@ -30,6 +30,7 @@ done
 case "$1" in
   start)
         . /etc/profile
+	export HOME=ROOTHOME
 
         weston-start -- $OPTARGS
   ;;
diff --git a/poky/meta/recipes-kernel/kern-tools/kern-tools-native_git.bb b/poky/meta/recipes-kernel/kern-tools/kern-tools-native_git.bb
index 70b2908fd..1d900d85f 100644
--- a/poky/meta/recipes-kernel/kern-tools/kern-tools-native_git.bb
+++ b/poky/meta/recipes-kernel/kern-tools/kern-tools-native_git.bb
@@ -8,7 +8,7 @@ LIC_FILES_CHKSUM = "file://tools/kgit;beginline=5;endline=9;md5=9c30e971d435e249
 
 DEPENDS = "git-native"
 
-SRCREV = "73f813024d33432116a122524fd2ae48afc910c7"
+SRCREV = "8f6aaab7f64c6de30d267e31a73f7c3bb30125a9"
 PR = "r12"
 PV = "0.2+git${SRCPV}"
 
diff --git a/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20210208.bb b/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20210208.bb
index 0013e2458..78856cbf6 100644
--- a/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20210208.bb
+++ b/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20210208.bb
@@ -1,4 +1,5 @@
 SUMMARY = "Firmware files for use with Linux kernel"
+HOMEPAGE = "https://www.kernel.org/"
 DESCRIPTION = "Linux firmware is a package distributed alongside the Linux kernel \
 that contains firmware binary blobs necessary for partial or full functionality \
 of certain hardware devices."
@@ -495,6 +496,13 @@ FILES_${PN}-netronome = " \
   ${nonarch_base_libdir}/firmware/netronome/nic_AMDA0096*.nffw \
   ${nonarch_base_libdir}/firmware/netronome/nic_AMDA0097*.nffw \
   ${nonarch_base_libdir}/firmware/netronome/nic_AMDA0099*.nffw \
+  ${nonarch_base_libdir}/firmware/netronome/nic_AMDA0058-0011_2x40.nffw \
+  ${nonarch_base_libdir}/firmware/netronome/nic_AMDA0058-0012_2x40.nffw \
+  ${nonarch_base_libdir}/firmware/netronome/nic_AMDA0078-0011_1x100.nffw \
+  ${nonarch_base_libdir}/firmware/netronome/bpf \
+  ${nonarch_base_libdir}/firmware/netronome/flower \
+  ${nonarch_base_libdir}/firmware/netronome/nic \
+  ${nonarch_base_libdir}/firmware/netronome/nic-sriov \
 "
 
 RDEPENDS_${PN}-netronome += "${PN}-netronome-license"
@@ -621,7 +629,9 @@ FILES_${PN}-bcm4329 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4329-sdio.bi
 FILES_${PN}-bcm4330 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4330-sdio.*"
 FILES_${PN}-bcm4334 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4334-sdio.bin"
 FILES_${PN}-bcm4335 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4335-sdio.bin"
-FILES_${PN}-bcm4339 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4339-sdio.bin"
+FILES_${PN}-bcm4339 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4339-sdio.bin \
+  ${nonarch_base_libdir}/firmware/cypress/cyfmac4339-sdio.bin \
+"
 FILES_${PN}-bcm43241b0 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43241b0-sdio.bin"
 FILES_${PN}-bcm43241b4 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43241b4-sdio.bin"
 FILES_${PN}-bcm43241b5 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43241b5-sdio.bin"
@@ -630,12 +640,18 @@ FILES_${PN}-bcm43143 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43143.bin \
   ${nonarch_base_libdir}/firmware/brcm/brcmfmac43143-sdio.bin \
 "
 FILES_${PN}-bcm43430a0 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43430a0-sdio.*"
-FILES_${PN}-bcm43455 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43455-sdio.*"
+FILES_${PN}-bcm43455 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43455-sdio.* \
+  ${nonarch_base_libdir}/firmware/cypress/cyfmac43455-sdio.* \
+"
 FILES_${PN}-bcm4350c2 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4350c2-pcie.bin"
 FILES_${PN}-bcm4350 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4350-pcie.bin"
-FILES_${PN}-bcm4356 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4356-sdio.bin"
+FILES_${PN}-bcm4356 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4356-sdio.bin \
+  ${nonarch_base_libdir}/firmware/cypress/cyfmac4356-sdio.bin \
+"
 FILES_${PN}-bcm43569 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43569.bin"
-FILES_${PN}-bcm43570 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43570-pcie.bin"
+FILES_${PN}-bcm43570 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43570-pcie.bin \
+  ${nonarch_base_libdir}/firmware/cypress/cyfmac43570-pcie.bin \
+"
 FILES_${PN}-bcm4358 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4358-pcie.bin"
 FILES_${PN}-bcm43602 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43602-pcie.bin \
   ${nonarch_base_libdir}/firmware/brcm/brcmfmac43602-pcie.ap.bin \
@@ -706,13 +722,21 @@ LICENSE_${PN}-cypress-license = "Firmware-cypress"
 FILES_${PN}-cypress-license = "${nonarch_base_libdir}/firmware/LICENCE.cypress"
 
 FILES_${PN}-bcm-0bb4-0306 = "${nonarch_base_libdir}/firmware/brcm/BCM-0bb4-0306.hcd"
-FILES_${PN}-bcm43340 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43340-sdio.*"
-FILES_${PN}-bcm43362 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43362-sdio.*"
-FILES_${PN}-bcm43430 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43430-sdio.*"
-FILES_${PN}-bcm4354 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4354-sdio.bin"
-FILES_${PN}-bcm4356-pcie = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4356-pcie.*"
+FILES_${PN}-bcm43340 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43340-sdio.* \
+  ${nonarch_base_libdir}/firmware/cypress/cyfmac43340-sdio.*"
+FILES_${PN}-bcm43362 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43362-sdio.* \
+  ${nonarch_base_libdir}/firmware/cypress/cyfmac43362-sdio.*"
+FILES_${PN}-bcm43430 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43430-sdio.* \
+  ${nonarch_base_libdir}/firmware/cypress/cyfmac43430-sdio.*"
+FILES_${PN}-bcm4354 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4354-sdio.bin \
+  ${nonarch_base_libdir}/firmware/cypress/cyfmac4354-sdio.bin \
+"
+FILES_${PN}-bcm4356-pcie = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4356-pcie.* \
+  ${nonarch_base_libdir}/firmware/cypress/cyfmac4356-pcie.* \
+"
 FILES_${PN}-bcm4373 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4373-sdio.bin \
   ${nonarch_base_libdir}/firmware/brcm/brcmfmac4373.bin \
+  ${nonarch_base_libdir}/firmware/cypress/cyfmac4373-sdio.bin \
 "
 
 LICENSE_${PN}-bcm-0bb4-0306 = "Firmware-cypress"
diff --git a/poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers.inc b/poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers.inc
index 7ec94024c..175b2d181 100644
--- a/poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers.inc
+++ b/poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers.inc
@@ -1,4 +1,5 @@
 SUMMARY = "Sanitized set of kernel headers for the C library's use"
+HOMEPAGE = "https://www.kernel.org/"
 DESCRIPTION = "Designed to maintain an Application Programming Interface (API) stable version of the Linux headers"
 SECTION = "devel"
 LICENSE = "GPLv2"
diff --git a/poky/meta/recipes-kernel/linux/kernel-devsrc.bb b/poky/meta/recipes-kernel/linux/kernel-devsrc.bb
index dadeade3a..455c83652 100644
--- a/poky/meta/recipes-kernel/linux/kernel-devsrc.bb
+++ b/poky/meta/recipes-kernel/linux/kernel-devsrc.bb
@@ -271,6 +271,7 @@ do_install() {
     if [ -e "$kerneldir/build/include/config/auto.conf.cmd" ]; then
         sed -i 's/ifneq "$(CC)" ".*-linux-.*gcc.*$/ifneq "$(CC)" "gcc"/' "$kerneldir/build/include/config/auto.conf.cmd"
         sed -i 's/ifneq "$(LD)" ".*-linux-.*ld.bfd.*$/ifneq "$(LD)" "ld"/' "$kerneldir/build/include/config/auto.conf.cmd"
+        sed -i 's/ifneq "$(AR)" ".*-linux-.*ar.*$/ifneq "$(AR)" "ar"/' "$kerneldir/build/include/config/auto.conf.cmd"
         sed -i 's/ifneq "$(HOSTCXX)" ".*$/ifneq "$(HOSTCXX)" "g++"/' "$kerneldir/build/include/config/auto.conf.cmd"
         sed -i 's/ifneq "$(HOSTCC)" ".*$/ifneq "$(HOSTCC)" "gcc"/' "$kerneldir/build/include/config/auto.conf.cmd"
         sed -i 's/ifneq "$(CC_VERSION_TEXT)".*\(gcc.*\)"/ifneq "$(CC_VERSION_TEXT)" "\1"/' "$kerneldir/build/include/config/auto.conf.cmd"
diff --git a/poky/meta/recipes-kernel/linux/linux-dummy.bb b/poky/meta/recipes-kernel/linux/linux-dummy.bb
index 95dc85ff2..c56f8990d 100644
--- a/poky/meta/recipes-kernel/linux/linux-dummy.bb
+++ b/poky/meta/recipes-kernel/linux/linux-dummy.bb
@@ -9,7 +9,7 @@ LIC_FILES_CHKSUM = "file://COPYING.GPL;md5=751419260aa954499f7abaabaa882bbe"
 
 PROVIDES += "virtual/kernel"
 
-inherit deploy
+inherit deploy linux-dummy
 
 PACKAGES_DYNAMIC += "^kernel-module-.*"
 PACKAGES_DYNAMIC += "^kernel-image-.*"
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb b/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb
index 2ccc0ee87..8725473d1 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb
@@ -30,7 +30,7 @@ SRC_URI = "git://git.yoctoproject.org/linux-yocto-dev.git;branch=${KBRANCH};name
 SRCREV_machine ?= '${@oe.utils.conditional("PREFERRED_PROVIDER_virtual/kernel", "linux-yocto-dev", "${AUTOREV}", "29594404d7fe73cd80eaa4ee8c43dcc53970c60e", d)}'
 SRCREV_meta ?= '${@oe.utils.conditional("PREFERRED_PROVIDER_virtual/kernel", "linux-yocto-dev", "${AUTOREV}", "29594404d7fe73cd80eaa4ee8c43dcc53970c60e", d)}'
 
-LINUX_VERSION ?= "5.11+"
+LINUX_VERSION ?= "5.12+"
 LINUX_VERSION_EXTENSION ?= "-yoctodev-${LINUX_KERNEL_TYPE}"
 PV = "${LINUX_VERSION}+git${SRCPV}"
 
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.10.bb b/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.10.bb
index 54996a8ae..cb34887cd 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.10.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.10.bb
@@ -11,13 +11,13 @@ python () {
         raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it")
 }
 
-SRCREV_machine ?= "142456428adbf16db56572889232220afb201974"
-SRCREV_meta ?= "8f72218572b1d4a5f053ced2bbf0558d0557072d"
+SRCREV_machine ?= "be2935bce35f9adb6d0e735d42651e81a5094adf"
+SRCREV_meta ?= "031f6c76e488a3563f35258c72ff1de3e25a512e"
 
 SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine \
            git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.10;destsuffix=${KMETA}"
 
-LINUX_VERSION ?= "5.10.16"
+LINUX_VERSION ?= "5.10.25"
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
 
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.4.bb b/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.4.bb
index 2508b9ba0..2ffc8ed54 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.4.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.4.bb
@@ -11,13 +11,13 @@ python () {
         raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it")
 }
 
-SRCREV_machine ?= "0406e600800a40015d02b16ee6a4a46c6673c66f"
-SRCREV_meta ?= "4f6d6c23cc8ca5d9c39b1efc2619b1dfec1ef2bc"
+SRCREV_machine ?= "65bbe689d98a007848008be2c8edeb5fa8066829"
+SRCREV_meta ?= "19738ca97b999a3b150e2d34232bb44b6537348f"
 
 SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine \
            git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.4;destsuffix=${KMETA}"
 
-LINUX_VERSION ?= "5.4.98"
+LINUX_VERSION ?= "5.4.107"
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
 
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.10.bb b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.10.bb
index 8ecd10716..83e59b0eb 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.10.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.10.bb
@@ -6,7 +6,7 @@ KCONFIG_MODE = "--allnoconfig"
 
 require recipes-kernel/linux/linux-yocto.inc
 
-LINUX_VERSION ?= "5.10.16"
+LINUX_VERSION ?= "5.10.25"
 LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
 
 DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
@@ -15,9 +15,9 @@ DEPENDS += "openssl-native util-linux-native"
 KMETA = "kernel-meta"
 KCONF_BSP_AUDIT_LEVEL = "2"
 
-SRCREV_machine_qemuarm ?= "be720c1ce6d1cba2bb3815ad04773355339380ab"
-SRCREV_machine ?= "98eda36c9616b598b3586c7cc532e8e0ba8b3953"
-SRCREV_meta ?= "8f72218572b1d4a5f053ced2bbf0558d0557072d"
+SRCREV_machine_qemuarm ?= "0f87ec9fea7a5695cd063d9d11d89751efa53ddd"
+SRCREV_machine ?= "cf5b0320cf4544d3db9ce3ddd6ddb7553a610651"
+SRCREV_meta ?= "031f6c76e488a3563f35258c72ff1de3e25a512e"
 
 PV = "${LINUX_VERSION}+git${SRCPV}"
 
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.4.bb b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.4.bb
index ff03fd419..2b6e35a69 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.4.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.4.bb
@@ -6,7 +6,7 @@ KCONFIG_MODE = "--allnoconfig"
 
 require recipes-kernel/linux/linux-yocto.inc
 
-LINUX_VERSION ?= "5.4.98"
+LINUX_VERSION ?= "5.4.107"
 LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
 
 DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
@@ -15,9 +15,9 @@ DEPENDS += "openssl-native util-linux-native"
 KMETA = "kernel-meta"
 KCONF_BSP_AUDIT_LEVEL = "2"
 
-SRCREV_machine_qemuarm ?= "fc95a485415d22eb772359b8d350c03b85c0cd1b"
-SRCREV_machine ?= "2d0a4ea86fe97f13a4bc2a92a097e4edb51d737d"
-SRCREV_meta ?= "4f6d6c23cc8ca5d9c39b1efc2619b1dfec1ef2bc"
+SRCREV_machine_qemuarm ?= "ac3cbab1d6692d4a032dfffe0a604f39a634d18a"
+SRCREV_machine ?= "cf76c5c0dc0edd51ae4a75a1f8701a2675e87c72"
+SRCREV_meta ?= "19738ca97b999a3b150e2d34232bb44b6537348f"
 
 PV = "${LINUX_VERSION}+git${SRCPV}"
 
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto_5.10.bb b/poky/meta/recipes-kernel/linux/linux-yocto_5.10.bb
index 38b56c17b..026e69511 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto_5.10.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto_5.10.bb
@@ -8,20 +8,22 @@ KBRANCH_qemuarm64 ?= "v5.10/standard/qemuarm64"
 KBRANCH_qemumips ?= "v5.10/standard/mti-malta32"
 KBRANCH_qemuppc  ?= "v5.10/standard/qemuppc"
 KBRANCH_qemuriscv64  ?= "v5.10/standard/base"
+KBRANCH_qemuriscv32  ?= "v5.10/standard/base"
 KBRANCH_qemux86  ?= "v5.10/standard/base"
 KBRANCH_qemux86-64 ?= "v5.10/standard/base"
 KBRANCH_qemumips64 ?= "v5.10/standard/mti-malta64"
 
-SRCREV_machine_qemuarm ?= "57a6fbd33df5c7f057f301387b03a70cdc582282"
-SRCREV_machine_qemuarm64 ?= "98eda36c9616b598b3586c7cc532e8e0ba8b3953"
-SRCREV_machine_qemumips ?= "79bd439bff3c9f95cac6fb81c76b559a404a32dc"
-SRCREV_machine_qemuppc ?= "98eda36c9616b598b3586c7cc532e8e0ba8b3953"
-SRCREV_machine_qemuriscv64 ?= "98eda36c9616b598b3586c7cc532e8e0ba8b3953"
-SRCREV_machine_qemux86 ?= "98eda36c9616b598b3586c7cc532e8e0ba8b3953"
-SRCREV_machine_qemux86-64 ?= "98eda36c9616b598b3586c7cc532e8e0ba8b3953"
-SRCREV_machine_qemumips64 ?= "07bda345fe202b1d2ce233ffc20b7570f78c9c7f"
-SRCREV_machine ?= "98eda36c9616b598b3586c7cc532e8e0ba8b3953"
-SRCREV_meta ?= "8f72218572b1d4a5f053ced2bbf0558d0557072d"
+SRCREV_machine_qemuarm ?= "d8551cae1ccdbe062a5c6068ce39ea8f4e1c72db"
+SRCREV_machine_qemuarm64 ?= "cf5b0320cf4544d3db9ce3ddd6ddb7553a610651"
+SRCREV_machine_qemumips ?= "7f1f1ad2f2d90b1b070c6b0a82f0add9aa492e37"
+SRCREV_machine_qemuppc ?= "cf5b0320cf4544d3db9ce3ddd6ddb7553a610651"
+SRCREV_machine_qemuriscv64 ?= "cf5b0320cf4544d3db9ce3ddd6ddb7553a610651"
+SRCREV_machine_qemuriscv32 ?= "cf5b0320cf4544d3db9ce3ddd6ddb7553a610651"
+SRCREV_machine_qemux86 ?= "cf5b0320cf4544d3db9ce3ddd6ddb7553a610651"
+SRCREV_machine_qemux86-64 ?= "cf5b0320cf4544d3db9ce3ddd6ddb7553a610651"
+SRCREV_machine_qemumips64 ?= "fd5ac097b891642eea13659bea536f3ec5910d6d"
+SRCREV_machine ?= "cf5b0320cf4544d3db9ce3ddd6ddb7553a610651"
+SRCREV_meta ?= "031f6c76e488a3563f35258c72ff1de3e25a512e"
 
 # remap qemuarm to qemuarma15 for the 5.8 kernel
 # KMACHINE_qemuarm ?= "qemuarma15"
@@ -30,7 +32,7 @@ SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;name=machine;branch=${KBRA
            git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.10;destsuffix=${KMETA}"
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
-LINUX_VERSION ?= "5.10.16"
+LINUX_VERSION ?= "5.10.25"
 
 DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
 DEPENDS += "openssl-native util-linux-native"
@@ -43,7 +45,7 @@ KCONF_BSP_AUDIT_LEVEL = "1"
 
 KERNEL_DEVICETREE_qemuarmv5 = "versatile-pb.dtb"
 
-COMPATIBLE_MACHINE = "qemuarm|qemuarmv5|qemuarm64|qemux86|qemuppc|qemumips|qemumips64|qemux86-64|qemuriscv64"
+COMPATIBLE_MACHINE = "qemuarm|qemuarmv5|qemuarm64|qemux86|qemuppc|qemuppc64|qemumips|qemumips64|qemux86-64|qemuriscv64|qemuriscv32"
 
 # Functionality flags
 KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc"
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto_5.4.bb b/poky/meta/recipes-kernel/linux/linux-yocto_5.4.bb
index 8d0f4b82c..245c3d574 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto_5.4.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto_5.4.bb
@@ -12,16 +12,16 @@ KBRANCH_qemux86  ?= "v5.4/standard/base"
 KBRANCH_qemux86-64 ?= "v5.4/standard/base"
 KBRANCH_qemumips64 ?= "v5.4/standard/mti-malta64"
 
-SRCREV_machine_qemuarm ?= "28bc6b294bb1e49da671b2848234f9011efcad88"
-SRCREV_machine_qemuarm64 ?= "2d0a4ea86fe97f13a4bc2a92a097e4edb51d737d"
-SRCREV_machine_qemumips ?= "105568d1696f86625cf7bc30d8c5c921732de2f4"
-SRCREV_machine_qemuppc ?= "2d0a4ea86fe97f13a4bc2a92a097e4edb51d737d"
-SRCREV_machine_qemuriscv64 ?= "2d0a4ea86fe97f13a4bc2a92a097e4edb51d737d"
-SRCREV_machine_qemux86 ?= "2d0a4ea86fe97f13a4bc2a92a097e4edb51d737d"
-SRCREV_machine_qemux86-64 ?= "2d0a4ea86fe97f13a4bc2a92a097e4edb51d737d"
-SRCREV_machine_qemumips64 ?= "c76ba20ee1b1de859736f85f0210459c2104b8df"
-SRCREV_machine ?= "2d0a4ea86fe97f13a4bc2a92a097e4edb51d737d"
-SRCREV_meta ?= "4f6d6c23cc8ca5d9c39b1efc2619b1dfec1ef2bc"
+SRCREV_machine_qemuarm ?= "ea4097dbff5a148265018e1a998e02b5a05e3d27"
+SRCREV_machine_qemuarm64 ?= "cf76c5c0dc0edd51ae4a75a1f8701a2675e87c72"
+SRCREV_machine_qemumips ?= "230ca33504faef6f40c5d3b24901aaacb901c9a6"
+SRCREV_machine_qemuppc ?= "cf76c5c0dc0edd51ae4a75a1f8701a2675e87c72"
+SRCREV_machine_qemuriscv64 ?= "cf76c5c0dc0edd51ae4a75a1f8701a2675e87c72"
+SRCREV_machine_qemux86 ?= "cf76c5c0dc0edd51ae4a75a1f8701a2675e87c72"
+SRCREV_machine_qemux86-64 ?= "cf76c5c0dc0edd51ae4a75a1f8701a2675e87c72"
+SRCREV_machine_qemumips64 ?= "84e071a893ef9cea8a8ffbcd233b47a2bc9056b5"
+SRCREV_machine ?= "cf76c5c0dc0edd51ae4a75a1f8701a2675e87c72"
+SRCREV_meta ?= "19738ca97b999a3b150e2d34232bb44b6537348f"
 
 # remap qemuarm to qemuarma15 for the 5.4 kernel
 # KMACHINE_qemuarm ?= "qemuarma15"
@@ -30,7 +30,7 @@ SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;name=machine;branch=${KBRA
            git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.4;destsuffix=${KMETA}"
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
-LINUX_VERSION ?= "5.4.98"
+LINUX_VERSION ?= "5.4.107"
 
 DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
 DEPENDS += "openssl-native util-linux-native"
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0001-Fix-memory-leaks-on-event-destroy.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0001-Fix-memory-leaks-on-event-destroy.patch
new file mode 100644
index 000000000..21da932a7
--- /dev/null
+++ b/poky/meta/recipes-kernel/lttng/lttng-modules/0001-Fix-memory-leaks-on-event-destroy.patch
@@ -0,0 +1,58 @@
+From b3fdf78b15beb940918da1e41eb68e24ba31bb87 Mon Sep 17 00:00:00 2001
+From: Mathieu Desnoyers 
+Date: Wed, 3 Mar 2021 10:10:16 -0500
+Subject: [PATCH 1/4] Fix: memory leaks on event destroy
+
+Both filter runtime and event enabler ref objects are owned by the
+event, but are not freed upon destruction of the event object, thus
+leaking memory.
+
+Upstream-status: backport
+
+Signed-off-by: Mathieu Desnoyers 
+Change-Id: Ice9b1c18b47584838aea2b965494d3c8391f4c84
+---
+ lttng-events.c | 7 +++++++
+ lttng-events.h | 1 +
+ 2 files changed, 8 insertions(+)
+
+diff --git a/lttng-events.c b/lttng-events.c
+index f3398adc..984bd341 100644
+--- a/lttng-events.c
++++ b/lttng-events.c
+@@ -919,6 +919,8 @@ int _lttng_event_unregister(struct lttng_event *event)
+ static
+ void _lttng_event_destroy(struct lttng_event *event)
+ {
++	struct lttng_enabler_ref *enabler_ref, *tmp_enabler_ref;
++
+ 	switch (event->instrumentation) {
+ 	case LTTNG_KERNEL_TRACEPOINT:
+ 		lttng_event_put(event->desc);
+@@ -944,6 +946,11 @@ void _lttng_event_destroy(struct lttng_event *event)
+ 	}
+ 	list_del(&event->list);
+ 	lttng_destroy_context(event->ctx);
++	lttng_free_event_filter_runtime(event);
++	/* Free event enabler refs */
++	list_for_each_entry_safe(enabler_ref, tmp_enabler_ref,
++				 &event->enablers_ref_head, node)
++		kfree(enabler_ref);
+ 	kmem_cache_free(event_cache, event);
+ }
+ 
+diff --git a/lttng-events.h b/lttng-events.h
+index 1b9ab167..13b6abf5 100644
+--- a/lttng-events.h
++++ b/lttng-events.h
+@@ -716,6 +716,7 @@ int lttng_enabler_attach_bytecode(struct lttng_enabler *enabler,
+ 		struct lttng_kernel_filter_bytecode __user *bytecode);
+ void lttng_enabler_event_link_bytecode(struct lttng_event *event,
+ 		struct lttng_enabler *enabler);
++void lttng_free_event_filter_runtime(struct lttng_event *event);
+ 
+ int lttng_probes_init(void);
+ 
+-- 
+2.19.1
+
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0002-Fix-filter-interpreter-early-exits-on-uninitialized-.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0002-Fix-filter-interpreter-early-exits-on-uninitialized-.patch
new file mode 100644
index 000000000..609690f05
--- /dev/null
+++ b/poky/meta/recipes-kernel/lttng/lttng-modules/0002-Fix-filter-interpreter-early-exits-on-uninitialized-.patch
@@ -0,0 +1,159 @@
+From 23a2f61ffc6a656f136fa2044c0c3b8f79766779 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?J=C3=A9r=C3=A9mie=20Galarneau?=
+ 
+Date: Wed, 3 Mar 2021 18:52:19 -0500
+Subject: [PATCH 2/4] Fix: filter interpreter early-exits on uninitialized
+ value
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+I observed that syscall filtering on string arguments wouldn't work on
+my development machines, both running 5.11.2-arch1-1 (Arch Linux).
+
+For instance, enabling the tracing of the `openat()` syscall with the
+'filename == "/proc/cpuinfo"' filter would not produce events even
+though matching events were present in another session that had no
+filtering active. The same problem occurred with `execve()`.
+
+I tried a couple of kernel versions before (5.11.1 and 5.10.13, if
+memory serves me well) and I had the same problem. Meanwhile, I couldn't
+reproduce the problem on various Debian machines (the LTTng CI) nor on a
+fresh Ubuntu 20.04 with both the stock kernel and with an updated 5.11.2
+kernel.
+
+I built the lttng-modules with the interpreter debugging printout and
+saw the following warning:
+  LTTng: [debug bytecode in /home/jgalar/EfficiOS/src/lttng-modules/src/lttng-bytecode-interpreter.c:bytecode_interpret@1508] Bytecode warning: loading a NULL string.
+
+After a shedload (yes, a _shed_load) of digging, I figured that the
+problem was hidden in plain sight near that logging statement.
+
+In the `BYTECODE_OP_LOAD_FIELD_REF_USER_STRING` operation, the 'ax'
+register's 'user_str' is initialized with the stack value (the user
+space string's address in our case). However, a NULL check is performed
+against the register's 'str' member.
+
+I initialy suspected that both members would be part of the same union
+and alias each-other, but they are actually contiguous in a structure.
+
+On the unaffected machines, I could confirm that the `str` member was
+uninitialized to a non-zero value causing the condition to evaluate to
+false.
+
+Francis Deslauriers reproduced the problem by initializing the
+interpreter stack to zero.
+
+I am unsure of the exact kernel configuration option that reveals this
+issue on Arch Linux, but my kernel has the following option enabled:
+
+CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF_ALL:
+   Zero-initialize any stack variables that may be passed by reference
+   and had not already been explicitly initialized. This is intended to
+   eliminate all classes of uninitialized stack variable exploits and
+   information exposures.
+
+I have not tried to build without this enabled as, anyhow, this seems
+to be a legitimate issue.
+
+I have spotted what appears to be an identical problem in
+`BYTECODE_OP_LOAD_FIELD_REF_USER_SEQUENCE` and corrected it. However,
+I have not exercised that code path.
+
+The commit that introduced this problem is 5b4ad89.
+
+The debug print-out of the `BYTECODE_OP_LOAD_FIELD_REF_USER_STRING`
+operation is modified to print the user string (truncated to 31 chars).
+
+Upstream-status: backport
+
+Signed-off-by: Jérémie Galarneau 
+Signed-off-by: Mathieu Desnoyers 
+Change-Id: I2da3c31b9e3ce0e1b164cf3d2711c0893cbec273
+---
+ lttng-filter-interpreter.c | 41 ++++++++++++++++++++++++++++++++++----
+ 1 file changed, 37 insertions(+), 4 deletions(-)
+
+diff --git a/lttng-filter-interpreter.c b/lttng-filter-interpreter.c
+index 5d572437..6e5a5139 100644
+--- a/lttng-filter-interpreter.c
++++ b/lttng-filter-interpreter.c
+@@ -22,7 +22,7 @@ LTTNG_STACK_FRAME_NON_STANDARD(lttng_filter_interpret_bytecode);
+  * to handle user-space read.
+  */
+ static
+-char get_char(struct estack_entry *reg, size_t offset)
++char get_char(const struct estack_entry *reg, size_t offset)
+ {
+ 	if (unlikely(offset >= reg->u.s.seq_len))
+ 		return '\0';
+@@ -593,6 +593,39 @@ end:
+ 	return ret;
+ }
+ 
++#ifdef DEBUG
++
++#define DBG_USER_STR_CUTOFF 32
++
++/*
++ * In debug mode, print user string (truncated, if necessary).
++ */
++static inline
++void dbg_load_ref_user_str_printk(const struct estack_entry *user_str_reg)
++{
++	size_t pos = 0;
++	char last_char;
++	char user_str[DBG_USER_STR_CUTOFF];
++
++	pagefault_disable();
++	do {
++		last_char = get_char(user_str_reg, pos);
++		user_str[pos] = last_char;
++		pos++;
++	} while (last_char != '\0' && pos < sizeof(user_str));
++	pagefault_enable();
++
++	user_str[sizeof(user_str) - 1] = '\0';
++	dbg_printk("load field ref user string: '%s%s'\n", user_str,
++		last_char != '\0' ? "[...]" : "");
++}
++#else
++static inline
++void dbg_load_ref_user_str_printk(const struct estack_entry *user_str_reg)
++{
++}
++#endif
++
+ /*
+  * Return 0 (discard), or raise the 0x1 flag (log event).
+  * Currently, other flags are kept for future extensions and have no
+@@ -1313,7 +1346,7 @@ uint64_t lttng_filter_interpret_bytecode(void *filter_data,
+ 			estack_push(stack, top, ax, bx);
+ 			estack_ax(stack, top)->u.s.user_str =
+ 				*(const char * const *) &filter_stack_data[ref->offset];
+-			if (unlikely(!estack_ax(stack, top)->u.s.str)) {
++			if (unlikely(!estack_ax(stack, top)->u.s.user_str)) {
+ 				dbg_printk("Filter warning: loading a NULL string.\n");
+ 				ret = -EINVAL;
+ 				goto end;
+@@ -1322,7 +1355,7 @@ uint64_t lttng_filter_interpret_bytecode(void *filter_data,
+ 			estack_ax(stack, top)->u.s.literal_type =
+ 				ESTACK_STRING_LITERAL_TYPE_NONE;
+ 			estack_ax(stack, top)->u.s.user = 1;
+-			dbg_printk("ref load string %s\n", estack_ax(stack, top)->u.s.str);
++			dbg_load_ref_user_str_printk(estack_ax(stack, top));
+ 			next_pc += sizeof(struct load_op) + sizeof(struct field_ref);
+ 			PO;
+ 		}
+@@ -1340,7 +1373,7 @@ uint64_t lttng_filter_interpret_bytecode(void *filter_data,
+ 			estack_ax(stack, top)->u.s.user_str =
+ 				*(const char **) (&filter_stack_data[ref->offset
+ 								+ sizeof(unsigned long)]);
+-			if (unlikely(!estack_ax(stack, top)->u.s.str)) {
++			if (unlikely(!estack_ax(stack, top)->u.s.user_str)) {
+ 				dbg_printk("Filter warning: loading a NULL sequence.\n");
+ 				ret = -EINVAL;
+ 				goto end;
+-- 
+2.19.1
+
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0003-fix-mm-tracing-record-slab-name-for-kmem_cache_free-.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0003-fix-mm-tracing-record-slab-name-for-kmem_cache_free-.patch
new file mode 100644
index 000000000..71f99b80a
--- /dev/null
+++ b/poky/meta/recipes-kernel/lttng/lttng-modules/0003-fix-mm-tracing-record-slab-name-for-kmem_cache_free-.patch
@@ -0,0 +1,91 @@
+From 49c603ef2dc6969f4454f0d849af00ee24bb7f04 Mon Sep 17 00:00:00 2001
+From: Michael Jeanson 
+Date: Thu, 4 Mar 2021 16:50:12 -0500
+Subject: [PATCH 3/4] fix: mm, tracing: record slab name for kmem_cache_free()
+ (v5.12)
+
+See upstream commit:
+
+  commit 3544de8ee6e4817278b15fe08658de49abf58954
+  Author: Jacob Wen 
+  Date:   Wed Feb 24 12:00:55 2021 -0800
+
+    mm, tracing: record slab name for kmem_cache_free()
+
+    Currently, a trace record generated by the RCU core is as below.
+
+    ... kmem_cache_free: call_site=rcu_core+0x1fd/0x610 ptr=00000000f3b49a66
+
+    It doesn't tell us what the RCU core has freed.
+
+    This patch adds the slab name to trace_kmem_cache_free().
+    The new format is as follows.
+
+    ... kmem_cache_free: call_site=rcu_core+0x1fd/0x610 ptr=0000000037f79c8d name=dentry
+    ... kmem_cache_free: call_site=rcu_core+0x1fd/0x610 ptr=00000000f78cb7b5 name=sock_inode_cache
+    ... kmem_cache_free: call_site=rcu_core+0x1fd/0x610 ptr=0000000018768985 name=pool_workqueue
+    ... kmem_cache_free: call_site=rcu_core+0x1fd/0x610 ptr=000000006a6cb484 name=radix_tree_node
+
+    We can use it to understand what the RCU core is going to free. For
+    example, some users maybe interested in when the RCU core starts
+    freeing reclaimable slabs like dentry to reduce memory pressure.
+
+    Link: https://lkml.kernel.org/r/20201216072804.8838-1-jian.w.wen@oracle.com
+
+Upstream-status: backport
+
+Signed-off-by: Michael Jeanson 
+Signed-off-by: Mathieu Desnoyers 
+Change-Id: I1ee2fc476614cadcc8d3ac5d8feddc7910e1aa3a
+---
+ instrumentation/events/lttng-module/kmem.h | 27 ++++++++++++++++++++++
+ 1 file changed, 27 insertions(+)
+
+diff --git a/instrumentation/events/lttng-module/kmem.h b/instrumentation/events/lttng-module/kmem.h
+index b134620a..d787ea54 100644
+--- a/instrumentation/events/lttng-module/kmem.h
++++ b/instrumentation/events/lttng-module/kmem.h
+@@ -87,6 +87,32 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(kmem_alloc_node, kmem_cache_alloc_node,
+ 	TP_ARGS(call_site, ptr, bytes_req, bytes_alloc, gfp_flags, node)
+ )
+ 
++#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,12,0))
++LTTNG_TRACEPOINT_EVENT(kfree,
++
++	TP_PROTO(unsigned long call_site, const void *ptr),
++
++	TP_ARGS(call_site, ptr),
++
++	TP_FIELDS(
++		ctf_integer_hex(unsigned long, call_site, call_site)
++		ctf_integer_hex(const void *, ptr, ptr)
++	)
++)
++
++LTTNG_TRACEPOINT_EVENT(kmem_cache_free,
++
++	TP_PROTO(unsigned long call_site, const void *ptr, const char *name),
++
++	TP_ARGS(call_site, ptr, name),
++
++	TP_FIELDS(
++		ctf_integer_hex(unsigned long, call_site, call_site)
++		ctf_integer_hex(const void *, ptr, ptr)
++		ctf_string(name, name)
++	)
++)
++#else
+ LTTNG_TRACEPOINT_EVENT_CLASS(kmem_free,
+ 
+ 	TP_PROTO(unsigned long call_site, const void *ptr),
+@@ -114,6 +140,7 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(kmem_free, kmem_cache_free,
+ 
+ 	TP_ARGS(call_site, ptr)
+ )
++#endif
+ 
+ #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,3,0))
+ LTTNG_TRACEPOINT_EVENT_MAP(mm_page_free, kmem_mm_page_free,
+-- 
+2.19.1
+
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0004-Fix-kretprobe-null-ptr-deref-on-session-destroy.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0004-Fix-kretprobe-null-ptr-deref-on-session-destroy.patch
new file mode 100644
index 000000000..8a839c2b4
--- /dev/null
+++ b/poky/meta/recipes-kernel/lttng/lttng-modules/0004-Fix-kretprobe-null-ptr-deref-on-session-destroy.patch
@@ -0,0 +1,41 @@
+From 92cc3e7f76a545a2cd4828576971f1eea83f4e68 Mon Sep 17 00:00:00 2001
+From: Francis Deslauriers 
+Date: Wed, 17 Mar 2021 10:40:56 -0400
+Subject: [PATCH 4/4] Fix: kretprobe: null ptr deref on session destroy
+
+The `filter_bytecode_runtime_head` list is currently not initialized for
+the return event of the kretprobe. This caused a kernel null ptr
+dereference when destroying a session. It can reproduced with the
+following commands:
+
+  lttng create
+  lttng enable-event -k --function=lttng_test_filter_event_write my_event
+  lttng start
+  lttng stop
+  lttng destroy
+
+Upstream-status: backport 
+
+Signed-off-by: Francis Deslauriers 
+Signed-off-by: Mathieu Desnoyers 
+Change-Id: I1162ce8b10dd7237a26331531f048346b984eee7
+---
+ lttng-events.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/lttng-events.c b/lttng-events.c
+index 984bd341..3450fa40 100644
+--- a/lttng-events.c
++++ b/lttng-events.c
+@@ -704,6 +704,8 @@ struct lttng_event *_lttng_event_create(struct lttng_channel *chan,
+ 		event_return->enabled = 0;
+ 		event_return->registered = 1;
+ 		event_return->instrumentation = itype;
++		INIT_LIST_HEAD(&event_return->bytecode_runtime_head);
++		INIT_LIST_HEAD(&event_return->enablers_ref_head);
+ 		/*
+ 		 * Populate lttng_event structure before kretprobe registration.
+ 		 */
+-- 
+2.19.1
+
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules_2.12.4.bb b/poky/meta/recipes-kernel/lttng/lttng-modules_2.12.4.bb
deleted file mode 100644
index 3ca59f789..000000000
--- a/poky/meta/recipes-kernel/lttng/lttng-modules_2.12.4.bb
+++ /dev/null
@@ -1,41 +0,0 @@
-SECTION = "devel"
-SUMMARY = "Linux Trace Toolkit KERNEL MODULE"
-DESCRIPTION = "The lttng-modules 2.0 package contains the kernel tracer modules"
-HOMEPAGE = "https://lttng.org/"
-LICENSE = "LGPLv2.1 & GPLv2 & MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=3f882d431dc0f32f1f44c0707aa41128"
-
-inherit module
-
-include lttng-platforms.inc
-
-SRC_URI = "https://lttng.org/files/${BPN}/${BPN}-${PV}.tar.bz2 \
-           file://Makefile-Do-not-fail-if-CONFIG_TRACEPOINTS-is-not-en.patch \
-           "
-
-SRC_URI[sha256sum] = "fe66400fa1b85bff1b9ae24419c74e3bb7d358d643eade0594d81b48bd190688"
-
-export INSTALL_MOD_DIR="kernel/lttng-modules"
-
-EXTRA_OEMAKE += "KERNELDIR='${STAGING_KERNEL_DIR}'"
-
-do_install_append() {
-	# Delete empty directories to avoid QA failures if no modules were built
-	find ${D}/${nonarch_base_libdir} -depth -type d -empty -exec rmdir {} \;
-}
-
-python do_package_prepend() {
-    if not os.path.exists(os.path.join(d.getVar('D'), d.getVar('nonarch_base_libdir')[1:], 'modules')):
-        bb.warn("%s: no modules were created; this may be due to CONFIG_TRACEPOINTS not being enabled in your kernel." % d.getVar('PN'))
-}
-
-BBCLASSEXTEND = "devupstream:target"
-LIC_FILES_CHKSUM_class-devupstream = "file://LICENSE;md5=3f882d431dc0f32f1f44c0707aa41128"
-DEFAULT_PREFERENCE_class-devupstream = "-1"
-SRC_URI_class-devupstream = "git://git.lttng.org/lttng-modules;branch=stable-2.12 \
-           file://Makefile-Do-not-fail-if-CONFIG_TRACEPOINTS-is-not-en.patch \
-           "
-SRCREV_class-devupstream = "be71b60a327d7ad2588abc5cad2861177119972b"
-PV_class-devupstream = "2.12.3+git${SRCPV}"
-S_class-devupstream = "${WORKDIR}/git"
-SRCREV_FORMAT ?= "lttng_git"
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules_2.12.5.bb b/poky/meta/recipes-kernel/lttng/lttng-modules_2.12.5.bb
new file mode 100644
index 000000000..5b05c644a
--- /dev/null
+++ b/poky/meta/recipes-kernel/lttng/lttng-modules_2.12.5.bb
@@ -0,0 +1,46 @@
+SECTION = "devel"
+SUMMARY = "Linux Trace Toolkit KERNEL MODULE"
+DESCRIPTION = "The lttng-modules 2.0 package contains the kernel tracer modules"
+HOMEPAGE = "https://lttng.org/"
+LICENSE = "LGPLv2.1 & GPLv2 & MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3f882d431dc0f32f1f44c0707aa41128"
+
+inherit module
+
+include lttng-platforms.inc
+
+SRC_URI = "https://lttng.org/files/${BPN}/${BPN}-${PV}.tar.bz2 \
+           file://Makefile-Do-not-fail-if-CONFIG_TRACEPOINTS-is-not-en.patch \
+           file://0001-Fix-memory-leaks-on-event-destroy.patch \
+           file://0002-Fix-filter-interpreter-early-exits-on-uninitialized-.patch  \
+           file://0003-fix-mm-tracing-record-slab-name-for-kmem_cache_free-.patch \
+           file://0004-Fix-kretprobe-null-ptr-deref-on-session-destroy.patch \
+           "
+
+SRC_URI[sha256sum] = "c4d1a1b42c728e37b6b7947ae16563a011c4b297311aa04d56f9a1791fb5a30a"
+
+export INSTALL_MOD_DIR="kernel/lttng-modules"
+
+EXTRA_OEMAKE += "KERNELDIR='${STAGING_KERNEL_DIR}'"
+
+do_install_append() {
+	# Delete empty directories to avoid QA failures if no modules were built
+	find ${D}/${nonarch_base_libdir} -depth -type d -empty -exec rmdir {} \;
+}
+
+python do_package_prepend() {
+    if not os.path.exists(os.path.join(d.getVar('D'), d.getVar('nonarch_base_libdir')[1:], 'modules')):
+        bb.warn("%s: no modules were created; this may be due to CONFIG_TRACEPOINTS not being enabled in your kernel." % d.getVar('PN'))
+}
+
+BBCLASSEXTEND = "devupstream:target"
+LIC_FILES_CHKSUM_class-devupstream = "file://LICENSE;md5=3f882d431dc0f32f1f44c0707aa41128"
+DEFAULT_PREFERENCE_class-devupstream = "-1"
+SRC_URI_class-devupstream = "git://git.lttng.org/lttng-modules;branch=stable-2.12 \
+           file://Makefile-Do-not-fail-if-CONFIG_TRACEPOINTS-is-not-en.patch \
+           "
+
+SRCREV_class-devupstream = "92cc3e7f76a545a2cd4828576971f1eea83f4e68"
+PV_class-devupstream = "2.12.5+git${SRCPV}"
+S_class-devupstream = "${WORKDIR}/git"
+SRCREV_FORMAT ?= "lttng_git"
diff --git a/poky/meta/recipes-kernel/lttng/lttng-tools_2.12.2.bb b/poky/meta/recipes-kernel/lttng/lttng-tools_2.12.2.bb
deleted file mode 100644
index 52bfd3637..000000000
--- a/poky/meta/recipes-kernel/lttng/lttng-tools_2.12.2.bb
+++ /dev/null
@@ -1,174 +0,0 @@
-SECTION = "devel"
-SUMMARY = "Linux Trace Toolkit Control"
-DESCRIPTION = "The Linux trace toolkit is a suite of tools designed \
-to extract program execution details from the Linux operating system \
-and interpret them."
-HOMEPAGE = "https://github.com/lttng/lttng-tools"
-
-LICENSE = "GPLv2 & LGPLv2.1"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=40ef17463fbd6f377db3c47b1cbaded8 \
-                    file://LICENSES/GPL-2.0;md5=e68f69a54b44ba526ad7cb963e18fbce \
-                    file://LICENSES/LGPL-2.1;md5=9920968d0f2ff585ce61fae30344dd95"
-
-include lttng-platforms.inc
-
-DEPENDS = "liburcu popt libxml2 util-linux"
-RDEPENDS_${PN} = "libgcc"
-RRECOMMENDS_${PN} += "${LTTNGMODULES}"
-RDEPENDS_${PN}-ptest += "make perl bash gawk babeltrace procps perl-module-overloading coreutils util-linux kmod ${LTTNGMODULES} sed python3-core"
-RDEPENDS_${PN}-ptest_append_libc-glibc = " glibc-utils"
-RDEPENDS_${PN}-ptest_append_libc-musl = " musl-utils"
-# babelstats.pl wants getopt-long
-RDEPENDS_${PN}-ptest += "perl-module-getopt-long"
-
-PYTHON_OPTION = "am_cv_python_pyexecdir='${PYTHON_SITEPACKAGES_DIR}' \
-                 am_cv_python_pythondir='${PYTHON_SITEPACKAGES_DIR}' \
-                 PYTHON_INCLUDE='-I${STAGING_INCDIR}/python${PYTHON_BASEVERSION}${PYTHON_ABI}' \
-"
-PACKAGECONFIG ??= "${LTTNGUST}"
-PACKAGECONFIG[python] = "--enable-python-bindings ${PYTHON_OPTION},,python3 swig-native"
-PACKAGECONFIG[lttng-ust] = "--with-lttng-ust, --without-lttng-ust, lttng-ust"
-PACKAGECONFIG[kmod] = "--with-kmod, --without-kmod, kmod"
-PACKAGECONFIG[manpages] = "--enable-man-pages, --disable-man-pages, asciidoc-native xmlto-native libxslt-native"
-
-SRC_URI = "https://lttng.org/files/lttng-tools/lttng-tools-${PV}.tar.bz2 \
-           file://0001-tests-do-not-strip-a-helper-library.patch \
-           file://run-ptest \
-           file://lttng-sessiond.service \
-           file://0001-tests-regression-disable-the-tools-live-tests.patch \
-           file://determinism.patch \
-           "
-
-SRC_URI[sha256sum] = "9ed9161795ff023b076f9f95afaa4f1f822ec42495c0fa04c586ab8fa74e84f1"
-
-inherit autotools ptest pkgconfig useradd python3-dir manpages systemd
-
-SYSTEMD_SERVICE_${PN} = "lttng-sessiond.service"
-SYSTEMD_AUTO_ENABLE = "disable"
-
-USERADD_PACKAGES = "${PN}"
-GROUPADD_PARAM_${PN} = "tracing"
-
-FILES_${PN} += "${libdir}/lttng/libexec/* ${datadir}/xml/lttng \
-                ${PYTHON_SITEPACKAGES_DIR}/*"
-FILES_${PN}-staticdev += "${PYTHON_SITEPACKAGES_DIR}/*.a"
-FILES_${PN}-dev += "${PYTHON_SITEPACKAGES_DIR}/*.la"
-
-# Since files are installed into ${libdir}/lttng/libexec we match 
-# the libexec insane test so skip it.
-# Python module needs to keep _lttng.so
-INSANE_SKIP_${PN} = "libexec dev-so"
-INSANE_SKIP_${PN}-dbg = "libexec"
-
-PRIVATE_LIBS_${PN}-ptest = "libfoo.so"
-
-do_install_append () {
-    # install systemd unit file
-    install -d ${D}${systemd_unitdir}/system
-    install -m 0644 ${WORKDIR}/lttng-sessiond.service ${D}${systemd_unitdir}/system
-}
-
-do_install_ptest () {
-    for f in Makefile tests/Makefile tests/utils/utils.sh tests/regression/tools/save-load/load-42*.lttng tests/regression/tools/save-load/configuration/load-42*.lttng tests/regression/tools/health/test_health.sh tests/regression/tools/metadata/utils.sh tests/regression/tools/rotation/rotate_utils.sh; do
-        install -D "${B}/$f" "${D}${PTEST_PATH}/$f"
-    done
-
-    for f in config/tap-driver.sh config/test-driver src/common/config/session.xsd src/common/mi-lttng-4.0.xsd; do
-        install -D "${S}/$f" "${D}${PTEST_PATH}/$f"
-    done
-
-    # Prevent 'make check' from recursing into non-test subdirectories.
-    sed -i -e 's!^SUBDIRS = .*!SUBDIRS = tests!' "${D}${PTEST_PATH}/Makefile"
-
-    # We don't need these
-    sed -i -e '/dist_noinst_SCRIPTS = /,/^$/d' "${D}${PTEST_PATH}/tests/Makefile"
-
-    # We shouldn't need to build anything in tests/utils
-    sed -i -e 's!am__append_1 = . utils!am__append_1 = . !' \
-        "${D}${PTEST_PATH}/tests/Makefile"
-
-    # Copy the tests directory tree and the executables and
-    # Makefiles found within.
-    for d in $(find "${B}/tests" -type d -not -name .libs -printf '%P ') ; do
-        install -d "${D}${PTEST_PATH}/tests/$d"
-        find "${B}/tests/$d" -maxdepth 1 -executable -type f \
-            -exec install -t "${D}${PTEST_PATH}/tests/$d" {} +
-        # Take all .py scripts for tests using the python bindings.
-        find "${B}/tests/$d" -maxdepth 1 -type f -name "*.py" \
-            -exec install -t "${D}${PTEST_PATH}/tests/$d" {} +
-        test -r "${B}/tests/$d/Makefile" && \
-            install -t "${D}${PTEST_PATH}/tests/$d" "${B}/tests/$d/Makefile"
-    done
-
-    for d in $(find "${B}/tests" -type d -name .libs -printf '%P ') ; do
-        for f in $(find "${B}/tests/$d" -maxdepth 1 -executable -type f -printf '%P ') ; do
-            cp ${B}/tests/$d/$f ${D}${PTEST_PATH}/tests/`dirname $d`/$f
-            case $f in
-                *.so)
-                    install -d ${D}${PTEST_PATH}/tests/$d/
-                    ln -s  ../$f ${D}${PTEST_PATH}/tests/$d/$f
-                    # Remove any rpath/runpath to pass QA check.
-                    chrpath --delete ${D}${PTEST_PATH}/tests/$d/$f
-                    ;;
-            esac
-        done
-    done
-
-    chrpath --delete ${D}${PTEST_PATH}/tests/utils/testapp/userspace-probe-elf-binary/userspace-probe-elf-binary
-    chrpath --delete ${D}${PTEST_PATH}/tests/regression/ust/ust-dl/libbar.so
-    chrpath --delete ${D}${PTEST_PATH}/tests/regression/ust/ust-dl/libfoo.so
-
-    #
-    # Use the versioned libs of liblttng-ust-dl.
-    #
-    ustdl="${D}${PTEST_PATH}/tests/regression/ust/ust-dl/test_ust-dl.py"
-    if [ -e $ustdl ]; then
-        sed -i -e 's!:liblttng-ust-dl.so!:liblttng-ust-dl.so.0!' $ustdl
-    fi
-
-    install ${B}/tests/unit/ini_config/sample.ini ${D}${PTEST_PATH}/tests/unit/ini_config/
-
-    # We shouldn't need to build anything in tests/regression/tools
-    sed -i -e 's!^SUBDIRS = tools !SUBDIRS = !' \
-        "${D}${PTEST_PATH}/tests/regression/Makefile"
-
-    # Prevent attempts to update Makefiles during test runs, and
-    # silence "Making check in $SUBDIR" messages.
-    find "${D}${PTEST_PATH}" -name Makefile -type f -exec \
-        sed -i -e '/Makefile:/,/^$/d' -e '/%: %.in/,/^$/d' \
-        -e '/echo "Making $$target in $$subdir"; \\/d' \
-        -e 's/^srcdir = \(.*\)/srcdir = ./' \
-        -e 's/^builddir = \(.*\)/builddir = ./' \
-        -e 's/^all-am:.*/all-am:/' \
-        {} +
-
-    find "${D}${PTEST_PATH}" -name Makefile -type f -exec \
-        touch -r "${B}/Makefile" {} +
-
-    #
-    # Need to stop generated binaries from rebuilding by removing their source dependencies
-    #
-    sed -e 's#\(^test.*OBJECTS.=\)#disable\1#g' \
-        -e 's#\(^test.*DEPENDENCIES.=\)#disable\1#g' \
-        -e 's#\(^test.*SOURCES.=\)#disable\1#g' \
-        -e 's#\(^test.*LDADD.=\)#disable\1#g' \
-        -i ${D}${PTEST_PATH}/tests/unit/Makefile
-
-    # Fix hardcoded build path
-    sed -e 's#TESTAPP_PATH=.*/tests/regression/#TESTAPP_PATH=${PTEST_PATH}/tests/regression/#' \
-        -i ${D}${PTEST_PATH}/tests/regression/ust/python-logging/test_python_logging
-
-    # Substitute links to installed binaries.
-    for prog in lttng lttng-relayd lttng-sessiond lttng-consumerd lttng-crash; do
-        exedir="${D}${PTEST_PATH}/src/bin/${prog}"
-        install -d "$exedir"
-        case "$prog" in
-            lttng-consumerd)
-                ln -s "${libdir}/lttng/libexec/$prog" "$exedir"
-                ;;
-            *)
-                ln -s "${bindir}/$prog" "$exedir"
-                ;;
-        esac
-    done
-}
diff --git a/poky/meta/recipes-kernel/lttng/lttng-tools_2.12.3.bb b/poky/meta/recipes-kernel/lttng/lttng-tools_2.12.3.bb
new file mode 100644
index 000000000..7074096ee
--- /dev/null
+++ b/poky/meta/recipes-kernel/lttng/lttng-tools_2.12.3.bb
@@ -0,0 +1,174 @@
+SECTION = "devel"
+SUMMARY = "Linux Trace Toolkit Control"
+DESCRIPTION = "The Linux trace toolkit is a suite of tools designed \
+to extract program execution details from the Linux operating system \
+and interpret them."
+HOMEPAGE = "https://github.com/lttng/lttng-tools"
+
+LICENSE = "GPLv2 & LGPLv2.1"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=40ef17463fbd6f377db3c47b1cbaded8 \
+                    file://LICENSES/GPL-2.0;md5=e68f69a54b44ba526ad7cb963e18fbce \
+                    file://LICENSES/LGPL-2.1;md5=9920968d0f2ff585ce61fae30344dd95"
+
+include lttng-platforms.inc
+
+DEPENDS = "liburcu popt libxml2 util-linux"
+RDEPENDS_${PN} = "libgcc"
+RRECOMMENDS_${PN} += "${LTTNGMODULES}"
+RDEPENDS_${PN}-ptest += "make perl bash gawk babeltrace procps perl-module-overloading coreutils util-linux kmod ${LTTNGMODULES} sed python3-core"
+RDEPENDS_${PN}-ptest_append_libc-glibc = " glibc-utils"
+RDEPENDS_${PN}-ptest_append_libc-musl = " musl-utils"
+# babelstats.pl wants getopt-long
+RDEPENDS_${PN}-ptest += "perl-module-getopt-long"
+
+PYTHON_OPTION = "am_cv_python_pyexecdir='${PYTHON_SITEPACKAGES_DIR}' \
+                 am_cv_python_pythondir='${PYTHON_SITEPACKAGES_DIR}' \
+                 PYTHON_INCLUDE='-I${STAGING_INCDIR}/python${PYTHON_BASEVERSION}${PYTHON_ABI}' \
+"
+PACKAGECONFIG ??= "${LTTNGUST}"
+PACKAGECONFIG[python] = "--enable-python-bindings ${PYTHON_OPTION},,python3 swig-native"
+PACKAGECONFIG[lttng-ust] = "--with-lttng-ust, --without-lttng-ust, lttng-ust"
+PACKAGECONFIG[kmod] = "--with-kmod, --without-kmod, kmod"
+PACKAGECONFIG[manpages] = "--enable-man-pages, --disable-man-pages, asciidoc-native xmlto-native libxslt-native"
+
+SRC_URI = "https://lttng.org/files/lttng-tools/lttng-tools-${PV}.tar.bz2 \
+           file://0001-tests-do-not-strip-a-helper-library.patch \
+           file://run-ptest \
+           file://lttng-sessiond.service \
+           file://0001-tests-regression-disable-the-tools-live-tests.patch \
+           file://determinism.patch \
+           "
+
+SRC_URI[sha256sum] = "2890da230edd523fcf497e9eb28133b7606d64fa01bcbffadbfcba42104db153"
+
+inherit autotools ptest pkgconfig useradd python3-dir manpages systemd
+
+SYSTEMD_SERVICE_${PN} = "lttng-sessiond.service"
+SYSTEMD_AUTO_ENABLE = "disable"
+
+USERADD_PACKAGES = "${PN}"
+GROUPADD_PARAM_${PN} = "tracing"
+
+FILES_${PN} += "${libdir}/lttng/libexec/* ${datadir}/xml/lttng \
+                ${PYTHON_SITEPACKAGES_DIR}/*"
+FILES_${PN}-staticdev += "${PYTHON_SITEPACKAGES_DIR}/*.a"
+FILES_${PN}-dev += "${PYTHON_SITEPACKAGES_DIR}/*.la"
+
+# Since files are installed into ${libdir}/lttng/libexec we match 
+# the libexec insane test so skip it.
+# Python module needs to keep _lttng.so
+INSANE_SKIP_${PN} = "libexec dev-so"
+INSANE_SKIP_${PN}-dbg = "libexec"
+
+PRIVATE_LIBS_${PN}-ptest = "libfoo.so"
+
+do_install_append () {
+    # install systemd unit file
+    install -d ${D}${systemd_unitdir}/system
+    install -m 0644 ${WORKDIR}/lttng-sessiond.service ${D}${systemd_unitdir}/system
+}
+
+do_install_ptest () {
+    for f in Makefile tests/Makefile tests/utils/utils.sh tests/regression/tools/save-load/load-42*.lttng tests/regression/tools/save-load/configuration/load-42*.lttng tests/regression/tools/health/test_health.sh tests/regression/tools/metadata/utils.sh tests/regression/tools/rotation/rotate_utils.sh; do
+        install -D "${B}/$f" "${D}${PTEST_PATH}/$f"
+    done
+
+    for f in config/tap-driver.sh config/test-driver src/common/config/session.xsd src/common/mi-lttng-4.0.xsd; do
+        install -D "${S}/$f" "${D}${PTEST_PATH}/$f"
+    done
+
+    # Prevent 'make check' from recursing into non-test subdirectories.
+    sed -i -e 's!^SUBDIRS = .*!SUBDIRS = tests!' "${D}${PTEST_PATH}/Makefile"
+
+    # We don't need these
+    sed -i -e '/dist_noinst_SCRIPTS = /,/^$/d' "${D}${PTEST_PATH}/tests/Makefile"
+
+    # We shouldn't need to build anything in tests/utils
+    sed -i -e 's!am__append_1 = . utils!am__append_1 = . !' \
+        "${D}${PTEST_PATH}/tests/Makefile"
+
+    # Copy the tests directory tree and the executables and
+    # Makefiles found within.
+    for d in $(find "${B}/tests" -type d -not -name .libs -printf '%P ') ; do
+        install -d "${D}${PTEST_PATH}/tests/$d"
+        find "${B}/tests/$d" -maxdepth 1 -executable -type f \
+            -exec install -t "${D}${PTEST_PATH}/tests/$d" {} +
+        # Take all .py scripts for tests using the python bindings.
+        find "${B}/tests/$d" -maxdepth 1 -type f -name "*.py" \
+            -exec install -t "${D}${PTEST_PATH}/tests/$d" {} +
+        test -r "${B}/tests/$d/Makefile" && \
+            install -t "${D}${PTEST_PATH}/tests/$d" "${B}/tests/$d/Makefile"
+    done
+
+    for d in $(find "${B}/tests" -type d -name .libs -printf '%P ') ; do
+        for f in $(find "${B}/tests/$d" -maxdepth 1 -executable -type f -printf '%P ') ; do
+            cp ${B}/tests/$d/$f ${D}${PTEST_PATH}/tests/`dirname $d`/$f
+            case $f in
+                *.so)
+                    install -d ${D}${PTEST_PATH}/tests/$d/
+                    ln -s  ../$f ${D}${PTEST_PATH}/tests/$d/$f
+                    # Remove any rpath/runpath to pass QA check.
+                    chrpath --delete ${D}${PTEST_PATH}/tests/$d/$f
+                    ;;
+            esac
+        done
+    done
+
+    chrpath --delete ${D}${PTEST_PATH}/tests/utils/testapp/userspace-probe-elf-binary/userspace-probe-elf-binary
+    chrpath --delete ${D}${PTEST_PATH}/tests/regression/ust/ust-dl/libbar.so
+    chrpath --delete ${D}${PTEST_PATH}/tests/regression/ust/ust-dl/libfoo.so
+
+    #
+    # Use the versioned libs of liblttng-ust-dl.
+    #
+    ustdl="${D}${PTEST_PATH}/tests/regression/ust/ust-dl/test_ust-dl.py"
+    if [ -e $ustdl ]; then
+        sed -i -e 's!:liblttng-ust-dl.so!:liblttng-ust-dl.so.0!' $ustdl
+    fi
+
+    install ${B}/tests/unit/ini_config/sample.ini ${D}${PTEST_PATH}/tests/unit/ini_config/
+
+    # We shouldn't need to build anything in tests/regression/tools
+    sed -i -e 's!^SUBDIRS = tools !SUBDIRS = !' \
+        "${D}${PTEST_PATH}/tests/regression/Makefile"
+
+    # Prevent attempts to update Makefiles during test runs, and
+    # silence "Making check in $SUBDIR" messages.
+    find "${D}${PTEST_PATH}" -name Makefile -type f -exec \
+        sed -i -e '/Makefile:/,/^$/d' -e '/%: %.in/,/^$/d' \
+        -e '/echo "Making $$target in $$subdir"; \\/d' \
+        -e 's/^srcdir = \(.*\)/srcdir = ./' \
+        -e 's/^builddir = \(.*\)/builddir = ./' \
+        -e 's/^all-am:.*/all-am:/' \
+        {} +
+
+    find "${D}${PTEST_PATH}" -name Makefile -type f -exec \
+        touch -r "${B}/Makefile" {} +
+
+    #
+    # Need to stop generated binaries from rebuilding by removing their source dependencies
+    #
+    sed -e 's#\(^test.*OBJECTS.=\)#disable\1#g' \
+        -e 's#\(^test.*DEPENDENCIES.=\)#disable\1#g' \
+        -e 's#\(^test.*SOURCES.=\)#disable\1#g' \
+        -e 's#\(^test.*LDADD.=\)#disable\1#g' \
+        -i ${D}${PTEST_PATH}/tests/unit/Makefile
+
+    # Fix hardcoded build path
+    sed -e 's#TESTAPP_PATH=.*/tests/regression/#TESTAPP_PATH=${PTEST_PATH}/tests/regression/#' \
+        -i ${D}${PTEST_PATH}/tests/regression/ust/python-logging/test_python_logging
+
+    # Substitute links to installed binaries.
+    for prog in lttng lttng-relayd lttng-sessiond lttng-consumerd lttng-crash; do
+        exedir="${D}${PTEST_PATH}/src/bin/${prog}"
+        install -d "$exedir"
+        case "$prog" in
+            lttng-consumerd)
+                ln -s "${libdir}/lttng/libexec/$prog" "$exedir"
+                ;;
+            *)
+                ln -s "${bindir}/$prog" "$exedir"
+                ;;
+        esac
+    done
+}
diff --git a/poky/meta/recipes-kernel/perf/perf.bb b/poky/meta/recipes-kernel/perf/perf.bb
index 5faf22a26..1274df68c 100644
--- a/poky/meta/recipes-kernel/perf/perf.bb
+++ b/poky/meta/recipes-kernel/perf/perf.bb
@@ -32,6 +32,7 @@ PACKAGECONFIG[coresight] = "CORESIGHT=1,,opencsd"
 # libunwind is not yet ported for some architectures
 PACKAGECONFIG_remove_arc = "libunwind"
 PACKAGECONFIG_remove_riscv64 = "libunwind"
+PACKAGECONFIG_remove_riscv32 = "libunwind"
 
 DEPENDS = " \
     virtual/${MLPREFIX}libc \
@@ -81,6 +82,7 @@ EXTRA_OEMAKE = '\
     AR="${AR}" \
     LD="${LD}" \
     EXTRA_CFLAGS="-ldw" \
+    YFLAGS='-y --file-prefix-map=${WORKDIR}=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}' \
     EXTRA_LDFLAGS="${PERF_EXTRA_LDFLAGS}" \
     perfexecdir=${libexecdir} \
     NO_GTK2=1 \
@@ -214,6 +216,51 @@ do_configure_prepend () {
             ${S}/tools/build/Makefile.build
     fi
 
+    # start reproducibility substitutions
+    if [ -e "${S}/tools/perf/Makefile.config" ]; then
+        # The following line in the Makefle:
+        #     override PYTHON := $(call get-executable-or-default,PYTHON,$(PYTHON_AUTO))
+        # "PYTHON" / "PYTHON_AUTO" have the full path as part of the variable. We've
+        # ensure that the environment is setup and we do not need the full path to be
+        # captured, since the symbol gets built into the executable, making it not
+        # reproducible.
+        sed -i -e 's,$(call get-executable-or-default\,PYTHON\,$(PYTHON_AUTO)),$(notdir $(call get-executable-or-default\,PYTHON\,$(PYTHON_AUTO))),g' \
+            ${S}/tools/perf/Makefile.config
+
+        # The following line:
+        #     srcdir_SQ = $(patsubst %tools/perf,tools/perf,$(subst ','\'',$(srcdir))),
+        # Captures the full src path of perf, which of course makes it not
+        # reproducible. We really only need the relative location 'tools/perf', so we
+        # change the Makefile line to remove everything before 'tools/perf'
+        sed -i -e "s%srcdir_SQ = \$(subst ','\\\'',\$(srcdir))%srcdir_SQ = \$(patsubst \%tools/perf,tools/perf,\$(subst ','\\\'',\$(srcdir)))%g" \
+            ${S}/tools/perf/Makefile.config
+    fi
+    if [ -e "${S}/tools/perf/tests/Build" ]; then
+        # OUTPUT is the full path, we have python on the path so we remove it from the
+        # definition. This is captured in the perf binary, so breaks reproducibility
+        sed -i -e 's,PYTHONPATH="BUILD_STR($(OUTPUT)python)",PYTHONPATH="BUILD_STR(python)",g' \
+            ${S}/tools/perf/tests/Build
+    fi
+    if [ -e "${S}/tools/perf/util/Build" ]; then
+        # To avoid bison generating #ifdefs that have captured paths, we make sure
+        # all the calls have YFLAGS, which contains prefix mapping information.
+        sed -i -e 's,$(BISON),$(BISON) $(YFLAGS),g' ${S}/tools/perf/util/Build
+    fi
+    if [ -e "${S}/scripts/Makefile.host" ]; then
+        # To avoid yacc (bison) generating #ifdefs that have captured paths, we make sure
+        # all the calls have YFLAGS, which contains prefix mapping information.
+        sed -i -e 's,$(YACC),$(YACC) $(YFLAGS),g' ${S}/scripts/Makefile.host
+    fi
+    if [ -e "${S}/tools/perf/pmu-events/Build" ]; then
+        target='$(OUTPUT)pmu-events/pmu-events.c $(V)'
+        replacement1='$(OUTPUT)pmu-events/pmu-events.c $(V)\n'
+        replacement2='\t$(srctree)/sort-pmuevents.py $(OUTPUT)pmu-events/pmu-events.c $(OUTPUT)pmu-events/pmu-events.c.new\n'
+        replacement3='\tcp $(OUTPUT)pmu-events/pmu-events.c.new $(OUTPUT)pmu-events/pmu-events.c'
+        sed -i -e "s,$target,$replacement1$replacement2$replacement3,g" \
+                       "${S}/tools/perf/pmu-events/Build"
+    fi
+    # end reproducibility substitutions
+
     # We need to ensure the --sysroot option in CC is preserved
     if [ -e "${S}/tools/perf/Makefile.perf" ]; then
         sed -i 's,CC = $(CROSS_COMPILE)gcc,#CC,' ${S}/tools/perf/Makefile.perf
@@ -254,6 +301,14 @@ do_configure_prepend () {
     # so we copy it from the sysroot unistd.h to the perf unistd.h
     install -D -m0644 ${STAGING_INCDIR}/asm-generic/unistd.h ${S}/tools/include/uapi/asm-generic/unistd.h
     install -D -m0644 ${STAGING_INCDIR}/asm-generic/unistd.h ${S}/include/uapi/asm-generic/unistd.h
+
+    # the fetcher is inhibited by the 'inherit kernelsrc', so we do a quick check and
+    # copy for a helper script we need
+    for p in $(echo ${FILESPATH} | tr ':' '\n'); do
+	if [ -e $p/sort-pmuevents.py ]; then
+	    cp $p/sort-pmuevents.py ${S}
+	fi
+    done
 }
 
 python do_package_prepend() {
diff --git a/poky/meta/recipes-kernel/perf/perf/sort-pmuevents.py b/poky/meta/recipes-kernel/perf/perf/sort-pmuevents.py
new file mode 100755
index 000000000..5ddf0f144
--- /dev/null
+++ b/poky/meta/recipes-kernel/perf/perf/sort-pmuevents.py
@@ -0,0 +1,93 @@
+#!/usr/bin/env python3
+
+# perf pmu-events sorting tool
+#
+# Copyright (C) 2021 Bruce Ashfield
+#
+# SPDX-License-Identifier: MIT
+#
+
+import sys
+import os
+import re
+from collections import OrderedDict
+
+if len(sys.argv) < 2:
+    print( "[ERROR]: input and output pmu files missing" )
+    sys.exit(1)
+
+if len(sys.argv) < 3:
+    print( "[ERROR]: output pmu file missing" )
+    sys.exit(1)
+
+infile = sys.argv[1]
+outfile = sys.argv[2]
+
+if not os.path.exists(infile):
+    print( "ERROR. input file does not exist: %s" % infile )
+    sys.exit(1)
+
+if os.path.exists(outfile):
+    print( "WARNING. output file will be overwritten: %s" % infile )
+
+with open(infile, 'r') as file:
+    data = file.read()
+
+preamble_regex = re.compile( '^(.*?)^struct', re.MULTILINE | re.DOTALL )
+
+preamble = re.search( preamble_regex, data )
+struct_block_regex = re.compile( '^struct.*?(\w+) (.*?)\[\] = {(.*?)^};', re.MULTILINE | re.DOTALL )
+field_regex =  re.compile( '{.*?},', re.MULTILINE | re.DOTALL )
+cpuid_regex = re.compile( '\.cpuid = (.*?),', re.MULTILINE | re.DOTALL )
+name_regex = re.compile( '\.name = (.*?),', re.MULTILINE | re.DOTALL )
+
+# create a dictionary structure to store all the structs, their
+# types and then their fields.
+entry_dict = {}
+for struct in re.findall( struct_block_regex, data ):
+    # print( "struct: %s %s" % (struct[0],struct[1]) )
+    entry_dict[struct[1]] = {}
+    entry_dict[struct[1]]['type'] = struct[0]
+    entry_dict[struct[1]]['fields'] = {}
+    for entry in re.findall( field_regex, struct[2] ):
+        #print( "    entry: %s" % entry )
+        cpuid = re.search( cpuid_regex, entry )
+        if cpuid:
+            #print( "    cpuid found: %s" % cpuid.group(1) )
+            entry_dict[struct[1]]['fields'][cpuid.group(1)] = entry
+            
+        name = re.search( name_regex, entry )
+        if name:
+            #print( "    name found: %s" % name.group(1) )
+            entry_dict[struct[1]]['fields'][name.group(1)] = entry
+        
+
+# created ordered dictionaries from the captured values. These are ordered by
+# a sorted() iteration of the keys. We don't care about the order we read
+# things, just the sorted order. Hency why we couldn't create these during
+# reading.
+#
+# yes, there's a more concise way to do this, but our nested dictionaries of
+# fields make it complex enough that it becomes unreadable.
+entry_dict_sorted = OrderedDict()
+for i in sorted(entry_dict.keys()):
+    entry_dict_sorted[i] = {}
+    entry_dict_sorted[i]['type'] = entry_dict[i]['type']
+    entry_dict_sorted[i]['fields'] = {}
+    for f in sorted(entry_dict[i]['fields'].keys()):
+        entry_dict_sorted[i]['fields'][f] = entry_dict[i]['fields'][f] 
+
+# dump the sorted elements to the outfile
+outf = open( outfile, 'w' )
+
+print( preamble.group(1) )
+outf.write( preamble.group(1) )
+for d in entry_dict_sorted:
+    outf.write( "struct %s %s[] = {\n" % (entry_dict_sorted[d]['type'],d) )
+    for f in entry_dict_sorted[d]['fields']:
+        outf.write( entry_dict_sorted[d]['fields'][f] + '\n' )
+
+    outf.write( "};\n" )
+
+outf.close()
+    
diff --git a/poky/meta/recipes-kernel/systemtap/systemtap-uprobes_git.bb b/poky/meta/recipes-kernel/systemtap/systemtap-uprobes_git.bb
index 46820ef48..6ee0be5e3 100644
--- a/poky/meta/recipes-kernel/systemtap/systemtap-uprobes_git.bb
+++ b/poky/meta/recipes-kernel/systemtap/systemtap-uprobes_git.bb
@@ -1,5 +1,5 @@
 SUMMARY = "UProbes kernel module for SystemTap"
-
+HOMEPAGE = "https://sourceware.org/systemtap/"
 require systemtap_git.inc
 
 DEPENDS = "systemtap virtual/kernel"
diff --git a/poky/meta/recipes-multimedia/ffmpeg/ffmpeg/0001-lavf-srt-fix-build-fail-when-used-the-libsrt-1.4.1.patch b/poky/meta/recipes-multimedia/ffmpeg/ffmpeg/0001-lavf-srt-fix-build-fail-when-used-the-libsrt-1.4.1.patch
deleted file mode 100644
index 7635c9196..000000000
--- a/poky/meta/recipes-multimedia/ffmpeg/ffmpeg/0001-lavf-srt-fix-build-fail-when-used-the-libsrt-1.4.1.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From aebb72e025cbfbd4a6765354f6f565ad4ac89789 Mon Sep 17 00:00:00 2001
-From: Jun Zhao 
-Date: Sun, 12 Jul 2020 05:48:48 +0800
-Subject: [PATCH] lavf/srt: fix build fail when used the libsrt 1.4.1
-
-lavf/srt: fix build fail when used the libsrt 1.4.1
-
-libsrt changed the:
-SRTO_SMOOTHER   -> SRTO_CONGESTION
-SRTO_STRICTENC  -> SRTO_ENFORCEDENCRYPTION
-and removed the front of deprecated options (SRTO_SMOOTHER/SRTO_STRICTENC)
-in the header, it's lead to build fail
-
-fix #8760
-
-Upstream-Status: Backport [https://github.com/FFmpeg/FFmpeg/commit/7c59e1b0f285cd7c7b35fcd71f49c5fd52cf9315]
-
-Signed-off-by: Jose Quaresma 
-Signed-off-by: Jun Zhao 
----
- libavformat/libsrt.c | 8 ++++++++
- 1 file changed, 8 insertions(+)
-
-diff --git a/libavformat/libsrt.c b/libavformat/libsrt.c
-index 4de575b..4719ce0 100644
---- a/libavformat/libsrt.c
-+++ b/libavformat/libsrt.c
-@@ -313,8 +313,12 @@ static int libsrt_set_options_pre(URLContext *h, int fd)
-         (s->pbkeylen >= 0 && libsrt_setsockopt(h, fd, SRTO_PBKEYLEN, "SRTO_PBKEYLEN", &s->pbkeylen, sizeof(s->pbkeylen)) < 0) ||
-         (s->passphrase && libsrt_setsockopt(h, fd, SRTO_PASSPHRASE, "SRTO_PASSPHRASE", s->passphrase, strlen(s->passphrase)) < 0) ||
- #if SRT_VERSION_VALUE >= 0x010302
-+#if SRT_VERSION_VALUE >= 0x010401
-+        (s->enforced_encryption >= 0 && libsrt_setsockopt(h, fd, SRTO_ENFORCEDENCRYPTION, "SRTO_ENFORCEDENCRYPTION", &s->enforced_encryption, sizeof(s->enforced_encryption)) < 0) ||
-+#else
-         /* SRTO_STRICTENC == SRTO_ENFORCEDENCRYPTION (53), but for compatibility, we used SRTO_STRICTENC */
-         (s->enforced_encryption >= 0 && libsrt_setsockopt(h, fd, SRTO_STRICTENC, "SRTO_STRICTENC", &s->enforced_encryption, sizeof(s->enforced_encryption)) < 0) ||
-+#endif
-         (s->kmrefreshrate >= 0 && libsrt_setsockopt(h, fd, SRTO_KMREFRESHRATE, "SRTO_KMREFRESHRATE", &s->kmrefreshrate, sizeof(s->kmrefreshrate)) < 0) ||
-         (s->kmpreannounce >= 0 && libsrt_setsockopt(h, fd, SRTO_KMPREANNOUNCE, "SRTO_KMPREANNOUNCE", &s->kmpreannounce, sizeof(s->kmpreannounce)) < 0) ||
- #endif
-@@ -333,7 +337,11 @@ static int libsrt_set_options_pre(URLContext *h, int fd)
-         (s->lossmaxttl >= 0 && libsrt_setsockopt(h, fd, SRTO_LOSSMAXTTL, "SRTO_LOSSMAXTTL", &s->lossmaxttl, sizeof(s->lossmaxttl)) < 0) ||
-         (s->minversion >= 0 && libsrt_setsockopt(h, fd, SRTO_MINVERSION, "SRTO_MINVERSION", &s->minversion, sizeof(s->minversion)) < 0) ||
-         (s->streamid && libsrt_setsockopt(h, fd, SRTO_STREAMID, "SRTO_STREAMID", s->streamid, strlen(s->streamid)) < 0) ||
-+#if SRT_VERSION_VALUE >= 0x010401
-+        (s->smoother && libsrt_setsockopt(h, fd, SRTO_CONGESTION, "SRTO_CONGESTION", s->smoother, strlen(s->smoother)) < 0) ||
-+#else
-         (s->smoother && libsrt_setsockopt(h, fd, SRTO_SMOOTHER, "SRTO_SMOOTHER", s->smoother, strlen(s->smoother)) < 0) ||
-+#endif
-         (s->messageapi >= 0 && libsrt_setsockopt(h, fd, SRTO_MESSAGEAPI, "SRTO_MESSAGEAPI", &s->messageapi, sizeof(s->messageapi)) < 0) ||
-         (s->payload_size >= 0 && libsrt_setsockopt(h, fd, SRTO_PAYLOADSIZE, "SRTO_PAYLOADSIZE", &s->payload_size, sizeof(s->payload_size)) < 0) ||
-         ((h->flags & AVIO_FLAG_WRITE) && libsrt_setsockopt(h, fd, SRTO_SENDER, "SRTO_SENDER", &yes, sizeof(yes)) < 0)) {
diff --git a/poky/meta/recipes-multimedia/ffmpeg/ffmpeg/CVE-2020-35964.patch b/poky/meta/recipes-multimedia/ffmpeg/ffmpeg/CVE-2020-35964.patch
deleted file mode 100644
index 6b96bd674..000000000
--- a/poky/meta/recipes-multimedia/ffmpeg/ffmpeg/CVE-2020-35964.patch
+++ /dev/null
@@ -1,75 +0,0 @@
-From 27a99e2c7d450fef15594671eef4465c8a166bd7 Mon Sep 17 00:00:00 2001
-From: Michael Niedermayer 
-Date: Wed, 28 Oct 2020 20:11:54 +0100
-Subject: [PATCH] avformat/vividas: improve extradata packing checks in
- track_header()
-
-Fixes: out of array accesses
-Fixes: 26622/clusterfuzz-testcase-minimized-ffmpeg_dem_VIVIDAS_fuzzer-6581200338288640
-
-Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
-Signed-off-by: Michael Niedermayer 
-
-Upstream-Status: Backport [https://github.com/FFmpeg/FFmpeg/commit/27a99e2c7d450fef15594671eef4465c8a166bd7]
-
-CVE: CVE-2020-35964
-
-Signed-off-by: Michael Niedermayer 
-Signed-off-by: Khairul Rohaizzat Jamaluddin 
----
- libavformat/vividas.c | 12 ++++++------
- 1 file changed, 6 insertions(+), 6 deletions(-)
-
-diff --git a/libavformat/vividas.c b/libavformat/vividas.c
-index 83d0ed116787..46c66bf9a0ae 100644
---- a/libavformat/vividas.c
-+++ b/libavformat/vividas.c
-@@ -28,6 +28,7 @@
-  * @sa http://wiki.multimedia.cx/index.php?title=Vividas_VIV
-  */
- 
-+#include "libavutil/avassert.h"
- #include "libavutil/intreadwrite.h"
- #include "avio_internal.h"
- #include "avformat.h"
-@@ -379,7 +380,7 @@ static int track_header(VividasDemuxContext *viv, AVFormatContext *s,  uint8_t *
- 
-         if (avio_tell(pb) < off) {
-             int num_data;
--            int xd_size = 0;
-+            int xd_size = 1;
-             int data_len[256];
-             int offset = 1;
-             uint8_t *p;
-@@ -393,10 +394,10 @@ static int track_header(VividasDemuxContext *viv, AVFormatContext *s,  uint8_t *
-                     return AVERROR_INVALIDDATA;
-                 }
-                 data_len[j] = len;
--                xd_size += len;
-+                xd_size += len + 1 + len/255;
-             }
- 
--            ret = ff_alloc_extradata(st->codecpar, 64 + xd_size + xd_size / 255);
-+            ret = ff_alloc_extradata(st->codecpar, xd_size);
-             if (ret < 0)
-                 return ret;
- 
-@@ -405,9 +406,7 @@ static int track_header(VividasDemuxContext *viv, AVFormatContext *s,  uint8_t *
- 
-             for (j = 0; j < num_data - 1; j++) {
-                 unsigned delta = av_xiphlacing(&p[offset], data_len[j]);
--                if (delta > data_len[j]) {
--                    return AVERROR_INVALIDDATA;
--                }
-+                av_assert0(delta <= xd_size - offset);
-                 offset += delta;
-             }
- 
-@@ -418,6 +417,7 @@ static int track_header(VividasDemuxContext *viv, AVFormatContext *s,  uint8_t *
-                     av_freep(&st->codecpar->extradata);
-                     break;
-                 }
-+                av_assert0(data_len[j] <= xd_size - offset);
-                 offset += data_len[j];
-             }
- 
diff --git a/poky/meta/recipes-multimedia/ffmpeg/ffmpeg/CVE-2020-35965.patch b/poky/meta/recipes-multimedia/ffmpeg/ffmpeg/CVE-2020-35965.patch
deleted file mode 100644
index ddab8e9ac..000000000
--- a/poky/meta/recipes-multimedia/ffmpeg/ffmpeg/CVE-2020-35965.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 3e5959b3457f7f1856d997261e6ac672bba49e8b Mon Sep 17 00:00:00 2001
-From: Michael Niedermayer 
-Date: Sat, 24 Oct 2020 22:21:48 +0200
-Subject: [PATCH] avcodec/exr: Check ymin vs. h
-
-Fixes: out of array access
-Fixes: 26532/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_EXR_fuzzer-5613925708857344
-Fixes: 27443/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_EXR_fuzzer-5631239813595136
-
-Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
-Signed-off-by: Michael Niedermayer 
-
-Upstream-Status: Backport [https://github.com/FFmpeg/FFmpeg/commit/3e5959b3457f7f1856d997261e6ac672bba49e8b]
-
-CVE: CVE-2020-35965
-
-Signed-off-by: Michael Niedermayer 
-Signed-off-by: Khairul Rohaizzat Jamaluddin 
----
- libavcodec/exr.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/libavcodec/exr.c b/libavcodec/exr.c
-index e907c5c46401..8b701d1cd298 100644
---- a/libavcodec/exr.c
-+++ b/libavcodec/exr.c
-@@ -1830,7 +1830,7 @@ static int decode_frame(AVCodecContext *avctx, void *data,
-     // Zero out the start if ymin is not 0
-     for (i = 0; i < planes; i++) {
-         ptr = picture->data[i];
--        for (y = 0; y < s->ymin; y++) {
-+        for (y = 0; y < FFMIN(s->ymin, s->h); y++) {
-             memset(ptr, 0, out_line_size);
-             ptr += picture->linesize[i];
-         }
diff --git a/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.3.1.bb b/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.3.1.bb
deleted file mode 100644
index bd2155233..000000000
--- a/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.3.1.bb
+++ /dev/null
@@ -1,173 +0,0 @@
-SUMMARY = "A complete, cross-platform solution to record, convert and stream audio and video."
-DESCRIPTION = "FFmpeg is the leading multimedia framework, able to decode, encode, transcode, \
-               mux, demux, stream, filter and play pretty much anything that humans and machines \
-               have created. It supports the most obscure ancient formats up to the cutting edge."
-HOMEPAGE = "https://www.ffmpeg.org/"
-SECTION = "libs"
-
-LICENSE = "BSD & GPLv2+ & LGPLv2.1+ & MIT"
-LICENSE_${PN} = "GPLv2+"
-LICENSE_libavcodec = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}"
-LICENSE_libavdevice = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}"
-LICENSE_libavfilter = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}"
-LICENSE_libavformat = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}"
-LICENSE_libavresample = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}"
-LICENSE_libavutil = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}"
-LICENSE_libpostproc = "GPLv2+"
-LICENSE_libswresample = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}"
-LICENSE_libswscale = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}"
-LICENSE_FLAGS = "commercial"
-
-LIC_FILES_CHKSUM = "file://COPYING.GPLv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
-                    file://COPYING.GPLv3;md5=d32239bcb673463ab874e80d47fae504 \
-                    file://COPYING.LGPLv2.1;md5=bd7a443320af8c812e4c18d1b79df004 \
-                    file://COPYING.LGPLv3;md5=e6a600fd5e1d9cbde2d983680233ad02"
-
-SRC_URI = "https://www.ffmpeg.org/releases/${BP}.tar.xz \
-           file://mips64_cpu_detection.patch \
-           file://0001-lavf-srt-fix-build-fail-when-used-the-libsrt-1.4.1.patch \
-           file://0001-libavutil-include-assembly-with-full-path-from-sourc.patch \
-           file://CVE-2020-35964.patch \
-           file://CVE-2020-35965.patch \
-           "
-SRC_URI[sha256sum] = "ad009240d46e307b4e03a213a0f49c11b650e445b1f8be0dda2a9212b34d2ffb"
-
-# Build fails when thumb is enabled: https://bugzilla.yoctoproject.org/show_bug.cgi?id=7717
-ARM_INSTRUCTION_SET_armv4 = "arm"
-ARM_INSTRUCTION_SET_armv5 = "arm"
-ARM_INSTRUCTION_SET_armv6 = "arm"
-
-# Should be API compatible with libav (which was a fork of ffmpeg)
-# libpostproc was previously packaged from a separate recipe
-PROVIDES = "libav libpostproc"
-
-DEPENDS = "nasm-native"
-
-inherit autotools pkgconfig
-
-PACKAGECONFIG ??= "avdevice avfilter avcodec avformat swresample swscale postproc avresample \
-                   alsa bzlib gpl lzma pic pthreads shared theora x264 zlib \
-                   ${@bb.utils.contains('AVAILTUNES', 'mips32r2', 'mips32r2', '', d)} \
-                   ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'xv xcb', '', d)}"
-
-# libraries to build in addition to avutil
-PACKAGECONFIG[avdevice] = "--enable-avdevice,--disable-avdevice"
-PACKAGECONFIG[avfilter] = "--enable-avfilter,--disable-avfilter"
-PACKAGECONFIG[avcodec] = "--enable-avcodec,--disable-avcodec"
-PACKAGECONFIG[avformat] = "--enable-avformat,--disable-avformat"
-PACKAGECONFIG[swresample] = "--enable-swresample,--disable-swresample"
-PACKAGECONFIG[swscale] = "--enable-swscale,--disable-swscale"
-PACKAGECONFIG[postproc] = "--enable-postproc,--disable-postproc"
-PACKAGECONFIG[avresample] = "--enable-avresample,--disable-avresample"
-
-# features to support
-PACKAGECONFIG[alsa] = "--enable-alsa,--disable-alsa,alsa-lib"
-PACKAGECONFIG[altivec] = "--enable-altivec,--disable-altivec,"
-PACKAGECONFIG[bzlib] = "--enable-bzlib,--disable-bzlib,bzip2"
-PACKAGECONFIG[fdk-aac] = "--enable-libfdk-aac --enable-nonfree,--disable-libfdk-aac,fdk-aac"
-PACKAGECONFIG[gpl] = "--enable-gpl,--disable-gpl"
-PACKAGECONFIG[gsm] = "--enable-libgsm,--disable-libgsm,libgsm"
-PACKAGECONFIG[jack] = "--enable-indev=jack,--disable-indev=jack,jack"
-PACKAGECONFIG[libvorbis] = "--enable-libvorbis,--disable-libvorbis,libvorbis"
-PACKAGECONFIG[lzma] = "--enable-lzma,--disable-lzma,xz"
-PACKAGECONFIG[mfx] = "--enable-libmfx,--disable-libmfx,intel-mediasdk"
-PACKAGECONFIG[mp3lame] = "--enable-libmp3lame,--disable-libmp3lame,lame"
-PACKAGECONFIG[openssl] = "--enable-openssl,--disable-openssl,openssl"
-PACKAGECONFIG[sdl2] = "--enable-sdl2,--disable-sdl2,virtual/libsdl2"
-PACKAGECONFIG[speex] = "--enable-libspeex,--disable-libspeex,speex"
-PACKAGECONFIG[srt] = "--enable-libsrt,--disable-libsrt,srt"
-PACKAGECONFIG[theora] = "--enable-libtheora,--disable-libtheora,libtheora libogg"
-PACKAGECONFIG[vaapi] = "--enable-vaapi,--disable-vaapi,libva"
-PACKAGECONFIG[vdpau] = "--enable-vdpau,--disable-vdpau,libvdpau"
-PACKAGECONFIG[vpx] = "--enable-libvpx,--disable-libvpx,libvpx"
-PACKAGECONFIG[x264] = "--enable-libx264,--disable-libx264,x264"
-PACKAGECONFIG[x265] = "--enable-libx265,--disable-libx265,x265"
-PACKAGECONFIG[xcb] = "--enable-libxcb,--disable-libxcb,libxcb"
-PACKAGECONFIG[xv] = "--enable-outdev=xv,--disable-outdev=xv,libxv"
-PACKAGECONFIG[zlib] = "--enable-zlib,--disable-zlib,zlib"
-
-# other configuration options
-PACKAGECONFIG[mips32r2] = ",--disable-mipsdsp --disable-mipsdspr2"
-PACKAGECONFIG[pic] = "--enable-pic"
-PACKAGECONFIG[pthreads] = "--enable-pthreads,--disable-pthreads"
-PACKAGECONFIG[shared] = "--enable-shared"
-PACKAGECONFIG[strip] = ",--disable-stripping"
-
-# Check codecs that require --enable-nonfree
-USE_NONFREE = "${@bb.utils.contains_any('PACKAGECONFIG', [ 'openssl' ], 'yes', '', d)}"
-
-def cpu(d):
-    for arg in (d.getVar('TUNE_CCARGS') or '').split():
-        if arg.startswith('-mcpu='):
-            return arg[6:]
-    return 'generic'
-
-EXTRA_OECONF = " \
-    ${@bb.utils.contains('USE_NONFREE', 'yes', '--enable-nonfree', '', d)} \
-    \
-    --cross-prefix=${TARGET_PREFIX} \
-    \
-    --ld="${CCLD}" \
-    --cc="${CC}" \
-    --cxx="${CXX}" \
-    --arch=${TARGET_ARCH} \
-    --target-os="linux" \
-    --enable-cross-compile \
-    --extra-cflags="${CFLAGS} ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}" \
-    --extra-ldflags="${LDFLAGS}" \
-    --sysroot="${STAGING_DIR_TARGET}" \
-    ${EXTRA_FFCONF} \
-    --libdir=${libdir} \
-    --shlibdir=${libdir} \
-    --datadir=${datadir}/ffmpeg \
-    --cpu=${@cpu(d)} \
-    --pkg-config=pkg-config \
-"
-
-EXTRA_OECONF_append_linux-gnux32 = " --disable-asm"
-# gold crashes on x86, another solution is to --disable-asm but thats more hacky
-# ld.gold: internal error in relocate_section, at ../../gold/i386.cc:3684
-
-LDFLAGS_append_x86 = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}"
-
-EXTRA_OEMAKE = "V=1"
-
-do_configure() {
-    ${S}/configure ${EXTRA_OECONF}
-}
-
-# patch out build host paths for reproducibility
-do_compile_prepend_class-target() {
-        sed -i -e "s,${WORKDIR},,g" ${B}/config.h
-}
-
-PACKAGES =+ "libavcodec \
-             libavdevice \
-             libavfilter \
-             libavformat \
-             libavresample \
-             libavutil \
-             libpostproc \
-             libswresample \
-             libswscale"
-
-FILES_libavcodec = "${libdir}/libavcodec${SOLIBS}"
-FILES_libavdevice = "${libdir}/libavdevice${SOLIBS}"
-FILES_libavfilter = "${libdir}/libavfilter${SOLIBS}"
-FILES_libavformat = "${libdir}/libavformat${SOLIBS}"
-FILES_libavresample = "${libdir}/libavresample${SOLIBS}"
-FILES_libavutil = "${libdir}/libavutil${SOLIBS}"
-FILES_libpostproc = "${libdir}/libpostproc${SOLIBS}"
-FILES_libswresample = "${libdir}/libswresample${SOLIBS}"
-FILES_libswscale = "${libdir}/libswscale${SOLIBS}"
-
-# ffmpeg disables PIC on some platforms (e.g. x86-32)
-INSANE_SKIP_${MLPREFIX}libavcodec = "textrel"
-INSANE_SKIP_${MLPREFIX}libavdevice = "textrel"
-INSANE_SKIP_${MLPREFIX}libavfilter = "textrel"
-INSANE_SKIP_${MLPREFIX}libavformat = "textrel"
-INSANE_SKIP_${MLPREFIX}libavutil = "textrel"
-INSANE_SKIP_${MLPREFIX}libavresample = "textrel"
-INSANE_SKIP_${MLPREFIX}libswscale = "textrel"
-INSANE_SKIP_${MLPREFIX}libswresample = "textrel"
-INSANE_SKIP_${MLPREFIX}libpostproc = "textrel"
diff --git a/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.3.2.bb b/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.3.2.bb
new file mode 100644
index 000000000..08be38ca5
--- /dev/null
+++ b/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.3.2.bb
@@ -0,0 +1,170 @@
+SUMMARY = "A complete, cross-platform solution to record, convert and stream audio and video."
+DESCRIPTION = "FFmpeg is the leading multimedia framework, able to decode, encode, transcode, \
+               mux, demux, stream, filter and play pretty much anything that humans and machines \
+               have created. It supports the most obscure ancient formats up to the cutting edge."
+HOMEPAGE = "https://www.ffmpeg.org/"
+SECTION = "libs"
+
+LICENSE = "BSD & GPLv2+ & LGPLv2.1+ & MIT"
+LICENSE_${PN} = "GPLv2+"
+LICENSE_libavcodec = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}"
+LICENSE_libavdevice = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}"
+LICENSE_libavfilter = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}"
+LICENSE_libavformat = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}"
+LICENSE_libavresample = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}"
+LICENSE_libavutil = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}"
+LICENSE_libpostproc = "GPLv2+"
+LICENSE_libswresample = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}"
+LICENSE_libswscale = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}"
+LICENSE_FLAGS = "commercial"
+
+LIC_FILES_CHKSUM = "file://COPYING.GPLv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+                    file://COPYING.GPLv3;md5=d32239bcb673463ab874e80d47fae504 \
+                    file://COPYING.LGPLv2.1;md5=bd7a443320af8c812e4c18d1b79df004 \
+                    file://COPYING.LGPLv3;md5=e6a600fd5e1d9cbde2d983680233ad02"
+
+SRC_URI = "https://www.ffmpeg.org/releases/${BP}.tar.xz \
+           file://mips64_cpu_detection.patch \
+           file://0001-libavutil-include-assembly-with-full-path-from-sourc.patch \
+           "
+SRC_URI[sha256sum] = "46e4e64f1dd0233cbc0934b9f1c0da676008cad34725113fb7f802cfa84ccddb"
+
+# Build fails when thumb is enabled: https://bugzilla.yoctoproject.org/show_bug.cgi?id=7717
+ARM_INSTRUCTION_SET_armv4 = "arm"
+ARM_INSTRUCTION_SET_armv5 = "arm"
+ARM_INSTRUCTION_SET_armv6 = "arm"
+
+# Should be API compatible with libav (which was a fork of ffmpeg)
+# libpostproc was previously packaged from a separate recipe
+PROVIDES = "libav libpostproc"
+
+DEPENDS = "nasm-native"
+
+inherit autotools pkgconfig
+
+PACKAGECONFIG ??= "avdevice avfilter avcodec avformat swresample swscale postproc avresample \
+                   alsa bzlib lzma pic pthreads shared theora zlib \
+                   ${@bb.utils.contains('AVAILTUNES', 'mips32r2', 'mips32r2', '', d)} \
+                   ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'xv xcb', '', d)}"
+
+# libraries to build in addition to avutil
+PACKAGECONFIG[avdevice] = "--enable-avdevice,--disable-avdevice"
+PACKAGECONFIG[avfilter] = "--enable-avfilter,--disable-avfilter"
+PACKAGECONFIG[avcodec] = "--enable-avcodec,--disable-avcodec"
+PACKAGECONFIG[avformat] = "--enable-avformat,--disable-avformat"
+PACKAGECONFIG[swresample] = "--enable-swresample,--disable-swresample"
+PACKAGECONFIG[swscale] = "--enable-swscale,--disable-swscale"
+PACKAGECONFIG[postproc] = "--enable-postproc,--disable-postproc"
+PACKAGECONFIG[avresample] = "--enable-avresample,--disable-avresample"
+
+# features to support
+PACKAGECONFIG[alsa] = "--enable-alsa,--disable-alsa,alsa-lib"
+PACKAGECONFIG[altivec] = "--enable-altivec,--disable-altivec,"
+PACKAGECONFIG[bzlib] = "--enable-bzlib,--disable-bzlib,bzip2"
+PACKAGECONFIG[fdk-aac] = "--enable-libfdk-aac --enable-nonfree,--disable-libfdk-aac,fdk-aac"
+PACKAGECONFIG[gpl] = "--enable-gpl,--disable-gpl"
+PACKAGECONFIG[gsm] = "--enable-libgsm,--disable-libgsm,libgsm"
+PACKAGECONFIG[jack] = "--enable-indev=jack,--disable-indev=jack,jack"
+PACKAGECONFIG[libvorbis] = "--enable-libvorbis,--disable-libvorbis,libvorbis"
+PACKAGECONFIG[lzma] = "--enable-lzma,--disable-lzma,xz"
+PACKAGECONFIG[mfx] = "--enable-libmfx,--disable-libmfx,intel-mediasdk"
+PACKAGECONFIG[mp3lame] = "--enable-libmp3lame,--disable-libmp3lame,lame"
+PACKAGECONFIG[openssl] = "--enable-openssl,--disable-openssl,openssl"
+PACKAGECONFIG[sdl2] = "--enable-sdl2,--disable-sdl2,virtual/libsdl2"
+PACKAGECONFIG[speex] = "--enable-libspeex,--disable-libspeex,speex"
+PACKAGECONFIG[srt] = "--enable-libsrt,--disable-libsrt,srt"
+PACKAGECONFIG[theora] = "--enable-libtheora,--disable-libtheora,libtheora libogg"
+PACKAGECONFIG[vaapi] = "--enable-vaapi,--disable-vaapi,libva"
+PACKAGECONFIG[vdpau] = "--enable-vdpau,--disable-vdpau,libvdpau"
+PACKAGECONFIG[vpx] = "--enable-libvpx,--disable-libvpx,libvpx"
+PACKAGECONFIG[x264] = "--enable-libx264,--disable-libx264,x264"
+PACKAGECONFIG[x265] = "--enable-libx265,--disable-libx265,x265"
+PACKAGECONFIG[xcb] = "--enable-libxcb,--disable-libxcb,libxcb"
+PACKAGECONFIG[xv] = "--enable-outdev=xv,--disable-outdev=xv,libxv"
+PACKAGECONFIG[zlib] = "--enable-zlib,--disable-zlib,zlib"
+
+# other configuration options
+PACKAGECONFIG[mips32r2] = ",--disable-mipsdsp --disable-mipsdspr2"
+PACKAGECONFIG[pic] = "--enable-pic"
+PACKAGECONFIG[pthreads] = "--enable-pthreads,--disable-pthreads"
+PACKAGECONFIG[shared] = "--enable-shared"
+PACKAGECONFIG[strip] = ",--disable-stripping"
+
+# Check codecs that require --enable-nonfree
+USE_NONFREE = "${@bb.utils.contains_any('PACKAGECONFIG', [ 'openssl' ], 'yes', '', d)}"
+
+def cpu(d):
+    for arg in (d.getVar('TUNE_CCARGS') or '').split():
+        if arg.startswith('-mcpu='):
+            return arg[6:]
+    return 'generic'
+
+EXTRA_OECONF = " \
+    ${@bb.utils.contains('USE_NONFREE', 'yes', '--enable-nonfree', '', d)} \
+    \
+    --cross-prefix=${TARGET_PREFIX} \
+    \
+    --ld="${CCLD}" \
+    --cc="${CC}" \
+    --cxx="${CXX}" \
+    --arch=${TARGET_ARCH} \
+    --target-os="linux" \
+    --enable-cross-compile \
+    --extra-cflags="${CFLAGS} ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}" \
+    --extra-ldflags="${LDFLAGS}" \
+    --sysroot="${STAGING_DIR_TARGET}" \
+    ${EXTRA_FFCONF} \
+    --libdir=${libdir} \
+    --shlibdir=${libdir} \
+    --datadir=${datadir}/ffmpeg \
+    --cpu=${@cpu(d)} \
+    --pkg-config=pkg-config \
+"
+
+EXTRA_OECONF_append_linux-gnux32 = " --disable-asm"
+# gold crashes on x86, another solution is to --disable-asm but thats more hacky
+# ld.gold: internal error in relocate_section, at ../../gold/i386.cc:3684
+
+LDFLAGS_append_x86 = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}"
+
+EXTRA_OEMAKE = "V=1"
+
+do_configure() {
+    ${S}/configure ${EXTRA_OECONF}
+}
+
+# patch out build host paths for reproducibility
+do_compile_prepend_class-target() {
+        sed -i -e "s,${WORKDIR},,g" ${B}/config.h
+}
+
+PACKAGES =+ "libavcodec \
+             libavdevice \
+             libavfilter \
+             libavformat \
+             libavresample \
+             libavutil \
+             libpostproc \
+             libswresample \
+             libswscale"
+
+FILES_libavcodec = "${libdir}/libavcodec${SOLIBS}"
+FILES_libavdevice = "${libdir}/libavdevice${SOLIBS}"
+FILES_libavfilter = "${libdir}/libavfilter${SOLIBS}"
+FILES_libavformat = "${libdir}/libavformat${SOLIBS}"
+FILES_libavresample = "${libdir}/libavresample${SOLIBS}"
+FILES_libavutil = "${libdir}/libavutil${SOLIBS}"
+FILES_libpostproc = "${libdir}/libpostproc${SOLIBS}"
+FILES_libswresample = "${libdir}/libswresample${SOLIBS}"
+FILES_libswscale = "${libdir}/libswscale${SOLIBS}"
+
+# ffmpeg disables PIC on some platforms (e.g. x86-32)
+INSANE_SKIP_${MLPREFIX}libavcodec = "textrel"
+INSANE_SKIP_${MLPREFIX}libavdevice = "textrel"
+INSANE_SKIP_${MLPREFIX}libavfilter = "textrel"
+INSANE_SKIP_${MLPREFIX}libavformat = "textrel"
+INSANE_SKIP_${MLPREFIX}libavutil = "textrel"
+INSANE_SKIP_${MLPREFIX}libavresample = "textrel"
+INSANE_SKIP_${MLPREFIX}libswscale = "textrel"
+INSANE_SKIP_${MLPREFIX}libswresample = "textrel"
+INSANE_SKIP_${MLPREFIX}libpostproc = "textrel"
diff --git a/poky/meta/recipes-multimedia/gstreamer/gst-devtools_1.18.3.bb b/poky/meta/recipes-multimedia/gstreamer/gst-devtools_1.18.3.bb
deleted file mode 100644
index bad992175..000000000
--- a/poky/meta/recipes-multimedia/gstreamer/gst-devtools_1.18.3.bb
+++ /dev/null
@@ -1,49 +0,0 @@
-SUMMARY = "Gstreamer validation tool"
-DESCRIPTION = "A Tool to test GStreamer components"
-HOMEPAGE = "https://gstreamer.freedesktop.org/documentation/gst-devtools/index.html"
-SECTION = "multimedia"
-
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://validate/COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343"
-
-#S = "${WORKDIR}/gst-devtools-${PV}"
-
-SRC_URI = "https://gstreamer.freedesktop.org/src/gst-devtools/gst-devtools-${PV}.tar.xz \
-           file://0001-connect-has-a-different-signature-on-musl.patch \
-           "
-
-SRC_URI[sha256sum] = "3025fee3607caf5069154c099533785675916e044ee92c936bbeacdda3750f26"
-
-DEPENDS = "json-glib glib-2.0 glib-2.0-native gstreamer1.0 gstreamer1.0-plugins-base"
-RRECOMMENDS_${PN} = "git"
-
-FILES_${PN} += "${datadir}/gstreamer-1.0/* ${libdir}/gst-validate-launcher/* ${libdir}/gstreamer-1.0/*"
-
-inherit meson pkgconfig gettext upstream-version-is-even gobject-introspection
-
-# TODO: put this in a gettext.bbclass patch
-def gettext_oemeson(d):
-    if d.getVar('USE_NLS') == 'no':
-        return '-Dnls=disabled'
-    # Remove the NLS bits if USE_NLS is no or INHIBIT_DEFAULT_DEPS is set
-    if d.getVar('INHIBIT_DEFAULT_DEPS') and not oe.utils.inherits(d, 'cross-canadian'):
-        return '-Dnls=disabled'
-    return '-Dnls=enabled'
-
-EXTRA_OEMESON += " \
-    -Ddoc=disabled \
-    -Ddebug_viewer=disabled \
-    -Dtests=disabled \
-    -Dvalidate=enabled \
-    ${@gettext_oemeson(d)} \
-"
-
-do_install_append () {
-     for fn in ${bindir}/gst-validate-launcher \
-         ${libdir}/gst-validate-launcher/python/launcher/config.py; do
-             sed -i -e 's,${B},/usr/src/debug/${PN},g' -e 's,${S},/usr/src/debug/${PN},g' ${D}$fn
-     done
-}
-
-GIR_MESON_ENABLE_FLAG = "enabled"
-GIR_MESON_DISABLE_FLAG = "disabled"
diff --git a/poky/meta/recipes-multimedia/gstreamer/gst-devtools_1.18.4.bb b/poky/meta/recipes-multimedia/gstreamer/gst-devtools_1.18.4.bb
new file mode 100644
index 000000000..2a56967f7
--- /dev/null
+++ b/poky/meta/recipes-multimedia/gstreamer/gst-devtools_1.18.4.bb
@@ -0,0 +1,49 @@
+SUMMARY = "Gstreamer validation tool"
+DESCRIPTION = "A Tool to test GStreamer components"
+HOMEPAGE = "https://gstreamer.freedesktop.org/documentation/gst-devtools/index.html"
+SECTION = "multimedia"
+
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://validate/COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343"
+
+#S = "${WORKDIR}/gst-devtools-${PV}"
+
+SRC_URI = "https://gstreamer.freedesktop.org/src/gst-devtools/gst-devtools-${PV}.tar.xz \
+           file://0001-connect-has-a-different-signature-on-musl.patch \
+           "
+
+SRC_URI[sha256sum] = "ffbd194c40912cb5e7fca2863648bf9dd8257b7af97d3a60c4fcd4efd8526ccf"
+
+DEPENDS = "json-glib glib-2.0 glib-2.0-native gstreamer1.0 gstreamer1.0-plugins-base"
+RRECOMMENDS_${PN} = "git"
+
+FILES_${PN} += "${datadir}/gstreamer-1.0/* ${libdir}/gst-validate-launcher/* ${libdir}/gstreamer-1.0/*"
+
+inherit meson pkgconfig gettext upstream-version-is-even gobject-introspection
+
+# TODO: put this in a gettext.bbclass patch
+def gettext_oemeson(d):
+    if d.getVar('USE_NLS') == 'no':
+        return '-Dnls=disabled'
+    # Remove the NLS bits if USE_NLS is no or INHIBIT_DEFAULT_DEPS is set
+    if d.getVar('INHIBIT_DEFAULT_DEPS') and not oe.utils.inherits(d, 'cross-canadian'):
+        return '-Dnls=disabled'
+    return '-Dnls=enabled'
+
+EXTRA_OEMESON += " \
+    -Ddoc=disabled \
+    -Ddebug_viewer=disabled \
+    -Dtests=disabled \
+    -Dvalidate=enabled \
+    ${@gettext_oemeson(d)} \
+"
+
+do_install_append () {
+     for fn in ${bindir}/gst-validate-launcher \
+         ${libdir}/gst-validate-launcher/python/launcher/config.py; do
+             sed -i -e 's,${B},/usr/src/debug/${PN},g' -e 's,${S},/usr/src/debug/${PN},g' ${D}$fn
+     done
+}
+
+GIR_MESON_ENABLE_FLAG = "enabled"
+GIR_MESON_DISABLE_FLAG = "disabled"
diff --git a/poky/meta/recipes-multimedia/gstreamer/gst-examples_1.18.3.bb b/poky/meta/recipes-multimedia/gstreamer/gst-examples_1.18.3.bb
deleted file mode 100644
index b49201fb0..000000000
--- a/poky/meta/recipes-multimedia/gstreamer/gst-examples_1.18.3.bb
+++ /dev/null
@@ -1,35 +0,0 @@
-SUMMARY = "GStreamer examples (including gtk-play, gst-play)"
-DESCRIPTION = "GStreamer example applications"
-HOMEPAGE = "https://gitlab.freedesktop.org/gstreamer/gst-examples"
-BUGTRACKER = "https://gitlab.freedesktop.org/gstreamer/gst-examples/-/issues"
-LICENSE = "LGPL-2.0+"
-LIC_FILES_CHKSUM = "file://playback/player/gtk/gtk-play.c;beginline=1;endline=20;md5=f8c72dae3d36823ec716a9ebcae593b9"
-
-DEPENDS = "glib-2.0 gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad gtk+3 libsoup-2.4 json-glib glib-2.0-native"
-
-SRC_URI = "git://gitlab.freedesktop.org/gstreamer/gst-examples.git;protocol=https;branch=1.18 \
-           file://0001-Make-player-examples-installable.patch \
-           file://gst-player.desktop \
-           "
-
-SRCREV = "06599904baa5d0e47b5cb9501372156567760f8e"
-
-S = "${WORKDIR}/git"
-
-inherit meson pkgconfig features_check
-
-UPSTREAM_CHECK_GITTAGREGEX = "(?P\d+\.(\d*[02468])+(\.\d+)+)"
-
-ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
-
-do_install_append() {
-	install -m 0644 -D ${WORKDIR}/gst-player.desktop ${D}${datadir}/applications/gst-player.desktop
-}
-
-RDEPENDS_${PN} = "gstreamer1.0-plugins-base-playback"
-RRECOMMENDS_${PN} = "gstreamer1.0-plugins-base-meta \
-                     gstreamer1.0-plugins-good-meta \
-                     gstreamer1.0-plugins-bad-meta \
-                      ${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", "gstreamer1.0-libav", "", d)} \
-                     ${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", "gstreamer1.0-plugins-ugly-meta", "", d)}"
-RPROVIDES_${PN} += "gst-player gst-player-bin"
diff --git a/poky/meta/recipes-multimedia/gstreamer/gst-examples_1.18.4.bb b/poky/meta/recipes-multimedia/gstreamer/gst-examples_1.18.4.bb
new file mode 100644
index 000000000..4670ab34d
--- /dev/null
+++ b/poky/meta/recipes-multimedia/gstreamer/gst-examples_1.18.4.bb
@@ -0,0 +1,35 @@
+SUMMARY = "GStreamer examples (including gtk-play, gst-play)"
+DESCRIPTION = "GStreamer example applications"
+HOMEPAGE = "https://gitlab.freedesktop.org/gstreamer/gst-examples"
+BUGTRACKER = "https://gitlab.freedesktop.org/gstreamer/gst-examples/-/issues"
+LICENSE = "LGPL-2.0+"
+LIC_FILES_CHKSUM = "file://playback/player/gtk/gtk-play.c;beginline=1;endline=20;md5=f8c72dae3d36823ec716a9ebcae593b9"
+
+DEPENDS = "glib-2.0 gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad gtk+3 libsoup-2.4 json-glib glib-2.0-native"
+
+SRC_URI = "git://gitlab.freedesktop.org/gstreamer/gst-examples.git;protocol=https;branch=1.18 \
+           file://0001-Make-player-examples-installable.patch \
+           file://gst-player.desktop \
+           "
+
+SRCREV = "959bb246a5b1f5f9c78557da11c3f22b42ff89c0"
+
+S = "${WORKDIR}/git"
+
+inherit meson pkgconfig features_check
+
+UPSTREAM_CHECK_GITTAGREGEX = "(?P\d+\.(\d*[02468])+(\.\d+)+)"
+
+ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
+
+do_install_append() {
+	install -m 0644 -D ${WORKDIR}/gst-player.desktop ${D}${datadir}/applications/gst-player.desktop
+}
+
+RDEPENDS_${PN} = "gstreamer1.0-plugins-base-playback"
+RRECOMMENDS_${PN} = "gstreamer1.0-plugins-base-meta \
+                     gstreamer1.0-plugins-good-meta \
+                     gstreamer1.0-plugins-bad-meta \
+                      ${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", "gstreamer1.0-libav", "", d)} \
+                     ${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", "gstreamer1.0-plugins-ugly-meta", "", d)}"
+RPROVIDES_${PN} += "gst-player gst-player-bin"
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.18.3.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.18.3.bb
deleted file mode 100644
index baf87fd87..000000000
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.18.3.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-SUMMARY = "Libav-based GStreamer 1.x plugin"
-DESCRIPTION = "Contains a GStreamer plugin for using the encoders, decoders, \
-muxers, and demuxers provided by FFmpeg."
-HOMEPAGE = "http://gstreamer.freedesktop.org/"
-SECTION = "multimedia"
-
-# ffmpeg has comercial license flags so add it as we need ffmpeg as a dependency
-LICENSE_FLAGS = "commercial"
-LICENSE = "LGPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=6762ed442b3822387a51c92d928ead0d \
-                    file://ext/libav/gstav.h;beginline=1;endline=18;md5=a752c35267d8276fd9ca3db6994fca9c \
-                    "
-
-SRC_URI = "https://gstreamer.freedesktop.org/src/gst-libav/gst-libav-${PV}.tar.xz"
-SRC_URI[sha256sum] = "ad20546bcd78ac1e7cf194666d73c4f33efeb62647d2b6af22993b540699e91c"
-
-S = "${WORKDIR}/gst-libav-${PV}"
-
-DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base ffmpeg"
-
-inherit meson pkgconfig upstream-version-is-even
-
-FILES_${PN} += "${libdir}/gstreamer-1.0/*.so"
-FILES_${PN}-staticdev += "${libdir}/gstreamer-1.0/*.a"
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.18.4.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.18.4.bb
new file mode 100644
index 000000000..6a84f92f3
--- /dev/null
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.18.4.bb
@@ -0,0 +1,24 @@
+SUMMARY = "Libav-based GStreamer 1.x plugin"
+DESCRIPTION = "Contains a GStreamer plugin for using the encoders, decoders, \
+muxers, and demuxers provided by FFmpeg."
+HOMEPAGE = "http://gstreamer.freedesktop.org/"
+SECTION = "multimedia"
+
+# ffmpeg has comercial license flags so add it as we need ffmpeg as a dependency
+LICENSE_FLAGS = "commercial"
+LICENSE = "LGPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=6762ed442b3822387a51c92d928ead0d \
+                    file://ext/libav/gstav.h;beginline=1;endline=18;md5=a752c35267d8276fd9ca3db6994fca9c \
+                    "
+
+SRC_URI = "https://gstreamer.freedesktop.org/src/gst-libav/gst-libav-${PV}.tar.xz"
+SRC_URI[sha256sum] = "344a463badca216c2cef6ee36f9510c190862bdee48dc4591c0a430df7e8c396"
+
+S = "${WORKDIR}/gst-libav-${PV}"
+
+DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base ffmpeg"
+
+inherit meson pkgconfig upstream-version-is-even
+
+FILES_${PN} += "${libdir}/gstreamer-1.0/*.so"
+FILES_${PN}-staticdev += "${libdir}/gstreamer-1.0/*.a"
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.18.3.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.18.3.bb
deleted file mode 100644
index d55f45ac6..000000000
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.18.3.bb
+++ /dev/null
@@ -1,47 +0,0 @@
-SUMMARY = "OpenMAX IL plugins for GStreamer"
-DESCRIPTION = "Wraps available OpenMAX IL components and makes them available as standard GStreamer elements."
-HOMEPAGE = "http://gstreamer.freedesktop.org/"
-SECTION = "multimedia"
-
-LICENSE = "LGPLv2.1"
-LICENSE_FLAGS = "commercial"
-LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \
-                    file://omx/gstomx.h;beginline=1;endline=21;md5=5c8e1fca32704488e76d2ba9ddfa935f"
-
-SRC_URI = "https://gstreamer.freedesktop.org/src/gst-omx/gst-omx-${PV}.tar.xz"
-
-SRC_URI[sha256sum] = "ed0f26504e9a60e15055134410f156e40952336410f2a59bdbbda45e61e8b93f"
-
-S = "${WORKDIR}/gst-omx-${PV}"
-
-DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad virtual/libomxil"
-
-inherit meson pkgconfig upstream-version-is-even
-
-GSTREAMER_1_0_OMX_TARGET ?= "bellagio"
-GSTREAMER_1_0_OMX_CORE_NAME ?= "${libdir}/libomxil-bellagio.so.0"
-
-EXTRA_OEMESON += "-Dtarget=${GSTREAMER_1_0_OMX_TARGET}"
-
-python __anonymous () {
-    omx_target = d.getVar("GSTREAMER_1_0_OMX_TARGET")
-    if omx_target in ['generic', 'bellagio']:
-        # Bellagio headers are incomplete (they are missing the OMX_VERSION_MAJOR,#
-        # OMX_VERSION_MINOR, OMX_VERSION_REVISION, and OMX_VERSION_STEP macros);
-        # appending a directory path to gst-omx' internal OpenMAX IL headers fixes this
-        d.appendVar("CFLAGS", " -I${S}/omx/openmax")
-    elif omx_target == "rpi":
-        # Dedicated Raspberry Pi OpenMAX IL support makes this package machine specific
-        d.setVar("PACKAGE_ARCH", d.getVar("MACHINE_ARCH"))
-}
-
-set_omx_core_name() {
-	sed -i -e "s;^core-name=.*;core-name=${GSTREAMER_1_0_OMX_CORE_NAME};" "${D}${sysconfdir}/xdg/gstomx.conf"
-}
-do_install[postfuncs] += " set_omx_core_name "
-
-FILES_${PN} += "${libdir}/gstreamer-1.0/*.so"
-FILES_${PN}-staticdev += "${libdir}/gstreamer-1.0/*.a"
-
-VIRTUAL-RUNTIME_libomxil ?= "libomxil"
-RDEPENDS_${PN} = "${VIRTUAL-RUNTIME_libomxil}"
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.18.4.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.18.4.bb
new file mode 100644
index 000000000..d38be035f
--- /dev/null
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.18.4.bb
@@ -0,0 +1,47 @@
+SUMMARY = "OpenMAX IL plugins for GStreamer"
+DESCRIPTION = "Wraps available OpenMAX IL components and makes them available as standard GStreamer elements."
+HOMEPAGE = "http://gstreamer.freedesktop.org/"
+SECTION = "multimedia"
+
+LICENSE = "LGPLv2.1"
+LICENSE_FLAGS = "commercial"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \
+                    file://omx/gstomx.h;beginline=1;endline=21;md5=5c8e1fca32704488e76d2ba9ddfa935f"
+
+SRC_URI = "https://gstreamer.freedesktop.org/src/gst-omx/gst-omx-${PV}.tar.xz"
+
+SRC_URI[sha256sum] = "e35051cf891eb2f31d6fcf176ff37d985f97f33874ac31b0b3ad3b5b95035043"
+
+S = "${WORKDIR}/gst-omx-${PV}"
+
+DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad virtual/libomxil"
+
+inherit meson pkgconfig upstream-version-is-even
+
+GSTREAMER_1_0_OMX_TARGET ?= "bellagio"
+GSTREAMER_1_0_OMX_CORE_NAME ?= "${libdir}/libomxil-bellagio.so.0"
+
+EXTRA_OEMESON += "-Dtarget=${GSTREAMER_1_0_OMX_TARGET}"
+
+python __anonymous () {
+    omx_target = d.getVar("GSTREAMER_1_0_OMX_TARGET")
+    if omx_target in ['generic', 'bellagio']:
+        # Bellagio headers are incomplete (they are missing the OMX_VERSION_MAJOR,#
+        # OMX_VERSION_MINOR, OMX_VERSION_REVISION, and OMX_VERSION_STEP macros);
+        # appending a directory path to gst-omx' internal OpenMAX IL headers fixes this
+        d.appendVar("CFLAGS", " -I${S}/omx/openmax")
+    elif omx_target == "rpi":
+        # Dedicated Raspberry Pi OpenMAX IL support makes this package machine specific
+        d.setVar("PACKAGE_ARCH", d.getVar("MACHINE_ARCH"))
+}
+
+set_omx_core_name() {
+	sed -i -e "s;^core-name=.*;core-name=${GSTREAMER_1_0_OMX_CORE_NAME};" "${D}${sysconfdir}/xdg/gstomx.conf"
+}
+do_install[postfuncs] += " set_omx_core_name "
+
+FILES_${PN} += "${libdir}/gstreamer-1.0/*.so"
+FILES_${PN}-staticdev += "${libdir}/gstreamer-1.0/*.a"
+
+VIRTUAL-RUNTIME_libomxil ?= "libomxil"
+RDEPENDS_${PN} = "${VIRTUAL-RUNTIME_libomxil}"
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.18.3.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.18.3.bb
deleted file mode 100644
index b1e3664cb..000000000
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.18.3.bb
+++ /dev/null
@@ -1,151 +0,0 @@
-require gstreamer1.0-plugins-common.inc
-
-DESCRIPTION = "'Bad' GStreamer plugins and helper libraries "
-HOMEPAGE = "https://gstreamer.freedesktop.org/"
-BUGTRACKER = "https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues"
-
-SRC_URI = "https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${PV}.tar.xz \
-           file://0001-fix-maybe-uninitialized-warnings-when-compiling-with.patch \
-           file://0002-avoid-including-sys-poll.h-directly.patch \
-           file://0003-ensure-valid-sentinals-for-gst_structure_get-etc.patch \
-           file://0004-opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch \
-           file://0005-msdk-fix-includedir-path.patch \
-           "
-SRC_URI[sha256sum] = "b7e34b6b86272588fbd8b314dadfa6ceff895198cfb59e2950378e9e31ff22e0"
-
-S = "${WORKDIR}/gst-plugins-bad-${PV}"
-
-LICENSE = "GPLv2+ & LGPLv2+ & LGPLv2.1+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
-
-DEPENDS += "gstreamer1.0-plugins-base"
-
-inherit gobject-introspection
-
-PACKAGECONFIG ??= " \
-    ${GSTREAMER_ORC} \
-    ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)} \
-    ${@bb.utils.filter('DISTRO_FEATURES', 'directfb vulkan', d)} \
-    ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', '', d)} \
-    ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gl', '', d)} \
-    bz2 closedcaption curl dash dtls hls rsvg sbc smoothstreaming sndfile \
-    ttml uvch264 webp \
-"
-
-PACKAGECONFIG[aom]             = "-Daom=enabled,-Daom=disabled,aom"
-PACKAGECONFIG[assrender]       = "-Dassrender=enabled,-Dassrender=disabled,libass"
-PACKAGECONFIG[bluez]           = "-Dbluez=enabled,-Dbluez=disabled,bluez5"
-PACKAGECONFIG[bz2]             = "-Dbz2=enabled,-Dbz2=disabled,bzip2"
-PACKAGECONFIG[closedcaption]   = "-Dclosedcaption=enabled,-Dclosedcaption=disabled,pango cairo"
-PACKAGECONFIG[curl]            = "-Dcurl=enabled,-Dcurl=disabled,curl"
-PACKAGECONFIG[dash]            = "-Ddash=enabled,-Ddash=disabled,libxml2"
-PACKAGECONFIG[dc1394]          = "-Ddc1394=enabled,-Ddc1394=disabled,libdc1394"
-PACKAGECONFIG[directfb]        = "-Ddirectfb=enabled,-Ddirectfb=disabled,directfb"
-PACKAGECONFIG[dtls]            = "-Ddtls=enabled,-Ddtls=disabled,openssl"
-PACKAGECONFIG[faac]            = "-Dfaac=enabled,-Dfaac=disabled,faac"
-PACKAGECONFIG[faad]            = "-Dfaad=enabled,-Dfaad=disabled,faad2"
-PACKAGECONFIG[fluidsynth]      = "-Dfluidsynth=enabled,-Dfluidsynth=disabled,fluidsynth"
-PACKAGECONFIG[hls]             = "-Dhls=enabled -Dhls-crypto=nettle,-Dhls=disabled,nettle"
-# the gl packageconfig enables OpenGL elements that haven't been ported
-# to -base yet. They depend on the gstgl library in -base, so we do
-# not add GL dependencies here, since these are taken care of in -base.
-PACKAGECONFIG[gl]              = "-Dgl=enabled,-Dgl=disabled,"
-PACKAGECONFIG[kms]             = "-Dkms=enabled,-Dkms=disabled,libdrm"
-PACKAGECONFIG[libde265]        = "-Dlibde265=enabled,-Dlibde265=disabled,libde265"
-PACKAGECONFIG[libmms]          = "-Dlibmms=enabled,-Dlibmms=disabled,libmms"
-PACKAGECONFIG[libssh2]         = "-Dcurl-ssh2=enabled,-Dcurl-ssh2=disabled,libssh2"
-PACKAGECONFIG[lcms2]           = "-Dcolormanagement=enabled,-Dcolormanagement=disabled,lcms"
-PACKAGECONFIG[modplug]         = "-Dmodplug=enabled,-Dmodplug=disabled,libmodplug"
-PACKAGECONFIG[msdk]            = "-Dmsdk=enabled,-Dmsdk=disabled,intel-mediasdk"
-PACKAGECONFIG[neon]            = "-Dneon=enabled,-Dneon=disabled,neon"
-PACKAGECONFIG[openal]          = "-Dopenal=enabled,-Dopenal=disabled,openal-soft"
-PACKAGECONFIG[opencv]          = "-Dopencv=enabled,-Dopencv=disabled,opencv"
-PACKAGECONFIG[openh264]        = "-Dopenh264=enabled,-Dopenh264=disabled,openh264"
-PACKAGECONFIG[openjpeg]        = "-Dopenjpeg=enabled,-Dopenjpeg=disabled,openjpeg"
-PACKAGECONFIG[openmpt]         = "-Dopenmpt=enabled,-Dopenmpt=disabled,libopenmpt"
-# the opus encoder/decoder elements are now in the -base package,
-# but the opus parser remains in -bad
-PACKAGECONFIG[opusparse]       = "-Dopus=enabled,-Dopus=disabled,libopus"
-PACKAGECONFIG[resindvd]        = "-Dresindvd=enabled,-Dresindvd=disabled,libdvdread libdvdnav"
-PACKAGECONFIG[rsvg]            = "-Drsvg=enabled,-Drsvg=disabled,librsvg"
-PACKAGECONFIG[rtmp]            = "-Drtmp=enabled,-Drtmp=disabled,rtmpdump"
-PACKAGECONFIG[sbc]             = "-Dsbc=enabled,-Dsbc=disabled,sbc"
-PACKAGECONFIG[sctp]            = "-Dsctp=enabled,-Dsctp=disabled"
-PACKAGECONFIG[smoothstreaming] = "-Dsmoothstreaming=enabled,-Dsmoothstreaming=disabled,libxml2"
-PACKAGECONFIG[sndfile]         = "-Dsndfile=enabled,-Dsndfile=disabled,libsndfile1"
-PACKAGECONFIG[srt]             = "-Dsrt=enabled,-Dsrt=disabled,srt"
-PACKAGECONFIG[srtp]            = "-Dsrtp=enabled,-Dsrtp=disabled,libsrtp"
-PACKAGECONFIG[tinyalsa]        = "-Dtinyalsa=enabled,-Dtinyalsa=disabled,tinyalsa"
-PACKAGECONFIG[ttml]            = "-Dttml=enabled,-Dttml=disabled,libxml2 pango cairo"
-PACKAGECONFIG[uvch264]         = "-Duvch264=enabled,-Duvch264=disabled,libusb1 libgudev"
-PACKAGECONFIG[v4l2codecs]      = "-Dv4l2codecs=enabled,-Dv4l2codecs=disabled,libgudev"
-PACKAGECONFIG[va]              = "-Dva=enabled,-Dva=disabled,libva"
-PACKAGECONFIG[voaacenc]        = "-Dvoaacenc=enabled,-Dvoaacenc=disabled,vo-aacenc"
-PACKAGECONFIG[voamrwbenc]      = "-Dvoamrwbenc=enabled,-Dvoamrwbenc=disabled,vo-amrwbenc"
-PACKAGECONFIG[vulkan]          = "-Dvulkan=enabled,-Dvulkan=disabled,vulkan-loader shaderc-native"
-PACKAGECONFIG[wayland]         = "-Dwayland=enabled,-Dwayland=disabled,wayland-native wayland wayland-protocols libdrm"
-PACKAGECONFIG[webp]            = "-Dwebp=enabled,-Dwebp=disabled,libwebp"
-PACKAGECONFIG[webrtc]          = "-Dwebrtc=enabled,-Dwebrtc=disabled,libnice"
-PACKAGECONFIG[webrtcdsp]       = "-Dwebrtcdsp=enabled,-Dwebrtcdsp=disabled,webrtc-audio-processing"
-PACKAGECONFIG[zbar]            = "-Dzbar=enabled,-Dzbar=disabled,zbar"
-PACKAGECONFIG[x265]            = "-Dx265=enabled,-Dx265=disabled,x265"
-
-EXTRA_OEMESON += " \
-    -Ddoc=disabled \
-    -Ddecklink=enabled \
-    -Ddvb=enabled \
-    -Dfbdev=enabled \
-    -Dipcpipeline=enabled \
-    -Dshm=enabled \
-    -Dtranscode=enabled \
-    -Dandroidmedia=disabled \
-    -Dapplemedia=disabled \
-    -Davtp=disabled \
-    -Dbs2b=disabled \
-    -Dchromaprint=disabled \
-    -Dd3dvideosink=disabled \
-    -Dd3d11=disabled \
-    -Ddirectsound=disabled \
-    -Ddts=disabled \
-    -Dfdkaac=disabled \
-    -Dflite=disabled \
-    -Dgme=disabled \
-    -Dgsm=disabled \
-    -Diqa=disabled \
-    -Dkate=disabled \
-    -Dladspa=disabled \
-    -Dlv2=disabled \
-    -Dmagicleap=disabled \
-    -Dmediafoundation=disabled \
-    -Dmicrodns=disabled \
-    -Dmpeg2enc=disabled \
-    -Dmplex=disabled \
-    -Dmusepack=disabled \
-    -Dnvcodec=disabled \
-    -Dofa=disabled \
-    -Dopenexr=disabled \
-    -Dopenni2=disabled \
-    -Dopensles=disabled \
-    -Dsoundtouch=disabled \
-    -Dspandsp=disabled \
-    -Dsvthevcenc=disabled \
-    -Dteletext=disabled \
-    -Dwasapi=disabled \
-    -Dwasapi2=disabled \
-    -Dwildmidi=disabled \
-    -Dwinks=disabled \
-    -Dwinscreencap=disabled \
-    -Dwpe=disabled \
-    -Dzxing=disabled \
-"
-
-export OPENCV_PREFIX = "${STAGING_DIR_TARGET}${prefix}"
-
-ARM_INSTRUCTION_SET_armv4 = "arm"
-ARM_INSTRUCTION_SET_armv5 = "arm"
-
-FILES_${PN}-freeverb += "${datadir}/gstreamer-1.0/presets/GstFreeverb.prs"
-FILES_${PN}-opencv += "${datadir}/gst-plugins-bad/1.0/opencv*"
-FILES_${PN}-transcode += "${datadir}/gstreamer-1.0/encoding-profiles"
-FILES_${PN}-voamrwbenc += "${datadir}/gstreamer-1.0/presets/GstVoAmrwbEnc.prs"
-
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.18.4.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.18.4.bb
new file mode 100644
index 000000000..ce2082ee3
--- /dev/null
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.18.4.bb
@@ -0,0 +1,151 @@
+require gstreamer1.0-plugins-common.inc
+
+DESCRIPTION = "'Bad' GStreamer plugins and helper libraries "
+HOMEPAGE = "https://gstreamer.freedesktop.org/"
+BUGTRACKER = "https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues"
+
+SRC_URI = "https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${PV}.tar.xz \
+           file://0001-fix-maybe-uninitialized-warnings-when-compiling-with.patch \
+           file://0002-avoid-including-sys-poll.h-directly.patch \
+           file://0003-ensure-valid-sentinals-for-gst_structure_get-etc.patch \
+           file://0004-opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch \
+           file://0005-msdk-fix-includedir-path.patch \
+           "
+SRC_URI[sha256sum] = "74e806bc5595b18c70e9ca93571e27e79dfb808e5d2e7967afa952b52e99c85f"
+
+S = "${WORKDIR}/gst-plugins-bad-${PV}"
+
+LICENSE = "GPLv2+ & LGPLv2+ & LGPLv2.1+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
+
+DEPENDS += "gstreamer1.0-plugins-base"
+
+inherit gobject-introspection
+
+PACKAGECONFIG ??= " \
+    ${GSTREAMER_ORC} \
+    ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)} \
+    ${@bb.utils.filter('DISTRO_FEATURES', 'directfb vulkan', d)} \
+    ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', '', d)} \
+    ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gl', '', d)} \
+    bz2 closedcaption curl dash dtls hls rsvg sbc smoothstreaming sndfile \
+    ttml uvch264 webp \
+"
+
+PACKAGECONFIG[aom]             = "-Daom=enabled,-Daom=disabled,aom"
+PACKAGECONFIG[assrender]       = "-Dassrender=enabled,-Dassrender=disabled,libass"
+PACKAGECONFIG[bluez]           = "-Dbluez=enabled,-Dbluez=disabled,bluez5"
+PACKAGECONFIG[bz2]             = "-Dbz2=enabled,-Dbz2=disabled,bzip2"
+PACKAGECONFIG[closedcaption]   = "-Dclosedcaption=enabled,-Dclosedcaption=disabled,pango cairo"
+PACKAGECONFIG[curl]            = "-Dcurl=enabled,-Dcurl=disabled,curl"
+PACKAGECONFIG[dash]            = "-Ddash=enabled,-Ddash=disabled,libxml2"
+PACKAGECONFIG[dc1394]          = "-Ddc1394=enabled,-Ddc1394=disabled,libdc1394"
+PACKAGECONFIG[directfb]        = "-Ddirectfb=enabled,-Ddirectfb=disabled,directfb"
+PACKAGECONFIG[dtls]            = "-Ddtls=enabled,-Ddtls=disabled,openssl"
+PACKAGECONFIG[faac]            = "-Dfaac=enabled,-Dfaac=disabled,faac"
+PACKAGECONFIG[faad]            = "-Dfaad=enabled,-Dfaad=disabled,faad2"
+PACKAGECONFIG[fluidsynth]      = "-Dfluidsynth=enabled,-Dfluidsynth=disabled,fluidsynth"
+PACKAGECONFIG[hls]             = "-Dhls=enabled -Dhls-crypto=nettle,-Dhls=disabled,nettle"
+# the gl packageconfig enables OpenGL elements that haven't been ported
+# to -base yet. They depend on the gstgl library in -base, so we do
+# not add GL dependencies here, since these are taken care of in -base.
+PACKAGECONFIG[gl]              = "-Dgl=enabled,-Dgl=disabled,"
+PACKAGECONFIG[kms]             = "-Dkms=enabled,-Dkms=disabled,libdrm"
+PACKAGECONFIG[libde265]        = "-Dlibde265=enabled,-Dlibde265=disabled,libde265"
+PACKAGECONFIG[libmms]          = "-Dlibmms=enabled,-Dlibmms=disabled,libmms"
+PACKAGECONFIG[libssh2]         = "-Dcurl-ssh2=enabled,-Dcurl-ssh2=disabled,libssh2"
+PACKAGECONFIG[lcms2]           = "-Dcolormanagement=enabled,-Dcolormanagement=disabled,lcms"
+PACKAGECONFIG[modplug]         = "-Dmodplug=enabled,-Dmodplug=disabled,libmodplug"
+PACKAGECONFIG[msdk]            = "-Dmsdk=enabled,-Dmsdk=disabled,intel-mediasdk"
+PACKAGECONFIG[neon]            = "-Dneon=enabled,-Dneon=disabled,neon"
+PACKAGECONFIG[openal]          = "-Dopenal=enabled,-Dopenal=disabled,openal-soft"
+PACKAGECONFIG[opencv]          = "-Dopencv=enabled,-Dopencv=disabled,opencv"
+PACKAGECONFIG[openh264]        = "-Dopenh264=enabled,-Dopenh264=disabled,openh264"
+PACKAGECONFIG[openjpeg]        = "-Dopenjpeg=enabled,-Dopenjpeg=disabled,openjpeg"
+PACKAGECONFIG[openmpt]         = "-Dopenmpt=enabled,-Dopenmpt=disabled,libopenmpt"
+# the opus encoder/decoder elements are now in the -base package,
+# but the opus parser remains in -bad
+PACKAGECONFIG[opusparse]       = "-Dopus=enabled,-Dopus=disabled,libopus"
+PACKAGECONFIG[resindvd]        = "-Dresindvd=enabled,-Dresindvd=disabled,libdvdread libdvdnav"
+PACKAGECONFIG[rsvg]            = "-Drsvg=enabled,-Drsvg=disabled,librsvg"
+PACKAGECONFIG[rtmp]            = "-Drtmp=enabled,-Drtmp=disabled,rtmpdump"
+PACKAGECONFIG[sbc]             = "-Dsbc=enabled,-Dsbc=disabled,sbc"
+PACKAGECONFIG[sctp]            = "-Dsctp=enabled,-Dsctp=disabled"
+PACKAGECONFIG[smoothstreaming] = "-Dsmoothstreaming=enabled,-Dsmoothstreaming=disabled,libxml2"
+PACKAGECONFIG[sndfile]         = "-Dsndfile=enabled,-Dsndfile=disabled,libsndfile1"
+PACKAGECONFIG[srt]             = "-Dsrt=enabled,-Dsrt=disabled,srt"
+PACKAGECONFIG[srtp]            = "-Dsrtp=enabled,-Dsrtp=disabled,libsrtp"
+PACKAGECONFIG[tinyalsa]        = "-Dtinyalsa=enabled,-Dtinyalsa=disabled,tinyalsa"
+PACKAGECONFIG[ttml]            = "-Dttml=enabled,-Dttml=disabled,libxml2 pango cairo"
+PACKAGECONFIG[uvch264]         = "-Duvch264=enabled,-Duvch264=disabled,libusb1 libgudev"
+PACKAGECONFIG[v4l2codecs]      = "-Dv4l2codecs=enabled,-Dv4l2codecs=disabled,libgudev"
+PACKAGECONFIG[va]              = "-Dva=enabled,-Dva=disabled,libva"
+PACKAGECONFIG[voaacenc]        = "-Dvoaacenc=enabled,-Dvoaacenc=disabled,vo-aacenc"
+PACKAGECONFIG[voamrwbenc]      = "-Dvoamrwbenc=enabled,-Dvoamrwbenc=disabled,vo-amrwbenc"
+PACKAGECONFIG[vulkan]          = "-Dvulkan=enabled,-Dvulkan=disabled,vulkan-loader shaderc-native"
+PACKAGECONFIG[wayland]         = "-Dwayland=enabled,-Dwayland=disabled,wayland-native wayland wayland-protocols libdrm"
+PACKAGECONFIG[webp]            = "-Dwebp=enabled,-Dwebp=disabled,libwebp"
+PACKAGECONFIG[webrtc]          = "-Dwebrtc=enabled,-Dwebrtc=disabled,libnice"
+PACKAGECONFIG[webrtcdsp]       = "-Dwebrtcdsp=enabled,-Dwebrtcdsp=disabled,webrtc-audio-processing"
+PACKAGECONFIG[zbar]            = "-Dzbar=enabled,-Dzbar=disabled,zbar"
+PACKAGECONFIG[x265]            = "-Dx265=enabled,-Dx265=disabled,x265"
+
+EXTRA_OEMESON += " \
+    -Ddoc=disabled \
+    -Ddecklink=enabled \
+    -Ddvb=enabled \
+    -Dfbdev=enabled \
+    -Dipcpipeline=enabled \
+    -Dshm=enabled \
+    -Dtranscode=enabled \
+    -Dandroidmedia=disabled \
+    -Dapplemedia=disabled \
+    -Davtp=disabled \
+    -Dbs2b=disabled \
+    -Dchromaprint=disabled \
+    -Dd3dvideosink=disabled \
+    -Dd3d11=disabled \
+    -Ddirectsound=disabled \
+    -Ddts=disabled \
+    -Dfdkaac=disabled \
+    -Dflite=disabled \
+    -Dgme=disabled \
+    -Dgsm=disabled \
+    -Diqa=disabled \
+    -Dkate=disabled \
+    -Dladspa=disabled \
+    -Dlv2=disabled \
+    -Dmagicleap=disabled \
+    -Dmediafoundation=disabled \
+    -Dmicrodns=disabled \
+    -Dmpeg2enc=disabled \
+    -Dmplex=disabled \
+    -Dmusepack=disabled \
+    -Dnvcodec=disabled \
+    -Dofa=disabled \
+    -Dopenexr=disabled \
+    -Dopenni2=disabled \
+    -Dopensles=disabled \
+    -Dsoundtouch=disabled \
+    -Dspandsp=disabled \
+    -Dsvthevcenc=disabled \
+    -Dteletext=disabled \
+    -Dwasapi=disabled \
+    -Dwasapi2=disabled \
+    -Dwildmidi=disabled \
+    -Dwinks=disabled \
+    -Dwinscreencap=disabled \
+    -Dwpe=disabled \
+    -Dzxing=disabled \
+"
+
+export OPENCV_PREFIX = "${STAGING_DIR_TARGET}${prefix}"
+
+ARM_INSTRUCTION_SET_armv4 = "arm"
+ARM_INSTRUCTION_SET_armv5 = "arm"
+
+FILES_${PN}-freeverb += "${datadir}/gstreamer-1.0/presets/GstFreeverb.prs"
+FILES_${PN}-opencv += "${datadir}/gst-plugins-bad/1.0/opencv*"
+FILES_${PN}-transcode += "${datadir}/gstreamer-1.0/encoding-profiles"
+FILES_${PN}-voamrwbenc += "${datadir}/gstreamer-1.0/presets/GstVoAmrwbEnc.prs"
+
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.18.3.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.18.3.bb
deleted file mode 100644
index 86b0f2790..000000000
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.18.3.bb
+++ /dev/null
@@ -1,97 +0,0 @@
-require gstreamer1.0-plugins-common.inc
-
-DESCRIPTION = "'Base' GStreamer plugins and helper libraries"
-HOMEPAGE = "https://gstreamer.freedesktop.org/"
-BUGTRACKER = "https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues"
-LICENSE = "GPLv2+ & LGPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=6762ed442b3822387a51c92d928ead0d"
-
-SRC_URI = "https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${PV}.tar.xz \
-           file://0001-ENGR00312515-get-caps-from-src-pad-when-query-caps.patch \
-           file://0003-viv-fb-Make-sure-config.h-is-included.patch \
-           file://0002-ssaparse-enhance-SSA-text-lines-parsing.patch \
-           file://0004-glimagesink-Downrank-to-marginal.patch \
-           "
-SRC_URI[sha256sum] = "dbfa20283848f0347a223dd8523dfb62e09e5220b21b1d157a8b0c8b67ba9f52"
-
-S = "${WORKDIR}/gst-plugins-base-${PV}"
-
-DEPENDS += "iso-codes util-linux zlib"
-
-inherit gobject-introspection
-
-PACKAGES_DYNAMIC =+ "^libgst.*"
-
-# opengl packageconfig factored out to make it easy for distros
-# and BSP layers to choose OpenGL APIs/platforms/window systems
-PACKAGECONFIG_GL ?= "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gles2 egl', '', d)}"
-
-PACKAGECONFIG ??= " \
-    ${GSTREAMER_ORC} \
-    ${PACKAGECONFIG_GL} \
-    ${@bb.utils.filter('DISTRO_FEATURES', 'alsa x11', d)} \
-    jpeg ogg pango png theora vorbis \
-    ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland egl', '', d)} \
-"
-
-OPENGL_APIS = 'opengl gles2'
-OPENGL_PLATFORMS = 'egl'
-
-X11DEPENDS = "virtual/libx11 libsm libxrender libxv"
-X11ENABLEOPTS = "-Dx11=enabled -Dxvideo=enabled -Dxshm=enabled"
-X11DISABLEOPTS = "-Dx11=disabled -Dxvideo=disabled -Dxshm=disabled"
-
-PACKAGECONFIG[alsa]         = "-Dalsa=enabled,-Dalsa=disabled,alsa-lib"
-PACKAGECONFIG[cdparanoia]   = "-Dcdparanoia=enabled,-Dcdparanoia=disabled,cdparanoia"
-PACKAGECONFIG[jpeg]         = "-Dgl-jpeg=enabled,-Dgl-jpeg=disabled,jpeg"
-PACKAGECONFIG[ogg]          = "-Dogg=enabled,-Dogg=disabled,libogg"
-PACKAGECONFIG[opus]         = "-Dopus=enabled,-Dopus=disabled,libopus"
-PACKAGECONFIG[pango]        = "-Dpango=enabled,-Dpango=disabled,pango"
-PACKAGECONFIG[png]          = "-Dgl-png=enabled,-Dgl-png=disabled,libpng"
-PACKAGECONFIG[theora]       = "-Dtheora=enabled,-Dtheora=disabled,libtheora"
-PACKAGECONFIG[tremor]       = "-Dtremor=enabled,-Dtremor=disabled,tremor"
-PACKAGECONFIG[visual]       = "-Dlibvisual=enabled,-Dlibvisual=disabled,libvisual"
-PACKAGECONFIG[vorbis]       = "-Dvorbis=enabled,-Dvorbis=disabled,libvorbis"
-PACKAGECONFIG[x11]          = "${X11ENABLEOPTS},${X11DISABLEOPTS},${X11DEPENDS}"
-
-# OpenGL API packageconfigs
-PACKAGECONFIG[opengl]       = ",,virtual/libgl libglu"
-PACKAGECONFIG[gles2]        = ",,virtual/libgles2"
-
-# OpenGL platform packageconfigs
-PACKAGECONFIG[egl]          = ",,virtual/egl"
-
-# OpenGL window systems (except for X11)
-PACKAGECONFIG[gbm]          = ",,virtual/libgbm libgudev libdrm"
-PACKAGECONFIG[wayland]      = ",,wayland-native wayland wayland-protocols libdrm"
-PACKAGECONFIG[dispmanx]     = ",,virtual/libomxil"
-
-OPENGL_WINSYS_append = "${@bb.utils.contains('PACKAGECONFIG', 'x11', ' x11', '', d)}"
-OPENGL_WINSYS_append = "${@bb.utils.contains('PACKAGECONFIG', 'gbm', ' gbm', '', d)}"
-OPENGL_WINSYS_append = "${@bb.utils.contains('PACKAGECONFIG', 'wayland', ' wayland', '', d)}"
-OPENGL_WINSYS_append = "${@bb.utils.contains('PACKAGECONFIG', 'dispmanx', ' dispmanx', '', d)}"
-OPENGL_WINSYS_append = "${@bb.utils.contains('PACKAGECONFIG', 'egl', ' egl', '', d)}"
-
-EXTRA_OEMESON += " \
-    -Ddoc=disabled \
-    -Dgl-graphene=disabled \
-    ${@get_opengl_cmdline_list('gl_api', d.getVar('OPENGL_APIS'), d)} \
-    ${@get_opengl_cmdline_list('gl_platform', d.getVar('OPENGL_PLATFORMS'), d)} \
-    ${@get_opengl_cmdline_list('gl_winsys', d.getVar('OPENGL_WINSYS'), d)} \
-"
-
-FILES_${PN}-dev += "${libdir}/gstreamer-1.0/include/gst/gl/gstglconfig.h"
-FILES_${MLPREFIX}libgsttag-1.0 += "${datadir}/gst-plugins-base/1.0/license-translations.dict"
-
-def get_opengl_cmdline_list(switch_name, options, d):
-    selected_options = []
-    if bb.utils.contains('DISTRO_FEATURES', 'opengl', True, False, d):
-        for option in options.split():
-            if bb.utils.contains('PACKAGECONFIG', option, True, False, d):
-                selected_options += [option]
-    if selected_options:
-        return '-D' + switch_name + '=' + ','.join(selected_options)
-    else:
-        return ''
-
-CVE_PRODUCT += "gst-plugins-base"
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.18.4.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.18.4.bb
new file mode 100644
index 000000000..728a99e08
--- /dev/null
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.18.4.bb
@@ -0,0 +1,97 @@
+require gstreamer1.0-plugins-common.inc
+
+DESCRIPTION = "'Base' GStreamer plugins and helper libraries"
+HOMEPAGE = "https://gstreamer.freedesktop.org/"
+BUGTRACKER = "https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues"
+LICENSE = "GPLv2+ & LGPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=6762ed442b3822387a51c92d928ead0d"
+
+SRC_URI = "https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${PV}.tar.xz \
+           file://0001-ENGR00312515-get-caps-from-src-pad-when-query-caps.patch \
+           file://0003-viv-fb-Make-sure-config.h-is-included.patch \
+           file://0002-ssaparse-enhance-SSA-text-lines-parsing.patch \
+           file://0004-glimagesink-Downrank-to-marginal.patch \
+           "
+SRC_URI[sha256sum] = "29e53229a84d01d722f6f6db13087231cdf6113dd85c25746b9b58c3d68e8323"
+
+S = "${WORKDIR}/gst-plugins-base-${PV}"
+
+DEPENDS += "iso-codes util-linux zlib"
+
+inherit gobject-introspection
+
+PACKAGES_DYNAMIC =+ "^libgst.*"
+
+# opengl packageconfig factored out to make it easy for distros
+# and BSP layers to choose OpenGL APIs/platforms/window systems
+PACKAGECONFIG_GL ?= "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gles2 egl', '', d)}"
+
+PACKAGECONFIG ??= " \
+    ${GSTREAMER_ORC} \
+    ${PACKAGECONFIG_GL} \
+    ${@bb.utils.filter('DISTRO_FEATURES', 'alsa x11', d)} \
+    jpeg ogg pango png theora vorbis \
+    ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland egl', '', d)} \
+"
+
+OPENGL_APIS = 'opengl gles2'
+OPENGL_PLATFORMS = 'egl'
+
+X11DEPENDS = "virtual/libx11 libsm libxrender libxv"
+X11ENABLEOPTS = "-Dx11=enabled -Dxvideo=enabled -Dxshm=enabled"
+X11DISABLEOPTS = "-Dx11=disabled -Dxvideo=disabled -Dxshm=disabled"
+
+PACKAGECONFIG[alsa]         = "-Dalsa=enabled,-Dalsa=disabled,alsa-lib"
+PACKAGECONFIG[cdparanoia]   = "-Dcdparanoia=enabled,-Dcdparanoia=disabled,cdparanoia"
+PACKAGECONFIG[jpeg]         = "-Dgl-jpeg=enabled,-Dgl-jpeg=disabled,jpeg"
+PACKAGECONFIG[ogg]          = "-Dogg=enabled,-Dogg=disabled,libogg"
+PACKAGECONFIG[opus]         = "-Dopus=enabled,-Dopus=disabled,libopus"
+PACKAGECONFIG[pango]        = "-Dpango=enabled,-Dpango=disabled,pango"
+PACKAGECONFIG[png]          = "-Dgl-png=enabled,-Dgl-png=disabled,libpng"
+PACKAGECONFIG[theora]       = "-Dtheora=enabled,-Dtheora=disabled,libtheora"
+PACKAGECONFIG[tremor]       = "-Dtremor=enabled,-Dtremor=disabled,tremor"
+PACKAGECONFIG[visual]       = "-Dlibvisual=enabled,-Dlibvisual=disabled,libvisual"
+PACKAGECONFIG[vorbis]       = "-Dvorbis=enabled,-Dvorbis=disabled,libvorbis"
+PACKAGECONFIG[x11]          = "${X11ENABLEOPTS},${X11DISABLEOPTS},${X11DEPENDS}"
+
+# OpenGL API packageconfigs
+PACKAGECONFIG[opengl]       = ",,virtual/libgl libglu"
+PACKAGECONFIG[gles2]        = ",,virtual/libgles2"
+
+# OpenGL platform packageconfigs
+PACKAGECONFIG[egl]          = ",,virtual/egl"
+
+# OpenGL window systems (except for X11)
+PACKAGECONFIG[gbm]          = ",,virtual/libgbm libgudev libdrm"
+PACKAGECONFIG[wayland]      = ",,wayland-native wayland wayland-protocols libdrm"
+PACKAGECONFIG[dispmanx]     = ",,virtual/libomxil"
+
+OPENGL_WINSYS_append = "${@bb.utils.contains('PACKAGECONFIG', 'x11', ' x11', '', d)}"
+OPENGL_WINSYS_append = "${@bb.utils.contains('PACKAGECONFIG', 'gbm', ' gbm', '', d)}"
+OPENGL_WINSYS_append = "${@bb.utils.contains('PACKAGECONFIG', 'wayland', ' wayland', '', d)}"
+OPENGL_WINSYS_append = "${@bb.utils.contains('PACKAGECONFIG', 'dispmanx', ' dispmanx', '', d)}"
+OPENGL_WINSYS_append = "${@bb.utils.contains('PACKAGECONFIG', 'egl', ' egl', '', d)}"
+
+EXTRA_OEMESON += " \
+    -Ddoc=disabled \
+    -Dgl-graphene=disabled \
+    ${@get_opengl_cmdline_list('gl_api', d.getVar('OPENGL_APIS'), d)} \
+    ${@get_opengl_cmdline_list('gl_platform', d.getVar('OPENGL_PLATFORMS'), d)} \
+    ${@get_opengl_cmdline_list('gl_winsys', d.getVar('OPENGL_WINSYS'), d)} \
+"
+
+FILES_${PN}-dev += "${libdir}/gstreamer-1.0/include/gst/gl/gstglconfig.h"
+FILES_${MLPREFIX}libgsttag-1.0 += "${datadir}/gst-plugins-base/1.0/license-translations.dict"
+
+def get_opengl_cmdline_list(switch_name, options, d):
+    selected_options = []
+    if bb.utils.contains('DISTRO_FEATURES', 'opengl', True, False, d):
+        for option in options.split():
+            if bb.utils.contains('PACKAGECONFIG', option, True, False, d):
+                selected_options += [option]
+    if selected_options:
+        return '-D' + switch_name + '=' + ','.join(selected_options)
+    else:
+        return ''
+
+CVE_PRODUCT += "gst-plugins-base"
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0002-rtpjitterbuffer-Fix-parsing-of-the-mediaclk-direct-f.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0002-rtpjitterbuffer-Fix-parsing-of-the-mediaclk-direct-f.patch
new file mode 100644
index 000000000..14a9fe23a
--- /dev/null
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0002-rtpjitterbuffer-Fix-parsing-of-the-mediaclk-direct-f.patch
@@ -0,0 +1,33 @@
+From ec1949dffd931d0ec7e4f67108a08ab1e2af0cfe Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= 
+Date: Tue, 16 Mar 2021 19:25:36 +0200
+Subject: [PATCH] rtpjitterbuffer: Fix parsing of the mediaclk:direct= field
+
+Due to an off-by-one when parsing the string, the most significant digit
+or the clock offset was skipped when parsing the offset.
+
+Part-of: 
+
+Upstream-Status: Backport [b5bb4ede3a42273fafc1054f9cf106ca527e3c26]
+
+Signed-off-by: Jose Quaresma 
+---
+ gst/rtpmanager/gstrtpjitterbuffer.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/gst/rtpmanager/gstrtpjitterbuffer.c b/gst/rtpmanager/gstrtpjitterbuffer.c
+index 60d8ad875..02fe15adc 100644
+--- a/gst/rtpmanager/gstrtpjitterbuffer.c
++++ b/gst/rtpmanager/gstrtpjitterbuffer.c
+@@ -1534,7 +1534,7 @@ gst_jitter_buffer_sink_parse_caps (GstRtpJitterBuffer * jitterbuffer,
+       GST_DEBUG_OBJECT (jitterbuffer, "Got media clock %s", mediaclk);
+ 
+       if (!g_str_has_prefix (mediaclk, "direct=") ||
+-          !g_ascii_string_to_unsigned (&mediaclk[8], 10, 0, G_MAXUINT64,
++          !g_ascii_string_to_unsigned (&mediaclk[7], 10, 0, G_MAXUINT64,
+               &clock_offset, NULL))
+         GST_FIXME_OBJECT (jitterbuffer, "Unsupported media clock");
+       if (strstr (mediaclk, "rate=") != NULL) {
+-- 
+2.31.0
+
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.18.3.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.18.3.bb
deleted file mode 100644
index 93c6616c3..000000000
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.18.3.bb
+++ /dev/null
@@ -1,76 +0,0 @@
-require gstreamer1.0-plugins-common.inc
-
-DESCRIPTION = "'Good' GStreamer plugins"
-HOMEPAGE = "https://gstreamer.freedesktop.org/"
-BUGTRACKER = "https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues"
-
-SRC_URI = "https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${PV}.tar.xz \
-           file://0001-qt-include-ext-qt-gstqtgl.h-instead-of-gst-gl-gstglf.patch \
-           "
-
-SRC_URI[sha256sum] = "9b3b8e05d4d6073bf929fb33e2d8f74dd81ff21fa5b50c3273c78dfa2ab9c5cb"
-
-S = "${WORKDIR}/gst-plugins-good-${PV}"
-
-LICENSE = "GPLv2+ & LGPLv2.1+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \
-                    file://gst/replaygain/rganalysis.c;beginline=1;endline=23;md5=b60ebefd5b2f5a8e0cab6bfee391a5fe"
-
-DEPENDS += "gstreamer1.0-plugins-base libcap zlib"
-RPROVIDES_${PN}-pulseaudio += "${PN}-pulse"
-RPROVIDES_${PN}-soup += "${PN}-souphttpsrc"
-
-PACKAGECONFIG ??= " \
-    ${GSTREAMER_ORC} \
-    ${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio x11', d)} \
-    ${@bb.utils.contains('TUNE_FEATURES', 'm64', 'asm', '', d)} \
-    bz2 cairo flac gdk-pixbuf gudev jpeg lame libpng mpg123 soup speex taglib v4l2 \
-"
-
-X11DEPENDS = "virtual/libx11 libsm libxrender libxfixes libxdamage"
-X11ENABLEOPTS = "-Dximagesrc=enabled -Dximagesrc-xshm=enabled -Dximagesrc-xfixes=enabled -Dximagesrc-xdamage=enabled"
-X11DISABLEOPTS = "-Dximagesrc=disabled -Dximagesrc-xshm=disabled -Dximagesrc-xfixes=disabled -Dximagesrc-xdamage=disabled"
-
-QT5WAYLANDDEPENDS = "${@bb.utils.contains("DISTRO_FEATURES", "wayland", "qtwayland", "", d)}"
-
-PACKAGECONFIG[asm]        = "-Dasm=enabled,-Dasm=disabled,nasm-native"
-PACKAGECONFIG[bz2]        = "-Dbz2=enabled,-Dbz2=disabled,bzip2"
-PACKAGECONFIG[cairo]      = "-Dcairo=enabled,-Dcairo=disabled,cairo"
-PACKAGECONFIG[dv1394]     = "-Ddv1394=enabled,-Ddv1394=disabled,libiec61883 libavc1394 libraw1394"
-PACKAGECONFIG[flac]       = "-Dflac=enabled,-Dflac=disabled,flac"
-PACKAGECONFIG[gdk-pixbuf] = "-Dgdk-pixbuf=enabled,-Dgdk-pixbuf=disabled,gdk-pixbuf"
-PACKAGECONFIG[gtk]        = "-Dgtk3=enabled,-Dgtk3=disabled,gtk+3"
-PACKAGECONFIG[gudev]      = "-Dv4l2-gudev=enabled,-Dv4l2-gudev=disabled,libgudev"
-PACKAGECONFIG[jack]       = "-Djack=enabled,-Djack=disabled,jack"
-PACKAGECONFIG[jpeg]       = "-Djpeg=enabled,-Djpeg=disabled,jpeg"
-PACKAGECONFIG[lame]       = "-Dlame=enabled,-Dlame=disabled,lame"
-PACKAGECONFIG[libpng]     = "-Dpng=enabled,-Dpng=disabled,libpng"
-PACKAGECONFIG[libv4l2]    = "-Dv4l2-libv4l2=enabled,-Dv4l2-libv4l2=disabled,v4l-utils"
-PACKAGECONFIG[mpg123]     = "-Dmpg123=enabled,-Dmpg123=disabled,mpg123"
-PACKAGECONFIG[pulseaudio] = "-Dpulse=enabled,-Dpulse=disabled,pulseaudio"
-PACKAGECONFIG[qt5]        = "-Dqt5=enabled,-Dqt5=disabled,qtbase qtdeclarative qtbase-native ${QT5WAYLANDDEPENDS}"
-PACKAGECONFIG[soup]       = "-Dsoup=enabled,-Dsoup=disabled,libsoup-2.4"
-PACKAGECONFIG[speex]      = "-Dspeex=enabled,-Dspeex=disabled,speex"
-PACKAGECONFIG[rpi]        = "-Drpicamsrc=enabled,-Drpicamsrc=disabled,userland"
-PACKAGECONFIG[taglib]     = "-Dtaglib=enabled,-Dtaglib=disabled,taglib"
-PACKAGECONFIG[v4l2]       = "-Dv4l2=enabled -Dv4l2-probe=true,-Dv4l2=disabled -Dv4l2-probe=false"
-PACKAGECONFIG[vpx]        = "-Dvpx=enabled,-Dvpx=disabled,libvpx"
-PACKAGECONFIG[wavpack]    = "-Dwavpack=enabled,-Dwavpack=disabled,wavpack"
-PACKAGECONFIG[x11]        = "${X11ENABLEOPTS},${X11DISABLEOPTS},${X11DEPENDS}"
-
-EXTRA_OEMESON += " \
-    -Ddoc=disabled \
-    -Daalib=disabled \
-    -Ddirectsound=disabled \
-    -Ddv=disabled \
-    -Dlibcaca=disabled \
-    -Doss=enabled \
-    -Doss4=disabled \
-    -Dosxaudio=disabled \
-    -Dosxvideo=disabled \
-    -Dshout2=disabled \
-    -Dtwolame=disabled \
-    -Dwaveform=disabled \
-"
-
-FILES_${PN}-equalizer += "${datadir}/gstreamer-1.0/presets/*.prs"
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.18.4.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.18.4.bb
new file mode 100644
index 000000000..07cacdc68
--- /dev/null
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.18.4.bb
@@ -0,0 +1,77 @@
+require gstreamer1.0-plugins-common.inc
+
+DESCRIPTION = "'Good' GStreamer plugins"
+HOMEPAGE = "https://gstreamer.freedesktop.org/"
+BUGTRACKER = "https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues"
+
+SRC_URI = "https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${PV}.tar.xz \
+           file://0001-qt-include-ext-qt-gstqtgl.h-instead-of-gst-gl-gstglf.patch \
+           file://0002-rtpjitterbuffer-Fix-parsing-of-the-mediaclk-direct-f.patch \
+           "
+
+SRC_URI[sha256sum] = "b6e50e3a9bbcd56ee6ec71c33aa8332cc9c926b0c1fae995aac8b3040ebe39b0"
+
+S = "${WORKDIR}/gst-plugins-good-${PV}"
+
+LICENSE = "GPLv2+ & LGPLv2.1+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \
+                    file://gst/replaygain/rganalysis.c;beginline=1;endline=23;md5=b60ebefd5b2f5a8e0cab6bfee391a5fe"
+
+DEPENDS += "gstreamer1.0-plugins-base libcap zlib"
+RPROVIDES_${PN}-pulseaudio += "${PN}-pulse"
+RPROVIDES_${PN}-soup += "${PN}-souphttpsrc"
+
+PACKAGECONFIG ??= " \
+    ${GSTREAMER_ORC} \
+    ${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio x11', d)} \
+    ${@bb.utils.contains('TUNE_FEATURES', 'm64', 'asm', '', d)} \
+    bz2 cairo flac gdk-pixbuf gudev jpeg lame libpng mpg123 soup speex taglib v4l2 \
+"
+
+X11DEPENDS = "virtual/libx11 libsm libxrender libxfixes libxdamage"
+X11ENABLEOPTS = "-Dximagesrc=enabled -Dximagesrc-xshm=enabled -Dximagesrc-xfixes=enabled -Dximagesrc-xdamage=enabled"
+X11DISABLEOPTS = "-Dximagesrc=disabled -Dximagesrc-xshm=disabled -Dximagesrc-xfixes=disabled -Dximagesrc-xdamage=disabled"
+
+QT5WAYLANDDEPENDS = "${@bb.utils.contains("DISTRO_FEATURES", "wayland", "qtwayland", "", d)}"
+
+PACKAGECONFIG[asm]        = "-Dasm=enabled,-Dasm=disabled,nasm-native"
+PACKAGECONFIG[bz2]        = "-Dbz2=enabled,-Dbz2=disabled,bzip2"
+PACKAGECONFIG[cairo]      = "-Dcairo=enabled,-Dcairo=disabled,cairo"
+PACKAGECONFIG[dv1394]     = "-Ddv1394=enabled,-Ddv1394=disabled,libiec61883 libavc1394 libraw1394"
+PACKAGECONFIG[flac]       = "-Dflac=enabled,-Dflac=disabled,flac"
+PACKAGECONFIG[gdk-pixbuf] = "-Dgdk-pixbuf=enabled,-Dgdk-pixbuf=disabled,gdk-pixbuf"
+PACKAGECONFIG[gtk]        = "-Dgtk3=enabled,-Dgtk3=disabled,gtk+3"
+PACKAGECONFIG[gudev]      = "-Dv4l2-gudev=enabled,-Dv4l2-gudev=disabled,libgudev"
+PACKAGECONFIG[jack]       = "-Djack=enabled,-Djack=disabled,jack"
+PACKAGECONFIG[jpeg]       = "-Djpeg=enabled,-Djpeg=disabled,jpeg"
+PACKAGECONFIG[lame]       = "-Dlame=enabled,-Dlame=disabled,lame"
+PACKAGECONFIG[libpng]     = "-Dpng=enabled,-Dpng=disabled,libpng"
+PACKAGECONFIG[libv4l2]    = "-Dv4l2-libv4l2=enabled,-Dv4l2-libv4l2=disabled,v4l-utils"
+PACKAGECONFIG[mpg123]     = "-Dmpg123=enabled,-Dmpg123=disabled,mpg123"
+PACKAGECONFIG[pulseaudio] = "-Dpulse=enabled,-Dpulse=disabled,pulseaudio"
+PACKAGECONFIG[qt5]        = "-Dqt5=enabled,-Dqt5=disabled,qtbase qtdeclarative qtbase-native ${QT5WAYLANDDEPENDS}"
+PACKAGECONFIG[soup]       = "-Dsoup=enabled,-Dsoup=disabled,libsoup-2.4"
+PACKAGECONFIG[speex]      = "-Dspeex=enabled,-Dspeex=disabled,speex"
+PACKAGECONFIG[rpi]        = "-Drpicamsrc=enabled,-Drpicamsrc=disabled,userland"
+PACKAGECONFIG[taglib]     = "-Dtaglib=enabled,-Dtaglib=disabled,taglib"
+PACKAGECONFIG[v4l2]       = "-Dv4l2=enabled -Dv4l2-probe=true,-Dv4l2=disabled -Dv4l2-probe=false"
+PACKAGECONFIG[vpx]        = "-Dvpx=enabled,-Dvpx=disabled,libvpx"
+PACKAGECONFIG[wavpack]    = "-Dwavpack=enabled,-Dwavpack=disabled,wavpack"
+PACKAGECONFIG[x11]        = "${X11ENABLEOPTS},${X11DISABLEOPTS},${X11DEPENDS}"
+
+EXTRA_OEMESON += " \
+    -Ddoc=disabled \
+    -Daalib=disabled \
+    -Ddirectsound=disabled \
+    -Ddv=disabled \
+    -Dlibcaca=disabled \
+    -Doss=enabled \
+    -Doss4=disabled \
+    -Dosxaudio=disabled \
+    -Dosxvideo=disabled \
+    -Dshout2=disabled \
+    -Dtwolame=disabled \
+    -Dwaveform=disabled \
+"
+
+FILES_${PN}-equalizer += "${datadir}/gstreamer-1.0/presets/*.prs"
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.18.3.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.18.3.bb
deleted file mode 100644
index 876a9268a..000000000
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.18.3.bb
+++ /dev/null
@@ -1,43 +0,0 @@
-require gstreamer1.0-plugins-common.inc
-
-DESCRIPTION = "'Ugly GStreamer plugins"
-HOMEPAGE = "https://gstreamer.freedesktop.org/"
-BUGTRACKER = "https://gitlab.freedesktop.org/gstreamer/gst-plugins-ugly/-/issues"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \
-                    file://tests/check/elements/xingmux.c;beginline=1;endline=21;md5=4c771b8af188724855cb99cadd390068"
-
-LICENSE = "GPLv2+ & LGPLv2.1+ & LGPLv2+"
-LICENSE_FLAGS = "commercial"
-
-SRC_URI = " \
-            https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${PV}.tar.xz \
-            "
-SRC_URI[sha256sum] = "70f7429b25dd2f714eb18e80af61b1363b1f63019e16cd28e086e3a619eaa992"
-
-S = "${WORKDIR}/gst-plugins-ugly-${PV}"
-
-DEPENDS += "gstreamer1.0-plugins-base"
-
-GST_PLUGIN_SET_HAS_EXAMPLES = "0"
-
-PACKAGECONFIG ??= " \
-    ${GSTREAMER_ORC} \
-    a52dec mpeg2dec \
-"
-
-PACKAGECONFIG[a52dec]   = "-Da52dec=enabled,-Da52dec=disabled,liba52"
-PACKAGECONFIG[amrnb]    = "-Damrnb=enabled,-Damrnb=disabled,opencore-amr"
-PACKAGECONFIG[amrwb]    = "-Damrwbdec=enabled,-Damrwbdec=disabled,opencore-amr"
-PACKAGECONFIG[cdio]     = "-Dcdio=enabled,-Dcdio=disabled,libcdio"
-PACKAGECONFIG[dvdread]  = "-Ddvdread=enabled,-Ddvdread=disabled,libdvdread"
-PACKAGECONFIG[mpeg2dec] = "-Dmpeg2dec=enabled,-Dmpeg2dec=disabled,mpeg2dec"
-PACKAGECONFIG[x264]     = "-Dx264=enabled,-Dx264=disabled,x264"
-
-EXTRA_OEMESON += " \
-    -Ddoc=disabled \
-    -Dsidplay=disabled \
-"
-
-FILES_${PN}-amrnb += "${datadir}/gstreamer-1.0/presets/GstAmrnbEnc.prs"
-FILES_${PN}-x264 += "${datadir}/gstreamer-1.0/presets/GstX264Enc.prs"
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.18.4.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.18.4.bb
new file mode 100644
index 000000000..932fa7f6f
--- /dev/null
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.18.4.bb
@@ -0,0 +1,43 @@
+require gstreamer1.0-plugins-common.inc
+
+DESCRIPTION = "'Ugly GStreamer plugins"
+HOMEPAGE = "https://gstreamer.freedesktop.org/"
+BUGTRACKER = "https://gitlab.freedesktop.org/gstreamer/gst-plugins-ugly/-/issues"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \
+                    file://tests/check/elements/xingmux.c;beginline=1;endline=21;md5=4c771b8af188724855cb99cadd390068"
+
+LICENSE = "GPLv2+ & LGPLv2.1+ & LGPLv2+"
+LICENSE_FLAGS = "commercial"
+
+SRC_URI = " \
+            https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${PV}.tar.xz \
+            "
+SRC_URI[sha256sum] = "218df0ce0d31e8ca9cdeb01a3b0c573172cc9c21bb3d41811c7820145623d13c"
+
+S = "${WORKDIR}/gst-plugins-ugly-${PV}"
+
+DEPENDS += "gstreamer1.0-plugins-base"
+
+GST_PLUGIN_SET_HAS_EXAMPLES = "0"
+
+PACKAGECONFIG ??= " \
+    ${GSTREAMER_ORC} \
+    a52dec mpeg2dec \
+"
+
+PACKAGECONFIG[a52dec]   = "-Da52dec=enabled,-Da52dec=disabled,liba52"
+PACKAGECONFIG[amrnb]    = "-Damrnb=enabled,-Damrnb=disabled,opencore-amr"
+PACKAGECONFIG[amrwb]    = "-Damrwbdec=enabled,-Damrwbdec=disabled,opencore-amr"
+PACKAGECONFIG[cdio]     = "-Dcdio=enabled,-Dcdio=disabled,libcdio"
+PACKAGECONFIG[dvdread]  = "-Ddvdread=enabled,-Ddvdread=disabled,libdvdread"
+PACKAGECONFIG[mpeg2dec] = "-Dmpeg2dec=enabled,-Dmpeg2dec=disabled,mpeg2dec"
+PACKAGECONFIG[x264]     = "-Dx264=enabled,-Dx264=disabled,x264"
+
+EXTRA_OEMESON += " \
+    -Ddoc=disabled \
+    -Dsidplay=disabled \
+"
+
+FILES_${PN}-amrnb += "${datadir}/gstreamer-1.0/presets/GstAmrnbEnc.prs"
+FILES_${PN}-x264 += "${datadir}/gstreamer-1.0/presets/GstX264Enc.prs"
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.18.3.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.18.3.bb
deleted file mode 100644
index 90b6fc38d..000000000
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.18.3.bb
+++ /dev/null
@@ -1,26 +0,0 @@
-SUMMARY = "Python bindings for GStreamer 1.0"
-DESCRIPTION = "GStreamer Python binding overrides (complementing the bindings \
-provided by python-gi) "
-HOMEPAGE = "http://cgit.freedesktop.org/gstreamer/gst-python/"
-SECTION = "multimedia"
-
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=c34deae4e395ca07e725ab0076a5f740"
-
-SRC_URI = "https://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${PV}.tar.xz"
-SRC_URI[sha256sum] = "4e630735276e08ff4d70337aa5d91fd008e5f1ed3dc0993674cd5820e264259a"
-
-DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base python3-pygobject"
-RDEPENDS_${PN} += "gstreamer1.0 gstreamer1.0-plugins-base python3-pygobject"
-
-PNREAL = "gst-python"
-
-S = "${WORKDIR}/${PNREAL}-${PV}"
-
-EXTRA_OEMESON += "-Dlibpython-dir=${libdir}"
-
-# gobject-introspection is mandatory and cannot be configured
-REQUIRED_DISTRO_FEATURES = "gobject-introspection-data"
-UNKNOWN_CONFIGURE_WHITELIST_append = " introspection"
-
-inherit meson pkgconfig distutils3-base upstream-version-is-even gobject-introspection features_check
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.18.4.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.18.4.bb
new file mode 100644
index 000000000..49de3dac8
--- /dev/null
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.18.4.bb
@@ -0,0 +1,26 @@
+SUMMARY = "Python bindings for GStreamer 1.0"
+DESCRIPTION = "GStreamer Python binding overrides (complementing the bindings \
+provided by python-gi) "
+HOMEPAGE = "http://cgit.freedesktop.org/gstreamer/gst-python/"
+SECTION = "multimedia"
+
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=c34deae4e395ca07e725ab0076a5f740"
+
+SRC_URI = "https://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${PV}.tar.xz"
+SRC_URI[sha256sum] = "cb68e08a7e825e08b83a12a22dcd6e4f1b328a7b02a7ac84f42f68f4ddc7098e"
+
+DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base python3-pygobject"
+RDEPENDS_${PN} += "gstreamer1.0 gstreamer1.0-plugins-base python3-pygobject"
+
+PNREAL = "gst-python"
+
+S = "${WORKDIR}/${PNREAL}-${PV}"
+
+EXTRA_OEMESON += "-Dlibpython-dir=${libdir}"
+
+# gobject-introspection is mandatory and cannot be configured
+REQUIRED_DISTRO_FEATURES = "gobject-introspection-data"
+UNKNOWN_CONFIGURE_WHITELIST_append = " introspection"
+
+inherit meson pkgconfig distutils3-base upstream-version-is-even gobject-introspection features_check
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.18.3.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.18.3.bb
deleted file mode 100644
index d6aaa5df7..000000000
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.18.3.bb
+++ /dev/null
@@ -1,31 +0,0 @@
-SUMMARY = "A library on top of GStreamer for building an RTSP server"
-HOMEPAGE = "http://cgit.freedesktop.org/gstreamer/gst-rtsp-server/"
-SECTION = "multimedia"
-LICENSE = "LGPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=6762ed442b3822387a51c92d928ead0d"
-
-DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base"
-
-PNREAL = "gst-rtsp-server"
-
-SRC_URI = "https://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${PV}.tar.xz"
-
-SRC_URI[sha256sum] = "4f7757293b3d73dc49768b7392791668c4d0c21d41824624ffbd75c7f9ee0168"
-
-S = "${WORKDIR}/${PNREAL}-${PV}"
-
-inherit meson pkgconfig upstream-version-is-even gobject-introspection
-
-EXTRA_OEMESON += " \
-    -Ddoc=disabled \
-    -Dexamples=disabled \
-    -Dtests=disabled \
-"
-
-GIR_MESON_ENABLE_FLAG = "enabled"
-GIR_MESON_DISABLE_FLAG = "disabled"
-
-# Starting with 1.8.0 gst-rtsp-server includes dependency-less plugins as well
-require gstreamer1.0-plugins-packaging.inc
-
-CVE_PRODUCT += "gst-rtsp-server"
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.18.4.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.18.4.bb
new file mode 100644
index 000000000..f7bfe9898
--- /dev/null
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.18.4.bb
@@ -0,0 +1,31 @@
+SUMMARY = "A library on top of GStreamer for building an RTSP server"
+HOMEPAGE = "http://cgit.freedesktop.org/gstreamer/gst-rtsp-server/"
+SECTION = "multimedia"
+LICENSE = "LGPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=6762ed442b3822387a51c92d928ead0d"
+
+DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base"
+
+PNREAL = "gst-rtsp-server"
+
+SRC_URI = "https://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${PV}.tar.xz"
+
+SRC_URI[sha256sum] = "a46bb8de40b971a048580279d2660e616796f871ad3ed00c8a95fe4d273a6c94"
+
+S = "${WORKDIR}/${PNREAL}-${PV}"
+
+inherit meson pkgconfig upstream-version-is-even gobject-introspection
+
+EXTRA_OEMESON += " \
+    -Ddoc=disabled \
+    -Dexamples=disabled \
+    -Dtests=disabled \
+"
+
+GIR_MESON_ENABLE_FLAG = "enabled"
+GIR_MESON_DISABLE_FLAG = "disabled"
+
+# Starting with 1.8.0 gst-rtsp-server includes dependency-less plugins as well
+require gstreamer1.0-plugins-packaging.inc
+
+CVE_PRODUCT += "gst-rtsp-server"
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.18.3.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.18.3.bb
deleted file mode 100644
index 23040ad73..000000000
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.18.3.bb
+++ /dev/null
@@ -1,52 +0,0 @@
-SUMMARY = "VA-API support to GStreamer"
-DESCRIPTION = "gstreamer-vaapi consists of a collection of VA-API \
-based plugins for GStreamer and helper libraries: `vaapidecode', \
-`vaapiconvert', and `vaapisink'."
-
-REALPN = "gstreamer-vaapi"
-
-LICENSE = "LGPLv2.1+"
-LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c"
-
-SRC_URI = "https://gstreamer.freedesktop.org/src/${REALPN}/${REALPN}-${PV}.tar.xz"
-
-SRC_URI[sha256sum] = "ae9877f15757a661d4dfe6a09755a2faa959ab60752f14ca26b7ff10765e1f12"
-
-S = "${WORKDIR}/${REALPN}-${PV}"
-DEPENDS = "libva gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad"
-
-inherit meson pkgconfig features_check upstream-version-is-even
-
-REQUIRED_DISTRO_FEATURES ?= "opengl"
-
-EXTRA_OEMESON += " \
-    -Ddoc=disabled \
-    -Dexamples=disabled \
-    -Dtests=enabled \
-"
-
-PACKAGES =+ "${PN}-tests"
-
-# OpenGL packageconfig factored out to make it easy for distros
-# and BSP layers to pick either glx, egl, or no GL. By default,
-# try detecting X11 first, and if found (with OpenGL), use GLX,
-# otherwise try to check if EGL can be used.
-PACKAGECONFIG_GL ?= "${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'glx', \
-                        bb.utils.contains('DISTRO_FEATURES',     'opengl', 'egl', \
-                                                                       '', d), d)}"
-
-PACKAGECONFIG ??= "drm encoders \
-                   ${PACKAGECONFIG_GL} \
-                   ${@bb.utils.filter('DISTRO_FEATURES', 'wayland x11', d)}"
-
-PACKAGECONFIG[drm] = "-Dwith_drm=yes,-Dwith_drm=no,udev libdrm"
-PACKAGECONFIG[egl] = "-Dwith_egl=yes,-Dwith_egl=no,virtual/egl"
-PACKAGECONFIG[encoders] = "-Dwith_encoders=yes,-Dwith_encoders=no"
-PACKAGECONFIG[glx] = "-Dwith_glx=yes,-Dwith_glx=no,virtual/libgl"
-PACKAGECONFIG[wayland] = "-Dwith_wayland=yes,-Dwith_wayland=no,wayland-native wayland wayland-protocols"
-PACKAGECONFIG[x11] = "-Dwith_x11=yes,-Dwith_x11=no,virtual/libx11 libxrandr libxrender"
-
-FILES_${PN} += "${libdir}/gstreamer-*/*.so"
-FILES_${PN}-dbg += "${libdir}/gstreamer-*/.debug"
-FILES_${PN}-dev += "${libdir}/gstreamer-*/*.a"
-FILES_${PN}-tests = "${bindir}/*"
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.18.4.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.18.4.bb
new file mode 100644
index 000000000..a268d7954
--- /dev/null
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.18.4.bb
@@ -0,0 +1,53 @@
+SUMMARY = "VA-API support to GStreamer"
+HOMEPAGE = "https://gstreamer.freedesktop.org/"
+DESCRIPTION = "gstreamer-vaapi consists of a collection of VA-API \
+based plugins for GStreamer and helper libraries: `vaapidecode', \
+`vaapiconvert', and `vaapisink'."
+
+REALPN = "gstreamer-vaapi"
+
+LICENSE = "LGPLv2.1+"
+LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c"
+
+SRC_URI = "https://gstreamer.freedesktop.org/src/${REALPN}/${REALPN}-${PV}.tar.xz"
+
+SRC_URI[sha256sum] = "92db98af86f3150d429c9ab17e88d2364f9c07a140c8f445ed739e8f10252aea"
+
+S = "${WORKDIR}/${REALPN}-${PV}"
+DEPENDS = "libva gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad"
+
+inherit meson pkgconfig features_check upstream-version-is-even
+
+REQUIRED_DISTRO_FEATURES ?= "opengl"
+
+EXTRA_OEMESON += " \
+    -Ddoc=disabled \
+    -Dexamples=disabled \
+    -Dtests=enabled \
+"
+
+PACKAGES =+ "${PN}-tests"
+
+# OpenGL packageconfig factored out to make it easy for distros
+# and BSP layers to pick either glx, egl, or no GL. By default,
+# try detecting X11 first, and if found (with OpenGL), use GLX,
+# otherwise try to check if EGL can be used.
+PACKAGECONFIG_GL ?= "${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'glx', \
+                        bb.utils.contains('DISTRO_FEATURES',     'opengl', 'egl', \
+                                                                       '', d), d)}"
+
+PACKAGECONFIG ??= "drm encoders \
+                   ${PACKAGECONFIG_GL} \
+                   ${@bb.utils.filter('DISTRO_FEATURES', 'wayland x11', d)}"
+
+PACKAGECONFIG[drm] = "-Dwith_drm=yes,-Dwith_drm=no,udev libdrm"
+PACKAGECONFIG[egl] = "-Dwith_egl=yes,-Dwith_egl=no,virtual/egl"
+PACKAGECONFIG[encoders] = "-Dwith_encoders=yes,-Dwith_encoders=no"
+PACKAGECONFIG[glx] = "-Dwith_glx=yes,-Dwith_glx=no,virtual/libgl"
+PACKAGECONFIG[wayland] = "-Dwith_wayland=yes,-Dwith_wayland=no,wayland-native wayland wayland-protocols"
+PACKAGECONFIG[x11] = "-Dwith_x11=yes,-Dwith_x11=no,virtual/libx11 libxrandr libxrender"
+
+FILES_${PN} += "${libdir}/gstreamer-*/*.so"
+FILES_${PN}-dbg += "${libdir}/gstreamer-*/.debug"
+FILES_${PN}-dev += "${libdir}/gstreamer-*/*.a"
+FILES_${PN}-tests = "${bindir}/*"
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.18.3.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.18.3.bb
deleted file mode 100644
index 9cb07726e..000000000
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.18.3.bb
+++ /dev/null
@@ -1,70 +0,0 @@
-SUMMARY = "GStreamer 1.0 multimedia framework"
-DESCRIPTION = "GStreamer is a multimedia framework for encoding and decoding video and sound. \
-It supports a wide range of formats including mp3, ogg, avi, mpeg and quicktime."
-HOMEPAGE = "http://gstreamer.freedesktop.org/"
-BUGTRACKER = "https://bugzilla.gnome.org/enter_bug.cgi?product=Gstreamer"
-SECTION = "multimedia"
-LICENSE = "LGPLv2+"
-
-DEPENDS = "glib-2.0 glib-2.0-native libxml2 bison-native flex-native"
-
-inherit meson pkgconfig gettext upstream-version-is-even gobject-introspection
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=6762ed442b3822387a51c92d928ead0d \
-                    file://gst/gst.h;beginline=1;endline=21;md5=e059138481205ee2c6fc1c079c016d0d"
-
-S = "${WORKDIR}/gstreamer-${PV}"
-
-SRC_URI = "https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${PV}.tar.xz \
-           file://0001-gst-gstpluginloader.c-when-env-var-is-set-do-not-fal.patch \
-           file://0002-Remove-unused-valgrind-detection.patch \
-           file://0003-meson-Add-option-for-installed-tests.patch \
-           file://0001-tests-seek-Don-t-use-too-strict-timeout-for-validati.patch \
-           "
-SRC_URI[sha256sum] = "0c2e09e18f2df69a99b5cb3bd53c597b3cc2e35cf6c98043bb86a66f3d312100"
-
-PACKAGECONFIG ??= "${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)} \
-                   check \
-                   debug \
-                   tools"
-
-PACKAGECONFIG[debug] = "-Dgst_debug=true,-Dgst_debug=false"
-PACKAGECONFIG[tracer-hooks] = "-Dtracer_hooks=true,-Dtracer_hooks=false"
-PACKAGECONFIG[check] = "-Dcheck=enabled,-Dcheck=disabled"
-PACKAGECONFIG[tests] = "-Dtests=enabled -Dinstalled-tests=true,-Dtests=disabled -Dinstalled-tests=false"
-PACKAGECONFIG[unwind] = "-Dlibunwind=enabled,-Dlibunwind=disabled,libunwind"
-PACKAGECONFIG[dw] = "-Dlibdw=enabled,-Dlibdw=disabled,elfutils"
-PACKAGECONFIG[bash-completion] = "-Dbash-completion=enabled,-Dbash-completion=disabled,bash-completion"
-PACKAGECONFIG[tools] = "-Dtools=enabled,-Dtools=disabled"
-PACKAGECONFIG[setcap] = "-Dptp-helper-permissions=capabilities,,libcap libcap-native"
-
-# TODO: put this in a gettext.bbclass patch
-def gettext_oemeson(d):
-    if d.getVar('USE_NLS') == 'no':
-        return '-Dnls=disabled'
-    # Remove the NLS bits if USE_NLS is no or INHIBIT_DEFAULT_DEPS is set
-    if d.getVar('INHIBIT_DEFAULT_DEPS') and not oe.utils.inherits(d, 'cross-canadian'):
-        return '-Dnls=disabled'
-    return '-Dnls=enabled'
-
-EXTRA_OEMESON += " \
-    -Ddoc=disabled \
-    -Dexamples=disabled \
-    -Ddbghelp=disabled \
-    ${@gettext_oemeson(d)} \
-"
-
-GIR_MESON_ENABLE_FLAG = "enabled"
-GIR_MESON_DISABLE_FLAG = "disabled"
-
-PACKAGES += "${PN}-bash-completion"
-
-# Add the core element plugins to the main package
-FILES_${PN} += "${libdir}/gstreamer-1.0/*.so"
-FILES_${PN}-dev += "${libdir}/gstreamer-1.0/*.a ${libdir}/gstreamer-1.0/include"
-FILES_${PN}-bash-completion += "${datadir}/bash-completion/completions/ ${datadir}/bash-completion/helpers/gst*"
-FILES_${PN}-dbg += "${datadir}/gdb ${datadir}/gstreamer-1.0/gdb"
-
-CVE_PRODUCT = "gstreamer"
-
-require gstreamer1.0-ptest.inc
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.18.4.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.18.4.bb
new file mode 100644
index 000000000..856207096
--- /dev/null
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.18.4.bb
@@ -0,0 +1,71 @@
+SUMMARY = "GStreamer 1.0 multimedia framework"
+DESCRIPTION = "GStreamer is a multimedia framework for encoding and decoding video and sound. \
+It supports a wide range of formats including mp3, ogg, avi, mpeg and quicktime."
+HOMEPAGE = "http://gstreamer.freedesktop.org/"
+BUGTRACKER = "https://bugzilla.gnome.org/enter_bug.cgi?product=Gstreamer"
+SECTION = "multimedia"
+LICENSE = "LGPLv2+"
+
+DEPENDS = "glib-2.0 glib-2.0-native libxml2 bison-native flex-native"
+
+inherit meson pkgconfig gettext upstream-version-is-even gobject-introspection
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=6762ed442b3822387a51c92d928ead0d \
+                    file://gst/gst.h;beginline=1;endline=21;md5=e059138481205ee2c6fc1c079c016d0d"
+
+S = "${WORKDIR}/gstreamer-${PV}"
+
+SRC_URI = "https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${PV}.tar.xz \
+           file://0001-gst-gstpluginloader.c-when-env-var-is-set-do-not-fal.patch \
+           file://0002-Remove-unused-valgrind-detection.patch \
+           file://0003-meson-Add-option-for-installed-tests.patch \
+           file://0001-tests-seek-Don-t-use-too-strict-timeout-for-validati.patch \
+           "
+SRC_URI[sha256sum] = "9aeec99b38e310817012aa2d1d76573b787af47f8a725a65b833880a094dfbc5"
+
+PACKAGECONFIG ??= "${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)} \
+                   check \
+                   debug \
+                   tools"
+
+PACKAGECONFIG[debug] = "-Dgst_debug=true,-Dgst_debug=false"
+PACKAGECONFIG[tracer-hooks] = "-Dtracer_hooks=true,-Dtracer_hooks=false"
+PACKAGECONFIG[coretracers] = "-Dcoretracers=enabled,-Dcoretracers=disabled"
+PACKAGECONFIG[check] = "-Dcheck=enabled,-Dcheck=disabled"
+PACKAGECONFIG[tests] = "-Dtests=enabled -Dinstalled-tests=true,-Dtests=disabled -Dinstalled-tests=false"
+PACKAGECONFIG[unwind] = "-Dlibunwind=enabled,-Dlibunwind=disabled,libunwind"
+PACKAGECONFIG[dw] = "-Dlibdw=enabled,-Dlibdw=disabled,elfutils"
+PACKAGECONFIG[bash-completion] = "-Dbash-completion=enabled,-Dbash-completion=disabled,bash-completion"
+PACKAGECONFIG[tools] = "-Dtools=enabled,-Dtools=disabled"
+PACKAGECONFIG[setcap] = "-Dptp-helper-permissions=capabilities,,libcap libcap-native"
+
+# TODO: put this in a gettext.bbclass patch
+def gettext_oemeson(d):
+    if d.getVar('USE_NLS') == 'no':
+        return '-Dnls=disabled'
+    # Remove the NLS bits if USE_NLS is no or INHIBIT_DEFAULT_DEPS is set
+    if d.getVar('INHIBIT_DEFAULT_DEPS') and not oe.utils.inherits(d, 'cross-canadian'):
+        return '-Dnls=disabled'
+    return '-Dnls=enabled'
+
+EXTRA_OEMESON += " \
+    -Ddoc=disabled \
+    -Dexamples=disabled \
+    -Ddbghelp=disabled \
+    ${@gettext_oemeson(d)} \
+"
+
+GIR_MESON_ENABLE_FLAG = "enabled"
+GIR_MESON_DISABLE_FLAG = "disabled"
+
+PACKAGES += "${PN}-bash-completion"
+
+# Add the core element plugins to the main package
+FILES_${PN} += "${libdir}/gstreamer-1.0/*.so"
+FILES_${PN}-dev += "${libdir}/gstreamer-1.0/*.a ${libdir}/gstreamer-1.0/include"
+FILES_${PN}-bash-completion += "${datadir}/bash-completion/completions/ ${datadir}/bash-completion/helpers/gst*"
+FILES_${PN}-dbg += "${datadir}/gdb ${datadir}/gstreamer-1.0/gdb"
+
+CVE_PRODUCT = "gstreamer"
+
+require gstreamer1.0-ptest.inc
diff --git a/poky/meta/recipes-rt/rt-tests/rt-tests_1.10.bb b/poky/meta/recipes-rt/rt-tests/rt-tests_1.10.bb
index 2834cabcd..89e3323b6 100644
--- a/poky/meta/recipes-rt/rt-tests/rt-tests_1.10.bb
+++ b/poky/meta/recipes-rt/rt-tests/rt-tests_1.10.bb
@@ -1,5 +1,6 @@
 SUMMARY = "Real-Time preemption testcases"
-HOMEPAGE = "https://rt.wiki.kernel.org/index.php/Cyclictest"
+HOMEPAGE = "https://wiki.linuxfoundation.org/realtime/documentation/start"
+DESCRIPTION = "The main aim of the PREEMPT_RT patch is to minimize the amount of kernel code that is non-preemptible Therefore several substitution mechanisms and new mechanisms are implemented."
 SECTION = "tests"
 DEPENDS = "linux-libc-headers virtual/libc numactl"
 LICENSE = "GPLv2 & GPLv2+"
diff --git a/poky/meta/recipes-sato/webkit/webkitgtk/0001-Extend-atomics-check-to-include-1-byte-CAS-test.patch b/poky/meta/recipes-sato/webkit/webkitgtk/0001-Extend-atomics-check-to-include-1-byte-CAS-test.patch
new file mode 100644
index 000000000..93bda4d75
--- /dev/null
+++ b/poky/meta/recipes-sato/webkit/webkitgtk/0001-Extend-atomics-check-to-include-1-byte-CAS-test.patch
@@ -0,0 +1,77 @@
+From 40520b0de69d8ca8e659248f5ffe641f33cc6dee Mon Sep 17 00:00:00 2001
+From: Khem Raj 
+Date: Tue, 9 Mar 2021 14:16:58 -0800
+Subject: [PATCH] Extend atomics check to include 1-byte CAS test
+
+Rename ATOMIC_INT64_REQUIRES_LIBATOMIC to ATOMICS_REQUIRE_LIBATOMIC so
+it can reflect broader range which is now checked
+
+Rename ATOMIC_INT64_IS_BUILTIN to ATOMICS_ARE_BUILTIN
+
+Upstream-Status: Submitted [https://bugs.webkit.org/attachment.cgi?bugid=222959]
+Signed-off-by: Khem Raj 
+---
+ Source/JavaScriptCore/CMakeLists.txt   |  2 +-
+ Source/WebKit/CMakeLists.txt           |  2 +-
+ Source/cmake/WebKitCompilerFlags.cmake | 15 ++++++++++-----
+ 3 files changed, 12 insertions(+), 7 deletions(-)
+
+--- a/Source/JavaScriptCore/CMakeLists.txt
++++ b/Source/JavaScriptCore/CMakeLists.txt
+@@ -129,7 +129,7 @@ if (USE_CAPSTONE)
+     list(APPEND JavaScriptCore_LIBRARIES capstone)
+ endif ()
+ 
+-if (ATOMIC_INT64_REQUIRES_LIBATOMIC)
++if (ATOMICS_REQUIRE_LIBATOMIC)
+     list(APPEND JavaScriptCore_LIBRARIES atomic)
+ endif ()
+ 
+--- a/Source/WebKit/CMakeLists.txt
++++ b/Source/WebKit/CMakeLists.txt
+@@ -337,7 +337,7 @@ if (USE_LIBWEBRTC)
+     list(APPEND WebKit_LIBRARIES webrtc)
+ endif ()
+ 
+-if (ATOMIC_INT64_REQUIRES_LIBATOMIC)
++if (ATOMICS_REQUIRE_LIBATOMIC)
+     list(APPEND WebKit_PRIVATE_LIBRARIES atomic)
+ endif ()
+ 
+--- a/Source/cmake/WebKitCompilerFlags.cmake
++++ b/Source/cmake/WebKitCompilerFlags.cmake
+@@ -280,12 +280,17 @@ endif ()
+ if (COMPILER_IS_GCC_OR_CLANG)
+     set(ATOMIC_TEST_SOURCE "
+         #include 
+-        int main() { std::atomic i(0); i++; return 0; }
++        int main() {
++          std::atomic i(0);
++          std::atomic j(0);
++          i++; j++;
++          return 0;
++        }
+     ")
+-    check_cxx_source_compiles("${ATOMIC_TEST_SOURCE}" ATOMIC_INT64_IS_BUILTIN)
+-    if (NOT ATOMIC_INT64_IS_BUILTIN)
++    check_cxx_source_compiles("${ATOMIC_TEST_SOURCE}" ATOMICS_ARE_BUILTIN)
++    if (NOT ATOMICS_ARE_BUILTIN)
+         set(CMAKE_REQUIRED_LIBRARIES atomic)
+-        check_cxx_source_compiles("${ATOMIC_TEST_SOURCE}" ATOMIC_INT64_REQUIRES_LIBATOMIC)
++        check_cxx_source_compiles("${ATOMIC_TEST_SOURCE}" ATOMICS_REQUIRE_LIBATOMIC)
+         unset(CMAKE_REQUIRED_LIBRARIES)
+     endif ()
+ endif ()
+--- a/Source/WTF/wtf/CMakeLists.txt
++++ b/Source/WTF/wtf/CMakeLists.txt
+@@ -529,6 +529,10 @@ list(APPEND WTF_LIBRARIES
+     ICU::uc
+ )
+ 
++if (ATOMICS_REQUIRE_LIBATOMIC)
++    list(APPEND WTF_LIBRARIES atomic)
++endif ()
++
+ set(WTF_INTERFACE_LIBRARIES WTF)
+ set(WTF_INTERFACE_INCLUDE_DIRECTORIES ${WTF_FRAMEWORK_HEADERS_DIR})
+ set(WTF_INTERFACE_DEPENDENCIES WTF_CopyHeaders)
diff --git a/poky/meta/recipes-sato/webkit/webkitgtk/0001-Fix-build-with-musl.patch b/poky/meta/recipes-sato/webkit/webkitgtk/0001-Fix-build-with-musl.patch
index 6dcb52956..a13b394fd 100644
--- a/poky/meta/recipes-sato/webkit/webkitgtk/0001-Fix-build-with-musl.patch
+++ b/poky/meta/recipes-sato/webkit/webkitgtk/0001-Fix-build-with-musl.patch
@@ -11,11 +11,9 @@ Signed-off-by: Alexander Kanavin 
  Source/WTF/wtf/PlatformHave.h                  |  2 +-
  2 files changed, 6 insertions(+), 6 deletions(-)
 
-diff --git a/Source/JavaScriptCore/runtime/MachineContext.h b/Source/JavaScriptCore/runtime/MachineContext.h
-index c5052527..95ef98b5 100644
 --- a/Source/JavaScriptCore/runtime/MachineContext.h
 +++ b/Source/JavaScriptCore/runtime/MachineContext.h
-@@ -196,7 +196,7 @@ static inline void*& stackPointerImpl(mcontext_t& machineContext)
+@@ -196,7 +196,7 @@ static inline void*& stackPointerImpl(mc
  #error Unknown Architecture
  #endif
  
@@ -24,7 +22,7 @@ index c5052527..95ef98b5 100644
  
  #if CPU(X86)
      return reinterpret_cast((uintptr_t&) machineContext.gregs[REG_ESP]);
-@@ -347,7 +347,7 @@ static inline void*& framePointerImpl(mcontext_t& machineContext)
+@@ -347,7 +347,7 @@ static inline void*& framePointerImpl(mc
  #error Unknown Architecture
  #endif
  
@@ -33,7 +31,7 @@ index c5052527..95ef98b5 100644
  
  // The following sequence depends on glibc's sys/ucontext.h.
  #if CPU(X86)
-@@ -498,7 +498,7 @@ static inline void*& instructionPointerImpl(mcontext_t& machineContext)
+@@ -498,7 +498,7 @@ static inline void*& instructionPointerI
  #error Unknown Architecture
  #endif
  
@@ -42,7 +40,7 @@ index c5052527..95ef98b5 100644
  
  // The following sequence depends on glibc's sys/ucontext.h.
  #if CPU(X86)
-@@ -656,7 +656,7 @@ inline void*& argumentPointer<1>(mcontext_t& machineContext)
+@@ -656,7 +656,7 @@ inline void*& argumentPointer<1>(mcontex
  #error Unknown Architecture
  #endif
  
@@ -51,7 +49,7 @@ index c5052527..95ef98b5 100644
  
  // The following sequence depends on glibc's sys/ucontext.h.
  #if CPU(X86)
-@@ -773,7 +773,7 @@ inline void*& llintInstructionPointer(mcontext_t& machineContext)
+@@ -773,7 +773,7 @@ inline void*& llintInstructionPointer(mc
  #error Unknown Architecture
  #endif
  
@@ -60,11 +58,9 @@ index c5052527..95ef98b5 100644
  
  // The following sequence depends on glibc's sys/ucontext.h.
  #if CPU(X86)
-diff --git a/Source/WTF/wtf/PlatformHave.h b/Source/WTF/wtf/PlatformHave.h
-index daca20fe..53eae6ba 100644
 --- a/Source/WTF/wtf/PlatformHave.h
 +++ b/Source/WTF/wtf/PlatformHave.h
-@@ -222,7 +222,7 @@
+@@ -202,7 +202,7 @@
  #define HAVE_HOSTED_CORE_ANIMATION 1
  #endif
  
@@ -73,3 +69,23 @@ index daca20fe..53eae6ba 100644
  #define HAVE_MACHINE_CONTEXT 1
  #endif
  
+--- a/Source/WebCore/xml/XPathGrammar.cpp
++++ b/Source/WebCore/xml/XPathGrammar.cpp
+@@ -966,7 +966,7 @@ int yydebug;
+ #if YYERROR_VERBOSE
+ 
+ # ifndef yystrlen
+-#  if defined __GLIBC__ && defined _STRING_H
++#  if defined __linux__ && defined _STRING_H
+ #   define yystrlen strlen
+ #  else
+ /* Return the length of YYSTR.  */
+@@ -989,7 +989,7 @@ yystrlen (yystr)
+ # endif
+ 
+ # ifndef yystpcpy
+-#  if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
++#  if defined __linux__ && defined _STRING_H && defined _GNU_SOURCE
+ #   define yystpcpy stpcpy
+ #  else
+ /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
diff --git a/poky/meta/recipes-sato/webkit/webkitgtk/musl-lower-stack-usage.patch b/poky/meta/recipes-sato/webkit/webkitgtk/musl-lower-stack-usage.patch
new file mode 100644
index 000000000..dc3a71d93
--- /dev/null
+++ b/poky/meta/recipes-sato/webkit/webkitgtk/musl-lower-stack-usage.patch
@@ -0,0 +1,74 @@
+reduce thread stack and heap usage for javascriptcore on musl
+
+default sizes for musl are smaller compared to glibc, this matches
+to musl defaults, avoid stack overflow crashes in jscore
+
+This is based on Alpine Linux's patch based on suggestion from
+https://bugs.webkit.org/show_bug.cgi?id=187485
+
+Real solution would entail more as the suggestions to increase
+stack size via -Wl,-z,stack-size=N does not work fully and also
+setting DEFAULT_THREAD_STACK_SIZE_IN_KB alone is not enough either
+
+This patch only changes behavior when using musl, the defaults for
+glibc in OE remains same
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj 
+
+--- a/Source/JavaScriptCore/runtime/OptionsList.h
++++ b/Source/JavaScriptCore/runtime/OptionsList.h
+@@ -75,6 +75,18 @@ constexpr bool enableWebAssemblyStreamin
+ // On instantiation of the first VM instance, the Options will be write protected
+ // and cannot be modified thereafter.
+ 
++#if OS(LINUX) && !defined(__GLIBC__)
++// non-glibc options on linux ( musl )
++constexpr unsigned jscMaxPerThreadStack = 128 * KB;
++constexpr unsigned jscSoftReservedZoneSize = 32 * KB;
++constexpr unsigned jscReservedZoneSize = 16 * KB;
++#else
++//default
++constexpr unsigned jscMaxPerThreadStack = 4 * MB;
++constexpr unsigned jscSoftReservedZoneSize = 128 * KB;
++constexpr unsigned jscReservedZoneSize = 64 * KB;
++#endif
++
+ #define FOR_EACH_JSC_OPTION(v)                                          \
+     v(Bool, useKernTCSM, defaultTCSMValue(), Normal, "Note: this needs to go before other options since they depend on this value.") \
+     v(Bool, validateOptions, false, Normal, "crashes if mis-typed JSC options were passed to the VM") \
+@@ -90,9 +102,9 @@ constexpr bool enableWebAssemblyStreamin
+     \
+     v(Bool, reportMustSucceedExecutableAllocations, false, Normal, nullptr) \
+     \
+-    v(Unsigned, maxPerThreadStackUsage, 5 * MB, Normal, "Max allowed stack usage by the VM") \
+-    v(Unsigned, softReservedZoneSize, 128 * KB, Normal, "A buffer greater than reservedZoneSize that reserves space for stringifying exceptions.") \
+-    v(Unsigned, reservedZoneSize, 64 * KB, Normal, "The amount of stack space we guarantee to our clients (and to interal VM code that does not call out to clients).") \
++    v(Unsigned, maxPerThreadStackUsage, jscMaxPerThreadStack, Normal, "Max allowed stack usage by the VM") \
++    v(Unsigned, softReservedZoneSize, jscSoftReservedZoneSize, Normal, "A buffer greater than reservedZoneSize that reserves space for stringifying exceptions.") \
++    v(Unsigned, reservedZoneSize, jscReservedZoneSize, Normal, "The amount of stack space we guarantee to our clients (and to interal VM code that does not call out to clients).") \
+     \
+     v(Bool, crashOnDisallowedVMEntry, ASSERT_ENABLED, Normal, "Forces a crash if we attempt to enter the VM when disallowed") \
+     v(Bool, crashIfCantAllocateJITMemory, false, Normal, nullptr) \
+@@ -601,7 +613,7 @@ public:
+     bool init(const char*);
+     bool isInRange(unsigned);
+     const char* rangeString() const { return (m_state > InitError) ? m_rangeString : s_nullRangeStr; }
+-    
++
+     void dump(PrintStream& out) const;
+ 
+ private:
+--- a/Source/WTF/wtf/Threading.h
++++ b/Source/WTF/wtf/Threading.h
+@@ -56,6 +56,10 @@
+ #include 
+ #endif
+ 
++#if OS(LINUX) && !defined(__GLIBC__)
++#define DEFAULT_THREAD_STACK_SIZE_IN_KB 128
++#endif
++
+ namespace WTF {
+ 
+ class AbstractLocker;
diff --git a/poky/meta/recipes-sato/webkit/webkitgtk/reduce-memory-overheads.patch b/poky/meta/recipes-sato/webkit/webkitgtk/reduce-memory-overheads.patch
new file mode 100644
index 000000000..0493150a9
--- /dev/null
+++ b/poky/meta/recipes-sato/webkit/webkitgtk/reduce-memory-overheads.patch
@@ -0,0 +1,22 @@
+From: Alberto Garcia 
+Subject: Reduce memory usage when not using the Gold linker
+Bug-Debian: https://bugs.debian.org/949621
+Forwarded: no
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj 
+--- a/Source/cmake/OptionsCommon.cmake
++++ b/Source/cmake/OptionsCommon.cmake
+@@ -95,6 +95,12 @@ option(GCC_OFFLINEASM_SOURCE_MAP
+   "Produce debug line information for offlineasm-generated code"
+   ${GCC_OFFLINEASM_SOURCE_MAP_DEFAULT})
+ 
++# Pass --reduce-memory-overheads to the bfd linker in order to save memory
++if (NOT USE_LD_GOLD)
++    set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--reduce-memory-overheads")
++    set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--reduce-memory-overheads")
++endif ()
++
+ # Enable the usage of OpenMP.
+ #  - At this moment, OpenMP is only used as an alternative implementation
+ #    to native threads for the parallelization of the SVG filters.
diff --git a/poky/meta/recipes-sato/webkit/webkitgtk_2.30.5.bb b/poky/meta/recipes-sato/webkit/webkitgtk_2.30.5.bb
index 2928b8e55..ff4c496e2 100644
--- a/poky/meta/recipes-sato/webkit/webkitgtk_2.30.5.bb
+++ b/poky/meta/recipes-sato/webkit/webkitgtk_2.30.5.bb
@@ -18,7 +18,11 @@ SRC_URI = "https://www.webkitgtk.org/releases/${BPN}-${PV}.tar.xz \
            file://0001-Fix-build-with-musl.patch \
            file://include_array.patch \
            file://include_xutil.patch \
+           file://reduce-memory-overheads.patch \
+           file://0001-Extend-atomics-check-to-include-1-byte-CAS-test.patch \
+           file://musl-lower-stack-usage.patch \
            "
+
 SRC_URI[sha256sum] = "7d0dab08e3c5ae07bec80b2822ef42e952765d5724cac86eb23999bfed5a7f1f"
 
 inherit cmake pkgconfig gobject-introspection perlnative features_check upstream-version-is-even gtk-doc
@@ -55,6 +59,7 @@ PACKAGECONFIG[libhyphen] = "-DUSE_LIBHYPHEN=ON,-DUSE_LIBHYPHEN=OFF,libhyphen"
 PACKAGECONFIG[woff2] = "-DUSE_WOFF2=ON,-DUSE_WOFF2=OFF,woff2"
 PACKAGECONFIG[openjpeg] = "-DUSE_OPENJPEG=ON,-DUSE_OPENJPEG=OFF,openjpeg"
 PACKAGECONFIG[systemd] = "-DUSE_SYSTEMD=ON,-DUSE_SYSTEMD=off,systemd"
+PACKAGECONFIG[reduce-size] = "-DCMAKE_BUILD_TYPE=MinSizeRel,-DCMAKE_BUILD_TYPE=Release,,"
 
 # webkitgtk is full of /usr/bin/env python, particular for generating docs
 do_configure[postfuncs] += "setup_python_link"
@@ -66,7 +71,6 @@ setup_python_link() {
 
 EXTRA_OECMAKE = " \
 		-DPORT=GTK \
-		-DCMAKE_BUILD_TYPE=Release \
 		${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-DENABLE_INTROSPECTION=ON', '-DENABLE_INTROSPECTION=OFF', d)} \
 		${@bb.utils.contains('GTKDOC_ENABLED', 'True', '-DENABLE_GTKDOC=ON', '-DENABLE_GTKDOC=OFF', d)} \
 		-DENABLE_MINIBROWSER=ON \
diff --git a/poky/meta/recipes-support/attr/attr_2.4.48.bb b/poky/meta/recipes-support/attr/attr_2.4.48.bb
deleted file mode 100644
index 530d4e488..000000000
--- a/poky/meta/recipes-support/attr/attr_2.4.48.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-require attr.inc
-
-SRC_URI[md5sum] = "bc1e5cb5c96d99b24886f1f527d3bb3d"
-SRC_URI[sha256sum] = "5ead72b358ec709ed00bbf7a9eaef1654baad937c001c044fe8b74c57f5324e7"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-support/attr/attr_2.5.1.bb b/poky/meta/recipes-support/attr/attr_2.5.1.bb
new file mode 100644
index 000000000..5c5f7bcff
--- /dev/null
+++ b/poky/meta/recipes-support/attr/attr_2.5.1.bb
@@ -0,0 +1,5 @@
+require attr.inc
+
+SRC_URI[sha256sum] = "bae1c6949b258a0d68001367ce0c741cebdacdd3b62965d17e5eb23cd78adaf8"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-support/bmap-tools/bmap-tools_3.5.bb b/poky/meta/recipes-support/bmap-tools/bmap-tools_3.5.bb
deleted file mode 100644
index fd57f8f7f..000000000
--- a/poky/meta/recipes-support/bmap-tools/bmap-tools_3.5.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-SUMMARY = "Tools to generate block map (AKA bmap) and flash images using bmap"
-DESCRIPTION = "Bmap-tools - tools to generate block map (AKA bmap) and flash images using \
-bmap. Bmaptool is a generic tool for creating the block map (bmap) for a file, \
-and copying files using the block map. The idea is that large file containing \
-unused blocks, like raw system image files, can be copied or flashed a lot \
-faster with bmaptool than with traditional tools like "dd" or "cp"."
-HOMEPAGE = "https://github.com/01org/bmap-tools"
-SECTION = "console/utils"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-SRC_URI = "git://github.com/intel/${BPN}"
-
-SRCREV = "a17f0e3ff8669dd3b1c44a741ae4f8162155faed"
-S = "${WORKDIR}/git"
-PV .= "+git${SRCPV}"
-
-UPSTREAM_CHECK_GITTAGREGEX = "v(?P\d+(\.\d+)+)"
-
-RDEPENDS_${PN} = "python3-core python3-compression python3-mmap python3-setuptools python3-fcntl python3-six"
-
-inherit python3native
-inherit setuptools3
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-support/bmap-tools/bmap-tools_3.6.bb b/poky/meta/recipes-support/bmap-tools/bmap-tools_3.6.bb
new file mode 100644
index 000000000..611c0fb68
--- /dev/null
+++ b/poky/meta/recipes-support/bmap-tools/bmap-tools_3.6.bb
@@ -0,0 +1,26 @@
+SUMMARY = "Tools to generate block map (AKA bmap) and flash images using bmap"
+DESCRIPTION = "Bmap-tools - tools to generate block map (AKA bmap) and flash images using \
+bmap. Bmaptool is a generic tool for creating the block map (bmap) for a file, \
+and copying files using the block map. The idea is that large file containing \
+unused blocks, like raw system image files, can be copied or flashed a lot \
+faster with bmaptool than with traditional tools like "dd" or "cp"."
+HOMEPAGE = "https://github.com/01org/bmap-tools"
+SECTION = "console/utils"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+SRC_URI = "git://github.com/intel/${BPN}"
+
+SRCREV = "c0673962a8ec1624b5189dc1d24f33fe4f06785a"
+S = "${WORKDIR}/git"
+PV .= "+git${SRCPV}"
+
+UPSTREAM_CHECK_GITTAGREGEX = "v(?P\d+(\.\d+)+)"
+
+# Need df from coreutils
+RDEPENDS_${PN} = "python3-core python3-compression python3-mmap python3-setuptools python3-fcntl python3-six coreutils"
+
+inherit python3native
+inherit setuptools3
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-support/boost/boost-build-native_4.3.0.bb b/poky/meta/recipes-support/boost/boost-build-native_4.3.0.bb
index 258f8c9cd..19e991e65 100644
--- a/poky/meta/recipes-support/boost/boost-build-native_4.3.0.bb
+++ b/poky/meta/recipes-support/boost/boost-build-native_4.3.0.bb
@@ -1,4 +1,6 @@
 SUMMARY = "Boost.Build"
+DESCRIPTION = "B2 makes it easy to build C++ projects, everywhere."
+HOMEPAGE = "https://github.com/boostorg/build"
 SECTION = "devel"
 
 LICENSE = "BSL-1.0"
diff --git a/poky/meta/recipes-support/gnutls/gnutls_3.7.0.bb b/poky/meta/recipes-support/gnutls/gnutls_3.7.0.bb
deleted file mode 100644
index 1aa94ece3..000000000
--- a/poky/meta/recipes-support/gnutls/gnutls_3.7.0.bb
+++ /dev/null
@@ -1,69 +0,0 @@
-SUMMARY = "GNU Transport Layer Security Library"
-DESCRIPTION = "a secure communications library implementing the SSL, \
-TLS and DTLS protocols and technologies around them."
-HOMEPAGE = "https://gnutls.org/"
-BUGTRACKER = "https://savannah.gnu.org/support/?group=gnutls"
-
-LICENSE = "GPLv3+ & LGPLv2.1+"
-LICENSE_${PN} = "LGPLv2.1+"
-LICENSE_${PN}-xx = "LGPLv2.1+"
-LICENSE_${PN}-bin = "GPLv3+"
-LICENSE_${PN}-openssl = "GPLv3+"
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=71391c8e0c1cfe68077e7fce3b586283 \
-                    file://doc/COPYING;md5=c678957b0c8e964aa6c70fd77641a71e \
-                    file://doc/COPYING.LESSER;md5=a6f89e2100d9b6cdffcea4f398e37343"
-
-DEPENDS = "nettle gmp virtual/libiconv libunistring"
-DEPENDS_append_libc-musl = " argp-standalone"
-
-SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}"
-
-SRC_URI = "https://www.gnupg.org/ftp/gcrypt/gnutls/v${SHRT_VER}/gnutls-${PV}.tar.xz \
-           file://arm_eabi.patch \
-           "
-
-SRC_URI[sha256sum] = "49e2a22691d252c9f24a9829b293a8f359095bc5a818351f05f1c0a5188a1df8"
-
-inherit autotools texinfo pkgconfig gettext lib_package gtk-doc
-
-PACKAGECONFIG ??= "libidn"
-
-# You must also have CONFIG_SECCOMP enabled in the kernel for
-# seccomp to work.
-PACKAGECONFIG[seccomp] = "ac_cv_libseccomp=yes,ac_cv_libseccomp=no,libseccomp"
-PACKAGECONFIG[libidn] = "--with-idn,--without-idn,libidn2"
-PACKAGECONFIG[libtasn1] = "--with-included-libtasn1=no,--with-included-libtasn1,libtasn1"
-PACKAGECONFIG[p11-kit] = "--with-p11-kit,--without-p11-kit,p11-kit"
-PACKAGECONFIG[tpm] = "--with-tpm,--without-tpm,trousers"
-
-EXTRA_OECONF = " \
-    --enable-doc \
-    --disable-libdane \
-    --disable-guile \
-    --disable-rpath \
-    --enable-local-libopts \
-    --enable-openssl-compatibility \
-    --with-libpthread-prefix=${STAGING_DIR_HOST}${prefix} \
-    --with-librt-prefix=${STAGING_DIR_HOST}${prefix} \
-    --with-default-trust-store-file=${sysconfdir}/ssl/certs/ca-certificates.crt \
-"
-
-# Otherwise the tools try and use HOSTTOOLS_DIR/bash as a shell.
-export POSIX_SHELL="${base_bindir}/sh"
-
-LDFLAGS_append_libc-musl = " -largp"
-
-do_configure_prepend() {
-	for dir in . lib; do
-		rm -f ${dir}/aclocal.m4 ${dir}/m4/libtool.m4 ${dir}/m4/lt*.m4
-	done
-}
-
-PACKAGES =+ "${PN}-openssl ${PN}-xx"
-
-FILES_${PN}-dev += "${bindir}/gnutls-cli-debug"
-FILES_${PN}-openssl = "${libdir}/libgnutls-openssl.so.*"
-FILES_${PN}-xx = "${libdir}/libgnutlsxx.so.*"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-support/gnutls/gnutls_3.7.1.bb b/poky/meta/recipes-support/gnutls/gnutls_3.7.1.bb
new file mode 100644
index 000000000..51d472c82
--- /dev/null
+++ b/poky/meta/recipes-support/gnutls/gnutls_3.7.1.bb
@@ -0,0 +1,69 @@
+SUMMARY = "GNU Transport Layer Security Library"
+DESCRIPTION = "a secure communications library implementing the SSL, \
+TLS and DTLS protocols and technologies around them."
+HOMEPAGE = "https://gnutls.org/"
+BUGTRACKER = "https://savannah.gnu.org/support/?group=gnutls"
+
+LICENSE = "GPLv3+ & LGPLv2.1+"
+LICENSE_${PN} = "LGPLv2.1+"
+LICENSE_${PN}-xx = "LGPLv2.1+"
+LICENSE_${PN}-bin = "GPLv3+"
+LICENSE_${PN}-openssl = "GPLv3+"
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=71391c8e0c1cfe68077e7fce3b586283 \
+                    file://doc/COPYING;md5=c678957b0c8e964aa6c70fd77641a71e \
+                    file://doc/COPYING.LESSER;md5=a6f89e2100d9b6cdffcea4f398e37343"
+
+DEPENDS = "nettle gmp virtual/libiconv libunistring"
+DEPENDS_append_libc-musl = " argp-standalone"
+
+SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}"
+
+SRC_URI = "https://www.gnupg.org/ftp/gcrypt/gnutls/v${SHRT_VER}/gnutls-${PV}.tar.xz \
+           file://arm_eabi.patch \
+           "
+
+SRC_URI[sha256sum] = "3777d7963eca5e06eb315686163b7b3f5045e2baac5e54e038ace9835e5cac6f"
+
+inherit autotools texinfo pkgconfig gettext lib_package gtk-doc
+
+PACKAGECONFIG ??= "libidn"
+
+# You must also have CONFIG_SECCOMP enabled in the kernel for
+# seccomp to work.
+PACKAGECONFIG[seccomp] = "ac_cv_libseccomp=yes,ac_cv_libseccomp=no,libseccomp"
+PACKAGECONFIG[libidn] = "--with-idn,--without-idn,libidn2"
+PACKAGECONFIG[libtasn1] = "--with-included-libtasn1=no,--with-included-libtasn1,libtasn1"
+PACKAGECONFIG[p11-kit] = "--with-p11-kit,--without-p11-kit,p11-kit"
+PACKAGECONFIG[tpm] = "--with-tpm,--without-tpm,trousers"
+
+EXTRA_OECONF = " \
+    --enable-doc \
+    --disable-libdane \
+    --disable-guile \
+    --disable-rpath \
+    --enable-local-libopts \
+    --enable-openssl-compatibility \
+    --with-libpthread-prefix=${STAGING_DIR_HOST}${prefix} \
+    --with-librt-prefix=${STAGING_DIR_HOST}${prefix} \
+    --with-default-trust-store-file=${sysconfdir}/ssl/certs/ca-certificates.crt \
+"
+
+# Otherwise the tools try and use HOSTTOOLS_DIR/bash as a shell.
+export POSIX_SHELL="${base_bindir}/sh"
+
+LDFLAGS_append_libc-musl = " -largp"
+
+do_configure_prepend() {
+	for dir in . lib; do
+		rm -f ${dir}/aclocal.m4 ${dir}/m4/libtool.m4 ${dir}/m4/lt*.m4
+	done
+}
+
+PACKAGES =+ "${PN}-openssl ${PN}-xx"
+
+FILES_${PN}-dev += "${bindir}/gnutls-cli-debug"
+FILES_${PN}-openssl = "${libdir}/libgnutls-openssl.so.*"
+FILES_${PN}-xx = "${libdir}/libgnutlsxx.so.*"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-support/iso-codes/iso-codes_4.5.0.bb b/poky/meta/recipes-support/iso-codes/iso-codes_4.5.0.bb
deleted file mode 100644
index 9e02a0fa1..000000000
--- a/poky/meta/recipes-support/iso-codes/iso-codes_4.5.0.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-SUMMARY = "ISO language, territory, currency, script codes and their translations"
-DESCRIPTION = "Provides lists of various ISO standards (e.g. country, \
-language, language scripts, and currency names) in one place, rather \
-than repeated in many programs throughout the system."
-HOMEPAGE = "https://salsa.debian.org/iso-codes-team/iso-codes"
-BUGTRACKER = "https://salsa.debian.org/iso-codes-team/iso-codes/issues"
-
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
-
-SRC_URI = "git://salsa.debian.org/iso-codes-team/iso-codes.git;protocol=http;branch=main;"
-SRCREV = "a36019e5014bff251f83d522ddcfebaecf52afd3"
-
-# inherit gettext cannot be used, because it adds gettext-native to BASEDEPENDS which
-# are inhibited by allarch
-DEPENDS = "gettext-native"
-
-S = "${WORKDIR}/git"
-
-inherit allarch autotools
-
-FILES_${PN} += "${datadir}/xml/"
diff --git a/poky/meta/recipes-support/iso-codes/iso-codes_4.6.0.bb b/poky/meta/recipes-support/iso-codes/iso-codes_4.6.0.bb
new file mode 100644
index 000000000..f915716ce
--- /dev/null
+++ b/poky/meta/recipes-support/iso-codes/iso-codes_4.6.0.bb
@@ -0,0 +1,22 @@
+SUMMARY = "ISO language, territory, currency, script codes and their translations"
+DESCRIPTION = "Provides lists of various ISO standards (e.g. country, \
+language, language scripts, and currency names) in one place, rather \
+than repeated in many programs throughout the system."
+HOMEPAGE = "https://salsa.debian.org/iso-codes-team/iso-codes"
+BUGTRACKER = "https://salsa.debian.org/iso-codes-team/iso-codes/issues"
+
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
+
+SRC_URI = "git://salsa.debian.org/iso-codes-team/iso-codes.git;protocol=https;branch=main;"
+SRCREV = "3c012d266acaeda93d3e61ec11b8c18c1964fce1" 
+
+# inherit gettext cannot be used, because it adds gettext-native to BASEDEPENDS which
+# are inhibited by allarch
+DEPENDS = "gettext-native"
+
+S = "${WORKDIR}/git"
+
+inherit allarch autotools
+
+FILES_${PN} += "${datadir}/xml/"
diff --git a/poky/meta/recipes-support/libical/libical/0001-Fix-build-with-icu-68.1.patch b/poky/meta/recipes-support/libical/libical/0001-Fix-build-with-icu-68.1.patch
deleted file mode 100644
index 79e1475c6..000000000
--- a/poky/meta/recipes-support/libical/libical/0001-Fix-build-with-icu-68.1.patch
+++ /dev/null
@@ -1,81 +0,0 @@
-Upstream-Status: Backport
-Signed-off-by: Ross Burton 
-
-From 52d603212173d4502800bf746436a93f806a8898 Mon Sep 17 00:00:00 2001
-From: Allen Winter 
-Date: Sat, 31 Oct 2020 17:38:01 -0400
-Subject: [PATCH] Fix build with icu-68.1
-
-Use stdbool.h to define true and false when possible
-
-Issue#448
----
- ConfigureChecks.cmake   |  1 +
- config.h.cmake          |  3 +++
- src/libical/icalrecur.c | 10 ++++++++--
- 3 files changed, 12 insertions(+), 2 deletions(-)
-
-diff --git a/ConfigureChecks.cmake b/ConfigureChecks.cmake
-index e4d0e2ec..bba33fa9 100644
---- a/ConfigureChecks.cmake
-+++ b/ConfigureChecks.cmake
-@@ -10,6 +10,7 @@ check_include_files(sys/utsname.h HAVE_SYS_UTSNAME_H)
- check_include_files(fcntl.h HAVE_FCNTL_H)
- check_include_files(unistd.h HAVE_UNISTD_H)
- check_include_files(wctype.h HAVE_WCTYPE_H)
-+check_include_files(stdbool.h HAVE_STDBOOL_H)
- 
- include(CheckFunctionExists)
- if(WIN32 AND MSVC)
-diff --git a/config.h.cmake b/config.h.cmake
-index 8fd3421b..c8008692 100644
---- a/config.h.cmake
-+++ b/config.h.cmake
-@@ -39,6 +39,9 @@
- /* Define to 1 if you have the  header file. */
- #cmakedefine HAVE_DIRENT_H 1
- 
-+/* Define to 1 if you have the  header file. */
-+#cmakedefine HAVE_STDBOOL_H 1
-+
- /* Define if we have pthread. */
- #cmakedefine HAVE_PTHREAD_ATTR_GET_NP 1
- #cmakedefine HAVE_PTHREAD_GETATTR_NP 1
-diff --git a/src/libical/icalrecur.c b/src/libical/icalrecur.c
-index 73178450..b3f054b8 100644
---- a/src/libical/icalrecur.c
-+++ b/src/libical/icalrecur.c
-@@ -145,6 +145,12 @@
- #if defined(HAVE_LIBICU)
- #include 
- #include 
-+#if defined(HAVE_STDBOOL_H)
-+#include 
-+#else
-+#define false 0
-+#define true 1
-+#endif
- #define RSCALE_IS_SUPPORTED 1
- #else
- #define RSCALE_IS_SUPPORTED 0
-@@ -1018,7 +1024,7 @@ icalarray *icalrecurrencetype_rscale_supported_calendars(void)
- 
-     calendars = icalarray_new(sizeof(const char **), 20);
- 
--    en = ucal_getKeywordValuesForLocale("calendar", NULL, FALSE, &status);
-+    en = ucal_getKeywordValuesForLocale("calendar", NULL, false, &status);
-     while ((cal = uenum_next(en, NULL, &status))) {
-         cal = icalmemory_tmp_copy(cal);
-         icalarray_append(calendars, &cal);
-@@ -1411,7 +1417,7 @@ static int initialize_rscale(icalrecur_iterator *impl)
-         }
- 
-         /* Check if specified calendar is supported */
--        en = ucal_getKeywordValuesForLocale("calendar", NULL, FALSE, &status);
-+        en = ucal_getKeywordValuesForLocale("calendar", NULL, false, &status);
-         while ((cal = uenum_next(en, NULL, &status))) {
-             if (!strcmp(cal, rule.rscale)) {
-                 is_hebrew = !strcmp(rule.rscale, "hebrew");
--- 
-2.25.1
-
diff --git a/poky/meta/recipes-support/libical/libical/0001-Use-our-hand-build-native-src-generator.patch b/poky/meta/recipes-support/libical/libical/0001-Use-our-hand-build-native-src-generator.patch
deleted file mode 100644
index b7b757d74..000000000
--- a/poky/meta/recipes-support/libical/libical/0001-Use-our-hand-build-native-src-generator.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From e33bc310238bba1690f2c71ad333e10b9e422ea9 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= 
-Date: Sat, 19 Oct 2019 14:23:06 +0200
-Subject: [PATCH] Use our hand-build native src-generator
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Upstream-Status: Inappropriate [oe-core specific]
-
-Signed-off-by: Andreas Müller 
----
- src/libical-glib/CMakeLists.txt | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/libical-glib/CMakeLists.txt b/src/libical-glib/CMakeLists.txt
-index f3704e6..ce9db16 100644
---- a/src/libical-glib/CMakeLists.txt
-+++ b/src/libical-glib/CMakeLists.txt
-@@ -63,8 +63,8 @@ endforeach()
- 
- add_custom_command (
-   OUTPUT ${LIBICAL_GLIB_SOURCES} ${CMAKE_CURRENT_BINARY_DIR}/libical-glib-private.h ${CMAKE_CURRENT_BINARY_DIR}/i-cal-forward-declarations.h
--  COMMAND ${EXECUTABLE_OUTPUT_PATH}/src-generator "${CMAKE_CURRENT_SOURCE_DIR}/tools" "${CMAKE_CURRENT_SOURCE_DIR}/api"
--  DEPENDS ${EXECUTABLE_OUTPUT_PATH}/src-generator ${xml_files}
-+  COMMAND ${CMAKE_BINARY_DIR}/src-generator "${CMAKE_CURRENT_SOURCE_DIR}/tools" "${CMAKE_CURRENT_SOURCE_DIR}/api"
-+  DEPENDS ${CMAKE_BINARY_DIR}/src-generator ${xml_files}
- )
- 
- configure_file(
--- 
-2.21.0
-
diff --git a/poky/meta/recipes-support/libical/libical_3.0.8.bb b/poky/meta/recipes-support/libical/libical_3.0.8.bb
deleted file mode 100644
index ffc117d43..000000000
--- a/poky/meta/recipes-support/libical/libical_3.0.8.bb
+++ /dev/null
@@ -1,50 +0,0 @@
-SUMMARY = "iCal and scheduling (RFC 2445, 2446, 2447) library"
-DESCRIPTION = "An Open Source implementation of the iCalendar protocols \
-and protocol data units. The iCalendar specification describes how \
-calendar clients can communicate with calendar servers so users can store \
-their calendar data and arrange meetings with other users. "
-HOMEPAGE = "https://github.com/libical/libical"
-BUGTRACKER = "https://github.com/libical/libical/issues"
-LICENSE = "LGPLv2.1 | MPL-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=1910a2a76ddf6a9ba369182494170d87 \
-                    file://LICENSE.LGPL21.txt;md5=933adb561f159e7c3da079536f0ed871 \
-                    file://LICENSE.MPL2.txt;md5=f75d2927d3c1ed2414ef72048f5ad640 \
-                    "
-SECTION = "libs"
-
-SRC_URI = " \
-    https://github.com/${BPN}/${BPN}/releases/download/v${PV}/${BP}.tar.gz \
-    file://0001-Use-our-hand-build-native-src-generator.patch \
-    file://0001-Fix-build-with-icu-68.1.patch \
-"
-SRC_URI[md5sum] = "41bd1f1fcdcb4779cea478bb55cf07bf"
-SRC_URI[sha256sum] = "09fecacaf75ba5a242159e3a9758a5446b5ce4d0ab684f98a7040864e1d1286f"
-UPSTREAM_CHECK_URI = "https://github.com/libical/libical/releases"
-
-inherit cmake pkgconfig
-
-do_compile_prepend() {
-	# As long as https://github.com/libical/libical/issues/394 is open build native src-generator manually
-	NATIVE_CFLAGS="${BUILD_CFLAGS} `pkg-config-native --cflags glib-2.0` `pkg-config-native --cflags libxml-2.0`"
-	NATIVE_LDFLAGS="${BUILD_LDFLAGS} `pkg-config-native --libs glib-2.0` `pkg-config-native --libs libxml-2.0`"
-	${BUILD_CC} $NATIVE_CFLAGS ${S}/src/libical-glib/tools/generator.c ${S}/src/libical-glib/tools/xml-parser.c -o ${B}/src-generator $NATIVE_LDFLAGS
-}
-
-PACKAGECONFIG ??= "icu glib"
-PACKAGECONFIG[bdb] = ",-DCMAKE_DISABLE_FIND_PACKAGE_BDB=True,db"
-PACKAGECONFIG[glib] = "-DICAL_GLIB=True,-DICAL_GLIB=False,glib-2.0-native libxml2-native glib-2.0 libxml2"
-# ICU is used for RSCALE (RFC7529) support
-PACKAGECONFIG[icu] = ",-DCMAKE_DISABLE_FIND_PACKAGE_ICU=True,icu"
-
-# No need to use perl-native, the host perl is sufficient.
-EXTRA_OECMAKE += "-DPERL_EXECUTABLE=${HOSTTOOLS_DIR}/perl"
-# doc build fails with linker error (??) for libical-glib so disable it
-EXTRA_OECMAKE += "-DICAL_BUILD_DOCS=false"
-
-do_install_append () {
-    # Remove build host references
-    sed -i \
-       -e 's,${STAGING_LIBDIR},${libdir},g' \
-       -e 's,${STAGING_INCDIR},${includedir},g' \
-       ${D}${libdir}/cmake/LibIcal/LibIcal*.cmake
-}
diff --git a/poky/meta/recipes-support/libical/libical_3.0.9.bb b/poky/meta/recipes-support/libical/libical_3.0.9.bb
new file mode 100644
index 000000000..4c7027d14
--- /dev/null
+++ b/poky/meta/recipes-support/libical/libical_3.0.9.bb
@@ -0,0 +1,46 @@
+SUMMARY = "iCal and scheduling (RFC 2445, 2446, 2447) library"
+DESCRIPTION = "An Open Source implementation of the iCalendar protocols \
+and protocol data units. The iCalendar specification describes how \
+calendar clients can communicate with calendar servers so users can store \
+their calendar data and arrange meetings with other users. "
+HOMEPAGE = "https://github.com/libical/libical"
+BUGTRACKER = "https://github.com/libical/libical/issues"
+LICENSE = "LGPLv2.1 | MPL-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=1910a2a76ddf6a9ba369182494170d87 \
+                    file://LICENSE.LGPL21.txt;md5=933adb561f159e7c3da079536f0ed871 \
+                    file://LICENSE.MPL2.txt;md5=f75d2927d3c1ed2414ef72048f5ad640 \
+                    "
+SECTION = "libs"
+
+SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/v${PV}/${BP}.tar.gz \
+"
+SRC_URI[sha256sum] = "bd26d98b7fcb2eb0cd5461747bbb02024ebe38e293ca53a7dfdcb2505265a728"
+UPSTREAM_CHECK_URI = "https://github.com/libical/libical/releases"
+
+inherit cmake pkgconfig
+
+DEPENDS_append_class-target = "libical-native"
+
+PACKAGECONFIG ??= "icu glib"
+PACKAGECONFIG[bdb] = ",-DCMAKE_DISABLE_FIND_PACKAGE_BDB=True,db"
+PACKAGECONFIG[glib] = "-DICAL_GLIB=True,-DICAL_GLIB=False,glib-2.0-native libxml2-native glib-2.0 libxml2"
+# ICU is used for RSCALE (RFC7529) support
+PACKAGECONFIG[icu] = ",-DCMAKE_DISABLE_FIND_PACKAGE_ICU=True,icu"
+
+# No need to use perl-native, the host perl is sufficient.
+EXTRA_OECMAKE += "-DPERL_EXECUTABLE=${HOSTTOOLS_DIR}/perl"
+# doc build fails with linker error (??) for libical-glib so disable it
+EXTRA_OECMAKE += "-DICAL_BUILD_DOCS=false"
+
+EXTRA_OECMAKE_append_class-target = " -DIMPORT_ICAL_GLIB_SRC_GENERATOR=${STAGING_LIBDIR_NATIVE}/cmake/LibIcal/IcalGlibSrcGenerator.cmake"
+
+do_install_append () {
+    # Remove build host references
+    sed -i \
+       -e 's,${STAGING_LIBDIR},${libdir},g' \
+       -e 's,${STAGING_INCDIR},${includedir},g' \
+       ${D}${libdir}/cmake/LibIcal/LibIcal*.cmake \
+       ${D}${libdir}/cmake/LibIcal/Ical*.cmake
+}
+
+BBCLASSEXTEND = "native"
diff --git a/poky/meta/recipes-support/libunistring/libunistring/iconv-m4-remove-the-test-to-convert-euc-jp.patch b/poky/meta/recipes-support/libunistring/libunistring/iconv-m4-remove-the-test-to-convert-euc-jp.patch
deleted file mode 100644
index 9e8ce2270..000000000
--- a/poky/meta/recipes-support/libunistring/libunistring/iconv-m4-remove-the-test-to-convert-euc-jp.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-From 30562065ba9e4c238e76100b5f9f0c5add0e635b Mon Sep 17 00:00:00 2001
-From: Jackie Huang 
-Date: Tue, 5 Dec 2017 09:30:36 +0200
-Subject: [PATCH] remove the test to convert euc-jp
-
-Remove the test "Test against HP-UX 11.11 bug:
-No converter from EUC-JP to UTF-8 is provided"
-since we don't support HP-UX and if the euc-jp is not
-installed on the host, libunistring will be built without
-iconv support and will cause guild-native configure fail.
-
-Upstream-Status: Inappropriate [OE specific]
-
-Signed-off-by: Jackie Huang 
----
----
- gnulib-m4/iconv.m4 | 23 -----------------------
- 1 file changed, 23 deletions(-)
-
-diff --git a/gnulib-m4/iconv.m4 b/gnulib-m4/iconv.m4
-index b33ecd0..73b6aa1 100644
---- a/gnulib-m4/iconv.m4
-+++ b/gnulib-m4/iconv.m4
-@@ -165,29 +165,6 @@ AC_DEFUN([AM_ICONV_LINK],
-       }
-   }
- #endif
--  /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is
--     provided.  */
--  {
--    /* Try standardized names.  */
--    iconv_t cd1 = iconv_open ("UTF-8", "EUC-JP");
--    /* Try IRIX, OSF/1 names.  */
--    iconv_t cd2 = iconv_open ("UTF-8", "eucJP");
--    /* Try AIX names.  */
--    iconv_t cd3 = iconv_open ("UTF-8", "IBM-eucJP");
--    /* Try HP-UX names.  */
--    iconv_t cd4 = iconv_open ("utf8", "eucJP");
--    if (cd1 == (iconv_t)(-1) && cd2 == (iconv_t)(-1)
--        && cd3 == (iconv_t)(-1) && cd4 == (iconv_t)(-1))
--      result |= 16;
--    if (cd1 != (iconv_t)(-1))
--      iconv_close (cd1);
--    if (cd2 != (iconv_t)(-1))
--      iconv_close (cd2);
--    if (cd3 != (iconv_t)(-1))
--      iconv_close (cd3);
--    if (cd4 != (iconv_t)(-1))
--      iconv_close (cd4);
--  }
-   return result;
- ]])],
-           [am_cv_func_iconv_works=yes], ,
--- 
-2.4.0
-
diff --git a/poky/meta/recipes-support/libunistring/libunistring_0.9.10.bb b/poky/meta/recipes-support/libunistring/libunistring_0.9.10.bb
index 97fac4ecf..0a7b18ed0 100644
--- a/poky/meta/recipes-support/libunistring/libunistring_0.9.10.bb
+++ b/poky/meta/recipes-support/libunistring/libunistring_0.9.10.bb
@@ -20,7 +20,6 @@ LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=6a6a8e020838b23406c81b19c1d46df6 \
                    "
 
 SRC_URI = "${GNU_MIRROR}/libunistring/libunistring-${PV}.tar.gz \
-           file://iconv-m4-remove-the-test-to-convert-euc-jp.patch \
            file://0001-Unset-need_charset_alias-when-building-for-musl.patch \
 "
 SRC_URI[md5sum] = "0d3274e9838396b12200f8b54ddaf43b"
diff --git a/poky/meta/recipes-support/libunwind/libunwind.inc b/poky/meta/recipes-support/libunwind/libunwind.inc
index 76a1bf624..17ba15193 100644
--- a/poky/meta/recipes-support/libunwind/libunwind.inc
+++ b/poky/meta/recipes-support/libunwind/libunwind.inc
@@ -4,6 +4,7 @@ HOMEPAGE = "http://www.nongnu.org/libunwind"
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://COPYING;md5=2d80c8ed4062b8339b715f90fa68cc9f"
 DEPENDS += "libatomic-ops"
+DEPENDS_append_libc-musl = " libucontext"
 
 inherit autotools multilib_header
 
diff --git a/poky/meta/recipes-support/libunwind/libunwind/0001-configure-Do-not-enforce-libdir-for-ppc64.patch b/poky/meta/recipes-support/libunwind/libunwind/0001-configure-Do-not-enforce-libdir-for-ppc64.patch
new file mode 100644
index 000000000..751f1b340
--- /dev/null
+++ b/poky/meta/recipes-support/libunwind/libunwind/0001-configure-Do-not-enforce-libdir-for-ppc64.patch
@@ -0,0 +1,35 @@
+From 154c7465de2aeb9a8ba3416bbed6e6e07f58c583 Mon Sep 17 00:00:00 2001
+From: Khem Raj 
+Date: Thu, 11 Mar 2021 21:52:28 -0800
+Subject: [PATCH] configure: Do not enforce libdir for ppc64
+
+OE has its own multilib configuration, therefore hardcoding libdir
+breaks that, instead respect the settings coming from build environment
+via configure options.
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj 
+---
+ configure.ac | 6 ------
+ 1 file changed, 6 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index c8d68f7..254440f 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -206,12 +206,6 @@ fi
+ AM_CONDITIONAL(USE_DWARF, [test x$use_dwarf = xyes])
+ AC_MSG_RESULT([$use_dwarf])
+ 
+-if test x$target_arch = xppc64; then
+-        libdir='${exec_prefix}/lib64'
+-        AC_MSG_NOTICE([PowerPC64 detected, lib will be installed ${libdir}]);
+-        AC_SUBST([libdir])
+-fi
+-
+ AC_MSG_CHECKING([whether to restrict build to remote support])
+ if test x$target_arch != x$host_arch; then
+   CPPFLAGS="${CPPFLAGS} -DUNW_REMOTE_ONLY"
+-- 
+2.30.2
+
diff --git a/poky/meta/recipes-support/libunwind/libunwind_1.5.0.bb b/poky/meta/recipes-support/libunwind/libunwind_1.5.0.bb
index 5e4693e20..6392cac5c 100644
--- a/poky/meta/recipes-support/libunwind/libunwind_1.5.0.bb
+++ b/poky/meta/recipes-support/libunwind/libunwind_1.5.0.bb
@@ -6,6 +6,7 @@ SRC_URI = "http://download.savannah.nongnu.org/releases/libunwind/libunwind-${PV
            file://0004-Fix-build-on-mips-musl.patch \
            file://0005-ppc32-Consider-ucontext-mismatches-between-glibc-and.patch \
            file://0006-Fix-for-X32.patch \
+           file://0001-configure-Do-not-enforce-libdir-for-ppc64.patch \
            "
 SRC_URI_append_libc-musl = " file://musl-header-conflict.patch"
 
@@ -24,3 +25,4 @@ COMPATIBLE_HOST_riscv32 = "null"
 LDFLAGS += "-Wl,-z,relro,-z,now ${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}"
 
 SECURITY_LDFLAGS_append_libc-musl = " -lssp_nonshared"
+CACHED_CONFIGUREVARS_append_libc-musl = " LDFLAGS='${LDFLAGS} -lucontext'"
diff --git a/poky/meta/recipes-support/lz4/lz4_1.9.3.bb b/poky/meta/recipes-support/lz4/lz4_1.9.3.bb
index 00f2dd32f..effc530b9 100644
--- a/poky/meta/recipes-support/lz4/lz4_1.9.3.bb
+++ b/poky/meta/recipes-support/lz4/lz4_1.9.3.bb
@@ -1,5 +1,6 @@
 SUMMARY = "Extremely Fast Compression algorithm"
 DESCRIPTION = "LZ4 is a very fast lossless compression algorithm, providing compression speed at 400 MB/s per core, scalable with multi-cores CPU. It also features an extremely fast decoder, with speed in multiple GB/s per core, typically reaching RAM speed limits on multi-core systems."
+HOMEPAGE = "https://github.com/lz4/lz4"
 
 LICENSE = "BSD | BSD-2-Clause | GPL-2.0"
 LIC_FILES_CHKSUM = "file://lib/LICENSE;md5=ebc2ea4814a64de7708f1571904b32cc \
diff --git a/poky/meta/recipes-support/lzop/lzop_1.04.bb b/poky/meta/recipes-support/lzop/lzop_1.04.bb
index b50c23043..59c2003b7 100644
--- a/poky/meta/recipes-support/lzop/lzop_1.04.bb
+++ b/poky/meta/recipes-support/lzop/lzop_1.04.bb
@@ -5,6 +5,7 @@ gzip are much higher compression and decompression speed at the cost of some \n\
 compression ratio. The lzop compression utility was designed with the goals \n\
 of reliability, speed, portability and with reasonable drop-in compatibility \n\
 to gzip."
+HOMEPAGE = "http://www.lzop.org/"
 DEPENDS += "lzo"
 
 LICENSE = "GPLv2+"
diff --git a/poky/meta/recipes-support/serf/serf_1.3.9.bb b/poky/meta/recipes-support/serf/serf_1.3.9.bb
index dc917fa16..3276d40df 100644
--- a/poky/meta/recipes-support/serf/serf_1.3.9.bb
+++ b/poky/meta/recipes-support/serf/serf_1.3.9.bb
@@ -3,6 +3,7 @@ DESCRIPTION = "The Apache Serf library is a C-based HTTP client library built up
 Portable Runtime (APR) library. It multiplexes connections, running the \
 read/write communication asynchronously. Memory copies and transformations are \
 kept to a minimum to provide high performance operation."
+HOMEPAGE = "http://serf.apache.org/"
 SRC_URI = "${APACHE_MIRROR}/${BPN}/${BPN}-${PV}.tar.bz2 \
            file://norpath.patch \
            file://env.patch \
diff --git a/poky/meta/recipes-support/sqlite/sqlite3_3.34.1.bb b/poky/meta/recipes-support/sqlite/sqlite3_3.34.1.bb
deleted file mode 100644
index fe5adb221..000000000
--- a/poky/meta/recipes-support/sqlite/sqlite3_3.34.1.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-require sqlite3.inc
-
-LICENSE = "PD"
-LIC_FILES_CHKSUM = "file://sqlite3.h;endline=11;md5=786d3dc581eff03f4fd9e4a77ed00c66"
-
-SRC_URI = "http://www.sqlite.org/2021/sqlite-autoconf-${SQLITE_PV}.tar.gz"
-SRC_URI[sha256sum] = "2a3bca581117b3b88e5361d0ef3803ba6d8da604b1c1a47d902ef785c1b53e89"
-
-# -19242 is only an issue in specific development branch commits
-CVE_CHECK_WHITELIST += "CVE-2019-19242"
-# This is believed to be iOS specific (https://groups.google.com/g/sqlite-dev/c/U7OjAbZO6LA)
-CVE_CHECK_WHITELIST += "CVE-2015-3717"
diff --git a/poky/meta/recipes-support/sqlite/sqlite3_3.35.0.bb b/poky/meta/recipes-support/sqlite/sqlite3_3.35.0.bb
new file mode 100644
index 000000000..127065bbc
--- /dev/null
+++ b/poky/meta/recipes-support/sqlite/sqlite3_3.35.0.bb
@@ -0,0 +1,12 @@
+require sqlite3.inc
+
+LICENSE = "PD"
+LIC_FILES_CHKSUM = "file://sqlite3.h;endline=11;md5=786d3dc581eff03f4fd9e4a77ed00c66"
+
+SRC_URI = "http://www.sqlite.org/2021/sqlite-autoconf-${SQLITE_PV}.tar.gz"
+SRC_URI[sha256sum] = "3dfb3f143c83695a555c7dd9e06ed924f9d273c287989874e102656724baf2d0"
+
+# -19242 is only an issue in specific development branch commits
+CVE_CHECK_WHITELIST += "CVE-2019-19242"
+# This is believed to be iOS specific (https://groups.google.com/g/sqlite-dev/c/U7OjAbZO6LA)
+CVE_CHECK_WHITELIST += "CVE-2015-3717"
diff --git a/poky/meta/recipes-support/taglib/taglib/CVE-2017-12678.patch b/poky/meta/recipes-support/taglib/taglib/CVE-2017-12678.patch
deleted file mode 100644
index 4bd9f2be1..000000000
--- a/poky/meta/recipes-support/taglib/taglib/CVE-2017-12678.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From eb9ded1206f18f2c319157337edea2533a40bea6 Mon Sep 17 00:00:00 2001
-From: "Stephen F. Booth" 
-Date: Sun, 23 Jul 2017 10:11:09 -0400
-Subject: [PATCH] Don't assume TDRC is an instance of TextIdentificationFrame
-
-If TDRC is encrypted, FrameFactory::createFrame() returns UnknownFrame
-which causes problems in rebuildAggregateFrames() when it is assumed
-that TDRC is a TextIdentificationFrame
-
-Upstream-Status: Backport
-[https://github.com/taglib/taglib/pull/831/commits/eb9ded1206f18f2c319157337edea2533a40bea6]
-
-CVE: CVE-2017-12678
-
-Signed-off-by: Yi Zhao 
----
- taglib/mpeg/id3v2/id3v2framefactory.cpp | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/taglib/mpeg/id3v2/id3v2framefactory.cpp b/taglib/mpeg/id3v2/id3v2framefactory.cpp
-index 759a9b7b..9347ab86 100644
---- a/taglib/mpeg/id3v2/id3v2framefactory.cpp
-+++ b/taglib/mpeg/id3v2/id3v2framefactory.cpp
-@@ -334,10 +334,11 @@ void FrameFactory::rebuildAggregateFrames(ID3v2::Tag *tag) const
-      tag->frameList("TDAT").size() == 1)
-   {
-     TextIdentificationFrame *tdrc =
--      static_cast(tag->frameList("TDRC").front());
-+      dynamic_cast(tag->frameList("TDRC").front());
-     UnknownFrame *tdat = static_cast(tag->frameList("TDAT").front());
- 
--    if(tdrc->fieldList().size() == 1 &&
-+    if(tdrc &&
-+       tdrc->fieldList().size() == 1 &&
-        tdrc->fieldList().front().size() == 4 &&
-        tdat->data().size() >= 5)
-     {
--- 
-2.13.5
-
diff --git a/poky/meta/recipes-support/taglib/taglib/CVE-2018-11439.patch b/poky/meta/recipes-support/taglib/taglib/CVE-2018-11439.patch
deleted file mode 100644
index cdd66e67f..000000000
--- a/poky/meta/recipes-support/taglib/taglib/CVE-2018-11439.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From 272648ccfcccae30e002ccf34a22e075dd477278 Mon Sep 17 00:00:00 2001
-From: Scott Gayou 
-Date: Mon, 4 Jun 2018 11:34:36 -0400
-Subject: [PATCH] Fixed OOB read when loading invalid ogg flac file. (#868)
-
-This CVE is caused by a failure to check the minimum length
-of a ogg flac header. This header is detailed in full at:
-https://xiph.org/flac/ogg_mapping.html. Added more strict checking
-for entire header.
-
-Upstream-Status: Backport
-[https://github.com/taglib/taglib/pull/869/commits/272648ccfcccae30e002ccf34a22e075dd477278]
-
-CVE: CVE-2018-11439
-
-Signed-off-by: Yi Zhao 
----
- taglib/ogg/flac/oggflacfile.cpp | 14 ++++++++++++--
- 1 file changed, 12 insertions(+), 2 deletions(-)
-
-diff --git a/taglib/ogg/flac/oggflacfile.cpp b/taglib/ogg/flac/oggflacfile.cpp
-index 53d0450..07ea9dc 100644
---- a/taglib/ogg/flac/oggflacfile.cpp
-+++ b/taglib/ogg/flac/oggflacfile.cpp
-@@ -231,11 +231,21 @@ void Ogg::FLAC::File::scan()
- 
-   if(!metadataHeader.startsWith("fLaC"))  {
-     // FLAC 1.1.2+
-+    // See https://xiph.org/flac/ogg_mapping.html for the header specification.
-+    if(metadataHeader.size() < 13)
-+      return;
-+
-+    if(metadataHeader[0] != 0x7f)
-+      return;
-+
-     if(metadataHeader.mid(1, 4) != "FLAC")
-       return;
- 
--    if(metadataHeader[5] != 1)
--      return; // not version 1
-+    if(metadataHeader[5] != 1 && metadataHeader[6] != 0)
-+      return; // not version 1.0
-+
-+    if(metadataHeader.mid(9, 4) != "fLaC")
-+      return;
- 
-     metadataHeader = metadataHeader.mid(13);
-   }
--- 
-2.7.4
-
diff --git a/poky/meta/recipes-support/taglib/taglib_1.11.1.bb b/poky/meta/recipes-support/taglib/taglib_1.11.1.bb
deleted file mode 100644
index 165bccadc..000000000
--- a/poky/meta/recipes-support/taglib/taglib_1.11.1.bb
+++ /dev/null
@@ -1,45 +0,0 @@
-SUMMARY = "Library for reading and editing the meta-data of popular audio formats"
-DESCRIPTION = "Platform-independent library (tested on Windows/Linux) for reading and writing metadata in media files, including video, audio, and photo formats. This is a convenient one-stop-shop to present or tag all your media collection, regardless of which format/container these might use. You can read/write the standard or more common tags/properties of a media, or you can also create and retrieve your own custom tags."
-SECTION = "libs/multimedia"
-HOMEPAGE = "http://taglib.github.io/"
-LICENSE = "LGPLv2.1 | MPL-1.1"
-LIC_FILES_CHKSUM = "file://COPYING.LGPL;md5=4fbd65380cdd255951079008b364516c \
-                    file://COPYING.MPL;md5=bfe1f75d606912a4111c90743d6c7325 \
-                    file://taglib/audioproperties.h;beginline=1;endline=24;md5=9df2c7399519b7310568a7c55042ecee"
-
-DEPENDS = "zlib"
-
-SRC_URI = "http://taglib.github.io/releases/${BP}.tar.gz \
-           file://CVE-2017-12678.patch \
-           file://CVE-2018-11439.patch \
-          "
-
-SRC_URI[md5sum] = "cee7be0ccfc892fa433d6c837df9522a"
-SRC_URI[sha256sum] = "b6d1a5a610aae6ff39d93de5efd0fdc787aa9e9dc1e7026fa4c961b26563526b"
-
-UPSTREAM_CHECK_URI = "http://github.com/taglib/taglib/releases/"
-
-BINCONFIG = "${bindir}/taglib-config"
-
-inherit cmake pkgconfig binconfig-disabled
-
-PACKAGES =+ "${PN}-c"
-FILES_${PN}-c = "${libdir}/libtag_c.so.*"
-
-EXTRA_OECMAKE = "-DBUILD_SHARED_LIBS=ON \
-                 -DCMAKE_DISABLE_FIND_PACKAGE_Boost=TRUE \
-                 -DHAVE_BOOST_BYTESWAP=FALSE \
-                 -DCMAKE_CXX_STANDARD=11 \
-                 -DCMAKE_CXX_STANDARD_REQUIRED=OFF \
-                 -DLIB_SUFFIX=${@d.getVar('baselib').replace('lib', '')} \
-"
-CXXFLAGS += "-std=c++11"
-
-do_configure_prepend () {
-	rm -f ${S}/admin/ltmain.sh
-	rm -f ${S}/admin/libtool.m4.in
-}
-
-# without -fPIC depending packages failed with many error like:
-# | <...>/ld: error: <...>/usr/lib/libtag.a(modfilebase.cpp.o): requires unsupported dynamic reloc R_ARM_THM_MOVW_ABS_NC; recompile with -fPIC
-CXXFLAGS += "-fPIC"
diff --git a/poky/meta/recipes-support/taglib/taglib_1.12.bb b/poky/meta/recipes-support/taglib/taglib_1.12.bb
new file mode 100644
index 000000000..efa56253b
--- /dev/null
+++ b/poky/meta/recipes-support/taglib/taglib_1.12.bb
@@ -0,0 +1,42 @@
+SUMMARY = "Library for reading and editing the meta-data of popular audio formats"
+DESCRIPTION = "Platform-independent library (tested on Windows/Linux) for reading and writing metadata in media files, including video, audio, and photo formats. This is a convenient one-stop-shop to present or tag all your media collection, regardless of which format/container these might use. You can read/write the standard or more common tags/properties of a media, or you can also create and retrieve your own custom tags."
+SECTION = "libs/multimedia"
+HOMEPAGE = "http://taglib.github.io/"
+LICENSE = "LGPLv2.1 | MPL-1.1"
+LIC_FILES_CHKSUM = "file://COPYING.LGPL;md5=4fbd65380cdd255951079008b364516c \
+                    file://COPYING.MPL;md5=bfe1f75d606912a4111c90743d6c7325 \
+                    file://taglib/audioproperties.h;beginline=1;endline=24;md5=9df2c7399519b7310568a7c55042ecee"
+
+DEPENDS = "zlib"
+
+SRC_URI = "http://taglib.github.io/releases/${BP}.tar.gz"
+
+SRC_URI[md5sum] = "4313ed2671234e029b7af8f97c84e9af"
+SRC_URI[sha256sum] = "7fccd07669a523b07a15bd24c8da1bbb92206cb19e9366c3692af3d79253b703"
+
+UPSTREAM_CHECK_URI = "http://github.com/taglib/taglib/releases/"
+
+BINCONFIG = "${bindir}/taglib-config"
+
+inherit cmake pkgconfig binconfig-disabled
+
+PACKAGES =+ "${PN}-c"
+FILES_${PN}-c = "${libdir}/libtag_c.so.*"
+
+EXTRA_OECMAKE = "-DBUILD_SHARED_LIBS=ON \
+                 -DCMAKE_DISABLE_FIND_PACKAGE_Boost=TRUE \
+                 -DHAVE_BOOST_BYTESWAP=FALSE \
+                 -DCMAKE_CXX_STANDARD=11 \
+                 -DCMAKE_CXX_STANDARD_REQUIRED=OFF \
+                 -DLIB_SUFFIX=${@d.getVar('baselib').replace('lib', '')} \
+"
+CXXFLAGS += "-std=c++11"
+
+do_configure_prepend () {
+	rm -f ${S}/admin/ltmain.sh
+	rm -f ${S}/admin/libtool.m4.in
+}
+
+# without -fPIC depending packages failed with many error like:
+# | <...>/ld: error: <...>/usr/lib/libtag.a(modfilebase.cpp.o): requires unsupported dynamic reloc R_ARM_THM_MOVW_ABS_NC; recompile with -fPIC
+CXXFLAGS += "-fPIC"
diff --git a/poky/meta/recipes-support/xxhash/xxhash_0.8.0.bb b/poky/meta/recipes-support/xxhash/xxhash_0.8.0.bb
new file mode 100644
index 000000000..9e3887236
--- /dev/null
+++ b/poky/meta/recipes-support/xxhash/xxhash_0.8.0.bb
@@ -0,0 +1,23 @@
+SUMMARY = "Extremely fast non-cryptographic hash algorithm"
+DESCRIPTION = "xxHash is an extremely fast non-cryptographic hash algorithm, \
+working at speeds close to RAM limits."
+HOMEPAGE = "http://www.xxhash.com/"
+LICENSE = "BSD-2-Clause & GPL-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=b335320506abb0505437e39295e799cb"
+
+SRC_URI = "git://github.com/Cyan4973/xxHash.git;branch=release;protocol=git"
+UPSTREAM_CHECK_GITTAGREGEX = "v(?P\d+(\.\d+)+)"
+
+SRCREV = "94e5f23e736f2bb67ebdf90727353e65344f9fc0"
+
+S = "${WORKDIR}/git"
+
+do_compile () {
+	oe_runmake all
+}
+
+do_install () {
+	oe_runmake DESTDIR=${D} install
+}
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/site/common-linux b/poky/meta/site/common-linux
index 1c1fdafbb..8f23adeab 100644
--- a/poky/meta/site/common-linux
+++ b/poky/meta/site/common-linux
@@ -1,6 +1,9 @@
 # gettext - these add sleep delays otherwise
 gl_cv_func_sleep_works=${gl_cv_func_sleep_works=yes}
 gl_cv_header_working_fcntl_h=${gl_cv_header_working_fcntl_h=yes}
+# the euc-jp tests in iconv.m4 break elfutils and libunistring depending on the
+# host locales installed. Avoid this by skipping the tests, we're not on HP-UX!
+am_cv_func_iconv_works=${am_cv_func_iconv_works=yes}
 
 # apr
 ac_cv_file__dev_zero=${ac_cv_file__dev_zero=yes}
diff --git a/poky/scripts/bitbake-whatchanged b/poky/scripts/bitbake-whatchanged
index 3095dafa4..6f4b26811 100755
--- a/poky/scripts/bitbake-whatchanged
+++ b/poky/scripts/bitbake-whatchanged
@@ -217,7 +217,7 @@ print what will be done between the current and last builds, for example:
     # Edit the recipes
     $ bitbake-whatchanged core-image-sato
 
-The changes will be printed"
+The changes will be printed.
 
 Note:
     The amount of tasks is not accurate when the task is "do_build" since
diff --git a/poky/scripts/contrib/documentation-audit.sh b/poky/scripts/contrib/documentation-audit.sh
index 1191f57a8..f436f9bae 100755
--- a/poky/scripts/contrib/documentation-audit.sh
+++ b/poky/scripts/contrib/documentation-audit.sh
@@ -27,7 +27,7 @@ fi
 
 echo "REMINDER: you need to build for MACHINE=qemux86 or you won't get useful results"
 echo "REMINDER: you need to set LICENSE_FLAGS_WHITELIST appropriately in local.conf or "
-echo " you'll get false positives.  For example, LICENSE_FLAGS_WHITELIST = \"Commercial\""
+echo " you'll get false positives.  For example, LICENSE_FLAGS_WHITELIST = \"commercial\""
 
 for pkg in `bitbake -s | awk '{ print \$1 }'`; do
 	if [[ "$pkg" == "Loading" || "$pkg" == "Loaded" ||
diff --git a/poky/scripts/contrib/list-packageconfig-flags.py b/poky/scripts/contrib/list-packageconfig-flags.py
index d6de4dc84..bb288e909 100755
--- a/poky/scripts/contrib/list-packageconfig-flags.py
+++ b/poky/scripts/contrib/list-packageconfig-flags.py
@@ -33,7 +33,7 @@ import bb.tinfoil
 def get_fnlist(bbhandler, pkg_pn, preferred):
     ''' Get all recipe file names '''
     if preferred:
-        (latest_versions, preferred_versions) = bb.providers.findProviders(bbhandler.config_data, bbhandler.cooker.recipecaches[''], pkg_pn)
+        (latest_versions, preferred_versions, required_versions) = bb.providers.findProviders(bbhandler.config_data, bbhandler.cooker.recipecaches[''], pkg_pn)
 
     fn_list = []
     for pn in sorted(pkg_pn):
diff --git a/poky/scripts/lib/devtool/standard.py b/poky/scripts/lib/devtool/standard.py
index 7b62b7e7b..f364a4528 100644
--- a/poky/scripts/lib/devtool/standard.py
+++ b/poky/scripts/lib/devtool/standard.py
@@ -953,12 +953,17 @@ def modify(args, config, basepath, workspace):
 
             if bb.data.inherits_class('kernel', rd):
                 f.write('SRCTREECOVEREDTASKS = "do_validate_branches do_kernel_checkout '
-                        'do_fetch do_unpack do_kernel_configme do_kernel_configcheck"\n')
+                        'do_fetch do_unpack do_kernel_configcheck"\n')
                 f.write('\ndo_patch[noexec] = "1"\n')
                 f.write('\ndo_configure_append() {\n'
                         '    cp ${B}/.config ${S}/.config.baseline\n'
                         '    ln -sfT ${B}/.config ${S}/.config.new\n'
                         '}\n')
+                f.write('\ndo_kernel_configme_prepend() {\n'
+                        '    if [ -e ${S}/.config ]; then\n'
+                        '        mv ${S}/.config ${S}/.config.old\n'
+                        '    fi\n'
+                        '}\n')
             if rd.getVarFlag('do_menuconfig','task'):
                 f.write('\ndo_configure_append() {\n'
                 '    if [ ! ${DEVTOOL_DISABLE_MENUCONFIG} ]; then\n'
diff --git a/poky/scripts/oe-time-dd-test.sh b/poky/scripts/oe-time-dd-test.sh
new file mode 100644
index 000000000..970a86dff
--- /dev/null
+++ b/poky/scripts/oe-time-dd-test.sh
@@ -0,0 +1,23 @@
+#!/bin/sh
+#
+# oe-time-dd-test records how much time it takes to 
+# write  number of kilobytes to the filesystem.
+# It also records the number of processes that are in
+# running (R), uninterruptible sleep (D) and interruptible
+# sleep (S) state from the output of "top" command.
+# The purporse of this script is to find which part of
+# the build system puts stress on the filesystem io and
+# log all the processes.
+
+usage() {
+        echo "Usage: $0 "
+}
+
+if [ $# -ne 1 ]; then
+        usage
+        exit 1
+fi
+
+uptime
+/usr/bin/time -f "%e" dd if=/dev/zero of=foo bs=1024 count=$1 conv=fsync
+top -b -n 1 | grep -v "0      0      0" | grep -E ' [RSD] ' | cut -c 46-47 | sort | uniq -c
diff --git a/poky/scripts/runqemu b/poky/scripts/runqemu
index 532f2e338..df4ee21d5 100755
--- a/poky/scripts/runqemu
+++ b/poky/scripts/runqemu
@@ -139,6 +139,7 @@ class BaseConfig(object):
                         'OE_TMPDIR',
                         'OECORE_NATIVE_SYSROOT',
                         'MULTICONFIG',
+                        'SERIAL_CONSOLES',
                         )
 
         self.qemu_opt = ''
@@ -173,6 +174,13 @@ class BaseConfig(object):
         self.nfs_running = False
         self.serialconsole = False
         self.serialstdio = False
+        self.nographic = False
+        self.sdl = False
+        self.gtk = False
+        self.gl = False
+        self.gl_es = False
+        self.egl_headless = False
+        self.novga = False
         self.cleantap = False
         self.saved_stty = ''
         self.audio_enabled = False
@@ -459,44 +467,22 @@ class BaseConfig(object):
             if arg in self.fstypes + self.vmtypes + self.wictypes:
                 self.check_arg_fstype(arg)
             elif arg == 'nographic':
-                if ('sdl' in sys.argv):
-                    raise RunQemuError('Option nographic makes no sense alongside the sdl option.' % (arg))
-                if ('gtk' in sys.argv):
-                    raise RunQemuError('Option nographic makes no sense alongside the gtk option.' % (arg))
-                self.qemu_opt_script += ' -nographic'
-                self.kernel_cmdline_script += ' console=ttyS0'
+                self.nographic = True
             elif arg == 'sdl':
-                if 'gl' in sys.argv[1:]:
-                    self.set_dri_path()
-                    self.qemu_opt_script += ' -vga virtio -display sdl,gl=on,show-cursor=on'
-                elif 'gl-es' in sys.argv[1:]:
-                    self.set_dri_path()
-                    self.qemu_opt_script += ' -vga virtio -display sdl,gl=es,show-cursor=on'
-                else:
-                    self.qemu_opt_script += ' -display sdl,show-cursor=on'
+                self.sdl = True
             elif arg == 'gtk':
-                if 'gl' in sys.argv[1:]:
-                    self.set_dri_path()
-                    self.qemu_opt_script += ' -vga virtio -display gtk,gl=on,show-cursor=on'
-                elif 'gl-es' in sys.argv[1:]:
-                    self.set_dri_path()
-                    self.qemu_opt_script += ' -vga virtio -display gtk,gl=es,show-cursor=on'
-                else:
-                    self.qemu_opt_script += ' -display gtk,show-cursor=on'
-            elif arg == 'gl' or arg == 'gl-es':
-                # These args are handled inside sdl or gtk blocks above
-                if ('gtk' not in sys.argv) and ('sdl' not in sys.argv):
-                    raise RunQemuError('Option %s also needs gtk or sdl option.' % (arg))
+                self.gtk = True
+            elif arg == 'gl':
+                self.gl = True
+            elif 'gl-es' in sys.argv[1:]:
+                self.gl_es = True
             elif arg == 'egl-headless':
-                self.set_dri_path()
-                self.qemu_opt_script += ' -vga virtio -display egl-headless,show-cursor=on'
+                self.egl_headless = True
             elif arg == 'novga':
-                self.qemu_opt_script += ' -vga none'
+                self.novga = True
             elif arg == 'serial':
-                self.kernel_cmdline_script += ' console=ttyS0'
                 self.serialconsole = True
             elif arg == "serialstdio":
-                self.kernel_cmdline_script += ' console=ttyS0'
                 self.serialstdio = True
             elif arg == 'audio':
                 logger.info("Enabling audio in qemu")
@@ -1321,6 +1307,66 @@ class BaseConfig(object):
             raise RunQemuError("Failed to boot, QB_SYSTEM_NAME is NULL!")
         self.qemu_system = qemu_system
 
+    def setup_vga(self):
+        if self.nographic == True:
+            if self.sdl == True:
+                raise RunQemuError('Option nographic makes no sense alongside the sdl option.')
+            if self.gtk == True:
+                raise RunQemuError('Option nographic makes no sense alongside the gtk option.')
+            self.qemu_opt += ' -nographic'
+            return
+
+        if self.novga == True:
+            self.qemu_opt += ' -vga none'
+            return
+
+        if (self.gl_es == True or self.gl == True) and (self.sdl == False and self.gtk == False):
+            raise RunQemuError('Option gl/gl-es needs gtk or sdl option.')
+
+        if self.sdl == True or self.gtk == True or self.egl_headless == True:
+            self.set_dri_path()
+            self.qemu_opt += ' -vga virtio -display '
+            if self.egl_headless == True:
+                self.qemu_opt += 'egl-headless,'
+            else:
+                if self.sdl == True:
+                    self.qemu_opt += 'sdl,'
+                elif self.gtk == True:
+                    self.qemu_opt += 'gtk,'
+
+                if self.gl == True:
+                    self.qemu_opt += 'gl=on,'
+                elif self.gl_es == True:
+                    self.qemu_opt += 'gl=es,'
+            self.qemu_opt += 'show-cursor=on'
+
+        self.qemu_opt += ' %s' %self.get('QB_GRAPHICS')
+
+    def setup_serial(self):
+        # Setup correct kernel command line for serial
+        if self.serialstdio == True or self.serialconsole == True or self.nographic == True or self.tcpserial_portnum:
+            for entry in self.get('SERIAL_CONSOLES').split(' '):
+                self.kernel_cmdline_script += ' console=%s' %entry.split(';')[1]
+
+        if self.serialstdio == True or self.nographic == True:
+            self.qemu_opt += " -serial mon:stdio"
+        else:
+            self.qemu_opt += " -serial mon:vc"
+            if self.serialconsole:
+                if sys.stdin.isatty():
+                    subprocess.check_call(("stty", "intr", "^]"))
+                    logger.info("Interrupt character is '^]'")
+
+                self.qemu_opt += " %s" % self.get("QB_SERIAL_OPT")
+
+        # We always wants ttyS0 and ttyS1 in qemu machines (see SERIAL_CONSOLES).
+        # If no serial or serialtcp options were specified, only ttyS0 is created
+        # and sysvinit shows an error trying to enable ttyS1:
+        #     INIT: Id "S1" respawning too fast: disabled for 5 minutes
+        serial_num = len(re.findall("-serial", self.qemu_opt))
+        if serial_num < 2:
+            self.qemu_opt += " -serial null"
+
     def setup_final(self):
         qemu_bin = os.path.join(self.bindir_native, self.qemu_system)
 
@@ -1345,6 +1391,8 @@ class BaseConfig(object):
 
         for ovmf in self.ovmf_bios:
             format = ovmf.rsplit('.', 1)[-1]
+            if format == "bin":
+                format = "raw"
             self.qemu_opt += ' -drive if=pflash,format=%s,file=%s' % (format, ovmf)
 
         self.qemu_opt += ' ' + self.qemu_opt_script
@@ -1363,37 +1411,8 @@ class BaseConfig(object):
         if self.snapshot:
             self.qemu_opt += " -snapshot"
 
-        if self.serialconsole:
-            if sys.stdin.isatty():
-                subprocess.check_call(("stty", "intr", "^]"))
-                logger.info("Interrupt character is '^]'")
-
-            first_serial = ""
-            if not re.search("-nographic", self.qemu_opt):
-                first_serial = "-serial mon:vc"
-            # We always want a ttyS1. Since qemu by default adds a serial
-            # port when nodefaults is not specified, it seems that all that
-            # would be needed is to make sure a "-serial" is there. However,
-            # it appears that when "-serial" is specified, it ignores the
-            # default serial port that is normally added.  So here we make
-            # sure to add two -serial if there are none. And only one if
-            # there is one -serial already.
-            serial_num = len(re.findall("-serial", self.qemu_opt))
-            if serial_num == 0:
-                self.qemu_opt += " %s %s" % (first_serial, self.get("QB_SERIAL_OPT"))
-            elif serial_num == 1:
-                self.qemu_opt += " %s" % self.get("QB_SERIAL_OPT")
-
-        # We always wants ttyS0 and ttyS1 in qemu machines (see SERIAL_CONSOLES),
-        # if not serial or serialtcp options was specified only ttyS0 is created
-        # and sysvinit shows an error trying to enable ttyS1:
-        #     INIT: Id "S1" respawning too fast: disabled for 5 minutes
-        serial_num = len(re.findall("-serial", self.qemu_opt))
-        if serial_num == 0:
-            if re.search("-nographic", self.qemu_opt) or self.serialstdio:
-                self.qemu_opt += " -serial mon:stdio -serial null"
-            else:
-                self.qemu_opt += " -serial mon:vc -serial null"
+        self.setup_serial()
+        self.setup_vga()
 
     def start_qemu(self):
         import shlex
diff --git a/poky/scripts/sstate-diff-machines.sh b/poky/scripts/sstate-diff-machines.sh
index 1d721eb87..8b64e11be 100755
--- a/poky/scripts/sstate-diff-machines.sh
+++ b/poky/scripts/sstate-diff-machines.sh
@@ -127,6 +127,8 @@ for M in ${machines}; do
   fi
 done
 
+COMPARE_TASKS="do_configure.sigdata do_populate_sysroot.sigdata do_package_write_ipk.sigdata do_package_write_rpm.sigdata do_package_write_deb.sigdata do_package_write_tar.sigdata"
+
 function compareSignatures() {
   MACHINE1=$1
   MACHINE2=$2
@@ -134,7 +136,7 @@ function compareSignatures() {
   PRE_PATTERN=""
   [ -n "${PATTERN}" ] || PRE_PATTERN="-v"
   [ -n "${PATTERN}" ] || PATTERN="MACHINE"
-  for TASK in do_configure.sigdata do_populate_sysroot.sigdata do_package_write_ipk.sigdata; do
+  for TASK in $COMPARE_TASKS; do
     printf "\n\n === Comparing signatures for task ${TASK} between ${MACHINE1} and ${MACHINE2} ===\n" | tee -a ${OUTPUT}/signatures.${MACHINE2}.${TASK}.log
     diff ${OUTPUT}/${MACHINE1}/list.M ${OUTPUT}/${MACHINE2}/list.M | grep ${PRE_PATTERN} "${PATTERN}" | grep ${TASK} > ${OUTPUT}/signatures.${MACHINE2}.${TASK}
     for i in `cat ${OUTPUT}/signatures.${MACHINE2}.${TASK} | sed 's#[^/]*/\([^/]*\)/.*#\1#g' | sort -u | xargs`; do
diff --git a/poky/scripts/verify-bashisms b/poky/scripts/verify-bashisms
index fb0cc719e..14d8c298e 100755
--- a/poky/scripts/verify-bashisms
+++ b/poky/scripts/verify-bashisms
@@ -100,7 +100,7 @@ if __name__=='__main__':
     args = parser.parse_args()
 
     if shutil.which("checkbashisms.pl") is None:
-        print("Cannot find checkbashisms.pl on $PATH, get it from https://anonscm.debian.org/cgit/collab-maint/devscripts.git/plain/scripts/checkbashisms.pl")
+        print("Cannot find checkbashisms.pl on $PATH, get it from https://salsa.debian.org/debian/devscripts/raw/master/scripts/checkbashisms.pl")
         sys.exit(1)
 
     # The order of defining the worker function,
-- 
cgit v1.2.3


From c2a772f7b816166ee0965e98649a66d87045ccc8 Mon Sep 17 00:00:00 2001
From: Andrew Geissler 
Date: Thu, 1 Apr 2021 10:06:38 -0500
Subject: nodejs: ppc64le machine support

Commit 836912ab changed the logic in this recipe to stop looking for
"ppc64le". This caused the ppc64le systems used by me to stop working.
There wasn't much in the commit message on why this change occurred but
ppc64le is definitely still needed.

Signed-off-by: Andrew Geissler 
Change-Id: Ibd60e08e4e5398ef05c380cd5d8ce937bb45fcaf
---
 meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_12.21.0.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_12.21.0.bb b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_12.21.0.bb
index 3a2822c38..9b86bf337 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_12.21.0.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_12.21.0.bb
@@ -39,7 +39,7 @@ def map_nodejs_arch(a, d):
     if   re.match('i.86$', a): return 'ia32'
     elif re.match('x86_64$', a): return 'x64'
     elif re.match('aarch64$', a): return 'arm64'
-    elif re.match('(powerpc64|powerpc64le)$', a): return 'ppc64'
+    elif re.match('(powerpc64|powerpc64le|ppc64le)$', a): return 'ppc64'
     elif re.match('powerpc$', a): return 'ppc'
     return a
 
-- 
cgit v1.2.3


From 67fed83348e6e6fbd5a08ea57fe885bd3c51bf99 Mon Sep 17 00:00:00 2001
From: Joel Stanley 
Date: Wed, 31 Mar 2021 12:05:52 +1030
Subject: phosphor: Remove phosphor-vlan machine feature

This feature is used to turn on the CONFIG_VLAN_8021Q kernel option for
all systems using the phosphor layer. However, the kernel option has
been enabled in the defconfigs for aspeed g4, g5, g6, and nuvoton via
gbs, and gxp.

Drop the feature and subseqently remove KERNEL_DANGLING_FEATURES_WARN_ONLY.

Change-Id: I544cb5ba8e74f1217f90cc1eaccf725beb32bd3b
Signed-off-by: Joel Stanley 
---
 .../recipes-kernel/linux/linux-aspeed/phosphor-vlan.cfg       |  1 -
 .../recipes-kernel/linux/linux-aspeed/phosphor-vlan.scc       |  2 --
 .../aspeed-layer/recipes-kernel/linux/linux-aspeed_%.bbappend | 11 -----------
 3 files changed, 14 deletions(-)
 delete mode 100644 meta-phosphor/aspeed-layer/recipes-kernel/linux/linux-aspeed/phosphor-vlan.cfg
 delete mode 100644 meta-phosphor/aspeed-layer/recipes-kernel/linux/linux-aspeed/phosphor-vlan.scc
 delete mode 100644 meta-phosphor/aspeed-layer/recipes-kernel/linux/linux-aspeed_%.bbappend

diff --git a/meta-phosphor/aspeed-layer/recipes-kernel/linux/linux-aspeed/phosphor-vlan.cfg b/meta-phosphor/aspeed-layer/recipes-kernel/linux/linux-aspeed/phosphor-vlan.cfg
deleted file mode 100644
index 1ea3eed08..000000000
--- a/meta-phosphor/aspeed-layer/recipes-kernel/linux/linux-aspeed/phosphor-vlan.cfg
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_VLAN_8021Q=y
diff --git a/meta-phosphor/aspeed-layer/recipes-kernel/linux/linux-aspeed/phosphor-vlan.scc b/meta-phosphor/aspeed-layer/recipes-kernel/linux/linux-aspeed/phosphor-vlan.scc
deleted file mode 100644
index 46d3bcec8..000000000
--- a/meta-phosphor/aspeed-layer/recipes-kernel/linux/linux-aspeed/phosphor-vlan.scc
+++ /dev/null
@@ -1,2 +0,0 @@
-define KFEATURE_DESCRIPTION "Enable VLAN support"
-kconf non-hardware phosphor-vlan.cfg
diff --git a/meta-phosphor/aspeed-layer/recipes-kernel/linux/linux-aspeed_%.bbappend b/meta-phosphor/aspeed-layer/recipes-kernel/linux/linux-aspeed_%.bbappend
deleted file mode 100644
index d8bbccfac..000000000
--- a/meta-phosphor/aspeed-layer/recipes-kernel/linux/linux-aspeed_%.bbappend
+++ /dev/null
@@ -1,11 +0,0 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
-
-SRC_URI += "file://phosphor-vlan.scc"
-SRC_URI += "file://phosphor-vlan.cfg"
-
-KERNEL_FEATURES_append = " phosphor-vlan"
-KERNEL_FEATURES_remove_qemuall = " phosphor-vlan"
-
-# OpenBMC loads in kernel features via other mechanisms so this check
-# in the kernel-yocto.bbclass is not required
-KERNEL_DANGLING_FEATURES_WARN_ONLY="1"
-- 
cgit v1.2.3


From d7afac725243c9d6f091c774ef68263a3b4e8d5d Mon Sep 17 00:00:00 2001
From: Ed Tanous 
Date: Thu, 1 Apr 2021 16:09:06 -0700
Subject: Fix issue with B variable in bmcweb

When bmcweb is built with devtool, the B directory includes the trailing
slash, when it isn't devtooled (ie built normally) the B variable
doesn't include the slash.  This causes issues when enabling the bmcweb
ptest targets.

This commit adds the slash, to make it build in both cases

Tested:
built with:
DISTRO_FEATURES_append = " ptest"
CORE_IMAGE_EXTRA_INSTALL += "bmcweb-ptest"
in local.conf, with both:

devtool modify bmcweb
and
devtool reset bmcweb
and verified code now builds both ways.

Signed-off-by: Ed Tanous 
Change-Id: Ie8bbe598b3d165f038c1e4df09ca97e02aeb539a
---
 meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb b/meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb
index b26cec038..67378cfed 100644
--- a/meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb
+++ b/meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb
@@ -44,7 +44,7 @@ RDEPENDS_${PN} += " \
 
 do_install_ptest() {
         install -d ${D}${PTEST_PATH}/test
-        cp -rf ${B}*_test ${D}${PTEST_PATH}/test/
+        cp -rf ${B}/*_test ${D}${PTEST_PATH}/test/
 }
 
 FILES_${PN} += "${datadir}/** "
-- 
cgit v1.2.3


From e742b75d240eb4cb32ef6a9bca6b50342144a73c Mon Sep 17 00:00:00 2001
From: Andrew Geissler 
Date: Wed, 24 Mar 2021 16:16:14 -0500
Subject: remove host-on and chassis-on file rm

The removal of these files was moved into the phosphor-state-manager
applications. This is the final commit in that series:
https://github.com/openbmc/phosphor-state-manager/commit/4a4c1a69432dd88a4204e7a15a838aae75ae1d12

Clearing them on the power off paths in this service file caused
complexity with other paths like BMC resets with the host up and
warm reboots.

Signed-off-by: Andrew Geissler 
Change-Id: I33997107a315f888280932fafda1d75d57ba50af
---
 .../chassis/obmc-op-control-power/op-wait-power-off@.service            | 2 --
 1 file changed, 2 deletions(-)

diff --git a/meta-phosphor/recipes-phosphor/chassis/obmc-op-control-power/op-wait-power-off@.service b/meta-phosphor/recipes-phosphor/chassis/obmc-op-control-power/op-wait-power-off@.service
index c97b67bac..092409e40 100644
--- a/meta-phosphor/recipes-phosphor/chassis/obmc-op-control-power/op-wait-power-off@.service
+++ b/meta-phosphor/recipes-phosphor/chassis/obmc-op-control-power/op-wait-power-off@.service
@@ -14,8 +14,6 @@ Type=oneshot
 RemainAfterExit=yes
 ExecStart=/usr/bin/env pgood_wait /org/openbmc/control/power%i off
 SyslogIdentifier=pgood_wait
-ExecStart=/bin/rm -f /run/openbmc/chassis@%i-on
-ExecStart=/bin/rm -f /run/openbmc/host@%i-on
 ExecStart=/bin/rm -f /run/openbmc/host@%i-request
 ExecStart=/bin/rm -f /run/openbmc/mpreboot@%i
 
-- 
cgit v1.2.3


From afac71f9fb66711ab305a26a6378aa33557ca5b3 Mon Sep 17 00:00:00 2001
From: XP Chen 
Date: Tue, 6 Apr 2021 16:29:47 -0500
Subject: meta-fii/meta-kudo: Update OWNERS file

1. Add xiao-peng.chen, mustafa.shehabi, mohaimen.alsamarai to owner

Signed-off-by: XP Chen 
Change-Id: I99beaabd888265289965715af036cbef67ef1076
---
 meta-fii/OWNERS | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/meta-fii/OWNERS b/meta-fii/OWNERS
index 847f9142d..3fb7829f6 100644
--- a/meta-fii/OWNERS
+++ b/meta-fii/OWNERS
@@ -2,5 +2,6 @@ owners:
 - benjaminfair@google.com
 - vveerach@google.com
 - lancelot.kao@fii-usa.com
-- Mohaimen.Alsamarai@fii-na.com
-# - Xiao-Peng.Chen@fii-na.com
+- mohaimen.alsamarai@fii-na.com
+- xiao-peng.chen@fii-na.com
+- mustafa.shehabi@fii-na.com
-- 
cgit v1.2.3


From ffe9cec453f0e4dd08bcf1a6d74265cc8267b750 Mon Sep 17 00:00:00 2001
From: Joel Stanley 
Date: Tue, 6 Apr 2021 16:58:56 +0930
Subject: linux-aspeed: USB gadget, SBTSI, OCC

Eddie James (4):
      fsi: occ: Don't accept response from un-initialized OCC
      fsi: occ: Log error for checksum failure
      hwmon: (occ) Start sequence number at one
      hwmon: (occ) Print response status in first poll error message

Joel Stanley (2):
      ARM: dts: aspeed: Fixes for ASRock E3C246D4I
      ARM: config: aspeed_g5: Add SBTSI sensor

Kun Yi (3):
      hwmon: (sbtsi) Add basic support for SB-TSI sensors
      hwmon: (sbtsi) Add documentation
      dt-bindings: (hwmon/sbtsi_tmep) Add SB-TSI hwmon driver bindings

Tao Ren (1):
      usb: gadget: aspeed: fix dma map failure

Change-Id: Ie9a007649087620c3aee2ea039a1fbec995a159f
Signed-off-by: Joel Stanley 
---
 meta-aspeed/recipes-kernel/linux/linux-aspeed_git.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta-aspeed/recipes-kernel/linux/linux-aspeed_git.bb b/meta-aspeed/recipes-kernel/linux/linux-aspeed_git.bb
index 17aad040e..44926f860 100644
--- a/meta-aspeed/recipes-kernel/linux/linux-aspeed_git.bb
+++ b/meta-aspeed/recipes-kernel/linux/linux-aspeed_git.bb
@@ -1,6 +1,6 @@
 KBRANCH ?= "dev-5.10"
 LINUX_VERSION ?= "5.10.23"
 
-SRCREV="a3e4860badca60a766b53d169c1c9822cd65b344"
+SRCREV="51e4d5a3c71b3174566d888f6e8265a1508223eb"
 
 require linux-aspeed.inc
-- 
cgit v1.2.3


From b2a8c3e89ea19f85d284622c9166779382362152 Mon Sep 17 00:00:00 2001
From: Andrew Geissler 
Date: Tue, 6 Apr 2021 02:41:52 +0000
Subject: phosphor-host-postd: srcrev bump e2abf44290..2a744b2d70

Troy Lee (1):
      LPC-Snoop event isn't registered into event loop

Change-Id: I37f083c670b6c3f83a7af76025c0deea8713d459
Signed-off-by: Andrew Geissler 
---
 meta-phosphor/recipes-phosphor/host/phosphor-host-postd_git.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta-phosphor/recipes-phosphor/host/phosphor-host-postd_git.bb b/meta-phosphor/recipes-phosphor/host/phosphor-host-postd_git.bb
index 74b7b7d1b..77d36bbf1 100644
--- a/meta-phosphor/recipes-phosphor/host/phosphor-host-postd_git.bb
+++ b/meta-phosphor/recipes-phosphor/host/phosphor-host-postd_git.bb
@@ -20,7 +20,7 @@ DEPENDS += "systemd"
 
 S = "${WORKDIR}/git"
 SRC_URI = "git://github.com/openbmc/phosphor-host-postd"
-SRCREV = "e2abf4429059b7ee3f90cc07f233a66b3022a176"
+SRCREV = "2a744b2d70ce9de8519a7c716da5009cb049db17"
 
 SNOOP_DEVICE ?= "aspeed-lpc-snoop0"
 POST_CODE_BYTES ?= "1"
-- 
cgit v1.2.3


From 16b428990ce390dbc24f916a4f4e98efb068d0b6 Mon Sep 17 00:00:00 2001
From: Andrew Geissler 
Date: Tue, 6 Apr 2021 18:31:10 +0000
Subject: phosphor-power: srcrev bump 81a2f90b9c..1553cd9a91

Adriana Kobylak (2):
      psu-ng: Created map of supported PS configurations
      psu-ng: Store power supply model name

Jim Wright (1):
      pseq: Create phosphor-power-sequencer application

Shawn McCarney (1):
      regulators: Wait for compatible system types

Change-Id: I65b44c0ffb7b22e72723454420486b69b95e13ea
Signed-off-by: Andrew Geissler 
---
 meta-phosphor/recipes-phosphor/power/phosphor-power.inc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta-phosphor/recipes-phosphor/power/phosphor-power.inc b/meta-phosphor/recipes-phosphor/power/phosphor-power.inc
index 68a9b9745..c2d172fa6 100644
--- a/meta-phosphor/recipes-phosphor/power/phosphor-power.inc
+++ b/meta-phosphor/recipes-phosphor/power/phosphor-power.inc
@@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/phosphor-power"
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
 SRC_URI += "git://github.com/openbmc/phosphor-power"
-SRCREV = "81a2f90b9c205068b0700a2bda35fb2b3d2ede00"
+SRCREV = "1553cd9a91df1d4cd0d1ba2feb53ba63004d3fdd"
-- 
cgit v1.2.3


From 4424702469ffa95f227e698da85d161f416d9ae7 Mon Sep 17 00:00:00 2001
From: Andrew Geissler 
Date: Tue, 6 Apr 2021 02:43:13 +0000
Subject: webui-vue: srcrev bump 1915d8c499..dbc691c61e

Dixsie (2):
      Fix network setting validations bug
      Add form quick start documentation

Change-Id: Ib6cced3a4ab6e449df49a609ef71f072ba92afe4
Signed-off-by: Andrew Geissler 
---
 meta-phosphor/recipes-phosphor/webui/webui-vue_git.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta-phosphor/recipes-phosphor/webui/webui-vue_git.bb b/meta-phosphor/recipes-phosphor/webui/webui-vue_git.bb
index db04fb3f6..5dcc44b45 100644
--- a/meta-phosphor/recipes-phosphor/webui/webui-vue_git.bb
+++ b/meta-phosphor/recipes-phosphor/webui/webui-vue_git.bb
@@ -6,7 +6,7 @@ LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
 
 SRC_URI = "git://github.com/openbmc/webui-vue.git"
-SRCREV = "1915d8c4992c1a4165e8ae108e4d799b3b4ce86a"
+SRCREV = "dbc691c61ea5d112e7d9e3f393856574ac5d1d37"
 S = "${WORKDIR}/git"
 
 DEPENDS_prepend = "nodejs-native "
-- 
cgit v1.2.3


From 95a07203c258ea4d733eb86db6210be4eb4884fb Mon Sep 17 00:00:00 2001
From: Andrew Geissler 
Date: Tue, 6 Apr 2021 20:00:52 +0000
Subject: phosphor-ipmi-flash: srcrev bump c8b456e08b..328f520f44

Jie Yang (1):
      tools/handler: Read the running version

Change-Id: I055127c306bac90804d19c2dd0433b53a4516c37
Signed-off-by: Andrew Geissler 
---
 meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-flash_git.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-flash_git.bb b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-flash_git.bb
index c9f2fbae3..132e54d39 100644
--- a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-flash_git.bb
+++ b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-flash_git.bb
@@ -48,7 +48,7 @@ EXTRA_OECONF_append = " MAPPED_ADDRESS=${IPMI_FLASH_BMC_ADDRESS}"
 
 S = "${WORKDIR}/git"
 SRC_URI = "git://github.com/openbmc/phosphor-ipmi-flash"
-SRCREV = "c8b456e08bf6fedebc15c399e4a3a79b744b1624"
+SRCREV = "328f520f44a4e986d58b204468660e7ddeedc189"
 
 SYSTEMD_PACKAGES = "${PN}"
 SYSTEMD_SERVICE_${PN} += "phosphor-ipmi-flash-bmc-prepare.target \
-- 
cgit v1.2.3


From e1721f6c021ddb14c01a0a7c3e2035f0aaa2437c Mon Sep 17 00:00:00 2001
From: Andrew Geissler 
Date: Tue, 6 Apr 2021 21:30:28 +0000
Subject: phosphor-networkd: srcrev bump 359623e2af..a3b14dcea2

Lei YU (1):
      Fix __builtin_ctz related bug

Change-Id: Ibfc97185d282d738de6fdc74732813e73982b2c9
Signed-off-by: Andrew Geissler 
---
 meta-phosphor/classes/phosphor-networkd-rev.bbclass | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta-phosphor/classes/phosphor-networkd-rev.bbclass b/meta-phosphor/classes/phosphor-networkd-rev.bbclass
index 4be557848..9a0e77aaf 100644
--- a/meta-phosphor/classes/phosphor-networkd-rev.bbclass
+++ b/meta-phosphor/classes/phosphor-networkd-rev.bbclass
@@ -1,2 +1,2 @@
 SRC_URI += "git://github.com/openbmc/phosphor-networkd"
-SRCREV = "359623e2af84d63b4d37e15a14427f42781146ac"
+SRCREV = "a3b14dcea243ec2480e88f6e8864dee010a0fcbc"
-- 
cgit v1.2.3


From ba367391404b097e6b1b06749e9781d6bec808e9 Mon Sep 17 00:00:00 2001
From: Andrew Geissler 
Date: Tue, 6 Apr 2021 21:31:26 +0000
Subject: dbus-sensors: srcrev bump 7ea918f22b..0362738df7

Josh Lehan (1):
      ExternalSensor: Further refinements

Change-Id: Ifcd84c8c121a2a9fd65eec866279c9f90daf9c54
Signed-off-by: Andrew Geissler 
---
 meta-phosphor/recipes-phosphor/sensors/dbus-sensors_git.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta-phosphor/recipes-phosphor/sensors/dbus-sensors_git.bb b/meta-phosphor/recipes-phosphor/sensors/dbus-sensors_git.bb
index 581a6291c..f8334588f 100644
--- a/meta-phosphor/recipes-phosphor/sensors/dbus-sensors_git.bb
+++ b/meta-phosphor/recipes-phosphor/sensors/dbus-sensors_git.bb
@@ -2,7 +2,7 @@ SUMMARY = "dbus-sensors"
 DESCRIPTION = "Dbus Sensor Services Configured from D-Bus"
 
 SRC_URI = "git://github.com/openbmc/dbus-sensors.git"
-SRCREV = "7ea918f22b7df400dd11f909342ac4d256536000"
+SRCREV = "0362738df78e3bb511105f9fe28637ec2d7b0ffa"
 
 PV = "0.1+git${SRCPV}"
 
-- 
cgit v1.2.3


From aa8acf1bc5abb986befc1c6e083878d8f4f3d5bd Mon Sep 17 00:00:00 2001
From: Zane Shelley 
Date: Tue, 23 Mar 2021 17:13:08 -0500
Subject: add PHAL API dependency to openpower-hw-diags

There are just a couple downstream PHAL APIs that are not available in
upstream libpdbg. So despite our best efforts, we need to conditionally
include the PHAL dependency. Fortunately, the impact is very small and
an alternative is provided in upstream openpower-hw-diags when the APIs
are not available.

Signed-off-by: Zane Shelley 
Change-Id: I235dda2f7472e758af4b5df720d45c0f0d694278
---
 meta-openpower/recipes-phosphor/logging/openpower-hw-diags_git.bb | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/meta-openpower/recipes-phosphor/logging/openpower-hw-diags_git.bb b/meta-openpower/recipes-phosphor/logging/openpower-hw-diags_git.bb
index 77eb8db04..5605f60de 100644
--- a/meta-openpower/recipes-phosphor/logging/openpower-hw-diags_git.bb
+++ b/meta-openpower/recipes-phosphor/logging/openpower-hw-diags_git.bb
@@ -25,3 +25,8 @@ DEPENDS = "boost libgpiod pdbg phosphor-logging sdbusplus openpower-libhei \
 
 # This is required so that libhei is installed with the chip data files.
 RDEPENDS_${PN} += "openpower-libhei"
+
+# Conditionally pull in PHAL APIs, if available.
+PACKAGECONFIG ??= "${@bb.utils.filter('OBMC_MACHINE_FEATURES', 'phal', d)}"
+PACKAGECONFIG[phal] = "-Dphal=enabled, -Dphal=disabled, pdata"
+
-- 
cgit v1.2.3


From 88cb23d1d705f4158d7869a98fca9c8da3799324 Mon Sep 17 00:00:00 2001
From: Andrew Geissler 
Date: Wed, 7 Apr 2021 16:50:21 +0000
Subject: intel-ipmi-oem: srcrev bump 06aa21ab75..9420416abe

Jayaprakash Mutyala (1):
      oemcommands: Clear security sensitive data

Change-Id: I5ddac5394ea75d7f4459bbd52a7664aa7acf419f
Signed-off-by: Andrew Geissler 
---
 meta-intel-openbmc/meta-common/recipes-intel/ipmi/intel-ipmi-oem_git.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta-intel-openbmc/meta-common/recipes-intel/ipmi/intel-ipmi-oem_git.bb b/meta-intel-openbmc/meta-common/recipes-intel/ipmi/intel-ipmi-oem_git.bb
index bb820da3f..6ebc733b6 100755
--- a/meta-intel-openbmc/meta-common/recipes-intel/ipmi/intel-ipmi-oem_git.bb
+++ b/meta-intel-openbmc/meta-common/recipes-intel/ipmi/intel-ipmi-oem_git.bb
@@ -5,7 +5,7 @@ LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=a6a4edad4aed50f39a66d098d74b265b"
 
 SRC_URI = "git://github.com/openbmc/intel-ipmi-oem"
-SRCREV = "06aa21ab75cecce354b2a17e05d053c6f61d6a29"
+SRCREV = "9420416abe06d943301ab304044ed8001d49e315"
 
 S = "${WORKDIR}/git"
 PV = "0.1+git${SRCPV}"
-- 
cgit v1.2.3


From 76202e16f8ab80774060fe0d36f31a8e667ed691 Mon Sep 17 00:00:00 2001
From: Kumar Thangavel 
Date: Wed, 17 Feb 2021 13:06:10 +0530
Subject: Add Airflow virtual sensor support

Added support in the machine layer for Airflow sensor as
virtual sensor.

TESTED : Built Facebook YosemiteV2 images and loaded on the target hardware.
Verified the airflow sensor values in the phosphor-virtual-sensor
dbus objects.

Signed-off-by: Kumar Thangavel 
Change-Id: I46b377cc119a31f76286ba2d03f14764f578283f
---
 .../packagegroups/packagegroup-fb-apps.bb          |  1 +
 .../tiogapass/tiogapass_sensor_config.json         | 46 +++++++++++++++++++
 .../yosemitev2/yosemitev2_sensor_config.json       | 51 ++++++++++++++++++++++
 .../sensors/phosphor-virtual-sensor_%.bbappend     | 11 +++++
 4 files changed, 109 insertions(+)
 create mode 100644 meta-facebook/recipes-phosphor/sensors/phosphor-virtual-sensor/tiogapass/tiogapass_sensor_config.json
 create mode 100644 meta-facebook/recipes-phosphor/sensors/phosphor-virtual-sensor/yosemitev2/yosemitev2_sensor_config.json
 create mode 100644 meta-facebook/recipes-phosphor/sensors/phosphor-virtual-sensor_%.bbappend

diff --git a/meta-facebook/recipes-fb/packagegroups/packagegroup-fb-apps.bb b/meta-facebook/recipes-fb/packagegroups/packagegroup-fb-apps.bb
index 86fac887c..b2ec84b65 100644
--- a/meta-facebook/recipes-fb/packagegroups/packagegroup-fb-apps.bb
+++ b/meta-facebook/recipes-fb/packagegroups/packagegroup-fb-apps.bb
@@ -52,4 +52,5 @@ RDEPENDS_${PN}-system = " \
         ipmitool \
         phosphor-post-code-manager \
         phosphor-host-postd \
+        phosphor-virtual-sensor \
         "
diff --git a/meta-facebook/recipes-phosphor/sensors/phosphor-virtual-sensor/tiogapass/tiogapass_sensor_config.json b/meta-facebook/recipes-phosphor/sensors/phosphor-virtual-sensor/tiogapass/tiogapass_sensor_config.json
new file mode 100644
index 000000000..a394faef8
--- /dev/null
+++ b/meta-facebook/recipes-phosphor/sensors/phosphor-virtual-sensor/tiogapass/tiogapass_sensor_config.json
@@ -0,0 +1,46 @@
+[
+	{
+		"Desc" :
+		{
+			"Name" : "Virtual_Inlet_Temp",
+			"SensorType" : "temperature"
+		},
+		"Threshold" :
+		{
+			"CriticalHigh": 90,
+			"CriticalLow": 20,
+			"WarningHigh": 70,
+			"WarningLow": 30
+		},
+		"Params":
+		{
+			"ConstParam" :
+			[
+				{
+					"ParamName" : "P1",
+					"Value" : 1.1
+				}
+			],
+			"DbusParam" :
+			[
+				{
+					"ParamName" : "P2",
+					"Desc" :
+					{
+						"Name" : "MB_INLET_TEMP",
+						"SensorType" : "temperature"
+					}
+				},
+				{
+					"ParamName" : "P3",
+					"Desc" :
+					{
+						"Name" : "MB_FAN0_TACH",
+						"SensorType" : "fan_tach"
+					}
+				}
+			]
+		},
+		"Expression" : "P1 * (P2 + 5 - P3 * 0.01)"
+	}
+]
diff --git a/meta-facebook/recipes-phosphor/sensors/phosphor-virtual-sensor/yosemitev2/yosemitev2_sensor_config.json b/meta-facebook/recipes-phosphor/sensors/phosphor-virtual-sensor/yosemitev2/yosemitev2_sensor_config.json
new file mode 100644
index 000000000..c56712dbd
--- /dev/null
+++ b/meta-facebook/recipes-phosphor/sensors/phosphor-virtual-sensor/yosemitev2/yosemitev2_sensor_config.json
@@ -0,0 +1,51 @@
+[
+  {
+		"Desc" :
+		{
+			"Name" : "Virtual_CFM_Sensor",
+			"SensorType" : "airflow"
+		},
+		"Threshold" :
+		{
+			"CriticalHigh": 40,
+			"CriticalLow": 10,
+			"WarningHigh": 30,
+			"WarningLow": 15
+		},
+		"Params":
+		{
+			"ConstParam" :
+			[
+				{
+					"ParamName" : "P1",
+					"Value" : 0.00565
+				},
+				{
+					"ParamName" : "P2",
+					"Value" : 3.7427
+				}
+			],
+			"DbusParam" :
+			[
+				{
+					"ParamName" : "P3",
+					"Desc" :
+					{
+						"Name" : "SP_FAN0_TACH",
+						"SensorType" : "fan_tach"
+					}
+				},
+				{
+					"ParamName" : "P4",
+					"Desc" :
+					{
+						"Name" : "SP_FAN1_TACH",
+						"SensorType" : "fan_tach"
+					}
+				}
+			]
+		},
+		"Expression" : "(P3 * P1) + (P4 * P1) - P2"
+	}
+]
+
diff --git a/meta-facebook/recipes-phosphor/sensors/phosphor-virtual-sensor_%.bbappend b/meta-facebook/recipes-phosphor/sensors/phosphor-virtual-sensor_%.bbappend
new file mode 100644
index 000000000..94650bab6
--- /dev/null
+++ b/meta-facebook/recipes-phosphor/sensors/phosphor-virtual-sensor_%.bbappend
@@ -0,0 +1,11 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}/${MACHINE}:"
+
+SRC_URI_append = " file://${MACHINE}_sensor_config.json"
+
+do_install_append() {
+
+    install -d ${D}/usr/share/phosphor-virtual-sensor
+
+    install -m 0644 -D ${WORKDIR}/${MACHINE}_sensor_config.json \
+                   ${D}/usr/share/phosphor-virtual-sensor/virtual_sensor_config.json
+}
-- 
cgit v1.2.3


From 5a70c499b3752c95a4f2ee5520f4bb58382b0516 Mon Sep 17 00:00:00 2001
From: Lancelot Kao 
Date: Fri, 19 Feb 2021 18:04:46 -0600
Subject: meta-fii/meta-kudo: update default configuration

1. update the flash layout

Signed-off-by: Lancelot Kao 
Change-Id: Ie4d8589ebb96696ac0840a8cca286456a5bef2eb
---
 meta-fii/meta-kudo/conf/layer.conf                                | 2 +-
 meta-fii/meta-kudo/conf/machine/kudo.conf                         | 8 ++++++--
 meta-fii/meta-kudo/recipes-bsp/u-boot/u-boot-common-kudo.inc      | 3 ---
 .../meta-kudo/recipes-bsp/u-boot/u-boot-nuvoton/fixed_phy.cfg     | 2 --
 meta-fii/meta-kudo/recipes-bsp/u-boot/u-boot-nuvoton/kudo.cfg     | 1 +
 meta-fii/meta-kudo/recipes-bsp/u-boot/u-boot-nuvoton_%.bbappend   | 7 +------
 6 files changed, 9 insertions(+), 14 deletions(-)
 delete mode 100644 meta-fii/meta-kudo/recipes-bsp/u-boot/u-boot-common-kudo.inc
 delete mode 100644 meta-fii/meta-kudo/recipes-bsp/u-boot/u-boot-nuvoton/fixed_phy.cfg

diff --git a/meta-fii/meta-kudo/conf/layer.conf b/meta-fii/meta-kudo/conf/layer.conf
index e5a3c34af..84da9fb54 100644
--- a/meta-fii/meta-kudo/conf/layer.conf
+++ b/meta-fii/meta-kudo/conf/layer.conf
@@ -7,4 +7,4 @@ BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
 
 BBFILE_COLLECTIONS += "kudo-layer"
 BBFILE_PATTERN_kudo-layer = "^${LAYERDIR}/"
-LAYERSERIES_COMPAT_kudo-layer = "warrior zeus dunfell"
+LAYERSERIES_COMPAT_kudo-layer = "warrior zeus gatesgarth dunfell"
diff --git a/meta-fii/meta-kudo/conf/machine/kudo.conf b/meta-fii/meta-kudo/conf/machine/kudo.conf
index 31036a4ff..e438f9618 100644
--- a/meta-fii/meta-kudo/conf/machine/kudo.conf
+++ b/meta-fii/meta-kudo/conf/machine/kudo.conf
@@ -7,8 +7,8 @@ require conf/machine/include/obmc-bsp-common.inc
 FLASH_SIZE = "65536"
 FLASH_UBOOT_OFFSET = "0"
 FLASH_KERNEL_OFFSET = "2048"
-FLASH_ROFS_OFFSET = "8192"
-FLASH_RWFS_OFFSET = "62464"
+FLASH_ROFS_OFFSET = "7168"
+FLASH_RWFS_OFFSET = "62400"
 
 UBOOT_MACHINE = "PolegSVB_config"
 UBOOT_DEVICETREE = "nuvoton-npcm730-kudo"
@@ -16,6 +16,10 @@ IGPS_MACHINE = "EB"
 
 IMAGE_FSTYPES += " cpio.${INITRAMFS_CTYPE}.u-boot"
 
+OBMC_MACHINE_FEATURES += " \
+    obmc-host-ipmi \
+    "
+
 VIRTUAL-RUNTIME_obmc-fan-control = "phosphor-pid-control"
 PREFERRED_PROVIDER_virtual/obmc-fan-control = "phosphor-pid-control"
 PREFERRED_PROVIDER_virtual/obmc-system-mgmt = "packagegroup-kudo-apps"
diff --git a/meta-fii/meta-kudo/recipes-bsp/u-boot/u-boot-common-kudo.inc b/meta-fii/meta-kudo/recipes-bsp/u-boot/u-boot-common-kudo.inc
deleted file mode 100644
index 9154bc131..000000000
--- a/meta-fii/meta-kudo/recipes-bsp/u-boot/u-boot-common-kudo.inc
+++ /dev/null
@@ -1,3 +0,0 @@
-UBRANCH = "npcm7xx-v2019.01"
-SRC_URI = "git://github.com/Nuvoton-Israel/u-boot.git;branch=${UBRANCH}"
-SRCREV = "5caf59416ba1d6316dd78895e69789246a77e00a"
diff --git a/meta-fii/meta-kudo/recipes-bsp/u-boot/u-boot-nuvoton/fixed_phy.cfg b/meta-fii/meta-kudo/recipes-bsp/u-boot/u-boot-nuvoton/fixed_phy.cfg
deleted file mode 100644
index 125522f84..000000000
--- a/meta-fii/meta-kudo/recipes-bsp/u-boot/u-boot-nuvoton/fixed_phy.cfg
+++ /dev/null
@@ -1,2 +0,0 @@
-CONFIG_PHY_FIXED=y
-
diff --git a/meta-fii/meta-kudo/recipes-bsp/u-boot/u-boot-nuvoton/kudo.cfg b/meta-fii/meta-kudo/recipes-bsp/u-boot/u-boot-nuvoton/kudo.cfg
index 417ffa98c..58839d9fd 100644
--- a/meta-fii/meta-kudo/recipes-bsp/u-boot/u-boot-nuvoton/kudo.cfg
+++ b/meta-fii/meta-kudo/recipes-bsp/u-boot/u-boot-nuvoton/kudo.cfg
@@ -1,2 +1,3 @@
+CONFIG_PHY_FIXED=y
 CONFIG_CMD_MII=y
 CONFIG_NET_RANDOM_ETHADDR=y
diff --git a/meta-fii/meta-kudo/recipes-bsp/u-boot/u-boot-nuvoton_%.bbappend b/meta-fii/meta-kudo/recipes-bsp/u-boot/u-boot-nuvoton_%.bbappend
index 73ad51e15..070059baf 100644
--- a/meta-fii/meta-kudo/recipes-bsp/u-boot/u-boot-nuvoton_%.bbappend
+++ b/meta-fii/meta-kudo/recipes-bsp/u-boot/u-boot-nuvoton_%.bbappend
@@ -1,10 +1,5 @@
 FILESEXTRAPATHS_prepend_kudo := "${THISDIR}/u-boot-nuvoton:"
 
-require u-boot-common-kudo.inc
-
 UBOOT_MAKE_TARGET_append_kudo = " DEVICE_TREE=${UBOOT_DEVICETREE}"
 
-SRC_URI_append_kudo = " \
-			file://fixed_phy.cfg \
-			file://kudo.cfg \
-			"
+SRC_URI_append_kudo = " file://kudo.cfg"
-- 
cgit v1.2.3


From 9d0e6bf211b24ac45f71e2574ed65c0be61207f3 Mon Sep 17 00:00:00 2001
From: Lancelot Kao 
Date: Fri, 19 Feb 2021 23:47:51 -0600
Subject: meta-fii/meta-kudo: Use SSIF IPMI interface

1. use the SSIF bridge interface

Signed-off-by: Lancelot Kao 
Change-Id: I5a6116a975e536b6180a692392cef4c58ebed7b8
---
 meta-fii/meta-kudo/conf/machine/kudo.conf | 1 +
 1 file changed, 1 insertion(+)

diff --git a/meta-fii/meta-kudo/conf/machine/kudo.conf b/meta-fii/meta-kudo/conf/machine/kudo.conf
index e438f9618..f3a3757f6 100644
--- a/meta-fii/meta-kudo/conf/machine/kudo.conf
+++ b/meta-fii/meta-kudo/conf/machine/kudo.conf
@@ -23,3 +23,4 @@ OBMC_MACHINE_FEATURES += " \
 VIRTUAL-RUNTIME_obmc-fan-control = "phosphor-pid-control"
 PREFERRED_PROVIDER_virtual/obmc-fan-control = "phosphor-pid-control"
 PREFERRED_PROVIDER_virtual/obmc-system-mgmt = "packagegroup-kudo-apps"
+PREFERRED_PROVIDER_virtual/obmc-host-ipmi-hw = "phosphor-ipmi-ssif"
-- 
cgit v1.2.3


From 2f2c5b8270c4543e8a88e8de89b9275e9437f518 Mon Sep 17 00:00:00 2001
From: Lancelot Kao 
Date: Sat, 20 Feb 2021 00:47:50 -0600
Subject: meta-fii/meta-kudo: update uboot configuration

1. remove the SRCREV configuration
2. combined the uboot configuration

Signed-off-by: Lancelot Kao 
Change-Id: Iba66f79e11689f9ee798c6b6ccd94674295dc8b3
---
 meta-fii/meta-kudo/recipes-bsp/u-boot/u-boot-nuvoton_%.bbappend | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/meta-fii/meta-kudo/recipes-bsp/u-boot/u-boot-nuvoton_%.bbappend b/meta-fii/meta-kudo/recipes-bsp/u-boot/u-boot-nuvoton_%.bbappend
index 070059baf..1c1383680 100644
--- a/meta-fii/meta-kudo/recipes-bsp/u-boot/u-boot-nuvoton_%.bbappend
+++ b/meta-fii/meta-kudo/recipes-bsp/u-boot/u-boot-nuvoton_%.bbappend
@@ -1,5 +1,3 @@
-FILESEXTRAPATHS_prepend_kudo := "${THISDIR}/u-boot-nuvoton:"
-
-UBOOT_MAKE_TARGET_append_kudo = " DEVICE_TREE=${UBOOT_DEVICETREE}"
+FILESEXTRAPATHS_prepend_kudo := "${THISDIR}/${PN}:"
 
 SRC_URI_append_kudo = " file://kudo.cfg"
-- 
cgit v1.2.3


From aa5d011d280be228c97fa8c681632d76e7c05f75 Mon Sep 17 00:00:00 2001
From: Lancelot Kao 
Date: Sun, 21 Feb 2021 19:15:47 -0600
Subject: meta-fii/meta-kudo: Use nuvoton loadsvf cpld update function

1. Use Nuvoton cpld function to support update
   MB CPLD and BMC CPLD
2. include phosphor ipmi flash

Signed-off-by: Lancelot Kao 
Change-Id: I0eb852a20c35670c6a62c9858182320ed0c925a6
---
 meta-fii/meta-kudo/recipes-phosphor/image/obmc-phosphor-image.bbappend | 1 +
 .../meta-kudo/recipes-phosphor/ipmi/phosphor-ipmi-flash_%.bbappend     | 3 +++
 2 files changed, 4 insertions(+)
 create mode 100644 meta-fii/meta-kudo/recipes-phosphor/ipmi/phosphor-ipmi-flash_%.bbappend

diff --git a/meta-fii/meta-kudo/recipes-phosphor/image/obmc-phosphor-image.bbappend b/meta-fii/meta-kudo/recipes-phosphor/image/obmc-phosphor-image.bbappend
index 0efccea65..d4d9d318f 100644
--- a/meta-fii/meta-kudo/recipes-phosphor/image/obmc-phosphor-image.bbappend
+++ b/meta-fii/meta-kudo/recipes-phosphor/image/obmc-phosphor-image.bbappend
@@ -1,5 +1,6 @@
 OBMC_IMAGE_EXTRA_INSTALL_append_kudo = " ipmitool"
 OBMC_IMAGE_EXTRA_INSTALL_append_kudo = " ethtool"
+OBMC_IMAGE_EXTRA_INSTALL_append_kudo = " loadsvf"
 OBMC_IMAGE_EXTRA_INSTALL_append_kudo = " google-ipmi-sys"
 OBMC_IMAGE_EXTRA_INSTALL_append_kudo = " google-ipmi-i2c"
 OBMC_IMAGE_EXTRA_INSTALL_append_kudo = " phosphor-ipmi-blobs"
diff --git a/meta-fii/meta-kudo/recipes-phosphor/ipmi/phosphor-ipmi-flash_%.bbappend b/meta-fii/meta-kudo/recipes-phosphor/ipmi/phosphor-ipmi-flash_%.bbappend
new file mode 100644
index 000000000..fa9468ac4
--- /dev/null
+++ b/meta-fii/meta-kudo/recipes-phosphor/ipmi/phosphor-ipmi-flash_%.bbappend
@@ -0,0 +1,3 @@
+PACKAGECONFIG_append_kudo = " nuvoton-p2a-mbox net-bridge"
+
+IPMI_FLASH_BMC_ADDRESS_kudo = "0xF0848000"
-- 
cgit v1.2.3


From b3464d089a40bc67af0ee842f40930e5e3b4020c Mon Sep 17 00:00:00 2001
From: George Hung 
Date: Thu, 8 Apr 2021 07:36:01 +0800
Subject: meta-quanta: gbs: populated the JSON according to the installed
 drives

Add the @nvmeList@ template and dynamically detect for which
drives we should have and populated the JSON accordingly

Signed-off-by: George Hung 
Change-Id: Id0f6cefe80ae72dc8d3601d0a03dd1039341175c
---
 .../fans/read-margin-temp/config-margin.json.in    | 17 +----------------
 .../fans/read-margin-temp/read-margin-temp-wait.sh | 22 +++++++++++++++-------
 2 files changed, 16 insertions(+), 23 deletions(-)

diff --git a/meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp/config-margin.json.in b/meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp/config-margin.json.in
index f152db996..a5ff4979b 100644
--- a/meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp/config-margin.json.in
+++ b/meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp/config-margin.json.in
@@ -391,22 +391,7 @@
                     "zoneSetpoint": 10000,
                     "target": "/xyz/openbmc_project/extsensors/margin/nvme",
                     "components": [
-                        "nvme0",
-                        "nvme1",
-                        "nvme2",
-                        "nvme3",
-                        "nvme4",
-                        "nvme5",
-                        "nvme6",
-                        "nvme7",
-                        "nvme8",
-                        "nvme9",
-                        "nvme10",
-                        "nvme11",
-                        "nvme12",
-                        "nvme13",
-                        "nvme14",
-                        "nvme15"
+                        @nvmeList@
                     ]
                 },
                 {
diff --git a/meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp/read-margin-temp-wait.sh b/meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp/read-margin-temp-wait.sh
index 23742a687..992e40a71 100644
--- a/meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp/read-margin-temp-wait.sh
+++ b/meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp/read-margin-temp-wait.sh
@@ -15,29 +15,37 @@ done
 
 nvmePath="/xyz/openbmc_project/sensors/temperature/nvme"
 nvmeInventoryPath="/xyz/openbmc_project/inventory/system/chassis/motherboard/nvme"
+nvmeList=""
 # Get and Set WCTEMP
 for ((i = 0; i < 16; i++)); do
     name="@WCTemp$(printf "%02d" $i)@"
     wcTemp=72000
-    presentState=$(busctl get-property \
+    presentState="$(busctl get-property \
         xyz.openbmc_project.Inventory.Manager \
         ${nvmeInventoryPath}${i} \
         xyz.openbmc_project.Inventory.Item \
-        Present | awk '{print $2}')
+        Present | awk '{print $2}')"
 
-    if [[ $presentState == "true" ]]; then
-        wcTemp=$(
+    if [[ "$presentState" == "true" ]]; then
+        wcTemp="$(
             busctl get-property xyz.openbmc_project.nvme.manager \
                 ${nvmePath}${i} \
                 xyz.openbmc_project.Sensor.Threshold.Critical \
                 CriticalHigh | awk '{print $2}'
-        )
-        wcTemp=$((wcTemp * 1000))
+        )"
+        wcTemp="$((wcTemp * 1000))"
+        if [[ -z "$nvmeList" ]]; then
+            nvmeList="\"nvme"${i}"\""
+        else
+            nvmeList="${nvmeList}"", \"nvme"${i}"\""
+        fi
     fi
 
-    sed -i "s/$name/${wcTemp}/g" $TEMP_FILE
+    sed -i "s/$name/${wcTemp}/g" "$TEMP_FILE"
 done
 
+sed -i "s/@nvmeList@/${nvmeList}/g" "$TEMP_FILE"
+
 # Use shell parameter expansion to trim the ".in" suffix
 mv "$TEMP_FILE" "${MARGIN_TABLE_FILE_IN%".in"}"
 
-- 
cgit v1.2.3


From 0b9dc0a6bf95fd13aca170e0e3fac8a3b120e336 Mon Sep 17 00:00:00 2001
From: Andrew Geissler 
Date: Thu, 8 Apr 2021 13:50:17 +0000
Subject: fb-ipmi-oem: srcrev bump c723d6a591..f0cf66586b

Jayashree-D (1):
      Add boot order configuration support for yosemitev2.

Change-Id: I7a262132dcd900b4f9d71af05a521c8cf63abe56
Signed-off-by: Andrew Geissler 
---
 meta-facebook/recipes-fb/ipmi/fb-ipmi-oem_git.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta-facebook/recipes-fb/ipmi/fb-ipmi-oem_git.bb b/meta-facebook/recipes-fb/ipmi/fb-ipmi-oem_git.bb
index 6cc2450c5..6fc32a827 100755
--- a/meta-facebook/recipes-fb/ipmi/fb-ipmi-oem_git.bb
+++ b/meta-facebook/recipes-fb/ipmi/fb-ipmi-oem_git.bb
@@ -5,7 +5,7 @@ LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=9e69ba356fa59848ffd865152a3ccc13"
 
 SRC_URI = "git://github.com/openbmc/fb-ipmi-oem"
-SRCREV = "c723d6a5917cde0808713bc57934eb503fa20b8a"
+SRCREV = "f0cf66586b3691bdaef57804fc050a7de9421d97"
 
 S = "${WORKDIR}/git"
 PV = "0.1+git${SRCPV}"
-- 
cgit v1.2.3


From 6234872b26397cb8b114e4c4bc48a22666ae86cb Mon Sep 17 00:00:00 2001
From: Adriana Kobylak 
Date: Thu, 25 Mar 2021 16:40:34 +0000
Subject: ibm: fans: Replace rainier with p10bmc

The IBM rainier machine name is being replaced with the generic p10bmc.

Tested: Built rainier and verified the fan files were installed, ex:
obmc-phosphor-image/1.0-r0/rootfs/usr/share/phosphor-fan-presence/control/ibm,rainier-4u/zones.json
obmc-phosphor-image/1.0-r0/rootfs/usr/share/phosphor-fan-presence/control/ibm,rainier-2u/zones.json
obmc-phosphor-image/1.0-r0/rootfs/usr/share/phosphor-fan-presence/control/ibm,everest/zones.json

Change-Id: I10edb9e30716cffa3f510fe94822eadb08326912
Signed-off-by: Adriana Kobylak 
---
 meta-ibm/recipes-phosphor/dbus/fan-policy.bb       |   8 +-
 .../p10bmc/obmc/fan-watchdog/fan-watchdog.conf     |   3 +
 .../obmc/fan-watchdog/reset-fan-watchdog.conf      |   4 +
 .../rainier/obmc/fan-watchdog/fan-watchdog.conf    |   3 -
 .../obmc/fan-watchdog/reset-fan-watchdog.conf      |   4 -
 .../fans/phosphor-fan-monitor-config.bbappend      |  14 +-
 .../p10bmc/everest/config.json                     | 125 ++++++++++++++
 .../p10bmc/rainier-1s4u/config.json                |  90 ++++++++++
 .../p10bmc/rainier-2u/config.json                  | 183 +++++++++++++++++++++
 .../p10bmc/rainier-4u/config.json                  | 122 ++++++++++++++
 .../rainier/everest/config.json                    | 125 --------------
 .../rainier/rainier-1s4u/config.json               |  90 ----------
 .../rainier/rainier-2u/config.json                 | 183 ---------------------
 .../rainier/rainier-4u/config.json                 | 122 --------------
 .../fans/phosphor-fan-presence-config.bbappend     |  14 +-
 .../p10bmc/everest/config.json                     |  90 ++++++++++
 .../p10bmc/rainier-1s4u/config.json                |  86 ++++++++++
 .../p10bmc/rainier-2u/config.json                  | 134 +++++++++++++++
 .../p10bmc/rainier-4u/config.json                  | 128 ++++++++++++++
 .../rainier/everest/config.json                    |  90 ----------
 .../rainier/rainier-1s4u/config.json               |  86 ----------
 .../rainier/rainier-2u/config.json                 | 134 ---------------
 .../rainier/rainier-4u/config.json                 | 128 --------------
 .../fans/phosphor-fan/p10bmc/everest/fans.json     |  26 +++
 .../fans/phosphor-fan/p10bmc/everest/zones.json    |   9 +
 .../fans/phosphor-fan/p10bmc/manager.json          |   3 +
 .../phosphor-fan/p10bmc/rainier-1s4u/fans.json     |  26 +++
 .../phosphor-fan/p10bmc/rainier-1s4u/zones.json    |   9 +
 .../fans/phosphor-fan/p10bmc/rainier-2u/zones.json |   9 +
 .../fans/phosphor-fan/p10bmc/rainier-4u/zones.json |   9 +
 .../fans/phosphor-fan/p10bmc/rainier/fans.json     |  38 +++++
 .../fans/phosphor-fan/rainier/everest/fans.json    |  26 ---
 .../fans/phosphor-fan/rainier/everest/zones.json   |   9 -
 .../fans/phosphor-fan/rainier/manager.json         |   3 -
 .../phosphor-fan/rainier/rainier-1s4u/fans.json    |  26 ---
 .../phosphor-fan/rainier/rainier-1s4u/zones.json   |   9 -
 .../phosphor-fan/rainier/rainier-2u/zones.json     |   9 -
 .../phosphor-fan/rainier/rainier-4u/zones.json     |   9 -
 .../fans/phosphor-fan/rainier/rainier/fans.json    |  38 -----
 .../recipes-phosphor/fans/phosphor-fan_%.bbappend  |  26 +--
 40 files changed, 1125 insertions(+), 1125 deletions(-)
 create mode 100644 meta-ibm/recipes-phosphor/fans/fan-watchdog/p10bmc/obmc/fan-watchdog/fan-watchdog.conf
 create mode 100644 meta-ibm/recipes-phosphor/fans/fan-watchdog/p10bmc/obmc/fan-watchdog/reset-fan-watchdog.conf
 delete mode 100644 meta-ibm/recipes-phosphor/fans/fan-watchdog/rainier/obmc/fan-watchdog/fan-watchdog.conf
 delete mode 100644 meta-ibm/recipes-phosphor/fans/fan-watchdog/rainier/obmc/fan-watchdog/reset-fan-watchdog.conf
 create mode 100644 meta-ibm/recipes-phosphor/fans/phosphor-fan-monitor-config/p10bmc/everest/config.json
 create mode 100644 meta-ibm/recipes-phosphor/fans/phosphor-fan-monitor-config/p10bmc/rainier-1s4u/config.json
 create mode 100644 meta-ibm/recipes-phosphor/fans/phosphor-fan-monitor-config/p10bmc/rainier-2u/config.json
 create mode 100644 meta-ibm/recipes-phosphor/fans/phosphor-fan-monitor-config/p10bmc/rainier-4u/config.json
 delete mode 100644 meta-ibm/recipes-phosphor/fans/phosphor-fan-monitor-config/rainier/everest/config.json
 delete mode 100644 meta-ibm/recipes-phosphor/fans/phosphor-fan-monitor-config/rainier/rainier-1s4u/config.json
 delete mode 100644 meta-ibm/recipes-phosphor/fans/phosphor-fan-monitor-config/rainier/rainier-2u/config.json
 delete mode 100644 meta-ibm/recipes-phosphor/fans/phosphor-fan-monitor-config/rainier/rainier-4u/config.json
 create mode 100644 meta-ibm/recipes-phosphor/fans/phosphor-fan-presence-config/p10bmc/everest/config.json
 create mode 100644 meta-ibm/recipes-phosphor/fans/phosphor-fan-presence-config/p10bmc/rainier-1s4u/config.json
 create mode 100644 meta-ibm/recipes-phosphor/fans/phosphor-fan-presence-config/p10bmc/rainier-2u/config.json
 create mode 100644 meta-ibm/recipes-phosphor/fans/phosphor-fan-presence-config/p10bmc/rainier-4u/config.json
 delete mode 100644 meta-ibm/recipes-phosphor/fans/phosphor-fan-presence-config/rainier/everest/config.json
 delete mode 100644 meta-ibm/recipes-phosphor/fans/phosphor-fan-presence-config/rainier/rainier-1s4u/config.json
 delete mode 100644 meta-ibm/recipes-phosphor/fans/phosphor-fan-presence-config/rainier/rainier-2u/config.json
 delete mode 100644 meta-ibm/recipes-phosphor/fans/phosphor-fan-presence-config/rainier/rainier-4u/config.json
 create mode 100644 meta-ibm/recipes-phosphor/fans/phosphor-fan/p10bmc/everest/fans.json
 create mode 100644 meta-ibm/recipes-phosphor/fans/phosphor-fan/p10bmc/everest/zones.json
 create mode 100644 meta-ibm/recipes-phosphor/fans/phosphor-fan/p10bmc/manager.json
 create mode 100644 meta-ibm/recipes-phosphor/fans/phosphor-fan/p10bmc/rainier-1s4u/fans.json
 create mode 100644 meta-ibm/recipes-phosphor/fans/phosphor-fan/p10bmc/rainier-1s4u/zones.json
 create mode 100644 meta-ibm/recipes-phosphor/fans/phosphor-fan/p10bmc/rainier-2u/zones.json
 create mode 100644 meta-ibm/recipes-phosphor/fans/phosphor-fan/p10bmc/rainier-4u/zones.json
 create mode 100644 meta-ibm/recipes-phosphor/fans/phosphor-fan/p10bmc/rainier/fans.json
 delete mode 100644 meta-ibm/recipes-phosphor/fans/phosphor-fan/rainier/everest/fans.json
 delete mode 100644 meta-ibm/recipes-phosphor/fans/phosphor-fan/rainier/everest/zones.json
 delete mode 100644 meta-ibm/recipes-phosphor/fans/phosphor-fan/rainier/manager.json
 delete mode 100644 meta-ibm/recipes-phosphor/fans/phosphor-fan/rainier/rainier-1s4u/fans.json
 delete mode 100644 meta-ibm/recipes-phosphor/fans/phosphor-fan/rainier/rainier-1s4u/zones.json
 delete mode 100644 meta-ibm/recipes-phosphor/fans/phosphor-fan/rainier/rainier-2u/zones.json
 delete mode 100644 meta-ibm/recipes-phosphor/fans/phosphor-fan/rainier/rainier-4u/zones.json
 delete mode 100644 meta-ibm/recipes-phosphor/fans/phosphor-fan/rainier/rainier/fans.json

diff --git a/meta-ibm/recipes-phosphor/dbus/fan-policy.bb b/meta-ibm/recipes-phosphor/dbus/fan-policy.bb
index 59e6347cc..8bfecd32f 100644
--- a/meta-ibm/recipes-phosphor/dbus/fan-policy.bb
+++ b/meta-ibm/recipes-phosphor/dbus/fan-policy.bb
@@ -12,8 +12,8 @@ SRC_URI += "file://air-cooled.yaml"
 SRC_URI_append_ibm-ac-server = " file://water-cooled.yaml"
 SRC_URI += "file://fan-errors.yaml"
 
-SRC_URI_remove_rainier = "file://air-cooled.yaml"
-SRC_URI_remove_rainier = "file://fan-errors.yaml"
+SRC_URI_remove_p10bmc = "file://air-cooled.yaml"
+SRC_URI_remove_p10bmc = "file://fan-errors.yaml"
 
 do_install_append_ibm-ac-server() {
         install -D ${WORKDIR}/air-cooled.yaml ${D}${config_dir}/air-cooled.yaml
@@ -30,5 +30,5 @@ FILES_${PN} += "${config_dir}/air-cooled.yaml"
 FILES_${PN}_append_ibm-ac-server = " ${config_dir}/water-cooled.yaml"
 FILES_${PN} += "${config_dir}/fan-errors.yaml"
 
-FILES_${PN}_remove_rainier = "${config_dir}/air-cooled.yaml"
-FILES_${PN}_remove_rainier = "${config_dir}/fan-errors.yaml"
+FILES_${PN}_remove_p10bmc = "${config_dir}/air-cooled.yaml"
+FILES_${PN}_remove_p10bmc = "${config_dir}/fan-errors.yaml"
diff --git a/meta-ibm/recipes-phosphor/fans/fan-watchdog/p10bmc/obmc/fan-watchdog/fan-watchdog.conf b/meta-ibm/recipes-phosphor/fans/fan-watchdog/p10bmc/obmc/fan-watchdog/fan-watchdog.conf
new file mode 100644
index 000000000..ce7824ccb
--- /dev/null
+++ b/meta-ibm/recipes-phosphor/fans/fan-watchdog/p10bmc/obmc/fan-watchdog/fan-watchdog.conf
@@ -0,0 +1,3 @@
+TIMEOUT=5
+INTERVAL=1
+DEVICE=/dev/watchdog0
diff --git a/meta-ibm/recipes-phosphor/fans/fan-watchdog/p10bmc/obmc/fan-watchdog/reset-fan-watchdog.conf b/meta-ibm/recipes-phosphor/fans/fan-watchdog/p10bmc/obmc/fan-watchdog/reset-fan-watchdog.conf
new file mode 100644
index 000000000..98cb60288
--- /dev/null
+++ b/meta-ibm/recipes-phosphor/fans/fan-watchdog/p10bmc/obmc/fan-watchdog/reset-fan-watchdog.conf
@@ -0,0 +1,4 @@
+GPIO_PATH=/dev/gpiochip0
+GPIO=114
+DELAY=1
+ACTION=low_high
diff --git a/meta-ibm/recipes-phosphor/fans/fan-watchdog/rainier/obmc/fan-watchdog/fan-watchdog.conf b/meta-ibm/recipes-phosphor/fans/fan-watchdog/rainier/obmc/fan-watchdog/fan-watchdog.conf
deleted file mode 100644
index ce7824ccb..000000000
--- a/meta-ibm/recipes-phosphor/fans/fan-watchdog/rainier/obmc/fan-watchdog/fan-watchdog.conf
+++ /dev/null
@@ -1,3 +0,0 @@
-TIMEOUT=5
-INTERVAL=1
-DEVICE=/dev/watchdog0
diff --git a/meta-ibm/recipes-phosphor/fans/fan-watchdog/rainier/obmc/fan-watchdog/reset-fan-watchdog.conf b/meta-ibm/recipes-phosphor/fans/fan-watchdog/rainier/obmc/fan-watchdog/reset-fan-watchdog.conf
deleted file mode 100644
index 98cb60288..000000000
--- a/meta-ibm/recipes-phosphor/fans/fan-watchdog/rainier/obmc/fan-watchdog/reset-fan-watchdog.conf
+++ /dev/null
@@ -1,4 +0,0 @@
-GPIO_PATH=/dev/gpiochip0
-GPIO=114
-DELAY=1
-ACTION=low_high
diff --git a/meta-ibm/recipes-phosphor/fans/phosphor-fan-monitor-config.bbappend b/meta-ibm/recipes-phosphor/fans/phosphor-fan-monitor-config.bbappend
index 8b63927ea..2c15e034a 100644
--- a/meta-ibm/recipes-phosphor/fans/phosphor-fan-monitor-config.bbappend
+++ b/meta-ibm/recipes-phosphor/fans/phosphor-fan-monitor-config.bbappend
@@ -1,7 +1,7 @@
 FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:"
 
 SRC_URI_witherspoon = "file://config.json"
-SRC_URI_rainier = "file://rainier-2u/config.json \
+SRC_URI_p10bmc = "file://rainier-2u/config.json \
                    file://rainier-4u/config.json \
                    file://rainier-1s4u/config.json \
                    file://everest/config.json \
@@ -12,7 +12,7 @@ do_install_witherspoon() {
         install -m 0644 ${WORKDIR}/config.json ${D}/${datadir}/phosphor-fan-presence/monitor/
 }
 
-do_install_rainier() {
+do_install_p10bmc() {
         # Install Rainier-2U/4U fan monitor config files
         install -d ${D}/${datadir}/phosphor-fan-presence/monitor/ibm,rainier-2u/
         install -d ${D}/${datadir}/phosphor-fan-presence/monitor/ibm,rainier-4u/
@@ -29,8 +29,8 @@ do_install_rainier() {
 FILES_${PN}_append_witherspoon = " ${datadir}/phosphor-fan-presence/monitor/config.json"
 FILES_${PN}_remove_witherspoon = "${monitor_datadir}/monitor.yaml"
 
-FILES_${PN}_remove_rainier = "${monitor_datadir}/monitor.yaml"
-FILES_${PN}_append_rainier = " ${datadir}/phosphor-fan-presence/monitor/ibm,rainier-2u/config.json"
-FILES_${PN}_append_rainier = " ${datadir}/phosphor-fan-presence/monitor/ibm,rainier-4u/config.json"
-FILES_${PN}_append_rainier = " ${datadir}/phosphor-fan-presence/monitor/ibm,rainier-1s4u/config.json"
-FILES_${PN}_append_rainier = " ${datadir}/phosphor-fan-presence/monitor/ibm,everest/config.json"
+FILES_${PN}_remove_p10bmc = "${monitor_datadir}/monitor.yaml"
+FILES_${PN}_append_p10bmc = " ${datadir}/phosphor-fan-presence/monitor/ibm,rainier-2u/config.json"
+FILES_${PN}_append_p10bmc = " ${datadir}/phosphor-fan-presence/monitor/ibm,rainier-4u/config.json"
+FILES_${PN}_append_p10bmc = " ${datadir}/phosphor-fan-presence/monitor/ibm,rainier-1s4u/config.json"
+FILES_${PN}_append_p10bmc = " ${datadir}/phosphor-fan-presence/monitor/ibm,everest/config.json"
diff --git a/meta-ibm/recipes-phosphor/fans/phosphor-fan-monitor-config/p10bmc/everest/config.json b/meta-ibm/recipes-phosphor/fans/phosphor-fan-monitor-config/p10bmc/everest/config.json
new file mode 100644
index 000000000..74bcfc425
--- /dev/null
+++ b/meta-ibm/recipes-phosphor/fans/phosphor-fan-monitor-config/p10bmc/everest/config.json
@@ -0,0 +1,125 @@
+{
+   "fans": [
+      {
+         "inventory": "/system/chassis/motherboard/fan0",
+         "functional_delay": 5,
+         "allowed_out_of_range_time": 30,
+         "deviation": 15,
+         "num_sensors_nonfunc_for_fan_nonfunc": 1,
+         "monitor_start_delay": 30,
+         "fan_missing_error_delay": 20,
+         "nonfunc_rotor_error_delay": 0,
+         "sensors": [
+            {
+               "name": "fan0_0",
+               "has_target": true
+            },
+            {
+               "name": "fan0_1",
+               "has_target": false
+            }
+         ]
+      },
+      {
+         "inventory": "/system/chassis/motherboard/fan1",
+         "functional_delay": 5,
+         "allowed_out_of_range_time": 30,
+         "deviation": 15,
+         "num_sensors_nonfunc_for_fan_nonfunc": 1,
+         "monitor_start_delay": 30,
+         "fan_missing_error_delay": 20,
+         "nonfunc_rotor_error_delay": 0,
+         "sensors": [
+            {
+               "name": "fan1_0",
+               "has_target": true
+            },
+            {
+               "name": "fan1_1",
+               "has_target": false
+            }
+         ]
+      },
+      {
+         "inventory": "/system/chassis/motherboard/fan2",
+         "functional_delay": 5,
+         "allowed_out_of_range_time": 30,
+         "deviation": 15,
+         "num_sensors_nonfunc_for_fan_nonfunc": 1,
+         "monitor_start_delay": 30,
+         "fan_missing_error_delay": 20,
+         "nonfunc_rotor_error_delay": 0,
+         "sensors": [
+            {
+               "name": "fan2_0",
+               "has_target": true
+            },
+            {
+               "name": "fan2_1",
+               "has_target": false
+            }
+         ]
+      },
+      {
+         "inventory": "/system/chassis/motherboard/fan3",
+         "functional_delay": 5,
+         "allowed_out_of_range_time": 30,
+         "deviation": 15,
+         "num_sensors_nonfunc_for_fan_nonfunc": 1,
+         "monitor_start_delay": 30,
+         "fan_missing_error_delay": 20,
+         "nonfunc_rotor_error_delay": 0,
+         "sensors": [
+            {
+               "name": "fan3_0",
+               "has_target": true
+            },
+            {
+               "name": "fan3_1",
+               "has_target": false
+            }
+         ]
+      }
+   ],
+   "sensor_trust_groups": [
+      {
+         "class": "NonzeroSpeed",
+         "group": [
+            {
+               "name": "fan0_1"
+            },
+            {
+               "name": "fan1_1"
+            },
+            {
+               "name": "fan2_1"
+            },
+            {
+               "name": "fan3_1"
+            }
+         ]
+      }
+   ],
+   "fault_handling":
+   {
+       "num_nonfunc_rotors_before_error": 1,
+
+       "power_off_config":
+       [
+           {
+                "type": "hard",
+                "cause": "missing_fan_frus",
+                "count": 1,
+                "delay": 25,
+                "state": "at_pgood"
+            },
+            {
+                "type": "epow",
+                "cause": "nonfunc_fan_rotors",
+                "count": 3,
+                "service_mode_delay": 300,
+                "meltdown_delay": 300
+            }
+       ]
+   }
+}
diff --git a/meta-ibm/recipes-phosphor/fans/phosphor-fan-monitor-config/p10bmc/rainier-1s4u/config.json b/meta-ibm/recipes-phosphor/fans/phosphor-fan-monitor-config/p10bmc/rainier-1s4u/config.json
new file mode 100644
index 000000000..1a5e30572
--- /dev/null
+++ b/meta-ibm/recipes-phosphor/fans/phosphor-fan-monitor-config/p10bmc/rainier-1s4u/config.json
@@ -0,0 +1,90 @@
+{
+   "fans": [
+      {
+         "inventory": "/system/chassis/motherboard/fan0",
+         "functional_delay": 5,
+         "allowed_out_of_range_time": 30,
+         "deviation": 15,
+         "num_sensors_nonfunc_for_fan_nonfunc": 1,
+         "monitor_start_delay": 30,
+         "fan_missing_error_delay": 20,
+         "nonfunc_rotor_error_delay": 0,
+         "sensors": [
+            {
+               "name": "fan0_0",
+               "has_target": true
+            }
+         ]
+      },
+      {
+         "inventory": "/system/chassis/motherboard/fan1",
+         "functional_delay": 5,
+         "allowed_out_of_range_time": 30,
+         "deviation": 15,
+         "num_sensors_nonfunc_for_fan_nonfunc": 1,
+         "monitor_start_delay": 30,
+         "fan_missing_error_delay": 20,
+         "nonfunc_rotor_error_delay": 0,
+         "sensors": [
+            {
+               "name": "fan1_0",
+               "has_target": true
+            }
+         ]
+      },
+      {
+         "inventory": "/system/chassis/motherboard/fan2",
+         "functional_delay": 5,
+         "allowed_out_of_range_time": 30,
+         "deviation": 15,
+         "num_sensors_nonfunc_for_fan_nonfunc": 1,
+         "monitor_start_delay": 30,
+         "fan_missing_error_delay": 20,
+         "nonfunc_rotor_error_delay": 0,
+         "sensors": [
+            {
+               "name": "fan2_0",
+               "has_target": true
+            }
+         ]
+      },
+      {
+         "inventory": "/system/chassis/motherboard/fan3",
+         "functional_delay": 5,
+         "allowed_out_of_range_time": 30,
+         "deviation": 15,
+         "num_sensors_nonfunc_for_fan_nonfunc": 1,
+         "monitor_start_delay": 30,
+         "fan_missing_error_delay": 20,
+         "nonfunc_rotor_error_delay": 0,
+         "sensors": [
+            {
+               "name": "fan3_0",
+               "has_target": true
+            }
+         ]
+      }
+   ],
+   "fault_handling":
+   {
+       "num_nonfunc_rotors_before_error": 1,
+
+       "power_off_config":
+       [
+           {
+                "type": "hard",
+                "cause": "missing_fan_frus",
+                "count": 1,
+                "delay": 25,
+                "state": "at_pgood"
+            },
+            {
+                "type": "epow",
+                "cause": "nonfunc_fan_rotors",
+                "count": 2,
+                "service_mode_delay": 300,
+                "meltdown_delay": 300
+            }
+       ]
+   }
+}
diff --git a/meta-ibm/recipes-phosphor/fans/phosphor-fan-monitor-config/p10bmc/rainier-2u/config.json b/meta-ibm/recipes-phosphor/fans/phosphor-fan-monitor-config/p10bmc/rainier-2u/config.json
new file mode 100644
index 000000000..145e37f38
--- /dev/null
+++ b/meta-ibm/recipes-phosphor/fans/phosphor-fan-monitor-config/p10bmc/rainier-2u/config.json
@@ -0,0 +1,183 @@
+{
+   "fans": [
+      {
+         "inventory": "/system/chassis/motherboard/fan0",
+         "functional_delay": 5,
+         "allowed_out_of_range_time": 30,
+         "deviation": 15,
+         "num_sensors_nonfunc_for_fan_nonfunc": 1,
+         "monitor_start_delay": 30,
+         "fan_missing_error_delay": 20,
+         "nonfunc_rotor_error_delay": 0,
+         "sensors": [
+            {
+               "name": "fan0_0",
+               "has_target": true
+            },
+            {
+               "name": "fan0_1",
+               "has_target": false,
+               "factor": 1.45,
+               "offset": -909
+            }
+         ]
+      },
+      {
+         "inventory": "/system/chassis/motherboard/fan1",
+         "functional_delay": 5,
+         "allowed_out_of_range_time": 30,
+         "deviation": 15,
+         "num_sensors_nonfunc_for_fan_nonfunc": 1,
+         "monitor_start_delay": 30,
+         "fan_missing_error_delay": 20,
+         "nonfunc_rotor_error_delay": 0,
+         "sensors": [
+            {
+               "name": "fan1_0",
+               "has_target": true
+            },
+            {
+               "name": "fan1_1",
+               "has_target": false,
+               "factor": 1.45,
+               "offset": -909
+            }
+         ]
+      },
+      {
+         "inventory": "/system/chassis/motherboard/fan2",
+         "functional_delay": 5,
+         "allowed_out_of_range_time": 30,
+         "deviation": 15,
+         "num_sensors_nonfunc_for_fan_nonfunc": 1,
+         "monitor_start_delay": 30,
+         "fan_missing_error_delay": 20,
+         "nonfunc_rotor_error_delay": 0,
+         "sensors": [
+            {
+               "name": "fan2_0",
+               "has_target": true
+            },
+            {
+               "name": "fan2_1",
+               "has_target": false,
+               "factor": 1.45,
+               "offset": -909
+            }
+         ]
+      },
+      {
+         "inventory": "/system/chassis/motherboard/fan3",
+         "functional_delay": 5,
+         "allowed_out_of_range_time": 30,
+         "deviation": 15,
+         "num_sensors_nonfunc_for_fan_nonfunc": 1,
+         "monitor_start_delay": 30,
+         "fan_missing_error_delay": 20,
+         "nonfunc_rotor_error_delay": 0,
+         "sensors": [
+            {
+               "name": "fan3_0",
+               "has_target": true
+            },
+            {
+               "name": "fan3_1",
+               "has_target": false,
+               "factor": 1.45,
+               "offset": -909
+            }
+         ]
+      },
+      {
+         "inventory": "/system/chassis/motherboard/fan4",
+         "functional_delay": 5,
+         "allowed_out_of_range_time": 30,
+         "deviation": 15,
+         "num_sensors_nonfunc_for_fan_nonfunc": 1,
+         "monitor_start_delay": 30,
+         "fan_missing_error_delay": 20,
+         "nonfunc_rotor_error_delay": 0,
+         "sensors": [
+            {
+               "name": "fan4_0",
+               "has_target": true
+            },
+            {
+               "name": "fan4_1",
+               "has_target": false,
+               "factor": 1.45,
+               "offset": -909
+            }
+         ]
+      },
+      {
+         "inventory": "/system/chassis/motherboard/fan5",
+         "functional_delay": 5,
+         "allowed_out_of_range_time": 30,
+         "deviation": 15,
+         "num_sensors_nonfunc_for_fan_nonfunc": 1,
+         "monitor_start_delay": 30,
+         "fan_missing_error_delay": 20,
+         "nonfunc_rotor_error_delay": 0,
+         "sensors": [
+            {
+               "name": "fan5_0",
+               "has_target": true
+            },
+            {
+               "name": "fan5_1",
+               "has_target": false,
+               "factor": 1.45,
+               "offset": -909
+            }
+         ]
+      }
+   ],
+   "sensor_trust_groups": [
+      {
+         "class": "NonzeroSpeed",
+         "group": [
+            {
+               "name": "fan0_1"
+            },
+            {
+               "name": "fan1_1"
+            },
+            {
+               "name": "fan2_1"
+            },
+            {
+               "name": "fan3_1"
+            },
+            {
+               "name": "fan4_1"
+            },
+            {
+               "name": "fan5_1"
+            }
+         ]
+      }
+   ],
+   "fault_handling":
+   {
+       "num_nonfunc_rotors_before_error": 1,
+
+       "power_off_config":
+       [
+           {
+                "type": "hard",
+                "cause": "missing_fan_frus",
+                "count": 1,
+                "delay": 25,
+                "state": "at_pgood"
+            },
+            {
+                "type": "epow",
+                "cause": "nonfunc_fan_rotors",
+                "count": 3,
+                "service_mode_delay": 300,
+                "meltdown_delay": 300
+            }
+       ]
+   }
+}
diff --git a/meta-ibm/recipes-phosphor/fans/phosphor-fan-monitor-config/p10bmc/rainier-4u/config.json b/meta-ibm/recipes-phosphor/fans/phosphor-fan-monitor-config/p10bmc/rainier-4u/config.json
new file mode 100644
index 000000000..71a489944
--- /dev/null
+++ b/meta-ibm/recipes-phosphor/fans/phosphor-fan-monitor-config/p10bmc/rainier-4u/config.json
@@ -0,0 +1,122 @@
+{
+   "fans": [
+      {
+         "inventory": "/system/chassis/motherboard/fan0",
+         "functional_delay": 5,
+         "allowed_out_of_range_time": 30,
+         "deviation": 15,
+         "num_sensors_nonfunc_for_fan_nonfunc": 1,
+         "monitor_start_delay": 30,
+         "fan_missing_error_delay": 20,
+         "nonfunc_rotor_error_delay": 0,
+         "sensors": [
+            {
+               "name": "fan0_0",
+               "has_target": true
+            }
+         ]
+      },
+      {
+         "inventory": "/system/chassis/motherboard/fan1",
+         "functional_delay": 5,
+         "allowed_out_of_range_time": 30,
+         "deviation": 15,
+         "num_sensors_nonfunc_for_fan_nonfunc": 1,
+         "monitor_start_delay": 30,
+         "fan_missing_error_delay": 20,
+         "nonfunc_rotor_error_delay": 0,
+         "sensors": [
+            {
+               "name": "fan1_0",
+               "has_target": true
+            }
+         ]
+      },
+      {
+         "inventory": "/system/chassis/motherboard/fan2",
+         "functional_delay": 5,
+         "allowed_out_of_range_time": 30,
+         "deviation": 15,
+         "num_sensors_nonfunc_for_fan_nonfunc": 1,
+         "monitor_start_delay": 30,
+         "fan_missing_error_delay": 20,
+         "nonfunc_rotor_error_delay": 0,
+         "sensors": [
+            {
+               "name": "fan2_0",
+               "has_target": true
+            }
+         ]
+      },
+      {
+         "inventory": "/system/chassis/motherboard/fan3",
+         "functional_delay": 5,
+         "allowed_out_of_range_time": 30,
+         "deviation": 15,
+         "num_sensors_nonfunc_for_fan_nonfunc": 1,
+         "monitor_start_delay": 30,
+         "fan_missing_error_delay": 20,
+         "nonfunc_rotor_error_delay": 0,
+         "sensors": [
+            {
+               "name": "fan3_0",
+               "has_target": true
+            }
+         ]
+      },
+      {
+         "inventory": "/system/chassis/motherboard/fan4",
+         "functional_delay": 5,
+         "allowed_out_of_range_time": 30,
+         "deviation": 15,
+         "num_sensors_nonfunc_for_fan_nonfunc": 1,
+         "monitor_start_delay": 30,
+         "fan_missing_error_delay": 20,
+         "nonfunc_rotor_error_delay": 0,
+         "sensors": [
+            {
+               "name": "fan4_0",
+               "has_target": true
+            }
+         ]
+      },
+      {
+         "inventory": "/system/chassis/motherboard/fan5",
+         "functional_delay": 5,
+         "allowed_out_of_range_time": 30,
+         "deviation": 15,
+         "num_sensors_nonfunc_for_fan_nonfunc": 1,
+         "monitor_start_delay": 30,
+         "fan_missing_error_delay": 20,
+         "nonfunc_rotor_error_delay": 0,
+         "sensors": [
+            {
+               "name": "fan5_0",
+               "has_target": true
+            }
+         ]
+      }
+   ],
+   "fault_handling":
+   {
+       "num_nonfunc_rotors_before_error": 1,
+
+       "power_off_config":
+       [
+           {
+                "type": "hard",
+                "cause": "missing_fan_frus",
+                "count": 1,
+                "delay": 25,
+                "state": "at_pgood"
+            },
+            {
+                "type": "epow",
+                "cause": "nonfunc_fan_rotors",
+                "count": 2,
+                "service_mode_delay": 300,
+                "meltdown_delay": 300
+            }
+       ]
+   }
+}
diff --git a/meta-ibm/recipes-phosphor/fans/phosphor-fan-monitor-config/rainier/everest/config.json b/meta-ibm/recipes-phosphor/fans/phosphor-fan-monitor-config/rainier/everest/config.json
deleted file mode 100644
index 74bcfc425..000000000
--- a/meta-ibm/recipes-phosphor/fans/phosphor-fan-monitor-config/rainier/everest/config.json
+++ /dev/null
@@ -1,125 +0,0 @@
-{
-   "fans": [
-      {
-         "inventory": "/system/chassis/motherboard/fan0",
-         "functional_delay": 5,
-         "allowed_out_of_range_time": 30,
-         "deviation": 15,
-         "num_sensors_nonfunc_for_fan_nonfunc": 1,
-         "monitor_start_delay": 30,
-         "fan_missing_error_delay": 20,
-         "nonfunc_rotor_error_delay": 0,
-         "sensors": [
-            {
-               "name": "fan0_0",
-               "has_target": true
-            },
-            {
-               "name": "fan0_1",
-               "has_target": false
-            }
-         ]
-      },
-      {
-         "inventory": "/system/chassis/motherboard/fan1",
-         "functional_delay": 5,
-         "allowed_out_of_range_time": 30,
-         "deviation": 15,
-         "num_sensors_nonfunc_for_fan_nonfunc": 1,
-         "monitor_start_delay": 30,
-         "fan_missing_error_delay": 20,
-         "nonfunc_rotor_error_delay": 0,
-         "sensors": [
-            {
-               "name": "fan1_0",
-               "has_target": true
-            },
-            {
-               "name": "fan1_1",
-               "has_target": false
-            }
-         ]
-      },
-      {
-         "inventory": "/system/chassis/motherboard/fan2",
-         "functional_delay": 5,
-         "allowed_out_of_range_time": 30,
-         "deviation": 15,
-         "num_sensors_nonfunc_for_fan_nonfunc": 1,
-         "monitor_start_delay": 30,
-         "fan_missing_error_delay": 20,
-         "nonfunc_rotor_error_delay": 0,
-         "sensors": [
-            {
-               "name": "fan2_0",
-               "has_target": true
-            },
-            {
-               "name": "fan2_1",
-               "has_target": false
-            }
-         ]
-      },
-      {
-         "inventory": "/system/chassis/motherboard/fan3",
-         "functional_delay": 5,
-         "allowed_out_of_range_time": 30,
-         "deviation": 15,
-         "num_sensors_nonfunc_for_fan_nonfunc": 1,
-         "monitor_start_delay": 30,
-         "fan_missing_error_delay": 20,
-         "nonfunc_rotor_error_delay": 0,
-         "sensors": [
-            {
-               "name": "fan3_0",
-               "has_target": true
-            },
-            {
-               "name": "fan3_1",
-               "has_target": false
-            }
-         ]
-      }
-   ],
-   "sensor_trust_groups": [
-      {
-         "class": "NonzeroSpeed",
-         "group": [
-            {
-               "name": "fan0_1"
-            },
-            {
-               "name": "fan1_1"
-            },
-            {
-               "name": "fan2_1"
-            },
-            {
-               "name": "fan3_1"
-            }
-         ]
-      }
-   ],
-   "fault_handling":
-   {
-       "num_nonfunc_rotors_before_error": 1,
-
-       "power_off_config":
-       [
-           {
-                "type": "hard",
-                "cause": "missing_fan_frus",
-                "count": 1,
-                "delay": 25,
-                "state": "at_pgood"
-            },
-            {
-                "type": "epow",
-                "cause": "nonfunc_fan_rotors",
-                "count": 3,
-                "service_mode_delay": 300,
-                "meltdown_delay": 300
-            }
-       ]
-   }
-}
diff --git a/meta-ibm/recipes-phosphor/fans/phosphor-fan-monitor-config/rainier/rainier-1s4u/config.json b/meta-ibm/recipes-phosphor/fans/phosphor-fan-monitor-config/rainier/rainier-1s4u/config.json
deleted file mode 100644
index 1a5e30572..000000000
--- a/meta-ibm/recipes-phosphor/fans/phosphor-fan-monitor-config/rainier/rainier-1s4u/config.json
+++ /dev/null
@@ -1,90 +0,0 @@
-{
-   "fans": [
-      {
-         "inventory": "/system/chassis/motherboard/fan0",
-         "functional_delay": 5,
-         "allowed_out_of_range_time": 30,
-         "deviation": 15,
-         "num_sensors_nonfunc_for_fan_nonfunc": 1,
-         "monitor_start_delay": 30,
-         "fan_missing_error_delay": 20,
-         "nonfunc_rotor_error_delay": 0,
-         "sensors": [
-            {
-               "name": "fan0_0",
-               "has_target": true
-            }
-         ]
-      },
-      {
-         "inventory": "/system/chassis/motherboard/fan1",
-         "functional_delay": 5,
-         "allowed_out_of_range_time": 30,
-         "deviation": 15,
-         "num_sensors_nonfunc_for_fan_nonfunc": 1,
-         "monitor_start_delay": 30,
-         "fan_missing_error_delay": 20,
-         "nonfunc_rotor_error_delay": 0,
-         "sensors": [
-            {
-               "name": "fan1_0",
-               "has_target": true
-            }
-         ]
-      },
-      {
-         "inventory": "/system/chassis/motherboard/fan2",
-         "functional_delay": 5,
-         "allowed_out_of_range_time": 30,
-         "deviation": 15,
-         "num_sensors_nonfunc_for_fan_nonfunc": 1,
-         "monitor_start_delay": 30,
-         "fan_missing_error_delay": 20,
-         "nonfunc_rotor_error_delay": 0,
-         "sensors": [
-            {
-               "name": "fan2_0",
-               "has_target": true
-            }
-         ]
-      },
-      {
-         "inventory": "/system/chassis/motherboard/fan3",
-         "functional_delay": 5,
-         "allowed_out_of_range_time": 30,
-         "deviation": 15,
-         "num_sensors_nonfunc_for_fan_nonfunc": 1,
-         "monitor_start_delay": 30,
-         "fan_missing_error_delay": 20,
-         "nonfunc_rotor_error_delay": 0,
-         "sensors": [
-            {
-               "name": "fan3_0",
-               "has_target": true
-            }
-         ]
-      }
-   ],
-   "fault_handling":
-   {
-       "num_nonfunc_rotors_before_error": 1,
-
-       "power_off_config":
-       [
-           {
-                "type": "hard",
-                "cause": "missing_fan_frus",
-                "count": 1,
-                "delay": 25,
-                "state": "at_pgood"
-            },
-            {
-                "type": "epow",
-                "cause": "nonfunc_fan_rotors",
-                "count": 2,
-                "service_mode_delay": 300,
-                "meltdown_delay": 300
-            }
-       ]
-   }
-}
diff --git a/meta-ibm/recipes-phosphor/fans/phosphor-fan-monitor-config/rainier/rainier-2u/config.json b/meta-ibm/recipes-phosphor/fans/phosphor-fan-monitor-config/rainier/rainier-2u/config.json
deleted file mode 100644
index 145e37f38..000000000
--- a/meta-ibm/recipes-phosphor/fans/phosphor-fan-monitor-config/rainier/rainier-2u/config.json
+++ /dev/null
@@ -1,183 +0,0 @@
-{
-   "fans": [
-      {
-         "inventory": "/system/chassis/motherboard/fan0",
-         "functional_delay": 5,
-         "allowed_out_of_range_time": 30,
-         "deviation": 15,
-         "num_sensors_nonfunc_for_fan_nonfunc": 1,
-         "monitor_start_delay": 30,
-         "fan_missing_error_delay": 20,
-         "nonfunc_rotor_error_delay": 0,
-         "sensors": [
-            {
-               "name": "fan0_0",
-               "has_target": true
-            },
-            {
-               "name": "fan0_1",
-               "has_target": false,
-               "factor": 1.45,
-               "offset": -909
-            }
-         ]
-      },
-      {
-         "inventory": "/system/chassis/motherboard/fan1",
-         "functional_delay": 5,
-         "allowed_out_of_range_time": 30,
-         "deviation": 15,
-         "num_sensors_nonfunc_for_fan_nonfunc": 1,
-         "monitor_start_delay": 30,
-         "fan_missing_error_delay": 20,
-         "nonfunc_rotor_error_delay": 0,
-         "sensors": [
-            {
-               "name": "fan1_0",
-               "has_target": true
-            },
-            {
-               "name": "fan1_1",
-               "has_target": false,
-               "factor": 1.45,
-               "offset": -909
-            }
-         ]
-      },
-      {
-         "inventory": "/system/chassis/motherboard/fan2",
-         "functional_delay": 5,
-         "allowed_out_of_range_time": 30,
-         "deviation": 15,
-         "num_sensors_nonfunc_for_fan_nonfunc": 1,
-         "monitor_start_delay": 30,
-         "fan_missing_error_delay": 20,
-         "nonfunc_rotor_error_delay": 0,
-         "sensors": [
-            {
-               "name": "fan2_0",
-               "has_target": true
-            },
-            {
-               "name": "fan2_1",
-               "has_target": false,
-               "factor": 1.45,
-               "offset": -909
-            }
-         ]
-      },
-      {
-         "inventory": "/system/chassis/motherboard/fan3",
-         "functional_delay": 5,
-         "allowed_out_of_range_time": 30,
-         "deviation": 15,
-         "num_sensors_nonfunc_for_fan_nonfunc": 1,
-         "monitor_start_delay": 30,
-         "fan_missing_error_delay": 20,
-         "nonfunc_rotor_error_delay": 0,
-         "sensors": [
-            {
-               "name": "fan3_0",
-               "has_target": true
-            },
-            {
-               "name": "fan3_1",
-               "has_target": false,
-               "factor": 1.45,
-               "offset": -909
-            }
-         ]
-      },
-      {
-         "inventory": "/system/chassis/motherboard/fan4",
-         "functional_delay": 5,
-         "allowed_out_of_range_time": 30,
-         "deviation": 15,
-         "num_sensors_nonfunc_for_fan_nonfunc": 1,
-         "monitor_start_delay": 30,
-         "fan_missing_error_delay": 20,
-         "nonfunc_rotor_error_delay": 0,
-         "sensors": [
-            {
-               "name": "fan4_0",
-               "has_target": true
-            },
-            {
-               "name": "fan4_1",
-               "has_target": false,
-               "factor": 1.45,
-               "offset": -909
-            }
-         ]
-      },
-      {
-         "inventory": "/system/chassis/motherboard/fan5",
-         "functional_delay": 5,
-         "allowed_out_of_range_time": 30,
-         "deviation": 15,
-         "num_sensors_nonfunc_for_fan_nonfunc": 1,
-         "monitor_start_delay": 30,
-         "fan_missing_error_delay": 20,
-         "nonfunc_rotor_error_delay": 0,
-         "sensors": [
-            {
-               "name": "fan5_0",
-               "has_target": true
-            },
-            {
-               "name": "fan5_1",
-               "has_target": false,
-               "factor": 1.45,
-               "offset": -909
-            }
-         ]
-      }
-   ],
-   "sensor_trust_groups": [
-      {
-         "class": "NonzeroSpeed",
-         "group": [
-            {
-               "name": "fan0_1"
-            },
-            {
-               "name": "fan1_1"
-            },
-            {
-               "name": "fan2_1"
-            },
-            {
-               "name": "fan3_1"
-            },
-            {
-               "name": "fan4_1"
-            },
-            {
-               "name": "fan5_1"
-            }
-         ]
-      }
-   ],
-   "fault_handling":
-   {
-       "num_nonfunc_rotors_before_error": 1,
-
-       "power_off_config":
-       [
-           {
-                "type": "hard",
-                "cause": "missing_fan_frus",
-                "count": 1,
-                "delay": 25,
-                "state": "at_pgood"
-            },
-            {
-                "type": "epow",
-                "cause": "nonfunc_fan_rotors",
-                "count": 3,
-                "service_mode_delay": 300,
-                "meltdown_delay": 300
-            }
-       ]
-   }
-}
diff --git a/meta-ibm/recipes-phosphor/fans/phosphor-fan-monitor-config/rainier/rainier-4u/config.json b/meta-ibm/recipes-phosphor/fans/phosphor-fan-monitor-config/rainier/rainier-4u/config.json
deleted file mode 100644
index 71a489944..000000000
--- a/meta-ibm/recipes-phosphor/fans/phosphor-fan-monitor-config/rainier/rainier-4u/config.json
+++ /dev/null
@@ -1,122 +0,0 @@
-{
-   "fans": [
-      {
-         "inventory": "/system/chassis/motherboard/fan0",
-         "functional_delay": 5,
-         "allowed_out_of_range_time": 30,
-         "deviation": 15,
-         "num_sensors_nonfunc_for_fan_nonfunc": 1,
-         "monitor_start_delay": 30,
-         "fan_missing_error_delay": 20,
-         "nonfunc_rotor_error_delay": 0,
-         "sensors": [
-            {
-               "name": "fan0_0",
-               "has_target": true
-            }
-         ]
-      },
-      {
-         "inventory": "/system/chassis/motherboard/fan1",
-         "functional_delay": 5,
-         "allowed_out_of_range_time": 30,
-         "deviation": 15,
-         "num_sensors_nonfunc_for_fan_nonfunc": 1,
-         "monitor_start_delay": 30,
-         "fan_missing_error_delay": 20,
-         "nonfunc_rotor_error_delay": 0,
-         "sensors": [
-            {
-               "name": "fan1_0",
-               "has_target": true
-            }
-         ]
-      },
-      {
-         "inventory": "/system/chassis/motherboard/fan2",
-         "functional_delay": 5,
-         "allowed_out_of_range_time": 30,
-         "deviation": 15,
-         "num_sensors_nonfunc_for_fan_nonfunc": 1,
-         "monitor_start_delay": 30,
-         "fan_missing_error_delay": 20,
-         "nonfunc_rotor_error_delay": 0,
-         "sensors": [
-            {
-               "name": "fan2_0",
-               "has_target": true
-            }
-         ]
-      },
-      {
-         "inventory": "/system/chassis/motherboard/fan3",
-         "functional_delay": 5,
-         "allowed_out_of_range_time": 30,
-         "deviation": 15,
-         "num_sensors_nonfunc_for_fan_nonfunc": 1,
-         "monitor_start_delay": 30,
-         "fan_missing_error_delay": 20,
-         "nonfunc_rotor_error_delay": 0,
-         "sensors": [
-            {
-               "name": "fan3_0",
-               "has_target": true
-            }
-         ]
-      },
-      {
-         "inventory": "/system/chassis/motherboard/fan4",
-         "functional_delay": 5,
-         "allowed_out_of_range_time": 30,
-         "deviation": 15,
-         "num_sensors_nonfunc_for_fan_nonfunc": 1,
-         "monitor_start_delay": 30,
-         "fan_missing_error_delay": 20,
-         "nonfunc_rotor_error_delay": 0,
-         "sensors": [
-            {
-               "name": "fan4_0",
-               "has_target": true
-            }
-         ]
-      },
-      {
-         "inventory": "/system/chassis/motherboard/fan5",
-         "functional_delay": 5,
-         "allowed_out_of_range_time": 30,
-         "deviation": 15,
-         "num_sensors_nonfunc_for_fan_nonfunc": 1,
-         "monitor_start_delay": 30,
-         "fan_missing_error_delay": 20,
-         "nonfunc_rotor_error_delay": 0,
-         "sensors": [
-            {
-               "name": "fan5_0",
-               "has_target": true
-            }
-         ]
-      }
-   ],
-   "fault_handling":
-   {
-       "num_nonfunc_rotors_before_error": 1,
-
-       "power_off_config":
-       [
-           {
-                "type": "hard",
-                "cause": "missing_fan_frus",
-                "count": 1,
-                "delay": 25,
-                "state": "at_pgood"
-            },
-            {
-                "type": "epow",
-                "cause": "nonfunc_fan_rotors",
-                "count": 2,
-                "service_mode_delay": 300,
-                "meltdown_delay": 300
-            }
-       ]
-   }
-}
diff --git a/meta-ibm/recipes-phosphor/fans/phosphor-fan-presence-config.bbappend b/meta-ibm/recipes-phosphor/fans/phosphor-fan-presence-config.bbappend
index 8817592d4..2306ee509 100644
--- a/meta-ibm/recipes-phosphor/fans/phosphor-fan-presence-config.bbappend
+++ b/meta-ibm/recipes-phosphor/fans/phosphor-fan-presence-config.bbappend
@@ -1,7 +1,7 @@
 FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:"
 
 SRC_URI_witherspoon = "file://config.json"
-SRC_URI_rainier = "file://rainier-2u/config.json \
+SRC_URI_p10bmc = "file://rainier-2u/config.json \
                    file://rainier-4u/config.json \
                    file://rainier-1s4u/config.json \
                    file://everest/config.json \
@@ -11,7 +11,7 @@ do_install_witherspoon() {
         install -d ${D}/${datadir}/phosphor-fan-presence/presence/
         install -m 0644 ${WORKDIR}/config.json ${D}/${datadir}/phosphor-fan-presence/presence/
 }
-do_install_rainier() {
+do_install_p10bmc() {
         # Install Rainier-2U/4U fan presence config files
         install -d ${D}/${datadir}/phosphor-fan-presence/presence/ibm,rainier-2u/
         install -d ${D}/${datadir}/phosphor-fan-presence/presence/ibm,rainier-4u/
@@ -28,8 +28,8 @@ do_install_rainier() {
 FILES_${PN}_append_witherspoon = " ${datadir}/phosphor-fan-presence/presence/config.json"
 FILES_${PN}_remove_witherspoon = "${presence_datadir}/config.yaml"
 
-FILES_${PN}_remove_rainier = "${presence_datadir}/config.yaml"
-FILES_${PN}_append_rainier = " ${datadir}/phosphor-fan-presence/presence/ibm,rainier-2u/config.json"
-FILES_${PN}_append_rainier = " ${datadir}/phosphor-fan-presence/presence/ibm,rainier-4u/config.json"
-FILES_${PN}_append_rainier = " ${datadir}/phosphor-fan-presence/presence/ibm,rainier-1s4u/config.json"
-FILES_${PN}_append_rainier = " ${datadir}/phosphor-fan-presence/presence/ibm,everest/config.json"
+FILES_${PN}_remove_p10bmc = "${presence_datadir}/config.yaml"
+FILES_${PN}_append_p10bmc = " ${datadir}/phosphor-fan-presence/presence/ibm,rainier-2u/config.json"
+FILES_${PN}_append_p10bmc = " ${datadir}/phosphor-fan-presence/presence/ibm,rainier-4u/config.json"
+FILES_${PN}_append_p10bmc = " ${datadir}/phosphor-fan-presence/presence/ibm,rainier-1s4u/config.json"
+FILES_${PN}_append_p10bmc = " ${datadir}/phosphor-fan-presence/presence/ibm,everest/config.json"
diff --git a/meta-ibm/recipes-phosphor/fans/phosphor-fan-presence-config/p10bmc/everest/config.json b/meta-ibm/recipes-phosphor/fans/phosphor-fan-presence-config/p10bmc/everest/config.json
new file mode 100644
index 000000000..439aedcac
--- /dev/null
+++ b/meta-ibm/recipes-phosphor/fans/phosphor-fan-presence-config/p10bmc/everest/config.json
@@ -0,0 +1,90 @@
+[
+   {
+      "name": "fan0",
+      "path": "/system/chassis/motherboard/fan0",
+      "methods": [
+         {
+            "type": "gpio",
+            "key": 15,
+            "physpath": "/sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a780.i2c-bus/i2c-14/i2c-30/30-0061",
+            "devpath": "/dev/input/by-path/platform-gpio-keys-polled-event"
+         },
+         {
+            "type": "tach",
+            "sensors": [
+               "fan0_0",
+               "fan0_1"
+            ]
+         }
+      ],
+      "rpolicy": {
+         "type": "anyof"
+      }
+   },
+   {
+      "name": "fan1",
+      "path": "/system/chassis/motherboard/fan1",
+      "methods": [
+         {
+            "type": "gpio",
+            "key": 14,
+            "physpath": "/sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a780.i2c-bus/i2c-14/i2c-30/30-0061",
+            "devpath": "/dev/input/by-path/platform-gpio-keys-polled-event"
+         },
+         {
+            "type": "tach",
+            "sensors": [
+               "fan1_0",
+               "fan1_1"
+            ]
+         }
+      ],
+      "rpolicy": {
+         "type": "anyof"
+      }
+   },
+   {
+      "name": "fan2",
+      "path": "/system/chassis/motherboard/fan2",
+      "methods": [
+         {
+            "type": "gpio",
+            "key": 13,
+            "physpath": "/sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a780.i2c-bus/i2c-14/i2c-30/30-0061",
+            "devpath": "/dev/input/by-path/platform-gpio-keys-polled-event"
+         },
+         {
+            "type": "tach",
+            "sensors": [
+               "fan2_0",
+               "fan2_1"
+            ]
+         }
+      ],
+      "rpolicy": {
+         "type": "anyof"
+      }
+   },
+   {
+      "name": "fan3",
+      "path": "/system/chassis/motherboard/fan3",
+      "methods": [
+         {
+            "type": "gpio",
+            "key": 12,
+            "physpath": "/sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a780.i2c-bus/i2c-14/i2c-30/30-0061",
+            "devpath": "/dev/input/by-path/platform-gpio-keys-polled-event"
+         },
+         {
+            "type": "tach",
+            "sensors": [
+               "fan3_0",
+               "fan3_1"
+            ]
+         }
+      ],
+      "rpolicy": {
+         "type": "anyof"
+      }
+   }
+]
diff --git a/meta-ibm/recipes-phosphor/fans/phosphor-fan-presence-config/p10bmc/rainier-1s4u/config.json b/meta-ibm/recipes-phosphor/fans/phosphor-fan-presence-config/p10bmc/rainier-1s4u/config.json
new file mode 100644
index 000000000..cb9eb70de
--- /dev/null
+++ b/meta-ibm/recipes-phosphor/fans/phosphor-fan-presence-config/p10bmc/rainier-1s4u/config.json
@@ -0,0 +1,86 @@
+[
+   {
+      "name": "fan0",
+      "path": "/system/chassis/motherboard/fan0",
+      "methods": [
+         {
+            "type": "gpio",
+            "key": 6,
+            "physpath": "/sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a400.i2c-bus/i2c-7/7-0061",
+            "devpath": "/dev/input/by-path/platform-gpio-keys-polled-event"
+         },
+         {
+            "type": "tach",
+            "sensors": [
+               "fan0_0"
+            ]
+         }
+      ],
+      "rpolicy": {
+         "type": "anyof"
+      }
+   },
+   {
+      "name": "fan1",
+      "path": "/system/chassis/motherboard/fan1",
+      "methods": [
+         {
+            "type": "gpio",
+            "key": 7,
+            "physpath": "/sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a400.i2c-bus/i2c-7/7-0061",
+            "devpath": "/dev/input/by-path/platform-gpio-keys-polled-event"
+         },
+         {
+            "type": "tach",
+            "sensors": [
+               "fan1_0"
+            ]
+         }
+      ],
+      "rpolicy": {
+         "type": "anyof"
+      }
+   },
+   {
+      "name": "fan2",
+      "path": "/system/chassis/motherboard/fan2",
+      "methods": [
+         {
+            "type": "gpio",
+            "key": 8,
+            "physpath": "/sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a400.i2c-bus/i2c-7/7-0061",
+            "devpath": "/dev/input/by-path/platform-gpio-keys-polled-event"
+         },
+         {
+            "type": "tach",
+            "sensors": [
+               "fan2_0"
+            ]
+         }
+      ],
+      "rpolicy": {
+         "type": "anyof"
+      }
+   },
+   {
+      "name": "fan3",
+      "path": "/system/chassis/motherboard/fan3",
+      "methods": [
+         {
+            "type": "gpio",
+            "key": 9,
+            "physpath": "/sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a400.i2c-bus/i2c-7/7-0061",
+            "devpath": "/dev/input/by-path/platform-gpio-keys-polled-event"
+         },
+         {
+            "type": "tach",
+            "sensors": [
+               "fan3_0"
+            ]
+         }
+      ],
+      "rpolicy": {
+         "type": "anyof"
+      }
+   }
+]
diff --git a/meta-ibm/recipes-phosphor/fans/phosphor-fan-presence-config/p10bmc/rainier-2u/config.json b/meta-ibm/recipes-phosphor/fans/phosphor-fan-presence-config/p10bmc/rainier-2u/config.json
new file mode 100644
index 000000000..726451028
--- /dev/null
+++ b/meta-ibm/recipes-phosphor/fans/phosphor-fan-presence-config/p10bmc/rainier-2u/config.json
@@ -0,0 +1,134 @@
+[
+   {
+      "name": "fan0",
+      "path": "/system/chassis/motherboard/fan0",
+      "methods": [
+         {
+            "type": "gpio",
+            "key": 6,
+            "physpath": "/sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a400.i2c-bus/i2c-7/7-0061",
+            "devpath": "/dev/input/by-path/platform-gpio-keys-polled-event"
+         },
+         {
+            "type": "tach",
+            "sensors": [
+               "fan0_0",
+               "fan0_1"
+            ]
+         }
+      ],
+      "rpolicy": {
+         "type": "anyof"
+      }
+   },
+   {
+      "name": "fan1",
+      "path": "/system/chassis/motherboard/fan1",
+      "methods": [
+         {
+            "type": "gpio",
+            "key": 7,
+            "physpath": "/sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a400.i2c-bus/i2c-7/7-0061",
+            "devpath": "/dev/input/by-path/platform-gpio-keys-polled-event"
+         },
+         {
+            "type": "tach",
+            "sensors": [
+               "fan1_0",
+               "fan1_1"
+            ]
+         }
+      ],
+      "rpolicy": {
+         "type": "anyof"
+      }
+   },
+   {
+      "name": "fan2",
+      "path": "/system/chassis/motherboard/fan2",
+      "methods": [
+         {
+            "type": "gpio",
+            "key": 8,
+            "physpath": "/sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a400.i2c-bus/i2c-7/7-0061",
+            "devpath": "/dev/input/by-path/platform-gpio-keys-polled-event"
+         },
+         {
+            "type": "tach",
+            "sensors": [
+               "fan2_0",
+               "fan2_1"
+            ]
+         }
+      ],
+      "rpolicy": {
+         "type": "anyof"
+      }
+   },
+   {
+      "name": "fan3",
+      "path": "/system/chassis/motherboard/fan3",
+      "methods": [
+         {
+            "type": "gpio",
+            "key": 9,
+            "physpath": "/sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a400.i2c-bus/i2c-7/7-0061",
+            "devpath": "/dev/input/by-path/platform-gpio-keys-polled-event"
+         },
+         {
+            "type": "tach",
+            "sensors": [
+               "fan3_0",
+               "fan3_1"
+            ]
+         }
+      ],
+      "rpolicy": {
+         "type": "anyof"
+      }
+   },
+   {
+      "name": "fan4",
+      "path": "/system/chassis/motherboard/fan4",
+      "methods": [
+         {
+            "type": "gpio",
+            "key": 10,
+            "physpath": "/sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a400.i2c-bus/i2c-7/7-0061",
+            "devpath": "/dev/input/by-path/platform-gpio-keys-polled-event"
+         },
+         {
+            "type": "tach",
+            "sensors": [
+               "fan4_0",
+               "fan4_1"
+            ]
+         }
+      ],
+      "rpolicy": {
+         "type": "anyof"
+      }
+   },
+   {
+      "name": "fan5",
+      "path": "/system/chassis/motherboard/fan5",
+      "methods": [
+         {
+            "type": "gpio",
+            "key": 11,
+            "physpath": "/sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a400.i2c-bus/i2c-7/7-0061",
+            "devpath": "/dev/input/by-path/platform-gpio-keys-polled-event"
+         },
+         {
+            "type": "tach",
+            "sensors": [
+               "fan5_0",
+               "fan5_1"
+            ]
+         }
+      ],
+      "rpolicy": {
+         "type": "anyof"
+      }
+   }
+]
diff --git a/meta-ibm/recipes-phosphor/fans/phosphor-fan-presence-config/p10bmc/rainier-4u/config.json b/meta-ibm/recipes-phosphor/fans/phosphor-fan-presence-config/p10bmc/rainier-4u/config.json
new file mode 100644
index 000000000..94e7e69f8
--- /dev/null
+++ b/meta-ibm/recipes-phosphor/fans/phosphor-fan-presence-config/p10bmc/rainier-4u/config.json
@@ -0,0 +1,128 @@
+[
+   {
+      "name": "fan0",
+      "path": "/system/chassis/motherboard/fan0",
+      "methods": [
+         {
+            "type": "gpio",
+            "key": 6,
+            "physpath": "/sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a400.i2c-bus/i2c-7/7-0061",
+            "devpath": "/dev/input/by-path/platform-gpio-keys-polled-event"
+         },
+         {
+            "type": "tach",
+            "sensors": [
+               "fan0_0"
+            ]
+         }
+      ],
+      "rpolicy": {
+         "type": "anyof"
+      }
+   },
+   {
+      "name": "fan1",
+      "path": "/system/chassis/motherboard/fan1",
+      "methods": [
+         {
+            "type": "gpio",
+            "key": 7,
+            "physpath": "/sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a400.i2c-bus/i2c-7/7-0061",
+            "devpath": "/dev/input/by-path/platform-gpio-keys-polled-event"
+         },
+         {
+            "type": "tach",
+            "sensors": [
+               "fan1_0"
+            ]
+         }
+      ],
+      "rpolicy": {
+         "type": "anyof"
+      }
+   },
+   {
+      "name": "fan2",
+      "path": "/system/chassis/motherboard/fan2",
+      "methods": [
+         {
+            "type": "gpio",
+            "key": 8,
+            "physpath": "/sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a400.i2c-bus/i2c-7/7-0061",
+            "devpath": "/dev/input/by-path/platform-gpio-keys-polled-event"
+         },
+         {
+            "type": "tach",
+            "sensors": [
+               "fan2_0"
+            ]
+         }
+      ],
+      "rpolicy": {
+         "type": "anyof"
+      }
+   },
+   {
+      "name": "fan3",
+      "path": "/system/chassis/motherboard/fan3",
+      "methods": [
+         {
+            "type": "gpio",
+            "key": 9,
+            "physpath": "/sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a400.i2c-bus/i2c-7/7-0061",
+            "devpath": "/dev/input/by-path/platform-gpio-keys-polled-event"
+         },
+         {
+            "type": "tach",
+            "sensors": [
+               "fan3_0"
+            ]
+         }
+      ],
+      "rpolicy": {
+         "type": "anyof"
+      }
+   },
+   {
+      "name": "fan4",
+      "path": "/system/chassis/motherboard/fan4",
+      "methods": [
+         {
+            "type": "gpio",
+            "key": 10,
+            "physpath": "/sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a400.i2c-bus/i2c-7/7-0061",
+            "devpath": "/dev/input/by-path/platform-gpio-keys-polled-event"
+         },
+         {
+            "type": "tach",
+            "sensors": [
+               "fan4_0"
+            ]
+         }
+      ],
+      "rpolicy": {
+         "type": "anyof"
+      }
+   },
+   {
+      "name": "fan5",
+      "path": "/system/chassis/motherboard/fan5",
+      "methods": [
+         {
+            "type": "gpio",
+            "key": 11,
+            "physpath": "/sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a400.i2c-bus/i2c-7/7-0061",
+            "devpath": "/dev/input/by-path/platform-gpio-keys-polled-event"
+         },
+         {
+            "type": "tach",
+            "sensors": [
+               "fan5_0"
+            ]
+         }
+      ],
+      "rpolicy": {
+         "type": "anyof"
+      }
+   }
+]
diff --git a/meta-ibm/recipes-phosphor/fans/phosphor-fan-presence-config/rainier/everest/config.json b/meta-ibm/recipes-phosphor/fans/phosphor-fan-presence-config/rainier/everest/config.json
deleted file mode 100644
index 439aedcac..000000000
--- a/meta-ibm/recipes-phosphor/fans/phosphor-fan-presence-config/rainier/everest/config.json
+++ /dev/null
@@ -1,90 +0,0 @@
-[
-   {
-      "name": "fan0",
-      "path": "/system/chassis/motherboard/fan0",
-      "methods": [
-         {
-            "type": "gpio",
-            "key": 15,
-            "physpath": "/sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a780.i2c-bus/i2c-14/i2c-30/30-0061",
-            "devpath": "/dev/input/by-path/platform-gpio-keys-polled-event"
-         },
-         {
-            "type": "tach",
-            "sensors": [
-               "fan0_0",
-               "fan0_1"
-            ]
-         }
-      ],
-      "rpolicy": {
-         "type": "anyof"
-      }
-   },
-   {
-      "name": "fan1",
-      "path": "/system/chassis/motherboard/fan1",
-      "methods": [
-         {
-            "type": "gpio",
-            "key": 14,
-            "physpath": "/sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a780.i2c-bus/i2c-14/i2c-30/30-0061",
-            "devpath": "/dev/input/by-path/platform-gpio-keys-polled-event"
-         },
-         {
-            "type": "tach",
-            "sensors": [
-               "fan1_0",
-               "fan1_1"
-            ]
-         }
-      ],
-      "rpolicy": {
-         "type": "anyof"
-      }
-   },
-   {
-      "name": "fan2",
-      "path": "/system/chassis/motherboard/fan2",
-      "methods": [
-         {
-            "type": "gpio",
-            "key": 13,
-            "physpath": "/sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a780.i2c-bus/i2c-14/i2c-30/30-0061",
-            "devpath": "/dev/input/by-path/platform-gpio-keys-polled-event"
-         },
-         {
-            "type": "tach",
-            "sensors": [
-               "fan2_0",
-               "fan2_1"
-            ]
-         }
-      ],
-      "rpolicy": {
-         "type": "anyof"
-      }
-   },
-   {
-      "name": "fan3",
-      "path": "/system/chassis/motherboard/fan3",
-      "methods": [
-         {
-            "type": "gpio",
-            "key": 12,
-            "physpath": "/sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a780.i2c-bus/i2c-14/i2c-30/30-0061",
-            "devpath": "/dev/input/by-path/platform-gpio-keys-polled-event"
-         },
-         {
-            "type": "tach",
-            "sensors": [
-               "fan3_0",
-               "fan3_1"
-            ]
-         }
-      ],
-      "rpolicy": {
-         "type": "anyof"
-      }
-   }
-]
diff --git a/meta-ibm/recipes-phosphor/fans/phosphor-fan-presence-config/rainier/rainier-1s4u/config.json b/meta-ibm/recipes-phosphor/fans/phosphor-fan-presence-config/rainier/rainier-1s4u/config.json
deleted file mode 100644
index cb9eb70de..000000000
--- a/meta-ibm/recipes-phosphor/fans/phosphor-fan-presence-config/rainier/rainier-1s4u/config.json
+++ /dev/null
@@ -1,86 +0,0 @@
-[
-   {
-      "name": "fan0",
-      "path": "/system/chassis/motherboard/fan0",
-      "methods": [
-         {
-            "type": "gpio",
-            "key": 6,
-            "physpath": "/sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a400.i2c-bus/i2c-7/7-0061",
-            "devpath": "/dev/input/by-path/platform-gpio-keys-polled-event"
-         },
-         {
-            "type": "tach",
-            "sensors": [
-               "fan0_0"
-            ]
-         }
-      ],
-      "rpolicy": {
-         "type": "anyof"
-      }
-   },
-   {
-      "name": "fan1",
-      "path": "/system/chassis/motherboard/fan1",
-      "methods": [
-         {
-            "type": "gpio",
-            "key": 7,
-            "physpath": "/sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a400.i2c-bus/i2c-7/7-0061",
-            "devpath": "/dev/input/by-path/platform-gpio-keys-polled-event"
-         },
-         {
-            "type": "tach",
-            "sensors": [
-               "fan1_0"
-            ]
-         }
-      ],
-      "rpolicy": {
-         "type": "anyof"
-      }
-   },
-   {
-      "name": "fan2",
-      "path": "/system/chassis/motherboard/fan2",
-      "methods": [
-         {
-            "type": "gpio",
-            "key": 8,
-            "physpath": "/sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a400.i2c-bus/i2c-7/7-0061",
-            "devpath": "/dev/input/by-path/platform-gpio-keys-polled-event"
-         },
-         {
-            "type": "tach",
-            "sensors": [
-               "fan2_0"
-            ]
-         }
-      ],
-      "rpolicy": {
-         "type": "anyof"
-      }
-   },
-   {
-      "name": "fan3",
-      "path": "/system/chassis/motherboard/fan3",
-      "methods": [
-         {
-            "type": "gpio",
-            "key": 9,
-            "physpath": "/sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a400.i2c-bus/i2c-7/7-0061",
-            "devpath": "/dev/input/by-path/platform-gpio-keys-polled-event"
-         },
-         {
-            "type": "tach",
-            "sensors": [
-               "fan3_0"
-            ]
-         }
-      ],
-      "rpolicy": {
-         "type": "anyof"
-      }
-   }
-]
diff --git a/meta-ibm/recipes-phosphor/fans/phosphor-fan-presence-config/rainier/rainier-2u/config.json b/meta-ibm/recipes-phosphor/fans/phosphor-fan-presence-config/rainier/rainier-2u/config.json
deleted file mode 100644
index 726451028..000000000
--- a/meta-ibm/recipes-phosphor/fans/phosphor-fan-presence-config/rainier/rainier-2u/config.json
+++ /dev/null
@@ -1,134 +0,0 @@
-[
-   {
-      "name": "fan0",
-      "path": "/system/chassis/motherboard/fan0",
-      "methods": [
-         {
-            "type": "gpio",
-            "key": 6,
-            "physpath": "/sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a400.i2c-bus/i2c-7/7-0061",
-            "devpath": "/dev/input/by-path/platform-gpio-keys-polled-event"
-         },
-         {
-            "type": "tach",
-            "sensors": [
-               "fan0_0",
-               "fan0_1"
-            ]
-         }
-      ],
-      "rpolicy": {
-         "type": "anyof"
-      }
-   },
-   {
-      "name": "fan1",
-      "path": "/system/chassis/motherboard/fan1",
-      "methods": [
-         {
-            "type": "gpio",
-            "key": 7,
-            "physpath": "/sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a400.i2c-bus/i2c-7/7-0061",
-            "devpath": "/dev/input/by-path/platform-gpio-keys-polled-event"
-         },
-         {
-            "type": "tach",
-            "sensors": [
-               "fan1_0",
-               "fan1_1"
-            ]
-         }
-      ],
-      "rpolicy": {
-         "type": "anyof"
-      }
-   },
-   {
-      "name": "fan2",
-      "path": "/system/chassis/motherboard/fan2",
-      "methods": [
-         {
-            "type": "gpio",
-            "key": 8,
-            "physpath": "/sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a400.i2c-bus/i2c-7/7-0061",
-            "devpath": "/dev/input/by-path/platform-gpio-keys-polled-event"
-         },
-         {
-            "type": "tach",
-            "sensors": [
-               "fan2_0",
-               "fan2_1"
-            ]
-         }
-      ],
-      "rpolicy": {
-         "type": "anyof"
-      }
-   },
-   {
-      "name": "fan3",
-      "path": "/system/chassis/motherboard/fan3",
-      "methods": [
-         {
-            "type": "gpio",
-            "key": 9,
-            "physpath": "/sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a400.i2c-bus/i2c-7/7-0061",
-            "devpath": "/dev/input/by-path/platform-gpio-keys-polled-event"
-         },
-         {
-            "type": "tach",
-            "sensors": [
-               "fan3_0",
-               "fan3_1"
-            ]
-         }
-      ],
-      "rpolicy": {
-         "type": "anyof"
-      }
-   },
-   {
-      "name": "fan4",
-      "path": "/system/chassis/motherboard/fan4",
-      "methods": [
-         {
-            "type": "gpio",
-            "key": 10,
-            "physpath": "/sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a400.i2c-bus/i2c-7/7-0061",
-            "devpath": "/dev/input/by-path/platform-gpio-keys-polled-event"
-         },
-         {
-            "type": "tach",
-            "sensors": [
-               "fan4_0",
-               "fan4_1"
-            ]
-         }
-      ],
-      "rpolicy": {
-         "type": "anyof"
-      }
-   },
-   {
-      "name": "fan5",
-      "path": "/system/chassis/motherboard/fan5",
-      "methods": [
-         {
-            "type": "gpio",
-            "key": 11,
-            "physpath": "/sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a400.i2c-bus/i2c-7/7-0061",
-            "devpath": "/dev/input/by-path/platform-gpio-keys-polled-event"
-         },
-         {
-            "type": "tach",
-            "sensors": [
-               "fan5_0",
-               "fan5_1"
-            ]
-         }
-      ],
-      "rpolicy": {
-         "type": "anyof"
-      }
-   }
-]
diff --git a/meta-ibm/recipes-phosphor/fans/phosphor-fan-presence-config/rainier/rainier-4u/config.json b/meta-ibm/recipes-phosphor/fans/phosphor-fan-presence-config/rainier/rainier-4u/config.json
deleted file mode 100644
index 94e7e69f8..000000000
--- a/meta-ibm/recipes-phosphor/fans/phosphor-fan-presence-config/rainier/rainier-4u/config.json
+++ /dev/null
@@ -1,128 +0,0 @@
-[
-   {
-      "name": "fan0",
-      "path": "/system/chassis/motherboard/fan0",
-      "methods": [
-         {
-            "type": "gpio",
-            "key": 6,
-            "physpath": "/sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a400.i2c-bus/i2c-7/7-0061",
-            "devpath": "/dev/input/by-path/platform-gpio-keys-polled-event"
-         },
-         {
-            "type": "tach",
-            "sensors": [
-               "fan0_0"
-            ]
-         }
-      ],
-      "rpolicy": {
-         "type": "anyof"
-      }
-   },
-   {
-      "name": "fan1",
-      "path": "/system/chassis/motherboard/fan1",
-      "methods": [
-         {
-            "type": "gpio",
-            "key": 7,
-            "physpath": "/sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a400.i2c-bus/i2c-7/7-0061",
-            "devpath": "/dev/input/by-path/platform-gpio-keys-polled-event"
-         },
-         {
-            "type": "tach",
-            "sensors": [
-               "fan1_0"
-            ]
-         }
-      ],
-      "rpolicy": {
-         "type": "anyof"
-      }
-   },
-   {
-      "name": "fan2",
-      "path": "/system/chassis/motherboard/fan2",
-      "methods": [
-         {
-            "type": "gpio",
-            "key": 8,
-            "physpath": "/sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a400.i2c-bus/i2c-7/7-0061",
-            "devpath": "/dev/input/by-path/platform-gpio-keys-polled-event"
-         },
-         {
-            "type": "tach",
-            "sensors": [
-               "fan2_0"
-            ]
-         }
-      ],
-      "rpolicy": {
-         "type": "anyof"
-      }
-   },
-   {
-      "name": "fan3",
-      "path": "/system/chassis/motherboard/fan3",
-      "methods": [
-         {
-            "type": "gpio",
-            "key": 9,
-            "physpath": "/sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a400.i2c-bus/i2c-7/7-0061",
-            "devpath": "/dev/input/by-path/platform-gpio-keys-polled-event"
-         },
-         {
-            "type": "tach",
-            "sensors": [
-               "fan3_0"
-            ]
-         }
-      ],
-      "rpolicy": {
-         "type": "anyof"
-      }
-   },
-   {
-      "name": "fan4",
-      "path": "/system/chassis/motherboard/fan4",
-      "methods": [
-         {
-            "type": "gpio",
-            "key": 10,
-            "physpath": "/sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a400.i2c-bus/i2c-7/7-0061",
-            "devpath": "/dev/input/by-path/platform-gpio-keys-polled-event"
-         },
-         {
-            "type": "tach",
-            "sensors": [
-               "fan4_0"
-            ]
-         }
-      ],
-      "rpolicy": {
-         "type": "anyof"
-      }
-   },
-   {
-      "name": "fan5",
-      "path": "/system/chassis/motherboard/fan5",
-      "methods": [
-         {
-            "type": "gpio",
-            "key": 11,
-            "physpath": "/sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a400.i2c-bus/i2c-7/7-0061",
-            "devpath": "/dev/input/by-path/platform-gpio-keys-polled-event"
-         },
-         {
-            "type": "tach",
-            "sensors": [
-               "fan5_0"
-            ]
-         }
-      ],
-      "rpolicy": {
-         "type": "anyof"
-      }
-   }
-]
diff --git a/meta-ibm/recipes-phosphor/fans/phosphor-fan/p10bmc/everest/fans.json b/meta-ibm/recipes-phosphor/fans/phosphor-fan/p10bmc/everest/fans.json
new file mode 100644
index 000000000..0e4e4d05a
--- /dev/null
+++ b/meta-ibm/recipes-phosphor/fans/phosphor-fan/p10bmc/everest/fans.json
@@ -0,0 +1,26 @@
+[
+    {
+        "name": "fan0",
+        "zone": "0",
+        "sensors": ["fan0_0"],
+        "target_interface": "xyz.openbmc_project.Control.FanSpeed"
+    },
+    {
+        "name": "fan1",
+        "zone": "0",
+        "sensors": ["fan1_0"],
+        "target_interface": "xyz.openbmc_project.Control.FanSpeed"
+    },
+    {
+        "name": "fan2",
+        "zone": "0",
+        "sensors": ["fan2_0"],
+        "target_interface": "xyz.openbmc_project.Control.FanSpeed"
+    },
+    {
+        "name": "fan3",
+        "zone": "0",
+        "sensors": ["fan3_0"],
+        "target_interface": "xyz.openbmc_project.Control.FanSpeed"
+    }
+]
diff --git a/meta-ibm/recipes-phosphor/fans/phosphor-fan/p10bmc/everest/zones.json b/meta-ibm/recipes-phosphor/fans/phosphor-fan/p10bmc/everest/zones.json
new file mode 100644
index 000000000..2edfb3680
--- /dev/null
+++ b/meta-ibm/recipes-phosphor/fans/phosphor-fan/p10bmc/everest/zones.json
@@ -0,0 +1,9 @@
+[
+    {
+        "name": "0",
+        "full_speed": 10700,
+        "default_floor": 10700,
+        "increase_delay": 5,
+        "decrease_interval": 30
+    }
+]
diff --git a/meta-ibm/recipes-phosphor/fans/phosphor-fan/p10bmc/manager.json b/meta-ibm/recipes-phosphor/fans/phosphor-fan/p10bmc/manager.json
new file mode 100644
index 000000000..1480aa30f
--- /dev/null
+++ b/meta-ibm/recipes-phosphor/fans/phosphor-fan/p10bmc/manager.json
@@ -0,0 +1,3 @@
+{
+   "power_on_delay": 15
+}
diff --git a/meta-ibm/recipes-phosphor/fans/phosphor-fan/p10bmc/rainier-1s4u/fans.json b/meta-ibm/recipes-phosphor/fans/phosphor-fan/p10bmc/rainier-1s4u/fans.json
new file mode 100644
index 000000000..0e4e4d05a
--- /dev/null
+++ b/meta-ibm/recipes-phosphor/fans/phosphor-fan/p10bmc/rainier-1s4u/fans.json
@@ -0,0 +1,26 @@
+[
+    {
+        "name": "fan0",
+        "zone": "0",
+        "sensors": ["fan0_0"],
+        "target_interface": "xyz.openbmc_project.Control.FanSpeed"
+    },
+    {
+        "name": "fan1",
+        "zone": "0",
+        "sensors": ["fan1_0"],
+        "target_interface": "xyz.openbmc_project.Control.FanSpeed"
+    },
+    {
+        "name": "fan2",
+        "zone": "0",
+        "sensors": ["fan2_0"],
+        "target_interface": "xyz.openbmc_project.Control.FanSpeed"
+    },
+    {
+        "name": "fan3",
+        "zone": "0",
+        "sensors": ["fan3_0"],
+        "target_interface": "xyz.openbmc_project.Control.FanSpeed"
+    }
+]
diff --git a/meta-ibm/recipes-phosphor/fans/phosphor-fan/p10bmc/rainier-1s4u/zones.json b/meta-ibm/recipes-phosphor/fans/phosphor-fan/p10bmc/rainier-1s4u/zones.json
new file mode 100644
index 000000000..b2c96070b
--- /dev/null
+++ b/meta-ibm/recipes-phosphor/fans/phosphor-fan/p10bmc/rainier-1s4u/zones.json
@@ -0,0 +1,9 @@
+[
+    {
+        "name": "0",
+        "full_speed": 6000,
+        "default_floor": 6000,
+        "increase_delay": 5,
+        "decrease_interval": 30
+    }
+]
diff --git a/meta-ibm/recipes-phosphor/fans/phosphor-fan/p10bmc/rainier-2u/zones.json b/meta-ibm/recipes-phosphor/fans/phosphor-fan/p10bmc/rainier-2u/zones.json
new file mode 100644
index 000000000..54d3f28ca
--- /dev/null
+++ b/meta-ibm/recipes-phosphor/fans/phosphor-fan/p10bmc/rainier-2u/zones.json
@@ -0,0 +1,9 @@
+[
+    {
+        "name": "0",
+        "full_speed": 11200,
+        "default_floor": 8000,
+        "increase_delay": 5,
+        "decrease_interval": 30
+    }
+]
diff --git a/meta-ibm/recipes-phosphor/fans/phosphor-fan/p10bmc/rainier-4u/zones.json b/meta-ibm/recipes-phosphor/fans/phosphor-fan/p10bmc/rainier-4u/zones.json
new file mode 100644
index 000000000..b2c96070b
--- /dev/null
+++ b/meta-ibm/recipes-phosphor/fans/phosphor-fan/p10bmc/rainier-4u/zones.json
@@ -0,0 +1,9 @@
+[
+    {
+        "name": "0",
+        "full_speed": 6000,
+        "default_floor": 6000,
+        "increase_delay": 5,
+        "decrease_interval": 30
+    }
+]
diff --git a/meta-ibm/recipes-phosphor/fans/phosphor-fan/p10bmc/rainier/fans.json b/meta-ibm/recipes-phosphor/fans/phosphor-fan/p10bmc/rainier/fans.json
new file mode 100644
index 000000000..10465a909
--- /dev/null
+++ b/meta-ibm/recipes-phosphor/fans/phosphor-fan/p10bmc/rainier/fans.json
@@ -0,0 +1,38 @@
+[
+    {
+        "name": "fan0",
+        "zone": "0",
+        "sensors": ["fan0_0"],
+        "target_interface": "xyz.openbmc_project.Control.FanSpeed"
+    },
+    {
+        "name": "fan1",
+        "zone": "0",
+        "sensors": ["fan1_0"],
+        "target_interface": "xyz.openbmc_project.Control.FanSpeed"
+    },
+    {
+        "name": "fan2",
+        "zone": "0",
+        "sensors": ["fan2_0"],
+        "target_interface": "xyz.openbmc_project.Control.FanSpeed"
+    },
+    {
+        "name": "fan3",
+        "zone": "0",
+        "sensors": ["fan3_0"],
+        "target_interface": "xyz.openbmc_project.Control.FanSpeed"
+    },
+    {
+        "name": "fan4",
+        "zone": "0",
+        "sensors": ["fan4_0"],
+        "target_interface": "xyz.openbmc_project.Control.FanSpeed"
+    },
+    {
+        "name": "fan5",
+        "zone": "0",
+        "sensors": ["fan5_0"],
+        "target_interface": "xyz.openbmc_project.Control.FanSpeed"
+    }
+]
diff --git a/meta-ibm/recipes-phosphor/fans/phosphor-fan/rainier/everest/fans.json b/meta-ibm/recipes-phosphor/fans/phosphor-fan/rainier/everest/fans.json
deleted file mode 100644
index 0e4e4d05a..000000000
--- a/meta-ibm/recipes-phosphor/fans/phosphor-fan/rainier/everest/fans.json
+++ /dev/null
@@ -1,26 +0,0 @@
-[
-    {
-        "name": "fan0",
-        "zone": "0",
-        "sensors": ["fan0_0"],
-        "target_interface": "xyz.openbmc_project.Control.FanSpeed"
-    },
-    {
-        "name": "fan1",
-        "zone": "0",
-        "sensors": ["fan1_0"],
-        "target_interface": "xyz.openbmc_project.Control.FanSpeed"
-    },
-    {
-        "name": "fan2",
-        "zone": "0",
-        "sensors": ["fan2_0"],
-        "target_interface": "xyz.openbmc_project.Control.FanSpeed"
-    },
-    {
-        "name": "fan3",
-        "zone": "0",
-        "sensors": ["fan3_0"],
-        "target_interface": "xyz.openbmc_project.Control.FanSpeed"
-    }
-]
diff --git a/meta-ibm/recipes-phosphor/fans/phosphor-fan/rainier/everest/zones.json b/meta-ibm/recipes-phosphor/fans/phosphor-fan/rainier/everest/zones.json
deleted file mode 100644
index 2edfb3680..000000000
--- a/meta-ibm/recipes-phosphor/fans/phosphor-fan/rainier/everest/zones.json
+++ /dev/null
@@ -1,9 +0,0 @@
-[
-    {
-        "name": "0",
-        "full_speed": 10700,
-        "default_floor": 10700,
-        "increase_delay": 5,
-        "decrease_interval": 30
-    }
-]
diff --git a/meta-ibm/recipes-phosphor/fans/phosphor-fan/rainier/manager.json b/meta-ibm/recipes-phosphor/fans/phosphor-fan/rainier/manager.json
deleted file mode 100644
index 1480aa30f..000000000
--- a/meta-ibm/recipes-phosphor/fans/phosphor-fan/rainier/manager.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
-   "power_on_delay": 15
-}
diff --git a/meta-ibm/recipes-phosphor/fans/phosphor-fan/rainier/rainier-1s4u/fans.json b/meta-ibm/recipes-phosphor/fans/phosphor-fan/rainier/rainier-1s4u/fans.json
deleted file mode 100644
index 0e4e4d05a..000000000
--- a/meta-ibm/recipes-phosphor/fans/phosphor-fan/rainier/rainier-1s4u/fans.json
+++ /dev/null
@@ -1,26 +0,0 @@
-[
-    {
-        "name": "fan0",
-        "zone": "0",
-        "sensors": ["fan0_0"],
-        "target_interface": "xyz.openbmc_project.Control.FanSpeed"
-    },
-    {
-        "name": "fan1",
-        "zone": "0",
-        "sensors": ["fan1_0"],
-        "target_interface": "xyz.openbmc_project.Control.FanSpeed"
-    },
-    {
-        "name": "fan2",
-        "zone": "0",
-        "sensors": ["fan2_0"],
-        "target_interface": "xyz.openbmc_project.Control.FanSpeed"
-    },
-    {
-        "name": "fan3",
-        "zone": "0",
-        "sensors": ["fan3_0"],
-        "target_interface": "xyz.openbmc_project.Control.FanSpeed"
-    }
-]
diff --git a/meta-ibm/recipes-phosphor/fans/phosphor-fan/rainier/rainier-1s4u/zones.json b/meta-ibm/recipes-phosphor/fans/phosphor-fan/rainier/rainier-1s4u/zones.json
deleted file mode 100644
index b2c96070b..000000000
--- a/meta-ibm/recipes-phosphor/fans/phosphor-fan/rainier/rainier-1s4u/zones.json
+++ /dev/null
@@ -1,9 +0,0 @@
-[
-    {
-        "name": "0",
-        "full_speed": 6000,
-        "default_floor": 6000,
-        "increase_delay": 5,
-        "decrease_interval": 30
-    }
-]
diff --git a/meta-ibm/recipes-phosphor/fans/phosphor-fan/rainier/rainier-2u/zones.json b/meta-ibm/recipes-phosphor/fans/phosphor-fan/rainier/rainier-2u/zones.json
deleted file mode 100644
index 54d3f28ca..000000000
--- a/meta-ibm/recipes-phosphor/fans/phosphor-fan/rainier/rainier-2u/zones.json
+++ /dev/null
@@ -1,9 +0,0 @@
-[
-    {
-        "name": "0",
-        "full_speed": 11200,
-        "default_floor": 8000,
-        "increase_delay": 5,
-        "decrease_interval": 30
-    }
-]
diff --git a/meta-ibm/recipes-phosphor/fans/phosphor-fan/rainier/rainier-4u/zones.json b/meta-ibm/recipes-phosphor/fans/phosphor-fan/rainier/rainier-4u/zones.json
deleted file mode 100644
index b2c96070b..000000000
--- a/meta-ibm/recipes-phosphor/fans/phosphor-fan/rainier/rainier-4u/zones.json
+++ /dev/null
@@ -1,9 +0,0 @@
-[
-    {
-        "name": "0",
-        "full_speed": 6000,
-        "default_floor": 6000,
-        "increase_delay": 5,
-        "decrease_interval": 30
-    }
-]
diff --git a/meta-ibm/recipes-phosphor/fans/phosphor-fan/rainier/rainier/fans.json b/meta-ibm/recipes-phosphor/fans/phosphor-fan/rainier/rainier/fans.json
deleted file mode 100644
index 10465a909..000000000
--- a/meta-ibm/recipes-phosphor/fans/phosphor-fan/rainier/rainier/fans.json
+++ /dev/null
@@ -1,38 +0,0 @@
-[
-    {
-        "name": "fan0",
-        "zone": "0",
-        "sensors": ["fan0_0"],
-        "target_interface": "xyz.openbmc_project.Control.FanSpeed"
-    },
-    {
-        "name": "fan1",
-        "zone": "0",
-        "sensors": ["fan1_0"],
-        "target_interface": "xyz.openbmc_project.Control.FanSpeed"
-    },
-    {
-        "name": "fan2",
-        "zone": "0",
-        "sensors": ["fan2_0"],
-        "target_interface": "xyz.openbmc_project.Control.FanSpeed"
-    },
-    {
-        "name": "fan3",
-        "zone": "0",
-        "sensors": ["fan3_0"],
-        "target_interface": "xyz.openbmc_project.Control.FanSpeed"
-    },
-    {
-        "name": "fan4",
-        "zone": "0",
-        "sensors": ["fan4_0"],
-        "target_interface": "xyz.openbmc_project.Control.FanSpeed"
-    },
-    {
-        "name": "fan5",
-        "zone": "0",
-        "sensors": ["fan5_0"],
-        "target_interface": "xyz.openbmc_project.Control.FanSpeed"
-    }
-]
diff --git a/meta-ibm/recipes-phosphor/fans/phosphor-fan_%.bbappend b/meta-ibm/recipes-phosphor/fans/phosphor-fan_%.bbappend
index bc04bda6b..7de421656 100644
--- a/meta-ibm/recipes-phosphor/fans/phosphor-fan_%.bbappend
+++ b/meta-ibm/recipes-phosphor/fans/phosphor-fan_%.bbappend
@@ -34,16 +34,16 @@ SYSTEMD_OVERRIDE_phosphor-fan-control_witherspoon += "fan-watchdog-monitor.conf:
 SYSTEMD_OVERRIDE_phosphor-fan-control_witherspoon += "fan-watchdog-monitor.conf:phosphor-fan-control@0.service.d/fan-watchdog-monitor.conf"
 SYSTEMD_OVERRIDE_phosphor-fan-monitor_witherspoon += "fan-watchdog-monitor.conf:phosphor-fan-monitor-init@0.service.d/fan-watchdog-monitor.conf"
 SYSTEMD_OVERRIDE_phosphor-fan-monitor_witherspoon += "fan-watchdog-monitor.conf:phosphor-fan-monitor@0.service.d/fan-watchdog-monitor.conf"
-SYSTEMD_OVERRIDE_phosphor-fan-control_rainier += "fan-watchdog-monitor.conf:phosphor-fan-control-init@0.service.d/fan-watchdog-monitor.conf"
-SYSTEMD_OVERRIDE_phosphor-fan-control_rainier += "fan-watchdog-monitor.conf:phosphor-fan-control@0.service.d/fan-watchdog-monitor.conf"
-SYSTEMD_OVERRIDE_phosphor-fan-monitor_rainier += "fan-watchdog-monitor.conf:phosphor-fan-monitor-init@0.service.d/fan-watchdog-monitor.conf"
-SYSTEMD_OVERRIDE_phosphor-fan-monitor_rainier += "fan-watchdog-monitor.conf:phosphor-fan-monitor@0.service.d/fan-watchdog-monitor.conf"
+SYSTEMD_OVERRIDE_phosphor-fan-control_p10bmc += "fan-watchdog-monitor.conf:phosphor-fan-control-init@0.service.d/fan-watchdog-monitor.conf"
+SYSTEMD_OVERRIDE_phosphor-fan-control_p10bmc += "fan-watchdog-monitor.conf:phosphor-fan-control@0.service.d/fan-watchdog-monitor.conf"
+SYSTEMD_OVERRIDE_phosphor-fan-monitor_p10bmc += "fan-watchdog-monitor.conf:phosphor-fan-monitor-init@0.service.d/fan-watchdog-monitor.conf"
+SYSTEMD_OVERRIDE_phosphor-fan-monitor_p10bmc += "fan-watchdog-monitor.conf:phosphor-fan-monitor@0.service.d/fan-watchdog-monitor.conf"
 
 #These services need to be stopped when watchdog expires
 SYSTEMD_OVERRIDE_phosphor-fan-control_witherspoon += "fan-watchdog-conflicts.conf:phosphor-fan-control@0.service.d/fan-watchdog-conflicts.conf"
 SYSTEMD_OVERRIDE_phosphor-fan-monitor_witherspoon += "fan-watchdog-conflicts.conf:phosphor-fan-monitor@0.service.d/fan-watchdog-conflicts.conf"
-SYSTEMD_OVERRIDE_phosphor-fan-control_rainier += "fan-watchdog-conflicts.conf:phosphor-fan-control@0.service.d/fan-watchdog-conflicts.conf"
-SYSTEMD_OVERRIDE_phosphor-fan-monitor_rainier += "fan-watchdog-conflicts.conf:phosphor-fan-monitor@0.service.d/fan-watchdog-conflicts.conf"
+SYSTEMD_OVERRIDE_phosphor-fan-control_p10bmc += "fan-watchdog-conflicts.conf:phosphor-fan-control@0.service.d/fan-watchdog-conflicts.conf"
+SYSTEMD_OVERRIDE_phosphor-fan-monitor_p10bmc += "fan-watchdog-conflicts.conf:phosphor-fan-monitor@0.service.d/fan-watchdog-conflicts.conf"
 
 # Witherspoon fan control service linking
 # Link fan control init service
@@ -61,13 +61,13 @@ EXTRA_OECONF_append_witherspoon = " --disable-json-control"
 RDEPENDS_${PN}-presence-tach_append_witherspoon = " phosphor-fan-presence-config"
 RDEPENDS_${PN}-monitor_append_witherspoon = " phosphor-fan-monitor-config"
 
-PACKAGECONFIG_append_rainier = " json sensor-monitor"
-FAN_PACKAGES_append_rainier = " sensor-monitor"
-RDEPENDS_${PN}-presence-tach_append_rainier = " phosphor-fan-presence-config"
-RDEPENDS_${PN}-monitor_append_rainier = " phosphor-fan-monitor-config"
+PACKAGECONFIG_append_p10bmc = " json sensor-monitor"
+FAN_PACKAGES_append_p10bmc = " sensor-monitor"
+RDEPENDS_${PN}-presence-tach_append_p10bmc = " phosphor-fan-presence-config"
+RDEPENDS_${PN}-monitor_append_p10bmc = " phosphor-fan-monitor-config"
 
 # Install fan control JSON config files
-SRC_URI_append_rainier = " \
+SRC_URI_append_p10bmc = " \
     file://manager.json \
     file://rainier/fans.json \
     file://rainier-1s4u/fans.json \
@@ -76,7 +76,7 @@ SRC_URI_append_rainier = " \
     file://rainier-1s4u/zones.json \
     file://everest/fans.json \
     file://everest/zones.json"
-do_install_append_rainier() {
+do_install_append_p10bmc() {
     # Install fan control manager config file
     install -d ${D}/${datadir}/phosphor-fan-presence/control/
     install -m 0644 ${WORKDIR}/manager.json ${D}/${datadir}/phosphor-fan-presence/control/
@@ -99,7 +99,7 @@ do_install_append_rainier() {
     install -m 0644 ${WORKDIR}/everest/fans.json ${D}/${datadir}/phosphor-fan-presence/control/ibm,everest/
     install -m 0644 ${WORKDIR}/everest/zones.json ${D}/${datadir}/phosphor-fan-presence/control/ibm,everest/
 }
-FILES_${PN}-control_append_rainier = " \
+FILES_${PN}-control_append_p10bmc = " \
     ${datadir}/phosphor-fan-presence/control/manager.json \
     ${datadir}/phosphor-fan-presence/control/ibm,rainier/fans.json \
     ${datadir}/phosphor-fan-presence/control/ibm,rainier-1s4u/fans.json \
-- 
cgit v1.2.3


From b6ff3eb92ef1b12e2562ad1e1f74371cf4d51e75 Mon Sep 17 00:00:00 2001
From: Adriana Kobylak 
Date: Thu, 25 Mar 2021 16:43:56 +0000
Subject: ibm: inventory-manager: Replace rainier with p10bmc

The IBM rainier machine name is being replaced with the generic p10bmc.

Tested: Built rainier and verified files were installed:
rainier-openbmc-linux-gnueabi/obmc-phosphor-image/1.0-r0/rootfs/usr/share/phosphor-inventory-manager/ibm,everest_associations.json
rainier-openbmc-linux-gnueabi/obmc-phosphor-image/1.0-r0/rootfs/usr/share/phosphor-inventory-manager/ibm,rainier-4u_associations.json
rainier-openbmc-linux-gnueabi/obmc-phosphor-image/1.0-r0/rootfs/usr/share/phosphor-inventory-manager/ibm,rainier-2u_associations.json

Change-Id: I422374d25966e731147eebd1772d5cfc4f62f9d9
Signed-off-by: Adriana Kobylak 
---
 .../p10bmc/ibm,everest_associations.json           |  111 +
 .../p10bmc/ibm,rainier-2u_associations.json        | 2857 ++++++++++++++++++++
 .../p10bmc/ibm,rainier-4u_associations.json        | 2846 +++++++++++++++++++
 .../rainier/ibm,everest_associations.json          |  111 -
 .../rainier/ibm,rainier-2u_associations.json       | 2857 --------------------
 .../rainier/ibm,rainier-4u_associations.json       | 2846 -------------------
 .../phosphor-inventory-manager_%.bbappend          |    6 +-
 7 files changed, 5817 insertions(+), 5817 deletions(-)
 create mode 100644 meta-ibm/recipes-phosphor/inventory/phosphor-inventory-manager/p10bmc/ibm,everest_associations.json
 create mode 100644 meta-ibm/recipes-phosphor/inventory/phosphor-inventory-manager/p10bmc/ibm,rainier-2u_associations.json
 create mode 100644 meta-ibm/recipes-phosphor/inventory/phosphor-inventory-manager/p10bmc/ibm,rainier-4u_associations.json
 delete mode 100644 meta-ibm/recipes-phosphor/inventory/phosphor-inventory-manager/rainier/ibm,everest_associations.json
 delete mode 100644 meta-ibm/recipes-phosphor/inventory/phosphor-inventory-manager/rainier/ibm,rainier-2u_associations.json
 delete mode 100644 meta-ibm/recipes-phosphor/inventory/phosphor-inventory-manager/rainier/ibm,rainier-4u_associations.json

diff --git a/meta-ibm/recipes-phosphor/inventory/phosphor-inventory-manager/p10bmc/ibm,everest_associations.json b/meta-ibm/recipes-phosphor/inventory/phosphor-inventory-manager/p10bmc/ibm,everest_associations.json
new file mode 100644
index 000000000..bf797d94c
--- /dev/null
+++ b/meta-ibm/recipes-phosphor/inventory/phosphor-inventory-manager/p10bmc/ibm,everest_associations.json
@@ -0,0 +1,111 @@
+{
+    "condition":
+    {
+        "path": "system/chassis/motherboard",
+        "interface": "com.ibm.ipzvpd.VSBP",
+        "property": "IM",
+        "values": [
+            [80, 0, 48, 0]
+        ]
+    },
+    "associations":
+    [
+        {
+            "path": "system/chassis/motherboard/fan0",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "inventory",
+                        "fType": "sensors"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/sensors/fan_tach/fan0_0",
+                        "/xyz/openbmc_project/sensors/fan_tach/fan0_1"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/fan1",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "inventory",
+                        "fType": "sensors"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/sensors/fan_tach/fan1_0",
+                        "/xyz/openbmc_project/sensors/fan_tach/fan1_1"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/fan2",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "inventory",
+                        "fType": "sensors"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/sensors/fan_tach/fan2_0",
+                        "/xyz/openbmc_project/sensors/fan_tach/fan2_1"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/fan3",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "inventory",
+                        "fType": "sensors"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/sensors/fan_tach/fan3_0",
+                        "/xyz/openbmc_project/sensors/fan_tach/fan3_1"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "chassis",
+                        "fType": "all_sensors"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/sensors/fan_tach/fan0_0",
+                        "/xyz/openbmc_project/sensors/fan_tach/fan0_1",
+                        "/xyz/openbmc_project/sensors/fan_tach/fan1_0",
+                        "/xyz/openbmc_project/sensors/fan_tach/fan1_1",
+                        "/xyz/openbmc_project/sensors/fan_tach/fan2_0",
+                        "/xyz/openbmc_project/sensors/fan_tach/fan2_1",
+                        "/xyz/openbmc_project/sensors/fan_tach/fan3_0",
+                        "/xyz/openbmc_project/sensors/fan_tach/fan3_1"
+                    ]
+                }
+            ]
+        }
+    ]
+}
+
diff --git a/meta-ibm/recipes-phosphor/inventory/phosphor-inventory-manager/p10bmc/ibm,rainier-2u_associations.json b/meta-ibm/recipes-phosphor/inventory/phosphor-inventory-manager/p10bmc/ibm,rainier-2u_associations.json
new file mode 100644
index 000000000..348cb9755
--- /dev/null
+++ b/meta-ibm/recipes-phosphor/inventory/phosphor-inventory-manager/p10bmc/ibm,rainier-2u_associations.json
@@ -0,0 +1,2857 @@
+{
+    "condition":
+    {
+        "path": "system/chassis/motherboard",
+        "interface": "com.ibm.ipzvpd.VSBP",
+        "property": "IM",
+        "values": [
+            [80, 0, 16, 1],
+            [80, 0, 16, 3]
+        ]
+    },
+    "associations":
+    [
+        {
+            "path": "system/chassis/motherboard/fan0",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "inventory",
+                        "fType": "sensors"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/sensors/fan_tach/fan0_0",
+                        "/xyz/openbmc_project/sensors/fan_tach/fan0_1"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/fan0_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/fan0_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/fan1",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "inventory",
+                        "fType": "sensors"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/sensors/fan_tach/fan1_0",
+                        "/xyz/openbmc_project/sensors/fan_tach/fan1_1"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/fan1_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/fan1_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/fan2",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "inventory",
+                        "fType": "sensors"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/sensors/fan_tach/fan2_0",
+                        "/xyz/openbmc_project/sensors/fan_tach/fan2_1"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/fan2_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/fan2_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/fan3",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "inventory",
+                        "fType": "sensors"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/sensors/fan_tach/fan3_0",
+                        "/xyz/openbmc_project/sensors/fan_tach/fan3_1"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/fan3_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/fan3_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/fan4",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "inventory",
+                        "fType": "sensors"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/sensors/fan_tach/fan4_0",
+                        "/xyz/openbmc_project/sensors/fan_tach/fan4_1"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/fan4_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/fan4_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/fan5",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "inventory",
+                        "fType": "sensors"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/sensors/fan_tach/fan5_0",
+                        "/xyz/openbmc_project/sensors/fan_tach/fan5_1"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/fan5_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/fan5_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "chassis",
+                        "fType": "all_sensors"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/sensors/fan_tach/fan0_0",
+                        "/xyz/openbmc_project/sensors/fan_tach/fan0_1",
+                        "/xyz/openbmc_project/sensors/fan_tach/fan1_0",
+                        "/xyz/openbmc_project/sensors/fan_tach/fan1_1",
+                        "/xyz/openbmc_project/sensors/fan_tach/fan2_0",
+                        "/xyz/openbmc_project/sensors/fan_tach/fan2_1",
+                        "/xyz/openbmc_project/sensors/fan_tach/fan3_0",
+                        "/xyz/openbmc_project/sensors/fan_tach/fan3_1",
+                        "/xyz/openbmc_project/sensors/fan_tach/fan4_0",
+                        "/xyz/openbmc_project/sensors/fan_tach/fan4_1"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/powersupply0",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/powersupply0_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/powersupply0_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/powersupply1",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/powersupply1_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/powersupply1_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/planar_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/planar_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/base_op_panel_blyth",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/base_blyth_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/base_blyth_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/lcd_op_panel_hill",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/lcd_russel_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/lcd_russel_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/ebmc_card_bmc",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/bmc_ingraham_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/bmc_ingraham_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/cpu0",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/cpu0_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/cpu0_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/cpu1",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/cpu0_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/cpu0_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/cpu2",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/cpu1_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/cpu1_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/cpu3",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/cpu1_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/cpu1_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/dimm0",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm0_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm0_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/dimm1",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm1_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm1_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/dimm2",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm2_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm2_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/dimm3",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm3_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm3_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/dimm4",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm4_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm4_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/dimm5",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm5_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm5_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/dimm6",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm6_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm6_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/dimm7",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm7_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm7_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/dimm8",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm8_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm8_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/dimm9",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm9_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm9_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/dimm10",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm10_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm10_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/dimm11",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm11_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm11_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/dimm12",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm12_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm12_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/dimm13",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm13_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm13_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/dimm14",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm14_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm14_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/dimm15",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm15_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm15_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/dimm16",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm16_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm16_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/dimm17",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm17_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm17_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/dimm18",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm18_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm18_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/dimm19",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm19_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm19_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/dimm20",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm20_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm20_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/dimm21",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm21_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm21_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/dimm22",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm22_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm22_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/dimm23",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm23_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm23_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/dimm24",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm24_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm24_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/dimm25",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm25_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm25_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/dimm26",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm26_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm26_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/dimm27",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm27_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm27_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/dimm28",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm28_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm28_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/dimm29",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm29_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm29_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/dimm30",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm30_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm30_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/dimm31",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm31_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm31_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/vdd_vrm0",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/cpu0_vrm0_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/cpu0_vrm0_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/vdd_vrm1",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/cpu1_vrm0_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/cpu1_vrm0_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/tod_battery",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/rtc_battery_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/rtc_battery_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/tpm_wilson",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/tpm_wilson_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/tpm_wilson_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/pcieslot0",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/pcieslot0_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/pcieslot0_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/pcieslot1",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/pcieslot1_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/pcieslot1_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/pcieslot2",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/pcieslot2_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/pcieslot2_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/pcieslot3",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/pcieslot3_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/pcieslot3_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/pcieslot4",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/pcieslot4_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/pcieslot4_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/pcieslot6",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/pcieslot6_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/pcieslot6_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/pcieslot7",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/pcieslot7_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/pcieslot7_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/pcieslot8",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/pcieslot8_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/pcieslot8_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/pcieslot9",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/pcieslot9_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/pcieslot9_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/pcieslot10",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/pcieslot10_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/pcieslot10_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/pcieslot11",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/pcieslot11_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/pcieslot11_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/pcie_cable_card0/cxp_top",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/cablecard0_cxp_top_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/cablecard0_cxp_top_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/pcie_cable_card0/cxp_bot",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/cablecard0_cxp_bot_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/cablecard0_cxp_bot_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/pcie_cable_card3/cxp_top",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/cablecard3_cxp_top_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/cablecard3_cxp_top_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/pcie_cable_card3/cxp_bot",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/cablecard3_cxp_bot_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/cablecard3_cxp_bot_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/pcie_cable_card4/cxp_top",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/cablecard4_cxp_top_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/cablecard4_cxp_top_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/pcie_cable_card4/cxp_bot",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/cablecard4_cxp_bot_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/cablecard4_cxp_bot_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/pcie_cable_card10/cxp_top",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/cablecard10_cxp_top_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/cablecard10_cxp_top_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/pcie_cable_card10/cxp_bot",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/cablecard10_cxp_bot_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/cablecard10_cxp_bot_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/disk_backplane0",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/dasd_pyramid0_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/dasd_pyramid0_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/disk_backplane1",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/dasd_pyramid1_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/dasd_pyramid1_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/disk_backplane2",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/dasd_pyramid2_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/dasd_pyramid2_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/disk_backplane0/nvme0",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/nvme0_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/nvme0_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/disk_backplane0/nvme1",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/nvme1_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/nvme1_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/disk_backplane0/nvme2",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/nvme2_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/nvme2_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/disk_backplane0/nvme3",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/nvme3_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/nvme3_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/disk_backplane0/nvme4",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/nvme4_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/nvme4_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/disk_backplane0/nvme5",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/nvme5_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/nvme5_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/disk_backplane0/nvme6",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/nvme6_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/nvme6_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/disk_backplane0/nvme7",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/nvme7_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/nvme7_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/disk_backplane1/nvme0",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/nvme8_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/nvme8_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/disk_backplane1/nvme1",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/nvme9_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/nvme9_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/disk_backplane1/nvme2",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/nvme10_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/nvme10_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/disk_backplane1/nvme3",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/nvme11_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/nvme11_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/disk_backplane1/nvme4",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/nvme12_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/nvme12_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/disk_backplane1/nvme5",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/nvme13_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/nvme13_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/disk_backplane1/nvme6",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/nvme14_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/nvme14_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/disk_backplane1/nvme7",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/nvme15_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/nvme15_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/disk_backplane2/nvme0",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/nvme16_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/nvme16_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/disk_backplane2/nvme1",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/nvme17_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/nvme17_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/disk_backplane2/nvme2",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/nvme18_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/nvme18_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/disk_backplane2/nvme3",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/nvme19_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/nvme19_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/disk_backplane2/nvme4",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/nvme20_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/nvme20_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/disk_backplane2/nvme5",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/nvme21_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/nvme21_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/disk_backplane2/nvme6",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/nvme22_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/nvme22_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/disk_backplane2/nvme7",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/nvme23_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/nvme23_identify"
+                    ]
+                }
+            ]
+        }
+    ]
+}
diff --git a/meta-ibm/recipes-phosphor/inventory/phosphor-inventory-manager/p10bmc/ibm,rainier-4u_associations.json b/meta-ibm/recipes-phosphor/inventory/phosphor-inventory-manager/p10bmc/ibm,rainier-4u_associations.json
new file mode 100644
index 000000000..7841a966a
--- /dev/null
+++ b/meta-ibm/recipes-phosphor/inventory/phosphor-inventory-manager/p10bmc/ibm,rainier-4u_associations.json
@@ -0,0 +1,2846 @@
+{
+    "condition":
+    {
+        "path": "system/chassis/motherboard",
+        "interface": "com.ibm.ipzvpd.VSBP",
+        "property": "IM",
+        "values": [
+            [80, 0, 16, 0],
+            [80, 0, 16, 2]
+        ]
+    },
+    "associations":
+    [
+        {
+            "path": "system/chassis/motherboard/fan0",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "inventory",
+                        "fType": "sensors"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/sensors/fan_tach/fan0_0"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/fan0_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/fan0_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/fan1",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "inventory",
+                        "fType": "sensors"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/sensors/fan_tach/fan1_0"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/fan1_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/fan1_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/fan2",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "inventory",
+                        "fType": "sensors"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/sensors/fan_tach/fan2_0"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/fan2_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/fan2_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/fan3",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "inventory",
+                        "fType": "sensors"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/sensors/fan_tach/fan3_0"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/fan3_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/fan3_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/fan4",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "inventory",
+                        "fType": "sensors"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/sensors/fan_tach/fan4_0"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/fan4_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/fan4_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/fan5",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "inventory",
+                        "fType": "sensors"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/sensors/fan_tach/fan5_0"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/fan5_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/fan5_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "chassis",
+                        "fType": "all_sensors"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/sensors/fan_tach/fan0_0",
+                        "/xyz/openbmc_project/sensors/fan_tach/fan1_0",
+                        "/xyz/openbmc_project/sensors/fan_tach/fan2_0",
+                        "/xyz/openbmc_project/sensors/fan_tach/fan3_0",
+                        "/xyz/openbmc_project/sensors/fan_tach/fan4_0"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/powersupply0",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/powersupply0_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/powersupply0_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/powersupply1",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/powersupply1_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/powersupply1_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/planar_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/planar_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/base_op_panel_blyth",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/base_blyth_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/base_blyth_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/lcd_op_panel_hill",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/lcd_russel_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/lcd_russel_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/ebmc_card_bmc",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/bmc_ingraham_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/bmc_ingraham_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/cpu0",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/cpu0_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/cpu0_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/cpu1",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/cpu0_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/cpu0_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/cpu2",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/cpu1_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/cpu1_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/cpu3",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/cpu1_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/cpu1_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/dimm0",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm0_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm0_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/dimm1",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm1_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm1_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/dimm2",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm2_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm2_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/dimm3",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm3_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm3_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/dimm4",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm4_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm4_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/dimm5",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm5_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm5_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/dimm6",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm6_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm6_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/dimm7",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm7_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm7_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/dimm8",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm8_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm8_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/dimm9",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm9_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm9_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/dimm10",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm10_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm10_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/dimm11",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm11_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm11_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/dimm12",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm12_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm12_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/dimm13",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm13_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm13_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/dimm14",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm14_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm14_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/dimm15",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm15_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm15_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/dimm16",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm16_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm16_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/dimm17",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm17_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm17_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/dimm18",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm18_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm18_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/dimm19",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm19_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm19_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/dimm20",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm20_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm20_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/dimm21",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm21_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm21_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/dimm22",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm22_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm22_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/dimm23",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm23_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm23_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/dimm24",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm24_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm24_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/dimm25",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm25_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm25_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/dimm26",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm26_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm26_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/dimm27",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm27_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm27_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/dimm28",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm28_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm28_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/dimm29",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm29_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm29_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/dimm30",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm30_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm30_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/dimm31",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm31_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/ddimm31_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/vdd_vrm0",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/cpu0_vrm0_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/cpu0_vrm0_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/vdd_vrm1",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/cpu1_vrm0_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/cpu1_vrm0_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/tod_battery",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/rtc_battery_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/rtc_battery_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/tpm_wilson",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/tpm_wilson_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/tpm_wilson_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/pcieslot0",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/pcieslot0_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/pcieslot0_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/pcieslot1",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/pcieslot1_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/pcieslot1_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/pcieslot2",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/pcieslot2_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/pcieslot2_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/pcieslot3",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/pcieslot3_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/pcieslot3_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/pcieslot4",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/pcieslot4_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/pcieslot4_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/pcieslot6",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/pcieslot6_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/pcieslot6_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/pcieslot7",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/pcieslot7_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/pcieslot7_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/pcieslot8",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/pcieslot8_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/pcieslot8_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/pcieslot9",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/pcieslot9_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/pcieslot9_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/pcieslot10",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/pcieslot10_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/pcieslot10_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/pcieslot11",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/pcieslot11_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/pcieslot11_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/pcie_cable_card0/cxp_top",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/cablecard0_cxp_top_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/cablecard0_cxp_top_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/pcie_cable_card0/cxp_bot",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/cablecard0_cxp_bot_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/cablecard0_cxp_bot_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/pcie_cable_card3/cxp_top",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/cablecard3_cxp_top_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/cablecard3_cxp_top_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/pcie_cable_card3/cxp_bot",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/cablecard3_cxp_bot_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/cablecard3_cxp_bot_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/pcie_cable_card4/cxp_top",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/cablecard4_cxp_top_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/cablecard4_cxp_top_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/pcie_cable_card4/cxp_bot",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/cablecard4_cxp_bot_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/cablecard4_cxp_bot_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/pcie_cable_card10/cxp_top",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/cablecard10_cxp_top_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/cablecard10_cxp_top_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/pcie_cable_card10/cxp_bot",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/cablecard10_cxp_bot_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/cablecard10_cxp_bot_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/disk_backplane0",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/dasd_pyramid0_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/dasd_pyramid0_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/disk_backplane1",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/dasd_pyramid1_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/dasd_pyramid1_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/disk_backplane2",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/dasd_pyramid2_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/dasd_pyramid2_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/disk_backplane0/nvme0",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/nvme0_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/nvme0_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/disk_backplane0/nvme1",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/nvme1_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/nvme1_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/disk_backplane0/nvme2",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/nvme2_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/nvme2_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/disk_backplane0/nvme3",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/nvme3_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/nvme3_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/disk_backplane0/nvme4",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/nvme4_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/nvme4_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/disk_backplane0/nvme5",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/nvme5_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/nvme5_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/disk_backplane0/nvme6",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/nvme6_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/nvme6_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/disk_backplane0/nvme7",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/nvme7_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/nvme7_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/disk_backplane1/nvme0",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/nvme8_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/nvme8_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/disk_backplane1/nvme1",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/nvme9_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/nvme9_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/disk_backplane1/nvme2",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/nvme10_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/nvme10_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/disk_backplane1/nvme3",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/nvme11_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/nvme11_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/disk_backplane1/nvme4",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/nvme12_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/nvme12_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/disk_backplane1/nvme5",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/nvme13_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/nvme13_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/disk_backplane1/nvme6",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/nvme14_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/nvme14_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/disk_backplane1/nvme7",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/nvme15_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/nvme15_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/disk_backplane2/nvme0",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/nvme16_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/nvme16_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/disk_backplane2/nvme1",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/nvme17_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/nvme17_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/disk_backplane2/nvme2",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/nvme18_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/nvme18_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/disk_backplane2/nvme3",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/nvme19_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/nvme19_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/disk_backplane2/nvme4",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/nvme20_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/nvme20_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/disk_backplane2/nvme5",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/nvme21_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/nvme21_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/disk_backplane2/nvme6",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/nvme22_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/nvme22_identify"
+                    ]
+                }
+            ]
+        },
+        {
+            "path": "system/chassis/motherboard/disk_backplane2/nvme7",
+            "endpoints":
+            [
+                {
+                    "types":
+                    {
+                        "rType": "fault_inventory_object",
+                        "fType": "fault_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/nvme23_fault"
+                    ]
+                },
+                {
+                    "types":
+                    {
+                        "rType": "identify_inventory_object",
+                        "fType": "identify_led_group"
+                    },
+                    "paths":
+                    [
+                        "/xyz/openbmc_project/led/groups/nvme23_identify"
+                    ]
+                }
+            ]
+        }
+    ]
+}
diff --git a/meta-ibm/recipes-phosphor/inventory/phosphor-inventory-manager/rainier/ibm,everest_associations.json b/meta-ibm/recipes-phosphor/inventory/phosphor-inventory-manager/rainier/ibm,everest_associations.json
deleted file mode 100644
index bf797d94c..000000000
--- a/meta-ibm/recipes-phosphor/inventory/phosphor-inventory-manager/rainier/ibm,everest_associations.json
+++ /dev/null
@@ -1,111 +0,0 @@
-{
-    "condition":
-    {
-        "path": "system/chassis/motherboard",
-        "interface": "com.ibm.ipzvpd.VSBP",
-        "property": "IM",
-        "values": [
-            [80, 0, 48, 0]
-        ]
-    },
-    "associations":
-    [
-        {
-            "path": "system/chassis/motherboard/fan0",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "inventory",
-                        "fType": "sensors"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/sensors/fan_tach/fan0_0",
-                        "/xyz/openbmc_project/sensors/fan_tach/fan0_1"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/fan1",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "inventory",
-                        "fType": "sensors"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/sensors/fan_tach/fan1_0",
-                        "/xyz/openbmc_project/sensors/fan_tach/fan1_1"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/fan2",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "inventory",
-                        "fType": "sensors"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/sensors/fan_tach/fan2_0",
-                        "/xyz/openbmc_project/sensors/fan_tach/fan2_1"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/fan3",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "inventory",
-                        "fType": "sensors"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/sensors/fan_tach/fan3_0",
-                        "/xyz/openbmc_project/sensors/fan_tach/fan3_1"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "chassis",
-                        "fType": "all_sensors"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/sensors/fan_tach/fan0_0",
-                        "/xyz/openbmc_project/sensors/fan_tach/fan0_1",
-                        "/xyz/openbmc_project/sensors/fan_tach/fan1_0",
-                        "/xyz/openbmc_project/sensors/fan_tach/fan1_1",
-                        "/xyz/openbmc_project/sensors/fan_tach/fan2_0",
-                        "/xyz/openbmc_project/sensors/fan_tach/fan2_1",
-                        "/xyz/openbmc_project/sensors/fan_tach/fan3_0",
-                        "/xyz/openbmc_project/sensors/fan_tach/fan3_1"
-                    ]
-                }
-            ]
-        }
-    ]
-}
-
diff --git a/meta-ibm/recipes-phosphor/inventory/phosphor-inventory-manager/rainier/ibm,rainier-2u_associations.json b/meta-ibm/recipes-phosphor/inventory/phosphor-inventory-manager/rainier/ibm,rainier-2u_associations.json
deleted file mode 100644
index 348cb9755..000000000
--- a/meta-ibm/recipes-phosphor/inventory/phosphor-inventory-manager/rainier/ibm,rainier-2u_associations.json
+++ /dev/null
@@ -1,2857 +0,0 @@
-{
-    "condition":
-    {
-        "path": "system/chassis/motherboard",
-        "interface": "com.ibm.ipzvpd.VSBP",
-        "property": "IM",
-        "values": [
-            [80, 0, 16, 1],
-            [80, 0, 16, 3]
-        ]
-    },
-    "associations":
-    [
-        {
-            "path": "system/chassis/motherboard/fan0",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "inventory",
-                        "fType": "sensors"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/sensors/fan_tach/fan0_0",
-                        "/xyz/openbmc_project/sensors/fan_tach/fan0_1"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/fan0_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/fan0_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/fan1",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "inventory",
-                        "fType": "sensors"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/sensors/fan_tach/fan1_0",
-                        "/xyz/openbmc_project/sensors/fan_tach/fan1_1"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/fan1_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/fan1_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/fan2",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "inventory",
-                        "fType": "sensors"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/sensors/fan_tach/fan2_0",
-                        "/xyz/openbmc_project/sensors/fan_tach/fan2_1"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/fan2_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/fan2_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/fan3",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "inventory",
-                        "fType": "sensors"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/sensors/fan_tach/fan3_0",
-                        "/xyz/openbmc_project/sensors/fan_tach/fan3_1"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/fan3_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/fan3_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/fan4",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "inventory",
-                        "fType": "sensors"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/sensors/fan_tach/fan4_0",
-                        "/xyz/openbmc_project/sensors/fan_tach/fan4_1"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/fan4_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/fan4_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/fan5",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "inventory",
-                        "fType": "sensors"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/sensors/fan_tach/fan5_0",
-                        "/xyz/openbmc_project/sensors/fan_tach/fan5_1"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/fan5_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/fan5_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "chassis",
-                        "fType": "all_sensors"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/sensors/fan_tach/fan0_0",
-                        "/xyz/openbmc_project/sensors/fan_tach/fan0_1",
-                        "/xyz/openbmc_project/sensors/fan_tach/fan1_0",
-                        "/xyz/openbmc_project/sensors/fan_tach/fan1_1",
-                        "/xyz/openbmc_project/sensors/fan_tach/fan2_0",
-                        "/xyz/openbmc_project/sensors/fan_tach/fan2_1",
-                        "/xyz/openbmc_project/sensors/fan_tach/fan3_0",
-                        "/xyz/openbmc_project/sensors/fan_tach/fan3_1",
-                        "/xyz/openbmc_project/sensors/fan_tach/fan4_0",
-                        "/xyz/openbmc_project/sensors/fan_tach/fan4_1"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/powersupply0",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/powersupply0_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/powersupply0_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/powersupply1",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/powersupply1_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/powersupply1_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/planar_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/planar_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/base_op_panel_blyth",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/base_blyth_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/base_blyth_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/lcd_op_panel_hill",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/lcd_russel_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/lcd_russel_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/ebmc_card_bmc",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/bmc_ingraham_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/bmc_ingraham_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/cpu0",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/cpu0_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/cpu0_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/cpu1",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/cpu0_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/cpu0_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/cpu2",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/cpu1_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/cpu1_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/cpu3",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/cpu1_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/cpu1_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/dimm0",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm0_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm0_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/dimm1",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm1_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm1_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/dimm2",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm2_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm2_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/dimm3",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm3_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm3_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/dimm4",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm4_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm4_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/dimm5",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm5_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm5_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/dimm6",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm6_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm6_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/dimm7",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm7_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm7_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/dimm8",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm8_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm8_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/dimm9",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm9_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm9_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/dimm10",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm10_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm10_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/dimm11",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm11_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm11_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/dimm12",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm12_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm12_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/dimm13",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm13_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm13_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/dimm14",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm14_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm14_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/dimm15",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm15_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm15_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/dimm16",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm16_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm16_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/dimm17",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm17_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm17_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/dimm18",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm18_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm18_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/dimm19",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm19_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm19_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/dimm20",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm20_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm20_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/dimm21",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm21_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm21_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/dimm22",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm22_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm22_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/dimm23",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm23_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm23_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/dimm24",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm24_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm24_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/dimm25",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm25_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm25_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/dimm26",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm26_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm26_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/dimm27",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm27_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm27_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/dimm28",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm28_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm28_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/dimm29",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm29_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm29_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/dimm30",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm30_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm30_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/dimm31",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm31_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm31_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/vdd_vrm0",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/cpu0_vrm0_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/cpu0_vrm0_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/vdd_vrm1",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/cpu1_vrm0_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/cpu1_vrm0_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/tod_battery",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/rtc_battery_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/rtc_battery_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/tpm_wilson",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/tpm_wilson_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/tpm_wilson_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/pcieslot0",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/pcieslot0_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/pcieslot0_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/pcieslot1",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/pcieslot1_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/pcieslot1_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/pcieslot2",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/pcieslot2_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/pcieslot2_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/pcieslot3",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/pcieslot3_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/pcieslot3_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/pcieslot4",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/pcieslot4_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/pcieslot4_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/pcieslot6",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/pcieslot6_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/pcieslot6_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/pcieslot7",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/pcieslot7_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/pcieslot7_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/pcieslot8",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/pcieslot8_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/pcieslot8_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/pcieslot9",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/pcieslot9_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/pcieslot9_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/pcieslot10",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/pcieslot10_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/pcieslot10_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/pcieslot11",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/pcieslot11_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/pcieslot11_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/pcie_cable_card0/cxp_top",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/cablecard0_cxp_top_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/cablecard0_cxp_top_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/pcie_cable_card0/cxp_bot",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/cablecard0_cxp_bot_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/cablecard0_cxp_bot_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/pcie_cable_card3/cxp_top",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/cablecard3_cxp_top_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/cablecard3_cxp_top_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/pcie_cable_card3/cxp_bot",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/cablecard3_cxp_bot_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/cablecard3_cxp_bot_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/pcie_cable_card4/cxp_top",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/cablecard4_cxp_top_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/cablecard4_cxp_top_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/pcie_cable_card4/cxp_bot",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/cablecard4_cxp_bot_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/cablecard4_cxp_bot_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/pcie_cable_card10/cxp_top",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/cablecard10_cxp_top_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/cablecard10_cxp_top_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/pcie_cable_card10/cxp_bot",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/cablecard10_cxp_bot_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/cablecard10_cxp_bot_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/disk_backplane0",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/dasd_pyramid0_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/dasd_pyramid0_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/disk_backplane1",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/dasd_pyramid1_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/dasd_pyramid1_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/disk_backplane2",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/dasd_pyramid2_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/dasd_pyramid2_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/disk_backplane0/nvme0",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/nvme0_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/nvme0_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/disk_backplane0/nvme1",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/nvme1_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/nvme1_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/disk_backplane0/nvme2",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/nvme2_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/nvme2_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/disk_backplane0/nvme3",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/nvme3_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/nvme3_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/disk_backplane0/nvme4",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/nvme4_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/nvme4_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/disk_backplane0/nvme5",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/nvme5_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/nvme5_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/disk_backplane0/nvme6",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/nvme6_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/nvme6_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/disk_backplane0/nvme7",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/nvme7_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/nvme7_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/disk_backplane1/nvme0",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/nvme8_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/nvme8_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/disk_backplane1/nvme1",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/nvme9_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/nvme9_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/disk_backplane1/nvme2",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/nvme10_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/nvme10_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/disk_backplane1/nvme3",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/nvme11_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/nvme11_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/disk_backplane1/nvme4",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/nvme12_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/nvme12_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/disk_backplane1/nvme5",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/nvme13_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/nvme13_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/disk_backplane1/nvme6",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/nvme14_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/nvme14_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/disk_backplane1/nvme7",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/nvme15_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/nvme15_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/disk_backplane2/nvme0",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/nvme16_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/nvme16_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/disk_backplane2/nvme1",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/nvme17_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/nvme17_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/disk_backplane2/nvme2",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/nvme18_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/nvme18_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/disk_backplane2/nvme3",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/nvme19_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/nvme19_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/disk_backplane2/nvme4",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/nvme20_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/nvme20_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/disk_backplane2/nvme5",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/nvme21_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/nvme21_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/disk_backplane2/nvme6",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/nvme22_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/nvme22_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/disk_backplane2/nvme7",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/nvme23_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/nvme23_identify"
-                    ]
-                }
-            ]
-        }
-    ]
-}
diff --git a/meta-ibm/recipes-phosphor/inventory/phosphor-inventory-manager/rainier/ibm,rainier-4u_associations.json b/meta-ibm/recipes-phosphor/inventory/phosphor-inventory-manager/rainier/ibm,rainier-4u_associations.json
deleted file mode 100644
index 7841a966a..000000000
--- a/meta-ibm/recipes-phosphor/inventory/phosphor-inventory-manager/rainier/ibm,rainier-4u_associations.json
+++ /dev/null
@@ -1,2846 +0,0 @@
-{
-    "condition":
-    {
-        "path": "system/chassis/motherboard",
-        "interface": "com.ibm.ipzvpd.VSBP",
-        "property": "IM",
-        "values": [
-            [80, 0, 16, 0],
-            [80, 0, 16, 2]
-        ]
-    },
-    "associations":
-    [
-        {
-            "path": "system/chassis/motherboard/fan0",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "inventory",
-                        "fType": "sensors"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/sensors/fan_tach/fan0_0"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/fan0_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/fan0_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/fan1",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "inventory",
-                        "fType": "sensors"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/sensors/fan_tach/fan1_0"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/fan1_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/fan1_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/fan2",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "inventory",
-                        "fType": "sensors"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/sensors/fan_tach/fan2_0"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/fan2_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/fan2_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/fan3",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "inventory",
-                        "fType": "sensors"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/sensors/fan_tach/fan3_0"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/fan3_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/fan3_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/fan4",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "inventory",
-                        "fType": "sensors"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/sensors/fan_tach/fan4_0"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/fan4_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/fan4_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/fan5",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "inventory",
-                        "fType": "sensors"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/sensors/fan_tach/fan5_0"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/fan5_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/fan5_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "chassis",
-                        "fType": "all_sensors"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/sensors/fan_tach/fan0_0",
-                        "/xyz/openbmc_project/sensors/fan_tach/fan1_0",
-                        "/xyz/openbmc_project/sensors/fan_tach/fan2_0",
-                        "/xyz/openbmc_project/sensors/fan_tach/fan3_0",
-                        "/xyz/openbmc_project/sensors/fan_tach/fan4_0"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/powersupply0",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/powersupply0_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/powersupply0_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/powersupply1",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/powersupply1_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/powersupply1_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/planar_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/planar_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/base_op_panel_blyth",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/base_blyth_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/base_blyth_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/lcd_op_panel_hill",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/lcd_russel_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/lcd_russel_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/ebmc_card_bmc",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/bmc_ingraham_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/bmc_ingraham_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/cpu0",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/cpu0_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/cpu0_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/cpu1",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/cpu0_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/cpu0_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/cpu2",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/cpu1_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/cpu1_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/cpu3",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/cpu1_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/cpu1_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/dimm0",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm0_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm0_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/dimm1",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm1_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm1_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/dimm2",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm2_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm2_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/dimm3",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm3_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm3_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/dimm4",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm4_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm4_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/dimm5",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm5_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm5_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/dimm6",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm6_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm6_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/dimm7",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm7_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm7_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/dimm8",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm8_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm8_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/dimm9",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm9_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm9_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/dimm10",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm10_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm10_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/dimm11",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm11_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm11_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/dimm12",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm12_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm12_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/dimm13",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm13_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm13_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/dimm14",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm14_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm14_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/dimm15",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm15_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm15_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/dimm16",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm16_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm16_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/dimm17",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm17_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm17_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/dimm18",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm18_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm18_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/dimm19",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm19_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm19_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/dimm20",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm20_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm20_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/dimm21",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm21_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm21_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/dimm22",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm22_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm22_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/dimm23",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm23_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm23_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/dimm24",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm24_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm24_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/dimm25",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm25_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm25_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/dimm26",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm26_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm26_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/dimm27",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm27_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm27_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/dimm28",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm28_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm28_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/dimm29",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm29_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm29_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/dimm30",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm30_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm30_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/dimm31",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm31_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/ddimm31_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/vdd_vrm0",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/cpu0_vrm0_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/cpu0_vrm0_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/vdd_vrm1",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/cpu1_vrm0_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/cpu1_vrm0_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/tod_battery",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/rtc_battery_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/rtc_battery_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/tpm_wilson",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/tpm_wilson_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/tpm_wilson_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/pcieslot0",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/pcieslot0_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/pcieslot0_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/pcieslot1",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/pcieslot1_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/pcieslot1_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/pcieslot2",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/pcieslot2_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/pcieslot2_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/pcieslot3",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/pcieslot3_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/pcieslot3_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/pcieslot4",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/pcieslot4_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/pcieslot4_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/pcieslot6",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/pcieslot6_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/pcieslot6_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/pcieslot7",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/pcieslot7_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/pcieslot7_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/pcieslot8",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/pcieslot8_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/pcieslot8_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/pcieslot9",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/pcieslot9_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/pcieslot9_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/pcieslot10",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/pcieslot10_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/pcieslot10_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/pcieslot11",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/pcieslot11_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/pcieslot11_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/pcie_cable_card0/cxp_top",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/cablecard0_cxp_top_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/cablecard0_cxp_top_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/pcie_cable_card0/cxp_bot",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/cablecard0_cxp_bot_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/cablecard0_cxp_bot_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/pcie_cable_card3/cxp_top",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/cablecard3_cxp_top_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/cablecard3_cxp_top_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/pcie_cable_card3/cxp_bot",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/cablecard3_cxp_bot_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/cablecard3_cxp_bot_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/pcie_cable_card4/cxp_top",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/cablecard4_cxp_top_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/cablecard4_cxp_top_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/pcie_cable_card4/cxp_bot",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/cablecard4_cxp_bot_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/cablecard4_cxp_bot_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/pcie_cable_card10/cxp_top",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/cablecard10_cxp_top_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/cablecard10_cxp_top_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/pcie_cable_card10/cxp_bot",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/cablecard10_cxp_bot_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/cablecard10_cxp_bot_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/disk_backplane0",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/dasd_pyramid0_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/dasd_pyramid0_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/disk_backplane1",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/dasd_pyramid1_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/dasd_pyramid1_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/disk_backplane2",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/dasd_pyramid2_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/dasd_pyramid2_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/disk_backplane0/nvme0",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/nvme0_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/nvme0_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/disk_backplane0/nvme1",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/nvme1_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/nvme1_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/disk_backplane0/nvme2",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/nvme2_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/nvme2_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/disk_backplane0/nvme3",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/nvme3_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/nvme3_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/disk_backplane0/nvme4",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/nvme4_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/nvme4_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/disk_backplane0/nvme5",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/nvme5_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/nvme5_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/disk_backplane0/nvme6",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/nvme6_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/nvme6_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/disk_backplane0/nvme7",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/nvme7_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/nvme7_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/disk_backplane1/nvme0",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/nvme8_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/nvme8_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/disk_backplane1/nvme1",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/nvme9_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/nvme9_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/disk_backplane1/nvme2",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/nvme10_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/nvme10_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/disk_backplane1/nvme3",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/nvme11_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/nvme11_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/disk_backplane1/nvme4",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/nvme12_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/nvme12_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/disk_backplane1/nvme5",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/nvme13_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/nvme13_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/disk_backplane1/nvme6",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/nvme14_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/nvme14_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/disk_backplane1/nvme7",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/nvme15_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/nvme15_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/disk_backplane2/nvme0",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/nvme16_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/nvme16_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/disk_backplane2/nvme1",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/nvme17_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/nvme17_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/disk_backplane2/nvme2",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/nvme18_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/nvme18_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/disk_backplane2/nvme3",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/nvme19_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/nvme19_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/disk_backplane2/nvme4",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/nvme20_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/nvme20_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/disk_backplane2/nvme5",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/nvme21_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/nvme21_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/disk_backplane2/nvme6",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/nvme22_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/nvme22_identify"
-                    ]
-                }
-            ]
-        },
-        {
-            "path": "system/chassis/motherboard/disk_backplane2/nvme7",
-            "endpoints":
-            [
-                {
-                    "types":
-                    {
-                        "rType": "fault_inventory_object",
-                        "fType": "fault_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/nvme23_fault"
-                    ]
-                },
-                {
-                    "types":
-                    {
-                        "rType": "identify_inventory_object",
-                        "fType": "identify_led_group"
-                    },
-                    "paths":
-                    [
-                        "/xyz/openbmc_project/led/groups/nvme23_identify"
-                    ]
-                }
-            ]
-        }
-    ]
-}
diff --git a/meta-ibm/recipes-phosphor/inventory/phosphor-inventory-manager_%.bbappend b/meta-ibm/recipes-phosphor/inventory/phosphor-inventory-manager_%.bbappend
index af512973a..607546b9d 100644
--- a/meta-ibm/recipes-phosphor/inventory/phosphor-inventory-manager_%.bbappend
+++ b/meta-ibm/recipes-phosphor/inventory/phosphor-inventory-manager_%.bbappend
@@ -3,8 +3,8 @@ PACKAGECONFIG_append_ibm-ac-server = " associations"
 SRC_URI_append_ibm-ac-server = " file://associations.json"
 DEPENDS_append_ibm-ac-server = " inventory-cleanup"
 
-PACKAGECONFIG_append_rainier = " associations"
-SRC_URI_append_rainier = " \
+PACKAGECONFIG_append_p10bmc = " associations"
+SRC_URI_append_p10bmc = " \
     file://ibm,rainier-2u_associations.json \
     file://ibm,rainier-4u_associations.json \
     file://ibm,everest_associations.json \
@@ -15,7 +15,7 @@ do_install_append_ibm-ac-server() {
     install -m 0755 ${WORKDIR}/associations.json ${D}${base_datadir}/associations.json
 }
 
-do_install_append_rainier() {
+do_install_append_p10bmc() {
     install -d ${D}${base_datadir}
     install -m 0755 ${WORKDIR}/ibm,rainier-2u_associations.json ${D}${base_datadir}/ibm,rainier-2u_associations.json
     install -m 0755 ${WORKDIR}/ibm,rainier-4u_associations.json ${D}${base_datadir}/ibm,rainier-4u_associations.json
-- 
cgit v1.2.3


From 999c9e7a9698ccaca6b1834f608f9dd822d70d58 Mon Sep 17 00:00:00 2001
From: Adriana Kobylak 
Date: Thu, 25 Mar 2021 16:35:45 +0000
Subject: ibm: kernel: Replace rainier with p10bmc

The IBM rainier system is being replaced with the generic p10bmc name.
Since the rainier.conf file will be renamed p10bmc.conf, add the device
tree files for all p10 systems that will be supported with the p10bmc
name (rainier, everest).

Change-Id: I10983b913d8a2ae98ed4d327131b864f2df96a0c
Signed-off-by: Adriana Kobylak 
---
 meta-ibm/conf/machine/rainier.conf                     |  2 +-
 meta-ibm/recipes-kernel/linux/linux-aspeed/p10bmc.cfg  | 12 ++++++++++++
 meta-ibm/recipes-kernel/linux/linux-aspeed/rainier.cfg | 12 ------------
 meta-ibm/recipes-kernel/linux/linux-aspeed_%.bbappend  |  2 +-
 4 files changed, 14 insertions(+), 14 deletions(-)
 create mode 100644 meta-ibm/recipes-kernel/linux/linux-aspeed/p10bmc.cfg
 delete mode 100644 meta-ibm/recipes-kernel/linux/linux-aspeed/rainier.cfg

diff --git a/meta-ibm/conf/machine/rainier.conf b/meta-ibm/conf/machine/rainier.conf
index 19df5be83..f7f08dd08 100644
--- a/meta-ibm/conf/machine/rainier.conf
+++ b/meta-ibm/conf/machine/rainier.conf
@@ -1,4 +1,4 @@
-KERNEL_DEVICETREE = "aspeed-bmc-ibm-rainier.dtb"
+KERNEL_DEVICETREE = "aspeed-bmc-ibm-rainier.dtb aspeed-bmc-ibm-rainier-4u.dtb aspeed-bmc-ibm-everest.dtb"
 UBOOT_MACHINE = "ast2600_openbmc_spl_emmc_defconfig"
 UBOOT_DEVICETREE = "ast2600-rainier"
 SPL_BINARY = "spl/u-boot-spl.bin"
diff --git a/meta-ibm/recipes-kernel/linux/linux-aspeed/p10bmc.cfg b/meta-ibm/recipes-kernel/linux/linux-aspeed/p10bmc.cfg
new file mode 100644
index 000000000..f3c581eac
--- /dev/null
+++ b/meta-ibm/recipes-kernel/linux/linux-aspeed/p10bmc.cfg
@@ -0,0 +1,12 @@
+CONFIG_SENSORS_IIO_HWMON=y
+CONFIG_SENSORS_TMP401=y
+CONFIG_SENSORS_TMP421=y
+CONFIG_SENSORS_MAX31785=y
+CONFIG_SENSORS_UCD9000=y
+CONFIG_RTC_DRV_RV8803=y
+CONFIG_IIO=y
+CONFIG_BMP280=y
+CONFIG_PSTORE=y
+CONFIG_PSTORE_CONSOLE=y
+CONFIG_PSTORE_PMSG=y
+CONFIG_PSTORE_RAM=y
diff --git a/meta-ibm/recipes-kernel/linux/linux-aspeed/rainier.cfg b/meta-ibm/recipes-kernel/linux/linux-aspeed/rainier.cfg
deleted file mode 100644
index f3c581eac..000000000
--- a/meta-ibm/recipes-kernel/linux/linux-aspeed/rainier.cfg
+++ /dev/null
@@ -1,12 +0,0 @@
-CONFIG_SENSORS_IIO_HWMON=y
-CONFIG_SENSORS_TMP401=y
-CONFIG_SENSORS_TMP421=y
-CONFIG_SENSORS_MAX31785=y
-CONFIG_SENSORS_UCD9000=y
-CONFIG_RTC_DRV_RV8803=y
-CONFIG_IIO=y
-CONFIG_BMP280=y
-CONFIG_PSTORE=y
-CONFIG_PSTORE_CONSOLE=y
-CONFIG_PSTORE_PMSG=y
-CONFIG_PSTORE_RAM=y
diff --git a/meta-ibm/recipes-kernel/linux/linux-aspeed_%.bbappend b/meta-ibm/recipes-kernel/linux/linux-aspeed_%.bbappend
index dfd3afded..5ba22e3a7 100644
--- a/meta-ibm/recipes-kernel/linux/linux-aspeed_%.bbappend
+++ b/meta-ibm/recipes-kernel/linux/linux-aspeed_%.bbappend
@@ -1,4 +1,4 @@
 FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
 SRC_URI_append_ibm-ac-server = " file://witherspoon.cfg"
-SRC_URI_append_rainier = " file://rainier.cfg"
+SRC_URI_append_p10bmc = " file://p10bmc.cfg"
 SRC_URI_append_mihawk = " file://mihawk.cfg"
-- 
cgit v1.2.3


From a433d8ef9fc03b653a770634624ac2ae084cf0b0 Mon Sep 17 00:00:00 2001
From: Adriana Kobylak 
Date: Thu, 1 Apr 2021 14:59:43 +0000
Subject: ibm: Create p10bmc build target

Replace rainier with p10bmc as build target. Keep the rainier.conf as a
symlink to p10bmc.conf to allow the transition. Remove the rainier.conf
and the machine override from p10bmc.conf in a later commit to complete
the replacement.

Tested: Built rainier and p10bmc and checked for some files/service
        units to exist on both.

Change-Id: Ic8c8c6ffbc3507fbd9c692da259e37ae695359a6
Signed-off-by: Adriana Kobylak 
---
 README.md                          |  2 +-
 meta-ibm/conf/conf-notes.txt       |  4 ++--
 meta-ibm/conf/local.conf.sample    |  2 +-
 meta-ibm/conf/machine/p10bmc.conf  | 35 +++++++++++++++++++++++++++++++++++
 meta-ibm/conf/machine/rainier.conf | 35 +----------------------------------
 5 files changed, 40 insertions(+), 38 deletions(-)
 create mode 100644 meta-ibm/conf/machine/p10bmc.conf
 mode change 100644 => 120000 meta-ibm/conf/machine/rainier.conf

diff --git a/README.md b/README.md
index 6ae7bfed0..8678e09c6 100644
--- a/README.md
+++ b/README.md
@@ -55,7 +55,7 @@ gsj                     on5263m5                   vesnin
 hr630                   palmetto                   witherspoon
 hr855xg2                qemuarm                    witherspoon-128
 lanyang                 quanta-q71l                witherspoon-tacoma
-mihawk                  rainier                    yosemitev2
+mihawk                  p10bmc                     yosemitev2
 msn                     romulus                    zaius
 neptune                 s2600wf
 ```
diff --git a/meta-ibm/conf/conf-notes.txt b/meta-ibm/conf/conf-notes.txt
index f56b88b1b..d4578dcf4 100644
--- a/meta-ibm/conf/conf-notes.txt
+++ b/meta-ibm/conf/conf-notes.txt
@@ -2,11 +2,11 @@ Example build invocations:
 
 mihawk:
 DISTRO=openbmc-witherspoon MACHINE=mihawk bitbake obmc-phosphor-image
+p10bmc:
+DISTRO=openbmc-openpower MACHINE=p10bmc bitbake obmc-phosphor-image
 swift:
 DISTRO=openbmc-witherspoon MACHINE=swift bitbake obmc-phosphor-image
 witherspoon:
 DISTRO=openbmc-witherspoon MACHINE=witherspoon bitbake obmc-phosphor-image
 witherspoon-tacoma:
 DISTRO=openbmc-openpower MACHINE=witherspoon-tacoma bitbake obmc-phosphor-image
-rainier:
-DISTRO=openbmc-openpower MACHINE=rainier bitbake obmc-phosphor-image
diff --git a/meta-ibm/conf/local.conf.sample b/meta-ibm/conf/local.conf.sample
index 4b70cade4..9f2228b80 100644
--- a/meta-ibm/conf/local.conf.sample
+++ b/meta-ibm/conf/local.conf.sample
@@ -1,6 +1,6 @@
 #MACHINE ?= "mihawk"
+#MACHINE ?= "p10bmc"
 #MACHINE ?= "swift"
-#MACHINE ?= "rainier"
 MACHINE ??= "witherspoon"
 DISTRO ?= "openbmc-witherspoon"
 PACKAGE_CLASSES ?= "package_rpm"
diff --git a/meta-ibm/conf/machine/p10bmc.conf b/meta-ibm/conf/machine/p10bmc.conf
new file mode 100644
index 000000000..22b59b426
--- /dev/null
+++ b/meta-ibm/conf/machine/p10bmc.conf
@@ -0,0 +1,35 @@
+KERNEL_DEVICETREE = "aspeed-bmc-ibm-rainier.dtb aspeed-bmc-ibm-rainier-4u.dtb aspeed-bmc-ibm-everest.dtb"
+UBOOT_MACHINE = "ast2600_openbmc_spl_emmc_defconfig"
+UBOOT_DEVICETREE = "ast2600-rainier"
+SPL_BINARY = "spl/u-boot-spl.bin"
+
+OBMC_POWER_SUPPLY_INSTANCES = "0 1 2 3"
+
+# TODO remove the MACHINEOVERRIDES when the rainier.conf file is removed.
+MACHINEOVERRIDES =. "p10bmc:"
+require conf/machine/include/ast2600.inc
+require conf/machine/include/obmc-bsp-common.inc
+require conf/machine/include/openpower.inc
+include conf/machine/include/ibm-power10-cpu.inc
+require conf/distro/include/openpower-virtual-pnor.inc
+require conf/distro/include/phosphor-mmc.inc
+require conf/distro/include/ibm-mpreboot.inc
+
+SERIAL_CONSOLES = "115200;ttyS4"
+
+MRW_XML = "witherspoon.xml"
+PHOSPHOR_MRW_LICENSE = "Apache-2.0"
+PHOSPHOR_MRW_LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
+PHOSPHOR_MRW_URI = "git://github.com/open-power/witherspoon-xml"
+PHOSPHOR_MRW_REV = "c622cb5a5dd3ebc2a4eef558d1b70740f914e6f7"
+
+VIRTUAL-RUNTIME_phosphor-hwmon-config_df-mrw = ""
+
+PREFERRED_PROVIDER_virtual/phosphor-fan-control-fan-config_df-mrw = \
+    "phosphor-fan-control-fan-config"
+PREFERRED_PROVIDER_virtual/phosphor-fan-presence-config_df-mrw = \
+    "phosphor-fan-presence-config"
+
+SKIP_BROKEN_MRW = "1"
+
+IMAGE_FEATURES_remove = "obmc-ikvm"
diff --git a/meta-ibm/conf/machine/rainier.conf b/meta-ibm/conf/machine/rainier.conf
deleted file mode 100644
index f7f08dd08..000000000
--- a/meta-ibm/conf/machine/rainier.conf
+++ /dev/null
@@ -1,34 +0,0 @@
-KERNEL_DEVICETREE = "aspeed-bmc-ibm-rainier.dtb aspeed-bmc-ibm-rainier-4u.dtb aspeed-bmc-ibm-everest.dtb"
-UBOOT_MACHINE = "ast2600_openbmc_spl_emmc_defconfig"
-UBOOT_DEVICETREE = "ast2600-rainier"
-SPL_BINARY = "spl/u-boot-spl.bin"
-
-OBMC_POWER_SUPPLY_INSTANCES = "0 1 2 3"
-
-MACHINEOVERRIDES =. "p10bmc:"
-require conf/machine/include/ast2600.inc
-require conf/machine/include/obmc-bsp-common.inc
-require conf/machine/include/openpower.inc
-include conf/machine/include/ibm-power10-cpu.inc
-require conf/distro/include/openpower-virtual-pnor.inc
-require conf/distro/include/phosphor-mmc.inc
-require conf/distro/include/ibm-mpreboot.inc
-
-SERIAL_CONSOLES = "115200;ttyS4"
-
-MRW_XML = "witherspoon.xml"
-PHOSPHOR_MRW_LICENSE = "Apache-2.0"
-PHOSPHOR_MRW_LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
-PHOSPHOR_MRW_URI = "git://github.com/open-power/witherspoon-xml"
-PHOSPHOR_MRW_REV = "c622cb5a5dd3ebc2a4eef558d1b70740f914e6f7"
-
-VIRTUAL-RUNTIME_phosphor-hwmon-config_df-mrw = ""
-
-PREFERRED_PROVIDER_virtual/phosphor-fan-control-fan-config_df-mrw = \
-    "phosphor-fan-control-fan-config"
-PREFERRED_PROVIDER_virtual/phosphor-fan-presence-config_df-mrw = \
-    "phosphor-fan-presence-config"
-
-SKIP_BROKEN_MRW = "1"
-
-IMAGE_FEATURES_remove = "obmc-ikvm"
diff --git a/meta-ibm/conf/machine/rainier.conf b/meta-ibm/conf/machine/rainier.conf
new file mode 120000
index 000000000..ddfb6ec6d
--- /dev/null
+++ b/meta-ibm/conf/machine/rainier.conf
@@ -0,0 +1 @@
+p10bmc.conf
\ No newline at end of file
-- 
cgit v1.2.3


From 6e77b406bfcc73753a1c35a80f552a05d29b0656 Mon Sep 17 00:00:00 2001
From: Adriana Kobylak 
Date: Thu, 25 Mar 2021 16:44:27 +0000
Subject: ibm: led-manager: Replace rainier with p10bmc

The IBM rainier machine name is being replaced with the generic p10bmc.

Tested: Verified the rainier build included the expected service files
and LED override file, example:
- rainier-openbmc-linux-gnueabi/obmc-phosphor-image/1.0-r0/rootfs/usr/share/phosphor-led-manager/lamp-test-led-overrides.json

Change-Id: I8f9ecbc6ebe1d320a649b24bf71c5023cfc035c8
Signed-off-by: Adriana Kobylak 
---
 .../leds/phosphor-led-manager_%.bbappend               | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/meta-ibm/recipes-phosphor/leds/phosphor-led-manager_%.bbappend b/meta-ibm/recipes-phosphor/leds/phosphor-led-manager_%.bbappend
index a41f12a34..0ae5474e8 100644
--- a/meta-ibm/recipes-phosphor/leds/phosphor-led-manager_%.bbappend
+++ b/meta-ibm/recipes-phosphor/leds/phosphor-led-manager_%.bbappend
@@ -1,18 +1,18 @@
 FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
 
-SYSTEMD_SERVICE_${PN}_append_rainier += "obmc-led-set-all-groups-asserted@.service obmc-led-create-virtual-leds@.service"
+SYSTEMD_SERVICE_${PN}_append_p10bmc += "obmc-led-set-all-groups-asserted@.service obmc-led-create-virtual-leds@.service"
 
 # Copies config file having arguments for led-set-all-groups-asserted.sh
-SYSTEMD_ENVIRONMENT_FILE_${PN}_append_rainier +="obmc/led/set-all/groups/config"
+SYSTEMD_ENVIRONMENT_FILE_${PN}_append_p10bmc +="obmc/led/set-all/groups/config"
 
 # Use the JSON configuration file at runtime than the static led.yaml
-# Also, enable Lamp Test feature for rainier systems
-PACKAGECONFIG_append_rainier = " use-json use-lamp-test"
+# Also, enable Lamp Test feature for p10bmc systems
+PACKAGECONFIG_append_p10bmc = " use-json use-lamp-test"
 
-# Install the lamp test override file for rainier
-SRC_URI_append_rainier = " file://lamp-test-led-overrides.json"
+# Install the lamp test override file for p10bmc
+SRC_URI_append_p10bmc = " file://lamp-test-led-overrides.json"
 
-pkg_postinst_${PN}_rainier () {
+pkg_postinst_${PN}_p10bmc () {
 
     # Needed this to run as part of BMC boot
     mkdir -p $D$systemd_system_unitdir/multi-user.target.wants
@@ -39,7 +39,7 @@ pkg_postinst_${PN}_rainier () {
     ln -s $TARGET_ID $LINK_ID
 }
 
-pkg_prerm_${PN}_rainier () {
+pkg_prerm_${PN}_p10bmc () {
 
     LINK="$D$systemd_system_unitdir/multi-user.target.wants/obmc-led-set-all-groups-asserted@false.service"
     rm $LINK
@@ -55,7 +55,7 @@ pkg_prerm_${PN}_rainier () {
 }
 
 # Install lamp test override json
-do_install_append_rainier() {
+do_install_append_p10bmc() {
     install -d ${D}${datadir}/${BPN}/
     install -m 0644 ${WORKDIR}/lamp-test-led-overrides.json ${D}${datadir}/${BPN}/
 }
-- 
cgit v1.2.3


From ed6981eaf7a70858b9d080dd7c498d670546feef Mon Sep 17 00:00:00 2001
From: Matt Spinler 
Date: Wed, 31 Mar 2021 14:31:21 -0500
Subject: ibm: Add power button GPIO definition

This allows a power button press to power on the system.  Rainier and
Everest use the same GPIO.

Tested: Button was pressed and the system booted.

Signed-off-by: Matt Spinler 
Change-Id: Ib8f373dda2adb5575f2a0001d986962e5430fba5
---
 .../skeleton/obmc-libobmc-intf/p10bmc/gpio_defs.json                 | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/meta-ibm/recipes-phosphor/skeleton/obmc-libobmc-intf/p10bmc/gpio_defs.json b/meta-ibm/recipes-phosphor/skeleton/obmc-libobmc-intf/p10bmc/gpio_defs.json
index 296039502..654be093a 100644
--- a/meta-ibm/recipes-phosphor/skeleton/obmc-libobmc-intf/p10bmc/gpio_defs.json
+++ b/meta-ibm/recipes-phosphor/skeleton/obmc-libobmc-intf/p10bmc/gpio_defs.json
@@ -25,6 +25,11 @@
             "name": "SYS_PWROK_BUFF",
             "pin": "R2",
             "direction": "in"
+        },
+        {
+            "name": "POWER_BUTTON",
+            "pin": "P3",
+            "direction": "both"
         }
     ]
 }
-- 
cgit v1.2.3


From f949a3a2c27f847c124d8cd03c4187254ba38e96 Mon Sep 17 00:00:00 2001
From: Andrew Geissler 
Date: Thu, 8 Apr 2021 22:20:41 +0000
Subject: entity-manager: srcrev bump 97353ed262..086f19d287

John Wang (1):
      autojson.py: Check the sensor name

Josh Lehan (1):
      Add Timeout numeric parameter

Zev Weiss (1):
      Add Nuvoton w83773g temp-sensor to devices list

Change-Id: I4a0f2598c0c5b766e53f33d201457fa2e7577734
Signed-off-by: Andrew Geissler 
---
 meta-phosphor/recipes-phosphor/configuration/entity-manager_git.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta-phosphor/recipes-phosphor/configuration/entity-manager_git.bb b/meta-phosphor/recipes-phosphor/configuration/entity-manager_git.bb
index 0fb63f2ae..a492b3d00 100644
--- a/meta-phosphor/recipes-phosphor/configuration/entity-manager_git.bb
+++ b/meta-phosphor/recipes-phosphor/configuration/entity-manager_git.bb
@@ -3,7 +3,7 @@ DESCRIPTION = "Entity Manager provides d-bus configuration data \
 and configures system sensors"
 
 SRC_URI = "git://github.com/openbmc/entity-manager.git file://blocklist.json"
-SRCREV = "97353ed26200a7d1c29d8e85983fb7d9bd7b94aa"
+SRCREV = "086f19d287fdc7d7be9c52ad9aee7704e4f339f5"
 PV = "0.1+git${SRCPV}"
 
 LICENSE = "Apache-2.0"
-- 
cgit v1.2.3


From 9e093d620cbf55b6dc5bff13abecc4b09e164d18 Mon Sep 17 00:00:00 2001
From: Andrew Geissler 
Date: Wed, 7 Apr 2021 12:50:59 +0000
Subject: pldm: srcrev bump 61761d96ca..e7991b7532

Jayashankar Padath (1):
      bios: Add/remove bios attributes

Manojkiran Eda (1):
      Fix a possible null pointer dereference

Change-Id: I63522ef53c0124079544863a2a50f4c688659732
Signed-off-by: Andrew Geissler 
---
 meta-phosphor/recipes-phosphor/pldm/pldm.inc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta-phosphor/recipes-phosphor/pldm/pldm.inc b/meta-phosphor/recipes-phosphor/pldm/pldm.inc
index d719553b3..52b5f493c 100644
--- a/meta-phosphor/recipes-phosphor/pldm/pldm.inc
+++ b/meta-phosphor/recipes-phosphor/pldm/pldm.inc
@@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/pldm"
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
 SRC_URI = "git://github.com/openbmc/pldm"
-SRCREV = "61761d96ca16fc5b178caf3dec660d312d597f74"
+SRCREV = "e7991b75325dacafd9573d52eb722cfe390b6faf"
-- 
cgit v1.2.3


From 6f59044158729deae76fbdeedc63ccb6c16af570 Mon Sep 17 00:00:00 2001
From: Andrew Geissler 
Date: Wed, 7 Apr 2021 14:41:11 +0000
Subject: phosphor-power: srcrev bump 1553cd9a91..c12c53b985

Chanh Nguyen (1):
      psu-ng: Change the IBM_VPD checking condition

Change-Id: I1ec68a8580972208f472f1648a5c3782c309d65a
Signed-off-by: Andrew Geissler 
---
 meta-phosphor/recipes-phosphor/power/phosphor-power.inc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta-phosphor/recipes-phosphor/power/phosphor-power.inc b/meta-phosphor/recipes-phosphor/power/phosphor-power.inc
index c2d172fa6..d52475f5c 100644
--- a/meta-phosphor/recipes-phosphor/power/phosphor-power.inc
+++ b/meta-phosphor/recipes-phosphor/power/phosphor-power.inc
@@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/phosphor-power"
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
 SRC_URI += "git://github.com/openbmc/phosphor-power"
-SRCREV = "1553cd9a91df1d4cd0d1ba2feb53ba63004d3fdd"
+SRCREV = "c12c53b985b9ac12c3c83df47371e7c2c70ae21b"
-- 
cgit v1.2.3


From 22bb1b6c20af558963bf433812b6b73fb12d1914 Mon Sep 17 00:00:00 2001
From: Andrew Geissler 
Date: Wed, 7 Apr 2021 21:31:00 +0000
Subject: phosphor-host-ipmid: srcrev bump 3b7a4078ee..de54f486d6

Willy Tu (1):
      dbus-sdr: Initial Dynamic Sensor Stack

Change-Id: I6f9514a9d778015924fe121caf7056d6553e9138
Signed-off-by: Andrew Geissler 
---
 meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host.inc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host.inc b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host.inc
index 62b93f278..921277f75 100644
--- a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host.inc
+++ b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host.inc
@@ -2,4 +2,4 @@ HOMEPAGE = "http://github.com/openbmc/phosphor-host-ipmid"
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=fa818a259cbed7ce8bc2a22d35a464fc"
 SRC_URI += "git://github.com/openbmc/phosphor-host-ipmid"
-SRCREV = "3b7a4078ee2ab814b9cfa2134134328e287eff2c"
+SRCREV = "de54f486d633c5bc7a6d17b77ee46d8a8fdf57cd"
-- 
cgit v1.2.3


From 39d3c1c9edc774fdf94827f036f78575be215bf5 Mon Sep 17 00:00:00 2001
From: Andrew Geissler 
Date: Thu, 8 Apr 2021 10:50:20 +0000
Subject: openpower-debug-collector: srcrev bump b618ccbaa7..c044958d13

Jayanth Othayoth (1):
      Update clang-format

Change-Id: Id987582fae4eb1f888c0434f2ae14621fbea88be
Signed-off-by: Andrew Geissler 
---
 meta-openpower/recipes-phosphor/debug/openpower-debug-collector.inc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta-openpower/recipes-phosphor/debug/openpower-debug-collector.inc b/meta-openpower/recipes-phosphor/debug/openpower-debug-collector.inc
index a00823587..baf80164b 100644
--- a/meta-openpower/recipes-phosphor/debug/openpower-debug-collector.inc
+++ b/meta-openpower/recipes-phosphor/debug/openpower-debug-collector.inc
@@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/openpower-debug-collector"
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
 SRC_URI += "git://github.com/openbmc/openpower-debug-collector"
-SRCREV = "b618ccbaa758fcc282669b2b5c90c50df1725a10"
+SRCREV = "c044958d1358c3dc08abd43e3d1b943739f4ec32"
-- 
cgit v1.2.3


From eb9d23202895c4fb88412688f1b640c316cf4341 Mon Sep 17 00:00:00 2001
From: Andrew Geissler 
Date: Thu, 8 Apr 2021 21:11:07 +0000
Subject: phosphor-logging: srcrev bump 54ff54e905..981ffc3c02

Brandon Wyman (1):
      PEL:phosphor-power PSU Severity updates

Change-Id: I15ae681fbba5da86a3c51cf996439d655f755109
Signed-off-by: Andrew Geissler 
---
 meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb b/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb
index 038d63f5d..ef595cef1 100644
--- a/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb
+++ b/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb
@@ -55,7 +55,7 @@ FILES_phosphor-rsyslog-config += " \
 "
 
 SRC_URI += "git://github.com/openbmc/phosphor-logging"
-SRCREV = "54ff54e9055dbd9da763b07d6a2bd14c176c4beb"
+SRCREV = "981ffc3c0296f2df7c96d025e92300bc11573087"
 
 S = "${WORKDIR}/git"
 
-- 
cgit v1.2.3


From f9995a8cf0d0096355ffc1c020e0617c40762f3f Mon Sep 17 00:00:00 2001
From: Andrew Geissler 
Date: Fri, 9 Apr 2021 01:20:42 +0000
Subject: sdbusplus: srcrev bump 95874d930f..d8543d09dc

Ed Tanous (2):
      Implement path encoding and decoding
      Implement operator /= for object_path

Jason Ling (1):
      native_types: add missing header file

Change-Id: I933385206a1801059f2e32be84098bd638f060ac
Signed-off-by: Andrew Geissler 
---
 meta-phosphor/recipes-extended/sdbusplus/sdbusplus-rev.inc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta-phosphor/recipes-extended/sdbusplus/sdbusplus-rev.inc b/meta-phosphor/recipes-extended/sdbusplus/sdbusplus-rev.inc
index 89498893d..95a2cf6cb 100644
--- a/meta-phosphor/recipes-extended/sdbusplus/sdbusplus-rev.inc
+++ b/meta-phosphor/recipes-extended/sdbusplus/sdbusplus-rev.inc
@@ -3,4 +3,4 @@ PR = "r1"
 PV = "1.0+git${SRCPV}"
 
 SRC_URI += "git://github.com/openbmc/sdbusplus"
-SRCREV = "95874d930f0bcc8390cd47ab3bb1e5e46db45278"
+SRCREV = "d8543d09dcfa2c7e82f0bb80010107e71dcbb01a"
-- 
cgit v1.2.3


From cd9f5f00d75fe3735eebe886a1e0701bb25ea967 Mon Sep 17 00:00:00 2001
From: Zhenfei Tai 
Date: Fri, 2 Apr 2021 17:03:31 -0700
Subject: meta-google: add nanopb recipe

We want to create a nanopb recipe instead of copying nanopb code into
multiple recipes that need it.

Signed-off-by: Zhenfei Tai 
Change-Id: Id03695ccd1ef57f078eefb9e3638bbd802234e58
---
 meta-google/recipes-google/nanopb/nanopb_0.4.5.bb | 24 +++++++++++++++++++++++
 1 file changed, 24 insertions(+)
 create mode 100644 meta-google/recipes-google/nanopb/nanopb_0.4.5.bb

diff --git a/meta-google/recipes-google/nanopb/nanopb_0.4.5.bb b/meta-google/recipes-google/nanopb/nanopb_0.4.5.bb
new file mode 100644
index 000000000..232872e75
--- /dev/null
+++ b/meta-google/recipes-google/nanopb/nanopb_0.4.5.bb
@@ -0,0 +1,24 @@
+SUMMARY = "Nanopb library"
+DESCRIPTION = "Nanopb - Protocol Buffers for Embedded Systems"
+HOMEPAGE = "https://github.com/nanopb/nanopb"
+PR = "r1"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=9db4b73a55a3994384112efcdb37c01f"
+
+inherit cmake python3native
+
+SRC_URI = "git://github.com/nanopb/nanopb"
+SRCREV = "f7e4140a27d9e63517b5d596bc117bd6d5248888"
+S = "${WORKDIR}/git"
+
+DEPENDS = "protobuf-native python3-protobuf"
+
+RDEPENDS_${PN}-generator += "python3 python3-protobuf"
+
+PACKAGES_prepend = "${PN}-generator ${PN}-runtime "
+
+FILES_${PN}-generator = "${libdir}/python* ${bindir}"
+
+FILES_${PN}-runtime = "${libdir}/*.so.*"
+
+BBCLASSEXTEND = "native"
-- 
cgit v1.2.3


From e8979de51fc39c53eec3ff3a8cd0bde70346265f Mon Sep 17 00:00:00 2001
From: Lancelot Kao 
Date: Sun, 21 Feb 2021 19:28:54 -0600
Subject: meta-fii/meta-kudo: Add USB-NIC configuration

1. add USB-NIC functions

Signed-off-by: Lancelot Kao 
Change-Id: I1eba438c770c8ccd5794b1184d4a25ef7fbfb0e6
---
 .../recipes-kernel/linux/linux-nuvoton/kudo.cfg    | 32 +++++++++++++---------
 .../meta-kudo/recipes-kudo/network/usb-network.bb  | 29 ++++++++++++++++++++
 .../network/usb-network/00-bmc-usb0.network        |  7 +++++
 .../network/usb-network/usb_network.service        | 10 +++++++
 .../network/usb-network/usb_network.sh             | 27 ++++++++++++++++++
 .../image/obmc-phosphor-image.bbappend             |  1 +
 6 files changed, 93 insertions(+), 13 deletions(-)
 create mode 100644 meta-fii/meta-kudo/recipes-kudo/network/usb-network.bb
 create mode 100644 meta-fii/meta-kudo/recipes-kudo/network/usb-network/00-bmc-usb0.network
 create mode 100644 meta-fii/meta-kudo/recipes-kudo/network/usb-network/usb_network.service
 create mode 100644 meta-fii/meta-kudo/recipes-kudo/network/usb-network/usb_network.sh

diff --git a/meta-fii/meta-kudo/recipes-kernel/linux/linux-nuvoton/kudo.cfg b/meta-fii/meta-kudo/recipes-kernel/linux/linux-nuvoton/kudo.cfg
index 0811dd9d9..9755d94b0 100644
--- a/meta-fii/meta-kudo/recipes-kernel/linux/linux-nuvoton/kudo.cfg
+++ b/meta-fii/meta-kudo/recipes-kernel/linux/linux-nuvoton/kudo.cfg
@@ -30,21 +30,15 @@ CONFIG_SQUASHFS_XZ=y
 CONFIG_JFFS2_FS=y
 CONFIG_EXT4_FS=y
 
+# SPI
 CONFIG_SPI=y
 CONFIG_SPI_NPCM_FIU=y
 CONFIG_MTD_M25P80=y
 CONFIG_SPI_NPCM_PSPI=y
 
-CONFIG_NET_NCSI=y
-
-CONFIG_EEPROM_AT24=y
-CONFIG_I2C_MUX=y
-CONFIG_I2C_MUX_PCA954x=y
-CONFIG_I2C_SLAVE_EEPROM=y
-CONFIG_GPIO_PCA953X=y
-CONFIG_GPIO_PCA953X_IRQ=y
-CONFIG_GPIO_PCF857X=y
-CONFIG_MUX_MMIO=y
+#
+# USB configuration
+#
 CONFIG_USB_U_ETHER=y
 CONFIG_USB_F_ECM=y
 CONFIG_USB_F_EEM=y
@@ -58,6 +52,18 @@ CONFIG_USB_CONFIGFS_RNDIS=y
 CONFIG_USB_CONFIGFS_EEM=y
 CONFIG_USB_CONFIGFS_MASS_STORAGE=y
 CONFIG_USB_CONFIGFS_F_HID=y
+CONFIG_USB_GADGET_NPCM_USB2=y
+
+CONFIG_NET_NCSI=y
+
+CONFIG_EEPROM_AT24=y
+CONFIG_I2C_MUX=y
+CONFIG_I2C_MUX_PCA954x=y
+CONFIG_I2C_SLAVE_EEPROM=y
+CONFIG_GPIO_PCA953X=y
+CONFIG_GPIO_PCA953X_IRQ=y
+CONFIG_GPIO_PCF857X=y
+CONFIG_MUX_MMIO=y
 
 CONFIG_MEDIA_SUPPORT=y
 CONFIG_VIDEO_NUVOTON=y
@@ -65,8 +71,6 @@ CONFIG_NPCM750_VCD=y
 CONFIG_NPCM750_ECE=y
 CONFIG_FORCE_MAX_ZONEORDER=12
 
-CONFIG_USB_GADGET_NPCM_USB2=y
-
 CONFIG_NPCM7XX_PCI_MBOX=y
 
 CONFIG_RESET_NPCM=y
@@ -74,6 +78,9 @@ CONFIG_RESET_NPCM=y
 CONFIG_I2C_SLAVE=y
 CONFIG_I2C_SLAVE_MQUEUE=y
 CONFIG_IPMB_DEVICE_INTERFACE=y
+
+#
+# JATG Configuration
 CONFIG_NUVOTON_JTAG=y
 CONFIG_NPCM7XX_JTAG_MASTER=y
 
@@ -103,6 +110,5 @@ CONFIG_IP_NF_FILTER=y
 CONFIG_IP_NF_TARGET_REJECT=y
 CONFIG_NF_DEFRAG_IPV6=y
 
-
 CONFIG_TCG_TPM=y
 CONFIG_TCG_TIS_I2C_INFINEON=y
diff --git a/meta-fii/meta-kudo/recipes-kudo/network/usb-network.bb b/meta-fii/meta-kudo/recipes-kudo/network/usb-network.bb
new file mode 100644
index 000000000..249e454ae
--- /dev/null
+++ b/meta-fii/meta-kudo/recipes-kudo/network/usb-network.bb
@@ -0,0 +1,29 @@
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
+
+inherit allarch systemd
+
+DEPENDS += "systemd"
+RDEPENDS_${PN} += "libsystemd"
+RDEPENDS_${PN} += "bash"
+
+SRC_URI_append += " \
+    file://usb_network.sh \
+    file://usb_network.service \
+    file://00-bmc-usb0.network \
+    "
+
+SYSTEMD_PACKAGES = "${PN}"
+SYSTEMD_SERVICE_${PN}_append = " usb_network.service"
+FILES_${PN} += "${sysconfdir_native}/systemd/network/00-bmc-usb0.network"
+
+do_install() {
+    install -d ${D}/${sbindir}
+    install -m 0755 ${WORKDIR}/usb_network.sh ${D}/${sbindir}
+
+    install -d ${D}${systemd_unitdir}/system/
+    install -m 0644 ${WORKDIR}/usb_network.service ${D}${systemd_unitdir}/system
+
+    install -d ${D}${sysconfdir_native}/systemd/network/
+    install -m 0644 ${WORKDIR}/00-bmc-usb0.network ${D}${sysconfdir_native}/systemd/network
+}
diff --git a/meta-fii/meta-kudo/recipes-kudo/network/usb-network/00-bmc-usb0.network b/meta-fii/meta-kudo/recipes-kudo/network/usb-network/00-bmc-usb0.network
new file mode 100644
index 000000000..1b8d66e4d
--- /dev/null
+++ b/meta-fii/meta-kudo/recipes-kudo/network/usb-network/00-bmc-usb0.network
@@ -0,0 +1,7 @@
+[Match]
+Name=usb0
+[Address]
+Address=169.254.95.118/16
+[Network]
+LinkLocalAddressing=ipv6
+IPv6AcceptRA=no
diff --git a/meta-fii/meta-kudo/recipes-kudo/network/usb-network/usb_network.service b/meta-fii/meta-kudo/recipes-kudo/network/usb-network/usb_network.service
new file mode 100644
index 000000000..81a4e4244
--- /dev/null
+++ b/meta-fii/meta-kudo/recipes-kudo/network/usb-network/usb_network.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=enable usb network
+After=phosphor-ipmi-host.service
+
+[Service]
+Type=oneshot
+ExecStart=/bin/bash -c '/usr/sbin/usb_network.sh'
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta-fii/meta-kudo/recipes-kudo/network/usb-network/usb_network.sh b/meta-fii/meta-kudo/recipes-kudo/network/usb-network/usb_network.sh
new file mode 100644
index 000000000..8d7804d06
--- /dev/null
+++ b/meta-fii/meta-kudo/recipes-kudo/network/usb-network/usb_network.sh
@@ -0,0 +1,27 @@
+#!/bin/bash
+
+cd /sys/kernel/config/usb_gadget
+
+if [ ! -f "g1" ]; then
+    mkdir g1
+    cd g1
+
+    echo 0x1d6b > idVendor  # Linux foundation
+    echo 0x0104 > idProduct # Multifunction composite gadget
+    mkdir -p strings/0x409
+    echo "Linux" > strings/0x409/manufacturer
+    echo "Ethernet/ECM gadget" > strings/0x409/product
+
+    mkdir -p configs/c.1
+    echo 100 > configs/c.1/MaxPower
+    mkdir -p configs/c.1/strings/0x409
+    echo "ECM" > configs/c.1/strings/0x409/configuration
+
+    mkdir -p functions/ecm.usb0
+
+    ln -s functions/ecm.usb0 configs/c.1
+
+    echo f0835000.udc > UDC
+
+fi
+exit 0
diff --git a/meta-fii/meta-kudo/recipes-phosphor/image/obmc-phosphor-image.bbappend b/meta-fii/meta-kudo/recipes-phosphor/image/obmc-phosphor-image.bbappend
index d4d9d318f..f0eb9724d 100644
--- a/meta-fii/meta-kudo/recipes-phosphor/image/obmc-phosphor-image.bbappend
+++ b/meta-fii/meta-kudo/recipes-phosphor/image/obmc-phosphor-image.bbappend
@@ -6,3 +6,4 @@ OBMC_IMAGE_EXTRA_INSTALL_append_kudo = " google-ipmi-i2c"
 OBMC_IMAGE_EXTRA_INSTALL_append_kudo = " phosphor-ipmi-blobs"
 OBMC_IMAGE_EXTRA_INSTALL_append_kudo = " phosphor-ipmi-ethstats"
 OBMC_IMAGE_EXTRA_INSTALL_append_kudo = " phosphor-ipmi-flash"
+OBMC_IMAGE_EXTRA_INSTALL_append_kudo = " usb-network"
-- 
cgit v1.2.3


From 2ee3513b4e16d403d071620ad31b72006092b6df Mon Sep 17 00:00:00 2001
From: Andrew Geissler 
Date: Wed, 7 Apr 2021 21:40:41 +0000
Subject: phosphor-dbus-interfaces: srcrev bump ae956ad9ef..523dc36ac1

Matt Spinler (1):
      thresholds: Add threshold alarm signals

Santosh Puranik (1):
      Inventory.Decorator.I2CDevice: Add I2CDevice Interface YAML

Change-Id: I17ce1fcaa35e62bdbd001656dc70da999de948a9
Signed-off-by: Andrew Geissler 
---
 meta-phosphor/recipes-phosphor/dbus/phosphor-dbus-interfaces_git.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta-phosphor/recipes-phosphor/dbus/phosphor-dbus-interfaces_git.bb b/meta-phosphor/recipes-phosphor/dbus/phosphor-dbus-interfaces_git.bb
index 0efdc51a8..8b9bd71b0 100644
--- a/meta-phosphor/recipes-phosphor/dbus/phosphor-dbus-interfaces_git.bb
+++ b/meta-phosphor/recipes-phosphor/dbus/phosphor-dbus-interfaces_git.bb
@@ -18,7 +18,7 @@ DEPENDS += " \
         "
 
 SRC_URI = "git://github.com/openbmc/phosphor-dbus-interfaces"
-SRCREV = "ae956ad9efd2be24c5439a4ef6498fb5c8383719"
+SRCREV = "523dc36ac1a73bb63ecb3cbd76f7d88a9ac3481b"
 
 # Process OBMC_ORG_YAML_SUBDIRS to create Meson config options.
 # ex. xyz/openbmc_project -> -Ddata_xyz_openbmc_project=true
-- 
cgit v1.2.3


From e938fe52508213ff56845f62fa3aa927cd9604c7 Mon Sep 17 00:00:00 2001
From: Andrew Geissler 
Date: Fri, 9 Apr 2021 05:41:06 +0000
Subject: phosphor-led-manager: srcrev bump 4b06201049..445b00b22b

George Liu (1):
      Remove setting Functional property of OperationalStatus interface

Change-Id: I5f65214ab62f84393b8e5213f904f0a34c5a5dd0
Signed-off-by: Andrew Geissler 
---
 meta-phosphor/recipes-phosphor/leds/phosphor-led-manager.inc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager.inc b/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager.inc
index e3478de42..2e7aa4825 100644
--- a/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager.inc
+++ b/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager.inc
@@ -2,4 +2,4 @@ HOMEPAGE = "http://github.com/openbmc/phosphor-led-manager"
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
 SRC_URI += "git://github.com/openbmc/phosphor-led-manager"
-SRCREV = "4b06201049f5f1199128c7a373df5f065cf11301"
+SRCREV = "445b00b22b1c46b2d6e954bbaff64884b5c068c7"
-- 
cgit v1.2.3


From c6bbb3a05dbbe6e0867b965f572bf83490747796 Mon Sep 17 00:00:00 2001
From: Andrew Geissler 
Date: Fri, 9 Apr 2021 12:01:27 +0000
Subject: webui-vue: srcrev bump dbc691c61e..f3022e5c1a

MichalX Szopinski (1):
      RW checkbox in "Load image from external server" works opposite way

Change-Id: Id0c7121f756454fdc113061c631a9c8c615b2278
Signed-off-by: Andrew Geissler 
---
 meta-phosphor/recipes-phosphor/webui/webui-vue_git.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta-phosphor/recipes-phosphor/webui/webui-vue_git.bb b/meta-phosphor/recipes-phosphor/webui/webui-vue_git.bb
index 5dcc44b45..5dec16711 100644
--- a/meta-phosphor/recipes-phosphor/webui/webui-vue_git.bb
+++ b/meta-phosphor/recipes-phosphor/webui/webui-vue_git.bb
@@ -6,7 +6,7 @@ LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
 
 SRC_URI = "git://github.com/openbmc/webui-vue.git"
-SRCREV = "dbc691c61ea5d112e7d9e3f393856574ac5d1d37"
+SRCREV = "f3022e5c1ad1f4d83d03d996d77094a87f4be8e0"
 S = "${WORKDIR}/git"
 
 DEPENDS_prepend = "nodejs-native "
-- 
cgit v1.2.3


From 4c9f3a11e6fd87068aa24a8eb00d4b0d1c5323ab Mon Sep 17 00:00:00 2001
From: Andrew Geissler 
Date: Fri, 9 Apr 2021 13:40:57 +0000
Subject: phosphor-debug-collector: srcrev bump 537642dad8..22448c5621

Chirag Sharma (1):
      dreport: Populating missing fields of header

Change-Id: I085639b573a55fcbd6bbc892fb68147d29e40b86
Signed-off-by: Andrew Geissler 
---
 meta-phosphor/recipes-phosphor/dump/phosphor-debug-collector.inc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta-phosphor/recipes-phosphor/dump/phosphor-debug-collector.inc b/meta-phosphor/recipes-phosphor/dump/phosphor-debug-collector.inc
index bdea9f342..2870a154c 100644
--- a/meta-phosphor/recipes-phosphor/dump/phosphor-debug-collector.inc
+++ b/meta-phosphor/recipes-phosphor/dump/phosphor-debug-collector.inc
@@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/phosphor-debug-collector"
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
 SRC_URI += "git://github.com/openbmc/phosphor-debug-collector"
-SRCREV = "537642dad8025560c7200ac159d2f66ff74f8642"
+SRCREV = "22448c5621215c01a9d7267b3c65e1fca3422a01"
-- 
cgit v1.2.3


From 27c6a7e13fe65362ef5d2eb8e9946f6f587542c4 Mon Sep 17 00:00:00 2001
From: Andrew Geissler 
Date: Fri, 9 Apr 2021 15:31:07 +0000
Subject: dbus-sensors: srcrev bump 0362738df7..abf91de187

Jeff Lin (1):
      FanSensor: Add initial of pwm enable file

Change-Id: I2f4f1cce91dbc46d8c794574d617a454c4070722
Signed-off-by: Andrew Geissler 
---
 meta-phosphor/recipes-phosphor/sensors/dbus-sensors_git.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta-phosphor/recipes-phosphor/sensors/dbus-sensors_git.bb b/meta-phosphor/recipes-phosphor/sensors/dbus-sensors_git.bb
index f8334588f..aced2103c 100644
--- a/meta-phosphor/recipes-phosphor/sensors/dbus-sensors_git.bb
+++ b/meta-phosphor/recipes-phosphor/sensors/dbus-sensors_git.bb
@@ -2,7 +2,7 @@ SUMMARY = "dbus-sensors"
 DESCRIPTION = "Dbus Sensor Services Configured from D-Bus"
 
 SRC_URI = "git://github.com/openbmc/dbus-sensors.git"
-SRCREV = "0362738df78e3bb511105f9fe28637ec2d7b0ffa"
+SRCREV = "abf91de1876278b8b8f98787577a539804833ad4"
 
 PV = "0.1+git${SRCPV}"
 
-- 
cgit v1.2.3


From 57bdb442b3175562be574ae8e5d832336f175bab Mon Sep 17 00:00:00 2001
From: Andrew Geissler 
Date: Fri, 9 Apr 2021 16:50:56 +0000
Subject: phosphor-host-ipmid: srcrev bump de54f486d6..c874be8617

Bruce Mitchell (1):
      Changed to Discord from IRC on Feel free to ping on line

Patrick Venture (1):
      bugfix: sensor data full record returning wrong length

Change-Id: Ica14f99dc344183a6b3810fe9476d4f42c462a9e
Signed-off-by: Andrew Geissler 
---
 meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host.inc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host.inc b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host.inc
index 921277f75..2b94b1cbd 100644
--- a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host.inc
+++ b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host.inc
@@ -2,4 +2,4 @@ HOMEPAGE = "http://github.com/openbmc/phosphor-host-ipmid"
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=fa818a259cbed7ce8bc2a22d35a464fc"
 SRC_URI += "git://github.com/openbmc/phosphor-host-ipmid"
-SRCREV = "de54f486d633c5bc7a6d17b77ee46d8a8fdf57cd"
+SRCREV = "c874be86172f521c0e504e347f3f2789390d9ab7"
-- 
cgit v1.2.3


From 06dc92d6f1c36c2f0c9b9ca31540c6cd17e515a7 Mon Sep 17 00:00:00 2001
From: Andrew Geissler 
Date: Fri, 9 Apr 2021 18:20:23 +0000
Subject: openpower-hw-diags: srcrev bump 982f172262..feeea83b3f

Ben Tyner (1):
      Attn: Add support for raw pel symptom-id

Change-Id: I70fde5917d95df7231d501fad339fed48698a697
Signed-off-by: Andrew Geissler 
---
 meta-openpower/recipes-phosphor/logging/openpower-hw-diags_git.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta-openpower/recipes-phosphor/logging/openpower-hw-diags_git.bb b/meta-openpower/recipes-phosphor/logging/openpower-hw-diags_git.bb
index 5605f60de..bed3ff790 100644
--- a/meta-openpower/recipes-phosphor/logging/openpower-hw-diags_git.bb
+++ b/meta-openpower/recipes-phosphor/logging/openpower-hw-diags_git.bb
@@ -16,7 +16,7 @@ inherit meson systemd
 S = "${WORKDIR}/git"
 
 SRC_URI = "git://github.com/openbmc/openpower-hw-diags"
-SRCREV = "982f172262693198f649d4d8918e5defb1ff6c9c"
+SRCREV = "feeea83b3fc9aabd23a1ec6d29bd293008954acc"
 
 SYSTEMD_SERVICE_${PN} = "attn_handler.service"
 
-- 
cgit v1.2.3


From 06b43dad66ee0d55e5c53f7ed9f73e59e86dff4a Mon Sep 17 00:00:00 2001
From: Vishwanatha Subbanna 
Date: Mon, 12 Apr 2021 07:53:58 -0500
Subject: fru-fault-monitor: Enable OperationalStatus monitor feature

Currently, the phosphor-fru-fault-monitor updates the Asserted
property of the Led Group D-Bus object by monitoring the
`/xyz/openbmc_project/logging` object path.

The intent behind this commit is to add another way to monitor the
`xyz.openbmc_project.State.Decorator.OperationalStatus` interface
of the Inventory D-Bus object, and check whether the Inventory
D-Bus object is associated with the LED group D-Bus object, and
then update the Asserted property of the LedManager.

Since both these methods handle the faults differently,
Only ONE of these 2 methods can be enabled and NOT both.

The first way is supported by default. To turn OFF the default way
AND turn ON this second way, Enable monitor-operational-status.

Change-Id: I03701e599b6a120bc1f83da6f473b12f38660d64
Signed-off-by: Vishwanatha Subbanna 
---
 meta-ibm/recipes-phosphor/leds/phosphor-led-manager_%.bbappend  | 5 +++--
 meta-phosphor/recipes-phosphor/leds/phosphor-led-manager.inc    | 2 +-
 meta-phosphor/recipes-phosphor/leds/phosphor-led-manager_git.bb | 2 ++
 3 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/meta-ibm/recipes-phosphor/leds/phosphor-led-manager_%.bbappend b/meta-ibm/recipes-phosphor/leds/phosphor-led-manager_%.bbappend
index 0ae5474e8..96a97b040 100644
--- a/meta-ibm/recipes-phosphor/leds/phosphor-led-manager_%.bbappend
+++ b/meta-ibm/recipes-phosphor/leds/phosphor-led-manager_%.bbappend
@@ -6,8 +6,9 @@ SYSTEMD_SERVICE_${PN}_append_p10bmc += "obmc-led-set-all-groups-asserted@.servic
 SYSTEMD_ENVIRONMENT_FILE_${PN}_append_p10bmc +="obmc/led/set-all/groups/config"
 
 # Use the JSON configuration file at runtime than the static led.yaml
-# Also, enable Lamp Test feature for p10bmc systems
-PACKAGECONFIG_append_p10bmc = " use-json use-lamp-test"
+# Also, enable Lamp Test and OperationalStatus monitor feature for
+# p10bmc systems
+PACKAGECONFIG_append_p10bmc = " use-json use-lamp-test monitor-operational-status"
 
 # Install the lamp test override file for p10bmc
 SRC_URI_append_p10bmc = " file://lamp-test-led-overrides.json"
diff --git a/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager.inc b/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager.inc
index 2e7aa4825..c882e526e 100644
--- a/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager.inc
+++ b/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager.inc
@@ -2,4 +2,4 @@ HOMEPAGE = "http://github.com/openbmc/phosphor-led-manager"
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
 SRC_URI += "git://github.com/openbmc/phosphor-led-manager"
-SRCREV = "445b00b22b1c46b2d6e954bbaff64884b5c068c7"
+SRCREV = "ee1c19e5ab5f349fda590c320923dcb9ab543a57"
diff --git a/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager_git.bb b/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager_git.bb
index 3f70891b4..b14f154ff 100644
--- a/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager_git.bb
+++ b/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager_git.bb
@@ -11,6 +11,8 @@ inherit obmc-phosphor-dbus-service obmc-phosphor-systemd
 PACKAGECONFIG ??= ""
 PACKAGECONFIG[use-json] = "--enable-use-json, --disable-use-json"
 PACKAGECONFIG[use-lamp-test] = "--enable-use-lamp-test, --disable-use-lamp-test"
+PACKAGECONFIG[monitor-operational-status] = "--enable-monitor-operational-status, \
+                                             --disable-monitor-operational-status"
 
 SYSTEMD_PACKAGES = "${PN} ${PN}-faultmonitor"
 PACKAGE_BEFORE_PN += "${PN}-faultmonitor"
-- 
cgit v1.2.3


From afe16dc5dc9300e29da18dafe92e496946b31d9f Mon Sep 17 00:00:00 2001
From: Vishwanatha Subbanna 
Date: Mon, 12 Apr 2021 07:53:15 -0500
Subject: ibm: Add back fru-fault-monitor to Rainier and Everest systems

Commit f7b1f26 removed fru-fault-monitor from Rainier since the
idea then was to have PEL daemon set the Asserted property of
LED Group Object that is mapping to the Inventory D-Bus object.

However, that was not accepted by the community and we now have
a new way of monitoring faults.

With the new way, when monitor-operational-status feature is
enabled, fru-fault-monitor will watch Functional property of
xyz.openbmc_project.State.Decorator.OperationalStatus interface
and sets the Asserted property of appropriate LED Group D-Bus
objects that is mapped via "fault_led_group" association with
the Inventory D-Bus object.

When monitor-operational-status feature is enabled,
fru-fault-monitor will not monitor the OBMC events and would
only watch OperationalStatus. This is done because these 2
features will result in conflicting end result on the LEDs.

Change-Id: I739b5fc261b0c79d50a8dc34ab19a3e108e84edc
Signed-off-by: Vishwanatha Subbanna 
---
 meta-ibm/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend | 1 -
 1 file changed, 1 deletion(-)

diff --git a/meta-ibm/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend b/meta-ibm/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend
index 9c466b882..bb6075898 100644
--- a/meta-ibm/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend
+++ b/meta-ibm/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend
@@ -37,7 +37,6 @@ RDEPENDS_${PN}-extras_remove_swift = "obmc-ikvm"
 RDEPENDS_${PN}-extras_remove_witherspoon-tacoma = "obmc-ikvm liberation-fonts uart-render-controller phosphor-webui"
 RDEPENDS_${PN}-logging_append = " ${EXTRA_IBM_LOGGING_PKGS}"
 RDEPENDS_${PN}-extras_append_p10bmc = " pldm openpower-hw-diags srvcfg-manager biosconfig-manager phosphor-post-code-manager phosphor-host-postd"
-RDEPENDS_${PN}-leds_remove_p10bmc = "phosphor-led-manager-faultmonitor"
 RDEPENDS_${PN}-leds_remove_witherspoon-tacoma = "phosphor-led-manager-faultmonitor"
 
 ${PN}-software-extras_append_ibm-ac-server = " phosphor-software-manager-sync"
-- 
cgit v1.2.3


From 41a26720e9b957e08543e624827e4b912d8f9279 Mon Sep 17 00:00:00 2001
From: Brad Bishop 
Date: Thu, 25 Mar 2021 14:25:46 -0400
Subject: phosphor-ipmi-kcs: whitespace fixes

Change-Id: I8d65f2d311781bdbdb2a7cb4edebf5ca1e6183e9
Signed-off-by: Brad Bishop 
---
 meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-kcs_git.bb | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-kcs_git.bb b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-kcs_git.bb
index a4d4b4bb2..a684c4807 100644
--- a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-kcs_git.bb
+++ b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-kcs_git.bb
@@ -12,8 +12,8 @@ PV = "1.0+git${SRCPV}"
 
 KCS_DEVICE ?= "ipmi-kcs3"
 
-SYSTEMD_SERVICE_${PN} = " ${PN}@${KCS_DEVICE}.service "
-FILES_${PN} += " ${systemd_system_unitdir}/${PN}@.service "
+SYSTEMD_SERVICE_${PN} = "${PN}@${KCS_DEVICE}.service"
+FILES_${PN} += "${systemd_system_unitdir}/${PN}@.service"
 
 PROVIDES += "virtual/obmc-host-ipmi-hw"
 RPROVIDES_${PN} += "virtual-obmc-host-ipmi-hw"
-- 
cgit v1.2.3


From 645a895a7f4d12c574ae6b9483956425219b6fe4 Mon Sep 17 00:00:00 2001
From: Adriana Kobylak 
Date: Thu, 1 Apr 2021 18:54:43 +0000
Subject: ibm: Remove the openbmc-witherspoon distro

The meta-ibm layer supported two different DISTROs depending on the
machine being built. This caused complexity since the user needed to
remember to specify the DISTRO name, in addition to the CI build scripts
needed to check for the machine name being built to override the default
DISTRO.

For simplification, remove the openbmc-witherspoon DISTRO, which is the
openpower DISTRO plus additional features, and move these features to
the machine configuration files. Make the openpower DISTRO the default.

Tested: Built witherspoon and p10bmc using "source setup  build"
        followed by "bitbake obmc-phosphor-image" without specifying the
        DISTRO. Verified witherspoon built a ubi image and p10bmc built
        a emmc image.

Change-Id: If33441ab4ad2dc0fbedde09f0db91d691d2da4f7
Signed-off-by: Adriana Kobylak 
---
 meta-ibm/conf/conf-notes.txt                  | 10 +++++-----
 meta-ibm/conf/distro/openbmc-witherspoon.conf |  4 ----
 meta-ibm/conf/local.conf.sample               |  2 +-
 meta-ibm/conf/machine/mihawk.conf             |  5 ++++-
 meta-ibm/conf/machine/witherspoon.conf        |  3 +++
 5 files changed, 13 insertions(+), 11 deletions(-)
 delete mode 100644 meta-ibm/conf/distro/openbmc-witherspoon.conf

diff --git a/meta-ibm/conf/conf-notes.txt b/meta-ibm/conf/conf-notes.txt
index d4578dcf4..705a54d7c 100644
--- a/meta-ibm/conf/conf-notes.txt
+++ b/meta-ibm/conf/conf-notes.txt
@@ -1,12 +1,12 @@
 Example build invocations:
 
 mihawk:
-DISTRO=openbmc-witherspoon MACHINE=mihawk bitbake obmc-phosphor-image
+MACHINE=mihawk bitbake obmc-phosphor-image
 p10bmc:
-DISTRO=openbmc-openpower MACHINE=p10bmc bitbake obmc-phosphor-image
+MACHINE=p10bmc bitbake obmc-phosphor-image
 swift:
-DISTRO=openbmc-witherspoon MACHINE=swift bitbake obmc-phosphor-image
+MACHINE=swift bitbake obmc-phosphor-image
 witherspoon:
-DISTRO=openbmc-witherspoon MACHINE=witherspoon bitbake obmc-phosphor-image
+MACHINE=witherspoon bitbake obmc-phosphor-image
 witherspoon-tacoma:
-DISTRO=openbmc-openpower MACHINE=witherspoon-tacoma bitbake obmc-phosphor-image
+MACHINE=witherspoon-tacoma bitbake obmc-phosphor-image
diff --git a/meta-ibm/conf/distro/openbmc-witherspoon.conf b/meta-ibm/conf/distro/openbmc-witherspoon.conf
deleted file mode 100644
index f2caf402b..000000000
--- a/meta-ibm/conf/distro/openbmc-witherspoon.conf
+++ /dev/null
@@ -1,4 +0,0 @@
-require conf/distro/openbmc-openpower.conf
-require conf/distro/include/phosphor-ubi.inc
-require conf/distro/include/openpower-mrw.inc
-require conf/distro/include/openpower-ubi.inc
diff --git a/meta-ibm/conf/local.conf.sample b/meta-ibm/conf/local.conf.sample
index 9f2228b80..2ee8833b2 100644
--- a/meta-ibm/conf/local.conf.sample
+++ b/meta-ibm/conf/local.conf.sample
@@ -2,7 +2,7 @@
 #MACHINE ?= "p10bmc"
 #MACHINE ?= "swift"
 MACHINE ??= "witherspoon"
-DISTRO ?= "openbmc-witherspoon"
+DISTRO ?= "openbmc-openpower"
 PACKAGE_CLASSES ?= "package_rpm"
 SANITY_TESTED_DISTROS_append ?= " *"
 EXTRA_IMAGE_FEATURES = "debug-tweaks"
diff --git a/meta-ibm/conf/machine/mihawk.conf b/meta-ibm/conf/machine/mihawk.conf
index efcf7717d..bb54c6a78 100644
--- a/meta-ibm/conf/machine/mihawk.conf
+++ b/meta-ibm/conf/machine/mihawk.conf
@@ -7,11 +7,14 @@ OBMC_POWER_SUPPLY_INSTANCES = "0 1"
 
 PREFERRED_PROVIDER_virtual/openpower-fru-vpd-layout = "mihawk-openpower-fru-vpd-layout-native"
 
+require conf/distro/include/phosphor-aspeednic-use-mac2.inc
+require conf/distro/include/phosphor-ubi.inc
+require conf/distro/include/openpower-mrw.inc
+require conf/distro/include/openpower-ubi.inc
 require conf/machine/include/ast2500.inc
 require conf/machine/include/obmc-bsp-common.inc
 require conf/machine/include/openpower.inc
 require conf/machine/include/p9.inc
-require conf/distro/include/phosphor-aspeednic-use-mac2.inc
 
 PHOSPHOR_MRW_LICENSE = "Apache-2.0"
 PHOSPHOR_MRW_LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
diff --git a/meta-ibm/conf/machine/witherspoon.conf b/meta-ibm/conf/machine/witherspoon.conf
index acceb478b..c037a78bd 100644
--- a/meta-ibm/conf/machine/witherspoon.conf
+++ b/meta-ibm/conf/machine/witherspoon.conf
@@ -8,6 +8,9 @@ OBMC_POWER_SUPPLY_INSTANCES = "0 1"
 # A machine override for common machine configuration for all of IBM's
 # "Accelerated Computing" class of systems.
 MACHINEOVERRIDES =. "ibm-ac-server:"
+require conf/distro/include/phosphor-ubi.inc
+require conf/distro/include/openpower-mrw.inc
+require conf/distro/include/openpower-ubi.inc
 require conf/machine/include/ast2500.inc
 require conf/machine/include/obmc-bsp-common.inc
 require conf/machine/include/openpower.inc
-- 
cgit v1.2.3


From adba73526790154a7d2edd31787e03d394365934 Mon Sep 17 00:00:00 2001
From: Adriana Kobylak 
Date: Thu, 25 Mar 2021 17:20:11 +0000
Subject: ibm: power: Replace rainier with p10bmc

The IBM rainier machine name is being replaced with the generic p10bmc.

Change-Id: I8dece8c720fd520de7a6857a7311b62a65c054ba
Signed-off-by: Adriana Kobylak 
---
 .../power/phosphor-power/p10bmc/psu.json           |  31 ++++
 .../power/phosphor-power/rainier/psu.json          |  31 ----
 .../power/phosphor-power_%.bbappend                |   4 +-
 meta-ibm/recipes-phosphor/power/power-sequencer.bb |   6 +-
 .../power/power-sequencer/p10bmc/ucd90160.yaml     | 201 +++++++++++++++++++++
 .../power/power-sequencer/rainier/ucd90160.yaml    | 201 ---------------------
 6 files changed, 237 insertions(+), 237 deletions(-)
 create mode 100644 meta-ibm/recipes-phosphor/power/phosphor-power/p10bmc/psu.json
 delete mode 100644 meta-ibm/recipes-phosphor/power/phosphor-power/rainier/psu.json
 create mode 100644 meta-ibm/recipes-phosphor/power/power-sequencer/p10bmc/ucd90160.yaml
 delete mode 100644 meta-ibm/recipes-phosphor/power/power-sequencer/rainier/ucd90160.yaml

diff --git a/meta-ibm/recipes-phosphor/power/phosphor-power/p10bmc/psu.json b/meta-ibm/recipes-phosphor/power/phosphor-power/p10bmc/psu.json
new file mode 100644
index 000000000..baa96ac27
--- /dev/null
+++ b/meta-ibm/recipes-phosphor/power/phosphor-power/p10bmc/psu.json
@@ -0,0 +1,31 @@
+{
+  "inventoryPMBusAccessType": "HwmonDeviceDebug",
+  "fruConfigs": [
+    {
+      "propertyName": "PartNumber",
+      "fileName": "part_number",
+      "interface": "xyz.openbmc_project.Inventory.Decorator.Asset"
+    },
+    {
+      "propertyName": "SerialNumber",
+      "fileName": "serial_number",
+      "interface": "xyz.openbmc_project.Inventory.Decorator.Asset"
+    },
+    {
+      "propertyName": "Model",
+      "fileName": "ccin",
+      "interface": "xyz.openbmc_project.Inventory.Decorator.Asset"
+    },
+    {
+      "propertyName": "Version",
+      "fileName": "fw_version",
+      "interface": "xyz.openbmc_project.Software.Version"
+    }
+  ],
+  "psuDevices": {
+    "/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply0" : "/sys/bus/i2c/devices/3-0068",
+    "/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply1" : "/sys/bus/i2c/devices/3-0069",
+    "/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply2" : "/sys/bus/i2c/devices/3-006a",
+    "/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply3" : "/sys/bus/i2c/devices/3-006b"
+  }
+}
diff --git a/meta-ibm/recipes-phosphor/power/phosphor-power/rainier/psu.json b/meta-ibm/recipes-phosphor/power/phosphor-power/rainier/psu.json
deleted file mode 100644
index baa96ac27..000000000
--- a/meta-ibm/recipes-phosphor/power/phosphor-power/rainier/psu.json
+++ /dev/null
@@ -1,31 +0,0 @@
-{
-  "inventoryPMBusAccessType": "HwmonDeviceDebug",
-  "fruConfigs": [
-    {
-      "propertyName": "PartNumber",
-      "fileName": "part_number",
-      "interface": "xyz.openbmc_project.Inventory.Decorator.Asset"
-    },
-    {
-      "propertyName": "SerialNumber",
-      "fileName": "serial_number",
-      "interface": "xyz.openbmc_project.Inventory.Decorator.Asset"
-    },
-    {
-      "propertyName": "Model",
-      "fileName": "ccin",
-      "interface": "xyz.openbmc_project.Inventory.Decorator.Asset"
-    },
-    {
-      "propertyName": "Version",
-      "fileName": "fw_version",
-      "interface": "xyz.openbmc_project.Software.Version"
-    }
-  ],
-  "psuDevices": {
-    "/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply0" : "/sys/bus/i2c/devices/3-0068",
-    "/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply1" : "/sys/bus/i2c/devices/3-0069",
-    "/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply2" : "/sys/bus/i2c/devices/3-006a",
-    "/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply3" : "/sys/bus/i2c/devices/3-006b"
-  }
-}
diff --git a/meta-ibm/recipes-phosphor/power/phosphor-power_%.bbappend b/meta-ibm/recipes-phosphor/power/phosphor-power_%.bbappend
index 3c652cee9..c8084b39e 100644
--- a/meta-ibm/recipes-phosphor/power/phosphor-power_%.bbappend
+++ b/meta-ibm/recipes-phosphor/power/phosphor-power_%.bbappend
@@ -5,11 +5,11 @@ inherit obmc-phosphor-systemd
 SRC_URI += "file://psu.json"
 
 EXTRA_OEMESON_append_ibm-ac-server = " -Ducd90160-yaml=${STAGING_DIR_HOST}${datadir}/power-sequencer/ucd90160.yaml"
-EXTRA_OEMESON_append_rainier = " -Ducd90160-yaml=${STAGING_DIR_HOST}${datadir}/power-sequencer/ucd90160.yaml -Dibm-vpd=true"
+EXTRA_OEMESON_append_p10bmc = " -Ducd90160-yaml=${STAGING_DIR_HOST}${datadir}/power-sequencer/ucd90160.yaml -Dibm-vpd=true"
 EXTRA_OEMESON_append_mihawk = " -Dpower_sequencer=mihawk-cpld"
 
 DEPENDS_append_ibm-ac-server = " power-sequencer"
-DEPENDS_append_rainier = " power-sequencer"
+DEPENDS_append_p10bmc = " power-sequencer"
 
 do_install_append(){
     install -D ${WORKDIR}/psu.json ${D}${datadir}/phosphor-power/psu.json
diff --git a/meta-ibm/recipes-phosphor/power/power-sequencer.bb b/meta-ibm/recipes-phosphor/power/power-sequencer.bb
index cd5822202..6fc1133cf 100644
--- a/meta-ibm/recipes-phosphor/power/power-sequencer.bb
+++ b/meta-ibm/recipes-phosphor/power/power-sequencer.bb
@@ -6,10 +6,10 @@ LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5
 inherit allarch
 
 SRC_URI_append_ibm-ac-server = " file://ucd90160.yaml"
-SRC_URI_append_rainier = " file://ucd90160.yaml"
+SRC_URI_append_p10bmc = " file://ucd90160.yaml"
 
 FILES_${PN}_append_ibm-ac-server = " ${datadir}/power-sequencer/ucd90160.yaml"
-FILES_${PN}_append_rainier = " ${datadir}/power-sequencer/ucd90160.yaml"
+FILES_${PN}_append_p10bmc = " ${datadir}/power-sequencer/ucd90160.yaml"
 
 S = "${WORKDIR}"
 
@@ -19,7 +19,7 @@ do_install_append_ibm-ac-server() {
     install -D ucd90160.yaml ${DEST}/ucd90160.yaml
 }
 
-do_install_append_rainier() {
+do_install_append_p10bmc() {
     DEST=${D}${datadir}/power-sequencer
 
     install -D ucd90160.yaml ${DEST}/ucd90160.yaml
diff --git a/meta-ibm/recipes-phosphor/power/power-sequencer/p10bmc/ucd90160.yaml b/meta-ibm/recipes-phosphor/power/power-sequencer/p10bmc/ucd90160.yaml
new file mode 100644
index 000000000..a6bba44ce
--- /dev/null
+++ b/meta-ibm/recipes-phosphor/power/power-sequencer/p10bmc/ucd90160.yaml
@@ -0,0 +1,201 @@
+- Device:
+  index: 0
+  # Linux sysfs path for this power sequencer (0x22 8-bit address)
+  path:  /sys/bus/i2c/devices/i2c-8/8-0011
+  RailNames:
+      - "12.0V"
+      - "5.0V_USB"
+      - "5.0V_DASD"
+      - "3.3VA"
+      - "3.3VB"
+      - "1.5V"
+      - "1.1V"
+      - "VDDA_DCM0"
+      - "VDDB_DCM0"
+      - "VDDA_DCM1"
+      - "VDDB_DCM1"
+      - "12.0VCS"
+      - "3.3VCS"
+      - "1.1V_Current"
+      - "5.0V_USB_Current"
+      - "5.0V_DASD_Current"
+      - "12.0VN"
+      - "12.0VP"
+      - "12.0VQ"
+      - "12.0VR"
+      - "ThermalDiode1"
+      - "ThermalDiode2"
+      - "ThermalDiode3"
+      - "ThermalDiode4"
+  GPIConfigs:
+      - name:            PCIE_SLOT0
+        gpi:             1
+        pinID:           44
+        poll:            false
+        analysis:        none
+      - name:            PCIE_SLOT1
+        gpi:             2
+        pinID:           45
+        poll:            false
+        analysis:        none
+      - name:            PCIE_SLOT2
+        gpi:             3
+        pinID:           46
+        poll:            false
+        analysis:        none
+      - name:            PCIE_SLOT3
+        gpi:             4
+        pinID:           47
+        poll:            false
+        analysis:        none
+      - name:            PCIE_SLOT4
+        gpi:             5
+        pinID:           48
+        poll:            false
+        analysis:        none
+      - name:            PCIE_SLOT7
+        gpi:             6
+        pinID:           49
+        poll:            false
+        analysis:        none
+      - name:            PCIE_SLOT8
+        gpi:             7
+        pinID:           50
+        poll:            false
+        analysis:        none
+      - name:            PCIE_SLOT9
+        gpi:             8
+        pinID:           51
+        poll:            false
+        analysis:        none
+      - name:            PCIE_SLOT10
+        gpi:             9
+        pinID:           52
+        poll:            false
+        analysis:        none
+      - name:            PCIE_SLOT11
+        gpi:             10
+        pinID:           53
+        poll:            false
+        analysis:        none
+      - name:            SOFTWARE_PGOOD
+        gpi:             11
+        pinID:           55
+        poll:            false
+        analysis:        none
+      - name:            PGOOD_12A
+        gpi:             12
+        pinID:           56
+        poll:            false
+        analysis:        none
+      - name:            PGOOD_12B
+        gpi:             13
+        pinID:           57
+        poll:            false
+        analysis:        none
+      - name:            PGOOD_12C
+        gpi:             14
+        pinID:           58
+        poll:            false
+        analysis:        none
+      - name:            PGOOD_12D
+        gpi:             15
+        pinID:           59
+        poll:            false
+        analysis:        none
+      - name:            PGOOD_12L
+        gpi:             16
+        pinID:           60
+        poll:            false
+        analysis:        none
+      - name:            PGOOD_12M
+        gpi:             17
+        pinID:           61
+        poll:            false
+        analysis:        none
+      - name:            PGOOD_12N
+        gpi:             18
+        pinID:           62
+        poll:            false
+        analysis:        none
+      - name:            PGOOD_12P
+        gpi:             19
+        pinID:           63
+        poll:            false
+        analysis:        none
+      - name:            PGOOD_12PCIE
+        gpi:             20
+        pinID:           64
+        poll:            false
+        analysis:        none
+      - name:            PGOOD_12Q
+        gpi:             21
+        pinID:           65
+        poll:            false
+        analysis:        none
+      - name:            PGOOD_12R
+        gpi:             22
+        pinID:           66
+        poll:            false
+        analysis:        none
+      - name:            PGOOD_VDN_DCM0
+        gpi:             23
+        pinID:           72
+        poll:            false
+        analysis:        none
+      - name:            PGOOD_VDN_DCM1
+        gpi:             24
+        pinID:           73
+        poll:            false
+        analysis:        none
+      - name:            PGOOD_VCS_DCM0
+        gpi:             25
+        pinID:           74
+        poll:            false
+        analysis:        none
+      - name:            PGOOD_VCS_DCM1
+        gpi:             26
+        pinID:           75
+        poll:            false
+        analysis:        none
+      - name:            PGOOD_VIO_DCM0
+        gpi:             27
+        pinID:           76
+        poll:            false
+        analysis:        none
+      - name:            PGOOD_VIO_DCM1
+        gpi:             28
+        pinID:           77
+        poll:            false
+        analysis:        none
+      - name:            PGOOD_VPCIE_DCM0
+        gpi:             29
+        pinID:           78
+        poll:            false
+        analysis:        none
+      - name:            PGOOD_VPCIE_DCM1
+        gpi:             30
+        pinID:           79
+        poll:            false
+        analysis:        none
+      - name:            PGOOD_PSU1
+        gpi:             31
+        pinID:           80
+        poll:            false
+        analysis:        none
+      - name:            PGOOD_PSU2
+        gpi:             32
+        pinID:           81
+        poll:            false
+        analysis:        none
+      - name:            PGOOD_PSU3
+        gpi:             33
+        pinID:           82
+        poll:            false
+        analysis:        none
+      - name:            PGOOD_PSU4
+        gpi:             34
+        pinID:           83
+        poll:            false
+        analysis:        none
+
diff --git a/meta-ibm/recipes-phosphor/power/power-sequencer/rainier/ucd90160.yaml b/meta-ibm/recipes-phosphor/power/power-sequencer/rainier/ucd90160.yaml
deleted file mode 100644
index a6bba44ce..000000000
--- a/meta-ibm/recipes-phosphor/power/power-sequencer/rainier/ucd90160.yaml
+++ /dev/null
@@ -1,201 +0,0 @@
-- Device:
-  index: 0
-  # Linux sysfs path for this power sequencer (0x22 8-bit address)
-  path:  /sys/bus/i2c/devices/i2c-8/8-0011
-  RailNames:
-      - "12.0V"
-      - "5.0V_USB"
-      - "5.0V_DASD"
-      - "3.3VA"
-      - "3.3VB"
-      - "1.5V"
-      - "1.1V"
-      - "VDDA_DCM0"
-      - "VDDB_DCM0"
-      - "VDDA_DCM1"
-      - "VDDB_DCM1"
-      - "12.0VCS"
-      - "3.3VCS"
-      - "1.1V_Current"
-      - "5.0V_USB_Current"
-      - "5.0V_DASD_Current"
-      - "12.0VN"
-      - "12.0VP"
-      - "12.0VQ"
-      - "12.0VR"
-      - "ThermalDiode1"
-      - "ThermalDiode2"
-      - "ThermalDiode3"
-      - "ThermalDiode4"
-  GPIConfigs:
-      - name:            PCIE_SLOT0
-        gpi:             1
-        pinID:           44
-        poll:            false
-        analysis:        none
-      - name:            PCIE_SLOT1
-        gpi:             2
-        pinID:           45
-        poll:            false
-        analysis:        none
-      - name:            PCIE_SLOT2
-        gpi:             3
-        pinID:           46
-        poll:            false
-        analysis:        none
-      - name:            PCIE_SLOT3
-        gpi:             4
-        pinID:           47
-        poll:            false
-        analysis:        none
-      - name:            PCIE_SLOT4
-        gpi:             5
-        pinID:           48
-        poll:            false
-        analysis:        none
-      - name:            PCIE_SLOT7
-        gpi:             6
-        pinID:           49
-        poll:            false
-        analysis:        none
-      - name:            PCIE_SLOT8
-        gpi:             7
-        pinID:           50
-        poll:            false
-        analysis:        none
-      - name:            PCIE_SLOT9
-        gpi:             8
-        pinID:           51
-        poll:            false
-        analysis:        none
-      - name:            PCIE_SLOT10
-        gpi:             9
-        pinID:           52
-        poll:            false
-        analysis:        none
-      - name:            PCIE_SLOT11
-        gpi:             10
-        pinID:           53
-        poll:            false
-        analysis:        none
-      - name:            SOFTWARE_PGOOD
-        gpi:             11
-        pinID:           55
-        poll:            false
-        analysis:        none
-      - name:            PGOOD_12A
-        gpi:             12
-        pinID:           56
-        poll:            false
-        analysis:        none
-      - name:            PGOOD_12B
-        gpi:             13
-        pinID:           57
-        poll:            false
-        analysis:        none
-      - name:            PGOOD_12C
-        gpi:             14
-        pinID:           58
-        poll:            false
-        analysis:        none
-      - name:            PGOOD_12D
-        gpi:             15
-        pinID:           59
-        poll:            false
-        analysis:        none
-      - name:            PGOOD_12L
-        gpi:             16
-        pinID:           60
-        poll:            false
-        analysis:        none
-      - name:            PGOOD_12M
-        gpi:             17
-        pinID:           61
-        poll:            false
-        analysis:        none
-      - name:            PGOOD_12N
-        gpi:             18
-        pinID:           62
-        poll:            false
-        analysis:        none
-      - name:            PGOOD_12P
-        gpi:             19
-        pinID:           63
-        poll:            false
-        analysis:        none
-      - name:            PGOOD_12PCIE
-        gpi:             20
-        pinID:           64
-        poll:            false
-        analysis:        none
-      - name:            PGOOD_12Q
-        gpi:             21
-        pinID:           65
-        poll:            false
-        analysis:        none
-      - name:            PGOOD_12R
-        gpi:             22
-        pinID:           66
-        poll:            false
-        analysis:        none
-      - name:            PGOOD_VDN_DCM0
-        gpi:             23
-        pinID:           72
-        poll:            false
-        analysis:        none
-      - name:            PGOOD_VDN_DCM1
-        gpi:             24
-        pinID:           73
-        poll:            false
-        analysis:        none
-      - name:            PGOOD_VCS_DCM0
-        gpi:             25
-        pinID:           74
-        poll:            false
-        analysis:        none
-      - name:            PGOOD_VCS_DCM1
-        gpi:             26
-        pinID:           75
-        poll:            false
-        analysis:        none
-      - name:            PGOOD_VIO_DCM0
-        gpi:             27
-        pinID:           76
-        poll:            false
-        analysis:        none
-      - name:            PGOOD_VIO_DCM1
-        gpi:             28
-        pinID:           77
-        poll:            false
-        analysis:        none
-      - name:            PGOOD_VPCIE_DCM0
-        gpi:             29
-        pinID:           78
-        poll:            false
-        analysis:        none
-      - name:            PGOOD_VPCIE_DCM1
-        gpi:             30
-        pinID:           79
-        poll:            false
-        analysis:        none
-      - name:            PGOOD_PSU1
-        gpi:             31
-        pinID:           80
-        poll:            false
-        analysis:        none
-      - name:            PGOOD_PSU2
-        gpi:             32
-        pinID:           81
-        poll:            false
-        analysis:        none
-      - name:            PGOOD_PSU3
-        gpi:             33
-        pinID:           82
-        poll:            false
-        analysis:        none
-      - name:            PGOOD_PSU4
-        gpi:             34
-        pinID:           83
-        poll:            false
-        analysis:        none
-
-- 
cgit v1.2.3


From ab18eb5cb79bd55c1178b331e468cd83a0056ff7 Mon Sep 17 00:00:00 2001
From: Andrew Geissler 
Date: Mon, 12 Apr 2021 15:40:56 +0000
Subject: intel-ipmi-oem: srcrev bump 9420416abe..cc4025986d

Suryakanth Sekar (1):
      Fix the ResetBIOS value from bios-settings-mgr srv

Change-Id: I6d5f1312175e3a3d7508883188ece997f05f8975
Signed-off-by: Andrew Geissler 
---
 meta-intel-openbmc/meta-common/recipes-intel/ipmi/intel-ipmi-oem_git.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta-intel-openbmc/meta-common/recipes-intel/ipmi/intel-ipmi-oem_git.bb b/meta-intel-openbmc/meta-common/recipes-intel/ipmi/intel-ipmi-oem_git.bb
index 6ebc733b6..495b35d4a 100755
--- a/meta-intel-openbmc/meta-common/recipes-intel/ipmi/intel-ipmi-oem_git.bb
+++ b/meta-intel-openbmc/meta-common/recipes-intel/ipmi/intel-ipmi-oem_git.bb
@@ -5,7 +5,7 @@ LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=a6a4edad4aed50f39a66d098d74b265b"
 
 SRC_URI = "git://github.com/openbmc/intel-ipmi-oem"
-SRCREV = "9420416abe06d943301ab304044ed8001d49e315"
+SRCREV = "cc4025986d958a852bdb07142cea4419e574122f"
 
 S = "${WORKDIR}/git"
 PV = "0.1+git${SRCPV}"
-- 
cgit v1.2.3


From 39c9d3d1bbd05b16016ec6f8044dea8e60d96aff Mon Sep 17 00:00:00 2001
From: Patrick Williams 
Date: Fri, 19 Feb 2021 19:33:52 -0600
Subject: meta-evb-nuvoton: add symlinks for machine-conf for setup

The 'setup' script looks for machine config files being present
to know that the meta-layer contains a valid machine for OpenBMC.
The nuvoton EVBs are split between meta-nuvoton for the base support
and meta-evb-nuvoton for "EVB on Phosphor" support.

Add symlinks for the machine config files from meta-nuvoton into
meta-evb-nuvoton so that setup recognizes them as valid machines, but
using the phosphor layers.

Signed-off-by: Patrick Williams 
Change-Id: I871432047979f8a7c3d1b836633a5dc74864b6fa
---
 meta-evb/meta-evb-nuvoton/meta-evb-npcm750/conf/machine/evb-npcm750.conf | 1 +
 1 file changed, 1 insertion(+)
 create mode 120000 meta-evb/meta-evb-nuvoton/meta-evb-npcm750/conf/machine/evb-npcm750.conf

diff --git a/meta-evb/meta-evb-nuvoton/meta-evb-npcm750/conf/machine/evb-npcm750.conf b/meta-evb/meta-evb-nuvoton/meta-evb-npcm750/conf/machine/evb-npcm750.conf
new file mode 120000
index 000000000..51ebe36ac
--- /dev/null
+++ b/meta-evb/meta-evb-nuvoton/meta-evb-npcm750/conf/machine/evb-npcm750.conf
@@ -0,0 +1 @@
+../../../../../meta-nuvoton/conf/machine/evb-npcm750.conf
\ No newline at end of file
-- 
cgit v1.2.3


From 830ca604fe9896aafade07e93416ae058cc2e6ad Mon Sep 17 00:00:00 2001
From: Patrick Williams 
Date: Fri, 19 Feb 2021 17:13:35 -0600
Subject: alibaba-thor: remove empty distro indirection

Most openbmc machines use DISTRO="openbmc-phosphor" but
Thor has a "alibaba-openbmc" distro config file.  This
config file has nothing except an inclusion of the phosphor
one, so remove this useless indirection.

Signed-off-by: Patrick Williams 
Change-Id: I9d4038c7bd58112fe9f2396c71f9bbd285b148bf
---
 meta-alibaba/meta-thor/conf/distro/alibaba-openbmc.conf | 1 -
 meta-alibaba/meta-thor/conf/local.conf.sample           | 4 ++--
 2 files changed, 2 insertions(+), 3 deletions(-)
 delete mode 100644 meta-alibaba/meta-thor/conf/distro/alibaba-openbmc.conf

diff --git a/meta-alibaba/meta-thor/conf/distro/alibaba-openbmc.conf b/meta-alibaba/meta-thor/conf/distro/alibaba-openbmc.conf
deleted file mode 100644
index de15fbcc6..000000000
--- a/meta-alibaba/meta-thor/conf/distro/alibaba-openbmc.conf
+++ /dev/null
@@ -1 +0,0 @@
-require conf/distro/include/phosphor-base.inc
diff --git a/meta-alibaba/meta-thor/conf/local.conf.sample b/meta-alibaba/meta-thor/conf/local.conf.sample
index 09c441fee..fbae84b73 100644
--- a/meta-alibaba/meta-thor/conf/local.conf.sample
+++ b/meta-alibaba/meta-thor/conf/local.conf.sample
@@ -58,9 +58,9 @@ DL_DIR ?= "${TOPDIR}/../downloads"
 # Ultimately when creating custom policy, people will likely end up subclassing
 # these defaults.
 #
-DISTRO ?= "alibaba-openbmc"
+DISTRO ?= "openbmc-phosphor"
 # As an example of a subclass there is a "bleeding" edge policy configuration
-# where many versions are set to the absolute latest code from the upstream 
+# where many versions are set to the absolute latest code from the upstream
 # source control systems. This is just mentioned here as an example, its not
 # useful to most new users.
 # DISTRO ?= "poky-bleeding"
-- 
cgit v1.2.3


From 12e8df88921dd8308fba9aca862b7ab5965a1c2f Mon Sep 17 00:00:00 2001
From: Patrick Williams 
Date: Sun, 21 Feb 2021 12:25:18 -0600
Subject: meta-ibm: set OBMC_ORG_YAML_SUBDIRS in machines

The OBMC_ORG_YAML_SUBDIRS variable is intended to be set system-wide
and not via bbappends.  There was an existing 'ibm-distrovars.inc'
that was unused.  Rename it as appropriate, add it to the machines,
and remove the bbappend files.

Signed-off-by: Patrick Williams 
Change-Id: Id5acd359f41c17ec9e68d1f0717e2f5c1bf96dcf
---
 meta-ibm/conf/distro/include/ibm-distrovars.inc                    | 1 -
 meta-ibm/conf/distro/include/ibm-yaml.inc                          | 1 +
 meta-ibm/conf/machine/mihawk.conf                                  | 1 +
 meta-ibm/conf/machine/p10bmc.conf                                  | 1 +
 meta-ibm/conf/machine/witherspoon-tacoma.conf                      | 1 +
 meta-ibm/conf/machine/witherspoon.conf                             | 1 +
 meta-ibm/recipes-phosphor/dbus/phosphor-dbus-interfaces_%.bbappend | 2 --
 7 files changed, 5 insertions(+), 3 deletions(-)
 delete mode 100644 meta-ibm/conf/distro/include/ibm-distrovars.inc
 create mode 100644 meta-ibm/conf/distro/include/ibm-yaml.inc
 delete mode 100644 meta-ibm/recipes-phosphor/dbus/phosphor-dbus-interfaces_%.bbappend

diff --git a/meta-ibm/conf/distro/include/ibm-distrovars.inc b/meta-ibm/conf/distro/include/ibm-distrovars.inc
deleted file mode 100644
index dde13f233..000000000
--- a/meta-ibm/conf/distro/include/ibm-distrovars.inc
+++ /dev/null
@@ -1 +0,0 @@
-OBMC_ORG_YAML_SUBDIRS += " com/ibm"
diff --git a/meta-ibm/conf/distro/include/ibm-yaml.inc b/meta-ibm/conf/distro/include/ibm-yaml.inc
new file mode 100644
index 000000000..dde13f233
--- /dev/null
+++ b/meta-ibm/conf/distro/include/ibm-yaml.inc
@@ -0,0 +1 @@
+OBMC_ORG_YAML_SUBDIRS += " com/ibm"
diff --git a/meta-ibm/conf/machine/mihawk.conf b/meta-ibm/conf/machine/mihawk.conf
index bb54c6a78..2bb67ed08 100644
--- a/meta-ibm/conf/machine/mihawk.conf
+++ b/meta-ibm/conf/machine/mihawk.conf
@@ -15,6 +15,7 @@ require conf/machine/include/ast2500.inc
 require conf/machine/include/obmc-bsp-common.inc
 require conf/machine/include/openpower.inc
 require conf/machine/include/p9.inc
+require conf/distro/include/ibm-yaml.inc
 
 PHOSPHOR_MRW_LICENSE = "Apache-2.0"
 PHOSPHOR_MRW_LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
diff --git a/meta-ibm/conf/machine/p10bmc.conf b/meta-ibm/conf/machine/p10bmc.conf
index 22b59b426..2cab74e4d 100644
--- a/meta-ibm/conf/machine/p10bmc.conf
+++ b/meta-ibm/conf/machine/p10bmc.conf
@@ -14,6 +14,7 @@ include conf/machine/include/ibm-power10-cpu.inc
 require conf/distro/include/openpower-virtual-pnor.inc
 require conf/distro/include/phosphor-mmc.inc
 require conf/distro/include/ibm-mpreboot.inc
+require conf/distro/include/ibm-yaml.inc
 
 SERIAL_CONSOLES = "115200;ttyS4"
 
diff --git a/meta-ibm/conf/machine/witherspoon-tacoma.conf b/meta-ibm/conf/machine/witherspoon-tacoma.conf
index 8d2a9078c..9826d55ec 100644
--- a/meta-ibm/conf/machine/witherspoon-tacoma.conf
+++ b/meta-ibm/conf/machine/witherspoon-tacoma.conf
@@ -10,6 +10,7 @@ require conf/machine/include/ast2600.inc
 require conf/machine/include/obmc-bsp-common.inc
 require conf/machine/include/openpower.inc
 require conf/machine/include/p9.inc
+require conf/distro/include/ibm-yaml.inc
 require conf/distro/include/openpower-virtual-pnor.inc
 require conf/distro/include/phosphor-mmc.inc
 require conf/distro/include/ibm-mpreboot.inc
diff --git a/meta-ibm/conf/machine/witherspoon.conf b/meta-ibm/conf/machine/witherspoon.conf
index c037a78bd..08f2935f9 100644
--- a/meta-ibm/conf/machine/witherspoon.conf
+++ b/meta-ibm/conf/machine/witherspoon.conf
@@ -15,6 +15,7 @@ require conf/machine/include/ast2500.inc
 require conf/machine/include/obmc-bsp-common.inc
 require conf/machine/include/openpower.inc
 require conf/machine/include/p9.inc
+require conf/distro/include/ibm-yaml.inc
 
 PHOSPHOR_MRW_LICENSE = "Apache-2.0"
 PHOSPHOR_MRW_LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
diff --git a/meta-ibm/recipes-phosphor/dbus/phosphor-dbus-interfaces_%.bbappend b/meta-ibm/recipes-phosphor/dbus/phosphor-dbus-interfaces_%.bbappend
deleted file mode 100644
index d782a389d..000000000
--- a/meta-ibm/recipes-phosphor/dbus/phosphor-dbus-interfaces_%.bbappend
+++ /dev/null
@@ -1,2 +0,0 @@
-OBMC_ORG_YAML_SUBDIRS_append_witherspoon = " com/ibm"
-OBMC_ORG_YAML_SUBDIRS_append_p10bmc = " com/ibm"
-- 
cgit v1.2.3


From b88c686904441824031510e9d5e2228e6f2ca8c9 Mon Sep 17 00:00:00 2001
From: Bruce Mitchell 
Date: Mon, 12 Apr 2021 12:50:37 -0500
Subject: Replace IRC with Discord

Discord has more users. IRC traffic has ground to a halt.

Signed-off-by: Bruce Mitchell 
Change-Id: I9e0a695ca5397cdad9489c63edd4f01d295c44a6
---
 meta-ibm/MAINTAINERS | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/meta-ibm/MAINTAINERS b/meta-ibm/MAINTAINERS
index 68f29a274..81dd7c5af 100644
--- a/meta-ibm/MAINTAINERS
+++ b/meta-ibm/MAINTAINERS
@@ -14,7 +14,7 @@ Description of section entries:
 
     Section entries are structured according to the following scheme:
 
-    X:  NAME  
+    X:  NAME  
     X:  ...
     .
     .
@@ -24,10 +24,10 @@ Description of section entries:
     organization; FILE_PATH is a file path within the repository, possibly with
     wildcards; X is a tag of one of the following types:
 
-    M:  Denotes maintainer; has fields NAME  ;
+    M:  Denotes maintainer; has fields NAME  ;
         if omitted from an entry, assume one of the maintainers from the
         MAINTAINERS entry.
-    R:  Denotes reviewer; has fields NAME  ;
+    R:  Denotes reviewer; has fields NAME  ;
         these people are to be added as reviewers for a change matching the repo
         path.
     F:  Denotes forked from an external repository; has fields URL.
-- 
cgit v1.2.3


From 64f85d4ace6c30367462b7ef0816d1ab02071540 Mon Sep 17 00:00:00 2001
From: Bruce Mitchell 
Date: Fri, 9 Apr 2021 09:13:11 -0500
Subject: kdump: Added needed packages for kdump

Specifically kdump is a product requirement; makedumpfile is required
to reduce the size of the crash dump image as well as not saving
unneeded data at some point it will be useful from a privacy
perspective by not saving "sensitive" information.

Smaller crash dumps are faster to save thus allowing the reboot
to normal BMC mode sooner.

Signed-off-by: Bruce Mitchell 
Change-Id: Ib07690cd26e519e1e3e51013ac76e623a3dad6a9
---
 .../recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend    | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/meta-ibm/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend b/meta-ibm/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend
index bb6075898..a7bf5740f 100644
--- a/meta-ibm/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend
+++ b/meta-ibm/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend
@@ -28,9 +28,9 @@ RDEPENDS_${PN}-inventory_append_mihawk = " openpower-fru-vpd openpower-occ-contr
 RDEPENDS_${PN}-fan-control_append_ibm-ac-server = " fan-watchdog"
 RDEPENDS_${PN}-fan-control_append_p10bmc = " fan-watchdog sensor-monitor"
 RDEPENDS_${PN}-extras_append_ibm-ac-server = " ${POWER_SERVICE_PACKAGES_AC_SERVER} witherspoon-power-supply-sync phosphor-webui"
-RDEPENDS_${PN}-extras_append_p10bmc = " ${POWER_SERVICE_PACKAGES_P10} webui-vue dbus-sensors phosphor-virtual-sensor kexec-tools"
+RDEPENDS_${PN}-extras_append_p10bmc = " ${POWER_SERVICE_PACKAGES_P10} webui-vue dbus-sensors phosphor-virtual-sensor kexec-tools makedumpfile kdump vmcore-dmesg"
 RDEPENDS_${PN}-extras_append_mihawk = " phosphor-webui phosphor-image-signing wistron-ipmi-oem ${POWER_SERVICE_PACKAGES_AC_SERVER}"
-RDEPENDS_${PN}-extras_append_witherspoon-tacoma = " pldm srvcfg-manager webui-vue biosconfig-manager phosphor-post-code-manager phosphor-host-postd kexec-tools"
+RDEPENDS_${PN}-extras_append_witherspoon-tacoma = " pldm srvcfg-manager webui-vue biosconfig-manager phosphor-post-code-manager phosphor-host-postd kexec-tools makedumpfile kdump vmcore-dmesg"
 
 RDEPENDS_${PN}-extras_remove_p10bmc = "obmc-ikvm liberation-fonts uart-render-controller"
 RDEPENDS_${PN}-extras_remove_swift = "obmc-ikvm"
-- 
cgit v1.2.3


From 2e8e014d679748a5ce66e7d0f400c229fd2175db Mon Sep 17 00:00:00 2001
From: PriyangaRamasamy 
Date: Tue, 2 Mar 2021 23:01:04 -0600
Subject: Bad VPD Installation in dreport

Bad VPD plugin is an IBM specific plugin which collects all the
corrupted VPD files from /tmp/bad-vpd and puts it as a part of user
initiated BMC dump.

Openpower-vpd-parser makes a copy of the corrupted vpd's into
/tmp/bad-vpd at runtime, whenever there occurs a VPD ECC exception or
VPD record/keyword data exception.

Installed badvpd plugin in dreport via phosphor-debug-collector recipe.

Placed badvpd plugin in
openbmc/phosphor-debug-collector/tools/dreport/ibm.d directory as we
collect bad vpds' only when "ibm-parser" feature flag is enabled.

Tested on simics.

root@rainier:~# dreport -v
Wed Mar 3 04:43:18 UTC 2021 Name:          obmcdump_00000000_1614746598.tar.xz
Wed Mar 3 04:43:18 UTC 2021 Epochtime:     1614746598
Wed Mar 3 04:43:18 UTC 2021 ID:            00000000
Wed Mar 3 04:43:18 UTC 2021 Type:          user
Wed Mar 3 04:43:18 UTC 2021 INFO: Collected disk usage
Wed Mar 3 04:43:18 UTC 2021 INFO: Collected failed services
Wed Mar 3 04:43:19 UTC 2021 INFO: Collected Journal pretty log
Wed Mar 3 04:43:19 UTC 2021 INFO: Copied Memory info /proc/meminfo
Wed Mar 3 04:43:19 UTC 2021 INFO: Collected top
Wed Mar 3 04:43:19 UTC 2021 INFO: Copied Bad VPD /tmp/bad-vpd
Wed Mar 3 04:43:19 UTC 2021 INFO: Copied OS release info /etc/os-release
Wed Mar 3 04:43:19 UTC 2021 INFO: No elog entries
Wed Mar 3 04:43:19 UTC 2021 INFO: Collected inventory
Wed Mar 3 04:43:19 UTC 2021 INFO: Copied OBMC console log /var/log/obmc-console.log
Wed Mar 3 04:43:19 UTC 2021 INFO: Collected ip addr
Wed Mar 3 04:43:19 UTC 2021 INFO: Collected ip link
Wed Mar 3 04:43:19 UTC 2021 INFO: Collected PRI-Flash: U-Boot environment variables
Wed Mar 3 04:43:19 UTC 2021 INFO: Copied GUARD Records /var/lib/phosphor-software-manager/pnor/prsv/GUARD
Wed Mar 3 04:43:19 UTC 2021 ERROR: /etc/alt_fw_env.config does not exist
Wed Mar 3 04:43:19 UTC 2021 INFO: Copied CPU info /proc/cpuinfo
Wed Mar 3 04:43:19 UTC 2021 INFO: Collected uptime
Wed Mar 3 04:43:19 UTC 2021 INFO: Collected BMC State
Wed Mar 3 04:43:19 UTC 2021 INFO: Collected Chassis State
Wed Mar 3 04:43:19 UTC 2021 INFO: Collected hostnamectl
Wed Mar 3 04:43:19 UTC 2021 INFO: Collected Host State
Adding Dump Header :/usr/share/dreport.d/include.d/gendumpheader
Wed Mar 3 04:44:08 UTC 2021 Report is available in /tmp
Wed Mar 3 04:44:08 UTC 2021 Successfully completed

Check the dump tar file generated in /tmp directory.
After skipping 628 bytes of dump header in tar, untar it.
The files in /tmp/bad-vpd directory gets collected into the bmc dump.

Signed-off-by: PriyangaRamasamy 
Change-Id: Ifdbfa56b8c67263271059dbee390092b92977775
---
 .../dump/phosphor-debug-collector_%.bbappend              | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

diff --git a/meta-ibm/recipes-phosphor/dump/phosphor-debug-collector_%.bbappend b/meta-ibm/recipes-phosphor/dump/phosphor-debug-collector_%.bbappend
index 96b67b063..0cbca65aa 100644
--- a/meta-ibm/recipes-phosphor/dump/phosphor-debug-collector_%.bbappend
+++ b/meta-ibm/recipes-phosphor/dump/phosphor-debug-collector_%.bbappend
@@ -33,7 +33,20 @@ install_dreport_header() {
     install -m 0755 ${S}/tools/dreport.d/ibm.d/gendumpheader ${D}${dreport_include_dir}/
 }
 
+#Install ibm bad vpd script from dreport/ibm.d to dreport/plugins.d
+install_ibm_bad_vpd() {
+    install -d ${D}${dreport_plugin_dir}
+    install -m 0755 ${S}/tools/dreport.d/ibm.d/badvpd ${D}${dreport_plugin_dir}
+}
+
+#Link in the plugins so dreport run them at the appropriate time based on the plugin type
+python link_ibm_bad_vpd() {
+    sourcedir = d.getVar('S', True)
+    script = os.path.join(sourcedir, "tools", "dreport.d", "ibm.d", "badvpd")
+    install_dreport_user_script(script, d)
+}
+
 IBM_INSTALL_POSTFUNCS = "install_ibm_plugins link_ibm_plugins"
-IBM_INSTALL_POSTFUNCS_p10bmc += "install_dreport_header"
+IBM_INSTALL_POSTFUNCS_p10bmc += "install_dreport_header install_ibm_bad_vpd link_ibm_bad_vpd"
 
 do_install[postfuncs] += "${IBM_INSTALL_POSTFUNCS}"
-- 
cgit v1.2.3


From 9c2c90fb92d0ff2604f14b882e26ea9641780370 Mon Sep 17 00:00:00 2001
From: Andrew Geissler 
Date: Mon, 12 Apr 2021 13:26:44 -0500
Subject: 1s4u: replace fan3 with fan4

The 1s4u hardware is configured with fans at 0,1,2, and 4 locations.

Tested:
- Verified that we can now power on a 1s4u machine with this change plus
  a kernel device tree change to move to fan 4.

Signed-off-by: Andrew Geissler 
Change-Id: Ic1415da9ab900c0e553600df89a1e26893f8b0bd
---
 .../phosphor-fan-monitor-config/p10bmc/rainier-1s4u/config.json   | 4 ++--
 .../phosphor-fan-presence-config/p10bmc/rainier-1s4u/config.json  | 8 ++++----
 .../fans/phosphor-fan/p10bmc/rainier-1s4u/fans.json               | 4 ++--
 3 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/meta-ibm/recipes-phosphor/fans/phosphor-fan-monitor-config/p10bmc/rainier-1s4u/config.json b/meta-ibm/recipes-phosphor/fans/phosphor-fan-monitor-config/p10bmc/rainier-1s4u/config.json
index 1a5e30572..737cb3f3b 100644
--- a/meta-ibm/recipes-phosphor/fans/phosphor-fan-monitor-config/p10bmc/rainier-1s4u/config.json
+++ b/meta-ibm/recipes-phosphor/fans/phosphor-fan-monitor-config/p10bmc/rainier-1s4u/config.json
@@ -49,7 +49,7 @@
          ]
       },
       {
-         "inventory": "/system/chassis/motherboard/fan3",
+         "inventory": "/system/chassis/motherboard/fan4",
          "functional_delay": 5,
          "allowed_out_of_range_time": 30,
          "deviation": 15,
@@ -59,7 +59,7 @@
          "nonfunc_rotor_error_delay": 0,
          "sensors": [
             {
-               "name": "fan3_0",
+               "name": "fan4_0",
                "has_target": true
             }
          ]
diff --git a/meta-ibm/recipes-phosphor/fans/phosphor-fan-presence-config/p10bmc/rainier-1s4u/config.json b/meta-ibm/recipes-phosphor/fans/phosphor-fan-presence-config/p10bmc/rainier-1s4u/config.json
index cb9eb70de..5bcda88b3 100644
--- a/meta-ibm/recipes-phosphor/fans/phosphor-fan-presence-config/p10bmc/rainier-1s4u/config.json
+++ b/meta-ibm/recipes-phosphor/fans/phosphor-fan-presence-config/p10bmc/rainier-1s4u/config.json
@@ -63,19 +63,19 @@
       }
    },
    {
-      "name": "fan3",
-      "path": "/system/chassis/motherboard/fan3",
+      "name": "fan4",
+      "path": "/system/chassis/motherboard/fan4",
       "methods": [
          {
             "type": "gpio",
-            "key": 9,
+            "key": 10,
             "physpath": "/sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a400.i2c-bus/i2c-7/7-0061",
             "devpath": "/dev/input/by-path/platform-gpio-keys-polled-event"
          },
          {
             "type": "tach",
             "sensors": [
-               "fan3_0"
+               "fan4_0"
             ]
          }
       ],
diff --git a/meta-ibm/recipes-phosphor/fans/phosphor-fan/p10bmc/rainier-1s4u/fans.json b/meta-ibm/recipes-phosphor/fans/phosphor-fan/p10bmc/rainier-1s4u/fans.json
index 0e4e4d05a..a04270076 100644
--- a/meta-ibm/recipes-phosphor/fans/phosphor-fan/p10bmc/rainier-1s4u/fans.json
+++ b/meta-ibm/recipes-phosphor/fans/phosphor-fan/p10bmc/rainier-1s4u/fans.json
@@ -18,9 +18,9 @@
         "target_interface": "xyz.openbmc_project.Control.FanSpeed"
     },
     {
-        "name": "fan3",
+        "name": "fan4",
         "zone": "0",
-        "sensors": ["fan3_0"],
+        "sensors": ["fan4_0"],
         "target_interface": "xyz.openbmc_project.Control.FanSpeed"
     }
 ]
-- 
cgit v1.2.3


From dfcf32d1c2b9a3de7a0aaeddfe0aba2c1ec06a16 Mon Sep 17 00:00:00 2001
From: Bruce Mitchell 
Date: Mon, 12 Apr 2021 13:11:48 -0500
Subject: Replace IRC with Discord

Discord has more users. IRC traffic has ground to a halt.

Signed-off-by: Bruce Mitchell 
Change-Id: I7bd278b259197787e407868fbb9eac3879fef092
---
 meta-phosphor/MAINTAINERS | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/meta-phosphor/MAINTAINERS b/meta-phosphor/MAINTAINERS
index 68f29a274..81dd7c5af 100644
--- a/meta-phosphor/MAINTAINERS
+++ b/meta-phosphor/MAINTAINERS
@@ -14,7 +14,7 @@ Description of section entries:
 
     Section entries are structured according to the following scheme:
 
-    X:  NAME  
+    X:  NAME  
     X:  ...
     .
     .
@@ -24,10 +24,10 @@ Description of section entries:
     organization; FILE_PATH is a file path within the repository, possibly with
     wildcards; X is a tag of one of the following types:
 
-    M:  Denotes maintainer; has fields NAME  ;
+    M:  Denotes maintainer; has fields NAME  ;
         if omitted from an entry, assume one of the maintainers from the
         MAINTAINERS entry.
-    R:  Denotes reviewer; has fields NAME  ;
+    R:  Denotes reviewer; has fields NAME  ;
         these people are to be added as reviewers for a change matching the repo
         path.
     F:  Denotes forked from an external repository; has fields URL.
-- 
cgit v1.2.3


From 57e15b1d5cf7749e6bd01c3ef484689f4191d51e Mon Sep 17 00:00:00 2001
From: Brad Bishop 
Date: Thu, 25 Mar 2021 15:40:46 -0400
Subject: meta-phosphor: use systemd_system_unitdir

This variable was added to bitbake.conf so lets use it.  Using it is
best pratice and enables things like alternative base_libdir paths.

Change-Id: I181d12e02ca7918614dacec68bd8e033932eb0ab
Signed-off-by: Brad Bishop 
---
 meta-phosphor/recipes-phosphor/console/obmc-console_git.bb         | 2 +-
 meta-phosphor/recipes-support/nss-pam-ldapd/nss-pam-ldapd_0.9.8.bb | 4 ++--
 meta-phosphor/recipes-support/rng-tools/rng-tools_%.bbappend       | 6 +++---
 3 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/meta-phosphor/recipes-phosphor/console/obmc-console_git.bb b/meta-phosphor/recipes-phosphor/console/obmc-console_git.bb
index 195b276df..4b6abb5a2 100644
--- a/meta-phosphor/recipes-phosphor/console/obmc-console_git.bb
+++ b/meta-phosphor/recipes-phosphor/console/obmc-console_git.bb
@@ -36,7 +36,7 @@ SYSTEMD_SERVICE_${PN} += "obmc-console-ssh@.service \
                 obmc-console@.service \
                 "
 
-FILES_${PN} += "/lib/systemd/system/obmc-console-ssh@.service.d/use-socket.conf"
+FILES_${PN} += "${systemd_system_unitdir}/obmc-console-ssh@.service.d/use-socket.conf"
 
 do_install_append() {
         # Install the server configuration
diff --git a/meta-phosphor/recipes-support/nss-pam-ldapd/nss-pam-ldapd_0.9.8.bb b/meta-phosphor/recipes-support/nss-pam-ldapd/nss-pam-ldapd_0.9.8.bb
index 5fcfeea17..596c1824f 100644
--- a/meta-phosphor/recipes-support/nss-pam-ldapd/nss-pam-ldapd_0.9.8.bb
+++ b/meta-phosphor/recipes-support/nss-pam-ldapd/nss-pam-ldapd_0.9.8.bb
@@ -49,8 +49,8 @@ do_install_append() {
 	sed -i -e 's/^gid nslcd/# gid nslcd/;' ${D}${sysconfdir}/nslcd.conf
 	sed -i -e 's/^base dc=example,dc=com/base ${LDAP_DN}/;' ${D}${sysconfdir}/nslcd.conf
 
-	install -d ${D}${systemd_unitdir}/system
-	install -m 0644 ${WORKDIR}/nslcd.service ${D}${systemd_unitdir}/system
+	install -d ${D}${systemd_system_unitdir}
+	install -m 0644 ${WORKDIR}/nslcd.service ${D}${systemd_system_unitdir}
 }
 
 inherit update-rc.d systemd
diff --git a/meta-phosphor/recipes-support/rng-tools/rng-tools_%.bbappend b/meta-phosphor/recipes-support/rng-tools/rng-tools_%.bbappend
index ce5d7994b..e9577eb5d 100644
--- a/meta-phosphor/recipes-support/rng-tools/rng-tools_%.bbappend
+++ b/meta-phosphor/recipes-support/rng-tools/rng-tools_%.bbappend
@@ -8,7 +8,7 @@ PACKAGECONFIG_remove = "\
 
 inherit systemd
 
-FILES_${PN} += "${systemd_unitdir}/system/rngd.service.d"
+FILES_${PN} += "${systemd_system_unitdir}/rngd.service.d"
 
 do_install_append() {
 
@@ -18,9 +18,9 @@ do_install_append() {
     # go slower.
     if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
         if ${@bb.utils.contains('PACKAGECONFIG', 'libjitterentropy', 'true', 'false', d)}; then
-            install -d ${D}${systemd_unitdir}/system/rngd.service.d
+            install -d ${D}${systemd_system_unitdir}/rngd.service.d
             install -m 644 ${WORKDIR}/10-nice.conf \
-                ${D}${systemd_unitdir}/system/rngd.service.d
+                ${D}${systemd_system_unitdir}/rngd.service.d
         fi
     fi
 }
-- 
cgit v1.2.3


From 23e749b62bb4c541d19cf3b79611d9d40cb215e1 Mon Sep 17 00:00:00 2001
From: "Anton D. Kachalov" 
Date: Thu, 4 Feb 2021 13:13:57 +0100
Subject: Enable Systemd NSS module to support DynamicUsers

DynamicUsers flag in systemd service configuration file required to create,
handle and recycle temporary users.

This is essential module for upcoming daemons' privilege separation work.

Reference: https://github.com/openbmc/openbmc/issues/3383

Signed-off-by: Anton D. Kachalov 
Change-Id: Iabd709c4a20f754fc6ea505e640b2d361aba0be2
---
 meta-phosphor/classes/obmc-phosphor-image.bbclass           | 4 +++-
 meta-phosphor/conf/distro/include/phosphor-base.inc         | 2 +-
 meta-phosphor/recipes-core/base-files/base-files_%.bbappend | 2 ++
 meta-phosphor/recipes-core/systemd/systemd_%.bbappend       | 1 +
 4 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/meta-phosphor/classes/obmc-phosphor-image.bbclass b/meta-phosphor/classes/obmc-phosphor-image.bbclass
index 0a07fc6f4..c83dce32f 100644
--- a/meta-phosphor/classes/obmc-phosphor-image.bbclass
+++ b/meta-phosphor/classes/obmc-phosphor-image.bbclass
@@ -88,7 +88,9 @@ remove_etc_version() {
 }
 
 enable_ldap_nsswitch() {
-    sed -i 's/\(\(passwd\|group\|shadow\):\s*\).*/\1files ldap/' \
+    sed -i 's/\(\(passwd\|group\):\s*\).*/\1files systemd ldap/' \
+        "${IMAGE_ROOTFS}${sysconfdir}/nsswitch.conf"
+    sed -i 's/\(shadow:\s*\).*/\1files ldap/' \
         "${IMAGE_ROOTFS}${sysconfdir}/nsswitch.conf"
 }
 
diff --git a/meta-phosphor/conf/distro/include/phosphor-base.inc b/meta-phosphor/conf/distro/include/phosphor-base.inc
index af2e6ef76..5b114810f 100644
--- a/meta-phosphor/conf/distro/include/phosphor-base.inc
+++ b/meta-phosphor/conf/distro/include/phosphor-base.inc
@@ -120,7 +120,7 @@ include conf/distro/include/openbmc-phosphor/${MACHINE}.inc
 IMAGE_CLASSES_append = " image_types_phosphor phosphor-rootfs-postcommands"
 IMAGE_CLASSES_append_npcm7xx = " image_types_phosphor_nuvoton"
 
-IMAGE_INSTALL_append = " dbus-broker"
+IMAGE_INSTALL_append = " dbus-broker libnss-systemd"
 
 # Skip the udev database by default.  It adds around 2MB
 # compressed to the root filesystem, and probably doesn't
diff --git a/meta-phosphor/recipes-core/base-files/base-files_%.bbappend b/meta-phosphor/recipes-core/base-files/base-files_%.bbappend
index b6c4222b2..30e562325 100644
--- a/meta-phosphor/recipes-core/base-files/base-files_%.bbappend
+++ b/meta-phosphor/recipes-core/base-files/base-files_%.bbappend
@@ -10,6 +10,8 @@ SRC_URI += " \
 "
 
 do_install_append() {
+    sed -i 's/\(\(passwd\|group\):\s*\).*/\1files systemd/' \
+        "${D}${sysconfdir}/nsswitch.conf"
 
     install -d ${D}/srv
 
diff --git a/meta-phosphor/recipes-core/systemd/systemd_%.bbappend b/meta-phosphor/recipes-core/systemd/systemd_%.bbappend
index f1046de20..1f0b95e39 100644
--- a/meta-phosphor/recipes-core/systemd/systemd_%.bbappend
+++ b/meta-phosphor/recipes-core/systemd/systemd_%.bbappend
@@ -6,6 +6,7 @@ PACKAGECONFIG = "\
         hostnamed \
         kmod \
         networkd \
+        nss \
         pam \
         randomseed \
         resolved \
-- 
cgit v1.2.3


From 90b6b85a7f1aeb242adac934c01688dbb966b532 Mon Sep 17 00:00:00 2001
From: Adriana Kobylak 
Date: Mon, 12 Apr 2021 16:40:48 +0000
Subject: README: Remove witherspoon-128 and reorder it

The witherspoon-128 machine was removed with openbmc/openbmc commit
40c2946. Remove it from the README and re-arrange the machine names
alphabetically so it's easier to find and maintain the names.

Change-Id: I02a88bc85167b42622c2c3db8e4e3b43db4444e2
Signed-off-by: Adriana Kobylak 
---
 README.md | 20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)

diff --git a/README.md b/README.md
index 8678e09c6..00704295f 100644
--- a/README.md
+++ b/README.md
@@ -48,16 +48,16 @@ of supported hardware targets, see the following example:
 $ . setup  [build_dir]
 Target machine must be specified. Use one of:
 
-centriq2400-rep         nicole                     stardragon4800-rep2
-f0b                     olympus                    swift
-fp5280g2                olympus-nuvoton            tiogapass
-gsj                     on5263m5                   vesnin
-hr630                   palmetto                   witherspoon
-hr855xg2                qemuarm                    witherspoon-128
-lanyang                 quanta-q71l                witherspoon-tacoma
-mihawk                  p10bmc                     yosemitev2
-msn                     romulus                    zaius
-neptune                 s2600wf
+centriq2400-rep         f0b                     fp5280g2
+gsj                     hr630                   hr855xg2
+lanyang                 mihawk                  msn
+neptune                 nicole                  olympus
+olympus-nuvoton         on5263m5                p10bmc
+palmetto                qemuarm                 quanta-q71l
+romulus                 s2600wf                 stardragon4800-rep2
+swift                   tiogapass               vesnin
+witherspoon             witherspoon-tacoma      yosemitev2
+zaius
 ```
 
 Once you know the target (e.g. romulus), source the `setup` script as follows:
-- 
cgit v1.2.3


From 91f1926c9048f952f21f628fb47280f017c78de9 Mon Sep 17 00:00:00 2001
From: Joel Stanley 
Date: Tue, 6 Apr 2021 17:33:15 +0930
Subject: linux-aspeed: Move to v5.10.27 stable release

This includes security and bug fixes from the 5.10.24 through to
5.10.27 stable releases.

Change-Id: I6f20c70e5d9fd4a88d2b8991196cafd08308ef8d
Signed-off-by: Joel Stanley 
---
 meta-aspeed/recipes-kernel/linux/linux-aspeed_git.bb | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/meta-aspeed/recipes-kernel/linux/linux-aspeed_git.bb b/meta-aspeed/recipes-kernel/linux/linux-aspeed_git.bb
index 44926f860..59548a1c0 100644
--- a/meta-aspeed/recipes-kernel/linux/linux-aspeed_git.bb
+++ b/meta-aspeed/recipes-kernel/linux/linux-aspeed_git.bb
@@ -1,6 +1,6 @@
 KBRANCH ?= "dev-5.10"
-LINUX_VERSION ?= "5.10.23"
+LINUX_VERSION ?= "5.10.27"
 
-SRCREV="51e4d5a3c71b3174566d888f6e8265a1508223eb"
+SRCREV="2fc656976ec982e1738d1fdca7c09a5f5f08d132"
 
 require linux-aspeed.inc
-- 
cgit v1.2.3


From 4357d53d395f5c4c8fed92c14f31de0e81959105 Mon Sep 17 00:00:00 2001
From: Lancelot Kao 
Date: Mon, 22 Feb 2021 15:20:35 -0600
Subject: meta-fii/meta-kudo: support the bios update feature

1. add kudo-bios-update package to support bios update

Signed-off-by: Lancelot Kao 
Change-Id: Ic245828ed3bb0ddf6d7363e7c2c4d3b8b538aa88
Signed-off-by: XP Chen 
Signed-off-by: Mohaimen Alsamarai 
---
 meta-fii/meta-kudo/conf/machine/kudo.conf          |   2 +-
 .../kudo-fw-utility/kudo-bios-update.bb            |  33 ++++++
 .../kudo-bios-update/config-bios.json              |  19 ++++
 .../phosphor-ipmi-flash-bios-update.service        |   6 ++
 .../recipes-kudo/kudo-fw-utility/kudo-fw.bb        |  34 ++++++
 .../kudo-fw-utility/kudo-fw/kudo-fw-ver.service    |  10 ++
 .../kudo-fw-utility/kudo-fw/kudo-fw-ver.sh         |  27 +++++
 .../kudo-fw-utility/kudo-fw/kudo-fw.sh             | 120 +++++++++++++++++++++
 .../packagegroups/packagegroup-kudo-apps.bb        |  25 ++---
 .../image/obmc-phosphor-image.bbappend             |   3 -
 10 files changed, 263 insertions(+), 16 deletions(-)
 create mode 100644 meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-bios-update.bb
 create mode 100644 meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-bios-update/config-bios.json
 create mode 100644 meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-bios-update/phosphor-ipmi-flash-bios-update.service
 create mode 100644 meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-fw.bb
 create mode 100644 meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-fw/kudo-fw-ver.service
 create mode 100644 meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-fw/kudo-fw-ver.sh
 create mode 100644 meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-fw/kudo-fw.sh

diff --git a/meta-fii/meta-kudo/conf/machine/kudo.conf b/meta-fii/meta-kudo/conf/machine/kudo.conf
index f3a3757f6..a9df13164 100644
--- a/meta-fii/meta-kudo/conf/machine/kudo.conf
+++ b/meta-fii/meta-kudo/conf/machine/kudo.conf
@@ -20,7 +20,7 @@ OBMC_MACHINE_FEATURES += " \
     obmc-host-ipmi \
     "
 
-VIRTUAL-RUNTIME_obmc-fan-control = "phosphor-pid-control"
 PREFERRED_PROVIDER_virtual/obmc-fan-control = "phosphor-pid-control"
 PREFERRED_PROVIDER_virtual/obmc-system-mgmt = "packagegroup-kudo-apps"
 PREFERRED_PROVIDER_virtual/obmc-host-ipmi-hw = "phosphor-ipmi-ssif"
+PREFERRED_PROVIDER_virtual/obmc-flash-mgmt = "packagegroup-kudo-apps"
diff --git a/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-bios-update.bb b/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-bios-update.bb
new file mode 100644
index 000000000..b126bfc8c
--- /dev/null
+++ b/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-bios-update.bb
@@ -0,0 +1,33 @@
+SUMMARY = "Phosphor OpenBMC Kudo BIOS Firmware Upgrade Command"
+DESCRIPTION = "Phosphor OpenBMC Kudo BIOS Firmware Upgrade Comman Daemon"
+
+PR = "r1"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
+
+inherit systemd
+inherit obmc-phosphor-systemd
+
+DEPENDS += "systemd"
+DEPENDS += "phosphor-ipmi-flash"
+RDEPENDS_${PN} += "libsystemd"
+RDEPENDS_${PN} += "bash"
+
+FILES_${PN} += "${datadir}/phosphor-ipmi-flash/config-bios.json"
+
+SRC_URI_append_kudo = " \ 
+    file://phosphor-ipmi-flash-bios-update.service \
+    file://config-bios.json \
+    "
+
+SYSTEMD_PACKAGES = "${PN}"
+SYSTEMD_SERVICE_${PN}_append_kudo = " \
+    phosphor-ipmi-flash-bios-update.service \
+    "
+
+do_install () {
+    install -d ${D}${datadir}/phosphor-ipmi-flash
+    install -m 0644 ${WORKDIR}/config-bios.json ${D}${datadir}/phosphor-ipmi-flash
+    install -d ${D}${systemd_system_unitdir}
+    install -m 0644 ${WORKDIR}/phosphor-ipmi-flash-bios-update.service  ${D}${systemd_system_unitdir}
+}
diff --git a/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-bios-update/config-bios.json b/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-bios-update/config-bios.json
new file mode 100644
index 000000000..de2382346
--- /dev/null
+++ b/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-bios-update/config-bios.json
@@ -0,0 +1,19 @@
+[{
+    "blob": "/flash/bios",
+    "handler": {
+        "type": "file",
+        "path": "/run/initramfs/bios-image"
+    },
+    "actions": {
+        "preparation": {
+            "type": "skip"
+        },
+        "verification": {
+            "type": "skip"
+        },
+        "update": {
+            "type": "systemd",
+            "unit": "phosphor-ipmi-flash-bios-update.service"
+        }
+    }
+}]
diff --git a/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-bios-update/phosphor-ipmi-flash-bios-update.service b/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-bios-update/phosphor-ipmi-flash-bios-update.service
new file mode 100644
index 000000000..1702153d7
--- /dev/null
+++ b/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-bios-update/phosphor-ipmi-flash-bios-update.service
@@ -0,0 +1,6 @@
+[Unit]
+Description=Phosphor-ipmi-flash update BIOS firmware service
+
+[Service]
+ExecStart=/usr/sbin/kudo-fw.sh bios /run/initramfs/bios-image
+Type=oneshot
\ No newline at end of file
diff --git a/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-fw.bb b/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-fw.bb
new file mode 100644
index 000000000..3f5a30ec6
--- /dev/null
+++ b/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-fw.bb
@@ -0,0 +1,34 @@
+SUMMARY = "Phosphor OpenBMC Kudo Firmware Upgrade Command"
+DESCRIPTION = "Phosphor OpenBMC Kudo Firmware Upgrade Comman Daemon"
+
+PR = "r1"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
+
+inherit systemd
+inherit obmc-phosphor-systemd
+
+DEPENDS += "systemd"
+DEPENDS += "phosphor-ipmi-flash"
+RDEPENDS_${PN} += "libsystemd"
+RDEPENDS_${PN} += "bash"
+
+
+SRC_URI_append_kudo = " \
+    file://kudo-fw.sh \
+    file://kudo-fw-ver.service \
+    file://kudo-fw-ver.sh \
+    "
+
+SYSTEMD_PACKAGES = "${PN}"
+SYSTEMD_SERVICE_${PN}_append_kudo = " \
+    kudo-fw-ver.service \
+    "
+
+do_install () {
+    install -d ${D}/${sbindir}
+    install -m 0755 ${WORKDIR}/kudo-fw.sh ${D}/${sbindir}/kudo-fw.sh
+    install -m 0755 ${WORKDIR}/kudo-fw-ver.sh ${D}/${sbindir}/kudo-fw-ver.sh
+    install -d ${D}${systemd_system_unitdir}
+    install -m 0644 ${WORKDIR}/kudo-fw-ver.service ${D}${systemd_system_unitdir}
+}
diff --git a/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-fw/kudo-fw-ver.service b/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-fw/kudo-fw-ver.service
new file mode 100644
index 000000000..24e21d236
--- /dev/null
+++ b/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-fw/kudo-fw-ver.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=Firmware Version Daemon
+
+[Service]
+RemainAfterExit=yes
+Type=oneshot
+ExecStart=/usr/sbin/kudo-fw-ver.sh
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-fw/kudo-fw-ver.sh b/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-fw/kudo-fw-ver.sh
new file mode 100644
index 000000000..2c502980a
--- /dev/null
+++ b/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-fw/kudo-fw-ver.sh
@@ -0,0 +1,27 @@
+
+#!/bin/bash
+BMC_CPLD_VER_FILE="/run/cpld0.version"
+MB_CPLD_VER_FILE="/run/cpld1.version"
+ver=''
+
+function fw_rev() {
+    case $1 in
+    cpldb)
+        rsp=($(i2cget -y -f -a 13 0x76 0x00 i 5))
+        ver=$(printf '%d.%d.%d.%d' ${rsp[6]} ${rsp[5]} ${rsp[4]} ${rsp[3]})
+        ;;
+    cpldm)
+        I2C_BUS_DEV=$(readlink "/sys/bus/i2c/devices/4-0077/channel-2" | cut -c 8-)
+        rsp=($(i2cget -y -f -a $I2C_BUS_DEV 0x76 0x00 i 5))
+        ver=$(printf '%d.%d.%d.%d' ${rsp[6]} ${rsp[5]} ${rsp[4]} ${rsp[3]})
+        ;;
+    *)
+        ;;
+    esac
+}
+fw_rev cpldb
+echo "BMC CPLD version : ${ver}"
+echo "${ver}" > "${BMC_CPLD_VER_FILE}"
+fw_rev cpldm
+echo "MB CPLD version  : ${ver}"
+echo "${ver}" > "${MB_CPLD_VER_FILE}"
diff --git a/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-fw/kudo-fw.sh b/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-fw/kudo-fw.sh
new file mode 100644
index 000000000..e42795f0c
--- /dev/null
+++ b/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-fw/kudo-fw.sh
@@ -0,0 +1,120 @@
+#!/bin/bash
+
+devpath="/sys/bus/i2c/devices/13-0077/driver"
+
+# set_gpio_ctrl
+# pin #, direction, high(1)/low(0)
+function set_gpio_ctrl() {
+  echo $1 > /sys/class/gpio/export
+  echo $2 > /sys/class//gpio/gpio$1/direction
+  echo $3 > /sys/class/gpio/gpio$1/value
+  echo $1 > /sys/class/gpio/unexport
+  sleep 1
+}
+
+function fwbios() {
+  KERNEL_FIU_ID="c0000000.spi"
+  KERNEL_SYSFS_FIU="/sys/bus/platform/drivers/NPCM-FIU"
+
+  # switch the SPI mux from Host to BMC
+  i2cset -y -f -a 13 0x76 0x10 0x01
+
+  # rescan the spi bus
+  if [ -d "${KERNEL_SYSFS_FIU}/${KERNEL_FIU_ID}" ]; then
+    echo "${KERNEL_FIU_ID}" > "${KERNEL_SYSFS_FIU}"/unbind
+    sleep 1
+  fi
+  echo "${KERNEL_FIU_ID}" > "${KERNEL_SYSFS_FIU}"/bind
+
+  # write to the mtd device
+  BIOS_MTD=$(cat /proc/mtd | grep "bios" | sed -n 's/^\(.*\):.*/\1/p')
+
+  if [ ! -f $1 ]; then
+    echo " Cannot find the" $1 "image file"
+    exit 1
+  fi
+
+  echo "Flashing BIOS @/dev/$BIOS_MTD"
+  flashcp -v $1 /dev/$BIOS_MTD
+  wait
+
+  # switch the SPI mux from BMC to Host
+  if [ -d "${KERNEL_SYSFS_FIU}/${KERNEL_FIU_ID}" ]; then
+    echo "${KERNEL_FIU_ID}" > "${KERNEL_SYSFS_FIU}"/unbind
+  fi
+  i2cset -y -f -a 13 0x76 0x10 0x00
+
+  if [[ $(find ${1} -type f -size +17156k 2>/dev/null) ]]; then
+    echo "Extracting the SCP from the image"
+    dd if=$1 bs=1024 skip=17156 count=256 of=/run/initramfs/myscp.img
+    fwscp /run/initramfs/myscp.img
+  fi
+  rm -f $1
+}
+
+
+function fwbmccpld() {
+  # BMC_JTAG_MUX_1 #218 0:BMC 1:MB
+  set_gpio_ctrl 218 out 0
+  loadsvf -d /dev/jtag0 -s $1 -m 0
+  wait
+  set_gpio_ctrl 218 out 1
+  rm -f $1
+}
+
+function fwmbcpld() {
+  # BMC_JTAG_MUX_1 #218 0:BMC 1:MB
+  # BMC_JTAG_SEL #164 0:BMC 1:CPU
+  set_gpio_ctrl 218 out 1
+  set_gpio_ctrl 164 out 1
+  loadsvf -d /dev/jtag0 -s $1 -m 0
+  wait
+  rm -f $1
+}
+
+function fwscp() {
+  # BMC_I2C_BACKUP_SEL #168 0:failover, 1:main
+  # BMC_CPU_EEPROM_I2C_SEL #85 0:BMC, 1:CPU
+  set_gpio_ctrl 168 out 1
+  set_gpio_ctrl 85 out 0
+  I2C_BUS_DEV=$(ls -l $devpath/"13-0077/" | grep channel-0 | awk '{ print $11}' | cut -c 8-)
+  ampere_eeprom_prog -b $I2C_BUS_DEV -s 0x50 -p -f $1
+  wait
+  set_gpio_ctrl 85 out 1
+  set_gpio_ctrl 168 out 1
+  rm -f $1
+}
+
+function fwscpback() {
+  # BMC_I2C_BACKUP_SEL #168 0:failover, 1:main
+  # BMC_CPU_EEPROM_I2C_SEL #85 0:BMC, 1:CPU
+  set_gpio_ctrl 168 out 0
+  set_gpio_ctrl 85 out 0
+  I2C_BUS_DEV=$(ls -l $devpath/"13-0077/" | grep channel-0 | awk '{ print $11}' | cut -c 8-)
+  ampere_eeprom_prog -b $I2C_BUS_DEV -s 0x50 -p -f $1
+  wait
+  set_gpio_ctrl 85 out 1
+  set_gpio_ctrl 168 out 1
+  rm -f $1
+}
+
+
+case $1 in
+  bios)
+    fwbios $2
+    ;;
+  bmccpld)
+    fwbmccpld $2
+    ;;
+  mbcpld)
+    fwmbcpld $2
+    ;;
+  scp)
+    fwscp $2
+    ;;
+  scpback)
+    fwscpback $2
+    ;;
+  *)
+    ;;
+esac
diff --git a/meta-fii/meta-kudo/recipes-kudo/packagegroups/packagegroup-kudo-apps.bb b/meta-fii/meta-kudo/recipes-kudo/packagegroups/packagegroup-kudo-apps.bb
index be879455d..8601f9656 100644
--- a/meta-fii/meta-kudo/recipes-kudo/packagegroups/packagegroup-kudo-apps.bb
+++ b/meta-fii/meta-kudo/recipes-kudo/packagegroups/packagegroup-kudo-apps.bb
@@ -5,26 +5,27 @@ inherit packagegroup
 
 PROVIDES = "${PACKAGES}"
 PACKAGES = " \
-     ${PN}-kudo-system \
-     ${PN}-kudo-common-utils \
-     "
+    ${PN}-kudo-system \
+    ${PN}-kudo-fw \
+    "
 
 PROVIDES += "virtual/obmc-system-mgmt"
 
 RPROVIDES_${PN}-kudo-system += "virtual-obmc-system-mgmt"
+RPROVIDES_${PN}-kudo-fw += "virtual-obmc-system-mgmt"
 
 SUMMARY_${PN}-kudo-system = "KUDO System"
 RDEPENDS_${PN}-kudo-system = " \
-    google-ipmi-sys \
-    google-ipmi-i2c \
-    "
-
-SUMMARY_${PN}-kudo-common-utils = "KUDO common utils"
-RDEPENDS_${PN}-kudo-common-utils = " \
     ipmitool \
-    phosphor-webui \
-    phosphor-host-postd \
+    ethtool \
+    memtester \
     loadsvf \
     obmc-console \
-    phosphor-sel-logger \
+    usb-network \
+    "
+
+SUMMARY_${PN}-kudo-fw = "KUDO Firmware"
+RDEPENDS_${PN}-kudo-fw = " \
+    kudo-fw \
+    kudo-bios-update \
     "
diff --git a/meta-fii/meta-kudo/recipes-phosphor/image/obmc-phosphor-image.bbappend b/meta-fii/meta-kudo/recipes-phosphor/image/obmc-phosphor-image.bbappend
index f0eb9724d..dd5b10f2a 100644
--- a/meta-fii/meta-kudo/recipes-phosphor/image/obmc-phosphor-image.bbappend
+++ b/meta-fii/meta-kudo/recipes-phosphor/image/obmc-phosphor-image.bbappend
@@ -1,6 +1,3 @@
-OBMC_IMAGE_EXTRA_INSTALL_append_kudo = " ipmitool"
-OBMC_IMAGE_EXTRA_INSTALL_append_kudo = " ethtool"
-OBMC_IMAGE_EXTRA_INSTALL_append_kudo = " loadsvf"
 OBMC_IMAGE_EXTRA_INSTALL_append_kudo = " google-ipmi-sys"
 OBMC_IMAGE_EXTRA_INSTALL_append_kudo = " google-ipmi-i2c"
 OBMC_IMAGE_EXTRA_INSTALL_append_kudo = " phosphor-ipmi-blobs"
-- 
cgit v1.2.3


From fa729135341fbbcccad7591d73eb7424fa2bb477 Mon Sep 17 00:00:00 2001
From: Lancelot Kao 
Date: Mon, 22 Feb 2021 16:36:49 -0600
Subject: meta-fii/meta-kudo: support the bmc update feature

1. add kudo-bmc-update package to support bmc update

Signed-off-by: Lancelot Kao 
Change-Id: I7889d5219fcf376cd5bbcbc92268104745d2c886
Signed-off-by: XP Chen 
Signed-off-by: Mohaimen Alsamarai 
---
 .../recipes-kudo/kudo-fw-utility/kudo-bmc-update.bb  | 20 ++++++++++++++++++++
 .../kudo-fw-utility/kudo-bmc-update/config-bmc.json  | 20 ++++++++++++++++++++
 .../packagegroups/packagegroup-kudo-apps.bb          |  1 +
 3 files changed, 41 insertions(+)
 create mode 100644 meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-bmc-update.bb
 create mode 100644 meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-bmc-update/config-bmc.json

diff --git a/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-bmc-update.bb b/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-bmc-update.bb
new file mode 100644
index 000000000..184f3efc6
--- /dev/null
+++ b/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-bmc-update.bb
@@ -0,0 +1,20 @@
+SUMMARY = "Phosphor OpenBMC Kudo BMC Firmware Upgrade Command"
+DESCRIPTION = "Phosphor OpenBMC Kudo BMC Firmware Upgrade Comman Daemon"
+
+PR = "r1"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
+
+DEPENDS += "phosphor-ipmi-flash"
+RDEPENDS_${PN} += "bash"
+
+FILES_${PN} += "${datadir}/phosphor-ipmi-flash/config-bmc.json"
+
+SRC_URI_append_kudo = " \
+    file://config-bmc.json \
+    "
+
+do_install () {
+    install -d ${D}${datadir}/phosphor-ipmi-flash
+    install -m 0644 ${WORKDIR}/config-bmc.json ${D}${datadir}/phosphor-ipmi-flash
+}
diff --git a/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-bmc-update/config-bmc.json b/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-bmc-update/config-bmc.json
new file mode 100644
index 000000000..5aefeb342
--- /dev/null
+++ b/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-bmc-update/config-bmc.json
@@ -0,0 +1,20 @@
+[{
+    "blob": "/flash/image",
+    "handler": {
+        "type": "file",
+        "path": "/run/initramfs/image-bmc"
+    },
+    "actions": {
+        "preparation": {
+            "type": "skip"
+        },
+        "verification": {
+            "type": "skip"
+        },
+        "update": {
+            "type": "systemd",
+            "unit": "reboot.target",
+            "mode": "replace-irreversibly"
+        }
+    }
+}]
diff --git a/meta-fii/meta-kudo/recipes-kudo/packagegroups/packagegroup-kudo-apps.bb b/meta-fii/meta-kudo/recipes-kudo/packagegroups/packagegroup-kudo-apps.bb
index 8601f9656..17bde95fa 100644
--- a/meta-fii/meta-kudo/recipes-kudo/packagegroups/packagegroup-kudo-apps.bb
+++ b/meta-fii/meta-kudo/recipes-kudo/packagegroups/packagegroup-kudo-apps.bb
@@ -28,4 +28,5 @@ SUMMARY_${PN}-kudo-fw = "KUDO Firmware"
 RDEPENDS_${PN}-kudo-fw = " \
     kudo-fw \
     kudo-bios-update \
+    kudo-bmc-update \
     "
-- 
cgit v1.2.3


From d3e767d284061d84c3942bcbdd0552bfb165549f Mon Sep 17 00:00:00 2001
From: Lancelot Kao 
Date: Mon, 22 Feb 2021 16:48:42 -0600
Subject: meta-fii/meta-kudo: support the cpld update feature

1. add kudo-cpld-update package to support cpld update

Signed-off-by: Lancelot Kao 
Change-Id: Idb0f676ac5a8cc214d65135924431d02bf971c75
Signed-off-by: XP Chen 
Signed-off-by: Mohaimen Alsamarai 
---
 .../kudo-fw-utility/kudo-cpld-update.bb            | 39 ++++++++++++++++++++++
 .../kudo-cpld-update/config-bmccpld.json           | 19 +++++++++++
 .../kudo-cpld-update/config-mbcpld.json            | 20 +++++++++++
 .../phosphor-ipmi-flash-bmccpld-update.service     |  9 +++++
 .../phosphor-ipmi-flash-mbcpld-update.service      |  9 +++++
 .../kudo-fw-utility/kudo-fw/kudo-fw-ver.sh         |  3 +-
 .../packagegroups/packagegroup-kudo-apps.bb        |  1 +
 7 files changed, 99 insertions(+), 1 deletion(-)
 create mode 100644 meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-cpld-update.bb
 create mode 100644 meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-cpld-update/config-bmccpld.json
 create mode 100644 meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-cpld-update/config-mbcpld.json
 create mode 100644 meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-cpld-update/phosphor-ipmi-flash-bmccpld-update.service
 create mode 100644 meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-cpld-update/phosphor-ipmi-flash-mbcpld-update.service

diff --git a/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-cpld-update.bb b/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-cpld-update.bb
new file mode 100644
index 000000000..b2fd8209d
--- /dev/null
+++ b/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-cpld-update.bb
@@ -0,0 +1,39 @@
+SUMMARY = "Phosphor OpenBMC Kudo CPLD Firmware Upgrade Command"
+DESCRIPTION = "Phosphor OpenBMC Kudo CPLD Firmware Upgrade Comman Daemon"
+
+PR = "r1"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
+
+inherit systemd
+inherit obmc-phosphor-systemd
+
+DEPENDS += "systemd"
+DEPENDS += "phosphor-ipmi-flash"
+RDEPENDS_${PN} += "libsystemd"
+RDEPENDS_${PN} += "bash"
+
+FILES_${PN} += "${datadir}/phosphor-ipmi-flash/config-bmccpld.json"
+FILES_${PN} += "${datadir}/phosphor-ipmi-flash/config-mbcpld.json"
+
+SRC_URI_append_kudo = " \
+    file://phosphor-ipmi-flash-bmccpld-update.service \
+    file://phosphor-ipmi-flash-mbcpld-update.service \
+    file://config-bmccpld.json \
+    file://config-mbcpld.json \
+    "
+
+SYSTEMD_PACKAGES = "${PN}"
+SYSTEMD_SERVICE_${PN}_append_kudo = " \
+    phosphor-ipmi-flash-bmccpld-update.service \
+    phosphor-ipmi-flash-mbcpld-update.service \
+    "
+
+do_install () {
+    install -d ${D}${datadir}/phosphor-ipmi-flash
+    install -m 0644 ${WORKDIR}/config-bmccpld.json ${D}${datadir}/phosphor-ipmi-flash
+    install -m 0644 ${WORKDIR}/config-mbcpld.json ${D}${datadir}/phosphor-ipmi-flash
+    install -d ${D}${systemd_system_unitdir}
+    install -m 0644 ${WORKDIR}/phosphor-ipmi-flash-bmccpld-update.service ${D}${systemd_system_unitdir}
+    install -m 0644 ${WORKDIR}/phosphor-ipmi-flash-mbcpld-update.service ${D}${systemd_system_unitdir}
+}
\ No newline at end of file
diff --git a/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-cpld-update/config-bmccpld.json b/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-cpld-update/config-bmccpld.json
new file mode 100644
index 000000000..687aa11c2
--- /dev/null
+++ b/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-cpld-update/config-bmccpld.json
@@ -0,0 +1,19 @@
+[{
+    "blob": "/flash/bmccpld",
+    "handler": {
+        "type": "file",
+        "path": "/run/initramfs/bmc-cpld.svf"
+    },
+    "actions": {
+        "preparation": {
+            "type": "skip"
+        },
+        "verification": {
+            "type": "skip"
+        },
+        "update": {
+            "type": "systemd",
+            "unit": "phosphor-ipmi-flash-bmccpld-update.service"
+        }
+    }
+}]
diff --git a/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-cpld-update/config-mbcpld.json b/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-cpld-update/config-mbcpld.json
new file mode 100644
index 000000000..f5870bb33
--- /dev/null
+++ b/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-cpld-update/config-mbcpld.json
@@ -0,0 +1,20 @@
+[{
+    "blob": "/flash/mbcpld",
+    "handler": {
+        "type": "file",
+        "path": "/run/initramfs/mb-cpld.svf"
+    },
+    "actions": {
+        "preparation": {
+            "type": "skip"
+        },
+        "verification": {
+            "type": "skip"
+        },
+        "update": {
+            "type": "systemd",
+            "unit": "phosphor-ipmi-flash-mbcpld-update.service"
+        }
+    }
+}]
+
diff --git a/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-cpld-update/phosphor-ipmi-flash-bmccpld-update.service b/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-cpld-update/phosphor-ipmi-flash-bmccpld-update.service
new file mode 100644
index 000000000..b4f91f81c
--- /dev/null
+++ b/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-cpld-update/phosphor-ipmi-flash-bmccpld-update.service
@@ -0,0 +1,9 @@
+[Unit]
+Description=Phosphor-ipmi-flash update BMC CPLD firmware service
+
+[Service]
+ExecStart=/usr/sbin/kudo-fw.sh bmccpld /run/initramfs/bmc-cpld.svf
+Type=oneshot
+
+[Install]
+WantedBy=phosphor-ipmi-flash-bmccpld-update.target
diff --git a/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-cpld-update/phosphor-ipmi-flash-mbcpld-update.service b/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-cpld-update/phosphor-ipmi-flash-mbcpld-update.service
new file mode 100644
index 000000000..51b6c9c4b
--- /dev/null
+++ b/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-cpld-update/phosphor-ipmi-flash-mbcpld-update.service
@@ -0,0 +1,9 @@
+[Unit]
+Description=Phosphor-ipmi-flash update MB CPLD firmware service
+
+[Service]
+ExecStart=/usr/sbin/kudo-fw.sh mbcpld /run/initramfs/mb-cpld.svf
+Type=oneshot
+
+[Install]
+WantedBy=phosphor-ipmi-flash-mbcpld-update.target
diff --git a/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-fw/kudo-fw-ver.sh b/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-fw/kudo-fw-ver.sh
index 2c502980a..498fe7d0a 100644
--- a/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-fw/kudo-fw-ver.sh
+++ b/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-fw/kudo-fw-ver.sh
@@ -19,9 +19,10 @@ function fw_rev() {
         ;;
     esac
 }
+
 fw_rev cpldb
 echo "BMC CPLD version : ${ver}"
 echo "${ver}" > "${BMC_CPLD_VER_FILE}"
 fw_rev cpldm
 echo "MB CPLD version  : ${ver}"
-echo "${ver}" > "${MB_CPLD_VER_FILE}"
+echo "${ver}" > "${MB_CPLD_VER_FILE}"
\ No newline at end of file
diff --git a/meta-fii/meta-kudo/recipes-kudo/packagegroups/packagegroup-kudo-apps.bb b/meta-fii/meta-kudo/recipes-kudo/packagegroups/packagegroup-kudo-apps.bb
index 17bde95fa..fe93898ba 100644
--- a/meta-fii/meta-kudo/recipes-kudo/packagegroups/packagegroup-kudo-apps.bb
+++ b/meta-fii/meta-kudo/recipes-kudo/packagegroups/packagegroup-kudo-apps.bb
@@ -29,4 +29,5 @@ RDEPENDS_${PN}-kudo-fw = " \
     kudo-fw \
     kudo-bios-update \
     kudo-bmc-update \
+    kudo-cpld-update \
     "
-- 
cgit v1.2.3


From 180fdfcabbe75103019d69fb409f15ec4fcf15a4 Mon Sep 17 00:00:00 2001
From: Lancelot Kao 
Date: Mon, 22 Feb 2021 17:30:02 -0600
Subject: meta-fii/meta-kudo: support the scp update feature

1. add kudo-scp-update package to support scp update

Signed-off-by: Lancelot Kao 
Change-Id: I30e23ad270b87f52dcbf5fae54ada5b8a846612a
Signed-off-by: XP Chen 
Signed-off-by: Mohaimen Alsamarai 
---
 .../kudo-fw-utility/kudo-scp-update.bb             | 41 ++++++++++++++++++++++
 .../kudo-scp-update/config-scp.json                | 19 ++++++++++
 .../kudo-scp-update/config-scpback.json            | 20 +++++++++++
 .../phosphor-ipmi-flash-scp-update.service         |  9 +++++
 .../phosphor-ipmi-flash-scpback-update.service     |  9 +++++
 .../packagegroups/packagegroup-kudo-apps.bb        |  1 +
 6 files changed, 99 insertions(+)
 create mode 100644 meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-scp-update.bb
 create mode 100644 meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-scp-update/config-scp.json
 create mode 100644 meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-scp-update/config-scpback.json
 create mode 100644 meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-scp-update/phosphor-ipmi-flash-scp-update.service
 create mode 100644 meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-scp-update/phosphor-ipmi-flash-scpback-update.service

diff --git a/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-scp-update.bb b/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-scp-update.bb
new file mode 100644
index 000000000..8d2fb1324
--- /dev/null
+++ b/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-scp-update.bb
@@ -0,0 +1,41 @@
+SUMMARY = "Phosphor OpenBMC Kudo SCP Firmware Upgrade Command"
+DESCRIPTION = "Phosphor OpenBMC Kudo SCP Firmware Upgrade Comman Daemon"
+FILESEXTRAPATHS_prepend := "${THISDIR}/kudo-scp-update:"
+
+PR = "r1"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
+
+inherit systemd
+inherit obmc-phosphor-systemd
+
+DEPENDS += "systemd"
+DEPENDS += "phosphor-ipmi-flash"
+RDEPENDS_${PN} += "libsystemd"
+RDEPENDS_${PN} += "bash"
+
+FILES_${PN} += "${datadir}/phosphor-ipmi-flash/config-scp.json"
+FILES_${PN} += "${datadir}/phosphor-ipmi-flash/config-scpback.json"
+
+SRC_URI_append_kudo = " \
+    file://phosphor-ipmi-flash-scp-update.service \
+    file://phosphor-ipmi-flash-scpback-update.service \
+    file://config-scp.json \
+    file://config-scpback.json \
+    "
+
+SYSTEMD_PACKAGES = "${PN}"
+SYSTEMD_SERVICE_${PN}_append_kudo = " \
+    phosphor-ipmi-flash-scp-update.service \
+    phosphor-ipmi-flash-scpback-update.service \
+    "
+
+do_install () {
+    install -d ${D}${datadir}/phosphor-ipmi-flash
+    install -m 0644 ${WORKDIR}/config-scp.json ${D}${datadir}/phosphor-ipmi-flash
+    install -m 0644 ${WORKDIR}/config-scpback.json ${D}${datadir}/phosphor-ipmi-flash
+
+    install -d ${D}${systemd_system_unitdir}
+    install -m 0644 ${WORKDIR}/phosphor-ipmi-flash-scp-update.service ${D}${systemd_system_unitdir}
+    install -m 0644 ${WORKDIR}/phosphor-ipmi-flash-scpback-update.service ${D}${systemd_system_unitdir}
+}
diff --git a/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-scp-update/config-scp.json b/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-scp-update/config-scp.json
new file mode 100644
index 000000000..563238c6a
--- /dev/null
+++ b/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-scp-update/config-scp.json
@@ -0,0 +1,19 @@
+[{
+    "blob": "/flash/scp",
+    "handler": {
+        "type": "file",
+        "path": "/run/initramfs/scp-fw.slim"
+    },
+    "actions": {
+        "preparation": {
+            "type": "skip"
+        },
+        "verification": {
+            "type": "skip"
+        },
+        "update": {
+            "type": "systemd",
+            "unit": "phosphor-ipmi-flash-scp-update.service"
+        }
+    }
+}]
diff --git a/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-scp-update/config-scpback.json b/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-scp-update/config-scpback.json
new file mode 100644
index 000000000..0e6c61425
--- /dev/null
+++ b/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-scp-update/config-scpback.json
@@ -0,0 +1,20 @@
+[{
+    "blob": "/flash/scpb",
+    "handler": {
+        "type": "file",
+        "path": "/run/initramfs/scp-fw.slim"
+    },
+    "actions": {
+        "preparation": {
+            "type": "skip"
+        },
+        "verification": {
+            "type": "skip"
+        },
+        "update": {
+            "type": "systemd",
+            "unit": "phosphor-ipmi-flash-scpback-update.service"
+        }
+    }
+}]
+
diff --git a/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-scp-update/phosphor-ipmi-flash-scp-update.service b/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-scp-update/phosphor-ipmi-flash-scp-update.service
new file mode 100644
index 000000000..8d5e2da30
--- /dev/null
+++ b/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-scp-update/phosphor-ipmi-flash-scp-update.service
@@ -0,0 +1,9 @@
+[Unit]
+Description=Phosphor-ipmi-flash update main EEPROM SCP firmware service
+
+[Service]
+ExecStart=/usr/sbin/kudo-fw.sh scp /run/initramfs/scp-fw.slim
+Type=oneshot
+
+[Install]
+WantedBy=phosphor-ipmi-flash-scp-update.target
diff --git a/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-scp-update/phosphor-ipmi-flash-scpback-update.service b/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-scp-update/phosphor-ipmi-flash-scpback-update.service
new file mode 100644
index 000000000..c247552bf
--- /dev/null
+++ b/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-scp-update/phosphor-ipmi-flash-scpback-update.service
@@ -0,0 +1,9 @@
+[Unit]
+Description=Phosphor-ipmi-flash update failover EEPROM SCP firmware service
+
+[Service]
+ExecStart=/usr/sbin/kudo-fw.sh scpback /run/initramfs/scp-fw.slim
+Type=oneshot
+
+[Install]
+WantedBy=phosphor-ipmi-flash-scpback-update.target
diff --git a/meta-fii/meta-kudo/recipes-kudo/packagegroups/packagegroup-kudo-apps.bb b/meta-fii/meta-kudo/recipes-kudo/packagegroups/packagegroup-kudo-apps.bb
index fe93898ba..e23aba454 100644
--- a/meta-fii/meta-kudo/recipes-kudo/packagegroups/packagegroup-kudo-apps.bb
+++ b/meta-fii/meta-kudo/recipes-kudo/packagegroups/packagegroup-kudo-apps.bb
@@ -30,4 +30,5 @@ RDEPENDS_${PN}-kudo-fw = " \
     kudo-bios-update \
     kudo-bmc-update \
     kudo-cpld-update \
+    kudo-scp-update \
     "
-- 
cgit v1.2.3


From 830c9a31aa75221051a2b22962500ddea46a730d Mon Sep 17 00:00:00 2001
From: Lancelot Kao 
Date: Sun, 14 Mar 2021 23:07:20 -0500
Subject: meta-fii/meta-kudo: add RTC device configuration

1. add RTC kernel configuration

Signed-off-by: Lancelot Kao 
Change-Id: I17ddb7479b3064d6b7afdc44235b563e57e833fc
---
 meta-fii/meta-kudo/recipes-kernel/linux/linux-nuvoton/kudo.cfg | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/meta-fii/meta-kudo/recipes-kernel/linux/linux-nuvoton/kudo.cfg b/meta-fii/meta-kudo/recipes-kernel/linux/linux-nuvoton/kudo.cfg
index 9755d94b0..d970cf4f2 100644
--- a/meta-fii/meta-kudo/recipes-kernel/linux/linux-nuvoton/kudo.cfg
+++ b/meta-fii/meta-kudo/recipes-kernel/linux/linux-nuvoton/kudo.cfg
@@ -79,6 +79,10 @@ CONFIG_I2C_SLAVE=y
 CONFIG_I2C_SLAVE_MQUEUE=y
 CONFIG_IPMB_DEVICE_INTERFACE=y
 
+# RTC device
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_DRV_PCF85063=y
+
 #
 # JATG Configuration
 CONFIG_NUVOTON_JTAG=y
-- 
cgit v1.2.3


From eb14ff1c70ea3358a23f71355cd23082f4dd251c Mon Sep 17 00:00:00 2001
From: Lancelot Kao 
Date: Mon, 22 Feb 2021 18:59:41 -0600
Subject: meta-fii/meta-kudo: use gbmc MAC configuration

1. Uses gbmc mac configure

Signed-off-by: Lancelot Kao 
Change-Id: I5be8c415152983d9d6792d38ed42fe3ae0de9017
Signed-off-by: Mohaimen Alsamarai 
---
 meta-fii/meta-kudo/conf/machine/kudo.conf                              | 3 +++
 .../meta-kudo/recipes-kudo/packagegroups/packagegroup-kudo-apps.bb     | 1 +
 2 files changed, 4 insertions(+)

diff --git a/meta-fii/meta-kudo/conf/machine/kudo.conf b/meta-fii/meta-kudo/conf/machine/kudo.conf
index a9df13164..88f3a92b4 100644
--- a/meta-fii/meta-kudo/conf/machine/kudo.conf
+++ b/meta-fii/meta-kudo/conf/machine/kudo.conf
@@ -14,6 +14,9 @@ UBOOT_MACHINE = "PolegSVB_config"
 UBOOT_DEVICETREE = "nuvoton-npcm730-kudo"
 IGPS_MACHINE = "EB"
 
+GBMC_MAC_EEPROM_OF_NAME = "bmcfru"
+GBMC_MAC_IF_MAP = "eth0"
+
 IMAGE_FSTYPES += " cpio.${INITRAMFS_CTYPE}.u-boot"
 
 OBMC_MACHINE_FEATURES += " \
diff --git a/meta-fii/meta-kudo/recipes-kudo/packagegroups/packagegroup-kudo-apps.bb b/meta-fii/meta-kudo/recipes-kudo/packagegroups/packagegroup-kudo-apps.bb
index e23aba454..06dbcbdbf 100644
--- a/meta-fii/meta-kudo/recipes-kudo/packagegroups/packagegroup-kudo-apps.bb
+++ b/meta-fii/meta-kudo/recipes-kudo/packagegroups/packagegroup-kudo-apps.bb
@@ -22,6 +22,7 @@ RDEPENDS_${PN}-kudo-system = " \
     loadsvf \
     obmc-console \
     usb-network \
+    gbmc-mac-config \
     "
 
 SUMMARY_${PN}-kudo-fw = "KUDO Firmware"
-- 
cgit v1.2.3


From fb75faf45c283e21e38e94a537a748c673c56176 Mon Sep 17 00:00:00 2001
From: Lancelot Kao 
Date: Wed, 24 Feb 2021 15:26:27 -0600
Subject: meta-fii/meta-kudo: Support for the NCSI interface

1. support the NCSI interface

Signed-off-by: Lancelot Kao 
Change-Id: I345d59e5ea527be344b5e53b64d62ef54f72c868
Signed-off-by: Mohaimen Alsamarai 
---
 meta-fii/meta-kudo/conf/machine/kudo.conf                            | 1 +
 meta-fii/meta-kudo/recipes-kernel/linux/linux-nuvoton/kudo.cfg       | 5 +++++
 .../meta-kudo/recipes-kudo/packagegroups/packagegroup-kudo-apps.bb   | 1 +
 3 files changed, 7 insertions(+)

diff --git a/meta-fii/meta-kudo/conf/machine/kudo.conf b/meta-fii/meta-kudo/conf/machine/kudo.conf
index 88f3a92b4..c136987c7 100644
--- a/meta-fii/meta-kudo/conf/machine/kudo.conf
+++ b/meta-fii/meta-kudo/conf/machine/kudo.conf
@@ -16,6 +16,7 @@ IGPS_MACHINE = "EB"
 
 GBMC_MAC_EEPROM_OF_NAME = "bmcfru"
 GBMC_MAC_IF_MAP = "eth0"
+GBMC_NCSI_IF_NAME = "eth0"
 
 IMAGE_FSTYPES += " cpio.${INITRAMFS_CTYPE}.u-boot"
 
diff --git a/meta-fii/meta-kudo/recipes-kernel/linux/linux-nuvoton/kudo.cfg b/meta-fii/meta-kudo/recipes-kernel/linux/linux-nuvoton/kudo.cfg
index d970cf4f2..c43b0745b 100644
--- a/meta-fii/meta-kudo/recipes-kernel/linux/linux-nuvoton/kudo.cfg
+++ b/meta-fii/meta-kudo/recipes-kernel/linux/linux-nuvoton/kudo.cfg
@@ -54,6 +54,11 @@ CONFIG_USB_CONFIGFS_MASS_STORAGE=y
 CONFIG_USB_CONFIGFS_F_HID=y
 CONFIG_USB_GADGET_NPCM_USB2=y
 
+#
+# Nuvoton emc device
+#
+CONFIG_NET_VENDOR_NUVOTON=y
+CONFIG_NPCM7XX_EMC_ETH=y
 CONFIG_NET_NCSI=y
 
 CONFIG_EEPROM_AT24=y
diff --git a/meta-fii/meta-kudo/recipes-kudo/packagegroups/packagegroup-kudo-apps.bb b/meta-fii/meta-kudo/recipes-kudo/packagegroups/packagegroup-kudo-apps.bb
index 06dbcbdbf..f64373e89 100644
--- a/meta-fii/meta-kudo/recipes-kudo/packagegroups/packagegroup-kudo-apps.bb
+++ b/meta-fii/meta-kudo/recipes-kudo/packagegroups/packagegroup-kudo-apps.bb
@@ -22,6 +22,7 @@ RDEPENDS_${PN}-kudo-system = " \
     loadsvf \
     obmc-console \
     usb-network \
+    ncsid \
     gbmc-mac-config \
     "
 
-- 
cgit v1.2.3


From 7d2ca95c9c8976608bf234bb13d6fe2c26a1516f Mon Sep 17 00:00:00 2001
From: Andrew Geissler 
Date: Thu, 1 Apr 2021 14:19:28 -0500
Subject: meta-ibm: p10bmc: save ttyVUART1 data to separate file

The hostboot team has started utilizing VUART1 for extra debug data
during a boot. This extra debug data is enabled within the CI
infrastructure. This extra debug data causes the critical information
going to VUART0 to get wrapped out of the default
/var/log/obmc_console.log file. Redirect the VUART1 data to its own
/var/log/ file.

The only other user of VUART1 on p10bmc systems is the PHYP software.
That is mostly used for interactive purposes so writing its data to a
separate log file should be fine.

I will work with the test teams to ensure this new file is collected as
a part of the standard debug data collection process.

Signed-off-by: Andrew Geissler 
Change-Id: I248e5e8536e58e137b5de35d7572789215566763
---
 .../recipes-phosphor/console/obmc-console/p10bmc/server.ttyVUART1.conf  | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/meta-ibm/recipes-phosphor/console/obmc-console/p10bmc/server.ttyVUART1.conf b/meta-ibm/recipes-phosphor/console/obmc-console/p10bmc/server.ttyVUART1.conf
index e98587f15..32e8bd467 100644
--- a/meta-ibm/recipes-phosphor/console/obmc-console/p10bmc/server.ttyVUART1.conf
+++ b/meta-ibm/recipes-phosphor/console/obmc-console/p10bmc/server.ttyVUART1.conf
@@ -1,3 +1,5 @@
 lpc-address = 0x2f8
 sirq = 3
 socket-id = guests
+logsize = 256k
+logfile = /var/log/obmc-console1.log
-- 
cgit v1.2.3


From b56661e7193ef3e8beaedf7e8b1294a43fb74259 Mon Sep 17 00:00:00 2001
From: Andrew Geissler 
Date: Fri, 9 Apr 2021 06:20:58 +0000
Subject: phosphor-hostlogger: srcrev bump e9af83c6f5..90608dc367

Artem Senichev (1):
      Handle short name of OS status

Change-Id: I8197b81e1aff7dacd940211fd7172b140960384e
Signed-off-by: Andrew Geissler 
---
 meta-phosphor/recipes-phosphor/logging/phosphor-hostlogger_git.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta-phosphor/recipes-phosphor/logging/phosphor-hostlogger_git.bb b/meta-phosphor/recipes-phosphor/logging/phosphor-hostlogger_git.bb
index 8816f1ab6..75d1d9fda 100644
--- a/meta-phosphor/recipes-phosphor/logging/phosphor-hostlogger_git.bb
+++ b/meta-phosphor/recipes-phosphor/logging/phosphor-hostlogger_git.bb
@@ -22,7 +22,7 @@ RRECOMMENDS_${PN} += "phosphor-debug-collector"
 # Source code repository
 S = "${WORKDIR}/git"
 SRC_URI = "git://github.com/openbmc/phosphor-hostlogger"
-SRCREV = "e9af83c6f5cc14a7493de5359b3c65b8832c99f0"
+SRCREV = "90608dc36719ad09d814a8001a94a7e926579ea0"
 
 # Systemd service template
 SYSTEMD_PACKAGES = "${PN}"
-- 
cgit v1.2.3


From 459153dcb5097f620d34c9a38eb65809a08378e1 Mon Sep 17 00:00:00 2001
From: Andrew Geissler 
Date: Sun, 11 Apr 2021 05:40:29 +0000
Subject: phosphor-networkd: srcrev bump a3b14dcea2..4d94ecd8aa

John Wang (1):
      Change the IPV6_MAX_PREFIX_LENGTH to 128

Change-Id: I89f14ba000b6d6263dae5fea83966741bee7dc42
Signed-off-by: Andrew Geissler 
---
 meta-phosphor/classes/phosphor-networkd-rev.bbclass | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta-phosphor/classes/phosphor-networkd-rev.bbclass b/meta-phosphor/classes/phosphor-networkd-rev.bbclass
index 9a0e77aaf..d392f2208 100644
--- a/meta-phosphor/classes/phosphor-networkd-rev.bbclass
+++ b/meta-phosphor/classes/phosphor-networkd-rev.bbclass
@@ -1,2 +1,2 @@
 SRC_URI += "git://github.com/openbmc/phosphor-networkd"
-SRCREV = "a3b14dcea243ec2480e88f6e8864dee010a0fcbc"
+SRCREV = "4d94ecd8aae775f243cd73c78efb5cf657852e48"
-- 
cgit v1.2.3

-- 
cgit v1.2.3


From 0563b4d42ad4583a6ece2b47d8836e1a93828f2e Mon Sep 17 00:00:00 2001
From: Andrew Geissler 
Date: Tue, 13 Apr 2021 20:00:23 +0000
Subject: openpower-hw-diags: srcrev bump feeea83b3f..2d5c63d90c

Ben Tyner (1):
      Attn: Remove --defaultbreakpoint add --defaultti

Brian Stegmiller (1):
      ATTN: Add hostboot debug regs during chkstop and TIs

Change-Id: I69c0bb75d0be49b3648488c032b9fd101ff5d9c5
Signed-off-by: Andrew Geissler 
---
 meta-openpower/recipes-phosphor/logging/openpower-hw-diags_git.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta-openpower/recipes-phosphor/logging/openpower-hw-diags_git.bb b/meta-openpower/recipes-phosphor/logging/openpower-hw-diags_git.bb
index bed3ff790..4a6cc049f 100644
--- a/meta-openpower/recipes-phosphor/logging/openpower-hw-diags_git.bb
+++ b/meta-openpower/recipes-phosphor/logging/openpower-hw-diags_git.bb
@@ -16,7 +16,7 @@ inherit meson systemd
 S = "${WORKDIR}/git"
 
 SRC_URI = "git://github.com/openbmc/openpower-hw-diags"
-SRCREV = "feeea83b3fc9aabd23a1ec6d29bd293008954acc"
+SRCREV = "2d5c63d90c14793e333c4eee6d0b8002fdf0c7ba"
 
 SYSTEMD_SERVICE_${PN} = "attn_handler.service"
 
-- 
cgit v1.2.3


From 63f1b7b4527b44e3e3d63f8060a7af7361e00b20 Mon Sep 17 00:00:00 2001
From: Andrew Geissler 
Date: Tue, 13 Apr 2021 18:11:56 +0000
Subject: entity-manager: srcrev bump 086f19d287..4bab932ba8

Bruce Mitchell (1):
      Replace IRC with Discord

Matt Spinler (1):
      Fix early exit for non D-Bus probes

Change-Id: I1b8c2a898d63bf88be7983e35f118125ce817562
Signed-off-by: Andrew Geissler 
---
 meta-phosphor/recipes-phosphor/configuration/entity-manager_git.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta-phosphor/recipes-phosphor/configuration/entity-manager_git.bb b/meta-phosphor/recipes-phosphor/configuration/entity-manager_git.bb
index a492b3d00..334ec1ff2 100644
--- a/meta-phosphor/recipes-phosphor/configuration/entity-manager_git.bb
+++ b/meta-phosphor/recipes-phosphor/configuration/entity-manager_git.bb
@@ -3,7 +3,7 @@ DESCRIPTION = "Entity Manager provides d-bus configuration data \
 and configures system sensors"
 
 SRC_URI = "git://github.com/openbmc/entity-manager.git file://blocklist.json"
-SRCREV = "086f19d287fdc7d7be9c52ad9aee7704e4f339f5"
+SRCREV = "4bab932ba8846c9ff17997b88ab16e0cc93dbcab"
 PV = "0.1+git${SRCPV}"
 
 LICENSE = "Apache-2.0"
-- 
cgit v1.2.3


From 0568b1e0deacf3c388aa9f44d702106a9bfad5bb Mon Sep 17 00:00:00 2001
From: Andrew Geissler 
Date: Mon, 12 Apr 2021 20:51:14 +0000
Subject: dbus-sensors: srcrev bump abf91de187..d9cd7040e9

Jeff Lin (1):
      ADCSensor: Add PollRate and fix PowerState Always

Change-Id: Ib27c1ffbdc6c3c75282c0f066c6ed4eb9712d4ba
Signed-off-by: Andrew Geissler 
---
 meta-phosphor/recipes-phosphor/sensors/dbus-sensors_git.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta-phosphor/recipes-phosphor/sensors/dbus-sensors_git.bb b/meta-phosphor/recipes-phosphor/sensors/dbus-sensors_git.bb
index aced2103c..b0b1220eb 100644
--- a/meta-phosphor/recipes-phosphor/sensors/dbus-sensors_git.bb
+++ b/meta-phosphor/recipes-phosphor/sensors/dbus-sensors_git.bb
@@ -2,7 +2,7 @@ SUMMARY = "dbus-sensors"
 DESCRIPTION = "Dbus Sensor Services Configured from D-Bus"
 
 SRC_URI = "git://github.com/openbmc/dbus-sensors.git"
-SRCREV = "abf91de1876278b8b8f98787577a539804833ad4"
+SRCREV = "d9cd7040e93337279c7d2939214f041e5f6ab447"
 
 PV = "0.1+git${SRCPV}"
 
-- 
cgit v1.2.3


From a3e3a47b96d4b463e7cf6802120ad571acec1494 Mon Sep 17 00:00:00 2001
From: Andrew Geissler 
Date: Tue, 13 Apr 2021 11:31:01 +0000
Subject: phosphor-host-ipmid: srcrev bump c874be8617..66ae67d36e

Bruce Mitchell (1):
      Replace IRC with Discord

Change-Id: I7347950a06812a5b0b68777a77907bff4ecb4ff9
Signed-off-by: Andrew Geissler 
---
 meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host.inc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host.inc b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host.inc
index 2b94b1cbd..496bdd6d2 100644
--- a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host.inc
+++ b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host.inc
@@ -2,4 +2,4 @@ HOMEPAGE = "http://github.com/openbmc/phosphor-host-ipmid"
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=fa818a259cbed7ce8bc2a22d35a464fc"
 SRC_URI += "git://github.com/openbmc/phosphor-host-ipmid"
-SRCREV = "c874be86172f521c0e504e347f3f2789390d9ab7"
+SRCREV = "66ae67d36e952dc251236070721057aff17ca646"
-- 
cgit v1.2.3


From 79301590568c0b9aeb21efd0fe862c4f93da76cc Mon Sep 17 00:00:00 2001
From: Andrew Geissler 
Date: Tue, 13 Apr 2021 13:41:04 +0000
Subject: phosphor-logging: srcrev bump 981ffc3c02..9a50c8da7d

Matt Spinler (1):
      PEL: Fix to support early msg registry callouts

Change-Id: I924f238ccbb821fcf5eae3a7c3ffc9fa2d53f287
Signed-off-by: Andrew Geissler 
---
 meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb b/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb
index ef595cef1..aa07e19a0 100644
--- a/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb
+++ b/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb
@@ -55,7 +55,7 @@ FILES_phosphor-rsyslog-config += " \
 "
 
 SRC_URI += "git://github.com/openbmc/phosphor-logging"
-SRCREV = "981ffc3c0296f2df7c96d025e92300bc11573087"
+SRCREV = "9a50c8da7dcef6098a2744f2e7ad5608fe8822ed"
 
 S = "${WORKDIR}/git"
 
-- 
cgit v1.2.3


From bb8a5548560b028901ced8d72a2e17d6ec1edc93 Mon Sep 17 00:00:00 2001
From: Andrew Geissler 
Date: Tue, 13 Apr 2021 20:01:24 +0000
Subject: phosphor-power: srcrev bump c12c53b985..3c530fbdd1

Brandon Wyman (1):
      psu-ng: Fix failing CI tests due to IBM_VPD

Change-Id: Iaa032cfdf21a2cdf80ff104a37cef77e7799de20
Signed-off-by: Andrew Geissler 
---
 meta-phosphor/recipes-phosphor/power/phosphor-power.inc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta-phosphor/recipes-phosphor/power/phosphor-power.inc b/meta-phosphor/recipes-phosphor/power/phosphor-power.inc
index d52475f5c..ea6403bbc 100644
--- a/meta-phosphor/recipes-phosphor/power/phosphor-power.inc
+++ b/meta-phosphor/recipes-phosphor/power/phosphor-power.inc
@@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/phosphor-power"
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
 SRC_URI += "git://github.com/openbmc/phosphor-power"
-SRCREV = "c12c53b985b9ac12c3c83df47371e7c2c70ae21b"
+SRCREV = "3c530fbdd1f40ea89856465130ba39a95ce115c2"
-- 
cgit v1.2.3


From fa7fdb49814f4a04de2790b870184c01a3c7cac3 Mon Sep 17 00:00:00 2001
From: Andrew Geissler 
Date: Tue, 13 Apr 2021 20:40:21 +0000
Subject: openpower-pnor-code-mgmt: srcrev bump a30fc13e8a..a7b1f4caa4

Patrick Williams (1):
      bootstrap: fix shellcheck warnings

Change-Id: I10666ece335ae868eab16b7e4cffbe8e92ed0c67
Signed-off-by: Andrew Geissler 
---
 meta-openpower/recipes-phosphor/flash/openpower-software-manager_git.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta-openpower/recipes-phosphor/flash/openpower-software-manager_git.bb b/meta-openpower/recipes-phosphor/flash/openpower-software-manager_git.bb
index 4d027071e..051931c31 100644
--- a/meta-openpower/recipes-phosphor/flash/openpower-software-manager_git.bb
+++ b/meta-openpower/recipes-phosphor/flash/openpower-software-manager_git.bb
@@ -59,7 +59,7 @@ S = "${WORKDIR}/git"
 
 SRC_URI += "git://github.com/openbmc/openpower-pnor-code-mgmt"
 
-SRCREV = "a30fc13e8ac2137927909265882d97b0294e5348"
+SRCREV = "a7b1f4caa49390064d0b66de04764547f3aa41c9"
 
 DBUS_SERVICE_${PN} += "org.open_power.Software.Host.Updater.service"
 
-- 
cgit v1.2.3


From 7118df4af19dad303452dc60ca9a4559f128d721 Mon Sep 17 00:00:00 2001
From: Andrew Geissler 
Date: Wed, 14 Apr 2021 02:40:38 +0000
Subject: phosphor-time-manager: srcrev bump 8af2a89409..7252bea64c

Patrick Williams (1):
      bootstrap: fix shellcheck warnings

Change-Id: I1413cd2facee00e37feacc5e84f0902aa3c13d9a
Signed-off-by: Andrew Geissler 
---
 meta-phosphor/recipes-phosphor/datetime/phosphor-time-manager_git.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta-phosphor/recipes-phosphor/datetime/phosphor-time-manager_git.bb b/meta-phosphor/recipes-phosphor/datetime/phosphor-time-manager_git.bb
index 252b2fab5..dbe32cc89 100644
--- a/meta-phosphor/recipes-phosphor/datetime/phosphor-time-manager_git.bb
+++ b/meta-phosphor/recipes-phosphor/datetime/phosphor-time-manager_git.bb
@@ -20,7 +20,7 @@ RDEPENDS_${PN} += "phosphor-network"
 RDEPENDS_${PN} += "phosphor-mapper"
 
 SRC_URI += "git://github.com/openbmc/phosphor-time-manager"
-SRCREV = "8af2a8940992c00417cf6629997c528f2500efbf"
+SRCREV = "7252bea64c7f3b03c4d80bb449f82f05a30baa71"
 PV = "1.0+git${SRCPV}"
 S = "${WORKDIR}/git"
 
-- 
cgit v1.2.3


From cfe9a62884d308ead1f6cf0cd3ce0b922f499ab7 Mon Sep 17 00:00:00 2001
From: Andrew Geissler 
Date: Wed, 14 Apr 2021 17:40:56 +0000
Subject: phosphor-pid-control: srcrev bump d11a732a80..e39bbe9f03

Patrick Williams (2):
      bootstrap: fix shellcheck warnings
      enable shellcheck

Change-Id: If673feb753dd4141990bc781b944bf45f87023a8
Signed-off-by: Andrew Geissler 
---
 meta-phosphor/recipes-phosphor/fans/phosphor-pid-control_git.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta-phosphor/recipes-phosphor/fans/phosphor-pid-control_git.bb b/meta-phosphor/recipes-phosphor/fans/phosphor-pid-control_git.bb
index ed392563d..f4ca8b075 100644
--- a/meta-phosphor/recipes-phosphor/fans/phosphor-pid-control_git.bb
+++ b/meta-phosphor/recipes-phosphor/fans/phosphor-pid-control_git.bb
@@ -13,7 +13,7 @@ inherit systemd
 
 S = "${WORKDIR}/git"
 SRC_URI = "git://github.com/openbmc/phosphor-pid-control"
-SRCREV = "d11a732a802cc281f4c1583275871fbc5f5ecced"
+SRCREV = "e39bbe9f03177f1653b33d1ccaf8b2bd0a3f89c6"
 
 # Each platform will need a service file that starts
 # at an appropriate time per system.  For instance, if
-- 
cgit v1.2.3


From 6ae92275d3e8d0c36ccebb001df21971abd6cc26 Mon Sep 17 00:00:00 2001
From: Andrew Geissler 
Date: Wed, 14 Apr 2021 16:41:12 +0000
Subject: phosphor-led-manager: srcrev bump ee1c19e5ab..6ca80648a0

George Liu (1):
      ledManager: Replace IRC with Discord

Patrick Williams (3):
      bootstrap: copy latest from phosphor-hwmon
      led-set-all-groups-asserted: fix shellcheck issues
      enable shellcheck

Change-Id: I899fb5f87cc2a6922ffd989b6431994bec31c10c
Signed-off-by: Andrew Geissler 
---
 meta-phosphor/recipes-phosphor/leds/phosphor-led-manager.inc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager.inc b/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager.inc
index c882e526e..77c2a28d8 100644
--- a/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager.inc
+++ b/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager.inc
@@ -2,4 +2,4 @@ HOMEPAGE = "http://github.com/openbmc/phosphor-led-manager"
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
 SRC_URI += "git://github.com/openbmc/phosphor-led-manager"
-SRCREV = "ee1c19e5ab5f349fda590c320923dcb9ab543a57"
+SRCREV = "6ca80648a01f91c611cbfc66b363d211fc5c0f4b"
-- 
cgit v1.2.3


From 23c4c723c8c815bfd8364835dde86974339bb8e8 Mon Sep 17 00:00:00 2001
From: Andrew Geissler 
Date: Wed, 14 Apr 2021 16:11:42 +0000
Subject: phosphor-logging: srcrev bump 9a50c8da7d..993168de47

Matt Spinler (1):
      PEL: Change method of asserting a fault LED

Patrick Williams (2):
      bootstrap: fix shellcheck warnings
      enable shellcheck

Vijay Lobo (1):
      PEL: Support creator supplied power fault flag

Change-Id: Ie4f21903fc52086e8afa5cc0f2f8ffc5ddd92b00
Signed-off-by: Andrew Geissler 
---
 meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb b/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb
index aa07e19a0..55caaab45 100644
--- a/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb
+++ b/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb
@@ -55,7 +55,7 @@ FILES_phosphor-rsyslog-config += " \
 "
 
 SRC_URI += "git://github.com/openbmc/phosphor-logging"
-SRCREV = "9a50c8da7dcef6098a2744f2e7ad5608fe8822ed"
+SRCREV = "993168de4791dc83ea787c2180187654a9f37e89"
 
 S = "${WORKDIR}/git"
 
-- 
cgit v1.2.3


From 243862fb3106759ec493449106d4ebb196540499 Mon Sep 17 00:00:00 2001
From: Andrew Geissler 
Date: Wed, 14 Apr 2021 16:10:57 +0000
Subject: phosphor-fan-presence: srcrev bump 623635c62f..a3584bd255

Matt Spinler (1):
      monitor: Support set_func_on_present

Change-Id: I91ff4dd221e57983c5b0ac61da2f9460c7dfbf16
Signed-off-by: Andrew Geissler 
---
 meta-phosphor/recipes-phosphor/fans/phosphor-fan.inc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta-phosphor/recipes-phosphor/fans/phosphor-fan.inc b/meta-phosphor/recipes-phosphor/fans/phosphor-fan.inc
index 67a5dfe2f..135e0f6f8 100644
--- a/meta-phosphor/recipes-phosphor/fans/phosphor-fan.inc
+++ b/meta-phosphor/recipes-phosphor/fans/phosphor-fan.inc
@@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/phosphor-fan-presence"
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
 SRC_URI += "git://github.com/openbmc/phosphor-fan-presence"
-SRCREV = "623635c62f229008400e69d6cbfdb84c12610807"
+SRCREV = "a3584bd2559e291cf329ff6b4f179ad92b7aeaa0"
-- 
cgit v1.2.3


From 58700445b4a4d1499a8829da624efd7e2face8f9 Mon Sep 17 00:00:00 2001
From: Andrew Geissler 
Date: Wed, 14 Apr 2021 15:30:45 +0000
Subject: phosphor-dbus-interfaces: srcrev bump 523dc36ac1..0a4f72fb91

Patrick Williams (1):
      enable shellcheck

Change-Id: I71f4d63bdd039c1374f77196ba0b390c65f90648
Signed-off-by: Andrew Geissler 
---
 meta-phosphor/recipes-phosphor/dbus/phosphor-dbus-interfaces_git.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta-phosphor/recipes-phosphor/dbus/phosphor-dbus-interfaces_git.bb b/meta-phosphor/recipes-phosphor/dbus/phosphor-dbus-interfaces_git.bb
index 8b9bd71b0..ba11ccd8e 100644
--- a/meta-phosphor/recipes-phosphor/dbus/phosphor-dbus-interfaces_git.bb
+++ b/meta-phosphor/recipes-phosphor/dbus/phosphor-dbus-interfaces_git.bb
@@ -18,7 +18,7 @@ DEPENDS += " \
         "
 
 SRC_URI = "git://github.com/openbmc/phosphor-dbus-interfaces"
-SRCREV = "523dc36ac1a73bb63ecb3cbd76f7d88a9ac3481b"
+SRCREV = "0a4f72fb914738bcf2a915d14b66b74854571401"
 
 # Process OBMC_ORG_YAML_SUBDIRS to create Meson config options.
 # ex. xyz/openbmc_project -> -Ddata_xyz_openbmc_project=true
-- 
cgit v1.2.3


From f9350869cd45eafb4e1f0e07e73c029f8c3bfe24 Mon Sep 17 00:00:00 2001
From: Andrew Geissler 
Date: Wed, 14 Apr 2021 14:31:11 +0000
Subject: ipmi-fru-parser: srcrev bump 0968237b47..da0627a34b

Patrick Williams (1):
      bootstrap: fix shellcheck warnings

Change-Id: I7758d2efd68786e746b248f5ab4a56692c8f8cae
Signed-off-by: Andrew Geissler 
---
 meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-fru.inc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-fru.inc b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-fru.inc
index ef91bb9e9..64b2f645f 100644
--- a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-fru.inc
+++ b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-fru.inc
@@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/ipmi-fru-parser"
 LICENSE = "GPL-3.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=7702f203b58979ebbc31bfaeb44f219c"
 SRC_URI += "git://github.com/openbmc/ipmi-fru-parser"
-SRCREV = "0968237b479d649ecaac7561cf07fbacf241d98c"
+SRCREV = "da0627a34b8c92748687870ce8b1c42a28a69924"
-- 
cgit v1.2.3


From 86bbbed2a4db6f442a1826f138369c0beb92876b Mon Sep 17 00:00:00 2001
From: Andrew Geissler 
Date: Wed, 14 Apr 2021 14:30:24 +0000
Subject: openpower-host-ipmi-oem: srcrev bump 61950109c7..248255d2af

Patrick Williams (1):
      bootstrap: fix shellcheck warnings

Change-Id: Icb1c02b685a16d60b78519a6293c9c35b7acd99d
Signed-off-by: Andrew Geissler 
---
 meta-openpower/recipes-phosphor/ipmi/openpower-ipmi-oem.inc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta-openpower/recipes-phosphor/ipmi/openpower-ipmi-oem.inc b/meta-openpower/recipes-phosphor/ipmi/openpower-ipmi-oem.inc
index c6f36cdd0..1210b55db 100644
--- a/meta-openpower/recipes-phosphor/ipmi/openpower-ipmi-oem.inc
+++ b/meta-openpower/recipes-phosphor/ipmi/openpower-ipmi-oem.inc
@@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/openpower-host-ipmi-oem"
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=fa818a259cbed7ce8bc2a22d35a464fc"
 SRC_URI += "git://github.com/openbmc/openpower-host-ipmi-oem"
-SRCREV = "61950109c770fc65f7b5539974487a5a05c54bb5"
+SRCREV = "248255d2afd411ca05e2596fcb214b8968a08743"
-- 
cgit v1.2.3


From db32d49ade8749ee44e57eb333fe46072631e865 Mon Sep 17 00:00:00 2001
From: Andrew Geissler 
Date: Wed, 14 Apr 2021 13:31:40 +0000
Subject: phosphor-hwmon: srcrev bump 82921ae8e8..f4414cba09

Anton D. Kachalov (1):
      Make shellcheck happy about the max31785-msl script

Patrick Williams (2):
      bootstrap: fix shellcheck warnings
      enable shellcheck

Change-Id: If755ac0e8da2326460eafb596ba50adab4452a73
Signed-off-by: Andrew Geissler 
---
 meta-phosphor/recipes-phosphor/sensors/phosphor-hwmon_git.bb | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/meta-phosphor/recipes-phosphor/sensors/phosphor-hwmon_git.bb b/meta-phosphor/recipes-phosphor/sensors/phosphor-hwmon_git.bb
index a5c1db49a..6958eac4a 100644
--- a/meta-phosphor/recipes-phosphor/sensors/phosphor-hwmon_git.bb
+++ b/meta-phosphor/recipes-phosphor/sensors/phosphor-hwmon_git.bb
@@ -39,14 +39,14 @@ RDEPENDS_${PN} += "\
 RRECOMMENDS_${PN} += "${VIRTUAL-RUNTIME_phosphor-hwmon-config}"
 
 FILES_max31785-msl = "${bindir}/max31785-msl"
-RDEPENDS_max31785-msl = "${VIRTUAL-RUNTIME_base-utils} i2c-tools"
+RDEPENDS_max31785-msl = "${VIRTUAL-RUNTIME_base-utils} i2c-tools bash"
 
 SRC_URI += "git://github.com/openbmc/phosphor-hwmon"
 SRC_URI += "file://70-hwmon.rules"
 SRC_URI += "file://70-iio.rules"
 SRC_URI += "file://start_hwmon.sh"
 
-SRCREV = "82921ae8e84b250e6436c8c005245bccd5c4706c"
+SRCREV = "f4414cba09577e906b7b022a96b41e6a859da149"
 
 S = "${WORKDIR}/git"
 
-- 
cgit v1.2.3


From 9c8edb131772508f7197341e8159f7522ef76572 Mon Sep 17 00:00:00 2001
From: Andrew Geissler 
Date: Wed, 14 Apr 2021 14:31:23 +0000
Subject: phosphor-host-ipmid: srcrev bump 66ae67d36e..06736b2624

Konstantin Aladyshev (1):
      Fix bug with safe mode support option in configure

Patrick Williams (2):
      bootstrap: fix shellcheck warnings
      enable shellcheck

Change-Id: I6fd600b7a257be7772a26187ffc1c2ff775b11e2
Signed-off-by: Andrew Geissler 
---
 meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host.inc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host.inc b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host.inc
index 496bdd6d2..a7f0e3623 100644
--- a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host.inc
+++ b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host.inc
@@ -2,4 +2,4 @@ HOMEPAGE = "http://github.com/openbmc/phosphor-host-ipmid"
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=fa818a259cbed7ce8bc2a22d35a464fc"
 SRC_URI += "git://github.com/openbmc/phosphor-host-ipmid"
-SRCREV = "66ae67d36e952dc251236070721057aff17ca646"
+SRCREV = "06736b2624a264d8d7f5741098a99f048c127b36"
-- 
cgit v1.2.3


From 0ff0475019badfb6ea1f8f17bb3785ca4a0ce402 Mon Sep 17 00:00:00 2001
From: Andrew Geissler 
Date: Wed, 14 Apr 2021 13:51:25 +0000
Subject: phosphor-state-manager: srcrev bump 4a4c1a6943..525478053c

Patrick Williams (2):
      obmcutil: fix shellcheck issues
      enable shellcheck

Change-Id: I3473c064b88f2df04b58ce7b9a8b910aa783711f
Signed-off-by: Andrew Geissler 
---
 meta-phosphor/recipes-phosphor/state/phosphor-state-manager_git.bb | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/meta-phosphor/recipes-phosphor/state/phosphor-state-manager_git.bb b/meta-phosphor/recipes-phosphor/state/phosphor-state-manager_git.bb
index fce243822..2c0118efd 100644
--- a/meta-phosphor/recipes-phosphor/state/phosphor-state-manager_git.bb
+++ b/meta-phosphor/recipes-phosphor/state/phosphor-state-manager_git.bb
@@ -55,6 +55,8 @@ DEPENDS += "libcereal"
 DEPENDS += "nlohmann-json"
 DEPENDS += "cli11"
 
+RDEPENDS_${PN}-chassis += "bash"
+
 FILES_${PN}-host = "${bindir}/phosphor-host-state-manager"
 DBUS_SERVICE_${PN}-host += "xyz.openbmc_project.State.Host.service"
 DBUS_SERVICE_${PN}-host += "phosphor-reboot-host@.service"
@@ -180,6 +182,6 @@ SYSTEMD_LINK_${PN}-obmc-targets += "${@compose_list(d, 'FAN_LINK_FMT', 'OBMC_CHA
 SYSTEMD_LINK_${PN}-obmc-targets += "${@compose_list(d, 'QUIESCE_FMT', 'HOST_ERROR_TARGETS', 'OBMC_HOST_INSTANCES')}"
 
 SRC_URI += "git://github.com/openbmc/phosphor-state-manager"
-SRCREV = "4a4c1a69432dd88a4204e7a15a838aae75ae1d12"
+SRCREV = "525478053c362bf57f89ac032eed74cc7d3de744"
 
 S = "${WORKDIR}/git"
-- 
cgit v1.2.3


From 44f7b33bee2ccd51161ae9a1dab1839f5bce6494 Mon Sep 17 00:00:00 2001
From: Andrew Geissler 
Date: Wed, 14 Apr 2021 13:40:45 +0000
Subject: phosphor-objmgr: srcrev bump bb40bd3685..2b7789c018

Patrick Williams (1):
      bootstrap: fix shellcheck warnings

Change-Id: Ic86346a4404f9821f55cde714b09b6ca4e234cfe
Signed-off-by: Andrew Geissler 
---
 meta-phosphor/recipes-phosphor/dbus/phosphor-mapper_git.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta-phosphor/recipes-phosphor/dbus/phosphor-mapper_git.bb b/meta-phosphor/recipes-phosphor/dbus/phosphor-mapper_git.bb
index daa224141..01aa6b3f7 100644
--- a/meta-phosphor/recipes-phosphor/dbus/phosphor-mapper_git.bb
+++ b/meta-phosphor/recipes-phosphor/dbus/phosphor-mapper_git.bb
@@ -26,7 +26,7 @@ SYSTEMD_SERVICE_${PN} += " \
         "
 SRC_URI += "git://github.com/openbmc/phosphor-objmgr"
 
-SRCREV = "bb40bd36854dde1eb466a2bf093351496ce458bb"
+SRCREV = "2b7789c0180e9678909407df2c195dd3191dfc68"
 
 S = "${WORKDIR}/git"
 
-- 
cgit v1.2.3


From cc19e2902cda80c0a11a5e44d7eb074e542acbad Mon Sep 17 00:00:00 2001
From: Andrew Geissler 
Date: Wed, 14 Apr 2021 13:11:25 +0000
Subject: telemetry: srcrev bump d7cebdd37f..f763c9e3bb

Szymon Dompke (1):
      Added discrete threshold trigger support

Change-Id: Ifa4e01173f1a7e6a48532cf46f13f9020b30fba3
Signed-off-by: Andrew Geissler 
---
 meta-phosphor/recipes-phosphor/telemetry/telemetry_git.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta-phosphor/recipes-phosphor/telemetry/telemetry_git.bb b/meta-phosphor/recipes-phosphor/telemetry/telemetry_git.bb
index 3ee48cc4d..d255f5731 100644
--- a/meta-phosphor/recipes-phosphor/telemetry/telemetry_git.bb
+++ b/meta-phosphor/recipes-phosphor/telemetry/telemetry_git.bb
@@ -8,7 +8,7 @@ LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
 SRC_URI = "git://github.com/openbmc/telemetry"
 
 PV = "1.0+git${SRCPV}"
-SRCREV = "d7cebdd37fade28b0efd34bb9d641135bff758a0"
+SRCREV = "f763c9e3bbe0f86a4a41e7bb0dc70bffde0af9b2"
 
 S = "${WORKDIR}/git"
 
-- 
cgit v1.2.3


From 2927ac0ac19d7d0a6ccb9318ce0538f12ed73fb2 Mon Sep 17 00:00:00 2001
From: Andrew Geissler 
Date: Wed, 14 Apr 2021 13:30:16 +0000
Subject: ibm-logging: srcrev bump aeaa374a6f..074d53b723

Patrick Williams (2):
      bootstrap: fix shellcheck warnings
      MAINTAINERS: remove Deepak

Change-Id: Id06241aa091d2c8f16b0f18383e244924030b12f
Signed-off-by: Andrew Geissler 
---
 meta-ibm/recipes-phosphor/logging/ibm-logging_git.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta-ibm/recipes-phosphor/logging/ibm-logging_git.bb b/meta-ibm/recipes-phosphor/logging/ibm-logging_git.bb
index 791ae9880..3163c07b9 100644
--- a/meta-ibm/recipes-phosphor/logging/ibm-logging_git.bb
+++ b/meta-ibm/recipes-phosphor/logging/ibm-logging_git.bb
@@ -6,7 +6,7 @@ HOMEPAGE = "https://github.com/openbmc/ibm-logging"
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
 SRC_URI += "git://github.com/openbmc/ibm-logging"
-SRCREV = "aeaa374a6fa097b2359acfc4d694ed3ebe8eecaa"
+SRCREV = "074d53b723a26a50b628387c635a97c730555bce"
 
 inherit autotools
 inherit pkgconfig
-- 
cgit v1.2.3


From 50b307716fe5ab1f7c05d37ef694a67726729cfb Mon Sep 17 00:00:00 2001
From: Andrew Geissler 
Date: Wed, 14 Apr 2021 12:11:09 +0000
Subject: phosphor-hostlogger: srcrev bump 90608dc367..dfee0da0a8

Patrick Williams (1):
      enable shellcheck

Change-Id: I84305dfbc4a66f1197d0b168b99d1b493c2cd27c
Signed-off-by: Andrew Geissler 
---
 meta-phosphor/recipes-phosphor/logging/phosphor-hostlogger_git.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta-phosphor/recipes-phosphor/logging/phosphor-hostlogger_git.bb b/meta-phosphor/recipes-phosphor/logging/phosphor-hostlogger_git.bb
index 75d1d9fda..2ad8b50ef 100644
--- a/meta-phosphor/recipes-phosphor/logging/phosphor-hostlogger_git.bb
+++ b/meta-phosphor/recipes-phosphor/logging/phosphor-hostlogger_git.bb
@@ -22,7 +22,7 @@ RRECOMMENDS_${PN} += "phosphor-debug-collector"
 # Source code repository
 S = "${WORKDIR}/git"
 SRC_URI = "git://github.com/openbmc/phosphor-hostlogger"
-SRCREV = "90608dc36719ad09d814a8001a94a7e926579ea0"
+SRCREV = "dfee0da0a855933a3d61df5d190d19d82a72bed7"
 
 # Systemd service template
 SYSTEMD_PACKAGES = "${PN}"
-- 
cgit v1.2.3


From 6a5a53855ef4658a7d1c46e7a9389ad8f534eb01 Mon Sep 17 00:00:00 2001
From: Andrew Geissler 
Date: Wed, 14 Apr 2021 07:20:44 +0000
Subject: phosphor-debug-collector: srcrev bump 22448c5621..0af74a5e46

Jayanth Othayoth (2):
      c++17: drop experimental::filesystem
      Update clang-format

Change-Id: I440953d9ce2d4be5e794691297aa34a9e6263c3a
Signed-off-by: Andrew Geissler 
---
 meta-phosphor/recipes-phosphor/dump/phosphor-debug-collector.inc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta-phosphor/recipes-phosphor/dump/phosphor-debug-collector.inc b/meta-phosphor/recipes-phosphor/dump/phosphor-debug-collector.inc
index 2870a154c..b9d04f800 100644
--- a/meta-phosphor/recipes-phosphor/dump/phosphor-debug-collector.inc
+++ b/meta-phosphor/recipes-phosphor/dump/phosphor-debug-collector.inc
@@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/phosphor-debug-collector"
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
 SRC_URI += "git://github.com/openbmc/phosphor-debug-collector"
-SRCREV = "22448c5621215c01a9d7267b3c65e1fca3422a01"
+SRCREV = "0af74a5e46bfc1b2014cfe54261b2a9926a7cecc"
-- 
cgit v1.2.3


From 6805ad7b41164878f22d28d7476e84b0bf1f0333 Mon Sep 17 00:00:00 2001
From: Andrew Geissler 
Date: Wed, 14 Apr 2021 04:50:37 +0000
Subject: entity-manager: srcrev bump 4bab932ba8..d9ed51d297

Patrick Williams (1):
      enable shellcheck

Change-Id: Id0baae3e8077a84445adac3eede6e9caf6616648
Signed-off-by: Andrew Geissler 
---
 meta-phosphor/recipes-phosphor/configuration/entity-manager_git.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta-phosphor/recipes-phosphor/configuration/entity-manager_git.bb b/meta-phosphor/recipes-phosphor/configuration/entity-manager_git.bb
index 334ec1ff2..4af45e7af 100644
--- a/meta-phosphor/recipes-phosphor/configuration/entity-manager_git.bb
+++ b/meta-phosphor/recipes-phosphor/configuration/entity-manager_git.bb
@@ -3,7 +3,7 @@ DESCRIPTION = "Entity Manager provides d-bus configuration data \
 and configures system sensors"
 
 SRC_URI = "git://github.com/openbmc/entity-manager.git file://blocklist.json"
-SRCREV = "4bab932ba8846c9ff17997b88ab16e0cc93dbcab"
+SRCREV = "d9ed51d2973dd220846f20d6662a3488e9e78bf9"
 PV = "0.1+git${SRCPV}"
 
 LICENSE = "Apache-2.0"
-- 
cgit v1.2.3


From 2b64ad38eb2bcb3935e74744e19a477ef12ea69e Mon Sep 17 00:00:00 2001
From: Andrew Geissler 
Date: Wed, 14 Apr 2021 04:10:20 +0000
Subject: openpower-debug-collector: srcrev bump c044958d13..96f3c8536b

Patrick Williams (1):
      bootstrap: fix shellcheck warnings

Change-Id: I29de0d05cb3b87ad2cffd630f906c05b8ef46cfd
Signed-off-by: Andrew Geissler 
---
 meta-openpower/recipes-phosphor/debug/openpower-debug-collector.inc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta-openpower/recipes-phosphor/debug/openpower-debug-collector.inc b/meta-openpower/recipes-phosphor/debug/openpower-debug-collector.inc
index baf80164b..b5f5f78fc 100644
--- a/meta-openpower/recipes-phosphor/debug/openpower-debug-collector.inc
+++ b/meta-openpower/recipes-phosphor/debug/openpower-debug-collector.inc
@@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/openpower-debug-collector"
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
 SRC_URI += "git://github.com/openbmc/openpower-debug-collector"
-SRCREV = "c044958d1358c3dc08abd43e3d1b943739f4ec32"
+SRCREV = "96f3c8536ba9fae1a3b3050ade03cbd1af416b48"
-- 
cgit v1.2.3


From d043c0365499480ee8e15735f610e500cbf6e303 Mon Sep 17 00:00:00 2001
From: George Liu 
Date: Tue, 13 Apr 2021 19:08:26 +0800
Subject: fp5280g2: leds: Use PACKAGECONFIG_append instead of EXTRA_OECONF

- Since the phosphor-led-manager_git.bb file use PACKAGECONFIG to
  define `use-json`, should use PACKAGECONFIG_append instead of
  EXTRA_OECONF.

Tested: Built ledManager successfully and saw use the JSON
        configuration file at runtime than the static led.yaml

Signed-off-by: George Liu 
Change-Id: I91039207176e483bd83e670b1a2d72a58c7ff2e6
---
 .../meta-fp5280g2/recipes-phosphor/leds/phosphor-led-manager_%.bbappend | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta-inspur/meta-fp5280g2/recipes-phosphor/leds/phosphor-led-manager_%.bbappend b/meta-inspur/meta-fp5280g2/recipes-phosphor/leds/phosphor-led-manager_%.bbappend
index 2ad194fc8..5bae92647 100644
--- a/meta-inspur/meta-fp5280g2/recipes-phosphor/leds/phosphor-led-manager_%.bbappend
+++ b/meta-inspur/meta-fp5280g2/recipes-phosphor/leds/phosphor-led-manager_%.bbappend
@@ -2,7 +2,7 @@ FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
 
 SRC_URI += "file://led-group-config.json"
 
-EXTRA_OECONF += "--enable-use-json"
+PACKAGECONFIG_append = " use-json"
 
 DEPENDS += "phosphor-dbus-interfaces"
 
-- 
cgit v1.2.3


From 587585739199cf94f34592bfc9dddd89c4a89b6d Mon Sep 17 00:00:00 2001
From: George Liu 
Date: Tue, 13 Apr 2021 18:56:03 +0800
Subject: fp5280g2: leds: Remove the virtual LED configuration

- Previously, our purpose of using virtual LEDs was to use the
  default YAML and reconstruct the YAML configuration.

- Currently, we use JSON instead of YAML, so we can remove the
  virtual LED configuration and use the default LEDs repo.

Tested: Built fp5280g2 successfully and saw all the D-Bus object paths
        in the led-group-config.json file

Signed-off-by: George Liu 
Change-Id: Ib99c5e3f87539180812a6ec011a86b3774516663
---
 meta-inspur/meta-fp5280g2/conf/machine/fp5280g2.conf |  1 -
 .../leds/fp5280g2-led-manager-config-native.bb       | 19 -------------------
 .../leds/fp5280g2-led-manager-config/led.yaml        | 20 --------------------
 3 files changed, 40 deletions(-)
 delete mode 100644 meta-inspur/meta-fp5280g2/recipes-phosphor/leds/fp5280g2-led-manager-config-native.bb
 delete mode 100644 meta-inspur/meta-fp5280g2/recipes-phosphor/leds/fp5280g2-led-manager-config/led.yaml

diff --git a/meta-inspur/meta-fp5280g2/conf/machine/fp5280g2.conf b/meta-inspur/meta-fp5280g2/conf/machine/fp5280g2.conf
index 8c66a4976..86663753e 100644
--- a/meta-inspur/meta-fp5280g2/conf/machine/fp5280g2.conf
+++ b/meta-inspur/meta-fp5280g2/conf/machine/fp5280g2.conf
@@ -7,7 +7,6 @@ OBMC_POWER_SUPPLY_INSTANCES = "0 1"
 
 PREFERRED_PROVIDER_virtual/openpower-fru-vpd-layout = "fp5280g2-openpower-fru-vpd-layout-native"
 PREFERRED_PROVIDER_virtual/openpower-fru-inventory = "fp5280g2-openpower-fru-inventory-native"
-PREFERRED_PROVIDER_virtual/phosphor-led-manager-config-native = "fp5280g2-led-manager-config-native"
 
 require conf/machine/include/ast2500.inc
 require conf/machine/include/obmc-bsp-common.inc
diff --git a/meta-inspur/meta-fp5280g2/recipes-phosphor/leds/fp5280g2-led-manager-config-native.bb b/meta-inspur/meta-fp5280g2/recipes-phosphor/leds/fp5280g2-led-manager-config-native.bb
deleted file mode 100644
index 22aadad8e..000000000
--- a/meta-inspur/meta-fp5280g2/recipes-phosphor/leds/fp5280g2-led-manager-config-native.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-SUMMARY = "Phosphor LED Group Management for fp5280g2"
-PR = "r1"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
-
-inherit native
-
-PROVIDES += "virtual/phosphor-led-manager-config-native"
-
-SRC_URI += "file://led.yaml"
-S = "${WORKDIR}"
-
-# Overwrite the example led layout yaml file prior
-# to building the phosphor-led-manager package
-do_install() {
-    SRC=${S}
-    DEST=${D}${datadir}/phosphor-led-manager
-    install -D ${SRC}/led.yaml ${DEST}/led.yaml
-}
diff --git a/meta-inspur/meta-fp5280g2/recipes-phosphor/leds/fp5280g2-led-manager-config/led.yaml b/meta-inspur/meta-fp5280g2/recipes-phosphor/leds/fp5280g2-led-manager-config/led.yaml
deleted file mode 100644
index 922d67bb7..000000000
--- a/meta-inspur/meta-fp5280g2/recipes-phosphor/leds/fp5280g2-led-manager-config/led.yaml
+++ /dev/null
@@ -1,20 +0,0 @@
-bmc_booted:
-    power:
-        Action: 'Blink'
-        DutyOn: 50
-        Period: 1000
-        Priority: 'On'
-    init-ok:
-        Action: 'On'
-        DutyOn: 50
-        Period: 0
-        Priority: 'On'
-
-#fp5280g2 does not use "power" and "power_on". but the led.yaml needs it, otherwise the machine won't power on.
-power_on:
-    power:
-        Action: 'On'
-        DutyOn: 50
-        Period: 0
-        Priority: 'On'
-
-- 
cgit v1.2.3


From 18e91f2af17db42ff04861c66cb79006cbc8ba97 Mon Sep 17 00:00:00 2001
From: Andrew Geissler 
Date: Wed, 14 Apr 2021 21:21:23 +0000
Subject: bmcweb: srcrev bump a8c4ce95bd..c47b845812

Adriana Kobylak (2):
      log_services: Add AdditionalDataURI to log entries
      log_services: Add download of log entries

Basheer Ahmed Muddebihal (1):
      Add Content-Security-Policy(CSP) Level2 Directives

George Liu (1):
      Fix publish a registry to verify messageId

Gunnar Mills (2):
      Fix missed bmcweb::AsyncResp
      Remove OemCrashdump_v1 from index.xml

Jason M. Bills (1):
      log_services: Remove raw PECI command

Krzysztof Grobelny (1):
      Removed copy and move constructors from AsyncResp

P Dheeraj Srujan Kumar (1):
      Added Validation on MessageId and RegistryPrefix

Ravi Teja (1):
      Redfish(Network): Modified to support Default gateway on EthernetInterface

zhanghch05 (1):
      Using AsyncResp everywhere

Change-Id: Iae0fb933b3d0cf3f6e2193aa4b83b6298c2992ea
Signed-off-by: Andrew Geissler 
---
 meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb b/meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb
index 67378cfed..4aa45ff87 100644
--- a/meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb
+++ b/meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb
@@ -13,7 +13,7 @@ LIC_FILES_CHKSUM = "file://LICENCE;md5=a6a4edad4aed50f39a66d098d74b265b"
 SRC_URI = "git://github.com/openbmc/bmcweb.git"
 
 PV = "1.0+git${SRCPV}"
-SRCREV = "a8c4ce95bd2f4fee4544a57ed86ace3e257c9f24"
+SRCREV = "c47b845812c16495803a858a7bc63f5511daf27d"
 
 S = "${WORKDIR}/git"
 
-- 
cgit v1.2.3


From 495d12301e60c53bfdffdbe36ca6ca562692a114 Mon Sep 17 00:00:00 2001
From: Andrew Geissler 
Date: Thu, 15 Apr 2021 02:30:17 +0000
Subject: intel-ipmi-oem: srcrev bump cc4025986d..3861fea7af

Jayaprakash Mutyala (1):
      bridgingcommands:Fix for Get Message command

Jonathan Doman (1):
      Remove unused POST code D-Bus defines

Change-Id: I9c1e5d4aaf1d7fbdbc422adda41a394e292ba6de
Signed-off-by: Andrew Geissler 
---
 meta-intel-openbmc/meta-common/recipes-intel/ipmi/intel-ipmi-oem_git.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta-intel-openbmc/meta-common/recipes-intel/ipmi/intel-ipmi-oem_git.bb b/meta-intel-openbmc/meta-common/recipes-intel/ipmi/intel-ipmi-oem_git.bb
index 495b35d4a..af51370af 100755
--- a/meta-intel-openbmc/meta-common/recipes-intel/ipmi/intel-ipmi-oem_git.bb
+++ b/meta-intel-openbmc/meta-common/recipes-intel/ipmi/intel-ipmi-oem_git.bb
@@ -5,7 +5,7 @@ LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=a6a4edad4aed50f39a66d098d74b265b"
 
 SRC_URI = "git://github.com/openbmc/intel-ipmi-oem"
-SRCREV = "cc4025986d958a852bdb07142cea4419e574122f"
+SRCREV = "3861fea7af194ce5f571a0802f5a4fbe6a71cea2"
 
 S = "${WORKDIR}/git"
 PV = "0.1+git${SRCPV}"
-- 
cgit v1.2.3


From bcbb19e38efd6b2df28173aae1a72df71dc3baa0 Mon Sep 17 00:00:00 2001
From: Patrick Venture 
Date: Tue, 13 Apr 2021 12:14:48 -0700
Subject: meta-quanta: q71l: fix uboot config

Fix the uboot config to always apply because the palmetto machine
override is no longer set.

Tested: With companion layers patch was able to build.
Signed-off-by: Patrick Venture 
Change-Id: Ifc16e06a0906d5530a8ccfbe2a15dcc8d9fa9296
---
 meta-quanta/meta-q71l/conf/machine/quanta-q71l.conf | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta-quanta/meta-q71l/conf/machine/quanta-q71l.conf b/meta-quanta/meta-q71l/conf/machine/quanta-q71l.conf
index 05ebc8262..2bcaeaaa1 100644
--- a/meta-quanta/meta-q71l/conf/machine/quanta-q71l.conf
+++ b/meta-quanta/meta-q71l/conf/machine/quanta-q71l.conf
@@ -4,7 +4,7 @@ KERNEL_DEVICETREE = "${KMACHINE}-bmc-${MACHINE}.dtb"
 require conf/machine/include/ast2400.inc
 require conf/machine/include/obmc-bsp-common.inc
 
-UBOOT_MACHINE_palmetto = "ast_g4_ncsi_config"
+UBOOT_MACHINE = "ast_g4_ncsi_config"
 UBOOT_ENTRYPOINT = "0x40008000"
 UBOOT_LOADADDRESS = "0x40008000"
 
-- 
cgit v1.2.3


From f77dcf7aab759b5fa45542ce3ac5b330cb7e4058 Mon Sep 17 00:00:00 2001
From: Andrew Geissler 
Date: Thu, 15 Apr 2021 18:50:39 +0000
Subject: entity-manager: srcrev bump d9ed51d297..7a682a3a7b

Paul Fertser (1):
      FBTP: provide unique names for thermal controllers

Vijay Khemka (1):
      test: Add tests for validateHeader

Change-Id: I6f1246c771d7ef9d3ba26bab61f92d199b8dab75
Signed-off-by: Andrew Geissler 
---
 meta-phosphor/recipes-phosphor/configuration/entity-manager_git.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta-phosphor/recipes-phosphor/configuration/entity-manager_git.bb b/meta-phosphor/recipes-phosphor/configuration/entity-manager_git.bb
index 4af45e7af..8e315e074 100644
--- a/meta-phosphor/recipes-phosphor/configuration/entity-manager_git.bb
+++ b/meta-phosphor/recipes-phosphor/configuration/entity-manager_git.bb
@@ -3,7 +3,7 @@ DESCRIPTION = "Entity Manager provides d-bus configuration data \
 and configures system sensors"
 
 SRC_URI = "git://github.com/openbmc/entity-manager.git file://blocklist.json"
-SRCREV = "d9ed51d2973dd220846f20d6662a3488e9e78bf9"
+SRCREV = "7a682a3a7bb6caea3afb6bdddf83956c51fcd7f0"
 PV = "0.1+git${SRCPV}"
 
 LICENSE = "Apache-2.0"
-- 
cgit v1.2.3


From bc25dbb9368739511fd7ee029566fae046e080d4 Mon Sep 17 00:00:00 2001
From: Andrew Geissler 
Date: Thu, 15 Apr 2021 19:01:17 +0000
Subject: phosphor-power: srcrev bump 3c530fbdd1..0a450197fa

Shawn McCarney (1):
      regulators: Add Sensors service

Change-Id: If292419ffff68cd39a30a68250de8e26e311920b
Signed-off-by: Andrew Geissler 
---
 meta-phosphor/recipes-phosphor/power/phosphor-power.inc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta-phosphor/recipes-phosphor/power/phosphor-power.inc b/meta-phosphor/recipes-phosphor/power/phosphor-power.inc
index ea6403bbc..a19217e4a 100644
--- a/meta-phosphor/recipes-phosphor/power/phosphor-power.inc
+++ b/meta-phosphor/recipes-phosphor/power/phosphor-power.inc
@@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/phosphor-power"
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
 SRC_URI += "git://github.com/openbmc/phosphor-power"
-SRCREV = "3c530fbdd1f40ea89856465130ba39a95ce115c2"
+SRCREV = "0a450197fae6364bf717d6dd5d66c3adc9232e07"
-- 
cgit v1.2.3


From 0553116c37d234745f0aa18fc6af795f3c7a090d Mon Sep 17 00:00:00 2001
From: Andrew Geissler 
Date: Thu, 15 Apr 2021 18:41:16 +0000
Subject: dbus-sensors: srcrev bump d9cd7040e9..12e3d67e3b

Matt Spinler (1):
      Remove unused errCount variables

Paul Fertser (1):
      PSUSensor: whitelist adm1275

Zhikui Ren (1):
      Fix ExitAirTempSensor calculation

Change-Id: I7ae3fe37696d8a39b60dfd998072b6c8b97bdd94
Signed-off-by: Andrew Geissler 
---
 meta-phosphor/recipes-phosphor/sensors/dbus-sensors_git.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta-phosphor/recipes-phosphor/sensors/dbus-sensors_git.bb b/meta-phosphor/recipes-phosphor/sensors/dbus-sensors_git.bb
index b0b1220eb..a51133151 100644
--- a/meta-phosphor/recipes-phosphor/sensors/dbus-sensors_git.bb
+++ b/meta-phosphor/recipes-phosphor/sensors/dbus-sensors_git.bb
@@ -2,7 +2,7 @@ SUMMARY = "dbus-sensors"
 DESCRIPTION = "Dbus Sensor Services Configured from D-Bus"
 
 SRC_URI = "git://github.com/openbmc/dbus-sensors.git"
-SRCREV = "d9cd7040e93337279c7d2939214f041e5f6ab447"
+SRCREV = "12e3d67e3ba76bc832e2e1e1fc38933b055afd79"
 
 PV = "0.1+git${SRCPV}"
 
-- 
cgit v1.2.3


From 64f4d95853f4b8543542663e4173c1bf63516af1 Mon Sep 17 00:00:00 2001
From: Andrew Geissler 
Date: Thu, 15 Apr 2021 17:50:34 +0000
Subject: openpower-proc-control: srcrev bump 29b5d44674..854d05ab9d

Patrick Williams (2):
      bootstrap: fix shellcheck warnings
      enable shellcheck

Change-Id: I71c0701d7ef4171d0f4ec3d6f360739eb3a9c1c3
Signed-off-by: Andrew Geissler 
---
 meta-openpower/recipes-phosphor/host/op-proc-control_git.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta-openpower/recipes-phosphor/host/op-proc-control_git.bb b/meta-openpower/recipes-phosphor/host/op-proc-control_git.bb
index 8fee1ae93..33fe0025c 100644
--- a/meta-openpower/recipes-phosphor/host/op-proc-control_git.bb
+++ b/meta-openpower/recipes-phosphor/host/op-proc-control_git.bb
@@ -11,7 +11,7 @@ inherit autotools obmc-phosphor-utils pkgconfig
 inherit systemd
 
 SRC_URI += "git://github.com/openbmc/openpower-proc-control"
-SRCREV = "29b5d446743b5452ae3eb6ffad3785a9f0c7c96e"
+SRCREV = "854d05ab9d42720b420154d09508778d8504ca20"
 
 DEPENDS += " \
         autoconf-archive-native \
-- 
cgit v1.2.3


From addcd3f80d66f31eaa86298919e17328ea151153 Mon Sep 17 00:00:00 2001
From: Andrew Geissler 
Date: Thu, 15 Apr 2021 12:11:03 +0000
Subject: phosphor-led-manager: srcrev bump 6ca80648a0..d76c07482d

George Liu (2):
      configs: Add all groups configuration JSON through meson.build
      fault-monitor: Add monitor-opertaional-status to meson.build

Change-Id: I97a5cbe89bd695df6eef8dad13c0a1b8f7100e72
Signed-off-by: Andrew Geissler 
---
 meta-phosphor/recipes-phosphor/leds/phosphor-led-manager.inc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager.inc b/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager.inc
index 77c2a28d8..222ef9c10 100644
--- a/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager.inc
+++ b/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager.inc
@@ -2,4 +2,4 @@ HOMEPAGE = "http://github.com/openbmc/phosphor-led-manager"
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
 SRC_URI += "git://github.com/openbmc/phosphor-led-manager"
-SRCREV = "6ca80648a01f91c611cbfc66b363d211fc5c0f4b"
+SRCREV = "d76c07482dda29e159769ddca27c2521fd2a1966"
-- 
cgit v1.2.3


From 440f3f3384e51ace87c0225046c35a4d53e6c638 Mon Sep 17 00:00:00 2001
From: Andrew Geissler 
Date: Wed, 14 Apr 2021 02:00:50 +0000
Subject: phosphor-ipmi-blobs: srcrev bump 485e54aea3..a533a3756f

Patrick Williams (1):
      bootstrap: fix shellcheck warnings

Change-Id: Iefe2e811e28b3cc4f905479812695992a0c0b991
Signed-off-by: Andrew Geissler 
---
 meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-blobs_git.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-blobs_git.bb b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-blobs_git.bb
index 227e8c897..bac96c456 100644
--- a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-blobs_git.bb
+++ b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-blobs_git.bb
@@ -16,7 +16,7 @@ DEPENDS += "ipmi-blob-tool"
 
 S = "${WORKDIR}/git"
 SRC_URI = "git://github.com/openbmc/phosphor-ipmi-blobs"
-SRCREV = "485e54aea3f7b084b4425d83d2f5eb9529c09ebe"
+SRCREV = "a533a3756f084ab6c5a80375074178440ba7c905"
 
 FILES_${PN}_append = " ${libdir}/ipmid-providers/lib*${SOLIBS}"
 FILES_${PN}_append = " ${libdir}/host-ipmid/lib*${SOLIBS}"
-- 
cgit v1.2.3


From 94f21e600d4a4580e18f0052edc5553bd3a73c62 Mon Sep 17 00:00:00 2001
From: Andrew Geissler 
Date: Thu, 15 Apr 2021 02:00:39 +0000
Subject: phosphor-networkd: srcrev bump 4d94ecd8aa..2ea71fa3dc

Manojkiran Eda (1):
      Fix shell check errors & enforce it in CI

Change-Id: I60bb7a6ed2c86f17bb35360b012ff791d33ed82d
Signed-off-by: Andrew Geissler 
---
 meta-phosphor/classes/phosphor-networkd-rev.bbclass | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta-phosphor/classes/phosphor-networkd-rev.bbclass b/meta-phosphor/classes/phosphor-networkd-rev.bbclass
index d392f2208..0bae5219f 100644
--- a/meta-phosphor/classes/phosphor-networkd-rev.bbclass
+++ b/meta-phosphor/classes/phosphor-networkd-rev.bbclass
@@ -1,2 +1,2 @@
 SRC_URI += "git://github.com/openbmc/phosphor-networkd"
-SRCREV = "4d94ecd8aae775f243cd73c78efb5cf657852e48"
+SRCREV = "2ea71fa3dcc5e3b04535ff105815034fdc16799b"
-- 
cgit v1.2.3


From ca355c4d898105dbb6a8d673be6a368bb3631d8f Mon Sep 17 00:00:00 2001
From: Andrew Geissler 
Date: Thu, 15 Apr 2021 02:01:32 +0000
Subject: pldm: srcrev bump e7991b7532..6b1d883043

Manojkiran Eda (1):
      Fix broken IBM OEM Unit tests

Change-Id: I60724b01d70a533278bbc1c5d040966f8d81cc59
Signed-off-by: Andrew Geissler 
---
 meta-phosphor/recipes-phosphor/pldm/pldm.inc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta-phosphor/recipes-phosphor/pldm/pldm.inc b/meta-phosphor/recipes-phosphor/pldm/pldm.inc
index 52b5f493c..69887b4b5 100644
--- a/meta-phosphor/recipes-phosphor/pldm/pldm.inc
+++ b/meta-phosphor/recipes-phosphor/pldm/pldm.inc
@@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/pldm"
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
 SRC_URI = "git://github.com/openbmc/pldm"
-SRCREV = "e7991b75325dacafd9573d52eb722cfe390b6faf"
+SRCREV = "6b1d883043dc36516e771faf5ce9f5fa18e23cc0"
-- 
cgit v1.2.3


From d148b6b8aa948ecbafb075a683ffe62413819981 Mon Sep 17 00:00:00 2001
From: Andrew Geissler 
Date: Wed, 14 Apr 2021 21:31:10 +0000
Subject: phosphor-host-ipmid: srcrev bump 06736b2624..9ab2f94794

Alex Qiu (1):
      sensorcommands: Cache sensor data at 60s interval when requested for SDR

Change-Id: If97d26ae5cd5879567323f92c82c45d8898dbbdb
Signed-off-by: Andrew Geissler 
---
 meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host.inc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host.inc b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host.inc
index a7f0e3623..82c7623bd 100644
--- a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host.inc
+++ b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host.inc
@@ -2,4 +2,4 @@ HOMEPAGE = "http://github.com/openbmc/phosphor-host-ipmid"
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=fa818a259cbed7ce8bc2a22d35a464fc"
 SRC_URI += "git://github.com/openbmc/phosphor-host-ipmid"
-SRCREV = "06736b2624a264d8d7f5741098a99f048c127b36"
+SRCREV = "9ab2f94794c4f4ca1856d35c87abe9fa77356fa3"
-- 
cgit v1.2.3


From 4b50de129d430592e46ab4786ae0aaef206b89c8 Mon Sep 17 00:00:00 2001
From: Andrew Geissler 
Date: Wed, 14 Apr 2021 20:31:14 +0000
Subject: phosphor-inventory-manager: srcrev bump 59521e87de..ffa2b7ec19

Patrick Williams (1):
      bootstrap: fix shellcheck warnings

Change-Id: Ic1dba03e224969e8ff96866ed80fd58c10205fa1
Signed-off-by: Andrew Geissler 
---
 meta-phosphor/recipes-phosphor/inventory/phosphor-inventory-manager.inc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta-phosphor/recipes-phosphor/inventory/phosphor-inventory-manager.inc b/meta-phosphor/recipes-phosphor/inventory/phosphor-inventory-manager.inc
index 6a8602758..79b0fd9fc 100644
--- a/meta-phosphor/recipes-phosphor/inventory/phosphor-inventory-manager.inc
+++ b/meta-phosphor/recipes-phosphor/inventory/phosphor-inventory-manager.inc
@@ -2,4 +2,4 @@ HOMEPAGE = "http://github.com/openbmc/phosphor-inventory-manager"
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
 SRC_URI = "git://github.com/openbmc/phosphor-inventory-manager"
-SRCREV = "59521e87de8d3d74065628393bbadc4389e09600"
+SRCREV = "ffa2b7ec19d7721295e8a05d202c7c0ca38a912f"
-- 
cgit v1.2.3


From 92a3137ad43f733ee7a6b207f08e7ba7e607c5a6 Mon Sep 17 00:00:00 2001
From: George Liu 
Date: Tue, 13 Apr 2021 19:21:04 +0800
Subject: fp5280g2: leds: lamptest: Enable lamp test feature

This commit enables phosphor-ledmanager to do lamp test

Signed-off-by: George Liu 
Change-Id: I66bf7ba7e7a481b11e87d3a5f92de01a09f5eeee
---
 .../meta-fp5280g2/recipes-phosphor/leds/phosphor-led-manager_%.bbappend | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta-inspur/meta-fp5280g2/recipes-phosphor/leds/phosphor-led-manager_%.bbappend b/meta-inspur/meta-fp5280g2/recipes-phosphor/leds/phosphor-led-manager_%.bbappend
index 5bae92647..1b4266e05 100644
--- a/meta-inspur/meta-fp5280g2/recipes-phosphor/leds/phosphor-led-manager_%.bbappend
+++ b/meta-inspur/meta-fp5280g2/recipes-phosphor/leds/phosphor-led-manager_%.bbappend
@@ -2,7 +2,7 @@ FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
 
 SRC_URI += "file://led-group-config.json"
 
-PACKAGECONFIG_append = " use-json"
+PACKAGECONFIG_append = " use-json use-lamp-test"
 
 DEPENDS += "phosphor-dbus-interfaces"
 
-- 
cgit v1.2.3


From 19f27520221e9ac0c0baf4a063e27e997153421c Mon Sep 17 00:00:00 2001
From: George Liu 
Date: Tue, 13 Apr 2021 19:36:33 +0800
Subject: meta-inspur: Replace IRC with Discord

Discord has more users, IRC traffic has ground to a halt.

Signed-off-by: George Liu 
Change-Id: I8e3d32ec5a75b7709a6fe2f37e17b24f3070563c
---
 meta-inspur/MAINTAINERS | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/meta-inspur/MAINTAINERS b/meta-inspur/MAINTAINERS
index 0bb9d65fb..0710437fe 100644
--- a/meta-inspur/MAINTAINERS
+++ b/meta-inspur/MAINTAINERS
@@ -14,7 +14,7 @@ Description of section entries:
 
     Section entries are structured according to the following scheme:
 
-    X:  NAME  
+    X:  NAME  
     X:  ...
     .
     .
@@ -24,10 +24,10 @@ Description of section entries:
     organization; FILE_PATH is a file path within the repository, possibly with
     wildcards; X is a tag of one of the following types:
 
-    M:  Denotes maintainer; has fields NAME  ;
+    M:  Denotes maintainer; has fields NAME  ;
         if omitted from an entry, assume one of the maintainers from the
         MAINTAINERS entry.
-    R:  Denotes reviewer; has fields NAME  ;
+    R:  Denotes reviewer; has fields NAME  ;
         these people are to be added as reviewers for a change matching the repo
         path.
     F:  Denotes forked from an external repository; has fields URL.
-- 
cgit v1.2.3


From 404150eab5c507a5958030372105d5d48989c9fa Mon Sep 17 00:00:00 2001
From: Joel Stanley 
Date: Fri, 16 Apr 2021 10:09:58 +0930
Subject: linux-aspeed: Move to v5.10.30 stable release

This includes security and bug fixes from the 5.10.28 through to
5.10.30 stable releases.

Milton Miller (1):
      net/ncsi: Avoid channel_monitor hrtimer deadlock

Change-Id: I072b81523e0d337988e8f62bbea3ba9e1ea3f066
Signed-off-by: Joel Stanley 
---
 meta-aspeed/recipes-kernel/linux/linux-aspeed_git.bb | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/meta-aspeed/recipes-kernel/linux/linux-aspeed_git.bb b/meta-aspeed/recipes-kernel/linux/linux-aspeed_git.bb
index 59548a1c0..9df959114 100644
--- a/meta-aspeed/recipes-kernel/linux/linux-aspeed_git.bb
+++ b/meta-aspeed/recipes-kernel/linux/linux-aspeed_git.bb
@@ -1,6 +1,6 @@
 KBRANCH ?= "dev-5.10"
-LINUX_VERSION ?= "5.10.27"
+LINUX_VERSION ?= "5.10.30"
 
-SRCREV="2fc656976ec982e1738d1fdca7c09a5f5f08d132"
+SRCREV="d538d632fb2046278ff3457994d64d43ee2901c7"
 
 require linux-aspeed.inc
-- 
cgit v1.2.3


From e7588f81154c0b14060b2bad933b30caabc62bb5 Mon Sep 17 00:00:00 2001
From: George Hung 
Date: Thu, 15 Apr 2021 15:45:02 +0800
Subject: meta-quanta: gbs: monitor fans e-fuse PG GPIO signal

- add fans e-fuse PG GPIO config file
- add fans e-fuse PG GPIO as the sensor
- monitor fans e-fuse PG GPIO and when it assert low,
  record the SEL log

Signed-off-by: George Hung 
Change-Id: I32298097b1e79036b67edea65b84ef4d78cbacfc
---
 .../files/detect-gpio-present.sh                    |  5 +++--
 .../gbs-yaml-config/gbs-ipmi-sensors.yaml           | 21 +++++++++++++++++++++
 .../phosphor-gpio-monitor/obmc/gpio/gpios-10.conf   |  6 ++++++
 .../gpio/phosphor-gpio-monitor_%.bbappend           |  3 ++-
 4 files changed, 32 insertions(+), 3 deletions(-)
 create mode 100644 meta-quanta/meta-gbs/recipes-phosphor/gpio/phosphor-gpio-monitor/obmc/gpio/gpios-10.conf

diff --git a/meta-quanta/meta-gbs/recipes-gbs/gbs-detect-gpio-present/files/detect-gpio-present.sh b/meta-quanta/meta-gbs/recipes-gbs/gbs-detect-gpio-present/files/detect-gpio-present.sh
index eec0a0ba2..dd5852a70 100644
--- a/meta-quanta/meta-gbs/recipes-gbs/gbs-detect-gpio-present/files/detect-gpio-present.sh
+++ b/meta-quanta/meta-gbs/recipes-gbs/gbs-detect-gpio-present/files/detect-gpio-present.sh
@@ -10,7 +10,8 @@ PRESENT_OBJPATH=("/xyz/openbmc_project/inventory/system/chassis/cable/ss_cab0_pr
 "/xyz/openbmc_project/inventory/system/chassis/cable/bp12v_cab_prsnt"
 "/xyz/openbmc_project/inventory/system/chassis/entity/sata0_prsnt"
 "/xyz/openbmc_project/inventory/system/chassis/entity/pe_slot0_prsnt"
-"/xyz/openbmc_project/inventory/system/chassis/entity/pe_slot1_prsnt")
+"/xyz/openbmc_project/inventory/system/chassis/entity/pe_slot1_prsnt"
+"/xyz/openbmc_project/inventory/system/chassis/entity/fans_efuse_pg")
 INTERFACE_NAME="xyz.openbmc_project.Inventory.Item"
 
 IPMI_LOG_SERVICE="xyz.openbmc_project.Logging.IPMI"
@@ -23,7 +24,7 @@ LOG_EVENT_DATA="3 0x01 0xff 0xfe"
 LOG_ASSERT_FLAG="true"
 LOG_DEASSERT_FLAG="false"
 LOG_GENID_FLAG="0x0020"
-present_state=("true" "true" "true" "true" "true" "true" "true" "true" "true" "true")
+present_state=("true" "true" "true" "true" "true" "true" "true" "true" "true" "true" "true")
 
 for i in ${!PRESENT_OBJPATH[@]}
 do
diff --git a/meta-quanta/meta-gbs/recipes-phosphor/configuration/gbs-yaml-config/gbs-ipmi-sensors.yaml b/meta-quanta/meta-gbs/recipes-phosphor/configuration/gbs-yaml-config/gbs-ipmi-sensors.yaml
index e0eb0e192..043136b5e 100644
--- a/meta-quanta/meta-gbs/recipes-phosphor/configuration/gbs-yaml-config/gbs-ipmi-sensors.yaml
+++ b/meta-quanta/meta-gbs/recipes-phosphor/configuration/gbs-yaml-config/gbs-ipmi-sensors.yaml
@@ -1258,3 +1258,24 @@
   sensorReadingType: 0x6F
   sensorType: 0x23
   serviceInterface: org.freedesktop.DBus.Properties
+
+0xFC:
+  entityID: 0x1E
+  entityInstance: 0
+  interfaces:
+    xyz.openbmc_project.Inventory.Item:
+      Present:
+        Offsets:
+          0x00:
+            assert: true
+            type: bool
+          0x01:
+            assert: false
+            type: bool
+  mutability: Mutability::Write|Mutability::Read
+  path: /xyz/openbmc_project/inventory/system/chassis/entity/fans_efuse_pg
+  readingType: assertion
+  sensorNamePattern: nameLeaf
+  sensorReadingType: 0x6f
+  sensorType: 0x25
+  serviceInterface: org.freedesktop.DBus.Properties
diff --git a/meta-quanta/meta-gbs/recipes-phosphor/gpio/phosphor-gpio-monitor/obmc/gpio/gpios-10.conf b/meta-quanta/meta-gbs/recipes-phosphor/gpio/phosphor-gpio-monitor/obmc/gpio/gpios-10.conf
new file mode 100644
index 000000000..c1c05e369
--- /dev/null
+++ b/meta-quanta/meta-gbs/recipes-phosphor/gpio/phosphor-gpio-monitor/obmc/gpio/gpios-10.conf
@@ -0,0 +1,6 @@
+#The gpio 146 is a real gpio, which is used to
+#store the PWRGD_P12V_ALL_FANS signal
+INVENTORY=/system/chassis/entity/fans_efuse_pg
+DEVPATH=/dev/input/event0
+KEY=146
+NAME=fans_efuse_pg
diff --git a/meta-quanta/meta-gbs/recipes-phosphor/gpio/phosphor-gpio-monitor_%.bbappend b/meta-quanta/meta-gbs/recipes-phosphor/gpio/phosphor-gpio-monitor_%.bbappend
index d45636609..4b9a84100 100644
--- a/meta-quanta/meta-gbs/recipes-phosphor/gpio/phosphor-gpio-monitor_%.bbappend
+++ b/meta-quanta/meta-gbs/recipes-phosphor/gpio/phosphor-gpio-monitor_%.bbappend
@@ -18,7 +18,8 @@ SYSTEMD_ENVIRONMENT_FILE_${PN}_append_gbs +="obmc/gpio/gpios-6.conf"
 SYSTEMD_ENVIRONMENT_FILE_${PN}_append_gbs +="obmc/gpio/gpios-7.conf"
 SYSTEMD_ENVIRONMENT_FILE_${PN}_append_gbs +="obmc/gpio/gpios-8.conf"
 SYSTEMD_ENVIRONMENT_FILE_${PN}_append_gbs +="obmc/gpio/gpios-9.conf"
-GBS_OBMC_PRESENT_INSTANCES = "0 1 2 3 4 5 6 7 8 9"
+SYSTEMD_ENVIRONMENT_FILE_${PN}_append_gbs +="obmc/gpio/gpios-10.conf"
+GBS_OBMC_PRESENT_INSTANCES = "0 1 2 3 4 5 6 7 8 9 10"
 
 SYSTEMD_LINK_${PN}-presence_append_gbs = " ${@compose_list(d, 'FMT_PRESENT', 'GBS_OBMC_PRESENT_INSTANCES')}"
 
-- 
cgit v1.2.3


From bce29e152cd5aeb0d83f5012744d32cdfb816b17 Mon Sep 17 00:00:00 2001
From: George Liu 
Date: Fri, 16 Apr 2021 10:28:26 +0800
Subject: fp5280g2: leds: Remove DEPENDS

- DEPENDS is redundant and should be removed from the bbappend file.

- Also, Remove install the phosphor-led-manager file.

Tested: built phosphor-led-manager successfully and worked.

Signed-off-by: George Liu 
Change-Id: I6797c2a860c64b74ea09881fd990e8298be96c6b
---
 .../recipes-phosphor/leds/phosphor-led-manager_%.bbappend              | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/meta-inspur/meta-fp5280g2/recipes-phosphor/leds/phosphor-led-manager_%.bbappend b/meta-inspur/meta-fp5280g2/recipes-phosphor/leds/phosphor-led-manager_%.bbappend
index 1b4266e05..ed9666776 100644
--- a/meta-inspur/meta-fp5280g2/recipes-phosphor/leds/phosphor-led-manager_%.bbappend
+++ b/meta-inspur/meta-fp5280g2/recipes-phosphor/leds/phosphor-led-manager_%.bbappend
@@ -4,9 +4,6 @@ SRC_URI += "file://led-group-config.json"
 
 PACKAGECONFIG_append = " use-json use-lamp-test"
 
-DEPENDS += "phosphor-dbus-interfaces"
-
 do_install_append() {
-        install -d ${D}${datadir}/phosphor-led-manager/
         install -m 0644 ${WORKDIR}/led-group-config.json ${D}${datadir}/phosphor-led-manager/
 }
-- 
cgit v1.2.3


From c6b01641675b986a98c2124f8b249e3e6119a674 Mon Sep 17 00:00:00 2001
From: George Liu 
Date: Fri, 16 Apr 2021 10:14:02 +0800
Subject: ledManager: build phosphor-led-manager with meson

The intent behind this commit to build phosphor-led-manager with
meson and remove autotools.

Tested: built phosphor-led-manager successfully and worked.

Signed-off-by: George Liu 
Change-Id: Id90338dabd1862cced26a9d4f25204e4f8c36ec4
---
 .../recipes-phosphor/leds/phosphor-led-manager_git.bb          | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager_git.bb b/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager_git.bb
index b14f154ff..cce6fdef0 100644
--- a/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager_git.bb
+++ b/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager_git.bb
@@ -5,14 +5,14 @@ PV = "1.0+git${SRCPV}"
 
 require ${PN}.inc
 
-inherit autotools pkgconfig python3native
+inherit meson pkgconfig python3native
 inherit obmc-phosphor-dbus-service obmc-phosphor-systemd
 
 PACKAGECONFIG ??= ""
-PACKAGECONFIG[use-json] = "--enable-use-json, --disable-use-json"
-PACKAGECONFIG[use-lamp-test] = "--enable-use-lamp-test, --disable-use-lamp-test"
-PACKAGECONFIG[monitor-operational-status] = "--enable-monitor-operational-status, \
-                                             --disable-monitor-operational-status"
+PACKAGECONFIG[use-json] = "-Duse-json=enabled, -Duse-json=disabled"
+PACKAGECONFIG[use-lamp-test] = "-Duse-lamp-test=enabled, -Duse-lamp-test=disabled"
+PACKAGECONFIG[monitor-operational-status] = "-Dmonitor-operational-status=enabled, \
+                                             -Dmonitor-operational-status=disabled"
 
 SYSTEMD_PACKAGES = "${PN} ${PN}-faultmonitor"
 PACKAGE_BEFORE_PN += "${PN}-faultmonitor"
-- 
cgit v1.2.3


From d5d20b35bb76a0e63ce45999b258144f19c49604 Mon Sep 17 00:00:00 2001
From: mustafa 
Date: Wed, 7 Apr 2021 15:06:59 -0500
Subject: meta-fii/meta-kudo: Using SEL log

1- Using SEL log

Signed-off-by: mustafa 
Change-Id: I65a6c0094262e598bbb1c8240b11c76c9fbe51eb
Signed-off-by: Mohaimen Alsamarai 
---
 .../rsyslog/rsyslog/rotate-event-logs.service      |  9 +++
 .../rsyslog/rsyslog/rotate-event-logs.sh           | 10 +++
 .../rsyslog/rsyslog/rsyslog-override.conf          |  2 +
 .../recipes-extended/rsyslog/rsyslog/rsyslog.conf  | 79 ++++++++++++++++++++++
 .../rsyslog/rsyslog/rsyslog.logrotate              | 22 ++++++
 .../recipes-extended/rsyslog/rsyslog_%.bbappend    | 25 +++++++
 .../sel-logger/phosphor-sel-logger_%.bbappend      |  2 +
 7 files changed, 149 insertions(+)
 create mode 100644 meta-fii/meta-kudo/recipes-extended/rsyslog/rsyslog/rotate-event-logs.service
 create mode 100644 meta-fii/meta-kudo/recipes-extended/rsyslog/rsyslog/rotate-event-logs.sh
 create mode 100644 meta-fii/meta-kudo/recipes-extended/rsyslog/rsyslog/rsyslog-override.conf
 create mode 100644 meta-fii/meta-kudo/recipes-extended/rsyslog/rsyslog/rsyslog.conf
 create mode 100644 meta-fii/meta-kudo/recipes-extended/rsyslog/rsyslog/rsyslog.logrotate
 create mode 100644 meta-fii/meta-kudo/recipes-extended/rsyslog/rsyslog_%.bbappend
 create mode 100644 meta-fii/meta-kudo/recipes-phosphor/sel-logger/phosphor-sel-logger_%.bbappend

diff --git a/meta-fii/meta-kudo/recipes-extended/rsyslog/rsyslog/rotate-event-logs.service b/meta-fii/meta-kudo/recipes-extended/rsyslog/rsyslog/rotate-event-logs.service
new file mode 100644
index 000000000..8f3a2bc31
--- /dev/null
+++ b/meta-fii/meta-kudo/recipes-extended/rsyslog/rsyslog/rotate-event-logs.service
@@ -0,0 +1,9 @@
+[Unit]
+Description=Rotate the event logs
+
+[Service]
+Type=simple
+ExecStart=/usr/bin/rotate-event-logs.sh
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta-fii/meta-kudo/recipes-extended/rsyslog/rsyslog/rotate-event-logs.sh b/meta-fii/meta-kudo/recipes-extended/rsyslog/rsyslog/rotate-event-logs.sh
new file mode 100644
index 000000000..5a8c5cc10
--- /dev/null
+++ b/meta-fii/meta-kudo/recipes-extended/rsyslog/rsyslog/rotate-event-logs.sh
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+while true; do
+    sleep 60
+    /usr/sbin/logrotate /etc/logrotate.d/logrotate.rsyslog
+    ec=$?
+    if [ $ec -ne 0 ] ; then
+        echo "logrotate failed ($ec)"
+    fi
+done
diff --git a/meta-fii/meta-kudo/recipes-extended/rsyslog/rsyslog/rsyslog-override.conf b/meta-fii/meta-kudo/recipes-extended/rsyslog/rsyslog/rsyslog-override.conf
new file mode 100644
index 000000000..14bcc0781
--- /dev/null
+++ b/meta-fii/meta-kudo/recipes-extended/rsyslog/rsyslog/rsyslog-override.conf
@@ -0,0 +1,2 @@
+[Service]
+ExecReload=/bin/kill -HUP $MAINPID
diff --git a/meta-fii/meta-kudo/recipes-extended/rsyslog/rsyslog/rsyslog.conf b/meta-fii/meta-kudo/recipes-extended/rsyslog/rsyslog/rsyslog.conf
new file mode 100644
index 000000000..46a287eef
--- /dev/null
+++ b/meta-fii/meta-kudo/recipes-extended/rsyslog/rsyslog/rsyslog.conf
@@ -0,0 +1,79 @@
+# if you experience problems, check
+# http://www.rsyslog.com/troubleshoot for assistance
+
+# rsyslog v3: load input modules
+# If you do not load inputs, nothing happens!
+# You may need to set the module load path if modules are not found.
+#
+# Ported from debian's sysklogd.conf
+
+# Journal-style logging
+# Limit to no more than 2000 entries in one minute and enable the
+# journal workaround to avoid duplicate entries
+module(load="imjournal" StateFile="/var/log/state"
+                        RateLimit.Interval="60"
+                        RateLimit.Burst="2000")
+
+# Template for IPMI SEL messages
+# " ,,,[,,]"
+template(name="IPMISELTemplate" type="list") {
+    property(name="timereported" dateFormat="rfc3339")
+    constant(value=" ")
+    property(name="$!IPMI_SEL_RECORD_ID")
+    constant(value=",")
+    property(name="$!IPMI_SEL_RECORD_TYPE")
+    constant(value=",")
+    property(name="$!IPMI_SEL_DATA")
+    constant(value=",")
+    property(name="$!IPMI_SEL_GENERATOR_ID")
+    constant(value=",")
+    property(name="$!IPMI_SEL_SENSOR_PATH")
+    constant(value=",")
+    property(name="$!IPMI_SEL_EVENT_DIR")
+    constant(value="\n")
+}
+
+# Template for Redfish messages
+# " ,"
+template(name="RedfishTemplate" type="list") {
+    property(name="timereported" dateFormat="rfc3339")
+    constant(value=" ")
+    property(name="$!REDFISH_MESSAGE_ID")
+    constant(value=",")
+    property(name="$!REDFISH_MESSAGE_ARGS")
+    constant(value="\n")
+}
+
+# Template for Application Crashes
+# " ,"
+template(name="CrashTemplate" type="list") {
+    property(name="timereported" dateFormat="rfc3339")
+    constant(value=" ")
+    constant(value="OpenBMC.0.1.ServiceFailure")
+    constant(value=",")
+    property(name="$!UNIT")
+    constant(value="\n")
+}
+
+
+# If the journal entry has the IPMI SEL MESSAGE_ID, save as IPMI SEL
+# The MESSAGE_ID string is generated using journalctl and must match the
+# MESSAGE_ID used in IPMI to correctly find the SEL entries.
+if ($!MESSAGE_ID == "b370836ccf2f4850ac5bee185b77893a") then {
+   action(type="omfile" file="/var/log/ipmi_sel" template="IPMISELTemplate")
+}
+
+# If the journal entry has a Redfish MessageId, save as a Redfish event
+if ($!REDFISH_MESSAGE_ID != "") then {
+   action(type="omfile" file="/var/log/redfish" template="RedfishTemplate")
+}
+
+# If the journal entry has a Exit Code, save as a Redfish event
+if ($!EXIT_STATUS != "" and $!EXIT_STATUS != "0") then {
+   action(type="omfile" file="/var/log/redfish" template="CrashTemplate")
+}
+
+#
+# Include all config files in /etc/rsyslog.d/
+#
+$IncludeConfig /etc/rsyslog.d/*.conf
diff --git a/meta-fii/meta-kudo/recipes-extended/rsyslog/rsyslog/rsyslog.logrotate b/meta-fii/meta-kudo/recipes-extended/rsyslog/rsyslog/rsyslog.logrotate
new file mode 100644
index 000000000..a6ba28d86
--- /dev/null
+++ b/meta-fii/meta-kudo/recipes-extended/rsyslog/rsyslog/rsyslog.logrotate
@@ -0,0 +1,22 @@
+# /etc/logrotate.d/rsyslog - Ported from Debian
+
+# Keep up to four 64k files for ipmi_sel (256k total)
+/var/log/ipmi_sel
+{
+    rotate 3
+    size 64k
+    missingok
+    postrotate
+        systemctl reload rsyslog 2> /dev/null || true
+    endscript
+}
+# Keep up to four 64k files for redfish (256k total)
+/var/log/redfish
+{
+    rotate 3
+    size 64k
+    missingok
+    postrotate
+        systemctl reload rsyslog 2> /dev/null || true
+    endscript
+}
diff --git a/meta-fii/meta-kudo/recipes-extended/rsyslog/rsyslog_%.bbappend b/meta-fii/meta-kudo/recipes-extended/rsyslog/rsyslog_%.bbappend
new file mode 100644
index 000000000..278debb32
--- /dev/null
+++ b/meta-fii/meta-kudo/recipes-extended/rsyslog/rsyslog_%.bbappend
@@ -0,0 +1,25 @@
+FILESEXTRAPATHS_prepend_kudo := "${THISDIR}/${PN}:"
+
+SRC_URI_append_kudo = " \
+    file://rsyslog.conf \
+    file://rsyslog.logrotate \
+    file://rotate-event-logs.service \
+    file://rotate-event-logs.sh \
+    file://rsyslog-override.conf \
+    "
+
+FILES_${PN}_append_kudo = " ${systemd_system_unitdir}/rsyslog.service.d/rsyslog-override.conf"
+
+PACKAGECONFIG_append_kudo = " imjournal"
+
+do_install_append_kudo() {
+    install -m 0644 ${WORKDIR}/rotate-event-logs.service ${D}${systemd_system_unitdir}
+    install -d ${D}${systemd_system_unitdir}/rsyslog.service.d
+    install -m 0644 ${WORKDIR}/rsyslog-override.conf \
+    ${D}${systemd_system_unitdir}/rsyslog.service.d/rsyslog-override.conf
+    install -d ${D}${bindir}
+    install -m 0755 ${WORKDIR}/rotate-event-logs.sh ${D}/${bindir}/rotate-event-logs.sh
+    rm ${D}${sysconfdir}/rsyslog.d/imjournal.conf
+}
+
+SYSTEMD_SERVICE_${PN}_append_kudo = " rotate-event-logs.service"
diff --git a/meta-fii/meta-kudo/recipes-phosphor/sel-logger/phosphor-sel-logger_%.bbappend b/meta-fii/meta-kudo/recipes-phosphor/sel-logger/phosphor-sel-logger_%.bbappend
new file mode 100644
index 000000000..664ca5901
--- /dev/null
+++ b/meta-fii/meta-kudo/recipes-phosphor/sel-logger/phosphor-sel-logger_%.bbappend
@@ -0,0 +1,2 @@
+# Enable threshold monitoring
+EXTRA_OECMAKE_append_kudo = " -DSEL_LOGGER_MONITOR_THRESHOLD_EVENTS=ON"
-- 
cgit v1.2.3


From cc2e0f8f364eeef1b3074b3fbda1d2cf9b21cb6c Mon Sep 17 00:00:00 2001
From: "William A. Kennington III" 
Date: Fri, 16 Apr 2021 03:25:30 -0700
Subject: meta-google: linux: Remove unused input features

Change-Id: I1a48488917484c16d070fe9d9afdc9c2e26f25ea
Signed-off-by: William A. Kennington III 
---
 meta-google/recipes-kernel/linux/files/gbmc.cfg | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/meta-google/recipes-kernel/linux/files/gbmc.cfg b/meta-google/recipes-kernel/linux/files/gbmc.cfg
index 91939ba2b..89e1ef9a7 100644
--- a/meta-google/recipes-kernel/linux/files/gbmc.cfg
+++ b/meta-google/recipes-kernel/linux/files/gbmc.cfg
@@ -48,3 +48,7 @@ CONFIG_RD_LZMA=n
 CONFIG_RD_LZO=n
 CONFIG_RD_LZ4=n
 CONFIG_CRYPTO_LZO=n
+CONFIG_INPUT_LEDS=n
+CONFIG_INPUT_MOUSE=n
+CONFIG_KEYBOARD_ATKBD=n
+CONFIG_SERIO_LIBPS2=n
-- 
cgit v1.2.3


From 68e9845b2938b4d1db36ccd7c7404f7e99b04d81 Mon Sep 17 00:00:00 2001
From: "William A. Kennington III" 
Date: Fri, 16 Apr 2021 02:10:42 -0700
Subject: meta-google: systemd: Remove unused sysinit

We don't need sysv compatability so remove it from systemd

Change-Id: I4eabf7259d7449a94d9e72a8a372c29e52dc3e5d
Signed-off-by: William A. Kennington III 
---
 meta-google/recipes-core/systemd/systemd_%.bbappend | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/meta-google/recipes-core/systemd/systemd_%.bbappend b/meta-google/recipes-core/systemd/systemd_%.bbappend
index 88065e2e0..d40168e45 100644
--- a/meta-google/recipes-core/systemd/systemd_%.bbappend
+++ b/meta-google/recipes-core/systemd/systemd_%.bbappend
@@ -3,3 +3,6 @@ PACKAGECONFIG_append_gbmc = " coredump"
 
 # Disable timesync as we don't use it and it makes rebooting much slower
 PACKAGECONFIG_remove_gbmc = "timesyncd"
+
+# We don't need any legacy sysv rc compatability
+PACKAGECONFIG_remove_gbmc = "sysvinit"
-- 
cgit v1.2.3


From 24f5130a0e89073c27f8b7f108d308531c4d5843 Mon Sep 17 00:00:00 2001
From: "William A. Kennington III" 
Date: Fri, 16 Apr 2021 12:35:29 -0700
Subject: meta-google: sslh: Bump de8e572..b72baa0

Fixes a crash with the latest openbmc

Change-Id: Iacceb48d629cd3dd8e6f7f7a49053407438cfbbc
Signed-off-by: William A. Kennington III 
---
 meta-google/recipes-extended/networking/sslh_git.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta-google/recipes-extended/networking/sslh_git.bb b/meta-google/recipes-extended/networking/sslh_git.bb
index c874f4420..749ee1d41 100644
--- a/meta-google/recipes-extended/networking/sslh_git.bb
+++ b/meta-google/recipes-extended/networking/sslh_git.bb
@@ -4,7 +4,7 @@ LICENSE = "GPLv2"
 LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
 
 SRC_URI = "git://github.com/yrutschle/sslh"
-SRCREV = "de8e5725c27ba6941f47254e6fcb485e94f2de35"
+SRCREV = "b72baa0622ae2d29152dc251d7c21fe80a3052da"
 S = "${WORKDIR}/git"
 
 inherit perlnative
-- 
cgit v1.2.3


From 920f3c0ffc05f170f65868cd3e448d76c2023e53 Mon Sep 17 00:00:00 2001
From: "William A. Kennington III" 
Date: Wed, 31 Mar 2021 03:16:39 -0700
Subject: meta-google: authorized-keys-comp: Add package

This adds a startup routine that compiles an authorized_keys file from
multiple locations in the filesystem, allowing for multiple providers
without clashing.

Change-Id: Ib26e04af42f29d42410154fdd809aa3a525fc9d5
Signed-off-by: William A. Kennington III 
---
 .../recipes-google/ssh/authorized-keys-comp.bb     | 34 +++++++++++++++
 .../authorized-keys-comp.service                   |  6 +++
 .../authorized-keys-comp/authorized-keys-comp.sh   | 51 ++++++++++++++++++++++
 .../images/obmc-phosphor-image.bbappend            |  1 +
 4 files changed, 92 insertions(+)
 create mode 100644 meta-google/recipes-google/ssh/authorized-keys-comp.bb
 create mode 100644 meta-google/recipes-google/ssh/authorized-keys-comp/authorized-keys-comp.service
 create mode 100644 meta-google/recipes-google/ssh/authorized-keys-comp/authorized-keys-comp.sh

diff --git a/meta-google/recipes-google/ssh/authorized-keys-comp.bb b/meta-google/recipes-google/ssh/authorized-keys-comp.bb
new file mode 100644
index 000000000..81ee868a8
--- /dev/null
+++ b/meta-google/recipes-google/ssh/authorized-keys-comp.bb
@@ -0,0 +1,34 @@
+SUMMARY = "Compiles a set of authorized_keys files into a single file"
+PR = "r1"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
+
+inherit systemd
+
+SRC_URI += " \
+  file://authorized-keys-comp.service \
+  file://authorized-keys-comp.sh \
+  "
+
+S = "${WORKDIR}"
+
+RDEPENDS_${PN} += "bash"
+
+SYSTEMD_SERVICE_${PN} += "authorized-keys-comp.service"
+
+FILES_${PN} += "/home"
+
+AUTHORIZED_KEYS_COMP_USERS ?= "root"
+
+do_install_append() {
+  install -d -m0755 ${D}${libexecdir}
+  install -m0755 authorized-keys-comp.sh ${D}${libexecdir}/
+
+  install -d -m0755 ${D}${systemd_system_unitdir}
+  install -m0644 authorized-keys-comp.service ${D}${systemd_system_unitdir}/
+
+  for user in ${AUTHORIZED_KEYS_COMP_USERS}; do
+    install -d -m0755 ${D}/home/$user/.ssh
+    ln -sv /run/authorized_keys/$user ${D}/home/$user/.ssh/authorized_keys
+  done
+}
diff --git a/meta-google/recipes-google/ssh/authorized-keys-comp/authorized-keys-comp.service b/meta-google/recipes-google/ssh/authorized-keys-comp/authorized-keys-comp.service
new file mode 100644
index 000000000..92f9b2699
--- /dev/null
+++ b/meta-google/recipes-google/ssh/authorized-keys-comp/authorized-keys-comp.service
@@ -0,0 +1,6 @@
+[Service]
+Type=oneshot
+ExecStart=/usr/libexec/authorized-keys-comp.sh
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta-google/recipes-google/ssh/authorized-keys-comp/authorized-keys-comp.sh b/meta-google/recipes-google/ssh/authorized-keys-comp/authorized-keys-comp.sh
new file mode 100644
index 000000000..caff0a7a4
--- /dev/null
+++ b/meta-google/recipes-google/ssh/authorized-keys-comp/authorized-keys-comp.sh
@@ -0,0 +1,51 @@
+#!/bin/bash
+shopt -s nullglob
+
+# We want to iterate over all system users, check if they are opted-in to ssh
+# authorized_keys building, and then construct their keyfile
+for user in $(cut -d':' -f1 /etc/passwd); do
+  home="$(eval echo ~$user)" || continue
+  link="$(readlink $home/.ssh/authorized_keys 2>/dev/null)" || continue
+  # Users are only opted-in if they symlink to our well-known directory where
+  # the final output of this script lives.
+  if [ "$link" != "/run/authorized_keys/$user" ]; then
+    echo "Ignoring $user $home/.ssh/authorized_keys" >&2
+    continue
+  fi
+
+  echo "Updating $link" >&2
+  declare -A basemap=()
+  declare -a dirs=(
+    "/usr/share/authorized_keys.d/$user"
+    "$home/.ssh/authorized_keys.d"
+    "/run/authorized_keys.d/$user"
+  )
+  # Build a map that can be used for sorting directories by their priority
+  # and prioritizing the last listed directories over the later ones. We
+  # append a counter to ensure that there is a stable sorting mechanism for
+  # duplicate filenames. Duplicate filenames will be overridden by higher
+  # priority directories.
+  # Ex.
+  #   /usr/share/authorized_keys.d/root/10-key
+  #   /usr/share/authorized_keys.d/root/15-key
+  #   /run/authorized_keys.d/root/10-key
+  #   /run/authorized_keys.d/root/20-key
+  #  Becomes
+  #   ["10-key"]="/run/authorized_keys.d/root/10-key"
+  #   ["15-key"]="/usr/share/authorized_keys.d/root/15-key"
+  #   ["20-key"]="/run/authorized_keys.d/root/20-key"
+  for dir in "${dirs[@]}"; do
+    for file in "$dir"/*; do
+      basemap["${file##*/}"]="$file"
+    done
+  done
+  rm -f /run/authorized_keys.tmp
+  touch /run/authorized_keys.tmp
+  for key in $(printf "%s\n" "${!basemap[@]}" | sort -r); do
+    echo "  Including ${basemap[$key]}" >&2
+    cat "${basemap[$key]}" >>/run/authorized_keys.tmp
+  done
+  mkdir -p /run/authorized_keys
+  mv /run/authorized_keys.tmp /run/authorized_keys/$user
+  chown $user /run/authorized_keys/$user
+done
diff --git a/meta-google/recipes-phosphor/images/obmc-phosphor-image.bbappend b/meta-google/recipes-phosphor/images/obmc-phosphor-image.bbappend
index 0dc37fd4e..042bb08b1 100644
--- a/meta-google/recipes-phosphor/images/obmc-phosphor-image.bbappend
+++ b/meta-google/recipes-phosphor/images/obmc-phosphor-image.bbappend
@@ -7,6 +7,7 @@ OBMC_IMAGE_EXTRA_INSTALL_append = " phosphor-ipmi-flash"
 OBMC_IMAGE_EXTRA_INSTALL_append_gbmc = " iproute2 iproute2-ss"
 OBMC_IMAGE_EXTRA_INSTALL_append_gbmc = " gbmc-systemd-config"
 OBMC_IMAGE_EXTRA_INSTALL_append_gbmc = " gbmc-iperf3"
+OBMC_IMAGE_EXTRA_INSTALL_append_gbmc = " authorized-keys-comp"
 OBMC_IMAGE_EXTRA_INSTALL_append_gbmc = \
   '${@"" if not d.getVar("GBMC_NCSI_IF_NAME") else " gbmc-ncsi-config"}'
 OBMC_IMAGE_EXTRA_INSTALL_append_gbmc = \
-- 
cgit v1.2.3


From 699337650eb6b0c24a903774872400411b78d3a0 Mon Sep 17 00:00:00 2001
From: "William A. Kennington III" 
Date: Wed, 31 Mar 2021 03:52:31 -0700
Subject: meta-google: gbmc-dev-ssh-key: Add package

We want a key we can freely distribute to anyone who is building gBMC
for use with SSH on development images.

Change-Id: Iafedbbc6ebe2e62bce966bb368dd53831e29bd00
Signed-off-by: William A. Kennington III 
---
 meta-google/recipes-google/ssh/gbmc-dev-ssh-key.bb        | 15 +++++++++++++++
 .../recipes-google/ssh/gbmc-dev-ssh-key/gbmc-dev.priv     |  7 +++++++
 .../recipes-google/ssh/gbmc-dev-ssh-key/gbmc-dev.pub      |  1 +
 .../recipes-phosphor/images/obmc-phosphor-image.bbappend  |  1 +
 4 files changed, 24 insertions(+)
 create mode 100644 meta-google/recipes-google/ssh/gbmc-dev-ssh-key.bb
 create mode 100644 meta-google/recipes-google/ssh/gbmc-dev-ssh-key/gbmc-dev.priv
 create mode 100644 meta-google/recipes-google/ssh/gbmc-dev-ssh-key/gbmc-dev.pub

diff --git a/meta-google/recipes-google/ssh/gbmc-dev-ssh-key.bb b/meta-google/recipes-google/ssh/gbmc-dev-ssh-key.bb
new file mode 100644
index 000000000..a9d371e70
--- /dev/null
+++ b/meta-google/recipes-google/ssh/gbmc-dev-ssh-key.bb
@@ -0,0 +1,15 @@
+SUMMARY = "Publicly exposed development SSH key"
+PR = "r1"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
+
+SRC_URI += "file://gbmc-dev.pub"
+
+S = "${WORKDIR}"
+
+FILES_${PN} += " ${datadir}/authorized_keys.d"
+
+do_install() {
+  install -d ${D}${datadir}/authorized_keys.d/root
+  install -m 0755 ${S}/gbmc-dev.pub ${D}${datadir}/authorized_keys.d/root/50-gbmc-dev
+}
diff --git a/meta-google/recipes-google/ssh/gbmc-dev-ssh-key/gbmc-dev.priv b/meta-google/recipes-google/ssh/gbmc-dev-ssh-key/gbmc-dev.priv
new file mode 100644
index 000000000..5fe3fb720
--- /dev/null
+++ b/meta-google/recipes-google/ssh/gbmc-dev-ssh-key/gbmc-dev.priv
@@ -0,0 +1,7 @@
+-----BEGIN OPENSSH PRIVATE KEY-----
+b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW
+QyNTUxOQAAACAC+PxTCx2WyYG5iaq+GO0RArtziSb4kH/uzMZKyh5LKgAAAJAQPe9NED3v
+TQAAAAtzc2gtZWQyNTUxOQAAACAC+PxTCx2WyYG5iaq+GO0RArtziSb4kH/uzMZKyh5LKg
+AAAECx890MYHciMhMENgtQURn4zw10U3v5jAMymfFI9FaqwAL4/FMLHZbJgbmJqr4Y7REC
+u3OJJviQf+7MxkrKHksqAAAACGdibWMtZGV2AQIDBAU=
+-----END OPENSSH PRIVATE KEY-----
diff --git a/meta-google/recipes-google/ssh/gbmc-dev-ssh-key/gbmc-dev.pub b/meta-google/recipes-google/ssh/gbmc-dev-ssh-key/gbmc-dev.pub
new file mode 100644
index 000000000..82eb5f63d
--- /dev/null
+++ b/meta-google/recipes-google/ssh/gbmc-dev-ssh-key/gbmc-dev.pub
@@ -0,0 +1 @@
+ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAL4/FMLHZbJgbmJqr4Y7RECu3OJJviQf+7MxkrKHksq gbmc-dev
diff --git a/meta-google/recipes-phosphor/images/obmc-phosphor-image.bbappend b/meta-google/recipes-phosphor/images/obmc-phosphor-image.bbappend
index 042bb08b1..0c74fc8bb 100644
--- a/meta-google/recipes-phosphor/images/obmc-phosphor-image.bbappend
+++ b/meta-google/recipes-phosphor/images/obmc-phosphor-image.bbappend
@@ -8,6 +8,7 @@ OBMC_IMAGE_EXTRA_INSTALL_append_gbmc = " iproute2 iproute2-ss"
 OBMC_IMAGE_EXTRA_INSTALL_append_gbmc = " gbmc-systemd-config"
 OBMC_IMAGE_EXTRA_INSTALL_append_gbmc = " gbmc-iperf3"
 OBMC_IMAGE_EXTRA_INSTALL_append_gbmc = " authorized-keys-comp"
+OBMC_IMAGE_EXTRA_INSTALL_append_gbmc_dev = " gbmc-dev-ssh-key"
 OBMC_IMAGE_EXTRA_INSTALL_append_gbmc = \
   '${@"" if not d.getVar("GBMC_NCSI_IF_NAME") else " gbmc-ncsi-config"}'
 OBMC_IMAGE_EXTRA_INSTALL_append_gbmc = \
-- 
cgit v1.2.3


From f4babd2da180371224663487d10d4b8170b6400e Mon Sep 17 00:00:00 2001
From: Patrick Venture 
Date: Tue, 13 Apr 2021 12:11:44 -0700
Subject: meta-quanta: q71l: add compats

Adds the compatible layers for this machine configuration.

Tested: With a companion uboot configuration change patch was able to
build image.

Signed-off-by: Patrick Venture 
Change-Id: Ia517c46647249279a3cadd75e04eb1d8ff5df209
---
 meta-quanta/meta-q71l/conf/layer.conf | 1 +
 1 file changed, 1 insertion(+)

diff --git a/meta-quanta/meta-q71l/conf/layer.conf b/meta-quanta/meta-q71l/conf/layer.conf
index 80bae52e9..9e5616029 100644
--- a/meta-quanta/meta-q71l/conf/layer.conf
+++ b/meta-quanta/meta-q71l/conf/layer.conf
@@ -7,3 +7,4 @@ BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
 
 BBFILE_COLLECTIONS += "q71l"
 BBFILE_PATTERN_q71l = ""
+LAYERSERIES_COMPAT_q71l = "gatesgarth hardknott"
-- 
cgit v1.2.3


From ed0e49a383fdb530b174d4693317e71a60596551 Mon Sep 17 00:00:00 2001
From: "Thang Q. Nguyen" 
Date: Tue, 13 Apr 2021 08:51:21 +0000
Subject: meta-ampere: webui: switch to use webui-vue

Since the webui-vue repo has become a web standard, enabled webui-vue
repo and removed phosphor-webui repo.

Tested: build mtjade and login to WebUI successfully

Signed-off-by: Thang Q. Nguyen 
Change-Id: Ib4a3902ca8170275570b2f6b79b3ecebb8ffccde
---
 .../recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend      | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta-ampere/meta-jade/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend b/meta-ampere/meta-jade/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend
index 980d9261d..c84a7f106 100644
--- a/meta-ampere/meta-jade/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend
+++ b/meta-ampere/meta-jade/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend
@@ -1,2 +1,2 @@
-RDEPENDS_${PN}-extras_append_mtjade = " phosphor-webui phosphor-image-signing"
+RDEPENDS_${PN}-extras_append_mtjade = " webui-vue phosphor-image-signing"
 RDEPENDS_${PN}-inventory_append_mtjade = " fault-monitor id-button"
-- 
cgit v1.2.3


From 636aaa195862ab9a5442c3178e38266debab3bff Mon Sep 17 00:00:00 2001
From: Andrew Geissler 
Date: Thu, 15 Apr 2021 15:52:11 -0500
Subject: meta-raspberrypi: subtree update:d1f191ed30..bb974dc078

Khem Raj (4):
      mesa-gl: Use GALLIUMDRIVERS instead of DRIDRIVERS for passing swrast
      linux-raspberrypi-5.10: Upgrade to 5.10.25
      raspberrypi-firmware: Update to 20210326
      userland: Update to latest master

Persian Prince (1):
      userland: Correct PV after SRCREV update

Signed-off-by: Andrew Geissler 
Change-Id: I7abd7e2ac8a1d4fde1da6f2e7275a5cc98505b48
---
 meta-raspberrypi/recipes-bsp/common/raspberrypi-firmware.inc    | 6 +++---
 meta-raspberrypi/recipes-graphics/mesa/mesa-gl_%.bbappend       | 2 +-
 meta-raspberrypi/recipes-graphics/userland/userland_git.bb      | 4 ++--
 meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_5.10.bb | 4 ++--
 4 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/meta-raspberrypi/recipes-bsp/common/raspberrypi-firmware.inc b/meta-raspberrypi/recipes-bsp/common/raspberrypi-firmware.inc
index 5cebd7c3a..8bd93dda7 100644
--- a/meta-raspberrypi/recipes-bsp/common/raspberrypi-firmware.inc
+++ b/meta-raspberrypi/recipes-bsp/common/raspberrypi-firmware.inc
@@ -1,9 +1,9 @@
-RPIFW_DATE ?= "20210225"
-SRCREV ?= "5985247fb75681985547641d66196c77499f26b9"
+RPIFW_DATE ?= "20210326"
+SRCREV ?= "20081d8e86119e95e516526700be62049850c01a"
 RPIFW_SRC_URI ?= "https://github.com/raspberrypi/firmware/archive/${SRCREV}.tar.gz;downloadfilename=raspberrypi-firmware-${SRCREV}.tar.gz"
 RPIFW_S ?= "${WORKDIR}/firmware-${SRCREV}"
 
 SRC_URI = "${RPIFW_SRC_URI}"
-SRC_URI[sha256sum] = "3e2c00e1473bd70e808134925e1b25cd765789d9f0e0683749135b124d835000"
+SRC_URI[sha256sum] = "00bd758a1242f069682e1a98250362b45a8887aed98ee61dd50439e9a78fe463"
 
 PV = "${RPIFW_DATE}"
diff --git a/meta-raspberrypi/recipes-graphics/mesa/mesa-gl_%.bbappend b/meta-raspberrypi/recipes-graphics/mesa/mesa-gl_%.bbappend
index 84cd479af..e561a1b02 100644
--- a/meta-raspberrypi/recipes-graphics/mesa/mesa-gl_%.bbappend
+++ b/meta-raspberrypi/recipes-graphics/mesa/mesa-gl_%.bbappend
@@ -1,7 +1,7 @@
 PACKAGECONFIG_append_rpi = " gbm"
 PROVIDES_append_rpi = " virtual/libgbm"
 
-DRIDRIVERS_append_rpi = ",swrast"
+GALLIUMDRIVERS_append_rpi = ",swrast"
 
 do_install_append_rpi() {
     rm -rf ${D}${includedir}/KHR/khrplatform.h
diff --git a/meta-raspberrypi/recipes-graphics/userland/userland_git.bb b/meta-raspberrypi/recipes-graphics/userland/userland_git.bb
index 6dfc8a373..ead81f078 100644
--- a/meta-raspberrypi/recipes-graphics/userland/userland_git.bb
+++ b/meta-raspberrypi/recipes-graphics/userland/userland_git.bb
@@ -13,11 +13,11 @@ COMPATIBLE_MACHINE = "^rpi$"
 
 SRCBRANCH = "master"
 SRCFORK = "raspberrypi"
-SRCREV = "9f3f9054a692e53b60fca54221a402414e030335"
+SRCREV = "3fd8527eefd8790b4e8393458efc5f94eb21a615"
 
 # Use the date of the above commit as the package version. Update this when
 # SRCREV is changed.
-PV = "20201027"
+PV = "20210319"
 
 SRC_URI = "\
     git://github.com/${SRCFORK}/userland.git;protocol=git;branch=${SRCBRANCH} \
diff --git a/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_5.10.bb b/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_5.10.bb
index 56c7621d4..9fef701e2 100644
--- a/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_5.10.bb
+++ b/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_5.10.bb
@@ -1,7 +1,7 @@
-LINUX_VERSION ?= "5.10.17"
+LINUX_VERSION ?= "5.10.25"
 LINUX_RPI_BRANCH ?= "rpi-5.10.y"
 
-SRCREV_machine = "ec967eb45f8d4ed59bebafb5748da38118383be7"
+SRCREV_machine = "d1fd8a5727908bb677c003d2ae977e9d935a6f94"
 SRCREV_meta = "5833ca701711d487c9094bd1efc671e8ef7d001e"
 
 KMETA = "kernel-meta"
-- 
cgit v1.2.3


From f1e440673465aa768f31e78c0c201002f9f767b7 Mon Sep 17 00:00:00 2001
From: Andrew Geissler 
Date: Thu, 15 Apr 2021 15:52:46 -0500
Subject: meta-security: subtree update:775870980b..ca9264b1e1

Anton Antonov (4):
      Use libest "main" branch instead of "master".
      Add meta-parsec layer into meta-security.
      Define secure images with parsec-service and parsec-tool included and add the images into gitlab CI
      Clearly define clang toolchain in Parsec recipes

Armin Kuster (16):
      packagegroup-core-security: drop clamav-cvd
      clamav: upgrade 104.0
      python3-privacyidea: upgrade 3.5.1 -> 3.5.2
      clamav: fix systemd service install
      swtpm: now need python-cryptography, pull in layer
      swtpm: file pip3 issue
      swtpm: fix check for tscd deamon on host
      python3-suricata-update: update to 1.2.1
      suricata: update to 6.0.2
      layer.conf: add dynamic-layer for rust pkg
      README: cleanup
      .gitlab-ci.yml: reorder to speed up builds
      kas-security-base.yml: tweek build vars
      gitlab-ci: fine tune order
      clamav: remove rest of mirror.dat ref
      lkrg-module: Add Linux Kernel Runtime Guard

Ming Liu (2):
      meta: drop IMA_POLICY from policy recipes
      initramfs-framework-ima: introduce IMA_FORCE

Signed-off-by: Andrew Geissler 
Change-Id: Ifac35a0d7b7e724f1e30dce5f6634d5d4fc9b5b9
---
 meta-security/.gitlab-ci.yml                       |   88 +-
 meta-security/README                               |   27 +-
 meta-security/conf/layer.conf                      |    4 +
 .../recipes-ids/suricata/files/fixup.patch         |   32 +
 .../meta-rust/recipes-ids/suricata/files/run-ptest |    3 +
 .../recipes-ids/suricata/files/suricata.service    |   20 +
 .../recipes-ids/suricata/files/suricata.yaml       | 1326 ++++++++++++++++++++
 .../recipes-ids/suricata/files/tmpfiles.suricata   |    2 +
 .../suricata/files/volatiles.03_suricata           |    2 +
 .../recipes-ids/suricata/libhtp_0.5.37.bb          |   27 +
 .../meta-rust/recipes-ids/suricata/suricata.inc    |    8 +
 .../recipes-ids/suricata/suricata_6.0.2.bb         |  193 +++
 meta-security/kas/kas-security-base.yml            |    2 +-
 meta-security/kas/kas-security-parsec.yml          |   21 +
 meta-security/kas/qemuarm-parsec.yml               |    6 +
 meta-security/kas/qemuarm64-parsec.yml             |    6 +
 meta-security/kas/qemuppc-parsec.yml               |    6 +
 meta-security/kas/qemux86-64-parsec.yml            |    6 +
 meta-security/kas/qemux86-parsec.yml               |    6 +
 .../initrdscripts/initramfs-framework-ima.bb       |    5 +
 .../initrdscripts/initramfs-framework-ima/ima      |    9 +-
 .../ima-policy-appraise-all_1.0.bb                 |    9 +-
 .../ima_policy_hashed/ima-policy-hashed_1.0.bb     |    9 +-
 .../ima_policy_simple/ima-policy-simple_1.0.bb     |    9 +-
 meta-security/meta-parsec/README.md                |  186 +++
 meta-security/meta-parsec/conf/layer.conf          |   14 +
 .../parsec-service/files/cryptoki.patch            |   18 +
 .../parsec-service/files/parsec-tmpfiles.conf      |    2 +
 .../parsec-service/files/parsec_init               |   63 +
 .../parsec-service/files/systemd.patch             |   19 +
 .../parsec-service/parsec-service_0.7.0.bb         |   67 +
 .../parsec-service/parsec-service_0.7.0.inc        |  147 +++
 .../parsec-tool/parsec-tool_0.3.0.bb               |   17 +
 .../parsec-tool/parsec-tool_0.3.0.inc              |  127 ++
 meta-security/meta-tpm/conf/layer.conf             |    1 +
 .../recipes-tpm/swtpm/files/oe_configure.patch     |   65 +
 .../meta-tpm/recipes-tpm/swtpm/swtpm_0.5.2.bb      |    7 +-
 .../packagegroup/packagegroup-core-security.bb     |    4 +-
 .../suricata/python3-suricata-update_1.1.1.bb      |   15 -
 .../suricata/python3-suricata-update_1.2.1.bb      |   17 +
 .../lkrg/files/makefile_cleanup.patch              |   73 ++
 .../recipes-kernel/lkrg/lkrg-module_0.9.0.bb       |   33 +
 .../recipes-scanners/clamav/clamav_0.101.5.bb      |  174 ---
 .../recipes-scanners/clamav/clamav_0.104.0.bb      |  148 +++
 .../clamav/files/headers_fixup.patch               |   58 +
 .../clamav/files/oe_cmake_fixup.patch              |   39 +
 .../recipes-security/libest/libest_3.2.0.bb        |    2 +-
 .../mfa/python3-privacyidea_3.5.1.bb               |   40 -
 .../mfa/python3-privacyidea_3.5.2.bb               |   40 +
 49 files changed, 2875 insertions(+), 327 deletions(-)
 create mode 100644 meta-security/dynamic-layers/meta-rust/recipes-ids/suricata/files/fixup.patch
 create mode 100644 meta-security/dynamic-layers/meta-rust/recipes-ids/suricata/files/run-ptest
 create mode 100644 meta-security/dynamic-layers/meta-rust/recipes-ids/suricata/files/suricata.service
 create mode 100644 meta-security/dynamic-layers/meta-rust/recipes-ids/suricata/files/suricata.yaml
 create mode 100644 meta-security/dynamic-layers/meta-rust/recipes-ids/suricata/files/tmpfiles.suricata
 create mode 100644 meta-security/dynamic-layers/meta-rust/recipes-ids/suricata/files/volatiles.03_suricata
 create mode 100644 meta-security/dynamic-layers/meta-rust/recipes-ids/suricata/libhtp_0.5.37.bb
 create mode 100644 meta-security/dynamic-layers/meta-rust/recipes-ids/suricata/suricata.inc
 create mode 100644 meta-security/dynamic-layers/meta-rust/recipes-ids/suricata/suricata_6.0.2.bb
 create mode 100644 meta-security/kas/kas-security-parsec.yml
 create mode 100644 meta-security/kas/qemuarm-parsec.yml
 create mode 100644 meta-security/kas/qemuarm64-parsec.yml
 create mode 100644 meta-security/kas/qemuppc-parsec.yml
 create mode 100644 meta-security/kas/qemux86-64-parsec.yml
 create mode 100644 meta-security/kas/qemux86-parsec.yml
 create mode 100644 meta-security/meta-parsec/README.md
 create mode 100644 meta-security/meta-parsec/conf/layer.conf
 create mode 100644 meta-security/meta-parsec/recipes-parsec/parsec-service/files/cryptoki.patch
 create mode 100644 meta-security/meta-parsec/recipes-parsec/parsec-service/files/parsec-tmpfiles.conf
 create mode 100755 meta-security/meta-parsec/recipes-parsec/parsec-service/files/parsec_init
 create mode 100644 meta-security/meta-parsec/recipes-parsec/parsec-service/files/systemd.patch
 create mode 100644 meta-security/meta-parsec/recipes-parsec/parsec-service/parsec-service_0.7.0.bb
 create mode 100644 meta-security/meta-parsec/recipes-parsec/parsec-service/parsec-service_0.7.0.inc
 create mode 100644 meta-security/meta-parsec/recipes-parsec/parsec-tool/parsec-tool_0.3.0.bb
 create mode 100644 meta-security/meta-parsec/recipes-parsec/parsec-tool/parsec-tool_0.3.0.inc
 create mode 100644 meta-security/meta-tpm/recipes-tpm/swtpm/files/oe_configure.patch
 delete mode 100644 meta-security/recipes-ids/suricata/python3-suricata-update_1.1.1.bb
 create mode 100644 meta-security/recipes-ids/suricata/python3-suricata-update_1.2.1.bb
 create mode 100644 meta-security/recipes-kernel/lkrg/files/makefile_cleanup.patch
 create mode 100644 meta-security/recipes-kernel/lkrg/lkrg-module_0.9.0.bb
 delete mode 100644 meta-security/recipes-scanners/clamav/clamav_0.101.5.bb
 create mode 100644 meta-security/recipes-scanners/clamav/clamav_0.104.0.bb
 create mode 100644 meta-security/recipes-scanners/clamav/files/headers_fixup.patch
 create mode 100644 meta-security/recipes-scanners/clamav/files/oe_cmake_fixup.patch
 delete mode 100644 meta-security/recipes-security/mfa/python3-privacyidea_3.5.1.bb
 create mode 100644 meta-security/recipes-security/mfa/python3-privacyidea_3.5.2.bb

diff --git a/meta-security/.gitlab-ci.yml b/meta-security/.gitlab-ci.yml
index 1442239b2..f673ef698 100644
--- a/meta-security/.gitlab-ci.yml
+++ b/meta-security/.gitlab-ci.yml
@@ -26,128 +26,104 @@ stages:
 qemux86:
   extends: .build
   script:
-  - kas build --target security-build-image kas/$CI_JOB_NAME.yml 
+  - kas build --target security-build-image kas/$CI_JOB_NAME.yml
+  - kas build --target security-build-image kas/$CI_JOB_NAME-parsec.yml
+  - kas build --target security-build-image kas/$CI_JOB_NAME-comp.yml
+  - kas build --target harden-image-minimal kas/$CI_JOB_NAME-harden.yml
+  - kas build --target integrity-image-minimal kas/$CI_JOB_NAME-ima.yml
 
 qemux86-64:
   extends: .build
   script:
-  - kas build --target security-build-image kas/$CI_JOB_NAME.yml 
+  - kas build --target security-build-image kas/$CI_JOB_NAME.yml
+  - kas build --target security-build-image kas/$CI_JOB_NAME-parsec.yml
+  - kas build --target dm-verity-image-initramfs kas/$CI_JOB_NAME-dm-verify.yml
+  - kas build --target integrity-image-minimal kas/$CI_JOB_NAME-ima.yml
 
 qemuarm:
   extends: .build
   script:
-  - kas build --target security-build-image kas/$CI_JOB_NAME.yml 
+  - kas build --target security-build-image kas/$CI_JOB_NAME.yml
+  - kas build --target security-build-image kas/$CI_JOB_NAME-parsec.yml
 
 qemuarm64:
   extends: .build
   script:
-  - kas build --target security-build-image kas/$CI_JOB_NAME.yml 
+  - kas build --target security-build-image kas/$CI_JOB_NAME.yml
+  - kas build --target security-build-image kas/$CI_JOB_NAME-parsec.yml
+  - kas build --target integrity-image-minimal kas/$CI_JOB_NAME-ima.yml
 
 qemuppc:
   extends: .build
   script:
-  - kas build --target security-build-image kas/$CI_JOB_NAME.yml 
+  - kas build --target security-build-image kas/$CI_JOB_NAME.yml
+  - kas build --target security-build-image kas/$CI_JOB_NAME-parsec.yml
 
 qemumips64:
   extends: .build
   script:
-  - kas build --target security-build-image kas/$CI_JOB_NAME.yml 
+  - kas build --target security-build-image kas/$CI_JOB_NAME.yml
 
 qemuriscv64:
   extends: .build
   script:
-  - kas build --target security-build-image kas/$CI_JOB_NAME.yml 
+  - kas build --target security-build-image kas/$CI_JOB_NAME.yml
 
 qemux86-64-tpm:
   extends: .build
   script:
-  - kas build --target security-tpm-image kas/$CI_JOB_NAME.yml 
-
-qemux86-64-tpm2:
-  extends: .build
-  script:
-  - kas build --target security-tpm2-image kas/$CI_JOB_NAME.yml 
+  - kas build --target security-tpm-image kas/$CI_JOB_NAME.yml
+  - kas build --target security-tpm2-image kas/$CI_JOB_NAME2.yml
 
 qemuarm64-tpm2:
   extends: .build
   script:
-  - kas build --target security-tpm2-image kas/$CI_JOB_NAME.yml 
-
-qemux86-ima:
-  extends: .build
-  script:
-  - kas build --target integrity-image-minimal kas/$CI_JOB_NAME.yml 
-
-qemux86-64-ima:
-  extends: .build
-  script:
-  - kas build --target integrity-image-minimal kas/$CI_JOB_NAME.yml 
-
-qemuarm64-ima:
-  extends: .build
-  script:
-  - kas build --target integrity-image-minimal kas/$CI_JOB_NAME.yml 
-
-qemux86-64-dm-verify:
-  extends: .build
-  script:
-  - kas build --target core-image-minimal kas/qemux86-64.yml 
-  - kas build --target dm-verity-image-initramfs kas/$CI_JOB_NAME.yml 
-
+  - kas build --target security-tpm2-image kas/$CI_JOB_NAME.yml
 
 qemuarm64-alt:
   extends: .build
   script:
-  - kas build --target security-build-image kas/$CI_JOB_NAME.yml 
+  - kas build --target security-build-image kas/$CI_JOB_NAME.yml
 
 qemuarm64-multi:
   extends: .build
   script:
-  - kas build --target security-build-image kas/$CI_JOB_NAME.yml 
+  - kas build --target security-build-image kas/$CI_JOB_NAME.yml
 
 qemumips64-alt:
   extends: .build
   script:
-  - kas build --target security-build-image kas/$CI_JOB_NAME.yml 
+  - kas build --target security-build-image kas/$CI_JOB_NAME.yml
 
 qemumips64-multi:
   extends: .build
   script:
-  - kas build --target security-build-image kas/$CI_JOB_NAME.yml 
+  - kas build --target security-build-image kas/$CI_JOB_NAME.yml
 
 qemux86-64-alt:
   extends: .build
   script:
-  - kas build --target security-build-image kas/$CI_JOB_NAME.yml 
+  - kas build --target security-build-image kas/$CI_JOB_NAME.yml
 
 qemux86-64-multi:
   extends: .build
   script:
-  - kas build --target security-build-image kas/$CI_JOB_NAME.yml 
+  - kas build --target security-build-image kas/$CI_JOB_NAME.yml
 
 qemux86-musl:
   extends: .build
   script:
-  - kas build --target security-build-image kas/$CI_JOB_NAME.yml 
+  - kas build --target security-build-image kas/$CI_JOB_NAME.yml
 
 qemuarm64-musl:
   extends: .build
   script:
-  - kas build --target security-build-image kas/$CI_JOB_NAME.yml 
-
-qemux86-harden:
-  extends: .build
-  script:
-  - kas build --target harden-image-minimal kas/$CI_JOB_NAME.yml 
-
-qemux86-comp:
-  extends: .build
-  script:
-  - kas build --target security-build-image kas/$CI_JOB_NAME.yml 
+  - kas build --target security-build-image kas/$CI_JOB_NAME.yml
 
 qemux86-test:
   extends: .build
   allow_failure: true
   script:
-  - kas build --target security-test-image kas/$CI_JOB_NAME.yml 
-  - kas build -c testimage --target security-test-image kas/$CI_JOB_NAME.yml 
+  - kas build --target security-test-image kas/$CI_JOB_NAME.yml
+  - kas build -c testimage --target security-test-image kas/$CI_JOB_NAME.yml
+
diff --git a/meta-security/README b/meta-security/README
index f223feef0..eb1536675 100644
--- a/meta-security/README
+++ b/meta-security/README
@@ -11,28 +11,19 @@ This layer depends on:
 
   URI: git://git.openembedded.org/openembedded-core
   branch: master
-  revision: HEAD
-  prio: default
 
   URI: git://git.openembedded.org/meta-openembedded/meta-oe
   branch: master
-  revision: HEAD
-  prio: default
 
   URI: git://git.openembedded.org/meta-openembedded/meta-perl
   branch: master
-  revision: HEAD
-  prio: default
 
   URI: git://git.openembedded.org/meta-openembedded/meta-python
   branch: master
-  revision: HEAD
-  prio: default
 
   URI: git://git.openembedded.org/meta-openembedded/meta-networking
   branch: master
-  revision: HEAD
-  prio: default
+
 
 Adding the security layer to your build
 ========================================
@@ -51,11 +42,23 @@ other layers needed. e.g.:
     /path/to/meta-openembedded/meta-perl \
     /path/to/meta-openembedded/meta-python \
     /path/to/meta-openembedded/meta-networking \
-    /path/to/layer/meta-security \
+    /path/to/layer/meta-security "
+
+Optional Rust dependancy
+======================================
+If you want to use the latest Suricata that needs rust, you will need to clone
+
+  URI: https://github.com/meta-rust/meta-rust.git
+  branch: master
+
+  BBLAYERS += "/path/to/layer/meta-rust"
+
+This will activate the dynamic-layer mechanism and pull in the newer suricata
+
 
 
 Maintenance
------------
+======================================
 
 Send pull requests, patches, comments or questions to yocto@lists.yoctoproject.org
 
diff --git a/meta-security/conf/layer.conf b/meta-security/conf/layer.conf
index fd21da1eb..906e02440 100644
--- a/meta-security/conf/layer.conf
+++ b/meta-security/conf/layer.conf
@@ -12,3 +12,7 @@ BBFILE_PRIORITY_security = "8"
 LAYERSERIES_COMPAT_security = "hardknott"
 
 LAYERDEPENDS_security = "core openembedded-layer perl-layer networking-layer meta-python"
+
+BBFILES_DYNAMIC += " \
+rust-layer:${LAYERDIR}/dynamic-layers/meta-rust/recipes-*/*/*.bb  \
+"
diff --git a/meta-security/dynamic-layers/meta-rust/recipes-ids/suricata/files/fixup.patch b/meta-security/dynamic-layers/meta-rust/recipes-ids/suricata/files/fixup.patch
new file mode 100644
index 000000000..fc44ce68f
--- /dev/null
+++ b/meta-security/dynamic-layers/meta-rust/recipes-ids/suricata/files/fixup.patch
@@ -0,0 +1,32 @@
+Skip pkg Makefile from using its own rust steps
+
+Upstream-Status: OE Specific
+
+Signed-off-by: Armin Kuster 
+
+Index: suricata-6.0.2/Makefile.am
+===================================================================
+--- suricata-6.0.2.orig/Makefile.am
++++ suricata-6.0.2/Makefile.am
+@@ -7,7 +7,7 @@ EXTRA_DIST = ChangeLog COPYING LICENSE s
+              $(SURICATA_UPDATE_DIR) \
+ 	     lua \
+ 	     acsite.m4
+-SUBDIRS = $(HTP_DIR) rust src qa rules doc contrib etc python ebpf \
++SUBDIRS = $(HTP_DIR) src qa rules doc contrib etc python ebpf \
+           $(SURICATA_UPDATE_DIR)
+ 
+ CLEANFILES = stamp-h[0-9]*
+Index: suricata-6.0.2/Makefile.in
+===================================================================
+--- suricata-6.0.2.orig/Makefile.in
++++ suricata-6.0.2/Makefile.in
+@@ -426,7 +426,7 @@ EXTRA_DIST = ChangeLog COPYING LICENSE s
+ 	     lua \
+ 	     acsite.m4
+ 
+-SUBDIRS = $(HTP_DIR) rust src qa rules doc contrib etc python ebpf \
++SUBDIRS = $(HTP_DIR) src qa rules doc contrib etc python ebpf \
+           $(SURICATA_UPDATE_DIR)
+ 
+ CLEANFILES = stamp-h[0-9]*
diff --git a/meta-security/dynamic-layers/meta-rust/recipes-ids/suricata/files/run-ptest b/meta-security/dynamic-layers/meta-rust/recipes-ids/suricata/files/run-ptest
new file mode 100644
index 000000000..666ba9c95
--- /dev/null
+++ b/meta-security/dynamic-layers/meta-rust/recipes-ids/suricata/files/run-ptest
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+suricata -u
diff --git a/meta-security/dynamic-layers/meta-rust/recipes-ids/suricata/files/suricata.service b/meta-security/dynamic-layers/meta-rust/recipes-ids/suricata/files/suricata.service
new file mode 100644
index 000000000..a99a76ef8
--- /dev/null
+++ b/meta-security/dynamic-layers/meta-rust/recipes-ids/suricata/files/suricata.service
@@ -0,0 +1,20 @@
+[Unit]
+Description=Suricata IDS/IDP daemon
+After=network.target
+Requires=network.target
+Documentation=man:suricata(8) man:suricatasc(8)
+Documentation=https://redmine.openinfosecfoundation.org/projects/suricata/wiki
+
+[Service]
+Type=simple
+CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_RAW
+RestrictAddressFamilies=
+ExecStart=/usr/bin/suricata -c /etc/suricata/suricata.yaml eth0
+ExecReload=/bin/kill -HUP $MAINPID
+PrivateTmp=yes
+ProtectHome=yes
+ProtectSystem=yes
+
+[Install]
+WantedBy=multi-user.target
+
diff --git a/meta-security/dynamic-layers/meta-rust/recipes-ids/suricata/files/suricata.yaml b/meta-security/dynamic-layers/meta-rust/recipes-ids/suricata/files/suricata.yaml
new file mode 100644
index 000000000..8d06a2744
--- /dev/null
+++ b/meta-security/dynamic-layers/meta-rust/recipes-ids/suricata/files/suricata.yaml
@@ -0,0 +1,1326 @@
+%YAML 1.1
+---
+
+# Suricata configuration file. In addition to the comments describing all
+# options in this file, full documentation can be found at:
+# https://redmine.openinfosecfoundation.org/projects/suricata/wiki/Suricatayaml
+
+
+# Number of packets allowed to be processed simultaneously.  Default is a
+# conservative 1024. A higher number will make sure CPU's/CPU cores will be
+# more easily kept busy, but may negatively impact caching.
+#
+# If you are using the CUDA pattern matcher (mpm-algo: ac-cuda), different rules
+# apply. In that case try something like 60000 or more. This is because the CUDA
+# pattern matcher buffers and scans as many packets as possible in parallel.
+#max-pending-packets: 1024
+
+# Runmode the engine should use. Please check --list-runmodes to get the available
+# runmodes for each packet acquisition method. Defaults to "autofp" (auto flow pinned
+# load balancing).
+#runmode: autofp
+
+# Specifies the kind of flow load balancer used by the flow pinned autofp mode.
+#
+# Supported schedulers are:
+#
+# round-robin       - Flows assigned to threads in a round robin fashion.
+# active-packets    - Flows assigned to threads that have the lowest number of
+#                     unprocessed packets (default).
+# hash              - Flow alloted usihng the address hash. More of a random
+#                     technique. Was the default in Suricata 1.2.1 and older.
+#
+#autofp-scheduler: active-packets
+
+# If suricata box is a router for the sniffed networks, set it to 'router'. If
+# it is a pure sniffing setup, set it to 'sniffer-only'.
+# If set to auto, the variable is internally switch to 'router' in IPS mode
+# and 'sniffer-only' in IDS mode.
+# This feature is currently only used by the reject* keywords.
+host-mode: auto
+
+# Run suricata as user and group.
+#run-as:
+#  user: suri
+#  group: suri
+
+# Default pid file.
+# Will use this file if no --pidfile in command options.
+#pid-file: /var/run/suricata.pid
+
+# Daemon working directory
+# Suricata will change directory to this one if provided
+# Default: "/"
+#daemon-directory: "/"
+
+# Preallocated size for packet. Default is 1514 which is the classical
+# size for pcap on ethernet. You should adjust this value to the highest
+# packet size (MTU + hardware header) on your system.
+#default-packet-size: 1514
+
+# The default logging directory.  Any log or output file will be
+# placed here if its not specified with a full path name.  This can be
+# overridden with the -l command line parameter.
+default-log-dir: /var/log/suricata/
+
+# Unix command socket can be used to pass commands to suricata.
+# An external tool can then connect to get information from suricata
+# or trigger some modifications of the engine. Set enabled to yes
+# to activate the feature. You can use the filename variable to set
+# the file name of the socket.
+unix-command:
+  enabled: no
+  #filename: custom.socket
+
+# Configure the type of alert (and other) logging you would like.
+outputs:
+
+  # a line based alerts log similar to Snort's fast.log
+  - fast:
+      enabled: yes
+      filename: fast.log
+      append: yes
+      #filetype: regular # 'regular', 'unix_stream' or 'unix_dgram'
+
+  # Extensible Event Format (nicknamed EVE) event log in JSON format
+  - eve-log:
+      enabled: yes
+      type: file #file|syslog|unix_dgram|unix_stream
+      filename: eve.json
+      # the following are valid when type: syslog above
+      #identity: "suricata"
+      #facility: local5
+      #level: Info ## possible levels: Emergency, Alert, Critical,
+                   ## Error, Warning, Notice, Info, Debug
+      types:
+        - alert
+        - http:
+            extended: yes     # enable this for extended logging information
+            # custom allows additional http fields to be included in eve-log
+            # the example below adds three additional fields when uncommented
+            #custom: [Accept-Encoding, Accept-Language, Authorization]
+        - dns
+        - tls:
+            extended: yes     # enable this for extended logging information
+        - files:
+            force-magic: no   # force logging magic on all logged files
+            force-md5: no     # force logging of md5 checksums
+        #- drop
+        - ssh
+
+  # alert output for use with Barnyard2
+  - unified2-alert:
+      enabled: yes
+      filename: unified2.alert
+
+      # File size limit.  Can be specified in kb, mb, gb.  Just a number
+      # is parsed as bytes.
+      #limit: 32mb
+
+      # Sensor ID field of unified2 alerts.
+      #sensor-id: 0
+
+      # HTTP X-Forwarded-For support by adding the unified2 extra header that
+      # will contain the actual client IP address or by overwriting the source
+      # IP address (helpful when inspecting traffic that is being reversed
+      # proxied).
+      xff:
+        enabled: no
+        # Two operation modes are available, "extra-data" and "overwrite". Note
+        # that in the "overwrite" mode, if the reported IP address in the HTTP
+        # X-Forwarded-For header is of a different version of the packet
+        # received, it will fall-back to "extra-data" mode.
+        mode: extra-data
+        # Header name were the actual IP address will be reported, if more than
+        # one IP address is present, the last IP address will be the one taken
+        # into consideration.
+        header: X-Forwarded-For 
+
+  # a line based log of HTTP requests (no alerts)
+  - http-log:
+      enabled: yes
+      filename: http.log
+      append: yes
+      #extended: yes     # enable this for extended logging information
+      #custom: yes       # enabled the custom logging format (defined by customformat)
+      #customformat: "%{%D-%H:%M:%S}t.%z %{X-Forwarded-For}i %H %m %h %u %s %B %a:%p -> %A:%P"
+      #filetype: regular # 'regular', 'unix_stream' or 'unix_dgram'
+
+  # a line based log of TLS handshake parameters (no alerts)
+  - tls-log:
+      enabled: no  # Log TLS connections.
+      filename: tls.log # File to store TLS logs.
+      append: yes
+      #filetype: regular # 'regular', 'unix_stream' or 'unix_dgram'
+      #extended: yes # Log extended information like fingerprint
+      certs-log-dir: certs # directory to store the certificates files
+
+  # a line based log of DNS requests and/or replies (no alerts)
+  - dns-log:
+      enabled: no
+      filename: dns.log
+      append: yes
+      #filetype: regular # 'regular', 'unix_stream' or 'unix_dgram'
+
+  # a line based log to used with pcap file study.
+  # this module is dedicated to offline pcap parsing (empty output
+  # if used with another kind of input). It can interoperate with
+  # pcap parser like wireshark via the suriwire plugin.
+  - pcap-info:
+      enabled: no
+
+  # Packet log... log packets in pcap format. 2 modes of operation: "normal"
+  # and "sguil".
+  #
+  # In normal mode a pcap file "filename" is created in the default-log-dir,
+  # or are as specified by "dir". In Sguil mode "dir" indicates the base directory.
+  # In this base dir the pcaps are created in th directory structure Sguil expects:
+  #
+  # $sguil-base-dir/YYYY-MM-DD/$filename.
+  #
+  # By default all packets are logged except:
+  # - TCP streams beyond stream.reassembly.depth
+  # - encrypted streams after the key exchange
+  #
+  - pcap-log:
+      enabled:  no
+      filename: log.pcap
+
+      # File size limit.  Can be specified in kb, mb, gb.  Just a number
+      # is parsed as bytes.
+      limit: 1000mb
+
+      # If set to a value will enable ring buffer mode. Will keep Maximum of "max-files" of size "limit"
+      max-files: 2000
+
+      mode: normal # normal or sguil.
+      #sguil-base-dir: /nsm_data/
+      #ts-format: usec # sec or usec second format (default) is filename.sec usec is filename.sec.usec
+      use-stream-depth: no #If set to "yes" packets seen after reaching stream inspection depth are ignored. "no" logs all packets
+
+  # a full alerts log containing much information for signature writers
+  # or for investigating suspected false positives.
+  - alert-debug:
+      enabled: no
+      filename: alert-debug.log
+      append: yes
+      #filetype: regular # 'regular', 'unix_stream' or 'unix_dgram'
+
+  # alert output to prelude (http://www.prelude-technologies.com/) only
+  # available if Suricata has been compiled with --enable-prelude
+  - alert-prelude:
+      enabled: no
+      profile: suricata
+      log-packet-content: no
+      log-packet-header: yes
+
+  # Stats.log contains data from various counters of the suricata engine.
+  # The interval field (in seconds) tells after how long output will be written
+  # on the log file.
+  - stats:
+      enabled: yes
+      filename: stats.log
+      interval: 8
+
+  # a line based alerts log similar to fast.log into syslog
+  - syslog:
+      enabled: no
+      # reported identity to syslog. If ommited the program name (usually
+      # suricata) will be used.
+      #identity: "suricata"
+      facility: local5
+      #level: Info ## possible levels: Emergency, Alert, Critical,
+                   ## Error, Warning, Notice, Info, Debug
+
+  # a line based information for dropped packets in IPS mode
+  - drop:
+      enabled: no
+      filename: drop.log
+      append: yes
+      #filetype: regular # 'regular', 'unix_stream' or 'unix_dgram'
+
+  # output module to store extracted files to disk
+  #
+  # The files are stored to the log-dir in a format "file." where  is
+  # an incrementing number starting at 1. For each file "file." a meta
+  # file "file..meta" is created.
+  #
+  # File extraction depends on a lot of things to be fully done:
+  # - stream reassembly depth. For optimal results, set this to 0 (unlimited)
+  # - http request / response body sizes. Again set to 0 for optimal results.
+  # - rules that contain the "filestore" keyword.
+  - file-store:
+      enabled: no       # set to yes to enable
+      log-dir: files    # directory to store the files
+      force-magic: no   # force logging magic on all stored files
+      force-md5: no     # force logging of md5 checksums
+      #waldo: file.waldo # waldo file to store the file_id across runs
+
+  # output module to log files tracked in a easily parsable json format
+  - file-log:
+      enabled: no
+      filename: files-json.log
+      append: yes
+      #filetype: regular # 'regular', 'unix_stream' or 'unix_dgram'
+
+      force-magic: no   # force logging magic on all logged files
+      force-md5: no     # force logging of md5 checksums
+
+# Magic file. The extension .mgc is added to the value here.
+#magic-file: /usr/share/file/magic
+magic-file: /usr/share/misc/magic.mgc
+
+# When running in NFQ inline mode, it is possible to use a simulated
+# non-terminal NFQUEUE verdict.
+# This permit to do send all needed packet to suricata via this a rule:
+#        iptables -I FORWARD -m mark ! --mark $MARK/$MASK -j NFQUEUE
+# And below, you can have your standard filtering ruleset. To activate
+# this mode, you need to set mode to 'repeat'
+# If you want packet to be sent to another queue after an ACCEPT decision
+# set mode to 'route' and set next-queue value.
+# On linux >= 3.1, you can set batchcount to a value > 1 to improve performance
+# by processing several packets before sending a verdict (worker runmode only).
+# On linux >= 3.6, you can set the fail-open option to yes to have the kernel
+# accept the packet if suricata is not able to keep pace.
+nfq:
+#  mode: accept
+#  repeat-mark: 1
+#  repeat-mask: 1
+#  route-queue: 2
+#  batchcount: 20
+#  fail-open: yes
+
+#nflog support
+nflog:
+    # netlink multicast group
+    # (the same as the iptables --nflog-group param)
+    # Group 0 is used by the kernel, so you can't use it
+  - group: 2
+    # netlink buffer size
+    buffer-size: 18432
+    # put default value here
+  - group: default
+    # set number of packet to queue inside kernel
+    qthreshold: 1
+    # set the delay before flushing packet in the queue inside kernel
+    qtimeout: 100
+    # netlink max buffer size
+    max-size: 20000
+
+# af-packet support
+# Set threads to > 1 to use PACKET_FANOUT support
+af-packet:
+  - interface: eth0
+    # Number of receive threads (>1 will enable experimental flow pinned
+    # runmode)
+    threads: 1
+    # Default clusterid.  AF_PACKET will load balance packets based on flow.
+    # All threads/processes that will participate need to have the same
+    # clusterid.
+    cluster-id: 99
+    # Default AF_PACKET cluster type. AF_PACKET can load balance per flow or per hash.
+    # This is only supported for Linux kernel > 3.1
+    # possible value are:
+    #  * cluster_round_robin: round robin load balancing
+    #  * cluster_flow: all packets of a given flow are send to the same socket
+    #  * cluster_cpu: all packets treated in kernel by a CPU are send to the same socket
+    cluster-type: cluster_flow
+    # In some fragmentation case, the hash can not be computed. If "defrag" is set
+    # to yes, the kernel will do the needed defragmentation before sending the packets.
+    defrag: yes
+    # To use the ring feature of AF_PACKET, set 'use-mmap' to yes
+    use-mmap: yes
+    # Ring size will be computed with respect to max_pending_packets and number
+    # of threads. You can set manually the ring size in number of packets by setting
+    # the following value. If you are using flow cluster-type and have really network
+    # intensive single-flow you could want to set the ring-size independantly of the number
+    # of threads:
+    #ring-size: 2048
+    # On busy system, this could help to set it to yes to recover from a packet drop
+    # phase. This will result in some packets (at max a ring flush) being non treated.
+    #use-emergency-flush: yes
+    # recv buffer size, increase value could improve performance
+    # buffer-size: 32768
+    # Set to yes to disable promiscuous mode
+    # disable-promisc: no
+    # Choose checksum verification mode for the interface. At the moment
+    # of the capture, some packets may be with an invalid checksum due to
+    # offloading to the network card of the checksum computation.
+    # Possible values are:
+    #  - kernel: use indication sent by kernel for each packet (default)
+    #  - yes: checksum validation is forced
+    #  - no: checksum validation is disabled
+    #  - auto: suricata uses a statistical approach to detect when
+    #  checksum off-loading is used.
+    # Warning: 'checksum-validation' must be set to yes to have any validation
+    #checksum-checks: kernel
+    # BPF filter to apply to this interface. The pcap filter syntax apply here.
+    #bpf-filter: port 80 or udp
+    # You can use the following variables to activate AF_PACKET tap od IPS mode.
+    # If copy-mode is set to ips or tap, the traffic coming to the current
+    # interface will be copied to the copy-iface interface. If 'tap' is set, the
+    # copy is complete. If 'ips' is set, the packet matching a 'drop' action
+    # will not be copied.
+    #copy-mode: ips
+    #copy-iface: eth1
+  - interface: eth1
+    threads: 1
+    cluster-id: 98
+    cluster-type: cluster_flow
+    defrag: yes
+    # buffer-size: 32768
+    # disable-promisc: no
+  # Put default values here
+  - interface: default
+    #threads: 2
+    #use-mmap: yes
+
+legacy:
+  uricontent: enabled
+
+# You can specify a threshold config file by setting "threshold-file"
+# to the path of the threshold config file:
+# threshold-file: /etc/suricata/threshold.config
+
+# The detection engine builds internal groups of signatures. The engine
+# allow us to specify the profile to use for them, to manage memory on an
+# efficient way keeping a good performance. For the profile keyword you
+# can use the words "low", "medium", "high" or "custom". If you use custom
+# make sure to define the values at "- custom-values" as your convenience.
+# Usually you would prefer medium/high/low.
+#
+# "sgh mpm-context", indicates how the staging should allot mpm contexts for
+# the signature groups.  "single" indicates the use of a single context for
+# all the signature group heads.  "full" indicates a mpm-context for each
+# group head.  "auto" lets the engine decide the distribution of contexts
+# based on the information the engine gathers on the patterns from each
+# group head.
+#
+# The option inspection-recursion-limit is used to limit the recursive calls
+# in the content inspection code.  For certain payload-sig combinations, we
+# might end up taking too much time in the content inspection code.
+# If the argument specified is 0, the engine uses an internally defined
+# default limit.  On not specifying a value, we use no limits on the recursion.
+detect-engine:
+  - profile: medium
+  - custom-values:
+      toclient-src-groups: 2
+      toclient-dst-groups: 2
+      toclient-sp-groups: 2
+      toclient-dp-groups: 3
+      toserver-src-groups: 2
+      toserver-dst-groups: 4
+      toserver-sp-groups: 2
+      toserver-dp-groups: 25
+  - sgh-mpm-context: auto
+  - inspection-recursion-limit: 3000
+  # When rule-reload is enabled, sending a USR2 signal to the Suricata process
+  # will trigger a live rule reload. Experimental feature, use with care.
+  #- rule-reload: true
+  # If set to yes, the loading of signatures will be made after the capture
+  # is started. This will limit the downtime in IPS mode.
+  #- delayed-detect: yes
+
+# Suricata is multi-threaded. Here the threading can be influenced.
+threading:
+  # On some cpu's/architectures it is beneficial to tie individual threads
+  # to specific CPU's/CPU cores. In this case all threads are tied to CPU0,
+  # and each extra CPU/core has one "detect" thread.
+  #
+  # On Intel Core2 and Nehalem CPU's enabling this will degrade performance.
+  #
+  set-cpu-affinity: no
+  # Tune cpu affinity of suricata threads. Each family of threads can be bound
+  # on specific CPUs.
+  cpu-affinity:
+    - management-cpu-set:
+        cpu: [ 0 ]  # include only these cpus in affinity settings
+    - receive-cpu-set:
+        cpu: [ 0 ]  # include only these cpus in affinity settings
+    - decode-cpu-set:
+        cpu: [ 0, 1 ]
+        mode: "balanced"
+    - stream-cpu-set:
+        cpu: [ "0-1" ]
+    - detect-cpu-set:
+        cpu: [ "all" ]
+        mode: "exclusive" # run detect threads in these cpus
+        # Use explicitely 3 threads and don't compute number by using
+        # detect-thread-ratio variable:
+        # threads: 3
+        prio:
+          low: [ 0 ]
+          medium: [ "1-2" ]
+          high: [ 3 ]
+          default: "medium"
+    - verdict-cpu-set:
+        cpu: [ 0 ]
+        prio:
+          default: "high"
+    - reject-cpu-set:
+        cpu: [ 0 ]
+        prio:
+          default: "low"
+    - output-cpu-set:
+        cpu: [ "all" ]
+        prio:
+           default: "medium"
+  #
+  # By default Suricata creates one "detect" thread per available CPU/CPU core.
+  # This setting allows controlling this behaviour. A ratio setting of 2 will
+  # create 2 detect threads for each CPU/CPU core. So for a dual core CPU this
+  # will result in 4 detect threads. If values below 1 are used, less threads
+  # are created. So on a dual core CPU a setting of 0.5 results in 1 detect
+  # thread being created. Regardless of the setting at a minimum 1 detect
+  # thread will always be created.
+  #
+  detect-thread-ratio: 1.5
+
+# Cuda configuration.
+cuda:
+  # The "mpm" profile.  On not specifying any of these parameters, the engine's
+  # internal default values are used, which are same as the ones specified in
+  # in the default conf file.
+  mpm:
+    # The minimum length required to buffer data to the gpu.
+    # Anything below this is MPM'ed on the CPU.
+    # Can be specified in kb, mb, gb.  Just a number indicates it's in bytes.
+    # A value of 0 indicates there's no limit.
+    data-buffer-size-min-limit: 0
+    # The maximum length for data that we would buffer to the gpu.
+    # Anything over this is MPM'ed on the CPU.
+    # Can be specified in kb, mb, gb.  Just a number indicates it's in bytes.
+    data-buffer-size-max-limit: 1500
+    # The ring buffer size used by the CudaBuffer API to buffer data.
+    cudabuffer-buffer-size: 500mb
+    # The max chunk size that can be sent to the gpu in a single go.
+    gpu-transfer-size: 50mb
+    # The timeout limit for batching of packets in microseconds.
+    batching-timeout: 2000
+    # The device to use for the mpm.  Currently we don't support load balancing
+    # on multiple gpus.  In case you have multiple devices on your system, you
+    # can specify the device to use, using this conf.  By default we hold 0, to
+    # specify the first device cuda sees.  To find out device-id associated with
+    # the card(s) on the system run "suricata --list-cuda-cards".
+    device-id: 0
+    # No of Cuda streams used for asynchronous processing. All values > 0 are valid.
+    # For this option you need a device with Compute Capability > 1.0.
+    cuda-streams: 2
+
+# Select the multi pattern algorithm you want to run for scan/search the
+# in the engine. The supported algorithms are b2g, b2gc, b2gm, b3g, wumanber,
+# ac and ac-gfbs.
+#
+# The mpm you choose also decides the distribution of mpm contexts for
+# signature groups, specified by the conf - "detect-engine.sgh-mpm-context".
+# Selecting "ac" as the mpm would require "detect-engine.sgh-mpm-context"
+# to be set to "single", because of ac's memory requirements, unless the
+# ruleset is small enough to fit in one's memory, in which case one can
+# use "full" with "ac".  Rest of the mpms can be run in "full" mode.
+#
+# There is also a CUDA pattern matcher (only available if Suricata was
+# compiled with --enable-cuda: b2g_cuda. Make sure to update your
+# max-pending-packets setting above as well if you use b2g_cuda.
+
+mpm-algo: ac
+
+# The memory settings for hash size of these algorithms can vary from lowest
+# (2048) - low (4096) - medium (8192) - high (16384) - higher (32768) - max
+# (65536). The bloomfilter sizes of these algorithms can vary from low (512) -
+# medium (1024) - high (2048).
+#
+# For B2g/B3g algorithms, there is a support for two different scan/search
+# algorithms. For B2g the scan algorithms are B2gScan & B2gScanBNDMq, and
+# search algorithms are B2gSearch & B2gSearchBNDMq. For B3g scan algorithms
+# are B3gScan & B3gScanBNDMq, and search algorithms are B3gSearch &
+# B3gSearchBNDMq.
+#
+# For B2g the different scan/search algorithms and, hash and bloom
+# filter size settings. For B3g the different scan/search algorithms and, hash
+# and bloom filter size settings. For wumanber the hash and bloom filter size
+# settings.
+
+pattern-matcher:
+  - b2gc:
+      search-algo: B2gSearchBNDMq
+      hash-size: low
+      bf-size: medium
+  - b2gm:
+      search-algo: B2gSearchBNDMq
+      hash-size: low
+      bf-size: medium
+  - b2g:
+      search-algo: B2gSearchBNDMq
+      hash-size: low
+      bf-size: medium
+  - b3g:
+      search-algo: B3gSearchBNDMq
+      hash-size: low
+      bf-size: medium
+  - wumanber:
+      hash-size: low
+      bf-size: medium
+
+# Defrag settings:
+
+defrag:
+  memcap: 32mb
+  hash-size: 65536
+  trackers: 65535 # number of defragmented flows to follow
+  max-frags: 65535 # number of fragments to keep (higher than trackers)
+  prealloc: yes
+  timeout: 60
+
+# Enable defrag per host settings
+#  host-config:
+#
+#    - dmz:
+#        timeout: 30
+#        address: [192.168.1.0/24, 127.0.0.0/8, 1.1.1.0/24, 2.2.2.0/24, "1.1.1.1", "2.2.2.2", "::1"]
+#
+#    - lan:
+#        timeout: 45
+#        address:
+#          - 192.168.0.0/24
+#          - 192.168.10.0/24
+#          - 172.16.14.0/24
+
+# Flow settings:
+# By default, the reserved memory (memcap) for flows is 32MB. This is the limit
+# for flow allocation inside the engine. You can change this value to allow
+# more memory usage for flows.
+# The hash-size determine the size of the hash used to identify flows inside
+# the engine, and by default the value is 65536.
+# At the startup, the engine can preallocate a number of flows, to get a better
+# performance. The number of flows preallocated is 10000 by default.
+# emergency-recovery is the percentage of flows that the engine need to
+# prune before unsetting the emergency state. The emergency state is activated
+# when the memcap limit is reached, allowing to create new flows, but
+# prunning them with the emergency timeouts (they are defined below).
+# If the memcap is reached, the engine will try to prune flows
+# with the default timeouts. If it doens't find a flow to prune, it will set
+# the emergency bit and it will try again with more agressive timeouts.
+# If that doesn't work, then it will try to kill the last time seen flows
+# not in use.
+# The memcap can be specified in kb, mb, gb.  Just a number indicates it's
+# in bytes.
+
+flow:
+  memcap: 64mb
+  hash-size: 65536
+  prealloc: 10000
+  emergency-recovery: 30
+
+# This option controls the use of vlan ids in the flow (and defrag)
+# hashing. Normally this should be enabled, but in some (broken)
+# setups where both sides of a flow are not tagged with the same vlan
+# tag, we can ignore the vlan id's in the flow hashing.
+vlan:
+  use-for-tracking: true
+
+# Specific timeouts for flows. Here you can specify the timeouts that the
+# active flows will wait to transit from the current state to another, on each
+# protocol. The value of "new" determine the seconds to wait after a hanshake or
+# stream startup before the engine free the data of that flow it doesn't
+# change the state to established (usually if we don't receive more packets
+# of that flow). The value of "established" is the amount of
+# seconds that the engine will wait to free the flow if it spend that amount
+# without receiving new packets or closing the connection. "closed" is the
+# amount of time to wait after a flow is closed (usually zero).
+#
+# There's an emergency mode that will become active under attack circumstances,
+# making the engine to check flow status faster. This configuration variables
+# use the prefix "emergency-" and work similar as the normal ones.
+# Some timeouts doesn't apply to all the protocols, like "closed", for udp and
+# icmp.
+
+flow-timeouts:
+
+  default:
+    new: 30
+    established: 300
+    closed: 0
+    emergency-new: 10
+    emergency-established: 100
+    emergency-closed: 0
+  tcp:
+    new: 60
+    established: 3600
+    closed: 120
+    emergency-new: 10
+    emergency-established: 300
+    emergency-closed: 20
+  udp:
+    new: 30
+    established: 300
+    emergency-new: 10
+    emergency-established: 100
+  icmp:
+    new: 30
+    established: 300
+    emergency-new: 10
+    emergency-established: 100
+
+# Stream engine settings. Here the TCP stream tracking and reassembly
+# engine is configured.
+#
+# stream:
+#   memcap: 32mb                # Can be specified in kb, mb, gb.  Just a
+#                               # number indicates it's in bytes.
+#   checksum-validation: yes    # To validate the checksum of received
+#                               # packet. If csum validation is specified as
+#                               # "yes", then packet with invalid csum will not
+#                               # be processed by the engine stream/app layer.
+#                               # Warning: locally generated trafic can be
+#                               # generated without checksum due to hardware offload
+#                               # of checksum. You can control the handling of checksum
+#                               # on a per-interface basis via the 'checksum-checks'
+#                               # option
+#   prealloc-sessions: 2k       # 2k sessions prealloc'd per stream thread
+#   midstream: false            # don't allow midstream session pickups
+#   async-oneside: false        # don't enable async stream handling
+#   inline: no                  # stream inline mode
+#   max-synack-queued: 5        # Max different SYN/ACKs to queue
+#
+#   reassembly:
+#     memcap: 64mb              # Can be specified in kb, mb, gb.  Just a number
+#                               # indicates it's in bytes.
+#     depth: 1mb                # Can be specified in kb, mb, gb.  Just a number
+#                               # indicates it's in bytes.
+#     toserver-chunk-size: 2560 # inspect raw stream in chunks of at least
+#                               # this size.  Can be specified in kb, mb,
+#                               # gb.  Just a number indicates it's in bytes.
+#                               # The max acceptable size is 4024 bytes.
+#     toclient-chunk-size: 2560 # inspect raw stream in chunks of at least
+#                               # this size.  Can be specified in kb, mb,
+#                               # gb.  Just a number indicates it's in bytes.
+#                               # The max acceptable size is 4024 bytes.
+#     randomize-chunk-size: yes # Take a random value for chunk size around the specified value.
+#                               # This lower the risk of some evasion technics but could lead
+#                               # detection change between runs. It is set to 'yes' by default.
+#     randomize-chunk-range: 10 # If randomize-chunk-size is active, the value of chunk-size is
+#                               # a random value between (1 - randomize-chunk-range/100)*randomize-chunk-size
+#                               # and (1 + randomize-chunk-range/100)*randomize-chunk-size. Default value
+#                               # of randomize-chunk-range is 10.
+#
+#     raw: yes                  # 'Raw' reassembly enabled or disabled.
+#                               # raw is for content inspection by detection
+#                               # engine.
+#
+#     chunk-prealloc: 250       # Number of preallocated stream chunks. These
+#                               # are used during stream inspection (raw).
+#     segments:                 # Settings for reassembly segment pool.
+#       - size: 4               # Size of the (data)segment for a pool
+#         prealloc: 256         # Number of segments to prealloc and keep
+#                               # in the pool.
+#
+stream:
+  memcap: 32mb
+  checksum-validation: yes      # reject wrong csums
+  inline: auto                  # auto will use inline mode in IPS mode, yes or no set it statically
+  reassembly:
+    memcap: 128mb
+    depth: 1mb                  # reassemble 1mb into a stream
+    toserver-chunk-size: 2560
+    toclient-chunk-size: 2560
+    randomize-chunk-size: yes
+    #randomize-chunk-range: 10
+    #raw: yes
+    #chunk-prealloc: 250
+    #segments:
+    #  - size: 4
+    #    prealloc: 256
+    #  - size: 16
+    #    prealloc: 512
+    #  - size: 112
+    #    prealloc: 512
+    #  - size: 248
+    #    prealloc: 512
+    #  - size: 512
+    #    prealloc: 512
+    #  - size: 768
+    #    prealloc: 1024
+    #  - size: 1448
+    #    prealloc: 1024
+    #  - size: 65535
+    #    prealloc: 128
+
+# Host table:
+#
+# Host table is used by tagging and per host thresholding subsystems.
+#
+host:
+  hash-size: 4096
+  prealloc: 1000
+  memcap: 16777216
+
+# Logging configuration.  This is not about logging IDS alerts, but
+# IDS output about what its doing, errors, etc.
+logging:
+
+  # The default log level, can be overridden in an output section.
+  # Note that debug level logging will only be emitted if Suricata was
+  # compiled with the --enable-debug configure option.
+  #
+  # This value is overriden by the SC_LOG_LEVEL env var.
+  default-log-level: notice
+
+  # The default output format.  Optional parameter, should default to
+  # something reasonable if not provided.  Can be overriden in an
+  # output section.  You can leave this out to get the default.
+  #
+  # This value is overriden by the SC_LOG_FORMAT env var.
+  #default-log-format: "[%i] %t - (%f:%l) <%d> (%n) -- "
+
+  # A regex to filter output.  Can be overridden in an output section.
+  # Defaults to empty (no filter).
+  #
+  # This value is overriden by the SC_LOG_OP_FILTER env var.
+  default-output-filter:
+
+  # Define your logging outputs.  If none are defined, or they are all
+  # disabled you will get the default - console output.
+  outputs:
+  - console:
+      enabled: yes
+  - file:
+      enabled: no
+      filename: /var/log/suricata.log
+  - syslog:
+      enabled: yes
+      facility: local5
+      format: "[%i] <%d> -- "
+
+# Tilera mpipe configuration. for use on Tilera TILE-Gx.
+mpipe:
+
+  # Load balancing modes: "static", "dynamic", "sticky", or "round-robin".
+  load-balance: dynamic
+
+  # Number of Packets in each ingress packet queue. Must be 128, 512, 2028 or 65536
+  iqueue-packets: 2048
+
+  # List of interfaces we will listen on.
+  inputs:
+  - interface: xgbe2
+  - interface: xgbe3
+  - interface: xgbe4
+
+
+  # Relative weight of memory for packets of each mPipe buffer size.
+  stack:
+    size128: 0
+    size256: 9
+    size512: 0
+    size1024: 0
+    size1664: 7
+    size4096: 0
+    size10386: 0
+    size16384: 0
+
+# PF_RING configuration. for use with native PF_RING support
+# for more info see http://www.ntop.org/PF_RING.html
+pfring:
+  - interface: eth0
+    # Number of receive threads (>1 will enable experimental flow pinned
+    # runmode)
+    threads: 1
+
+    # Default clusterid.  PF_RING will load balance packets based on flow.
+    # All threads/processes that will participate need to have the same
+    # clusterid.
+    cluster-id: 99
+
+    # Default PF_RING cluster type. PF_RING can load balance per flow or per hash.
+    # This is only supported in versions of PF_RING > 4.1.1.
+    cluster-type: cluster_flow
+    # bpf filter for this interface
+    #bpf-filter: tcp
+    # Choose checksum verification mode for the interface. At the moment
+    # of the capture, some packets may be with an invalid checksum due to
+    # offloading to the network card of the checksum computation.
+    # Possible values are:
+    #  - rxonly: only compute checksum for packets received by network card.
+    #  - yes: checksum validation is forced
+    #  - no: checksum validation is disabled
+    #  - auto: suricata uses a statistical approach to detect when
+    #  checksum off-loading is used. (default)
+    # Warning: 'checksum-validation' must be set to yes to have any validation
+    #checksum-checks: auto
+  # Second interface
+  #- interface: eth1
+  #  threads: 3
+  #  cluster-id: 93
+  #  cluster-type: cluster_flow
+  # Put default values here
+  - interface: default
+    #threads: 2
+
+pcap:
+  - interface: eth0
+    # On Linux, pcap will try to use mmaped capture and will use buffer-size
+    # as total of memory used by the ring. So set this to something bigger
+    # than 1% of your bandwidth.
+    #buffer-size: 16777216
+    #bpf-filter: "tcp and port 25"
+    # Choose checksum verification mode for the interface. At the moment
+    # of the capture, some packets may be with an invalid checksum due to
+    # offloading to the network card of the checksum computation.
+    # Possible values are:
+    #  - yes: checksum validation is forced
+    #  - no: checksum validation is disabled
+    #  - auto: suricata uses a statistical approach to detect when
+    #  checksum off-loading is used. (default)
+    # Warning: 'checksum-validation' must be set to yes to have any validation
+    #checksum-checks: auto
+    # With some accelerator cards using a modified libpcap (like myricom), you
+    # may want to have the same number of capture threads as the number of capture
+    # rings. In this case, set up the threads variable to N to start N threads
+    # listening on the same interface.
+    #threads: 16
+    # set to no to disable promiscuous mode:
+    #promisc: no
+    # set snaplen, if not set it defaults to MTU if MTU can be known
+    # via ioctl call and to full capture if not.
+    #snaplen: 1518
+  # Put default values here
+  - interface: default
+    #checksum-checks: auto
+
+pcap-file:
+  # Possible values are:
+  #  - yes: checksum validation is forced
+  #  - no: checksum validation is disabled
+  #  - auto: suricata uses a statistical approach to detect when
+  #  checksum off-loading is used. (default)
+  # Warning: 'checksum-validation' must be set to yes to have checksum tested
+  checksum-checks: auto
+
+# For FreeBSD ipfw(8) divert(4) support.
+# Please make sure you have ipfw_load="YES" and ipdivert_load="YES"
+# in /etc/loader.conf or kldload'ing the appropriate kernel modules.
+# Additionally, you need to have an ipfw rule for the engine to see
+# the packets from ipfw.  For Example:
+#
+#   ipfw add 100 divert 8000 ip from any to any
+#
+# The 8000 above should be the same number you passed on the command
+# line, i.e. -d 8000
+#
+ipfw:
+
+  # Reinject packets at the specified ipfw rule number.  This config
+  # option is the ipfw rule number AT WHICH rule processing continues
+  # in the ipfw processing system after the engine has finished
+  # inspecting the packet for acceptance.  If no rule number is specified,
+  # accepted packets are reinjected at the divert rule which they entered
+  # and IPFW rule processing continues.  No check is done to verify
+  # this will rule makes sense so care must be taken to avoid loops in ipfw.
+  #
+  ## The following example tells the engine to reinject packets
+  # back into the ipfw firewall AT rule number 5500:
+  #
+  # ipfw-reinjection-rule-number: 5500
+
+# Set the default rule path here to search for the files.
+# if not set, it will look at the current working dir
+default-rule-path: /etc/suricata/rules
+rule-files:
+ - botcc.rules
+ - ciarmy.rules
+ - compromised.rules
+ - drop.rules
+ - dshield.rules
+ - emerging-activex.rules
+ - emerging-attack_response.rules
+ - emerging-chat.rules
+ - emerging-current_events.rules
+ - emerging-dns.rules
+ - emerging-dos.rules
+ - emerging-exploit.rules
+ - emerging-ftp.rules
+ - emerging-games.rules
+ - emerging-icmp_info.rules
+# - emerging-icmp.rules
+ - emerging-imap.rules
+ - emerging-inappropriate.rules
+ - emerging-malware.rules
+ - emerging-misc.rules
+ - emerging-mobile_malware.rules
+ - emerging-netbios.rules
+ - emerging-p2p.rules
+ - emerging-policy.rules
+ - emerging-pop3.rules
+ - emerging-rpc.rules
+ - emerging-scada.rules
+ - emerging-scan.rules
+ - emerging-shellcode.rules
+ - emerging-smtp.rules
+ - emerging-snmp.rules
+ - emerging-sql.rules
+ - emerging-telnet.rules
+ - emerging-tftp.rules
+ - emerging-trojan.rules
+ - emerging-user_agents.rules
+ - emerging-voip.rules
+ - emerging-web_client.rules
+ - emerging-web_server.rules
+ - emerging-web_specific_apps.rules
+ - emerging-worm.rules
+ - tor.rules
+ - decoder-events.rules # available in suricata sources under rules dir
+ - stream-events.rules  # available in suricata sources under rules dir
+ - http-events.rules    # available in suricata sources under rules dir
+ - smtp-events.rules    # available in suricata sources under rules dir
+ - dns-events.rules     # available in suricata sources under rules dir
+ - tls-events.rules     # available in suricata sources under rules dir
+
+classification-file: /etc/suricata/classification.config
+reference-config-file: /etc/suricata/reference.config
+
+# Holds variables that would be used by the engine.
+vars:
+
+  # Holds the address group vars that would be passed in a Signature.
+  # These would be retrieved during the Signature address parsing stage.
+  address-groups:
+
+    HOME_NET: "[192.168.0.0/16,10.0.0.0/8,172.16.0.0/12]"
+
+    EXTERNAL_NET: "!$HOME_NET"
+
+    HTTP_SERVERS: "$HOME_NET"
+
+    SMTP_SERVERS: "$HOME_NET"
+
+    SQL_SERVERS: "$HOME_NET"
+
+    DNS_SERVERS: "$HOME_NET"
+
+    TELNET_SERVERS: "$HOME_NET"
+
+    AIM_SERVERS: "$EXTERNAL_NET"
+
+    DNP3_SERVER: "$HOME_NET"
+
+    DNP3_CLIENT: "$HOME_NET"
+
+    MODBUS_CLIENT: "$HOME_NET"
+
+    MODBUS_SERVER: "$HOME_NET"
+
+    ENIP_CLIENT: "$HOME_NET"
+
+    ENIP_SERVER: "$HOME_NET"
+
+  # Holds the port group vars that would be passed in a Signature.
+  # These would be retrieved during the Signature port parsing stage.
+  port-groups:
+
+    HTTP_PORTS: "80"
+
+    SHELLCODE_PORTS: "!80"
+
+    ORACLE_PORTS: 1521
+
+    SSH_PORTS: 22
+
+    DNP3_PORTS: 20000
+
+# Set the order of alerts bassed on actions
+# The default order is pass, drop, reject, alert
+action-order:
+  - pass
+  - drop
+  - reject
+  - alert
+
+# IP Reputation
+#reputation-categories-file: /etc/suricata/iprep/categories.txt
+#default-reputation-path: /etc/suricata/iprep
+#reputation-files:
+# - reputation.list
+
+# Host specific policies for defragmentation and TCP stream
+# reassembly.  The host OS lookup is done using a radix tree, just
+# like a routing table so the most specific entry matches.
+host-os-policy:
+  # Make the default policy windows.
+  windows: [0.0.0.0/0]
+  bsd: []
+  bsd-right: []
+  old-linux: []
+  linux: [10.0.0.0/8, 192.168.1.100, "8762:2352:6241:7245:E000:0000:0000:0000"]
+  old-solaris: []
+  solaris: ["::1"]
+  hpux10: []
+  hpux11: []
+  irix: []
+  macos: []
+  vista: []
+  windows2k3: []
+
+
+# Limit for the maximum number of asn1 frames to decode (default 256)
+asn1-max-frames: 256
+
+# When run with the option --engine-analysis, the engine will read each of
+# the parameters below, and print reports for each of the enabled sections
+# and exit.  The reports are printed to a file in the default log dir
+# given by the parameter "default-log-dir", with engine reporting
+# subsection below printing reports in its own report file.
+engine-analysis:
+  # enables printing reports for fast-pattern for every rule.
+  rules-fast-pattern: yes
+  # enables printing reports for each rule
+  rules: yes
+
+#recursion and match limits for PCRE where supported
+pcre:
+  match-limit: 3500
+  match-limit-recursion: 1500
+
+# Holds details on the app-layer. The protocols section details each protocol.
+# Under each protocol, the default value for detection-enabled and "
+# parsed-enabled is yes, unless specified otherwise.
+# Each protocol covers enabling/disabling parsers for all ipprotos
+# the app-layer protocol runs on.  For example "dcerpc" refers to the tcp
+# version of the protocol as well as the udp version of the protocol.
+# The option "enabled" takes 3 values - "yes", "no", "detection-only".
+# "yes" enables both detection and the parser, "no" disables both, and
+# "detection-only" enables detection only(parser disabled).
+app-layer:
+  protocols:
+    tls:
+      enabled: yes
+      detection-ports:
+        dp: 443
+
+      #no-reassemble: yes
+    dcerpc:
+      enabled: yes
+    ftp:
+      enabled: yes
+    ssh:
+      enabled: yes
+    smtp:
+      enabled: yes
+    imap:
+      enabled: detection-only
+    msn:
+      enabled: detection-only
+    smb:
+      enabled: yes
+      detection-ports:
+        dp: 139
+    # smb2 detection is disabled internally inside the engine.
+    #smb2:
+    #  enabled: yes
+    dns:
+      # memcaps. Globally and per flow/state.
+      #global-memcap: 16mb
+      #state-memcap: 512kb
+
+      # How many unreplied DNS requests are considered a flood.
+      # If the limit is reached, app-layer-event:dns.flooded; will match.
+      #request-flood: 500
+
+      tcp:
+        enabled: yes
+        detection-ports:
+          dp: 53
+      udp:
+        enabled: yes
+        detection-ports:
+          dp: 53
+    http:
+      enabled: yes
+      # memcap: 64mb
+
+      ###########################################################################
+      # Configure libhtp.
+      #
+      #
+      # default-config:           Used when no server-config matches
+      #   personality:            List of personalities used by default
+      #   request-body-limit:     Limit reassembly of request body for inspection
+      #                           by http_client_body & pcre /P option.
+      #   response-body-limit:    Limit reassembly of response body for inspection
+      #                           by file_data, http_server_body & pcre /Q option.
+      #   double-decode-path:     Double decode path section of the URI
+      #   double-decode-query:    Double decode query section of the URI
+      #
+      # server-config:            List of server configurations to use if address matches
+      #   address:                List of ip addresses or networks for this block
+      #   personalitiy:           List of personalities used by this block
+      #   request-body-limit:     Limit reassembly of request body for inspection
+      #                           by http_client_body & pcre /P option.
+      #   response-body-limit:    Limit reassembly of response body for inspection
+      #                           by file_data, http_server_body & pcre /Q option.
+      #   double-decode-path:     Double decode path section of the URI
+      #   double-decode-query:    Double decode query section of the URI
+      #
+      #   uri-include-all:        Include all parts of the URI. By default the
+      #                           'scheme', username/password, hostname and port
+      #                           are excluded. Setting this option to true adds
+      #                           all of them to the normalized uri as inspected
+      #                           by http_uri, urilen, pcre with /U and the other
+      #                           keywords that inspect the normalized uri.
+      #                           Note that this does not affect http_raw_uri.
+      #                           Also, note that including all was the default in
+      #                           1.4 and 2.0beta1.
+      #
+      #   meta-field-limit:       Hard size limit for request and response size
+      #                           limits. Applies to request line and headers,
+      #                           response line and headers. Does not apply to
+      #                           request or response bodies. Default is 18k.
+      #                           If this limit is reached an event is raised.
+      #
+      # Currently Available Personalities:
+      #   Minimal
+      #   Generic
+      #   IDS (default)
+      #   IIS_4_0
+      #   IIS_5_0
+      #   IIS_5_1
+      #   IIS_6_0
+      #   IIS_7_0
+      #   IIS_7_5
+      #   Apache_2
+      ###########################################################################
+      libhtp:
+
+         default-config:
+           personality: IDS
+
+           # Can be specified in kb, mb, gb.  Just a number indicates
+           # it's in bytes.
+           request-body-limit: 3072
+           response-body-limit: 3072
+
+           # inspection limits
+           request-body-minimal-inspect-size: 32kb
+           request-body-inspect-window: 4kb
+           response-body-minimal-inspect-size: 32kb
+           response-body-inspect-window: 4kb
+           # Take a random value for inspection sizes around the specified value.
+           # This lower the risk of some evasion technics but could lead
+           # detection change between runs. It is set to 'yes' by default.
+           #randomize-inspection-sizes: yes
+           # If randomize-inspection-sizes is active, the value of various
+           # inspection size will be choosen in the [1 - range%, 1 + range%]
+           # range
+           # Default value of randomize-inspection-range is 10.
+           #randomize-inspection-range: 10
+
+           # decoding
+           double-decode-path: no
+           double-decode-query: no
+
+         server-config:
+
+           #- apache:
+           #    address: [192.168.1.0/24, 127.0.0.0/8, "::1"]
+           #    personality: Apache_2
+           #    # Can be specified in kb, mb, gb.  Just a number indicates
+           #    # it's in bytes.
+           #    request-body-limit: 4096
+           #    response-body-limit: 4096
+           #    double-decode-path: no
+           #    double-decode-query: no
+
+           #- iis7:
+           #    address:
+           #      - 192.168.0.0/24
+           #      - 192.168.10.0/24
+           #    personality: IIS_7_0
+           #    # Can be specified in kb, mb, gb.  Just a number indicates
+           #    # it's in bytes.
+           #    request-body-limit: 4096
+           #    response-body-limit: 4096
+           #    double-decode-path: no
+           #    double-decode-query: no
+
+# Profiling settings. Only effective if Suricata has been built with the
+# the --enable-profiling configure flag.
+#
+profiling:
+  # Run profiling for every xth packet. The default is 1, which means we
+  # profile every packet. If set to 1000, one packet is profiled for every
+  # 1000 received.
+  #sample-rate: 1000
+
+  # rule profiling
+  rules:
+
+    # Profiling can be disabled here, but it will still have a
+    # performance impact if compiled in.
+    enabled: yes
+    filename: rule_perf.log
+    append: yes
+
+    # Sort options: ticks, avgticks, checks, matches, maxticks
+    sort: avgticks
+
+    # Limit the number of items printed at exit.
+    limit: 100
+
+  # per keyword profiling
+  keywords:
+    enabled: yes
+    filename: keyword_perf.log
+    append: yes
+
+  # packet profiling
+  packets:
+
+    # Profiling can be disabled here, but it will still have a
+    # performance impact if compiled in.
+    enabled: yes
+    filename: packet_stats.log
+    append: yes
+
+    # per packet csv output
+    csv:
+
+      # Output can be disabled here, but it will still have a
+      # performance impact if compiled in.
+      enabled: no
+      filename: packet_stats.csv
+
+  # profiling of locking. Only available when Suricata was built with
+  # --enable-profiling-locks.
+  locks:
+    enabled: no
+    filename: lock_stats.log
+    append: yes
+
+# Suricata core dump configuration. Limits the size of the core dump file to
+# approximately max-dump. The actual core dump size will be a multiple of the
+# page size. Core dumps that would be larger than max-dump are truncated. On
+# Linux, the actual core dump size may be a few pages larger than max-dump.
+# Setting max-dump to 0 disables core dumping.
+# Setting max-dump to 'unlimited' will give the full core dump file.
+# On 32-bit Linux, a max-dump value >= ULONG_MAX may cause the core dump size
+# to be 'unlimited'.
+
+coredump:
+  max-dump: unlimited
+
+napatech:
+    # The Host Buffer Allowance for all streams
+    # (-1 = OFF, 1 - 100 = percentage of the host buffer that can be held back)
+    hba: -1
+
+    # use_all_streams set to "yes" will query the Napatech service for all configured
+    # streams and listen on all of them. When set to "no" the streams config array
+    # will be used.
+    use-all-streams: yes
+
+    # The streams to listen on
+    streams: [1, 2, 3]
+
+# Includes.  Files included here will be handled as if they were
+# inlined in this configuration file.
+#include: include1.yaml
+#include: include2.yaml
diff --git a/meta-security/dynamic-layers/meta-rust/recipes-ids/suricata/files/tmpfiles.suricata b/meta-security/dynamic-layers/meta-rust/recipes-ids/suricata/files/tmpfiles.suricata
new file mode 100644
index 000000000..fbf37848e
--- /dev/null
+++ b/meta-security/dynamic-layers/meta-rust/recipes-ids/suricata/files/tmpfiles.suricata
@@ -0,0 +1,2 @@
+#Type Path        Mode UID  GID  Age Argument
+d /var/log/suricata 0755 root root
diff --git a/meta-security/dynamic-layers/meta-rust/recipes-ids/suricata/files/volatiles.03_suricata b/meta-security/dynamic-layers/meta-rust/recipes-ids/suricata/files/volatiles.03_suricata
new file mode 100644
index 000000000..4627bd3b0
--- /dev/null
+++ b/meta-security/dynamic-layers/meta-rust/recipes-ids/suricata/files/volatiles.03_suricata
@@ -0,0 +1,2 @@
+#      
+d root root 0755 /var/log/suricata none
diff --git a/meta-security/dynamic-layers/meta-rust/recipes-ids/suricata/libhtp_0.5.37.bb b/meta-security/dynamic-layers/meta-rust/recipes-ids/suricata/libhtp_0.5.37.bb
new file mode 100644
index 000000000..34e72e9cb
--- /dev/null
+++ b/meta-security/dynamic-layers/meta-rust/recipes-ids/suricata/libhtp_0.5.37.bb
@@ -0,0 +1,27 @@
+SUMMARY = "LibHTP is a security-aware parser for the HTTP protocol and the related bits and pieces."
+
+require suricata.inc
+
+LIC_FILES_CHKSUM = "file://LICENSE;beginline=1;endline=2;md5=596ab7963a1a0e5198e5a1c4aa621843"
+
+SRC_URI = "git://github.com/OISF/libhtp.git;protocol=https;branch=0.5.x"
+SRCREV = "eaa2db29e65e7f2691c18a9022aeb5fb836ec5f1"
+
+DEPENDS = "zlib"
+
+inherit autotools-brokensep pkgconfig
+
+CFLAGS += "-D_DEFAULT_SOURCE"
+
+#S = "${WORKDIR}/suricata-${VER}/${BPN}"
+
+S = "${WORKDIR}/git"
+
+do_configure () {
+    cd ${S}
+    ./autogen.sh
+    oe_runconf
+}
+
+RDEPENDS_${PN} += "zlib"
+
diff --git a/meta-security/dynamic-layers/meta-rust/recipes-ids/suricata/suricata.inc b/meta-security/dynamic-layers/meta-rust/recipes-ids/suricata/suricata.inc
new file mode 100644
index 000000000..85f419e48
--- /dev/null
+++ b/meta-security/dynamic-layers/meta-rust/recipes-ids/suricata/suricata.inc
@@ -0,0 +1,8 @@
+HOMEPAGE = "http://suricata-ids.org/"
+SECTION = "security Monitor/Admin"
+LICENSE = "GPLv2"
+
+VER = "6.0.2"
+SRC_URI = "http://www.openinfosecfoundation.org/download/suricata-${VER}.tar.gz"
+
+SRC_URI[sha256sum] = "5e4647a07cb31b5d6d0049972a45375c137de908a964a44e2d6d231fa3ad4b52"
diff --git a/meta-security/dynamic-layers/meta-rust/recipes-ids/suricata/suricata_6.0.2.bb b/meta-security/dynamic-layers/meta-rust/recipes-ids/suricata/suricata_6.0.2.bb
new file mode 100644
index 000000000..a4255d247
--- /dev/null
+++ b/meta-security/dynamic-layers/meta-rust/recipes-ids/suricata/suricata_6.0.2.bb
@@ -0,0 +1,193 @@
+SUMMARY = "The Suricata Engine is an Open Source Next Generation Intrusion Detection and Prevention Engine"
+
+require suricata.inc
+
+DEPENDS = "lz4 libhtp"
+
+LIC_FILES_CHKSUM = "file://LICENSE;beginline=1;endline=2;md5=c70d8d3310941dcdfcd1e02800a1f548"
+
+SRC_URI += " \
+    file://volatiles.03_suricata \
+    file://tmpfiles.suricata \
+    file://suricata.yaml \
+    file://suricata.service \
+    file://run-ptest \
+    file://fixup.patch \
+    "
+
+SRC_URI += " \
+    crate://crates.io/autocfg/1.0.1 \
+    crate://crates.io/semver-parser/0.7.0 \
+    crate://crates.io/arrayvec/0.4.12 \
+    crate://crates.io/ryu/1.0.5 \
+    crate://crates.io/libc/0.2.86 \
+    crate://crates.io/bitflags/1.2.1 \
+    crate://crates.io/version_check/0.9.2 \
+    crate://crates.io/memchr/2.3.4 \
+    crate://crates.io/nodrop/0.1.14 \
+    crate://crates.io/cfg-if/0.1.9 \
+    crate://crates.io/static_assertions/0.3.4 \
+    crate://crates.io/getrandom/0.1.16 \
+    crate://crates.io/cfg-if/1.0.0 \
+    crate://crates.io/siphasher/0.3.3 \
+    crate://crates.io/ppv-lite86/0.2.10 \
+    crate://crates.io/proc-macro-hack/0.5.19 \
+    crate://crates.io/proc-macro2/0.4.30 \
+    crate://crates.io/unicode-xid/0.1.0 \
+    crate://crates.io/syn/0.15.44 \
+    crate://crates.io/build_const/0.2.1 \
+    crate://crates.io/num-derive/0.2.5 \
+    crate://crates.io/base64/0.11.0 \
+    crate://crates.io/widestring/0.4.3 \
+    crate://crates.io/md5/0.7.0 \
+    crate://crates.io/uuid/0.8.2 \
+    crate://crates.io/byteorder/1.4.2 \
+    crate://crates.io/semver/0.9.0 \
+    crate://crates.io/nom/5.1.1 \
+    crate://crates.io/num-traits/0.2.14 \
+    crate://crates.io/num-integer/0.1.44 \
+    crate://crates.io/num-bigint/0.2.6 \
+    crate://crates.io/num-bigint/0.3.1 \
+    crate://crates.io/num-rational/0.2.4 \
+    crate://crates.io/num-complex/0.2.4 \
+    crate://crates.io/num-iter/0.1.42 \
+    crate://crates.io/phf_shared/0.8.0 \
+    crate://crates.io/crc/1.8.1 \
+    crate://crates.io/rustc_version/0.2.3 \
+    crate://crates.io/phf/0.8.0 \
+    crate://crates.io/lexical-core/0.6.7 \
+    crate://crates.io/time/0.1.44 \
+    crate://crates.io/quote/0.6.13 \
+    crate://crates.io/rand_core/0.5.1 \
+    crate://crates.io/rand_chacha/0.2.2 \
+    crate://crates.io/rand_pcg/0.2.1 \
+    crate://crates.io/num-traits/0.1.43 \
+    crate://crates.io/rand/0.7.3 \
+    crate://crates.io/enum_primitive/0.1.1 \
+    crate://crates.io/phf_generator/0.8.0 \
+    crate://crates.io/phf_codegen/0.8.0 \
+    crate://crates.io/tls-parser/0.9.4 \
+    crate://crates.io/num/0.2.1 \
+    crate://crates.io/rusticata-macros/2.1.0 \
+    crate://crates.io/ntp-parser/0.4.0 \
+    crate://crates.io/der-oid-macro/0.2.0 \
+    crate://crates.io/der-parser/3.0.4 \
+    crate://crates.io/ipsec-parser/0.5.0 \
+    crate://crates.io/x509-parser/0.6.5 \
+    crate://crates.io/der-parser/4.1.0 \
+    crate://crates.io/snmp-parser/0.6.0 \
+    crate://crates.io/kerberos-parser/0.5.0 \
+    crate://crates.io/wasi/0.10.0+wasi-snapshot-preview1 \
+    crate://crates.io/winapi/0.3.9 \
+    crate://crates.io/winapi-i686-pc-windows-gnu/0.4.0 \
+    crate://crates.io/winapi-x86_64-pc-windows-gnu/0.4.0 \
+    crate://crates.io/log/0.4.0 \
+    crate://crates.io/rand_hc/0.2.0 \
+    crate://crates.io/wasi/0.9.0+wasi-snapshot-preview1 \
+    "
+
+# test case support
+SRC_URI += " \
+    crate://crates.io/test-case/1.0.1 \
+    crate://crates.io/proc-macro2/1.0.1 \
+    crate://crates.io/quote/1.0.1 \
+    crate://crates.io/syn/1.0.1 \
+    crate://crates.io/unicode-xid/0.2.0 \
+    "
+
+inherit autotools pkgconfig python3native systemd ptest cargo
+
+EXTRA_OECONF += " --disable-debug \
+    --disable-gccmarch-native \
+    --enable-non-bundled-htp \
+    --disable-suricata-update \
+    --with-libhtp-includes=${STAGING_INCDIR} --with-libhtp-libraries=${STAGING_LIBDIR} \
+    "
+
+CARGO_SRC_DIR = "rust"
+
+B = "${S}"
+
+PACKAGECONFIG ??= "jansson file pcre yaml python pcap cap-ng net nfnetlink nss nspr "
+PACKAGECONFIG_append = " ${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'unittests', '', d)}"
+
+PACKAGECONFIG[pcre] = "--with-libpcre-includes=${STAGING_INCDIR} --with-libpcre-libraries=${STAGING_LIBDIR}, ,libpcre ," 
+PACKAGECONFIG[yaml] = "--with-libyaml-includes=${STAGING_INCDIR} --with-libyaml-libraries=${STAGING_LIBDIR}, ,libyaml ,"
+PACKAGECONFIG[pcap] = "--with-libpcap-includes=${STAGING_INCDIR} --with-libpcap-libraries=${STAGING_LIBDIR}, ,libpcap" 
+PACKAGECONFIG[cap-ng] = "--with-libcap_ng-includes=${STAGING_INCDIR} --with-libcap_ng-libraries=${STAGING_LIBDIR}, ,libcap-ng , "
+PACKAGECONFIG[net] = "--with-libnet-includes=${STAGING_INCDIR} --with-libnet-libraries=${STAGING_LIBDIR}, , libnet," 
+PACKAGECONFIG[nfnetlink] = "--with-libnfnetlink-includes=${STAGING_INCDIR} --with-libnfnetlink-libraries=${STAGING_LIBDIR}, ,libnfnetlink ,"
+PACKAGECONFIG[nfq] = "--enable-nfqueue, --disable-nfqueue,libnetfilter-queue,"
+
+PACKAGECONFIG[jansson] = "--with-libjansson-includes=${STAGING_INCDIR} --with-libjansson-libraries=${STAGING_LIBDIR},,jansson, jansson"
+PACKAGECONFIG[file] = ",,file, file"
+PACKAGECONFIG[nss] = "--with-libnss-includes=${STAGING_INCDIR} --with-libnss-libraries=${STAGING_LIBDIR}, nss, nss," 
+PACKAGECONFIG[nspr] = "--with-libnspr-includes=${STAGING_INCDIR} --with-libnspr-libraries=${STAGING_LIBDIR}, nspr, nspr," 
+PACKAGECONFIG[python] = "--enable-python, --disable-python, python3, python3-core" 
+PACKAGECONFIG[unittests] = "--enable-unittests, --disable-unittests," 
+
+export logdir = "${localstatedir}/log"
+
+CACHED_CONFIGUREVARS = "ac_cv_func_malloc_0_nonnull=yes ac_cv_func_realloc_0_nonnull=yes"
+
+do_configure_prepend () {
+    oe_runconf
+}
+
+do_compile () {
+    # we do this to bypass the make provided by this pkg 
+    # patches Makefile to skip the subdir
+    cargo_do_compile
+
+    # Finish building
+    cd ${S}
+    make
+}
+
+do_install () {
+    install -d ${D}${sysconfdir}/suricata
+
+    oe_runmake install DESTDIR=${D}
+
+    install -d ${D}${sysconfdir}/suricata ${D}${sysconfdir}/default/volatiles
+    install -m 0644 ${WORKDIR}/volatiles.03_suricata  ${D}${sysconfdir}/default/volatiles/03_suricata
+
+    install -m 0644 ${S}/threshold.config ${D}${sysconfdir}/suricata
+    install -m 0644 ${S}/suricata.yaml ${D}${sysconfdir}/suricata
+
+    if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+        install -d ${D}${sysconfdir}/tmpfiles.d
+        install -m 0644 ${WORKDIR}/tmpfiles.suricata ${D}${sysconfdir}/tmpfiles.d/suricata.conf
+
+        install -d ${D}${systemd_unitdir}/system
+        sed  -e s:/etc:${sysconfdir}:g \
+             -e s:/var/run:/run:g \
+             -e s:/var:${localstatedir}:g \
+             -e s:/usr/bin:${bindir}:g \
+             -e s:/bin/kill:${base_bindir}/kill:g \
+             -e s:/usr/lib:${libdir}:g \
+             ${WORKDIR}/suricata.service > ${D}${systemd_unitdir}/system/suricata.service
+    fi
+
+    # Remove /var/run as it is created on startup
+    rm -rf ${D}${localstatedir}/run
+
+    sed -i -e "s:#!.*$:#!${USRBINPATH}/env ${PYTHON_PN}:g" ${D}${bindir}/suricatasc
+    sed -i -e "s:#!.*$:#!${USRBINPATH}/env ${PYTHON_PN}:g" ${D}${bindir}/suricatactl
+}
+
+pkg_postinst_ontarget_${PN} () {
+if command -v systemd-tmpfiles >/dev/null; then
+    systemd-tmpfiles --create ${sysconfdir}/tmpfiles.d/suricata.conf
+elif [ -e ${sysconfdir}/init.d/populate-volatile.sh ]; then
+    ${sysconfdir}/init.d/populate-volatile.sh update
+fi
+}
+
+SYSTEMD_PACKAGES = "${PN}"
+
+PACKAGES =+ "${PN}-python"
+FILES_${PN} += "${systemd_unitdir} ${sysconfdir}/tmpfiles.d"
+FILES_${PN}-python = "${bindir}/suricatasc ${PYTHON_SITEPACKAGES_DIR}"
+
+CONFFILES_${PN} = "${sysconfdir}/suricata/suricata.yaml"
diff --git a/meta-security/kas/kas-security-base.yml b/meta-security/kas/kas-security-base.yml
index fca0ebe09..aa68336e1 100644
--- a/meta-security/kas/kas-security-base.yml
+++ b/meta-security/kas/kas-security-base.yml
@@ -28,6 +28,7 @@ repos:
       meta-perl:
       meta-python:
       meta-networking:
+      meta-filesystems:
 
 local_conf_header:
   base: |
@@ -42,7 +43,6 @@ local_conf_header:
     INHERIT += "rm_work"
     BB_NUMBER_THREADS="24"
     BB_NUMBER_PARSE_THREADS="12"
-    PARALLEL_MAKE="-j 8"
     BB_TASK_NICE_LEVEL = '5'
     BB_TASK_NICE_LEVEL_task-testimage = '0'
     BB_TASK_IONICE_LEVEL = '2.7'
diff --git a/meta-security/kas/kas-security-parsec.yml b/meta-security/kas/kas-security-parsec.yml
new file mode 100644
index 000000000..6152f0c1d
--- /dev/null
+++ b/meta-security/kas/kas-security-parsec.yml
@@ -0,0 +1,21 @@
+header:
+    version: 9
+    includes:
+        - kas-security-base.yml
+
+repos:
+  meta-security:
+    layers:
+      meta-parsec:
+
+  meta-rust:
+    url: https://github.com/meta-rust/meta-rust.git
+    refspec: master
+
+  meta-clang:
+    url: https://github.com/kraj/meta-clang.git
+    refspec: master
+
+local_conf_header:
+  meta-parsec: |
+    IMAGE_INSTALL_append = " parsec-service parsec-tool"
diff --git a/meta-security/kas/qemuarm-parsec.yml b/meta-security/kas/qemuarm-parsec.yml
new file mode 100644
index 000000000..cef281851
--- /dev/null
+++ b/meta-security/kas/qemuarm-parsec.yml
@@ -0,0 +1,6 @@
+header:
+  version: 8
+  includes:
+    - kas-security-parsec.yml
+
+machine: qemuarm
diff --git a/meta-security/kas/qemuarm64-parsec.yml b/meta-security/kas/qemuarm64-parsec.yml
new file mode 100644
index 000000000..9b593bc67
--- /dev/null
+++ b/meta-security/kas/qemuarm64-parsec.yml
@@ -0,0 +1,6 @@
+header:
+  version: 8
+  includes:
+    - kas-security-parsec.yml
+
+machine: qemuarm64
diff --git a/meta-security/kas/qemuppc-parsec.yml b/meta-security/kas/qemuppc-parsec.yml
new file mode 100644
index 000000000..1176d1369
--- /dev/null
+++ b/meta-security/kas/qemuppc-parsec.yml
@@ -0,0 +1,6 @@
+header:
+  version: 8
+  includes:
+    - kas-security-parsec.yml
+
+machine: qemuppc
diff --git a/meta-security/kas/qemux86-64-parsec.yml b/meta-security/kas/qemux86-64-parsec.yml
new file mode 100644
index 000000000..ec39c14eb
--- /dev/null
+++ b/meta-security/kas/qemux86-64-parsec.yml
@@ -0,0 +1,6 @@
+header:
+  version: 8
+  includes:
+    - kas-security-parsec.yml
+
+machine: qemux86-64
diff --git a/meta-security/kas/qemux86-parsec.yml b/meta-security/kas/qemux86-parsec.yml
new file mode 100644
index 000000000..370947d5f
--- /dev/null
+++ b/meta-security/kas/qemux86-parsec.yml
@@ -0,0 +1,6 @@
+header:
+  version: 8
+  includes:
+    - kas-security-parsec.yml
+
+machine: qemux86
diff --git a/meta-security/meta-integrity/recipes-core/initrdscripts/initramfs-framework-ima.bb b/meta-security/meta-integrity/recipes-core/initrdscripts/initramfs-framework-ima.bb
index 77f6f7cff..6471c532c 100644
--- a/meta-security/meta-integrity/recipes-core/initrdscripts/initramfs-framework-ima.bb
+++ b/meta-security/meta-integrity/recipes-core/initrdscripts/initramfs-framework-ima.bb
@@ -14,6 +14,9 @@ LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384
 # to this recipe can just point towards one of its own files.
 IMA_POLICY ?= "ima-policy-hashed"
 
+# Force proceed IMA procedure even 'no_ima' boot parameter is available.
+IMA_FORCE ?= "false"
+
 SRC_URI = " file://ima"
 
 inherit features_check
@@ -23,6 +26,8 @@ do_install () {
     install -d ${D}/${sysconfdir}/ima
     install -d ${D}/init.d
     install ${WORKDIR}/ima  ${D}/init.d/20-ima
+
+    sed -i "s/@@FORCE_IMA@@/${IMA_FORCE}/g" ${D}/init.d/20-ima
 }
 
 FILES_${PN} = "/init.d ${sysconfdir}"
diff --git a/meta-security/meta-integrity/recipes-core/initrdscripts/initramfs-framework-ima/ima b/meta-security/meta-integrity/recipes-core/initrdscripts/initramfs-framework-ima/ima
index cff26a335..897149494 100644
--- a/meta-security/meta-integrity/recipes-core/initrdscripts/initramfs-framework-ima/ima
+++ b/meta-security/meta-integrity/recipes-core/initrdscripts/initramfs-framework-ima/ima
@@ -2,11 +2,16 @@
 #
 # Loads IMA policy into the kernel.
 
+force_ima=@@FORCE_IMA@@
+
 ima_enabled() {
-    if [ "$bootparam_no_ima" = "true" ]; then
+    if [ "$force_ima" = "true" ]; then
+        return 0
+    elif [ "$bootparam_no_ima" = "true" ]; then
         return 1
+    else
+        return 0
     fi
-    return 0
 }
 
 ima_run() {
diff --git a/meta-security/meta-integrity/recipes-security/ima_policy_appraise_all/ima-policy-appraise-all_1.0.bb b/meta-security/meta-integrity/recipes-security/ima_policy_appraise_all/ima-policy-appraise-all_1.0.bb
index da62a4cf8..84ea16120 100644
--- a/meta-security/meta-integrity/recipes-security/ima_policy_appraise_all/ima-policy-appraise-all_1.0.bb
+++ b/meta-security/meta-integrity/recipes-security/ima_policy_appraise_all/ima-policy-appraise-all_1.0.bb
@@ -2,19 +2,14 @@ SUMMARY = "IMA sample simple appraise policy "
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
 
-# This policy file will get installed as /etc/ima/ima-policy.
-# It is located via the normal file search path, so a .bbappend
-# to this recipe can just point towards one of its own files.
-IMA_POLICY ?= "ima_policy_appraise_all"
-
-SRC_URI = " file://${IMA_POLICY}"
+SRC_URI = " file://ima_policy_appraise_all"
 
 inherit features_check
 REQUIRED_DISTRO_FEATURES = "ima"
 
 do_install () {
     install -d ${D}/${sysconfdir}/ima
-    install ${WORKDIR}/${IMA_POLICY}  ${D}/${sysconfdir}/ima/ima-policy
+    install ${WORKDIR}/ima_policy_appraise_all ${D}/${sysconfdir}/ima/ima-policy
 }
 
 FILES_${PN} = "${sysconfdir}/ima"
diff --git a/meta-security/meta-integrity/recipes-security/ima_policy_hashed/ima-policy-hashed_1.0.bb b/meta-security/meta-integrity/recipes-security/ima_policy_hashed/ima-policy-hashed_1.0.bb
index ebb042646..ff7169ef5 100644
--- a/meta-security/meta-integrity/recipes-security/ima_policy_hashed/ima-policy-hashed_1.0.bb
+++ b/meta-security/meta-integrity/recipes-security/ima_policy_hashed/ima-policy-hashed_1.0.bb
@@ -2,13 +2,8 @@ SUMMARY = "IMA sample hash policy"
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
 
-# This policy file will get installed as /etc/ima/ima-policy.
-# It is located via the normal file search path, so a .bbappend
-# to this recipe can just point towards one of its own files.
-IMA_POLICY ?= "ima_policy_hashed"
-
 SRC_URI = " \
-    file://${IMA_POLICY} \
+    file://ima_policy_hashed \
 "
 
 inherit features_check
@@ -16,7 +11,7 @@ REQUIRED_DISTRO_FEATURES = "ima"
 
 do_install () {
     install -d ${D}/${sysconfdir}/ima
-    install ${WORKDIR}/${IMA_POLICY}  ${D}/${sysconfdir}/ima/ima-policy
+    install ${WORKDIR}/ima_policy_hashed ${D}/${sysconfdir}/ima/ima-policy
 }
 
 FILES_${PN} = "${sysconfdir}/ima"
diff --git a/meta-security/meta-integrity/recipes-security/ima_policy_simple/ima-policy-simple_1.0.bb b/meta-security/meta-integrity/recipes-security/ima_policy_simple/ima-policy-simple_1.0.bb
index cb4b6b8ab..0e56aec51 100644
--- a/meta-security/meta-integrity/recipes-security/ima_policy_simple/ima-policy-simple_1.0.bb
+++ b/meta-security/meta-integrity/recipes-security/ima_policy_simple/ima-policy-simple_1.0.bb
@@ -2,19 +2,14 @@ SUMMARY = "IMA sample simple policy"
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
 
-# This policy file will get installed as /etc/ima/ima-policy.
-# It is located via the normal file search path, so a .bbappend
-# to this recipe can just point towards one of its own files.
-IMA_POLICY ?= "ima_policy_simple"
-
-SRC_URI = " file://${IMA_POLICY}"
+SRC_URI = " file://ima_policy_simple"
 
 inherit features_check
 REQUIRED_DISTRO_FEATURES = "ima"
 
 do_install () {
     install -d ${D}/${sysconfdir}/ima
-    install ${WORKDIR}/${IMA_POLICY}  ${D}/${sysconfdir}/ima/ima-policy
+    install ${WORKDIR}/ima_policy_simple ${D}/${sysconfdir}/ima/ima-policy
 }
 
 FILES_${PN} = "${sysconfdir}/ima"
diff --git a/meta-security/meta-parsec/README.md b/meta-security/meta-parsec/README.md
new file mode 100644
index 000000000..a2736b694
--- /dev/null
+++ b/meta-security/meta-parsec/README.md
@@ -0,0 +1,186 @@
+meta-parsec layer
+==============
+
+This layer contains recipes for the Parsec service with Mbed-Crypto,
+Pkcs11 and TPM providers and parsec tools.
+
+Dependencies
+============
+
+This layer depends on:
+
+    URI: git://git.openembedded.org/meta-openembedded
+    branch: master
+    revision: HEAD
+    prio: default
+
+    URI git://git.yoctoproject.org/meta-security
+    branch: master
+    revision: HEAD
+    prio: default
+
+    URI https://github.com/meta-rust/meta-rust.git
+    branch: master
+    revision: HEAD
+    prio: default
+
+    URI https://github.com/kraj/meta-clang.git
+    branch: master
+    revision: HEAD
+    prio: default
+
+Adding the meta-parsec layer to your build
+==========================================
+
+In order to use this layer, you need to make the build system aware of it.
+
+You can add it to the build system by adding the
+location of the meta-parsec layer to bblayers.conf, along with any
+other layers needed. e.g.:
+
+    BBLAYERS ?= " \
+      /path/to/yocto/meta \
+      /path/to/yocto/meta-yocto \
+      /path/to/yocto/meta-yocto-bsp \
+      /path/to/meta-openembedded/meta-oe \
+      /path/to/meta-openembedded/meta-python \
+      /path/to/meta-rust \
+      /path/to/meta-clang \
+      /path/to/meta-security/meta-tpm \
+      /path/to/meta-security/meta-parsec \
+      "
+
+To include the Parsec service into your image add following into the
+local.conf:
+
+    IMAGE_INSTALL_append = " parsec-service"
+
+  The Parsec service will be deployed into the image built with all the supported
+providers and with the default config file from the Parsec repository:
+https://github.com/parallaxsecond/parsec/blob/main/config.toml
+  The default Parsec service config file contains the MbedCrypto provider
+enabled. The config file needs to be updated to use the Parsec service
+with other providers like TPM or PKCS11. The required procedures are
+covered in Parsec documentation.
+https://parallaxsecond.github.io/parsec-book/
+
+Updating recipes
+================
+
+  The parsec-service and parsec-tool recipes use include files with lists
+of all rust crates required. This allows bitbake to fetch all the necessary
+dependent crates, as well as a pegged version of the crates.io index,
+to ensure maximum reproducibility.
+  It's recommended to use cargo-bitbake to generate include files for new
+versions of parsec recipes.
+https://github.com/meta-rust/cargo-bitbake
+
+  When you have crago-bitbake built:
+1. Checkout the required version of parsec repository.
+2. Run cargo-bitbake inside the repository. It will produce a BB file.
+3. Create a new include file with SRC_URI and LIC_FILES_CHKSUM from the BB file.
+
+Manual testing with runqemu
+===========================
+
+  This layer also contains a recipe for pasec-tool which can be used for
+manual testing of the Parsec service:
+
+    IMAGE_INSTALL_append += " parsec-tools"
+
+  There are a series of Parsec Demo videos showing how to use parsec-tool
+to test the Parsec service base functionality:
+https://www.youtube.com/watch?v=ido0CyUdMHM&list=PLKjl7IFAwc4S7WQqqphCsyy6DPDxJ2Skg&index=4
+
+  You can use runqemu to start a VM with a built image file and run
+manual tests with parsec-tool.
+
+1. MbedCrypto provider
+  The default Parsec service config file contains the MbedCrypto provider
+enabled. No changes required for manual testing.
+
+2. PKCS11 provider
+  The Software HSM can be used for manual testing of the provider by
+including it into your test image:
+
+    IMAGE_INSTALL_append += " softhsm"
+
+Inside the running VM:
+- Stop Parsec
+```bash
+systemctl stop parsec
+```
+- Initialise a token and notice the result slot number
+```bash
+softhsm2-util --init-token --slot 0 --label "Parsec Service" --pin 123456 --so-pin 123456
+```
+- Change the token ownership:
+```bash
+for d in /var/lib/softhsm/tokens/*; do chown -R parsec $d; done
+```
+- Enable the PKCS11 provider and update its parameters in the Parsec config file
+/etc/parsec/config.toml
+```
+library_path = "/usr/lib/softhsm/libsofthsm2.so"
+slot_number = 
+user_pin = "123456"
+```
+- Start Parsec
+```bash
+systemctl start parsec
+```
+
+3. TPM provider
+  The IBM Software TPM service can be used for manual testing of the provider by
+including it into your test image:
+
+    IMAGE_INSTALL_append += " ibmswtpm2 tpm2-tools libtss2 libtss2-tcti-mssim"
+
+Inside the running VM:
+- Stop Parsec
+```bash
+systemctl stop parsec
+```
+- Start and configure the Software TPM server
+```bash
+   /usr/bin/tpm_server &
+   sleep 5
+   /usr/bin/tpm2_startup -c -T mssim
+   /usr/bin/tpm2_changeauth -c owner tpm_pass
+```
+- Enable the TPM provider and update its parameters in the Parsec config file
+/etc/parsec/config.toml
+```
+tcti = "mssim"
+owner_hierarchy_auth = "hex:74706d5f70617373"
+```
+- Start Parsec
+```bash
+systemctl start parsec
+```
+
+Maintenance
+-----------
+
+Send pull requests, patches, comments or questions to yocto@yoctoproject.org
+
+When sending single patches, please using something like:
+'git send-email -1 --to yocto@yoctoproject.org --subject-prefix=meta-parsec][PATCH'
+
+These values can be set as defaults for this repository:
+
+$ git config sendemail.to yocto@yoctoproject.org
+$ git config format.subjectPrefix meta-parsec][PATCH
+
+Now you can just do 'git send-email origin/master' to send all local patches.
+
+Maintainers:    Anton Antonov 
+                Armin Kuster 
+
+
+License
+=======
+
+All metadata is MIT licensed unless otherwise stated. Source code included
+in tree for individual recipes is under the LICENSE stated in each recipe
+(.bb file) unless otherwise stated.
diff --git a/meta-security/meta-parsec/conf/layer.conf b/meta-security/meta-parsec/conf/layer.conf
new file mode 100644
index 000000000..2d4aa12fb
--- /dev/null
+++ b/meta-security/meta-parsec/conf/layer.conf
@@ -0,0 +1,14 @@
+# We have a conf and classes directory, add to BBPATH
+BBPATH .= ":${LAYERDIR}"
+
+# We have a recipes directory, add to BBFILES
+BBFILES += "${LAYERDIR}/recipes*/*/*.bb ${LAYERDIR}/recipes*/*/*.bbappend"
+
+BBFILE_COLLECTIONS += "parsec-layer"
+BBFILE_PATTERN_parsec-layer = "^${LAYERDIR}/"
+BBFILE_PRIORITY_parsec-layer = "5"
+
+LAYERSERIES_COMPAT_parsec-layer = "hardknott gatesgarth"
+
+LAYERDEPENDS_parsec-layer = "core rust-layer clang-layer tpm-layer"
+BBLAYERS_LAYERINDEX_NAME_parsec-layer = "meta-parsec"
diff --git a/meta-security/meta-parsec/recipes-parsec/parsec-service/files/cryptoki.patch b/meta-security/meta-parsec/recipes-parsec/parsec-service/files/cryptoki.patch
new file mode 100644
index 000000000..c23447967
--- /dev/null
+++ b/meta-security/meta-parsec/recipes-parsec/parsec-service/files/cryptoki.patch
@@ -0,0 +1,18 @@
+
+Use cryptoki v0.1.1 which supports the "generate-bindings" feature
+required for building Parsec service 0.7.0 in Yocto.
+
+Signed-off-by: Anton Antonov 
+Upstream-Status: Submitted
+
+--- a/Cargo.toml	2021-04-01 10:29:50.333687763 +0100
++++ b/Cargo.toml	2021-04-01 10:27:13.051860002 +0100
+@@ -37,7 +37,7 @@
+ version = "1.3.1"
+ 
+ [dependencies.cryptoki]
+-version = "0.1.0"
++version = "0.1.1"
+ features = ["psa-crypto-conversions"]
+ optional = true
+ 
diff --git a/meta-security/meta-parsec/recipes-parsec/parsec-service/files/parsec-tmpfiles.conf b/meta-security/meta-parsec/recipes-parsec/parsec-service/files/parsec-tmpfiles.conf
new file mode 100644
index 000000000..fe576a27f
--- /dev/null
+++ b/meta-security/meta-parsec/recipes-parsec/parsec-service/files/parsec-tmpfiles.conf
@@ -0,0 +1,2 @@
+#Type   Path            Mode    User    Group   Age     Argument
+d       /run/parsec     755     parsec  parsec  -       -
diff --git a/meta-security/meta-parsec/recipes-parsec/parsec-service/files/parsec_init b/meta-security/meta-parsec/recipes-parsec/parsec-service/files/parsec_init
new file mode 100755
index 000000000..58a289727
--- /dev/null
+++ b/meta-security/meta-parsec/recipes-parsec/parsec-service/files/parsec_init
@@ -0,0 +1,63 @@
+#! /bin/sh -e
+
+# ------------------------------------------------------------------------------
+# Copyright (c) 2021, Arm Limited, All Rights Reserved
+# SPDX-License-Identifier: Apache-2.0
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#          http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ------------------------------------------------------------------------------
+
+# Parsec Service SysV init script
+
+test -x /usr/libexec/parsec/parsec || exit 0
+
+case "$1" in
+  start)
+    echo -n "Starting Parsec daemon: "
+    if [ ! -f /etc/parsec/config.toml ]; then
+        echo "There is no Parsec service configuration file."
+    else
+        if [ ! -d /run/parsec ]; then
+            mkdir /run/parsec
+            chown parsec:parsec /run/parsec
+            chmod 755 /run/parsec
+        fi
+        # start-stop-daemon used in poky busybox doesn't support
+        # '--chdir' parameter. So, let's do it manually
+        cd /var/lib/parsec
+        RUST_LOG=info start-stop-daemon --oknodo --start --background \
+                --chuid parsec:parsec --exec /usr/libexec/parsec/parsec \
+                -- --config /etc/parsec/config.toml
+        echo "parsec."
+    fi
+    ;;
+  stop)
+    echo -n "Stopping Parsec daemon: "
+    start-stop-daemon --oknodo --stop --exec /usr/libexec/parsec/parsec
+    echo "parsec."
+    ;;
+  reload)
+    echo -n "Reloading Parsec daemon: "
+    start-stop-daemon --stop --signal SIGHUP --exec /usr/libexec/parsec/parsec
+    echo "parsec."
+    ;;
+  restart|force-reload)
+    $0 stop
+    $0 start
+    ;;
+  *)
+    echo "Usage: /etc/init.d/parsec {start|stop|restart|reload|force-reload}"
+    exit 1
+esac
+
+exit 0
diff --git a/meta-security/meta-parsec/recipes-parsec/parsec-service/files/systemd.patch b/meta-security/meta-parsec/recipes-parsec/parsec-service/files/systemd.patch
new file mode 100644
index 000000000..c01ff065c
--- /dev/null
+++ b/meta-security/meta-parsec/recipes-parsec/parsec-service/files/systemd.patch
@@ -0,0 +1,19 @@
+
+Run the Parsec service as parsec user in /var/lib/parsec/ working directory.
+
+Signed-off-by: Anton Antonov 
+Upstream-Status: Inappropriate [deployment configuration]
+
+--- a/systemd-daemon/parsec.service	2021-03-28 18:34:18.703196235 +0100
++++ b/systemd-daemon/parsec.service	2021-03-28 18:35:14.279830299 +0100
+@@ -3,7 +3,9 @@
+ Documentation=https://parallaxsecond.github.io/parsec-book/parsec_service/install_parsec_linux.html
+ 
+ [Service]
+-WorkingDirectory=/home/parsec/
++User=parsec
++Group=parsec
++WorkingDirectory=/var/lib/parsec/
+ ExecStart=/usr/libexec/parsec/parsec --config /etc/parsec/config.toml
+ 
+ [Install]
diff --git a/meta-security/meta-parsec/recipes-parsec/parsec-service/parsec-service_0.7.0.bb b/meta-security/meta-parsec/recipes-parsec/parsec-service/parsec-service_0.7.0.bb
new file mode 100644
index 000000000..0e149558c
--- /dev/null
+++ b/meta-security/meta-parsec/recipes-parsec/parsec-service/parsec-service_0.7.0.bb
@@ -0,0 +1,67 @@
+SUMMARY = "Platform AbstRaction for SECurity Daemon"
+HOMEPAGE = "https://github.com/parallaxsecond/parsec"
+LICENSE = "Apache-2.0"
+
+inherit cargo
+
+SRC_URI += "crate://crates.io/parsec-service/${PV} \
+            file://parsec_init \
+            file://systemd.patch \
+            file://parsec-tmpfiles.conf \
+"
+
+DEPENDS = "tpm2-tss"
+TOOLCHAIN = "clang"
+
+CARGO_BUILD_FLAGS += " --features all-providers,cryptoki/generate-bindings,tss-esapi/generate-bindings"
+
+inherit systemd
+SYSTEMD_SERVICE_${PN} = "parsec.service"
+
+inherit update-rc.d
+INITSCRIPT_NAME = "parsec"
+
+# A local file can be defined in build/local.conf
+# The file should also be included into SRC_URI then
+PARSEC_CONFIG ?= "${S}/config.toml"
+
+do_install_append () {
+    # Binaries
+    install -d -m 700 -o parsec -g parsec "${D}${libexecdir}/parsec"
+    install -m 700 -o parsec -g parsec "${WORKDIR}/build/target/${CARGO_TARGET_SUBDIR}/parsec" ${D}${libexecdir}/parsec/parsec
+
+    # Config file
+    install -d -m 700 -o parsec -g parsec "${D}${sysconfdir}/parsec"
+    install -m 400 -o parsec -g parsec "${PARSEC_CONFIG}" ${D}${sysconfdir}/parsec/config.toml
+
+    # Data dir
+    install -d -m 700 -o parsec -g parsec "${D}${localstatedir}/lib/parsec"
+
+    if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+        install -d ${D}${systemd_unitdir}/system
+        install -m 644 ${S}/systemd-daemon/parsec.service ${D}${systemd_unitdir}/system
+
+        install -d ${D}${libdir}/tmpfiles.d
+        install -m 644 ${WORKDIR}/parsec-tmpfiles.conf ${D}${libdir}/tmpfiles.d
+    fi
+
+    if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
+        install -d ${D}${sysconfdir}/init.d
+        install -m 755 ${WORKDIR}/parsec_init ${D}${sysconfdir}/init.d/parsec
+    fi
+}
+
+inherit useradd
+USERADD_PACKAGES = "${PN}"
+USERADD_PARAM_${PN} = "-r -g parsec -s /bin/false -d ${localstatedir}/lib/parsec parsec"
+GROUPADD_PARAM_${PN} = "-r parsec"
+
+FILES_${PN} += " \
+    ${sysconfdir}/parsec/config.toml \
+    ${libexecdir}/parsec/parsec \
+    ${systemd_unitdir}/system/parsec.service \
+    ${libdir}/tmpfiles.d/parsec-tmpfiles.conf \
+    ${sysconfdir}/init.d/parsec \
+"
+
+require parsec-service_${PV}.inc
diff --git a/meta-security/meta-parsec/recipes-parsec/parsec-service/parsec-service_0.7.0.inc b/meta-security/meta-parsec/recipes-parsec/parsec-service/parsec-service_0.7.0.inc
new file mode 100644
index 000000000..59a47f92a
--- /dev/null
+++ b/meta-security/meta-parsec/recipes-parsec/parsec-service/parsec-service_0.7.0.inc
@@ -0,0 +1,147 @@
+# This file is created from parsec-service repository Cargo.lock using cargo-bitbake tool
+
+SRC_URI += " \
+    crate://crates.io/aho-corasick/0.7.15 \
+    crate://crates.io/ansi_term/0.11.0 \
+    crate://crates.io/anyhow/1.0.38 \
+    crate://crates.io/atty/0.2.14 \
+    crate://crates.io/autocfg/1.0.1 \
+    crate://crates.io/base64/0.12.3 \
+    crate://crates.io/base64/0.13.0 \
+    crate://crates.io/bincode/1.3.2 \
+    crate://crates.io/bindgen/0.56.0 \
+    crate://crates.io/bindgen/0.57.0 \
+    crate://crates.io/bitfield/0.13.2 \
+    crate://crates.io/bitflags/1.2.1 \
+    crate://crates.io/byteorder/1.3.4 \
+    crate://crates.io/bytes/0.5.6 \
+    crate://crates.io/bytes/1.0.1 \
+    crate://crates.io/cc/1.0.67 \
+    crate://crates.io/cexpr/0.4.0 \
+    crate://crates.io/cfg-if/1.0.0 \
+    crate://crates.io/clang-sys/1.1.1 \
+    crate://crates.io/clap/2.33.3 \
+    crate://crates.io/cmake/0.1.45 \
+    crate://crates.io/cryptoauthlib-sys/0.1.0 \
+    crate://crates.io/cryptoki-sys/0.1.1 \
+    crate://crates.io/cryptoki/0.1.1 \
+    crate://crates.io/derivative/2.2.0 \
+    crate://crates.io/either/1.6.1 \
+    crate://crates.io/enumflags2/0.6.4 \
+    crate://crates.io/enumflags2_derive/0.6.4 \
+    crate://crates.io/env_logger/0.8.3 \
+    crate://crates.io/fixedbitset/0.2.0 \
+    crate://crates.io/getrandom/0.2.2 \
+    crate://crates.io/glob/0.3.0 \
+    crate://crates.io/hashbrown/0.9.1 \
+    crate://crates.io/heck/0.3.2 \
+    crate://crates.io/hermit-abi/0.1.18 \
+    crate://crates.io/hex/0.4.3 \
+    crate://crates.io/hostname-validator/1.0.0 \
+    crate://crates.io/humantime/2.1.0 \
+    crate://crates.io/indexmap/1.6.2 \
+    crate://crates.io/itertools/0.8.2 \
+    crate://crates.io/itertools/0.9.0 \
+    crate://crates.io/lazy_static/1.4.0 \
+    crate://crates.io/lazycell/1.3.0 \
+    crate://crates.io/libc/0.2.89 \
+    crate://crates.io/libloading/0.7.0 \
+    crate://crates.io/log/0.4.14 \
+    crate://crates.io/mbox/0.5.0 \
+    crate://crates.io/memchr/2.3.4 \
+    crate://crates.io/multimap/0.8.3 \
+    crate://crates.io/nom/5.1.2 \
+    crate://crates.io/num-bigint/0.3.2 \
+    crate://crates.io/num-complex/0.3.1 \
+    crate://crates.io/num-derive/0.3.3 \
+    crate://crates.io/num-integer/0.1.44 \
+    crate://crates.io/num-iter/0.1.42 \
+    crate://crates.io/num-rational/0.3.2 \
+    crate://crates.io/num-traits/0.2.14 \
+    crate://crates.io/num/0.3.1 \
+    crate://crates.io/num_cpus/1.13.0 \
+    crate://crates.io/oid/0.1.1 \
+    crate://crates.io/parsec-interface/0.24.0 \
+    crate://crates.io/peeking_take_while/0.1.2 \
+    crate://crates.io/petgraph/0.5.1 \
+    crate://crates.io/picky-asn1-der/0.2.4 \
+    crate://crates.io/picky-asn1-x509/0.4.0 \
+    crate://crates.io/picky-asn1/0.3.1 \
+    crate://crates.io/pkg-config/0.3.19 \
+    crate://crates.io/ppv-lite86/0.2.10 \
+    crate://crates.io/proc-macro-error-attr/1.0.4 \
+    crate://crates.io/proc-macro-error/1.0.4 \
+    crate://crates.io/proc-macro2/1.0.24 \
+    crate://crates.io/prost-build/0.6.1 \
+    crate://crates.io/prost-build/0.7.0 \
+    crate://crates.io/prost-derive/0.6.1 \
+    crate://crates.io/prost-derive/0.7.0 \
+    crate://crates.io/prost-types/0.6.1 \
+    crate://crates.io/prost-types/0.7.0 \
+    crate://crates.io/prost/0.6.1 \
+    crate://crates.io/prost/0.7.0 \
+    crate://crates.io/psa-crypto-sys/0.8.0 \
+    crate://crates.io/psa-crypto/0.8.0 \
+    crate://crates.io/quote/1.0.9 \
+    crate://crates.io/rand/0.8.3 \
+    crate://crates.io/rand_chacha/0.3.0 \
+    crate://crates.io/rand_core/0.6.2 \
+    crate://crates.io/rand_hc/0.3.0 \
+    crate://crates.io/redox_syscall/0.2.5 \
+    crate://crates.io/regex-syntax/0.6.23 \
+    crate://crates.io/regex/1.4.5 \
+    crate://crates.io/remove_dir_all/0.5.3 \
+    crate://crates.io/rust-cryptoauthlib/0.1.0 \
+    crate://crates.io/rustc-hash/1.1.0 \
+    crate://crates.io/rustc_version/0.2.3 \
+    crate://crates.io/same-file/1.0.6 \
+    crate://crates.io/sd-notify/0.2.0 \
+    crate://crates.io/secrecy/0.7.0 \
+    crate://crates.io/semver-parser/0.7.0 \
+    crate://crates.io/semver/0.9.0 \
+    crate://crates.io/serde/1.0.124 \
+    crate://crates.io/serde_bytes/0.11.5 \
+    crate://crates.io/serde_derive/1.0.124 \
+    crate://crates.io/shlex/0.1.1 \
+    crate://crates.io/signal-hook-registry/1.3.0 \
+    crate://crates.io/signal-hook/0.3.7 \
+    crate://crates.io/stable_deref_trait/1.2.0 \
+    crate://crates.io/strsim/0.8.0 \
+    crate://crates.io/structopt-derive/0.4.14 \
+    crate://crates.io/structopt/0.3.21 \
+    crate://crates.io/strum_macros/0.19.4 \
+    crate://crates.io/syn/1.0.64 \
+    crate://crates.io/synstructure/0.12.4 \
+    crate://crates.io/tempfile/3.2.0 \
+    crate://crates.io/termcolor/1.1.2 \
+    crate://crates.io/textwrap/0.11.0 \
+    crate://crates.io/thiserror-impl/1.0.24 \
+    crate://crates.io/thiserror/1.0.24 \
+    crate://crates.io/threadpool/1.8.1 \
+    crate://crates.io/toml/0.5.8 \
+    crate://crates.io/tss-esapi-sys/0.1.0 \
+    crate://crates.io/tss-esapi/5.0.0 \
+    crate://crates.io/unicode-segmentation/1.7.1 \
+    crate://crates.io/unicode-width/0.1.8 \
+    crate://crates.io/unicode-xid/0.2.1 \
+    crate://crates.io/users/0.11.0 \
+    crate://crates.io/uuid/0.8.2 \
+    crate://crates.io/vec_map/0.8.2 \
+    crate://crates.io/version/3.0.0 \
+    crate://crates.io/version_check/0.9.3 \
+    crate://crates.io/walkdir/2.3.1 \
+    crate://crates.io/wasi/0.10.2+wasi-snapshot-preview1 \
+    crate://crates.io/which/3.1.1 \
+    crate://crates.io/which/4.0.2 \
+    crate://crates.io/winapi-i686-pc-windows-gnu/0.4.0 \
+    crate://crates.io/winapi-util/0.1.5 \
+    crate://crates.io/winapi-x86_64-pc-windows-gnu/0.4.0 \
+    crate://crates.io/winapi/0.3.9 \
+    crate://crates.io/zeroize/1.2.0 \
+    crate://crates.io/zeroize_derive/1.0.1 \
+    file://cryptoki.patch \
+"
+
+LIC_FILES_CHKSUM = " \
+    file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
+"
diff --git a/meta-security/meta-parsec/recipes-parsec/parsec-tool/parsec-tool_0.3.0.bb b/meta-security/meta-parsec/recipes-parsec/parsec-tool/parsec-tool_0.3.0.bb
new file mode 100644
index 000000000..35c65c02a
--- /dev/null
+++ b/meta-security/meta-parsec/recipes-parsec/parsec-tool/parsec-tool_0.3.0.bb
@@ -0,0 +1,17 @@
+SUMMARY = "Parsec Command Line Interface"
+HOMEPAGE = "https://github.com/parallaxsecond/parsec-tool"
+LICENSE = "Apache-2.0"
+
+inherit cargo
+
+SRC_URI += "crate://crates.io/parsec-tool/${PV} \
+"
+
+TOOLCHAIN = "clang"
+
+do_install() {
+  install -d ${D}/${bindir}
+  install -m 755 "${B}/target/${TARGET_SYS}/release/parsec-tool" "${D}${bindir}/parsec-tool"
+}
+
+require parsec-tool_${PV}.inc
diff --git a/meta-security/meta-parsec/recipes-parsec/parsec-tool/parsec-tool_0.3.0.inc b/meta-security/meta-parsec/recipes-parsec/parsec-tool/parsec-tool_0.3.0.inc
new file mode 100644
index 000000000..9560dcff1
--- /dev/null
+++ b/meta-security/meta-parsec/recipes-parsec/parsec-tool/parsec-tool_0.3.0.inc
@@ -0,0 +1,127 @@
+# This file is created from parsec-tool repository Cargo.lock using cargo-bitbake tool
+
+SRC_URI += " \
+    crate://crates.io/aho-corasick/0.7.15 \
+    crate://crates.io/ansi_term/0.11.0 \
+    crate://crates.io/ansi_term/0.12.1 \
+    crate://crates.io/anyhow/1.0.38 \
+    crate://crates.io/atty/0.2.14 \
+    crate://crates.io/autocfg/1.0.1 \
+    crate://crates.io/base64/0.13.0 \
+    crate://crates.io/bincode/1.3.1 \
+    crate://crates.io/bitflags/1.2.1 \
+    crate://crates.io/block-buffer/0.9.0 \
+    crate://crates.io/byteorder/1.4.2 \
+    crate://crates.io/bytes/0.5.6 \
+    crate://crates.io/cc/1.0.66 \
+    crate://crates.io/cfg-if/1.0.0 \
+    crate://crates.io/clap/2.33.3 \
+    crate://crates.io/clap/3.0.0-beta.2 \
+    crate://crates.io/clap_derive/3.0.0-beta.2 \
+    crate://crates.io/cmake/0.1.45 \
+    crate://crates.io/cpuid-bool/0.1.2 \
+    crate://crates.io/derivative/2.2.0 \
+    crate://crates.io/digest/0.9.0 \
+    crate://crates.io/either/1.6.1 \
+    crate://crates.io/env_logger/0.8.3 \
+    crate://crates.io/fixedbitset/0.2.0 \
+    crate://crates.io/form_urlencoded/1.0.0 \
+    crate://crates.io/generic-array/0.14.4 \
+    crate://crates.io/getrandom/0.2.2 \
+    crate://crates.io/hashbrown/0.9.1 \
+    crate://crates.io/heck/0.3.2 \
+    crate://crates.io/hermit-abi/0.1.18 \
+    crate://crates.io/humantime/2.1.0 \
+    crate://crates.io/idna/0.2.1 \
+    crate://crates.io/indexmap/1.6.1 \
+    crate://crates.io/itertools/0.8.2 \
+    crate://crates.io/lazy_static/1.4.0 \
+    crate://crates.io/libc/0.2.86 \
+    crate://crates.io/log/0.4.14 \
+    crate://crates.io/matches/0.1.8 \
+    crate://crates.io/memchr/2.3.4 \
+    crate://crates.io/multimap/0.8.2 \
+    crate://crates.io/num-bigint/0.3.1 \
+    crate://crates.io/num-complex/0.3.1 \
+    crate://crates.io/num-derive/0.3.3 \
+    crate://crates.io/num-integer/0.1.44 \
+    crate://crates.io/num-iter/0.1.42 \
+    crate://crates.io/num-rational/0.3.2 \
+    crate://crates.io/num-traits/0.2.14 \
+    crate://crates.io/num/0.3.1 \
+    crate://crates.io/oid/0.1.1 \
+    crate://crates.io/once_cell/1.5.2 \
+    crate://crates.io/opaque-debug/0.3.0 \
+    crate://crates.io/os_str_bytes/2.4.0 \
+    crate://crates.io/parsec-client/0.12.0 \
+    crate://crates.io/parsec-interface/0.24.0 \
+    crate://crates.io/pem/0.8.3 \
+    crate://crates.io/percent-encoding/2.1.0 \
+    crate://crates.io/petgraph/0.5.1 \
+    crate://crates.io/picky-asn1-der/0.2.4 \
+    crate://crates.io/picky-asn1/0.3.1 \
+    crate://crates.io/ppv-lite86/0.2.10 \
+    crate://crates.io/proc-macro-error-attr/1.0.4 \
+    crate://crates.io/proc-macro-error/1.0.4 \
+    crate://crates.io/proc-macro2/1.0.24 \
+    crate://crates.io/prost-build/0.6.1 \
+    crate://crates.io/prost-derive/0.6.1 \
+    crate://crates.io/prost-types/0.6.1 \
+    crate://crates.io/prost/0.6.1 \
+    crate://crates.io/psa-crypto-sys/0.8.0 \
+    crate://crates.io/psa-crypto/0.8.0 \
+    crate://crates.io/quote/1.0.9 \
+    crate://crates.io/rand/0.8.3 \
+    crate://crates.io/rand_chacha/0.3.0 \
+    crate://crates.io/rand_core/0.6.2 \
+    crate://crates.io/rand_hc/0.3.0 \
+    crate://crates.io/redox_syscall/0.2.5 \
+    crate://crates.io/regex-syntax/0.6.22 \
+    crate://crates.io/regex/1.4.3 \
+    crate://crates.io/remove_dir_all/0.5.3 \
+    crate://crates.io/same-file/1.0.6 \
+    crate://crates.io/secrecy/0.7.0 \
+    crate://crates.io/serde/1.0.123 \
+    crate://crates.io/serde_bytes/0.11.5 \
+    crate://crates.io/serde_derive/1.0.123 \
+    crate://crates.io/sha2/0.9.3 \
+    crate://crates.io/strsim/0.10.0 \
+    crate://crates.io/strsim/0.8.0 \
+    crate://crates.io/structopt-derive/0.4.14 \
+    crate://crates.io/structopt/0.3.21 \
+    crate://crates.io/syn/1.0.60 \
+    crate://crates.io/synstructure/0.12.4 \
+    crate://crates.io/tempfile/3.2.0 \
+    crate://crates.io/termcolor/1.1.2 \
+    crate://crates.io/textwrap/0.11.0 \
+    crate://crates.io/textwrap/0.12.1 \
+    crate://crates.io/thiserror-impl/1.0.23 \
+    crate://crates.io/thiserror/1.0.23 \
+    crate://crates.io/thread_local/1.1.3 \
+    crate://crates.io/tinyvec/1.1.1 \
+    crate://crates.io/tinyvec_macros/0.1.0 \
+    crate://crates.io/typenum/1.12.0 \
+    crate://crates.io/unicode-bidi/0.3.4 \
+    crate://crates.io/unicode-normalization/0.1.17 \
+    crate://crates.io/unicode-segmentation/1.7.1 \
+    crate://crates.io/unicode-width/0.1.8 \
+    crate://crates.io/unicode-xid/0.2.1 \
+    crate://crates.io/url/2.2.0 \
+    crate://crates.io/users/0.10.0 \
+    crate://crates.io/uuid/0.8.2 \
+    crate://crates.io/vec_map/0.8.2 \
+    crate://crates.io/version_check/0.9.2 \
+    crate://crates.io/walkdir/2.3.1 \
+    crate://crates.io/wasi/0.10.2+wasi-snapshot-preview1 \
+    crate://crates.io/which/3.1.1 \
+    crate://crates.io/winapi-i686-pc-windows-gnu/0.4.0 \
+    crate://crates.io/winapi-util/0.1.5 \
+    crate://crates.io/winapi-x86_64-pc-windows-gnu/0.4.0 \
+    crate://crates.io/winapi/0.3.9 \
+    crate://crates.io/zeroize/1.2.0 \
+    crate://crates.io/zeroize_derive/1.0.1 \
+"
+
+LIC_FILES_CHKSUM = " \
+    file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
+"
diff --git a/meta-security/meta-tpm/conf/layer.conf b/meta-security/meta-tpm/conf/layer.conf
index 65788eb0e..1b766cba2 100644
--- a/meta-security/meta-tpm/conf/layer.conf
+++ b/meta-security/meta-tpm/conf/layer.conf
@@ -13,6 +13,7 @@ LAYERSERIES_COMPAT_tpm-layer = "hardknott"
 LAYERDEPENDS_tpm-layer = " \
     core \
     openembedded-layer \
+    meta-python \
 "
 BBLAYERS_LAYERINDEX_NAME_tpm-layer = "meta-tpm"
 
diff --git a/meta-security/meta-tpm/recipes-tpm/swtpm/files/oe_configure.patch b/meta-security/meta-tpm/recipes-tpm/swtpm/files/oe_configure.patch
new file mode 100644
index 000000000..5aee933b9
--- /dev/null
+++ b/meta-security/meta-tpm/recipes-tpm/swtpm/files/oe_configure.patch
@@ -0,0 +1,65 @@
+Don't check for tscd deamon on host.
+
+Upstream-Status: OE Specific
+
+Signed-off-by: Armin Kuster 
+
+Index: git/configure.ac
+===================================================================
+--- git.orig/configure.ac
++++ git/configure.ac
+@@ -179,15 +179,6 @@ AC_SUBST([LIBTPMS_LIBS])
+ AC_CHECK_LIB(c, clock_gettime, LIBRT_LIBS="", LIBRT_LIBS="-lrt")
+ AC_SUBST([LIBRT_LIBS])
+ 
+-AC_PATH_PROG([TCSD], tcsd)
+-if test "x$TCSD" = "x"; then
+-    have_tcsd=no
+-    AC_MSG_WARN([tcsd could not be found; typically need it for tss user account and tests])
+-else
+-    have_tcsd=yes
+-fi
+-AM_CONDITIONAL([HAVE_TCSD], test "$have_tcsd" != "no")
+-
+ dnl We either need netstat (more common across systems) or 'ss' for test cases
+ AC_PATH_PROG([NETSTAT], [netstat])
+ if test "x$NETSTAT" = "x"; then
+@@ -440,23 +431,6 @@ AC_ARG_WITH([tss-group],
+             [TSS_GROUP="tss"]
+ )
+ 
+-case $have_tcsd in
+-yes)
+-	AC_MSG_CHECKING([whether TSS_USER $TSS_USER is available])
+-	if ! test $(id -u $TSS_USER); then
+-		AC_MSG_ERROR(["$TSS_USER is not available"])
+-	else
+-		AC_MSG_RESULT([yes])
+-	fi
+-	AC_MSG_CHECKING([whether TSS_GROUP $TSS_GROUP is available])
+-	if ! test $(id -g $TSS_GROUP); then
+-		AC_MSG_ERROR(["$TSS_GROUP is not available"])
+-	else
+-		AC_MSG_RESULT([yes])
+-	fi
+-	;;
+-esac
+-
+ AC_SUBST([TSS_USER])
+ AC_SUBST([TSS_GROUP])
+ 
+Index: git/tests/Makefile.am
+===================================================================
+--- git.orig/tests/Makefile.am
++++ git/tests/Makefile.am
+@@ -83,10 +83,6 @@ TESTS += \
+ 	test_tpm2_swtpm_cert \
+ 	test_tpm2_swtpm_cert_ecc \
+ 	test_tpm2_swtpm_setup_create_cert
+-if HAVE_TCSD
+-TESTS += \
+-	test_tpm2_samples_create_tpmca
+-endif
+ endif
+ 
+ EXTRA_DIST=$(TESTS) \
diff --git a/meta-security/meta-tpm/recipes-tpm/swtpm/swtpm_0.5.2.bb b/meta-security/meta-tpm/recipes-tpm/swtpm/swtpm_0.5.2.bb
index b7ff2ad59..caf99e823 100644
--- a/meta-security/meta-tpm/recipes-tpm/swtpm/swtpm_0.5.2.bb
+++ b/meta-security/meta-tpm/recipes-tpm/swtpm/swtpm_0.5.2.bb
@@ -7,18 +7,19 @@ DEPENDS = "libtasn1 coreutils-native expect socat glib-2.0 net-tools-native libt
 
 # configure checks for the tools already during compilation and
 # then swtpm_setup needs them at runtime
-DEPENDS += "tpm-tools-native expect-native socat-native"
+DEPENDS_append = " tpm-tools-native expect-native socat-native python3-pip-native python3-cryptography-native"
 
 SRCREV = "e59c0c1a7b4c8d652dbb280fd6126895a7057464"
 SRC_URI = "git://github.com/stefanberger/swtpm.git;branch=stable-0.5 \
            file://ioctl_h.patch \
+           file://oe_configure.patch \
            "
 PE = "1"
 
 S = "${WORKDIR}/git"
 
-inherit autotools pkgconfig python3-dir
 PARALLEL_MAKE = ""
+inherit autotools pkgconfig python3native
 
 TSS_USER="tss"
 TSS_GROUP="tss"
@@ -41,7 +42,7 @@ USERADD_PARAM_${PN} = "--system -g ${TSS_GROUP} --home-dir  \
 
 
 PACKAGES =+ "${PN}-python"
-FILES_${PN}-python = "${nonarch_libdir}/${PYTHON_PN}/dist-packages/* "
+FILES_${PN}-python = "${PYTHON_SITEPACKAGES_DIR}"
 
 PACKAGE_BEFORE_PN = "${PN}-cuse"
 FILES_${PN}-cuse = "${bindir}/swtpm_cuse"
diff --git a/meta-security/recipes-core/packagegroup/packagegroup-core-security.bb b/meta-security/recipes-core/packagegroup/packagegroup-core-security.bb
index 0a4452eea..9ac0d2c25 100644
--- a/meta-security/recipes-core/packagegroup/packagegroup-core-security.bb
+++ b/meta-security/recipes-core/packagegroup/packagegroup-core-security.bb
@@ -51,9 +51,9 @@ RDEPENDS_packagegroup-security-scanners = "\
     isic \
     nikto \
     checksecurity \
-    ${@bb.utils.contains_any("TUNE_FEATURES", "riscv32 riscv64", "", " clamav clamav-freshclam clamav-cvd",d)} \
+    ${@bb.utils.contains_any("TUNE_FEATURES", "riscv32 riscv64", "", " clamav clamav-freshclam",d)} \
     "
-RDEPENDS_packagegroup-security-scanners_remove_libc-musl = "clamav clamav-freshclam clamav-cvd"
+RDEPENDS_packagegroup-security-scanners_remove_libc-musl = "clamav clamav-freshclam"
 
 SUMMARY_packagegroup-security-audit = "Security Audit tools "
 RDEPENDS_packagegroup-security-audit = " \
diff --git a/meta-security/recipes-ids/suricata/python3-suricata-update_1.1.1.bb b/meta-security/recipes-ids/suricata/python3-suricata-update_1.1.1.bb
deleted file mode 100644
index 732ca9a11..000000000
--- a/meta-security/recipes-ids/suricata/python3-suricata-update_1.1.1.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-SUMMARY = "The tool for updating your Suricata rules. "
-HOMEPAGE = "http://suricata-ids.org/"
-SECTION = "security Monitor/Admin"
-LICENSE = "GPLv2"
-
-LIC_FILES_CHKSUM = "file://LICENSE;beginline=1;endline=2;md5=c70d8d3310941dcdfcd1e02800a1f548"
-
-SRCREV = "9630630ffc493ca26299d174ee2066aa1405b2d4"
-SRC_URI = "git://github.com/OISF/suricata-update;branch='master-1.1.x'"
-
-S = "${WORKDIR}/git"
-
-inherit python3native python3targetconfig setuptools3
-
-RDEPENDS_${PN} = "python3-pyyaml"
diff --git a/meta-security/recipes-ids/suricata/python3-suricata-update_1.2.1.bb b/meta-security/recipes-ids/suricata/python3-suricata-update_1.2.1.bb
new file mode 100644
index 000000000..bbdce69ab
--- /dev/null
+++ b/meta-security/recipes-ids/suricata/python3-suricata-update_1.2.1.bb
@@ -0,0 +1,17 @@
+SUMMARY = "The tool for updating your Suricata rules. "
+HOMEPAGE = "http://suricata-ids.org/"
+SECTION = "security Monitor/Admin"
+LICENSE = "GPLv2"
+
+LIC_FILES_CHKSUM = "file://LICENSE;beginline=1;endline=2;md5=c70d8d3310941dcdfcd1e02800a1f548"
+
+SRCREV = "50e857f75e576e239d8306a6ac55946a1ce252a6"
+SRC_URI = "git://github.com/OISF/suricata-update;branch='master-1.2.x'"
+
+S = "${WORKDIR}/git"
+
+inherit python3native python3targetconfig setuptools3
+
+RDEPENDS_${PN} = "python3-pyyaml python3-logging python3-compression"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-security/recipes-kernel/lkrg/files/makefile_cleanup.patch b/meta-security/recipes-kernel/lkrg/files/makefile_cleanup.patch
new file mode 100644
index 000000000..106dc3f1e
--- /dev/null
+++ b/meta-security/recipes-kernel/lkrg/files/makefile_cleanup.patch
@@ -0,0 +1,73 @@
+Upstream-Status: Pending
+
+This needs more work. Its my starting point.
+
+Signed-off-by: Armin Kuster 
+
+Index: lkrg-0.9.0/Makefile
+===================================================================
+--- lkrg-0.9.0.orig/Makefile
++++ lkrg-0.9.0/Makefile
+@@ -4,28 +4,10 @@
+ # Author:
+ #  - Adam 'pi3' Zabrocki (http://pi3.com.pl)
+ ##
+-
+-P_OUTPUT = output
+ P_PWD ?= $(shell pwd)
+-P_KVER ?= $(shell uname -r)
+-P_BOOTUP_SCRIPT ?= scripts/bootup/lkrg-bootup.sh
+-TARGET := p_lkrg
+-ifneq ($(KERNELRELEASE),)
+-    KERNEL := /lib/modules/$(KERNELRELEASE)/build
+-else
+-    ## KERNELRELEASE not set.
+-    KERNEL := /lib/modules/$(P_KVER)/build
+-endif
+-
+-#
+-# Uncomment for debug compilation
+-#
+-# ccflags-m := -ggdb -DP_LKRG_DEBUG_BUILD -finstrument-functions
+-# ccflags-y := ${ccflags-m}
+-# p_lkrg-objs += src/modules/print_log/p_lkrg_debug_log.o
+ 
+-obj-m += $(TARGET).o
+-$(TARGET)-objs += src/modules/ksyms/p_resolve_ksym.o \
++obj-m := p_lkrg.o
++p_lkrg-y := src/modules/ksyms/p_resolve_ksym.o \
+                   src/modules/hashing/p_lkrg_fast_hash.o \
+                   src/modules/comm_channel/p_comm_channel.o \
+                   src/modules/integrity_timer/p_integrity_timer.o \
+@@ -91,23 +73,14 @@ $(TARGET)-objs += src/modules/ksyms/p_re
+                   src/p_lkrg_main.o
+ 
+ 
+-all:
+-#	$(MAKE) -C $(KERNEL) M=$(P_PWD) modules CONFIG_DEBUG_SECTION_MISMATCH=y
+-	$(MAKE) -C $(KERNEL) M=$(P_PWD) modules
+-	mkdir -p $(P_OUTPUT)
+-	cp $(P_PWD)/$(TARGET).ko $(P_OUTPUT)
+-
+-install:
+-	$(MAKE) -C $(KERNEL) M=$(P_PWD) modules_install
+-	depmod -a
+-	$(P_PWD)/$(P_BOOTUP_SCRIPT) install
+ 
+-uninstall:
+-	$(P_PWD)/$(P_BOOTUP_SCRIPT) uninstall
++modules:
++	$(MAKE) -C $(KERNEL_SRC) M=$(P_PWD) modules
++
++modules_install:
++	$(MAKE) -C $(KERNEL_SRC) M=$(P_PWD) modules_install
+ 
+ clean:
+-	$(MAKE) -C $(KERNEL) M=$(P_PWD) clean
+-	$(RM) Module.markers modules.order
+-	$(RM) $(P_PWD)/src/modules/kmod/client/kmod/Module.markers
+-	$(RM) $(P_PWD)/src/modules/kmod/client/kmod/modules.order
+-	$(RM) -rf $(P_OUTPUT)
++	rm -f *.o *~ core .depend .*.cmd *.ko *.mod.c
++	rm -f Module.markers Module.symvers modules.order
++	rm -rf .tmp_versions Modules.symvers
diff --git a/meta-security/recipes-kernel/lkrg/lkrg-module_0.9.0.bb b/meta-security/recipes-kernel/lkrg/lkrg-module_0.9.0.bb
new file mode 100644
index 000000000..dbc195d35
--- /dev/null
+++ b/meta-security/recipes-kernel/lkrg/lkrg-module_0.9.0.bb
@@ -0,0 +1,33 @@
+SUMMARY = "Linux Kernel Runtime Guard"
+DESCRIPTION="LKRG performs runtime integrity checking of the Linux \
+kernel and detection of security vulnerability exploits against the kernel."
+SECTION = "security"
+HOMEPAGE = "https://www.openwall.com/lkrg/"
+LICENSE = "GPLv2"
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=d931f44a1f4be309bcdac742d7ed92f9"
+
+DEPENDS = "virtual/kernel elfutils"
+
+SRC_URI = "https://www.openwall.com/lkrg/lkrg-${PV}.tar.gz \
+           file://makefile_cleanup.patch "
+
+SRC_URI[sha256sum] = "a997e4d98962c359f3af163bbcfa38a736d2a50bfe35c15065b74cb57f8742bf"
+
+S = "${WORKDIR}/lkrg-${PV}"
+
+inherit module kernel-module-split
+
+MAKE_TARGETS = "modules"
+
+MODULE_NAME = "p_lkrg"
+
+module_do_install() {
+    install -d ${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION}/kernel/${MODULE_NAME}
+    install -m 0644 ${MODULE_NAME}.ko \
+    ${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION}/kernel/${MODULE_NAME}/${MODULE_NAME}.ko
+}
+
+RPROVIDES_${PN} += "kernel-module-lkrg"
+
+COMPATIBLE_HOST = "(i.86|x86_64|arm|aarch64).*-linux"
diff --git a/meta-security/recipes-scanners/clamav/clamav_0.101.5.bb b/meta-security/recipes-scanners/clamav/clamav_0.101.5.bb
deleted file mode 100644
index 7dad26315..000000000
--- a/meta-security/recipes-scanners/clamav/clamav_0.101.5.bb
+++ /dev/null
@@ -1,174 +0,0 @@
-SUMMARY = "ClamAV anti-virus utility for Unix - command-line interface"
-DESCRIPTION = "ClamAV is an open source antivirus engine for detecting trojans, viruses, malware & other malicious threats."
-HOMEPAGE = "http://www.clamav.net/index.html"
-SECTION = "security"
-LICENSE = "LGPL-2.1"
-
-DEPENDS = "libtool db libxml2 openssl zlib curl llvm clamav-native libmspack bison-native"
-DEPENDS_class-native = "db-native openssl-native zlib-native llvm-native curl-native bison-native"
- 
-LIC_FILES_CHKSUM = "file://COPYING.LGPL;beginline=2;endline=3;md5=4b89c05acc71195e9a06edfa2fa7d092"
-
-SRCREV = "482fcd413b07e9fd3ef9850e6d01a45f4e187108"
-
-SRC_URI = "git://github.com/vrtadmin/clamav-devel;branch=rel/0.101 \
-    file://clamd.conf \
-    file://freshclam.conf \
-    file://volatiles.03_clamav \
-    file://tmpfiles.clamav \
-    file://${BPN}.service \
-    file://freshclam-native.conf \
-    "
-
-S = "${WORKDIR}/git"
-
-LEAD_SONAME = "libclamav.so"
-SO_VER = "9.0.4"
-
-inherit autotools pkgconfig useradd systemd multilib_header multilib_script
-
-CLAMAV_UID ?= "clamav"
-CLAMAV_GID ?= "clamav"
-INSTALL_CLAMAV_CVD ?= "1"
-
-CLAMAV_USR_DIR = "${STAGING_DIR_NATIVE}/usr"
-CLAMAV_USR_DIR_class-target = "${STAGING_DIR_HOST}/usr"
-
-PACKAGECONFIG_class-target ?= "ncurses bz2"
-PACKAGECONFIG_class-target += " ${@bb.utils.contains("DISTRO_FEATURES", "ipv6", "ipv6", "", d)}"
-PACKAGECONFIG_class-target += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)}"
-
-PACKAGECONFIG[pcre] = "--with-pcre=${STAGING_LIBDIR},  --without-pcre, libpcre"
-PACKAGECONFIG[json] = "--with-libjson=${STAGING_LIBDIR}, --without-libjson, json-c,"
-PACKAGECONFIG[ipv6] = "--enable-ipv6, --disable-ipv6"
-PACKAGECONFIG[bz2] = "--with-libbz2-prefix=${CLAMAV_USR_DIR}, --disable-bzip2, bzip2"
-PACKAGECONFIG[ncurses] = "--with-libncurses-prefix=${CLAMAV_USR_DIR}, --without-libncurses-prefix, ncurses, "
-PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/, --without-systemdsystemunitdir, "
-
-MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/clamav-config ${PN}-cvd:${localstatedir}/lib/clamav/mirrors.dat"
-
-EXTRA_OECONF_CLAMAV = "--without-libcheck-prefix --disable-unrar \
-            --disable-mempool \
-            --program-prefix="" \
-            --disable-zlib-vcheck \
-            --with-xml=${CLAMAV_USR_DIR} \
-            --with-zlib=${CLAMAV_USR_DIR} \
-            --with-openssl=${CLAMAV_USR_DIR} \
-            --with-libcurl=${CLAMAV_USR_DIR} \
-            --with-system-libmspack=${CLAMAV_USR_DIR} \
-            --with-iconv=no \
-            --enable-check=no \
-            "
-
-EXTRA_OECONF_class-native += "${EXTRA_OECONF_CLAMAV}"
-EXTRA_OECONF_class-target += "--with-user=${CLAMAV_UID}  --with-group=${CLAMAV_GID} ${EXTRA_OECONF_CLAMAV}"
-
-do_configure () {
-    ${S}/configure ${CONFIGUREOPTS} ${EXTRA_OECONF} 
-}
-
-do_configure_class-native () {
-    ${S}/configure ${CONFIGUREOPTS} ${EXTRA_OECONF} 
-}
-
-do_compile_append_class-target() {
-    if [ "${INSTALL_CLAMAV_CVD}" = "1" ]; then
-        bbnote "CLAMAV creating cvd"
-        install -d ${S}/clamav_db
-        ${STAGING_BINDIR_NATIVE}/freshclam --datadir=${S}/clamav_db --config=${WORKDIR}/freshclam-native.conf
-    fi
-}
-
-do_install_append_class-target () {
-    install -d ${D}/${sysconfdir}
-    install -d ${D}/${localstatedir}/lib/clamav
-    install -d ${D}${sysconfdir}/clamav ${D}${sysconfdir}/default/volatiles
-
-    install -m 644 ${WORKDIR}/clamd.conf ${D}/${sysconfdir}
-    install -m 644 ${WORKDIR}/freshclam.conf ${D}/${sysconfdir}
-    install -m 0644 ${WORKDIR}/volatiles.03_clamav  ${D}${sysconfdir}/default/volatiles/03_clamav
-    sed -i -e 's#${STAGING_DIR_HOST}##g' ${D}${libdir}/pkgconfig/libclamav.pc
-    rm ${D}/${libdir}/libclamav.so
-    if [ "${INSTALL_CLAMAV_CVD}" = "1" ]; then
-        install -m 666 ${S}/clamav_db/* ${D}/${localstatedir}/lib/clamav/.
-    fi
-    if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)};then
-        install -D -m 0644 ${WORKDIR}/clamav.service ${D}${systemd_unitdir}/system/clamav.service
-        install -d ${D}${sysconfdir}/tmpfiles.d
-        install -m 0644 ${WORKDIR}/tmpfiles.clamav ${D}${sysconfdir}/tmpfiles.d/clamav.conf
-    fi
-    oe_multilib_header clamav-types.h
-}
-
-pkg_postinst_ontarget_${PN} () {
-    if command -v systemd-tmpfiles >/dev/null; then
-        systemd-tmpfiles --create ${sysconfdir}/tmpfiles.d/clamav.conf
-    elif [ -e ${sysconfdir}/init.d/populate-volatile.sh ]; then
-        ${sysconfdir}/init.d/populate-volatile.sh update
-    fi
-    mkdir -p ${localstatedir}/lib/clamav
-    chown -R ${CLAMAV_UID}:${CLAMAV_GID} ${localstatedir}/lib/clamav
-}
-
-
-PACKAGES = "${PN} ${PN}-dev ${PN}-dbg ${PN}-daemon ${PN}-doc ${PN}-cvd \
-            ${PN}-clamdscan ${PN}-freshclam ${PN}-libclamav ${PN}-staticdev"
-
-FILES_${PN} = "${bindir}/clambc ${bindir}/clamscan ${bindir}/clamsubmit \
-                ${bindir}/*sigtool ${mandir}/man1/clambc* ${mandir}/man1/clamscan* \
-                ${mandir}/man1/sigtool* ${mandir}/man1/clambsubmit*  \
-                ${docdir}/clamav/* "
-
-FILES_${PN}-clamdscan = " ${bindir}/clamdscan \
-                        ${docdir}/clamdscan/* \
-                        ${mandir}/man1/clamdscan* \
-                        "
-
-FILES_${PN}-daemon = "${bindir}/clamconf ${bindir}/clamdtop ${sbindir}/clamd \
-                        ${mandir}/man1/clamconf* ${mandir}/man1/clamdtop* \
-                        ${mandir}/man5/clamd*  ${mandir}/man8/clamd* \
-                        ${sysconfdir}/clamd.conf* \
-                        ${systemd_unitdir}/system/clamav-daemon/* \
-                        ${docdir}/clamav-daemon/*  ${sysconfdir}/clamav-daemon \
-                        ${sysconfdir}/logcheck/ignore.d.server/clamav-daemon "
-
-FILES_${PN}-freshclam = "${bindir}/freshclam \
-                        ${sysconfdir}/freshclam.conf*  \
-                        ${sysconfdir}/clamav ${sysconfdir}/default/volatiles \
-                        ${sysconfdir}/tmpfiles.d/*.conf \
-                        ${localstatedir}/lib/clamav \
-                        ${docdir}/${PN}-freshclam ${mandir}/man1/freshclam.* \
-                        ${mandir}/man5/freshclam.conf.* \
-                        ${systemd_unitdir}/system/clamav-freshclam.service"
-
-FILES_${PN}-dev = " ${bindir}/clamav-config ${libdir}/*.la \
-                    ${libdir}/pkgconfig/*.pc \
-                    ${mandir}/man1/clamav-config.* \
-                    ${includedir}/*.h ${docdir}/libclamav* "
-
-FILES_${PN}-staticdev = "${libdir}/*.a"
-
-FILES_${PN}-libclamav = "${libdir}/libclamav.so* ${libdir}/libclammspack.so*\
-                          ${docdir}/libclamav/* "
-
-FILES_${PN}-doc = "${mandir}/man/* \
-                   ${datadir}/man/* \
-                   ${docdir}/* "
-
-FILES_${PN}-cvd =  "${localstatedir}/lib/clamav/*.cvd ${localstatedir}/lib/clamav/*.dat"
-
-USERADD_PACKAGES = "${PN}"
-GROUPADD_PARAM_${PN} = "--system ${CLAMAV_UID}"
-USERADD_PARAM_${PN} = "--system -g ${CLAMAV_GID} --home-dir  \
-    ${localstatedir}/spool/${BPN} \
-    --no-create-home  --shell /bin/false ${BPN}"
-
-RPROVIDES_${PN} += "${PN}-systemd"
-RREPLACES_${PN} += "${PN}-systemd"
-RCONFLICTS_${PN} += "${PN}-systemd"
-SYSTEMD_SERVICE_${PN} = "${BPN}.service"
-
-RDEPENDS_${PN} = "openssl ncurses-libncurses libxml2 libbz2 ncurses-libtinfo curl libpcre2 clamav-freshclam clamav-libclamav"
-RDEPENDS_${PN}_class-native = ""
-
-BBCLASSEXTEND = "native"
diff --git a/meta-security/recipes-scanners/clamav/clamav_0.104.0.bb b/meta-security/recipes-scanners/clamav/clamav_0.104.0.bb
new file mode 100644
index 000000000..36e498dfb
--- /dev/null
+++ b/meta-security/recipes-scanners/clamav/clamav_0.104.0.bb
@@ -0,0 +1,148 @@
+SUMMARY = "ClamAV anti-virus utility for Unix - command-line interface"
+DESCRIPTION = "ClamAV is an open source antivirus engine for detecting trojans, viruses, malware & other malicious threats."
+HOMEPAGE = "http://www.clamav.net/index.html"
+SECTION = "security"
+LICENSE = "LGPL-2.1"
+
+DEPENDS = "glibc llvm libtool db openssl zlib curl libxml2 bison pcre2 json-c libcheck"
+ 
+LIC_FILES_CHKSUM = "file://COPYING.txt;beginline=2;endline=3;md5=f7029fbbc5898b273d5902896f7bbe17"
+
+SRCREV = "5553a5e206ceae5d920368baee7d403f823bcb6f"
+
+SRC_URI = "git://github.com/vrtadmin/clamav-devel;branch=dev/0.104 \
+    file://clamd.conf \
+    file://freshclam.conf \
+    file://volatiles.03_clamav \
+    file://tmpfiles.clamav \
+    file://${BPN}.service \
+    file://headers_fixup.patch \
+    file://oe_cmake_fixup.patch \
+"
+S = "${WORKDIR}/git"
+
+LEAD_SONAME = "libclamav.so"
+SO_VER = "9.6.0"
+
+BINCONFIG = "${bindir}/clamav-config"
+
+inherit cmake chrpath pkgconfig useradd systemd multilib_header multilib_script
+
+CLAMAV_UID ?= "clamav"
+CLAMAV_GID ?= "clamav"
+
+MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/clamav-config"
+
+EXTRA_OECMAKE = " -DCMAKE_BUILD_TYPE=Release -DOPTIMIZE=ON -DENABLE_JSON_SHARED=OFF \
+                  -DCLAMAV_GROUP=${CLAMAV_GID} -DCLAMAV_USER=${CLAMAV_UID} \ 
+                  -DENABLE_TESTS=OFF -DBUILD_SHARED_LIBS=ON \
+                  -DDISABLE_MPOOL=ON -DENABLE_FRESHCLAM_DNS_FIX=ON \
+                   "
+
+PACKAGECONFIG ?= "  clamonacc \
+                 ${@bb.utils.contains("DISTRO_FEATURES", "systemd", "systemd", "", d)}"
+
+PACKAGECONFIG[milter] = "-DENABLE_MILTER=ON ,-DENABLE_MILTER=OFF, curl, curl"
+PACKAGECONFIG[clamonacc] = "-DENABLE_CLAMONACC=ON ,-DENABLE_CLAMONACC=OFF,"
+PACKAGECONFIG[unrar] = "-DENABLE_UNRAR=ON ,-DENABLE_UNRAR=OFF,"
+PACKAGECONFIG[systemd] = "-DENABLE_SYSTEMD=ON -DSYSTEMD_UNIT_DIR=${systemd_system_unitdir}, -DENABLE_SYSTEMD=OFF, systemd"
+
+export OECMAKE_C_FLAGS += " -I${STAGING_INCDIR} -L ${RECIPE_SYSROOT}${nonarch_libdir} -L${STAGING_LIBDIR} -lpthread" 
+
+do_install_append () {
+    install -d ${D}/${sysconfdir}
+    install -d ${D}/${localstatedir}/lib/clamav
+    install -d ${D}${sysconfdir}/clamav ${D}${sysconfdir}/default/volatiles
+
+    install -m 644 ${WORKDIR}/clamd.conf ${D}/${prefix}/${sysconfdir}
+    install -m 644 ${WORKDIR}/freshclam.conf ${D}/${prefix}/${sysconfdir}
+    install -m 0644 ${WORKDIR}/volatiles.03_clamav  ${D}${sysconfdir}/default/volatiles/03_clamav
+    sed -i -e 's#${STAGING_DIR_HOST}##g' ${D}${libdir}/pkgconfig/libclamav.pc
+    rm ${D}/${libdir}/libclamav.so
+    if [ "${INSTALL_CLAMAV_CVD}" = "1" ]; then
+        install -m 666 ${S}/clamav_db/* ${D}/${localstatedir}/lib/clamav/.
+    fi
+
+    rm ${D}/${libdir}/libfreshclam.so
+    rm ${D}/${libdir}/libmspack.so
+
+    if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)};then
+        install -D -m 0644 ${WORKDIR}/clamav.service ${D}${systemd_unitdir}/system/clamav.service
+        install -d ${D}${sysconfdir}/tmpfiles.d
+        install -m 0644 ${WORKDIR}/tmpfiles.clamav ${D}${sysconfdir}/tmpfiles.d/clamav.conf
+    fi
+    oe_multilib_header clamav-types.h
+}
+
+pkg_postinst_ontarget_${PN} () {
+    if command -v systemd-tmpfiles >/dev/null; then
+        systemd-tmpfiles --create ${sysconfdir}/tmpfiles.d/clamav.conf
+    elif [ -e ${sysconfdir}/init.d/populate-volatile.sh ]; then
+        ${sysconfdir}/init.d/populate-volatile.sh update
+    fi
+    mkdir -p ${localstatedir}/lib/clamav
+    chown -R ${CLAMAV_UID}:${CLAMAV_GID} ${localstatedir}/lib/clamav
+}
+
+
+PACKAGES = "${PN} ${PN}-dev ${PN}-dbg ${PN}-daemon ${PN}-doc \
+            ${PN}-clamdscan ${PN}-freshclam ${PN}-libclamav ${PN}-staticdev"
+
+FILES_${PN} = "${bindir}/clambc ${bindir}/clamscan ${bindir}/clamsubmit ${sbindir}/clamonacc \
+                ${bindir}/*sigtool ${mandir}/man1/clambc* ${mandir}/man1/clamscan* \
+                ${mandir}/man1/sigtool* ${mandir}/man1/clambsubmit*  \
+                ${docdir}/clamav/* ${libdir}/libmspack* "
+
+FILES_${PN}-clamdscan = " ${bindir}/clamdscan \
+                        ${docdir}/clamdscan/* \
+                        ${mandir}/man1/clamdscan* \
+                        "
+
+FILES_${PN}-daemon = "${bindir}/clamconf ${bindir}/clamdtop ${sbindir}/clamd \
+                        ${mandir}/man1/clamconf* ${mandir}/man1/clamdtop* \
+                        ${mandir}/man5/clamd*  ${mandir}/man8/clamd* \
+                        ${sysconfdir}/clamd.conf* \
+                        /usr/etc/clamd.conf* \
+                        ${systemd_unitdir}/system/clamav-daemon/* \
+                        ${docdir}/clamav-daemon/*  ${sysconfdir}/clamav-daemon \
+                        ${sysconfdir}/logcheck/ignore.d.server/clamav-daemon \
+                        ${systemd_unitdir}/system/clamav-daemon.service \
+                        ${systemd_unitdir}/system/clamav-clamonacc.service \
+                        "
+
+FILES_${PN}-freshclam = "${bindir}/freshclam \
+                        ${sysconfdir}/freshclam.conf*  \
+                        /usr/etc/freshclam.conf*  \
+                        ${sysconfdir}/clamav ${sysconfdir}/default/volatiles \
+                        ${sysconfdir}/tmpfiles.d/*.conf \
+                        ${localstatedir}/lib/clamav \
+                        ${docdir}/${PN}-freshclam ${mandir}/man1/freshclam.* \
+                        ${mandir}/man5/freshclam.conf.* \
+                        ${systemd_unitdir}/system/clamav-freshclam.service"
+
+FILES_${PN}-dev = " ${bindir}/clamav-config ${libdir}/*.la \
+                    ${libdir}/pkgconfig/*.pc \
+                    ${mandir}/man1/clamav-config.* \
+                    ${includedir}/*.h ${docdir}/libclamav* "
+
+FILES_${PN}-staticdev = "${libdir}/*.a"
+
+FILES_${PN}-libclamav = "${libdir}/libclamav.so* ${libdir}/libclammspack.so* \
+                         ${libdir}/libfreshclam.so* ${docdir}/libclamav/* "
+
+FILES_${PN}-doc = "${mandir}/man/* \
+                   ${datadir}/man/* \
+                   ${docdir}/* "
+
+USERADD_PACKAGES = "${PN}"
+GROUPADD_PARAM_${PN} = "--system ${CLAMAV_UID}"
+USERADD_PARAM_${PN} = "--system -g ${CLAMAV_GID} --home-dir  \
+    ${localstatedir}/spool/${BPN} \
+    --no-create-home  --shell /bin/false ${BPN}"
+
+RPROVIDES_${PN} += "${PN}-systemd"
+RREPLACES_${PN} += "${PN}-systemd"
+RCONFLICTS_${PN} += "${PN}-systemd"
+SYSTEMD_SERVICE_${PN} = "${BPN}.service"
+
+RDEPENDS_${PN} = "openssl ncurses-libncurses libxml2 libbz2 ncurses-libtinfo curl libpcre2 clamav-freshclam clamav-libclamav"
diff --git a/meta-security/recipes-scanners/clamav/files/headers_fixup.patch b/meta-security/recipes-scanners/clamav/files/headers_fixup.patch
new file mode 100644
index 000000000..9de0a26db
--- /dev/null
+++ b/meta-security/recipes-scanners/clamav/files/headers_fixup.patch
@@ -0,0 +1,58 @@
+Fixes checks not needed do to glibc 2.33
+
+Upstream-Status: Pending
+Signed-off-by: Armin Kuster 
+
+Index: git/CMakeLists.txt
+===================================================================
+--- git.orig/CMakeLists.txt
++++ git/CMakeLists.txt
+@@ -374,8 +373,6 @@ check_include_file("stdlib.h"
+ check_include_file("string.h"           HAVE_STRING_H)
+ check_include_file("strings.h"          HAVE_STRINGS_H)
+ check_include_file("sys/cdefs.h"        HAVE_SYS_CDEFS_H)
+-check_include_file("sys/dl.h"           HAVE_SYS_DL_H)
+-check_include_file("sys/fileio.h"       HAVE_SYS_FILIO_H)
+ check_include_file("sys/mman.h"         HAVE_SYS_MMAN_H)
+ check_include_file("sys/param.h"        HAVE_SYS_PARAM_H)
+ check_include_file("sys/queue.h"        HAVE_SYS_QUEUE_H)
+@@ -410,8 +407,6 @@ endif()
+ 
+ # int-types variants
+ check_include_file("inttypes.h"         HAVE_INTTYPES_H)
+-check_include_file("sys/inttypes.h"     HAVE_SYS_INTTYPES_H)
+-check_include_file("sys/int_types.h"    HAVE_SYS_INT_TYPES_H)
+ check_include_file("stdint.h"           HAVE_STDINT_H)
+ 
+ # this hack required to silence warnings on systems with inttypes.h
+@@ -539,17 +528,11 @@ check_type_size("time_t"  SIZEOF_TIME_T)
+ # Checks for library functions.
+ include(CheckSymbolExists)
+ check_symbol_exists(_Exit           "stdlib.h"      HAVE__EXIT)
+-check_symbol_exists(accept4         "sys/types.h"   HAVE_ACCEPT4)
+ check_symbol_exists(snprintf        "stdio.h"       HAVE_SNPRINTF)
+-check_symbol_exists(stat64          "sys/stat.h"    HAVE_STAT64)
+-check_symbol_exists(strcasestr      "string.h"      HAVE_STRCASESTR)
+ check_symbol_exists(strerror_r      "string.h"      HAVE_STRERROR_R)
+-check_symbol_exists(strlcat         "string.h"      HAVE_STRLCAT)
+-check_symbol_exists(strlcpy         "string.h"      HAVE_STRLCPY)
+ check_symbol_exists(strndup         "string.h"      HAVE_STRNDUP)
+ check_symbol_exists(strnlen         "string.h"      HAVE_STRNLEN)
+-check_symbol_exists(strnstr         "string.h"      HAVE_STRNSTR)
+-check_symbol_exists(sysctlbyname    "sysctl.h"      HAVE_SYSCTLBYNAME)
++check_symbol_exists(strcasecmp      "string.h"      HAVE_STRNCMP)
+ check_symbol_exists(timegm          "time.h"        HAVE_TIMEGM)
+ check_symbol_exists(vsnprintf       "stdio.h"       HAVE_VSNPRINTF)
+ 
+@@ -563,10 +546,9 @@ else()
+     check_symbol_exists(fseeko          "stdio.h"       HAVE_FSEEKO)
+     check_symbol_exists(getaddrinfo     "netdb.h"       HAVE_GETADDRINFO)
+     check_symbol_exists(getpagesize     "unistd.h"      HAVE_GETPAGESIZE)
+-    check_symbol_exists(mkstemp         "unistd.h"      HAVE_MKSTEMP)
+     check_symbol_exists(poll            "poll.h"        HAVE_POLL)
+-    check_symbol_exists(setgroups       "unistd.h"      HAVE_SETGROUPS)
+     check_symbol_exists(setsid          "unistd.h"      HAVE_SETSID)
++    set(HAVE_SYSCONF_SC_PAGESIZE 1)
+ endif()
+ 
+ include(CheckSymbolExists)
diff --git a/meta-security/recipes-scanners/clamav/files/oe_cmake_fixup.patch b/meta-security/recipes-scanners/clamav/files/oe_cmake_fixup.patch
new file mode 100644
index 000000000..b284915b8
--- /dev/null
+++ b/meta-security/recipes-scanners/clamav/files/oe_cmake_fixup.patch
@@ -0,0 +1,39 @@
+Issue with rpath including /usr/lib and crosscompile checkes causing oe configure to fail
+
+Use oe's cmake rpath framework and exclude some of the cmake checks that fail in our env
+
+Upstream-Status: Inappropriate [configuration]
+Singed-off-by: Armin Kuster 
+
+Index: git/CMakeLists.txt
+===================================================================
+--- git.orig/CMakeLists.txt
++++ git/CMakeLists.txt
+@@ -162,12 +162,6 @@ endif()
+ 
+ include(GNUInstallDirs)
+ 
+-if(CMAKE_INSTALL_FULL_LIBDIR)
+-    set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_FULL_LIBDIR}")
+-else()
+-    set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib")
+-endif()
+-
+ if(C_LINUX)
+     if(CMAKE_COMPILER_IS_GNUCXX)
+         # Set _GNU_SOURCE for O_LARGEFILE, O_CLOEXEC, O_DIRECTORY, O_NOFOLLOW, etc flags on older systems
+@@ -512,14 +506,8 @@ include(TestInline)
+ include(CheckFileOffsetBits)
+ # Determine how to pack structs on this platform.
+ include(CheckStructPacking)
+-# Check for signed right shift implementation.
+-include(CheckSignedRightShift)
+ # Check if systtem fts implementation available
+ include(CheckFTS)
+-# Check if uname(2) follows POSIX standard.
+-include(CheckUnamePosix)
+-# Check support for file descriptor passing
+-include(CheckFDPassing)
+ 
+ # Check if big-endian
+ include(TestBigEndian)
diff --git a/meta-security/recipes-security/libest/libest_3.2.0.bb b/meta-security/recipes-security/libest/libest_3.2.0.bb
index f993bd65e..5b6dc995c 100644
--- a/meta-security/recipes-security/libest/libest_3.2.0.bb
+++ b/meta-security/recipes-security/libest/libest_3.2.0.bb
@@ -6,7 +6,7 @@ LICENSE = "OpenSSL"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=ecb78acde8e3b795de8ef6b61aed5885"
 
 SRCREV = "4ca02c6d7540f2b1bcea278a4fbe373daac7103b"
-SRC_URI = "git://github.com/cisco/libest"
+SRC_URI = "git://github.com/cisco/libest;branch=main"
 
 DEPENDS = "openssl"
 
diff --git a/meta-security/recipes-security/mfa/python3-privacyidea_3.5.1.bb b/meta-security/recipes-security/mfa/python3-privacyidea_3.5.1.bb
deleted file mode 100644
index fb8441192..000000000
--- a/meta-security/recipes-security/mfa/python3-privacyidea_3.5.1.bb
+++ /dev/null
@@ -1,40 +0,0 @@
-SUMMARY = "identity, multifactor authentication (OTP), authorization, audit"
-DESCRIPTION = "privacyIDEA is an open solution for strong two-factor authentication like OTP tokens, SMS, smartphones or SSH keys. Using privacyIDEA you can enhance your existing applications like local login (PAM, Windows Credential Provider), VPN, remote access, SSH connections, access to web sites or web portals with a second factor during authentication. Thus boosting the security of your existing applications."
-
-HOMEPAGE = "http://www.privacyidea.org/"
-LICENSE = "AGPL-3.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=c0acfa7a8a03b718abee9135bc1a1c55"
-
-PYPI_PACKAGE = "privacyIDEA"
-SRC_URI[sha256sum] = "c10f8e9ec681af4cb42fde70864c2b9a4b47e2bcccfc1290f83c1283748772c6"
-
-inherit pypi setuptools3
-
-do_install_append () {
-    #install ${D}/var/log/privacyidea
-
-    rm -fr ${D}${libdir}/${PYTHON_DIR}/site-packages/tests
-}
-
-USERADD_PACKAGES = "${PN}"
-GROUPADD_PARAM_${PN} = "--system privacyidea"
-USERADD_PARAM_${PN} = "--system -g privacyidea -o -r -d /opt/${BPN}  \
-    --shell /bin/false privacyidea"
-
-FILES_${PN} += " ${datadir}/etc/privacyidea/* ${datadir}/lib/privacyidea/*"
-
-RDEPENDS_${PN} += " bash perl freeradius-mysql freeradius-utils"
-
-RDEPENDS_${PN} += "python3 python3-alembic python3-babel python3-backports-functools-lru-cache python3-bcrypt"
-RDEPENDS_${PN} += "python3-beautifulsoup4 python3-cbor2 python3-certifi python3-cffi python3-chardet"
-RDEPENDS_${PN} += "python3-click python3-configobj python3-croniter python3-cryptography python3-defusedxml"
-RDEPENDS_${PN} += "python3-ecdsa  python3-flask python3-flask-babel python3-flask-migrate"
-RDEPENDS_${PN} += "python3-flask-script python3-flask-sqlalchemy python3-flask-versioned"
-RDEPENDS_${PN} += "python3-future python3-httplib2 python3-huey python3-idna python3-ipaddress"
-RDEPENDS_${PN} += "python3-itsdangerous python3-jinja2 python3-ldap python3-lxml python3-mako"
-RDEPENDS_${PN} += "python3-markupsafe python3-netaddr python3-oauth2client python3-passlib python3-pillow"
-RDEPENDS_${PN} += "python3-pyasn1 python3-pyasn1-modules python3-pycparser python3-pyjwt python3-pymysql"
-RDEPENDS_${PN} += "python3-pyopenssl python3-pyrad python3-dateutil python3-editor python3-gnupg"
-RDEPENDS_${PN} += "python3-pytz python3-pyyaml python3-qrcode python3-redis python3-requests python3-rsa"
-RDEPENDS_${PN} += "python3-six python3-smpplib python3-soupsieve python3-soupsieve "
-RDEPENDS_${PN} += "python3-sqlalchemy python3-sqlsoup python3-urllib3 python3-werkzeug"
diff --git a/meta-security/recipes-security/mfa/python3-privacyidea_3.5.2.bb b/meta-security/recipes-security/mfa/python3-privacyidea_3.5.2.bb
new file mode 100644
index 000000000..cd0acf869
--- /dev/null
+++ b/meta-security/recipes-security/mfa/python3-privacyidea_3.5.2.bb
@@ -0,0 +1,40 @@
+SUMMARY = "identity, multifactor authentication (OTP), authorization, audit"
+DESCRIPTION = "privacyIDEA is an open solution for strong two-factor authentication like OTP tokens, SMS, smartphones or SSH keys. Using privacyIDEA you can enhance your existing applications like local login (PAM, Windows Credential Provider), VPN, remote access, SSH connections, access to web sites or web portals with a second factor during authentication. Thus boosting the security of your existing applications."
+
+HOMEPAGE = "http://www.privacyidea.org/"
+LICENSE = "AGPL-3.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=c0acfa7a8a03b718abee9135bc1a1c55"
+
+PYPI_PACKAGE = "privacyIDEA"
+SRC_URI[sha256sum] = "26aeb0d353af1f212c4df476202516953c20f7f31566cfe0b67cbb553de04763"
+
+inherit pypi setuptools3
+
+do_install_append () {
+    #install ${D}/var/log/privacyidea
+
+    rm -fr ${D}${libdir}/${PYTHON_DIR}/site-packages/tests
+}
+
+USERADD_PACKAGES = "${PN}"
+GROUPADD_PARAM_${PN} = "--system privacyidea"
+USERADD_PARAM_${PN} = "--system -g privacyidea -o -r -d /opt/${BPN}  \
+    --shell /bin/false privacyidea"
+
+FILES_${PN} += " ${datadir}/etc/privacyidea/* ${datadir}/lib/privacyidea/*"
+
+RDEPENDS_${PN} += " bash perl freeradius-mysql freeradius-utils"
+
+RDEPENDS_${PN} += "python3 python3-alembic python3-babel python3-backports-functools-lru-cache python3-bcrypt"
+RDEPENDS_${PN} += "python3-beautifulsoup4 python3-cbor2 python3-certifi python3-cffi python3-chardet"
+RDEPENDS_${PN} += "python3-click python3-configobj python3-croniter python3-cryptography python3-defusedxml"
+RDEPENDS_${PN} += "python3-ecdsa  python3-flask python3-flask-babel python3-flask-migrate"
+RDEPENDS_${PN} += "python3-flask-script python3-flask-sqlalchemy python3-flask-versioned"
+RDEPENDS_${PN} += "python3-future python3-httplib2 python3-huey python3-idna python3-ipaddress"
+RDEPENDS_${PN} += "python3-itsdangerous python3-jinja2 python3-ldap python3-lxml python3-mako"
+RDEPENDS_${PN} += "python3-markupsafe python3-netaddr python3-oauth2client python3-passlib python3-pillow"
+RDEPENDS_${PN} += "python3-pyasn1 python3-pyasn1-modules python3-pycparser python3-pyjwt python3-pymysql"
+RDEPENDS_${PN} += "python3-pyopenssl python3-pyrad python3-dateutil python3-editor python3-gnupg"
+RDEPENDS_${PN} += "python3-pytz python3-pyyaml python3-qrcode python3-redis python3-requests python3-rsa"
+RDEPENDS_${PN} += "python3-six python3-smpplib python3-soupsieve python3-soupsieve "
+RDEPENDS_${PN} += "python3-sqlalchemy python3-sqlsoup python3-urllib3 python3-werkzeug"
-- 
cgit v1.2.3


From e34f89623c246d261efb7fd0f2ce4a30b10bd59d Mon Sep 17 00:00:00 2001
From: Andrew Geissler 
Date: Thu, 15 Apr 2021 15:53:51 -0500
Subject: meta-openembedded: subtree update:da393545a2..08c0280b7c
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Andreas Müller (8):
      networkmanager-openvpn: Fix packageing
      mousepad: upgrade 0.5.3 -> 0.5.4
      xfce4-battery-plugin: upgrade 1.1.3 -> 1.1.4
      gigolo: upgrade 0.5.1 -> 0.5.2
      thunar: upgrade 4.16.4 -> 4.16.6
      poppler: upgrade 21.03.0 -> 21.04.0
      catfish: add python3-dbus to RDEPENDS
      fluidsynth: upgrade 2.1.7 -> 2.2.0

Andrew Geissler (1):
      nodejs: ppc64le machine support

Awais Belal (1):
      libnet-ssleay-perl: add rdep on perl-module-autoloader

Hermes Zhang (1):
      gpsd: backport d-bus message time patch from upstream

Hongxu Jia (1):
      debootstrap: 1.0.67 -> 1.0.123

Kamil Dziezyk (1):
      bats: upgrade 1.1.0 -> 1.3.0

Kartikey Rameshbhai Parmar (1):
      fluidsynth: update SRC_URI to remove non-existing 2.1.x branch

Khem Raj (12):
      mariadb: Fix build on newer 32bit architectures
      iwd: Upgade to 1.13
      libmanette: Add recipe
      pidgin-sipe: Fix build with glib-2.0 >= 2.68
      gjs: Fix build with gcc11
      poppler: Backport patches to fix build with glib-2.0 2.68+ and GCC11
      opencv: Upgrade to 5.4.2
      Revert "iwd: Upgade to 1.13"
      core-image-minimal-xfce: Use graphical.target as default
      tbb: Fix build with musl
      vnstat: Disable install parallism to fix a potential install race
      open-vm-tools: Fix build with gcc 11

Leon Anavi (57):
      python3-sqlalchemy: Upgrade 1.4.3 -> 1.4.4
      python3-bitarray: Upgrade 1.8.1 -> 1.8.2
      python3-httplib2: Upgrade 0.19.0 -> 0.19.1
      python3-parso: Upgrade 0.8.1 -> 0.8.2
      python3-matplotlib: Upgrade 3.3.4 -> 3.4.1
      python3-pyroute2: Upgrade 0.5.15 -> 0.5.16
      python3-h5py: Upgrade 3.1.0 -> 3.2.1
      python3-cheetah: Upgrade 3.2.6 -> 3.2.6.post1
      python3-google-api-python-client: Upgrade 2.0.2 -> 2.1.0
      python3-xlsxwriter: Upgrade 1.3.7 -> 1.3.8
      python3-pymisp: Upgrade 2.4.140 -> 2.4.141
      python3-tqdm: Upgrade 4.58.0 -> 4.59.0
      python3-contextlib2: Upgrade 0.6.0 -> 0.6.0.post1
      python3-typeguard: Upgrade 2.11.1 -> 2.12.0
      python3-decorator: Upgrade 4.4.2 -> 5.0.1
      python3-pillow: Upgrade 8.1.2 -> 8.2.0
      python3-aiohttp: Upgrade 3.7.4 -> 3.7.4.post0
      python3-networkx: Upgrade 2.5 -> 2.5.1
      python3-pysonos: Upgrade 0.0.40 -> 0.0.41
      python3-docutils: Upgrade 0.16 -> 0.17
      python3-bitarray: Upgrade 1.8.2 -> 1.9.0
      python3-regex: Upgrade 2021.3.17 -> 2021.4.4
      python3-sqlalchemy: Upgrade 1.4.4 -> 1.4.5
      python3-pychromecast: Upgrade 9.1.1 -> 9.1.2
      python3-decorator: Upgrade 5.0.1 -> 5.0.5
      python3-pymisp: Upgrade 2.4.141 -> 2.4.141.1
      python3-pyroute2: Upgrade 0.5.16 -> 0.5.17
      python3-transitions: Upgrade 0.8.7 -> 0.8.8
      python3-sqlalchemy: Upgrade 1.4.5 -> 1.4.6
      python3-bitarray: Upgrade 1.9.0 -> 1.9.1
      python3-pysonos: Upgrade 0.0.41 -> 0.0.42
      python3-django: Upgrade 3.1.7 -> 3.2
      python3-tqdm: Upgrade 4.59.0 -> 4.60.0
      python3-xmlschema: Upgrade 1.5.3 -> 1.6.0
      python3-ruamel-yaml: Upgrade 0.17.2 -> 0.17.4
      python3-croniter: Upgrade 1.0.10 -> 1.0.11
      python3-decorator: Upgrade 5.0.5 -> 5.0.6
      python3-grpcio-tools: Upgrade 1.36.1 -> 1.37.0
      python3-speedtest-cli: Upgrade 2.1.2 -> 2.1.3
      python3-python-vlc: Upgrade 3.0.11115 -> 3.0.12117
      python3-robotframework: Upgrade 4.0 -> 4.0.1
      python3-grpcio: Upgrade 1.36.1 -> 1.37.0
      python3-cerberus: Upgrade 1.3.2 -> 1.3.3
      python3-humanize: Upgrade 3.3.0 -> 3.4.0
      python3-monotonic: Upgrade 1.5 -> 1.6
      python3-sqlalchemy: Upgrade 1.4.6 -> 1.4.7
      python3-typed-ast: Upgrade 1.4.2 -> 1.4.3
      python3-backports-functools-lru-cache: Upgrade 1.6.3 -> 1.6.4
      python3-xmlschema: Upgrade 1.6.0 -> 1.6.1
      python3-pyroute2: Upgrade 0.5.17 -> 0.5.18
      python3-sympy: Upgrade 1.7.1 -> 1.8
      python3-pandas: Upgrade 1.2.3 -> 1.2.4
      python3-humanize: Upgrade 3.4.0 -> 3.4.1
      python3-decorator: Upgrade 5.0.6 -> 5.0.7
      python3-colorlog: Upgrade 4.8.0 -> 5.0.1
      python3-google-api-python-client: Upgrade 2.1.0 -> 2.2.0
      python3-croniter: Upgrade 1.0.11 -> 1.0.12

Martin Jansa (13):
      packagegroup-meta-oe: include glfw, icewm, geis only with x11 in DISTRO_FEATURES
      phonet-utils: remove
      packagegroup-meta-oe: use 4 spaces for identation
      telepathy-glib: respect GI_DATA_ENABLED when enabling vala-bindings
      uml-utilities: fix installed-vs-shipped with usrmerge
      libsmi: use /bin/sh instead of ${base_bindir}/sh to silence QA error with usrmerge
      libyui: switch to libyui-old repo which still has this SRCREV
      libyui(-ncurses): upgrade to 4.1.1, libyui repo was rewritten completely
      android-tools: use PN instead of BPN in RDEPENDS
      pidgin-sipe: fix g_memdup2 changes to be backwards compatible with glib-1.67
      pidgin: upgrade to 2.14.2
      opencv: fetch wechat_qrcode files used by dnn PACKAGECONFIG
      opencv: link sfm module with Glog

Mingli Yu (2):
      freeradius: Upgrade to 3.0.21
      hostapd: fix CVE-2021-0326 and CVE-2021-27803

Naveen Saini (2):
      tbb: upgrade 2020.3 -> 2021.2.0
      ocl-icd: upgrade 2.2.14 -> 2.3.0

Randy MacLeod (2):
      doxygen: Upgrade 1.8.20 -> 1.9.1
      open-vm-tools: upgrade 11.0.1 -> 11.2.5

Ross Burton (1):
      fwts: upgrade to 21.03.00

Stefan Ghinea (1):
      hostapd: fix CVE-2021-30004

Vinicius Aquino (1):
      networkmanager: upgrade 1.28.0 -> 1.30.2

Vinícius Ossanes Aquino (2):
      modemmanager: upgrade 1.14.10 -> 1.16.2
      libqmi: upgrade 1.26.6 -> 1.28.2

Yi Fan Yu (2):
      rsyslog: fix some of the ptests
      redis: upgrade 6.0.9 -> 6.2.1

hasan.men (2):
      librdkafka: Add initial recipe v1.6.1
      libcppkafka: Add initial recipe for cppkafka wrapper

persianpros (5):
      PEP8 double aggressive E701, E70 and E502
      PEP8 double aggressive E20 and E211
      PEP8 double aggressive E22, E224, E241, E242 and E27
      PEP8 double aggressive E301 ~ E306
      PEP8 double aggressive W291 ~ W293 and W391

wangmy (2):
      mariadb: upgrade 10.5.8 -> 10.5.9
      uftrace: Fix error on aarch64 when binutils update to 2.35.1

zangrc (14):
      gnome-autoar: upgrade 0.2.4 -> 0.3.1
      emacs: upgrade 27.1 -> 27.2
      fbgrab: upgrade 1.4 -> 1.5
      ostree: upgrade 2020.8 -> 2021.1
      zabbix: upgrade 5.2.5 -> 5.2.6
      libxaw: upgrade 1.0.13 -> 1.0.14
      mosquitto: upgrade 2.0.9 -> 2.0.10
      nbdkit: upgrade 1.25.4 -> 1.25.5
      stunnel: upgrade 5.58 -> 5.59
      usbredir: upgrade 0.8.0 -> 0.9.0
      hwdata: upgrade 0.345 -> 0.346
      live555: upgrade 20210322 -> 20210406
      rabbitmq-c: upgrade 0.10.0 -> 0.11.0
      xterm: upgrade 366 -> 367

zhengruoqin (7):
      fetchmail: upgrade 6.4.17 -> 6.4.18
      lldpd: upgrade 1.0.4 -> 1.0.8
      networkmanager-openvpn: upgrade 1.8.12 -> 1.8.14
      snort: upgrade 2.9.17 -> 2.9.17.1
      python3-absl: upgrade 0.10.0 -> 0.12.0
      python3-astroid: upgrade 2.5.2 -> 2.5.3
      python3-bitarray: upgrade 1.9.1 -> 1.9.2

Signed-off-by: Andrew Geissler 
Change-Id: I1f0f809aeda70e82140fec5e3310cbf89c760ad4
---
 meta-openembedded/contrib/oe-stylize.py            | 121 ++--
 ...t-Avoid-g_once_init_enter-error-in-GCC-11.patch |  77 +++
 .../meta-gnome/recipes-gnome/gjs/gjs_1.58.8.bb     |   4 +-
 .../gnome-autoar/gnome-autoar_0.2.4.bb             |  17 -
 .../gnome-autoar/gnome-autoar_0.3.1.bb             |  17 +
 .../recipes-multimedia/fluidsynth/fluidsynth.inc   |   6 +-
 ..._nwrite_float-Allow-zero-pointer-for-left.patch |  26 +-
 ...-rlm_python3-add-PY_INC_DIR-in-search-dir.patch |  58 --
 .../freeradius/freeradius_3.0.20.bb                | 240 -------
 .../freeradius/freeradius_3.0.21.bb                | 239 +++++++
 .../mosquitto/mosquitto_2.0.10.bb                  |  91 +++
 .../mosquitto/mosquitto_2.0.9.bb                   |  91 ---
 .../networkmanager-openvpn_1.8.12.bb               |  52 --
 .../networkmanager-openvpn_1.8.14.bb               |  53 ++
 ...te-settings-settings-property-documentati.patch |  50 +-
 .../0004-fix_reallocarray_check.patch              |  27 -
 ...0001-Fix-build-with-musl-systemd-specific.patch |  52 +-
 ...0002-Fix-build-with-musl-systemd-specific.patch |  26 +
 .../musl/0002-Fix-build-with-musl.patch            | 121 ----
 ...0003-Fix-build-with-musl-systemd-specific.patch |  26 -
 .../networkmanager/networkmanager_1.28.0.bb        | 183 ------
 .../networkmanager/networkmanager_1.30.2.bb        | 181 +++++
 .../recipes-connectivity/snort/snort_2.9.17.1.bb   | 111 ++++
 .../recipes-connectivity/snort/snort_2.9.17.bb     | 111 ----
 .../recipes-daemons/lldpd/lldpd_1.0.4.bb           |  64 --
 .../recipes-daemons/lldpd/lldpd_1.0.8.bb           |  64 ++
 .../recipes-support/fetchmail/fetchmail_6.4.17.bb  |  22 -
 .../recipes-support/fetchmail/fetchmail_6.4.18.bb  |  22 +
 .../recipes-support/nbdkit/nbdkit_1.25.4.bb        |  34 -
 .../recipes-support/nbdkit/nbdkit_1.25.5.bb        |  34 +
 .../0001-Add-resolv_compat.h-for-musl-builds.patch |  72 ++
 ...e-367.-Remove-references-to-deprecated-G_.patch |  94 ---
 .../0001-pollGtk-Drop-volatile-qualifier.patch     |  32 -
 ...ix-volatile-qualifier-exposed-incorrectly.patch |  29 +
 .../0001-utilBacktrace-Ignore-Warray-bounds.patch  |  33 -
 .../0002-add-include-sys-sysmacros.h.patch         |  30 -
 ...erLinux-Consider-64bit-time_t-possibility.patch |  42 +-
 ...re-to-test-for-feature-instead-of-platfor.patch |  24 +-
 .../0009-Rename-poll.h-to-vm_poll.h.patch          | 726 ++-------------------
 .../0011-Use-uintmax_t-for-handling-rlim_t.patch   |  25 +-
 .../open-vm-tools/open-vm-tools_11.0.1.bb          | 116 ----
 .../open-vm-tools/open-vm-tools_11.2.5.bb          | 120 ++++
 .../recipes-support/spice/usbredir_0.8.0.bb        |  20 -
 .../recipes-support/spice/usbredir_0.9.0.bb        |  20 +
 .../stunnel/stunnel/fix-openssl-no-des.patch       |  10 +-
 .../recipes-support/stunnel/stunnel_5.58.bb        |  36 -
 .../recipes-support/stunnel/stunnel_5.59.bb        |  36 +
 .../recipes-support/vnstat/vnstat_2.6.bb           |   2 +
 .../lib/oeqa/selftest/cases/meta_oe_sources.py     |   1 +
 .../hostapd/hostapd/CVE-2021-0326.patch            |  43 ++
 .../hostapd/hostapd/CVE-2021-27803.patch           |  54 ++
 .../hostapd/hostapd/CVE-2021-30004.patch           | 123 ++++
 .../recipes-connectivity/hostapd/hostapd_2.9.bb    |   3 +
 .../recipes-connectivity/libqmi/libqmi_1.26.6.bb   |  21 -
 .../recipes-connectivity/libqmi/libqmi_1.28.2.bb   |  21 +
 .../modemmanager/modemmanager_1.14.10.bb           |  53 --
 .../modemmanager/modemmanager_1.16.2.bb            |  53 ++
 .../0001-Include-limits.h-for-PATH_MAX.patch       |  25 -
 .../phonet-utils/phonet-utils_git.bb               |  15 -
 .../rabbitmq-c/rabbitmq-c_0.10.0.bb                |  19 -
 .../rabbitmq-c/rabbitmq-c_0.11.0.bb                |  19 +
 .../telepathy/telepathy-glib_0.24.1.bb             |   4 +-
 .../recipes-connectivity/zabbix/zabbix_5.2.5.bb    |  79 ---
 .../recipes-connectivity/zabbix/zabbix_5.2.6.bb    |  79 +++
 .../meta-oe/recipes-core/opencl/ocl-icd_2.3.0.bb   |  18 +
 .../meta-oe/recipes-core/opencl/ocl-icd_git.bb     |  19 -
 .../packagegroups/packagegroup-meta-oe.bb          | 210 +++---
 .../recipes-dbs/mysql/mariadb-native_10.5.8.bb     |  20 -
 .../recipes-dbs/mysql/mariadb-native_10.5.9.bb     |  20 +
 .../meta-oe/recipes-dbs/mysql/mariadb.inc          |   5 +-
 ...x-Check-if-syscall-exists-before-using-it.patch |  43 ++
 ...-stacktrace-t.c-make-the-test-conditional.patch |  38 --
 .../recipes-dbs/mysql/mariadb/c11_atomics.patch    |  16 +-
 .../recipes-dbs/mysql/mariadb/sys_futex.patch      |  22 +
 .../meta-oe/recipes-dbs/mysql/mariadb_10.5.8.bb    |  27 -
 .../meta-oe/recipes-dbs/mysql/mariadb_10.5.9.bb    |  27 +
 .../android-tools/android-tools_5.1.1.r37.bb       |   4 +-
 ...upport-to-override-usr-sbin-and-usr-share.patch |  41 ++
 ...002-support-to-override-usr-bin-arch-test.patch |  47 ++
 .../debootstrap/debootstrap/devices.tar.gz         | Bin 767 -> 0 bytes
 .../debootstrap/debootstrap_1.0.123.bb             |  23 +
 .../debootstrap/debootstrap_1.0.67.bb              |  35 -
 .../doxygen/0001-build-don-t-look-for-Iconv.patch  |   9 +-
 .../doxygen-native-only-check-python3.patch        | 116 ++--
 .../recipes-devtools/doxygen/doxygen_1.8.20.bb     |  18 -
 .../recipes-devtools/doxygen/doxygen_1.9.1.bb      |  17 +
 ...-Fix-error-on-aarch64-with-binutils2.35.1.patch |  27 +
 .../recipes-devtools/uftrace/uftrace_0.9.4.bb      |   1 +
 .../recipes-extended/ostree/ostree_2020.8.bb       | 189 ------
 .../recipes-extended/ostree/ostree_2021.1.bb       | 189 ++++++
 .../0006-Define-correct-gregs-for-RISCV32.patch    |  59 ++
 .../recipes-extended/redis/redis/ilp32.patch       |  29 -
 ...Makefile-to-use-environment-build-setting.patch |  66 +-
 .../redis/redis/oe-use-libc-malloc.patch           |  12 +-
 .../recipes-extended/redis/redis/riscv32.patch     |  47 --
 .../meta-oe/recipes-extended/redis/redis_6.0.9.bb  |  67 --
 .../meta-oe/recipes-extended/redis/redis_6.2.1.bb  |  66 ++
 .../0001-tests-disable-the-check-for-inotify.patch |  46 ++
 .../recipes-extended/rsyslog/rsyslog/run-ptest     |   6 +-
 .../recipes-extended/rsyslog/rsyslog_8.2102.0.bb   |  15 +-
 .../uml-utilities/uml-utilities_20040406.bb        |   5 +-
 .../meta-oe/recipes-graphics/fbgrab/fbgrab_1.4.bb  |  16 -
 .../meta-oe/recipes-graphics/fbgrab/fbgrab_1.5.bb  |  16 +
 .../libyui/libyui-ncurses_4.0.0.bb                 |  49 --
 .../libyui/libyui-ncurses_4.1.1.bb                 |  48 ++
 .../recipes-graphics/libyui/libyui_4.0.0.bb        |  36 -
 .../recipes-graphics/libyui/libyui_4.1.1.bb        |  36 +
 .../0001-Add-configure-time-check-for-setsid.patch |  10 +-
 .../meta-oe/recipes-graphics/xorg-app/xterm_366.bb |  48 --
 .../meta-oe/recipes-graphics/xorg-app/xterm_367.bb |  48 ++
 .../recipes-graphics/xorg-lib/libxaw_1.0.13.bb     |  28 -
 .../recipes-graphics/xorg-lib/libxaw_1.0.14.bb     |  27 +
 .../recipes-multimedia/live555/live555_20210322.bb |  62 --
 .../recipes-multimedia/live555/live555_20210406.bb |  62 ++
 ...busexport.c-Fix-broken-d-bus-message-time.patch |  36 +
 .../meta-oe/recipes-navigation/gpsd/gpsd_3.20.bb   |   1 +
 .../meta-oe/recipes-support/emacs/emacs_27.1.bb    | 262 --------
 .../meta-oe/recipes-support/emacs/emacs_27.2.bb    | 262 ++++++++
 .../meta-oe/recipes-support/hwdata/hwdata_git.bb   |   4 +-
 .../recipes-support/libcppkafka/libcppkafka_git.bb |  22 +
 .../recipes-support/libmanette/libmanette_0.2.6.bb |  16 +
 .../librdkafka/0001_fix_absolute_path_usage.patch  |  83 +++
 .../recipes-support/librdkafka/librdkafka_1.6.1.bb |  23 +
 .../meta-oe/recipes-support/libsmi/libsmi_0.5.0.bb |   2 +-
 ...-Fix-building-opencv-using-gcc-11.x-19244.patch |  28 -
 .../opencv/0001-sfm-link-with-Glog_LIBS.patch      |  44 ++
 .../meta-oe/recipes-support/opencv/opencv_4.5.1.bb | 224 -------
 .../meta-oe/recipes-support/opencv/opencv_4.5.2.bb | 228 +++++++
 .../0001-Migrate-to-use-g_memdup2.patch            | 192 ++++++
 .../recipes-support/pidgin/pidgin-sipe_1.25.0.bb   |   1 +
 ...configure.ac-fix-build-with-autoconf-2.71.patch | 229 -------
 ...c-disable-few-languages-not-compatible-wi.patch |  49 --
 .../recipes-support/pidgin/pidgin_2.14.1.bb        | 112 ----
 .../recipes-support/pidgin/pidgin_2.14.2.bb        | 110 ++++
 .../recipes-support/poppler/poppler_21.03.0.bb     |  51 --
 .../recipes-support/poppler/poppler_21.04.0.bb     |  51 ++
 ...01-CMakeLists.txt-exclude-riscv64-riscv32.patch |  42 ++
 .../0001-Disable-use-of-_tpause-instruction.patch  |  34 +
 ...mallinfo-is-glibc-specific-API-mark-it-so.patch |  27 +-
 .../tbb/GLIBC-PREREQ-is-not-defined-on-musl.patch  |  22 +-
 .../recipes-support/tbb/tbb/cross-compile.patch    |  35 -
 .../tbb/tbb/improve-reproducibility.patch          |  30 -
 .../meta-oe/recipes-support/tbb/tbb/tbb.pc         |  11 -
 .../meta-oe/recipes-support/tbb/tbb_2020.3.bb      |  46 --
 .../meta-oe/recipes-support/tbb/tbb_2021.2.0.bb    |  45 ++
 .../meta-oe/recipes-test/bats/bats_1.1.0.bb        |  21 -
 .../meta-oe/recipes-test/bats/bats_1.3.0.bb        |  25 +
 ...01-Add-correct-printf-qualifier-for-off_t.patch |  20 +-
 ...e-poll.h-instead-of-deprecated-sys-poll.h.patch |  46 --
 .../fwts/fwts/0001-Remove-Werror-from-build.patch  |  46 --
 ...efine-__SWORD_TYPE-if-not-defined-by-libc.patch |  31 -
 ...e-poll.h-instead-of-deprecated-sys-poll.h.patch |  48 ++
 .../fwts/fwts/0003-Remove-Werror-from-build.patch  |  54 ++
 .../fwts/fwts/0003-Undefine-PAGE_SIZE.patch        |  28 -
 ...ntptr_t-to-fix-pointer-to-int-cast-issues.patch |  74 ---
 ...efine-__SWORD_TYPE-if-not-defined-by-libc.patch |  33 +
 .../fwts/fwts/0005-Undefine-PAGE_SIZE.patch        |  30 +
 ...ntptr_t-to-fix-pointer-to-int-cast-issues.patch |  67 ++
 .../meta-oe/recipes-test/fwts/fwts_20.07.00.bb     |  32 -
 .../meta-oe/recipes-test/fwts/fwts_21.03.00.bb     |  32 +
 .../recipes-perl/libnet/libnet-ssleay-perl_1.85.bb |   1 +
 .../recipes-devtools/python/python3-absl_0.10.0.bb |  14 -
 .../recipes-devtools/python/python3-absl_0.12.0.bb |  14 +
 .../python/python3-aiohttp_3.7.4.bb                |  23 -
 .../python/python3-aiohttp_3.7.4.post0.bb          |  23 +
 .../python/python3-astroid_2.5.2.bb                |  32 -
 .../python/python3-astroid_2.5.3.bb                |  32 +
 .../python3-backports-functools-lru-cache_1.6.3.bb |  31 -
 .../python3-backports-functools-lru-cache_1.6.4.bb |  31 +
 .../python/python3-bitarray_1.8.1.bb               |  10 -
 .../python/python3-bitarray_1.9.2.bb               |  10 +
 .../python/python3-cerberus_1.3.2.bb               |  11 -
 .../python/python3-cerberus_1.3.3.bb               |  11 +
 .../python/python3-cheetah_3.2.6.bb                |  14 -
 .../python/python3-cheetah_3.2.6.post1.bb          |  14 +
 .../python/python3-colorlog_4.8.0.bb               |  10 -
 .../python/python3-colorlog_5.0.1.bb               |  10 +
 .../python/python3-contextlib2_0.6.0.bb            |  12 -
 .../python/python3-contextlib2_0.6.0.post1.bb      |  11 +
 .../python/python3-croniter_1.0.10.bb              |  12 -
 .../python/python3-croniter_1.0.12.bb              |  12 +
 .../python/python3-decorator_4.4.2.bb              |  19 -
 .../python/python3-decorator_5.0.7.bb              |  18 +
 .../python/python3-django_3.1.7.bb                 |  13 -
 .../recipes-devtools/python/python3-django_3.2.bb  |  13 +
 .../python/python3-docutils_0.16.bb                |  10 -
 .../python/python3-docutils_0.17.bb                |   9 +
 .../python3-google-api-python-client_2.0.2.bb      |   9 -
 .../python3-google-api-python-client_2.2.0.bb      |   9 +
 .../python/python3-grpcio-tools_1.36.1.bb          |  22 -
 .../python/python3-grpcio-tools_1.37.0.bb          |  22 +
 .../python/python3-grpcio/boring_ssl.patch         |  50 +-
 .../python/python3-grpcio_1.36.1.bb                |  49 --
 .../python/python3-grpcio_1.37.0.bb                |  49 ++
 .../0001-setup.py-Fix-numpy-version.patch          |   8 +-
 .../0001-setup_build.py-avoid-absolute-path.patch  |   4 +-
 .../recipes-devtools/python/python3-h5py_3.1.0.bb  |  30 -
 .../recipes-devtools/python/python3-h5py_3.2.1.bb  |  31 +
 .../python/python3-httplib2_0.19.0.bb              |   9 -
 .../python/python3-httplib2_0.19.1.bb              |   9 +
 .../python/python3-humanize_3.3.0.bb               |  19 -
 .../python/python3-humanize_3.4.1.bb               |  20 +
 .../python/python3-matplotlib_3.3.4.bb             |  51 --
 .../python/python3-matplotlib_3.4.1.bb             |  50 ++
 .../python/python3-monotonic_1.5.bb                |   9 -
 .../python/python3-monotonic_1.6.bb                |  13 +
 .../python/python3-networkx_2.5.1.bb               |  12 +
 .../python/python3-networkx_2.5.bb                 |  13 -
 .../python/python3-pandas_1.2.3.bb                 |  24 -
 .../python/python3-pandas_1.2.4.bb                 |  24 +
 .../recipes-devtools/python/python3-parso_0.8.1.bb |  11 -
 .../recipes-devtools/python/python3-parso_0.8.2.bb |  11 +
 .../python/python3-pillow_8.1.2.bb                 |  37 --
 .../python/python3-pillow_8.2.0.bb                 |  37 ++
 .../python/python3-pychromecast_9.1.1.bb           |  10 -
 .../python/python3-pychromecast_9.1.2.bb           |  10 +
 .../python/python3-pymisp_2.4.140.bb               |  22 -
 .../python/python3-pymisp_2.4.141.1.bb             |  22 +
 .../python/python3-pyroute2_0.5.15.bb              |  36 -
 .../python/python3-pyroute2_0.5.18.bb              |  36 +
 .../python/python3-pysonos_0.0.40.bb               |  15 -
 .../python/python3-pysonos_0.0.42.bb               |  15 +
 .../python/python3-python-vlc_3.0.11115.bb         |   9 -
 .../python/python3-python-vlc_3.0.12117.bb         |   8 +
 .../python/python3-regex_2021.3.17.bb              |  10 -
 .../python/python3-regex_2021.4.4.bb               |  10 +
 .../python/python3-robotframework_4.0.1.bb         |  27 +
 .../python/python3-robotframework_4.0.bb           |  27 -
 .../python/python3-ruamel-yaml_0.17.2.bb           |  19 -
 .../python/python3-ruamel-yaml_0.17.4.bb           |  19 +
 .../python/python3-speedtest-cli_2.1.2.bb          |  11 -
 .../python/python3-speedtest-cli_2.1.3.bb          |  10 +
 .../python/python3-sqlalchemy_1.4.3.bb             |  19 -
 .../python/python3-sqlalchemy_1.4.7.bb             |  19 +
 .../recipes-devtools/python/python3-sympy_1.7.1.bb |  15 -
 .../recipes-devtools/python/python3-sympy_1.8.bb   |  15 +
 .../recipes-devtools/python/python3-tqdm_4.58.0.bb |  14 -
 .../recipes-devtools/python/python3-tqdm_4.60.0.bb |  14 +
 .../python/python3-transitions_0.8.7.bb            |   9 -
 .../python/python3-transitions_0.8.8.bb            |   9 +
 .../python/python3-typed-ast_1.4.2.bb              |  12 -
 .../python/python3-typed-ast_1.4.3.bb              |  12 +
 .../python/python3-typeguard_2.11.1.bb             |  30 -
 .../python/python3-typeguard_2.12.0.bb             |  30 +
 .../python/python3-xlsxwriter_1.3.7.bb             |  14 -
 .../python/python3-xlsxwriter_1.3.8.bb             |  13 +
 .../python/python3-xmlschema_1.5.3.bb              |  19 -
 .../python/python3-xmlschema_1.6.1.bb              |  19 +
 .../recipes-apps/catfish/catfish_4.16.0.bb         |   2 +-
 .../meta-xfce/recipes-apps/gigolo/gigolo_0.5.1.bb  |  11 -
 .../meta-xfce/recipes-apps/gigolo/gigolo_0.5.2.bb  |  10 +
 .../recipes-apps/mousepad/mousepad_0.5.3.bb        |  16 -
 .../recipes-apps/mousepad/mousepad_0.5.4.bb        |  16 +
 .../recipes-core/images/core-image-minimal-xfce.bb |   2 +
 .../battery/xfce4-battery-plugin_1.1.3.bb          |   9 -
 .../battery/xfce4-battery-plugin_1.1.4.bb          |   8 +
 .../meta-xfce/recipes-xfce/thunar/thunar_4.16.4.bb |  28 -
 .../meta-xfce/recipes-xfce/thunar/thunar_4.16.6.bb |  28 +
 258 files changed, 5363 insertions(+), 5691 deletions(-)
 create mode 100644 meta-openembedded/meta-gnome/recipes-gnome/gjs/gjs/0001-maint-Avoid-g_once_init_enter-error-in-GCC-11.patch
 delete mode 100644 meta-openembedded/meta-gnome/recipes-gnome/gnome-autoar/gnome-autoar_0.2.4.bb
 create mode 100644 meta-openembedded/meta-gnome/recipes-gnome/gnome-autoar/gnome-autoar_0.3.1.bb
 delete mode 100644 meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/0001-rlm_python3-add-PY_INC_DIR-in-search-dir.patch
 delete mode 100644 meta-openembedded/meta-networking/recipes-connectivity/freeradius/freeradius_3.0.20.bb
 create mode 100644 meta-openembedded/meta-networking/recipes-connectivity/freeradius/freeradius_3.0.21.bb
 create mode 100644 meta-openembedded/meta-networking/recipes-connectivity/mosquitto/mosquitto_2.0.10.bb
 delete mode 100644 meta-openembedded/meta-networking/recipes-connectivity/mosquitto/mosquitto_2.0.9.bb
 delete mode 100644 meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager-openvpn_1.8.12.bb
 create mode 100644 meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager-openvpn_1.8.14.bb
 delete mode 100644 meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0004-fix_reallocarray_check.patch
 create mode 100644 meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0002-Fix-build-with-musl-systemd-specific.patch
 delete mode 100644 meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0002-Fix-build-with-musl.patch
 delete mode 100644 meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0003-Fix-build-with-musl-systemd-specific.patch
 delete mode 100644 meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.28.0.bb
 create mode 100644 meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.30.2.bb
 create mode 100644 meta-openembedded/meta-networking/recipes-connectivity/snort/snort_2.9.17.1.bb
 delete mode 100644 meta-openembedded/meta-networking/recipes-connectivity/snort/snort_2.9.17.bb
 delete mode 100644 meta-openembedded/meta-networking/recipes-daemons/lldpd/lldpd_1.0.4.bb
 create mode 100644 meta-openembedded/meta-networking/recipes-daemons/lldpd/lldpd_1.0.8.bb
 delete mode 100644 meta-openembedded/meta-networking/recipes-support/fetchmail/fetchmail_6.4.17.bb
 create mode 100644 meta-openembedded/meta-networking/recipes-support/fetchmail/fetchmail_6.4.18.bb
 delete mode 100644 meta-openembedded/meta-networking/recipes-support/nbdkit/nbdkit_1.25.4.bb
 create mode 100644 meta-openembedded/meta-networking/recipes-support/nbdkit/nbdkit_1.25.5.bb
 create mode 100644 meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-Add-resolv_compat.h-for-musl-builds.patch
 delete mode 100644 meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-GitHub-Issue-367.-Remove-references-to-deprecated-G_.patch
 delete mode 100644 meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-pollGtk-Drop-volatile-qualifier.patch
 create mode 100644 meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-pollGtk-Fix-volatile-qualifier-exposed-incorrectly.patch
 delete mode 100644 meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-utilBacktrace-Ignore-Warray-bounds.patch
 delete mode 100644 meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0002-add-include-sys-sysmacros.h.patch
 delete mode 100644 meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools_11.0.1.bb
 create mode 100644 meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools_11.2.5.bb
 delete mode 100644 meta-openembedded/meta-networking/recipes-support/spice/usbredir_0.8.0.bb
 create mode 100644 meta-openembedded/meta-networking/recipes-support/spice/usbredir_0.9.0.bb
 delete mode 100644 meta-openembedded/meta-networking/recipes-support/stunnel/stunnel_5.58.bb
 create mode 100644 meta-openembedded/meta-networking/recipes-support/stunnel/stunnel_5.59.bb
 create mode 100644 meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/CVE-2021-0326.patch
 create mode 100644 meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/CVE-2021-27803.patch
 create mode 100644 meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/CVE-2021-30004.patch
 delete mode 100644 meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.26.6.bb
 create mode 100644 meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.28.2.bb
 delete mode 100644 meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.14.10.bb
 create mode 100644 meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.16.2.bb
 delete mode 100644 meta-openembedded/meta-oe/recipes-connectivity/phonet-utils/phonet-utils/0001-Include-limits.h-for-PATH_MAX.patch
 delete mode 100644 meta-openembedded/meta-oe/recipes-connectivity/phonet-utils/phonet-utils_git.bb
 delete mode 100644 meta-openembedded/meta-oe/recipes-connectivity/rabbitmq-c/rabbitmq-c_0.10.0.bb
 create mode 100644 meta-openembedded/meta-oe/recipes-connectivity/rabbitmq-c/rabbitmq-c_0.11.0.bb
 delete mode 100644 meta-openembedded/meta-oe/recipes-connectivity/zabbix/zabbix_5.2.5.bb
 create mode 100644 meta-openembedded/meta-oe/recipes-connectivity/zabbix/zabbix_5.2.6.bb
 create mode 100644 meta-openembedded/meta-oe/recipes-core/opencl/ocl-icd_2.3.0.bb
 delete mode 100644 meta-openembedded/meta-oe/recipes-core/opencl/ocl-icd_git.bb
 delete mode 100644 meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.5.8.bb
 create mode 100644 meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.5.9.bb
 create mode 100644 meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/0001-aio_linux-Check-if-syscall-exists-before-using-it.patch
 delete mode 100644 meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/0001-stacktrace-t.c-make-the-test-conditional.patch
 create mode 100644 meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/sys_futex.patch
 delete mode 100644 meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_10.5.8.bb
 create mode 100644 meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_10.5.9.bb
 create mode 100644 meta-openembedded/meta-oe/recipes-devtools/debootstrap/debootstrap/0001-support-to-override-usr-sbin-and-usr-share.patch
 create mode 100644 meta-openembedded/meta-oe/recipes-devtools/debootstrap/debootstrap/0002-support-to-override-usr-bin-arch-test.patch
 delete mode 100644 meta-openembedded/meta-oe/recipes-devtools/debootstrap/debootstrap/devices.tar.gz
 create mode 100644 meta-openembedded/meta-oe/recipes-devtools/debootstrap/debootstrap_1.0.123.bb
 delete mode 100644 meta-openembedded/meta-oe/recipes-devtools/debootstrap/debootstrap_1.0.67.bb
 delete mode 100644 meta-openembedded/meta-oe/recipes-devtools/doxygen/doxygen_1.8.20.bb
 create mode 100644 meta-openembedded/meta-oe/recipes-devtools/doxygen/doxygen_1.9.1.bb
 create mode 100644 meta-openembedded/meta-oe/recipes-devtools/uftrace/uftrace/0001-Fix-error-on-aarch64-with-binutils2.35.1.patch
 delete mode 100644 meta-openembedded/meta-oe/recipes-extended/ostree/ostree_2020.8.bb
 create mode 100644 meta-openembedded/meta-oe/recipes-extended/ostree/ostree_2021.1.bb
 create mode 100644 meta-openembedded/meta-oe/recipes-extended/redis/redis/0006-Define-correct-gregs-for-RISCV32.patch
 delete mode 100644 meta-openembedded/meta-oe/recipes-extended/redis/redis/ilp32.patch
 delete mode 100644 meta-openembedded/meta-oe/recipes-extended/redis/redis/riscv32.patch
 delete mode 100644 meta-openembedded/meta-oe/recipes-extended/redis/redis_6.0.9.bb
 create mode 100644 meta-openembedded/meta-oe/recipes-extended/redis/redis_6.2.1.bb
 create mode 100644 meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog/0001-tests-disable-the-check-for-inotify.patch
 delete mode 100644 meta-openembedded/meta-oe/recipes-graphics/fbgrab/fbgrab_1.4.bb
 create mode 100644 meta-openembedded/meta-oe/recipes-graphics/fbgrab/fbgrab_1.5.bb
 delete mode 100644 meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses_4.0.0.bb
 create mode 100644 meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses_4.1.1.bb
 delete mode 100644 meta-openembedded/meta-oe/recipes-graphics/libyui/libyui_4.0.0.bb
 create mode 100644 meta-openembedded/meta-oe/recipes-graphics/libyui/libyui_4.1.1.bb
 delete mode 100644 meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_366.bb
 create mode 100644 meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_367.bb
 delete mode 100644 meta-openembedded/meta-oe/recipes-graphics/xorg-lib/libxaw_1.0.13.bb
 create mode 100644 meta-openembedded/meta-oe/recipes-graphics/xorg-lib/libxaw_1.0.14.bb
 delete mode 100644 meta-openembedded/meta-oe/recipes-multimedia/live555/live555_20210322.bb
 create mode 100644 meta-openembedded/meta-oe/recipes-multimedia/live555/live555_20210406.bb
 create mode 100644 meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd/0001-gpsd-dbusexport.c-Fix-broken-d-bus-message-time.patch
 delete mode 100644 meta-openembedded/meta-oe/recipes-support/emacs/emacs_27.1.bb
 create mode 100644 meta-openembedded/meta-oe/recipes-support/emacs/emacs_27.2.bb
 create mode 100644 meta-openembedded/meta-oe/recipes-support/libcppkafka/libcppkafka_git.bb
 create mode 100644 meta-openembedded/meta-oe/recipes-support/libmanette/libmanette_0.2.6.bb
 create mode 100644 meta-openembedded/meta-oe/recipes-support/librdkafka/librdkafka/0001_fix_absolute_path_usage.patch
 create mode 100644 meta-openembedded/meta-oe/recipes-support/librdkafka/librdkafka_1.6.1.bb
 delete mode 100644 meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-Fix-building-opencv-using-gcc-11.x-19244.patch
 create mode 100644 meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-sfm-link-with-Glog_LIBS.patch
 delete mode 100644 meta-openembedded/meta-oe/recipes-support/opencv/opencv_4.5.1.bb
 create mode 100644 meta-openembedded/meta-oe/recipes-support/opencv/opencv_4.5.2.bb
 create mode 100644 meta-openembedded/meta-oe/recipes-support/pidgin/pidgin-sipe/0001-Migrate-to-use-g_memdup2.patch
 delete mode 100644 meta-openembedded/meta-oe/recipes-support/pidgin/pidgin/0001-configure.ac-fix-build-with-autoconf-2.71.patch
 delete mode 100644 meta-openembedded/meta-oe/recipes-support/pidgin/pidgin/0002-configure.ac-disable-few-languages-not-compatible-wi.patch
 delete mode 100644 meta-openembedded/meta-oe/recipes-support/pidgin/pidgin_2.14.1.bb
 create mode 100644 meta-openembedded/meta-oe/recipes-support/pidgin/pidgin_2.14.2.bb
 delete mode 100644 meta-openembedded/meta-oe/recipes-support/poppler/poppler_21.03.0.bb
 create mode 100644 meta-openembedded/meta-oe/recipes-support/poppler/poppler_21.04.0.bb
 create mode 100644 meta-openembedded/meta-oe/recipes-support/tbb/tbb/0001-CMakeLists.txt-exclude-riscv64-riscv32.patch
 create mode 100644 meta-openembedded/meta-oe/recipes-support/tbb/tbb/0001-Disable-use-of-_tpause-instruction.patch
 delete mode 100644 meta-openembedded/meta-oe/recipes-support/tbb/tbb/cross-compile.patch
 delete mode 100644 meta-openembedded/meta-oe/recipes-support/tbb/tbb/improve-reproducibility.patch
 delete mode 100644 meta-openembedded/meta-oe/recipes-support/tbb/tbb/tbb.pc
 delete mode 100644 meta-openembedded/meta-oe/recipes-support/tbb/tbb_2020.3.bb
 create mode 100644 meta-openembedded/meta-oe/recipes-support/tbb/tbb_2021.2.0.bb
 delete mode 100644 meta-openembedded/meta-oe/recipes-test/bats/bats_1.1.0.bb
 create mode 100644 meta-openembedded/meta-oe/recipes-test/bats/bats_1.3.0.bb
 delete mode 100644 meta-openembedded/meta-oe/recipes-test/fwts/fwts/0001-Include-poll.h-instead-of-deprecated-sys-poll.h.patch
 delete mode 100644 meta-openembedded/meta-oe/recipes-test/fwts/fwts/0001-Remove-Werror-from-build.patch
 delete mode 100644 meta-openembedded/meta-oe/recipes-test/fwts/fwts/0002-Define-__SWORD_TYPE-if-not-defined-by-libc.patch
 create mode 100644 meta-openembedded/meta-oe/recipes-test/fwts/fwts/0002-Include-poll.h-instead-of-deprecated-sys-poll.h.patch
 create mode 100644 meta-openembedded/meta-oe/recipes-test/fwts/fwts/0003-Remove-Werror-from-build.patch
 delete mode 100644 meta-openembedded/meta-oe/recipes-test/fwts/fwts/0003-Undefine-PAGE_SIZE.patch
 delete mode 100644 meta-openembedded/meta-oe/recipes-test/fwts/fwts/0003-use-intptr_t-to-fix-pointer-to-int-cast-issues.patch
 create mode 100644 meta-openembedded/meta-oe/recipes-test/fwts/fwts/0004-Define-__SWORD_TYPE-if-not-defined-by-libc.patch
 create mode 100644 meta-openembedded/meta-oe/recipes-test/fwts/fwts/0005-Undefine-PAGE_SIZE.patch
 create mode 100644 meta-openembedded/meta-oe/recipes-test/fwts/fwts/0006-use-intptr_t-to-fix-pointer-to-int-cast-issues.patch
 delete mode 100644 meta-openembedded/meta-oe/recipes-test/fwts/fwts_20.07.00.bb
 create mode 100644 meta-openembedded/meta-oe/recipes-test/fwts/fwts_21.03.00.bb
 delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-absl_0.10.0.bb
 create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-absl_0.12.0.bb
 delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-aiohttp_3.7.4.bb
 create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-aiohttp_3.7.4.post0.bb
 delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_2.5.2.bb
 create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_2.5.3.bb
 delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-backports-functools-lru-cache_1.6.3.bb
 create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-backports-functools-lru-cache_1.6.4.bb
 delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_1.8.1.bb
 create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_1.9.2.bb
 delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-cerberus_1.3.2.bb
 create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-cerberus_1.3.3.bb
 delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-cheetah_3.2.6.bb
 create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-cheetah_3.2.6.post1.bb
 delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-colorlog_4.8.0.bb
 create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-colorlog_5.0.1.bb
 delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-contextlib2_0.6.0.bb
 create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-contextlib2_0.6.0.post1.bb
 delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-croniter_1.0.10.bb
 create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-croniter_1.0.12.bb
 delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-decorator_4.4.2.bb
 create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-decorator_5.0.7.bb
 delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-django_3.1.7.bb
 create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-django_3.2.bb
 delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-docutils_0.16.bb
 create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-docutils_0.17.bb
 delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.0.2.bb
 create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.2.0.bb
 delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio-tools_1.36.1.bb
 create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio-tools_1.37.0.bb
 delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio_1.36.1.bb
 create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio_1.37.0.bb
 delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-h5py_3.1.0.bb
 create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-h5py_3.2.1.bb
 delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-httplib2_0.19.0.bb
 create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-httplib2_0.19.1.bb
 delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-humanize_3.3.0.bb
 create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-humanize_3.4.1.bb
 delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-matplotlib_3.3.4.bb
 create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-matplotlib_3.4.1.bb
 delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-monotonic_1.5.bb
 create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-monotonic_1.6.bb
 create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-networkx_2.5.1.bb
 delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-networkx_2.5.bb
 delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pandas_1.2.3.bb
 create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pandas_1.2.4.bb
 delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-parso_0.8.1.bb
 create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-parso_0.8.2.bb
 delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pillow_8.1.2.bb
 create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pillow_8.2.0.bb
 delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pychromecast_9.1.1.bb
 create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pychromecast_9.1.2.bb
 delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.140.bb
 create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.141.1.bb
 delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pyroute2_0.5.15.bb
 create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pyroute2_0.5.18.bb
 delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pysonos_0.0.40.bb
 create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pysonos_0.0.42.bb
 delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-python-vlc_3.0.11115.bb
 create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-python-vlc_3.0.12117.bb
 delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-regex_2021.3.17.bb
 create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-regex_2021.4.4.bb
 create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-robotframework_4.0.1.bb
 delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-robotframework_4.0.bb
 delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-ruamel-yaml_0.17.2.bb
 create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-ruamel-yaml_0.17.4.bb
 delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-speedtest-cli_2.1.2.bb
 create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-speedtest-cli_2.1.3.bb
 delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_1.4.3.bb
 create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_1.4.7.bb
 delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-sympy_1.7.1.bb
 create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-sympy_1.8.bb
 delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-tqdm_4.58.0.bb
 create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-tqdm_4.60.0.bb
 delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-transitions_0.8.7.bb
 create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-transitions_0.8.8.bb
 delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-typed-ast_1.4.2.bb
 create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-typed-ast_1.4.3.bb
 delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-typeguard_2.11.1.bb
 create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-typeguard_2.12.0.bb
 delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-xlsxwriter_1.3.7.bb
 create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-xlsxwriter_1.3.8.bb
 delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-xmlschema_1.5.3.bb
 create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-xmlschema_1.6.1.bb
 delete mode 100644 meta-openembedded/meta-xfce/recipes-apps/gigolo/gigolo_0.5.1.bb
 create mode 100644 meta-openembedded/meta-xfce/recipes-apps/gigolo/gigolo_0.5.2.bb
 delete mode 100644 meta-openembedded/meta-xfce/recipes-apps/mousepad/mousepad_0.5.3.bb
 create mode 100644 meta-openembedded/meta-xfce/recipes-apps/mousepad/mousepad_0.5.4.bb
 delete mode 100644 meta-openembedded/meta-xfce/recipes-panel-plugins/battery/xfce4-battery-plugin_1.1.3.bb
 create mode 100644 meta-openembedded/meta-xfce/recipes-panel-plugins/battery/xfce4-battery-plugin_1.1.4.bb
 delete mode 100644 meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_4.16.4.bb
 create mode 100644 meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_4.16.6.bb

diff --git a/meta-openembedded/contrib/oe-stylize.py b/meta-openembedded/contrib/oe-stylize.py
index ba4b87a74..e1ba1b321 100755
--- a/meta-openembedded/contrib/oe-stylize.py
+++ b/meta-openembedded/contrib/oe-stylize.py
@@ -2,12 +2,12 @@
 
 """\
 Sanitize a bitbake file following the OpenEmbedded style guidelines,
-see http://openembedded.org/wiki/StyleGuide 
+see http://openembedded.org/wiki/StyleGuide
 
 (C) 2006 Cyril Romain 
 MIT license
 
-TODO: 
+TODO:
  - add the others OpenEmbedded variables commonly used:
  - parse command arguments and print usage on misuse
     . prevent giving more than one .bb file in arguments
@@ -19,7 +19,7 @@ TODO:
  - count rule breaks and displays them in the order frequence
 """
 
-from __future__ import print_function 
+from __future__ import print_function
 import fileinput
 import string
 import re
@@ -65,7 +65,7 @@ OE_vars = [
     'RSUGGESTS',
     'RPROVIDES',
     'RCONFLICTS',
-    'FILES',    
+    'FILES',
     'do_package',
     'do_stage',
     'addhandler',
@@ -215,81 +215,114 @@ routineRegexp = r'^([a-zA-Z0-9_ ${}-]+?)\('
 
 # Variables seen in the processed .bb
 seen_vars = {}
-for v in OE_vars: 
+for v in OE_vars:
     seen_vars[v] = []
 
-# _Format guideline #0_: 
-#   No spaces are allowed at the beginning of lines that define a variable or 
+# _Format guideline #0_:
+#   No spaces are allowed at the beginning of lines that define a variable or
 #   a do_ routine
-def respect_rule0(line): 
-    return line.lstrip()==line
-def conformTo_rule0(line): 
+
+
+def respect_rule0(line):
+    return line.lstrip() == line
+
+
+def conformTo_rule0(line):
     return line.lstrip()
 
-# _Format guideline #1_: 
+# _Format guideline #1_:
 #   No spaces are allowed behind the line continuation symbol '\'
+
+
 def respect_rule1(line):
     if line.rstrip().endswith('\\'):
         return line.endswith('\\')
-    else: 
+    else:
         return True
+
+
 def conformTo_rule1(line):
     return line.rstrip()
 
-# _Format guideline #2_: 
+# _Format guideline #2_:
 #   Tabs should not be used (use spaces instead).
+
+
 def respect_rule2(line):
-    return line.count('\t')==0
+    return line.count('\t') == 0
+
+
 def conformTo_rule2(line):
     return line.expandtabs()
 
 # _Format guideline #3_:
-#   Comments inside bb files are allowed using the '#' character at the 
+#   Comments inside bb files are allowed using the '#' character at the
 #   beginning of a line.
+
+
 def respect_rule3(line):
     if line.lstrip().startswith('#'):
         return line.startswith('#')
-    else: 
+    else:
         return True
+
+
 def conformTo_rule3(line):
     return line.lstrip()
 
 # _Format guideline #4_:
 #   Use quotes on the right hand side of assignments FOO = "BAR"
+
+
 def respect_rule4(line):
     r = re.search(varRegexp, line)
     if r is not None:
         r2 = re.search(r'("?)([^"\\]*)(["\\]?)', r.group(5))
         # do not test for None it because always match
-        return r2.group(1)=='"' and r2.group(3)!=''
+        return r2.group(1) == '"' and r2.group(3) != ''
     return False
+
+
 def conformTo_rule4(line):
     r = re.search(varRegexp, line)
     return ''.join([r.group(1), ' ', r.group(3), ' "', r.group(5), r.group(5).endswith('"') and '' or '"'])
 
 # _Format guideline #5_:
 #   The correct spacing for a variable is FOO = "BAR".
+
+
 def respect_rule5(line):
     r = re.search(varRegexp, line)
-    return r is not None and r.group(2)==" " and r.group(4)==" "
+    return r is not None and r.group(2) == " " and r.group(4) == " "
+
+
 def conformTo_rule5(line):
     r = re.search(varRegexp, line)
     return ''.join([r.group(1), ' ', r.group(3), ' ', r.group(5)])
 
 # _Format guideline #6_:
 #   Don't use spaces or tabs on empty lines
+
+
 def respect_rule6(line):
-    return not line.isspace() or line=="\n"
+    return not line.isspace() or line == "\n"
+
+
 def conformTo_rule6(line):
     return ""
 
 # _Format guideline #7_:
 #   Indentation of multiline variables such as SRC_URI is desireable.
+
+
 def respect_rule7(line):
     return True
+
+
 def conformTo_rule7(line):
     return line
 
+
 rules = (
     (respect_rule0, conformTo_rule0, "No spaces are allowed at the beginning of lines that define a variable or a do_ routine"),
     (respect_rule1, conformTo_rule1, "No spaces are allowed behind the line continuation symbol '\\'"),
@@ -303,6 +336,8 @@ rules = (
 
 # Function to check that a line respects a rule. If not, it tries to conform
 # the line to the rule. Reminder or Disgression message are dump accordingly.
+
+
 def follow_rule(i, line):
     oldline = line
     # if the line does not respect the rule
@@ -312,10 +347,10 @@ def follow_rule(i, line):
         # if the line still does not respect the rule
         if not rules[i][0](line):
             # this is a rule disgression
-            print ("## Disgression: ", rules[i][2], " in: '", oldline, "'")
+            print("## Disgression: ", rules[i][2], " in: '", oldline, "'")
         else:
             # just remind user about his/her errors
-            print ("## Reminder: ", rules[i][2], " in : '", oldline, "'")
+            print("## Reminder: ", rules[i][2], " in : '", oldline, "'")
     return line
 
 
@@ -329,8 +364,8 @@ if __name__ == "__main__":
         if True:
             lines.append(line)
         else:
-            # expandtabs on each line so that rule2 is always respected 
-            # rstrip each line so that rule1 is always respected 
+            # expandtabs on each line so that rule2 is always respected
+            # rstrip each line so that rule1 is always respected
             line = line.expandtabs().rstrip()
             # ignore empty lines (or line filled with spaces or tabs only)
             # so that rule6 is always respected
@@ -342,7 +377,7 @@ if __name__ == "__main__":
     in_routine = False
     commentBloc = []
     olines = []
-    for line in lines: 
+    for line in lines:
         originalLine = line
         # rstrip line to remove line breaks characters
         line = line.rstrip()
@@ -353,12 +388,13 @@ if __name__ == "__main__":
         # ignore empty lines
         if line.isspace() or line is '':
             # flush comments into the olines
-            for c in commentBloc: olines.append(c)
+            for c in commentBloc:
+                olines.append(c)
             commentBloc = []
             continue
 
-        if line.startswith('}'): 
-            in_routine=False
+        if line.startswith('}'):
+            in_routine = False
         keep = line.endswith('\\') or in_routine
 
         # handles commented lines
@@ -370,7 +406,8 @@ if __name__ == "__main__":
             continue
 
         if var in seen_vars:
-            for c in commentBloc: seen_vars[var].append(c)
+            for c in commentBloc:
+                seen_vars[var].append(c)
             commentBloc = []
             seen_vars[var].append(line)
         else:
@@ -378,8 +415,8 @@ if __name__ == "__main__":
                 if line.startswith(k):
                     var = k
                     break
-            if re.match(routineRegexp, line) is not None: 
-                in_routine=True
+            if re.match(routineRegexp, line) is not None:
+                in_routine = True
                 line = follow_rule(0, line)
             elif re.match(varRegexp, line) is not None:
                 line = follow_rule(0, line)
@@ -387,26 +424,30 @@ if __name__ == "__main__":
                 line = follow_rule(5, line)
             if var == "":
                 if not in_routine:
-                    print ("## Warning: unknown variable/routine \"%s\"" % originalLine.rstrip('\n'))
+                    print("## Warning: unknown variable/routine \"%s\"" % originalLine.rstrip('\n'))
                 var = 'others'
-            for c in commentBloc: seen_vars[var].append(c)
+            for c in commentBloc:
+                seen_vars[var].append(c)
             commentBloc = []
             seen_vars[var].append(line)
-        if not keep and not in_routine: var = ""
+        if not keep and not in_routine:
+            var = ""
 
     # -- dump the sanitized .bb file --
     addEmptyLine = False
     # write comments that are not related to variables nor routines
-    for l in commentBloc: olines.append(l)
+    for l in commentBloc:
+        olines.append(l)
     # write variables and routines
     previourVarPrefix = "unknown"
     for k in OE_vars:
-        if k=='SRC_URI': addEmptyLine = True
-        if seen_vars[k] != []: 
+        if k == 'SRC_URI':
+            addEmptyLine = True
+        if seen_vars[k] != []:
             if addEmptyLine and not k.startswith(previourVarPrefix):
                 olines.append("")
-            for l in seen_vars[k]: 
+            for l in seen_vars[k]:
                 olines.append(l)
-            previourVarPrefix = k.split('_')[0]=='' and "unknown" or k.split('_')[0]
-    for line in olines: print(line)
-
+            previourVarPrefix = k.split('_')[0] == '' and "unknown" or k.split('_')[0]
+    for line in olines:
+        print(line)
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gjs/gjs/0001-maint-Avoid-g_once_init_enter-error-in-GCC-11.patch b/meta-openembedded/meta-gnome/recipes-gnome/gjs/gjs/0001-maint-Avoid-g_once_init_enter-error-in-GCC-11.patch
new file mode 100644
index 000000000..6343a24a2
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gjs/gjs/0001-maint-Avoid-g_once_init_enter-error-in-GCC-11.patch
@@ -0,0 +1,77 @@
+From dae0055be61937fe70252f3f4ee09b355aba2b8f Mon Sep 17 00:00:00 2001
+From: Philip Chimento 
+Date: Sun, 14 Feb 2021 12:20:09 -0800
+Subject: [PATCH] maint: Avoid g_once_init_enter error in GCC 11
+
+On platforms where g_once_init_enter() is defined to use C11 atomic
+builtins, passing a pointer to a volatile value is an error in GCC 11 and
+later, in C++.
+
+More info about the GCC change:
+https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95378
+https://gcc.gnu.org/pipermail/gcc-patches/2020-June/548283.html
+
+However, it's my understanding that in modern C++ there is no longer a
+need to guard the initialization of these variables. Since C++11, static
+local variables in a function are guaranteed to be initialized only once,
+the first time control passes through that function. So we can just remove
+the g_once_init_enter guard.
+
+More info:
+https://en.cppreference.com/w/cpp/language/storage_duration#Static_local_variables
+
+Stack Overflow answers with quotations from the C++ standard:
+https://stackoverflow.com/a/58804/172999
+https://stackoverflow.com/a/8102145/172999
+
+Closes: #376
+---
+ gjs/error-types.cpp | 32 +++++++++++++-------------------
+ 1 file changed, 13 insertions(+), 19 deletions(-)
+
+Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/gjs/-/commit/f02eaf3a9d3465915eb849428c2d9615e2184a4c]
+diff --git a/gjs/error-types.cpp b/gjs/error-types.cpp
+index 86cb878..5eba61b 100644
+--- a/gjs/error-types.cpp
++++ b/gjs/error-types.cpp
+@@ -31,24 +31,18 @@ G_DEFINE_QUARK(gjs-js-error-quark, gjs_js_error)
+ // clang-format on
+ 
+ GType gjs_js_error_get_type(void) {
+-    static volatile GType g_type_id;
+-
+-    if (g_once_init_enter(&g_type_id)) {
+-        static GEnumValue errors[] = {
+-            { GJS_JS_ERROR_ERROR, "Error", "error" },
+-            { GJS_JS_ERROR_EVAL_ERROR, "EvalError", "eval-error" },
+-            { GJS_JS_ERROR_INTERNAL_ERROR, "InternalError", "internal-error" },
+-            { GJS_JS_ERROR_RANGE_ERROR, "RangeError", "range-error" },
+-            { GJS_JS_ERROR_REFERENCE_ERROR, "ReferenceError", "reference-error" },
+-            { GJS_JS_ERROR_STOP_ITERATION, "StopIteration", "stop-iteration" },
+-            { GJS_JS_ERROR_SYNTAX_ERROR, "SyntaxError", "syntax-error" },
+-            { GJS_JS_ERROR_TYPE_ERROR, "TypeError", "type-error" },
+-            { GJS_JS_ERROR_URI_ERROR, "URIError", "uri-error" },
+-            { 0, nullptr, nullptr }
+-        };
+-
+-        g_type_id = g_enum_register_static("GjsJSError", errors);
+-    }
+-
++    static const GEnumValue errors[] = {
++        {GJS_JS_ERROR_ERROR, "Error", "error"},
++        {GJS_JS_ERROR_EVAL_ERROR, "EvalError", "eval-error"},
++        {GJS_JS_ERROR_INTERNAL_ERROR, "InternalError", "internal-error"},
++        {GJS_JS_ERROR_RANGE_ERROR, "RangeError", "range-error"},
++        {GJS_JS_ERROR_REFERENCE_ERROR, "ReferenceError", "reference-error"},
++        {GJS_JS_ERROR_STOP_ITERATION, "StopIteration", "stop-iteration"},
++        {GJS_JS_ERROR_SYNTAX_ERROR, "SyntaxError", "syntax-error"},
++        {GJS_JS_ERROR_TYPE_ERROR, "TypeError", "type-error"},
++        {GJS_JS_ERROR_URI_ERROR, "URIError", "uri-error"},
++        {0, nullptr, nullptr}};
++    // Initialization of static local variable guaranteed only once in C++11
++    static GType g_type_id = g_enum_register_static("GjsJSError", errors);
+     return g_type_id;
+ }
+-- 
+2.31.1
+
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gjs/gjs_1.58.8.bb b/meta-openembedded/meta-gnome/recipes-gnome/gjs/gjs_1.58.8.bb
index dbb04ef8e..678ba9c4c 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gjs/gjs_1.58.8.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gjs/gjs_1.58.8.bb
@@ -12,7 +12,9 @@ DEPENDS = "mozjs gtk+3"
 inherit gnomebase gsettings gobject-introspection vala gettext features_check upstream-version-is-even
 
 SRC_URI[archive.sha256sum] = "7fb3eb746c17363d9ee47f4a5d0bb048f0075611763eb0da11d85e0e57aff381"
-SRC_URI += "file://0001-Disable-tests-on-host.patch"
+SRC_URI += "file://0001-Disable-tests-on-host.patch \
+            file://0001-maint-Avoid-g_once_init_enter-error-in-GCC-11.patch \
+"
 
 # gobject-introspection is mandatory and cannot be configured
 REQUIRED_DISTRO_FEATURES = "gobject-introspection-data"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-autoar/gnome-autoar_0.2.4.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-autoar/gnome-autoar_0.2.4.bb
deleted file mode 100644
index afeda3e93..000000000
--- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-autoar/gnome-autoar_0.2.4.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-SUMMARY = "GNOME archive library"
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
-
-DEPENDS = " \
-    gtk+3 \
-    libarchive \
-"
-
-inherit gnomebase gobject-introspection gtk-doc vala
-
-SRC_URI[archive.md5sum] = "36ab263f477eeee3c95c9381766eb3c2"
-SRC_URI[archive.sha256sum] = "0a34c377f8841abbf4c29bc848b301fbd8e4e20c03d7318c777c58432033657a"
-
-do_compile_prepend() {
-    export GIR_EXTRA_LIBS_PATH="${B}/gnome-autoar/.libs"
-}
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-autoar/gnome-autoar_0.3.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-autoar/gnome-autoar_0.3.1.bb
new file mode 100644
index 000000000..5e833a91a
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-autoar/gnome-autoar_0.3.1.bb
@@ -0,0 +1,17 @@
+SUMMARY = "GNOME archive library"
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
+
+DEPENDS = " \
+    gtk+3 \
+    libarchive \
+"
+
+inherit gnomebase gobject-introspection gtk-doc vala
+
+SRC_URI[archive.md5sum] = "3149496d0189623a8e1289bbab4d8385"
+SRC_URI[archive.sha256sum] = "0e78713e6f0de339fdee16bab82753ae290fe80fa7b4ba6e3db8c1465b81d0f8"
+
+do_compile_prepend() {
+    export GIR_EXTRA_LIBS_PATH="${B}/gnome-autoar/.libs"
+}
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth.inc b/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth.inc
index 74a2683ac..63ba54c34 100644
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth.inc
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth.inc
@@ -4,9 +4,9 @@ SECTION = "libs/multimedia"
 LICENSE = "LGPL-2.1"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=fc178bcd425090939a8b634d1d6a9594"
 
-SRC_URI = "git://github.com/FluidSynth/fluidsynth.git;branch=2.1.x"
-SRCREV = "e2d67ea77237046b703d537aec90620c22f7f629"
+SRC_URI = "git://github.com/FluidSynth/fluidsynth.git"
+SRCREV = "8413c35aca641567baf13e9b16e9839019ebf99d"
 S = "${WORKDIR}/git"
-PV = "2.1.7"
+PV = "2.2.0"
 
 inherit cmake pkgconfig lib_package
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth/0002-fluid_synth_nwrite_float-Allow-zero-pointer-for-left.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth/0002-fluid_synth_nwrite_float-Allow-zero-pointer-for-left.patch
index 94daa951c..f7debc5ad 100644
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth/0002-fluid_synth_nwrite_float-Allow-zero-pointer-for-left.patch
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth/0002-fluid_synth_nwrite_float-Allow-zero-pointer-for-left.patch
@@ -17,15 +17,15 @@ Upstream-Status: Submitted [1]
 
 Signed-off-by: Andreas Müller 
 ---
- src/synth/fluid_synth.c | 69 ++++++++++++++++++++++++++++++++++---------------
+ src/synth/fluid_synth.c | 69 ++++++++++++++++++++++++++++-------------
  1 file changed, 48 insertions(+), 21 deletions(-)
 
 diff --git a/src/synth/fluid_synth.c b/src/synth/fluid_synth.c
-index 0df620d3..379f8216 100644
+index 1eb5d737..6c876efa 100644
 --- a/src/synth/fluid_synth.c
 +++ b/src/synth/fluid_synth.c
-@@ -3306,10 +3306,10 @@ fluid_synth_program_reset(fluid_synth_t *synth)
-  * Synthesize a block of floating point audio to separate audio buffers (multichannel rendering). First effect channel used by reverb, second for chorus.
+@@ -3628,10 +3628,10 @@ fluid_synth_program_reset(fluid_synth_t *synth)
+  *
   * @param synth FluidSynth instance
   * @param len Count of audio frames to synthesize
 - * @param left Array of float buffers to store left channel of planar audio (as many as \c synth.audio-channels buffers, each of \c len in size)
@@ -38,8 +38,8 @@ index 0df620d3..379f8216 100644
 + * @param fx_right Since 1.1.7: If not \c NULL, array of float buffers to store right effect channels (size: dito). Since 2.0.3: NULL allowed for array entry
   * @return #FLUID_OK on success, #FLUID_FAILED otherwise
   *
-  * @note Should only be called from synthesis thread.
-@@ -3386,15 +3386,27 @@ fluid_synth_nwrite_float(fluid_synth_t *synth, int len,
+  * First effect channel used by reverb, second for chorus.
+@@ -3719,15 +3719,27 @@ fluid_synth_nwrite_float(fluid_synth_t *synth, int len,
          for(i = 0; i < synth->audio_channels; i++)
          {
  #ifdef WITH_FLOAT
@@ -71,7 +71,7 @@ index 0df620d3..379f8216 100644
              }
  
  #endif //WITH_FLOAT
-@@ -3404,12 +3416,12 @@ fluid_synth_nwrite_float(fluid_synth_t *synth, int len,
+@@ -3737,12 +3749,12 @@ fluid_synth_nwrite_float(fluid_synth_t *synth, int len,
          {
  #ifdef WITH_FLOAT
  
@@ -86,7 +86,7 @@ index 0df620d3..379f8216 100644
              {
                  FLUID_MEMCPY(fx_right[i], &fx_right_in[i * FLUID_BUFSIZE * FLUID_MIXER_MAX_BUFFERS_DEFAULT + synth->cur], bytes);
              }
-@@ -3417,7 +3429,7 @@ fluid_synth_nwrite_float(fluid_synth_t *synth, int len,
+@@ -3750,7 +3762,7 @@ fluid_synth_nwrite_float(fluid_synth_t *synth, int len,
  #else //WITH_FLOAT
              int j;
  
@@ -95,7 +95,7 @@ index 0df620d3..379f8216 100644
              {
                  for(j = 0; j < num; j++)
                  {
-@@ -3425,7 +3437,7 @@ fluid_synth_nwrite_float(fluid_synth_t *synth, int len,
+@@ -3758,7 +3770,7 @@ fluid_synth_nwrite_float(fluid_synth_t *synth, int len,
                  }
              }
  
@@ -104,7 +104,7 @@ index 0df620d3..379f8216 100644
              {
                  for(j = 0; j < num; j++)
                  {
-@@ -3456,15 +3468,30 @@ fluid_synth_nwrite_float(fluid_synth_t *synth, int len,
+@@ -3789,15 +3801,30 @@ fluid_synth_nwrite_float(fluid_synth_t *synth, int len,
          for(i = 0; i < synth->audio_channels; i++)
          {
  #ifdef WITH_FLOAT
@@ -140,7 +140,7 @@ index 0df620d3..379f8216 100644
              }
  
  #endif //WITH_FLOAT
-@@ -3474,12 +3501,12 @@ fluid_synth_nwrite_float(fluid_synth_t *synth, int len,
+@@ -3807,12 +3834,12 @@ fluid_synth_nwrite_float(fluid_synth_t *synth, int len,
          {
  #ifdef WITH_FLOAT
  
@@ -155,7 +155,7 @@ index 0df620d3..379f8216 100644
              {
                  FLUID_MEMCPY(fx_right[i] + count, &fx_right_in[i * FLUID_BUFSIZE * FLUID_MIXER_MAX_BUFFERS_DEFAULT], bytes);
              }
-@@ -3487,7 +3514,7 @@ fluid_synth_nwrite_float(fluid_synth_t *synth, int len,
+@@ -3820,7 +3847,7 @@ fluid_synth_nwrite_float(fluid_synth_t *synth, int len,
  #else //WITH_FLOAT
              int j;
  
@@ -164,7 +164,7 @@ index 0df620d3..379f8216 100644
              {
                  for(j = 0; j < num; j++)
                  {
-@@ -3495,7 +3522,7 @@ fluid_synth_nwrite_float(fluid_synth_t *synth, int len,
+@@ -3828,7 +3855,7 @@ fluid_synth_nwrite_float(fluid_synth_t *synth, int len,
                  }
              }
  
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/0001-rlm_python3-add-PY_INC_DIR-in-search-dir.patch b/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/0001-rlm_python3-add-PY_INC_DIR-in-search-dir.patch
deleted file mode 100644
index d63023162..000000000
--- a/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/0001-rlm_python3-add-PY_INC_DIR-in-search-dir.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-From 733330888fff49e4d2b6c2121a6050fdd9f11a87 Mon Sep 17 00:00:00 2001
-From: Yi Zhao 
-Date: Thu, 6 Feb 2020 09:32:04 +0800
-Subject: [PATCH] rlm_python3: add PY_INC_DIR in search dir
-
-The configure option --with-rlm-python3-include-dir is used to set
-PY_INC_DIR which is never used and it fails to find Python.h,
-so add it into search dir to fix it.
-
-Also remove SMART_LIBS from mod_flags because it introduces rpath
-to LDFALGS which causes a do_package_qa error:
-
-ERROR: freeradius-3.0.20-r0 do_package_qa: QA Issue: package freeradius-python contains bad RPATH
-/buildarea/build/tmp/work/core2-64-poky-linux/freeradius/3.0.20-r0/recipe-sysroot-native/usr/lib/python3.8/config in file
-/buildarea/build/tmp/work/core2-64-poky-linux/freeradius/3.0.20-r0/packages-split/freeradius-python/usr/lib/rlm_python3.so.0.0.0
-package freeradius-python contains bad RPATH
-/buildarea/build/tmp/work/core2-64-poky-linux/freeradius/3.0.20-r0/recipe-sysroot-native/usr/lib/python3.8/config in file
-/buildarea/build/tmp/work/core2-64-poky-linux/freeradius/3.0.20-r0/packages-split/freeradius-python/usr/lib/rlm_python3.so.0.0.0 [rpaths]
-
-Upstream-Status: Inappropriate [OE specific]
-
-Signed-off-by: Yi Zhao 
----
- src/modules/rlm_python3/configure.ac | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/src/modules/rlm_python3/configure.ac b/src/modules/rlm_python3/configure.ac
-index a00320f..adbdf19 100644
---- a/src/modules/rlm_python3/configure.ac
-+++ b/src/modules/rlm_python3/configure.ac
-@@ -95,7 +95,7 @@ if test x$with_[]modname != xno; then
- 
- 		old_CFLAGS=$CFLAGS
- 		CFLAGS="$CFLAGS $PY_CFLAGS"
--		smart_try_dir="$PY_PREFIX/include/python$PY_SYS_VERSION"
-+		smart_try_dir="$PY_PREFIX/include/python$PY_SYS_VERSION $PY_INC_DIR"
- 		FR_SMART_CHECK_INCLUDE(Python.h)
- 		CFLAGS=$old_CFLAGS
- 
-@@ -114,13 +114,13 @@ if test x$with_[]modname != xno; then
- 
- 		eval t=\${ac_cv_lib_${sm_lib_safe}_${sm_func_safe}}
- 		if test "x$t" = "xyes"; then
--			mod_ldflags="$PY_LIB_LOC $PY_EXTRA_LIBS $SMART_LIBS -lm"
-+			mod_ldflags="$PY_LIB_LOC $PY_EXTRA_LIBS -lm"
- 			targetname=modname
- 		else
- 			FR_SMART_CHECK_LIB(python${PY_SYS_VERSION}m, Py_Initialize)
- 			eval t=\${ac_cv_lib_${sm_lib_safe}_${sm_func_safe}}
- 			if test "x$t" = "xyes"; then
--				mod_ldflags="$PY_LIB_LOC $PY_EXTRA_LIBS $SMART_LIBS -lm"
-+				mod_ldflags="$PY_LIB_LOC $PY_EXTRA_LIBS -lm"
- 				targetname=modname
- 			else
- 				targetname=
--- 
-2.7.4
-
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/freeradius/freeradius_3.0.20.bb b/meta-openembedded/meta-networking/recipes-connectivity/freeradius/freeradius_3.0.20.bb
deleted file mode 100644
index 608d66b1b..000000000
--- a/meta-openembedded/meta-networking/recipes-connectivity/freeradius/freeradius_3.0.20.bb
+++ /dev/null
@@ -1,240 +0,0 @@
-DESCRIPTION = "FreeRADIUS is an Internet authentication daemon, which implements the RADIUS \
-protocol, as defined in RFC 2865 (and others). It allows Network Access \
-Servers (NAS boxes) to perform authentication for dial-up users. There are \
-also RADIUS clients available for Web servers, firewalls, Unix logins, and \
-more.  Using RADIUS allows authentication and authorization for a network to \
-be centralized, and minimizes the amount of re-configuration which has to be \
-done when adding or deleting new users."
-
-SUMMARY = "High-performance and highly configurable RADIUS server"
-HOMEPAGE = "http://www.freeradius.org/"
-SECTION = "System/Servers"
-LICENSE = "GPLv2 & LGPLv2+"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=eb723b61539feef013de476e68b5c50a"
-DEPENDS = "openssl-native openssl libidn libtool libpcap libtalloc"
-
-SRC_URI = "git://github.com/FreeRADIUS/freeradius-server.git;branch=v3.0.x;lfs=0; \
-    file://freeradius \
-    file://volatiles.58_radiusd \
-    file://freeradius-enble-user-in-conf.patch \
-    file://freeradius-configure.ac-allow-cross-compilation.patch \
-    file://freeradius-libtool-detection.patch \
-    file://freeradius-configure.ac-add-option-for-libcap.patch \
-    file://freeradius-avoid-searching-host-dirs.patch \
-    file://freeradius-rlm_python-add-PY_INC_DIR.patch \
-    file://freeradius-libtool-do-not-use-jlibtool.patch \
-    file://freeradius-fix-quoting-for-BUILT_WITH.patch \
-    file://freeradius-fix-error-for-expansion-of-macro.patch \
-    file://0001-rlm_mschap-Use-includedir-instead-of-hardcoding-usr-.patch \
-    file://0001-rlm_python3-add-PY_INC_DIR-in-search-dir.patch \
-    file://0001-raddb-certs-Makefile-fix-the-existed-certificate-err.patch \
-    file://0001-raddb-certs-Makefile-fix-the-occasional-verification.patch \
-    file://0001-workaround-error-with-autoconf-2.7.patch \
-    file://radiusd.service \
-    file://radiusd-volatiles.conf \
-"
-
-SRCREV = "d94c953ab9602a238433ba18533111b845fd8e9e"
-
-PARALLEL_MAKE = ""
-
-S = "${WORKDIR}/git"
-
-LDFLAGS_append_powerpc = " -latomic"
-LDFLAGS_append_mipsarch = " -latomic"
-LDFLAGS_append_armv5 = " -latomic"
-
-EXTRA_OECONF = " --enable-strict-dependencies \
-        --with-docdir=${docdir}/freeradius-${PV} \
-        --with-openssl-includes=${STAGING_INCDIR} \
-        --with-openssl-libraries=${STAGING_LIBDIR} \
-        --without-rlm_ippool \
-        --without-rlm_cache_memcached \
-        --without-rlm_counter \
-        --without-rlm_couchbase \
-        --without-rlm_dbm \
-        --without-rlm_eap_tnc \
-        --without-rlm_eap_ikev2 \
-        --without-rlm_opendirectory \
-        --without-rlm_redis \
-        --without-rlm_rediswho \
-        --without-rlm_sql_db2 \
-        --without-rlm_sql_firebird \
-        --without-rlm_sql_freetds \
-        --without-rlm_sql_iodbc \
-        --without-rlm_sql_oracle \
-        --without-rlm_sql_sybase \
-        --without-rlm_sql_mongo \
-        --without-rlm_sqlhpwippool \
-        --without-rlm_securid \
-        --without-rlm_unbound \
-        --without-rlm_python \
-        ac_cv_path_PERL=${bindir}/perl \
-        ax_cv_cc_builtin_choose_expr=no \
-        ax_cv_cc_builtin_types_compatible_p=no \
-        ax_cv_cc_builtin_bswap64=no \
-        ax_cv_cc_bounded_attribute=no \
-"
-
-PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', '', d)} \
-                   pcre libcap \
-                   openssl rlm-eap-fast rlm-eap-pwd \
-"
-
-PACKAGECONFIG[krb5] = "--with-rlm_krb5,--without-rlm_krb5,krb5"
-PACKAGECONFIG[pam] = "--with-rlm_pam,--without-rlm_pam,libpam"
-PACKAGECONFIG[libcap] = "--with-libcap,--without-libcap,libcap"
-PACKAGECONFIG[ldap] = "--with-rlm_ldap,--without-rlm_ldap,openldap"
-PACKAGECONFIG[mysql] = "--with-rlm_sql_mysql,--without-rlm_sql_mysql,mysql5"
-PACKAGECONFIG[sqlite] = "--with-rlm_sql_sqlite,--without-rlm_sql_sqlite,sqlite3"
-PACKAGECONFIG[unixodbc] = "--with-rlm_sql_unixodbc,--without-rlm_sql_unixodbc,unixodbc"
-PACKAGECONFIG[postgresql] = "--with-rlm_sql_postgresql,--without-rlm_sql_postgresql,postgresql"
-PACKAGECONFIG[pcre] = "--with-pcre,--without-pcre,libpcre"
-PACKAGECONFIG[perl] = "--with-perl=${STAGING_BINDIR_NATIVE}/perl-native/perl --with-rlm_perl,--without-rlm_perl,perl-native perl,perl"
-PACKAGECONFIG[python3] = "--with-rlm_python3 --with-rlm-python3-bin=${STAGING_BINDIR_NATIVE}/python3-native/python3 --with-rlm-python3-include-dir=${STAGING_INCDIR}/${PYTHON_DIR},--without-rlm_python3,python3-native python3"
-PACKAGECONFIG[rest] = "--with-rlm_rest,--without-rlm_rest,curl json-c"
-PACKAGECONFIG[ruby] = "--with-rlm_ruby,--without-rlm_ruby,ruby"
-PACKAGECONFIG[openssl] = "--with-openssl, --without-openssl"
-PACKAGECONFIG[rlm-eap-fast] = "--with-rlm_eap_fast, --without-rlm_eap_fast"
-PACKAGECONFIG[rlm-eap-pwd] = "--with-rlm_eap_pwd, --without-rlm_eap_pwd"
-
-inherit useradd autotools-brokensep update-rc.d systemd
-
-# This is not a cpan or python based package, but it needs some definitions
-# from cpan-base and python3-dir bbclasses for building rlm_perl and rlm_python
-# correctly.
-inherit cpan-base python3-dir
-
-# The modules subdirs also need to be processed by autoreconf. Use autogen.sh
-# in order to handle the subdirs correctly.
-do_configure () {
-    ./autogen.sh
-
-    # the configure of rlm_perl needs this to get correct
-    # mod_cflags and mod_ldflags
-    if ${@bb.utils.contains('PACKAGECONFIG', 'perl', 'true', 'false', d)}; then
-        export PERL5LIB="${STAGING_LIBDIR}${PERL_OWN_DIR}/perl/${@get_perl_version(d)}"
-    fi
-
-    oe_runconf
-
-    # we don't need dhcpclient
-    sed -i -e 's/dhcpclient.mk//' ${S}/src/modules/proto_dhcp/all.mk
-}
-
-INITSCRIPT_NAME = "radiusd"
-
-SYSTEMD_SERVICE_${PN} = "radiusd.service"
-
-USERADD_PACKAGES = "${PN}"
-USERADD_PARAM_${PN} = "--system --no-create-home --shell /bin/false --user-group radiusd"
-
-do_install() {
-    rm -rf ${D}
-    mkdir -p ${D}/${sysconfdir}/logrotate.d
-    mkdir -p ${D}/${sysconfdir}/pam.d
-    mkdir -p ${D}/${sysconfdir}/init.d
-    mkdir -p ${D}/${localstatedir}/lib/radiusd
-    mkdir -p ${D}${sysconfdir}/default/volatiles
-
-    export LD_LIBRARY_PATH=${D}/${libdir}
-    oe_runmake install R=${D} INSTALLSTRIP=""
-
-    # remove unsupported config files
-    rm -f ${D}/${sysconfdir}/raddb/experimental.conf
-
-    # remove scripts that required Perl(DBI)
-    rm -rf ${D}/${bindir}/radsqlrelay
-
-    cp -f ${WORKDIR}/freeradius ${D}/etc/init.d/radiusd
-    rm -f ${D}/${sbindir}/rc.radiusd
-    chmod +x ${D}/${sysconfdir}/init.d/radiusd
-    rm -rf ${D}/${localstatedir}/run/
-    rm -rf ${D}/${localstatedir}/log/
-    install -m 0644 ${WORKDIR}/volatiles.58_radiusd  ${D}${sysconfdir}/default/volatiles/58_radiusd
-
-    chown -R radiusd:radiusd ${D}/${sysconfdir}/raddb/
-    chown -R radiusd:radiusd ${D}/${localstatedir}/lib/radiusd
-
-    # For systemd
-    if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
-        install -d ${D}${systemd_unitdir}/system
-        install -m 0644 ${WORKDIR}/radiusd.service ${D}${systemd_unitdir}/system
-        sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \
-            -e 's,@SBINDIR@,${sbindir},g' \
-            -e 's,@STATEDIR@,${localstatedir},g' \
-            -e 's,@SYSCONFDIR@,${sysconfdir},g' \
-            ${D}${systemd_unitdir}/system/radiusd.service
-
-        install -d ${D}${sysconfdir}/tmpfiles.d/
-        install -m 0644 ${WORKDIR}/radiusd-volatiles.conf ${D}${sysconfdir}/tmpfiles.d/radiusd.conf
-    fi
-}
-
-# This is only needed when we install/update on a running target.
-#
-pkg_postinst_${PN} () {
-    if [ -z "$D" ]; then
-        if command -v systemd-tmpfiles >/dev/null; then
-            # create /var/log/radius, /var/run/radiusd
-            systemd-tmpfiles --create ${sysconfdir}/tmpfiles.d/radiusd.conf
-        elif [ -e ${sysconfdir}/init.d/populate-volatile.sh ]; then
-            ${sysconfdir}/init.d/populate-volatile.sh update
-        fi
-
-        # Fix ownership for /etc/raddb/*, /var/lib/radiusd
-        chown -R radiusd:radiusd ${sysconfdir}/raddb
-        chown -R radiusd:radiusd ${localstatedir}/lib/radiusd
-    fi
-}
-
-# We really need the symlink :(
-INSANE_SKIP_${PN} = "dev-so"
-INSANE_SKIP_${PN}-krb5 = "dev-so"
-INSANE_SKIP_${PN}-ldap = "dev-so"
-INSANE_SKIP_${PN}-mysql = "dev-so"
-INSANE_SKIP_${PN}-perl = "dev-so"
-INSANE_SKIP_${PN}-postgresql = "dev-so"
-INSANE_SKIP_${PN}-python = "dev-so"
-INSANE_SKIP_${PN}-unixodbc = "dev-so"
-
-PACKAGES =+ "${PN}-utils ${PN}-ldap ${PN}-krb5 ${PN}-perl \
-    ${PN}-python ${PN}-mysql ${PN}-postgresql ${PN}-unixodbc"
-
-FILES_${PN}-utils = "${bindir}/*"
-
-FILES_${PN}-ldap = "${libdir}/rlm_ldap.so* \
-    ${sysconfdir}/raddb/mods-available/ldap \
-"
-
-FILES_${PN}-krb5 = "${libdir}/rlm_krb5.so* \
-    ${sysconfdir}/raddb/mods-available/krb5 \
-"
-
-FILES_${PN}-perl = "${libdir}/rlm_perl.so* \
-    ${sysconfdir}/raddb/mods-config/perl \
-    ${sysconfdir}/raddb/mods-available/perl \
-"
-
-FILES_${PN}-python = "${libdir}/rlm_python3.so* \
-    ${sysconfdir}/raddb/mods-config/python3 \
-    ${sysconfdir}/raddb/mods-available/python3 \
-"
-
-FILES_${PN}-mysql = "${libdir}/rlm_sql_mysql.so* \
-    ${sysconfdir}/raddb/mods-config/sql/*/mysql \
-    ${sysconfdir}/raddb/mods-available/sql \
-"
-
-FILES_${PN}-postgresql = "${libdir}/rlm_sql_postgresql.so* \
-    ${sysconfdir}/raddb/mods-config/sql/*/postgresql \
-"
-
-FILES_${PN}-unixodbc = "${libdir}/rlm_sql_unixodbc.so*"
-
-FILES_${PN} =+ "${libdir}/rlm_*.so* ${libdir}/proto_*so*"
-
-RDEPENDS_${PN} += "perl"
-RDEPENDS_${PN}-utils = "${PN} perl"
-
-CLEANBROKEN = "1"
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/freeradius/freeradius_3.0.21.bb b/meta-openembedded/meta-networking/recipes-connectivity/freeradius/freeradius_3.0.21.bb
new file mode 100644
index 000000000..864a4e944
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/freeradius/freeradius_3.0.21.bb
@@ -0,0 +1,239 @@
+DESCRIPTION = "FreeRADIUS is an Internet authentication daemon, which implements the RADIUS \
+protocol, as defined in RFC 2865 (and others). It allows Network Access \
+Servers (NAS boxes) to perform authentication for dial-up users. There are \
+also RADIUS clients available for Web servers, firewalls, Unix logins, and \
+more.  Using RADIUS allows authentication and authorization for a network to \
+be centralized, and minimizes the amount of re-configuration which has to be \
+done when adding or deleting new users."
+
+SUMMARY = "High-performance and highly configurable RADIUS server"
+HOMEPAGE = "http://www.freeradius.org/"
+SECTION = "System/Servers"
+LICENSE = "GPLv2 & LGPLv2+"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=eb723b61539feef013de476e68b5c50a"
+DEPENDS = "openssl-native openssl libidn libtool libpcap libtalloc"
+
+SRC_URI = "git://github.com/FreeRADIUS/freeradius-server.git;branch=v3.0.x;lfs=0; \
+    file://freeradius \
+    file://volatiles.58_radiusd \
+    file://freeradius-enble-user-in-conf.patch \
+    file://freeradius-configure.ac-allow-cross-compilation.patch \
+    file://freeradius-libtool-detection.patch \
+    file://freeradius-configure.ac-add-option-for-libcap.patch \
+    file://freeradius-avoid-searching-host-dirs.patch \
+    file://freeradius-rlm_python-add-PY_INC_DIR.patch \
+    file://freeradius-libtool-do-not-use-jlibtool.patch \
+    file://freeradius-fix-quoting-for-BUILT_WITH.patch \
+    file://freeradius-fix-error-for-expansion-of-macro.patch \
+    file://0001-rlm_mschap-Use-includedir-instead-of-hardcoding-usr-.patch \
+    file://0001-raddb-certs-Makefile-fix-the-existed-certificate-err.patch \
+    file://0001-raddb-certs-Makefile-fix-the-occasional-verification.patch \
+    file://0001-workaround-error-with-autoconf-2.7.patch \
+    file://radiusd.service \
+    file://radiusd-volatiles.conf \
+"
+
+SRCREV = "af428abda249b2279ba0582180985a9f6f4a144a"
+
+PARALLEL_MAKE = ""
+
+S = "${WORKDIR}/git"
+
+LDFLAGS_append_powerpc = " -latomic"
+LDFLAGS_append_mipsarch = " -latomic"
+LDFLAGS_append_armv5 = " -latomic"
+
+EXTRA_OECONF = " --enable-strict-dependencies \
+        --with-docdir=${docdir}/freeradius-${PV} \
+        --with-openssl-includes=${STAGING_INCDIR} \
+        --with-openssl-libraries=${STAGING_LIBDIR} \
+        --without-rlm_ippool \
+        --without-rlm_cache_memcached \
+        --without-rlm_counter \
+        --without-rlm_couchbase \
+        --without-rlm_dbm \
+        --without-rlm_eap_tnc \
+        --without-rlm_eap_ikev2 \
+        --without-rlm_opendirectory \
+        --without-rlm_redis \
+        --without-rlm_rediswho \
+        --without-rlm_sql_db2 \
+        --without-rlm_sql_firebird \
+        --without-rlm_sql_freetds \
+        --without-rlm_sql_iodbc \
+        --without-rlm_sql_oracle \
+        --without-rlm_sql_sybase \
+        --without-rlm_sql_mongo \
+        --without-rlm_sqlhpwippool \
+        --without-rlm_securid \
+        --without-rlm_unbound \
+        --without-rlm_python \
+        ac_cv_path_PERL=${bindir}/perl \
+        ax_cv_cc_builtin_choose_expr=no \
+        ax_cv_cc_builtin_types_compatible_p=no \
+        ax_cv_cc_builtin_bswap64=no \
+        ax_cv_cc_bounded_attribute=no \
+"
+
+PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', '', d)} \
+                   pcre libcap \
+                   openssl rlm-eap-fast rlm-eap-pwd \
+"
+
+PACKAGECONFIG[krb5] = "--with-rlm_krb5,--without-rlm_krb5,krb5"
+PACKAGECONFIG[pam] = "--with-rlm_pam,--without-rlm_pam,libpam"
+PACKAGECONFIG[libcap] = "--with-libcap,--without-libcap,libcap"
+PACKAGECONFIG[ldap] = "--with-rlm_ldap,--without-rlm_ldap,openldap"
+PACKAGECONFIG[mysql] = "--with-rlm_sql_mysql,--without-rlm_sql_mysql,mysql5"
+PACKAGECONFIG[sqlite] = "--with-rlm_sql_sqlite,--without-rlm_sql_sqlite,sqlite3"
+PACKAGECONFIG[unixodbc] = "--with-rlm_sql_unixodbc,--without-rlm_sql_unixodbc,unixodbc"
+PACKAGECONFIG[postgresql] = "--with-rlm_sql_postgresql,--without-rlm_sql_postgresql,postgresql"
+PACKAGECONFIG[pcre] = "--with-pcre,--without-pcre,libpcre"
+PACKAGECONFIG[perl] = "--with-perl=${STAGING_BINDIR_NATIVE}/perl-native/perl --with-rlm_perl,--without-rlm_perl,perl-native perl,perl"
+PACKAGECONFIG[python3] = "--with-rlm_python3 --with-rlm-python3-bin=${STAGING_BINDIR_NATIVE}/python3-native/python3 --with-rlm-python3-include-dir=${STAGING_INCDIR}/${PYTHON_DIR},--without-rlm_python3,python3-native python3"
+PACKAGECONFIG[rest] = "--with-rlm_rest,--without-rlm_rest,curl json-c"
+PACKAGECONFIG[ruby] = "--with-rlm_ruby,--without-rlm_ruby,ruby"
+PACKAGECONFIG[openssl] = "--with-openssl, --without-openssl"
+PACKAGECONFIG[rlm-eap-fast] = "--with-rlm_eap_fast, --without-rlm_eap_fast"
+PACKAGECONFIG[rlm-eap-pwd] = "--with-rlm_eap_pwd, --without-rlm_eap_pwd"
+
+inherit useradd autotools-brokensep update-rc.d systemd
+
+# This is not a cpan or python based package, but it needs some definitions
+# from cpan-base and python3-dir bbclasses for building rlm_perl and rlm_python
+# correctly.
+inherit cpan-base python3-dir
+
+# The modules subdirs also need to be processed by autoreconf. Use autogen.sh
+# in order to handle the subdirs correctly.
+do_configure () {
+    ./autogen.sh
+
+    # the configure of rlm_perl needs this to get correct
+    # mod_cflags and mod_ldflags
+    if ${@bb.utils.contains('PACKAGECONFIG', 'perl', 'true', 'false', d)}; then
+        export PERL5LIB="${STAGING_LIBDIR}${PERL_OWN_DIR}/perl/${@get_perl_version(d)}"
+    fi
+
+    oe_runconf
+
+    # we don't need dhcpclient
+    sed -i -e 's/dhcpclient.mk//' ${S}/src/modules/proto_dhcp/all.mk
+}
+
+INITSCRIPT_NAME = "radiusd"
+
+SYSTEMD_SERVICE_${PN} = "radiusd.service"
+
+USERADD_PACKAGES = "${PN}"
+USERADD_PARAM_${PN} = "--system --no-create-home --shell /bin/false --user-group radiusd"
+
+do_install() {
+    rm -rf ${D}
+    mkdir -p ${D}/${sysconfdir}/logrotate.d
+    mkdir -p ${D}/${sysconfdir}/pam.d
+    mkdir -p ${D}/${sysconfdir}/init.d
+    mkdir -p ${D}/${localstatedir}/lib/radiusd
+    mkdir -p ${D}${sysconfdir}/default/volatiles
+
+    export LD_LIBRARY_PATH=${D}/${libdir}
+    oe_runmake install R=${D} INSTALLSTRIP=""
+
+    # remove unsupported config files
+    rm -f ${D}/${sysconfdir}/raddb/experimental.conf
+
+    # remove scripts that required Perl(DBI)
+    rm -rf ${D}/${bindir}/radsqlrelay
+
+    cp -f ${WORKDIR}/freeradius ${D}/etc/init.d/radiusd
+    rm -f ${D}/${sbindir}/rc.radiusd
+    chmod +x ${D}/${sysconfdir}/init.d/radiusd
+    rm -rf ${D}/${localstatedir}/run/
+    rm -rf ${D}/${localstatedir}/log/
+    install -m 0644 ${WORKDIR}/volatiles.58_radiusd  ${D}${sysconfdir}/default/volatiles/58_radiusd
+
+    chown -R radiusd:radiusd ${D}/${sysconfdir}/raddb/
+    chown -R radiusd:radiusd ${D}/${localstatedir}/lib/radiusd
+
+    # For systemd
+    if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+        install -d ${D}${systemd_unitdir}/system
+        install -m 0644 ${WORKDIR}/radiusd.service ${D}${systemd_unitdir}/system
+        sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \
+            -e 's,@SBINDIR@,${sbindir},g' \
+            -e 's,@STATEDIR@,${localstatedir},g' \
+            -e 's,@SYSCONFDIR@,${sysconfdir},g' \
+            ${D}${systemd_unitdir}/system/radiusd.service
+
+        install -d ${D}${sysconfdir}/tmpfiles.d/
+        install -m 0644 ${WORKDIR}/radiusd-volatiles.conf ${D}${sysconfdir}/tmpfiles.d/radiusd.conf
+    fi
+}
+
+# This is only needed when we install/update on a running target.
+#
+pkg_postinst_${PN} () {
+    if [ -z "$D" ]; then
+        if command -v systemd-tmpfiles >/dev/null; then
+            # create /var/log/radius, /var/run/radiusd
+            systemd-tmpfiles --create ${sysconfdir}/tmpfiles.d/radiusd.conf
+        elif [ -e ${sysconfdir}/init.d/populate-volatile.sh ]; then
+            ${sysconfdir}/init.d/populate-volatile.sh update
+        fi
+
+        # Fix ownership for /etc/raddb/*, /var/lib/radiusd
+        chown -R radiusd:radiusd ${sysconfdir}/raddb
+        chown -R radiusd:radiusd ${localstatedir}/lib/radiusd
+    fi
+}
+
+# We really need the symlink :(
+INSANE_SKIP_${PN} = "dev-so"
+INSANE_SKIP_${PN}-krb5 = "dev-so"
+INSANE_SKIP_${PN}-ldap = "dev-so"
+INSANE_SKIP_${PN}-mysql = "dev-so"
+INSANE_SKIP_${PN}-perl = "dev-so"
+INSANE_SKIP_${PN}-postgresql = "dev-so"
+INSANE_SKIP_${PN}-python = "dev-so"
+INSANE_SKIP_${PN}-unixodbc = "dev-so"
+
+PACKAGES =+ "${PN}-utils ${PN}-ldap ${PN}-krb5 ${PN}-perl \
+    ${PN}-python ${PN}-mysql ${PN}-postgresql ${PN}-unixodbc"
+
+FILES_${PN}-utils = "${bindir}/*"
+
+FILES_${PN}-ldap = "${libdir}/rlm_ldap.so* \
+    ${sysconfdir}/raddb/mods-available/ldap \
+"
+
+FILES_${PN}-krb5 = "${libdir}/rlm_krb5.so* \
+    ${sysconfdir}/raddb/mods-available/krb5 \
+"
+
+FILES_${PN}-perl = "${libdir}/rlm_perl.so* \
+    ${sysconfdir}/raddb/mods-config/perl \
+    ${sysconfdir}/raddb/mods-available/perl \
+"
+
+FILES_${PN}-python = "${libdir}/rlm_python3.so* \
+    ${sysconfdir}/raddb/mods-config/python3 \
+    ${sysconfdir}/raddb/mods-available/python3 \
+"
+
+FILES_${PN}-mysql = "${libdir}/rlm_sql_mysql.so* \
+    ${sysconfdir}/raddb/mods-config/sql/*/mysql \
+    ${sysconfdir}/raddb/mods-available/sql \
+"
+
+FILES_${PN}-postgresql = "${libdir}/rlm_sql_postgresql.so* \
+    ${sysconfdir}/raddb/mods-config/sql/*/postgresql \
+"
+
+FILES_${PN}-unixodbc = "${libdir}/rlm_sql_unixodbc.so*"
+
+FILES_${PN} =+ "${libdir}/rlm_*.so* ${libdir}/proto_*so*"
+
+RDEPENDS_${PN} += "perl"
+RDEPENDS_${PN}-utils = "${PN} perl"
+
+CLEANBROKEN = "1"
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/mosquitto_2.0.10.bb b/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/mosquitto_2.0.10.bb
new file mode 100644
index 000000000..b815ac3b4
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/mosquitto_2.0.10.bb
@@ -0,0 +1,91 @@
+SUMMARY = "Open source MQTT implementation"
+DESCRIPTION = "Mosquitto is an open source (Eclipse licensed) message broker \
+that implements the MQ Telemetry Transport protocol version 3.1, 3.1.1 and \
+5, providing both an MQTT broker and several command-line clients. MQTT \
+provides a lightweight method of carrying out messaging using a \
+publish/subscribe model. "
+HOMEPAGE = "http://mosquitto.org/"
+SECTION = "console/network"
+LICENSE = "EPL-2.0 | EDL-1.0"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=ca9a8f366c6babf593e374d0d7d58749 \
+                    file://edl-v10;md5=c09f121939f063aeb5235972be8c722c \
+                    file://epl-v20;md5=d9fc0efef5228704e7f5b37f27192723 \
+                    file://notice.html;md5=541f8f37af492858dab8d2c1b69ede69 \
+"
+DEPENDS = "uthash cjson dlt-daemon"
+
+SRC_URI = "http://mosquitto.org/files/source/mosquitto-${PV}.tar.gz \
+           file://mosquitto.init \
+           file://1571.patch \
+"
+
+SRC_URI[md5sum] = "3d1c327d8c5881f56983bee1e3c8f068"
+SRC_URI[sha256sum] = "0188f7b21b91d6d80e992b8d6116ba851468b3bd154030e8a003ed28fb6f4a44"
+
+inherit systemd update-rc.d useradd cmake
+
+PACKAGECONFIG ??= "ssl dlt websockets \
+                  ${@bb.utils.filter('DISTRO_FEATURES','systemd', d)} \
+                  "
+
+PACKAGECONFIG[manpages] = "-DDOCUMENTATION=ON,-DDOCUMENTATION=OFF,libxslt-native docbook-xsl-stylesheets-native"
+PACKAGECONFIG[dns-srv] = "-DWITH_SRV=ON,-DWITH_SRV=OFF,c-ares"
+PACKAGECONFIG[ssl] = "-DWITH_TLS=ON -DWITH_TLS_PSK=ON -DWITH_EC=ON,-DWITH_TLS=OFF -DWITH_TLS_PSK=OFF -DWITH_EC=OFF,openssl"
+PACKAGECONFIG[systemd] = "-DWITH_SYSTEMD=ON,-DWITH_SYSTEMD=OFF,systemd"
+PACKAGECONFIG[websockets] = "-DWITH_WEBSOCKETS=ON,-DWITH_WEBSOCKETS=OFF,libwebsockets"
+PACKAGECONFIG[dlt] = "-DWITH_DLT=ON,-DWITH_DLT=OFF,dlt-daemon"
+
+EXTRA_OECMAKE = " \
+    -DWITH_BUNDLED_DEPS=OFF \
+    -DWITH_ADNS=ON \
+"
+
+do_install_append() {
+    install -d ${D}${systemd_unitdir}/system/
+    install -m 0644 ${S}/service/systemd/mosquitto.service.notify ${D}${systemd_unitdir}/system/mosquitto.service
+
+    install -d ${D}${sysconfdir}/init.d/
+    install -m 0755 ${WORKDIR}/mosquitto.init ${D}${sysconfdir}/init.d/mosquitto
+    sed -i -e 's,@SBINDIR@,${sbindir},g' \
+        -e 's,@BASE_SBINDIR@,${base_sbindir},g' \
+        -e 's,@LOCALSTATEDIR@,${localstatedir},g' \
+        -e 's,@SYSCONFDIR@,${sysconfdir},g' \
+        ${D}${sysconfdir}/init.d/mosquitto
+}
+
+PACKAGES += "libmosquitto1 libmosquittopp1 ${PN}-clients"
+
+PACKAGE_BEFORE_PN = "${PN}-examples"
+
+FILES_${PN} = "${sbindir}/mosquitto \
+               ${bindir}/mosquitto_passwd \
+               ${bindir}/mosquitto_ctrl \
+               ${libdir}/mosquitto_dynamic_security.so \
+               ${sysconfdir}/mosquitto \
+               ${sysconfdir}/init.d \
+               ${systemd_unitdir}/system/mosquitto.service \
+"
+
+CONFFILES_${PN} += "${sysconfdir}/mosquitto/mosquitto.conf"
+
+FILES_libmosquitto1 = "${libdir}/libmosquitto.so.*"
+
+FILES_libmosquittopp1 = "${libdir}/libmosquittopp.so.*"
+
+FILES_${PN}-clients = "${bindir}/mosquitto_pub \
+                       ${bindir}/mosquitto_sub \
+                       ${bindir}/mosquitto_rr \
+"
+
+FILES_${PN}-examples = "${sysconfdir}/mosquitto/*.example"
+
+SYSTEMD_SERVICE_${PN} = "mosquitto.service"
+
+INITSCRIPT_NAME = "mosquitto"
+INITSCRIPT_PARAMS = "defaults 30"
+
+USERADD_PACKAGES = "${PN}"
+USERADD_PARAM_${PN} = "--system --no-create-home --shell /bin/false \
+                       --user-group mosquitto"
+
+BBCLASSEXTEND += "native nativesdk"
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/mosquitto_2.0.9.bb b/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/mosquitto_2.0.9.bb
deleted file mode 100644
index 97a380117..000000000
--- a/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/mosquitto_2.0.9.bb
+++ /dev/null
@@ -1,91 +0,0 @@
-SUMMARY = "Open source MQTT implementation"
-DESCRIPTION = "Mosquitto is an open source (Eclipse licensed) message broker \
-that implements the MQ Telemetry Transport protocol version 3.1, 3.1.1 and \
-5, providing both an MQTT broker and several command-line clients. MQTT \
-provides a lightweight method of carrying out messaging using a \
-publish/subscribe model. "
-HOMEPAGE = "http://mosquitto.org/"
-SECTION = "console/network"
-LICENSE = "EPL-2.0 | EDL-1.0"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=ca9a8f366c6babf593e374d0d7d58749 \
-                    file://edl-v10;md5=c09f121939f063aeb5235972be8c722c \
-                    file://epl-v20;md5=d9fc0efef5228704e7f5b37f27192723 \
-                    file://notice.html;md5=541f8f37af492858dab8d2c1b69ede69 \
-"
-DEPENDS = "uthash cjson dlt-daemon"
-
-SRC_URI = "http://mosquitto.org/files/source/mosquitto-${PV}.tar.gz \
-           file://mosquitto.init \
-           file://1571.patch \
-"
-
-SRC_URI[md5sum] = "b77cee4ee6f0d32ca8816a58167e8b1d"
-SRC_URI[sha256sum] = "1b8553ef64a1cf5e4f4cfbe098330ae612adccd3d37f35b2db6f6fab501b01d4"
-
-inherit systemd update-rc.d useradd cmake
-
-PACKAGECONFIG ??= "ssl dlt websockets \
-                  ${@bb.utils.filter('DISTRO_FEATURES','systemd', d)} \
-                  "
-
-PACKAGECONFIG[manpages] = "-DDOCUMENTATION=ON,-DDOCUMENTATION=OFF,libxslt-native docbook-xsl-stylesheets-native"
-PACKAGECONFIG[dns-srv] = "-DWITH_SRV=ON,-DWITH_SRV=OFF,c-ares"
-PACKAGECONFIG[ssl] = "-DWITH_TLS=ON -DWITH_TLS_PSK=ON -DWITH_EC=ON,-DWITH_TLS=OFF -DWITH_TLS_PSK=OFF -DWITH_EC=OFF,openssl"
-PACKAGECONFIG[systemd] = "-DWITH_SYSTEMD=ON,-DWITH_SYSTEMD=OFF,systemd"
-PACKAGECONFIG[websockets] = "-DWITH_WEBSOCKETS=ON,-DWITH_WEBSOCKETS=OFF,libwebsockets"
-PACKAGECONFIG[dlt] = "-DWITH_DLT=ON,-DWITH_DLT=OFF,dlt-daemon"
-
-EXTRA_OECMAKE = " \
-    -DWITH_BUNDLED_DEPS=OFF \
-    -DWITH_ADNS=ON \
-"
-
-do_install_append() {
-    install -d ${D}${systemd_unitdir}/system/
-    install -m 0644 ${S}/service/systemd/mosquitto.service.notify ${D}${systemd_unitdir}/system/mosquitto.service
-
-    install -d ${D}${sysconfdir}/init.d/
-    install -m 0755 ${WORKDIR}/mosquitto.init ${D}${sysconfdir}/init.d/mosquitto
-    sed -i -e 's,@SBINDIR@,${sbindir},g' \
-        -e 's,@BASE_SBINDIR@,${base_sbindir},g' \
-        -e 's,@LOCALSTATEDIR@,${localstatedir},g' \
-        -e 's,@SYSCONFDIR@,${sysconfdir},g' \
-        ${D}${sysconfdir}/init.d/mosquitto
-}
-
-PACKAGES += "libmosquitto1 libmosquittopp1 ${PN}-clients"
-
-PACKAGE_BEFORE_PN = "${PN}-examples"
-
-FILES_${PN} = "${sbindir}/mosquitto \
-               ${bindir}/mosquitto_passwd \
-               ${bindir}/mosquitto_ctrl \
-               ${libdir}/mosquitto_dynamic_security.so \
-               ${sysconfdir}/mosquitto \
-               ${sysconfdir}/init.d \
-               ${systemd_unitdir}/system/mosquitto.service \
-"
-
-CONFFILES_${PN} += "${sysconfdir}/mosquitto/mosquitto.conf"
-
-FILES_libmosquitto1 = "${libdir}/libmosquitto.so.*"
-
-FILES_libmosquittopp1 = "${libdir}/libmosquittopp.so.*"
-
-FILES_${PN}-clients = "${bindir}/mosquitto_pub \
-                       ${bindir}/mosquitto_sub \
-                       ${bindir}/mosquitto_rr \
-"
-
-FILES_${PN}-examples = "${sysconfdir}/mosquitto/*.example"
-
-SYSTEMD_SERVICE_${PN} = "mosquitto.service"
-
-INITSCRIPT_NAME = "mosquitto"
-INITSCRIPT_PARAMS = "defaults 30"
-
-USERADD_PACKAGES = "${PN}"
-USERADD_PARAM_${PN} = "--system --no-create-home --shell /bin/false \
-                       --user-group mosquitto"
-
-BBCLASSEXTEND += "native nativesdk"
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager-openvpn_1.8.12.bb b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager-openvpn_1.8.12.bb
deleted file mode 100644
index d455a0f06..000000000
--- a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager-openvpn_1.8.12.bb
+++ /dev/null
@@ -1,52 +0,0 @@
-SUMMARY = "NetworkManager-openvpn-plugin"
-SECTION = "net/misc"
-
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=100d5a599bead70ddcd70dcd73f2e29c"
-
-DEPENDS = "dbus dbus-glib networkmanager openvpn intltool-native glib-2.0-native"
-
-inherit gnomebase useradd gettext systemd
-
-SRC_URI = "${GNOME_MIRROR}/NetworkManager-openvpn/${@gnome_verdir("${PV}")}/NetworkManager-openvpn-${PV}.tar.xz"
-
-SRC_URI[md5sum] = "e8b1210011ece18d0278310fbff45af5"
-SRC_URI[sha256sum] = "0efda8878aaf0e6eb5071a053aea5d7f9d42aac097b3ff89e7cbc9233f815318"
-
-S = "${WORKDIR}/NetworkManager-openvpn-${PV}"
-
-# meta-gnome in layers is required using gnome:
-PACKAGECONFIG[gnome] = "--with-gnome,--without-gnome,gtk+3 libnma libsecret"
-
-do_configure_append() {
-    # network-manager-openvpn.metainfo.xml is created in source folder but
-    # compile expects it in build folder. As long as nobody comes up with a
-    # better solution just support build:
-    if [ -e ${S}/appdata/network-manager-openvpn.metainfo.xml ]; then
-        mkdir -p ${B}/appdata
-        cp -f ${S}/appdata/network-manager-openvpn.metainfo.xml ${B}/appdata/
-    fi
-}
-
-do_install_append () {
-    rm -rf ${D}${libdir}/NetworkManager/*.la
-}
-
-# Create user and group nm-openvpn that are needed since version 1.0.6
-USERADD_PACKAGES = "${PN}"
-USERADD_PARAM_${PN} = "--system nm-openvpn"
-
-FILES_${PN} += " \
-    ${datadir}/dbus-1 \
-    ${libdir}/NetworkManager/*.so \
-    ${nonarch_libdir}/NetworkManager/VPN/nm-openvpn-service.name \
-"
-
-FILES_${PN}-staticdev += " \
-    ${libdir}/NetworkManager/*.a \
-"
-
-RDEPENDS_${PN} = " \
-    networkmanager \
-    openvpn \
-"
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager-openvpn_1.8.14.bb b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager-openvpn_1.8.14.bb
new file mode 100644
index 000000000..1f76d8ab5
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager-openvpn_1.8.14.bb
@@ -0,0 +1,53 @@
+SUMMARY = "NetworkManager-openvpn-plugin"
+SECTION = "net/misc"
+
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=100d5a599bead70ddcd70dcd73f2e29c"
+
+DEPENDS = "dbus dbus-glib networkmanager openvpn intltool-native glib-2.0-native"
+
+inherit gnomebase useradd gettext systemd
+
+SRC_URI = "${GNOME_MIRROR}/NetworkManager-openvpn/${@gnome_verdir("${PV}")}/NetworkManager-openvpn-${PV}.tar.xz"
+
+SRC_URI[md5sum] = "bef67eca77bee68da703609b92f804a0"
+SRC_URI[sha256sum] = "e7419053fc3b5a7e25f1a7517c313ad4531b6ea280255524ebb85a70c76fdbeb"
+
+S = "${WORKDIR}/NetworkManager-openvpn-${PV}"
+
+# meta-gnome in layers is required using gnome:
+PACKAGECONFIG[gnome] = "--with-gnome,--without-gnome,gtk+3 libnma libsecret"
+
+do_configure_append() {
+    # network-manager-openvpn.metainfo.xml is created in source folder but
+    # compile expects it in build folder. As long as nobody comes up with a
+    # better solution just support build:
+    if [ -e ${S}/appdata/network-manager-openvpn.metainfo.xml ]; then
+        mkdir -p ${B}/appdata
+        cp -f ${S}/appdata/network-manager-openvpn.metainfo.xml ${B}/appdata/
+    fi
+}
+
+do_install_append () {
+    rm -rf ${D}${libdir}/NetworkManager/*.la
+}
+
+# Create user and group nm-openvpn that are needed since version 1.0.6
+USERADD_PACKAGES = "${PN}"
+USERADD_PARAM_${PN} = "--system nm-openvpn"
+
+FILES_${PN} += " \
+    ${datadir}/dbus-1 \
+    ${datadir}/metainfo \
+    ${libdir}/NetworkManager/*.so \
+    ${nonarch_libdir}/NetworkManager/VPN/nm-openvpn-service.name \
+"
+
+FILES_${PN}-staticdev += " \
+    ${libdir}/NetworkManager/*.a \
+"
+
+RDEPENDS_${PN} = " \
+    networkmanager \
+    openvpn \
+"
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0002-Do-not-create-settings-settings-property-documentati.patch b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0002-Do-not-create-settings-settings-property-documentati.patch
index ecd13504d..0a86abafc 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0002-Do-not-create-settings-settings-property-documentati.patch
+++ b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0002-Do-not-create-settings-settings-property-documentati.patch
@@ -1,34 +1,29 @@
-From 9eab96351a726e9ce6a15d158f743e35d73a8900 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= 
-Date: Sat, 16 Jan 2021 14:27:38 +0100
+From d0dead0478a070b96f37bd3b310443eaa8c93a25 Mon Sep 17 00:00:00 2001
+From: Vinicius Aquino 
+Date: Thu, 1 Apr 2021 14:13:07 -0300
 Subject: [PATCH] Do not create settings settings/property documentation
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
 
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= 
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
 It was tried to get this work by adding python3-pygobject-native to DEPENDS but
-compile could not find (configure passed) python module gi. 
+compile could not find (configure passed) python module gi.
 Anyway it is not necessary for us to have the settings/property docs.
 
 Upstream-Status: Inappropriate [OE specific]
 
 Signed-off-by: Andreas Müller 
-
+Signed-off-by: Vinicius Aquino 
 ---
- Makefile.am  | 13 -------------
- configure.ac |  5 -----
- 2 files changed, 18 deletions(-)
+ Makefile.am  | 4 ----
+ configure.ac | 5 -----
+ 2 files changed, 9 deletions(-)
 
 diff --git a/Makefile.am b/Makefile.am
-index 110957a..b4cfbcc 100644
+index 9279672c1..2e52acbb2 100644
 --- a/Makefile.am
 +++ b/Makefile.am
-@@ -1587,14 +1587,10 @@ libnm/libnm.typelib: libnm/libnm.gir
+@@ -1686,14 +1686,10 @@ libnm/libnm.typelib: libnm/libnm.gir
  INTROSPECTION_GIRS += libnm/NM-1.0.gir
  
  libnm_noinst_data = \
@@ -43,30 +38,11 @@ index 110957a..b4cfbcc 100644
  	$(NULL)
  
  noinst_DATA += $(libnm_noinst_data)
-@@ -4448,18 +4444,9 @@ $(clients_common_libnmc_base_la_OBJECTS): $(libnm_lib_h_pub_mkenums)
- $(clients_common_libnmc_base_la_OBJECTS): clients/common/.dirstamp
- 
- clients_common_settings_doc_h = clients/common/settings-docs.h
--if HAVE_INTROSPECTION
--$(clients_common_settings_doc_h): clients/common/settings-docs.xsl libnm/nm-settings-docs-gir.xml clients/common/.dirstamp
--	$(AM_V_GEN) $(XSLTPROC) --output $@ $< $(word 2,$^)
--DISTCLEANFILES += $(clients_common_settings_doc_h)
--check-local-settings-docs: $(clients_common_settings_doc_h)
--	$(srcdir)/tools/check-settings-docs.sh "$(srcdir)" "$(builddir)" "$(clients_common_settings_doc_h)"
--check_local += check-local-settings-docs
--else
- $(clients_common_settings_doc_h): $(clients_common_settings_doc_h).in clients/common/.dirstamp
- 	$(AM_V_GEN) cp "$(srcdir)/$(clients_common_settings_doc_h).in" "$(builddir)/$(clients_common_settings_doc_h)"
- check-local-settings-docs:
--endif
- EXTRA_DIST += \
- 	$(clients_common_settings_doc_h) \
- 	$(clients_common_settings_doc_h).in
 diff --git a/configure.ac b/configure.ac
-index 704b1c1..18bba87 100644
+index 784ac4695..681e6cb32 100644
 --- a/configure.ac
 +++ b/configure.ac
-@@ -1228,11 +1228,6 @@ GTK_DOC_CHECK(1.0)
+@@ -1241,11 +1241,6 @@ GTK_DOC_CHECK(1.0)
  # check if we can build setting property documentation
  build_docs=no
  if test -n "$INTROSPECTION_MAKEFILE"; then
@@ -79,5 +55,5 @@ index 704b1c1..18bba87 100644
  	if test -z "$PERL"; then
  		AC_MSG_ERROR([--enable-introspection requires perl])
 -- 
-2.26.2
+2.20.1
 
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0004-fix_reallocarray_check.patch b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0004-fix_reallocarray_check.patch
deleted file mode 100644
index 2df449f2e..000000000
--- a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0004-fix_reallocarray_check.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-reallocarray() is coming from stdlib.h which maybe indirectly included
-by malloc.h but not on all libc implementations
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj 
---- a/meson.build
-+++ b/meson.build
-@@ -114,7 +114,7 @@ config_h.set10('HAVE_GETRANDOM', use_sys
-                                                                                      #include '''))
- config_h.set('HAVE_SECURE_GETENV', cc.has_function('secure_getenv'))
- config_h.set('HAVE___SECURE_GETENV', cc.has_function('__secure_getenv'))
--config_h.set10('HAVE_DECL_REALLOCARRAY', cc.has_function('reallocarray', prefix: '#include '))
-+config_h.set10('HAVE_DECL_REALLOCARRAY', cc.has_function('reallocarray', prefix: '#include '))
- config_h.set10('HAVE_DECL_EXPLICIT_BZERO', cc.has_function('explicit_bzero', prefix: '#include '))
- config_h.set10('HAVE_DECL_MEMFD_CREATE', cc.has_function('memfd_create', prefix: '#include '))
- 
---- a/configure.ac
-+++ b/configure.ac
-@@ -82,7 +82,7 @@ AC_CHECK_DECLS([
- AC_CHECK_DECLS([
- 	reallocarray],
- 	[], [], [[
--#include 
-+#include 
- ]])
- 
- AC_CHECK_DECLS([
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0001-Fix-build-with-musl-systemd-specific.patch b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0001-Fix-build-with-musl-systemd-specific.patch
index 7807fc77c..692f1ffa4 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0001-Fix-build-with-musl-systemd-specific.patch
+++ b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0001-Fix-build-with-musl-systemd-specific.patch
@@ -1,12 +1,11 @@
-From 9597122867c22e949ef3b69c779e0facebce6eb5 Mon Sep 17 00:00:00 2001
+From 44884c7e7655b889f41cb02ffc8ab72a29b52ebf Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Andreas=20M=C3=BCller?= 
 Date: Tue, 2 Apr 2019 01:34:35 +0200
-Subject: [PATCH] Fix build with musl - systemd specific
+Subject: [PATCH 1/2] Fix build with musl - systemd specific
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
 
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= 
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
@@ -17,18 +16,18 @@ for musl.
 Upstream-Status: Pending
 
 Signed-off-by: Andreas Müller 
-
+Signed-off-by: Vinicius Aquino 
 ---
  shared/systemd/src/basic/in-addr-util.c |  1 +
  shared/systemd/src/basic/process-util.c |  9 +++++++++
  shared/systemd/src/basic/socket-util.h  |  6 ++++++
- shared/systemd/src/basic/sort-util.h    | 27 ++++---------------------
+ shared/systemd/src/basic/sort-util.h    | 13 ++++---------
  shared/systemd/src/basic/stdio-util.h   |  2 ++
  shared/systemd/src/basic/string-util.h  |  5 +++++
- 6 files changed, 27 insertions(+), 23 deletions(-)
+ 6 files changed, 27 insertions(+), 9 deletions(-)
 
 diff --git a/shared/systemd/src/basic/in-addr-util.c b/shared/systemd/src/basic/in-addr-util.c
-index 1ea3e7f..1204393 100644
+index c315dcbb8..5b7e04eb7 100644
 --- a/shared/systemd/src/basic/in-addr-util.c
 +++ b/shared/systemd/src/basic/in-addr-util.c
 @@ -15,6 +15,7 @@
@@ -40,7 +39,7 @@ index 1ea3e7f..1204393 100644
  #include "string-util.h"
  #include "strxcpyx.h"
 diff --git a/shared/systemd/src/basic/process-util.c b/shared/systemd/src/basic/process-util.c
-index 03ca04e..be8bca8 100644
+index 0e25b0200..ea2c0fbb4 100644
 --- a/shared/systemd/src/basic/process-util.c
 +++ b/shared/systemd/src/basic/process-util.c
 @@ -17,6 +17,9 @@
@@ -80,7 +79,7 @@ index 03ca04e..be8bca8 100644
                                  cached_pid = CACHED_PID_UNSET;
                                  return new_pid;
 diff --git a/shared/systemd/src/basic/socket-util.h b/shared/systemd/src/basic/socket-util.h
-index 1ece911..290e94c 100644
+index 1de069476..f6834fbd2 100644
 --- a/shared/systemd/src/basic/socket-util.h
 +++ b/shared/systemd/src/basic/socket-util.h
 @@ -14,6 +14,12 @@
@@ -94,10 +93,10 @@ index 1ece911..290e94c 100644
 +#endif
 +
  #include "macro.h"
+ #include "missing_network.h"
  #include "missing_socket.h"
- #include "sparse-endian.h"
 diff --git a/shared/systemd/src/basic/sort-util.h b/shared/systemd/src/basic/sort-util.h
-index a8dc3bb..ff0aa88 100644
+index a8984fc16..5fb90f8c5 100644
 --- a/shared/systemd/src/basic/sort-util.h
 +++ b/shared/systemd/src/basic/sort-util.h
 @@ -5,15 +5,10 @@
@@ -120,40 +119,22 @@ index a8dc3bb..ff0aa88 100644
  
  /**
   * Normal bsearch requires base to be nonnull. Here were require
-@@ -54,17 +49,3 @@ static inline void _qsort_safe(void *base, size_t nmemb, size_t size, __compar_f
-                 int (*_func_)(const typeof(p[0])*, const typeof(p[0])*) = func; \
-                 _qsort_safe((p), (n), sizeof((p)[0]), (__compar_fn_t) _func_); \
-         })
--
--static inline void qsort_r_safe(void *base, size_t nmemb, size_t size, __compar_d_fn_t compar, void *userdata) {
--        if (nmemb <= 1)
--                return;
--
--        assert(base);
--        qsort_r(base, nmemb, size, compar, userdata);
--}
--
--#define typesafe_qsort_r(p, n, func, userdata)                          \
--        ({                                                              \
--                int (*_func_)(const typeof(p[0])*, const typeof(p[0])*, typeof(userdata)) = func; \
--                qsort_r_safe((p), (n), sizeof((p)[0]), (__compar_d_fn_t) _func_, userdata); \
--        })
 diff --git a/shared/systemd/src/basic/stdio-util.h b/shared/systemd/src/basic/stdio-util.h
-index c3b9448..e80a938 100644
+index d45d3c1a6..fee1a57ca 100644
 --- a/shared/systemd/src/basic/stdio-util.h
 +++ b/shared/systemd/src/basic/stdio-util.h
-@@ -1,7 +1,9 @@
- /* SPDX-License-Identifier: LGPL-2.1+ */
+@@ -2,7 +2,9 @@
  #pragma once
  
+ #if 0 /* NM_IGNORED */
 +#if defined(__GLIBC__)
  #include 
 +#endif
+ #endif /* NM_IGNORED */
  #include 
  #include 
- #include 
 diff --git a/shared/systemd/src/basic/string-util.h b/shared/systemd/src/basic/string-util.h
-index cefbda3..71e4dec 100644
+index 593cf04ae..541c393f6 100644
 --- a/shared/systemd/src/basic/string-util.h
 +++ b/shared/systemd/src/basic/string-util.h
 @@ -26,6 +26,11 @@
@@ -168,3 +149,6 @@ index cefbda3..71e4dec 100644
  int strcmp_ptr(const char *a, const char *b) _pure_;
  int strcasecmp_ptr(const char *a, const char *b) _pure_;
  
+-- 
+2.20.1
+
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0002-Fix-build-with-musl-systemd-specific.patch b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0002-Fix-build-with-musl-systemd-specific.patch
new file mode 100644
index 000000000..d83efd39e
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0002-Fix-build-with-musl-systemd-specific.patch
@@ -0,0 +1,26 @@
+From 7d9a11a17da425d106791ada7100d7a6559e6065 Mon Sep 17 00:00:00 2001
+From: Adrian Freihofer 
+Date: Sat, 7 Mar 2020 14:24:01 +0100
+Subject: [PATCH 2/2] Fix build with musl - systemd specific
+
+---
+ src/core/systemd/src/libsystemd-network/sd-dhcp6-client.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/src/core/systemd/src/libsystemd-network/sd-dhcp6-client.c b/src/core/systemd/src/libsystemd-network/sd-dhcp6-client.c
+index 3fafd3c0e..79d6096c2 100644
+--- a/src/core/systemd/src/libsystemd-network/sd-dhcp6-client.c
++++ b/src/core/systemd/src/libsystemd-network/sd-dhcp6-client.c
+@@ -8,7 +8,9 @@
+ #include 
+ #include 
+ #if 0 /* NM_IGNORED */
++#ifdef __GLIBC__  /* musl supplies full set of userspace headers */
+ #include 
++#endif
+ #else /* NM_IGNORED */
+ #include 
+ #endif /* NM_IGNORED */
+-- 
+2.20.1
+
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0002-Fix-build-with-musl.patch b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0002-Fix-build-with-musl.patch
deleted file mode 100644
index 0f43c0c68..000000000
--- a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0002-Fix-build-with-musl.patch
+++ /dev/null
@@ -1,121 +0,0 @@
-From bacc14089c80ec757025789ff054a05e1f9c088d Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= 
-Date: Mon, 8 Apr 2019 23:10:43 +0200
-Subject: [PATCH] Fix build with musl
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= 
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-The build issues caused by definition conflicts musl vs linux-libc headers
-(error: redefinition of ...) can be reduced to two headers:
-
-1. netinet/if_ether.h <-> linux/if_ether.h: linux-libc header plays well with
-   glibc and musl headers in case libc's variant (netinet/if_ether.h) is
-   included BEFORE linux variant [1]. We add include at two positions:
-   1. shared/nm-default.h: This is a global which used for networkmanager and
-      is included at the very beginning of all c-files.
-   2. libnm-core/nm-utils.h: This file makes it into installation and is used
-      by dependent packages as network-manager-applet
-2. net/if_arp. <-> linux/if_ether.h: linux-libc: Unfortunaly these files do
-   not play together in harmony. Therefore the libc variant is included early in
-   shared/nm-default.h and occurances linux/if_arp.h are removed.
-
-Note:
-Be aware that this is still nasty business: We have to trust that musl headers
-define same signatures as linux would do - just because musl-makers consider
-linux-libc headers 'notoriously broken for userspace' [2] (search for
-'error: redefinition of').
-
-[1] http://lists.openembedded.org/pipermail/openembedded-core/2019-March/280440.html
-[2] https://wiki.musl-libc.org/faq.html
-
-Upstream-Status: Pending
-
-Signed-off-by: Andreas Müller 
-
----
- clients/tui/nmt-device-entry.c   | 1 -
- libnm-core/nm-utils.h            | 4 ++++
- shared/nm-default.h              | 3 +++
- src/devices/nm-device.c          | 2 +-
- src/platform/nm-linux-platform.c | 1 -
- 5 files changed, 8 insertions(+), 3 deletions(-)
-
-diff --git a/clients/tui/nmt-device-entry.c b/clients/tui/nmt-device-entry.c
-index 692a467..cf9b32e 100644
---- a/clients/tui/nmt-device-entry.c
-+++ b/clients/tui/nmt-device-entry.c
-@@ -26,7 +26,6 @@
- #include "nmt-device-entry.h"
- 
- #include 
--#include 
- 
- #include "nmtui.h"
- 
-diff --git a/libnm-core/nm-utils.h b/libnm-core/nm-utils.h
-index 9589c51..b82c5cf 100644
---- a/libnm-core/nm-utils.h
-+++ b/libnm-core/nm-utils.h
-@@ -10,6 +10,10 @@
-     #error "Only  can be included directly."
- #endif
- 
-+/* include as early as possible for musl */
-+#include 
-+/* #include  - uncoment for broken dependents?? */
-+
- #include 
- 
- #include 
-diff --git a/shared/nm-default.h b/shared/nm-default.h
-index b322f1d..c287dbe 100644
---- a/shared/nm-default.h
-+++ b/shared/nm-default.h
-@@ -178,6 +178,9 @@
- #endif
- 
- #include 
-+/* include as early as possible for musl */
-+#include 
-+#include 
- 
- /*****************************************************************************/
- 
-diff --git a/src/devices/nm-device.c b/src/devices/nm-device.c
-index 0be05f2..04061f9 100644
---- a/src/devices/nm-device.c
-+++ b/src/devices/nm-device.c
-@@ -9,6 +9,7 @@
- #include "nm-device.h"
- 
- #include 
-+#include 
- #include 
- #include 
- #include 
-@@ -17,7 +18,6 @@
- #include 
- #include 
- #include 
--#include 
- #include 
- 
- #include "nm-std-aux/unaligned.h"
-diff --git a/src/platform/nm-linux-platform.c b/src/platform/nm-linux-platform.c
-index b377c85..87af59a 100644
---- a/src/platform/nm-linux-platform.c
-+++ b/src/platform/nm-linux-platform.c
-@@ -14,7 +14,6 @@
- #include 
- #include 
- #include 
--#include 
- #include 
- #include 
- #include 
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0003-Fix-build-with-musl-systemd-specific.patch b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0003-Fix-build-with-musl-systemd-specific.patch
deleted file mode 100644
index 5735d51a8..000000000
--- a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0003-Fix-build-with-musl-systemd-specific.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From ed748a28076eada9f38e3f4a476f28d7a10ba84b Mon Sep 17 00:00:00 2001
-From: Adrian Freihofer 
-Date: Sat, 7 Mar 2020 14:24:01 +0100
-Subject: [PATCH] Fix build with musl - systemd specific
-
----
- src/systemd/src/libsystemd-network/sd-dhcp6-client.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/src/systemd/src/libsystemd-network/sd-dhcp6-client.c b/src/systemd/src/libsystemd-network/sd-dhcp6-client.c
-index ec7f1be..31bcd4d 100644
---- a/src/systemd/src/libsystemd-network/sd-dhcp6-client.c
-+++ b/src/systemd/src/libsystemd-network/sd-dhcp6-client.c
-@@ -7,7 +7,9 @@
- 
- #include 
- #include 
-+#ifdef __GLIBC__  /* musl supplies full set of userspace headers */
- #include 
-+#endif
- #include 
- 
- #include "sd-dhcp6-client.h"
--- 
-2.24.1
-
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.28.0.bb b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.28.0.bb
deleted file mode 100644
index 7a20e914f..000000000
--- a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.28.0.bb
+++ /dev/null
@@ -1,183 +0,0 @@
-SUMMARY = "NetworkManager"
-HOMEPAGE = "https://wiki.gnome.org/Projects/NetworkManager"
-SECTION = "net/misc"
-
-LICENSE = "GPLv2+ & LGPLv2.1+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
-                    file://COPYING.LGPL;md5=4fbd65380cdd255951079008b364516c \
-"
-
-DEPENDS = " \
-    intltool-native \
-    libxslt-native \
-    libnl \
-    udev \
-    util-linux \
-    libndp \
-    libnewt \
-    curl \
-"
-
-inherit gnomebase gettext update-rc.d systemd vala gobject-introspection gtk-doc update-alternatives upstream-version-is-even
-
-SRC_URI = " \
-    ${GNOME_MIRROR}/NetworkManager/${@gnome_verdir("${PV}")}/NetworkManager-${PV}.tar.xz \
-    file://${BPN}.initd \
-    file://0001-Fixed-configure.ac-Fix-pkgconfig-sysroot-locations.patch \
-    file://0002-Do-not-create-settings-settings-property-documentati.patch \
-    file://0003-install-firewalld-to-var-libdir-rather-than-hardcod-.patch \
-    file://0004-fix_reallocarray_check.patch \
-"
-SRC_URI_append_libc-musl = " \
-    file://musl/0001-Fix-build-with-musl-systemd-specific.patch \
-    file://musl/0002-Fix-build-with-musl.patch \
-    file://musl/0003-Fix-build-with-musl-systemd-specific.patch \
-"
-SRC_URI[sha256sum] = "3e170e9045e20598d2630e40c5789b2e2c46b942bfe5cb220f36202299253062"
-
-S = "${WORKDIR}/NetworkManager-${PV}"
-
-EXTRA_OECONF = " \
-    --disable-ifcfg-rh \
-    --disable-more-warnings \
-    --with-iptables=${sbindir}/iptables \
-    --with-tests \
-    --with-nmtui=yes \
-    --with-udev-dir=${nonarch_base_libdir}/udev \
-    --with-dhclient=no \
-    --with-dhcpcd=no \
-    --with-dhcpcanon=no \
-    --with-netconfig=no \
-"
-
-# stolen from https://github.com/void-linux/void-packages/blob/master/srcpkgs/NetworkManager/template
-# avoids:
-# | ../NetworkManager-1.16.0/libnm-core/nm-json.c:106:50: error: 'RTLD_DEEPBIND' undeclared (first use in this function); did you mean 'RTLD_DEFAULT'?
-CFLAGS_append_libc-musl = " \
-    -DRTLD_DEEPBIND=0 \
-"
-
-do_compile_prepend() {
-    export GIR_EXTRA_LIBS_PATH="${B}/libnm/.libs:${B}/libnm-glib/.libs:${B}/libnm-util/.libs"
-}
-
-PACKAGECONFIG ??= "nss ifupdown dnsmasq nmcli \
-    ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', bb.utils.contains('DISTRO_FEATURES', 'x11', 'consolekit', '', d), d)} \
-    ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez5', '', d)} \
-    ${@bb.utils.filter('DISTRO_FEATURES', 'wifi polkit', d)} \
-"
-
-inherit ${@bb.utils.contains('PACKAGECONFIG', 'nmcli', 'bash-completion', '', d)}
-
-PACKAGECONFIG[systemd] = " \
-    --with-systemdsystemunitdir=${systemd_unitdir}/system --with-session-tracking=systemd, \
-    --without-systemdsystemunitdir, \
-"
-PACKAGECONFIG[polkit] = "--enable-polkit,--disable-polkit,polkit"
-PACKAGECONFIG[bluez5] = "--enable-bluez5-dun,--disable-bluez5-dun,bluez5"
-# consolekit is not picked by shlibs, so add it to RDEPENDS too
-PACKAGECONFIG[consolekit] = "--with-session-tracking=consolekit,,consolekit,consolekit"
-PACKAGECONFIG[modemmanager] = "--with-modem-manager-1=yes,--with-modem-manager-1=no,modemmanager"
-PACKAGECONFIG[ppp] = "--enable-ppp,--disable-ppp,ppp,ppp"
-PACKAGECONFIG[dnsmasq] = "--with-dnsmasq=${bindir}/dnsmasq"
-PACKAGECONFIG[nss] = "--with-crypto=nss,,nss"
-PACKAGECONFIG[resolvconf] = "--with-resolvconf=${base_sbindir}/resolvconf,,,resolvconf"
-PACKAGECONFIG[gnutls] = "--with-crypto=gnutls,,gnutls"
-PACKAGECONFIG[wifi] = "--with-wext=yes --enable-wifi=yes,--with-wext=no --enable-wifi=no,,wpa-supplicant"
-PACKAGECONFIG[ifupdown] = "--enable-ifupdown,--disable-ifupdown"
-PACKAGECONFIG[qt4-x11-free] = "--enable-qt,--disable-qt,qt4-x11-free"
-PACKAGECONFIG[cloud-setup] = "--with-nm-cloud-setup=yes,--with-nm-cloud-setup=no"
-PACKAGECONFIG[nmcli] = "--with-nmcli=yes,--with-nmcli=no,readline"
-PACKAGECONFIG[ovs] = "--enable-ovs,--disable-ovs,jansson"
-
-PACKAGES =+ " \
-  ${PN}-nmcli ${PN}-nmcli-doc \
-  ${PN}-nmtui ${PN}-nmtui-doc \
-  ${PN}-adsl ${PN}-cloud-setup \
-"
-
-SYSTEMD_PACKAGES = "${PN} ${PN}-cloud-setup"
-
-FILES_${PN}-adsl = "${libdir}/NetworkManager/${PV}/libnm-device-plugin-adsl.so"
-
-FILES_${PN}-cloud-setup = " \
-    ${libexecdir}/nm-cloud-setup \
-    ${systemd_system_unitdir}/nm-cloud-setup.service \
-    ${systemd_system_unitdir}/nm-cloud-setup.timer \
-    ${libdir}/NetworkManager/dispatcher.d/90-nm-cloud-setup.sh \
-    ${libdir}/NetworkManager/dispatcher.d/no-wait.d/90-nm-cloud-setup.sh \
-"
-ALLOW_EMPTY_${PN}-cloud-setup = "1"
-SYSTEMD_SERVICE_${PN}-cloud-setup = "${@bb.utils.contains('PACKAGECONFIG', 'cloud-setup', 'nm-cloud-setup.service nm-cloud-setup.timer', '', d)}"
-
-FILES_${PN} += " \
-    ${libexecdir} \
-    ${libdir}/NetworkManager/${PV}/*.so \
-    ${libdir}/NetworkManager \
-    ${libdir}/firewalld/zones \
-    ${nonarch_libdir}/NetworkManager/conf.d \
-    ${nonarch_libdir}/NetworkManager/dispatcher.d \
-    ${nonarch_libdir}/NetworkManager/dispatcher.d/pre-down.d \
-    ${nonarch_libdir}/NetworkManager/dispatcher.d/pre-up.d \
-    ${nonarch_libdir}/NetworkManager/dispatcher.d/no-wait.d \
-    ${nonarch_libdir}/NetworkManager/VPN \
-    ${nonarch_libdir}/NetworkManager/system-connections \
-    ${datadir}/polkit-1 \
-    ${datadir}/dbus-1 \
-    ${nonarch_base_libdir}/udev/* \
-    ${systemd_system_unitdir} \
-    ${libdir}/pppd \
-"
-
-RRECOMMENDS_${PN} += "iptables \
-    ${@bb.utils.filter('PACKAGECONFIG', 'dnsmasq', d)} \
-"
-RCONFLICTS_${PN} = "connman"
-
-FILES_${PN}-dev += " \
-    ${datadir}/NetworkManager/gdb-cmd \
-    ${libdir}/pppd/*/*.la \
-    ${libdir}/NetworkManager/*.la \
-    ${libdir}/NetworkManager/${PV}/*.la \
-"
-
-FILES_${PN}-nmcli = " \
-    ${bindir}/nmcli \
-"
-
-FILES_${PN}-nmcli-doc = " \
-    ${mandir}/man1/nmcli* \
-"
-
-FILES_${PN}-nmtui = " \
-    ${bindir}/nmtui \
-    ${bindir}/nmtui-edit \
-    ${bindir}/nmtui-connect \
-    ${bindir}/nmtui-hostname \
-"
-
-FILES_${PN}-nmtui-doc = " \
-    ${mandir}/man1/nmtui* \
-"
-
-INITSCRIPT_NAME = "network-manager"
-SYSTEMD_SERVICE_${PN} = "${@bb.utils.contains('PACKAGECONFIG', 'systemd', 'NetworkManager.service NetworkManager-dispatcher.service', '', d)}"
-
-ALTERNATIVE_PRIORITY = "100"
-ALTERNATIVE_${PN} = "${@bb.utils.contains('DISTRO_FEATURES','systemd','resolv-conf','',d)}"
-ALTERNATIVE_TARGET[resolv-conf] = "${@bb.utils.contains('DISTRO_FEATURES','systemd','${sysconfdir}/resolv-conf.NetworkManager','',d)}"
-ALTERNATIVE_LINK_NAME[resolv-conf] = "${@bb.utils.contains('DISTRO_FEATURES','systemd','${sysconfdir}/resolv.conf','',d)}"
-
-do_install_append() {
-    install -Dm 0755 ${WORKDIR}/${BPN}.initd ${D}${sysconfdir}/init.d/network-manager
-
-    rm -rf ${D}/run ${D}${localstatedir}/run
-
-    if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
-        # For read-only filesystem, do not create links during bootup
-        ln -sf ../run/NetworkManager/resolv.conf ${D}${sysconfdir}/resolv-conf.NetworkManager
-
-        # systemd v210 and newer do not need this rule file
-        rm ${D}/${nonarch_base_libdir}/udev/rules.d/84-nm-drivers.rules
-    fi
-}
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.30.2.bb b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.30.2.bb
new file mode 100644
index 000000000..ec3bdd22b
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.30.2.bb
@@ -0,0 +1,181 @@
+SUMMARY = "NetworkManager"
+HOMEPAGE = "https://wiki.gnome.org/Projects/NetworkManager"
+SECTION = "net/misc"
+
+LICENSE = "GPLv2+ & LGPLv2.1+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+                    file://COPYING.LGPL;md5=4fbd65380cdd255951079008b364516c \
+"
+
+DEPENDS = " \
+    intltool-native \
+    libxslt-native \
+    libnl \
+    udev \
+    util-linux \
+    libndp \
+    libnewt \
+    curl \
+"
+
+inherit gnomebase gettext update-rc.d systemd vala gobject-introspection gtk-doc update-alternatives upstream-version-is-even
+
+SRC_URI = " \
+    ${GNOME_MIRROR}/NetworkManager/${@gnome_verdir("${PV}")}/NetworkManager-${PV}.tar.xz \
+    file://${BPN}.initd \
+    file://0001-Fixed-configure.ac-Fix-pkgconfig-sysroot-locations.patch \
+    file://0002-Do-not-create-settings-settings-property-documentati.patch \
+    file://0003-install-firewalld-to-var-libdir-rather-than-hardcod-.patch \
+"
+SRC_URI_append_libc-musl = " \
+    file://musl/0001-Fix-build-with-musl-systemd-specific.patch \
+    file://musl/0002-Fix-build-with-musl-systemd-specific.patch \
+"
+SRC_URI[sha256sum] = "0c8e80e77877860e4a4e6ab4a0f7cdc1186e356b65b042a751897188b88944d2"
+
+S = "${WORKDIR}/NetworkManager-${PV}"
+
+EXTRA_OECONF = " \
+    --disable-ifcfg-rh \
+    --disable-more-warnings \
+    --with-iptables=${sbindir}/iptables \
+    --with-tests \
+    --with-nmtui=yes \
+    --with-udev-dir=${nonarch_base_libdir}/udev \
+    --with-dhclient=no \
+    --with-dhcpcd=no \
+    --with-dhcpcanon=no \
+    --with-netconfig=no \
+"
+
+# stolen from https://github.com/void-linux/void-packages/blob/master/srcpkgs/NetworkManager/template
+# avoids:
+# | ../NetworkManager-1.16.0/libnm-core/nm-json.c:106:50: error: 'RTLD_DEEPBIND' undeclared (first use in this function); did you mean 'RTLD_DEFAULT'?
+CFLAGS_append_libc-musl = " \
+    -DRTLD_DEEPBIND=0 \
+"
+
+do_compile_prepend() {
+    export GIR_EXTRA_LIBS_PATH="${B}/libnm/.libs:${B}/libnm-glib/.libs:${B}/libnm-util/.libs"
+}
+
+PACKAGECONFIG ??= "nss ifupdown dnsmasq nmcli \
+    ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', bb.utils.contains('DISTRO_FEATURES', 'x11', 'consolekit', '', d), d)} \
+    ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez5', '', d)} \
+    ${@bb.utils.filter('DISTRO_FEATURES', 'wifi polkit', d)} \
+"
+
+inherit ${@bb.utils.contains('PACKAGECONFIG', 'nmcli', 'bash-completion', '', d)}
+
+PACKAGECONFIG[systemd] = " \
+    --with-systemdsystemunitdir=${systemd_unitdir}/system --with-session-tracking=systemd, \
+    --without-systemdsystemunitdir, \
+"
+PACKAGECONFIG[polkit] = "--enable-polkit,--disable-polkit,polkit"
+PACKAGECONFIG[bluez5] = "--enable-bluez5-dun,--disable-bluez5-dun,bluez5"
+# consolekit is not picked by shlibs, so add it to RDEPENDS too
+PACKAGECONFIG[consolekit] = "--with-session-tracking=consolekit,,consolekit,consolekit"
+PACKAGECONFIG[modemmanager] = "--with-modem-manager-1=yes,--with-modem-manager-1=no,modemmanager"
+PACKAGECONFIG[ppp] = "--enable-ppp,--disable-ppp,ppp,ppp"
+PACKAGECONFIG[dnsmasq] = "--with-dnsmasq=${bindir}/dnsmasq"
+PACKAGECONFIG[nss] = "--with-crypto=nss,,nss"
+PACKAGECONFIG[resolvconf] = "--with-resolvconf=${base_sbindir}/resolvconf,,,resolvconf"
+PACKAGECONFIG[gnutls] = "--with-crypto=gnutls,,gnutls"
+PACKAGECONFIG[wifi] = "--with-wext=yes --enable-wifi=yes,--with-wext=no --enable-wifi=no,,wpa-supplicant"
+PACKAGECONFIG[ifupdown] = "--enable-ifupdown,--disable-ifupdown"
+PACKAGECONFIG[qt4-x11-free] = "--enable-qt,--disable-qt,qt4-x11-free"
+PACKAGECONFIG[cloud-setup] = "--with-nm-cloud-setup=yes,--with-nm-cloud-setup=no"
+PACKAGECONFIG[nmcli] = "--with-nmcli=yes,--with-nmcli=no,readline"
+PACKAGECONFIG[ovs] = "--enable-ovs,--disable-ovs,jansson"
+
+PACKAGES =+ " \
+  ${PN}-nmcli ${PN}-nmcli-doc \
+  ${PN}-nmtui ${PN}-nmtui-doc \
+  ${PN}-adsl ${PN}-cloud-setup \
+"
+
+SYSTEMD_PACKAGES = "${PN} ${PN}-cloud-setup"
+
+FILES_${PN}-adsl = "${libdir}/NetworkManager/${PV}/libnm-device-plugin-adsl.so"
+
+FILES_${PN}-cloud-setup = " \
+    ${libexecdir}/nm-cloud-setup \
+    ${systemd_system_unitdir}/nm-cloud-setup.service \
+    ${systemd_system_unitdir}/nm-cloud-setup.timer \
+    ${libdir}/NetworkManager/dispatcher.d/90-nm-cloud-setup.sh \
+    ${libdir}/NetworkManager/dispatcher.d/no-wait.d/90-nm-cloud-setup.sh \
+"
+ALLOW_EMPTY_${PN}-cloud-setup = "1"
+SYSTEMD_SERVICE_${PN}-cloud-setup = "${@bb.utils.contains('PACKAGECONFIG', 'cloud-setup', 'nm-cloud-setup.service nm-cloud-setup.timer', '', d)}"
+
+FILES_${PN} += " \
+    ${libexecdir} \
+    ${libdir}/NetworkManager/${PV}/*.so \
+    ${libdir}/NetworkManager \
+    ${libdir}/firewalld/zones \
+    ${nonarch_libdir}/NetworkManager/conf.d \
+    ${nonarch_libdir}/NetworkManager/dispatcher.d \
+    ${nonarch_libdir}/NetworkManager/dispatcher.d/pre-down.d \
+    ${nonarch_libdir}/NetworkManager/dispatcher.d/pre-up.d \
+    ${nonarch_libdir}/NetworkManager/dispatcher.d/no-wait.d \
+    ${nonarch_libdir}/NetworkManager/VPN \
+    ${nonarch_libdir}/NetworkManager/system-connections \
+    ${datadir}/polkit-1 \
+    ${datadir}/dbus-1 \
+    ${nonarch_base_libdir}/udev/* \
+    ${systemd_system_unitdir} \
+    ${libdir}/pppd \
+"
+
+RRECOMMENDS_${PN} += "iptables \
+    ${@bb.utils.filter('PACKAGECONFIG', 'dnsmasq', d)} \
+"
+RCONFLICTS_${PN} = "connman"
+
+FILES_${PN}-dev += " \
+    ${datadir}/NetworkManager/gdb-cmd \
+    ${libdir}/pppd/*/*.la \
+    ${libdir}/NetworkManager/*.la \
+    ${libdir}/NetworkManager/${PV}/*.la \
+"
+
+FILES_${PN}-nmcli = " \
+    ${bindir}/nmcli \
+"
+
+FILES_${PN}-nmcli-doc = " \
+    ${mandir}/man1/nmcli* \
+"
+
+FILES_${PN}-nmtui = " \
+    ${bindir}/nmtui \
+    ${bindir}/nmtui-edit \
+    ${bindir}/nmtui-connect \
+    ${bindir}/nmtui-hostname \
+"
+
+FILES_${PN}-nmtui-doc = " \
+    ${mandir}/man1/nmtui* \
+"
+
+INITSCRIPT_NAME = "network-manager"
+SYSTEMD_SERVICE_${PN} = "${@bb.utils.contains('PACKAGECONFIG', 'systemd', 'NetworkManager.service NetworkManager-dispatcher.service', '', d)}"
+
+ALTERNATIVE_PRIORITY = "100"
+ALTERNATIVE_${PN} = "${@bb.utils.contains('DISTRO_FEATURES','systemd','resolv-conf','',d)}"
+ALTERNATIVE_TARGET[resolv-conf] = "${@bb.utils.contains('DISTRO_FEATURES','systemd','${sysconfdir}/resolv-conf.NetworkManager','',d)}"
+ALTERNATIVE_LINK_NAME[resolv-conf] = "${@bb.utils.contains('DISTRO_FEATURES','systemd','${sysconfdir}/resolv.conf','',d)}"
+
+do_install_append() {
+    install -Dm 0755 ${WORKDIR}/${BPN}.initd ${D}${sysconfdir}/init.d/network-manager
+
+    rm -rf ${D}/run ${D}${localstatedir}/run
+
+    if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
+        # For read-only filesystem, do not create links during bootup
+        ln -sf ../run/NetworkManager/resolv.conf ${D}${sysconfdir}/resolv-conf.NetworkManager
+
+        # systemd v210 and newer do not need this rule file
+        rm ${D}/${nonarch_base_libdir}/udev/rules.d/84-nm-drivers.rules
+    fi
+}
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/snort/snort_2.9.17.1.bb b/meta-openembedded/meta-networking/recipes-connectivity/snort/snort_2.9.17.1.bb
new file mode 100644
index 000000000..9c20be537
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/snort/snort_2.9.17.1.bb
@@ -0,0 +1,111 @@
+DESCRIPTION = "snort - a free lightweight network intrusion detection system for UNIX and Windows."
+HOMEPAGE = "http://www.snort.org/"
+SECTION = "net"
+LICENSE = "GPL-2.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=78fa8ef966b48fbf9095e13cc92377c5"
+
+DEPENDS = "xz libpcap libpcre daq libdnet util-linux daq-native libtirpc bison-native"
+
+SRC_URI = "https://www.snort.org/downloads/archive/snort/${BP}.tar.gz \
+    file://snort.init \
+    file://volatiles.99_snort \
+    file://0001-libpcap-search-sysroot-for-headers.patch \
+    file://fix-host-contamination-when-enable-static-daq.patch \
+    file://disable-run-test-program-while-cross-compiling.patch \
+    file://configure.in-disable-tirpc-checking-for-fedora.patch \
+"
+SRC_URI[sha256sum] = "303d3d5dc5affecfeaad3a331d3163f901d48d960fdd6598cb55c6d1591eed82"
+
+UPSTREAM_CHECK_URI = "https://www.snort.org/downloads"
+UPSTREAM_CHECK_REGEX = "snort-(?P\d+(\.\d+)+)\.tar"
+
+inherit autotools gettext update-rc.d pkgconfig
+
+INITSCRIPT_NAME = "snort"
+INITSCRIPT_PARAMS = "defaults"
+
+EXTRA_OECONF = " \
+    --enable-gre \
+    --enable-linux-smp-stats \
+    --enable-reload \
+    --enable-reload-error-restart \
+    --enable-targetbased \
+    --enable-static-daq \
+    --with-dnet-includes=${STAGING_INCDIR} \
+    --with-dnet-libraries=${STAGING_LIBDIR} \
+    --with-libpcre-includes=${STAGING_INCDIR} \
+    --with-libpcre-libraries=${STAGING_LIBDIR} \
+    --with-daq-includes=${STAGING_INCDIR} \
+    --with-daq-libraries=${STAGING_LIBDIR} \
+"
+
+# if you want to disable it, you need to patch configure.in first
+# AC_CHECK_HEADERS([openssl/sha.h],, SHA_H="no")
+# is called even with --without-openssl-includes
+PACKAGECONFIG ?= "openssl lzma"
+PACKAGECONFIG[openssl] = "--with-openssl-includes=${STAGING_INCDIR} --with-openssl-libraries=${STAGING_LIBDIR}, --without-openssl-includes --without-openssl-libraries, openssl,"
+PACKAGECONFIG[lzma] = "--with-lzma-includes=${STAGING_INCDIR} --with-lzma-libraries=${STAGING_LIBDIR}, --without-lzma-includes --without-lzma-libraries, xz,"
+PACKAGECONFIG[appid] = "--enable-open-appid, --disable-open-appid, luajit, bash"
+
+CFLAGS += "-I${STAGING_INCDIR}/tirpc"
+LDFLAGS += " -ltirpc"
+
+do_install_append() {
+    install -d ${D}${sysconfdir}/snort/rules
+    install -d ${D}${sysconfdir}/snort/preproc_rules
+    install -d ${D}${sysconfdir}/init.d
+    for i in map config conf dtd; do
+        cp ${S}/etc/*.$i ${D}${sysconfdir}/snort/
+    done
+
+    # fix the hardcoded path and lib name
+    # comment out the rules that are not provided
+    sed -i -e 's#/usr/local/lib#${libdir}#' \
+           -e 's#\.\./\(.*rules\)#${sysconfdir}/snort/\1#' \
+           -e 's#\(libsf_engine.so\)#\1.0#' \
+           -e 's/^\(include $RULE_PATH\)/#\1/' \
+           -e 's/^\(dynamicdetection\)/#\1/' \
+           -e '/preprocessor reputation/,/blacklist/ s/^/#/' \
+           ${D}${sysconfdir}/snort/snort.conf
+
+    cp ${S}/preproc_rules/*.rules ${D}${sysconfdir}/snort/preproc_rules/
+    install -m 755 ${WORKDIR}/snort.init ${D}${sysconfdir}/init.d/snort
+
+    install -d ${D}${sysconfdir}/default/volatiles
+    install -m 0644 ${WORKDIR}/volatiles.99_snort ${D}${sysconfdir}/default/volatiles/99_snort
+
+    sed -i -e 's|-fdebug-prefix-map[^ ]*||g; s|-fmacro-prefix-map[^ ]*||g; s|${STAGING_DIR_TARGET}||g' ${D}${libdir}/pkgconfig/*.pc
+}
+
+pkg_postinst_${PN}() {
+    if [ -z "$D" ] && [ -e ${sysconfdir}/init.d/populate-volatile.sh ]; then
+        ${sysconfdir}/init.d/populate-volatile.sh update
+    fi
+}
+
+FILES_${PN} += " \
+    ${libdir}/snort_dynamicengine/*.so.* \
+    ${libdir}/snort_dynamicpreprocessor/*.so.* \
+    ${libdir}/snort_dynamicrules/*.so.* \
+"
+FILES_${PN}-dbg += " \
+    ${libdir}/snort_dynamicengine/.debug \
+    ${libdir}/snort_dynamicpreprocessor/.debug \
+    ${libdir}/snort_dynamicrules/.debug \
+"
+FILES_${PN}-staticdev += " \
+    ${libdir}/snort_dynamicengine/*.a \
+    ${libdir}/snort_dynamicpreprocessor/*.a \
+    ${libdir}/snort_dynamicrules/*.a \
+    ${libdir}/snort/dynamic_preproc/*.a \
+    ${libdir}/snort/dynamic_output/*.a \
+"
+FILES_${PN}-dev += " \
+    ${libdir}/snort_dynamicengine/*.la \
+    ${libdir}/snort_dynamicpreprocessor/*.la \
+    ${libdir}/snort_dynamicrules/*.la \
+    ${libdir}/snort_dynamicengine/*.so \
+    ${libdir}/snort_dynamicpreprocessor/*.so \
+    ${libdir}/snort_dynamicrules/*.so \
+    ${prefix}/src/snort_dynamicsrc \
+"
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/snort/snort_2.9.17.bb b/meta-openembedded/meta-networking/recipes-connectivity/snort/snort_2.9.17.bb
deleted file mode 100644
index 324114f63..000000000
--- a/meta-openembedded/meta-networking/recipes-connectivity/snort/snort_2.9.17.bb
+++ /dev/null
@@ -1,111 +0,0 @@
-DESCRIPTION = "snort - a free lightweight network intrusion detection system for UNIX and Windows."
-HOMEPAGE = "http://www.snort.org/"
-SECTION = "net"
-LICENSE = "GPL-2.0"
-LIC_FILES_CHKSUM = "file://COPYING;md5=78fa8ef966b48fbf9095e13cc92377c5"
-
-DEPENDS = "xz libpcap libpcre daq libdnet util-linux daq-native libtirpc bison-native"
-
-SRC_URI = "https://www.snort.org/downloads/archive/snort/${BP}.tar.gz \
-    file://snort.init \
-    file://volatiles.99_snort \
-    file://0001-libpcap-search-sysroot-for-headers.patch \
-    file://fix-host-contamination-when-enable-static-daq.patch \
-    file://disable-run-test-program-while-cross-compiling.patch \
-    file://configure.in-disable-tirpc-checking-for-fedora.patch \
-"
-SRC_URI[sha256sum] = "c3b234c3922a09b0368b847ddb8d1fa371b741f032f42aa9ab53d67b428dc648"
-
-UPSTREAM_CHECK_URI = "https://www.snort.org/downloads"
-UPSTREAM_CHECK_REGEX = "snort-(?P\d+(\.\d+)+)\.tar"
-
-inherit autotools gettext update-rc.d pkgconfig
-
-INITSCRIPT_NAME = "snort"
-INITSCRIPT_PARAMS = "defaults"
-
-EXTRA_OECONF = " \
-    --enable-gre \
-    --enable-linux-smp-stats \
-    --enable-reload \
-    --enable-reload-error-restart \
-    --enable-targetbased \
-    --enable-static-daq \
-    --with-dnet-includes=${STAGING_INCDIR} \
-    --with-dnet-libraries=${STAGING_LIBDIR} \
-    --with-libpcre-includes=${STAGING_INCDIR} \
-    --with-libpcre-libraries=${STAGING_LIBDIR} \
-    --with-daq-includes=${STAGING_INCDIR} \
-    --with-daq-libraries=${STAGING_LIBDIR} \
-"
-
-# if you want to disable it, you need to patch configure.in first
-# AC_CHECK_HEADERS([openssl/sha.h],, SHA_H="no")
-# is called even with --without-openssl-includes
-PACKAGECONFIG ?= "openssl lzma"
-PACKAGECONFIG[openssl] = "--with-openssl-includes=${STAGING_INCDIR} --with-openssl-libraries=${STAGING_LIBDIR}, --without-openssl-includes --without-openssl-libraries, openssl,"
-PACKAGECONFIG[lzma] = "--with-lzma-includes=${STAGING_INCDIR} --with-lzma-libraries=${STAGING_LIBDIR}, --without-lzma-includes --without-lzma-libraries, xz,"
-PACKAGECONFIG[appid] = "--enable-open-appid, --disable-open-appid, luajit, bash"
-
-CFLAGS += "-I${STAGING_INCDIR}/tirpc"
-LDFLAGS += " -ltirpc"
-
-do_install_append() {
-    install -d ${D}${sysconfdir}/snort/rules
-    install -d ${D}${sysconfdir}/snort/preproc_rules
-    install -d ${D}${sysconfdir}/init.d
-    for i in map config conf dtd; do
-        cp ${S}/etc/*.$i ${D}${sysconfdir}/snort/
-    done
-
-    # fix the hardcoded path and lib name
-    # comment out the rules that are not provided
-    sed -i -e 's#/usr/local/lib#${libdir}#' \
-           -e 's#\.\./\(.*rules\)#${sysconfdir}/snort/\1#' \
-           -e 's#\(libsf_engine.so\)#\1.0#' \
-           -e 's/^\(include $RULE_PATH\)/#\1/' \
-           -e 's/^\(dynamicdetection\)/#\1/' \
-           -e '/preprocessor reputation/,/blacklist/ s/^/#/' \
-           ${D}${sysconfdir}/snort/snort.conf
-
-    cp ${S}/preproc_rules/*.rules ${D}${sysconfdir}/snort/preproc_rules/
-    install -m 755 ${WORKDIR}/snort.init ${D}${sysconfdir}/init.d/snort
-
-    install -d ${D}${sysconfdir}/default/volatiles
-    install -m 0644 ${WORKDIR}/volatiles.99_snort ${D}${sysconfdir}/default/volatiles/99_snort
-
-    sed -i -e 's|-fdebug-prefix-map[^ ]*||g; s|-fmacro-prefix-map[^ ]*||g; s|${STAGING_DIR_TARGET}||g' ${D}${libdir}/pkgconfig/*.pc
-}
-
-pkg_postinst_${PN}() {
-    if [ -z "$D" ] && [ -e ${sysconfdir}/init.d/populate-volatile.sh ]; then
-        ${sysconfdir}/init.d/populate-volatile.sh update
-    fi
-}
-
-FILES_${PN} += " \
-    ${libdir}/snort_dynamicengine/*.so.* \
-    ${libdir}/snort_dynamicpreprocessor/*.so.* \
-    ${libdir}/snort_dynamicrules/*.so.* \
-"
-FILES_${PN}-dbg += " \
-    ${libdir}/snort_dynamicengine/.debug \
-    ${libdir}/snort_dynamicpreprocessor/.debug \
-    ${libdir}/snort_dynamicrules/.debug \
-"
-FILES_${PN}-staticdev += " \
-    ${libdir}/snort_dynamicengine/*.a \
-    ${libdir}/snort_dynamicpreprocessor/*.a \
-    ${libdir}/snort_dynamicrules/*.a \
-    ${libdir}/snort/dynamic_preproc/*.a \
-    ${libdir}/snort/dynamic_output/*.a \
-"
-FILES_${PN}-dev += " \
-    ${libdir}/snort_dynamicengine/*.la \
-    ${libdir}/snort_dynamicpreprocessor/*.la \
-    ${libdir}/snort_dynamicrules/*.la \
-    ${libdir}/snort_dynamicengine/*.so \
-    ${libdir}/snort_dynamicpreprocessor/*.so \
-    ${libdir}/snort_dynamicrules/*.so \
-    ${prefix}/src/snort_dynamicsrc \
-"
diff --git a/meta-openembedded/meta-networking/recipes-daemons/lldpd/lldpd_1.0.4.bb b/meta-openembedded/meta-networking/recipes-daemons/lldpd/lldpd_1.0.4.bb
deleted file mode 100644
index 8fdaf848f..000000000
--- a/meta-openembedded/meta-networking/recipes-daemons/lldpd/lldpd_1.0.4.bb
+++ /dev/null
@@ -1,64 +0,0 @@
-SUMMARY = "A 802.1ab implementation (LLDP) to help you locate neighbors of all your equipments"
-SECTION = "net/misc"
-LICENSE = "ISC"
-LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/ISC;md5=f3b90e78ea0cffb20bf5cca7947a896d"
-
-DEPENDS = "libbsd libevent"
-
-SRC_URI = "\
-    http://media.luffy.cx/files/${BPN}/${BPN}-${PV}.tar.gz \
-    file://lldpd.init.d \
-    file://lldpd.default \
-    "
-
-SRC_URI[md5sum] = "33e8d58623f99184e4e709cbbfe45db3"
-SRC_URI[sha256sum] = "5319bc032fabf1008d5d91e280276aa7f1bbfbb70129d8526cd4526d7c22724f"
-
-inherit autotools update-rc.d useradd systemd pkgconfig bash-completion
-
-USERADD_PACKAGES = "${PN}"
-USERADD_PARAM_${PN} = "--system -g lldpd --shell /bin/false lldpd"
-GROUPADD_PARAM_${PN} = "--system lldpd"
-
-EXTRA_OECONF += "--without-embedded-libevent \
-                 --disable-oldies \
-                 --with-privsep-user=lldpd \
-                 --with-privsep-group=lldpd \
-                 --with-systemdsystemunitdir=${systemd_system_unitdir} \
-                 --without-sysusersdir \
-"
-
-PACKAGECONFIG ??= "cdp fdp edp sonmp lldpmed dot1 dot3"
-PACKAGECONFIG[xml] = "--with-xml,--without-xml,libxm2"
-PACKAGECONFIG[snmp] = "--with-snmp,--without-snmp,net-snmp"
-PACKAGECONFIG[readline] = "--with-readline,--without-readline,readline"
-PACKAGECONFIG[seccomp] = "--with-seccomp,--without-seccomp,libseccomp"
-PACKAGECONFIG[cdp] = "--enable-cdp,--disable-cdp"
-PACKAGECONFIG[fdp] = "--enable-fdp,--disable-fdp"
-PACKAGECONFIG[edp] = "--enable-edp,--disable-edp"
-PACKAGECONFIG[sonmp] = "--enable-sonmp,--disable-sonmp"
-PACKAGECONFIG[lldpmed] = "--enable-lldpmed,--disable-lldpmed"
-PACKAGECONFIG[dot1] = "--enable-dot1,--disable-dot1"
-PACKAGECONFIG[dot3] = "--enable-dot3,--disable-dot3"
-PACKAGECONFIG[custom] = "--enable-custom,--disable-custom"
-
-INITSCRIPT_NAME = "lldpd"
-INITSCRIPT_PARAMS = "defaults"
-
-SYSTEMD_SERVICE_${PN} = "lldpd.service"
-
-do_install_append() {
-    install -Dm 0755 ${WORKDIR}/lldpd.init.d ${D}${sysconfdir}/init.d/lldpd
-    install -Dm 0644 ${WORKDIR}/lldpd.default ${D}${sysconfdir}/default/lldpd
-    # Make an empty configuration file
-    touch ${D}${sysconfdir}/lldpd.conf
-}
-
-PACKAGES =+ "${PN}-zsh-completion"
-
-FILES_${PN} += "${libdir}/sysusers.d"
-RDEPENDS_${PN} += "os-release"
-
-FILES_${PN}-zsh-completion += "${datadir}/zsh/"
-# FIXME: zsh is broken in meta-oe so this cannot be enabled for now
-#RDEPENDS_${PN}-zsh-completion += "zsh"
diff --git a/meta-openembedded/meta-networking/recipes-daemons/lldpd/lldpd_1.0.8.bb b/meta-openembedded/meta-networking/recipes-daemons/lldpd/lldpd_1.0.8.bb
new file mode 100644
index 000000000..bd94c0919
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-daemons/lldpd/lldpd_1.0.8.bb
@@ -0,0 +1,64 @@
+SUMMARY = "A 802.1ab implementation (LLDP) to help you locate neighbors of all your equipments"
+SECTION = "net/misc"
+LICENSE = "ISC"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/ISC;md5=f3b90e78ea0cffb20bf5cca7947a896d"
+
+DEPENDS = "libbsd libevent"
+
+SRC_URI = "\
+    http://media.luffy.cx/files/${BPN}/${BPN}-${PV}.tar.gz \
+    file://lldpd.init.d \
+    file://lldpd.default \
+    "
+
+SRC_URI[md5sum] = "000042dbf5b445f750b5ba01ab25c8ba"
+SRC_URI[sha256sum] = "98d200e76e30f6262c4a4493148c1840827898329146a57a34f8f0f928ca3def"
+
+inherit autotools update-rc.d useradd systemd pkgconfig bash-completion
+
+USERADD_PACKAGES = "${PN}"
+USERADD_PARAM_${PN} = "--system -g lldpd --shell /bin/false lldpd"
+GROUPADD_PARAM_${PN} = "--system lldpd"
+
+EXTRA_OECONF += "--without-embedded-libevent \
+                 --disable-oldies \
+                 --with-privsep-user=lldpd \
+                 --with-privsep-group=lldpd \
+                 --with-systemdsystemunitdir=${systemd_system_unitdir} \
+                 --without-sysusersdir \
+"
+
+PACKAGECONFIG ??= "cdp fdp edp sonmp lldpmed dot1 dot3"
+PACKAGECONFIG[xml] = "--with-xml,--without-xml,libxm2"
+PACKAGECONFIG[snmp] = "--with-snmp,--without-snmp,net-snmp"
+PACKAGECONFIG[readline] = "--with-readline,--without-readline,readline"
+PACKAGECONFIG[seccomp] = "--with-seccomp,--without-seccomp,libseccomp"
+PACKAGECONFIG[cdp] = "--enable-cdp,--disable-cdp"
+PACKAGECONFIG[fdp] = "--enable-fdp,--disable-fdp"
+PACKAGECONFIG[edp] = "--enable-edp,--disable-edp"
+PACKAGECONFIG[sonmp] = "--enable-sonmp,--disable-sonmp"
+PACKAGECONFIG[lldpmed] = "--enable-lldpmed,--disable-lldpmed"
+PACKAGECONFIG[dot1] = "--enable-dot1,--disable-dot1"
+PACKAGECONFIG[dot3] = "--enable-dot3,--disable-dot3"
+PACKAGECONFIG[custom] = "--enable-custom,--disable-custom"
+
+INITSCRIPT_NAME = "lldpd"
+INITSCRIPT_PARAMS = "defaults"
+
+SYSTEMD_SERVICE_${PN} = "lldpd.service"
+
+do_install_append() {
+    install -Dm 0755 ${WORKDIR}/lldpd.init.d ${D}${sysconfdir}/init.d/lldpd
+    install -Dm 0644 ${WORKDIR}/lldpd.default ${D}${sysconfdir}/default/lldpd
+    # Make an empty configuration file
+    touch ${D}${sysconfdir}/lldpd.conf
+}
+
+PACKAGES =+ "${PN}-zsh-completion"
+
+FILES_${PN} += "${libdir}/sysusers.d"
+RDEPENDS_${PN} += "os-release"
+
+FILES_${PN}-zsh-completion += "${datadir}/zsh/"
+# FIXME: zsh is broken in meta-oe so this cannot be enabled for now
+#RDEPENDS_${PN}-zsh-completion += "zsh"
diff --git a/meta-openembedded/meta-networking/recipes-support/fetchmail/fetchmail_6.4.17.bb b/meta-openembedded/meta-networking/recipes-support/fetchmail/fetchmail_6.4.17.bb
deleted file mode 100644
index 7c513f62b..000000000
--- a/meta-openembedded/meta-networking/recipes-support/fetchmail/fetchmail_6.4.17.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-SUMMARY = "Fetchmail retrieves mail from remote mail servers and forwards it via SMTP"
-HOMEPAGE = "http://www.fetchmail.info/"
-DESCRIPTION = "Fetchmail is a full-featured, robust, well-documented remote-mail retrieval \
-and forwarding utility intended to be used over on-demand TCP/IP links (such as SLIP or PPP \
-connections). It supports every remote-mail protocol now in use on the Internet: POP2, POP3, \
-RPOP, APOP, KPOP, all flavors of IMAP, ETRN, and ODMR. It can even support IPv6 and IPSEC."
-SECTION = "mail"
-LICENSE = "GPLv2 & MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=06a8d16599e1d0b131390bec01fb571c"
-
-DEPENDS = "openssl"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.xz \
-           "
-SRC_URI[sha256sum] = "a41bcdf11b41aa0682b259aee4717c617c15dadd43fa008b2ed38b770f4d50c6"
-
-inherit autotools gettext python3-dir python3native
-
-EXTRA_OECONF = "--with-ssl=${STAGING_DIR_HOST}${prefix}"
-
-PACKAGES =+ "fetchmail-python"
-FILES_fetchmail-python = "${libdir}/${PYTHON_DIR}/*"
diff --git a/meta-openembedded/meta-networking/recipes-support/fetchmail/fetchmail_6.4.18.bb b/meta-openembedded/meta-networking/recipes-support/fetchmail/fetchmail_6.4.18.bb
new file mode 100644
index 000000000..7254a4713
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-support/fetchmail/fetchmail_6.4.18.bb
@@ -0,0 +1,22 @@
+SUMMARY = "Fetchmail retrieves mail from remote mail servers and forwards it via SMTP"
+HOMEPAGE = "http://www.fetchmail.info/"
+DESCRIPTION = "Fetchmail is a full-featured, robust, well-documented remote-mail retrieval \
+and forwarding utility intended to be used over on-demand TCP/IP links (such as SLIP or PPP \
+connections). It supports every remote-mail protocol now in use on the Internet: POP2, POP3, \
+RPOP, APOP, KPOP, all flavors of IMAP, ETRN, and ODMR. It can even support IPv6 and IPSEC."
+SECTION = "mail"
+LICENSE = "GPLv2 & MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=06a8d16599e1d0b131390bec01fb571c"
+
+DEPENDS = "openssl"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.xz \
+           "
+SRC_URI[sha256sum] = "302dc9bcdc6927dedf375d2baaead2347557faa70d98b1da83f2409fa6fb259f"
+
+inherit autotools gettext python3-dir python3native
+
+EXTRA_OECONF = "--with-ssl=${STAGING_DIR_HOST}${prefix}"
+
+PACKAGES =+ "fetchmail-python"
+FILES_fetchmail-python = "${libdir}/${PYTHON_DIR}/*"
diff --git a/meta-openembedded/meta-networking/recipes-support/nbdkit/nbdkit_1.25.4.bb b/meta-openembedded/meta-networking/recipes-support/nbdkit/nbdkit_1.25.4.bb
deleted file mode 100644
index 37f6a8b76..000000000
--- a/meta-openembedded/meta-networking/recipes-support/nbdkit/nbdkit_1.25.4.bb
+++ /dev/null
@@ -1,34 +0,0 @@
-SUMMARY = "nbdkit is a toolkit for creating NBD servers."
-DESCRIPTION = "NBD — Network Block Device — is a protocol \
-for accessing Block Devices (hard disks and disk-like things) \
-over a Network. \
-\
-nbdkit is a toolkit for creating NBD servers."
-
-HOMEPAGE = "https://github.com/libguestfs/nbdkit"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=f9dcc2d8acdde215fa4bd6ac12bb14f0"
-
-SRC_URI = "git://github.com/libguestfs/nbdkit.git;protocol=https \
-"
-
-SRCREV = "7b04baeb1858fa04f5f4e0d6f2d23bef706e80da"
-
-S = "${WORKDIR}/git"
-
-DEPENDS = "curl xz e2fsprogs zlib"
-
-# autotools-brokensep is needed as nbdkit does not support build in external directory
-inherit pkgconfig python3native perlnative bash-completion autotools-brokensep
-
-# Those are required to build standalone
-EXTRA_OECONF = " --without-libvirt --without-libguestfs --disable-perl"
-
-# Disable some extended support (not desired for small embedded systems)
-#EXTRA_OECONF += " --disable-python"
-#EXTRA_OECONF += " --disable-ocaml"
-#EXTRA_OECONF += " --disable-rust"
-#EXTRA_OECONF += " --disable-ruby"
-#EXTRA_OECONF += " --disable-tcl"
-#EXTRA_OECONF += " --disable-lua"
-#EXTRA_OECONF += " --disable-vddk"
diff --git a/meta-openembedded/meta-networking/recipes-support/nbdkit/nbdkit_1.25.5.bb b/meta-openembedded/meta-networking/recipes-support/nbdkit/nbdkit_1.25.5.bb
new file mode 100644
index 000000000..a6070ccf8
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-support/nbdkit/nbdkit_1.25.5.bb
@@ -0,0 +1,34 @@
+SUMMARY = "nbdkit is a toolkit for creating NBD servers."
+DESCRIPTION = "NBD — Network Block Device — is a protocol \
+for accessing Block Devices (hard disks and disk-like things) \
+over a Network. \
+\
+nbdkit is a toolkit for creating NBD servers."
+
+HOMEPAGE = "https://github.com/libguestfs/nbdkit"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=f9dcc2d8acdde215fa4bd6ac12bb14f0"
+
+SRC_URI = "git://github.com/libguestfs/nbdkit.git;protocol=https \
+"
+
+SRCREV = "c828c6d48ff6b69454cad98054a1920d03c4b4c7"
+
+S = "${WORKDIR}/git"
+
+DEPENDS = "curl xz e2fsprogs zlib"
+
+# autotools-brokensep is needed as nbdkit does not support build in external directory
+inherit pkgconfig python3native perlnative bash-completion autotools-brokensep
+
+# Those are required to build standalone
+EXTRA_OECONF = " --without-libvirt --without-libguestfs --disable-perl"
+
+# Disable some extended support (not desired for small embedded systems)
+#EXTRA_OECONF += " --disable-python"
+#EXTRA_OECONF += " --disable-ocaml"
+#EXTRA_OECONF += " --disable-rust"
+#EXTRA_OECONF += " --disable-ruby"
+#EXTRA_OECONF += " --disable-tcl"
+#EXTRA_OECONF += " --disable-lua"
+#EXTRA_OECONF += " --disable-vddk"
diff --git a/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-Add-resolv_compat.h-for-musl-builds.patch b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-Add-resolv_compat.h-for-musl-builds.patch
new file mode 100644
index 000000000..aa7a5607c
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-Add-resolv_compat.h-for-musl-builds.patch
@@ -0,0 +1,72 @@
+From c0c36ba5dd7047710e4c3135f147ce4119021200 Mon Sep 17 00:00:00 2001
+From: Trevor Gamblin 
+Date: Wed, 14 Apr 2021 10:24:52 -0400
+Subject: [PATCH] Add resolv_compat.h for musl builds
+
+musl doesn't implement res_ninit, so it needs to be defined
+independently for musl builds. This patch is based on the one at
+https://gitweb.gentoo.org/proj/musl.git/tree/dev-qt/qtwebengine/files/qtwebengine-5.7.0-musl-resolver.patch?id=7f4100326793d55d45d0f5bb6178827ce6173513
+
+Upstream-Status: Pending
+
+Signed-off-by: Trevor Gamblin 
+---
+ open-vm-tools/lib/nicInfo/nicInfoPosix.c  |  4 +++
+ open-vm-tools/lib/nicInfo/resolv_compat.h | 30 +++++++++++++++++++++++
+ 2 files changed, 34 insertions(+)
+ create mode 100644 open-vm-tools/lib/nicInfo/resolv_compat.h
+
+diff --git a/open-vm-tools/lib/nicInfo/nicInfoPosix.c b/open-vm-tools/lib/nicInfo/nicInfoPosix.c
+index 8710c542..25f3146e 100644
+--- a/open-vm-tools/lib/nicInfo/nicInfoPosix.c
++++ b/open-vm-tools/lib/nicInfo/nicInfoPosix.c
+@@ -70,6 +70,10 @@
+ #   include 
+ #endif
+ 
++#if !defined(__GLIBC__)
++#include "resolv_compat.h"
++#endif
++
+ /*
+  * resolver(3) and IPv6:
+  *
+diff --git a/open-vm-tools/lib/nicInfo/resolv_compat.h b/open-vm-tools/lib/nicInfo/resolv_compat.h
+new file mode 100644
+index 00000000..d768464b
+--- /dev/null
++++ b/open-vm-tools/lib/nicInfo/resolv_compat.h
+@@ -0,0 +1,30 @@
++#if !defined(__GLIBC__)
++/***************************************************************************
++ * resolv_compat.h
++ *
++ * Mimick GLIBC's res_ninit() and res_nclose() for musl libc
++ * Note: res_init() is actually deprecated according to
++ * http://docs.oracle.com/cd/E36784_01/html/E36875/res-nclose-3resolv.html
++ **************************************************************************/
++#include 
++
++static inline int res_ninit(res_state statp)
++{
++	int rc = res_init();
++	if (statp != &_res) {
++		memcpy(statp, &_res, sizeof(*statp));
++	}
++	return rc;
++}
++
++static inline int res_nclose(res_state statp)
++{
++	if (!statp)
++		return -1;
++	if (statp != &_res) {
++		memset(statp, 0, sizeof(*statp));
++	}
++	return 0;
++}
++#endif
++
+-- 
+2.30.2
+
diff --git a/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-GitHub-Issue-367.-Remove-references-to-deprecated-G_.patch b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-GitHub-Issue-367.-Remove-references-to-deprecated-G_.patch
deleted file mode 100644
index 6cb5dfccc..000000000
--- a/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-GitHub-Issue-367.-Remove-references-to-deprecated-G_.patch
+++ /dev/null
@@ -1,94 +0,0 @@
-From 6fb28085e867d7c3ef46577d9ff193a185693bcb Mon Sep 17 00:00:00 2001
-From: Oliver Kurth 
-Date: Mon, 30 Sep 2019 16:24:27 -0700
-Subject: [PATCH] GitHub Issue #367. Remove references to deprecated G_INLINE_FUNC.
-
-G_INLINE_FUNC was a work-around for compilers that didn't support
-static inline.  Change uses of it to static inline.
-
-Upstream-Status: Backport
-[https://github.com/vmware/open-vm-tools/commit/89c0d444567eb525e8d083fb564c46d68e96660c]
-
-Signed-off-by: Khem Raj 
----
- open-vm-tools/lib/include/vmware/tools/plugin.h     | 2 +-
- open-vm-tools/lib/include/vmware/tools/threadPool.h | 8 ++++----
- open-vm-tools/lib/include/vmware/tools/utils.h      | 9 ---------
- 3 files changed, 5 insertions(+), 14 deletions(-)
-
-diff --git a/open-vm-tools/lib/include/vmware/tools/plugin.h b/open-vm-tools/lib/include/vmware/tools/plugin.h
-index f9acc6a2..deefd1f3 100644
---- a/open-vm-tools/lib/include/vmware/tools/plugin.h
-+++ b/open-vm-tools/lib/include/vmware/tools/plugin.h
-@@ -290,7 +290,7 @@ typedef struct ToolsAppCtx {
-  *
-  * @return TRUE if COM is initialized when the function returns.
-  */
--G_INLINE_FUNC gboolean
-+static inline gboolean
- ToolsCore_InitializeCOM(ToolsAppCtx *ctx)
- {
-    if (!ctx->comInitialized) {
-diff --git a/open-vm-tools/lib/include/vmware/tools/threadPool.h b/open-vm-tools/lib/include/vmware/tools/threadPool.h
-index 3f2082b3..5880fbcf 100644
---- a/open-vm-tools/lib/include/vmware/tools/threadPool.h
-+++ b/open-vm-tools/lib/include/vmware/tools/threadPool.h
-@@ -91,7 +91,7 @@ typedef struct ToolsCorePool {
-  *******************************************************************************
-  */
- 
--G_INLINE_FUNC ToolsCorePool *
-+static inline ToolsCorePool *
- ToolsCorePool_GetPool(ToolsAppCtx *ctx)
- {
-    ToolsCorePool *pool = NULL;
-@@ -123,7 +123,7 @@ ToolsCorePool_GetPool(ToolsAppCtx *ctx)
-  *******************************************************************************
-  */
- 
--G_INLINE_FUNC guint
-+static inline guint
- ToolsCorePool_SubmitTask(ToolsAppCtx *ctx,
-                          ToolsCorePoolCb cb,
-                          gpointer data,
-@@ -153,7 +153,7 @@ ToolsCorePool_SubmitTask(ToolsAppCtx *ctx,
-  *******************************************************************************
-  */
- 
--G_INLINE_FUNC void
-+static inline void
- ToolsCorePool_CancelTask(ToolsAppCtx *ctx,
-                          guint taskId)
- {
-@@ -197,7 +197,7 @@ ToolsCorePool_CancelTask(ToolsAppCtx *ctx,
-  *******************************************************************************
-  */
- 
--G_INLINE_FUNC gboolean
-+static inline gboolean
- ToolsCorePool_StartThread(ToolsAppCtx *ctx,
-                           const gchar *threadName,
-                           ToolsCorePoolCb cb,
-diff --git a/open-vm-tools/lib/include/vmware/tools/utils.h b/open-vm-tools/lib/include/vmware/tools/utils.h
-index f6574590..a3292d5c 100644
---- a/open-vm-tools/lib/include/vmware/tools/utils.h
-+++ b/open-vm-tools/lib/include/vmware/tools/utils.h
-@@ -51,15 +51,6 @@
- #  include 
- #endif
- 
--
--/* Work around a glib limitation: it doesn't set G_INLINE_FUNC on Win32. */
--#if defined(G_PLATFORM_WIN32)
--#  if defined(G_INLINE_FUNC)
--#     undef G_INLINE_FUNC
--#  endif
--#  define G_INLINE_FUNC static __inline
--#endif
--
- #ifndef ABS
- #  define ABS(x) (((x) >= 0) ? (x) : -(x))
- #endif
--- 
-2.23.0
-
diff --git a/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-pollGtk-Drop-volatile-qualifier.patch b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-pollGtk-Drop-volatile-qualifier.patch
deleted file mode 100644
index adc6571f7..000000000
--- a/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-pollGtk-Drop-volatile-qualifier.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 7bd280f3cc07208760759c98bbfbac3f9d28f77c Mon Sep 17 00:00:00 2001
-From: Khem Raj 
-Date: Fri, 5 Mar 2021 08:58:29 -0800
-Subject: [PATCH] pollGtk: Drop volatile qualifier
-
-glib-2.0 has changed the function interfaces as well and do not expect
-it to be volatile. GCC 11 complains about it
-
-glib/gatomic.h:112:5: error: argument 2 of '__atomic_load' discards 'volatile' qualifier [-Werror=incompatible-pointer-types]
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj 
----
- open-vm-tools/lib/pollGtk/pollGtk.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/open-vm-tools/lib/pollGtk/pollGtk.c b/open-vm-tools/lib/pollGtk/pollGtk.c
-index 6d95bf01..a941e7a7 100644
---- a/open-vm-tools/lib/pollGtk/pollGtk.c
-+++ b/open-vm-tools/lib/pollGtk/pollGtk.c
-@@ -1473,7 +1473,7 @@ PollGtkBasicCallback(gpointer data) // IN: The eventEntry
- void
- Poll_InitGtk(void)
- {
--   static volatile gsize inited = 0;
-+   static gsize inited = 0;
- 
-    static const PollImpl gtkImpl =
-    {
--- 
-2.30.1
-
diff --git a/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-pollGtk-Fix-volatile-qualifier-exposed-incorrectly.patch b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-pollGtk-Fix-volatile-qualifier-exposed-incorrectly.patch
new file mode 100644
index 000000000..fdcd7d614
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-pollGtk-Fix-volatile-qualifier-exposed-incorrectly.patch
@@ -0,0 +1,29 @@
+From 524fd4db646b4ac2155074b4cedf8436a8ff726d Mon Sep 17 00:00:00 2001
+From: Khem Raj 
+Date: Thu, 15 Apr 2021 06:58:31 -0700
+Subject: [PATCH] pollGtk: Fix volatile qualifier exposed incorrectly
+
+GCC11 flags it
+
+Fixes
+glib-2.0/glib/gatomic.h:117:5: error: argument 2 of '__atomic_load' discards 'volatile' qualifier [-Werror=incompatible-pointer-types]
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj 
+---
+ open-vm-tools/lib/pollGtk/pollGtk.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/open-vm-tools/lib/pollGtk/pollGtk.c b/open-vm-tools/lib/pollGtk/pollGtk.c
+index 4ccaeda6..336a8bf1 100644
+--- a/open-vm-tools/lib/pollGtk/pollGtk.c
++++ b/open-vm-tools/lib/pollGtk/pollGtk.c
+@@ -127,7 +127,7 @@ typedef struct Poll {
+ } Poll;
+ 
+ static Poll *pollState;
+-static volatile gsize inited = 0;
++static gsize inited = 0;
+ 
+ static VMwareStatus
+ PollGtkCallback(PollClassSet classSet,   // IN
diff --git a/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-utilBacktrace-Ignore-Warray-bounds.patch b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-utilBacktrace-Ignore-Warray-bounds.patch
deleted file mode 100644
index 95664e855..000000000
--- a/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-utilBacktrace-Ignore-Warray-bounds.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From ac3f93ea087d3a5461fe57fe021d0fe9a959e13c Mon Sep 17 00:00:00 2001
-From: Khem Raj 
-Date: Wed, 25 Dec 2019 15:25:02 -0800
-Subject: [PATCH] utilBacktrace: Ignore -Warray-bounds
-
-This is new warning with gcc10, until its fixed ignore it like gcc<10
-did
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj 
----
- open-vm-tools/lib/user/utilBacktrace.c | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/open-vm-tools/lib/user/utilBacktrace.c b/open-vm-tools/lib/user/utilBacktrace.c
-index b72340ad..97ca53f2 100644
---- a/open-vm-tools/lib/user/utilBacktrace.c
-+++ b/open-vm-tools/lib/user/utilBacktrace.c
-@@ -517,6 +517,11 @@ Util_BacktraceWithFunc(int bugNr,                // IN:
-    } else {
-       outFunc(outFuncData, "Backtrace for bugNr=%d\n",bugNr);
-    }
-+#pragma GCC diagnostic push
-+#pragma GCC diagnostic ignored "-Warray-bounds"
-+
-    Util_BacktraceFromPointerWithFunc(&x[-2], outFunc, outFuncData);
-+#pragma GCC diagnostic pop
- #endif
- }
-+
--- 
-2.24.1
-
diff --git a/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0002-add-include-sys-sysmacros.h.patch b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0002-add-include-sys-sysmacros.h.patch
deleted file mode 100644
index 34628ffbe..000000000
--- a/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0002-add-include-sys-sysmacros.h.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 3fa237b3afabc293e563292b8d89265a871626ad Mon Sep 17 00:00:00 2001
-From: Martin Kelly 
-Date: Mon, 22 May 2017 17:00:05 -0700
-Subject: [PATCH] add #include 
-
-In newer glibc versions, the definition for major() has been moved to
-sys/sysmacros.h, and using the older version in  has been
-deprecated. So, add an include for .
-
-Upstream-Status: Pending
-
-Signed-off-by: Martin Kelly 
----
- open-vm-tools/lib/wiper/wiperPosix.c | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/open-vm-tools/lib/wiper/wiperPosix.c b/open-vm-tools/lib/wiper/wiperPosix.c
-index bd542410..ccf06293 100644
---- a/open-vm-tools/lib/wiper/wiperPosix.c
-+++ b/open-vm-tools/lib/wiper/wiperPosix.c
-@@ -43,6 +43,9 @@
- #  include 
- # endif /* __FreeBSD_version >= 500000 */
- #endif
-+#if defined(__linux__)
-+#include 
-+#endif
- #include 
- 
- #include "vmware.h"
diff --git a/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0002-hgfsServerLinux-Consider-64bit-time_t-possibility.patch b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0002-hgfsServerLinux-Consider-64bit-time_t-possibility.patch
index 0f64eabc9..efada7aaf 100644
--- a/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0002-hgfsServerLinux-Consider-64bit-time_t-possibility.patch
+++ b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0002-hgfsServerLinux-Consider-64bit-time_t-possibility.patch
@@ -1,22 +1,27 @@
-From fe56b67a2915a8632ea30604c14241f335dd3c15 Mon Sep 17 00:00:00 2001
+From deba3b87a9bfad007f94b840c9ccd6f1c78c2e98 Mon Sep 17 00:00:00 2001
 From: Khem Raj 
-Date: Tue, 12 Nov 2019 10:49:46 -0800
-Subject: [PATCH] hgfsServerLinux: Consider 64bit time_t possibility
+Date: Wed, 24 Mar 2021 17:36:26 -0400
+Subject: [PATCH 1/2] hgfsServerLinux: Consider 64bit time_t possibility
 
 Upstream-Status: Pending
+
+Refit for open-vm-tools-11.2.5.
+
 Signed-off-by: Khem Raj 
+Signed-off-by: Randy MacLeod 
+Signed-off-by: Trevor Gamblin 
 ---
  .../lib/hgfsServer/hgfsServerLinux.c          | 19 +++++--------------
  1 file changed, 5 insertions(+), 14 deletions(-)
 
 diff --git a/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c b/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c
-index 03175623..554da67f 100644
+index 62aeee6d..ba2e5624 100644
 --- a/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c
 +++ b/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c
-@@ -2561,20 +2561,11 @@ HgfsStatToFileAttr(struct stat *stats,       // IN: stat information
-    LOG(4, ("%s: done, permissions %o%o%o%o, size %"FMT64"u\n", __FUNCTION__,
-            attr->specialPerms, attr->ownerPerms, attr->groupPerms,
-            attr->otherPerms, attr->size));
+@@ -2566,20 +2566,11 @@ HgfsStatToFileAttr(struct stat *stats,       // IN: stat information
+    LOG(4, "%s: done, permissions %o%o%o%o, size %"FMT64"u\n", __FUNCTION__,
+        attr->specialPerms, attr->ownerPerms, attr->groupPerms,
+        attr->otherPerms, attr->size);
 -#ifdef __FreeBSD__
 -#   if !defined(VM_X86_64) && __FreeBSD_version >= 500043
 -#      define FMTTIMET ""
@@ -26,16 +31,19 @@ index 03175623..554da67f 100644
 -#else
 -#   define FMTTIMET "l"
 -#endif
--   LOG(4, ("access: %"FMTTIMET"d/%"FMT64"u \nwrite: %"FMTTIMET"d/%"FMT64"u \n"
--           "attr: %"FMTTIMET"d/%"FMT64"u\n",
--           stats->st_atime, attr->accessTime, stats->st_mtime, attr->writeTime,
--           stats->st_ctime, attr->attrChangeTime));
+-   LOG(4, "access: %"FMTTIMET"d/%"FMT64"u \nwrite: %"FMTTIMET"d/%"FMT64"u \n"
+-       "attr: %"FMTTIMET"d/%"FMT64"u\n",
+-       stats->st_atime, attr->accessTime, stats->st_mtime, attr->writeTime,
+-       stats->st_ctime, attr->attrChangeTime);
 -#undef FMTTIMET
-+   LOG(4, ("access: %jd/%"FMT64"u \nwrite: %jd/%"FMT64"u \n"
-+           "attr: %jd/%"FMT64"u\n",
-+           (intmax_t)stats->st_atime, attr->accessTime,
-+	   (intmax_t)stats->st_mtime, attr->writeTime,
-+           (intmax_t)stats->st_ctime, attr->attrChangeTime));
++   //LOG(4, ("access: %jd/%"FMT64"u \nwrite: %jd/%"FMT64"u \n"
++   //        "attr: %jd/%"FMT64"u\n",
++   //        (intmax_t)stats->st_atime, attr->accessTime,
++   //        (intmax_t)stats->st_mtime, attr->writeTime,
++   //        (intmax_t)stats->st_ctime, attr->attrChangeTime));
  
     attr->userId = stats->st_uid;
     attr->groupId = stats->st_gid;
+-- 
+2.30.2
+
diff --git a/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0005-Use-configure-to-test-for-feature-instead-of-platfor.patch b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0005-Use-configure-to-test-for-feature-instead-of-platfor.patch
index c6378b808..34d4ce4a9 100644
--- a/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0005-Use-configure-to-test-for-feature-instead-of-platfor.patch
+++ b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0005-Use-configure-to-test-for-feature-instead-of-platfor.patch
@@ -1,4 +1,4 @@
-From 719d60978f979cf2e03771a9b8a62e36c92639f9 Mon Sep 17 00:00:00 2001
+From b653a81da70c44af002dcbc7489ad9f4588ed11d Mon Sep 17 00:00:00 2001
 From: Natanael Copa 
 Date: Wed, 18 Nov 2015 10:05:07 +0000
 Subject: [PATCH] Use configure to test for feature instead of platform
@@ -18,7 +18,10 @@ The features we test for are:
 
 This is needed for musl libc.
 
+Refit patch of open-vm-tools/lib/nicInfo/nicInfoPosix.c
+
 Signed-off-by: Natanael Copa 
+Signed-off-by: Randy MacLeod 
 ---
  open-vm-tools/configure.ac               |  4 ++++
  open-vm-tools/lib/misc/idLinux.c         | 30 +++++++++++-------------
@@ -26,10 +29,10 @@ Signed-off-by: Natanael Copa 
  3 files changed, 23 insertions(+), 17 deletions(-)
 
 diff --git a/open-vm-tools/configure.ac b/open-vm-tools/configure.ac
-index 48ff1ef3..71e684bb 100644
+index 27f3717f..6baab9e3 100644
 --- a/open-vm-tools/configure.ac
 +++ b/open-vm-tools/configure.ac
-@@ -897,6 +897,7 @@ AC_CHECK_FUNCS(
+@@ -923,6 +923,7 @@ AC_CHECK_FUNCS(
  
  AC_CHECK_FUNCS([ecvt])
  AC_CHECK_FUNCS([fcvt])
@@ -37,7 +40,7 @@ index 48ff1ef3..71e684bb 100644
  
  AC_CHECK_FUNC([mkdtemp], [have_mkdtemp=yes])
  
-@@ -1145,10 +1146,13 @@ fi
+@@ -1132,10 +1133,13 @@ fi
  ###
  
  AC_CHECK_HEADERS([crypt.h])
@@ -52,7 +55,7 @@ index 48ff1ef3..71e684bb 100644
  AC_CHECK_HEADERS([sys/io.h])
  AC_CHECK_HEADERS([sys/param.h]) # Required to make the sys/user.h check work correctly on FreeBSD
 diff --git a/open-vm-tools/lib/misc/idLinux.c b/open-vm-tools/lib/misc/idLinux.c
-index b950cf84..1dcfb508 100644
+index 1bb86f48..41c670cf 100644
 --- a/open-vm-tools/lib/misc/idLinux.c
 +++ b/open-vm-tools/lib/misc/idLinux.c
 @@ -27,12 +27,9 @@
@@ -69,7 +72,7 @@ index b950cf84..1dcfb508 100644
  #ifdef __APPLE__
  #include 
  #include 
-@@ -997,31 +994,32 @@ Id_EndSuperUser(uid_t uid)  // IN:
+@@ -1025,31 +1022,32 @@ Id_EndSuperUser(uid_t uid)  // IN:
  static Bool
  IdIsSetUGid(void)
  {
@@ -115,13 +118,13 @@ index b950cf84..1dcfb508 100644
  }
  #endif
 diff --git a/open-vm-tools/lib/nicInfo/nicInfoPosix.c b/open-vm-tools/lib/nicInfo/nicInfoPosix.c
-index a22981d5..b4e08681 100644
+index cc5fa281..8710c542 100644
 --- a/open-vm-tools/lib/nicInfo/nicInfoPosix.c
 +++ b/open-vm-tools/lib/nicInfo/nicInfoPosix.c
-@@ -34,9 +34,13 @@
- #include 
+@@ -35,9 +35,13 @@
  #include 
  #include 
+ #include 
 -#if defined(__FreeBSD__) || defined(__APPLE__)
 +#if HAVE_SYS_SYSCTL_H
  # include 
@@ -133,3 +136,6 @@ index a22981d5..b4e08681 100644
  # include 
  #endif
  #ifndef NO_DNET
+-- 
+2.27.0
+
diff --git a/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0009-Rename-poll.h-to-vm_poll.h.patch b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0009-Rename-poll.h-to-vm_poll.h.patch
index 9cf54f6f4..214dac471 100644
--- a/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0009-Rename-poll.h-to-vm_poll.h.patch
+++ b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0009-Rename-poll.h-to-vm_poll.h.patch
@@ -1,27 +1,36 @@
-From 8793466326dd10b0d2dbb83c64beff5cc8c0fc7d Mon Sep 17 00:00:00 2001
-From: Khem Raj 
-Date: Wed, 13 Jun 2018 23:11:58 -0700
+From 7a5db1cf47e70e72d78a42468912c276e57f865e Mon Sep 17 00:00:00 2001
+From: Randy MacLeod 
+Date: Wed, 24 Mar 2021 16:21:35 -0400
 Subject: [PATCH] Rename poll.h to vm_poll.h
 
+Rename poll.h to vm_poll.h and switch from:
+   #include 
+to
+   #include 
+
 musl libc's system headers pulls in open-vm-tools' poll.h. To avoid this
 we rename poll.h to vm_poll.h.
 
+Update for open-vm-tools-11.2.5.
+
 Signed-off-by: Natanael Copa 
 Signed-off-by: Khem Raj 
+Signed-off-by: Randy MacLeod 
 ---
- open-vm-tools/lib/asyncsocket/asyncsocket.c                     | 2 +-
- open-vm-tools/lib/hgfsServer/hgfsServer.c                       | 2 +-
- open-vm-tools/lib/include/asyncsocket.h                         | 2 +-
- open-vm-tools/lib/include/pollImpl.h                            | 2 +-
- open-vm-tools/lib/include/{poll.h => vm_poll.h}                 | 2 +-
- open-vm-tools/lib/rpcIn/rpcin.c                                 | 2 +-
- .../services/plugins/grabbitmqProxy/grabbitmqProxyPlugin.c      | 2 +-
- 7 files changed, 7 insertions(+), 7 deletions(-)
+ open-vm-tools/lib/asyncsocket/asyncsocket.c     | 2 +-
+ open-vm-tools/lib/hgfsServer/hgfsServer.c       | 2 +-
+ open-vm-tools/lib/include/asyncsocket.h         | 2 +-
+ open-vm-tools/lib/include/pollImpl.h            | 2 +-
+ open-vm-tools/lib/include/{poll.h => vm_poll.h} | 2 +-
+ open-vm-tools/lib/rpcIn/rpcin.c                 | 2 +-
+ 6 files changed, 6 insertions(+), 6 deletions(-)
  rename open-vm-tools/lib/include/{poll.h => vm_poll.h} (99%)
 
+diff --git a/open-vm-tools/lib/asyncsocket/asyncsocket.c b/open-vm-tools/lib/asyncsocket/asyncsocket.c
+index 9914ffc5..89679f7a 100644
 --- a/open-vm-tools/lib/asyncsocket/asyncsocket.c
 +++ b/open-vm-tools/lib/asyncsocket/asyncsocket.c
-@@ -86,7 +86,7 @@
+@@ -87,7 +87,7 @@
  #include "random.h"
  #include "asyncsocket.h"
  #include "asyncSocketBase.h"
@@ -30,20 +39,24 @@ Signed-off-by: Khem Raj 
  #include "log.h"
  #include "err.h"
  #include "hostinfo.h"
+diff --git a/open-vm-tools/lib/hgfsServer/hgfsServer.c b/open-vm-tools/lib/hgfsServer/hgfsServer.c
+index 3a18a7e1..acdda54d 100644
 --- a/open-vm-tools/lib/hgfsServer/hgfsServer.c
 +++ b/open-vm-tools/lib/hgfsServer/hgfsServer.c
-@@ -48,7 +48,7 @@
- #include "hgfsServerOplock.h"
+@@ -51,7 +51,7 @@
  #include "hgfsDirNotify.h"
+ #include "hgfsThreadpool.h"
  #include "userlock.h"
 -#include "poll.h"
 +#include "vm_poll.h"
  #include "mutexRankLib.h"
  #include "vm_basic_asm.h"
  #include "unicodeOperations.h"
+diff --git a/open-vm-tools/lib/include/asyncsocket.h b/open-vm-tools/lib/include/asyncsocket.h
+index 746dd78b..82c22f46 100644
 --- a/open-vm-tools/lib/include/asyncsocket.h
 +++ b/open-vm-tools/lib/include/asyncsocket.h
-@@ -164,7 +164,7 @@ typedef struct AsyncSocket AsyncSocket;
+@@ -171,7 +171,7 @@ typedef struct AsyncSocket AsyncSocket;
   * Or the client can specify its favorite poll class and locking behavior.
   * Use of IVmdbPoll is only supported for regular sockets and for Attach.
   */
@@ -52,6 +65,8 @@ Signed-off-by: Khem Raj 
  struct IVmdbPoll;
  typedef struct AsyncSocketPollParams {
     int flags;               /* Default 0, only POLL_FLAG_NO_BULL is valid */
+diff --git a/open-vm-tools/lib/include/pollImpl.h b/open-vm-tools/lib/include/pollImpl.h
+index 46442e55..8bc66997 100644
 --- a/open-vm-tools/lib/include/pollImpl.h
 +++ b/open-vm-tools/lib/include/pollImpl.h
 @@ -44,7 +44,7 @@
@@ -63,672 +78,24 @@ Signed-off-by: Khem Raj 
  #include "vm_basic_asm.h"
  
  #if defined(__cplusplus)
+diff --git a/open-vm-tools/lib/include/poll.h b/open-vm-tools/lib/include/vm_poll.h
+similarity index 99%
+rename from open-vm-tools/lib/include/poll.h
+rename to open-vm-tools/lib/include/vm_poll.h
+index c90f5dcd..73a56204 100644
 --- a/open-vm-tools/lib/include/poll.h
-+++ /dev/null
-@@ -1,330 +0,0 @@
--/*********************************************************
-- * Copyright (C) 1998-2018 VMware, Inc. All rights reserved.
-- *
-- * This program is free software; you can redistribute it and/or modify it
-- * under the terms of the GNU Lesser General Public License as published
-- * by the Free Software Foundation version 2.1 and no later version.
-- *
-- * This program is distributed in the hope that it will be useful, but
-- * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
-- * or FITNESS FOR A PARTICULAR PURPOSE.  See the Lesser GNU General Public
-- * License for more details.
-- *
-- * You should have received a copy of the GNU Lesser General Public License
-- * along with this program; if not, write to the Free Software Foundation, Inc.,
-- * 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA.
-- *
-- *********************************************************/
--
--/*********************************************************
-- * The contents of this file are subject to the terms of the Common
-- * Development and Distribution License (the "License") version 1.0
-- * and no later version.  You may not use this file except in
-- * compliance with the License.
-- *
-- * You can obtain a copy of the License at
-- *         http://www.opensource.org/licenses/cddl1.php
-- *
-- * See the License for the specific language governing permissions
-- * and limitations under the License.
-- *
-- *********************************************************/
--
--
--#ifndef _POLL_H_
--#define _POLL_H_
--
--#define INCLUDE_ALLOW_USERLEVEL
--#define INCLUDE_ALLOW_VMCORE
--#include "includeCheck.h"
--
--#include "vm_basic_types.h"
--#include "vm_basic_defs.h"
--#include "vmware.h"
--#include "userlock.h"
--
--#if defined(__cplusplus)
--extern "C" {
--#endif
--
--#ifdef _WIN32
--#define HZ 100
--#elif defined linux
--#include 
--#elif __APPLE__
--#include 
--/*
-- * Old SDKs don't define TARGET_OS_IPHONE at all.
-- * New ones define it to 0 on Mac OS X, 1 on iOS.
-- */
--#if !defined(TARGET_OS_IPHONE) || TARGET_OS_IPHONE == 0
--#include 
--#endif
--#include 
--#define HZ 100
--#endif
--#ifdef __ANDROID__
--/*
-- *  of android should be included, but its name is same
-- * with this file. So its content is put here to avoid conflict.
-- */
--#include 
--#define HZ 100
--typedef unsigned int  nfds_t;
--int poll(struct pollfd *, nfds_t, long);
--#endif
--
--
--/*
-- * Poll event types: each type has a different reason for firing,
-- * or condition that must be met before firing.
-- */
--
--typedef enum {
--   /*
--    * Actual Poll queue types against which you can register callbacks.
--    */
--   POLL_VIRTUALREALTIME = -1, /* Negative because it doesn't have its own Q */
--   POLL_VTIME = 0,
--   POLL_REALTIME,
--   POLL_DEVICE,
--   POLL_MAIN_LOOP,
--   POLL_NUM_QUEUES
--} PollEventType;
--
--
--/*
-- * Classes of events
-- *
-- * These are the predefined classes.  More can be declared
-- * with Poll_AllocClass().
-- */
--
--typedef enum PollClass {
--   POLL_CLASS_MAIN,
--   POLL_CLASS_PAUSE,
--   POLL_CLASS_IPC,
--   POLL_CLASS_CPT,
--   POLL_CLASS_MKS,
--   POLL_FIXED_CLASSES,
--   POLL_DEFAULT_FIXED_CLASSES,
--   /* Size enum to maximum */
--   POLL_MAX_CLASSES = 31,
--} PollClass;
--
--/*
-- * Do not use; Special pseudo private poll class supported by
-- * PollDefault only
-- */
--#define POLL_DEFAULT_CLASS_NET POLL_FIXED_CLASSES
--#define POLL_DEFAULT_CS_NET    PollClassSet_Singleton(POLL_DEFAULT_CLASS_NET)
--
--/*
-- * Each callback is registered in a set of classes
-- */
--
--typedef struct PollClassSet {
--   uintptr_t bits;
--} PollClassSet;
--
--/* An empty PollClassSet. */
--static INLINE PollClassSet
--PollClassSet_Empty(void)
--{
--   PollClassSet set = { 0 };
--   return set;
--}
--
--/* A PollClassSet with the single member. */
--static INLINE PollClassSet
--PollClassSet_Singleton(PollClass c)
--{
--   PollClassSet s = PollClassSet_Empty();
--
--   ASSERT_ON_COMPILE(POLL_MAX_CLASSES < sizeof s.bits * 8);
--   ASSERT(c < POLL_MAX_CLASSES);
--
--   s.bits = CONST3264U(1) << c;
--   return s;
--}
--
--/* Combine two PollClassSets. */
--static INLINE PollClassSet
--PollClassSet_Union(PollClassSet lhs, PollClassSet rhs)
--{
--   PollClassSet set;
--   set.bits = lhs.bits | rhs.bits;
--   return set;
--}
--
--/* Add single class to PollClassSet. */
--static INLINE PollClassSet
--PollClassSet_Include(PollClassSet set, PollClass c)
--{
--   return PollClassSet_Union(set, PollClassSet_Singleton(c));
--}
--
--
--#define POLL_CS_MAIN    PollClassSet_Singleton(POLL_CLASS_MAIN)
--#define POLL_CS_PAUSE   PollClassSet_Union(POLL_CS_MAIN,            \
--                           PollClassSet_Singleton(POLL_CLASS_PAUSE))
--#define POLL_CS_CPT     PollClassSet_Union(POLL_CS_PAUSE,           \
--                           PollClassSet_Singleton(POLL_CLASS_CPT))
--#define POLL_CS_IPC     PollClassSet_Union(POLL_CS_CPT,             \
--                           PollClassSet_Singleton(POLL_CLASS_IPC))
--#define POLL_CS_VMDB    POLL_CS_PAUSE /* POLL_CLASS_VMDB is retired */
--#define POLL_CS_MKS	PollClassSet_Singleton(POLL_CLASS_MKS)
--/* 
-- * DANGER.  You don't need POLL_CS_ALWAYS.  Really.  So don't use it.
-- */
--#define POLL_CS_ALWAYS  PollClassSet_Union(POLL_CS_CPT, POLL_CS_IPC)
--
--/*
-- * Poll class-set taxonomy:
-- * POLL_CS_MAIN
-- *    - Unless you NEED another class, use POLL_CS_MAIN.
-- * POLL_CS_PAUSE
-- *    - For callbacks that must occur even if the guest is paused.
-- *      Most VMDB or Foundry commands are in this category.
-- * POLL_CS_CPT
-- *    - Only for callbacks which can trigger intermediate Checkpoint 
-- *      transitions.
-- *      The ONLY such callback is Migrate.
-- * POLL_CS_IPC
-- *    - Only for callbacks which can contain Msg_(Post|Hint|Question) 
-- *      responses, and for signal handlers (why)?
-- *      Vigor, VMDB, and Foundry can contain Msg_* responses.
-- * POLL_CS_MKS
-- *    - Callback runs in MKS thread.
-- * POLL_CS_ALWAYS
-- *    - Only for events that must be processed immediately.
-- *      The ONLY such callback is OvhdMemVmxSizeCheck.
-- */
--
--
--/*
-- * Poll_Callback flags
-- */
--
--#define POLL_FLAG_PERIODIC		0x01    // keep after firing
--#define POLL_FLAG_REMOVE_AT_POWEROFF	0x02  	// self-explanatory
--#define POLL_FLAG_READ			0x04	// device is ready for reading
--#define POLL_FLAG_WRITE			0x08	// device is ready for writing
--#define POLL_FLAG_SOCKET                0x10    // device is a Windows socket
--#define POLL_FLAG_NO_BULL               0x20    // callback does its own locking
--#define POLL_FLAG_WINSOCK               0x40    // Winsock style write events
--#define POLL_FLAG_FD                    0x80    // device is a Windows file descriptor.
--#define POLL_FLAG_ACCEPT_INVALID_FDS    0x100   // For broken 3rd party libs, e.g. curl
--#define POLL_FLAG_THUNK_TO_WND          0x200   // thunk callback to window message loop
--
--
--typedef void (*PollerFunction)(void *clientData);
--typedef void (*PollerFireWrapper)(PollerFunction func,
--                                  void *funcData,
--                                  void *wrapperData);
--typedef Bool (*PollerErrorFn)(const char *errorStr);
--
--/*
-- * Initialisers:
-- *
-- *      For the sake of convenience, we declare the initialisers
-- *      for custom implmentations here, even though the actual
-- *      implementations are distinct from the core poll code.
-- */
--
--typedef struct PollOptions {
--   Bool locked;           // Use internal MXUser for locking
--   Bool allowFullQueue;   // Don't assert when device event queue is full.
--   VThreadID windowsMsgThread;       // thread that processes Windows messages
--   PollerFireWrapper fireWrapperFn;  // optional; may be useful for stats
--   void *fireWrapperData; // optional
--   PollerErrorFn errorFn; // optional; called upon unrecoverable error
--} PollOptions;
--
--
--void Poll_InitDefault(void);
--void Poll_InitDefaultEx(const PollOptions *opts);
--void Poll_InitGtk(void); // On top of glib for Linux
--void Poll_InitCF(void);  // On top of CoreFoundation for OSX
--
--
--/*
-- * Functions
-- */
--int Poll_SocketPair(Bool vmci, Bool stream, int fds[2]);
--void Poll_Loop(Bool loop, Bool *exit, PollClass c);
--void Poll_LoopTimeout(Bool loop, Bool *exit, PollClass c, int timeout);
--Bool Poll_LockingEnabled(void);
--void Poll_Exit(void);
--
--
--/*
-- * Poll_Callback adds a callback regardless of whether an identical one exists.
-- * The exception to this rule is POLL_DEVICE callbacks: there is a maximum of
-- * one read and one write callback per fd.
-- *
-- * Poll_CallbackRemove removes one callback. If there are multiple identical
-- * callbacks, which one is removed is an implementation detail. Note that in
-- * the case of POLL_DEVICE and POLL_REALTIME callbacks, the fd/delay used to
-- * create the callback is not specified when removing, so all callbacks
-- * of those types with the same flags, function, and clientData are considered
-- * "identical" even if their fd/delay differed.
-- */
--
--VMwareStatus Poll_Callback(PollClassSet classSet,
--                           int flags,
--                           PollerFunction f,
--                           void *clientData,
--                           PollEventType type,
--                           PollDevHandle info, // fd/microsec delay
--                           MXUserRecLock *lck);
--Bool Poll_CallbackRemove(PollClassSet classSet,
--                         int flags,
--                         PollerFunction f,
--                         void *clientData,
--                         PollEventType type);
--Bool Poll_CallbackRemoveOneByCB(PollClassSet classSet,
--                                int flags,
--                                PollerFunction f,
--                                PollEventType type,
--                                void **clientData);
--
--void Poll_NotifyChange(PollClassSet classSet);
--
--/*
-- * Wrappers for Poll_Callback and Poll_CallbackRemove that present
-- * simpler subsets of those interfaces.
-- */
--
--VMwareStatus Poll_CB_Device(PollerFunction f,
--                            void *clientData,
--                            PollDevHandle device,
--                            Bool periodic);
--
--Bool Poll_CB_DeviceRemove(PollerFunction f,
--                          void *clientData,
--                          Bool periodic);
--
--
--VMwareStatus Poll_CB_RTime(PollerFunction f,
--                           void *clientData,
--                           int64 delay,   // microseconds
--                           Bool periodic,
--                           MXUserRecLock *lock);
--
--Bool Poll_CB_RTimeRemove(PollerFunction f,
--                         void *clientData,
--                         Bool periodic);
--
--
--#ifdef _WIN32
--void Poll_SetPumpsWindowsMessages(Bool pumps);
--void Poll_SetWindowMessageRecipient(HWND hWnd, UINT msg, Bool alwaysThunk);
--Bool Poll_FireWndCallback(void *lparam);
--#endif
--
--#if defined(__cplusplus)
--}  // extern "C"
--#endif
--
--#endif // _POLL_H_
---- /dev/null
 +++ b/open-vm-tools/lib/include/vm_poll.h
-@@ -0,0 +1,330 @@
-+/*********************************************************
-+ * Copyright (C) 1998-2018 VMware, Inc. All rights reserved.
-+ *
-+ * This program is free software; you can redistribute it and/or modify it
-+ * under the terms of the GNU Lesser General Public License as published
-+ * by the Free Software Foundation version 2.1 and no later version.
-+ *
-+ * This program is distributed in the hope that it will be useful, but
-+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
-+ * or FITNESS FOR A PARTICULAR PURPOSE.  See the Lesser GNU General Public
-+ * License for more details.
-+ *
-+ * You should have received a copy of the GNU Lesser General Public License
-+ * along with this program; if not, write to the Free Software Foundation, Inc.,
-+ * 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA.
-+ *
-+ *********************************************************/
-+
-+/*********************************************************
-+ * The contents of this file are subject to the terms of the Common
-+ * Development and Distribution License (the "License") version 1.0
-+ * and no later version.  You may not use this file except in
-+ * compliance with the License.
-+ *
-+ * You can obtain a copy of the License at
-+ *         http://www.opensource.org/licenses/cddl1.php
-+ *
-+ * See the License for the specific language governing permissions
-+ * and limitations under the License.
-+ *
-+ *********************************************************/
-+
-+
-+#ifndef _POLL_H_
-+#define _POLL_H_
-+
-+#define INCLUDE_ALLOW_USERLEVEL
-+#define INCLUDE_ALLOW_VMCORE
-+#include "includeCheck.h"
-+
-+#include "vm_basic_types.h"
-+#include "vm_basic_defs.h"
-+#include "vmware.h"
-+#include "userlock.h"
-+
-+#if defined(__cplusplus)
-+extern "C" {
-+#endif
-+
-+#ifdef _WIN32
-+#define HZ 100
-+#elif defined linux
-+#include 
-+#elif __APPLE__
-+#include 
-+/*
-+ * Old SDKs don't define TARGET_OS_IPHONE at all.
-+ * New ones define it to 0 on Mac OS X, 1 on iOS.
-+ */
-+#if !defined(TARGET_OS_IPHONE) || TARGET_OS_IPHONE == 0
-+#include 
-+#endif
+@@ -60,7 +60,7 @@ extern "C" {
+ #if !defined(TARGET_OS_IPHONE) || TARGET_OS_IPHONE == 0
+ #include 
+ #endif
+-#include 
 +#include 
-+#define HZ 100
-+#endif
-+#ifdef __ANDROID__
-+/*
-+ *  of android should be included, but its name is same
-+ * with this file. So its content is put here to avoid conflict.
-+ */
-+#include 
-+#define HZ 100
-+typedef unsigned int  nfds_t;
-+int poll(struct pollfd *, nfds_t, long);
-+#endif
-+
-+
-+/*
-+ * Poll event types: each type has a different reason for firing,
-+ * or condition that must be met before firing.
-+ */
-+
-+typedef enum {
-+   /*
-+    * Actual Poll queue types against which you can register callbacks.
-+    */
-+   POLL_VIRTUALREALTIME = -1, /* Negative because it doesn't have its own Q */
-+   POLL_VTIME = 0,
-+   POLL_REALTIME,
-+   POLL_DEVICE,
-+   POLL_MAIN_LOOP,
-+   POLL_NUM_QUEUES
-+} PollEventType;
-+
-+
-+/*
-+ * Classes of events
-+ *
-+ * These are the predefined classes.  More can be declared
-+ * with Poll_AllocClass().
-+ */
-+
-+typedef enum PollClass {
-+   POLL_CLASS_MAIN,
-+   POLL_CLASS_PAUSE,
-+   POLL_CLASS_IPC,
-+   POLL_CLASS_CPT,
-+   POLL_CLASS_MKS,
-+   POLL_FIXED_CLASSES,
-+   POLL_DEFAULT_FIXED_CLASSES,
-+   /* Size enum to maximum */
-+   POLL_MAX_CLASSES = 31,
-+} PollClass;
-+
-+/*
-+ * Do not use; Special pseudo private poll class supported by
-+ * PollDefault only
-+ */
-+#define POLL_DEFAULT_CLASS_NET POLL_FIXED_CLASSES
-+#define POLL_DEFAULT_CS_NET    PollClassSet_Singleton(POLL_DEFAULT_CLASS_NET)
-+
-+/*
-+ * Each callback is registered in a set of classes
-+ */
-+
-+typedef struct PollClassSet {
-+   uintptr_t bits;
-+} PollClassSet;
-+
-+/* An empty PollClassSet. */
-+static INLINE PollClassSet
-+PollClassSet_Empty(void)
-+{
-+   PollClassSet set = { 0 };
-+   return set;
-+}
-+
-+/* A PollClassSet with the single member. */
-+static INLINE PollClassSet
-+PollClassSet_Singleton(PollClass c)
-+{
-+   PollClassSet s = PollClassSet_Empty();
-+
-+   ASSERT_ON_COMPILE(POLL_MAX_CLASSES < sizeof s.bits * 8);
-+   ASSERT(c < POLL_MAX_CLASSES);
-+
-+   s.bits = CONST3264U(1) << c;
-+   return s;
-+}
-+
-+/* Combine two PollClassSets. */
-+static INLINE PollClassSet
-+PollClassSet_Union(PollClassSet lhs, PollClassSet rhs)
-+{
-+   PollClassSet set;
-+   set.bits = lhs.bits | rhs.bits;
-+   return set;
-+}
-+
-+/* Add single class to PollClassSet. */
-+static INLINE PollClassSet
-+PollClassSet_Include(PollClassSet set, PollClass c)
-+{
-+   return PollClassSet_Union(set, PollClassSet_Singleton(c));
-+}
-+
-+
-+#define POLL_CS_MAIN    PollClassSet_Singleton(POLL_CLASS_MAIN)
-+#define POLL_CS_PAUSE   PollClassSet_Union(POLL_CS_MAIN,            \
-+                           PollClassSet_Singleton(POLL_CLASS_PAUSE))
-+#define POLL_CS_CPT     PollClassSet_Union(POLL_CS_PAUSE,           \
-+                           PollClassSet_Singleton(POLL_CLASS_CPT))
-+#define POLL_CS_IPC     PollClassSet_Union(POLL_CS_CPT,             \
-+                           PollClassSet_Singleton(POLL_CLASS_IPC))
-+#define POLL_CS_VMDB    POLL_CS_PAUSE /* POLL_CLASS_VMDB is retired */
-+#define POLL_CS_MKS	PollClassSet_Singleton(POLL_CLASS_MKS)
-+/* 
-+ * DANGER.  You don't need POLL_CS_ALWAYS.  Really.  So don't use it.
-+ */
-+#define POLL_CS_ALWAYS  PollClassSet_Union(POLL_CS_CPT, POLL_CS_IPC)
-+
-+/*
-+ * Poll class-set taxonomy:
-+ * POLL_CS_MAIN
-+ *    - Unless you NEED another class, use POLL_CS_MAIN.
-+ * POLL_CS_PAUSE
-+ *    - For callbacks that must occur even if the guest is paused.
-+ *      Most VMDB or Foundry commands are in this category.
-+ * POLL_CS_CPT
-+ *    - Only for callbacks which can trigger intermediate Checkpoint 
-+ *      transitions.
-+ *      The ONLY such callback is Migrate.
-+ * POLL_CS_IPC
-+ *    - Only for callbacks which can contain Msg_(Post|Hint|Question) 
-+ *      responses, and for signal handlers (why)?
-+ *      Vigor, VMDB, and Foundry can contain Msg_* responses.
-+ * POLL_CS_MKS
-+ *    - Callback runs in MKS thread.
-+ * POLL_CS_ALWAYS
-+ *    - Only for events that must be processed immediately.
-+ *      The ONLY such callback is OvhdMemVmxSizeCheck.
-+ */
-+
-+
-+/*
-+ * Poll_Callback flags
-+ */
-+
-+#define POLL_FLAG_PERIODIC		0x01    // keep after firing
-+#define POLL_FLAG_REMOVE_AT_POWEROFF	0x02  	// self-explanatory
-+#define POLL_FLAG_READ			0x04	// device is ready for reading
-+#define POLL_FLAG_WRITE			0x08	// device is ready for writing
-+#define POLL_FLAG_SOCKET                0x10    // device is a Windows socket
-+#define POLL_FLAG_NO_BULL               0x20    // callback does its own locking
-+#define POLL_FLAG_WINSOCK               0x40    // Winsock style write events
-+#define POLL_FLAG_FD                    0x80    // device is a Windows file descriptor.
-+#define POLL_FLAG_ACCEPT_INVALID_FDS    0x100   // For broken 3rd party libs, e.g. curl
-+#define POLL_FLAG_THUNK_TO_WND          0x200   // thunk callback to window message loop
-+
-+
-+typedef void (*PollerFunction)(void *clientData);
-+typedef void (*PollerFireWrapper)(PollerFunction func,
-+                                  void *funcData,
-+                                  void *wrapperData);
-+typedef Bool (*PollerErrorFn)(const char *errorStr);
-+
-+/*
-+ * Initialisers:
-+ *
-+ *      For the sake of convenience, we declare the initialisers
-+ *      for custom implmentations here, even though the actual
-+ *      implementations are distinct from the core poll code.
-+ */
-+
-+typedef struct PollOptions {
-+   Bool locked;           // Use internal MXUser for locking
-+   Bool allowFullQueue;   // Don't assert when device event queue is full.
-+   VThreadID windowsMsgThread;       // thread that processes Windows messages
-+   PollerFireWrapper fireWrapperFn;  // optional; may be useful for stats
-+   void *fireWrapperData; // optional
-+   PollerErrorFn errorFn; // optional; called upon unrecoverable error
-+} PollOptions;
-+
-+
-+void Poll_InitDefault(void);
-+void Poll_InitDefaultEx(const PollOptions *opts);
-+void Poll_InitGtk(void); // On top of glib for Linux
-+void Poll_InitCF(void);  // On top of CoreFoundation for OSX
-+
-+
-+/*
-+ * Functions
-+ */
-+int Poll_SocketPair(Bool vmci, Bool stream, int fds[2]);
-+void Poll_Loop(Bool loop, Bool *exit, PollClass c);
-+void Poll_LoopTimeout(Bool loop, Bool *exit, PollClass c, int timeout);
-+Bool Poll_LockingEnabled(void);
-+void Poll_Exit(void);
-+
-+
-+/*
-+ * Poll_Callback adds a callback regardless of whether an identical one exists.
-+ * The exception to this rule is POLL_DEVICE callbacks: there is a maximum of
-+ * one read and one write callback per fd.
-+ *
-+ * Poll_CallbackRemove removes one callback. If there are multiple identical
-+ * callbacks, which one is removed is an implementation detail. Note that in
-+ * the case of POLL_DEVICE and POLL_REALTIME callbacks, the fd/delay used to
-+ * create the callback is not specified when removing, so all callbacks
-+ * of those types with the same flags, function, and clientData are considered
-+ * "identical" even if their fd/delay differed.
-+ */
-+
-+VMwareStatus Poll_Callback(PollClassSet classSet,
-+                           int flags,
-+                           PollerFunction f,
-+                           void *clientData,
-+                           PollEventType type,
-+                           PollDevHandle info, // fd/microsec delay
-+                           MXUserRecLock *lck);
-+Bool Poll_CallbackRemove(PollClassSet classSet,
-+                         int flags,
-+                         PollerFunction f,
-+                         void *clientData,
-+                         PollEventType type);
-+Bool Poll_CallbackRemoveOneByCB(PollClassSet classSet,
-+                                int flags,
-+                                PollerFunction f,
-+                                PollEventType type,
-+                                void **clientData);
-+
-+void Poll_NotifyChange(PollClassSet classSet);
-+
-+/*
-+ * Wrappers for Poll_Callback and Poll_CallbackRemove that present
-+ * simpler subsets of those interfaces.
-+ */
-+
-+VMwareStatus Poll_CB_Device(PollerFunction f,
-+                            void *clientData,
-+                            PollDevHandle device,
-+                            Bool periodic);
-+
-+Bool Poll_CB_DeviceRemove(PollerFunction f,
-+                          void *clientData,
-+                          Bool periodic);
-+
-+
-+VMwareStatus Poll_CB_RTime(PollerFunction f,
-+                           void *clientData,
-+                           int64 delay,   // microseconds
-+                           Bool periodic,
-+                           MXUserRecLock *lock);
-+
-+Bool Poll_CB_RTimeRemove(PollerFunction f,
-+                         void *clientData,
-+                         Bool periodic);
-+
-+
-+#ifdef _WIN32
-+void Poll_SetPumpsWindowsMessages(Bool pumps);
-+void Poll_SetWindowMessageRecipient(HWND hWnd, UINT msg, Bool alwaysThunk);
-+Bool Poll_FireWndCallback(void *lparam);
-+#endif
-+
-+#if defined(__cplusplus)
-+}  // extern "C"
-+#endif
-+
-+#endif // _POLL_H_
+ #define HZ 100
+ #endif
+ #ifdef __ANDROID__
+diff --git a/open-vm-tools/lib/rpcIn/rpcin.c b/open-vm-tools/lib/rpcIn/rpcin.c
+index 8b1fe759..f22fcd40 100644
 --- a/open-vm-tools/lib/rpcIn/rpcin.c
 +++ b/open-vm-tools/lib/rpcIn/rpcin.c
 @@ -57,7 +57,7 @@
@@ -740,3 +107,6 @@ Signed-off-by: Khem Raj 
  #  include "asyncsocket.h"
  #  include "vmci_defs.h"
  #include "dataMap.h"
+-- 
+2.27.0
+
diff --git a/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0011-Use-uintmax_t-for-handling-rlim_t.patch b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0011-Use-uintmax_t-for-handling-rlim_t.patch
index 0a1d00873..144b5837c 100644
--- a/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0011-Use-uintmax_t-for-handling-rlim_t.patch
+++ b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0011-Use-uintmax_t-for-handling-rlim_t.patch
@@ -1,29 +1,36 @@
-From 18eea61a7a768c6c3b57c6683c7bef7049f0f6ab Mon Sep 17 00:00:00 2001
+From 4b69d8fd78bf6edbc8b4ace58e621d46071fd8dc Mon Sep 17 00:00:00 2001
 From: Khem Raj 
-Date: Wed, 13 Jun 2018 23:37:09 -0700
-Subject: [PATCH] Use uintmax_t for handling rlim_t
+Date: Wed, 24 Mar 2021 17:26:53 -0400
+Subject: [PATCH 2/2] Use uintmax_t for handling rlim_t
 
 rlimit types are not representable with long or long long
 formats, therefore use uintmax_t to typecast rlim_t types
 and use %j to print it
 
+Refit patch for open-vm-tools-11.2.5.
+
 Signed-off-by: Khem Raj 
+Signed-off-by: Randy MacLeod 
+Signed-off-by: Trevor Gamblin 
 ---
  open-vm-tools/lib/hgfsServer/hgfsServerLinux.c | 4 ++--
  1 file changed, 2 insertions(+), 2 deletions(-)
 
 diff --git a/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c b/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c
-index 0e6351a9..a2ee1740 100644
+index ba2e5624..889f730a 100644
 --- a/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c
 +++ b/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c
-@@ -5294,8 +5294,8 @@ HgfsWriteCheckIORange(off_t offset,         // IN:
+@@ -5292,8 +5292,8 @@ HgfsWriteCheckIORange(off_t offset,         // IN:
        goto exit;
     }
  
--   LOG(6, ("%s: File Size limits: 0x%"FMT64"x 0x%"FMT64"x\n",
--           __FUNCTION__, fileSize.rlim_cur, fileSize.rlim_max));
-+   LOG(6, ("%s: File Size limits: 0x%jx 0x%jx\n",
-+           __FUNCTION__, (uintmax_t)fileSize.rlim_cur, (uintmax_t)fileSize.rlim_max));
+-   LOG(6, "%s: File Size limits: 0x%"FMT64"x 0x%"FMT64"x\n",
+-       __FUNCTION__, fileSize.rlim_cur, fileSize.rlim_max);
++   //LOG(6, ("%s: File Size limits: 0x%jx 0x%jx\n",
++   //    __FUNCTION__, (uintmax_t)fileSize.rlim_cur, (uintmax_t)fileSize.rlim_max));
  
     /*
      * Check the offset is within the file size range.
+-- 
+2.30.2
+
diff --git a/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools_11.0.1.bb b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools_11.0.1.bb
deleted file mode 100644
index 832fab1ea..000000000
--- a/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools_11.0.1.bb
+++ /dev/null
@@ -1,116 +0,0 @@
-# This recipe is modified from the recipe originally found in the Open-Switch
-# repository:
-#
-# https://github.com/open-switch/ops-build
-# yocto/openswitch/meta-foss-openswitch/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.0.5.bb
-# Commit 9008de2d8e100f3f868c66765742bca9fa98f3f9
-#
-# The recipe packaging has been relicensed under the MIT license for inclusion
-# in meta-openembedded by agreement of the author (Diego Dompe).
-#
-
-SUMMARY = "Tools to enhance VMWare guest integration and performance"
-HOMEPAGE = "https://github.com/vmware/open-vm-tools"
-SECTION = "vmware-tools"
-
-LICENSE = "LGPL-2.0 & GPL-2.0 & BSD & CDDL-1.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=559317809c5444fb39ceaf6ac45c43ac"
-LICENSE_modules/freebsd/vmblock = "BSD"
-LICENSE_modules/freebsd/vmmemctl = "GPL-2.0"
-LICENSE_modules/freebsd/vmxnet = "GPL-2.0"
-LICENSE_modules/linux = "GPL-2.0"
-LICENSE_modules/solaris = "CDDL-1.0"
-
-SRC_URI = "git://github.com/vmware/open-vm-tools.git;protocol=https \
-    file://tools.conf \
-    file://vmtoolsd.service \
-    file://vmtoolsd.init \
-    file://0001-configure.ac-don-t-use-dnet-config.patch;patchdir=.. \
-    file://0002-add-include-sys-sysmacros.h.patch;patchdir=.. \
-    file://0003-Use-configure-test-for-struct-timespec.patch;patchdir=.. \
-    file://0004-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch;patchdir=.. \
-    file://0005-Use-configure-to-test-for-feature-instead-of-platfor.patch;patchdir=.. \
-    file://0006-Use-configure-test-for-sys-stat.h-include.patch;patchdir=.. \
-    file://0007-Fix-subdir-objects-configure-error.patch;patchdir=.. \
-    file://0008-include-poll.h-instead-of-sys-poll.h.patch;patchdir=.. \
-    file://0009-Rename-poll.h-to-vm_poll.h.patch;patchdir=.. \
-    file://0010-use-posix-strerror_r-unless-on-gnu-libc-system.patch;patchdir=.. \
-    file://0011-Use-uintmax_t-for-handling-rlim_t.patch;patchdir=.. \
-    file://0012-Use-off64_t-instead-of-__off64_t.patch;patchdir=.. \
-    file://0013-misc-Do-not-print-NULL-string-into-logs.patch;patchdir=.. \
-    file://0001-GitHub-Issue-367.-Remove-references-to-deprecated-G_.patch;patchdir=.. \
-    file://0001-Make-HgfsConvertFromNtTimeNsec-aware-of-64-bit-time_.patch;patchdir=.. \
-    file://0002-hgfsServerLinux-Consider-64bit-time_t-possibility.patch;patchdir=.. \
-    file://0001-utilBacktrace-Ignore-Warray-bounds.patch;patchdir=.. \
-    file://0001-hgfsmounter-Makefile.am-support-usrmerge.patch;patchdir=.. \
-    file://0001-pollGtk-Drop-volatile-qualifier.patch;patchdir=.. \
-"
-
-SRCREV = "d3edfd142a81096f9f58aff17d84219b457f4987"
-
-S = "${WORKDIR}/git/open-vm-tools"
-
-DEPENDS = "glib-2.0 glib-2.0-native util-linux libdnet procps libtirpc"
-
-# open-vm-tools is supported only on x86.
-COMPATIBLE_HOST = '(x86_64.*|i.86.*)-linux'
-
-inherit autotools pkgconfig systemd update-rc.d
-
-SYSTEMD_SERVICE_${PN} = "vmtoolsd.service"
-
-EXTRA_OECONF = "--without-icu --disable-multimon --disable-docs \
-         --disable-tests --without-gtkmm --without-xerces --without-pam \
-         --disable-vgauth --disable-deploypkg \
-         --without-root-privileges --without-kernel-modules --with-tirpc \
-         --with-udev-rules-dir=${nonarch_base_libdir}/udev/rules.d"
-
-NO_X11_FLAGS = "--without-x --without-gtk2 --without-gtk3"
-X11_DEPENDS = "libxext libxi libxrender libxrandr libxtst gtk+ gdk-pixbuf"
-PACKAGECONFIG[x11] = ",${NO_X11_FLAGS},${X11_DEPENDS}"
-
-# fuse gets implicitly detected; there is no --without-fuse option.
-PACKAGECONFIG[fuse] = ",,fuse"
-
-CFLAGS_append_toolchain-clang = " -Wno-address-of-packed-member"
-FILES_${PN} += "\
-    ${libdir}/open-vm-tools/plugins/vmsvc/lib*.so \
-    ${libdir}/open-vm-tools/plugins/common/lib*.so \
-    ${sysconfdir}/vmware-tools/tools.conf \
-"
-FILES_${PN}-locale += "${datadir}/open-vm-tools/messages"
-FILES_${PN}-dev += "${libdir}/open-vm-tools/plugins/common/lib*.la"
-
-CONFFILES_${PN} += "${sysconfdir}/vmware-tools/tools.conf"
-
-RDEPENDS_${PN} = "util-linux libdnet fuse"
-
-do_install_append() {
-    if ! ${@bb.utils.contains('DISTRO_FEATURES','usrmerge','true','false',d)}; then
-        install -d ${D}/sbin
-        ln -sf ${sbindir}/mount.vmhgfs ${D}/sbin/mount.vmhgfs
-    fi
-    install -d ${D}${sysconfdir}/vmware-tools
-    if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
-        install -d ${D}${systemd_unitdir}/system
-        install -m 644 ${WORKDIR}/*.service ${D}${systemd_unitdir}/system
-    else
-        install -d ${D}${sysconfdir}/init.d
-        install -m 0755 ${WORKDIR}/vmtoolsd.init ${D}${sysconfdir}/init.d/vmtoolsd
-    fi
-    install -m 0644 ${WORKDIR}/tools.conf ${D}${sysconfdir}/vmware-tools/tools.conf
-}
-
-do_configure_prepend() {
-    export CUSTOM_DNET_NAME=dnet
-    export CUSTOM_DNET_LIBS=-L${STAGING_LIBDIR}/libdnet.so
-}
-
-INITSCRIPT_PACKAGES = "${PN}"
-INITSCRIPT_NAME_${PN} = "vmtoolsd"
-INITSCRIPT_PARAMS_${PN} = "start 90 2 3 4 5 . stop 60 0 1 6 ."
-
-python() {
-    if 'filesystems-layer' not in d.getVar('BBFILE_COLLECTIONS').split():
-        raise bb.parse.SkipRecipe('Requires meta-filesystems to be present to provide fuse.')
-}
diff --git a/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools_11.2.5.bb b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools_11.2.5.bb
new file mode 100644
index 000000000..473af8d41
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools_11.2.5.bb
@@ -0,0 +1,120 @@
+# This recipe is modified from the recipe originally found in the Open-Switch
+# repository:
+#
+# https://github.com/open-switch/ops-build
+# yocto/openswitch/meta-foss-openswitch/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.0.5.bb
+# Commit 9008de2d8e100f3f868c66765742bca9fa98f3f9
+#
+# The recipe packaging has been relicensed under the MIT license for inclusion
+# in meta-openembedded by agreement of the author (Diego Dompe).
+#
+
+SUMMARY = "Tools to enhance VMWare guest integration and performance"
+HOMEPAGE = "https://github.com/vmware/open-vm-tools"
+DESCRIPTION = "\
+open-vm-tools is a set of services and modules that enable several features in VMware products \
+for better management of and seamless user interactions with guests.\
+"
+SECTION = "vmware-tools"
+
+LICENSE = "LGPL-2.0 & GPL-2.0 & BSD & CDDL-1.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=559317809c5444fb39ceaf6ac45c43ac"
+LICENSE_modules/freebsd/vmblock = "BSD"
+LICENSE_modules/freebsd/vmmemctl = "GPL-2.0"
+LICENSE_modules/freebsd/vmxnet = "GPL-2.0"
+LICENSE_modules/linux = "GPL-2.0"
+LICENSE_modules/solaris = "CDDL-1.0"
+
+SRC_URI = "git://github.com/vmware/open-vm-tools.git;protocol=https \
+    file://tools.conf \
+    file://vmtoolsd.service \
+    file://vmtoolsd.init \
+    file://0001-configure.ac-don-t-use-dnet-config.patch;patchdir=.. \
+    file://0003-Use-configure-test-for-struct-timespec.patch;patchdir=.. \
+    file://0004-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch;patchdir=.. \
+    file://0005-Use-configure-to-test-for-feature-instead-of-platfor.patch;patchdir=.. \
+    file://0006-Use-configure-test-for-sys-stat.h-include.patch;patchdir=.. \
+    file://0007-Fix-subdir-objects-configure-error.patch;patchdir=.. \
+    file://0008-include-poll.h-instead-of-sys-poll.h.patch;patchdir=.. \
+    file://0009-Rename-poll.h-to-vm_poll.h.patch;patchdir=.. \
+    file://0010-use-posix-strerror_r-unless-on-gnu-libc-system.patch;patchdir=.. \
+    file://0011-Use-uintmax_t-for-handling-rlim_t.patch;patchdir=.. \
+    file://0012-Use-off64_t-instead-of-__off64_t.patch;patchdir=.. \
+    file://0013-misc-Do-not-print-NULL-string-into-logs.patch;patchdir=.. \
+    file://0001-Make-HgfsConvertFromNtTimeNsec-aware-of-64-bit-time_.patch;patchdir=.. \
+    file://0002-hgfsServerLinux-Consider-64bit-time_t-possibility.patch;patchdir=.. \
+    file://0001-hgfsmounter-Makefile.am-support-usrmerge.patch;patchdir=.. \
+    file://0001-pollGtk-Fix-volatile-qualifier-exposed-incorrectly.patch;patchdir=.. \
+"
+
+SRC_URI_append_libc-musl = " file://0001-Add-resolv_compat.h-for-musl-builds.patch;patchdir=.. \
+"
+
+SRCREV = "7ae57c3c7c1f68c74637ad009673dae94ee52570"
+
+S = "${WORKDIR}/git/open-vm-tools"
+
+DEPENDS = "glib-2.0 glib-2.0-native util-linux libdnet procps libtirpc"
+
+# open-vm-tools is supported only on x86.
+COMPATIBLE_HOST = '(x86_64.*|i.86.*)-linux'
+
+inherit autotools pkgconfig systemd update-rc.d
+
+SYSTEMD_SERVICE_${PN} = "vmtoolsd.service"
+
+EXTRA_OECONF = "--without-icu --disable-multimon --disable-docs \
+         --disable-tests --without-gtkmm --without-xerces --without-pam \
+         --disable-vgauth --disable-deploypkg \
+         --without-root-privileges --without-kernel-modules --with-tirpc \
+         --with-udev-rules-dir=${nonarch_base_libdir}/udev/rules.d"
+
+NO_X11_FLAGS = "--without-x --without-gtk2 --without-gtk3"
+X11_DEPENDS = "libxext libxi libxrender libxrandr libxtst gtk+ gdk-pixbuf"
+PACKAGECONFIG[x11] = ",${NO_X11_FLAGS},${X11_DEPENDS}"
+
+# fuse gets implicitly detected; there is no --without-fuse option.
+PACKAGECONFIG[fuse] = ",,fuse"
+
+CFLAGS_append_toolchain-clang = " -Wno-address-of-packed-member"
+FILES_${PN} += "\
+    ${libdir}/open-vm-tools/plugins/vmsvc/lib*.so \
+    ${libdir}/open-vm-tools/plugins/common/lib*.so \
+    ${sysconfdir}/vmware-tools/tools.conf \
+"
+FILES_${PN}-locale += "${datadir}/open-vm-tools/messages"
+FILES_${PN}-dev += "${libdir}/open-vm-tools/plugins/common/lib*.la"
+
+CONFFILES_${PN} += "${sysconfdir}/vmware-tools/tools.conf"
+
+RDEPENDS_${PN} = "util-linux libdnet fuse"
+
+do_install_append() {
+    if ! ${@bb.utils.contains('DISTRO_FEATURES','usrmerge','true','false',d)}; then
+        install -d ${D}/sbin
+        ln -sf ${sbindir}/mount.vmhgfs ${D}/sbin/mount.vmhgfs
+    fi
+    install -d ${D}${sysconfdir}/vmware-tools
+    if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+        install -d ${D}${systemd_unitdir}/system
+        install -m 644 ${WORKDIR}/*.service ${D}${systemd_unitdir}/system
+    else
+        install -d ${D}${sysconfdir}/init.d
+        install -m 0755 ${WORKDIR}/vmtoolsd.init ${D}${sysconfdir}/init.d/vmtoolsd
+    fi
+    install -m 0644 ${WORKDIR}/tools.conf ${D}${sysconfdir}/vmware-tools/tools.conf
+}
+
+do_configure_prepend() {
+    export CUSTOM_DNET_NAME=dnet
+    export CUSTOM_DNET_LIBS=-L${STAGING_LIBDIR}/libdnet.so
+}
+
+INITSCRIPT_PACKAGES = "${PN}"
+INITSCRIPT_NAME_${PN} = "vmtoolsd"
+INITSCRIPT_PARAMS_${PN} = "start 90 2 3 4 5 . stop 60 0 1 6 ."
+
+python() {
+    if 'filesystems-layer' not in d.getVar('BBFILE_COLLECTIONS').split():
+        raise bb.parse.SkipRecipe('Requires meta-filesystems to be present to provide fuse.')
+}
diff --git a/meta-openembedded/meta-networking/recipes-support/spice/usbredir_0.8.0.bb b/meta-openembedded/meta-networking/recipes-support/spice/usbredir_0.8.0.bb
deleted file mode 100644
index 9ee43be1e..000000000
--- a/meta-openembedded/meta-networking/recipes-support/spice/usbredir_0.8.0.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-SUMMARY = "usbredir libraries and utilities"
-
-LICENSE = "GPLv2+ & LGPLv2.1+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
-    file://COPYING.LIB;md5=4b54a1fd55a448865a0b32d41598759d \
-"
-
-DEPENDS = "libusb1"
-
-SRCREV = "07b98b8e71f620dfdd57e92ddef6b677b259a092"
-
-SRC_URI = " \
-    git://anongit.freedesktop.org/spice/usbredir \
-"
-
-S = "${WORKDIR}/git"
-
-inherit autotools pkgconfig
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-networking/recipes-support/spice/usbredir_0.9.0.bb b/meta-openembedded/meta-networking/recipes-support/spice/usbredir_0.9.0.bb
new file mode 100644
index 000000000..079f52f99
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-support/spice/usbredir_0.9.0.bb
@@ -0,0 +1,20 @@
+SUMMARY = "usbredir libraries and utilities"
+
+LICENSE = "GPLv2+ & LGPLv2.1+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+    file://COPYING.LIB;md5=4b54a1fd55a448865a0b32d41598759d \
+"
+
+DEPENDS = "libusb1"
+
+SRCREV = "bca484fc6f206ab9da2f73e8a0118fad45374d4e"
+
+SRC_URI = " \
+    git://anongit.freedesktop.org/spice/usbredir \
+"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-networking/recipes-support/stunnel/stunnel/fix-openssl-no-des.patch b/meta-openembedded/meta-networking/recipes-support/stunnel/stunnel/fix-openssl-no-des.patch
index 209b0dd40..aeb0bece9 100644
--- a/meta-openembedded/meta-networking/recipes-support/stunnel/stunnel/fix-openssl-no-des.patch
+++ b/meta-openembedded/meta-networking/recipes-support/stunnel/stunnel/fix-openssl-no-des.patch
@@ -11,7 +11,7 @@ diff --git a/src/common.h b/src/common.h
 index f7d38b0..bf485af 100644
 --- a/src/common.h
 +++ b/src/common.h
-@@ -471,7 +471,9 @@ extern char *sys_errlist[];
+@@ -478,7 +478,9 @@ extern char *sys_errlist[];
  #ifndef OPENSSL_NO_MD4
  #include 
  #endif /* !defined(OPENSSL_NO_MD4) */
@@ -25,8 +25,8 @@ diff --git a/src/protocol.c b/src/protocol.c
 index 587df09..8198eb6 100644
 --- a/src/protocol.c
 +++ b/src/protocol.c
-@@ -66,7 +66,7 @@ NOEXPORT char *imap_server(CLI *, SERVICE_OPTIONS *, const PHASE);
- NOEXPORT char *nntp_client(CLI *, SERVICE_OPTIONS *, const PHASE);
+@@ -67,7 +67,7 @@ NOEXPORT char *imap_server(CLI *, SERVICE_OPTIONS *, const PHASE);
+ NOEXPORT char *ldap_client(CLI *, SERVICE_OPTIONS *, const PHASE);
  NOEXPORT char *connect_server(CLI *, SERVICE_OPTIONS *, const PHASE);
  NOEXPORT char *connect_client(CLI *, SERVICE_OPTIONS *, const PHASE);
 -#ifndef OPENSSL_NO_MD4
@@ -34,7 +34,7 @@ index 587df09..8198eb6 100644
  NOEXPORT void ntlm(CLI *, SERVICE_OPTIONS *);
  NOEXPORT char *ntlm1();
  NOEXPORT char *ntlm3(char *, char *, char *, char *);
-@@ -1175,7 +1175,7 @@ NOEXPORT char *connect_client(CLI *c, SERVICE_OPTIONS *opt, const PHASE phase) {
+@@ -1332,7 +1332,7 @@ NOEXPORT char *connect_client(CLI *c, SERVICE_OPTIONS *opt, const PHASE phase) {
      fd_printf(c, c->remote_fd.fd, "Host: %s", opt->protocol_host);
      if(opt->protocol_username && opt->protocol_password) {
          if(!strcasecmp(opt->protocol_authentication, "ntlm")) {
@@ -43,7 +43,7 @@ index 587df09..8198eb6 100644
              ntlm(c, opt);
  #else
              s_log(LOG_ERR, "NTLM authentication is not available");
-@@ -1216,7 +1216,7 @@ NOEXPORT char *connect_client(CLI *c, SERVICE_OPTIONS *opt, const PHASE phase) {
+@@ -1376,7 +1376,7 @@ NOEXPORT char *connect_client(CLI *c, SERVICE_OPTIONS *opt, const PHASE phase) {
      return NULL;
  }
  
diff --git a/meta-openembedded/meta-networking/recipes-support/stunnel/stunnel_5.58.bb b/meta-openembedded/meta-networking/recipes-support/stunnel/stunnel_5.58.bb
deleted file mode 100644
index 1f1ca4e6b..000000000
--- a/meta-openembedded/meta-networking/recipes-support/stunnel/stunnel_5.58.bb
+++ /dev/null
@@ -1,36 +0,0 @@
-SUMMARY = "Program for providing universal TLS/SSL tunneling service"
-DESCRIPTION = "SSL encryption wrapper between remote client and local (inetd-startable) or remote server."
-HOMEPAGE = "https://www.stunnel.org/"
-SECTION = "net"
-# Note: Linking stunnel statically or dynamically with other modules is making
-# a combined work based on stunnel. Thus, the terms and conditions of the GNU
-# General Public License cover the whole combination.
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING.md;md5=223b26c62f5e7c5c8656d6c133edd5ec"
-
-DEPENDS = "autoconf-archive libnsl2 openssl"
-
-SRC_URI = "ftp://ftp.stunnel.org/stunnel/archive/5.x/${BP}.tar.gz \
-           file://fix-openssl-no-des.patch \
-"
-
-SRC_URI[sha256sum] = "d4c14cc096577edca3f6a2a59c2f51869e35350b3988018ddf808c88e5973b79"
-
-inherit autotools
-
-PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6 systemd', d)} libwrap"
-
-PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
-PACKAGECONFIG[libwrap] = "--enable-libwrap,--disable-libwrap,tcp-wrappers"
-PACKAGECONFIG[systemd] = "--enable-systemd,--disable-systemd,systemd"
-
-EXTRA_OECONF += "--with-ssl='${STAGING_EXECPREFIXDIR}' --disable-fips"
-
-# When cross compiling, configure defaults to nobody, but provides no option to change it.
-EXTRA_OEMAKE += "DEFAULT_GROUP='nogroup'"
-
-# stunnel3 is a Perl wrapper to allow use of the legacy stunnel 3.x commandline
-# syntax with stunnel >= 4.05
-PACKAGES =+ "stunnel3"
-FILES_stunnel3 = "${bindir}/stunnel3"
-RDEPENDS_stunnel3 += "${PN} perl"
diff --git a/meta-openembedded/meta-networking/recipes-support/stunnel/stunnel_5.59.bb b/meta-openembedded/meta-networking/recipes-support/stunnel/stunnel_5.59.bb
new file mode 100644
index 000000000..e3704ae1d
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-support/stunnel/stunnel_5.59.bb
@@ -0,0 +1,36 @@
+SUMMARY = "Program for providing universal TLS/SSL tunneling service"
+DESCRIPTION = "SSL encryption wrapper between remote client and local (inetd-startable) or remote server."
+HOMEPAGE = "https://www.stunnel.org/"
+SECTION = "net"
+# Note: Linking stunnel statically or dynamically with other modules is making
+# a combined work based on stunnel. Thus, the terms and conditions of the GNU
+# General Public License cover the whole combination.
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING.md;md5=223b26c62f5e7c5c8656d6c133edd5ec"
+
+DEPENDS = "autoconf-archive libnsl2 openssl"
+
+SRC_URI = "ftp://ftp.stunnel.org/stunnel/archive/5.x/${BP}.tar.gz \
+           file://fix-openssl-no-des.patch \
+"
+
+SRC_URI[sha256sum] = "137776df6be8f1701f1cd590b7779932e123479fb91e5192171c16798815ce9f"
+
+inherit autotools
+
+PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6 systemd', d)} libwrap"
+
+PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
+PACKAGECONFIG[libwrap] = "--enable-libwrap,--disable-libwrap,tcp-wrappers"
+PACKAGECONFIG[systemd] = "--enable-systemd,--disable-systemd,systemd"
+
+EXTRA_OECONF += "--with-ssl='${STAGING_EXECPREFIXDIR}' --disable-fips"
+
+# When cross compiling, configure defaults to nobody, but provides no option to change it.
+EXTRA_OEMAKE += "DEFAULT_GROUP='nogroup'"
+
+# stunnel3 is a Perl wrapper to allow use of the legacy stunnel 3.x commandline
+# syntax with stunnel >= 4.05
+PACKAGES =+ "stunnel3"
+FILES_stunnel3 = "${bindir}/stunnel3"
+RDEPENDS_stunnel3 += "${PN} perl"
diff --git a/meta-openembedded/meta-networking/recipes-support/vnstat/vnstat_2.6.bb b/meta-openembedded/meta-networking/recipes-support/vnstat/vnstat_2.6.bb
index 9a650f409..ad8802f3a 100644
--- a/meta-openembedded/meta-networking/recipes-support/vnstat/vnstat_2.6.bb
+++ b/meta-openembedded/meta-networking/recipes-support/vnstat/vnstat_2.6.bb
@@ -17,4 +17,6 @@ do_install_append() {
     install -Dm644 ${S}/examples/systemd/vnstat.service "${D}${systemd_system_unitdir}/vnstat.service"
 }
 
+PARALLEL_MAKEINST = ""
+
 SYSTEMD_SERVICE_${PN} = "vnstat.service"
diff --git a/meta-openembedded/meta-oe/lib/oeqa/selftest/cases/meta_oe_sources.py b/meta-openembedded/meta-oe/lib/oeqa/selftest/cases/meta_oe_sources.py
index b17c7950c..c5a9a2794 100644
--- a/meta-openembedded/meta-oe/lib/oeqa/selftest/cases/meta_oe_sources.py
+++ b/meta-openembedded/meta-oe/lib/oeqa/selftest/cases/meta_oe_sources.py
@@ -6,6 +6,7 @@ import tempfile
 from oeqa.selftest.case import OESelftestTestCase
 from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_bb_vars
 
+
 class MetaOESourceMirroring(OESelftestTestCase):
     # Can we download everything from the OpenEmbedded Sources Mirror over http only
     def test_oe_source_mirror(self):
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/CVE-2021-0326.patch b/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/CVE-2021-0326.patch
new file mode 100644
index 000000000..54c405b53
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/CVE-2021-0326.patch
@@ -0,0 +1,43 @@
+From 947272febe24a8f0ea828b5b2f35f13c3821901e Mon Sep 17 00:00:00 2001
+From: Jouni Malinen 
+Date: Mon, 9 Nov 2020 11:43:12 +0200
+Subject: [PATCH] P2P: Fix copying of secondary device types for P2P group
+ client
+
+Parsing and copying of WPS secondary device types list was verifying
+that the contents is not too long for the internal maximum in the case
+of WPS messages, but similar validation was missing from the case of P2P
+group information which encodes this information in a different
+attribute. This could result in writing beyond the memory area assigned
+for these entries and corrupting memory within an instance of struct
+p2p_device. This could result in invalid operations and unexpected
+behavior when trying to free pointers from that corrupted memory.
+
+CVE: CVE-2021-0326
+
+Upstream-Status: Backport
+
+Credit to OSS-Fuzz: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=27269
+Fixes: e57ae6e19edf ("P2P: Keep track of secondary device types for peers")
+Signed-off-by: Jouni Malinen 
+Signed-off-by: Mingli Yu 
+---
+ src/p2p/p2p.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/src/p2p/p2p.c b/src/p2p/p2p.c
+index 74b7b52ae..5cbfc217f 100644
+--- a/src/p2p/p2p.c
++++ b/src/p2p/p2p.c
+@@ -453,6 +453,8 @@ static void p2p_copy_client_info(struct p2p_device *dev,
+ 	dev->info.config_methods = cli->config_methods;
+ 	os_memcpy(dev->info.pri_dev_type, cli->pri_dev_type, 8);
+ 	dev->info.wps_sec_dev_type_list_len = 8 * cli->num_sec_dev_types;
++	if (dev->info.wps_sec_dev_type_list_len > WPS_SEC_DEV_TYPE_MAX_LEN)
++		dev->info.wps_sec_dev_type_list_len = WPS_SEC_DEV_TYPE_MAX_LEN;
+ 	os_memcpy(dev->info.wps_sec_dev_type_list, cli->sec_dev_types,
+ 		  dev->info.wps_sec_dev_type_list_len);
+ }
+-- 
+2.17.1
+
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/CVE-2021-27803.patch b/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/CVE-2021-27803.patch
new file mode 100644
index 000000000..fedff76b1
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/CVE-2021-27803.patch
@@ -0,0 +1,54 @@
+From 8460e3230988ef2ec13ce6b69b687e941f6cdb32 Mon Sep 17 00:00:00 2001
+From: Jouni Malinen 
+Date: Tue, 8 Dec 2020 23:52:50 +0200
+Subject: [PATCH] P2P: Fix a corner case in peer addition based on PD Request
+
+p2p_add_device() may remove the oldest entry if there is no room in the
+peer table for a new peer. This would result in any pointer to that
+removed entry becoming stale. A corner case with an invalid PD Request
+frame could result in such a case ending up using (read+write) freed
+memory. This could only by triggered when the peer table has reached its
+maximum size and the PD Request frame is received from the P2P Device
+Address of the oldest remaining entry and the frame has incorrect P2P
+Device Address in the payload.
+
+Fix this by fetching the dev pointer again after having called
+p2p_add_device() so that the stale pointer cannot be used.
+
+CVE: CVE-2021-27803
+
+Upstream-Status: Backport
+
+Fixes: 17bef1e97a50 ("P2P: Add peer entry based on Provision Discovery Request")
+Signed-off-by: Jouni Malinen 
+---
+ src/p2p/p2p_pd.c | 12 +++++-------
+ 1 file changed, 5 insertions(+), 7 deletions(-)
+
+diff --git a/src/p2p/p2p_pd.c b/src/p2p/p2p_pd.c
+index 3994ec03f..05fd59349 100644
+--- a/src/p2p/p2p_pd.c
++++ b/src/p2p/p2p_pd.c
+@@ -595,14 +595,12 @@ void p2p_process_prov_disc_req(struct p2p_data *p2p, const u8 *sa,
+ 			goto out;
+ 		}
+ 
++		dev = p2p_get_device(p2p, sa);
+ 		if (!dev) {
+-			dev = p2p_get_device(p2p, sa);
+-			if (!dev) {
+-				p2p_dbg(p2p,
+-					"Provision Discovery device not found "
+-					MACSTR, MAC2STR(sa));
+-				goto out;
+-			}
++			p2p_dbg(p2p,
++				"Provision Discovery device not found "
++				MACSTR, MAC2STR(sa));
++			goto out;
+ 		}
+ 	} else if (msg.wfd_subelems) {
+ 		wpabuf_free(dev->info.wfd_subelems);
+-- 
+2.17.1
+
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/CVE-2021-30004.patch b/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/CVE-2021-30004.patch
new file mode 100644
index 000000000..e2540fc26
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/CVE-2021-30004.patch
@@ -0,0 +1,123 @@
+From a0541334a6394f8237a4393b7372693cd7e96f15 Mon Sep 17 00:00:00 2001
+From: Jouni Malinen 
+Date: Sat, 13 Mar 2021 18:19:31 +0200
+Subject: [PATCH] ASN.1: Validate DigestAlgorithmIdentifier parameters
+
+The supported hash algorithms do not use AlgorithmIdentifier parameters.
+However, there are implementations that include NULL parameters in
+addition to ones that omit the parameters. Previous implementation did
+not check the parameters value at all which supported both these cases,
+but did not reject any other unexpected information.
+
+Use strict validation of digest algorithm parameters and reject any
+unexpected value when validating a signature. This is needed to prevent
+potential forging attacks.
+
+Signed-off-by: Jouni Malinen 
+
+Upstream-Status: Backport
+CVE: CVE-2021-30004
+
+Reference to upstream patch:
+[https://w1.fi/cgit/hostap/commit/?id=a0541334a6394f8237a4393b7372693cd7e96f15]
+
+Signed-off-by: Stefan Ghinea 
+---
+ src/tls/pkcs1.c  | 21 +++++++++++++++++++++
+ src/tls/x509v3.c | 20 ++++++++++++++++++++
+ 2 files changed, 41 insertions(+)
+
+diff --git a/src/tls/pkcs1.c b/src/tls/pkcs1.c
+index 141ac50..e09db07 100644
+--- a/src/tls/pkcs1.c
++++ b/src/tls/pkcs1.c
+@@ -240,6 +240,8 @@ int pkcs1_v15_sig_ver(struct crypto_public_key *pk,
+ 		os_free(decrypted);
+ 		return -1;
+ 	}
++	wpa_hexdump(MSG_MSGDUMP, "PKCS #1: DigestInfo",
++		    hdr.payload, hdr.length);
+ 
+ 	pos = hdr.payload;
+ 	end = pos + hdr.length;
+@@ -261,6 +263,8 @@ int pkcs1_v15_sig_ver(struct crypto_public_key *pk,
+ 		os_free(decrypted);
+ 		return -1;
+ 	}
++	wpa_hexdump(MSG_MSGDUMP, "PKCS #1: DigestAlgorithmIdentifier",
++		    hdr.payload, hdr.length);
+ 	da_end = hdr.payload + hdr.length;
+ 
+ 	if (asn1_get_oid(hdr.payload, hdr.length, &oid, &next)) {
+@@ -269,6 +273,23 @@ int pkcs1_v15_sig_ver(struct crypto_public_key *pk,
+ 		os_free(decrypted);
+ 		return -1;
+ 	}
++	wpa_hexdump(MSG_MSGDUMP, "PKCS #1: Digest algorithm parameters",
++		    next, da_end - next);
++
++	/*
++	 * RFC 5754: The correct encoding for the SHA2 algorithms would be to
++	 * omit the parameters, but there are implementation that encode these
++	 * as a NULL element. Allow these two cases and reject anything else.
++	 */
++	if (da_end > next &&
++	    (asn1_get_next(next, da_end - next, &hdr) < 0 ||
++	     !asn1_is_null(&hdr) ||
++	     hdr.payload + hdr.length != da_end)) {
++		wpa_printf(MSG_DEBUG,
++			   "PKCS #1: Unexpected digest algorithm parameters");
++		os_free(decrypted);
++		return -1;
++	}
+ 
+ 	if (!asn1_oid_equal(&oid, hash_alg)) {
+ 		char txt[100], txt2[100];
+diff --git a/src/tls/x509v3.c b/src/tls/x509v3.c
+index 1bd5aa0..bf2289f 100644
+--- a/src/tls/x509v3.c
++++ b/src/tls/x509v3.c
+@@ -1834,6 +1834,7 @@ int x509_check_signature(struct x509_certificate *issuer,
+ 		os_free(data);
+ 		return -1;
+ 	}
++	wpa_hexdump(MSG_MSGDUMP, "X509: DigestInfo", hdr.payload, hdr.length);
+ 
+ 	pos = hdr.payload;
+ 	end = pos + hdr.length;
+@@ -1855,6 +1856,8 @@ int x509_check_signature(struct x509_certificate *issuer,
+ 		os_free(data);
+ 		return -1;
+ 	}
++	wpa_hexdump(MSG_MSGDUMP, "X509: DigestAlgorithmIdentifier",
++		    hdr.payload, hdr.length);
+ 	da_end = hdr.payload + hdr.length;
+ 
+ 	if (asn1_get_oid(hdr.payload, hdr.length, &oid, &next)) {
+@@ -1862,6 +1865,23 @@ int x509_check_signature(struct x509_certificate *issuer,
+ 		os_free(data);
+ 		return -1;
+ 	}
++	wpa_hexdump(MSG_MSGDUMP, "X509: Digest algorithm parameters",
++		    next, da_end - next);
++
++	/*
++	 * RFC 5754: The correct encoding for the SHA2 algorithms would be to
++	 * omit the parameters, but there are implementation that encode these
++	 * as a NULL element. Allow these two cases and reject anything else.
++	 */
++	if (da_end > next &&
++	    (asn1_get_next(next, da_end - next, &hdr) < 0 ||
++	     !asn1_is_null(&hdr) ||
++	     hdr.payload + hdr.length != da_end)) {
++		wpa_printf(MSG_DEBUG,
++			   "X509: Unexpected digest algorithm parameters");
++		os_free(data);
++		return -1;
++	}
+ 
+ 	if (x509_sha1_oid(&oid)) {
+ 		if (signature->oid.oid[6] != 5 /* sha-1WithRSAEncryption */) {
+-- 
+2.17.1
+
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd_2.9.bb b/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd_2.9.bb
index 1f38eee0f..e58601868 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd_2.9.bb
+++ b/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd_2.9.bb
@@ -13,6 +13,9 @@ SRC_URI = " \
     file://hostapd.service \
     file://CVE-2019-16275.patch \
     file://CVE-2019-5061.patch \
+    file://CVE-2021-0326.patch \
+    file://CVE-2021-27803.patch \
+    file://CVE-2021-30004.patch \
 "
 
 SRC_URI[md5sum] = "f188fc53a495fe7af3b6d77d3c31dee8"
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.26.6.bb b/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.26.6.bb
deleted file mode 100644
index 6d60a6702..000000000
--- a/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.26.6.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-SUMMARY = "libqmi is a library for talking to WWAN devices by QMI protocol"
-DESCRIPTION = "libqmi is a glib-based library for talking to WWAN modems and \
-               devices which speak the Qualcomm MSM Interface (QMI) protocol"
-HOMEPAGE = "http://www.freedesktop.org/wiki/Software/libqmi"
-LICENSE = "GPLv2 & LGPLv2.1"
-LIC_FILES_CHKSUM = " \
-    file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
-    file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \
-"
-
-DEPENDS = "glib-2.0 glib-2.0-native"
-
-inherit autotools pkgconfig bash-completion gobject-introspection
-
-SRC_URI = "http://www.freedesktop.org/software/${BPN}/${BPN}-${PV}.tar.xz"
-
-SRC_URI[sha256sum] = "a71963bb1097a42665287e40a9a36f95b8f9d6d6a4b7a5de22d660328af97cb9"
-
-PACKAGECONFIG ??= "udev mbim"
-PACKAGECONFIG[udev] = ",--without-udev,libgudev"
-PACKAGECONFIG[mbim] = "--enable-mbim-qmux,--disable-mbim-qmux,libmbim"
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.28.2.bb b/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.28.2.bb
new file mode 100644
index 000000000..9be48b75f
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.28.2.bb
@@ -0,0 +1,21 @@
+SUMMARY = "libqmi is a library for talking to WWAN devices by QMI protocol"
+DESCRIPTION = "libqmi is a glib-based library for talking to WWAN modems and \
+               devices which speak the Qualcomm MSM Interface (QMI) protocol"
+HOMEPAGE = "http://www.freedesktop.org/wiki/Software/libqmi"
+LICENSE = "GPLv2 & LGPLv2.1"
+LIC_FILES_CHKSUM = " \
+    file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+    file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \
+"
+
+DEPENDS = "glib-2.0 glib-2.0-native"
+
+inherit autotools pkgconfig bash-completion gobject-introspection
+
+SRC_URI = "http://www.freedesktop.org/software/${BPN}/${BPN}-${PV}.tar.xz"
+
+SRC_URI[sha256sum] = "8c8c3ee719874d2529bce9b35b028fe435b36f003979a360d3ad0938449db783"
+
+PACKAGECONFIG ??= "udev mbim"
+PACKAGECONFIG[udev] = ",--without-udev,libgudev"
+PACKAGECONFIG[mbim] = "--enable-mbim-qmux,--disable-mbim-qmux,libmbim"
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.14.10.bb b/meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.14.10.bb
deleted file mode 100644
index 2045e2a86..000000000
--- a/meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.14.10.bb
+++ /dev/null
@@ -1,53 +0,0 @@
-SUMMARY = "ModemManager is a daemon controlling broadband devices/connections"
-DESCRIPTION = "ModemManager is a DBus-activated daemon which controls mobile broadband (2G/3G/4G) devices and connections"
-HOMEPAGE = "http://www.freedesktop.org/wiki/Software/ModemManager/"
-LICENSE = "GPL-2.0 & LGPL-2.1"
-LIC_FILES_CHKSUM = " \
-    file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
-    file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \
-"
-
-inherit gnomebase gettext systemd vala gobject-introspection bash-completion
-
-DEPENDS = "glib-2.0 libgudev intltool-native libxslt-native"
-
-SRC_URI = "http://www.freedesktop.org/software/ModemManager/ModemManager-${PV}.tar.xz"
-SRC_URI[sha256sum] = "4ea60b375a761e17e7bb095bca894579ed0e8e33b273dc698b5cbe03947f357f"
-S = "${WORKDIR}/ModemManager-${PV}"
-
-PACKAGECONFIG ??= "mbim qmi \
-    ${@bb.utils.filter('DISTRO_FEATURES', 'systemd polkit', d)} \
-"
-
-PACKAGECONFIG[at] = "--with-at-command-via-dbus"
-PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/,,"
-PACKAGECONFIG[polkit] = "--with-polkit=yes,--with-polkit=no,polkit"
-# Support WWAN modems and devices which speak the Mobile Interface Broadband Model (MBIM) protocol.
-PACKAGECONFIG[mbim] = "--with-mbim,--without-mbim,libmbim"
-# Support WWAN modems and devices which speak the Qualcomm MSM Interface (QMI) protocol.
-PACKAGECONFIG[qmi] = "--with-qmi,--without-qmi,libqmi"
-
-EXTRA_OECONF = " \
-    --with-udev-base-dir=${nonarch_base_libdir}/udev \
-"
-
-FILES_${PN} += " \
-    ${datadir}/icons \
-    ${datadir}/polkit-1 \
-    ${datadir}/dbus-1 \
-    ${datadir}/ModemManager \
-    ${libdir}/ModemManager \
-    ${systemd_unitdir}/system \
-"
-
-FILES_${PN}-dev += " \
-    ${libdir}/ModemManager/*.la \
-"
-
-FILES_${PN}-staticdev += " \
-    ${libdir}/ModemManager/*.a \
-"
-
-FILES_${PN}-dbg += "${libdir}/ModemManager/.debug"
-
-SYSTEMD_SERVICE_${PN} = "ModemManager.service"
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.16.2.bb b/meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.16.2.bb
new file mode 100644
index 000000000..d1ba8e43e
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.16.2.bb
@@ -0,0 +1,53 @@
+SUMMARY = "ModemManager is a daemon controlling broadband devices/connections"
+DESCRIPTION = "ModemManager is a DBus-activated daemon which controls mobile broadband (2G/3G/4G) devices and connections"
+HOMEPAGE = "http://www.freedesktop.org/wiki/Software/ModemManager/"
+LICENSE = "GPL-2.0 & LGPL-2.1"
+LIC_FILES_CHKSUM = " \
+    file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+    file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \
+"
+
+inherit gnomebase gettext systemd vala gobject-introspection bash-completion
+
+DEPENDS = "glib-2.0 libgudev intltool-native libxslt-native"
+
+SRC_URI = "http://www.freedesktop.org/software/ModemManager/ModemManager-${PV}.tar.xz"
+SRC_URI[sha256sum] = "efa9a963499e0885f3f163096d433334143c4937545134ecd682e0157fa591e3"
+S = "${WORKDIR}/ModemManager-${PV}"
+
+PACKAGECONFIG ??= "mbim qmi \
+    ${@bb.utils.filter('DISTRO_FEATURES', 'systemd polkit', d)} \
+"
+
+PACKAGECONFIG[at] = "--with-at-command-via-dbus"
+PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/,,"
+PACKAGECONFIG[polkit] = "--with-polkit=yes,--with-polkit=no,polkit"
+# Support WWAN modems and devices which speak the Mobile Interface Broadband Model (MBIM) protocol.
+PACKAGECONFIG[mbim] = "--with-mbim,--without-mbim,libmbim"
+# Support WWAN modems and devices which speak the Qualcomm MSM Interface (QMI) protocol.
+PACKAGECONFIG[qmi] = "--with-qmi,--without-qmi,libqmi"
+
+EXTRA_OECONF = " \
+    --with-udev-base-dir=${nonarch_base_libdir}/udev \
+"
+
+FILES_${PN} += " \
+    ${datadir}/icons \
+    ${datadir}/polkit-1 \
+    ${datadir}/dbus-1 \
+    ${datadir}/ModemManager \
+    ${libdir}/ModemManager \
+    ${systemd_unitdir}/system \
+"
+
+FILES_${PN}-dev += " \
+    ${libdir}/ModemManager/*.la \
+"
+
+FILES_${PN}-staticdev += " \
+    ${libdir}/ModemManager/*.a \
+"
+
+FILES_${PN}-dbg += "${libdir}/ModemManager/.debug"
+
+SYSTEMD_SERVICE_${PN} = "ModemManager.service"
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/phonet-utils/phonet-utils/0001-Include-limits.h-for-PATH_MAX.patch b/meta-openembedded/meta-oe/recipes-connectivity/phonet-utils/phonet-utils/0001-Include-limits.h-for-PATH_MAX.patch
deleted file mode 100644
index 8bb7e5a18..000000000
--- a/meta-openembedded/meta-oe/recipes-connectivity/phonet-utils/phonet-utils/0001-Include-limits.h-for-PATH_MAX.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From f7ad9a4471cee2324f216a0d82ba8097ec746c56 Mon Sep 17 00:00:00 2001
-From: Khem Raj 
-Date: Sat, 15 Jul 2017 11:48:12 -0700
-Subject: [PATCH] Include limits.h for PATH_MAX
-
-Signed-off-by: Khem Raj 
----
- src/pnstat.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/pnstat.c b/src/pnstat.c
-index 661a5bc..76068e6 100644
---- a/src/pnstat.c
-+++ b/src/pnstat.c
-@@ -35,6 +35,7 @@
- #include 
- #include 
- #include 
-+#include 
- 
- struct fd
- {
--- 
-2.13.3
-
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/phonet-utils/phonet-utils_git.bb b/meta-openembedded/meta-oe/recipes-connectivity/phonet-utils/phonet-utils_git.bb
deleted file mode 100644
index 3c599950f..000000000
--- a/meta-openembedded/meta-oe/recipes-connectivity/phonet-utils/phonet-utils_git.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-SUMMARY = "This small package provides a few command line tools for Linux Phonet"
-HOMEPAGE = ""
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-SRC_URI = "git://gitorious.org/meego-cellular/phonet-utils.git;branch=master \
-           file://0001-Include-limits.h-for-PATH_MAX.patch \
-           "
-PR = "r2"
-S = "${WORKDIR}/git"
-SRCREV = "4acfa720fd37d178a048fc2be17180137d4a70ea"
-PV = "0.0.0+gitr${SRCPV}"
-
-inherit autotools-brokensep
-
-FILES_${PN} += "${base_libdir}/udev/rules.d/85-phonet-utils.rules"
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/rabbitmq-c/rabbitmq-c_0.10.0.bb b/meta-openembedded/meta-oe/recipes-connectivity/rabbitmq-c/rabbitmq-c_0.10.0.bb
deleted file mode 100644
index 2ef6b187e..000000000
--- a/meta-openembedded/meta-oe/recipes-connectivity/rabbitmq-c/rabbitmq-c_0.10.0.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-DESCRIPTION = "A C-language AMQP client library for use with v2.0+ of the RabbitMQ broker"
-HOMEPAGE = "https://github.com/alanxz/rabbitmq-c"
-LIC_FILES_CHKSUM = "file://LICENSE-MIT;md5=6b7424f9db80cfb11fdd5c980b583f53"
-LICENSE = "MIT"
-
-SRC_URI = "git://github.com/alanxz/rabbitmq-c.git"
-# v0.10.0-master
-SRCREV = "ffe918a5fcef72038a88054dca3c56762b1953d4"
-
-S = "${WORKDIR}/git"
-
-DEPENDS = "popt openssl"
-
-EXTRA_OECMAKE = "-DBUILD_EXAMPLES=OFF -DBUILD_TOOLS=ON -DBUILD_TOOLS_DOCS=OFF -DBUILD_API_DOCS=OFF"
-
-inherit cmake pkgconfig
-
-PACKAGE_BEFORE_PN += "${PN}-tools"
-FILES_${PN}-tools = "${bindir}"
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/rabbitmq-c/rabbitmq-c_0.11.0.bb b/meta-openembedded/meta-oe/recipes-connectivity/rabbitmq-c/rabbitmq-c_0.11.0.bb
new file mode 100644
index 000000000..0cfd225cf
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-connectivity/rabbitmq-c/rabbitmq-c_0.11.0.bb
@@ -0,0 +1,19 @@
+DESCRIPTION = "A C-language AMQP client library for use with v2.0+ of the RabbitMQ broker"
+HOMEPAGE = "https://github.com/alanxz/rabbitmq-c"
+LIC_FILES_CHKSUM = "file://LICENSE-MIT;md5=6b7424f9db80cfb11fdd5c980b583f53"
+LICENSE = "MIT"
+
+SRC_URI = "git://github.com/alanxz/rabbitmq-c.git"
+# v0.11.0-master
+SRCREV = "a64c08c68aff34d49a2ac152f04988cd921084f9"
+
+S = "${WORKDIR}/git"
+
+DEPENDS = "popt openssl"
+
+EXTRA_OECMAKE = "-DBUILD_EXAMPLES=OFF -DBUILD_TOOLS=ON -DBUILD_TOOLS_DOCS=OFF -DBUILD_API_DOCS=OFF"
+
+inherit cmake pkgconfig
+
+PACKAGE_BEFORE_PN += "${PN}-tools"
+FILES_${PN}-tools = "${bindir}"
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/telepathy/telepathy-glib_0.24.1.bb b/meta-openembedded/meta-oe/recipes-connectivity/telepathy/telepathy-glib_0.24.1.bb
index 2b05c61a0..4d4e841f6 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/telepathy/telepathy-glib_0.24.1.bb
+++ b/meta-openembedded/meta-oe/recipes-connectivity/telepathy/telepathy-glib_0.24.1.bb
@@ -12,7 +12,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=e413d83db6ee8f2c8e6055719096a48e"
 
 inherit autotools pkgconfig gettext gobject-introspection vala
 
-EXTRA_OECONF = "--enable-vala-bindings"
+# Respect GI_DATA_ENABLED value when enabling vala-bindings:
+# configure: error: GObject-Introspection must be enabled for Vala bindings
+EXTRA_OECONF = "${@bb.utils.contains('GI_DATA_ENABLED', 'True', '--enable-vala-bindings', '--disable-vala-bindings', d)}"
 
 FILES_${PN} += "${datadir}/telepathy \
                 ${datadir}/dbus-1"
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/zabbix/zabbix_5.2.5.bb b/meta-openembedded/meta-oe/recipes-connectivity/zabbix/zabbix_5.2.5.bb
deleted file mode 100644
index 2bbfec9dc..000000000
--- a/meta-openembedded/meta-oe/recipes-connectivity/zabbix/zabbix_5.2.5.bb
+++ /dev/null
@@ -1,79 +0,0 @@
-SUMMARY = "Open-source monitoring solution for your IT infrastructure"
-DESCRIPTION = "\
-ZABBIX is software that monitors numerous parameters of a network and the \
-health and integrity of servers. ZABBIX uses a flexible notification \
-mechanism that allows users to configure e-mail based alerts for virtually \
-any event. This allows a fast reaction to server problems. ZABBIX offers \
-excellent reporting and data visualisation features based on the stored \
-data. This makes ZABBIX ideal for capacity planning. \
-\
-ZABBIX supports both polling and trapping. All ZABBIX reports and \
-statistics, as well as configuration parameters are accessed through a \
-web-based front end. A web-based front end ensures that the status of \
-your network and the health of your servers can be assessed from any \
-location. Properly configured, ZABBIX can play an important role in \
-monitoring IT infrastructure. This is equally true for small \
-organisations with a few servers and for large companies with a \
-multitude of servers."
-HOMEPAGE = "http://www.zabbix.com/"
-SECTION = "Applications/Internet"
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=300e938ad303147fede2294ed78fe02e"
-DEPENDS  = "libevent libpcre openldap virtual/libiconv zlib"
-
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-
-SRC_URI = "https://cdn.zabbix.com/zabbix/sources/stable/5.2/${BPN}-${PV}.tar.gz \
-    file://0001-Fix-configure.ac.patch \
-    file://zabbix-agent.service \
-"
-
-SRC_URI[md5sum] = "e90822716c5c241890f6fed1588b5451"
-SRC_URI[sha256sum] = "ce0d9745a8b9154e87d6906edd0fce7b7ec298acd34a0543ea53d1a5f2f14bc5"
-
-inherit autotools-brokensep linux-kernel-base pkgconfig systemd useradd
-
-SYSTEMD_PACKAGES = "${PN}"
-SYSTEMD_SERVICE_${PN} = "zabbix-agent.service"
-SYSTEMD_AUTO_ENABLE = "enable"
-
-USERADD_PACKAGES = "${PN}"
-GROUPADD_PARAM_${PN} = "-r zabbix"
-USERADD_PARAM_${PN} = "-r -g zabbix -d /var/lib/zabbix \
-    -s /sbin/nologin -c \"Zabbix Monitoring System\" zabbix \
-"
-
-KERNEL_VERSION = "${@get_kernelversion_headers('${STAGING_KERNEL_DIR}')}"
-
-EXTRA_OECONF = " \
-    --enable-dependency-tracking \
-    --enable-agent \
-    --enable-ipv6 \
-    --with-net-snmp \
-    --with-ldap=${STAGING_EXECPREFIXDIR} \
-    --with-unixodbc \
-    --with-ssh2 \
-    --with-sqlite3 \
-    --with-zlib \
-    --with-libpthread \
-    --with-libevent \
-    --with-libpcre=${STAGING_EXECPREFIXDIR} \
-    --with-iconv=${STAGING_EXECPREFIXDIR} \
-"
-CFLAGS_append = " -lldap -llber -pthread"
-
-do_configure_prepend() {
-    export KERNEL_VERSION="${KERNEL_VERSION}"
-}
-
-do_install_append() {
-    if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
-        install -d ${D}${systemd_unitdir}/system
-        install -m 0644 ${WORKDIR}/zabbix-agent.service ${D}${systemd_unitdir}/system/
-        sed -i -e 's#@SBINDIR@#${sbindir}#g' ${D}${systemd_unitdir}/system/zabbix-agent.service
-    fi
-}
-
-FILES_${PN} += "${libdir}"
-
-RDEPENDS_${PN} = "logrotate"
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/zabbix/zabbix_5.2.6.bb b/meta-openembedded/meta-oe/recipes-connectivity/zabbix/zabbix_5.2.6.bb
new file mode 100644
index 000000000..37bb9a282
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-connectivity/zabbix/zabbix_5.2.6.bb
@@ -0,0 +1,79 @@
+SUMMARY = "Open-source monitoring solution for your IT infrastructure"
+DESCRIPTION = "\
+ZABBIX is software that monitors numerous parameters of a network and the \
+health and integrity of servers. ZABBIX uses a flexible notification \
+mechanism that allows users to configure e-mail based alerts for virtually \
+any event. This allows a fast reaction to server problems. ZABBIX offers \
+excellent reporting and data visualisation features based on the stored \
+data. This makes ZABBIX ideal for capacity planning. \
+\
+ZABBIX supports both polling and trapping. All ZABBIX reports and \
+statistics, as well as configuration parameters are accessed through a \
+web-based front end. A web-based front end ensures that the status of \
+your network and the health of your servers can be assessed from any \
+location. Properly configured, ZABBIX can play an important role in \
+monitoring IT infrastructure. This is equally true for small \
+organisations with a few servers and for large companies with a \
+multitude of servers."
+HOMEPAGE = "http://www.zabbix.com/"
+SECTION = "Applications/Internet"
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=300e938ad303147fede2294ed78fe02e"
+DEPENDS  = "libevent libpcre openldap virtual/libiconv zlib"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+SRC_URI = "https://cdn.zabbix.com/zabbix/sources/stable/5.2/${BPN}-${PV}.tar.gz \
+    file://0001-Fix-configure.ac.patch \
+    file://zabbix-agent.service \
+"
+
+SRC_URI[md5sum] = "31dab3535a1fa212f5724902727f6d4d"
+SRC_URI[sha256sum] = "76cb704f2a04fbc87bb3eff44fa71339c355d467f7bbd8fb53f8927c760e1680"
+
+inherit autotools-brokensep linux-kernel-base pkgconfig systemd useradd
+
+SYSTEMD_PACKAGES = "${PN}"
+SYSTEMD_SERVICE_${PN} = "zabbix-agent.service"
+SYSTEMD_AUTO_ENABLE = "enable"
+
+USERADD_PACKAGES = "${PN}"
+GROUPADD_PARAM_${PN} = "-r zabbix"
+USERADD_PARAM_${PN} = "-r -g zabbix -d /var/lib/zabbix \
+    -s /sbin/nologin -c \"Zabbix Monitoring System\" zabbix \
+"
+
+KERNEL_VERSION = "${@get_kernelversion_headers('${STAGING_KERNEL_DIR}')}"
+
+EXTRA_OECONF = " \
+    --enable-dependency-tracking \
+    --enable-agent \
+    --enable-ipv6 \
+    --with-net-snmp \
+    --with-ldap=${STAGING_EXECPREFIXDIR} \
+    --with-unixodbc \
+    --with-ssh2 \
+    --with-sqlite3 \
+    --with-zlib \
+    --with-libpthread \
+    --with-libevent \
+    --with-libpcre=${STAGING_EXECPREFIXDIR} \
+    --with-iconv=${STAGING_EXECPREFIXDIR} \
+"
+CFLAGS_append = " -lldap -llber -pthread"
+
+do_configure_prepend() {
+    export KERNEL_VERSION="${KERNEL_VERSION}"
+}
+
+do_install_append() {
+    if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
+        install -d ${D}${systemd_unitdir}/system
+        install -m 0644 ${WORKDIR}/zabbix-agent.service ${D}${systemd_unitdir}/system/
+        sed -i -e 's#@SBINDIR@#${sbindir}#g' ${D}${systemd_unitdir}/system/zabbix-agent.service
+    fi
+}
+
+FILES_${PN} += "${libdir}"
+
+RDEPENDS_${PN} = "logrotate"
diff --git a/meta-openembedded/meta-oe/recipes-core/opencl/ocl-icd_2.3.0.bb b/meta-openembedded/meta-oe/recipes-core/opencl/ocl-icd_2.3.0.bb
new file mode 100644
index 000000000..d94e4c2f0
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-core/opencl/ocl-icd_2.3.0.bb
@@ -0,0 +1,18 @@
+SUMMARY = "OpenCL ICD library"
+DESCRIPTION = "Open Source alternative to vendor specific OpenCL ICD loaders."
+
+# The LICENSE is BSD 2-Clause "Simplified" License
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=1238d5bccbb6bda30654e48dcc0a554b"
+
+SRC_URI = "git://github.com/OCL-dev/ocl-icd.git;protocol=https"
+
+SRCREV = "59c098b6b1f97a339e3e5308499aee6538ecea40"
+
+S = "${WORKDIR}/git"
+
+inherit autotools
+
+DEPENDS = "ruby-native"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-oe/recipes-core/opencl/ocl-icd_git.bb b/meta-openembedded/meta-oe/recipes-core/opencl/ocl-icd_git.bb
deleted file mode 100644
index 2e43939b9..000000000
--- a/meta-openembedded/meta-oe/recipes-core/opencl/ocl-icd_git.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-SUMMARY = "OpenCL ICD library"
-DESCRIPTION = "Open Source alternative to vendor specific OpenCL ICD loaders."
-
-# The LICENSE is BSD 2-Clause "Simplified" License
-LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://COPYING;md5=1238d5bccbb6bda30654e48dcc0a554b"
-
-SRC_URI = "git://github.com/OCL-dev/ocl-icd.git;protocol=https"
-
-PV = "2.2.14+git${SRCPV}"
-SRCREV = "109694ef2686fe25538c05f3c856912f8ef571a9"
-
-S = "${WORKDIR}/git"
-
-inherit autotools
-
-DEPENDS = "ruby-native"
-
-BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb b/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb
index 4eb2e8c11..59908e2c0 100644
--- a/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb
+++ b/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb
@@ -146,7 +146,6 @@ RDEPENDS_packagegroup-meta-oe-connectivity ="\
     obexftp \
     packagegroup-tools-bluetooth \
     paho-mqtt-c \
-    phonet-utils \
     rabbitmq-c \
     rfkill \
     rtorrent \
@@ -192,7 +191,7 @@ RDEPENDS_packagegroup-meta-oe-core = "\
     usleep \
     dbus-cxx \
 "
-RDEPENDS_packagegroup-meta-oe-core_append_libc-glibc = " glfw"
+RDEPENDS_packagegroup-meta-oe-core_append_libc-glibc = " ${@bb.utils.contains("DISTRO_FEATURES", "x11 opengl", "glfw", "", d)}"
 RDEPENDS_packagegroup-meta-oe-core_remove_riscv64 = "safec"
 RDEPENDS_packagegroup-meta-oe-core_remove_riscv32 = "safec"
 
@@ -322,109 +321,109 @@ RDEPENDS_packagegroup-meta-oe-devtools_remove_aarch64 = "concurrencykit"
 RDEPENDS_packagegroup-meta-oe-devtools_remove_x86 = "ply"
 
 RDEPENDS_packagegroup-meta-oe-extended ="\
-     bitwise \
+    bitwise \
     ${@bb.utils.contains("DISTRO_FEATURES", "x11 wayland opengl", "boinc-client", "", d)} \
-     brotli \
-     byacc \
-     cmpi-bindings \
-     collectd \
-     cfengine-masterfiles \
-     cfengine \
-     ddrescue \
-     dialog \
-     enscript \
-     ${@bb.utils.contains("DISTRO_FEATURES", "x11", "gnuplot", "", d)} \
-     dlt-daemon \
-     docopt.cpp \
-     iotop \
-     dumb-init \
-     konkretcmpi \
-     figlet \
-     libcec \
-     libdivecomputer \
-     fluentbit \
-     ${@bb.utils.contains("DISTRO_FEATURES", "x11", "libgxim", "", d)} \
-     liblognorm \
-     libmodbus \
-     haveged \
-     hexedit \
-     hiredis \
-     hplip \
-     hwloc \
-     libleak \
-     libuio \
-     ${@bb.utils.contains("DISTRO_FEATURES", "x11", "libwmf", "", d)} \
-     lprng \
-     icewm \
-     md5deep \
-     indent \
-     jansson \
-     nana \
-     nicstat \
-     ${@bb.utils.contains("DISTRO_FEATURES", "pam", "openwsman", "", d)} \
-     p7zip \
-     isomd5sum \
-     jpnevulator \
-     ${@bb.utils.contains("DISTRO_FEATURES", "polkit", "polkit-group-rule-datetime polkit-group-rule-network polkit", "", d)} \
-     rarpd \
-     redis \
-     libfastjson \
-     librelp \
-     sblim-cmpi-devel \
-     sblim-sfc-common \
-     ${@bb.utils.contains("DISTRO_FEATURES", "pam", "sblim-sfcb ", "", d)} \
-     sblim-sfcc \
-     libblockdev \
-     sgpio \
-     smartmontools \
-     can-utils \
-     canutils \
-     libsocketcan \
-     libconfig \
-     linuxconsole \
-     uml-utilities \
-     libidn \
-     libqb \
-     wipe \
-     libzip \
-     zram \
-     libplist \
-     libusbmuxd \
-     liblockfile \
-     liblogging \
-     libnss-nisplus \
-     libpwquality \
-     ${@bb.utils.contains("DISTRO_FEATURES", "systemd", "libreport", "", d)} \
-     libserialport \
-     libstatgrab \
-     lockfile-progs \
-     logwatch \
-     mailx \
-     mraa \
-     ostree \
-     ${@bb.utils.contains("DISTRO_FEATURES", "pam", "pam-plugin-ccreds pam-plugin-ldapdb pam-ssh-agent-auth", "", d)} \
-     pegtl \
-     libfile-fnmatch-perl \
-     rrdtool \
-     sanlock \
-     scsirastools \
-     sedutil \
-     libsigrok \
-     libsigrokdecode \
-     sigrok-cli \
-     snappy \
-     tipcutils \
-     tiptop \
-     tmate \
-     tmux \
-     triggerhappy \
-     upm \
-     vlock \
-     volume-key \
-     wxwidgets \
-     zlog \
-     zstd \
-     redis-plus-plus \
+    brotli \
+    byacc \
+    cmpi-bindings \
+    collectd \
+    cfengine-masterfiles \
+    cfengine \
+    ddrescue \
+    dialog \
+    enscript \
+    ${@bb.utils.contains("DISTRO_FEATURES", "x11", "gnuplot", "", d)} \
+    dlt-daemon \
+    docopt.cpp \
+    iotop \
+    dumb-init \
+    konkretcmpi \
+    figlet \
+    libcec \
+    libdivecomputer \
+    fluentbit \
+    ${@bb.utils.contains("DISTRO_FEATURES", "x11", "libgxim", "", d)} \
+    liblognorm \
+    libmodbus \
+    haveged \
+    hexedit \
+    hiredis \
+    hplip \
+    hwloc \
+    libleak \
+    libuio \
+    ${@bb.utils.contains("DISTRO_FEATURES", "x11", "libwmf", "", d)} \
+    lprng \
+    ${@bb.utils.contains("DISTRO_FEATURES", "x11", "icewm", "", d)} \
+    md5deep \
+    indent \
+    jansson \
+    nana \
+    nicstat \
+    ${@bb.utils.contains("DISTRO_FEATURES", "pam", "openwsman", "", d)} \
+    p7zip \
+    isomd5sum \
+    jpnevulator \
+    ${@bb.utils.contains("DISTRO_FEATURES", "polkit", "polkit-group-rule-datetime polkit-group-rule-network polkit", "", d)} \
+    rarpd \
+    redis \
+    libfastjson \
+    librelp \
+    sblim-cmpi-devel \
+    sblim-sfc-common \
+    ${@bb.utils.contains("DISTRO_FEATURES", "pam", "sblim-sfcb ", "", d)} \
+    sblim-sfcc \
+    libblockdev \
+    sgpio \
+    smartmontools \
+    can-utils \
+    canutils \
+    libsocketcan \
+    libconfig \
+    linuxconsole \
+    uml-utilities \
+    libidn \
+    libqb \
+    wipe \
+    libzip \
+    zram \
+    libplist \
+    libusbmuxd \
+    liblockfile \
+    liblogging \
+    libnss-nisplus \
+    libpwquality \
+    ${@bb.utils.contains("DISTRO_FEATURES", "systemd", "libreport", "", d)} \
+    libserialport \
+    libstatgrab \
+    lockfile-progs \
+    logwatch \
+    mailx \
+    mraa \
+    ostree \
+    ${@bb.utils.contains("DISTRO_FEATURES", "pam", "pam-plugin-ccreds pam-plugin-ldapdb pam-ssh-agent-auth", "", d)} \
+    pegtl \
+    libfile-fnmatch-perl \
+    rrdtool \
+    sanlock \
+    scsirastools \
+    sedutil \
+    libsigrok \
+    libsigrokdecode \
+    sigrok-cli \
+    snappy \
+    tipcutils \
+    tiptop \
+    tmate \
+    tmux \
+    triggerhappy \
+    upm \
+    vlock \
+    volume-key \
+    wxwidgets \
+    zlog \
+    zstd \
+    redis-plus-plus \
 "
 RDEPENDS_packagegroup-meta-oe-extended_append_libc-musl = " libexecinfo"
 RDEPENDS_packagegroup-meta-oe-extended_append_x86-64 = " pmdk libx86-1"
@@ -712,7 +711,6 @@ RDEPENDS_packagegroup-meta-oe-support ="\
     ace-cloud-editor \
     frame \
     ${@bb.utils.contains("DISTRO_FEATURES", "x11", "geis", "", d)} \
-    geis \
     grail \
     asio \
     augeas \
@@ -762,7 +760,7 @@ RDEPENDS_packagegroup-meta-oe-support ="\
     ccid \
     zchunk \
     libgpiod \
-    libgpiod \
+    libmanette \
     ckermit \
     libcereal \
     daemontools \
diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.5.8.bb b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.5.8.bb
deleted file mode 100644
index 73b2a0980..000000000
--- a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.5.8.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-require mariadb.inc
-inherit native
-
-PROVIDES += "mysql5-native"
-DEPENDS = "ncurses-native zlib-native bison-native libpcre2-native"
-
-RDEPENDS_${PN} = ""
-PACKAGES = ""
-EXTRA_OEMAKE = ""
-
-do_install() {
-    oe_runmake 'DESTDIR=${D}' install
-
-    install -d ${D}${bindir}
-    install -m 0755 sql/gen_lex_hash ${D}${bindir}/
-    install -m 0755 sql/gen_lex_token ${D}${bindir}/
-    install -m 0755 extra/comp_err ${D}${bindir}/
-    install -m 0755 scripts/comp_sql ${D}${bindir}/
-}
-
diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.5.9.bb b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.5.9.bb
new file mode 100644
index 000000000..73b2a0980
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.5.9.bb
@@ -0,0 +1,20 @@
+require mariadb.inc
+inherit native
+
+PROVIDES += "mysql5-native"
+DEPENDS = "ncurses-native zlib-native bison-native libpcre2-native"
+
+RDEPENDS_${PN} = ""
+PACKAGES = ""
+EXTRA_OEMAKE = ""
+
+do_install() {
+    oe_runmake 'DESTDIR=${D}' install
+
+    install -d ${D}${bindir}
+    install -m 0755 sql/gen_lex_hash ${D}${bindir}/
+    install -m 0755 sql/gen_lex_token ${D}${bindir}/
+    install -m 0755 extra/comp_err ${D}${bindir}/
+    install -m 0755 scripts/comp_sql ${D}${bindir}/
+}
+
diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc
index 1fbcb7142..9833b2885 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc
+++ b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc
@@ -20,11 +20,12 @@ SRC_URI = "https://downloads.mariadb.org/interstitial/${BP}/source/${BP}.tar.gz
            file://fix-arm-atomic.patch \
            file://0001-Fix-library-LZ4-lookup.patch \
            file://0001-innobase-Define-__NR_futex-if-it-does-not-exist.patch \
-           file://0001-stacktrace-t.c-make-the-test-conditional.patch \
+           file://0001-aio_linux-Check-if-syscall-exists-before-using-it.patch \
+           file://sys_futex.patch \
           "
 SRC_URI_append_libc-musl = " file://ppc-remove-glibc-dep.patch"
 
-SRC_URI[sha256sum] = "eb4824f6f2c532cd3fc6a6bce7bf78ea7c6b949f8bdd07656b2c84344e757be8"
+SRC_URI[sha256sum] = "40ab19aeb8de141fdc188cf2251213c9e7351bee4d0cd29db704fae68d1068cf"
 
 UPSTREAM_CHECK_URI = "https://github.com/MariaDB/server/releases"
 
diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/0001-aio_linux-Check-if-syscall-exists-before-using-it.patch b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/0001-aio_linux-Check-if-syscall-exists-before-using-it.patch
new file mode 100644
index 000000000..a2f7812c5
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/0001-aio_linux-Check-if-syscall-exists-before-using-it.patch
@@ -0,0 +1,43 @@
+From 5d9a869a72420cf0bb08b6aa93e980df90bdcf2e Mon Sep 17 00:00:00 2001
+From: Khem Raj 
+Date: Sat, 3 Apr 2021 12:02:36 -0700
+Subject: [PATCH] aio_linux: Check if syscall exists before using it
+
+Return -ENOSYS if not implememented, fixes build on arches like RISCV32
+Fixes
+tpool/aio_linux.cc:63:20: error: '__NR_io_getevents' was not declared in this scope; did you mean 'io_getevents'?
+   63 |   int ret= syscall(__NR_io_getevents, reinterpret_cast(ctx),
+      |                    ^~~~~~~~~~~~~~~~~
+      |                    io_getevents
+
+Upstream-Staus: Pending
+Signed-off-by: Khem Raj 
+---
+ tpool/aio_linux.cc | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/tpool/aio_linux.cc b/tpool/aio_linux.cc
+index d9aa8be2..d8a87a8f 100644
+--- a/tpool/aio_linux.cc
++++ b/tpool/aio_linux.cc
+@@ -59,6 +59,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111 - 1301 USA*/
+ */
+ static int my_getevents(io_context_t ctx, long min_nr, long nr, io_event *ev)
+ {
++#ifdef __NR_io_getevents
+   int saved_errno= errno;
+   int ret= syscall(__NR_io_getevents, reinterpret_cast(ctx),
+                    min_nr, nr, ev, 0);
+@@ -68,6 +69,9 @@ static int my_getevents(io_context_t ctx, long min_nr, long nr, io_event *ev)
+     errno= saved_errno;
+   }
+   return ret;
++#else
++  return -ENOSYS;
++#endif
+ }
+ #endif
+ 
+-- 
+2.31.1
+
diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/0001-stacktrace-t.c-make-the-test-conditional.patch b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/0001-stacktrace-t.c-make-the-test-conditional.patch
deleted file mode 100644
index d8f672d74..000000000
--- a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/0001-stacktrace-t.c-make-the-test-conditional.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From 966cbeb309f867ff4ac8e7f4462be4780e421700 Mon Sep 17 00:00:00 2001
-From: Mingli Yu 
-Date: Mon, 25 Jan 2021 19:01:06 -0800
-Subject: [PATCH] stacktrace-t.c: make the test conditional
-
-Fixes:
-/prj/tmp/work/cortexa57-poky-linux-musl/mariadb/10.5.8-r0/recipe-sysroot-native/usr/bin/aarch64-poky-linux-musl/../../libexec/aarch64-poky-linux-musl/gcc/aarch64-poky-linux-musl/10.2.0/ld.bfd: /usr/src/debug/mariadb/10.5.8-r0/mariadb-10.5.8/unittest/mysys/stacktrace-t.c:36: undefined reference to `my_safe_print_str'
-
-Upstream-Status: Submitted [https://jira.mariadb.org/browse/MDEV-24131]
-
-Signed-off-by: Mingli Yu 
----
- unittest/mysys/stacktrace-t.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/unittest/mysys/stacktrace-t.c b/unittest/mysys/stacktrace-t.c
-index 8fa0db15b36..d8408f80d76 100644
---- a/unittest/mysys/stacktrace-t.c
-+++ b/unittest/mysys/stacktrace-t.c
-@@ -29,6 +29,7 @@ void test_my_safe_print_str()
-   memcpy(b_stack, "LEGAL", 6);
-   memcpy(b_bss, "LEGAL", 6);
- 
-+#ifdef HAVE_STACKTRACE
- #ifndef __SANITIZE_ADDRESS__
-   fprintf(stderr, "\n===== stack =====\n");
-   my_safe_print_str(b_stack, 65535);
-@@ -48,6 +49,7 @@ void test_my_safe_print_str()
-   fprintf(stderr, "\n===== (const char*) 1 =====\n");
-   my_safe_print_str((const char*)1, 5);
- #endif /*__SANITIZE_ADDRESS__*/
-+#endif /*HAVE_STACKTRACE*/
- 
-   free(b_heap);
- 
--- 
-2.17.1
-
diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/c11_atomics.patch b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/c11_atomics.patch
index 32c9818ab..1c76ab391 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/c11_atomics.patch
+++ b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/c11_atomics.patch
@@ -17,10 +17,10 @@ Signed-off-by: Mingli Yu 
  3 files changed, 27 insertions(+), 1 deletion(-)
 
 diff --git a/configure.cmake b/configure.cmake
-index bb3ad43..2ff4f19 100644
+index 4fc324a9..23a2ea91 100644
 --- a/configure.cmake
 +++ b/configure.cmake
-@@ -861,7 +861,25 @@ int main()
+@@ -862,7 +862,25 @@ int main()
    long long int *ptr= &var;
    return (int)__atomic_load_n(ptr, __ATOMIC_SEQ_CST);
  }"
@@ -48,10 +48,10 @@ index bb3ad43..2ff4f19 100644
  IF(WITH_VALGRIND)
    SET(HAVE_valgrind 1)
 diff --git a/mysys/CMakeLists.txt b/mysys/CMakeLists.txt
-index 6a3a1ef..e306ae7 100644
+index 6aab788f..91b9c393 100644
 --- a/mysys/CMakeLists.txt
 +++ b/mysys/CMakeLists.txt
-@@ -140,6 +140,10 @@ TARGET_LINK_LIBRARIES(mysys dbug strings ${ZLIB_LIBRARY}
+@@ -154,6 +154,10 @@ TARGET_LINK_LIBRARIES(mysys dbug strings ${ZLIB_LIBRARY}
   ${LIBNSL} ${LIBM} ${LIBRT} ${CMAKE_DL_LIBS} ${LIBSOCKET} ${LIBEXECINFO})
  DTRACE_INSTRUMENT(mysys)
  
@@ -63,10 +63,10 @@ index 6a3a1ef..e306ae7 100644
    TARGET_LINK_LIBRARIES(mysys bfd)  
  ENDIF(HAVE_BFD_H)
 diff --git a/sql/CMakeLists.txt b/sql/CMakeLists.txt
-index 4978d01..883a930 100644
+index b9cd418f..d42e5017 100644
 --- a/sql/CMakeLists.txt
 +++ b/sql/CMakeLists.txt
-@@ -220,6 +220,10 @@ ELSE()
+@@ -222,6 +222,10 @@ ELSE()
    SET(MYSQLD_SOURCE main.cc ${DTRACE_PROBES_ALL})
  ENDIF()
  
@@ -74,9 +74,9 @@ index 4978d01..883a930 100644
 +  TARGET_LINK_LIBRARIES(sql atomic)
 +ENDIF()
 +
- IF(MSVC)
+ IF(MSVC OR CMAKE_SYSTEM_NAME MATCHES AIX)
    SET(libs_to_export_symbols sql mysys dbug strings)
    # Create shared library of already compiled object
 -- 
-2.17.1
+2.25.1
 
diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/sys_futex.patch b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/sys_futex.patch
new file mode 100644
index 000000000..3277a3eee
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/sys_futex.patch
@@ -0,0 +1,22 @@
+ Use SYS_futex for syscall
+
+glibc defines SYS_futex and on newer 32bit CPUs like RISCV-32, arc there
+is no 32bit time_t therefore define SYS_futex in terms of SYS_futex_time64
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj 
+--- a/storage/innobase/include/ib0mutex.h
++++ b/storage/innobase/include/ib0mutex.h
+@@ -150,6 +150,12 @@ private:
+ #include 
+ #include 
+ 
++/** Newer 32bit CPUs eg. RISCV-32 are defaulting to 64bit time_t from get go and
++ therefore do not define __NR_futex */
++#if !defined(SYS_futex) && defined(SYS_futex_time64)
++# define SYS_futex SYS_futex_time64
++#endif
++
+ /** Mutex implementation that used the Linux futex. */
+ template