From: Jan Beulich Date: Fri, 22 Dec 2023 08:35:52 +0000 (+0100) Subject: hppa/ELF: fix .text/.data interaction with .previous X-Git-Tag: binutils-2_42~427 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=1124f3d536e5e03c3fd433c41b947fc49674c0cf;p=thirdparty%2Fbinutils-gdb.git hppa/ELF: fix .text/.data interaction with .previous For some ELF targets .text/.data are overridden. In that case obj_elf_{text,data}() need calling, just like .code vectors to that function for the remaining ELF targets. While there also hand on the function arguments, even if right now they're meaningless. This matches what other targets' code does. --- diff --git a/gas/config/tc-hppa.c b/gas/config/tc-hppa.c index 2e5de070b94..aabb1470315 100644 --- a/gas/config/tc-hppa.c +++ b/gas/config/tc-hppa.c @@ -6199,7 +6199,7 @@ pa_callinfo (int unused ATTRIBUTE_UNUSED) label when finished. */ static void -pa_text (int unused ATTRIBUTE_UNUSED) +pa_text (int arg) { #ifdef OBJ_SOM current_space = is_defined_space ("$TEXT$"); @@ -6207,21 +6207,32 @@ pa_text (int unused ATTRIBUTE_UNUSED) = pa_subsegment_to_subspace (current_space->sd_seg, 0); #endif - s_text (0); +#ifdef OBJ_ELF + obj_elf_text (arg); +#else + s_text (arg); +#endif + pa_undefine_label (); } /* Switch to the data space. As usual delete our label. */ static void -pa_data (int unused ATTRIBUTE_UNUSED) +pa_data (int arg) { #ifdef OBJ_SOM current_space = is_defined_space ("$PRIVATE$"); current_subspace = pa_subsegment_to_subspace (current_space->sd_seg, 0); #endif - s_data (0); + +#ifdef OBJ_ELF + obj_elf_data (arg); +#else + s_data (arg); +#endif + pa_undefine_label (); }