pragma: handle default name/fallback handler for NULL list; cleanups
commit1dd926e8cedb2ec9664d28fea4cd929dc006b1cd
authorH. Peter Anvin <hpa@zytor.com>
Mon, 30 Sep 2019 20:14:29 +0000 (30 13:14 -0700)
committerH. Peter Anvin <hpa@zytor.com>
Mon, 30 Sep 2019 20:30:15 +0000 (30 13:30 -0700)
tree6f24a09fc461a50908fe49b5d53f80cc2b26b9f1
parent9781db8906a769507a85280829c42dfe7b02f600
pragma: handle default name/fallback handler for NULL list; cleanups

The previous code would fail to process any directive if the directive
list was NULL. However, we also need to process the default name
passed to search_pragma_list() (e.g. "elf32"), as well as the global
name (e.g. "output") and call the default handler in that case.

In the process, improve the handling such that if one handler returns
DIRR_UNKNOWN, try calling subsequent handlers in the list.

Finally, factor out as much as possible to generic handlers.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
asm/pragma.c