-
Notifications
You must be signed in to change notification settings - Fork 13.5k
ARM ELF parser does not recognize EABI attributes #15544
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Example: test.c: commandline: Errors: |
Since r193524, all LLVM-generated directives can be parsed and assembled. However, there are still some work to do. The eabi_attribute is not fully implemented. Following list of tags are not recognized: Tag_CPU_raw_name (NTBS) |
Is there any plan to support parsing named eabi_attributes in assembly to match gnu as (https://sourceware.org/binutils/docs/as/ARM-Directives.html)? For example, instead of |
Hi David, Yes, the plan is to support them all, but I don't know if anyone is looking at these particular examples you shown. Certainly, adding them to this bug would be a good help. Feel free to work on them, too, if you can. ;) --renato |
Here is the list of attribute tag names support by gnu as that I think we should also support: Tag_CPU_raw_name, Tag_CPU_name, Tag_CPU_arch, Tag_CPU_arch_profile, Tag_ARM_ISA_use, Tag_THUMB_ISA_use, Tag_FP_arch, Tag_WMMX_arch, Tag_Advanced_SIMD_arch, Tag_PCS_config, Tag_ABI_PCS_R9_use, Tag_ABI_PCS_RW_data, Tag_ABI_PCS_RO_data, Tag_ABI_PCS_GOT_use, Tag_ABI_PCS_wchar_t, Tag_ABI_FP_rounding, Tag_ABI_FP_denormal, Tag_ABI_FP_exceptions, Tag_ABI_FP_user_exceptions, Tag_ABI_FP_number_model, Tag_ABI_align_needed, Tag_ABI_align_preserved, Tag_ABI_enum_size, Tag_ABI_HardFP_use, Tag_ABI_VFP_args, Tag_ABI_WMMX_args, Tag_ABI_optimization_goals, Tag_ABI_FP_optimization_goals, Tag_compatibility, Tag_CPU_unaligned_access, Tag_FP_HP_extension, Tag_ABI_FP_16bit_format, Tag_MPextension_use, Tag_DIV_use, Tag_nodefaults, Tag_also_compatible_with, Tag_conformance, Tag_T2EE_use, Tag_Virtualization_use This list is taken from the document linked above. It also says, Note - the following legacy values are also accepted by tag: Tag_VFP_arch, Tag_ABI_align8_needed, Tag_ABI_align8_preserved, Tag_VFP_HP_extension, I'm not sure if we want to support those as well. |
Commit r198662 added all named tags. |
mentioned in issue llvm/llvm-bugzilla-archive#18926 |
Extended Description
With target 'arm-linux-androideabi' or 'arm-none-linux-gnueabi', clang cannot consume the ARM assembly it generates:
$ echo "void a(){}" | clang -x c -S - -o - | clang -x assembler -c - -integrated-as
:2:2: error: unknown directive
.eabi_attribute 6, 2
The text was updated successfully, but these errors were encountered: