{"id":2221651,"url":"http://patchwork.ozlabs.org/api/patches/2221651/?format=json","web_url":"http://patchwork.ozlabs.org/project/glibc/patch/CAMe9rOofk52cgs68DenEHNCbKxzgudKy0ZhVsC7Sn6tQHSfn=A@mail.gmail.com/","project":{"id":41,"url":"http://patchwork.ozlabs.org/api/projects/41/?format=json","name":"GNU C Library","link_name":"glibc","list_id":"libc-alpha.sourceware.org","list_email":"libc-alpha@sourceware.org","web_url":"","scm_url":"","webscm_url":"","list_archive_url":"","list_archive_url_format":"","commit_url_format":""},"msgid":"<CAMe9rOofk52cgs68DenEHNCbKxzgudKy0ZhVsC7Sn6tQHSfn=A@mail.gmail.com>","list_archive_url":null,"date":"2026-04-10T04:18:51","name":"elf: Remove _dl_process_pt_note","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"dfa9a2c0bee8710e0f9feebe50e9536937588a2b","submitter":{"id":4387,"url":"http://patchwork.ozlabs.org/api/people/4387/?format=json","name":"H.J. Lu","email":"hjl.tools@gmail.com"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/glibc/patch/CAMe9rOofk52cgs68DenEHNCbKxzgudKy0ZhVsC7Sn6tQHSfn=A@mail.gmail.com/mbox/","series":[{"id":499387,"url":"http://patchwork.ozlabs.org/api/series/499387/?format=json","web_url":"http://patchwork.ozlabs.org/project/glibc/list/?series=499387","date":"2026-04-10T04:18:51","name":"elf: Remove _dl_process_pt_note","version":1,"mbox":"http://patchwork.ozlabs.org/series/499387/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/2221651/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2221651/checks/","tags":{},"related":[],"headers":{"Return-Path":"<libc-alpha-bounces~incoming=patchwork.ozlabs.org@sourceware.org>","X-Original-To":["incoming@patchwork.ozlabs.org","libc-alpha@sourceware.org"],"Delivered-To":["patchwork-incoming@legolas.ozlabs.org","libc-alpha@sourceware.org"],"Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256\n header.s=20251104 header.b=aMMs4kRg;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org\n (client-ip=2620:52:6:3111::32; helo=vm01.sourceware.org;\n envelope-from=libc-alpha-bounces~incoming=patchwork.ozlabs.org@sourceware.org;\n receiver=patchwork.ozlabs.org)","sourceware.org;\n\tdkim=pass (2048-bit key,\n unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256\n header.s=20251104 header.b=aMMs4kRg","sourceware.org;\n dmarc=pass (p=none dis=none) header.from=gmail.com","sourceware.org; spf=pass smtp.mailfrom=gmail.com","server2.sourceware.org;\n arc=pass smtp.remote-ip=2607:f8b0:4864:20::1030"],"Received":["from vm01.sourceware.org (vm01.sourceware.org\n [IPv6:2620:52:6:3111::32])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fsNqr37fNz1yGb\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 10 Apr 2026 14:19:52 +1000 (AEST)","from vm01.sourceware.org (localhost [127.0.0.1])\n\tby sourceware.org (Postfix) with ESMTP id D130B4BA2E27\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 10 Apr 2026 04:19:49 +0000 (GMT)","from mail-pj1-x1030.google.com (mail-pj1-x1030.google.com\n [IPv6:2607:f8b0:4864:20::1030])\n by sourceware.org (Postfix) with ESMTPS id B28594BA2E0F\n for <libc-alpha@sourceware.org>; Fri, 10 Apr 2026 04:19:29 +0000 (GMT)","by mail-pj1-x1030.google.com with SMTP id\n 98e67ed59e1d1-35da9692ec3so1713619a91.1\n for <libc-alpha@sourceware.org>; Thu, 09 Apr 2026 21:19:29 -0700 (PDT)"],"DKIM-Filter":["OpenDKIM Filter v2.11.0 sourceware.org D130B4BA2E27","OpenDKIM Filter v2.11.0 sourceware.org B28594BA2E0F"],"DMARC-Filter":"OpenDMARC Filter v1.4.2 sourceware.org B28594BA2E0F","ARC-Filter":"OpenARC Filter v1.0.0 sourceware.org B28594BA2E0F","ARC-Seal":["i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1775794769; cv=pass;\n b=cGRIm/aEwEDP1jT4NDzBGcW+TWT9eNpgmwOVa7c6T0H8X47exI7aTLR9jsGjrck89Fl3SdFOYVbPFFjwmpfRGkbNA9BCibrPOWNv/KcBl3UPRNpEZkCSSTbaYoassBA8Wc8j3q6UoGcwbzN8yxl0ZTFt2OxuWZxCijgrfXZY/eg=","i=1; a=rsa-sha256; t=1775794768; cv=none;\n d=google.com; s=arc-20240605;\n b=id8VlxcU+P2uXjntWBpC2DGWBOWhxowTRRmr754ajLyNyQxeXZRAd2WgGBOj+RAXAD\n 1cNNd9fmrXkq58jC7AX3mw5in357YkUYQP9bYSHv9MZeQq49dF2fCxWDqvHv6jabmvlF\n VCWppdXwbJ3LZi3swEBxi+fEG23Exbg0vpbdZPj8SC8yQlw7I/u78pR/PD1VA2/tbkXs\n OZya+69jh/r+QaVU5lgW9HSpjcLJOccd+NcPpT73ktdZmjLO8/E0SxGSRuHlsR61hkbi\n MBluGQyFoXSG5YJmwA0mkTM0gCRNXO3tzp0WzKpNHIJqxy0OlSojk5VZHzk+YnjhmWL9\n iiFw=="],"ARC-Message-Signature":["i=2; a=rsa-sha256; d=sourceware.org; s=key;\n t=1775794769; c=relaxed/simple;\n bh=l9na/feWN++sK2UCLfsGvPQEaDmZCDOCB5F+29c9gVo=;\n h=DKIM-Signature:MIME-Version:From:Date:Message-ID:Subject:To;\n b=wCB1XJZJR6AqDQXixES6UZm6YwtGzzhXAdvlxBS0N9DRvJZa1h5ATX3TY9HIQJN2E16Y4kjwDhVdQqvWOc1DEja5OlLaL+LE/on1Ck+kSpuJX37H/oFoAUsc5yJ18i1hkQwkuSWrFDwFQU/Qk0Nm8Mm9ufPUk7aAfCObM2s6/Pk=","i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com;\n s=arc-20240605;\n h=to:subject:message-id:date:from:mime-version:dkim-signature;\n bh=vSE1iV6CFmpQT29C6Jo2gva5P1MEkX0lodopRkJwFO8=;\n fh=biVpOvIgHjiqBpY2Y6O9I5MsAfr37QX6bXfYKjh9TDU=;\n b=YI7gRDSUwxuU+Lg5TdCkRkneNSB2awDbIjYdcS2E5D4m0BooiOwTYFNsVb2U52Fg59\n 7KUfcjj5jd1BvrGcYx70jBxKCAk6tVhpho4Gu8DMpFXKLLxP/UPyvbNjRmIksj/wNreO\n tAJn9TtESsyC8XUjFlVVo3GluBOCRWSKL6kpAib/2bnwXfItoCUtftHnuN+xuRkPOg7i\n WoGhD9LROHyLQpqxnidYIyJuiBaH8JRKr8S9iXL1+VbC5Rl5gVCEEzxe7gcJM0JbWvoq\n WKXm5noCkQMXVeCLpw/+vLpfw2oRggJsFVlmk1ACpOVmY3sIfRfTjDuiFyXF0AnWmTpK\n 9H7Q==; darn=sourceware.org"],"ARC-Authentication-Results":["i=2; server2.sourceware.org","i=1; mx.google.com; arc=none"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=gmail.com; s=20251104; t=1775794768; x=1776399568; darn=sourceware.org;\n h=to:subject:message-id:date:from:mime-version:from:to:cc:subject\n :date:message-id:reply-to;\n bh=vSE1iV6CFmpQT29C6Jo2gva5P1MEkX0lodopRkJwFO8=;\n b=aMMs4kRgvlywPMqFIz9LwlBx9L/6Td7tLFcFX0GVZ+l1/4MFc4ALXtr5Yii9s0S6LK\n bxIV2hy54chkiUy0vXpKlNwZCkkGbWvCw6saAKeoda7DduPUHMGqrM8PK7jeFt1OEIl0\n SFI60PwwmhcjUGNVK9L9pQTqwVYVgp/bzrflJNarDbxj+VGNaL1BFIifLv17erTTihUC\n iCK47ERNWHcMyF6nY9iH+vftf3RCmCHPLMi/y+LPwmRmR5aCWawE/egOMYfCIAU5PiBB\n dlrYiCdwX8LF6kyu8qv36nyDHqs1RmRDOoqmMRO4LNZPy2HSOWwLHNY4XddNfSrRGrv+\n GTQg==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1775794768; x=1776399568;\n h=to:subject:message-id:date:from:mime-version:x-gm-gg\n :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;\n bh=vSE1iV6CFmpQT29C6Jo2gva5P1MEkX0lodopRkJwFO8=;\n b=CUjatyamANASlPdoQwxFC9woehJ8tdF4N885HzqhbP9XrnwTO8l6o+t/3NvXIzsLHc\n ino7sjekTOkzgG9juRS/3bXlOyV+BFtKZ0aAvfh3Ddz4PqwVFXAlQMUHdJYqTBhbD4mD\n N/O5J3j2TBuhp4Cy3SRdr6aFVx8BKgEvHj3Ukeb8kIDrxpgkex0+dkyXnK1USfef7JXo\n T4KZV+S+idbtJuC3u1KMbxd518sZ3coqC+NWin2hyiuL4s6UPHwd9F+8LEn8QhCZm3Jq\n 2WIcfTFgdT1QEyZBAy3TbktQfQC2/A1qZLZmDkeKao3vC70kJz66yXvuL7QetjQdE8JV\n yPrw==","X-Gm-Message-State":"AOJu0YybBa8b9QaAtCOLF9597PYqk7k4IiJUqUYUzc9t0Z5Q1ADtIbVb\n km9AWNwlONWpZ0Y1V7BibVvl6eA2sewWzy0yZky/FzLIw3LyDCqT1eAkXBNZKe59yVczz4or7vl\n 9WbL3hKmo9bWnWWXmTCz7rl3QlWQfZjVMCmU8zRokNA==","X-Gm-Gg":"AeBDiesEfCIcPtoWa+285UT1+byZkpMxQ4ZbDgIkahXZnbdjZ/SBl4d+tZLJ3xhgGcO\n lwF9Rih0zKFPlSn+suLCC3+h0XB3UrGm0L1s9vWVVdjKJgIrII/mDC7R71dqfYgs2/x+AGWAbwR\n C6V0k+A6pIo9IeoBYGM4vtdlzyrLulzH1pIQ28RExG8r0x9OtWo7TUV0hpPugFi9nzCFS9lr+gy\n pMe0pG8KHEj3+fpy6XVNCEYOWbOoOUI+L3GxUxxOZMGSP8dlthnTJ8KCEdRKp2AQz+CgGDsF6ae\n ftiZkg==","X-Received":"by 2002:a17:90b:28cc:b0:35d:aeb2:25b2 with SMTP id\n 98e67ed59e1d1-35e428cda1bmr1911064a91.27.1775794768458; Thu, 09 Apr 2026\n 21:19:28 -0700 (PDT)","MIME-Version":"1.0","From":"\"H.J. Lu\" <hjl.tools@gmail.com>","Date":"Fri, 10 Apr 2026 12:18:51 +0800","X-Gm-Features":"AQROBzDfUZum2YZjE13J4WD6OEVkzZsnPx3y8H5zYBqPvs3QPwhxtzr4tBWcTYE","Message-ID":"\n <CAMe9rOofk52cgs68DenEHNCbKxzgudKy0ZhVsC7Sn6tQHSfn=A@mail.gmail.com>","Subject":"[PATCH] elf: Remove _dl_process_pt_note","To":"GNU C Library <libc-alpha@sourceware.org>","Content-Type":"multipart/mixed; boundary=\"0000000000005e473f064f13700e\"","X-BeenThere":"libc-alpha@sourceware.org","X-Mailman-Version":"2.1.30","Precedence":"list","List-Id":"Libc-alpha mailing list <libc-alpha.sourceware.org>","List-Unsubscribe":"<https://sourceware.org/mailman/options/libc-alpha>,\n <mailto:libc-alpha-request@sourceware.org?subject=unsubscribe>","List-Archive":"<https://sourceware.org/pipermail/libc-alpha/>","List-Post":"<mailto:libc-alpha@sourceware.org>","List-Help":"<mailto:libc-alpha-request@sourceware.org?subject=help>","List-Subscribe":"<https://sourceware.org/mailman/listinfo/libc-alpha>,\n <mailto:libc-alpha-request@sourceware.org?subject=subscribe>","Errors-To":"libc-alpha-bounces~incoming=patchwork.ozlabs.org@sourceware.org"},"content":"_dl_map_object_from_fd and rtld_setup_main_map have\n\n  for (ph = &l->l_phdr[l->l_phnum]; ph != l->l_phdr; --ph)\n    switch (ph[-1].p_type)\n      {\n      case PT_NOTE:\n        _dl_process_pt_note (l, fd, &ph[-1]);\n        break;\n      case PT_GNU_PROPERTY:\n        _dl_process_pt_gnu_property (l, fd, &ph[-1]);\n        break;\n      }\n\n_dl_process_pt_note is empty, except for sysdeps/x86/dl-prop.h:\n\nstatic inline void __attribute__ ((unused))\n_dl_process_pt_note (struct link_map *l, int fd, const ElfW(Phdr) *ph)\n{\n  const ElfW(Nhdr) *note = (const void *) (ph->p_vaddr + l->l_addr);\n  _dl_process_property_note (l, note, ph->p_memsz, ph->p_align);\n}\n\nSince all current CET enabled binaries have PT_GNU_PROPERTY, we can drop\n_dl_process_pt_note.  This fixes BZ #34064.","diff":"From 0c749eddb82218753fb7c700ac97d13a02a46c30 Mon Sep 17 00:00:00 2001\nFrom: \"H.J. Lu\" <hjl.tools@gmail.com>\nDate: Fri, 10 Apr 2026 12:14:39 +0800\nSubject: [PATCH] elf: Remove _dl_process_pt_note\n\n_dl_map_object_from_fd and rtld_setup_main_map have\n\n  for (ph = &l->l_phdr[l->l_phnum]; ph != l->l_phdr; --ph)\n    switch (ph[-1].p_type)\n      {\n      case PT_NOTE:\n        _dl_process_pt_note (l, fd, &ph[-1]);\n        break;\n      case PT_GNU_PROPERTY:\n        _dl_process_pt_gnu_property (l, fd, &ph[-1]);\n        break;\n      }\n\n_dl_process_pt_note is empty, except for sysdeps/x86/dl-prop.h:\n\nstatic inline void __attribute__ ((unused))\n_dl_process_pt_note (struct link_map *l, int fd, const ElfW(Phdr) *ph)\n{\n  const ElfW(Nhdr) *note = (const void *) (ph->p_vaddr + l->l_addr);\n  _dl_process_property_note (l, note, ph->p_memsz, ph->p_align);\n}\n\nSince all current CET enabled binaries have PT_GNU_PROPERTY, we can drop\n_dl_process_pt_note.  This fixes BZ #34064.\n\nSigned-off-by: H.J. Lu <hjl.tools@gmail.com>\n---\n elf/dl-load.c             | 10 +++-------\n elf/rtld.c                | 10 +++-------\n sysdeps/aarch64/dl-prop.h |  5 -----\n sysdeps/generic/dl-prop.h |  5 -----\n sysdeps/x86/dl-prop.h     |  7 -------\n 5 files changed, 6 insertions(+), 31 deletions(-)\n\ndiff --git a/elf/dl-load.c b/elf/dl-load.c\nindex 7355eef8e7..a5693a3a66 100644\n--- a/elf/dl-load.c\n+++ b/elf/dl-load.c\n@@ -1332,15 +1332,11 @@ cannot enable executable stack as shared object requires\");\n \n   /* Process program headers again after load segments are mapped in\n      case processing requires accessing those segments.  Scan program\n-     headers backward so that PT_NOTE can be skipped if PT_GNU_PROPERTY\n-     exits.  */\n+     headers backward since PT_GNU_PROPERTY is close to the end of\n+     program headers.  */\n   for (ph = &l->l_phdr[l->l_phnum]; ph != l->l_phdr; --ph)\n-    switch (ph[-1].p_type)\n+    if (ph[-1].p_type == PT_GNU_PROPERTY)\n       {\n-      case PT_NOTE:\n-\t_dl_process_pt_note (l, fd, &ph[-1]);\n-\tbreak;\n-      case PT_GNU_PROPERTY:\n \t_dl_process_pt_gnu_property (l, fd, &ph[-1]);\n \tbreak;\n       }\ndiff --git a/elf/rtld.c b/elf/rtld.c\nindex 0eac823749..e926ec73e4 100644\n--- a/elf/rtld.c\n+++ b/elf/rtld.c\n@@ -1209,15 +1209,11 @@ rtld_setup_main_map (struct link_map *main_map)\n \tmain_map->l_relro_size = ph->p_memsz;\n \tbreak;\n       }\n-  /* Process program headers again, but scan them backwards so\n-     that PT_NOTE can be skipped if PT_GNU_PROPERTY exits.  */\n+  /* Process program headers again, but scan them backwards since\n+     PT_GNU_PROPERTY is close to the end of program headers.   */\n   for (const ElfW(Phdr) *ph = &phdr[phnum]; ph != phdr; --ph)\n-    switch (ph[-1].p_type)\n+    if (ph[-1].p_type == PT_GNU_PROPERTY)\n       {\n-      case PT_NOTE:\n-\t_dl_process_pt_note (main_map, -1, &ph[-1]);\n-\tbreak;\n-      case PT_GNU_PROPERTY:\n \t_dl_process_pt_gnu_property (main_map, -1, &ph[-1]);\n \tbreak;\n       }\ndiff --git a/sysdeps/aarch64/dl-prop.h b/sysdeps/aarch64/dl-prop.h\nindex cf236df59b..0d2672d32d 100644\n--- a/sysdeps/aarch64/dl-prop.h\n+++ b/sysdeps/aarch64/dl-prop.h\n@@ -41,11 +41,6 @@ _dl_open_check (struct link_map *m, int dlopen_mode)\n   _dl_gcs_check (m, NULL, dlopen_mode);\n }\n \n-static inline void __attribute__ ((always_inline))\n-_dl_process_pt_note (struct link_map *l, int fd, const ElfW(Phdr) *ph)\n-{\n-}\n-\n static inline int\n _dl_process_gnu_property (struct link_map *l, int fd, uint32_t type,\n \t\t\t  uint32_t datasz, void *data)\ndiff --git a/sysdeps/generic/dl-prop.h b/sysdeps/generic/dl-prop.h\nindex 0e65c51b8c..6a1e1eeff8 100644\n--- a/sysdeps/generic/dl-prop.h\n+++ b/sysdeps/generic/dl-prop.h\n@@ -36,11 +36,6 @@ _dl_open_check (struct link_map *m, int dlopen_mode)\n {\n }\n \n-static inline void __attribute__ ((always_inline))\n-_dl_process_pt_note (struct link_map *l, int fd, const ElfW(Phdr) *ph)\n-{\n-}\n-\n /* Called for each property in the NT_GNU_PROPERTY_TYPE_0 note of L,\n    processing of the properties continues until this returns 0.  */\n static inline int __attribute__ ((always_inline))\ndiff --git a/sysdeps/x86/dl-prop.h b/sysdeps/x86/dl-prop.h\nindex 19ae873927..a466eba331 100644\n--- a/sysdeps/x86/dl-prop.h\n+++ b/sysdeps/x86/dl-prop.h\n@@ -229,13 +229,6 @@ _dl_process_property_note (struct link_map *l, const ElfW(Nhdr) *note,\n     l->l_property = lc_property_none;\n }\n \n-static inline void __attribute__ ((unused))\n-_dl_process_pt_note (struct link_map *l, int fd, const ElfW(Phdr) *ph)\n-{\n-  const ElfW(Nhdr) *note = (const void *) (ph->p_vaddr + l->l_addr);\n-  _dl_process_property_note (l, note, ph->p_memsz, ph->p_align);\n-}\n-\n static inline int __attribute__ ((always_inline))\n _dl_process_gnu_property (struct link_map *l, int fd, uint32_t type,\n \t\t\t  uint32_t datasz, void *data)\n-- \n2.53.0\n\n","prefixes":[]}