From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by sourceware.org (Postfix) with ESMTPS id 153143858C39 for ; Fri, 26 Nov 2021 15:46:20 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 153143858C39 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-501-zN3HX7GINMKtxY5H0AyWAg-1; Fri, 26 Nov 2021 10:46:16 -0500 X-MC-Unique: zN3HX7GINMKtxY5H0AyWAg-1 Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 6FE7F2F23; Fri, 26 Nov 2021 15:46:15 +0000 (UTC) Received: from tucnak.zalov.cz (unknown [10.39.192.23]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 09C8860BF4; Fri, 26 Nov 2021 15:46:14 +0000 (UTC) Received: from tucnak.zalov.cz (localhost [127.0.0.1]) by tucnak.zalov.cz (8.16.1/8.16.1) with ESMTPS id 1AQFkCn93964865 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Fri, 26 Nov 2021 16:46:12 +0100 Received: (from jakub@localhost) by tucnak.zalov.cz (8.16.1/8.16.1/Submit) id 1AQFkBmu3964863; Fri, 26 Nov 2021 16:46:11 +0100 Date: Fri, 26 Nov 2021 16:46:11 +0100 From: Jakub Jelinek To: Florian Weimer Cc: libc-alpha@sourceware.org, Adhemerval Zanella , gcc-patches@gcc.gnu.org Subject: Re: [PATCH v2] elf: Add _dl_find_object function Message-ID: <20211126154611.GI2646553@tucnak> Reply-To: Jakub Jelinek References: <87wnkwj7nh.fsf@oldenburg.str.redhat.com> MIME-Version: 1.0 In-Reply-To: <87wnkwj7nh.fsf@oldenburg.str.redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=us-ascii Content-Disposition: inline X-Spam-Status: No, score=-5.7 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_NONE, TXREP autolearn=unavailable autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 26 Nov 2021 15:46:21 -0000 On Thu, Nov 25, 2021 at 09:35:14PM +0100, Florian Weimer wrote: > +struct dl_find_object > +{ > + unsigned long long int dlfo_flags; /* Currently 0. */ > + void *dlfo_map_start; /* Beginning of mapping containing address. */ > + void *dlfo_map_end; /* End of mapping. */ > + struct link_map *dlfo_link_map; > + void *dlfo_eh_frame; /* Exception handling data of the object. */ > +# if DLFO_STRUCT_HAS_EH_DBASE > + void *dlfo_eh_dbase; /* Base address for DW_EH_PE_datarel. */ > +# endif > +# if DLFO_STRUCT_HAS_EH_COUNT > + int dlfo_eh_count; /* Number of exception handling entries. */ > +# endif > +}; I must say I still don't really like these conditionally included fields, if in the future one needs some of them on some other architecture, we'd need to add another API or symbol version it etc. Couldn't whether those fields should be filled with some special values or if just 0 should be stored there be determined by some non-exported internal macros and just store 0 otherwise? Jakub