From 5c2c34a49be8fa534379c64579671feea52432b9 Mon Sep 17 00:00:00 2001 From: Alexey Dobriyan Date: Sat, 15 Apr 2023 20:37:29 +0300 Subject: ELF: document some de-facto PT_* ABI quirks Turns out rules about PT_INTERP, PT_GNU_STACK and PT_GNU_PROPERTY program headers are slightly different. Signed-off-by: Alexey Dobriyan Link: https://lore.kernel.org/r/88d3f1bb-f4e0-4c40-9304-3843513a1262@p183 Signed-off-by: Jonathan Corbet --- Documentation/userspace-api/ELF.rst | 34 ++++++++++++++++++++++++++++++++++ Documentation/userspace-api/index.rst | 1 + 2 files changed, 35 insertions(+) create mode 100644 Documentation/userspace-api/ELF.rst (limited to 'Documentation/userspace-api') diff --git a/Documentation/userspace-api/ELF.rst b/Documentation/userspace-api/ELF.rst new file mode 100644 index 000000000000..ac8aeacd458d --- /dev/null +++ b/Documentation/userspace-api/ELF.rst @@ -0,0 +1,34 @@ +.. SPDX-License-Identifier: GPL-2.0 + +================================= +Linux-specific ELF idiosyncrasies +================================= + +Definitions +=========== + +"First" program header is the one with the smallest offset in the file: +e_phoff. + +"Last" program header is the one with the biggest offset in the file: +e_phoff + (e_phnum - 1) * sizeof(Elf_Phdr). + +PT_INTERP +========= + +First PT_INTERP program header is used to locate the filename of ELF +interpreter. Other PT_INTERP headers are ignored (since Linux 2.4.11). + +PT_GNU_STACK +============ + +Last PT_GNU_STACK program header defines userspace stack executability +(since Linux 2.6.6). Other PT_GNU_STACK headers are ignored. + +PT_GNU_PROPERTY +=============== + +ELF interpreter's last PT_GNU_PROPERTY program header is used (since +Linux 5.8). If interpreter doesn't have one, then the last PT_GNU_PROPERTY +program header of an executable is used. Other PT_GNU_PROPERTY headers +are ignored. diff --git a/Documentation/userspace-api/index.rst b/Documentation/userspace-api/index.rst index f16337bdb852..72a65db0c498 100644 --- a/Documentation/userspace-api/index.rst +++ b/Documentation/userspace-api/index.rst @@ -23,6 +23,7 @@ place where this information is gathered. spec_ctrl accelerators/ocxl ebpf/index + ELF ioctl/index iommu iommufd -- cgit From fc623d89b4c404f2dea917d00eba2111f3c1bc15 Mon Sep 17 00:00:00 2001 From: Tomi Valkeinen Date: Tue, 7 Mar 2023 10:34:28 +0900 Subject: media: Fix building pdfdocs Commit 8d0e3fc61abd ("media: Add 2-10-10-10 RGB formats") added documentation for a few new RGB formats. The table has column-width specifiers for 34 columns used in pdfdocs build. However, the new table has a couple of rows with 35 columns which confused Sphinx's latex builder. The resulting .tex file causes an error in a later stage of a pdfdocs build. Remove the trailing empty dash lines to fix the issue. Fixes: 8d0e3fc61abd ("media: Add 2-10-10-10 RGB formats") Reported-by: Akira Yokosawa Link: https://lore.kernel.org/r/12250823-8445-5854-dfb8-b92c0ff0851e@gmail.com/ Signed-off-by: Tomi Valkeinen Tested-by: Akira Yokosawa Reviewed-by: Laurent Pinchart Acked-by: Mauro Carvalho Chehab [akiyks: explain the cause of build error] Signed-off-by: Akira Yokosawa Link: https://lore.kernel.org/r/29380b3e-1daa-3aef-1749-dbd9960ba620@gmail.com Signed-off-by: Jonathan Corbet --- Documentation/userspace-api/media/v4l/pixfmt-rgb.rst | 3 --- 1 file changed, 3 deletions(-) (limited to 'Documentation/userspace-api') diff --git a/Documentation/userspace-api/media/v4l/pixfmt-rgb.rst b/Documentation/userspace-api/media/v4l/pixfmt-rgb.rst index d330aeb4d3eb..ea545ed1aeaa 100644 --- a/Documentation/userspace-api/media/v4l/pixfmt-rgb.rst +++ b/Documentation/userspace-api/media/v4l/pixfmt-rgb.rst @@ -868,7 +868,6 @@ number of bits for each component. - r\ :sub:`4` - r\ :sub:`3` - r\ :sub:`2` - - * .. _V4L2-PIX-FMT-RGBA1010102: - ``V4L2_PIX_FMT_RGBA1010102`` @@ -909,7 +908,6 @@ number of bits for each component. - r\ :sub:`4` - r\ :sub:`3` - r\ :sub:`2` - - * .. _V4L2-PIX-FMT-ARGB2101010: - ``V4L2_PIX_FMT_ARGB2101010`` @@ -950,7 +948,6 @@ number of bits for each component. - r\ :sub:`6` - r\ :sub:`5` - r\ :sub:`4` - - .. raw:: latex -- cgit From 7e8472c820f04517ae5d5a27c1aecfa2263a0aa5 Mon Sep 17 00:00:00 2001 From: Akira Yokosawa Date: Tue, 7 Mar 2023 10:36:34 +0900 Subject: media: Adjust column width for pdfdocs The column width specifiers added in commit 8d0e3fc61abd ("media: Add 2-10-10-10 RGB formats") don't suffice for column 1 and too wide for column 2. Adjust them to get a good looking table. Fixes: 8d0e3fc61abd ("media: Add 2-10-10-10 RGB formats") Cc: Tomi Valkeinen Signed-off-by: Akira Yokosawa Link: https://lore.kernel.org/r/f94e3ada-212c-eef7-9e7b-03760bb29521@gmail.com Signed-off-by: Jonathan Corbet --- Documentation/userspace-api/media/v4l/pixfmt-rgb.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Documentation/userspace-api') diff --git a/Documentation/userspace-api/media/v4l/pixfmt-rgb.rst b/Documentation/userspace-api/media/v4l/pixfmt-rgb.rst index ea545ed1aeaa..d9d7b7621d8c 100644 --- a/Documentation/userspace-api/media/v4l/pixfmt-rgb.rst +++ b/Documentation/userspace-api/media/v4l/pixfmt-rgb.rst @@ -778,7 +778,7 @@ number of bits for each component. \tiny \setlength{\tabcolsep}{2pt} -.. tabularcolumns:: |p{2.8cm}|p{2.0cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}| +.. tabularcolumns:: |p{3.2cm}|p{0.8cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}| .. flat-table:: RGB Formats 10 Bits Per Color Component -- cgit