Files
gcc/include
Max Filippov ecb575d09c gcc: xtensa: allow dynamic configuration
Import include/xtensa-dynconfig.h that defines XCHAL_* macros as fields
of a structure returned from the xtensa_get_config_v<x> function call.
Define that structure and fill it with default parameter values
specified in the include/xtensa-config.h.
Define reusable function xtensa_load_config that tries to load
configuration and return an address of an exported object from it.
Define the function xtensa_get_config_v1 that uses xtensa_load_config
to get structure xtensa_config_v1, either dynamically configured or the
default.

Provide essential XCHAL_* configuration parameters as __XCHAL_* built-in
macros. This way it will be possible to use them in libgcc and libc
without need to patch libgcc or libc source for the specific xtensa core
configuration.

gcc/
	* config.gcc (xtensa*-*-*): Add xtensa-dynconfig.o to extra_objs.
	* config/xtensa/t-xtensa (TM_H): Add xtensa-dynconfig.h.
	(xtensa-dynconfig.o): New rule.
	* config/xtensa/xtensa-dynconfig.c: New file.
	* config/xtensa/xtensa-protos.h (xtensa_get_config_strings): New
	declaration.
	* config/xtensa/xtensa.h (xtensa-config.h): Replace #include
	with xtensa-dynconfig.h
	(XCHAL_HAVE_MUL32_HIGH, XCHAL_HAVE_RELEASE_SYNC)
	(XCHAL_HAVE_S32C1I, XCHAL_HAVE_THREADPTR)
	(XCHAL_HAVE_FP_POSTINC): Drop definitions.
	(TARGET_DIV32): Replace with __XCHAL_HAVE_DIV32.
	(TARGET_CPU_CPP_BUILTINS): Add new 'builtin' variable and loop
	through string array returned by the xtensa_get_config_strings
	function call.

include/
	* xtensa-dynconfig.h: New file.
2022-12-07 10:00:48 -08:00
..
2022-01-03 10:42:10 +01:00
2022-10-31 09:34:22 -07:00
2022-11-16 00:17:09 +00:00
2022-01-03 10:42:10 +01:00
2022-01-03 10:42:10 +01:00
2022-01-03 10:42:10 +01:00
2022-01-03 10:42:10 +01:00
2022-01-03 10:42:10 +01:00
2022-01-03 10:42:10 +01:00
2022-01-03 10:42:10 +01:00
2022-01-03 10:42:10 +01:00
2022-01-03 10:42:10 +01:00
2022-01-03 10:42:10 +01:00
2022-01-03 10:42:10 +01:00
2022-01-03 10:42:10 +01:00
2022-05-10 16:04:30 +02:00
2022-01-03 10:42:10 +01:00
2022-01-03 10:42:10 +01:00
2022-01-03 10:42:10 +01:00
2022-01-03 10:42:10 +01:00
2022-01-03 10:42:10 +01:00
2022-01-03 10:42:10 +01:00
2022-01-03 10:42:10 +01:00
2022-01-03 10:42:10 +01:00
2022-01-03 10:42:10 +01:00
2022-01-03 10:42:10 +01:00
2022-01-03 10:42:10 +01:00
2022-01-03 10:42:10 +01:00
2022-01-03 10:42:10 +01:00
2022-01-03 10:42:10 +01:00
2022-01-03 10:42:10 +01:00
2022-01-03 10:42:10 +01:00