libctf, link: add CTF_LINK_OMIT_VARIABLES_SECTION

This flag (not used anywhere yet) causes the variables section to be
omitted from the output CTF dict.

include/
	* ctf-api.h (CTF_LINK_OMIT_VARIABLES_SECTION): New.
libctf/
	* ctf-link.c (ctf_link_one_input_archive_member): Check
	CTF_LINK_OMIT_VARIABLES_SECTION.
This commit is contained in:
Nick Alcock 2020-06-05 22:52:41 +01:00
parent 0f0c11f7fc
commit e3e8411bec
4 changed files with 14 additions and 1 deletions

View file

@ -1,3 +1,7 @@
2020-07-22 Nick Alcock <nick.alcock@oracle.com>
* ctf-api.h (CTF_LINK_OMIT_VARIABLES_SECTION): New.
2020-07-22 Nick Alcock <nick.alcock@oracle.com>
* ctf-api.h (CTF_LINK_SHARE_DUPLICATED): No longer unimplemented.

View file

@ -90,6 +90,9 @@ typedef struct ctf_link_sym
emitted into them. */
#define CTF_LINK_EMPTY_CU_MAPPINGS 0x4
/* Omit the content of the variables section. */
#define CTF_LINK_OMIT_VARIABLES_SECTION 0x8
/* Symbolic names for CTF sections. */
typedef enum ctf_sect_names

View file

@ -1,3 +1,8 @@
2020-07-22 Nick Alcock <nick.alcock@oracle.com>
* ctf-link.c (ctf_link_one_input_archive_member): Check
CTF_LINK_OMIT_VARIABLES_SECTION.
2020-07-22 Nick Alcock <nick.alcock@oracle.com>
* ctf-impl.h (ctf_type_id_key): New, the key in the

View file

@ -685,7 +685,8 @@ ctf_link_one_input_archive_member (ctf_file_t *in_fp, const char *name, void *ar
arg->in_fp = in_fp;
if ((err = ctf_type_iter_all (in_fp, ctf_link_one_type, arg)) > -1)
err = ctf_variable_iter (in_fp, ctf_link_one_variable, arg);
if (!(in_fp->ctf_link_flags & CTF_LINK_OMIT_VARIABLES_SECTION))
err = ctf_variable_iter (in_fp, ctf_link_one_variable, arg);
arg->in_input_cu_file = 0;