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 3549438582BA for ; Mon, 27 Jun 2022 23:47:43 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 3549438582BA Received: from pps.filterd (m0246630.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 25RJiu3c031758 for ; Mon, 27 Jun 2022 23:47:43 GMT Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3gwrsccjwd-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Mon, 27 Jun 2022 23:47:42 +0000 Received: from pps.filterd (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.16.1.2/8.16.1.2) with SMTP id 25RNan9X038555 for ; Mon, 27 Jun 2022 23:47:41 GMT Received: from nam11-co1-obe.outbound.protection.outlook.com (mail-co1nam11lp2171.outbound.protection.outlook.com [104.47.56.171]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com with ESMTP id 3gwrt1v33h-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Mon, 27 Jun 2022 23:47:41 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=nlaQ0jsyKYMBkzj5Ny+c/P1mpWGKbZZi4+anVZ8sqpwc0/VPrxzkWrYc1xICxJpx/9rIzw7Ac8VCxx6cyX4bKPL2J9ns0xUhSoYyKLNI2VDgVibEv1bLCFKZwlixx3YcoaDKGNTFwktgI18vDLYAw54EVgXlg0UOWaolvKvt9TY84fy4aaeHkXvcJ2pHAFYkILocogG5MUTxgH3kGWRF+oIHtaXBjdyHiMxGlyNp+jT2d76LmqhjaRxV0CPslBZW7JQMuUuCqJaG9sdU5djztncaw0VM3uSNqqumlOIk1/aZY1iadTyvz92Krn4X4o31+0gmdeain4e5CSsSee8gvQ== 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=KSd943qQyrDV4KTyIw09OI40MaKFandms/CR9wIDNv4=; b=a74B+yVqWh+BNVGMXyX+fneGpR7LHkQbNj4SxL+tSHxQ5yeEcUcFebs39RcJckmu+NXJxmr8IRmiViSuhx+mOcsUIRx61fSoPBARAR27DbX0y7vXhlH8LvtblZ0dsMBS8H66vGIFUs+suvavaUE/aCU12FFMBAU5zIzzMaK+9ZehEZpbsfmz/AkFc+NDkZewE0LIGGKpXKmY2+Lk+lN8NK4geoI5AqGnFDolBJ+i0qnut9JXWlfXSbWdVKU/c4/FA1FTSLTTGIaWFYhf9pChur2dVf+cit9f8gjxtGGZf+ckgAEZoawLdXzEJDWyTCfyjpU6ZNdkgANsVSzNHB/l7w== 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 Received: from MWHPR1001MB2158.namprd10.prod.outlook.com (2603:10b6:301:2d::17) by MN2PR10MB4399.namprd10.prod.outlook.com (2603:10b6:208:1d9::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5373.16; Mon, 27 Jun 2022 23:47:40 +0000 Received: from MWHPR1001MB2158.namprd10.prod.outlook.com ([fe80::cc2a:4481:ace5:26ca]) by MWHPR1001MB2158.namprd10.prod.outlook.com ([fe80::cc2a:4481:ace5:26ca%3]) with mapi id 15.20.5373.018; Mon, 27 Jun 2022 23:47:40 +0000 From: Indu Bhagat To: binutils@sourceware.org Subject: [PATCH,RFC,V4 2/8] gas: add new command line option --gctf-frame Date: Mon, 27 Jun 2022 16:47:13 -0700 Message-Id: <20220627234719.718083-3-indu.bhagat@oracle.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20220627234719.718083-1-indu.bhagat@oracle.com> References: <20220627234719.718083-1-indu.bhagat@oracle.com> Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: MWHPR01CA0033.prod.exchangelabs.com (2603:10b6:300:101::19) To MWHPR1001MB2158.namprd10.prod.outlook.com (2603:10b6:301:2d::17) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: f92cb405-b1e8-4758-8228-08da58976b52 X-MS-TrafficTypeDiagnostic: MN2PR10MB4399:EE_ X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 0G2azNpM6bSDq1K/rXH8bxriZgmtgrnPlulQZ34r7KQtdNhDNRO6TFlGfRRqv/A6OWulOEEmnyturoj9OhcL2Hqk+kKT/OsGt303215WDa9dSDkwbMdvDKVWNdF2eYJzjRJFi2bwNvvsWrwsMBqs1nUr/ku+LDXIPjpA/7gCoEapcAc9PAcWCnWC5W7+EXjjRBkv9n+3D7wBB23O8xyUFSXvwY7GSdRHkv9xGBA7Zb1VSBEEMnfLzW+1q7eXHsYQ6ebQXR0JaJuViUG4LbIG4AJnSXEHiGY9t0ZLtSTprBF59YWLaJ4wHIivauKkBD8BKUoQapLOcZBOY97/ZTtkT94CJ2y36vlGJCV1S96yvSALDHX5YMktfQ8YXpn2AwJ+Z3oPBEAfIHYpZ8R4NCY9OAc013DnRTgn0wKJqS68EFqdWS9anz/aP6m62LKiltw/Nd+X5WFGyDJQ0a3wUbpnUH3dsFXfOqotbXVUnE+obmA2cVTyhvd5R9j/awH4BBA+dlpgBsmGpKmN8BKgDA/TP670g+tol2WACyRzDDIeT7l4GnIe6OXsFtjRAZ4v5LVXNkNDghvSH6aCzPiiMphJ1lvm40hx3VB/uQ7Q3DUIzvUg4PHMd0MLSeEuei0LqGqdWPMFqihy6RaOjNIxlVnga0pFQItB9vc33hnBfh02KhaKlx8RBbpe7BwEUYjbCyIWaYLSUPofsAny+JApNm3PqzLO+Hes0eq21xu+7c35Z3Yh0RO9lhLVcUn/WNz/Mk4KfiWTlEI+mHSLUI/+T+dMzIIuRWP7DWxc/O2p+A3mHMw= 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:(13230016)(366004)(39860400002)(396003)(136003)(376002)(346002)(186003)(2616005)(6916009)(86362001)(8936002)(41300700001)(6486002)(1076003)(52116002)(316002)(36756003)(6666004)(2906002)(8676002)(6506007)(44832011)(83380400001)(38100700002)(66556008)(26005)(66946007)(66476007)(478600001)(38350700002)(5660300002)(6512007); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?OIA0xoJ0FXxkXiUdmINbBXr9TaZpeEic14TSv35cwI8ap8aLqiQULoMZFYfY?= =?us-ascii?Q?ZwfKXI1I0+8GT7tFZK22tVHTEnRpaNv86aFBVwAFZHxj3M/dUJKQSmoA40t0?= =?us-ascii?Q?fVjlaLZNMFWEvWvYPTtWrGkDwzdi2Xg9moCtdwFQMm/FzQWjbmr4gekTnRcb?= =?us-ascii?Q?uN2y5weSxKSCOpU3M2zEhjY9DFibDOH1STBs2FDWPIF4pXVqP/W7LxBusxYZ?= =?us-ascii?Q?LGH/HqEh4X1WvrTqL4VEk+7OJUl//wdbPygaKeUzYJLmeCeYbdG6gVJvCRD/?= =?us-ascii?Q?T0mQdHJsI42nCFO5erdqnPl6uaNhAkqH/5STZfY2pmYtFSaCyjL1zC8wSQ25?= =?us-ascii?Q?bht/N9j/WOjvx/fM3Zbe0ThCOOkKF/un7LlzXpVoMhjw+0f0cUiZ7W0bgHV3?= =?us-ascii?Q?yU3uR5uduCTNoDe+YG/cD7OfYer+/W+P9BgDl39Q3lTU/qHVVRSwYkQp+fcE?= =?us-ascii?Q?rDfiUx8hgAPe7UTK9vKqmtoqa81wOfyQNLe2vpMw7BUz/7FmHA7G7c9/3MAd?= =?us-ascii?Q?kuEuDG6ZhUdYvyqkOyLPEa7/i8HKsoGR+IxWxP2phq5PtkcQJnkvY7cA++k2?= =?us-ascii?Q?k+9DcH4xDocbUlafn/oL9is6JJZdL8fTm83B/hUp2RmUFFEQOyhz2EOSPpAv?= =?us-ascii?Q?HDJCC8UQTFkWQzhMpOtqPhmanlCFwRvl9J3idikhRjNoggJMTGKFgb6scXY5?= =?us-ascii?Q?ah6mNoGAS1ZnBdhlODx4qOjLC37R+Dp8oGECfjgb6Wolnz+cl3Thny043VkQ?= =?us-ascii?Q?SWIpDbZxBmrs3Onq8mNreBjrqJKrOBV5pHjrk2hDAPS0oMvST5HNxpGqjs5O?= =?us-ascii?Q?LHDZVe+18c1zU4tL3EhOlYXKMuPJQXRrB4WuJmnfAribiLQhLJPyH1QLrP2+?= =?us-ascii?Q?Tz2WIPuJ1ENPbQhqXvOVIFLmZDREoWvPpztH3X/wgzETB5IrKSC2sp+Ghjkb?= =?us-ascii?Q?fBz5AcM3jYfSts3wXz+HvL2ESbA2IBFzW+KXrslkw/nM7mv+Zxu2D5QmDdET?= =?us-ascii?Q?HjxXnOLod3TAUC54WPzzSB0DasGns1PcLFAB8sIDeAZknrcCbG2N5T7DDk6s?= =?us-ascii?Q?1CJ7bL0h+lcthdm4yVVOJhHmyq77C+yOZBOmcNyGPPYJfEvURvibccahbl11?= =?us-ascii?Q?MT7qHMzNWtoan0Qb9fPo+lhr0PYqInvbYb5yr+SFhc3lpOAQIgtfwj6jSGTi?= =?us-ascii?Q?0LLsBJUYbLyR7lu+6jJ4W4RPGaE0/EMkK5fbPirxp2QnI/tHKbhvBF16ysoN?= =?us-ascii?Q?k0pZQUfYlp6JK0zkFwybszYryguyEaYNQLKCobSQwQs4GraI/oPvILlB9NEI?= =?us-ascii?Q?U0z0gXC5WUGdPbzIuC99IAX+tHrNrX9mLoDZkdO3yxIOG6+KVQqfLLTLpnjE?= =?us-ascii?Q?ogsFW7T+lDFTtudd3GozF+fE156VkzofIFtqUFXPRrFj77gKEvIeJA/hXMYE?= =?us-ascii?Q?s3n0kBmtqkCf/v6mA6C3d2exR4tY1rvWDzyQ/B/uvz72qLCm06xlRED9ZaUU?= =?us-ascii?Q?polbLRftJYnH+gVWEWZI8RU0UMt9Drv7e3HcrXYHZbCbwMHYWkOz2FiVlXVs?= =?us-ascii?Q?Ygz/ZPBGMp1zGUuNQR0e26BEF9WAz9jr/IMJQxmR?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: f92cb405-b1e8-4758-8228-08da58976b52 X-MS-Exchange-CrossTenant-AuthSource: MWHPR1001MB2158.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jun 2022 23:47:39.1628 (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: iyIbKPlGq4c6P2aeHrZVBALjV4rGPLUq0El2PEHlgGO7Nuj8w6/twreg7m3Hs/kvIPNg1qoSOxa92288rKaEbg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR10MB4399 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.517, 18.0.883 definitions=2022-06-27_06:2022-06-24, 2022-06-27 signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0 bulkscore=0 spamscore=0 malwarescore=0 suspectscore=0 mlxlogscore=999 adultscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2204290000 definitions=main-2206270096 X-Proofpoint-ORIG-GUID: 28ji9-M7C13qoo17z6yGc5C-CXPeJHNh X-Proofpoint-GUID: 28ji9-M7C13qoo17z6yGc5C-CXPeJHNh X-Spam-Status: No, score=-13.1 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_NONE, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: binutils@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 27 Jun 2022 23:47:45 -0000 [No changes from V3] When --gctf-frame is specified, the assembler will generate a .ctf_frame section from the CFI directives in the assembly. ChangeLog: * gas/as.c (parse_args): Parse args and set flag_gen_ctf_frame. * gas/as.h: Introduce skeleton for --gctf-frame. * gas/doc/as.texi: document --gctf-frame. --- gas/as.c | 10 +++++++++- gas/as.h | 3 +++ gas/doc/as.texi | 5 +++++ 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/gas/as.c b/gas/as.c index 0262a6fec98..c7e18cd6d9b 100644 --- a/gas/as.c +++ b/gas/as.c @@ -331,6 +331,8 @@ Options:\n\ #endif fprintf (stream, _("\ generate GNU Build notes if none are present in the input\n")); + fprintf (stream, _("\ + --gctf-frame generate CTF Frame unwind info\n")); #endif /* OBJ_ELF */ fprintf (stream, _("\ @@ -504,7 +506,8 @@ parse_args (int * pargc, char *** pargv) OPTION_COMPRESS_DEBUG, OPTION_NOCOMPRESS_DEBUG, OPTION_NO_PAD_SECTIONS, - OPTION_MULTIBYTE_HANDLING /* = STD_BASE + 40 */ + OPTION_MULTIBYTE_HANDLING, /* = STD_BASE + 40 */ + OPTION_CTF_FRAME /* When you add options here, check that they do not collide with OPTION_MD_BASE. See as.h. */ }; @@ -535,6 +538,7 @@ parse_args (int * pargc, char *** pargv) ,{"elf-stt-common", required_argument, NULL, OPTION_ELF_STT_COMMON} ,{"sectname-subst", no_argument, NULL, OPTION_SECTNAME_SUBST} ,{"generate-missing-build-notes", required_argument, NULL, OPTION_ELF_BUILD_NOTES} + ,{"gctf-frame", no_argument, NULL, OPTION_CTF_FRAME} #endif ,{"fatal-warnings", no_argument, NULL, OPTION_WARN_FATAL} ,{"gdwarf-2", no_argument, NULL, OPTION_GDWARF_2} @@ -1008,6 +1012,10 @@ This program has absolutely no warranty.\n")); optarg); break; + case OPTION_CTF_FRAME: + flag_gen_ctf_frame = 1; + break; + #endif /* OBJ_ELF */ case 'Z': diff --git a/gas/as.h b/gas/as.h index 470a2e52891..e819c10865b 100644 --- a/gas/as.h +++ b/gas/as.h @@ -329,6 +329,9 @@ COMMON int flag_execstack; /* TRUE if .note.GNU-stack section with SEC_CODE should be created */ COMMON int flag_noexecstack; +/* TRUE if .ctf_frame section should be created. */ +COMMON int flag_gen_ctf_frame; + /* name of emitted object file */ COMMON const char *out_file_name; diff --git a/gas/doc/as.texi b/gas/doc/as.texi index 09b0ca5f565..c74b9eee3d6 100644 --- a/gas/doc/as.texi +++ b/gas/doc/as.texi @@ -245,6 +245,7 @@ gcc(1), ld(1), and the Info entries for @file{binutils} and @file{ld}. [@b{--sectname-subst}] [@b{--size-check=[error|warning]}] [@b{--elf-stt-common=[no|yes]}] [@b{--generate-missing-build-notes=[no|yes]}] + [@b{--gctf-frame}] [@b{--multibyte-handling=[allow|warn|warn-sym-only]}] [@b{--target-help}] [@var{target-options}] [@b{--}|@var{files} @dots{}] @@ -825,6 +826,10 @@ attribute notes if none are present in the input sources. The default can be controlled by the @option{--enable-generate-build-notes} configure option. +@item --gctf-frame +@itemx --gctf-frame +Create @var{.ctf_frame} section from CFI directives. + @end ifset @item --help -- 2.31.1