diff --git a/sysdeps/unix/sysv/linux/Makefile b/sysdeps/unix/sysv/linux/Makefile
index 242eef13eb..686b3e236b 100644
--- a/sysdeps/unix/sysv/linux/Makefile
+++ b/sysdeps/unix/sysv/linux/Makefile
@@ -45,7 +45,7 @@ sysdep_headers += sys/mount.h sys/acct.h sys/sysctl.h \
 		  bits/procfs-prregset.h bits/mman-map-flags-generic.h \
 		  bits/msq-pad.h bits/sem-pad.h bits/shmlba.h bits/shm-pad.h \
 		  bits/termios-struct.h bits/termios-c_cc.h \
-		  bits/termios-c_iflag.h
+		  bits/termios-c_iflag.h bits/termios-c_oflag.h
 
 tests += tst-clone tst-clone2 tst-clone3 tst-fanotify tst-personality \
 	 tst-quota tst-sync_file_range tst-sysconf-iov_max tst-ttyname \
diff --git a/sysdeps/unix/sysv/linux/alpha/bits/termios-c_oflag.h b/sysdeps/unix/sysv/linux/alpha/bits/termios-c_oflag.h
new file mode 100644
index 0000000000..6458f6556b
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/alpha/bits/termios-c_oflag.h
@@ -0,0 +1,66 @@
+/* termios output mode definitions.  Linux/alpha version.
+   Copyright (C) 2018 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
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _TERMIOS_H
+# error "Never include <bits/termios-c_oflag.h> directly; use <termios.h> instead."
+#endif
+
+/* c_oflag bits */
+#define OPOST	0000001
+#define ONLCR	0000002
+#define OLCUC	0000004
+
+#define OCRNL	0000010
+#define ONOCR	0000020
+#define ONLRET	0000040
+
+#define OFILL	00000100
+#define OFDEL	00000200
+#if defined __USE_MISC || defined __USE_XOPEN
+# define NLDLY	00001400
+# define   NL0	00000000
+# define   NL1	00000400
+# if defined __USE_MISC
+#  define   NL2	00001000
+#  define   NL3	00001400
+# endif
+# define TABDLY	00006000
+# define   TAB0	00000000
+# define   TAB1	00002000
+# define   TAB2	00004000
+# define   TAB3	00006000
+# define CRDLY	00030000
+# define   CR0	00000000
+# define   CR1	00010000
+# define   CR2	00020000
+# define   CR3	00030000
+# define FFDLY	00040000
+# define   FF0	00000000
+# define   FF1	00040000
+# define BSDLY	00100000
+# define   BS0	00000000
+# define   BS1	00100000
+#endif
+
+#define VTDLY	00200000
+#define   VT0	00000000
+#define   VT1	00200000
+
+#ifdef __USE_MISC
+# define XTABS	TAB3
+#endif
diff --git a/sysdeps/unix/sysv/linux/alpha/bits/termios.h b/sysdeps/unix/sysv/linux/alpha/bits/termios.h
index 4d49c66aa8..7259c1dd30 100644
--- a/sysdeps/unix/sysv/linux/alpha/bits/termios.h
+++ b/sysdeps/unix/sysv/linux/alpha/bits/termios.h
@@ -27,51 +27,7 @@ typedef unsigned int	tcflag_t;
 #include <bits/termios-struct.h>
 #include <bits/termios-c_cc.h>
 #include <bits/termios-c_iflag.h>
