[PATCH 19/22] hppa/ELF: fix .text/.data interaction with .previous

John David Anglin dave.anglin@bell.net
Fri Dec 15 16:37:32 GMT 2023


Tested on hppa-linux.  No regressions were observed.

Dave

On 2023-12-15 7:19 a.m., Jan Beulich wrote:
> 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.
>
> --- 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 ();
>   }
>   
>


-- 
John David Anglin  dave.anglin@bell.net



More information about the Binutils mailing list