{"id":2232310,"url":"http://patchwork.ozlabs.org/api/1.1/patches/2232310/?format=json","web_url":"http://patchwork.ozlabs.org/project/uclibc-ng/patch/20260504103040.27241-1-marcus.haehnel@kernkonzept.com/","project":{"id":55,"url":"http://patchwork.ozlabs.org/api/1.1/projects/55/?format=json","name":"uClibc NG development","link_name":"uclibc-ng","list_id":"devel.uclibc-ng.org","list_email":"devel@uclibc-ng.org","web_url":"http://www.uclibc-ng.org","scm_url":"","webscm_url":"http://cgit.uclibc-ng.org/cgi/cgit/uclibc-ng.git"},"msgid":"<20260504103040.27241-1-marcus.haehnel@kernkonzept.com>","date":"2026-05-04T10:30:03","name":"[uclibc-ng-devel] aarch64/fpu_control.h: Don't use gcc-internal types","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"4861f8c2a4669136d5b6c1ec718947056af52f35","submitter":{"id":82754,"url":"http://patchwork.ozlabs.org/api/1.1/people/82754/?format=json","name":"Marcus Haehnel","email":"marcus.haehnel@kernkonzept.com"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/uclibc-ng/patch/20260504103040.27241-1-marcus.haehnel@kernkonzept.com/mbox/","series":[{"id":502640,"url":"http://patchwork.ozlabs.org/api/1.1/series/502640/?format=json","web_url":"http://patchwork.ozlabs.org/project/uclibc-ng/list/?series=502640","date":"2026-05-04T10:30:03","name":"[uclibc-ng-devel] aarch64/fpu_control.h: Don't use gcc-internal types","version":1,"mbox":"http://patchwork.ozlabs.org/series/502640/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/2232310/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2232310/checks/","tags":{},"headers":{"Return-Path":"<devel-bounces@uclibc-ng.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n unprotected) header.d=kernkonzept.com header.i=@kernkonzept.com\n header.a=rsa-sha256 header.s=mx1 header.b=mabA5Xa7;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=uclibc-ng.org\n (client-ip=89.238.66.15; helo=helium.openadk.org;\n envelope-from=devel-bounces@uclibc-ng.org; receiver=patchwork.ozlabs.org)","helium.openadk.org;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n unprotected) header.d=kernkonzept.com header.i=@kernkonzept.com\n header.a=rsa-sha256 header.s=mx1 header.b=mabA5Xa7;\n\tdkim-atps=neutral"],"Received":["from helium.openadk.org (helium.openadk.org [89.238.66.15])\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 4g8Hyn5vWjz1yJ9\n\tfor <incoming@patchwork.ozlabs.org>; Mon, 04 May 2026 20:32:32 +1000 (AEST)","from helium.openadk.org (localhost [127.0.0.1])\n\tby helium.openadk.org (Postfix) with ESMTP id C85B831E0C3D;\n\tMon, 04 May 2026 12:32:25 +0200 (CEST)","from mx.kernkonzept.com (serv1.kernkonzept.com [159.69.200.6])\n\tby helium.openadk.org (Postfix) with ESMTPS id 0E1FB31E0C08\n\tfor <devel@uclibc-ng.org>; Mon, 04 May 2026 12:31:14 +0200 (CEST)","from [10.22.3.160] (helo=localhost.localdomain)\n\tby mx.kernkonzept.com with esmtpsa\n (TLS1.3:ECDHE_X25519__RSA_PSS_RSAE_SHA256__AES_256_GCM:256) (Exim 4.98.2)\n\tid 1wJqa0-00000006sVi-12Dv;\n\tMon, 04 May 2026 12:31:12 +0200"],"DKIM-Signature":"v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;\n\td=kernkonzept.com; s=mx1; h=Content-Transfer-Encoding:MIME-Version:Message-ID\n\t:Date:Subject:Cc:To:From:References:In-Reply-To:Reply-To:Content-Type:\n\tContent-ID:Content-Description;\n\tbh=fJ8/mJk1LUQ4mcuybocCe4QAqoKi0SIOfs9VPbN4vmY=; b=mabA5Xa7hJdsBHkk+uPXqT9lxs\n\tA9NZmZdXG5fB2IRa+9HOq8VYz/xu1aluULG3CVPT1lFzUrxwhFHk1llw1MtUUzkxH31JyKSS9dNPj\n\tvXwPEi5vkRZtI1MAJKG8FpfgcVUbut5rh2/zxwN5CUup6KbnphkAH5sxFsGCfUrxU/8Ypve89ilYi\n\tePv1XU/qV2kNbjzC3WtIa1M9cwzgSGNO5pUqP986g7MrvBnn4PxtLMU7N26Klq7CqxMvKUB8w3ny7\n\tnPv8rNdwYUWZ8VR4pw09ZHQNNtYyYxwjzLbl/Sb61NKigady2nb3+bBoUdP9rUJ9dP/GTMtcoL+pL\n\tfan6v1aw==;","From":"Marcus Haehnel <marcus.haehnel@kernkonzept.com>","To":"devel@uclibc-ng.org","Date":"Mon,  4 May 2026 12:30:03 +0200","Message-ID":"<20260504103040.27241-1-marcus.haehnel@kernkonzept.com>","X-Mailer":"git-send-email 2.51.0","MIME-Version":"1.0","Message-ID-Hash":"SUR7GFMCH7I4JF5MKRSD2IKQECVWZWGD","X-Message-ID-Hash":"SUR7GFMCH7I4JF5MKRSD2IKQECVWZWGD","X-MailFrom":"marcus.haehnel@kernkonzept.com","X-Mailman-Rule-Misses":"dmarc-mitigation; no-senders; approved; loop;\n banned-address; emergency; member-moderation; nonmember-moderation;\n administrivia; implicit-dest; max-recipients; max-size; news-moderation;\n no-subject; digests; suspicious-header","CC":"Marcus Haehnel <marcus.haehnel@kernkonzept.com>","X-Mailman-Version":"3.3.10","Precedence":"list","Subject":"[uclibc-ng-devel] [PATCH] aarch64/fpu_control.h: Don't use\n gcc-internal types","List-Id":"uClibc-ng Development <devel.uclibc-ng.org>","Archived-At":"\n <https://uclibc-ng.org/mailman3/hyperkitty/list/devel@uclibc-ng.org/message/SUR7GFMCH7I4JF5MKRSD2IKQECVWZWGD/>","List-Archive":"\n <https://uclibc-ng.org/mailman3/hyperkitty/list/devel@uclibc-ng.org/>","List-Help":"<mailto:devel-request@uclibc-ng.org?subject=help>","List-Owner":"<mailto:devel-owner@uclibc-ng.org>","List-Post":"<mailto:devel@uclibc-ng.org>","List-Subscribe":"<mailto:devel-join@uclibc-ng.org>","List-Unsubscribe":"<mailto:devel-leave@uclibc-ng.org>","Content-Type":"text/plain; charset=\"us-ascii\"","Content-Transfer-Encoding":"7bit"},"content":"Commit 618001c26e224fd4aff72b8e5530498acbad747a introduced fenv support\nfrom glibc. However that uses type names which are gcc-internal and not\nsupported by compilers such as clang. Clang also does not have builtins\nfor accessing the fpsr / fpcr registers, so it needs to use the\nfall-back path.\n\nInclude stdint.h and use uint64_t instead of __uint64_t to make the code\nwork with clang as well.\n\nSigned-off-by: Marcus Haehnel <marcus.haehnel@kernkonzept.com>\n---\n libc/sysdeps/linux/aarch64/fpu_control.h | 9 +++++----\n 1 file changed, 5 insertions(+), 4 deletions(-)","diff":"diff --git a/libc/sysdeps/linux/aarch64/fpu_control.h b/libc/sysdeps/linux/aarch64/fpu_control.h\nindex c3e7f66297..b7bfacb3da 100644\n--- a/libc/sysdeps/linux/aarch64/fpu_control.h\n+++ b/libc/sysdeps/linux/aarch64/fpu_control.h\n@@ -18,6 +18,7 @@\n #define _AARCH64_FPU_CONTROL_H\n \n #include <features.h>\n+#include <stdint.h>\n \n /* Macros for accessing the FPCR and FPSR.  */\n \n@@ -29,27 +30,27 @@\n #else\n # define _FPU_GETCW(fpcr)\t\t\t\t\t\\\n   ({ \t\t\t\t\t\t\t\t\\\n-   __uint64_t __fpcr;\t\t\t\t\t\t\\\n+   uint64_t __fpcr;\t\t\t\t\t\t\\\n    __asm__ __volatile__ (\"mrs\t%0, fpcr\" : \"=r\" (__fpcr));\t\\\n    fpcr = __fpcr;\t\t\t\t\t\t\\\n   })\n \n # define _FPU_SETCW(fpcr)\t\t\t\t\t\\\n   ({\t\t\t\t\t\t\t\t\\\n-   __uint64_t __fpcr = fpcr;\t\t\t\t\t\\\n+   uint64_t __fpcr = fpcr;\t\t\t\t\t\\\n    __asm__ __volatile__ (\"msr\tfpcr, %0\" : : \"r\" (__fpcr));    \\\n   })\n \n # define _FPU_GETFPSR(fpsr)\t\t\t\t\t\\\n   ({\t\t\t\t\t\t\t\t\\\n-   __uint64_t __fpsr;\t\t\t\t\t\t\\\n+   uint64_t __fpsr;\t\t\t\t\t\t\\\n    __asm__ __volatile__ (\"mrs\t%0, fpsr\" : \"=r\" (__fpsr));\t\\\n    fpsr = __fpsr;\t\t\t\t\t\t\\\n   })\n \n # define _FPU_SETFPSR(fpsr)\t\t\t\t\t\\\n   ({\t\t\t\t\t\t\t\t\\\n-   __uint64_t __fpsr = fpsr;\t\t\t\t\t\\\n+   uint64_t __fpsr = fpsr;\t\t\t\t\t\\\n    __asm__ __volatile__ (\"msr\tfpsr, %0\" : : \"r\" (__fpsr));    \\\n   })\n #endif\n","prefixes":["uclibc-ng-devel"]}