-
-/* c_oflag bits */
-#define OPOST	0000001
-#define ONLCR	0000002
-#define OLCUC	0000004
-
-#define OCRNL	0000010
-#define ONOCR	0000020
-#define ONLRET	0000040
-
-#define OFILL	00000100
-#define OFDEL	00000200
-#if defined __USE_MISC || defined __USE_XOPEN
-# define NLDLY	00001400
-# define   NL0	00000000
-# define   NL1	00000400
-# if defined __USE_MISC
-#  define   NL2	00001000
-#  define   NL3	00001400
-# endif
-# define TABDLY	00006000
-# define   TAB0	00000000
-# define   TAB1	00002000
-# define   TAB2	00004000
-# define   TAB3	00006000
-# define CRDLY	00030000
-# define   CR0	00000000
-# define   CR1	00010000
-# define   CR2	00020000
-# define   CR3	00030000
-# define FFDLY	00040000
-# define   FF0	00000000
-# define   FF1	00040000
-# define BSDLY	00100000
-# define   BS0	00000000
-# define   BS1	00100000
-#endif
-
-#define VTDLY	00200000
-#define   VT0	00000000
-#define   VT1	00200000
-
-#ifdef __USE_MISC
-# define XTABS	TAB3
-#endif
+#include <bits/termios-c_oflag.h>
 
 /* c_cflag bit meaning */
 #ifdef __USE_MISC
diff --git a/sysdeps/unix/sysv/linux/bits/termios-c_oflag.h b/sysdeps/unix/sysv/linux/bits/termios-c_oflag.h
new file mode 100644
index 0000000000..038005b1cb
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/bits/termios-c_oflag.h
@@ -0,0 +1,61 @@
+/* termios output mode definitions.  Linux/generic version.
+   Copyright (C) 2018 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
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _TERMIOS_H
+# error "Never include <bits/termios-c_oflag.h> directly; use <termios.h> instead."
+#endif
+
+/* c_oflag bits */
+#define OPOST	0000001  /* Post-process output.  */
+#define OLCUC	0000002  /* Map lowercase characters to uppercase on output.
+			    (not in POSIX).  */
+#define ONLCR	0000004  /* Map NL to CR-NL on output.  */
+#define OCRNL	0000010  /* Map CR to NL on output.  */
+#define ONOCR	0000020  /* No CR output at column 0.  */
+#define ONLRET	0000040  /* NL performs CR function.  */
+#define OFILL	0000100  /* Use fill characters for delay.  */
+#define OFDEL	0000200  /* Fill is DEL.  */
+#if defined __USE_MISC || defined __USE_XOPEN
+# define NLDLY	0000400  /* Select newline delays:  */
+# define   NL0	0000000  /* Newline type 0.  */
+# define   NL1	0000400  /* Newline type 1.  */
+# define CRDLY	0003000  /* Select carriage-return delays:  */
+# define   CR0	0000000  /* Carriage-return delay type 0.  */
+# define   CR1	0001000  /* Carriage-return delay type 1.  */
+# define   CR2	0002000  /* Carriage-return delay type 2.  */
+# define   CR3	0003000  /* Carriage-return delay type 3.  */
+# define TABDLY	0014000  /* Select horizontal-tab delays:  */
+# define   TAB0	0000000  /* Horizontal-tab delay type 0.  */
+# define   TAB1	0004000  /* Horizontal-tab delay type 1.  */
+# define   TAB2	0010000  /* Horizontal-tab delay type 2.  */
+# define   TAB3	0014000  /* Expand tabs to spaces.  */
+# define BSDLY	0020000  /* Select backspace delays:  */
+# define   BS0	0000000  /* Backspace-delay type 0.  */
+# define   BS1	0020000  /* Backspace-delay type 1.  */
+# define FFDLY	0100000  /* Select form-feed delays:  */
+# define   FF0	0000000  /* Form-feed delay type 0.  */
+# define   FF1	0100000  /* Form-feed delay type 1.  */
+#endif
+
+#define VTDLY	0040000  /* Select vertical-tab delays:  */
+#define   VT0	0000000  /* Vertical-tab delay type 0.  */
+#define   VT1	0040000  /* Vertical-tab delay type 1.  */
+
+#ifdef __USE_MISC
+# define XTABS	0014000
+#endif
diff --git a/sysdeps/unix/sysv/linux/bits/termios.h b/sysdeps/unix/sysv/linux/bits/termios.h
index 6ce5c56049..15b279b01e 100644
--- a/sysdeps/unix/sysv/linux/bits/termios.h
+++ b/sysdeps/unix/sysv/linux/bits/termios.h
@@ -27,45 +27,7 @@ typedef unsigned int	tcflag_t;
 #include <bits/termios-struct.h>
 #include <bits/termios-c_cc.h>
 #include <bits/termios-c_iflag.h>
