Project

General

Profile

Actions

Feature #14749

closed

gcc10 build should use -ftoplevel-reorder

Added by Andy Fiddaman 12 months ago. Updated 5 months ago.

Status:
Closed
Priority:
Low
Assignee:
Category:
-
Start date:
Due date:
% Done:

0%

Estimated time:
Difficulty:
Medium
Tags:
Gerrit CR:
External Bug:

Description

As noted in #14422, one way in which the artifacts produced by gcc10 differ from those produced by gcc7 is that gcc10 is not removing unused static functions.
Enabling the optimisation option -ftoplevel-reorder resolves that specific problem (unused static functions are removed) but also has the side-effect of performing constant folding on many static global variables, resulting in the loss of a number of tunables which may or may not be useful; see the list below.

Obviously it also means that top-level functions, variables, and asm statements are no longer output in the same order they are declared, which may break some assumptions - further testing is necessary there.

extern bfe_cards_t bfe_cards1;
extern boolean_t daplka_accounting_enabled;
extern boolean_t dmfe_reclaim_on_done;
extern boolean_t lbolt_cyc_only;
extern boolean_t sctp_do_reclaim;
extern boolean_t tcp_do_reclaim;
extern boolean_t tcp_icmp_source_quench;
extern boolean_t tcp_outbound_squeue_switch;
extern caddr_t dir;
extern caddr_t ftb;
extern caddr_t pid;
extern caddr_t symlink;
extern caddr_t symlink_dir;
extern caddr_t symlink_path;
extern char e1000g_version19;
extern char pchars128;
extern char sata_rev_tag5;
extern char sd_log_buf1024;
extern char svctype_invalid_chars3;
extern clock_t ahci_watchdog_timeout;
extern clock_t au_resid;
extern clock_t daplka_cm_delay;
extern clock_t rfs4_lock_delay;
extern clock_t spt_pcache_wait;
extern clock_t st_wait_cmds_complete;
extern const ECCurveParams ecCurve_NIST_B163;
extern const ECCurveParams ecCurve_NIST_B233;
extern const ECCurveParams ecCurve_NIST_B283;
extern const ECCurveParams ecCurve_NIST_B409;
extern const ECCurveParams ecCurve_NIST_B571;
extern const ECCurveParams ecCurve_NIST_K163;
extern const ECCurveParams ecCurve_NIST_K233;
extern const ECCurveParams ecCurve_NIST_K283;
extern const ECCurveParams ecCurve_NIST_K409;
extern const ECCurveParams ecCurve_NIST_K571;
extern const ECCurveParams ecCurve_NIST_P192;
extern const ECCurveParams ecCurve_NIST_P224;
extern const ECCurveParams ecCurve_NIST_P256;
extern const ECCurveParams ecCurve_NIST_P384;
extern const ECCurveParams ecCurve_NIST_P521;
extern const ECCurveParams ecCurve_SECG_CHAR2_113R1;
extern const ECCurveParams ecCurve_SECG_CHAR2_113R2;
extern const ECCurveParams ecCurve_SECG_CHAR2_131R1;
extern const ECCurveParams ecCurve_SECG_CHAR2_131R2;
extern const ECCurveParams ecCurve_SECG_CHAR2_163R1;
extern const ECCurveParams ecCurve_SECG_CHAR2_193R1;
extern const ECCurveParams ecCurve_SECG_CHAR2_193R2;
extern const ECCurveParams ecCurve_SECG_CHAR2_239K1;
extern const ECCurveParams ecCurve_SECG_PRIME_112R1;
extern const ECCurveParams ecCurve_SECG_PRIME_112R2;
extern const ECCurveParams ecCurve_SECG_PRIME_128R1;
extern const ECCurveParams ecCurve_SECG_PRIME_128R2;
extern const ECCurveParams ecCurve_SECG_PRIME_160K1;
extern const ECCurveParams ecCurve_SECG_PRIME_160R1;
extern const ECCurveParams ecCurve_SECG_PRIME_160R2;
extern const ECCurveParams ecCurve_SECG_PRIME_192K1;
extern const ECCurveParams ecCurve_SECG_PRIME_224K1;
extern const ECCurveParams ecCurve_SECG_PRIME_256K1;
extern const ECCurveParams ecCurve_WTLS_1;
extern const ECCurveParams ecCurve_WTLS_8;
extern const ECCurveParams ecCurve_WTLS_9;
extern const ECCurveParams ecCurve_X9_62_CHAR2_PNB163V1;
extern const ECCurveParams ecCurve_X9_62_CHAR2_PNB163V2;
extern const ECCurveParams ecCurve_X9_62_CHAR2_PNB163V3;
extern const ECCurveParams ecCurve_X9_62_CHAR2_PNB176V1;
extern const ECCurveParams ecCurve_X9_62_CHAR2_PNB208W1;
extern const ECCurveParams ecCurve_X9_62_CHAR2_PNB272W1;
extern const ECCurveParams ecCurve_X9_62_CHAR2_PNB304W1;
extern const ECCurveParams ecCurve_X9_62_CHAR2_PNB368W1;
extern const ECCurveParams ecCurve_X9_62_CHAR2_TNB191V1;
extern const ECCurveParams ecCurve_X9_62_CHAR2_TNB191V2;
extern const ECCurveParams ecCurve_X9_62_CHAR2_TNB191V3;
extern const ECCurveParams ecCurve_X9_62_CHAR2_TNB239V1;
extern const ECCurveParams ecCurve_X9_62_CHAR2_TNB239V2;
extern const ECCurveParams ecCurve_X9_62_CHAR2_TNB239V3;
extern const ECCurveParams ecCurve_X9_62_CHAR2_TNB359V1;
extern const ECCurveParams ecCurve_X9_62_CHAR2_TNB431R1;
extern const ECCurveParams ecCurve_X9_62_PRIME_192V2;
extern const ECCurveParams ecCurve_X9_62_PRIME_192V3;
extern const ECCurveParams ecCurve_X9_62_PRIME_239V1;
extern const ECCurveParams ecCurve_X9_62_PRIME_239V2;
extern const ECCurveParams ecCurve_X9_62_PRIME_239V3;
extern const auth_id_name_t aint2;
extern const char _AcpiModuleName10;
extern const char _AcpiModuleName11;
extern const char _AcpiModuleName12;
extern const char _AcpiModuleName5;
extern const char _AcpiModuleName6;
extern const char _AcpiModuleName7;
extern const char _AcpiModuleName8;
extern const char _AcpiModuleName9;
extern const int IPNET_MINOR_LO;
extern const int IPNET_MINOR_MIN;
extern const int ZONE_SYSCALL_API_VERSION;
extern const int _ctf_nerr;
extern const int _mcamd_nerr;
extern const int _mdb_nerr;
extern const int _nprop;
extern const int mii_reg_size;
extern const int nameln;
extern const int nvme_version_major;
extern const int scsi_probe_strict_s2_size;
extern const int sd_disk_table_size;
extern const int sd_flash_dev_table_size;
extern const ipha_t icmp_ipha;
extern const ldterm_cs_data_t default_cs_data;
extern const nge_desc_attr_t nge_hot_desc;
extern const nge_desc_attr_t nge_sum_desc;
extern const size_t io_pbcksplen;
extern const size_t io_peraselen;
extern const size_t io_promptlen;
extern const struct ecore_blocks_parity_data40;
extern const struct mcp_attn_ctl_regs6;
extern const struct scalar_mul2_consts;
extern const struct ecore_dcbx_app_metadata ecore_dcbx_app_update6;
extern const struct hd_param hd_param_all;
extern const struct ieee80211_rateset iwh_rateset_11b;
extern const struct ieee80211_rateset iwh_rateset_11g;
extern const struct ieee80211_rateset iwk_rateset_11b;
extern const struct ieee80211_rateset iwk_rateset_11g;
extern const struct ieee80211_rateset iwn_rateset_11a;
extern const struct ieee80211_rateset iwn_rateset_11b;
extern const struct ieee80211_rateset iwn_rateset_11g;
extern const struct ieee80211_rateset rt2560_rateset_11a;
extern const struct ieee80211_rateset rt2560_rateset_11b;
extern const struct ieee80211_rateset rt2560_rateset_11g;
extern const struct ieee80211_rateset rt2860_rateset_11b;
extern const struct ieee80211_rateset rt2860_rateset_11g;
extern const struct ieee80211_rateset rtw_rateset_11b;
extern const struct ieee80211_rateset rum_rateset_11a;
extern const struct ieee80211_rateset rum_rateset_11b;
extern const struct ieee80211_rateset rum_rateset_11g;
extern const struct ieee80211_rateset uath_rateset_11b;
extern const struct ieee80211_rateset uath_rateset_11g;
extern const struct ieee80211_rateset ural_rateset_11a;
extern const struct ieee80211_rateset ural_rateset_11b;
extern const struct ieee80211_rateset ural_rateset_11g;
extern const struct ieee80211_rateset urtw_rateset_11b;
extern const struct ieee80211_rateset urtw_rateset_11g;
extern const struct ieee80211_rateset wpi_rateset_11b;
extern const struct ieee80211_rateset wpi_rateset_11g;
extern const struct ieee80211_rateset zyd_rateset_11b;
extern const struct ieee80211_rateset zyd_rateset_11g;
extern const struct igu_data igu_address_e1;
extern const struct igu_data igu_address_e1h;
extern const struct igu_data igu_address_e2;
extern const struct igu_data igu_address_e3;
extern const struct igu_data igu_address_e3b0;
extern const struct in6_addr in6addr_any;
extern const struct prn_timeouts prn_timeouts_default;
extern const struct reg_addr idle_addrs265;
extern const struct reg_addr page_read_regs_e11;
extern const struct reg_addr page_read_regs_e1h1;
extern const struct reg_addr page_read_regs_e21;
extern const struct reg_addr page_read_regs_e31;
extern const struct reg_addr reg_addrs1056;
extern const struct reg_addr split_reg_addrs80;
extern const struct timeval nlm_rpctv_zero;
extern const struct vfc_general vfc_general_t_e1;
extern const struct vfc_general vfc_general_t_e1h;
extern const struct vfc_general vfc_general_t_e2;
extern const struct vfc_general vfc_general_t_e3;
extern const struct vfc_general vfc_general_t_e3b0;
extern const struct vfc_general vfc_general_x_e1;
extern const struct vfc_general vfc_general_x_e1h;
extern const struct vfc_general vfc_general_x_e2;
extern const struct vfc_general vfc_general_x_e3;
extern const struct vfc_general vfc_general_x_e3b0;
extern const struct vfc_read_task vfc_task_t_e2;
extern const struct vfc_read_task vfc_task_t_e3;
extern const struct vfc_read_task vfc_task_t_e3b0;
extern const struct vfc_read_task vfc_task_x_e2;
extern const struct vfc_read_task vfc_task_x_e3;
extern const struct vfc_read_task vfc_task_x_e3b0;
extern const struct vfc_read_write_vector vfc_vectors_t_e21049;
extern const struct vfc_read_write_vector vfc_vectors_t_e31049;
extern const struct vfc_read_write_vector vfc_vectors_t_e3b01049;
extern const struct vfc_read_write_vector vfc_vectors_x_e21049;
extern const struct vfc_read_write_vector vfc_vectors_x_e31049;
extern const struct vfc_read_write_vector vfc_vectors_x_e3b01049;
extern const struct wreg_addr wreg_addrs_e11;
extern const struct wreg_addr wreg_addrs_e1h1;
extern const struct wreg_addr wreg_addrs_e21;
extern const struct wreg_addr wreg_addrs_e31;
extern const struct wreg_addr wreg_addrs_e3b01;
extern const u16 init_ops_offsets174;
extern const u16 init_ops_size;
extern const u32 page_vals_e11;
extern const u32 page_vals_e1h1;
extern const u32 page_vals_e22;
extern const u32 page_vals_e32;
extern const u32 page_write_regs_e11;
extern const u32 page_write_regs_e1h1;
extern const u32 page_write_regs_e21;
extern const u32 page_write_regs_e31;
extern const u32 read_reg_e1_01;
extern const u32 read_reg_e1h_02;
extern const u32 read_reg_e2_02;
extern const u32 read_reg_e3_02;
extern const u32 read_reg_e3b0_02;
extern const u32 timer_scan_regs_e12;
extern const u32 timer_scan_regs_e1h2;
extern const u32 timer_scan_regs_e22;
extern const u32 timer_scan_regs_e32;
extern const u32 timer_scan_regs_e3b02;
extern const u32 timer_status_regs_e12;
extern const u32 timer_status_regs_e1h2;
extern const u32 timer_status_regs_e22;
extern const u32 timer_status_regs_e32;
extern const u32 timer_status_regs_e3b02;
extern const u32_t MAX_GRC_OFFSET;
extern const uint16_t amdzen_nb_ids4;
extern const uint32_t FILENO;
extern const uint32_t t_rc10;
extern const uint64_t all_5;
extern const uint64_t all_a;
extern const uint64_t low_3;
extern const uint64_t mid_4;
extern const uint64_t top_1;
extern const uint8_t tsc_ords_duration12;
extern const unsigned char ansiX962c2onb191v48;
extern const unsigned char ansiX962c2onb191v58;
extern const unsigned char ansiX962c2onb239v48;
extern const unsigned char ansiX962c2onb239v58;
extern dacf_op_t kmod_op_test1;
extern ddi_dma_attr_t qede_dma_attr_cmddesc;
extern ddi_dma_attr_t qede_gen_dma_attr_desc;
extern dnode_phys_t dnode_phys_zero;
extern enum sizecheck sizecheckvar;
extern ether_addr_st etherbroadcastaddr;
extern ether_addr_st etherzeroaddr;
extern gid_t IA_gid;
extern hrrate_t pageout_rate;
extern hrtime_t pageout_cycle_nsec;
extern hrtime_t power_button_abort_interval;
extern hrtime_t power_button_debounce;
extern hrtime_t sbp2_cfgrom_read_delay;
extern hrtime_t txn_cleanup_interval;
extern hrtime_t ufs_dc_disable_duration;
extern ibt_mr_flags_t srpt_dbuf_mr_flags;
extern ibt_wr_ds_t null_sgl;
extern in6_addr_t ipv6_ll_template;
extern int acache4_hashlen;
extern int arn_dwelltime;
extern int asy_trig_level;
extern int async_list_size;
extern int ata_watchdog_usec;
extern int atapi_arq_enable;
extern int atapi_use_static_geometry;
extern int ath_dwelltime;
extern int autofs_nobrowse;
extern int autofs_unmount_thread_timer;
extern int autofs_unmount_threads;
extern int bge_intr_max_loop;
extern int block_mask;
extern int cardbus_autocfg_enabled;
extern int cardbus_command_default;
extern int cardbus_reset_wait;
extern int clnt_clts_do_bindresvport;
extern int clnt_cots_pulls;
extern int clnt_rdma_min_delay;
extern int confirm_retry_sec;
extern int cyc_trace_enabled;
extern int dadk_check_media_time;
extern int dadk_dk_maxphys;
extern int daplka_apm;
extern int daplka_dbg;
extern int daplka_dbgsize;
extern int daplka_failback;
extern int daplka_km_flags;
extern int daplka_query_aft_setaltpath;
extern int dcpc_aframes;
extern int deadman_panic_timers;
extern int debug_level_g;
extern int debug_mask;
extern int detach_with_active_port;
extern int dev_devfsadm_startup;
extern int dev_node_wait_timeout;
extern int devinfo_log_size;
extern int di_max_opens;
extern int di_prop_dyn;
extern int dldebug;
extern int dmu_recv_end_modified_blocks;
extern int dmult_maxcnt;
extern int do_bar0;
extern int dumpbuf_fraction;
extern int dumplog;
extern int ecpp_def_timeout;
extern int ecpp_isr_max_delay;
extern int encoding;
extern int ereport_cols;
extern int fcoe_trace_buf_size;
extern int fcoe_trace_on;
extern int fcp_log_size;
extern int fcp_lun_ready_retry;
extern int fcp_max_bus_config_retries;
extern int fcp_max_target_retries;
extern int fcp_trace;
extern int fcp_watchdog_timeout;
extern int fcsm_max_cmd_retries;
extern int fcsm_max_job_retries;
extern int fcsm_offline_ticker;
extern int fcsm_retry_interval;
extern int fcsm_retry_ticker;
extern int flc_kstat;
extern int fp_cmd_wait_cnt;
extern int fp_log_size;
extern int fp_retry_count;
extern int fp_retry_delay;
extern int fp_trace;
extern int fwlog_level;
extern int gcdb_hash_size;
extern int gcgrp_hash_size;
extern int hashlen;
extern int hsched_coalesce_min;
extern int hsfs_taskq_nthreads;
extern int hsfs_use_dnlc;
extern int ilb_conn_cache_timeout;
extern int ilb_conn_timer_size;
extern int ilb_sticky_timeout;
extern int ilb_sticky_timer_size;
extern int ino_hashlen;
extern int inst_sync_disable;
extern int iommulib_debug;
extern int ipd_nactive_fudge;
extern int iportmap_csync_usec;
extern int iportmap_stable_usec;
extern int is_msi_supported;
extern int kcpc_nullctx_panic;
extern int kmem_zerosized;
extern int lofi_taskq_maxalloc;
extern int lofi_taskq_nthreads;
extern int log_event_debug;
extern int max_keylen;
extern int mdi_async_config_idle_time;
extern int mdi_bus_config_cache_hash_size;
extern int mdi_client_table_size;
extern int mdi_mtc_off;
extern int mdi_path_discovery_boot;
extern int mdi_path_discovery_interval;
extern int mdi_path_discovery_postboot;
extern int mdi_pathmap_hash_size;
extern int mdi_vhcache_flush_daemon_idle_time;
extern int mdi_vhcache_flush_delay;
extern int mptsas_enable_mpi25_flashupdate;
extern int mrsas_debug_tbolt_fw_faults_after_ocr;
extern int nc_high;
extern int nc_low;
extern int nc_med;
extern int ndi_event_debug;
extern int netstack_initialized;
extern int nfs3_do_symlink_cache;
extern int nfs3_dynamic;
extern int nfs3_lookup_neg_cache;
extern int nfs3_max_transfer_size;
extern int nfs3_nra;
extern int nfs3_pathconf_disable_cache;
extern int nfs3_shrinkreaddir;
extern int nfs4_acl_client_consume;
extern int nfs4_acl_client_produce;
extern int nfs4_acl_debug;
extern int nfs4_acl_server_consume;
extern int nfs4_acl_server_produce;
extern int nfs4_do_symlink_cache;
extern int nfs4_lookup_neg_cache;
extern int nfs4_max_mount_retry;
extern int nfs4_nra;
extern int nfs4_num_prognums;
extern int nfs4_pathconf_disable_cache;
extern int nfs4_readdir_cache_hits;
extern int nfs4_readdir_cache_misses;
extern int nfs4_readdir_cache_waits;
extern int nfs4_trigger_thread_timer;
extern int nfs_do_symlink_cache;
extern int nfs_dynamic;
extern int nfs_lookup_neg_cache;
extern int nfs_nra;
extern int nfs_portmon;
extern int nfs_shrinkreaddir;
extern int nfs_write_error_to_cons_only;
extern int nfslog_dispatch_table_arglen;
extern int nfslog_num_bytes_to_write;
extern int nfslog_num_records_to_write;
extern int nlm_prog_3_dtsize;
extern int nlm_prog_4_dtsize;
extern int nostore_key_gen;
extern int nvpbusy;
extern int overrun_msg;
extern int pcihp_cpci_blue_led;
extern int pcihp_cpci_board_type;
extern int pcihp_cpci_led_blink;
extern int pcihp_enum_scan_all;
extern int pcishpc_reset_delay;
extern int phymap_stable_usec;
extern int phymode;
extern int physpeed;
extern int pid_hashlen;
extern int power_button_abort_enable;
extern int power_button_abort_presses;
extern int power_button_enable;
extern int push_drcompat;
extern int ql_flash_sbus_fpga;
extern int ql_ip_mtu;
extern int qmerge1pri;
extern int qmerge2wayscan;
extern int qmerge_max_merge;
extern int rdsv3_allow_intr_msgs;
extern int rdsv3_buffer_dprintf;
extern int rdsv3_msix_pool_cnt;
extern int rdsv3_suppress_dprintf;
extern int recov_err_delay;
extern int rfs3_readdir_unit;
extern int rfs4_deleg_wlp;
extern int rfs4_max_setup_cb_tries;
extern int rfs4_maxlock_tries;
extern int rfs4_reap_interval;
extern int rfs_write_async;
extern int rnode4_hashlen;
extern int rtw_macbangbits_timeout;
extern int sa_legacy_attr_count;
extern int sas_phymap_phy_max_factor;
extern int sata_default_pkt_time;
extern int scsi_watch_io_time;
extern int sd_check_media_time;
extern int sd_failfast_flushctl;
extern int sd_pm_idletime;
extern int sd_qfull_throttle_timeout;
extern int sd_reset_throttle_timeout;
extern int sd_taskq_maxalloc;
extern int sd_taskq_minalloc;
extern int sd_wait_cmds_complete;
extern int sdt_verbose;
extern int send_batch_count;
extern int seq_contig_requests;
extern int serializer_credit;
extern int si_watchdog_timeout;
extern int skip_non_hw;
extern int skip_pseudo;
extern int st_allow_large_xfer;
extern int st_check_media_time;
extern int st_io_time;
extern int st_long_space_time_x;
extern int st_long_timeout_x;
extern int st_max_contig_mem_num;
extern int st_max_throttle;
extern int st_report_soft_errors_on_close;
extern int st_retry_count;
extern int st_selection_retry_count;
extern int st_space_time;
extern int stealcow;
extern int store_debug;
extern int strict_iso9660_ordering;
extern int swap_nopage;
extern int sync_retries;
extern int tcp_max_init_cwnd;
extern int tcp_tx_pull_len;
extern int tgtmap_csync_usec;
extern int tgtmap_stable_usec;
extern int tmp_nopage;
extern int ufs_clean_root;
extern int ufs_directio_zero_len;
extern int usbecm_tx_max;
extern int usbprn_max_xfer_size;
extern int vhci_bus_config_debug;
extern int vhci_path_quiesce_timeout;
extern int vhci_uscsi_delay;
extern int vhci_uscsi_retry_count;
extern int x86_error_init_tbl_len;
extern int xattr_lookup_neg_cache;
extern int xbuf_attr_tq_maxalloc;
extern int xbuf_attr_tq_minalloc;
extern int zfs_arc_min_prefetch_ms;
extern int zfs_arc_min_prescient_prefetch_ms;
extern int zfs_vdev_mirror_non_rotating_inc;
extern int zfs_vdev_mirror_non_rotating_seek_inc;
extern int zfs_vdev_mirror_rotating_inc;
extern int zfs_vdev_mirror_rotating_seek_inc;
extern int zfs_vdev_mirror_rotating_seek_offset;
extern intptr_t qmerge_sync2async;
extern kcondvar_t refreshq_cv;
extern kmutex_t e_pm_power_lock;
extern kmutex_t refreshq_lock;
extern kmutex_t rfs_async_write_lock;
extern kthread_id_t nvpflush_thread;
extern list_t refreshq_queue;
extern long nacache;
extern long phy_lock_timeout;
extern long rom_lock_timeout;
extern long rom_max_timeout;
extern long vmem_update_interval;
extern metaslab_ops_t metaslab_cf_ops;
extern metaslab_ops_t metaslab_ndf_ops;
extern minor_t crypto_minor_chunk;
extern pgcnt_t looppages;
extern pgcnt_t maxslowscan;
extern pri_t streams_lopri;
extern raidz_impl_kstat_t raidz_impl_kstats6;
extern size_t combined_node_name_table_size;
extern size_t device_node_name_table_size;
extern size_t dumpbuf_limit;
extern size_t ia_node_name_table_size;
extern size_t if_node_name_table_size;
extern size_t ilb_conn_hash_size;
extern size_t ilb_nat_src_hash_size;
extern size_t ilb_rule_hash_size;
extern size_t ilb_sticky_hash_size;
extern size_t space_hash_nchains;
extern struct ath_mac_bb_names6;
extern struct ath_rf_names5;
extern struct AcpiOSIFeature_s AcpiOSIFeatures2;
extern struct cardbus_name_entry cardbus_class_lookup42;
extern struct cln_bit_position st_cln_bit_position3;
extern struct el entity_list68;
extern struct japan_bandcheck j_bandcheck4;
extern struct mch_error_code fat_fbd_error_code4;
extern struct mch_error_code fat_fsb_error_code3;
extern struct mch_error_code fat_rp_5400_error_code1;
extern struct mch_error_code fat_rp_error_code1;
extern struct mch_error_code fat_thr_error_code2;
extern struct mch_error_code nf_fsb_error_code3;
extern struct mch_error_code nf_thr_error_code3;
extern struct mch_error_code rp_pex_5400_error_code2;
extern struct mch_error_code rp_pex_error_code2;
extern struct nfslog_prog_disp nfslog_dispatch_table2;
extern time_t svc_rpc_gss_active_delta;
extern time_t svc_rpc_gss_inactive_delta;
extern time_t svc_rpcgss_gid_timeout;
extern time_t sweep_interval;
extern timeout_id_t flush_tid;
extern timeout_id_t nvpflush_id;
extern timeout_id_t rnd_timeout_id;
extern trie daddr6_trie;
extern trie daddr_trie;
extern trie dport_trie;
extern trie saddr6_trie;
extern trie saddr_trie;
extern trie sport_trie;
extern u32 t5_pcie_cdbg_array2[4];
extern u32 t5_pcie_config_array14[2];
extern u32 t5_pcie_pdbg_array3[4];
extern u32 t5_pm_rx_array2[4];
extern u32 t5_pm_tx_array2[4];
extern u32 t5_sge_dbg_index_array9[4];
extern u32 t5_tp_mib_index_array9[4];
extern u32 t5_tp_pio_array11[4];
extern u32 t5_tp_tm_pio_array1[4];
extern u32 t5_up_cim_reg_array13[4];
extern u32 t6_hma_ireg_array1[4];
extern u32 t6_ma_ireg_array22[4];
extern u32 t6_ma_ireg_array3[4];
extern u32 t6_tp_mib_index_array6[4];
extern u32 t6_tp_pio_array12[4];
extern u32 t6_tp_tm_pio_array1[4];
extern u32 t6_up_cim_reg_array13[4];
extern uchar_t fp_verbosity;
extern uchar_t max_dev_pci;
extern uint16_t bge_dma_miss_limit;
extern uint16_t iwk_eep_band_56;
extern uint16_t usbms_buf_bytes;
extern uint32_t bge_autorecover;
extern uint32_t bge_dma_rwctrl;
extern uint32_t bge_dma_rwctrl_5714;
extern uint32_t bge_dma_rwctrl_5715;
extern uint32_t bge_dma_rwctrl_5721;
extern uint32_t bge_dma_wrprio;
extern uint32_t bge_dmad_hi_water;
extern uint32_t bge_dmad_lo_water;
extern uint32_t bge_lowat_recv_frames;
extern uint32_t bge_mbuf_hi_water;
extern uint32_t bge_mbuf_lo_water_rdma;
extern uint32_t bge_mbuf_lo_water_rmac;
extern uint32_t bge_mbuf_pool_base;
extern uint32_t bge_mbuf_pool_base_5704;
extern uint32_t bge_mbuf_pool_base_5705;
extern uint32_t bge_mbuf_pool_base_5721;
extern uint32_t bge_mbuf_pool_len;
extern uint32_t bge_mbuf_pool_len_5704;
extern uint32_t bge_mbuf_pool_len_5705;
extern uint32_t bge_mbuf_pool_len_5721;
extern uint32_t bge_mlcr_default_5714;
extern uint32_t bge_replenish_jumbo;
extern uint32_t bge_replenish_mini;
extern uint32_t bge_replenish_std;
extern uint32_t bge_rx_count_intr;
extern uint32_t bge_rx_ticks_intr;
extern uint32_t bge_stop_start_on_sync;
extern uint32_t bge_tx_count_intr;
extern uint32_t bge_tx_ticks_intr;
extern uint32_t bge_watchdog_count;
extern uint32_t cardbus_min_spare_io;
extern uint32_t cardbus_min_spare_mem;
extern uint32_t daplka_max_cq_percent;
extern uint32_t daplka_max_mr_percent;
extern uint32_t daplka_max_mw_percent;
extern uint32_t daplka_max_pd_percent;
extern uint32_t daplka_max_qp_percent;
extern uint32_t daplka_max_srq_percent;
extern uint32_t dmfe_bus_modes;
extern uint32_t dmfe_rx_desc;
extern uint32_t dmfe_setup_desc1;
extern uint32_t dmfe_tick_us;
extern uint32_t dmfe_tx100_stall_us;
extern uint32_t dmfe_tx10_stall_us;
extern uint32_t dmfe_tx_desc;
extern uint32_t dmfe_tx_int_factor;
extern uint32_t dmfe_tx_min_free;
extern uint32_t dmfe_tx_reclaim_level;
extern uint32_t emlxs_disable_traffic_cop;
extern uint32_t evch_bindings_max;
extern uint32_t fp_options;
extern uint32_t fp_unsol_buf_count;
extern uint32_t fp_unsol_buf_size;
extern uint32_t ilb_conn_tcp_expiry;
extern uint32_t ilb_conn_udp_expiry;
extern uint32_t ilb_sticky_expiry;
extern uint32_t ipp_max_action;
extern uint32_t ipp_max_mod;
extern uint32_t maxnestupimx;
extern uint32_t nge_watchdog_check;
extern uint32_t nge_watchdog_count;
extern uint32_t nxge_supported_cl22_ids2;
extern uint32_t pcicfg_max_device;
extern uint32_t pcicfg_max_function;
extern uint32_t rdma_bufs_rqst;
extern uint32_t rfs4_database_debug;
extern uint32_t rge_autorecover;
extern uint32_t rge_rx_watchdog_count;
extern uint32_t rge_watchdog_count;
extern uint32_t sctp_min_assoc_listener;
extern uint32_t sd_xbuf_active_limit;
extern uint32_t sd_xbuf_reserve_limit;
extern uint32_t tcp_drop_ack_unsent_cnt;
extern uint32_t tcp_init_wnd_chk;
extern uint32_t tcp_min_conn_listener;
extern uint32_t tcp_random_anon_port;
extern uint32_t uncerrsev10;
extern uint64_t cache_watermark;
extern uint64_t errorq_vitalmin;
extern uint64_t max_unsignaled_rws;
extern uint64_t pageout_sample_lim;
extern uint8_t hs_first_byte_mark7;
extern uint8_t oce_tx_hash_policy;
extern uint8_t ql_enable_pm;
extern uint8_t scsi_ioctl_list3;
extern uint_t aggsum_borrow_multiplier;
extern uint_t clts_rcstat_ndata;
extern uint_t clts_rsstat_ndata;
extern uint_t di_chunk;
extern uint_t ehci_intr_complete_split_mask7;
extern uint_t eib_lso_num_bufs;
extern uint_t hubd_device_delay;
extern uint_t hubd_dip_cleanup_delay;
extern uint_t hubd_retry_enumerate;
extern uint_t hubdi_bus_config_debug;
extern uint_t ipp_packet_classes;
extern uint_t ipp_packet_log_entries;
extern uint_t ipp_packet_logging;
extern uint_t loopfraction;
extern uint_t max_percent_cpu;
extern uint_t mdi_taskq_n_threads;
extern uint_t min_percent_cpu;
extern uint_t nfs3_async_clusters;
extern uint_t nfs3_cots_timeo;
extern uint_t nfs3_max_transfer_size_clts;
extern uint_t nfs3_max_transfer_size_cots;
extern uint_t nfs3_max_transfer_size_rdma;
extern uint_t nfs4_async_clusters;
extern uint_t nfs4_cots_timeo;
extern uint_t nfs4_trigger_mount_to;
extern uint_t nfs_async_clusters;
extern uint_t nfs_cots_timeo;
extern uint_t rd_maxphys;
extern uint_t rfsv4disp_cnt;
extern uint_t sbd_write_same_optimal_chunk;
extern uint_t sysdc_param_init;
extern uint_t uftdi_attach_unrecognized;
extern uint_t usb_ac_extension_item;
extern uint_t usb_ac_feature_item;
extern uint_t usb_ac_header_item;
extern uint_t usb_ac_input_term_item;
extern uint_t usb_ac_mixer_item;
extern uint_t usb_ac_output_term_item;
extern uint_t usb_ac_processing_item;
extern uint_t usb_ac_selector_item;
extern uint_t usb_as_ep_item;
extern uint_t usb_as_format_item;
extern uint_t usb_as_if_item;
extern uint_t usb_ccid_item;
extern uint_t usb_cfg_item;
extern uint_t usb_ep_item;
extern uint_t usb_ep_ss_comp_item;
extern uint_t usb_hid_item;
extern uint_t usb_ia_item;
extern uint_t usb_if_item;
extern uint_t usb_qlf_item;
extern uint_t usb_str_item;
extern uint_t usb_vc_extension_item;
extern uint_t usb_vc_header_item;
extern uint_t usb_vc_input_term_item;
extern uint_t usb_vc_output_term_item;
extern uint_t usb_vc_processing_item;
extern uint_t usb_vc_selector_item;
extern uint_t usb_vs_2frame_item;
extern uint_t usb_vs_color_matching_item;
extern uint_t usb_vs_format_dv_item;
extern uint_t usb_vs_format_mjpeg_item;
extern uint_t usb_vs_format_mp2ts_item;
extern uint_t usb_vs_format_uncps_item;
extern uint_t usb_vs_input_header_item;
extern uint_t usb_vs_output_header_item;
extern uint_t usb_vs_still_image_item;
extern uint_t usb_wa_item;
extern ulong_t dhcp_max_completed_txn;
extern ulong_t dhcp_max_pending_txn;
extern ulong_t slaac_max_allowed;
extern ulong_t svntr_hashtab_sz;
extern unsigned char bitc256;
extern unsigned int ipd_max_delay;
extern unsigned int minimum_timeo3;
extern unsigned long rdsv3_sysctl_reconnect_min;
extern ushort_t nfs3_max_threads;
extern ushort_t nfs4_max_threads;
extern ushort_t nfs_max_threads;
extern ushort_t ppb_command_default;

