summaryrefslogtreecommitdiff
path: root/term
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2020-03-31 20:19:47 +0000
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2020-03-31 20:19:47 +0000
commitf9cb35bcb40fd9a2a553469242189871fd558f87 (patch)
tree477b8b8fa7fd344652a088ec7a5cb9a83c2c85e3 /term
parent23193fd35c9eaf20d794a7cc231f7c2a931a6378 (diff)
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 #
Diffstat (limited to 'term')
-rw-r--r--term/main.c22
-rw-r--r--term/term.h42
2 files changed, 43 insertions, 21 deletions
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 <sys/ioctl.h> or <hurd/ioctl_types.h> 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;