-
-/* c_oflag bits */
-#define OPOST	0000001
-#define OLCUC	0000002
-#define ONLCR	0000004
-#define OCRNL	0000010
-#define ONOCR	0000020
-#define ONLRET	0000040
-#define OFILL	0000100
-#define OFDEL	0000200
-#if defined __USE_MISC || defined __USE_XOPEN
-# define NLDLY	0000400
-# define   NL0	0000000
-# define   NL1	0000400
-# define CRDLY	0003000
-# define   CR0	0000000
-# define   CR1	0001000
-# define   CR2	0002000
-# define   CR3	0003000
-# define TABDLY	0014000
-# define   TAB0	0000000
-# define   TAB1	0004000
-# define   TAB2	0010000
-# define   TAB3	0014000
-# define BSDLY	0020000
-# define   BS0	0000000
-# define   BS1	0020000
-# define FFDLY	0100000
-# define   FF0	0000000
-# define   FF1	0100000
-#endif
-
-#define VTDLY	0040000
-#define   VT0	0000000
-#define   VT1	0040000
-
-#ifdef __USE_MISC
-# define XTABS	0014000
-#endif
+#include <bits/termios-c_oflag.h>
 
 /* c_cflag bit meaning */
 #ifdef __USE_MISC
diff --git a/sysdeps/unix/sysv/linux/mips/bits/termios.h b/sysdeps/unix/sysv/linux/mips/bits/termios.h
index a8a37ff176..f851adbfe1 100644
--- a/sysdeps/unix/sysv/linux/mips/bits/termios.h
+++ b/sysdeps/unix/sysv/linux/mips/bits/termios.h
@@ -27,45 +27,7 @@ typedef unsigned int	tcflag_t;
 #include <bits/termios-struct.h>
 #include <bits/termios-c_cc.h>
 #include <bits/termios-c_iflag.h>
-
-/* c_oflag bits */
-#define OPOST	0000001		/* Perform output processing.  */
-#define OLCUC	0000002		/* Map lower case to upper case on output.  */
-#define ONLCR	0000004		/* Map NL to CR-NL on output.  */
-#define OCRNL	0000010
-#define ONOCR	0000020
-#define ONLRET	0000040
-#define OFILL	0000100
-#define OFDEL	0000200
-#if defined __USE_MISC || defined __USE_XOPEN
-# define NLDLY	0000400
-# define   NL0	0000000
-# define   NL1	0000400
-# define CRDLY	0003000
-# define   CR0	0000000
-# define   CR1	0001000
-# define   CR2	0002000
-# define   CR3	0003000
-# define TABDLY	0014000
-# define   TAB0	0000000
-# define   TAB1	0004000
-# define   TAB2	0010000
-# define   TAB3	0014000
-# define BSDLY	0020000
-# define   BS0	0000000
-# define   BS1	0020000
-# define FFDLY	0100000
-# define   FF0	0000000
-# define   FF1	0100000
-#endif
-
-#define VTDLY	0040000
-#define   VT0	0000000
-#define   VT1	0040000
-
-#ifdef __USE_MISC
-# define XTABS  0014000
-#endif
+#include <bits/termios-c_oflag.h>
 
 /* c_cflag bit meaning */
 #ifdef __USE_MISC
