First Last Prev Next    No search results available      Search page      Enter new bug
Bug#: 199987
Alias:
Product:
Component:
Status: RESOLVED
Resolution: FIXED
Assigned To: Gentoo Toolchain Maintainers <toolchain@gentoo.org>
Hardware:
OS:
Version:
Priority:
Severity:
Reporter: Sergei Golubchik <sergii@pisem.net>
Add CC:
CC:
URL:
Summary:
Status Whiteboard:
Keywords:

Filename Description Type Creator Created Size Actions
gdb-6.6-duel.patch.bz2 gdb-6.6 duel patch patch Sergei Golubchik 2007-12-01 22:24 0000 76.06 KB Details | Diff
Create a New Attachment (proposed patch, testcase, etc.) View All

Bug 199987 depends on: Show dependency tree
Bug 199987 blocks:
Votes: 0    Show votes for this bug    Vote for this bug

Additional Comments: (this is where you put emerge --info)


Not eligible to see or edit group visibility for this bug.






View Bug Activity   |   Format For Printing   |   XML   |   Clone This Bug


Description:   Opened: 2007-11-22 15:19 0000
enhancement request: add DUEL patch to gentoo-patches for gdb.

DUEL is a high-level data exploring language, originally written as a
gdb patch in 1993, for a PhD project.

Apparently, forgotten and abandoned since then, although it made into
dbx on irix.

I ported it to gdb-6.6, fixed a few bugs (added support for bool,
long long, typedefs, references, fixed type parsing, etc). Looks
like working.  I didn't spend too much time on it though,
the patch needs polishing.

(gdb) dl
Supported DUEL commands:
duel help      - give basic help (shortcut: dl ?)
duel longhelp  - give a longer help (dl ??)
duel examples  - show useful usage examples (dl ex)
duel operators - operators summary (dl ops)
duel aliases   - show current aliases (dl alias)
duel clear     - clear all aliases
duel debug     - toggle duel debug mode
(gdb) dl ex
x[10..20,22,24,40..60]    display x[i] for the selected indexes
x[9..0]                   display x[i] backwards
x[..100] >? 5 <? 10       display x[i] if 5<x[i]<10
x[0..99]=>if(_>5 && _<10) _   same
val[..50].if(is_dx) x else y   val[i].x or val[i].y depending on val[i].is_dx
emp[..50].if(is_m) _      return emp[i] if emp[i].is_m
x[i:=..100]=y[i] ;        assign y[i] to x[i]
x[i:=..100] >? x[i+1]     check if x[i] is not sorted
(x[..100] >? 0)[[2]]      return the 3rd positive x[i]
argv[0..]@0               argv[0] argv[1] .. until first null
emp[0..]@(code==0)        emp[0]..emp[n-1] where emp[n].code==0
head-->next->val          val of each element in a linked list
*head-->next[[20]]        element 20 of list, '*' display struct
w/fields
#/head-->next             count elements on a linked list
#/(head-->next-val>?5)    count those over 5
head-->(next!=?head)      expand cyclic linked list (tail->head)
T mytype x ;              declare var for user defined type (need 'T')
int i ; for(i=0 ;i<5 ..   declare variable, use C construct.
(gdb)


Reproducible: Always




Cannot be applied upstread, the patch is public domain which is not good enough
for FSF, they want the author to sign over the copyright, and he didn't want to
do it.

see http://sourceware.org/ml/gdb/2007-11/msg00170.html

------- Comment #1 From SpanKY 2007-12-01 18:48:08 0000 -------
i cant add a patch if there is no patch posted

------- Comment #2 From Sergei Golubchik 2007-12-01 22:24:06 0000 -------
Created an attachment (id=137510) [edit]
gdb-6.6 duel patch

------- Comment #3 From Sergei Golubchik 2007-12-01 22:27:00 0000 -------
I've added a patch.

------- Comment #4 From SpanKY 2007-12-29 21:07:26 0000 -------
thanks, ive added it to 6.7.1-r1

------- Comment #5 From Sergei Golubchik 2007-12-30 17:37:21 0000 -------
Thank you!

But, if you ask me, I'd suggest to make it at least optional, with "duel" in
USE.

And if you're interested I could polish this patch a bit - remove unused files,
add a patch for gdb.info, etc.

------- Comment #6 From SpanKY 2007-12-30 17:45:14 0000 -------
if you like, you can post updated patches

i dont see the point in making it optional:
 - it doesnt impair any existing functionality
 - does not require any external dependencies
 - is small in and of itself

First Last Prev Next    No search results available      Search page      Enter new bug