- --stub-group-size=N Maximum size of a group of input sections that can be\n\
- handled by one stub section. A negative value\n\
- locates all stubs after their branches (with a\n\
- group size of -N), while a positive value allows\n\
- two groups of input sections, one before, and one\n\
- after each stub section. Values of +/-1 indicate\n\
- the linker should choose suitable defaults.\n"
- ));
+ --stub-group-size=N Maximum size of a group of input sections that\n\
+ can be handled by one stub section. A negative\n\
+ value locates all stubs after their branches\n\
+ (with a group size of -N), while a positive\n\
+ value allows two groups of input sections, one\n\
+ before, and one after each stub section.\n\
+ Values of +/-1 indicate the linker should\n\
+ choose suitable defaults.\n"));
+ fprintf (file, _(" --fix-cortex-a53-835769 Fix erratum 835769\n"));
+ fprintf (file, _("\
+ --fix-cortex-a53-843419[=full|adr|adrp] Fix erratum 843419 and optionally specify which workaround to use.\n\
+ full (default): Use both ADRP and ADR workaround, this will \n\
+ increase the size of your binaries.\n\
+ adr: Only use the ADR workaround, this will not cause any increase\n\
+ in binary size but linking will fail if the referenced address is\n\
+ out of range of an ADR instruction. This will remove the need of using\n\
+ a veneer and results in both performance and size benefits.\n\
+ adrp: Use only the ADRP workaround, this will never rewrite your ADRP\n\
+ instruction into an ADR. As such the workaround will always use a\n\
+ veneer and this will give you both a performance and size overhead.\n"));
+ fprintf (file, _(" --no-apply-dynamic-relocs Do not apply link-time values for dynamic relocations\n"));
+ fprintf (file, _(" -z force-bti Turn on Branch Target Identification mechanism and generate PLTs with BTI. Generate warnings for missing BTI on inputs\n"));
+ fprintf (file, _(" -z pac-plt Protect PLTs with Pointer Authentication.\n"));
+'
+
+PARSE_AND_LIST_ARGS_CASE_Z_AARCH64='
+ else if (strcmp (optarg, "force-bti") == 0)
+ {
+ plt_type |= PLT_BTI;
+ bti_type = BTI_WARN;
+ }
+ else if (strcmp (optarg, "pac-plt") == 0)
+ plt_type |= PLT_PAC;