diff --git a/sysdeps/unix/sysv/linux/powerpc/bits/termios-c_oflag.h b/sysdeps/unix/sysv/linux/powerpc/bits/termios-c_oflag.h
new file mode 100644
index 0000000000..5e944df7cc
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/powerpc/bits/termios-c_oflag.h
@@ -0,0 +1,65 @@
+/* termios output mode definitions.  Linux/powerpc version.
+   Copyright (C) 2018 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
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _TERMIOS_H
+# error "Never include <bits/termios-c_oflag.h> directly; use <termios.h> instead."
+#endif
+
+/* c_oflag bits */
+#define OPOST	0000001
+#define ONLCR	0000002
+#define OLCUC	0000004
+
+#define OCRNL	0000010
+#define ONOCR	0000020
+#define ONLRET	0000040
+
+#define OFILL	00000100
+#define OFDEL	00000200
+#if defined __USE_MISC || defined __USE_XOPEN
+# define NLDLY	00001400
+# define   NL0	00000000
+# define   NL1	00000400
+# if defined __USE_MISC
+#  define   NL2	00001000
+#  define   NL3	00001400
+# endif
+# define TABDLY	00006000
+# define   TAB0	00000000
+# define   TAB1	00002000
+# define   TAB2	00004000
+# define   TAB3	00006000
+# define CRDLY	00030000
+# define   CR0	00000000
+# define   CR1	00010000
+# define   CR2	00020000
+# define   CR3	00030000
+# define FFDLY	00040000
+# define   FF0	00000000
+# define   FF1	00040000
+# define BSDLY	00100000
+# define   BS0	00000000
+# define   BS1	00100000
+#endif
+#define VTDLY	00200000
+#define   VT0	00000000
+#define   VT1	00200000
+
+#ifdef __USE_MISC
+# define XTABS	00006000
+#endif
diff --git a/sysdeps/unix/sysv/linux/powerpc/bits/termios.h b/sysdeps/unix/sysv/linux/powerpc/bits/termios.h
index 4ccabd7095..4045274af9 100644
--- a/sysdeps/unix/sysv/linux/powerpc/bits/termios.h
+++ b/sysdeps/unix/sysv/linux/powerpc/bits/termios.h
@@ -26,50 +26,7 @@ typedef unsigned int	tcflag_t;
 #include <bits/termios-struct.h>
 #include <bits/termios-c_cc.h>
 #include <bits/termios-c_iflag.h>
-
-/* c_oflag bits */
-#define OPOST	0000001
-#define ONLCR	0000002
-#define OLCUC	0000004
-
-#define OCRNL	0000010
-#define ONOCR	0000020
-#define ONLRET	0000040
-
-#define OFILL	00000100
-#define OFDEL	00000200
-#if defined __USE_MISC || defined __USE_XOPEN
-# define NLDLY	00001400
-# define   NL0	00000000
-# define   NL1	00000400
-# if defined __USE_MISC
-#  define   NL2	00001000
-#  define   NL3	00001400
-# endif
-# define TABDLY	00006000
-# define   TAB0	00000000
-# define   TAB1	00002000
-# define   TAB2	00004000
-# define   TAB3	00006000
-# define CRDLY	00030000
-# define   CR0	00000000
-# define   CR1	00010000
-# define   CR2	00020000
-# define   CR3	00030000
-# define FFDLY	00040000
-# define   FF0	00000000
-# define   FF1	00040000
-# define BSDLY	00100000
-# define   BS0	00000000
-# define   BS1	00100000
-#endif
-#define VTDLY	00200000
-#define   VT0	00000000
-#define   VT1	00200000
-
-#ifdef __USE_MISC
-# define XTABS	00006000
-#endif
+#include <bits/termios-c_oflag.h>
 
 /* c_cflag bit meaning */
 #ifdef __USE_MISC
diff --git a/sysdeps/unix/sysv/linux/sparc/bits/termios-c_oflag.h b/sysdeps/unix/sysv/linux/sparc/bits/termios-c_oflag.h
new file mode 100644
index 0000000000..fab3072782
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/sparc/bits/termios-c_oflag.h
@@ -0,0 +1,64 @@
+/* termios output mode definitions.  Linux/sparc version.
+   Copyright (C) 2018 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
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _TERMIOS_H
+# error "Never include <bits/termios-c_oflag.h> directly; use <termios.h> instead."
+#endif
+
+/* c_oflag bits */
+#define OPOST	0x00000001
+#define OLCUC	0x00000002
+#define ONLCR	0x00000004
+#define OCRNL	0x00000008
+#define ONOCR	0x00000010
+#define ONLRET	0x00000020
+#define OFILL	0x00000040
+#define OFDEL	0x00000080
+#if defined __USE_MISC || defined __USE_XOPEN
+# define NLDLY	0x00000100
+# define   NL0	0x00000000
+# define   NL1	0x00000100
+# define CRDLY	0x00000600
+# define   CR0	0x00000000
+# define   CR1	0x00000200
+# define   CR2	0x00000400
+# define   CR3	0x00000600
+# define TABDLY	0x00001800
+# define   TAB0	0x00000000
+# define   TAB1	0x00000800
+# define   TAB2	0x00001000
+# define   TAB3	0x00001800
+# define BSDLY	0x00002000
+# define   BS0	0x00000000
+# define   BS1	0x00002000
+#define FFDLY	0x00008000
+#define   FF0	0x00000000
+#define   FF1	0x00008000
+#endif
+#define VTDLY	0x00004000
+#define   VT0	0x00000000
+#define   VT1	0x00004000
+
+# if defined __USE_GNU
+#define PAGEOUT 0x00010000	/* SUNOS specific */
+#define WRAP    0x00020000	/* SUNOS specific */
+# endif
+
+#ifdef __USE_MISC
+# define   XTABS	0x00001800
+#endif
diff --git a/sysdeps/unix/sysv/linux/sparc/bits/termios.h b/sysdeps/unix/sysv/linux/sparc/bits/termios.h
index 4123ed7aaa..9c884eb791 100644
--- a/sysdeps/unix/sysv/linux/sparc/bits/termios.h
+++ b/sysdeps/unix/sysv/linux/sparc/bits/termios.h
@@ -27,49 +27,7 @@ typedef unsigned int tcflag_t;
 #include <bits/termios-struct.h>
 #include <bits/termios-c_cc.h>
 #include <bits/termios-c_iflag.h>
-
-/* c_oflag bits */
-#define OPOST	0x00000001
-#define OLCUC	0x00000002
-#define ONLCR	0x00000004
-#define OCRNL	0x00000008
-#define ONOCR	0x00000010
-#define ONLRET	0x00000020
-#define OFILL	0x00000040
-#define OFDEL	0x00000080
-#if defined __USE_MISC || defined __USE_XOPEN
-# define NLDLY	0x00000100
-# define   NL0	0x00000000
-# define   NL1	0x00000100
-# define CRDLY	0x00000600
-# define   CR0	0x00000000
-# define   CR1	0x00000200
-# define   CR2	0x00000400
-# define   CR3	0x00000600
-# define TABDLY	0x00001800
-# define   TAB0	0x00000000
-# define   TAB1	0x00000800
-# define   TAB2	0x00001000
-# define   TAB3	0x00001800
-# define BSDLY	0x00002000
-# define   BS0	0x00000000
-# define   BS1	0x00002000
-#define FFDLY	0x00008000
-#define   FF0	0x00000000
-#define   FF1	0x00008000
-#endif
-#define VTDLY	0x00004000
-#define   VT0	0x00000000
-#define   VT1	0x00004000
-
-# if defined __USE_GNU
-#define PAGEOUT 0x00010000	/* SUNOS specific */
-#define WRAP    0x00020000	/* SUNOS specific */
-# endif
-
-#ifdef __USE_MISC
-# define   XTABS	0x00001800
-#endif
+#include <bits/termios-c_oflag.h>
 
 /* c_cflag bit meaning */
 #ifdef __USE_MISC
