Hello,
I noticed that the following static read-only object gets optimized away
if optimization is enabled:
/* Generate the pointer to the gcov_info_var in a dedicated section. */
static void
build_gcov_info_var_registration (tree gcov_info_type)
{
tree var = build_decl (BUILTINS_LOCATION,
VAR_DECL, NULL_TREE,
build_pointer_type (gcov_info_type));
TREE_STATIC (var) = 1;
TREE_READONLY (var) = 1;
char name_buf[32];
ASM_GENERATE_INTERNAL_LABEL (name_buf, "LPBX", 2);
DECL_NAME (var) = get_identifier (name_buf);
get_section (profile_info_section, SECTION_UNNAMED, NULL);
set_decl_section_name (var, profile_info_section);
DECL_INITIAL (var) = build_fold_addr_expr (gcov_info_var);
varpool_node::finalize_decl (var);
}
I tried to add a TREE_USED (var) = 1, but this seems to have no effect.
Could someone give me a hint what needs to be added so that this object
is created? The object is placed in a linker set.
--
embedded brains GmbH
Herr Sebastian HUBER
Dornierstr. 4
82178 Puchheim
Germany
email: sebastian.hu...@embedded-brains.de
phone: +49-89-18 94 741 - 16
fax: +49-89-18 94 741 - 08
Registergericht: Amtsgericht München
Registernummer: HRB 157899
Vertretungsberechtigte Geschäftsführer: Peter Rasmussen, Thomas Dörfler
Unsere Datenschutzerklärung finden Sie hier:
https://embedded-brains.de/datenschutzerklaerung/