https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89361
Bug ID: 89361
Summary: [7/8/9 Regression] s390 broken without
S390_USE_TARGET_ATTRIBUTE, likely since r257489
Product: gcc
Version: 9.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: jakub at gcc dot gnu.org
Target Milestone: ---
When configuring s390x-linux with old binutils or without binutils, when
HAVE_AS_MACHINE_MACHINEMODE is not defined, the resulting compiler is totally
broken.
The problem is that s390_indirect_branch_settings is never called in that case,
so cfun->machine->indirect_branch_{jump,call} and
cfun->machine->function_return_{reg,mem} are indirect_branch_unset / 0 and thus
it emits unconditionally the indirect branch stuff, regardless of what options
user actually used.