[PATCH v5 02/20] gas: move code for object attribute parsing into obj-elf-attr.c
Matthieu Longo
matthieu.longo@arm.com
Wed Jul 9 15:32:09 GMT 2025
On 2025-07-09 15:07, Jan Beulich wrote:
> On 07.07.2025 18:49, Matthieu Longo wrote:
>> --- /dev/null
>> +++ b/gas/config/obj-elf-attr.h
>> @@ -0,0 +1,52 @@
>> +/* Object attributes parsing.
>> + Copyright (C) 2025 Free Software Foundation, Inc.
>> +
>> + This file is part of GAS, the GNU Assembler.
>> +
>> + GAS is free software; you can redistribute it and/or modify
>> + it under the terms of the GNU General Public License as published by
>> + the Free Software Foundation; either version 3, or (at your option)
>> + any later version.
>> +
>> + GAS is distributed in the hope that it will be useful,
>> + but WITHOUT ANY WARRANTY; without even the implied warranty of
>> + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
>> + GNU General Public License for more details.
>> +
>> + You should have received a copy of the GNU General Public License
>> + along with GAS; see the file COPYING. If not, write to the Free
>> + Software Foundation, 51 Franklin Street - Fifth Floor, Boston, MA
>> + 02110-1301, USA. */
>> +
>> +#ifndef _OBJ_ELF_ATTR_H
>> +#define _OBJ_ELF_ATTR_H
>> +
>> +#include "as.h"
>> +#include "bfd/elf-bfd.h"
>> +
>> +/* The target supports Object Attributes v1. */
>> +#if OBJ_ELF \
>> + && (defined (TC_ARC) \
>> + || defined (TC_ARM) \
>> + || defined (TC_CSKY) \
>> + || defined (TC_M68K) \
>> + || defined (TC_MIPS) \
>> + || defined (TC_MSP430) \
>> + || defined (TC_PPC) \
>> + || defined (TC_RISCV) \
>> + || defined (TC_S390) \
>> + || defined (TC_SPARC) \
>> + || defined (TC_TIC6X))
>> +#define TC_OBJ_ATTR 1
>> +#endif
>
> Now things are even less correct, according to my understanding. TC_*
> should not be defined outside of tc-*.h, except to provide a fallback
> definition (if / when necessary).
>
> (I didn't look at the patch as a whole yet, I just noticed this when
> reading through Richard's comments.)
>
> Jan
I grouped the definition of TC_OBJ_ATTR (and TC_OBJ_ATTR_v1 and
TC_OBJ_ATTR_v2 in the next patch) here because otherwise it means that I
need to change the tc-<arch>.h of 11 targets (12 if I add tc-aarch64.h).
Do we want to scatter the definition of the support of OAv1, OAv2 and
TC_OBJ_ATTR to 12 files ? On one hand, it makes things more difficult to
understand. On the other hand, I understand the logic of wanting to
group all the configuration stuffs into one file for a given target.
Please can you confirm if you want me to move the definition to the 11
tc-<arch>.h files ?
Matthieu
More information about the Binutils
mailing list