--- ghc/rts/Linker.c.orig Sat Oct 9 13:50:54 2004 +++ ghc/rts/Linker.c Wed Nov 16 12:15:36 2005 @@ -67,6 +67,24 @@ #ifdef HAVE_UNISTD_H #include #endif +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #endif #endif @@ -309,6 +327,319 @@ Sym(closedir) #endif +#if defined(openbsd_TARGET_OS) +#define RTS_OPENBSD_ONLY_SYMBOLS \ + Sym(__guard) \ + Sym(environ) \ + Sym(errno) \ + Sym(__errno) \ + Sym(__stack_smash_handler) \ + SymX(_exit) \ + SymX(access) \ + SymX(accept) \ + SymX(acos) \ + SymX(alarm) \ + SymX(asin) \ + SymX(atan) \ + SymX(bind) \ + SymX(cfgetispeed) \ + SymX(cfgetospeed) \ + SymX(cfsetispeed) \ + SymX(cfsetospeed) \ + SymX(chdir) \ + SymX(chown) \ + SymX(chmod) \ + SymX(close) \ + SymX(closedir) \ + SymX(connect) \ + SymX(cos) \ + SymX(cosh) \ + SymX(creat) \ + SymX(ctermid) \ + SymX(endhostent) \ + SymX(endnetent) \ + SymX(endprotoent) \ + SymX(endservent) \ + SymX(dlclose) \ + SymX(dlerror) \ + SymX(dlopen) \ + SymX(dlsym) \ + SymX(dup) \ + SymX(dup2) \ + SymX(execl) \ + SymX(execv) \ + SymX(execve) \ + SymX(execvp) \ + SymX(exit) \ + SymX(exp) \ + SymX(fcntl) \ + SymX(fchdir) \ + SymX(fchmod) \ + SymX(fchown) \ + SymX(fork) \ + SymX(free) \ + SymX(fpathconf) \ + SymX(fstat) \ + SymX(ftruncate) \ + SymX(getcwd) \ + SymX(getegid) \ + SymX(getenv) \ + SymX(geteuid) \ + SymX(getgid) \ + SymX(getgrgid_r) \ + SymX(getgrnam_r) \ + SymX(getgroups) \ + SymX(gethostbyaddr) \ + SymX(gethostbyname) \ + SymX(gethostent) \ + SymX(gethostname) \ + SymX(getlogin) \ + SymX(getnetbyaddr) \ + SymX(getnetbyname) \ + SymX(getnetent) \ + SymX(getpeername) \ + SymX(getpgrp) \ + SymX(getpid) \ + SymX(getppid) \ + SymX(getpriority) \ + SymX(getprotobyname) \ + SymX(getprotobynumber) \ + SymX(getprotoent) \ + SymX(getrlimit) \ + SymX(getrusage) \ + SymX(getservbyname) \ + SymX(getservbyport) \ + SymX(getservent) \ + SymX(getsockname) \ + SymX(getsockopt) \ + SymX(getuid) \ + SymX(gettimeofday) \ + SymX(gmtime_r) \ + SymX(inet_addr) \ + SymX(inet_ntoa) \ + SymX(isatty) \ + SymX(iswalnum) \ + SymX(iswalpha) \ + SymX(iswcntrl) \ + SymX(iswdigit) \ + SymX(iswlower) \ + SymX(iswprint) \ + SymX(iswupper) \ + SymX(kill) \ + SymX(killpg) \ + SymX(link) \ + SymX(listen) \ + SymX(lchown) \ + SymX(localtime_r) \ + SymX(log) \ + SymX(lseek) \ + SymX(lstat) \ + SymX(malloc) \ + SymX(memcpy) \ + SymX(memset) \ + SymX(memmove) \ + SymX(mkfifo) \ + SymX(mktime) \ + SymX(mkdir) \ + SymX(mknod) \ + SymX(mkstemp) \ + SymX(nice) \ + SymX(open) \ + SymX(opendir) \ + SymX(pathconf) \ + SymX(pipe) \ + SymX(pow) \ + SymX(putenv) \ + SymX(read) \ + SymX(readdir) \ + SymX(readdir_r) \ + SymX(readlink) \ + SymX(realloc) \ + SymX(recv) \ + SymX(recvfrom) \ + SymX(recvmsg) \ + SymX(regcomp) \ + SymX(regexec) \ + SymX(regfree) \ + SymX(rename) \ + SymX(rewinddir) \ + SymX(rmdir) \ + SymX(seekdir) \ + SymX(select) \ + SymX(send) \ + SymX(sendmsg) \ + SymX(sendto) \ + SymX(setenv) \ + SymX(setgid) \ + SymX(sethostent) \ + SymX(setitimer) \ + SymX(setnetent) \ + SymX(setpgid) \ + SymX(setpriority) \ + SymX(setprotoent) \ + SymX(setrlimit) \ + SymX(setsid) \ + SymX(setservent) \ + SymX(setsockopt) \ + SymX(setuid) \ + SymX(shutdown) \ + SymX(sigemptyset) \ + SymX(sigfillset) \ + SymX(sigpending) \ + SymX(sigprocmask) \ + SymX(sigsuspend) \ + SymX(sin) \ + SymX(sinh) \ + SymX(sleep) \ + SymX(socket) \ + SymX(socketpair) \ + SymX(sqrt) \ + SymX(stat) \ + SymX(strchr) \ + SymX(strcpy) \ + SymX(strdup) \ + SymX(strerror) \ + SymX(strncmp) \ + SymX(symlink) \ + SymX(sysconf) \ + SymX(tan) \ + SymX(tanh) \ + SymX(tcdrain) \ + SymX(tcflow) \ + SymX(tcflush) \ + SymX(tcgetattr) \ + SymX(tcgetpgrp) \ + SymX(tcsendbreak) \ + SymX(tcsetattr) \ + SymX(tcsetpgrp) \ + SymX(telldir) \ + SymX(time) \ + SymX(times) \ + SymX(truncate) \ + SymX(ttyname) \ + SymX(towlower) \ + SymX(towupper) \ + SymX(umask) \ + SymX(uname) \ + SymX(unlink) \ + SymX(unsetenv) \ + SymX(usleep) \ + SymX(utime) \ + SymX(vfork) \ + SymX(waitpid) \ + SymX(write) \ + SymX(add_history) \ + SymX(readline) \ + SymX(rl_add_defun) \ + SymX(rl_add_undo) \ + SymX(rl_already_prompted) \ + SymX(rl_attempted_completion_function) \ + SymX(rl_basic_quote_characters) \ + SymX(rl_basic_word_break_characters) \ + SymX(rl_begin_undo_group) \ + SymX(rl_bind_key) \ + SymX(rl_bind_key_in_map) \ + SymX(rl_binding_keymap) \ + SymX(rl_callback_handler_install) \ + SymX(rl_callback_handler_remove) \ + SymX(rl_callback_read_char) \ + SymX(rl_catch_signals) \ + SymX(rl_catch_sigwinch) \ + SymX(rl_char_is_quoted_p) \ + SymX(rl_cleanup_after_signal) \ + SymX(rl_clear_message) \ + SymX(rl_clear_signals) \ + SymX(rl_complete) \ + SymX(rl_complete_internal) \ + SymX(rl_completer_quote_characters) \ + SymX(rl_completer_word_break_characters) \ + SymX(rl_completion_append_character) \ + SymX(rl_completion_display_matches_hook) \ + SymX(rl_completion_entry_function) \ + SymX(rl_completion_matches) \ + SymX(rl_completion_query_items) \ + SymX(rl_copy_keymap) \ + SymX(rl_copy_text) \ + SymX(rl_delete_text) \ + SymX(rl_ding) \ + SymX(rl_directory_completion_hook) \ + SymX(rl_discard_keymap) \ + SymX(rl_display_match_list) \ + SymX(rl_do_undo) \ + SymX(rl_done) \ + SymX(rl_end) \ + SymX(rl_end_undo_group) \ + SymX(rl_erase_empty_line) \ + SymX(rl_event_hook) \ + SymX(rl_executing_keymap) \ + SymX(rl_extend_line_buffer) \ + SymX(rl_filename_completion_desired) \ + SymX(rl_filename_completion_function) \ + SymX(rl_filename_dequoting_function) \ + SymX(rl_filename_quote_characters) \ + SymX(rl_filename_quoting_desired) \ + SymX(rl_filename_quoting_function) \ + SymX(rl_forced_update_display) \ + SymX(rl_free_line_state) \ + SymX(rl_free_undo_list) \ + SymX(rl_function_dumper) \ + SymX(rl_function_of_keyseq) \ + SymX(rl_funmap_names) \ + SymX(rl_generic_bind) \ + SymX(rl_get_keymap) \ + SymX(rl_get_keymap_by_name) \ + SymX(rl_get_keymap_name) \ + SymX(rl_ignore_completion_duplicates) \ + SymX(rl_ignore_some_completions_function) \ + SymX(rl_inhibit_completion) \ + SymX(rl_initialize) \ + SymX(rl_insert_completions) \ + SymX(rl_insert_text) \ + SymX(rl_instream) \ + SymX(rl_kill_text) \ + SymX(rl_library_version) \ + SymX(rl_line_buffer) \ + SymX(rl_list_funmap_names) \ + SymX(rl_make_bare_keymap) \ + SymX(rl_make_keymap) \ + SymX(rl_mark) \ + SymX(rl_message) \ + SymX(rl_modifying) \ + SymX(rl_named_function) \ + SymX(rl_on_new_line) \ + SymX(rl_on_new_line_with_prompt) \ + SymX(rl_outstream) \ + SymX(rl_parse_and_bind) \ + SymX(rl_pending_input) \ + SymX(rl_point) \ + SymX(rl_possible_completions) \ + SymX(rl_pre_input_hook) \ + SymX(rl_prompt) \ + SymX(rl_read_init_file) \ + SymX(rl_read_key) \ + SymX(rl_readline_name) \ + SymX(rl_redisplay) \ + SymX(rl_redisplay_function) \ + SymX(rl_reset_after_signal) \ + SymX(rl_reset_line_state) \ + SymX(rl_reset_terminal) \ + SymX(rl_resize_terminal) \ + SymX(rl_restore_prompt) \ + SymX(rl_save_prompt) \ + SymX(rl_set_keymap) \ + SymX(rl_set_signals) \ + SymX(rl_special_prefixes) \ + SymX(rl_startup_hook) \ + SymX(rl_stuff_char) \ + SymX(rl_terminal_name) \ + SymX(rl_unbind_command_in_map) \ + SymX(rl_unbind_key) \ + SymX(rl_unbind_key_in_map) \ + SymX(rl_username_completion_function) +#else +#define RTS_OPENBSD_ONLY_SYMBOLS /**/ +#endif + #ifndef SMP # define MAIN_CAP_SYM SymX(MainCapability) #else @@ -626,6 +957,7 @@ RTS_POSIX_ONLY_SYMBOLS RTS_MINGW_ONLY_SYMBOLS RTS_CYGWIN_ONLY_SYMBOLS +RTS_OPENBSD_ONLY_SYMBOLS RTS_TERMIOS_SYMS RTS_LIBGCC_SYMBOLS #undef Sym @@ -654,6 +986,7 @@ RTS_POSIX_ONLY_SYMBOLS RTS_MINGW_ONLY_SYMBOLS RTS_CYGWIN_ONLY_SYMBOLS + RTS_OPENBSD_ONLY_SYMBOLS RTS_TERMIOS_SYMS RTS_LIBGCC_SYMBOLS { 0, 0 } /* sentinel */