From f9cb35bcb40fd9a2a553469242189871fd558f87 Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Tue, 31 Mar 2020 20:19:47 +0000 Subject: Fix build with -fno-common which will be the default in gcc-10. * acpi/acpifs.h (fs, acpifs_maptime): Add extern qualifier. * boot/private.h (verbose): Likewise. * eth-multiplexer/netfs_impl.h (multiplexer_maptime): Likewise. * eth-multiplexer/vdev.h (port_bucket, vdev_portclass): Likewise. * exec/priv.h (port_bucket, execboot_portclass): Likewise. * ext2fs/ext2fs.h (sblock, sblock_dirty, block_size, log2_block_size, log2_dev_blocks_per_fs_block, log2_stat_blocks_per_fs_block, zeroblock, frag_size, frags_per_block, inodes_per_block, itb_per_group, db_per_group, desc_per_block, addr_per_block, groups_count, node_to_page_lock, generation_lock, next_generation, group_desc_image, global_pokel, modified_global_blocks, use_xattr_translator_records): Likewise. * hostmux/hostmux.h (hostmux_maptime): Likewise. * isofs/isofs.h (host_name, mounted_on, disk_image, disk_image_len, logical_block_size, sblock): Likewise. * libdiskfs/diskfs.h (diskfs_shortcut_symlink, diskfs_shortcut_chrdev, diskfs_shortcut_blkdev, diskfs_shortcut_fifo, diskfs_shortcut_ifsock, diskfs_create_symlink_hook, diskfs_read_symlink_hook): Likewise. * libnetfs/callbacks.h (_netfs_translator_callback1, _netfs_translator_callback2): Likewise. * libnetfs/priv.h (netfs_mtime): Likewise. * libpager/priv.h (_pager_class): Likewise. * libtrivfs/trivfs.h (trivfs_check_access_hook, trivfs_check_open_hook, trivfs_open_hook, trivfs_protid_create_hook, trivfs_peropen_create_hook, trivfs_protid_destroy_hook, trivfs_peropen_destroy_hook, trivfs_getroot_hook): Likewise. * lwip/lwip-hurd.h (lwip_bucket, socketport_class, addrport_class, shutdown_notify_class, lwip_protid_portclasses, lwip_cntl_portclasses, lwip_bootstrap_portclass, fsys_identity, lwipcntl, lwip_owner, lwip_group): Likewise. * lwip/port/include/netif/hurdtunif.h (tunnel_cntlclass, tunnel_class): Likewise. * nfs/nfs.h (main_udp_socket, hostname, mapped_time): Likewise. * nfsd/nfsd.h (mapped_time, authserver): Likewise. * pci-arbiter/pcifs.h (fs, pcifs_maptime): Likewise. * pci-arbiter/startup.h (pci_shutdown_notify_class, arrange_shutdown_notification): Likewise. * pfinet/pfinet.h (pfinet_bucket, addrport_class, socketport_class, fsys_identity, pfinetctl, pfinet_owner, pfinet_group): Likewise. * pflocal/sserver.h (sock_port_bucket): Likewise. * proc/proc.h (authserver, self_proc, init_proc, startup_proc, proc_bucket, proc_class, generic_port_class, exc_class, generic_port, kernel_proc, global_lock): Likewise. * term/term.h (termstate, termflags, global_lock, carrier_alert, select_alert, pty_select_alert, term_bucket, tty_cntl_class, tty_class, cttyid_class, pty_class, pty_cntl_class, termctl, ptyctl, inputq, rawq, outputq, remote_input_mode, external_processing, term_owner, term_group, term_mode, bottom): Likewise. * usermux/usermux.h (usermux_maptime): Likewise. * utils/msgids.h (msgid_argp): Likewise. * libdiskfs/priv.h (_diskfs_mtime): Remove definition. * lwip/options.h (lwip_argp): Add prototype. * mach-defpager/priv.h (partitions): Name structure. (all_partitions): Add extern qualifier. * acpi/main.c (acpifs_maptime, fs): New variables. * exec/main.c (port_bucket, execboot_portclass): Likewise. * ext2fs/ext2fs.c (sblock, sblock_dirty, block_size, log2_block_size, log2_dev_blocks_per_fs_block, log2_stat_blocks_per_fs_block, frag_size, frags_per_block, inodes_per_block, itb_per_group, db_per_group, desc_per_block, addr_per_block, groups_count, next_generation, group_desc_image, global_pokel, use_xattr_translator_records): Likewise. * isofs/main.c (host_name, mounted_on, logical_block_size, sblock): Likewise. * libpager/pager-create.c (_pager_class): Likewise. * lwip/port/netif/hurdtunif.c (tunnel_cntlclass, tunnel_class): Likewise. * mach-defpager/default_pager.c (all_partitions): Likewise. * nfs/main.c (main_udp_socket, hostname, mapped_time): Likewise. * nfsd/main.c (mapped_time, authserver): Likewise. * pci-arbiter/main.c (fs, pcifs_maptime): Likewise. * pci-arbiter/startup.c (*pci_shutdown_notify_class): Likewise. * pfinet/main.c (pfinetctl, pfinet_owner, pfinet_group, pfinet_bucket, addrport_class, socketport_class, fsys_identity): Likewise. * proc/main.c (authserver, self_proc, init_proc, startup_proc, proc_bucket, proc_class, generic_port_class, exc_class, generic_port, kernel_proc, global_lock): Likewise. * term/main.c (termstate, termflags, global_lock, carrier_alert, select_alert, pty_select_alert, term_bucket, tty_cntl_class, tty_class, cttyid_class, pty_class, pty_cntl_class, termctl, ptyctl, outputq, remote_input_mode, external_processing, term_owner, term_group, term_mode, bottom): Likewise. * usermux/usermux.c (usermux_mapped_time): Rename to usermux_maptime. * lwip/main.c: Include "options.h". (lwip_argp, netif_list): Remove declarations. (lwip_bucket, socketport_class, addrport_class, shutdown_notify_class, lwip_cntl_portclasses, lwip_bootstrap_portclass, lwip_owner, lwip_group, fsys_identity, lwipcntl): New variables. * eth-multiplexer/multiplexer.c (multiplexer_maptime): Add variable. * hostmux/hostmux.c (hostmux_mapped_time): Rename variable to hostmux_maptime * libdiskfs/extra-version.c: Rename file to... * libdiskfs/priv.c: ... new file. (diskfs_shortcut_symlink, diskfs_shortcut_chrdev, diskfs_shortcut_blkdev, diskfs_shortcut_fifo, diskfs_shortcut_ifsock, diskfs_create_symlink_hook, diskfs_read_symlink_hook): Add weak variables. * libdiskfs/Makefile (OTHERSRCS): Replace extra-version.c with priv.c. * libtrivfs/priv.c: New file. * libtrivfs/Makefile (OTHERSRCS): Add priv.c * libcons/extra-version.c: Rename file to... * libcons/priv.c: ... new file. * libcons/Makefile (SRCS): Replace extra-version.c with priv.c. Fix build with # --- term/main.c | 22 ++++++++++++++++++++++ term/term.h | 42 +++++++++++++++++++++--------------------- 2 files changed, 43 insertions(+), 21 deletions(-) (limited to 'term') diff --git a/term/main.c b/term/main.c index 2813d528..99ce2c66 100644 --- a/term/main.c +++ b/term/main.c @@ -55,6 +55,28 @@ static const char *const tty_type_names[] = [T_PTYSLAVE] = "pty-slave", }; +struct termios termstate; +long termflags; +pthread_mutex_t global_lock; +pthread_cond_t carrier_alert; +pthread_cond_t select_alert; +pthread_cond_t *pty_select_alert; +struct port_bucket *term_bucket; +struct port_class *tty_cntl_class; +struct port_class *tty_class; +struct port_class *cttyid_class; +struct port_class *pty_class; +struct port_class *pty_cntl_class; +struct trivfs_control *termctl; +struct trivfs_control *ptyctl; +struct queue *inputq, *outputq; +int remote_input_mode; +int external_processing; +uid_t term_owner; +uid_t term_group; +mode_t term_mode; + +const struct bottomhalf *bottom; /* The argument line options. */ char *tty_name; diff --git a/term/term.h b/term/term.h index 9125e999..3984bd7f 100644 --- a/term/term.h +++ b/term/term.h @@ -72,10 +72,10 @@ #define MDMCTL_SET 2 /* Directly user-visible state */ -struct termios termstate; +extern struct termios termstate; /* Other state with the following bits: */ -long termflags; +extern long termflags; #define USER_OUTPUT_SUSP 0x00000001 /* user has suspended output */ #define TTY_OPEN 0x00000002 /* someone has us open */ @@ -97,58 +97,58 @@ long termflags; #define QUEUE_HIWAT 8100 /* Global lock */ -pthread_mutex_t global_lock; +extern pthread_mutex_t global_lock; /* Wakeup when NO_CARRIER turns off */ -pthread_cond_t carrier_alert; +extern pthread_cond_t carrier_alert; /* Wakeup for select */ -pthread_cond_t select_alert; +extern pthread_cond_t select_alert; /* Wakeup for pty select, if not null */ -pthread_cond_t *pty_select_alert; +extern pthread_cond_t *pty_select_alert; /* Bucket for all our ports. */ -struct port_bucket *term_bucket; +extern struct port_bucket *term_bucket; /* Port class for tty control ports */ -struct port_class *tty_cntl_class; +extern struct port_class *tty_cntl_class; /* Port class for tty I/O ports */ -struct port_class *tty_class; +extern struct port_class *tty_class; /* Port class for ctty ID ports */ -struct port_class *cttyid_class; +extern struct port_class *cttyid_class; /* Port class for pty master ports */ -struct port_class *pty_class; +extern struct port_class *pty_class; /* Port class for pty control ports */ -struct port_class *pty_cntl_class; +extern struct port_class *pty_cntl_class; /* Trivfs control structure for the tty */ -struct trivfs_control *termctl; +extern struct trivfs_control *termctl; /* Trivfs control structure for the pty */ -struct trivfs_control *ptyctl; +extern struct trivfs_control *ptyctl; /* The queues we use */ -struct queue *inputq, *rawq, *outputq; +extern struct queue *inputq, *rawq, *outputq; /* Plain pass-through input */ -int remote_input_mode; +extern int remote_input_mode; /* External processing mode */ -int external_processing; +extern int external_processing; /* Terminal owner */ -uid_t term_owner; +extern uid_t term_owner; /* Terminal group */ -uid_t term_group; +extern uid_t term_group; /* Terminal mode */ -mode_t term_mode; +extern mode_t term_mode; /* XXX Including or leads to "ECHO @@ -176,7 +176,7 @@ struct bottomhalf error_t (*mdmstate) (int *state); }; -const struct bottomhalf *bottom; +extern const struct bottomhalf *bottom; extern const struct bottomhalf devio_bottom, hurdio_bottom, ptyio_bottom; -- cgit v1.2.3