From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by sourceware.org (Postfix) with ESMTPS id 797043858D20 for ; Wed, 9 Nov 2022 08:43:11 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 797043858D20 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=oracle.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=oracle.com Received: from pps.filterd (m0246629.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 2A98asKW028822; Wed, 9 Nov 2022 08:43:02 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : content-transfer-encoding : content-type : mime-version; s=corp-2022-7-12; bh=sgJhx1hqKtKxL7bmOyMUD1BPitAVW9x62BfQl5opUug=; b=B++ghH0kfEUuWMCHbch88zQj2KJHo76HljuE1qHZ7wkDr5o6gjQrMQWzMmNrFaGV7HgK v8UwqHPi/hiUttx3NCn521CMeDMB4EQvy02mNKX7fovNW8CkJMUa6AO/LYRGN58L4ZeE JX+7N+8LcuPXMNPnSaVKOgx/h+50kraJTMYV1vLcLep6PxPkjbv0WQr0OP+2vfqv6vDn HFAKDhQATBLFXbjaDydlzT9e4Gcw73nQqUpcGtpTrNVwNSPivuzMhEKzGbX3ERu4YQGB rl4VNxGNCvwFc9w3FV8CwyZ0tS9oeIXqqvyzAFT2x82tA4E4ADs1xwpxIlfKBVVIAblU JA== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3kr8urr1dj-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 09 Nov 2022 08:43:01 +0000 Received: from pps.filterd (phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 2A98F15F018986; Wed, 9 Nov 2022 08:42:57 GMT Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2042.outbound.protection.outlook.com [104.47.66.42]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3kpctmkcky-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 09 Nov 2022 08:42:57 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=EiXS7L47gtrxW0qJIhc8AhsMtgpeaXLnf8on/ScSaIHSLFaL4gV3Pdf8Zdx74SpWp0p8RyLgKHOI49LUw+i+CXsGXRiX6vnvTshzbodBcV+gix+auHw9Wdi1BeL/p1qPxuKNq5e2khBrpg/ObGeevkp3s9QjPmsWUZVtz/8CR5OLFYKp0/gUzOS39U5KIwRdscqizmEo/YE+lxu5gmGG4Cpei6kiJii8YUHTCc6MFJC5coZRY4tm8hlvozXGfrekIbUyrC2q0qfqF9PCTFfWkTibj/U6/GPie5SijARdsRQDx0MfLlIjYvgidNQVFgYjwjYOw2hQcmShnLJTwlUJZA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=sgJhx1hqKtKxL7bmOyMUD1BPitAVW9x62BfQl5opUug=; b=VbRhe7QMiG+wJlZZo0rg6NxvhkqXq/YmT9luUM07Q0XQAZMvv801efJQx+8iBMPFg76taG3w8pQTWJ0aCtFABpuqmzhVCibzbdmJCdYGT49DsqjvQAlOBPKNbVuBRVz/yI+NwFWiHxmH8JqNJPv8SjFn5WZm3JfX3JlWuWwrPCQ8kH59woR9fuB8fThacBY1X3HUG6Vn9krrIAdr8Y+y5sB7k4ZlkGW5RvdijToa4nWzPINXZT3Y7utSzvQiRy7MTx3sHzqyS6g2ncvDBQ8LixI6CGECTfIHaHVAvE5eVDWUvA8+OZ+D5g01QR/+q8E98+T/HgJFKEXKpcCM9OqPtw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=sgJhx1hqKtKxL7bmOyMUD1BPitAVW9x62BfQl5opUug=; b=L5OWsR+YbN0NjUuPga8eoVkQ0LTH5B2Lt6hIjWFlAtEzn0IcRhe4SVrP1Fe3hFn5wzJUHdW566a4LY799g8m+fFnWD5wp1a0BcHRx3V9/wykoWaw3O2O3mH5Q8TVy2qlaBX5ehL1LsNak8Q7h75AHVgCLXF4QJwbFbA08/N96qg= Received: from MWHPR1001MB2158.namprd10.prod.outlook.com (2603:10b6:301:2d::17) by CO1PR10MB4772.namprd10.prod.outlook.com (2603:10b6:303:94::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5769.19; Wed, 9 Nov 2022 08:42:55 +0000 Received: from MWHPR1001MB2158.namprd10.prod.outlook.com ([fe80::a505:15c2:a248:efa2]) by MWHPR1001MB2158.namprd10.prod.outlook.com ([fe80::a505:15c2:a248:efa2%7]) with mapi id 15.20.5723.033; Wed, 9 Nov 2022 08:42:55 +0000 From: Indu Bhagat To: binutils@sourceware.org Cc: weimin.pan@oracle.com, nickc@redhat.com, Indu Bhagat Subject: [PATCH,V4 00/11] Definition and support for SFrame unwind format Date: Wed, 9 Nov 2022 00:42:33 -0800 Message-Id: <20221109084244.261296-1-indu.bhagat@oracle.com> X-Mailer: git-send-email 2.37.2 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: MW4PR03CA0294.namprd03.prod.outlook.com (2603:10b6:303:b5::29) To MWHPR1001MB2158.namprd10.prod.outlook.com (2603:10b6:301:2d::17) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MWHPR1001MB2158:EE_|CO1PR10MB4772:EE_ X-MS-Office365-Filtering-Correlation-Id: e1c08a94-8339-4bc8-1749-08dac22e65a2 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 0xekdVpWHuAOKJMu/9N0dNnzu3BaHWRUOtVnozId1G2fucLZPPEmnHaKohvCoFv5mKbn77IRqtWq1LTPmk7m9J+djtZQOcLMsdkZtcHEpfUfhts9WccR6cHjyxbZ62hyFSuTRvScQieeK12Flwd9gdSmSWIUXbBhO6BgU3ghK3OflWc8ZvE3aSfA1SpLsvzmfBqK9SRXUswb5PQ0glGsU1u5OVqx+Kyq+JZ5/NCnbP+H72D407Kqdnw6teBWD5smfnaTK8MXyf0SETgl6vXoAPfRg0muqcnusR9qu8xJUiAHXILtucDNHxhhECygwaWl908PoLUGNYIr3uGFn7v5UR+SKmnUqjBvkkcWWNSDxJQtYJtNOkX6ycDhf5NuHjmZTxOYE3PIKKnmkHivrs4PcOhYqSzHKJT/6ir4n4z2ySqDJ72yk1/cT6fFk2xsKiRafKEdolbu348S+0rYOkerYJjtXLqLevPMegQUcwgoycpmb3aBovp0TLCLitsHwmWk9aN427rgMfzQKksYfzhDMH+otNXGel7Ymzy9un2+mxbMpW9FWuoAYF8Y1nmdC1GfxhVqtEuVjG6heIE1F3pIGHZ+rRJyN8NDjPtIKO4mCeaMOt3EDsaI3QeGDflzcXiyigvH3Gd8ww+KjzxgOAmtQAo3q6LLVQsOngI2vke+MCx8gwnsiOss7yzVb4U2E7q0KduhkFO0qxPrr9NfN0KcxVr0MkEo/VYaPehVliri6D81Yt2iXODPERdElgKiukPrCKyBxh8TauTPJFagGZqQUg== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MWHPR1001MB2158.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(346002)(136003)(39860400002)(366004)(396003)(376002)(451199015)(66476007)(66556008)(6512007)(8676002)(86362001)(6506007)(966005)(44832011)(4326008)(66946007)(5660300002)(30864003)(83380400001)(8936002)(38100700002)(2906002)(36756003)(41300700001)(6916009)(186003)(2616005)(6486002)(107886003)(316002)(6666004)(478600001)(1076003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?GY144MYdt6F+mlzbtMLKMkhOG8zd7ODySk6UlEirlK4+mbksmolL2qubcG6h?= =?us-ascii?Q?04iqgBXn6OTShyj+n7TOVLBBFIYYGkM24PF/ygOs6R4Z9xiDLRV6ybjFK+gE?= =?us-ascii?Q?SIGBqEhtwX0HxTLgF5lhmW6UXXwRedc35b6Y5joMUl/xAG7nzpDPlUv/a5tT?= =?us-ascii?Q?m4SXBiPfKlp1LM7vralByy5V3SK/eekiGJyQNjrbjQngz8SJTTUyceM2b4r4?= =?us-ascii?Q?totx7un1BmShBL8EEbcjyyCb1KCWloQEA9sWH0iltSk9ja3DI78q14zu/NOJ?= =?us-ascii?Q?+hY2mxYsI4lju81YnZ1zz6ef1Nghi9ClF8hFH+cj/kC7ARhG7L+0GkQrW0Wi?= =?us-ascii?Q?MhZJYFCaxadj1BKC9XVWm15z8eAFf7ypxAT8h/t00Ub5rWe60itcELww9LGs?= =?us-ascii?Q?5kqRyWDxy/weiJSZRp0g/i60EKQYuagripOJEZy2nE8HW5NX1VCierz56/MV?= =?us-ascii?Q?k7mxcGtcAPShIp4w0bNjeEJKhpKdzIoe4LoV8jX0E8chGnUQJ4gzQeBUlk1u?= =?us-ascii?Q?6+EgrWCEa5vqyzb+UbWL+aEaEZrJIhlQNw26EKpd4DGKF3S3au4GXwxoI495?= =?us-ascii?Q?hUybEEMNSlaMEkrYkUnWGQ7OeWXpfbtr4SEhWtxJ9jKK+ZvI90JFhfYB2MSA?= =?us-ascii?Q?zvnFPKv34TVbdv34VfWPUG+T5TJ5SAmwZ3Gw5qJKerasW/XaumZa20BYWDsl?= =?us-ascii?Q?VxBCPtWl84EM+pqHcQqB0dH8Du99ELyJkzECtN8maWVD5Q4TN6UjFbmE1gbE?= =?us-ascii?Q?4/jyyHGfjx8UcctXMsR+PkYcMd8btytKAXqbxzllp8A+IY/hmoYbs8Rru8Jn?= =?us-ascii?Q?EHsbWQkfRbmtkOpfucVTVsNLvqfpBtIJQb/e/dTNLbZ5HBFgyft7H+9CK6SO?= =?us-ascii?Q?xbwQdtjf+jh3I41BL+biipM6yvHbv/B1/zHcYre4GsNvb8MVK+A7wOGsZQBE?= =?us-ascii?Q?ZAfuFCZcJTzJVshPj7MVYyc4eu/h6NA2Z/tQsdREYFocTXDwrVcYI49J+9kf?= =?us-ascii?Q?sKuSsd8KzUavSorLKBWYUnaeUL10hhMumaxq0XM3XTj2Mv/vOaFf8dk4WWiD?= =?us-ascii?Q?ldiYwxY0Iv7QalGdFX1v9fKw4kPX0Ad+QI4I4pxHiSHc/MOCFUoJ4PKK2Hp+?= =?us-ascii?Q?KxGrtwRhGNNApCd7kwBfwtWnps8SImKTqmb0984cTLrvcxaJH+uino9WCyPs?= =?us-ascii?Q?fmsFmfXBaRg0s0SsRSxkPlaeRPaHyYLw3r/DAXYfxg5hepIyEr4ut3i+djr1?= =?us-ascii?Q?a6x8/vHyNMGrr41UZvGp6I9NxCWPobTUrYaC9+D0bEwchI1x/ainEa2QtRSy?= =?us-ascii?Q?rW2u9r3UCt1pT18wsHebTq5EkQEQzR9CoHm8JmJkYLAe54ztXzo3KrrP6X1t?= =?us-ascii?Q?xvqvZqIMeijk6XCwiQ1nH81r4bYas2Ivln/VxkKBhPegVJznbCWDcmq4y4Pp?= =?us-ascii?Q?qYHM+2Q2IWkDyLvPZNbPtMv+o2jJE1ijmiIZyt3FPU/oc0txZ2Q2ADIC1YdV?= =?us-ascii?Q?EROdgxJcPhH5dFCqvQ+tdC2pDN2vV7kee4Wiz750T1CjenZOUGdIo3P683wH?= =?us-ascii?Q?3vopxEQqTZgDQiY4sq6pzYsc3AyE8LJT4G6j2dyPnLBvSd5VtaI+0PRfjByx?= =?us-ascii?Q?Vqchhzkj+NX8Wm3l8sa5WF4=3D?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: e1c08a94-8339-4bc8-1749-08dac22e65a2 X-MS-Exchange-CrossTenant-AuthSource: MWHPR1001MB2158.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Nov 2022 08:42:55.7939 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: azskZpqC9YM+bCNu/7C9Fi9SzS2o9N6B+U6rlYlwf33rtq+dQzdvdYoBQL1Gh+z9HFgmJeYu57xik8qx1cHi+Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO1PR10MB4772 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.895,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2022-11-09_03,2022-11-08_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 spamscore=0 bulkscore=0 adultscore=0 mlxscore=0 suspectscore=0 malwarescore=0 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2210170000 definitions=main-2211090066 X-Proofpoint-GUID: 7Sg-pk9G4TNQiJtflfb-ivBSlTA17_Si X-Proofpoint-ORIG-GUID: 7Sg-pk9G4TNQiJtflfb-ivBSlTA17_Si X-Spam-Status: No, score=-7.2 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: This is the V4 of the patch series that adds support for the SFrame unwind format in binutils. [Changes in V4] - Addressed review comments by Mike on the "gas: generate .sframe from CFI directives" patch. - Removed the patch for the gdb/ sim/ buildsystem because the buildsystem of both of gdb and sim are now using libtool. So, explicit specification of the libbfd->libsframe dependency is not needed. Thanks to Mike and Jose for making the necessary improvements. - Removed the patch "libctf: add libsframe to LDFLAGS and LIBS" earlier present in V3. This patch has now been updated to "libctf: use libtool for link test in configure" and will be reviewed outside of the current series. - Removed the following two patches from V4 altogether: - unwinder: generate backtrace using SFrame format - unwinder: Add SFrame unwinder tests This will allow us to make progress on the SFrame support effectively. Weimin will post these two patches soon, which will include the requested improvements. [End of changes in V4] This patch series is dependent on the following two patches which were sent earlier. These patches are related to the libtoolization effort of gdb/ and libctf/ link checks at configure time: 1. gdb: use libtool in GDB_AC_CHECK_BFD [Jose E. Marchesi] https://sourceware.org/pipermail/gdb-patches/2022-November/193550.html 2. libctf: use libtool for link test in configure [Indu Bhagat] https://sourceware.org/pipermail/binutils/2022-November/124253.html The following testing uses the above two patches which libtoolize the link checks in gdb/ and libctf/ configure. Testing notes: - binutils/gdb try bot showed no new regressions. - reg tested natively on x86_64-linux (including gdb), aarch64-linux and i686-linux with --enable-shared. - reg tested cross build of several targets on an x86_64 host and an aarch64 host using a regression script that checks for failures in gas, ld, binutils, and libctf. libsframe testsuite ran as expected. PS: libsframe/configure has NOT been included in the patch. Please regenerate. Thanks, Indu Bhagat (10): sframe.h: Add SFrame format definition gas: add new command line option --gsframe gas: generate .sframe from CFI directives gas: testsuite: add new tests for SFrame unwind info bfd: linker: merge .sframe sections readelf/objdump: support for SFrame section src-release.sh: Add libsframe binutils/NEWS: add text for SFrame support gas/NEWS: add text about new command line option and SFrame support doc: add SFrame spec file Weimin Pan (1): libsframe: add the SFrame library Makefile.def | 6 + Makefile.in | 1299 ++++++++++++- bfd/Makefile.am | 6 +- bfd/Makefile.in | 7 +- bfd/bfd-in2.h | 1 + bfd/configure | 2 +- bfd/configure.ac | 2 +- bfd/elf-bfd.h | 54 + bfd/elf-sframe.c | 544 ++++++ bfd/elf.c | 32 + bfd/elf64-x86-64.c | 97 +- bfd/elflink.c | 52 + bfd/elfxx-x86.c | 375 +++- bfd/elfxx-x86.h | 49 + bfd/section.c | 1 + binutils/Makefile.am | 10 +- binutils/Makefile.in | 9 +- binutils/NEWS | 3 + binutils/doc/binutils.texi | 4 + binutils/doc/sframe.options.texi | 10 + binutils/objdump.c | 75 + binutils/readelf.c | 64 + config/dejagnu.m4 | 22 + configure | 2 +- configure.ac | 2 +- gas/Makefile.am | 3 + gas/Makefile.in | 14 +- gas/NEWS | 3 + gas/as.c | 10 +- gas/as.h | 13 +- gas/config/tc-aarch64.c | 58 + gas/config/tc-aarch64.h | 29 + gas/config/tc-i386.c | 50 + gas/config/tc-i386.h | 26 + gas/config/tc-xtensa.c | 1 + gas/doc/as.texi | 20 +- gas/dw2gencfi.c | 30 + gas/dw2gencfi.h | 1 + gas/gen-sframe.c | 1294 +++++++++++++ gas/gen-sframe.h | 153 ++ gas/sframe-opt.c | 158 ++ .../gas/cfi-sframe/cfi-sframe-aarch64-1.d | 20 + .../gas/cfi-sframe/cfi-sframe-aarch64-1.s | 61 + .../gas/cfi-sframe/cfi-sframe-common-1.d | 17 + .../gas/cfi-sframe/cfi-sframe-common-1.s | 3 + .../gas/cfi-sframe/cfi-sframe-common-2.d | 17 + .../gas/cfi-sframe/cfi-sframe-common-2.s | 2 + .../gas/cfi-sframe/cfi-sframe-common-3.d | 17 + .../gas/cfi-sframe/cfi-sframe-common-3.s | 4 + .../gas/cfi-sframe/cfi-sframe-common-4.d | 21 + .../gas/cfi-sframe/cfi-sframe-common-4.s | 8 + .../gas/cfi-sframe/cfi-sframe-common-5.d | 21 + .../gas/cfi-sframe/cfi-sframe-common-5.s | 7 + .../gas/cfi-sframe/cfi-sframe-common-6.d | 21 + .../gas/cfi-sframe/cfi-sframe-common-6.s | 7 + .../gas/cfi-sframe/cfi-sframe-common-7.d | 21 + .../gas/cfi-sframe/cfi-sframe-common-7.s | 7 + .../gas/cfi-sframe/cfi-sframe-common-8.d | 20 + .../gas/cfi-sframe/cfi-sframe-common-8.s | 12 + .../gas/cfi-sframe/cfi-sframe-x86_64-1.d | 22 + .../gas/cfi-sframe/cfi-sframe-x86_64-1.s | 30 + gas/testsuite/gas/cfi-sframe/cfi-sframe.exp | 100 + gas/testsuite/gas/cfi-sframe/common-empty-1.d | 14 + gas/testsuite/gas/cfi-sframe/common-empty-1.s | 5 + gas/testsuite/gas/cfi-sframe/common-empty-2.d | 14 + gas/testsuite/gas/cfi-sframe/common-empty-2.s | 8 + gas/testsuite/gas/cfi-sframe/common-empty-3.d | 14 + gas/testsuite/gas/cfi-sframe/common-empty-3.s | 9 + gas/testsuite/gas/cfi-sframe/common-empty-4.d | 14 + gas/testsuite/gas/cfi-sframe/common-empty-4.s | 17 + gas/write.c | 13 + include/elf/common.h | 1 + include/elf/internal.h | 1 + include/sframe-api.h | 234 +++ include/sframe.h | 303 +++ ld/Makefile.am | 2 + ld/Makefile.in | 2 + ld/configure | 8 +- ld/configure.ac | 3 + ld/ld.texi | 4 +- ld/scripttempl/elf.sc | 2 + ld/testsuite/ld-aarch64/aarch64-elf.exp | 4 + ld/testsuite/ld-aarch64/sframe-bar.s | 7 + ld/testsuite/ld-aarch64/sframe-foo.s | 10 + ld/testsuite/ld-aarch64/sframe-simple-1.d | 26 + ld/testsuite/ld-bootstrap/bootstrap.exp | 8 +- ld/testsuite/ld-sframe/discard.d | 10 + ld/testsuite/ld-sframe/discard.ld | 9 + ld/testsuite/ld-sframe/discard.s | 13 + ld/testsuite/ld-sframe/sframe-empty.d | 10 + ld/testsuite/ld-sframe/sframe-empty.s | 2 + ld/testsuite/ld-sframe/sframe.exp | 47 + ld/testsuite/ld-x86-64/sframe-bar.s | 31 + ld/testsuite/ld-x86-64/sframe-foo.s | 37 + ld/testsuite/ld-x86-64/sframe-plt-1.d | 29 + ld/testsuite/ld-x86-64/sframe-simple-1.d | 35 + ld/testsuite/ld-x86-64/x86-64.exp | 5 + ld/testsuite/lib/ld-lib.exp | 45 + libsframe/Makefile.am | 46 + libsframe/Makefile.in | 1488 +++++++++++++++ libsframe/aclocal.m4 | 1242 ++++++++++++ libsframe/config.h.in | 132 ++ libsframe/configure.ac | 96 + libsframe/doc/local.mk | 40 + libsframe/doc/sframe-spec.texi | 619 ++++++ libsframe/sframe-dump.c | 181 ++ libsframe/sframe-error.c | 49 + libsframe/sframe-impl.h | 55 + libsframe/sframe.c | 1676 +++++++++++++++++ libsframe/testsuite/config/default.exp | 54 + libsframe/testsuite/libsframe.decode/DATA-BE | Bin 0 -> 64 bytes libsframe/testsuite/libsframe.decode/DATA1 | Bin 0 -> 60 bytes libsframe/testsuite/libsframe.decode/DATA2 | Bin 0 -> 92 bytes .../testsuite/libsframe.decode/be-flipping.c | 115 ++ .../testsuite/libsframe.decode/decode.exp | 50 + .../testsuite/libsframe.decode/frecnt-1.c | 99 + .../testsuite/libsframe.decode/frecnt-2.c | 104 + libsframe/testsuite/libsframe.decode/local.mk | 16 + .../testsuite/libsframe.encode/encode-1.c | 177 ++ .../testsuite/libsframe.encode/encode.exp | 37 + libsframe/testsuite/libsframe.encode/local.mk | 7 + libsframe/testsuite/local.mk | 24 + src-release.sh | 4 +- 123 files changed, 12290 insertions(+), 46 deletions(-) create mode 100644 bfd/elf-sframe.c create mode 100644 binutils/doc/sframe.options.texi create mode 100644 config/dejagnu.m4 create mode 100644 gas/gen-sframe.c create mode 100644 gas/gen-sframe.h create mode 100644 gas/sframe-opt.c create mode 100644 gas/testsuite/gas/cfi-sframe/cfi-sframe-aarch64-1.d create mode 100644 gas/testsuite/gas/cfi-sframe/cfi-sframe-aarch64-1.s create mode 100644 gas/testsuite/gas/cfi-sframe/cfi-sframe-common-1.d create mode 100644 gas/testsuite/gas/cfi-sframe/cfi-sframe-common-1.s create mode 100644 gas/testsuite/gas/cfi-sframe/cfi-sframe-common-2.d create mode 100644 gas/testsuite/gas/cfi-sframe/cfi-sframe-common-2.s create mode 100644 gas/testsuite/gas/cfi-sframe/cfi-sframe-common-3.d create mode 100644 gas/testsuite/gas/cfi-sframe/cfi-sframe-common-3.s create mode 100644 gas/testsuite/gas/cfi-sframe/cfi-sframe-common-4.d create mode 100644 gas/testsuite/gas/cfi-sframe/cfi-sframe-common-4.s create mode 100644 gas/testsuite/gas/cfi-sframe/cfi-sframe-common-5.d create mode 100644 gas/testsuite/gas/cfi-sframe/cfi-sframe-common-5.s create mode 100644 gas/testsuite/gas/cfi-sframe/cfi-sframe-common-6.d create mode 100644 gas/testsuite/gas/cfi-sframe/cfi-sframe-common-6.s create mode 100644 gas/testsuite/gas/cfi-sframe/cfi-sframe-common-7.d create mode 100644 gas/testsuite/gas/cfi-sframe/cfi-sframe-common-7.s create mode 100644 gas/testsuite/gas/cfi-sframe/cfi-sframe-common-8.d create mode 100644 gas/testsuite/gas/cfi-sframe/cfi-sframe-common-8.s create mode 100644 gas/testsuite/gas/cfi-sframe/cfi-sframe-x86_64-1.d create mode 100644 gas/testsuite/gas/cfi-sframe/cfi-sframe-x86_64-1.s create mode 100644 gas/testsuite/gas/cfi-sframe/cfi-sframe.exp create mode 100644 gas/testsuite/gas/cfi-sframe/common-empty-1.d create mode 100644 gas/testsuite/gas/cfi-sframe/common-empty-1.s create mode 100644 gas/testsuite/gas/cfi-sframe/common-empty-2.d create mode 100644 gas/testsuite/gas/cfi-sframe/common-empty-2.s create mode 100644 gas/testsuite/gas/cfi-sframe/common-empty-3.d create mode 100644 gas/testsuite/gas/cfi-sframe/common-empty-3.s create mode 100644 gas/testsuite/gas/cfi-sframe/common-empty-4.d create mode 100644 gas/testsuite/gas/cfi-sframe/common-empty-4.s create mode 100644 include/sframe-api.h create mode 100644 include/sframe.h create mode 100644 ld/testsuite/ld-aarch64/sframe-bar.s create mode 100644 ld/testsuite/ld-aarch64/sframe-foo.s create mode 100644 ld/testsuite/ld-aarch64/sframe-simple-1.d create mode 100644 ld/testsuite/ld-sframe/discard.d create mode 100644 ld/testsuite/ld-sframe/discard.ld create mode 100644 ld/testsuite/ld-sframe/discard.s create mode 100644 ld/testsuite/ld-sframe/sframe-empty.d create mode 100644 ld/testsuite/ld-sframe/sframe-empty.s create mode 100644 ld/testsuite/ld-sframe/sframe.exp create mode 100644 ld/testsuite/ld-x86-64/sframe-bar.s create mode 100644 ld/testsuite/ld-x86-64/sframe-foo.s create mode 100644 ld/testsuite/ld-x86-64/sframe-plt-1.d create mode 100644 ld/testsuite/ld-x86-64/sframe-simple-1.d create mode 100644 libsframe/Makefile.am create mode 100644 libsframe/Makefile.in create mode 100644 libsframe/aclocal.m4 create mode 100644 libsframe/config.h.in create mode 100644 libsframe/configure.ac create mode 100644 libsframe/doc/local.mk create mode 100644 libsframe/doc/sframe-spec.texi create mode 100644 libsframe/sframe-dump.c create mode 100644 libsframe/sframe-error.c create mode 100644 libsframe/sframe-impl.h create mode 100644 libsframe/sframe.c create mode 100644 libsframe/testsuite/config/default.exp create mode 100644 libsframe/testsuite/libsframe.decode/DATA-BE create mode 100644 libsframe/testsuite/libsframe.decode/DATA1 create mode 100644 libsframe/testsuite/libsframe.decode/DATA2 create mode 100644 libsframe/testsuite/libsframe.decode/be-flipping.c create mode 100644 libsframe/testsuite/libsframe.decode/decode.exp create mode 100644 libsframe/testsuite/libsframe.decode/frecnt-1.c create mode 100644 libsframe/testsuite/libsframe.decode/frecnt-2.c create mode 100644 libsframe/testsuite/libsframe.decode/local.mk create mode 100644 libsframe/testsuite/libsframe.encode/encode-1.c create mode 100644 libsframe/testsuite/libsframe.encode/encode.exp create mode 100644 libsframe/testsuite/libsframe.encode/local.mk create mode 100644 libsframe/testsuite/local.mk -- 2.37.2