Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

missing functions to use editline as drop-in replacement for readline with gdb 7.6 #9

Open
6 of 27 tasks
rofl0r opened this issue May 30, 2016 · 8 comments
Open
6 of 27 tasks

Comments

@rofl0r
Copy link
Contributor

rofl0r commented May 30, 2016

gdb 7.6 seems to be the most elaborate readline user in sabotage linux, but it can be tricked, to link against libedit instead of readline, and i hoped as well against editline...

Here's a list of missing functions:

  • undefined reference to `history_base'
  • undefined reference to `history_expand'
  • undefined reference to `history_get'
  • undefined reference to `history_is_stifled'
  • undefined reference to `history_length'
  • undefined reference to `max_input_history'
  • undefined reference to `rl_add_defun'
  • undefined reference to `rl_already_prompted'
  • undefined reference to `rl_callback_handler_install'
  • undefined reference to `rl_callback_handler_remove'
  • undefined reference to `rl_callback_read_char'
  • undefined reference to `rl_completer_quote_characters'
  • undefined reference to `rl_completer_word_break_characters'
  • undefined reference to `rl_completion_entry_function'
  • undefined reference to `rl_completion_word_break_hook'
  • undefined reference to `rl_filename_completion_function'
  • undefined reference to `rl_get_previous_history'
  • undefined reference to `rl_get_screen_size'
  • undefined reference to `rl_newline'
  • undefined reference to `rl_pre_input_hook'
  • undefined reference to `rl_redisplay'
  • undefined reference to `rl_set_screen_size'
  • undefined reference to `rl_terminal_name'
  • undefined reference to `stifle_history'
  • undefined reference to `tilde_expand'
  • undefined reference to `unstifle_history'
  • undefined reference to `where_history'
@troglobit
Copy link
Owner

Wow, glad to see someone trying to use editline as a drop-in replacement for GNU readline! :-)

The editline library was never intended as a GNU readline() replacement. And although I've considered myself implementing the necessary bits and bobs for GDB to work, I never found the time during my ten years maintaining this project.

However, I would greatly appreciate any and all patches to help reach that target for editline, since we all would greatly benefit from a truly FREE readline() replacement!

@rofl0r
Copy link
Contributor Author

rofl0r commented May 30, 2016

yeah, having a slim drop-in replacement for the utterly bloated readline would be very nice, since it's unlikely that the GNU guys will ever switch to something else, and libedit is also rather bloated.

@troglobit
Copy link
Owner

Yep, that'd be nice. Plain termios support for all, I say :-)

@troglobit
Copy link
Owner

Update: edited original report slightly so it can be used as a TODO list. Some functions have now been implemented, checked.

@troglobit
Copy link
Owner

Update: two new functions/callbacks added.

@firasuke
Copy link

Any updates on this?

@troglobit
Copy link
Owner

Not much no.

Just to be clear, the point of editline is not to be a replacement for alll functions in readline. If we can replace just enough to be a suitable alternative, fine, but if the size skyrockets and requirements on external libraries (not libc, but ncurses) sneak in, well then we're off the mark completely. So for me, this issue serves only as a reminder; to check against when refactoring/adding features to see if the APIs listed here can be wrangled in there without much extra effort.

@firasuke
Copy link

I see.

Thanks for the update!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants