From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by sourceware.org (Postfix) with ESMTPS id 05D8E38582B6 for ; Sun, 30 Oct 2022 07:45:02 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 05D8E38582B6 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 (m0246632.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 29U3Zvaj011301 for ; Sun, 30 Oct 2022 07:45: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=GiXfzft/luGDFGTiwfymy//D1tW2D2mKz9MFzzQikXg=; b=yPyPtLyPAUEbsjMFpbEFAP7kf7fmg6UIoIZ54F14bJm11IPV6Otyd1PVDd2MiN9BxjrP j3UmrlLwm6xgJ6LB777UZUKDXK1pYS6cNITaGgkPKcDFwI1XnJ30VWJG0lYpXt0W8Pm+ jj+2w/L3Pybl+mIuzQghlnZ6JT0sPsl20MQC9IilRAnw18GMpvIWK62+KvaAoEcs0BcH r2oHA9683STwhtLsOFKXbdEzJdqljHE6LPLDezuW68Dg2TOQKgB9WJVXXjv0terplJqe CyGtLgE4MPBlEgBwLyNOtgs7Z5uLiAtAogsN9gglhA6ic7q7+zI2ZvFKPXaLnLVIN5X4 6w== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3kgusshc42-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Sun, 30 Oct 2022 07:45:01 +0000 Received: from pps.filterd (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 29U76opc023903 for ; Sun, 30 Oct 2022 07:45:01 GMT Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2175.outbound.protection.outlook.com [104.47.59.175]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3kgtm29ebu-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Sun, 30 Oct 2022 07:45:00 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=AeADNnPYp6aC+j/qH7/CDO5JIv9R8QKuEl8Ro7UE+HxoBR4WlPFzYGZs2zQTtUxHhexQey/AB6LvAJfZx/VsEPs1Wi9n6ogo+N/TyLAjcX6fm13NP8Bg2YRdj47wZ0/+A5ro0r1OtPsMo+rWnDlB21bY55QN0pCA7JyxyWTbuOK/Vsl+LoRdX0WXOCAvbvYySmQz2cA8CGTYfY4xufCkKn0vjP8HFAYPI0ipa/siifEqRhFNAwyC0TnxZBMSH0+0xezWa2+0XQEIzWyfrjVXmo1DKNZVEu2/4uEPxlnw/EkoyB8hVwvTEXv0fELHnOqx0sTnboQbx/s2jkvbQfLosw== 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=GiXfzft/luGDFGTiwfymy//D1tW2D2mKz9MFzzQikXg=; b=H/+F8p1iq9/gHkY6T0hcW2zkmXbFUN/fDLCNTQNqwfkrzuNwOLmkz1GCo+EZXbNNQUNxMqo4geQRCPUtwoChZVCpht8+v+LMup7pHpM7BrurlLJ9qHx0+WahHneOITW3tKD+lBhKXyWbYDRJ42yLunuuxk1fEOXaHIPKPMAecY4UuZViCYWfiBNQWgC00xBLHBKobNNuQ/SRda/QhD0Z+6OucusALXP5p9bf8f6Qogt7kn6ilYxnh1GdPL4bnZRajn8+RG6cQtmvgECsPsCaiUTegoyWX8qJG4ViiMW/EMbe2bK6amnBeNpGXBg9FGYTOusMPmcu+u2W8pZXlYbYiw== 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=GiXfzft/luGDFGTiwfymy//D1tW2D2mKz9MFzzQikXg=; b=R4PmPCLzpYc3QCwFpPeKjRATYH55Jkku1lq7b98YC8QFzbnyy5kLwzDDZVTrONGHNDDEhzC7D5qU5ZDlH5osLUhVC2MJs5iEI4213qhgaa4owgTtA+fI40TiMOWDGQ5GwJ7yR5wWEUlXnBrn6i3ddmLRHDt41w+4Zz+iJ3XDMbE= Received: from MWHPR1001MB2158.namprd10.prod.outlook.com (2603:10b6:301:2d::17) by BY5PR10MB4289.namprd10.prod.outlook.com (2603:10b6:a03:20c::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5769.19; Sun, 30 Oct 2022 07:44:58 +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; Sun, 30 Oct 2022 07:44:58 +0000 From: Indu Bhagat To: binutils@sourceware.org Cc: Indu Bhagat Subject: [PATCH,V3 00/15] Definition and support for SFrame unwind format Date: Sun, 30 Oct 2022 00:44:35 -0700 Message-Id: <20221030074450.1956074-1-indu.bhagat@oracle.com> X-Mailer: git-send-email 2.37.2 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: MW4PR03CA0312.namprd03.prod.outlook.com (2603:10b6:303:dd::17) To MWHPR1001MB2158.namprd10.prod.outlook.com (2603:10b6:301:2d::17) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MWHPR1001MB2158:EE_|BY5PR10MB4289:EE_ X-MS-Office365-Filtering-Correlation-Id: 883cf657-e08a-4aa2-8e69-08daba4aa4c1 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: EB6EhMVBhYdBmiyJe/YtLOGjM+t4TrW+OEgrGdDjxBxX/9wG/urN5hj+akcvoS4BV7V0U6lH30M9gedH833Ui1gJ901i8WakY3DP2x2IBGX/TzmxMsy8T/XQKBIT5Z+/q3qFdQJj01tNEJsVr6TF99R2Y3SSCxwOS4q3Km5lm2r10fI9JcDKurwI95tA6ljH22ffrhPLvnNlqSlZTS81i6F2lnMBBIu9zBsC19SlTXJVH/d2ZsYQyh/UbRs0sdwiRXUcXF5Bx2eF2yrLqOSjuTwOyIOtPO6t2o83b5iJVDhOlot+hku1hH4GAPXz/fiZ5hChvak353jEamxAGRWFjoKFSweyz3l3sugan/CgtxQZSe/62E+wLenjpS6AvMRp0tDXrEMceiNAFiMX/o6uFPrWVsCQ0ICjV8baPXF7NPXpFWfnDlkSe3RFAWNmQib1ExXtyBNZrsdrBxXYd9pO9c21qK9xbX7FikgYyIOn4Mj8qwedbRQCR2zA3hY4DXlWdJ+aRsrlAQ3c7BZados16ElZyKb0mvE8WmEmnKUuizbpnh3yxxFlpuLAyYSHoNzII+qI9mT/wre7Yf5UWfjvI/d9mWHm47pur/lBtTJV8O/i1kVTj6L9C79YKDZf7ll+0qSNG2dgCv4NDWARUKMh3lnAj5qPyV11y5DSIFapyPDzVfkVvNEuZmxEMh6MA75zH6u4crURZlRSXSYfLZXjRg== 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)(396003)(366004)(39850400004)(376002)(346002)(136003)(451199015)(316002)(66556008)(4326008)(66476007)(36756003)(6916009)(66946007)(30864003)(6486002)(38100700002)(6666004)(8936002)(41300700001)(86362001)(107886003)(478600001)(5660300002)(1076003)(186003)(83380400001)(8676002)(2616005)(44832011)(2906002)(6512007)(6506007);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?IP4lqY7KW7rN0pDYp4zeiKLy8VBGoZtPkW0FJ4i83/cH/ZF5wqcT6MWSqySL?= =?us-ascii?Q?AspSYFLjfbJ7inyteSQeMAkz6EqHXwu0kBuGWRQG8+OW67YdTs5q5OZDBPu/?= =?us-ascii?Q?vgazKf2x4/BcnahcRgPlfCS97PRORbyf6YJcldYQAh6pdzgdsdDj5mikC6oW?= =?us-ascii?Q?da4lV61cf9wkv8JKiS1ROd7/1LJ3FLVYT6GcCO36ZUc2I0PvrUUmgNw6lIRl?= =?us-ascii?Q?Zr/CCzql/U7cvmSWTt7svEvLAuk3Kja052faIfIYNibTKZBUXwFEiYb4GPVr?= =?us-ascii?Q?CJSvhT+eYyiOllxUyb8ZSQ21jnDNEksJxY7fbImUuYBFk5xJH48GujyL399E?= =?us-ascii?Q?4PsCKJ/JENmV3gvQ1t1iR0g6biZRq7Bq+EWmPaUQygkp3jPCBktBXDBIlEQD?= =?us-ascii?Q?KvZbw/Ba1kq/ImLlxL9SF06gky6WOFX4Efo2Z1VNAJHlbpctW4IgqtyfHNbH?= =?us-ascii?Q?g7a35JTjqw9Tx0RuqIk51M+mjz4ShA4qtAeYVLeEZOwuF9LI9nuUqbpdhcfV?= =?us-ascii?Q?dp0n2BKbBmNa7ZTxqPRMYZ15fAOWgj2+lR8uuuG4th3hmjfDbBxkSvSi+nOU?= =?us-ascii?Q?9YC6Oy0SArNAwhNF64+dwb1tHINYbVEUIzzjukIzokht2i8nfC2wB51ZaeSq?= =?us-ascii?Q?w5+VL/CG8yZi4K5F6iLnsmJ9DrEFJVQNtDaPvk1ZMH5Zrrn8YRbhYJkAQ0X5?= =?us-ascii?Q?tyLzYfy30dAgcmkv/fVsrPztkWjxPX/v9D7eSrdhBkhD9BntRsXCVEC6d4Mw?= =?us-ascii?Q?Tuzp1hpqEbUINjOVcY/wbrb/EMmsNBm3o8iWKrAPWPeN8nC1Pe8YlLrllr5Q?= =?us-ascii?Q?BxBZ2KwzyvNpOM/qFvMEgv3NYJ30KISLXty15wUtY/ryC0Q9187qLWtYHf4i?= =?us-ascii?Q?LyGCax60pfULf+qx8BE3SzM9vkS1WathfFHMd+S4nSXStemfbOtYsgDuuHiS?= =?us-ascii?Q?JD7fsVnjojg4KAGQWNLJ83WmUpvpVQubWQa2rBltJ4u+v5oIktnYtfc+i1aU?= =?us-ascii?Q?6aV79sjfa5HlFtPg1Unq0GTNx2hH7ep8POta10+JmuD18l1hNWYK7pyJxLMU?= =?us-ascii?Q?OmJ8C+fwPT4FWBcP/2IzAjiUQ4y76bNXdAw57y+9K1v+iTWL/q2A5azJqKRK?= =?us-ascii?Q?cigE21TDvqXA46TjU20G1GryluTtI2ShpJ+yB04QntRQbJhL6Ui9/4TaeBwm?= =?us-ascii?Q?uvWU8/WsQ0DZ5O31wr1Qs+/mfo3lpuRoHgP0O592f1bgA0/QGdO7p2P/J3W5?= =?us-ascii?Q?/FVSyDufvuYA/VtTdKzBeIDsFwLUO0Hp31hzJsbnzc/erNHsGYVcwVgwjs1e?= =?us-ascii?Q?tFZm0SaeXIZmqsflS3SXDMII0O82yGmffWfL39m6xR8evdtSiyZvcfR0RN5Y?= =?us-ascii?Q?ak2mECs7OR+EGJuU0v43XmL5v6+OWyQ6J38/6Ihq+z8dl8i2oYTWgE5FG0jE?= =?us-ascii?Q?BFCBhzlhf1hXb/C0pd+l8dCCdBgs+auIce2Tr/gsGLGivdRJZPlKI1D8LtUl?= =?us-ascii?Q?BvxR/hMOSYCrVAg7hrf0lvitO6m7+rQLp00jqWtFcp9ddF2Xqw1foxIFeS7X?= =?us-ascii?Q?u4BIQ2HZnumKoRe7VJ/hFfp6f8vJd4GfHdKYvOIP9xGYM9KBvx0nMOaEuHwa?= =?us-ascii?Q?7QoLEVAgRJ0nQzfWGscHZ6Y=3D?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 883cf657-e08a-4aa2-8e69-08daba4aa4c1 X-MS-Exchange-CrossTenant-AuthSource: MWHPR1001MB2158.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Oct 2022 07:44:58.2403 (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: P5g6engGQApxlTcUgL76Nprd988CydU5AYZBGJg0YEgXQDlO1cUU4jVukun9Gg3VJbiRLVJcwIxz9rR34jEbdA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR10MB4289 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.895,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2022-10-30_02,2022-10-27_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 bulkscore=0 suspectscore=0 mlxlogscore=999 mlxscore=0 adultscore=0 phishscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2210170000 definitions=main-2210300049 X-Proofpoint-ORIG-GUID: EkgWm4vs_OKITOoM5eEZkvEaqEp_Gf9B X-Proofpoint-GUID: EkgWm4vs_OKITOoM5eEZkvEaqEp_Gf9B 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: Since the V2 was approved, there have been some changes to the patch series. Each patch has brief notes on the respective changes from V2. Here is a combined summary: - V3 has some bugfixes. It was noticed that unwinding on aarch64 had issues with -fomit-frame-pointer. Fixed now. Added new unwinder testcases around the same. - Addressed review comments by Mike on libsframe/ and gdb/ builsystem. Posting a V3 for the complete set. PS: libsframe/configure has been REMOVED from the patch series, as it causes the size of some patches to go beyond the allowed limit. Please regenerate libsframe/configure after applying the series. Testing notes: - Regression tested natively on x86_64-linux, aarch64-linux and i686-linux with '--enable-shared'. - Cross builds for various targets on x86_64 host, and some targets on aarch64 host. Ran a regression script that checks for failures in gas, ld, binutils, libctf with no reported regressions. libsframe tests ran as expected. libsframebt (the backtracer) tests (which are present in libsframe/testsuite/libsframe.unwind) have been disabled with host != target. Thanks, Indu Bhagat (12): 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 gdb: sim: buildsystem changes to accommodate libsframe libctf: add libsframe to LDFLAGS and LIBS 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 (3): libsframe: add the SFrame library unwinder: generate backtrace using SFrame format unwinder: Add SFrame unwinder tests 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 + config/sframe.m4 | 16 + configure | 2 +- configure.ac | 2 +- gas/Makefile.am | 3 + gas/Makefile.in | 22 +- gas/NEWS | 3 + gas/as.c | 10 +- gas/as.h | 13 +- gas/config/tc-aarch64.c | 52 + gas/config/tc-aarch64.h | 29 + gas/config/tc-i386.c | 44 + 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 | 1306 +++++++++++++ gas/gen-sframe.h | 141 ++ 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 | 96 + 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 + gdb/Makefile.in | 7 +- gdb/acinclude.m4 | 4 +- gdb/configure | 8 +- include/elf/common.h | 1 + include/elf/internal.h | 1 + include/sframe-api.h | 234 +++ include/sframe-backtrace-api.h | 57 + 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 + libctf/configure | 4 +- libctf/configure.ac | 4 +- libsframe/Makefile.am | 58 + libsframe/Makefile.in | 1533 +++++++++++++++ libsframe/aclocal.m4 | 1243 ++++++++++++ libsframe/config.h.in | 132 ++ libsframe/configure.ac | 114 ++ libsframe/doc/local.mk | 40 + libsframe/doc/sframe-spec.texi | 619 ++++++ libsframe/sframe-backtrace-err.c | 46 + libsframe/sframe-backtrace.c | 626 ++++++ libsframe/sframe-dump.c | 181 ++ libsframe/sframe-error.c | 49 + libsframe/sframe-impl.h | 55 + libsframe/sframe.c | 1675 +++++++++++++++++ libsframe/testsuite/config/default.exp | 57 + libsframe/testsuite/lib/sframe-lib.exp | 180 ++ 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.unwind/backtrace-fp-attr-1.c | 109 ++ .../libsframe.unwind/backtrace-fp-attr-1.lk | 4 + .../libsframe.unwind/backtrace-fp-attr-2.c | 110 ++ .../libsframe.unwind/backtrace-fp-attr-2.lk | 4 + .../testsuite/libsframe.unwind/backtrace.c | 145 ++ .../testsuite/libsframe.unwind/backtrace.lk | 3 + .../testsuite/libsframe.unwind/inline-cmds.c | 136 ++ .../testsuite/libsframe.unwind/inline-cmds.lk | 3 + libsframe/testsuite/libsframe.unwind/inline.c | 97 + .../testsuite/libsframe.unwind/inline.lk | 3 + .../testsuite/libsframe.unwind/solib-lib1.c | 8 + .../testsuite/libsframe.unwind/solib-lib1.h | 3 + .../testsuite/libsframe.unwind/solib-lib2.c | 51 + .../testsuite/libsframe.unwind/solib-lib2.h | 3 + .../testsuite/libsframe.unwind/solib-main.c | 47 + .../testsuite/libsframe.unwind/solib-main.d | 3 + .../testsuite/libsframe.unwind/solib.exp | 75 + .../testsuite/libsframe.unwind/tailcall.c | 103 + .../testsuite/libsframe.unwind/tailcall.lk | 3 + libsframe/testsuite/libsframe.unwind/ttest.c | 127 ++ libsframe/testsuite/libsframe.unwind/ttest.lk | 3 + .../testsuite/libsframe.unwind/unwind.exp | 205 ++ libsframe/testsuite/local.mk | 24 + sim/common/Make-common.in | 7 +- sim/ppc/Makefile.in | 5 +- src-release.sh | 4 +- 157 files changed, 14549 insertions(+), 66 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 config/sframe.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 mode change 100755 => 100644 gdb/configure create mode 100644 include/sframe-api.h create mode 100644 include/sframe-backtrace-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-backtrace-err.c create mode 100644 libsframe/sframe-backtrace.c 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/lib/sframe-lib.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/libsframe.unwind/backtrace-fp-attr-1.c create mode 100644 libsframe/testsuite/libsframe.unwind/backtrace-fp-attr-1.lk create mode 100644 libsframe/testsuite/libsframe.unwind/backtrace-fp-attr-2.c create mode 100644 libsframe/testsuite/libsframe.unwind/backtrace-fp-attr-2.lk create mode 100644 libsframe/testsuite/libsframe.unwind/backtrace.c create mode 100644 libsframe/testsuite/libsframe.unwind/backtrace.lk create mode 100644 libsframe/testsuite/libsframe.unwind/inline-cmds.c create mode 100644 libsframe/testsuite/libsframe.unwind/inline-cmds.lk create mode 100644 libsframe/testsuite/libsframe.unwind/inline.c create mode 100644 libsframe/testsuite/libsframe.unwind/inline.lk create mode 100644 libsframe/testsuite/libsframe.unwind/solib-lib1.c create mode 100644 libsframe/testsuite/libsframe.unwind/solib-lib1.h create mode 100644 libsframe/testsuite/libsframe.unwind/solib-lib2.c create mode 100644 libsframe/testsuite/libsframe.unwind/solib-lib2.h create mode 100644 libsframe/testsuite/libsframe.unwind/solib-main.c create mode 100644 libsframe/testsuite/libsframe.unwind/solib-main.d create mode 100644 libsframe/testsuite/libsframe.unwind/solib.exp create mode 100644 libsframe/testsuite/libsframe.unwind/tailcall.c create mode 100644 libsframe/testsuite/libsframe.unwind/tailcall.lk create mode 100644 libsframe/testsuite/libsframe.unwind/ttest.c create mode 100644 libsframe/testsuite/libsframe.unwind/ttest.lk create mode 100644 libsframe/testsuite/libsframe.unwind/unwind.exp create mode 100644 libsframe/testsuite/local.mk -- 2.37.2