From patchwork Sun Sep 8 07:29:59 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vadym Kochan X-Patchwork-Id: 1159421 Return-Path: X-Original-To: incoming-buildroot@patchwork.ozlabs.org Delivered-To: patchwork-incoming-buildroot@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=busybox.net (client-ip=140.211.166.136; helo=silver.osuosl.org; envelope-from=buildroot-bounces@busybox.net; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="pcISF6e+"; dkim-atps=neutral Received: from silver.osuosl.org (smtp3.osuosl.org [140.211.166.136]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 46R30Z0wHGz9sNf for ; Sun, 8 Sep 2019 17:32:27 +1000 (AEST) Received: from localhost (localhost [127.0.0.1]) by silver.osuosl.org (Postfix) with ESMTP id BCA0520422; Sun, 8 Sep 2019 07:32:23 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from silver.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id xhcJH4MtF09s; Sun, 8 Sep 2019 07:32:19 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by silver.osuosl.org (Postfix) with ESMTP id C9F02203AA; Sun, 8 Sep 2019 07:32:19 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from fraxinus.osuosl.org (smtp4.osuosl.org [140.211.166.137]) by ash.osuosl.org (Postfix) with ESMTP id 679E61BF31C for ; Sun, 8 Sep 2019 07:32:18 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by fraxinus.osuosl.org (Postfix) with ESMTP id 5F59B857CE for ; Sun, 8 Sep 2019 07:32:18 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from fraxinus.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id clkIV6iY3zUW for ; Sun, 8 Sep 2019 07:32:17 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mail-lf1-f66.google.com (mail-lf1-f66.google.com [209.85.167.66]) by fraxinus.osuosl.org (Postfix) with ESMTPS id A5E40857C5 for ; Sun, 8 Sep 2019 07:32:16 +0000 (UTC) Received: by mail-lf1-f66.google.com with SMTP id d10so8126466lfi.0 for ; Sun, 08 Sep 2019 00:32:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=IabH6AP94lf+PY5v6aa9wE6quUjUhNz9HxoAZVQXSIQ=; b=pcISF6e+08SaXoMcB8hVcJMTPWbKosCgq0JeDbDS5+OCQhpoT1usJhmIEYOZVChQVe 8ibv1aCNj3FPOqRm++ENk8Po9LLSZQ+sZeKgYd07dcxqjyDk7U9P19g5XqciRxwZtqFt Um+eGffGH0MwU32w5gJVI0pnBSkW9f1XpldEk7hM6EIRCJ0FszaZsY8+5UydSYP7u19C WlspWO2b8svSVV9Sb88qoclzKAyc3C+pjGDQ3KH2L4BXdYyVjVTubYuvBqMbMtSyXwuF 04JHdxDsOVtdnlX2LQjDZQivmQwmf4h4OKWMHXXIUucvGbah3MzzEJTuvH/uHhvASXnt /N5Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=IabH6AP94lf+PY5v6aa9wE6quUjUhNz9HxoAZVQXSIQ=; b=KxuCw92NZghQDsGJgYR93Q/bpy6gSiqfrD+aYkzSZZPjGsf2icz54YF4HYICoaLfCk +UWzbzlyvD0wvb/yh8Oin6UndNMb7MAVkOz/G6U66/hL3HcNG/0mmbHIoYbEwtl/PKn8 DzYYN4kGsoMvOryDF7ZfRReXvNJavJ/afGq0oDTID7kGw02Qaloru3VVfFTAp3oKWkVx 7FzDICeFZuXVzVQG1x+I9JMURG1bluSsJCvY24LrwRGVHrfhQqd5PhVkz7U3QPpX9gwl yzt9ddqtMsOpMbPWMR5EZH0jtY7M4wswdYd3wh71ABg40qPwJsfPO1FKr7wt5ik2UYTw 9PKA== X-Gm-Message-State: APjAAAV8FgXHCIbeEeUFSsU69XVDfgy2q+pLv8cLkFfihl/5t+RmtsNE 0vc+dVvXE9j+5eEPaqP038maecqx X-Google-Smtp-Source: APXvYqw4jQgcvPP1DxupUR7m46KlbHFkEEaqaj8/Q0xlch6HRHfbs8FrLdufYzDxU2MT1tR4yxdPzQ== X-Received: by 2002:ac2:4308:: with SMTP id l8mr11969184lfh.25.1567927934192; Sun, 08 Sep 2019 00:32:14 -0700 (PDT) Received: from localhost.localdomain ([93.75.246.20]) by smtp.gmail.com with ESMTPSA id k20sm781184ljj.102.2019.09.08.00.32.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 08 Sep 2019 00:32:13 -0700 (PDT) From: Vadim Kochan To: buildroot@buildroot.org Date: Sun, 8 Sep 2019 10:29:59 +0300 Message-Id: <20190908072959.2526-1-vadim4j@gmail.com> X-Mailer: git-send-email 2.22.0 MIME-Version: 1.0 Subject: [Buildroot] [PATCH v2 1/1] package/uclibc: fix termios redefinition issue for PowerPC X-BeenThere: buildroot@busybox.net X-Mailman-Version: 2.1.29 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Vadim Kochan Errors-To: buildroot-bounces@busybox.net Sender: "buildroot" Fix redefinition of 'struct termios' by syncing termios powerpc headers from glibc, the commit which fixed the same issue in glibc: d4795e4a43e6f0c221bc5dc64c612206a21a177b PowerPC: Fix termios definitions https://sourceware.org/git/?p=glibc.git;a=commit;h=d4795e4a43e6f0c221bc5dc64c612206a21a177b it fixed the following bug request: https://bugzilla.redhat.com/show_bug.cgi?id=1122714 In case of Buildroot it fixes flashrom build for PowerPC. Fixes: http://autobuild.buildroot.net/results/797dde5cbf0e94162c7cc7b557841605c78ac2f3/ Signed-off-by: Vadim Kochan --- v2: 1) Aligned with original patch version (authorship, diff) 2) Sent patch to the upstream but I dont see it in the uclibc's patchwork P.S. It is funny that buildroot patch was applied to uclibc: https://cgit.uclibc-ng.org/cgi/cgit/uclibc-ng.git/commit/?id=14c36638c1a125b1c2d06857c7e7c44f266d0e8e I dont understand how it was happened, I also sent notes about it to the devel@uclibc-ng.org. ...rPC-sync-with-termios-fix-from-glibc.patch | 172 ++++++++++++++++++ 1 file changed, 172 insertions(+) create mode 100644 package/uclibc/0005-PowerPC-sync-with-termios-fix-from-glibc.patch diff --git a/package/uclibc/0005-PowerPC-sync-with-termios-fix-from-glibc.patch b/package/uclibc/0005-PowerPC-sync-with-termios-fix-from-glibc.patch new file mode 100644 index 0000000000..f933d43dcd --- /dev/null +++ b/package/uclibc/0005-PowerPC-sync-with-termios-fix-from-glibc.patch @@ -0,0 +1,172 @@ +From 67b3b894517893e94b9eed46f38c5d631b87a200 Mon Sep 17 00:00:00 2001 +From: Adhemerval Zanella +Date: Tue, 20 Aug 2019 23:16:18 +0300 +Subject: [PATCH] PowerPC: Fix termios definitions + +This patch fixes the incorrect guard by __USE_MISC of struct winsize and +struct termio in powerpc termios header. Current states leads to build +failures if the program defines _XOPEN_SOURCE, but not _DEFAULT_SOURCE +or either _BSD_SOURCE or _SVID_SOURCE. Without any definition, +__USE_MISC will not be defined and neither the struct definitions. + +This patch copies the default Linux ioctl-types.h by adjusting only the +character control field (c_cc) size in struct termio. + +Signed-off-by: Vadim Kochan +[Vadim: adopted for uclibc ] +--- + libc/sysdeps/linux/powerpc/bits/ioctl-types.h | 74 ++++++++++++++++++- + libc/sysdeps/linux/powerpc/bits/termios.h | 48 ------------ + 2 files changed, 73 insertions(+), 49 deletions(-) + +diff --git a/libc/sysdeps/linux/powerpc/bits/ioctl-types.h b/libc/sysdeps/linux/powerpc/bits/ioctl-types.h +index 87b8265af..926061fa8 100644 +--- a/libc/sysdeps/linux/powerpc/bits/ioctl-types.h ++++ b/libc/sysdeps/linux/powerpc/bits/ioctl-types.h +@@ -1,5 +1,77 @@ ++/* Structure types for pre-termios terminal ioctls. Linux/powerpc version. ++ Copyright (C) 2014-2019 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 ++ . */ ++ + #ifndef _SYS_IOCTL_H + # error "Never use directly; include instead." + #endif + +-#include ++/* Get definition of constants for use with `ioctl'. */ ++#include ++ ++ ++struct winsize ++ { ++ unsigned short int ws_row; ++ unsigned short int ws_col; ++ unsigned short int ws_xpixel; ++ unsigned short int ws_ypixel; ++ }; ++ ++#define NCC 10 ++struct termio ++ { ++ unsigned short int c_iflag; /* input mode flags */ ++ unsigned short int c_oflag; /* output mode flags */ ++ unsigned short int c_cflag; /* control mode flags */ ++ unsigned short int c_lflag; /* local mode flags */ ++ unsigned char c_line; /* line discipline */ ++ unsigned char c_cc[NCC]; /* control characters */ ++}; ++ ++/* modem lines */ ++#define TIOCM_LE 0x001 ++#define TIOCM_DTR 0x002 ++#define TIOCM_RTS 0x004 ++#define TIOCM_ST 0x008 ++#define TIOCM_SR 0x010 ++#define TIOCM_CTS 0x020 ++#define TIOCM_CAR 0x040 ++#define TIOCM_RNG 0x080 ++#define TIOCM_DSR 0x100 ++#define TIOCM_CD TIOCM_CAR ++#define TIOCM_RI TIOCM_RNG ++ ++/* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */ ++ ++/* line disciplines */ ++#define N_TTY 0 ++#define N_SLIP 1 ++#define N_MOUSE 2 ++#define N_PPP 3 ++#define N_STRIP 4 ++#define N_AX25 5 ++#define N_X25 6 /* X.25 async */ ++#define N_6PACK 7 ++#define N_MASC 8 /* Mobitex module */ ++#define N_R3964 9 /* Simatic R3964 module */ ++#define N_PROFIBUS_FDL 10 /* Profibus */ ++#define N_IRDA 11 /* Linux IR */ ++#define N_SMSBLOCK 12 /* SMS block mode */ ++#define N_HDLC 13 /* synchronous HDLC */ ++#define N_SYNC_PPP 14 /* synchronous PPP */ ++#define N_HCI 15 /* Bluetooth HCI UART */ +diff --git a/libc/sysdeps/linux/powerpc/bits/termios.h b/libc/sysdeps/linux/powerpc/bits/termios.h +index ffd99a5e2..83380685f 100644 +--- a/libc/sysdeps/linux/powerpc/bits/termios.h ++++ b/libc/sysdeps/linux/powerpc/bits/termios.h +@@ -256,23 +256,6 @@ struct ltchars { + #define TIOCPKT_NOSTOP 16 + #define TIOCPKT_DOSTOP 32 + +-struct winsize { +- unsigned short ws_row; +- unsigned short ws_col; +- unsigned short ws_xpixel; +- unsigned short ws_ypixel; +-}; +- +-#define NCC 10 +-struct termio { +- unsigned short c_iflag; /* input mode flags */ +- unsigned short c_oflag; /* output mode flags */ +- unsigned short c_cflag; /* control mode flags */ +- unsigned short c_lflag; /* local mode flags */ +- unsigned char c_line; /* line discipline */ +- unsigned char c_cc[NCC]; /* control characters */ +-}; +- + /* c_cc characters */ + #define _VINTR 0 + #define _VQUIT 1 +@@ -285,36 +268,5 @@ struct termio { + #define _VEOL2 8 + #define _VSWTC 9 + +-/* modem lines */ +-#define TIOCM_LE 0x001 +-#define TIOCM_DTR 0x002 +-#define TIOCM_RTS 0x004 +-#define TIOCM_ST 0x008 +-#define TIOCM_SR 0x010 +-#define TIOCM_CTS 0x020 +-#define TIOCM_CAR 0x040 +-#define TIOCM_RNG 0x080 +-#define TIOCM_DSR 0x100 +-#define TIOCM_CD TIOCM_CAR +-#define TIOCM_RI TIOCM_RNG +- + /* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */ + #define TIOCSER_TEMT 0x01 /* Transmitter physically empty */ +- +-/* line disciplines */ +-#define N_TTY 0 +-#define N_SLIP 1 +-#define N_MOUSE 2 +-#define N_PPP 3 +-#define N_STRIP 4 +-#define N_AX25 5 +-#define N_X25 6 /* X.25 async */ +-#define N_6PACK 7 +-#define N_MASC 8 /* Mobitex module */ +-#define N_R3964 9 /* Simatic R3964 module */ +-#define N_PROFIBUS_FDL 10 /* Profibus */ +-#define N_IRDA 11 /* Linux IR */ +-#define N_SMSBLOCK 12 /* SMS block mode */ +-#define N_HDLC 13 /* synchronous HDLC */ +-#define N_SYNC_PPP 14 /* synchronous PPP */ +-#define N_HCI 15 /* Bluetooth HCI UART */ +-- +2.22.0 +