Related issues

Related to illumos gate - Bug #6420: rd_percent_physmem is a tunable and should not be staticNew2015-10-31

Actions
Related to illumos gate - Feature #14421: use GCC 10 as default primary compilerClosed

Actions
Related to illumos gate - Bug #14422: gcc10 build does not remove unused static functionsClosed

Actions
Actions #1

Updated by Andy Fiddaman 12 months ago

  • Related to Bug #6420: rd_percent_physmem is a tunable and should not be static added
Actions #2

Updated by Andy Fiddaman 12 months ago

  • Related to Feature #14421: use GCC 10 as default primary compiler added
Actions #3

Updated by Andy Fiddaman 12 months ago

  • Related to Bug #14422: gcc10 build does not remove unused static functions added
Actions #4

Updated by Andy Fiddaman 5 months ago

  • Status changed from New to Closed

I'm closing this as something we don't want to do. The overhead of the few remaining unused static functions is low and the utility of the tunables that would be removed is unknown but could be high. Additionally there is a problem with the way that modules like ip maintain lists of expected global symbols and validate against them - if we enabled this then we would also need a way to use different lists for primary and shadow compiler builds. There's also the question of analysing what the compiler would do if it was allowed to do top-level re-ordering since we are rather fond of being able to debug things easily.

Actions

Also available in: Atom PDF